This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to...
authorcvs2svn Import User <samba-bugs@samba.org>
Tue, 18 Feb 2003 05:05:16 +0000 (05:05 +0000)
committercvs2svn Import User <samba-bugs@samba.org>
Tue, 18 Feb 2003 05:05:16 +0000 (05:05 +0000)
214 files changed:
docs/Samba-Developers-Guide.pdf
docs/Samba-HOWTO-Collection.pdf
docs/docbook/devdoc/NetBIOS.sgml
docs/docbook/devdoc/Tracing.sgml
docs/docbook/devdoc/cifsntdomain.sgml
docs/docbook/devdoc/dev-doc.sgml
docs/docbook/devdoc/encryption.sgml
docs/docbook/devdoc/printing.sgml
docs/docbook/devdoc/rpc_plugin.sgml [deleted file]
docs/docbook/devdoc/sam.sgml
docs/docbook/devdoc/unix-smb.sgml
docs/docbook/faq/clientapp.sgml
docs/docbook/faq/config.sgml
docs/docbook/faq/errors.sgml
docs/docbook/faq/features.sgml
docs/docbook/faq/general.sgml
docs/docbook/faq/install.sgml
docs/docbook/manpages/findsmb.1.sgml
docs/docbook/manpages/lmhosts.5.sgml
docs/docbook/manpages/net.8.sgml
docs/docbook/manpages/nmbd.8.sgml
docs/docbook/manpages/nmblookup.1.sgml
docs/docbook/manpages/pdbedit.8.sgml
docs/docbook/manpages/rpcclient.1.sgml
docs/docbook/manpages/samba.7.sgml
docs/docbook/manpages/smb.conf.5.sgml
docs/docbook/manpages/smbcacls.1.sgml
docs/docbook/manpages/smbclient.1.sgml
docs/docbook/manpages/smbcontrol.1.sgml
docs/docbook/manpages/smbd.8.sgml
docs/docbook/manpages/smbgroupedit.8.sgml
docs/docbook/manpages/smbmnt.8.sgml
docs/docbook/manpages/smbmount.8.sgml
docs/docbook/manpages/smbpasswd.5.sgml
docs/docbook/manpages/smbpasswd.8.sgml
docs/docbook/manpages/smbsh.1.sgml
docs/docbook/manpages/smbspool.8.sgml
docs/docbook/manpages/smbstatus.1.sgml
docs/docbook/manpages/smbtar.1.sgml
docs/docbook/manpages/smbumount.8.sgml
docs/docbook/manpages/swat.8.sgml
docs/docbook/manpages/testparm.1.sgml
docs/docbook/manpages/testprns.1.sgml
docs/docbook/manpages/vfstest.1.sgml
docs/docbook/manpages/wbinfo.1.sgml
docs/docbook/manpages/winbindd.8.sgml
docs/docbook/projdoc/ADS-HOWTO.sgml
docs/docbook/projdoc/Browsing-Quickguide.sgml
docs/docbook/projdoc/DOMAIN_MEMBER.sgml
docs/docbook/projdoc/GROUP-MAPPING-HOWTO.sgml
docs/docbook/projdoc/GroupProfiles.sgml [deleted file]
docs/docbook/projdoc/Integrating-with-Windows.sgml
docs/docbook/projdoc/Samba-BDC-HOWTO.sgml
docs/docbook/projdoc/Samba-PDC-HOWTO.sgml
docs/docbook/projdoc/msdfs_setup.sgml
docs/docbook/projdoc/passdb.sgml [deleted file]
docs/docbook/projdoc/pdb_mysql.sgml
docs/docbook/projdoc/printer_driver2.sgml
docs/docbook/projdoc/samba-doc.sgml
docs/docbook/projdoc/winbind.sgml
docs/faq/clientapp.html
docs/faq/errors.html
docs/faq/general.html
docs/faq/install.html
docs/faq/samba-faq.html
docs/htmldocs/Samba-HOWTO-Collection.html [deleted file]
docs/roadmap-3.html
docs/textdocs/CreatingGroupProfiles-Win2K.txt [new file with mode: 0644]
docs/textdocs/CreatingGroupProfiles-Win9X.txt [new file with mode: 0644]
docs/textdocs/CreatingGroupProfilesInNT4.txt [new file with mode: 0644]
examples/LDAP/export_smbpasswd.pl [new file with mode: 0644]
examples/LDAP/import_smbpasswd.pl [new file with mode: 0644]
examples/pdb/README
examples/pdb/pdb_test.c
examples/printing/smbprint.old [deleted file]
examples/sam/.cvsignore [deleted file]
examples/sam/Makefile.in [deleted file]
examples/sam/README [deleted file]
examples/sam/sam_skel.c [deleted file]
source3/.cvsignore
source3/Makefile.in
source3/auth/auth.c
source3/auth/auth_ntlmssp.c
source3/auth/auth_sam.c
source3/auth/auth_util.c
source3/client/client.c
source3/client/smbmount.c
source3/config.guess
source3/config.sub
source3/configure.in
source3/groupdb/mapping.c
source3/include/.cvsignore
source3/include/ads.h
source3/include/asn_1.h
source3/include/charset.h
source3/include/client.h
source3/include/genparser.h [deleted file]
source3/include/genparser_samba.h [deleted file]
source3/include/gums.h [deleted file]
source3/include/includes.h
source3/include/ntlmssp.h
source3/include/passdb.h
source3/include/rpc_client_proto.h [deleted file]
source3/include/rpc_lsa.h
source3/include/rpc_misc.h
source3/include/sam.h [deleted file]
source3/include/smb.h
source3/include/tdbsam2.h [deleted file]
source3/include/version.h
source3/lib/charcnv.c
source3/lib/data_blob.c
source3/lib/domain_namemap.c [deleted file]
source3/lib/gencache.c
source3/lib/genparser.c [deleted file]
source3/lib/genparser_samba.c [deleted file]
source3/lib/iconv.c
source3/lib/system_smbd.c
source3/lib/username.c
source3/lib/util.c
source3/lib/util_file.c
source3/lib/util_str.c
source3/libads/ads_ldap.c
source3/libads/ads_utils.c
source3/libads/kerberos_verify.c
source3/libads/krb5_setpw.c
source3/libads/ldap.c
source3/libads/sasl.c
source3/libads/util.c
source3/libsmb/asn1.c
source3/libsmb/cliconnect.c
source3/libsmb/clientgen.c
source3/libsmb/clikrb5.c
source3/libsmb/clispnego.c
source3/libsmb/errormap.c
source3/libsmb/ntlmssp.c
source3/libsmb/smbencrypt.c
source3/modules/developer.c [deleted file]
source3/modules/vfs_fake_perms.c [deleted file]
source3/modules/vfs_recycle.c
source3/nsswitch/wb_client.c
source3/nsswitch/winbindd.c
source3/nsswitch/winbindd_ads.c
source3/nsswitch/winbindd_util.c
source3/param/loadparm.c
source3/passdb/pdb_interface.c
source3/passdb/pdb_mysql.c [moved from source3/modules/mysql.c with 99% similarity]
source3/passdb/pdb_plugin.c [moved from source3/sam/sam_plugin.c with 57% similarity]
source3/passdb/pdb_xml.c [moved from source3/modules/xml.c with 98% similarity]
source3/printing/nt_printing.c
source3/python/py_common.c
source3/python/py_common.h
source3/python/py_common_proto.h [new file with mode: 0644]
source3/python/py_conv.c
source3/python/py_conv.h
source3/python/py_lsa.c
source3/python/py_lsa.h
source3/python/py_lsa_proto.h [new file with mode: 0644]
source3/python/py_ntsec.c
source3/python/py_samr.c
source3/python/py_samr.h
source3/python/py_smb.h
source3/python/py_spoolss.c
source3/python/py_spoolss.h
source3/python/py_spoolss_printerdata.c
source3/python/py_spoolss_proto.h [new file with mode: 0644]
source3/python/py_tdb.h
source3/python/py_winbind.c
source3/python/py_winbind_conv.c
source3/python/py_winreg.h
source3/python/setup.py
source3/rpc_client/cli_lsarpc.c
source3/rpc_client/cli_srvsvc.c
source3/rpc_parse/parse_lsa.c
source3/rpc_parse/parse_misc.c
source3/rpc_parse/parse_net.c
source3/rpc_server/srv_lsa.c
source3/rpc_server/srv_lsa_nt.c
source3/rpc_server/srv_netlog_nt.c
source3/rpc_server/srv_samr_nt.c
source3/rpc_server/srv_spoolss_nt.c
source3/rpcclient/cmd_ds.c
source3/rpcclient/cmd_lsarpc.c
source3/rpcclient/cmd_spoolss.c
source3/rpcclient/cmd_srvsvc.c
source3/rpcclient/rpcclient.c
source3/sam/SAM-interface_handles.txt [deleted file]
source3/sam/account.c [deleted file]
source3/sam/get_set_account.c [deleted file]
source3/sam/get_set_domain.c [deleted file]
source3/sam/get_set_group.c [deleted file]
source3/sam/group.c [deleted file]
source3/sam/gumm_tdb.c [deleted file]
source3/sam/gums.c [deleted file]
source3/sam/gums_api.c [deleted file]
source3/sam/gums_helper.c [deleted file]
source3/sam/interface.c [deleted file]
source3/sam/sam_ads.c [deleted file]
source3/sam/sam_skel.c [deleted file]
source3/script/genstruct.pl [deleted file]
source3/smbd/password.c
source3/smbd/posix_acls.c
source3/smbd/server.c
source3/smbd/service.c
source3/smbd/sesssetup.c
source3/smbd/uid.c
source3/tdb/tdb.c
source3/torture/cmd_sam.c [deleted file]
source3/torture/locktest.c
source3/torture/samtest.c [deleted file]
source3/torture/torture.c
source3/utils/editreg.c [deleted file]
source3/utils/net_ads.c
source3/utils/net_rpc_join.c
source3/utils/pdbedit.c

index bb93380217656e175146770e7144240a34050aaf..897074783c5b4d23f5b8d87b28c37965cc49e1e3 100644 (file)
@@ -1,6 +1,6 @@
 %PDF-1.3
 %âãÏÓ
-1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030115201051+0600)/Title(SAMBA Developers Guide)/Creator(Modular DocBook HTML Stylesheet Version 1.77)>>endobj
+1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030115164419+0600)/Title(SAMBA Developers Guide)/Creator(Modular DocBook HTML Stylesheet Version 1.77)>>endobj
 2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/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/grave/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 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/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
 3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
 4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Bold/Encoding 2 0 R>>endobj
@@ -2527,7 +2527,7 @@ xref
 0000174321 00000 n 
 0000174427 00000 n 
 trailer
-<</Size 806/Root 805 0 R/Info 1 0 R/ID[<7fd6ff3b92a5faaa32c7fae07a75de5e><7fd6ff3b92a5faaa32c7fae07a75de5e>]>>
+<</Size 806/Root 805 0 R/Info 1 0 R/ID[<37e21dd5bf11a0bb7770129df9f0d2ea><37e21dd5bf11a0bb7770129df9f0d2ea>]>>
 startxref
 174907
 %%EOF
index 1dedb444bd89139728103908af1daffe8bb1473a..e25e15e0a61d46520496b02b511d0ce15d8af9af 100644 (file)
@@ -1,6 +1,6 @@
 %PDF-1.3
 %âãÏÓ
-1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030115201049+0600)/Title(SAMBA Project Documentation)/Creator(Modular DocBook HTML Stylesheet Version 1.77)>>endobj
+1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030115164419+0600)/Title(SAMBA Project Documentation)/Creator(Modular DocBook HTML Stylesheet Version 1.76b+)>>endobj
 2 0 obj<</Type/Encoding/Differences[ 32/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/minus/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/grave/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 128/Euro 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 159/Ydieresis/space/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
 3 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding 2 0 R>>endobj
 4 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Bold/Encoding 2 0 R>>endobj
 11 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
 12 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
 13 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj
-14 0 obj<</Subtype/Link/Rect[72.0 684.0 223.5 697.0]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 734 0]>>endobj
-15 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 696 0]>>endobj
-16 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 734 0]>>endobj
-17 0 obj<</Subtype/Link/Rect[72.0 618.0 175.0 631.0]/Border[0 0 0]/Dest[1394 0 R/XYZ 0 734 0]>>endobj
-18 0 obj<</Subtype/Link/Rect[72.0 591.6 131.9 604.6]/Border[0 0 0]/Dest[1396 0 R/XYZ 0 734 0]>>endobj
-19 0 obj<</Subtype/Link/Rect[72.0 565.2 277.3 578.2]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 734 0]>>endobj
-20 0 obj<</Subtype/Link/Rect[108.0 552.0 215.5 565.0]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 696 0]>>endobj
-21 0 obj<</Subtype/Link/Rect[108.0 538.8 221.4 551.8]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 568 0]>>endobj
-22 0 obj<</Subtype/Link/Rect[108.0 525.6 224.1 538.6]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 163 0]>>endobj
-23 0 obj<</Subtype/Link/Rect[108.0 512.4 275.4 525.4]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 734 0]>>endobj
-24 0 obj<</Subtype/Link/Rect[108.0 499.2 280.3 512.2]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 385 0]>>endobj
-25 0 obj<</Subtype/Link/Rect[108.0 486.0 251.3 499.0]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 257 0]>>endobj
-26 0 obj<</Subtype/Link/Rect[126.0 472.8 259.5 485.8]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 734 0]>>endobj
-27 0 obj<</Subtype/Link/Rect[126.0 459.6 307.8 472.6]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 247 0]>>endobj
-28 0 obj<</Subtype/Link/Rect[108.0 446.4 328.6 459.4]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 665 0]>>endobj
-29 0 obj<</Subtype/Link/Rect[108.0 433.2 282.2 446.2]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 498 0]>>endobj
-30 0 obj<</Subtype/Link/Rect[108.0 420.0 478.0 433.0]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 330 0]>>endobj
-31 0 obj<</Subtype/Link/Rect[108.0 406.8 259.4 419.8]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 734 0]>>endobj
-32 0 obj<</Subtype/Link/Rect[126.0 393.6 254.0 406.6]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 553 0]>>endobj
-33 0 obj<</Subtype/Link/Rect[126.0 380.4 204.5 393.4]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 494 0]>>endobj
-34 0 obj<</Subtype/Link/Rect[126.0 367.2 285.2 380.2]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 409 0]>>endobj
-35 0 obj<</Subtype/Link/Rect[126.0 354.0 313.6 367.0]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
-36 0 obj<</Subtype/Link/Rect[126.0 340.8 195.7 353.8]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 583 0]>>endobj
-37 0 obj<</Subtype/Link/Rect[126.0 327.6 250.3 340.6]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 128 0]>>endobj
-38 0 obj<</Subtype/Link/Rect[72.0 301.2 262.7 314.2]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 734 0]>>endobj
-39 0 obj<</Subtype/Link/Rect[108.0 288.0 226.2 301.0]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 696 0]>>endobj
-40 0 obj<</Subtype/Link/Rect[108.0 274.8 247.9 287.8]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 515 0]>>endobj
-41 0 obj<</Subtype/Link/Rect[108.0 261.6 211.3 274.6]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 137 0]>>endobj
-42 0 obj<</Subtype/Link/Rect[108.0 248.4 236.0 261.4]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 533 0]>>endobj
-43 0 obj<</Subtype/Link/Rect[126.0 235.2 331.3 248.2]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 273 0]>>endobj
-44 0 obj<</Subtype/Link/Rect[108.0 222.0 240.3 235.0]/Border[0 0 0]/Dest[1422 0 R/XYZ 0 560 0]>>endobj
-45 0 obj<</Subtype/Link/Rect[108.0 208.8 310.3 221.8]/Border[0 0 0]/Dest[1424 0 R/XYZ 0 613 0]>>endobj
-46 0 obj<</Subtype/Link/Rect[108.0 195.6 284.6 208.6]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 622 0]>>endobj
-47 0 obj<</Subtype/Link/Rect[108.0 182.4 265.0 195.4]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 266 0]>>endobj
-48 0 obj<</Subtype/Link/Rect[108.0 169.2 276.3 182.2]/Border[0 0 0]/Dest[1428 0 R/XYZ 0 520 0]>>endobj
-49 0 obj<</Subtype/Link/Rect[108.0 156.0 271.1 169.0]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 734 0]>>endobj
-50 0 obj<</Subtype/Link/Rect[108.0 142.8 216.2 155.8]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 645 0]>>endobj
-51 0 obj<</Subtype/Link/Rect[72.0 116.4 163.4 129.4]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 734 0]>>endobj
-52 0 obj<</Subtype/Link/Rect[108.0 103.2 209.1 116.2]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 696 0]>>endobj
-53 0 obj[14 0 R
+14 0 obj<</Subtype/Link/Rect[72.0 684.0 223.5 697.0]/Border[0 0 0]/Dest[1136 0 R/XYZ 0 734 0]>>endobj
+15 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[1136 0 R/XYZ 0 696 0]>>endobj
+16 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[1136 0 R/XYZ 0 734 0]>>endobj
+17 0 obj<</Subtype/Link/Rect[72.0 618.0 175.0 631.0]/Border[0 0 0]/Dest[1146 0 R/XYZ 0 734 0]>>endobj
+18 0 obj<</Subtype/Link/Rect[72.0 591.6 131.9 604.6]/Border[0 0 0]/Dest[1146 0 R/XYZ 0 696 0]>>endobj
+19 0 obj<</Subtype/Link/Rect[72.0 565.2 224.5 578.2]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 734 0]>>endobj
+20 0 obj<</Subtype/Link/Rect[108.0 552.0 196.3 565.0]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 696 0]>>endobj
+21 0 obj<</Subtype/Link/Rect[108.0 538.8 202.1 551.8]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 568 0]>>endobj
+22 0 obj<</Subtype/Link/Rect[108.0 525.6 204.9 538.6]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 163 0]>>endobj
+23 0 obj<</Subtype/Link/Rect[108.0 512.4 256.2 525.4]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 734 0]>>endobj
+24 0 obj<</Subtype/Link/Rect[108.0 499.2 261.1 512.2]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 382 0]>>endobj
+25 0 obj<</Subtype/Link/Rect[108.0 486.0 232.1 499.0]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 254 0]>>endobj
+26 0 obj<</Subtype/Link/Rect[126.0 472.8 232.0 485.8]/Border[0 0 0]/Dest[1154 0 R/XYZ 0 734 0]>>endobj
+27 0 obj<</Subtype/Link/Rect[126.0 459.6 280.3 472.6]/Border[0 0 0]/Dest[1154 0 R/XYZ 0 244 0]>>endobj
+28 0 obj<</Subtype/Link/Rect[108.0 446.4 309.3 459.4]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 665 0]>>endobj
+29 0 obj<</Subtype/Link/Rect[108.0 433.2 262.9 446.2]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 498 0]>>endobj
+30 0 obj<</Subtype/Link/Rect[108.0 420.0 458.7 433.0]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 330 0]>>endobj
+31 0 obj<</Subtype/Link/Rect[108.0 406.8 234.6 419.8]/Border[0 0 0]/Dest[1158 0 R/XYZ 0 734 0]>>endobj
+32 0 obj<</Subtype/Link/Rect[126.0 393.6 221.0 406.6]/Border[0 0 0]/Dest[1158 0 R/XYZ 0 553 0]>>endobj
+33 0 obj<</Subtype/Link/Rect[126.0 380.4 171.5 393.4]/Border[0 0 0]/Dest[1158 0 R/XYZ 0 494 0]>>endobj
+34 0 obj<</Subtype/Link/Rect[126.0 367.2 252.2 380.2]/Border[0 0 0]/Dest[1158 0 R/XYZ 0 409 0]>>endobj
+35 0 obj<</Subtype/Link/Rect[126.0 354.0 280.6 367.0]/Border[0 0 0]/Dest[1160 0 R/XYZ 0 734 0]>>endobj
+36 0 obj<</Subtype/Link/Rect[126.0 340.8 162.7 353.8]/Border[0 0 0]/Dest[1160 0 R/XYZ 0 583 0]>>endobj
+37 0 obj<</Subtype/Link/Rect[126.0 327.6 217.3 340.6]/Border[0 0 0]/Dest[1160 0 R/XYZ 0 128 0]>>endobj
+38 0 obj<</Subtype/Link/Rect[72.0 301.2 209.8 314.2]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 734 0]>>endobj
+39 0 obj<</Subtype/Link/Rect[108.0 288.0 207.0 301.0]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 696 0]>>endobj
+40 0 obj<</Subtype/Link/Rect[108.0 274.8 228.7 287.8]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 515 0]>>endobj
+41 0 obj<</Subtype/Link/Rect[108.0 261.6 192.0 274.6]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 137 0]>>endobj
+42 0 obj<</Subtype/Link/Rect[108.0 248.4 216.8 261.4]/Border[0 0 0]/Dest[1166 0 R/XYZ 0 533 0]>>endobj
+43 0 obj<</Subtype/Link/Rect[126.0 235.2 303.8 248.2]/Border[0 0 0]/Dest[1166 0 R/XYZ 0 273 0]>>endobj
+44 0 obj<</Subtype/Link/Rect[108.0 222.0 221.0 235.0]/Border[0 0 0]/Dest[1172 0 R/XYZ 0 511 0]>>endobj
+45 0 obj<</Subtype/Link/Rect[108.0 208.8 291.0 221.8]/Border[0 0 0]/Dest[1174 0 R/XYZ 0 560 0]>>endobj
+46 0 obj<</Subtype/Link/Rect[108.0 195.6 265.4 208.6]/Border[0 0 0]/Dest[1176 0 R/XYZ 0 567 0]>>endobj
+47 0 obj<</Subtype/Link/Rect[108.0 182.4 245.8 195.4]/Border[0 0 0]/Dest[1176 0 R/XYZ 0 208 0]>>endobj
+48 0 obj<</Subtype/Link/Rect[108.0 169.2 257.1 182.2]/Border[0 0 0]/Dest[1178 0 R/XYZ 0 454 0]>>endobj
+49 0 obj<</Subtype/Link/Rect[108.0 156.0 246.4 169.0]/Border[0 0 0]/Dest[1180 0 R/XYZ 0 679 0]>>endobj
+50 0 obj<</Subtype/Link/Rect[108.0 142.8 191.4 155.8]/Border[0 0 0]/Dest[1180 0 R/XYZ 0 590 0]>>endobj
+51 0 obj<</Subtype/Link/Rect[72.0 116.4 383.1 129.4]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 734 0]>>endobj
+52 0 obj<</Subtype/Link/Rect[108.0 103.2 156.3 116.2]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 604 0]>>endobj
+53 0 obj<</Subtype/Link/Rect[108.0 90.0 293.8 103.0]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 159 0]>>endobj
+54 0 obj<</Subtype/Link/Rect[108.0 76.8 307.0 89.8]/Border[0 0 0]/Dest[1184 0 R/XYZ 0 520 0]>>endobj
+55 0 obj<</Subtype/Link/Rect[108.0 63.6 167.9 76.6]/Border[0 0 0]/Dest[1184 0 R/XYZ 0 339 0]>>endobj
+56 0 obj[14 0 R
 15 0 R
 16 0 R
 17 0 R
 49 0 R
 50 0 R
 51 0 R
-52 0 R]endobj
-54 0 obj<</Subtype/Link/Rect[72.0 684.0 435.9 697.0]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 734 0]>>endobj
-55 0 obj<</Subtype/Link/Rect[108.0 670.8 175.5 683.8]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 604 0]>>endobj
-56 0 obj<</Subtype/Link/Rect[108.0 657.6 313.1 670.6]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 159 0]>>endobj
-57 0 obj<</Subtype/Link/Rect[108.0 644.4 326.2 657.4]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 483 0]>>endobj
-58 0 obj<</Subtype/Link/Rect[108.0 631.2 187.1 644.2]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 305 0]>>endobj
-59 0 obj<</Subtype/Link/Rect[108.0 618.0 425.7 631.0]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 467 0]>>endobj
-60 0 obj<</Subtype/Link/Rect[108.0 604.8 232.3 617.8]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 187 0]>>endobj
-61 0 obj<</Subtype/Link/Rect[72.0 578.4 355.3 591.4]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 734 0]>>endobj
-62 0 obj<</Subtype/Link/Rect[108.0 565.2 181.6 578.2]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 672 0]>>endobj
-63 0 obj<</Subtype/Link/Rect[108.0 552.0 268.7 565.0]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 531 0]>>endobj
-64 0 obj<</Subtype/Link/Rect[126.0 538.8 295.0 551.8]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 734 0]>>endobj
-65 0 obj<</Subtype/Link/Rect[126.0 525.6 334.7 538.6]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 609 0]>>endobj
-66 0 obj<</Subtype/Link/Rect[108.0 512.4 246.4 525.4]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 511 0]>>endobj
-67 0 obj<</Subtype/Link/Rect[72.0 486.0 177.1 499.0]/Border[0 0 0]/Dest[1448 0 R/XYZ 0 734 0]>>endobj
-68 0 obj<</Subtype/Link/Rect[72.0 459.6 131.9 472.6]/Border[0 0 0]/Dest[1450 0 R/XYZ 0 734 0]>>endobj
-69 0 obj<</Subtype/Link/Rect[72.0 433.2 423.4 446.2]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 734 0]>>endobj
-70 0 obj<</Subtype/Link/Rect[108.0 420.0 219.2 433.0]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 672 0]>>endobj
-71 0 obj<</Subtype/Link/Rect[108.0 406.8 181.0 419.8]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 584 0]>>endobj
-72 0 obj<</Subtype/Link/Rect[108.0 393.6 316.1 406.6]/Border[0 0 0]/Dest[1454 0 R/XYZ 0 718 0]>>endobj
-73 0 obj<</Subtype/Link/Rect[108.0 380.4 430.0 393.4]/Border[0 0 0]/Dest[1456 0 R/XYZ 0 613 0]>>endobj
-74 0 obj<</Subtype/Link/Rect[126.0 367.2 351.2 380.2]/Border[0 0 0]/Dest[1456 0 R/XYZ 0 227 0]>>endobj
-75 0 obj<</Subtype/Link/Rect[126.0 354.0 380.5 367.0]/Border[0 0 0]/Dest[1458 0 R/XYZ 0 319 0]>>endobj
-76 0 obj<</Subtype/Link/Rect[126.0 340.8 297.4 353.8]/Border[0 0 0]/Dest[1460 0 R/XYZ 0 734 0]>>endobj
-77 0 obj<</Subtype/Link/Rect[108.0 327.6 261.4 340.6]/Border[0 0 0]/Dest[1460 0 R/XYZ 0 385 0]>>endobj
-78 0 obj<</Subtype/Link/Rect[108.0 314.4 252.8 327.4]/Border[0 0 0]/Dest[1462 0 R/XYZ 0 129 0]>>endobj
-79 0 obj<</Subtype/Link/Rect[108.0 301.2 243.6 314.2]/Border[0 0 0]/Dest[1464 0 R/XYZ 0 124 0]>>endobj
-80 0 obj<</Subtype/Link/Rect[108.0 288.0 292.9 301.0]/Border[0 0 0]/Dest[1470 0 R/XYZ 0 507 0]>>endobj
-81 0 obj<</Subtype/Link/Rect[126.0 274.8 350.0 287.8]/Border[0 0 0]/Dest[1472 0 R/XYZ 0 520 0]>>endobj
-82 0 obj<</Subtype/Link/Rect[126.0 261.6 424.2 274.6]/Border[0 0 0]/Dest[1474 0 R/XYZ 0 734 0]>>endobj
-83 0 obj<</Subtype/Link/Rect[108.0 248.4 431.0 261.4]/Border[0 0 0]/Dest[1482 0 R/XYZ 0 718 0]>>endobj
-84 0 obj<</Subtype/Link/Rect[72.0 222.0 512.6 235.0]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 734 0]>>endobj
-85 0 obj<</Subtype/Link/Rect[108.0 208.8 219.2 221.8]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 672 0]>>endobj
-86 0 obj<</Subtype/Link/Rect[108.0 195.6 181.0 208.6]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 597 0]>>endobj
-87 0 obj<</Subtype/Link/Rect[108.0 182.4 359.1 195.4]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 225 0]>>endobj
-88 0 obj<</Subtype/Link/Rect[126.0 169.2 382.3 182.2]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 734 0]>>endobj
-89 0 obj<</Subtype/Link/Rect[126.0 156.0 269.0 169.0]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 609 0]>>endobj
-90 0 obj<</Subtype/Link/Rect[108.0 142.8 325.8 155.8]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 524 0]>>endobj
-91 0 obj<</Subtype/Link/Rect[108.0 129.6 268.1 142.6]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 383 0]>>endobj
-92 0 obj<</Subtype/Link/Rect[126.0 116.4 327.6 129.4]/Border[0 0 0]/Dest[1490 0 R/XYZ 0 620 0]>>endobj
-93 0 obj<</Subtype/Link/Rect[72.0 90.0 282.8 103.0]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 734 0]>>endobj
-94 0 obj<</Subtype/Link/Rect[108.0 76.8 317.6 89.8]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 524 0]>>endobj
-95 0 obj<</Subtype/Link/Rect[108.0 63.6 319.4 76.6]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 417 0]>>endobj
-96 0 obj[54 0 R
-55 0 R
-56 0 R
-57 0 R
+52 0 R
+53 0 R
+54 0 R
+55 0 R]endobj
+57 0 obj<</Subtype/Link/Rect[72.0 684.0 383.1 697.0]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 734 0]>>endobj
+58 0 obj<</Subtype/Link/Rect[108.0 670.8 406.5 683.8]/Border[0 0 0]/Dest[1186 0 R/XYZ 0 494 0]>>endobj
+59 0 obj<</Subtype/Link/Rect[108.0 657.6 213.1 670.6]/Border[0 0 0]/Dest[1186 0 R/XYZ 0 213 0]>>endobj
+60 0 obj<</Subtype/Link/Rect[72.0 631.2 302.4 644.2]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 734 0]>>endobj
+61 0 obj<</Subtype/Link/Rect[108.0 618.0 162.4 631.0]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 696 0]>>endobj
+62 0 obj<</Subtype/Link/Rect[108.0 604.8 249.5 617.8]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 555 0]>>endobj
+63 0 obj<</Subtype/Link/Rect[126.0 591.6 267.5 604.6]/Border[0 0 0]/Dest[1192 0 R/XYZ 0 734 0]>>endobj
+64 0 obj<</Subtype/Link/Rect[126.0 578.4 307.2 591.4]/Border[0 0 0]/Dest[1192 0 R/XYZ 0 609 0]>>endobj
+65 0 obj<</Subtype/Link/Rect[108.0 565.2 227.2 578.2]/Border[0 0 0]/Dest[1192 0 R/XYZ 0 511 0]>>endobj
+66 0 obj<</Subtype/Link/Rect[72.0 538.8 177.1 551.8]/Border[0 0 0]/Dest[1196 0 R/XYZ 0 734 0]>>endobj
+67 0 obj<</Subtype/Link/Rect[72.0 512.4 131.9 525.4]/Border[0 0 0]/Dest[1196 0 R/XYZ 0 696 0]>>endobj
+68 0 obj<</Subtype/Link/Rect[72.0 486.0 345.7 499.0]/Border[0 0 0]/Dest[1200 0 R/XYZ 0 734 0]>>endobj
+69 0 obj<</Subtype/Link/Rect[72.0 459.6 370.5 472.6]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 734 0]>>endobj
+70 0 obj<</Subtype/Link/Rect[108.0 446.4 200.0 459.4]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 672 0]>>endobj
+71 0 obj<</Subtype/Link/Rect[108.0 433.2 161.8 446.2]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 584 0]>>endobj
+72 0 obj<</Subtype/Link/Rect[108.0 420.0 296.8 433.0]/Border[0 0 0]/Dest[1206 0 R/XYZ 0 718 0]>>endobj
+73 0 obj<</Subtype/Link/Rect[108.0 406.8 410.8 419.8]/Border[0 0 0]/Dest[1208 0 R/XYZ 0 613 0]>>endobj
+74 0 obj<</Subtype/Link/Rect[126.0 393.6 323.7 406.6]/Border[0 0 0]/Dest[1208 0 R/XYZ 0 227 0]>>endobj
+75 0 obj<</Subtype/Link/Rect[126.0 380.4 353.0 393.4]/Border[0 0 0]/Dest[1210 0 R/XYZ 0 316 0]>>endobj
+76 0 obj<</Subtype/Link/Rect[126.0 367.2 269.9 380.2]/Border[0 0 0]/Dest[1212 0 R/XYZ 0 734 0]>>endobj
+77 0 obj<</Subtype/Link/Rect[108.0 354.0 242.1 367.0]/Border[0 0 0]/Dest[1212 0 R/XYZ 0 385 0]>>endobj
+78 0 obj<</Subtype/Link/Rect[108.0 340.8 233.6 353.8]/Border[0 0 0]/Dest[1214 0 R/XYZ 0 126 0]>>endobj
+79 0 obj<</Subtype/Link/Rect[108.0 327.6 224.4 340.6]/Border[0 0 0]/Dest[1216 0 R/XYZ 0 124 0]>>endobj
+80 0 obj<</Subtype/Link/Rect[108.0 314.4 273.6 327.4]/Border[0 0 0]/Dest[1222 0 R/XYZ 0 507 0]>>endobj
+81 0 obj<</Subtype/Link/Rect[126.0 301.2 322.5 314.2]/Border[0 0 0]/Dest[1224 0 R/XYZ 0 520 0]>>endobj
+82 0 obj<</Subtype/Link/Rect[126.0 288.0 396.7 301.0]/Border[0 0 0]/Dest[1226 0 R/XYZ 0 734 0]>>endobj
+83 0 obj<</Subtype/Link/Rect[108.0 274.8 411.7 287.8]/Border[0 0 0]/Dest[1234 0 R/XYZ 0 702 0]>>endobj
+84 0 obj<</Subtype/Link/Rect[72.0 248.4 459.8 261.4]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 734 0]>>endobj
+85 0 obj<</Subtype/Link/Rect[108.0 235.2 200.0 248.2]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 672 0]>>endobj
+86 0 obj<</Subtype/Link/Rect[108.0 222.0 161.8 235.0]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 597 0]>>endobj
+87 0 obj<</Subtype/Link/Rect[108.0 208.8 339.9 221.8]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 223 0]>>endobj
+88 0 obj<</Subtype/Link/Rect[126.0 195.6 354.8 208.6]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 734 0]>>endobj
+89 0 obj<</Subtype/Link/Rect[126.0 182.4 241.5 195.4]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 609 0]>>endobj
+90 0 obj<</Subtype/Link/Rect[108.0 169.2 306.6 182.2]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 524 0]>>endobj
+91 0 obj<</Subtype/Link/Rect[108.0 156.0 248.8 169.0]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 383 0]>>endobj
+92 0 obj<</Subtype/Link/Rect[126.0 142.8 300.1 155.8]/Border[0 0 0]/Dest[1242 0 R/XYZ 0 617 0]>>endobj
+93 0 obj<</Subtype/Link/Rect[72.0 116.4 230.0 129.4]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 734 0]>>endobj
+94 0 obj<</Subtype/Link/Rect[108.0 103.2 298.3 116.2]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 551 0]>>endobj
+95 0 obj<</Subtype/Link/Rect[108.0 90.0 300.1 103.0]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 444 0]>>endobj
+96 0 obj<</Subtype/Link/Rect[108.0 76.8 178.6 89.8]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 267 0]>>endobj
+97 0 obj<</Subtype/Link/Rect[108.0 63.6 220.1 76.6]/Border[0 0 0]/Dest[1246 0 R/XYZ 0 564 0]>>endobj
+98 0 obj[57 0 R
 58 0 R
 59 0 R
 60 0 R
 92 0 R
 93 0 R
 94 0 R
-95 0 R]endobj
-97 0 obj<</Subtype/Link/Rect[72.0 684.0 282.8 697.0]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 734 0]>>endobj
-98 0 obj<</Subtype/Link/Rect[108.0 670.8 197.8 683.8]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 241 0]>>endobj
-99 0 obj<</Subtype/Link/Rect[108.0 657.6 239.4 670.6]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 556 0]>>endobj
-100 0 obj<</Subtype/Link/Rect[108.0 644.4 253.4 657.4]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 240 0]>>endobj
-101 0 obj<</Subtype/Link/Rect[126.0 631.2 218.6 644.2]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 151 0]>>endobj
-102 0 obj<</Subtype/Link/Rect[108.0 618.0 224.7 631.0]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 692 0]>>endobj
-103 0 obj<</Subtype/Link/Rect[108.0 604.8 228.1 617.8]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 603 0]>>endobj
-104 0 obj<</Subtype/Link/Rect[108.0 591.6 152.9 604.6]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 528 0]>>endobj
-105 0 obj<</Subtype/Link/Rect[72.0 565.2 281.6 578.2]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 734 0]>>endobj
-106 0 obj<</Subtype/Link/Rect[108.0 552.0 299.9 565.0]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 696 0]>>endobj
-107 0 obj<</Subtype/Link/Rect[108.0 538.8 288.0 551.8]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 362 0]>>endobj
-108 0 obj<</Subtype/Link/Rect[108.0 525.6 307.9 538.6]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 155 0]>>endobj
-109 0 obj<</Subtype/Link/Rect[72.0 499.2 198.2 512.2]/Border[0 0 0]/Dest[1504 0 R/XYZ 0 734 0]>>endobj
-110 0 obj<</Subtype/Link/Rect[72.0 472.8 131.9 485.8]/Border[0 0 0]/Dest[1506 0 R/XYZ 0 734 0]>>endobj
-111 0 obj<</Subtype/Link/Rect[72.0 446.4 354.3 459.4]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 734 0]>>endobj
-112 0 obj<</Subtype/Link/Rect[108.0 433.2 167.0 446.2]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 672 0]>>endobj
-113 0 obj<</Subtype/Link/Rect[108.0 420.0 333.2 433.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 439 0]>>endobj
-114 0 obj<</Subtype/Link/Rect[126.0 406.8 200.6 419.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 311 0]>>endobj
-115 0 obj<</Subtype/Link/Rect[126.0 393.6 227.1 406.6]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 441 0]>>endobj
-116 0 obj<</Subtype/Link/Rect[126.0 380.4 218.6 393.4]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 303 0]>>endobj
-117 0 obj<</Subtype/Link/Rect[126.0 367.2 238.7 380.2]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 157 0]>>endobj
-118 0 obj<</Subtype/Link/Rect[108.0 354.0 387.9 367.0]/Border[0 0 0]/Dest[1516 0 R/XYZ 0 339 0]>>endobj
-119 0 obj<</Subtype/Link/Rect[126.0 340.8 279.1 353.8]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 266 0]>>endobj
-120 0 obj<</Subtype/Link/Rect[126.0 327.6 247.6 340.6]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-121 0 obj<</Subtype/Link/Rect[126.0 314.4 211.2 327.4]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 459 0]>>endobj
-122 0 obj<</Subtype/Link/Rect[126.0 301.2 218.0 314.2]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 361 0]>>endobj
-123 0 obj<</Subtype/Link/Rect[126.0 288.0 224.1 301.0]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 224 0]>>endobj
-124 0 obj<</Subtype/Link/Rect[108.0 274.8 528.7 287.8]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 670 0]>>endobj
-125 0 obj<</Subtype/Link/Rect[108.0 261.6 503.4 274.6]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 126 0]>>endobj
-126 0 obj<</Subtype/Link/Rect[126.0 248.4 376.8 261.4]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-127 0 obj<</Subtype/Link/Rect[126.0 235.2 442.5 248.2]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 484 0]>>endobj
-128 0 obj<</Subtype/Link/Rect[126.0 222.0 356.0 235.0]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 132 0]>>endobj
-129 0 obj<</Subtype/Link/Rect[108.0 208.8 187.1 221.8]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 263 0]>>endobj
-130 0 obj<</Subtype/Link/Rect[72.0 182.4 418.2 195.4]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 734 0]>>endobj
-131 0 obj<</Subtype/Link/Rect[108.0 169.2 450.2 182.2]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 672 0]>>endobj
-132 0 obj<</Subtype/Link/Rect[108.0 156.0 324.6 169.0]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 497 0]>>endobj
-133 0 obj<</Subtype/Link/Rect[108.0 142.8 236.6 155.8]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 330 0]>>endobj
-134 0 obj<</Subtype/Link/Rect[108.0 129.6 297.7 142.6]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 665 0]>>endobj
-135 0 obj<</Subtype/Link/Rect[126.0 116.4 232.0 129.4]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 432 0]>>endobj
-136 0 obj<</Subtype/Link/Rect[126.0 103.2 257.1 116.2]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 189 0]>>endobj
-137 0 obj<</Subtype/Link/Rect[108.0 90.0 306.9 103.0]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 692 0]>>endobj
-138 0 obj<</Subtype/Link/Rect[108.0 76.8 397.6 89.8]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 260 0]>>endobj
-139 0 obj<</Subtype/Link/Rect[108.0 63.6 389.7 76.6]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 599 0]>>endobj
-140 0 obj[97 0 R
-98 0 R
-99 0 R
+95 0 R
+96 0 R
+97 0 R]endobj
+99 0 obj<</Subtype/Link/Rect[72.0 684.0 230.0 697.0]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 734 0]>>endobj
+100 0 obj<</Subtype/Link/Rect[108.0 670.8 234.2 683.8]/Border[0 0 0]/Dest[1246 0 R/XYZ 0 245 0]>>endobj
+101 0 obj<</Subtype/Link/Rect[126.0 657.6 191.1 670.6]/Border[0 0 0]/Dest[1246 0 R/XYZ 0 156 0]>>endobj
+102 0 obj<</Subtype/Link/Rect[108.0 644.4 205.4 657.4]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 692 0]>>endobj
+103 0 obj<</Subtype/Link/Rect[108.0 631.2 208.8 644.2]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 603 0]>>endobj
+104 0 obj<</Subtype/Link/Rect[108.0 618.0 133.7 631.0]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 528 0]>>endobj
+105 0 obj<</Subtype/Link/Rect[72.0 591.6 228.8 604.6]/Border[0 0 0]/Dest[1250 0 R/XYZ 0 734 0]>>endobj
+106 0 obj<</Subtype/Link/Rect[108.0 578.4 280.6 591.4]/Border[0 0 0]/Dest[1250 0 R/XYZ 0 696 0]>>endobj
+107 0 obj<</Subtype/Link/Rect[108.0 565.2 268.7 578.2]/Border[0 0 0]/Dest[1252 0 R/XYZ 0 362 0]>>endobj
+108 0 obj<</Subtype/Link/Rect[108.0 552.0 288.6 565.0]/Border[0 0 0]/Dest[1252 0 R/XYZ 0 155 0]>>endobj
+109 0 obj<</Subtype/Link/Rect[72.0 525.6 198.2 538.6]/Border[0 0 0]/Dest[1256 0 R/XYZ 0 734 0]>>endobj
+110 0 obj<</Subtype/Link/Rect[72.0 499.2 131.9 512.2]/Border[0 0 0]/Dest[1256 0 R/XYZ 0 696 0]>>endobj
+111 0 obj<</Subtype/Link/Rect[72.0 472.8 296.0 485.8]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 734 0]>>endobj
+112 0 obj<</Subtype/Link/Rect[108.0 459.6 142.2 472.6]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 696 0]>>endobj
+113 0 obj<</Subtype/Link/Rect[108.0 446.4 308.4 459.4]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 463 0]>>endobj
+114 0 obj<</Subtype/Link/Rect[126.0 433.2 167.6 446.2]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 335 0]>>endobj
+115 0 obj<</Subtype/Link/Rect[126.0 420.0 194.1 433.0]/Border[0 0 0]/Dest[1262 0 R/XYZ 0 454 0]>>endobj
+116 0 obj<</Subtype/Link/Rect[126.0 406.8 185.6 419.8]/Border[0 0 0]/Dest[1262 0 R/XYZ 0 317 0]>>endobj
+117 0 obj<</Subtype/Link/Rect[126.0 393.6 205.7 406.6]/Border[0 0 0]/Dest[1262 0 R/XYZ 0 168 0]>>endobj
+118 0 obj<</Subtype/Link/Rect[108.0 380.4 363.1 393.4]/Border[0 0 0]/Dest[1264 0 R/XYZ 0 347 0]>>endobj
+119 0 obj<</Subtype/Link/Rect[126.0 367.2 246.1 380.2]/Border[0 0 0]/Dest[1266 0 R/XYZ 0 295 0]>>endobj
+120 0 obj<</Subtype/Link/Rect[126.0 354.0 214.6 367.0]/Border[0 0 0]/Dest[1268 0 R/XYZ 0 734 0]>>endobj
+121 0 obj<</Subtype/Link/Rect[126.0 340.8 178.2 353.8]/Border[0 0 0]/Dest[1270 0 R/XYZ 0 456 0]>>endobj
+122 0 obj<</Subtype/Link/Rect[126.0 327.6 185.0 340.6]/Border[0 0 0]/Dest[1270 0 R/XYZ 0 358 0]>>endobj
+123 0 obj<</Subtype/Link/Rect[126.0 314.4 191.1 327.4]/Border[0 0 0]/Dest[1270 0 R/XYZ 0 221 0]>>endobj
+124 0 obj<</Subtype/Link/Rect[108.0 301.2 504.0 314.2]/Border[0 0 0]/Dest[1272 0 R/XYZ 0 667 0]>>endobj
+125 0 obj<</Subtype/Link/Rect[108.0 288.0 478.6 301.0]/Border[0 0 0]/Dest[1274 0 R/XYZ 0 734 0]>>endobj
+126 0 obj<</Subtype/Link/Rect[126.0 274.8 343.8 287.8]/Border[0 0 0]/Dest[1276 0 R/XYZ 0 692 0]>>endobj
+127 0 obj<</Subtype/Link/Rect[126.0 261.6 409.5 274.6]/Border[0 0 0]/Dest[1276 0 R/XYZ 0 440 0]>>endobj
+128 0 obj<</Subtype/Link/Rect[126.0 248.4 323.0 261.4]/Border[0 0 0]/Dest[1278 0 R/XYZ 0 734 0]>>endobj
+129 0 obj<</Subtype/Link/Rect[108.0 235.2 162.4 248.2]/Border[0 0 0]/Dest[1278 0 R/XYZ 0 172 0]>>endobj
+130 0 obj<</Subtype/Link/Rect[72.0 208.8 359.8 221.8]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 734 0]>>endobj
+131 0 obj<</Subtype/Link/Rect[108.0 195.6 425.4 208.6]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 672 0]>>endobj
+132 0 obj<</Subtype/Link/Rect[108.0 182.4 299.9 195.4]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 497 0]>>endobj
+133 0 obj<</Subtype/Link/Rect[108.0 169.2 211.9 182.2]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 330 0]>>endobj
+134 0 obj<</Subtype/Link/Rect[108.0 156.0 273.0 169.0]/Border[0 0 0]/Dest[1284 0 R/XYZ 0 665 0]>>endobj
+135 0 obj<</Subtype/Link/Rect[126.0 142.8 199.0 155.8]/Border[0 0 0]/Dest[1284 0 R/XYZ 0 432 0]>>endobj
+136 0 obj<</Subtype/Link/Rect[126.0 129.6 224.1 142.6]/Border[0 0 0]/Dest[1284 0 R/XYZ 0 189 0]>>endobj
+137 0 obj<</Subtype/Link/Rect[108.0 116.4 282.2 129.4]/Border[0 0 0]/Dest[1286 0 R/XYZ 0 692 0]>>endobj
+138 0 obj<</Subtype/Link/Rect[108.0 103.2 372.8 116.2]/Border[0 0 0]/Dest[1286 0 R/XYZ 0 260 0]>>endobj
+139 0 obj<</Subtype/Link/Rect[108.0 90.0 364.9 103.0]/Border[0 0 0]/Dest[1290 0 R/XYZ 0 599 0]>>endobj
+140 0 obj[99 0 R
 100 0 R
 101 0 R
 102 0 R
 137 0 R
 138 0 R
 139 0 R]endobj
-141 0 obj<</Subtype/Link/Rect[72.0 684.0 466.2 697.0]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 734 0]>>endobj
-142 0 obj<</Subtype/Link/Rect[108.0 670.8 207.9 683.8]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 672 0]>>endobj
-143 0 obj<</Subtype/Link/Rect[108.0 657.6 250.4 670.6]/Border[0 0 0]/Dest[1544 0 R/XYZ 0 148 0]>>endobj
-144 0 obj<</Subtype/Link/Rect[108.0 644.4 275.8 657.4]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 705 0]>>endobj
-145 0 obj<</Subtype/Link/Rect[72.0 618.0 407.8 631.0]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 734 0]>>endobj
-146 0 obj<</Subtype/Link/Rect[108.0 604.8 184.7 617.8]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 672 0]>>endobj
-147 0 obj<</Subtype/Link/Rect[126.0 591.6 184.7 604.6]/Border[0 0 0]/Dest[1550 0 R/XYZ 0 652 0]>>endobj
-148 0 obj<</Subtype/Link/Rect[72.0 565.2 210.7 578.2]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 734 0]>>endobj
-149 0 obj<</Subtype/Link/Rect[108.0 552.0 187.1 565.0]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 696 0]>>endobj
-150 0 obj<</Subtype/Link/Rect[108.0 538.8 194.5 551.8]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 317 0]>>endobj
-151 0 obj<</Subtype/Link/Rect[126.0 525.6 233.2 538.6]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 131 0]>>endobj
-152 0 obj<</Subtype/Link/Rect[126.0 512.4 317.9 525.4]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 583 0]>>endobj
-153 0 obj<</Subtype/Link/Rect[126.0 499.2 310.8 512.2]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 169 0]>>endobj
-154 0 obj<</Subtype/Link/Rect[126.0 486.0 374.4 499.0]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 470 0]>>endobj
-155 0 obj<</Subtype/Link/Rect[126.0 472.8 265.6 485.8]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 297 0]>>endobj
-156 0 obj<</Subtype/Link/Rect[108.0 459.6 225.6 472.6]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 734 0]>>endobj
-157 0 obj<</Subtype/Link/Rect[126.0 446.4 237.8 459.4]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 632 0]>>endobj
-158 0 obj<</Subtype/Link/Rect[126.0 433.2 304.7 446.2]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 507 0]>>endobj
-159 0 obj<</Subtype/Link/Rect[126.0 420.0 245.8 433.0]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 423 0]>>endobj
-160 0 obj<</Subtype/Link/Rect[126.0 406.8 258.0 419.8]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 325 0]>>endobj
-161 0 obj<</Subtype/Link/Rect[108.0 393.6 176.8 406.6]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 440 0]>>endobj
-162 0 obj<</Subtype/Link/Rect[126.0 380.4 213.4 393.4]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 406 0]>>endobj
-163 0 obj<</Subtype/Link/Rect[126.0 367.2 283.7 380.2]/Border[0 0 0]/Dest[1566 0 R/XYZ 0 479 0]>>endobj
-164 0 obj<</Subtype/Link/Rect[126.0 354.0 267.7 367.0]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 692 0]>>endobj
-165 0 obj<</Subtype/Link/Rect[126.0 340.8 318.8 353.8]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 511 0]>>endobj
-166 0 obj<</Subtype/Link/Rect[126.0 327.6 242.1 340.6]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 734 0]>>endobj
-167 0 obj<</Subtype/Link/Rect[126.0 314.4 262.9 327.4]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 394 0]>>endobj
-168 0 obj<</Subtype/Link/Rect[126.0 301.2 261.1 314.2]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 718 0]>>endobj
-169 0 obj<</Subtype/Link/Rect[126.0 288.0 241.8 301.0]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 633 0]>>endobj
-170 0 obj<</Subtype/Link/Rect[126.0 274.8 228.4 287.8]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 535 0]>>endobj
-171 0 obj<</Subtype/Link/Rect[72.0 248.4 197.9 261.4]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 734 0]>>endobj
-172 0 obj<</Subtype/Link/Rect[108.0 235.2 187.1 248.2]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 696 0]>>endobj
-173 0 obj<</Subtype/Link/Rect[108.0 222.0 329.2 235.0]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 467 0]>>endobj
-174 0 obj<</Subtype/Link/Rect[72.0 195.6 431.7 208.6]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 734 0]>>endobj
-175 0 obj<</Subtype/Link/Rect[108.0 182.4 170.0 195.4]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 672 0]>>endobj
-176 0 obj<</Subtype/Link/Rect[108.0 169.2 187.1 182.2]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 544 0]>>endobj
-177 0 obj<</Subtype/Link/Rect[108.0 156.0 239.1 169.0]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 231 0]>>endobj
-178 0 obj<</Subtype/Link/Rect[126.0 142.8 211.8 155.8]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 560 0]>>endobj
-179 0 obj<</Subtype/Link/Rect[108.0 129.6 227.5 142.6]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 409 0]>>endobj
-180 0 obj<</Subtype/Link/Rect[126.0 116.4 312.1 129.4]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 294 0]>>endobj
-181 0 obj<</Subtype/Link/Rect[126.0 103.2 254.3 116.2]/Border[0 0 0]/Dest[1582 0 R/XYZ 0 734 0]>>endobj
-182 0 obj<</Subtype/Link/Rect[126.0 90.0 312.4 103.0]/Border[0 0 0]/Dest[1582 0 R/XYZ 0 292 0]>>endobj
-183 0 obj<</Subtype/Link/Rect[126.0 76.8 292.8 89.8]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 665 0]>>endobj
-184 0 obj<</Subtype/Link/Rect[126.0 63.6 226.5 76.6]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 488 0]>>endobj
-185 0 obj[141 0 R
+141 0 obj<</Subtype/Link/Rect[72.0 684.0 407.8 697.0]/Border[0 0 0]/Dest[1292 0 R/XYZ 0 734 0]>>endobj
+142 0 obj<</Subtype/Link/Rect[108.0 670.8 183.2 683.8]/Border[0 0 0]/Dest[1292 0 R/XYZ 0 672 0]>>endobj
+143 0 obj<</Subtype/Link/Rect[108.0 657.6 225.6 670.6]/Border[0 0 0]/Dest[1294 0 R/XYZ 0 127 0]>>endobj
+144 0 obj<</Subtype/Link/Rect[108.0 644.4 251.0 657.4]/Border[0 0 0]/Dest[1296 0 R/XYZ 0 679 0]>>endobj
+145 0 obj<</Subtype/Link/Rect[72.0 618.0 349.4 631.0]/Border[0 0 0]/Dest[1298 0 R/XYZ 0 734 0]>>endobj
+146 0 obj<</Subtype/Link/Rect[108.0 604.8 159.9 617.8]/Border[0 0 0]/Dest[1298 0 R/XYZ 0 672 0]>>endobj
+147 0 obj<</Subtype/Link/Rect[126.0 591.6 151.7 604.6]/Border[0 0 0]/Dest[1300 0 R/XYZ 0 652 0]>>endobj
+148 0 obj<</Subtype/Link/Rect[72.0 565.2 152.4 578.2]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 734 0]>>endobj
+149 0 obj<</Subtype/Link/Rect[108.0 552.0 162.4 565.0]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 696 0]>>endobj
+150 0 obj<</Subtype/Link/Rect[108.0 538.8 169.7 551.8]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 317 0]>>endobj
+151 0 obj<</Subtype/Link/Rect[126.0 525.6 200.2 538.6]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 131 0]>>endobj
+152 0 obj<</Subtype/Link/Rect[126.0 512.4 284.9 525.4]/Border[0 0 0]/Dest[1306 0 R/XYZ 0 583 0]>>endobj
+153 0 obj<</Subtype/Link/Rect[126.0 499.2 277.8 512.2]/Border[0 0 0]/Dest[1306 0 R/XYZ 0 169 0]>>endobj
+154 0 obj<</Subtype/Link/Rect[126.0 486.0 341.4 499.0]/Border[0 0 0]/Dest[1308 0 R/XYZ 0 456 0]>>endobj
+155 0 obj<</Subtype/Link/Rect[126.0 472.8 232.6 485.8]/Border[0 0 0]/Dest[1310 0 R/XYZ 0 283 0]>>endobj
+156 0 obj<</Subtype/Link/Rect[108.0 459.6 200.9 472.6]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 734 0]>>endobj
+157 0 obj<</Subtype/Link/Rect[126.0 446.4 204.8 459.4]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 632 0]>>endobj
+158 0 obj<</Subtype/Link/Rect[126.0 433.2 271.7 446.2]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 507 0]>>endobj
+159 0 obj<</Subtype/Link/Rect[126.0 420.0 212.8 433.0]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 423 0]>>endobj
+160 0 obj<</Subtype/Link/Rect[126.0 406.8 225.0 419.8]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 325 0]>>endobj
+161 0 obj<</Subtype/Link/Rect[108.0 393.6 152.0 406.6]/Border[0 0 0]/Dest[1314 0 R/XYZ 0 426 0]>>endobj
+162 0 obj<</Subtype/Link/Rect[126.0 380.4 180.4 393.4]/Border[0 0 0]/Dest[1314 0 R/XYZ 0 393 0]>>endobj
+163 0 obj<</Subtype/Link/Rect[126.0 367.2 250.7 380.2]/Border[0 0 0]/Dest[1316 0 R/XYZ 0 450 0]>>endobj
+164 0 obj<</Subtype/Link/Rect[126.0 354.0 234.7 367.0]/Border[0 0 0]/Dest[1318 0 R/XYZ 0 665 0]>>endobj
+165 0 obj<</Subtype/Link/Rect[126.0 340.8 285.8 353.8]/Border[0 0 0]/Dest[1318 0 R/XYZ 0 479 0]>>endobj
+166 0 obj<</Subtype/Link/Rect[126.0 327.6 209.1 340.6]/Border[0 0 0]/Dest[1320 0 R/XYZ 0 718 0]>>endobj
+167 0 obj<</Subtype/Link/Rect[126.0 314.4 229.9 327.4]/Border[0 0 0]/Dest[1320 0 R/XYZ 0 373 0]>>endobj
+168 0 obj<</Subtype/Link/Rect[126.0 301.2 228.1 314.2]/Border[0 0 0]/Dest[1322 0 R/XYZ 0 679 0]>>endobj
+169 0 obj<</Subtype/Link/Rect[126.0 288.0 208.8 301.0]/Border[0 0 0]/Dest[1322 0 R/XYZ 0 594 0]>>endobj
+170 0 obj<</Subtype/Link/Rect[126.0 274.8 195.4 287.8]/Border[0 0 0]/Dest[1322 0 R/XYZ 0 496 0]>>endobj
+171 0 obj<</Subtype/Link/Rect[72.0 248.4 373.3 261.4]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 734 0]>>endobj
+172 0 obj<</Subtype/Link/Rect[108.0 235.2 145.3 248.2]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 672 0]>>endobj
+173 0 obj<</Subtype/Link/Rect[108.0 222.0 162.4 235.0]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 544 0]>>endobj
+174 0 obj<</Subtype/Link/Rect[108.0 208.8 214.3 221.8]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 231 0]>>endobj
+175 0 obj<</Subtype/Link/Rect[126.0 195.6 178.8 208.6]/Border[0 0 0]/Dest[1326 0 R/XYZ 0 560 0]>>endobj
+176 0 obj<</Subtype/Link/Rect[108.0 182.4 202.7 195.4]/Border[0 0 0]/Dest[1326 0 R/XYZ 0 409 0]>>endobj
+177 0 obj<</Subtype/Link/Rect[126.0 169.2 279.1 182.2]/Border[0 0 0]/Dest[1326 0 R/XYZ 0 294 0]>>endobj
+178 0 obj<</Subtype/Link/Rect[126.0 156.0 221.3 169.0]/Border[0 0 0]/Dest[1328 0 R/XYZ 0 734 0]>>endobj
+179 0 obj<</Subtype/Link/Rect[126.0 142.8 279.4 155.8]/Border[0 0 0]/Dest[1328 0 R/XYZ 0 292 0]>>endobj
+180 0 obj<</Subtype/Link/Rect[126.0 129.6 259.8 142.6]/Border[0 0 0]/Dest[1330 0 R/XYZ 0 665 0]>>endobj
+181 0 obj<</Subtype/Link/Rect[126.0 116.4 193.5 129.4]/Border[0 0 0]/Dest[1330 0 R/XYZ 0 488 0]>>endobj
+182 0 obj<</Subtype/Link/Rect[108.0 103.2 240.6 116.2]/Border[0 0 0]/Dest[1330 0 R/XYZ 0 351 0]>>endobj
+183 0 obj<</Subtype/Link/Rect[126.0 90.0 180.4 103.0]/Border[0 0 0]/Dest[1330 0 R/XYZ 0 209 0]>>endobj
+184 0 obj<</Subtype/Link/Rect[126.0 76.8 187.1 89.8]/Border[0 0 0]/Dest[1332 0 R/XYZ 0 599 0]>>endobj
+185 0 obj<</Subtype/Link/Rect[126.0 63.6 211.6 76.6]/Border[0 0 0]/Dest[1332 0 R/XYZ 0 330 0]>>endobj
+186 0 obj[141 0 R
 142 0 R
 143 0 R
 144 0 R
 181 0 R
 182 0 R
 183 0 R
-184 0 R]endobj
-186 0 obj<</Subtype/Link/Rect[72.0 684.0 431.7 697.0]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 734 0]>>endobj
-187 0 obj<</Subtype/Link/Rect[108.0 670.8 265.4 683.8]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 351 0]>>endobj
-188 0 obj<</Subtype/Link/Rect[126.0 657.6 213.4 670.6]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 209 0]>>endobj
-189 0 obj<</Subtype/Link/Rect[126.0 644.4 220.1 657.4]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 599 0]>>endobj
-190 0 obj<</Subtype/Link/Rect[126.0 631.2 244.6 644.2]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 330 0]>>endobj
-191 0 obj<</Subtype/Link/Rect[108.0 618.0 183.5 631.0]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 296 0]>>endobj
-192 0 obj<</Subtype/Link/Rect[108.0 604.8 182.9 617.8]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 734 0]>>endobj
-193 0 obj<</Subtype/Link/Rect[72.0 578.4 236.7 591.4]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 734 0]>>endobj
-194 0 obj<</Subtype/Link/Rect[108.0 565.2 171.3 578.2]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 696 0]>>endobj
-195 0 obj<</Subtype/Link/Rect[108.0 552.0 186.5 565.0]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 595 0]>>endobj
-196 0 obj<</Subtype/Link/Rect[108.0 538.8 351.2 551.8]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 568 0]>>endobj
-197 0 obj<</Subtype/Link/Rect[108.0 525.6 309.7 538.6]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 414 0]>>endobj
-198 0 obj<</Subtype/Link/Rect[72.0 499.2 224.5 512.2]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 734 0]>>endobj
-199 0 obj<</Subtype/Link/Rect[108.0 486.0 171.3 499.0]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 696 0]>>endobj
-200 0 obj<</Subtype/Link/Rect[108.0 472.8 160.2 485.8]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 608 0]>>endobj
-201 0 obj<</Subtype/Link/Rect[72.0 446.4 484.2 459.4]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 734 0]>>endobj
-202 0 obj<</Subtype/Link/Rect[108.0 433.2 168.2 446.2]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 672 0]>>endobj
-203 0 obj<</Subtype/Link/Rect[108.0 420.0 187.1 433.0]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 412 0]>>endobj
-204 0 obj<</Subtype/Link/Rect[108.0 406.8 245.2 419.8]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 573 0]>>endobj
-205 0 obj<</Subtype/Link/Rect[108.0 393.6 384.2 406.6]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 471 0]>>endobj
-206 0 obj<</Subtype/Link/Rect[108.0 380.4 273.0 393.4]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-207 0 obj<</Subtype/Link/Rect[126.0 367.2 273.6 380.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 700 0]>>endobj
-208 0 obj<</Subtype/Link/Rect[126.0 354.0 245.5 367.0]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 143 0]>>endobj
-209 0 obj<</Subtype/Link/Rect[108.0 340.8 287.0 353.8]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 243 0]>>endobj
-210 0 obj<</Subtype/Link/Rect[108.0 327.6 256.2 340.6]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 718 0]>>endobj
-211 0 obj<</Subtype/Link/Rect[108.0 314.4 330.7 327.4]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 336 0]>>endobj
-212 0 obj<</Subtype/Link/Rect[108.0 301.2 324.3 314.2]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 322 0]>>endobj
-213 0 obj<</Subtype/Link/Rect[108.0 288.0 185.9 301.0]/Border[0 0 0]/Dest[1622 0 R/XYZ 0 492 0]>>endobj
-214 0 obj<</Subtype/Link/Rect[72.0 261.6 342.4 274.6]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-215 0 obj<</Subtype/Link/Rect[108.0 248.4 187.1 261.4]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 672 0]>>endobj
-216 0 obj<</Subtype/Link/Rect[108.0 235.2 247.6 248.2]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 557 0]>>endobj
-217 0 obj<</Subtype/Link/Rect[126.0 222.0 248.8 235.0]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 469 0]>>endobj
-218 0 obj<</Subtype/Link/Rect[126.0 208.8 223.8 221.8]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 358 0]>>endobj
-219 0 obj<</Subtype/Link/Rect[72.0 182.4 252.6 195.4]/Border[0 0 0]/Dest[1628 0 R/XYZ 0 734 0]>>endobj
-220 0 obj<</Subtype/Link/Rect[72.0 156.0 255.6 169.0]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 734 0]>>endobj
-221 0 obj<</Subtype/Link/Rect[108.0 142.8 190.8 155.8]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 696 0]>>endobj
-222 0 obj<</Subtype/Link/Rect[108.0 129.6 169.4 142.6]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 449 0]>>endobj
-223 0 obj<</Subtype/Link/Rect[126.0 116.4 202.4 129.4]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 416 0]>>endobj
-224 0 obj<</Subtype/Link/Rect[126.0 103.2 229.0 116.2]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 146 0]>>endobj
-225 0 obj<</Subtype/Link/Rect[126.0 90.0 328.3 103.0]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 652 0]>>endobj
-226 0 obj<</Subtype/Link/Rect[108.0 76.8 197.8 89.8]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 515 0]>>endobj
-227 0 obj<</Subtype/Link/Rect[108.0 63.6 175.2 76.6]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 255 0]>>endobj
-228 0 obj[186 0 R
-187 0 R
+184 0 R
+185 0 R]endobj
+187 0 obj<</Subtype/Link/Rect[72.0 684.0 373.3 697.0]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 734 0]>>endobj
+188 0 obj<</Subtype/Link/Rect[108.0 670.8 158.7 683.8]/Border[0 0 0]/Dest[1346 0 R/XYZ 0 217 0]>>endobj
+189 0 obj<</Subtype/Link/Rect[108.0 657.6 158.1 670.6]/Border[0 0 0]/Dest[1348 0 R/XYZ 0 679 0]>>endobj
+190 0 obj<</Subtype/Link/Rect[72.0 631.2 178.4 644.2]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 734 0]>>endobj
+191 0 obj<</Subtype/Link/Rect[108.0 618.0 146.5 631.0]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 696 0]>>endobj
+192 0 obj<</Subtype/Link/Rect[108.0 604.8 161.8 617.8]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 595 0]>>endobj
+193 0 obj<</Subtype/Link/Rect[108.0 591.6 326.4 604.6]/Border[0 0 0]/Dest[1352 0 R/XYZ 0 511 0]>>endobj
+194 0 obj<</Subtype/Link/Rect[108.0 578.4 285.0 591.4]/Border[0 0 0]/Dest[1352 0 R/XYZ 0 357 0]>>endobj
+195 0 obj<</Subtype/Link/Rect[72.0 552.0 166.1 565.0]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 734 0]>>endobj
+196 0 obj<</Subtype/Link/Rect[108.0 538.8 146.5 551.8]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 696 0]>>endobj
+197 0 obj<</Subtype/Link/Rect[108.0 525.6 135.5 538.6]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 608 0]>>endobj
+198 0 obj<</Subtype/Link/Rect[72.0 499.2 183.2 512.2]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 734 0]>>endobj
+199 0 obj<</Subtype/Link/Rect[108.0 486.0 243.0 499.0]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 696 0]>>endobj
+200 0 obj<</Subtype/Link/Rect[108.0 472.8 186.5 485.8]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 382 0]>>endobj
+201 0 obj<</Subtype/Link/Rect[126.0 459.6 148.0 472.6]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 348 0]>>endobj
+202 0 obj<</Subtype/Link/Rect[126.0 446.4 157.8 459.4]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 212 0]>>endobj
+203 0 obj<</Subtype/Link/Rect[126.0 433.2 160.8 446.2]/Border[0 0 0]/Dest[1358 0 R/XYZ 0 560 0]>>endobj
+204 0 obj<</Subtype/Link/Rect[108.0 420.0 257.4 433.0]/Border[0 0 0]/Dest[1358 0 R/XYZ 0 430 0]>>endobj
+205 0 obj<</Subtype/Link/Rect[126.0 406.8 178.5 419.8]/Border[0 0 0]/Dest[1358 0 R/XYZ 0 315 0]>>endobj
+206 0 obj<</Subtype/Link/Rect[126.0 393.6 151.0 406.6]/Border[0 0 0]/Dest[1360 0 R/XYZ 0 734 0]>>endobj
+207 0 obj<</Subtype/Link/Rect[72.0 367.2 425.8 380.2]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 734 0]>>endobj
+208 0 obj<</Subtype/Link/Rect[108.0 354.0 143.4 367.0]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 672 0]>>endobj
+209 0 obj<</Subtype/Link/Rect[108.0 340.8 162.4 353.8]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 412 0]>>endobj
+210 0 obj<</Subtype/Link/Rect[108.0 327.6 220.4 340.6]/Border[0 0 0]/Dest[1364 0 R/XYZ 0 573 0]>>endobj
+211 0 obj<</Subtype/Link/Rect[108.0 314.4 359.5 327.4]/Border[0 0 0]/Dest[1364 0 R/XYZ 0 471 0]>>endobj
+212 0 obj<</Subtype/Link/Rect[108.0 301.2 248.3 314.2]/Border[0 0 0]/Dest[1366 0 R/XYZ 0 734 0]>>endobj
+213 0 obj<</Subtype/Link/Rect[126.0 288.0 240.6 301.0]/Border[0 0 0]/Dest[1366 0 R/XYZ 0 700 0]>>endobj
+214 0 obj<</Subtype/Link/Rect[126.0 274.8 212.5 287.8]/Border[0 0 0]/Dest[1366 0 R/XYZ 0 138 0]>>endobj
+215 0 obj<</Subtype/Link/Rect[108.0 261.6 262.3 274.6]/Border[0 0 0]/Dest[1368 0 R/XYZ 0 227 0]>>endobj
+216 0 obj<</Subtype/Link/Rect[108.0 248.4 231.4 261.4]/Border[0 0 0]/Dest[1370 0 R/XYZ 0 705 0]>>endobj
+217 0 obj<</Subtype/Link/Rect[108.0 235.2 306.0 248.2]/Border[0 0 0]/Dest[1370 0 R/XYZ 0 320 0]>>endobj
+218 0 obj<</Subtype/Link/Rect[108.0 222.0 299.5 235.0]/Border[0 0 0]/Dest[1372 0 R/XYZ 0 309 0]>>endobj
+219 0 obj<</Subtype/Link/Rect[108.0 208.8 155.7 221.8]/Border[0 0 0]/Dest[1374 0 R/XYZ 0 478 0]>>endobj
+220 0 obj<</Subtype/Link/Rect[72.0 182.4 284.0 195.4]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 734 0]>>endobj
+221 0 obj<</Subtype/Link/Rect[108.0 169.2 162.4 182.2]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 696 0]>>endobj
+222 0 obj<</Subtype/Link/Rect[108.0 156.0 222.9 169.0]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 581 0]>>endobj
+223 0 obj<</Subtype/Link/Rect[126.0 142.8 215.8 155.8]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 493 0]>>endobj
+224 0 obj<</Subtype/Link/Rect[126.0 129.6 190.8 142.6]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 382 0]>>endobj
+225 0 obj<</Subtype/Link/Rect[72.0 103.2 194.3 116.2]/Border[0 0 0]/Dest[1380 0 R/XYZ 0 734 0]>>endobj
+226 0 obj[187 0 R
 188 0 R
 189 0 R
 190 0 R
 222 0 R
 223 0 R
 224 0 R
-225 0 R
-226 0 R
-227 0 R]endobj
-229 0 obj<</Subtype/Link/Rect[72.0 684.0 255.6 697.0]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 734 0]>>endobj
-230 0 obj<</Subtype/Link/Rect[108.0 670.8 175.8 683.8]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 718 0]>>endobj
-231 0 obj<</Subtype/Link/Rect[108.0 657.6 169.4 670.6]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 537 0]>>endobj
-232 0 obj<</Subtype/Link/Rect[108.0 644.4 189.3 657.4]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 409 0]>>endobj
-233 0 obj<</Subtype/Link/Rect[108.0 631.2 174.6 644.2]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 189 0]>>endobj
-234 0 obj<</Subtype/Link/Rect[108.0 618.0 180.1 631.0]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 734 0]>>endobj
-235 0 obj<</Subtype/Link/Rect[108.0 604.8 180.1 617.8]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 645 0]>>endobj
-236 0 obj<</Subtype/Link/Rect[108.0 591.6 182.5 604.6]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 477 0]>>endobj
-237 0 obj<</Subtype/Link/Rect[108.0 578.4 208.2 591.4]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 349 0]>>endobj
-238 0 obj<</Subtype/Link/Rect[108.0 565.2 217.4 578.2]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 129 0]>>endobj
-239 0 obj<</Subtype/Link/Rect[108.0 552.0 194.8 565.0]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 639 0]>>endobj
-240 0 obj<</Subtype/Link/Rect[108.0 538.8 194.2 551.8]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 511 0]>>endobj
-241 0 obj<</Subtype/Link/Rect[108.0 525.6 196.0 538.6]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 436 0]>>endobj
-242 0 obj<</Subtype/Link/Rect[108.0 512.4 188.7 525.4]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 388 0]>>endobj
-243 0 obj<</Subtype/Link/Rect[72.0 486.0 144.7 499.0]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 734 0]>>endobj
-244 0 obj<</Subtype/Link/Rect[72.0 459.6 181.1 472.6]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 734 0]>>endobj
-245 0 obj<</Subtype/Link/Rect[108.0 446.4 162.7 459.4]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 655 0]>>endobj
-246 0 obj<</Subtype/Link/Rect[108.0 433.2 178.9 446.2]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 408 0]>>endobj
-247 0 obj<</Subtype/Link/Rect[108.0 420.0 160.2 433.0]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 293 0]>>endobj
-248 0 obj<</Subtype/Link/Rect[108.0 406.8 260.5 419.8]/Border[0 0 0]/Dest[1646 0 R/XYZ 0 228 0]>>endobj
-249 0 obj<</Subtype/Link/Rect[72.0 380.4 271.5 393.4]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 734 0]>>endobj
-250 0 obj<</Subtype/Link/Rect[108.0 367.2 215.5 380.2]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 668 0]>>endobj
-251 0 obj<</Subtype/Link/Rect[108.0 354.0 182.0 367.0]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 461 0]>>endobj
-252 0 obj<</Subtype/Link/Rect[126.0 340.8 514.3 353.8]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 427 0]>>endobj
-253 0 obj<</Subtype/Link/Rect[126.0 327.6 519.5 340.6]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 734 0]>>endobj
-254 0 obj<</Subtype/Link/Rect[126.0 314.4 470.9 327.4]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 523 0]>>endobj
-255 0 obj<</Subtype/Link/Rect[126.0 301.2 440.7 314.2]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 408 0]>>endobj
-256 0 obj<</Subtype/Link/Rect[108.0 288.0 248.2 301.0]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 151 0]>>endobj
-257 0 obj<</Subtype/Link/Rect[126.0 274.8 333.5 287.8]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 118 0]>>endobj
-258 0 obj<</Subtype/Link/Rect[126.0 261.6 332.5 274.6]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 626 0]>>endobj
-259 0 obj<</Subtype/Link/Rect[126.0 248.4 316.3 261.4]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 475 0]>>endobj
-260 0 obj<</Subtype/Link/Rect[126.0 235.2 282.1 248.2]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 377 0]>>endobj
-261 0 obj<</Subtype/Link/Rect[108.0 222.0 206.7 235.0]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 292 0]>>endobj
-262 0 obj<</Subtype/Link/Rect[108.0 208.8 267.8 221.8]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 718 0]>>endobj
-263 0 obj<</Subtype/Link/Rect[72.0 182.4 204.0 195.4]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 734 0]>>endobj
-264 0 obj<</Subtype/Link/Rect[108.0 169.2 187.1 182.2]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 696 0]>>endobj
-265 0 obj<</Subtype/Link/Rect[108.0 156.0 188.0 169.0]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 423 0]>>endobj
-266 0 obj<</Subtype/Link/Rect[108.0 142.8 190.5 155.8]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 282 0]>>endobj
-267 0 obj<</Subtype/Link/Rect[108.0 129.6 195.4 142.6]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 613 0]>>endobj
-268 0 obj<</Subtype/Link/Rect[108.0 116.4 267.8 129.4]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 260 0]>>endobj
-269 0 obj<</Subtype/Link/Rect[108.0 103.2 166.4 116.2]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 159 0]>>endobj
-270 0 obj[229 0 R
+225 0 R]endobj
+227 0 obj<</Subtype/Link/Rect[72.0 684.0 197.3 697.0]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 734 0]>>endobj
+228 0 obj<</Subtype/Link/Rect[108.0 670.8 166.1 683.8]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 696 0]>>endobj
+229 0 obj<</Subtype/Link/Rect[108.0 657.6 173.1 670.6]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 449 0]>>endobj
+230 0 obj<</Subtype/Link/Rect[108.0 644.4 150.5 657.4]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 189 0]>>endobj
+231 0 obj<</Subtype/Link/Rect[108.0 631.2 151.1 644.2]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 639 0]>>endobj
+232 0 obj<</Subtype/Link/Rect[108.0 618.0 149.9 631.0]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 458 0]>>endobj
+233 0 obj<</Subtype/Link/Rect[108.0 604.8 149.8 617.8]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 383 0]>>endobj
+234 0 obj<</Subtype/Link/Rect[108.0 591.6 152.3 604.6]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 215 0]>>endobj
+235 0 obj<</Subtype/Link/Rect[108.0 578.4 164.5 591.4]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 734 0]>>endobj
+236 0 obj<</Subtype/Link/Rect[108.0 565.2 163.9 578.2]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 605 0]>>endobj
+237 0 obj<</Subtype/Link/Rect[108.0 552.0 165.8 565.0]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 530 0]>>endobj
+238 0 obj<</Subtype/Link/Rect[72.0 525.6 144.7 538.6]/Border[0 0 0]/Dest[1390 0 R/XYZ 0 734 0]>>endobj
+239 0 obj<</Subtype/Link/Rect[72.0 499.2 122.7 512.2]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 734 0]>>endobj
+240 0 obj<</Subtype/Link/Rect[108.0 486.0 137.9 499.0]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 655 0]>>endobj
+241 0 obj<</Subtype/Link/Rect[108.0 472.8 154.1 485.8]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 408 0]>>endobj
+242 0 obj<</Subtype/Link/Rect[108.0 459.6 135.5 472.6]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 293 0]>>endobj
+243 0 obj<</Subtype/Link/Rect[108.0 446.4 235.8 459.4]/Border[0 0 0]/Dest[1394 0 R/XYZ 0 216 0]>>endobj
+244 0 obj<</Subtype/Link/Rect[72.0 420.0 213.2 433.0]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 734 0]>>endobj
+245 0 obj<</Subtype/Link/Rect[108.0 406.8 190.8 419.8]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 668 0]>>endobj
+246 0 obj<</Subtype/Link/Rect[108.0 393.6 157.2 406.6]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 461 0]>>endobj
+247 0 obj<</Subtype/Link/Rect[126.0 380.4 481.3 393.4]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 427 0]>>endobj
+248 0 obj<</Subtype/Link/Rect[126.0 367.2 486.5 380.2]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 734 0]>>endobj
+249 0 obj<</Subtype/Link/Rect[126.0 354.0 437.9 367.0]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 520 0]>>endobj
+250 0 obj<</Subtype/Link/Rect[126.0 340.8 407.7 353.8]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 422 0]>>endobj
+251 0 obj<</Subtype/Link/Rect[108.0 327.6 223.5 340.6]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 165 0]>>endobj
+252 0 obj<</Subtype/Link/Rect[126.0 314.4 300.5 327.4]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 132 0]>>endobj
+253 0 obj<</Subtype/Link/Rect[126.0 301.2 299.5 314.2]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 652 0]>>endobj
+254 0 obj<</Subtype/Link/Rect[126.0 288.0 283.3 301.0]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 501 0]>>endobj
+255 0 obj<</Subtype/Link/Rect[126.0 274.8 249.1 287.8]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 403 0]>>endobj
+256 0 obj<</Subtype/Link/Rect[108.0 261.6 181.9 274.6]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 319 0]>>endobj
+257 0 obj<</Subtype/Link/Rect[108.0 248.4 243.0 261.4]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 734 0]>>endobj
+258 0 obj<</Subtype/Link/Rect[72.0 222.0 145.6 235.0]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 734 0]>>endobj
+259 0 obj<</Subtype/Link/Rect[108.0 208.8 162.4 221.8]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 696 0]>>endobj
+260 0 obj<</Subtype/Link/Rect[108.0 195.6 163.3 208.6]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 423 0]>>endobj
+261 0 obj<</Subtype/Link/Rect[108.0 182.4 165.7 195.4]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 282 0]>>endobj
+262 0 obj<</Subtype/Link/Rect[108.0 169.2 170.6 182.2]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 613 0]>>endobj
+263 0 obj<</Subtype/Link/Rect[108.0 156.0 243.0 169.0]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 260 0]>>endobj
+264 0 obj<</Subtype/Link/Rect[108.0 142.8 141.6 155.8]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 159 0]>>endobj
+265 0 obj<</Subtype/Link/Rect[72.0 116.4 214.7 129.4]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
+266 0 obj<</Subtype/Link/Rect[108.0 103.2 162.4 116.2]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 696 0]>>endobj
+267 0 obj<</Subtype/Link/Rect[108.0 90.0 165.5 103.0]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 529 0]>>endobj
+268 0 obj<</Subtype/Link/Rect[108.0 76.8 131.2 89.8]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 196 0]>>endobj
+269 0 obj<</Subtype/Link/Rect[126.0 63.6 153.2 76.6]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 163 0]>>endobj
+270 0 obj[227 0 R
+228 0 R
+229 0 R
 230 0 R
 231 0 R
 232 0 R
 267 0 R
 268 0 R
 269 0 R]endobj
-271 0 obj<</Subtype/Link/Rect[72.0 684.0 273.0 697.0]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 734 0]>>endobj
-272 0 obj<</Subtype/Link/Rect[108.0 670.8 187.1 683.8]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 696 0]>>endobj
-273 0 obj<</Subtype/Link/Rect[108.0 657.6 190.2 670.6]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 529 0]>>endobj
-274 0 obj<</Subtype/Link/Rect[108.0 644.4 156.0 657.4]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 199 0]>>endobj
-275 0 obj<</Subtype/Link/Rect[126.0 631.2 186.2 644.2]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 165 0]>>endobj
-276 0 obj<</Subtype/Link/Rect[126.0 618.0 186.2 631.0]/Border[0 0 0]/Dest[1662 0 R/XYZ 0 734 0]>>endobj
-277 0 obj<</Subtype/Link/Rect[126.0 604.8 186.2 617.8]/Border[0 0 0]/Dest[1662 0 R/XYZ 0 530 0]>>endobj
-278 0 obj<</Subtype/Link/Rect[126.0 591.6 186.2 604.6]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 626 0]>>endobj
-279 0 obj<</Subtype/Link/Rect[126.0 578.4 186.2 591.4]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 475 0]>>endobj
-280 0 obj<</Subtype/Link/Rect[126.0 565.2 186.2 578.2]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 351 0]>>endobj
-281 0 obj<</Subtype/Link/Rect[126.0 552.0 186.2 565.0]/Border[0 0 0]/Dest[1666 0 R/XYZ 0 734 0]>>endobj
-282 0 obj<</Subtype/Link/Rect[126.0 538.8 186.2 551.8]/Border[0 0 0]/Dest[1666 0 R/XYZ 0 371 0]>>endobj
-283 0 obj<</Subtype/Link/Rect[126.0 525.6 186.2 538.6]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 705 0]>>endobj
-284 0 obj<</Subtype/Link/Rect[126.0 512.4 197.2 525.4]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 515 0]>>endobj
-285 0 obj<</Subtype/Link/Rect[126.0 499.2 197.2 512.2]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 377 0]>>endobj
-286 0 obj<</Subtype/Link/Rect[108.0 486.0 226.9 499.0]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 239 0]>>endobj
-287 0 obj[271 0 R
+271 0 obj<</Subtype/Link/Rect[72.0 684.0 214.7 697.0]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
+272 0 obj<</Subtype/Link/Rect[126.0 670.8 153.2 683.8]/Border[0 0 0]/Dest[1412 0 R/XYZ 0 734 0]>>endobj
+273 0 obj<</Subtype/Link/Rect[126.0 657.6 153.2 670.6]/Border[0 0 0]/Dest[1412 0 R/XYZ 0 530 0]>>endobj
+274 0 obj<</Subtype/Link/Rect[126.0 644.4 153.2 657.4]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 599 0]>>endobj
+275 0 obj<</Subtype/Link/Rect[126.0 631.2 153.2 644.2]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 449 0]>>endobj
+276 0 obj<</Subtype/Link/Rect[126.0 618.0 153.2 631.0]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 324 0]>>endobj
+277 0 obj<</Subtype/Link/Rect[126.0 604.8 153.2 617.8]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 734 0]>>endobj
+278 0 obj<</Subtype/Link/Rect[126.0 591.6 153.2 604.6]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 371 0]>>endobj
+279 0 obj<</Subtype/Link/Rect[126.0 578.4 153.2 591.4]/Border[0 0 0]/Dest[1418 0 R/XYZ 0 705 0]>>endobj
+280 0 obj<</Subtype/Link/Rect[126.0 565.2 158.7 578.2]/Border[0 0 0]/Dest[1418 0 R/XYZ 0 515 0]>>endobj
+281 0 obj<</Subtype/Link/Rect[126.0 552.0 158.7 565.0]/Border[0 0 0]/Dest[1418 0 R/XYZ 0 377 0]>>endobj
+282 0 obj<</Subtype/Link/Rect[108.0 538.8 202.1 551.8]/Border[0 0 0]/Dest[1418 0 R/XYZ 0 239 0]>>endobj
+283 0 obj[271 0 R
 272 0 R
 273 0 R
 274 0 R
 279 0 R
 280 0 R
 281 0 R
-282 0 R
-283 0 R
-284 0 R
-285 0 R
-286 0 R]endobj
-288 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
-289 0 obj<</Subtype/Link/Rect[185.6 631.0 289.8 644.0]/Border[0 0 0]/A 288 0 R>>endobj
-290 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
-291 0 obj<</Subtype/Link/Rect[72.0 617.8 148.4 630.8]/Border[0 0 0]/A 290 0 R>>endobj
-292 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
-293 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 292 0 R>>endobj
-294 0 obj<</Subtype/Link/Rect[78.4 499.0 170.1 512.0]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 258 0]>>endobj
-295 0 obj<</Subtype/Link/Rect[116.2 485.8 259.9 498.8]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 734 0]>>endobj
-296 0 obj<</Subtype/Link/Rect[160.5 472.6 252.2 485.6]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 696 0]>>endobj
-297 0 obj<</Subtype/Link/Rect[160.5 459.4 257.4 472.4]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 568 0]>>endobj
-298 0 obj<</Subtype/Link/Rect[160.5 446.2 260.7 459.2]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 163 0]>>endobj
-299 0 obj<</Subtype/Link/Rect[160.5 433.0 312.1 446.0]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 734 0]>>endobj
-300 0 obj<</Subtype/Link/Rect[160.5 419.8 315.1 432.8]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 385 0]>>endobj
-301 0 obj<</Subtype/Link/Rect[160.5 406.6 287.3 419.6]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 257 0]>>endobj
-302 0 obj<</Subtype/Link/Rect[160.5 393.4 367.0 406.4]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 665 0]>>endobj
-303 0 obj<</Subtype/Link/Rect[160.5 380.2 316.3 393.2]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 498 0]>>endobj
-304 0 obj<</Subtype/Link/Rect[160.5 367.0 503.0 380.0]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 330 0]>>endobj
-305 0 obj<</Subtype/Link/Rect[166.0 353.8 293.3 366.8]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 734 0]>>endobj
-306 0 obj<</Subtype/Link/Rect[116.2 340.6 247.6 353.6]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 734 0]>>endobj
-307 0 obj<</Subtype/Link/Rect[160.5 327.4 260.4 340.4]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 696 0]>>endobj
-308 0 obj<</Subtype/Link/Rect[160.5 314.2 284.6 327.2]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 515 0]>>endobj
-309 0 obj<</Subtype/Link/Rect[160.5 301.0 248.5 314.0]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 137 0]>>endobj
-310 0 obj<</Subtype/Link/Rect[160.5 287.8 272.6 300.8]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 533 0]>>endobj
-311 0 obj<</Subtype/Link/Rect[160.5 274.6 274.5 287.6]/Border[0 0 0]/Dest[1422 0 R/XYZ 0 560 0]>>endobj
-312 0 obj<</Subtype/Link/Rect[160.5 261.4 343.2 274.4]/Border[0 0 0]/Dest[1424 0 R/XYZ 0 613 0]>>endobj
-313 0 obj<</Subtype/Link/Rect[160.5 248.2 317.6 261.2]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 622 0]>>endobj
-314 0 obj<</Subtype/Link/Rect[160.5 235.0 303.5 248.0]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 266 0]>>endobj
-315 0 obj<</Subtype/Link/Rect[160.5 221.8 313.0 234.8]/Border[0 0 0]/Dest[1428 0 R/XYZ 0 520 0]>>endobj
-316 0 obj<</Subtype/Link/Rect[166.0 208.6 310.2 221.6]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 734 0]>>endobj
-317 0 obj<</Subtype/Link/Rect[166.0 195.4 252.2 208.4]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 645 0]>>endobj
-318 0 obj<</Subtype/Link/Rect[116.2 182.2 155.0 195.2]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 734 0]>>endobj
-319 0 obj<</Subtype/Link/Rect[160.5 169.0 245.7 182.0]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 696 0]>>endobj
-320 0 obj<</Subtype/Link/Rect[116.2 155.8 410.5 168.8]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 734 0]>>endobj
-321 0 obj<</Subtype/Link/Rect[160.5 142.6 211.5 155.6]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 604 0]>>endobj
-322 0 obj<</Subtype/Link/Rect[160.5 129.4 348.1 142.4]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 159 0]>>endobj
-323 0 obj<</Subtype/Link/Rect[160.5 116.2 360.7 129.2]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 483 0]>>endobj
-324 0 obj<</Subtype/Link/Rect[160.5 103.0 220.1 116.0]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 305 0]>>endobj
-325 0 obj<</Subtype/Link/Rect[160.5 89.8 458.7 102.8]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 467 0]>>endobj
-326 0 obj<</Subtype/Link/Rect[160.5 76.6 268.4 89.6]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 187 0]>>endobj
-327 0 obj<</Subtype/Link/Rect[116.2 63.4 333.5 76.4]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 734 0]>>endobj
-328 0 obj[289 0 R
+282 0 R]endobj
+284 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
+285 0 obj<</Subtype/Link/Rect[185.6 631.0 289.8 644.0]/Border[0 0 0]/A 284 0 R>>endobj
+286 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
+287 0 obj<</Subtype/Link/Rect[72.0 617.8 148.4 630.8]/Border[0 0 0]/A 286 0 R>>endobj
+288 0 obj<</S/URI/URI(mailto:jelmer@samba.org)>>endobj
+289 0 obj<</Subtype/Link/Rect[160.3 617.8 246.8 630.8]/Border[0 0 0]/A 288 0 R>>endobj
+290 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
+291 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 290 0 R>>endobj
+292 0 obj<</Subtype/Link/Rect[78.4 499.0 170.1 512.0]/Border[0 0 0]/Dest[1144 0 R/XYZ 0 364 0]>>endobj
+293 0 obj<</Subtype/Link/Rect[108.0 485.8 248.9 498.8]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 734 0]>>endobj
+294 0 obj<</Subtype/Link/Rect[144.0 472.6 232.9 485.6]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 696 0]>>endobj
+295 0 obj<</Subtype/Link/Rect[144.0 459.4 238.1 472.4]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 568 0]>>endobj
+296 0 obj<</Subtype/Link/Rect[144.0 446.2 241.5 459.2]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 163 0]>>endobj
+297 0 obj<</Subtype/Link/Rect[144.0 433.0 292.8 446.0]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 734 0]>>endobj
+298 0 obj<</Subtype/Link/Rect[144.0 419.8 295.9 432.8]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 382 0]>>endobj
+299 0 obj<</Subtype/Link/Rect[144.0 406.6 268.1 419.6]/Border[0 0 0]/Dest[1152 0 R/XYZ 0 254 0]>>endobj
+300 0 obj<</Subtype/Link/Rect[144.0 393.4 347.8 406.4]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 665 0]>>endobj
+301 0 obj<</Subtype/Link/Rect[144.0 380.2 297.1 393.2]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 498 0]>>endobj
+302 0 obj<</Subtype/Link/Rect[144.0 367.0 483.7 380.0]/Border[0 0 0]/Dest[1156 0 R/XYZ 0 330 0]>>endobj
+303 0 obj<</Subtype/Link/Rect[144.0 353.8 268.6 366.8]/Border[0 0 0]/Dest[1158 0 R/XYZ 0 734 0]>>endobj
+304 0 obj<</Subtype/Link/Rect[108.0 340.6 236.6 353.6]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 734 0]>>endobj
+305 0 obj<</Subtype/Link/Rect[144.0 327.4 241.2 340.4]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 696 0]>>endobj
+306 0 obj<</Subtype/Link/Rect[144.0 314.2 265.3 327.2]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 515 0]>>endobj
+307 0 obj<</Subtype/Link/Rect[144.0 301.0 229.2 314.0]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 137 0]>>endobj
+308 0 obj<</Subtype/Link/Rect[144.0 287.8 253.4 300.8]/Border[0 0 0]/Dest[1166 0 R/XYZ 0 533 0]>>endobj
+309 0 obj<</Subtype/Link/Rect[144.0 274.6 255.2 287.6]/Border[0 0 0]/Dest[1172 0 R/XYZ 0 511 0]>>endobj
+310 0 obj<</Subtype/Link/Rect[144.0 261.4 324.0 274.4]/Border[0 0 0]/Dest[1174 0 R/XYZ 0 560 0]>>endobj
+311 0 obj<</Subtype/Link/Rect[144.0 248.2 298.3 261.2]/Border[0 0 0]/Dest[1176 0 R/XYZ 0 567 0]>>endobj
+312 0 obj<</Subtype/Link/Rect[144.0 235.0 284.2 248.0]/Border[0 0 0]/Dest[1176 0 R/XYZ 0 208 0]>>endobj
+313 0 obj<</Subtype/Link/Rect[144.0 221.8 293.7 234.8]/Border[0 0 0]/Dest[1178 0 R/XYZ 0 454 0]>>endobj
+314 0 obj<</Subtype/Link/Rect[144.0 208.6 285.5 221.6]/Border[0 0 0]/Dest[1180 0 R/XYZ 0 679 0]>>endobj
+315 0 obj<</Subtype/Link/Rect[144.0 195.4 227.4 208.4]/Border[0 0 0]/Dest[1180 0 R/XYZ 0 590 0]>>endobj
+316 0 obj<</Subtype/Link/Rect[108.0 182.2 399.5 195.2]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 734 0]>>endobj
+317 0 obj<</Subtype/Link/Rect[144.0 169.0 192.3 182.0]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 604 0]>>endobj
+318 0 obj<</Subtype/Link/Rect[144.0 155.8 328.9 168.8]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 159 0]>>endobj
+319 0 obj<</Subtype/Link/Rect[144.0 142.6 341.4 155.6]/Border[0 0 0]/Dest[1184 0 R/XYZ 0 520 0]>>endobj
+320 0 obj<</Subtype/Link/Rect[144.0 129.4 200.8 142.4]/Border[0 0 0]/Dest[1184 0 R/XYZ 0 339 0]>>endobj
+321 0 obj<</Subtype/Link/Rect[144.0 116.2 439.4 129.2]/Border[0 0 0]/Dest[1186 0 R/XYZ 0 494 0]>>endobj
+322 0 obj<</Subtype/Link/Rect[144.0 103.0 249.1 116.0]/Border[0 0 0]/Dest[1186 0 R/XYZ 0 213 0]>>endobj
+323 0 obj<</Subtype/Link/Rect[108.0 89.8 322.5 102.8]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 734 0]>>endobj
+324 0 obj<</Subtype/Link/Rect[144.0 76.6 199.0 89.6]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 696 0]>>endobj
+325 0 obj<</Subtype/Link/Rect[144.0 63.4 283.6 76.4]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 555 0]>>endobj
+326 0 obj[285 0 R
+287 0 R
+289 0 R
 291 0 R
+292 0 R
 293 0 R
 294 0 R
 295 0 R
 322 0 R
 323 0 R
 324 0 R
-325 0 R
-326 0 R
-327 0 R]endobj
-329 0 obj<</Subtype/Link/Rect[160.5 721.0 218.2 734.0]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 672 0]>>endobj
-330 0 obj<</Subtype/Link/Rect[160.5 707.8 302.9 720.8]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 531 0]>>endobj
-331 0 obj<</Subtype/Link/Rect[160.5 694.6 280.6 707.6]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 511 0]>>endobj
-332 0 obj<</Subtype/Link/Rect[82.1 681.4 170.4 694.4]/Border[0 0 0]/Dest[1446 0 R/XYZ 0 681 0]>>endobj
-333 0 obj<</Subtype/Link/Rect[116.2 668.2 400.4 681.2]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 734 0]>>endobj
-334 0 obj<</Subtype/Link/Rect[160.5 655.0 257.0 668.0]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 672 0]>>endobj
-335 0 obj<</Subtype/Link/Rect[160.5 641.8 217.0 654.8]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 584 0]>>endobj
-336 0 obj<</Subtype/Link/Rect[160.5 628.6 353.3 641.6]/Border[0 0 0]/Dest[1454 0 R/XYZ 0 718 0]>>endobj
-337 0 obj<</Subtype/Link/Rect[160.5 615.4 467.3 628.4]/Border[0 0 0]/Dest[1456 0 R/XYZ 0 613 0]>>endobj
-338 0 obj<</Subtype/Link/Rect[160.5 602.2 299.2 615.2]/Border[0 0 0]/Dest[1460 0 R/XYZ 0 385 0]>>endobj
-339 0 obj<</Subtype/Link/Rect[160.5 589.0 288.8 602.0]/Border[0 0 0]/Dest[1462 0 R/XYZ 0 129 0]>>endobj
-340 0 obj<</Subtype/Link/Rect[160.5 575.8 280.9 588.8]/Border[0 0 0]/Dest[1464 0 R/XYZ 0 124 0]>>endobj
-341 0 obj<</Subtype/Link/Rect[160.5 562.6 326.4 575.6]/Border[0 0 0]/Dest[1470 0 R/XYZ 0 507 0]>>endobj
-342 0 obj<</Subtype/Link/Rect[160.5 549.4 459.7 562.4]/Border[0 0 0]/Dest[1482 0 R/XYZ 0 718 0]>>endobj
-343 0 obj<</Subtype/Link/Rect[116.2 536.2 485.4 549.2]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 734 0]>>endobj
-344 0 obj<</Subtype/Link/Rect[160.5 523.0 257.0 536.0]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 672 0]>>endobj
-345 0 obj<</Subtype/Link/Rect[160.5 509.8 217.0 522.8]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 597 0]>>endobj
-346 0 obj<</Subtype/Link/Rect[160.5 496.6 396.4 509.6]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 225 0]>>endobj
-347 0 obj<</Subtype/Link/Rect[160.5 483.4 364.3 496.4]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 524 0]>>endobj
-348 0 obj<</Subtype/Link/Rect[160.5 470.2 304.1 483.2]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 383 0]>>endobj
-349 0 obj<</Subtype/Link/Rect[116.2 457.0 266.6 470.0]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 734 0]>>endobj
-350 0 obj<</Subtype/Link/Rect[160.5 443.8 356.7 456.8]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 524 0]>>endobj
-351 0 obj<</Subtype/Link/Rect[160.5 430.6 357.9 443.6]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 417 0]>>endobj
-352 0 obj<</Subtype/Link/Rect[160.5 417.4 233.2 430.4]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 241 0]>>endobj
-353 0 obj<</Subtype/Link/Rect[160.5 404.2 274.2 417.2]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 556 0]>>endobj
-354 0 obj<</Subtype/Link/Rect[160.5 391.0 291.3 404.0]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 240 0]>>endobj
-355 0 obj<</Subtype/Link/Rect[160.5 377.8 260.7 390.8]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 692 0]>>endobj
-356 0 obj<</Subtype/Link/Rect[160.5 364.6 262.3 377.6]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 603 0]>>endobj
-357 0 obj<</Subtype/Link/Rect[160.5 351.4 188.3 364.4]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 528 0]>>endobj
-358 0 obj<</Subtype/Link/Rect[116.2 338.2 265.4 351.2]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 734 0]>>endobj
-359 0 obj<</Subtype/Link/Rect[160.5 325.0 335.3 338.0]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 696 0]>>endobj
-360 0 obj<</Subtype/Link/Rect[160.5 311.8 322.8 324.8]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 362 0]>>endobj
-361 0 obj<</Subtype/Link/Rect[160.5 298.6 345.7 311.6]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 155 0]>>endobj
-362 0 obj<</Subtype/Link/Rect[85.7 285.4 190.2 298.4]/Border[0 0 0]/Dest[1502 0 R/XYZ 0 337 0]>>endobj
-363 0 obj<</Subtype/Link/Rect[121.8 272.2 331.4 285.2]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 734 0]>>endobj
-364 0 obj<</Subtype/Link/Rect[166.0 259.0 202.4 272.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 672 0]>>endobj
-365 0 obj<</Subtype/Link/Rect[166.0 245.8 367.4 258.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 439 0]>>endobj
-366 0 obj<</Subtype/Link/Rect[166.0 232.6 420.2 245.6]/Border[0 0 0]/Dest[1516 0 R/XYZ 0 339 0]>>endobj
-367 0 obj<</Subtype/Link/Rect[166.0 219.4 532.1 232.4]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 670 0]>>endobj
-368 0 obj<</Subtype/Link/Rect[144.0 206.2 173.9 219.2]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 670 0]>>endobj
-369 0 obj<</Subtype/Link/Rect[166.0 193.0 536.9 206.0]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 126 0]>>endobj
-370 0 obj<</Subtype/Link/Rect[166.0 179.8 223.1 192.8]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 263 0]>>endobj
-371 0 obj<</Subtype/Link/Rect[121.8 166.6 394.0 179.6]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 734 0]>>endobj
-372 0 obj<</Subtype/Link/Rect[166.0 153.4 483.2 166.4]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 672 0]>>endobj
-373 0 obj<</Subtype/Link/Rect[166.0 140.2 360.0 153.2]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 497 0]>>endobj
-374 0 obj<</Subtype/Link/Rect[166.0 127.0 270.2 140.0]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 330 0]>>endobj
-375 0 obj<</Subtype/Link/Rect[166.0 113.8 332.5 126.8]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 665 0]>>endobj
-376 0 obj<</Subtype/Link/Rect[166.0 100.6 341.7 113.6]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 692 0]>>endobj
-377 0 obj<</Subtype/Link/Rect[166.0 87.4 438.5 100.4]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 260 0]>>endobj
-378 0 obj<</Subtype/Link/Rect[166.0 74.2 428.8 87.2]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 599 0]>>endobj
-379 0 obj<</Subtype/Link/Rect[121.8 61.0 437.7 74.0]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 734 0]>>endobj
-380 0 obj[329 0 R
+325 0 R]endobj
+327 0 obj<</Subtype/Link/Rect[144.0 721.0 261.3 734.0]/Border[0 0 0]/Dest[1192 0 R/XYZ 0 511 0]>>endobj
+328 0 obj<</Subtype/Link/Rect[82.1 707.8 170.4 720.8]/Border[0 0 0]/Dest[1194 0 R/XYZ 0 681 0]>>endobj
+329 0 obj<</Subtype/Link/Rect[108.0 694.6 367.7 707.6]/Border[0 0 0]/Dest[1200 0 R/XYZ 0 734 0]>>endobj
+330 0 obj<</Subtype/Link/Rect[108.0 681.4 389.4 694.4]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 734 0]>>endobj
+331 0 obj<</Subtype/Link/Rect[144.0 668.2 237.8 681.2]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 672 0]>>endobj
+332 0 obj<</Subtype/Link/Rect[144.0 655.0 197.8 668.0]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 584 0]>>endobj
+333 0 obj<</Subtype/Link/Rect[144.0 641.8 334.1 654.8]/Border[0 0 0]/Dest[1206 0 R/XYZ 0 718 0]>>endobj
+334 0 obj<</Subtype/Link/Rect[144.0 628.6 448.0 641.6]/Border[0 0 0]/Dest[1208 0 R/XYZ 0 613 0]>>endobj
+335 0 obj<</Subtype/Link/Rect[144.0 615.4 280.0 628.4]/Border[0 0 0]/Dest[1212 0 R/XYZ 0 385 0]>>endobj
+336 0 obj<</Subtype/Link/Rect[144.0 602.2 269.6 615.2]/Border[0 0 0]/Dest[1214 0 R/XYZ 0 126 0]>>endobj
+337 0 obj<</Subtype/Link/Rect[144.0 589.0 261.6 602.0]/Border[0 0 0]/Dest[1216 0 R/XYZ 0 124 0]>>endobj
+338 0 obj<</Subtype/Link/Rect[144.0 575.8 307.2 588.8]/Border[0 0 0]/Dest[1222 0 R/XYZ 0 507 0]>>endobj
+339 0 obj<</Subtype/Link/Rect[144.0 562.6 440.4 575.6]/Border[0 0 0]/Dest[1234 0 R/XYZ 0 702 0]>>endobj
+340 0 obj<</Subtype/Link/Rect[108.0 549.4 474.4 562.4]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 734 0]>>endobj
+341 0 obj<</Subtype/Link/Rect[144.0 536.2 237.8 549.2]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 672 0]>>endobj
+342 0 obj<</Subtype/Link/Rect[144.0 523.0 197.8 536.0]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 597 0]>>endobj
+343 0 obj<</Subtype/Link/Rect[144.0 509.8 377.1 522.8]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 223 0]>>endobj
+344 0 obj<</Subtype/Link/Rect[144.0 496.6 345.0 509.6]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 524 0]>>endobj
+345 0 obj<</Subtype/Link/Rect[144.0 483.4 284.9 496.4]/Border[0 0 0]/Dest[1240 0 R/XYZ 0 383 0]>>endobj
+346 0 obj<</Subtype/Link/Rect[108.0 470.2 255.6 483.2]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 734 0]>>endobj
+347 0 obj<</Subtype/Link/Rect[144.0 457.0 337.4 470.0]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 551 0]>>endobj
+348 0 obj<</Subtype/Link/Rect[144.0 443.8 338.6 456.8]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 444 0]>>endobj
+349 0 obj<</Subtype/Link/Rect[144.0 430.6 214.0 443.6]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 267 0]>>endobj
+350 0 obj<</Subtype/Link/Rect[144.0 417.4 254.9 430.4]/Border[0 0 0]/Dest[1246 0 R/XYZ 0 564 0]>>endobj
+351 0 obj<</Subtype/Link/Rect[144.0 404.2 272.0 417.2]/Border[0 0 0]/Dest[1246 0 R/XYZ 0 245 0]>>endobj
+352 0 obj<</Subtype/Link/Rect[144.0 391.0 241.5 404.0]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 692 0]>>endobj
+353 0 obj<</Subtype/Link/Rect[144.0 377.8 243.0 390.8]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 603 0]>>endobj
+354 0 obj<</Subtype/Link/Rect[144.0 364.6 169.1 377.6]/Border[0 0 0]/Dest[1248 0 R/XYZ 0 528 0]>>endobj
+355 0 obj<</Subtype/Link/Rect[108.0 351.4 254.4 364.4]/Border[0 0 0]/Dest[1250 0 R/XYZ 0 734 0]>>endobj
+356 0 obj<</Subtype/Link/Rect[144.0 338.2 316.0 351.2]/Border[0 0 0]/Dest[1250 0 R/XYZ 0 696 0]>>endobj
+357 0 obj<</Subtype/Link/Rect[144.0 325.0 303.5 338.0]/Border[0 0 0]/Dest[1252 0 R/XYZ 0 362 0]>>endobj
+358 0 obj<</Subtype/Link/Rect[144.0 311.8 326.5 324.8]/Border[0 0 0]/Dest[1252 0 R/XYZ 0 155 0]>>endobj
+359 0 obj<</Subtype/Link/Rect[85.7 298.6 190.2 311.6]/Border[0 0 0]/Dest[1254 0 R/XYZ 0 337 0]>>endobj
+360 0 obj<</Subtype/Link/Rect[108.0 285.4 314.9 298.4]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 734 0]>>endobj
+361 0 obj<</Subtype/Link/Rect[144.0 272.2 177.6 285.2]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 696 0]>>endobj
+362 0 obj<</Subtype/Link/Rect[144.0 259.0 342.6 272.0]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 463 0]>>endobj
+363 0 obj<</Subtype/Link/Rect[144.0 245.8 395.5 258.8]/Border[0 0 0]/Dest[1264 0 R/XYZ 0 347 0]>>endobj
+364 0 obj<</Subtype/Link/Rect[144.0 232.6 540.0 245.6]/Border[0 0 0]/Dest[1272 0 R/XYZ 0 667 0]>>endobj
+365 0 obj<</Subtype/Link/Rect[144.0 219.4 512.2 232.4]/Border[0 0 0]/Dest[1274 0 R/XYZ 0 734 0]>>endobj
+366 0 obj<</Subtype/Link/Rect[144.0 206.2 198.4 219.2]/Border[0 0 0]/Dest[1278 0 R/XYZ 0 172 0]>>endobj
+367 0 obj<</Subtype/Link/Rect[108.0 193.0 377.5 206.0]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 734 0]>>endobj
+368 0 obj<</Subtype/Link/Rect[144.0 179.8 458.4 192.8]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 672 0]>>endobj
+369 0 obj<</Subtype/Link/Rect[144.0 166.6 335.3 179.6]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 497 0]>>endobj
+370 0 obj<</Subtype/Link/Rect[144.0 153.4 245.5 166.4]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 330 0]>>endobj
+371 0 obj<</Subtype/Link/Rect[144.0 140.2 307.8 153.2]/Border[0 0 0]/Dest[1284 0 R/XYZ 0 665 0]>>endobj
+372 0 obj<</Subtype/Link/Rect[144.0 127.0 316.9 140.0]/Border[0 0 0]/Dest[1286 0 R/XYZ 0 692 0]>>endobj
+373 0 obj<</Subtype/Link/Rect[144.0 113.8 413.8 126.8]/Border[0 0 0]/Dest[1286 0 R/XYZ 0 260 0]>>endobj
+374 0 obj<</Subtype/Link/Rect[144.0 100.6 404.0 113.6]/Border[0 0 0]/Dest[1290 0 R/XYZ 0 599 0]>>endobj
+375 0 obj<</Subtype/Link/Rect[108.0 87.4 421.2 100.4]/Border[0 0 0]/Dest[1292 0 R/XYZ 0 734 0]>>endobj
+376 0 obj<</Subtype/Link/Rect[144.0 74.2 218.5 87.2]/Border[0 0 0]/Dest[1292 0 R/XYZ 0 672 0]>>endobj
+377 0 obj<</Subtype/Link/Rect[144.0 61.0 261.6 74.0]/Border[0 0 0]/Dest[1294 0 R/XYZ 0 127 0]>>endobj
+378 0 obj[327 0 R
+328 0 R
+329 0 R
 330 0 R
 331 0 R
 332 0 R
 374 0 R
 375 0 R
 376 0 R
-377 0 R
-378 0 R
-379 0 R]endobj
-381 0 obj<</Subtype/Link/Rect[166.0 721.0 243.3 734.0]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 672 0]>>endobj
-382 0 obj<</Subtype/Link/Rect[166.0 707.8 286.4 720.8]/Border[0 0 0]/Dest[1544 0 R/XYZ 0 148 0]>>endobj
-383 0 obj<</Subtype/Link/Rect[166.0 694.6 309.9 707.6]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 705 0]>>endobj
-384 0 obj<</Subtype/Link/Rect[121.8 681.4 386.0 694.4]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 734 0]>>endobj
-385 0 obj<</Subtype/Link/Rect[166.0 668.2 221.3 681.2]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 672 0]>>endobj
-386 0 obj<</Subtype/Link/Rect[121.8 655.0 198.8 668.0]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 734 0]>>endobj
-387 0 obj<</Subtype/Link/Rect[166.0 641.8 223.8 654.8]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 696 0]>>endobj
-388 0 obj<</Subtype/Link/Rect[166.0 628.6 231.1 641.6]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 317 0]>>endobj
-389 0 obj<</Subtype/Link/Rect[166.0 615.4 260.4 628.4]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 734 0]>>endobj
-390 0 obj<</Subtype/Link/Rect[166.0 602.2 213.4 615.2]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 440 0]>>endobj
-391 0 obj<</Subtype/Link/Rect[121.8 589.0 188.3 602.0]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 734 0]>>endobj
-392 0 obj<</Subtype/Link/Rect[166.0 575.8 223.8 588.8]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 696 0]>>endobj
-393 0 obj<</Subtype/Link/Rect[166.0 562.6 364.0 575.6]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 467 0]>>endobj
-394 0 obj<</Subtype/Link/Rect[121.8 549.4 405.0 562.4]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 734 0]>>endobj
-395 0 obj<</Subtype/Link/Rect[166.0 536.2 206.0 549.2]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 672 0]>>endobj
-396 0 obj<</Subtype/Link/Rect[166.0 523.0 223.8 536.0]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 544 0]>>endobj
-397 0 obj<</Subtype/Link/Rect[166.0 509.8 273.9 522.8]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 231 0]>>endobj
-398 0 obj<</Subtype/Link/Rect[166.0 496.6 260.4 509.6]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 409 0]>>endobj
-399 0 obj<</Subtype/Link/Rect[166.0 483.4 303.8 496.4]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 351 0]>>endobj
-400 0 obj<</Subtype/Link/Rect[166.0 470.2 218.9 483.2]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 296 0]>>endobj
-401 0 obj<</Subtype/Link/Rect[166.0 457.0 218.9 470.0]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 734 0]>>endobj
-402 0 obj<</Subtype/Link/Rect[121.8 443.8 223.5 456.8]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 734 0]>>endobj
-403 0 obj<</Subtype/Link/Rect[166.0 430.6 206.6 443.6]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 696 0]>>endobj
-404 0 obj<</Subtype/Link/Rect[166.0 417.4 222.5 430.4]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 595 0]>>endobj
-405 0 obj<</Subtype/Link/Rect[166.0 404.2 389.1 417.2]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 568 0]>>endobj
-406 0 obj<</Subtype/Link/Rect[166.0 391.0 347.6 404.0]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 414 0]>>endobj
-407 0 obj<</Subtype/Link/Rect[121.8 377.8 211.9 390.8]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 734 0]>>endobj
-408 0 obj<</Subtype/Link/Rect[166.0 364.6 206.6 377.6]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 696 0]>>endobj
-409 0 obj<</Subtype/Link/Rect[166.0 351.4 196.9 364.4]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 608 0]>>endobj
-410 0 obj<</Subtype/Link/Rect[121.8 338.2 456.2 351.2]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 734 0]>>endobj
-411 0 obj<</Subtype/Link/Rect[166.0 325.0 205.4 338.0]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 672 0]>>endobj
-412 0 obj<</Subtype/Link/Rect[166.0 311.8 223.8 324.8]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 412 0]>>endobj
-413 0 obj<</Subtype/Link/Rect[166.0 298.6 280.0 311.6]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 573 0]>>endobj
-414 0 obj<</Subtype/Link/Rect[166.0 285.4 418.4 298.4]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 471 0]>>endobj
-415 0 obj<</Subtype/Link/Rect[166.0 272.2 307.2 285.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-416 0 obj<</Subtype/Link/Rect[166.0 259.0 323.0 272.0]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 243 0]>>endobj
-417 0 obj<</Subtype/Link/Rect[166.0 245.8 291.6 258.8]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 718 0]>>endobj
-418 0 obj<</Subtype/Link/Rect[166.0 232.6 366.8 245.6]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 336 0]>>endobj
-419 0 obj<</Subtype/Link/Rect[166.0 219.4 360.3 232.4]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 322 0]>>endobj
-420 0 obj<</Subtype/Link/Rect[171.5 206.2 220.7 219.2]/Border[0 0 0]/Dest[1622 0 R/XYZ 0 492 0]>>endobj
-421 0 obj<</Subtype/Link/Rect[121.8 193.0 323.1 206.0]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-422 0 obj<</Subtype/Link/Rect[166.0 179.8 223.8 192.8]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 672 0]>>endobj
-423 0 obj<</Subtype/Link/Rect[166.0 166.6 281.8 179.6]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 557 0]>>endobj
-424 0 obj<</Subtype/Link/Rect[121.8 153.4 236.3 166.4]/Border[0 0 0]/Dest[1628 0 R/XYZ 0 734 0]>>endobj
-425 0 obj<</Subtype/Link/Rect[121.8 140.2 242.4 153.2]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 734 0]>>endobj
-426 0 obj<</Subtype/Link/Rect[166.0 127.0 227.4 140.0]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 696 0]>>endobj
-427 0 obj<</Subtype/Link/Rect[166.0 113.8 204.8 126.8]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 449 0]>>endobj
-428 0 obj<</Subtype/Link/Rect[166.0 100.6 232.6 113.6]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 515 0]>>endobj
-429 0 obj<</Subtype/Link/Rect[166.0 87.4 210.6 100.4]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 255 0]>>endobj
-430 0 obj<</Subtype/Link/Rect[166.0 74.2 210.0 87.2]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 718 0]>>endobj
-431 0 obj<</Subtype/Link/Rect[166.0 61.0 204.2 74.0]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 537 0]>>endobj
-432 0 obj[381 0 R
+377 0 R]endobj
+379 0 obj<</Subtype/Link/Rect[144.0 721.0 285.2 734.0]/Border[0 0 0]/Dest[1296 0 R/XYZ 0 679 0]>>endobj
+380 0 obj<</Subtype/Link/Rect[108.0 707.8 369.5 720.8]/Border[0 0 0]/Dest[1298 0 R/XYZ 0 734 0]>>endobj
+381 0 obj<</Subtype/Link/Rect[144.0 694.6 196.6 707.6]/Border[0 0 0]/Dest[1298 0 R/XYZ 0 672 0]>>endobj
+382 0 obj<</Subtype/Link/Rect[108.0 681.4 182.3 694.4]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 734 0]>>endobj
+383 0 obj<</Subtype/Link/Rect[144.0 668.2 199.0 681.2]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 696 0]>>endobj
+384 0 obj<</Subtype/Link/Rect[144.0 655.0 206.3 668.0]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 317 0]>>endobj
+385 0 obj<</Subtype/Link/Rect[144.0 641.8 235.7 654.8]/Border[0 0 0]/Dest[1312 0 R/XYZ 0 734 0]>>endobj
+386 0 obj<</Subtype/Link/Rect[144.0 628.6 188.6 641.6]/Border[0 0 0]/Dest[1314 0 R/XYZ 0 426 0]>>endobj
+387 0 obj<</Subtype/Link/Rect[108.0 615.4 388.5 628.4]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 734 0]>>endobj
+388 0 obj<</Subtype/Link/Rect[144.0 602.2 181.3 615.2]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 672 0]>>endobj
+389 0 obj<</Subtype/Link/Rect[144.0 589.0 199.0 602.0]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 544 0]>>endobj
+390 0 obj<</Subtype/Link/Rect[144.0 575.8 249.1 588.8]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 231 0]>>endobj
+391 0 obj<</Subtype/Link/Rect[144.0 562.6 235.7 575.6]/Border[0 0 0]/Dest[1326 0 R/XYZ 0 409 0]>>endobj
+392 0 obj<</Subtype/Link/Rect[144.0 549.4 279.1 562.4]/Border[0 0 0]/Dest[1330 0 R/XYZ 0 351 0]>>endobj
+393 0 obj<</Subtype/Link/Rect[144.0 536.2 194.1 549.2]/Border[0 0 0]/Dest[1346 0 R/XYZ 0 217 0]>>endobj
+394 0 obj<</Subtype/Link/Rect[144.0 523.0 194.1 536.0]/Border[0 0 0]/Dest[1348 0 R/XYZ 0 679 0]>>endobj
+395 0 obj<</Subtype/Link/Rect[108.0 509.8 207.0 522.8]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 734 0]>>endobj
+396 0 obj<</Subtype/Link/Rect[144.0 496.6 181.9 509.6]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 696 0]>>endobj
+397 0 obj<</Subtype/Link/Rect[144.0 483.4 197.8 496.4]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 595 0]>>endobj
+398 0 obj<</Subtype/Link/Rect[144.0 470.2 364.3 483.2]/Border[0 0 0]/Dest[1352 0 R/XYZ 0 511 0]>>endobj
+399 0 obj<</Subtype/Link/Rect[144.0 457.0 322.8 470.0]/Border[0 0 0]/Dest[1352 0 R/XYZ 0 357 0]>>endobj
+400 0 obj<</Subtype/Link/Rect[108.0 443.8 195.4 456.8]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 734 0]>>endobj
+401 0 obj<</Subtype/Link/Rect[144.0 430.6 181.9 443.6]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 696 0]>>endobj
+402 0 obj<</Subtype/Link/Rect[144.0 417.4 172.1 430.4]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 608 0]>>endobj
+403 0 obj<</Subtype/Link/Rect[108.0 404.2 211.9 417.2]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 734 0]>>endobj
+404 0 obj<</Subtype/Link/Rect[144.0 391.0 280.9 404.0]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 696 0]>>endobj
+405 0 obj<</Subtype/Link/Rect[144.0 377.8 221.9 390.8]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 382 0]>>endobj
+406 0 obj<</Subtype/Link/Rect[144.0 364.6 292.8 377.6]/Border[0 0 0]/Dest[1358 0 R/XYZ 0 430 0]>>endobj
+407 0 obj<</Subtype/Link/Rect[108.0 351.4 439.7 364.4]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 734 0]>>endobj
+408 0 obj<</Subtype/Link/Rect[144.0 338.2 180.7 351.2]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 672 0]>>endobj
+409 0 obj<</Subtype/Link/Rect[144.0 325.0 199.0 338.0]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 412 0]>>endobj
+410 0 obj<</Subtype/Link/Rect[144.0 311.8 255.2 324.8]/Border[0 0 0]/Dest[1364 0 R/XYZ 0 573 0]>>endobj
+411 0 obj<</Subtype/Link/Rect[144.0 298.6 393.6 311.6]/Border[0 0 0]/Dest[1364 0 R/XYZ 0 471 0]>>endobj
+412 0 obj<</Subtype/Link/Rect[144.0 285.4 282.4 298.4]/Border[0 0 0]/Dest[1366 0 R/XYZ 0 734 0]>>endobj
+413 0 obj<</Subtype/Link/Rect[144.0 272.2 298.3 285.2]/Border[0 0 0]/Dest[1368 0 R/XYZ 0 227 0]>>endobj
+414 0 obj<</Subtype/Link/Rect[144.0 259.0 266.8 272.0]/Border[0 0 0]/Dest[1370 0 R/XYZ 0 705 0]>>endobj
+415 0 obj<</Subtype/Link/Rect[144.0 245.8 342.0 258.8]/Border[0 0 0]/Dest[1370 0 R/XYZ 0 320 0]>>endobj
+416 0 obj<</Subtype/Link/Rect[144.0 232.6 335.6 245.6]/Border[0 0 0]/Dest[1372 0 R/XYZ 0 309 0]>>endobj
+417 0 obj<</Subtype/Link/Rect[144.0 219.4 190.4 232.4]/Border[0 0 0]/Dest[1374 0 R/XYZ 0 478 0]>>endobj
+418 0 obj<</Subtype/Link/Rect[108.0 206.2 306.6 219.2]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 734 0]>>endobj
+419 0 obj<</Subtype/Link/Rect[144.0 193.0 199.0 206.0]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 696 0]>>endobj
+420 0 obj<</Subtype/Link/Rect[144.0 179.8 257.0 192.8]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 581 0]>>endobj
+421 0 obj<</Subtype/Link/Rect[108.0 166.6 219.8 179.6]/Border[0 0 0]/Dest[1380 0 R/XYZ 0 734 0]>>endobj
+422 0 obj<</Subtype/Link/Rect[108.0 153.4 225.9 166.4]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 734 0]>>endobj
+423 0 obj<</Subtype/Link/Rect[144.0 140.2 202.7 153.2]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 696 0]>>endobj
+424 0 obj<</Subtype/Link/Rect[144.0 127.0 207.9 140.0]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 449 0]>>endobj
+425 0 obj<</Subtype/Link/Rect[144.0 113.8 185.9 126.8]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 189 0]>>endobj
+426 0 obj<</Subtype/Link/Rect[144.0 100.6 185.2 113.6]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 639 0]>>endobj
+427 0 obj<</Subtype/Link/Rect[144.0 87.4 184.6 100.4]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 458 0]>>endobj
+428 0 obj<</Subtype/Link/Rect[144.0 74.2 186.5 87.2]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 383 0]>>endobj
+429 0 obj<</Subtype/Link/Rect[144.0 61.0 188.3 74.0]/Border[0 0 0]/Dest[1384 0 R/XYZ 0 215 0]>>endobj
+430 0 obj[379 0 R
+380 0 R
+381 0 R
 382 0 R
 383 0 R
 384 0 R
 426 0 R
 427 0 R
 428 0 R
-429 0 R
-430 0 R
-431 0 R]endobj
-433 0 obj<</Subtype/Link/Rect[166.0 721.0 225.3 734.0]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 409 0]>>endobj
-434 0 obj<</Subtype/Link/Rect[166.0 707.8 209.4 720.8]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 189 0]>>endobj
-435 0 obj<</Subtype/Link/Rect[166.0 694.6 214.9 707.6]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 734 0]>>endobj
-436 0 obj<</Subtype/Link/Rect[171.5 681.4 216.7 694.4]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 645 0]>>endobj
-437 0 obj<</Subtype/Link/Rect[171.5 668.2 218.6 681.2]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 477 0]>>endobj
-438 0 obj<</Subtype/Link/Rect[171.5 655.0 244.8 668.0]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 349 0]>>endobj
-439 0 obj<</Subtype/Link/Rect[171.5 641.8 252.2 654.8]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 129 0]>>endobj
-440 0 obj<</Subtype/Link/Rect[171.5 628.6 229.6 641.6]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 639 0]>>endobj
-441 0 obj<</Subtype/Link/Rect[171.5 615.4 228.3 628.4]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 511 0]>>endobj
-442 0 obj<</Subtype/Link/Rect[171.5 602.2 232.0 615.2]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 436 0]>>endobj
-443 0 obj<</Subtype/Link/Rect[171.5 589.0 222.8 602.0]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 388 0]>>endobj
-444 0 obj<</Subtype/Link/Rect[85.1 575.8 138.6 588.8]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 170 0]>>endobj
-445 0 obj<</Subtype/Link/Rect[121.8 562.6 172.2 575.6]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 734 0]>>endobj
-446 0 obj<</Subtype/Link/Rect[166.0 549.4 198.1 562.4]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 655 0]>>endobj
-447 0 obj<</Subtype/Link/Rect[166.0 536.2 213.7 549.2]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 408 0]>>endobj
-448 0 obj<</Subtype/Link/Rect[166.0 523.0 194.4 536.0]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 293 0]>>endobj
-449 0 obj<</Subtype/Link/Rect[166.0 509.8 296.5 522.8]/Border[0 0 0]/Dest[1646 0 R/XYZ 0 228 0]>>endobj
-450 0 obj<</Subtype/Link/Rect[121.8 496.6 257.1 509.6]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 734 0]>>endobj
-451 0 obj<</Subtype/Link/Rect[166.0 483.4 252.2 496.4]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 668 0]>>endobj
-452 0 obj<</Subtype/Link/Rect[166.0 470.2 217.3 483.2]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 461 0]>>endobj
-453 0 obj<</Subtype/Link/Rect[166.0 457.0 281.8 470.0]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 151 0]>>endobj
-454 0 obj<</Subtype/Link/Rect[166.0 443.8 241.6 456.8]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 292 0]>>endobj
-455 0 obj<</Subtype/Link/Rect[166.0 430.6 301.9 443.6]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 718 0]>>endobj
-456 0 obj<</Subtype/Link/Rect[121.8 417.4 193.2 430.4]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 734 0]>>endobj
-457 0 obj<</Subtype/Link/Rect[166.0 404.2 223.8 417.2]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 696 0]>>endobj
-458 0 obj<</Subtype/Link/Rect[166.0 391.0 224.7 404.0]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 423 0]>>endobj
-459 0 obj<</Subtype/Link/Rect[166.0 377.8 225.9 390.8]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 282 0]>>endobj
-460 0 obj<</Subtype/Link/Rect[166.0 364.6 234.4 377.6]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 613 0]>>endobj
-461 0 obj<</Subtype/Link/Rect[166.0 351.4 305.0 364.4]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 260 0]>>endobj
-462 0 obj<</Subtype/Link/Rect[166.0 338.2 203.6 351.2]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 159 0]>>endobj
-463 0 obj<</Subtype/Link/Rect[121.8 325.0 260.5 338.0]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 734 0]>>endobj
-464 0 obj<</Subtype/Link/Rect[166.0 311.8 223.8 324.8]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 696 0]>>endobj
-465 0 obj<</Subtype/Link/Rect[166.0 298.6 224.4 311.6]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 529 0]>>endobj
-466 0 obj<</Subtype/Link/Rect[166.0 285.4 191.4 298.4]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 199 0]>>endobj
-467 0 obj<</Subtype/Link/Rect[166.0 272.2 263.5 285.2]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 239 0]>>endobj
-468 0 obj[433 0 R
+429 0 R]endobj
+431 0 obj<</Subtype/Link/Rect[144.0 721.0 199.3 734.0]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 734 0]>>endobj
+432 0 obj<</Subtype/Link/Rect[144.0 707.8 198.1 720.8]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 605 0]>>endobj
+433 0 obj<</Subtype/Link/Rect[144.0 694.6 201.8 707.6]/Border[0 0 0]/Dest[1386 0 R/XYZ 0 530 0]>>endobj
+434 0 obj<</Subtype/Link/Rect[85.1 681.4 138.6 694.4]/Border[0 0 0]/Dest[1388 0 R/XYZ 0 450 0]>>endobj
+435 0 obj<</Subtype/Link/Rect[108.0 668.2 155.7 681.2]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 734 0]>>endobj
+436 0 obj<</Subtype/Link/Rect[144.0 655.0 173.3 668.0]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 655 0]>>endobj
+437 0 obj<</Subtype/Link/Rect[144.0 641.8 188.9 654.8]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 408 0]>>endobj
+438 0 obj<</Subtype/Link/Rect[144.0 628.6 169.7 641.6]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 293 0]>>endobj
+439 0 obj<</Subtype/Link/Rect[144.0 615.4 271.8 628.4]/Border[0 0 0]/Dest[1394 0 R/XYZ 0 216 0]>>endobj
+440 0 obj<</Subtype/Link/Rect[108.0 602.2 240.6 615.2]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 734 0]>>endobj
+441 0 obj<</Subtype/Link/Rect[144.0 589.0 227.4 602.0]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 668 0]>>endobj
+442 0 obj<</Subtype/Link/Rect[144.0 575.8 192.6 588.8]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 461 0]>>endobj
+443 0 obj<</Subtype/Link/Rect[144.0 562.6 257.1 575.6]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 165 0]>>endobj
+444 0 obj<</Subtype/Link/Rect[144.0 549.4 216.9 562.4]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 319 0]>>endobj
+445 0 obj<</Subtype/Link/Rect[144.0 536.2 277.2 549.2]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 734 0]>>endobj
+446 0 obj<</Subtype/Link/Rect[108.0 523.0 176.8 536.0]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 734 0]>>endobj
+447 0 obj<</Subtype/Link/Rect[144.0 509.8 199.0 522.8]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 696 0]>>endobj
+448 0 obj<</Subtype/Link/Rect[144.0 496.6 199.9 509.6]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 423 0]>>endobj
+449 0 obj<</Subtype/Link/Rect[144.0 483.4 201.1 496.4]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 282 0]>>endobj
+450 0 obj<</Subtype/Link/Rect[144.0 470.2 209.7 483.2]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 613 0]>>endobj
+451 0 obj<</Subtype/Link/Rect[144.0 457.0 280.3 470.0]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 260 0]>>endobj
+452 0 obj<</Subtype/Link/Rect[144.0 443.8 178.8 456.8]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 159 0]>>endobj
+453 0 obj<</Subtype/Link/Rect[108.0 430.6 244.0 443.6]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
+454 0 obj<</Subtype/Link/Rect[144.0 417.4 199.0 430.4]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 696 0]>>endobj
+455 0 obj<</Subtype/Link/Rect[144.0 404.2 199.6 417.2]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 529 0]>>endobj
+456 0 obj<</Subtype/Link/Rect[144.0 391.0 166.6 404.0]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 196 0]>>endobj
+457 0 obj<</Subtype/Link/Rect[144.0 377.8 238.7 390.8]/Border[0 0 0]/Dest[1418 0 R/XYZ 0 239 0]>>endobj
+458 0 obj[431 0 R
+432 0 R
+433 0 R
 434 0 R
 435 0 R
 436 0 R
 454 0 R
 455 0 R
 456 0 R
-457 0 R
-458 0 R
-459 0 R
+457 0 R]endobj
+459 0 obj<</Subtype/Link/Rect[72.0 631.0 212.9 644.0]/Border[0 0 0]/Dest[1150 0 R/XYZ 0 734 0]>>endobj
+460 0 obj<</Subtype/Link/Rect[72.0 617.8 200.6 630.8]/Border[0 0 0]/Dest[1164 0 R/XYZ 0 734 0]>>endobj
+461 0 obj<</Subtype/Link/Rect[72.0 604.6 363.5 617.6]/Border[0 0 0]/Dest[1182 0 R/XYZ 0 734 0]>>endobj
+462 0 obj<</Subtype/Link/Rect[72.0 591.4 286.5 604.4]/Border[0 0 0]/Dest[1190 0 R/XYZ 0 734 0]>>endobj
+463 0 obj[459 0 R
 460 0 R
 461 0 R
-462 0 R
-463 0 R
-464 0 R
-465 0 R
-466 0 R
-467 0 R]endobj
-469 0 obj<</Subtype/Link/Rect[80.2 631.0 223.9 644.0]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 734 0]>>endobj
-470 0 obj<</Subtype/Link/Rect[124.5 617.8 216.2 630.8]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 696 0]>>endobj
-471 0 obj<</Subtype/Link/Rect[124.5 604.6 221.4 617.6]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 568 0]>>endobj
-472 0 obj<</Subtype/Link/Rect[124.5 591.4 224.7 604.4]/Border[0 0 0]/Dest[1400 0 R/XYZ 0 163 0]>>endobj
-473 0 obj<</Subtype/Link/Rect[124.5 578.2 276.1 591.2]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 734 0]>>endobj
-474 0 obj<</Subtype/Link/Rect[124.5 565.0 279.1 578.0]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 385 0]>>endobj
-475 0 obj<</Subtype/Link/Rect[124.5 551.8 251.3 564.8]/Border[0 0 0]/Dest[1402 0 R/XYZ 0 257 0]>>endobj
-476 0 obj<</Subtype/Link/Rect[168.8 538.6 276.9 551.6]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 734 0]>>endobj
-477 0 obj<</Subtype/Link/Rect[168.8 525.4 328.2 538.4]/Border[0 0 0]/Dest[1404 0 R/XYZ 0 247 0]>>endobj
-478 0 obj<</Subtype/Link/Rect[124.5 512.2 331.0 525.2]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 665 0]>>endobj
-479 0 obj<</Subtype/Link/Rect[124.5 499.0 280.3 512.0]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 498 0]>>endobj
-480 0 obj<</Subtype/Link/Rect[124.5 485.8 467.0 498.8]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 330 0]>>endobj
-481 0 obj<</Subtype/Link/Rect[130.0 472.6 257.3 485.6]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 734 0]>>endobj
-482 0 obj<</Subtype/Link/Rect[174.2 459.4 273.2 472.4]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 553 0]>>endobj
-483 0 obj<</Subtype/Link/Rect[174.2 446.2 221.9 459.2]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 494 0]>>endobj
-484 0 obj<</Subtype/Link/Rect[174.2 433.0 303.2 446.0]/Border[0 0 0]/Dest[1408 0 R/XYZ 0 409 0]>>endobj
-485 0 obj<</Subtype/Link/Rect[174.2 419.8 331.6 432.8]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
-486 0 obj<</Subtype/Link/Rect[174.2 406.6 212.4 419.6]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 583 0]>>endobj
-487 0 obj<</Subtype/Link/Rect[174.2 393.4 269.0 406.4]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 128 0]>>endobj
-488 0 obj<</Subtype/Link/Rect[80.2 380.2 211.6 393.2]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 734 0]>>endobj
-489 0 obj<</Subtype/Link/Rect[124.5 367.0 224.4 380.0]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 696 0]>>endobj
-490 0 obj<</Subtype/Link/Rect[124.5 353.8 248.6 366.8]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 515 0]>>endobj
-491 0 obj<</Subtype/Link/Rect[124.5 340.6 212.5 353.6]/Border[0 0 0]/Dest[1414 0 R/XYZ 0 137 0]>>endobj
-492 0 obj<</Subtype/Link/Rect[124.5 327.4 236.6 340.4]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 533 0]>>endobj
-493 0 obj<</Subtype/Link/Rect[168.8 314.2 349.3 327.2]/Border[0 0 0]/Dest[1416 0 R/XYZ 0 273 0]>>endobj
-494 0 obj<</Subtype/Link/Rect[124.5 301.0 238.5 314.0]/Border[0 0 0]/Dest[1422 0 R/XYZ 0 560 0]>>endobj
-495 0 obj<</Subtype/Link/Rect[124.5 287.8 307.2 300.8]/Border[0 0 0]/Dest[1424 0 R/XYZ 0 613 0]>>endobj
-496 0 obj<</Subtype/Link/Rect[124.5 274.6 281.6 287.6]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 622 0]>>endobj
-497 0 obj<</Subtype/Link/Rect[124.5 261.4 267.5 274.4]/Border[0 0 0]/Dest[1426 0 R/XYZ 0 266 0]>>endobj
-498 0 obj<</Subtype/Link/Rect[124.5 248.2 277.0 261.2]/Border[0 0 0]/Dest[1428 0 R/XYZ 0 520 0]>>endobj
-499 0 obj<</Subtype/Link/Rect[130.0 235.0 274.2 248.0]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 734 0]>>endobj
-500 0 obj<</Subtype/Link/Rect[130.0 221.8 216.2 234.8]/Border[0 0 0]/Dest[1430 0 R/XYZ 0 645 0]>>endobj
-501 0 obj<</Subtype/Link/Rect[80.2 208.6 119.0 221.6]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 734 0]>>endobj
-502 0 obj<</Subtype/Link/Rect[124.5 195.4 209.7 208.4]/Border[0 0 0]/Dest[1432 0 R/XYZ 0 696 0]>>endobj
-503 0 obj<</Subtype/Link/Rect[80.2 182.2 374.5 195.2]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 734 0]>>endobj
-504 0 obj<</Subtype/Link/Rect[124.5 169.0 175.5 182.0]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 604 0]>>endobj
-505 0 obj<</Subtype/Link/Rect[124.5 155.8 312.1 168.8]/Border[0 0 0]/Dest[1434 0 R/XYZ 0 159 0]>>endobj
-506 0 obj<</Subtype/Link/Rect[124.5 142.6 324.7 155.6]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 483 0]>>endobj
-507 0 obj<</Subtype/Link/Rect[124.5 129.4 184.1 142.4]/Border[0 0 0]/Dest[1436 0 R/XYZ 0 305 0]>>endobj
-508 0 obj<</Subtype/Link/Rect[124.5 116.2 422.7 129.2]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 467 0]>>endobj
-509 0 obj<</Subtype/Link/Rect[124.5 103.0 232.4 116.0]/Border[0 0 0]/Dest[1438 0 R/XYZ 0 187 0]>>endobj
-510 0 obj<</Subtype/Link/Rect[80.2 89.8 297.5 102.8]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 734 0]>>endobj
-511 0 obj<</Subtype/Link/Rect[124.5 76.6 182.2 89.6]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 672 0]>>endobj
-512 0 obj<</Subtype/Link/Rect[124.5 63.4 266.9 76.4]/Border[0 0 0]/Dest[1442 0 R/XYZ 0 531 0]>>endobj
-513 0 obj[469 0 R
-470 0 R
+462 0 R]endobj
+464 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
+465 0 obj<</Subtype/Link/Rect[367.1 584.2 468.3 597.2]/Border[0 0 0]/A 464 0 R>>endobj
+466 0 obj[465 0 R]endobj
+467 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
+468 0 obj<</Subtype/Link/Rect[280.4 510.2 327.1 523.2]/Border[0 0 0]/A 467 0 R>>endobj
+469 0 obj[468 0 R]endobj
+470 0 obj<</Subtype/Link/Rect[72.0 631.0 331.7 644.0]/Border[0 0 0]/Dest[1200 0 R/XYZ 0 734 0]>>endobj
+471 0 obj<</Subtype/Link/Rect[72.0 617.8 353.4 630.8]/Border[0 0 0]/Dest[1204 0 R/XYZ 0 734 0]>>endobj
+472 0 obj<</Subtype/Link/Rect[72.0 604.6 438.4 617.6]/Border[0 0 0]/Dest[1238 0 R/XYZ 0 734 0]>>endobj
+473 0 obj<</Subtype/Link/Rect[72.0 591.4 219.6 604.4]/Border[0 0 0]/Dest[1244 0 R/XYZ 0 734 0]>>endobj
+474 0 obj<</Subtype/Link/Rect[72.0 578.2 218.4 591.2]/Border[0 0 0]/Dest[1250 0 R/XYZ 0 734 0]>>endobj
+475 0 obj[470 0 R
 471 0 R
 472 0 R
 473 0 R
-474 0 R
-475 0 R
-476 0 R
-477 0 R
-478 0 R
+474 0 R]endobj
+476 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+477 0 obj<</Subtype/Link/Rect[153.2 599.8 225.8 612.8]/Border[0 0 0]/A 476 0 R>>endobj
+478 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+479 0 obj<</Subtype/Link/Rect[303.1 599.8 389.9 612.8]/Border[0 0 0]/A 478 0 R>>endobj
+480 0 obj<</S/Launch/F(UNIX_INSTALL.html)>>endobj
+481 0 obj<</Subtype/Link/Rect[333.5 442.5 438.0 455.5]/Border[0 0 0]/A 480 0 R>>endobj
+482 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+483 0 obj<</Subtype/Link/Rect[440.4 429.3 541.8 442.3]/Border[0 0 0]/A 482 0 R>>endobj
+484 0 obj[477 0 R
 479 0 R
-480 0 R
 481 0 R
-482 0 R
-483 0 R
-484 0 R
-485 0 R
-486 0 R
-487 0 R
+483 0 R]endobj
+485 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+486 0 obj<</Subtype/Link/Rect[465.5 659.0 546.8 672.0]/Border[0 0 0]/A 485 0 R>>endobj
+487 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+488 0 obj<</Subtype/Link/Rect[72.0 645.8 92.8 658.8]/Border[0 0 0]/A 487 0 R>>endobj
+489 0 obj<</S/Launch/F(#NETBIOSNAME)>>endobj
+490 0 obj<</Subtype/Link/Rect[95.0 572.0 159.8 583.0]/Border[0 0 0]/A 489 0 R>>endobj
+491 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
+492 0 obj<</Subtype/Link/Rect[95.0 561.2 143.6 572.2]/Border[0 0 0]/A 491 0 R>>endobj
+493 0 obj<</S/Launch/F(#OSLEVEL)>>endobj
+494 0 obj<</Subtype/Link/Rect[95.0 528.8 138.2 539.8]/Border[0 0 0]/A 493 0 R>>endobj
+495 0 obj<</S/Launch/F(#PERFERREDMASTER)>>endobj
+496 0 obj<</Subtype/Link/Rect[95.0 518.0 181.4 529.0]/Border[0 0 0]/A 495 0 R>>endobj
+497 0 obj<</S/Launch/F(#DOMAINMASTER)>>endobj
+498 0 obj<</Subtype/Link/Rect[95.0 507.2 165.2 518.2]/Border[0 0 0]/A 497 0 R>>endobj
+499 0 obj<</S/Launch/F(#LOCALMASTER)>>endobj
+500 0 obj<</Subtype/Link/Rect[95.0 496.4 159.8 507.4]/Border[0 0 0]/A 499 0 R>>endobj
+501 0 obj<</S/Launch/F(#SECURITYEQUALSUSER)>>endobj
+502 0 obj<</Subtype/Link/Rect[95.0 464.0 138.2 475.0]/Border[0 0 0]/A 501 0 R>>endobj
+503 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+504 0 obj<</Subtype/Link/Rect[95.0 431.6 186.8 442.6]/Border[0 0 0]/A 503 0 R>>endobj
+505 0 obj<</S/Launch/F(#DOMAINLOGONS)>>endobj
+506 0 obj<</Subtype/Link/Rect[95.0 399.2 165.2 410.2]/Border[0 0 0]/A 505 0 R>>endobj
+507 0 obj<</S/Launch/F(#LOGONPATH)>>endobj
+508 0 obj<</Subtype/Link/Rect[95.0 366.8 149.0 377.8]/Border[0 0 0]/A 507 0 R>>endobj
+509 0 obj<</S/Launch/F(#LOGONDRIVE)>>endobj
+510 0 obj<</Subtype/Link/Rect[95.0 323.6 154.4 334.6]/Border[0 0 0]/A 509 0 R>>endobj
+511 0 obj<</S/Launch/F(#LOGONHOME)>>endobj
+512 0 obj<</Subtype/Link/Rect[95.0 312.8 149.0 323.8]/Border[0 0 0]/A 511 0 R>>endobj
+513 0 obj<</S/Launch/F(#LOGONSCRIPT)>>endobj
+514 0 obj<</Subtype/Link/Rect[95.0 269.6 159.8 280.6]/Border[0 0 0]/A 513 0 R>>endobj
+515 0 obj<</S/Launch/F(#PATH)>>endobj
+516 0 obj<</Subtype/Link/Rect[95.0 226.4 116.6 237.4]/Border[0 0 0]/A 515 0 R>>endobj
+517 0 obj<</S/Launch/F(#READONLY)>>endobj
+518 0 obj<</Subtype/Link/Rect[95.0 215.6 143.6 226.6]/Border[0 0 0]/A 517 0 R>>endobj
+519 0 obj<</S/Launch/F(#WRITELIST)>>endobj
+520 0 obj<</Subtype/Link/Rect[95.0 204.8 149.0 215.8]/Border[0 0 0]/A 519 0 R>>endobj
+521 0 obj<</S/Launch/F(#PATH)>>endobj
+522 0 obj<</Subtype/Link/Rect[95.0 161.6 116.6 172.6]/Border[0 0 0]/A 521 0 R>>endobj
+523 0 obj<</S/Launch/F(#READONLY)>>endobj
+524 0 obj<</Subtype/Link/Rect[95.0 150.8 143.6 161.8]/Border[0 0 0]/A 523 0 R>>endobj
+525 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
+526 0 obj<</Subtype/Link/Rect[95.0 140.0 154.4 151.0]/Border[0 0 0]/A 525 0 R>>endobj
+527 0 obj<</S/Launch/F(#DIRECTORYMASK)>>endobj
+528 0 obj<</Subtype/Link/Rect[95.0 129.2 170.6 140.2]/Border[0 0 0]/A 527 0 R>>endobj
+529 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+530 0 obj<</Subtype/Link/Rect[108.0 62.1 200.6 75.1]/Border[0 0 0]/A 529 0 R>>endobj
+531 0 obj[486 0 R
 488 0 R
-489 0 R
 490 0 R
-491 0 R
 492 0 R
-493 0 R
 494 0 R
-495 0 R
 496 0 R
-497 0 R
 498 0 R
-499 0 R
 500 0 R
-501 0 R
 502 0 R
-503 0 R
 504 0 R
-505 0 R
 506 0 R
-507 0 R
 508 0 R
-509 0 R
 510 0 R
-511 0 R
-512 0 R]endobj
-514 0 obj<</Subtype/Link/Rect[168.8 721.0 309.9 734.0]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 734 0]>>endobj
-515 0 obj<</Subtype/Link/Rect[168.8 707.8 353.4 720.8]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 609 0]>>endobj
-516 0 obj<</Subtype/Link/Rect[124.5 694.6 244.6 707.6]/Border[0 0 0]/Dest[1444 0 R/XYZ 0 511 0]>>endobj
-517 0 obj[514 0 R
-515 0 R
-516 0 R]endobj
-518 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
-519 0 obj<</Subtype/Link/Rect[367.1 584.2 468.3 597.2]/Border[0 0 0]/A 518 0 R>>endobj
-520 0 obj[519 0 R]endobj
-521 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
-522 0 obj<</Subtype/Link/Rect[280.4 510.2 327.1 523.2]/Border[0 0 0]/A 521 0 R>>endobj
-523 0 obj[522 0 R]endobj
-524 0 obj<</Subtype/Link/Rect[80.2 631.0 364.4 644.0]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 734 0]>>endobj
-525 0 obj<</Subtype/Link/Rect[124.5 617.8 221.0 630.8]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 672 0]>>endobj
-526 0 obj<</Subtype/Link/Rect[124.5 604.6 181.0 617.6]/Border[0 0 0]/Dest[1452 0 R/XYZ 0 584 0]>>endobj
-527 0 obj<</Subtype/Link/Rect[124.5 591.4 317.3 604.4]/Border[0 0 0]/Dest[1454 0 R/XYZ 0 718 0]>>endobj
-528 0 obj<</Subtype/Link/Rect[124.5 578.2 431.3 591.2]/Border[0 0 0]/Dest[1456 0 R/XYZ 0 613 0]>>endobj
-529 0 obj<</Subtype/Link/Rect[168.8 565.0 369.2 578.0]/Border[0 0 0]/Dest[1456 0 R/XYZ 0 227 0]>>endobj
-530 0 obj<</Subtype/Link/Rect[168.8 551.8 400.6 564.8]/Border[0 0 0]/Dest[1458 0 R/XYZ 0 319 0]>>endobj
-531 0 obj<</Subtype/Link/Rect[168.8 538.6 316.0 551.6]/Border[0 0 0]/Dest[1460 0 R/XYZ 0 734 0]>>endobj
-532 0 obj<</Subtype/Link/Rect[124.5 525.4 263.2 538.4]/Border[0 0 0]/Dest[1460 0 R/XYZ 0 385 0]>>endobj
-533 0 obj<</Subtype/Link/Rect[124.5 512.2 252.8 525.2]/Border[0 0 0]/Dest[1462 0 R/XYZ 0 129 0]>>endobj
-534 0 obj<</Subtype/Link/Rect[124.5 499.0 244.9 512.0]/Border[0 0 0]/Dest[1464 0 R/XYZ 0 124 0]>>endobj
-535 0 obj<</Subtype/Link/Rect[124.5 485.8 290.4 498.8]/Border[0 0 0]/Dest[1470 0 R/XYZ 0 507 0]>>endobj
-536 0 obj<</Subtype/Link/Rect[168.8 472.6 368.0 485.6]/Border[0 0 0]/Dest[1472 0 R/XYZ 0 520 0]>>endobj
-537 0 obj<</Subtype/Link/Rect[168.8 459.4 444.1 472.4]/Border[0 0 0]/Dest[1474 0 R/XYZ 0 734 0]>>endobj
-538 0 obj<</Subtype/Link/Rect[124.5 446.2 423.7 459.2]/Border[0 0 0]/Dest[1482 0 R/XYZ 0 718 0]>>endobj
-539 0 obj<</Subtype/Link/Rect[80.2 433.0 449.4 446.0]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 734 0]>>endobj
-540 0 obj<</Subtype/Link/Rect[124.5 419.8 221.0 432.8]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 672 0]>>endobj
-541 0 obj<</Subtype/Link/Rect[124.5 406.6 181.0 419.6]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 597 0]>>endobj
-542 0 obj<</Subtype/Link/Rect[124.5 393.4 360.4 406.4]/Border[0 0 0]/Dest[1486 0 R/XYZ 0 225 0]>>endobj
-543 0 obj<</Subtype/Link/Rect[168.8 380.2 401.0 393.2]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 734 0]>>endobj
-544 0 obj<</Subtype/Link/Rect[168.8 367.0 287.0 380.0]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 609 0]>>endobj
-545 0 obj<</Subtype/Link/Rect[124.5 353.8 328.3 366.8]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 524 0]>>endobj
-546 0 obj<</Subtype/Link/Rect[124.5 340.6 268.1 353.6]/Border[0 0 0]/Dest[1488 0 R/XYZ 0 383 0]>>endobj
-547 0 obj<</Subtype/Link/Rect[168.8 327.4 345.7 340.4]/Border[0 0 0]/Dest[1490 0 R/XYZ 0 620 0]>>endobj
-548 0 obj<</Subtype/Link/Rect[80.2 314.2 230.6 327.2]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 734 0]>>endobj
-549 0 obj<</Subtype/Link/Rect[124.5 301.0 320.7 314.0]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 524 0]>>endobj
-550 0 obj<</Subtype/Link/Rect[124.5 287.8 321.9 300.8]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 417 0]>>endobj
-551 0 obj<</Subtype/Link/Rect[124.5 274.6 197.2 287.6]/Border[0 0 0]/Dest[1492 0 R/XYZ 0 241 0]>>endobj
-552 0 obj<</Subtype/Link/Rect[124.5 261.4 238.2 274.4]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 556 0]>>endobj
-553 0 obj<</Subtype/Link/Rect[124.5 248.2 255.3 261.2]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 240 0]>>endobj
-554 0 obj<</Subtype/Link/Rect[168.8 235.0 239.0 248.0]/Border[0 0 0]/Dest[1494 0 R/XYZ 0 151 0]>>endobj
-555 0 obj<</Subtype/Link/Rect[124.5 221.8 224.7 234.8]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 692 0]>>endobj
-556 0 obj<</Subtype/Link/Rect[124.5 208.6 226.3 221.6]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 603 0]>>endobj
-557 0 obj<</Subtype/Link/Rect[124.5 195.4 152.3 208.4]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 528 0]>>endobj
-558 0 obj<</Subtype/Link/Rect[80.2 182.2 229.4 195.2]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 734 0]>>endobj
-559 0 obj<</Subtype/Link/Rect[124.5 169.0 299.3 182.0]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 696 0]>>endobj
-560 0 obj<</Subtype/Link/Rect[124.5 155.8 286.8 168.8]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 362 0]>>endobj
-561 0 obj<</Subtype/Link/Rect[124.5 142.6 309.7 155.6]/Border[0 0 0]/Dest[1500 0 R/XYZ 0 155 0]>>endobj
-562 0 obj[524 0 R
-525 0 R
+512 0 R
+514 0 R
+516 0 R
+518 0 R
+520 0 R
+522 0 R
+524 0 R
 526 0 R
-527 0 R
 528 0 R
-529 0 R
-530 0 R
-531 0 R
-532 0 R
-533 0 R
-534 0 R
-535 0 R
-536 0 R
-537 0 R
-538 0 R
-539 0 R
-540 0 R
-541 0 R
-542 0 R
-543 0 R
-544 0 R
+530 0 R]endobj
+532 0 obj<</S/Launch/F(#DOMAINADMINGROUP)>>endobj
+533 0 obj<</Subtype/Link/Rect[494.2 641.8 530.0 654.8]/Border[0 0 0]/A 532 0 R>>endobj
+534 0 obj<</S/Launch/F(#DOMAINADMINGROUP)>>endobj
+535 0 obj<</Subtype/Link/Rect[72.0 628.6 127.9 641.6]/Border[0 0 0]/A 534 0 R>>endobj
+536 0 obj[533 0 R
+535 0 R]endobj
+537 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
+538 0 obj<</Subtype/Link/Rect[72.0 509.3 138.6 522.3]/Border[0 0 0]/A 537 0 R>>endobj
+539 0 obj<</S/Launch/F(#ADDUSERSCRIPT)>>endobj
+540 0 obj<</Subtype/Link/Rect[420.0 220.8 486.9 233.8]/Border[0 0 0]/A 539 0 R>>endobj
+541 0 obj[538 0 R
+540 0 R]endobj
+542 0 obj<</S/URI/URI(http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp)>>endobj
+543 0 obj<</Subtype/Link/Rect[139.8 721.0 387.6 734.0]/Border[0 0 0]/A 542 0 R>>endobj
+544 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE)>>endobj
+545 0 obj<</Subtype/Link/Rect[285.2 179.8 540.0 192.8]/Border[0 0 0]/A 544 0 R>>endobj
+546 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE)>>endobj
+547 0 obj<</Subtype/Link/Rect[230.8 140.2 505.8 153.2]/Border[0 0 0]/A 546 0 R>>endobj
+548 0 obj[543 0 R
 545 0 R
-546 0 R
-547 0 R
-548 0 R
-549 0 R
-550 0 R
-551 0 R
-552 0 R
-553 0 R
-554 0 R
-555 0 R
-556 0 R
+547 0 R]endobj
+549 0 obj<</S/URI/URI(http://www.tcpdump.org/)>>endobj
+550 0 obj<</Subtype/Link/Rect[349.4 417.4 455.4 430.4]/Border[0 0 0]/A 549 0 R>>endobj
+551 0 obj<</S/URI/URI(http://www.ethereal.com/)>>endobj
+552 0 obj<</Subtype/Link/Rect[424.5 404.2 536.6 417.2]/Border[0 0 0]/A 551 0 R>>endobj
+553 0 obj[550 0 R
+552 0 R]endobj
+554 0 obj<</S/URI/URI(http://samba.org)>>endobj
+555 0 obj<</Subtype/Link/Rect[233.5 549.4 308.1 562.4]/Border[0 0 0]/A 554 0 R>>endobj
+556 0 obj<</S/URI/URI(http://www.skippy.net/linux/smb-howto.html)>>endobj
+557 0 obj<</Subtype/Link/Rect[144.0 496.6 346.1 509.6]/Border[0 0 0]/A 556 0 R>>endobj
+558 0 obj<</S/URI/URI(http://bioserve.latrobe.edu.au/samba)>>endobj
+559 0 obj<</Subtype/Link/Rect[179.7 470.2 342.3 483.2]/Border[0 0 0]/A 558 0 R>>endobj
+560 0 obj<</S/URI/URI(http://samba.org/cifs/)>>endobj
+561 0 obj<</Subtype/Link/Rect[282.1 457.0 378.7 470.0]/Border[0 0 0]/A 560 0 R>>endobj
+562 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/ntdom/)>>endobj
+563 0 obj<</Subtype/Link/Rect[241.5 443.8 408.5 456.8]/Border[0 0 0]/A 562 0 R>>endobj
+564 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/developr/drg/CIFS/)>>endobj
+565 0 obj<</Subtype/Link/Rect[277.5 430.6 469.1 443.6]/Border[0 0 0]/A 564 0 R>>endobj
+566 0 obj<</S/URI/URI(http://samba.org)>>endobj
+567 0 obj<</Subtype/Link/Rect[358.2 377.8 432.8 390.8]/Border[0 0 0]/A 566 0 R>>endobj
+568 0 obj<</S/URI/URI(http://www.samba-tng.org/)>>endobj
+569 0 obj<</Subtype/Link/Rect[298.4 338.2 422.8 351.2]/Border[0 0 0]/A 568 0 R>>endobj
+570 0 obj[555 0 R
 557 0 R
-558 0 R
 559 0 R
-560 0 R
-561 0 R]endobj
-563 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-564 0 obj<</Subtype/Link/Rect[153.2 599.8 225.8 612.8]/Border[0 0 0]/A 563 0 R>>endobj
-565 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-566 0 obj<</Subtype/Link/Rect[303.1 599.8 389.9 612.8]/Border[0 0 0]/A 565 0 R>>endobj
-567 0 obj<</S/Launch/F(UNIX_INSTALL.html)>>endobj
-568 0 obj<</Subtype/Link/Rect[333.5 442.5 438.0 455.5]/Border[0 0 0]/A 567 0 R>>endobj
-569 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-570 0 obj<</Subtype/Link/Rect[440.4 429.3 541.8 442.3]/Border[0 0 0]/A 569 0 R>>endobj
-571 0 obj[564 0 R
-566 0 R
-568 0 R
-570 0 R]endobj
-572 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-573 0 obj<</Subtype/Link/Rect[465.5 659.0 546.8 672.0]/Border[0 0 0]/A 572 0 R>>endobj
-574 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-575 0 obj<</Subtype/Link/Rect[72.0 645.8 92.8 658.8]/Border[0 0 0]/A 574 0 R>>endobj
-576 0 obj<</S/Launch/F(#NETBIOSNAME)>>endobj
-577 0 obj<</Subtype/Link/Rect[93.6 573.4 158.4 584.4]/Border[0 0 0]/A 576 0 R>>endobj
-578 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
-579 0 obj<</Subtype/Link/Rect[93.6 562.6 142.2 573.6]/Border[0 0 0]/A 578 0 R>>endobj
-580 0 obj<</S/Launch/F(#OSLEVEL)>>endobj
-581 0 obj<</Subtype/Link/Rect[93.6 530.2 136.8 541.2]/Border[0 0 0]/A 580 0 R>>endobj
-582 0 obj<</S/Launch/F(#PERFERREDMASTER)>>endobj
-583 0 obj<</Subtype/Link/Rect[93.6 519.4 180.0 530.4]/Border[0 0 0]/A 582 0 R>>endobj
-584 0 obj<</S/Launch/F(#DOMAINMASTER)>>endobj
-585 0 obj<</Subtype/Link/Rect[93.6 508.6 163.8 519.6]/Border[0 0 0]/A 584 0 R>>endobj
-586 0 obj<</S/Launch/F(#LOCALMASTER)>>endobj
-587 0 obj<</Subtype/Link/Rect[93.6 497.8 158.4 508.8]/Border[0 0 0]/A 586 0 R>>endobj
-588 0 obj<</S/Launch/F(#SECURITYEQUALSUSER)>>endobj
-589 0 obj<</Subtype/Link/Rect[93.6 465.4 136.8 476.4]/Border[0 0 0]/A 588 0 R>>endobj
-590 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-591 0 obj<</Subtype/Link/Rect[93.6 433.0 185.4 444.0]/Border[0 0 0]/A 590 0 R>>endobj
-592 0 obj<</S/Launch/F(#DOMAINLOGONS)>>endobj
-593 0 obj<</Subtype/Link/Rect[93.6 400.6 163.8 411.6]/Border[0 0 0]/A 592 0 R>>endobj
-594 0 obj<</S/Launch/F(#LOGONPATH)>>endobj
-595 0 obj<</Subtype/Link/Rect[93.6 368.2 147.6 379.2]/Border[0 0 0]/A 594 0 R>>endobj
-596 0 obj<</S/Launch/F(#LOGONDRIVE)>>endobj
-597 0 obj<</Subtype/Link/Rect[93.6 325.0 153.0 336.0]/Border[0 0 0]/A 596 0 R>>endobj
-598 0 obj<</S/Launch/F(#LOGONHOME)>>endobj
-599 0 obj<</Subtype/Link/Rect[93.6 314.2 147.6 325.2]/Border[0 0 0]/A 598 0 R>>endobj
-600 0 obj<</S/Launch/F(#LOGONSCRIPT)>>endobj
-601 0 obj<</Subtype/Link/Rect[93.6 271.0 158.4 282.0]/Border[0 0 0]/A 600 0 R>>endobj
-602 0 obj<</S/Launch/F(#PATH)>>endobj
-603 0 obj<</Subtype/Link/Rect[93.6 227.8 115.2 238.8]/Border[0 0 0]/A 602 0 R>>endobj
-604 0 obj<</S/Launch/F(#READONLY)>>endobj
-605 0 obj<</Subtype/Link/Rect[93.6 217.0 142.2 228.0]/Border[0 0 0]/A 604 0 R>>endobj
-606 0 obj<</S/Launch/F(#WRITELIST)>>endobj
-607 0 obj<</Subtype/Link/Rect[93.6 206.2 147.6 217.2]/Border[0 0 0]/A 606 0 R>>endobj
-608 0 obj<</S/Launch/F(#PATH)>>endobj
-609 0 obj<</Subtype/Link/Rect[93.6 163.0 115.2 174.0]/Border[0 0 0]/A 608 0 R>>endobj
-610 0 obj<</S/Launch/F(#READONLY)>>endobj
-611 0 obj<</Subtype/Link/Rect[93.6 152.2 142.2 163.2]/Border[0 0 0]/A 610 0 R>>endobj
-612 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
-613 0 obj<</Subtype/Link/Rect[93.6 141.4 153.0 152.4]/Border[0 0 0]/A 612 0 R>>endobj
-614 0 obj<</S/Launch/F(#DIRECTORYMASK)>>endobj
-615 0 obj<</Subtype/Link/Rect[93.6 130.6 169.2 141.6]/Border[0 0 0]/A 614 0 R>>endobj
-616 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-617 0 obj<</Subtype/Link/Rect[108.0 65.0 200.6 78.0]/Border[0 0 0]/A 616 0 R>>endobj
-618 0 obj[573 0 R
-575 0 R
-577 0 R
-579 0 R
-581 0 R
-583 0 R
-585 0 R
-587 0 R
+561 0 R
+563 0 R
+565 0 R
+567 0 R
+569 0 R]endobj
+571 0 obj<</S/URI/URI(http://lists.samba.org/)>>endobj
+572 0 obj<</Subtype/Link/Rect[132.8 575.8 227.8 588.8]/Border[0 0 0]/A 571 0 R>>endobj
+573 0 obj<</S/URI/URI(http://lists.samba.org/mailman/roster/samba-ntdom)>>endobj
+574 0 obj<</Subtype/Link/Rect[306.3 562.6 328.0 575.6]/Border[0 0 0]/A 573 0 R>>endobj
+575 0 obj[572 0 R
+574 0 R]endobj
+576 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
+577 0 obj<</Subtype/Link/Rect[210.4 613.0 317.8 626.0]/Border[0 0 0]/A 576 0 R>>endobj
+578 0 obj[577 0 R]endobj
+579 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
+580 0 obj<</Subtype/Link/Rect[218.7 452.2 284.9 465.2]/Border[0 0 0]/A 579 0 R>>endobj
+581 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+582 0 obj<</Subtype/Link/Rect[350.3 135.4 422.9 148.4]/Border[0 0 0]/A 581 0 R>>endobj
+583 0 obj<</S/Launch/F(#SECURITY)>>endobj
+584 0 obj<</Subtype/Link/Rect[169.1 95.8 235.1 108.8]/Border[0 0 0]/A 583 0 R>>endobj
+585 0 obj[580 0 R
+582 0 R
+584 0 R]endobj
+586 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
+587 0 obj<</Subtype/Link/Rect[146.2 721.0 225.4 734.0]/Border[0 0 0]/A 586 0 R>>endobj
+588 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+589 0 obj<</Subtype/Link/Rect[224.7 641.8 336.9 654.8]/Border[0 0 0]/A 588 0 R>>endobj
+590 0 obj<</S/Launch/F(#PASSWORDSERVER)>>endobj
+591 0 obj<</Subtype/Link/Rect[188.7 602.2 300.9 615.2]/Border[0 0 0]/A 590 0 R>>endobj
+592 0 obj<</S/Launch/F(#SECURITYEQUALSSERVER)>>endobj
+593 0 obj<</Subtype/Link/Rect[275.2 69.0 351.3 82.0]/Border[0 0 0]/A 592 0 R>>endobj
+594 0 obj[587 0 R
 589 0 R
 591 0 R
-593 0 R
-595 0 R
-597 0 R
-599 0 R
-601 0 R
+593 0 R]endobj
+595 0 obj<</S/Launch/F(winbind.html)>>endobj
+596 0 obj<</Subtype/Link/Rect[151.1 681.4 219.5 694.4]/Border[0 0 0]/A 595 0 R>>endobj
+597 0 obj<</S/URI/URI(http://www.linuxworld.com)>>endobj
+598 0 obj<</Subtype/Link/Rect[438.0 364.6 495.1 377.6]/Border[0 0 0]/A 597 0 R>>endobj
+599 0 obj<</S/URI/URI(http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html)>>endobj
+600 0 obj<</Subtype/Link/Rect[72.0 351.4 186.6 364.4]/Border[0 0 0]/A 599 0 R>>endobj
+601 0 obj[596 0 R
+598 0 R
+600 0 R]endobj
+602 0 obj<</Subtype/Link/Rect[72.0 631.0 278.9 644.0]/Border[0 0 0]/Dest[1260 0 R/XYZ 0 734 0]>>endobj
+603 0 obj<</Subtype/Link/Rect[72.0 617.8 341.5 630.8]/Border[0 0 0]/Dest[1282 0 R/XYZ 0 734 0]>>endobj
+604 0 obj<</Subtype/Link/Rect[72.0 604.6 385.2 617.6]/Border[0 0 0]/Dest[1292 0 R/XYZ 0 734 0]>>endobj
+605 0 obj<</Subtype/Link/Rect[72.0 591.4 333.5 604.4]/Border[0 0 0]/Dest[1298 0 R/XYZ 0 734 0]>>endobj
+606 0 obj<</Subtype/Link/Rect[72.0 578.2 146.3 591.2]/Border[0 0 0]/Dest[1302 0 R/XYZ 0 734 0]>>endobj
+607 0 obj<</Subtype/Link/Rect[72.0 565.0 352.5 578.0]/Border[0 0 0]/Dest[1324 0 R/XYZ 0 734 0]>>endobj
+608 0 obj<</Subtype/Link/Rect[72.0 551.8 171.0 564.8]/Border[0 0 0]/Dest[1350 0 R/XYZ 0 734 0]>>endobj
+609 0 obj<</Subtype/Link/Rect[72.0 538.6 159.4 551.6]/Border[0 0 0]/Dest[1354 0 R/XYZ 0 734 0]>>endobj
+610 0 obj<</Subtype/Link/Rect[72.0 525.4 175.9 538.4]/Border[0 0 0]/Dest[1356 0 R/XYZ 0 734 0]>>endobj
+611 0 obj<</Subtype/Link/Rect[72.0 512.2 403.7 525.2]/Border[0 0 0]/Dest[1362 0 R/XYZ 0 734 0]>>endobj
+612 0 obj<</Subtype/Link/Rect[72.0 499.0 270.6 512.0]/Border[0 0 0]/Dest[1376 0 R/XYZ 0 734 0]>>endobj
+613 0 obj<</Subtype/Link/Rect[72.0 485.8 183.8 498.8]/Border[0 0 0]/Dest[1380 0 R/XYZ 0 734 0]>>endobj
+614 0 obj<</Subtype/Link/Rect[72.0 472.6 189.9 485.6]/Border[0 0 0]/Dest[1382 0 R/XYZ 0 734 0]>>endobj
+615 0 obj[602 0 R
 603 0 R
+604 0 R
 605 0 R
+606 0 R
 607 0 R
+608 0 R
 609 0 R
+610 0 R
 611 0 R
+612 0 R
 613 0 R
-615 0 R
-617 0 R]endobj
-619 0 obj<</S/Launch/F(#DOMAINADMINGROUP)>>endobj
-620 0 obj<</Subtype/Link/Rect[494.2 641.8 530.0 654.8]/Border[0 0 0]/A 619 0 R>>endobj
-621 0 obj<</S/Launch/F(#DOMAINADMINGROUP)>>endobj
-622 0 obj<</Subtype/Link/Rect[72.0 628.6 127.9 641.6]/Border[0 0 0]/A 621 0 R>>endobj
-623 0 obj[620 0 R
-622 0 R]endobj
-624 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
-625 0 obj<</Subtype/Link/Rect[72.0 512.2 138.6 525.2]/Border[0 0 0]/A 624 0 R>>endobj
-626 0 obj<</S/Launch/F(#ADDUSERSCRIPT)>>endobj
-627 0 obj<</Subtype/Link/Rect[420.0 223.7 486.9 236.7]/Border[0 0 0]/A 626 0 R>>endobj
-628 0 obj[625 0 R
-627 0 R]endobj
-629 0 obj<</S/URI/URI(http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp)>>endobj
-630 0 obj<</Subtype/Link/Rect[139.8 721.0 387.6 734.0]/Border[0 0 0]/A 629 0 R>>endobj
-631 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE)>>endobj
-632 0 obj<</Subtype/Link/Rect[285.2 179.8 540.0 192.8]/Border[0 0 0]/A 631 0 R>>endobj
-633 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE)>>endobj
-634 0 obj<</Subtype/Link/Rect[230.8 140.2 505.8 153.2]/Border[0 0 0]/A 633 0 R>>endobj
-635 0 obj[630 0 R
-632 0 R
-634 0 R]endobj
-636 0 obj<</S/URI/URI(http://www.tcpdump.org/)>>endobj
-637 0 obj<</Subtype/Link/Rect[349.4 417.4 455.4 430.4]/Border[0 0 0]/A 636 0 R>>endobj
-638 0 obj<</S/URI/URI(http://www.ethereal.com/)>>endobj
-639 0 obj<</Subtype/Link/Rect[424.5 404.2 536.6 417.2]/Border[0 0 0]/A 638 0 R>>endobj
-640 0 obj[637 0 R
-639 0 R]endobj
-641 0 obj<</S/URI/URI(http://samba.org)>>endobj
-642 0 obj<</Subtype/Link/Rect[233.5 549.4 308.1 562.4]/Border[0 0 0]/A 641 0 R>>endobj
-643 0 obj<</S/URI/URI(http://www.skippy.net/linux/smb-howto.html)>>endobj
-644 0 obj<</Subtype/Link/Rect[144.0 496.6 346.1 509.6]/Border[0 0 0]/A 643 0 R>>endobj
-645 0 obj<</S/URI/URI(http://bioserve.latrobe.edu.au/samba)>>endobj
-646 0 obj<</Subtype/Link/Rect[179.7 470.2 342.3 483.2]/Border[0 0 0]/A 645 0 R>>endobj
-647 0 obj<</S/URI/URI(http://samba.org/cifs/)>>endobj
-648 0 obj<</Subtype/Link/Rect[282.1 457.0 378.7 470.0]/Border[0 0 0]/A 647 0 R>>endobj
-649 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/ntdom/)>>endobj
-650 0 obj<</Subtype/Link/Rect[241.5 443.8 408.5 456.8]/Border[0 0 0]/A 649 0 R>>endobj
-651 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/developr/drg/CIFS/)>>endobj
-652 0 obj<</Subtype/Link/Rect[277.5 430.6 469.1 443.6]/Border[0 0 0]/A 651 0 R>>endobj
-653 0 obj<</S/URI/URI(http://samba.org)>>endobj
-654 0 obj<</Subtype/Link/Rect[358.2 377.8 432.8 390.8]/Border[0 0 0]/A 653 0 R>>endobj
-655 0 obj<</S/URI/URI(http://www.samba-tng.org/)>>endobj
-656 0 obj<</Subtype/Link/Rect[298.4 338.2 422.8 351.2]/Border[0 0 0]/A 655 0 R>>endobj
-657 0 obj[642 0 R
-644 0 R
-646 0 R
-648 0 R
-650 0 R
-652 0 R
-654 0 R
-656 0 R]endobj
-658 0 obj<</S/URI/URI(http://lists.samba.org/)>>endobj
-659 0 obj<</Subtype/Link/Rect[132.8 575.8 227.8 588.8]/Border[0 0 0]/A 658 0 R>>endobj
-660 0 obj<</S/URI/URI(http://lists.samba.org/mailman/roster/samba-ntdom)>>endobj
-661 0 obj<</Subtype/Link/Rect[306.3 562.6 328.0 575.6]/Border[0 0 0]/A 660 0 R>>endobj
-662 0 obj[659 0 R
-661 0 R]endobj
-663 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
-664 0 obj<</Subtype/Link/Rect[210.4 613.0 317.8 626.0]/Border[0 0 0]/A 663 0 R>>endobj
-665 0 obj[664 0 R]endobj
-666 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
-667 0 obj<</Subtype/Link/Rect[218.7 452.2 284.9 465.2]/Border[0 0 0]/A 666 0 R>>endobj
+614 0 R]endobj
+616 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+617 0 obj<</Subtype/Link/Rect[174.0 508.6 270.6 521.6]/Border[0 0 0]/A 616 0 R>>endobj
+618 0 obj<</S/Launch/F(#PASSWORDLEVEL)>>endobj
+619 0 obj<</Subtype/Link/Rect[73.4 245.2 154.4 256.2]/Border[0 0 0]/A 618 0 R>>endobj
+620 0 obj<</S/Launch/F(#USERNAMELEVEL)>>endobj
+621 0 obj<</Subtype/Link/Rect[73.4 234.4 149.0 245.4]/Border[0 0 0]/A 620 0 R>>endobj
+622 0 obj[617 0 R
+619 0 R
+621 0 R]endobj
+623 0 obj<</S/Launch/F(winbind.html)>>endobj
+624 0 obj<</Subtype/Link/Rect[503.4 113.7 544.6 126.7]/Border[0 0 0]/A 623 0 R>>endobj
+625 0 obj<</S/Launch/F(winbind.html)>>endobj
+626 0 obj<</Subtype/Link/Rect[72.0 100.5 115.4 113.5]/Border[0 0 0]/A 625 0 R>>endobj
+627 0 obj[624 0 R
+626 0 R]endobj
+628 0 obj<</S/Launch/F(#NTACLSUPPORT)>>endobj
+629 0 obj<</Subtype/Link/Rect[339.9 526.6 438.9 539.6]/Border[0 0 0]/A 628 0 R>>endobj
+630 0 obj[629 0 R]endobj
+631 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
+632 0 obj<</Subtype/Link/Rect[493.0 707.8 545.8 720.8]/Border[0 0 0]/A 631 0 R>>endobj
+633 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
+634 0 obj<</Subtype/Link/Rect[72.0 694.6 98.4 707.6]/Border[0 0 0]/A 633 0 R>>endobj
+635 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
+636 0 obj<</Subtype/Link/Rect[356.1 615.4 428.7 628.4]/Border[0 0 0]/A 635 0 R>>endobj
+637 0 obj<</S/Launch/F(#FORCESECURITYMODE)>>endobj
+638 0 obj<</Subtype/Link/Rect[424.3 562.6 549.7 575.6]/Border[0 0 0]/A 637 0 R>>endobj
+639 0 obj<</S/Launch/F(#FORCECREATEMODE)>>endobj
+640 0 obj<</Subtype/Link/Rect[356.1 483.4 468.3 496.4]/Border[0 0 0]/A 639 0 R>>endobj
+641 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+642 0 obj<</Subtype/Link/Rect[72.0 206.2 144.6 219.2]/Border[0 0 0]/A 641 0 R>>endobj
+643 0 obj[632 0 R
+634 0 R
+636 0 R
+638 0 R
+640 0 R
+642 0 R]endobj
+644 0 obj<</S/URI/URI(http://rsync.samba.org/)>>endobj
+645 0 obj<</Subtype/Link/Rect[118.1 67.2 222.3 80.2]/Border[0 0 0]/A 644 0 R>>endobj
+646 0 obj[645 0 R]endobj
+647 0 obj<</S/Launch/F(#OBEYPAMRESTRICTIONS)>>endobj
+648 0 obj<</Subtype/Link/Rect[235.4 632.6 332.9 645.6]/Border[0 0 0]/A 647 0 R>>endobj
+649 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+650 0 obj<</Subtype/Link/Rect[338.7 553.4 449.4 566.4]/Border[0 0 0]/A 649 0 R>>endobj
+651 0 obj[648 0 R
+650 0 R]endobj
+652 0 obj<</S/URI/URI(http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp)>>endobj
+653 0 obj<</Subtype/Link/Rect[72.0 586.6 183.5 599.6]/Border[0 0 0]/A 652 0 R>>endobj
+654 0 obj<</S/Launch/F(#HOSTMSDFS)>>endobj
+655 0 obj<</Subtype/Link/Rect[345.1 507.4 417.7 520.4]/Border[0 0 0]/A 654 0 R>>endobj
+656 0 obj<</S/Launch/F(#MSDFSROOT)>>endobj
+657 0 obj<</Subtype/Link/Rect[380.8 494.2 453.4 507.2]/Border[0 0 0]/A 656 0 R>>endobj
+658 0 obj[653 0 R
+655 0 R
+657 0 R]endobj
+659 0 obj<</S/URI/URI(http://imprints.sourceforge.net)>>endobj
+660 0 obj<</Subtype/Link/Rect[143.7 544.6 280.3 557.6]/Border[0 0 0]/A 659 0 R>>endobj
+661 0 obj<</S/URI/URI(http://msdn.microsoft.com/)>>endobj
+662 0 obj<</Subtype/Link/Rect[218.6 518.2 341.1 531.2]/Border[0 0 0]/A 661 0 R>>endobj
+663 0 obj<</S/URI/URI(http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP)>>endobj
+664 0 obj<</Subtype/Link/Rect[72.0 333.4 355.9 346.4]/Border[0 0 0]/A 663 0 R>>endobj
+665 0 obj[660 0 R
+662 0 R
+664 0 R]endobj
+666 0 obj<</S/Launch/F(#WRITELIST)>>endobj
+667 0 obj<</Subtype/Link/Rect[91.9 468.5 157.9 481.5]/Border[0 0 0]/A 666 0 R>>endobj
 668 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-669 0 obj<</Subtype/Link/Rect[350.3 135.4 422.9 148.4]/Border[0 0 0]/A 668 0 R>>endobj
-670 0 obj<</S/Launch/F(#SECURITY)>>endobj
-671 0 obj<</Subtype/Link/Rect[169.1 95.8 235.1 108.8]/Border[0 0 0]/A 670 0 R>>endobj
-672 0 obj[667 0 R
+669 0 obj<</Subtype/Link/Rect[184.4 455.3 285.8 468.3]/Border[0 0 0]/A 668 0 R>>endobj
+670 0 obj<</S/Launch/F(#GUESTOK)>>endobj
+671 0 obj<</Subtype/Link/Rect[160.6 428.9 228.6 441.9]/Border[0 0 0]/A 670 0 R>>endobj
+672 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
+673 0 obj<</Subtype/Link/Rect[501.3 319.0 536.7 332.0]/Border[0 0 0]/A 672 0 R>>endobj
+674 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
+675 0 obj<</Subtype/Link/Rect[94.2 305.8 174.1 318.8]/Border[0 0 0]/A 674 0 R>>endobj
+676 0 obj[667 0 R
 669 0 R
-671 0 R]endobj
-673 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
-674 0 obj<</Subtype/Link/Rect[146.2 721.0 225.4 734.0]/Border[0 0 0]/A 673 0 R>>endobj
-675 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-676 0 obj<</Subtype/Link/Rect[224.7 641.8 336.9 654.8]/Border[0 0 0]/A 675 0 R>>endobj
-677 0 obj<</S/Launch/F(#PASSWORDSERVER)>>endobj
-678 0 obj<</Subtype/Link/Rect[188.7 602.2 300.9 615.2]/Border[0 0 0]/A 677 0 R>>endobj
-679 0 obj<</S/Launch/F(#SECURITYEQUALSSERVER)>>endobj
-680 0 obj<</Subtype/Link/Rect[275.2 69.0 351.3 82.0]/Border[0 0 0]/A 679 0 R>>endobj
-681 0 obj[674 0 R
-676 0 R
-678 0 R
+671 0 R
+673 0 R
+675 0 R]endobj
+677 0 obj<</S/Launch/F(#PRINTERADMIN)>>endobj
+678 0 obj<</Subtype/Link/Rect[451.3 719.6 537.1 732.6]/Border[0 0 0]/A 677 0 R>>endobj
+679 0 obj<</S/Launch/F(rpcclient.1.html)>>endobj
+680 0 obj<</Subtype/Link/Rect[233.6 99.7 379.3 112.7]/Border[0 0 0]/A 679 0 R>>endobj
+681 0 obj[678 0 R
 680 0 R]endobj
-682 0 obj<</S/Launch/F(winbind.html)>>endobj
-683 0 obj<</Subtype/Link/Rect[151.1 681.4 219.5 694.4]/Border[0 0 0]/A 682 0 R>>endobj
-684 0 obj<</S/URI/URI(http://www.linuxworld.com)>>endobj
-685 0 obj<</Subtype/Link/Rect[438.0 364.6 495.1 377.6]/Border[0 0 0]/A 684 0 R>>endobj
-686 0 obj<</S/URI/URI(http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html)>>endobj
-687 0 obj<</Subtype/Link/Rect[72.0 351.4 186.6 364.4]/Border[0 0 0]/A 686 0 R>>endobj
-688 0 obj[683 0 R
+682 0 obj<</S/Launch/F(#SHOWADDPRINTERWIZARD)>>endobj
+683 0 obj<</Subtype/Link/Rect[108.0 347.7 299.4 360.7]/Border[0 0 0]/A 682 0 R>>endobj
+684 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
+685 0 obj<</Subtype/Link/Rect[453.9 321.3 526.5 334.3]/Border[0 0 0]/A 684 0 R>>endobj
+686 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
+687 0 obj<</Subtype/Link/Rect[72.0 308.1 118.2 321.1]/Border[0 0 0]/A 686 0 R>>endobj
+688 0 obj<</S/Launch/F(#DELETEPRINTERCOMMAND)>>endobj
+689 0 obj<</Subtype/Link/Rect[189.3 202.5 334.5 215.5]/Border[0 0 0]/A 688 0 R>>endobj
+690 0 obj<</S/Launch/F(#ADDPRINTERCOMMAN)>>endobj
+691 0 obj<</Subtype/Link/Rect[200.6 176.1 326.0 189.1]/Border[0 0 0]/A 690 0 R>>endobj
+692 0 obj[683 0 R
 685 0 R
-687 0 R]endobj
-689 0 obj<</Subtype/Link/Rect[85.8 631.0 295.4 644.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 734 0]>>endobj
-690 0 obj<</Subtype/Link/Rect[130.0 617.8 166.4 630.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 672 0]>>endobj
-691 0 obj<</Subtype/Link/Rect[130.0 604.6 331.4 617.6]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 439 0]>>endobj
-692 0 obj<</Subtype/Link/Rect[177.0 591.4 243.0 604.4]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 311 0]>>endobj
-693 0 obj<</Subtype/Link/Rect[177.0 578.2 282.6 591.2]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 441 0]>>endobj
-694 0 obj<</Subtype/Link/Rect[177.0 565.0 269.4 578.0]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 303 0]>>endobj
-695 0 obj<</Subtype/Link/Rect[177.0 551.8 295.8 564.8]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 157 0]>>endobj
-696 0 obj<</Subtype/Link/Rect[130.0 538.6 384.2 551.6]/Border[0 0 0]/Dest[1516 0 R/XYZ 0 339 0]>>endobj
-697 0 obj<</Subtype/Link/Rect[174.2 525.4 294.6 538.4]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 266 0]>>endobj
-698 0 obj<</Subtype/Link/Rect[174.2 512.2 261.3 525.2]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-699 0 obj<</Subtype/Link/Rect[174.2 499.0 226.8 512.0]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 459 0]>>endobj
-700 0 obj<</Subtype/Link/Rect[174.2 485.8 233.5 498.8]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 361 0]>>endobj
-701 0 obj<</Subtype/Link/Rect[174.2 472.6 238.4 485.6]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 224 0]>>endobj
-702 0 obj<</Subtype/Link/Rect[130.0 459.4 528.8 472.4]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 670 0]>>endobj
-703 0 obj<</Subtype/Link/Rect[130.0 446.2 500.9 459.2]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 126 0]>>endobj
-704 0 obj<</Subtype/Link/Rect[174.2 433.0 393.6 446.0]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-705 0 obj<</Subtype/Link/Rect[174.2 419.8 455.6 432.8]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 484 0]>>endobj
-706 0 obj<</Subtype/Link/Rect[174.2 406.6 377.1 419.6]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 132 0]>>endobj
-707 0 obj<</Subtype/Link/Rect[130.0 393.4 187.1 406.4]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 263 0]>>endobj
-708 0 obj<</Subtype/Link/Rect[85.8 380.2 358.0 393.2]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 734 0]>>endobj
-709 0 obj<</Subtype/Link/Rect[130.0 367.0 447.2 380.0]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 672 0]>>endobj
-710 0 obj<</Subtype/Link/Rect[130.0 353.8 324.0 366.8]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 497 0]>>endobj
-711 0 obj<</Subtype/Link/Rect[130.0 340.6 234.2 353.6]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 330 0]>>endobj
-712 0 obj<</Subtype/Link/Rect[130.0 327.4 296.5 340.4]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 665 0]>>endobj
-713 0 obj<</Subtype/Link/Rect[174.2 314.2 251.2 327.2]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 432 0]>>endobj
-714 0 obj<</Subtype/Link/Rect[174.2 301.0 276.3 314.0]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 189 0]>>endobj
-715 0 obj<</Subtype/Link/Rect[130.0 287.8 305.7 300.8]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 692 0]>>endobj
-716 0 obj<</Subtype/Link/Rect[130.0 274.6 402.5 287.6]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 260 0]>>endobj
-717 0 obj<</Subtype/Link/Rect[130.0 261.4 392.8 274.4]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 599 0]>>endobj
-718 0 obj<</Subtype/Link/Rect[85.8 248.2 401.7 261.2]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 734 0]>>endobj
-719 0 obj<</Subtype/Link/Rect[130.0 235.0 207.3 248.0]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 672 0]>>endobj
-720 0 obj<</Subtype/Link/Rect[130.0 221.8 250.4 234.8]/Border[0 0 0]/Dest[1544 0 R/XYZ 0 148 0]>>endobj
-721 0 obj<</Subtype/Link/Rect[130.0 208.6 273.9 221.6]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 705 0]>>endobj
-722 0 obj<</Subtype/Link/Rect[85.8 195.4 350.0 208.4]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 734 0]>>endobj
-723 0 obj<</Subtype/Link/Rect[130.0 182.2 185.3 195.2]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 672 0]>>endobj
-724 0 obj<</Subtype/Link/Rect[174.2 169.0 202.1 182.0]/Border[0 0 0]/Dest[1550 0 R/XYZ 0 652 0]>>endobj
-725 0 obj<</Subtype/Link/Rect[85.8 155.8 162.8 168.8]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 734 0]>>endobj
-726 0 obj<</Subtype/Link/Rect[130.0 142.6 187.8 155.6]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 696 0]>>endobj
-727 0 obj<</Subtype/Link/Rect[130.0 129.4 195.1 142.4]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 317 0]>>endobj
-728 0 obj<</Subtype/Link/Rect[174.2 116.2 254.3 129.2]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 131 0]>>endobj
-729 0 obj<</Subtype/Link/Rect[174.2 103.0 337.1 116.0]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 583 0]>>endobj
-730 0 obj<</Subtype/Link/Rect[174.2 89.8 331.3 102.8]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 169 0]>>endobj
-731 0 obj<</Subtype/Link/Rect[174.2 76.6 386.9 89.6]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 470 0]>>endobj
-732 0 obj<</Subtype/Link/Rect[174.2 63.4 287.3 76.4]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 297 0]>>endobj
-733 0 obj[689 0 R
-690 0 R
-691 0 R
-692 0 R
-693 0 R
-694 0 R
-695 0 R
-696 0 R
-697 0 R
-698 0 R
-699 0 R
-700 0 R
-701 0 R
-702 0 R
-703 0 R
-704 0 R
-705 0 R
-706 0 R
-707 0 R
-708 0 R
-709 0 R
+687 0 R
+689 0 R
+691 0 R]endobj
+693 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
+694 0 obj<</Subtype/Link/Rect[451.4 135.3 510.8 148.3]/Border[0 0 0]/A 693 0 R>>endobj
+695 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
+696 0 obj<</Subtype/Link/Rect[72.0 122.1 118.2 135.1]/Border[0 0 0]/A 695 0 R>>endobj
+697 0 obj[694 0 R
+696 0 R]endobj
+698 0 obj<</S/URI/URI(http://imprints.sourceforge.net/)>>endobj
+699 0 obj<</Subtype/Link/Rect[297.8 674.2 437.4 687.2]/Border[0 0 0]/A 698 0 R>>endobj
+700 0 obj[699 0 R]endobj
+701 0 obj<</S/URI/URI(mailto:jtrostel@snapserver.com)>>endobj
+702 0 obj<</Subtype/Link/Rect[197.9 304.6 310.1 317.6]/Border[0 0 0]/A 701 0 R>>endobj
+703 0 obj[702 0 R]endobj
+704 0 obj<</S/URI/URI(http://samba.org/)>>endobj
+705 0 obj<</Subtype/Link/Rect[151.1 438.2 262.3 451.2]/Border[0 0 0]/A 704 0 R>>endobj
+706 0 obj[705 0 R]endobj
+707 0 obj<</S/Launch/F(winbindd.8.html)>>endobj
+708 0 obj<</Subtype/Link/Rect[306.3 232.9 363.4 245.9]/Border[0 0 0]/A 707 0 R>>endobj
+709 0 obj<</S/Launch/F(#WINBINDSEPARATOR)>>endobj
+710 0 obj<</Subtype/Link/Rect[100.4 161.5 192.2 172.5]/Border[0 0 0]/A 709 0 R>>endobj
+711 0 obj<</S/Launch/F(#WINBINDUID)>>endobj
+712 0 obj<</Subtype/Link/Rect[100.4 139.9 159.8 150.9]/Border[0 0 0]/A 711 0 R>>endobj
+713 0 obj<</S/Launch/F(#WINBINDGID)>>endobj
+714 0 obj<</Subtype/Link/Rect[100.4 118.3 159.8 129.3]/Border[0 0 0]/A 713 0 R>>endobj
+715 0 obj<</S/Launch/F(#WINBINDENUMUSERS)>>endobj
+716 0 obj<</Subtype/Link/Rect[100.4 96.7 197.6 107.7]/Border[0 0 0]/A 715 0 R>>endobj
+717 0 obj<</S/Launch/F(#WINBINDENUMGROUP)>>endobj
+718 0 obj<</Subtype/Link/Rect[100.4 85.9 203.0 96.9]/Border[0 0 0]/A 717 0 R>>endobj
+719 0 obj<</S/Launch/F(#TEMPLATEHOMEDIR)>>endobj
+720 0 obj<</Subtype/Link/Rect[100.4 64.3 186.8 75.3]/Border[0 0 0]/A 719 0 R>>endobj
+721 0 obj[708 0 R
 710 0 R
-711 0 R
 712 0 R
-713 0 R
 714 0 R
-715 0 R
 716 0 R
-717 0 R
 718 0 R
-719 0 R
-720 0 R
-721 0 R
-722 0 R
-723 0 R
-724 0 R
-725 0 R
-726 0 R
-727 0 R
-728 0 R
-729 0 R
-730 0 R
-731 0 R
-732 0 R]endobj
-734 0 obj<</Subtype/Link/Rect[130.0 721.0 224.4 734.0]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 734 0]>>endobj
-735 0 obj<</Subtype/Link/Rect[174.2 707.8 255.8 720.8]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 632 0]>>endobj
-736 0 obj<</Subtype/Link/Rect[174.2 694.6 327.6 707.6]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 507 0]>>endobj
-737 0 obj<</Subtype/Link/Rect[174.2 681.4 263.8 694.4]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 423 0]>>endobj
-738 0 obj<</Subtype/Link/Rect[174.2 668.2 276.6 681.2]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 325 0]>>endobj
-739 0 obj<</Subtype/Link/Rect[130.0 655.0 177.4 668.0]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 440 0]>>endobj
-740 0 obj<</Subtype/Link/Rect[174.2 641.8 232.0 654.8]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 406 0]>>endobj
-741 0 obj<</Subtype/Link/Rect[174.2 628.6 302.9 641.6]/Border[0 0 0]/Dest[1566 0 R/XYZ 0 479 0]>>endobj
-742 0 obj<</Subtype/Link/Rect[174.2 615.4 287.0 628.4]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 692 0]>>endobj
-743 0 obj<</Subtype/Link/Rect[174.2 602.2 339.2 615.2]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 511 0]>>endobj
-744 0 obj<</Subtype/Link/Rect[174.2 589.0 260.7 602.0]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 734 0]>>endobj
-745 0 obj<</Subtype/Link/Rect[174.2 575.8 282.7 588.8]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 394 0]>>endobj
-746 0 obj<</Subtype/Link/Rect[174.2 562.6 279.7 575.6]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 718 0]>>endobj
-747 0 obj<</Subtype/Link/Rect[174.2 549.4 259.8 562.4]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 633 0]>>endobj
-748 0 obj<</Subtype/Link/Rect[174.2 536.2 246.4 549.2]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 535 0]>>endobj
-749 0 obj<</Subtype/Link/Rect[85.8 523.0 152.3 536.0]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 734 0]>>endobj
-750 0 obj<</Subtype/Link/Rect[130.0 509.8 187.8 522.8]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 696 0]>>endobj
-751 0 obj<</Subtype/Link/Rect[130.0 496.6 328.0 509.6]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 467 0]>>endobj
-752 0 obj<</Subtype/Link/Rect[85.8 483.4 369.0 496.4]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 734 0]>>endobj
-753 0 obj<</Subtype/Link/Rect[130.0 470.2 170.0 483.2]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 672 0]>>endobj
-754 0 obj<</Subtype/Link/Rect[130.0 457.0 187.8 470.0]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 544 0]>>endobj
-755 0 obj<</Subtype/Link/Rect[130.0 443.8 237.9 456.8]/Border[0 0 0]/Dest[1578 0 R/XYZ 0 231 0]>>endobj
-756 0 obj<</Subtype/Link/Rect[174.2 430.6 230.5 443.6]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 560 0]>>endobj
-757 0 obj<</Subtype/Link/Rect[130.0 417.4 224.4 430.4]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 409 0]>>endobj
-758 0 obj<</Subtype/Link/Rect[174.2 404.2 330.7 417.2]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 294 0]>>endobj
-759 0 obj<</Subtype/Link/Rect[174.2 391.0 269.9 404.0]/Border[0 0 0]/Dest[1582 0 R/XYZ 0 734 0]>>endobj
-760 0 obj<</Subtype/Link/Rect[174.2 377.8 330.4 390.8]/Border[0 0 0]/Dest[1582 0 R/XYZ 0 292 0]>>endobj
-761 0 obj<</Subtype/Link/Rect[174.2 364.6 312.0 377.6]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 665 0]>>endobj
-762 0 obj<</Subtype/Link/Rect[174.2 351.4 244.5 364.4]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 488 0]>>endobj
-763 0 obj<</Subtype/Link/Rect[130.0 338.2 267.8 351.2]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 351 0]>>endobj
-764 0 obj<</Subtype/Link/Rect[174.2 325.0 232.0 338.0]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 209 0]>>endobj
-765 0 obj<</Subtype/Link/Rect[174.2 311.8 237.5 324.8]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 599 0]>>endobj
-766 0 obj<</Subtype/Link/Rect[174.2 298.6 261.3 311.6]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 330 0]>>endobj
-767 0 obj<</Subtype/Link/Rect[130.0 285.4 182.9 298.4]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 296 0]>>endobj
-768 0 obj<</Subtype/Link/Rect[130.0 272.2 182.9 285.2]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 734 0]>>endobj
-769 0 obj<</Subtype/Link/Rect[85.8 259.0 187.5 272.0]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 734 0]>>endobj
-770 0 obj<</Subtype/Link/Rect[130.0 245.8 170.6 258.8]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 696 0]>>endobj
-771 0 obj<</Subtype/Link/Rect[130.0 232.6 186.5 245.6]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 595 0]>>endobj
-772 0 obj<</Subtype/Link/Rect[130.0 219.4 353.1 232.4]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 568 0]>>endobj
-773 0 obj<</Subtype/Link/Rect[130.0 206.2 311.6 219.2]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 414 0]>>endobj
-774 0 obj<</Subtype/Link/Rect[85.8 193.0 175.9 206.0]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 734 0]>>endobj
-775 0 obj<</Subtype/Link/Rect[130.0 179.8 170.6 192.8]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 696 0]>>endobj
-776 0 obj<</Subtype/Link/Rect[130.0 166.6 160.9 179.6]/Border[0 0 0]/Dest[1608 0 R/XYZ 0 608 0]>>endobj
-777 0 obj<</Subtype/Link/Rect[85.8 153.4 420.2 166.4]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 734 0]>>endobj
-778 0 obj<</Subtype/Link/Rect[130.0 140.2 169.4 153.2]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 672 0]>>endobj
-779 0 obj<</Subtype/Link/Rect[130.0 127.0 187.8 140.0]/Border[0 0 0]/Dest[1610 0 R/XYZ 0 412 0]>>endobj
-780 0 obj<</Subtype/Link/Rect[130.0 113.8 244.0 126.8]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 573 0]>>endobj
-781 0 obj<</Subtype/Link/Rect[130.0 100.6 382.4 113.6]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 471 0]>>endobj
-782 0 obj<</Subtype/Link/Rect[130.0 87.4 271.2 100.4]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-783 0 obj<</Subtype/Link/Rect[174.2 74.2 291.0 87.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 700 0]>>endobj
-784 0 obj<</Subtype/Link/Rect[174.2 61.0 263.5 74.0]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 143 0]>>endobj
-785 0 obj[734 0 R
-735 0 R
+720 0 R]endobj
+722 0 obj<</S/Launch/F(#TEMPLATESHELL)>>endobj
+723 0 obj<</Subtype/Link/Rect[100.4 721.6 176.0 732.6]/Border[0 0 0]/A 722 0 R>>endobj
+724 0 obj[723 0 R]endobj
+725 0 obj<</S/URI/URI(http://www.css.tayloru.edu/~elorimer/databasefs/index.php)>>endobj
+726 0 obj<</Subtype/Link/Rect[97.1 272.5 360.6 285.5]/Border[0 0 0]/A 725 0 R>>endobj
+727 0 obj<</S/URI/URI(mailto:elorimer@css.tayloru.edu)>>endobj
+728 0 obj<</Subtype/Link/Rect[84.8 246.1 144.7 259.1]/Border[0 0 0]/A 727 0 R>>endobj
+729 0 obj[726 0 R
+728 0 R]endobj
+730 0 obj<</S/URI/URI(http://www.openantivirus.org/)>>endobj
+731 0 obj<</Subtype/Link/Rect[97.1 691.0 233.0 704.0]/Border[0 0 0]/A 730 0 R>>endobj
+732 0 obj[731 0 R]endobj
+733 0 obj<</S/URI/URI(http://www.openldap.org/)>>endobj
+734 0 obj<</Subtype/Link/Rect[169.5 560.2 285.9 573.2]/Border[0 0 0]/A 733 0 R>>endobj
+735 0 obj<</S/URI/URI(http://iplanet.netscape.com/directory)>>endobj
+736 0 obj<</Subtype/Link/Rect[223.9 547.0 387.9 560.0]/Border[0 0 0]/A 735 0 R>>endobj
+737 0 obj<</S/URI/URI(http://www.ora.com/)>>endobj
+738 0 obj<</Subtype/Link/Rect[112.6 520.6 202.0 533.6]/Border[0 0 0]/A 737 0 R>>endobj
+739 0 obj<</S/URI/URI(http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html)>>endobj
+740 0 obj<</Subtype/Link/Rect[125.1 454.6 267.5 467.6]/Border[0 0 0]/A 739 0 R>>endobj
+741 0 obj<</S/URI/URI(http://samba.idealx.org/)>>endobj
+742 0 obj<</Subtype/Link/Rect[243.7 441.4 287.3 454.4]/Border[0 0 0]/A 741 0 R>>endobj
+743 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+744 0 obj<</Subtype/Link/Rect[212.8 366.2 332.5 379.2]/Border[0 0 0]/A 743 0 R>>endobj
+745 0 obj[734 0 R
 736 0 R
-737 0 R
 738 0 R
-739 0 R
 740 0 R
-741 0 R
 742 0 R
-743 0 R
-744 0 R
-745 0 R
-746 0 R
-747 0 R
-748 0 R
+744 0 R]endobj
+746 0 obj<</S/URI/URI(http://www.padl.com/)>>endobj
+747 0 obj<</Subtype/Link/Rect[284.3 602.2 380.9 615.2]/Border[0 0 0]/A 746 0 R>>endobj
+748 0 obj<</S/Launch/F(samba-patches@samba.org)>>endobj
+749 0 obj<</Subtype/Link/Rect[332.3 487.4 458.0 500.4]/Border[0 0 0]/A 748 0 R>>endobj
+750 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
+751 0 obj<</Subtype/Link/Rect[476.6 487.4 555.8 500.4]/Border[0 0 0]/A 750 0 R>>endobj
+752 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
+753 0 obj<</Subtype/Link/Rect[271.2 254.5 350.4 267.5]/Border[0 0 0]/A 752 0 R>>endobj
+754 0 obj[747 0 R
 749 0 R
-750 0 R
 751 0 R
-752 0 R
-753 0 R
-754 0 R
-755 0 R
-756 0 R
-757 0 R
+753 0 R]endobj
+755 0 obj<</S/Launch/F(#LDAPSSL)>>endobj
+756 0 obj<</Subtype/Link/Rect[108.0 721.0 141.3 734.0]/Border[0 0 0]/A 755 0 R>>endobj
+757 0 obj<</S/Launch/F(#LDAPSERVER)>>endobj
+758 0 obj<</Subtype/Link/Rect[108.0 707.8 156.6 720.8]/Border[0 0 0]/A 757 0 R>>endobj
+759 0 obj<</S/Launch/F(#LDAPADMINDN)>>endobj
+760 0 obj<</Subtype/Link/Rect[108.0 694.6 170.9 707.6]/Border[0 0 0]/A 759 0 R>>endobj
+761 0 obj<</S/Launch/F(#LDAPSUFFIX)>>endobj
+762 0 obj<</Subtype/Link/Rect[108.0 681.4 155.4 694.4]/Border[0 0 0]/A 761 0 R>>endobj
+763 0 obj<</S/Launch/F(#LDAPFILTER)>>endobj
+764 0 obj<</Subtype/Link/Rect[108.0 668.2 151.1 681.2]/Border[0 0 0]/A 763 0 R>>endobj
+765 0 obj<</S/Launch/F(#LDAPPORT)>>endobj
+766 0 obj<</Subtype/Link/Rect[108.0 655.0 147.4 668.0]/Border[0 0 0]/A 765 0 R>>endobj
+767 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+768 0 obj<</Subtype/Link/Rect[186.9 628.6 243.1 641.6]/Border[0 0 0]/A 767 0 R>>endobj
+769 0 obj[756 0 R
 758 0 R
-759 0 R
 760 0 R
-761 0 R
 762 0 R
-763 0 R
 764 0 R
-765 0 R
 766 0 R
-767 0 R
-768 0 R
-769 0 R
-770 0 R
-771 0 R
-772 0 R
-773 0 R
-774 0 R
-775 0 R
-776 0 R
-777 0 R
-778 0 R
-779 0 R
-780 0 R
-781 0 R
+768 0 R]endobj
+770 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+771 0 obj<</Subtype/Link/Rect[72.0 553.4 176.8 566.4]/Border[0 0 0]/A 770 0 R>>endobj
+772 0 obj[771 0 R]endobj
+773 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
+774 0 obj<</Subtype/Link/Rect[72.0 509.8 176.7 522.8]/Border[0 0 0]/A 773 0 R>>endobj
+775 0 obj[774 0 R]endobj
+776 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
+777 0 obj<</Subtype/Link/Rect[302.7 431.7 381.8 444.7]/Border[0 0 0]/A 776 0 R>>endobj
+778 0 obj[777 0 R]endobj
+779 0 obj<</S/URI/URI(http://samba.org/samba/cvs.html)>>endobj
+780 0 obj<</Subtype/Link/Rect[354.3 597.4 500.7 610.4]/Border[0 0 0]/A 779 0 R>>endobj
+781 0 obj<</S/URI/URI(http://samba.org/cgi-bin/cvsweb)>>endobj
+782 0 obj<</Subtype/Link/Rect[135.9 397.8 283.2 410.8]/Border[0 0 0]/A 781 0 R>>endobj
+783 0 obj<</S/URI/URI(http://www.cyclic.com/)>>endobj
+784 0 obj<</Subtype/Link/Rect[391.6 286.6 498.2 299.6]/Border[0 0 0]/A 783 0 R>>endobj
+785 0 obj[780 0 R
 782 0 R
-783 0 R
 784 0 R]endobj
-786 0 obj<</Subtype/Link/Rect[130.0 721.0 287.0 734.0]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 243 0]>>endobj
-787 0 obj<</Subtype/Link/Rect[130.0 707.8 255.6 720.8]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 718 0]>>endobj
-788 0 obj<</Subtype/Link/Rect[130.0 694.6 330.8 707.6]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 336 0]>>endobj
-789 0 obj<</Subtype/Link/Rect[130.0 681.4 324.3 694.4]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 322 0]>>endobj
-790 0 obj<</Subtype/Link/Rect[135.5 668.2 184.7 681.2]/Border[0 0 0]/Dest[1622 0 R/XYZ 0 492 0]>>endobj
-791 0 obj<</Subtype/Link/Rect[85.8 655.0 287.1 668.0]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-792 0 obj<</Subtype/Link/Rect[130.0 641.8 187.8 654.8]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 672 0]>>endobj
-793 0 obj<</Subtype/Link/Rect[130.0 628.6 245.8 641.6]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 557 0]>>endobj
-794 0 obj<</Subtype/Link/Rect[174.2 615.4 263.2 628.4]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 469 0]>>endobj
-795 0 obj<</Subtype/Link/Rect[174.2 602.2 239.9 615.2]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 358 0]>>endobj
-796 0 obj<</Subtype/Link/Rect[85.8 589.0 200.3 602.0]/Border[0 0 0]/Dest[1628 0 R/XYZ 0 734 0]>>endobj
-797 0 obj<</Subtype/Link/Rect[85.8 575.8 206.4 588.8]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 734 0]>>endobj
-798 0 obj<</Subtype/Link/Rect[130.0 562.6 191.4 575.6]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 696 0]>>endobj
-799 0 obj<</Subtype/Link/Rect[130.0 549.4 168.8 562.4]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 449 0]>>endobj
-800 0 obj<</Subtype/Link/Rect[174.2 536.2 219.2 549.2]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 416 0]>>endobj
-801 0 obj<</Subtype/Link/Rect[174.2 523.0 245.1 536.0]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 146 0]>>endobj
-802 0 obj<</Subtype/Link/Rect[174.2 509.8 348.3 522.8]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 652 0]>>endobj
-803 0 obj<</Subtype/Link/Rect[130.0 496.6 196.6 509.6]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 515 0]>>endobj
-804 0 obj<</Subtype/Link/Rect[130.0 483.4 174.6 496.4]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 255 0]>>endobj
-805 0 obj<</Subtype/Link/Rect[130.0 470.2 174.0 483.2]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 718 0]>>endobj
-806 0 obj<</Subtype/Link/Rect[130.0 457.0 168.2 470.0]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 537 0]>>endobj
-807 0 obj<</Subtype/Link/Rect[130.0 443.8 189.3 456.8]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 409 0]>>endobj
-808 0 obj<</Subtype/Link/Rect[130.0 430.6 173.4 443.6]/Border[0 0 0]/Dest[1634 0 R/XYZ 0 189 0]>>endobj
-809 0 obj<</Subtype/Link/Rect[130.0 417.4 178.9 430.4]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 734 0]>>endobj
-810 0 obj<</Subtype/Link/Rect[135.5 404.2 180.7 417.2]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 645 0]>>endobj
-811 0 obj<</Subtype/Link/Rect[135.5 391.0 182.6 404.0]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 477 0]>>endobj
-812 0 obj<</Subtype/Link/Rect[135.5 377.8 208.8 390.8]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 349 0]>>endobj
-813 0 obj<</Subtype/Link/Rect[135.5 364.6 216.2 377.6]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 129 0]>>endobj
-814 0 obj<</Subtype/Link/Rect[135.5 351.4 193.6 364.4]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 639 0]>>endobj
-815 0 obj<</Subtype/Link/Rect[135.5 338.2 192.3 351.2]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 511 0]>>endobj
-816 0 obj<</Subtype/Link/Rect[135.5 325.0 196.0 338.0]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 436 0]>>endobj
-817 0 obj<</Subtype/Link/Rect[135.5 311.8 186.8 324.8]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 388 0]>>endobj
-818 0 obj[786 0 R
+786 0 obj<</Subtype/Link/Rect[72.0 670.6 119.7 683.6]/Border[0 0 0]/Dest[1392 0 R/XYZ 0 734 0]>>endobj
+787 0 obj<</Subtype/Link/Rect[72.0 657.4 204.6 670.4]/Border[0 0 0]/Dest[1398 0 R/XYZ 0 734 0]>>endobj
+788 0 obj<</Subtype/Link/Rect[72.0 644.2 140.8 657.2]/Border[0 0 0]/Dest[1406 0 R/XYZ 0 734 0]>>endobj
+789 0 obj<</Subtype/Link/Rect[72.0 631.0 208.0 644.0]/Border[0 0 0]/Dest[1410 0 R/XYZ 0 734 0]>>endobj
+790 0 obj[786 0 R
 787 0 R
 788 0 R
-789 0 R
-790 0 R
-791 0 R
-792 0 R
-793 0 R
+789 0 R]endobj
+791 0 obj<</S/URI/URI(http://www.thursby.com/)>>endobj
+792 0 obj<</Subtype/Link/Rect[91.9 621.8 131.3 634.8]/Border[0 0 0]/A 791 0 R>>endobj
+793 0 obj<</S/URI/URI(http://www.umich.edu/~rsug/netatalk/)>>endobj
+794 0 obj<</Subtype/Link/Rect[72.0 503.0 109.3 516.0]/Border[0 0 0]/A 793 0 R>>endobj
+795 0 obj<</S/URI/URI(http://www.cs.mu.oz.au/appletalk/atalk.html)>>endobj
+796 0 obj<</Subtype/Link/Rect[130.7 503.0 154.8 516.0]/Border[0 0 0]/A 795 0 R>>endobj
+797 0 obj<</S/URI/URI(http://www.eats.com/linux_mac_win.html)>>endobj
+798 0 obj<</Subtype/Link/Rect[72.0 476.6 258.1 489.6]/Border[0 0 0]/A 797 0 R>>endobj
+799 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/warp.html)>>endobj
+800 0 obj<</Subtype/Link/Rect[325.6 367.8 544.5 380.8]/Border[0 0 0]/A 799 0 R>>endobj
+801 0 obj[792 0 R
 794 0 R
-795 0 R
 796 0 R
-797 0 R
 798 0 R
-799 0 R
-800 0 R
-801 0 R
-802 0 R
-803 0 R
-804 0 R
+800 0 R]endobj
+802 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/)>>endobj
+803 0 obj<</Subtype/Link/Rect[72.0 661.0 319.2 674.0]/Border[0 0 0]/A 802 0 R>>endobj
+804 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/lanman.html)>>endobj
+805 0 obj<</Subtype/Link/Rect[340.6 661.0 538.7 674.0]/Border[0 0 0]/A 804 0 R>>endobj
+806 0 obj<</S/URI/URI(ftp://ftp.cdrom.com/pub/os2/network/ndis/)>>endobj
+807 0 obj<</Subtype/Link/Rect[173.1 535.7 363.5 548.7]/Border[0 0 0]/A 806 0 R>>endobj
+808 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/fix.html)>>endobj
+809 0 obj<</Subtype/Link/Rect[220.2 464.1 429.3 477.1]/Border[0 0 0]/A 808 0 R>>endobj
+810 0 obj[803 0 R
 805 0 R
-806 0 R
 807 0 R
-808 0 R
-809 0 R
-810 0 R
-811 0 R
-812 0 R
-813 0 R
-814 0 R
-815 0 R
-816 0 R
-817 0 R]endobj
-819 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-820 0 obj<</Subtype/Link/Rect[174.0 562.6 270.6 575.6]/Border[0 0 0]/A 819 0 R>>endobj
-821 0 obj<</S/Launch/F(#PASSWORDLEVEL)>>endobj
-822 0 obj<</Subtype/Link/Rect[72.0 300.6 153.0 311.6]/Border[0 0 0]/A 821 0 R>>endobj
-823 0 obj<</S/Launch/F(#USERNAMELEVEL)>>endobj
-824 0 obj<</Subtype/Link/Rect[72.0 289.8 147.6 300.8]/Border[0 0 0]/A 823 0 R>>endobj
-825 0 obj[820 0 R
+809 0 R]endobj
+811 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+812 0 obj<</Subtype/Link/Rect[218.7 347.8 275.0 360.8]/Border[0 0 0]/A 811 0 R>>endobj
+813 0 obj[812 0 R]endobj
+814 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+815 0 obj<</Subtype/Link/Rect[493.6 595.0 549.8 608.0]/Border[0 0 0]/A 814 0 R>>endobj
+816 0 obj[815 0 R]endobj
+817 0 obj<</S/Launch/F(samba@samba.org)>>endobj
+818 0 obj<</Subtype/Link/Rect[311.8 650.2 398.3 663.2]/Border[0 0 0]/A 817 0 R>>endobj
+819 0 obj<</S/URI/URI(mailto:samba-technical@samba.org)>>endobj
+820 0 obj<</Subtype/Link/Rect[126.4 637.0 258.8 650.0]/Border[0 0 0]/A 819 0 R>>endobj
+821 0 obj<</S/URI/URI(http://samba.org/samba/)>>endobj
+822 0 obj<</Subtype/Link/Rect[161.5 439.0 270.3 452.0]/Border[0 0 0]/A 821 0 R>>endobj
+823 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
+824 0 obj<</Subtype/Link/Rect[185.0 337.4 229.3 350.4]/Border[0 0 0]/A 823 0 R>>endobj
+825 0 obj[818 0 R
+820 0 R
 822 0 R
 824 0 R]endobj
-826 0 obj<</S/Launch/F(winbind.html)>>endobj
-827 0 obj<</Subtype/Link/Rect[503.4 161.0 544.6 174.0]/Border[0 0 0]/A 826 0 R>>endobj
-828 0 obj<</S/Launch/F(winbind.html)>>endobj
-829 0 obj<</Subtype/Link/Rect[72.0 147.8 115.4 160.8]/Border[0 0 0]/A 828 0 R>>endobj
+826 0 obj<</S/URI/URI(mailto:samba@samba.org)>>endobj
+827 0 obj<</Subtype/Link/Rect[164.2 180.2 250.8 193.2]/Border[0 0 0]/A 826 0 R>>endobj
+828 0 obj<</S/URI/URI(http://samba.org/samba)>>endobj
+829 0 obj<</Subtype/Link/Rect[233.0 167.0 338.7 180.0]/Border[0 0 0]/A 828 0 R>>endobj
 830 0 obj[827 0 R
 829 0 R]endobj
-831 0 obj<</S/Launch/F(#NTACLSUPPORT)>>endobj
-832 0 obj<</Subtype/Link/Rect[339.9 526.6 438.9 539.6]/Border[0 0 0]/A 831 0 R>>endobj
-833 0 obj[832 0 R]endobj
-834 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
-835 0 obj<</Subtype/Link/Rect[493.0 707.8 545.8 720.8]/Border[0 0 0]/A 834 0 R>>endobj
-836 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
-837 0 obj<</Subtype/Link/Rect[72.0 694.6 98.4 707.6]/Border[0 0 0]/A 836 0 R>>endobj
-838 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
-839 0 obj<</Subtype/Link/Rect[356.1 615.4 428.7 628.4]/Border[0 0 0]/A 838 0 R>>endobj
-840 0 obj<</S/Launch/F(#FORCESECURITYMODE)>>endobj
-841 0 obj<</Subtype/Link/Rect[424.3 562.6 549.7 575.6]/Border[0 0 0]/A 840 0 R>>endobj
-842 0 obj<</S/Launch/F(#FORCECREATEMODE)>>endobj
-843 0 obj<</Subtype/Link/Rect[356.1 483.4 468.3 496.4]/Border[0 0 0]/A 842 0 R>>endobj
-844 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-845 0 obj<</Subtype/Link/Rect[72.0 206.2 144.6 219.2]/Border[0 0 0]/A 844 0 R>>endobj
-846 0 obj[835 0 R
-837 0 R
-839 0 R
-841 0 R
-843 0 R
-845 0 R]endobj
-847 0 obj<</S/URI/URI(http://rsync.samba.org/)>>endobj
-848 0 obj<</Subtype/Link/Rect[118.1 89.0 222.3 102.0]/Border[0 0 0]/A 847 0 R>>endobj
-849 0 obj[848 0 R]endobj
-850 0 obj<</S/Launch/F(#OBEYPAMRESTRICTIONS)>>endobj
-851 0 obj<</Subtype/Link/Rect[235.4 659.0 332.9 672.0]/Border[0 0 0]/A 850 0 R>>endobj
-852 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-853 0 obj<</Subtype/Link/Rect[338.7 579.8 449.4 592.8]/Border[0 0 0]/A 852 0 R>>endobj
-854 0 obj[851 0 R
-853 0 R]endobj
-855 0 obj<</S/URI/URI(http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp)>>endobj
-856 0 obj<</Subtype/Link/Rect[72.0 586.6 183.5 599.6]/Border[0 0 0]/A 855 0 R>>endobj
-857 0 obj<</S/Launch/F(#HOSTMSDFS)>>endobj
-858 0 obj<</Subtype/Link/Rect[345.1 507.4 417.7 520.4]/Border[0 0 0]/A 857 0 R>>endobj
-859 0 obj<</S/Launch/F(#MSDFSROOT)>>endobj
-860 0 obj<</Subtype/Link/Rect[380.8 494.2 453.4 507.2]/Border[0 0 0]/A 859 0 R>>endobj
-861 0 obj[856 0 R
-858 0 R
-860 0 R]endobj
-862 0 obj<</S/URI/URI(http://imprints.sourceforge.net)>>endobj
-863 0 obj<</Subtype/Link/Rect[143.7 544.6 280.3 557.6]/Border[0 0 0]/A 862 0 R>>endobj
-864 0 obj<</S/URI/URI(http://msdn.microsoft.com/)>>endobj
-865 0 obj<</Subtype/Link/Rect[218.6 518.2 341.1 531.2]/Border[0 0 0]/A 864 0 R>>endobj
-866 0 obj<</S/URI/URI(http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP)>>endobj
-867 0 obj<</Subtype/Link/Rect[72.0 333.4 355.9 346.4]/Border[0 0 0]/A 866 0 R>>endobj
-868 0 obj[863 0 R
-865 0 R
-867 0 R]endobj
-869 0 obj<</S/Launch/F(#WRITELIST)>>endobj
-870 0 obj<</Subtype/Link/Rect[91.9 471.4 157.9 484.4]/Border[0 0 0]/A 869 0 R>>endobj
-871 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-872 0 obj<</Subtype/Link/Rect[184.4 458.2 285.8 471.2]/Border[0 0 0]/A 871 0 R>>endobj
-873 0 obj<</S/Launch/F(#GUESTOK)>>endobj
-874 0 obj<</Subtype/Link/Rect[160.6 431.8 228.6 444.8]/Border[0 0 0]/A 873 0 R>>endobj
-875 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
-876 0 obj<</Subtype/Link/Rect[501.3 321.9 536.7 334.9]/Border[0 0 0]/A 875 0 R>>endobj
-877 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
-878 0 obj<</Subtype/Link/Rect[94.2 308.7 174.1 321.7]/Border[0 0 0]/A 877 0 R>>endobj
-879 0 obj[870 0 R
-872 0 R
-874 0 R
-876 0 R
-878 0 R]endobj
-880 0 obj<</S/Launch/F(#PRINTERADMIN)>>endobj
-881 0 obj<</Subtype/Link/Rect[451.3 719.6 537.1 732.6]/Border[0 0 0]/A 880 0 R>>endobj
-882 0 obj<</S/Launch/F(rpcclient.1.html)>>endobj
-883 0 obj<</Subtype/Link/Rect[233.6 99.7 379.3 112.7]/Border[0 0 0]/A 882 0 R>>endobj
-884 0 obj[881 0 R
-883 0 R]endobj
-885 0 obj<</S/Launch/F(#SHOWADDPRINTERWIZARD)>>endobj
-886 0 obj<</Subtype/Link/Rect[108.0 361.4 299.4 374.4]/Border[0 0 0]/A 885 0 R>>endobj
-887 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
-888 0 obj<</Subtype/Link/Rect[453.9 335.0 526.5 348.0]/Border[0 0 0]/A 887 0 R>>endobj
-889 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
-890 0 obj<</Subtype/Link/Rect[72.0 321.8 118.2 334.8]/Border[0 0 0]/A 889 0 R>>endobj
-891 0 obj<</S/Launch/F(#DELETEPRINTERCOMMAND)>>endobj
-892 0 obj<</Subtype/Link/Rect[189.3 216.2 334.5 229.2]/Border[0 0 0]/A 891 0 R>>endobj
-893 0 obj<</S/Launch/F(#ADDPRINTERCOMMAN)>>endobj
-894 0 obj<</Subtype/Link/Rect[200.6 189.8 326.0 202.8]/Border[0 0 0]/A 893 0 R>>endobj
-895 0 obj[886 0 R
-888 0 R
-890 0 R
-892 0 R
-894 0 R]endobj
-896 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
-897 0 obj<</Subtype/Link/Rect[451.4 149.0 510.8 162.0]/Border[0 0 0]/A 896 0 R>>endobj
-898 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
-899 0 obj<</Subtype/Link/Rect[72.0 135.8 118.2 148.8]/Border[0 0 0]/A 898 0 R>>endobj
-900 0 obj[897 0 R
-899 0 R]endobj
-901 0 obj<</S/URI/URI(http://imprints.sourceforge.net/)>>endobj
-902 0 obj<</Subtype/Link/Rect[297.8 674.2 437.4 687.2]/Border[0 0 0]/A 901 0 R>>endobj
-903 0 obj[902 0 R]endobj
-904 0 obj<</S/Launch/F(#SECURITY)>>endobj
-905 0 obj<</Subtype/Link/Rect[72.0 615.0 115.2 626.0]/Border[0 0 0]/A 904 0 R>>endobj
-906 0 obj<</S/Launch/F(DOMAIN_MEMBER.html)>>endobj
-907 0 obj<</Subtype/Link/Rect[430.0 589.0 554.1 602.0]/Border[0 0 0]/A 906 0 R>>endobj
-908 0 obj<</S/Launch/F(ADS-HOWTO.html)>>endobj
-909 0 obj<</Subtype/Link/Rect[223.0 562.6 317.8 575.6]/Border[0 0 0]/A 908 0 R>>endobj
-910 0 obj[905 0 R
-907 0 R
-909 0 R]endobj
-911 0 obj<</S/URI/URI(mailto:jtrostel@snapserver.com)>>endobj
-912 0 obj<</Subtype/Link/Rect[197.9 304.6 310.1 317.6]/Border[0 0 0]/A 911 0 R>>endobj
-913 0 obj[912 0 R]endobj
-914 0 obj<</S/URI/URI(http://samba.org/)>>endobj
-915 0 obj<</Subtype/Link/Rect[151.1 438.2 262.3 451.2]/Border[0 0 0]/A 914 0 R>>endobj
-916 0 obj[915 0 R]endobj
-917 0 obj<</S/Launch/F(winbindd.8.html)>>endobj
-918 0 obj<</Subtype/Link/Rect[306.3 235.8 363.4 248.8]/Border[0 0 0]/A 917 0 R>>endobj
-919 0 obj<</S/Launch/F(#WINBINDSEPARATOR)>>endobj
-920 0 obj<</Subtype/Link/Rect[99.0 165.8 190.8 176.8]/Border[0 0 0]/A 919 0 R>>endobj
-921 0 obj<</S/Launch/F(#WINBINDUID)>>endobj
-922 0 obj<</Subtype/Link/Rect[99.0 144.2 158.4 155.2]/Border[0 0 0]/A 921 0 R>>endobj
-923 0 obj<</S/Launch/F(#WINBINDGID)>>endobj
-924 0 obj<</Subtype/Link/Rect[99.0 122.6 158.4 133.6]/Border[0 0 0]/A 923 0 R>>endobj
-925 0 obj<</S/Launch/F(#WINBINDENUMUSERS)>>endobj
-926 0 obj<</Subtype/Link/Rect[99.0 101.0 196.2 112.0]/Border[0 0 0]/A 925 0 R>>endobj
-927 0 obj<</S/Launch/F(#WINBINDENUMGROUP)>>endobj
-928 0 obj<</Subtype/Link/Rect[99.0 90.2 201.6 101.2]/Border[0 0 0]/A 927 0 R>>endobj
-929 0 obj<</S/Launch/F(#TEMPLATEHOMEDIR)>>endobj
-930 0 obj<</Subtype/Link/Rect[99.0 68.6 185.4 79.6]/Border[0 0 0]/A 929 0 R>>endobj
-931 0 obj<</S/Launch/F(#TEMPLATESHELL)>>endobj
-932 0 obj<</Subtype/Link/Rect[99.0 57.8 174.6 68.8]/Border[0 0 0]/A 931 0 R>>endobj
-933 0 obj[918 0 R
-920 0 R
-922 0 R
-924 0 R
-926 0 R
-928 0 R
-930 0 R
-932 0 R]endobj
-934 0 obj<</S/URI/URI(http://www.openldap.org/)>>endobj
-935 0 obj<</Subtype/Link/Rect[169.5 560.2 285.9 573.2]/Border[0 0 0]/A 934 0 R>>endobj
-936 0 obj<</S/URI/URI(http://iplanet.netscape.com/directory)>>endobj
-937 0 obj<</Subtype/Link/Rect[223.9 547.0 387.9 560.0]/Border[0 0 0]/A 936 0 R>>endobj
-938 0 obj<</S/URI/URI(http://www.ora.com/)>>endobj
-939 0 obj<</Subtype/Link/Rect[112.6 520.6 202.0 533.6]/Border[0 0 0]/A 938 0 R>>endobj
-940 0 obj<</S/URI/URI(http://www.unav.es/cti/ldap-smb/ldap-smb-2_2-howto.html)>>endobj
-941 0 obj<</Subtype/Link/Rect[125.1 454.6 267.5 467.6]/Border[0 0 0]/A 940 0 R>>endobj
-942 0 obj<</S/URI/URI(http://samba.idealx.org/)>>endobj
-943 0 obj<</Subtype/Link/Rect[243.7 441.4 287.3 454.4]/Border[0 0 0]/A 942 0 R>>endobj
-944 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-945 0 obj<</Subtype/Link/Rect[212.8 366.2 332.5 379.2]/Border[0 0 0]/A 944 0 R>>endobj
-946 0 obj[935 0 R
-937 0 R
-939 0 R
-941 0 R
-943 0 R
-945 0 R]endobj
-947 0 obj<</S/URI/URI(http://www.padl.com/)>>endobj
-948 0 obj<</Subtype/Link/Rect[284.3 602.2 380.9 615.2]/Border[0 0 0]/A 947 0 R>>endobj
-949 0 obj<</S/Launch/F(samba-patches@samba.org)>>endobj
-950 0 obj<</Subtype/Link/Rect[332.3 487.4 458.0 500.4]/Border[0 0 0]/A 949 0 R>>endobj
-951 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
-952 0 obj<</Subtype/Link/Rect[476.6 487.4 555.8 500.4]/Border[0 0 0]/A 951 0 R>>endobj
-953 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
-954 0 obj<</Subtype/Link/Rect[271.2 237.0 350.4 250.0]/Border[0 0 0]/A 953 0 R>>endobj
-955 0 obj[948 0 R
-950 0 R
-952 0 R
-954 0 R]endobj
-956 0 obj<</S/Launch/F(#LDAPSSL)>>endobj
-957 0 obj<</Subtype/Link/Rect[108.0 61.4 141.3 74.4]/Border[0 0 0]/A 956 0 R>>endobj
-958 0 obj[957 0 R]endobj
-959 0 obj<</S/Launch/F(#LDAPSERVER)>>endobj
-960 0 obj<</Subtype/Link/Rect[108.0 721.0 156.6 734.0]/Border[0 0 0]/A 959 0 R>>endobj
-961 0 obj<</S/Launch/F(#LDAPADMINDN)>>endobj
-962 0 obj<</Subtype/Link/Rect[108.0 707.8 170.9 720.8]/Border[0 0 0]/A 961 0 R>>endobj
-963 0 obj<</S/Launch/F(#LDAPSUFFIX)>>endobj
-964 0 obj<</Subtype/Link/Rect[108.0 694.6 155.4 707.6]/Border[0 0 0]/A 963 0 R>>endobj
-965 0 obj<</S/Launch/F(#LDAPFILTER)>>endobj
-966 0 obj<</Subtype/Link/Rect[108.0 681.4 151.1 694.4]/Border[0 0 0]/A 965 0 R>>endobj
-967 0 obj<</S/Launch/F(#LDAPPORT)>>endobj
-968 0 obj<</Subtype/Link/Rect[108.0 668.2 147.4 681.2]/Border[0 0 0]/A 967 0 R>>endobj
-969 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-970 0 obj<</Subtype/Link/Rect[186.9 641.8 243.1 654.8]/Border[0 0 0]/A 969 0 R>>endobj
-971 0 obj[960 0 R
-962 0 R
-964 0 R
-966 0 R
-968 0 R
-970 0 R]endobj
-972 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-973 0 obj<</Subtype/Link/Rect[72.0 566.6 176.8 579.6]/Border[0 0 0]/A 972 0 R>>endobj
-974 0 obj[973 0 R]endobj
-975 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
-976 0 obj<</Subtype/Link/Rect[72.0 523.0 176.7 536.0]/Border[0 0 0]/A 975 0 R>>endobj
-977 0 obj[976 0 R]endobj
-978 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
-979 0 obj<</Subtype/Link/Rect[302.7 445.4 381.8 458.4]/Border[0 0 0]/A 978 0 R>>endobj
-980 0 obj[979 0 R]endobj
-981 0 obj<</S/URI/URI(http://samba.org/samba/cvs.html)>>endobj
-982 0 obj<</Subtype/Link/Rect[354.3 573.4 500.7 586.4]/Border[0 0 0]/A 981 0 R>>endobj
-983 0 obj<</S/URI/URI(http://samba.org/cgi-bin/cvsweb)>>endobj
-984 0 obj<</Subtype/Link/Rect[135.9 373.8 283.2 386.8]/Border[0 0 0]/A 983 0 R>>endobj
-985 0 obj<</S/URI/URI(http://www.cyclic.com/)>>endobj
-986 0 obj<</Subtype/Link/Rect[391.6 262.6 498.2 275.6]/Border[0 0 0]/A 985 0 R>>endobj
-987 0 obj[982 0 R
-984 0 R
-986 0 R]endobj
-988 0 obj<</Subtype/Link/Rect[85.8 670.6 136.2 683.6]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 734 0]>>endobj
-989 0 obj<</Subtype/Link/Rect[130.0 657.4 162.1 670.4]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 655 0]>>endobj
-990 0 obj<</Subtype/Link/Rect[130.0 644.2 177.7 657.2]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 408 0]>>endobj
-991 0 obj<</Subtype/Link/Rect[130.0 631.0 158.4 644.0]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 293 0]>>endobj
-992 0 obj<</Subtype/Link/Rect[130.0 617.8 260.5 630.8]/Border[0 0 0]/Dest[1646 0 R/XYZ 0 228 0]>>endobj
-993 0 obj<</Subtype/Link/Rect[85.8 604.6 221.1 617.6]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 734 0]>>endobj
-994 0 obj<</Subtype/Link/Rect[130.0 591.4 216.2 604.4]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 668 0]>>endobj
-995 0 obj<</Subtype/Link/Rect[130.0 578.2 181.3 591.2]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 461 0]>>endobj
-996 0 obj<</Subtype/Link/Rect[174.2 565.0 533.6 578.0]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 427 0]>>endobj
-997 0 obj<</Subtype/Link/Rect[174.2 551.8 536.9 564.8]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 734 0]>>endobj
-998 0 obj<</Subtype/Link/Rect[174.2 538.6 490.2 551.6]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 523 0]>>endobj
-999 0 obj<</Subtype/Link/Rect[174.2 525.4 459.3 538.4]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 408 0]>>endobj
-1000 0 obj<</Subtype/Link/Rect[130.0 512.2 245.8 525.2]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 151 0]>>endobj
-1001 0 obj<</Subtype/Link/Rect[174.2 499.0 351.5 512.0]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 118 0]>>endobj
-1002 0 obj<</Subtype/Link/Rect[174.2 485.8 351.2 498.8]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 626 0]>>endobj
-1003 0 obj<</Subtype/Link/Rect[174.2 472.6 332.5 485.6]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 475 0]>>endobj
-1004 0 obj<</Subtype/Link/Rect[174.2 459.4 301.4 472.4]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 377 0]>>endobj
-1005 0 obj<</Subtype/Link/Rect[130.0 446.2 205.6 459.2]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 292 0]>>endobj
-1006 0 obj<</Subtype/Link/Rect[130.0 433.0 265.9 446.0]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 718 0]>>endobj
-1007 0 obj<</Subtype/Link/Rect[85.8 419.8 157.2 432.8]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 734 0]>>endobj
-1008 0 obj<</Subtype/Link/Rect[130.0 406.6 187.8 419.6]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 696 0]>>endobj
-1009 0 obj<</Subtype/Link/Rect[130.0 393.4 188.7 406.4]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 423 0]>>endobj
-1010 0 obj<</Subtype/Link/Rect[130.0 380.2 189.9 393.2]/Border[0 0 0]/Dest[1656 0 R/XYZ 0 282 0]>>endobj
-1011 0 obj<</Subtype/Link/Rect[130.0 367.0 198.4 380.0]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 613 0]>>endobj
-1012 0 obj<</Subtype/Link/Rect[130.0 353.8 269.0 366.8]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 260 0]>>endobj
-1013 0 obj<</Subtype/Link/Rect[130.0 340.6 167.6 353.6]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 159 0]>>endobj
-1014 0 obj<</Subtype/Link/Rect[85.8 327.4 224.5 340.4]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 734 0]>>endobj
-1015 0 obj<</Subtype/Link/Rect[130.0 314.2 187.8 327.2]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 696 0]>>endobj
-1016 0 obj<</Subtype/Link/Rect[130.0 301.0 188.4 314.0]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 529 0]>>endobj
-1017 0 obj<</Subtype/Link/Rect[130.0 287.8 155.4 300.8]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 199 0]>>endobj
-1018 0 obj<</Subtype/Link/Rect[174.2 274.6 203.6 287.6]/Border[0 0 0]/Dest[1660 0 R/XYZ 0 165 0]>>endobj
-1019 0 obj<</Subtype/Link/Rect[174.2 261.4 203.6 274.4]/Border[0 0 0]/Dest[1662 0 R/XYZ 0 734 0]>>endobj
-1020 0 obj<</Subtype/Link/Rect[174.2 248.2 203.6 261.2]/Border[0 0 0]/Dest[1662 0 R/XYZ 0 530 0]>>endobj
-1021 0 obj<</Subtype/Link/Rect[174.2 235.0 203.6 248.0]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 626 0]>>endobj
-1022 0 obj<</Subtype/Link/Rect[174.2 221.8 203.6 234.8]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 475 0]>>endobj
-1023 0 obj<</Subtype/Link/Rect[174.2 208.6 203.6 221.6]/Border[0 0 0]/Dest[1664 0 R/XYZ 0 351 0]>>endobj
-1024 0 obj<</Subtype/Link/Rect[174.2 195.4 203.6 208.4]/Border[0 0 0]/Dest[1666 0 R/XYZ 0 734 0]>>endobj
-1025 0 obj<</Subtype/Link/Rect[174.2 182.2 203.6 195.2]/Border[0 0 0]/Dest[1666 0 R/XYZ 0 371 0]>>endobj
-1026 0 obj<</Subtype/Link/Rect[174.2 169.0 203.6 182.0]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 705 0]>>endobj
-1027 0 obj<</Subtype/Link/Rect[179.8 155.8 214.6 168.8]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 515 0]>>endobj
-1028 0 obj<</Subtype/Link/Rect[179.8 142.6 214.6 155.6]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 377 0]>>endobj
-1029 0 obj<</Subtype/Link/Rect[130.0 129.4 227.5 142.4]/Border[0 0 0]/Dest[1668 0 R/XYZ 0 239 0]>>endobj
-1030 0 obj[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
-1024 0 R
-1025 0 R
-1026 0 R
-1027 0 R
-1028 0 R
-1029 0 R]endobj
-1031 0 obj<</S/URI/URI(http://www.thursby.com/)>>endobj
-1032 0 obj<</Subtype/Link/Rect[91.9 621.8 131.3 634.8]/Border[0 0 0]/A 1031 0 R>>endobj
-1033 0 obj<</S/URI/URI(http://www.umich.edu/~rsug/netatalk/)>>endobj
-1034 0 obj<</Subtype/Link/Rect[72.0 503.0 109.3 516.0]/Border[0 0 0]/A 1033 0 R>>endobj
-1035 0 obj<</S/URI/URI(http://www.cs.mu.oz.au/appletalk/atalk.html)>>endobj
-1036 0 obj<</Subtype/Link/Rect[130.7 503.0 154.8 516.0]/Border[0 0 0]/A 1035 0 R>>endobj
-1037 0 obj<</S/URI/URI(http://www.eats.com/linux_mac_win.html)>>endobj
-1038 0 obj<</Subtype/Link/Rect[72.0 476.6 258.1 489.6]/Border[0 0 0]/A 1037 0 R>>endobj
-1039 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/warp.html)>>endobj
-1040 0 obj<</Subtype/Link/Rect[325.6 367.8 544.5 380.8]/Border[0 0 0]/A 1039 0 R>>endobj
-1041 0 obj[1032 0 R
-1034 0 R
-1036 0 R
-1038 0 R
-1040 0 R]endobj
-1042 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/)>>endobj
-1043 0 obj<</Subtype/Link/Rect[72.0 661.0 319.2 674.0]/Border[0 0 0]/A 1042 0 R>>endobj
-1044 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/lanman.html)>>endobj
-1045 0 obj<</Subtype/Link/Rect[340.6 661.0 538.7 674.0]/Border[0 0 0]/A 1044 0 R>>endobj
-1046 0 obj<</S/URI/URI(ftp://ftp.cdrom.com/pub/os2/network/ndis/)>>endobj
-1047 0 obj<</Subtype/Link/Rect[173.1 538.6 363.5 551.6]/Border[0 0 0]/A 1046 0 R>>endobj
-1048 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/fix.html)>>endobj
-1049 0 obj<</Subtype/Link/Rect[220.2 450.2 429.3 463.2]/Border[0 0 0]/A 1048 0 R>>endobj
-1050 0 obj[1043 0 R
-1045 0 R
-1047 0 R
-1049 0 R]endobj
-1051 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-1052 0 obj<</Subtype/Link/Rect[218.7 321.4 275.0 334.4]/Border[0 0 0]/A 1051 0 R>>endobj
-1053 0 obj[1052 0 R]endobj
-1054 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-1055 0 obj<</Subtype/Link/Rect[493.6 579.8 549.8 592.8]/Border[0 0 0]/A 1054 0 R>>endobj
-1056 0 obj[1055 0 R]endobj
-1057 0 obj<</S/Launch/F(samba@samba.org)>>endobj
-1058 0 obj<</Subtype/Link/Rect[311.8 650.2 398.3 663.2]/Border[0 0 0]/A 1057 0 R>>endobj
-1059 0 obj<</S/URI/URI(mailto:samba-technical@samba.org)>>endobj
-1060 0 obj<</Subtype/Link/Rect[126.4 637.0 258.8 650.0]/Border[0 0 0]/A 1059 0 R>>endobj
-1061 0 obj<</S/URI/URI(http://samba.org/samba/)>>endobj
-1062 0 obj<</Subtype/Link/Rect[161.5 439.0 270.3 452.0]/Border[0 0 0]/A 1061 0 R>>endobj
-1063 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
-1064 0 obj<</Subtype/Link/Rect[185.0 337.4 229.3 350.4]/Border[0 0 0]/A 1063 0 R>>endobj
-1065 0 obj[1058 0 R
-1060 0 R
-1062 0 R
-1064 0 R]endobj
-1066 0 obj<</S/URI/URI(mailto:samba@samba.org)>>endobj
-1067 0 obj<</Subtype/Link/Rect[164.2 180.2 250.8 193.2]/Border[0 0 0]/A 1066 0 R>>endobj
-1068 0 obj<</S/URI/URI(http://samba.org/samba)>>endobj
-1069 0 obj<</Subtype/Link/Rect[233.0 167.0 338.7 180.0]/Border[0 0 0]/A 1068 0 R>>endobj
-1070 0 obj[1067 0 R
-1069 0 R]endobj
-1071 0 obj<</Dests 1072 0 R>>endobj
-1072 0 obj<</Kids[1073 0 R]>>endobj
-1073 0 obj<</Limits[(10)(winbind)]/Names[(10)1074 0 R(11)1075 0 R(16)1076 0 R(17)1077 0 R(3)1078 0 R(31)1079 0 R(4)1080 0 R(ads)1081 0 R(aen1005)1082 0 R(aen1013)1083 0 R(aen1020)1084 0 R(aen1056)1085 0 R(aen1069)1086 0 R(aen1072)1087 0 R(aen1082)1088 0 R(aen1118)1089 0 R(aen1122)1090 0 R(aen1130)1091 0 R(aen1133)1092 0 R(aen1136)1093 0 R(aen1139)1094 0 R(aen1143)1095 0 R(aen1160)1096 0 R(aen1178)1097 0 R(aen1184)1098 0 R(aen1193)1099 0 R(aen1205)1100 0 R(aen1215)1101 0 R(aen1219)1102 0 R(aen1231)1103 0 R(aen1236)1104 0 R(aen1239)1105 0 R(aen1261)1106 0 R(aen128)1107 0 R(aen1325)1108 0 R(aen1330)1109 0 R(aen1346)1110 0 R(aen1348)1111 0 R(aen1362)1112 0 R(aen1384)1113 0 R(aen1400)1114 0 R(aen1416)1115 0 R(aen1427)1116 0 R(aen1435)1117 0 R(aen144)1118 0 R(aen1447)1119 0 R(aen1459)1120 0 R(aen1464)1121 0 R(aen1472)1122 0 R(aen1477)1123 0 R(aen1480)1124 0 R(aen1492)1125 0 R(aen1502)1126 0 R(aen153)1127 0 R(aen1530)1128 0 R(aen1538)1129 0 R(aen1555)1130 0 R(aen1562)1131 0 R(aen1567)1132 0 R(aen1572)1133 0 R(aen1593)1134 0 R(aen1602)1135 0 R(aen1613)1136 0 R(aen1633)1137 0 R(aen1648)1138 0 R(aen1662)1139 0 R(aen1669)1140 0 R(aen169)1141 0 R(aen1691)1142 0 R(aen1755)1143 0 R(aen1776)1144 0 R(aen18)1145 0 R(aen1820)1146 0 R(aen1827)1147 0 R(aen183)1148 0 R(aen1847)1149 0 R(aen188)1150 0 R(aen1882)1151 0 R(aen1908)1152 0 R(aen192)1153 0 R(aen1930)1154 0 R(aen1938)1155 0 R(aen195)1156 0 R(aen1973)1157 0 R(aen1989)1158 0 R(aen20)1159 0 R(aen2000)1160 0 R(aen2030)1161 0 R(aen2038)1162 0 R(aen204)1163 0 R(aen2042)1164 0 R(aen2052)1165 0 R(aen2055)1166 0 R(aen2059)1167 0 R(aen2081)1168 0 R(aen2083)1169 0 R(aen209)1170 0 R(aen2099)1171 0 R(aen2108)1172 0 R(aen2116)1173 0 R(aen2144)1174 0 R(aen2155)1175 0 R(aen2167)1176 0 R(aen2170)1177 0 R(aen2173)1178 0 R(aen218)1179 0 R(aen2186)1180 0 R(aen2197)1181 0 R(aen2249)1182 0 R(aen2253)1183 0 R(aen2266)1184 0 R(aen2273)1185 0 R(aen2277)1186 0 R(aen228)1187 0 R(aen2282)1188 0 R(aen2286)1189 0 R(aen2302)1190 0 R(aen2310)1191 0 R(aen2314)1192 0 R(aen2317)1193 0 R(aen232)1194 0 R(aen2324)1195 0 R(aen2337)1196 0 R(aen2351)1197 0 R(aen2362)1198 0 R(aen2381)1199 0 R(aen241)1200 0 R(aen2414)1201 0 R(aen2430)1202 0 R(aen2441)1203 0 R(aen2477)1204 0 R(aen2479)1205 0 R(aen248)1206 0 R(aen2496)1207 0 R(aen25)1208 0 R(aen2503)1209 0 R(aen2509)1210 0 R(aen2526)1211 0 R(aen253)1212 0 R(aen2559)1213 0 R(aen2566)1214 0 R(aen2576)1215 0 R(aen2590)1216 0 R(aen2596)1217 0 R(aen2611)1218 0 R(aen2616)1219 0 R(aen2635)1220 0 R(aen2641)1221 0 R(aen2664)1222 0 R(aen2684)1223 0 R(aen2713)1224 0 R(aen2718)1225 0 R(aen2730)1226 0 R(aen2732)1227 0 R(aen2749)1228 0 R(aen2777)1229 0 R(aen2782)1230 0 R(aen2802)1231 0 R(aen2872)1232 0 R(aen288)1233 0 R(aen2880)1234 0 R(aen2891)1235 0 R(aen2896)1236 0 R(aen2899)1237 0 R(aen2904)1238 0 R(aen2982)1239 0 R(aen2988)1240 0 R(aen2990)1241 0 R(aen2998)1242 0 R(aen3004)1243 0 R(aen3008)1244 0 R(aen3015)1245 0 R(aen3020)1246 0 R(aen3025)1247 0 R(aen3029)1248 0 R(aen3034)1249 0 R(aen3037)1250 0 R(aen3040)1251 0 R(aen3045)1252 0 R(aen3049)1253 0 R(aen3056)1254 0 R(aen3061)1255 0 R(aen3065)1256 0 R(aen3068)1257 0 R(aen307)1258 0 R(aen3100)1259 0 R(aen3106)1260 0 R(aen3115)1261 0 R(aen3121)1262 0 R(aen3125)1263 0 R(aen3154)1264 0 R(aen3175)1265 0 R(aen3184)1266 0 R(aen3186)1267 0 R(aen3201)1268 0 R(aen3210)1269 0 R(aen3214)1270 0 R(aen3224)1271 0 R(aen3226)1272 0 R(aen3231)1273 0 R(aen3236)1274 0 R(aen3240)1275 0 R(aen3245)1276 0 R(aen325)1277 0 R(aen3261)1278 0 R(aen3285)1279 0 R(aen3295)1280 0 R(aen3301)1281 0 R(aen3318)1282 0 R(aen3328)1283 0 R(aen3331)1284 0 R(aen335)1285 0 R(aen3354)1286 0 R(aen3359)1287 0 R(aen3369)1288 0 R(aen3371)1289 0 R(aen3377)1290 0 R(aen3383)1291 0 R(aen3398)1292 0 R(aen3403)1293 0 R(aen3409)1294 0 R(aen3417)1295 0 R(aen344)1296 0 R(aen3443)1297 0 R(aen3460)1298 0 R(aen3468)1299 0 R(aen3474)1300 0 R(aen3479)1301 0 R(aen35)1302 0 R(aen362)1303 0 R(aen365)1304 0 R(aen377)1305 0 R(aen392)1306 0 R(aen4)1307 0 R(aen400)1308 0 R(aen414)1309 0 R(aen419)1310 0 R(aen430)1311 0 R(aen436)1312 0 R(aen472)1313 0 R(aen477)1314 0 R(aen496)1315 0 R(aen503)1316 0 R(aen512)1317 0 R(aen544)1318 0 R(aen546)1319 0 R(aen566)1320 0 R(aen572)1321 0 R(aen611)1322 0 R(aen63)1323 0 R(aen654)1324 0 R(aen67)1325 0 R(aen673)1326 0 R(aen714)1327 0 R(aen723)1328 0 R(aen738)1329 0 R(aen786)1330 0 R(aen8)1331 0 R(aen81)1332 0 R(aen830)1333 0 R(aen89)1334 0 R(aen944)1335 0 R(aen970)1336 0 R(aen989)1337 0 R(aen99)1338 0 R(aen997)1339 0 R(browsing-quick)1340 0 R(bugreport)1341 0 R(cvs-access)1342 0 R(diagnosis)1343 0 R(domain-security)1344 0 R(groupmapping)1345 0 R(improved-browsing)1346 0 R(install)1347 0 R(integrate-ms-networks)1348 0 R(msdfs)1349 0 R(oplocks)1350 0 R(other-clients)1351 0 R(pam)1352 0 R(pdb-mysql)1353 0 R(pdb-xml)1354 0 R(portability)1355 0 R(printing)1356 0 R(pwencrypt)1357 0 R(samba-bdc)1358 0 R(samba-howto-collection)1359 0 R(samba-howto-collection.html)1360 0 R(samba-ldap-howto)1361 0 R(samba-pdc)1362 0 R(securitylevels)1363 0 R(speed)1364 0 R(unix-permissions)1365 0 R(winbind)1366 0 R]>>endobj
-1074 0 obj<</D[1448 0 R/XYZ 0 734 0]>>endobj
-1075 0 obj<</D[1450 0 R/XYZ 0 734 0]>>endobj
-1076 0 obj<</D[1504 0 R/XYZ 0 734 0]>>endobj
-1077 0 obj<</D[1506 0 R/XYZ 0 734 0]>>endobj
-1078 0 obj<</D[1394 0 R/XYZ 0 734 0]>>endobj
-1079 0 obj<</D[1642 0 R/XYZ 0 734 0]>>endobj
-1080 0 obj<</D[1396 0 R/XYZ 0 734 0]>>endobj
-1081 0 obj<</D[1492 0 R/XYZ 0 734 0]>>endobj
-1082 0 obj<</D[1474 0 R/XYZ 0 366 0]>>endobj
-1083 0 obj<</D[1474 0 R/XYZ 0 142 0]>>endobj
-1084 0 obj<</D[1476 0 R/XYZ 0 678 0]>>endobj
-1085 0 obj<</D[1478 0 R/XYZ 0 362 0]>>endobj
-1086 0 obj<</D[1480 0 R/XYZ 0 451 0]>>endobj
-1087 0 obj<</D[1480 0 R/XYZ 0 370 0]>>endobj
-1088 0 obj<</D[1482 0 R/XYZ 0 718 0]>>endobj
-1089 0 obj<</D[1486 0 R/XYZ 0 672 0]>>endobj
-1090 0 obj<</D[1486 0 R/XYZ 0 597 0]>>endobj
-1091 0 obj<</D[1486 0 R/XYZ 0 225 0]>>endobj
-1092 0 obj<</D[1488 0 R/XYZ 0 734 0]>>endobj
-1093 0 obj<</D[1488 0 R/XYZ 0 609 0]>>endobj
-1094 0 obj<</D[1488 0 R/XYZ 0 524 0]>>endobj
-1095 0 obj<</D[1488 0 R/XYZ 0 383 0]>>endobj
-1096 0 obj<</D[1490 0 R/XYZ 0 620 0]>>endobj
-1097 0 obj<</D[1492 0 R/XYZ 0 524 0]>>endobj
-1098 0 obj<</D[1492 0 R/XYZ 0 417 0]>>endobj
-1099 0 obj<</D[1492 0 R/XYZ 0 241 0]>>endobj
-1100 0 obj<</D[1494 0 R/XYZ 0 556 0]>>endobj
-1101 0 obj<</D[1494 0 R/XYZ 0 240 0]>>endobj
-1102 0 obj<</D[1494 0 R/XYZ 0 151 0]>>endobj
-1103 0 obj<</D[1496 0 R/XYZ 0 692 0]>>endobj
-1104 0 obj<</D[1496 0 R/XYZ 0 603 0]>>endobj
-1105 0 obj<</D[1496 0 R/XYZ 0 528 0]>>endobj
-1106 0 obj<</D[1498 0 R/XYZ 0 696 0]>>endobj
-1107 0 obj<</D[1404 0 R/XYZ 0 247 0]>>endobj
-1108 0 obj<</D[1500 0 R/XYZ 0 362 0]>>endobj
-1109 0 obj<</D[1500 0 R/XYZ 0 155 0]>>endobj
-1110 0 obj<</D[1502 0 R/XYZ 0 337 0]>>endobj
-1111 0 obj<</D[1504 0 R/XYZ 0 696 0]>>endobj
-1112 0 obj<</D[1512 0 R/XYZ 0 672 0]>>endobj
-1113 0 obj<</D[1512 0 R/XYZ 0 439 0]>>endobj
-1114 0 obj<</D[1512 0 R/XYZ 0 311 0]>>endobj
-1115 0 obj<</D[1514 0 R/XYZ 0 441 0]>>endobj
-1116 0 obj<</D[1514 0 R/XYZ 0 303 0]>>endobj
-1117 0 obj<</D[1514 0 R/XYZ 0 157 0]>>endobj
-1118 0 obj<</D[1406 0 R/XYZ 0 665 0]>>endobj
-1119 0 obj<</D[1516 0 R/XYZ 0 339 0]>>endobj
-1120 0 obj<</D[1518 0 R/XYZ 0 266 0]>>endobj
-1121 0 obj<</D[1520 0 R/XYZ 0 734 0]>>endobj
-1122 0 obj<</D[1522 0 R/XYZ 0 459 0]>>endobj
-1123 0 obj<</D[1522 0 R/XYZ 0 361 0]>>endobj
-1124 0 obj<</D[1522 0 R/XYZ 0 224 0]>>endobj
-1125 0 obj<</D[1524 0 R/XYZ 0 670 0]>>endobj
-1126 0 obj<</D[1524 0 R/XYZ 0 126 0]>>endobj
-1127 0 obj<</D[1406 0 R/XYZ 0 498 0]>>endobj
-1128 0 obj<</D[1528 0 R/XYZ 0 734 0]>>endobj
-1129 0 obj<</D[1528 0 R/XYZ 0 484 0]>>endobj
-1130 0 obj<</D[1528 0 R/XYZ 0 132 0]>>endobj
-1131 0 obj<</D[1530 0 R/XYZ 0 523 0]>>endobj
-1132 0 obj<</D[1530 0 R/XYZ 0 377 0]>>endobj
-1133 0 obj<</D[1530 0 R/XYZ 0 263 0]>>endobj
-1134 0 obj<</D[1532 0 R/XYZ 0 672 0]>>endobj
-1135 0 obj<</D[1532 0 R/XYZ 0 497 0]>>endobj
-1136 0 obj<</D[1532 0 R/XYZ 0 330 0]>>endobj
-1137 0 obj<</D[1534 0 R/XYZ 0 665 0]>>endobj
-1138 0 obj<</D[1534 0 R/XYZ 0 432 0]>>endobj
-1139 0 obj<</D[1534 0 R/XYZ 0 189 0]>>endobj
-1140 0 obj<</D[1536 0 R/XYZ 0 692 0]>>endobj
-1141 0 obj<</D[1406 0 R/XYZ 0 330 0]>>endobj
-1142 0 obj<</D[1536 0 R/XYZ 0 260 0]>>endobj
-1143 0 obj<</D[1540 0 R/XYZ 0 599 0]>>endobj
-1144 0 obj<</D[1542 0 R/XYZ 0 672 0]>>endobj
-1145 0 obj<</D[1392 0 R/XYZ 0 258 0]>>endobj
-1146 0 obj<</D[1544 0 R/XYZ 0 148 0]>>endobj
-1147 0 obj<</D[1546 0 R/XYZ 0 705 0]>>endobj
-1148 0 obj<</D[1408 0 R/XYZ 0 734 0]>>endobj
-1149 0 obj<</D[1548 0 R/XYZ 0 672 0]>>endobj
-1150 0 obj<</D[1408 0 R/XYZ 0 553 0]>>endobj
-1151 0 obj<</D[1550 0 R/XYZ 0 652 0]>>endobj
-1152 0 obj<</D[1552 0 R/XYZ 0 696 0]>>endobj
-1153 0 obj<</D[1408 0 R/XYZ 0 494 0]>>endobj
-1154 0 obj<</D[1552 0 R/XYZ 0 317 0]>>endobj
-1155 0 obj<</D[1552 0 R/XYZ 0 131 0]>>endobj
-1156 0 obj<</D[1408 0 R/XYZ 0 409 0]>>endobj
-1157 0 obj<</D[1556 0 R/XYZ 0 583 0]>>endobj
-1158 0 obj<</D[1556 0 R/XYZ 0 169 0]>>endobj
-1159 0 obj<</D[1394 0 R/XYZ 0 696 0]>>endobj
-1160 0 obj<</D[1558 0 R/XYZ 0 470 0]>>endobj
-1161 0 obj<</D[1560 0 R/XYZ 0 297 0]>>endobj
-1162 0 obj<</D[1562 0 R/XYZ 0 734 0]>>endobj
-1163 0 obj<</D[1410 0 R/XYZ 0 734 0]>>endobj
-1164 0 obj<</D[1562 0 R/XYZ 0 632 0]>>endobj
-1165 0 obj<</D[1562 0 R/XYZ 0 507 0]>>endobj
-1166 0 obj<</D[1562 0 R/XYZ 0 423 0]>>endobj
-1167 0 obj<</D[1562 0 R/XYZ 0 325 0]>>endobj
-1168 0 obj<</D[1564 0 R/XYZ 0 440 0]>>endobj
-1169 0 obj<</D[1564 0 R/XYZ 0 406 0]>>endobj
-1170 0 obj<</D[1410 0 R/XYZ 0 583 0]>>endobj
-1171 0 obj<</D[1566 0 R/XYZ 0 479 0]>>endobj
-1172 0 obj<</D[1568 0 R/XYZ 0 692 0]>>endobj
-1173 0 obj<</D[1568 0 R/XYZ 0 511 0]>>endobj
-1174 0 obj<</D[1570 0 R/XYZ 0 734 0]>>endobj
-1175 0 obj<</D[1570 0 R/XYZ 0 394 0]>>endobj
-1176 0 obj<</D[1572 0 R/XYZ 0 718 0]>>endobj
-1177 0 obj<</D[1572 0 R/XYZ 0 633 0]>>endobj
-1178 0 obj<</D[1572 0 R/XYZ 0 535 0]>>endobj
-1179 0 obj<</D[1410 0 R/XYZ 0 128 0]>>endobj
-1180 0 obj<</D[1574 0 R/XYZ 0 696 0]>>endobj
-1181 0 obj<</D[1574 0 R/XYZ 0 467 0]>>endobj
-1182 0 obj<</D[1578 0 R/XYZ 0 672 0]>>endobj
-1183 0 obj<</D[1578 0 R/XYZ 0 544 0]>>endobj
-1184 0 obj<</D[1578 0 R/XYZ 0 231 0]>>endobj
-1185 0 obj<</D[1580 0 R/XYZ 0 560 0]>>endobj
-1186 0 obj<</D[1580 0 R/XYZ 0 409 0]>>endobj
-1187 0 obj<</D[1414 0 R/XYZ 0 696 0]>>endobj
-1188 0 obj<</D[1580 0 R/XYZ 0 294 0]>>endobj
-1189 0 obj<</D[1582 0 R/XYZ 0 734 0]>>endobj
-1190 0 obj<</D[1582 0 R/XYZ 0 292 0]>>endobj
-1191 0 obj<</D[1584 0 R/XYZ 0 665 0]>>endobj
-1192 0 obj<</D[1584 0 R/XYZ 0 488 0]>>endobj
-1193 0 obj<</D[1584 0 R/XYZ 0 351 0]>>endobj
-1194 0 obj<</D[1414 0 R/XYZ 0 515 0]>>endobj
-1195 0 obj<</D[1584 0 R/XYZ 0 209 0]>>endobj
-1196 0 obj<</D[1586 0 R/XYZ 0 599 0]>>endobj
-1197 0 obj<</D[1586 0 R/XYZ 0 330 0]>>endobj
-1198 0 obj<</D[1586 0 R/XYZ 0 192 0]>>endobj
-1199 0 obj<</D[1588 0 R/XYZ 0 692 0]>>endobj
-1200 0 obj<</D[1414 0 R/XYZ 0 137 0]>>endobj
-1201 0 obj<</D[1588 0 R/XYZ 0 288 0]>>endobj
-1202 0 obj<</D[1590 0 R/XYZ 0 718 0]>>endobj
-1203 0 obj<</D[1590 0 R/XYZ 0 571 0]>>endobj
-1204 0 obj<</D[1592 0 R/XYZ 0 527 0]>>endobj
-1205 0 obj<</D[1592 0 R/XYZ 0 501 0]>>endobj
-1206 0 obj<</D[1416 0 R/XYZ 0 533 0]>>endobj
-1207 0 obj<</D[1594 0 R/XYZ 0 600 0]>>endobj
-1208 0 obj<</D[1400 0 R/XYZ 0 696 0]>>endobj
-1209 0 obj<</D[1596 0 R/XYZ 0 686 0]>>endobj
-1210 0 obj<</D[1596 0 R/XYZ 0 620 0]>>endobj
-1211 0 obj<</D[1596 0 R/XYZ 0 381 0]>>endobj
-1212 0 obj<</D[1416 0 R/XYZ 0 273 0]>>endobj
-1213 0 obj<</D[1598 0 R/XYZ 0 429 0]>>endobj
-1214 0 obj<</D[1600 0 R/XYZ 0 296 0]>>endobj
-1215 0 obj<</D[1602 0 R/XYZ 0 734 0]>>endobj
-1216 0 obj<</D[1604 0 R/XYZ 0 696 0]>>endobj
-1217 0 obj<</D[1604 0 R/XYZ 0 595 0]>>endobj
-1218 0 obj<</D[1606 0 R/XYZ 0 568 0]>>endobj
-1219 0 obj<</D[1606 0 R/XYZ 0 414 0]>>endobj
-1220 0 obj<</D[1608 0 R/XYZ 0 696 0]>>endobj
-1221 0 obj<</D[1608 0 R/XYZ 0 608 0]>>endobj
-1222 0 obj<</D[1610 0 R/XYZ 0 672 0]>>endobj
-1223 0 obj<</D[1610 0 R/XYZ 0 412 0]>>endobj
-1224 0 obj<</D[1612 0 R/XYZ 0 573 0]>>endobj
-1225 0 obj<</D[1612 0 R/XYZ 0 471 0]>>endobj
-1226 0 obj<</D[1614 0 R/XYZ 0 734 0]>>endobj
-1227 0 obj<</D[1614 0 R/XYZ 0 700 0]>>endobj
-1228 0 obj<</D[1614 0 R/XYZ 0 143 0]>>endobj
-1229 0 obj<</D[1616 0 R/XYZ 0 243 0]>>endobj
-1230 0 obj<</D[1618 0 R/XYZ 0 718 0]>>endobj
-1231 0 obj<</D[1618 0 R/XYZ 0 336 0]>>endobj
-1232 0 obj<</D[1620 0 R/XYZ 0 322 0]>>endobj
-1233 0 obj<</D[1422 0 R/XYZ 0 560 0]>>endobj
-1234 0 obj<</D[1622 0 R/XYZ 0 492 0]>>endobj
-1235 0 obj<</D[1624 0 R/XYZ 0 672 0]>>endobj
-1236 0 obj<</D[1624 0 R/XYZ 0 557 0]>>endobj
-1237 0 obj<</D[1624 0 R/XYZ 0 469 0]>>endobj
-1238 0 obj<</D[1624 0 R/XYZ 0 358 0]>>endobj
-1239 0 obj<</D[1630 0 R/XYZ 0 696 0]>>endobj
-1240 0 obj<</D[1630 0 R/XYZ 0 449 0]>>endobj
-1241 0 obj<</D[1630 0 R/XYZ 0 416 0]>>endobj
-1242 0 obj<</D[1630 0 R/XYZ 0 146 0]>>endobj
-1243 0 obj<</D[1632 0 R/XYZ 0 652 0]>>endobj
-1244 0 obj<</D[1632 0 R/XYZ 0 515 0]>>endobj
-1245 0 obj<</D[1632 0 R/XYZ 0 255 0]>>endobj
-1246 0 obj<</D[1634 0 R/XYZ 0 718 0]>>endobj
-1247 0 obj<</D[1634 0 R/XYZ 0 537 0]>>endobj
-1248 0 obj<</D[1634 0 R/XYZ 0 409 0]>>endobj
-1249 0 obj<</D[1634 0 R/XYZ 0 189 0]>>endobj
-1250 0 obj<</D[1636 0 R/XYZ 0 734 0]>>endobj
-1251 0 obj<</D[1636 0 R/XYZ 0 645 0]>>endobj
-1252 0 obj<</D[1636 0 R/XYZ 0 477 0]>>endobj
-1253 0 obj<</D[1636 0 R/XYZ 0 349 0]>>endobj
-1254 0 obj<</D[1636 0 R/XYZ 0 129 0]>>endobj
-1255 0 obj<</D[1638 0 R/XYZ 0 639 0]>>endobj
-1256 0 obj<</D[1638 0 R/XYZ 0 511 0]>>endobj
-1257 0 obj<</D[1638 0 R/XYZ 0 436 0]>>endobj
-1258 0 obj<</D[1424 0 R/XYZ 0 613 0]>>endobj
-1259 0 obj<</D[1640 0 R/XYZ 0 388 0]>>endobj
-1260 0 obj<</D[1640 0 R/XYZ 0 170 0]>>endobj
-1261 0 obj<</D[1644 0 R/XYZ 0 655 0]>>endobj
-1262 0 obj<</D[1644 0 R/XYZ 0 408 0]>>endobj
-1263 0 obj<</D[1644 0 R/XYZ 0 293 0]>>endobj
-1264 0 obj<</D[1646 0 R/XYZ 0 228 0]>>endobj
-1265 0 obj<</D[1648 0 R/XYZ 0 668 0]>>endobj
-1266 0 obj<</D[1648 0 R/XYZ 0 461 0]>>endobj
-1267 0 obj<</D[1648 0 R/XYZ 0 427 0]>>endobj
-1268 0 obj<</D[1650 0 R/XYZ 0 734 0]>>endobj
-1269 0 obj<</D[1650 0 R/XYZ 0 523 0]>>endobj
-1270 0 obj<</D[1650 0 R/XYZ 0 408 0]>>endobj
-1271 0 obj<</D[1650 0 R/XYZ 0 151 0]>>endobj
-1272 0 obj<</D[1650 0 R/XYZ 0 118 0]>>endobj
-1273 0 obj<</D[1652 0 R/XYZ 0 626 0]>>endobj
-1274 0 obj<</D[1652 0 R/XYZ 0 475 0]>>endobj
-1275 0 obj<</D[1652 0 R/XYZ 0 377 0]>>endobj
-1276 0 obj<</D[1652 0 R/XYZ 0 292 0]>>endobj
-1277 0 obj<</D[1426 0 R/XYZ 0 622 0]>>endobj
-1278 0 obj<</D[1654 0 R/XYZ 0 718 0]>>endobj
-1279 0 obj<</D[1656 0 R/XYZ 0 696 0]>>endobj
-1280 0 obj<</D[1656 0 R/XYZ 0 423 0]>>endobj
-1281 0 obj<</D[1656 0 R/XYZ 0 282 0]>>endobj
-1282 0 obj<</D[1658 0 R/XYZ 0 613 0]>>endobj
-1283 0 obj<</D[1658 0 R/XYZ 0 260 0]>>endobj
-1284 0 obj<</D[1658 0 R/XYZ 0 159 0]>>endobj
-1285 0 obj<</D[1426 0 R/XYZ 0 266 0]>>endobj
-1286 0 obj<</D[1660 0 R/XYZ 0 696 0]>>endobj
-1287 0 obj<</D[1660 0 R/XYZ 0 529 0]>>endobj
-1288 0 obj<</D[1660 0 R/XYZ 0 199 0]>>endobj
-1289 0 obj<</D[1660 0 R/XYZ 0 165 0]>>endobj
-1290 0 obj<</D[1662 0 R/XYZ 0 734 0]>>endobj
-1291 0 obj<</D[1662 0 R/XYZ 0 530 0]>>endobj
-1292 0 obj<</D[1664 0 R/XYZ 0 626 0]>>endobj
-1293 0 obj<</D[1664 0 R/XYZ 0 475 0]>>endobj
-1294 0 obj<</D[1664 0 R/XYZ 0 351 0]>>endobj
-1295 0 obj<</D[1666 0 R/XYZ 0 734 0]>>endobj
-1296 0 obj<</D[1428 0 R/XYZ 0 520 0]>>endobj
-1297 0 obj<</D[1666 0 R/XYZ 0 371 0]>>endobj
-1298 0 obj<</D[1668 0 R/XYZ 0 705 0]>>endobj
-1299 0 obj<</D[1668 0 R/XYZ 0 515 0]>>endobj
-1300 0 obj<</D[1668 0 R/XYZ 0 377 0]>>endobj
-1301 0 obj<</D[1668 0 R/XYZ 0 239 0]>>endobj
-1302 0 obj<</D[1400 0 R/XYZ 0 568 0]>>endobj
-1303 0 obj<</D[1430 0 R/XYZ 0 734 0]>>endobj
-1304 0 obj<</D[1430 0 R/XYZ 0 645 0]>>endobj
-1305 0 obj<</D[1432 0 R/XYZ 0 696 0]>>endobj
-1306 0 obj<</D[1434 0 R/XYZ 0 604 0]>>endobj
-1307 0 obj<</D[1384 0 R/XYZ 0 696 0]>>endobj
-1308 0 obj<</D[1434 0 R/XYZ 0 159 0]>>endobj
-1309 0 obj<</D[1436 0 R/XYZ 0 483 0]>>endobj
-1310 0 obj<</D[1436 0 R/XYZ 0 305 0]>>endobj
-1311 0 obj<</D[1438 0 R/XYZ 0 467 0]>>endobj
-1312 0 obj<</D[1438 0 R/XYZ 0 187 0]>>endobj
-1313 0 obj<</D[1442 0 R/XYZ 0 672 0]>>endobj
-1314 0 obj<</D[1442 0 R/XYZ 0 531 0]>>endobj
-1315 0 obj<</D[1444 0 R/XYZ 0 734 0]>>endobj
-1316 0 obj<</D[1444 0 R/XYZ 0 609 0]>>endobj
-1317 0 obj<</D[1444 0 R/XYZ 0 511 0]>>endobj
-1318 0 obj<</D[1446 0 R/XYZ 0 681 0]>>endobj
-1319 0 obj<</D[1448 0 R/XYZ 0 696 0]>>endobj
-1320 0 obj<</D[1452 0 R/XYZ 0 672 0]>>endobj
-1321 0 obj<</D[1452 0 R/XYZ 0 584 0]>>endobj
-1322 0 obj<</D[1454 0 R/XYZ 0 718 0]>>endobj
-1323 0 obj<</D[1400 0 R/XYZ 0 163 0]>>endobj
-1324 0 obj<</D[1456 0 R/XYZ 0 613 0]>>endobj
-1325 0 obj<</D[1402 0 R/XYZ 0 734 0]>>endobj
-1326 0 obj<</D[1456 0 R/XYZ 0 227 0]>>endobj
-1327 0 obj<</D[1458 0 R/XYZ 0 319 0]>>endobj
-1328 0 obj<</D[1460 0 R/XYZ 0 734 0]>>endobj
-1329 0 obj<</D[1460 0 R/XYZ 0 385 0]>>endobj
-1330 0 obj<</D[1462 0 R/XYZ 0 129 0]>>endobj
-1331 0 obj<</D[1386 0 R/XYZ 0 734 0]>>endobj
-1332 0 obj<</D[1402 0 R/XYZ 0 385 0]>>endobj
-1333 0 obj<</D[1464 0 R/XYZ 0 124 0]>>endobj
-1334 0 obj<</D[1402 0 R/XYZ 0 257 0]>>endobj
-1335 0 obj<</D[1470 0 R/XYZ 0 507 0]>>endobj
-1336 0 obj<</D[1472 0 R/XYZ 0 520 0]>>endobj
-1337 0 obj<</D[1474 0 R/XYZ 0 734 0]>>endobj
-1338 0 obj<</D[1404 0 R/XYZ 0 734 0]>>endobj
-1339 0 obj<</D[1474 0 R/XYZ 0 540 0]>>endobj
-1340 0 obj<</D[1434 0 R/XYZ 0 734 0]>>endobj
-1341 0 obj<</D[1656 0 R/XYZ 0 734 0]>>endobj
-1342 0 obj<</D[1624 0 R/XYZ 0 734 0]>>endobj
-1343 0 obj<</D[1660 0 R/XYZ 0 734 0]>>endobj
-1344 0 obj<</D[1498 0 R/XYZ 0 734 0]>>endobj
-1345 0 obj<</D[1628 0 R/XYZ 0 734 0]>>endobj
-1346 0 obj<</D[1414 0 R/XYZ 0 734 0]>>endobj
-1347 0 obj<</D[1400 0 R/XYZ 0 734 0]>>endobj
-1348 0 obj<</D[1512 0 R/XYZ 0 734 0]>>endobj
-1349 0 obj<</D[1548 0 R/XYZ 0 734 0]>>endobj
-1350 0 obj<</D[1432 0 R/XYZ 0 734 0]>>endobj
-1351 0 obj<</D[1648 0 R/XYZ 0 734 0]>>endobj
-1352 0 obj<</D[1542 0 R/XYZ 0 734 0]>>endobj
-1353 0 obj<</D[1604 0 R/XYZ 0 734 0]>>endobj
-1354 0 obj<</D[1608 0 R/XYZ 0 734 0]>>endobj
-1355 0 obj<</D[1644 0 R/XYZ 0 734 0]>>endobj
-1356 0 obj<</D[1552 0 R/XYZ 0 734 0]>>endobj
-1357 0 obj<</D[1442 0 R/XYZ 0 734 0]>>endobj
-1358 0 obj<</D[1486 0 R/XYZ 0 734 0]>>endobj
-1359 0 obj<</D[1384 0 R/XYZ 0 734 0]>>endobj
-1360 0 obj<</D[1384 0 R/XYZ 0 734 0]>>endobj
-1361 0 obj<</D[1610 0 R/XYZ 0 734 0]>>endobj
-1362 0 obj<</D[1452 0 R/XYZ 0 734 0]>>endobj
-1363 0 obj<</D[1574 0 R/XYZ 0 734 0]>>endobj
-1364 0 obj<</D[1630 0 R/XYZ 0 734 0]>>endobj
-1365 0 obj<</D[1532 0 R/XYZ 0 734 0]>>endobj
-1366 0 obj<</D[1578 0 R/XYZ 0 734 0]>>endobj
-1367 0 obj<</Type/Pages/Count 151/Kids[1368 0 R
+831 0 obj<</Dests 832 0 R>>endobj
+832 0 obj<</Kids[833 0 R]>>endobj
+833 0 obj<</Limits[(16)(winbind)]/Names[(16)834 0 R(3)835 0 R(31)836 0 R(9)837 0 R(ads)838 0 R(aen100)839 0 R(aen1006)840 0 R(aen1014)841 0 R(aen1022)842 0 R(aen1029)843 0 R(aen1065)844 0 R(aen1078)845 0 R(aen1081)846 0 R(aen1091)847 0 R(aen1127)848 0 R(aen1131)849 0 R(aen1139)850 0 R(aen1142)851 0 R(aen1145)852 0 R(aen1148)853 0 R(aen1152)854 0 R(aen1169)855 0 R(aen1187)856 0 R(aen1193)857 0 R(aen1202)858 0 R(aen1217)859 0 R(aen1227)860 0 R(aen1231)861 0 R(aen1243)862 0 R(aen1248)863 0 R(aen1251)864 0 R(aen1273)865 0 R(aen129)866 0 R(aen1337)867 0 R(aen1342)868 0 R(aen1360)869 0 R(aen1374)870 0 R(aen1396)871 0 R(aen1412)872 0 R(aen1428)873 0 R(aen1439)874 0 R(aen1447)875 0 R(aen145)876 0 R(aen1459)877 0 R(aen1471)878 0 R(aen1476)879 0 R(aen1484)880 0 R(aen1489)881 0 R(aen1492)882 0 R(aen1504)883 0 R(aen1514)884 0 R(aen154)885 0 R(aen1542)886 0 R(aen1550)887 0 R(aen1567)888 0 R(aen1574)889 0 R(aen1579)890 0 R(aen1584)891 0 R(aen1605)892 0 R(aen1614)893 0 R(aen1625)894 0 R(aen1645)895 0 R(aen1660)896 0 R(aen1674)897 0 R(aen1681)898 0 R(aen170)899 0 R(aen1703)900 0 R(aen1767)901 0 R(aen1788)902 0 R(aen1832)903 0 R(aen1839)904 0 R(aen184)905 0 R(aen1859)906 0 R(aen189)907 0 R(aen1894)908 0 R(aen1920)909 0 R(aen193)910 0 R(aen1942)911 0 R(aen1950)912 0 R(aen196)913 0 R(aen1985)914 0 R(aen2001)915 0 R(aen2012)916 0 R(aen2042)917 0 R(aen205)918 0 R(aen2050)919 0 R(aen2054)920 0 R(aen2064)921 0 R(aen2067)922 0 R(aen2071)923 0 R(aen2093)924 0 R(aen2095)925 0 R(aen21)926 0 R(aen210)927 0 R(aen2111)928 0 R(aen2120)929 0 R(aen2128)930 0 R(aen2156)931 0 R(aen2167)932 0 R(aen2179)933 0 R(aen2182)934 0 R(aen2185)935 0 R(aen219)936 0 R(aen2225)937 0 R(aen2229)938 0 R(aen2242)939 0 R(aen2249)940 0 R(aen2253)941 0 R(aen2258)942 0 R(aen2262)943 0 R(aen2278)944 0 R(aen2286)945 0 R(aen229)946 0 R(aen2290)947 0 R(aen2293)948 0 R(aen2300)949 0 R(aen2313)950 0 R(aen2327)951 0 R(aen233)952 0 R(aen2338)953 0 R(aen2357)954 0 R(aen2390)955 0 R(aen2406)956 0 R(aen2417)957 0 R(aen242)958 0 R(aen2453)959 0 R(aen2455)960 0 R(aen2472)961 0 R(aen2479)962 0 R(aen2485)963 0 R(aen249)964 0 R(aen2502)965 0 R(aen2535)966 0 R(aen254)967 0 R(aen2542)968 0 R(aen2552)969 0 R(aen2566)970 0 R(aen2572)971 0 R(aen2589)972 0 R(aen2594)973 0 R(aen26)974 0 R(aen2613)975 0 R(aen2619)976 0 R(aen2640)977 0 R(aen2649)978 0 R(aen2651)979 0 R(aen2659)980 0 R(aen2696)981 0 R(aen2703)982 0 R(aen2707)983 0 R(aen2715)984 0 R(aen2737)985 0 R(aen2757)986 0 R(aen2786)987 0 R(aen2791)988 0 R(aen2803)989 0 R(aen2805)990 0 R(aen2822)991 0 R(aen2850)992 0 R(aen2855)993 0 R(aen2875)994 0 R(aen289)995 0 R(aen2945)996 0 R(aen2953)997 0 R(aen2964)998 0 R(aen2969)999 0 R(aen2972)1000 0 R(aen2977)1001 0 R(aen3055)1002 0 R(aen3061)1003 0 R(aen3068)1004 0 R(aen3073)1005 0 R(aen3078)1006 0 R(aen308)1007 0 R(aen3081)1008 0 R(aen3086)1009 0 R(aen3090)1010 0 R(aen3094)1011 0 R(aen3097)1012 0 R(aen3139)1013 0 R(aen3145)1014 0 R(aen3149)1015 0 R(aen3178)1016 0 R(aen3199)1017 0 R(aen3208)1018 0 R(aen3210)1019 0 R(aen3225)1020 0 R(aen3234)1021 0 R(aen3238)1022 0 R(aen3248)1023 0 R(aen3250)1024 0 R(aen3255)1025 0 R(aen326)1026 0 R(aen3260)1027 0 R(aen3264)1028 0 R(aen3269)1029 0 R(aen3285)1030 0 R(aen3309)1031 0 R(aen3319)1032 0 R(aen3325)1033 0 R(aen3342)1034 0 R(aen3352)1035 0 R(aen3355)1036 0 R(aen336)1037 0 R(aen3378)1038 0 R(aen3383)1039 0 R(aen3393)1040 0 R(aen3395)1041 0 R(aen3401)1042 0 R(aen3407)1043 0 R(aen3422)1044 0 R(aen3427)1045 0 R(aen3433)1046 0 R(aen3441)1047 0 R(aen345)1048 0 R(aen3467)1049 0 R(aen3484)1050 0 R(aen3492)1051 0 R(aen3498)1052 0 R(aen3503)1053 0 R(aen36)1054 0 R(aen363)1055 0 R(aen366)1056 0 R(aen377)1057 0 R(aen385)1058 0 R(aen399)1059 0 R(aen4)1060 0 R(aen404)1061 0 R(aen415)1062 0 R(aen421)1063 0 R(aen457)1064 0 R(aen462)1065 0 R(aen481)1066 0 R(aen488)1067 0 R(aen497)1068 0 R(aen531)1069 0 R(aen575)1070 0 R(aen581)1071 0 R(aen620)1072 0 R(aen64)1073 0 R(aen663)1074 0 R(aen68)1075 0 R(aen682)1076 0 R(aen723)1077 0 R(aen732)1078 0 R(aen747)1079 0 R(aen795)1080 0 R(aen8)1081 0 R(aen82)1082 0 R(aen839)1083 0 R(aen90)1084 0 R(aen953)1085 0 R(aen979)1086 0 R(aen998)1087 0 R(appendixes)1088 0 R(browsing-quick)1089 0 R(bugreport)1090 0 R(cvs-access)1091 0 R(diagnosis)1092 0 R(domain-security)1093 0 R(groupmapping)1094 0 R(improved-browsing)1095 0 R(install)1096 0 R(integrate-ms-networks)1097 0 R(introduction)1098 0 R(msdfs)1099 0 R(optional)1100 0 R(other-clients)1101 0 R(pam)1102 0 R(pdb-mysql)1103 0 R(pdb-xml)1104 0 R(portability)1105 0 R(printing)1106 0 R(pwencrypt)1107 0 R(samba-bdc)1108 0 R(samba-howto-collection)1109 0 R(samba-howto-collection.html)1110 0 R(samba-ldap-howto)1111 0 R(samba-pdc)1112 0 R(securitylevels)1113 0 R(speed)1114 0 R(type)1115 0 R(unix-permissions)1116 0 R(vfs)1117 0 R(winbind)1118 0 R]>>endobj
+834 0 obj<</D[1256 0 R/XYZ 0 734 0]>>endobj
+835 0 obj<</D[1146 0 R/XYZ 0 734 0]>>endobj
+836 0 obj<</D[1390 0 R/XYZ 0 734 0]>>endobj
+837 0 obj<</D[1196 0 R/XYZ 0 734 0]>>endobj
+838 0 obj<</D[1244 0 R/XYZ 0 734 0]>>endobj
+839 0 obj<</D[1154 0 R/XYZ 0 734 0]>>endobj
+840 0 obj<</D[1226 0 R/XYZ 0 540 0]>>endobj
+841 0 obj<</D[1226 0 R/XYZ 0 363 0]>>endobj
+842 0 obj<</D[1226 0 R/XYZ 0 136 0]>>endobj
+843 0 obj<</D[1228 0 R/XYZ 0 665 0]>>endobj
+844 0 obj<</D[1230 0 R/XYZ 0 335 0]>>endobj
+845 0 obj<</D[1232 0 R/XYZ 0 425 0]>>endobj
+846 0 obj<</D[1232 0 R/XYZ 0 344 0]>>endobj
+847 0 obj<</D[1234 0 R/XYZ 0 702 0]>>endobj
+848 0 obj<</D[1238 0 R/XYZ 0 672 0]>>endobj
+849 0 obj<</D[1238 0 R/XYZ 0 597 0]>>endobj
+850 0 obj<</D[1238 0 R/XYZ 0 223 0]>>endobj
+851 0 obj<</D[1240 0 R/XYZ 0 734 0]>>endobj
+852 0 obj<</D[1240 0 R/XYZ 0 609 0]>>endobj
+853 0 obj<</D[1240 0 R/XYZ 0 524 0]>>endobj
+854 0 obj<</D[1240 0 R/XYZ 0 383 0]>>endobj
+855 0 obj<</D[1242 0 R/XYZ 0 617 0]>>endobj
+856 0 obj<</D[1244 0 R/XYZ 0 551 0]>>endobj
+857 0 obj<</D[1244 0 R/XYZ 0 444 0]>>endobj
+858 0 obj<</D[1244 0 R/XYZ 0 267 0]>>endobj
+859 0 obj<</D[1246 0 R/XYZ 0 564 0]>>endobj
+860 0 obj<</D[1246 0 R/XYZ 0 245 0]>>endobj
+861 0 obj<</D[1246 0 R/XYZ 0 156 0]>>endobj
+862 0 obj<</D[1248 0 R/XYZ 0 692 0]>>endobj
+863 0 obj<</D[1248 0 R/XYZ 0 603 0]>>endobj
+864 0 obj<</D[1248 0 R/XYZ 0 528 0]>>endobj
+865 0 obj<</D[1250 0 R/XYZ 0 696 0]>>endobj
+866 0 obj<</D[1154 0 R/XYZ 0 244 0]>>endobj
+867 0 obj<</D[1252 0 R/XYZ 0 362 0]>>endobj
+868 0 obj<</D[1252 0 R/XYZ 0 155 0]>>endobj
+869 0 obj<</D[1256 0 R/XYZ 0 696 0]>>endobj
+870 0 obj<</D[1260 0 R/XYZ 0 696 0]>>endobj
+871 0 obj<</D[1260 0 R/XYZ 0 463 0]>>endobj
+872 0 obj<</D[1260 0 R/XYZ 0 335 0]>>endobj
+873 0 obj<</D[1262 0 R/XYZ 0 454 0]>>endobj
+874 0 obj<</D[1262 0 R/XYZ 0 317 0]>>endobj
+875 0 obj<</D[1262 0 R/XYZ 0 168 0]>>endobj
+876 0 obj<</D[1156 0 R/XYZ 0 665 0]>>endobj
+877 0 obj<</D[1264 0 R/XYZ 0 347 0]>>endobj
+878 0 obj<</D[1266 0 R/XYZ 0 295 0]>>endobj
+879 0 obj<</D[1268 0 R/XYZ 0 734 0]>>endobj
+880 0 obj<</D[1270 0 R/XYZ 0 456 0]>>endobj
+881 0 obj<</D[1270 0 R/XYZ 0 358 0]>>endobj
+882 0 obj<</D[1270 0 R/XYZ 0 221 0]>>endobj
+883 0 obj<</D[1272 0 R/XYZ 0 667 0]>>endobj
+884 0 obj<</D[1274 0 R/XYZ 0 734 0]>>endobj
+885 0 obj<</D[1156 0 R/XYZ 0 498 0]>>endobj
+886 0 obj<</D[1276 0 R/XYZ 0 692 0]>>endobj
+887 0 obj<</D[1276 0 R/XYZ 0 440 0]>>endobj
+888 0 obj<</D[1278 0 R/XYZ 0 734 0]>>endobj
+889 0 obj<</D[1278 0 R/XYZ 0 437 0]>>endobj
+890 0 obj<</D[1278 0 R/XYZ 0 288 0]>>endobj
+891 0 obj<</D[1278 0 R/XYZ 0 172 0]>>endobj
+892 0 obj<</D[1282 0 R/XYZ 0 672 0]>>endobj
+893 0 obj<</D[1282 0 R/XYZ 0 497 0]>>endobj
+894 0 obj<</D[1282 0 R/XYZ 0 330 0]>>endobj
+895 0 obj<</D[1284 0 R/XYZ 0 665 0]>>endobj
+896 0 obj<</D[1284 0 R/XYZ 0 432 0]>>endobj
+897 0 obj<</D[1284 0 R/XYZ 0 189 0]>>endobj
+898 0 obj<</D[1286 0 R/XYZ 0 692 0]>>endobj
+899 0 obj<</D[1156 0 R/XYZ 0 330 0]>>endobj
+900 0 obj<</D[1286 0 R/XYZ 0 260 0]>>endobj
+901 0 obj<</D[1290 0 R/XYZ 0 599 0]>>endobj
+902 0 obj<</D[1292 0 R/XYZ 0 672 0]>>endobj
+903 0 obj<</D[1294 0 R/XYZ 0 127 0]>>endobj
+904 0 obj<</D[1296 0 R/XYZ 0 679 0]>>endobj
+905 0 obj<</D[1158 0 R/XYZ 0 734 0]>>endobj
+906 0 obj<</D[1298 0 R/XYZ 0 672 0]>>endobj
+907 0 obj<</D[1158 0 R/XYZ 0 553 0]>>endobj
+908 0 obj<</D[1300 0 R/XYZ 0 652 0]>>endobj
+909 0 obj<</D[1302 0 R/XYZ 0 696 0]>>endobj
+910 0 obj<</D[1158 0 R/XYZ 0 494 0]>>endobj
+911 0 obj<</D[1302 0 R/XYZ 0 317 0]>>endobj
+912 0 obj<</D[1302 0 R/XYZ 0 131 0]>>endobj
+913 0 obj<</D[1158 0 R/XYZ 0 409 0]>>endobj
+914 0 obj<</D[1306 0 R/XYZ 0 583 0]>>endobj
+915 0 obj<</D[1306 0 R/XYZ 0 169 0]>>endobj
+916 0 obj<</D[1308 0 R/XYZ 0 456 0]>>endobj
+917 0 obj<</D[1310 0 R/XYZ 0 283 0]>>endobj
+918 0 obj<</D[1160 0 R/XYZ 0 734 0]>>endobj
+919 0 obj<</D[1312 0 R/XYZ 0 734 0]>>endobj
+920 0 obj<</D[1312 0 R/XYZ 0 632 0]>>endobj
+921 0 obj<</D[1312 0 R/XYZ 0 507 0]>>endobj
+922 0 obj<</D[1312 0 R/XYZ 0 423 0]>>endobj
+923 0 obj<</D[1312 0 R/XYZ 0 325 0]>>endobj
+924 0 obj<</D[1314 0 R/XYZ 0 426 0]>>endobj
+925 0 obj<</D[1314 0 R/XYZ 0 393 0]>>endobj
+926 0 obj<</D[1146 0 R/XYZ 0 696 0]>>endobj
+927 0 obj<</D[1160 0 R/XYZ 0 583 0]>>endobj
+928 0 obj<</D[1316 0 R/XYZ 0 450 0]>>endobj
+929 0 obj<</D[1318 0 R/XYZ 0 665 0]>>endobj
+930 0 obj<</D[1318 0 R/XYZ 0 479 0]>>endobj
+931 0 obj<</D[1320 0 R/XYZ 0 718 0]>>endobj
+932 0 obj<</D[1320 0 R/XYZ 0 373 0]>>endobj
+933 0 obj<</D[1322 0 R/XYZ 0 679 0]>>endobj
+934 0 obj<</D[1322 0 R/XYZ 0 594 0]>>endobj
+935 0 obj<</D[1322 0 R/XYZ 0 496 0]>>endobj
+936 0 obj<</D[1160 0 R/XYZ 0 128 0]>>endobj
+937 0 obj<</D[1324 0 R/XYZ 0 672 0]>>endobj
+938 0 obj<</D[1324 0 R/XYZ 0 544 0]>>endobj
+939 0 obj<</D[1324 0 R/XYZ 0 231 0]>>endobj
+940 0 obj<</D[1326 0 R/XYZ 0 560 0]>>endobj
+941 0 obj<</D[1326 0 R/XYZ 0 409 0]>>endobj
+942 0 obj<</D[1326 0 R/XYZ 0 294 0]>>endobj
+943 0 obj<</D[1328 0 R/XYZ 0 734 0]>>endobj
+944 0 obj<</D[1328 0 R/XYZ 0 292 0]>>endobj
+945 0 obj<</D[1330 0 R/XYZ 0 665 0]>>endobj
+946 0 obj<</D[1164 0 R/XYZ 0 696 0]>>endobj
+947 0 obj<</D[1330 0 R/XYZ 0 488 0]>>endobj
+948 0 obj<</D[1330 0 R/XYZ 0 351 0]>>endobj
+949 0 obj<</D[1330 0 R/XYZ 0 209 0]>>endobj
+950 0 obj<</D[1332 0 R/XYZ 0 599 0]>>endobj
+951 0 obj<</D[1332 0 R/XYZ 0 330 0]>>endobj
+952 0 obj<</D[1164 0 R/XYZ 0 515 0]>>endobj
+953 0 obj<</D[1332 0 R/XYZ 0 192 0]>>endobj
+954 0 obj<</D[1334 0 R/XYZ 0 692 0]>>endobj
+955 0 obj<</D[1334 0 R/XYZ 0 285 0]>>endobj
+956 0 obj<</D[1336 0 R/XYZ 0 705 0]>>endobj
+957 0 obj<</D[1336 0 R/XYZ 0 557 0]>>endobj
+958 0 obj<</D[1164 0 R/XYZ 0 137 0]>>endobj
+959 0 obj<</D[1338 0 R/XYZ 0 503 0]>>endobj
+960 0 obj<</D[1338 0 R/XYZ 0 477 0]>>endobj
+961 0 obj<</D[1340 0 R/XYZ 0 564 0]>>endobj
+962 0 obj<</D[1342 0 R/XYZ 0 640 0]>>endobj
+963 0 obj<</D[1342 0 R/XYZ 0 574 0]>>endobj
+964 0 obj<</D[1166 0 R/XYZ 0 533 0]>>endobj
+965 0 obj<</D[1342 0 R/XYZ 0 335 0]>>endobj
+966 0 obj<</D[1344 0 R/XYZ 0 357 0]>>endobj
+967 0 obj<</D[1166 0 R/XYZ 0 273 0]>>endobj
+968 0 obj<</D[1346 0 R/XYZ 0 217 0]>>endobj
+969 0 obj<</D[1348 0 R/XYZ 0 679 0]>>endobj
+970 0 obj<</D[1350 0 R/XYZ 0 696 0]>>endobj
+971 0 obj<</D[1350 0 R/XYZ 0 595 0]>>endobj
+972 0 obj<</D[1352 0 R/XYZ 0 511 0]>>endobj
+973 0 obj<</D[1352 0 R/XYZ 0 357 0]>>endobj
+974 0 obj<</D[1150 0 R/XYZ 0 696 0]>>endobj
+975 0 obj<</D[1354 0 R/XYZ 0 696 0]>>endobj
+976 0 obj<</D[1354 0 R/XYZ 0 608 0]>>endobj
+977 0 obj<</D[1356 0 R/XYZ 0 696 0]>>endobj
+978 0 obj<</D[1356 0 R/XYZ 0 382 0]>>endobj
+979 0 obj<</D[1356 0 R/XYZ 0 348 0]>>endobj
+980 0 obj<</D[1356 0 R/XYZ 0 212 0]>>endobj
+981 0 obj<</D[1358 0 R/XYZ 0 560 0]>>endobj
+982 0 obj<</D[1358 0 R/XYZ 0 430 0]>>endobj
+983 0 obj<</D[1358 0 R/XYZ 0 315 0]>>endobj
+984 0 obj<</D[1360 0 R/XYZ 0 734 0]>>endobj
+985 0 obj<</D[1362 0 R/XYZ 0 672 0]>>endobj
+986 0 obj<</D[1362 0 R/XYZ 0 412 0]>>endobj
+987 0 obj<</D[1364 0 R/XYZ 0 573 0]>>endobj
+988 0 obj<</D[1364 0 R/XYZ 0 471 0]>>endobj
+989 0 obj<</D[1366 0 R/XYZ 0 734 0]>>endobj
+990 0 obj<</D[1366 0 R/XYZ 0 700 0]>>endobj
+991 0 obj<</D[1366 0 R/XYZ 0 138 0]>>endobj
+992 0 obj<</D[1368 0 R/XYZ 0 227 0]>>endobj
+993 0 obj<</D[1370 0 R/XYZ 0 705 0]>>endobj
+994 0 obj<</D[1370 0 R/XYZ 0 320 0]>>endobj
+995 0 obj<</D[1172 0 R/XYZ 0 511 0]>>endobj
+996 0 obj<</D[1372 0 R/XYZ 0 309 0]>>endobj
+997 0 obj<</D[1374 0 R/XYZ 0 478 0]>>endobj
+998 0 obj<</D[1376 0 R/XYZ 0 696 0]>>endobj
+999 0 obj<</D[1376 0 R/XYZ 0 581 0]>>endobj
+1000 0 obj<</D[1376 0 R/XYZ 0 493 0]>>endobj
+1001 0 obj<</D[1376 0 R/XYZ 0 382 0]>>endobj
+1002 0 obj<</D[1382 0 R/XYZ 0 696 0]>>endobj
+1003 0 obj<</D[1382 0 R/XYZ 0 449 0]>>endobj
+1004 0 obj<</D[1382 0 R/XYZ 0 189 0]>>endobj
+1005 0 obj<</D[1384 0 R/XYZ 0 639 0]>>endobj
+1006 0 obj<</D[1384 0 R/XYZ 0 458 0]>>endobj
+1007 0 obj<</D[1174 0 R/XYZ 0 560 0]>>endobj
+1008 0 obj<</D[1384 0 R/XYZ 0 383 0]>>endobj
+1009 0 obj<</D[1384 0 R/XYZ 0 215 0]>>endobj
+1010 0 obj<</D[1386 0 R/XYZ 0 734 0]>>endobj
+1011 0 obj<</D[1386 0 R/XYZ 0 605 0]>>endobj
+1012 0 obj<</D[1386 0 R/XYZ 0 530 0]>>endobj
+1013 0 obj<</D[1392 0 R/XYZ 0 655 0]>>endobj
+1014 0 obj<</D[1392 0 R/XYZ 0 408 0]>>endobj
+1015 0 obj<</D[1392 0 R/XYZ 0 293 0]>>endobj
+1016 0 obj<</D[1394 0 R/XYZ 0 216 0]>>endobj
+1017 0 obj<</D[1398 0 R/XYZ 0 668 0]>>endobj
+1018 0 obj<</D[1398 0 R/XYZ 0 461 0]>>endobj
+1019 0 obj<</D[1398 0 R/XYZ 0 427 0]>>endobj
+1020 0 obj<</D[1400 0 R/XYZ 0 734 0]>>endobj
+1021 0 obj<</D[1400 0 R/XYZ 0 520 0]>>endobj
+1022 0 obj<</D[1400 0 R/XYZ 0 422 0]>>endobj
+1023 0 obj<</D[1400 0 R/XYZ 0 165 0]>>endobj
+1024 0 obj<</D[1400 0 R/XYZ 0 132 0]>>endobj
+1025 0 obj<</D[1402 0 R/XYZ 0 652 0]>>endobj
+1026 0 obj<</D[1176 0 R/XYZ 0 567 0]>>endobj
+1027 0 obj<</D[1402 0 R/XYZ 0 501 0]>>endobj
+1028 0 obj<</D[1402 0 R/XYZ 0 403 0]>>endobj
+1029 0 obj<</D[1402 0 R/XYZ 0 319 0]>>endobj
+1030 0 obj<</D[1404 0 R/XYZ 0 734 0]>>endobj
+1031 0 obj<</D[1406 0 R/XYZ 0 696 0]>>endobj
+1032 0 obj<</D[1406 0 R/XYZ 0 423 0]>>endobj
+1033 0 obj<</D[1406 0 R/XYZ 0 282 0]>>endobj
+1034 0 obj<</D[1408 0 R/XYZ 0 613 0]>>endobj
+1035 0 obj<</D[1408 0 R/XYZ 0 260 0]>>endobj
+1036 0 obj<</D[1408 0 R/XYZ 0 159 0]>>endobj
+1037 0 obj<</D[1176 0 R/XYZ 0 208 0]>>endobj
+1038 0 obj<</D[1410 0 R/XYZ 0 696 0]>>endobj
+1039 0 obj<</D[1410 0 R/XYZ 0 529 0]>>endobj
+1040 0 obj<</D[1410 0 R/XYZ 0 196 0]>>endobj
+1041 0 obj<</D[1410 0 R/XYZ 0 163 0]>>endobj
+1042 0 obj<</D[1412 0 R/XYZ 0 734 0]>>endobj
+1043 0 obj<</D[1412 0 R/XYZ 0 530 0]>>endobj
+1044 0 obj<</D[1414 0 R/XYZ 0 599 0]>>endobj
+1045 0 obj<</D[1414 0 R/XYZ 0 449 0]>>endobj
+1046 0 obj<</D[1414 0 R/XYZ 0 324 0]>>endobj
+1047 0 obj<</D[1416 0 R/XYZ 0 734 0]>>endobj
+1048 0 obj<</D[1178 0 R/XYZ 0 454 0]>>endobj
+1049 0 obj<</D[1416 0 R/XYZ 0 371 0]>>endobj
+1050 0 obj<</D[1418 0 R/XYZ 0 705 0]>>endobj
+1051 0 obj<</D[1418 0 R/XYZ 0 515 0]>>endobj
+1052 0 obj<</D[1418 0 R/XYZ 0 377 0]>>endobj
+1053 0 obj<</D[1418 0 R/XYZ 0 239 0]>>endobj
+1054 0 obj<</D[1150 0 R/XYZ 0 568 0]>>endobj
+1055 0 obj<</D[1180 0 R/XYZ 0 679 0]>>endobj
+1056 0 obj<</D[1180 0 R/XYZ 0 590 0]>>endobj
+1057 0 obj<</D[1182 0 R/XYZ 0 604 0]>>endobj
+1058 0 obj<</D[1182 0 R/XYZ 0 159 0]>>endobj
+1059 0 obj<</D[1184 0 R/XYZ 0 520 0]>>endobj
+1060 0 obj<</D[1136 0 R/XYZ 0 696 0]>>endobj
+1061 0 obj<</D[1184 0 R/XYZ 0 339 0]>>endobj
+1062 0 obj<</D[1186 0 R/XYZ 0 494 0]>>endobj
+1063 0 obj<</D[1186 0 R/XYZ 0 213 0]>>endobj
+1064 0 obj<</D[1190 0 R/XYZ 0 696 0]>>endobj
+1065 0 obj<</D[1190 0 R/XYZ 0 555 0]>>endobj
+1066 0 obj<</D[1192 0 R/XYZ 0 734 0]>>endobj
+1067 0 obj<</D[1192 0 R/XYZ 0 609 0]>>endobj
+1068 0 obj<</D[1192 0 R/XYZ 0 511 0]>>endobj
+1069 0 obj<</D[1196 0 R/XYZ 0 696 0]>>endobj
+1070 0 obj<</D[1204 0 R/XYZ 0 672 0]>>endobj
+1071 0 obj<</D[1204 0 R/XYZ 0 584 0]>>endobj
+1072 0 obj<</D[1206 0 R/XYZ 0 718 0]>>endobj
+1073 0 obj<</D[1150 0 R/XYZ 0 163 0]>>endobj
+1074 0 obj<</D[1208 0 R/XYZ 0 613 0]>>endobj
+1075 0 obj<</D[1152 0 R/XYZ 0 734 0]>>endobj
+1076 0 obj<</D[1208 0 R/XYZ 0 227 0]>>endobj
+1077 0 obj<</D[1210 0 R/XYZ 0 316 0]>>endobj
+1078 0 obj<</D[1212 0 R/XYZ 0 734 0]>>endobj
+1079 0 obj<</D[1212 0 R/XYZ 0 385 0]>>endobj
+1080 0 obj<</D[1214 0 R/XYZ 0 126 0]>>endobj
+1081 0 obj<</D[1138 0 R/XYZ 0 734 0]>>endobj
+1082 0 obj<</D[1152 0 R/XYZ 0 382 0]>>endobj
+1083 0 obj<</D[1216 0 R/XYZ 0 124 0]>>endobj
+1084 0 obj<</D[1152 0 R/XYZ 0 254 0]>>endobj
+1085 0 obj<</D[1222 0 R/XYZ 0 507 0]>>endobj
+1086 0 obj<</D[1224 0 R/XYZ 0 520 0]>>endobj
+1087 0 obj<</D[1226 0 R/XYZ 0 734 0]>>endobj
+1088 0 obj<</D[1388 0 R/XYZ 0 450 0]>>endobj
+1089 0 obj<</D[1182 0 R/XYZ 0 734 0]>>endobj
+1090 0 obj<</D[1406 0 R/XYZ 0 734 0]>>endobj
+1091 0 obj<</D[1376 0 R/XYZ 0 734 0]>>endobj
+1092 0 obj<</D[1410 0 R/XYZ 0 734 0]>>endobj
+1093 0 obj<</D[1250 0 R/XYZ 0 734 0]>>endobj
+1094 0 obj<</D[1380 0 R/XYZ 0 734 0]>>endobj
+1095 0 obj<</D[1164 0 R/XYZ 0 734 0]>>endobj
+1096 0 obj<</D[1150 0 R/XYZ 0 734 0]>>endobj
+1097 0 obj<</D[1260 0 R/XYZ 0 734 0]>>endobj
+1098 0 obj<</D[1144 0 R/XYZ 0 364 0]>>endobj
+1099 0 obj<</D[1298 0 R/XYZ 0 734 0]>>endobj
+1100 0 obj<</D[1254 0 R/XYZ 0 337 0]>>endobj
+1101 0 obj<</D[1398 0 R/XYZ 0 734 0]>>endobj
+1102 0 obj<</D[1292 0 R/XYZ 0 734 0]>>endobj
+1103 0 obj<</D[1350 0 R/XYZ 0 734 0]>>endobj
+1104 0 obj<</D[1354 0 R/XYZ 0 734 0]>>endobj
+1105 0 obj<</D[1392 0 R/XYZ 0 734 0]>>endobj
+1106 0 obj<</D[1302 0 R/XYZ 0 734 0]>>endobj
+1107 0 obj<</D[1190 0 R/XYZ 0 734 0]>>endobj
+1108 0 obj<</D[1238 0 R/XYZ 0 734 0]>>endobj
+1109 0 obj<</D[1136 0 R/XYZ 0 734 0]>>endobj
+1110 0 obj<</D[1136 0 R/XYZ 0 734 0]>>endobj
+1111 0 obj<</D[1362 0 R/XYZ 0 734 0]>>endobj
+1112 0 obj<</D[1204 0 R/XYZ 0 734 0]>>endobj
+1113 0 obj<</D[1200 0 R/XYZ 0 734 0]>>endobj
+1114 0 obj<</D[1382 0 R/XYZ 0 734 0]>>endobj
+1115 0 obj<</D[1194 0 R/XYZ 0 681 0]>>endobj
+1116 0 obj<</D[1282 0 R/XYZ 0 734 0]>>endobj
+1117 0 obj<</D[1356 0 R/XYZ 0 734 0]>>endobj
+1118 0 obj<</D[1324 0 R/XYZ 0 734 0]>>endobj
+1119 0 obj<</Type/Pages/Count 150/Kids[1120 0 R
+1122 0 R
+1124 0 R
+1126 0 R
+1128 0 R
+1130 0 R
+1132 0 R
+1134 0 R
+1136 0 R
+1138 0 R
+1140 0 R
+1142 0 R
+1144 0 R
+1146 0 R
+1148 0 R
+1150 0 R
+1152 0 R
+1154 0 R
+1156 0 R
+1158 0 R
+1160 0 R
+1162 0 R
+1164 0 R
+1166 0 R
+1168 0 R
+1170 0 R
+1172 0 R
+1174 0 R
+1176 0 R
+1178 0 R
+1180 0 R
+1182 0 R
+1184 0 R
+1186 0 R
+1188 0 R
+1190 0 R
+1192 0 R
+1194 0 R
+1196 0 R
+1198 0 R
+1200 0 R
+1202 0 R
+1204 0 R
+1206 0 R
+1208 0 R
+1210 0 R
+1212 0 R
+1214 0 R
+1216 0 R
+1218 0 R
+1220 0 R
+1222 0 R
+1224 0 R
+1226 0 R
+1228 0 R
+1230 0 R
+1232 0 R
+1234 0 R
+1236 0 R
+1238 0 R
+1240 0 R
+1242 0 R
+1244 0 R
+1246 0 R
+1248 0 R
+1250 0 R
+1252 0 R
+1254 0 R
+1256 0 R
+1258 0 R
+1260 0 R
+1262 0 R
+1264 0 R
+1266 0 R
+1268 0 R
+1270 0 R
+1272 0 R
+1274 0 R
+1276 0 R
+1278 0 R
+1280 0 R
+1282 0 R
+1284 0 R
+1286 0 R
+1288 0 R
+1290 0 R
+1292 0 R
+1294 0 R
+1296 0 R
+1298 0 R
+1300 0 R
+1302 0 R
+1304 0 R
+1306 0 R
+1308 0 R
+1310 0 R
+1312 0 R
+1314 0 R
+1316 0 R
+1318 0 R
+1320 0 R
+1322 0 R
+1324 0 R
+1326 0 R
+1328 0 R
+1330 0 R
+1332 0 R
+1334 0 R
+1336 0 R
+1338 0 R
+1340 0 R
+1342 0 R
+1344 0 R
+1346 0 R
+1348 0 R
+1350 0 R
+1352 0 R
+1354 0 R
+1356 0 R
+1358 0 R
+1360 0 R
+1362 0 R
+1364 0 R
+1366 0 R
+1368 0 R
 1370 0 R
 1372 0 R
 1374 0 R
 1414 0 R
 1416 0 R
 1418 0 R
-1420 0 R
-1422 0 R
-1424 0 R
-1426 0 R
-1428 0 R
-1430 0 R
-1432 0 R
-1434 0 R
-1436 0 R
-1438 0 R
-1440 0 R
-1442 0 R
-1444 0 R
-1446 0 R
-1448 0 R
-1450 0 R
-1452 0 R
-1454 0 R
-1456 0 R
-1458 0 R
-1460 0 R
-1462 0 R
-1464 0 R
-1466 0 R
-1468 0 R
-1470 0 R
-1472 0 R
-1474 0 R
-1476 0 R
-1478 0 R
-1480 0 R
-1482 0 R
-1484 0 R
-1486 0 R
-1488 0 R
-1490 0 R
-1492 0 R
-1494 0 R
-1496 0 R
-1498 0 R
-1500 0 R
-1502 0 R
-1504 0 R
-1506 0 R
-1508 0 R
-1510 0 R
-1512 0 R
-1514 0 R
-1516 0 R
-1518 0 R
-1520 0 R
-1522 0 R
-1524 0 R
-1526 0 R
-1528 0 R
-1530 0 R
-1532 0 R
-1534 0 R
-1536 0 R
-1538 0 R
-1540 0 R
-1542 0 R
-1544 0 R
-1546 0 R
-1548 0 R
-1550 0 R
-1552 0 R
-1554 0 R
-1556 0 R
-1558 0 R
-1560 0 R
-1562 0 R
-1564 0 R
-1566 0 R
-1568 0 R
-1570 0 R
-1572 0 R
-1574 0 R
-1576 0 R
-1578 0 R
-1580 0 R
-1582 0 R
-1584 0 R
-1586 0 R
-1588 0 R
-1590 0 R
-1592 0 R
-1594 0 R
-1596 0 R
-1598 0 R
-1600 0 R
-1602 0 R
-1604 0 R
-1606 0 R
-1608 0 R
-1610 0 R
-1612 0 R
-1614 0 R
-1616 0 R
-1618 0 R
-1620 0 R
-1622 0 R
-1624 0 R
-1626 0 R
-1628 0 R
-1630 0 R
-1632 0 R
-1634 0 R
-1636 0 R
-1638 0 R
-1640 0 R
-1642 0 R
-1644 0 R
-1646 0 R
-1648 0 R
-1650 0 R
-1652 0 R
-1654 0 R
-1656 0 R
-1658 0 R
-1660 0 R
-1662 0 R
-1664 0 R
-1666 0 R
-1668 0 R
 ]>>endobj
-1368 0 obj<</Type/Page/Parent 1367 0 R/Contents 1369 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1369 0 obj<</Filter/FlateDecode/Length 94        >>stream
+1120 0 obj<</Type/Page/Parent 1119 0 R/Contents 1121 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1121 0 obj<</Filter/FlateDecode/Length 94        >>stream
 x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\904\ 5K\13=3\ 5cS\10\19\92¢` g`\0\14\bvôurT\b(ÊÏJM.QpÉO.ÍMÍ+I,ÉÌÏÓ\fÉâr\rá
 ä\ 2\0«\13\17\ eendstream
 endobj
-1370 0 obj<</Type/Page/Parent 1367 0 R/Contents 1371 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 53 0 R>>endobj
-1371 0 obj<</Filter/FlateDecode/Length 3678      >>stream
-x\ 1Í[Ûr\eÇ\11}×Wì[\9cª\10ÂÞ\81¼¤t\89\1dV,Q\11éR^\97 (Â\ 2°\f\0Jößç\9cî\99\9e^\80\96HÉ®²uö`fú6==½«ÿ=ɳ1þͳ¶ÈÊ&\9b­\9e\8cGc<±ÿ¼ý\89O²¦\9aâ¿«¬\9c\8eÚ\0\96Ùé\13\aWYÛ\f8\aWY^ç£Ú\ fl8iY\8f&\98´­Gy\0\9cÔA\f\1c\17£©#E\98ñtTa\5&%\80ãHÕ\93RälíÏ2£!\fj!¥þ\8c\94\83\\8c£\13)3ÖͨÁbõ\14\8bÕ\ 2l±r<*Ô(yV\v \ 5£D\88ac\ 3ä\1c\84Þ\15§´q\ e®²I\ 3Ó$ÎA\88\99OaÌDz\f\16f\81\126­Ç`\eÚÓ±\ e¯²b\\8f\96tS\9dÓ\9aP¥àª\ 2D\95\ 4¡JËY\8dsp\95M+\9b\84ã\1c¤*5Ýa\ 3=¦*å`I\15\aNbÔ¨8\ 2\928\81\9bò'µq\ erI±\8f\91\1esIÆV\1a*KVÓ±Æ\0UV`KF®-0.q\ e\8a3sÇÁ\99\11bÁ2ÇÜi Ç`¡eü-\97Tq`^Æ¿X \12\90Ä     Ü\84FO\9c\83\98t̸M¤Ç`\8b|È:\f\16\e¬ôc\1d\94´\82\89¤â6\95l\13\15W@\127p\88}Hd\9c\83\88\9f\96&0ÎA
-;¡\9eFz\f¶ª)Nb\1d\ 6Û0\158Öaª2¡¢6VUA\1a³­P        Hª\ 4\ e±\ 2q\8ds\10K\8e\eNj¤Ç`KîMÇ:\f\16£\10}i¬Ã`Ûé`æZü_¶\9a`'ø_%\80ⶠ      b`."\19é1X$\13,\9aX\87ÁNÚ\ 1«\8b\16\95l\16]E@Z4py)â\19é1¦m¦\94\ e\83ÅÄp[b\1d\ 6+[Õ±\ e\93\9d0ÎÒX\87ár9\8f\12«.Ïs·Ù\ 4$\97\a®Íérã\1cÄ\92c\8eO¤Ç`\91ù°ûm¨Ç`q:Á\10\89u\98Ê\8céòÄ:Ìø\15\13\eë1Ø¢a¨%Öa°rÌ%V\fQ\8a­BÖQ`\86\88\9ch\9e8\a!nQÀö\89ô\98ªV\b%Ç:\f\19Ãç\8eu\18¬\1cú\8eu\18Ê ßûuU\99I\9d6r) )\138\95Þ8\aM\19#\832ad^qO¥i=Æغ\84í\1dë0\95a¼8Öa*C¿%Öcú­\18¬ë1Øépf\8fQÙ!\ 2&nf\8fÁÖ´WZ×c°²×\1dë0Ë4V\11\8e\15\bsÊ)Îü]
-\10\a$\88c\93\89$q\ eJQ\81\80°q(*"¤sÒ,\9cÔc\9a?ýVX\87i~\9e­ibIie=\91\94\ 6  \10I\ 28ÒA\fD\8e\84\bFzÌi\vêi¬N+Ç\91è\89i\ 5¤i\ 3\97ç\12,FzÌEY\91¤¡:-\1e²,Uñ\ 4¤i\ 3\97\17Sªb¤Ç\98V\96s¬ÃÔ\85§ªc\1df\84\96\83\99U$T¬<7U$\ 1I¤Àq\vA\17#=¦H,Ã\1dë0X\6\10¼i¬Ã\14x\82üìX\87ÁNy\vq¬ÃP§\10emf\8fÁV,ÞÒXU\16E4C[\95\15\90\94\r\^\94\8c\16#e`1-R\98\81\91˱M[leþ\92¤Ç´\ 3\8b\96IJÒ-\9aFÂA®%
-8ÐAätÖ,\89s\10;\8d\85\1cÄz\12\18\89ô\18lͽäX\87iwæôÄJ^.\90\v­ÀR@a¥t\8c\1cΡ\ 6©\8e?$ç &E²¯\1dé1\ 5â\ 6NCuIXÂî\13\85\80´dà°\ 6\fi\9c\83\98´äe#\91\1e\83\85\85`Z\eê1XÜu§\8eU\81àb¹qr?ð VO«\r\ 2\aÿ{ÎA
-$\1e³\81:)¶¥Ý\19¸G+1\9eN\1a8UË8\a1)r*ÂÀH\8fÁ¢L\86\81\8cÕp\96k\ 6î\86,7\v\ 1\83\18(×ûDzÌE¹\93\1cë0X\14Àð¦Mì1Xd\\84Ib\1dæ¶æ      \9dX\8fÁbf\84¦\8dõ\98¬Ø×X±/Ï\r\v\\ 5\16E\91ý¯\82\ü!9\ai\bV)\89ô\98,\vAÏ&\f¶dEìX\87Á6ô\bUÜÖ]¢s\ 1IÜÀ©|Æ9hâ\1a\19Ä\r#\19ä\10\ ec,Ò\0ZN\89u\98âòÔw¬Ã°=T\8326V\95A5h\e\86¥¢Û0
-\91\8cÅöÆ9hÊ\18\19\94    ³\ 6e\12«ÊDV\85O¬Ã¦LbU\990¶È\19¢I`U\ 65¾mT^\0ÜFU\beØÿI\9c\83X²à­ \91\1e\83\95n\83c\1d\ 6\8b¢\eaf\8bzLexùu¬Ã`Ñdñ¬*\83{\1eK\11I3¼ä\15)ë(\8cÊ\18§Ê\84qAx#=¦2\rí\90X\87Á¢\ 5\ 3C$Öa\ 4\12®G\9eUqÑê\90MÌtÏ>\88nTTm\11B\6d\12ç \96D/\12\93Ú@\8fÁÊéãX\87Áâ`õ\13«@²ïa?\91@\80\ 4q>ó8Ô\ 4AÎAL
-\87"«Ø@Ö\ 3r\9f\90Nn®\7fæ(\1c\19\ 1\85b@~%k±4\b\ 2a\8cH\88äb\ e\96\18\9eN\81A_\ 2Í]þ\8aLB\10\9c½Fc\12\82ب¥Ý çgO\9eþ\88cr\9c\9d\8a(%1{[eg\17Ò¨ÆãÙ\ fgÝùr\9eõ\97Ù\8b\9b¯wÛ¿\9eý\8aQ\b\8f\9c£\8e°£\82Ã~8}öêù3þ\ 2\ 5{àx\98½Ùô¿Îg;y\8ekV5\rÏ_ö³\9b\15æìv\8b~M\16í©I©äèÛü\93«z8N\82zè£ÖÐ\92µ÷\9e~hè\ 4=ÎæÝ\8aãpöM&Õ7\95ÿÐjA£ä°q\91\1dARñ׳óínÓ\ 5×à°«¿3á\ fÕ\91'\ 5­}ÄÓ\18¾\89º\1c\8f$\84Fã"Æ×Oóõ|Ó-ù\18íµ¦\f®É\16ëí®[.-ì\90/ʲýÎToDGÔmNÃõnÓ_ÜÌâv©'ß\99ÌûîjE\a\88iNzqÕ]ïæ\e>gjDÂÑ\14\91\8bó°é\14þ«ÿÄ\9f \9f\18C2Ûõ|\82ÆÚ4\ f)";V?ÊdŨ\1dÇçÝúBF\8fGÕ¤\b3\9eÍ·\92\80p\19N\13XºBx<êÎ\9dR¾§?¦4Ã\16¹Ë3è{ªAx\10«IÞÎ;Õ
-Ù½\8e\ fwWs±
-^|L£¦«Nr)\ eËÆ\9e]wïç\92¹\v4\96£\95÷½õxXÔ?âñY\f\94\95~~³X^,Öï©$Z\ 2E\13\ 3ä6Å\9f/ÖÝf¡z27L¿ñ\96\ e\18\1dº¶Ü×ò,x\11÷eó,ò\93x\16í\8cèìÅêºß캵Ä1\8aåÚ\12Ýv7¿\96_c\86&\9cJ\8fçÍÁJQéÁ±\89þè¾Î/6ón'Á\8b\8a'émnݮΩ\e\8b¿Iðh6ë×\97\8b÷7\eKáxÛ:ÎC:Ì.\17˹®\87]U=^A\91\8f)èQÞ\f\82ºÞWÝR\91ß¡¿÷7\92\15\aùIÕä¤xë\9cb\83ú\89»q\89±døi±»\12;¡:\1fGKì\90õ®»\8dT'Ø\12\93<\1c\8d\ 3\97=\ 4\88¦hÙ6²ò   
\eãt×mva\87£:­ÍÅw\84\82æ@¤EûaÈö9Êu;á׫sý!ߣIþ|\b\983ê>ÌmHÑ¢»?ÓîTþrÓkEY\8d
-'Àb=ß]\8c\18\13ô3ú´mûXî\f\9aæRLÂ\9d(\87÷ܪ©Û+÷l\89\83~\8d\1dúqþw
-\8c7\1dELÉ\19
-°äv45,ÇIrC¤Æ4\96urn\rÎý\8eÓáý\9eYæ¢\9b¯ô\ 6\817\8d\ fl\94h\83\9ax-@Wk?®Ï6¿SÊAT.\17[\vut¥>{\98m¯ºM8ÊðÓ2\96´ÝÇn±ä\95LB\0\9fFÄÌ©êC 3å­\19e;ß|Ôò\v/*Æu8Nï\bä?û8×ú¼ÀÅÒ\99hr\1f\13!º×¸*\86\84Àwò\96ÕoOp·\14@7ëÅo4\ fRiÊ\84³å\ 27My\8c¶ý#í\9b`\b¶Õ\86ûeú\85¶¸5?\1cl\8b\97\7f\13\8d-\vfï.ß½\97gØ(U\19«©w\8bõô7{\ÅJ\12\8f_\9féc_«ãqñáð×'§O\vy\8a\8e\eÏw3\84\91H\81Îh\11ÃÕ¹\ 3;6úøÎ\80\v\86,ÑÕ\18ä\1d¼\95PO\87\14ùîª\8b>®Û¸Ö±äK~\9dd\8fή\10a\92X\90ÊR\90¼ì×\7f\89ãÛx\9bx×o>ü\83«à¥^\1dæ¼SЯLä%\17¾%áB\e=Nø9ZL\9e/\17Ýûu¿\8d\9b\aï"Úèa´`\904V¢2zWvGþÊò~fº¨
-n Ãr\18ªèááU9\9dõ×\92ã\90¦R\9e?~©\87\ 1zÕñ|øÌ\8a\ fN\ 5\95ðâe¸»¡\91Öø^£\17W½¹\ 6\1e\98¢a¦\17»Û
-\1d¸k×Ïú%½\8f»©¹+ûyþq.OÑõhâíù\81\15\8d\9eã=>\9dxPR\8bz¯ä\9bÍb\1d\937êM|¶\16\94¼5aýòúø¿²±ü        g÷ü´-\ f\12Û\8b\94Ì\11\1eU\8cÿ7/8[\8eð\8eÅá\83X&¯tSâõü~2ÒZß[äç~öÁÊ[5Æ\83\bõ\a&\rò£åp\10¶Z\9e{ù_u××Aþ
\86%\94_PI¬»\95\96(ø¶Ó.£\7f@\90/þ©jâ»Ñø>\81\9eà]í¦Ðh\88Ùñxu½é?ÎåÊ\0]R/å|Ó\7f\8aù\14\ 57^Y\85x^¬%ÔÐ\8d²}¼íVç\12©8',e}±\8a÷\9b \97n¡o(ÕUÚ¬x³²_o\9c 
-ü¸\98K\97\8d\8a\15q£özXú6ÛÀ\bø4¼ù\96-nÕô\88ß3»Í\87\ fsö5|î]7h\96Ü\³\8f"\89Çß<¢GSÞ1\8f¢¢±\8böý\1cò\95~\15µåÍØûó \85\14Îw*58/p\87è\977±a\8c¦Q\11ßÊ|%    ÿÄ4Q)|Àé+\ 1d\97{û°\9bmú­ÖoþìØÞ\9cã\8e¬Ïñ\82®\f\85ì\9f\90ñË\86äÚøÎñ©óÀm¸Í\8b\8aþ\9a\9cZÝé¦\7fÑ\87n­oV\9bÊøX#u\80Ue   fôÑ,=\ fölé:Á\9fPÍò×\83I¤¼ÅÇ\ 3\ fò>!\18£Àulèî\83ÆØé|gÅ\ 3¾Î³Ìz£ÍMw·=¨\bÞ\1d¿>\15#ø>Ùà²û­Þð\14¡)\88`´ê   \aÄ~¨ß_÷;\13\9b\9dI)\83\1dÚéäí¿\7fz{òË\e\1a\v/îí\rÌ\97\ 5ü]£\vm\18ñ\8b\9f¡ï\ fú%\8f¤ÿË\93\8e_Sy|\8ca»è.ñ¿ÒóBû!ø\98Ò\87ÀA?äÇ~3\8b¥"^\93Û^¶c\buYj\ 2ßR'\9fkW¸t=ÃÛ.\17«\ eï\vô\15\1c2ð#µBÔ\94Ñ\12ø\ e~\18\ f\a\r\91W\9d\95Í÷°Å-] \8b~Õé\8e`O0Öm\ 3ÝííàWòóg¦)JÆ\1c^\r\fo¿Ü\80z"Ä\9eËë^ß\8aà\88HçAwÞßh_\ 2ßoØK=äøîb\ 6gJ8ãJ\89wÅz¥ì..pðoCqÎëþ#\9e\84\1eá\95\8c¿_@ÕpøE)_Ý,w\8bëÐÊÄûyW\#>/»\99ÉÿX7Ý;\1d¨:ù\8b\ 6þ\ 6Ý}.\1a¡P\8b\17\8d\93ë%î\83R ð\95ó4\84å\9dë>>QÔ\8c&w\93À\eI;·\90YöÏ­[;nh]s\16ü\9d
-ü­\8b\10\93½ª®\9d4|\1dô\88ïåî²bÔ\15\9fæÉ×>¸¸\8dñýQ\83/\13&öµOüz);øZ©Äß1ª\98ÆÚñ\94?_Pç\7f\9e=ùÏ\93ÿ\ 3ÿ5\7f¤endstream
-endobj
-1372 0 obj<</Type/Page/Parent 1367 0 R/Contents 1373 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 96 0 R>>endobj
-1373 0 obj<</Filter/FlateDecode/Length 4622      >>stream
-x\ 1Õ\Ms\eÇ\11½ëWlù\90\92\ f ö\13\vä\92¢H9aÊ¢d\91)]\\95\ 2AP\82M`i\0\8c­\7f\9f×=3Ýo\ 1Ð&)QN\92*[\ fogvº§§¿få_\9e\15Y\8eÿ\17Y[fÕ0\9b.\9eå\a9~±\7f¼û»ü\92\rë1þ¹ÈªñA\11Áuvö\8cà"kò\1eGp\91\8d\8a\83!\8d#¸È\8a¢8(\89d\f¶níýòJÆ`ÇõAÅc   /²2Ï{33\ 6[\8e\ fF4\961ØѨ?\960ôP5\a\r\8de\fvX\1d\8c\99\1d\8a\b\182\82
-\9bRF*\10y\bB\9c¼ê\91\95\ e,K(/\r\ 3\96\au64\8e t¯*2\8e ¼0\97\17\1aÉXt_\88\1cÎ\12\ eºç\97Ê^$\fýáY\98\8a\8d\r¢äc<\92DQà¢D.¬Ý8\82I\14ã\82(q\\º\91\8cM\14g\83(il;\123r\96°\98Q+J2\961ئ\16C1V\ 5mÆCü\18\ 5\rÀ\ 4M\9c\1cÁ(¨s*h\1aW\14\r4ëdxá¨Ò\ 3ªæÔ(ð\17Fn8:h3ç\b.2ì]N\1c\ e\a´!\921X¼\7fÄ,a°Í¨?\960ض\15Ql¹\8cÁ\8eËÞ\82\19CïUÙ\eËX̯\81éúÌ\8cÁ\ eëÞª\18ãøê^úXÆ`\9bª·ª þ¡ø\92´ß
-\ý\91\83Ó\83\16\8d#(J\94\93æ$c°Ã\1cæé¬x䦮ô(©\v\ e@ÞH\10«\11\8fì\1cAlx%»¦\93È8\82x_!.ÃIƲֲÏ\12\ 6;ÒµÚÄ\8ceÓä\øÌ\8ceÓF½\ 53\ 6\v3áU\ 5ÅWââ\93â\15¸â#W`?\87Ycd\18XH\I\ 3\15øÀÈ\8dG2Î8\82\90³\94ñN2\ 6Û´²V\eÊ\18\ 3N¢±ð \98
-¾_L\b®\a\e£@\16D\10\ 3+Ùt'\19\83\85Íã¥6\941ضè³\84¡ÜRü\87\8fÕ%Õã\#\8f®!\0[RâÂ\12\9cd\9c\96D¬.1\8d-ageæ,c,i(ÇßYݶ\1a\1eÃ"H\0¶m\89SOê\1cA,¨\94(ì$cÑ\91\840gå ÕM\81\7f\82\13õ\ 5 o$\b\9fÐâô:Gp\ 1\ 1ä\85:\89\8c#\889sqåNêûÊ:\84û±Ì©@Æ   UÁ\ 2ÅØõ\90\a \14Áxæ\9dÓ3\9fÆAºq\9c\11\11/îã\bb\99\10\bù¡¾]\ 62\16¥\89\960XÄ.~)c°ð;\ 5\8f%\f\v(\86P\85ÏÌ\18l#É(±\84Á\8e·XÂâÄ\v\8fUÛªF\8dî´ÆÐ\0DZ\82X0r\ 1èI\9fTU\10\ 6\8bd\15\8a26L\8b\83f±¡RàÓFN\\14ö×È0\10±Ò\12¿J\81\ f\8c\\1ch$c¬\aÖ\8eõ8K\18,\9c\14¶ÆYÂ`ᤠ^g       C½uÝcÃ\82qºípV
-|Á\91\v\el\1cA¼²\92ãç\ 3\19\83Õ(H,a,(\97cã,c°po°Q{-c°\10\92ßË\18\90ÞX°$¸Û\96ff\f\90Óïïe,V8\92]·U©Ó­\10\90«Ó\r@\94H\10ªÐ\14ÐIÆ`\9bF\96¤óÈPƢƶÏ\12\165\8eÄ&l,c°Ø \1eK\18l;\16k³±A\1ch@ÜgX¿\ 2\17'r\ 5\8c      ú7\921\16\8cã\ 4Ct\960رÄab       Ë\82Åc:Ë\18,ÒÀ\1eKXvVRW\1f\eÄ\81Ƕ(])pq"W\14Rþ9É\18\vF\1e\ 2ql(c°pbØ;g      \83\85\83\80°Î\12\ 6;Rïã,a\b\8b³\ f%\e«'VlÛ\L\0"\8eº¼Äi)ã\1cA¼²\96úÑIÆA\98\82YõÐiÞb$Å \8f\r\v\82\r\99\v\11\83ª3_Pä ÖP\8d-p\ 4ñJõp>\90±,Wv\86XÂ`\91º\8e\88\r\v\1aR%W*ð\ 5E\ eë\82\98Æ\11ĤðK\90ÒHƲ\q²Ä\12\96å\8a\93%\960XÄvèÁg&\f\16¦Ál\10\ 6µ\8b%½¥\ 2\17&rÈùZxDyP8\82²\©×\9cd,Ë\15c"\960Xì\13LÅ&f,Ö\99ËÎ\18«\87­Dfc\87-\0Y\92º\92ÄÉ\96\968çò¤\90\8c1m.\aÆYÆ`±@\1eË\18,ÞÃcÃ\92°Ar`Â\1a\14ø\92"\17\97`$c[\92±qIqlð°¥³êa\ 3\96\ 5KF@,a°ãB¶ÎÇ\12\96P$Õ\81³\8c%\14©*ll0\1782?\8c
-DØà\1d"\17²¿ÒHÆb\85RÑ1ë\18\vÖ¢ÃYÆ"l.'Çff\f\163C\15Î\12\ eÂbï\8c\15a\13\ 6\v
-g      \8b*$b9+\99·\18«\1c\1c\ 3\10M\10\8c\99·s\9ay§q\9aj;G0fÞÎiæ\9dÆ\15¹t\0\9dd\fí\16\12¡\88%\f\16R\8d\98%\fvØ@\7f4\96\8b0Á,c°\9a(úXÆ`µÅA,á°o,Q8eáiÙ·²'/c°H¯\vZ3c\14Zèeò\9a\19\83\8551«\ 6^´¡æV\8b\ eÀ\f<q!ãw\921Ô¨\19¿³aZd¦\16U%m\1dz\10\v\10\ 35ãw2\fÄlvàdj\8a~\ 1ÂóH°q\8e &E\92Ô\12É\18,¼wÅ,a°0\0\18\93½\94\r\87\85YÆ`i&Q c°Ú\fò\99\19\83ÅÑb\81ÔÍJæoIp\02¯zÝÄ\15y\89\90á$c\11V\125b      \83ÕF
\84Ájß\83X¢
-\89)Î2\16UÈÊ\89%\f\16¾\85×ÌX¬_zg>6¨¢\fý\87 »\ 2WEä¢M\1aÉ\18â Ñ\84\97:KXT!Ý'b   \83E\89\ 2q|,aQ\94¸Eg\83\11kI\1c;ka%~¨"\87s\87q
-T\18\87\98\14¾\aFl$c°ðqØWg      \83\85\8f«\99%\f\16\1d¥ÞXÂØ\eÍ\15|fƲsâ*\9cUQÑ&·s®\7f6A#ÓJ¶`\8c#ô_%¸\19ã\b\8c¸mg\f\89ìÒI0\8a H.Ç×9\87à`Ý%q\ eE'rN|\9cCpZò\e§æ\88¶µx(µFý³\19cdÂ14\8a &Ô\86\8es\ eÁi2à\9cCY¤\14ÙÎ9\ 4\a\ f8&Î!6\r\92\11\94\r\95\10gsJ\94Ç/\16äõÏ"\9bÆøÈhL7Æ\11\82¸¶^e¼\8c\ 1B\97\86#\82~nb\1c\1aÜ\8d"\b\ eU"\r#(Ú\90\ 4ÅÇ9\84Tp!4N­\14W]Ö\7fÒ?\9b\95FF-Î\18Gx\15Ü>Z 2\81\f"\b\ eQ\13ÍRã\1c\82\e\8b5:çP\96(\ eÍ8\82àÐ\v\19:§Ë/©\v¦\7f¶åGF\17l\8c£´|£Âò㨰|çtù\89Óõ:ç0-߸°ü8®ÔèiÜËóg/¾CU\93gçWZÙç¸FlëìüRoØñóôùùäâz\96uWÙQ·ÜÌ\96\9bõ·ç?a\14bm!£\ 6Ò\10À°A)Ã\9e\1f}\9cÜlf+yFì\12\ 4&¹|\9eÕ\aò\13\86\ 4øÃí|ú³>\84Ó:*ã¯G«n­Óãâ{XÕñ׳Û\8bål£\ fÃï\ eÓ\14/Wݯëùò\83\10\90ª\1a\ eãó/ä\17ø\8c|ô»Ó¾ïV?\7fXu·7ú8®Wm\82;gþp;¿\9cÉãÈ&Ú2N\7fpÏÿ\95C\19ùâ;xÿ ¸
\94P\1c\14\1d¡\94\ eJ\1aÂ2\83\9a\8eçëéíz=ï\962\16\9dùHÜó\95OýX\10i\0Å\91\10å¶\10ÿZ«Î\90ù\8d\9a$Xw%\ 2á\9c\8d\8b*ʺù\18\1eC¿a\9c\fâ\9bw³E·Ñßq\1cëf\1c\9f=\.»Ûåtö\8dÌ"ç¢N{}3YM\16³h\81\88,aÌ\93è"* D\8bµ·\91ÕWÐ\81Z©ª\ 6N¨2Í\9e}ZNU-8Ch&F\85m«¥MÌ\97VKÙÊ\96\fJdp}Û\8e\ eÀmû\9efñþäôL¦\84Ïj«h\17_zÑ\8f\98/ÊÙ¶lúÍö¶\1fwjælÒ§oÎU\1c\84cÛ³ÛxBPNÙqXt+Ý\¤IþàæãD=\ 1²Ý¡\1d\92n\19\ e\ e¢\90ùÌ\1f\9f\17?~«ïF\98k\93g¼Yu\9bnÚ]\v\ 1ïì/\vþ\ 5\8e¨M\aôµ*\1d©ë°N?½\9f//áre0Ú|~p\17\93éÇùr\16\bä¯Å#v©\1cÉ´\83
-ùVßl\86Û*=Åñ\96gaÞy\91ÌûÝlÝ]ßn¢\9f\83kÉhùoV\97!\1cÁÛZHxÄ\86\7fæ\90 àVØ\84\a\9aÿÿNà\8c6\95¢Þ÷\93åë`\ 3¨YÛ<9ÏÉòR\95\ 2É-\9a\9eª¡a\vó2ùÍ·\93õú×n¥Ï"f\8eÛ4í«åtõéÆ\14\88OSL\81sµ8qÕöÓÙdq1\91÷á&eø\98í¾[\99U.óR\94\94{<ÑS\8a\92péÛ&q²Ü¬ºËÛ©/ÿ       ]þÝKßÏ\ 4\81\ 6hv÷\84Ø\89\92'\8b\9b\99,5Ñ©á1ì,\9f"\ 2êá\82\vô#{xÑÝ\86¤\bß\97¤#z6\9bÞ®æ\9bOº7¨\8b\93}ì_Ú\17þ5J*ßäm\89\1av\f}\ 6s/\87\97ÿ\81¨\93\ fA0ÔmÃQ2Å=©ÁÙë\97jÝ0K³î¾Å¢Ílæù\85ÅêMW\15²\90A!w\1a[B\86\1d\90Ën9\98\85c8Ó\ 3\8aÏßFek\ 1<\9cÜàe\91î¦3Ý[Þç\82(\9eÜÄõ¤ÛÉgÎc²Æ9Ýzqq#þE\17\8ffDmÞå¨[,¢\87\82×\91\ 2CÓÛÏ]í\83Æ\aÑØ\ 1£Å\ 3!\93ÿ=9 n\ 5\1fÑXápþé&Ä\1ad-£´\13{ìs¾\o&××\13s@\b\8fõ#¢à\83\ 4zÐÃU\15ì\16w}\1ctv<ç\ 3k\9a\a­áó\1f®j\95¢\19ù¶ÝUoƼ!9\95\7ft¿ª\a!\17´      ¹\19\97 ¨p¯æ\1fnCâ%Y\84ec\1eñ\10\7f,#\9aèiÄ\8d@\93Nc¦a\11\9e7yäÓs]3zEþÌÛÕ|1Y©\93Æý^\9d²³ãn1 Á\167\ 1\1e³¥ì^u××!\8bÁª*$\9d\ f??U#
- ÀZ!¢Ò!GÄÙ\8e«oW³Õì\97Ûùz\1eJ04tÊq:\ 6ïf\93ËX}Ë'\f_5ÒìZR\90nP\14¹g
-pÑÛ\12½\9cLµæ\ fÙRÊ¿w§û\13~\89\12ôó\ 4\14vÛ"$\e\8dºoà\9aÌøö\95Ðn¹ÈÕ¬fp[Ãæy½Ý·5ÉB\92­?\85F*í\88\fJt\199\98¢A¾#ôj\ 6ç\1a{=¸­²Üèu¨=Ä´\91\1a=\86ËóÕíZ³#D2Ïr\ f§S´\rB\a\v\es\fNRîØÔÿìæËdà|è\8f®ç©\v\86æ­e\1d\99ù\13\8f\1fûö\834\8f\ 4<\8f\87ÿþê­B\81­_qõ\8eoj\1fq\ 6\82Ráv\12Ê=î\11\1c©:cS\89Õ¹'¶}\86\86ñåä\17n3Dáq\85ÅÇ\1c\ 6Ã\92\7fóf9\80ú\aß]\7fÒn\88\\1e\9bõ\7f%ùqmÕÄ\0tÿýÝ}²
-µ±þ5\8e­\1d\ fÞ\81å¾Ëj÷\99b°d\8d\8bè·¦\93þ\bC\96¶ìÓg\ eÕX\96:ÀM<oþNÏE\92ÍhÚ\!¿]uèc/Bþ\8c¿=`IÞ¾³ÿjµêVú(j.kbïnÍÓü\92\ 4Å'À}¿¸Ó\f9û´ÞÌ\16¢\16üu-óÕÙÛîz>\9d\87Ú
-_F{îºOV(æj~\1d\1fÆ,É\ 1>\8dl{g­µè\1fà3$ÞÙv;
-¼ÿ8    >\1d1ÏzZ\1d,[¯\ez\8d²\8f³kíë÷\1aeÓÐ8\91\8e\88u\8eNDy\888\96é}\98mþ¦G\ 2\1fA\8e\1fì\9d÷\8a÷À\1fëXcâ\9a\9b\e\1f¸fÝV\bÅ\92=Q\Í\ 2nßî5®:U\14¾4rõÝÕÔ\eÿöâõ+\9d\ 1\7fÇák$wuÈí·+k\91z·}\90\92 «¸ð]¬\97\9b'(ÇV¡\1d´þ«È\80¯\81¬óp:Û \ 3ö³üÜË\18¾ï>tK=ò\88êù\17®PkM¾\a%̱\7f¢\91\84®Ï\10îl¶IiR/7     \97\Üß}×M\16\82¼VÝ¢+\1fN\13\8a\ 3;$=\17\81h\e\8b\9b\aÙu\1d\92½\9dªc¼cÔo^\1f\9e\9cþûèÍéù»7ß\1fl~Ó3¯\1f
-¥ \93\85]õ~nv\97\19Ç\1e(7Ö\1fxhþ"\96\82î§\a\fϨéîòþºhb\87Ó.P«`\9eÖ\89¸«¤\8dþða%íá4¨O.\83Rr|\8f²U
-¥`4¨\ fFE\1aéºû½\12\15\1fjÚ»öt\8f·Kä·(¸¯CË\12ù´9bW3\876«Pv»L¾8Ümìm25¥l&ÕÀ5ú!| ñ¡×¶9þ\1f\15ÁA¼~\11\8ck¸m\89þ\87\8bà(A¿\bF³s[\84½\99À/(uæW1í\91\8f)S&\13\9a2h<Ú\ fd*{\ 2glµô.HvoÈöeÔøNA\82\8b&\10\8cò/\90þ'Ï\12u#\7f\8b¸o²(³T?\\ 6x¿Ëò¹ì²\8b×\bø*ÑN\99\1eFV\8d|\16\81n¦µ2q$LmW¸\ 1\94\13\84Oá=ÚÎC=\8dàâ        è¥µ²\90\97\9dZ'+(\bß\$Ï\92\84|Ì¿\9bJÖ4Ø®\8fÄlv\83ëû\8f³¥\8aÀ×\87s\8dûø0Éãà¾Ý}{|¤CQi[±´\9cÍ.g\97*\ f2m\v\12\8f\91ãÁc¢àò\ 1\ eÕ\85\88uÛÇå(Þ\1aó¶¹{å¾ÐE¸J\96Ê=] îX\bÅ\ 6n*üá\99R%ác\8d\12ÿ)\8f\87÷/ï¡\9dd\b\1e \0ÚVÈþã!\9bË9ÒNm°\ e\9f!á/\ 5{Oi7µÚQØ~U¿<>R\8dÈ·NÍ×,4\92ÙôïéDK÷õ#\7f¨¨Õì\ 6\15è$~¹\ 3W\¦\8bê}çêî\8b#)LUIøxh\<¦í}\1f³ÑÊ\83n\86äKZq±éjè®\84,Öc)!ómæ\84å\1eÉÖáñYô+æ*É\81Rs=[Ì\16\17!?G|+S:|\ f\19\91fûê@þ6\ 1Ç T¢áë\8dtï!5\18®ÄR\89Á\r\97}& ÷\f«pï)_¦äÑEd7HDÓ51¾xÈ\87é\ 5û\8aÙãÙÅ<¸:©~\9a\17è2h\ 4\9dë±7,R)÷g+áÝìò\1f¡OòU\94ðâ;|t\1e>hÄ\7fù@\ eé\10\1f8ë· g\87¯_\1ef(\1e\7f\9aM7Ùq7½] sn©\85þ\95'|\9e7h¡F|\ 13\9fË)xuþì\87gÿ\ 5\8dg¶[endstream
-endobj
-1374 0 obj<</Type/Page/Parent 1367 0 R/Contents 1375 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 140 0 R>>endobj
-1375 0 obj<</Filter/FlateDecode/Length 4304      >>stream
-x\ 1Í\Ér\1cÇ\11½ó+ú(\1f\0ö¾\1c\1c\ e.¦E\aIÉ"dù:\18\f\89\111Óð,¤ô÷~\99U\95ùz0\10I\93\0eGXxóºª+³²r«\96ÿû Èrü·Èº2«Úl¾z\90\9fæøÅþç§\7fÈ/Y[\ føßUV\r§E\ 4WÙë\a\ 4WY\93O8\82«¬oN+\1a\a\9cCwÚ\13Gp\95\15yko\97\172\ 6\93¡\8cÁ¶²æ°r\1dKx\95\95Åtl¥/ª\1aL\bQÊÓ&k\15ÈH\82«l¨DLã\bâ\95¥\8cw2LZ\96§­MªÀ'\8d\\9f\8b~\8c#(:¨D[F2\16)»Ó\9aØðÊ|À\8fI\ e\ 5þÊÈõµhÇ8\82òÊ\^i$c°u-¯t\960ؾ\98°\8d¼§\19ZL¸Êº\1eú  @\16D\10\ 3\8b\1eÏ8ÉX^ÚB\8bΪ\9cM_aò(g\0&gâºZfÕ\aõ\95\ e±\97\1döÒ9\82xaÙ\9evD2\ 6\v\9b`6,\a\16fæÓ(ðåD®W!\8d#(\1aÈEF#\19Ë+[Y­±á\95øÑ\8c«Qà¯\8c\1c¬iÈ\9c\93óÜàäÈ~è\ 1\ e@\86\11\8cçÙ9=Ïi\9c\9egçô<'N\ f°s\ 4!\83\9eg'\19\83-\a\91_×&Ëa\f\16\96\ eãq\960Î3Ì\91Ç\ 6í\14\1dÙ\87\ 2×NäúNÆ\19GP\96+NÂIÆ`\83ÁÚPÆ`¡ý\9aÇ\12\ 6\vÓ\87ýøXÂâ\9cä\f\18lÙÉ\86ÚØ *¼\84Û\9e\ 2\175ra\9b\8c#(¢ÊøÆHÆ`k]®³\84E\98
\92Æ\12\16aĵ:«Ë­\a1õxr\ 3°å&®\13Óv\8e \ 2\8a\1c\b\8a(\r´ç$c°\95¸Sb  \83\85»\1a\98%\fv(§3\13\16\13\94\99\19\83EÈà\99å\18Ö­x#y«Hª@íÞ!44È0ã\bb\1c|\14d1Rç¬ä\98¤q
-dN¥Ô¬â©¯\15\b¥§>@\fÓw\eG\10¯ÃÏMæ\ 3\19\83ÕhL,a°]7\1dKXLº\92ý´×2\ 6[w"¦³\84Áö%\82§³j_Õ ~\16âôPs\0j_\ eáý\9b   \17ÆáPhDÑ\a\15ø¸ÈÁE`Nã\b\8a\12$\1c\18,\8eMÏ,a°ê!h,aQ \1cAb      \8bu\95\93\99\19\83m\vhÃÇjL®ºB\r\ 5\91\1f\9c\ 2\11\95 \8e\99\8aê\9cC,¨ìaµ>0L
-\85˹\ e³(ðI\13§³8çPtРÈUF\86Ik9ÐiR\ 5>iât\16ç\1cbRÍ\1d*#äÐ\98XHX©\ 2\9f4q:\8bs\ e1i+.¨22\98O\11òd¬\1f&¢@&%\98tj\Pq\1c'Π \ 6b$c\91£\91W:KX\16¤ûá,a°Ã\80óGc Ã@\10Ê v\eËXÌGÒ,b  Ã\9bÀ{\rÄ\ 6íÂ\a\8b\17
-ÚUàÚ\8d\\91×òR#\19\8b°âÇ\88%\f\16Ñ`Â\12Æ\82sIì|¬.©\84³6Ó\fÀ\96\94¸°\ 4'\19ã¥ØÇ2#\96°,I\§³á¥]ÈÄU\ f¥\ 2\7f\8aR\ e¢\93\8c1-ÜsEl\98\16ÆgÆ[*ði#W #ʱwò¤\90\8c1-Î\ 4³aÚ&äÓaµ
-|ÚÈ\15Øî"+\8dd,**'¬\9e\8a\12"hH\92S\11\80L«§"qpâ\98U\1fÔW:ĤZV9É\18,2â\86\862\ 6«\196\8d%,\86"+s\961Xl\föÛ\16Å\18,T0\19K\18¬F%\1aK\18g\ 6\89å@33\ 6\8b\99:f       Kô\96\10ã33^eu)õ\96³\8cÁ"¤LfV#@\16¡¹\98n\8f\ 2ß\9eÈiòU\1aGP¶§\10Ã7\921Xd,ØYg    \83\1dj±ng  C\89E)j2\961ت\9e¼\971X8ÇÉXÂ`\91\7fbó|fÂP1Ò\11\98\94±\8cÁ X"Æ`µÜ¢±\84±\ 1\95ä\88Î\86cWT\1eßJ\ 5~ì"\17=\91\91\8ce\v$üûPÆ`Q)a×},a°Èd \8e³\84e\83\11KX6H\9a>Î2\ 6\v\8f\88óc33\86¢àþyÍA\15Úy\88q£Tàª\88\\ 1«À\92\8cd\8c\ 5£\e\ 1a\9d%\f\16þ    úw\96°\b«\aÞYÂ\10\aå\ f\845\96±¨B\1c\84ÁÂVa\8d>\96°(JÝ\90³\84ÁBå\93\99     \8b\1am,c°].\96l¬*¹Ð\9c#*9\0Srâ
-\18j\vÛ\90Ý\17\921\14\85\92£b\960X¸\87\92YÂ`{       h43a\b\8b\15ÖÄ2\ 6\8bÈ\84v¥­JÃ\8b\94\9f\16^\ 2\90\15kxI\\88RNJ9$\19\86¤\95z\9c\ 3\90q\ 4c9ä\9c\96Ci\1c\8aÎ&N¢ês\b!k±$\1fÈXÔ'¹'±\84EAÒ["\960T\80&  ¿\961XÈ4a \8búÄûøÌ\8c¡\87R|¢³\8cÁ"aà5\aÕÃø¬Ì*\14¸ê#\87J\f\86d\1cA\88\8a&\ 6lÁHÆ¢&i\8b\12K\18¬¶\10\88%,\8a\10÷ï,c°\9dtx\89%,j\92R\8bXÂP\ 4zX\ 5±\8cEM\12»},c°(Ú D\937(\11ñÓjN        \9eáÄ\ 5û\8d\1cL\0ï4\8e v¤±©Æ¡#\9d`P0´o¤(8a°èIà\1c8K\18,\94\92\9e\95]e\f\16æ\8fÍñ±\84Áb\15P¿³\84¡`\8d¬Î2\ 6\v\9fÌï\rJBJï\87\\81[Zä\82i\19G\10\vÒ.Ta$c°ð_x¥±úJ¤"\96\16éßöÂÈè\v\8cq\94ÞfTxY\1c%us\9e\10ãà®kâ\1c\8aÒ¤ú³qêÉõ<GG®\7fË\125{\8fLH\13\8c"(B\8b\174N'DÍhu\85þm\13FFz²¸\1a\90Ç\84"\88       5s0N\95\b\8fi¶­\7f\9b\12#\13\94n\14AL\b\91Ѽ\97)ÂË\f\82\ 5ípã\1c\82CüDS×8\87P#\ e\9f´Ãã\9cºH8k³-ýÛ\16\19\99"ï±/F\11\94\85äØ\17ç\1c\82\83ÓD÷N¦W\ 1\1c\82Ã\81aÎ!\16\89J\1c\1dÁ4\8e 84\8d\98s\b\ e·\1dÌ9\84ï\812\89SÁµ\85\13»dú· \1e\99 ©Q\ 4\93àΩài\9c\9cÃ$¸s*x\1c\17$5\8e ì\9c¦¢"½,\93 \b.Ýv\1fç\10\82Ãç!#Lã\1e\9f=xøLr±ìì\8dV'9îúº:;»Ð{Oü<ÿîlv~µÈÆ7Ù\93q½[¬wÛ¿\9cý\8aQ\b\19\85\8c:\91¢\ 6ÃNJ\19öÝ\93ËÙõn±\91g$y\0\81I.¾ËúSù     C\ 2|=[\9dÏô!$Üuzh¦s#¥mÊ!>¨\ fá\84¥G\1e=}-ÃPÙué§\8bq5[®u2<\98Wqäj±:\ f\v\fA .\16=ª¡/±jé|caýi\15V&\19KXÛ\93qu½¼ZÈ\845:ó¶:_3r\83&>}úmÿÓ4²Ì\93¾g\89êC\89^/vûkU\e\ 2GÞG9\7f\1f÷ºO¨\97\86"iíáb7\7fønsÞ\9cÎÇõ\e\19\83|,OÛqßÂ6­\8a§\9e\15\9bÖ\1c\8aød³\98ítϤªl£\88»Ký     ñ\ e×\15ñ·9¶w\1fM\14õ\10*\8aHÌæóq¿ÞÉ\eá\17\9b&Úê=Êlâ\1eÈZ¨´ló?\8eÛí\12çR\17\8b\1a\ e_0ÞÅf3nô\18áf¬/£"îQ\ 6~U\92§ÈyïÚý;[lUëÈ\90ZÛ¦£Ö¹]lÞ\873-×£e2Ú­Ù7Ü\ 2>ßPUðBîíï¦\v\ 6\8bÆàd\ f»c2/×ouÿ\90Ë$ßóa¹»\94ßp&+;¨ÛÕùüj    ×+\frjSÒ½\89E/2    Õ)Ó\91\8c\1eÞýè«q·H\96øçð\96$\86þ\19d¡XÖÃP\91\8fÿa$\eÂV~q${uVëN£½\96ÜköÑP\864¨îcl<\94ækã¦\97õqðDs\ 1\81Øö\1cñýЬÿ9.×nÖ\14Ù×2\17ü7ê½è©^\9déOè;XðyÊ\91Ü=öÑCáÑ\18\15\92y\rô\12tV´dÚ;÷}AA'ÒÄÁ\ 1\94\87j9¾ØÙúB\17\8blÌ´òËr}1~Ðc\83àäq\19m«\\1eæ \10Ô\15\9eE\8b¥½\97\80Õ\f²\8c\13½\82\9d\b}#\8fúåò÷¸bßô¥®\16\9dÒ¼Oaww\19\7f\84\1a,×:_ìb\88F\18ë,Dï.gjH\93H±]Ì÷\9båN_\86´¸éRôÿ«¼¾?\1d\9adr!|üM~F\1eØ\16\95\82¦È» Ür÷òüùó`%\88\14¦\8b\1f®wËq=»\92\15bûqÍ\18\ f\8b$cË·ûÍLxaQ¤çC\94ëk\1füÏ\9c¯-dA'\ 5r\10s\9eÏ×»Íx±\9f§å61éüÌ©ïëñV½Æ      Vi\12ÜVÈÀvE\¤\94)fCÖÅ[Ù\99\10ÎQNû±}ùZ\1fF\9f =Í\a\1c\17PéÐfëÅîøy\17N3òUó\bæý8P¸CÁ¯_W¹­\96\14äöK¹5 £.÷\1cª\832¥Ô\8fÞ.Ö\17©\9cK¹Ì}íÝÇß\13$:iàI¦b\ 4?mb¼\9a­4¡Fn\99\17©Júi±\1d¯öfÇèIY®\1d\8aN|\8aã©\9a*\ 1mEÛ½ëý&Ì\89Èdnìçõò·\87/\96ëýob\1dÒl2\ f\0\e¸Ò¨\80\ e\85\14ªw\90ÊFu\94¸sº¡\8f°±UL¬µ\18¼\1c·¡æG=ÿçØÛ(\0Z²7Ö\1fvt²þ\8dlà{/gq\81t·~ÿ\ f\r²\8d\15­ÜB\1d\1ac\88 \93Å\8bòméÍ=%~·\b\10\97\8e\ËR\1d¸\ 2Ü!ª3\98,{½ÝÂmÍ/méÒëÿFZO\1a\97fíTãAß\7f|üÕzìø£u\97\8e@\16\9bU\ 5yûýv\11Î.wTÄ\7fÇö\14úF)+Íbdà¤\87C\ 3ç~14¤ø\82\16kõÅ\8e¡\r\85j\89æÝÁ!B\8e\1e6T-TýOv\16û(¸\9aM\8d¯ìÕb÷øù\ f\1a߸&Í\8ezÑ'³y\98Bêöþ¾,¡Õ
-\ 6\1dJ¹áb£E\1dóI2¾xùý\ f¯ÏTÆ\89\97~\13û\83(óÍ÷ßrjîæç6fáè\8d\1fJ\16½\bí\9eÉ Ù±E\1a\92Áò\95»Yì§ÌÚius\82\7f\869FÿB\ 2=}¥[µÐ\8bq|\17z\9cr¡x_\ 6v\8bdI\98#\1e'4.q=\90Ö\98ýò<H\83ßüp\918¸Z\1c¾¥<Q\18ùj`jja_Ì}~?~\90l\ 6\9bâ¹ëù\ 6µlô[\13'ñf¿ÖÚ ¤»ÔÒÊ\8e\15Å\97qjî\ fîFͬ9ùºX\_\8d¡\fä\9eÀv'7\18º6Ü\Y³áØ\8b0\83d²ñq¸\8d¾Nµã­¢ì\93\80h\1cùé²\ 4\1d\ eo觭\88.\14L5rLvJÁ4L\9f\9f\11 n­\80G­'UɸÎævÌÍÎÃ'*9U¢ªPiQä©
-0\91¥¶¶\8eÌ\9bQ/\19Äz¬0ß.\16««Å6l>.ö,¦,S)\15\8a\\çUÅ-¡.*±\92益v       Ao8÷\9f·º^¸K\7fÙg(øH¯êHø\ f½\89I\93k¶Ç\15Äz·\9c\8eÛVR\84õ³á\9a¿Î\8dCW\89©ã:\ e\1fn\1c*æfÔ{9{\17\8e\ 6·Y\8eïä\8dÚÆoØ*¼Ëª\9b\8dP\16YXÁ¡ÖÃÊí¿/Óþ­\16O\1dT|uqpðnq×é稹ª¸Q\18!Ìß0)\\87jK&\1c\ 4|»cV|\8búÔÜ?¦\96O7\18\14©_³©bf#\1fM±[
-×5æ\96 öü
->o\«<Iè¤ÃoøÏNûéÔo+àë?ÞÏ        Î\82ú9?¿zþ\1f1×I@þq±Y-qç\16\1c\13\92A÷p\8f\97¡>\96\ f|,»\8aÑ\ 5\9f\91Õ©\8aÏ8¿çÖOô.ø\14Æ.\ 2\1eÍçÑ?âß\82p\17\v壯¦íATã\1eË^,c\8d\8e\8fu\vÜßÿ?]\83î°ï#\99­\eBqØôù÷rñ!\85v\\93[ÇãX\\9d£oû6=\8cïêÍ\ 1\92®ñ\9dvlv^\9b®£\89y\92\9d\1d\8f¶Çîy\8føìÛ½Ærv5¾Õ·AßUýé\9dô µ\13\19º:è,\1dË\8d\8e$0ï¡RÍS8\87²<\9doJn\95$Ø'b\90ש2#·¤\8e»§íå,vªð\ 5é\9du\1a¢ºJ¸Xö2ÈâÔ¿\9a\97¹Í¸\8e*cü°^l¶\97KýÄ\ 1%zÝÄþÕ½;£(\9eü»\88\ eråÏ\13/$P\1cO/\96\9bÅ|7n4Ù­Ñ\82IW\1e\87G\a\85ï×\f\12Ç\15ÚÅ\9eV;LÎ\0\8cøFÐ|\96
-g$bÖ
-qß\9aλy\93ã/¼Ë_\930øW±&é\13.^\8f4\r\9eN6\82³á\9bBUõÝoÅT3I\16¤\82Ss<,5Æ\8bå\9bß\93\7fÆÖ¤Ì";~Þ¾À ñE{>­\86¦KþrÔÅO0\86iô:HcäÒf3óû)Äi+dìÆ\85?Â8\16bPY¢ZÜh-\85OÅüÒà¸\8b\9dÛ7JrÃ\90§\vÐÕlûN½>:þ]ú¬àz¶Ám\ 4Ö\18\8e\ 4®\¾HkQ)ú5÷Ô\14Â\97)æx¿\85^\8e\1aÙl·Û,Ïñ¡\96¦b\9cì¬f××ÉV¡ôö\96\ 2ñ\93-©Ó^ÚÃgøÞ?~$\88ÿ\87\97ºèð%$þ)\1f       ¾~ôòñ£ìÇÍø+¼nöt\9cïW(ꬤC\8d\fH\0º|\90Ç\97Ë¥,úïg\ fþõà\7f\9cÅàGendstream
-endobj
-1376 0 obj<</Type/Page/Parent 1367 0 R/Contents 1377 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 185 0 R>>endobj
-1377 0 obj<</Filter/FlateDecode/Length 3777      >>stream
-x\ 1Í[M\93\eÇ\r½ëWÌ!\a§*KÏ÷Ç)µ\96,[©HµÑ®K©JåÀå\8eV´IÎ\86ä®ì\7f\9f\a \eÀp(Ë*\89+ÛU\12ß¼én\0\8dF£Ñ£ÿ=É\92\14ÿgI\93'E\9d,ÖOÒY\8a'úÇë\1fèIR\97\1dþ\'E7Ë\ 2X%\97O\1c\'U5«\1dçà:ɲjÖ:Òc°e1jê1Ø:\9d\95¾­Ãë$GÏ^$\8fÁ\16Åh\\8fÁ6­êFêx\f]ó±T\1e\93%ÊYî¤*jꪠ5a
\97\ 1õëà:éÒY\13^$ÎA¨\9av³Â\91\1e\83E\87\9dceÈ<\87íâ\90\flÈÀeYJÝ*I\18²G\16V\80}\95\95n!I©Ý2°n\ 3×\964kÊ9HSÊ\9e¢¤Ç:¥ÆÊ\94\86\94'MYrÀª-Ì\ 1\ 5\90\80\91c\8f3ÎAX½ÒNØê\ 6Éê\ 5Ìc\r=\ 6[e\98SÇ:\f\17JÉxÆz\f6oGm=\ 6[W\98\ 6×Öa°m=\92Êc¸_\9aÂøÖÖc°ìz\8e%ç¬êÎ\9cS\80Niä²,\87w:²¤\86UÍ.\86    \86¸\f¨¡\83°\924T\92笠7£¥\82\15Z1°9\v\9cL\92r\ e\9aYåÚ9\88ñ\8a\96\ 4Õ\86ì´UÖ°\93ðz\13`\1a\ 6\8e"\ f¤aÄÒ°iØãÂ"ª\18XÃÀeX \10ÇH2M\89åK«\8fm!\80\1a:\b\12ËÖH\8fÁÖ\19\8cdlÅÝ6\r¯>é\87\81u\e¸,k©¡\92\1e£Ûª A\8du\98\ 6í \8bc\1d\16\9fömɧ#\ 6[R\14²¶"pM¾\11íÀÀ\ 4\ e\\96ÓB*\95ô\98¬Ä"9Ö0©Cý»¶\ e\83åYp¬Ã¤\ eM\9c±\1e\83\85#y©D\1d¬qÚîÄþ\fL\9dÀe9ùx©¤Ç\10       [\1a\ 65Öa°m:f\1d&ujø¶kë0\ 4ÆJ\83ýµg\8fÁV\r©c¬Ã`\e\8a8\8eu\98bJ\ e¯3VLQP\87Ñ\14\fÌ\14\81˲\9aDRÒc¨\83`T{Öa°u\8b0çÚ:L¦ =ØX^æ%\16\94ny\ 2H$^õ\91\83ãC"~\918\aÑ)\16¿'=\ 6\8b\95\82!µ©X!ËÜ\82d`V\b\1cíª0½\92\1e£[¸\v\ 65Öa°\bý¾-\ fZt´Â\83é\ 5è \91\93`b¤Ç¤K\ 3]\1cë0Ø\96\92:Ç:L\v\83\ 2cE¤\966Î(\12\ 3\13)pYZ"Â\16Jz\8c\ 3Öa°\rmýÖV\ 6m(pÄA\19Ø \81\v\83(é1Ù¡Æô\15Æ:Lv =ÀXv²\ 2î¤N&\80\ 6e'\8b\1c\r\ 2iùM&)v\17\88\8f\949qì\10\ 6.+É\9d\8c\145ap\9bn\ 6Ö0p\92\ 2\16Jz\fE°v \80±\ eSàÈhB\95\95A3IìEZ\ 66hàÄ\91\v%=Æ e\ 3±\1dë0\89DnïX\87\89m°ø=k\18,\926\b¬ã\8aÀ©¤Ø"0\ 3\138p²\15\16Jz\8cn\8b\8cD2Öa°\råç\8eu\18,\96\b&ÎÚ:L\16¦Ðl¬Ç`Ë\9a¼EÛ²:y'é;«#@Õ\89\\86¸\$Fz\f\91ò
-{\89c\1d&e;Ì\8ec\1d\16e3Ç\8aH\8d¤þ"\12\ 3\13)pA\ 4%=V\91\8c\15\91b[¸@\8a­\88\8eÉE"F[ìÝ\9dcE¤º¶¥\9130\91\ 2\97¥ä\87Fz\8cn\91YBSmê1XL£gePl\ 4\1aër\ 66hàÈ\97jlºô&ëâ0ºå\8cÛXé\163 Ñ,g`Ý\ 6.È®¤Ç¤\vE3kÊæË
-<\v¹vÎ\80zE\ fÐ+p\9c\\eç`ȵ\8dã\;¶#\ fÃ\94\14.s\1c@(Zq@\14@\ 3:\bA9×6\92\ 3kÖº$]\806\8c\1c\¯Æ¤Ð\8bÁ6\11¢Ó¼Á\ 25Òc°p«Â³\ e\83í(Ùvm\1dÆ\ 2åÓ\9a±\1e\83ÅÞéÛ\92ÕÉui\93`3\vP«G\8eÍl\9c\83°zA]r'ÔÎAÈÊg\e#=&=i\aq¬Ã\14\88(s0Öc°\98\87\11ë0éIÙ§kë0XLJåY\87a\a\97Êc°U7êYÜ\ 1Û\85\16\1ah/\91 À~$\10f¢mÍ8iWÈ\89C^d`n\148ñ¿LIi\88c\b-kiÈÀ\1a\ 6NüO9\aay¬\86\16\7fR/ÔÐc°ØÑ2Çò\92§å«K^\0µä\0\e9\92\15fç7¹[\87É\19(h\18Ë\9a \ 2¥\19
-ÿV=\ 2Óæ\90E\19\ 4\85\v¥\1c\ 4\a\17­\8cc\rZ\97þòo\95?0ä\9d\94\83b\13ÏÁD\ 1\92§\96P[Û9\b®L!¿r,\b2\1aÍ\91ø·
-\12\98\fa
-µ.zM̨\10\82p\15Ó8\83à`\1e×\8e\a\83!t\ 3àß:X`(üS}$º\82AtØqÙC9\83¢\19ªF\91ãÁ\90\12ª\8fðo\1d,02ûJ9\88ÁrÚ\12\8c3\b\ e\81\v',ê\9e-b\10\1cÂ\ 6\ e\19\84\908¡Ð\99$´c!\11!ÉåØsù·
-\19\98\10òé5\1eLv\0iE\87xd*\91ûîêɷϱ¯¤ÉÕ[\b\89<´Jê¦L®n¸þ\8cÇ\8bo®æ׫>\19Þ&O\87;ßìw\7f½ú\19­\10\812ju\16\9a\9dåÔì\9b§ïæwû~KïPDF\7fèäæ\eXgFÏpJ\8dOÐÝÛåíýv¹¹%\ 6\11\18EÇðöÅùKzFÛL×\84go\aî\15=س\9bån¿]^ßïû\ez\1fÊ5Ú\a\9eò\88е\8cc. ÿv¾ZýF\fN=¹ö¾\9eoæ·Ò\v\ e\b\85Qç÷ûwh´\Ì÷ËaCÍ\90PtÐ\95Õ\9aýÞ\7fmJ¯\7fû\1cÑX,U`Ú+\18\8cv\1cØ\ 4&ÉØ(y\1e\ 6»\9c¯¯çÔ\b\a\84º\8b\eV\ eûI]\84q\93\1cë1]\1f\97å÷äü|N4=ëº\91r2ãªÜ³\83¹ÂI+NËùÔÈõã+Õfdú³\f!\ f\92ùi*ÆÓ\14\8d\ f_n£wFo67)geCW;äýKö\1c\1cþ\8a´\r\8fvëëÙ\ 2K\80ÆDaªh\1fm\1aÛ\üRW0\15û\e\11ë÷Ö°ØÁ­á\1f\87Ý>¬_¬v\14l\82rìÄ\88ÿq\82_.\17Ûa7¼å\15Y¶³ª\8eÌ¡WÀ¦ºö\9e/W=\89\8a h¦¼üm·ï×ô\18\epQÅ~öÛ^ÞÅn \9dË\82ÅöVÔÁ\9f\12[b8\8c\84\15öé\v -Ä\84º´sl-dB]ÛÅáÚ~±A¨º_P\14á\bZ\99ÿ\7fúø_¾\85ht\86Dsäû¤\86\ 4)J\85£±_\rû\9e\95È¿Â2ý\90îmyàÖT#!e>êÖ%/oçÖ\17Ø\94¢_ÓækÞs\7fw7lÅ\8bÑy\13v\89\ f\89túçmuà\88Y\8a
-\93wD\94úÆÑë\ 5¶ÀáF<\91\1aÇ%tza?:\82hsÖ4n!a\93\1eË?\8d´ØO\83g~t\84\13¿\10\14@v=ZE¤Ãt\15=ÝöØ-$ûÁ\9ec\9bû\7fîÈÿþò_\9a\1d\1c\9cÔýN,ü\91î\83>Hã\ e\9d
\8b§Å\87\85Ë~\1fõÁ\9d¿&Iɳíò¡ßrÀÀ½CSÄÜ*ftÈ·\9a\18\9f¿ÿ\15i±-\85×dì\ 5Õ\8f¸ó\1e\91ús\1fµ\r\f\95\8a\ 3?\94ýo¤²\ 5\ 4\½X:À\e 
-ÿ\9a°­æÛ[Ù \90£ª\ 56÷ëë\90,ûÍlà¬\0éB\97Å\8c\98]"ª\ f\7fÂÇ"'Ìú¢\ 5p ;\b\9e\9aÌûùÍM\9c\13Éy^õïÉ\8c8åVYLz\ e&±Ó\ 4éaÉ\16C\fÎ4ïEâM\1d\8c\9e½Ynn\86÷ìJHßÍ<¯®øU\9cjÕbç\17ox|, 4äa\9fé\18mK\1dâ S\1føE51\89¥\19\1fÍäi­\a\1fðï^`\9f\91=\16\89d{ÒÙ>4KÛ±\9eTã<\98ý\83Dø*Ì\10
-#q\17I^¬ÙUe\8aP Ólîj\18\9e÷ND\87\9a©CÇG³3.±ZÎ\86<ñH\98~ónÎB#\8d°0µdý\90`h\1cRÅÿNÆ\83s\16E8\e\1c\9a÷Ô8(\97!~\1cìBØ('\9eúÁ](¬UÒft\1c\95\8fQ\91\8aqûb¾ø\ 5\ah\99vl\ eÙ\89\8f3QIÜ*O\94\9c\86éOrÔ]¿ÅvE
-â{\b=9\9czÖFýGípï6ÎåP2\9cÌàQåpÚ@\9dCO£î´\91<]-QÑ`ýÚY\16k#£ñO      ¢nt\f\1cÅQÑÌÕ\væ·\9ba'+\r÷v\bE'Üñ>UãN\8a\ 5\15n*\ fµ\98fz\93\94\9bOY_W\9b \0îÝ\ få\9fÆ\88gýõýímØãñ]\8b¥5!- A"Õ4în; j¸\96p\808ôH\a¥\8eK\e(Iâ\e\9bCµ¦Qáhd\ f\1a±ä£
-ÃÍ@Zâ\80\1f\1d1yA\ fPôÕ\94ãÝü¡çð\8f\ 2+vÏGô×® YP»Ê&Ó9\r\18\1fÊÓïï\ e5dc,æü\9c¾öÓré±\9a$¿L=PÊ\17g<\91h*æÄ)è\84Û~´ÁAÚ\8e\82÷$dþc¸fUq©å\ 4Ýìÿ\16ÄÏóX¹ÛLf}¸ßßIi\19³\1c}áSÃÇg¾ß\95$èY\86]Ö§/¸\8cú\fUQ\9f\9a\90\82S§%íNa\94¾\1f7\15\9dEMñeüXÓf¢éë¹\1c\ 1\88®È\v\14(/\17Ûå\1dïw¸ÚTù\13Yè\ZG~£7\15\9f93\7f¸yÇ\95\eèÄÕ\8b±níD·ó\9b\87ùf\11î'p\97TÆJë\85+U!\\95écF\1dS6j3qÈn¢Êë~¾âeæçéÆï0\98&M«m\88Çû%Ê\8c®¸pâÆ~òÑJ¢D\1aWI¼ì\17¸áÚË}\13*\89zLZõ\ fý\8a£"\9d+N\9c,ÿAÓu5Í\8b»°j[·èP/ç¹Ô\ 4m\92Õüy\124Ñd\HDJ0\96ÿå°\95\8a\8c?Ø-\86õݪß3\81k\19Ëhnú\1dÇ\91p\v\82\8eÔkvnâ©2¤\99\91\9bx\1c]àU§H\ 3ãLÚ\15\ f²\91\8f»¯ì\1eÎ}\7fÚ,ß.%ê\8cÊ[ÿ\1cnÃ5\ 6b\8e\85Ôë~ÿ¾ï7äEHDðu\94(\97øª\r\12ù:n®¡jãwá\90\95OÜi\92\9f^½ø7õ\89Â\9b- û]ÈGqIÜfn¤k\94\88X\ 2|L\80\13ÍÛq\8dÇ­\81\ 2_\99\8cR|\94¨Æ~t~M;ç\82w\18$I§\99Ñ?¸\84\8f¼&\1a\9dá~ÝgÄ8\81\8cµø3¯f©»\8d®\ 5P.\1dË\7f4\99\87ã©;p5\84½!¹Ø\ e\ fK,hv*woyÄz'}\14¦fR©!妧È+*!\8b\97¹ÂËO»p\15\97ÏÒ¯¾\8dt¡rxx \85Äd<[?\ e\92«ávJKä\1f\98¬7Ãö\17\99),ÿx\13wÒiù@çªÜÁ÷\ 1¤Üt¶ÆWÞ\b\1aªçë~\8dûSö=\ 4O-\81Ã)\91àÝË\9e\84\14Èr¼§¨äHªðåjÙÇu\8c\1f\ e\8c\83\85ów\1f¯ækÙ?ñÙ\90Vø/Q<[.D;\7f×sù~¹_¼c¥q§P\86k\8dãR|ù§Y*\ 5_þPõP³iaàb\85r\a}öÄû\88\95\9e\92#\1fªà¤¯3û\12÷ª«P\ 3Å?÷<¡³ªBGfjzàG\8c\90z¦¿\8b9v\84ÿa;H\11`´Õ¾xFv Ï(4}=_­\ 6û$
-¥¼º\bw<_~òb\8f¸Ú&9Î2ú\82üp\12§gü×ýî~%áÒ\ 5\8eäé|ñ.ÞVá\ 3µ8wq\90Çû;¨óís|TÊß\87á{°¶À÷\8füU>>ù<\7fùÝ9íU?÷\8b}òlXܯQ·Õ\92nA÷\83\94\994iG\1f\19-\1fÈ:ß_=ù×\93ÿ\ 3\8d; âendstream
-endobj
-1378 0 obj<</Type/Page/Parent 1367 0 R/Contents 1379 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 228 0 R>>endobj
-1379 0 obj<</Filter/FlateDecode/Length 3497      >>stream
-x\ 1Í[[\97ÓF\12~çWè-ìÃ\18µîzä¾\9c\ 3\19Â\f\9b¼\1a\8f\ 6\94Ø\96ã\v\97ýõûUuwUÉ6\99Y\ exHÎ\ 1\97>uwUuݺZü}Ï%)þwI\9d%y\95Ì\16÷ÒI\8a'òÇ\9bçô$©\8a\16\7f.\92¼\9d¸@Ì\93\8b{\86\$e9©\ffÈEÒæ\93Ì`\86\$.OG ¥\81ÖnR\98¡\96^$\99kFc-\r4¯Æ¨¡\81\96Õ¤63[\1ahSOJ\8b\1a\1azpå\88+K\ 3-ÛÑÌX\16*ÌËI\ 3\15\96\8d\10¤BCBX\97Nòð&\81DCoa¤Ë\9aIkQCc,\94
-Eñ»<qAëd\196e\914\ 5ÍÃ\ 4a\86ÄÀ\825,`É\ 3Ó\16³Å\81LèÀ\80¹¢!k\10\90\a\96-é<\fô\84\f\8c\98ËȦ\14´4ø)s(Á \86\ 6Z\93D\8a²nË&Ç\84\9e`\15\90ª#æ\9cÃ\86\aV­nJÉ\84\ e\f\18mB\9b(ȼ\17¤ìà\ f%\134\8eýÁ\93Á\1f\14c\7f\88XK*WÌ\90\90\88m\99ÔÒ@«\ 2¶¥¨\17\83](ÊÏ\84\8a\11°¶%­
-æǹÚè\8d \1d\17
\9b\80~`\9a\e½1¡\ 3\ 3\ 6\87\81\18\82\19\12RÀtÁ\8d\80\96¦=®Hã\8a\1a\1ahÓ`m\83\1a\9a\18\8dµ4к\85uêX\16¦hSv\12vEO\880\11\83s5\89b\86\ 4Ce\86I\15´4        CælPC\ 3mkX\82A\r\rv]\ eÎ\14µ4\89\14\14%Ã,`\1eä~l\89\9e Y\f\19\fS16Ì8\8e-Q1C\82WG΢ ¥½\16J\83\96N\r¬`BU\e06LÅü8\88&Á²`BÇ\ 5\fÛ\ e­\vÆÒÃÇÅ-\v&Tú\80yq\ 53dHS:\8eÓ\94'!\1f"+´-\ 3-\8d½H\vÚGA-\r´¨È\ 6\1454ö*-I\12A-\r\14\9e7B\r\r4§¨fÆ\1a\1a([\83A\r½À(¶[]\97ÒTÞ\92ZC(ñ\84h>b\1câ\15ã\1dË\9bRwÚ\13:.`\ eYÓ%
\81Hð²Õ9\13:0`.eÖ\ 4´4í\fù\90\ eµ4Pø\e\8a\e\19ë\17\85¯S^d\97Ï\99ÐE\ 3ÖR=£\98!1)\82"&\95\81\96¦%)G\19ÔÐ@\91¬Z\8b\1a\9a\f)%\1dÉÌ\96\ 6\9aQ@0¨¡ÉÌ\1aR\84\8e54\19\12m·¢^\11\ 5\152Q\11L¨"\ 2æ3@. ¥!NAöiPC\ 3E\12--jh\12\96Â\83\8eå
-"Gþ\93
\13Ä\12×,\11s\bh\98\96ß$ÐÒ~ZhIP?-¢\17Õ\b~\1e&tÚ\80¹"\85\ 2Z\9a¶5§E\ 5õ
-\84óªù2¡
-\f\98K3¸?¹u\93\86Æ´¨\86`\ f\8a\1a\1a(ªTØ\83¢\86\86¤ð((PPf)k}Ñ\a;H\13O\bK\11ã4£\98!±¤#oSÐÒ@Y\81\8aú%\91\8c\16,¨ç `\rm\99b\86$\1dP±  ¥\81Ö)B¯A\rM\fQp5¨¡¡!ð`Çzv+_¤zþ\98P\r\ 5\fi©M2Á\f
-\18Ø\r#]EV­C-MÂT¤\a\1dkh\12\86\ 2\8bA\r\90!)ê\85A}L\86]\91ufL\900\86Ä´($ \8d\80\94,³¬â\18ȵ\81'h\9c!C© \18'Ë8\8e¬º\b³Ð@KcEð\ 6Vy\rF\rMJ DmPC\93ÿR\8d«¨¥\81¢vl,jh \bS£±\86\ 6
-˱ëz\ 5B9j¼L\10ÇÞ8\ 2æS\17Õ_Þ²ý@ÄjÉ\95\14¨3cõ\ 1k2¸¯b\86¤]aG\93\81\96\ 6
-\9f\0¯\8a\1a\9a4HéIQ\8eq\8e\8bì\10ã<A\92°\rEÌñ\91YAKcZ\94Ï9¬\90ÜÑo\9bÒ´h\ 5Õ+ê\17EX¤\bèWaB\17\rXXD@KË¢\8az&âXÔ\89XTP²]J:Rèy\82ÖdÛ\8d\18\e«b\86\ 4¯\14\8b\143$qCò(hi \r\1d\16\14en2_åúå\99Pn\ 2æ\97\17Ì\90(;)ë8Á\f\89õ¼\8e\ 5´4qCõ\80\ ee³t©)\9e=Aì°=G\8c6\0\9bÌ+Yb[p@à\17ù·\f\v\b§    E¨QÐø\8a\9b7\9f\7fÓ\18¥H\9där\ 2±8\95¯1ù5þ-\83\ 2âPä¢ûB¯\11dHÒ\b\19§`<!Ô)¹\9d\7fË\84\ 1q8Lâ\14K¯ñ\84JbB8\16\ e\85\82)        \f\19LI`P\aN¸2NI
-a%\ 2®`\86\ 4\86\14\8eÃo\1cÇ{\86\1e\8cT\11ü\9b¸ä\8d\b\b\8c\82N\1fx\8b\10¥\88}ª+\ 4ò\91É\94·\b\8f\15\ fò\ 1Í#°\eÄ\96\88(\85é \1a\b=º¼÷à\19RG\9a\^Cõ¨¡°/u\91\^q\97\10\8fg÷/§ïæ]2\'\8f\87å¶[n7ÿºü\13£àa\8eF\9d\85ag\19\r»ÿøÃtµíÖô\ e9\fæÃ$W÷¡ê =Ã_ñÉÛe\7fÝwWü&ì¡©Ã\9b/\87÷Ã\92\17\81°m\93\85Çïºí§®[ÒëÐF\96·áùïýòjøÄïãÜUWÔó¤\ 5\7f½äõP%eñÕé\92WC\ 5VÈ´o\7f\a³\0/-#k»M¿|OOa,\8d\8bñÒ;,FÏ\1f<+¢øT\9a %\b=\90f±2\89Ȳf\91õ\17ËÍv:\9fO·ýÀüSG!.\15x\82ÃVy\11X\87¢¯û÷»µ\f@¶oªÊ£\93\13üçRGRB$\94\9eh\8e\85£VS\94áÅr»\1e®v3\91\ fõWÀNÀì±%¢\0(\16÷ÙÏ\ eØ\7fÓý½ë×Ý"Ú6
-<\bÍVtlî\1fþ\f¥\16k¿Íö4\9f\1f°~Ùm¶ÁT©\81\117äò\ 3\1ez\17B{*m\82]\9dï¶41¢oQ\ 4ÛüáÂ\98\ 5¢\T\85ìY\95\ f\ eâ0/ûE¿eëg!\8c¿\98éîè§K[Þ\9d\1a¥üضjÞ\1e\11\ 2^<\9b#\92\1cøü\1d1n\96\9bd°A\9cî" \ e\7f\ eã^H\13Æ_O7\9b«w4\1d\84ßW_.~{IOqè®\8ah\98«ùî}¿ä\97)\b\87Èj8;ÅOÜ\15xé%\86;\88m÷²\9eø '{ùh×ϯ\82£Qö¹Ëðp ¢ Ï\19²ÄÈ"Q÷\1cX$ç\95 HLw\a\13\9eúA\14 ®MÀ«'>ÜÉ\1e¼\95¤\8c2Erúj>íQ\96|æÈf¶&YÁ.?\rë+_\194\93²\ e    4\19¸:Ac´uy\88\8cÝr¶þ\82º\85\93\b\97E$Næ\9c£ ù\9e\9c\8fô\19±Ö\ f\bÏã}{Þm\8fEùå°<\9b\róÝ\82\1d
-õ_QÆ
-âjº\9d\12Çt°\10¹¯×Ã\82\1f\16\13\84à ùöCGÏàÐ\ eùÆ\97N[ªøøM\b\\847\7f\84Q\ 4ùM\1c¢K]Ê\r7Æ¡\86Uts\1cúã\15G!T¼\85ì¶\89BHõY¨\18\7f\84\80\89Æ\r©ÙT\93Ô\89°\91\bw°c[øÉ#\11Ës\10\89\eKñv3}ï-\8cN\82wWj\1dß\1fÙ\169ãà\8aã6FÙî\eåÅvXÇúÌ\9eq.¦\8bwÓ_|hB\9fMO#\9bnýàÕt\86ú\8dÕ\83sp-'\9d\87³Ù°[Æ@§§\95~y=¬\17rX@ hëx
-òÉ\96b\1d\8egÞ»§Kvxt~â\91"yùäákz\88\9ez%Qà jâ\19øÿB\bõÙê\7f
-}¸6Ø3å\1cçH\rj8\v\8eMàõn½\1a6,¥)]\8foÈé\9f\ 6qÎÐ\8d\18\95ª¸`\1e\8bqpöùYÌ9J0Jª8ª\8eٿحVÃ:&¾ÚX\8eØ\ 4Z@bN\17Ýúc·f»E\1fMN\16§Ü\1fDH24XÖÞ)\ 2×\12{²Í>t\vN\83¸BÔô\7fìÄý¦ó§óÍ\87~E³Ã\87Ô;¶\ 3=\82\ f\89¼É±¬ùæÙcz\ fwv\92\86³<­ù\19³êÝ\ f\7f6®\Áçb6þf=F¥d{ƺ×\88\88\8d\85X\0¢ê\95B\8aC\121;
-\ 2\9fúí\a\96\0W\13r\8e<f\1aßÌúm\a¢}N\8c\9c¡9;
-+¸tæm·\r\89óU·\8c\13\97µ±·4;è¬ÀºËPëÝ\96\93o~ïë"\1c6%nµU\19n±¢o~3Wß0P\ 49ôÁ½\93|0t\9fépb\96\9d\85Ï×Ãnå\83\vv5:E²\98.Q-P{\86\f\0®Y5'\b²èJ{{«÷z`øúo/Ît³Ýºßr\9eDÏSëÌc2n(ó[÷GbMOe\80a«q=\10\\89{F6Iû²ZÎ\Ñ\89ðÝ\89&\81ͪ\9bõӹߨQdÝn×ý»Ý¶óÛ\8dË\v)&P¡Ð\92TÝÊyĪ\82Gàë\81\1f³µQà\f\8dn+­¯×DÚ§\9f§\8b\95?ùPÃ=\9e\8fQ\1e½xFÜ£\e¬\87¤§hzö^R¤B=J\1e\93\94\93P­q>±¢Ó̸xÈ\7f\8c\11à3.Þë\8c?ô³Â£ã\13\84
\84\ 6ÿB\9a ø$ø\ 4Nv«Ø\83O(\88QsJD\81\11\11m~\1af\8e\88ÿ>ÿýò\9c\9e\8d.
\8cÝÆ\e3ö1\8d\87\87\88EÒÀÚ\f»õÌ\17­è¶H4\9b\rWþ8c\8fÖ\1f{Þw0ÐHê|ü\9f\vV:.×ÚÐ\96½\95\ e\12î ½\9a¤­\95Á0mA\0\8dì\15á?oõê\859³Õ+Øß+¾U\9bºC_ÙÎ#E\1c;ádXóM\ f5}â.ßBÙßë\95°igôµ¥9÷³¨\87uÍWdSCÓð\ 4Õ|ê¸-\8bPÖ¦'¼<òª\11Áðå¹íJ²d\87åÎÿ!Ùì#;+n1ðõÔ\9dõ\ eÄÛ¤Gàð%Ã-\9a\ 4hÉí\85%.{è\19å\119¦/¦«Uì8ã¬.·\90\1aÄ\10\97ÊS_ã 1J\9c\9e94\ 3nlÒaë÷D=\1eTWÝ\9a;\18K\1f\8f\9dÅ;«~³Ùù,\8bì[ã\1f²\9c´Yä²ý®\ 6\82Ä8¦â\v \9fGcâ@\16]M×ý&\bWéO\92H\83,gøHÉF\1a¸ç\98ÿóÕ|\98ýå\13"Úæ§Uø\rq5ÊP\1cÊp\18-ÏѪøØw\9fÈ\ 6±k?Á¥Md\1f_wíoÁaH|Ù}ìæ|?\80¸ ¥\86Ý\1eôÊO}vÐ\r\8aÂ8ú\86m_\9cëêó9_® ÏÅ\8dH~¹\9eþåË&\1c\15äæpðö÷\vGDô2ËØË\1c\ 3\ 3\9cõå{\88ä\8c^¤÷b\83óª[¡s9\r\12ßpUß¹Ôb%àË\1cZùlt¨@ÈÛï°Á\99:>¹\8e\1a+^\18ïewÔIÓ­\f¿¢DM£§$\b´×V{ÓMýg4%¾{\89G\87Mÿ_ÞIú\8eå\ eʨ\ 3QäA\90éÁ3|\ fÇß+Uø2«Á?Ããï\96ñ¹ÎÅÃW\8f\1e&¯×Ã\9fèv'O\86Ù\8eÎ@ÒMÏqn*\1cZN5nþðúGÚó§\97÷~»÷?\ 1ðô0endstream
-endobj
-1380 0 obj<</Type/Page/Parent 1367 0 R/Contents 1381 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 270 0 R>>endobj
-1381 0 obj<</Filter/FlateDecode/Length 3564      >>stream
-x\ 1Õ[Ms\1cÇ\r½ëWÌÍRU¸\9aï\8fSJ¢b\9bU\96Í\88t\98\83.£Ý¡8öîÌfv)9ÿ>\ f@7\1a³\ÆrÅ\14\19»ÊÖ\9b·\8di\0Ý\0\1a=ú׳$\8año\12Ui\94\95Ñró,^Äx¢ÿy÷\1d=\89ʼÁ\7f7QÖ,\12\aÖÑÅ3\ 37QQ,JÃ\19¸\89\9axQ\eÎÀM\94\14¹¾\81\84Z\f¶Îfb³\92~\9c\15\90\87
-h¤\81\9b¨\8e\17\8dû!q\ 6Bh\9cÑ|X
-ëÁBÓ\14oòB\19\ 4¡\8ekªE\1e\95ÊÉdâ\ 6\ fý8\ 6a\9cãj\9a\9c\81\98LR-2C²Ð¢)\17©\17*@\85z®ª\17E\148\ 3ICR&\90"\14¶$/²\9d
-\ 6A¨ãê\9cÆ)g      ­áþ@\8aвa_\94\19Í\86\ 1  5\10¾¨á\8bÀ\19¨Bu \b-Jö\85Ha\10\84:®I`¶B9\ 3ɦ1ÍFI\11\9agì(\11Ê \bu\9cLM9\ 3!\14RÒ¨PR\84f1;J\842\bB\1d\97Ä9ÙMI\8b!6/0­À\8aX,
-r\95\88e\10Ä:N&§\9c\81\10\8a5ZG\85\92"\94\97½\17Ê \bu\9cHQÎ@\11
-\ 3(ÉBslfÚ6<S\ 1*ÔsM\ 6ý\ 3g   ¥í\1fH\11ZÑFóB\19\ 4¡\8e«\13¸8WÎ@\bMÊEeH\8aay\91°I\93B\ 1É4p\830HÃø\87Äñ0Ì\8fôãX\973 Ê@l(
-}\813\10SÁ®\87òa Å\9a<IBÌ\10@Bycz\ evÅ\ø\87üB\1a\975u\b\v\ 2t\9cçê\14ï\v\9c\814\99\12;1\90\fáHÃ\82\80 ÔqX\aÈ\10\fÂdª\84w>Ï:c\10Æ9®É¡gà\f$ÏÓ~\f¤Å`ñÊ°ä\8b\8c·\8aó\85\0\9e\rYØslüÀ\19èÒPà8\rùq   ,\r\15ù\r$ÔbÌ\ 6þöïgÖ`°e      K\98±\ 6\83m\1aÒD%\8bѳÔx\92A0\9eã\92¸¢))i1Ä"\10A¬²"6\91D->a\10Ä:\ e©0\8b\f\84P\ 4Nè©$çæ,\96t\8bd\80é0 ¡\ 6b r\ 3\9c©¤Å`ÓrÎ\1a\f\16:À|a¬Á`±Å+Ë\1a¼\89RD#8_ÇZ\f\161\17º\ 6Ö`°H:V²Å`\11QJ;Ö`,Aø\ 6\86\16\83Í(â\eÖ`°y:³\86Å`as;g\8bÁ\96    íàð^\83ÁÖ¼\15\ 2kð&Ê\91\87¬¾\16\83Ŭì{Ùõi#E\11ûZ\80ºÞsâê@Zì]oXv½\8eeW\eÖ`ïzòëýXqu`-ö®7,»^Çf\14],\e\16´\8b\fk0\8c\f\86µ\18,§ù0Öb°(¤s;Ö`°e\ 1ç\9a±\ 6\83\85ö³÷\1a\f\16±5³c\r&×73É\16\93ë«\995Äõ\95Ôµâz\ 6Áõ\8e£B\1afTÒbr=e\rÃ\1a\f6§\dX\83Éõ\14\1f\rk0\1c\14\ e¬Å`S6\94ÎÊbrn6\1fk0ت\98id1\8c\9c°\91U²Å`\91äáÜÀ\1a\f\16F\86\83\ 2k0X,1«\91Å`9¡\98±\ 6\83EU`-)îÃOè\ 4!îc\10Üç8·S\95´\98ÜG\95D\1aX\83Źp½ay\ayÉ9\85\1aÃ\1aLÎ¥|iX\83ɹ\94n\ 2k1¹/¥½©ïµ\18,\8e\ 1pA`\r\86¡8h\aÖb°\88=p\90\8eµ\98\PÏ4âtKkIK'\ 1ddξ\9e££\18¼Ã¿$Òb\98"a³\ 5Ö`1\14V\85²âYÔ\1e\15Ï2\b\9eu\9c\1c1R%-\86XÄ(x6°\ 6\83\81ý\ 3k0XX\14S
-¬Á°?ÊiØPY\8bÁ"YaÍ(+ê !P\81-ê0\bê8.\81X,'%-&u¨B0¬Á`±³°$ÂX\83Á¢>Æ\84\ 3k0&ÌÏ\ 3k1©C§ÌÀ\8a:\89\9c2E\1d\ 6A\1dÇ%\19\95\16©\92\16Ó\84\7f`\rÆK¹à     ¬Å`±Ï \8e\8e\95)ÅrF\95)1\bSr\9cÛúJZ\8c)!MaÂ\815\18¬¸5°\ 6cJ()±Ø\94å\8d\93Ôr¾å\9d"\80¦d ÄòÆ   ¤Å`QRUp\1fÉ¡¡"¶¢Æ\8eëp$\f\82XÇ91JZ\f±È\1d\10\eX\83ISr®a\r\ 6\8bÉ\14\965\18lCÛ*\8c¥B;A\ e s.vDâ\0ë\12 ;\Ê\ fY\17:kúqt\9eóR\88´\18oD@³¬\98\bvÓÎ\12\191eó\89å\1d\vóQR\ 6¦r~\96_2\b¶u\1cTÄä\943\10³Á\99\1c³QR\84""\a\871\bB\1d\87c\1a\9c\81$\94Âg Y(*\1fmäñ\9fU¤c0¯8R& Èã3©R,\ eu¿ö÷øÏ*Î1\12\\952\90&HÝ\9dÀ\ 5(/K\f\87w;\b\ e±%6\\80à0ã:p<Id'õ*ÿY'é\18è\84Ö%ý\8a\98×\97Ï^~\8b¬\14G\97×\1c!ã"*«<º\qó\17\8f\97Ï/Û\ fë.\1a¯£ÓqØwÃ~÷âò\17\8c\82¹\13\1auB\81\15ÃNR\1aöüô¦Ýî»\89~C«\19\ 4\84¬\9e#<.è\19\9cï\9f\9b\ f-ÿ\ e«,÷O·Ýt=N\9bvXvÄac¥iídô»Ýmç^\8fíç^\8fæVSÕ\98\aÕsx\15ÞTð»ÒÔ\8d{ÛþF²@4Iæ\9eý¶é÷ü\10«¹®äáâ)ü\8332Íë¤,g*\95s\95~\18\97¿öÃGú%\1faØÈOaú\98\83j@iѺ¥\9aëpqÓNìd\8a­\8dóA´\19Wâã\14G\95¹ë±5ó*¡j¯æ:Õs\9d~\18Ù'i¼È+ºT¡¥¿î>uk^k8%¥ÍÓ_kÍ\§«~%nÂÞ­J¯T?87aWaë?\95\ 5\88ÄÍÛ\a\8dǹ£P~°\ f(7\8b_Þuí\8a\1f¡V-üéýLÏ\90OJ\1f\93\1e{ññ\96ºO«äP««©ßßÝUA­'³§(P8­P}\1c8K²\ 5\ 2\83÷ËQgm§nÕ/÷ý8\90ÏÐ8Ð<òh>ó:5Í,ô!9\1d¬¾·Ýf\9cþÍóÆÍIævP´i·[\1fØ\91?\13·ß\1eG\1f¯\fw\9c\ f<\94\1f*t±\1eyë¤ØNH^²ÇN×½/\19èX]?\89@\81\86\14Ùý\ 4÷\18\87ëÎU\ e\1dÕ
-Q¾\1f¸\10ù¿PÊÕ\ eA)ñ
-/H\1cè|\9c\8bö·\83_z¸¨÷!ñq\96\9e{«ºj^à¡æ;ÜN¼\95\10¶c\9fa£wÝîv-å*\1daR\97\8f\1fU\1f¼<I\e\9a»­ ©­\81í\85.\ 3×Ðgÿ`íÐdl´\88xµÝvêÿM\92.n´«ê)U\12ƨè*ñîB\ 6¶JÝ{0\90Èh\ e\ 6çã´o?ôë~Ï>Å5lݸ4`^óX\7fD\93Fܧ'\90\83R\ 3§7Y\9cþøñýùÏÿ¤!t#ðtôpösê\9c \9d:\8b\858L͵¸8ý\89\94@/[\93lôóÐû\93UéOz\8få\17û^¯\14ι³r=[¸4ì]óæÇ3vM(4¬\98Gþ³×\ 2M6\9b{Ñz\9a{æ]·ú¾åÃ,Z\0¡\92ý¡\1fnÅ;8\9f\9b ¸ù0µÃj\7frvFþÄ\ 1»öÙúëè\8bv\94l ÐA@\83\8c\16\9f\8f\7f÷\86
-QÜ\84\8aã=\ 4¨ÇK\15\87°Ú{zÜßHWbvØ<=ûö\82\7f\8aöSìÛ\fKS³ çã[\ 6\ fo\9d$ËÄ2\1aZ\92ò`[b÷Í\9dÿ¶]öÃ~ÜÝÐH¬\94¤ñ\1a;5þJ\ 4õ\86
-§ßÃëqì\r\93;¥$2ó\£\9f.x} [\93©KLÁR\ 5\15\8f½ç+?ójájÆîQRJ\1ce\82~ô½+\90áD­÷\97í@\ e¢Â%ñ\vP6fXyÑr\1c®û\8f·Ò-Ak¿\89½\93\7fºx)Ö²E÷U;mI(\96zRû.\ 4ºwC·\940\81\9b\10¿ª£\91{uøê%ôƾ\hN¯A3Ñ\9fÒZ.\8ag¸ÅW\99\13\8e¬K??]®èú±!pïªM\ 6ÞÞ²\80ñ8¿³\80½õ³\1a\97\9c\87ö\97eõdìÏ[Û\98êýóa\94\ e¤í\159/½\7fñ\172\ 6¾\15ªS\7f\94\15\Âñ/ñ¥\8e:\ 1\1fD²%C«õ\88\8fÓ\ 5ç\ 6\13K\7f×\ 1µ_´~\8fa\15Ó\8bN2ÜýÍò,-\7fÉ´Öü¯dýÒT3W»F\14\95¥[\81k\1c\ e¾\9a\ f\aã\10Àm»&´\84Ñ.\fYîóMÇÛ
-\19%¬¦£\ 6|ÿܽ\fñ&Õ&ä§nÚ¡«ðþ\ 5é\87\ 6khOö²ÂÑ\95÷]ãèv×I¾±ýå/ß       ¼¾1ûü÷\ f(jp|£sg½Kr´\ 6?\16oV#¯\8d\8c\1c&Gô;ÑæcÇë\12K#$\93í\84,ãÚú¸MÒ\1dº\9a\8aD\92ý5\82­ÆÏÃz\94ö\1aµeüÊ\89>\8f\93ö­m\14:¶ø\8eúk\96ÕðM8:ÿ_ÞzTûe±éÎàªt\9e\81®ú\ 1
-°£)Øj¨<6É+(ôq\1ao·üs|f\18ã^âËgä·Òÿö\7f¯W\82½5\ f\83þ0b\97ÅÏ;Þqø­\9eñ£u»ïv\12\8eðí\91\9e:/OÏ_\9e\9dó&À\11µô¹d·o\97¿²Óí^¼\9eÆ\r?´ùím¿\9cÆÝxͲé\9bé\87è\15{ýSú²íÐ\0wóÀ\9bnÝI\8f\14\17ð¹\8f¯\8bígéÒûÜzݯ]\8b\e×ô\9a§Úk·\ fè:Ióð¶Ýí°¶9\ e\84H²¼i\87\8flo´\8ap\7fþç¯\8d$+Èê'G\95¿\e\85\91aL-\81o\91|\9f'ºº¾b÷Ùªá^½ Öjí»E(;Ë\a»CóúÑ\97À\a\1f\85ìê>meyÓAUÃ\8e\9dm\8e\9cécßxM\1aÏê\15¯±l\7fÜLÅ_å\ eJµÄ'\a\aZ\1e\1c÷î\8bNß4ÅËo\9a\9a]Ø,²ìÁ\1cò¥±Ê«D\7f\87e¾)\ fîgïÓ\b\1f\8bp+   ®ÔluÑM\9f\eÆßÛ   %ù\8fHÖí\\1aãz¸üzmgüí\10ò\80íîá\9a\1eêÿîáV\8cb
-²wÝ\16\9d0·Ç
-T\89\9a\88^ß~äåI_)ø\13î\97\ 1~\87\ f¯Dg=·â¯vX\8fã\82\7f\9e\86ý4®nõêÆÇ \a\98Ü\1f\13éT9©*S à\9a`>ýﺡ\9b\16øƬ(}8é\87k.¯pý\9bÔîá\1f{ÿ\9fÿkÕèàê\1a\99{®Ô\9bîí|P`\v<¾¼\96Å\86\8fzðiÈ×®m\8eZä~¥\ e\82%\16Z7\rÎUøÐØ'ûn\9aÆIÔBtz\80¬|tÚÿõa\92qì¾s+\85è1wÔ«=ʯ\e\17\17fÕõ^\8a{\1c\0µsrçø=Ý\ e\ 3\83h©·\9dÆe·c\93 °æ_ñË\v¯8}H4\8f\1a\a\1f½\9c·ûå\8d\94d\14û\9fÈ\ 6óNuj¼ü\16_÷ñ§IÈäY\86¿ÒÉß¹âC\90\8bWo_¿\8aΧñ\17ôa¢7ãòv\83»ÑÖ__gT\86PõZÅ\r}7ò©§ ú·Ëg\7f\7fö\1f\r\17R\1dendstream
-endobj
-1382 0 obj<</Type/Page/Parent 1367 0 R/Contents 1383 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 287 0 R>>endobj
-1383 0 obj<</Filter/FlateDecode/Length 903       >>stream
-x\ 1ÕXËnÛ0\10¼û+xL\ f\14ÅS\91GSôP mü\ 3\8eã$\ e,+õ#@ÿ¾»KjIÇ@í\1eÜ:     ``8ÜÑ\ e\97ZQú9PB¿\12^\vS\8bI;\90\95\84\11þùñ\19GDm\ 3ü¶Â\84J%0\17·\83\ 2¶Â¹ª.¸\ 2¶B)Y\85\82,1°ÆU¾d\v\fl\8d×\8e\19àEKÜ
--Õ\16kj\84 Ð@º®a\80\91\ 5Ä\94\1c\99ä\85\ 2µ\ 6\13\81\1c\98\9aJ\8b\9aÉxE\19\81\ 4r`â\1a\8bÙd\ e¡\v5\88µ\ 28\9d\0Æ\15\102\95\ e\16/ÎD²Äèc;Ô\91lc@¼\97%\90e\13\97d\98,1Ë2\e\14¸®1=\ 2Y6qI\86É\12³,³QÖÕ´êQ\96@\96M\\92a²Ä,Ël\94µ\86j\12e    dÙÄ%\19&K̲ÌFY#\8b\92\11Ȳ\89K2L\96\98e\99\8d²Ê\17%#\90e\13\97d\98,1Ë2\ee¥)JF Ë&.É0Yb\96e\96dm\90¹d\11°lÏE\99L\96¸\97Íl\94õ>\96\f÷\99%@²\19\829\99,1°ÚAu2\eek¼G`ß\92\ e\81,\9b¸$Ãd\89Y\96Yºé­ÃÞ\93ºE\ 4(Km¦ç<vÌÌ\150:\ 1\9b¤\82\81\1e\ 3\v©\87\82½\1c\rÎo\ 24<1z\0\12\9a¢\13µ·btOý\1a\86'g£ñÝ|*º\aqÕ-ÖÓÅzõaô\fQ\ e\16\r£\86)l¨1ììêiü²\9e.q\ evrÐ\ 3\91û3¡ë
-ÇT]õ#׳ñã¢[Í\16\8fH@k7*¤É¿º\r)h[ù~újÜÞ\8dIÖTF6iæjº|MWÓ\95Ti¸:ö\9f2\ 1S9¿±¼
\83¥0°%À-\98UdWë\94ç\97ÅzÙÝo&ëY·\88v#qìD÷ê''Cï·Ò×Ûé_¬V\9bö\ 5\93§ê;ÏuÙ{\81#Oàü\ 3¦TVÀl[\18MWqë\16\9bêȹý\95|oD7»FâfÂÞÞß\rè\ 6÷\91VU\1dúM¦p\ 4:¾ûW·Á>\83½'\17ÞT&n¯½\86ôÉ\19²\12S\1aî\18\8a\9bm¯!ón\fYº{ö\1a²§g\88î\82Ý
-¹Ã\f¹wc(>P÷V¨~7\86üa\15ò§g\88úÔî\96k\ e3Ô¼\eCá0Ct6:©ç\90¥Æ»[!ø\84\80\8b\8fß\ 6þüd¥¶¯tåNâÙª\92\1f/ß<Wá°\7f\98\1fj\92'ç§i¶üÄg\10\9f¡o׳ù\1cíÁ¡G\86þ\ràiü\9a^!\f|gá³\10\1c·7ðÞ²ú\88\ 1VW¶þ_\aîT¬ó\9b&½+À²7Æ\bí<¾+Ü^|½¼\10ß\96Ýót²\16×ÝdÓÂKÖ¸\7fQ0ðmÇÁì¡\97\ 1§¿ÎfèèÓhð}ð\e\7f\91åtendstream
-endobj
-1384 0 obj<</Type/Page/Parent 1367 0 R/Contents 1385 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1385 0 obj<</Filter/FlateDecode/Length 159       >>stream
+1122 0 obj<</Type/Page/Parent 1119 0 R/Contents 1123 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 56 0 R>>endobj
+1123 0 obj<</Filter/FlateDecode/Length 3614      >>stream
+x\ 1Í[ÛrÛ8\12}ÏW°æeg«Ö\8ax\13©}ÙJìMÖ5\93ËÄJe_i\99¶9\91H¯.Éäï÷\9c\ 6ÐhÅòLª\12Ë\9e©Jtx\b »Ñh4\1aÌÿ\9e¤É\18ÿ§I\95%ù$\99/\9f\8cGc<Ñ?Þ½ä\93dRLñç2ɧ£Ê\83EröÄÀeRMv8\ 3\97IZ¦£Ò6\9c°Ó¼\1cÕè´*G©\aìÔ@4\1cg£©!E\98ñtT ]1&%\80íH\95u.rVú[zT\84F\15¤t¯\912\90\83±u$¥Çr2\9a`°r\8aÁJ\ 1:X>\1ee ²\8c­\ 4\902\10\ 6ËÙL9\ 3\97É\84=GÎÀeRW°Iä\f\84\98©\b¦\9dZLSg0ul\9aÓÔeJ\8b@\8b\9aC
+ ¨\ 6b\1a
+ÌFä\f\&Ó        ûÔv\ 6bÀ¬\18å\86t\ 3Â\94\ 5\e
\80è4@t:æT(g :\85v0\80\92Òi\81Wd.rp\ e\88\16\11\8a\86\83Q\ 3¤á28Nlh1\87¤«EÖ\rYUâk\93\ 2²\16\ 2\81\98+úaä\fD§ðß±!-\ 6\8b~vX\83ÁÖ\ 5ü+vì\ 4Â+tº²à \ 2Ä\ 6\11b&«\1dÎ@
+TS\13mh1ØlBÓFÖ`°EMûEÖ`\8a;ÝiëÄŧãUc¸C!@ü Bñu\18A9øz\80è4Í1å\91´\18,¦,·¬Á`'ô¡Ø\16&CÇy%\8e\14H\0\ 5\r\1aÞ$ÉA\ 3\ 6äM\ f\88E@×LÇ\)\ eIS\83Á\16"¯¼+¬Á`a\ 2Ìwd\ræ°âæ\915\18,\f\8ci\8d¬Á\88P\98tØIY75i*®\8dQàI\ 2D\9d\b15\19\9c\81X¾Ò§r\ 6B\9c\8c\81&6´\98ÂÒ)\fk0X¸=¦F;¶\98ª0\80GÖb°\98P(ªmEÑ\1c¢É\92¡f\ e¨¢\81sûL$-¦:%z0¬Á`\v\1aÒ°\ 6\83Å<U\965\18,B\9a\15Ê   \\97°\ fÖ¸\b
+ì9/ \92\16S`.¢<²\ 6\83Í\19Í\fk0\ 5Ψllk0\ 5®0³\865\98öçJ\89¬Å`+º\93a\rÆV\89\99µ=[Ì\8d´Ü\91Ùb°Ø\9eKÓ³Å`k¦&q\gd8\1dw(´¬\93\\80\189Bl&Üô#g \f\81½      fÒ\86\16\83Ív\9bZìL\fUµ­D¦\vcv,³#\88\12Y\fV21÷®ÈË \96\17¥,eÙz\1c g \96«XH^\8cí\10/¹2°\9fC\15\ 1ä\fÄ\80²iFÒb°È6àûÚÔb°\90ÀvìôL].\89í\ 2S&@\84\8d\90\832ìGÒb°\ 5\93\vÃ\1aL\91\98O\1aÖ`°ðæ\9d\ 6\83\9d\8a:*\94Å\8c=\8cj±g§ÎØe±\92¾ä\ 2Ô¾\19ºã®0e\bp@ì\e!\95)\11²"ÉÜ.CÚÂy)&0®\ 3lg úd×\913\10\85JCZ\fVv½ØT\96CVúÌ\99¹µ\ 3\1c²\8a\10\94T^\145"d§\8cY\91t\9dâ\80 Y 7ÛL\80t\1a!\1a¦"«\92\16\83E¤µM-\ 6\8b|\1c\86Õ¶nPä,4z\95SZ\ 12h\84ìV̬¤k\b§ã¹¢\12ñ\ 4Di=\97â¸\ 15\95´\18Ý\16ܺ"+\ e\92\8dÝ1\ 1ç\1aXV\80t\e!,˽4r\ 6RVq\17mh1M@o\8fM-\ 6\8b\9e Plk0ü\19 AfX\8b\19Ë\19 c[±Q*Ù\19"c\85\96\ eP\19\ 3}>\1c9\89\1dò¬\89ig \84Ų+\fi1X   |±['\ e&\99\ eæÆ\17\10Åñ\9c\e_9\ 3Ñ)< D>Â^ØÐb°²P\fk0\ 5â\f\1aÖ`XObHd\9d¸ÈHé\9aN\\ 1Q\Ï9ù\943PÅUÒ\8bë[zq#ëÄ\r¬\13\ 6£g\84((£¬\13\17§cY\10tàT\0ÅEj\19 \1a\8eSø_$-\ 6+\9b\87a\r¦:%­¯\1d[\f\16iTeY\83ÁÊ\9cŶN`$2\8c\9bNB\ 1Q`Ïy\ 1\95´\98\ 23\81d\82\949\870\18¬Ä>Ã\1a\f\16)\13L¡m\9dH\99;\0\954e*\80"\19\88\ 5óCä\fD§H$`#mh1X\1c¨m·nH$R\12uY{H\ 5\88\15"DC·Ö\94d8¬Ýy\0©{å~³UDR=("\83\ 4Å#į\ 2\9aK{¶\89\b\ 3aÖÊH\19H\8eÆÖf\ 6R3\9eÜ#\17!#\13·Lå\f\ 4\87\8eø
+\91\aâ\`Ä\14cMÜÙ\0\13ùM\ 5\84A`\95$\9cÇ.ùM\ 6\13î\11V1_P&"L(\ frÊD\ 4µP\1d\83\9d\81T\99þ\13¹\b¡\16\1c\0Õ\99ÐN\ 4\84e%\81\95s!\7f«\80\9e\11\91ä7\99\88¼\80Ê\88\80¾\8d\93H)\ 3! re\9eÛüP\ 6\82C(çÉ+p\11ºù2íDx9 Â¥(¼üVá=#â*\13\11\9c­\84g(ó|öäé\vàq2»t\12¢ÐX\15ÉìBÊ\98x<ÿyÖ\9c/Úd¸L\8e\87~Óö\9bõßg¿£\15ÖUÊVG¢I\99\1celöóÙ³WÏ\9fñ\rä\15
+)\1e&oWÃïí|#Ïá\9aÅÔ??\19æÛ%úl6ÝÐ\93eá,wäèaþK\9dz\b\f\94\bIKöµ~i:ñzÌÚfÉvØ\11ëºxPùo[Ík\14'l\9c\98\1dcj\9e\9d¯7«ÆO\r\82WùÈ\84¿­\8e<Éhí£\\ 4V]NGâB£q\16üëeÛ·«fÁÇ(xOr?5Iׯ7Íb¡n\87\3Ï«G¦úDtDm"ÎÖi¿Y\r\17ÛyX.eýÈdþzº*Ñ\ 1bê$ýgøÌgYæ$O6\ 3!6\97\17~rêf\87Ïq6®ÆáyÓ_HÓñ¨¨CóY»\96°\82­!v A\b!µ¨½3|-Ú\81pM\91\9f¾¸+\9e¼k\e§\14N¤c¿ø\92Íu+FA=y\1a\14]6\12 ±\95MôÙMsÕJ8F\85ªD¼\92`{ ½î\1eF4>ª1ç!h>ßv\8b\8b®¿\92\19­£¨{\15}Þõͪszq\81O\1fǺtZ!Ó7\9bÁÌÏ\13î\9b\10Vdîpî\fÓÙ-o\86Õ¦éÅQqr(5>­7í\8d¼\8d£þÄo&w\eö\10\8cW\13%\14£çñªm6â\92È\1cª°©ïóÒõò\9cú0ã®ý¼%ó¡¿ì®¶+\8d¶¨\1a\8dS\1f¹\92ËnÑJÜÆa¡*\1e\9fRà#\1eH1aê²!®¤5Ò\95°\ 6¿\fÛ\95¨g\83\8dS\8f\8fqíV\97aÒ©\17\1fB­B#Ûçnsí;ÈÇÁ\ 2\e\84°\9bf%       \ 4\1c¾N\ f\1e°¼        xebLp¶iV\9b°j\99\97\85  ½câ]\1cCM@gÞ\alØ0n½ýòܽ\88\90õp\ 1Ëk\8c\8a£\9dô;5¾\\r.¿ÃQÍ$\11íæbÄéç\94¢¾XU\a\9f¹\10\12Ò1e8B\18ÚQèÙbÓ®z,¼Oí?ù\ 2¯·\8b0\8dH\81âüJ;\97¬w\12§à\88!"%\8dl2;{tÃîpç Ö¸hÚ¥ËáyÙp(C\ 4½Q´0\9e;[}¡xÈÜ5\eO\16ÝZ\9d\195\98É\9fF±ëfå7 ¼\9a{e\92æSÓ-x\1abç¸},BúïôÆn§!\7fo¤X·«O­\v 8\v\96÷º_§\92õ\1f±\ 2i=|\9feàÁ=\ eg~¥#\bÄà¼?^íÉN¶}÷\a­\824,\ 6¶ù¢ÃÙN\1ec?9\94K¸%áõOËÂÄô=nñ'Êï]ô·üþäÍÙ?DE\8d\87Ë\ f\f+¡È\83£}èúé\1fúX÷\14<~=s\8fñ   \80¦\11x\9c}¼ýö\9b³§\99<ÅF\1c\8f\9fíf\ e­E
+\14c³à\96ÆþX\92\r!㮿½år\94\8cínðáºqSiG8\95ÐÇOjª0èì\1a\8e\ 2×\99Ñ\17N\86þoÁ\15ª\90Ð\7f\18V\1fÿE±\91æ\97\ f\95þ¤î,Éo9L\b\9a«~X\87E\81Ud\8b\19\88\ 1\11w\16zڼˠ÷ûÜ\8b\8f²¡]çgóáÆ%l¦"\91\9c\9e¸@\8ejS\88í÷+Ü·÷îÕ@\16f\9dîøzÐ9@ÀEÅ6\9c\1a÷Ä \14\996Ã|XСpÚ×yI~m?µò\94WVa\85}»hßýfð0«ÙÛU×\87\90Ë0Q\865±7ê¼\7f}ú_Y'v;Ò\93s\e·¢Óq\fÁÓѤ\bÉéÛcö\86ËCÍÒ¿[É¿ê Í9$ª\85üÂNÓì_\87ùÇ\98bÂ@\8fã\bk\94ñróbÂÈýª¹¹   rÛBç{ìñ}³tÉ\ 3\1eõL\8f\aýéÄ·åZÜ÷S\93P\0<]Þ¬\86O­ää¼#×\8dé|5|\ eñ\ f\ 4\ eH~íuR\88`6\88\92¯K\19×Íò\|\ f1_ó¥\83ê¹3XZÒ×lÑ\ 5\17m6<¾A\1eö©k¥\12\ 5{äº#\rnC³Õ¨\1d\83£É#¨ï:\ 5\8fø­\89qÊçvÆP8\vYx²ÞÞ°\ 2!\11Ä&úa"c\0Ñ\89D~¡ÇÖ\1dÛ\1e\bx\rS\9c\1d­\8a\88ñÜ{E\13Ü¢«\86\87Å6\94\8b\84íú@òÞ=\8c×\ 4Wkß2UÍ|5¬]údcýz{Þ·îê\85\91\15\89»G½_&uµi|\85d''\94vñiK¸\ 4I.\ 6_¡Ü)\99\ 4\1dq\87\9dkÅÄé(S\8b²­\96\99\1f¾lÒêçgd\8f|{§\13I'ñýÞ=\17ƽ\ 1R\§Y\v\9cµ\eÝÔq]ªéÊÖUùÌ\ 1ñÖNýáôõ\99èn\8bH;'Æ\a¾¡H}Í\ 4_!ØPúí*ï\84'[\ 5Õ\r%Æ¡Ûæyóî\97\97ïÞ¼\7fK\eñÓÇ\83äq\99/«à\92×,Þ\ 3©|òæÕ³Ó×Ô\97Wýa\99ÜïÂ\ e½g®| ß\88\19Í_\f«yH{\10\86B\8cMtÛØ)\81îIPÏ]M\14\17×Z8ÚWM\6¨\8c\ 4ßQ\85 \1fd;ÈßÁ\0ø\fÈèÿª±Ùê_©¿ç\8cr1,\eçî¬\92\85\8cjG]½Û:\88\9e\1c$ó'`ü\8b\ 4£ëëÁ\97üm8oÎ\87­;ÆãÎC#1Bts1Ç\9c\89³â_SàÎÒ%\86ÍÅ\ 5¶æµÏ\87yX~\88\9d+óg\8f¯&s»Øt7®\9aǯ½¦a:p2kW\97Í\¥~\88CãþÙw\9aØt\1e     \12&-dó¿m»¹Û\14qQ\13²\84äX÷[\1c\ 2\9dIN!{\ e|Q\v¢;a\1a\81'T
+\92§|\15%Õ°·ÞÑ-\8b:W«ÁmyøÎ)vpgÏWÛîÂU+ðzþýw@YAQMþ\9fÙ\1dë¤[Ï·ëµÿâ\84uûGxìĪ\14%\8e\9c|z`Æ\ 1\93ºáVIw@|\9b#\8fì¡e_Pýé\1d*ônMó^¼\feíg}?lûyû\93Ì/ÊÚE¸\99­\14β>\12#©N\7fÀÜì÷kóÔë-ÿ\80Ë\84£{P\üQÌ\89¯ªt\83Mξôs±\ 5¾\1eÌò»lQ\ 5Æ\88þ#\7ffr\86=ÂGȱZò\8d6\b©$/kC\fø\91¢}__N±§/jÿ\85\15¾Eå\9a\9fÈ×òá\v²ðÅXrë\v±\9c\17ª\ÎÕxÊ\ f\98:zí¿gO~{ò\7f'\8fsGendstream
+endobj
+1124 0 obj<</Type/Page/Parent 1119 0 R/Contents 1125 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 98 0 R>>endobj
+1125 0 obj<</Filter/FlateDecode/Length 4231      >>stream
+x\ 1Õ[Ûn\eG\12}÷W\fò°p\1e$s®\9cÙ\97\85\e/lÙ±´ðK\80\ 5E\8dl&$Gá%\89ÿ~Ï©î®*JôE¶e#»@ Ã3Ý]U]]]U3þý^\9e\8dðÿ<\e\17YÙdÓŽÑá\b¿è\7f\9b¿dMÕá¿\8b¬h\ fÇ\11̳Ó{\ e.²º=¬\1cçà"ëªÃÜq\ e.²¼Ê\ fkGzLv|Xî°\86Á\8e\9bÃγ\ eCÚ²Þ\19ë1u)®)cx\91\95y¾#rÙÐ\f\98°\85\19`\r¨*\80fpp\91\8d+<b\9c\830CqX8ÎA¨\92\8f\ f\eGz\f¶ì¨\8a.é1ØzL3\18ë0\8dTÒÀÆ:\f3äÅÎX\8fÁ\16Í\8eT\1e\83­ÄÀ:³Ç`»Ñ\8eº\1eÃÀeµ#U0pQ`¹EÖ\14ÔV\0\rì \r%û¤¤Ç`áMp5eé½u×@\10l[®@¶Í V̱¥áAYÑ ¶´\83¤Æ9\88õ\8añÎ@\8fÁ¶å.ë0Ø\8eæ³\89=\86ùÊÑÎX1P\8d   x\10aZ\88+\80â\ 6®éÄ;!\1f8\ 1ä\1cÄ\92£1\9e1Òc°eK\véP\8fÁ\8eÇ´\83²uÅ\87k:\b'®áF\ 1qU\8fÁ¹±¬<+¬Ã`«r\97u\18\84eulX\16\8fT¶¬ ·lbÃ2Æ:\8c\89Û\ 6\ 1 6Öa\9a¿\86Ó\18\eL\8c=¡'Õ%\9c¬\16ÀU\1dÄ´#ZÄH\8fÁÖ2­\ e\15ÿ\1cQ\7fp9ÝA@0\92B\1c\17\9e\1c\94p\ 4ãê8\84£\ 4)MMQ\95äz\156\92Æ«;Ì\19\0×\13ªæ¡\80ö\ 5\9f\13@ÊA,W`?\8cs\10G\85gÓ8\a©Þ.é1X\18\18Òè\92\1e\83ED+=ë0Ø®ÜYÖcè\ 2»z¡<¦¦%¶ËÖõ\98^\90ïHå1XDR?³X°¨ä@\ 4\93        0\vF®,9©r\ e.²¶¢¢Ê9H\v2\12\19é1-(\9b¦C=\ 6[\8dv&ö\18lC\17t3;\f=áÒ\85c=\ 6[5;3{\f¶kwd\96sTaKè\81­p\ 2h$\a!\12²\vø \922°Äl<\80-}<\0\ e\f\[\8bï\ 6N\80L*\8fF\8e\87q\94\95JzL\v2¿q¬Ã`%¹p¬ÃÐ\13v\87H:s\10i\9cãG\1c\vnx)\80"9\88is\9eP#=\ 6\99c\1d\ 6\8bå*?Öan\e\8dõ\18,R
+d}*\94Ç`!£\97Êc°pK¿®Ç\88\11\8e\80Íì1/þ\96\86Òu%\9e\97H\17y\8d´L\82\ 2\90½3\b\10\10X\9e$é1\rÅÐìX\87i(:\9cc\1d¦¡\18\10\8dõ\18,b\12¼B×\r\ 2\91\v(gØ*\ 5\89P\ ecY\84)èc¬Ã`q\95Ö\9eu\18Ëæ#.«c=\ 6\vÿÚa\1d\ 6\võ°ó:6\88\8cø g§¡²\ 2ÄÆ\ 6\88      \98\91\1e\83\95A\8eu\18,nR¨£\13{\f\16·\r\ 46Öa°\1dï7cÃéA¸ãe\84ë
\b À\ eb`ÁKÓH\8fÁÂÇ1­\ eõ\18ìxD\1fW6,\8a\v\93G¶a9S
+à¢\ eb`\88"JzL\91x\ 3ØP\8fÁ"Óô¬,Z \14 ûÃ&-"&\ 1\17u\10G\83\89\83q\ e\ 6\81:GR \84\83@    qZ
+\940X\q¥\1fë0غ\80\1dlÙ ®ä\94Ø\18\1eªB\80l\8cA\8aÄ\94ÏH\8f)\12ó7Ç:\f\16Ö\86H:±Çpî\11-h¬8wÑ\84\1c\9fÑs\9c\ 5$º:\8c\89\11ÕjÏ:Ì\13\8cõ\18l=Ú\19\e\96EêG\17\8dË
+rË&6,c¬ÃÔ\87ѧPÖc°pðܳ\ e\83m*z\85\8du\18,Â)öÀX\87\11\88á\ 60\95²akqb$\17\95\9fy'´â\8a¹ÃP\17Á\10\13;Ö0\15bZd¬ÇA!\88¬c©`Â`áóØzc\1d\ 6\8bZ`gf\87yï0PØX\8fyï0\0\19Ëd­ÈC\19!ÉZ\0Ü=\a9\8e\87E\1e$ç Ô\ 1\10]9Ø(A\ 4\10\11U9\ac>`ãà\ ei   ºRAÛê@\8fiùk¬Ã´<S \eë1X¹\9b\1cë0ØB\ 2\8c®ë1Xì\ 3ÜÐX\87Á¢£\83]3\16Ø,Q¢\87\ 3Ë+ë1ì\e\9cÒXfh\ 5R\b¹«\98 \ 6@ãK\82\98¸\90 \1a\9bc6\1eHI\ 2\ 3\90]ã¤<ýôm\88ÞF@ÎAØ\17\v×\8eô\98l\v+\84y8Ôc°\92\b;Öa°b#Ç:\f\vbæ$!gö\98{C{ÚX\8fÁ6¼<\8d\95È\947LÂàjÌS\ 2à¼\ e¢\8bÀ0k\9c\83T\95\ 5½\91\1e\83E}\0\1ab\b\87Á¢1\ 1#\1aë0\rÁÔű\ eC\19d\b^`\8fÁ¢i\87½Ó\99\83ªð/©&Xá°aXIÈj\rÆ\86\89qÒ?    \90ª6\14W\az\f\16µ:Ä5Öa°\92³\19\e\9c\10½­Ø&ÀH\ 14\12ÂC\82pP¦]Æ9\ba\99\17\1aç \85\1dÓ\15tR\8fÁJ\ eæX\87Á"-L\12È®9LË3o±±A\15Dg\9e'$®\10W\80¨bPÒ\0ø\82
+\12\ 4Ç\9e\91ã\fBM6\12\8cs\90j²¨4Òc°\88\16pN]Òc\1a\81\1d\18Ç:\f\16e\e\HÇ\ 6\17\92l%\9d\16\ 1T3\9c\96È!¤@/å\1c\84*ìQ\19ç \16\84!±c:Ðc°\92`9Öaì\89ä\98Æz\f\16\15\91\17\89W\9a\146\88ª<Eò7õ0\84ö\r\93?e\fÅÛL\19¹ÌâlØE7Æ\10ÄÇ\1d\92Ût\ eR5Æ4\9dPü    \99\1dO\ 6¦@³\9b\7f\8b\99\15Á\92\8cÑÊ\18¢\1dy½*å 8lªç\f\82ëX\84Û8\83´ ÝL9\11\11\1dºXu \8dÇ¿UÄÈ\88\18J"*\15D\8c£\82\88Æ\89\88\89\13\99\8c3\986Y9\11\11M\0m+Èß""ÏDdx\ÐÕâc²ÿr§\86\12\eõ\a.rþMÆ\10B\12Û\ 5Ê\18\82^\15\1d\87\1e<AÆ2ÊÎ.±Ë¨Òð~a\eg\17òê\b?Oï\9fMÎç}6\fÇÃrÓ/7ë\1fÏ~Å(\9c\92\9c£\ eâ°\83\82Ãîÿ¼\9dM\7fã\13Xc\\16x'\85\1f³ãÕ°\96qEwØ\94Uüõt{¾ì7|\18-ÚqÃWX|øájøs=[¾!\81`]6M$\1eð\17\14u£ö\83Ó¾\1eV¿½Y\rÛ+y\1c7£NðÞ\99ßlg\17=\1f\7fð\ 4Á1èÅîWÓ\8c¡ ½\15\82=\1aø\ 4Ó\9b*éuòâ\8c¿!á*ë:
+µ]ËLèPWy\19\7f[\f+ùqçÁÍÛÉRF£
+êÒ\8cÃ2\8cƶª\9d\9fÿò£¬\8dà4NÖ¸Z\r\9ba:ÌI #¶Å\ 6\99\15r\8e\93HÏOe4æ¬ÒO¯gË\v\98\99¿3r\98¤\93éÛÙ²\ f\ 4®è<
+vxûÿ\15\rg?(:gÃ\93É"\18\ 2§¼IÛøª_\ fóíf\16\ 4Gu\86öe4Ü\8bÕE¿â4x;£û~{Q¾Ò\88 \91÷}ô¦êì\0±G\9cÿÙdù<ì)~ïê´û\93å\85¨\0ÅÚ´Ï'â89âjÑE]_NÖë?\87\95<\v¿ïÆé@<^NWï®Ô>HçÔ>³°×èmëO§\93Åù\84ë1Êæã0ùW2ÀÍi\8a\96K¹c\93Ëí¯\87æér³\1a.¶S\95\1e­«è\837'û~¿\ 45\ epeC:\13~q5¬6\93¥Ä($`e\9büòdØ\843\820g'ïè|Ø\86x\86¢'\9d´Ó~º]Í6ïdKpQ\8e¢[|Ke£z9êa¯ßÑÅ\1fPnò&¨\82îhW&\9f\e.)/zö\16\1aN\9f?äo\88a\9dºñ®kârQ?ü6ê\15\1d\86á¶q\ew;Å\96Ãò \ f\97Ó\874¢-âÉÉ®â±\f!\11÷Q:°w¤aR©kÍ\11ÏÞ¦;\ 5Õ[\f\17ëŹ\88&\12#Ç«4^\1c\ f\8bE\8c9\88#¼Ïåb½#y?8mPÆGLdétÁ\142\9f>=\8c\8eVêµ~öî*]\12u\9b¶a\8f\96ëÍd>\9fhlÁE\96®æ\ fJõÍÈ2\ fî\89÷7tOUúzP\8c7á7\93ëv\v\95\85hQÃ!\93\ 6ÿ]Çk\19\ 1¢M\17ؾ{îôí$¤>|Q®®ëB"nÊQ\9e2\81yÿG/  \rÚ$¨_£§ÿrÿr\bI\0\94þ@\80\95\1cJdÒe\95\1e^\ e\12\81wnÖ=·¤Ü\90\88ÆI¤\8ba1\99-C\9a\ 5\91\9aÏO{öÛ¶,Å\86\ 5^¤;Gøiø\93?\17)+Ø\84\14ÓG]dÝ\97³7Û`DæF\9aªÙE\8f÷\8e\9aØMÄ$h=Ö)Ne×u=9«dUôvô\99\97«Ùb²\92K
\ 1¨\95\1f\89Yø4÷I\9ff)°\1aæóà\ 4\90Jo\84ýÚ\7fú¯eÍÅ\>Q °ñwÖËU¿ê\7fßÎÖ³\8d\ 4    \Ùu\95\82Ä«~r\11+\aÜ\bß媽©jPé\0\9d*\7fE=\9cL¥J        ¹aH<¾[\98¾)tø%\8a~--J.\19-ÍnØ8Å\80M¼©ÐLÐ\9aÆ\1c\15ïÃôWs-l\95=¼ëZ¨ÁÔµß'äWø½\f¥
+ÚÌvç\1e¯zÜ,¡\fÅW:­æ~ÏC\89$\87\ 2¾Y&ÕÏVÛµÄ\1efHz\19\1fM§Ã6Vͨ´X\r\8527FK\ 4*«ôþ3Ì\96iI\7f¨\8fç³Tyóµ\85æú\1a/ìòÜ·\ 1ÎÔ¨+F1\84ÞÚnå\98:\1fð\e\ 1\97k¡âÙNB\15\8a\ fp4=       æ\v%\1d\ 3ªFó=\17ù\17X\14Ýëò®nϨ/ÛÜNß\1f^,\ f\83'ów?Ð\1eø¦Q³\ e4:è4w®5ú;uÌÔo½\8b{\a\94\1d°\8bæ\83\94÷G|ÉÙ¥Ûr\9f\93\ 5\1f¥EØäÑûèö.Ê^Ð]mé>åËXC ýå¶\99I´î£Õò/W\ 3Úa\8bP\fà]\99&­û\8eóãÕj\b)
+ÊDÍÜ÷Ép\87¿%õÐ\8cÓÂöôÝzÓ/¸Wh(Û¶¾\1cæ³é,T\83\by\96|ïS\ e\96¸\9cÍãÃ\b\80ß¡*ï\99º\1aI\â§\bÞy_¿\9d\84p\8cFt\91ÒÆ\ 1®\erIß³{ÛÏ¥[\88w    vAMC+\87\99¤&¨OåÄ»$ìM¿ù\97ø<¾@é>7°¾G¯[ý\ÅR\ 3\9fI8/v\91\1f¯\ fSq$­\äoâ\0H\9eµA\1aólΡ}Æ÷u
+»¿\1e<\7f,3àkÐoØÔ¨$y=À\9b:óç\94\91hìEÒ8.R/ã)êÄUhA­ÿI\89ñ\ e\f\8e\12®á\93~\83¦\9b´¬Ñe·ÛüÙðfX\86ò\ 2_\86ÜY      ]I¾{ \1fºº}û\ 2\85\8d¦->W\býpß\16~5L\161Û@sk¤¥¶\16w(\10Ôów\8e»Ôð_\92­V±7Ü6¶\89\8f^<?zzò¿ã\17'g¯^<;Üü%§\97_\9cÛù\vÛg­àì}Þ\19û«¾  ïÎÂ\9e\84óÆYø\a\7fA\ 3ÌB¼å±ø>*µÀnuHùp-ÑʵDø\1d%¶>\95Ö\9fP\13\1eM\83iðݧf\9f\9fP÷±ä\b^\80\15Û<å­f\97\ fÕxè\1cêZ\9fPO¿DÅ:\ f=O8áGjVÍùoö²L8^H©\0ý\98ÑkéX¸*²Ä·ô\7fï*2¨ô·¬"£èתȽ×óï(%f\971\ 5Ù)\e¤\89\81nfJ32ç\19{\8eslMì¼G   é\9c\8f\80ûòX¼\92ä\85 ·:Z!íè«&Úâ¹Ñ ø\90Ê¢_:ö\b8Zi^\fñ%\ 3J\f=B7\fÁ÷\9dh\84¦²\ 3\97\9bæbÙ%^ó1\8e\15h\1ciI:\vïpa\b­­³\vmôð]lº\1c§Úç      æÀËÔ\146>v\ 4?\8d¯c[ìZÝñúm\1f^\8dú×\84³ÐÙB\1fJoª}û÷òѱh\8c\ e¢\16!˾¿è/D\a\84\11\8dè\9f&ãW{**\8b\8f¯mÛ\8fc\92\89\8c\15»g|¿ä<¼\ 2\9bz\9d7\ÁEx¤uúJú£GE,Ãó\89\7f>ú%×úÇL\95,àßmìw|¹|Ý+ì\e\89÷:|9\80/}­×r3Źa¡ý¶}øèXLÀʵþ\ eY|²Ëµ÷s\9fi\9aU\7f\85:n\12ú£\f¢Ez\13½ï¼¼ÿ=\12Ë;1\v>¬ïîüM2Ú¸Üt\97\18ñÃU\16t)3ò{gEë'$>G\8fNcHÐÈæâ\9dk\14g\8b~q\1eêCØ­\1d\7f\87Wµñ\bÕ×ûàøÎÍ¢\ 6+\1a¼ùJÉ;þÝ5^Î\84zfß\16KÃ|\15ÞmòS\91Qzßp\85\8c0½þe    Ð¤À¿¯\10\9fÏB´b\ f²\8e\8f\1dùÏç\83        \ er|\9fG/Àu%\9fá|\17Ý_õ\17?\85nÂwÕ\1dM©+\1cJ:3[ÒÚ\8f³\93\ 1¯Maÿó-ÿ5GÆ]Ä+u¿\89(RC°Æ\11\1f©ï¾\e¶¡7ãó\9d\aýfúà·Õy}\88lD¾J@ÇU_E}MQo1W-õë\83'øþT¾\16ãG¨-¾?\94\7fé\82oÅN\8f\9e?<ÊP3ÿÚO7HU§Û\ 5\1aø\9a£\95è°\8cJd\7fãQÇOËf3néã³{?ßû?!4\ 6 endstream
+endobj
+1126 0 obj<</Type/Page/Parent 1119 0 R/Contents 1127 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 140 0 R>>endobj
+1127 0 obj<</Filter/FlateDecode/Length 3757      >>stream
+x\ 1Í[]w\14Ç\11}çWÌ£ó e¾gö!'\aL\1c\93\ 3²cä8¯«Õ\b\8dÑî(û\ 1ö¿Ï½Õ_wÅ*`@Âö9\86»wº»ªºººªfüßGE\96ãß"ëʬj³åêQ>ËñKüÏOÿà/Y[ÏñßUV\95³Ú\83ëìÕ#\81«¬®gsá\ 4®²¦\9a\95      \e]w0Nà*+\8avVÈ@Å`\9b>Êfâ´\84U3ë!j[Ï:\ fÈ       \e}Î%íAr\ 21iÙPÖH*\ 6Û\96\alSsɲ\9cµXr\9esI\ 3\9cV 5\99S\93HV&k>\87=a\1e3\9d\ 1\ e\14\18Ì\139g\1e?®È»Y\93µ\91T\8c\8a»\15Y[²\99·P\0æá\86:`æI\10z\14³J8\81\9c´\85yÓ@7i_a6LZÀ\0\8d\ 1NJÏi\9aÖlc®â\0)\81Þs\12g\9e\13Æ\99«$N LÓr9[\80s
+¤½iÓD*\ 6\8bAÐ"\ euZÔ´\17´èñGcÀL\93 <§\80Á\13'\10fë¹b\1c'\90fë°ý\89TLqè\aÂ
+\ 6;/\ fÇ
+^eeÞÃÀi¬S¥ÊÝ.7\14É\80©\92 T©9.r\ 2±d9§\9e\91TLqkÌ.¬`\8a\12Ç:\81\8aÎ<¤é¨¨\ 1
+$\10v§3'N \84e\1cH\9c@,XTÔ2Nª\18,N2ôL¬`°\1d#\93°\82Áöfù4V0,\8fà¤3ÓÝk\1cz\86\82\82\8b:@=\ 5â´Ï!nâ\ 4b\Éã\99H\9b\13±\8bGÖ=h\80s\1a\ 5·b°³cQ\e0³R)\aqJ\18³\13'\10Ë!*\85'MNÁ`Û\ 6\81 \rU\f¶ï±¶°\82a\9c\92\911±æ\ 55~¤u:z§\ 3\ÕqE\ 1\ 5%×4@N Å-qâ\13©\18¬[2\ eU\f¶*¸%\89\15\f\16\16Ħ$V°;cP&²<s\ 1\83\85ü°pdq\1aò¬Âñç¦Íé\b\ eØÎ\18×7x\82\ 2Ó½*C\89ì
+ÛRz1F\1aJ$n<s/\84ö.«\f\914\vVu\93\09³`à
\ 6\10Î\9e\98\ 2ñb\14V0X\84¶^YÁ`;^¸2V0Ø9c«°\82\1e\9b\9eXÅ`q\ 1ÁLQfg_Ü ´/ì\ 3Î\0õ\11\88Eq\a@àH*\8eê$Ö©ãç¥::±[\14Ç\83\eçV1\90\16õ\9cË\17ªH*æ¢L\15\12ë¦Í]Êb\a¨2Ài\ 5b`ÞÒD\91´\81%n\ 2;OL&\1c0y\12¤\11x7'Ò\rì\âañ¬4`+Ò\1f\1dä@f,\894\1f+[\97>Xàv\80\ 3\ 5RTîI"\15\83ÅõÞ++\18lK?\91±\82Áâ¨\1cÌ,\18,.\9e\83±\82áE¸Òt¬b°Ð \91u\15\83Ejq0V0\93bzE\92Y1X\ 4ÜNYÁ`çsl«\8c\15\8cÄ\bÎx0³m,B\13\9d°)pVK\ 3\ 5    "ê0½I\9c@\98©ªi¦8P17\807¿°\82¹\ 1\8c
+\86\99\10\T$ÅÜ\80â`¬b°p,\988J¥\18,¢©*¤\18FÄ9\87\11ãXÅ`\91å©Ì\8aab\9c«VƺãQͱ\9c?ç¥\ 1;Wæ×\9eëùHâ\ 4:\13cÏã@\9a8`°\8d\1d³Ä
\ 6ð\8a\90±\82Á"ÿ\87\99ÒXÁ0\13¢\vT\8d¬b°v\97$Ö©\8a\84ÃB\88ù°\ 1S5A,\8a«\râGR1YÆ\12e\13\ 6\8b;
+"¥±\82©NNu\12+\18,*\89\83±\82¡\ eÂ\f¼-\8eULSØ\11H¬`°\96EÉXÁð\18Ì\8c½\8dc\15\83E\9a\85\13\12YgFDYf/ðSx\93\ 1\9aQ ÔAÆ\ 17\8d¤b°¸~ lb\ 5\83\85\13\1f\8c\15\fup´°\ 5q¬b°\88\14ð¨Èº@\9e»
+\ 1ù*F\1a ÀL*\99\13ÓûË\1e\0)\81ÈÇK<\928\81\905g.\95HÅ`\91¥ÕÊ
+\ 6kW«\8c\15\f\16§¬Ô±\82i\85êP`Á`\91\a52V1ue"\9dÖ5\e\15­Kæa\ fècÀÎF\82Øp\9b5r\ 2\95\1ai b°È®±d\1cª\98Ê0Ø$V1غÃ\89\14V0UM\12ÚΠ  ¦ªtC\19+\98±\94Ulb\153\96ÒÍ\85å\85T`qëbð\ f\a¸ªå\ 4\81CM\ryíAr\ 2Í\84°Cä`Â\0\82n\9aHÅ`1(<Ëi\15ÓÀÌøe¬`²æKqYÅ0\92\ 5\974V1Ø\92=«Ä:oA\90·\8cÔ\8co\8029çñ\9cµRx\e\94\199\81\10\ba\e\93FÒM
+7°\8cÓ&5\90\9c\9b%r\ 21)Î"ì\17IÅ`\91Sc[\12+ØÙ\0»\eY\vtl1Å«Ñ\ 1\13ȼÕs\ 5Ì\83\81\86HÚÀ¹+ý\90\8a\94\99ýÝ\f\10\11\84±k0R¦>\\93\9e\85¸_°õR\9bÕ\12¢~9Nu¤\ 4\82CµX\v\97 \17c\16\9aÆ%\b½Íç"g\82Àa¹·X\1a\1d\9dÒ'DAx\14"%\10\1cê<´\14Ã0\81à\10\96\94K\10\1c\8c\81>e\1c\97 ]\90\1e\119\81àЭí\85K\90w[®\9c)׸rÔÔ±¿Gå<ã´\89\94À \âL×0δI\\82A¹Ä\99r~\\89­B\a\92bQ\14\81P\ e·\19»~\81K\10\1cb\a\9b~\9e{zöèñwH\11òìì\12;\8e\94\ 6ÍÒ®ÎÎ.¬Ã\8d\9f\97ß\9c-ί\87lºÌ¾\9dÖ»a½ÛþåìW\8cÂMQpÔ\89\1fvRrØ7¯\16«ó\ 5\9f@b^Í\e´Îñc¶°A\90¹)çá'>\84\8d\v\8f<yö\8a¿à®ëÂO\17Ój1®m2<\98W~äjX\9d\ f\eþüø;\84S'\ 5:Ô8T\90\86§\19K~»\19\16»ÁfD`e\13\9frì®ì'öÌç¥ÿm9­nö;7!*­rÞ\ 5 \97Ëi¿ÞÙúõ¬iü$³\aÿ§i)ÃI\81Ò\16\89*þ8m·#öÆ\ 4D\8e\8a}sZ\ e\9bÍ´1\8b#Ìôeë~~p±o/èÕ@&$J\9c\r[³0/Õ:lÉïÓÞö\17'e^\84\ e\9b·n\97PM¶eúy·¿±}\86çà%\8d\99àöÒ\ f\89\9bÎv\8b\96\9eãúµíU\10ýݸ»2ÉqTòÞoÞvu¾¼\1eqÎÈ Ãm\83£>¤\ e·Ö
+*Í\93ó\9dN»Á¹X:°·FýI \13^\ 2\16òI\1e#\94'\9f\17±NÏjÛ½J¢Ú\aC\16R\98ªö\aõk\18¨é)³\ 4Î\ 2'O\1dõ\9fÓ¸\ e\8ez\10Â-\10#¼"ÿò®zzƹÐû¯ã!}¦!;ÅØ£\9e®WEôò\f\97½Í\8a\86EûP\91Ë\19å\84µ¶\1cÙ(\1fâM\8aM\8bõ\85É\8726\1aâ\97q}1½³ãÀWsÑ\1a¨\1as>¬\97\9a³\90{\16í\9eö!o\95fNiìÆ\16=\7f¹úÝ\84DÑÓ\87­\1dM@¤yy\1f®ÃÝ\95ÿ\11\9a×á\8a>\1fvþêÄUÓÅ«swµ0wAf\9cvv;,÷\9bqg\8b±CÐùíÍþÊå\11ÿ\9b°º\võ\7fãÏH#Ú¯v¿çÅ\19GâD\89¦\99\ 6\8açÏ\9fÏ(\12^U5Ñ*?ÜìÆi½¸&\81½GßÚ\1f\8eå´¾\1c_ï7\vòdÙ¥\9a\7fÅ\93/Ök\v
+t\82FC
+\83Ï×»Ít±_\ 6q\e\7f!É°?Ó_[\8b\12'\902\ 6rh0¼¦½Ý5\8bB\1c½r¿\e/_ÙΡ \r\9e«g\16¯cÃ9ÌÖÃîÝ´yã\ e(òÄxÈc\fÓx\1fc\ 4\8aÒ¸Ú=Ú©­¨\87\86oxbÌ\b\9f¼\1eÖ\17.ûö\8aߣ(\9f:µSᤪ\92ܧ\8b\95\913µ!\11úiØN×ûè\8eèÂÁ]]\82ë\8a\ 2ô\SÚdZw\12\93\e7'.\94\18\97~^\8f¿=~1®÷¿Ñ\8c¬ºãAƦ_[dÇ×-óþ~óHo\82¢Ï\93\r\1e\ f»åã«iëê+¤   ¡\fúT;\7fùqaçL¶èt&ø\86\9bõvÆ GËâË\84pо¼\18\7flÆÖ\92´\13'ѡдv\14¹ñ\81û\8fÍ~/O{\91!Ñ¡¼ëí\16Ahy\15eîRý|/\82|ä¤^Þ[\15ÏÑCm~\12\ f5Þ8\ 4/\ f-\ 2¼±\88éÓ~;¸\13©e Ã°o
+ O\13RÄÌ\axÍM4ÂkVæ#|¸&P\rT_\rýÿ¤¬$Á:ó]\a¼\98B\7fÅ\85°Óa÷ôù\ fv+i\91\97E«¡\17S\84Pøíbé¦`åÛ?H6tkë[ß\82À\9b¬\ f(öâå÷?¼:3Å\ eâëåè:\15È\9ebÔ¾µÈÃÁÖÕèøHJ´\89rã.ï«\90ö\8aÜÑ3\1fNÐÿ·Rk¥ÜIãÊÙÐøzvj¶/C/åÅ4½q\r\12öÍ¿\86ïÜ¡C\10ÿ°OòËs/?^­ÅÃ":à%_è*Þ1ïÃýì58lh}?½c\ 4\93ª©ó\rªC\1fo\ eNûå~m      ÷\96C\ e\98ceæU\9c:\15\89C\ f\8báæzrU\16\8a§Ð>ʶ;6rM6|¯\19\83ì±\850\ 3\13Iÿ8Þ:ô¡e\91Ý©Ê>(\88¾J*\8fb~Ì\1aº¿£\9eo]YZá\8b'íDø\90\8ew\80adz»Bú\9d¥ådå\99\99\17¯\1añ6Ç\87ßcZ\7f¤yCag¦d¹\9f\87£\16\95\1aí~9Y/\93Uc¬x·Ã°º\1e¶nÛñ*½   r\8d¡\86q5c\8d¯¾\8a\ f]N\9dõ\18N*\ 4\ 2\89f?oM@tgÒ9ú\ 3\97ä\91Þ\8eoâë\ríªü\83¦Ðb\8f&ûz7.Sá\8b·\r¢yìâ¢\ 5ðå{ê\9d+mK\98\9bµ{\88\8a/\17o\9cëC\96:\84öãûõ^%\91Þ7à#¼Ôã\98,ÓÅÉ\8b×BvÄ\1c\9fgò;ýZú\8cxËu×Áúp(\fæ»<5\17^õXó"øx\e\1d63Oþ\90->Þ5\90üÜWû¡s\8d\ 36wÄ? ðò\1a!lZ\9b&\by\7f¦«2ì£\93]ZTü¸\fZ\84VöϧÏÿã\ 3|:ô?\ e\9bÕ\887E.¢ 'K¡ééèªM¾À\8e\85°\ f\8dø°µ\ eeðAÜÕf\89\8f\12øÖ7¾×{²\úÀ\86/pSl\84\81Ñ_²6\19jÛtý¼\18\8b·µ]÷\ 5k°Îê>é\94\94\88\8fz½ü{\1cÞ\85F7^\93ÅÖ籫a\89~æët\81§p\16,Îoù«Ðú»\89\16wÎ$\19ovü\9a<ö^òH\ 4¾;\1c\8c\8bëéµ­\ 6«Wõ'4\95\9d½N*¼\eU+\1dKg\8eä\1coaLó<´ÁbÇ,¦Îú\86àN\1d\9c\7f"`§\92\903jOçxðÙ^-|«\a_eÝ\7f\19ï\rÅ/­4dÞåNG\8d0½[\ f\9bíÕh/.Q\ 5×ÍWï×\ 5µðYϧ«å2\1d½\12/ÆÍ°ÜM\eËGññe\1d\9aþ·\ f  Þ
+ßWÈ\ fáSþì\\99ÎO­ÕÛ¿\vE*²¦"H\9a\ 2h8ÎñÍ\8fÌø\15þê\95àçÒr\95=»eq|5ä\93Þ÷\15©ê\a´ù{\16
+\9bÀÔXRµéb¼ü=\ 4[|'\15ü";~\94>Ãçð\9de~GMò\9e°\9fùCç\e(ü¿§DY¾³Ø,âK\17|k×Æí\8a/\1côó\80c7\ 5*;Tk\eë\95Õxe\17ûFÇãå2}\1a\83<+\ fÙðj±}c!\1cýïøÁÌÍb\83Þ<dt®\8f\8f\8c½¼9ð\95qÚø¯a\8b£.µØí6ã9¾ ¢9\ e²\95Õâæ&x&\fÝ~¨4ûh§éüky|«é¿ªÂ;ã¶Å§t¸\19øYÕ\93\97O\9fd?n¦_\11M³gÓr¿B\91\15K,\14\89³f^d']>çãã8Rö¿\9f=ú×£ÿ\ 1Ò
+ãÖendstream
+endobj
+1128 0 obj<</Type/Page/Parent 1119 0 R/Contents 1129 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 186 0 R>>endobj
+1129 0 obj<</Filter/FlateDecode/Length 3296      >>stream
+x\ 1Í[Ûn\1cÇ\11}çWÌC\1e\1c »\9a\9eû<\ 5´hÙ\f"\85!i(@\90\87årH\8d½»Cï\85\8aÿ>çTßjH
\1crI\v\90öLMw×­«ª«Ç¿\1d\98\1f\93ÔY\92WÉ|y\90NS<     \7f\9dþÈ'IU´ø{\99\94õ´t`\91\9c\1d(¸L\9ar\9a+\1a`\16Æ\994\v³p ÆËÄ\94Õ´QC5\ 6µ.§\85¦*¼L2ÓNkEÕ\18Ô*rÁu5^&y^\8eÖÍ+2)\ f\97 F¶\ e\82\10µ\98V\8a¦ Ø5\86\82Ë,\1ch'Í2\8c\10\1dA\7f\ 2H\83\8e\16\1a\88v`ÚBx(¾%§\ 28PA\fÌ
+j>\105\ 6\15\9c`ÚHU\18Ô\9a\86\8dT\1a»lrü\rõTЬ\ 5N\10\ f\97IQ@;\91¦à2isH\15i
+Rȸ\ 2\98ܤ£¡\1aÃ\98)Ý$N¬1¨Y=bIcP\8b\f:Rc\15\ 6µ®¡åH\15Õ\97\15u\ e\9bɼ\ 2\ 5U\ 4\8f¥=¡=èD\0i"[\9eÂþÐ^;5I)@´\17!¦L¹\¤ÑïJS\8bÖ[¡    \90qBKsa¥­¹\9c\80ÀJ\81\ 1d¥5\10ß\ 2Ò\14\84\ 6<EbI\19
+\11Z|\124\ 1\1c(ûÖÓL\96rÖ@Ô\18ÓBO¥¦*Lcr\a©±
+Cå&\eQ-KU!ºk\1a\88[\b\10\96"\84\9c²f )H9¹÷â@\8dAE¸ª4UaPaa\b\13\18ì¦\f\15\91jÙ-\8d\98\f\1e\ 2u
+\10v#Ä´\86.\1d\89\1a\83Z0 *ªÂd)\87½\15UaPá|ÐoXVc0\8c \0\86\ 3UcPáþPT¤*\f*TQ(ª\156¯Å\a\11\1c°ª\0\116B°\840\ f\r\a¢Æ "òä\9aª0\85¥\1fDZ²\a\vHAçFh4\89\ 5\TA   7\9a\86pã!&\85ã\83[\99E\ 6\8aã#B3¦Â«¡!\ 1¤)è6}¤I\f°\90rd£\81¢\9e¼å\16sÛÐ\ 2N*ÛÐÓ\18\98+\ 4\ 6¾I¢Æ\98\16a$ÕT\85Am\19jâX»(6+#um s.@$\89\10\ 3! &j\fj\91B\968ÔN\8bù\18ùì´\ 2â´\8e\1c\ 3QcÊÂ\14\12©b̼lÄ\98\88~   à´vÉ\82I\1e\ 3Ó\86Ó
+\8aD(\9cº¥;µÈÚD$j\f*Ü       óFªÂ Ö\rõ\17¨vU\14\ f¢?zB.@\ 4\8d\10\ 3\rcR$j\fªd\1dEU\98,13+ªÂ V\19Y
+ËZ\96$и¨\9c\v K\12\95-\84\8fÑ©#MA.É\1c\11\89\1a\83
+\9f\82zô\1a\83*\11EQ\15FT0LB\91*ìf­-l\101òÄ\ 2²« ØÍ\10ã"MA,\89\9c\9e)¢ÆV\18£¨vIpEW±k\b\88K:\9a]#Ð\14Ĥ0Q\8a\94ÏY8PcP\91\14ZEµKVä\12\e\82®\90    àH\ 59m\86}\16\89\1asÚjDµÓÊ.\11{VI&\80ÓÂ\9e\1eb ¶N£\88\8a\vÙ Â\8f\80È\8f£Ù\r\99\ 5"7\1dMHÕÁ\r\0\8eSP6½¦É\ 6÷ã\f\86@Æ0PcÊH®\14UaP%¾*ªÂ Bh8P\9cYa&³\96\8a\ fT\8dA\85ɼl\14GcÈ\9a\9aÑÌ\12\8a²Ô\16iuN\9a\0Q\ 4\91t\ e«°\10³ Ò0\80\8a\17É\8c\0Ò\14\84(XÐ@\¾I¢Æ Já\19©bO\9bû°é\19\10,àH\ 59-\1d!\12E\ eÖ\ f4(4\0^\ 5\b?\11\8a4ñ.?Π\ 6Å\8aq ó#£\96¤2\99E\0'Eñ\895\1c\8dÿz$B*\f^\eÃiÃP\8da¯´¦\82\ 2Õª\0¥\eC1\92C\8e½D *\88\10Ó\1a±O jLÍ2\ 6Å¡vZ¬E\83Aj\b&@d\89\10\ 3±¡ÁO jl¹\85¤\81*Ó¶¶,A\0h\12ùÍI#ÂzÜh\81\12\11VC\11\90G\92\82 åÜúa\98\82 Á-ÕbÂ\ 6ÔLëÃOL"¿Ee\ 1q1\83Ø\eHâ3\95-T\90Qpöô¥HD\18\94\16\98/\90\14\ 4\r\8fq\9aôÃ\84\8bÒ\16!6u\v \eB*l!aL\89\19\ 5\ 4\12*39\11ËÞåoá= òNÛËk$)\b\1aÂ\1a\1föýùÁ\9bw\88Úir~%a(\85hu\91\9c_J+\ 3\8fçß\9dÏ.\16]2\%o\87Õ¶[m7\7f>ÿ\ 5£Jx\15GM\18½0l\92qØwx骿ޭûÕ5ßãþ*stJ@JN\ eßó\19ÒHÝÖîÙÕ°æ38h|vÙo¶ëþb·í.e\8ebZ§~\ e<\95÷!AQº9æàj=[,~'\ 5'ê,̾\9c­f×v\16TFeÖº\11³Ýö\13\ 6õóÙ¶\1fV\1cÆ\ 3´'O¿ù¿ºå\1coÞÁß­R2V\9dP
+"oFÙÏfË\8b\19ßA@n\8b̳±\12\ 1\r\84É\v÷Ì+     Í\a\18B\14÷Íì<Ã\0\84\99[\89u4¶\14\ 2\89·Éá=\r\vJÓ¤Tþ\84ûI±ïu\8d\8c\93{\87ô\ e\1c<\ 3\aÛ¢f»\8f\8b³àd\90§\8d{´Y^Lçðz.P -6û·Zc¬ûÅ=Y·Ø\90,YÁôOÃfë¶#âXðªDü\11\ 1É\9bì}?_\ f\9báJ6XÑLËÊSî\98\19%YØ+É»~Ñ\89c#ë\a5\9dý¾ÙvK>Æ\8ayéçÙ®;û.²T\98Üî?\1c\16rï!IØ-8u´ØFOº\v\9aÌ*+îUÄDíÔÇ+\84\9fÝ\9c\91Ab]ôêgØW\7f|J+Ç$g¢
+qæðí\84i\9c2½aÿø\12Ï3²Éïx+
+Zêßûë  \92GpXtÿ\8c\v\1cÉÙîæfX[÷Äéû\ 56Úc\14Ò\14wü«(¢}\8e\91©\86Kë\|­Ä\91ü\89ýû1<~í\1d+ÃÄr\17\9cë~hd\8bîI7ç×\18û*Ýq\8eÃ\82Ú\15\1d¹­HØcó\9e\93üû\86¾ö§ÿÐ\14\e\1f\81¾ºÌ³¾àd¨q¨QB\9cuÛ \ 3\ eJ¾8H\8eÖým·\96M\8fÆM\9dû\1aÇWVÈxµßA?ü\17 Û+\ 2çxÔl6¯É\9eó³à°Ð¸tø¬rN¡pj\1e%d\13·\88Úå4IHÌ\92®Ð\88\ e\95Òb¶¾¶é\ 4\ 5b\10{µ[^tRS\8eRÏ ù\19\89»5¾\94\14Û{\99Q×à*oO¾ìÅFfÑ\16>¼¼ô¶ñ<~è>SC\88æ¥ñ\ 5Ç\1d[µ!ëÞö¢#ÔÒ¦õ%&ê\N0zö±_]\ e\9fmnÃuTPÈ\87sy\15%{xtxòQÖ\87!RW\ 3=¡K45'\9f ?¡ÌÿøJ\99\99\1aÍ´ ò     r\84Í\81¨Ü\9a½\19õ®^\9aF\84c;I\eùÜ\19\ 4Gy\9c\9aìî;^\8a/Z\8b ßä\ f"Éù0,6\9d\1c\97\9c>\13Þ]j¿¸\91ÃÎäNxúøi&|BÜ&óñ¦\17\91p\93\13\ 2Jâeý+µ\83ÃZî7ø~\85\18¯æE\92j8æ»/¥\r·\ 3)\ 1*Ôèy6\14Ëc4\18¼\12Nfó_q
+µÖE¾7{< 8Á\fOÅ*\97|\93\13nº5\12\f¥Âá5\14éc\ 5î\119\91\1a^g\ 6S=(\10êxt\ 5ÂANÕZÉÛE\8fó¿ÈÔL\8dï$ìQ\8a¸\947ÑøhzÔÏ®WÃÆn T\90{ÊL\91­Güjí¡\1a»=Øá^}ËO\1a^\ fï\8e\18(ß9ê.v××.óâÜ\eËCW!¸}\9e\862êf= '¶´;\1a7ç®äz\84Ê\9eì\95V\8eü\13^\96è\8dý`\14vb\b»£¢èr hèQù3vrÌ\aè\e\84\ 2àÓì¶\93P\8d\9e!îb^È\96­\9cÙ'ì\94*Ã}©"ÞÝÜ\15K40\9fÉs´\8ac«qö@\aN^æ\f¬º¼m\13\e\ 5­\ eÑ(ÞS*ö\82ë\ 2ùoÃ\85È\87/´Ðæ±\15Ä\ 6Ñì/\8eç,óݪÕ=û\ e»í\8dí Â\9eÞêOæ\94ß>Q\9b\93éIcb\by¼xhÓÌVö\b\80\93B,\90\95\90趾\\ 58uÒ\19t¯C\84<\9dÙ\8a>\9dâ+\15\13tèÎæëþF2\12.\95\ 2Ó\89Ý»Ò&F©\11JÆo×ôÿ?¢-ÄV\86·~j\17\1e^ÞÎVs×d\87\19ÚÑ\99Ò\1fh\10\97\8a\1eQt'\82v·Ón¶\90\8d£\rr9J        ¸[ÙÓy8rú\85_V\0\82\8b*ZÃ7Ï~^õW½5Æèôü÷áÚµ3\91\ 1¢{]tÛÏ]'MmÜ2áÒÛy¤>"âj¦ò\11Å\1d\11q\v\18\ 2£\v¡¸t
+\87­äç\ fÇÿ¢RqKÚ\84îïnã\9c\ 1\17@\8dQ+]à<Ê·Ñ´iÛ§q\92¶ä\84úB¦R]¸Ã\v\86\8e¹ì6öL^S\8922¼\15cby\f!ä^\91õ:\9b\88\8eù;MÄ\a+\14¸[p\ 2ñg\9bÕNÖÃm\7fiONhÒ\87vÕHGû\ 4N¤;g\ fö¡üY"4c~Þ¸F<>à~Uå{k{n¸\8aÖm\89\9f\ 6\9b\96\15º£_°ÊÇaý«­\83°»_EÇÔ\89\84ïdU^\1a_g©\8b¹ä´[â\9a\13ba°\18¼\ril·\16
+\92\8f]É[\1c#Eb|\82ð\1c\87]ØIe°\81\94X\1ffKÛôÄ\97U\95o   \9eá\88ÞÏ­Hº\a|ö¹ßÎ?\89¤h&\17®Þxx¹ç~ÚÚf\1f>ÒÐ~w²ÀÙ\8b_\18H\ 2ð¥Ã\ 3·Ç8~\84Îï{\¡,\C\ 5ß:ìÍ\a\9d\bw,\82\9dn»#ø$(Xä¡\83Å\8fëÁ\1eMFiñø\88¢óþ3dÊÃÅb\88\9f&àHZåÎÒÏm$?\7fë\9a\97è:êZï´Ûì\16\853\10öÇü\93/ôpaçíä'{©\7f\9d\10ü\ 4Tm ^ïê¶P¼ÞM\1e2ÚýK/48÷æqcÕy« \83øåbà\95u\¬#\8d;.§Ýo»~Ý-qh\95°Z¾@\ 3e¬Ù\80ZÛÜ\ 6GAÃç]¼3ó'¶sú»M\82È,á[\90\7f¸¯\93p\85â?ò   3ïý\87\15åÍ;|ü(\1f%±{\9bãÿw\92\ fxùMÒáûï\ f\13d½_ºù69\1aæ;\1a$´Ks^\961T×iËÏHú[Æ©\1fÎ\ fþyð?á      }úendstream
+endobj
+1130 0 obj<</Type/Page/Parent 1119 0 R/Contents 1131 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 226 0 R>>endobj
+1131 0 obj<</Filter/FlateDecode/Length 2777      >>stream
+x\ 1ÕZÉvÛF\16Ýë+°ëô\824
+3\96\9eäö9rì\98r\92-DB\16\12\92`s\90ì¿Ï½¯¦'µ:m«\1d\99IÎItqQ\85÷ê\8d\7f\9f\98$Å¿&©³$¯\92ùê$\9d¦x\12þóþ\15\9f$UÑâ¿«$/¦\8d\ 3Ëdv¢à*©Í-NÁUbL>5j Æ`ËöÖP\8dÁÖõmVa°m3ÍõÌ
\92,k§\99b5\ 6[ÖA7ª£1tMÍ­\99ó\8a/ç%\84Y%M5­\1d\90\85\10.˦\95å «\0r\¿²­ \aæÌ\ 3\90a\11býrLi_$§ ´L«i¡H\91¥l8\1c\ 3\8bi\99X\10d)+.)ääÿ,\88\Y\89\9cU\ 6ýJ\ 1ä\14ä\asN\1aH\8dÁ\96\19Ì©X\85ÁV\ 5µ\8cc\15Æ¢\9bôÖX\8di\92\82\8a\86±VÑ"ÇÃU\ 2\9d\0\118B|4«)p 5\ 6[4·Y\85ÁÖ\19\97>\8eU\18lÓL[Í*LuÄ\86a¬XÛЯ¼µ\ 5ÈâË\9b\8e«\fõ\f\9c\82«¤-¸B\81³k\0\83РÖØ\ 2\82A\8b\ 6¥Í, GQ
+¬=\1d¯ ÛZ@JAYÖBqXe\ f¡¼1\18\1f\a\8a,EiD?|\16o
+à¤
+b`JëDRc®8g\88¬\9d6g ;\15\v\ 1\9cV4¶\90òÐÙ#  wÁ<Y!ú×\8cB\v8ÐrP\80¾ÓÈ\ 2\b\b\\8e\ÁÅ\81A\9bÄ\ 2r"L\8e\ 1´!<\11©Q\80\8c\8b\10v\8a\80\9c\82\104oàSq Æ`1a¡X\115\97\94    \12Á^&\16EYËÆêÈeÍ\ 5\90£\8dó<\135$\e[@JA¬i\8dX\8f\9c\82ø^QÁß"©1E­áþ\8aU\18î\8f±\9aÕ\98Ñ,++òQ$\8dÁ"Åam#«0Óoykf\8dÁ\96\f\878ÖÚÌpq ,M\9e\v\90\85 [p8\9dK\9cÔ\82Àe­KÜôu\vÈ5\11b\19\fsD$5æ\126øddE\9c¬f$A\9c\14\80Ó*(ù¹T\1cÒµ\87\9c\94ñ\10\aj\f\16EÓhVa°u     \83«±
+\83\85ã·\9aU\18vÉr¸Z\1c«1XØßË\18W°²õMÊM&@V\90ÕÇB|\14\15\11\ 3\ 3©1Ø\82­\85b\15¦:\15Õ   c%^2ø\0ÍmãÅ"~Uc°\15\ 3'²vhnË£Ie\89\ 5Ù¡\11\94\12\aÖZ5³Õ\13!\ 4N\0G*è\12Cä$1X\88Is¶\15\91Ô\18,üS³ö\93¨1âHâ\82\ 2ä\93\11â\932kà\14Ĥp\rxg í¤i*Y\ 3\ 5\ 2~-\80\93*\88\81)[\84Hj\f\16±\9fjVa°(iX÷0±Æð"d'=VDbª\91ø-áÙ\16\88\9e\11z\91"iEò#\ræÉÔP\8d1\16¥ªÑ¬Âd¹Jjf\85\19\14´wd­ÀÈXÒe±u3\ 2(0\932\83\956\83\e{@JAIÊ­{Qôd¢õãl\87l\11I\8d!+\96\1a²Ê7\84U\18,R\fd\8d¬Â`±Ê¹f\15\86\9eÈsZ`«'¬ÅB)ÉÓ\bàW-\97Ùf\0½4$\12@NAç\9c\91\13ç´\10âÀÇ*5Pc°eÊE\89ÓÊrJÔJM\87±\ 5ð\93¨©\1erZ\ 6D$5\ 6\8b~\r\9e\10\86JR@Û%í;§\91¿Ã¤\8e±s\ 4JAÌhXê\ 2G\17\91\9e\9feDþ\965\v\bö/a¦ÀD\84Ù\90+±«á\ 4\1côìüäÉ)\12v\9a\9c_\8a\9f¦\18W\17ÉùB¶jx<ÿá¼»XöÉx\99<\1f×û~½ßýóü7\8c\82\1f\18\8e\9aн1l\92\ f\1fÖÃåÐ/ø\ eû\84¼Æ.\10\8f\93³ñã¸\96¡0nÛdîñE¿¿éû5_/ @Þºç¿\fëÅx#ïÃ\ 3ë\8aÛINóã9_Å\92¤\99\7fµ[Ë×2ô\8c\ f?¾þUD@\85,K7ö°\eÖ\1fù\14\11×\18?\1c_ºÀÇøüÉ)\1cÍ*\95Ñ1Ò\ 2Ú±\95À\97Ï\86Õ°ïö\83S\ 2ÛV7íôxþA}¢\1a\13\11.H\ e³Í\97Ð}´«|\9c\82×vý\83S!äèRLFXüwÝn·¸à+ÜçÂDÖ\19Þ|\9eýtƧ(§UáͼY\1e>\ e¢+
+bÚ\16öåc°\92I\e«fp3\ 4b\r\93=;\fË\85sR´ùÇça\E§ÅD\ 4\f¢ÃË.\87\8f\87­\93\1eûöìèÄ÷\92\82è\1fB^@\8d¯}^Ø,»\ 1ùîÓ^\1c\f¹)ø\17\9cñfÜ.lr\82\95êÊùã¸å»Ø
+¶&w\8fúõ|ûy³·    \11\99Ìd\9eÙ¸idz\1cb¥îÃßÖQ1-?0É°é\87\ 6AçWý~ï\1dÍK´\1e×\93ù¸<¬$x°Ã*J\17<É¢Ûw\9c\87Y1¨{¹\1d\10§
\7fs\7fÕó\99\81ª­Oò{V\10y\13z\16\8f\11\90NmU¥Ð~üÏ|òë\eÉ&\194\ f\ 6\ 4\953s¦þ¶FzølƤ\WU¸Ð\1eýý2\8aÕâNFù°ë>Z¯ÁFâèrI´Y°A(^U*6ðÕk¶ïæ¿û\10à\ 1Yh\8a~>\9d¹°(C;³\1a\17\87eo\93\vº\97æ1Â%*ó'\7fáÄî\8e¯á\0\94×ëý\16ÂÏÙ$ñMô¾¹\17?q]\1a:·*ä\8a¹«\19ÒVq\ 4vvuî²Æ\9fHòÍ)§\1a²£¸ZÈ\92¯Ù9-\7\8b¬Ðøâ \8cÄ2è;\92o.Ø×Nè\15\98ê»Ãb\90"\86\ eù8ÃÈK-\ 2\86ÅßöóÏs[7ÐÈ\1d\9fä^j\11.H½î±Kè\96¿Ó\9d¹\9f=:¹q¾HÙ&w\9a \9f\8ap\87\82ý\9fí¯\95\97£ÃV;®ënX\86\84\96M\vß\0õË]\7fsÕo%mëL÷µ~üÀ÷½n&§«\a\9b¼\80E.º]o³-6þÇTN¼ÌV¬ óõnÞI\16Å\99éñ9\11í\83\83#:\92ê±pTÉz\10ëÞè·\ 3·\8e\ 2fÝê¢û\87­pp\9e¸ißõÛ'oºùÕ°\16\aâæ(\1c\b<\9dÏÇÃÚ7ãqS?¬/Çí*T\10t­mí÷\87v\17È~\1cg\13Ö¥í\9aâ®'¯¼Ó\9e½xúN¢\15ÇE¡e}1 ýìÇíg2èÛC!ûrÏÄ\8d\92]\9f°ÛËÑ\15ë\82ùî°Ý\8c;Ñ5wMø\97OÿHo:-&\100øæ\7f\14ú£ÜìÙå¿\9bçf\87ÍfÜú\r\19Nä2ï-Á\ f\13\hÖo¯û­ø*\8e\1eò´±~ôH\8b\7fû3Æ\94t¨       \1aÎh\8bÙüª_ÉÞ\8c1æ÷'÷¶[ïû¥=Àº\1a6\9c\b±\12£`?ò\11b%è\98Ü·\95{\7fú\9cï!)\85½a\96§rz\83»R\9fW\13¸õðI\85,~\ 2\10Ú¾ÛJ=\ 4ù\85È\903u<Ý=\83ÀáyØÎKÒ¡è¸\15\8ca~3ì¯D\1fìí¼m\93û\1cá!b>l\8c\10\8f'µZ¹·\9b~í%Cí.\v\7f²z_\17]\94ß#\9f\ 4Ñ\8d:8ý"£à×4!m?lÙþÿQAz\1cðë-´sc[¯Ð\88\86\85¿oKój;\1e66]àr)ìtVÝ\1a\9bÙ\15NÏém\b¼ªyÌÆÐ\18\89P\1cÕ+ÃÌú9\8eëöRáp&_Uþ\1cè>½v¬Ù: Ëi\9d~\ f\1f£\9dq%Âe\9càö&&B\1f\e8½©CNßmúùÐ-­ApÏ\16ήºý~;\\1cön£\8d{éPúÑOpv\83\13èðºV_&ÃoYþb\13\ 6%[\14)Õ̾üÔ­6n[\84\8bzܼØÎæìÅëSIeµ:y{\89-ù`uDù\8aÇ\92÷é(E¤\8ey:ÑJsf\\92ÿÕm\8a1ö¸Òà¾_ÇàóqÅà±1\88û Ç\f\9e/Ì,&sGqá\18¨Á5ºj\87ÿõö\97ó·\G^Õú\13\83\ 41Õï¬\7fÂ@©?2\8då
+i$\mìÆÃvîúÅiÖÆ
\90\87¨À1å\\ fbP´\9cM¨lÏ\7f\9e\89\8b R?Jð"@ù=u<\89ß[Ä\90ý{ô\91V\87»}¤_J4L­\ fÁÿbË{Z+    ­é¸\95ëH^\vx\13\7f¡³}Ó×\9c\95&¸cÖ1§´1Sü0Óå\99èWñ\80\1f\8bqÓËý\1c.qÛô»\1e\92{m\90AtÚü
+mæ×\12\8f¸11åwU%X9ÄQÈ-üU\80Ê-Òv0Ôp\18¥ÎoºÍÆ]ò çàwkÎ\841\13¡\8a\97.\8b\84\8f}\97?p/f3\ 5~<!7ðrz\84_*Èo¤p\ 5<{úæÙÓäÝvü\rûòäÅ8?° \84}\7f\8e-}aêdRã\1e\r¯_s¶\97ç'?\9dü\ 1\95D¬øendstream
+endobj
+1132 0 obj<</Type/Page/Parent 1119 0 R/Contents 1133 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 270 0 R>>endobj
+1133 0 obj<</Filter/FlateDecode/Length 3205      >>stream
+x\ 1Õ[KsÛF\12¾ëWà\16»jIcðÆiK\96×±ªâµÖ\92W{ð\ 5¦@   1       pAÒvö×ï×ÝóhJt¢\1cd2»U\89>|\9cA¿¦§§\aùï\89\89büßDe\12¥E4[\9eÄÓ\18Oü?ÞÿLO¢"«ñÏe\94&ÓÌ\82Ety¢à2ªói¡8\ 5\97\91IòiªÈ´ IÓ|ZaÒ:\9b\1a\vxRæ\92\ 4³-£"\9fÖQÁ\808\ 51ilh 'eÒ¸\86\88Ë(¯H\1a\ 64PÁeTVÓ\q<.¯\8biBãè_\ 2x\\80\18Wã}\81\93qUÊ\96ÉÓi\89\97\12àq\ 1b\    %\ 2\8a\9a\95gÁr\ 6^N\81\82@ôCâd\1c\ 4\18¼)g@\\11à2ªb\18;p2.K\83]r\ 6á}\96«\13Ø%p2.\8dÅ.dÏ\9cA\18g¹Ú\90~\9e\93q¦d»\14   q\f\0áø\14\9a\ 5\8e\ 2-«cVÏä\1eÐ0\ 5a\96\ 4¦\96\1f\12ÇÃ\8a\8c\89b@\14K\92åd\e\eJ\ 2\ 2\97\96â\85\12ÆÉ\18\10\97\a\bk&ðzàdÎ$\13/¤°XÆ Ìi\f[\1a~+¢\8c\ 1q
+Bs²fà\14DX\17d\96@\92~iEö°ëO\0¿\8f\96£ãr2mà\14ä\88(\15\87\0q\90\96\11-\870Pc°\99\81e\ 3Ëꧥa³Á4x?\ 3\12GA\f4\15~\13H\19Èá\8eUF¹"e@\ 3\15\84¬9½0p\19é\9fålÓ\92þ%\80Æ)ÈѤ9\ 4\97\83àh\r\85q
+\92\86\19Y\83ß@\93j\f\8cá~Å*\f¶.±Ô\14«ð2J ³\9eYc°\19\ 5A\18«1Ø2èMRi\8c8àÔ\17ÆjL,å@Í\ 6L1dvdÖ\98Ø\8aÂÈ[Cc°H8Ú\1a\1a\83E$h}5^F\19¤Ò¶ÊYAl!\94\93\f\82c-'\9eô\9c\82α\81c?ÛqÖ\91\9eÔØ;6°âX7V\1c\19X\85á\9c8§%ãY\8dÁ&´\83)Var,­\1dÅ*\f\16ïAô\87\99\15\86\81MA\8eõ¬Æ`ñ\1c®\v¬Â`\11æú½\1a\83Å\ 6\ 2ç\84±
+\83-\8bÝ\99\15\86cM¶c\r\91\8a\ 1V\85¥\18°c\ 3\84óx¥{NA¸Ç¤ôJOj\f6­ÉL\81U\18lQí²
+\83\ 1C\84±
+\93óh¿\v¬Æ`3Ú"\15«0Ø\8a\8dègÖ\98\Kû\82\1a«0L\f\ 1~¬Æ`\11BZ*\8dÁ¦´c¨±
+\83å¢)°â\1eD0Õ^²î\18\84ug¹\8aÊ\9dÔs
+²ë`\aÏÁu\ e\92ë8\rxRc°(6 l`\15\ 6\8bÍ}\87U\18&dó\84±\1a\83Å\9e\ 1\ 3û\995\ 6+  5°
+\93s89\ 5Va2pN\89ͳ¼\97%(\97¨\12C5\99`<\ 16a\800\13\95\81\81S\10ª¢.É\15É~IPcRù\8a¤` 2\ 1\9e4@LZîp
+bR¬àJ\rÔ\98^ÉÂùi5\ 6\8bý;Õc\15\86\85°1@\?VÄ-¤jÆ/¡'\ 3\12WAL\eÓþ\1aH\8dÁ"²3Í*\f\16ç\ e\88ä'Ö\18,ìYhVa\12¸$\81ýX\11\18u:\15R\q%\fH`\ 5I$Z\e\81Ô\18\13\8aU\18/EìC`?±¼\14ÙÉ/¶\84\ 1;\95\8a\19\81\98\16©\1dºxRc\12\89\8d\1fX\85I$\8e\bÏJxÂ\90!<\19ðK9\ 2,g°%×¼_IìÊ@d^\ eAþ%\830Ðr&¦­&ñ¤Æ\90'­Èã\81U\18,\8e\ 40o`\15&]¨Z\ f,U¿¦\92³DVbZ\ 1$\91\82X0\14
+\81cM\f\1eò\ 13\86B\ 2h\9cp\85\1c4à½
+"\11`-\ 3D\90\90/\ 3'ãðV²\ e\92*8\ 64NA»ê\ 3'ãR9¡à}      \fDÀ¾ÏA\e\94\81\93q¨Ö(`yÝ\19\ 6<\8e2\83@\8c£r>p
\9c\90Ó\8fC ;H~b%<©±óD\18*âÄr`âÓ\8ca@â\90\97°ùñÁ\9b\12!ÿM\ 4N!\16A\ 5ª\95=\13\10^eÈþ\9eR\10\1c¶Ø2p,\ 5ïç¬7º\11\14¦ô*fp\92àåMç2þÛ38ÇP,äT8ðß,\1eÕ XK¼P8¤éob°ï À\85\81`Èð\8eyyuòâ5¸8º\9a#£¢ÌA3¡Ì¢«\eî\9bàñìÙUóiÑFÃ<:\eúMÛoÖϯ~Ũ\1c\9aÒ¨\89\1d6IhسËfù©¡_ y§u\8e\86\f\1eF«v\9c\ fã²ég-q8\15"\ 5[®[¯·-O
+±Ò²\94ÇÓCþÏ$\99(\89¸\14
+\8aBjÒælX®\9a±[\ f=K\8d\ 3viõ<¤ÌúÝVþ\89\88æ\ 5¿\1cf\9fÛ\ri\96 Wf\89uÀ°ÚtV\17\14[il\1d£'<ÜßN\15
+\99<øà}ÛÜ°"X\93\88Y\89²u÷?\ e/\9cÖ\8bìÈ\"\16tÚP#Bió¶ùÆÊàx^¤V\99oËN\\85\9cY\1dâx\10\ 3¨%HêÉ=e~\19né1ÚdeB-YZÿ\8böK»`\15\91Ì\92Z\9e>\98ð \ f¾£ÍÞ@\e\9b¯¬â\11ÇÙ^×\\8fÝ\86W\bªÂ8³A\15\ 5mêÜFßA=qÿåÞ3YXÿ\97\8b\81]@\rsSØ(;[tn\7f¢Ý§Ê\8e,Îp>à\ 5\93«¥¿W\11,¡N6\97¿\8c\1eb{^âÅ´ò\eÿfÛw=ç\ 3´Ô+(Îùà¾\87\ f\85­CT1C§Zx\87\ fnH\çÿ\9eòBϦuérÙéjÕö7Ý7©YÐD,Ë£LhÓ)NZ\1co8\86h¥.\86qÓ|ê\16Ýæ7¢q,=¶úå~<\98¤&I_¼öõ\18j1RÉ\95do.>ü\87~ÁÇä£
+1¥\8aÕbÂBzÑ/ÏÞ±ä8\9fùUó¡ï¤ PÕ\8d\9aèð\7f:U2\95\92_ýó\|\80\16É\91­sm0':.ºt\ 4½ooÞ4\p¡\ 6\ e%å/]¿\15Wàlä
+\97è}»ü46ýÍfr~NΣ[®ÂîBú]?ào\93Ʋ4Ây\f=\b\95Âö\1fÈ <G\1dº   \95?\alîÚ\91\9f¢t«]upvþúÒ>¬ÜÑ \9aíì´±9ì\91\ 1\8dA±AH\ fèÓ©ôð¶\99uýfXßÑÏ24éüÙÇ*òw"èÐ\9d\1fV\13\170V£        \9a\8fJ\8dw\97¬'\1aǹ\933Rû.\1agµõ¥\9bç\18þítÁé^/¸7¶\80CÞs\85Z4kzr\ 4Îo>¤"Y`Ó̸\83ÑlèçÝíväB\16\17Auì\ 2øÝå\v6\10} á\96ctÝ\8c+\9a\14Y×Tn\ fG+£og²ÜÑ}òs\ f\1cÿè{ÖþÑã'Íè5èà¸ãhÃí\81\9dɸ3RN\8bÔ\96¦v!9ù\9cû"4KØ\10¸\8a(]uË\vY\ 2\15\8f³ß\rTgó\14Í[}Ð<¨ÑÓ{öùø¬\1fä\88\8b,äË+ë\9a\8fÏÿF?ÇÝm\958\vìu\ 5NÒüK¬
+oyÄ\14\9b¯Àê\91\ 3è\1eÇ&SNìèU»\1fý¡Õ+ç·}ëʤüÒ      ]÷ë@?\95H¥ëÎÊ\16\8a\11eZ9\88a\17JÝÓ¦ç\82\8cÚ\17îEÑà\932\82ÚÕÏ\91ê\99é}éë]Ë\v\båk\88\9b½Vûø̾\f\a(ÜÓZ+}iÇ5ZA\1f\9f\93õ¨Ñí\99Nb\19½Q×\8b\88¶ëÖµ`Âjy|Ìs$£\ f\95¹&Á>\9b>|æ­\8cvÿ\1fEöÍÀQÀ¥¢\84Á\83dr+ý08ÇçÎh5b³\90\9d\10ǯØ/À\9b±\83\81hJ\88\1d\12ÔÍðµ_\fÒ\8eÂÞ\82\9e·µæ×aüì\ e?:Éì\v³½NÚÙ\9cP\95\94¿»æ\1fÚÊ?qF#OûÂóºë!:û\15méÐxÚ'Þ5T¹\1d\87í\8a\7fNÍhôE\ fVg;upÙ­\17Ú\87µtÿ\90è}KpÑlÚµ$\19|}ç\93ÌÕÙÅ\8bó\v\8e\86\16n[Xo\9aÙgv°^lóqXòC|Ûç\9dû¶\9b\8dÃz\98óÜôÍ\19ÚßOj\10§4]*i­_µ\8bÖ6u°`\9d&ÓÕWé·¹½qÞ-l\93ÝL\v¿Ï4s\eèH\ 3a\1f]5ë5\82\97W76Ø\90\1ffwM\7fËFÆÂÀýåSkÌ;êä¾ÆØ!v
+\80P­_ϯÙQz«ÿ®2Ðåf\11Ö§)l\16ô«æIþ@\ 4\91\88¸5Á\a#ª¶;k$zq\81\15ê!-¢tYín6§9v*\v§¦¬g\14ðñ\ foåyÕ2Ü\v*Õ¾\97h~ªó\17\15{\fWãé\ f±ÿ£\9cê4ÁR{\84\1eI\1có\19LN\94â¡ËvüÒÉe\17}oá·ø\v\97`t.á¢\15ßÕ\16O\9cBöé\8e{Rr\80j\81ÑG\ 1\94`\\ fì}»BÃÈ.\14\\12\17þ\8aâåö\96Ã\r\8aû²`ß;\ eṳ̀ÜsU­#ò\87òêy¿\19\87\9bí\8cîÀÈ\12¸åuuä!åÞ}·Õb"Âù-üç¶oÇ\86\13=ná+ã
+Ù®\9f\83ï¿Le\1fîNx@äuQNxÕ~Úr\97\18\95\15¾\a³\ 5\14ß\1aI\84á\e[\K?é\ 6û§M²O\11DS;öÞ%®¶\8dÚq\1cFQ\ 5_\19=ñÆù'51iI\81\87#Ê%§\e\14CwnÙã^Ø\9fÒ7RVc£òý \açÚqÛûÆ?¾·ôuÉj\1c\9a\r\81u\98\1dâ¾É©\8b$¿\93\b.\9aÍìNj¤ô\87ï\9d\8ft\99\95]eë¢\ e\99úU×ÜöÃÚú\f¹\ 2ÿ½\85]J¿\r[9¹°Î²G­ý§\1aêÖ?Zcçò§\9cª<¬%ðõ\95ìNßëìýE²7kq?{\9fâÃ\97eøöÂ\1dî\1f\19
+Oÿ3kü\89¾®¼ÂiJÒØ\11v\1a½I\9cäêv\82\ 4§PBs%|ùbè     ¾ÇsÝT?Á1üác\1fßôñGHôå`\85ÿò\8c?\9fÃåäåéÛ\97§ÑÅ8ü\8aVfôj\98m\97¸þn\!\93Òù\80*\9d2®é#\8c/\1d\8f«\93\7f\9dü\1fçV\dendstream
+endobj
+1134 0 obj<</Type/Page/Parent 1119 0 R/Contents 1135 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 283 0 R>>endobj
+1135 0 obj<</Filter/FlateDecode/Length 584       >>stream
+x\ 1Ý\96ËnÛ0\10E÷ú
+.\93\85i\92Ã\87´*ò¨»*ÐÖú\ 1ÅUR\ 5\96\84\81þ}\87\ f\91ìÊÙUp\ 2\18¸suDÍ\90ÒÌï\82\13\86ÿ\9c\18A@\93C_0Ê0\12\7f~|±\11¢e\85¿=Q\82ê \8ed_d²'ÆPȼLö\84\ f\98kt¥ &C\95´K\82¢%.i\ 4­\82°Kf²'%§"ó<'ì3.\9c\13\89\v\9eç¢ç9VQ\199'\12\17<ÏEÏqªÒø\10a=/"·x\8eK\9eçJp%u    )'\12\17<ÏEÏsºJuQN$.x\9e\8b\9eç\94NuQN$.x\9e\8b\9eç$¤º('\12\17<ÏEÏsÀ²º8\91¸à\95\1a÷]EÏsÜduq"qÁó\ô@#¡\18¸ºàM \bËe\12Ï\8b½µ¿Ðz\99ÄC\88\8fÁ3ó±.¶»\8a\bFêWÂ\15\9e\7f\91¤þé^\ f\f\1fîêæåØ\92ñ\95<\8dÃÜ\ eót_¿#¥ð¼[j\13°\8d°ØÝs×¼\rãÔ\roö2|wp÷ðåC\87ü\19Ï'\e\14\92\1a\15bSÓ¿46\b@\81\95K´=]Zwív'\97\8e \83ë\ 1\96\1cïW·ÓlI^ÒJ\8a@
+\eÁ\ 2¨p+º¦?\ e\95\8dÐW²\80\9bÈB®:\vÉ>¶\17ê&²Ð7\91\85Yw\16üc'ª¼\89,ܧlµ_Zé\1aÁõ/-w_\ 1\8emj\85\1d\ 3GFw¢\80Su¥cpwöV\9e\aÎ×Y\1eû¹;\1em~ØÀA.­ÿWs    ³\ 3à\88[-}}>\8dg\1cC¦O\16ÀIZjßðÿc{\ f»³Ý\95aB\ 1CqÄÅaJú\ 1eÿðõñ\81|;\8dïía&ÏãáÜãøÔÌÝ8Ø,\0Gl\ 5@6\86Uv\9e¹t\9d\r\7f®\8bïÅ_y\8a\8cúendstream
+endobj
+1136 0 obj<</Type/Page/Parent 1119 0 R/Contents 1137 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1137 0 obj<</Filter/FlateDecode/Length 159       >>stream
 x\ 1\85\8eA\ f\820\f\85ïû\15ï¨\ag;æ\98G\88z3Ѹ?@ÆH$\ 1"Áÿo\11N^LÓ¤é{ïk_\8aAR\8cÜ s\88\9d"MpÙA[X\9fËl¤Ç\84f\11\fió+\94Aí/G\18Bh\84år\8fPC8$\9b¸y\14ײÀm\1cÚ\14'\9c\86øîR?UÓsè·¡ýFÙ.Ñ]Æ\82\ fõ\9a ©ê\16\8b\aójqÖéùÀ?®õ¤½·ò\90xyÆ\9c\83º«\ f\95ã;Òendstream
 endobj
-1386 0 obj<</Type/Page/Parent 1367 0 R/Contents 1387 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 328 0 R>>endobj
-1387 0 obj<</Filter/FlateDecode/Length 2699      >>stream
-x\ 1}\99ËrÛH\12E÷ú\8a
-oF\1daC\ 4øöfF¶ÚnÅX\8f¶èÐÆ\e\10\84$X$À\ 1@Ëúû9\99\92\92g¢#l_ÞÊwVe\15ú?G±\eð_ì¦\89\eN\¶9\1aD\ 3~éÿøúù(\8e\87ÑÄ\8dç\93hà6.\89§Ñl\8fÖîFÖ»ñ,á·\8d\9bN¢Ñ\1eôÔP\16l\<\8e£¡\e+\12NV\8e&#åFã(Ù\ 3¡\fܸù,\8a-7\92¥ã\81\9a\9b\88'\1e¨Ê\0qe.rºP8\ 3ñ%\16\9f\ 2i1l2ïm\88¨Å\12Ç\808\8c¬Á°³i47ìl\16\8dÝh8%\7fbv(¤"Ul0¬¦Æ°\ 6\8bÙ8\9aZY\83Åì@\î5{³É\88\1cC\12\ f©PÔÅÓaX²M<\815X\14\8f¥N=ë\15Ç1Ö \a\9apEªØ`1\9b\88ÙÀ\1a\f;\99\89ÙÀ\1a,fg\12mϪÙ!­ \9d\94\88y\8f|<\ 1#J\12F\965\18v,õ1²\ 6ÓÚÉ\80r\ 5ÖbØÑ\80\80\ 2ë\9d\9a\8d´\15ãÁ\9c\1a\ f\15ù\\ 4,N%¢8°\ 6ÃNd÷\18Ö`XZ÷@³Á85\90m\15d-\16\97\87âro×»<\8d};&\13\92<Täó\180fG\89d*°\ 6\8b˳CÖ`Xì`6È\1a\8cS±t\`½Sã\99oÖÁD2¥Èç1`\14\ f'\92©À\1a\f;\1eÒ \865X\9c\1a\1dj6\18§\12u¹×l±ä1\96p\ 3k0,Ç\98õÊbØùøÀ+\1f®\9eq8åÃUdÂíXº\93d\ 4Ö`di\ 4öA`\r\86Å,û °\ 6ã\14\878\15êY\8b\91T¨g½Ëô¬n?ï²"ãrÇz\17\ 3k°Ô \16³\815Xع\985lÀâòDÂíY\8bÅå\99ì\92À\1a\fË|:\905xã\86±6s/k1ìX÷n`\r\86åä¥ç\ 2kðÆ\8d\ 6\8c\9eµ\18v\18\1fÈÎe\1a\8aq\19¥1gQ\87üî\fXعTW×z6`X\ e\10Ò\1cX\83}\9aIF`I{\87I\15§+EèYZ\ 1r0Ö#ïT V\rD-Q²GzÒbX£G\1d6\18v*ú\83¬6\2Oü\910\1cò·G*j°W<µ,\8a;\f\8b&+ë\15ëF\81ô\8a\14\19Å\1d;\99S\88\ 6\8bbédÃ\1a\9a\10O`½Ù\89¿@ùy\9c(R³:\9f=F1w¨1G\8a¬\15Ö\8bÒsÚ\14ÞcEÆã\8eå\1c\9a»$°\ 6ãÓ` >õ¬W<\94á\82UªN°\8a¼O\ 1K¢¤<\865\18\96!s k°Ä#[ÏÈ\1a,NÉæ
-¬w\8aÁä/.ê\84"ãTÇz'\ 2k0fÙ\87(\ e¬Á°ó\17\9a\rö\99\1a\18YÉ\\87a\19k\ 4Ôkö.s\95Ó+\91Ï£"ãrÇz\17\ 3kpïr`½Ë\9d¬w1°\ 6÷.÷ìÞå½lÂINýzÖ»¬Qa\96HØ0\8a¼Ë\ 1Ã2ó\88\ 6ò'Èr`\r\96\80t\17\ 4Ö`X®s´M`\r& ÎF«Y]\8eg2þ\11å>:G½ ïrÀ°ã '\98a\r\86¥ÿÆ\965Xò(×Ò k1,c\9f·RoW\ fìx*¯#\143RQ¬H\9d2\18\96\12 8°\ 6ÃrÔÅ\965Xr!5\b²Þìd°?\1dejÄ\8aÔì0`\14ÓC\88ö¬\9eºñhªÍ:\93ë\92\a"éS¬â\12\8dÜ\96bE>\9a\80\ e\ 5\b¬Á°D95¬7Ê<Ó'âPò @ô²´\83\br\99E°'-\16£ò\9e1¬ÁbT.\v\865\18\96w\f       \ e\9a\r&Áì\f\82íY\8ba9\8b­]\8båò ó2ÈZ\fKé¬f\9fcÞIÚ1\1c·\90\8aú\ 2P\=ûhÄ\91S é\ f\90`â9i
-\\80\92¤1\95 \\80\92"¹A\ 5.@\82Lħ\9e3\10\8e\85qà4\ 6Æ\9d\7f\ 2\8a\9b
-\82\9b\1d§~\ 5.ÀÎÍÀ©\9b\9d\9cú\15¸\0¥Rr í9\ 3áô}\16¸\0ápz\1aä4\ 4\9e,þ>+!(\b!t\9cú\1c¸\0 \81\ef\1cäTå¸{\fÊ\1dD\81WÙCÄxhðùD\16*\17 ¨\94\93+pÀÄC8}M\ 5.@¸¹|X\b\\80>cãÀIÆö\10N\1f\9c\81pD½7.~\1a\94í\1fä\ 2\84\9bË>\f\\80ì\ 6Þ\90|\1fêb7P.Ò2vzNÓÉqëOÖ       æ\14hÊx\bì!¡³9åK\ 1\v\95\vPÒ¢\1f\99:N\8f!"\96íÅÛoH\18ü[¤\ 2B\88+;\83§£\f\84Óú\a.@qD6^à\ 2$':
-zÎ@8~f\f\f\84\9bè\10ì¸\ f\8b£\93\18¸Å\1dßì&Ó\99[¬ôS\1d¿dǧ˦­Ó¬ýcñ\83u\13¼õëÞ¡<aåñ\97´iÝ·í*ms¿\86SM×\1c»÷nñ°s§»{¦'-ú~4{?\1a»\8fg\v\19Ð\89¬\1e¸wzåAÏâ¡hܲª\1e\1d\7f§.«Öë<k\8bªtÕ\9dûëêvqÅÏ«U¾rmånÒÍ2u«*Ûmò²Mý²\9fyíÚ\87Ü=çiÝDîܵõ³,ÎËfWçPiëÒõzoWï-ØM¡²]]£ç­[îZ×T\9b¼-6y£ÊÔ\99uZߣüGµ\14-xTæn\9b×\rÎeÀMZàDQFÄ\9b»MEBê<C¡Ã¥f\1fBK|/Lwþ«\92eîîª]¹rxùжÛ÷''OOOQ#\91FU}\7f\82UõèÍ\99\rû\8dÛ¦÷yä®×yÚä®ÉÑ°Ójà\7fõÂà\8f¼®\9fÿÕ«\8c~W\82Î)\9fTÂ_\15t@AfH=þí\93üùò\9bû\9c\97y\9d®Ýõn¹.2÷¥ f|ø~üùúË÷?úà\93È\9dRÏí³T\92\ 2½p
-Q\15ÃTQfë\9d\94ø©h\1f4X_è¦ÚÕY\1e<!¥½N)@\9f»ª|·.(NªýJwuU6\19½kî4\9f{»ÍÉýv\1dµ¿:\89®\1f?>ä\14ï­Ó\9c\89Ë'\9f¸EôÝ/\87\80tmº\ç\12×Ǫl©¸\96ø`\9ft\1e\9cG}¾\8a²iiDÍ°hæ\13yïh\1c¹¿ª'iÛs¿Ê¥Tt\91ÓS7§\17\1fN_¯Gâk\9e²-¤÷H\86ôÃËNc®FîîX¯\8aò^W~(Ê´.üÂw&QÜ;|\eã +6ÛªnS\1a¹ióí\8bºÅÑ(r\1fë\9c\8d¯\1a\9bÍ\92*\97wÅý®öÍsW¬sí±C\ 3c\fH<ÏTu/ád©Vý0ÓÇ®eå6­7þ÷îü9T8\89ÜM\9bÖm\17\e\9e°\8dH[É?^y=Å<\aÃ\9a¶î\ 5\1e8\ 58^~¦ÅÚ\17´ôÞ5yÍ\16\16\15\87\16g^\aá\96rH\91Ó¾cweñËeë\82fxezþJì®®6\9cvgW7oÝíÝí=\7f\16åü\97þu¹Ð¿\92Ç·îêæ$yëò6\8b¢È(?t\8aÿÿànå\90;¿ã Â©Æ\9dUå?Zw[Õ\8fÿÔ l§Ñ\11ç\9bm]ýd¿-ëê©\910\8aÒéñ «\ f\17ÓfWäâg\91?I¿w\12/bäYN£uÚ\9aÝV\1aè@«éµDzíº®ØB\eN̦Zïä$WO\ f\96Ñh½Î4««¦qÍnYæ~»\1d,¥¹nòVK²Û\92ÙÛóË\eNÅ®\8c\ak¥oÂÚÞ\ 29@îêë¿?\7f½úvýÚ\e\1aè\7f\8a\9d]]\9c\9e_¾J
-ýò©ª3É°¦Wö7\87\96ß²ì-m±\ 3ßh\95\8bôÑ\b°»W\95L\1a6ùo%¤ü\97\15\9b1]V\8c1
-\94®2\19ÎLM\92Û¼:\14x\1d\8bݺ-¶ì>fX^ߥÙþL°Õ§LWÛu\95=ê¹rÈ B\9bNæhå\17½î5
-ø÷®È\1e9/¤x7Z¼PÓ\93ýïÒ¨÷uEáúbÜï\8a\95N\fku\14aõ¬h²]#ãõEºù¶\18¹o\f"?nÜ\9b¯ùFòrZ\96\fØ,\97\91\fù×;\9b\vÜoEÕ\9dÜÝ<\97Ùÿ\95&νaé»W~Ñ\9cg\95»¼Z¸\1dîm*\7f+ñ÷\89ïÇ13\93ýØVÜ}dØ_ÜÈa°bgRò\8c\rýª\82£\88\16¾$\14&@·{ÜUÍ\8cÖ®µ)Ãô\97´¼`>ÈÁx¹p×iÓ<UõÊýYfõóV¯P4\97\ e\\91>ù4Û\8f»w¢G?\r3ðì}pÄw\80ÙlÄ­\11Bïs\7f.\8eþ>ú/\18(\0Îendstream
-endobj
-1388 0 obj<</Type/Page/Parent 1367 0 R/Contents 1389 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 380 0 R>>endobj
-1389 0 obj<</Filter/FlateDecode/Length 3545      >>stream
-x\ 1\8d\9a[o\e×\15\85ßý+ÎSÑ>\98æýR (ä\\1a\17±ãÆJÓ·\82"G\12c^\94á0¶þ}¿µ\ fg΢\94\ 6F\ 17Kkö}\9f\8côë\8bAêó¿A\9a\rÓh\9a\17ý^\9f\9ftÿüø\8f\17óyo\92¦ói¯\9fvi0\9eö\86g´M\1fÎälØ\9b\8b\1cMD\ 6\12é\18v:ê\r\9c5\f»\18\86wi8ê÷\16&\9b}\9a,zS\99íÏ0?\r\14f\rËl\9f§\8c5\8câþü\92íË\v\82\1c£x4V8\ 1¤×à.\8d'ÊJÇ\19Ü¥Å\1cqãBÍh\84²\1d1È×\0Òip\97f\v\19ï8\83\841\9cÊ`G:\86%x\17u\f;\eôf.kXìB¹-\9a\r+A\ 3%¨c\1dÃ\8e\a´\85±\86aÑD\ 2\8b¬a²;\8c4ul®é\90ÞSMI(f\ 3EM\rÃÎ'2Û±Y´?Í]È£\90\81$\1aäd1B_ÖÛO\19µz[\f;\1dà°±\86aѱpÖ0Á\8eÔÀEÖ1ì|Ð\e\19\9b\9d\9a÷£Ï\ 6t÷8M\ 2\85S\861Kµ¦Î\1a\96S³KÖ°êÓ§òE³cXº\86\80\8ea\17\93KYê\9e\ e_\91\93£ój¬aØÉL©êì:\86Å\ e©êØ\9c*\ e\8a\8eÏ`¤\86\9b\ 4Ê©*X©\9aÈla\r+U\13\99-¬aÂ\1dÊBa³ÙÉ8·ãp@oM\ 2\85YÃ(f¤àTa\rË)\9d\ 2c\rcv ®-l6Kºb \ eÆ\1cúI 0k\18Åü\9c¶)¬a9\15ýXXð¤\17³\855,6ralÁ¸ÌÌ$Ë\1d\9b]&}qÀ\98St\ \9c©\82åÔè\925\fKf¨|\91\ 2\r/XÇ°d\9fdt²Ù)ò¥A>ìë\82\9a\ 4\92S\8eÅF\81\8c-X\8aÃla\rÃNu;\9afô2C\88dt²\8euH"\19\855¬C¢1f²\86\90k\1eë\8e\990«»;&\ 3EKÃ\13ü\99\9c\81\0â\froé\8a)\9cAjC\92\13t\f;\98©6\855\f;\19\1a\86]ÄÐ-²\86I0mF];Ö±\8a£\9bÍXÃ*N\9cË"k\18\96\rÃ#rL\82\87ã\vÍ\8ea\19,m¾\95FÇì\ 6\83Ñ\85ÏÑ\8bcþ-7[F\12Í7]ÇÆÍVØ,:\eçq\107Û8\90D3É\1d\15\a\8f>\9a¤q ÐkX%Ðì3Ö0,Çpì¬a\12E\ 2§Æ:V     4I\8afÇ*Á¥W\8ea\99:3\975\9cKà^åpÇÚ\1ap\99~Ä©@\11®aر\ e­±\86s2P\dIF\8bs2pª°1£2\86],ºgîa\ 2\1ai
-\16YÇ°t\9c{\95\ 3\8a¥\19Å\ 3µã8P®_Á°Ã\89²\Xðì\1eCg\rÃ\8e5½MÖ0,\87bá¬a±\9a\85&k\98\80è\f\97u¬dè\ 6*²1£ÆLq\1d\83ÙT\92\ 1\14­Á]\9a/ÔÉ\1dg\90\19¥¹W8\838ËBHö;AÇ°\13mõÆ\1a\86]\8c/dsm¸éò\8bM\9c\8f@Q\e\96VTµì8Z±°\86¥¸¯\f\16Ö°r¤\9d²°\8eaÑD&:YÇ°s\8d¨Â\86ËÚ\9eb\1c\84\8b\19\15\97;6\4Öpë²±ár+\9b],¬ãÖec#\84N\96ñ¶\88\ro\9aäUvy>$\9b\98å\85`ÂÍ&\14.\e\86\8d]¼°Y4Ú\11r ]u\14(D\rÃ\8eô\92g¬a<f9ÐÛ¯\1a½øDsÄ´fÑ\83\f\94}*X\8agøj¬aXv~\9c\861;вSØ\1c\ fs*\1a.¦Ù(P\985,³C%ª°\86aYô0[XÃrj~Áf³±ÌC\ eõ\96\94\1cmÁ°\?x\1cÏ\ 6k\18\96&q6+f»\8dÒòÿ\90\81$\1a£`ÔϯÄqö3\10gð<
-
-\17£ \95\8b³_8\83xCv©LX\b_\rÃ2ð©ja\r+\12\9dîÂF$CÂË\r¡M+£PÌ\9eÐbD鬾³\86e¶<\e²\86eV\8do\9a\r«]Æ\fÓÂ:Ö©Ó[\84±\86a¹ÁFÆæ\80Ès´Ztø0P\ eH\1d\9e1NÅúe¬aØù\88F4Ö0f\99[\98í4;\86\8d½¡°Ù)<ÍË\8c\96
\9dçÄ`P0f\99ó\vg\rÃ\8e44MÖ0,Ûð\85¬aØ\98t&k\18\97y»p¯\1cÃæZw>;\86\9diÙ7Í\ 1É\81\8e\aí7\8d\84äÁg\10\97\ 6\91ÅxRõa\9eâ\ 3\83&^\87\99]ô[ (\9ea\89ê\10\18kX\99Ð\141Ö0þöõúQXÇÊ\84^l\8c5\fËw\ 5·ËÕ\8a*\ eJ\1c ø¸\91\91\ÎdÔ\17\9f¸»\91\f\94\9b±`X¾,Ò\9a\855\f\9b\9b¯°\86ay« o\855\8cÇ\9c.âéXÇ°S-+Æ\1a\86åÆu\9f# üY¦\r\12PÇréÌqMKc°\86\15\90ÖEc\rc\96\ 2\r\8du\f˦8qÖ0,ï°\vg\r+ Ý}Å®c¶r\16\9bÃe\15És~&³\81" Þ\ 3[L@q\85\ekX\ 1\8d\15n'ë\186®&c\rÃr¡Ì\Ö0l\Á&k\18\96ÉC¸Å®aÂ%\82\81±\8eaGº×\8a¬cX®+ÊÛivÌ["\eZ\9b\eåÊ1,k¸Û¥Õq\92O\7fùØkïÎH¢¹\ 6\93ó\væ`@-\ 6\81r\r
\ 6Ü9X-¬aXî\1c¬\16Ö°j ©SXǪ\81>\1f\18k\18\969;uÖ0ìL\9f\94LÖ0y¤Öä±óÊ1,Õt»\8eaI\9cGä8¿©S¿N³ÞÜ[¬\1a\8c/¼Êi¦µâÞäS\ 3\8a\ 3Eù¢Ö|\9eÔý\85û$*\808\83ä8\ 6`!\1d«>Z£\8c5\fË\80 ÖN±c²È+$9îXÇ°¬Ód±°\86U\9fÁ\85fÇ°üJÃí:V}¢9;Í9OÜ[1\12XN1\e(ÚÑ°Â\8dò\14Ö0,£õBÖ°\ 2Ò:U4;\86åÓ\16.w\9a\1dã2_æ¨^Ç:Î\ 1Q\84Â\12`k      \96\8bÞ5;\86eßá¤\16YÃj8\9dàÂæTÅ('Ü<-\ 3å\93\eÓ³es½
-kX\89Ôý6(¬aX>KÒ\19\855Lªr2:Ö1,[\ 3g³°\86U\84¹\12YXðL1÷Ê1l\9e´\9dl$\83\89\93×\ 4µM\80Ò5-\17\85+P-££×q¡\92ã\97ßâ¥2@QÙr¡£p\ 5*yêÑÂ\15H\bá|Ç\19ÌÁO\8a\¸2=¿\9dóvÆï¨\ 4Â\95\ 2UI¹[¸\ 2á¸\0\15\889v\18~íØê4(W\16Ü\8f\1d\17®pÒâ|ò\16Ç/r\ 4²+\1dTäñY·ã
-\84\8bõªÈ\15\889¾NécüY§A8âá\v\15\bGCè\17\0­\\81\9c+F³~±pæ\f±\90ñåºå"<¶þ¸*#¼\0\96\8bx
-W`\e^á"¼³\\8e§ã\f¶á\15.Âkåør«¯\1f8&_\86\ 5*<-l\1dg\10\8e\en^8zSo!ù\98ptyÇ\12\88ð
-$\84\18È\85+\10\ 1\16®@¸x\93.\\81\84\17_\95;ΠB¿ðÅ \|&-r\ 5ªzúxÓq¯¯_¼ú\96a5H×·ú»\84é|\96®×ñ7       ýt½ú3\1f²{é;©\ fëÓªÙ\1cö\7f¹þåE?½¤?\86<\b?\84ß=\1cêf¹oÒ»CS\1dÓÕÍáÔ¤\ fÕêTo\9aÇg\12£^º¾¯Òqwó°<\1e?­ÓW\87Ýn¹_ëÁ\97øÐ)\7fó\86'\1f\1fªt¸M\9bý±Yn·ËÖ\aþ\80¢{nÚKß\1d>¥æ\80¦ýíæîTWéÃrw³LËcZ¦w×ãô¾Þì\96õcúú°[nöz\8e\90¶Ûª\96ÑK]\ 4ü¾®êê×Óæ¸iªôcµ\oöwOÂà/3zéõrõñ®>\9c²ï\96\16jÓë\9cA85\ 4\9c]ú]\ f^^È\8e\91­+BEðíru¿ÙWéº>\1d\9btµZa­!ªý:ýó°Ùë\91¯¶\9bJ?#~\99É\ 6\9e¹;\91C»ÝaOt\87\9bmµËJ¾©ëC}|ö4)ýðxlª]z\7fØnV\eª*\93\88Þn¶U<\7féó¬\97~¾_6é\80\vuº¯¶\ fiµÜ§7é®jþþLý¼÷¤\12éöP§\9f7ûõáÓ1->¿zû\8dd.M,\10úáíÕ\9bwÿýê\87w×?þð}¯ùܤ¿vbï®\9f*ýSÎy¨ò"ãì¹a®VMn\12\95òôðD\ 1ýAãÑBïi©íã¹\82]ó¬-×\97꿬\87Xðÿ \87¸\rÎ9ýõ´Ünn£\ 6¿ã \15UÙ÷UóéP\7f\8c\{ÞøhJå)En¿\9b\8apþ_°O\vÅF\943µ>PÉcÕ$R´<kzýõWÙ\98\87Naíä]}ý!­ó\89ÛU»\9bç§\8dÛIã%\8ev{LâäÕÕ:=P\92å\1d\9d§ÞøººÙ,\9fN\1f\8f/\14ÿ±Z\7f·l\9eö\14\17`\9c\8a\az:ûý¤SÙª  ¨j\bûñpªÓ«ªY½úXßLz+&ͳ\87uÆtp«¨Èê°{85´Ð2\9fÚçÖ9e×\15Ç:t\1f«ú7\1e&˧\87g\9aéX=©\1c}Ú4÷\1a\9e«8öÏ\95R\82\18ÃÁxm8?V\eMÅ?¬\r¿»îu3\86þ)Ç+<ȪXÕ\9føÊ\85ÛÙab´gzØçOÝòhz6=ø6¯N\7fL\e\86Ø=ÿÜT\8dòÖÜcöx¾FÒßøOe(7Ýå=ÁEñÃ\83®\86å6©2º\ 3~÷ªà£\93®³êN´Æë\87ÎÃó\ 1\ 4Gx
-Í3\8849¹º«öëå\93°¡\88ûÝr§\vãxØ\9eäM\1e\1e\ fº\8f~Úo>¿ú~³?}N\1cÓm¾ìlê#O\12B¾.òÜ_§#GA\19g\10\96\18\9e;BÏj¼ÝÔ\fS\ 5y{ÚÇÝ\9dgø}¾*×ÕÃöð\988z\\ 61Üù\89\ 2\13ìDORðÄB\97\9aK÷i~ó¯+Û!êraº­P{%ê|\1f«jÇÅr$eçê<Û5H\11\a\86é»ÚâÖa\9fûè¢>Tç§woþ\93ÞWõnsÔCéõæ|]¶\9dH\1fs\8dÊ\14ª´\ 5¤ï7Ç&\94\85\7foªOJ¡.¿\15íx'\10&\1e:\13ª\91~¬)\8cò.òõf¹=Ü\85\14ï¤Ýõó\eê\93nÔ"\85Ëí\84=Þ/ëêIòy¥¥OZ·Bôði_ÕÇûÍÓ©¡OSO\1f­ÓzSW«æÀ.d\11<7¢j\1eÖ\9bÛGE\96Í|±,UÒ\19«\97Ñuù<)9ô\1aýU¯Ïch\95GånyüȬ¯9:È<\e\ eDÁðû\12}áå²iêÍ\rc7í\96\ f\ f8¯Ð^^\14\96ôSù\98\11
-îýÕÛ¸aÖtA\16]'\14¤\15KUÍÊù\88¦=÷Ð:-OD±o6«n´¼úV_L´;kÿïÏy]\9cÇ^üáêíë+­K¿\90læÞê´C²\93\97==þrÖ_h\8f¾ºÁ8ù\92·cýyØ|Ì\9f
-C\8cô\93o®_üëÅÿ\0\9b\r\ 1ñendstream
-endobj
-1390 0 obj<</Type/Page/Parent 1367 0 R/Contents 1391 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 432 0 R>>endobj
-1391 0 obj<</Filter/FlateDecode/Length 2338      >>stream
-x\ 1}YËrÛÆ\12Ýë+fw\93\85\1fKù!GUVì\98t\9c-\ 4B\12\12\12À\ 5@KÊ×ç\9c\1e\12Ó \95TªRut¦ß==\rúÿ\17\81ññ_`²ÐD©©v\17¾çã/óÿ¾~¼(bÏ7i\9eâÿ;\13\84©\97\1dÐÖ¬.4\ 6\e'^¡Y\85Áf\81\17)Ö*ÎB/§â8¥¨ Q¬ðÎ\84AìÅ\8aµ¢Iá¥\14\r
-\92\82DTa°yì%\9aU\18l\91À¼\92U\18\8c\9aã\82\87áY\f³yÆh\ 4Ъ\82;\ 3-©â\14\81\17(Rc:$é\9eÕjló\80`f\96y9b°q6ûG\974\ 6\9bf\v§4\ 6\9b\aL¢Ó¬ðÎD°\83&\98Yëd\14\94®`&\ 4ѬÍR\88&b\96
-\9cI\ 5H\96\1cD¬h&äs&­V\9f\7f\ 4\99\ 4$\ 5QRȤ\88lÉQ\92ÀXäÈÜ\97Â\ 4A\ 4\7f\12A$\89Ã\ 3¦Þ\13Va°y\ e\1dNÖZEæl ÌQ"\88\8a%Ð$aj\10h\8eJX@NAh\rRz$'\9d»±¯\ 2M\ 492d± \89ä¤&\11DRc°i\ 4Û\8aU\98Í\92Ðê,«1X$_kÖ\98Í\123gNVa°E¸°k\13!w\14\89H\98\b\ 1\92\b\açpfò\10ÎA2@U\91_Ç*\f£~¸P¬1Ø Ç`r²\1a\83\8dr:<kÖ\18\e­X\85Á¢ç\16²
-ãf í5k\eÆ\ flÃDì\8dDÐ\Ú\18­!£T\1aÜ"Gf±m
\14± cÝ}c1ëÎË¥X\85á0ì\15\8a\15\97â4°\r\15dÈ¢E¢Xa(NØv\8aU\18¬\\ eÇZÅ1o\fH\f\1f(\16$\8a\15¦Ç|7\14«0ËûîX«8J\ e·\8e/C,Èå)d\aÒª\90\82HJ'Æ~.IĤ\8f\8c\ 5ä\14\84 \,Gj\f\16µA0¢g¶\19É\18\a\89ª¦Æ"Gæ¡MCâC2\12äÈ\94c\8fFÙ,\91 \92\1a\83Å\1d\8b4«0r\84)\ 6ų¬Æ`q\9bµf\8dÁâY\r´¬Â\1cîÙ\82\95ìGÉñÁç\9bg\91uÙa¸\8c\8e
-Óe¾tNVc°6\8db\87\9a5\ 6\8b<jÍ\1a3 >°N³\94=\8aí*!u¶\80z\15\84Ã~Á<ÉI   Ga°Q\81Vs¬ÍDxX3¬¿\82(jILvéþ0¦¤ \92Ö!ß>\90ð\0\9c\80\83CG\b\93\10Äî5\93\1a3¿â\90c\15F\16BÎ<'«1Ø<\82k\8aU\18,Ü_È*\8c\96@ç£Ùf»\1asæ-íj\f\16áê\88$Oaa×\81\0ã2\86q¢9\89\9f|\8b\1c\897M^BÔÌǨ&"\19(\8cD¡£CÍ*\8c`\11\8e\96µ.¡Ã¤t\18\ 5\89b\85¡\18\7f\87bÇ*l\15§\8a¥¡#\ 6\8bE´Ð¬Â`£\14·ÃiÖ\18¬,\9d\8aU\18,r\8c4Î^i\8c
\9eæX\e.vY\99A\10J`\9cHÂU\98\rÇ\96U¬Â0ë³\93\1d«1\ 3âÀv¬5\8bþ\96A\r\83\88V\90ͲÃÌ2\17$Å*\f\16ëÆBVafJê7k¶f\83Ãr\15q&\84\82¬Y\87iVzʱ
-C1Ê\85bά(\ e\8aãbÆam\91(\96{<³)_\ 3Å*Ì4f\vVc°òH8Y\8dÁÂ\8b\i¶NI; \1e©\0¿xb[[\85ÁZ'\1c«0\93\9c¡PJVaæ\82Ë\97c5¦Ë̶b\15\ 6\8bG\ 1©\9aí\16\ 5UácÐîÔ\9c%\161\8f28\83Ä®H\ 5w\16\vÈ)\b\7f\91ph\95\93Ç\ 2\1c1X,.\88Ʊ
-\83Å\18\r4«°\8dU\9be¬GÌXùä9Í\1a\83E3jͶ<ña©\93\8d/\10$ñðj\ 4\187ö+\96WÀ"\89\19f\16y9\9e\15VaÄ\83ýo!«0|Â\e\a\8fÅ\ eem\8a±/ËW,Ë\10\b \87¯¾#d\8a¥è3©1\8dJ\ 1fÖªõíÒ&ûO @ÔÊu8püàÅå\98I\8d¡6ãXv¬dP¾7À% 8\ 1Ô*Tfw½@.º\80\99J¹$0\f~\82\b ¥ \83à÷ÕÌ\89F\f\ 1y\17äg\ 4\ 1"æ Äð\ 2òã \agkØ\1d¤¡¥n\ 2¬\18Ëzää3dæÄ\9a,nÔh\1f0T\99bo×\17o®Ñt\81YßóÇ\994ÏÌz#?Ìøf]ý\84\96\f<³*ww¥)Û\8dùruûóúÏ\vß\ÊÇîzÃ\13¡gÞ7ã44wû©Þ\98«ýôX·SS\95SÓµçÇ#\8fjÌ»®½o\1eö\83\9c2MkÆÝ\9d\8f\94¸Ä¯DÎ\ 4$~éÆ©i\1fLin\9bjèÆî~Z\18½n¶µY½\8cS½3ÓPצk­ÛÔv¢\f\11Ý´ðw_ÑÁñÜ^\f\ f\87\ 6!Ààjß÷Ý0\9d©\89\99\98\9bv\1aº\8dÕ#jtb°\9exË(ydy\ 2\91­\1fks³ëio4ë®Û\8eµX[\1e\84\9bò¡íÆæ\15\87\13Ô¨®öC3½\98mý£ÞÊ\99EØÉkþj\e¸P\9e¹í\86ÚTÝ®ßÖSm6õX\rMÏ,\99îÞ\8cç&\96uJ=ó­mî\e4Á§î\ 1©5wõôT×­ùÞ´\9bîi4¿®¥\8d¾ýzó\87Ù\8fÌ/\98;\90gùÅÒâ\99«;\94©¬Îò\91Ò×Óäë`p\19<óý±\9c\8eúQÐîG\83\80ÎÊ\84Å\9aíõ4\9füÞ\r\7f½v\fIfÛ\94Û­mYÞ\87E\13\9f\96\17?|xæS³k&\11\10\9dK'3i\90j\8b\9b²Ì'è/å8nîÌíËê·O¦ßî\1f\1a¹Q\8bÒbÃñÌÛ}³Ý ¡§N`ÿr]ø*\8fL}\93RôÛ\12MX?O¦\87Õ§nØ\8c¦\eLÝVÃKÏ\9b}üóY\ e±gxæc=É\8di»ö²ê¶û]k6åT\9aû¡Ã\9dD\97Oåݶ\16Ù\85ûù\1cå\1f·ÿ\1acþ_1æ\8cñÛX>¼¢½ÀÕ\98:Ü.\e\8e±ÿ\8d8Y\ fonËê±iksUUݾ\9d0\80î»a7\ f£²5\9fÞ_}Á¥\eê
-ò/ô{á6\9ev8¾\1fún\14³º²\18ÑÿÝ\9fø%\13~ÙÑÂÛBS«zøQ\ fg]\82ߪp´z¬wv\ 4\7f­mÿ\8d\8fMo¦N2ûõú\1d\16b?3p¦y>\84tÚ    X\87\16\9dp\18ëOÍô(\ e\9cU\15k)® ÍÏ(÷öãÐíûÑìÊ\16¹ÞaÈ\9fÛ@ÏΣ\887ddÒÿÕ#Ô^b\1fûºjÊ-¬L\87wd4¨ÇBúüNâ³Ç3\1f\9eK\8e+è¹¹6\1f0\90\9bÚÊ\96\vésO±pãþî\18\86U­Ë\8bÍÒüòùûú3\13P\8fã!Yc·\1f*NÈMm~4¥y÷û\8a\8aO$_y\19Tw@5¯äï«£j\14Q²äu\83\ßÅ\10\b¡LÒ\8e¬÷=ÛXÜ:   \a\eÔÁþ\1e¤\91[¸Ù\8cãÞN¼\85\83ò¦#ò¾\1c\9añø\0j\aåIÿÜo»Ê\ eÂ%ÇÎ\ 5SO¦\93§á¬.p\ 6-ûµ.QýæïÓËÁe\ f\ fMùl\9e1\19ÏãàÌ\84úèzs\8d\95\13ü*æçüw\9d\10\eÊO««Û·W\1cê\7fâz\9a÷]µg\1dåúRåe\80_Ïyü2ó\v\9e×/I\8c\9fìó<Æ?H\81\88yüÃúâ·\8b\7f\0\82°\16ÿendstream
-endobj
-1392 0 obj<</Type/Page/Parent 1367 0 R/Contents 1393 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 468 0 R>>endobj
-1393 0 obj<</Filter/FlateDecode/Length 1344      >>stream
-x\ 1mWËrÛF\10¼ó+ææä@\bÏ\ 5pJQRd«Ê\8a\15\91\8er\ 5Á\95\b\9b\ 4\18\0´¤¿OÏ,\88]>JUR5z{v¦wö¡ÿ&\ 1ùø       (\r)RTn'¾çãËøëéó$\8f=\9fT¦ð{KA\18\8064\9f¸\18l\12y\91Ã\1ai\1az\19K\83ÈËI       \12©\83ÁF)\a\1eY#MrO\894gR\90\91Z\fi\1c\91Ís/!\15+H@\861\93\82\16³4öR\875Ò(òB\91*&\ 5\19©Å,UÈͲF\1aÂ:;« gÖ\ 3+Uª\915R_\19\9b¢\8c\13\16$R\acÖÌGn\96\15i\92GƦ\90ÿ\1adfµ\18Ò$=b\8d\14ñ\8cM2T\90#=°\89º&#k¤*\1dlʽ\80\12AFj1fUì\88e\8d\9e\ 2\19H\A"u0'ìÃ\91IJ\11Ï\13óÇ-)vß\0VÆ9\ f\r¹B\b}6É &¥\97\92 \1e*U\1cF\90%ýÀÔ\12¤è\9dD\90IÈbÄ\8d\ 34\84e%n\9ceÎÎ0h\8c\e§ñ°¨l³A\12\98\vÍ0»Ã:xK!:8qX)5V\81\94\9añv4\80ã:\90màt-éb°0ë\88u0§Äýàh\1d\f6Kà¡e\8d\11qf\f\8eyûÄ\82¤V\a³\94×ƲF\1a%\83ý  ç$H¤\81Å\90Æ        ºÐ²F\8a\ 3IZ        ç\aR\12d\1c\98Ë       9°e\1d\f\87\1eË\9aÀ~6,\9d\ 4\12ä\ 4\8aO¨xdE\1aå\89éCÉÉ +\1dY,aF\ eë`d\9c§¨Ëa\1dÌ=ÁKkY\173\9bã\b±¬tL$½±¥\¡\9b\fà\9c\1c\88I\11\16\17\81\8c\14\92·i\84\12å8L$_A\96ÄÉ`ìçC>\12dJµø`¿e\8dK8¶å^\byCF\82Dê`\96ò­aY#E\81²Ñ£\90ó\15t\98õ\80!U¼9,k¤8bäÀ\8bø\96\88\ 4\19©Å<+\9f2\ eë`fù\84sY\8bÁÂR¬\8d\8dì`¬\r®\13x:²&)\7f¸q"ÞÕ\91 NJ\16\87;\ 5\9f32H2v0f\85kG¬\839c>a\1c­\83Áâ\bK\1cVr
-Óá>\92e7\88§5¤âã\81ã²Å¡ KÂ,±8à[:\14dIì é&\1cÀ\98S\90Tã`Ä\8dy\94Ã:\18l\1e\1c\17\93«;\85Û\84\16\92QYJ\8b\95¼b|Z\94¿aÛ§\1eÍ×E«iÛ¬t÷ûâÇħ)\1e !\ 62\9fyôµy¥\8dþ¥7çlîÑsµÒ´©j#\9e\1e«\ 3ߣ']¬¨-ÞÎÕA\0y[õú@\9fªÃA½kõª*ûª©/\ 4\89<zÐÛ¦ý m±ÛUõë\8511ªÜ4ot³©tÝ_(\13ç©\19\81b«úÒ\0å\rjê÷õåYàåÃ\aêíö\e\14\9e\8ffÞÿãÑl·Óõªz7fáa9²x¡ÐcÓöŲÚTý\a×pBì/\8fßÿeæÈ'¬\15r¿ùFßëêý´v<;=ºýë^dîÚD\1e<yÒ«/EO_«zÿ\ e°]¶E½ê§÷÷2ÉÑüì`±]\16\84\11ÔôkÝÒÍýÝ\9cJëèÉxäûP\94UÝ7Ýú0ì\8fÓübNþÛ<\1c¼=§\91þsU¯\9a·\8e^\9a\96\9e\9böçkÛìw²DG>à\15cÇ~Ê\93«Oyv\1e\ fë|\88\17úxÑÏuû«*5=\16åO
-ÏëÆø'½ÃÂ`Éézÿ*ó\1eU\8a\eߣûºo\9bÕ~ìÑ£Ìp\87{ôY׺-6TÕ/ÍiZ¸¾±Jz¹\1f6ÚYÿ%\\eæÐm\8d\10ºm\9böÂ\18ä:ëû¢\s®}C\ 5µû\9a{\95vmSêî\82\ 4]ýXôåzؽG\85\81»­\8a׺é8ÄG³o©\93\16èà\99\88\93ñ\17\8cp{N±\ f³®Ûow¼\97ÏÒÁ\9b×£\85îÎ7(®&ô__m6´.~Iyh\82åFwÒQWwÙpÈá\81ágx\v¥|Má\ 4\9bÏ\1e®gôØ6?tÙÓmSî·8\0\8aÃQ2\rð:gÁ4õs\1e?[v}[\94=\17\17ãE\96e1þ\r\ 4\91ð\97?\17\93¿'ÿ\ 3½Ú,fendstream
-endobj
-1394 0 obj<</Type/Page/Parent 1367 0 R/Contents 1395 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1395 0 obj<</Filter/FlateDecode/Length 113       >>stream
+1138 0 obj<</Type/Page/Parent 1119 0 R/Contents 1139 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 326 0 R>>endobj
+1139 0 obj<</Filter/FlateDecode/Length 2623      >>stream
+x\ 1\85YËrÛH\12¼ë+:|YM\84\ 5\11\0\9fs\99\95¬±G»ÖcD:tñ\ 5\ 4A  6\ 1pñ°¬¿ßÌj »H+bb#FNfWuVuuU\93û¿\93Ð\8cð¿ÐÌ"\13OMZ\9c\8c\82\11>qÿyøt\12\86q05\93Å4\18\99ÂDá,\98÷hg\96\o&ó\b\9f\15f6\rÆ= 5\9f\a±ãÂÙ\98v²ÒÙÅ´.L8    ¹R\10\19OÇÂ\8d'AÔ\ 3R
+\16f1\ fBÅÅT8\9e\8cDËd\8a?\16ÐNÁÂLÅN\16Êv\1eÂçÂ9!§ t\86s\8aq\86\1a\83\8d\17\88
+\83Er\16\8a\9dEÜ'\9e!µØt\8c?\16Ȧ\1erS\ 6äI\8d¹i\14L4«0Øé\88\9bÊ.tl7\8dÆÈ/ÈÑ\82¤ \92\1a\83\8d¦L®g\15¦ãCÖ:\ eC¤§08wH\12@¿
+rÓ\88\9b:Rc°cɾg\15æ¦\8b\ 3Dzi\8c"\90\1a\1a\85pl\91\8dÆc\98âäBÍ*\f6\9e#ÿÊVaT<<Ç\8aÕ\18lÄãñ¶VÔ\9cÅ\8es\1dÑR\05)HIñ\ 1©1Øq\8cX½©Æ`q®Ú±Æ`qÉFÚVa
+\8e\99('Ê
+\9e\85R\88áhÆm\ 5Ù,z\fÇ0E\9e<«0%/\ eY\85)yÎm½­Â`Ñ]p>\8eµ¢&s)Ôù\8cÁ
+\90\10\86hG\10ìH\8dÁÆq0Ó¬Â\94ÄÞ¢l\15æ±\8b`çYcf1b°\9eU\18,ÚÔ\ 1«0ØÙ\84%ãlm°ÒÙpy$:\ 1\9ec\9d"\13\8eÔ\98á°\9b*Va°è?\bÖÛ*\fv1ãéxVa\ 6;áé8Ö
+F§áų\82\ 5xÁ=×\vt¤Æ\14\1c2\ f\9eU\98\82GÜÔ³
+[Á\bÖ³\10<`
+f+ö¬Æ`§ìA\8aU\18,Z>ÎÎyÖ¸Àç1ÓèX\8dÁ"å¨7Ï*\f\16wN{Ö¸\90\9e¨mm\92ѧ¤\91
+`\92\17\1e"\15£17u¤Æ`ÑüÇ\9aU\18,¦,®\8f·U\98I\9eR°ceÀÆ#Ö6\86=g¡\ 5\94¤ \f#i¾²\92¤Æ\94$9ô¬ÂV\126u¬ä!ZDvf\85cìj\918V\98ÛN\10\8db\15¦ãÅ\81­u<ã\87 ­#AÊñÀbäñg\15¦cÖ±b\15\ 6»`\9f÷¬Ý\16óÓN-ÎàH\90l+3Ùb\98\f<kM'ö±Õ+\16¤\14\ f,.ëÔD\9eU\18\8eç!ÒéYë\18ï\15\1e,G2L\ 5YM\1e\83\r§ÔäY\85Áâ½p`«0ØI\8c¨\95­Â`ç,\vÏZQxvØÇ\8a\88\10¤D\r¬\15áY\85á\18ç\ 1Ç\9eU\18,öÁÙzVa\8aâxW¬Âè\15È/\ 2r¶V2\ 6»\94\94Í£ %y`­DÏ*ì${ÖJ\1el­DÏ*ì${ÖJîm)\16ççX+yÔ?Ä1þQ\17\82¬d\8fá\18ã\aÅêY\85ÁâN Ë\9eU\98\ 1Å\87\9e\15\ 6\8b\9b\853ð¶
+#ËatàY$\87s>ða*\8dÂ"+\99\85ïXt»°GÂ*Lɼ\9aÊVa°s>F\15«0D¡ÅÍ\14kEÍø@»\8fW4\14À]\15\84[<\18\91\1a\83\9dòÊ+Vaf\82¯BÏÚM1d\86÷<L\ 5ÙLp\bZÌX'XåYéåáx&¥\8a\ 1\88\95\ 2h© ¼a\11§ãð\86\1d cá©zRcÆÂç\8ab\15\ 6\8b/\848\1açXcD\8aË\83H\1d«1X\e\8cg\15Æ\9cE\1dé}5\ 6\eñÅè=Û\1cÆöÛ&\ f\ 3¦\82\98  KÊ\13\1f/\9d\ 5\ 5\v § ¢Á\9eÈ\84#5\ 6\8bË\8d3÷¬Â`ÑæQh\9eU\98\99\90,:Vcf\82_+½­\15\8ckÌ2´
+\ 5xÁ=×\vt¤ÆN°g­àÁÖ
+ô¬Â°E¹£D<«0\ 4#\10\bv¬Æ`1£\91FÇJ8øvÌú\96häß.\98\9e±Ú\1d¥ ÔD|A9N\1cbúÉ÷TÞ\bù·8t\bF\18ÃSO)H\87<-g¦ 8Ì\ 3åRAp¨÷\99²ó\10\9c¼\11¼O\ fíù/¼\9dý\1aÒG\10\8dÙ\91\9d\9d\82L%\8fÁs\1e\82ÃH\b\15ç!ï\aÇ\97³S\10\1cº\91\8aO\92\89\97\fÞß3þ°22L¦G\b\ e×tâ)\ 5\99\14ögg&Mib¿;£Aâ7!þ\9b\ e=\92î:ñ\fª«Gp\87»2ó\94\82ààk¡8\ f\99ãéà\84\9b)\bÎþà5\bQ\10\9c¼\ 3½HùM§ÿ&-e2&\10ýòP°ßgÙ\rðj  ¥ \93\15#bÏyÈdq¬xÎCªäN\8e»\\9d\9c\7fä¬6«-~ß\9bÎæfµ\91\9fõðIzz±nÚ:IÛßVß°\ e\9d)´ëÎà ÂÊÓÏIÓ\9a/ûMÒfv\r.¥¬95¿\9bÇlcþ\93\94È(¹\919\93÷\ f¬VÏycÖUõÝàobÒj·ËÒ6¯JSmÍ_w\8f«;|¼ÙÀ¼­Ì2)Ö\89ÙTiWde\9bØe?²Ú´Ï\99\92º     ÌµiëW.Îʦ«3PIk\92Ý®ßW\1e1Ø7\ 1\95vu\r?ïͺkMS\15Y\9b\17Y#ÎDÌ.©\9fàü[µ¦\17(*3³Ïê\ 6âRÀ"É!"/\ 3³ÂöE\85ðë,\85C\ 3IM\1fB\8bø\8e\1eô\8b\93uf¶UWn\fT>·íþ÷óó\97\97\97 a¤AU?\9dcWQôîJ\87ýÎì\93§,0÷»,i2ÓdðÐIî¡¿:Úð[Vׯÿv.M\85\98²]\91Õþ³à­c\19\84ÚD#%\9b\1c5\90#[8\ e\13ÿéö\8bù\94\95Y\9dìÌ}·Þå©ù\9c#\ fÐõõôÓý篿¹\84D\81¹À\19ï_yº8´#¡0\153l\95\97é®ã±¿äí³$À\1e~Suu\9ay%H³óÉCqù¬Ê³]\8e\ 3K¤bQqÃÉ«,o\9b­ä¸ß·9\7fÚï\82öç`1Ôè\87ç\f\aú\1eIC\1e)ùü#\86\95«\7f~Û`%'ë]Ƹ>Te\8b*\90c?¸)\83\82ëÀå+/\9b\16Å)\19¦gü î\84þU½°\8e¯í\12\93à\88W\19\8alyqsyq¼ø!KpEX\87H\ 2kã¸ê.»|·ÉË'Yt\99\97I\9dÛ5g*7,dÈ1y±¯ê6A)7m¶?:¥\ fu\86;.~\9ab\8dã,·ùSWÛ*Ùæ»l(¦!^Qý\8a\83ë×\1a.\92\83=Læ©i\11ß>©\vûùÐd´Âe\9bÔí\10\ 6¶ÇÅA^JüãHå
+]`\87zuk\9fqåÑK~$ùÎ\9eTiDS\93Õ¸¯´ÖûÐ\1c\91\95lFH\9a«Â®Ì\7f\9at\97ã\80ßØPYlëª@C»º[¾7\8fÛÇ'ü7/\17?åÏíJþDßß\9b»åyôÞdm\1a\ 4ÁÛ~\1fÙÀ®·h2\10Ò\98«ªüWk\1e«úû\1f¢YWÌu±¯«\1f¸4ëºzi¨;/\8dÜ{.Õ+ï\10ò\8f<{a½\ e\8b\8fâ¹\1c|4Ý\9eÕpàKÕÌ}]¡ð\vô¾¦ÚuìÉ¢K­p\9e\92´®\9aÆ4ݺÌìýP«\96Y+©îöHÛãõí\12]m8\99·\979¿\88\12&w\ fÿýôp÷åþ(\ eå÷ÐàêîæâúöXìǪN\999I\eï\1f:\8a½W¸
+R&JÌMò]­ÅåÙT\9c
\84o,¾­pk\92u\85a³®«d\93r`b¶!qÍ/×õ¦Ûµù\1e×\ 43&«·IÚ_V}\88\7fwyúÝ|\90\9c.%§ÆExÞ\7fÎByª+$ÕQO]¾\91Ϋ}]åMÚ5\9cZÇ    ù\82>n»µy÷\90\15\fâ¢,1³Ò\8cS¨N07\7f\e\7ff\96¯eú\8fv<þ£c¼ªÌíÝÊtPSTv®Û\89üõ4Ä\84Aá·\15^\ f\1c\977KÞµ\r®\0\ e"ŵùµÑÝBµyp\15kîjL3\89\'åsRÞ \9d²ÃÜ®Ì}Ò4/U½1\7f\96iýº\97×\aÎZæ\12MµåuÙÖÕ¦\93\97ÌQ ¸¤}oeA4æB*b\99á5\92·ýxÁ/\ 12^Îðÿ±\9eá\87i\19\ 5\ f4ó1Þi\98<\11wøsuò÷Éÿ\ 1¤+öZendstream
+endobj
+1140 0 obj<</Type/Page/Parent 1119 0 R/Contents 1141 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 378 0 R>>endobj
+1141 0 obj<</Filter/FlateDecode/Length 3534      >>stream
+x\ 1¥Z]oÛH\12|÷¯\98§ÃîC\1cJ\14õqÀáà$»·>l\9c\¬½½\87\ 5\ e´DÛÜH¢\96¢Öñ¿¿ª\1erº¤$@\80C\0#¥b÷ô×ôôPúãb\14\e\85Ù8äÓ°Ú^d\97\19>I\7f>üãb6¾ÌÂt>Åßm\98Ï/\8b\1elÂí\85Àm\18MF\97\13!\15\83\9d/.se³ËQ\98\1cjóÉå¸\aT+p\e&\ 5\97´\aÉ Ü\86Å\9c+&.§\91Óbq9\85ÎbFÎ\0å\ 4nÃl\8aG\9c\13\bC³"i¡ b:9>\11U\fv:¥WiQÅ\fAqb\92âm\18\8f\16\97\v\91U\f\16¾Í\94\15\fv2?±Y1ØbÊÐ'«\14\83]\14'\9ac\10'S\98\8a N\91\9f©\ 1\v¢Ã-rI_\13'\10®\8e,k\89TÌ \9e\8a*f\103\1aä²\82ÉÎ\19&a\1d\83]dL\8f³\82\19DT¶°\8aÁB3ª0É*F\89\8e¬\9e\12\e·E\9eC\ 4Ë\8e\19®©!«\19Á4¹`\14\13\eEÇ´\85¢F\1a¢h$3\ 6:\91\86¢^{x`Q\8bpÇYÁ\90\9dM\18Fg\ 5ÃÙÑ\98aL¬b\86bÌÜ&Ö\8c*\16¹m¬Ñh\ 42"3J0\96\b\85°\82\1c¥(¬`,;f\aqV1Ø        ëBXÁ`±\89Od\ 53{Ùɺ\8aÁbÝ©hV\f6\9f!\19¾®b°X'\136\86j\9eÁ\18¸\8bÐÀdCC¨\ 6ÌP±\r   +\98¡*\90!a\ 5ÃÝ\8c;ÞÙ¸ìt\16Ë1\e£g\16\86lYÁP\1cãæ¬`°ØmPì¬`°\8b\19MNl\¶\98@\ 4ݸÀê\85\ 1®*\10\82\b±\92\8ai\12«ÑE\15Ó¤\11ÝI\8a\15\93\9d\9dÊ
+\ 6\8bc\a\ 6'Ùh0<¶í\95qO\17\86b\9c\1cÓ¨É)+\98ËZ\9c\V0Ó\93s\8f$V1ØÜ"\95ØhÔ\98¡¥Å9½5dF        \8eþ RÂòÔ\88\98\8as&/±\8aÁN\16Ì\81³\82ÁÎÍyg\ 5s\8bX0\12«\98[\84g\88kV\f\16\8d\15avYÛ1#*ìO\98Â\0½µ\ 3'Âþ\84qÎN\98\81ÃY\8a(%9\816\16 
+\89Ã\940@\ 4\10M\r\1d(\91\8aÁZ\v\15V0\83\9f1\80.+\18\ 1\1c/èfb\153øÖ½\9c\15\1cS3ØÈ00U\ 3fjF    \19+\18á\1då\f~Ò¬\98Áçl%¬`\f\fjs¬Ä\8c{\15îÚ)V\18²J\14\fÖN5gMt\82\89ÐOµ\88(\1aI\9c@ÜvÖ\18&\ 6È   \84VTÒ"8©\18,¶àHYÁ`çc¤Vd\ 5#\88\88³\8a\99\80âDV1Xë@"+\18!ÆĨVEgñ\b·3\ 6\10ØdÀ\9cu\b\83ÇÜ®N*f(¦H\83°\82c(&ÊZw\8aO3\14¬T\91\15\fwF<\85\9dU\fvvjUt\a#\e·ë\82\ 3ûÄ\80¹ã\10\8bbk!Â\89T\fÖ&\ ea\ 5\83Ew@Þ]V0X\-fÊ
+&Ë\1e\82Á¢
+¦Ê
+f(xò¸¬M¿\13ëÏè?V\8b\ 6è¬@\!x\13\8a\ f\92\13\88[\12guç\ 4Â\9c\8c\a\92\93\8aé
\bÂ
+¦+\9cÀ\9c\8d\99\19s
+\ 4\89\ 6\80\94\e¢E\8aÁbô\85bg\ 5\83\9d±Á\b+\981â$é¬b°Ð\84bJ\9a\15\83EÐtÝh2\86\17;\7f£É\86Ää\81\8d&:+8\99ìl4¹\97íML¬âd²³Ñ\85A\16\978D9±fr\8e.e§3Ò\97\87\88ÌdÁ0Ê\8e\vg£(
+ζ\ e\aÔÜ\0%\17\ e!\88Ë\9f\92\8aÁBh!¢Qí\94§9Hôg\90\86¢E\8e©\98W-a\ 5\83Å\9c\8fe]V0Â\94qÄq6.\8b\13Ú\86=f=7`Þ8ä¢ù  ©\18ì\84\ 3\8e\8b*¦I\8b\136.\8a¸Æ\81\8dCCn(úê\18¢8\9f૳\82ÁZ\818\e\15ã̶.=£¤\ 1êµ.\90\8f\98¡¾\vD@κÀÀÙ¶wN`ß\ 5\9c³.0È\8dP]pÄV\88\8e8f\84¸\95\85\15\fÖJÈÙè\b\ 6ÎX\r|{\91\e\8a\8a\1dC\14Ù\9f++\18,:Ý\89¬`°8\16\10#×,\18ì\82g»°\82QIèæHy\92U\f\16îéºæÐ\18\a§µ5+ï\88¢C,ïÄÚµBXÁ0
+³NÞ?k²\82Áâj\90)+\98=\82ã\82k\8eFá²g\13\8cq\ 6¨wá\10jaðÔ®£ó0\18<`°¸èä$ª\18,ο\99²\82ÁZ\ 5\8b¬`îÖùɺ\8aÁZ¦]V1XÜ\8fà¬[Å\89r<\8d÷ý\82\9d/\ 2ú#\10&A-ܱ'IÚÆ\19\17ñök3y\ 4ä\ 4B\10\83'ÒhOÆ(9f\1cØd\84\15\fÖ^;
++\98\9erôqV1Xt\a]7¦\157üaóÀUC4*\92¸ùXÃ\9b1&\ 6Èá"<@ÚËúvR1Ø\82»NXÁ`q_\85¯I±búÊÙFXÁÑ\eø\9adéÝ\80ÁÎø2ÌÙè\ eÂc%lö\epwz\8eS\bLJ¤bºÃ\8bª°\82ipÆP¸¬à\98\1c\84-±üß\80Á\8eyX      +\98îðZ"¬`\fá\98¥u]s6¾®è§Ö\bÌY\9e&\ 3Ç1»è\11IÅpgÆ\ 3ÂE\15\83ÅÕrÐd²\82é,sç²\8aÁ¢Á\8c\95\15\f\16[*WV0X\8cá'¬`^\bÙ\81|]ż\102¹Â
\85\90\1dÈYÅ`q"èº\8aÁâ\82®\9ac
+æñ\9eoÇßÈ\0#%\10aÄÁ\8b0&R1Xl\10,ê¬`\84ÂÞm9«\18\ 3¸\93d\15\83µQAXÁ`Ñ\14G*+\18ì\82§\87È
+F\90\91L]W1X´\võH1Xkg®Y1\82\8c÷\ 6(\9bäQ\f²m\ 5\ 6\92#\vÏ\89±\9d\8eÙ~ØÀp\a\85I\ 6\98\ 1\81\10ÄÄ\86RM¤b°x­\84ü8+\18lÁû¢°\82ÁbÎE\14]V0¢\88ë\17"\91XÅÌ\8f\95ª³\82Áb\ eÒu\15#\8a¸\94c['Ù\18'L\1aq\8ed£á\985\9cÑ\8ea2¦\15\18å¬`°\88.\96uV0Ýå /¬`\98\8c\12B\ e\92¬b:4:YW1X\9c8pÈe\ 5Ã]{    ä¬b°Å©fÅ,8«\9a¤9\86
+\15l\93±õJ\ 3¬\1a»ÿ\8fzn\94Ù\ eI¤â\18F\ 4ÊY\84qÀ`q\v@M9+\18,B\810:+\98\v\17a\ 5#P\183UV1Xì     \95U\f6¶Ù´n\f\ 5\86\1c^\ 48´CÔ\90u{Á`q
+c\v9+\18,¦ed/±Q1j4Î\1d¦Ø\90(\1eبÈYÁP\8ci\ 5Þ:+\18¬\9d¾Â
+f,øu\92³f\142ls7¾ï\1aóuO\16§X\87\\93#\91s\ eÁaT\9b
\90Öð0u9\87°\ 5å·pÎLÁuÊv+fæ\ 5_¸ô\9bÕ!\97ãÛ\1dç\1c\82Ãæ\9f\vç\10Ëán+r\ 2\19\16\9e½I§@p6ê:ç\10\1c\1a·Ø)\10{\fo¬Ä\16s\ f\a¯½R0\7f\f\1d\ eî9gî\r\8fs\ e\a÷\12\17Ýëå¢?Î\99·\ 3\87\81\9c_`Ã0ÚÂ)º\87Ð\89\e\19¾ÆL\9c\97³P\12\8e\87k0Ïvû?5:\82\92\18_\92ð\15\84\10\1c^Éð\e\85\81s\b\ eÍ\80ßc\f\9cCpñe\7fâ\1cÂ\81üÄ\14\81Ì\1dï\ 5I§@æ.~oÒ¯g¹\83*yùB`.Äw1=gwQ{Ð8\870\13Û\ 2\17âAÎTâì¶\8d\877i\18\82     ¢X\82ô\9c\e(q¯\96\17/\7fĤ7
+Ë{þ\84c:\9f\85åÚ~¾\91\85åê»åc\15\ eÛ»}y8<­Ãëf»-wëï\97¿_¼ÀÃ/pb\8cñøw××\97aù¼¯Bs\1fêÝ¡+7\9b²«\9b\1d\1fÄ\8fBÒs¿\1cª6@A¸},[(®VǶî\9eæú³Ú\84ß¾»oZ|ØþYµ\87°k:è
+eX7Û²Þýö=\95e®ë§æ)t\rLÚÝ×\ fGh»-·we(\ f\10¹YNÂû¶Þ\96ísxcâ|®k\9bͦjÏ\8dzßVmõDZ>Ô]\15>TåºÞ=\9c­õª\}|h\9bct]\8c\18V\87\10ªhÃ\17\97T©¶Bx ò¶\=Ö»*,Ûã¡\v\15\96èà\0"ôϦÞñ\91×\9bºâgp\95\vDÕ4ï\85*D^\9a\1d\nî6Õ6*ø¡m\9böpæÈí󡫶á}³©Wu\15\1f\84Ô}½©ìQUúëcÙ\85\ 6\8b¶á±ÚìêÜ\85ëðPu\7f?Szên`\12\7f­wëæé\10\16\9f^¾ýáÜÚ7ïÞ^]ßü÷õ»\9bå\87w?_v\9fºð×$q³<ËXøK\8cªiÑbê\vàjÕŤ3IÇý\99\1d«è=JdóÜ'(\15ÃZ\ 2ªºÿ\9f\9a°¸ýq,7õ½\85ø\v\16!WLæ®ê\9e\9aö£ÅS#ÿ\1a\91\8e\95tW¡\9a¿æØy\1e\18\90u\83\1c\1dª. \12e¯äÕ\9b×q   õPvËÕ\9bÛ~\93\85mµ½û|\87\Ç-=\14¹í\96¶Z\87="^> \8c\98ò7Õ]]Ú\8e\97Âü&É\ fÕú§²;¯\12ô\9a=ÊÒ\93/jo«\ eþ=7Ç6¼¬ºÕË\8fí]q¹B'8«Ì×Üh\95Åz\ 5\8eí'î²³'\97\156 )\8cý\871<îÏmâS\8cÂSÝ=²-®ls\9e?uÓtýnúJÀÙ\9eÖ±-}9àÃæG\1dø~°EcÚð\8aæÌþ>\9dh\1cÃÖÃ\81\9dõ¥÷\85­ý\1c\94Gü¹«:\86¥{Äb©!ÿ­oñnN[=zý»=»{¹  \8c9»ï\17»ýõ®«\1eH±ÓÝ&Ãúª?Ä(\9aátFcuõPíÖågq-·lÐ\87fsäòq_ïÙú\7fÙÕ\9f^þ\ï\8e\9f\ 26ÔÆ\ e()\97\e
+¶.\883âx@ý2¢8b>·\r\16\9f/ÎÍu×¢§Ñ\9bûãnE\13b\ 3}\8c'ѺÚo\9aç\80Ó\ fMØz8>¡\1f\84Iôh
+\92×b¥\98\91òÐX O\96\19B>\1c6ñ̬¶èà\a\84¤\ fy<{E;ZÞj\83Åa´¹¦áþåæú?á}Õnë\ 3\1f\b¯êþ\10\1aj  E\88Ã\89\v@\r\8fÑðs}èL\91êùw]=1<<¿V¨§\a\ 2S¾OÊ\19z~Ìþ\aµÉÓu]n\9a\aS)V÷=þO(\ e<¤üy\989ô·\ 3\87      :%\82\83)&Ô<í0Q<Ö¶\9f¿úP\eÖu[­º\ 6C\83Ø{¦øm³®ï\9f­\bh\ f\1aß·Hq+´¥ÕL,{º\8fJAu´\98\86lrYÅfµ-\ f\1fÑY[Ô,d>ۺߢÉ\9c.»®­ïÐò¶ÜïaðgiG.móÒ\99÷Wo­\8b¯\91×(¶\ e\10\ e+\f\1f-ƹgh١ׯCy\84í»®^}qÏ{\1f\82F[QâýF\94_}¦æå\8f¸HÚ\1c\8a»x6ç/}m¸¼½zûê\8a³ÍïH\ e:Úê¸Åúiõ\17ö¶\e\8f¿\98e\v\ e£Wwp\ 1±æê\13\Vçó       ~ \f"ç'?,/þuñ?å>&½endstream
+endobj
+1142 0 obj<</Type/Page/Parent 1119 0 R/Contents 1143 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 430 0 R>>endobj
+1143 0 obj<</Filter/FlateDecode/Length 2227      >>stream
+x\ 1\95YÉrÛÆ\16Ýë+z\17g!\1a3\81¥lY¶ª¤D1©([\blI\88I\80\ 1@\rïëß9·Iô%\94¤*å*\9b\87\aw\1eºAÿu\12\9a\0\7fB3\8fL\9c\99js\12Ì\ 2|3þõýëÉ<\9a\ 5&Ë3ü½1E2Ëö`m\16'
+nL\98\16³¹"5\ 6;\ fG=\14Õxc¢0\9eEJ6¦¹\f¦s\18\9d\aøÇ\ 1J*\b®\98\85\9aó\10&#ñV´\88I\85éÐ|\96*Q\8dÁ\16ùè\81È*\fwãp\16+Yb¸¿÷7JÃ#§4\86l\96Ì
+-«0ØâØ+\97}d6C"ö\ 1        ¢S.KI6K\98¥\88Ù\17 Yò\10\82a@\7f5\89ôÆÌ9µÎ\19ª ½$`\84\19'\94\14äÉ \93Âä93(\80\9c\82ÔzLj\f6\8béí(*a¦EìÂ\f3üë\10õJ\98i\1eH\98Y\ 1¿\1c § ´\ 6      \12ïI\8dÁ&\11\12¯X\85ÁJ\87+Va\94%\88\90+Ïj\f6
+\91\bÅ*\f6)\8eìj\fv\9e\1dË*¼11R¡5»<esW¸ @mRAcmÒ4q\85\93ª:äÉ\84£\841N\19\8d\0r
+"\11qJ­#I|x\18\ 6)\1e\10l±?\vÎk*@ÔzHµ\1e\91Ô\18¬ô\83\17ujÃDJ\1eFìåT\90\88*\fQ\94\11\1dáY\85Y8ñwd\9dâ\80ã
+Q(B0\82¨XÈ\ 4m,\9d/¤C$¥\v\93y"  DÎsã\09\ 5¡UºÐ\93\1a\83E:\ 3%êlf¡ë|T´0\89 ïP\92ïÓ\90Ò¨ OJu\90ú\1cEK\ 4\90S\90&\v4\91'5\ 6\8b\9aU\98ùã¦ó²\1a³µçpM±
+\83E?hY\17*Ò*é\r$\ f\82èq¨0\9cÂR\fMâY\85é2W\9eb\15¦Ë\92ÄQVc°Qv¤Yc°)\aÄkvE\ frUt\ 1ôØ\15}Ï!T¤xä\14\84»QLwGRò\10cèd§\8b·\ e\8dU\8dóÈ\95<\bà¬C$Å\9d\18;\8fÝ;§W\ e\88 \870 ÁT\91\1a\83EC\14\8au\ e¥î\88wÇA,\88z5\86\10Ü\15<«0S\9fSñÈ:Å\18H.\1d\1eBðI\90(V\98\8aŧ\91\91\8a\80j\ 5PRA\ 6Ã\83Á\93\1a\83ÅÀ\ 6\9aU\98ÍÀr{Y\97_ì\\1e¨\19Ç\8e\v814ª Ôb­Ì\15©1\8d²à^Tc\18\ry\96xVc°YÆXG³\1a\83\8fd\15\ 6\8b¶C°^Va\9c%\98\b-«1X´³\8eÈå?Ø_\11PW\90\82\98\v!#\94Á-JÞ\1f\1cò$\8e1Wt\9eU<ärÉb\18z\8cDa_¤\9aU\18lNë^ÖYÅIáæ\86\8d\18 ¢Õ\10w\89\ 3\86h\94R±g\15v\8asÍÂÐ\ 1\83Åd\86\9aU\98ÕãBô\9a5\ 6\8bëR¡Y\85ÁÊÍMÉ*Ìúð\10ð¬\v\17\v\89ÍÈ\80ࢠ  Wa°)/[\8aU\98á\ 6L\8d\97U\98\ 1Ñ\82g\9dÙx\7fÅ@¯"ZAbVa(Ƶ\17\1e{Va°è¨#Y\85a\16{X³Î,nèîpà\19\1c   rÅõ\18\8a\80¨g\15\ 6\8b\97\12djd\9db\ 4)\17\1f\9e\84\8cØucá!£á\ 4xRc°XÉ\88u\14Õ\98F9\97\8aU\18±â\95\ 5á\8c²âR\88\9b¾42¾N¡\80È¥Øã\83S\8a\15'GYh\8a´¬Ât\99·\14%«0]æ¾W¬ÂpYFdzÎå|\7f!\v¹\1aCAtYÖ&_èäXâô8@nî!lbmÂ#yÒÕÕc°¸U"\13\9eU\18,\È4«°\8bF\9bet\aÌ\1eg\e\1a\83Å\90jÍ.V\8c\90ßn\1c°@ÊãÈÄ]\ 3\vö\7f(\80á(\b\8fÐ\81¨ÍHj\f\16W5ÄêY\85Áæ¼\1cyÖ%X¦\vçR\826u£G£
+B\10[\10\82ò¤K°Ç`±^\91þ\91uj¥\98P\9bbs\85\ 2\87\10D,\9aÔ\18l\1a\1f±.E¸ÏÉ\1d\eÇ3Ü\15D½BʹDoÉ     pÎ\8e\10\1c\12RxNÄäƳÿ\11B>SJ~\83Ø3!~F(ÜÅh´\85¸äÝ\84¯hòY\84F\ 4Kî·\a>6
+¥îþ\95óç\ 4ùLÆ#
\eGJÜí\8a\11\8bCòY,±·öL\88×\10Ü\80øØh     k\90m\86\12æg\11\1a\11-É¢<P\9f\96'\1f/Ðt¡Y>ðg\9b,\9f\9båJ~²   Ì²úpsvm>·ÍCý¸ëÊ¡n\eS7¦ßÜÏ*|ùóòÏ\93SüÐs*!/W\1f¾µýP7\8f¦4×uÕµ}û0\98óº\1fºú~7Ø\95¹¨×Ö,ÞúÁnÌÐYk oQnîKjÒ\8a.\e\bí*\1aìßY¹éêFÌ,vÛmÛ\rï\85\87®]9ir\81wð(\94        ·|²ær³¥òÞ,ÛvÝ[Q­ÄÏëò±iûú½O·MýP#«ö\11.\9b{;¼XÛ\98»ºYµ/½ùeiÊfen\7f¹üÃìz¦\bÌ=È©ïg÷\b¼¬¦\86/\9b\7f\féî©\1c\ eÚÌM×>×+ëüS\8e\7fk_ÆgîÚî\87< xæ»\¯]\85éé¿%êªÞÔ\83<:U\ 3©j\8døÚ\86q\1dµÆMÙ÷«{sý¶øíÊl×»ÇZ\9eÑEÿ´«×+äfR\97\83\99[Éäv]¢döu0[Øxi»UoÚÎئêÞ¶ìºÃ×\13½_í ]Ô´ÍiÕ®w\9bƬʡ4\ f]\8bîD3\fåýÚþS \7f\ÿÇ0nûòñ½¶ÅPV?hÇü~±0\e´íÚUO'FW_ú¨Ò\139       ë\92%X!l¥LUZ\991åsY¯Å¸E³¿<Ùîï\1cl1\11\8fnL\7fêÍmo»\8f×eõT7Ö\9cUU»k\ 6ì\84\87¶Û\8cû¡lÌÕùÙ\rF¿³ÕÐvotQ\at³ë¶m/Æ\94k:ÌIPûIç\80QñÂv϶\9bvߢz²\9bR\12ôݺ^î\9fê­\19Z)ç÷\8bÏ8\9b\83¹\81éúuïº\94Wù \9aÍ\85l^êáI¬N\Ú+èÅÞ×®Ým{³)\e\14yc\9béü.lµëêáM\1eî¹ñ\94}e^¢ë·¶ªË54\ fûÍÙ\eä×h¹iì_^ËÍ\16]tu~ya¾`[ÔÖ        \95Gb\93\18\e:+Ê\8e¦õÛ¯wË_Y^Û÷û<ôí®«¬©Ú\955Ïui>ÿ¾ 6]Öi\ 1OUdxü \ fõ\90Pfm'³~dY2\89Dn·ì:ñcâ´\1c\18fk;é¹\ 6>Õ}¿{?5\bn[vu\7f8B\943\8b¶úa\aÓnÇ\ 3F\91ßm¹2}ý¿i{^\97¯æ\15\9b\ e6¾YÛg»æ÷:bÑÓ\95/\93çïÐ\aÖì¿ÿx\81\v\94\9c½x+\frü4\9eG8\7f?,ή?\9dq\9bÿ\89\ 12çmµc\9ddÀÄ\f_\86øøé<(ø¼>6\12¼\8fåy\82ÿ\88\ 1\91ðñ/Ë\93ßNþ\ f\94%æ«endstream
+endobj
+1144 0 obj<</Type/Page/Parent 1119 0 R/Contents 1145 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 458 0 R>>endobj
+1145 0 obj<</Filter/FlateDecode/Length 1033      >>stream
+x\ 1u\96IsÛF\10\85ïü\15ssr \84\9dR\94\14Ù¬²cF¤ã\ApDÁ\ 6\ 1\ 6\8b,ÿ{¿î¡0-¨Rªbéá\9b×ÓË`ùo\11(\1f\7f\81JC\15%ª<-|ÏÇ\95éçþý"\r=_%Y\82ß\93Ê#O_D­¶\v!O*\bS/\12Ð\1añ\9bMF\16ÎxaA\98x\81J&\88\7f°c\9c{        \193/¿\b6:I;æ\bnW\12\f"\8a£\13äxRI\ 2¿\15Ä"* \89"/\ 4Ë"/½\bbvÃ\10e\83\ 5~@e°rÐOl\19TMÂ\82Xî$\8cAB©N\90£Æh\11\97\91bG+¦ qæs¦\81\1fc\8dU\ 4¥FXä¬%\15\1a\168/\97\19')\97\99ÄHÈ
+\8a+$Z\10c\89cBR%Á+(5%\94¢ÍÎ*5h\92Q1\9c\81«4Ö¶·AFµ°âJ\85\865\8e_QÛ@íÛÎûT\v\vræNÂ\88aaÏ Z#\8e#u>\bBÌ3fe÷t\9a¬)ÅuThP´\ 5¥NÔ\ 6\ e´\1d\9b\rÌJ\ 4~¡ZSà\89Z+Î\16\9d¿KN¬\84õ\85Ú\ 6;*4¼\88\84É9*4hN\87PP¡O*ÄI\93^>-:Ëx88\8d¾²\82r\12\12a}\8d)8ÈÕè\94.\ 2¢?p²"§\85I`ÛïStÍ\8aK\15ÚZsA­UÓ)¡MéNÔ¬¬Õi²æ\98\8d£Ö\1aQ\81dM\11B³²V§AÑÐTPk\ré±\ 3\88\91¡TVl\15\9av¥g\95 BS`M\19;¯Ð i\80Ù\b*4Í&{åµIá"·\98\9f*\9a\15\83\8brznàV¦ç®\15Ä\84¤jüWPjP\1d \11Î*5åK\1dqÔÊ,´Ãá¡G¬hW\v\93ܶ\9fï\98\88\95\83ñå\1d¢\91uÄÂ1m_\13YNù°àR\9cD:h«\16PjP<ï¥õz·¸ºKP¿Ú=Ðë-ÉRµ;ð«ÍW»ò·mÝþP7ue\9a¡ÿ}÷má«%^\1f!ÖXô±=VÍ\9cØõj\18\9bª9\92k\89È\93\8f§Vç³i\ eÕ³a+Þ©\13Ý´ÝP쫺\1a~\92\ f\9b/ÿÎs¸ù¬¾4Õóìòí_ëùÊ{søP\fêcÕ\8cÏêÞ\9cö]Ñ\1c\86åzÍùÉm¶Åi_(PÕ\ e\8f¦S7ë»­*]\väÚOEY5CÛ?¾,øc\96Éçmxiß\f\9aCû£W\ fm§¾¶Ý÷c×\8egîÆRôøeÕ»<¾z\97gÿ\13#ôñ5²5ÝSU\1aµ)Êï*|SÕ½9£³\98\87º\1e\8foº¾n\86®=\8cåPµ\r[E\ eïMcº¢VUóÐÎ\12¸5ûñ¨jódêù\19@DÓ5°\99®k»9]\rCQ>R6C«
\8d\r\1d\15uîÚÒôóÅ\9bb(\1fíIYÊæßVűi{2þlÇNõ<¸\1e}0\1d%*×Î\v\14õ­ú~<\9d©òùÆ;Ó¿=õCU×ê±xâä1´}mz\9eúÕ]v¹\8fðÀñ3<kð%aï\94Õ§ë\95Útí7S\ eê¶-Ç\13î§bjv\80Ï\02,S?§;kµï\87®(\a*Bã\ 5\93e\1a\9f\9f\01]ùs·ø{ñ\vEwjýendstream
+endobj
+1146 0 obj<</Type/Page/Parent 1119 0 R/Contents 1147 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1147 0 obj<</Filter/FlateDecode/Length 113       >>stream
 x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\90\8c\99¹\85BH\8a\82\81\9e\81\ 1P$YÃSOÁ=5/µ(1G!3¯¸$1''±$3?O3$\v¨ÍBÁÐ\10¢M\17¢\ f\9fr\13\v\ 3=\v\v\13 \1d!)\1a\ 3\C¸\ 2¹\0\98T&lendstream
 endobj
-1396 0 obj<</Type/Page/Parent 1367 0 R/Contents 1397 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 513 0 R>>endobj
-1397 0 obj<</Filter/FlateDecode/Length 2872      >>stream
-x\ 1}YËnÛH\16Ýû+.z3i aDR¢¤Ù\f\9c8é1:~t¤ ³è\r-Ñ6'"©!)»ý÷sÎ-²êÊ
-\1a\ 1\12\1f\1fÞgÝG\91ùßY,\13ü\89e\9eH\9aɦ:\9bD\13üÆÿõõ·³E\94Èl\99E\13©$\8d£Å\0v²:3°\92i\1aÅ\86\92ù\14âN       å\f¬d\99z\ 3ä\f¬$\8e§Qj\ 4-\ 6;\8b£¥agI4\93Ù"\81\8f09'§@M\ 6\b\93ê\8eç\f¤ÉY47\82\16\83\9dNé­\17u&³e\94Á$\G\ 6\14\f\91\8c\10\82\93%#ñ¤ÅT»\8c¦\86ujg\19~\89H4é
-4\92\0+Yd4é9\ 3¡4MhÒ\93\16\83\85\rÄéYg\12§\96ÀäbÆ(\15Ф\81\8c$¦¯\9e´\18l¢g\12X\83Á.¦<¢À\1a\I2\992\1aÏ:\97RT#³\90"Ç3\ 5\9a\85\0\91ø\8cZ=g \1dÊX³\9e´\18,\8c\16\83ÍfÌ`\905\98îÎé®g\9d»1ÍÁ¥    ³«@k!@¨\9dd¬MOZ\f\16ÇvÄ\1a\f\16V`4È\1a\fv®UæYd\ 2±O\18#\15ÏØ\85\8aè\93ÅT¼`\12\ 3k°;\1a8åYU<E\90,Pú4\11\87T±Á`\17ËcÖ`°K6¦\915\18fcZ\b¬Åd\17H²e\ 3\ 6\8bÒN\f\v§f2ÅX`\81Ï'\1eh5\ 5\b\97&\13dÍ=©á\18\f6\9e3\1cÕ£¬Á`§Ì¢a\rf°<<Ã\1aÌ\1cÏ\98
-¯Ùb°ÉâÈ+\8b\19¬&Ù˺`3ι1X\ 5\81c¿ÂaOZÌp8\ f\fk0X\18Åé\ 4Y\83Á.b\ 6\eX\83\19ì\ 2­\15Xçð\8c\99\1f\1dV\10\1c\1e¸ÁAOZL\87g4\1aX\83épJ£\815\98\ eO\18l`\r\86Ãq\82.
-¬Å`§Zl^Öb°Ø\178ÙÀ\1aÌ¥Êñ\15X\8bÁbã Þ¼¬Å`³9«"°\ 6\83]²ã\ 3\8b\96\ 6Lç:\ e0zGÀ$\e¨\9b\f\a«\ f\92Ãb\e\84\81\8a\14{Òb\97b$1°Hñ\88\99b\ eTÃN\12²Ét\98#\19YE4\e£\83\8a\89=RÖÉÆ14@3î"xV\91²\ 6\83Å~Å\ 1\ 4VeÓ%óA\96CÁ!\955\18lÆè\rk0½\9a"\9b\81µ\18,¼8Òìì"×,óx\1ac~¥\8a\9cÝ\80i\97KØ°\ 6\83Å\99Àn\905Øyµ4,½\1a\98g\12d-\ 6\ 5Ê°\ 6\83E\8f\1fÙu\11á\8e¢+fÊy\9d*
-g\94¢îtO \94\11¯"\17\8c\88\835°¼w¦h_\9e®\16\91\ 3\144P\97?BÓ\aÉa3\8d\10:1eF-Î\9f\80Á¦\1a\8b\17Õ\19\94bݲ(à\r"Q j\ 3tj\11\88'ifÄ`¡Ç\8a:µØUz/P=
-\82Ú\81\8bÓ\94\99÷¤ÅP«£Ì°\ 6\83\9dg<\17\8cb£ø\8biª@\8dò\9eê Õr÷\ 5R\ 5\13,&\9e\98\ 1ïíÈÅXHK      ¤ÅP\8b¹\9f\19V/\f      ®'Ú¬É\ 4Íê\10õÆ\ 6Ó#\96§a\r¦bê0¬Á,ü      Íª\1d\98¥Í×       Ã\1a\f\16\9a\1a\f\16»Õʺ<eî½\bcm\ 1y\ 2Z5\109d\91\ 5Î@\ 4\83\15´\18lÊ¥\12D-f"¸6\ 2ë\1cÂß,3ç\81\82àÐÀ9\ f<g \94"#PêI\8bÁÎ4ÎÀ\1aL\87¸Q\8c¬ÁÈ\1fn\9f\bÆËâ\a\18Ò\ e\1cÝU\10Ü\1d\9fç\fôîzrpw\90\1cÜ\r¬swd\9d{\815\18îâ}\rÇæYç.V\9f\ 5\89\ 2º«w}\aáRÂ\95\16H\8bÁ¢Å\11\17µ\98á°\89\rk0Ø\8cgkX\83Áb×[ÍÎa\9dôȯ¶ª\ 2Ío\80\10tÍçI\8bÁ¢\ 6¡6°\ 6\83\9dó\15Ó°\ 63\87¼~\ 4\1fìHÎWÜ\ 6¡W\81º\14 ÔêËr -\ 6\8bk\ 1úÔ\8bZL£\9a\7fϪÑ\18/Æ:}¹ð\1dÐ\83\v\10jQú\89!¹)b}ëÄ·\r®&\a(§¹\8d3÷ö3ç\8dß\ 1r\ 6¢÷y£\ f\9c\81°\87;ÒÜ\90jOo\1e¸¸qÖ¸k      u\1aX     ®\ 1\10Ó\aÉ\19\b{\´\813\90ññò\eH\8bÉrøY6`°\18~\bÒ\eµ\98­ÍL\ 4Öb°sÞù\fk0"ÅqYÍ.µ©{q\89ñ¾    RQÈ;ê\95g\89R\83Q\ 5\9a÷\0Q\)sä9\ 3u\1eãL<\87y2Bf\81¯\0\81´\18ì\92·\1cÃ\1a\8c8!\8b\fzÅ.\12\fxn`ç¬\82àìÀ9ï<gàè¬ç\9c³\83Üà\9c'-æ\91q\eq¡dº\93,f\97ðSK`-\ 6\vß\91?/«¡à+\19g\9fF¢?û@\ 6F\1d÷L@ð\ 5ïN1¿ºMÕ\15U\87þçU ãÍI\7f¦º\80\10\9dg\ 2¢:^\1f<e 8¬\99Ìp\ 1\82\9bñ[C\90\v\10\1cÒ53\\80àô5=È\ 5\88\12\98\ 49\ 3Y\11l\7f/g 8¼E\98\18\fdOpÍx9\ 3ÁáUÏ$LS\89¬éD\9dÀ\9aþÌTâåu@L
-\85<e 8\1dc\9eã\14\9a¹×\13|ºÀÇ/þL}\ 1áÐ8\r<\13ÐÐx\9eÑ\1a\18´Å \eÍS\ 6Â\aÄj\14\1aè\92\8foX£\e<\8b\ 1"\89  w\9eç4\19x§Ò7\11Ô\bÞ,  è½R¸°êöÖ\v$\7f&\83\96º\1e^P\12~ÑS@*\ e\10~¸­3\8a\19H\1fùzåå>¬ÏÞ\7f\ 6\9eÈú\1e_׳ùBÖ[ý¨\8eßlÞ\Ö}Ûl\ f\9b¾lê_×ÿų\98c±{ö\1d\94$xúÍú±ìd\9f·½l\9aºÏ˺\93\87¢.Ú|'e}ßHSËcó,}\ 3Øõùn']^Ýå\92×Û\91\80à}ùph\vé\1f\vÕÕIs?<÷Ò\1cä¹\84XÕt=½\98È;]ò°½+\7f\14»\17©\8bb\eÉí\97Oç«OÒ\16ù\16zÊ.r.c<x\97Y­t9¿Û\15´ð\11\1e\17uß¹'11Ç'G\ 3q$ÿvÎ_\ eÎÓíuÑõ²:¿úpNAüw\84w\b\1f\92"ùê<(¤ÊkDóP¨~ã6\ 6J$\1f\ eån[Ö\ f\1aó\87²ÎÛÒ=øîèÉ4\925\92¼\95Õ¾iû¼î¥ë\8bý«TàSw$\1f\11|ï²ØUw<\10ÍkÎ\ 3\94ûrWhN\8eôÏ \9fá Íí  O"çýãq\ 6ßH\8f'qÔÕq¾\8e\1dÎ"Yõ(\87148²ÕîñÃi¾pC2\ 2÷mS¡N\8a~\eÑù\93\18ñ\9a\11Éù®/Ú\1aA=\15ÿD*\ 6[e/y'¹ló¢råúîødæ\88´}\91\ 5ß\1eó¶\80ÐS^î\MÔ.\11]Ñ>\15í\89ù\85S\ 1×ê\ 2]\81Ãc\96ô\ 4\ f\97lv%ÊéDly"¦qærq³z+ßï¿?àï²^þ¥ÿ\¯õ\9fäÇ[¹Y½OÞJÑo¢(2Ê\8f\13\8eù!ß\1fó^.ïQ*pª\93\8b¦þG/ß\9böÇ¿N3\8eç\91ò\8b2\7f¨\9b\8e1ܶ\rú¡:­RN&\1cΦÙ\17ry¡ü\89iÔçÇÇÆ)b÷BYßl\9a\9d|)\9e\8aÝI* \12uzÛ\96µ¦Oóðíúò?\9c\ f¹|ÔüÉíGÊ\9d\98B©~i6?àòÏÔ¢î®òý\9e\ 1}ÃñÕy5´\13þÇÐ÷'¹¬ömóTlå®m\9e5þ²v£æuªp\15\88ä\ 6uðT\16Ï\1c\17£Ä+óØ«hçQ[wسMQÅA«é8¼\860~Í8fU×ì\ eãxµ\ 1ã\8ehtæ\9b¶é:é\ ewh\r=\a[Ú|\16\9erPm\e\94³}Øû,Ϩ\ 6Ñr8ê\v\jqÄE¯ÇqØã\10¾_^¯ä§\r\80ïÊGÏú\98\11+än¾þþÛ×\9bo·¯\ f\ fW´¿\11»¸¹:¿¼>I)ZísÓnx\9cn_ @îÜh«rÌ¿×Í\89ïÖ,\0VÇ(\80jÜ6\156\12\ 6ñO%Ø9×\r\ 6f~×\1cz¦*ßnð¨äÛ-\8e¦;\19ܨ\b$úê°ëË=6\b\8a¸hïóÍPhöLpÈ7û\1dªõä´ðIkèWÌ\1eiÜC§ç\82ãÿãPn~`¦óèWzô¡ÊÞ\ f¿g\8f\r\ eÎ\1fÆáÜ\16¯kY+ä¢ì6\87®\e¶¹)J¼OFì\1a\169\9bø\97¯\98¡ÈËy]7\87zSüÂ¥\8c\86:M;>SýTR½)dõRoþN\18Q\ efYu¯\8a\0\1fx0§\1a¹¾YË\ 1ÎU\8dÞ\10°T\9bº\90?ßÄ\7fþ*èe7n°à®V\9c¢[t5\ e|\83IxºOñ©\ fG\8eH°¤ÇÖ\93\9bvëÊé¨18mòú
-Ö¸ò¯×r\9bw\1d\9ah+\9fêMû²×\9d\8aÚZñ6ó:Ýø¿\1dL\9aW×'\93p|aÒI4ìs\16a'çZ\85«bshËþ\85\7f^\fw\12u\r\17S½¿¼V<Å\15\98â\ 6\87ËÍ\9c\82\9fÖg\7f\9cý\1fAk\86\ 3endstream
-endobj
-1398 0 obj<</Type/Page/Parent 1367 0 R/Contents 1399 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 517 0 R>>endobj
-1399 0 obj<</Filter/FlateDecode/Length 343       >>stream
-x\ 1]\92ÁR\830\10\86ïy\8a\814      \10±ÕÖñÐ\19µy\ 1$Aí\98¤\ 2ÕñíÝÐ\96f\1c\ 6\86\9fïßü»        _\84\ 3Ã\8bC% \97Ð:Â(Ã/óãå\81Ô\92*\90JR\ 6\ exÉfõ ;\92j¤RP~öN4ÑHq\8d\89v ò\8aÖ  =ÅV\ 2ãæØI%±\17z\8a¹ÒDÇ\85\ 5\15 g\9a\8aÓ"¡¥ %Ȳ¦\12c+\1e\87\9dDLM$¶$
-ô\aª\91b\JqGA\165.W¨
\ 5Þ½\85\8e¬4Yl$p\ eº\8b§ U\ 5ÚL'À@·7%Å-¥°4ß\8d\1f\9b7;@è`·]ÁÚ·ýïaü\bþVï \83\8cç8¦6S\85ø_á\83Ïì©Â\1a84Ãð\13z3ÄÒ\f\ f>)Î)èw\v\83{\9d\\ 6î\82s\8d7Ѻبs§<ç\94©\1c§ÁÝÃÐÝr»ZÂS\1fö¶\1dá>´Gg±ßK{\19\9785ú³\8aÕÑÿèÇ>\98c{1\14
-ÿ+Uà¿\88PŬµ&Ïä\ fª\12\9d×endstream
-endobj
-1400 0 obj<</Type/Page/Parent 1367 0 R/Contents 1401 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 520 0 R>>endobj
-1401 0 obj<</Filter/FlateDecode/Length 1086      >>stream
-x\ 1­VMoã6\10½ûWL·\ 56\ 5bÚ²\1c\7fì-)ºÛ=´\8bn|é\91\96(\8bµDª$µ^\ 3ûãû\86\94\13ç£\ 1Ú\14\81\ 3[$\87oÞ¼y£¿F\19\97ÑrFù\82\8av4\15S<¹û÷ùÃh¶¾\12\19]Í×bF-åë\85È\87_\rÝò~ºÊ×bNóÕ\12ßgø8EU\Èò9\ e\90ÏÄâñó\9bÍhò~M³)m*`Z,W´)#\14<).~ªe\17\94£LÐ/ö@ÁÒGã\83l\1a\92¦¤\8dò\81\7f½¹þqóg\8c\93-S\9cqÄ°)/2\81£\9f\95,)Ô\8aZi¨\93;åÓþ9eÙ°\7f\ 46ìß\9cï¢Rûàô¶\ fª¤\83\ e\8c
-k\82Ô\86\1a\e\8az¯ª¾!m*\8bkdÀ^ ¬UÓ1â\9d
-t´=\ 1·C A\1f+þÍ\10¦4Îr\90\85\8bKkÞ\ 6Ú\edY§L\1d£¾CÌø\r\ 5w$o[\15jmvÔè½z\97RA9ïRY .\88øCZÉ\86\95µÈ¯À0\168¦o·¥X=¤á\82¬£\87á\9e\ 4Aå³<\851ÎV\15\8dï£Ñ7j­SO\82\1a²M\89"öF\7fU^ðúx\r8\8b\9cƳ\ 1ì'¤ç\90
-\159e2]+\83\86$´ÕYm¸\f t{\8cż\95íVÒAmÉë .©\ e¡{7\99\1c\ e\aáyIX·KXÖt®\8bHN&f\82nzÝ\94L$kãF\eéôKÒ°Tr}µ¿¤J;HÏõ¨\b\8evÎî\9clÓeW\ 3ß\17$&\10J¥wýSN \1e>\98ò\85Ì\9c*\82uGA\e\84'_Û¾)IöÁ2\ 3\ 5ô~dÑÝÇ:\13\ 1d±¨\1cÙN9\9cARþè\83jOr£Z~Q(Aï{Ù\90Qªô\fÁDi¶ò\bÍú\9aÙER)\91g$å¬\rߧÕ\93¬ò+±\1ctu\96/\8dÇ,ÿ´õÔfã´÷®æ\89D\é\95¢\ 3÷\8dïT¡\ 1Ïv\w\1f±\15P«2rÛ(f\a\80ÕWUô\9cá\7f\84ÙÊý#\8d>\ 6\16Û·@ÿ\ 5\15Ë´\1d¤!è\93)\14éð\16\v(Õ£ïcmÚN7P'÷9\ 3\86\ 2\1d\9c$\9aÜËô\81¸aß\ 3\90Ñ\19Ñ\94\æèu\82þ\18PyÕI\88C\ 1ñ?\9d\9c@G÷\9eÓû×Ñ|º\ 6\ 4¾\9c\vÜü\7fà\vÀ_¾æ7\e+
-¥éèÁÑYú\ eÍ\em\80\9b\9bÕ\17m{O_\94ól?pøÔd\ÝVïê\10\9d\97\9b%úu´|ngØÜé\10{\18c9kTÞqRR\9a\10[\85©id{\9a.\92Þ\bÄx\ 3\89\aeøîûÚíà{²Øó¥\1cè   H\1eO¯¡\10I+\17^¦o ­Ò\98½ì\83§dA\1a\84ݸïR\84g\1d7\8f\rL<½uÛY\17¤AË\aõÈ&@Ùi\1a_\87t\ fºa§\92SõðÝJ\85¢æ\9fΫ¦Âí\ 5&\11<\ 4å³ ÇQé´ÙÇý\11«\ fºí\9bè\8a\82\10í\91Ytü\ 2\81òò÷³\9e;+\9a\8båæ\96\8ecW·\98N(\eÞ
-\8aýñ\12\ fã-Ñ00\ 5¶°©c4W\98D\1ct\9cÌ0âÒØO><\\86ÂÇQ\85\90Ð^4\9bdÈñ½ÆûC\9c\aà(F\9b¼_ÝÏùy\9eæü¿yG\9a¯¦bµ\9a§\ 1¾æZý¼\19ý>ú\eí.\0tendstream
-endobj
-1402 0 obj<</Type/Page/Parent 1367 0 R/Contents 1403 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1403 0 obj<</Filter/FlateDecode/Length 1387      >>stream
-x\ 1\95VÛn\e7\10}÷WLò\12\ 5\88WWKN\81>$i\12\18A.\8d\15´F\\14Ü]j\971\97\94\15ý}Ï\90»\95½U\ 24\86mÅ$çræÌ\99¹=\99Ò\ 4_SZÍh¾¤¢9\99d\13\9a\9f\9deç´8_áó\fßNÒ&\1eÌf«ã\a«y¶\18>x¹>\19¿yNÓ\15­7ð±<\9fÒº$Ø\9fLh]\8c¦Ù"£WN\8a )Ô\92|\93SaÍFU­\13AYC\e¥eötý\rf\164Åk6s\8a\10\9604Z×\12q      |{Ñlµ<òØ\932Ѷü\1e¯xòm^*'\8b`ݾ?,\95\ fNå-ûÌè\ 2wªJú@{Û"sQ²\85\86Ã\80óé<\9b±ó\ 2~7­Ö{ò6^,\84!/%Õv\17=Ú-\9bóTY
\920áØßÖ\89"¨Bft\89Ë\9cv\83\87[Q\ 1aëHh}ÿuL\9eS^\ 2Ý\942yÅÉ"¼Ös\ 4G²¦\9dmuI9\80±\r<+S\91V7ìNù_\12\9e\13zÞùH¶©û÷µÒ6\17ú¯>á 
-\ e×ý1~כּ©\9cm·ô+½¿zûùã\97OÝåÙ4\95æÞå¯5bð?±\86»UËùØ\eØ3öÇ~q3\96Ã\1aÀÞ_}@\8dù2\ 5»«UQw0\0R\94\ 4Ä2¨z,I¾'aöÖHÚ©Pã3\89¢°­A\b\89-^º;é\9e\ 1a\86\12\8a\87\1fÊ\91\15ªhD#ɺ>Ô\8e\13\8f\8fIøXC¶\82JÇË\19]\8f>ØHt\11@1¡A\e/C¼xÀ3Ô8½\14M.Hy°Â!¤M¢ÊËÏ\1fÿ¸¼øð6\vßÃÀ/\13§\94A(í¯\9fö\95è\18ó¯SþûøÍY×F#Ð\ e\84\aà\93Îú\16\e\ 1\16ÐÐØÐ\9f\93 t\ 5B\11»p\84^͸W\87/cÇÒ\15\1aÇH\89ƱT¤\ 6\9d\9c\97z3$õ{\8eÄ·ècn¸m\9b@é=D\11è;\15\8d.i«\ 5På»~+\vµQp\94Ú|\10$\eæ\80\86A^\8f¸ïJ¹\11­F\8e¨\96E]í\rß»×â\f\86é\81ÝqëÝXÛBè1\ 2ÊÅX«|<prýt\98æ\e\98k,²T\ 6\96\9b¤p"·È×Ë¢u*@Kd\b \9c\8fZÀAvÝC¾f\9d\v\ 4\eæ#\84\85Ó°EÛH3äÄ\97\ f\17\7fþ}ùúÕ\97Ï\17ë+æL§£\a9>\9dw\8d?ÍÎ2Zw\82ç:=I°Çþ\b8\ 2\15£\ 2>è¶^\88\13\bm³µ.\b4Q$1\97\87\1fÆ\18ï\84V%çg7\77\ 4´¯õ\0Ã\14CjBNµ\ f\ 4"j+'\1ahõæðG×\1a?¨àÇwìÞp\15#¥5\84>\ 6¤­(Á\9a®C}4\14ùÞ]¬Ô\1d&\8b\1cWMz\ f\81\1e\16ôÀ[Øgï\ 4\7fÂð¸@\17sÀ½ýÈ.Ö.o\8dÈ1©r 
\9eÎ\16h\13T|hû\85Þ\89½g«\87\ 4E%ÀÅ\1d'Äè\16µ0\98\1a\ 3\0ÊGéÚÑê/!0\ 1RÃZ\17£nò2æaðáaIîMß+\84дÀ³¨­\ 5)AGh    \ 4\v\11\1c\9e÷â I,\85lx \ 2Ð\8d³\1d\9b\ e\8c\f\ 3\8c~³æ        °Ä¬\86ýÒRnCý\88^'E\ 6
-\83\82ó\10î\ 4¤9Ò¸ÑÇQÝâ²Õ\ 2E\a\0MJ\ 4üÀ8(%æ3fé>\ 1ñóx\9fqr±6\88\11í\1d²\1fÄÛ\8d\16Æ#B_Ø&ºÓ\88\94m\1dÑ\1e\19\8a±+²(?\ f\8b\ 3¸\86;E\12\92n6ôÓí¾\93A<ÝÒ\ 29`Mæù£\8aV\v\88\ 2Ë\ fJЯC\94\83óI¼vÌvì")ó^ö±| xëʤT       \8c8ÙÐl\86\97\9e\88è=¹- m>¢\17i\ 5\ 3ÎÚ$[\83\r¨á>\10å\1dÄ\86÷&\88J4\ fþ\ e\8bÄ\\1c\80ÄÌ\1e^û/ÑGÝìç~À¶\88²HÃ\8a\91H\fE\bµÅÔáA\9fz}\1f\15f\0§\93~kÁ\1e¯UU\a,-Qÿo[UÜà?\80\134QF\ 5\1a×-(pxË\vQ§ØçÝÌ\9d\8d\9fÏi9[¤%çòÅû\97\93³ß°Ø SÒ\1c\88s\85ã8í\1f\9c®&ØõÊÿ³o/V\8blµ<ǶÍï&lîõúä÷\93\7f\0ù\r»ôendstream
-endobj
-1404 0 obj<</Type/Page/Parent 1367 0 R/Contents 1405 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1405 0 obj<</Filter/FlateDecode/Length 1295      >>stream
-x\ 1\95Vïo\1aG\10ýÎ_1v?\94(æà\80\0v?9JÒZj\1cצ\8a"Eª\96»=³öÝ-ÝÝ3ðß÷Íî]\8cÏP;\89\82Q<¿öÍ\9b7óo'¦\ 1þÆ4\1dÒhBIÑ\19D\ 3\1aÆÓhFãÙ\94¿ã\9f\91\94uÞÏ;ýO§\14\8fi\9eÁe2Ã\97\94`>\18Ð<éÆÑ$\8a#ºqÂ8UÞRftAª\94.\8d\12]foæwp\1fS\1c\a÷Þp
-÷îå\97ùÇßh¾D\ 2\9dçzÍ\9ek\95ç´\90\94ª,\93F\96\8eTF[]Qe%]^Ü\906üã-9\r\eë\8cZTN¦d¥yP\89´T\88\95\8d\80zÃIÄuvÿÔú\9e\84ã8\86B1x¶/¦Û\97.é7ÞO\víFôu      7e)\95\19\9e\93r\90\956\8eâÑiß%«\88.2*µ[ré;fn)K\12)ì)\87\1f>îe]S<\8a\86\\13|ìYÈ\17ï\0SW\fè\16\9eµe\93ëim;¯³ªP¹0ù\160\1aXOûUºò\98Ù¥®ò\94\96âA\92(        h\9a­¯ååÄ¥m"\1dÌ{)7\8edªþ\a×C\14è¢\1c\80\ 3\80ÜZ{\88,Y]È\0$£E;ø\fè´áÍ84\94Z\7f\ 2'¤(\bÝAgÖ\ 2å\19­\1dõ+kú¹NDÞ·¢X\88þB\95}[,@\1dþhº3\0÷Ñ\9dV|j\12\0\96ôÖ <CüBð\92ãú\8fg\10\8e&!\rs_nDâÈnK'6¤³½ü<\8cã\830
-¬_H·\96à\Uª\8d´\115\8c\a\11       ô\94Æ7\9f-U¹3\98\9e1¢y{ÍÌÛJ¥²=B<«gt\83\1eÕ9HäÀ9Ý\ 6v1µ8ºo]\rÖ?\0ë{\17ÓÁÍd·T\1a\9bh#¿¿á*\ 2\9cÃoºjUYT\16ìSámLÂ\9f\88Ç"²Ïü0ÌP\9bBxVÊ\82 i\16Ò\837ïGéK   ãr\8b\9e¨°~\14\v±\ 5\89  \88ÄRÆ\88\1c«ÒI\93       ÈÖ1é\95S\9a{Ã|ôªÉ¦v%\13\95m½ùÅ\15O\8c\91Ö¶ àY\ 2æ\85°÷L ¯r\8f¡#º®ÊðÚw\8dèATY\97ÕmøÿF\991\966LK-º©.\7fut\8f9¢5+!W½0Z¤\89\0ú\10<V\1c\9f\ fù=\18ýOM\12(T£u<\ 4íL\81/¬â\12 \14¬\92h"r\98ª$§
-yBPvÊ\84Ê-\ 1\18\96\87\1fô¾\91\ 1A+\13\8f\1a~\7fì¤õ»\87\93\1dï%6ë\8bN\19"\88yê%;ì\96¦1©Æ\vÕ³õqttôõüúòâòw|£ÏÜÚ0g¨\vª+\92D®PºÑ 8½£\95\80@ð£|Ý\f\v\10"õB·\87ú\ai\17a9ªv·\v)0X\0\9d\82¼s\87\98QvÅDú¡\ 4\9c7pÊ\ 6±5·U\ 1ÊÚ\13fÿ£»÷\15d\13£VîÄ\9bZ^ãÜë\16Ï\82\8d_îÏø\84þ·[Ü\1e\8ek4\b\81_ãzB+i\96ØätÇcn%ÀcvÐ\1f\7f\9dËõûµ¦J\ 4Ís^ÍXpØ\82
-Z÷\0ìy\98t}y4\94ìz9~ÆD^Ö\1c°\99ÑÖ³ÁÑ{¾J¼\94c@Ö2Ïk®?^D½Q\1cV\13\9f\88Îs\10 \14N=È3òïö|Ã\eÐ\ eJ\85,t=\94ÍðñF÷gÑ\1ccßtÀß5xÑ\8e×nï\12H0äµiß¾\1d
-\8eb\94\1a8±þp\90àV©ÛÐÈïΰúÜР\16\8b_ÞÅ¿\1c\85Õºl`<°R\ f/äÞ\a¯Î\ÓÏøúþÔ¾O®ÍfÛ\82ѬÌ\90qpIndR9±È%nNç\8b}Ô®.%Ë\ 2Rñv\13\f\ enV}ª}\ 3s\12\90ÏG\87x\ 5Ü\1e)w\0OZðê\ 4¯1\8d¡\16_\96¿\9cC\88¦7áD5Iä¯\97ð»Y­äñ\ 4gúlD\93I\1cÎÊ\9bóÏïÏéÊè;H#}Ð\89\1fzð0Э×8ô¦\ 3\1cUék.÷ñt\1cM'3\9cýl\1fs\ 1\1fç\9d¿:ÿ\ 1Wÿ§¦endstream
-endobj
-1406 0 obj<</Type/Page/Parent 1367 0 R/Contents 1407 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1407 0 obj<</Filter/FlateDecode/Length 1161      >>stream
-x\ 1­V]o\e7\10|÷¯Ø\ 2-*\ 3ÖI')úðC\81¤\8e\81\0\89ÝV×\1a\aê\8e\92\91
-ɳ­\7f\9fYRgK\96\93ºE\1dØ9\89ÇÝ\99Ý\99%?\9f¤ÔÅ¿\94F=ê\ f)¯NºI\97\86ýa2¤Áx\84ç\1e~­¤EX\18\f'øøÂB¿\9b&\83\97\16B\8cg\eÞe'\9dË\ 1¥)e\v$\1f\8eG\94\15\84ÄÝ.ey+3´VeIÊ\93\93º \11?:µÔ¢$oȯ$m¬É¥sÒ\9d\88öf\17­Eº\9a\17ñ»&C\8b\84Þ}õô\9a;~-ám]j÷\86 \92\15­«ëìý9}XÐÖÔT;\19òNÿøm@ÎoKIJ3­ó²â%\1dÞ«Ä\96JµÆË\86JcÖ$|Ø\17!¡Ò\81tK>\88jSJ×qwvÐv^X_o\ ea\ 3IÚOz\8cÄåVm\10ÇP%\10z*ª¹ \ 5²+\1dÊ\81\1c\11G Ð¹\9cP\8a\92rmÛýA$\93\842Ëà\9cWz\19\95°Ò\91¸\13ª\14sP2\81\84EÝí\9d´\87\98¹2#È\ 2\8f\8eÍ$é¿A.\ 6ZÍóRIí©ý\91âKý\862ªhWÆy-*yÈ´\1d\ 2<ÖýO\94Û­L]\16´\94\9eæ"G\15\ 3n2\v¬|\13sÒ4¬0úÇPzMÎTÒ¯\98´r(Yn¬\95¹/· \89ª7mo\8a}e<·:ô\rïóVSP.4\89Ò\19\9aKÖBÁÍpRÒ=¿Ø`\82O\ eji \vK\1f\85þ$´Xâ1\16ÇѬåê|E"¨w¯Ñ7\8b\9båì´AÔ\bq'Á|e\fT\88ì\96Jy'K\0Èk«üöP~\v\ 5Ó\ 4\ 2Q(V~®¥óè3m\84s÷Æ\16`±0@\v        Ý³ÕX\14\1c\84û²\a'òJh
-¢»Õ}«=vû°\9d-¨T#Õ\12SÃX*¤\87¼\\ 2Òl$.$¾ÎCr6É.uSÄ{\85z×þ\0ìö\19.Q\14\8d\84ÍÆ+¨¶ýû\ fÍdÈM\85ü\ 5\ 2k        É¯ÐÃÀQ\e\905v\8dO~EÚèv,OÔº\9b\9dF\16/zg\1c½\93\e­¡\1cÎ\1d\82 &Tkõ°ëk\fÐxüßù%î}4\vu:û~é\bF©òo\e'ÛnT.J\b\9b\81Å\88½\7f¶_\vea³AÙ¼\8fýÉFãgö+$.!\15î\9dÒ\98Te)_5MQú#\10/ÓhÁ\97\8cvOyB³;\ 3å\90y%î$\94\ 4iÃzJï\11lÊͳ'A\83\16\91÷Óð_¨\92u\80ÑÇ\15\8dö   \1cU\9cì·58\86ø\82þZaT¸¿ÙXAVJÇhM\92=\84_I÷Ü»\97pÀnØSL\b\b,\99PZhs\8ea®ø\84\8aðJ³\ 4½\88ÏÑÂ\82.W>vÈo7òü\bQ3&^1\95;\9d\90®Ãqc\9cFî»\19üt\L\8e$¿°¦\82-/®§gÄ\83
-\7f\95\9e<\84ÿ®²3\8eÇ\9aïÆ\ 3\ak½õ\19]O;½3\92>O\92äÀ&M\83ölÂ=ªL­\83Á
-åÖ\18\1arùuÂ?\9fÏf7\1f®.®o¦³ÙO\91Os&\8dÓd²;\944\ e\11\8bs\9aá'ú\9d+\1c\9f\8f]\15÷>\9eG\fkcqÔÂ÷ÿ+ rãÓ\170m\8c)\ fìÞ¨¯ý\fØ+ù\aì¸.\94\92IÇ25Õ?
-)K9·ÂË3\82pÃõ\vÓ@м^â\16¸1Ö\7f\17\ 3\8cws%\1dâ\928îÓ0Mã]eúöÓ»·ô\8b5·ð\10]\98¼®p\1f\10l'ÞÙn6´GÝ    _\19þëÅd0\1a$£á8Þ;Ò\1eÇ~\9f\9düzò\ 5ù\ f2Eendstream
-endobj
-1408 0 obj<</Type/Page/Parent 1367 0 R/Contents 1409 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 523 0 R>>endobj
-1409 0 obj<</Filter/FlateDecode/Length 1504      >>stream
-x\ 1\85V]oÛ8\10|ϯXä¥)\90¨þ¶[àpp¾
-\ 3\89\9bÖ:\18\aä\85\96h\9b\rEº"\15ÇÿþfIÉMÔ\1e\8a \86e\91»³³³Cþ8éR\a\7f]\1a÷¨?¢¬8é$\1d\1aöúÉ\84\ 6\931¾÷ð_JZó\v,=~|û|ÒëL\92\ 1\rÆäG\ 5õ\86ä[?iZ\84@\83Ñ\90\12\88ú\93N2úÝ\8bq÷×\r\97éÉ\87Û\8fÔ\1d\ 6ØѤKi\1e t(ÍκI·\93Ðr+<ÍÖ\94n\95Ù8º¶æ\9d§¥-\9fþ~\9f~Çþ\ 1\8d÷_ôÆÈ\9dægXm¬çõ´ÇBGÂät°\159/JOÞ\12¿|¢ÓýÖÒ¾´^ò\ f\8evJK²kò¥pÛSü&\rÍÈU\9b\8dt>\ 4È-bÈ\1dõHl\842ôx\86Ð\8c\ 3Ù»}Ð\85ìáÍã{òJë°)\13º ÜîMR¯ì\8dÀ\ 5\9c\80q\15j³õè\86È9)­\19Çõlúyþe1[$þÅ\87
-øÕíôkÂlð.\81ö¹\90Åù*{\8ax}y\b1
-¡4\13 \15 Û²\85ÑȽÛ\94¶Ú¡\ 2\13¡\16\ eÿífz}\7fCk[R.=B¸Ç÷       -D±\12´\15\8eV\12\88]\95eÒ¹u¥õ\ 1\eAªÖ2'´ÉomåÀ\88c\16\9dòÒµò¢\1d:ß«\\9e\93³T\88Ã
-%ØBZ#Ij'C\92­
-d\97´+íJË"\14ÏÙí³,3¬&å\13ú\17\fd¶ÒH¬\11«Âf®`¹\¶r2\ eî¹Ë\84¡\95\0QʹJ\ 6\8c¼Ãqu\17¹â&·;´l:´V/!|\ 3éáîfº¸!'¡,\0â\1a¨Úå\ 2%G}It<«
-i¼ðʲRÀ©³U\99IÀÎ%\ 4\ 2Ô\9eÅ\r\10-ÈF¢å;Y:lܳ\8cÖ
-y@\8b\14NÉ2 \f\93\ 3\19\ 5å÷yº ¨02Ý\84®\95Ø\18ëX\0\ f\91ÄÐ\89Ö´Ô³ÂZÚ\8a\1a{\19\ 1×\95¢\1cæ`\ 3¬\f\17º¬C;ʶbçe\19^°êl\84É\8bêÍ\7f\0Ú\83´2»\934»þ?x\97\a\bq-*ík\15¢Ï\98gZi\81\ 1võî\84ÝÁ¡\11Âàe\1c»\12Ì\19L\1dDk_°§¨0\bA*¡Ö7!ZôÏ®\8f3\86\99d\95ï\85       ¾Á*\130\17\16@$\89\89\fí2\12ó\0>\1aQ¾3Ò¯\94u\11ð;rÅ*ɬY·òÚ\1dK%¡iSÁÃ\95{\e0@g\82!Z|Hï¹Å<®ÁÀ\90\92\r\ fè¡>ö@x
-\ 6\ 6\8f\¹?4¥\9fÐÕÖFíp&èÇÛÌjº\93ÏR3âߨ(ÅÂÅý%÷=.æq-\84\94Ð2ó\ eQ«²Ä8\80Íè'®Úílé\1d\rÏ   \16É\16rõåÛÍyø|¸ûgqNwÓùýtÞ=oñ\14\7f\86\a£¬yÚm\ fmp\ 6ÌzÆeHÚó\8c\15âE\15\13 ¨ª\ 1\17\99\19\8e\93³×=úYñY0gÖ\e\ 6¼\16&\94\a\14µE#\17\9eA\\vó\8a\8f\90Ø(IÏ\ 2\ f\85ønKå\ fG¯l×13du\8e\ 1\83í9\b#8Vä\8e\95\ 6÷\8cc»¶Ut\a\97E\9c\1eóÉLF¼Z\15\11\ 3\ 4P¦ÜÛ\16Р¤ ³Â:îVð|ø\9fÌ¡«P\9d±{ìu\ e\87Ë\93Ä\8a\10ì(þ׳\12VáµiZ\19\91\ f­´¥Ä\89eXÍ"\7fÆ´\89M8\8a\9b
-"©ÀÌ\14\ 6·µ+\97U8\ 11¡l\93Ëõr\83îJ'Ëgö`ô'\13 \0\aÑN8\87±ÈÛ\87Q8óøدE{\ e©H\ e\13´7ê«¿ôp\8c\86\87!]\1cE\88\1fíæ\98\ 1d\ 1 O¦ÉQK«F\80*ι\82\8cëdÂ^yÄi\13\ 4ÔbÐþ:¥h\a,ÏPpH×Ö\bë\90\89{ËZk@\98¼FìÌ\9f¶l\1a¸d\18¸\b;\8cßÖ)´Â\84:\1cVró\89]*\v?´çoY\eë<eJðôq\88kB]ls¹YÈx 7sôx\86EÀj*¡Ñ\12´\97¡\14ÌV}ÕhG\98ãbö\89Ò\9f\83º+\15løG%+n;\9bGÃ#ÏB8#\8fR\8cN\19-8½zø0{ 4\96\8cmÓöV\93bïYN     Ý\ 2aà¾\16\99\8a\17/-ù´\9cÃÓe¥Úa¡\ eF³Â\96p%\83¼~\87Ú\9a\90Ç\1dp½,`\96qÐXÏU!V\981\11\15¾ª6\81¦\ f·\93Ú¨º#Üæ'}\1a\81ø      \9fè\8béýå\94mû;|\17÷åW·\10NyÑl¸\18w>\1eï\f\7f¸f\ fÆ\83d<\9aà\92Í\97\8c>ǹIO¾\9eü\aÚ\ 6êaendstream
-endobj
-1410 0 obj<</Type/Page/Parent 1367 0 R/Contents 1411 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1411 0 obj<</Filter/FlateDecode/Length 1741      >>stream
-x\ 1\95WMoÛF\10½ûW\f\ 3X\8c$+\92}ÈÁ_\ 1\82:¶kÉI\ 3\18)Vä2Ú\84ä2»K+ú÷}3K*
\1e\8a"\ 5-îÎÇ\9b÷f\86?\ eÆ4Â\7fc\9aOèxFiy0JFôæÍqrBÓ\939\9e'øç4åòâô4\99ö\7f?_\1e¼~wJã)-s\98\9a\9dà!#\98\19\8dh\99\1e\8e\93ñ(\99&tçL\15\95rgKz¸yÿ7\ 5K\8a.
-£«@w\17¯\96ß`hJãq44\9cÌaèpi©ñ\1a\ak6 \1d\85µ
-d<©'e
-µ*4=\19\85÷¾\\rWÊë\8c¼vO8(\8e\145\95ùIkë\ 3mLXÓõÝ=mm\83?\8a\82*\8dã\b#µem
-Í!\8ch8>N&ì:¬5[Mc\84µ³_\9d*\13ú\8cÛxUín\9bÊ\a\ 5kr>u¦\ e4À=     x\90нVp\ 2[|Î5i0¶Â3\9b\96#\94[×ó\Z@\9eé\80\f}Ò¾\9bÌ\80=\ 3²ÖxÉ\0\14\9e\ 1\|^|$\1f\0ÂGç\82Pfµ§²I×1,Uj<0þ)Be\90\89ßú§\84Þ\a\80PÁaå÷ã|æ}¡Ù\8e¦\8b\87»\ 5\95ªjTÁñã\ eþ_*ÉM­l\13P\85 õnêXº]í\9f\95Dl   \19\10T¬a\ f\8fXQAb\9fkÃãqÄDHö&¡k\9b~\87\1f¾ý\ 2\95n+ðÈiE\9bµ\ 1\96:\98\12
-\14ó\14\9cm\98OÀ¶\88\86\1e6(l,\85m\8d[6ïN·v;R­4ÕÚ1,\80{µåR}8oÉ\99\10ÊH¹q %Ü\r\9cN­Ë:C\83^ú1^ÔÍnPvj                Ä8LüàTõUs «m@Dà\96"[\83¡9H\1d]y8¨2öÅÕ\edºÚRi3í\aø\ 1\82â\9c|­S\93\e\9d=s\ fSJ\8c±\ 1¶Ü\aæþ·ø\91\11L꡾\fR|`\râ*d¹¥Ìä9(\fÑ\8bB\7fO½½ðÉT\19\92Mè£v\1eza\98{Q-T¹R´Ò\0X£KMh­\9eP\17\87øYÒÜ48Õ
-\9cÄïyZ\85âñðñUì\a }Ð¥h\81\ f\9b².tÉ!Aå(\1a:Þ~=z\9eW:l4 ù\95H\8c\ 5A/×È5Uè\106 BÊ\9b¢ØB_\ ef\ 3e\r"³À\bh@= ¤G\82m\99$\92H
-\8e>Wièy\8få¢\16¡\8e\fp(ü\88É·¼`:´ä\80
-ásòåxBPëäËlz\84\ 6\83Jf¬K4$öÖ\12ëv!ÁôüJ\1fmu\81\vHÈ7um]ðB»è\a\ 5ï\1c\8d\13Z\0Yá7ãP[ï\rË\vq´P°\r\94Çç,\ e\89Ùé\1f\8döý\94ÑPPB\ 4\ f\9bKi\7fLWP\8c9\8c§®\10©öG0oã+ø\ 1ö\85A¥3â[}Òƪ1u\14¤\11\9dì\98à{\1c\90\19Qè \114È)Ð1a :\86Nx^l\19L\ 1*\12\f}5'Õ\ 3r¯*\92³\14t\ fþ\16\ 3\ fB×(\10\14\ 3Ì\17Ì?4\1d8\8bz\1f\r\19\91#\8a\91\ 3\8b\eDh\r\10\14Tõ|·\ 6D\8f]\88g0maÖI        ~#®g\9a£uIJ\80{£¶Ï@\84âÒ\0PöÛ\eùµm\8a\8cÒµF\83âùÀ\99\82(Q­Ìü-\13\1f¨\ 3ù\8d3à)Ï%&bl4      z\ 6î\85\ 6úeÈev#È^>\bhOÚ\eëàD0`õ¡ú\1e-S|\948\b\12¡ß:íc\13tu\9apX\99L?\11\10\ fÔ¢ä]A\150Íí«Ò`\95W\88\9eóVï±w²\16\0Â{ô@ä¥ú\ e\16Æy"Iî``\0 Û\ e\ 1~d\84Éü\9a(¦ï\13ü\ 4*h®ì\bx`\1f9GKÕ¹j\8aÐRAÄÉnws¬õ»á­Eÿ¬\v\93\1a)\99ÿ\1e#\96é\14Ó9¢\15\867BÀ\92ÔË\17\13\1d\8b\8dÔ{\97Ð[ÚÆ\19\ 2ËкlU»\8ccýY\13\\ôpx\7f¡ô}Jñ\82Åõ\93\ 5'3^\96<\84\18i¿\83\12;[«ÇƳ\8fA÷æ-ú.ö.éÂ(+&\ 1\1a°°0`\ f\ 4)Öh\1fÌ\ 1Õo4\99­þÀæ\12ûÚ.GÐ7¾\90É\8e,\1f\ f=/V
-ZÉ°ÍúÇW \10·PxK±\82¶uÈ¥\ 4"X\1d\1a\85`àî-\f=|#H\W\r)tì\92ö °Á>Ò\84\8fÛ?û\90\15Ú\11\9f\16
-\ 4ßÛJp\81\9fùÒFy«æ©\8fªrý\81wÍÌ\88;\9cP\ 5©ò°ç\9d\837   P®\171VTíJ\83½jÃKÄn!R)\8b¦ë\ 2Ð!Êo7à\9a7%xª*m\eß©Ú`\82ÈNAgÝ\ 4bµ*/\9d£çñòêæó?7·7WG$\8f÷Wg\97íã§û÷Ë+\9enòâìúz\7fX\b\97dÁÁÈåu\1fi®LaB»\ 6õÜ´K²Xzwq."\95?.1\1cùì\7f¯¡³\84>\0I.Õ\ 3öÖ
-\9b·\88ø\85\85\14Ã\81?EdqéfX`¾Æ[ÝX¾»\88]\82«\18\87KüÀÁß \1d·\17\9e\9e\16\9b JÀ\95î, ÷Ô\ 3`Ë[yÇ\98îã¦[ä±r'X\rs\9e\99T+ì\91Ü®÷¿=^¿;i?ÊÆ3|\11\9e\1cÓl\8eO:þ\16Y\9c}8?ç\9dýÆ\8bÍ¥M\e\84A\fÒ°»0\9c\8fNùüÿú\18\9cΧÉ|v\82oJ¾9e\83\83¿\ eþ\ 5®ÂÓÚendstream
-endobj
-1412 0 obj<</Type/Page/Parent 1367 0 R/Contents 1413 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R>>/XObject<<>>>>>>endobj
-1413 0 obj<</Filter/FlateDecode/Length 166       >>stream
-x\ 15ÎQ\v\820\14\ 5à÷ý\8aóh\ f®M×6\1fÕ
-z(\8c\16ô*Sc\92\8edýÿ&\11\97\ 3\87{ùྠ\a\8bá2ä\12v"\8c2H]P\ 1¡UìYÌÒc \95!Û£\ 6ç0\ 3¸\8c7\9d\ 2¦CD\8cÁØäV\9e«\12ÍâÇÞ\ 6ì½ýLý\1cÚàü¼1#Iÿ.ýÁ\84SΨ Q¸9¸ù\89\13î\97Ó\ 3Á£EýrÑ£©W-\94 Jêø¯é\12¾[W\aC®ä\v5\f1\86endstream
-endobj
-1414 0 obj<</Type/Page/Parent 1367 0 R/Contents 1415 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1415 0 obj<</Filter/FlateDecode/Length 1600      >>stream
-x\ 1\8dWMSãF\10½ó+º¸\0UFØ\86`²7ØÍVqX³)\9cÊ!¤R#idMV\9aQf$¼þ÷ûºG\12Fì&)
-0h¦?^¿~ÝúçhAs|-hµ¤ËkÊê£y2§«\9bëä\1a?Wø¼Ä·×TÈ\83Å|\95ÜL\1fÜm\8e.>þLË9m
-غ^ÝÐ&'Ø\99ã?ÙéûR5­ö0D÷uãݳÎ)õn\17\8cÝ\92±\14T\9dª³Íßbd±\8aFÎ/¯\92\9c.\93EB\ fÏÚ?\e½#W\8c\8d+Z,ú\eË\15\8dÇOwdu»sþ\v{`\8f\81\14Õ:+\955¡¦tO»Òd%e\95Ѷ\r\94)K*Ëtàs\95     -»ªUV\1a\8b«\88R\r6g$ÁÎé|q\19C\fî<SU\85´\8e%/-\ 6\8e\13Ú\94&Dc\99³­26¼\98lKÕ\92\ 2°^«|O­\83Ã\ 2(\15¦Ò¤l~á<B7¶¥À¹#29Ó\96Úsæ\aîÇ(w¦E¸\84#C¬\1cB\87ð[Ê\1d\fX×"\95¬êrý\12\ 1\91Ø\93\96²ÎãC[íI¥\88\ 3QåN\ 2@d­
-_B2q¾\81³\83¤              \97Z=\e\ 2\17\1a\96ª\8a¸&=Ô        ½w¶0ÛΫÖ8Ë8óÓ\91\11¥
-\94jm¹p\88¡Æ©\8c
-7Í:¸ZÓ#S\87\1dù0\83_\9b!dÆ<wYW#\8f!ÚåurÅÔ¸\eh·3\bjý°!f     \99\82¬\82\83«:\89ªð®¦µnïî\1f\1eå¡À\7fÿ\99T\9eãX\0\9a#¤Eg3¾4\81&sÀ2\ 3\96  ý\164ç©è÷ûõã\80'Ce¶%\90Â1W#Þ\1c\80\ 1reð\v¸\1e\84\83ËC0OLð§³Ã &\8eÇ\10\93è\ f\ 5@·Á\íZ\rï[\86f(\87°*er\8e\1e\18\8b¿Ú}£A\16\0Ï\15@\9d\84°Ü&\f[ª'>û.\8b\ 5·{rLT4\9c\ 2ç\11ü\ 4\vkÆa»K\85\96  db,Sè\9aÆy&í¡J|¯ç\85\bÖí¨è* Ú_\ 4\93ú\8as'ôL\15Ù     Ã\91ÈQ[§9w\1dóWUÁ\117¬wÒÔ °k\18\ 2Ö\81IÚ\¦P§        \8e\17±u\9fN\83~ùßÓéOOgOgS\1eFÞFÍ\81
-\88æ8hÈÐJµ
\98\0\1f\9ca\8an½ë\1a    \90=ªÔT¦ÝËsQO.â\80Uîj.få¶\88x\12.g\182o\1a(\1e2e¼Ô³2\157{B\8f\büÃçÛûuÒ~mÅzí P\87,\0\11^9ø\97Ì\18F\95õéõ\97úĤ*o\13ì\153²Fø\ 6å\92VÍP
-\ 5ò²2\aâæ\9cdV½\85\8fËÅÝ\ 4\vÐ;\bÜ(áC\a²5\f%h\90Ïûhbd\87Í!]øÌÂ\ 2YEg@\b\9f¸¯\15ªa\98?Ü(\80\96MÏXxñùU{³ì§è\8eHh)éÞu~ô\b1{­\13S\84×ÜÄ\ 2\ eîQ(]WåÒ\93A·½ "ë4\ 6ü\1aö)\9fÄ
-ë­Ð\98\15\94ù8%úzC\1f\84\b\14Ð\18\8coa\9d\11GTw<<-\9aPcjS©\80\9d³z Í\84\ 1\r\8e\8c\ 4\9fMPõz«|^ñP\86\86ìJ\8d8}\ fêz3ë³å&\19\15Gd\v\87_'\1e¹\14ú]\80\ 5@\8aÔOÖ)Â\7f¼@,ºÀ}
-<¹ÇylA1¤c\ f´|Fi\87RKµyÈZÍ\9b\84ò2×C£3S\18^\11d(\ e\95\ f\f×t¬\1d\18Mh½¹}\94Íä\8dw¡Ì«³`1\16\1có\15Ñ¡V\9c\19 \92~\17iÔöÙxgYù' £\9c\98KÜ"·Ü"\183\\8f\1fr\97\1c\8c\8eN«É\96©&J\94ÑAúëÍÆÄ1\9dG\92¼\ 4ö\9f>\99F\9c\92\ä?¢lG \ f#øsZÒ\8d£-Úc\98\ 6¬\972ù9\e«ãØõ\9d\1d\rv¡SU¬ªèÏpfÈüxäìq?\1cÞÎ\86q.ÀY?NÀa´ÿx·'pÊã\1fº¢¨Q\18\98F\1fÇ\85Ì%îVÙx0ç\ 6ϱ­ã¡¾ðp\19×IÓ\ 6]a4¡IÆä¹â`)÷RèR¬Ê¨\11SwB\8c7²%=\13G!Ë\9aT\ 1\80äbý¤³\ 2Ú    5\9do\1c\16¤wðb\1dv#ͬÃyf$Ó\ 6²¬=ÜÎøâÄ©þªêf\18FÇýÊ2Ø9\8eòú2^±ÅbOT[-\88ý`¡¸Lès\%\ f6*v{ññ;\9bÄ}A¼Z"W¨\ 4¯x¼\16\vW\10º¥Ò5:®\18\9c        \86l\ 2\ eÆÉ/D)uÕ\88\f¶^e_``\17\17ò~\99Å\84\83((ÊuÚm'©WÐKÔ´ %æ\11]
-ª<Sú\97\18Þ\85ÑM·<VQ½~\ 6p\14ýÒ>,\ fòö"µ\80Þ\80õXuZ\8cñ8\9bt\1cì5#9íJyõèßdâ\1cLr\15\8b\8f7//Z\97óøÞó¿_ì®VWÉêú\ 6ï\86ØÁ\17×\9c÷/\9b£_\8f¾\ 1:(ϳendstream
-endobj
-1416 0 obj<</Type/Page/Parent 1367 0 R/Contents 1417 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1417 0 obj<</Filter/FlateDecode/Length 1738      >>stream
-x\ 1­WÛnÛF\10}÷W\f\8c\ 2µ\11\89\16eŲóRø\16Ô\ fq][m^\ 4\14+r)mLr\19îR\82\0\7f\fI\99bâ¦(Ê8\0/»;3gÎ\9c\19}=\bi\84\7f!MÇtzFQv0
-Fô~4   Îhr>Åý\18ÿKM\89|\18O¾óájvpòqBaH³\ 4g\9d\9dOi\16\13Î\19\8dh\16\1dÝ[¯É¯\94'\93\90ñ\14[íò\9f=mlùL\89-ik«\ 1\16è\9cïÈ­l\95Æä¼ISZhR\8b\14Û-ùmÁÇhrº\ë\92r\95ᣣ9®§ÛÇ?o\1fÉädz/\a#\1a\86§Á\18>\1c%&Õ\99ÊÕ\12ëÅÀ
-öuîñ¨ò\98º\9f\e³±qEª¶b(5Î\93MH­\95\r·R¥vAce|\16LØÊ\93\85'\85\ 5\1cM\fÎ]\94vãL¾¤\ 4\e\1d\82\88TåÄù-¢çØWj]\a³LíB¥t¸¬4\8c©(²Uî\ f\11£ç\98\15­Ujâö}k¸\rïQg:[Hl@\97±¹{¸þ\89"\9bç:òÆæx\87\ f\1c\87\93ϵÿd\1c»!è\89Ý\81 áW\95\93\fd\15\\11\ f[û²ª\87mãkëS\vÆeê,ΣÔ
-v\r,\80\8d\96Ú{\ 6ea¼G®\175ÈEi\91à\8cqöÖ\12²µ¥B\95H.²äHbÐ\b\97\18¡Àm,ͳEÜóÇäÈ¿öq\80ð\93\80f+DéK\13=s¸À2\87C\9c\ 5W¨HsRüFÃ\r\16\ 2\16\eàÇ\9dy\9a\1féå\a\1aÆc\1cí¼V1Û\1eÆ4\9e\1f\ fzæeó«\15>gx%¸\ eï\e\ 3. {½!\90×!7\88­\8e\83\18\9cÜnÀ\96\922\8b\87Ô<ë\14ðXÄ]\96H%\1e\84\8f²g\17\Sq¤\98<p\1f\0HY©8\ 6\80\9c\85ë8\15ß±\bqÃ1\80\0\93LÃ\ëXÇý\14Î\18\12¬+\91ª%µ  j2)¼`D\99YXd°êÕ\85Ö,üÈ\94{&T÷Ý\ 35Þp"6¥\ 5\ 5æG®Ð\91I\8cîgqcüJ\92ph¸L\13ÎÕa\9b Dâ²\85$x~Ì8\9c|¼ \10jò3<\9dÔå8\ e&\ 1]µ%¨¢Ò:G®ZÀ'WozÕªáx
-¡C\r\7f\96\0\8a\93ó¤²\85¢0¸\bÂéüH¥ÅJ\85\82²Zص\9e\1f7\vV\10¡\ 5S©*bå58d¡1¢\17P\e<¸ª(l)hõ\92Wê"5\91\12öÁ è\ 6§\9fëuÏqZ@\17bU\1a¨\8f\90(²1²\88\8c×Üuu½\8a\e@»vBE+£EgÌN³Zé\90òp\8dJÄÚE¥Y\80\1d\90=fùá\ 2J´ò\15\18Y\15L£Ø$\89\ 6s</àZÞ\1dÛVÿ\8c÷êý@\84)¨º\9c\ f' C\93\v°Àè ¥,R¤¹ð\18@HCi+©\7fÙ\kf¡\90Ç\1d×zHúR%\89\89\90\14î!¢`\1c\ 4üf\ 1DF¡F\90\8eÏw÷O0Ä\r\84%bï\ 5\10gØñG7XÅ\9dé^û«»ß\9e¤×¸o*>Mí\86\ 5­»\8aÑë0\1enå.­\13\8c/hg"¼\b0¶¼U\ 1S.púZérˤCIõ½4BÛN[Cbä\98µQ»\13\0Û\1f7\ fЮè\19qC6\85ráé\94\1d
-\95\ 55r\80Ï\10\94@\aë9^Õ5\8d\83Ì5ϾëDU©\87Ì£EÿËè[\9f±}\97Cð«´\99x'ñ3"­k=ÓÂ×L\ 3M,\87\17Í2i\10\9cØ\9aS´á¡\81\95¾38@\bmÚ´[\1e\1aDx»û\156°ÚÕgô\f³ \81\8bh\1du¾º\fj\96¶äoÛñ@°\94b\96={
-Äé\10\89ÞI{\rcëÐ\80]\87;[ú\8cQ\ 2s\ 4\1fìîïg}\16"kµNÕ¬v5÷wóE\87\8b ×~~\97\r\91q^Aü_¯Q\9fR\1f\ 3\16o¼Dß­TÚC\85{¬YV(W\9e2æGL\1eø{ñ^4 wp\14Q éüWwÙ¦ú\1fJ[èÒCÉ\ 6\ 4M\ 3î`\90 Ò\8a
-\8a\98Ï\93°zv{G¶Ý@&9icÒ\110\95Õ\1d!|í\ba@¿BÜxø¤nBj­â<\89\ f¿°Áî4\8b\ eÁýáºÓE^· 8ųI­â(ÁXå\91\1eð\ 4æ\95É\85Ï(\14Ã\93af×ü\f\8dóÐð;\9e°Àeõ\8c\14|2ì\91M|/Z\aõ.1\1dnµÂ(\84Da\84\92j\11õ\97:h4\9e«\ 2Î4\9cªç¹\9a\16©Zr{B¹Ç\9c\bdz*º¿\82\ fÀ\83\r\fP5~Õ3Í\8aQw>è\83tÄAÃ36£
-io`Ô\ePò0ßr\ 4°ì¸Þ\1f5®1\a\19æ\80\0ØWË6ÄÁ²Â:úPçdD\17M^ÇM§§\1f_ó£\9bOWõ°À\ 2:
-Î9\9b{ûîÿ.ë\17¸»j?áþº¹ÇíMçõm\vÕ÷\ e£\97v%uo»÷\9d\15ôòæYÃÿv½yÞ\9e;\8dZ\86¯¾îݽíÕ;xõnoí\9b\ f²ôMw^\1eC`ò(]\1e¿>¿¹\9a/c|xy\1cÿ\ 3Nÿ\9bG{\0}ãOïÅÛ\bÉ1\r¾ì}çjÞ\9e¾¾\92cN>\9e7¿\9dÃ3üà>?Å/èö\97å姫K\82b~á\19áÆFU\86éKD\97\91\1d\e\86Ó\11j#>úÑè;\99N\82éÙ9¦e,\ e§|Æíìà÷\83¿\ 1~5Ô7endstream
-endobj
-1418 0 obj<</Type/Page/Parent 1367 0 R/Contents 1419 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1419 0 obj<</Filter/FlateDecode/Length 1763      >>stream
-x\ 1}X]O#7\14}çWÜ7@JfóA\81VU¥\ 4\96
\ 4
-¬ö\ 5iåÌ8ÄËd\9cÚ\1eRªþø\9ek{&\13\13v\90\8c}?Ͻ÷\98¿\ f\864Àß\90ÎF4>¥|u0}<øt5 \9féq\81\17§çøRР\e\f\ 6ô\98\1f\11õ?¼(\\1f¾ï¼8~ü~0 þp\90\9dC<¤þç÷vïñQ\14\8a\8fð²ûeû\88\9f¦2g£o\13"ܧþ~\815øq\89\8fæ\9a\8dy\ 5.|Á¢ø\8d\17ú\vO/)\95Ú¼ì|>\1d\9e=<\1dóÒOW'4\1c\86ØõG§ìÜ\85®¬²NUϤ\174&[Ï+é,=\1d\r{4êÑøé\98r]U2w² ù\e¹\8d&£k'\r/ºÇªû\11ÖôÉ-¥\95Thª´£µ°\96æF\8b"\17ÖÙ\8c\1e¼\\1a6\16\8f³\11«_
-K?ÑJäKUIKº"åzÑ\b\1a\11¿>i_·/ÆÉ\8b\8c&ÖÖ+I\v\ e\95¬\1c¾
-G¢,\83m\89êV©0\92]\¨çÚÀG§i.IU^\90\15\90ºÑæå\19>¯á0k°jµ.U®\9c\82ÉV¼È§ã\8cn\82\ f4\e~»`?B \81]e\13Å\1d]pïR¯\ 4\94Ý LÒÐÔè\8dÅçÓ\91\92\19bA\e\ 5ós]\96ÂIo\11\82\8a\15T"i¶õ·µpÇ\12à)Q­l×Shgl\10\14¾B§¨\8a&X¤\11\ 6\9eÞ\87ÈÈgX\805X¨\fͤ\9b^ß>P\85xY\18í\96©f\97Å'£Óì\84S?±\8d6¸³\93\8c¹Ö\f¶zÝ#Y\ 2x
-\18õ®®B\90B\b\80?\1f\1c\87\ 4к\14¹ä°K¤\81\91Ì(pK#ebGÄw\8b\18\ f\91¨=än£ ­\93À^¨Òä1J\83ãå«0y5¦~¢\14Ƥ>¾TzS\112Pê\\94ðß\a³õ,\ 2\19\91]\vãT^\97\ 2¸ó5\94\ 53¹4\ 4$\14¯¢râ\99\11\9bh\85Y\15×5\16r4ö)êúÉë\08@ÄJ\87àóï½àL\13y»'ê\84& ´½mjC5¾+6½X\0Fv)\f\eËXT¹Ç\10\80\8fx\84\ e\ 2\ fPÊpã-q\92\91é%ðæ\10çFDF\8f?pÛ\ 3%\16©Ç\91\91¹T¯¾È\90¬V3G¹ \17)\11\90D7vhS4h[\88<v\1c\8ev\ 3)\84³5O4Þ±exÁ5Ì»\83\1cD?$j.Ð\91\e©\ 1\11~iFWÚ$&8\96\83\16+\ 1ÇÐ\ 2»=¯±\ 2>|\14ö&ÜVûjlëÐ\87\ 4}\10\85Àî\ 43\12ål\7f
-\ 6\98\18j0\ 2 ç·\7f\84=ol\Éî£5ZUHnÃ\87¢vKm\94\13\ eY9ôõ\1f[yì2Ê%öÄ\fZzU"½Mc\f9tÌe.jdX4ÑAVdåGÛGpayï$&ÊW5\92¹\r\98\1f\1c\8dg?ª@F\97[Ö>û\82\ e\9d\81\1cY\1c\1d¢-«\85\12ó\12\ 10ÒêÚä²\89ø0\8eÐ\9bÎð\fm»©=È\rE³·ö\81?)\f\1cÓ\9c6KÄ Ì\99XIè=\1dðY\8cÜ×´\99ò¤\9f
-\85Ø»ò-\84²á\ 2\r®=ø\90;Îj¥«þnf\e\7fÚ¹ÀU\84<­µò#¼\ 1_\1cy¥Ö/Ü\9a\16\98\89\98\84\98\94¡êYI§ð,½é\1a\93».\v6\8aç9\1e\98¦/%É«¤z^εYj]\90Zø½¬\b\16c#º"Ê@t[q\93Y\83}\ e\8cg\83ÁË2;ä´?:   \83î!P\9f-'\9b\86\11\1eG>Ñ\9f¨£Æ È9\ 3\eÝnÙ%¶xÎ\v\92=AÏp»ÉS\91íO\9e\e\13L³á·©¿_øû¥¿\7f\8e²FÃÌÓ k´Ý\1c\98êÎo\96\ 5þêï,kK7v¥\8c\98´v.æ¸Ø  \82ëï,\ 5+B ßQÕ\19XA\80´Gu\v\91¦+\84f\1ez\9d\95\98\9b L=䦭sìð¥.r£AOEõÖtÙ¸5\85âLoHþ#Và¦\r\9f\e1s «\19\1060\ 3\9eÄh* \9c\1e\80{{\1d Äx
-4F4s5Lý&\8d±\9e\81Xi²oU¾4ºRÿ\ 2À {\9d\1c+£k\aÆ\8dié+\ 6ìüïZ\9a·XÀ;äîé\88ó\ 3¢\1e\99\ 5]ß%zEQ Å ,Öê\!v\85×á}\9a\1d}½½ÿã÷ûÛ/w¿\r§¿Æ¾Ê¼\8f6\b\vÃY\ 1\r5P\88D×.ÝA\r3Ta\1c\13G¯p\87\97\8d\92@\10ÓlÝV \80\1e§L®Â,m\9c\8a\8c\99D=¤:Y\96\9eþø\96        p+Ù\9bIÄ/q&\80\a§\15Äßʪàð\8bHè'U¥kØå\8f#k\91¿\80\ 1A_.ïÐá\8c£áø\1c\8d\85_ølB/Î\ eÛ¼\a2Í-h\9eR\9f\ 2\r\925!9\ f\9eÁ\7f®êÕ\bl ,cV\82WìÊ^"ç!\ 6\83Yz[Dá,\10x<\9eûP&\ eû\89\91\91\8f7\v\11&\89j;\8d\8dç·û¢\ 1\1d6_Ê¢.\ 1ã\94am\ 3\ 1\16\80\923\12\0Ç\9cEm°T\8e6¸£O.zB\13ÆÉ\82\ f&s\fÃN$½\0\98(4ê\99÷wê)=¤ù1S*\1c-~aï?]\9dÇ\93óðô,\e\9c\8fñ¿\a\7f\80}\98ÜL'tgôw\f@\849Ç1\14|\9c­å}ýfyÿlÀÿ«8\1ae'Y8åùä\85N\14Û\ fo89;ÉÎNÏñÏ\r,\1e\9eó£Ï\8f\a\7f\1dü\ fÆzbþendstream
-endobj
-1420 0 obj<</Type/Page/Parent 1367 0 R/Contents 1421 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1421 0 obj<</Filter/FlateDecode/Length 912       >>stream
-x\ 1íWK\8fÚ0\10¾ó+æ\b\15Ió ÀöÆc÷Ô®Z\15©\17$d\82Ùx\17ì®í\80¶¿¾3v\82Ù\88ªÝöR©\e$gb23ßØão&\8f\9d\14\12ü¥0Ê \1fB±ïL\17\9d·7      \Áb\8b\7f\fÇ(l \89\93$\81EÑýR­%·\10®©VGÃá#3\96k\9cþ \8cí-î;        Di\12\8f\e¹+¨\80\9f¨G\9c'©¥ãý¤Aé6]ÍÂ\13\0>Oú4NÝ8sãÜ\8d×}hY;W¼(ßf«É²ûfÙC\ 3Ùj\1aÄY\10çN¬-gi<¤Ø<Î,\18%õð\848Ѳ7êFÂ\99­æ/Æ\87Ñ6H0ä \9eð¥+\8f\ fí§«ë\9f\ 3¸Û|5\ fO\b5wPs·¤ù\8a â\eí\80¹>pmà(l   \f\9c#`[Ú|[ò=0ÍA*\19±Ê\96J\vˬ8à\fÛs\13\93©·7\ 3HS\9f\QæÖpbQU\18ø¦\84´P\192¿SêAÈ;\10\92Ì
-\r\98uG¥\1fð.îʵҥR\eP\12\8cKH\83\19¬4d\b\ 3Ã90¼£&Ê\1e/¾ºV¶ì7+\9fÇ\19í\9f÷v²\ 3ymÁ\92\1d%wOÎXË\90\8e\8dw\17\18&|6\8c\adtA~1bÔ}¬¸,8¨-ð\ 3\97Ö &fA\15E¥ù\ 6\88Ù%\8cTG?iÜ\1cùÛ©\82í`ïÏÕÚ\9d2\1d\ 2\86¼\15ȲK\9bµìÅðµä\12\84\ 5ó$\8bR+)¾s\ 3Þ\0ìðtÖ{G>6jÏp\85[NÐ\14¥[\8f\8cÜq|\9f\16îl1[\9e1,-ÐEXÄ´\ fLnPC!3\84é,\86\89K\14\97x%3ç\107>£ÐóÌ)\1fDÁ"Ê4F\9e[.\9fEC©\82\81=ð:¿NÜ\15e\ 3¿\1fÿ=i\9d²¾fäóS\7fQ&*hH\ 6ù \88'¾¡d#¬wæ¿ãæ¸]\¾óIw\96êÒòÛÔýò\rûã\ 2ö/óyÃÆ\97ù\1c)¾Å\v¦\92k$¬~]DΨçwh=\94\12b¯¬\ fëÊb-³\90·  þFHtþÔw¤x\91¨\89Ù½=,JH¨ÔTôj\10ÈËÀî\88x]\11ý\ 5\11ÏNg,­k\16¡suNóB`Yq(öÂ\18*\98¾ÞAMÊ1ÔP!r¬\8a\9cË\0;5¶ÁÂ\86µ\99#6±Å ±\ 6\14¥\90HãTÀ5ß«\ 3Ö'
-¢¬Ný\í_m·\18\vÁ~ÆÃ\ eÒ\89\8cá=íÍY'ùÊÆØ÷y"m²ö\95\8dÃGÂ9e^\94ÿ²$ýißûÊóMß>®ûöt8\8a\93q\ eÃá»ú\ehòq:\81OZÝóÂÂ\\15Õ\1eé\a\e\7f%)Ó£F!\1a%ô1ÙÍâA\fSêh\89°X¡\95ÁVÐ÷ñ¤0\18\râÑp\8c_\9førzES×\8bÎçÎ\ f\7f"¿aendstream
-endobj
-1422 0 obj<</Type/Page/Parent 1367 0 R/Contents 1423 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1423 0 obj<</Filter/FlateDecode/Length 1571      >>stream
-x\ 1\9dW]OãF\14}ϯ¸âe©\84M\12 \81ª\8b\ 4Ë"ñ°YZ¢VUÕ\87\89=\8eg×ö¤3cØô×÷ÜñLâ\18ª®*\94\84Ø\9eûqî=çÞü5\9aÐ\18\7f\13\9aOélFY=\1a§cº8\9bàýür\8e÷)^FR1º]\8eNïÏi2¡e\81#³Ë9-sÂãã1-³ã§m\93\95F7êoá\94n,­¤{\91²!WJÊu-TCµ°N\1aZ\19ýbñ)\9a\9c*\9d\89jpÃÒ\8bª*ÊtãTÓJr\9at\96µæ\84V­ûaùe4¦dr\96NáÿØ\95Ê\92-u[åðH\82àAä[|\b'É*×úpÒpl:KÏùØCAR!2CF·\1cÓ/\13Òx\9fR!Te}Ð\85®*ý¢\9au\17\8e\ fáG¶\ 3 \92hh!jiI\17\88¶Þ°%|iH\8a¬\84ó\ò\1d\ 6@5"ˤµjUIj\80\8c6_©0b]ËÆ\85|\11>£äð\929\15\bGØA¶\95F4Âr©j@ã¤=\81iï!\1am¤Z\97\9aRkÀ«¬³>ù\ 4\85\8b MRbø²ËãÆ9Yo\10
\ 6ð\8dÌ\1cÿ\8bØí ú}¢¾J\8c\97/L\17\85\87Ãßh´ã\8a\18YëgÎÇè\9a\9d&\aÅÛ\83ñ=qO_Ç\8dBêf\aó\1eQtEÖ:À_xÏ>¸ß\1e\16O\84Æ{\96h%åBY\9bjë;\87+\83\8c»:\85Ç|1\95{]\ 6nZÛ®\0:rßRk¹Mº\v\89²ºBó¡\1f\8d\16y\86\9e§\85\ f\9f\9f¨\ 1<@\ 4\ f´L\92\94\96è\rY\14\92\0ͬªU%\f\ 2\19\95\82³\ 1_¼«\10%ÇKw»¬v\85\8eÝyÖ\ 1vz\7fE\13е@½/(\99\8dÓK&Á4½HéI:°lMí\ 6¦z\b±ÿ>ß\93é<\9dñ©\8f\1do\ 4=\89z%вY\89\86eöà¼jrp\9b\16KØe\9cw·káQ¶ÒyOȶï\f@h@îpÕ[\1d$\1f} ]Ïñ^\98´Õ-Õ-0\16y§­Þ0È¡\8dÉÖ«\14\9d\8d~P¨4_\aöVVÀ\1eµ\8a.<Á{-\1aØõǺÒ+QÙ?q"óV£»
-ÉwX]ì´qÇ*¨\aÔ©Ýl´qô\9e¶ÒwÒ!¬A\91~\85txÝD\91;d7F>+ÝzJNÒ«\14\15,\ 5ç\88ÞÞ\b\83VbáÊe!ÚÊ\93\15æS\ 2!\18\92R<C\r\9b-é*ÇS(E´>À¶ó\ 58pÊ줠       ì`]u\10ô5øaÛõZBYso»Ý¬\8d\80¶¡\1c!..þ
-4?ñm\80`\0-\n©\92Üþ\Y\\1axÞç\0\1aý\8e\8b" üx\14¢\13*Ò©\17*\12{úS×p,\9a®¤£Cì\8fÿ\vñã£\8eö_¥ä\86g}dZ±Û>I-XºÆ=i\90³w\84 ê\13¨\83'\v$X\f²a\16²f\1fX\19\8e\9dßQ\99\ 2\134ËÏçÅG8áVñ¤IéNÓâó2âö\7f\92\f½\ fDk\r]\81|4,\94\83 »â\a¯á^Ä90²Ó\85W¼f\ 4ú\fö\8dÑH \85b\86ܸ\vvTU\99¤\ 4wd×h\8bå \94\g-\ fC?®=\92¹Ä(¬ÐÒ\v\8d\ 5°§/Þp'2\90zdgä¦R\19O}Dà\a°F\0PzÔ¶\eã\8cÄÀkÄ\85Ï@ZBà ½ð\ 3½\92ß\82ª\93l\9e\15ØÀ!¦tcé\93Ê\8c¶ºpp\´èWX\889\84\ e\8e\11\81Ö\ 3·\e£\9dÎ4\16\8d®\ 2\88\9fÇ%v\1c\ 3ûè\bpéLm8\9dN\82à¡g\8f\89î)ºÑa©\bBU´®íê\rE\1cxõ¾\92ëΥǯg\91bL \9e\97j\b\v/"~Áx)\15\16\1a\8c2вßN\873`à.\8bKY@õUË`\9bë¥ì\99À³¼ß\94\91-^θ\9f\8e^\13ÜK@O²÷º\ 2ÇC\ 6Þ\14,\9a\a\9d\89ï%b[ñ²Ê\ 3\81`§t~°ÈÆî!\85NDaê\15\89\ah\98(X       ür\87
-\8f\9dí¨(<´°\ eø\ 5Òëú\8e.ÒD)7{\ e!R¨ò`ò\9eð@«â\1aèÁ\e8\8e³íáqç/tËÑ£Qµ\80N÷Øt\ 4{\12ÛtØ\\8f>`\r\1aØ|\14\8d¬\92\1dg\9b\?Æ\8e\97\1f\1e\93ë\ 3\83¹\12\95^[\8e12øê\82GEü¶Xú\rÀI$òf×\82\99~\9dàÂõÒ\b1öP{c\rà Íìä³a\8eïÇxÐþ¸\1c\f²äUÁ\92ß    Nïÿu¾w¡½§k¿Þ!­}\84?±Á7çý\v´I¾y\84k\1c~\9cpÈ<X:ÃÝO\89~²±²ð\89-µç×·ýéýeXI&3ü\94»<£Ùì¼[ý\9en>ÝÞ\10\8aö\85\17ý»¾örÄI<\90ÌÇWßµ*\9eÏÏÓùì\12?\f\1c³\91\8fËÑÏ£\7f\0k¯¤Yendstream
-endobj
-1424 0 obj<</Type/Page/Parent 1367 0 R/Contents 1425 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1425 0 obj<</Filter/FlateDecode/Length 1414      >>stream
-x\ 1ÍWËnÛF\14Ýë+.¼©\13È\8c\92\4\ 5âæ\ 1£\88\93Æ\f²hº\18\91C\89        9£Ì\90Qõ÷=w\1e\94ÄH)²jmøÉ\99û<çÜË/\831\8dð9¦Ù\84\94Õ\83Q2¢ëùe2§«ù\f¿Oðe$\15\83Ûtðäå\15\8dÇ\94\16¸2\9dÏ(Í       ÇG#J³ó{ÝHjV¢Á·ÒRU*I¯ß?¤tÿ&¥Û\17ôð"¥Rá¡$[/\92\82\8a²\92¤\v÷Ï\aQ/\ 4Yi¾JC"kJµ$aÝ£\ f\ fáÉ£ôÓ`D\17ãËd\ 2ïçeceU$tWÐV·8ÓÐB7+wë\8cÏ>yy\1d">ß\94Ê\92m×km\1azJ[iý\81\98Òù\19éuSjEBåß±à#|J¿*QË_NÙ@\9e\8aT½È{\11oʪ¢B\94\155\9al#L\93\84\13\93irÅ9¥+\89z\v|5\eMkmm¹@\99l&\950¥¶ThÃ\99º
-µkÊ\f\8e ±\85âì\8dÞX\94.!\98A}\8dm(\97\rüáÈñ;½\0£\ 5âB\10ln´ùLh\17\8c(nÊ\87RåpB7×CòMãzÅÿÞ§T\8bl\85îsï\80\ 6NDé\86-\14å²52G[{>×(\ 3ã@ì\9by®kxô\89X\89ëù¿eÒeϱ\87ÈC\14\9e_\ 4ë½X×\84'/oh\fT3¼/.¯|;&É4¡\87]énC\85\19Ì\88÷Í»ß_½{óþ-[Þ§ÇÅd\96L];Ñf4æT£N\96¹«"üà2в\90=\9fCWX¡Neå8¡$*ÎXóAhÐò\80jÞ0ÓÒ\97\82^\vÛ\80\82.Oüüx\8eîí3\eä~\fN?îye\v\16\8c
-zkÊZ\98m´ù\eàctUI3$Q5+Ý.W.\19E]\ f\1cå\9c\85\90:­+±µ\9eи,íÇG\ e\r=ÇüÈ\83'$Pû\ 4\1c\90\91\0âE\8e\19¼\v\97\87ô0\91\90\80MF×TéLT\0®Ë<\´®5`«ËÌÑ«\8f[\að\95ø\8a¤#ê\89±\fåZ8~\ 6Åc\ e-\8dn×     \10Îé\ 3îhDLô\80\e°\95\87xzéÆ´$X\16Y¿Ñm\953>\84\9a\13Í©ó9¤V      \96\10\87\ 2\8d\9e}\8eø\e¢\89Ry\11\81\9c60ÓóËUX\ei¥²¡Ü\aQ\86¢\1aOúZ|\ 6ÿ\8f*ÓNÑXÇÄ.̾\ eÞ±\10ï\bFR}-\8dVµT<bäa\91:÷u\vÅãJ\1c \1c¨ó\9a\ e1r'´ª¶½\ 4q\89{r<«5ªÓ\15\94\ 1Å\8eT\87Î<\ 3\8eÚ\19ö|2)9\97\ 2èÔ\18PË8\82\ 2nþ\Vz!ª¿À^LD¨Z\18\96\87\13ôg¶º\9bt\10¯8K\ e\8382ôöΦ'kj\ 1XàKT\16óÈÈB\1a\ 3<m¹Ì\1cü1ò¸!\85éLz£v°Bü&G%\eÝ«\ 3O\f   \1a¹ÕáTQlÜ\1f~¨*#º  \8a>      \8aNáãDqx½\18aýÁ(\8e'\ f2ìªxä`¨\ eØ\17´ä{\871Ê+$]a\19\99\16Æ]ĵ%,\ 3'\10Y\8b®\ 1\a¢ùíÎ4¤Ò¯GF~iK#ûD»\97\7f7C¿?ùF\83â\98Óh\ 6Æ·\93\99\88:/\82q\19`\9d\8f
-æÎfà+67\8fÿ\83\9a\ 2å{\9dg\0uÄJè\19´h·BP@\1eó9\b\1dH@hKn\97\8a\8bÇÍu\fÆbfuC\ 6ö¡W\8dTýE\f\ 4û\8c\hÌ74L#e]àä\90\80ó²ùɺñj[謠¥Ö9\95¹\14¬¢-\9bdÃn"i8þÜW\1c\Ù¯@/ëX\8fÿ
-êª#àÿ\ 6éϵ+wè¯Ó\ f×\12 \v²ÑßZ \85{\ 3p\b\86l=$6\ 2b\8d1\eÀ\8b\a\864¿VlV%\9aùíhs»\15\8e\1d´,\8e\94>]R\9c;Ûïí\19Ï|L\ 4Þ\9a\ 4ë¸\r³\aHù.\1dÜ6Cg}Ñ8£L\0\ 1Ì/\13\f>p(c´E\fÉ*Î\ 6(-¿P`[ìÞ`¢ÆìÇ\bÐÅ\bW%ö0©Ü:\ 6Ð;\16\97M\ f¬\81\84\18Onuèû\8d»ó<¼h\8d§xm\9c\14¯\94ÐÐ\87g¯o\9fa\1fÔ\9f\10&öÁ¬å \8eíH»½õ"\1e¿\98\8d Ôùù\ fìÛW³«d6\9dc[ç{c\ eûE:øcð\ f£ÔÉ\vendstream
-endobj
-1426 0 obj<</Type/Page/Parent 1367 0 R/Contents 1427 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1427 0 obj<</Filter/FlateDecode/Length 1346      >>stream
-x\ 1½WMSãF\10½ó+:>AÕZkË`C*\9b*\9b\85Ä\a>²V\8aCÈa$\8d°@Ò\10\8d\84Wÿ>¯gFF\16f\8b\\ 2\ 5ØÖL\7f¾÷ºùç`L#|\8fiæÓdJQ~0òFtr6ñ\8eéøt\86×>~JI\89yàOfo\1f,\82\83Ï\97Ç4\1eS\90ÀÖôtFAL°3\1aQ\10\1d.\13jTMkñ"I\14t\1dP.¢uZHR\ 5UkIº\ e\vYᥨÌÉMª×T)
-¥y\9c©Hd¸£+YRXª\8dÆ_Ü+Ìá\b&ãT\8b0\93GÁãÁ\88\86ã\89ç#\80Ã\95ÈCAI©rX\8aT\9e\16\ f$h¯µ°!-«\8aOp@\89Ê2µáwê¹JU¡)µ\91þõ\90©Pd\7fãtÄ\ fH%|¡çXç¡\17©"¡$Í$ýÌO?_\8eèÌ\96\1f£\84\88\8fÜW¬r\ 1û.Á/T¨ÖÞÈ;í\1eÜ     ý\aç\9eK\99Ȳ\94ñ\al*M\99|\91\19\91\rô\8cÆè\1f7r81qúÞÌ£\95+OýL\vn\ 1\17\aA\vúzs5_^Û«¯\18\18ú3oʱ»æ\v HÄ1ß²mA\ f_d©¹Í\82îÒ"\86M\86ÆW[\8cm{óZW¨HÅý!8\17;÷Ih\12mµ\ÛwËéðâÑ¢¡X&¢ÎªO»\1eoË4\17eÓz>WEU¢ÿÀX¢JNÐFT\88\R
-w\99V{zîNõPÊ\16\f¬ù6ü\16Ü\92¢Ág¨\84¦M\9ae@´\14O\94&ýÔJù\902äQ#@ÒÚï¥Úóv-«ÅòfE&ÔûCÛ\99\8b\8fàªZÓÝòz\85®Áª\88\1dtéöë¹çÌúS\vÌKDm9©IÁ¹ÉÁ\12@\81µ\80v\ 5Àr/9²Nó`Ëp2\17\86OܯÝn£]\ 6Ä?Ì\ 35Öè\95\8eÊ4\94±G\81\9e\80\9f\1dcx»Ã\87V\18\18'\1cÖ{\1cî¹~\87Ñô?q¸\91º\r¨Gö=$~ÿp\87ÅÓ\136ØÕã¡ßeb+®V\8ewK\9a¤\ fk[=\999\813¸qz\r48Áf.8ÕfioûÍu\1f¨mF\8e\90F_\ 6ô,J\c\r\aç!¯xa\9ehËMeñ\ 4\86±EVõª\ 6Øؤ*c\1c\86Ônã0\9c²ìae\97\1fB\15(\ 6k\r±\16\95\0ö\88±\9e+|\12K\80:s)"
--­óVé\a\977ßÎ\97׿Ñj~µ\98SpC\8b\8b¶u.Ñà÷\vº\9a¯\82\8bo\ 3L\1c¤Ø'Vw\12vh³\9b\16\87\97Ë<dæÛñBNÒP}\ 1ÁpÔ´rÂÅâ\eºÆ/\93\1e\97¥\17\98È6¢Ñ<O]Þ|òÍøtX0\ 3³\12\ fô¬b\99oÉÕÂ\ 2\14\85\94an` oGkÏé^vv\ 6í{\ 4¥ÿDÉ\93íÚ\ 1\98[ùrÕêÌÓ]¥àÉI{è\85O;<Ú7\r­}ß;5¸\89¸BÚ,\19¯Ë\8aõú\96\82n\1cÞ­y­aÈZY\1fìJø\80'\f\90(Kl+\98ß(\17\88ÐV\1dA«HjMµ\19¿h\8a\88#¬E`Ð\ 56ªí¹^#\9e\ 4Qt²\8dÖQQ3¼\18][Rb\18­SØØ:Ç{¬c(S$cYD\92î\ fÃTh\8c\12Ak\85¡¬×ªÎb»ÖÙõ¨ç·\r»;{\1dÆj\8dü\ 5\ 1?\rKA×\r\ 3«Z×<(øPkÄl
-\8f¼\f\88PÕø]4<\8bd¦å;,Û\88¢rîÐ\1els][\f\7f\1d\17\90-+G\ 3²;\9e\18ýÛY\0;H\1e"\89âÙ\1a¶¾Û\9dsY¡\82fË0\ 1\8f<úÓô
-\9bÔÆ\94ËL²´2ñ0\99_óSÌ&¦Tã\86®n0¨sÔ]~\8fäsÕ~Ê\80ëUÚ\9eÔ?Ý\1f¹\a-\15æ,Çm^h·ß\8b"\94èñ]r\87Å\18e\87$\9d\9d\10åå\8dë:\98¯<\9a\9b¿­\ 41\88Üvdzh\14¼\17ÍÄo«Ò\86\11@Äsñ=Íëü\95b@º\7fâ\86Õ©cñx\8aÿ8N'4\9d\9aÅ×Jím©\1e1\8d°\ 2Eu.±{ðæÍ>\87íñál\84å:>üè¦z<;öfp\81\7fOpÉg[\17ÁÁ\1f\aÿ\ 2ê\13$Öendstream
-endobj
-1428 0 obj<</Type/Page/Parent 1367 0 R/Contents 1429 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1429 0 obj<</Filter/FlateDecode/Length 1591      >>stream
-x\ 1\9dWMoÛF\10½ûW\f\ 3H\8c\92\a\em\0\ 3\8dÒÂ*\8c\ 2¹¬È\95Ä\84Üe¹¤\ 5ýû¾\99]ÊÔJ.Ú"\89cQÜùzoÞÌþu5¡1þLh1¥\9b9¥åÕ8\19Óì~\92Ìhv·ÀïSü«5mü\17ód\1e?\7f\]}ü4£É\84V\e\98\9aß-h\95\11Ì\8cÇ´J¯\9f6t°-í\95iÈ©r­¨±´±uªI\19Ò\85N\9bÜ\1aÂ_רºi«!5;\8dOºá_hPÕz£ëZgT*×èz@Û®UA¶\92\939Þ-×IjÍ\ 6¦?¬¾]\8di4¹I¦\bãzpÐn\90г8ÞçEá\8dïÔ+Ü\93+òí®!\95½":µÕd_uM\16nkªl£M\93Ã\8fwKëÚî\9d®\1d,(\9cAM\8c\18]ä8:\94Ð\1fNãdî¨Rµ*5\12¡}Þì(\85¥!)G¹/\94\84Öì-í¬k\1c}½Þï´\ 4\84\1f\aq»ÏM\86Pèþ\96lMËUä\19ϤÎ_?pQ¹\84ø¨©°)rqíÚ °kä(\15\96\10.\94\18\18\ 2\18\95®s\9bå°P \ 6\93\11ªÝä¦åÏ\91{     S*}\ e2 ²u\86Ìa~­S\8b°8>\1fÚiÅ\92`v:\a\13\ 1äE\1a­\19ÄAfK\ 5˧ç\a!ò¼!Ô¼fg¥6\19X$ð1%Uá¬\14á-ÿ(\17orÀá\86j jÕ\ 2IÏdI\93Y\10\92Qt1\16¦»$ºßÙ\ 2$\13 kúõa\89rD._ð\10Lða³i\89R]¬\11ã\9b\83#vo\98\9d*KÑ H×\16ªA¢\1eë³BJA*ë\¾F0H\8d;'߶ 4ÓÎg\ 6¢£\15ÀuKªitY¡\19O0{?Ñ®\b\9dã®\15W@z\93×\88Ð\e÷@0   \1cµ\15\9a\ 1Í  @\99\10\17\8d\807|s\9e\ 6)GßÂ\8c*Ú#ÚE»¤\91é\81\ 4¡\eí\12\a\1fÏ\ 6­æãTÀ\82e¡ï\99\99¥\8aZ«ìÀaG~/;ãæñÝ¡ò\82]±"Ôö5ÏP\ 6Õ6àr\93§ lÖ\9aL\99ô0$·³mÁahJ[\b!\84ôÄvä7è\14\ 1\7f÷ñÓ=M Ê¬Î£\9b\99ï§ir\9fÐgõ=7Û\90\13Û?³ÛWöÑt\ 1õG/®â7}\8b¹Ê\1aO*æ{j\vÐ\90ͳa\1f\14\159k\1a\1a l\8b&¯À?ORGhEiLy\91\98\ e6EÂqzºÙk\9e\ f¢d@ëO´2¿\ªï]_ª\14}ÃB\1deDë\ 37¼D\15ÉÆOÄ\93\82r\13¹ëFKB\8f\aÊôF!pîÎ^ëC\83NêÖ\11¿\93®%&\89O\8eU' ¹ü²\12íyîFâEês!\15ímý}[[4\89\94h\17R\ 3\151\83ø\a\1e¨8ðå\8a~\16a\8cÃy\91é*nÁ½ó\1a1Cùé©\9e\1esf\bQ~\8e,¼¡\8c±­I5ôU\ 6V©²¸\17\10üv\87Ñá[\r\0\16\98¿¡ß0§6µ-/*\1c¸\ 2\16 \1a4\9eÇ[¦\ f\1e\18\19A\f4>\94\10§\18·\83Iwµ59ĺO¾¸\1aïÍ\15®À    ªìÇÐ\13âØn5Dìd\82ðÛ\ 3ë¨@\82Å\80vX+H£*ø\ f²é\99       \81\8db\14\1a\19w\\82\1cö\0\14\9f7\9f·\91\14ªÜ\1fB0¹Å;^\8að\ 1X¼»MÅù¾\91\11³\9b\93@e\83Ö\7f½ÎMZ´ÙQ\12\80\8cÌú"\17d\ 3sAÔÖñ;\8a^\9e\96Ïá8çYk\8c\1e\0»ÔÍãÓ\97ç([f*ÚÕ\17\1cú\10¬ò"e\r¸á\8d\ 2+?ÇD9Îl
-ßQ'\ 1\83Ç\15V*³u¾\1dE.~d·XeG]ûI\8e\97V\8cp\8aó1*ÌB\11ü¨\9f»ÍÏoi¡õ%d\1c-¬e\r\8dr\r\8bW\7fç\12 FØ\92»y8I\88OáÉ1T\f~\15
-C;UU\1aä\b`csÈX8»ØF{L\8c>³=w\14Ê\88f    ÃÐÏï4Õ\ e\ 2!\ve\10¸QoE\16Má®\1e\1e{ü¤$\1dªÌñ\80¬W\1dDãõ\b\8bêYvS\9fÝhz\8b\99sïçÆÓf\88 ö,\ 2ð\82\8a\f\ 4¥>'.pÌÃþ\9f\ 1æ]5\bÅ     cáV -,\93\19#H\82au­õ\96U\8eï\1c\92¡lc\11Ä\1d\10\9d
-z\91     K=ת×\1cC\9fÞ%\12zæb?Õ9:GBø\ 1w\81\8a½õQRY\ 6 \0\84Ê\9eJSð}\ 4¡£~\8fb\1d\ 6¸M\987\92\ 5¿Ì\ eoñÿÓÊWªãQ\1c¾\8cË÷\80èIÇ?\93\8c³ïÐ:R\ f\9dâ"lzøq±NX+7\1ev#ãó\ 4$~*í#Ñ¢ :Up:\f\93\9dU9Pý㧻p       \9eÌpi¾»¡ùôÖßB\9f\1f>?>Ðoµý\86Û.ÆrÚò¬Ävd\8d\14j2ÇM\e\aF\8bñ=/Xÿr9\9b-fÉb~\87µ\8eÏÜ°©_VW¿_ý\r:Ù>¤endstream
-endobj
-1430 0 obj<</Type/Page/Parent 1367 0 R/Contents 1431 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1431 0 obj<</Filter/FlateDecode/Length 481       >>stream
-x\ 1\8dRÁnÛ0\f½ç+\1eriz\88f%\8e\9d\1e[l\ 3vè°!\ 6zÉE¶éD\8d-y\92\7f?ªI\9a.\ 3\86Á\90m\81äãã{ü1\91\91È\17Xf¨ºI"\12d2\13\v¤ë\9cÿ\17|\1c¡y\r¬RÉ׫ÀC1ùðù\ e2GÑ0V¶\96(j0N\92 ¨f\v!\13\81¯6\10Ti\87\80ÒYUWÊ\a¨ºvä=ùÛâ\991RH.\8d\18óE.2F\99}iðb\a\aCa´î\80\81\93¡0M¦(\95§úo0lg\8du _ªë[\82\ 3ÈÔ\1eÚpe²½EØ\93\89°\18uÛÂ\a§\ f\14\19p_¹äÁ¹oïlÙRç\ 5\9e´©íè\11A\9f\98ÂÎÙ¡÷¨-\1316À\13u\b\16~è{ëx&$7þ=-S_zEXU¶/h\18\95y¨pÕ\97µ\19½6;(\8e\eÕ\11Zk\ f±áhÍMà·;\88£Z\17ÅçËT¤\915K-\ 5\1e\876è×ÙM ×¨ê\1fúnTW*\9ec<ó÷èTµ×\86§\euØ£;\83\9d\1dÐo \ 2Gw°W?é\92xIøSè«I\r±{¬\e;\1aó0½ÔMaû ­\89\8eù®\14\955ML\8d\ex\e¹ \13Ø\10½Å·³\15;\eMª)(Ýú\93JëÓNÉ\8c\97\84\åG\87\8f\ f÷øæì3U\ 1\1fm5td\82\8a}#Óù¹`\9e'w'mÿk\8dÓ<\15y¶æ%\8e\86¤\11ëS1ù>ù\rïÿ\ e;endstream
-endobj
-1432 0 obj<</Type/Page/Parent 1367 0 R/Contents 1433 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1433 0 obj<</Filter/FlateDecode/Length 1657      >>stream
-x\ 1\85WkoÛ6\14ý\9e_qá/M\8aD\8d\1fKÒOÃ\1eí\96¡È°ÆE: À@KTÌZ"U\92²ç\7f¿s/ÅØÑV\fM\9dH¢îã\9cs\1fþz2¥Kü\9bÒõ\8cæWT¶'\97\ 5.oæø\Ü\ãs\86ÿ^S}òãòäÍû·4»¤e\8dW®®ohY\11\8e_âNyúÓZuQ{\9a\17ô{׸r\13Î\96\8déuzãb¾(fxçt^L\vzX«H
-\96]:ý}:¾ ét8>».®øøÃZ[RT6FÛ\88ãÚ\ 6\Ö¦Ñd"\95Ê"¾¯½\ e0gi\92ÌMÈùt¤Ñ*è\82\96k\13\b?\8f§ÑQ0m×\98z\ f3+\13\1fÏðû©G,6jM\91\ 3³\8eù¤\8bé<Åì¬&Ý\ 4Mk\15p\ 4\80°\7f\ e\86­õMTV»>4û\82n\11HÓ¸]:7\84\r¯ÖE
-ÚV\bsO}W©¨\ 39{°\863l9h¿Õþ|\14@\÷\ 1\89V}iì\13\ 2¶:î\9cߤ8TYê\0\7f\8e\80¼jh¸~<u¶ä\8c\86p\19\ 2\9b\81,U¹Ö\8fg\ 5ýð\8c\1a­¼V\9b        ã´\ 3èÿ\8a Ç&i0     \19ø!òC®uÓ\87\0\8a\ 2\95ke\9f\90ìJ\95\e\ eò(K
-é2Ñ)ñ\81jg\83      \11|\8cB\b\11 Q\rn\1dlàSÄ\0\8b¡\a\ 2º\ 2ø5Â\1aâ¨\95i\ 4\14¯Cç\0¼¸Fr*ìm¹öÎ\82±C\ e,³g¨XV+=r_:ï{¨\1c~~Õ\19ÙIì½%W×YÉ\13\10\1cv\88ÎÔÔièQ\8bÎ×jË̱VÌE\ f\92_P×y·jt\e\8aÁåìªX°ø?ÙF\98\ 5\85\eí­\ 6 !\8b\9cÔ\ e¢\9d@Ó÷¿ÜÒíÇÛÏð\Ñ\acû¿Å%gãl³'H\85>ÝÝ~\ 6\a"o®;¨\9c\9f·®\ 5Î\8fg£TñÈr\ 2jP\14¿M\bRt\96ä%Æ\ 6e½¬\ 16lé^µ+%õb\1díÔ\1e\18QÔMÃ(ÄT\8e#§®,{\8fÇçY\15GU\99d20\v\fVÞm´\1d
-\9bÙ\1aÈ\91¤XM\ 5ݯ\9d禠d\p³Ø»\1e\ 1\801r\9eLC\1cRK)H\b^µC\8a¨ûЮª\84\a0\85\b·FÑÝû{A\1d¦_\ 1U.rß[Ëï'"pN¨\11L²VF¾\87\1e\16\82Rwñ\14Ö j¬\89É=ß\ 5s\95\ e\13F@£/=ßa\98¹.8\82Ô&Ï\81        Ø>\80     ´\8cÝ*/\rõ\82\8b\aµ\1aèçww\7fþõðñvù\8e.F\ 1îÖ\ 6gZ\r0\931\96\ 6ÚØq\19r\ 4CCÐ\15íL\ÓÎ\eÔëÐ\8dTÍóA\98\aÍÜmSÿä\8e:Ô/Þc\98FÎqk\ f$\ßT¨Iª\90[v hÂ\10q®[ã\1a\15\8d³\13ÒÞ\ 3õ\16\85£\9eX\a\83\10m\85Zb\a\80Ë ×{\8b\ 6µÇ\9fÁT`\1aäf¤s×\17Õÿ\9f\93uH=Û\1dp\r\ 5ýÖc&¡f¤î\85\ 2 Æ\12´hU/Æ\86´\82\ 3jµw-x|0¶â\91Â\ 5~\14\95\98{ÝÂÑë$lP«:\f·R @P \9eÛ9\88@?\1d\ 6<¡\*\19ÑGC\8eKH\97\91Å\8dî\an\11$4VÐ{½;6\8b0\90p¶Ù\98\rgo¹D§·ðSkn\80|ªô\ e\93©\ 35hÛ-z\95D\8f4Fé\ e       b\18c"`Ju^\95ÑÈôBü&ØW\11½\13"\84¼\15£Êí2ó\95»åä\ 3\16\ f\88\ 2¯a\9c1ÃI·\93Õ\1ebô<\8a¸\88å\1c\1dÔÏ·hzI|
-       ÆaÂ×uÐ\91f\v©Íc=gßY+yÃ\80\ e8qÅI¤²Ù¡é=£\95Ó?0ÚuàÇàHéP·\1e\13\ eÛÑ@7\aÅK\vÂáE\ 6AA\ e#äî\96Ü\8bÔÊm1Î\ 5ó«Å\ 5ö\1aê!ì'\v©a8!      ð(Î\93MæF£FAÓ|Êk\10\e¹\9aË_,2~>¼\8e\9d     9E×ÉC3V\rfY5t®ô
-/\15ÿUs«=0õH\ 2\e\9côù$OÞ\12ØÁË\9c\8cc\13¨!æ\b\b\f`AýHÇ\19!\90ßÌ\95*-¾tm§#w\86\940\XúÂ%éõ\17¨\9cLÛêÊ\0îf\ fÜ.DÂysÃ^ [E×ñ\bIx~Ãi²\8e\82\99Ï\ 4unÝa\8fí\ 5Ã\9cîQgh;Ø4Ñ,s\1c \93ÑݪÆ$\9c\16uË\Y8\16\9eêÒÆfät$axX>w\7fÆðÈ\85H
-í2hä\rèÅæ0Á¹¦o1\8dÁ>Z!Ô~\0ZneSx6
- a\87\r\9f+ïΡ¶r\8f{ÞÀ¸µ£#¥ñÆî0x"M6\16­l\92\8ec7HCd\18í<Ê\85?\8e!\8dAY²\1dõ¡\97\9cæn0
-\8cÛ\15\8f\17ì\82¼cã7c\91\a\12_³Á´[g²S_\90\1dY=)Ôëq\7ffK2g\85P\f\9e¸c$\19Æ\91k.\97,Ág\80sq¡:ÒüGyÉBpÎ\85\96÷\80¼3æúÁaq÷F\§mðÍû\9bÃ\97¢éÛyÁ_¼¾ñ}kq½(®¯nðý\fGfßq ï\96'\7f\9cü\ 37x \97endstream
-endobj
-1434 0 obj<</Type/Page/Parent 1367 0 R/Contents 1435 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1435 0 obj<</Filter/FlateDecode/Length 1631      >>stream
+1148 0 obj<</Type/Page/Parent 1119 0 R/Contents 1149 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 463 0 R>>endobj
+1149 0 obj<</Filter/FlateDecode/Length 580       >>stream
+x\ 1]\94M\8fÚ0\10\86ïù\15\1e6\9bï\8f#¬h\8b´[í\96H{\ e\89\81\94ئqRÄ¿ï\8c\ 3É\80\10\91\1e¿\9e\99wÆNþ:>xøó!\r L \92\8eçz¸2=~ÿ \15\88ó\ 4\9f\12\ 2ÏÍ®ÐÂÆa(!\f\\9fi\f%$á\94\84â\18\ 27`q\f%ø^è\86\8cjä¹9S­S\8cÏÐid³Z \8a\f±bLa\93ÆPB\9e\92\9bIc\88õ\82ÌM\98hë%9®ád\122jÁNfF       qä¦Lc\88^R7b\1a\873äI9\93\9aÑÀ§\92\9cQM\127æ*ctëçwe9S/Ñ]]Ψæþ]f;\858Á|x\aR
+´@S`\88\86&\8d¡ÄëG\13\9a4\86Ø\89\9fÑqM"gTS\8fÜÌ*cT3\9f.ì¬2¦)Dw±¶\93(Áó\8cð\1c<\bðß      Ø9ËÂyù\9eãí\87b\87¯K\92fPÔö-Á\95êi­úN×CÕ7Z}+þàÞ\b]\8f{\9fñÎ\ 4¸û©84\ 6Ne×C¥U_6ÊÀ^(Ñ\95-4j§A+8è3ô\1aÑôeÛ\82)å¶\84RÕ7\ 1\ 3wÍ~@KýAØ\\ 6ôîºï¢\a87\18&µéÉ\85\aÏ~8Ön\9b£h/ \84¨]øx[-6+l¬¬1OcÜÑrÊ,Óa\92årÛ
+ªð\8a\8e\85ê͸3\99
\1c\9d¯¯ÎÉs!L\ f\9bÅûrñ`f-O\9dþ'jØvúl\1aµÇ\86Ç\1e\1e6~\ eMu\84×N\e\ 3\9ba«D\ fË[ÈËuýKwÇ}§\87Ó,í\87¦\16\ f©ÞJõ^*;Ë_\ 5|\94Æ\9cuWÃJUÝåDÇF\1e64ï±Åln1\8eé\rÅi<\9er\94áÇ0\8bð> \98Rܪp>\9dÿ­ÊJ£endstream
+endobj
+1150 0 obj<</Type/Page/Parent 1119 0 R/Contents 1151 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 466 0 R>>endobj
+1151 0 obj<</Filter/FlateDecode/Length 1069      >>stream
+x\ 1­VËnãF\10¼û+:\9b\0ë\0\16õ \9e\81ìf\ fÉ"k]r\1c\91Mi"r\86\99\19Z+ \1f\9fê\19Ê\96\1fq\8080dH\9cGWWWWóÏ\8b1\8dð7¦Å\84ò9\15ÍÅ(\eáÉý¿¯\9f.&«Y6¦Ùt\95M¨¡|5ÏòþWM·²\9ffù*\9bÒt¹À÷  >\8e©\8a\vã|\8aC/,ä\93lþôùÍúbøqE\93\11­+`\9a/\96´.#\14<).\7f\a
+\96>\e\1fT]\932%­Ù\aº½þåæúÇõ\1fñðx\91\ e\ fbàuyù\95UIaÇÔ(C­Ú²O[§4\1e÷['\v`ÁÖõù.*µ\ fNoºÀ%\1dtØ¥8TX\13\946TÛàÉVÔy®º\9a´©,¨\80½\0·ãº\15°[\ e\1d\ 1²ÃE\19}®ä·@\18Ñ`\9c\83\1c\ 4.­y\1fho\90à.%é\ 4õ=bÁo(¸#yÛpØi³¥ZïùCJ\ 5å»Oe\8e:àÆ\1fÒʸ_Yeù\f\8cbAîôͦÌ\96\8fi¸$ëèñuÏ.A¥ÇyºÆ8[U4x¸\8dþ¢Æ:~v©![\97ì¨3ú\eûLÖ\a\99ç4\98ô`¿ =\87Ô:WpäTÈt\8d
\1aRÐRkµ\912\80ÐÍ1\16óV5\eE\aÞ\90×\81¯h\17Bûa8<\1c\ e\99\97¥Ìºm²¢sIDrn:]\97¡ÈâF\eåôkª°TJiµ¿¢J;\bÎu(\ 6\8e¶În\9djR\9cYOõ%eCh¤ÒÛî9\1dÐ\8d\1cL©Ba\8e\8b`Ý1£5®'¿³]]\92ê\82\95ä\v¨ü(z{¸ëL3\89\ 1ð$zrd[v8\83¤üÑ\anNJ£\9dºc°ßùNÕd\98K/\10LTe£\8e\90«ß    ±H*%ò\82\9a\9cµáû´zRT>Ë\16½¤Îò¥Á@\94\9f\9e:l\90öÞ\97;\91\88\90\9e\99\ eÒ2¾åB\ 3\9em¥ä>b+ T6jS³°\ 3Àü\8d\8bN2ü\8f0\eµ\7f"ϧÀbç\16h½À±L\9b^\1a\19}1\ 5\93\ eïQ£®\80H=Z>Ö¦iu\raJ\8b\v`\98Á\eÐÁD¢µ½N\1f\88ë÷=\ 2\19ý\10ý(e\8e6\97Ñï=*Ï­\828\18\88ÿéä\10:z°\9bο\8dæS\18\10øz.ððÿ\81/\0\7f=̯6V\14JÓÑ~£©t-\9a\804\91B7ó\9d\9d§;v^\9c\aæ\9e\9aLªÛèí.DÓ\95f\89V\1dÝ^Ú\19\ ew:$ö%XÎ\1aUv\9c\94\94\86Ã\86\8djN\83EÑ»\f\83Ä\ 3\e\89ýP»-,O\15{   *\17=\ 3)\93é-\14"iváuúzÒ*\8d\89+>xJ\16¤aH*Ø\8dû.Ýð\82Ù¢wIƵnZë\822èöÀO\1c\ 2l\9dfðuH!Ð\b[N&ÕÁr+\ eÅN~:Ïu\85À\ 5æ\ fì\ 3\95³àÅQé´ÙÇý\11¦\ fºéêh\88\19\10\9dQ\btòÆ\80ÊÊ÷³v;«\97\8b\95\96n\8eÃV7\98\18Þ\ 5\8aýñ
+\ fc\94è\15\18\0\e8Ô1ú*ü!\8e7I¦\1fliØ'\vî\83¡æq@áJÈ.úLòâ\18p¯ñÖ\10G\ 18\8a·\r?.\1f¦û4OÓý_ß\84¦ËQ¶\NÓ¬\8e\93þ§õÅo\17\7f\ 3è¨öûendstream
+endobj
+1152 0 obj<</Type/Page/Parent 1119 0 R/Contents 1153 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1153 0 obj<</Filter/FlateDecode/Length 1420      >>stream
+x\ 1\8dWÛnÛF\10}÷WLò\12\ 5\88©«%¹@\1f\924      \8c"\97Æ
+Z#.\8a%¹$7&w\95Ý¥\15ý}Ïì\92\96Â*AmX\96ÅÙ¹\9c9sfýõlJ\13|Oi5£ù\92²æl\92¬×tx±%þ\98ÐÅô2¹¤Åz\85÷«urAVR\ 1Û    N?¼t¶ó\8bÙ\83í\fö½)Íf\8bÓ\ fV\13x\8cÎ\1f\ e¼Ø\9c\8d__ÒtE\9b\ 2\19.×SÚä!Ø\846Ùè¥\95ÂKò\95$פ\94\19]¨²µÂ+£©PµL\9en¾ÀÃ\82¦8È\1eÎg«d   \1f£M%\91\92À\8f\13Ͷ\96'\ e;R:ø\96ß\82\89#צ¹²2óÆîû\87¹rÞª´å\98        ]Á¦,¥ó´7-\8a\169{h8\r\ 4\9fÎ\93\19\aÏ\10·hëzOÎ\ 4ÃLhrRRev!¢Ù²;G¥!oJ       \17\96ãm­È¼ÊdB×0æ²\e\1cÜ\8a\12}0\96D]\1f\9f\ eÅsÉËdÑ\95LNq±H¯u\9cÁ\89ªigÚ:§\14À\98\ 6\91\95.©Vw\1cN¹_"\9e\13ºd8§Éb>\83ÿ\8bd\8dߨ\8bº¯ÏemRQÿÝ\97\r&\1d?\86ÕÎØ»Ò\9avK¿ÒÛ\9b7\1fß\7fúÐ\19Ϧ±A½/üþ\!\13÷\13o°)[®ÊÜÁ\9f6?\8e\vËÐ\14£\ 1~oz ÈyWÒ|\9dÌbI»JeU\87   ðE\7fÀ2\r
+\84þ¤{\12zo´¤\9dò\15Þ\93È2Ójd\12©ã¤½\97ö\19àf\1c%\8cÐI¼(Kµ)ÑR-\1aIÆö\19w\ 4y\1c*~LÂ\85\86²\17´=\18't;zg\ 2ë\85\aßD\r\ e\83á\ 1V_áéµhRAÊ\81"\16)\15\917/>¾ÿóúêÝ\9bÄ\7fó\83¸Ì¢\z¡jwû´oHG\9f\87 üùøõE7S#p\10ìPÚyà\13\9fõó6\ 2,à¤6¾\7fN\82¢    ä&\8cä\b\83\9bðà\ eO\86ñ¥\eL\91\96\12Sd(\8bÓ®ÂlY'ëbÈð·\9c\89k1Ô<}Û6\82ÒG\b\8aÐ\8f-¦^Ò¶\16@\95mÝVfªP\b\14g~\90$;æ\84\86\8ex\bsY\88¶F\8dè\96A_Í\1dÛ\1dÍ;Ã\8a´ázàwÜ:;®M&ê1\12JŸVéx\10äöé°Ì×p×\18T©4<7QîDjP¯\93Yk\95\87°HïA9\17\84\81\93ì\86\88\Å¢\a\11\10Nb\16
+æ#T\86Ë0YÛH=äħwW\7fýsýêå§\8fW\9b\eæL'ª\aY>\9f/:\85é\84Ïvº\12\11\ f£áñ\b,\fJx\98·#A¾òO ¸ÍÖX/0?\81¿Ü\19>\18Ò»\17µÊ¹4SpËì\10˾Í\ 3øb\ eqþ¸Ê>\11\88©)­h ÙÅáCÛj7hÞûß9¼æ\ 6\ 6\10ü\90PmD\ eÂtÃé\82£@õΰT÷Ø0\9a¤µÜ0é\1c\84zØË\ 3\9f£\13â     Ík\ 3\ 3Ì   ÷þ\ 3±X½\9cÑ"ÅÆJ%º\8fVZ\93aBÐì¡ïçõNì\1d{=\14(J\ 1\1aF7«\84Æö\18Ðò\aP>\8af'\1a\7fí!0¬p!á&ÍC      \1ao¾ïÆQ¿o\10½i\ 1eV\19\ 3*\82\84P\10È\14\82\1f\8e÷\92    !Ì\85lx'\ 2ËÂ\9a\8eH\a\15RZúA´QB¿\19ý\ 40b]Ã\7fn(5¾zD¯¢\ e\ 3\80A¯y\ fw²Ñ\9c\18×\10ã¤ZqÇ*\81~\ 3\80&\16\ 2j`     ä\12+\1aët\1f\81øy¾Ï¸¸Ð\16ä\11Ñ\bþ\ eÕ\ fòí\16
\11 ÏL\13ÂÕÈ\94}\9dP\1cé³±Í\92 :ß7\ap\r¯\15Q>º\8dÐï´ã \83|º{KB\eVbÞ:*kk\ 1=`ÑA\vú\e\11¥ {\94¬\1d\13\1d×\91Xy/ö¸\7f ycó¨O\11\8c°Ï0g\9aï=\ 1Ñ#\91Í h. \17h\ 5\aÖ\98(VL»£KPÃ# ò{è\f_\9d 'Á=ø;l\12sq\0\123{hö_¢\8fº\8dÏó\80\v#Ú"5\8bE$1ÄÀW\ 6»\86×{\1có}\10\97\ 1\9cVº­\ 1{\­ÊÊãÆ\12Tÿk«²;ü\ 18A\13¥\95W"Üäºk      \ 2~åÛP§ÓënÓN\97¸·¯ç´ä+ðò\82/d×Ïß¾xN\1f¬ù\82\v\rf%ê\7fØ'\9cÉy\7fä|5Á\85/ÿ\9f÷íÅ\9aÿsXà¶\8d#\97ìèÕæì\8f³\7f\ 1à\1fÇÓendstream
+endobj
+1154 0 obj<</Type/Page/Parent 1119 0 R/Contents 1155 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1155 0 obj<</Filter/FlateDecode/Length 1340      >>stream
+x\ 1\95W]S\1aI\14}÷W\Ý\87%\15\19\18@@÷ÉTâ®U\eã*[©T¥j«\99é\91Ö\99iÒÝ#ðï÷Üî\19A\ 4c´j@¹_}î¹ç6?\ ebêâ7¦Q\8fúCJ\8a\83n4\1eÓúaîðG\97\ 6Ã8\8ai0\1eá}ÿ$ê\93\91\94Á¶\vï§GmÛ\8b\aÑimÛ\83}mº+ìi/\1aÕ\96\83!\12\ f\93\1d\81;\17§\14\ fh\92¡Úá\18oR\9f¸K\93¤uë\84qª¼£Ìè\82T)]\1a%ºÌÞMî\ f:\17\ 3\8aãà×î\8dà׺ú2ùô\aMf8\81Îs½`Ï\85Ês\9aJJU\96I#KG*£\95®¨²\92®.oI\e~yONÃÆ:£¦\95\93)Yi\1eU"-\15bn#NØ¥vo\18q\81­¿µ~ á8\8e¡P\f öÅ´:Ò%\9dÆûy¡­\88¾Îà¦,¥2ÃqR\ e2×ÆQÜ?í¸d\1eÑeF¥v3.}ÃÌÍdI"\85=åðÃãAÖ5Åý¨Ç5ÁÇ\9e\85\ 60uÅ\80nª´m[[6¹\9e׶q:«
+\95\v\93¯\0£\81õ¨S¥s\8f\99\9dé*Oi&\1e%\89\92\80¦YùZ~\9e¸´M¤½y¯äÒ\91LÕ+¸î£@\vå\0\1c\0ä\16ÚCdÉêB\ 6 \19-ÚÀ§K§Ì\9b8\1aô{hêI4Æ+ ¤­\9fMÐÀ\f)
+B\8fÐ\9f\85@\91FkG\9dÊ\9a\13\91w¬(¦¢3UeÇ\16S\10\88\1fM\8f0v¯%\0\9dAx\ 6ú'ÁK\8eë\1fÏ\81l×Çé\8f£^8\ e\ f\82\\8aÄ\91]\95N,Ig;ɺ\1fÔGa\14F`*ÝB\82\80\96ÒFÔÐ\1f¬$pU\1aÏ\ 4¶TåÆ\94\88\ 6\82\9a¦w\95Jåö<ñà\9eÑ-\1aVç \91\ 3ît\15¨Æ<ãè¾\8fuSþ\ 3fß[\18\15î,»¥ÒØD\eùý\1dW\11°yãP~ÓÕV\95EeAE\15ÎÆ\8cü\85x¬(»Ì÷Ã\fé)\84§¨,\búf¡C8ón\94¾\940.Wè)\8c
+ëç²\10+*%ä\ 4\91\18\91#U:i2\ 1\r;"=wJso\98\96^BÙÔÎe¢²\957¿¼æñ1ÒÚ-(x°\80y!ì\ 3\13ÈKÞ:tD7U\19N{Ò( \14\96EZÝ\85ÿ72\8d\19µahj\ 5Nuù»£\a\8c\13-X\16¹ê©Ñ"M\ 4Ð\87ú±üø|ÈïÁè\4I W\8dðñ,lg
+|aI\97\0¡`ÉD\13\91ÃT%9UÈc\82ÌS&Tn       À°V<ÑûV\ 6\ 4­L<jøüÈIë\17\11';ÚIl\16\e\9d2DPöÔëwX4McR\8d\13ª\17»äðððëùÍÕåÕ\9fxG\9f¹µaÎP\17$X$\89\9c£t£Aq:¡¹\80Nð¡|Ý\f\v\10"õª·\83ú{i\17aSªín\17R`°\0:\ 5­ç\ e1£ì\9c\89ô¤\ 4\9c7pÊ\ 6å5wU\ 1ÊÚcfÿÚÝû
\89QswìM-ïtîõ\16Ï\82\8dßô/ø\84þo·x{8nР\ 4~\8bë1Í¥\99a­Ó=\8f¹\95\0\8fÙA\7fý{í\170×ïw\9c*\114ÏyOcÛa%*hÝ#°çaÒõ5¤¡dË«ò\v&òææ\80Í\8cn\1d\e\1c}à+\8aWt\fÈBæyÍõõ½¨Ý\87¸ó\ 29ÏÑùR8õ(ÏÈ\1fØ\13\rÅ£\ f\94
+Yèz\1a\9b©ã½î/G\13Ì{\ 3½¿Ýà(\e^\9bMK ½ÐÕ¦o»6)È\89\19jpÄúõ\ 47\96\1aÿFw7¦Ôç\86øláS\1fõ­\eù·Ã°`g\r\8a{\16ëþµÜþèÅ\99\15\9eÚw}ó|¹sÁkÖg\889\18%\97\9c\98æ\12×Pçk^+X\8b\92Y\ 1Áx¿\f}y\81\rw®¾½}\ 3\7f\12PÐG\87\84\ 5\10×ÄÛ\ 3.My\81\82Ý\98ÉP\8b/Ë_¦C\88¦QáÖj\92È_eÂgãZÏã!¾\e\8cû4\1c\ e£Ó>³ðöüó\87sº6ú\1e
+I\1fuâg\1f¬\fäk7\1eíQ\17\17-Ø¿r\8d\1f\8c\ 6Ñh\88/&l\18w9õ§ÉÁ?\aÿ\ 3x\83Â\1fendstream
+endobj
+1156 0 obj<</Type/Page/Parent 1119 0 R/Contents 1157 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1157 0 obj<</Filter/FlateDecode/Length 1153      >>stream
+x\ 1­V]oã6\10|ϯØ\ 2\0±lÙ>;ÎC\81»æ\ 2\1cp\97´µÚ ¨û@K\94ÍX"}$\95ÄÿþfI+gçã\9a\16M\90X\96ÄÝÙÙ\99%?\1f¥ÔÇoJ\93\ 1\rÇ\94×Gý¤Oãá8\19Óèt\82ë\ 1þ¬¤2<\18\8d§øúÌ\83a?MFÏ=\b1\1e-x\97\1dõ.F\94¦\94\95H>>\9dPV\10\12÷û\94å\9dÌÐZU\15)ONê\82DüêÔR\8b\8a¼!¿\92´±&\97ÎIw\9cÝ Ú\9b\ eézQÄ{m\86\ e        ½»õõ5÷ôµ\84\97õ©;\18£\94¬è\^eïÏèCI[ÓPãdÈ;ûã·\119¿­$)Í\b·ÎË\9a\1féð^-¶T©5^6T\19³&áú\b     L\87¢;ò^Ô\9b\9e»µ£®óÂúfs\b\eHÒa2`$.·j\838\86j\81Ð3Q/\ 4\95È®t \ 39"\8ePBïbJ)(en»ÃQ,&³\8cËy¥\97\ 1\8f[       +\1d\89[¡*±@5&à· ÜÞJ{\b\97I\99@\11\80ò}|\92î
+\99&Ã7HÃ\18ëE^)©=u?R|iØV\v\ 2íÊ8¯E-\ f\8bì\86\0\ f\94ÿ   ¦ÝÊ4UAKéi!r\10\18p\93)ñä\9b\98\93¶W\85Ñ?\ 6Ö59SK¿â¢\95\ 3[¹±Væ¾Ú¢L\10Þv¼åùÒxîrh\19Þ祦 \h\12\95\90,\83\82ûत;~±Å\ 4\8b\1cpi \bK\1f\85þ$´Xâ2\92ãhÞqM¾"\11\84»×ãëòz9?n\11µ\1aÜ©/_\19\ 3\ 1"»¥JÞÊ
+\0òÆ*¿=T^©à\97P@Ô\88\95\9f\eé<úL\eáÜ\9d±\ 5ª(\rÐB=wì2\16\ 5\aá¾ìÁ\89u%4C¡»§û.{èöa;;\10¨Fª%\ 6\86±TH\ f\ 4\87\98HÜÎCröÇ.uKâ\9d\ 2ß\8d?\0»}\84K\14E+a³ñ
+ªíþþC;\14rS#\7f\81ÀZ&\94­ÐÃP£6(ÖØ5¾ù\15i£»\91\9e¨u7?\8eU¼`\9bÜh\rÑpÚ°\1etP£Õý®¥qmëì\7fg\95¸öÁ'Ôëí[¥'\18 Ê¿í\99l»Q¹¨ i\ 6\16#\ eþÙy\1d0Â>\83¨y\1d[\93=Æ×lU¨[B%Ü6¥1\9fªJ¾j\86\82õ' \9e\ 3K2Ú=Ñ      ÍÆ\f%\87Ì+q+!"¨\1a®Sz¯À\96n\1e;  \1aTƺ¿\8eüRU,\ 1L=f4:'Ô¨â<¿iPc\88/è¯\15¦\84û\9b=\15\14¥t\8cÖ&ÙCøBºÇ¶½\80øw#\9ebB@`É\ 4j!Ë\ 5F¸â})«Ì\12åE|\8eJ\8br\99ùØ!¿Ýȳ'\88Ú    ñ\8a\81Üë\85t=\8e\eã´Jß\8dßýMbOí¥55Ìx~5;!\1eOø¯ôô>|\fác°>á\88¬ú~Üh®f½Á I\9f'Irà\90¶7{\ eáöÔ¦ÑÁ[\85rk\8c
+¹|¹Ö\9fÏæóë\ f\97çW׳ùü§XJ»\13\9d¦Ét·\15il\1d¼_\17g4ÇOt9\93\e¯\9f\1a*®}Ø\85\18ÖÆbo\85åÿW@ÕƧÏ`Ú\18S\1d\15\11°WÖ\1f°ã|PI.:ÒÔ²ÿ$¤¬äÂ
+/O\b\9a\rç-\f\ 2A\8bf\89cßÆXÿ]\f\e\18§ÂÓ!\8dÓ4\1eNfo?½{K¿Xs\ 3ûйÉ\9b\1a§\0ÁNâ\95ÝvAwÒ\9fòAá?\9cDF\93Q2\19\9fÆ\83F\9arØ÷ÙѯG_\0g\1f.±endstream
+endobj
+1158 0 obj<</Type/Page/Parent 1119 0 R/Contents 1159 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 469 0 R>>endobj
+1159 0 obj<</Filter/FlateDecode/Length 1491      >>stream
+x\ 1}V]oÛ8\10|ϯXä¥)ਸ਼ã¯\168\1c\9c¯Â@⦵\ eÆ\ 1y¡%ÚfC\91®HÅñ¿¿YRr\13µ=\ 41,\8bÜ\9d\9d\9d\1dòÇI\8fºøëѸO\17\8a\93nÒ¥aÿ"\99Ð`2Æ÷>þKIk~\81¥Ç\8fo\9fOúÝI2 Áx\98ô© þp\98ôê'M\8b\10h0\1aò\8a_\ 2ÑŤ\9b\8c~÷bÜûuÃezòáö#õÆ\94®\ 1v4éQ\9a\a(]J³³åVx\9a­)Ý*³qtmÍ;OK[>ýý>ý\8e\9d\ 3êa\ 3ï<ï\8f\915ÍÏ°ÚXÏëi\8f\85\8e\84Éé`+r^\94\9e¼%~ùD§û­¥}i½ä\1f\1cí\94\96d×äKᶧøM\1a\9a\91«6\eé|\b\90\90\93Ø\beèñ\f¡\19\a²÷.@\14²\877\8fïÉ+­Ã¦Lè\82r»7I½²?\ 2\vX\99r\ 2ÆU¨ÍÖ£\ f"礴f\1c׳éçù\97Ål\91ø\17\1f*àW·Ó¯    ³Á»\ 4\1açB\16ç«ì)âõå!Ä(\84ÒL\80V\80\16F#÷nSÚj\87
+´µO\84Z8ü·\9béõý\r­mI¹ô\bá\1eß'´\10ÅJÐV8ZI vU\96IçÖ\95Ö\al\ 4©ZË\9cÐ&¿µ\95\ 3#\8eYtÊK×Ê\8bvè|¯rÙ!g©\10\87\15\85´F\92ÔN\86$[\15È.iWÚ\95\96E(\9e³ÛgYfXMÊ'ô/\18Èl¥\91X#V\85Í\Ár¹låd\1cÜs\97      C+\ 1¢\94s\95\f\18y\87ãêÎsÅMnwhÙth­^Bø\ 6ÒÃÝÍtqCNBY\0Ä5PµË\ 5J\8eú\92èxV\15Òxá\95\80Sg«2\93\80\9dK\b\ 4¨=\8b\e Z\90\8dDËw²tظg\19­\15ò\80\16)\9c\92e@\19f\ 62
+Ê¿à¹\82¢®\95Ø\18ë¸ñ\ f\91¼Ð\81Ö\94Ô3Â\1aÚ\8a\19{\18\81Ö\15¢\f®}\ 3\8c\f\13z¬C;ʶbçe\19^°Úl\84Ç\8bêÍ\7f\ 6¸ÈìNÒìúO°.\ f\10ÞZTÚתC_1¿´Ò\ 2\ 3ëêÝ   »\81\ 3ñÂàe\1c³\12L\19L\19Dj_°§¨ ü \8d\9b\10-ºg×Ç\99Â\f²ª÷Â\ 4\9f`U    \98\899\7f\v \92Ã\ 4\86ö\18    ý\83\87F\84ï\8cô+e]\ 4ü\8e\±J2kÖ­¼vÇÒHhÚTðpåÞ\ 6\fÐ\99X\88\14\1fÒ{n-\8fg0,¤d\83\ 3\8d=\ f\1e\82\ 1\81êò#WîÏ͸ÚÚ¨\15Î\0½x\9bYMwòYjFú\eÕ¤X¸¸¿ä>ÇÅ<\96\85\9a\12ZfÞ%tU\95%d\ f\16£o¸j·³¥w4ì\10¬\90­âêË·\9bNø|¸ûgÑ¡»éü~:ïuZüÄ\9fáµ(g\9eöÚÃ\19\1c\03\9dq\19\92ö<K\85xQEUü\ 4\b\8aj\0\8dÇÅÒp*\86cãìuo~V|\16L\98u\86\ 5 Å\ 1EmÅÈ\85g\10×¼â£"6HÒ³ÀC!¾ÛRùÃÑ\13ÛuÌ\fY\9dc `o\ e\82\bÎ\14¹c\85Á%ã\98®m\15]ÀHö_\11g\8f5Ç|2\93\11¯V\85\8a®Ã\0\ 1\94)÷¶\ 54\b(è«°\8e»\15¼\1d>'sè)Tgì\1e{\9dÃ!ò$±"\ 4;\8aþõ\8c\84Uxm\9aVF$ÖèC+m)q2\19V±È\9f1eb\13\8eܦ\82H*03\85ÁUíÊe\15N:L&Ûár½Ü »ÒÉò\99½\16ýÉ\ 4\81³\13Îa\1còö¡\13Î6>ÞkÑv \15Éá\b|\82öF}õ\97>\8eËÐhø-¤\8b#\añ£Í\1c3\80,\0ä\8949jiÕ\bPE\87+ȸN&ì\957\9c6A@-\ 6í¯S\8a6Àò\f\ 5\87tm\8d°\ e\99¸·¬µ\ 6\84ÉkÄÎüiËf\81Ë\84\81{°³øm\9dB+L¨Ã¡$7\9fØ\9d²ðC{þ\96µ¡ÎS¦\ 4O\1f\87¸\ eÔÅ6\97\98\85\8c\ao3G\8fgX\ 4¬¦\12\1a-A{\19JÁlÕW\8av\849.`\9f(ý9¨»RÁ~\7fT²â¶³y4<ò,\84³ð(Åè\90ÑzÓ«\87\ f³\aBcY\16ÍØ6mo5)ö\9eå\94Ð-\10\ 6îk\91©xÁÒ\92OÇ9¼\Vª\1d\16ê`4+l    W/Èëw¨­iå\r\ 1×È\ 2f\19\a\8dõ\\15b\85\19\13Qá«j\13húp;©\8dª7Â}}rA#\10\13|1½¿\9c²m\7f\87ïâ^üê¶Á)Ï\9b\rçãîG^ÿÿ\17éÁx\90\8cG\13\£±´×ç\b7éÉ×\93ÿ\0`\84ãúendstream
+endobj
+1160 0 obj<</Type/Page/Parent 1119 0 R/Contents 1161 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1161 0 obj<</Filter/FlateDecode/Length 1726      >>stream
+x\ 1\8dW]oÓJ\10}ï¯\18åå\16©1ù(IûÀC¿\90Ð-miR¸H\15W\e{M\16l¯Ù]7äßß3³v\bn\1f®P\91c{çãÌ93ã\9f\ac\1aáß\98æ\13\9aÎ(-\ f\88Þ¼\99&'t|2Çõ\ 4\7fNS.\ fNO\93ãþýóåÁëw§4>¦e\ e\13\d\ 4\11-ÓÃ;gª`ªo\94;[ÒÃÍû\7f(XRtQ\18]\ 5º»xµü\ e\ 3Ç4\1eG\ 3ÃÉ\1c\ 6\ e\97\96\1a¯ñbÍ\ 6´£°V\81\8c'õ¤L¡V\85¦'£ðÜ\97«áJy\9d\91×î       /\8a#EMe~ÑÚú@\e\13Öt}wO[ÛàGQP¥ñ:ÂHmY\9bBs\b#\1a\8e§É\84]\87µf«i\8c°vö\9bSeB_p\1a\8fªÝiSù `MÞO\9d©\ 3\rpN\ 2\1e$t¯\15\9cÀ\16¿ç\9a4\18\9aMË+\94[×ó\Z@\9dé\80\f}Ò>\9bÌ\809\ 3²ÖxÈ\0\14\9e\ 1\|Y|"\1f\0ÂGç\82Pfµ§²I×1,Uj\0þ)Be\90\89ßú§\84Þ\a\80PÁaå÷ã|æ}¡Ù\8e¦\8b\87»\ 5\95ªjTÁñã\fþ/\95ä¦V¶      ¨B\90z7u,Ý®öÏJ"¶\84\f\b*Ö°\87G¬¨ ±Ï±át\1c1¹¶é\ fØçS/Pè¶\ 2\7f\9cV´Y\eàám©\83)\ 1Oª@-OÁÙ\86y\ 4L\8bhèeÌa\83ÂÆRØÖ8eóîíÖnG¦\95¦Z;\86\ 30¯¶\¢\ fç-)\13Bù(7\ et\84»\81Ó©uYghÐK;Æ\8b\rÊM-\11\81\14\87\89\eNUß4\a²Ú\ 6D\ 4N)²5\98\99\83ÌÑ\95\87\83*c_\µA¦«-\956Ó~\80\e\10\12çäk\9d\9aÜèì\99{\98Rb\8c\r°å>0÷\7fÄ\8f$A\89`R\ fÕe\90à\ 3k\ fG!Ç-e&ÏA]\88]\94ùgêí\81ϦÊ\90lB\9f´óРÃÜ\8bj¡Ê\95¢\95\ 6À\1a]iBkõ\84º8ÄÏRæfÁ©Và"îçi\15\8aÇÃÇW±\ f\80ìA\97¢\ 1\94u¡K\ e  êFÑÐáöëÑó¼Òa£\ 1ÉïDb,±.\bz¹F®©Bg°\ 1\11\14Å\16ºr0\e(k\10\99\ 5F@\ 3ª\ 1!=\12lË$\91DRpô¹JCÏ{,\17µ\bud\80CáGL¾å\ 5Ó¡%\aÔ\a\9f\93¯Ó     A¥\93¯³ã#4\16T2c=¢\11±·\96\v   ¦çWúg«\v\1c@B¾©kë\82\17ÚE?(xçh\9cÐ\ 2È
+¿\19\87ÚzoX^\88£\85\82m <>gqHÌNÿl´ï§\8cF\82\12"xØ\JÛcº\82bÌa\u\85Hµ?\82y\e\1fÁ\ f°/\f*\9d\11\9fê\936V\8d©£ \8dèdÇ\ 4ßã\80Ì\86B\a\8d AN\81\8e        \ 3Õ1tÂóbË`
+P\91`è§9©\1e\90{U\91\9c¥ {ð·\18x\10ºF\81 X\v\1e`®`î¡éÀYÔûhÈ\88\1cQLc\8d\1cXÜ Bk\80  ªç»5 zìB<\83i\v³NJð\aq=Ó\1c­KR\ 2Ü\eµ}\ 6"\14\97\ 6\80²ßÞȯmSd\94®5\1a\14Ï\ 5Î\14D\89jeæo\99ø@\1dÈo\9c\ 1Oy\1e1\11c£IÐ3p.4Ð/C.3\eAöòA@{ÒÞX\a'\82\ 1«\ fÕ÷h\99â£Ä\8b \11ú­Ó>6AW§  \87\95ÉÔ\13\ 1ñ -JÞ\11T\ 1Óܾ*\rVy\85x\95ï9oõ\1e{'k\81\97\ e ¼G\ fD^ª\1f`a\9c'\92ä\ e\ 6\ 6\0²í\10àKF\98Ìï\89bú>ÁO \82æÊ\8e\80\aö\90s´T\9d«¦\b-\15D\9cìv7ÇZ¿\eÞVô¯º0©\91\92ù\1f1b\99N1\9d#Zah#\ 4,G½|1ɱÐH½w       ½¥m\9c\f­Ë6µË8Ö\9f5ÁÅE\ f\87÷\17Jߧ\14/V\?Yl2ãe¹C\88\91ö;(±«µzl<û\18tOÞ¢ïbß\92.\8c²b\12 \ 1\v\v\ 3ö?\90b\8döÁ\1cPýF\93Ùê/l,±¯ír\ 4\ 3\99ìÈòñÐóB¥ \95\f\7f|\ 5
+q\v\85·\14«g[\87\J \82Õ¡q\15Z\b\ 6îÞÂÐÃ7\82ÄuÕ\90BÇ.i\ f\ 2\eì#Mø¸ý»\ fÙ\12\1dñi¡@ð½­\ 4\a8\86ý\99/m\94·i\9eú¨*×\1fx×Ì\8c¸»      U\90*\ f{Þ9x\93\0åz\11c5Õ®4Ø«6¼Dì\16"\95²hº.\0\1d¢üv\ 3®yS\82§ªÒ¶ñ\9dª\r&\88ì\14tÖM V«òÒ9z\1e/¯n¾ü{s{suDry\7fuvÙ^~¾\7f¿¼âé&\ fή¯÷\87\85pI\16\1c\8c\^ó\91æÊ\14&´kPÏM»\1c\8b¥w\17ç"Rùq\89áÈᄌ~~\0\82\aì©\156m\11ï\v\8b(\86\ 2\7fzÈÂÒÍ®À<\8d§ºq|w\11»\ 3W/\ e\95øA\83ß \e·\15\9e\9a\16\e  ç
+w\16Ðsê\ 10å-¼cJ÷1Ó-îX±\13¬\849ÏJª\15öGnÓûß\1a¯ß\9d´\1f\19¾üN¦4\9b\8fâ\9e½8ûp~FwÎ~ç\85æÒ¦\r/OÂ\1c\ 6\1d\18ÎG§ü­ò¿>ú\8eçÇÉ|v\82oF\9c\18OÙÐÕòàãÁ\7f÷÷Î\16endstream
+endobj
+1162 0 obj<</Type/Page/Parent 1119 0 R/Contents 1163 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R>>/XObject<<>>>>>>endobj
+1163 0 obj<</Filter/FlateDecode/Length 161       >>stream
+x\ 15ÎÁ
+Â0\10\ 4Ð{¾b\8eõÐ\9a´!I\8fmUð T\8c൤­¤Ø\ 4\7f#"ËÀ°Ë\83}\11\ 6\9a\86A\96¨\ 4ÌJhA!T]pp%S/SÂ\84\99´\9al\ f
+\8cAÏ`"ÝT\ 5Ikè\11   Q
+m²ksj\eôÁ/\93\89Øyó^'\17\87h½Ûè\85ä\7f\97ÿ`Ö\aë¢u\ fÌÁ¯¸\9d\8fwD\8f\ 1ÝÓ&\87¾û*.y!\85J\7fê1cü»Úkr!\1fßÜ0\15endstream
+endobj
+1164 0 obj<</Type/Page/Parent 1119 0 R/Contents 1165 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1165 0 obj<</Filter/FlateDecode/Length 1583      >>stream
+x\ 1\85WQSÛF\10~çWìð\ 2Ì\18a\ 3Á4oÐ43<Ĥ\83;}(\9dÎI:Y×Hwê\9d\84ñ¿ï·{\92°E\9aN&ÁÁ§ÛÝo¿ïÛÕ?G\v\9aãÏ\82\96\97tuCY}4Oæt}{\93Üàß%>_â¯×TÈ\17\8bù2¹\9d~q¿>ºøü\13]Îi]à®\9bå-­sÂ=sü&;}¨\eï^tN©wÛ`ì\86\8c¥ êT\9d­ÿ\96'\17ËøäùÕur\89gO\1f\7f1zK®\18\9f\8a\87¯i±è\ f_.\91#\ e?}¹'«Û­óßør\ efr\1dHQ­³RY\13jJw´-MVRV\19mÛ@\99²¤²L\a>W\99Ðr¨Ze¥±x\14   ªáÎ\19I\9es:_\Åì\82;ÏTU¡¢c)IË\ 5Ç       ­K\13âe\99³­26¼]Ù\96ª%\ 5 ½Vù\8eZ\87\80\85öT\98J\93²ù\85óHÝØ\96\ 2×\8eÌäL[jÏ\95ï\85\1f³Ü\9a\16é\12\8e\f¹r
+\1dÒo)w¸Àº\16¥dU\97ë·D"\ eÈÄ\9e´\94u\1e\1fÚjG*E\1eÈ*w\92\02kUø\16\92Ið5\82í\15M(¸ÔêÅà\86.p\8fqSU\11÷¤\87\9f\9d-̦óª5Î2ÎüíH\86R\ 5Jµ¶Ü8äPãTF\85\9bV\1d\­é\89\81|\98!®Í\902c\9e»¬«QÇ\90íåMrÍÔ¸\1f\18·5Hjõ¸&f    \99\82¬Âu^\aWu\92Uá]M+ÝÞ?<>É\97\ 2ÿÃWRy\8ec\ 1h\8e\90\16\9dÍø¡ 4\99\ 3\96\19°Lè· ¹NE¿?¬\9e\ 6<\19*³)\81\14\8e¹\1aùæ\0\f\90+\83\1fÀu/\1d<<$óÌ\ 4\7f>ÛOj\12xL1\89ñÐ\0\b\r×Õ®Õ\88¾ah\86v\b«R&ç\18\81±ø«Ý5\1ad\ 1ðÜ\ 1ôI\bË2aØR=\89Ù«,6ÜîÈ1Q!8\ 5Î#ù      ¼Ò\17ö\88\1fv(tMã<óuß\e¾'wá\80u[*º
+`ö\ f\82D}³Y\ 4=IÅlÂp$ÒÓÖiÎ\82cêª*8b­z'z\ 6{]ÃÕ³\ 5L*æ\ e\85:Mp¼\88ª}>\rúíwϧ\1f\9eÏ\9eϦ\14\8c\94\8dv\ 3\ 3\10»q°\8fAEµ
+-Û\0ä¯\84\9d\eïºF\12ä\88*5\95iwò½x&÷oÀ*w5÷±r\ed<I\97+\f\997\rÌ\ e\952^êE\99\8au\9eÐ\13\12ÿôøåîa\95´¯­Ü^;\98Ó>\ 1À\81\83\0\8caTY_^ÿP_X4\8bw\ 5öf\19       #T\83i\89J3´B\81·lÊ\81X\97\93ʪ÷ðq»XH¸\ 1V\ao\eÝ{\10\1fß\96Ð\ 3ìÇç=Ü1³}]\88\0_ØSà¨\10\ 5< Ô»IøZ¡\e\86ùÃ\1a\ 1´|õ\8c=\17\9f\ f\94Í\8e\9fB\18\91ÐÒÒ\9dëü\18\11>vh\11S\84W¬_\ 1\aÏQ(]Wå"Ç ÛÞ\vQu\1a\13>\84}Ê'¹\85­VhÌæ'\12e>N\89¾ZÓ'!ÖG\ 2\ 54fâ{XgÄ\19Õ\1dÏM\v\11j\fl*\15°sV\ f´\990 Á\11¶_!øl\82ª×\eåó\8aç1ìc[jäé{PWëY_-\8bd4\eq,\1c>,<r)ôk\0\e\80\1fªS\84ÿx\83X|\81u
+<Yã<±à\18¢Ø=\e\9fQÚ¡ÕÒm\9e¯Vó\12¡¼\8côÐèÌ\14\86·\ 3\99\87\ 3Ã5\9dh{\97&´Zß=ÉRò.ºPæà,X\8cÝƼ";ô\8a+\ 3T¢w±Fm_\8cw\96M\7f\ 2\89\91Ä\12¹c\89`Âp?þ\93»Übæ(Sf\ft\12\ e\86\9ahQF\aÑ×»e\89s:\8f$yKì\7fc2\8d¸$y\90ÿ\13m;\ 2¹\9fÁ\9fÓ\96®\1d\8fa\1a°_ÊÐçj¬\8e\13×wv¼°\v\9dªbWÅ\7f\863CåÇ#g\8fûáð~6\8cs\ 1Áúq\ 2\ eCþã³=\81S\9eüð\15E\8d°sÅ4û8.d.±ZeÙÁ\9c\e"GYÇC}ã\112n\92¦\rºÂh\82HÆâ¹ã`)k)t)¶dô\88©;!Æ;Û\12ÍÄQȶ&]\0 ¹Ü~ÒY\ 1í\84\9aÎ7\ e»ÑGD±\ ek\91fÖá<3\92i\ 3\1eagüà$¨~Uu3\f£ã~[\19î9\8eöú6^±ÀbET\e-\88}w\97ø\1a\17Ƚ=\8a#^|þÎ\12ñP\10/\94(\13\ 6Á\8b\1d/ÃB\13dm©t\8d\8eÛ\ 5\17\81ù\9a\80~qè\vGJ]5â\80­WÙ7\°\8dkx¿Âb¸Á\ f\14å:í6\93ª+X%ÚYÐ%F\11]         <NúW\17Þ\80!¤;\9e¨h\oÿ\9cE¿ª\ f{\83¼³H\e`5 <¶\9c\16\13<\8e%\1dgzÍ N\ 5)/\1cýûK\1c\81I®âæ|ñùöíõêj\1eßv~üúv½¼N\967·xíú½øÀÅþ²>úõè_B]ÆDendstream
+endobj
+1166 0 obj<</Type/Page/Parent 1119 0 R/Contents 1167 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1167 0 obj<</Filter/FlateDecode/Length 1757      >>stream
+x\ 1­WßOãF\10~ç¯\18¡J\ 5]\12â\0   ÜKE\80Óñp\94BÚ{\89Tmìu²\87íõy×\89"ñÇ÷\9b±\1d\1cs´UÕ\1cpþ±»3óÍ7ßL¾\1f\ 44Ä¿\80&#:\1dS\98\1e\f\aC:\1f\9e\rÆtv1Áõ\b¿\85¦X^\8cÎ~øââ\82\86\83æO±Ä\röñÆê\88`8\1e\T\87Lg|\ eLîþ`ùɧ3
+\ 2\9aÅðd|1¡Y$ï\874\v\8fî­×äWÊ\93\89Éx\8a¬vÙÏ\9e6¶x¦Ø\16´µe\ f\vtÆWäV¶L"rÞ$  -4©E\82í\96ü6çc49]¬uA\99JñÒÑ\1c\9f§ÛÇ?n\1fÉddzo\a\a§\83\11|8\8aM¢S\95©%Ö\8b\81\15ìëÌãVe\11µ_×f#ãòDmÅPb\9c'\e\93Z+\93\88\e
\ 6µ\95ÑxpÆV\9e,<ɵÍáhlp\eg²%ÅØè\10D¨J'Îo\11=ǾRë*\98eb\17*¡Ãe©aL\85¡-3\7f\88\18=Ǭh­\12\13\eÃMx\8f:ÕéBb\ 3º\8cÍÝÃõO\14Ú,Ó¡76Ã3¼à8\9c¼®ü'ãØ\rAOìö\ 4\r¿*\9dd -á\8axØØ\97U\1dlk_\e\9f\1a\12gq\1e%V°«a\ 1l´ÔÞ3(\vã=r½¨@Î\v\8b\ 4§\8c³·\96\90­-åª@r\91%G\12\83FH)ÞD\b\ 5nci\96\8e?&Cþµ\8f\ 6\b?\1eÐl\85(}aÂg\ e\17Xfp\88³àr\15jN\8aßh¸Á¨Ù\Àb\ 3|»3Oó#½üHýh\84£\9d×*bÛý\88Fóã^Ǽl~µÂçô§\82kÿ¾6à\ 6t¯7\ 4ò:ä\ 6±Uq\10\83\93Ù\rØRPjq\93\98g\9d\0\1e\8b¸\8b\ 2©Ä\8d\10\võQtì\82k*
+\15\93\aî\ 3\0)+\15E ªë\91³p\1d§â=\16!n8\ 6\10`\92i\98i\1dé¨\9bÂ\19C\82u\ 5Rµ¤&Au&\85\17\8c(3\v\8b\fV½ºÐ\98\85\1f©rÏ\84ê¾{ Ú\eNĦ° ÀüÈå:4±ÑÝ,n\8c_I\12\ e\r\97i̹:l\12\84H\º\90\ 4Ï\8f\19\87\93O\97\14@mXvú§gU9N\9bêSaa\9d#W.à\8e«Ö¿ÊT\7f4\81B¢|¿6&\v\9dh`ÄyyRéBQ0¸\1c\ 4\93ù\91\95
+\ 4`µ°k=?®\17¬ ?\vfQ\99GÊkÐÇB^D* 4¸qe\9eÛB\80êä­ÐybB%Ä\83A\91\fÎ<\97ê\9eã´\80$Dª0\10\1eáOh#$\10É®hëªR\157\0\84
+WF\8bÄ\98\9d\5ª!\95áj\81\88´\v\v³\01V` {ÌÊõ\13kåK\90±Ì\99A\91\89c\rÒx^Àe¼;¶)ü\19ïÕû\81\bIPp\19Í®\1f\84:\17 \80Ñ\83\86­H\91æ\9ac\0¡
+\85-¥ôes%\97¹B\1ew4ë é\v\15Ç&DR¸}\88xq\10ð\9bµ\ f\19\85\10A5¾ÞÝ?Á\10÷\ eV\87½\a@\9c\ fÝ`\157¥{í§w¿>I\9bqo\8a=Iì\86µ¬½\8aÑk\91\1dne.©\12\8c7èd¢¹\b0²¼U\ 1S®mú^êbˤC5u½4BÛVGCbä\98µQ»\13\0Ûï7\ f\90­ð\19qC1\85rÁé\84\1c
+\81\ 552\80Ï\10\14@\aë9^Õ6\8d\82ÌåξëX\95\89\87£;ÿËè\e\9f±}\97Cð«°©x'ñ3"\8dk\1dÓÂ×T\ 3M,\87\17õ2é\r\9cØ\8aS´áy\81E¾53@\ 3mRwZ\9e\17DsÛû\156°ÐUgt\f³\16\81\8bè\1aU¾Ú\fª\976äo:qO°\94b\96={
+Äé\10uÞ©z\ 5cãP\8f]\87;[ú\8a)\ 2#\ 4]\9e÷v×÷³.\v\91µJ§*V»\8aû»Ñ¢ÅE\90k?¿K³æÞ'ôH9¯ þçkÔ§ÔG\8fu\e\ fÑrK\95tPáöj\96\95\a\8cù\11\93\aþ^\9e\8b
+\8e"
+$\9d\7fª\ 6[WÿCas]x(Y\8f iÀ\1d\f\12D\1aQA\11óy\12VÇnçȦ\11È\10'\1dL\9a\ 1\ 6²ª\19\ 4U3ø\f\81\93Ú\99¨D\8a\13\7faKí  \16­\81\eÃu«}¼nAT\8aç\91J¾Q{\91ÊBÝã©Ë+\93    \91Q!\86§ÁÔ®ù\1eâæ!Þw<U\81Äê\19Ø\7f\91\8d}'L\aÙ.0\11nµÂø\83\fal\922\11Ù\97\ 2¨Å\9dË\ 1ÎÔdªf¸\8a\ f\89Zr_B\9dG\9c\ 1Çó):¾\82\ fÀ\83\rôP.~Õ1ÍRQµ<\b\83´Â^M06£rék Ò;Pò\0ß\90\ 3°ìHÞ\1d/®1û\18N¾j\1a\0hWé5TÁ²´:úXådH\97\9cP$ótDýÑùà\ 2ÿ#5ôÏ\9fùÑÍ\97i5&°~âÛÍ\9b\8d÷Á\9fWÕA¸\9a6Gâúº¾ÆåMëñm\ 3Ø\8f\ e£\97f%µ/Û×­\15ôòîYýÿöy÷¼=wj±\f^}Ý»zß«\ fðêÃÞÚwodé»î¼<\ 6ÀäQ\9a<¾µ¾ùÔoFxñò8ú\e\9cþ7\8fö\0zãOç\81 tòé¢þº\e\8cÏ\aãó\80Æ\13|Ó>=e\8a=]}\99^\11´î\e\e\e\96)æ&\91K\ 6¥\1f\8c±ôâ\94ú\93\1d\1d\9fWÏ&g\83É\18_Íy]0æí·³\83ß\ eþ\ 2\98ùÐ\9bendstream
+endobj
+1168 0 obj<</Type/Page/Parent 1119 0 R/Contents 1169 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1169 0 obj<</Filter/FlateDecode/Length 1779      >>stream
+x\ 1}X]Oã8\14}çWÜ7@j3¤-mGZ­DaX¡]
+\v\8cæ\ 5iä&.õ\90ƬíÐe5?~ϵ\9d4\re\8a\14Òؾ\9fçÞ{Ò\7f\ eR:Á_J\93\ 1\rÇ\94­\ fN\92é\94\17ó\84/'4\1e¥IJ£é\ 4÷§ãä3\19IKìÅÑÏÃfe2MNÃÊì\81\17!º¹@ЧË\13úL\ fKJ\93Ñp@cH;\1dOé!÷ÛNè!;¢Öç'\91­\16¥t4h=Åm|:Ü>ýyüðãà\84ú)\f\87<\88é\7fø\89§>\o-¼\93
+\93ði_ã\97(´Ylßìlygé|ðý\8c\b×\99¿\9eã$¾\l\ 5Ò|È;øù\907Å;Þè?xzAï,­W·ÿ\1f\8f¾]Íï\1f\8fyë§Ë\11¥)§¢\1f\1fL|N\10»s]Ze\9d*\9fH/i\18£méñ(íÑ GÃÇcÊtYÊÌÉ\9c\16oä6\9a\8c®\9c4¼é\ e»î\ 6ØÓ'·\92VR®©Ô\8e^\84µ´0Zä\99°Î&t\1fr\9bÖ¦\ f\93\ 1§n%,\9dÒZd+UJKº$åzuÊ\aÄË£f¹Y\18v\16\12:³¶Z\ 3¤Ú°\1d´ÖkY:Ü
+G¢(\82m\1dÕ\8dR\ 1tÃÅ¥zª\f|t\9a\16\92\ 5Y\ 1©\em\9e\9fàó\v\1cf\rV­_
+\95)§`²\15Ïòñ8¡ëà\ 3ÍÓïçìG\84mJÊv\14·tÁ½\v½\16Pv\8d0IC3£7\16ÿ\1f\8f\94L\10\vÚ(\98\9fé¢\10Nz\8b\10Tì \ 2\8d¿\8d\85;\96\0X\1dÕʶ=\85v\ 6    Aá+t\8a\83E\1aQ4Màé}\88\8c|\82\ 5Ø\83\8dÊÐ\ºÙÕÍ=\95\88\97\85ÑnÕÕì\92ød0NF\9cú3[k\83;;ÉXhÍ`«^z$\v\0O\ 1£ÞÕu\bR\b\ 1ðç\83ã\90\0z)D&9ì\12i`$3
+ÜÊHÙ±#¤\ 5\80\8c\88ñ\10\89ÚCî6
+ÚZ     ì\85rí<Fip¼|9v\96\86Ôï(\851]\1f\9fK½)       \19(t&
+øï\83Ùx\16\81\8cȾ\bãTV\15\ 2¸ó5\94\ 43¹4\ 4$䯢tâ\89\11ÛÑ
+³J®klähìSÔö\93÷\ 1p\80\88E\13\ 6Øñ}/8»\89¼Ù\13uB#gPÚÞ6µ¡\1aß\15\9b^.\ 1\12\86\8de,ªÌc\bÀG<B\a\81\a(e¸ñÖq\92\91é%ðá\10çZDB\ f¿pÛ\ 3%\16©Ç\91\91\99T¯¾È\90¬F3G9§g)\11\90\8en\9cÐ&¯Ñ¶\14Yì8\1cí\1aR\bgc\9e¨½cË°À5̧\83\1cD?$j!Ð\91\ 1\11~kB\97ÚtLp,\a-V\ 2\8e¡\ 5¶{^m\ 5|ø(ìu¸­öÕØÔ¡\ f      ú 
+\81Ý     ft\94³ý]0ÀÄP\83\11\0=\7fü#ìycãNv\1f­Ñª\r\e>\14\95[i£\9cpÈÊ¡¯ÿØÊc\97Q®cOÌ ¥W%"Ü\9b\90CÇBf¢B\86E\1d\1ddE\96~´}\ 4\17\96÷NbGùºB2·\ 1ó\83£öìW\15Èèr«Êg_С3\90#óC\8fºC´eµTbQ \0FZ]\99\11\b½n\rÏжëÚ\83ÜP4{k\1fø\93 \83,0Íi³B\fÂ\9c\89\95\84ÞÓ\ 2\9fÅÈ}í6S\9eô\v\ e\10{W¼\85PÖ\ Æµ\a\1frÇY-uÙßÍlíO3\17¸\8a\90§\17­ü\b¯Á\17G^¡õ3·¦%f"&!&e¨zVÒ*<KoºÂä®\8a\9c\8dây\8e\a¦îK\9dä\95R=­\16Ú¬´ÎI-ýYV\ 4\8bq\10]\11e Ú­¸Î¬Á9\aƳÁàe\99\1dÒÛ\1f\9c&S\90_\8c»û@\80\fm\16\ 6y\1cüD\7f¡\9aj³"±\rät{d\97çâ9oè\9c  zÒí!OH¶_yz\9ca¦¥ßgþzî¯\17þú%Ê\1a¤Éxks\8b\8f\aâº\15Æt\16'Agý\95emIÇ®\94\16\7f÷Cs+ÄS^\9c\ 4ßõW\96\ 2\96\eÂù1s\9d\83$\ 4\84{\907\88©\9bDèí¡õY\891
+\ 6ÕCª\9a²Ç        _ù"3\1alU\94ouÓ\8dG»È\9cë\rÉ\7fÅ\1aTµ¦w\ 3&\12d5ãÃ\ 6¢À\83\19=\ 6\fÔãqoë\ 3¢\18^\81Õ\88\ 6\12Pç3\96w¨Að,Mö­ÌVF\97ê?à\19ì¯U\9e\9er%tå@À1<}\ 1\81¬ÿSIó\16ëy\87ë=\1eq¢ÀÛ#Ñ «Û\8e^\91çè8\b\8bµ:S\88]îux\9fæ-¶Gßnîþüãîæëíïéì·Øf\99\ 6Ò\ 6\81¨ibxu@\7f\r\8c¢£k\97ý ¤\19³0\8ey¤W¸CS·ñF\18YIà\8bÝlÝ\94`\84\fMb®\15FkíT$\88\91ÞtÔCª\93EáÙ\90ï \0
+w\96½\99Dü:Î\ 4ðà-\16ñ·²Ì9ü"òû³²Ô\15ìòo'/"{\ 6Ó\82\ 3\82¾^Ü¢á\19Gép\8a\v>\9bÐ\8bW\89\ 3·æ\8e´è2¡\1cý\925!9÷\9eÐ\7f)«õ\0ä (bV\82WìÊ^^ç!\ 6\83YzSDáÕ Ðz<÷¡ì8ì\aHB>Þ,<\ fo4\9d¨6Ã\99·\{º»/\1aÐa³\95Ì«\ 2\84ëÓå4¾½¦cü 1\1dÒx2HÒ¡oPg׳3º5ú\aÆ\ f¼Êð\12\b6Ìo\fld¿>Ñ\9f\9cà§\88üÈ÷\\1f¦Pó±Ðyïh2J&ø}\ 2?LäGé\84\1f}y8øûà\7fUÕV·endstream
+endobj
+1170 0 obj<</Type/Page/Parent 1119 0 R/Contents 1171 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1171 0 obj<</Filter/FlateDecode/Length 1034      >>stream
+x\ 1íWK\8fâ8\10¾ó+ê\b+H\93\ 4\12zo<ºO;­]\rÒ^ZB&1$Ó`ÏÄ\ 1Ôûë÷+;\ f&êÕ0½§Õ6H\8e\9fU\9fíª¯Êßz>\8dñ÷)\ e(\8c(9öÆÞlFmQìÑ\18Ó4\8c¼\98\18u?ðQ/$í0yLA\14z÷õÐtâùWC\ 1Æ«E\10\10º\91Å\9a×AmS@ÉÝã\84|\9fÖ; \89f1­S;>¦uÒ7¯*É
+­ò¿D\99k\ 5)ßNÒ\94Tj*3IFªT\16¤wh\89\92¾\8aäE\96\1eÍw%z·ºÌ¨#À\90\0úT+i×o\v}1\92\ e¹)Í`ý¥7¦\91\1fz\ 1 ô\ fZ¿`àEÒ¯<r÷8¦{Æè{\930 Q0õføbâçÓVÉ\92Úß       ý$\f£ ú\rÒká8]^3²¿v       ¹\8eªD?×:k\9c\1e¿]ôäo\96m\8b\bíù\90Ë\85-\97¶\ÙòaH\1d\v߬?\ 5\9bùsÿ\97ç\ 1\ 4\ 4\9bE[]¶Õ\95­V\92a\1aQ{\1eA+\94\97·-à\84d'Ô\96\8c3ج~\1a\1fv[#Á\96Ûj\83Ïß8|\90ïo\1eþ\19\82{
+7«¶\ 5¨¡\85\1aÚ#\r7\f\15\e\96ÅY\16\86.9ìM\90UDÂ\9a lôh-Ni5\12§2ÓE^Â\92Ï\92\948J㱨ÖþGµqÅÖÈ`(s\98z\96\eúªsUÒÉ°\1e¶Ì\í)WlÃyA0¿\8b.^ðÍ÷ÙV\17\99Ö)ÁY\8cµL\ 3\17×\ 5\ 5Àw8Àc$ |\9d÷8à\98ʾ2¬¯ ò\0§­\91Ca%¡d9Z\1d^­°\8e \87H_jív\87p« ò&l\1dköZl\1dkáÉ*\91ì¼ò,Ui\80   >¬\93äTÈ\94vÀl-Gé\8bë4¶\8fõ\1dt"\ ett\ eæ|\18$P«¤°³\91ç>ßÚóÀ£?3©(/¯XA\1aº&\ 1w\89¬#ÕG\81\13î(\81(¶»\ 1\vÙK`¶$Ãóq5°\82\8efl«È¡¢Åæ\ f\14[Õà\9d¶;¨IËZ`&Ì5ÄÔ¡\82æ¥]|Î\131b\93\13|\8d\1d\95ßí¦!±ÊÐ>8ÌÑYÃ\11 \1eÇ\1cõ)V\ 4}M\ 2\99\19\ 1=´ÕF4\9b\1cóg%ù\7fG\8fþÍGù\1e&oÈêf-ï\8egÿ    z¯Éùmz\aã×\ 6^\91»9©-økXÅ\94+&º\85åÛÈÂd\16\fi{*Ié\92Â.ß?æ
+Ê_\876à¼ÉÛLôN\1eb\14ø\95\93\8dA\ 5\ 2Ù\1f\89=ó°\r®?àåeãlu\12ÇèlØ+d\92#ÊX\14ÇÜ\18\8e\9f\8e±©âh\8f*¨4²$\v
+\16\84\f\88s\88Ù\12Øò\1d6\89\90\90\ 2«s*YÈ£>#\ñ&²S\93çU§¬w;ì\85a\7f\16RÃÍ\1f    ¦½ó&×l\18ô\83\9c9Zur×ÛiõßE¨÷fÅ·ã{7íß=Ϊ\a£\1fM½hêS\14ß{÷\91{\8eÍ?-æô{¡¿È¤¤\95NNGx¸}=2\ 5\8eü\b\ fÙYH£x\8c÷\Ú_ðk\8dé@$\856È»\ÒÌs'ñÄ\8b#<\89y\9e?ã®\87\8fÞßcGè#endstream
+endobj
+1172 0 obj<</Type/Page/Parent 1119 0 R/Contents 1173 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1173 0 obj<</Filter/FlateDecode/Length 1626      >>stream
+x\ 1\9dW]OãV\10}çW\8cxY¶Â&     !       \95\8a\ 4Ë"ñ°YZ¢VU·ªnìëøîÚ¾©ï54ýõ=3¾N\8cÙjÕ\82\b\8e?æãÌ\9c3ã?\8fÆ4Âï\98æ\13:\9fQR\1e\8dâÅ\82\ e\1fõ\ 6_F4\9bMâ9M\17s\1c\9f_ÄçTkÊpï\bOï?½ÓÅ$¾\b÷Np¿Üz³::»\eÑ%­2\1aÇÓó   Í`ìb¶ U*&F´JNè[?ËÉ\1f×\9fN¾ûôö\94pxs8|w8¼\95÷«ÏG#\8a&ãx\ 6\17'\8fº~Òµ£gãsR$·\90ʼ®Éçº$\85(+[Eªñ¹­\8dWÞ<á\8c\8bÙÔÙÝ\94Æc\8e>jÃ\8f&sI\83mïª$¯meþÆS¶r´ÖþYë\8a-SjKe**\95c_ëÚ>;üWUJ\85MT1¸À\ 1\16\ 5%¶ò¦j4yK6I\9aú\94Ö\8d\ f)\8dÏã        §äsãÈå¶)RxDRð Ò\1dþ)¯É\19ßH8\12>#1\8b§üØ}F\1a  \88Ú6\1cÓOc²ø\9cP¦Lá$èÌ\16\85}6Õ¦\rGBø\9eÝ£Gö\86\96\f\ eÙ\fÑ\96\84/\15i\95äp\9ej¾Â\0\98J%\89vά\v\0
+dlý\85²ZmJ]ù\90/Âg\94<þtJ\19ÂQn\90ma\11\8drÜ¥% ñÚ\9d´xè\8cVÚlòµmêÜZÀk\9cok\17¡p\1d\98Ø0Îìó¸ö^\97[\84\ 2°\ 1\13Ï\87\88Ý\r¢?$*Ub¼¤0m\14\ 2\87\¨¬ç\8aÔº´O\9cOmKv\1a¡
+]\1c\8cÌ\7f\89{ò:n\14ÒV{\98\ f\88¢+\92Æ\ 3þL<Kp¿Ü/\1f        \8d\a\ e\06\1fÊZ\15\1c®\f2në\14n\93b\1aÿº\fÜ´®Y#xä¾£Æq\9b´'"ãl\81æC?ÖV¥       z\9e\96ÚßÜ\7f|\14*\ 1\11ÜÐ0IbZ\ 1\ 1\9de@Û        û\9c)M¡@G;¨¼Ï\15g\ 3¾\88«\10%ÇK·û¬¤Ë¹Ð]\9b\9f·\80\9dÝ]Òx.¼\9d\P4\83²µràA°\r5[Xé\81î\ fTgÖÌ[ýxßRFÑ£*×
\9aäèU&\ e\9e7U
+ZÓrE­Ìì/\97J\0\8b'$Úw\ 6\f,Ðö8+V\ayw>\90©Ð»\17&ílCe\ 3xU\9aJ\81\ f\8cµ[Æ7t0¹r\1d£©Ñ
+\ 6Eæó\80Ýé\ 2°£L\9d\váv¯;\ 3±~Û\14
+÷;\9eHÄjç®@ò-V\17A\16{
+\ 3á\8005Û­­=ý@;-Mô\12Ö F?C5D2Qß\16Ùm­\9f\8cm\84\8dãø2FñrÅ9¢­·ª\ 6ÉX³R\9d©¦\10\9eÂ|Là\ 2C\92+\88¶ªvd\8b\14w±â\aë\ 3l[_\80\ 3OÕ{"\82\18\1e\ 15\³Ùh\88j*¶\9bí¦V\905\94#ÄÅÅ_\83á§Ò\ 6\b\ 6ÐÂå\8e
\9dÏ\95Å©\81çC\ e0ô¦²o¸(
+\9a\8f[¡7¡"­põ0ýÐ6\\18`Ç/±?ù\16â'Ç-ã¿hÍ\rÏÒÈ\8cb·}~:\10t\83kºFÎ2)\11Ty
+a\10²@}Õ \e& Ëõ\v\89ó+*\13æT`\82eåù¸|\ f'Ü*¢K1ÝZZ~\u¸ÑÿH2ô>\10--\ 6:\94£b\8d\1c\ 4Ý\16?x\r×:Ù\b\8cluá\15¯\19\81>\83¥1*\r´PÌ\90\e\9eª&Ñ\14á\8an\e\1a\84\92Ú¤á9(\93Z\90L5¦`\81\96^ZLqѾ\9e¾\88áVd òÈ®ÖÛÂ$<ð\11\81Ì^\8b\0 ò¨m;Á\19\89\81×\ e\17~\ 6Ò\12\ 2\aé\95ÌòBÿ\15\ 4\9dtõdÀ\ 6\ e1¦kG\1fLR[g3\ fÇY\83~\85\85.\87ÐÁ]D ÞÀí¶¶Þ&\16;F[\ 1ÄÏ\93\12ëM\rûè\b\9bÄl9\9dV\82à¡g\8f\89.\14ÝÚ°O\ 4¡Ê\1aß´õ\86"\ e¼\8a¯èªu)øõ,R\17\13\88'R\r\1dDv\8bçÜ`\97Á\14\ 3-ûíôr\ 6\fÜ%Ý>\16P}Õ2Xäz)\v\13x\8c÷\9b²c\8bÈ\19÷Óñk\82\v;z\92\158\1e2ðº[t\ f\9d      yÌ\11Û\9a÷T\1e\10f\ 3\ 4\93Á¢+w\80\14:Ñ S¯H<@ÃDÁ6 {\1dÖèWxìmw\8aÂC\v\9b\80ì\8e¢ë{ºèº\93òúE¤PåÁä=å\81Vt\e \807pÜͶû\87½¿Ð-Ç\ fµ)\15tºÇ¦cØÓX¤ÃÒzü\ e\exm\8b\81Í\aUé"º\82Úq¶ÑÕC×ÑÑÕêÝCtõÂ`jTa7\8e\18|yÁ£¢û¶\É\ 6à5\12ùj×\82\99¼±1±¨\97F\88±\87ÚWÖ\0\9eÐÌN~6ÌñÃ\18\ fÚß-\a\83,yUp$;ÁÙÝ"Ì÷ñ\fï~\8bs¼        \8eâéìB\96¨ë\ f\ 4\f>óÊ|Û\97\18u\8f\11Þûø\1dìß\97®é|\1aÏñ6\88×Àôd|ÉÏ¿_\1dýxô\ fâ\10§\9eendstream
+endobj
+1174 0 obj<</Type/Page/Parent 1119 0 R/Contents 1175 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1175 0 obj<</Filter/FlateDecode/Length 1403      >>stream
+x\ 1ÍWÛnÛF\10}÷W\fòR'\90iÝ)\17m\ 1»¶\v£ð¥1\83<4}X\89K\89 ¹«ì\92Võ÷=³KR"-¥íS\e#4dîÎåÌ\993£¯'\ 3êãg@á\90FSZä'ý O\93Ñ\0Ïñ,Äs\88ÿFR\82\17³\19í\1ef\89\ fx=ì\a£êèx\1a\fê³}\9aÎ\82ðÕ\8b«\88\1dÀeó\80\9dóÛ  \r\ 6\14%\88d:\v)\8aÝû>E\8bÓMª,Yi^¤¡\1fé'%rIÚÐÝ\13\8986ÒÚ\1fÞF\9fOÎoÇ\8d\85³á4\18ÃÆéf%\11ø¡+\94Z\92i\81÷\84\a]?<\937\9c¸Ï\1fïð\87Êg.\16«T9\9fia÷ü\ 6ì·O\8d·\a]HÜ\16\ 5\1e0\9fñ¥û\ fÏ\11=<FtuCÏ7\11¥ÊÙ·ù<Xh\95P\92f°ì\9d>\8b|.j¯bQ¤jIÂvã©\9c\ e\90SDH2K\ 2ºKh«KÜ.h®\8b\95»õÆ\ 3SC[!Y®×Ú\14\80r+m\e¹Ó7¤×Eª\15      \15\7fÃB«\16\1dôw6\80«"\95ÏãNÄ\9b4Ë(\11iF\85&[\bSt\81\8c\ 4JWl4­µµé\1c\85T¤ÚR\82ú#S\87P¹¦\85Á\11²å\qöFo, \v\bf\80¯±\ 5Ų\80?fÑÁ;\9d\0k\vÄ@\10ln´ùB(\17\8c(.ÊÇTÅpB\17\93\1eù¢1^õ_\1f"ª(õ\ 3\e8\11¥\v\90¤ËÒÈ\18eíø\\ 3\ 6æ\81Ø7s­sxô\89X\89ëñßeÒdϱW\91WQTñwü"Xïź"\9cß^Ð\0íÇ}x6\1aû.zÞ¡vU\81Ë<F¨\8fï\7fýåýã\87'6ÚnÀ0\982;#T\1859V££\b7\0Â\ f.\83(sÙñÙs\98
+u,!×\ eJ\ 2\99\ fB£#[]æ\r;\ 5pXÓ½°\ 54Áå\89ß\9fNQ¸ý¦F_¿C;¿ëxe\v\96\85      ý*èɤ¹0Û
+Yú\19Ì1:ˤé\91È\8a\95.\97+\97\8c¢\ 6~×mÎB-7ëLl­ïe\\96öÓ[G\84\8ec~åyãË\bê¹\ 4\1c\87\91\0âE\8e\vx\17.\ fé\19"¡N\16b\96\18\9d\17"ë\´®4hT\97\99ë¬.e\1d·Wâ\ 5\84'¦qºH×µf%vÜ>K£Ëu\0rsú`:
+Q'Új\vØ\8a}%|"\9dtë´$4¹nø\8d\98ù!\14ÒÕ\9chL\8dÏ\1e\95J°z8\16ð¡míÙç\88ÏÐK@åõ\ 3JZÀLÇ/£°Æ¬\91ÊVp·¢¬@åY\82~ÏÅ\17i\ f\8bÒNÌXÂÄ.Ì®\ 4Þ±\ 6ï\1a\8c¤zI\8dV¹T<]d\e¤Æ}^Bì\18\89\16ËÁ:/çÐ!wB«lÛI\10\97¸&\87³Z\ 3\9d\ 6P7'AŦ©ÚÎ|\a\1c´Óëøä¦ä\\12°ScÊ/ëéSñæ÷e¦ç"û\ 3Ý\8ba\bA«æd{x~ÏV÷÷\87f\1e·\8380ïöfwt\14S\vÂ\82_"³\18EF&Ò\18ðiË0sð\87\9aÇÍ'Þ\15ôFíh\85øM\f$\vÝÁ\81÷\v\896r[Ã1Pl½:ü+TútÁb>\bÆ£!\16\95I0Ãoè2Uÿ\8e@\ 4`\ 6ØóöO¶òl°<p°Â\b=XIÑ·\ ec\96gH=Ã62\9døBÖkÜY\1d\82çar´F¹hêÑÒÐ×ÛS\8fR¿(\19ùµL\8dìöÝ\83ü³èùMÊ×\1d\1d\8f\89\8dÚ ±\9dêÔ$ô\9a\ 5,ûµ ¹³\v´/v8ß\ e-ðj\r\83\ 2t\88À|jú, KHÓn\99 \8a\88ÜÞ\95\9eÅÚq\ 6ýmÉmUõ
+r1©\83±\18aÍÌ\81}ÈW!Uw%\836.Ñ\8cFÎ5Æ\1d\91²Np²G }Z|gÝ´µ%dWÐRë\98ÒX
+\16Õ\92M²a7 ´S¿\8e\0áã>\ 2\9d¬k<þ[櫦+ÿ\7fÄ¿Ö\ eýªÜN]\\85@4\88Jw§\81\8dÇ\1e\7fWB}¶\9e!\e\ 1\10®¸\8c\17\864\7f³Ú¬RÔöõàs\9b\17\8eµ*X\ f\9cjg\9cUß¼\ 6S|]\9c\8dh\1a\86A8bõx¾¼¿ºÄ>¤?C±\ f-J\9e\ e´ÛÛÎê\ega\1fB\85óÿhÕ\1c\87ã \9câ«(_\19ö\99O7ÑÉo'\7f\ 1¥Ý²Kendstream
+endobj
+1176 0 obj<</Type/Page/Parent 1119 0 R/Contents 1177 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1177 0 obj<</Filter/FlateDecode/Length 1410      >>stream
+x\ 1½WËRëF\10Ýó\15\1dVP\15tý¶I%©Â<rYðÈÅ)\16!\8b\91\ 2IãhF8þû\9c\9e\19ɲÀä®\ 2\94lI=Ý==çt\1fþ>èS\ f¿}\9a\ eh8¡(?è\ 5³\19m/å3nz4\1eM\82!\8dfS|Ç×>\95\92\12Øö°º¹Ô¶Ãi0õ¶\ 3Ø{Ó\8fÜ\ e\87\83Æô¿Üö§³à´ëv¾8ør5¢~\9f\16        ö1\99Mi\11Û\94\88\8e\16KI\87\99\8aDF¹ÐF\96\87´\12¥È%¾\92È2µÖô òP\90Q$"CB\93 ö\ 2
+K\18É2 ëkUÊD\96¥\8c\e\7f\91¨´ÔÇ\8b\97\83\1e\9dô\87Á\0  \1c\15y\18³ËD\95\91\84\84d&#\93ª\82ð§\8d(Mµ"QÀ\94óT\9a2ù&³v\8eZ\9a:Ãeú¼$Y¨
+\1fZa\890\94\9aN`½TU\16Ó:-àwó.®\ e¼ý`\12\8c8Ñë\846ª¢¥xC\9a\ 5Ý.°¯h\99\16\923ä¬t\15\16Ò¸hl¹Nõ\92w\16Jûú£Rñ\8bº\8dà2Nµ\b3ÙÉÓ\15=)U\ eO\91ÊÓâyOá)Ü\10ª`Ø\82\13J\14\1f\eß©\15\97R\13öÊ/þ|ÎT(²¿`ík\9cðóN`\9d\87\8a\84\924\93ô\13¿ýrÕ£SÆO?\18\r\at2\18\a3|¢:ä\7fb\95\vDq\10¢_¨PµW\10¥m¸S\8eOìº0úÌg\r\vØô\º§Ô\aÌ\13ÀÍ%<\1cÛO$üà\v\ 5\19·\&\86\ 2]ÜÝ\9c]ߺå[º\9c\f¦Á¤\ 5\ 3\ 1ª\8a8æUî\80\0ü7YjË\ ezL\8b\98       \ 3\90\824\a\9dWÚ *\86O\8a\18Ó;ë-«ê\8ay\86ì\96´!Ù|C±LD\95\99\1fá¤\15ñ¾LsQnêÈçª0%\90\0\1a\83c¼A\97Q\ 1nS
+\12g\96"ÝÓ÷Vþ kV²\aK'^\8d¸ dÎì1 Â³\ 6ä³\fL\92â\95Ò¤»µR>§ÜXP#`Ðùïlµ\13íV\9aùõÝ\ 3ÙT\9f\8eÜÉüÚ\9fÿüt\8cPfI\8f×·\ f85x\151)\vbº¿8ïR÷
+Y;vjR\bn÷ਠÀ_\80Ü\0´|\96\9c\94\17ç\96\9d¹°ÌâóÚ=m4A\väO÷\81\1ak\9c\95\8eÊ4\941Ú£BÑ^¹Ùµ\9dáv\87\13\19'\9cÖ>6wBïá6ý¯lÞlÛ|\87ö\1fÐy¿q\8bÏ\931ïs;ÀjB\83\96Ü\89¶ý¹îº®OïV8Á\pÅl¦\8b\85\91\0\87ïäL\rßι\93×ÇÏÇ\80ÙÓ©ø»I\84\9e\8f¾\v\94Ù7: ¦ªrð\ 2áØ#·{S\ 1{ìR\951\8c\ 1ß&\ fK1G&nùò»@\ 6ÆÁÛ\86¸5\95UÁx\ e\88¡\9f+<\89%0\9eù-"\v-]ðz\ 4\1c^Ý};¿¾ý\8d\1eÎnæg´¸£ùeg£\8b¯\97tsö°¸üv\88Q\84-vyÖ\1e\91-\16ín\8bÓËe\1er#ð\94õ\1d\ eÕ\87Ш\99êº\v\17\8b
+\17»=.K'1\91­ÅFó õûfËwsÕcÁNR#^ù< p \f\8a÷Ãßv6(\8c²5s;A?$kk\ 2ïãë¾éû1CÇ\8d`;©\85\88¯VkÄî6\ e\1e¦ô\ 1Ïð´E¨Î\80\84"\e\8e\9cÐ\ 1d".\8e®Õ\9e\170. WaKC,«\aãã\92¥\ e£Õ5øÃÝf~ȳ\ 6 \94%\14\fD!*\ 5\ e4<\\95*\92ZSe\a1z\9f\88#ÈP\90ç\12*«±ë\9cÁJD¯h\8f¾\81³ -*F\16\ 3«Q¯\18\14>\9aà¸\87 D\85"\19Ë\ 2ªóé(L\85ÆP\11´T\18Ï^\1aÚ\16â$S'n\9d¶£¶\9bÂ\1e^,qá\aÐÙp\17h\87qòµâ\91ÁFµ\13«\19^X\16\88PU¸\16\e\9eJ2Ór\ fÁÖ¢0>\1c\1a)¶|1ò­·zp´Ô²Ó}^\ e\9b©\0?Ø<ú#\8açjXÇ®\85úµA\ 5­Þ°   ÷\ 2úÃ\9eÕpDk«¤íLK\8dÍ\87y¼ÍI1\91\98M\e?~õ\ 6#;GÝå?\91\\99ú)\ 3®Sig©\7fx:vÀ\9by>ô'øÿj6¤É¤\17\8c\87Üÿ]ߺ/Õ\vD-äETå\12s\9d\85//=©W\9cL{\90°ß%\0GÓQ0\9dà\7f\1fôÙÍåâà÷\83\7f\ 13\96n\93endstream
+endobj
+1178 0 obj<</Type/Page/Parent 1119 0 R/Contents 1179 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1179 0 obj<</Filter/FlateDecode/Length 1586      >>stream
+x\ 1\95W]oã6\10|÷¯Xø¥9ÀöÙ\8e?\92\ 2}HÐ\1e\10 Íµ\88\8b À½Ð\12eñN"]\92\8aë\7fßY\92JlÆ\87¢¸\\12+\12wvgvvõ÷`FSü\9bÑzN×+*ÚÁt2¥Å|9YÐâf\8dßçøo%U\83ûÍàã§\ 5Íf´©ðÈêfM\9b\92pûtJ\9bâê\8e\86ÆQ#_d3$SÑ\9c\ e¦kJjÅ7IÊÓV
+OÏÕó\8e\84.éYéÛå\88\9d'm<=nî\9e&t\17~RiZ¡4\15F{k\9aFZê\9cLG\7fØ|\1dLi<»\9eÌ\11ýêz>IWæ+ Æ\95M-\11ò\1fÕv-õxH9\9a/\97Ù\9d\ f\15\1dMG\a¡=9Ñn\ 5yC\95±\85\ 4B\92\8d,¼2\9aðå¼°¾Û\8fÈ×\12\9f¤ç_h¸·²\92ÖJÎÑyi\87´kÌV4döáIäàÚí\ 4yT8:C><J7\9cÐS\b|PM\13\ f¯Å\vÂ\93kÔ®ö$Ê\17 \13;Iæ\ 5e0\bkio¼Ô^!N\fK[k\ eNZ\87\13Pb\ 1²¸¤¯è²ÀÙC\13úÓI<\89\12í\85\15­D"tP¾¦\ 2'\8dH8R±P\ 1\9a?\18ª\8dó\8e¾\\1dj\19\0áÛ1\84=(]\ 2
+Ý.ÉXp\99EƵPç/\1f¸¨\B|\94Ô\98\ 2¹¸n«QØ-r\f\15\ e\10.\94\18\1c\85Ò%2öÒ*S*\9cÐ\0\ 3\84ŪQºãÏYø\03Tú=É ÊØ\12\99ãø­,\f`1¾\bí¼b¹à.ÊhË$\ e\93\90Ï\9f\1f&äh    ÔÜr°Vê\12*
+ô±$EãL(Â[þY.ñÈ!ÃMÕ\0j\816IJ\ e
+R2¢oªs,,÷\90è¡6\rD\16\88¶ôëÝ#Ê\91\85|ÆE(!Âæ£\ 3Jq±F̯\82FÌA³:EY A\90®i\84\91ëw\85\f\ 5Ù\eçÔ\16`\90\1aw\8eÚu\104Ë.ö(\84\8eV\80Ö\r ïe»G3\9eqv±è!Ѿ\b}àÞD6`ºR\16\bãá\91\b\16\81£n\8ff@s\82P\16ÄÅÃa\¸#6ç9Èðè\e̬¢'B»x.ÁKí\91\96ÔBÐ^º \ 1é1â©Ðj\11§\0\17l\v§\91YY¢±R\94G\86\9dŽ\1c\8c\9b'v\87P\r\87bG°æE\95(\83è<LÙ«\ 2\82-;]
+]\1cGäêàð\\98¢\83\11ÂHÏÎÎâ&\9f¢\8a\ 3ðß>~º¥\19¦\b\8f\93ñõ"\1aøoâ\9bÒ»\94\ e\1fýîÈÓ)4\9e¯'«Þ÷Ïî\8cÝåöFG=±Ô\v\8c\13d\81ãùà\88\87\1aÅv\ 6í·]ãÕ\1eÒ\8bút\84.\f=\19nä§
+\f\ 6S ×<3é\ f\92GC01\10õ\17º\98o\ eÃ/2#
\f{t\96\11m\8fÜë\ 1\18?\11\ f      R:\v×O\95  Ý\1f©\94\95\0pnÌ\93®\87ý\9cU£×|?&\1f1Dbrl8\89ÈÇÏ\9b`;Oý4¼¨z.¤Àp·ßvÖ ?B\89ê\94\1arÅøáo¸ rà\8f\eú9\f÷\1cÎs\18¬!,d÷¾F,N¾\9aÙW\9f3S\88ò3²t\87ÐÚtº\90°Ö0«ZQæm\0ð»\1aS#v\19\bl0zS«aDUÖ´\17Í\rZ\81
+\80\ 6=\17ù\ e\83\a\17âÎÂDãC\v_Êy;ꢶF+øô©øòj|o¤p\ 5ÎXå8\9a\1e\80\93ð¯³áÁw\9f¬d56
+\92¨
+~À1£2á­\19ÆPRí^÷\1f\87\15\0Åç¥çm\1a¥*\9fÎ\1f\1c¹Ã=Qëø\0.¾»Håù¾\89\11c\9b\93@e\93Í\7f¹RºhºòÕ\12ÀL\18ó\8d
+Ì&åB¨\9dã{\ 4=?<>¥Ç9O+1u@ì£ô÷\ f\9f\9f²lY©h×XpøC:\95w(£¡\8dx(¸\8a#,8Ç»3\83ÞQ§@\ 6O*lSzçb;\ 6»ø\91Ãb½\1e÷í\17r¼´]¤§8\1f\18\f^\9fõs¿ôÅ\ 5-µ~\80\8cG\ecØC³\ÓÎuºn\ 5"ÆØèûQ8\9b\10?\85+¯P1óE*\fÕb¿\97\10G"\eKCÉÆÙc\e\1f0,N\95\1dµ#x\7f\87gÄq\1dGwQH\a\83\b»d2¸ñÉ^\1f<\85»zôêkg%éYe\8d'f£ë\0Mô#ì¨ï²\9bÇìÆó%ÆÍm\9c\e\ fÕ\b \ el\ 2x\1d    Ûg°!\16Y`éT\13\174\16iÿß\ 4ó\9a\9a\8câL±\b\e(m\f\8b\19#(\80awµrÇ.ǯ\e!ð\88e\14÷Dô.\18M&íó\«\93æ\18Åô.\890*\17«©Tè\9c\0á\a¼\ 6ì9Ú)K¢,A\ 4\1fá²çÖ\94b¿\92ÐK?Iìã§\9bô*9[à\15óæ\9aVËY¤äéî·û;úÝ\9a¯x\ 5ÃÀ(:vqÌm£\ 3\82Ù
+ï¥x`¼\9eÞòèÿï\8da±^LÖ«\e¬\19¸}>çS~Ù\fþ\18ü\vIø÷ªendstream
+endobj
+1180 0 obj<</Type/Page/Parent 1119 0 R/Contents 1181 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1181 0 obj<</Filter/FlateDecode/Length 666       >>stream
+x\ 1\8dTÏOÛ0\14¾÷¯xê\85"-!ICZ\8e \r\89\ 3lS#qáâ&Nk\9aØ\99í\90ñßï{.\85Òí0Umª<û{ß\8fgÿ\9a¤\94à\93Ò"£yAU7Iâ\84\8aü*^R¾\à\7f\86¯\95Ô\84Âe\91Æù¿
+ù²\88³ÓÂM9¹¸Í)M©l\18½X.¨¬  \1d\92\84Êj6n¥&AU«¤öhRIõ"\1dÞÔ¦\13JG£ª%­­\19\9d¤V9ÿ\85\84®Q\1e\9c´$¼\97\1dyC¢ª¤ã\8d[ã<)M~+üÛ\16åÏËçI\94P\94ÎA±¬g£j[ª\8cö¢òX)éñîaEÀ|\ 1,Ьt¦}\91¡ô ýÍÝ÷\15iÑI2Í\1e\98»Ä$\1cµFoø\19Ú\85Þ[á¸ÝQ7+7 .­¬I\81í'ÀQùmhã\18þ\88Æ\97ð6è\f\92ĺ\ 5%\ 3\9eÌ\fò\ 2\8b \r\ 6g\ 5r\81¶,&~uq{E)Ìn(Ê.)*\12Ä\89ê\83ñ\fd\ 6϶\8aº\12°KÔ5\14;\19\88\7fä\ 5       Ù".xÛ]C¯f°¤¥\1f\8dݱÿlö4\99ÒZ8\bû\v\8c\9ef\8d±$\7f\8b®\amÕ@;I];\ eGPòtÎ\ 25ÃR\10è¼U;yb]o\rDw.¦G¥k\8c\ 11è#(l¬\19z\879\ 1\11m<\9bÒ\ 5s\86¾7\16\9a(9sÇ´07ï½\18\16n¾R\ 3ÔàåIß0r\8a£E=$ß\1a³ã\86£Ñg\1e¿v\17\7f\19nÍó}\ 4÷CëUP­\11{#0\9aûµ\87\93päìJtk\ 1\ 5#¹=sG\9d¨¶JCW\18\8eî\0vð^½\83Æ´Ï\85\ 2Ãú¾ðcÁg\8bO4j\89Ü0NÈ\92×Ñôcß\94\95Ñ\9c\95ëÖ1\8e
+\ 6ßð\91iÔfÀe\80\r]L+Lâ¡þ4»D¦\1cO-½P­{ógùvúÓ\ 2wÉrNY\1a\8eàêúþæ\9a~Xó,q\ 6¿\9ajèp\ 5\bîÊ<£Ãòh\91\ýßàæ\8b<^\14KÜe|
\8cò­\9cü\9cü\ 1\82\1a\87Çendstream
+endobj
+1182 0 obj<</Type/Page/Parent 1119 0 R/Contents 1183 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1183 0 obj<</Filter/FlateDecode/Length 1658      >>stream
 x\ 1¥WMoÛ8\10½çW\fzi
\8aí¸qºÀ\1e\16\b°MÓµ\8b\1e6{ %ÚbC\91Z\92\8aë\7f¿oHÊV\94 Àb\e\14H$r>Þ¼y3úçdJ\13üLi1£ó\v*\9b\93I1¡·\8b·Å\9cæ\97\vü>Ã\7f'i\13_LÏ'ÅÅøÅÕêäìã;\9aMhµ\81­\8bÅ%­*\82\9d \9e\94§ïkÑ\ 6éh^Ð\97N\95÷ôÞYïiÙ­\8d\ftåìÎ+³¥³ôüÕêûÉ\84ÞÌæ°qúͺû­³]{<¶íT%ùÐÙÇ9M§Éå\9bÙe1ã\v«ZyªlÙ5Ò\ 4òµítEk\89\ 4DEÊPiÍ÷Î\94AYC;\15ê£]a*jÄ\9e\ f\aq/\r    O¡FÞÂ\a
-N îè\9a\82Í!NÏ\93OÕ´Z²?Îbݧ#Ê\98¥\8fYzbógd\1dåç»>3Ow§x\ÙF(ãï^\15ôíúfIH\83½¯%{·VÓƺ\91_'½Õ]LÅnèF\86«ëÏK2¢\91¸kéú\96DUIï¥?Ú¼ù¼\ 2\f\ fV?È\88G\fW\92VpS#FÍ9È\1f¥l\ 3­÷´\13û\91Sxb\ fì\0Ö\11\82\ajm\8bkE*Ê;\9a.rQÎç \11\8a2/¦\ 5}P¾ì¼\aðéÜ°x\vp
-ç>*ç\83Þ¿&¡5}ZÒ7e*\90\83@\13\86\8bC\ 3,ká\11;ê·üt\ 5ì\96Ò=\80\\9f\10\89ØJºÒ¶¼¿{\95O\ 1
-<åàøô(\95ÃK¶z("lw\91\8f\19\14ÍZ\1c\ fø\ 3Ô\0H\9aR´¾Ó"\16_\ 5²\1cÌêýíÙõm\81\1cF.û\8cZg«®\f\9eJaPzà\7f/wÊËâh;f9ȼC\1d\99]¢*\99\91Çà¹\12\9b\8d,Q0æ^*æÈo#\fÀa\8e\82
-5Èí:c\18Ï\9e5\83°Á;à\11Ý}ýpû\14H~\98¼# \8e\7f\1dÛ\11=Û7Ä1J\10»3\8a\ 3\8eì྾H\9c¸±®A\99Qlkô¾?EGã\1c]²ÎÔß W¡2@\1cj\01\ 1¥Wh\8f\17N66Ht\97±hkù\82Zá@O\96\9b'}ê\9bu\81þßP-u\e[\ 4eø>\0®·Â8Å÷Ùz®\ 2y¹M¯\1e\94\18F\f\8a¨Fiá8\1d\bü>È\\1e¿7å0NtÔ!²\ 3\vc©ûbBµ43\f\9cOÔÌ\982Zc\\97\12)V\1c\bÔ.Ô\16|Èá{ÚÕ\12B\9eé\9cô%\82Ï\8däS\e\ 5YÖÆj»Eïóifs\vµVk\rCͺÊ\9a:J\11¢ÉȪmçRoZ#Ñ\9bS4b#ÊZá¯,§QÜ\923.!\98Ö@mÑ\7f\81¤ð{Ö\95DÖ$\7fYMGî¤yPÎ\9aÄçë\rn\96u\9ff_%nêALQìUxéÉî \1d±¥\a±Äº1`2ñ\11Â÷\94@[\8c«¬ê\89        GµGØ,QQ\9fÀæ( l¬¯}O­\17q\10\fß\fY1JóÀåHƽíÜ\91)\e¥å¸ö@"Ö\93Á\1fäÆA¡\9d+Î.¥\88¿\b´\e\86ñ\7f\ 3Ì£\96ç\vÈ`dÉÊëöã\10\aÀW\16e7\16Sºk[ë\ 2ÔòM\8cÚÉVC3\98ï=E¤0ÌW\11\98\95\ 6%\ eQo±\17$\83 \97\88)\8f\10ìY\1d\89ßtÐÍ\b\10"d\8c"\9f\a\1c9Xé»\ 1\rÇ\18å\ 6B\9b[L>¯\ 2\ 2¯Å\83\8c¨\8e<6\9d\ e
-ûÀS\8ayÖ1,"Ug*aÊ=Ï}\ 4\91ClÑhiW@Ïð²\10\8b\15ËÖsè'Lá\vý±c%\9f\9d\f\ 31É«\bOÛ^Ú0\80XO#Ôq\ e4\11úR«¨\89;¥õ(á\bh\E\0\b\86¯Ði\ 5Á\14ç\8d\8a1\7f¬\ e\88\8aù÷\ 1K\ e~ío¦µ\ 5\80[$ÞC\ 1\ 3(ÿ3jÞ_ä\ 2¥U\87\97\11T&\13\1aUn\1f\a\89\97\õÇö3¿À'P       mÂttPÐ\ 6Ò\82\9aÖ]ÀóQʬ; ':*2¦År\18@XÍzã±\9dº¤Õw§Jþ\ 2\14è¥ÚÄ\95Fjä½\11\97äKi\84S\16\v_¶ÞOÆ?0-ã \81.r@¹\1a¹ú¼©\81ìÐq\11+\89ñÅs\ 1IwÆI­\ 4\v5Î>Z\13\80J¬(_CwI\118ö0JK\19\8cÍ\a¡#\84\8cDcq\1e\17\rMßR£\f\ 6o\9c»,ÚÇ\8e\84r3-âÖLA¥Ý\10k+"Q¾F\98\83È#'p\ 1\83\9cwnB\11@\89ùÁ\19ÿÅ\86\14,É×<Û\813\96-\fÚ~\8f\1eÏæ\88&\7f\8d\85Î
-ú:P¾?ÓîðÛÓÝ\81c{üy\917ÔÕ³\92~Ði.Ãa\96çå%¶0ò@ó\97\98¢¼2zLÉ\\10Æ\r6o\1e-﨧\18ÁÓ§É#¨oph\ 4V?\144®@\a\91â\18±c\ 4ñ£o\85§Êp\8cXù_R¶\13\7fKåµ\9dò¿Ñ\8eE¿\92(°I\15\15ý%\8bM±-ê¿©(2ð\97Ço²ù´à\ fÁÿøýG?ûæ\9b/æÅââ\12\1f\99°;»àÈ\7f_\9d|9ù\17ÎÌåkendstream
-endobj
-1436 0 obj<</Type/Page/Parent 1367 0 R/Contents 1437 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1437 0 obj<</Filter/FlateDecode/Length 1580      >>stream
-x\ 1\9dWÛnÛF\10}÷W\füR\a\886¢,Kr\80>ØhR\18õ%\8d\14\18E]\ 4+rEnLî*»¤\14ý}Ïì\92²L\e)Ð8¶er9\973gÎ\f¿\1f%4ÄWBÓ\11\9dN(­\8e\86bHã³±\18Ñx6Åç\11¾\9d¢U¸1\9a\9e\89YÿÆåâèÝÇ1%       -V°5\99Mi\91\11ì\f\87´HO¾Z÷õÍâ\eÎ\fé<\1e\19\8cÆb\8cC'Ôþsª²µ"i\8cmLªèW\92b)R\91½»¿ûüÇï\9fï¾|¢¿\95X\89\\14O\97þ!!D4ýä~0\9a°åm¡\9cz\1foNö±áftÜ\9a\87Ç\8cZ»Ï\r\ 1\8cAr
-\14`K{Rº\86\ fº¾¹¤\87\93k\9bÊ\92n¤¯qùÒÙ­Wîá\r]}"\99eNyO6\1e_:+³Ô×O×WÁL\9b²QõÖºÇ\90ÆðÀ¥z¿w\ 6÷²¦ä|$\92ÉL$"\19¾í\8cw¾RÛ\94\19-\15åz£\fI\7fp|tvF\ 1\8d`\10þ*é\1fI{Î÷À£ô¾©TFµe;£1-uí\91(\1e\17Ý÷ðá\8d û\ 2\1e\18\88^Ñ*ej\98¥Jf\8a­ð\91\98<@ê;ë0z\r\vR\eåvTX\80¶Õe     G©B^d\e·§\b\82\16\ 5<⿱ÚïB5¹Nje\9dê¹lL¦¼vrY"¬¦F\98;NÔÀ¶÷\12þô\8a\8a2K·w\vz4v\e28,è³`A\83\96{\1d½\ 6\87\9cÙóö§´²ëZ[\ 3"1\ fSi8¢\96j\9c¬Ý\1abväÎ6ëXs0Á>\8b£#\10]­hg\ej<Ð/úÙ?Y1²\ 2\92¯\99àÇL\0ùVÕ\97Wws`\94\16Ú\0$<ãc-\14\ 2E,¥µ\8fÚäTêǾ+XadK\8bÛ\81\ 6\byïþ-\9c\ 4\8eì\90.\87\1aÂA¿Ø²a(hí,*T\81òpä\8b\8e×rcu¦²\16ñsJ 1+
-\88O\86\90$téX\9c
\ 2\93mrÇ\9f£¨Äæ¤ùΤǴ\96\ e¹ g\9f\97\ 5}0\9a\8a \1c\vÐö¸¥6è\8b¾&ÿüQvà+È\935+æ\1eÒ\bm³W/d-\8d\ 5\ e.\88E]\0\ 1\rÆ5/ú\80-\17Î\1a\r/ºþÅS\87|\80¥Ô¡\ 3ê"\14e.«¥d\83\82®"¢\9eîn¯ÿbâÂ\17Åû\90!t\ f.Àg\ 1\1d`¸{\9d\10\91{]5e-\8d²\8d/wÁ
\eÊ\10\82i©E^åÜn\9dFu\1aÊH!\81ZþØCþsÜ´o\ 5ù?\aÁ\ 1ðO³àeÉ\9e\94¾\9b\17\9cÕ\81Vÿ¬{¹\9fTÉÀ3J¬\ 4A\89\9f4«§Ø=\14ÛT\ f±y÷±#&øtÚ\8e8üÚÓòþêvþ2\8b\96x-uù\fd·M"\165\ã9J7sº×&\ 3-évAóXl¾\8dÙ\83<
-\9d\17($\ 4ÓV(\19w\f}`5í\ 5ßѬkp§rpM9h)³0°¯¶¹
-\1cÞbö\91\f\17¿Ö»µ¢\8d,\el\ 4\8c\1f\ 4\82\8bÏ\1dÁª\r\13\18~|Ám4f¹î\8b?ÓRn¤.Y\8b\ 5©ü=\13úµ\102\8dLj$ÄOPcôwø}8áj\85@\86?\86§H\9cÃ\rM!Ko_5\84\16y\11\ 6àr\8d1¬bl°\94¦\92Fæh\1e\80·\96µæIѶS\97ËÃI×ì\95|ÄÝBBº\82\9d6\ 1À}f,~A\ 4zØÃ\82ó\88zÉu\8a°w1´Þ\9ee8ÂÐ\8d\19¶vºö»ÀdìêÈ\b \ eìiÐføMÎ(El2\8d55T*\93×\ 5ÏË(¹]!\9d\ e\ 3\11X`\95\882Æ`°Ê£\84ü\91M÷2\18àFã)u
-(\ 1>I   VÇÎ_[\8e\v³\v\9fp\96å\ fbSX\87pøoÓ\ fÐC\98\83ÿÀ5¿\96\18Êí\ eÑó\9d\9c\81\8c{_\824\16¥×\918\8cÉc`!Ð\87\13mÒ²É:¼9·\88\846 s\85t¬Á\8eÓC:´\1fOg_c¯`T \1a\87æC¢\800\bÉ\8eÐ7ûÒr\a^PZjÞ\8e\ 2\14[\89Í\85\93+m\ e©Å\87\0sT\9f^¶ì\94·5>\11¢h\19½'1|1\1fP&   &D\ 6´²\8f]©£\16×\14\ f\83(×6\87°wLÞ§\1e\9e_/7(À~{£ÚÉÕJ§\81é9\97\1d=©~¬U¦k\9cC"qró*\ 5l\ 5Í\81óÁö\17\89p0å9/LH¬   =Ç¡½dê,\16èN\90[\89epA£ÐøHú bas²\ 61a}Â\ 2±áU\816ZFÌ\82pò_¾F\81±¶\97}9äI®óÆá©ã²âÅÓ\1fÓJ\97LBf/On êa\97\87\1d+
\8c»°\zÅ)#0®S»§ÌÚ\17\8fd\827©Ù)M&çñ\8db~qsyA\9f\9cý\ 6}£ßl\8aÕ\e\83\94éÇ\80\fº\a\ 6Ó!^\99þÏn3\9e\8eÅt2Ãû\18\1e\1fMÙê\87ÅÑ\9fGÿ\ 2\81\85w\1cendstream
-endobj
-1438 0 obj<</Type/Page/Parent 1367 0 R/Contents 1439 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1439 0 obj<</Filter/FlateDecode/Length 1642      >>stream
-x\ 1\9dW]oÛF\10|÷¯Øú%\ e\10Ó\92,KJ\80>رÝ\18°%7V\9a\ 6MQ\9cÈ£t1yÇ\1e\8fVõï;»$%\8bq\80¢È\87\13\8a·;;;»súû O=üêÓx@§#\8aó\83^Ô£áé$\1aÑp2Æ¿\aøã5¥òAÿl\12\rº\1f\ f\87ÔïÓ<E¬ÑdLó\84\10§×£y|ôùfú@*+\1d\95Ú?é\92ÂJSQùÂ\95\9a\J©ó±±KZx·Æ\93Ì\94\81Ê\8d\8dWÞYSª`\9c¥Å\ 6\112º½»xUFõ\ fÊ«½\17õëù·\83\1e\1d÷O\81p\9e\1c!\8bñ{A×&¬$ùåÝ\ 5}=J\®\8c¥\\95A·/ú¯¯IÙ\84\ 4óJgE\8d\16y)82\89¶Á¤\e2áUI\88\12ÑŦ\936Ñ©±F@\87\95)im\80{íü#9\9bmð_<µ¤¨DÉ\99\96O\96ÞUEDS\174à© \18_DG+UÒt6ÿp3ý¥\93\17ð\12'áiÍ1\90ÚëT{¯\13\86\8esÊÒÝ\ 3}66\ 1Ï4\9dÓ¥\10\10Ñ\1cýÈ\14\93\80Cª>¦m\f08\87¦Å\957¡[§¶O\ 6\rÊÁ\b\12\1a\94Âmef%-xsò¤¡7v6x\97eH\82~ïµÅX<Éë>3GQSÙ`\14\r¹\91\9fj\99HKvlÆ\ e¥Å\ 1\94
-¯&¥«ß®>~¡83\fiþþþäæ\9e
\82\8b]FePñ£Ð·ÐÚ\12à¤fY5äTÈ\0ô\1dF%¡HÖ\9f@tçvÓ\ 6\97&q+¬\vôãxµ\8aê\bµ\ e\98\ 5c+a\96\932ôNVL\81Jbh\92\16ªDï¬Ê5(]b*|Í\11\ 6I\0\b¾\mhÊ\95ÓRC8\8e\1e­[\93
-\12\b\11Ý@k\f\1c±Þ@ê1Ä'\13¨B'ïJ=i©§Î¥\99\1a\19\18õ}\19©2Y\r\8c\15\92$^\97%eÎ=V\ 5©\10t^\84\92\81\90Æúã\88YÖIÌïh(@\ 3$s³\82\ 4©8æÐP±óeW\17s·k#=¨|¡Då{p¿ñ\8e\0B:\\e[RY\15\85ó\81\8d.\ f[\89\96ù"bAPÊ2þc\99¹\ 5ÖÕ\9f¬|Fñ\1fò\82\86\96\97Hë¢à5è\ 1BEH\1c%\ 2dã*O{H:<½\8cëäz´]¼ÇíÄ\ÎxIÈ@p\90Ýr>"fx\81¾ü\88\10¨\88{&\9do8û\ em¡|0q\95)\8féã\11¨x\99ÉRì`vkK\98ÂF"BäÉõ[êàØ)\8eO\87õ\88\ f£³\bëHP3Â\9cå\0\91[L\88ƪîc-oG\19v°ÛcMÂA¯\ eÔ*|¿ld\1a\8cahX&ç\ 4ê1\ f\11§V\1c<H¼\87\8b@\96E¦s^\9ee\95AÆ©w9A;\ 1þÃ/ìC{\ eJök\87\80vÛ6¸ºRº\120S\1d.nf\ fíxRP\8f0H\90\8c¼XÀÈ!S\0\98:cI\ 2\ 5\9aÄ.\bjxª°uA\90\96`ý3ʱb\82æ\95\ 5    \aXl\aT\1d\85ËÇ^×Þ(Þû ]\8c"Ñx\84\bõ>w>\81\1a\90¹À²eû\83+ðþÆ4Ù\1a\a\8enã5H9qSp'³¯êcõ´"NË\ fÜHVû\ 2ê4²÷Ú-Ç\95æ\8e\9d¾2A¡7mèú\0p%&æ\ fØ[yÙ¡\8aUUv\13ëÀ^/¾\r\eÒÝFÌ\91¥[\ 6³r\98ºj¹\ 2\87U8$\86\84KL¡\15Ì\9c'¸f¼m\9fÕA|ÞX0\98ªXËöeü¼}\99DÕAÕVÿö\9fmQ[k\91!m\\8c\8bº¹ÿ½\95!\1aÅOä.ÐHG[¦&©aÉÑV\99]&\18϶Ò\96óD\9aûâq4³\ 4ö\0Ó\©¢Ð¶|C0[\ eó\ 2|PÆ\9f\88%ct;õÊVÙGǯ[9Ãrf7\83\ 4ÖÐ&~s¤\96Ü-©u\89ü\113ÒV\195\ 6ð²¿X\98\13\878\v\v\80­â\19~!\ 2SÎwO\13ÄDqu[ÕW\18>c0NµjåUA\1dkîkp\9d*ÓÊ\8ao4w.>ݪrïÞã
-Ý8:jåÛmÓm!¯]dµÊÙp_\92l©R\rľBA¬/\ 4\81BSܳp   @\1dr\ 3=¦O\ fW4\9bÞ~Á_Wtÿq6\9f½\9fÝþÄ°\7f°\8d\8dò½ã£.]V\89\15Ïx\13ÔGvWýíZ}ö"p´Mã»\8b\\ 4w\1e\80ÿÇX\94õ\8aË0$\8dy(²U¾¨wM\ e\ f\b\9f?\93\12\vë»K\v\87\82\ 4\9e°\99ö\92þ\156\85Ƹì.\96Êëw\8c¾\1f\rO\ab\a\13ü\84!ð-ê\9dHcÁT\ 6ç2a\86¿I\8c¢Þè\8c_º½û0{\98ã=è[î&q3\81^v&\7f\8fàýÒ¶hwð¢½Í½ã\ 5[Ò§K¸!f\97\81³sÂe\Æ\17/aJÅÞáºãuÎ_\ 5J½äÛu}ï9¹\9e4>ß\1f\9dE£³>\8dÆgQ\7f$5<\9cß]\9cÓ½wß`\ fðѸâ\83r\85â\9aQ\b¾ÈMNéxÜ{Ëåü\7f»m÷\94l\95áx\18\8dG\13\189b\ e&\9cêj~ðëÁ¿ Ò§ endstream
-endobj
-1440 0 obj<</Type/Page/Parent 1367 0 R/Contents 1441 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1441 0 obj<</Filter/FlateDecode/Length 673       >>stream
-x\ 1¥TQOÛ0\10~ï¯8õ)H4MÒ\90\14¤=\806Þ`\9b\9ai/\95\90ë8ÄàØ\9díPòïwç´\ 3F\91&­mÒ(¾ûÎ÷}ßù×$\85\ 4¿)\94\19,
-àÝ$\89\13ÈÓE\B¾,ñ9ÃË
-h&WÕd~\9dC\9aBÕ`J±,¡ª\ 1Ã\93\ 4*\1e]*/¬f^> è\ 4Ó\ eL\ 3\9au\ 2³\9d\97F\83Ô\õµp\17'ÕÃ$\8dóE\ 6³¬\8c\97ø_ÕÑ\x>o\8dóî\ 2¤\ 3ç\11\8d\9fBËl\rÞ@Ǥöx\9d\ 2Ó5(Æ\1f](pç\87­@èÆ\10j\ 2³´\88\93â\8c\10?ß®\ 2\14\83{cjà­\91\À¦÷ûtá\9cÐ^2õ\17PLH³w\e¼az\0'½p°cÚÓ¦°9o%÷\80¥@\19óØo]Øß!\80=\19YÃÆ\1aVsæü;J¼eM#y\fU+`J\84\1dºXÄ\81\95@\1f\92jl-ì\14¶Ìb\frM\14!Å÷V0\ f­P[¼Y1â¸\ 1\99z¦e\7f@\1de8\8e\13ä\98_'p>j;Ëò8'þ`ÿyÑñ\0\0\9f`'QdÕ\ 5Á`\13\9a£gÚþk£Ì²\82 î\8c½\e\97þ§Ì¸\9fu$\94ì$º\r\95\18+\93%¨úúä\83úDo-\1aÖ+\8fÌý[Ço9Ã\96©Â¾å±ýPü\83\8a1ìH\11\98\14±\1aa]\10\84Dù3*¾5µ\83Þ tÉ\10\96\7f\fnp^td1Ùm\95èЧañ^`\82ó\9b\814YGc¿dú½]\9a^ó0k\9c)En@\9bàO\eÛá\8b\ 1¸ÑÞ\1a¥Ær\aEÆ©~\99À\18Ã\9a·}E§p,Z;·\93\9e·Ç2h\10Þæ¼Úh\98öÑÜÇrÃ\bί\97û\ 3'-ð0Z. [æñÙ\82\fµº¼¹º\84oÖ<\b\1a?Ã{â\b\8f\f£©&\9e\ 2cƬLÐÖu\84y1\86Áí×\8aØ\86Π6¾e\1a\8c\16°\8eÒõ     l­ñ\86\e\85¯àf\ 5?¥®ÍÎáÉÃ[©\85#ܼÌã²Xâ   \88\98Ù9½úRM¾O~\ 3«\9d\9a»endstream
-endobj
-1442 0 obj<</Type/Page/Parent 1367 0 R/Contents 1443 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1443 0 obj<</Filter/FlateDecode/Length 1568      >>stream
-x\ 1­WïoÛ6\10ý\9e¿âÐ/M\81Dñ¯ØÎ\80ah»\ 6(°¤Ûì!\18Ö} )Êâ,\91*IÅõ\7fßw¤d7j\ 6lØ°\ e\b$\8aïîÝ»wçOgc\1aá¿1-&4\9d\93¬ÏFÙ\88®G\93lB³å\ 2\7fOð¿STÄ\17óE¶\18>\7f³>»º½¡É\88Ö\ 5®\9a/\96´Î     ×\8cðD\9e¿-E\13\94£ë\8c~\12æN\18\12&§û5ý,¼ß[\97Ó;#Ý¡      Ú\1aÒæÕú¯³\11]Nf¸ä|%ê\8dà'\f0^$\80Ëé\fÁáíu6Îè½    Îæ­äÏÓÉ\19\8dÇÝÉÉ"\9bóÉ{µG\ 4{mr»÷$+­Lðä\15\ 2Q     \åÔtñx²\8f8\1dJ\85/\9cº@P>(\91\93-¨©\846\14Ôçp:\9eÑ\1aG\r |è¢\1fOS\84=Ò^W\15YS\1dþ\1e\93Iqªh½¢`Ó±çÀ.¨5\95ò\9eÃÓ\ e_lµ\ fî@Ú\ f Ã^\89\9dʳîñd\9eEF\11*\10N©Ja^\ 6Ú(\92Ö ë\0\1e\0ß\1aý\99|8Tê9~2z£¤àHÁH(E \83m)Ý\14ã/Õ \18\1f\90\9e@©ãÅ8ã(\17Al\84\a½\9c9_P\8aÇ\94{°Ð\eÓ\ f½Ô'½\94Â#xò¶VûRá\88ª¼ÊèÖ:ªñÅ\0R\9bºZ°,.@gº0·²­Qûø\98Äƶ\81\81øÓ«ÛëN7ç\91\9e|C\e!w,\91ïÓû^WüÞ\89ZAÔ\91Ý¡6#Ï×Ù\ 4Ú¬\eë\90z {\e\10úë\b¸R²u:\1c\9eÞÊ\9aïÔ\8a\1a\98\99ÕÝ\9bc¹úbp§\ 4%K£?µÌ\88R5y]ëJ8¨,Rç[W\b      zÖ¥Æ\89ô\12 \10Ê\ 5\95v¯Pì\8b\ 1eI ;\b<WªI²NJ\90¥ªÁà¡ÑRT\9d\8a¹\8f\14\0\9f6éw\8c
-èî\1d¡V\86*»Ýj³E+¥\88\ 6È\bq#ò\84È        wMÉyú\84m8àØ\16Qú   û       ô·È\eTW\aÊ-sÔ\8bj\80<\9eÓæ\10\14Ä\aqåô(*f\14¸¹ö»\8e=D'*oS\88\ fåá\87£þY¤Ïß  OA/úF\e ªO­\ 6\14\94ø"£ßSó\18\8bP\95ÓÜ\ 4,\04ÉK\7f*}álÍ/ê\vâ¼ð×\ 1=ÛVð-hË\ 4\1d\v\83\879x¦è\9bPUïEµÍu¡ñ.\99\12·ù\96ÍLH\19ýÄ"^`\82æ.í}¼Ýq¬H\ 6þà5â\13\e\98B\12\1f´@;c÷\95Ê·ð\ 2\ 3\e)EUÀ\15\ 6ér>"\ 4n'\17£\a£\8dr\85\92\ 1bj¬÷\1a·&&|\19aCÙ¢ÐNÁ\øk_o"\959\15\1aø\82E`ÛmÉõEd\ 1\89°s}c<Q¢Od\82â\16(gÅ\96ã"Ë\1e\8d\8aiÀ×ıP·>:âN5\ 1\8cH§B2)\ e$Âw1\82ìÆ\81|  ×\1cd\fR1Ù øê0tà÷¹\8a¥Úc¼ÄT+½c­ôRé\15¿/µ,1V4`Ùèc\19ÀÛ3\13¨oz´\1cÁ\r\ e\8d\1d1´F\ 4\ 5Ö\ 3û\ 2þ±ìÄ£\80wpaAl\9c¹üÆ\87V¢}\81\8fÂróJ[7pN>\17\9fÚ\18\19÷«?`BÖ\9e>\9e?hs¿\1e\1aËCñ°½ ¼º¹&\15äÇW\91\93 v\8cÑ8ÚÞr\1a\a:»$\ 2CÍq6\8ej¬    3ì\1f+èRK\9e[\88hJ²\14f\9bê\8d\96)D[\ 5Bn¬©Z'1\91h\11\1dÚB&¯GûòÅ\ 3J"\99\ 3y sùÔÕíü8\ f¢ù¤\87§!\80í\ 1l³+±.xSHþåmÕÆ]\ 6\rÖ\93Ü\15\91\a;\98CYñ×qñ\18Æt\C"É©\1cHNåÐ:C}ÅÍqüã>§.\95\89E|&«\f\14F_\19\80õ\ 3\91/½_g\ 1{\r\13\99+tT\15}\10³\82£ÍS2C1\7f\88\12¸ÓÒYo\vð\81\12\80p\88¥\97D\92qôOõ¹Ô\9b\98\ 4ÔÅ^ñ¨\81¥\8d¬Ú\Åý\ 5\eèe¿©Ü­èÇ\ f+ºïÆHçZS¨!òÂL`\7fÐ\12-\92\ 6\8d\ 3C\ eÍ\18ïÄÆQÁ\97RÑdWÉËE¶ä}\17\eáÇÉ|AOK\1a_\1eí²g\19\92=â=\83Ô6XdT\\11ÿ/À%ýáÕ\9fÿ=ò     \16ð\7frK¯óËÉ2\eß\9c
-\10»ñ»§\1c\9d¿\86sb}q,~§°\0¤-ð¤\0ØÁÕÛ÷·«Ó\96Ý6¼\ 5\r\eòQ\8b¨f\9cg\88¯\ 6\15~0 thð«_\95o0v\14ÕXv\84Ѿ\862½tz\83æç\150Ão\aH>\9aÓi\19\19´~\9cÿqºj\9f¦×7cBltÅËQÜg1ëâ\ f\ 4\96=6=X\88\86íq\8dO=;ȦÛ\ 3\97½Îzk[Üd7Ð\19ôö/\7f\ 5%\17fbf\8b\98/\93j§± ïÖg¿\9c}\ 1<\fw\aendstream
-endobj
-1444 0 obj<</Type/Page/Parent 1367 0 R/Contents 1445 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1445 0 obj<</Filter/FlateDecode/Length 1532      >>stream
-x\ 1\9dWQoÛ6\10~ϯ¸\87\ 1u\81H¶lÇv\86a@»µ@\1f\9au\8b\87í!/´DÙl$Ò%©¸þ÷û\8e\94dÙÍ\90¢\b\ 2$&y÷ÝÝwß\9d¿\e4ÁOFË)Í\16\94×W\93tB7«I:¥ùj\89¿§øµ\92Êp0_M¿=x»¾\1a¿¿¥lNë\12\16+üQ\10ìL&´ÎG7é4ÍRzS< íÅV:2%Ý\7f|Kïtn\8f\8c~½þ\f\13sÊ26\ 1\1cÉt  \e£}%\94&/¿zÚ\vç\ eÆ\16\8e\ 4Ðh\13?\91\ 5\89Ü\1açÈïð©ô¸ò\98Ò½©¥Ñ\92\1a§ô\96Dw@N«²\94\96r¡ÙÂçÆyv\9dL(Éf\b\f.­ÌáeànkØ\86\ 3ÃvÒ>I\9bFÌy\8b9Y¦«\8c:#\ fÓÅ\92Î\83
-çÉt\91rrFÿ(}·¦ÂH§_yªÔ£$/ªÇÖ\93h}À¥ð¤Â\9d\18
\971m\b½ÏIJ\1f<\1dTU¡Reã`Ì°÷AX\ek\ eü9²\14ñ\93*ÏþC^+g\béÆ{K\95|\92\15®æ\8dUþHµ)äÉ\89ÒN9OFÓÞ\9a\1a\15ä\ 4Á2¿¼ð[\1a\e\8e:¨üH\8a|G¹ÑZæ\ük:ì\14>Q\8e\90×#qm\8e0\99Ò\1a6\8d®\8e°\80ÿ\1d\1dMÃ¥CÞ¸\1eÎ\9b=\9f¸\v\97°\83SΠ[ðólÅf·é\82\v2¨XÇädºJ³[J\96 e\11X<½d±6:y¦\1cç\95ÿN:?Ê}Hi¡Üã³PÑLg8»v\89Ìê¨\87¸\1d9QË\9e\1dTªJ\92@Û¡F\96\1a­¾\ 6\ e¨\9co6È<Î*³Eé\85.¨ôû\88ÿ\9cÚßç\9d+Äý       ^lÄ\ 6\95\13\95\95¢8¶\9d\18\110\ 1\83ó\87QçÞË
-ÍÛù\7fxÝRÂI\0zN\ 4.Jn@\9c@3\18¹&Ð\98\1f¶¬¬\899ÈT\88\8d\14]ÒFm©\90¢z6Õ]2ÏY\ 1I*¡L\91\15óe$ÎM:\8bDuõ&\90¼ ßL]#\93ç,@/NÛ'LëÓí<Þ¦\1aRçñ\e¥\fBF³)m\8eþ¬\90²\82\0²$\9e\99à\ 2£;ËР\aåvßö\7f- 1Ê\93Sµª\ 4\92\15õ\8cÉ\10qÞ´B6\8a¼¹@?"\13:{üþtï¸\8fñ\9eÇ\89÷Öl­¨Ý5\80:¨ZÅ~\819Þì        "?\1a\8e+\93\8bj\fºnÄx£ôøÒÖÃ(ú\1d(\19(fC²è\9e\9f¡\90Z@5
-\ 5åöÆ\1e\1f^·%í\90ræ[Ùí³~éG\9b\ 3ñè\bÉ\15\94WJj\9f´JÉâ\aBJð\1a\91@¸¼È},SÀÏÅ,8£ùNèm\14Y\96ÂW\97Ê4\14A\ 5\v\e¹\13UÉô\81fíÐ\85R\e[\9b\86O´,ùJÂÍY\9aª\82|ÿ`\l\98ù\92\8b½Ø¨\8aåü\84µ\83\ 4\84©TÀ\ fa4ÅÐ\1d=\8cXa£
\ 4!\11\81\7f\9cÂAY¬üÒH\f\ 5\Fóù\8e`0õɪ\9a+ô»a\8a£;´·\b\b\1d\8b\11Ô     FH\1dw,ä\1doÚ»1\8b½\92µ¥\1d\14tmÈ6zÐM\88\15ã\1eY\14U\1cd<ãÉ\1f÷\92~>'àÀÊOñ\ 4ó;Pó6\9dÝ`\8f\81Ú^ð¥ãn\12nô¬ú£*\82¾t¹l\1duæ²l\9eÞ¶\ 6\7f H\f\1e<\89ª\91\14H\95 ¹h\ajYé\e«ÛÉ\f\1d\10\8d6\84ë\f0i\rõ«Jçï×ÿ\rìN\1e\ 2²Oíòô"2\8d\a\ 1Ù\85ÍÞw×I\7fɽÄnò\92\83E\96f]èV&!úÞG\84Ý\8d±$\8b\97û´BÏ\98¶§dñº\146¿ZxL­ÀéÆZf[Ì&6\ 2\8bµ(î\1c@Çô¹æäòUVÔÞµã\1d\82WÀh\8a7\12F3às\18U×ü2ªm\97ì¸fñÓ\rZ*4|\11\1asÀ' WúÉ<\ 2Ë\86÷\19@À4â\1e`D,"aW\v«\rô\11ÚÃ\0ÃÙ©3CÛ\81\17x`\ eº\15»\ eÅ3\1e¹\ fà\8d-Y\ 3xÁ\O`\ 4\8a3\1e\ 2\f',Ýè\10a·M\8düafîe®J^»NX4o\11\87\9d\89\9bÔE~:$Ã\99Óæ#¥;\83±\15\96× \16\f\rT\ e°N\88úrÆ%2\94\rµÊw2\7f\f ZÞ\ f\8aÒ;\rõæê@+C\ 6\19\8f\ 4:l\12ÝM\16Oì<H»ãP ²Oø.cìÖx\1f+«ìéò\ f(,ô®\90Nm5\8a\r߬\91ý\80\ eùCÞy­\ 2[J\81Ù«âðýûîÿ\ 3X\0È!Ç\8eè\ 6×K£xÕêU¶À÷´Õ\8c\16ËðÝâþÍÇ·o ºæ3\ 6"\944\ f%\16Ý÷,ôY¼\9e,'·Ýfû\1dßÏæËyº\¬¢0Î2\86ún}õçÕ\7fÛ\85o\98endstream
-endobj
-1446 0 obj<</Type/Page/Parent 1367 0 R/Contents 1447 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1447 0 obj<</Filter/FlateDecode/Length 257       >>stream
-x\ 1m\90Á\92\820\10Dï|E\1fÙ\83\ 2{ÄZ½Yµ[ò\ 31\f\10\v\12\96D)þ~\83Êmk\8eóº§{~\83\bÜO\84,Æ.\85ì\83C\19lO{D\11ÊÚoÒ<CY\813Î9J\19Îà¬\9dª\8fòæ¹äÍ\85\90¦ï\85®,[\16\1c\9b8e\89\17\86'3¢7#¡"'Tga4îVéæe°\1e
-aûëÿÎ#Õ4Â\19¸\96ào`\10\raj\95l1©®\83è&1[\éITT+­\9cz\10\9e\92\9e¡¶§ü\9d6J3Æó\1d\92ü\95ñR\9c\ f\ 5¾Gs#éðeä½'í\84SF/)7+¿ÉøçÒiÏb\161\14ÕCx¬!_ªÆå|ÀQËq\1eV]\92%,KsÿD¯ÙÅ\8bÕ±\f~\82?\810jÇendstream
-endobj
-1448 0 obj<</Type/Page/Parent 1367 0 R/Contents 1449 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1449 0 obj<</Filter/FlateDecode/Length 115       >>stream
-x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\90\8c\99¹\85BH\8a\82\81\9e\81\ 1P$YÃÓSO!¤² U!?M!3¯¸$1''±$3?O3$\v¨ÏBÁÐ\10¢O\17¢\11¯z\13s\13=s3\v -!)\1aÆÆ #\C¸\ 2¹\0øà&äendstream
-endobj
-1450 0 obj<</Type/Page/Parent 1367 0 R/Contents 1451 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 562 0 R>>endobj
-1451 0 obj<</Filter/FlateDecode/Length 2756      >>stream
-x\ 1\8dY]oÛF\16}÷¯\18ô¡H\815#J¤(\15X,\12;ÙfÑ8ÞÄE^
-,h\89¶¹\11E\85¢Öõ¿ßsîP3\87VZ\ 4m\83\9c\9e¹s¿ïÌP_ÏR7Á?©+¦n6w«æl\92\7fÂ\1f\1fÿy¶H¦._Î\93\89kÜ,M\16\ 3ظOg\ 2\e\97Í\92T8\81\8d[N\92\8\81\8dK§cAÅ`gyR\88¨b°Ð²TV0Øy\9eÌ\95\15ܸé$\87OÞ3:£\18,v:úm¬`°Ëi\92\89l>¥\7f\8b\ 3µ\93\1a¢¨b\9a¼¤ÚÀzÑ9E¼(HC\14õd>\87²@\1a\8bÅGv\9aÓàÈ
-\86l^0P\91\15\f\16éEî"+\98¡È\93\99°Þ(\8b\a2\9b1\10\ 6h\93@l\8bÜ!\10\81T\fv\9e\8eYÁÌNƼ\aYÅ`Q3p'²\82Áæ˱¬`°ËÙH¯bT8ôêÎ\8aÁNS\ 6*èU\f\16z\10¨À"\8aè\96\19º\89Ù\9bÍh\94\9e\85\85\82Á.æ4*²\82\19\8c\ 5\8d
-¬b\ 6#\e³\82\19\8c\82U\13d½É)\rg\86r\8a\1a2\93\ 5CtR°\90\ 3«\18lº`,"+\98F-Ù0\91\15\fv\91\8fYÁÌÁ\82ù\v²Þä   \93Ê(['\1aòQ\8e\18l¶`\ e"+\18la&GV0Ø\85uud\ 53\189s\1dXÅ`³\8c¡
-¬uP\86)ȶ^r\fy`\1d\14!ÝY"ñ\91T\f\16QK\95\15\fv\99"µQÖ+-\98ïÆ!¢\v\97\19 R\81\10\9cÒÚH*\ 6kå-¬`°\8bÉhc¯tÎ\r\e\87xæ.3@¥\ 2!\88¾Ë\84TL\938 ¢¨b\9a\94QiØX1ØÜâ\10YÁ`\8b)#\1cXopN/ìØ*\fÀR3AõxH\93\8a\80H*¦I3\94\7f\14U\f\16ý;b\ 5£ZÐ*\bETËnÌf\85/pLÉ#2µ\82!:µðÛZ²\8aÁÎ\9f±\82Á¢\91\90ö k}\95¡\16ììñj\f\89Ú\81\1dÔ\ 4V16¶\89ãw2£\ 4Ó(\9e
-F³§\13F*ì¬\18ì,cEEV0X¤\16E\13X\9fÚ\94Õ\80\14Ì-ª\86¼C\11\83-xúg\91\15\f\931{`T`\15\83µ\11$¬`°\85\15Q\94\15\f\931SQb\81UÌ`ðê ¬`°¨k\95å½m¶\XçÙEÍ\ 3:+p¸·E\ e\85\9b\ 69\14H>\0Ê   D7Ï°u\94\13\88ñ\92"@\91\13\88ئ<7"©\18lÎk\8c°\82\11=\9b\12\91U̼ð®(¬`°(\ 4Õ«\18,.?#V0Ø\ 5\ f\ eÙY0"\8f)­6+\ 6\8b)\9b\89¬\95álÁ\91\ 5wí®è\91\95¡`°vW\8c¬\17-xoò¢°Ø\10E=\99sv\f£vf\80\9c\8dZ\ f!\88²A\8a\ 3©\18\1aÌ\8d¬`°v\85\16V0\13@¯"«\98   àü\17V0X\fq\848èUì\13 VÙp\9aábj½\8c©\87r3dA\14\f\93í\80\12V0Xt\r6\8e²\82¡vÂþ\89¬b:TÐÝ «\98\ e¥cYÁ`\8b\8d²\82Q3Svzd½»\18$v\93D!#\8e\86¼»\11Ã!ÌÀ¹²\82é.\8f\0\91\15\fÖn\9dÂ
-\86Éh'\18\15ôú\82ÃaÅBFûC«\ 1\b±í\84ó2\92\8aÁ¢\1c\91\81 ª\18¬\1d³Â
-\ 6;\9f\8de\ 5Ãà       ;%Ê*\ 6\8b\ eW«¼;¸Ç±¹\90\r¸jÀÜ\89\10ÃmÉ\10\ 6N n\fsN\82À    ¤£<z"©\98\8eòá!¬`°x-\8cd\ 53\fùXV0XX\81~W£\16Ã\v\96jÙ;þ=\e{ÇcªåÌ\14V0Ø\8c7Xa\ 5\83Å\13w´³`°8\99r\95\15ÌÜ°+ãÎ\8aÁ¢Ø
-ayÒM\vÎ`\9cf\13\ 3º#°Á3\87*m!9\81\8dÃý\ 6[\ 6\12Î\8e\8a\9c\81øÁÒ ¨\18\99\8aZ\8dMqõ`\1fãé\ 5I\ 34G \ 4S6P$\15\8c.\aQÅ`±\13b\10\b\1evF\14\ 2«\18¬½\88\rÆ\9fv\1d6\83\rD\83\an00\90\8a\83Á\91õ\ e\1c\81\91\15\1c\f\ eì`ð ;Å\11        g\ 3\8b¿À;\1cÈìb|¥9\ 238B\98dßGüJ«\ 6#ñΰã\93\1f\10¦\ 6È!»G\bÁÉ\94©    ¤b°\b,R\13Xo\ fb>¼ºÀ\19à¶xu\1d!·µ\92\ f¤b°8(`Bd\ 5\83]ðµ\11Y;.¦\93ã\87\aÞl=¢Öt\161íåm,²f/ß'a¨{`a`M\1e9èÈ\a@N 6\85û\85\90\8aÁB\87²^¥\1d è5>sxý\9e;\vQ\84\10Äåh&¤bn\9b\8dX¿-®¬L(\9e¥\904`Û"ðiæ\9fÂ6"< %p\98\18\91³\89q\94³\11\119\81PÇc)r\ 2a'λ£v*TL/ØdQÔ{ac\17ÛrÒù\99l^DÈàðv\10IÅT\1a×z¥\11S)Ë^d\ 5\83Åí1UV0Û\937\8a\18,\8ek\ 4Þì§^ï\ ef&ËËê\9f\ 3sásÍvð\90îðá\19IÅ`\91;T_\10UL\83\b+\98\ 6ó\92\1aYo\12\1e^vî\eg\80æ\16\11Â\\1eÐià\ 4Ò\NÕH*\ 6\8b\a\97\8a*\ 6kÃPd\ 5\83Åg\1c\98\eÔ*\863>ë\81U\f\16\8fytZ`9\100[ñý\0m\86®Ç\7f]åîÎ^ß\9c½|\8b):q7wø9`^,ÜÍÚ~\ 5ÀÿY½x·í»v}Xõu»ýéæ¿X\8b̤~í9.ñS¬~qóPïÝ®ìz·j·}Yo÷®ÞÞµ]SRÌáßþÞÞ»}ÙÜ\96 \é~\7fquã2×vîÕå§ß\7frë¶\81\âÞݹ§öà\1eëý\83ë[×\1d\83T¹w%\r\98¸s\9b\84Pëe\S5·UÇ­./þ\ 6§Êµë\1f*Wîv]»ë겯Üê¡ÜõX\ 3ÕýÑÖÄ»\83\18\ 5wØ       t§¼ÝT®½s\17ð¦Úö{¿\12³é¸òhÁ<q¿´\8f4\14Kïêû\ 3BúÉ\9c¤¹îê&s×]Ý\94Ý\93»4\amË®Ýlª\8e\9bâw\97à\r.j    VW]õõPïkXý\11® lϼÆ\19\93¸×åêË}×\1e¶ë\13v\96\ 4c\18s\86Â\9bôM\vÎ%\9ep\1f²\b`OÁ÷åê¡ÞVî¦;ì{÷jµ\82\1e^m×î_m½å\92\8bMÍðÐ\7fªñ
-NýÂGè\ 4Ûm\ fåfØ\9eEq÷'\1a(ÿÜ*xüÃ\87í9\94\9c¿Ý<ýð\9d»<s\r\819\1aNk½ñ§¶\9f\8f\93\923\9cM\ 3\8b¯»\16uÑø\10¼éº¶³Â\18iAA|zÚ÷Uã®ÛM½ª+¿\1a¢wõ¦²õcß\8aÄ}~({פÎ=T\9b\9d[\95[÷ÎÝWý?Nr»H\9eÕ\91C\97¹ÏõvÝ>îÝò\8f\97ïß\9c\86\1f\13<\96\84ïÈwÛ}ßù¦Þÿ쮪þ±í¾¸_Ûûv{ê\13\9aü¯å?U½UÌaç>¶eÃÊøm\ foF^\8f£º\84#\1fÞ¿zwõ\9f\8b\ fW7\1f\9aô\7fôîçà
-\86ø\Ý\8f¾\8a­:t/\ 4phÁW«ÞYÛ±9`Ëx\ 3t\9c\9f<×hÒÍÓÐ\13ìpkÇõ\9fToñ\9d]\89ûÄ_t%\ eÂ!Ï_Ñ\ 4õ\9dÕÅ7\fD\95±4·>!\96ÿ±¯ø@çý]·,-÷\19yÛ÷>©w(\ 3\1d×~Ô¬\8e¾uÏ\v\89æÀÜÏ\ fÕÖarSåõå\ 5ÔVëjm\8bGM\80
-\0UéçÈ-f«\r oÅøT\15\1a\88      Z·(ê}Õ;H\95ÃN¯//¾á#~x\12\91®Ú¡\918Äiæ¾¹Ý\95ûýãÚ±\9f¼©øý:\fQ4\88Ì_\1c-Ç`øCâysXk°\19ÊÍæ8,mþvÕ\1a\aÚêKy\8f0³Ç.«Ûº´\13PúÝ:ã»Ä?Vë_ÊþY?ã''\e.;¸âÍ>Y\80À£»\102\1c\8a\9d{Yõ«\97_ºÛ<AnïN\16sTqzûP­Úfwà¡WúÑ}ê»\ 5úºÝïk\9ewU\98h£äã\11\9b¸\9b
-G\80\99\80¾þ\1föD"\ f;î¨Ó\fßIýR\86ò±î\1f\98®\95\9d\11§K\91©«¶\1f\169F\83¤\90GèPÏßN!¾gƹ\8e\1a\8d\93Ã,ð[M\93é³há\1e\1eô m\8e#\14\8f¡ÉÐ\97\1a\ f\10öÌ\93o\19ôÍ-æ\1ebÑ?@í¾Z\1dºº\7fr\7fÇ_\19"«Í\97oq}³K\83\8f)>)ÎyÃx~«ÊpÙ,æ\vÜ¿@Î2Úúææìßgÿ\aît£\88endstream
-endobj
-1452 0 obj<</Type/Page/Parent 1367 0 R/Contents 1453 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 571 0 R>>endobj
-1453 0 obj<</Filter/FlateDecode/Length 1693      >>stream
-x\ 1¥WÛrÚH\10}ç+ºò²v\95\19\83\0\ 1ûæK²qmâ81Ùì\83«¶\ 6i@\93H\1ae$Aøû==#\81À\9bªlR©`\844}9}útëkoH\ 3ü\eÒ4 QHQÖ\e\88\ 1\7f|ø£7\e\8a\80&áXÌ(£ád\84¿þ*¥Ç^0\1a\8aáþn0\v\8eïv®3\1a\r§bÞ9\v/4\99Lð9\9e\19à¿U´ê\ 5áPLh<\98â\13ÇÂ\90\1fqWìr\14ÎÄ\98Fó±\18áî8\18\8b°¹â»ÝkÜ\1d\87xÊ?ëîv®q7\9c#ÜÃÝëEïòÕ\9c\82\ 1-V@%\9cÎh\11;0ðKtv\93È¢R\96BA¯Í\96*C7&_éu\8d \1f\94$K\92t¿\18\9f/>÷\ 6Ô\ fÆ8\7fö`u&í\8enM&uÎg*kÒTY~\8aý\r§Þ_\7f4\ 6Ò8\11\8a¡ \a«¬úZëRW\8a>(\19ë|íO\8ci8lN\ 4S$\8f\13×je\10ÅÎÔ\14Á¾Îk\ 5\19\82Ï*Ñ%E>ü\v*R%KE\99ü¢¨äà«DVî¬ÄEd2تä2U´ÕUÂ\ 6]\92ðOKYê¨Én8òÑ®tªJ*\95Ýè\b_à®Ì\96\82O\91ÌcJ<T*w\16ù\17\19g:×%CYȲÜ\1a\e\93Ê#»+*mr6àÐ\14´HT   \8bÕÖ\0ìBGå\89g\1fî\ 68Å>KE\1e!0Ú!tÖFòt6y:?Fï\f\0ä\85\+\17e\95(zy\88¡Á\8aÌÊc÷úݧÅ;\94\ ee\8b8Hám\1d×ÎU;\14\81 k\19}Y[Sç±\7f.lâ \ 2\11\f\86 Æ\\fF®ÔWu\95\18û[I÷¦R¿\9fF¸àºÅ&ª3\95W\84ï\92˳ԹtH!º[¹Ñ1üå¹Éaå\85ç!ÜÐÃí\r¹°_p\82l\19\8clkÖ<w¿hYùêêý\vÄmPïÖ\1f¼\81\ ee]([ª\18\10/w\1e\f\93+\97\7f\7f\9fÎTÌ|:\7fáYÀS2p>\94Âjc¹W¬ò´ãØ\12\19\ 3}»F")E²\90K\9dêJs­\rɨò\8dôIç±Ù\ 2\9a\ 5\8d¡\0Ç}t\92С«èé\f©?\9d\vúÄìÝ\ 3"\ 6\17´E±\91S\81ÒÄÎ\15`«óH!Ü\95\8e4\82\ 5ØOh\ 1\9cïúï\97Õ.U'ncßÓ©YsÒ+k²\93S\8e\­¡`\0m\8dR\8db\96Ìn.¨­t\84N3u\95ê\9c\ 1\0\11Ñ\1aEI¹B;\95¬\1c\bæÄo·'}\86Nz\90¸ ;Ç\94Ãi@\9aÈ\r2'tÚ\17îb\7f\82;\96[°-\90Π\fL4~\84Ã\80µ\13·+\80ÅÌ\93¨Ö\ e\9eVN5\9cõÜ0hij¶`Ê!\89&/×\9f\1fïïþþçîþqqõæ\8dHª,ý\8e\14\9d8\85¨Y'/\b\96e¬ÕÜ\18_­E?¦;ZzýCa#¥X)\ 5]!¢\ 4GÖÆÄ _     +(´\13C Ü(\94Ó\ 5\16\ 2(ÑÚ³ºÓ%\v\80àsbH\8e\92§21u\1a;HÙ(Xíº\17\1f\84\98O\10å\13r<cÔå\11\1f8ëËWQ£\14\14Ïf\98y
-Âi£k­ò»\9bûf.R\19q\80rϽù·\86f\1cZ\8dBSª6
-ìVQmQº\9f÷eUeµÚxw)D\9c;\9d=\80Ê\90v\16=P×5\82lxÆB\ 4\ e¶M0ÿvy¿8Jý\17¢1.\92§3k$fÊúéÜg\v\1e¸©ôó\96Ûh½öøÞ§r\87Į̂0)ÄB¹iô£\15ë\a31\9c\1f¸qL­Bs¯3\94Ç$c±âÆÒy\94Ö,Á\r}YC\e=}ƺnäÐr·sT¶.«ÿ\15ï1Ã\1e¯ÞÂ_\81´ýàq{A×\11äùÙzSB\89µP\ 2¼ô\82ÃDpó\7fÏ\85û\ 5W¨Óq×x\ 4\9b\ 4A\9cJÙNíã¾hÇØw[£mÁ«\98Å !èFK§L\1f¹!ÞÊ\1c\1do\9dÐûÐ\7f\ 1\9f+¨"7 \ fè\16\16×ÜÏ@i1ùSÙ¥²Æw\r\1f\87@ßjV3cwÿ\9dô÷Äà\94Z\ f\827Íf×F´W\ 5\1e;\9e\ 6\16A\95!\16G?Ù2\86ç\1f\16ÈÒÍr?\9b\1aö\1d\86\96[\ 2\ 3§­×a\b/\ fÙÊD&u\b·cõ\10JÓR\rA\9b\ 1êä\9dÇP¥ ê±^­`\11\9b\8fÓ\93Ã^Ý\96ÿø0S+A        \96Jåû\81\ e3\8dot\ f'U\9a\f°èl/ö-Uîºã¯KÙ\bÓÁí½2u\93\ 6qaçrÍ\bY\vh  ñ\89ýÌv\88tG\0Ö\92ýîÌ ì\e\81yßÇ\92ê\8a\8am\9f¯q¹×ô\e\80ï8\95É(Áb@®\85±\eEXX*O\9bÏ\ 6k4h×l\14,²ìãrä\0+©»\ e&G
-\ 4\120\11ü\9c\84~\ 2\9eXUR§Xçë(a>»áÑÊéÅ©\ 2^\90ª"!Üû\10\ 6\8c½à\0ðjÑÒ«]BtêFN\87+e¡"\8d\9dËma\aXØeÖ¸\86©\9d³\ 4¥\93\15o\15\87!\ 2\15Þ\vü>\83\95 R\85ß©pf«Ó\14\8c;\1eÝf\83Õ5&\93s\1d1ÆVøË\9cm¶ùYç½j"¦£     Oß\1f\7fé;YPO^ôÆÓ±\98\863_ðÑ\84\83{¹è½ïý\vV2º°endstream
-endobj
-1454 0 obj<</Type/Page/Parent 1367 0 R/Contents 1455 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 618 0 R>>endobj
-1455 0 obj<</Filter/FlateDecode/Length 1427      >>stream
-x\ 1\95W[sÚF\14~çW\9c\97N\89'\b\ 4Íd:ÎÅ\89\1fj»1/\9d8\ f\8b´\80\12Ý"-&î¯ïwÎJH\ 67\9dâ1èì¹ßWßG\1e¹øó(ò)\b)ÎG®ãR8_83\9aÍ#<ûø¯5­\19\ 1ÒÃק\ f£`\11\14ú3\90ä4s\17NÔB\19Ý\8d\860°ç\81ã\r±\ 3\18ØhæÌ\aX1Âsq\96\93Ï?¡\0,Ö÷\9c\90Î\839\fÌi\1eâÇ\ 2\8f@\91Sä:>\9d\vpÀÍ\16ç8Ì)du\16èqó\99ÈôÜ9ü\99   Ô#£@\84.<f\14 Ç\85¾\18*ÆÌ\ 4èq\81+B­B\ 1\ e¸`Á\8arò¼\04\16ê\91áy¯0\10 Ç\ 5\81x\111I À\ 1ç/8v\88\8c\87\1f\vô¸hÑóù\ 2ô¸ ´|\1cQ_\80\ 3Î[X\ag¬Ö\ 2=nÎ\ 5ÒFÛ\13 ÇE^¯Ï\13 ÇùÖy+S\80\1eçE\96\8f3è Ðã\6°õÏ\13à\80Cr9ñ\væ\96\88+\b¼D\1az\101\ 6\18õf9\9a^.È\8bh¹F\13\84\88ò\9c\96\89\14¹KËx\1c:\81CoËb\9dnvuZlÈl5Ý©|¥è]\99«´`¤©Ë,Óõ\8båWH\9bÁ^+m"\95·LÆKð¬Óº1Ô\18]\11\98âZ+Ãâ\14íËú\e?Y¡·ïÞRÚ\90)iW$\1a,ªHDg¥j\95k\83#*t¬\9b\8f,©ÉWN\fû\1cº¢}\9ael\84K\13\14\94\ fGÆEiH\19£óÊ°ÐZOô\8f*c»Ù\91\81ЭF\8b+hÞêGRxÎK|\99­\ 2\7f¢¿ï\94ÑÙ#Åå\ 3è\12VÌü\9drÊUq¤¸R\eíÐeY\83§xÐEª\8bX¿<Ѫ\1e4­´.(K\8bo\10¼OÍV\88Tlv*ë5$º\89ë´2iY8­*\9fë\0>~dÓ\114U\90þ¡ò*ÓdS\81©&©\18wvÚã.CcZÃ<(\92D\80\9f\10ýß:ÖE\97D\9e      Ðòy\93\95+\95}i\95Ë4Â1áó\8aÞ¨&\8d©Ñ5Â\83\1fÃ"\e¦\94Y5é\88\vmVi\89\f"\95\8c\1dÓëÖT\94\eßÞ|¸9¶ ãæJÙÔå®z\9eõúâÓõÕÅ\13æ\89U/ß\a[÷ÈÛ¶Üe     »Þ¦\9c\12[Ì\mY\19#ð¹B­Ö´ªË=Üb©O]\81\17\99~ÐRoìF8c\1a®<\1eÖPVÕz­k.\16+ª3úQK`\ 6\94­îÿ"\eÚu$ìY?\e\1d£eÍã!\1ft?ÎwhÂ\1d\1cÂa\8b}-ðý\8bS\17;\92N\19óñó³ÚPÞõceàn¥\9a\ 6©JPPÜRè¹ï»´Ö¹.\8c-8.³Sm­\80\9e½SÛ\ 6ìY­Í®ªÊÚtéËÊMY<Swm\84{4gìgr÷2\ e00\1aÃc@"VÕå:Ítóû©í"\18\96\9bmgô=>¿\ßßwL\80v\8c\v«\8d;X4ýÚжÌ5%\88Z\fý\98G(KKÔVnjXØ \86l\e®xlí
\822ÿjgR§\ f\87öû(\r?\90d}a\ 3\86¾0lÛû§\9e4\95\8eÓ5\f¦\8d.t\8d\99`ÅÙÙeÓ\9feâåq\17X\ fÌ\16a\90HÔ:Ã\8aÀx<;{wswv&áå\19Î\83÷3&\89\82^F\99±©Oûs¨·sDÎ\9c8Oøà(\13¯\ 6kED\8a±má`\84\ fvÜ X½\1d§\16\fËaºkê©4ð´áå9ÍÒÕ´ó\81Y\a\1a\13*\8bì±3ûtbìÑ×\1a\9128\9d¢\85QI\9eÊJ\9a^ºv´\9eøÛ{ÉEÎ;àI\99\1fYõ¹«dY\0OcýÄSìWtä\14+gZ\98\96éHÖ\89\87EyD!÷\ 3\14³j¾uQpC×=¢ê\eä        ad      û«HçzÈsyi7½\8c¦\18Ë\ 4Û²\SU¦\85\91{\a®
-[l³¿±Rí\92W+,}Þâr\aBM¶\e\18/\v\93n\ 5¿\7ffúɬEGêB­2\9dØË\80Ü*\12mT\9a5H2\1a}Ï5\9dpY§ÍK\fK,\r\9ct\9e¶×\98÷×o?ýu»¼º¹v¶&Ïä\ 6\8cÛý>\89\9c¹GÝ\95çÞ\ f£v«Î[\ 2\ f/\vóE\80û\1dßú\11\84»\8b?Þ\Ðm]~Å\84ÁM.Þñx\16ßXóÄ\vñâ3\ fh\12¹ØËÉÿ¾\ 6òÛL\14Îq¥\ 4s\10²Ì÷ËÑ\9f£\7f\0aE³Âendstream
-endobj
-1456 0 obj<</Type/Page/Parent 1367 0 R/Contents 1457 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 623 0 R>>endobj
-1457 0 obj<</Filter/FlateDecode/Length 1752      >>stream
-x\ 1\9dWÙn\eG\10|×W4\94\0¦\ 2qyI$\957I\8e\13\a¾b1ÈC\14\ 4ÃÝ¡¸öî\f=3+\9aùúTÏÁcMÙA`[Ö^}TWW÷|:\19P\1f\7f\ 64\19ÒhLy}ÒÏú¸³ýñþç\93\8bá0\eÒ¸?ΦTÓÅå4ëÇ«\8aîø}º¼\1aec<\eN²ËxÁ\8fö.kº¼Ì®ö\9eùϦ#\98¼\98N`b\88\7fFÒÂÛ\e\M¾|p3;齸 Á\80f\v\8eu<\9dЬð¡öi\96wfKIV\9aGi¨n¬#Û¬VÚ8*t-JE\95~ÐÊ\92P\ 5     :\9b}\801äí\8duþTÒùç\7f\85\aÉK\87ìR\18\19næñí.bcÔfEç~8\9eD[é\13ÿ°;\18\ 11¼Ð\8ei.É!Ì\18R-¬C´s£×\b\9c\10¤6\ 5~YhC\7f\94ªÀmÊ«R*GN#\81\¸ð}LS \1d\8e­O[\87Ïo3zWIa%Ð\À\16>d\8f\8fÂ\94º±ôFºµ6\1fé\86}\96ê\ 1¡äM\r\ fÂ\95Z!\84¼j
-YкtK|XZ*JëL9oüsDÖrXH'ÊÊfÇ0\1a\8e³\8b'`ê\ e§Ùà\8aº\97C\14\1a@][º\13õ\\80\aCÄ$-)íH/8\ 5A¹®W\95Dò%ÿ¿\vW/èÁèfEµX­8\9b\93RmÑ{3\v/øº·"ÿ]\95\9fÓÓû\8eÏ\15é\1a)ªjC\9f\9a\12î¼ß\92a/\18HùyU1\95ðW\80\19L.»\12¹¼?;§\8dnøVS\15\87À\87R·\\8b¢\86\8d\10º­çY®Õ\82\88\1aI\86ú\97
-Xס*H3G\\8e3<}\1eè|Í&ì)Y·©$\89\8d\fW4@o,@Òîè"Ô\0¥Èè6Yy-òe©$Í\fwÊuüÚ7ǯºTìèÖ\13Ï"ï\18ü°\1f,1\9dB\10¡æ\89ùp\86\86\1fûj¢ Á\81ó\ ebx\ 4|E¬sºå\96ÂñýÆ\ 6\8cE\ 3ûÊyйò\81þÉÜ}Ç\b<\a­\97\82\8b\80¯ÌýÙ.ÆÔw\1ccàSh\95\8c^îH\ 1\88\81\9dFÃoÎ\ 3Çáÿ£ÒkXä\0OoA·\86\v\11\81ÉN\13\ 4\91Ð3\98_   kÑJ\ 5H\8aoR\80\87ù\8aÜÁ 0Äû^I
-(\14Jé|\8bã×\ 6\92\a\92Õ\8dâ\84¹\ 3cãíC¼×Þ·Z9£«J\9a\8c\9d\1eQo¨t\eZ\80$l\12\]\19ùÈÂ\ 1\98\1aÅ jSþ\ 3\88S [?\16¤cY¸yùö\8e\14_,\8c®[\84ý\10\89Dñb!}@70WPLi\99*é!×¥\17ø\1d\vm³ý¦ä\8f\87}\f\9aP__þ\96Ë\14è\ 1¢ö\9c D[KW\9f·\ 6
\8a\91Ñ/Råò\1c\15I\ 2º}\87±R\0\85\ 5\ 5F%Õ²\9eãJ/Z\9eEÊb.s\81L¨ä!\12%i¥­å\\9f(9<#5·\84Ô.Qx¥[ußÂ~T\17 \ 3©¼-Æ]oóy÷ü\16\râ\91h²mA\ fpb\89âZ%\10ÞË\a\96ñMF×±/`æ\9c\96\80\9cG\83-\1c¾a~\r\92  ãP\12\0)1Q~d\13\98ÍÝ$ýÉ]dAôT¤ø<ùü`cîÃ\ e\13\87^    õ\9aÛ\eHBÀ·\8d\ 6@\97Èú¾\83¶1àvµao»1¾×'\10UÿY\11ÞH\12Õ¹?ã¾IÚ\10\83¢XSØf\97\bÁ\92V\18\ 2\8c`;\80£\83.ÉÎ\93ûÀ\ e\8e\#v»ÒªàÆñ3h\8b\8dÛ¬ \ 3<~|\81=J\87)vzÒå½£©e\0æEãÛßH¿\ 1X\88IU\11\fÊÇ2®\ el®»\a\94\92Avý|\91í½èio\ 4üM)mv\7f\16"<Ü\8e¾\ 2H\9aü£«0+P\ e(\16¶,ÂfBk±ñ:\12ã9.\ 2\fliD\15\87¤V\19Ýh¿¾l\v\8d²>\r¼w\1e\1c\164ß qUq´Ìÿmç;}«º`NwQmN÷BÚÑîhR^É\e\87áγ\8f\17Q\18e\18\94°Ëpï\15Ð\95PlÜN\93\12"Çb\1dªÊ÷\83Ðxv`­L£b7øø\1d#y\b\9b\1fV\90¥.PWn\94\96³¯`X\8b\r¶¯mÐ\988{©ÀqíKTm\8e\ 2\9bÚc¯\7f°Â`w\@Iâ¢È'\ 2,\8a¼Ç\f2\8a\15¿õ\v\r¤\ 3CøõÑ\9d&°3 \0\80\eò©Á/æ\8bÒð1ÁÉ\15ËQ
-0\96\8c§ÚSÚê\19zø~¬Á\17ÍÝ\ 20)\ eü\85À¶G\90§[-Nú\1c\8a\b\80\v\8dµ­áÕ=\18¸Lg\18z,WëÃl;8O\10:\ 1\92úL\14^ÙÌ3¿o\84!\156/Å{&\13\ eÂÇkn+äØ\89\ fÔ
\1cü\88ºÏRÆ\9b\88Â\8a,xE÷û\8d W¥j>Ó\1c§\91â`\1dó\r| Ü\89\ 1Fk÷];³^cMÏÎK\85_¤áLº\ f4ÀöÐ-¨WÈÇ\9ej sÝ<b:J\90\9c¦NÃvõ\91W\e¿Çõ^ì0ëZê±Ý\85¨l<楯÷z,\9aù\9bM´bû>\§22¿â\8ex4\93 ÜÔ­Ú¡~ÛÅ>\85£\8b·\8a~¸¹{Nv\ 3\12×\18Äþ\10ó\ 5Q¼<<Ë\97ìü\19á WaW\8c%\98\ 6c\1c§#\1a
-\7fwýúæ\9aÞ\19ýAæ\ eûþÞ)\91Sî¦\ fº\93þUêËÿy¾ðñíN\14\17\93\8bl2\9e\86\13öhÂÞ~\9a\9düvò/}\9a3\aendstream
-endobj
-1458 0 obj<</Type/Page/Parent 1367 0 R/Contents 1459 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 628 0 R>>endobj
-1459 0 obj<</Filter/FlateDecode/Length 1581      >>stream
-x\ 1\9dWioÛF\10ýî_1uRD),ê´¤¨\a\10'u\9b¢IÚXAP4E±"WÒÆä®Â%-«¿¾oö\90(96\8aÂ\90!r\8f\99yóæÍèóI\8fºøëѸO\83\11¥ÅI7éâÍîß»\9fø\r\rÇã¤O\ 5\8dFÉ(<ätå\96úϺI\8f\86\931¶õñ)%-N\ 6à    ¾ö&\93d\8cS\ 3wÌ?ñ±æ3Vqt\1cöºÕÆsAÃÞ0yÖXeo&ÝäüØâÅì¤s     \93=\9a-\10Ñh2¦Yæ\ 2éÒ,m\95ÆT\8f\9eÎ>aÓyØÔ¢tµ\16ÖR[Щ_\1aÄ¥B¤+¥åßZ\14òèÔãé7Ó^·\87Ow:íâï\83)¯m%*eôá-]j÷\ 6\80m\96µ\1e¸oÚÉäMG×y>íعÒ\1dmr³T:¸4Ü\85Ôî\8f\92!_6[Iò\96b¼­\8e¬Ò\ e\a³ÉüJ<Ö"©«rK\e\95ç\94+[Q\85ÓÁ\1dâð°T­\b\10<>%±^K\9dÉì\8c6F?©h%n$\96ÜŦä×|\r¿e+\8dø\ 4q\0dW\12ÿ\85ÎH\eZ\19\\9e©R¦\95)·        ]\9a\92ä­(Ö9ßÙt!£'\99Y¯·O`¶Î³`Vÿç \e\8eøhsu-\11¨²Ó\88Ó3O\8bv\7fè1tö\1eOo§çÝs|zac\9fÜÆ}¾Tz½ç@7¬6SÆ\19[\88Ü\ 6\9aDÜáR\7fÄÉz>77ò,\84ҿï\83ûãa0Sh\9a\ 3&½¥LÚ´TëJ!\15._\vàÈILs\85hÏH%29£\vae\81ç\17¦X×\95,\13\1fy´Ø\80è.\17÷vÅÜ\9a\1cÇó-\15\ 2\1fØÔ\eY]¼z{åí\9bEÃ<U\867}2¨\96\8c\1fx{f
-¡tB3|\a­\8e¸\12/\8ed\8b§\1e0\82\88¯D1\17\9e\7fÚTP\99Ô,µúǧ\99\84mPª*áú\91Q\91¦¦Ö\95CÅåÆÓà\8dÙÀcá«"5e)íÚèLé%½×ê\96Â10Ò"L©)-¥¨¸@8N-o+²\95\\93²\1c\85_tKÞÝx\1c);ò\87\8fû\ 4Rjt\ 5¸Ø&¿Ý \84Ú×Úl4áe¥D¾«\15\17ØΧX\95\8c\aÊdFKªm¸Í\93 *^\83\ 4\98{¹øØ\9a||ê·íi\90\9a¢à*FÔvÅ\9e¬d)wµ\145v'H_\14×\9d\ 5Ö×v\11\ 1\85\8dæ\eéÙ°Ý{kg§ÍñdËå\ 1\18\ 6\8a\aÌõ\84|÷ê%\ 5
-k¹\89[w¨\ 2É¥Ô²ä,\1fålQ\9aÂ¥èýþ\8aû9\13
-0bßï'ýn\ fª0N&\ 3×\13~A͸ë\ 2\ f\ e\8a\87TQÈLÁ\8b|{\98\1dNâ(é\8eÎY]^\v]\8b\1cÕê¨ÇIß+ë!["%\10_!«\95É"Vòs­nD\ eé`Xî»ç\b\8aHl£að\83Ò\99Ù\0ë\19ýöòÅ\9e|tz%Ë\eY\12¼\14KY\9e¢\aD\b+\85æ\80ºÛ¬Tºr(Ä+\95\15J.Ê\84;¹?\16Àc\ 1B\r"÷^|\\13JWB/¥\7f\1d«å\8c¶¦.ã®;Ænê\9c\93?G\8fB> Â
-í³Î\10\ 4[`\80\9bÇ=¨¢\ 1ºk¦ì\86åÖÚ\94´\84\9e3<GÁ)Í\14×\15RèòÅÙ)æ²´\91£\8dp\óµ\f)\99º\82Ñ\\94K\ 4,\97¥Ä«\ 5\90\87\9fJCm
-7\8ep\b¶NWG6=d6¡?Lí{­\93\8d(¡á_ñæÎ%F.Ì\1a\vð5ðvÐ\8f¼Å\14\92ô\13:}«Û\b´}\99oOé\ 5Ë"\ 6 öâµ\9f\9dhÆ2LϽðº¤v.c¥r\8dó\80æf\19\v-\87Ø|l±ä°°\83ú<\85||J\e±=`e\9c\1a\ e¸m\99ÊVa°\0\88HZ\9e;U\97¡g8ÄîèoS­\v\16:-%l\82\90PyN` \16®þbs\v\98Æ\99ìJéT\92DèÁê\17=Et¨64\19$ï~å8c>ù\1aå^/ê
-ý´R)\17úq*\1dî¡s\1ct,ø][¯\r¶^¯1+dß".¼Þù\0Ô\17jYCêBæ8l\91e\9eG~ê \83É\ 3yUa¶\8d\13ça+Iø*O\9c\98áVhK{±ñmÛÅ\8fþ\89¶"¡\rß>\80\ 3j\ 1éÇlåF\8c \ 3G\0 M¹ \8f\eû\85d\12 Z\94p\1c:\1d\98ôNf?CxF\18Ì\7fUº¾%»E\v/\82\\87\11\8fù\19&Å?\97¹\99\8bü¯h¸\9bL\98¸Dô\88¾K\92¤\94<ì°B\80ûkQ¢î1~Y¬üp÷È1ºßS§¶¥\9fû¹zy½\9dÑî'\ 1µ\97\84\1f\1aÔ¶ÔÙM\9aÔ~M_ס-NÂHÙ\eá\aØd@£Þ$é\rØëç¯/ 9¥ù\84        \9c^\9a´æùÐ%\9b\1dC\17ñ'Úã.\86Þ¬õÿëz8\1e&ãÑ\ 4?»pÍ`·ÿ8;ùýä_\1f\1fn\1dendstream
-endobj
-1460 0 obj<</Type/Page/Parent 1367 0 R/Contents 1461 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1461 0 obj<</Filter/FlateDecode/Length 1617      >>stream
-x\ 1­WÛnÛF\10}÷WL\8d\0V
-\8bÖ]r
-´°å\18P\80¦)¬"( \97\15¹\926&w\95\8aþ¾gv¹²ÄØE\vÄ7Èär.gÎ\9c\19~=ëR\aß]\1a÷¨?¢´8ë$\1dê\ f\87É\84\ 6\931>÷ðk%­ÎnçgW÷×Ô\1dÐ|\85GF\13\bÇ;\1d\9a§­Q2Hú }0J+½¦r#i\9a+©K*\8dÿïÎ\14Bé·ó/03 n7\98i÷Æ0Ó\9aãøÖ\9aTf\15;3\96¾Ô\86\ 4¥'f2o\86\9e\84UÒÑN\95\eoýIZ§\8c&³¢ÏJgfç\92àjT»Bví\1e\82doõ     ê!öï\ 3\8a\876R{Ó\95\93\96d.ÓÒq.\1c\98¿þ\1c\97 \10Õeô͹\14[\9cçL\84&\91¦¦\ 2\14Bg´\15Îí\8cÍØq\87ÚÝ~Òã\98Ê\8d(I9<©\9eT.×2;q\16\1c$tC\ f¢X
-\12Y\ 1 ]iE©\9eäÁÁ¢¥\12\99\\92\88ÇjÇÞúF¸\86SkLùìÑ\11\0äÂ\ 5\17H\e¨.ÞRQ¹\92\96\92PLi\11×\ 6\7f\7fñ\aÍVr\0xl§ò\9cVBå¤V\9c1\12TZØ=1z\r¯\11\rd»Fð:!_þ\1a\17\8fY¹ÁÍxÎmL\95g\1c\81\93\9eNÀ[­V\88\ 2\90F8\11\ fÜ"ú¦3çLªD\89¸ùÎÕ=Øî¹×º\92ezå\1f÷µxfe\8b3µûK\1f\89\93ieU¹G\13\bgt U\e\85\8bdâØ\9dt\9e}\8f\f|Æð\952       æ\92À\8f\86«Ôî·\1eC~\9a   \83,˺\87\1aÉ\1c\92­\9d\14"Ý(-©´\¢\1a¯\0ç\8b·B\99\0d\8al\18\12£Û\b¶½Ê\91­iÖ©Úfþ\10*ª`=Ç3Ù\9eä7Ð.vWZ\83Ù\1e'\93.uû\9eÊ\8bÞh\\83\1d»Ïßnw\aÃ@öØ\80\1fç¡&Q\ f\8eq\9d\ 5\1c\ 3àÅ\1c
-¡+\91û\f\ 2}g\19ê§V*\rÔ\9c\82\18khE!u\15\ 2MjYÑ¢\90\97´¬Jt4i4Gº\91é£/èÒ|£ó©Ç\rí5E\7fWh\aº©;¬\16\85;/OÉ9Í8\16\908\15\ e\16¿ç¥\87\91«ür\82x\12\9d\ 1\87\93APkI¨)\12éø¯°Á*\14ìµúÿ ôXä~\10\10ht\ 1·W]/?3d\16\9aii \84Ü@\91^¬ï\14%qoª d®Únóý³D\9e(iÃU\94 \1d\ f\83 ê2[¼­gK\83ýÝ ¦&¤ü\88ÿ\98\97\98o+¨Å$é^Cí\87µÜ\8f\92aÂ$* \9d\9f¬Yæ²`9Èè½µÆz\9d¾º\8fÝãg×8\19±ñ\19\18¥\99\99J§y\95AúéâÍ\ 5þÃ\87H\10fq\1dbì¬#Áº¡\8bã\83þÙE«ÜoÑ0h#\b~hÊÿ"\94\r\1dbÇa&\87¨Äv+u&³\84î­\94·\ fwl\99\9b<N½E\8bs6¨¨%Ü&·w%\90ø\r\8c¾@ÿÅ\86óSØ\8fûCÂxJY:${\94â<¬\13\8c*ÏT£QïºAQĵ\15Å¡»
\býÄùZó\8dN%\80Ìд\10=\fêGÌdiW\18ÿù>¡\as\b©\99Ë!B\ 3ù`\8b\\17N\ f7\ 2¢Ã8zèImwáZ,P\8b;Sfðy\14\8cÈ0EÃ2\ 5c      ýa£w>´Û\98¼\8e;\80\1e­\1e\ 1\fífâçê\11 ù\\1doX|\ra\813\95V_+I\7fñ\923»£\9fBT§Ì¾î\85½é\88Ø\91\9aµ°w\86\91\9dk?¢1®Ïÿ\86\8f846\82\97\14J\8dÖ\0\92\17\86\93­0Á×9\ 6\10\ 46\90Û/Y¡Ç½xrÚ^ÕEî{ã\98\9f\15´\12ÖW¹JQ5Þ
-y¶ò¨b\01QÙ\81ïbÏ(¾øÜ/§ãó´.'¬\ 2\976\9eÓ\8e×\1c\ 6\11{\ 2§r iì¬\13\93´Â:èë\1ao«ÒÉ\9c\17¥¬\ 1\11;?*ß\11`\8b\96LÖ        j\88\9eÊ(Ã\9a(Ñ%ð-Èm\ 4jºh\ 1ÀÙ§é\e\>Yä>ÝMÃN°2ynv\9c{
-åa缶5\ZY°\8eB
+4\8aí8qZ`\ f\9bv\v\ 4ئéÆE\ fÛ=Ð\12m±¡H-IÅõ¿ß7$e+r±Àb\13äÃ\12E¾yóæÍèï\93)Mð=¥Å\8c.®¨lN&Å\84.\17\97Å\9cæ×\vü?Ã\8f\93´\8e\17\93âêøÆõ5M\8aþ\97ÛàÃ\84.\16Å4¯\9c^\14\8b´ÇÍ\92·Á\89û_X}þá\rÍ&´\\ 3ÈÕâ\9a\96\8f+åéçN\95\8fôÎYïé¡[\19\19èÆÙ­W\ 6Ïåë_­{Ü8Ûµ¯\96ßO&t6\9bc\8bÓý²M§*É·Î?Ìi:Mç\9cÍ®\8b\19/[ÖÊSeË®\91&\90¯m§+ZIÀ\15\15)C¥5ß;S\ 6e\rmU¨\ fÇ\vSQ#v¼8\88GiHx
+5\98\12>Pp\ 2¸ãÑ\14l\ 6\ 6\1eâ\99ªiµäó8\8aU\1f\8e(c\94>Fé\89·?'ë(_ßöQzúv\8aË\95m\842þÛ«\82¾ÞÞ=\10ÂàÓW\92O·VÓںѹNz«»\18\8a\9d\f\9f\1eÈ\88FâYK·÷$ªJz/ýaÏ»OKÐðdõ\93\8c|D¸\92´Â150j\8eAþ(e\ehµ£­Ø\8d\ eÅI|\ 2\1f\80Ý\ 1Á\83µ¶ÅcEJÊ\e\9a.rR.æ\90\1d\92ò^ù²ó\1e\9c§%ü- @,ù \9c\ f\9a\84Öôñ\81¾*SA\17\ 4\850S\8c
+\8c¬\84\al¤îáã\rh{\90îI:ú\b\10b#éFÛòñÛ«¼
+,à*ãâÕ£(ö7y×}þ°w\17¥\98¹Ä\93¢Y\89Ã\ 2¿g\19ÜHS\8aÖwZļ«@\96Á,ßÝ\9fßÞ\17\88atd\1fQëlÕ\95ÁS)\f²\ eê\1fåVyY\1cö\8eQ\ e\90B\16\96¨J\16ã\ 1<'a½\96%rŲKy\1c\9dÛ\b\ 3rX\9ePA\r]»Î\18æ³\17Ì\06$\a>âq_Þß\1f\13É\17Óé\0ÄøW±\12Q¤}-\1cPBÓ\9dQ\f8
+\83\vù*Éáκ\ 6iF²­Ñ»~\15\1d6gtiwVýV¸
+\99\ 1ã0\85 \1dÔ¼De¼p²±A¢°\8cEEË\17Ô
+\aebÅq\89úfU ô×TKÝÆê@\1a¾\ f\88ëwa\9eâý¼{Î\ 2y¹I·\9e\94\18"\86DT£´p\1c\ e
+vD~\ f2§ÇïL9Ä\89bÚ#Û«0¦ºO&\fK³Â ù$ÍÌ)³5æõA"Ä\8a\81ÀèBm¡\87\fßÓ¶\96pý,çd-\91|.$\9fÊ(Ȳ6VÛ\rÊ\9e\9a[\18µZilÔ¬ªl§£\10á\97̬Út.Õ¦5\12µ9E!6¢¬\15>e'\8d¾\96\ eã\14Bi\r\8c\16õ\17H
+¿cKIbMÎ\97\8dtt\9c4OÊY\93ô|»Æ\93\87Ùg\89\8bz\80)ú¼
+/=Ù-¬#\96ô\0\e\13&\93\1eáyÇ\ 2Ú SeCOJ8\18=`³EE\7f\82\9a£\81ðf}î{i½\88=`xg¨\8aQ\98{-G1îlç\ eJY+-ǹ\a\131\9fLþ 6\ 6\85r®8º\14">\11d7\84ñ\7f\ 1æ.Ë­\ 5b0²dçu»1Ä\ 1ñ\95\8dE\83îÚÖº\0·<\8b¨\9dl5<\83õÞKD
+Ãz\15\81Ui\90â\10ý¶ks&!.\11C\1e1Ø«:
+¿éà\9b\91  d\8e¢\9e\a\1aÙïÒW\ 3
+\8e\ 5\842·hz^\ 5\0¯Å\93\8c¬\8eNl:\1d\14F\81c\89yö1Ì Ug*aÊ\1d·|\80È\10[\14Z\1a\13P3<'ÄdÅ´õ\1aú\17¥ð\ 3ý²C&\7fÚ\19\ 6f\92§\10µ¡\ 1±\9fFªc\1fh"õ¥VÑ\13·JëQÀ\91Ð8\85\80\104_¡Óô\81.ÎÃ\14sþÜ\1d\80\8aõ÷\1eó\rþí\9fL\13\v\b·\b¼§\ 2\80\v\9f¸yÿ '(M9<\87 3YØ\89×èr»ØH¼ä¬?ß?ë\vz\82\94P&,G\a\am`-è7¯iÕ\ 5\\1f\85̾\ 3q¢¢¢bZÌ\85\ 1\82Õì7\1e\83©K^ýíTÉ·`\81^ªu\1ci¤FÜk¡´\7f\94F8e1ëåÝûÎø;ºel$ðE\ 6\94³\91³ÏC\1aÄ\ e\1f\171\93h_Ü\17\10tg\9cÔJ°Qcí³1\ 1¬Ä\8còc¨.)\ 2c\ f£°\94AÛ|\12:RÈL4\16ëñ ¡é%5Ê ñƾ˦}¨H87Ë"\ eÌ\14T\1a\v\ 2\89ò5`\ e\90GMà\ 14öÑá<n\13\92\0IÌ÷\87ñ'ÞHa'ù\9a{;xÆ°\85\8fÐãÞ\1cÙä·\8f£\ 1ôËÀôþHcïÇc\ 3ÃzþR\91\87ÓåOÝ|oÑ\9c\81}\eÏsK¬^\84\80º/Ñ@yZôh\909\17L\19ö¼{6²#\95bÄL\1f!w\9f¾¶a\ f\98ú\90Ë8ýìý\891b¼\bâG_\ 5Ǧp@¬üÛ\14í\84Þð°>-æ\173Lh\97Å5þb\1e§ü5\1a²è\17\12\ 5F©¢¢?e±.6Eý\17\15Efþ:¿\8f\9dåíæ\93ââ
+/\ 3Õ\7f{ï;¼\93íßõæ\8by±¸Âk)o6\9b3öß\96'\9f\ 1¹ÅëÀendstream
+endobj
+1184 0 obj<</Type/Page/Parent 1119 0 R/Contents 1185 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1185 0 obj<</Filter/FlateDecode/Length 1725      >>stream
+x\ 1\95WÛnÛF\10}÷W\fü\12\a\88hQ\92%9@\1fl$)\8cú\92F
+\8c¢.\82\15¹"7&w\95]R\8aþ>gvI]\18#m\1dG\96¨å\Î\9c93üv\12S\1fÿb\9a\fh8¦¤<éGÓ)í_l\86\ f}\1a_L¢K\1aM'x\1f\ f£  YIK\9cíãîÝKsvtÙß\9d\1dà|sô%³ÃÿavØ¿\84ß\10ÂÎìõüäüÃ\88â\98æKä1\9eNh\9eú\90ú4Oξ\18ûåõü+Îôé\92\8fÄÑh8 Þà"\9aâï<=£æÇÊÒT\92\84Ö¦Ö\89¤ßHD\8b(\89ÒóÇ\87O\7füþéáóGú[FË(\8bòý¥\7f(\8a¢à \r¢×¸\88GÑ ¸ØäÒÊ·áÔx\17jo0\8eF\1c\a®Sj\1c\1c[D]zÀÜ\87«\1cIUÁ á\85nï®ééìÖ$¢ ;á*\¾¶fã¤}zM7\1fI¤©\95Î\91    Ç\17Ö\884qÕþúÒ\9birײÚ\18ûìóé\1f¸\94owÎà^T\14_\ e¢x<\8dâ(î¿i\8d·¾\12S\17)-$ej-5 wp|pqA\1e\ro\10þJá\9eI9Î÷À£p®.eJ\95a;\83\11-Tå\90(n\8fÚÿý§×\11=æðÀ@tªWJ]Á,\95"\95l\85\8f\84ä\ 1R×Y\8bÑKX\90\K»¥Ü\0´\8d*
+8J$ò"SÛ\1d\9b\8bh\9eÃ#~µQnë«Éu\92KceÇe­Sé\94\15\8b\ 2\15ÂÜr¢\1a\9d\13ð§\96´\91\94\1aº\7f\98Ó³6\e\9fÁaA\8f\82\ 5\r\1a\12¶ôê\1drfGà_Òʬ*e4\88Ä<L\84æ\88\1aªq²f£\89Ù\91YS¯BÍÁ\ 4s\14GK ºYÒÖÔT; \9fw³ß[Ñ¢\ 4\92/\99àÛ´\aù^V×7\ f3`\94äJ\ 3$ÜãB-$\ 2E,\851ÏJgT¨ç®+Xad\v\83¯=\r\10òÎý\e\1cÙ"]\ eÕ\87\83~1EÍPÐÊ\1a\ 4åáÈå-¯ÅÚ¨T¦\râ\97\14Cr\96ä\11\1f\8eBK\7f\86µ&¯ÓOAXB_Òl«\93SZ   \8b4ЮÇ\15A\v\f\98Ea\ eÆ\9e\ 6sÑÒä\8eoe\a®\84D\19½dÚ!\ 3ß1;\ 5CÂB\e@`½NT9\92W [ýS\v°åÜ\1a­àEU¯\1cµ {D
+åÉ_å¾\1e3Q.\ 4\e\8cè&\80éèáþö/æ,|Qø\1e
+\84ÆÁ\ 5øÌ!\ 1\8ct§    \ 2ß8r§Êº¨\84\96¦vÅÖ[aaC\ 5|0\r«ÈÉ\8c\95§V>\19)$P\89ï;È\7f\8d\9br\8d\16ÿÇ\91p\0ÿ~*\1c\17®Õ|T\8fÇ\vê\17\95v$y Ú¿êcî,Yp\1d\18\ 4¯É{õêhw\aÔ&óC¨Î?´\14\ 5½:\ 4}¼¹\9f\1dgr@Á\86Ä|\ 6ÚÛÄ\1fÊë¯ñl¥»\19=*\9d\82 t?§Y(;\7f\8d\ 1\84\14r\95å()TÓ\94(\1e·\r½gIíÄÝ\12®ír+3°NZ\b*óÑó°2\99ôlÞ`\0\92ð\17¿TÛ\95¤µ(j¬#\f\1dT\82iÀ½ÁÒ\r\13\98\80|Á®\15&»êN\0&¨X\vU° G$³·Lí\97BH\15\90\10ßAµVßà÷é\8c\vå\ 3é\7fï\ f\918\87ëÛC\14μh\bÍòS\18\80ËÖZ³\94±ÁBèRh\91¡\8d\0ÞJT\8aÇEÓXm.OgmÛ\97â\19ßæ\ 2úåõje\95ö\0î2c\ 5ôrÐÁ\1e\16¬CÔ\v®S\80½\8d¡ñv\94á\0\937dØØi\eñ
+ã±­##\808°ùA á7¾ \ 4±\89$ÔTS!uVå<4\83î¶\85´ÊOE`\81}"\b\1a\83ÁR\8f\12ò[6ÝÉ \87/jG\89\95@   ð       \8a±Ê¶þ\9ar\é­\7f\87³,\84\90\9dÜX\84Ã\9fu7@\a\89öþ=×ÜJ`27\8bDÇw|\ 12î|E¤°-½\8cÄaL\ eS\v\81>\9d)\9d\14uÚâ͹\ 5$\94\ 6\9dK¤c4\16\9d\ eÒ¾ýxD»
\ 5£\ 2Á84ï\13\ 5\84^C¶\84¾Ù\95\96\8a\92\8aä¡Ø\b¬/\9c\a2\88.Þx\98\83ðt²e§¼²ñ     \1f\10î=\81 \8cI\812    0!0 \19\0X\98ZjqMq3\88rk2H|Ëä]êa\91êøub\8d\ 2ìV8ª¬X.Uâ\99\9eqÙÑ\93òûJ¦ªÂ9$\12Æ7ïSÀ6¢\19p>X\ 1\ 3\11\ eF=ç\85Y\89]¡ãØ·\97H¬Á\16Ýjq£®\f.hä\e\1fI\1fT̯OF#&ìPØ"Ö¼/ÐZ\89\80\99\17Nþä*\14\18»{Ñ\95C\9eé*«-î:-JÞ>Ý)-UÁ$döò\f\a¢\ evyL2Þ¡¢ÐË°\10\8b\85\93\9c2\ 2ã:½È ¯N¾\80l\16\91ÖveÀ$Ü\83z&LÊföùÂî·\ 4OKÖ\vv\8c
+Û¯ÿ\13\ 2Û\1f좠     /Ê\1e\19õýÅÎßùG\99Ô\94\ 2\19à±\80;3xçg\19ÞÀ<ßrY¬B´¼"\80«\80@Wj\89\9d\99\a\ 5¬Dtíá<ÿ0m\9eµâ1\9eZ§C\1aOFÑå\90§óìêîú\8a>Zó\15rNïL\82Ç\rl\10Üm\ÿ^{GoÒÇSczÖ\8cB\8eóß÷¹\11ÜLÆx\86æ;\a\17lðýüäÏ\93\1fP~ã¢endstream
+endobj
+1186 0 obj<</Type/Page/Parent 1119 0 R/Contents 1187 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1187 0 obj<</Filter/FlateDecode/Length 1570      >>stream
+x\ 1\9dWaoÛ6\10ý\9e_qË\97e@£Ø\8ec;\ 5ö!i\925@bgµº®X\87\81\96([\rEz$\15/ÿ~ïHÉNT\17\18\86\ ej\89w\8fïÞ½»ü}Ч\1eþôi< Ó\11eÕA/éÑptÆ\9f\931>\aøg%\15áA\7f2LFÝ\a\97éÁÉÍ\90ú}J\vÄ\1a\94æ\84\1e¥ÙQ.\8bR\97¾4\9aüªt´)\95¢\8d±\8fd´zÆ\7fñ­&A®ÔK%Ã\93¥5õ:¡©ñ\12g\84Ç\87¤ÜT\ 2/VÂyiiaÍÆáçJ8\9aÎÒ÷·Ó_~J¿\1eôè¸\7f\9a\f\0àÈ\e\1c     áiÃ1\90ÚÊBZ+sÂ3\9c\13\9aîçô©Ô9bÑ4¥«\90\14é\94à48$â1©3\80Á9r2«mé\9f;ù¤~*­Ñ\95Ô\1e    K\\85Q_Ý_Æó\8e\ fó7Í\ 52£½5J!IaÚû\90*\1d\90j|S\89@\19s\944\99\ 6£dÈ7ûè$\99\82>ÝNç/ØÌ\f®\96yP\1ax-\vºþíúÃgÊTÉ\90Òw\ f\ f´¶Æ\9bÌ(r^d\8f\81¾\85\94\9a\0§(\97uCN\8d\fÀÚ¹aH\bÒ\9f¤=q    ]èç6x(\12\97B\e\8f\17\b\119³Pê:0ËI\19z'+*-ò\f\85\9d\16\95\ 4¥K0e#G\8e\89E\85\ 3¾J<Ó\94oNK  á\18zÔfCbaj\10ë\13º\85Ö\188b½A-2\88O¢68ßÉ»\12O2Ü'æ\92L\r\8b\15
+xAD¼F!J\15\81±BòÜJçH\19óX¯Ix/«µw´@e@ªmHcýqD¥:\89ù\1d     \ 5H\80dN¸WP­ \a\91e\1c\1a*6Öuu\91\9a]\19i.ª\85\b*\7f\ 5÷k\r"\81\90\ e7¥väêõÚXO?Ó³t\87­D]µHX\10\8cÿX*³\10ÊýÉÊg\14ÿ!/hhiÛGZ\17\14@\88\ 4\89\93<\0y6µ¥WH:<íÇur3ÚZÑqÛ1W36\89Ð\10\1cdgWGÄ\f/P\97ï\11\ 2\15qÍBå\eξA»\16Ö\97\84E÷q\vÔlf\90Û\8f®\83Ùl4¡\v\e\89\ 4"OnΩ\ fËdï<>\1dÆ\16¿2\ 10\83«X   Ð§FsHúrÔÿòÓ®\8baª;\vkr\rz1F+î×7F\92Á\18&\ e\1f¹ t2ZÁT\15âD±ÁW\82µ2~xÅBÉ\8a}ÓÕ
+
+.¬©àN\10£RüÂkh[kA°`­\9d»·FÛàêªè:\80\99J\7fy;\9b·\9dI^<Jb~\91\17\9d\87\1c¡\ 1\0S*V#P >t\a\9býrÄ\r\ 5Ã\ 5A2\ 4ë\9fQ\ 5\92Ý
+êõ°Í\ e¨\18\85¯\ fK\97\14lù =Ì\88\â+D\88Vnl\ e! ó\1a>[æa °u£\91\81£Ûx\rRNÜ\¸\93ÙÖñXlTÄiùÁ 
+3r\ 1a\96ÁòZ\83ã\9bV\ 6\rìêÒ\vÔ¦\r\1d\ f\0W^fü\80Ç*\17\ 1·XÕ]\rZéy\90²:   \13Hv\v\91"K÷\1aÌÊaaêå
+\1cÖþ\90\18\92\96\ 2s\1cd7\8c·åÓÒ\87\11_j0X\88L\ 6ãeül¼L¢èÐÑÞþü\9fí¥¶S%ôg3ÀøR·\ f¿·2D¡ø\9b°\ 6\91\9a©É#¬p´Uf\97  Æ³½iËy\1e\8a»÷8\8aé\80Ýc^®Äz-µ{C\98³\1cf\ f|PÆOÂ4Fëvî\e\få5:~\9d\97¤(g\1ed\90À\ 6ÚÄ_þ¶%wKj¼"?bFÚ[&\8d÷ï\1f-\1a\15h³°\0xJ¼À\1f\88@\97\87\87ù\89­m\15·\17\12í\14U\e^E(´\8fäºzÓ¹eQë02\9au\8bO·ªlV¸¸ò\98µl\869\9b\a\16ĦÚ\81¼ÖÈ¢ÊyÖî\93¬\13\85DkØ\1a\17b}!\b\14Z`ÅÂü/y\87DA\8eéãü\9afÓ»Ïø¸¦\87\ f³tönv÷\ 3ÃÞkÄSÞ6>HgT\1d\ 6ð\8cM ¾½[y·\8eúâE@hëÅ\eKXÿvÎ\8fÿgðÈèn
+ýÑ\8c\fAº®\16Ñf*L\1e\93\83ëô\85\8aö®*\1c
\7f\82)½Jú\97\7f^ËW뤰ò-£ï'ÃÓA\98\ 4\13üÄ,à\95æmPÅ\82Yôƨ@
+/Ô£¤7:ã\97îîßÏæ)Þ\ 3\93a#É\9aæ³Á.y?gki«³;xÙîpoÙ[\1d}¼Â\fDÛ2p\9e\97\180Fñº\15\98\12\995Xr¬¬ø\17\0'\97¼SÇmçø\eà\17
+\ e£±\1dáx%\ 5v\1a0ßì\88Ûª\95:Su.]¸ûÉͤÙ\10ú#ü\8639¥Ñx\94\9c\9d\87Ýz~q\7fyA\ fÖ|ÅtÁ/\ 4YÍÉÃòż\81\8cxäxÜ;gJþ× n\1d.øÑp<LÆ£ ¦?Â\rF\9cå:=øõà_żk7endstream
+endobj
+1188 0 obj<</Type/Page/Parent 1119 0 R/Contents 1189 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1189 0 obj<</Filter/FlateDecode/Length 695       >>stream
+x\ 1­TQoÚ0\10~çW\9cx¢R1I\bI¨´\87V[ßÚmjª½ UÆq\88ÛÄf¶)åßïÎ\81µl\91ö2 V°ï¾;\7fßÝý\1cÅ\10á7\86<\81y\ 6¢\eE¬(à}±\eü\13Áb¹d)¤E\8eïñ\9cå`%Ôh\8b'iÆâá\93xÉæC'\18\91EÇå\88\9fæño\94\ 4Q\ 3üM9\9aݦ\10ÇPÖ\10³t\9e@V,Ø"+ ¬\ 2F\ 4¥\98̤\17³Æ8ï®@9p\9e{%.¡á¶\ 2o ãJ{|.\81ë
+Z.^\1chÞÉ'\7fØJPº6\17åó(\82i\9c±([ ôäóýC\80â°1¦\ 2Ñ\18%$¬wþè.\9d\93Ú+Þþ\ 1Ä\biÚg:MrV`Æ\bwÇõ\ 1\9còÒÁ\9ekOIYé¼UÂ\ 3\86\82Ö\98\97ÝÖ\85üN\ 6üÕ¨
+ÖÖðJpçC ò2íÎ+£Á[^×J0(\e cºÏé\16s\16\82\ 6ÛW     ÆVÒ\8eaË-Úxi\89"SÃÆJî¡\91í\16\17+{\1cw@¦ÞèØ\9f\98Ã8W\14rv\eÁò] i²8]\e\8e\1f\1c\ 6>Á^i\am\17d\83u¸"½÷\88'Í?PIâ#\95OÆ>ý¯¨}z«\89lU§4'yúD¨N(\99ÕÅp:qÊ\92>\1d"¿\925ßµ\1ey\1dä#NXÖ\e\9fññ\17!\14ðHHONÈå_    0Ø\93|0&÷1\82ÖÒº \1e)\88\97R(\1dêÞ\98ÊÁÎI,©C8~Ôê\rÜÁyÙQ=ªnÛÊ\ e\8b:\1cnÈÁùõ\81¤[Mz\1e¨C\8eµUï´\bU(xÛRé`MáO\eÛáÆ\ 1\84ÑÞ\9a¶íÃ\9dôêûø½]\19\9aÕç\17\9c\90µvn¯¼h\86<¨kÎ}>$\1aFCß    C¾¡_g·ÅiÄd8Þ\8a9$غq\92R½=\ßÝ\Ã7k\9e%5«\11;"    i5\9a\82âÌè]¦y\84M\80\93ÃÀý×\92\98\86Π.¾á\1a\8c\96°\9aÄ«\vØZã\8d0-nÁÝ\ 3üPº2{\87#J4JKG\90i\9e²\1c'\1c\8e¶j\92ä´õ¥\1c}\1fý\ 2¦\ 3¥rendstream
+endobj
+1190 0 obj<</Type/Page/Parent 1119 0 R/Contents 1191 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1191 0 obj<</Filter/FlateDecode/Length 1547      >>stream
+x\ 1­WÑn\e7\10|÷W,ú\12\a°Ï\92ìHr\81¢HÒ\180P;m¥Â(\9a>P¼\95\8eÕ\1d©\90<+úûÎ\92:ɾ¸@\8b\16q\0AÇãìÎÎή>\9f\fi\80\7fC\9a\8cèrLº9\19\14\ 3z3\1a\17\9aNðy\84ÿ\9ei\99\1e\\ f\8bIÿûwó\93\8b\9bk\1a\rh¾ÄUãÉ\94æ%á\9a\ 1¾Ñ§?*{§,)[Òý\9c~R!l\9d\83Õ~·\89ÆY2\96fªY¨×ó?ÓMÃI¾éüò
+QÌËÓ[\e½+[-§ó¡+\1a\ e÷\87F\93b,\87îyË\9e¶Æ\96n\e\86m\f\14\18¸\9c±¸¤Í\1e>\90{ÄéX1Þð|\86\18BdU\92[Ò¦V\88\97x<^Ð\1cG- B\94\b\ 6t>¼ÌÁuH[S×äl½û{LáÀó²\rLÑåc/\81\9dQkk\ eAÂ3\1eo¬L\88~G&ô ã\96Õ\9aËbÿ5\8av%L T \1cSÕʾ\8a´`ÒÎ"ë\b\1e\0ßZó\85BÜÕü\12?\ 5½c­$R0\12+\15içZÊ7¥ø+î\ 5\13"ÒS¨lº\18g<\95\85
+ W2\97\v\98s\8f\ e\9a\12ú!\8fæ(\8fJ\ 5\ 4OÁ5¼­\18\ e\8dóÔà\8d\1e¤±Kç\e%²8\ 3\9dùÂÒé¶AíÓפ\16®\8d\ 2$¯^ܼÙëæ4ÑS.h¡ôZ$ò]~ÞéJ\9e{Õpd\9fØ\15\81?\95eâù¶Ù8\8f¬#Ý»\88¨ß&¬\19ëÖ\9b¸{~!\ 4Ó    \15åÉ\1c    )³»w\87Juu\90\9e\88¬+k>·B\ 6sCÁ4¦V\1e\ 2\85Ö/\95\ 63óÊàD~\bPhä\8c*·eÔù¬ÇVÖæ\1aÚ.\997YÑY\ 4ºâ\ 6äí6F«z/`i!\ 6àó>8¶\8då\88>^\13Êd©v«\95±+tQ\8e¨\87\8c\10\17ªÌ\88\92ð¾\1f\90±­\ 4\9c:"©>c?\83þ\1ay\81Â\9a\13\8e:=õ\90\87cZì"CwÐUI\8fª\16F\81[\9a°Þ³\87èT\1d\\ eñ¡Ú}\7f\90¾èóå\e\14¤©è\9b®Çz¨ü¹5\80\82\b¿)è·Ü7Ö!TöFô/\ 2@\7f¼
+ÇÒ/½käAsF\92\17>íЮm\rË\82¶l4©0èa¼X\8ac&·|bC\8d+ÍÒàYö#éð\95ø\98Ò:Y\89C¼À\ 4Íû´·év/±"\19XC0\88O-à\aY|Ð\ 2­­ÛÖ\®`\ 3\16\ eR©z    Cè¥+ù¨\18¥\93|\8a\1e\8cnØ/YG\88iãB0¸53\11ª\ 4\e«\16\85ö\f_\91·C³HT\96´4ÀW"\ 2×®*©/"\8bHDLë+ÏI\12}&\13\14w\89rÖâ6>±\1c
+ºÅ \90kÒDhÚ\90ÌpÍ\9b\bF´ç\98ýI\ 2Iðû\18AöÆ\83|\rÃìe\fR1àøz×7ßÛ\92S©¶\98,)ÕÚ¬E+\9dT:Åo+£+L\14\ 3XñøT\ 6ðöÂðé\9a\1e-G0ÂN½½\98~\153\8c­U\91Áz\14\9fÈN=*x\87\14\16ĦI+OBl5Ú\17ø(¬4¯vÍ\ 6¦)çÒ·.E&ý\1av\18\8eM O§\ fÆÞÏûÆò°|X\9d\11\1e]¿!\8eúÓëÄÉhT\8c\ 6Ãd{ÓË4ÆÅ%\11\18j\8e³iJc!¸Âz1\83.\8d\96\91\85\88.IWÊ®r½Ñ2KÕÖ\91\90\9bhª1YL¤ZD\87¶ÐÙæѾrq\8f\92DfO\1eè\9uq3>\8c\82d>ùË£ÿcq\0ÛâJ¢\vY\12²\7f\ 5W·ikA\83u$ï\8b(3\1dÌ¡¬øtØ9ú1\1d6\90Dr.\a\92ã\12Z\17¨'Ü\1c&?îó|Î6\15ñ\85¬
+P\98\aÖÍB¹ô~^D¬4BdÉè¨:ù f\85D[ædúbþ\98$pg´wÁ-Á\aJ\0Â!\96N\12YÆÉ?ùKe\16)     ¨K¼âÑ\0ËX]·%§Õ\ 5\væy·¤ÜÍè\87\8f3ºß\8f\91½k]B\r\89\17a\ 2«\83Ñh\91<h<\18òhÆt'\96\8d\1a¾\94\8b¦÷\95<\9f\14SYg±\ 2}\1a\8d'ô¼¤éáakëX\86d\ fx/ µ\eì0\9c¶Ãÿ\vpJ¿\aþã¿G>Â~ýOnét~>\9a\16Ãëc\ 1R7~û\9c£Ó·pN¬/^Äï\19\v@^\0\8f
+\80\1d\¼¿½\99\1d\17ìv#[P¿!\1f\8dJjÆy\81x2¨Þc\88`4®øâ\17\ e\e\8c\1d¦\ 6Ë\8e²&4PfÐÞ,Ðü²ý\15ø\95\0É's:.#½ÖOó?MW\13òôújL¨\85©e9J«,f]úm ²Ç\92\a\v1°=©ñ±g{ÙìWÀi§³ÎÚ\86\83Ëâ\1aB\83àþݯ\9c«ÉU1\19O³VGSaèÃüäç\93¿\0ÿÞkèendstream
+endobj
+1192 0 obj<</Type/Page/Parent 1119 0 R/Contents 1193 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1193 0 obj<</Filter/FlateDecode/Length 1521      >>stream
+x\ 1\9dWM\8fÛ6\10½ï¯\98C\818ÀJ¶¼\8e?\8a¢@Ò&@\ eÙ¦]\17ía/´DÙÌJ¤CRëøß÷\r)ɲã"A°X`×$gÞ̼y3þ|\93Ñ\ 4?\19-¦t7§¼¾\99¤\13\9c¤S\9a-\17ø{\8a_+©\f\a³åôë\83\9bñ»\15e3Z\97°5_â\8f\82`g2¡u>z]<\víÅV:2%=|xCoun\8f\8c~¹þ\84·3Ê2~\v\0Ét\81Ç£}%\94&/¿xÚ\vç\ eÆ\16\8e\ 4`h\13?\91\ 5\89Ü\1açÈïð©ô¸ò\94Ò\83©¥Ñ\92\1a§ô\96Dw@N«²\94\96r¡Ù§Æyv\9dL(Éî\10\11\Z\99ÃËÀÝÖ°\ro\82\a\86í¤}\966\8d\98ó\16s²H\97\19uF\1e§ó\ 5\9d\a\15Î\93é<å¬\8cþQú~M\85\91N¿ðT©'I^TO­'Ñú\80KáI\85;1\14ö/cÚ\10z\9f\93\94Þ{:¨ªB\89ÊÆÁ\98\83°6Ö\1cøsd)â'U\9eý\87¼VÎ\10Ò\8d÷\96*ù,+\Í\e«ü\91jSÈ\93\13¥\9dr\9e\8c¦½55*È  \82e~yá·46\1cuPù\91\14ù\8er£µÌ¹ø·tØ)|¢\1c!¯GâÚ\1ca2¥5l\1a]\1da\ 1ÿ;:\9a\86K\87¼q=\9c7{>q\17.a\a§\9c\85A¶àçjÅîVé\9c\v2¨XGádºL³\15%\v\90²¸ ¯6:¹R\87ó\92\7f'\8f\9fä>ä²Pîé*F´Ï\19À®O"¥:Î!`GNÔ²§\ 5\95ª\92$Ðo(\8e¥F«/¡ø*ç\9b\rR\8e³ÊlQs¡\v*ý>â?çô÷yçÒpc\82\10\e±AÉDe¥(\8em\vF\ 4̼àüqÔ¹÷²B×vþ\1f_¶\p\12\80®uÿE­\r\18\13ø\ 5\ 4þòÃ\96\8e51ù\98\ 3±\83¢KÚ¨-\15RTWSÝ%ó\9c\ eТ\12\92\14é0[DÆ09]½  Ä.è7S×Hâ9\ 1Ð\7fÓ«·óx\9b\9bÇo\94/\88\17ÝMisôg5\94\15D\8feðÌ!×\16\1dY\86¦8(·ûºçk\ 1YQ\9e\9cªU%\90§¨aÌ\83\88óU+^£H\99\vô#2¡\9bÇïN÷\8eû\18ïy\9cxoÍÖ\8aÚÝ\ 2¨\83\92\17\98ã=\f\96 ì£qãì¸2¹¨Æ`êF\8c7J\8f/m=\8e¢ß\81z\81]6$\8b\1eø\19\ 5\94¢PPkoìññe[Í\ e)g¾\95Ú¾F\97~´9\10\8f\8b\90\Ay¥¤öI«\8e,xà¢\ 4¥\11       ÄÊ\8bÜÇ2\ 5ü\ú\823\9aï\84ÞFaeù{q©FCáS°°\91;Q\95¬mЩ\1d\1aPjckÓð\89\96%_I¸/KSU\90ì\1f\8c\8b\r3_r±\17\e\84\9f°v\90 \f\9a0\89
+ø!\8c£\18º£Ç\11«jTÞ\98 $"ð\8fS8(\8b\95\9f\e\89A\80Ëè;ß\11\f¦>ZUs\85~7Lqt\87ö\16\ 1¡Y1v:­\b©ãf\85¤ãM{7f±\17±¶´\83\82®\rÙF\ fz\ f±bÄ#\8b¢\8aÃ\8bç:ùã^ÒÏç\ 4\1cXù)\9e`f\aj®Ò»WXZ ´\17|é¸\9b\84\e=«þ¨\8a -].[G\9d¹,\9b¥«Öà/\ 1\89Á\83gQ5\92\ 2©\124\17í@-+}cu;\8dÁ¶\ 3¢Ñ\86p\9d\ 1&­¡~=éüýú¿\81ÝËC@ö±]\98¾\89LãA@va³÷ÝuÒ_r/±\8f|ËÁ<K³.t+\93\10}ï#Âî&X\92ÅË}Z¡gLÛS²xE
+Û^-<\ 6Vàtc-³-f\13[\80Å*\14÷\f cúÜrrù*+jïÚñÞÀk_4Å[\b£\19ð9L©[~\19Õ¶Kv\­øé\ 6-\15\1a¾\b\8d\13\90+ýl\9e\80eÃ;\f `\10q\ f0"\16\91°\9f\85u\ 6ú\bía\80áìÔ\99¡íÀ\v<0\aÝ\8a]\87â\8a\ 3xcKÖ\0^0×\13\18\81â\8c\87\0à\8b6:DØmS#\7f\18\97{\99«\92\13\16Í\vÄagâöt\91\9f\ eÉpæ´ùHéÞ`l\85\85\ 5C\ 3\95\ 3¬\13¢¾\9cqq\feC­ò\9dÌ\9f\ 2\88\96÷\83¢ôNC½¹:ÐÊ\90A\ 6\1eì#\81\ eKDw\93Å\13ë\ eÒî8\14¨ì3¾¸\18»5ÞÇÊ*{ºü\ 3
+\v½+¤S[\8dbÃ7kd? Cþ\90wÞ¨À\96R`öª8|ÿ¾\7fÿï\0\16\0rȱ#ºÁõ­Q¼lõ*\9bãKÙò\8eæ\8bð}âáõ\877¯¡ºæ\13\ 6"\944\ f%\16Ýw+ôY¼\9e,&«¯·YÞ\91ο\8cÍ\16³t1_FE\9c®\18ãÛõÍ\9f7ÿ\ 1Xzjôendstream
+endobj
+1194 0 obj<</Type/Page/Parent 1119 0 R/Contents 1195 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1195 0 obj<</Filter/FlateDecode/Length 252       >>stream
+x\ 1m\90Ín\830\10\84ï<Å\1cé\ 1b\ 2\ 5r\ 45Ü"µ
+/à\98\ 5\1c\81\13ÄÛ×äçVíq¾\99\9dÝ_/\ 2s\13!Û#N!F¯¬½]õ\89(BÝ:%Í3Ô\r\18C-üu\9a¸1KóQ_\1d\97¼8\1fB\8f#W\8d        7\81!اaâ\8c~¥g\8cz&4d¹\1c\f´ÂÍHÕ=\ 3Þ\8b|\98ñò\7fòL-Í°\1a¶'¸\1d\98xGXz)z,r\18À\87\85¯\ 6\17z\10\rµRI+ï\84\87\93\94 G©]\95¿ÚFi\16²<F\92?;\9e\8bSYà{ÖW\12\16_ZÜFR\96[©ÕÖ2xóAÆ\ eÛMEsçNïÈ]Óâ|*qTb^§·!É\920Ks÷=\aÇlË8ÖÞ\8f÷\aÄ\85i\83endstream
+endobj
+1196 0 obj<</Type/Page/Parent 1119 0 R/Contents 1197 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1197 0 obj<</Filter/FlateDecode/Length 115       >>stream
+x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\90\8c\99¹\85BH\8a\82\81\9e\81\ 1P$YÃÓSO!¤² U!?M!3¯¸$1''±$3?O3$\v¨ÏBÁÐ\10¢O\17¢\11¯z\13s\13=s3\v -!)\1aÆ\86 #\C¸\ 2¹\0øÌ&âendstream
+endobj
+1198 0 obj<</Type/Page/Parent 1119 0 R/Contents 1199 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 475 0 R>>endobj
+1199 0 obj<</Filter/FlateDecode/Length 737       >>stream
+x\ 1m\94OSÛ0\10Åïù\14{\f\a\8cãÿ>B)m\ fíÐƽq\11\8e\ 2.\91Me'\fß¾oåD^\87\ eL2Ï?iõöiã¿\8b\15\85ø[Q\1eQ\9cQm\16a\10â\89ÿøõ\85\9fPZfø4\14­\82ä(v´^\bi(  \83L0!\re¥/Âû\84
+³ÙF©Aã0X\89²R\83&åÌ\90Ô E\1c\94r¯Ðè%\f\83\P©¹ÓhfYjÐ(\fb¹Whд\9cUv      \16QPp\82!¾R'\\82\934\14GܪgB\1aÊË \15LHô     ¯r£Ô QÂn|Y©Aq
+2\9a¨Ð iÂw3Q¡AË\843\9a¨Ðè\14\95"A¥\ 6-Ü(ù½.#ÌEæ3rbÊèÈÆP<\13\12\13è2òLHL »NÏ\84D¶î2=\13\12=b:Ñ£\87R\83&     ÷8Q¡9\9f\98§s¢Bó$¸{ñTjÐU<;WjÐ$\9dS¡Aó\9co|ª,4OY1ó,5h\96Í<»{Iù\19ê\96<*N¸{\99\8fx>=\13ÒPê~h\9e       \89ìc\1e\84äìݯÛC©9û|¶Õ9MbôvrêÄäôÈFk\9e       yrêÙèô¸/\8f8\18Ï\84d§.S\ f¥f§.SO\9dÓ\98g#)rÜ#\8f¦Õ´]ÜT\8b«»\12\93\16¯å,/¨Ú¸·1\9eÔËoí`»Í¾\1e\9a®½¨þ`m\82ßþ¸öÒÝjµY®\95yTT«\96ºWmÕ ©ié lÓí{Z\7f¿¡V\ fo\9d\ 3ª\9e\9b\9e^\95\1d¨îÚA5m\8fµÛÎ\1aÅ'\10þñ|Û<ímÓ>Qï
+\ 3\9fª±\85\90.1¨\11l.u{hl×\1aÝ\ e}0ÚË\85=\8e\0«*õ¸ÓÔmé\13\8eä¥ãÊlZyª÷»×\96T»¡õ³B:½®ácx§\9d\1d=,Ù \96\1c´í©í\ 6nSѦ3èãáâÌÛ×î\8d\86\8eÏtíh\1aSR=¶ü¨\12º·\8d\9dnÝvçÍv»\9d¶ÿ¯s]\ fäöÞ¨úeÿúqÛhæ~oõîýx\16÷ëjn\8eËÏJ\vG×·ëc#d´yüàB,eócÏbéÕ]1Å\99ºW\12\92?\9f\9e$Çû'+0g\80qÄv>W\8b\9f\8b\7fR\9dá\93endstream
+endobj
+1200 0 obj<</Type/Page/Parent 1119 0 R/Contents 1201 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1201 0 obj<</Filter/FlateDecode/Length 1871      >>stream
+x\ 1\9dXMo\e7\10½ûW\ft\89\rز-»¶[ \87\ 6©\81\1c\92¢°\8a \80/Ô.%1Þ%7K®\15ýû¾\19r?DéTÄ9ì×|¼yóf¨\1fg·t\83\7f·ô¸ »\a*ê³\8f˳ëç_iqCË5\9e<<>Ѳ¤\9bùÍ\rî\14çÿxÝ\92²%½lU«Éë¢kMØS¥ßuE¯çk×âfû®[OÖ\ 52\96ÔÅòûÙ\r]-îaé¼tµ2öõ\82o^?ßÓímttµx\9a\85?èåËÇd\83\82®*Oa«©¨\8c\81\1fT\eº\86v[\Ì\ e#\98\91\81OOmg­±\9b9-·\1aar¨açÈ5Á8ëñ\95D/AÏRx·wÑ?'7ë8ÍøxN߶¦Ø\92[s\1c>\1a\9aDÔêB\9bwíI­×º\b\9dÚO£Æë\96BkðVp¤:¾\ e¦PAgÎMðºZÏés Òám\86°4p\11ª}r\0\90Ù\86ÝÓ¦Õ@@ÿ\f0öz!þz¿/ª^©\1eD±Ôã\ 4ÛôfÝ\ e¯\ 3'ã³\0|h\95ÝèKZu\0\1a\11q\11w&l'\19\1a\93j\9aÖ©\88\ eÊ\ 6ãVÊ\a6´{x°\e®\86±&\18$[
+s
+gCëª
+\97«}æ~ÄõRÞåëäªP\96\9c\ 5\fÌ\89I(\91\að¢Þ\95©ÔªB¹QÂÝVãcæ*©\82«Î\81¨ªr;]Î\93×ÅÃ\8ùù\ 3,\96Ú\17­Yi\1ak\ f×\89ÞkÓú\80\90\90\vðð¦n*ÝJ¶§Þ\1e³\0n0í5\ 2RÌUï9\12¯Áß\9cw\85«k\ e|Rî\80øÙ\160\ e®p\15Y½q\8c$\8c\91\11\83\89~Bj\12·UuL¿QÞï\[J\aL ÌðÖ(+\83T\14º  \84Þmõw\90\r^Á,N\8d\r^÷Æà­^\19\9bü\7fu\ 1ÍÀ/âOØ\84ÎÜð­¡f[\0f\1d\99R+)Sæ=va\8e\16¸cC\87R¡Ô-þ;NÒJTî\92\ 5\ 2\19>\ 4Z)nG¸\9bÅ\ 4®cô3ð\ 4uOüs\92!â´¿±{¨ÜU_wþô(I~é
\ 4¹+ÏoçÄ׸¼êõ\81?ªAycSö|#©\93\14¤fÖ¯[W\1fXZDKW\8b_Fÿ\9fERúêÄ\1c¢~\1cEÅiBBFWúg\13ÕÆ\118+´\aRµëX$!\ e\11Û×óÎs8½\ 6÷IÌB«\11\15l\9aA?¸Å\1dºÞðYïå3êK/\92\94¢\83Ø\1c²\87Ú\9aÍ\16m!\ç`$\aÎ\1eªß{<Î(ú1\90\ 1è\vg\96õÇQ\97\8a²«
+\fh\1c\1a\89;\9dÇ\8dêÑGþÒiuW\ 5\83\ 6Í\r\82Ü?:í\83gIOh&qiµo\9c-¹½i#j\8e\80²\fú      \84é`Ê\19ó\129q²,1£¤s\83£\ f$´Óm\14{2\99cYã\89È]L}ä\99çÌ:÷<T_tYú\8eUÿõü\9b±\9f>\89ÊY\f\ 5Å\12ÅC\8b£k\9a\8a§\8d\84Ƶ\93\89À\9fÆ9ÌÃ9Iá_o\97èØ\9dD?\19\92\06*¡hÞ©\aSnNâÅ\f\8b3\r\16\1aÕb\b ­¹j\9a§\86\18êëÜ3\ 5³oª\9a=\ 3\ eL\96A$\1f\1fq\18\18ÄȤ\v^/\84³Ã\18\ 5y\ 1\82áA\1aõ8\ 3¹'hô ¸ºF#â$¶Ó&\8f\8dpØ!L\b!¿wE\1cvc¨\12ÖeæÐØR7\98\f¼ÖÄåBÄ(  {­\15T]\bäe\98³\96Â\ 5\8d¸Meý\19\82\9e(\ 3¦Å
+z°§\9d² Ip\99_|#È@¬,Ïi\90e\8a\fkù(\8bszq\18)<\9ct\8b¼ªÉv\86AØ¡\88\88ëë\92\87lÔl\f\9e\b@涯£\1f'\9c\0\b\97cñâ&Ùó-."\11\ 1U\81è\9eA\12\81¡Î\9a\9fyçùb«ë¼s±\v`\ 1Dkó
+p¬ø\11e~6v±.¹\ f ¥iW\1cfଧkß1_Xmc3\ 3\90\93\93\9e\919P{¸CÃ\9fJYäa\ fïm-C0Ù|W\95)3L\87òó¶\86AÛc\8cª        g°8b\a`´ànx\19~\15\víf\83\96öÏýl¢\8f1±Ì-\b\86\0\9e|\920Î"ÒªdÏ.:\17wL,ÙP\12Ýcö¸{bÒ£\99\11к«X-2ÿ[¦dÜ\93\1c\18^¼9q!8  /ÉMæ
+ߤßgäëÕ\1câ¹Æs\8b\1eX"\9c\1e\86¤\ 5þ\14oéÛ®µ\99gµáeKZ\ 4Ú\7f\1a;Lu\ 5I\ fh\r\18]c"\97Ñ4§\9fT\1f\ f\ eÈ\16gfÚ¹r\86=cåâm\bó\91\ fVé\\92IòäÑð\84ÝRì\9daÎ5®\15Q\90g)\1aQ\99Ø\1eà\ 6£\95¥}Ø\93\aóK@\13\91=Zp9©~«.!ø-\8epX\9a\97yPA½Å\8eμr \87û§\ 4:\81\91[\83ç/j\1f\82®\9b\98Yå6HC\98Ç5J\9b0Paôf8tH\9b²zcLÊÉ
+&3ß@m\14Á¡ù\ 1\1aj\ 4¤°\86Ë\8a7A\11\9aÊ\r\8eç     kÔ8¡\99Nǽ¦Å\80\16Òe®\87\80\ 5Ú$}ãÛ\83Ö\8cÛ\e\8câÓ\8dX<,:\90\0\94ð\1aWáñx\9d\ 1\83Ú\1c!\96óñ_×A¸\W\ 1vÞÆ`wz\10ÐÄ\87¿xL\97\ 5D\8ekÆ_ò\99\8c\ fâ\ÿH×£ã½\fµ\ 1§H;!f\16ª±\97\83Î\1c\19\81Ðâ\eß5\91ëÚ\16í^\ eþR"<Jë\ fkr|\ fÄ\8c¹§\86\90Á¤\bGaü\\91¹\9e\89µ7½\87L.\91Êð\89¤ \9bQ¯qÕ\17Rx\90¢\80²@Ïê91\88\ e8ø|S7\ 6ÛZ¬5;g\9f×ÏOã¯#w·sþ!æ\7fýþ\82|Çß\î\1fïç\8f\ fOñxswÇ\8eþ\\9eý}ö\1f7p%\8cendstream
+endobj
+1202 0 obj<</Type/Page/Parent 1119 0 R/Contents 1203 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1203 0 obj<</Filter/FlateDecode/Length 597       >>stream
+x\ 1\85SËnÛ0\10¼ë+\ 6>%@£H¶k¹\87\1c\12´\ 1zHÑÂ*zÉ\85\96(\8b©D*|ÄÕßw(Û-b¤(\ 4\ 2\ 2¹»3;;û\9cäÈøå(æX¬PõI\96fx_dé
+ËuÁÿ9\8f\95h\92»2¹¾_"ÏQ6LY­\v\945\18\9ee(«\v©+;\ e^\19\r©Å¶\93\81\vÃ`¬\87o\95C#\85\ f\83Ð5F\13Ð\8a\17\19£z¡´ç\81\80\93\83°ÂK¸~;\bçö5\1aÕIì\95o±y¸»,\9f\92\fWù"\9d\13þÂù\91\8fGlBN)ÆÖ.Åg\ fbN¤ÌÎ\8a¡U\95èº\11ª\1f\8cs\8a\f#´·B».\ 26Öô\bZý«¢±!Æý\a\9aQl«ó­  »\96ÝJJ&x\9céYY(K`Gd\82öB\8b\9dì¥öpUË\1f\87í\88=éM\89ð{\83Ê\84®ÆVâ§\1cüYË\94É\8dºJ\8f×óUº\8c\9c¬\82U~Ä\rE´/ÒÎÐK6G6Âc#ú­à ã4xE\88N\91ÂñUMZÙ µÒ;\10a\16X\ 3½©å\fÛà!*\1f&õ¢Àdl\9aæ\8c\16_!\ 2\9eBO>°ò9Hw\80\13ÚDU^\15>ÐLQFsÄ`eYZÐ\ 6u­b\ 5Ñq VôÒÇÌÓlÏ\80\ fUp3;4:\18ziê\90x¬Ê\1ag´þÂR\97\7f\a "\13\8eàÄ|Rðmlcÿ\ 4ã\87ÒµÙ;|)\8fcx\17í\80h1\vMa^$½P\89\bu|ü§­\99F|}¿>î\¾â>®\17Èç\ 5·\93#ßÜ>ÜÝâ«5O²òøhª\10]5i\1fy^\9d\12®\8aìC\8cÿ\1eg\1awoÓNÞ<\19¦\93ä\84Ç\8b\86}\1cÄqย\ f\ 4j\13·óñ2V\\16Ë´X­¹ý¬¶XÆ«Oeò-ù\rQ¡kÂendstream
+endobj
+1204 0 obj<</Type/Page/Parent 1119 0 R/Contents 1205 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 484 0 R>>endobj
+1205 0 obj<</Filter/FlateDecode/Length 1686      >>stream
+x\ 1¥WMoÛ8\10½ûW\f\ 4\88\15[þÞ[Ò´Û`Û4mÜí\1e\ 2,h\8a¶ØJ¢\96\94âúßï\eR²e·\ 5¶-\82Ø\96DrfÞ¼y3ú·7¤\ 1þ\864\8bi4%\99÷\ 6Ñ\0\1fïÿèÍ\87QL\93é8\9aSNÃÉ\bßá*£\87^<\1aFÃýÓx\1e\1f?í\ç4\1a΢Eg/¬Ðd2Áçx>Ãg\8c\7f«hÝ\8b§ÃhBãÁ\f\9fØ6\9dò\12\7fÅ&GÓy4¦Ñb\1c\8dðt\1c\8f£isÅO»×x:\9ebUXë\9fv®ñtº\80»\87§×ËÞåË\ 5Å\ 3\81Êt6§eâÁÀ\1dyöÊl©2ôÜ\14k½©áé\83ÈW\82\84#AwË1Ý[\9d\v»£\e\93\v]\9c/?õ\ 6Ô\8fÇ8ã\f{*k²LY¾ÍF\86³`¤?\1a\ 3^,¹·Êª\7fkít¥è½\12\89.6añ\98\86Ãfq<C°X|­Ö\ 6\ eìLM\12Gë¢V\80Îï!]P\95jG2\15e¥ì\ 5\95\99\12NQ.>+rìw\95\8aÊï\15¸\90&ÇY\95Xe\8a¶ºJù@\1f\1fìÓJ8-\9bH\86£àèZgÊ\91SöIKü\809\97¯"ÞE¢H(\r(©Â\9fÈwD\92ëB;øB¥pnklBª\90vWVÚ\14|\80\a2¢eª\1cN¬¶\ 68\97\13ËÁÝ'à\94\84(\15\ 5\84À`\8fÐYëÉãÙäñü\18½3\0P\94b£¼\97UªèÅÁ\87\ 6+2ë\80Ý«·\1f\97o\91idL²\93Q8ë8m>³×B~ÞXS\17IX2m\\89ã(\1e\f\91ÿE4\18ù\ 4_ÕUjìo\8eîL¥~?unÉ)K\8c¬sUT\84ß\823³Ò\85ð Á±\eñ¤\13º\16Ea
+\9cò,°\ ffèþæ9y\8f\9fql|2\88צ«Yw·lxI/¯Þ=\8bèÚ Õ­=X\ 3\13\]*ëT\ 2tW»\80\83)\94\ f½¿\ fg\16ÍC8\7fa-\90q\8cYp¥´ÚX®\10«\ 2ãØ·T$\0Þn\10HFR\94b¥3]iN³!!«P>\1fu\91\98- YÒ\18ÅþÍJj\ 3\12=\9e!ôÇó\88>2q÷\80D\83\vÚ"Ï\88©Dj\12o
+°Õ\85Tpw­¥\863\b·\ 4ñ ìÇþ®ý¾«v\99:Á1ñUM\99ÙpÐkkò\93]\9eWíAñ\02*3\8dd:&6'ÔVZ¢ÈL]eº`\0ÀATEé¨P¨$ÇÚ\ 1gNìvË1Dè\ 5\a\81Gtë\99\rHSñ\84È   Eö\99\v8ìàbåêk\13¤sh\ 2\13\8d\97°\e8íÄì\1a`1ó\ 4²µ\83¥µ\17\f\7fza\18´,3[0å\10D\13\97\ f\7fÿs{÷°¼zý:J«<û\8e
+\9d\18\85\9eY¯,p\96\15¬UÚ\ 4?­E)f;Z\ 5éCb¥R,\92\11]Á£\14[6Æ$ \9fÃ)H´×A Ü\88\93\97\ 4Ö\0\88Ð&°ºS%K\80\10bbH\8e\82'\97\9a:K<¤|(Xí«\17ý²\1f\8a Ç'äø\8aQ\97G|à¨/_ÊF)ú()nÃ8æ1\9eÎ\1aIkEß?Ü\17s\99  É\ e\8a\16_\1a\9a±k5\12M\99zR`·\92µEê~Þ\96U\95Õê)\98Ë ß\él\ 1T\86ª³è\81º¾\10DÃ3\16"p°-\82Å\97Ë»åQè¿à\8dñ\9e<\9eY#ÐN6\8fç!ZðÀ7¤\9f?¹õ6hO¨}r;TfN¥É \16Ê7¢ÿ\9b±~<\8f\86\8b\ 37\8e©Uj®u\86ò\98d,V\Xº\90\12ÜÐ\975´ÑÓ¯X×õ\1cZÎS\aU¶vÕ\ fù{Ì°\87«7°W"ìÐxüHÐ5\ 4y\ e\ 3\ e\ fBÍPã Ä:R\11x\19\ 4\87\89à[ÿ\9e\vwKÎP§â®±\ 4uÂC\ 4A\9c\9ch\eöq]´ªÿÝÒhKð*a1h\bú¤\85\ f\\10oD\81\8a·^è\83ë¿\80Ï\15T\91\v\90\et\v\8b/î¯@i1ùSÙ\95²&T\ro\87@ßhV3cwß\ eú{bpJ­ûÐgÁ\9bf¨k=Ú«\ 2·\9d@,\10\ 33 Êá\8b§\9fh\19Ãý\ f³£ó½<ô¦\86}\87¦å\87\80NòÀi\et\18ÂËM¶2Òd\1eᶭ\1e\iJª!hÓ@½¼s\eª\14D=Ñë5NÄäãõ\ 4Óô   [\8e73µR¤`¥T±oè8¦±\8dêá \9cÉ\ 1\8bÎ÷bßRå¶Ûþº\94\95è\ e\15\99ï4ð\v3\97/FÈZL+\88O\12z¶G¤Û\ 2P\rû±\99\17\ 2GÒÇ|ê\93:\8c¼¾ãr¯éÏ\ 1¾çT.d\8aÁ \940f#\89\81¥
+´ùd0A\83vÍDÁ"Ë6\ 2*G\ 6â` \1fO\8e\14\b$`"\84> ý\ 4<\89ª\84Î0É×2e>ûæÑÊéÅ©\ 2^\90ªd\14E\84· 4\18¼VÀ\ 1¼U´ôj\87\10\9dù\96Óá\8a+\95Ô\98¹ü\14v\80\85\8di\1cµó'AéDÅSÅ¡\89@\96\v\85W\820Ï`$\90ª\f3\15ölu\96\81\ 5'dñ\93\r\84LÁyD\e\9b\fòóÎ+Õ$\9a\8d&Ü}\7fìý®#\7fl~<\eG³é<dy4á[/\96½w½ÿ\0¯/²\13endstream
+endobj
+1206 0 obj<</Type/Page/Parent 1119 0 R/Contents 1207 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 531 0 R>>endobj
+1207 0 obj<</Filter/FlateDecode/Length 1463      >>stream
+x\ 1\95W[sÚV\10~÷¯Ø\97N\1dO\10\92h&Óq.NüPÛ\8dyéÄy8H\aP¢[¤\83    ýõýv\8f\84\ 4¸éÔ\99\80V{¿/ßÏ\\9aà\9fK¡G~@q~6q&\14D3gJÓ(ij\87ÿµ¦%#@ºÿøôáÌ\9fùÎ%\ 5Þ\14$9M'3'l¡\8c\1eÎ\86\97¾ã\ e±\ 3\18ØpêD\ 3¬\18áNð.'\8f¿\ 2\ 1X, \bft\1fõ\8a\99ëÌZ\83§a\ 4Mb²ç\ 3ué³\e\9b¨\ 5X\8eÅy\81ã\ 1\17ºN@\97\ 2ìqSxÇú\ 3&±@\8f\8bXrN.|æ@1Ô#CO\84\82\1f\8c\ 2ô¸À\ 5CkÌT\80\1eçÍD¨U(À\1eçÏ\ 2X\b\85.\aÊB=2\98ö
+}\ 1z\9cï\8a\17!\aÁ\17`\8fó¢H\84F\1el²@\8f\ 3\ 3{/|\9e\0\9fZ>&ñ\ 4Øã\d\82\1d\9c2\89\ 5z\4\11>\89¶+@\8f\vf½>W\80\1e\87Ä°óV¦\0=ν´|\9cAW\80\1e\94\80\8a\7f®\0{ܬ\r\19G@\9e\19ã\a ÷B\94\ f"í1J\0\99\1f7\0*o|=#7¤ù\12-\14\ 4lÈ<\91\16\99Ð<>\7f[\16Ëtµ©ÓbEf­éAå\vEïÊ\¥\ 5\ 1iê2Ëtýbþõl|=\85ñVÐ\b:\ 3\b:\9f\83g\99Ö\8d¡Æè\8aÀ\14×Z\19\16§h[ÖßøÉ
\7f÷\96Ò\86LI\9b"Ñ`QE":+U«\\e¼¢BǺiT½cIM¾pbØçÐ\rmÓ,c#&4r¹d¡º(\r)ct^\19\16\91þQel7;2\10ºÖh4\ 5Ík½#\85ç¼Ä\87Y+ð'úûF\19\9dí(.\9f@\97°bæï\94\8a\95Zi\87®Ë\1a\93.R]Äúå\89Võ¤i¡uAYZ|\83àmjÖB¤b³QY¯!ÑM\§\95IËÂiU¡~¦ìãG6\1dAS\ 5é\1f*¯2M6\15\18\87\92\8aóÎNûºËÐ9-a\1e\14I"ÀO\88þo\1dë\8c\93\88\16ð=\1a\b|C×çUV.Tö¥5A\86\19^\13þ^Ñ\eÕ¤15ºF\90ðeXpÃ\94\1e×ô¨#.´Y¤%ò\88\84\9c\ 6{$ZÏïï>Ü\1dØÁ\19åé        U\/«ºÜTϳÞ^}º½¹:`\1eYõò¹·u\8bì­ËM\96p\0ÚÄSbK\9ak.+c\84?W¨Ø\9a\16\85[,õÐ\15x\91é'-UÇn\ 4\19X[Õz©k.\19+ª3z§%0\ 3ÊV÷\7f\91\rí:\12ö¬\9f\8d\8eѸf·Ï\a=\9eç\e´â\ 6\ eáe\8b}-ðã\8bS\17;\92N\19óñó³ÚPäõ®2p·RM\83T%(+n,tÞ÷MZë\\17Æ\96\1d\17Û©¶V@ÏÞ©m\ 3ö¬ÖfSUemºôeåª,\9e©»6Â=\9a3ö3¹[\19
+\18\e\8dáa \11«êr\99fºùýÔv\11\fËͺ3ú\11\7f¿Ü>>vL\806\8c\v«\8dûX4ýÚкÌ5%\88Z\fý\98J(KKÔVnjXØ \86l\e.xxm
\822ÿjgR§Oûöû(m?\90d}a\ 3\86¾0lÛû§\9e4\95\8eÓ%\f¦\95.t\8d\99`ÅÙ    fÓ\9feâåq\17X\ fÌ\1aa\90HÔ:âÀ\90¼¸xw÷pq!áåIÎã÷3&\89\82^F\99±©\87ý9ÔÛ9"ï\9c8OøÅQ&^\r\96\8b\88\14cÛÂÁ \1flºA°z;N-\18\96ÃxÓÔciàqÃ+t\9c¥\8b\ 3³\ edbA&T\16Ù®3ûtblÑ×\1a\8b£\9128\9d¢\85QI\9eÊb\1a_ã²ä\81~âoï%\179o\82\832?²êsWɲ\0\ ec}à)¶,:r\8cÅ3.LËt$ëÄâ<¢\90+\ 1Ŭ\9ao]\14&ÁdrDÕ7È\ 1ah û\83\87²l³P¶\1aVÁÜn}\19P1V
+6g¹¤ªL\v#7\bÎ\865vÚßX¯vá«\ 5\ e\0Þèr\ f¡2Ûm\8c_\1c£n\1d¿\7ff\ 6ÊÄE_êB-2\9dØÃ@.\8cD\e\95f\rR\8dvßre'\Üió\12#\13«\ 3o:\7fÛ\93æýíÛO\7fÝÏoîn\9dµÉ3¹\ 6Æ×q»ëG8e]êÎ\9fG/\bÛÝ\1aµ\ 4®\1f9ÑÌÇ\99\87ë,¸ä\95úpõÇ\9b+º¯Ë¯\984¸ëâ\r\8f\8eu\8f\\90N"\9f\ 4E\94ü\9f{\90\7f\ f\85\ 1~ç0\9f\1f°¸÷ó³?Ïþ\ 1£üÁcendstream
+endobj
+1208 0 obj<</Type/Page/Parent 1119 0 R/Contents 1209 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 536 0 R>>endobj
+1209 0 obj<</Filter/FlateDecode/Length 1754      >>stream
+x\ 1\8dWÙr\e7\10|×WL)©2\95\12\97\97DRy\93ä8qÊW,¦ò\10¥Rà.(®½\vÐ\0V\14óõéÁÁcM9)Û²ö\9a£§§gðåd@}ü\19ÐdH£1åõI?ëãÎöÇÇ\9fO.\86ÃlHãþ8\9bRM\17\97Ó¬\1f¯*ºã÷éòj\94\8dñl8É.ã\ 5?Ú»¬éò2»Ú{æ?\9b\8e`òb:\81\89\19I\voop5ùúÁÍì¤÷ê\82\ 6\ 3\9a-8ÖñtB³Â\87Ú§YÞ\99-%Yi\1e¥¡º±\8el³Ziã¨Ðµ(\15UúA+KB\15$èlö  Æ\90·7ÖùSIç\9fÿ\15\1e$/\1d²Kad¸\99Ç·»\88\8dQ\9b\15\9dûáx\12m¥OüÃî`\ 4ÄðB;¦¹$\870cHµ°\ eÑÎ\8d^#pB\90Ú\14øe¡\rýQª\ 2·)¯J©\1c9\8d\ 4ráÂ÷1M\81t8¶>m\1d¾¼ÍèC%\85\95@s\ 1\90=>
+SêÆÒ;éÖÚ|¦\eöYª\a\84\9275<\bWj\85\10òª)dAëÒ-ñai©(­3å¼ñÏ\11YËa!\9d(+\9b\1dÃh8Î.\9e\81©;\9cf\83+ê^\ eQh\0uméNÔs\ 1\1e\f\11\93´¤´#½à\14\ 4åº^U\12É\97üÿ.\½ \a£\9b\15ÕbµâlæHOJµEïÝ,¼àëÞ\8aüwU>¥§÷\1d\9f+Ò5RTÕ\86¾4%Üy¿%Ã^0\90òiU1\95ðW\80\19L.»\12¹¼?;§\8dnøVS\15\87À\87R·\\8b¢\86\8d\10º­çY®Õ\82\88\1aI\86ú\97
+Xס*H3G\\8e3<}\19è|Í&ì)Y·©$\89\8d\fW4@o,@Òîè"Ôà6\19x+òe©$Í\f7ÉuüÐ÷ůºTìãÖsÎFîÄØ\87ý`(ø\ fåN¤\87\1fôúØ\17\12µ\b\ e\9cw\10##@+b\89Ó-·\14\8eï76À+\1a0U9\8f7\17=0?\99»ï\18\81ç`ôR0þøÊÜ\9f\16¶Ìö@¥Ð%\19½Þñ\ 1è\ 26\8d\9c\azÃÿg¥×°È\ 1\9eÞ\82i\r× \ 2\93\9d¦ô#\97g0¿\12Ö¢\8b
\13ߤ\0\ fó\15¹\83A`\88÷½\88\14\10'TÑùîƯ\rÔ\ eüª\eÅ       sóÅ\9e\93´\83x¯³oµrFW\954\19͸1=¢ÞPé6´\0?Ø$hº2ò\915\ 305\8aAÕ¦ü\a\10§@·~,øÆ\8apóúý\1d)¾X\18]·ðü\14\89\ 42{®< \11\98+(¦´\9e*ñ!×¥\17¨\1d\vm³ý~d\ 1\1eö1cB}}ù[.S \a\88Ús\82\bm-]=m\r\14\9aÅ"£_¤Êå9*\92´sû\ e\0
+k      \8cJªe=Ç\95^´<\8b\94â\æ\ 2\99PÉó#ªÑJ[˹>SrxFjn      \95]¢ðJ·ê¾\85=\0Õò\f  Hå\8dO\92z^oóùðò\16ý®\râ\91h²mA\ fpbuâZ%\10\aVðMF×±/`æ\9c\96\80\9cG\83­hþÃü\1a$\13Æ¡$Ht\ 1Rb\98üÈ&0\96»»¸C\eF\16DOE\8aÏ\93ÏÏ4æ>ì0qè\8dPo¹½\81$´{Ûh\0t\89¬ï;h\e\ 3nW\eö¶\9bà{}\ 2\9f\15á\8d$Q\9dû3î\9b¤\r1(\8a5\85mv\89\10,i\ 5ýg\ 4Û\ 1\1c\9dqiÒ?»
+ìàÈ5b·+­
+n\1c?~¶Ø¸Í
+2À\93Ç\17Ø£t\98b§']Þ;\9aZ\ 6`^5¾ý\8dôÃßBLª\8a`P>\96qk`sÝ= \94\f²ëG\8bl¯DÏ{#àoJi³û³\10áábô\r@ÒÐ\1f]\85Y\81r@±°`\11\96\12Z\8b\8d×\91\18Ïq\11ø\8ae`K#ª8\1fµÊèFûÍe[h\94õyà½óà° ù\ 6\8d«\8a£eþ\7fëÞé{Õ\ 5\8bjsº\17Ò\8evG\93òJÞ8Ìu\9e\81½\88b\ fa\ 3\ú=t¯\80®\84bãv\9a\94\109\16ëPU¾\1f\84Ƴ\ 3\ee\1a\15»ÁÇï\18ÉCH*^ú°},u\81ºr£pm÷\9c}\ 3ÃZl°xm\83ÆÄÙK\ 5\8ek_¢js\14ØÔ\1e\83í\ 5\ 2J\12wD>\f`G\8c¥¾õ\9b\f4\ 3Ó÷íÑe&Ð2u>\92\18òIÁ/ã\8bÒðÑÀÉ\15ëP\8a\8aÇÙs¢ê©yø~\ 4ÿ«®n!\97¤\ 6þB`ÛcÇó=\16G|\ e)\ 4²\85ƾÖðº\1e\f\¦s\v=\96«õa¶\1d\9c!\b-\0-}!
+/iæ\85_4Ât
++\97âÝ\92\99\ 6ÅãÕ¶\15rlA%×\a2\85A\ ebDÁg\rã\15Da-\16¼\96ûÅFÐ\9bR5O4Ç  ¤8ØÃ|ç\1e(v*½ÑÚ}×ά×XÓ³óRá\17i8\93î\ 3\r°6t\vê\15ò±§\1a\b\7\8f\98\8e\12$§©Å°V}æ\9dÆ/p½W;̺\96zlw!*\e\8fvéë=¾G3\7f³\89Vlß\87ëTFæW\\ e\8ff\12$\9bºU;Ôÿv±Oáèâ½¢\1fnî^\92Ý\80Ä5&°?¸|E\14¯\v/ò%;\7fA8¼UX\12c  ¦\11«Á\18\aïé\88Æ\93¸»ß]¿½¹¦\ fF\7f\92¹Ã\16ºw2ä\94»é\83î¤\7fÅ\r\15:\11<8Þ\86\1e?Sì­¸\17\93\8bl2\9e\86\ 3õhÂ\8e~\9a\9düvò/{r/öendstream
+endobj
+1210 0 obj<</Type/Page/Parent 1119 0 R/Contents 1211 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 541 0 R>>endobj
+1211 0 obj<</Filter/FlateDecode/Length 1618      >>stream
+x\ 1\9dWioÛF\10ýî_1uRX),ê>¢\1e@\9cÔm\8a:ic\ 5\14Å\8a\I\e\93»
+\97´¬þú¾ÙC\97c£(\fÉâ\1es¼ysðóI\87ÚøëШK½!¥ÅI;\19\8fi÷U.ðЦÁóNò\9cúã\11~wzÉ\88JIs\9cmãööëÝO¼BýQ?éQAÃa2\f\ f9]\1f\1f\ e\82»\10Ù\r\82»¸ìäöúcÖ3\1e$cÈé9Aþ\89\ 5í?c\17\ 2Fá¬ÛÝ{.¨ßéÃîÝÝ\9dcîW0bÜ\83ÁÞ¹Þ\0?¿ä\8
+ßFÇæ^LOZ\97°·CÓ9À\1c\8eG4Í\1c.m\9a¦\8dÒ\98êɳé'\1c\1a\84C\rJ\97+a-5\ 5\9dú­^Ü*DºTZþ­E!\8fn=\9d|3é´;ø´'\936þ>\98òÆV¢RF\1fJiS\13aêÂ\8eÆ#ò&­LÞ¶t\9dç\93\96\9d)ÝÒ&7\v¥\83Iý­KÍî0é³°éR\92×\14ým´d\95¶Ø\99uæwâµ\ 6I]\95\eZ«<§\Ù\8a\ eæ\10»\87­jI\80àé)\89ÕJêLfç´6ú¬¢¥¸\95Ør\82MÉË,\86WYË\9e\7f\82Ø\ 1²K\89o¡3Ò\86\96\ 6Â3UÊ´2å&¡KS\92¼\13Å*g\99û&dt\96\99Õjs\ 6µu\9e\ 5µú?;¹g\88÷6W7\12\8e*;\898=gZt\92~¯KÍ.(\8dÿ@Òi}:¹\9b\fÚ\ 3|:áx\97Üñ]ÔTz³cB;ìî\a\8eã6\17¹\rd\89è7£Æ\91Ó\f\8d/fæV\9e\aϺ÷èv (J\ 1Q\85¦\19\eʤMKµª\14"ãÂ7\a¬\1cÓ4Wpþ\9cT"\93\10V\16x~i\8aU]É2ñ@D\8d{\88ݧæN¯\98Y\93ãz¾¡¢\ 6w`\ 3«z#«\8b×o¯½~3ßSO\95áC\9f\f\92\a>\9e\99B(\9dÐ\14¿Á²#êDÁ\91{ñÖ#Jàñµ(fÂÓQ\9b
+Å"5\v­þñQ'a÷\18V\950ýH©HSSëÊ¡\ 2,bf½1kX,|\92¤¦,¥]\19\9d)½ ÷ZÝQ¸\ 6\82Z¸)5¥¥\14\15ç\vû©å]E¶\92+R\96½ð\9b\9b\e¯#dGöðu\1f@J\8d®\0\17ëäÕ52ªy£ÍZ\13\16+%òmê8Ƕ6Å$e\9c¡?P&3ZRm\834O\82X\0÷H`\8b\99¯\1e\1f\eã\8fÏü±\1d\rRS\14\9cÔðÚ.Ù\92¥,å6µbÉÝ¢øÅZ»ÕÀå¶Y\84\fx¤àFõ{áY³Þ\asg[ªãÍ\86\8b\ 30\f\14\aÌõ\84|÷ú\15\ 5
+k¹\8eG·¨\ 2É\85Ô²ä(\1fÅl^\9aÂ\85èýNÄÃ\9c             \18±ïv\93\ 3æ\8db-ú\ 59ãÄ\ 5\1e\1c$\ f©¢\90\99\82\15ùæ0:\1cÄaÒ\1e\ e¸\9e]       ]\8b\1cÙê¨ÇAß\15ÚC¶DJÀ¿BVK\93E¬äçZÝ\8a\1c¥\83ayHÎ\11\14\91ØFCá\a¥3³\ 6ÖSúíÕË\1dùèôZ\96·²$X)\16²<EK\88\10V
\ 2y·^ªtéP\88"\95\15R.\96     wsw-\80Ç\ 5\b9\88ØûâãzRº\14z!ýrÌ\96\98º\8c§î)»­s\ eþ\f-\vñ@\15Vè¦u\ 6'X\ 3\ 3¼\7fÝ\83*ö@w½\95Í°Üi÷KZB/\18\9e\94f\8aë
+!tñâè\143YÚÈÑ=w\/¶\f)\99º\82Ò\\94\v8,\17¥ÄÒ\1cÈÃN¥Qm
+7\9d°\v¶N\97G:=d6¡?Lí[¯+mkQ¢\86\7fÅ\87[\97\18ß0zÌÁ×ÀÛ^7òöô­nÂÃæe¾9¥\97\\ f1\b±ú+?CÑ\94ë/½ð\15×E³u\19S\94\93\9b\a57ÓX\14qT\99\8f\r®5\ÑÁy\9eF>>£µØ\1cÐ1N\ f\a¤¶Ìa«0`\0=D+Ï]9\97¡Y8¨î\15Þý2]p\85ÓRB'\98\88òÎ\91\v\8c\82è/vµ\0fì ×J§\92$\\ fZ¿h)¼C\9a¡» j\ f\97\8cs&\92ONnò¢®ÐH+\95r\86\1fÇÐá\1eZÆA«\82ݵõEÁÖ«\15\86\84ì[ø\85å­\r@}®\165j\\88\1c»-²Ì\13È\8f\ed0r ®*̸qò<ì!       \8bò\8c\89\11n\84~´«2¾_;ÿÑ8ÑO$\8a·\8fà\80$@ø1]¹Ù"äÿ\11\0èOÎÉã\8e~!\99\ 4ð\16¹\e\87O\a\93ÙϨ8C\fè¿*]ß\91Ý w\17¡N\87!/ÎoÛ\89ñÏEnf"ÿ+ªÇ\e\fÓ\97\88\9eÐwI\92\94\92g\1d.\10È\80\95(\91ö\98¾,v~¸\7få\18ãï©UÛÒ¿\ 5pòò~3£í\v\ 25\17\84×\ ejZjm'Nj^Ñ×uè\8aã0Qv\86\83d8èÐ\10ùÚ÷\19výâê\ 2%§4\9f0\90Ó+\93Ö<\1fº\98³eè"x¯\1c÷¨9jcúÍ\1aÿ#¯ù¥s4Ä\9b+ßï\8d\8fÓ\93ßOþ\ 5ª\13\88Ýendstream
+endobj
+1212 0 obj<</Type/Page/Parent 1119 0 R/Contents 1213 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1213 0 obj<</Filter/FlateDecode/Length 1610      >>stream
+x\ 1­WÛn\e7\10}÷WL\8d\0V
+k­\8buq
+´°å\18P\80¦)¬"( \17j\97\92\18ï\92
+¹kE\7fß3äR\97\8d]ä!Î\ 5ò.9\973gÎ\8c¾\9e\83?]\1aõ¨?¤´8ë$\1dê\ f\ 6É\98®Ç#|îá\9f\95´<»\9b\9d]=ÜP÷\9afK\\19\8eñ!#\1cïth\96¶>\18¥\95^Q¹\96\95Ô%\95Æÿvo
+¡ôÛÙ\17Ü¿¦n7Üo÷F¸ß\9aáøÆ\9aTf\15{1\96¾Ô\86\ 4¥'f2o\86\9e\85UÒÑV\95koýYZ§\8c&³¤ÏJgfë\92àjX»BZíÞ0áh[õ      ê!èï\ 3\8a\87ÖR{Ó\95\93\96d.ÓÒq.\1c\98\7f~\88KP\88ê2úæ\\8a\rÎs&B\93HSS\ 1
+¡3Ú\bç¶Æfì¸Cín?éqLåZ\94¤\1cnªg\95Ë\95ÌN\9c\ 5\a      ÝÒ£(\16\82DV\0hWZQªg¹w0o©D&\97$â±Ú±·¾\16®áÔ\1aS\1e<:\ 2\80\¸à\ 2i\ 3Õù[**WÒB\12\8a)-âZãÿßüA³\91\1c\0®mU\9eÓR¨\9cÔ\923F\82J\v»#F¯á5¢\81lW\b^'äË_ãâ1+×x\19Ϲµ©ò\8c#pÒÓ  x«å\12Q\0Ò\b\81[Dßtæ\9cI\95(\117¿¹z\0Í=÷ZW²L¯üu_\8b\ 3+[\9c©Ý]úH\9cL+«Ê\1dØ/\9cÑ\81Vm\14.\92\89cwÒyö=É\1d\80á+e\12Ì%\81¿\1a®R»Ûx\fù6\13\ 6Y\96u\ f5\92Ù'[;)DºVZRi¹D5^\ 1Î\17_\852\ 1È\14Ù0$F·\11l{\99#[Ó¬SµÉü!TTÁz\8e\8eä7Ð.vWZ\83Ù\1e%ã.uû\9eÊóÞpT\83\1d»Ï¿nw¯\a\81ì±\ 1?ÎBM¢\1e\1cã:\r\92\aÀ\8b9\14BW"÷\19\ 4úN3ÔO-U\1a¨9\ 11VÐ\8aBê*pø\ 5\9aÔ²¢E!/iQ\95èhÒh\8et-Ó'_Ð\85ùFç\13\8f\eÚk\82þ®Ð\ et[wX-
+÷^\9e\92s\9ar, q*\1c,~ÏK\ f#Wùå\ 4q\13\9d\ 1û\93APkI¨)\12éø¿°Á*\14ìµúÿ$ôXä~\12\10ht\ 1·W]/?3d\16\9aia \84Ü@\91^¬ï\14%qgª d®ÚlòÝA"O\94´á*JÐ\96\87A\10u\99ÍßÖ³¥Áþî\18ã\12R~Ä\7f\fJÌ·%Ôb\9cto ö\83ZîÁ\9f\ 2²ùÉ\9aE.\vV\82\8cÞ[k¬\97è«\87Ø8~l\8d\92\9d\82L\9aI©t\9aW\19T\9f.Þ\à7|\88Ü`\ 2×ÑŦ:Òª[º8>èïÎ[ån\83^A\aAëC?þ\88F6$\88\1d\87q\1c¢\12\9b\8dÔ\99Ì\12z°RÞ=Þ³eîï8ðæ-ÎÙ \98\96ð\9aÜÎ\95\ f\ 4±5ú\ 2­\17\ f`?é÷        ã\96²´Oö(ÅYØ$\18U\1e§F£Ôuo¢~++\8a}c\15â   Ò\89óµÜ\e\9dJ\0\99¡_¡w\98ÑO\18ÇÒ.1ùó]B\8ff\1fR3\97}\84\ 6ÊÁ\16¹.\9c\1e^\ 4D\aqêгÚlóX \167¥Ìàó(\18\91a\80\86=
\12úËFï|h»6y\1dw\0=Z=\ 2\18²Í\9cÏÕ\13\12ò¹:^®ø\19Â\ 2g*­¾V\92þáýfzO¿\84¨NI}Ó\v\11§#5kMï\f";W~:cR\9fÿ\v\1fq^¬\ 5ï'\94\1a­\ 1
+'\va\82\9f\1ehk ·ß¯B{{Ýä´½ \8bÜ÷Æ1\87|++È$¬/s\95¢j¼\10òXå)Å\0b\98²\ 3ßÀ\9eQüðÐ/§\93ó´.'¬\ 2\97Ö\9eÓ\8e7\1c\ 6\11+\ 2§²§iì¬\13\93´Ä&èë\1a_«ÒÉ\9cw¤¬\ 1\11;?*ß\11\96LV       j\88\9eÊ(Ã\86(Ñ%ð-È­\ 5j:o\ 1Àé§É\e<>Ùá>ÝOÂ:°4yn¶\9c{
+åaç¼±5\ZY°\84B
 HË\92\e 8;*\9e{\170\8a
-q\84ÑôÝbñyöñã|±ø5\1cz&=ÌyÒýLW\8d\8dëÈÀ}eÁm\8bî;\9dÿ\80\1e[o½\83@\ 2
-Y,AY\b\90ð]º¶¦Ú^\0ä°Fs\7f8V#/IØ\16øB T#_®"Ã\17_8\16­¥ÈHeR\0G¾éW[Ok\9eç\ 5V=±\96\10o¿Vx»\f\92÷\1f¼¡&Î\14\12ã\1f\1có¿á\12M\9e\19l$,ã\85(y\8dØ!îKì\98KläXßQ\1af\96\95éåa\13W©×{r8   ];g(¼®òèðNs³ö©\81&\8bÖ\14S²Ó½¾ÅXÃW(Úiÿã\ 5ïdªMj\1dëö1ñ®û4\1aÕ®\1en~¿½áyö\ 5]Nw&­°t\95~\rc»íî\b¯\94\93>µÇ\9dk¶ù?^\1a\aãA2\1eMðæ\89çú×lîýüìϳ\7f\0({ Øendstream
-endobj
-1462 0 obj<</Type/Page/Parent 1367 0 R/Contents 1463 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1463 0 obj<</Filter/FlateDecode/Length 1858      >>stream
-x\ 1\8dWkO\e9\14ýί¸ªZ5\95ÂäÑl\12ø²\82RvQU`!\b­\14©òÌ8\89ËÌ8µ=\84üû=×ö\90t(«RU\84Éø>Ï9÷úÇÁ\80úø7 É\90>\8e)+\ fú        þì÷\93!\8d¦\13|\1eâ¿\91´88\9d\1dôÎG4\18ÐlÁï\8e§\13\9aå\84÷û}\9ae\9d\vú®U%sr+I¹.\85ªÈÖY&­]ÔE±¥´v$\16N\1aª×K#rU-Éi\12\r\1e>Jc\95®H/¼\85[Q¦\822\9dKº ¥tüðÃìûÁa\9f\ e\a\1f\11Þ,ï\94°-\96²Kofði·ÖÉ\922QQ¥\1d\15zI[]\13LÎ;\9f\10d\7fpt:ÿÐ¥ëB
-+É\99-|/9Lmਲuáø\84\89\96ØÛ\9e3\91\97ªRÖ\19á´yC\9b\95¬H8x\»\98      <ê*i\82\1c\8e\93\11\a9[)K:Ëjcá½úÜ^\9c\91\859T\raðÉÞ9ÊïKÜY\eõ(\9cìÝ_Ý|ùëæêî:Áëá\9d¦\r\1d\82íl%ª¥Ì\13:G\1eòI\94ëBv[Ás!\8c,õ#òF©\16ª\90$ª<Xû£ñH¶Lã³\9d\aQ;4Ó©Lp\133#\11\93\r]CmeBWÆ×Y\0%v#Ök®F*²\av@\vmܪ\15L*ÝF¢z±ã\961\96Lº4»üË\9fá\bÿþ|rF©\11
\98w¸©Ffº,e\95Ë|þ!!n»®\10ÖFl\81¥\96\9fL\e¼ï\91Ck£Ó\ 2è@½\809#}Õ}-´QKU\89¢Á,÷\ 4\85Ü«V\ 4sV(Y9Z\18]6`Ü\83G|\89s6\92\99à\81Ð;\1fÇâî½ÊQ\97"[\81-@amA\8b,Ó5Û\86cÇxA\96ë\9a©"\15ªa\10\e\ 5\90O\80 Ç\87\97øo\9c\ 4        \14r\8bþ\9aÆÁ_\83À{\86ê\85\a<rçØ|â1âgvQ¤S`S\13ào\85Ö*üÿ\aú&¡û\95pïA\a£«å\9fñp\13­çË^»2Q[ð#E\83Q·ë³O>ï\95xd\9c  H\8cr\ 2éÿº¢        ],\9eÑY[OÔ #½óáËÎ\88<'x\83\ 2dF­\1dG¶Ó¼\ e
-äV\1a\ 2§#\r\9a¾\ 1S\bß¹\8d®\vfs\ eÂ8f\9b\1c­Dè×F\9b\apµU°Ï\10\1fÐ\87\13lpÄj\13c    º\86\86óa¤Ð\9cn*vR\0)\15(ú(A\ 5µKØ\93Õ\97\vø5
-H*EU{:Ǹå\16\ 1B\e¸q)S3Ð<\a\ e=\85\8a­÷¹¯½_Å\ 3ø\1e¢F\8a,0Þ\ 4çÀn \15\91~\ 1Ô¯4\88u\ fª³\16Ön \16¬K\10l\18iU(\8c\ 3t\7f×Ñ\1c"àKÖ@4ô\17ò/s\ 5Q%(5s\a-àJÆÞïy«\9d*\94ÛvQ\8e\87¶¿]f\9cPã¡\12¥ô\12\82g\rA.¥;½¸º%ÿÝ\ 6t\ 5(ß¿}OPB¯S\f\17\0`\ e­N\ 2I÷¤ áù7>ý\96¢¦\ 1
-%ËBÊ"\1d«\89\1aÆ{Òe½X.\16\e\ eïç\ 2&t«\11æZj\f\82V\19}\8b\8c\C\95\18\9c\15Ï>¨
-\8b\9b­Ó
-³¶\14öÁÂ}Ðiv\11ê\ fj@´\9fEúrFQ\14½ÝÀÔ\96GO\8a\84\81eLb\9e\1c{10^|ªÑ6g\19\1cG\89Ë"q\ f'Ét@\83£)\8fÙùp<\89\13´\91\ÿõáp0\bÛB\94Á8³¹-\18ج\85¼\83\84üÎÂÚâ%^ÐålÔ»\1f~ñ´³\ eüÒU7.#âY,Eª±×\94ÛVÚ\rbRɸË\95e\8d
-¼ß)
-ó©!ñë²'èúä+\86J\ 1=\81\ eÖKæL\88w\98ðèÄ\18\848ø/,(ô\84·ð\ 6\7f7ÀtF\8dM+8»ÅÒ¢K\1e3,V\80Y]!à8HÈ®Ð\11ì,\15\vPÊ2eQôÝ·l\9c!\11\95Ê\8f\14º(ô\ 6ɶ|IcxZUq³Â\82\91 ìÇÄ\10ÎS ¹äOIv\8cOßbÕæ\9dáx:ÿÀy\1fÓÝå\97Ë«ûKú|ssuã'ä\1d\ 29n¹yDzý.>ljz\82\89ªL \92\8c\12«Á'?/8\ 5>\14}B]Á]6Ð;ÿi!\8a\;\94´ó±ka§\8bZ ú~\1c\9bÒ\8bj\8eµ¨½\80ùu\91E2(+ó::~VÖ&ê\v^Hs\16.í¡\a~`9`¦ÃÉó`\f\rîw\999\vµlÆGH \19m\9dè#<mV\83\ e\9fqF\17´(\ 4£)|Ý,\9e\14ŦLò\9eå}¼m'ì\91\0\9do¾õMá\rö\88ï\b\fîQØ\81)þÄp\0æ\1fµâ­7þpï×Ò\94Ê%Öoq»\ 2ÃÊÇqâ)\1eGùF@¨P\elh¼¼óª¹\11\86g\15 äTêE\9d_ð!ûåò\89;ýb¿~Ý)ºªxA\11E\bg\7fð­uØ·ØÃkV7yú"\91\8e_W!u~Qf\85\ 6c\ 1\9c0®y`¾n°®ÔÓK\83\b2\1c®¤ôkû~\98\8c\96.S{\a|\8e\96Q_jP\ 2\9b1\vþO·.à\8b;úK\99\1d\8eÆ-\99\ 1n\80\vty\9a\f\8eøW?t{\9c\8c1\83ÂÖr­\v\95ñÊÁ*~m4Û·?Ã\88q2I¼õ¯5Öýx\ 1T\15\ 6\ 1_< C\15\82ÅU/ÔHñ\ 5\aw\0÷K\1f7Ú/\86w`ö³?\96\9f(ñìz\ fàQÃ\908\17\ 6\80A{ø3æ"\8f¡gWqy@\ 1ý;
-×>¯\83\82î±êé\8d\85\bWå`0¡\7fAu»òò\8a\eS¼TMãà\1a\8c\9e~¤ñ$^doO¾\9e\9ep¸ßù¾r¦³\9aóó¹sÀ\87Í\81ÃI\1fÔÊ;¿UáÑd\94LÆSð\10'F}6ôyvðÏÁ\7fÛm\ f´endstream
-endobj
-1464 0 obj<</Type/Page/Parent 1367 0 R/Contents 1465 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 635 0 R>>endobj
-1465 0 obj<</Filter/FlateDecode/Length 1937      >>stream
-x\ 1¥XÛrÛ8\12}×Wô\9b\94)\9b\12uW^¶r±g\\e;\99H\99d·ø\ 2\91\90\841        h       Ò²þ~N\ 3$M1©¹Ô&eÙ$.Ý8}útCÿë\854Âÿ\90\16c\9aÌ)Îz£`\847ÍÇç\9f{óE°¤ùr\1e\8c(£p2\ e&ÕSJë^û\19£óÕåhë\19£ËE°j¯m=g4\1eÏ\82Yk´ý\8cÑɼñ\82í¶\9f\f\83E{më\19£«U\10¶G[Ï\19MÂY0o\8f\86\93`Lát
-{\19MçK\9cÛ?¹óÎ\96x\1f\8ef\98\83ÑɤyâQàF«Y0¥)\8e6¢1~rI»ÞÛMox;¥0¤Í\ e\97\vÚ$\ eå\11mâAq\90t:¨BÒQ\1ceNwÙ1\95\99Ô\85Ò{ú\94\9b\9dJ¥%¡\13údR\15+<(M_\95NÌÉÒÃ\86¦0$\9e\84JÅ6\85½Üdt¯âÜX³+\82W\9bß{#º\1eÏá×&\19ü"á\92À\8f5\19þH\12U(£EJ\89\83}Íó\87·óÊ[°¢Yúõ 
-\12[S\16mãΧ3Ý`#\93ÿ˯~9k³xc(Î¥À!MN\12\93ÉO\ 5º\ e\96\81.b£wj\1f\1cMz¹Ë\80Φ¤¬´\ 5\95V\12Ã\85C¯eþ\ 4°.Ì_ù\85³zOÂ^l+\90ϲ»'\10\8f\ f¤,¿¿\ 6@.î\0Hé8-\13\99ÐI\15\87\96¡mYø-jh\ 6¤MÁ\13¾\9aüÑ\16\82\18       hs`¼\15Âwé)\19\8dW\ f\e\ 4\10\e\13àÀ\1cì×õÆ\96ªðQ\ 5l\ e@\90¢ëÇ{\93 0ÂA\ 1v|çÄm\99\ 3´ü\8aDZ\1cL¹?8\fk\ 2­f\1d×b¡iëðº\80\ 5GL\81¦ó\wÎ=ôѸâ\83\9cT\9a:hNÀ¥A\11\91ðÔÝÊXÔaÌå^Ù"?Ó£<Ã'ñÝñ\1dQeA[\1eF~ð&øS"C@%\eÐ/æ$A\83+7ì\13Åñÿ\92$Î¥¼Ôt\10Ç£JÏ$µ\83\81\83àbÖ:(Ç$ ÿ\80qZâ´\1eÌ\86¥-B]Ql²Ìè@$Y\ar\97¬\9d\95'¥uñ\83¹\ 1ݹà\83ýOR+¤=\15\86\8e \ 5\9f¡8\19Þ§åßO¼\aù£"è\1d+ñë(r\96¢Hé]×­\9aó\90\e¦%\eØ*-\10\0\87PjÌ#í@4\fdTjÈ\8e\853)b\8e7ùIYYËI\9d-\ f\ 6\19-Rk°\ 6êà>\12\95Ë\18bpfN÷\ f*I¤î×\vk\1dÚÀvÍ@äP\15YNVØç|á=/s\91Ýe\9e©XÒ'\11\84¢\ 1Ë"s!\8f^9×_öìà\ 6\91\fèæ¹ÈEì¡õ\10\96¶I¨\17Ù°ÞÊ\11\80L\ e\9f;H\82è\81\fÜqûU¾½¬~(¦ö8\17\98ñü\83¥ÎËÊ\0\ 4\1fÇ\98\v§\13l¢-D\17\90ü\13ecH\18+a­\89\15°Ác\951\15\81c\11 ³Ð\ 3Äw+Izh0YX:É4­\88Ù\81ÑÅåh¬U\kÀT\14!\9d\1aÁ\8aÉF;)Z\19dR}Üí\10¹ÕÂ%Ç\1eI-\90@Ç3\99]{¡g@Í\96\9afo \8d` v¯\f§&v\82ËTqBͶÿ+sCo\92LiV\15?þo(R«6Â\8fÚá\1f\15Êám\Õ\8ek´=!\85«%\17Íh<_T\99V«¿\e¾\1e\87!:\ 1Ìx\aÍ\ 4õ ¥\89i\84¸S\r9¸5ýï´\93Swò}nÊc\rÜ\ 1ÑKqRF\8c7|vj @\13ÌiÍ\84Î\aô\81\13\16\87çÉKz÷\1eIãÉZkVK;¢¨0&µQ\94Kû¨\8a(Ò(ú\8cW\14UÂÖá98P9ziÚ\97/ï_\9c:ÑÚ\9e;LIL        \8a\c8~äNæÒ«\81Û\10V\83ïu\8a\ f\a/v\8e*,Ò{®oÌ\97\12­\91c\8cʪ\9eÈJÔ×]uü#lY ÕqåÒù\80¾hÀ[\94\1a¹\81bP\1c¸öBìYì8\15\12£aD\13W\96s\15\85\a\85×NáP¿¬\ f\90c?\87\ 6ÿª¡&â»NøØL\1få\92«$\eÌå\11NY²å~/-þ@\8e¸\16\90£[\1e\13\97ÈÑ\0MTòÚ­\ 2¨Èà\ 6Ç\ 4e\17Çêx\84\18¹6qõìD¦ò!E\82pêìs±Ý"s]Í\1cÊ"\1eºí\9cïßåBȽï\9fe\ 3n\ 3®Å4'Î\82;>\0õ¿@ëè^h±\97\ 5´Ï"ÞzÉ\1e·ûã&IÖÐ\7f\89}<P®\1cs\80Ê3¶iufà¼6§+:´í2h\17¶]FùNÉö]¿ÐAªë\96ËÞVÊ6-5%,/
-}\eS\90p\14\8bÖ¯Ò1nP9Ç(öÝ\92\96Ï¥u¶\95Ï$/K\98ßDfFöl¡Ð¶¦L­z\e\9cÁof\81dU\f]¹i·å\97hz0\e\15\83>\8d&\13\:\Üf£*\vë\ 6½\1an\9aßv°Ú\80ý\7f»Þ ±)è7%OÒѳŬ¿ðïz<\rVÐÞÆÁw¬&ä»\97\97Úã\ 4PäÈÐ'&3îK´+\8e¯\87C|\ 6Ys\15B¿6\ãN\94ªíð~ýáöîÃÍzøpóíË:¸ùvSÑ¡ÎW\ 6¿\ e\11\1a\14¾c]FúOèõC\9a»[WS\8a:仼´Ñ\93\12|\ 2\9f\97\7fû(ëÏ¿m>~üÐ\9c¦\85³¯fK¾Õ^fð\8aBÜFw¨LË \áW¸ò\15m\1e,\ 2rW>_z\ f2=\82ÔÚçu§´q\9a,p\8fÆÞÀ­ºafB\9fqÍ,ó\18y\82*\ f¡7yæùßà\80·.z<Ä\93p\93I¹Z°BÙ+ú|û®ïï¾\89\89\14»õMÃÔ*n\98\0\ 1ç.\14\8d\9a¯o¬\ 2Vd[ñ\92³\9cªèµqÙÕ\1cÐ3í\8dIÐýàF\81z\80Qçë^j\99ãV¼¾\7f\8b\14DYa]Æ}QTÝ\1e¾\ 4p×Ö\10_\8f\8c\96øJdá\80]¿¹\7fû\86ïì¿£\ 3¦÷m\979à×õôëÅhÅ`ý\r\90§\8b\98/}
-OCÞæfÓûµ÷\a«O\\1aendstream
-endobj
-1466 0 obj<</Type/Page/Parent 1367 0 R/Contents 1467 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 640 0 R>>endobj
-1467 0 obj<</Filter/FlateDecode/Length 2008      >>stream
+q\84ÑäÝ|þyúñãl>ÿ=\1c:\90\1eæ<é~¥«Æ²udࡲà¶E÷\9d\8e~@\8f\85·^? \ 1\85,\16 ,\ 4Hø.]YSm.\0rØ ¹?\1c«\91\97$,
+ü \10ª\91/W\91á\8bß5æ­\85ÈHeR\0G~é·ZOk\1eå\ 5¶<±\92     \85\8dÂÛe\90¼ÿà\r5q¦\90\98ü@Zæ\18ý\r\97hòÌ`\19a\19/DÉ\eÄ\16q_b½\`\19Çæ\8eÒ0³Ä
\96^\9e3q\8bz½'\aãе3\86Âë*\8f\ eï47+\9f\1ah2oM0 ;Ý\9b;L4ü\84¢\9dö?¾Ô\9d\f´q­cÝ>\86ÝM\9f\86ÃÚÕãí\9fw·<Ͼ ËéÞ¤\15ö­Òo`l·Ý\1dâkä¸OíQç\86m~ø\81/\8a×£ëd4\1cãk&.ôoØÎûÙÙßgÿ\ 1\9aÙ\9dcendstream
+endobj
+1214 0 obj<</Type/Page/Parent 1119 0 R/Contents 1215 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1215 0 obj<</Filter/FlateDecode/Length 1904      >>stream
+x\ 1\8dXkO\e9\14ýί¸ªZ5Haò $¡_V´\94]TñXH\85VBª<3Nâ23Nm\ f!ÿ~ϵ=I:-«\r\ 2ÂÄö}\9dsî5?\ e\ 6ÔÇ×\80&C:\1eSV\1eô\93é\94v?Ì\ 2Ï\13¬8\99&\13\1aõO\92S\1a\8e\92\132\92æXÜÇöí\ f\1ft:I\8ei4\9dàí\10ß~åÇÙAïbD\83\ 1Íæli<\9dÐ,÷{û4Ë:\97ô]«Jæä\96\92r]
+U\91­³LZ;¯\8bbCiíHÌ\9d4T¯\16FäªZ\90Ó$¨\92k<|\96Æ*]\91\9eû\13îE\99
+Êt.é\92\16ÒñÃÃÙ÷\83£>\1d\r\8e\93!lwJ\9c-\16²Kof°i7ÖÉ\922QQ¥\1d\15zA\e]\13\8e|ì|êã58ýøxØ¥ÛB
++É\99\rl/ØMm`¨²uáx\87\89'±µ=c"/U¥¬3Âió\86ÖKY\91p°¸r1\12XÔUÒ89\1c'#vr¶T\96t\96ÕÆ\86M{ù¹¿<'\8bã\905¸Á;{\17¨\94OqgeÔ³p²÷ps÷åÏ»\9b¯·      \96\875M\19:\84³³¥¨\162Oè\ 2\17
+Ùm9Ï\890²ÔÏ\88\e©\9a«B\92¨òpÚIc\91l\99Æg;\v¢v(¦S\99à"fFÂ'\eª\86ÜÊ\84n\8cϳ\0JìZ¬V\9c\8dTdOl\80æÚ¸eË\99TºµDöbÅ-c,\99tivý§ßÃ\1eþõùì\9cR#ªl\19@ðØá¢\1a\99é²\94U.óÇÃ\84¸ìº\82[k±\ 1\96Zv2m°Þ#\87VF§\ 5Ð\81|\ 1sFú¬û\h£\16ª\12E\83Y®    \12¹\97­\bæ¬P²r47ºlÀ¸\a\8f¸\88c6\92\99à\81л\18Çäî-e¯K\91\16 °¶ E\96é\9aÏ\86aÇxA\94«\9a©"\15²aà\erΠ     \90/\80 û\87Eü7v\82\ 4
+±E{Má`¯Aà\ 3CõÒ\ 3\1e±³o>ðèñ\96]\14é\14ØÔ8ø¿\k%þ¿\1d}\93ÐÃR¸÷ \83ÑÕâ\8f¸¹ñÖóe¯\\99¨-ø\91¢ÀÈÛíù'\1f÷R<3Î\ 4$F9\81ð\7f\9fÑ\84.ç[tÖÖ\135èHïbøkeD\9e\13¬A\ 12£V\8e=Ûi^\a  rK\r\81Ó\91\ 6\80)N±¯ÜZ×\ 5³9\aa\1c³M8R\8e\96"Ôk­Í\13¸ÚJØg\88\ fèÃ\ 168bµ\89¾\ 4]CÁy3Bhv7\19;+\80\94
+\14}\96 \82Ú\ 5ìÉêÓ\14ñ\ 5ü\1a\ 5$\95¢ª=\9d£ßr\ 3\a¡\r\94©\19h\9e\ 3\87\9eBÅÆÛÜ×Þ+ñ\ 4¾\a¯\11"\v\8c?\82c`3\90\8aH¿\0êW
+ĺ\aÕY  k×P\vÖ%\b6\ eie(´\ 3T\7f\1c"àSÖ@4Ô\17ò/s\ 5Q%(5s\a%àLÆÚïY«\9d*\94Ût\91\8e§¶½]d\1cPc¡\12¥ô\12\82g\rA®¥ûxysOþ³5è
+P¾\7fû\9e \84\18.\0À#´:       $Ý\93\82\86çßx÷[\8a\9a\ 6(\94,\v)\8btÌ&ò\94j\1cÞ\93.ëÅt±Ø°{?'0¡{\r7WR£\11´ÒèKdä
+ªì\93Çସ÷AUXÜl\9dVèµ¥°O\16æ\83\89\90\7fP\ 3¢½\15éë\19EQôç\ 6¦¶,zRD:'ÔB\rNF'æαç\ 3ãÅ\87\1aÏæ(\83á(qY$îÑ$\99\ ehp:å6û8\1cOb\am$×\7f|4\1c\f´\10e0öl.\v\1a6k!Ï !¾ó0¶x\89\17t=\eõ\1e\86_<í¬\ 3¿tÕ\8dÃ\88Ø\8a¥H5æ\9a
+»AL*\19w¹²¬Q\81÷;Ea>5$~]ö\ 4Ý\9e]¡©\14Ð\13è`½`Î\ 4\7f\87 ·N´A\88\83ÿÀ\82B/X\85\15üÙ\0Ý\1996-çì\ 6C\8b.¹Í°X\ 1fu\ 5\87c#!»DE0³TÈ\80O@)Ë\94EÑWßòá\f\89¨T¾ea¤ÐE¡×\b¶eK\1aÃݪ\8a\93\15\ 6\8c\ 4iÿ@\fá<\ 5\92K~\97d\1fðî[ÌÚcg8\9e>\1e\1fèëõ\97ë\9b\87kú|wwsç;äW8ò¡eæ\1dËö»ø°Éé\19:ª2\81H2J¬\ 6\9f|¿à\10xS´        u\ 5\80ÞÅO\ 3QäÚ\91¤\9d\8d]       ;]ä\ 2Ù÷íØ\94^Ts\8c\ 1Ì\8f\8b,\92AY\99×ÑðVY\e¯/y ÍY¸´\87\1eø\81á\80\99\ e#ÛÆ\18
+Üï2sæjÑ´\8f\10@ÓÚ:ÑFxÚ\8c\ 6\1dÞã\8c.h^\bFSø¸\19<÷ä)\8aM\99ä=Ëóxû\9c0G\ 2t¾øÖ\17\85'ØS¾#\f\92Ññ\10\0?I¦ø\r\8aR|E§\0é\1fµâÙ7¾\18\ 1+iJå\12ëg¹]\9a\8fâaÇÓd\18\ e\8b}}- ZH\14Æ5\9eäyî\\vÃ\8d\v¸r*õ
\v¼ÿ~Ò|á²ÿ2l¿n\e%V<­\88"xµß\ 5W:\f_láµS×yúK<\1d?»B÷üÔÌr\rú\ 2E¡ws÷|ýÀºR/¿\1e\b'ÃæJJ?Ãï»ÉÐé2Ïw,`o\99\ 2¥\ 6?0&³úÿt\ 5\ 3ظ¼¿ÕÜáh\9aLÇ'-Ý=¥\ 1®\84s\94|\9a\f\17îiaÕ}\98anu¡2\1e@XÓo\8df\ 3ögP±$N\921\1f}Ucø\8f×AU¡-ð5\ 4ªTÁ[\üB\92\14_wp#pô;\e\8f\89_Áó­=\16£(ølz\ fîQÑ\109g\ 6\88A}ø=º$7¥­©8J \83~\8dÂ%Ы¢ \a\f~zm!\9c4ÂÅ9\1c\98Ð? ¾]z±Åý)^±¦±\8d\rƸgO\8fi<Á5=¦ëìêã\19\9dï/ç:«9B\1f=»|Ôl9\9aôAµ¼ó»Ð÷Ó;\9a\8c\92É\18ÿ\15àÅ£>\9fñyvð÷Á¿MM\1eÇendstream
+endobj
+1216 0 obj<</Type/Page/Parent 1119 0 R/Contents 1217 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 548 0 R>>endobj
+1217 0 obj<</Filter/FlateDecode/Length 1933      >>stream
+x\ 1¥XÛrÛ8\12}×Wô\9b4[6%ꮼlåbï¸6v2\91rÙ-¾@$$aL\ 2\1a\82´¬¿ßÓ\0ISL*3S;SqL\ 2Dw\9f>}º\91?z!\8dð\7fH\8b1Mæ\14g½Q0Â\9bæǧ\7fõæ\8b`Ióå<\18QFád\1cLª§\94Ö½ö3Vç«ËÕÖ3V\97\8b`Õþ¶õ\9cÑx<\vf­Õö3V'óÆ\v¶Û~Æê2\f\16ío[ÏX]­\82°½ÚzÎh\12Î\82y{5\9c\ 4c
+§SØËh:_"nÿäâ\9d-ñ>\1cÍ°\a«\93IóÄ«À\8dV³`JS\846¢1þä\92v½7\9bÞðvJaH\9b\1dà\9e/\17´I\1cÊ#ÚÄ\83â étP\85¤£8Ê\9cî²c*3©\v¥÷ô17;\95JKB'ôѤ*VxP\9a¾*\9d\98\93¥\87\rMaH<      \95\8am
+{¹Éè^Ź±fW\ 4¿l~ï\8dèz<\87_\9bdð«\84K\ 2\7f¬ÉðK\92¨B\19-RJd\81\13ì+Þ?¼\9d\82\15ͧ_\ f¢ ±5eÑ6î|:Ó\r\ e2ù?ý×/±6\1fo\fŹ\14\bÒä$±\99üV ë`\19è"6z§öÁѤ\97§\fèlJÊJ[Pi%1\\bz-ó'\80uaþÊ\7f8«Ï$\9cŶ\ 2ù,»g\ 2ñø@Êòûk\0äò\ e\80\94\8eÓ2\91       \9dTqh\19Ú\96\85\86f@Ú\14¼á«É\1fm!\18Ç\8e\91\806\aÆ[!}\97\9e\92Ñxõ°A\ 2q0\ 1\ eìÁy]ol©
+\9fUÀæ\0\ 4)º~¼3\99\0#\1c\14`ÇwNÜ\969@˯H¤ÅÁ\94û\83ð&ÐjÖq-\16\9a\ e¯\vX\10b
+4\9dçº\13÷Ðgã\8a\ 39©4uÐ\9c\80K\83"2á©»\95±¨Ó\98˽²E~¦Gy\86Oâ»ð\1dQeA[^F}ð!øU¢B@%\eЯæ$A\83+·ì\vÅñÿ\92$Î¥¼Ôt\10Ç£JÏ$µ\83\81\93àrÖ
+\94s\12Ð\7fÀ8-\11­\a³ai\8bPW\14\9b,3:\10\81Ü\15kçË\93ÒºøÁÞ\80î\òÁþ'©\15Ê\9e
+CG\90\82c(N\86Ïiù÷\ f>\83|¨HzÇJü*\8a\9c¥(Rz×u«æ<ä\86\ 6¶J\v$À!\94\1aóH;\10\r\v\19\95\1a²cáL\8a\9cãM~RVÖrRWË\83AE\8bÔ\1a|\ 3up?\12\95Ë\18bpfN÷\ f*I¤î×\1fÖ:´\81í\9a\81¨¡*³\¬°ÏõÂg^Ö"»Ë<S±¤\8f"~¤     E\ 3\96EæB\1eýâ\\7f\83\eD2 \9bç"\17±\87ÖCXÚ¦ ^dÃz+G\18Ñ\ 229|î     ¢\a2páö«z{ùú¡\98Úã\`Çó\ f>u^V\ 6 ø\bc.\9c\89\10]@òw\94\8d!a¬\84µ&VÀ\ 6\8fUÅT¼\89\ 6\8eE\80ÌB\ f\90ß­$é¡Áfaé$Ó´"f\aF\97\97£±Vq¯\ 1\84tj\ 4+&\eí\94he\90Iõa·CæV\vW\1c{\14µ@\ 1\1dÏdví\ f=\ 3j¶Ô4{\ri\ 4\ 3qze85±\13\8a\13j¶ý_\99\ez\9ddJ³ªøõ\7fC\91\11\ eÿ¨Q\ eoãªw\cì    )\-¹iFãù¢ª´ZýÝòõ8\f1     `Ç[h&¨\a-ML#Ä\9dnÈÉ­é\7f§\9d\9cºÈ÷¹)\8f5p\ad/E¤\8c\18\1føìÔ@\81&ØÓÚ \9d\ fè=\17,D\8c\83çÍKzû\ eEãÉZkVK;¢¨0&µQ\94Kû¨\8a(Òhú\8cW\14UÂÖá98P9ziÚ·/ï_\9c:ÑÚ\9e;LIL       \8a\c9~äIæÒ«\81;\10V\83ïu\8a\ 3Û\83\17;G\15\16é=÷7æK\89ÑÈ1FeÕLd%úë®
+ÿ\b[\16Hu\¹t> Ï\1að\16¥Fm \19\14\aî½\10{\16;.\85Äh\18ÑÄ\9då\e!\13ñAáµS8ô/ë\93Ñ1äØÏ©Á\7fÕR\93ñ]'}l¦\8fvÉ]\92\ræò\b§,Ùr¿\97\16¿ FÜ\bÈÙ-\8f\89+äh\80!*yå¾\ 2¨¨à\ 6Ç\ 4m\17au<B\8eÜ\98¸zv"Sù\90¢@¸tö¹ØnQ¹®g\ ee\11\ fÝqÎ÷ïj!äÙ÷gÕ\80Û\80\e\89«à\8e\ 3 þgh\1dÝ\v-ö2ï»\84öYÄ[/Ùãö|Ü\14É\1aú/q\8e\aʵcNPyÆ1­É\f\9c×ætE\87¶]\ 6í¶«(?)Ù¾\9b\17:HuÝrÕÛ*Ùf¤¦\84åEanc
+\12\18ý*\1dã\ 1\95k\8cb?-iù\Zg[ùJò²\84ýMffdÏ\16
+mkÊÔª·A\fþ0\v$«fèÚM{,¿DÓ\83Ù¨\18ôi4\99àÒáò6\eUUX\ fèÕr3ü¶\93Õ\ 6ìÿ;õ\ 6\83MA_\94<IGÏ\16³þÄ¿ëñ4XA{\e\aß²\9a\90\9f^^z\8f\13@\91£B\9f\98̸/Ñ®8¾\1a\ eñ3È\9a«\10æµá\1aw¢Tm\87÷ë÷·wïoÖÃ\87\9bo\9f×ÁÍ·\9b\8a\ eu½2øu\8a0 ð\1dë2Ó?¡×\ fiîn]M+ê\90ïòÒFOJp\ 4¾.ÿr(ëO_6\1f>¼o¢iáì»Ù\92\97\15¼¢\10·Ñ\1d:Ó2\bWø+\ù\8eæn{¾ë\1edz\ 4\9fµ/éNWã
+Yà
+\8dc\ 1Yu¹Ì\84\86Yæ1J\ 4\r\1e\1aoòÌS¿\81\0o]âx\89\12\93r£`q²Wôéömß_{\13\13\97|\1fvß7³R«¯a\ 3´\9b\a\18\97i¾¹±\0X\91mÅK¹r\95bÌÆ=Ws.Ï´7&Áà\83Ë\ 4Z\ 1V\9d¯{©e\8e\vñúþ\rª\ f\1d\85%\19WEQ\rz¸ÿ»\ek\88\7f\19\19-ñ¯!\v\87éúõý\9b×|]ÿ\1dÃ/½k»Ì¹¾®·_/F+\ 6ëçøN\17Ó`1_úÂ\9d\86|Âͦ÷[ï\7fJ§ZHendstream
+endobj
+1218 0 obj<</Type/Page/Parent 1119 0 R/Contents 1219 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 553 0 R>>endobj
+1219 0 obj<</Filter/FlateDecode/Length 2005      >>stream
 x\ 1¥X]oÛF\16}÷¯¸/\85\9cB¢>#Ù}Y8qÒ5\1a'ÝJ»A\ 1½\8cÈ!519Ãr\86V\8cÝþ÷\9e;CR4Ý<\ 4\8b ²Å\8fûyιwüÇÅ\9cfø7§Í\82\96k\8a\8b\8bY4Ã\95îã·\9f/\16\9bM´¢åÕ\ 2\9f\ 5~.»o9m/\96¯\17Ñk¼{\1d-pwµ^Eëæ\eß}³»\98¾_Ñ|N»\14~ÖW\eÚ%Þü\8cvñå¡2'«t\16½Ú}Á\83ëæAD2Y¬áf\97\~>
 G¢\92dM!)Q"ÓÆ:\15[rÆä\96î(\16\9aj+ñ\9d\12y¨3rG<h
 ¡4å&3\9aÊÊÄÒZ\12:¡ÓQÂ\18¿sG©Ò        {\9eÑd¾Düp\87w\8b\7f\84hÎawÁ|Ò\92\1d\1c¤u½p\9ahRS\85 2dÅ~\ f¹,,)K[Q\1c\ 4)ge\9eFô»©Ïq#ÜIB¦tÊèA8lï`Ü\91lqH|ü\9a\7fAª¶\94±J\9f\90\ fê3
 ãhPÄ^\87Bp0\vá±GU²®\ 3¤ü¶×g\eF\10\9aÈU\b\85·\1dÕ\84~"äìgJ\r1±ÈYE\1d'Úe¢ÌÛ"J®\86/\12TEV©\88y ò\82P(\eצ¶@}"1ßü\14í\ 2\r*\aÙ~\990ËÍ ?£¡\17>|Xó½àà\81÷Ö9ºÊ\9a\8b½¥\82\84\ 3\16\8d0ç&\169O\a\96ff9\163\91ÄÐã®õþ\91\81?[\1f`9¢7\10½\13ïh¾\9c-\94Ãü\97"ì-§JA\9a\9b²\ 3¹Ø$8\80\14#Ùz\0öؾ\89®æ~á¼
 |\aéØóyAô\ fL\96×k¾ÿOLÓÄ`\9dkÑ0úø\1c\90#\9e)P2ä÷ù<ý\88Gb\87©ë¯\9cû·7¿»\804®g\93Cg\93ÛÚLThö\1f5j\vÚ\ 3\eu      Ö³Ú8Y6ëQjxø³\15.\17\13¸       \1a\97\ 6ÅE\12h"ýg\85]<Z®®ÇÍR\a¾Gë\996/©\81×ü,}ñÌÐÍó¢àµ\0ÁvsÀø©s\0\ 2\8b\93* dAvÂÒÕÁ4íê\88\1aO\99º\bÝo¹\ 3o~Fj\89Æû­ö[\9aÒÂ\1dÑ`åyÁñ~\17\9f?2\94²;°@ñØóãìì\1d¸ÿ\16ZhçÏ\15Ì\82\e¬\14Σ\87\ 3íX\88\ 2á¨Á+\8d²\9c_\7f\8eýl`zë\ 4\ 4Y8\1ev\16¿¾ÅجLN¿
 -s|o!Ê\ fU\8f
\13\¼Iüq¤Ç\84ï\9c{[\fü8,sC\12¼LËOó\Å\ fL\8fѧ_FC\1a~§ó·Þ\16\ejv¸.ÉgÉÿ\9f^\0\a\89âþý<`0´}ÅLÀY/hl       ©ùN¿/§=;Å(+±{\ 6ÿ\r\84ñ\9aÆ<\91_\156jH;\ 3\1eGk\7fô½üaûûv÷îþ·O\9fv?ì÷Û'hB±\ì÷:\fÉý\8fÑ\8fá\8dv¥¹\ 4ÊN\86¯õ·5(nÐnã\8f\13Á\9b\80\1cÈ\1c«ÃÀ'ö)ÔÊî÷\ 3Ë\9d\904\v\12+=VyQ=Ñí\87\ f£0ýø}\96ªp\9f\86zKI³\8fðª\13\96ÌA\0±(]\r5|\11\81ï\ 5\fµ§¸;¬ØíA¦í\9f§\ÐÀpÒï\ 4·Gÿ°¦z^\87#\82×\96\1e»ÙJK\ 5\8e®_Ìûf_ihîW$~¾g¿\87¦!~ü\fZ,7ø{\87_J»!uÕô|¾¼\8a®®\97´Z­Â\9f2¶7÷onpf2_\98¤·&®\vè\8b?\8aùÐæëM4»ZÒd3»f\9bëh\13\91ÿûÇù\8cë\87ê\1d\1fÙü¬ZmVÑf}\15\16ãÕ\82ͼÛ]üëâ/§Ã¢Tendstream
\13\¼Iüq¤Ç\84ï\9c{[\fü8,sC\12¼LËOó\Å\ fL\8fѧ_FC\1a~§ó·Þ\16\ejv¸.ÉgÉÿ\9f^\0\a\89âþý<`0´}ÅLÀY/hl       ©ùN¿/§=;Å(+±{\ 6ÿ\r\84ñ\9aÆ<\91_\156jH;\ 3\1eGk\7fô½üaûûv÷îþ·O\9fv?ì÷Û'hB±\ì÷:\fÉý\8fÑ\8fá\8dv¥¹\ 4ÊN\86¯õ·5(nÐnã\8f\13Á\9b\80\1cÈ\1c«ÃÀ'ö)ÔÊî÷\ 3Ë\9d\904\v\12+=VyQ=Ñí\87\ f£0ýø}\96ªp\9f\86zKI³\8fðª\13\96ÌA\0±(]\r5|\11\81ï\ 5\fµ§¸;¬ØíA¦í\9f§\ÐÀpÒï\ 4·Gÿ°¦z^\87#\82×\96\1e»ÙJK\ 5\8e®_Ìûf_ihîW$~¾g¿\87¦!~ü\fZ,7ø{\87_J»!uÕô|¾¼\8a®®\97´Z­Â\9f2¶7÷onpf2_\98¤·&®\vè\8b?\8aùÐæëM4»ZÒd3»f\9bþO\1fçã­\9f§w|ZócjµYE\9bõUØ\89W\v¶ðnwñ¯\8b¿\0\97w¡kendstream
 endobj
-1468 0 obj<</Type/Page/Parent 1367 0 R/Contents 1469 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 657 0 R>>endobj
-1469 0 obj<</Filter/FlateDecode/Length 2191      >>stream
+1220 0 obj<</Type/Page/Parent 1119 0 R/Contents 1221 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 570 0 R>>endobj
+1221 0 obj<</Filter/FlateDecode/Length 2187      >>stream
 x\ 1­XÛrÛF\12}×Wt\1eR\94S"x\ 1EJ~ÙÒ%vT»²\1d\93YWj¹\ fC`HL\ 4Ì0\98\81hîÃ~{N÷\10\94DÅÙdåR\95$`fúrºût\ f~=\1aP\1f?\ 3\9a\f)\1dSV\1dõ\93>Þì\7f}|{4\18\ f\92S:\1d\8c\92\11U4LÇÉ`÷TÒôh2Lú4Â\961/NFX\8cO¼8èO\92  \8dÒÓd(«ý$Ý=ñêpÐçÝC\96PQÚ\1fó^y\92³ãs¨\1dõÏ\923^\85ÚöIÎöOñ\9c\9e\9f\8aÞô|\ 2IñIVÏÆÐ\98\8e\86ñì¸\8f¿ñIV\87\92öS±*=\95UyâÕËÙQïÍ\88\ 6\ 3\9a-\19\96ñÙ\84f¹@Ò§YvüÖ\ 5GÓ ê@]\9aê\10\8c]yü{ål¨]I\1f\94Õ%\9eßé°qõ\9dlªïM¦yÓE\9e¿\9aý\ 2\ 5ÙNAw0Húi\8a\18Ìòãùð´Oq½5`·Ü\1d°±Ø2Õ¥Î\ 2\85BS§Õp묠      ®¦\8b\95¶¡CÊæ\94\95&»#g©óþï\9däe*¯D\16\vb\81¬¹UüÄå\17j¹±^\ 3R\16ÿÉØÜm<½\9bÑ' è\83
 \ 6\9aGH\13cñT\96tuM\9bB[Z×®Z\a\9dÿEåÝá(9\1fOh\ fë;·¡Ì­·¢\7fiJ\ 4k  ÑÑÛ\19Â\ßë\1aÚéÛéÏÓÙ÷·\1fß¿\9f};\9fO·>è*\1dÎçV\87ÊÙùü»ä;
 \8e\ 1ï?Hÿ3\87vÐ>v\98\ 3éu µ®+ã=0ð¤<m]C¹ÖÕ\81\12µ\ 6\18ëÚ¨ i\89lÀ¶\9a¼       :¡\9fqbc\0\9bÕ:'\95\1a\1fjÀz¯©6«"ø}hg´p\9fá\ 2Õ\8dÅ~öJÀ\85;R6ÈÁ\99ÛÇ\ 1\99\80\r|XíÃvþYD´¡â\88B\8eÔ\ 2öJ¦*ÎÔ\a\84Û\80ãäÕõ\81[óãù\,\16\8c\83s¥ß£ý*¡Y¡kM\ 6ÀP­±\ f¾#zTº\f8äð:\14\12Äè    å5\®eÏÞeä\92Y2\\a\9a\ 5,c\81e\15\13\10^\16È\13`\93;\b5>AÑ?Ï\19Eì+X\81ë\84ÑÙ!!B\ 4Ëî£Ü\80\ 3\bWYº\r\9f\10GJ\ 4\87M*t¹^6%ýôñ\1fð\ fÉà\80eM¥±wþ5\e\vÆÞ\aå\a\aßÝ\92¦ªZ(\89;\15!¬_÷z\9eß$®^%ôIS¡\10sE\95©k$\89ÕJ2\85¾ayÿ?-Á\8b(`¼ãµcºÖ÷ºtë
@@ -2844,77 +2387,87 @@ x\ 1
 Ç\9e9Îÿ-Ji\89áq\8b\11Zç²Ud\9bj\ 1\a÷ÜVk®°\9c\9e\88Jè-8ÙµØï9ïäa\14\12&aÂÓ^\8añ1\vïè\90I\16\1c\87¢\81§{R\9b6뵫\9f\11Úÿ>'¬ü»\96?Åàø°Ù¾A\84\7fm`²´\7f\91ÀøÁÕÈ\9a³woQN\8f\\17FauÝ`WLû=ºáB÷ #xVk\91\ 6ü\84(\9f·½ÜÙ\ ef\ ef\87\a½já\9a\105vY#Ô\ 3'\ e\81%L\12ZU;s$®\87>\80µ¡'ÊDëÑÞ\83-X\86³Ò³X\94\1c¤u©\95Ç»\85\90\87èxh\8e«Æä¼Ñ\82i\9eõ¿\8br£¶\1eîUZÒåKmàÞ\95\8d\r\1a\84Å\83ö\90dÖÁc\ 5ÎÛ\ 5r\8bÆ\889\81\88ãV\8dª\15\9feÓÑ\92ò&ãü\ã*`2Ð>æ
 ­BÃI\e\9e¾\ f¦Â\18va1_â¿\9d\v¬¸³@di\85øú\ ek{\9c\93l\v\f+8Ü\95«õ\17ú@Û\90þ g¥ç±.w\18µ­uÃ\9d\12nòdÉå%E#\91\1aÏ\8aÙ\bÙç0\85b\82Á+/C¯´\rÌ\88\16¯\ epj,\b)N\9d\1e}§Ì\19¬\85Z\94[\89²D\15\89¬ï\ 1&\ 6Ü,¦6\f\90
 Eó\ 3[Ù¥\fi'\f\84´ôC\84Ü:\1eE\12þkUBEùo\b\97K¾%¡M\91\8f\15ûrðn0ãæ¹\91¡d\97þ;ì0\8fÄ\ 4w\8b\80\82@iÅÒ¼7\8a®þ9Ý\8f2\9cæ9\8fçruá\8a(áØ¡SY¡³;È0\18\8f\9a¯Ð\14g5r\1cQ¬Ô\1dÚ,_
-Ú²\ 6ËñøÇ\8b\8bÚèå   Æf¾     ,ñ×®À\9cÎrµ0׶G¼Pz\8eàáíAØ\17\1aÝ\bµÑ\16\15Z\ eÊ9h\84\9dGsú\ 6\9drO-<Ø\90\99Ë!}Ç\b\9eæÇ;$3\fr>^u3WÂè\ 3] Å%îÛh\82ÿÁô\ f£YÞüÕW\88r\8c$_~öä\84I\86¬Y\86-un:\15\ f­\85+\rF&ß\81·È\7fÿ\10\1c\ 5&:\89x{f\ 3Øw`>ç·Ya\r\84}\94õ\e4¹§=\8dO=\9fÉÿÂ\90\1a\ 1ç\19À\vûâ\ 6À\9f$\98Ë1ve\ 5ß78+\85\85äÚÁÌÆÔ\8f¿\9c\17\1ed'å_àz©-8Ó$`2é\11\a>µÇ\16 ¬H%]\19\9cØ\90tVX\93©2¡[\ 52\k\87\f!\ 5\ 6À¥\ 4¸²-±\11øfá³Ú,\98k\ f\141\17b'2\84#$V³©<kðĺ\8d ²å,\ e¤\86>Õ¶\9c\rz\ eP\16 `bÜàÞ/\83¶¬á1õz\¦X¸Ì¾,é¡k±*\ eº\ðP£\e!8عÀ§ D0תÄ[¾wÂ!Å\ 4®ë\13\91ôûálÉyÏßíÀÅ\1f¨d\9c\9a\ f÷\ 3×Ùn\12\19¤ø,v\9eâ³\18\7f\1eãïB\17·\97\17ô¡v¿0ñ]ï.Xrå\14ç\ 6ãIÒ?K©;é\9fó~|kC20WÆK¥Li\u2´É`6ÂǼÉø,~\9a\1a¥,æûÙÑ\8fG¿\ 1l\8b\16oendstream
-endobj
-1470 0 obj<</Type/Page/Parent 1367 0 R/Contents 1471 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 662 0 R>>endobj
-1471 0 obj<</Filter/FlateDecode/Length 2134      >>stream
-x\ 1¥XïsÛ¸\11ýî¿b¿UéH´$Ëúq×iǾKRÏÔ\8e\eé&×\19\7f\81H\90DL\12\f\0\7fß·\0¨Ðjg:\9d\9b$vD\12ÀîÛ÷Þ.õíjFSü\99ÑjN7KJë«i2Å\95ó\8fÏ\1f¯\96ÓdM·\vþYÓìööü©¢íÕüf\91ÜÐí|\95,qw~»L¦ñ\13ßÅ>´X­\939-Ö+ü\7f\8e\7fFR~u¿»ºþ° Ù\8cv9\9f½\¯h\97ùs§´KG¹6Ga2R\8etCøD'Ý%ïv_¯&S\9aÌn°ã.\eýKwT«¢t¤\9a´ê2É\ f\\7fXÆ}GÔ
\94¨Âåþ¸\11Uº \UÒÒÑ(çdCÂ\91 Lî»\82*y\90\15YéÈi\12\96ê.-ù÷|\9aÐs%\85\95\94éæO\8e7\1dÄbe\93\91+%ÉÆ)äÈgì;\87\8fº+JÞ«P\aé\9fHuãäwd\96\87\ 5Æ ¿ZZ+
-i}\92×\1fÒ\98Ãd6K¦77Ô§ü2¿\9dÒÛ|â\13\93ù2Y0*/£gm­ÚW§\97\903rT
-\9c-(Õu[I'©\91®\ 6°Î\88TÒË\88r£k\1f\8cne£\9a¢\8f­U-bÖ\838_ÞñéÃ*ðþ©h\0YDàÏÉ/wÏ\1e`Æí(«ê\8f'\15\91w¥j^q\9a\91yWU'ÚKp\ 3\999'RÜ*¸\8a:íj\14Á\97¯!Y\vU%ô\8bn¬Ê¤\ 1%¬ã\a¹TF¢Ø¢¹,%³Æ\82R1ï½ÎN=\1e±J        í°Ü\8az/\88÷ç\r+e±ª\0\r\95]\ 1\94»z\8f#QçVj\0?Fp\97è!\8e\13\89ªBIdæKÔúÓ\80ª![ï\13°%G0\1c°21SÊ@±Ôisú[àÂ%]Î\øA\97^\15\93ù"Ù,W4¹Ù@³àËßõ\11\ 3\15à¼Î\ 3)ßd\15\ fé\ 5\ 4Ö÷ûït \96\8f\115cZë\ 3\8c\12ÿ\ 5£qÄ\88\v\0\ 4\15\93\90Yt\8ce\ 3\82>\96\ 6ú÷Ô\19èì£\a¸t®ýéúÚc\9eø:$Ú\14cJ+\95¾²e\84\80$\88b\1d<ÂKL\ 4~6ç§\ 2v·g»Øvm«\8d§Ã\ fw\1aÑÿX7ÔÂÖS\ 2¼\12\ e\18¼\ 11\1cÖc8Jè\13È(M)Z\véH*¥ñþ5@wh7ÔjÎ$ºD¯I\ 6\0"{õ\8cÖ\90C\8fÿ8\0ª@¬¯\1d\9eñwri\fÂ\8a¼\16{\14\8a£\1a +²\f\88YXB×À\1f-X\akl\8dNùC\ eªc=Èh5
-w\14§$I\82!\f\1ck\95¬g´\99G3\9a\83j!õ\rÍ`ò9ȳNf\e¸8H´f\ 2âWB¿j Õ°N\9dÑ\95·ü/ªÉôÑÒæûõãû·ðÍçÉ|:ÃV\e¸£ï\ 5,È\W\95>2\16\16êP \ 1[-¶\8d.\1e\rW\eU¨FTôë§Ç»\87§ÄÁ\8b¹\1d OyPº³0\96ØP2:*W\92/ë%\13\1f¹1Ä-kÔÛ Ó\90²´G\8bÈ\98\83GÆÎszà%ú5dÒËqDÛV¦¼ô}¦8æ1ýf9\ 5\7fæÛ¬GcÚ\9fè³JKôF¾õ\86z¸ØJ\1fää\f\ fj\11à¹\83Ä=ÀLfAGm^\v£»\96 \10\92ßEê\90ôY\92\857\1dijËI¢að\1aÚ\eT\ 47\83\ 3f*\a§d\ 3ý"qÏ\15Áq\r\18\95\81¡F¡\13\8a=\10\16\1dÎ@\83L\85/O&p\99;*V\vk5p`ÝxÌÙÉ9â±ç\ 2
\85®
-\92\88ÔÓÑ\em\f,¡»Êêñ\7f\1c\1eâ\83\12\84Ks»\82"
-\ 3ó\ f\82è¬4ð|o~'²\9d\7f\98AÌH `:ùi!à\89>\8fRcõA\9a\8bÓ_FO»xÇ{\88Fîðô\93u\12 \9eiòã!\eü\a@*;æÞ\99iÌ( \11\8f\1d.0\82vO\1f©ÑÇ\97w=\1fÏ^\f\ 5l\1fïÙÝØG\11\18X\8eN\8eÖÁ\1d)ֿĶÈ^~\aë\¨\82¯\e¦\1e\83Æ\13BôÙĦÓ/´¥î*p\aÈ´\97\1dóL\9c\ 1V,?Õ =C\eø\7fBO\17\14¢¼k¼JE¥\9cïy!D\8e\ f\1cè\19\8aªào\16XãG¹\ 1»øIÜF6\15ê\12¼éþó§/Û\87§\8f¬ë\84\1e\1cÅÈQðF£Üã@Ô\9eÉ\9e¹Ú¡\ 5#\ 6ãJ®'Ô\bÌbiCQ.Ñ~°¶Cqz«\8f\9eÊÒ¨ä$¬ì5Së\f\13%\v\rbH;Ëöà\e:"\8fF\95ÄâF\ 6\99û\17\84òÛ\82\19ýÆ1ÀÔ¨Ö1a\0\ 6ó\98ý:\8c·<8?n©7Rþ8À\95\9f\1fÜÝü\1emv\80\12\86¸\12¦\ 3\9d\0F.w\8e1Ë;\ 3\93õ\9cF\f¸§ä\17\88\9dÙ6 %Ë·§ÔQÙ\12\18\9e¡Æ´\8fª\88,e¶\eù\r\0\1cµè\8bá\99\19Ì'W\ 6\8fé\86\aÔ\v \8clQMÌ\10lJ\92¾ê}@ç\0ªÁsp¦Â-\8c\82\16p0h,\14¶kV\ 1\9a,\f¶Q6LÄ¡¥\8b¬V¸\84\81\19S\17f\1e{q"\9b\ 2($3Ï8 \82vÍ38O×ü\1aàÕe]ת\fS92N\8dÄq\ 3,¸ÿûh}     \87Î\bÖ\82ÃàO\ 6ðÝQÊK^\ 4÷\ 1\ 3T"\13Þ\ 3\13%Û:Ì\ f\ 2ÃëÌéGÙ£!Ad\19brʧ\8e\95Õ\81Ý\86qÁõTµÐmè\ 2\18wu\99y\86\81\ fÉ\ 3\18¬.1K^z\80¥o\9dBª}³@³å·\rF%­4\8eån{Ð8=:\7f´\81\85\88PÑ/r\80\87~`ý\94Ãn^\8bW?C\9ah\7f\96\11W¹ïi\18\9b\83R\ eJx\84CI\ 3j?\87¥=ÑM\a~^Ôv/\1cÈï'\84#\13Ú\ 3\1cv\8c²ï\ 5É\8aÂÈÒT 1?\86\931SÄ\16\89údÒ¾:\8d¦\8bçÀ\17Ã\ 3]\13Þk!º^5÷ᥦ\12ðÇØ\88ã9ü. \8a\ eX\aw\ 5ì\9d·P®=Þ\82!T¶0¨\15Ä«´æ¹\10íÃWåì\ 2~\9c\8a0]d\8ay\94\r\e,\b\88ýÄ÷ñ½À9´\1dÔ\14ûËY©<-Æø\1e\9e\a\ 2îgÉ8"Ùn\ f\98b\98ª\81
-\ 4·\84\7føþ\19Å\1e\b\86<.â«¥\7f\9f\ 3¤¼æþáÓ\96üÛF\98àþ2KÿÊmrx»\12'i\82\80ÓR\83\11\82w\80@-¸ë\87`¼h\9f_²gI\1cY×ñÕ`¶À7\17ë\eZ.ñ=Çò\96\87ÖíÝãý\1d=\eý\15\1aÃô\1a^:}a8øÉ\f\8fò\92Éjºù¿\86ÜÅj\91¬\96k|+\83S\16\vÞìýîê\9fWÿ\ 6Æ\·Àendstream
-endobj
-1472 0 obj<</Type/Page/Parent 1367 0 R/Contents 1473 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1473 0 obj<</Filter/FlateDecode/Length 1934      >>stream
-x\ 1\9dXkoÛÊ\11ýî_1p[T\ 1dF\92e=
-\14\85\9f÷\1a¸vÜXin\ 1}Y\91Kkc\92«Ë%£èß÷Ì,\97\96h\15A\9b \80ø\9aç9gfóÇÉ\90\ 6ø;¤é\88Î'\14ç'\83h@ãù0\1aÓx6Åï\11þ\95\9aRyp1\8d¦ÝûW\8b\93\8fwc\1a\ ei\91²\8dÉlJ\8b\84`g0 EÜ3\15¾\8fµù®]\9f¶k\13¯)¶E¥Lá¨ZkzÔÕÕý§g*T®É¦r/³/¶ §ËﺤÊRí4\99B\1e¥¶ÌUÅ/.ñçùöó¿n?G\1f\16ßNÎ\ 6t6<\8fFpÞ[Àn\9c\19]TüMÁ\ e\v\1dWphq\ 3\9f{Ó}\82#Gpµì%V;R\ 5=?\9í\9c®êÍïË\ f¸\93\1c3¡Ùã\9eÃû§ë?\93[+TjÙ«\9d)^\1a[\15\8e\8f\105
-\11\8e"b\13¸s6\9a ØG\82ö\11q}¾¾ºJ}AÌ¿I]JýG­]\15ªYêª4\1aå\95úì\97\11e+ÿê8I[t\ 2vqi6Õ»°Î\7f\1eÖa-¥\7f>,\9f>\17ÌiUÆk\ 4\84f!(Ã\85MȤ\ 4,à"µ5.ùV\8c\82¯4ð¡\92~'@¼\17\12óïê\1f:®+\9dÐj'\89úþFt\99V\f\12xéïݧĸ6Ò´´¹<C-÷b}\97ýøçÙ;]$H\87»Â\rùEW÷Ej\11ª´ÄãK·ð\ 2ÜB\12â¿iÈÚ\ 2êR®¦\87ïsÇ\9b\0\9emJ)\85Ü\9465\99v\11=\9b"Öb°Ônc\v°C\80-Í8\16\96@©°U`\1eåu¼î8Í-ÀË\84<\12dp-q|5Åü÷\86^\8e\1e¾</\90¤3IKQ6@\92cb@ýÊ\96»¶Ô\ 1ì\17o¥>\9fG\93cøoÛ×äö..\81P\akmøMÈÀ\87cØUu ½±uÕÅÙÎÖ\ 2C·Ñ±I=´\8e\9e\84_\8cÝ\8dªÖ\11Ý\ 1áú\87Ê7\99î\8b"!w\88Ör\99\96:Y.£6\8cû\94ë½/R\붰¬\1cÂ\v\ 1ñ\8eøÚ°Õ\1c\93\9bü¼~G\19ð.µ¾T\11m:\90Èc´îÆ\9fYûê)~ýéñîþ\97èéÓo\9e\82\e\9b\99Ø0ÿ\81×\88îYÔÁç@ý~£\ 3L{¯\fG\12\rB9õ\89\9bÓ\102\99B//èl<ö\98\99D³h\18ѵ-RóR\97ª2\10óûÂUe\1dóo÷7fêÖ\96¯$Äw\9cÄÛ¸\82\82\8fxZÉÀÈ1\92 \eiªKÍüZáC\8dá¡èéæZâT\ 4ì'vëhþëjÃtæÕ^\0H\94§\fûÂ@l\ 5þI9\87P\12\82ùr·\91Xñ*ó\92õ\ 3\I\84`ÿÕ\8d àã]Ü\fÛ³i4ãù\8dø\97£ÉT\ 6Ê[nò°\9d\88o\81\7f|¸mÉ\9bXñ¾±\18xÎQ®âµ) \ 2eí*Rq\f¡®Üÿäõl\84\86ÌßrÆ$.5Æ\0Ø¡èYå+_Í­É2R\99³ð\ 2OÌ®·\b\ fJÛx¿hr\1e\8d¢Ñ\80\87&Ò;\97Yï0\16JSí(·\90 ff®\1c\8f\84U\89Né²Óraà$\1aL.\9a¾\83hL6E©Þ¢\8f9\13N\16\85\8a¤¡c~\v©\fÔeC\8eÕ\eà\87êò0\88Hr¤5²X1^X[)Ñ+Ua\9f\81\160\föV\ 5¦½q®\96eg»Ö¸.    *Â0ðóѾ²\9c\aHé¦lR¤\e+(\ 5Þ«Òf\19¾\ 4f\ f*\0\91c\8b\ 2\8fE\ 3\10¬{²«õ¾`{:äCO\92ÁB\94í\ e­6\8b\9b´\8d\ 3\15F%È\81µYÇëÂÄ*\ 3\8a\95\ 3ç\98èÞnëêù×ËÏ·\1d_Ò0¾·W\9c\90J }kàæÓÃåýc×\ 2w»ëI6Âî\8b\82\8d`\9cãC¨\19\92ü&@§ïª4^; \1fØ\0e\ 6R\86¥*kë @dÁhֵ˸ªÙ\ 6K\1e\fú\96â\87 :Î\0\ fØ\add\8c\ 3$
-\14ó ë\9e\169\87\82eH^õmö@î\94¨\81µ(\85\ 1\15\ 50a¶ »Ñ,\83¼\802«n®#úº\86\f3¶r\85\88\10\1d¼1õÍ
-\8f\ f\10§:>ýPc\8b\8eÁ½ì)Yº\90~ßÓÌ/¼       %>pÙ8á\1e¼\82øò.\86\88â
-.\83¾V\94Ö¸Ã\12½ü\10\ 6\ 2#«ëúÅZ¬\8e\89V\1c¡³\11ý\e\ 3Û­m\9d%hb®ó\15\93\93wz.\1c\84ZêXê\17ø\94'¸)ØùÓpupÖ`¨\e\11\87ý¡\8c\ 6²\1d\99ò\98\95²m\ 6\e§hCfc¦·w\89
-7c!¼ÑèªÏû¥6nÝN\13|Ò)n3\ÄÖÃ\95_)\ 4R\9eN¡8P\92\1dm\8dßõÞÄ\81\0b;>ú\e\98i\9c\ 4´>Ú-­T,ÊÂ\9f´
-\14,I\aß,¡ØH\1f\0\12æ\88¤p\95\v:mYôwaÉ©Ì÷FÛ;\99­- \8d\8a\ 6\1f\9e\vb\17­fÝc®5à\82\ 4"\ 3ÈY«·ßUf\12.3/-l\84Ïp<à\9bmÛ/ü\ 5\90ÝñË,¤\94'\8b\0C\ 4Ûû\v\13\ e
-E³\e,{|uº       \ 3Ú\87t\8aóßkÁã^vcµÂúèc\91\93\8e\aÎ:¢ùü/á4[\99\1cãOZê£\buQ\81/È­Ñó\88¸SûUð\84\96IäÙÕqz m~ÿ:m5á\14kj\89\835S!\b\fζ"Û\9cÿÞ\99;`øq\11¢Zöä¸Þñ§2ÞÛv2ï\8e$ЧҼ¬«\7f,?ðwL­\0ÁEX\ 5Z<ìcne\7f\ 4Åj\96 FK¤\85Á)Î~\89NMa\ 4\a<rý>Á\1dw¯°×  V\ e \10G(\3§ý.Â[\7f#"*ÛªÝ\1eF\ 5\18-£À\83F\93AªVs}hÍj2kæé\10Kél6¢        \ e4\83¹¬\95Ï\97\ fW\97ôTÚo@.ÝظæíB&\8dTg8Á\7f±ÌÎél:\98ó:ò\7f­³ãé8\9aNf~\11\1c_°áÛÅÉ?Oþ\ 3>¿¿,endstream
-endobj
-1474 0 obj<</Type/Page/Parent 1367 0 R/Contents 1475 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1475 0 obj<</Filter/FlateDecode/Length 1449      >>stream
-x\ 1¥Wï\8fÓF\10ý~\7fÅ\80\90\12\93_MrHýÀQh\91hJ!¨­\bB\e{}Ù\9eí\rÞ5áþû¾\99õ:¹\84RD9!9ñîÎÌ\9b÷Þl>\9e\ri\80¿!ÍF4\9eRZ\9e\r\92\ 1ý0\1c&c\9aÌgx\1eá\7f­)\97\17ãñìË/\86Ãñé\8b«åÙ£ç\974\9cÐ2G\90é\1c\ f\19!À`@Ëôb\9aÌ\93QBOm\95\9bë¦VÞØ\8a^TÎ×MÊÏî1½ÑÞ\9bê\9a\9a-½¶ªäÇ·N×ôª¶¹)´{¸ü\e!¦4\1cr\88Ñ(\19\r\86Ô\1fÍ\93Éx\84X\17\8bß\96Ïî\85E\93vÑEwÒ¶=\84\³ÝÚÚ\93q\94\99<×µ®<嶦?Luù'©*ã§Å2á\93ú]\94Y2\ fQ®4\16kìuiã\1c'¹±;ò\96Ò¶4Mu\9b}\8cÙ##ñ\1a§ó¦àµNkÙv\14\93Ò \1d©t@}À,\85\99r[è\92óô\eíÐ\1e­|Sk')bÝh\9a\17á´ö\fÄ@)\8a\16Ú3\8a?kÿ¢Ê-ºû±Ñ\ e'Y>\f\8bêO\80\18\9f®µ\1cOH²~à(æN\85M¥Y      ýbw\1a\8b\91Á9È\10ÉlÑCÀbµ£ÊzÚ¨O\f\84-\ 5[\85@[\85®ëÓ\83)7ºÈzd«âVrj3ØØ\12ùmT­\13ZnЮR«Êa\85òGÑCÝ]ÆØ\812Á,\93z\9dqmkÍ}2ÕÉñ\99©uêm}û\ 5(\17ËØ\8e\ 3(ß<ùõ¥½\ 6u_¿z\1a±ìÑncÒ\r\13À+\83\14KUÝ\86ª\1cZ_¥E\93\ 3\10¤dFæ¨\12nI\ 4\9cl~\98o,ï\ 4\8c\8eÑLâ¸êÛè-\82\1551\8b $fQPê0a\19dvç\b\91-çüèy\94Ø\ 1ÿ\96 v«.ìÝãÇ H)ï®\v»VÅ{\0*¢ç\12]¹NX:ø.\100·Eaw\fØê\82\9f\15ó\7fõðq\b< Ë`1ýÑ$d\HG¶ÊoèGZá_DAȽÿÈ\ê>ñòÕêüíjUBÏí\ eþò\vå1,K´&Ó¹j\8a`\17\9e)i·âcxâ°ç\8bp`{X\8f*Uj\90\9aß9U®UPÛjÅ\fçw]2ÜT-ë\16ç|\ 6À¨?\99ôXf\88\93Ö\10?X­\1aoK\b3U\ 5\83rÞ±f\1cÃ+»\13z\91Ó­m\88\15Ñ\88W\81\83\9c\88¬\80î\19_æ\\ 4¬'Ë?\94\8dó\1f\8e¨Yª\e-kE\92ä¶:5 q\16{{Ð\84u\rÚhµ.´ÈêÔCß\157iA£©j®/§Ô§\1dÜ\90ý\82MÕÂb¸>Π'\94\10\17¾èÈ\18Ý-U\15tfDqX\f\ 6U-§\82³\1deß!Ã\1cà\94×Úï´® ¶kH6à\7fw\11\83@\98)\t\1dL\7fÍ0\86\92%?\1e\9c\aÖ`þ\89\9cösã2Î\8d +\8cÀ(+\f\9bï\91\15¶µ\18\84fI\9aÈJzs?t\81ip\1f\89Õà\98×uBo¤é\eÅÞ¼Cí(<7\9fQ\89ã1 <ݯô±«âÌGá Þ³³õ\8d#\1c°ÓEÑ\931i<F\81µ=ø Æ\16Ä\10Dþ/9´\r\89³êê¶e$Óo\9fõ>éPÝ©\97o\9bpK\0\8c\80"\12\90\95\85é%³ãÄÜã<½j<í\94ñ÷XuL\a\14F<.n\84þL-\9cÓ©çÔ\98¾bg\90[½÷4&È\7fØ\96¤\1alëüeð\8f$V\15HuÇiÙ\8a\0\99Æ;KÔÄÎ\14\ 5e\8d7¸eÀ\14\80\14\93ÂÔ\910\f\12¤ß¬;dØ\80å »\80\11»\8aÎ\8e4Ô¥\ 5\9b\86çÜ\rÛ4b\94´1Y¦«ÕÃãAºÀ] \9dì
-|Y#§\aà\1a\ 3,ìz@\92µ*ÀDæ\18\96èTá-§¦âU\873\97\86£)\1e|+á\12h\1aÆì¾\14ç\9b<?JÙæa\86òU¨\1d§G\95\82`JØ,I".ß0º{\11ß\ 6\83ßñ\9d\11×T6
-ÈÅð`÷à­\85(
-\ 3g\ 4\8aG±÷\ e)³Az+\86{(\10\81ë+cx,~qx/ýFÓø\v¶ÏD\8e\ 39RJ2X[\8cÊ  î¾Û\91\ 4³\ 4\8c\97\9b¸¬c8\ eS\16´Â\17G\15³\13\1eØ\ e\õù~~ÿo\19Ì[o\1dNñKe>¦é\f?OƬ\a\Ê®\9eðÏ\84¿1\ 2è'\9b6|Y\96[+gØ\8f;ú³\ 1®\ eñ\86s\17Èïø-2\99M\92Ùt\8e\1f;8s2åPÏ\96g¿\9fý\ 3váWéendstream
-endobj
-1476 0 obj<</Type/Page/Parent 1367 0 R/Contents 1477 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1477 0 obj<</Filter/FlateDecode/Length 1917      >>stream
-x\ 1\9dXk\8fÛF\12ü¾¿¢!à 5 Ñ\92Vû2`\ 4v\9c\0FâÇ\9dµÈ\1d"#\18Q#i¼ä\f33\­\80üø«î!)\85k\aAl,öArº»ººº¨ßϦ4Áÿ)]Ïèâ\8aòòl\92Mèj~\9b]Ðüæ\1a?Ïðå5mÎ^/Î\9eÿ8¡[ZlðÄÕ\r~X\13î\9eLh\91\9f\17në,U*îè%-ñï_?/\97\95w\e\80ßî\9e-¾àù9M§|Àl\96Í&S\1aÏ®³ùÅ\f'\9d¿¥\9dzÐd]¤|§ó{½¦ýNE\1aZ\1d©\ e\9a\9eï\©\87´v:\10B½_ຶ4H\91ùâ\80\80ÛU µr\ f:KAo\9b ã.êmv\93¢^e7Ù,\9b\8b±k·\ ftû_ú\98²¦O:ÖÕ\9fÓ\9e ã«lÎùþÂÁ\15gæic|\88\84D\ 2\19ËÉ\1dO\e\ 1=  ·fo^-8ËÜk\15õz$©2¼®Xk\1fhð)*\1fé\9d¶õ`ı\11qz\91 B\837:ÜGW\rF4@\8e[¯Ê0 e×4x¯ãιõ £ÅN\ 3«µñ:\8fÎ\e`Å7 \aã)w6j\e\ 3íMQÐJS©ý\96q6è\1a§Y¸\\15½¨\ fHË8\v`q\1enF\81ù\8bår\9fð:í1CaU©\19\80\82þ½F4\86ÅØ\0\1cÔ½±[\89S:À\85\fùòÆ»\92´Êw\19ýÏÕ½à\92¨Õ\b\e\9d\90\80³üu[¸\95*>\93«¢d6¨<\8aö`O®PüK:èÀ \85\9d\ 3\96\98P\93»\83¶ÁD\83\87\82[\a\9d\1e\9dáø¥26â\vQ*\13UA\85\8e\91\9b\86?I¨¼\ 6¶øEÙ\ 3¹\8dTÚL@Û_!ä  \89Э#-\84$Ü#Ä@ÛÐ"®\96Q\1d\ 6®b£½¶¹\ e\19½ÝÐÁÕè[@ß\1ci»q>×`#\93\1f\91On\1e\ 1gi
-Î2¾W!\9f-\8c\94Р    b\9f½{õ\1e¼\ 4\1a\85à¹\92öÞD\9c\9f#zà\88q\a\ eóCR\10\84£\e\8b\ fV²î\ 6à\12°å;cõ\88¶xÎÑ÷(л\82>*«\vú\ 3ßCØ\ 3ãDÔ \v\10W\8e¸Crí,"¨Ze\98H¾Ú+\82Aòà\1a(¿FK\1ep* ðN\95\13(2\9cÆù\7føiD«:BIè7ÈÍo\fµÛKÌÜ\95U\8d\9er¢^¯\9c\8b\18¢ÕNá4#N\0\7fùç5c\Qò=ªÿ¾02\ 4ÎÓ;\93{\17Ü&Rs9Ð\1f\1ci|"\ 1(àÈ\82\84\ 6\r\7fv[\1e\fM|ã\98¦C\11\ 2;\ 25B\ry\89¬¤\fÔGoJå\ f\84\b\9a8<fÐÃõi>8õ\88`\92\15\9c\10\rFþoAØJç,A8\9e]Òør\96Ý°\9cÞY\9e²#mFÇÖ+\14\0\85Sk´X\ 4ãI-ÝPÈ\16yr\19:Û+ï¤pz\8f]\81qkq\1f\8ah'"·+L\ 6\ 2RÆÚ\96{SÅNDû©a2}{â'V%ßN}K¡f|¿\99)\r[\1c¤M_M§\95ð>("áíÌѸW´¢\95ÁzܲÂ$B@or\8djþ42ik\8fÈ$\9d\1e«¢­¢í"Ô:a`1<\e¬\83\9eR\87   \ae\¹GÙB¢p¿²ü\8cà\19\92\0\8cÐdæîgHh\88Z­9§/uèÏ{ï±Ï ú¡Ò¬»Üõ Ê\15ë ã\ eÙLG\92(àò\1cS&Ú\8c\e}{é\1eéËðèG\13bR\86\95V\1e\aöÀ\83\9e\9cÔÈÉw\1cP5\8e´Ñä¼ÔOðÅx4\19ð¸t\êSÆ .°\96)M÷÷B7Ä\93ª°[«
-\8b\r«&.\9f\8ddA¤\ 29\ 6§Åë¢\ 1µß´\ fè¶à$éï`\94V\1a>&Ô"í\9bº(\ eô 
-³Nî\84\11m¹xÛIy*ÛðÖ)e\11IâÃ\ 5\8e\85°>­\81Í\ 6\ 6h¥ñ$¬\1cç\vn\ 59£áZ»Ó\ 2\9bA\ eß\16tT¾ï\9a=@Cìùá7+<É;O*\vu\87\1fª+äß\18\9eurT#É\0;¼.Öì\8bÔ
-v\r\1fy\89¤<:ó\ 4V"¯^q­á:P¨tn6\ 6\956\8cl\f*[ã\81èt\8f¥\ 2\ 3Øj6¼l\e\9d>õz\7fe  ¿á\ 3[¿\91<µ´¸q\9c}¸Ð4X¦Ö~¶ª\92cg£\ 2\11\130\82·\v²N0&oPWB\91äÁÛ>%\vì6\eZ\9e7ýd\91³Ã\bEZ÷1ÃS%¶¬Z\8f\9dE\90\95x\rK/ÆËgâ\ 5\13Í\8eÊ"\13ÒP,U\ 3\ fR{\1c\ 3\aÞøgL¸X±1{1\96ñ\ 6Ï\94z¯iR­x`)¯õj]§OÆ´cLw1Ñ \9déÎq\1f°
-¹¦\ e´¯yê\16È\13Klõ^C\92Û:x4\8e\85\1cM2;¼~\vß&\95\96uÂ0K1íAÏŦ\85\13\9c\9bf\9e
-e³ï\92§Ä"ÜÂFjï\1d¼m·m÷·\97\1acÇìHúÄIóO5ä\fÊÂ\9b\ 6\ 6¹¬ U\18¦#ÐiGñÝL\1c¯K\asÙ \9fÑk\15 £\10¢nÿpe½Ø,ãM\86\1a\82­\89@\84DÛý7J¯\92\12æÎ\9aÇô\1eVi_\9a\90^j8   è?\üÎTäÍv\87d\e\84\9a\8cz\91\8f\93ÞRaÔ>p
-é_5    \aC`Êæ-\90]ªÈf\13\ f´åFäÊ\ 2\1a6ôítAÖ\13r\8d\16L©@\rª`\89­4|l\e¸5\eò\9e*~]\82à0KV?v¯«ÒûC·É"\ 6    \11ÓØ\80Ìð^h)v÷\96õl\0á\96\e/[¿\81\ 4|þãMó\92=½Â§\ 67\17tu=ÍfW\97ìí>½z÷ú\15û¹/ìí߸¼.±,\15¿¼1¸ãö\91ñõ\84?T8O/åü¦°1ÛÚË\8dô\16¦À×¹¼ñ½àwó(ÀUô\9fÆéßñBF\10~-\11³7¿\9eg×W7ø°\ 2gί9Ô\ f\8b³\7f\9fý\1f\98+\9dÑendstream
-endobj
-1478 0 obj<</Type/Page/Parent 1367 0 R/Contents 1479 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1479 0 obj<</Filter/FlateDecode/Length 1945      >>stream
-x\ 1\95W]oÛH\12|÷¯h\b\ 3H\8c>lIö=yãd×XÛ\9bÛèÎ8D\811"GâD$G;CJÑ¿ßê\99!EÑ·\ f\97 \8e-\93ÓÝUÕÕ=\7f^\8ch\88¿#\9a\8di2¥8¿\18FC\9aL&øz5\9fáë\18ÿ\8c¤õÅÏ\8b\8b÷\9f®h4¢Å\9a\9f\9dÎg´H\bÏ\ f\87´\88/UaK)\12ÒkÊôf£\8a\r©\82ª"\91\86ÊTÒ×ÊJÓ§\9d°ö MÒ§DçB\15ß(Q\ 2/à7FZKÒÆb'£w\8bï\17\ 3ÄÂÑÉå("þ\19?\ eF\93\1f\99ªp§\1a¹\91\89*#ùCâ\0½1"ï\93(\12ä ·Hà\96_\1cÒ`<\8d®ø½_\7fûøß×Çß?Ü=¾>Ý}øõáùãrù¢\8aD\1fìrù¡2F\16å\7f¤±J\17Ëåg£×*\93\8fÊ\96\9dc\8eº¢\83Ê2Zã]Ä#¼f\8e}ZkCRÄ)ùb\81E8ã³(Ó\88\9eu)]Ú±.J¼b\19­2U\96¶òHËËLmev¤RÓJ:\ 4\90y]q|»\\1eêLQ*g\86\9c9P!r¹|×ç\93\vJd&C\14\15ßeÇT\18ùg¥\8cL\\96\ eê\16B_?þPe\8d-*7Gb\84µùÖ\90r3ö`\8e=/ï?M\83,\1cCÃëhÊP¿Üýñüðü\v×q\12Î%\rP\e`\92>Q\96    §t\ e\b~\89üb\ 4=R\86\1c\90*´ÄϵËY^:è\80^\17·ÿ\ f6a·|vN\8aÉ\0f©ØK\90z$\95ï´)EQ\82g M\16\19!\17írQ\ 6%Øm©w\ 4ÖU\11$Ró\85\93ð\84-\85))\97E\15µ\99ùûrÏ\vÌÅ\96\11\12´\12ñ¶Úq\86\9c\97S\r\9a\92\93ê\84\15\902\91Éò]\97Ú\ 5+ÍÉÖUÈxÊõ\1a\81Fæz_Ó\91éXd\10¤AG\ ft\ 1M¦*I .{\ 4\e¹\8b¼|çõs\7f·\bì(ÓI&ÈôÄ&z\13\19H4\ eþçø>P/\0ÙëS¯\90eªuÂß\9eÀë¹\9eîá<îpÛ\83\943\18\8bm$9»ñ¾09YE­R+\85AGrkrDn\98\9f,E\9f_\1e\e3\1aÄèY®\9d\11­¥Öj¸³\ 2Ðð¡Çà;\pãSW§àµ
-àl\0×é
-È;\9f¡\9bk\8a3\85ö?\7fûúíÛq*c§Í7ýQ#»\83¯\80'+%õ\10\vÊäOz¬Ìب\15Ä*VzïÜ\81]±e\ e\8cCÄÜé.kî7OwÏ\1e\8d6n}ú\1f\82¬Ý¤©¦®}ê\v\1a\8c¯i0¹ñ¦ð\0\ 1\83}\99YÈW¨Ìö\ 1w\f\99ág+ò\95\05\89\U\e\1e"\94É=\9eô~X\1e$ô7qB\18\r½É¿çÎãQ Pv¼\95ð-#âf\12tÔh+È\80u\17ï\92*w]\v±åºàéÑ\9a\1a\1w\994\86\8f\97ì\ 1^i-\9bD!<\ 4¼UÄ1\8f.Ø6&Áó\82\80ì\9eg\1däV\0DcK|T\12ú×h\91³Î\ 2}ÖUãª@&\8e?\8c\ 4ïtÍ9\ e×\96£=\89-Üé¬à>ã \7fðÙ~¾ð÷;H¹\8d\8aå¨{\ 5g\80\12¡\9a&\80/\9d%tH\85³þ\ ep\89\82K`2¢Jb\7fq¯;÷À\1cÙ\8b\fRöäyø]Âï?Ý\84¡À ÍýÀ\98Fóh\1cAèaär\ e/ÚlÑè%&.]EC\ e}\1a\17-À_\18LáÚ7`
-¼¬kVàþ7':\ e\11­\11=\8c\90U\87É\12Ñ\ 2®\10\bé\14Îîä\12\8b
-ƪ\ fdw2Vk\ 5\14ËÔèj\93:W9k¾\9d\80Ia\b\e\87Äx\1c\8d\87X]Ƴh>qËË×l\eg4\1a\8ajs3Ã@TÀ\8d\ f\84HÊÚ\81]cCQKüq\8d1ðªZ.S\9dóà\ f\19\12ec´9\ f§Òs\88\ 2]\7fu*ZÉX\0\ 4\0Æ\13e\83\ 2à
-8Ê     \98÷±\12ÿ¼5cF\15\98\rÌ\vò`º¿ºÐßȦN\ 5©B?%\1a¢x-tù
-SÓÖ­--±b±*\98£\95ôýË\ 4pk#Htj \9cï\1aém±ÿxlUzHQ¡W\0Êã\8cø8Þ~:U\ 6jimtþ6ó°È¼å\ 5BÀù8\9a»+PèñÄg̽ØòÄ
-\8dÅ\1eÁ8Ö\9dô9,d·µ\r'Fíe\8fÅ\85wmª«,a\ 5±\ f Ú^zÛëä\1cLG£,,\16üvèËæ]Äs{\10\88ù^\15\9e\99¦\15\vy¨C3K½S\ 5µ\7fÔ+0ªôëj3\12Ñ\85輺\a<\0¯Í\ 6ö\8aÒK@³Ñ7\v\9eOe\ 6\ 3Å´ uó\8aÃRaZà!â41;e2º\99Õu÷y\0\ 5Æñý\178\18\96b^½}\18\ f\99\fÉ\84+\ 5fP\ 5Cuz9\18\85Uw'M®,¿ÇÐzî\1dëë*Ë:áC¾@ÇÍM\9e\89¬#¿N\9c\8cí<\1dl:o[víZ't\e\16Xv\13N!ìf|B'v\83¨ëL\89+\10\87Oqg:K\eªÊEQaL\1e\1dC­û\84c[@N¼Añ\80ß\95\91\83\13S\14TH[åPͪòðtÂ3\8b¥äe\9a\e=1D5\89\1e\14\87.\94º2¸\13I'öï\f8\ 6\ 5 \8f¥\7f¸¹Æ\ 5®Â°ñÎ\80\84\vÈ\16\8d\ eºà
-ÀôØ    /J,\8e;§þ\ eEgño]\8e\90\ 2¯ý\988\8c§CÀ1\16klä\ 5¤öÏ\9açó\8f}k·¦Æ\83\1f¦5í\r\ 5}\1e=>\ fK9_GÂFÉÐ\14XÑ"z(\9b\azw»]¦Â,¸\17¥ðû¨ëUl0§\9d¶SsïÞ_\10x\99}>íµ_ܥࠠ    \97\82°×Â=ü^{6\8c\80·\95Ù\9a1\ f\17\ fàëû°5Ê´\9d×W°)níó    Mg\93h:½æ\8bØ\97»§\9fïøæô\9dWý{\1dC%ðyV+ç;\18\85W\ 6³á\r?ï§4}ÐÅZm*ãeý\80뽩\9céØ[ú\12&\15V\9a?ÂJóovv\ 4i.%W³«h6\9dû+üÕ\9cC}\\üëâ/¢t_\81endstream
-endobj
-1480 0 obj<</Type/Page/Parent 1367 0 R/Contents 1481 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1481 0 obj<</Filter/FlateDecode/Length 1817      >>stream
-x\ 1}WkoÛF\10üî_±\10P4\ 1lZ\92eI\ e\90\ fy\15\rP«n¬ \bªÂ8\91'\8b\11yÇÜ\1d#ëßwv\8f¤eæÑ"im\9dnwggf÷¾\9e\8ch\88\7fG4\eÓÅ\94Òòd\98\fi2\1e'\974\99Ïðÿcüq\9a6òÁÅd\94\ô?x½<9ÿcB£\11-7¸k:\9fÑ2#Ü3\1cÒ2}¶°a\9b\9b{RU¥\95ó\14,­5ù`\9dÎ(7\14\9a\92\9b··\94åN§øõá\94\94ÁGÁSU»ÊzM¹§´vN\9bP\1c¨6;c÷&y¾ür2¤³ñ4\99 à³Ï¶¦T\19ªq\9eï¼=ø KzcMp¶ \eetÁÁS[\1dHQaSUPåì&/4á\90Å/½*×ø[»oÚÑê\99×\9a\16KúS\17\15\87ý\väÖ\ 4\1f]$c\ e\8e\ 4Uáq¹ªÔ\9aïÛÐ&w\v]I6©Eúi\90°!ÇeMå?Ìrc\1d\1dl½z\9eÐ\12\95´)H¦\1c¦\17¼\ 4\12ÐnU@³\8c*9òb (\òöÕ\92Ën~º~µ P;\1cVm=HE\8a/\81ºbüQ«\16tA\83ñp\ 4\88gÉüBêü·Ø¥\ 5\8d\86ª¾¿\9aÑ\19ådlÈSF\1c¡\91è'ëv>()1è¢ðT6\1fæ\81Û\98¡s\85U\990¢Ë`ãlIªW\96\9e\8aÜì\12Úo5Zê\10\ 5W0Öi¨U\ 1.p£Såõ)\ 1²ÇS\1a\8cÅ1o\11<µf\93ß×.æ\94{_ã´òtÐÒÄ3P¨íbìÓXM©vÚ÷kºc2ïîâ  \8eΠ     JJ$ù\ 2ºøS©Bà\8c\99í½Â\9cö¶ø¦³ÿú\14\8eè\8e;tÕ\86¯\88¤Ìò{í\ 3ª\ 1\8f|eM¦MÊe#\1e·\996¶6YT\8eBO\18-©Ü\95:;í% Íj¨\ fe)\83/°(¹1\10eìÆS1Ô¦ÐÞÓÀk\b1\ f\az)a\a\ 1rq\87ê;<+åýÞºÌãôAûA#)\86M¸ünñæÃç\9båû¿\17Ix\b«çÜÄã\bQ\88M\8cö²F\9e½\92^R^%*Ë\0\8eO ¿\ 4úq\8bew\ 3\b\ 1\98²\84Þå\82\r\ 4\8aÿÂ*l\15µ³Ï\8b\ 2\1afÎq~ 22o©Ü\vÆrISÆ\83\8f>1\8dÚ3³ÿ\82Ê 'u\8f.4Ø\0׶\ 2\7fJ{daë ßçöq\80c&B\92lB¢kHÌ\95Âv§¿Ö0É\8cÖ\87^\82h?ú]À`Ï\82~\b\8f¡~ƱËVÁ%|\18L)ÙD<Ì#Õ9¨IjÍé\ 1\85\96&/$WÖ\1a\9b\e×Ýzç]¤º¿kéÜÊ\89\ fI\9fïÊÚ\87;f\18<·ÀíGÖdÝ©$¯\18°Æ\7f\9a\9bOÛs0­XÇù\1f\9c9ë¼éªõ¦i2OÆÉ4¡O¹\81Í\88toÅÊ\19Ýã\11ÕÍ\8c%d"zeÅpãÐYL¦\8aÝ\97|¥Ó|s\10§2\a@\1a¶¨\e\1f\16ù\ eÅ\ 1t.\92g\898\1e\90ánúß[pÀE\89\81\93\10+¾ØcRjë"k#ÅÛùÂ\16ÚÇA\89\89ñt<\89ã)ä\15µ~{ýº\11\86\98[aQ\fLNòÅg½°Q\16ä몲\ emÿ\ 1\99\8fxó \9dÇA\eq\9e%t»U2ânâ\10õhpØkmèÓÕ¥øBo\1eL\92aìÄeÓÄ®\87Ý|¹±\81I/l\a\ 1Á\a°\ 5(ç¦\1d  \9bv8\0ðY¬þioECÓd8½ä©ü\1eõ³=wc\ 3\12_Ûû\1a\ 2\\83Ý[õMóü¢L\17\9a\ 3å!\81E}ÈS\14\96Iy\95^=ç\b\8ftëRE_ñÅ\8dª\v\9eê÷¼\1f0C0vVøç·\ 5þ|LXAÇ#1º\f&CYAüØ\17\9cF=hm·üô:5àËÄaÎbÓV+f\18F¼æ¥i@ùæ\98¬(\95éØe\ 3
-üâ\86\81ø\90|g±ì\ 5þ\88(t\1d=¬Ob|\rH\1a\rÈX0Q'@\8eõ \1fTY\15\80íW\81\86á\ 3A¨!ÆÑ$þ N¿¨¥»R`\81ÃnÑFî\86\18\1cË\95×\ 5d[ù1\b\9arÛíñ}\84\11ð\19Ú+#Íñ AÜ%Ñ\0,\94A¹@×ÚÔtNoµß±Q°\913ßEÜ?ÆepÔ\8f\97=\94\7fÞÝ®\9e\ 1=]º\84Ì[4\96\17äÌ©ýZ¥;ÞI\e2Á»Éo!ë\94ç\8b%laF\87D?èþ\1a\10!â=\ 5l\94ÅÜÕ&N\7f¦QúbµÚçÆ\ 4\10Pvi¬\80\1dM\93(ªîgFÚ®¿å¶ö²¢?\ 2®\1frì-ì_½ÚaÓW\97gÖàüÖúðݤZ\8d.\9b®\88P¥n¯\ 3\8d\19\14x*°\19\v[6p}X`¥°éÅ\9dHV_~J\1c\8d\e\9eG\80.>;¤­\r\13{Éu\85    Q¾7ªfUëÆ(\0\ 3W\98/²tÊ\9a\19!\8dË^$Êñö\8bYq4^OÙó×x;\bI³þ\8a/4\vy©ÏÙ\121£ 2Ì\96<z\98ì~h\88¬àl\ fR9:b4?dêªñÑXõÑ^C²aréÇË\a7\1f¯\17t\8d#Æ{ãö\8e·S\1eEÏgâ\13êøº\ 6Ëïh\82T\09öÑà\14_ki\ fÉô ÇúÎÃ8Ð]fµÇ\8aí\94ñ\eä\7fÞTÐ\8eE¬¬ñ5U\1cÚµ`ÞL\94Ñd\92Ìçc\9a\92é\98\1f¢Ïn_]¿~E7Î~á÷×[\9bÖ¼êȼ\96ÂGS<sç\17t6\e^ñù8ÞøÝxôlxo|pu*«â\vºÕ!ðZ\0&~°ñ±%v\89 Â/¾w2\9b$³é\1c\ fbÜ9¹â_½[\9eüsò?§h\15\8cendstream
-endobj
-1482 0 obj<</Type/Page/Parent 1367 0 R/Contents 1483 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1483 0 obj<</Filter/FlateDecode/Length 1637      >>stream
-x\ 1\9dWkoã6\10ü\9e_±(p½\1cà(¶\938\8f\ f\ 5òlÓ^\1eM\14\ 4\ 5\f\14´DE¼H¢\8e¤âS\7f}gIÙQt)Z\14\87»³e\92»;3;K}Ý\98Ð\18\7f&´?¥\9d\19%åÆ8\1aÓìà0Ú¥Ý\83}|\9eâ¯\91\94m\9cÄ\eÛ\17\874Ù§8Ã\96Ùl/: 8%l\18\8f)N6gÑaDg7WÇ\97×\7f\9eÞ\Çw7\9f#÷ÍÑ\11=ª*ÕKK×1\9déR¨\8aNuå\8c.>Å_6Æ´5\1d#\\9cnþH÷¢\\b~º}±G\93  \87\9aN£éx\82E\87ÑxgÊËnµµjQ´tÓ¸T8\99Ò\15þ5Jøó¶/v»\9d8y2\8bƳ=Þ\14çÊ\92¨kY¥ê\e-\85%mÔ\93ªD\81\83DãrmpТ¥_u^Ñ/\14KS[g\ 4é\8c\.Cfx*J\12UJ8LUIѤØ\94K\ 6H\eÎ{\8b\83îD>ÏZ[N˵Q¨hÖåµµ.i?:\b%]ßÄçt\14\96­Òߤ\18qqBI?¼\85­\90æ\a\9f\ 5²¶\12ô\14\1e\ 5§I9|ˤ!|Ö\95$[ËDe*¡RbmÊÅp­²r*\11\8aCöRv¹p\94\88\8a\9a*\95\86\91©èþê\84RO\eè}C\1fò°T\e¥}¼\1eË÷Ò¼ \89\9dhBK\ 6ÇêÂcû"°¸±\83 \89.kQ)     ~\80ìBX`ª+>ø\ 5u\91üæde\91«åª\98\8bÏÇ× ¼\12O\881E\8cÚh§\13]D}¥)VXÚ$2\1d\84»R\89ÑVgnk\8dÎR´ÐCF©\ 2åjÑ8U=ùH\8dE\88·\88\11$'8É\88î¥ì\ 4ï\85\ e    YQÖ\ 5JÑÙ l®\97\9d\88\18ßZ\18P j.\10ý\80\9d\89\91üå\15
-\85Í\ 5«ó\1f\12!\9bä²ä\98\0Ç«ð-£\95/¥OÏñ\95\97$\96Mg¡õú¿\ 6ò8Ë\ 5'g\1dz\84£[\92\8a#\90 ºà.ÎT!=g ªr\ 4¬\98õùæãÍÝo?ßÝ<ÜÒR\9bgìg¥¡Æ\ 1"aýü\13W\8fÃÅê\0\1e@Üj\ 3å!Hp\1a\b»\H3¢[£JaÚÕº$\18\f\14ú}Ü\13\91<7õ÷+ç\9f"ßrV\94¨\ej3\8dïkº¹ß\9eÒ£05\18ç\12Gt\ 6ë\0,t+\îkô0xüɪR\15bX,4
-1:;" ÉZ[æ*É}¯õJ}§RQh\88q ä{ê\1eÒ\17k*EÕR-5ÔÇ|Ã\17Ø:¬\8f\0\1e\ 1HÖXèz\84n¤Bº\8f\`Ë-\95\14\83ÑXB\99áÉ稷íE&ÛÂÕJ\10ð\96Û\8e\99{.\8d|âfj{í\12#Âú1\13\ 4\rASèSî}f} \90\ 4íèë\ 12ÊÁâÕ_AMªB»\95á37\1e£Ê\82R     Î\9aor5òk\ 3\a)\10\80ñ~¨àûgB\960\12déEf\9aÊ#\v}aàz¯%dõ¢\8c®J\1c\15$².C\14@óÝZ\0?RÂÄ):«\ 5î\99\91A=\9b"\90Ï0\18\aQÓ¶\12%vðX*´HÅ\ 2|\16ja`\9d\1dJ\9c+p\95<˨©u\15Ñ%\9aQ$nÄ?ý\vÆØ\18P\1dÚ°d¦]\1e¬\ fc\0z
-ßJÑR%á\0Èø¹\82\8dá\7fô»4\88\18\84\19¢Z\8f3\7f\ e\1a\19J)îçÆÞ±\16g¡1\8d\82ë³\8a\97"AF\92\a³F½\9c\9c\0Þ%Ô\9e²ï\975'\8aÔÚ\1a¿u\13\14\17\1a\7fuèùÛéÑ|þxy}\1dÏç?1⯷\84M¸¾¡\ f÷^ÖwZ»\ fóyø²3\9dϹmÔSÇÑÊ,¹\90\9e$\88Ç\9aç©\7f
-\9e\16ð\8fÎFõ\82Õ\8e\12\7fÎu\98©Lrý&Ówò\ 2'êEúùâGZ ¦ëE/úV70\8b\16w 4\ 6¨D\7fe\90\¡`\ 2ÞfX¢¼mE\11»ÿ\11d\93\89¦\80Ä\ 2¹£\81nWâÆïÝ\15ÉʤYß~zT@«¢»PôQ\1cÑz0÷\ 5\10n\1e¾Åpa\f7\8e·³ÓÈ×\16C\9fsæ÷ÇW\83ôX#÷ç§\ fw\97ñ\1f]ah\\8f\a;\awðêxÆ \18Â*Ë\\0Q\8cC\f÷Ä¡/U\1a.P¼¯\8603\92\90é{r\7f·¤\0 O\18\18$fBó½\8bÊC0ÀF¥Ne\11R´|?Y'Ûó\14\7fe\1a\94ºvÁ²AGöî\f\9eÕÒÊâ\ 5\9d·\90pMÿ¤õ\1a\r\ 2Å\01¥Âõ\1aó:Cwy4_3êî\\10Mªábß\196°oQ\0| ñÒJõ{ ôÚû\ 1É®'\ 4<\1c\9c\18i\81¯]\ 1Ò×/{/PãyÉ ÷\7fò\fúyÂOùÚöqèoë2\ 2}\99âA\9ekÌz\18\80L\9c\88\9e\8cÆÕ \*l®jÌk$óìtÍnÃ\1d\81\ 1\ e-!Qø.#¿}qÐÙÍd\86\17¦\83\1d¼\1aíF{;üÒ\ 1\1d\9e\1cãj¢¿à|\8\92\86GÈúâ\8d×\93°ck\7f|ÈëÿÇ+\14õ^\9av÷w£ýÙ\ 1ÞÎpÖÞ\98³;\8f7~ßø\e4Z\99Ëendstream
-endobj
-1484 0 obj<</Type/Page/Parent 1367 0 R/Contents 1485 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1485 0 obj<</Filter/FlateDecode/Length 918       >>stream
+Ú²\ 6ËñøÇ\8b\8bÚèå   Æf¾     ,ñ×®À\9cÎrµ0׶G¼Pz\8eàáíAØ\17\1aÝ\bµÑ\16\15Z\ eÊ9h\84\9dGsú\ 6\9drO-<Ø\90\99Ë!}Ç\b\9eæÇ;$3\fr>^u3WÂè\ 3] Å%îÛh\82ÿÁô\ f£YÞüÕW\88r\8c$_~öä\84I\86¬Y\86-un:\15\ f­\85+\rF&ß\81·È\7fÿ\10\1c\ 5&:\89x{f\ 3Øw`>ç·Ya\r\84}\94õ\e4¹§=\8dO=\9fÉÿÂ\90\1a\ 1ç\19À\vûâ\ 6À\9f$\98Ë1ve\ 5ß78+\85\85äÚÁÌÆÔ\8f¿\9c\17\1ed'å_àz©-8Ó$`2é\11\a>µÇ\16 ¬H%]\19\9cØ\90tVX\93©2¡[\ 52\k\87\f!\ 5\ 6À¥\ 4¸²-±\11øfá³Ú,\98k\ f\141\17b'2\84#$V³©<kðĺ\8d ²å,\ e¤\86>Õ¶\9c\rz\ eP\16 `bÜàÞ/\83¶¬á1õz\¦X¸Ì¾,é¡k±*\ eº\ðP£\e!8عÀ§ D0תÄ[¾wÂ!Å\ 4®ë\13\91ôûálÉyÏßíÀÅ\1f¨d\9c\9a\ f÷\ 3×Ùn\12\19¤ø,v\9eâ³\18\7f\1eãïB\17·\97\17ô¡v¿0ñ]ï.Xrå\14ç\ 6ãIÒ?K©;é\9fóþOL\93ñ>)\ 3\1a\17\9cÌk2\93\8dð\1do2>\8b_¥F)Kø~vôãÑo\17ê\15\86endstream
+endobj
+1222 0 obj<</Type/Page/Parent 1119 0 R/Contents 1223 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 575 0 R>>endobj
+1223 0 obj<</Filter/FlateDecode/Length 2130      >>stream
+x\ 1¥X]sÛº\11}÷¯Ø·*\1d\89\96dY\1f·\9d\9b\8fz¦vÜH\9d´3~\81H\90DL\12\f\0JÑ¿ïY\0ThÝ;ÓÎt\928\16I\0»gÏ9»Ô÷«\19MñgF«9Ý,)­¯¦É\14WÎ?¾|ºZN\935Ý.øgM³ÛÛó§\8a¶Wó\9bErC·óU²ÄÝùí2\99ÆO|\17ûÐbµNæ´X¯ðû\1cÿ\8c¤üê~wuýqA³\19ír>{¹^Ñ.óçNi\97\8erm\8eÂd¤\1cé\86ð\89NºKÞí¾]M¦4\99Ý`Ç]6ú·î¨VEéH5iÕe\92\1f¸þ¸\8cû\8e¨\15Æ)Q\85Ëýq#ªtA¹ª¤¥£QÎÉ\86\84#A\99Üw\ 5Uò +²Ò\91Ó$,Õ]ZòÿóiBÏ\95\14VR¦\9b?8Þt\10\8b\95MF®\94$\e§\90#\9f±ï\1c>ê®(y¯B\1d¤\7f\8d\93?\90Y\1e\16\18\83üji­(¤õI^\7fLc\ e\93Ù,\99ÞÜP\9fòËüvJoó\89OLæËdÁ¨¼\8c\9eµµj_\9d^ÞÑCÎÈQ)p¶ T×m%\9d¤Fº\1aÀ:#RI/#Ê\8d®}0º\95\8dj\8a>¶Vµ\88Y\ fâ|yǧ\ f«Àû§¢\ 1d\11\81?&¿Þ={\80\19·£¬ªÿ?©\88¼+Uó\8aÓ\8cÌ»ª:Ñ^\82\eÈÌ9\91âVÁUÔiW£\b¾|\rÉZ¨*¡_ucU&\r(a\1d?È¥2\12Å\16Íe)\995\16\94\8ayïuvêñ\88UJh\87åVÔ{A¼?oX)\8bU\ 5°\ 2m¨ì
+ ÜÕ{\1c\89:·R\ 3ø1\82»D\ fq\9cHT\15J"3_¢Ö\9f\ 6T\rÙz\9f\80-9\82á\80\95\89\99R\ 6\8a¥N\9bÓ_\ 3\17.éræÂOºôª\98Ì\17Éf¹¢ÉÍ\ 6\9a\ 5_þ¦\8f\88\8b\1e¨\0çu\1eHù&«xH/ °¾ß\7f§\ 3µ|´\8d¨\19ÓZ\1f\90\89g\94ø\1d\8cÆ\11#.\0\10\94ÔVLBfÑ1\96\r\búX\1aèßSg ³O\1eàÒ¹ö\97ëk\8fyâë\90hS\8c)­TúÊ\96\11\ 2\92 \8a\b/1\11øÙ\9c\9f
+ØÝ\9eíbÛµ­6\9e\ e?ÝiDÿeÝP\v[O ðJ8`ð\ 6ÄpX\8fá(¡Ï £4¥h-¤#©\94Æû×\0Ý¡ÝP«9\93è\12½&\19\0\88ìÕ3ZC\ e=þã\0¨\ 2±¾uxÆßÉ¥1\b+òZìQ(\8ej\80®È2 fa ]\ 3\7f´`\1d¬±5:å\ f\8eõ £Õ(ÜQ\9c\92$       \860p¬U²\9eÑf\1eÍh\ eª\85Ô74\83Éç Ï:\99màâ Ñ\9a ø^\ 3¨\86\8c®¼Û\7fUM¦\8f\966?®\1f?¼En>OæÓ\19vÙÀ\18}\e`-溪ô\91\10\86\ 2\ 3Øe±m4ðèµÚ¨B5¢¢÷\9f\1fï\1e\9e\12\a\eæN\80\14åAéÎÂSb/Éè¨\I¾¢\97$|ä\9e\10·¬Qj\83&CÊÒ\1eÝ!cú\1d\196Oç\81\8dè×\90I¯Ä\11m[\99òÒ\ f\99â\98ÇôOË)ø3ßf=\1aÓþD_TZ¢-ò­7¬ÃÅVú 'gxP\86\0Ï\1dÔí\ 1f\1e\v:jóZ\18ݵ\ 4q\90ü!R\87¤Ïjd\87-¼ßHS[N\12½\82×ÐÞ "¸\19Ì/S9è$\eH\17\89{\9a\b\8ek@¦\fä4
+MPì\81°èp\ 6zc*|y2\81ËÜL±ZX«\81\ 3KÆcÎ&Î\11\8f=\17PÐ.4T\90\9e\89Þcc`       ÝUV\8f\7fsx\88\ fò\bKPù\12\ 6Í\9d
+b(\f|?h¡³ÒÀî½ï\9dÈvþñÐ^\ 61#\81\82éä\a\85\80'Z<J\8dÕ\ai.N\7f\19=íâ\1do\1f\1a¹ÃÎOÖI\80z¦ÉÏ\87\1e\0©ì\98Ûf¦1\9e\80D<q¸À\bÚ=}¢F\1f_Þõ|<Û0\14°}¼gcc\vE``9\9a\ 67£Xÿ\12Û"{ù\ 3¬s¡
+¾n\18x\fzN\bÑg\13ûM¿Ð\96º«À\1d Ó^6Ë3q\ 6X±üT\83Î\fmà÷\84\9e.(Dy×x\95\8aJ9ßîB\88\1c\1f8Ð3\14UÁß,°ÆOq\ 3\93¸\8dl*Ô%ØÒý\97Ï_·\ fO\9fX×     =8\8a\91£à\8dF¹Ç\81¨=\93=sµC÷E\fÆ\95\O¨\11\98ÅÒ\86¢\¢ý`m\87âô.\1fí\94¥QÉIXÙk¦Ö\19\86I\16\1aÄ\90v\96íÁ÷rD\1e\8d*\89Å\8d\fàÊ3÷/\bå·\ 5\8dc\80©Q­cÂ\0\fæ1[u\98lyf~ÜRo¤üq\80+??¸»ùW´Ù\ 1¾\81K\98ßJ\98\ et\89N\ 2\18¹Ü9&,ï\fLÖs\1a\9e\92_!vfÛ\80\96\9eRGeK`x\86\1a\83>ª"²\94Ùnäw\0\f±rÔ¢/\86gf0\9f\\19\e\9eM/\802²E51>°)Iú¦÷\ 1\9d\ 3¨\ 6ÏÁ\99
+·0\ 5ZÀÁ ±PØ®Y\ 5è¯0ØFÙ0\f\87n.²Zá\12fe\f\\18wìÅ\89l
\90Ì<ã\80\b:5\8fß<Xó\e\80W\97u]«2\fäÈ85\12Ç\r°àÖï£õ%\1c:#X\v\ e\83?\19ÀwG)/y\11Ü\a\fP\89Lx\ f\f\93lë0?\b\fo2§\9fe\8f\86\ 4\91e\88É)\9f:\96ÔVV\av\eÆ\ 5×SÕB·¡\vô\ 5cÜÕeæ\19f=$\ f`°ºÄ\18\ 1\96¾w
+©öÍ\ 2Í\96_4\18\95´Ò8\96»íAãôèüÑ\ 6.\15\17Ú"BE¿È\ 1\1eú\81õ\ 3\ e»y-^ýøh¢ýYF\徧ab\ eJ9(á\11\ e%\r¨ý),í\89n:ðó¢¶{á@~?!\1c\99Ð\1eà°c\94}/HV\14F\96¦\ 2\89ù1\9c\8c\99"¶HÔ'\93öÕi4]<\a¾\18\9eå\9aðJ\vÑõª¹\ fï3\95\80?ÆF\1cÏá×\0UtÀ:¸+`ï¼\85ríñ\ 2\f¡²\85A­ ^¥5\8f\84h\1f¾*g\17ðãT\84é"S\8c¢lØ`A@ì\17¾\8f¯\ 4Î¡í ¦Ø_ÎJåA1Æ÷ð<\10p?FÆ\11Év{À\14ÃT\rT ¸%üÝ÷Ï(ö@0äq\11\17Þ*ý«\1c å5÷\ f\9f·ä_4Â\ 4÷çYú\17n\93ÃÛ\958I\13\8c"\ 6\9c\96\1al\v\8e\10¼\ 3\ 4jÁ]?ÿâ\1dûü~=Kâ´º\8eo\ 5³\ 5¾´XßÐr\89¯8\96·<¯nï\1eïïèÙèoÐ\18½\8fï\9b¾0\1cüd\86GyÉd5Ýü¯óíbµHVË5¾\8bÁ\ 1\8b\ 5ïóawõ\8f«ÿ\0`ѵìendstream
+endobj
+1224 0 obj<</Type/Page/Parent 1119 0 R/Contents 1225 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1225 0 obj<</Filter/FlateDecode/Length 1932      >>stream
+x\ 1\95XkoÛÈ\15ýî_qᶨ\ 2È\8c$Ëz\14(
+?·\ 6Ö\8e\e\16Ð\97\119´&&9Z\ e\19Eÿ¾çÞáÐ\12­E°        \ 2\88¯û<çÜ;ùýdH\ 3ü\1dÒtDç\13\8aó\93A4 ñ|\18\8di<\9bâ÷\bÿJM©<¸\98FÓîý«ÅÉÇ»1\r\87´HÙÆd6¥EB°3\18Ð"î\99
+ßÇÚ|×®OÛµ\89×\14Û¢R¦pT­5=êêêþÓ3\15*×dS¹\97Ù\17[\90Óåw]Re©v\9aL!\8fR[æªâ\17\97øó|ûù¿·\9f£\ f\8bo'g\ 3:\e\9eG#8ï-`7Î\8c.*þ¦`\87\85\8e+8´¸\81Ͻé>Á\91#¸Zö\12«\1d©\82\9e\1f®\9cvNWõæ·å\aÜI\8e\99ÐìqÏáýÓõ_É­\15*µìÕÎ\14/\8d­
+®aÇG\88\1a\85\bG\11±    Ü9\eMPì#Aû\88¸>__]¥¾ æ_¥.¥þ½Ö®
+Õ,uU\1a\8dòJ}öË\88²\95\7fw\9c¤-:\ 1»¸4\9bê]Xç?\ fë°\96Ò?\1f\96O\9f\væ´*ã5\ 2\10\94áÂ&dR\ 2\16p\91Ú\1a\97|+FÁW\1aøPI¿\13 Þ\v\89ùwõ\ f\1d×\95Nhµ\93D}\7f#ºL+\ 6      ¼ô÷îSb\\eiZÚ\\9e¡\96{±¾Ë~üóì\9d.\12¤Ã]á\86ü¢«û"µ\bUZâñ¥[x\ 1n!        ñß4dm\ 1u)WÓÃ÷¹ãM\0Ï6¥\94BnJ\9b\9a\88\9eM\11k1Xj·±\ 5Ø!À\96f\1c\vK TØ*0\8fò:^w\9cæ\16àeB\1e 2¸\96\9abþ[C/G\ f_\9e\17\99¤¥(\e É11 ~eË][ê\0ö\8b·R\9fÏ£É1ü·íkr{\17\97\83µ6ü&dàÃ1쪺\84Þغêâlgk\81¡Ûèؤ\1eZG<qÏ¥cÂ/ÆîFUë\88î\80pýCå\9bL÷E\91\90;Dk¹LK\9d,\97Q\eÆ}ÊõÞ\17)®u[XV\ eá\85\80xG|mØj\ e\11ÓÉ»úM~^¿£\fx\97Z_ª\886\1dHä1ZwãϬ}õ\14¿þôxwÿKôôéWOÁ\8dÍLl\98ÿÀkD÷,êàs ~¿Ñ\ 1¦½W\86#\89\ 6¡\9cúD?ÞÍi\b\99\97\17t6\1e{Ì\Û"5/u©*\ 3\15¿/\UÖ1ÿvÿ`\8anmùJÂxÇÑ¿Í)H÷\88Ç\94L\8a\1c³\bz\91¦ºÔL¬\15\98\1a\8a\9en®%@E\0}b·\8eæ?¼\9c6\14gBí\ 5\80\fy¼°/LÂVÙ\9f\94s\b%!\98/w\e\89\15¯2!Y8@\92D\98õ\87n¤ý\1fïâfÊ\9e\19\ fnÄ¿\1cM¦2IÞr\93\87í(|\vüãÃmËÚÄ\8a÷\8dŤs\8er\15¯M\ 1ú\97µ«HÅ1\14ºr\7fÊëÙh\16\rço9c\ 4\97\1aú\ fZ(zVùÊWsk²\8cTæ,¼À\13Óê-Â\83Ò6Þ/\9a\9cG£h4ài\89ôÎeÈ;Ì\83ÒT;Ê-´\87)\99+dz`U¢Sºì´\¨7\89\ 6\93\8b¦ï`\18³LQª·ècÎL\93\r!W¯¢eè\98_?*\ 3\90\ 6ê!·<\ 5"\92\1ci\8d,V\8c\17\16UJôJUXd \ 2\f\83½\1d\81ùn\9c«eËÙ®5®K\82|0\fü`´¯¬ã\ 1Rº)\9b\14éÆ
+J\81÷ª´Y\86/\81Ù\83
+@ÝØb\97¥ÀcÑ\0\ 4{\9e,i½/X\9b\ eùÐ\93d°      e»C«ÍÆ&mã@\85Q    r`QÖñº0±Ê\80båÀ9f¸·Ûºzþ÷åçÛ\8e/i\18ßÛ+NH%°½5póéáòþ±k\81»Ýõ$«`÷EÁF0Îñ!Ô\fI~\13 ÓwU\1a¯\1d\90\ f¬~2ü(Ã6\95µu\10 ²`4{Úe\Õl\83µ\ e\ 6}KñCP\1dg\80\aì\ 322¿¹é\ 1\12\ 5\8ayÐuO\8b\9c\16$¯ú6{ wJÔÀZ\94Â\0©Ü\8a\97Ò\ 2\980[\90Ýh\96AÞ<\99U7×\11}]C\7f\19[¹BD¡[\88\ eÞ\98úf\85Ç\a\88S\1d\9f~\9a±EÇà^ö\94l[H¿ïiæ7Ý\84\12\1f¸¬\9ap\ f^A|y      CDq\ 5\97A_+JkÜa\89^~\b\93\80\91Õuýb-vÆD+\8eÐÙ\88þ\87IíÖ¶Î\1241×ù\8aÉÉË<\17\ eB-u,õ\v\13Ü\14ìüe¸:8d0Ô\8d\88Ãþ4F\ 3Ù\8e\8cw\fIY3\832ùUS´!³1ÓÛ»D\85\9b±\10ÞhtÕçýR\e·n§      >é\14·\19.bëáÊï\12\ 2)O§P\1c\8e¶Æ/yoâÀ\9fy\0±\1d\1fý\rÌ4N\ 2Z\1fí\96V*\16eáOZ\ 5
+\96¤\83o\96Pl¤\ f\0     sDR¸Ê\ 5\9d¶,ú§°äT\ 6{£í\9dÌÖ\16\90FE\83\ fÏ\ 5±\8bV³î1×\1apA\ 2\91\ 1ä¬ÕÛï*3       \97\99·\15\877\1eðÍ\9aí7ý\ 2Èîøe\16\93E\80!\82íý\85 \a#\\85¢Ù\r\96=¾:Ý\84\ 1íC:ÅÁïµàq/K±Zaoô±H%ðIǯï\ 3g\1dÑ|þ·p\8c­L\8eñ'-õQ\84º¨À\17äÖèyDÜ©ý*xBË$òìê8=\906¿x\9d\9ap\8aý´Ä\89\9a©\10\ 4\ 6\87Z\91\7fï°\1d0ü¸\bQ-{rNïøS\19/l;\99wG\12èSi^ÖÕ¿\96\1fø;¦V\80à"¬\ 2-\1eö1·²?\82b5KP£%ÒÂà\14\87¾D§¦0\82\ 3\1e¹~\9fà\8e»WØë\ 4+'O\88#\14®\99Ó~\17áu¿\11\11\95mÕn\ f£\ 2\8c\96QàA£É U«¹>´f5\995ót\88mt6\eÑ\ 4'\99Á\ÖÊçË\87«Kz*í7 \97nl\óv!\93Fª3\9càÿVfçt6\1dÌy\1d¹>X#\7f¶Ç\8e§ãh:\99ù\rp|Á\16o\17'ÿ9ù?ø·¼\9aendstream
+endobj
+1226 0 obj<</Type/Page/Parent 1119 0 R/Contents 1227 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1227 0 obj<</Filter/FlateDecode/Length 1471      >>stream
+x\ 1\9dWk\8fÓF\14ý¾¿â\82´b\91\12\93×&Y¤~`)´H4¥\10ÔV\ 4¡\89=N\86µ=Á\1e\13öß÷Ü;\1e\94vÅ®vå$wîó\9cs'_Î\864Àï\90f#\1aO)ÎÏ\ 6Ñ\80.\87ÃhL\93ù\fÏ#ü\95\9aR|0\9fÓá_¹Á\8b\ 1MÆóÖt8\8efÁv\0·Qø×Ø\8eÇ\93hr?·£Á<ºlLÿÏíp0kmÛl¯\97gO^^ÑpBË\14\ 5NçxH$¥\ 1\8bç¶Hͦ.\953¶ WEåÊ:æçê)½ÓÎ\99bCõ\8eÞZ\95óãûJ\97ô¦´©Étõxù\19¾§4\1c²ïÑ(\1a\r\86Ô\1fÍ£Éx\84 \17\8bß\97/\1ex£IctÑzÚ5N¨ªw;[:2\15%&Mu©\vG©-éOS\ýEªHøi±\8cØS¿\8d2\8bæ>ʵ\86±ÆÙ*®«\8a\93ÜÚ=9KqS\9a¦²É>Äì\91\91xu¥Ó:cÛJk9Ö\89Iqf\90\8eT: >\ 6 \85\99|\97é\9cót[]\ 1\13Z¹ºÔ\95¤\b»Ñ\14ãE\ 3¼·Æ\a\14E\ví¸\8b¿h÷ªH-`ò¥Ö\15<Yv\ 6£ò+Z\8cW\e-î     I\96\8f*
+¹Sfc\19VD¿Ú½\86q\8f\ frs\8e2D2;Ì\10m±º¢Â:Úª¯Ü\b\9bKo\15\ 2í\14¦®O\1dSjt\96ôÈ\16Ù­äÔd°µ9òÛªRG´Üb\¹VE\ 5\vå:Ñ}ÝmÆ8\812\81,\13;\9dpmkÍs2Å\89ûÄ\94:v¶¼ý\97V.\96a\1cG­|÷ì·×v\ 3è¾}ó<ô²Gû­\89·\f\0§\fRÌUq뫪0ú"Îê\84ã\1f5AJæÎt*á\91\84\86\93M\8fó\rå\9d4£E4\838XÝ\ fÞÂTa\13£\bDjP\94Ø}E¨ÿ\ e[9Õ'/\ 3³\8e\ 4\9e\eR      sBÛ¸v©àÃ&³k\95}D\1f\85ë\Y\95¯#f\fÞó¸Km\96Ù=÷iuÁ\95èo\8aa¿züÔ\a\1eÐ\15Ó~(lï\8f.\ 3\1f3\19ÇN¹-ýD+ü\84\16\b²\ f/\19Hí+6_­Î߯V9ÈÜ\9cà7ï\16Ù\ fÑfAc\96\18P¢SUg^4\1c\ 3ÓîDÍðÄñÏ\17ÞsãµG\85Ê5 Í\9fU*_+ϹÕ\8a\9fµYñhµØ-ÎÙ\azS~5q\97l\88\13\97\90\0`[ÕÎæ g¬2DX{þ|`æTÜm9\1dÑ«\94nmMÌ\8bZ\14\vHäDÄ\ 2ìçv3òBçzbþ)¯+÷©\ 3Ð\Ýh±\15bRµÓ±\ 1\98\930ê£i¬K H«u¦\85\§Jú!»\893\1aMU½¹\9aR\9föÐDV\r\96V\v¡áú8'xÈA1¼ÁÊ,Ø\f\1a\17«\ 2l3Â;\18\ 3PE\ 31¯o\9dìÛÎ0\188åµv{­\vpn\ 3âúþß5â&\106\v\17]zé_s\e\92\1f/'bðD\1f=|°þ\84T\87íq\15Ð\1a
+À¦ù\11ráXSº\9f\91d\87dd$\ f}óyú\ f\91O       h9]FôNf½U,Ì{\94\8czSó\r\ 5\ 3\94£\87\85îJ*|>ñ\8eøÌÞ\967\15ÁÁ^gYOv¤qØ\ 3Öö \82ØYà\80§úwrhæ\10\16Õõm\ 3DFÝ!ëCÒ¾ºS!ßÕþ\8a\80\15\ 1¯\ 1|L(¬.Y\1c\1e\96éuíh¯\8c{Àdc\14 0â]q#¨gDÁOK\9aSyú\ fQ\ 3ËÊ\83²1.î%^\92°\17¯ó×^<¢P\9bGTPÝSAB\a\vN<Ü_\ 23ö&Ë(©\9dÁ\8d\ 3Ò\80Æ1FL\19ðÃ=\83\0Ôë¶Q¬Êâènÿ\88µE'\1d&µùA­Ý¶æ\9dwÃÚ\8d\189mM\92èbõ¸»T\17¸\174[^\ 1>käô\bÐã~\vØ\1e\91d­2\0\93!\a\13\1d+|Ê©©píáÌeþ\98\91\ 3ürh\ 5f\88\95{(¥ru\9avR¶©ß§|-jVk§RàM      ¸%IÄåÛF{Gâ\9b¡W=¾?âÊÊr\ 1ö\18\ e0¶àHf \8fèb'öA'eCÈ\90Ev\8fù"íúÞJ>¾\9aÞS:þ\86æ3\9cÃr\ e\90\92Àk\8b\85éiÔ^y[l`\91\0÷r\19\17;îÂq¦Ò$ÿF§P\96Á#ñ\81¤¾<ìò\86\fóF\1e\87S|Ï\99\8fiz9\8f¦\97ØîÉ\ 5®W×ÏøÂÿ\192N?Û¸æk¯Ü?9P?\1céÏ\ 6b\7fGC\7fàëÄd6\89fS|½âà\93)Çx±<ûãì\1f\8b\9b^¬endstream
+endobj
+1228 0 obj<</Type/Page/Parent 1119 0 R/Contents 1229 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1229 0 obj<</Filter/FlateDecode/Length 1910      >>stream
+x\ 1\9dXkoÛ8\16ý\9e_qa`à\16°\15ÛyØ)P,úØ\ 2ÅN\1f»u03\18\17\ 3Z¢m6\12©!©¸\ 1æÇ﹤(y\94¶Xl\8b¦IDÞǹ÷\9e{ä?Ïæ4Ãß9-\17tqMyu6ËV+ê¿Ø=~\98Ñõò"»¢ËÕ\12ß/.ñ­\95´ÃÙ\19nw_ÒÙ\8b«l\99Îâ|8úr}vþfF7´ÞÑ<»¼XÐ5\8c]]¯h]\ 4\133ZçOJ³7\9a\ e¦\92ô\9c6øóÓÏøw»Ùdµ5;UJ÷týålFÓ9"ÄÍöB-üáäB:ËWùüù\9bK\9aÏÙób\96-¯ohºXe«ë+6ð\96\ eâ^\926\9eò\83ÌïdAÇ\83ð4ÖÒSã$\9ds4c*\8ct\84ØÞ¯ñ\j\1aõ¡\8eH9r8.\1c\89­¹\97YtzÓ:\9d.\16Ùb6\87×\9bl\85Äáõ\17¥\vsttó+}\8c\89Ñ'é\9búïÑ"ÏÅuv\19.°OÁ\ 1YÚ)ë<Á¿#¥9¦ÞÚ\84ü\ 1\85\ 1PáhöúÅ\9a\83Ë­\14^\16\93\10!\97Ã\94\85´\8eF\9f¼°\9eÞIÝ\8c&    Ù\8b,\848z-Ý\9d7õhB#ĸ·¢r#\12º Ñ{é\ fÆ\14£\8cÖ\a       \88
+eeî\8dU\80\88\ f \ 6e)7ÚKí\1d\1dUYÒVR%í\9eáU(\16\87Y\9a\\94\ 3¯÷\bK\19\r<a\ f\87\91`þl³9F¼6\9b¾´\f\85\16h\14\0à\9a­\93\7f6ðÆ°(í\80\83¸Sz\1füT\ 6p!B~¼³¦")òCF¿\99fà<\ 4ª%Üz\13jÏQþ¾/ÍV\94\9fÉÔ>D6ª-\92¶h\9a\ ùçô \1d\83ä\ e\ 6X~ëaD-\9cvR;å\15.?\1f\ 6}\84rZT\86ýWBi\8f\7fðR+/J*¥÷\4ü*¸Ê\e`\8b\1f\84~ ³\v\99¶è¤ú\86><i"T«o\8bÐ$\#ø@ÙP"Î\96Q\1d;Îb'­Ô¹t\19½ÝÑ\83iP7\87º\19\92zgl.Ñ\8dÜóð|rx\ 2\9cCQ`KÙA\86l;tdp\1d!¶Ù»\17ïÑ\97è\9aB"\11Ü«èh\95\87ý\1cÞ\1d\aô0_
+       \81¦º±ø CÔÝ\0\\ 1¶ü ´\9cÐ\1e÷\f½B\82Ö\94ôQhYÒ_øß¹#0\8e\8dêd\89Æ\r&n\11\\9aE8\15Û\f\13ÉO\aI0H\16½\86\96/P\92{X\ 5\ 4Ö\88\8aÛí\ 4\8a\fÖ8þ\ fÿ\9aжñ \10ú\ 3\aCm\8eÁgnªºAM9P+·Æø\90à\14\5o§p\9e\11\a\80ßüÿ9c\\91ò\1d²\7fUª0\ 4ÆÒ;\95[ãÌÎSûØÑ_ìiÊäÚ:G\ 2}\17D4hü³ÙóÈ!dPákÃm:\ eD 'h\r×\80^<\13(\ 3õѪJØ\aÂ\1d\A\11Ç}\ 4\ 3\\1fÇ\ 3«=\82\91V`Á+\8cüÿ\ 4a¢ÎE\84pº¸¢éÕ"®\8d[ÍSַͤ/½@\ 2àf]\1aQ Ä\810\1eåÒ\rEX\1e\8f\1e\83g\aé\9d$Nï±"0n   ÷q íØÈ\89ÞÂ@\80Ê\98Ûr«jß\91è04L¦M\16?1+Ù4õ©\8aíø~7R\1a'\1cB\99¾\19N¢ð!(\81ÂÓÌÑt\90´ ­ÂVÜ3ÃÄ\86\0ßä\12Ùümdâb\9f\90\8a<#Ü\1dVEÊ"U\11l\1d\18\9e\1dÖAße\8f[\87\e\ e̸5_Ã\16
+\f÷;ÓÏ\84ê\96\0&(2÷îgP¨óR\14\1cÓ\97Æ\rç}pí3Zý¡\96Ì»\u'ª-ó ã\ eÚ\8c&)0àæ   ¦,p3\ eÚôè\ eá\87á\91_\95ó\91\19¶RX\18\1c\80\a>9É\91\83ïz@40©½Êy©\9fà\8bñh#àqéziØ2
+~\81u\98Òx~àºm¼\90\15vk]c±aÕøÍÓIX\101AöÁañºhA\1d\16í\ 3ª\1dp
\1f \8f\12:Æ5\81ÚwMY>н(U\11Õ  #\9azñ¦£ò\98¶â­S\85E\14\ 2\1f¯q¸3\vb}\9c\ 3\8b\r\fÐVâ&\14\1cÇ\8bÞrÁFÛki§9Ö\80ì>%Ô3ß?Ú=@cìùñw3<\89;\8f,\vv\87\1ejjÄß
+\9e"*ªI\88\0;¼)\vÖEb\v¹\ 6>\95_y\89Ä8:ñ\84®D\\83ä\92àz WË\í\142m;²Õ¥¬\88G\81§\a]\1a`@·ª\1d\96§OµÞ\8f$áÇoëÀ¤7¢\94\ e%n\15ç\10.\14\r\92)ÉÏÄ*9v62\bd\82\8eàí\82¨#\8cQ\e4uh\91(½S\9d¢\ 4\1dm\9e´õd\92Óc\ fF*\86\98áV\85-+\8a©Ñp²\rZCÓ³éæiÐ\82±Ízf        \13Ò¶XÌ\ 6\1a¤±0\ 3\ 5ÞêgLx\90bSÖbLã-\9e1ôAÑB¶A\ 3\87ô\92Vë*}2¦]Çt\ fc\e¤\99î\14÷\ 3V!çÔ\81ö-M\9d\80<\91ÄZ\1e%(9åÁ£Ñ'Ò\8bdVxÃ\12¾\8d,\1dÖ      Ã\1c\92I\86Î\83Ls'8·Å<%ÊvßEM\89\87\8c\94Ö\1ahÛnÛ\1e\ 6ðµÂ\8e»#ò\13\aÍß5 30\vo\1a\bäª\ 6Ua\98z ã\8eâÓÜ8VV\ 6â²E?£\97Â\81GADÝþáÌ\ 6¾\99ÆÛ\b­d6D·Æ\ 6"\ 4\9aöß$¾A\ 67·Z}\8dïaµ´\95rñ¥\86\83\0ÿCÅ\1fTMVí\ f\b¶E¨\8dhà¹\9fôÔ
+\93\14Ò\1f\15        \86A0Uû\16È*5Ðfë\ f\85È\85\ 64,èÓt\81Ö#r-ká\b¦4@\8d\12ÛJèØàøüͪ}Õ\9d\ 3\82Õ\ 5>.\98\v~qýôâÝË\17¬®¾°Ò~mò¦Âê\12ü*Å©NÓ\8dér\86Ï\ 6\8a\8cÞ©}cà       z\8bÝl\9b<¼x=ãWd\1fâ¯é?­à¾å½\bëüv\104×åò\12¯øø\ 4\83\8d].ÙÇ?×gÿ>û/¥3\92
+endstream
+endobj
+1230 0 obj<</Type/Page/Parent 1119 0 R/Contents 1231 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1231 0 obj<</Filter/FlateDecode/Length 1889      >>stream
+x\ 1\95WaOÛH\10ýίXE:\1dH\89IBH\ 2÷\89R¸¢\ 3\8eks\87N¤B\e{\13/±½é®\9d\90\7f\7fofíÄ1ýr­ª\86`ï̼÷æÍì\8f£\9eèâoO\8cúâl(Âô¨\etÅYw\18\fÅ`<Âç>þY%æG\9f&G§·\ 3Ñë\89É\1c¯\fÇ#1\89\ 4\1eïvÅ$<~\8eU&òX;Q8eñ  ?fê=\17\89Y8¡³6}µ\15\e\9d$b¦Dn\92\bßÈÜ\7f-\11\ 2\ f.t¶À³¢57|\84\98këð\88NU+8\99¼\1d!ÇN\7f\18\f\10úXg.W2\12f^\7fµÈ"\1f^¼P"m±\92Îm\8c\8dÚ"2©ÔÙw\11i\89\8dUΠ   åB¹R|z\aÅ¡\98è¸\17\b\8a\86\1f;½³ O_Ù\82ÊSÀb¡"\9d\aê]á\0³°2m\v\99EÈÁ,\91û%½ØÝgùå\8f\9b\7f_ïÿ¼¾º\7f}¸ºþr÷x3\9d>ë,2\e7\9d^\17Öª,ÿGY§M6\9d>Y3×\89º×.o\1c³5\85Çn\8ew\11Oà5»m\v\ 2JÉ0fÔÛ\84EyÆ\93Ìã@<\9a\1cX#íÐd9^qô\ 4³´\ 4\19ÓãD/U²\ 5\eà\84"v\90yUqx9\9dnªLQ*e\86\9c       ÕL¦jzÂ\94f"R\89*£Ð¡µø\9c\9d\aíG¡­\8a8K\86º\86ÐËÍ»f\19\10¶¨Ün\ 5!lì÷\1d)\17}Oyßórz;,uÈ\fuÏ¡VPô|õõñîñwªc¯ÔcÑAm\80IùDIa\1f\ 1Á/\91_\88 [\91 \a¤
+\19Òsõr¦Ç\f\1d4ÞÄíÿÁ&Ý\92ÎN\85&2\80Y,×
+¤n\85NWÆæ2Ë¡| -\1c2B.\86\16%¸enV\ 2¬ë¬\94\17\13.\976\17©Ê\8a ÎÌ!ÿõr\ f\v\92\10\92b&Ãe±¢\f)/V\r\\80\92j\84¥ÖÍ\94\8aT4=iR;!?à\96ç
+       O5\9f\ 3g:ЪԬ+:\12\13Ê\ 4\82´èè\8eÉ ÉXG\11<ÄmÁFÊ\91§'^?\9f¯&%;Ú6\92)eºg\13½\89\f\14L\aÿS|\1f¨U\ 2Ùj\8bV¦òØ\98\88>îÁkqO·p\1eu¸kAÊ \8cÅí$9ºð¾p¶·\8aJ¥NI\8b\8e¬<\8c\1aæW'\82§çû\9d\19uBô,ÕN\88VR«5ÜA\ 1hø²Çà;TðΧ\ 6ûà\95
+àl\0\97u\ 5äÙgÄŹ\b\13\8dö?|ûüãÛa¬BÖfÃ0Øë8×\15|\ 5<9¥D\v± Lú¦EÊ\f­\9eA¬rfÖì\ eä\8a5s \1c\ 2âÎ4Yãß<\=z4긵ÅO\ 4i\95w\93]5UíC_P§\7f.:g\17Þ\14î `°¯\12\aùJ\9d¸6à\ e!3üìd:\93 &R³bACD$j\8d\1fæ\e\ 5ý\9d±\10z]oò§Ôy4
+$Ê\ e\97
+¾ee¸\9b\ 4\r\ 22 Ý\85«¨H¹k!¶Ôd4=jS\83*¦.SÖÒñ\8a<À+­f\93(\84\86\80·\8a0¤Ñ\ 5ÛÆ$x\9c\b »¦Y\a\81g\0\91f¦Cnè_kdJ:+\eÃq5\\ 52aþ0\12¼ÓíÎa\k\8eö \97\83\821i0wÞél?_èó
+R®£â(êZÃ\19 D¨f\17À\97N\12Ú\94\e@\ 3¸HÃ%0\19Q¥ \7fá×Ù=ÀüZ&\90²'ÏÃÏ        \9fÞ^ì\96\93N\7fì\aF9i)ô³±Kôw\8eA+\ 6A\97"î§D\rg^d¤ßb<\94\80\896\18\86[üüD\86¾\ 2\19ÑvZ\87ÿ\91Ø0P\ 21\81ý\94<4ê%SâÄBð\89í(3\eáV*Ôs\rðòØ\9ab\11³}\1dôÜJÂ\9b0{-\ 3Ðï\aý.6\96þ(\18\9fñÎò\92,ÃDôº²X\\8c0\a5à¢\ 3¡\8d¼2^îg\bi\8a\ f\1d/¦é46)Íû2cÏY¤]\88î¦\99T.o(\90ÛªQÑL\85\12 \94\83d\81\ 2`\ 68\8auKkX\8e\7fÞ\911\9a2\8c\ 4â\ 5y\10Ë/\1cú»p1\93\1fk´Qd \85×Ìä¯ð2ãx[©i\14ûTF\1cÍ\94o["\80:\1aA\82}ßà|î\9f\8fÅþr_«t\13£B¯\0\94G\19Ñq´ô4ª,©\15skÒ\8f\99\97ûËG^ \ 4\9c\8f£©©J
+=\9eø\8e¸\97k8\95\9c¡\9fÈ\1a\bǪ\81\9eÊ=ì²rßÈê5\96c\88\vïºØ\14Ø«¡ j\7f\8a/[\8d\9cK¯1(\vû\ 4½]¶ãî]Äãõ\aļ\15\99gf×\81\99ÚT¡\89¥Ö¾\82Ê6ªý\1cUú-u7  Ñ\85輪\a<\0¯»Åë\15¥ç\80\84Æ\8co\16<\1f«\ 4¾\89!SÖM\9b\rI\85hÁåAî\ae£LB7q¦ê>\ f Ä\14þü\rÆ\85]\986n\1f\86ÈmÃ\8ah\14C2å%\ 4£§\80\8f²^6VcÃ])\9bjGï\11´\9e{f}^$I#|\99/ÐáqI£\90tä·\88½\9f\1d¦\83\ 5çcËιuª«\92\ fK)\94+\19\9dÐ\88½C\94;SáæCác\\95\ eÒ\86ªR\99\15\98\8e[f¨v\8d`¶%äD\8b\13ÍõU\1e0\9c\18\9e B¹"\85jf\85\87§\11\9e\15íÐä\8aþ\86'\b¢\8aD\ f
\v¥Î,®B\8aÅþF\80c^â:\0úHú\9b\8bsÜÛ
+º/2~H8\83lÑè \v®\0\8dð2Ǿ¸bõ7(:\88\7fÉ9B
+´ícÐ\10\9e\8c\03\16\1a\19¤ö[Åóá×¾µOoÇÕ=d\88»òøL\f\87Ý`0<§ÛÈ·«\87OWt}x£}÷³        \81\19\\8fÄK\19wzå+\9d\82\9e¿6Ù\/
\aÁ\1d.·¶àÞs\97â[iØ\18è_Ë\81þ7\19\ 6tà`4\bFñ¿À\ eÆôÕÍä诣ÿ\0\7fr3­endstream
+endobj
+1232 0 obj<</Type/Page/Parent 1119 0 R/Contents 1233 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1233 0 obj<</Filter/FlateDecode/Length 1881      >>stream
+x\ 1}WkoÛF\10üî_±\10P4\ 1,Z\92e[
+\90\ fN\9d \ 6\8dU\ 4EU\18'òd±"ïØ»cdýûÎî\91´Â<\12ø!ët»;;3»üïdL#ü\1fÓÕ\84Î/)-OFÉ\88Îç\97É\98¦³+ü>Á\97Ó´\89o\8c§É¼ÿÆ»åÉÙ\87)\8dÇ´Üà®ËÙ\15-3Â=£\11-ÓW·\86ÂVSåì&/4e¹Ói°îpJ\8b%¥N« =\95\96cØ"ÓÎã¸24¿Hè6t\a\ 6×UUä©
+¹5t£\82\1a\902\19Y\íü))O{]\14øùzùïÉ\88\86ãód\824^\rn´ß\ 5[\rNi°ÐakmÆ¿>\ 4å\ 2ÝiSÇ{\ 6÷Î>9UúABË£lóàu±¡Ü\93GÎ:£Ü\90")d±¬½vÉÍõ2éÅ\ «Ü<\91ª*­¸\1eKk}t\ 1Ã\91Üß<\1ccÁÅ \18Uµ«¬×\1c\9dÓ&\14\aªÍÎؽiãL.\93)×ö\97­)\ 5TÈC ~8ø KúÅ\9aàlA÷Êè\82\83§¶: ë¦ªèú\80C\16\7fôª\ã»v\9fµ£Õ+¯5·åW]T\ 4 \9b¦ù7È­W$\12T\85ÇåªRkôÕn\0\8bã²ëJ²I-ÒO\83\84\95®\ 1:®ü\9bYn¬£\83­W¯#üm
+\ 24\87é\ 5/\81\v\88 T     §Q%G~i \97ݼº»^P¨\1d\ e«¶\1etQ\8a/\81ºb.¢V-èN&Éd4¦áä*\99\9d\v\81þ.viAã\91ª\9fæW4¤\9c\8c\r\88«ÀX}²nçC$f\0\aAææÍ<p\e3t®°*\13Ft\19l\9c-IõÊò\85ÝS\91\9b]Bû-È\8a\96\80I\9eoQi¨U\ 1.0\84©òú\94\0ÙË)\rýà\98·\b\9eZ³É\9fj\17sʽ¯q\1a
+9hiâðH\1e\r³Nc5¥ÚA\8b½\9a\1e\99Ì»Çx\82£s\82\92\12\80.¾*U\b\9c1³½W\98ÓÞ\16\9fuöO\9fÂ\11ÝI\87®Úð\15\91\94Yþ¤=\1c\80yä+k2mR.\eñXy°\8bÚd(\fÊQè     £%\95»Rg§½\ 4¤Y-\9bY4ø\0\8b\92\e\ 3UÇn|)\86Ú\14Ú{\1ax\r!æá@o%lã\17ÈÅ\1dª¯ð¬\94÷{ë2\8fÓ\aí\a\8d¤\186áòûÅ/\1fÿº_Þþ¾HÂsX½æ&\1eG\88Blb´\975òì\95ô\96ò*QY\ 6p|\ 2ù%Ð\8f[,»\e@\bÀ\94%ô>\17l Pü\84UØ*jg\9f³a\16Ì9Î\ fmGæ-\95{ÁX.iÊxðÑ/L£öÌìß 2ÈI=¡\v\r6Àµ­\0\ e½G\16\ eòyn\1f\a8f"$É&$º\86Ä\)lwú¿\1a\ 3#£õ¡\97 Ú\8f~\170ØaÐÏá%Ô÷8vÑ*XfMjK6\11\ fóHu\ ej\92Zsz@¡¥É\eÉ\95µÆæÆu7ïÐc¤º\7fléÜN\e>$}~,k\1f\1e\99aðÜ\ 2·\1fY\93\92¼bÀ\1aÿinæ\99Èà$0­XÇÙ\87y3Y\87\9d7Í[oú\94\e¸\8b(öA\1c\9cA=\9eÅÃvT,¡\ e\91)\v\85û\85\86b¢Ulºä+\9dæ\9b\83\18\949\0É°E¹p7~³Èw<\99Ù\89X.Í\ 4\ 6 \9c§ÿ¹Å\ 4\14\94\188       \8dâ\83=\ 2¥¶.²6R¼\9d/l\11}\99\8f\98:_N%1:\85¼¢Ä\1fîÞ5z\10O+,\8a\81·I¾x¯\17\169ò`óuUY\87n\7f\83\9aÒÃ\17\98a\8e\93Y\9c¯\ f[%\ 3í>®.\1eí\f\r}\9a_\88íô\9cr\9a\8cb\ 3.\9a\96u\1dë¦É½\rLqá6è\86î\83\e\077í¸\ 4µ´Ã\ 1`ÎÒ\94}楥¢\98ËdtyÁ\vÀ-Êf3î\86\ 4\ 4½¶O5ä¶\ 6\97·ê³æiE\99.4\aÊC\ 2\98§(,#.¯Ò«×\9có\v¹ºTÑN|p£ê\82\13o\ 3L\f\f\99\15þý´À×\9f    ëåx\0FOÁ\1c(+H\1dÛ\81ìwèh·öõ\1a4àËÄO\86±W«\15\13\v\ 3\8a4 |sÌQ\94Ê,ì²Aç\7fpÃ@\G>³Xö\ 2ÿ\89(t\17\1d«Ï]|\fH\1a\rÈX'Q\1e@\8e\9fUY\15\80íG\81\86ØX'\81PC\8c£¹û\1d\9c~PKw¥À\ 2?Ý¢\8dÜ\r±3V)/\aȶ\86OÃö\9br[\ 3¸\8d0\ 2>C{e¤9\1e\ 4\88\9b#\1a\80ŬÛ\89é\8c\9aµ9\ 2\b¾\8b¦¿\8dËà¨\1fo{(\7f¿»]=\ 3úrÅ\122oÑX^\873§ök\95îx\ 3\ 4§&¿\85\9aS\9e&\96°s\19\1d\12ý¬ûC?BÄ[      Ø(k¸«M\9cõL£ôÍjµÏ\8d          lÎXø:\9a&QTÝkFÚ®?ç¶ö²\90¿\0®\9fsl)l[½ÚáÎó\8b¡58¿µ>|5\97\8b¦+"T©ÛëÀûsc\ 6\ 5\1e\92Ø\83\85-\e\98=\9c¯RØëâ\ 6ÄÏ\1e\8d\ fÉÐà\97<}\0]\µ¥­\r\13{Éu\85   Q¾6ªf1ë\86&\0\ 3W\98/²bÊR\19!\8d«]$Êñ®\8b\11\ 1ê7ÑáHøm\8d'\ 5!iÖ_èy; \90\97ú\8c-\11£ "ÃHÉ£\87ɦ\87\86ÈÂÝ\95\8a\8e\18Íî^W\8d\8fƪ\8f\18\92}\92K?^5¸ùxVA×8b¼7îêxRÊ£èùL|`:¾®©æ+\9a \15@\8eí38Å×ZÚC2\1c÷ìì\19\ 6ãé4\99Í&x>\9e$³  ?#¿z¸¾{wM÷ÎþË\ fJ76­y'\91µ]r\1e_â     |vNëÑ\9cÏãÉîh±¿5>¸:\95\r\10x\82\83=\1fm|\1c\12\8bÃí  ¾pz5M®.gxHÇeÓ9ÿéýòä\8f\93ÿ\ 1\1d%HZendstream
+endobj
+1234 0 obj<</Type/Page/Parent 1119 0 R/Contents 1235 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1235 0 obj<</Filter/FlateDecode/Length 1675      >>stream
+x\ 1\9dWkoÛF\10üî_±(\90Æ\ 1lZ\ f[²ý¡\80_iÝÆ\96kÑ0
\bNäѼ\98ä1w¤\15ö×wö\8e\92)ÆE\8b"H"QäíîÌììòëÎ\90\ 6ø3¤é\88Æ\13\8aò\9dA0 Ét\1c\8céðx\8aÏ#ü5\92\92\9dópçàã!\r\87\14&4\1a\ 5£Á\90&ÇGÁÑä\98Â\98ðÜ`@a´»J%îW\15}\8eµ´\9f©2¢°\894t@u\19\8bJRit¢2i)ÒÆȨÊ\9a?\83\ fá\17\1c\7fBÃ)\1f¿ß\9e¿?>
+\8eÇ#\9c¿{9»9»¾ý|1»\rïg\9f\82ê[E§ô¨\8aX¯,Ý\86t©s¡
+ºÐEetF?ò\81\ 3\1c4\b\ eùñ¹È\97Â\a9Ú®a\7ft\12\f|\8c;m­Zf\rÍê\8a3\8dé\ 6ÿ\1a%2ÿäºz\9c;\9c\ 4\83É\11\9f\1c¦Ê\92(KYÄê\e­\84%mÔ\93*D\86\83D]¥Úà eC¿ê´ _(\94¦´\0\85tBU*Ée\86«"'QÄ\84ÃT\11eu\8c\87\1c\92\896\1c}\9f\83\8e\ 3\87E©-§U5-l\93¶¢\rl£é\1a¶ÛYxE§ÛéïR\88¸8!§\1f¶aˤùÁe\81¬­\ 4ï\99C¡Ò̧\91Ì">ëB\92-e¤\12\15Q.qoÌÅp­²¨T$*¥\v\ eÙI¹JEE\91(¨.bi\18\99\82æ7ç\14\82\1e}ÈÃB&J»x\1d\96çÒ¼ \89q0¤\15ËÌêÌaû"psm{A#\9d\97¢PP\1a\14\16\98ê\82\ f~A]$¿U²°ÈÕrUÌŧ³[P^\88\18!\ 6\94ZéHgAWi\8a\15\16×\91\8c{ánTd´ÕIµ¿Ag%\1aè!¡X\81rµ¬+U<¹HµE\88\b\92\13\9cd@s)É\vÞ        \1d\12@²"/¹itÒ\v\9bêU+"Æ·\14\ 6\14¨\92\vD?àÉÈHþò\8a¶}\85¦\82Õù\ f\89\90\8dR\99sL\80ãT¸ÍháJéÒsvã$\89ÛF\13ßxÝ_=y\9cå\92\93³\15z\84£[\92\8a#\90 2ã.f{p\9c\81ª¢"`Ŭ/v\1fg÷¿ý|?{¸£\956Ïx\9e\95\86\1a{\88øû\17\1f¸z\1c\a8\11v\0âVë)\ fA<ð\10\94f\8fî\8cÊ\85iÖ÷EÞ` Ðïã\9e\8bè¹.¿¿sñ!p-gE\8eº¡6SÃQ\91Ül~0¢GaJ0Î%îÑ%¬\ 3°Ð\9d¨RW£\83ÁáOVå*\13ýb¡Q\88±²{\ 44Yk«TE©ëµN©oT*2\r\80|GÝ}úBM¹(\1a\86ú\98\ 2[\aÜÛó\b@\92ÚB×{èFÊdõ\9e\vl¸¥¢L
+t0\1aK(Ó?ù
+õ6\9dÈd\e¸Z\ e\ 2¶¹mÉ\ 3\9b©ãÒÈ'n¦¦Ó.!"l.3AÐ\104\85>åÞgÖ{\ 2\89¥\8dÐ\8e®\1e £*X¼úË«I\15`&÷\9f\99#F\95\ 5¥"\9cµØåjä×\1a\ e\92!\0ãýPÀ÷/\85Ìa$ÈÒ\89ÌÔ\85C\16úÂ\ 3½è\9d\96\90Å\8b2ºÈq\94\97Ȧ\f\91\ 1Í7k\ 1üH       \13'k­\16¸'Õ
+\8d\fêÙ\14\81|\82ÁØ\8b\1a7\85Èñ\ 4\8f¥L\8bX,Ág¦\96\ 6Ö٢Ĺ\ 2Wɳ\fÃZ\17\ 1\19ETíñOÿ\821\1eô¨ömX2ÓUê­\ fc\0zòßrÑP!á\0Èø¹\80\8dá\7fô»4\88è\85é£Z\873\7fö\1aéK)ìæÖ®\16^\9c\99Æ4ò®Ï*î \9f\8b\b\19I\1eÌ\1aõrr\ 2xçP{̾\9f\97\9c(RkJüÖNPlJnýéøÛÅébñx}{\e.\16?1â¯;Ò.\ßл¹\93õ½ÖÕ»ÅÂ\7f\19\8f\16\vn\eõÔr´6K.¤# â±æxê\9e\82«\19ü£m?½dµ£D\14ò\9fsíg*£ToeúF^àD½`yÃ|q#ÍSÓö¢\13}£k\98E\83\1d\b\8d\ 1*Ñ_    $\97)\98\80³\19\96(?¶¦\88Ýÿ\14²ID\9dAb\9eܽ\9en×âÆïí\8adeTo¶\9f\ e\15Ъh\17\8a.\8a\19Ì]\ 1øÍõ\18\16F¿qlÏN#_[\f\99ÏÏnzé±FæW\17\ f÷×á\1fmah\\87\a;\awðúxÆÀ\eÂ:ËT\0Q(\15Ã\9d×`R±_ ø¹\12ÂLHB¦oÉýÍ\92<\80<a`\90\98     5Ïö6*\ fA\ f\eå:\96\99OÑò~²I¶ã)neê\95ºqÁ¼FGvv\ 6Çjneö\ 2#YJ¸¦»Ò8\8dz\81b\80\98\a½Æ¼NÐ]\ eÍ×\8cÚ\9d\v¢\895\ì;Ã\ 6ö\r
+\80\ fÔNZ±~\v\94N{? ÙÍ\84\80\87\83\13#-ðµk@ºúeï\ 5j¬m\ 6½û\93cÐÍ\13¾ÊkÛû¾¿mÊðô%\8a\ayª1ëa\0x¿Ñ¦Ù£'£±\1aø¥Â¦ªÄ¼F2Ï\95.Ùm¸#0À¡%$
+ßeä\ f>\1e·v3\9càMìx\8c×­AptâÞ: Äó3ì&ú\v\ 2\88j\9e!\9bÍ\eï'þ\91ýéàäÿ¼>ù\8d\92Ó8\9c\1e\ 6S¼ãáå.Þ=\1að¥«pç÷\9d¿\ 1 w´\8eendstream
+endobj
+1236 0 obj<</Type/Page/Parent 1119 0 R/Contents 1237 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1237 0 obj<</Filter/FlateDecode/Length 914       >>stream
 x\ 1mUÛnÚ@\14|ç+ÎS\9bHÅ\B\80ô\8d\*Ej m\U\95"Uëõ\ 2ÛÚ^ww\1dÊßwÎÚ\ 6âTIL°÷\fÎ\9cñ\9fÞ\88\86ø\19ÑlL\17S\92yo\18\rir1\8f¦4\99Ïðÿ\18\7fVѺw\1d÷\ 6\9f&4\1aQ¼FÈt>£8%\1c\1f\ e)\96gw/Êîé».R³s´\8cÉí\9dW9=\9fí\8cýí¼ðÚ\14$\1cíT\96ñ§S\16!Ïç´Ó¸±\15/\8a´wdv\ 5êm´óv\1f\9dæ{
 çÝyü«7¤þè"\1a£þ\99ß
 O¥°^K]
 oMSCP*¼H\84S\14býVíÉm\ 50"F\9a<G\9b}<«\1c.x\96\1aZ®âNYîR\14\88HU©p)<­+Àh;?\161kN£-\ 3ûÀ¸\91ïû\91\11\874)\95YÝ03⢦Öx\1aM\18b¼Uô\rl\1dsjGRd\99J95=-\1eÀò\ 1íBJå\1c=\88Bl\ 2¿\a¼\      ¡\95CàÚXB
 þb;ØD\85¬\ 5\b}3²\10ôú)àéÂ+Û§Ò\9a\13þ|¦#\15\91
 W\81å\96õ \0-U·º¬\85\12:\83,\1c8ýS)h)4_*\9bkÏ_vÚo11f Ó¸\aé0Õ\90\ 3czïÐ\90\99Ú(÷|þ?N\9fD\9e\bòJäµú\0 ­$2\vª¼ÎX9!\9dÄ Ó*/C©\13\813ïÀnÈåI)\9cÛ\ 5Vsá?\ 2Z\17ÖÝòæë\8fÇø~µ\8cü_\88\ 5ôë\ 2W\1cç½Àï1\vÏiPVÉÀq\87\83r\17ªãÈÞT\96
-\ 5­:Ouû¹¶\16¹\90©Ã#óÒÀ\88(Þbîk!kTµ\ 6 WJ*\ f%\15\85ñ\94(RÂél_ë\ 3°t^f*gi3R«Ê¬\95\ 4\1eÖÕë\1d\7f£Ø\96$FÉZßXS\95îÃa\9b¯.±   \0Ù\9e\83[¼Y\89fݹ½î~\8b\ eÔfß]»ï\8dó\84áñªÔëÏë\92¼v¨ÚQê)\a\ 3J\94b\ f°VI\ f&\10¹Ö\e\886mõÓÚÎ"Ë\r\82饵ß\1c}lµ¼£G«s\ 1Gl\9a»i\9b°ØÕÇÛ\eH\92î=¯cª\9c¶"É\9aÍPBná\11ÁÁ8c\akh\13\1aÏ0,\ fÙ(º\16òwUþ·Îu¨Ód8µ\134\10\ 6\80\ 3ÁåÞP|:íÚÁ\82\b\ eVâLÍZè¶\ 3Q\17\9b\a\7f\86\96\8e,a°è\eZBÖÚÅà¾% \85Sa¹y«[K\r#\18|\9a7o Ñ\14o§ù\ 5\8d/¯ð®\82MB¤×\vÐn~ax CV¬Ý°^ÜN¿\rèÏ\86W|~\1a]Et»zXÜ/\7fÞ¬\96ñ×Õç°\9a\1fOeù\1a\1a½«uÏù&³I4\9bÎñ&D®Ë\11ߺ\8b{_zÿ\0Æ$n£endstream
-endobj
-1486 0 obj<</Type/Page/Parent 1367 0 R/Contents 1487 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 665 0 R>>endobj
-1487 0 obj<</Filter/FlateDecode/Length 1504      >>stream
-x\ 1\8dW]oÚJ\10}çW\8cÔ\97T\ 2\a\b\ 1R©ªòÑÜö¡InAÊ\95\92<,ö\ 2{c{\1dï:\94\7f\7fÏì®Á8éUUµª÷kfÎ\9c93¼t\ 6ÔÇ\9f\ 1M\86t2¦8ëô£>Vvÿüü«38\99F#:\9dL£>e4\1c\9dFÓð\95Ò\8cÏÓéx\1a\ri4\9dàÿCü-%-ÝÆàl\1c\8dßÛ\98\ eðHëÂżs|}FÃ>Í\97ði<\99Ò<q®`%>º\\8bÂÊ\92&\11\e²\9aÎcKÂ\90 \v\11?W\ 5]éL¨üãüßN\9f\11n\1f]êÜ\96:MqOå8yW\952ÝÒLd\vA»Í¤q\95]\18\v½\93\11âÂ3\93h\10Ñ])KùR)£¬¤\9fR$*_±±ãë\11\r\ 6áÆp\82\80qãB.5`Øê\8abø òJ\ 2\16w\87=±ke(ö\11u©H¥0\922ñ,ÉÀCl\vëî
-|Ä:Ã[V,RI\ee×üàR­ª\12öI\84p\a'ÞS\1fÙÝÕ%#\93H\13\97j!\13oRú¸{Øí}»½\9fßFÞýÃ\80\1dn\93h\189XW¥®òä·aÞ³£\bE\ 4\ 4÷\98\96_è{ØÊD¼Vy\88\8a\ fs$È\9fÈÍ\ 6\89IõJç\0ç¥\92Æ\1aZ\96\8d.\9f\8d\15Vé̵ܸ¼Wy¢7\86næÁpD÷k\99ËW¼'¨2þY¾Êv¨qü~ÿr\178\ 3Òý\ 2#\9bË\18Nð­\96IÏ®F\80ð?\ 1ÊÏ\86Ö
-\1e¯%^+Ý\93l?\17\99t'
-a\fl$»\1d²Û§\849 Ë\12\16#\9aÃ\95\ 3\ 2×\19ݱ´\ 4FEª¤ñ,\10\0Î\92^"FÐ#sX\ 1Z]Ù\9d¥.a\87ä/\91\81anµHE\8c\90á¨ÿfO\r\15¥^*\9c\15³± qâqòG\97U\9a\92\8b\r\96\19>^\8eè\1c«\8eÓMg\10\9e\7f ¦\1f²ÅÇ)\11`3\18ï\1f\17\v\94¨c\19\ e|vþÃ\11\94\8by\f\ 5BU\ 1$8ÎEa7\9a\9eA\ 2Ã\b¼M\8d+v\98\e\14À\86\8f}¢s\94²ÊD¹}{±\15ÿã\11jåñ£Ë£\ 6\83\81fÆe} 8\rJ\18z<ºà\e>\9f\\86\ýP%P
-`e°\84źز߼Ô\88²\ e|Çä°OkÔ2\18       ½ÈW\0­\99\92uÍÁê÷\99\8eHi`\1dCÌ4sWë\87\16\92\12\84Ó
-\16\ 6á4òùÛ\10\1f\944«®\8fQ8\8dëé\1c\1aÛ\ e\12\f\7fï\8dØ\92ò*\114\81)¾å`[ªàj­\82\7fÐÒX@\80=\1d\91ç\98¥38ÎÎå¨
-ñ*TÊ2\13Ñ\95×IF¡\15¯U¨Ð¼\86Õ!\\ 3Î\f+´1L\9b\86²Ô\0ýæIÆ\92öèu    l&Рe\ fu.Õ«÷µ~É\89]p¾Mö\99ÊQ«P4\ 3\15D_\1d\86¶¥\97K\15+ØØ¢Y\14\ 5Z\ 3\94Þµ>\ f\1a$\14<e\1fâ
\92Û\9dü]B=rkº¨Ç8­êþÕ(¹Z'\87}\f\ 1\fù?wÌd jå/n¶¦Ê ?ìp°\b(À&\16\84\84©|q\8eóni'òu\93\ 6¯º-D\8cF\ 6
-Qâ6Ê  =?ý°JõB¤O=\ 3eäØC©\98l\11\ 3\8d\19FgÆHû\89_=¾îÓYÝ\83G^-XÙ¹\7f\15ôÙûV\9bïcø\80\9a\84\10BQ~¦­ÜQäð\84ã¢Á+áÄaÇwý~Æ­G¤¤\11\07\ 1ôfC©BC\17ô°F\9cæÉ÷\vzÈ¥u\ f>\91Y3ÑDj4\94aË@"\1c|k4v×éñ\89Ñ\ 1/qF\19\9a Ôu ¡éCàÖM\91f{\94\94L6N¢óÉ\84Dn\14\v8j\ 4Öb\r§ëé\0INt\8cüæöÿæ\82\13®\a\97J¤jÉÝè\9dÞ_W\ 3Bå$|ñ\19zgLú
-\a\b¾5 ¼\15æ\1d\ 2!i\8e\9e\95\9c°2D7Ò^|¿\9d\91Ï<3³\85\96»úa\10{\88ùÊý÷\9b\19 /á\f\ 3v\f°\17HG©E\ 2uA\93õÊ\98jô)
-1í\15Þå¯vÁ\15GË`\95+Ì6;Ç\÷\fN,Þu¿íÎñ¬@\1f\ 6\v¯lhó\ö¥tÎ&5(-{\87¼F\18\e\1c\87*\11&a\96\1fd\8f;
-HÀ4åBJt\98)ò­_Ã\94\f\91ÅÌ\829h¯º¨Å.-Â\80ñCÅ¥6zi[Ö¯¼\14)\9e9\98L~0q\933ünjG(¼à`(è\80µáñ©æ\ 5·?¤\89;\13\e\9eî\a\1f¸/ÿðçA£[óXò'?      F\93Q4\19\9b\ 4¢q:d\17¾Î;\7f\ 3\99êB\91endstream
-endobj
-1488 0 obj<</Type/Page/Parent 1367 0 R/Contents 1489 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1489 0 obj<</Filter/FlateDecode/Length 1688      >>stream
-x\ 1\9dWËnÛH\10¼û+\1aØC\12À¢õ\96\9cKàG\8cø°N\16Ö"XÀ\97\11\18\933
-gdEûõ[5CÊ4íd\17\8bÀ\88$Îô£ºººùýh }ü\eÈl(£©¤åQ?éËdÞO\862\9eÏðy\88¿JË*<\18\9fN\92ñk\ fF\93ñË\eç\8b£\93«S\19\8c\82\93é\1c\1f2\81\83~_\16éÛY2J\ 6\89|²;ɬv¢ä«­\1e\9cW>·FV¹É$÷\ eÏJ\95\eI­ñ\95-
-]}x·ø\ 6Ãc\19\f¢áÞp\ 6ÃoÏäf!»\96        ÜòkÝ\18¸=ûýü\f?(/;e`XIaSUÈÖéJ¼\95¥\16µÅ\ 5ãóTy\9dÉZ9þ\1e"y2Dï}é\rFH\18^\9fâ\92\95­$xIäÚÇ\9cü:w²ÜãKnîáñFûóëÏ·bT©åûVWûp\8bÖï+»ÝÄ\aÁÈo\83\94v:î\94\12`\85<´J×bW!Ë\12\9fs\83\97{\8dô\96*}\90UeËð\98¾r>eÞ/ \15\ 5°Seð¿Û\ 1\8dÂÞ[Óñ\iØpÞ%²°b¬\17»ÑF\9cN·Uî÷²¶\ 5Ì/­_\a\7fí:Ð83tºÐ)\81½{»ø|ùù}(=\ 2â³Ë\vI×Öis÷®ã÷\95`[U\92\88\ 1LT\89\9c­<KÉ\12Óf;\ 6X΢'\96û\8d\93´Ò\19
-\87xX&Ö¤ã\9b\91o\09,ewïH\ 6Ú}\11ѱ(÷À\ 2\93\ 1j³©ì£*\12Újó¿7\1a y@\19\12\7f\98ÈWP\8dõ É/ÈßhD\94ý\8cÝ<­\1f\91\9e\8a\84\8d\1cFDéZ\99{-Ì     õ\186ñµæ/x\9d\ 5MU»
-%<Ð\1a¾y¡\9b{\e½º?\7fÂÞ\9a®KÂ\0v\12\88࿦¤°\7f=þbª¥r¬Rj7û\ eÚ5\93a\ e\ 1vêÇ6S)h]§p\1c©VnýV\15ÅþYç\ 66ó\\83G\83\110!\12O\95\81nP\99z£qS\99q"\17è\83[U.UP\ 49G\1f¡1/£\f]üR\86\92)ëû5G\13 T\8e:6L\86Çh\97\98\91\81¶=jê\14\92\84¬n
-J\r\8f\813Þ¦\16d\+\9c`\7fíµG\ 4àÈjË\fórSè\12\94ÕY0Ö\ 1/F¼Ðª$§X<Ö\ 1\96·&C(\1eT\ e\12DUm,ÅJ\ 1§Æ9Pݲwj\v\81A\f\85atü\81>¹[£\99ÉùV²\ 1\@:\9cFH\89æ5\15)Tn  \12¯¨ê¨µ\92s°~G°Bð\1fä/MuAá\82âWZ9ÄOûÏ"\8e÷\10¢zTy¡\96y\ 1ý\81T®:\11ÖL\89\92\17á©\19        ¢R¸,°xö{\90\8bC´(9\9a\v\98§:
-"
-\16%PvM3ÂGÇ+;9ðlg~ųI3ø\0NíNÕÁ\0\95×D rë\96\1a\80¡\85\1a\99û\9a,\88³îñ÷\f\ 6\80>Á¬åêöú²¥\b\ 4Çq\b\ 1á\ 6¨F§\11\0Ë\80\95\90î`Þy\vÅ\94z¦®ò¢\9bø¦Ê\1f16O~?»øt}ó1\81¿Ú
-\ f\13\132   ²\ef«2û\12\ 6Åå\ 6ðÆ* U\92\89 ÜÈÑ@Ø«"\87ªwð½±;\95©}\14\82Vj°ÿ2D0;\ 6\85jW\18\8a\89Ï\96\89Ü\92Nû @M\a´\9e\1d&(\v\v(\b\16y\e$\91\19±Õ¨|\87';»-20Þ P\1e;\ 5\84}'D?0Ùc
-\82û&ëø±¨k\95g:\98\15ú#t$ÍÐ3\81­/7M¶°à¦Ç\80\87t0ÀÖýgñs<\ 1Ù\1f¹óÌ\9cÖXô\0\1c\17\87ºº-4\8eq\1a#Þw«ýÆ GªM\1av\8d<{Óð\88Üap'Wi½\9fõfÉ| §Ã(\awÃéLâ\81f\81\vÏ{\83þ$2|\81øÿ4ù\8f8æ2åÕR9Ì·¸\8c±;÷&]WÖä\7fS}\9a\ 5çyyjæ\95\1a\v\r\10ÁBÐl&\1dØO´OOÂ\9cÈ\ 2\14á{\Å\82\10Gò7Jý¯\ e¹CÕ½ØqT*\13'ÕA;âà\86\8c¡\rJ\95écR¿éEÒ9ª\10òVrs}\8b3apR\92¸\ 6 n\r\17y¤ã\8e\17\ÁQ\12Ï\ 3\10ªYÔµ\9aÂÁr©á\9e§St\9b!\9dÉÞ(ú¢\8dÝÞ¯_²»ã¬>­\96ès\0¦ÒT;.¢A@*9Ô\90k<k\19Ä\9f\ 5[AÀ·U3\90\9f3f2Læ\9c¦?eÌ4\f[Ò%ÊÇaÚ·ý\11¢ ?\a%(\97\9f\18õëòv\92%ã:¢FØ\11Ð6è¼ôa\7f\f|cû\19ýÃãKÊÉþj74/\ f?Í­iì3³\87|ø°\8f\8b[\93*ÿ5lvw\1dh\8b\95`Qäa'«\ 3
-eri\95oP?:\8c\ 2=\91\18Þ\97°\16ñ}\89\e\8a·\18óXÄãL'ò®\ 1»ãí©\85Ãöó*F\r\ 4¯`Ô\eÎ\93Á©ô\1a\8a\86\ 1\84-6\88Ú\13F+\8bý\87o`\f§µÒ\86E\ 3\ 5lg\83\10*#Ã=¹\9a×
-6\98âEx>Â\vlýÎ\17\16^ùRÙo¨16Ã\14¯dXOYnÞì5\17z³þi³ðÿï7Ýñl\9c̦s¬©h\86É\88\ e>.\8eþ8ú\aÏæø     endstream
-endobj
-1490 0 obj<</Type/Page/Parent 1367 0 R/Contents 1491 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1491 0 obj<</Filter/FlateDecode/Length 784       >>stream
-x\ 1\95TËnÛH\10¼ë+\1aÈÁÞ`Å\90²,É\87`aç\81ø\10¯\13\vØÃ"\87\11Ù\14Ç&gè\99¡\15þ}ª\87\94Ö\96sY\bâkº«»ª\1f\8f\93\8cRü2ZÎèlAy3I\93\94Î/2\ç«%®3ü\1dS\19\ fæó4\99\1d\1f\­'ï>§tAë\12P\8b\15\1e
-\ 2L\9aÒ:?ÝY÷°u¶ké=yÕlÔ\1fëûIJÓ,MV0<-l£´¡FùÀ\ e6ÆþÞ ¶[k<\fzöbñîó\9c²l\889\9d-\ 4
-0¡búw[Û\8dª\7fL=çA[C¶\8cß}³IrkÊýûÕÇ\ f ­+í\11ü\81}´Á7²¦îAy«cF\82hTÃtwùõêòM\96ïÓ;\83\12\bºÓ¡\8a®ÿ\ßÜ\91g÷Än\84\ 5²±Ô:»©¹!5Dx\81E0QtÃáêúï;\1ad\8a\ 6¡RA\ e\eV&P8h2\ 6Ýð!A.hÓScQ#8\81¬aðÉ+mXÒ`j\95Cú"îÉk­O¨´.\7fFÞX       w@?";j°¡]¥óJ()ê\8c~ìø@"¦\8fÌ\1dG-
-       \10õ¹uºQ®§\8fCÁ?X\13\9c­k¨5\94ó\82²ùXγ,ÁcqºLÎ\93,¡/vG\85¥k`¶µÎU\10ªL¨g«¼ß!\84®ù¯×M±\14\8cï£ÏËFxæ(2{6^\aý\ 4É®\ 3UR*K\10¹\105w\15\eFU)\87¾[ÑÊÆø\10\83\14doTÁ\91\83tõX O°ï©\83\ 4'\1e\15@\96Ö\15#\80\ 4\8cÀc¿¾äAÊ\14Ï28P.öacÛÞ\1dwÄÞN\9bíoÄ¡\98\8e-\ 3\e\89n\18%÷(Æ>íÙb\10ürèÑ£\8c04\ 13
-"µ\8c\9fá?NüØé'U³        þOÒ\81\9aÎ\a´}\10ù k@\7f°É]ß\ 6\15\19¥v;í^i&ͺaxïT/d=ù}Væ\ 3GÌtél\13\91n1±cAdxÁ\ eo\10>\1evA×:`\9a}oòd¸Q®ÌQ[\8b¹÷c?\a§\8c\vIü¦\83çº\14§\81QÌ        !T\9es\eè­l\8b·#rt-AQ\96\82í\ 2\1a\16ê¸}M¤\1db®}ËG\19¨\83 ã4¬Æå\96\84Wg4;\8fÛ2\ e Ý:{\8fÝ\86QÊ»\ 6\1a+Ys\82\9bO\97©¬áÿ?Aóå<Y.VXäð>\9f\vè§õäÛä\17^vôÜendstream
-endobj
-1492 0 obj<</Type/Page/Parent 1367 0 R/Contents 1493 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1493 0 obj<</Filter/FlateDecode/Length 1010      >>stream
-x\ 1\95U]oÛF\10|ׯX \ f\95\81\92&©/º@\1f\1cË©\8d¤qê¨)
-\b(Nä\91¼\8a¼c\8e¤]ÿûÎ\1eIËr\95 \85-È&÷vggf÷¾LB
\13Ò*¢Ù\92\92j\12ø\ 1Í/\16þ\82æñ
-\7fGøXI\99{1\8bc?:õ"
-9îÕ\897\9bÉùÛ\v\8a\ 2Úd(²\Å´I   \ 5\ 2<I¦W\85¨[i)öé\93¨v\82DC\82\9f(5\95P\9a*Yí¤=Ûü\854s
-Ã>\8d\171\86M:Ý\14ª!ü
-ú|}ÿ\aÝßýöó\rå\9dJ%µ\86\1aÙ¶JçÔÕÔ\16\92\92ÎZ©[ÚN?\98\a\97\17¸\82p{Fµ\95\9e(ëBÐ\83´\8d2\9aL6\0\9aù\ 1W\ fÈ\vg}ÍGÕ\16´\97\16¸\f*wH­[\95\88\96Ï\89\1c¨\9b\16\80~W:5\8f\r*\ 4ôn}åÓ\ 6\10jk\12\99vV6Tª¦\95)\15\12Ì
-|Jµ\97å\13ÃN
-¡s<l^\15v=\18´\96Ê\aY\9aºñ\87\80héÏ\99\8d\8fJ&Èüd:Ò\12¹w23ÈÌÿïd®ô\8f\1c\1fúóYD^´òc|ãÔ3Tf#\0i\16$\8c©Ã¥\1f,\17\1cÖ8}@\a\19K\85Ê\ 1üßA\fñ\97ÛÍ\81\9e\ 1jż\97jg\85U@¸\9dJ\90\bÝ\99+Q\96\94YS9\8dÄ\ eÒPc:Ë\9d R×\80    ªE²\17¹Ü\9eõ4\16RU©(¹\1dï\852\87\ 2\8f
-IµiéÑØýi\98wµÔï×\97\1fG6\8f!º3ìÜpÅ\96ó\ 6Öf\8b\91µØ\ f}ºíá³Ç¸s+¿tÊ\82ø\ 1nCà\9fÖr§\84f¬Ç\16^ùKæõN\ f\11\aÝà\81\91\18N\9b\99²4\8f\dÌ{ZH´¿·»\85\aÎ\ac\1cÔs/Àå0Jßê+ú\8f}ÝËôF´ßê«\8f\05\98ÐJ
-Ý[³)LWÂø\ 2B\v¸B\8a¦=Ý\90\ 3Í
-Â$nº¶S&t¯´j·g§{\ 4       ì/\8e+\95FhN<°_\vwþDüN&\82­Æ³ÂÓ\98\98ªVH\90÷Öì\rÙ'\19½p\98 ì)\91¦ÊA\84\19\10ëTØôÈ]R?(k4;môä8º\1fL\8b\95U\80\ f\9c\ 3\ 3û÷9\ fï\16\1a\b\1dÌñ\ 3¡\86C\\89§~âQ=\97.G\85\15\96ÑÕ:zåd\8cËlÞ¯\8bØ\9fùtå\1a\95ý¶ûª\98·\19×\ 1õãÚ;\8c\1a#e\ 2\0W{ÏpK3,D´£1\18ý\1eçí\ 6¦\1cC\89Ñ\99ʱ
-ÉÔÌÜ(ç°e=\8feóØ\ 2?­oï_óu\99ñµÁjÙNC­1W%ö \9f³:2\95NÊ.\95ç}\80_pdË\e\9aÍá\960ÂÙ\9fÎ\80ço\ 3º\18o\98\81¤ïR\99!\94n.?_ÿùîþÍ\82Â\11iàóe6=\8ap\eÅE\1c\ f»\eu°¨ZÜl²Ñß;\91^"OUê\14G5'*ÈFï/\96&\1cí4(SQ\1f\1eûôÞ\98=+0ôX\1a,#C=·#Ô\81TÓa#\16OÎ7\99ú\eh\ 6\87«u¾ôc^zéÿ¹\9c竹¿ZƸáqn±à²×\9bɯ\93\7f\0\99è\8e?endstream
-endobj
-1494 0 obj<</Type/Page/Parent 1367 0 R/Contents 1495 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1495 0 obj<</Filter/FlateDecode/Length 1424      >>stream
-x\ 1\8dV]o\e7\10|÷¯Xè¥v`\9d>¬¯\18(P%VРµãJ
-\8a î\ 3ï\8e\96\18Ý\91\17\92gU(úß;K\9elGrÚÆ\bàó\1d¹»³3³ûõ¤G]üôhܧ\8b\11eåI7éÒ°?N\ 64\98\8cñ{\1fÿ­¤ûð¢ßëáñ\85\17½~?\19\1d¾x³<é¼\eP¯GË{\ 4\19MÆ´Ì      \ 1º]Zf§ËµÔ\94\99²R\85$¡sRÚyQ\14´\10e*H8ª]-\8a\84>\9b\9aÊÚy<ãCO\85\14xðkde\8aÂl\95\ 5\99Ê+£\1dn!W¦IfôýåÙò\vRèÒë\98A»?@]Ëü\94P\92(Jú\91>\7fü4O>Ìæofó\8f\8bd>\9bþrÍ\87ºÔîu\93IüVä\8e\9c´\ fÒâÀÎÔ6ÙH\9bJk\\12ÿ|tÂɬ¶ÊïðýôjqôZêÌî*O\95pnk,®Ç½ÒÅl\9f\0k÷G\9cÀÂ[\95ùbG®\92b\83bÏ9 Ê\84&Sª\bD,G\8b2"¹\7f\1f\0Óôþ\96D\9e\1c\10³\ 1¹§\9a\12z¯ñ'à\9a  '÷¹^$ý\10;´b«Ð\15Q{ÓÎ¥\97Y\bédÒ|Û\1fEP¹M¹¡WÚøW¤¥ÌIp'B\919Ý£Ëç$
-¿6õjMÈ{kô\ f\9eO\b½£µ°e$Á}¨n-\1e$\19-9YÝ0"¤\91\1e¦(RÐÇ\eºgê¤"Ûð\83\14Å#Àh_Ó\10®ß\149Z\99\15JjïP>É?«X\15@`Z\89Ô º\95_keQÆ\9eY\1cÿ\0\9fl-ôJ\923FÓ\963ÝJZIO©ô\1e1Dæ\15nÊqMæ\8dÝ\81\9c^®¬`¦\ 6ø:ï^S\ f²`}´/\1avN\92AB\véë*°\8d:Òg\9d\8dM\87\81ÔÇ,\19Czà    ôD¥Ò\8a\vgö«U\1d#\85¦?\9e'åþE\17\14þý\1eøäþØWû(\ 5zI0`ï_/|É7mòìÿj\86èïãÒba\12rgÝ5eQº\ 3mXõ\82Z\10\ 4¸ôi1\9bßL¯g?\ 5\ 5·\ 2\93Ê \16r5ì+ð;\±×\1c`@{2Yy\99ï\93oH\8fë\99\ 5¿)Ýg«úpõö\90ê7\1f\97³KbÀ£ð\82\92êª\92\96etx\80µ!
-g¢\8fIýMRAʬ\ 3Ü\ 6\93\81É]Ý,¨0f\ 3\ 6\80X\9cÌ3  \9b \10\eò¢).=\ f_°ø\ f
-       Uû5*Ý_Ü\Z\8aʱLBÞR!\80\ 5eã5Ò§Ê8
-^\82P\1c\1c\bÐÝ©\92IxZ\eçÃÛ-\ eBièE)\94>\88\17ÙZæwg\ 4É¡EìW\90¿´\1aô\7f\90ð³\97"FG\87è\9a&\ 4|\ fÑdà1\ 3\14ób+Ð-C\r¤hqÐ_,Z­Ö\9eû\8c÷ð?à\e\94Äù;\1cðÐ#\80¨\98\87\18\87\ f*S8­\9f¡\ 4\a\89\9e\95\aCcù?\v\8f\9bup´à^ü\12¤-L\ 6\91Jk\8dmEßàÄ9!¤ú\ 5Ô\ e     ½X;b±Ññ÷[¡Cyûi\ 4ªW\95±ø[\18\81Ñàø¦\98\07ÀmTEÎ[\11 A0çeECtq\vËáß/\180£Ñ\1e¶ð#m¨Xj\bý\9d¸yh×w\9cm\98Ð[Ôå#Ùxú×Ñ(3SkÏH?_\19ÚXD\82\ 5\±:¢Ö!n(\97w\ 1\9edpì5?×\98+a⢦Æ\94\85M\15*\ 5¨{Ísa\ 1ÙHèÖ4g¿d8`έà\b´2æÐ\ f²µQ\99¼;KXñ ñqø-BK\82öKå\1c¼}\1f'n2\95U\ f\ñÓ\18¸;\r«\r@¶ÆxHÄÖº1åa³/\9d2Ç@Û°\15ð:Ò\98\13³#Â\84É\81e&N\8e^\1cÁ\93d\98ô\12º5È\82Çb`X³W\8c\1e\171 Êó¢\95
-·¾¤` \97¼\88\95¼\84azc^Ô:o}Û\fl\87\8f9DÏ\ 5O\1a¢òlic\91Ù`\7fãÑFóÛk\86`.ó\9fÑ ·\ 3ËJ\87éÏK^8Õ©\9díìùÓI\95\f}Z
\fG\86Â\12­\ 4\1c\a<QQ\0\85Yq
-b\ 5û\81Añh¯¸A\80nK \15º+\8a»³XȾþöóJZXÏ\1eeÃ¥7û(/£\r\0\93\ 6·Þ\bëðä\82\8bÈÉÅôúÍ\94n­ùÂËÃ\95Éê\12¦\12\0à\88íý\81ö¸\8bý3?ýï±>\18\ f\92ñh\82]\0\9f\ fG|ËlyòëÉ?Äû¢Ïendstream
-endobj
-1496 0 obj<</Type/Page/Parent 1367 0 R/Contents 1497 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1497 0 obj<</Filter/FlateDecode/Length 741       >>stream
-x\ 1\8dTMo\9b@\10½ûWÌ­N\15\bþ\ 2|\8a\928\91zHÚÊ®ªJ\91¬õ2\98\r°Kw\97¸þ÷\9d]Lj;9Ô\96\ 1³óñæ½\99ù=\18ADß\11$c\98ÄÀëA\14F\10Ç\13ºNÓ\84®cúi\84Ü\1fÌ\92i\18\7ft0\9dÏÃéG\a\93y\12¦ç\a·«ÁÕÃ\14F#Xå.m\9c&°Ê\80RG\11¬øpÉê\r\83º5\166HÙ¹\92¹Ø¶\1a3x\1ej¬Õ+B÷.ä\8c\17ø|\ 1LfÞ°nDåÍjV\92Q\85L\ 2«*\10ÒXº;ËÜ¢\ 6[àÅêe\10D\10\8c\98Ò\ f\eÔÊ@%6Æ\a,\90e¨é\99\b8\ 4À,t~W\ fs\18\11è\1c\ 2Â\1fL¦T=\85HÃ8\84\15\12î½j5\18Ô¯\94Ë m\9bΫ/\9aÒ\8e\13¢\92\12@ø)d¦v\ 6Æ\8e\ 1^     \94\16¬ÞwN³\ 3SC\90h¡5\b\9fá\99>]xº\17\ 4ð4þ0\84\ 5S¨¶Ê\1c\89\95Ún\89\17!a'l\ 1oµº\7fªµÎû\88
-\89\98     ¹\ 5« \94jG\0\efÌNé,\84/9\91'\fäLTÆñ(A·ò\1ciY        bÁ
-^¢5ï°-Dæ\18\82-ÕÃ\ eV\90+/Ë\81µkX(4 Î¡\15\8cÄ'QQrÕaÜ7\b*\87Åý2¸»½\v\1e\173¸î2ö\1aQeÿ\14J:\85\y\9e
-So:ÂOQ\9e*äåìÚò *©ãè!^\89Szð\1a\ e\ 6TÍ{¯Ö¸¼o)}\97õZøÆ:\12á\a       }diHù\96U\97°i-\98\ 6¹È A\81\10\94 \1a+\94\87Á\v¥È¯\8f ¬u
-\91\ eÌY\9cõî        /i\bOÊâ\99XG4¸\86ò3É\v&·$BV\vI*kf©Ö¾A\80Y ©#ñ\95ädä§mq×ÏÏ¥ã\8akd\16=x-¶\85=\15Ó#pyãn¨vã\12\ 5ù\89êF¬Ï"¬ûZÃu\9b5\9eÑu\95±&\[Þ¸\86'\ 2\84\86\fsÖVÖÀâiÙMd\b\8flO£\91\8b?~2\9cþGô;\19\ 5UÐ0^\9aCC¥\87I\1cÅ´\1aÓ        L¢¨Ã¸¼y¼½\81oZ½ ·Ô¹¼­\89uϹ\v\eô\ eA\12ÍÿcQLiÏ&qJ\9b\99\16Ä,q!îW\83ï\83¿K »Vendstream
-endobj
-1498 0 obj<</Type/Page/Parent 1367 0 R/Contents 1499 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 672 0 R>>endobj
-1499 0 obj<</Filter/FlateDecode/Length 1424      >>stream
-x\ 1\95VaoÛ6\10ýî_qÀ0@\ 1\92\1dÛ)º\ 1\ e)\90dk¼}\99÷\81\92hK\8d$z$\15Çÿ~ïHɱ\95\ 4X\91")EòîÝ»wwüw\10Ñ\b?\11Íb\1aO)­\ 6£p\84/û_ß~\eD\93i8£I4\vcª(\8eâð¢]\95ô0\88gópLÑh\14N°;>\1faׯx÷b\16F4\1d\85sìE\93\vì¹\ 5o\1d,±7\1dw\ayïj18ûrAñ\88\16\9bÎæ´È\1c*|I\83O¹ØX©é"¤\aQ%\82\84!Aw\8b    eª\12EM\95¬\12©O\16ß\9d\99hæÍ\fÇ\13\84°È\82\8b0
-é«*ê¢^\93¨q\93®ýÅmaóÖf\1cÆÞÀ\84¢¨5\10ÏÂ)\e¸4¦©$íTC¹x\92pîqÄá3\19©\9f\80ÍY\ 2(i¯nî\1f¨\168¯VäM\82qg2xøüí¯èØM\0D\19    -éû\11Â6´T\94¥Ì\8eÍ\8ch\18\8d}h×÷·=s§´Í\8b4\aP&é÷ëOÿ\13\1a,ápÏ\98Ãf·\8a\12\91>6\9b\8eïTÕV+\0ÓÆ[oÃæÛ\aà\98\ 4Ó§\0~®®?½IÂq\94\81?ÙËJ@aë%\9eB\82HÎMMJgH\81U\8eB²¹l\81\9eÒªÐÆ\92±jC ²M[&d¥jÐ\ 3âuS»\v©ª*¬?\1cc@0\9d\e­\94ýÉïFm:Ççáì\1cz\ 5\bS%\eaÌ6£áw\ 2p\1ajþÃô\ fÿô·P5^\ 4\97Y\ 5)\1a«\85Uúgw\r\ 1øC\9dø\86ÞöÞ;\92¹\85î\ e\12¥óDZð'ö¸R #\17¶K×2à\1dU\97;ªD\9a\17µôÛ,\91­.,\f§©4\ 6\f2\8a\83\f\1e8y¸¼¥LX\91\b#\97'T\98\90\160îÑÇ?\12bÀ6ØA©Ö¨aW1\88¢\87 £Ç\ 5\85Ú\ 5RÕÔö@äl¢\96\8c\1dmtñT\94r\8d\10\15\89,ë"æà\9c7_W!ݬ°\ 4\ 2ü3\8d\v\7fÕ\94=ç\ðÛ\ 2º1\92)\93h4ð²\96ï«d¯\83\ f®áȬË\ 1Äà\84{ö¥Kñ\81\10>\!iRC\1a¢\84Ó:S[´»ÖïÞì2\98\83|(\956ÀáH©\14T\91I+\8aÒôk\ 3©Á&B\94Ï\10\1c·¿L>ÉRm*    \ eS\959\9a¸ñ W´\1d\87;\99j,w:¾\0ÚR-\ 5\bèô£\eÔU\97\fåj¨G\1e+1\91ТÌ\91V\96       p8\97\8eÒ\m$\18\87&\13èï  èERJ2
\0GËRBi\94hQ§9Ú\88«\80²|\1d¡³ê\8a\97Ö
-\am®U³Î\8fàv@÷jJ\81 üm´²*Uå)\9f®}1xQÖrKË\0ÎÁÊò¤\17ZWE¯ÌúÊ\ 3"?\1fÚÙPÔ¬Eô"Ä\87Ð\98GÃó!+´LÑ\ 3vüÕwm$v\9fkw¡çy«\9a2cÆÐÒ4Ô5¤Zé
-­mGï\8bò¬1ú¬T\18%gð\9b\883.\12d\94m¿©Ç\9bz?àFá³#Ç\81q5Z*õh¨,\1eY\11\85iÝv¥\7f ê\8f<gïo/oîèîòöó¯ÞÝ~\16¶åÐ]\f>zÎ\1eü<½\ 3A¯n\80÷w1CêýQ\13¾:\1f ÖW«\ 2SÛ"³Æ×O+é×ÉD¾P\82\8a³ÃÕ)\9fEµA
-E¢\9eä\v)´Ï\89\9fÕïç\81{\80{\ 1¼\ 6v@Û\ 1ù1{\81\9a\9cr¸['\12*ÕrS\8a\14Éoß\1c\8bë+HuÁ\8d\ f­ãú¥G»k\9c³¬Ï\8c\91¨ikB\9b\84\ 6\97W.ª×5\ 2¼V0lÔ¶\86ÝdG<\18Ý\17\0­ñ_\9cÉ\)cOÔ;Rл¦\ 6µ\80¦k»¦ÿ(wÇ\1dyXrgb4\aó\a8\e\f¨\9dK\94k\91fg¬¬N\9dC\83>å«ÁvÀ\80\11CÒ÷\15ð%Èä\ 2\9d\14Ý\12Ã\19SÖQÙ\8fñNmOÛV\ 5ô\90\86\92ëÔk²{0ð<¨¸ñɬ°¾e÷D\8dâ\rñ:Z-\83sß5^ê+ðiä1$÷O\11\98ñQô\ 2¯\81\19\94u=¹ã¡\8f\1c/cncË\0\13\1fÃ\ e£Á\91äAí+«»M¿ø\8dn\ 2\ 5¨b¼\ 5 o\ eõïu©\12\83a\97Ú\ 2]\18ÏWOy\e\13ç\8b\93Û
-ü¼\1dö\aÒ}qÔ\ 2÷þæ/'ñ¬q\8f\1fxÒOf\93p6\9dûwÖù\9cM~^\fþ\18ü\a\86\84endstream
-endobj
-1500 0 obj<</Type/Page/Parent 1367 0 R/Contents 1501 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 681 0 R>>endobj
-1501 0 obj<</Filter/FlateDecode/Length 1678      >>stream
-x\ 1­W]oÛ6\14}ϯ¸ËKÝ!Qý)Û\ 3\8a!\1fëP`I»ÅE0,{ %Úf#\89*IÅñ¿ß¹¤äÈrVìahë\94&y?Î=÷ðæÛÉ\80úø3 é\90F1%ùI?êã\9býÇ\1f¿\9eLÇÑ\90âY\1cõ)§Á¸¿_etwÒ^cw2\8aÆõY¿;\19FS\8aûq4ã»óY4¯W~·µÎi\18\8f\ fw\a1îNâ)üán<\8f&õÊßm­qw0Ù\9fåÝö\1a»Cö\e,ñ.²£Ñh\84Ïñl\8aÏ!þ\19I+¿1\18N\10lgcØ\1f!\8aÑ\18\aa\ e\10LÃÂûzYòÞüpo¿ÄÞt\1e\8d^î].NÞ}\18Ó`@\8b\15J\10Ϧ´H=ò}Z$½[ùì(Ù\88b-Ém$½]|Åùa}¾G[m\1e×FW%½\ f[\8d©\1e\90¤
-\7fí¯u¦\97\9b¬L\9cÒøR#W\91þ\14.MöþÏ\871J·H{-ÃtýéæÐx\9föç\84\85\ 3\7f9¾Bä\92ôÊÿ?Õ¹\80ÿ­$\ 1\¿jU¨b\1d±¥Öý?uEye\1d\89ÌjÚ\88§\90g)\f,9iº\19Ë"1»ÒQ)¬E\8c©=\8c¬\87\f\1dg\17¾\ 6§=°½\9d<:\88Ðp\1f\1eVÚÐNW\86*+\rÒÐ$*äR8\95\b'ëx\a\zà\82]ÎóvA\9f¯¯ºÉ|P\85ȲÝ\19\89\87\1eìæ:U«ÝÃ[\12ÝD\9a\ 4\10°yB\14ÿsý\8eÌs\15\112ÿ¸¼¾\1aÔ?\87\87ðµ
-³ØH\e*Çù\96FåÂìH\14)-Eò\bÂÕåMtá\8cÎ2\86îNäKA[\95e$\9c\93\ 4¼ø\84H\1cs1\0þ}\84}\15¢¶-\aÇ-;R$\9b\9ac\88\a\ 2ÖÖÏ\b<B9)\17\8aÂ\87\0®\eS7\11\98\9a)\10®¹p\`[ro\90®p\17¹·ØÀ­\93\89\\17ëW è2â"\ 3\87\váÔ\93d^¨\95\ fÍ\87eóeZ\93\r\8dÂd\ 3u(eÒçܺìÚ\a\8a\ e­ÔÆ\1a\80\0)&o'\81ÃpÏöXøÆàVõÂ\80ëKIÿÞÿÇüùñ;T\81UtëF§g´Ý(\94g\v]PL\8c´JdÊX\an@d£\18ý\91ezÛð¥ÎD>\83$@\80ó¶,#¹dáS6ÇWÂu²D\ 3¦ZÚ\88\16\9cRpNRᲡ¥A\89\12a\9d\ 5á\18%\8bö»ÿx{G©pb)\0[S|.ÀJ\81Ô¯°Ùé\8eÏ\16²`Å\1aâf]·à{  0Ò:a\P\96\90|*$h\83`ào\r\99b\96í¼ü$\99\82ÞxíYÊ5\82«,´²   
-¢]\19åv?\84
-Ìi\80G\82_\8bs¼E^­çÑ°é\186~\8f\8c\18ßa\1f¯xàNGþ¸Ñ§QÌ\8av#\8a\1d\95R\97\99\fú+ì#JfäZ\98\94£ð\ 5q\90Bn:\9fÉ\eä°T\19Bbü Õ`¯*ù\ 4B\aÔÇî\e\98\1a\19\r\80ðã\8bê\89%\Ã\10\8b\ 4x#PÎ|\89:ÖÊ\b¯\1d\9bu±t)\r\1a\a!Âm®\9e\11\1dº\8d\95W6^\9bGm\ 1v Fð¥\ 2GÑM+à\8c\96^J·\952<\95\892I\95£vE\ 2Þ0ó\0Å·JᢠSïåÔ\eç4\87\8f\ 4IeÈ!{x2p^y¤\81o\93êFCl\12Á^Èn\95K6\88\13Ù\9e\86@\83±\88.^3~ÄJ\ e^\17è\92\94\ekÕ Ýá*ú\ 3\99»|®\ 5oß[ÁpD\97¬8+Qe\ e\92\11ð<\b/hºu¬ì¶*Km\8eúQºË\8f\9fî<\16·\8bßn\9e\ 6\9eØ­\96a QÊ\f¼JvÔ0Þr%Pô\863óçÚ\ 4aÌj8½ñSF÷)ö"Q×&÷íãÉÓX\ 2\ 2~Rksé\15B\90u²´!ØÔó]ìµjH¾xLÍ\1a\9bº <Ðì±ôÁé Åüò3!\e\e5\85\8f¥d\9fp\1dfS\10P4\14X>'²ô³\1aJîiÈ\ eOï´\80¦\15kiNietÎÓÈ\18½kA1pÐÈ2\13¬ºË]\87\14ÞÂ\ 5&@LY×`tâ4\9eÖ/\b\12]\a\12_鼬ðþØSº¹¹Â\ 4\12£­^9
-\ e\19f\9c*¬Î$\86\9a2« V\1eÔw\1f^\95¥QD÷\9b]\98\ e\91\a\1a\8dg:¤S »\83ªÑûºÑ\7f\ eòÖL°-\89ºª\8c\81g~Aë\ 2ì/\83©µ¸â5(Þ8\0\7fó<2\18\84a
-\81ÚB 2\8dw\96¾\14êùeÜ\ 3`PkN\r\0u óÓ\bO3\18:jK~V\f\85Ý??\ 2²î\8b\84\86¬Cä\9bÝ1\14Ã×Ã\ 3"L\ fSíÕ\ eXpüðb\1a#M\9e\9d¨BÊ!\863\8e\1a|dEð÷¡3¢\9b'ÃâU§\9d+¤Í\a   \f\99\19\1e\94\95ʤݡ'ò:·#=ðº#«r\95 T2\8cÃ:ãAº\89ª®++ðq\95yBàpÃá­®²Ô\ fó\b\ 1¿Ç¬7\1cJ@gV\ fï\ 3üò×\9f\8d(\9eú·îîâæò\82>\eý\15üÅë\ 6µFéð\ eè\82ï\9d7Çϧý9¿oÿñm\1cã\17Üi<ë\8a;\939\9búeqòûÉ?.\ 5®¨endstream
-endobj
-1502 0 obj<</Type/Page/Parent 1367 0 R/Contents 1503 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 688 0 R>>endobj
-1503 0 obj<</Filter/FlateDecode/Length 1282      >>stream
-x\ 1}VMoã6\10½ûWÌÑ\ 5\1cù3þ(ÐC²Þ\14\ 1\9alºñ"=ôBK´Å\8dDjIÊNúëû\86\94mEÅ\16\ 1\92P$gÞ¼y3Ã\1f½1\8dð3¦Å\84¦sJËÞ(\19áËù××ß{\8bU2¦ùl\9ę¤ñd\84¿qUÐs¯½Æîl\91\·v§óy2¢éd\95Ìqw6\99ÂR\ñ]x¡é8Ú\9dðŸà­Ö\12÷¦É¢µ×Z\96´\1c'«Ö^k 4ã\19ü^\8cÞnzû\19>Óf\87 çË\ 5\10ë\886i_Ô>\97Ú«Txe4Yù£\96Î\937$èEéÌ\1c\1d=nÈI{\90\96\94&\1c''JIGñNµ\8e­®ÉØó¥Õ²¹ôËæ{oDWãi2\81çþÑÔE\964\1f\ 3>>\15R8     ï;8\81ov\ 2ï[\0 JTø¸\83i¥ñ»\8c@\81U\90{w^\96\ 1\r濫(\18\96S{Mß\1eïÿ¢Ze\0      ;{þÇ\9b\ e\9cV\8ckX@\805bmnXSW.¡M®\1c¥&\93\84¿â T!¶\ 5\16\9a2y\90\85©J0H[+t\9aKGF3\ 4p\88 JÃ{\83\8eÓmíé¨\8a\82¶|â 3\ eÁÊHÂÙ\8e3Fw\89ÚÀ¦È\ eB{±\97|+\v ¯
-\ 6\ 2ÂÓÚ*ÿÎ8}Þ@èd\98QÿìN\ 5â\0\ 6I\ fyî n\19¡¯O\9f\85Öð\v\9bòM¤\1eq\7f\90GÀ tK@!ûp@Ê7¼\96RhGÏ¢Ü"\9fAe®ãW\9b#D`\91\U    \1fy\8f©ò¶\86VA\Ð\84ËUå~\8aå,bÇîÿî«D&\ 3z75¥@(²,bèøn\10Áj¨\b+\9d©m*\e
-\83®rq@&8/\1fK©!\13BÝYSB­ÝËOëOAººãS¤©©!¨\98&±®
\ 3\15;\80\90\16\86w×M\95÷/Bø­U\84\976Ð'Èž7¬gB\96@\19+*Öy\8eÂFÀ¯RV\0\9e\1ad9\rýÁT\12Ò\b\ 5ÚEÝ\8a\e·¡la«0øÄ6Y\94\8d¿B8\7f..¤ ³\}LdËß\893®* yP©5Îì|Çù9¹!#©@\rCa\fÔÖ\88\fåfv­Ê½8\0\80\97ÿç/f!\12|j£ý\ 1åæÈ\1c\ e\ 2à Þ\ e¤\18\8d@^C\1agsx\8bÄ\87&ÁM­Å\ eª\16<Kç\ 4rÃz»P\1a\15Æ­i\10B\ 4\98©Ø\7fÇó%:FW\a\b¬c\85\1c°æ.ûgIº®ÂnÐ0wJs7\85\1ew\9bì\84æ_rá\að\1fÊ»\85\98op\fÁe,òØ\ e\(fNÈ\7f¡·ï#áVVì\9f5Ñn\10´\97\9eµ$C¯&\95ñ\0Û\9dFX{J¸:Í£î\9a³Ï÷ëh¯Pè\1cfס\ e\87¦\7f±¾E\83×{.\87\ 1I\9f&t\83¾íy"´\1d\85n\ e¶Ðª"R\84\8eæ.ß¼Ô\19ºeÃÝ®öµå\ eÆÌt|\97<`8¨f¨ð\14B;·\b\ e}\95\a\e\89ª*\14¦\fO\8dL&\84>\10\90ðj@Ú Îp\8e¾iõÖ\8c±Ó\949ë*ȧã9"\ e\12iå&\em|\98\9d¡\8d1ÀvàM\97Û\8aô5ö9>À*;²BE\93¡nKoåYf\ 3*Å+ËE|Ì2º;\ 2¯\8a\1a\ e(ðà\0\8fQpMs\94ú ¬Ñ<dQÉÂ#Ý\T\81\15\9eØ\9dHÏ#ux7??\89®N¯\90Ç/\9bÏ¿ò\8dv§|`   E±\92G>ãÿH\7ffÒ:\fþ#Jx§,ôTÕ[è*¿äûEn\11Ü^ü£´¤?\94®ß^\8c\93$ÃP+º ×&Ô\ ex|¼\7f\1eB\92!?¡B\87\ 6öx¾HFË)MWc<÷ð\84z¾y¸½¡'k¾£UÓº\ 1\17\ 6#\87tuºpµ\18­øü*\99$\rßÌîé\1d4\19á%¼\ eã5$m¶\98%\8bù\12/GÜ\99\8fØÔçMïÏÞ¿ù\ 5\9b\88endstream
-endobj
-1504 0 obj<</Type/Page/Parent 1367 0 R/Contents 1505 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1505 0 obj<</Filter/FlateDecode/Length 116       >>stream
+\ 5­:Ouû¹¶\16¹\90©Ã#óÒÀ\88(Þbîk!kTµ\ 6 WJ*\ f%\15\85ñ\94(RÂél_ë\ 3°t^f*gi3R«Ê¬\95\ 4\1eÖÕë\1d\7f£Ø\96$FÉZßXS\95îÃa\9b¯.±   \0Ù\9e\83[¼Y\89fݹ½î~\8b\ eÔfß]»ï\8dó\84áñªÔëÏë\92¼v¨ÚQê)\a\ 3J\94b\ f°VI\ f&\10¹Ö\e\886mõÓÚÎ"Ë\r\82饵ß\1c}lµ¼£G«s\ 1Gl\9a»i\9b°ØÕÇÛ\eH\92î=¯cª\9c¶"É\9aÍPBná\11ÁÁ8c\akh\13\1aÏ0,\ fÙ(º\16òwUþ·Îu¨Ód8µ\134\10\ 6\80\ 3ÁåÞP|:íÚÁ\82\b\ eVâLÍZè¶\ 3Q\17\9b\a\7f\86\96\8e,a°è\eZBÖÚÅà¾% \85Sa¹y«[K\r#\18|\9a7o Ñ\14o§ù\ 5\8d/¯ð®\82MB¤×\vÐn~ax CV¬Ý°^ÜN¿\rèÏ\86W|þvõ°¸_þ¼Y-㯫Ïa+?\9e*ò5*zWK\9eSMf\93h6\9dã%\884\97#¾u\17÷¾ôþ\ 1ÉÓm¸endstream
+endobj
+1238 0 obj<</Type/Page/Parent 1119 0 R/Contents 1239 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 578 0 R>>endobj
+1239 0 obj<</Filter/FlateDecode/Length 1515      >>stream
+x\ 1\95WÛnÛ8\10}÷W\fÐ\97\14°\15ß\12;\ 5\8a"i\9am\1fÚfk\ 3Y Í\ 3-Ñ67\92¨\90T\ÿ}Ï\90\94íÈ   \16\8b¢i%\91s9sæÌä±3 >þ\fh2¤Ñ9¥E§\9fôñf÷ãÇ_\9dÁh\9a\8cél2MúTÐp|\96LãSN3>OgçÓdHãé\ 4ÿ\1fâ¯\91´Ä\87é\14\86\9a\1ffÅVq}\90\Ä££³dÔ\9c}æ4\9e\1d\\8c\92ɱÙ>!\94ÆÆÎÝÕ¼szsAÃ>Í\97Èè|2¥yæ\13Á\9bôä³Þ\90Ót\99:\12\96\ 4]\89ô¡®èZ\17B\95ôQ\97Îè<\97\86ð$ÞÎÿíô©7\1cÃÄÉmmd¾¥\99(\16b\7f0\8bWù(û\1dL\82ßÞh\f\9a\91F>ÖÊ*'é\87\14\99*Wáð\98\ 6\83xx8IÎùð\95\j\80¶Õ5¥\bE\95µ\ 4\ e\aäÖÊRº\16\95\93¦KU.\85\95T\88\aI\16Áá³pþ®ÀCª\vØrb\91KÚ(·f\83Kµª\rüï2\e\8cB\90!©Ûë\8f\fJ&mjÔBfÁ¥\f)÷ðµ÷ùûÝü{òR®\1e"\ 6set]f¯fxÇ1"\vq\fù\aú\12?\15"]«2&Ä\879  TM\94v\83Òäz¥KàòXKë,-\8d.h£Í\83uÂ)]ÚÃÚ5\19Þ©2Ó\eKßæÑqBwkYÊ'Ø\13TÛ`\96¯²\1f:8~··Ü\ 5Ä@sÿ\82A-e\8a ø\16'\rº4.\8f9%Ê\f\0?XZ+D¼\96°f¼Iö_\8aB"Ã\8c*a-|d»/ä¶U¨\ 6\97_\e\ 3\8f      Í\11JpÑò{@b#«\I\e\b \0\9c#½D\8e`Fá±\ 2´ºv;O]Â\17\92¿E\ 1rù·U.R¤\8c@Ã3Gj©2z©pBÙ\96oëÀß,à\14\8e.ë<'\9f\e<3|ü:¡K¼õt>\f\ 6é\ 5\ 3\róP->N\99\0\91Aö`Øê^*Ф\9ee\a\80Ï.¿znrË\9eCªÐP\0   \81s?¸\8d¦\a\90À2\ 2Ç¥ávgr\8c¹q*`Ã\94\vÇÞÑ%Ý\1aU\b³=¾ØÊÿ×        Úä×[_G\r\ 6\ 3Í\82;ú5\99±ôëä\8ao\84zr\arãC\8b@)\80U\b\8b^Ç»jËqó«\83,\e¦í\98\1c¿Ó\1am\fFB*Ê\15@;,*JÉ©zXÃw¦#J\1a\103ÍüÕÆÐBR\86tZÉ¢     Ù!\82F=_M1tû³\96\r9
+/o=]BYÛI\82áGüÚ\88-© \12Q\13\98â[N¶¥
+¾×jÄ\a\19M\ 5´7Ð\11uNY5cà\1c\\89®\10OBå,3   ]\a\89d\14Zù:\85\ e-\eX=Â\ràÌ°J[Ë´9P\96\ 6`\84wx\92±¤=z]\ 2\9b 4hùC\9f\14bm,y±\8bÁ·É>S%z\15\8a\82\18ÀÃ8¬ôr©R\ 5\1f\89ªÂT\80È\87\81çA\83\84\82§\1cCZC\J·\93¿\8fP\8fÒÙ.ú1Íëft\1d´\£\93Ã>\ 67CþÏ-3\19¨:ù\9bG¬­\vè\ f\a\1c=\ 2
\89\ 5!c*_]â¼\7fµ\13ùf4\83\16"V£\ 2\95\8d¶ðBϦ\7f®r½\10ù}ÏB\199÷Ø*¶X$<ö@c\86Ñ»±Ò½c«§7}ºàñ;HÆ£!\14\ 3ë\fþ\85f°¾ó\14«è}\88°      \ 2K\f\7f\8f\89ÄÖ|O[¹#Êó\13\11ÜÝ\89Ó\9bfä÷\1a§\13ï\1cFg<\89DN\1aùðLÀ\94\94+\8cvA?×HÛÞ{|ñTJç-ß\93]3ïDn5\84b˸";<k\8cx?óñ\88%\ 2\96¸À\8cT\14î&£8þ¡wëCÍf\7f\94\19æ\1e×ÔÇdc]7\8aõ\1c-\ 3o©FÐÍ\9e\80\9ag:E¹K÷ú\86àÇÿc-rµä¹ôÂ\16Ðô\ 5²äB|\bµj\80ci\8f»Ò'øÞ"ïÖªp,Ñ»äcá<ë\1ae3r¥¼Ä2:ߤ»úò}F¡úÌÑ\16Pþê\9bA\1aÐå+w_¾Í\80ºA0\8cÕ)p^ \12F\8b\f:\83q\e42×\98X\14sÚk½/]\13\82o\93\96úTØrv\81ù9\1a\83\18D°íÏñÖ@o\ 6\8b q\18ø,\0Fú`³\ 6\94\96¿çÜF\1a\e\1c\87>\11¶b\16",o<[P\7ff(·T¦ãvQnÃ;lÉ\90[l/Ø\88öú\8b®ìÒ"®\1a_Uj´ÕK×ò~\1dDIñöÁ<
++\8a_\9f\11÷¡\8aÄæ\8b\ 1ÆÖ\8eX[^¤\1a^ð D\99xF±³Ó\9bé~ë\9e^$\93Ñ\19·ôÿú­\80þû7\81ñd\9cLÎñk\ f\e?\e²çOóÎß\9d?­3I\0endstream
+endobj
+1240 0 obj<</Type/Page/Parent 1119 0 R/Contents 1241 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1241 0 obj<</Filter/FlateDecode/Length 1672      >>stream
+x\ 1\9dWËnÛH\10¼û+\1aØC\12À¢%Y/ç\12ø\11#>ÄÉÂZ\ 4\vø2"G\16crFá\8c¬(_¿U3¤LÓvv±\b\8cHâL?ª««\9b?\ e\ 6ÒÇ¿\81L\87r<\91´<è'}\19ÏúÉPF³)>\ fñWiY\86\a£\93q2zéÁñxôüÆÙüàèòD\ 6#\99/ád2Ã\87Là ß\97yúö\93ÝJfµ\13%ßluï¼ò¹5²ÌM&¹wxVªÜHj\8d¯lQèêûùwX\1cÉ`\10\86SX|{*×sÙ¶Là\96_éÆÀÍéç³Sü ¼l\95\81a%\85MU!\e§+ñV\16\ 6\17\8cÏSåu&+åø{\88äÑ\10½÷¥78F¦ðú\18\97,m%ÁK"W>æäW¹\93Å\ e_rs\a\8f×Ú\9f]}¹\11£J-?6ºÚ\85[´~WÙÍ:>\b\18¤´Óq§\9cÛ\94\0+ä¡Uº\12»\fY\96ø\9c\e<ɽÜi¤·Pé½,+[\86Çô\95ó)ó~\ 6©(\80\9d*\83ÿÝ\16h\14öÎ\9a\8eçJÃ\86ó.\91¹\15c½Øµ6âtº©r¿\93\95-`~aý*øk×\81Æ\99¡Ó\85N ìíÛù\97\8b\85¥G@|vq.éÊ:mnßuü¾\10l«J\121\80\89*\91Ó¥g)YbÚlÇ\0ËYôÄr¿q\92V:c©Uá\10\ fËÄ\9at|3ò5 \87¥ìö\1dÉ@»Ï":\14åîY`2@­×\95}PEB[mâ÷\8e\aè\1a\e8Öäý\15\89\e\8dP²×hÍÓú\ 1y©ÈÔH^\84\92®\94¹ÓÂÐ\9b\18\ f\11\1f¾ÖÄ\ 5¡3k´ \9b\186\\85Úíù\8c\1f\9bt\e¶º1_¡mÍÓ\ 5ó\a-\89@ð_sQظ\1e\7f\11øR9\96'µë]\aæ\9aÂ0\87\0;\85c\7f©\14|®S8\8c\1c+7~£\8ab÷¤e\ 3\8dy®Á£Á\b\98\10\89Ç\92@0¨E½ãQ,É9¸\7f£Ê\85
+* gè\1d4ãE\94\9eóßJO2        5ÍA|TÉQ»\86Éð\10-\12\931г\aMmB~ÐÐuAyá1ðÄÛÔ\82\80+\85\13ì©\9dö\88\0ôXn\98\^®\v]\82¦:\vÆ:¸Å\88çZ\95¤\13ëÆ\12ÀòÆd\bÅ\83¾Av¨¤\8d¥X$@Ô8\a \eöKm!\90\87¡0\8c\8e?0'w+40yÞJ6à
+4\87\93G4¯¨B¡h\vðwI%G\99\95\9c\81ð[\82\15\82ÿ \7fk*
+j\16T¾ÒÊ!~Ú\7f\12\87\10Õ\83Ê\vµÈ\vh\ eäqÙ\89°&I\94¹\bOMFp\94be\81Å\93ß\83ì¡S\1c¢EÉÑWÐ\87\87<ÕQ\ 4Q°({²mú\10>:^ÙÄ\81b[ó:Åâ\9c\93«Æ\93ªã\0 /µ~¤Õ\r;\1f3
+å1w5O\10bÝÙï\19\aæõ\1exâX«ÓÍÕEK\a\88\8bãÌ\ 1¸\rF\8d,#\0V\0        @\1a¡ÔÁ¼ó\16\ 2\b]æE7çu\95?`J\1e}>=ÿtuý1\81¿Ú
+\ f\13\ e\92\b*\eF©2»\12\ 6Åå\ 6ÈÆ\ 2 K\92± ÒÈÑ@Ç«"\87\88w ½¶[\95©]lÿVj°ÿ<D\90:\ 6\85BW\98\81\89Ï\16\89Ü\90I» ;\rù[Ï;þö\ 3\935\ 5\14\ 4\8b\94\r\8cØeÔ»ý\93­Ý\14\19ÈnP(\8f\15\ 2\15¢\1fHì1ô@{\93uüXÔµÊ3\1dÌ´ò
\11\9a\91\99ÀÖ\97\9bþ\9a[ÐÒc\9eC5\18`ëþ\93ø9\8d\80ìÏÜyfNk,z\0\8e{B]Ý\16\1a\878\8d\89î»Õ~cÐ\1eÕ:\r«E\9e½ixDî0¸£Ë´^ÇzÓd6\90\93aT\82Ûád*ñ@³¯\85ç½A\7f\1c\19>Gü\7f\99üg\1cn\99òj¡\1c¦ZܽØ\98;\93®*kò_\14\9ef\9fyZ\9e\9ay¥Æþ\ 2D0ÿ\9b\ 3û\91öéQ\98\ eY\80"|\8f\9bWÐàHþF¤ÿÕ!W¦º\17;\8eJeâ|ÚËF\1c×P0´A©2}Hê7½H:G\ 1BÞX\13¯np&\8c\11\87?êÖp\91G:îxÁ\15\9c"ñ<\0¡\90EI«)\1c,\97\1aîy:E·\19Ò\99ì\8dz/ÚØÍÝê9»;ÎêÓj\81>\a`*MµãÞ\19\ 4¤\92}\r¹µ³\96A÷Y°%´{S5cø)cÆÃdÆAú*c&aÎ\92.Q>ö3¾í\8f\10\ 5ýÙ+A¹¨ËýȨß\97·\93,\19\1eÕ\115Âz\80¶Aç¥÷»Cà\eÛÏè\9f\1e_R\ eõ\17»¡yWx5·¦±OÍ\ eòáÃú-nEªü×°ÙÝu -V\82E\91\87\9d¬ö¬\84+\94É¥U¾Fýè0ò4\vôD²mcx=ÂFÄ×#.'ÞbÂcï\8eã\9cÈ»\ 6ì\8e·Ç\16\ e\8bÏ\8b\185\10¼\80Qo8K\ 6'Òk(r\99\e\ 6\10v× j\8f\18--V\1f¾p1\9cÖ"\ev\f\14°\9d\rN¡C¨\8c\f÷èrV+Ø`\82\17ÞÙ1^TëW¼°æÊ×Ê~G\8d±\14¦x\ 3ÃRÊróf¯¹Ð\9böOHáÿ÷F;\9a\8e\92éd\86­\14&ÆÇ´üq~ðçÁ?'Òòjendstream
+endobj
+1242 0 obj<</Type/Page/Parent 1119 0 R/Contents 1243 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1243 0 obj<</Filter/FlateDecode/Length 822       >>stream
+x\ 1\95TMoÛF\10½ëW\fÐ\83Ý bDJ"\95CQØù@}hêÔ\ 2z(zX\91Cq\13r\97Þ]Yå¿ï\9b%¥ØJ.\85\ 1Y¤fÞ¼÷æãq\96Ò\ 2\7f)\15\19-s*»Ù"ÙlèÛ\87ÛãaAy\9e%\ 5­6\ 5¾/×É\92\1cS\8dØ\ 5²Ï\1fSìz³IÒ)6Cü)\94\ 2\99#Èù\87ÛíìÍÇ\ 5½¥mMi²Zf\94£Ê:ßж\8aØ\vÚ\96×Gë¾î\9d=ôô\vyÕíÔÏÛ/³\ 5ÍS0Eàue;¥\r\av\881öÇ\ 1­Ý[ã\11\97\887\1fW\94¦R{>\16\9fgE$\ 1\85\86éï}kwªýgî¹\fÚ\1a²u|ï»]RZS\9f\9eoß¿KhÛh\ f\16_ÙÇ\18¼#kÚ\ 1\1eìu¤&\88FuL\ f7¿ßÞü\94\96'\9eË$\13!G\1d\9a\98ú×ݧ\aòì\9eØM°@6\96zgw-w¤Æ
+/°\b!\8a>q¸½ûã\81F¿b@hT\90\1f;V&P8\9b3\15Ýñ\99 W´\e¨³h\1a\92 Ö0ô\94\8d6,4\98zå@_\¾úÞô+ª­+\9f\897VÊ\9dÑ/ÄN\1eìèØè²\11I\8a\ eF?\1eø,"Ò\asÇÑ\8bJ
+D\7fî\9dî\94\eèýØùwÖ\ 4\16n\8d}}KéJú\8a!Y¢µâíoöH\95¥;\80õ­.U\10\8dLhd¯¼?\ 2[·üë˱@zVHò\9fSÎË    x\96(þz6^\aý\ 4¯î\ 25Ò#Kp·\12\e\8f\r\eF;©\84±{1ÉÆúp\81\14üîTÅ\91¼ÌõÔ\99\ f\88\1fè\0íW\1eÖ\83¥uÕ\ 4 \ 5#ð4¨/u\902Õ3\ 6gÉÕ©l\9c×\87ËQ8Åi³ÿ\819\14éØ:°\91ê\86Ñk\8f.\9chgùèôÍ8\9c\17\8c°-\ 1[
+!­,kà\7fÃ7MüxÐOªe\13ükÒ\81º\83\ f\98÷ öÁÖ\80Á`Sº¡\ f\18Q+6Jï\8eÚ}ç\99\8e\91}T\83\88õ\8cäþY\9bÏ\1a±Ìµ³]DºÇªN\r\91­\85:<Áøøã!èV\a¬±\1fL\99\8cÿ¨Tæb\9e%Üûi\90\83SÆ÷Ö\85$¾ÓÁs[KÒ¨(rB     U\96Ü\az%gâÕ\84\1cSkH\94k`\ f\ 1\ 3\vwÜ©'2\ e\91ëÐó\ 5\ 3u6tZ\83ÍtÞÒ\1c§{³¤,ÇÅÌ×2ÑqûèÞÙ/8lØ£òÐÁg%7NPç§\94y±Àuþ?ë³*VI\81\v\8eÓ]]¯W\82öa;û<û\ f\ 3!endstream
+endobj
+1244 0 obj<</Type/Page/Parent 1119 0 R/Contents 1245 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1245 0 obj<</Filter/FlateDecode/Length 991       >>stream
+x\ 1¥U]oÛF\10|ׯX \ f±\81\8aæ\97>\ \ f\8e\15#F\92&u\88\14\ 5\f\14GñH^EÞ)GÒªÿ}g\8f¤èØr_
\92%îíÎÎÌî}\9f\ 5äã' UHÑ\92¶õÌ÷|Z\84\81wIñz\85ÿCüYI¹{\10\a±·<õ \8cÖ^üòÁzM¾7¾Ø\ 2\1fPË_yë14ö\16}ö·      \17\0\96ã\vÂ/n.)ô)É\ 1q¹ZS\92¹çøf{öUÔ© Ñ\90 «ÍWÊL-\94¦ZÖ©´çÉß³\8b\9b\98\82 ?;\ f×^\88ÓgI©\1a¯ kº¢¤¢S\99¤ÖP#ÛVé\82º=õ\89# =¨¶¤\9d´Èhp¦kK©[µ\15­2\9aD\81zM\8bT\7f(\9d\99C\13ú\80ÿasíqu\9fæá\12\8c æ\17%·²¡GÓ\91\962£Tæ\ 6\84òçT\16JÿÂñ\81\17G!Î\80\1a¼ãÔ1-\b@ÞFÚ\aiÇÔÁÒó\97\v\ ek\1c\v\fÖX*UQ\9e
+\ 2nút\9bL­dòAVf_£\1dªTj\85U@x\7f&Ñ°´Ä}\89ª¢Ü\9a\9aø°HÍ\83¤Æt\96;A¥®Á\97´\17Û\9d(äý¹G    ¢J©êLTÜÎ\1cý\aQÏùTà \90T\9b\96\ eÆî^öÂ\95>ï¥þ¸¹úB'!º3l\8a`ÅÂÎ\aÖ¢ÅÈÚm\8f\9c\95älV~ï\94\ 5ç\ 3Ò\86@=mdª\84\91\15¬\rJ?ë!b\92\f\ 6\199á´¹©*sà"cÞÓ\1a¢ó\9dM\17sô2xb\12Î=\0\8d\83WÿgKw2{/Úÿj©\8f\0+p\7f-\85î\rÙ\94¦«2*\ 5ä\15ð\82\14M{º\17\87\97u\835\9cÿïÏ\98Ë\9dÒª½??Ý\1eúgWq\¥4B\v7R¯\85\11\9fÊ­`\83ñ\84\bLÊÖÔ{\85\ 4EoÈÞ\86}\92Ñ\ 1ÓÜ`\a\88,S\ e"dc¹\80XgÂf?xJê\ae\8dæ\11\18\9d8\ eìo¦ÅN(Á\aN³Ñ\81\81]{ÌÃÓO\ 3¡\83/~&Ôp\88kñØÏ9ª\17Òå¨Éä9]oÂgþÅ\90Dq¿$®]\8f²_>¯êx\9bs      °>î¤i¶\18\ e¤z~DZ\99a[¡\13\8dqè×#/<\90äÈÙ\1a\9d«¢Ãi³gÒF%\87á\9dÏy ÎYý_7·wÏ©ºÊ[ì\v\16Êv\1aB\8d¹j±\ 3ï\9cÕñ¨ô¶ê2yÑ\ax%G¶¼>Ù\17Ø(\95B8[ÓyïâƧK\9eïq)\1eÇû§Læ8@ﯾ½ûëÃÝÛ\ 5\ 5#^\3<¼?D¸Eâ"¦Ëà\89cxãâ\bHU-î\ fÙè7N®§\8dd*sÚ£¬\93\17Ü\83\8a'K\13Þv\92T\99ØO_{ôÑ\98\1d\v2´\\19l$C=Õ#æ\81cÓa#\96\8fÎA¹ú\ah\9eÓ\9c°zý\18À\8e@2n£ã%Ø5\9d¨<ú\13\1dn%· \87\81v:O;+\1a\94ÆE¨©©S\8f!\ eį§+3\8e¼ËEÄ\ 4\1d\8b¼rÓÆ«Ø[-qÓsðbÁݽKf¿Ïþ\ 5¡\9c\898endstream
+endobj
+1246 0 obj<</Type/Page/Parent 1119 0 R/Contents 1247 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1247 0 obj<</Filter/FlateDecode/Length 1437      >>stream
+x\ 1\85VÛn\e7\10}÷W\fôR;\88\8b\r\14¨\12;h\90:qe\ 5EP÷\81Ú¥$F»ä\86äZ\15\8aþ{Ï\90+Y\96\95Æ\ 6\84Ý%9\973gÎðÛY\87ÚøïШK½!¥ÅY;\19\8fééÇ.ñÒ¦á°\9b\8c¨?\1eá¹7Hzd%-°·M\83Ë!^ãJ§\87\15ØMÚõOmeÐë'\97õÞ.ÎÖ[O9ìw»I·ÞÚ\1f&\9dÝÞ\9dÅ`»6Ûí\f\92áK³H«;Ú\eÙû{3;k½kÓ%Í\16ÔIú½.\r\91Ö`8¦Y\16BnÓ,='8\14yA?Ó\97O\9f§É\87\9bé\9b\9bé§ûdz3ùíöböõ¬MÍ\ e`Â!ìu2­¬ò[l\9f\ß¿X\96:µÛÒS)\9cÛ\18\9b9ìÛJÇûZïúÔép,Í\18L\131sP°û^S*\9c$'\8a¹À£þÉÓB-+Àf*O[SY\120æ¤}\94\96*§ô2~\8d±kQÈ×ø,ɯdt6¨\9d\9d\1f\1c|\1eÆ9\99Ò+£Ié¸\0\18C|\9cp\ fp"0WÌ\93ÔèÅÑÉ«Ý\81\ 3l\9bÝA2\8eéÐ\81O\ 6\0á'kiçÒ\1a\97Ä\1c\9e\e|\89È\17SQfè\95\15i)3\12\84`\ 2®\19°É\91¯ÈýÊTË\15)O\eÃ\98á\84Ð[Z  [à!#µ`çx\7f\ 4\90: £é>\80¼QyNó\0ÖA¾b\9ec\97¡\85àU\91®ùE\e[\88|_Ó'\ e,\8c%\93g¨H\9a+©½Kè=É¿K\99z\14\8f$17ðnå·JY¤\111wÄþ\19\84\ 3çéJè%H`P\93ÍJâGÒRzDé=|\88Ô+XÊ`&õÆnQ7/\97Vp\r\93\88ç%uFÌ0\18E\ 3ö¹\82÷ÒWeäJKú´µ¶óÁ\89\92â\ 4è8ä\133\ 4](­8g®=ó08!Îw\7f\9e\94û!\r(üý\19HêþÚ¥»o&:Õr Ì?'v²¥u\96þ\ f\9d\18É\ 3ÓÿFH¾ßt3éêÖ\8aYÒ|\v\ 2qg   j¬\ 1\80§Ï÷7Ó\8f\93Û\9b_\82\184\ 2§
+\81µ%9nÎPäÐ\9d»\86\a*(T*K/³]\16u/Á<óá\ f¥»m\88Û\87ë·¡j\8cü0Öêã§ÙÍ\151þ±­\8b
+\11Î%Ue)-\vÄñ\ 1î\12\91;Ca§ÔÏ\82b\1d        \1d\ 1kP\r\88ÃõÇ{Ê\8dY\83\10 \18\aóþ\ e­\9a\1c\99Ð+6ÄE\13\18}\1dv°´\1c%RS\e\99î\f×F\vQ:n\98\18\8d\82\ 3Ëá³#-ý\\19Gl\8e]ñ7 @\ fçJ&áme\9c\ f«\e\1cDÏ!ôBDiâÊÖ 
+ïEº\92ÙÃ\ 5\81\8c(\11'   !\90V\83£\8f\9eô¸0yn6h¿º\b\ 1ßc4g\88I
\98\17\e\81j\19ª!e\11áNô+NZ-W\9eë\8cu\80\a\84Æâø\1d\ ext&\80(\99$\9cåi\88\bU\85Ó\87(AK¢zeAÚ\8eÜò\ eÚ\16t\8c\17AÚܤèYi­±\8d¨ \1c8\a\84P¿\82Ú! \93¹Ã\17K\1eïß\b\1dÒÛ)6¨^\96Æâ\9bf        \8e\96b\0\\0·V%9oE\80\ 6Î\9c\97%\rPÅMB÷üÜcÀ\8cFyXÌ_ôF-ÔÁõwüfß׸·HÉG\9e¥¦(«¨\96©©´\7f.\ 2\a*w\8dâÕm\8e¾FÓòø´H\v²½â÷
+Ã%Lz¤S+³°s\85$\81ç®Ý9§\0järc\92±r2\12PèF\10\ 3Z\1as,\ 5éʨT>\$ÜìàïK÷\e¸\96\84¶/\94s<¤k?qx\95V=rÆO³àá¼r\15*¸%k\8cGwØJ×òüt\13\0½x2\1f\11\8f\89\11aÂøÀÌ\88ã\ 3w\14\1e\ 6w\ 6îy(\ 6\17\99áÓE¡\8by\93\9d7æ­®(\88æ\15\86FQðôÅìÆȨtÖx^\ 5\?÷ý\1cu\16ܨÉÉã¥\89\9bÓÚù8s¦w·\9cûTf¿¢2n\vf\15\ e³\9f§{8Õª\9cmí8Ó\9a\1a\13ôéJ\0ýy!"Ü\96¥\80Ê\80 *\92>7K\ eA,!9\10%\1eì%W\ 6\10ø\84²\8aüá"&²Ë¿y\98I\ 3÷Á}«pêLEÜS\10§®\ 1\18׸u\86¸]\8f{¸k\8f\93ËË8¦'·o&tgÍW¾<\\9b´* %\ 1\ 2öÙÜ\1di\8eÚ¸sý`¬÷Gýd\84k.î·Ùù`È\ 6nfg¿\9fý\a¡K£,endstream
+endobj
+1248 0 obj<</Type/Page/Parent 1119 0 R/Contents 1249 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1249 0 obj<</Filter/FlateDecode/Length 730       >>stream
+x\ 1}TYoÚ@\10~çWÌ[IU;æ²á)JB"õ!i+¨ªJ\91¢e=Æ\eì]w\8fPþ}g×v\ 4$*\b\eð\1cß1³\7f\ 6#Hè=\82l\f\93\14x=Hâ\ 4ÒtB×é<£ë\98>\1a¡\b\ ffÙ4N?z0],âéG\ f&\8b,\9e\9f?¸Y\ f.ï§0\1aÁºðmÓy\ 6ë\1c¨u\92À\9a\ fW¬Þ0¨\9d±°AêÎ\95,ÄÖiÌái¨±V¯\bí\7f1g¼Ä§\v`2\ f\81u#ª\10\1d\ 5UÈ$°ª\ 2!\8d¥»\8f,,j°%^¬_\ 6Q\ 2Ñh\12\8f©ýp\87z\83Z\19¨ÄÆ\84\82\1c5}'\ 1º\ 2\98Ç>ïò~\ 1#\ 2]@Dø£É\94ØS\895\12ä\83r\1a\fêWjcк¦MèùRÇqF*Rø7Â\ 6¿\84ÌÕÞÀØ\93ç\95@iÁêC\9b4ëD\1a\82D\vΠ|\86'zµåé^\12¶ÓúÃ\18~+\a¦T®Ê½~\95ÚnI\12!a/l   o4ý/å¬Ï>RA"æBnÁ*ØIµ'\80\r3f¯t\1eÃ×\82t\13\ 6
+&*ã%\94 \9d<Gº«\ 4©`\ 5ß¡5ï°-Eî\15\82-ña]\14\14*8Ò©v\ 5K\85\ 6Ä9´\92\91ïä'J®Z\8c\87\ 6A\15°¼[E·7·ÑÃr\ 6WmÇÞ\1ebvl\8eg\16T0õ¦Õú\14à©9ÁÉv\18;?É\18¯\fIJrÒ\97`_p®\v "ï³\9cñ}ßZ\86Ùêm\bãt¤ÿOòø(Ò\90é\8eU_`ã,\98\ 6¹(\bA\89\10í@5V¨\0\83\97JQ^_\13\98óæ\90\ 5ÌG\9c\91$\8fÊâ\99EG
+ø1
+KÈK&·$}^\vIÞjf\89f?\16À,Ð\9a\91åJr
+
+ëµ¼í\17æ\8b\97\89kd\16\ 3n-¶¥=µ0 ð}Óv\8böã\1dä4\ 1ò\13QF¬Ï*<÷4ãg\977AÌç*gMülyãÇ\9c¸\v\r9\16ÌUÖÀòqÕîa\f\ fì@\vQ\88¿a\1f¼õGÊ{\a\ 51h\18ß\99n\8cæÝþ\8dR:\vç\13\98$I\8bquýps\rßµzAni^¹«Ið ·/\eõ    Q\96\7f2LéLÍÒ9\9dÂt"Ì2\9f\1eü\18ü\ 3³\ 6·«endstream
+endobj
+1250 0 obj<</Type/Page/Parent 1119 0 R/Contents 1251 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F3 6 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 585 0 R>>endobj
+1251 0 obj<</Filter/FlateDecode/Length 1413      >>stream
+x\ 1\95V]OëF\10}ϯ\18©ªd$bâ$$áê¶\12_·¢\12ÐÞ¤}iú°¶7±Áö¦»kBþ}ÏìÚ!1 µâ
+®½\9e\993gÎÌì?½\88\ 6ø\89h:¤Ñ\84\92²7\b\ax³ÿõý\97^4\9e\84S\1aGÓpH%\r£axÑ<\15\r§³pDÑ`\10\8eq::\1fàÔ?ñéÅ4\8ch2\bg8\8bÆ\178s\ f|tð\88³É¨ý\90Ï®\16½³o\174\1cÐb\ 5x\93é\8c\16©C\857I0\17e,H\18\12ô°\18SªJ\91WTÊ2\96údñäl£©·í\8fÆÀ½H\83_U^åÕ\9aD\ 5#ºñ6ÛÜfäÝ\rá·\1dS\145¶Ãi8aÛKcêRÒNÕ\94\89\17\89¸­Í+\19©_¤&ç       x¤½º{\9cS%ð½Z\91w   \86\9dË`~ûýÏè8L\0D)  -éé\ba\93U"\8aB¦Çn\ 6Ô\8fF>«\9bÇû\8e»SÚfy\92\ 1(óóÛÍõ\7f\84\ 6Oø¸ãÌa³[E±H\9eëMKu¢*«\15\80iã½7i³õ\ 18&Át)@\9c«\9bë\ fI8Î2ð_vª\12PØD\19N 9\14ç®"¥S\94À*G!ÙL6@Oi\95kcÉXµ!\10Ù\94-\15²T\15è\ 1ñº®\9cA¢Ê\12Ï_\8e\996\8cVÊþàO£¦\9c£ópz\ e}\ 2\84\8d0f\9bRÿ\89\0\9cú\9aÿ0ýý?¼\15ºÄ\8bà2-!Ecµ°JÿèÌ\90\80ÿ¨\15_ßûÞGG1·ÐÝ\81JÞ²tñ8\17\11W
+dd¶åZ\ 6|¢ªbG¥H²¼\92þ\98%²Õ¹\85ã$\91Æ\80AFqPÁ\83 óË{J\85\15±0ryB¹iò\vi\ 1ç\1eýðÿ¤\18°\ f\ eP¨5Ú×u\f²è héqI¡w\81\95=\109»¨$ã\17zG\e\9d¿ä\85\#EE"MÛ\8c99\17Í÷UHw+<\ 2\ 1þ\99Ú¥¿ª\8bNpnøm\ eÝ\18É\94\18DYËÏU²×Á\17â\81#Ó¶\ 6\10\83\13îÙ·¶Ä\aÚBú\b\85¢I\ri\88\ 2A«TmC\9a7q÷n\97Á\fäC©´\ 1\ eGJ© \8aTZ\91\17¦Û\e(\r\ e\91¢|\85àxü¥òE\16jSJp\98¨ÔÑÄ\83\a³¢\998<ÉTmyÒ±\ 1hK´\14\10\89# Õ\8f®ÑWm1\94ë¡\ ey¬ÄXB\8b2CYY&ÀáB:J3µ\91`\1c\9a\8c¡¿\17 \17q!É(8\ 3\1c-\v      ¥Q¬E\95d\18\ 3\8aâ}\86Ϋk^Z+|h3­êuv\ 4·\ 5ºWS\ 2Lào£\95U\89*NùëÊ7\83\17e%·´\f\10\1c¬,O:©µ]ôέï< òû¡Ù\ryÅZÄ,B~H\8dy4¼\1fÒ\Ë\ 43`ÇoýÔFa÷µv\ 6\9dÈ[U\17)3\86\91¦¡®>UJ\97\18m;ú\\94gµÑg\85Â*9CÜX\9cq\93 ¢ìûC=ÞUû\ 57\b_\1d9\ e\8cëÑB©gCEþÌ\8aÈM\13¶mý\ 3U\7få=ûx\7fy÷@\ f\97÷·?ûpû]Ø´Ck\18\9cÍý>}\0Aï,Àû§\98!õ       ß}\1f ×W«\1c[Û¢²Æ÷O#é÷ÅD½Ð\82\8a«ÃÝ)_E¹A        E¬^ä\e)´¯\89ßÕ\9f×\81g\80»\ 1¼\av@Û\ 1ùC\8e\ 259åð´\8e%Tªå¦\10        \8aßÜ9\167W\90ê\82\a\1fFÇÍÛ\8cvf\³´Ë\8c\91èikB\9bÆÇ\84\ 6\1fö\97W.º×\r\ 2ÜV°lÔ\96§[¼#^\8cî\r\80Vø/¾I]+ãLT;Rл¦\1a½\80¡kÛ¡ÿ,wÇ\13¹_ðdb4\aû\a8k,¨\9d+\94\e\91fg¬,O]@\839å»Á¶À\80\11KÒÏ\15ð%Èd\ 2\93\14Ó\12Ë\19[ÖQÙÍñAmO\9bQ\ 5ô\90\86\92ûÔk²½0ð>(yðÉ4·~dwD\8dæ\rq;Z-\83s?5Þú+ðeä5$÷W\11¸ñYt\12¯\80\19\94µ3¹å¡\8büÚ\8f±e\80\8d\8fe\87ÕàHò ö\9dÕZÓOþ Ý@\ 1º\18w\ 1È\9bSýk]¨X\14\7fcÙ%6Ç\14ÆõÕSÞäÄõââ6\ 2?o\96ý\81\ 25À}¼ÙÛ\97¸Ö¸K\9bçÕUèÃ+üx:\ e§\93\99¿\\9dÏØÏí¢÷{ï_\92ÒÕÂendstream
+endobj
+1252 0 obj<</Type/Page/Parent 1119 0 R/Contents 1253 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 594 0 R>>endobj
+1253 0 obj<</Filter/FlateDecode/Length 1673      >>stream
+x\ 1­W]oÛ6\14}ϯ¸ËK½!Qý)Û\ 3\8a!\1fëP`N»ÅE1,{ %Úf#\89*IÅñ¿ß¹¤äÈrÖ§¡­S\9aäý8÷ÜÃ\9bog\ 3êãÏ\80¦C\1aÅ\94ägý¨\8fo\ e\1f\7fþv6\1dGC\8agqÔ§\9c\ 6ãþa\95ÑýY{\8dÝÉ(\1a×gýîd\18M)îÇÑ\8cïÎgѼ^ùÝÖ:§a<>Þ\1dĸ;\89§ð\87»ñ<\9aÔ+\7f·µÆÝÁäp\96wÛkì\ eÙo°Ä»È\8e\11>dz)>\87øg$­ýÆ`8A°\9d\8da\7f\84(Fc\1c\849@0\r\vïëeÉ{óã½Ã\12{Óy4z¹w½<{û~L\83\ 1-×(A<\9bÒ2õÈ÷i\99ôîä³£d+\8a\8d\95ôãò+Î\ fëó=Úió¸1º*é]ØjLõ(S\85$Uøk\7fo2½\12Ù?deâ\94Æ\97\1a¹\8aôçpirð\7f9\8cQºeÚk\19¦Û\8f\8bcã}:\9c\13\16\ e\94%üåø
+\91KÒkÿÿTç\ 2þw\92\ 4pýªU¡\8a\96Z÷ÿÒ\15å\95u$2«i+\9eB\9e¥0°ä¤éf,\8bÄìKG¥°\161¦ö8²\1e2t\9c\1a\9cöÀööòä BÃ}xXkC{]\19ª¬4HC\93¨\90KáT"\9c¬ã\1d\81\vv9Ï»%}º½é&ó^\15"Ëö\17\94\1e\9bëT­÷\ f?\92è&Ò$\80\80Í\13¢ø\9fëwb\9e«\88\90ùÇõíÍ þ9<\86¯U\98åVÚP9η4*\17fO¢Hi%\92G\10®.o¢\vgt\961t÷"_ Ú©,#á\9cÌQ'àÅ'Dâ\98\8b\ 1ðï#ì«\10µm98nÙ\91"ÙÖ\1cC\84\ 1>\10°¶~Aà\11ÊI¹ØÓN\14>\ 4\98º\89ÀÔL\81\85Ó\ 2Û\92{\83t\85»È½Å\ 6n\9dLcOäºØ¼\ 2A\97\11W\198\\b§\9e$óB­}h>,\9b¯Ò\9alh\14&\e¨C)\93>çÖe×>P´Ómh¥6Ö\0\ 4H1y;    \1c\87{qÀÂ7\ 6·ª\17\ 6\_Iúïþ?åÏOß¡
+¬¢[·:½ ÝV¡<;è\82bb¤U"SÆ:p\ 3"\eÅè\8f,Ó»\86/u&ò\19$\ 1\ 2\9c·e\19É%\v\9f²9¾\12®\93%\1a0ÕÒF´ä\94\82s\92
+\97\r­\fJ\94\bë,\bÇ(Y´ß\97\ f\94
+'V\ 2°5Åç\ 2¬\15
+\9b\9dîøl!\vVl nÖu\v~\90\0\13Æ\ 5e        É§B\826\b\ 6þ6\90)fÙÞËO\92\8d×\9e\95Ü ¸ÊB+\9b  Ú\95QnÿC¨À\9c\ 6x$øµ¸Ä[äÕ:Øg»_\90\fC;ìã\ 1\ f´é(\1f÷ø4\8a\16¢ØS)u\99É ½Â>¢ZFn\84I9\0_\v\a\15ä~óNÞ ü\95Ê\10\rC\a\99\ 6qUÉ'\105P>uß Ô(h\88\95ß]\14N¬à\1a\86X\1f@\19\81Jæ+\94°\16Exíجë¤KiÐ3\b\11nsõ\8c¨QêÐh,º²ñÚ¼gK\10\ 31\82*\15è\89FZ\ 3btóJº\9d\94á\95L\94\1ce+\12P\86I\a(¾U
+\17\ 5\9d{/çÞ8§9|$¨)C\ eÅÃk\81óÊ#\r|\9b\1a:\93\böBv§\²E\9cÈö<\ 4\1a\8cEtõ\9añ\13Brðº@\83\14R¦ÜSë\ 6í\ e\1aPxÎ\14Þås­u\87
+\86#ºf±Y\8b*sèÇ\97\8c\80çQxAέcQ·UYjsÒ\8aÒ]\7føxﱸ[þ¾x\1axN·º\85\81F)3ð*ÙSCvË\95\eÎÌ\9fk\13\84   «y\0¶~Àè¾Â\96õ¡®Mî;Ç\93§±\ 4\ 4ü\90ÖæÒ+\84 ëdiC°©ç»8ÈÔ\90\98\9a56uAx\969`é\83ÓA\86ùÑgB66j
+\9fªÈ!á:̦  h(°|NdéÇ4\94ÜÓ\90\1d\9eß\87A\ 1M+6Ò\9cÓÚè\9c\a\911z×\82bà \91e&XpWû\ e\85+\f\7f\18°nÁèÄi¼ª\9f\11\ e$¾ÑyYáé±ç´XÜ`xY¨Äh«×\8e\82C\86\19§
+«3\89y¦Ì*è\94\aõíûW\14éËv\1ffB¤\80\1eãI\ e\99\14hì eô®îñ_\82¨5skK\9dn*cà\94ßÍ\1aûÃe\90\b¿\ 1Å\e\a,¤ô/\9d\a\ 5c¤W/Ì\1eÐXhS¦ñºÒçB=¿\f
+\1aÍY\ 1\9b\ eZ~\ 6á\19\ 6£FmÉO\88¡¦\87GG@Ì}}Ð\8bu\88|³;|bäzx@\84éqª½Ú\ 1k\8d\1fYLc¤É³\13UH9ÄpÁQ\83\8a,\ 6þ>$FtódX¼à´s\85ªù \81!\93Â\83²V\99´{´C^çv"e\18Q÷dU®2\81J\86!Xg<>7QÕueñ=­2Ï\ 5\1cn8¼ÓU\96ú\11\1e!à·\97Í\96C       èÌê\91}\80_ùú³\11ÅÓðÂ]-®¯è\93Ñ_A]<l\10j\94\ eO\80.øÞesürÚ\9fóÓ\16\1c}ïE\1cã7Úi<Ã3\8aã\939[ùuyöÇÙ¿m$«òendstream
+endobj
+1254 0 obj<</Type/Page/Parent 1119 0 R/Contents 1255 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 601 0 R>>endobj
+1255 0 obj<</Filter/FlateDecode/Length 1279      >>stream
+x\ 1}VMoã6\10½ûWÌÑ\ 5\1cù3þ(ÐC²Þ\14\ 1\9alºñ"=ôBK´Å\8dDjEÊNúëû\86\94mFÅ\16\ 1\92P$gÞ̼yÃ\1f½1\8dð3¦Å\84¦sJËÞ(\19áËù××ß{\8bU2¦ùl\9ę¤ñd\84¿aUÐs/^cw¶H®£Ýé|\9e\8ch:Y%sÜ\9dM¦°\14V|\17^h:\ ev'|1,x+ZâÞ4YD{Ѳ¤å8YE{Ñ\12hÆ3ø½\18½Ýô\86w3|¦Í\ e\97\vÚd>Ö\11mÒ¾h\.µS©pÊhªå\8fFZGÎ\90 \17¥3s´ô¸!+ë\83¬IiÂq²¢\94t\14ï$ltluM¦>_Z-ÛK¿l¾÷Ft5\9e&\13\1fMSdIûqÂyÀǧB
++á}\a'ðÍNà}\v\0T\89
+\1fw0­4~\97\ 1
+²ïÖÉÒ\83m\9cá\9dT\14\ 5òj¯éÛãý_Ô¨\f agÏÿ8Ó\81\13Ÿ\86\ 5\ 4Ø ÖöFm\9aÊ&´É\95¥Ôd\92ðW\1c\84*ĶÀBS&\ f²0U\89\fÒ¶\16:Í¥%£\19\ 2r\88 JÃ{\83\8eÓmãè¨\8a\82¶|â 3\ e¡\96!     g;Ö\18ÝMÔ\ 66Ev\10Ú\89½ä[\99\a}U0\10$<mjåÞ\19§Ë[\b\9d
+3ê\9fÝ©\908\80AÑ}\9d;¨#C8ôõé\13¥¹Ð\1a~aS¾\89Ô!î\ fôð\18\84\8e\bä«\ f\a¤\\9b×R
+méY\94[ÔÓ³Ìvüjs\ 4 j\14WUÂ\85¼\87R¹º\ 1W\918Ï        \9b«Êþ\14Ë\99Ä\96ÝÿÝW\89L\ 6ôn\1aJ\81PdYÀÐñÝ"\82\11µ´¦©SÙ¦Ðó*\17\aT\82ëò±\95Úd\82¨»Ú\94`k÷òÓú\93§®îø\14ij\1a\10*\94\89p¬Ë\82{\ fXqÇ\ e@$\97³\85áÝuÛåý\v\11~\8b\9að"\ 3}\ 2]ê÷6ë\99\90%P\86\8e
+}\9e£±\11ð«\94\15\80§\ 6UN½>\98J\82\1a¾A»¨£èõ¾uëÛ\16
+\83Ol\93IÙú+\84uçæB  ²\9a»\8f\13\19ù;å\8c»
+H\1eTZ\ekv®ãü\\_\91\87Á0\ 6Z7\88\fífvQç^\1c\0ÀËÿç/T!$ø$£ý\ 1åæÈ9\1c\9e½\1dH!JÖ\r\9f¼6i\Íá-
+ïE\82E-Ê\ eº\16y\96Ö
\86ùvIi`\18KÓÀ\87\884qÆLÅþ;\9e/Ñ1ºÆC`\1e\809wÙ?SÒv\19v\ 3ÁÜ)Íj
+\87¨=î¶Õñâ_rã{ð\1fÚ;BÌ78\ 6ï24y\90\ 3ë\9b\99\vò_èñ}\14¼\96\15ûgNÄ\ 2A{é\98KÒk5©\8c\aØî4Ââ)a\9b4\ f¼kÏ>߯\83½BA9Ì®\93:ðhïEÿb}\v\81×{n\87\ 1I\97&t\ 3Ýv<\11bG^Í\91-HU@\8aÐ!îòÍI\9dA-ÛÜí\1a×Ô¬`\9c\99\8eï\92\a\f\aÕ\ e\15\9eB\90ó\1aÁAWy°\91¨ªBaÊðÔÈdBÐ\ 1\8f\84W\ 3Ò\ 6}\86sôM«·v\8c\9d¦Ì\99W\9e>\1dÏ\ 1±?º\97(+\8bl°ñavz\19c\80qà­ÊmEú\1at\8e\ f\8eÌPÑV¨+éQ\9de6 R¼2]ÄÇ*CÝ\11xU4Øáw@\81\a\aò\18\b×\8a£Ô\aU\eÍC\16\9d,\1cÊÍMå³Â\13»\13éy¤\ eïæç'ÑÕé\15òøeóùW¾\11\ 3S(\90\95\1cê\19þGù3\936~ð\1fÑÂ;U\83OU³\ 5¯òK½_ä\16ÁíÅ?JKúCéæíÅÔEv¢¤\1fjE\17äÚøÞA\1e\1fï\9f\87 ¤¯\8fïÐáݲ\85=\9e/\92ÑrJÓÕ\18Ï=<¡\9eo\1enoè©6ß!Õ´nÁùÁÈ!]\9d.\-F+\7fÞO\Nìé    4\19á\11¼ö\93Õ×k¶\98%\8bù\12\8fF\98\9f\8fØÊçMïÏÞ¿\fø\9a¡endstream
+endobj
+1256 0 obj<</Type/Page/Parent 1119 0 R/Contents 1257 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1257 0 obj<</Filter/FlateDecode/Length 116       >>stream
 x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\90\8c\99¹\85BH\8a\82\81\9e\81\ 1P$YÃÓÓSOÁ¿ $3?/1G!9?/-3½´(\11Ä×\fÉ\ 2jµP04\84\85è%¤ÅÄÜDÏÜÌ\ 2hWH\8a\86\99\14×\10®@.\008)¡endstream
 endobj
-1506 0 obj<</Type/Page/Parent 1367 0 R/Contents 1507 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 733 0 R>>endobj
-1507 0 obj<</Filter/FlateDecode/Length 2875      >>stream
-x\ 1\8dZKsÛÈ\19¼ëWÌ!\aç`\9ax\10$\8f~¬³®²µÊJ\e§*\95\ 3DB"b\12`\0вþ}º¿\ 10\r\8a»ÙÚ*¹Z\8dïý\98\ 1´ÿ½\8aÜ\1cÿEn\19»$s\9bÃÕ|6ÇoÆ\1f¿þí*Jf+·Xg³¹;¸\8cÿx°w·W\ 2\ fn\95ÌRá\ 4\1e\\14\85\90\8aÁfë\89ZÅ`×óÙRe\ 5\1f\\1cOÍ.VTµ\8aáôÁ­Sºd\80îz\ eÆ2p«\8c\9c\ 1r\ 2a2Éf±\90\8aÁ¦K\ 63\8a*\ 6»X0a\81\15\fv¹b0\81\15\8c`\92ùl-¬b°\8bõÄåh¾`¬\v\ 6BÍÑ\88\18PϦ   "\81l4GÔ\vCÂÂ\1eË\1a­\97ÔlHØ(³,2Å\88È\10Y\9fÆy"i4@Χ±ç¢Ä\ 4GR1\8c¦Ù,q\8bÀ
-\ 6\8b\14¡\ 4\81\15L\87×,A`\ 5\8ci\1cYÅ`3\ 6-¬à\83K¢xjwN\9c¢ç,Éq\ 4»\1e\ 4Ógö¢°\82és\844
-+\18^Å1ò)¬·»\Zù"oÇ\90Ø\1dØeL¯\ 2+\18vWkäYX¯9K}é\13\ eLjÈ4\v\86ì"¥Ï\81õ²\8b¹5F\14³ÕSCÞ«\80\99\rËU`½l²´¾\89ÐlK\97\1aòv\ 3¦,\9b:°ÖriÌqÆä\9a^\ 3\94\14\b\84r\8d¤bª]1\15\81\15\fvE×\84\15\8c\ 2Í9¹\81UÌò±©\84\15\fv\11OYÁ`\11A¤²\82Ñ\90óùÄgÅ`\17\1c±`W1XÌ5\1ac\8cWñÁ~¯vùÜ\80Áb¯¨f_\82(²~\.X\1e\ 3,\81@¤1ZÑèH*\ 6\vµ0\12XÁ`1\13(_`\ 5#QXbªY1Ø$bùFYÅ`Ó\18;AXÁ,Á\92Á\ 6YÁH#\8a©v\15\83Åa¡\11)\ 6\8b©DË\8d\9a\15³\ 4«\89W\91ÍH²æL"\eØ    \11\8aHäç+`°        w °\82ÁâÔË\94\15Ì<¯\10¯È
-f\9e\1cXÅ`1bê\95b°¨Xª²\82\99IÖ(hîã]qË0^\1ep\89!\1foÀ`3\8b\82Á.¹¡EV0¼ÂðÂî(«\98ñ®Q\ 5a\ 5\83Å)6\91\15\fvÁcWd\ 5\83Å\r\ 4¹
-v\ 5#\eègäyd\15\83Å5C½R\f\16÷+õªÏ$.\ 1¼ÜD)/9\89!ˤ`°è\ 5Ø\r¬`°ð\11½\11\88Ègrd\15\83]¦ô9°\82á3.,ÈÆÈÚJIðÓ\8eÖÈHCæ2\17[\92r\9dsNð\8f\aä\ 4ö\97¼ÀÁ[ôA/\17E)#5dJ\ 5#RT\12\13\14XÁ`\97\19s\18XÁÌ\12¯\98Â
-F\1e0#ªY1Xtî\84\15\f\16w(tÔh×g)á        \82\94\13\ 3\8cG \µ\aé\1dIÅ`q{TQÅ`W+f8È
-\86K¸7Âá\91U\f\16£¦v\15ûpT3Ã\e0[ÂR1jVÌ\11à©\1aì*\ 6\8bcgÐÄdøDáôá.±[Ab\80\9c@$ÑJ7r\ 2\99DÞa\82 b°p\14=1\8a*\ 6ë\13\11XÁLqÂÙ\b¬`°ð\ 2I\f¬`$\11G³z¥\18¬]'\82¬O\ 4\86\8d«À·\88\81Ð1=\17áå\ eá\8c¤b¸\84¶D~GÖÔÆð\8bãjj=\18Õ\ e\9cW\13HÅP\8b\b\9b\91z(ª\98Fyï\17V°ÏÃBY;/ã%e¨9Æ\15Í#¯9`°x*QÖËÚ;,XlÛ\15&\93³g²\82awÎ=\12X\9f
-¤Ý\8e­9\85X\84\95\17\15ì\9d\82âÀÂÉ\ 1\83M\16T\1cXÁt\99»QXÁp
\8e²Þ)Ü\ 2ì\ 4\98óßØ\90Å#\98fyÂ\v+\18¬½à
-+\18,Þ'àTÐ,\98\15b\1f\aV1X8«v\15\83Å]       \ 1\8d\9a\15cÜñÆ\80Ú\8f¬\ f\17Íd§\87\ fÏ\90\84;°>¼À
-\1eÃ\r¬\ fw\90õá\ 5\18îÈöáö²1^¦ÖH       }¤W\8a\19./pÂ
-F¸¸t¢OFYû\ e\13ã';\1d\8b\ 5i4@½\ 21\99\9cûÀ    D¨v\ f\r¤b°xcCþGµ\8aÁ¢ùàn`\ 53\11S\97\14\83µ7á «\98¡®'v}eñÞc'\1eß\vc\ 3\fÕ>þx\b\97Puäw$\15\83õ³4²¦6ÂñcC\8b»×\1a½Ld\r#ØÇ\9a
-ëE\97ý'\ f¾åG\ 6(i\1fº<\84`Ê$\ 5R1X;\83\85\15\8c$Í#º4*F¦W¨\89ÿò\80keÒ\ 3\1a\15xÀ·1TÜ?h\\800\89õ\1d ©\98\ eñÝ"\88*\ 6k\15\16V0ÜE/\rþѬb°\181uJ1XÜn\90C\8bÍd\ 5\83\85\1dõÊ;\89©´%\8f´ \13\86(ê/¾Q2|Îà]Ä#c-\876JÈ\13\87'2@N ¦\86Ó&\9cy0ï¿UØ\9d 2d\82\9e\89\1cáãXäAð\ 6·\rs5åíß\80q\ 1BÎîÜ\81³Ã\b\9f#ì½\ f\8d\9b9\ 3&\17 kÂ&      \\80ÔÉ×ýÀ\ 5\88\9cb\91$\81\13\b.c\8f\ 49óžü@'ö->þñúá}\19!84{$\\80ô\93±\a¹\0a\ f³\86Ï\8d\83N\81ô\93;(p\ 1\82C£ã\8bá ç+\9föo<x\vç\e<\12çý\1c!|\81\1cßÐ\a.@pøDÂï\ 2\ 3\17 ý´\ f"\ 3'\10\1cN#¾×÷r\ 2Áa\84ùydà\ 2\ 4\87ã\83_)\ 6.@ìAØS_ü\ 5¥\7f=B\83\11øøFÈøRô[à\ 2\ 4\87\8b<öç(\17 ã³ËÇÀ½»»zó\91ëÔÝ=à¯\ 2Ùråî¶öÇ\0üfóêSÕ5õö´éʺúëÝ\7fð,&8òϾ\86\81\18O¿ºÍ\ f÷¹Ûå­k\8bïE\93ïÝC\91w§¦h]·Ë;÷\\9fÜ¡|Üuî)¯:W7=ªêþ7]íNm1sw»Âmvù±+\9aÖ\95\15¤ËÖ\1dó¦sE¾Ù¹M\ríôbî^Û\89\ 4ÛuU¸öXlÊ\87r3\98\9dyO\97â)\ fc<}\97ßï\vW?¸÷uÕ\15U×ú'±³\86\98\ 6½èV\87à\8bÇ&ïÊêÑ}¹u_Ëj[?µ®*º§ºùÖº§²Û9\v\9ejð·\94Ñ+HG3÷ö±¨¶ù\99àâ\99»Î\ f\85ûµhëý\89©e°¹;"eî·ªüñæsY\9d~8XÙo/¨Æekæ¼çXmæù«7E·y³«Û?\ e      wûË\92¨U½ÿ>ÛÔÕ\83W|9%¸È]\96§å?!\9d^\96®Ú\16¹Üì.hx}\96VØ·Ü\99Ã>wè;tÏÖÊ\81<¾¬\14êw!\8bXá¾ã®\8bîݧ_n½Þ÷h´\82OK\8f¡d8DüÃ\9f¿üüËíÝ­{(÷\17\1f\83\7fÓ\a^\9f+B\ e>\ߺÏuýít¼di1s_?M\9e8O\ 2Tü\?¹û\ 6íÈæ|8U6¡­Ë«­Û\81ÂDm\8bã¾~vmg=O\ 2¿aCr\ 4\93)\18\9bxê,<\91l¶ÅæÔ\94ݳ«\8fìÙ\8916NùÈþõËà\ 1\16Åa_´\9cä~\8eü\ e9«(\8e¡\99û­-ÔÔõ\9dCUs\fÅ©ÛaNË\r¦\10\16M¿\ 2ÎÒ\8a\8f\ 2ð5ÿ6ØÏÝ¡8Ü\17\rg\1dj$
\1e\ 3ÙÖ\87¼´½v\1e\88\151       éÿ9t\16Vf\1a6{$\18¹b\9d§UdÐ×\9fþén\8aæP¶|Ƚ+;\9fÔaÓÀ×·\9b\rSÈ}ÕÔ{÷¹ì'|b\r\7fJ\98¹\7f\94Å\13\9b\81\95Æ\12­\1e  ÌÄq4ÁIá¯\91T7ID\99ïëGóR3\81\e\8dï4´Ów¨·®\ fé\83Ëy_ïv\977/æ\ 1·×à\16\aÆÕO\15Vû®|Ñ÷ø~|þhã¶eSlººyv\12Á\8bI¦(ÂÿHý!\99\17bÁy\89Ñ\eu\9e={^\1dö~½-\1f\9emÀÌù?ðh\9a\9egG\93ÛTús\82)Ç,bþ\9am\9f´M\83c²p\87¼ýÆS\ eG\ 2\ f¾ó\95\80«Ñ\9fSg\19λ®)ïO¦öx\84ï/;\ fY\18z\9b±Ý¼ýâ8®[´\96\17Ý:(p\eÌ\1dÎòý3\1c¬òG,Øé0¾(\84\1dK~üÙ\83Ð{\1e\8a\1d?\1fÄÎÛÉx¿|\1cýC÷\ 6\12À\8eo\ f÷ãY1-\1c÷/Î"\ 6\96»/妩Ûú¡CÙCpÖ)·ÏmW\1c\14èÊêwNq;">U\10õ7 «Ídòø\ 4\9aïºî
-#_ã\7fª\b·\0ôôM\83íGonOÇcÝt/²fÍ\8bn\99\³´\9d¬m'\19¸ Ãrÿ\9eýD[ÿ:Òê_þÍ\a'\8b\92ºPþÛ¢³ç>4%Öikåÿé\aRdý@Ù\v}HYd·\8f\ 3ÙÝçÍcáªÓ°gÍèï\b"\13o·[ª¿Æ\1a±¤Ðð÷2·]¤\vïæëy\1fÐ2ÆQZË»èn\90PKû\9b\8fx\8f³\8b\90\15Àþ¤\84ëÞyZS¼\90\15î¹ ³\98v~º»úûÕÿ\0ái
-\11endstream
-endobj
-1508 0 obj<</Type/Page/Parent 1367 0 R/Contents 1509 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 785 0 R>>endobj
-1509 0 obj<</Filter/FlateDecode/Length 2356      >>stream
-x\ 1\85YÙrÛF\16}×WôÛÌT\8d`ìËSJ\96Æ\1eMY\8e"Ñå¼B D!!\ 1\ 6\0¥øïsÎm\10\8c\92||p÷¥\eð\1f\17\81ññ'0Yh¢ÔT\9b\vßóñ/ó\8f\87Ï\17Iîù&ÍSüÜ\98,ó¢        ¬Íã\ 5`8sApHj¼1A\12\12\rü\90²YèåÐ\e\84ù\8c¨Xc°QN³ò¬°
-\83Í#èP¬Õ\9c\14^JÍqì\ 5&\15
-\83Ír<¥X\857&\f|/S¬Æ`\93äPÖÚ\8dSÄ       Íaà%&\15d#r\18\90°
-\83-\ 2Fäd­æ(B\8e\82\94æ=\9b\97c\15\86Ï~L\9f\167DÁ©ØOX"A¢Ø\9aõS[¢\94\82\1c\9b\14\91Ms\12y\85±HX\85¡9g£(Va8\15ù\87²b7Éý)\91l\r\8b\ eCs\9aÀ;Å*\f6c\13(VazŦV¬Â,>\13©XëUÊH \e±ø\89 ñJa°q\81\86U¬Â´{Ä*Ì\12±%\9d¬ÆÌU\88\96T¬Â`áÏ\81]ës\12Ûú¢²¨\91 \9bI\87é3\a
-\83M²CY\85\19QN¯\9cfk7ömçX»\82\94Ý=kí8VahFÅà³c\15f\8d\8aµvÃÌödÈfO\ 4\ eSsÄx\1d«0«\90Q³c­æ ¶=\19çø\9d\b\12Í
-3\e\19{Ò±VÖ\ f¦ñMØÏ\82¬W\ eÓ+ZP,w[\8côr@±B\93       PRÁ\8dÁ´D\9a£D\fe²]ÑÊÐ"H\ 4\85ÄÊá\82Ì\99\94X\09\ 5á\râ\87\9a\99Ô\98¾²\8f\15«0ØÂ?P¬1ò+\vßÉj\f6ád:6\90,H\927\ 6³\84,\b Ã
\83\999\eÌ$\17\84\11\ 45\86»iz Vc°9ÇNÉ*Ìf  éîlVc°XoÚ®Æ\fURìd\15\ 6[\1c²²¯cì\1aî BÊ(ÀU5¤+pØ\96\\90#±ZØ\ fH\vÜ\150\95|\ f!\88¡Ù#\92\1a3K ÆÑ\89ÚS<*¸\fÁF1\1aÂ"\91U\18,\9cO\14+±DH$\8fË\9cç¡\ 5â\92\83t\89\9dêH\8d©\96\1a\14\16¥\85\9d\98³h\91¸¤0dqu\80YyVX\85Y8\16ݱ\1a³pÜy\8e\9dR!\9d\vÍ(:XA6\15\ e\83\95SJ±
-\83\v-k#\8a§«Râ#²H\90hV\18\12\86xgVcë3r5³\93ÏátU
-yu\89\ 4\89f\85áUÌ"+Va°¸
-\ 6\9aU\98\11I=\9df\85á\15¶»¯em¼Át\91B\15P#A6\93\ eÓ®CdmSùÓM)\10³\82DTa\88Ú\129VaºÌ\9d\199V\9c
-±Ôd¼ä2d\91h¶l¶¿*%p9\14¤Øtº*E\19Ò\1c
-\12Va\ 6ä#\91\8aU\18¬\\15\1c\86è\0¹râ4,Ð\97DTlIh\97\v\8b%\ 5\b/\94aÇJåýÚ\ 2r
-N+Õq²R÷rÜ2\bT´8\8b°Ä-\83õ\94Ê \9d;oØÚ²)p8&Òè©"¡[v\ 1w^ \80Jq\9aî!\12\80s#R¤ÆL^Fµ³¨Æ`¥x\8aU\18]\18¥H¼c5\ 6\8b\ 5¥YÉm\90Ù#\1d\1c¶   è°\820\8aõ¤I\8dépBµ³¨Æt\98)T¬Âp 9Ô\9a5f8\1cj%+>\8aÛS½¹\8f}qXêm!^ñ"¦{æ\14\84C\18\87B\916\v¸°Íõæ-R×;\9a.\19\ 40Cr\9e\a\ 1/Qâ\f8\ 1äàÌ\1e¢ùx×w\9c\82̬83\vjÌÜqy;Q\8d\91\1d\1c\ 3±b5\ 6\8b¸´¬Æ`eå8Í\1ao°1\ eíj\f\16Ñé\80l\ 2ñÞ%ç¹ø$\80\89\10\ eQ¸ã\ÀLáUU.wx#ó\8d\0\83H\ 2z:T\9c\83à\10\86\92\13k8\868\9dX}xÓãß©Ñ!\b¡çðÖ¾§\14´
-ù.=\89Qÿ\ 4Áá`-\14ç òésãÍr
-\82Ã\9dMéT\10\1cr\89×Õ½=\ 5\91gì ÅIprO°!$¼JÛ%É\10&\b\ em\81»ùÌ9\b.ec:ÎAp\ 5o\e\8e³\aØt\ 3Á\1d\80\97"< õq\10!\ 4\ 52í8{\8aØO-\1cAlh\ 2+7CÚãÁ6s\1f\17\17\1f>aØ\ 3³xÆ\8d\ 4_Y2³XÊg\1cß,ª\7f"ÄÈ3\8b\97ÚÜn¶}Ó\8e\83YtÝz¨Ç\7f-~»\80À%\ 62\84\88}2ðÌ÷\97r4Í0?ÿ\13\1f¼ô\8f\1e\f=sÝ×åØ´+sO½uonúæ\15¿îËê÷rU\ f\94;\16;öe¨{\88\9c{2\9e¼n\87±\¯a¨kÍõº©[qüòÈs<}Ó\94«¶\e\1a±{B#°Ûvì»å®¢ªS\8bhnè¨\9f\15c\92\!\98mß=­ëÍ\99`$±\92¬éÙÁ,;sk^Ê×ú\ÎpÀyæ±\1e%e»­µP\95[S¶K\v\8cÍÆY[\89gþ×=á\89vü·i;ÓíÆíNRq\98b¼Ñé'\87±/ÛUýÎã\99g\1eÊ7sß\rãcÕ7Ûq
-}y.E¹g®\96¯e[ÕK[u¤êÜs\ 5\94ÖåÚ,÷ùäC\97øÒèº\r\ 1=ÖÕ®oÆ\1ff]¿ÖëÓºá||¿jØ\9d\9e¹ëúÚTÝf»®Ç\1a\16\a\89\82íÒ=#_'&\ e[\aÙúÖ6Ï\r\ 2úÒ­ºv0OõøV×­ùÞ´Ëîm0_\17R¡o_o\7f\81½\ 1æ    $c:è3\"\90\9f'æ¼²]ªk\83uü~4Ø\15ÓôM\ 6\90âîµADg,á\ 3\ 6\ 6¤ìWõh¾\rö\91ãÈÐoÿíÞöî\9aï]ÿû9Uøö\83,6Uß\rÝó\88Âm:$\12¶Qå\1dr{\8dù;éI\Ð\19Ï×rS£\8eýkSá÷[3V/ÇýÀ'\11Øý\1a\93Ub\96ÌÕn|A\e7\95\1dê;Ìäút[P\f\ 1 ¶^òÿ¹ï04·7æj½î¬è9Kh«\87zØ­G¸]½Líy\9c\18<t«÷
-'ðºk\9f\9bÕ®\17§Î$üo\9b\11ß\10\98\91\87ú\8f]Ó×\eDx&i\89lãz\90%° \7f\83ùÙÎñ±\93èÌ/ͦ\19Å¡3ª0¸ð¹Z£'í>;T\0ú¾\1c\86å\93¹ûñøË\17³Eþ\eÙ{\a=\8bW7Ï|Ü5ëå>Wºgq$\8a\15ÉÌôÀ!\8fÊ~\93¡Ø®K\9e\ 2\7fb\7fÀì[×/\aÓõ¦n«þÇvÄxíÿù¸j¸ùxæó´\17Û®½¬ºõnÓ\9ae9\96æ¹ï6\ 6íbF¶\ eE\ f£ÄB\9a¢üõîÿÆ\98¿\e#ne\8c\ 1'Ö©zì±Ç±Ãñ¶2\8fåæ©üÇ \rùáNz\v­\UÝ®ÅqÙ>wýÆösÓ¢_Í\97\9b«{\1cI}]AþÇI?\15té~×o»AÌê¤âºðþ¢À§7øµÛn»\9e\89\15S\9cÁº?i\93\82É}¬^êM)SôPÛ£txi¶fì$µ\ f\9f®ù¡*3p¦ùs
-é¸JøðvР       6\1f\ 6\13ÿ"\ e\9c\89P&æçmÝ\8a\83Õñ|\1d\86,³³\9fÁ9ßÔúá\13ÞtäzÃÛhÎÿ\83\92ûÊãÕÝÇ+®©ß\90csÓU;ÎÜ<¾\97\ 1>\88óñËÌ/x¿9>þùM4Ksü\1f\18È4¢©ÿ,.~¹ø\v§-2Åendstream
-endobj
-1510 0 obj<</Type/Page/Parent 1367 0 R/Contents 1511 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 818 0 R>>endobj
-1511 0 obj<</Filter/FlateDecode/Length 1381      >>stream
-x\ 1mWÛrÓH\14|÷W\9c7v\1f"4ºû1\84ÀRE*,vÁ³\90'Y\81my%;À~ýv\9f\915ãKQ\15è´ºÏeÎ\19\89\7fgFbü1R&\92\16Òlfq\14ã7Ó\8fÏïgy\15ÅRT\ 5~nÄÄ&2#ZËb\16b°I\1c¥!\e`°yqª\rðF\12\93OqèìÂ\96IT!ì¼À_\85\ 2r\ 1\84­aj\9e\f1Ø*\8d\8a\80u¶ù\1c¿ÜHU1]\ 5´\ 5LFÈZ\8a(\vÈ\10\83-Í)\e`\ 6-\99Òd\1cbT\8a\1cPÍĺ\942\86C¥sæ @+õpJi"Ç\94F¥)\f\83z6ÀL¸\88ò\90\r0\13Î\98\92×\ 6\98        'ìÓÄ\16)­Ò\14\99Bj\92¨\1c\1136)\9d\1c\97<gó\15\90\và±ù\13çÎbÔ\99Dk\99È\10#d\9er\90<\e`Wi\18\94\95\1f1Ø9'*Ð\ 6Ø\raèì\8e&æô±Ò\9cREZ\r\17#\9fs¾P\r\ 1r\ 1¤0\9d\9eÔ\16\ 5\18l\92\9dHC\f¶d?½±\89\13´=\87?§Å¤Y4\1f\91:\a\18lÎeuÏ*\e`°s39)ë\9c\8bÒ\1d«sR\148\1fYçäÙ\0Ã\19¿GV\9eÕ\12òLG"Ë\19U\ 1}\ 3\88&rF=\17@\98&\VOê\9cåY¬G££é\80\9ar\97\8e\9c\89ó    ¹:=\86-ê<>KVO<OJ=Tcæ$\15yÒP1ÞI¹\ 2\a\83ûQ·"c\esE\9eÍ0äz\8b"h*\ e)\e\84#7!«\a\93\95\QöÁ I\ e©6À`3\ e\ 6\18¬^\86\ 1\e`\ e\7f\1c\18Ó2p\ e1X,\19\1c\99\95¶1Ã\r¤»1§¯\ 2r\95\87,'Ã3\9et¬Ò\16#½L2\ 5\10Bt\ 5Â\89\94Ó5nc¦@\85\N\a\9d0\1e\91O5IôdðfI$Sà¹\98÷µN'²Q ¦\1c2\aajJ\86\98HÍ&\9dóúÛHÉup\80Â\02\e¾H<é\84UâëO\15hDÖï \85\ 5]'R/å´àû\ 2©Vä\14¨ÐC
-+\1c¤'\9d\10ïbNæ<&§\80Â\0²Æ\18åxÒ 3÷\86v\11\15ø\88#gR^ éD:aâÞÁ<Gäª\88Ê\10#&æ\17\9f&\13ë¤xãs\ 3ñ\96E>
-4¦\87\10b-BÒ       c÷ÎrB\ 5^8rî\e&\9dH\15&h\84\87\9bé\0\85¸û\8f\90\11yÁyÒ       ±\17:;\9c@.I%\1aÑCö\95\9bíI\86JpybHõ;\82\93Ù[y\9a½YÎ^¿+ð¼,\9fø¹VT¥,Wúµ\16˲ù\ 3·U\11ÉmÓt\87í~\90\92÷}wØ\r²©·õ³ÝØíþÏå÷Y,7¸=\13h))#YØæзûß*\19êÍ·z4¹|º\8aäãÛÛO2ìlÓÖkDÙïûöÛao\ayêz       ÕÃ¥|\1eÉý¯z³[[Ø|x'÷[¨Gi}"¾Ôbüä®Û°
-u¾A\v¦Bð1 \7f=~]>²~;\f²`\192t\87¾±Òt++/m-w_\164>S\9aH> \91nuhöm·=\v\rë\ 4\91¿,\8eÖûÎe\1auýó\15·$\82ß\98Å\18ó§ývÍ\14¶ÁsÍ\8b+\vßâ¾,Xé\19â\bw»vûì\8a<7\83\91«wg{\9c\ 2\8e\eE·Ãp°jyR®¦\87>îê¾\1dº­\8b\19\8c\ 4.?Ø=îÖ]óã\9a\8f\7fiíÏËDTýѾØu\12\9aÜ\9cGH\11\92WOõ\ f+\9d\8bö
-ÿà\ 1È\8d¬ì®·M½·+\868=j|\8d¢^¤g÷£àZ\11Y$\9f\92¡ýÏ^¦\99GòPÿ\92_\9bö|%P?¶è#ìÑîK!×å\9f\1aû¸ÁLiÜÓʸ Ý³¬Ù\81K5æÿk\8bY\·['>ë\vg\³îë+½5\98\86¯XT+#}®ÆÁ©\1a½[µWg\19§\87æ=ØM×ÿ>ÎÔe\9a¸\91d±î~Êݺ\9dÖí´N|\f»GPmë¦èì\ 1tÑÉe\7fØ^í%^\9aòð\e)\ f\87µÛé×ïªñ~3)þ\vPñµÍ/*\U\8bÛ\877·ò©ï¾Ûf/o»æÀ\9b >.ì\r¿:)¸)ã9\9f?ßh~\9c\94E\85ÿî\82,2\16}¿\9cý=û\1f\ 6:b*endstream
-endobj
-1512 0 obj<</Type/Page/Parent 1367 0 R/Contents 1513 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1513 0 obj<</Filter/FlateDecode/Length 1287      >>stream
-x\ 1­VÁrÛ6\10½û+öèÌD\94\94ì\9bê&ÓÌ4nÚ¨\93\8b/\10     \89hH\80%@Ûúû¼\ 5H\9a\92Òi;m<\99\11Iàa÷½Ý·øó*¦\ 5þbZ%´Ì(¯¯\16Ñ\82ÒÅm´¦t½Âï\ 4ÿ[I{ÿ!YÇ\97\1f~Ø^ÍßßR² í\1eXÙjMÛ\82\80³À\9büú¾\14\8d\93\8b\88>h'\ f­pJ\1fèãgú¢ta\9e-ié\9eMûÕÒ³rå\9bí\1fW\v\9a%)P®?\8bz'ø\r\9f\10¯Â ³e\1a\15\90qD\9b\83ÔE¿(¥8î\17%«(ãE[Cª\90Ú©ý\91\)é«<Ò¾Ó¹SF\8b\8aj\99\97B+[[2ûï\ 4Å¡:CR\8b]%=@!\9bÊ\1ck@ò\8e1BÄ\1c/C\Â\92\0°Ð\1eS¾8\ 4È8B\17\82Φ\12ù\19\a\ fÛyÂ\8c9Ä£Me\ eÇh`"\8b<\17_$ø©*\92/¢VZÞñgh6Kúï\ f¢\96À¶¦ê87R\1aQ4\1dÄû]«\97ùÏJw/´½ÿ4ÿð      é<©ÖhN\82af`\rb\81Ñ\88ø\19\8fc2ç°H®³²ðZá\88K\19\91Ø      fr\89ù\93y¦]\vé\99\84A\f\90¦\v*ñ     |\a\92É:O;\7fÀ\eÖ\99U\18·v\1e`\94`Lcyyä$N+ó®UîH¦a¢NÎÍ\8dÞ«\ 3\93æQi\ f½¬\94u%­\ 5£}ù\1a}\92azyÜ}\8f\83Z\87\14C\9d\90°\17²m8I]ÌDe´ÄYí\93l\ 3ú"Z®Ó \8bèO\b¯Fm6'ü?li\19½ÌStì\98baj\ 1\95jYï\ 6Ø^êÝeÐ\80\13\15zU#ê'\14»\81"S\81'\aü\18p\91¦kMU\rØ\93\90ó\80?[fQ\16gt\93À9Pa7áõk?Ï\92\e\9aÁj\86\8eF¹ø\92ûío*\19\8eQ\15LÔüý÷º¾ïôAÏ Ã^AGÊ\r(F\ 5\83\17W*Ëdy\95D\e\9a\1e\8eèmdÚ^séòyi¬³áм_3[Eë\9eÒÇ$[ùþyEð\1fG½<\86oѧ\88\8fH\1cÍÿ\81£­\85óæå?Æ\82\17Ã\92öð\9eu\14ßÒl\19\a\8b\82!'lÉ!¯¸_u}NÝ\89^\\14\F(S¶M4\83S9UÊz{\85Wm\8a\ 2\94Y\bÇ6 ár6"yð\8dÄDß\ e\86\9f\86 ¨ÿ\17c\ 2`
-Eqÿ\\99\TL\19\8d¿"ÿ+ô\bÇÌ\1e¾\bu:¢Ü"£\fiö8;uØ\99\97\bP\85l\ 5\18«ÃÊð\9eÐ@JØ\14K\ 2\aÓTÃ8BaÂ\94\ec%ÛBX5ÔÛ_2uM¨SôcÓ\9a'L3ðÄ<LÝ~\9ccd\rÊZ8viK\85!m\1c&,êÝ\99!Ç~Nµ2ø\ 2\81e1°|>v\1eÂp¦Fä_¥C\14\8c\8dVAÛð\ 4D+ù©Ø\94G«ÀÊ0Ìɵ\98\7f\8diA·8b\11\98ª;\8d%Nú\90\9e\9489\97v\9d\9fE\939\8a\9bB\89\9dÁåyv\7f\94\ 5vmò\9cݸ÷\9e!ò·\ 4«þ¸¹\1f\9eqÛ8©\1dD\fÛo\11tu¤eB;\85d`\ 1\95Ô\87ñÖ1NpT\1açè\8e\r'\85\1d\rj\10{A#\ 6àÞt-=^§\8fo0\96rUsÚ\1d;ì   =\8d@\ 2Ø°;B¯\ 2*<^#ÄF¶Ê\14\8fo|\r\93/-.±(îÅ\19Æ9§òZú\10\13\17²\10´\87É\0ë¤E\ 4Ü\15§±â\821\8d\16\97+*ÔA9*qw8\vø¬$¬\9cD\9dã\1e¢C³áNx·\96w\vq\17'wËôî&;\v÷\1d
-á8\8aÏ\93²Ý·"\97Twè¸R`\9eð0\99ê³±ÖäÊSÄ\17?\904ùÌE\ 5\ 1jq¤\1d:\ 5£Ñø±8)\8fÚ`ÁIéÒÖoB¯<ü\82樼ëÛR5ÀpÏRb¾éÉ\8e@ÝôÔ·èß\8al\97#\1akÕÁß\90zÃ_\9fÜ-ý0û·wÛ×ÛbºJ£U¶\ eÓ=»a2ßm¯~½ú\ 6eù}\eendstream
-endobj
-1514 0 obj<</Type/Page/Parent 1367 0 R/Contents 1515 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1515 0 obj<</Filter/FlateDecode/Length 1614      >>stream
-x\ 1\8dWÛnÛ8\10}ÏW\fÚ\87u\81X¾Ä°ÝîSÚl\81\ 2Ûn¶u±/y¡%Êb#\91.IÅñßï\19R\92eÅÅn/h*\91s;gÎ\8c~^Íh\8aß3ZÍéfIiu5M¦´\98Í\939-Ö+ü<Ç_+)\ f/æ«E²¼ôb6_¿|ñ~s5ù¸ Ù\8c69\9c,×+Úd\ 4\aÓ)mÒ\91\80Ya·Ê\v{$c)S.µÒ+£ù\81Ò¤\85¯­LèÖ\93/$UÆyÚ
-§R*å\93,I\94%ié\ fÆ>RjªªÖ*\15\91\17\8fÒѾ\14©¤Ú)½{³ùq5¥ñì\ 6\89m²ÑçÛ\ f$²ÌJÇ/\13ú¦4Nö\9eâvU³?I»ÒláêH°ÿ³\96×$tF;©¥\rO­¬\84\82Ë\=Ë\8cr$"ôqàn/¬Wi]
-\8b¼¼´9âº\ eI      \ 4°Ó\95Ô\9eL\8e\9bôé¾\r\8cª\90\84\93Ú¡þÖT$ºt+¡ÅN\86k{iÝ^¦^=Édàö³A\89}\ 1«F˾å\14\8f\90Yt\8e¨a£\9f|B\7fá|S\9f®\ e\8cÁÞª\8aÑ9EÉi(7p¬\80\0\16\10\82§\83\ 2\p
-\88k«á\14\bó¡Û¯÷x¶/\8fmôóe²`\8cþ)¤FʵCp\U87)\0£\83Ð\1e\ eL\ ft   ó¾@ý\fLZT.-\14R\88!\eoRS\92ªöe(Yà\b¡¬`×0ò\10*_{ÕÚТ\92¯8\80W\ 5\13\17      â®)\9f\90\a\ 2\r\89     \84 Á\10D\80Ôq:5Ú[S\968¿=r\\83\8am>ÜOPT\1cËÕ®¶1Äæ\12¨UJ\97Ð\ 6\8fÄw'\1fѶ¡³F\13éÓ       \a\17\929µÜ\88\1d3ò®N\8bpób\89\13\9eLC~\92\15:\10ítâ,\15Â\ 1\92IиB\8d³\bL,q\8a\8eÀ\13@:ùʸÂ?àã\12\rÒU\19\18¯òP\89>óZïÐ\84\9dDáÚf\81\bÀ\9cóh=t\1aÀ¸\8dÍK_\19\85:Dyo#бAáZ\f\9c\11Y*\0¢±
\11X%}a\10\1f£\84H\1d}¿»§\87ÑwæÜ\9dðbgEE­á\877\8c\91\12Z\0S\8c>\88ÝEÊ\15¿\80oiP\9b®}\9dÜ\85Þ\rÒ\14ÊÍ6f¿¹~-\12úÒ\88[Ï8\8b\80ãªBa\99\87{\83\90\10\b¤p\90ò¹¢\19]\1e\7fgw
-\1d\8d umʺÆзm\9bçïÎÿD
-\86f¥½H\1f\81PÔ%Íð\f\ 5
-}ÏL\86J\ 6ó½\98Ð8ÑåK]        (Kôñ©´Cön\10+;ý_­\10\1a\a¤ÈM­³@kàÑ\80÷]«çÉ\9fJ×ÏÔô!\ 4Ý\ 3\92p\ eDbÄñ\ f\81ðuUWQË\9a\9c\ 6is\ 1\ 3ØA-øæ9ô\1d\96½\9e\ 3ï\86\85`\99\1déP(Ô\0V\8f\18\96\92\1e5\ 3Çb§ô¯<·òÇpqÆ,\19\85,÷A3¹Ò\8d0ÖÕ\9e\1cXÃä\17g\93\15\1aÀ\ 1D\8d\8bÝÅ#C>«0\12Ñ\80CýÂÌ£F{cK]0±\95\98Ò\9cë\93P¥Ø\96q^M>¾¥\19\ 4\9fW\84ñÍ,jÿl\9a`\ 5I\1axgÍ\81¨tQx\13\96Ê\88þiÅ\18ÏyÅ\18\9dÒö²,ã,\1aæSª­\15\90\ 1÷\8e\8d\19·s\87i\15N·JhxÀ3W:,Ú
-C\vK£w\8dî¦\8d \8f\9a÷*Dò0_®\9a$Ú(ÃËn\11i\9d=\8c\1cä\ 5\1e¹\90YðÈq\ 3\19W\98ºÄÔ@_Ö\1e/°H\80\99\90°i\ 1\r\9côö\88E\86\83\12\9aûg-J\95+\99\r\88Òͱ@\bP\vrp\1a\0±¦ç¹´kÓ/ÓyY»¾É\90W\v:ÝÅz~a\82}\93ö ûKÌ´\12Ç\90¦{\8cÊ\86­\ 4L«"\18/FH«RÞ
-íb§¢ÕÌc½¿\bÇ\85\14\8d±¼ÎÞÒxÁË-@\v仹L>®]\8f\f\ 6u#õºYÜ;Ô"\1fæ1ÊÝmQ\95DègM\ eT=Æî\ e¢GÁT\8fì ]¬O\9e\93YB\9fÂj1\1cs©U\81#\83e\82e ¯\bÍr\11»ÃØ\f\13¯\93\9ba³°ç°}eÁ\ 4ôã¸g\1a\ e\88å¼­SÞÙ1øC[±2¿mZ{¾\88­Mͯè2¬-×[¥;\92N\935\83Ð\1e«êÒ+ÌÔH˶\94\80\15Ê\89U\16ÊÓN-èË©cÚ]3¡ûR
-¬ÑVæ¼\94±èá\83\ 2\92¶Ç\1a\1dFM\alø_^[\9cÀ7\89ÄØ*]\98<¿\16ªÅe®hç Ôiq\81
-\1d_NRu\86\87@\19y_\18\88p\\8bú«`\ 3\ 4ô\80W³¦÷1Ý·?À\11â\ f\ 3(@ûU$\86Ûn\8e\8dÔ\1cþ\e«×\91\8c/\12B\1ah\963¼^G Ö\8d\16Î\96ø\88\ßÐrÕlõßn?¿¿å\95*\ 4xgÒ\9a7¡0hù渽0^MÁ\9c¦\191   \86ÝÀ\87\17ø\1c]-×Qj\97K~ôÇæêï«\7f\ 1\18%¹@endstream
-endobj
-1516 0 obj<</Type/Page/Parent 1367 0 R/Contents 1517 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1517 0 obj<</Filter/FlateDecode/Length 1606      >>stream
-x\ 1\9dWïS\e7\10ýÎ_±ã|(LÁ¿ 6ɤ\9d\814¤Lc ±3ùÂLG¾\93m\85³tH:\8cÿû¾\95N¶¹ÆmS\18\ 6ûNÚ}ûv÷­ôxУ.~{4ìÓé\80²åA·Ý¥Ó^·Ý§³ó!>÷ñg%Í\ e.'\a\9d«.½¦É\f;\ 6çø\90\13Vw»4É\ e©þyE7b)i,í\93Êð\7f¥|¶ Ìè\99\9aWVxe4ÍT!ÛG\93¯\a]:\81§s\18Úî¯\9f÷{íÁîóR8·Êß$7°¸,\85ßg\84.
-/­\86»'IR{«¤£\99±\14Ì\18\9b\93¨ü\ 2/T\16!      +ßì5öÒwô\1c\82\95£"\17\94\9e*\9dï±á\16"7«ÿ\88~nMUn×¾\fµÉËÂ8ïv\16\11V®Ý\1e4¯öÒÃÖHs\ 2­t¦¨Bºþ\91\9b\97þ£wx\ eÄ\80\9c\1fi\ 1C*§|ZDZ¡k\1f:-ýÊØ\87MPLñÆn\1dQ\93\ 5\89dÚÍ\ e
-ÞÃ\9e=\f\94Öx\93\99"mÙøسÞ\96Ù\ eÇÿnßÅòOæ_âé\\9d\17Ûè¤\1fªüv\ 6v*ëä1I\81~13BDNÒRf\v\ 1tK\87\8c<V
-iÁ\eáù5\89\12q\94V    \8fþ\14\99*\94ç:\17:ï Ô\13\ 6Bþ`ÝZ\99ùb\9d\ 2<E\83£íRcÊ<5d\7fÐ>ã7×\9eÜÂTENSIÚx\99\95F\81Á     Õy
-¸¤ó\9d%\1e\8b9 W¨!ìqh¯c\9a¼»ë\ߥÅØ\a0\ e5ª}\eUX4àÔ«ÑbËJ×½\89=ÎU°\ e\9f\bVgª\14\ 53äJ)\1e\94\9e\93ÑÅ\9aVhg¸É\18\85]7£\19{a=¯\85\1e-è       ÅÂBÔo³º9±\9c
-Z\bG\1f\95®\9eÉUei¬\ fz!\9f½Ô¼\16´\9b@zè\8e\9a[rQÞ\94\9eYá¼­2_YÙ\88Éñ>d¬\bƳB!v\a\1cEÁ,\89i!Ù´\99z¡ônÛ!ÂÑ\98¾@TÌÊÑ\8dô\97×·ãÐ\9c\ 1\vH½ÈsÔ\83\93®M\13Óð:gk~Á½Sé\8cûX <Ö4\ eÁj)ó`\ 5\b\90\90<R³[SÂÎÁ;£­c_\8a\87°~\89\12£ûC\155³sõÓ¶\9e{ua\85¥\1a\9aÍúß)Ô\14\9fÿ\84Hº¶\vP·Mpx\7f\ 4ü(gÄR\15!IXn\91ÄT\80¨uÍ\a·\17\ 5C\r±Iâ\98y&Ån:d7ñQj°CÊÑ2\9970Æ\98a©ÁS\8b1µ0\17,T\ f3\ 3%´¥Fä9\97}L|+J]\8b\13ÉXB54\11H\9fuRÔmn®&\1eV%T>70rS\1a¥=©Í\1c«ÉKÅQ\1açT] %W¯ÐëÝ¢XB+\18Ìt\r\e?l\8b$=çZ=&\14`ax3òÈ\85\98Þª\8d\ 2\ 2T\8c\8b\158Ì!\8e~µPФ©Aç°ìÄ~IVjZ¿        K²ßÐ\8a\9d«×Ô\eÖ\9awz\16%\ 6³ÿ´\1dÏ\v»ãÆQåêr\ 4\9am\ fÔ\99ëwãîZ\7f@ËK\8eq¨è\ fãáa»7 \10\93ȼ[\99³¼À\8d\98\9a*Êièì ¿)6¬\9cã\ 4¡¹>ñ9,Àÿ\amV\9a\9e\84U¦r\7f\93ÔûC¦\ 4:\ 5ÑP\ eò\ 1Õ½?\8aìKjq»U¡Ð\90\9cÖ1µ\923¶Îß·q\ 5\87õ£©2\11\0\7f\1f\8f.k2R»\85ÍAQ    ¶1-\96RÄL"[\10\18äµÖ>Π|Îd\19f;D\86\1dn­×Éΰ\eR\0]\15\ 5\vØVû\1a\8e㤢m½`ò°\8bÜ,Y\81\18Wìî\b«µYØ
-\rÙ\8aëð\ 5sÁJt÷\9a¾ò\0\11\98\12KöÏ\16\1a>\83\86Ç¢dW\89@d\ 6\93Âd<\ fóÈÅKÕd\1fòYð\18¤\1e\ e»\v4}\ 6\\8e»\19#iî\17\11koà\17\r\9f\9bÅ\>¨V\fxv\82)\89ï¡^Á\91\83Ð@Ò1\90¸'1\95\9fDQ1ûè:èx¨8\97\ 63<>É\ 2Ïq.]Ö\aãH^Ãõn\10µ-\860çâB\1d#ÒÍtHT0i\f\fôX        ûÌmZ\1fç\1a\9f\14óë2\82l8\86\ 1\1c0\9e\14\8b $\86¹\8eã«\13·Í!;Á\82\99)
-\ 3M\85ÜÀ+,#èb\83\8fq\85Í|7\bn#®x1pá\b¾sÉ8é×J\91\8eý\9fµz\ 4¡\89\91\e\98\8b\9b¾q\93H{F\17ï~»¾y\7fs1zÿ¶Ûý\85~\ e\97\13(ý¸¾£pB+­\19\ 4\13\1d\8d+Ê7\r\9f²á\ fRK«2\1aÕºÌø0'\13\\8eþþè;¬ö\ 3Ü\8fB\8fÐ\8e\f\17¨SÒþ/ê/·\9f~ÿðéöóÝÛÞ\941ÿ\1a\eu\84ó\v¬_Z\1c6¤­16\8fÙ\1føf\12\ 4;¥ê¼\9e½½\ 1î\8aç§4\18\9eGu\1e_\8c./èÎ\9a¯\18¿p\92\85\93D(s6~\926\9c\f»|\91<üÎY°£çlîlxÖ\1e\ eÎq/\85©Á\90\1f½\9f\1cüqð\17\90Sendstream
-endobj
-1518 0 obj<</Type/Page/Parent 1367 0 R/Contents 1519 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1519 0 obj<</Filter/FlateDecode/Length 2027      >>stream
-x\ 1\95X]sÛº\11}÷¯Øñ\93Ó\89dÉveßÎmgìĹÕÔ_µ\94I\1fò\ 2\91\90\88\98$\18\0\94¬\7fß³\vP\92é\99´7±e\r\ 5`wÏ\9e=»ÐÏ£1\8dð\7fL\97gt>¡¬:\1a\rGtv~\89×\8b+~=ïӴ\94\ fÎÏ\87\17ýç7ó£Ó/#ú\8dæK\9c4¹Â\9b\9cpÊhDóì\84zÿ¾=>ÿë\8fçǯO¿\8fÎÿA\7f§?t­\9dÉèAU\1avVÆ\aítN\8b-©²¤JW\ví<Ù%ív~\98ÿ8\1aÑ`<\1a^ÁÔ/,\8c3¶ðÙVÊÔôÉÖÁÙ²äÓNéA\87Ò®lM3íÖxôÿ\9f\99ó\99w6S%Ý+v\96n\9cÝø?u\86æ3¦56×:ÄÐ\9fµ·eçÉé\97\v\1a\8f\83³       G9\rä\vÛ\96@FSm\ 3 
-\85
-\ 2\12\82¹\99>ΨRYajíw8b\896\8e즦\1aøzR\9e\1ax\8cǤ\16\874/\8c'þ©i\8dp:\1cÎ\87gl5cÐð\98\82¥ù§§Óé\13\16ú\80̨`líiS [\845¹á\aø`+§û- ©Hå\95©\91\82u´1Èh®\116\9ej6É\8e\9cê\90\9d\16Ö\adÙõì§%\9f\1ff\94« \16Êk\98DØ)\1cØVÞÛÌ(\ 6dcBA\1a \10üTyî´÷ÃtâÙ\ 4ÌED\8f0¼l\1d\f;j¬©\ 3S++\953K\93IP}\9c?\8a\97|\fÓ<¦ådïtü Ë×    -M      §jN\8f&vÜé̺ÜSn9oÔ8»6¹î\ 5Ê\8b»4rl\14\r#´´®\8a^I¶ïgôÍÔ9ø\ 6\9f\8d®\81\e\rk 2rT\82\97\ 1\9bq\9a\1c\80ØÀ̵Éø\99êg·R[a\93Ö¹Î\87t]\93~UU\ 3ÿ±/$b\bÜ\85j`EÒ]#8zç\am\14;³wA!^®»^\9c±èØ'í\86\ 4R/\11N´Õ9Úa·Ï!»£$\10á.Ò\9f@\ 4m\ 3+\ 58Í@\99z\85u¥µ/mCßOÖF\91êÙï0^8«ò\fÌþþ\81°\95tÝV\1a,\ 5\87Å\1aKOWM\82|¡Öoô\89!Þ'ê/¿Ck\80 \8cCTz6\9dþÙjÔ\10ª\f»j\ 4\ 2Ö\ 1©\1eS%C¼ÈéÐB\18ò®@:ßð¤D-±\7f{l´\1fÒ·Â\80ó\1a\90ö,§\10\0²Ã>§\ep&9\ 1Îx\ 2L\11IF\8e#Ú§\a\94yW;ó.æã\8du/+gÛæ\185KÇ1ÕÇ° \ 2\90\81!P)\88Dzõ|4^\84\81\1aå+@²-\14("òfUKéñ
-»ì\ 5\0rHUâ\fáa\84\10\bf­3\ 1-ÂAñ\82Î\0X"­>ä&Ô\95=e\95C\ 1@vèÐót¸ ò®6ØÃÆ\99J¹-ò|x~:\14\94Y\e\8a³)~\81\97BÔFk7\b\7fQ\9e\1c\8eºÙ·0\96í^¨;º)\84\ 2åj ¯f\81ZdzÂ\9b¤ã]è\1fEcVÜ=\ 5\82\ 2Ý\87ìOi* \83Ú²Ô\ 2vxö£\ 5       ú\ 5Ñ@?\81Q\8ezy©¹Q EÌþyý|K÷\8f\9fow'~ÿ !T\90i¤,´\9dü³â¾\897¡Ó\11
-¦÷Í55\95Ma\99\eÜ\8d\ f\ 2ÛÅ/]Â\eèÐ\96l#\95"\9c©íÎ\e\8a\8dO\ 4\ 4¡6ÖG¨\10«,ý:»}\16ÿ{\18ïñy\9b\8d\83T²Ú·\\83?[ã8\8a\ 4\9eâ7.\96<+\94\82>\ 4n·+ê ì·\9a\ 3\91<@E¨\ 2\v\r¦\9c®\15î²Ô\15llo\9cy$WT½\94|;]¡õwÒÔ\8b\ e\rÞ«\15h\8b\94¯ÈzÔw°\19\90\86ûP\14ô\r\9c\88w3\91`ºO{nÐ9^À\81Ùý\r\141J0\16ó\ f7\ 4&96Åj\ 6\19{\96\1fÒ\0²3öý\ 4\8f¸ôèFyLwÓºi\ 3\81ÿÌd6`Fuû\92`è:S\8do1[ìlÝÝ}\82Wwv\ 5\19èWÌ\9d©_º±\ e\8c\ fX87¢\89PøØ\rQPm\19$[\1d {,Ø\8dÛ¯S\18zëõík\80Lê¼\17íW&\82LoK\95é~\1cªô\96Õϵè$\90dhõ\7fpr7í1(ìÆ\93Ê^0ûݾf\85ªW8eï?*P\92µØö\f?à<Ð\ 1N~\83HD\ 5@\ 3Lèí\f¦A­ÃÃÓ\9f\aäfÞ3\r&2Jó8\fñ[\1e8%¾hî\17äßU6¢BÝd\96\19õ
-ív\98? KÒF\91 [¶Ò\7f\98\18_¡µÍ¤sl°\ fª\18õØ\94}\ &\19\8fÒi\ 2LñË\0\93£`0°¦Î\8e\94\1fÈ¢,À¹J|?ýò\e\8d1"ò%fp>\8eÓ"î\18çÃq¬¤.è\a\1eÏ>a8\90*x;ª_ò\88y\8d\1c\1dÔþ.|\8d¸-zVÍüÄÅÆ¢µ,Úå\12\1cÙ\11\16\1ez\8cÊ\b\85\ePg2Ê\ 1Wåô©\97\984æ¢\89uj¡ÁZ\87I¼S        nøÐKyéô¥\0Ç\90\87ª­¹½vÀI:¥ññÈ?\1e\rÆ\7f%\fUmà!cÚ\9f\1eá*BФ\97\98\9cy\16åVc\17\ 1C\1fǸ\1fQ¢g\9d;´t¶\92èxX-Á^ ÉÞ\ 1\96ØH-­,\1e`¼X\15¢\7fï\ 5\87G\v³BÓÏ\7fÅ\9e\ 4U7úOy\8aì\10@\13\ 2\e\85z\b\ 4.sÜÑ#y\18Ýb\9c\16\9a\ 2Â\85¹\9b\a\e\0\1dEE\16\16\8a¯dX¢_\e\ 3\87úùAÒ\96\v¸º\8b\\ e\97R\12¨TÀ])v:\9dô\80=MÒ,·\9a\93\ e        \89ñíâ\af\1fàÞ3\1a\a\96=Ö¥Ú"yf¨\87\7fC
-}?âä   $K½C2\rÒ±\1f·Y\86kÂG\10\96©´kA,>=ã|É\89ó\vî\14r½L\ 2µt\18\12!\7fLVÈ\ 1îâ\ 392¦\1eâP(§2\10\18\83\ 6ÔAø\984»/2s8rPi\90\8f\92§B\ 1\vm\8e¯I|£1\18àÒ`ϧ\1dVU¢\1f(\90úâq½\b¸à\86ãXô3U-ú#\13\8f\ 6kU2ãÅ?æÏÁþj\11\81;N²r\95î\8cã      ¾N¹:§Éä"~q1»¾¿¹¦'g%\89\9fm\86+H\rÓp\95!\1dt\e\ 6\97#þNåä\7f\8bÑÅåÅðrr\ 5\ 5ÃòÉ\15\9fr;?ú÷Ñ\7f\ 1J,ÝWendstream
-endobj
-1520 0 obj<</Type/Page/Parent 1367 0 R/Contents 1521 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1521 0 obj<</Filter/FlateDecode/Length 1698      >>stream
-x\ 1\9dXkoÛÊ\11ýî_1\90¿8\80­H\8eáGpQ@¶åV\80­¸\16o\83\v\10(VäRÚkr\97w\97´¬þú\9eÙ%-Ùí&½M\ 2;"\97ó8sÎÌP\7f\1c\8ci\84¿cº8¥/ç\94U\a×ÉÁç»+\1a\9fQRàÎù%þ\93Óh8\1a\8d\8eÆ£á\97áé\90\92µ¤û\87¿}[$\v*T)?%¿ã¹3\1a\8fÃs'§\17xî(Y+çï\13~·®\15e¹¥Òd¢\919)M\ f\vú®tn6\8eæ   \9d\rGd,\9d²/Ü\f6\11\9d·ytó5M¿Ïæó$M\17¿-\92éÃ\97Ó4½}\9aýcú´HÓiró>\86#\12:çK#:\19#f\ e'3º\11J;j\10þì\91&yn¥s|Ò_ªD¶VZ\92\16\95ä\b*ÑdkDZ\ve]HúCP\1d\ 6\1f]3$TK[\18[!5Ù\Ͼ-¼Ù\ f\115\86ã\10]\1c\95¨k¥W\0AI\r\88\86ÝéÓó!\97áhÖP³­UÖÁh\9e\1d\95êY~í\83ºêÁ?\vç©ûsH7¦ÞZµZ7\94\1eeé'\1a_]]Ò\83ʬq¦hpÛÖ½3\94ø\92\9d½=Ü\87üñ:H\80ªâ\9f 'ª\1a\19ï3\ 2å\ 6rË­\avç      åvtSr~\b¥C&êÁ¼HKÉÍãçÙ#\82v\8dÈ\9e      \98ö¤¹º\8c=\19»\1eböåyG\86\ eyG¦Ø+\88\ 4S\f333UÝ6Ò21\Ôö[>\88Õ\9f\1c\12MA)B²vKnmÚ\12\90Hz\96uCF\83w`Y®^T\ e\94ZF\8bà\15·G\95\9d±º\14YP\13³º\0S\eÄ[¶\95\ 6Tei6oe\88\ 6\9e\19\v\1dÔ\ 6±\80}ûÉ\ 6Ò÷üìuÂ':4¢6w\ 1:Y\vë\15\ f6\88\86J)\10¢\81Î\\8dÐYò\8dX\ 6O\83Ã\ 1ek\1cÏ`?j\e\9c[I-­×\81ç\19Ê\94Km\1aéé\ 6¢Xx(ÀL\84Z\ 5®9\19nÊ×\fð+£ã\85\JÀ\96~\8a\16#\1aØ»~Ç(\89F-!\8c\8djÖ{r»\9fÌéAh±\ 2»O\87¯\1dé¬ÖÆ5ñ°\98¶¡Y\99¢\906´±Pc®\9b|m¤v\9c\98o\bÜ÷>J6\1a¸\17ûáãÓô''n¿=|ý%7\15ºè_~rt6¿¹ÿõvJ¿pØ,\87\9f=p=ýëlþÏÉ}2}\9aO\92\9fE2\9dßþ¯gÓtôª5Ú\8d6ú¤¶J7\9eæ=Íȵuml\93~\8ae\14»Nw^`lMèm'sÌ\8d Ä¾îüé\8dÓ\8e\ 6\fó\0\94(KÊ\ 4Ø\eµÎ\ f\86Ö\ 1z£mÔ\16¼\14¹\17;®ðm?©2ô\189¤ë-4P\88¶l\8eýc\8aÉbãæ!\97\9dÉcZ¶\r\1fÇ°³Ü¹\8dƨ\16\ 5dHù\16nT\16\9c¡Q ¹°~¨\10ªt\7f^$û uùy}p>\83Ã}\86\rÐ\18V\ 1\9cÉ\14º\b§\1dE, õf-\10\15mFfªP¡\ föìå~ó\v\1aGk³ù¡å¥Å\92\ 2\ 5\96f\85ìñéEeÀx)×âÅï\vaR!§\17e\8dæ¾Ã[\83éQ\8e\86Í\99³ô\ 3Âo©æ¡o0$\ 1§cR\r\ f\-á×   Ì\14Ð@\94\ e\9cDÔ>3\8e\8f²\1f?eü4é\91ð#¼Ü\88­ë\ 3\ 5R¢l0®Vköè©
-¶Dí\83\9b\eM\9bµ\fìßñ\92­¿(\89)ôç\99²ð\85Û²¾\ 6\87ÿÙO:\11a!À\14áÜ\9eînÞ\96-\fãë$.iâ½gÃ|\a.\18\rÏÞÀ\8e)»®åKîEÁX\bl<\85\aEþ@Z¼â\96ýÖÇ(ìF\96 _ç7'KÁ:c¤\8e\ 17&\8eï#Q\903&·(Õ¿ðP7)Âj\8d\ 4P\0nɼÜâ.o\16\9e\9eÒF1'ì\92\88irÿ}ò\e6Ó}BÕÖ`#\91°Ñr1¾{û\a\86+®D\83eq@-h¶üh`^_ÁNy½ñª\ 5ñÑ\ 6½\aÏÔ\YhR½ü`\e\9a!Å<÷]\88\ 3sèåh\1eu»,U6àÕ\9d¯Ê×°\96úqNÞ\ f\80
-7£\91ß\v\8dѼ\bñ\97\8a7\95\82\ 6ó¶,\17Ð\1cÚÞ\82}9ïÄØ\1cI2:YØh»\17\b^\e£\ e\10\82à\9d\0¨X)Â\8bÇ»zº6cy\17p¹í°z\96[®V«á/j8M;÷i궮\91U\9af-\16;ÝðªkMéd\83[]ÛJÓRèJèP©4å\1d­\92h÷.M5\»\90­G6¾\92tH[¹\ 2R\16á.\14Þ\ 408Ð\8fÞÊÑÕß\83Y\18$ÁÕ±ñêF3LPÔð&xU\1e¾[\ 2°Vo7(       \9a:«     \ 5/\eů%=ñ¢v±/\ 2.n×\\15\14heM[CI\8dYI\8euH\13Ìw\a\81ÂÜ®>àRV¶y\\ 6»!ï      éͲ\voâÿé\88wJóÒ{Lÿ}\95qØ(4' «¥ÌæЫ\18\83j\eE ¼68Ð\85ëÃ\8d\88\ 5´ÿâʺù£5@\8a7Ìc¾¯!Ûî(\eþ|wÙ½«\8fÏ/\86£Ë/øö\0_\1aäG\8bÉÃõ\84\1e­ù\1d²¦[\93µ\8cµ7ÄÏ\9dôÇO.Fx\83Í\7fø%ÃÙÅÙðâü\12_Mààù\15??M\ eþ~ðo\a\9då+endstream
-endobj
-1522 0 obj<</Type/Page/Parent 1367 0 R/Contents 1523 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1523 0 obj<</Filter/FlateDecode/Length 1607      >>stream
-x\ 1\95WÛNãH\10}ç+Jð°\8c\ 4\89s\99\ 4\a \99ÝH\90a\89gG#YZuì\ eéÁîö¸í\84üý\9ejÛ¹   ï2 PÒî®®:uêTùçI\87<üvhØ¥Þ\80ÂäÄkyÔïy­.õ¯\86øÜÅ_&iá\1eôzÝ·\1ft®û­Áñ\89[ÿ¤ýÙ£kò\17¸cp\85\ f\11Á¾ç\91\1f\9eSõsFAà½jMÚä"WFSnȦ2T\8b\r    ZÊWZ\89¸\80\v&Ãwmôe\9a)\9d+ýLáRd"ÌeÖúàÿ8ñè²ãµ®pËÎxÓ:ùK¶\18ÇfÍ\86ä«HÒX\92\8aãÂæ\99È¥%\11Çd\16\94\95Ø\90Kmá\9dýÔd²i\9d:^·õ±ß\ 2D×C\17t¶TÚÔñÓÙãÓ\98ÎF_\1e>i\99¯MöÂ\ eÑ\19¾Ðsf\8aô7K£»w\18Ç5lóT¤©\16\89$\87\7fº½hïÃ\99\ 3\84Íde¶\92Ù{nèöØFjÒ"\16Ù\9e¹2\86\83\ 5k\8a,\94¿`»ã°\89M(b\9b­öl9|ö¾342\92\91#\ 4²CJ\87q\11ɦ\0\9aÖéìvüÇdúÏͽ?~\9aÞøãæ\8d\93éÝý×Ñ\18\88\ 6Aía\10¤Å<V!V\92¥±¹}ßq\97û_8;\9e\8eþßÃÆ«'¨& $æfÅ\1cv$¿pK5MN«\14Qht.\94\ 6ïËê\13q£ÕmÙ\ 1zR¹%æ[e¶"Ç)       \1dÑi\rÖö\16Þ\89+²ÆlQ\9aÉØ\bä÷Â\99`÷O\1dh\a6HÙJ$\14\98`\rÜ Ph\9aK*¬\8c\1a]\87¶Ä¨î\8cÎê\9c
-
-¥FÉÇñ\86\12\0À Àd\95TZ(\96\ 5'\ 3{á4Ú·\e\9bË\84½+´X      \15\8by,\7f]\9d¦&\97H\93È]®ÖK\ 3'JO,¥"C\84\15ë\9d
-\9a$A\b\96 \9dR\84K\8a\8dy)Ò\8bf'\r½H\99òY\86W\17É\1c\88@ëÂÚ\12`\12\94\92"¡5T\91T\92fL¢Tf\10âDè°9,\16×Lb\e\90Ë\19\vH;\89h¥,£áô\1dæ\80·\88\8e\80æL(\10\ 4\4ì[c\b\12ìrâ\fë\f\8c\83¸ýù\9a:ý²Ý\ö:Ü\bÐ\10zø¥?¿Ìü\99ÛÉ&Û\9fûÔÁsîK\97Ý!oô\97\95%\97;[8>0}s\875=Ìè\9bÒ\91Y[\9aúÔGWD;êr/C\r\946ÑG\9dÍó»OAðm2\9dúA0û>óÇ\ f½n\10\8c\9e&\7f\8f\9ffA0ö\9d\9aï|8g¢×\91öÐ`áζ\1a9A\93\89¢LZT\ eâ®\96Xt\9cÐÃ\81Däá\12\8e¦Be¶E\93\83b ù¦Ì3w\ 5X1qÁ}öèF¥\17\99@ï+¼àÄé½\90/(\92) gÆ\80dK³v\ 6ý»Ç6|\93z¥2£\99\83\f\1e\_¨gØ\88Z Â\1eª0)Ñh6G\17¯Eé\9eüY(tz¶R¶]úªÕkû^éâõ\18á¶ÌÃöVu÷¡l"C\v¼¨èÐoÑh:£{W%eêÞ¦C(R1W±Ê7\87q18\9c\84*~+ó"eM\13õ\83ª\91o¡(ç\9a\85\b\9d1äg\ 1и\16"$ô\b\ e       É0<\818UÝË\17\84úg!QwìL9ºà<û\ 1É\f\15\86\14-\ê\80Þz© \ 3Ê\96i\13\f©Æb¥'S\99ßN¾Ì\8e.\9e\9a\b!mRØÃT\95HVÉ\83t¢p[tC»}¸È£D
-4\r\88.Ufi\9eA¿Cp\89\82sHFF_G\8fGwm·\ 4\1f\4`mî\84»\96ZGl'\80p\81c´Åü\87\f\1d50\ 42\93K\95ãã,/\vS 4ªÄÔ\9eð¾£\9bC\b¤t\19\17\90hw\81fN\T:ÁUvÿPj\ 6ò\8a9S\86/Ìg$\ eÙf\ 5Û¡på:\9f\86\8d+X|\ 4\ 6\13\9b\97Êà-3¾\94;\82jÌhææ1^2sîF°\Å:/EuçéEíæVì+ý\808m1®O\ 3\8doIå^u|l\95^ügyÜ\94{\82óZ\13'\1a\80fÊ©)#@x<Zª\92±\9cIJÄ÷*<[\84\1dÏë´ñ¯»×ϧ·Ócv\ 6çuR\ fn`B:ÐÊ!\96l\8e®S2\86\93_
-&4
-\9d\86õÓ=B\15pR3ù¬Ð¬¡S,\90¢\96÷c¾ÄÊéZ9\ 1\1cTüRXÌ\eRÓ³Zá?ÌÆ\92Yo´<HäN¾\1dôÜr\ 6%à¾ÙJ\ 4@\13É\pÖ1ÃÀ\efB\15\14C·{WÙU'ÏÁ\88µ<\11ñH\8cϼ\99càW¯ª\1fÙdÞbU.\97k­;wíнÎ콦]vû¥oõÄ\8d÷#\8cZE\9a\9a,§ßé»t\83îNr]8®\83¾\19\f\vû¢qS!U£}Uǵãû\9e^UQu\ 6x=½êÑ`ð±l\99³\9b\87Û\e\8cÓ\89\91    \vîHNz9ðËúÀåÐã7Ñ\86Ñ ?ì·\86\83+\b\e\f=>9öOþ:ù\17Á5r¯endstream
-endobj
-1524 0 obj<</Type/Page/Parent 1367 0 R/Contents 1525 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1525 0 obj<</Filter/FlateDecode/Length 1779      >>stream
-x\ 1\9dX]OÛH\14}çW\õ\89JÁI MèJû\0KQ\91\1f«dÕ\17^&ö$\9ebϤ\1e\9b\90\7f¿çÞ\19;ÆDª´ (Ê|ܯsνÓ_gS\9aà{J\8b\9aSZ\9eM\92       ÍgÓdF³ë\ 5þ¾ÄO¥i#\v\1fù\93Áç·«³ñý\84>Òj\83\9bæ×ø##Ü2\99Ð*=§øµ7Ö\93ov;WÕô'}uïW?Ï&t1\9d$×80ا«g]aÛËËKÒûá3ãû\19M§ÁØÅå\9cÏîs\r\ fÃâe\<ï\1dã+^\1f='ã©Î5=|'\95e\95ö\9eÜF>ùñðuI^\1cH¡\8f4]D{W3ä\ 5\16áõ,¡ÏnOëÊí½±[Ú46­\8dC\94Êf\94c©v\94é]á\ eäkµ.4/ð\8d\88ú\12çù\1e¬k\9bÉbwQ#×-U¹V¯\9dæs\8bD"¾A.kUë\8cÔÚ=ë\11}YÒ\ fc3øB¥JscµGÕ¶Æ×È#\ 25\15}Õõí÷%YUbññÜ$:ùCB\8e'd\856®"\8d+¢§Ó«ä\92\8c\98TS}Øi2\96ÜNW\8aã}|Oβ7¨k³Kè¦ðnDjè '[¿¨´¦R×¹Ëh} }nÒ\1c\1e \16ìTt8\;0_«'8½+\14\ÀöL#®\12QÆ{p%â\84çÖÕ\12R/\1fia´­Ç¡¤\94óµÖ\96¶æ\19¿\15õê=°\19\811\82\9f¯îÿûËçoËÕ\92
\9e\9a\1d»£-\970\e±\afCw@\10§±\9fq\ 4ç]ÑpÆ^\9dÐu*0ãâÎ\ 3(\1e¬\84\90*¯Ù4 ÍÑIÜÖõý%U\14o3\a\0zÚk,á_Ékp\14\9fã\92ÌY͹ÿ÷îû \\0Pe0Z'´â\92\18ø\v\88uµéÜ\a®¹\9a\85KU\ 1J¯­®GÔØ\82IÔæ\ 6ç\e\8fê`o\ 1\10v\9e\ 6v<\fmÇTk\9f\10¢÷\r`áMÝ\bÀ<        \17hW¹g\93Á\1f\ 5\b)ð¬\87 M\9eù\12y\e¢.Õ\ 1\95æB¤f]\1c\ 6Ñ\1aûS§L cc<B@\84ÅîB\v\14*VºZ÷©\85H÷®z\ 2y\ 2I9\rïâ6e­\83\ 4èw´S\15Ð\f\80\1f\96ö\87\14ò\15è\18\r\9cªÑiÜÒÞ \92ØÀ\15C\96\rW\88ÓÚ±{oj&\91î#£µÛ²wÉ\19Ý©ôI×\9eRe91\95kD@ VuÞøp\1c\88b\r\89\97¼Õ7RiåPéx<¦Ä·\16[\10ß5\15«"û%Ú\0¢ \80)c\ 4æu\81ä3\15$:&wä6\ 2K+\rØ!ÿ\ 1`%â\ 5·Cu\84^\8càÌ10AvU`{6¬®~A\15\13ú\ 6K\90²#\11cýø\86VôÄ\ 3¤C\
-\88=\86\1a\9aDæJ\ 5É{íI`É\0Uqg§å¬6ð\12z\8c\1d8\ 4\8cjA\9d¼N\91¡ú\80ÏäòÔÙºr\ 5ã\1fñª\b\87\93\96\a6EØ\82£¸@3vù2H-[\95øOfòñ|\ 3À\8a\80*ÿÄ{E
-¡[\9bÊ\95-\93!ïǶÕÂI¿¤¹²[>Óg\r\9b\85Ô\82Ä" {\10\8f\1f\ 6\99\v\8a\ 5Ã\8bâ@n]s~\15ü.w\ 5\98s$aQ\f¢íº[\9d+T\1f\8a\ 6\141Ê"\10\13ú$&§Ó\8bé\aB\8b\0È_C\ e|Ëu!ÒÔµ\91Ø\8aú\98\18Ø\ 5BØÊ\10\ 3·\87`\Õ\r»\12F\88\ eÝ)*¬+£z\ 4?\9a\88¬ÍÍ6× t³«M\89N\8eüÃÐÀzé°Ãkk°
-\1aÕ.u\ 5!N\ f\ eÉ\11`\f$ií¡e±j`æ\12ï:\7f\80Æ\93\88\1a\92÷/i\99è"Æ·Ð\8duîe\1a¹\0mY\99$l¤\95¥sDë\86YéeøÁpÓÖG=+S¨µ)\18ô\82Ѫ\82\b\f\ 2=!<l\12ÍsÇ\8añÜ\9fØÆÇ®\11oiÅçÆ\1e\98\ 3\e³mÂ4\814\0-kHÅÓ[q\ 3¾ÇÈkGZt\ 4h\977)'\80Û(\94ýÀ\81V<:¤\8aC\86S\98_°:ð?Wp\11Lß!  \90<a;\17¬\ 2\1d¥Ù´\19À\9exO\8b\i^\18±ÞHih\7fqvæö·\81@2Ü\ 2\ 5\82bs\9b\83\ 1\7f°iî¬ñÒ:9Ï=\82âìIí\86'"Po`×ö¶x\a_Þko<\ 6rq|¹N8Û´1\85\8eÜ\97\9d\9bE=(\92ì?¥F\834\82Ó]ÿm\9b.\8fÕ¸©Ò¿\1aæK/®\10\85\1d\9b\f$f]\99l\v!@ÿnóÍ\92\19$d`Ükîà\.L\18Òæ*\914$\1c§c»oû\1eX Ø \ra\ f}*LQ´Æü\96½é¤\0\1aËìÀäɽ\81J\ 6ÄÏ]\ 3Á\82\ 4¡\97àNñ\9b3ÿ\9bút\13S/W\ 3Ã\82\97cæè\82Õ>\18\0¡3\10ÚàY\13:\82p\13\15h\1f\89v$/\ 2\89\1fóQæG2þ\ 6¬\85\ 1q`V\1c\12̹îá\ 4\8c\88" Z\88\19Ö1+ E\18\f\99¡P!\97'\1dÀDÈ\1dÉø\92³\14ãÎN¶èãδÍê3\14\1a3û(>!ñ\1c\96÷åù\18Ãù8\87ôzvÿøð<Çû\ 6Y\82Ä9+Ò9¾?ýFü\90ô§Ç®å;Hýà¡ØªU+üí\ 31p\9f\1f\13^ëRFlÈ\93Þ\1e\1fIãûëèït\8e×ùõ\15Í?È\eqyóåö\86¾W\8e\a]ºsiS"\9d¢\v\1cÎE»ýb1á'ûÿ\7fÓò+÷w¯ØÙb\96,æ×ø\ f\ 2XZLÙ\81O«³\7fÎþ\ 3\87Âendstream
-endobj
-1526 0 obj<</Type/Page/Parent 1367 0 R/Contents 1527 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 825 0 R>>endobj
-1527 0 obj<</Filter/FlateDecode/Length 1955      >>stream
-x\ 1\8dXQsÛ6\12~ׯØé\932cÑ\92,KòÍô!¾Ä×ÎÄIï¬NÚ\19¿@$d¡&\ 1\96\0-ë~ý}» (\85ñM;M\1d\13$v\17û}ûí"\7f\8ef4Å\7f3ZÍéjIy5\9afS¬ô?þó¯Ñl:Ϧt=_eKªh¶Xf7ÝSI\ f£óg¼½Yã«ø-¿\85!\9a/¯eçzÖ?ô¯®\17Ù\1aFWüÅ\\1eÒ«Å*[Ðb½â=ø¿Ñ´\eÝnF\97w\v\9aÍh³CÔËõ\8a6\85\ 4;¥M>¾\7f ¯Æ\16îà)/\8d¶ÁS¥\8eÔzMÚæͱ\ eº Zy\7fpMáIy<4\81Ü\8e\14å{U\96Úê'}Ùh_;\8b\r{X1¹
-ÆYª\¡Ëw\9b?FS\9aÌ®²9|\8f\1fÇ*{ÎTF\9f7\9fî_f\8fïÈ5¤Jgõ\ 5ÿ\96\97Z5\14ôk \1f\1ac\9f<í°ìMU\97º\ f\85¶Ê#²oÝeô36í][\16´Õ8¿*Í\7fu1ð\1fö*ÐÁ\84=!Tz¸¿¥ºqÁå®\94\85tX2|VÏ^Ü\8bFDøØê\80<<\93Æn,\19Ku©ðS¢E\90}Ê.hÛ\ 6².\f|o\1dÜò\ 6\18óªú._\8dþ³ÕÁgݶù\12\80"e_\91Ó\93ñ>      À\ 3\18\ 3+$¢_\84m\9co\ f¤¶Zv\ 5Ýà\83íQ\9câcÄíÏ\8cq4\aG\auôÿ`· ô$ù}oéþÃ\82\8dí\19r\8eú×Ï?ÿóË\87\8fé±ÏVÄ*£Í\1eÖñçÙº\83e¾ð¦Ï\e±!Ǻ¼Ë;6NVÙ\9ak\8991_®\88½\9f¸*/{Òl`¥÷\ 5ó¹³\0\85É\19\1cµu\8dSå`Ä\ 5)\8b%NW­\8a\82±\ 3rM\v:ÆOg\vd"hß\ 5\1a£æxyÏ\0,\ 5³\96m\bY®ãF>øç_?}bö7*Gr\81\ 2|úº4\81\83\ 1Y+Éèõ\92¶Xúðñ\81\9eõ\11\1e\Ê:©\81§\1f*õdò\1fh->èE\95­æ\b\99þ-\ 3ª\80f0Ç\91K5 Zú¤ì½²ÿ?±   Ä7r;\99¯³Ù\rM®ç\90\12¤ÿwצºiô\8eÉî\ 4·_ºÂ§\8fQ\v¸¤qn\88\82\90?0Ö?}ùºù\ 2\ 5¹Ô<Wkå@ÌB\aeJOØÄñ\1aku388W\13\97\9cB>S¥\9bk\94§\9e\80¶/&g\ eäÏ4» ³/@.PÁ#6OWÙ« Ñ-Ð\ 22øÝö+\0Z\ eUI\14/\965\8b\16ÃÜóm¨2ïËòä\12\1f\9e\ 5#Å·C2Ü\81\ f\rEìc³\8e rOßåÀ\83¾\ e\9az&%É3jø\88\1480Ô\843§I¹÷ê\ 5\8a\ 2F0ï\10WѸºfî$ݪ@iQÔN#ð¹\88\84) ­\8cÛlJ\95±-Ó\fO1Üä8é·\88\11\ 3*Z¢BÐU\8d¶Áu\88ãò\vv\83²)\1a\ 3\a¨TÛ1ã[e\92ètq![â\11\89öAmKã\91¼\ 1YØô\99µÖóÑÐ\86\87·ÜÕÇ¡*¥Ð\13¯$ô{\937λ]`*\ 3\ fÑ\8b\94å\13èÌ\ 2\89\r\bp\1eñ]B\8a3Å^Ù?ÒÌq\9dÀ\e\ 4\9d ì\ 4§Ò
-4\95D\1cX¥xo£\9f\f\84è\bß\rz\82\14\17\14.\ 5ç$+\16I\91\94\v3O]'Ù\87è\ e\9b\r£  O@\86ë,ö$ñªú#u\8c s\18\e\r\ 12\ 5$\136¥Vh\87B&\13\8fÚèÊáÕ·E185\97+4¢p \12º`\9f¹¾AöyNJ|\96\188\85®\80öÆ\9a Ë£XPôä\A¦Ð\8a\ fÄD\91\94\f\1c\9fpè=ôÎÑé|\9bïÓ 3$Ç\ 6PÄÊe\{,\80\ 4T\16ã\ 4Ø-ÝF&\0Õ¸6v\1aÄê[Ñ\8b4Hݼv.N\8d\89-r¹Xà;¤5w\8f\84\80\¨¢\ 64©L\10å\aGÐQ¢"ó¸Ò%W\90\8cEp63}\v\8b\9cñònJ7qü\9bÌ\17q¢`\872ÓQ©_â\88\1f»\16<\8f\9f\8f\8d\r\18îD³Ïm̦±k¤\ 3ým\13§1\14\13\ 6÷\9dÛ^ÝèAU[\15É\ 6íìÚ¹\94Gï¦ËMGUN)\92R:÷ÜÖý\87\ 2{\15\8f\88\-¥ËÕPîýÑC·Hå9pÄÀE·:WðÄóÍo'¨Xo^x\9eu\16³.ôÅâ\aÖÐØ,ìöqöÃ@T3&ååݼ\9bsÆé\ 4\ 3®ö\99?\r\13ï¸\ 6\1aÌwp\b\84,4\c\16\19\92ö'Ä\80J»81\bÝVÎ\10O\b\1dß\ 5ì®Ôs¯\1e\95ye½äìôq¿U\86\16\0\12,wÃ\89\85\8fÄ\8d]õ×\87\13ë\81J'Ó\f\90ê íXû\17\84}3\7f©:þNþªÖ\a®V¯e\1ac}­Ô«©Ú\8al[m9êÝ©.5¸\8b\ 6ÖÐaoò}\84m\99`Ã)p\93\88\8b\89ºc\8aªÊè\9cfnÜeX\12\a1â3\ e¡;ü\97\a¦V\B\89\17&\12KfÄ4² <¹w=\8e\1fßI68É1\88\9eP)!§Ê;§\10,¬c%Åé\91k\82Ñ\1e\86\86û\9aõ\b\ 1M:\19\94\e\9eç{îqU\8f\9d\18³\13®k\9e5\98gS¶\1e\a\ 5üõ\84\87` q<ùÇ\92æËÃÀ³\10¤ª1fHr0¼Wm\90\v#Ó5®¥É³\9bÐe¬G\8b\14-ÄU\91\a\vÅ\8bΤ\80q\80²#Û\ì<ë?\8e\99µß\8dy¹«¶Æv¾¸«=¾\e\96Ô\ 6xm1\85\90«e\9ee\ e\17ø\9d­ã÷Øvú¦ÂÅñFW\ 3¡píâÊmº<`7ÒXÈX\8f7¨ìaVö\8d\96\ 1gg\9eÚ&Þ\9fkç½Ù\1a\-\frʾÒ\f\82<½áVnp\97\8e³%þ-`}EËëN²\1fÞßß¾§_\1a÷\aF2úàò¶\82º\89/\8ef\926LVSt\8cb\f©_d\ 4\91¡m\83\7f#`ÍݵVæüxíÙó\9cëЬëÒ\1dqa\97)\85ÁÂ
-.OòØo\8dµ/´`o\8bÕ"[-×ñ\ 6¸\9aóÒÇÍèߣÿ\ 1äU°oendstream
-endobj
-1528 0 obj<</Type/Page/Parent 1367 0 R/Contents 1529 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 830 0 R>>endobj
-1529 0 obj<</Filter/FlateDecode/Length 1477      >>stream
-x\ 1ÅWMoÛF\10½ûW\f|r\83\8a\16%YR
-ä`ÇIk ¶ÒJFP \80±"\97\12\1d\92«ì.%ëß÷ÍîR\12i\1f\8a\0E\938\90ÌÝùxóæÍðûYL}ü\8di2 á\98\92ò¬\1fõitu\15\8dh4\9dàó\0?ZRÆ\ fpôðß\9f¿\9e\8d\861\8eÅ\831\8e\944\9a\f¢qøVÐÜ\19\8aãA4ågC>è¾\1c\1eõ\87ì©íãfqvùù=Å#Zd\bk<Å\87Ô9íÓ"¹\88ûÑU\14Gôh$ÝÏék^¥jgèaAÂ\90¨HÔv-+\9b'Âæª"#õVê\9f\16Ï0Êî½ÑÞ`\ 2£\17\8bun¨\94v­RÊ«­*¶Ò\10®\93\9c¯\eR\99ûE¦\8aBíòjE\e¡\ 5®HmpÅ=3å2JT\95Q\96\17ò\17ïªOï\eO#¤\r_\14þÈ*Ñû\8d\85\1dcvJ§\86>Ð_Òðµ>õ\90Ýôô´\91I­s»Ç¡c&o\9c\85S8~þ íÍÝlþT!Ü'\95=}¹ýxþ\1a\87±ÇA¢¼\ 2?v§h'ö.ï<e\1c³=g½[\ 3%©Iiª\94%A5ÂaË\80<=ä\82\ f¹Æ}C[Qäi8\1dѬ\92|ÁaÛ$:\8c\ 6ìZËM±\a\92\99Ò¥¯ØF«-\§\O\80m\9b\12t
-[JcÄÊUD«\ 4_~vÅP.Lçì¹6\88\14áI­\11w¢R\19\ 5ï «+Ê\ 2µ\ 6\9e\81\88\19\81\93ü\85\8b\9a¯jíãÂ\ 3¦F&\12\8b\ fÂ\12B\ 6Ü¡>Z
-Ã|\99\8br)h\97\17\ 5\9eÁ7®t2î\96JÐR­jÓF´ùåá0ç\91{.jY*+\9bJg"/\10\99B\83>K\17\9aÃÚ\15§ãùu©\10\1d:\ 6ÿ
-\10ºB\9e[yÈ>\94¿i$àá\8az\0\ 3\18§\11}\ 5+@\ 229Br°7!w\9c\17*ùFªFE2øÂ\8dDj+ÐBU].\99\1f¤Âuow°°V\96\eËè£\ 4\ eY-M]Xî?xÔĦaÙt«û\b\89pý{RÓ\8eñT\81\95Z~¯s&¿Ë\ 5P.]F\16x    \9dÒc\95¿\90H\12UW¾èL\ 3\8c\83éð¨\93o\ 2XagÉÁ!)XÝh¹EG!Ü\153e¹'OV\90©:\95²¤ÈqÌgsª\84='µè\19'\81\83\88îÅ7\19\b' c\r\8cmk\10Æ\ 3ISU\ 2q\ eôß\8a¡\13BȨ\83\11äoËàÿ \82Ç\14ÞPAèé·\95\86õÏ©\13â\ 6\0þ\92S¿7n5\84m:ê\ 3½{\r\93\ 6\8dówç\10ÍU]rUQàó\8e¥sÏÖDð\1dã\84\ 1§@\b\81^a\12ù¸Xg¬\ 6² 2(\rõ\10û\ e\99D%\985P  \18à\9b8âÉ\aþ¥
-òºËÁÅ\16\8d\1e\16Ý~¸C\1du
-/¬\\8eºaöÁ(Cç,{\ 1óÃ\86*)1 ðøYÁ8;n\8fÜ\ e³"ZpCä\87i\16DÞE\b9÷ô1nFbÓè52<{ËökpjÃrÏQÌÝTG\ 3Tb\85|ÀRÀV\8a\ 4\10 uÛ­Ú\81ò4?\aÐåç$ì\ 5½I4\8d)\ eAÿ=\18O¨M\ 4÷ü\10õ\83|±?\13\9a\83#ú=¯ê\172{\ 3±"ù\82±`\9b]à*\98¿ l
-\8e")õ4a\1e?=\ß\7f¢Þ3ÝÎî¯ï\1eÜWï±\1d\12\16\9fôâ\8dxz\83i\14¿?âø_\v\1eÓÓ3Ȫ\ e¬Øfò\15\93·æ¹_%\9eàM)Ö(þRò¬9j;D\11\12ÈØ\85\81Ö¬r·\1f\ 3\8f\9aÛ^J;\ e\7f\X½[PÉ\90©\93\19FZËÜ\82tb\ f\8bYKÌpÏz_\13¬ÈÍúØpäRÚäÒ\97Ô\9fiVÌ\v\82&è}·\ 3¯Û£\16\8dåqcß\8fw·®Õ\1a\18xÂ`\ fcL=g\83Â\87ÖD\9fa `Ç°\024'®.±\ fw\90\9aa\ 1ÞærGÉZlxöºÓ¸ÿÛìëb\ 6õ\81ò$¼í\86v8îÞí\893\8cècØ\88\ e\aWî°`\9d°\81wõT\96\18¹<è±]\81\18\18É\98 ¡Áx
-_¶ºl\89ñ pÜx6v_\1c;_t\ 5hǵD\9dQßc\ fº
-\ 5\ 3\9dy'\83AßÉm
-ºM\83áÎ\9a\9dÁm©ªÂ
-\8bx;¸\87M\1fç\ fsÁm/È µM\9dçùý\rùy\7fÚ\1aÇZL\ 3çâ1ÞæC¼\r9-\98_ßß\Ó\17­ÜÊw«\127\83ÜjÆAô\9aã½I\1fï!acø\91\97¦Ñd\14MÆS¼\87ÁÊdÈÆ?-Îþ8û\a¤:\83ùendstream
-endobj
-1530 0 obj<</Type/Page/Parent 1367 0 R/Contents 1531 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1531 0 obj<</Filter/FlateDecode/Length 1199      >>stream
-x\ 1\9dV[SÛF\14~çW\9c\81\99H²%Ç\97´é\f      $}\b6-Êd:¡ÓYKk¤DÚu´+\eÿû~{\91±\rî%0\80\aiÏí»\9cývÒ§\1e¾û4\8a)\19RV\9fôÂ\1e\r&I8¦Áx\84Ï1~\1aN\vû \19\8c\9e\7f\10'\830~îÄhòôÀ\9bô$z7 ~\9fÒ\ 5\92\ fÇ#JsBâ^\8fÒì<-JE5×\85Ì©\14+Y­¸"\96ç¥.¥ ¹ ] \1eYUr]\8a{Z²\86ámÞ(ÒÒ>Sõ<̤XТ¬ø«\1fÓ/H×£\89Ë\16Ä\83p\80|çgg´¬8S\1cí-xÓ\1d¾eõ\9cÑÍå[úuö)\9dQV°%\82SÅÌïR\90\89×£ ßCc.\8c6\ 5g(\88g¶Ä\85\96\18ZÎ5++upâó}%ç¬úóàß俸È\9aÍR£/¥Ö²É\15½¦?øa\90îmų¶)õ\ 6\8a7Gbæ²f(½\92÷Rüs¼\9f\88       \9aÝRÅW¼2ÃN\12êÚA\97\rÏd]s\91óüH*©üÙ×8êß\89ûáÐÌêóô*ý0{?\9b\1eë}Ét\81N"%k¾.XãRD\ 6ÅHm\94æõ\91\9c\rg9IQ\99)lܨv      \16Ä6;\ 6\80q\ 2D\83\8fÅÌ\93\f´Á ¿\12£\8f¢| \97\8aX\96ÉVh\12\9c\ 3\ 3¼3ç\94!\93æ¹\8dÀYVØ\99¿ ¦hÍ«Êü5±Í\93®Ò\ 4²@ç×·ô©\14¹\+\9a¦Ql\98^ã­Rð\90Ò=:+Ý´\99\1e;îomÙð<4á¢w\93­f\82xìX\f\1a¾\f\93°\1fÒGÀoYrк{ïÂ\96ºmJ\17\82\r-\e¹*s\8eÞ\vÌ\9crdË´l6¤
-ÙVùNÓ\87\85~(E»\1d\96a\ 5\13ù\96¥¾m Hz³,3f¹d\84\8b\84\19ÏM\7ffTv FÅ`\9d\1f¸ïõ©`;Ê\9fÙV`\b\14(\8aæ`È\9c©\82\82\9c"ÓCtj\84Pæ§\14ÔÔ}îàð¢}\feU\96ÿÛ{DWÂÈÿÆkò\15ý¼\ÿâ\83vì~\f
-\ 3òq\ 3öý¡\ fð64òhÇ!í\11\8a®\1d\97èÂqö8\rÀ5\18\9e\81¥á\8eZN7ë\82\v\aÚa\80¹!3#o\1cpSÝ\18\83kBúý\89[\ 6pËÀ¹%0íFí)°k\84ß\ 1í\82U(Ø`\9bóU$Z¨ìÔ+ç/\ 1ß?½»û¡Ëx\fÜàÿ\9cÙÃÎ0h/\9bIeqÁÊ2»+Hì.\ 1\90ÞJ\91U­Â\96z\ 6\80\91³@7c¯:3áEÅ\1fÊyűñ\18¼\19>#\97¼\81Ë\0\80\13Ãb\86\85u:¾Õ\10ZÀ*)8\81è+Ð2 ©$µäY        \9d\84\0£q.\0)!;cx\90\18¢;\vÛs\ 3\15ÒNPÓb`\16\9c\aÐåP \ 2MgéÖ0\ 4×Ö4íN±\85\94\19W/l\eFÐÞa¬Ç¡-ã7 \95ó]_¶\8bØ¡çÓ¡y\90¨~ä\9eK0o5\96/v\0\9c¾f_¹\rf-ß_\bv\ 4áN¬\8b\12\ 6\8d1TÒØ\ f\1c\ e\92í\1c2Í(ÍÌ\ 2\8f\}\9e­\99\0W\9f>%\13\87ã]<\1cÙ«À£ÛÚçÁËØÝ\v\81F\93ð!\1aà2µÝØ^[5¯çÐ\95cÖ~2\\87òó£\99:\80\90\89Up'\81âW\98°4fºÓÙ4¥.÷¥»\a\80¨\9d\9cÿKÚ±\9f@?\19\87ãIBþ_>·\17×o.è¦\91_°4èRf-®\ 6n\86&nÐ\1fâ\ 69N(\18õpûÚÚ\97\11Ê¢¼7;ÀÉÁX\r\9ah\ 1\90ÐX\16ö\16å@0q\ 6£A8\1a\8e!7Ä\18\rÌ¿®Ò\93ßNþ\ 6\9b\8f%8endstream
-endobj
-1532 0 obj<</Type/Page/Parent 1367 0 R/Contents 1533 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 833 0 R>>endobj
-1533 0 obj<</Filter/FlateDecode/Length 1701      >>stream
-x\ 1\95WMoÛ8\10½çW\frr\ 1ǵ\1d×N÷\96\ 6I7@\91v\e·ÝC.´DGÜR¤JRñúßï\eR\92e%)°(\1aØ\165\9fï½\19þ:\99Ñ\14ÿf´\9aÓù\92²òd:\99â\97îÏ×\8f'óåjò\9e\16ïg\93%\954¿XMVÍ7M÷'ýï%\9dÏ\16\93Yïiÿ;\9e.\97\9d%~\17nh±¼\80Ý\ 5¬Ni\8eÿNÒ6>8\9fÎøññ\83\ fë\93·7ïi>¥õ\16q/W\17´Îc¸ø%\e]\15¢
-ÒÑl6¡ow·\7fÓ\17éJå½²\86>¨àI\98\9c~(\93Û\9d§»õ\9bõ?'S:\9b/`dt\99eÒ{º²&8«é\93òÁó\ 1ö7[%\7f\8bÉ\9c\ fÃ\ 1\|Wr§Ìc´\9a\15Â<ò\97è·êüzª=ÿ\1c
-Ùó8\9dD\9f^fµSaO¹\12Ú>6þ\16\88¿ñ7_¡8ðw'w¤L4r/Ê\8dàRÁ\84\93Z
-/IùøHl\94fk[ëzYR¦\954H>XÄ"ù¤rdDPO\92º\b¼\f\ 1\10P\93ÙyJ4\ 5F\eû/¿þ\84\84c¶¥ÍÕv\1f\9dÖ&\97Nï_J}Ò\16x\99Ò½³\81Ý\8b\80?\b¹\r\17\1f3áä¶Öd,\9eYÊlY9\8bÎÅh\ fAÚmt\19K\X\1f(\15\ 3\ 6\m\f\87`Í8\ 6è\83Òºqßæb7r\ f¯ZG#[¥%\1dú\ 4\vZr\19\11\9d\8a¼T\ 68p" ¢\990\88$\f\93º5ÍéÔ\12F\98ØX\94\96;\9eË­¨u '¡kIMø\95\94\8cÓ\84¯yÓï\11\19øÎ4ùºª¬\véi\8b\86\11\15ÂÓFJC\11k2§-j\94\ e\81Â-dÚl·B{94\81Ú\1e¿0
\1e\9e\1a\93·T
-£ªZ\ 3\ e\ 2?TÊG¸ÕΠ\ 2\0½)ËX\99!]"ÎA\97ù\84þ´»\ eD±ú\1dø`¦­¹/\0\85ã°\99¢\r\ fn\90\v\ 2ê\90\90\8dxÑz-Ïð5ûI;\15\8aX|§\1e\8b@¥eÐoê\108\1182 \b÷\1e\95\93\19z»grµ\11à\ 5\13dÎ1ô\89à\98.\1a,Aßðê·»+ªD(&ô£@K¸Ù¥45U¶ògu5æØ\10\f\1câQÊgÙõù\8b³¨gPrÀø\11\81¨\88&2\ 4A[\ 4]¶°aó-øÚ&¯\99G\eÇÄ¥º\8aQ\18ëJ¡S\8a Qã§Q\18\98\8b\91ªÔ×\92\1dX\ 3\9c!SA\ 6\\ fb\ 3Âؤ_\83\8a\ 4[\ 1%îg*ÕÛ\9bCz÷\8d¬\1d·q4¡«CM\10w4\ eºìm\8dpàØKf\8dÃßÔ.?~V¸\83®\ e\8c?;zYç\8a\15mx\8eåahöóÎHç\vU\r\ e?/÷³V¾â¦\ 5\Ì+\13\fA  \\ 2;@¯t\ e\b*1nÄ£¤KÈø¯Zz`\8e\fØį¨\ f\8ba!uÎ\14c|%´\83B\1ce\ f\9a¢ª¤p¤\92\15>§·ù-P岯ccF¯hñ°+TVðq\ 5ÌCÉsf($\12TE G/Æ'ù\90\17¢)sL\ 2t\ 2JÓ¨\11      \82\83¨0å\1e\93n@Ì^
-oB\11ÓÍÜ\89y\98³mm2\16"1\94ôÈõ\96¸Q:\12wð^P¥Ä,H^¬Ñ{\1e~<c\12¶Æì=µû]ÇËË\94ÞÛ\9b\83è6Â\11ûÈ\rÁÀvH\11æ\9a*\91Æ\84\0G\aMá6À·\85b3®ÍoÅñü°K$iz\19\8f=!\8cLJ\ 3ï¥DN;D\9f\ e Ý\ 2ó \1a\1d\16â\90\97Z³ÙÈÉÂ\92Ý\99TÁGÈ\9f\89\ eA=9ÄAÎ\ 6c-1\19I7Ã\ e»HI\7f\1c\17\9aóhV\82Óûë¯ß¯¿><DØ>\8c>±Ö°\9d\877\83È{/Aq±&&\9bÝðL\86\86Ù2\10\98\ 42|¸ý|\1f\91%ñC\9b\9e¤\e\ f­q8¯Ø\8a\91ÆTûëHüuW\f¹ÙÕ\8fû\9aV\93AÜG9¿â2\97>sªJ\e[`¹'\95\ 3\85ØÁø3gØÔ/©?йÅ\14Ë\9b\9d\91­öôâãõ\15J±U,-ý\14*áýκ\9cr\ 1iÆ^ùðæH²\9fÑåJÛç+FC\18 \1fb\90ö 4!ñ¹ÕÓ¶û·I²^]\88~¿\ fÁ,ö1æX*[»\ 4\8d^^}Ú1}`X\87U_ O­V@0\ fÝoµ¡W¾Ók\0fo\8d\1c\0t4Ì\ e4I\81µFF´\16?%}~\99Ý£\96\9a\9dÖ$\85a*"Ç´ôÅ^Gîñ¸JíC\1dbN8\84³ÎK½¥\87QÜ?\1a\85Pq\97ìå\10]äÊWZ@ÈÚaÀ\ 2À«·\16X{#®\9aE$\82\8bãÀnÖSÀNÌá9²lÝÎ(ìÊ,\96\9bX\80\9eß\88J\86\15j\ 3|\b\8fý\88o+qù\88\\85Çî*Å6\8frmg
-¶øè\ 4\88±ä¤E\15k\1c_\ eâ2Ðs+\9e\84ÒbÃK\1f\ f\82\14nêÍakqÖ>[¹9ñ     ]â\82Â\9bKSÍ\18l\ 3ó8Úù.ÉF\ 5\96òJ7\18¾\ e¦;Àq\ 6\ 3\8dãT\9bÑ\92¨ÜÔ\16cyXÛâÆ%\ 6a\9b\957éYì\18W\12ã¯\999\17\87ËÁ9_¶q\9f¼ú\7f\17ezír¼X-&«å\ 5®â0ºzÇÉ]¯Oþ:ù\ f\14ü
-£endstream
-endobj
-1534 0 obj<</Type/Page/Parent 1367 0 R/Contents 1535 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1535 0 obj<</Filter/FlateDecode/Length 1810      >>stream
-x\ 1\8dXßSÛ8\10~ç¯ØÉ\véL\b     ¤       ½\97\e pÃMK¹\92\81\17Å\96\89\8amù$\99\90ûëï[Évl\87þ\98\8c]É«Ýo¿ývÅ¿\aS\9aàÏ\94\16't:§(;\98\8c'4?\9d\8fç4;[àù\ 4ÿ\8c¤Ä/Ì&§x}eaúöÝø¬¿p±<8¾\9eÑtJË\ 4\87ÌÏ\16´\8c     \aL&´\8c\86˵\84aeIät»¤h­79E:ËD\1e\93[\vG\e\95¦´Ñæ     OnM÷"[  ì\8eI¤©Þ\90 ÒJ\13ÖÎãLåÊ:#\9c6T\18õ¬Rù(ß,¿\1dLèhz:>ÁÙÃHç¹\8c\9c\84}\8dÏ\83AD8\9e\11,=Ã\98°d´v¼\1e­Eþ(á\89$x&\8d\82tB       ,[Ò9­4\9c\12\94êH¤\88àú>,m­\93\19iÓ;ÛÈL;I\99.svÀï\87«Á\87\18\ eË1-×\80\83\11y\16*\15«T²?\850\8eÏ\85#lòøz^A:¤{\19¥j\15þ·\ 6zÈ`Z\19\95F¹-aÙ\b³¥\rÞ\9c\84ÏÛ\9e[\7f"  Ù\96ÎÓTYÄ\14Ω¼ZJ\91\8dZÎ$Fg\1e\8fL¨¼Ú\93¸\82¬rr\1c¼xGSd\99Ó}t:\ 3¬\0}:\1dÏÆôEÉ\8dÊ\1f=D\0\87be\90        \r×
-i2e­Ò¹íF\ 2\e'\v\10\11\15\1c¬LL«Ò9ø      \90\1a<Þ6x\fîv¶\ 6]cÃêË1]¦*zbW`\ 66-­\fÞ,\95\ 5\92\19+\91êG¤ö\ 5k  \ 5\833]\9d×¢SËsOKì ¿ooþ       |©±d¾t"æ<W\9câ8be\8bTlÁ     \80Ê&\12m2ú-¸_ÇÆXÌ\ 3\9e\83û«Ï_®>?<xö?\f?hÄ\92\8bL>¼éÅÜúè«/¶`ó¤Æ+\18êã\14 ¥[é.n>Ý{Ëu(\81¬¡TFÔ³Æî|Ç\96÷\94\ry\94Bõ®5\7fÔB\15Åæ\93ë©\ 2ú¡Þ{'ubþÎ\91±´\91Q\85C]\11d\81ó­b\99;\95\99q®ðË\ 17\ 4e\vÜK\9c\15\92Ðóé\8f«K@\91(\99Æ\9d\10
-a-\ 4*¦X8±\12\16\85ÐBþÆW.W1âw\90\98^0¹#\11¥dË¢Ðƽ\12\8d\95^\8eÂ
-´ÚËé0\11©­ô`Wù\88ª¢\90ç\1c«V\10Ñ\15@ðú
-=áÐ!\11»tµ8V\våà
-b¸Õ¹ì1jØð¼Í}¯Óí#`~p]B¼/uî\8cN\a}P\96ð¡m! Û)\86X%      ´)w>3&h«?¾\96\ e\88¬¦\9bC\9c\14ò\r'8¼\8d@6\19\82Ö\19½\8c
\9e]å%ÊX·\930èV\900HW#aÓ1]³Í»\9dÆt³ÅIç\16çÕÊ:\10W\80\19\rÕ\8f\1f\8d.\8b\ 5$\ 2#\v\96wßê$Ú\9e\16:\8f\99\9c\ 3#E<\18Ñ\80U[ò\83|\81 ãñ\a\ 1\ 5\8bè\1d\b,\13E\ 1=Ym+\91V¹ïwnm¤$\99Ê\f°2\aÎ/?\84öÉ \1d\9aÃ\11\1d\83½:|9¤\95r¶¶åM`[\ fÆ®ã0ÙB<è\9c\8f?\ 4ÝZk»Y\9b¦ÇT¯|+%\ fU@÷\15vÖäìÂ?\1c¡\82y0\b\91sHèi¾uv\ e®¶@eCn¼o-_}³÷\184^´Ô©cªÃ!\94\96\9fdºn\ f[\85¶+T\85\1fñê\17a¢hNß\rQCò\1f2UÐ<!m¾6^\8d¹\97§\8eÛ-\ 4\18¥\86¡» ûõzÎ<È·aëÎ\16æ\f0$Öù¡c\9e@;ynÂ\b\87èÀ\ 5V|\ve\8b0&U½½Îæ°"y?\85\ 6a
\93¡0^\1d_·ì%\10\9c^Ô@ÙËOï\14Ö\88\1cy)½ì3\ 4»\90l#\98\85\91\89\91\89u~?\8a{d\ 23\ 3\9dG\91´vÏϪ¥\ 3\8cJl<'ûð^\94\18vyÜXsá¢ý©Ð4¼\86­A¬\w\ôó/<c\ e\v? ª¨LEEhß×<{xì\b¥\87¤@]Pö=\84\e\f}&F£`\89`fР{Ú\80WXÝ%@ciÈ4´Yáx\ fc\98      4úEªE\·\97½<.ÅS_;>ÕSõ\1ej¬KÂAÑ0íIz\18
-\1cª\80ȤÈ};Ï=\1d\1fÞx§\8cäö\89\12\85P\83´u\83é\85\ fh×â¹\1e\bn\97{n\7fÚó\r¢È´¯\86õ\r,àæb\ 1\rFçH\97Æ¢\ 5iTÃ\13î6\ e\97\ 3ý\84\94ãEÐ\7fÒè\11Õîó[Ï\9b\16\vÇôQ³ºH\87\9b\80¿m0Mcp\8d\ae¤c­|ë@ˬ»ï#ô\80W\90Â\9f\931½oÆï»\9f¶³z/ú-ÏÌáºÖÜwÈ\86\v\ fpDä\e\r¢W\8d\ 3`éĵD\1c¾Ýò2\83ÖZÅ8Ü\83\84£f6ø½a¶©Ûÿ\16øZ\99&#ð\100ào]Ñ»¾^OÔÜÞ\9bóÐ!sص\b§Z\ f#à^ò?\7fíe¿Õ\aPÑÖmÓúÒö\83\88(B;ç+_«\1d\93|\11\11O6\1c\9fåÁ\98G\16_è<\8cþÂð2j&\1e\\87W(¿Ð¶;#T\15]m¿¯:\9c \\141tÔÐì m'¥ª;D\916ì­LûÖÑÞ\eÔ\86U\ 2\ 5\89>\ 5¤_Ié\1eÒ*Çý\ 4³NÜ\ 3|Øa\87¿\91q\eòºXÃÊ¿\eðîøØë[åF\97\18³*»U=\9cUÃót\8eßl\9c\9dÒ|á/\97÷ç\1f/ÎéÎèohªô^G%ÏG¡ÐØÑ£zûÑbò®\99\ 6\7fýB;[ÌÆ\8bù\19®Ä\18\r\17s6yµ<øëà\7f\1aU\7f\1fendstream
-endobj
-1536 0 obj<</Type/Page/Parent 1367 0 R/Contents 1537 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1537 0 obj<</Filter/FlateDecode/Length 1510      >>stream
-x\ 1\9dWÁrÛ6\10½û+vt\92glY\92eÉéÍ©ëi&\8dÝÖê´\a\12\14\11\93\0\ 3\90¦õ÷y\vB\12\rÚ\97\1aF\ 4vßî¾}»úq2£)þÍh5§Ë%%åÉt2¥åò\12\9f\8bë\15>çø³\922ÿb~9\9b\17\9f×'\17w\v\9aÍh\9dÁÖòzEë\94`g:¥u2~\14åF\90Ûé:\97N9é\88\1f$)\9dK«j\99R%m©\9cSF;Ê\8c¥û5mvpZ7V+½%áHhþöæ×?ø2ýsÿå¿Þ-*M*O×ßO¦t>»\9cÌá~\ç¢&AZ¶\94©BRb¥`_0Ü\ 12\1a¦\94#\97\v\84×\9a¦Há2\91êENØÖÅÝ'\9a!\12\ eéür\81°au6\9b\Mè\9bIU¶cdÞ4\10§
-Wkcw=T®³rLÌù|5Y²\95è¾Ðéû\ 6\bð\10»Se\85\bð\94äBoÙ/'!U®*Ä.Ê\9fâ°ø¥(Ì\966æõ,J\f{K
-\95<\a;\1dÊ«P¾1=|}\8b{L\9b¦®\8d\9eÐï¦\95\9e±\ 3¤\8cÓV¨RÕ¢ö\95\v\19o\9c´H»LQgC\e\9ckù¤ÉÎPÄ\94DáL\84HéZZ\91tVZUç>\ 2W㸰i(×\91#T
-÷Ì\8cHñTU\1c\86Éèöá\91D][\ 5´\9eb(?£`\10ì\13H"·µx\96\1a\ 3Ib\1a]ûº£ÚóeWí/\99GR +J      \8cÔef¾Ï\95\ 6Ã\92\82\SUÆÖqÚ\98[²fÿÝ\et\99ï\90q\ 6<\1e̱kÆìH#¦\1d\a!ËÊßãëN&\rºä\r±¨UEA\99PE\14\92O\9eÐ\9d¿cIG7I"\9d£[©\95LG1Ð\12ïĶc}/ú5h\94\0%÷\1¤M\8d¾å\ 6Fv\81xè(\1d\9aïèÓa\86\81Ð×èÍBÁ6JÇ\8cq(D¨4\ 4\aé\7f\1a«º»³EG"3Q¨ÒZô]\80\ e+\ 3(\fßÊ\92\11WÖ$2mÀÂD\84Ä\81\18L T¥\1c\14ÉW¤¹\96qj\9eN'´f\91\806ù°w¦\81\19MF\17»\bS)´ª\9a\ 2:ÃÉ!\14ÎJp\84ã»ØZÓT\17­±\90\99#\97\9dO\ 2À\fÚ68F[4À¼\83@Y\90þG\ 3Á¤V\16qå!\ ep  Uå^cç\fï\8d#\ fÞ\vçÁf.Ü;\94\17½k\84\86bíy\1aKô%:\80c9#\1fÌ\19¡\0> §S&\ 5\ 5¡dÖ\94\1e¾¾ýpC\9cÐòN¡¢\f²^ñ]M-\7fàiP×\87¯q\95\82@1\86Ê\82Ë\9cÎÀ\1d\96\9fª*Àz\96Ï\916½ØÜ\bIò@}V\9c\84Ðò(p\84Ê\ 3zQ\18%xê[ ±\15\81mT\1eãÀw* Ha\19\ 1ß¿_\ fc\1a\84\94\15b\vÁt\94J\97@Ôd\1aa\12\e${O\92¢0­cà^íÒ·\fÛ\88äÙ\7fÿδ2:\91þ^.Ðdû
-\ 2\95QD^\ 3\1d\12SVF#Â\98>7®\9bÍA\12]GC\8ezdGg4jG¾íF¯#Ú¨\1a¯3ü¿7Ù¡Ç\19\19\9c÷KÀAûzÂî\9a$G^"\£[Y@¡YÈA\08A\178|\95ðÈ\879_çP\rpBmµ±xãI¶'H CXW¤Å¨\8bÃû\97-A\95kÖÃ>­qW\80Ñû%\80\ 3\ 6x\ 3\85a\rG\94ýÃ\90\8e\11\80ö;\92t]Cmb}Ie&\9a\ 2C'PÚ\8f6\f\ 2ì7\ eLc\99\90æ\ 3\12Oh¿æ 9XèZ~ÍDi\ 5\94\89\1fÊ\ 6*Üè$\97L\93w\1aîo\895#\89§g? D/_!æ\9c\15\ ff@go\1dͽ׹Cÿc,cã\83V\86\8d\1a\83v\8f\8bÒµ,âwX\1cL 1f~ñ&é^\95ÄP\8b\ fTîhâ3"v\14ä.WÛ¼ÀßaÚõ6ÌãM\9e$>\80\ fòǺ8HI7\16½\88ú5\ 1\949ZD\1c^À}[z6U2ÁJ7HÏ\1aKLÔ\v\ f­Æ<ÍU5py¬\19\ 4ý¸>vÝtq×[\18\1e\ 6wAÉC2dêkðÑ\86¼\ 4ë\8e+\9d'&'\86¢\8d®ÛÈý6\17"\98óàÇ~|X¸>^¡ïy®{®û\9d§kZÞ\1c®Ø\15\bÅ
-\90\99\86\96\8e\ 6\99!èËÚ\9a\ 2\aÑ\14½å\93Õt?B\7fé2½_õzkÑA\94x\rÝ\ 3\ f\v\f==\9e8þ,Ù¯\94\87Îì\9dúÈÎ{g\83Å\8b»ë°MÎ\96ø\91v}IË«Åä\9a\93÷xóíó\rýiÍw¨\1fÝ\9a¤)!+~Gg´çû\vç«é§ÿõ\93f±ZLVËkü,\82·Õ\8a\8dþ¶>ùëä'GC\88Òendstream
-endobj
-1538 0 obj<</Type/Page/Parent 1367 0 R/Contents 1539 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 846 0 R>>endobj
-1539 0 obj<</Filter/FlateDecode/Length 1445      >>stream
-x\ 1µXÛnÛF\10}÷W\fòb\ 5°iQ\17R)Ð\a\aM\8a HÓ6zÌË\8a\Y\9b\90\\86»²­~}Ïìò¦µ#%\ 1
-\ 36\96{\9b93ç̬¿^Ä4ÅOLé\8cæ   eåÅ4\9aâKÿë\9fß/\16³8\9aR\92΢\15\95´HçøëG\ 5}äõ\94,_E    æfI´h\a<5[-¢\98\96«)¾\964\9fÍ£´\1dñìx\8cÙer<»\9cEsZÎRwð|µìGnïh\f\93\16\vÞëÖòìxÌ\ 6§G³ÞªÅbå­\8aSØèGîäÑ\18V%sÜ;\9a\1d\8d1û*9\9ae(â4\8e\16h%í\80\8f}½¾¸y» 8¦õ\16x'«\94Ö¹\83yJëlò¡Ê$       Ú\eÙPV¨ì\8by¹þ\8c\1dËvÇ\84^|øã\85ÿÖ\9d2!«IÔuq »\93T˦TÆ(]\19ú(Ê\8d RÔÆMÝ©{Y\1d-P\15ïu÷ÝÜ5z_ß<è¦Èù\82)]Çs¸°Î'ÍÍÃÍ#ÙFÕ\85$#í\15\89\13+zPEAÙNf_Ü\rÙNTw2?ºc«\e\±UØ+î\84ª\8cuK7Ê\1a>\8cTåÆÞ©Yç¨\91Ù¾Qö\10\98R
-ó%t¿\16\8d\95MD·Õ\81ÜÁv',=ÈFÂ8o\92û"ð¡ÒÖÝ\vÏ/ãK\7f½2Ô\9fB¼¨\90[K¢Ð\95ììc\a\ 2cFPGí\94Ë|@öÆ\18YY%\8aâpEÿÊF{³Nû\8aH=õ\8e¿a\ 2~I\84@
-\vx\85\ 1¢\8c\9dÞvîJ\9f4ªM\18ä\9cK±   »\e\ 2\ 6«ô\ 3\8e±:pÈcåÃË®;(\19\ e»Ó\86\7f÷·\0\9bî\8c\16á\10\81\1eiùX#\97\95u\19z\ 45\ 6ì\ 6BÁg\e\84\91îE±G¦ø\8cõ\96÷I\919ÿ\9f\85i\b\1f\ e«\e}¯ò0\\99.kaÕF\15È+d®Ýµ\ 4\99E¬L\ f;N\17»c\ 3{\ eµÎÑVdí6X\ 6Ö4:ßg2\8fh\rþ0\14\1dk\9f`Zê\m\ f¼¨ÇoLµÑ]\86tÕ2åÊÃâlé²\9bQ\9a¦\10± Õþ\94\8f¶uÄ\11Ñ#×¥ýà\8a¡\9fc"vA\94:>\12üqÀ\8ee¬W\8a>
-ç©\98é¦\91¦Ö¬$-;ÚTø6+\9d)~½\13¢\10\8a\9d\11\98³nMF\92p\9e\7f\ 2ª\88\fª\ 2Fùè«ên\0p\14ä\9eP;ftñ \ e=\1fÀöK]]\86\1eþ\1f¬òHtÜz\12Þ1\ eO²»e\1a}'·ÆåéG©\15 \8b¤ù)jyâW\9a\90}(i\99u\95Ò¥ÞSºM§a\0ÖЩ@\95\ 6j<#ß\)\83õ?\92yH\v\88\12Wwå\ 4Ûi\88ç6\1cøº\87\ f¾@       §ò£¢­\9b\1c\15±\ 5­+Ko]-ÎU#3«\9bC+\e®\88C(`X9\b±Æ\17È%÷\11ÈÎ\\9a¬Q\e.>\e}/ÇZ"\1f3Y[Ô\1fNs¤t\10¨^\13B\1ch°ã$\84Ü2H\91\v\90<µÍW±`\83\87¾¿7°t8î$    ¾mÏwD6\8cÈ3ùÔ\9b7hÆs\8dÁ\80ëæ\80ðlž@.ô\ 2ÂÚr¶ öW\ 5H\9c¾¯íþÂh\ 4à\8e¬?     çIë\ 3»N5\aáõO\vÕ±\92u]ÂwkW`ËPYÏ)Y»±#á;nx\11(È}K@Y9ã}å\1e\9d{$Q¾\81E\87\90\97ªRÐ.\ 1
-S&*\0\8dN\90[\aßï\9b\1d4\83«\91*L¨
-ÆrÃî:\16f+?4pk/¥\9c4£û]    åFÉõ­è¨G\ 6\85\89\8cÊtÐ{8U¹~\8emÚ×ܦ²5p\18»Ýµ¦½t»ç\97\83æVª`    \e*åsFÀ=|V\8d{G@\90ªð\8dÒe²\92n\96r-MuiY§øI\85w\ 1øbU¶/DÓöÌè:\\17á
\15\9fï¡äû·\9a\9b:\86¨§\19÷}¼\88£yó\16/¼ö\r×7?¦ÜDphûi²üôÒ¯\1aÞhîýÓÁè11µÌÔVeL\14ÖYúÅoêÚ]\88y\972\832ñkàW×\a\ 6\1d\1d\16\82s¼0XÕÁt\18±óÌ\91Ïm\19\1d\avöÞ\8e
\15ãæ3Ó7Ú\8cï\bÕÖëU\vh\9c¤Ñt5§$Yáÿ\vxJ}¼}ÿú\96þjôgÀD¿él_âiå*\13;wÝm¸N§¯x}\1c\88Þ»¶\9b\ 3è\90\aS\ 6?\86\fw¯¥E\8a\7f\e$+<DZ;]ñ¡oÖ\17\7f\aâàI\14endstream
-endobj
-1540 0 obj<</Type/Page/Parent 1367 0 R/Contents 1541 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1541 0 obj<</Filter/FlateDecode/Length 827       >>stream
-x\ 1\9d\95O\8fÚ0\10Åï|\8aÑ\9eXi              PÂ\1eû\ f©ªÚmµTía/Æ1\ew\13\9bÚÎ"¾}\9fí$\ri{h\85\90\b¶gÞüæ\8dóc\92Q\8aOFù\82\96kâõ$MRz\91§É\9aV\9b\1c¿\17ø\1aA\87°°\Ü&\9bñ«Ýd¾]P\96Ñî\80XëMN»\82\10'MiǧÜ\bæ\ 4ÕÌ>]ï¾OR\9a-ÖÉ
-[¦\am¸ n]\17b´^H#¸Óæü÷Ã\83-íùùvÕKé3\9d\ 4Jh¬(H*ë\ 4+H\1fÈ\95\82\8eÌ°Z8a,\15ÒòÆú=%v'^Ë|{K\19ªñeÍ\96«¨:Ë\92<¡w
-\87\18wR+:IW\86hÖ1U0SÐ=«÷\8c\ e²\12Ä\9c3r߸¾¸4\86©Ùñ(ÕcL3\94\9c\ 3=àÄ\10ØeÉêZt\82ßÜÝÿ
-I{é,=LmÃKb\96®\80\1a¥©ê|õp\8dR\9d\ e²¾||÷\8d\8eÂÔÒZèµ>VT\97Ю\94¶Å\9e-\93\85Ï\\v\86\ 3f\9c)Ú£\bâZ\1d\1d\9eÜI\b\15éõ1£\12+\1c=K\16Y\bÞ\18éÎàÊ*ýH ó§3£Ü>Âþ\1c6^Ò\83\ 5\ 2¯Ð\97\81\87î\94 \13ó'¤\rjm©OÔ\1c     \8f²+\93JÀQ\9a\ 2\88À\88q.¬%80äÒ'%\fI\87VV\15u!.\89\82çH¬7PßòK¹àÇö{x)V\9fÐ\17\85\®Q\18\85ªUÛ\82\81Ð\10\b>Dë\ 4\1e\98ó¸\1d\83WãR\8br\94^"$D\81¬öÍò\19Çt¾úX=\1aßXÏ%d\0\1c\9f6VÎK¦\1eEÌ64
-\fĪ
-@±µ¶¢zÆ\9e!¿ÆÂÂ~q$Í^6ÿ\868¼ó\14\8c6ß¾hçsJWwï¯üÉ_3;%¤|ô&`üÉÿö\1a{Æý,A)Û·lo:k©\7fÈ\82©õ\14F²cGn|RE\1f\e Æ«\b\r\1eÂé$z 3?t\98DX&Òµt\8aì\a7\0\ 5\7fÁ¯èÛïØbþ\87ë8\96Ô\r"zÈ\ e¸n\bÓá<ð¡
-?W\81n\7f\99ü3ß\ 1ÖÖ\93\8cÐ`&\9aª\80\e0l\96J\19Ð]ôò5S\T¿õÓ0Ôé§\8c\85ñ¹8òçö\ve\e\=\81#\84\18êÜÉð/¼NúY\18#\8bB¨à÷ùvÓ:*[ã\8dµYâM¶\89\97ìýË\ f¯^Ò'£¿ãEBo4oj\81Áò·¶¯oÖ\1d\98åé­¿úþ÷nïn'\1ft\95¯\92|½Á+\ 3\ 1ó[ÿ×ÛÝäóä'ú.S¿endstream
-endobj
-1542 0 obj<</Type/Page/Parent 1367 0 R/Contents 1543 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1543 0 obj<</Filter/FlateDecode/Length 1451      >>stream
-x\ 1\95W]oÛ6\14}ϯ¸@6Ì\ 5Zù#i\92\16ØCÛµO+Ð!Þ[\80\8c\96h\9b«Dºü\88ãþú\9dK\8a\96¬¨[¦\ 2ICñ~\9cÃs量\9dÍi\86\7fsº^ÐÅ\15\95ÍÙûåÙôÓ\eZÌh¹Æ\9b«ë\eZV4+f3¬\94\93\ f[±óÒÒ|QÐ\a£×j\13¬Ò\eúòî3­\8d¥J9oÕ*xY\11~¾Xþ}6£W\8bK8\99\94R{+êú@\8dÐb\83\1d"ø-\16U)¼2\9a7sìùu\8aýêâ²X°!\82Í\vº\15ÍJ\90Ð\15\aK{/i>o÷.®\8b+Þû\8ethVÈЬéO­\1eÉ\1d\9c\97\8d£»\89ܼ¥Û éÖÔÂ*w÷â% G{Y×ü\e\99Ð#\9e÷·¿ÑZ4
-ir¬ß\95\ e\8f/I\9b=\ 5¯jõ]òÎ\16×ü"%ø¥\ e\9b\8d\92Þ\9d ¢Ï¦
-µäàÈùî\ 5\1c\97ðá\ fä\rí¬yP\95$02 \ 2\8d±ê{ä%æa¥3Á\96ÃÈ¥\ 1§¦&'í\83*¥+è\8bU8\aøg@\8aßV¡dz\99\11d\ 1çTÉR9^¶à\90\82F\168V\8dx\ f\0\98\8c\13\13Îí\8d­\ 6\98+áÅJÀøn\92\ e\ 32\8a\871\99J_N£U´\99~ÊÇ4\ 1\ 3{\13ê\8a¬ü\16\94\8dT&\1eb6H°\97\86\8b\82bvÀÔÆ
-\9c¡ß
-\7fäÍÉ\12Úó\87A^\1d\13·¡Ü\ 2l¹5`¦\r¬ô\83©\ 11\92?\1a\14à\1d\e\1e\83
-÷6\ 1|\9d\ 1Rm6ª\95ë\11ÛËá¦Q\ 6\9eìBvûQW(\9b,/ðY´(\17WE¬%®·V@\ e\18\eYn\85V®I\14¡
-!\f-K\1fu\8dCÊdu°ÖÖðnIAWÒÖ\a\80ÉÓê\9c\9ejRéµ\15¨uh+X       Ù!!å\bacO@qK\ 5ïPâÖ\9a°Ù\92Ñ\92Ö
-%\92x\1aª¥)Ø4½Ë\9cö(¸\9bôª\16ú^\1dHVÊsëQºR(¤ êè¿U\89\80ºj\83Æ\82L\94þaСB\87</AÐÚÔµÙÇPàZ\93|\14Íî_\80TÓ1}\1c©I5ÍT\14´Ü\82³ìo+Ð\11!w³ãru´\922*£GCÐ¥i\1a´LFåø0Wh;\a´'\8fB\8e\1d\b­Lyr^\94_\1d\ 3\a\92K4éØr\12 (\1dMíC\8d]\fªm\14\ 3%°L"&\8eÈ\ 6\ 5}t\8e;wlç\9ct/H   \8eV\92G\ 1'\849À)Ĭ\99CøjÈ\ 4\ fØ¥Üù(Á\12\1epnæT\1a=Ü;ÑÜïöÕªpí\9e,\91I<°é§\19½É\83à2UÈùÏ\90ä«y1ËXf\ 5\8f²É9H\97Q®Y«Ý\81Ä\8eÃ`ÿ\8ah\7fÉmuèbð7W\ 6õ\9e¶»Uy\89³\8f\ 5(½?´\10\18\\9bÑs̵\89\19=5>\8f³"G¢ÜYObW8¦°ûoÛ$<ÔQûpÞ\8dPõSËç¤Ü\9e\17\1aÓ³©^\ fhCêei\82öm¸H\9bS^öÂ{ÕÈ\91ð'vã {réqí ^\1e\19;ªqËs\88¡o;FV\8d\8e\88sz\9aðùq\8a¦ÀcaK\8b\92­\15k\1c§èíá×\8b\ 1ay\12?#ù\ 1ëÝ\f\ 6\17\8bxQâ\86\8d²3{\17¯\0\98½VîjQÆ&Ò¤{\v7(Ã÷\83\a¨ ¾\0u\82\7fíý@é²\ e\95l\87äÓBü\89¦+¥§(ð)ÐMó$z\82­¹\87\1c¸·\0?\1e\16ßÚ³j3Ü´V«Fù¼)öõÞñ²\91.w÷¬ÏhÉ\v\16\18¼;]ÃäêB\8d\9fFÌe\831ÖÏ\86=׸íÆF\1e\93\1c\95m\8bÈ\1aãÍ×\ e\14{ñÜD\8fK#^*©»÷l¡\9c\v\\16\99\19^k\vµ]\1añ²\93\16̵VlÑoIl\16sIõöc/Ç^\92-:Í'£\98Ë×­i0\9fm\8c6\96Kêå\9d\85Ûâ\1a~<Õ\94KÀõ½\ 39âEê\87î=Ç­+Ñ?¢\88¨1¾êv\8dx±¢R!\87\8e¼4+®´£\11¯q.¬ÏÄß\88\97ýVJn\94\11Rg\91uØ!ºO÷Bl\1dñ\82˸\8dS.³»\17Vg¯y-æÒ6£ÖÍH}ó\94ën.ù\8eÁßh<à\8eÓ\9c/Ömåã;\85\a\ 1º\ 1ÿ\973äÙÚ^ì\19V¯9vA'\94\1a\ 6í·
-Wgx\88®\92ùM÷\91vq\95>ÒþçW$=çËñòú²¸¾ºÁ7+\86üM\9cú\1f\97g\7f\9cý\ 3\93Vendstream
-endobj
-1544 0 obj<</Type/Page/Parent 1367 0 R/Contents 1545 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 849 0 R>>endobj
-1545 0 obj<</Filter/FlateDecode/Length 1633      >>stream
-x\ 1ÕXÛnÛF\10}×W\fP\14Q\0\8bºX¾$@\1f\1c¸)\ 2ÔAZ»o\ 1Ú\15¹\147!¹ÌîR²úõ=³K\8a\14e\aj\8a\ 2m\82\ 4¶¸\9c\9dË\999gôe4§\19þÎéjAç\97\14\17£Y\84_篢%-¯¯ðó\ 2ÿ\8c¤\94\1fàèþ¿_\7f\1a-/£9],q  ùÅ,:\ f¿ät?zó0\9a¾]Â\10=¤°\7fy}E\ f\89\7f{F\ fñØî¬\93\ 5UÂÚ­6 %Â\89\95°\92>\8e_>|«ì\ 3¿:\9eJ\17Oý¹$<i\8d\8eÏè©£6\13\89Þ\9ettmt]\rN~|I[å2r\99¤B'u.\ f/\99Ñd~\1e-\10̸\12Åï¶X±o\91Õ\ 3;´ÍT\9cQm¥õ¶îE±\12]\98ái¬K'T\19NÜ©Øh«SGw·K\92elv\95\93É>G|AïöLØLÚ\88\1e2e;»øÙ:mð\9a*I"\10i\8e²T[3Íu,ò©e§¦\95Q\eáä´\89e{\94çg3àk\13\8c<û2iþ\1cÚ\bUõoFÉó\17S"+Y&ª\\93.»4\ e\8a*\97\85D*\9d±\14\17îtmè·R=N\7fVeýH\ 1n\9c,9ôäëU\f\10 ¤µ2z£\12$vµ£PÌ\8d4\16\17\ e¼YD\v4\ 5\91S\13Ñ;G±(i%)ÖE¥ò`ÁV2Vé\8e#C\8dBr.ZÈÓdÂ\18\9cô\\v'öÐ']q¬\16(\93%\99º,Ù\92\85\r\ 6êA\ 6pKÕº6Í}\9d5\e\e\88ÞÂí\ 2èAÁ\90Å"ä³Éü¡Õ>ø\87¾\85\9c\9d\91\95Ò×,ÑqÝ\95\aXØGü\84\8f\16\95\8b%\1a~ß[Có\8922\ 6Æw¤Ó\ e\13\14^¤DYgÔªæôD­Ï¯Â\10\9a,\96\98jèÜï¾ÿps7\99G3>À  \9aE×þs\ f\10<C­Bª\1aH¡l\1e\9cþÈõZ\95/\10\9eÙ¨Øç²ob`RÔ\18&½?F~©\11@Ò~Ô\v\14C\84J\9dÈ\ì\86FâX×¥kßÁ8þ\ 6#\98D\f×\7ffd?°\e3§{Òg\83Éâ\92ÓÍÝ\98ê<×[F/z\8cÓû\95ì\vÌBãT\çÂÐqc'2\15u\8e\18\19~\14ðôm1Ð2ÑÁø®¶ÉêxvÿK¸ñãî\eps\90ãi®VS+ãÚ(·ómÒÄ@e\8dL~n\11D\81\aIÔÈÅóp:Ѷ·Ò\9a\1eXëáêDkO\83¼\a­\13í4!\16ÉE(r;ÐÐ\8e\ 1\ 2it\18\93\8f\82É"\8c%L`ß\10`R\8cgÌÑB$x¤\99´ý\89=§uü*78Ç\f\ 3±¢bò%móÑÈ\ 2îx\90\91\8aýì\88è¾\86\ e\0õ·×¡\95ó\84D\8en\a)ø;Ù c?È\1c¦\9aµ\11\ 5\892¡­?í²Úâ\15t
-\9f\e\ع٦\10\9dä\8dÇ\99\985µm\88fpÃÿ\vèM\9c'\8dÉ\13\11ôßÂõq\80\84\8f\98\8a\94VÐK\11\7fú\fêßk'_û9ê\11Ã\8a\9f\19\ 1 ÌCtR!\19\16P\92P*\98Á\1e\98\95\ 6W¬¸Q´\87Ì¡ X±h\95^&öÔ\ 5K\16\90».Ã\fo\94\93Ë ²×ÐÓÚ#¼\94\8f®ÑÕ¬
\81ï=\8cèC.y\a02\85lmÞ8T\ fè\94\ 1ú½ÔëñB³Y<!
-\13      ¿s\vóka¼¨äë\83\12C/Ç¢\12+\95\839 Ù\91)&"ï¢ò\1cÒ\8bT\96\eetÉ\9a\ 6í­\vÙ\90\11ß¹\17:m&\83\91\86zµ¢'H(.Í1\ 3µ)r\99p¡ï}û\ fB\1fÔ²éùVäù\15@\10·>
-\19ÃY#rJ!e\9e×ÁÏy#]¦\13âAi9\(ß\1d\ 6Ú\ 6@\e¢ ÌZ(ãV±ó dfG j\1f\v\ f<\94Z¡Ì")\14\0\bç¼d£\e\88\89£\ 6\1cm\8d
-¹Jy&3\94Î\bCØß\1fæ÷ )\85øÌ+\97Á,\9fè4µÐ¡\9a÷\ 1\1dm\ 5T\14\93\0ð»\aß\11Â(­\r a(\93y\95Öð£\93ÃÍÈ|Es,´¼ÙNÎ\eQ9gåO·­þÄؽ9`\82Pý>G]E{\19$¬«\9dì'\ 3\19Ú*äÀH\91«?!\94\8c.àr\9bK\86.\16\8a\95*\e\95\9eþ­Åæ,xÓ­\1c\90\95\1cí~LB\87g{\8d`ì®\8c\ fã\1ac\83\9f9W½\9e\89ÈÓd¤Ízê×kDµç2\92èýU®lÆ\9dã'T\8bÕ|\87\9a\95\ 2\ 4vÖÉú#À\81¬Mø~àà{\ 4\ f8^¼Z¢Å9¿»1®¸µ?\8eåúuh\8%¶\ 2kOC¼è50¯¨ª¼!ñfÍæH{Ñ\vc\98^½ß|S&6Lá­B\85û\15\1a\ 4A\89d\ 3Ü!\10ëw@Ü\ 4^g\8cs\11Yl`ÚtÛÿMì\14\fݶkNÈïu³\1cÎ/ñ\9dÌõ9¾P\99\85]æþæîÍ\r}0ú\13¶"ºíïZüæ¤}ar5Ã\1a\94\8cO\81éòj\19]]^\ 3ÝxázÎv~|\18ý2ú\v¬\0¶«endstream
-endobj
-1546 0 obj<</Type/Page/Parent 1367 0 R/Contents 1547 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 854 0 R>>endobj
-1547 0 obj<</Filter/FlateDecode/Length 742       >>stream
-x\ 1\95TMs\9b0\14¼ûW¼[\9d\99\9a\0&@ÚéÁiÚ\9eÒIkfrÉE\ 6a\94
\95D\ÿû®\0'Øé¥ã±Çâ}ì¾}+~Ï"
\89(\8bi\99RÙΠ¤4K\83\98\92<Ãÿ\18_éö\ 1¤¾üüü6\8bÒe\90P\1a'Hi)Bz:\9e$­gÓsKqx\1d,'Ñé\19Ñ4\f®§Ñ4\r2ºJ\92 Gçe\18\ 3g8ùÎÓ3¢W\11ð'ÑÉ\19Qt>\89\88fÙIg\9f\9bäñÛáo\8aÙå×\84¢\88\8a\1az¥yFEÕ«\11RQÎ×Ü<\8b\92Óã|u»~¼ ¡Èjª\99!f¡^Õ\95NhEº¦½¨81Ã\19)îöÚü"Ö¹\86+'JÖç8ÃêZ\94ÁEñ\ 4Èk\8a\80ä!\17Ë\ 4T\8bj\1eÅÁ2 ûÕ\1d}Öª\16ÛÎ\f\85\1e³Ý\ 4%\1e\ eµ¯t\17±_\rj\8b\86c\97Â\12\ 3\99]\8f7)£\92IÉ+Ò\e\1dkÁÜ:#zî6 \14S­¥Ô{¡¶¾ImtK OZ-¤P\9c\1a.wH1x(¬'\ 1ÚÑ\12j\ 2ú\15ný°*>\8eÑ8\1d\86z\80\ 4´fí\86Áp±oîçðÃqr\9a¸b\eÉû¡m·Ûiã µ\bx@èpp¿\99ùb±\17®Y\80ü©\ 6óÇ\8b÷=+ÌeXË\1d7X\85\94\1eÆ\19-ÏÈî\e\8e¹\fa\14¥ÝHÌ6º\93£:\90ÿ\1dT,KÝ)\a5+²ÜZ¿ã\96)¶å-6J\950\1câ=óQ¼\8a׬\93\8e6¼aÏB\9b3P\f\8dQ;;Ìée,%\87\85\1cÿ\ 3\88S\97h%\ f=,*ÄViÈÄ\14\9e\8c\84\96O@ßµ\83\9c\rsgÈ\83ðLîÙÁ\8eíl/¶'q\86\f¿ø\95\97\f<ág®JsØ9Èj-ì\YúD\87ãÀ°¹\85$~°· ÞÁ­®:ɱl¦¼ÎÇÝö\0\8d7£ÚòK¸p§\15àÎ\98´¼l\98\12¶ÅUâ\15|;RÛ¡\0´<½ó9ïn^\88\1e\99cgý]\83U\8f\1döôÁW_~½:zëß÷\ 2ó*=dæcf\94âÅ\99/)\8eúK·^ÝݬèÞè'¸\81nuÙywô\97Ö×-\8eé\8b,¼þ\8f\v\9edI\90¥9^\r¸]yì[})f?f\7f\ 1P\9c¹ýendstream
-endobj
-1548 0 obj<</Type/Page/Parent 1367 0 R/Contents 1549 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 861 0 R>>endobj
-1549 0 obj<</Filter/FlateDecode/Length 1403      >>stream
-x\ 1­V]oÛ6\14}÷¯¸@\1fæ\ 2¶bù;\ 5: içµ\ fE±ÅC1Ì{ $Úf+\91\9eHÙõ¿ß¹¤$;j\82\12 \ 1ÅËû}νÿôb\1aá7¦Å\98&sJ\8bÞ(\1aáKûç÷_ù\vÍfq4§\82¦\93hZ\1frzè]\1d\v\8aã8\9a]]\8e\17\93(¦éb\8c'\ 5MFóöÄO¯Ï¸\9d΢E-\en\97Ñ\92¦³ÛhÌo§Kè\b'\7f{uÆí2~t{¿îݬni<¢õ\16±Í\17KZg>$|IûïöâàdIñ$¢\ fÆ:¥w$è\93JKcÍÖÑ{e]©\92ÊÉ\8cV*\97¯×_{#\1a\8e§ÐÒ\7f8['\v\94d4=\88"\11\ 6ãE08\9cLá5\84a!\8eè£\86¾*uÊh\eD§HU-:^ ­\10]ïå\ f\86©6¶é\9b\92Þoíæ5\1dJsT\99´p¸\90B[2[²ò JáÃpÐ\92\9b\9dJENG%O|½E\b\90×\19\94©3¥\92Þ\ fÄ\ 4\a½£n/\1cUV\96\16Ú$mK\83\10¡K¤®\82ªÃþl½Îܤ0\848X1\ 4¬¤RZS\95)L \1düFKw2å7ÄíHä¹9YÚÂÿ½ÚíeYç²±+\8eBå"Q¹rç\ 1ÙÂ\18h(ÉÂI±\93$¿\1f\10\r\10\95È(\11¹Ð)×Kº4¢\15Ô\16¦\94¤4,\14Þ3\12\89©Pí\1dÀµ-\949Ó1z©tfÒª\90Úù\97Q-6\9e£\99|E\94¥F\82\85Bà{s\82Jü³\b\8fí´½ è\ f­¾S!Ò½Ò\926}\ e\e\ 2Cq\12p2Í\15LAÜPR"+\12å¬,\82é¸ç[ê\ag\fI-\92\Òçûa",zóýêÁgÖ?\18PjôVí*N\87£\93r{_\rV~³\1a×\r×\1f\ eùfXØlÛéÅ>\99\ 3\976¢Ï:\95\94T*w\ 3DØvøU» Q\8eÈl*4%\12\ 1\14\9f\8aú"9£\8d\91»Ü r\94\18\93£g©ãRHå\93\1eq_\17\92±ªBo\85§ +\ f\9f¾-\92\88Ã\ e\9f¯PÕô\17÷~D\7f\9a\8a\80\19µÓ±§vÏõ\10\f"®_\89®\v\95ð\19\v·¹<Êç]öÞú\87\8fM÷©u9¢»V;\v]¥¯Áá¹e\10\9f\ 3ëås¥¿Ù&^nk\ fñs\91\98\14n=\\ fFiÇÝTcÆ×Ä\ 6TÈï¢8ä\12õë\98¶×\8aêJ´éüZiÏRÃ\9f}|oj\18Æ\9b\8dÏIÜ\8dµ.JHØ%(\90\ 6R\8bFgJC~\eµMO7Åù²\97\9a\ 5\10\ e\ 4\91\89\14¼\12\145J|\ 6\ 6¬ûL\ÅR\ 6ÃÀ\ 3RÁ&\eòh¸
-@ô\8eª.é¥@Ñ\806øé\ 6ºyÝøÚ\90\ 1ÇÁ\9cïYÎC\82\98ä\ 2ÎÀrOÄQ
-½cªòdúEé\8c\99ðvÆn\8eG£Q×Â\a\9f\98§A5¾x\81Ú\ 3\8aªCÝ«ÍÜ©q     \981\12½®\9bÕ\88n\9b©2\r\1cö\8aÖ\9c\91\1a&~\14¼i:b\84ù
-\9aû+ óïÎgª\7fÀæ\892\964\80HoéáîÓýÝ3¢\9e\12\ 32\b¢çvÊ\8cyu`SÙÖ>gç @Xoé\ 6<kJw\ 3I\86å3\96.ð»Ø¹Y]á\7f2\ fÁ}\f´ÑÑÚ\ eÂ3\9d\90\1d ô\1f\bC\8c`µAX\aVÝáÆ\8eqÂ/s¼\9e\1aìõ«p\e×·\13l63ì!È@\9a=\15áEÑ0È\ e\9b¶û\ fm\98E:ÐW'ÂÇî½Tka2ZÌfÿ§«¹¦¡¥G´rç\91ÇT|ç\93^¯QMN_æô#ý\1e\13÷­úA\0É»ö\837\97\84\1c5MÓ5Ç3ÃîM\95gM\83\1cdY(Ë\eIب\90\7fìL{\85öñûÐUg\81\ 5ýbyáA?gl\95ò`ƺet~f\1f®\aC3¤²z\19ã \9b\96\12ck\80  \96c\14\92ßy2µ={²\vHðS\ 1\ 3\86´\81\907\0®ç\v\ f]ìu!\18ÌkÐUÇ.\964Y2\1d\vl=¹*TX\8a@FØ\86\11\ 36\1eqÄöÁû.\89£QàÛòì#\ 4ûqnø=\96\90"Q\18³>Cx´\ 3¸\10+ß·¾Ôlµ¼\80g2ap¼t/oÖã\86\13ÛMeº\98F\8bù2@n9á`\7fY÷~ëý\v\8ffô3endstream
-endobj
-1550 0 obj<</Type/Page/Parent 1367 0 R/Contents 1551 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1551 0 obj<</Filter/FlateDecode/Length 684       >>stream
-x\ 1u\94AsÚ0\10\85ïü\8a½\95ÌÄ\ e6\14;Ǥ)·vÚ    \99\bi\89\95\95d<þ÷}²MÚÒ\14\86\19\8f¥Ý}ûí[~Î2Zà\9bQ\91ÓrM²\9e\ 5­óeº¢UYà9ÇÏ1\1d\86\83\8fY\9eæ\97\a÷ÛÙÍfEYFÛ\ 3r­Ë\82\8a\90g± ­\9c\11ÇcO\9e\ 3µ\r\85\8aÉ÷õÞ\1eµ¤£6¯\9e\82¥Æj\13âC<6\1c:ë^ÉW±§Þ¶Ô    \13®I\18E>\b\17èQÔ{\91^m_f\vJò5ÔnÕüɳód\r=\1c|":\ 4\93<j6Á\93\14\86\8cíhïlçy¨\82K\14\1cs\f\88U\87\94PéNìH\ 4Úáãc\99ÝN\1d|JwR²÷Ú<\8fª§ÚÙ\12@P;v"ȺápO»yWiY\91h\1a\16HçIiÇ2X§ÑÑÔç(nwEA¼âm;È\1fï\81×t        \19\9cm\9c\16\ 1ÜF £à\v\ 1\13´\81ÉÍæ\96\89ãH\96ÙH\aJ3|é«\rìcðï¡aòI\1e§6ÿ¡\8d\ 2¡7n\86YE%{\86     ö\16¡\8aô\81\ 45\8eOÚ¶\1eBkÛ\9aøÞX\93\80Ô¨\92´§Z(ÆÕøÎ!4Ò9iÉ\17Â\81Û\vàE\8d\10\80¾\13}\fFQXÂYÕÊ\98Äp7%\8e\ 1\8c4\f\83¹\9dÓO\9dËÉ\88I\91\96\19\9ddzË×\ 5ýÝôpþæ\9dO­spJä^±ã\ f\1e5a¾à´\fz\0\ eKÔ~误ã´É\88\1a\95m\8f\8a\béh;vRx~W\röAÍÿ+å¬u\ 3N\9eeëtè©i]c=ûë±×ÉD=  È\82\15a¬È`Ä{\18\9e\1fξ\9e\94\ 4\8fw\ 6\98+ÝÄ\1dº\18@îÖp¶5è\ 6Kêã\16¢[k@C±×Ï\ 6æS\93?ã&ÕVéÃ@êr\95õ¸Kg³÷ïb87ú\a\89r\9aZ¶,ÓòvIY\91§e¤õx÷åþ\8e¾9û\82í¡\a\1ac\12q&±\8d$[ãOª\RR,nãý\7f\¾*Vi±.± 8-W1èóvö}ö\vy?\8añendstream
-endobj
-1552 0 obj<</Type/Page/Parent 1367 0 R/Contents 1553 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 868 0 R>>endobj
-1553 0 obj<</Filter/FlateDecode/Length 1648      >>stream
-x\ 1\95WÛrÚH\10}÷Wô\83«\16W\99\ 1a\9b\1c'Þõ®í8\81T\1e\96<\fÒ`&\914D#Á:_¿§çBd\82÷RI¨ ÍôåôéÓÍ·£\84úø\93Ðh@gCJ\8b£¾èãÉîãïG£D\8cè¢?\11C*hÐ\1f\8b³ð-§éQr>Äóóñ\99\18ðÛáD$á\e¿\85\1d\1aLÆâ\9cßáÌ$|Û½\e\8fÝí\11\9fÿJÑÒ]Jú\ 3gèÙ\8b׳£Þ5Lôi¶DÐÃÑ\98f\99\8b\15OÒÎÕJ®kUQr.è¡Òe­ËG\9a6뵩ê\93Ù\17w7\19ù»Ý³s\ 4<Ë:8\9c\bº)ëÊdMZkSú£ç\94$áè`\84\18qôµzÔeÉF·º^Q½R\88ÙG\9d+iÕ)Me±\90d½KëN\94²Ö\eE\9ft\99\99­¥û\19­ch\85JW²Ô¶°¤\8b
-UÖ*c÷}ê&\f(\9cn´¤»i÷ÃÃ\15Í;Z(á¬N\1fÞ½»\9d\94\85Êh­×j~ÂI«\8d6\8d¥\8dª,2±d\96!&SæO10ܸ\95å\9d,w¡ìùLe\9e[\11\1e\ e\86¨\1e\ 2\99!]\99e\9a!\929-\9bÒ¡%s]?Á\90Ùè\f\86\17O>kµ¥\18c\80\83t\99æM¦ì+6\f®u£åP"Z\9a\8a\0R\99\e\99\ e(Ô3«\80`EK\9d+`jvXN.z\93qï~Ö\eôAÙ4×ÀÏR³6%eª\90eæRè]§¡\94Ý\91\18\91Ì|0\1c\11ÇÑ»\8e\85v/w°\7f\Ç(\0áó@\0/jÂÕo\15õ2Ë<ç\10è'ý]V\19Êuùði~BÈ\8a\ fß\14Î\fg`r²ÊQ²Uèy§RKÜF\82«º^¿êõ@
\8a\15Ö4Uª\0Ï£\12¥ªQj\1fúóÄ"c^Ìí\10Þ\1cY h`\99óÉð;\16\80\8a¤¥i-«ú\8dI\1f8$U\9dÒÛ²)~7\v;ïÌONIÕ©\10\ 29O\95ât\ 3ybLwÓ7÷¨mÚ0ÇÑ\11(\91¬c\9e\85ÍJQè´2Ö,k\91\9a¢ç¸P\18È\81.\91wá¯àV\80ýlð\12w/\1fnæ'\87à\89Ù¿\bÏ\19\v\1c¸Ñ¦#Úõ2M\95µteX"rºÕ\16$Cm¯n¹¶¡\87P7³ø¢ÒÚ\1erýß(Ç\ 41\eôPl\18î\aW\rXÿÖ¨F\11H­×MîѨW\95i\1e½\ e5Vq¯£¥]u¸A3YË\ 5TÉ:,í\1a¬ûI\¾\98E\eàC±Ç
-\1e\80­;\18\8bdBÝ\bÜl¥P°\15ȲPª$k
-.\1f\ 4\ 3Ѥ¦\6¬I$\17¦©i»Bý!3(¨¶T(     ±BÇâ¹B\89\81fE¥©Iã/^`.|ktå\14\92ÓÙcW\ 4É\v\85Ó\88\ 5»¶5<\0\1atpe,L\96°\9fù^\8b`ïh¿¬L±ëì *\82.9
-\v\89Ûs\8d wº\9f\19\80ÍQs5\90\ 5>cDð(Ë'ÚJÈ£AQ\8dãT(\8aW6AÀï\89$ lj\9dëï\b\1cÍ\82¬¡Ü^V÷|ÇàÂãHp\98\ 1Fyn¶ÜÅwSúã5¬Ö:Í\11i\81\b\80\r¸âʳRù\9aô\92\9eLã<g
-z\1e\a\\94·¶¼:ñî]\ f\83¤vè7³EJ{\91µÔÐúayoè£\ 5â\18´ª\92nrp\19Ú.ØÆ\ f9\86\84\82\1c\86Jí)ExÚûºè\85$mï}2\9eô\92^ÿB\N\1f¼Ù      µ'¿\eh\98ü\ 3Á}½Ô\8fMåzÊ\9f½\bÉ\r0Ýû       â\98\88>\ 4\aÒð§cÉñgÚXAþ\8bª\8e??\8f¼Ë¢>\14ýá\ 5\87\99\)H\1d\ 4\91ç&z\ 3°\83b+&\80\1fë?\1c07Ð\aü\18\1c\ 2ÁåW4\98c*xÆî[\83$tÃ1fLµÑ©¢´R\12\8b\ 5\93(â=ùk7/ÑqÜ\1e±\87ؼ\v"\13íÓñ5ÛÄr±çRæ`¶EëcÓÙ\99ú\11Àv¥1DÂ\8e`ÑÌ2ëº\85DzmåyZ¢-¤µ[4æ¡þd\87\ eØ°\16ÅxÂn\10×\86\9f\16ÐS!àS78¢\18í¶­0\89¸W\80\ fë-¢\97\15`æ=ÒWÁ\17w\10 ¿ç87i\8b9q\97hU\ 3í\8e~\83"\ 4\19Zð/2Ä\195Å{»V©^úÅ)Úã\ eEi\9fï>ÀǤÚÕ2l \10Ñ\10\90[       Ú\b]B\89XIÿW>>Ù\98F'Ö,\ 3.^£\11\96\0\12låøöàp\fýI\ e\0\80\85\94q®|ÇëVØaÐ\98èÆ%º,tÛÙ@\8c}·¹\ 6År~Åüe\87±ý\9eGÉJ\81­>ëÜ\1c\90uö×¼¼Ëyé=uúW4\18\rK]á\93§\15\8b\ 2³\99×Î\ 3myüÙ%Ъô\f®\þ®t(­/3þ\83\9eÎ`\93û\1c\9aç~$ü\82\9d\9f¥\10\93\1a\a=.î2\8e\83¯Oü\8b\0?[$P\9bw\1cÈÇ<   9\9dÐÖ\fBË»cX«Ãã\ f\rw\1c\1d\eæ\ e\a\17\8c½FÚí\98ã@|Fy,ú\ eè\7fû¡u>:\17£áدÚã\v\8eôíìèýÑß\99 \89ºendstream
-endobj
-1554 0 obj<</Type/Page/Parent 1367 0 R/Contents 1555 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 879 0 R>>endobj
-1555 0 obj<</Filter/FlateDecode/Length 1851      >>stream
-x\ 1\8dW\7foÛ6\10ý?\9fâ6\f\88\vÔ\8a,Û²½`ÀÒ4Ý\ 2¬\99\e\86e\18h\89±ÔJ¢JJu\rìÃï\1dIÙjê\16s\8bØ\14uÇûñîÝñýÙ\88\eÑ,¢qLIy\16\ 6!\9e\1cþÜÿt6Z\ 4\v\9a\8cã`B%M£Ã¢ ÕYoYÒ|úÉÞh\14Ad\12\8d\83\b\82£x\1eÄ~Å\92ý5v\17a0îïöÖ%E£q0ïíÎYÕx\11ã!DGS|»\95UÜ[cw\1c\ 6£þnoÍ»\v\18×\93í­±;\8d\ fç°æI´\80\91Ñ<\86\9b%Màûܯìno\8dÝx\12Ìz»Q\84\83¢Ù\18\ fy\13zÝÂJ\1e\97\bð\94åì\8b¼×[\964\9b! Ç½Þ\12Æ\86\11\1c=n¾X\9f\9a :´~D\86ãù\8cÖ©MlHëdð§jÉdª-R*U\9a?î©É$\19©?H}nÈ\94\9b QÕ#=æ\85¤F\91HSûƶP\eQP-´(e#µ!QaGQ¢¥hð*´<ª¢P»¼ÚZégë·g!\r\91Â\b\16\fL&´¤\87\81z¤DµÚÈçdT)        k\96=(¦\ f¢h¥Án\9bd$\f\9d×¢ÉÎ\89¥\85Þä\8d\16zo\ f÷nl$iY\17"\91)íò&{r®¨k­j\9d³\91N5ìÔ´\87\rdòF><û\9e%.^\85´p!\eF\13\84\e&ÿå\9cþ»Ó\18"ïxLø\R)Ë\r\87ÁÛ_5"-ó\8a¶Zµu\17a\98&6\85<)ïc\9bê\1c\91wÑ4²!XZ!¼øVµÔM.ÍIi­TC¹¡¼¬\8b\9b\ 2!A¤¼°5åü\84à'/Ð\ fô£7Û¿\1a\8d\80Ovܾ÷Ý)Ç9\19\10¼h\8d¾(T"\8a\v\8d¸ð\9aOY»E:\eRï ¶?éÎF«\9d\91\1c©/¾\ 2\90¥¤*¸ù%%\97Èf\950\10\11\16\a6ü`,çÛV\ 3\e\80ÒAËsÆ\E;I\95\94é\89@]r8w\1aø "7Íy@t\9dÉä\9dÃ9×\86Ù\9bF\96\84$\95¹1¹ª\fWC)Þ\9d\81\rÎ6\91\0ÿUC\89¨`^½·Åb\85m%r\99à´[.\8büT8/9ï\80
-`Æ\18¢JUC\v\a¯Øû\967\1d
-Ea\14É\8fpã´£\0ßÿ\80Î1\18HA\87\9bç|0kíSÎ0² Z£ªÝVäÙhpÔñ©Ì\80]j\r\92Ä\1e1\89\80wPM0Y\8b\ 6\ 5B\85ü \v~E\93wÓF,\13ØsZñX\1a\14DEJ§x\r\9aÚ:EÕwN{\1ebbCÕV6\93\16'\ 1­¤#°\8eý\1e\ 6Ó\87gÈe\ 5ZÚ2¯i\90\97WøYÂ"\88ã\7f\a®\8eñ\1cìLàO\8c¸s¢\9a8\10Z¾os-K\89ÄC\87s\7fÚÅ\85>/\91c@\a\94ÊZV)"TãÐ\fÁ9\90\17Ç­³B¦\ 1£\86cd@\84EA \9fm\vÂ\ 6¡ØÐ>\89\84\r\1e\0éc²âzÆ1¦ñH²\15\85\83\1cÔ\0öVZ\17/^u\ ep\93\vG4\8cfÁ|lÙþªm2Å\råN¹\f\1cýá\9e\10\aa<íbÃ\0¶ZÙ\9b&\13 ¶GF\81só÷¼JA\ ft·ö®q#øÄ-öSà<Ä6O\90ð\946®«YOØéa¿\ fÙV\87FÔõ\17A©*\ 5\18Ý÷B×Þ\909\7f.eà\ fQ0\83ìq È\ 3Í$g|\1d\8e{iÕ<       òµª\1a\8d¾\bDö¡Y¨-\87[Y\14ö\D2\8d\94\1d0:l\e\14{\ 3Êb¤£\v\ 6ôë¡\99>9\16g       Ú)ýÎõ#Y}ȵª,üv\99D\ 4\ 1!zÛ\82\97w\80\a\eâ{\15ÿ´\n{©jñ\82ÒzÏ\10\17\e^\1a kÿä´CIòL`dÒ\828÷Þ\83\ 3<\8f\ 5g\vªïY@\18\91qt½\rúÀþ`\15Æ\ f\bµ\ 1Ê\92\89\8f\9föÓêÔý@/Ð'~C  8©n\ e\ 2Á¸\82ïZ:[iË\18YÝÉ¢\bè5\98\e3\87\ fM[\81CLÃþì\18\91\ 6\8e3Jª\8e\8dÌóÊF¢®%0Ê¡\ 2ù\ 2ÿí6\vh8|+\11@kïçurÛÑ\15s\8c \1e\12\\12Ü`ÆI1m]+Íz%\0»«
-%R>
\87\9b!|\1f\ 1ö˶hò\1a=*)r\14\ 5\1fÝ+\0¡\93\f}-ià+Æ,\98Z2\ eü\1cgÚM
-¢J\1a¥1{X\10t¡óC\81-\90\1c\9dv\97å\98Ð\12ÀC\1a0\93%o)ðÈ\8dDO\8eõö£\\9cU\18æzv\80\83-í¸\11\92i\0\\80\ 1\15¤ßeÈëëXõN~<\18mcâ­FékÐùFr\17á\8dn\98ñC\ 1\aÚZÙ?ß\96Ã.7Y/Ò\9eãN\8c\85>\10Cþt^öfC\9e\ fÿ\1dþ>\8eþ\98ÇüÛ\7f.éÛ^z?Îão¿,{{7      ;9þîÉ.¦\17\8bùWDÇÑÕ/Ë\9f¯\ eÒ=QPÙUQgâ\9f«?\96_Õðúv¹:(è\1f\ e\r÷\930\f¿*½\^\1f\85\9fH/ÕNêåµ\95?\16u¯.&¾\7f¬×7wëÛ_ᄀû\9b7¿ÝÞß¼¤åÍýëÛÕ
-\ fW\1c¹cG±<ph)\87\92\80\894*\80§cÜcÐÀ䮫\16ì2\aö»\9dªÜud\aAà9g\82\0
-¹:2\85\vS£[i/\v¸1cÈ9v÷®\83v#\f¤AÒ\96V\19\81Ç3¼2\9eZ\ 4µ9FZ¾£=\fò\03\9f þ\18÷ðÌ9\99ø!a\88ÞÊ\97v\f\14\ fQ<ó£ÕÜï\8eÐRãEDñ\ff¹ùkuõúÅ\15-µz˦¼TIËôo\87\17Ö\8c&<\vÂù\98\86³\10\17\9ftp\9d\89\9ao\1e£I\0)ÜB\98]V\8euX`2ÃÍ6\9e;\13æ1?ºY\9f½9û\ få\80Ú·endstream
-endobj
-1556 0 obj<</Type/Page/Parent 1367 0 R/Contents 1557 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 884 0 R>>endobj
-1557 0 obj<</Filter/FlateDecode/Length 1935      >>stream
-x\ 1¥XÛnÛF\10}÷W\f\84\16Q\0\8b\96(Y\92ûR8·"@츱\82¢hú°"WÒÖ$\97á\92VÔ¯ï\99Ù¥L1iÑ¢0,\9bÜåÎíÌ\99C}>\9bÐ\18?\13ZÄ4\9dS\92\9f\8d£1î\1c?>üt6]\ES\9a/gÑ\9cr\9aÅ\97Ñe¸Êèþ¬{\8dÕùe4é¬â º¼\9cá\89Ùr\81ÿcüV\9a6l\86&Ó«hÑ_\98Ì'°3\9fa%§x2\8db\7fÁ¶:\97X»\²)Þ(kO\979MÇ\vv¹]{±:»x3£É\84V\e¾xÌ>"\8eù\92V©D;¦U2\í4©$±MQSãtJµ¥Ä\16\85Njþ·Æò½Ê×\8avÖÕ\947øXã        Êu¾Ö\15Ù\8dly¾ú\ 3æâ`nXV¦¨±ªÒÜ\14~­ueH\99quäo&á\81Ñ"ZrUVéðS<_Ðé#£\18Q_Ñ(\9eG3Þò~\ 3\ f\9bÊés±\1d¼\85ëm\1c⥫M\96Qi\9dÓÎñ\12ÿAD*Mic2-\17\1c\9ekÖ©©\10¯­\fî®u¡U½c\17Æ4\92bÀæo\12Òw¿GôA\87Ðë\9dªIÁ\ 6\9fFn§*<\8d\ frZR÷¬Ò*%[d\87g´>Pª7ªÉ|ä£8\96\82\8cb\ 4>\8d%¨"Ñt°\ríÔ£¦\ 4ÏÖ\\føWéÏ\rüK©õ\ 1\ 6ªG\83íª@ÌÎÙÄÈæÓ@ÎÉ\99¼Ì\ e\94Ù-¼èÖ²\17\e\1f\87b5Î\14[T¶²¶¦OC[\852ü«ª~z~Ìþ¦²9\8eùÅ\14©Ý;º]Ñ,\1a\ f\94dF\17uDïK]ÐàV×{[=ô|¹Õf»[£º;kÓ\ 1Á\89ÁÍ\81Â^ºË\14Ê8\90À×\15NG[aË)Haà$\97\99M\8e¹ô¡\9e÷\8c\16êÑl±§\ 5üàÎã×EQ4\80\85,ÕUD¿¢8ng\9b,E\ 18ùd
-S\e\95    ¢9wh\86\80|\80\8bÑ\91«:Ù1ÒPƶ'<Pz\1e\0\1c¦@\89\18¨:-\17\8a&Àþ\ 6=2\9aN|\eLf\11P\14ѽ®k¶þª2(£\93\8c¼þ\82\9bm$lï\89\ fpJ¼`Ô­àØ?Ea\8a^r\9f¹ã\91!1´ç>\13Ô\16\16`E>ÚPSñ\88!j¶\1c]m{a#/yD«\9dqm{ø\16¥Û\8fïÞ\91«Q\86­ôl\96Ù½x\ 2\8aj9\87ë\9aÑ5Ú9\ 4        Èý©*Iâíê"\1e\83Ô=ä\9c$±ÓÍ×u­óR\12\84¾x4Ú\1fÞú]V¶ÔUÍlÀðRÇ\80ö;\93ì\10+WôÉgêÇ)\19\ 1\e Ý\91]ö»\17·®*\9c\9b\83\91ÔVÿàk3\ f\ȵ   D÷JK\9b\83OØUG\89*
-ô&ø75®ÌÔA§\9c=\úD·½àJ\9d\98\8dAÆÛ\88à,?i
-W\83±tz.¼D®´6ÓUÏ»Nø\12É©½WVhj¯00\90¼p¤\14'¸QØý\8f\96ô;1½ÌLò\80î·\83\90\1aòÉHÑH *¦4fÁÖp\894\824\10ÊÞÔ;±ÒÆtâ&s\8dÏÅ^\1d¾\ 6\9a\87 *\19\ä9ÐM\ e®5Î÷©\80(8\96à#ð\86ûLWûÐaB
-릮Ѭ\9d\ 4(*°¥uÎÛA\9a\17oþݤ\931x\9c9÷:ã)|tZ\88\95\9d)mÙ\94Â:Ü\vÇ¢\86à\Do=1\81ü\ 5§<q\8f\19\1fþ×ü}»        %r(È\13\ 2NC÷­ãû\8f¸\9d\94´\9b;8´\9e#ËÉ\86w`ÑAgR|YÎ\açO\0(´N{à\84\0©É=f.\1ac@µZ·¬ÐzÑA\87\87\ 1ms];×@\9d\9a\1fº^ö´X\v\930\88\8a\8eW*sVDÐ\1as?·©Ù\1cB<ß0î\9a¤¯%@\1f×/ßA+\0ëi¯Åý\10öìâ;bm¿|å:m\0µ$³2±\13\9bçh\11\9fpyÒ\ 1\16çdÐòN4\90a_\ 1Ø\93¹,î\8a\9aàZXOâ!\ 6'øB.¼\80ë\90'§þ.\fÈã\f\10bdñÃ4##\ eÔä\85cjÁ£|;W\ f\8&N\99NâdD/D\eÉ\14b\9fùx\16Mm+¹\1e\0\80xOÃþt\9c¦öl\98\7fk\88T\1d\96E\89\1d\89\109\ f
-\r\84ìÉ   b\ÄñÐåë\b"rsÊYï²\8e\18\18´"mµ\1f¯Î¤\122¦h\18ù\1d0\87áC©\95ð[ØÞß¼hcó>\9d\13Ø\84Р|:8¾\17°¯\92\97¨ÜÑ ®â\98\1d©ip¬cZĺÇÒÍýèÃÝË0e\91</\9dy(7\18@H\19t
-,\7fË(wGè`?ó\10«f\1d­*qà\11Âw\8b3\98\bQµJç\16"Jl\8bDåáÍtåÁ\12F\95\97Á\ 4\r\84\81\ 5\ 5\88æNH\1cw{\14m!uØw\10³@qÐ=\8fS$K¯¡\87\ e¶Ð\ 3Úë,\e=`0\15´­lSJm/Þü\9dª\9a\ 2»MYÚ\8aÙ7SÕ\16\817íûN\bGÜþ\86¤z_0\18\ÃhDj9q`)\f1J\e¯gà5Ú^g¶ä¾¥\12[DÔx@CÓy0q²Ñ\7f\bÆ\ 5_Âð¨+2«Ò~âxüOÆcH´\8e\10\8d裰\ 4\93Íë»_Ø\8a³¹ÞË{Ìþ\ 1]ä­ñ\0ÅnyO#\90}n¥µ@ÕÈå·p\ 2Ør·µÜ\85\95·¢D\1aÚwÖeÛpT\95\89Ç\15|\85º     q1\91\81\13ýæV:\f¹#\98mÑ>Þ=~»â\14\1eÅexÿéy&z\ 1\8föÇ£\87!D=$%\ 3\1cYÐ_\14Þ\94¤\ 6\99¸\876\81ÐçW]¼\1ccÕ¸\9dN\83T\eÓUÐâñÌkñï\84S\86ǸÀ¹[K£\8fò2õ=ø¸\82×£\84\ 6\1a\9e»\81\ ft\19²2\99ãË\82%\7fé0\8e\96óKVç÷×7/®Áµö\ fÖ\ 1¯l\82\8e-j\fR+\1c1j\1f\19-Æp(\1dþç7\82Ù\ 2_\17à\v\ 1yó^.ء׫³\9fÏþ\ 2­û~¥endstream
-endobj
-1558 0 obj<</Type/Page/Parent 1367 0 R/Contents 1559 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 895 0 R>>endobj
-1559 0 obj<</Filter/FlateDecode/Length 1645      >>stream
-x\ 1µWaoÚH\10ý\9e_1\97öT*\81Á\86\0\89\94\93¨\92´\9cR\92\v´=      úac/Á­½ËÙ&\90ûõ÷f×K\fI¤êîJ\14`\99Ý\9d7ofÞ®ÿ:ð©\85?\9fz\ 1µ»\14¦\a-¯E\9d\8eÏïý\1eÞ\ 3üg\92ælÀÔíÛÍû\83v\17¶vÐõ:\94R7À\87\1d$4>¨\fSê÷½~ÅV\19¦äÃW·b¬\8ea\ 5\86êÒê8¥ Å8\1f\9dVÇ°\ 6½\1dHí¾ï\1dS»Å\11¦ÔÁÚ^9bÀÕ1¬G\1dï¨bå5A¿\v,°u½ \1cðBßïym\0õñ+\0\1fuáÄ\8e\8cµ2fÀÇpúh­\8ea\ 5iG\15«\1fôA\8d\ f(ìÖïô\11\8e\1d\99\9d+cKEP±2\15n\f+ö@\96ÍN¼öÝä yÑ¢c\9aÌ\91ýn\1f_"\93Û\16MÂÚ\99NE¬N§£ÁÍh8øJWãÓé'\15o¾ÒXf÷2;\9d\8eEz+P\1a(\8e\86H\96\vÑþúvòí E\8d\80³9\89jÓ/±\8aô:§Ñ\846ý®3û-Ä\ 2óu\16«Bft\96ÅØ\90\86j®É?)÷p\93\88\8c\91Hå        M?\Ó¥Èeö»,\90A\14$\10Å2§ë±óà\0ü\1f\1e\ 2ÿg{è\8cã&þ?þùL\ 4¯\89ù¨eË0Lb©
-Zê;M\8dO\94i]ü\9aË0\ 3 \8d\90\ e¥Z¥KKh~¸Çá\7fÉåN\1eæ\89¸ËO¦­M\1f´·Z\8eî\9d9\8a\934\9dáu}õþj6[,\e\ 6׳\93#\99\87Y¼,b­N¦vþþºúè\8aÎn\86\9fÏohðy0¼\1c¼»<§\8b«\e\9a|\18\8eéúf8\9a\9cßÔ\9fÝ=Ôi
-ÎN¦Îêêâ\87X\9dÍöhüÍæÂÐ\9dË"²eëâ£ÙìðåÊ\84ñgde¼
-C\99çóU\92<\10\16M¡©\ 4ø2(\8f\ 3l^@ª:V\ 4\1am\9f\eÓï ©;\1e\r¢(Vw4\92k*;)§ûXP±\90TiíÁõ\17»\11\94        ëYM\1aA\8f7z÷@\91\9c\8bURÔÉÊ\85\9eÏe\96\93H\12\95ò\85Èн\98\18+\19\fÍ,Mv·Z\9eÞz¡Vó]'5\9eÉH\ e\1d6Ïó\ e\93HfÀ\9eä\9aä&Î\v\ e!V.\97m("\90\15\8b8/ç\12¾íG\14E.b\ 4ú·È\0\v\b<\9aÀ\1fÂ¥u\8c\0n%°ë5i\ 5òc\ 3\ fÇgÃ\9c\85pÁs±HÉ°@X+\b\16{\12·\89$$'¯fNnd¸*$ EWK©Ê\80Î7³\1a÷\11VB\1fgoáµX\90\88ÒX!¬L\14\90M\ e«\ 1¾ý2.\90z\1f\ e\84Îj±'=#\14¤³\92T\1c\a&E5ǾÙn\8fÙÙÛ²2Ârv\ 3\a°OÎÇ,èöö¶3ömä\86\15\ 1\ e\9d\93µåð\94\1ed¾ç\v0\99ü²L^ð\8c\13)ªUܺBkàpô\8f\1f)\1f*D\8aô3ÁÈ\8eã\1aÜ\9b\fsæö©g\98b\v\14VQVªe½n\16ZÌ[î*¡±¥B?+\8ePÑ~\8cé*Gk\8a{@ÚÖù½HVH\ fWÉ2Ów\99Hi¡õw2swª\83Ý1G\8eM\80äaþ\90\172-Ól=º\96© jÊ"l\9a\95¡XîãBY\88%¼Ã.P~sTN\8e:C\ 4\83sB\81C\82Dö`\8a\86{\9f/\83\97\85T¨{î?ÆËìÏ3\9d\82\ 3{\96ÕÑ4ÆÂGÆc±\18= H£\84\95.l\ f×-r\\8c\124á      Ë¦)]+±G»¨\9a6þ¥B\8e\85´1\ f\99\\8a\8cëÇ\92n·t<¿(M\G\ 5²³,xa¢C¦\97!)h©ój\ 2õhhI°aǦ?*\10¡_\90\1a\14È:«\84Ì2äNÏép`\ e\0:\93*\96Ñ!+\fn\ 4«\8c\95´\84lÉöh¤\r\ 6\ 1HÏrãp=áÈ\14§\rÜ5\1eÄ7Gf\8cjAÛ\94é9ì
-½+ä¦`dìdWþê&\fW.1DSXu\12a¨WªØ¯\9fÉBâ¡\835\13\e¥ËDòa\8e:ÛÏk$\13\89Ð\1c­/$s\ eÂ2\99ê{®Gld®\8c¦\1e\19é³\87\84«gàá##Ñks¤\0\17\12±\11\8cl\1fRE!\18ûs\9a`/>H\7f\ 1I\8fì\11TmF\a±Ð»5W©\8d\9dÞö¸Ê\92ý4ÍjáB¨;.>N¼¦5\7f\15*QFe¯Û\8aa\9e\13\1cÁ\9c¼7gZÉ7\98\1c\87\vÎ\0OFE\81Ã\92\13w\160wë\85\ 6\ 3\90\11Ö\ 1ãCgßË\13dû|Ñ\b:V\15^ýÒ¼\8dU3_8vË\87\85W46WAÞ VP_ð²Ó.L\bÎY\ 5»I5ôì1ff¥|¬xå º1½öëÛê`­©ói\fÙ·¤oï \90g¶>]\1eÔí%Å\98w\17»¢ã\85L\ f]ÆjµyºE\e\b4BzÞA§î.kÎÞ¼è\97Zçwñ\ 4ÞoS·wl\9fªÆ\83\8fï\ 6¸\9eèo¸YÐ\99\ eW¦/ø\ eÍ~\enA£×âGº\7fy\9bëô:^¯ÛÇ]\ e[ôû¼óùäà\8f\83\7f\0e¯¬nendstream
-endobj
-1560 0 obj<</Type/Page/Parent 1367 0 R/Contents 1561 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 900 0 R>>endobj
-1561 0 obj<</Filter/FlateDecode/Length 1184      >>stream
-x\ 1­VëOãF\10ÿ\9e¿b\14\9c\8aªÁ¯\84<\90\82\14î \87
-4\ 5KÕIýp\eï\86ìÝ>|Þ5\ 1©\7f|g×q@æzУ\81<lÏüæ7¯\9dùÚI Æ¿\ 4Æ)\fF\90ËN\1cÆ\90\8e&a
-ÃÉØýÆwÉ`å\1e èîãú×Î`<\r\87\90$C\14\910\1cLÂÉöJÀ\8d\a\18ïá³\11âÕ\17Í£i\82Z-\13'Y':\8ba
-I\8d\83z\931dùþ\1e\ 4\87}\10:'\96\87Ê0
-+]\82]3 ì\8eçH\93\v\ 6zåo\15%W\96\95?g\9f;1\1c$\8eIF\1dʨ\ f\e®¦÷;¬­H\9a\84#/òLå\92|a`*\8cÃ\86\1e¿a\82\17ÄÂ5£\1fð\v\1f\1aOÊ=\15°å\80ôV¦\85º¸>¿ÊÞÍ\17³\88Ù<ò\829)B¯×\12}?ÏNg\9f\f~é}ìÉ\1e=è}è]ön>µ\ 4/\163Q´î]\9fÞdóëlÖ5¬ô1\12\ 5Å\8c\1aKJÛÝÊî<\87ß\18+\80\8b\87\16N^@Ðp~ü\15\ 6\8e\Kt\ fæ\94\ 1Xý¨Ò\12fùZC·\vÿõu|ü\ 2d\90þ\1d$G\7fáëõà/\82\ 2\1c\19:\8bîH\19\99Bk\11a4£ ý®\99×\80ÊûY|$\ 5~\98õwÁ\9a\ 6T\14³¨2eäk*2D.\89\8b-
-\ eâTG\8fÁù\ 6dS\18VWù\1aº/¢u\ 1A"+\8bº     ¥a\10@züSÒÊ:&}£ ¸Xü\1f \r\85ò\12\9e\99i©)\8cñ4{Y²!ù\92ä\9e¯â qî¿"J-F[íôMÚ\837i\ fߤ}ø&íÑ\8fi\aÛ\93íÇ´÷àJÛúLçn^p\ 3ø¯\18£\8c¶ÒS\17ÿ³Ú\17|\19\19¹\fs­V-\8d½ö5|Ô\95\aw'aÉlU*<eï\88¨X\1f\96\95\85\12TÃhã&
-· \19Q&l\83µ®ë\ 3ô½V¬9Î\9bYÇî\11#vâÑÙ\14\92a=W\ f\ 6\89\9br8¶Óð0\84\ew,\0Q\14\16õÀ\84\85\9f\99\eï[­tì´þä\8aê\8d\81«,Jcl!\7f\94\80\e-¬4@\8cÑ9ws\8a@\81(8gí\1a\18Á³Ã\v²2\84lÍp\80*]J"Ä\ 3X7ZÝ\ 4ÇI.Ýè¾XdÉQ¿ñq\80\8b\ 3\9a}÷û%Þ\84³ó\8bSüÂ\81\19\86\rsY\19\vD\18\8dÉ,¼Q\87\86IÉYa\1d »÷\84\1a­I!ÁÚÝ\10N\1eÜ|&\95°}ÐJì\ 6ßÖ6\ 6\91õX}PDâêÑ­#÷4j]ävÏ\r\9aÓ.¿æÁX&\e¢TãjàR\2ïù6D\\81.)Ã5F·\9cö\ 4ûP\12t¨tå\80\ 5JPûkÅK&\99òÞ5     É\ 5Ç;»bIG¸\9aaà°È]x±\9cj¶;\12ÿ\12¬î£;ZpuÛ\ 5¿D)Ï\98a6ë\14ÖݲY3ç¦Ð·\1c\97\9do±w¼}ìù­Â\90añK\f3/pKkÒ\82\0\85&\14\96D\10\95£i\f\v¬\b\17 ±¶\9a&hü:_Á\ 3¶Ô6\18µ\87-è¥Û
-WÜÙu[¢Ñ\92¹Ð\e·;Ö=\81\8b¯¯îý§müXôûÈÑà>çV:²UÁ5¶Vaª\92Þ\85\96Û¹\96\12\9b©6дÏ>lÖ\1c\9b '
-\90\96ß\1\165=ì=¬\1aÜT1ÈXhú¶Ä£À§ì\96)\86Ù÷æ\ 5\96\95\ fJSÐO+¬¶æ¶o׬É\b\17÷É\0Fñ¸î\9e\9bùåÉ\1cÛ[\7f\85÷:¯\õø5Úi\1e4
-\aãحܯ9\1a\86ãa8\1eMpMGùÉÔÁ\9cf\9d?:ÿ\0\87±\8bgendstream
-endobj
-1562 0 obj<</Type/Page/Parent 1367 0 R/Contents 1563 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 903 0 R>>endobj
-1563 0 obj<</Filter/FlateDecode/Length 1518      >>stream
-x\ 1¥WÛrÓH\10}ÏWô£S\8b\15ßâ\v/[Ü\12R»@\16\ fy\19Kc{@\9a\11ºÄköç÷ô\\14Yq\8aª\ 5
-S¶f¦{Î9}ºõýlL#ü\1dÓbBÓ9%ùÙ(\1aá\97öããõÙdr\19-i>]E\13ʱê2\9aùo\19}âõ4\1fMñ9[.ð9Á¿RÒÆ>\98-\96ÑüÔ\83éj\8a3Oì\98¬8XïÁËøìâjEã\ 5Å\ed;_\8e)Nm\92#\8a\93Áx\16M#\8aw\92nò¢Tº®(6&«d}\1e\7fÅÎ\19\8d±\81w\ e'\vä\13§\83£Å5\16\13VSQ\9a{\95Ê\8a\ 4}~\7fó7Éï\8dº\17\99Ô5\99\rÕ\bðEéÔì+z\1fÓ\8b4¥[\8e&KüüC\94iDW¦¤ÄäE&kɱ\11q<\ 5l\88¨ôÆ\94¹¨\95ÑÏ\b\vD%\81Ó\ 6\9bkc\8fnsßË5Uª\96$jÚÕuñüâBù{E\95iÊD⤭\8c´¬/HT´\97YÆÿ#¿^ÌÔ$M\8eìmTR:É\9aT¦´WõÎ\86\fÇ\92;\96RUÕ¥Z7\9c$\ 3ª*À\92ð7ìA\10£³C\0       \18­K%7½\90À£4iã6ù\9bm¤¨\9b\12°\ 2ÄpËÈQ\ 3Rg\9e\9aé\18º\ 2P\96ÍqD_v¸?2\b;~w;\8eÈäõá9¯\15@?Ë|ÊL\19Ë\80\0\17UMQ\98²Vzko¾5\ 2\ f\8cÍ\1eº\1fNæ.ø­U\0¯ÂQ@®\14\19X*\fø0å\ 1\10¶$âç-8ç¥\1dQ\b\9dÒêòbµ\ 4LN\1ai©îAr!\92ob++w\89Ä+r¸\88 e\888\1dÜMæ\v:¾¢}Ø
-è!5\16¢»\99\96\89¬*\81Ìø\8eI        Ã\r[X\9e\13ðk\99\b\rHªZd\99\93X\92).\96ýN%;/\99u-\94&Æůì!\ 3\164°Ì\r\ 4ÿIäkÁk\19\87Nít\0\9e¹íÐe        X«\93·\b\814èl8YFã\15\rg3ç\ 3Vl\93\88^\ 5èBE¿v´Ý\1eÑöH{l#0\r&\81ÅÝ\12ð\ 4æ,ѵ<\18\80Á\1cV\89)¤s\16<\bÅJw\83Ö\17\ 2\89QýOMP¬é\ 1ó¸¤\1d\84ÝB¶ÒÈ\r<¹£Þ»ó\88n4U;ÔÄ3 ÞV\19\1dëÕ\15Õö\87*
-Ùg¥\16å\1aÌ£äà0J\aáù\ 36*\93Õ30\viÀsnÞ_\91ÿ\89µÀ\85ÊN\91Ù\1fIKÉÆ´>8[z,©\9fØEßþ\9d:\8e«Éº?W\1a\93\16\80õ:âkB\ 1\19ìMP*j±f{v§ %\18Q.\ e \8e¾7\12¦\97Ò½\12\ 4Ýë\14\16@oãø\96r\99ì\84VU^EôF$»\1eSA\11ì)ì#ö¢m¤\1dì\e$\88ª2\89²x}þø§%\8eu"\92º\81\ f¡ñèÌ\bk9ìm¬='O\171|ëEfi©­â"= ¯lµOÿZ7·×¾T\13\ 4Çí\9a
-Ï`Ú¨,µa.pq\1f¢\8d\8e\158Ñ¥\84\ 39\v£û\8dÇ
-¸ä¥î¢-ÜáÆP\1f\9b»chîÝp@ÚôZö\0´ ¡¢\89±>lBµoKM©ê\ 3%;\99|ãÜ!y±Îdú\13¥Ìü Ð\95Ø+ëZO¨å]¯r\90Pð}¾{{³S>È@Ý\v\95qb\1e
-\17\ 5\13W\98H\82Y\85\83\86.\9báÛ\ f\ fQá!
-Î3põò¸îU\98||+\ fÊðb\bý-þYÊ\0\e\8d\9a\e\16 äÌGt{$\94\8fY\89í\ eÄp1gJKº\95%\86¨¤TEý\vMNÐuüÇoÄå\97Ò¶\14\ 5:     ¤o[éF$Ü÷¬ä\8eB\17ÿ3th\ 6]pNÑx\87á\8dÖ\ 6C\93\ 5äî\9c=?\f\8a¹\14Ú\9a?[Ã!\98``ó\91\99p\9f\16\9e\94@=¦ÂdÇ;3Ì_\fì7\8dRoûdnR\99\91\16LLgÜ\13°\1c\ e\rD\823\1cµYV§óâN\8bíEn\enw\86±VuÔ`Ù:ý\80Ä\ 2\ 2;*\ 1'\9dÆ\1f\9a \14\ f¬6\98Ra\8f²`WKÉò\93à\16ì\1c{\90\8a^B¢4\8d\17W\97­\ 1TùÚÍ\10\9cèÃä>àsÜO\ fkË"9¹Ö;À\88Vaè\9f¹á\ eØK83\1a¬\9f\ 6m\1a\80¾ÆÄ\88\ 1Õ\1a® -\ 66í¡»;\ f\88\8dðZ\82æñoï;ñ\1fL«Ôfó\9c®Q\1e\8c>.Z\1a        C§¦`ë\86KÁÏì(yê\1c>\vÓ\10ïõ\13ÑC#ãqÈçÀËð\9eEÔ¢õ\9c>»ó\1fHwÝÖa¶ôø\8eçxC[Nñ\ 25w·ùôâÝË\17x\8b1_\91\15½î¾.ðÎaØ0\\8c\0¦\9fÍ\9f\9a-fÑb¾tóìjÄ'¼\89Ïþ:û\ f/d\86\92endstream
-endobj
-1564 0 obj<</Type/Page/Parent 1367 0 R/Contents 1565 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1565 0 obj<</Filter/FlateDecode/Length 1473      >>stream
-x\ 1\85WÛnã6\10}÷W\fò\94\ 5\12¯í,P\14Ùl\82\rºé¦\8d\8b-°î\ 3-Ñ6\13JTHÊ\8e\1fúï=CJ\8e­MÛ\lK"gÎ\9c93\1c?w\ 6ÔÇï\80&C:\1fS\9awúI\9fF\83\ 1¿N'x\1dâßJZv>Î:½\9b>]Ðl\89\1dã)>d\84Õý>ÍÒSâ\9fó\84È\96\95\aºu®\92\8eDA\97YvoUá¥ýdÕFÚùéü\1dÝ=t\7f¿¿z7{ìô©;è'S\18<ý»¾\1e\ e\921_\8fÞ0ylñúåÀ\1ayC"õ\95ÐzײÌ\0S+\85\97ä×\92Ê\88\87\17õnF4\18ĸºÃàök!É,ë\85f¡eîH\16©©8\ 6\99Ñv-\vRy\89\a\bU\15«°ô6\ fV\1dP\18MNzÚ
-\À[!rI®\14©$\15YYH¿\95²h@\9e'C\ ew#¬2\95#W\95¥±\1e\9e"\99$lºV^"4+]B7Æ\92|\11\fà\8c¾©"3[G¿ÎH\15©®2&\9d²Àtð\9cÑÉe\89¥-g_\84\93ö\9b\85YK··Øþ'mÞ\ f\92é   \bÎöV/ÞS
-:\1d\b¹sÊ\14\91\eå\1a'Ñ<ýhð¤v9\1c'#\8eo\16\98\ f\84\82\bZ\9b-gì©Àûv-|\13\8eçb#i\ 1\9a¨*µ\11\19øX"rÑd/¡K\84ê|\85¤"µ\19\ 2Ù*­[qZ$)_à\99g\17\9c\8e\ 3Æj]Ò½5¥´^\81»L      mVd
-½{%4&\8f½\eh£VO\13\17XZ~\9f+\95>\916æ     fÚ~G¨+·s^æ@¾RÎÛ\1d        Ï\16¸Ê\ eä\18\89ûüË\97»ùü!l\98ϯ*k¡»+Sxkô\83ô¸\15?Ïç! ùüºØ(k
-\96g4z¤ñh\94¹\82÷\8d\14:rsÀ\8bÐ[±sT9\10Â\94A\\a\8aJh¶Fþð\87à ñ\1f7Z\89ð¡Õ`¸E\f² %ÒÖæäH]?\90\fg%\f\84>\9b-`Û3z\10ù\ 2Z7pT\18\1f\ 5\ 3¸-\875\18&\ 3©\80Þ\vn\10\1c\ 4ª\199E\11±\14S´ª\9d©8è7b&µ\f\9aE¸ìJhVÜ.ÊS\15ÎäÌ~®=\1f
-\1eDrÁ8\85Âô²,c»@8ZåÊ\vÏ\ 5\85+\14B\8d3p\ 6\a\9aö\1d¥%8t\92'±BÐuÁÓÂø5cn\ 5~\8b`õQvPÙ\17ï{\17Ó\96\84¹MgÑïk¦\ 1j\1f\18-\95u>aû½\9b\v\1aLê~y>\8aZ\1aà=¡OJ¬
\94Û¯CÙóyÑ=ïÇ\86\1eÖ\r\12\ 22k²*åèãâC\81Â:7\v\ 6À½Ì­Ñ\f        ô¥V\95\81/ðY7\8fL.ªU\8c\86\89-mÝ®·
-\8c\ 4yÔb\8dÛ\17 ípg\8b°ãí\81u¶º´&\a\8e\87»\8fM\8bâ\83¦V\1fºhÐ"«\82K\ 5©àF\84¬\v\8b\13#\8bí\9a\9fp­Y\88ËÉ °\96ﺡ»ÞÞm\86
-J½±»À;Xldõõé\8c\9c bÝ
-\88\1ahÂ&þp\f+B\87ª-Ý_\ 5ÅÇL\ 2)\aÆr/$ú*6\ 2*Ðy\16\ 2Ë\11Ͳ\ 5°UlÍA\8bò\83zv¯9ÀI!õò\f'\ 6=V(s,ä6\rd¹Ê2\9c\99¨³úüc\0\8c¬¡\95\9dó­\96ç?
-õòjßU\8bØ:\93:\ 3`Ib®\88\9dj©4æ\15N\18S\ eÓx+¨\14®ieaA J¾Ä^@'\81½\96ÓÔä@\9a\9d\8d\ f\8eHp}3\10Ç}\ 2LU%³\aÔí,Íà\7f»6\80\13È\ ebNc\9fF«@\9bá\f\98 h®4rù"ÁóeLSn@\9d\95Zn8ÃͲùév­Òuð\8f²¨t\16N\98\16t@ª\8f\9cÆ&1é%z\ 6&/aå\aÞp0Ïu\87u\1dó\98Dô}¥ÍBè¿\1a³õt\16\1fR\8b
-¾Û\85¦\91:\ 1qq¸¬BWb
-\92ûL¶Lèò\99\1a.£Ù.­01\85]ô\É
-e\82æX\85Vr0!6\18tióc\v\95\eL\f\82\1eÍâMèßC\12¡ò\7f\8dL küD=\f\0¥§Ë¬çø\94\89\8c\1dv©0*r\92\97Fk³ål\82Z*\14Æ<P\10Æ\1a±0\95ÿ\1f¶)Æ[
-\16Ô+)àÔ\9b\12ÑÔ     ÃG\14a çÍ\0kS8'+L\9c{[lJ \85þ\97­7Æàë8bÖð§õX2\18ã\8bÁô\9cÆ\93q\1cÚ\1f.ï>^ò\ 4õ\88nE\9fL
-ßE<Ø\18d·ÙÐ\9dôù[Ãé\egÅh2J&ã)N
-<¿\18ð¶ëYç·Î?¯O
-Mendstream
-endobj
-1566 0 obj<</Type/Page/Parent 1367 0 R/Contents 1567 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1567 0 obj<</Filter/FlateDecode/Length 1542      >>stream
-x\ 1¥WmOãF\10þί\98rGïNº8/\84\ 4hAâtwêUª\8e\96TU\ 5|XÛ\9bxÁö\9aÝ5¹¨ê\7fï3»¶  >hO*!\8a\1dï¼?óÌängL#¼Æ4\9fÐþ\8c\92bg\14\8dhz0\8af4=\9cãz\82·\91´Üy·Ø\19~\1cÑ\11-\96\90\98\1dâ"%\9c\1e\8dh\91¼¦æ¯2ªt\94è¢\10eJ'4¬­\19ƪ\1cæ\95¡\ 1þÏ÷*Ú³o\167;#\1a\8cGÑ!ÔtÒyu×ÉÒcé;6ð_Ò¦x\10\7fl»è¤o\9e±}WËZV¢¶²ÓѨ°Áÿ$\98·NWÿ[\850\8eu\f?Ni<\ e\19\1dLf\9c\8a\v\82l¦ë<%+\1d\92/¬.E\9cKJåRÔ¹³´Ô\86\&áj*+Y¦ª\\91.i£kCvc\9d,Èm*ù\96âÚ\91¿-_¡*¹Pæ^oDé"úÄßR©½\1f\\8aýhÂöë\92\8b\ae.\13\8e5R&î%9Mn-Åmc\96\1dÈu"rä
\9dÒ¥\8dh\91u¹³m\b"_\8b\8d\rJ\96u\9eoÚÜ5öl%\13µT2¥J¸¬\14\85´oIX¶C¶Hc*Ä\86ÝlÜð\16\8c\91\89£ó³ÅOt/òZÚ¨Q:\99ES\ eâ\8fLúl \81@¡ \e\1ds\ 4!·¸\88%y Êô-§g­ò\1cvn%\8e"w\956Âl\10Yµ!½ôùãt Ù\8a\rk<{ðZ\95½\80øàeÐnì5<H8;\11q?ÀVSYö@\1a¥S\85$æ0\96KQ" ºFm8\8fM¿è\8a¥\ 1\ 2ÀÓ¢ò¾*l¢ó³gÞ{\ríF\16ú\1e
-ÅÒI\13¢\ 5J~ OËî\86\96Bå>Ó!Y\85Ze\8e\96
-\8eæré np\97KK\8aã\a\ 4 D>\9c\9eño        .\14\ 1m\96ú\9cn·<*\93J¸[¨\12\ 1"È].\Y\17±4»\0\85U+Î\91Ó=³\1e÷\81yX Þxa[i\9dKÓÇ\ 6'wï4\97\ e\86~$\ 1nÛ-Db´Ý\85\14 ¿BÏ¥\e\0±©\8c\91U.\12\98]+\97\91¨*£aJ8Ù`\8fÖ\f6x»ñÊ80_Á\9e\8f{\965[Ôe[\1d\aÉ\98g\9cñµ÷Ù'=8\13\92\95\80\ 3\1cÊÀ9çS Ð\7f×Õ³Í2\r"\ 3¸ön\9eSð(ãëL%\19³!l/\8d\ 6©@\11\17\f\0T63üxDc4\1d\ f\85Áþ8ôßx\1aM£IDïe\¯VÌN\8dy|j0Yá\aÀcö\9bsã~FáÁ\17ܬ)Ë>`µ\15dÖÂSë@¡\é\90O6\ 1綸ÛWËf\12\9dm\13£ª¶wÐÁÚø4ö\92$̪.d\89sm\9aAmÎ\7fÑ\14\8c;"¢3²ª¨ÀÉò\8bð\9fþ\f|»åö   7åÊRè©X\1e\87\uós0A\8a8âfn\86@·'\8f+ª¡\ 5õ\ 6«ÛSs2ÆtnD_|ç§kw°\rjk°¾ µ\fìfk Ý\83\1cß0ò¹\9eÆw=`k\9e\90íÆ·JiPÑé\90½Â;ò^=!à\8d\99:ðe»\ 6pBÙCoO\1a\83á\ 1HY±\92O-\ 2\1eñÇ[\1d¾\9eì¯\ 6D¶»\90GÑÖà{§.\88n\ay9¦\97\13\9a\9c\9e~ÿu@\8f\13½hÇI¨\85\b\rêa\82\99\96\ 1¨@Ý\7fb`òÄò,Ú\91u\90ó\e\ 6\95\1e iÞ%*P\vø\15 \ 4Ý2²¥lchF$G\1dd\81zW\a\80\ 6~÷)\ 2ç=\v¯lzL\7fM'\7fÓ\1eÉ$Ó\94©¦\88\99j­4P  '÷ù¤-â$W\80>\r\87~ÊgÚºa¾\9eöDD\9azçÁ¤KP$©ê\ 4\e\1d¿¦\14'ºövrp@e!ìí     ®¢ö=ê©;\aï\91\87cê=x¯\v¡Ê\93˳\8bÅÙo\8bkú|qrù{©¾\Ó\854\98R'\97\81'±«Fóë\9e0\829¦««Ó¦Ã|Á¿
-\1elæ¸\84ÜÜÔ\1cá-$S\83ñü`\7fJW¯y1¾\8d\87öê\rn\0f\ 3øòþÛ|ù\9cU_¸ÞÃñhzäû~¿í~þlmõ\ ewþ'¢LdN,Ü;òÁ·Tx\9es\18<\ 5½\91c0J
-7{\ 2ß óçVE£V¦Ïéx*ÂÎ\80ü¢\9eÛtÑUô*¸÷
-\1dÀ\9b\10\ f¹®i8\885jÐl2\ fë%\ 3³\9dñ\1dRA½\82b,X\85²Ø¥Ú\95\98×\96v\ 3hW\îQDE:\ 6é5¬ÔÒL\98\b(ýE®õ-a3à>|Ì\17ͤöM\8b= 9c¤õ[:\18\19\91\87Í\96?\9eá'Õá>ÍæMk_\9cýòî\8cÎ\8d¾á\8dö½Nü\b\12¼óqº\a­À`>âß[¯¿m°NçÓh>;ÄD\86ÈÑ\845}Xìüºó\ f\a©UÁendstream
-endobj
-1568 0 obj<</Type/Page/Parent 1367 0 R/Contents 1569 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1569 0 obj<</Filter/FlateDecode/Length 1323      >>stream
-x\ 1\8dVmoÛ6\10þ\9e_qß\94\ 2±üZÛ   P\f)¶¬\ 1V4[<\f\ 3\ 2\f´LÛL$R%©$\1eúã÷\1c)ɲ\93¬\8d\11Û\92Å{yî¹çîëÉ\90\ 6x\ri6¢ñ\94²âd\90\ eh:\1dã}2\9fá}\84\7f+i\1d~\98ÌGéèµ\1fÞOÓéñý\8f\8b\93þÕ\84\86CZ¬ác:\9fÑbE°?\18Ð";ýÛT\94     M_+\95=ä;Z+½"SyRkò[I¥5Ë\\16¤\1c=)¿¥\9d©,n*í\95Þ\90Û9/\8b\94¾¬½ÔTJSæ\92¶â±=W\9f\82%eß-îO\ 6Ô\e\8e\11übuÚ\97\aK\99\17'\rLK[(ç\94Ñ\8e\8c¦Ga\95©\ô\88 e%]Ê\86úWç4\9cÄ\9czãa\8a¯«Óá$\9d¤ã\94þÚ
-\1f\8fHëheè:\ 4õS<¸\a£7b0Z\f*'CÎ\89\97Î\97\84ÓßXQ\907\94meöÀ_\9c\94{t\0\84´¤E!\19\1a\12(Rå\18\1a\0fef6Zý+W´ÜÑ­(\96"ÄÞ\ 1á
-)ËgQ\0·³`\80k\818.b¨\ 3:¯S\1c!5\8e\95ð×\84פH\aP¾LrÊ\a\83ûPê\8dDu}\8d)c¯ôÚØBx\80Nkk
-\12m9êË\1a\86\94\1aºx»\vP­M\9e\9b'η\ 6\ 6\95æ\0:)FÛd"\9fä³·"ó\80¤ãõDzí\89·\13\86¿Ñ\10ä?F¨s&ùÖ_*ÝÏ\1aj ó$buÀ$6\11x4IéVú@óª\8c\9e\19,\81þ\b¬\ 5\ fì#øõ\12ï\96T\85Ø\91\96È5\80ã v\9c\ 1S\1aÖ;\ 28±¥byb?ñãà@J×(\94#ç­Ñ\eô&ó©(¤^±E¦8\18w\ 4vCáµÈT®¼\92\fó¨ø\b8\18;\1a\9c%W\1a\93\83¹ûÈbsíó;bFÃÜÑ4\121\ 6l%\84ÃÂ\8b\848À\]">Ëͼï\9e\95Ì\15ÐjSï\96?¥Å\16y6¨t\7fBß:\8eú(ÍÈ©ÿ¡\r7ä7\91\86ñc\94¦é\85)\99ã\1f\1eE^É\vÜxYºÀ +\84.òÂ8\8f\8f<ƵW;w¶\87\11        %ì*¡¢ÂÓKI¨Pi\1cÐ6\1a\15\ 3éE^n\85®
-iUÆ\98T(\9fu\99\81P$ÿ\ 4\ 2vz%Û\8aÐ\1dÖ\81\94H\b\a+Îp0æ\89¶»r+¡\8ew§I/¹{G\0èIæyJ\97\1aO cæ\fTDäP&\8d®\86\1a\a}b®µ\ 4\90ö\8cK}\84k8Æ&\82Ö\v°Dd\10;\r½`«`×\8aý        J"\13}BbÉÓ¢c\97«¹§83\1cÒB\11zd°c+lâî\8e\84?òÏfÀoÆ-W\1a\8f\81\9eP\f¾Õz`návQå^ñ¸       \ f\1e³ó\93\ 4¾,Æ¡ßj\85ÅDYïYÆ\13Ç\ 5
-aäö\1aZ\97\96î¹\94\81\8c(/#ÇAö0@10¡\r)ñ5.ÛIVÚȱ\83\91B=\ e\8e\8f^=þyG7<S\9b\ 6©\1d£D¡ \rî5è\a\ 61î^Æsá¶\17À\17=
-\14¸³øFV|\b£\83©\1c\ 4\8f\12\\1fX\84ð½jñ{æ^³õ>Úê\8dÞï!n\94C¬Bkï+Ò\99\bô\ 4\8ec
-Y\94Âya10 \87ë0"\vñ\80>CSm@\10\80\19\1d\e¡O5§Òé0\1eÒ¡W±\15ðÁv\80½`Bpã*p(hmë¥\95Nn³'æX\1cmX\1eê b\aüvóG»!Eγ\89$/3\b¹\95bõ¢ù!î<]@î\10\9c\8a\9b\ e3¯Ù\99:äk\bûJ\98AÛëeé\8c°f¥x\7fV,g0\1fÖ3\ e\ 5\1a\84\89\ 2ªïW®7"?Â0ä\11Ö!äÒ[',zß\8b¼Ãû&rÞ%4\ 4ÍmM\95¯0N\11\9c Ûë_?ýyCNm´È\19\vöæ\8a%?Àó\96o\85\14 I\11Ç7 \10D¡mܺQúWóz\19\1eN°UÏÇ4\9dÔ\9bÃíåç\8f\97hDsÏ°ül2¨¶öa/\8a\r2Å*\8e\ 3½Ù\0\8f­\9b\93Ù$\9dMçQ;ÎÇlç\97ÅÉï'ÿ\ 1ëÄÊlendstream
-endobj
-1570 0 obj<</Type/Page/Parent 1367 0 R/Contents 1571 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1571 0 obj<</Filter/FlateDecode/Length 1591      >>stream
-x\ 1\85WkOÛJ\10ýί\18©\1f Rb\12HÃã\e-EêUK¹@Õ[       ]ic¯ñ\16Ûkvפ\91øñ÷̬M\«ííCr\9cÝy\9c9sfò¸3§\19þÎéè\80\ e\97\94V;³d\86§7É\82\16ÇGx>À\7f§)ßy{»³\7fqBó\ 5Ý渲<ÆCF8>\9bÑmº7_$\8bäMB\7fÙ\15y]\87     Õ\96l\e\9a6¼¾ý\8e«\v\9aÏãÕéÁ\11®îÝ\16Æ\13þ\85BSe} Üµ>8\15L}O\8dr\81lN\8d35¿Hè\9bm©R\e\93\16\ frñ»]MèI;\93\e\9dá\8d
-ýkZ+O¹ukå2\9dM8\88\19\87É\ 1;÷:PÛ\90¢µSM£\1d)gÛ\9a-hJmU)~¶ì'¾ËM©'´jÅ<ð`ã/    "r[ÉU   W»¤óv°\ 4\8eðva\9c\a"i¡Ó\a6[©\aäÐÂÎO\11_¿?ûøñ\ecr¯\83À\80³\1c\913÷E\88XÐc«[\9dÐ\87\9c6@DÁFë\191EooÎɺQ¢\1f¯®\19N\86\91|cm©ÝDn¦ª¦ «Æ:åL¹!\1fl³Í\81-\ 2~À륦\9eø¼\ f¦,iű¯*\13\ 2pí1ÙÐ\1aß\8d\9c×6ðé\88J\96Ð\17¯OùÈþÅ\8cNz2\808\8c\11QÙ¤4½ê \94xâÙ!s\96|ôÒ®»\b\90uL\r\81\92Ô¬Ð5\0Ñ´[6\8f[k»±\98\9aL.9òqf\1f \0¼ÑÄ\16X\13øK\ e~x`\94\9b\1cçëµÀÉÙGn¢f¹\ 1m@~Z\17\eÚZ[i)T\9aê\ 6Ð19£kæwg½gÌ¥þ\ 1Âp\85\99ók\85êÁî\v\81¼\ 6\ 5{²ÃN\ 5Þ£\\9c\f§æ´*QR\904¡¯&\14ò\85òÞø êT÷GýÆ\83\ 1£¼TV\99\1a\aÑ\88\88\8f#àÊ?\19½\16+/\95\17n ÓRÃIß\9cB\r\a<=wc\aDÏqT\85éÚáÊá\8f\³³µmË\8cô\8fF§1edÒWY­J(\91d\e]rd\lÎûËå\87\7fh\97ãÙ¥6\180uÃ\11d:h\87\8c\ 6x\ 1¡\91ã\ eA\95\86V\80\ f4%J3Ú\7fRn_úi¿l²ý\9e´D¯b\97Qf\1c2°nó¢b\ 2Xïx\96\1c\83ö\9e~ûçU¤\12×T\90þÅu~OY~6\9bÍ«M\ 1\1då3?Ë­4\r\97È\17\82îH~\0{GDè o\eHB`YF\ ftÀ|¾ÆGPLNFÖÐÏ<) \87¦\ 6½Ê\12\95W}\9c\9dÚîÆ\ eC¨(\ 6z\91mIä¶\86xGÍ\96DP1Õ{\850;\8b\9b*HÕ£÷\ e\97á<\9a\1eΣ\8eÈ Z\ e\a\11s¹¾\aëÿ4\8d>s_0\ 1e¾ô\8d$ÞÐ\9e\ 3Éä\86G\9e\bzm\9dÛHG¯¸×\81*\7f@»Çlk\93êr3nì[PU¦\1dO\19[ã¬\ 5«+\16\1c´¼\83\9e©{í\9941ÜSZ©ºFaâ{TbUªú¡ûØ\8d;L©±\9fÁ|è\87ÉÐP?\8cX3GtàÜ%\83T5d\9b`\10e¯T\88£{\83xQ¼ÜÜc\8ae£r\835<\1c£?¨C\17\8b Û   6lO"Å`\88=\9eú\82îö\98}N{O\85V\19;sÃôï^wÞc÷G6\8f|¿\94/·ei×R\11\17\8awÔùÕ\ 4\8aykwJI\92pH¿é¥aBÒ'\1d(\8c&K\\9c\93¿Æ\1dÉâ\ 4²V8æ,\18\93\16"ÊÛ\ eë8\8eC£äî5\98\10\17$\98©d\820gU\e,F\80IY½\86à\8ckÛS Ûª8\8cÌxÖÕ8\8e^j¿Ýaú\8dIÖµÖG\81tú±\85Àùn÷\18\ÃÊ\14°Xy\9b\al^h:Æݦ:\ 3O¼¨KÉ\9bÚ
-âÜó\fuƾÕæ,¿në¸\1f\85\1dØ@\13\13~Ð$Û\1eé\98\94\8a¸a\ 4e-F\82í[ËCj0\ 2E»DHe\80L82³]¢¶Ð\8e0¿\82¤Þ¤Î4A\ 4|\ 2\99KÑø<\9e\90ªlih\10±Þ×-s\ 6ªFxÍ9~2©³7À\83R¤^\87\84.àZÿPUÃ;%¶N\9cýjê\937#ϸÜ3%òë\ f\8a\9d\7fî\1eèRUúùnïZ6Çw¥I\1fî^_AN¡¶Fã\18²ò\92ÕóYöÄüË\9e\7fCvá%\88e×^\ 4\12Ȧ\85µ\18»\80OÑ»àÊé¹\10\1a\8b4\92\91Á\8fó\ 2WBý\9a¯xMß \9dy¡æ¶äál'\84Á!z(Ã\14ïG ÄiÃ5ä=`ÈsL t\eý{Î\96\18hÞÕ\aK\10¢\8b«\17¯\0)/\pµ­&G\ 6)nË`P\a6\83Mkä<U¼]\80up\85\8dÂÖª\14áÝR¯\13\93ãîÇÍ|\89ßLÇ\87´<ZÆ\ 1\7fsöéí\19\ 1øïL\98s\9b\15(\80Vµ5û\9aö\17¦G3,ÄÙÿý\8cZ\1c-\92£å1~\7fáìÉ\82M¼¿Ýù{ç?\8dÈ\82Kendstream
-endobj
-1572 0 obj<</Type/Page/Parent 1367 0 R/Contents 1573 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1573 0 obj<</Filter/FlateDecode/Length 671       >>stream
-x\ 1\85TÑn\9b@\10|÷W¬*UI¥\98\82M0~t\94FêC«´¡\ f}<`m\93À\1då\96¤ôë;wà¸r\93V¶%ÃÞÍÌÎìÝ\8fYD!>\11­\16´L¨hfa\10R\92®\83\98ât\85ÿ\vü:¦íX\bã y©p\19&/\17âå%\0N ®²Ùû\9b5E1e[°'I\1a¤\94\95\ 4î0¤¬8\8fâ \ eV\ 1}UOtk¬Ü\15
-µ]¥\85ËwÙ=öÇ\14Eãþùb\85ÝçÙ¾²\84¯Â:\93×Ü\90ì\95¸7½íU]\ fT¨ÞrIù@\É\9e;,à\11\94lkL]é\1dÙÁ
-¶¶½\88{¬ôÖt\8d\92Êh\ 2\98Û`EuBfëd\844\8f\96ÁÂÑ\1f±îM>R7ê\81í\91Ä\13VúÁ¿q\8b¼Xá\9fBÛªæ\v2\1d\r¦ï¦>;²UÓBvi\80¢\8d\90íÛÖtrB|4( ï¦§F\r¤\19}\8a
-NÐÙ¦\17ãº(èÆ·C×,\¸®Î\b\9dýÉ\1a\8cö\1eã\99/#L\ 3:ô©¤\ 1mÊG¥\v\10ܺ<àÒ+\81|6£\11À\87ù\1a\9d\905\8dó\9cE\ 6(ÝA\91ì\ 1a]*½u\96{1\95«éÑ÷'\84å={ã\a\80
-Ó4J\97oÈ´®\83\13;P\19\9eë\9a¬\1f\1d\eеqà#\82*
-Ó{é.\ 3Vvpô­²^\80Kòí·      Ý¹è&
-\9d\1e\88É#\9fÐ\8e<c\ 2\0¯KâGÖhñÁyp\18³I:\95Þ~_\90¡eL\13\99^0tääWb\91ý/ö\ f\96ý\e¯ã¯^[\8c:´)\18í%r÷\9føÖ8T¬j\bÈû\1d\1c~-»\8f[/Nåæ\91ÇÅ$Uk\91 >\13\82³í\85\1a\1crv\99=Ï\\ e¯ÜÁñ\0`¡]¯íÅá`I§
\ 3ºc>±0\9bJ\82\ 3á·#\9b²ê0§¦\e¦¾ÒéÔG    .§tI\8bd:~w\9bOW\eL¤¹Çz\84\r\ 3ähæ\87\róU¸~\1eæ\7f^1ñ
-wP\92â\82Âì¯/\1dÊ\87löeö\e\9eµendstream
-endobj
-1574 0 obj<</Type/Page/Parent 1367 0 R/Contents 1575 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 910 0 R>>endobj
-1575 0 obj<</Filter/FlateDecode/Length 1794      >>stream
-x\ 1\85W]oÛ6\14}ϯ¸ðK\13 QbÇIÜ\ 1}h\97v+\864[c \ fõ0Ð\12\91D\95¤ê\1aè\8fß¹\97\94¬(\1d\86¢A\14\91÷ãð\9cs©¯GSºÀ¿)ÝÌèò\9aÒêè"¹À_ú\1f\1f\7fã¿ÐÕ\82\7fV4¿Lfñ¡¤\87£Ë«\ 5¿¼\9a\87\97\8bY2\8dOüvz5å·³\9bä\1a[gó«d\11\9fø-\a\9c_.ðn¾¸Áï3ü·\9aò£7Ë£ów/ivAË\1cµ]ß,h\99IIøKzüëV5^[\9a^%ô ÓÖ\16~O¥þ¦Kw²ü"[§7aëÙå\1cå.³c¬\9d&ô¾öÖdmê\vS\87¥s\9aNãR©\12K\1fTµVäÚ¦1Ö;ò[\94dÊÒì\8azC¦á½ø«\91\17\9bÒ¬UI®Z'©©sj\94U\95Fq!ú\ 5½ì\82Ï\939×ñ9ìø;¼\9fõï§\17\80\ 6ï]ìçÉþczE\9fÝVYý£uÚ®\8e3\9d«¶ô«\93\1fxü¦í\8fÌTª¨\7f¨ÌÅÈþ®9ð\9f¥VN\ 3ß\1cÈÅêû²+U£ô\r7j©uü[Qã÷Jq·¤ê¬Û\92\99´­tíéöþîõû\ fÿܽ½{óöc²õUÉ%_ÐÙ\94      \82\84\1c*o-à³´VéãÆ\9a\16q2íUQ:BØP4U&ÓÔõ\9dÐ\12x\7f*êÌì\1c\18\0*þ¡íZ[ãºõÝRÙ8κê\11\ 4f\80cuB\ 5vj\97Úb­3´%çöúöáì÷ûOË{©<\89¥Ï®Ã!Ýç²H­Í7}J\93>á+\94ÉpO¨Ò\8aI°U\9e\ 2\8el1\94\96\ 5\0\8ao\vÏùm[×Ì\1ed\9fð   Jé\13Z·~\ 4\9aJ}«Êr\8fÓpN\ 3¥<'<\93j\81\8b4\1c\88Õ_[í8\87Áá\18Áx\188\94ÉXrr,.,\82á\90U\96\15|¤j\8c[O\\9a\9d±Yl\96^MB£\8d)¤­À|«ÁûQY\87´Àå¿\17PªD}\ 3²¬ußG\94\9f\0\10\16\13¿îIña\19+;\95S*\15{A\r``\0{,oÔºÔ@\8et\9dÚ=\9c"\134¹¥\11ÚQãrül8C×\10µÂ5f     Ý\19¸Rjª¦\84²#\97Ä\ 68IO\8e¡\ 1\rÕÇÞ\a9¼¦\87»7\1d¤^\97\90\0\8e-\92\85\80\97óÊú¶¡\1d\93êÀ9    ;¡'<\12\91 &\18\ 2ù\9déMi"\1e\11¬p2ê\955\1c(\12"&ôi[¤[n\ 1\198Р"«S\r\9a<×iôÁ\9dÚ\ f×`9äd\v¬b"\1e8ªGÉ\vït\99Ã\7f=D\8cÕ ,eàdêqb!\ 1­\8e\85Ì{Ú\809\9eôw\ fÂC¾\S\97÷  7$R\a?bÓcmvX\ eÊ\172\b\ 6ürÞªz\ 31Cr\8ce\8e\8aX\8d»Âo\a\1d\9d\a\ 6\93j\1akT@\aÇÆ\83C\8e\ f3Æî\91\81¥Ìû¡%°/\13\83\84ÿc¸\94%\1e×ûQÿ\a\Oe-?ÇTLoS\ 3\ 6æÄ \94À\ 3dQßà\97Bi>ÂÝVc³\15\18ãBà\10f§³±\8d½\7f\81\88\9dõÁÖ±MÎþÀÙ¼°Î£$ô\ 2<\Á\14·ÒíÏV\1fº\0n\bí4
-RÌUçxL8\rþ\8ey\aÝ`ºÀ÷\ fÇÍzåXÀØ\9bÔ\94\8da$\11$z\16\83\89\81\86Ö¤î\1aCU\80ë¼I\140\80p\84·Æ±2Hiª\eÏ&bõ\17\90\rYÁ,n\8d\ 3\9ewÁXÛë\82\1d\84ó\7f0\10¹,ÄZa\13\94\89\81È\15Ç3Û\ 2°ÚP\91i%Ç4Ê\1eT8F\vÜ©£¹{\8bãÆ 0u-U\99Sr\bçÙë^xLK\96#ÒMB\ 3ç¡ú       ÏLUGþ\ 5ÓG\9dõ/\9c\1eW·³n|ñÖgMò¢3Üup\83Âm(!~Æc?®yS\ 5Ê\17uì~P?(\ 6\88\98õ¹5Õ\93H°Gy\9e]\1dò¿\ fã3\82\15z\bn÷¬*n3Lä05!û&¸\8d\11Óg'\aR\15®\ e\9e\80íê¸u\\8eâÜ\ 3\99O¼ÕlÕ\82+Ns\ 2ÿ`\89\e¨Þ!p\91ïe[?\10Ä\92ú\9cÌ\ e\99¶à\8dÃà,6[ÈB¸Î\13Hz\18e|ÞQÈS\1cî\1a#}<S©Ü\10\ 64\ 6\96ùÙ\80þEi\15n|\ 5\ 4:\16\9c\f\r°¥G4#ö\98ú\8d©3\967mÄÍ\81÷¨\83\b<tÜ\16\19F½aîp³|]8X:\v\1c:\90Ò~.£ É\18\8em\8d¯¤¬bê*\1fe\1eEgÍÃõÅ\97Ewìú«cÜ\ 5ooÅåj°C±EñÐâê\9a¦ìnDR\92L\ 4Þº:\89©:IÜ?\9eB±;©~0$\ 1lø|\10ÏûÙ\vÑa\aÑ\ 1\rÌ°0Ó\10\81¯N0ï½\ 4×<5$PwÎÝ}\18³oè\9a½ù¨Ò\80É2\88dó3\ e\ 3\83P\99¨`u"\9cíÇ(È\v\10
-\1e¤Á\8fG w\ 4\r\19\ 4WÓhT\1cͶ¿\82@äA\bO\15Â\84\10ò;\93\86aw(UÊ:\1d%ÄÕ]7\98\fp»x¹\103\8aÆ>¸8;ùÎb/E
-ÜÎ\1e\89e*×\9f¾è\81    aZ¬1\ 6÷¸\f\84kè(/ö\b2è£æ9ÍÝ\f\90a/?Ø">\1c\rF
-\ f'mÑ\17>GûÛ\19\ 6a\8bCD]¸iö\17r\\8a\ 3\0£´Ý9â#£\9bp\ 2\90`#\\ e\87÷tò\86\8bH@@\95 ºc\90¢IÖÅ÷±ò\ºÕ\95(÷üÝâðÉz\89o×ìÿ¾\87ç7óäæz\11\9cÿå5×ÿvyô×Ñ¿\98NM¸endstream
-endobj
-1576 0 obj<</Type/Page/Parent 1367 0 R/Contents 1577 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1577 0 obj<</Filter/FlateDecode/Length 1049      >>stream
-x\ 1\85VMoã8\f½çW\10\0­\9b¤Ý$=ìa:³\ 5æP`\17\r°X`.\8a\9aÚ\92W\92\9bñ¿ßGú#\8d[`Q¤H,\8a\8f||$ýïbEKü­h»¦Û\reõb\99.éöþ\1eÿïv[ü_ãã5\15\8b\87ýâæñ\8eV+Ú\17¸²Ùmi\9f\13Ì\97KÚg\9f\86\99\89d\ 2)j\83öVÕú¦Q!\9c\9cÏ)\96ª?kc©m4\99\8a:¿"ë"Ì\93P*\7f6NÒÏû\9f\8b%]¯7é\1dP>=)ÛQV\19\\f\14´Íå\8e\ eÁ8\8bß±m\12Ò¯Ú\92)\0¤ñÈ¿jÏ¡\18\9c³oªp^á k½\89]JûRw@÷µªªnôùª*\93\ fØ«ÛtÍØc*th#.Ð\98QJϪ>(\90\93!¿\0\ÀMÆÀUT\99\10É\15\944\ e¡\1e*=\9d\87$¥¿Á\83DÛ'6\83e\96(w\9aÙL¢×\9a2g­Î"RN\98gU\ 5G*gd×\83\v\1c§ÏÌ3®P!Ùã[GÑããF?üõ\agW´\15\15ÎÏðK\a\1f¹AvÑy£Ã\8fϤ\98w\14\82\93\f\92\9cÎ\99`\86Iø!ý\9e\ f)"-pnµÐ<1Æõ\80­¥¬ÔÙËp·õv\86¬\8eÊX\10\aÓ\0Ç\1fr÷½\0\8aYÉN\v×"4qͱô|\8a\10ß\8a\8d\14ÃC\85\1cê\a\8fÆ\8a\10\92A:"\17d3éå;\vMTu©$\86¥ J\18νn\9c\87N¥,S4½þ¥\ 5@\19\870KûÒmÏÜ\90\89d6j!\Ê\1eIå:dÞ\1c@¨V\1eMâûË\17AEõ\ 2)ÁÑ\f\95\ 3ù QßÐÈí\ 6\11rícÔuÓgV¹#W\9e\95Ç5\1a»¼§ ¡CßRÆ\1eIÿRYD\8b½ÇF\80ç\8e\98O\8aHG\8c\86»Z z&RBá\85É\81ë¾ÃE{\97üõ\ 1g\99\96xߥ=\ 5\8c¨PX)\9f:[O³æÜsÌ)Р\12w\12"/\8b\ e&\10\ 5P\1d<zz~z\18ä2ã[4ø\ 1cs=þãZ\f.×V \9d\e\1d~u\9f9\ 4Ì\9c\81㨼L\18\84\85§&\Q?\87Ùb (êªê\ 3\1eÔtâ\1e\18\85=ÌE\99Û³P\8d½\9aæÌ;'\18´¸\13ڦ׺¶\99ï\1a\9eMR"\1c\89\\85ÝÁ\ e¼\fÃÄ\12Mì¡,WÏ \13ñö¢;\8cÉ=R\19#7\92&WLv\0~\8d\85\94I?D\81FÀ<«Sb\12
-âxêÕ\8dÁ\ 4îk}\ 2ø\fó\9c\ 2i«0¬1QÜ\98¡\90K\85V±õúJÄÕ½q^cbE|\90\8dòØm<\b%8\ 4ø\8cȲ\98¡\86Øáð\1cø\94\ fx\94a!L¸£WM\89\9dÉ»ÊÔÓHäþ\ 3\81¡b@é\95Ö\9a_\90Å\e§¼"a÷?аBZU\84ä\8e%\v\f+\93×fà5P(ãyI\ 2\19ÁÖʪ£®±\8b)`\92×(+Úý\84ðä"Å\13³ÍÊ=hzA\ 3ÎR\ 6M¡³\99(þæq7¼Q¬6xÛØÝÒ\1aï\1e²w\9f¿<=|¡?½û\89\15Dß\Ö2¤b\8d±ÃëñÂõvyÏ{úk©\9a\88Ö[ý\86Í<\8cí^Ý\81íï¶wév³Ã\9b\vlï·üè\8fýâ¯Å\7f\12\18
-Cendstream
-endobj
-1578 0 obj<</Type/Page/Parent 1367 0 R/Contents 1579 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1579 0 obj<</Filter/FlateDecode/Length 1618      >>stream
-x\ 1¥WMoÛF\10½ûW\fzrP[±dErzK\82\ 60Ð8n­ =ä²"\97âÖä.Ã%Ũ¿¾ïí\92\12M\a-ÚÂ6l\93»óñæÍ\9bÑ׳¹\ák.ë\85\¯$)Ï®fWòjþj¶\94åÍ\1a\7f/ðSkÉÂ\8bÅÕb¶\9a¾x»9{ùþµ,®d\93ÁÖj}#\9bT`ç
-O\92ów¹ª\1a]Ë|5\93OÖdF§ò\8bÛ9ëe«\9bNk+\9f\8dM]çånóbóÇÙ\95\.\960q®l*\9fîn\7f\97Ö\e»ã©-\ eò\býÍ×Ñßåõr¶àq8\98ÏäÍÖ7µJ\9axl)óy\7fl±Fè8vk\e½«Uc\9c\15\97E\aôôÁ$µó.kFáH\93×®Ý墤íC/\18ºä\8aÑ#ô\ 4y\98T×HJÉ\ f¹+\ e\ 2ã¦ø¡Ïd~\1d\833¸£\ 1\83Ûi«]ëq±¬Ú\86yi»7µ³¥¶\8d\97ÌÕ0T8<oL©gòYKUk\8f\971£U\9fѹtc<\86DÏ/p\9d\9dÅ\15&ØäZ\1eT¹U\93\88|k\1aÍ\ 3\15\82ªUé\ 59)ñ®@XH±qáêÓ¼qv[è\12aEç(\8dæ­P&SVx\a·\ 3¸\13\8f'\84\7f»\7f'\89*
-\7f!÷E»Û)\18\957-Bµ\8dIâõ\ f.m\v\8d\13,\ e\93¸S%2ÑõÞ$øÝ\99\19$̸nT³\89ÓÔ\95
-à#ÎÚ\87ãU¥\150\86QWið@3ï\9ef<\83Ôû|J\95äÆ¢\ 6\9bÜx©\14\8eKª}R\9b-\92fH£\12\80µC­ýÁ7º¼\10ý­*à\9b5æᬵ   \91U\85i\ eb\1a\ 2¿\aw\90b\8e\fð\0^À§ÌìZð)&Þ¿é\ýèÅ\80º5î\17\87Y$ÃÓ.\bM\83.XÌ\ 4\81\17\8f\ e\ 4aw\r\9d\10<vº(äѺ\ e%ÏUó\ f\r\91«½\96Ôd\19(\ f~\95.ÕEdm­{\9e2_ÂM\8c'ÅØ¡\9b\ 1\96\97±Ê¬\ 3\ e\8fL6:É­C\9b\19\80Ìv8Òª\a\12ì\v\ 5ÉÐå¡\11K\95jÂÇ°LÒ\16\rê<qLäØô:T¢é\9cÄ"\11S\92\1eÁxÚsõAJe­®\ 3Â\ 4k\ 5)\84l|´\9a}U\82\1eÇ\16\89¼\82·T\1dN\92\0N&µ¦/\14\19\ 5\13\vö\86T\81K\92¸\96Í\ e[[×\80Å`G`àsÄÐgA\1a\87p\a¼x%tµ<ïc\ 4ÐSK2\83Æâ\9dª\ 6\ 4\82ª°{NÊK3@cHv`pÀ÷\94\80\96ÉjW
-z ÓÄÝuz¯k\90\14í\9f¦,\rÝ\80\r:\88Zì·!A¯\99m\ 6hCGÑ?°¤rLê\94ä\ eÃ\86\96B\8dúk\95ò\1e\1d\90â<ÞÖúkk(¸\ 1;Xír\ 3)H\94\95B+Üdqm\ 2å¶æÏȲ^¶\9eä=ñ<à\7fT\921âìJ\f!¤CB\86Ü\ 6È\ 6~@§SÃv\ eÕü®j\86ËÁÏ\11\a\14\852[k-¾Dc£k\86X\7fb\80\98É'\ 6n\9b^M\ 6RÜm\8e\8d\86©3i-^\7fù>éÇÅåzvÃY\ f&\7fY¬Ö\12ß\ e¢\10^\1eõk,ĨëÄ\9bÿï\86ïû:J\92+»#g\bçÿ±\7f¹¸\99Í_\9f0ºM5å\91C\10
-T5\10¬#\95\ 3Úz2Ì{Ä¥sm\91öZpà\ ¥T[\a\vÇ\91ê!úMîÚ0\8e\9f¶U1\8c.pr¬q Í±Ã\8f\95'Ç{KQ.B\v¡\93â\88\90Fy(>ñáÝHF"?r©Ò\12Ó\85ë\ et\v]\80u\84³n`IlAú  Ü\b\11;8\16ÍQG\8f\7f6(\a\87º\ fÊû\1d\19G\93ï\14åd´+D¸Hä\11T\0\82Ñ\7f·\eþv\84]cÃà0\ 27¸óÉ}?*\9fÒv4Ë\86\83ÑU?Ð\99û\88]½îRàÕ.,*²\ruv]\0?jðÖ}£\84D\85\ 2
-Y[\14\13àK]n\81"²SØY%®\183ùh±\98\15ð\9db\ 1;\95\9dF;\ 3Fy\0Ô·- >Õ\ 62j\ 2X\aé0Z1.HÜ\89ßÑ\96
-®s\ 3b\ 6Äú\18OL\82\ 2\91\95-×%R\89kT\9c\1f\18ßÝ>üÈ\88yrâ\90\ 4Å]ú½t\16Sl¼«N\15\90dÒÈ\bÛ*g0,\ 6óä%G\ 5²=\90]Ü59ù\18ËX\f1I@x>\8d{\19\13\8a<e&\85s\8fX\1d°\87c\86\ 4ù£úqÆ^\ 4\13_[\8dI\1e\10ßrb\80©{N\f\94Û?>\87
\8e})Èï±ã \1dñÃJ¿A"\88tºV0Ú\18ÙLÞêD!¸#esD\1cV¶¸G?K
-ÈsÑï0´öº\90/ç{£Bìw\ f\ fa[\88a\87e|\920¶.®Æ,+#x'\85ÙÖª>|y\81ÿ\81;\86#\ 6dXþ\88\1dÏ\9ch1Ê\15GÙ¬\18Ù\1aµ\85\8eX_aÂÚ¦ïÍ\9bÓ§§å«\19?Öý»Os\81à=i        zߤÌf¹^ÎÖ«\9b8\91^ßðÑÏ\9b³_Ïþ\ 2ìÑÍ\18endstream
-endobj
-1580 0 obj<</Type/Page/Parent 1367 0 R/Contents 1581 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1581 0 obj<</Filter/FlateDecode/Length 1670      >>stream
-x\ 1\85WÁrÓH\10½ç+º8\85ªÄ±\13ã8GC\96Z\ e     Yb
-\ e¹´¤±4D\9a13\92µÞ¯ß×3\92ì(ÙÚ\ 2\ 2È\9aéî×ï½nÿ>\99Ñ\14¿ft}IW\v\93édJ\1f®fø9_^ãç%þ8E\9bðÁÕr:¹|ë\83ËÅ\87Éü­\ f\96Ë×\a>®O.>Ïi6£õ\ 6Á\17ËkZg\84ÀÓ)­ÓÓï^9OÖP](ú~ÿå'U\9c\16Ú(J9<4ÔxE÷kùË\11\9b\8crg\9b-\19®\94'örpO­mÊ,¼ùÎp­wê]¼,¼5y¿þu2¥óÙ\15Ò[g§k9!ק\85m\rmt\89\9b¼ÅM\Çë\18 à#\95\97Ø\99­X\87L$YGj§\f\956dzZÎ\8dR\97,]cFa9¦ôóü\876\99mÉ+ï5*G\r|\1c¡O÷r\ 1\94\0¨Ü\93MvÚ6\9ep\§¨2 \86\94q_\82g¤=%J\9b\p\bÿ\v\ 5½\89[ÍÏ*ä½±®\1aåyûõnõåþéi8Ø?\bÀOh] \10~\e\95¢\ 2v{©@×Äei[?d\ 3`2U+WI3C&NeÚ©4&n\89Gq;\90SkjgË\12ÝF\90\96M\8db\90&@Ú²«uÚ\94ì\0¾}\ 6\v\ 4é¶ÐiAµk¼¼ÙÝ2`áÔF9eR\95\8dq]e\99\96\\90÷þlH{ëìNgB-t¦Ak\rBF°AÀ\9dN»b
-$ ­èúÿP6yÎI©hõâШÆ;\9b5¶§Ó\87ÕÝÓ{ò{$]     \89º¸ã\98;Í(ü@A¼ÉfO8MÊH¼\8cx»-»\14}ìÎ(hÊ[Nt©ë=X^î\10^\18\8b\808^\91Ý \v\93\16Î\1aý\8f°gËÞ·Öe¦ºU`zÌ\12\1aÑÀQú|ô\8eHÅ×\16½\ 5\18¯z\8a\1390)m\aáÓi'õWÍ~z\1fúsñù\86f ½xÅ9\9c)(`¶\98\Mf¨\8d]®jú\ eåH\89Ǿr~)¾rz$\85:¼,øÔ\90lΨ.´QªÇ£\82w(Å\90ú[ûZÊ\ 6Æ  \8bpz\ 6\99\8dc\ fZ¥u\83\1aC§;ªÁ?F\10·Ú\83\82èb\83ôÄÅ\0೯»\80 ¯p\aN7\19xÖjÀ\18$#Ý\80Å\8dr\14õlK»\ f×\8d£\1d_Þ꺰\b\8b\82¤\f$!^U\8b_1ÂB3\£Ò4µ\8d©QÆqU\9d\98s§¸\86Áx]\81J\e\1d\192
\19\94\f¬p\1dü\95,Ê)\14\9f\98©D\7f]{À-08¢{\æ+E\1a\v, {hÞ©Ø\96\96÷B¬\88|«Ð¯-,d\80\11å&j0¼`¥)$ëX8êÐùMÌ)\ 6\ fRa\90Ø÷¡û\99°\12\11\85O"=z9Êp\b.³uÈ*´\11\16\0\ eYºÓ©³Þnê\8e7\ 6j\91ÆPh-²
-v\80\17a¤Gù\8e\ 3\15\9c!X\8aÊ\ 5d(\ 5Ù\8bT\87´#\våQ$éA2`\7f\94Ì|\90Ì|B\7fbÌô\92ø!¹Ið\91l&\8b~È´Ý\1céL     \16
-\1fÔ¹\8cAÆÌ\85Õ2¥¥\ 6¼\17\91Îx\8cY]£\1f\84VÐ98\80ÉgÀ\85\18êC7ùO\81J\98RÙË\14N)cU¡Ô\12ÔR&$x4ªñA76;Uz\9b\ 2Z\86u#\96Ì\ 5§~7 Kè ;\ar
-­ERÃ'bR¹2J¤\10fº@xÿø\18:\v/\1dõ$\16)# \13\9b\941\87c^â`\1aȼèés<£\81Ca¬l\ 5à\az\9e       IDQªÂ±¾~`\86î)\9f:\9dà\15P\eS\92u  \1ac|\1e\1aú\86\aÎÅ\ 3\ f¬û\ 6Ü ì\aI0\13\8bú\84ÌÞê°ô÷+ä\1a¸TÂÓ\bD¥½bçÏHm\80\v~\98\88Û£ÑÊ\89ì°ûìØ\85\95ã\91«\84i\r\8eR¥ªDv6\14\97©Ôfª\7fi\ 4"{\11*Ö¥ÈáÿÉ\e\13ñîñÛça&vÖtàb@Tú]YTÐ\89m\14Ó©2tØn¥ÕPÐa\86A\ 6Xº¼Ø|·a\8aÔÒ²É\84G.bY±á<´ëL:\88\9dãÅ0\17B\8c"v¶°µ¶Ä=Ð@)n\9c\17¸\e\f\15ª\0uÙc >°\16\92²²\ ea\8a\ 3,\1c\b2(þÁéJ¶ªÛ¸t~\1aö¡Qhì\10·\82צ1a§â0áA¨Ð¬3YÉ
-1Ä\12«í^«2\ 3Ý\98\12\9ba\93ÜPè\tUY\85{\13\15\80£   o\e·µ\98´cª÷~\ 2||ßz
-½ÃN\r\ 2JqÊ4U\10[?L\ 5̨§°DÆ\7fâE\9b\84A\15%\10ä\80\ 4ª\0ŨZNdÈÉê\8bõ¬\81½Ç+\91n¼qB_\ 1§{\91Éqa\ 2ù¡\99á\eEg)\87Üj;
-\9a\16lò0^Üaå\99ÐÇ=ÅM\16Ý\85'¸½P\88Åi\ 3ÅÐ\96`Lrqð\90ø\8d\ 5£·¯ílp\83\8a·cÏ\vÞ´>\9eØý1|\r@\19\8eî>|Ϲø¼ì,w¶ÀWºå\15-fSq\80ÇÕÝÇ\95¸Å/\99\9f·6E\8b°&\88J¤êóþõóëé\8d¼ÿ\1fK×üz>¹^,±\9eá\9d\9b\e9úÇúä¯\93\7f\ 1ʸǥendstream
-endobj
-1582 0 obj<</Type/Page/Parent 1367 0 R/Contents 1583 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1583 0 obj<</Filter/FlateDecode/Length 1828      >>stream
-x\ 1\95XMoÛF\10½ûW\f|r\ 1\9b\96lGvrs\9c\ 6ÈÁ®[)hoÅ\8a\J\8c\97\fwiUýõ}3»\94(ÊAP\ 4Fdjw>ß¼yô÷\93)MðoJ·Wt=£¼>\99d\13º\9a]g7tswË\9fñã4\95'\1f\17'\97\9fßÓô\86\16%®Ìîð¡ \1c\9fLh\91\9fMgÙMv\95Ñ\93ª5͵{­rü¿©B¾þeñ\rWoh:\8dW/®nqõl±Öo\9d>'ëèi>?§Ê\93¢R«Ð!\80°V\81\9f´N{ÝàcCµj¶ôõéË_d[íT¨\9a\15ù­\ fºö\19}        ¤\8c±\eÏÞ't1½Î®Øk<\80ë¥u5îØ\86|\97¯IyZ[\1f\1a\84ïÏaº2¸_)¯\11DSPçµ;¸\14,-5*ã­yÕ\ 5\95ÎÖTTe©\1d¢\eû´\9dË5\82ú\8cÔô?ªn\8d>Gn>À´2¶Ñ1\8d\8du/x&AÕjÛ[OI\1d¸\17\7f° ]\85\bmI¥Qc·eeð\9d\ fÖ!@ä\19PpcseH¾\91JetO\8d\ eì\19\87Æ\ 1\94\95ó¨c@IÛ@H9åûFD£\94\81\8b*"\82\86rÛøÎÀ,=}\99\82Z¢Ì\84~\1cW\19Ï\14}z\9as¢¯è\0\1fêÛ4ò8èh\96¾º\ 2&wH\9bÏIµ­©òXßÖÙ\95SuÍ ©\9a ]©\0Ø\b\19ÚTͲâxí\1eoÁkS2LPué'W=¢éÇ\91Ð\863\8eUcO\82\92àLj²r¶k\81\8d?\93O|ëQ(@}\17V,Þ Á\91\fªjz\14*6U\0ùô´èëÖyöþ8ÿãù\81\0\0\ 3\ f\9c\9a
-$\r\ 4l\ 6I©<·\1dFL7]-se\9b¾¢ý\14}\15{\11¿®\88i\99\94ÛFû\98b :WÍÎ
-\8f°\96\ eÇ\89\8ay3.U¼_«|\8d,ÈuM\83hG9ö-a\18y-\9d:6\ 6R\0ª\16TX\fpC­éØ×\96\82ë@\vEÿ\1cM\fkÛ­Ö\1cÒ\966\98Ù4\18Ü\9a1c°ÇÔ¤7pÕºª\96¬m\13\9c\8d£%0\ 5\851_ñ\95ËÏ X!¿³K\1dòËÆ{!Æ\f£PÆ\ 3=;\9e\ 1\b\f\99T\93!bkõÂd\ 44}ï4Æ2ØQ\89
-\8bo\8dµ/]+µ~ ¾%ü\90ñô¿£\91L`\94û²YWàIpf¾\16\84j\ 1\17Ó|ض\1alxÜ´\14ª.ÎÅP¢>  î´U¨Bqzh\ 4\ 5C\v@D\\ 3n\ 6/\ 3)>¥\89\91VY&«®ÍhÁsÂU¬Æx\91\90}«sæÇ\18zż[\83\9e\85\ 1\845e«0·p\1a\1e\980\ 5Óz\0«\162\9d¨Ù\867\8fu\85vØ*¥\ 4\1fcO\8e¥:£VTþCìë»ÁÖKl\14/\7f\88$ܯ\83C\14`_õÜ%\94É\93³ïæ¦2\8c3¦fc\15â¤Ú\16\9dáq3\ 6qG[{È\ 1\ 5\97ø\ 1êþ\16âϼ g¿\92ÏÐ\1dÞ\95¸»Ä°ÀY4xhh°DÙ\o25õØ(wç(ìb\8b>\82\83\8dÙÆà5¦\9e\99\14\ 4¢_\81*¶>Æ\0³Ç\879\92\81ÿ´\86°\ fº&çu\89\16Wà̸ãz# ¸\0>\1a¬-N-a2£ß\1a\86îþ       Oën\9fóó]Å\8f¼slÌ!"\0x\97±+ü6\18×\9e1û>
-R\85\13vË&ñ/Ï4vÛ\96´ò #ì}Þrý:\80å5¦\97\97Aô1Ö:Øà\80\83\0¹Ñº`f\1fÅ\v@\17ÌÆÈ\ f6Ú.\8c\11\92À\91(ö¸\93o1\a# âcG]\\ 2´¬(è4\99:\8daÇs{@þ\8c\ 3¡8F)¤â:\vºUA\83Ù±­ß\ 4\98ÄÀ\90\19\97-Â(;>\8f\94"\8d\1a\8bëi\94\r"i¯3z6Ýj¥\96\18°û\8eÍ\87^C<ÊØɾØ\ f\13Ï®èÛ\9f]ÃV7ÞÒKc7¨\9a§çûǤy\93Fe\18¨¥\ fN\ 1ãXßêÐ;ò\18U\89\ fXWý\e\15NÐùº±Æ®À\80,/\ 2D.;éÙ¢\8azÚz_qn\80\86Ðe¹ÝëرËZÃ\ 1 \86ÈF®wÒ·\97\86\83Q\88Ãi\81»µzåDàÊéÜÖ-\ 4*\83\ 6\83?<\8e\8a#J Uê\83\9e\95\1døîÈå\8eÎ¥6Ô*\87ÆtF9j-d^\1c£\83\92\1c\vpÑÀ\80,d`Å\85\86\86ÛB\95\80\9f\0\19åÉâÕ"j.+(@d.£j§³\13\aEé+T\8fÕ!\OKT`o8©\97\1dã$E?ÔÄ#ß(\eÜò0ZÖÂ<\13\8fɦ'\ fD\16ij\ 4\1d¼9©\95¬BaØ]\98\83çÒ\82\1dUÁ5«Q(æ GQÁW/6c!\84©\92~\89HN{Zêé\87ê4^Øç\85O#1Èú\1c»\1cdÃkz\ 5­Ç¯)x\91«ð2\81î<'Qö)êÀ\87¨Í\f\85À-:fy*\18ËתY \14\87\85   \9aÆÒq<a\00\1f\91®@\94\91Æk_\1e06@u\0pÒ»Ö\8f£H%ìwC\82{Ô1xÙ\955\1c·\ 3c\eÏwÒ2®Ft>:³X\ell¬0[UgÅ\11?3¡\föm/½\18"G\8cËk\12ù\8c\18 W§¨Û!\19õ¢\14\95©\15Þ) #¸¸\83\17.\86+'\9a[|\9d¦äa\84%,\15y\85\88zUd,\97z\90?sG¡ñº\86\89eI
-i6X÷"\87øDZÇ\871B·æ/\ 2x¸ç«±rwI¢Mgø{ÇÝ5Ínïø¥q~ÿøñ\1eH²ß¸·\9fl\8e\97¡$\1dùÞE\7füâvò\9eÏÿä\ f 7³»löî
-\7f9á³\93  ÛøuqòûÉ\7f\19\ fÏ'endstream
-endobj
-1584 0 obj<</Type/Page/Parent 1367 0 R/Contents 1585 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 913 0 R>>endobj
-1585 0 obj<</Filter/FlateDecode/Length 1790      >>stream
-x\ 1\8dWMsÛ6\10½ûWìÍÎ\8cE\8b\92-˧Ö\89ëÄmóÑX\19÷\90\99\ eDB"\1c\12`\ 1P²þ}ß\ 2¤DÓî´£IF\16\81Ý}»oß.ÿ>Ji\8cOJ\97\13\9aÎ(«\8eÆÉ\98fÓY2£óù%¾OðÏJZ\85\aç\17WÉùk\ f¦\934\99¿ò\0Æ\93qûß×÷Géä"¹¢Éì
-æ+\9aLçIÚþUÒ}ð\90ÎÇ/]¿]\1c\9dÝ\9eS\9aÒb\85hgóKZäÁò\98\16Ù\89±¹´    -
-åHi/íJd\92*ñC:\12y®ô\9a\ 4i¹%ÑøBj¯2á\95Ñä¤Ý(\9c\\19K\ fJ/\95Îi#í\8e¤p»S\12eI¾\10\1eWeîÈ\eZÊ7\8bÇ£1\8dÒi2A\b'¹Ñ\92à5\1c\83mâçg·Hh\bõ¤\16Õ_Ûh9q&>ìp\9cPeò¦\f÷3S+\99³\8b\81\81³R-Ï\9cÌ\1a«üîlh@ `öúåú#eF{kJZ©\12°\ 1\89\ f÷Bµ²\94\e¡}\87\1a©AY\9b:\17>z\ 6\ó"E\e\ 3@÷RîÝå&k*ä2f\923X\19û"=Ò\vUº$Æ}Eéy,àh\9a\82FÈ_:KÎñ¡o(\ 51\9a÷Ö45ÝÝÐ5¢\89ez\ e\1a\88&\ý\93\aT\12emø&¼¯ÃE\94"³2 j4HÁeÍÍÖѧ\ 5\97Iy.*Û\ 5dP\ 2\b,ÈP\82à%\80lP\8b\9cù±R¸úýäëÝÍ÷7\91W\83\96+Õºðå\8erµZI\8bk\¾o\9fîþ¤m¡²\82
-\81\14\93\15z-ɬØÙRÚ\96*!õ.æ½u¹\vP\1c\16Õ\89JÆëCçºõ\0\7fûË\ 1¿KèÎ3жdÇ\8e\1eÍ\92ã\ 2;ÀlO\80\14\98\1câTù>*v\1az\ 1§\9cH\88³;pÛÚdó°¶RëÆ\ 2\0R\8a\1fÖÈ\9d¦ZÀ\ 3 2%\83\83P\1cxq57$û\10/\ fµ\95ëN©\17~C6\81Áy0¬_Q6\8f\1cÃì\1eý
-\1ez5\8f\ 18Ô×\99r\83p\99¨\1cÞJY\87\82©J\9eF\b\ 3°\a\9aði-\9f|D\ 40+kª`#\94\96é!)Ôª¶&\93\ e\ 1Õu©b\ föcébü\8c\14\ 3\9f]\82·
-ÂS\b°±\82)f*þ\1e\80êÃÞó®Mwï\19ø\11»\8fÛ\ 6½Æ\8dÃñ"\1fMé],\16êÇ\8e\82L"Á!Í9ÕÈ­r\1e¼\ 6Ç\15ZMs[v\a¡\1ab)\9c¤B\96 \ 1w¢Ï\97Ôýü/m#µ\ 3\1e\bTäFhQvÝÃ\f\r\ 6Á²6\ 2Ú\8aÝ\7f\88ÈEB_\ 3(z'²\ 2X8¹ý¡ÑÊÆ5BÍB«»\1dÐU\94\ 1ØZji!
-@Q\9a\90Ê=³Hs/\96ÆühjôØ \81y\ 3JGrø­±?Ð\14`Td¿\e
-a{µëKnuT       ¾C¨ä²BÂ\ 1'4'\f&6{\ fMwòïFjø\89âA®     ÔÊi¹cEËM%^´K;\aJ\94¯ÕÕ\83:jп\8a\8am¥o¬\86;\98\12ôåæ]èkÄ\13\7fê¸(J\83é¹U¾À©A8\ 3ú\8aÒq^\ ef\19\ 5\fG\ 1\1d^fwJC¬y\88D\9f=\8ao!?\92ûDè¨\8b{\89\1f8U=HÌc\ 35Æ$\85\ e²\12p~a\e\1e0ÔY\8fåS­PºÓ\90á\ 1\1c\8eÈrÂA\8b^\97sj@\84\81ßÌTP;\9c\13k\94\80¥\84U`P®V
-ûQ\84À^9ëPLÒà\1eÊ\93\15!¾@\83¡Û\bh\80:W.\13Ø\81\10\r´\10ó\13­Äc\1d       >\14ü\19º\1cYȸ±÷bÆ\85bgg·\18Ó\18°¼g\8d¦\18Îí\98F\7fÝ\ 1'¤(ò\87=½kÇ@ø%^î\96\9b0¦±ÈAo>r\r± é\1faòüj
-M\v\8bf\91%=beá/?;-j^Ç°Ç!µA¦!§\e\15\967Î×\87Ï\ f\8bÏ­|\ 3
-V"^áBÈÏ´\rÏâÑ\ºÌª%ú¬ÀZ\83\8c¬¥ß÷\1f»Âæç8Y\8cÄ6Z³þáXÛ?P\89(æxÚ[\e±1ñÐ\19\94\ 5-»3\8d¥ß\95n\9ehi\9ep*\98Cà]'í]Æí\0\19ú
-\8dþö\1ak6\7fZ»=©\86>\ 2Rè-ÇWîM),' \96\19¨\9e=¯±\1eî\8fXÓÜ\99Çø
-_ÚË#t\1a/»£\90©Ä?ùçÅ;éâèÖÜÛ\ 6]ÍSc£\1c²~\98\eÝ\16\b$\98Qègck\13\944lÄ=þ\1dÈõÊ\ ex\91¤L/\90\ 1ªÊu}\1eO S\1c\94\97Ù\11Fo\1ef\vê\13\16é~¹\aUF¹ª\1dÆEþ\ 1Ëý%^Aâ(\18¢n³\14\85±\16K¬êèè\ 3-_g\b¿Xt\1câm£Sµ\9b Ö\91>h\a¬«khª\86\8e\ fÉ\14îL~\v¢Ì\16\8e­\7¨ú1X\1fi{\8aI\80\r\13\82\86ÞÑà5vYH\96¯±=bù\93¨\ 5_\8cÌê.uð\ eäÚ'\93¥q)±Ámñ\9a\81\91\1feAÐqÌÑ(c\ 5UÙqX
-@<\9e\9f\88\ 1ëç\8a\89\1fß$\ 2ã\ 5\80nC\92pcÙp1O\a\0ùF%X\90±â ã\82h³D°`áZ¤\0(\ e¾oùý\vgVØ3ù\0\16\81Øj}\aÄó·{Ë\98µï^x\9bݯ<\ fÅ\8e\a\1a¬*wlÍãMñ§È±¬=>ºLæü.\fÁú>\99]¶}4o\9f¦xS\9d_Mi6\9bGE\8c©ýbÍ#²A7ý\97!¶;Jgxw\9eOit9¾j\15ô\7f½è\9cÃÁìb\12\ 3IÇ)\eûeqôÇÑ?}\94\ f\1fendstream
-endobj
-1586 0 obj<</Type/Page/Parent 1367 0 R/Contents 1587 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 916 0 R>>endobj
-1587 0 obj<</Filter/FlateDecode/Length 2000      >>stream
-x\ 1¥XMoÛF\10½ûWLÑC\15@¢DI\96dôP8iÜ\ 6\81c7Q\91\8b/+r%nMrÕ]Òªþ}ßÌ\924Í|\0E\11ĶÌý\98yïÍ\9b¡ÿ¾\88i\86\7f1­ç´XQR\Ì¢\19]®gÑ\8a\96\9b5~\9eã¿Ó´ç\aXÚ}ùøÛÅú*\8ai9[Ds*(Æ÷«æSN\9f\9fñty\19­ûO{\9fñtµ\8a6ý§½Ïxz5\8b\16½§\1cáb\16ãë\97\11â¨E´\1c>x½½\98Þ,)\8ei»ç4W\9b5mSIfFÛd´Í\8c'\95çöä©Ê4}º¾}}M*-Li|åTe\1dU\160äg²¥,Q5\16\96\95ITeð«B'\99Ââ·\v>l§\9fM9\7fÿjû×Å\8c&1£´MG÷¿¾¡=\1f\87k\ 6gØ=¥¶P\86O+vÚù\88ÚC¨öøL¥¥Ü\96\aí¨Ô:å\902õ¤Éë£B\90\9a¯\9aôîRIbë²êB
-iá¤'í"^<½Y5 ôv}Î,ùÌÖyJ;\8d\9cUjÊ\ 3â\ 5D©Mê\ 2Yÿ\12\88ò\9dó\15`G~\ 2åïw\9f·wÄ\e´7\87\12¡rÊþì+]¼\84\159¾ÛÓÙÖ¤ 2S\1c\17ð\8d!Z`«horI®\17\82T\99ÒÉø\8c±x\18í\95q H+oòóÃ+2e¥\ f\8c\fé\7f@$\9f:@tïlÁ×;bbl\89cÀÌ\80³>nã\80D\97!'\86ý\11m3U\91W&\1dÓ;R\ 5sõaKxz\7f}\8bë\8fÚUcòVr-Ô\199!t5¸i§«
-ìb\17ç\80\9fNX\89\98\98I`#\89fÚkª\94\7fô\r\87IÃád\1dmbZ­\98\86\87ùjM\81¥+\14\1fë~2ßDñ\15M®Ö\81©x\15]Fó\88>ê¿kã\ 4vÿ\92\95\veÔP$bSH²Ø)Jl¹7\87\1aè²þ\99\ 3\bZ.\93Ú90      :j\ fà£h ¸\11½¾~ó\9eÞméÏû\1f^Þ;j4ñ,\99\9cex\1e\80\85\9að\8cî8ìn¥<¢\9dJ\1e©>2\93\r\ 6ó\ 6¢ÑTWÉô¨\8a(\1dnJ\81A\82B?sf\15"÷ß\88Jj®ü©\82aHTT¨\14µL;k+J\8d\7fü"\9eÛë÷o\a±ß}xK\1fî>\ f®èÕÑ­ö\f\eÄ]AÜH\ 4A\7f\ 5sO\89\82_¨G\14O\ 5WP¬\7f\94\91Åî\1d\8eq@!ðO¬óB%\99)uÐëO\9e\10V&ð¤Ê\8a\0Ts\8c¤'È¢ªÂY¸W\ eãã9XÜÇ>E\85e@ o§=\10ÕrqÃ\ 4z\8d¸ð\17L´f\12è\eÀ\85\v\19\ 3ëÌÁ\94*'_qQãWg:i6\8e\92\91\83®hïjqmøN\a\9f\14\122?Àè±á`Y\93ôóäáUsÕ³\81iÊqº¯\b6éYÜ0æ`\ 1\ f£öW\vt\1f\ 5cÝ#\bøÜÉ\19v\97\87WcÔý       á$y\rïcëªË\84+\ 4O\11L¹CÕ§\94*]ØR
-¢gi÷9\8a\9e\1dw\ f\f\9b\8c¥\1d\84ËOz\a\11\1c\18\851\88\11£8k\98
-ÓJInQ\ eU\13ha\9ccÇ5@\89\1dÊ\94\0¤\96\e\fÐMí©Ìmëóè'80ÑP[ªÛ\18;tàEÜ'é×ЩB_bnÔÎä¦jÝ
-êmBñ\19ð\ 6\12\90\ 3\9b\84\1f3n'\9dçüýh¹Ò\f\8eDcÅ)\b\19ÝÉ$Z\9c¨\87ÍÑÙ'\93\82ÐÝ9ä\e0i\ 48\16\93}\18\1dóúp\10Á\ eZ+\14Yãn´\84\ 2Ò`Y{]Á!p,\8c\99//åØ\ 10]±¼\83\b\\1aha'\ en§[FYñ|¾pÑ6Ïà\96\151«(¦¦\84s³sÊ\19 \ 2T\90\11êìëw\87n\19Ñ\rè\833ñÂ\8f\9d\9b\8côQ\8f\8eâqǯ*\13Í\ 2\14\17.´*ý°ä`!\93Y´^NæsNôy$\1a\85kv, \84\15R\81\9f\98!\r\99Î\8fû:guª\1cÍ\8cu\ 5ò$»T?éÜ\1e¹}C§É#¤ê¹0ÃU]Ýs\10²ô[¡\84õm×\82\ 6\16q¯a-à\\b\93Ë   £\ 6\97ó]]½Ì\86]TÚÖk\rí\83êJ9ÞФĤï \923dÀÄXz4HÁî÷,mI%\88\vã\1e| ­V\10V\97\r_"U\fRô¾ÙÎQô$\8bÃB\\97­å\91/vMßéÜ®i\16Ïkʯ¬áê\19\9eÕ\9aÉËÜG\9c\1dÊ\87[c\10\ 2\ 6\b\1eãBì\0ϲGKÛdÅCÁȹµ{é#¾\ 6f¼w\90\ f¯\16\94\81i\99*\97Já5ló\0\ 6±\ 6\95¢ÔN\99I2òõ\11\83\8b\84ÓvãN\vÃnÜ¡\82>Úvã`\\88I\90êá\eL\96\85ÐÖVS\85bðHRÌ\82å¦Nlù­³`
-\83R\1dº\b·Ô®\1eáK°(>* ú\1cdíÝ\14\93ï\10è\8e\93ve/¶)ï)\94\18m¯Ì\bµ!µÏ8áö\88ð\8aÀ-\81vµÉÙ\97ÄÕQ4A\81èiMn¡dÚº\ 2aü¾ò\\80:m\8dº}Ï\909¼%¦ëG|Z\86Q
-N&f,ï\11\0
-EÐÚÚ3`\8a\89\vï7\18ÓÙ\87¤Üa3c*Î\rÏ\ 3\9143~\86øv0ô!\96|ø×\1d\1f Ï«¿g\15ôñþ\96-F<¨\81`z\ 3ç\90        \83m`óÂ9â\88Þ4Sk\98\9c\ 5í\97üòîî\95\86{a\7fÚe¥\84½aúí\ 6\ 4\8c\ 2G\a\12Ï(\10§Ì!«À4Ô\97¢ð\0ýÞ8i\ 5Ns\ 5é£Ç\ 4uÆÄÀÌ\ f\80,aùÞ+\8c£©>êRÞÁê#¬ç\94i°(ï\b¼±«JÜûdlíÙ×DLÌõ'\19Õ¡0i9¢\91éÍ\8c®ø}\803\\ 6|\1c\1fCþqx¸\98ãÉ\8cg\7ftRËÙ·ÜÈÞ\89<\9fÄ3¼¶cÍ÷ö\8b§$h\82M14·ÿ\87\13\;øF        æM\ 1ªKâ?\1c\13M[\125M&<\18â\8bTßÿIíÿìm¥\eÎØ4º\8d\17ËhµYà\8f\14\93\82{gÿÂ\v
-\ 6¯ð\ e.Êã\9d\93x\85¿Ó`Ãd=\ 39éè[/vËÕ&Z]Î\ 3­ñLf\80·Û\8b?.þ\ 5{{vkendstream
-endobj
-1588 0 obj<</Type/Page/Parent 1367 0 R/Contents 1589 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 933 0 R>>endobj
-1589 0 obj<</Filter/FlateDecode/Length 1493      >>stream
-x\ 1\9dWmoÛ6\10þî_q@QÔEcÉ\92cÇ)¶\ 1Ùº\ eýÐv[¼OË0P\12\91DO\94â\1aØ\8fßs\94(Ëoëº\14MLóx÷ÜÛsä_£\80¦ø\17ÐMH³\ 5ÅÅhêMi±\98á÷õò\ 6¿Cü¯$¥v#\9cß\9eÝ\80\ eoÚýúõ§Q8»öf\14N§Þ\92
+1258 0 obj<</Type/Page/Parent 1119 0 R/Contents 1259 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 615 0 R>>endobj
+1259 0 obj<</Filter/FlateDecode/Length 1192      >>stream
+x\ 1uVËnÛH\10¼ë+ú¶ÙCdñ)òè$ë$\80\958+åq¥¨\91Ä\8dÈÑrÈ\18þûT7%NSØ\85\ 1\ 1Å\9aîéªî\99ñ¿³\80\16ø\vh\19R\94RYÏ\16ó\ 5¾\8c?\7f¿ç/\94ä)~k\8aóyr\ 1'ZÏ\14¬)Mç¹â\14¬)\b|\16\ eÔ\18l\12NÒj\fv\19ÏC\95\9aÂÅt[Ù'\vç\19ª\r\93ù\92\12\ 1¼©\825-\97\íÈ)XS¾D¸ç\14d%Köc\fÔ\18\98\a\9aU\98\95¤óH³
\92|\92Yc°1wÀï«1ØT\1a3V%.à[
+\17\92\88Õ\b`\17\14\84\v9\97;r
\85\98Ý\e9\ 5¡$N¸'#©1»\10\9eU\98uN\vÒxÐ\89Æ\8c±¬ó\8ak\8a\82h²¯èLÒy\f\9dQÌ:\ 5°N\ 5\11ë\1c9\ 5kÊ2Øä9\ 5YgÀ\939\ 6j<êôì S0Ø<án{\16\18\9e]Ø0H&%i\f\17Â\8cU\8f±\1as·§U\89\vÐ\14²\v)wM\80¸à!º\1dsA#'a\11ÿ",â\8e        \900\ fq°3®tä\14\84Èáø\8d¤Æ`\13¿\a§Õ\98íKÙ\10\1f«0Ø,aë=«0,À À \91Õ\98\87h1\89Õ\18l6e¥Æ \95+#
+x\88\ 4\88\ f\1e^}\18¹Á\87K\.gwä$%æ\9cÏß\90R\80OyáÐ`h\1c9\ 51\97K\8cµç8e\9c/dÔc¾ß\ 6À)\15D\951RzNAî\16»æIÉ\89«O\ 6'DêX\80\94é!\ 6'ÀPyNAä\8c¸NOj\f\16W\¨Y\85Ñ  ô\ fõ\8c\9bjÌ]\f\1a\83\85YpÄÇ*Ì=\9eî«1OûT\90ø\0§ä$ð\95\18\v\10\1f<\14\1fàûÈÁ\87+doÅø\91Ô\98]J1\f>Tc°òL(VáÁÃHÇʳ1¬\ 6\9bóýåcE\vÎ\9d<\80\19÷M\0kÁ¥r\85Ðâ\172§ r\ 6¢l\f\94¥è3\8fs\98\ 4HN\ få*Õ\1c®Ò+ä\9cüâú@É\19òK\e\17ÄOFkh?{³\99Ý=äx&h³Çÿ&é2£ÍNþ%Á\97òÕǦkí®/»Ê6\7fnþÁÚ\18¹\87µ¯¡0ÄêWë¢Þ\16t,\1c9óË´Å\89ö¦èúÖ8ê\8eEG/¶§º:\1c;z.\9a\8el{A\8d½|é,õÎÌis4T\1e\8bsgZGU\83èÊѹh;2Ey¤Ò";W± ×ò4aoÛ\18rgSVûª¼n;\1f*]ªJùÑÂêM±=\19²{zk\9bÎ4\9d\eV¦~å5/\84\9bC[tUs Õ\9a¾WÍÎ>;jL÷lÛ\9f\8e\9e«îH"ü¦ ¯\9f>þ 'ÓÖ\95s0\8dÞT\9d£¢Ù\8d)>mè¾,\8dsRDkOôX¹¡\12¥\v\ 5î«CßòþO÷+Úõ\1dÖµÕ¶ïÌ\8eðK%\14ÀíÓ\vÕES\1cðµè»#>V%
+\1f\1a¦R~°Nä\14´ªÊÖ:»ïè\9dJùPÁ\9bõ\8bëLM]kàSó\9f
+\9fP\94$Z÷ç³m»[\ 3\1aô\ 2µ<Ú\83m\1c\981\8d\96Ïn\88M½cyðv\v{oÒ<\15Îí¶´zY\7fy¤ó©?T2\80JÏeÅ\8fÕÿðë®(\7fJÿ=¬©Æ\18\9f\8c4\åXwV,\96Nþáè«3íÝ
+ÃVa®Ð&Ûc`«\ 6î×b)OeÑÐã»û'x×\9a\12ñ/7\95\7føü}óùÚãál8Û·%fÛî\fýª
+zûm}\13ô¾µý\19}<\9fÙ\12Iq³bÈt6­\14Ó \1d\1f\14Ý=d~\84ã\88ï(Lûíá\8dñ/É2ÍpÌA¦!çÿk3û2û\r¿ëõõendstream
+endobj
+1260 0 obj<</Type/Page/Parent 1119 0 R/Contents 1261 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1261 0 obj<</Filter/FlateDecode/Length 1355      >>stream
+x\ 1­VMsÛ6\10½ûWìQ\9e\89(ñC\94ì\9b\9aÆÓÌ4nÚ¨\93\8b/\10     \89¨I\80% Ùú÷y\v~\98\92Òi;­3v$\82xØ}ïí.þ¼  i\8e\7f!-#\8aSʪ\9by0§$\8e\83\15%«%>Gøm$íüB<_|oaµ¢yÐÿiöø\82}á*\88{\8c$X´ ?l\18\aG\ e\7fðúìá\8e¢9mv\88$]®h\93ûu<É&\1fµ\93ûF8¥÷ôé\v}U:7/\96´t/¦y¶ô¢\A_Dµ\15·\9b?n\18)\¶HÓ8      "`MÖ{©ón9¡0ì\96£e\90òòÆ\90Ê¥vjw"WHz\96\1d\94Ñ¢¤Jf\85ÐÊV\96Ìî;!p`Î\90Ôb[J\ f\90˺4§
+\90¼c\88mNÓ0n#\12\96\ 4\80\85ö\98òÕ!@Æ\11:\9f\99\ 6LÕ¥È.2~ÜÌ¢9\98s\88G\9bÒìO\ 1g\fÔ(\r\12Nä«\ 4\eeIòUTJË{^\86¦Ãú£¨$°­)\ f\9c\e)\8d\ 3Äý]«×ÙÏJ\1f^ióþóìãg¤sT\8dÑ\9c\ 4ÃLÁ\1aäÈ'a@ü\1d_\87d.a\91ÜÁÊÜ+\83#®ECbg\98Ñ5æOæ\85\r\84f\12z1@\9aΩÀ\12ønI&ë<í¼\80'¬3«0l=x\80A\82!\8døúÈQ\9cVf\87\13\99\9a\89:;73z§öL\9a\1dô²RV¥´\16\8cvf5ú,Ãäú¸÷\1d\ e\9c\r)z\9f\90°W²­9I\9dOEi´ÄYÍQ6-ú<\88WI«\8bèNh\1f\rÚ¬Ïø\7fÜP\1c¼Î\12\90bn*\ 1\95*Ym{ØNêíuÐ\80\13¥\93\8dFÔG\98Ý@\91±À£\ 3~lq\91¦kLYöØ£\90³\16\7f\1a§A\1a¦´\88ÐYà°Eûø­\92§Ñ\82¦hE¾\96½Ù~û\e\ f£3\949S4{ø^½w5Þ+Ù*°SP\902\ 3rá]0â
+e\99\8fhÚr\9a= Wú\ 62.¬\99tÙ¬0ÖÙöЬ{gº\fV\1d\99OQºô\95ó\86à\17\a¥<\86/ÎcÀ\91ýG$\8eæÿÀÑÖ¢ÃfÅ?Æ
+)D3Ú¡ë¬\82ð\8e¦qØ6§K\8eÎ\84aÝÙ)p"wFøÝ©\8cJe}\aE;Zç9¸±P\88+]£\91Ù\80äÞ×
+3zÇGâ¤8ÂÁ\18\1f\90Ôý\84\188AØ}/M&Jf\88\86O\81ÿÔ\16\ 3SÏÍ\1a\få.
\14Yu8[µß\9a×\0P¹l\ 4\bªZøö9¡R\94°      ^9wâ´\ fséÃE\98\e\18\12m¸6Vr#h_ï}6ù+â&\ 4\7f¢\ 2ëÆ\1c1¿@\eÓ2îïÃä"k`gá¸/[Ê\riã0Aásgúd»ÉÔȶ\13\10H\17\97\83æ±\1d¾T\8bìY:DÁØ(\11\94\vÏ<\94\90\9f\83uq²
+ôôÃ\9a\\83\89W\9b\ 6¼\8b\13^\ 2eÕAã\15'}HG%ÎÎ¥íÁO\9fÑäÄM Àζ¯ó´þ$sìZg\19÷ß®Ûô\91¿#4çOë÷ý÷\80ÑGVBÄhô\r\82.O\ 4Ël\15\92\97Rï]qÁ\f\e\8fst§\9a\93Â\8e\1a\96Ä^Ð\88\91·3\87\86\9e&ÉÓ-\ 6Q¦*NûÀ=õ\8c\9e\ 1\9e W\ e\15\9e&\b±\96\8d2ùÓ­·4y\8f±×\82°\v¡\1fð\9cÊ[ø\10\13׫6h\ f\93\ 2ÖI\8b\b®cÅ\95b\1c-.O\94«½rTà¶p\11ðEâV\8e¢ÎpóÐmíQ2¿_Éû¹¸\ f£û8¹_¤\17á~\80\11N\83ø<\e\9b]#2IÕ\ 1¥W\bL\10\1e\1fc}ÖÖ\9aLy\8aüÅN\8c\97ÙT\10 \12'Ú¢R0\f\8d\1f\84#{T\ 6/\9cY\97P]x\86Zyü\ 5ÅQúno\vU\ 3ýH\89\89¦G;ZêƧ¾C!\97d\ fY\ 1\99­Úû;\91oô£sÙ\18¢\81\7f\ 42\86¢¹²Y#ytð\ 3X
+\13\13w\86\80ÖÎ\97FÅÍg+P\1e0ÛQ\96þ\8cîN;*\v\7fùpâ\19UË7BÙú\9ei\9e=¬Þn²ñ"XÆ\vîUÿî¶\9c,\93`\99âîÎ[Ó\98q?ln~½ù\ 6í?¨Gendstream
+endobj
+1262 0 obj<</Type/Page/Parent 1119 0 R/Contents 1263 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1263 0 obj<</Filter/FlateDecode/Length 1616      >>stream
+x\ 1\8dWÛnÛ8\10}ÏW\fÚ\87M\81Z¾Ä±\9dîSÚl\81\ 2\9bn¶q±/y¡%Êf#\91.I%ñßï\19R\94\15%\ 5ÚK.\129·sÎÌøçÉ\94&ø;¥å\8cÎ\16\94×'\93lBóÙy6§ùj\89\9fgøo%\95áÅ\f\8fV/_¬V4ÉÒ\17»Å/0¹<Ë.ÒÑyvÞ\19\81¿lÒ~IgÏVdzG\7fÉb°Ý\1e\9dq<1²ù$[F«\1f×\1cÝÀðøó\9c¦SZ\97Èo±ZÒº\b\8e'´ÎO¯/?\91(
++\9dSz\9bÑ­Ò¹¤ÞSé¨n\9c§\8d¤me6¢ª\ eÔhõ³\91ïIè\82¶RK\e\9eZY\v¥\1d\95êI\16T\1a\8b÷\87\1f'\13\1aMϲ\19ü\9eî\85õ*o*aIi/m)rØñ;I\ 2\ 1lu-µ'Sâ&}¹I\81Q-î\11\86\93Ú¡üÖÔ$HKÿhì=^i±\95áÚ^Z·\97¹W\ f2\e¸½6\0Îï`ÕhÙ·\9cã\112\8bÎ\115lô\93Ïè\1f\9coëÓÕ\81ÃÝ[U\v{èÙâ4\94\e8V.&\17+Ì!xzTUÅN­ô\8dÕpªt8tùí\ 6ÏöÕ!E?[\80{(Ú\7f\91\10\1cW\15ÎM\ eÀèQh\ f\a\86rS×\0%\17^¼ߡ~\ 6QZ\94'ß)¤\10C6Þä¦"Uï«P2á\95Ñ\84²6À\7f\10y\b\95¯½I6´¨å\e\ eàÍÎ\80\10ñW$\88»¦z@\1e\bä9nHL0B`HL\1d§s£½5U\85ó\9b\ 3Ç5ð»þt3\ 6ô8Vªmcc\88í%P«\92.£5Ââ\1f\89ï\8e?Cb\81ݧcéó1\a\17\929Òþ\94à\98\91wM¾\v7_-1gÛc\1dhÈO
+é¼Ò1\8e\8e³´\13\ e\18\ 2\97B\82Æ5j\D`b\89s(\ 2O\0éø\eã
+ÿ\80\8fK4HW\15`¼*C%úÌc\11°w/ìVú£X2¶IÎCzP\1aÀ¸l©õ\8dQh\ 2 76\ 2\1d\ 5
+×bàtc\8d(r\ 1\10\8d\8fÀjéw\ 6ñ1A\11©£ïW7twú\9d9w%¼ØZQS2|÷\8e±\86\1e9g+Ñ\v`\8aÑ\a±»\12qÅ_Á·2¨M'_'·A»\rw\9f\90\98þáúµÈèk«ö\9eq\ 1EC\a\1cW\1d
+Ë<Ü\e\84\84\e\ 6)?ïhFW\87\9d\82¢\1euÛÐ:¡s_ãâ'á\97å\87çÿ"\ 5\83Xi/ò{ \14û\92fx\ 6®S\81\82î\99Éè\92Á|/&\b'º|ÙW\ 2Ê\12:>\96vÈÞ5be§¿%\85 \1c\90¢4\8d.\ 2­\81G\vÞw­\9eÆ\7f+Ý<Q«C4t\ fHÂ9\10\89\11Ç7\ 2á\9bº©c/ks\1a¤Í\ 5\f`\87nÁ7\9fCßaÙÓ\1cx7,\ 4·\19Hí@\8f;\85\1aÀê\81\18û{ÍÀq³SúW\9eSûc¸8cn\19;YíCÏäJ·\8d±©÷äÀ\1a&¿ \8dp*§J>È\8a\ 1Ä\1e\17ÕÅ#C>©0\12!ÀaÿÂÌ£¶÷FI½bb#Ñ°9×\a¡*±©â¼\1a\7f\9eÒ\14\r\9fÇôèl\1a{\7fhi±ÃfÜ\13#ÌÇy>\9añ<?=æçeUÅ¡3\f¼R\e+ w÷\81\8d\19¥\ 1Ãü     §SË3<É\99\14]ÑS)Ñô*£·m\83ÍÛÎ;Â2Äû\13\9b-\96-\19S\94áe·\ 2$gw§\ e}\ 4\1e¹bEðÈq\ 3\ 2·3M\85ñ\0\ 16\1e/°1\80\82\a4\1c\1dÄþÈ\ 3ÑÛCè\19&\r ¨øg#*U*Y\f\18Ñ\r¬\80<8\ 4Ý\1f;}¬éó\ÒÂòËt^Ö®o2ä\95Ð¥«Xϯ̤[i\1f°¨ÄLkq\biºûØ°~\80Ru\ 4ãŬHíÈ[¡]\94$4eî\9bý«p¼\92B"Øh¶Ê¦\174\9aϳ\ 5\83Ö\rÎ\1eÇÒT\ 5\19#Ç^;\94 \ e\13\16uíö¢Z"Æg²\ 5|\1e\83tËëÎ\90Õ`W,DYb\81\93EF_0ó \90\ 1\8e¹U\81\f\83õ\80\85Ý×x».D\19\18[`\86u\r
\1cö©"\98@G8ì\99o\ 3ÏÎÛ&Ǿ&\11\ f÷Ú\v\16+\84z6C\8dγ\15¾£\98Ôþ\89\8eÃ:ò~£tÇI,ñýcuSy\85Y\19Y\98
+:Jf\97Á<Ì¢ºØUÑZÒXB\ 39*%-\93\19ÝTR`O¶²ä­\8b»\9aä\1d\fsj\8b­     \e\ 3G\14p\ e¿\95\8dÅ      Ë{\f\9a\91\v£å×\9dH;\87\96\9bïz<I\11w<9ö¢g8\b\94\8f'ÿ \9dÆ\ 5§¿Ôµ\0@ð¼dµÛ%æôæ\a¸A¼âCâXu±»\82!ýµÄni\1e\7f\17£·\91\8a/Òâ\8f,\ 3\9cÞ&F\f\9fS§k\85\8fN·¡>¯\114\ 2¼j[ætq\9e-Χ´X®²ÙEhâ·\97×\1f/yÉ
+\89^\99¼áÝ($ÊwGÓ\ 5>\86®Îh´\9c\80y­j\a³a¾\9c\ 5>\85ò\81Å\9cïýµ>ù÷ä\7fØô®>endstream
+endobj
+1264 0 obj<</Type/Page/Parent 1119 0 R/Contents 1265 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1265 0 obj<</Filter/FlateDecode/Length 1704      >>stream
+x\ 1\9dWïoÛ6\10ý\9e¿âà~\98\8b5²e'¶;t\ 3\92®é\825?Ö¸è\97\0\ 3-Ñ6[\99TI*nþû½#%ÙÑ\124[\v$±u¼{÷îî\1dõí ¥!þ§4\1dÑxBÙæ`\98Ìf´ûaWø0¤ã4M\8eéh6Åßél\82¿­¤%\8c\878Þþ¨\8dÇé,Ikã\11\ eÔ¦\8fù\1dñóÚm:L¦Ñötþ\88çÁÙ\90^Ó|Iir4\1eÑ\ 4X\8e'3\9aç\ 1À\90æY\9fê\7f/^ο\1c\fép\94&\13\18´ß\97¹mþKcF\99Ù\94Â×Æ\bÏÞZã\17tRxiµðêN\92ÔÞ*éhi,\ 57Ææ$*¿Æ\ 3\95ÁÆh\12Vþò¤³\87±cdZª\ 2>µrT䢤­Ò\v¥ó'|¸µÈÍö\99èWÖTåÎöaª]^ÖÆy·g¼\83\95\ 4\9a§éao¤ÅF¢\98Î\14Õ\8f¹y\18?FGä@\fÈù\99Öp¤rÊ\17u\1e-]O¡ÓÒo\8dýÚ&Å\14·~ë\8cº,H\14Ó¶'(D\ fg\9e` ´Æ\9bÌ\14Í\91\13ö¶Ìö8þ±\7f\9dÊdãþ!\9eÁÙ\11¥)\8fÃa\9c\87ÃÑ4Ì\ 5:øj    \9a*ëä+\92"[\93Y\12Rs\9262[\vÀÜ8\94æ[¥P\1f<\11\9e\1f\93(\91Pi\95ð\98l\91©Bynx¡ó\ 1\ 1ÃM\ eïÖÊÌ\17÷M¦ãdÄ£\93\19½T«ÊÊ<i8\9e$GüäÜ\93[\9bªÈi!I\e\18¸Ò\18\0\ 4¡º`\ 1\97t~°Á×b\ 5È\15\9a     g\1cæì\15Íß^\ fί\ec\9c\ 3\18\87\19Ò>Á´\16\1d8µ5fmSézHqƹ
\11\13ÉêL\95¢`\86\)ÅW¥WdtqO[Ì5Â\80}'ì}7\9b\e/¬gÛ­òkºC×ðø\8f\12\163'6\vAkáè\83ÒÕwrUY\1aë\83pÈï^j¶\ 5í&\90\1eƤæ\96\1cÜ¡\J/­pÞV\99\a\95\9d\9c\1c\9f\8aà<+\14rwÀQ\14Ì\92X\14\92]\9b\85\17JïÏ\1f2¼¸¡ÏP\17³ut)ýéùÕM\98Ò\80\ 5¤\9eä9úÁI\97ÐÜt¢®Ø\9b\10U:ã\81\16h\8f{º      Éj)óà\ 5\bXØP\90<R³ßS®À;£­sß\88¯Á~\83\16£Û¾\8aâ98;®\e\e\ 2\9eÖ\8d\15L5Ä\9b      \1a\14j\81¿ÿ\86ZºÄ\ 5¨»ièß¾\ 4~´3r©\8aP$\98[\14±i@ôºf®pÚ\8b\82¡\86Ü$qμdâXõ9Lüª\99´>å\18\99Ì\e8cÌðÔá©Ç\98zX\10\16ò\87å\81\16ÚQ#ò\9cÛ>\16¾\175¯Ç\85d,¡\eº\b¤Ï\ 6MÖ      \ fW\17\ fË\13:\9f\a\18µ)\8dÒ\9eT»Ðjò\9aæ(\8dsªn\90\92»Wèûý¦Ø@+\18Ìâ\1e>~Ú5Ió=÷ê+B\ 3\16\86\ f£\8eÜ\88ÍSÕJq\e\16 b^,Åa!qöÛµB\93/\f&\87e'ÎK㥦õQX\92ã\86Q\1c\9c½¦tÊâ\87\1e\19\1fE\89¹ìn\1cG\95«\e\118öº¿Ö\1a\90O¾1Lã\8dáQkb\8e!n,%p,\16¦\8aÒ\19¦8Hm\93\a,W¸6hîEü\1d\fðû«6[MwÂ*S¹\7fÉçm\9fÓ\87&A \94\83T@ao_F¦%õx´ªÐTÈ´÷\8azM0öÎ\9fwy\85\80õW\ve"\0þ|sqÚiÙp8¨'Á76ÃF\8aX5T\ 6b\82\1aÖ:ÇÕ\92ß3Y\86\85\ e\80;ïua3\9cÆØCCEÁbµÓ¹Nà¸\95\eØ2\1c"7\eV\eÆ\15'9Âêµ\86½0|½h\87\ fØ\ 1Vb\92ïé\v/\v\81\8d°áøì¡\133èul@\ eÕ\10\88Ê`+\98\8cw_\1e¹x¨\90\1cC~\17¼ò(Å5y\8d\ 1Ï\80Ëñäbý¬ü:bM'~Ý\89Ù\1asû@\95°Õ9\b6">\87\ e\ 5G\ e¢\ 2ùÆòáùÃ\ 6¾\13EÅìc ١ã\³\84\11ñN\16ø\1e\97ÑM¼zòµ\14\19uBï'Qûb\b+n.^ÒtÒn\82\86
+&\8d\81Á\99\95ðÊÜ6öq\87ñ\8d¢ÙXþ¾\8c ;\81á\0\97\89\82\a9a®ãª\1a\84ômw¡Îa°4Ea \9f\90\16D\85g$]´ø\18W8\8c\e\11?lpÙ\90¿\v÷îÎ\eÂáè8\99áMaïNÿI«o µáå\12NãQÞ5\9dû\7fó\96pqòö\8fóËw\97'\17ïÞ\f\87¿Ñ¯tÃ%´á\17£á²VZ3rÜ\ 2öÌ\eR\9eãxÌ\8eßK-­Êè¢VbÆ\87ÍØÀe\ en_þ\a¯£\0÷\83Ð\17\18Ê\1auSºÿ\8búóÕÇ?ß\7f¼útý&]0æßã¸^àÆ\ 2NN-®\17ÒÖ\18»7ì÷üRBÏb}\17\80\9a@É^K¢»0ú\10­Í\82Ç\11¢Ò\9eü\ 1Q­Ý\9b4ÛKä­Á\9b\1eZ\91½\r¸S
+³BY#{í\8e{¢¤{>söùÁp\ f?ä&ø\18\9cÍê{F:9N&Ç)ÞgÇÉì5\96ZÞ¿9¹8=¡kk¾à²\ 1\82³po
+\8dÎ9\1d¦\13¼\86ÏÆt8\1dâ\858ï×\9cìÞµ\9e¹ù\8e¦GÉ\14¯ÐxwÎû\93cöýn~ð×Á?\12ÏÚ\92endstream
+endobj
+1266 0 obj<</Type/Page/Parent 1119 0 R/Contents 1267 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1267 0 obj<</Filter/FlateDecode/Length 1989      >>stream
+x\ 1\95X]sÛ6\10|÷¯¸ñ\93Ó\89hI¶%§\93vÆNÜÖÓø£\962éC^ \12\14\11\93\ 4\ 3\80\92õï»\a\80\94BÏd¦MÆqe\10····wô÷£   \8dñgBó)\9dÍ(­\8eÆÉå%í¿\985þgL³Ëóä\8cÎ/çø~r\96ÌÉHÊqv\8c§û/ñìt6K.âÙ)ÎwGi6MÞ\r?¿^\1e\9dþ1¦w´Ìi\92\9c\9fM\11j\9e\Ì.i\99ù«Ç´LOhðß\97\87§¿ÿ|zøüø~"\7f§ßè¶vÒÔÒѽ¨$=I«Ë\8d4öÍò\en?§É\84¯\1f\85ûGÓ¹\8f³ÌNn\1dÙB·eF+Iµv2#W\bG¢,é^ºëÛ\87\ 5U"-T--ÒX+\8b08"\95!½­©F4KÂR\13>&±Ò\e\99вP\96øoM\ea\1dÃ\18#üY2EV'©®\9dÁÇä4-?<\9eÞ>â u\b*\9cÒµ¥m!Á\19Îd\8a\ fv\1c\94ì\ eñ+\12Y¥j@1ÂiC[\ 5°\99\ 40|*9$\1f=\95.=-´u\96´\19Ä\8fG>Þ/(\13\84\95\b\89´c:\88-¬Õ©\12LÈV¹\82$H à\14Yf¤µI¼q:KÎ9£\a\ 4Î[\83À\86\1a­jG:§´\14Få*õI\ry~ëQ\86ú@Q¾>'{Ðá\a]áN(W%@Õ\\1eI\fÜÈT\9bÌR¦¹nÔ\18½Q\99\1c\87»2rnäv\r3\94kS\ 5T¾Úw\vú¢êLo-0+Y\83³L6\12Ñ4ÈÔTjä\80\87q\9b¿\0¹Yi6*åÏÄ°º\95Øy5I\99É,¡«\9aä\8b¨\1aàÇs.
+ÃÓ]\88\ 6Q|¹k$G¯pÐV0\98=\ 4\81|+¡êA\9e¥^\ 3)c\92&!\88:G:!V\a´ãn_C\86#âC>\8f\8eDÈÖÑjÇ\9af¢T½Æ¹Rë綡¯'\e%H\fâw\1c¯\8c\16Y
+e\7f}Cx\94dÝV\12*\85\86}4\bµï&Ï|!6²ï+ß|hþP¿¼\9f¤¿\83A\ 4G~\83\98F~o%z\b]\86ÂpöP\1d\98\1a(5d\86CFº\16\ e\91u\rÒaÃ'%z\89ñí¹\916¡/\85\82æ%(\1dD\8e)\80d\83ç\8c\99\b\ 2\9a±\ 4\9a\82\1c\999\16;<\90Ì«ÞYâ\84Ïùx«ÍóÚè¶9FÏÒq(õ1"x\ 3\10¸\14Ì#o-_\8d/^\81\12íë\89äXhPddÕºö­Ç't>H\0âð]\89\ e\ 3\85`0m\8dr;\12\ 6\8eçd
+¢hå¡6a³\8c\94]\ e\r\0Û¡CäñrÏÈ«Þ`\84\8dQ\950;ä|x\7f¼\14\92Ù(£ë\8a«éqÁ\96¼P\e)ÍÈé\11ÿ\8böä\f!uô\rõ³\80m{\90j/7\81Tà\\rìU­Ð\8b,O \89>Þ¥þÖ{ÌZÖP-\9b®m!\81î\87\8c§T\15\98AoijA;\90}k!\82aC4ðOp\94¡_\9ek\1e\14\18\11\8b¿®\9enèîáãM\7fã×7>\85
+6\8d\92¹¶³\7f\1fò\8dìt\82Bè0Û\ e\86ʶЬ\rgty\90X\9f¿\9f\12\87\eß)^3µîÑP\18|Þ@\90j£m 
+¹ú£\9f\177O\1eÿ\80ã=??Vã \94ìö-÷à÷V\19Î"\92\e\13äÏ\ e\ f\8eÇí\9a:
+\87£æÀ$\ fXñRA\84ÆÀuã(ì«Ô5l\18o\y\14×»zéëmd\85ÑßYÓ ;\fx+Ö\90-J
+\Aõèo§S0\røp\14Ì\rÜ\88ï\16Þ\82é.>s\8dÉñ\f\r,î®á\88Á\82q\98ÿò@`\91ã¡ÐÍ\10ã ò}\@ú`_Oð\11·\1e]\v«R¨¿i\1d\8eÿYøÝ\80\15Õ=\17\rCÖ©hl\8bÝ¢\8fõéÓ\a ú¤×°\81aÇ|Rõ3}\bB\ 2è>ø\88\8dsë=\11\ e\1f¦!\1aª-\9d¯VGÈ\9e\v\86qóù\16\81~D}óâ`\932\e\99\85à׸\¤r\98\87(­f÷3-&      ,\19^ý/nîÖ>&\85a<\8aô\19KàÍKZ\88z\8d[öøÑ\81¾X«Ý ð=î\vëÞ\17\98Dp\0\fÀÈ^\1f0.j\1d\1f\96þ?!×ËAh(\91YZ\86e¨«\9bÏ/\84û\89øûÎFVè\9bT³¢^àÝ\ 6û\a\8f\14\14H\97­\9f¿\95dN\94­0Ú\16~rlñ\1c\1ø±*\87¼ÀLRÞ©ã\ 6\18ó÷\vL\86\86ÁÂ\1a';J~`\8bþ\0î\15\1eûé\1fïh\82\151Ç;Æè\fû7o\8b<7ºdïyÚ\7fÀvéÕ¿ßÕq|:çÃW¨ÍAÏ÷iKä«1«jÖe\ 5@\18)«6Ï¡\8d^¨@f±"#\ 5\1e<]È`\ 3Ü\8d·\8f\83\82Äõ\16ës          µ\1a\9d;ð \87Oú/\9d¯\14Ð\16ø¯Ú\9aÇjG\98/#Ç\85s8\9a\8cG\93\vÂ2Õ:^.n\87[# "\ 5I2ÇÆÌ;(\8f\18½rXö8Çýj\12\90up(7ºòÙñ\92ZBµ`\92Ñ\81\960@5­5>ÀZ±.¼ï½6\1a^)Ô\1aÃ>û\99j"UÝÊ\7fËÛcÇ\0\86\ fTè%\87D\0\99ó\ e\88ü\87\ 1\16ó´\92¼«\150,ìÛ¼Ð\80è`&þ`!øU\fGäK£\0hX\1f\14-/[[\0j\9f¹¿Ü·\90§J8¼#\85        '£\ f0ÒhÉþmæ\87êùÉ\bk±íê\ev\1eð>\bêT%G\9a\11ËRìP<\95ÈäW\94Ð\ e3\8eH`Uâ\15\93q\81\ es¸MS¼\1e¼\85`YJýèaÓ\19\ 4ç\97\9b°·à]¿VFcÊ\r\16\ fî@Ø\1e\8b\156`Ø\94øÊPz\98B!\8cH!`,¸\98\17p\ 5¯ÇèÕCsY\ 2ÈA§Á6JÞ\ 6=Y\18oüzÄo2
+\8b[\èù¶Ã®\8aò\83\ 4â<<®W\ e/¶î8\8cÍ\85¨VÃU\89W\82\8d(Yñ\1e\1fëçàùj\15\88;\8evr\19ß\15'3ü&âò\8cfg\17ÉtvÁN±¸º»¾¢G£}\19\14/\1f5\82\ 3,\93\1e\19ÍÇømÃÏlè|~\9eÌñ\e\881\1f\9bÍøé\9båÑ?Gÿ\ 1] ¦¨endstream
+endobj
+1268 0 obj<</Type/Page/Parent 1119 0 R/Contents 1269 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1269 0 obj<</Filter/FlateDecode/Length 1742      >>stream
+x\ 1\9dXaOãH\12ýί(\85/\8c\ 4\99$0!\8cV'\ 5\bw\91 Ã\91ì\8dV²têØí¤\17§ÛÛm\13r¿þ^uÛ$p×3·7\8c\f±ÛÕU¯Þ«ªÎ\1fG}êá§O\97\ 3:\1fRº9êuG#Ú_ì
+\1fz4\18àr1ºÄõËpØ\1d\91\95\94\1f]/°¼\a\ 3o\17,ÿ|wEý\vZä°;\1cá\8fÌ?ïÑ"=Y¬%Ý?üíÛ|1§\\15òÓâ÷£Ïw\17Ôï\87õg\83K¬Ç2åüsÂïÚÕ¢(vT\98TT2#¥éaNß\95ÎÌÖÑlA\17pÊX\1aôà       \1e\ 6\9b\88ÉÛ<¹ù\9a$ߧ³Ù"Iæ¿Í\17\93\87óA\92Ü>Mÿ1y\9a'ÉdqóÞ\87\13\12:ã[=:ë\9fw\aìNjt%\94vTÁýé#\8d³ÌJçx¥¿µ\11éZiIZl${°\11\86§¥PÖu\89\83þàT\83ÁÇ­\19\12*¥Í\8dÝ 4Y]O¿Í½Ù\ f\1eU\86ý\10\8d\1f\eQ\96\0\82\92\1a\10u\9bÕ\83a\97á?\99VTíJ\9560\9agG\85z\96_[§®\18ü~÷â|@g\83\11~ã-jþ\1dÓ\8d)wV­Ö\15%'iò\89úWW#zP©5Îä\15\1e۲ݲ\ fæ¼{¹uüã} \82Üâ¿ '6%â>ä\ 5\92\ eü\96;\ fï~'$ÝÑMÁQÂ\95\ 6\9fè\ eæEZZÜ<~\9e>ÂiW\89ô\99\80lK\9d«QìÍØýà³OÒ;J4ø;2ùAZ$øb\98\9f©Ù\94u%-ÓÃEm¿Å\ 3_ýÊ.Ñ\ 4Ä"\ 4kwäÖ¦.\0\89¤gYVd4Ø\a®eêEeÐ\a\12ªe4  \9e\82\a\84Ù\e+\v\91\ 6M1·sðµ\82¿E½Ñ\80ª(Ìö-\rQÇSc¡\86ÒÀ\17pð0Ø@ý\96¥­ZxE\83FÔæÞA'Ka½îÁ\ 6QQ!\ 5\4P\9b+á:\v¿\12Ë°Sç¸Cé\1aËSØ\8fÚ\ 6çVRKëÕày\864eR\9bJzº\81(\16;ä`&\Ý\ 4®9\19\1eÊ×\14ð+£ã\89\JÀ\96|\8a&#êØ»ªÇ(\89J-!\8c­ªÖ\a\1fÏèAh±\ 2»\aÝ×\86áTlÖÆUq·\98¶¡d\99<\976\14³\90\9b|­¤v\1c\98/\v\ý>J6ê¸/\14Ç\8fO\93\9f¬¸ýöðõ\97ÌlPKÿò\93¥ÓÙÍý¯·\13ú\85Ýf9üì\85ëÉ_§³\7f\8eï\17\93§Ùxñ3O&³Ûÿum\92ô^µF¹ÑF\9f\95VéÊÓ¼¥\19¹º,\8d­\92\88b÷éÎ\v\8c­  ½kd\8eî\11\84Øæ\9d?½qÚQ\87\80\12EA©\0{£ÖùÅP:@o\94\8dÒ\82\97"óbÇ\1d~ìûU\8a\1a#»t½\83\ 6rQ\17Õ©\7fM1YlÜ<ä²7yJ˺âåhy\96+·ÑhØ"\87\f)Ûa\e\95\86ÍP(P\X?\94\vU¸?/\92\9aø¼>8\9eÎñ!Ã:(\f«\80\94pΤ
+U\84Ã\8e"\16Ðz³\16\88\8a2#S\95«P\a[ör½áÞ\ 5\95£µÙþÐòÒbT\ 1\16\\ 2\v³Bôøô¢R`¼\94kñâ§\86Щ\10Ó\8b²FsÝáÙÁ´(GÝæÈYú\ 1á·P³P7\18\92\80Ó)©\8a\e®\96Ø×      ô\14Ð@\14\ e\97,#\11µÏ\8c㥼\8fï2¾\9b´Hø\16^lÅε\8e\ 2)QThW«5ïè©
+¶Dí\83\9b(÷[MÛµ\fìßó\92­¿(\89.ôç\99\89Û±¾:ÇÿYO\1a\11a @\17áØ\9eînÞF.4ãëE\ÒÄsÏ\96ù\ e\1a\9e½\81=SöU˧Ü\8b\82±\10\98xr\ f\8aü\81´xÐ-º\a¥\8fQØ·,A¿ÎnÎ\96\82uÆH\9d\ 2nt\1c_G¢ §LnQ¨\7fᥦS\84\ 1\e\ 1 \ 1\\92yÄÅS\9e,<=¥\8dbN\98(áÓøþûø7̧\87\84*­ÁD"a£\9dJyäb|\ fæ\ f4WÜ\89:Ëâ\80ZPlùÕÀ¼6\83\8dòZã\9b\1aÄG\19ô;x¦fÊB\93êå\aÓÐ\14!f\99¯Bì\98C-Gñ(ëe¡Ò\ e\ fð|W¾\86±Ô·sòû\0¨ð0êù½ÐhÍóà\7f¡xRÉ©3«\8bb\ eÍ¡ìÍy/ç716C\90\8cN\1a&Úæ\18Ácct\ 3¸ x&\0*V\8apüx\97OW§,ï\1c\1a¬\9eå\8e³Ukì\175\9c$ÍöIâv®\92\9b$Ik\fvºâQ×\9aÂÉ
+\8f\9a²\95$\85Ð\e¡C¦\92\84\8dD¹wI¢±µ\vÑzdã#I\83´\95+ eáî\á$\80Æ\81\96\8e&ÿ\1eÌÜ \bÎ\8e\8dg7\1aá\ 2I=\ ec\82Wåñ»!\0cõn\8b\94 ¨³\9a\90ð¢R|,i\89\17µ\8by\11pq¹æ¬ A+kê\12JªÌJ²¯]\1a£¿;\b\14æöù\ 1\97Ò¢Îâ2Ø7yOHo\96·ð&þ\9f\8ax§4\ f½§ôßG\19\87\89Bs\0\94Y\98\14Z\15£Qí¢\b\84c\83\ 3]8?\\88X@\87ÇWÖÍ\1fµ\ 1R<a\9eòs\rÙ6KÙðç»Qsbï\ f¿t\87_úøî \1cIq\14\9d\8f\1f®ÇôhÍï\90\9a´f¼½1~÷¬?Ä\17\13£s:»ìá,Ëß\1f¼?Nò¢\8bË\8bîå\10_mð\82á%ß\9a,\8eþ~ôoÍöð×endstream
+endobj
+1270 0 obj<</Type/Page/Parent 1119 0 R/Contents 1271 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1271 0 obj<</Filter/FlateDecode/Length 1663      >>stream
+x\ 1\95WïoÛ6\10ý\9e¿â\90|\98\a$²e;±S`\1f\92ØÝ\f$n\16«+
+\b\18h\89\8eÙJ¤*Jvòßï\1d%ù×â-]\aÃfÈãÝ»wï\8e?N|êà\9fO\83.õ®(JO:ÞpHÛ\8fü\19?:Ôï]z×Ô\1f\ eð½{Õõ|Ê%-°¹\83ã\9b\8ffswàõ\9aÍ8Ðl¥^÷úí?ø×¾7ø÷\89·<Áå\8dm¿\87CÎømð\86\8f\1dº¦`A¾×ïué
+Î_^\r)\88\9dÇ\1d
\16Õÿ\9dQ\18v^´&m
+Q(£©0d3\19©Å+    ZÊ\17Z\89¤DÈ&ÇomôE\96+](ýLÑRä"*dîý\1a|;éÐ\85\ fôpËÖø±u
+\96l1IÌ\9a\rÉ\17\91f\89$\95$¥-rQHK"IÈ,¨XJ+±¡\90ÚÂ;ûá\98ÉcëäwºÞeß»Æÿ\ 3\17t¾TÚ4ñÓÙãÓ\98ÎF\9f\1e>hY¬Mþ\9d\1d¢3ü çÜ\94Ù/\96Fwï0\8ekØæ©È2-RI\ eW¿\7fº¹hçË\99\ 3X$\84Íde¾\92ù{nèöØFf²2\11ù\8e¹*\86½\ 5kÊ<\92?aÛwØ$&\12\89ÍW;¶\1c>;¿\19\1a\19ËØ\11\ 2Ù!¥£¤\8cå±\0\8e­ÓÙíø÷Éôï\9bû`ü4½  ÆÇ7N¦w÷\9fGc \1a\86\8d\87a\98\95óDEXI\97Æ\16ö}Ç]î\7fâìx:ú\7f\ f\8f^=A5\ 1!17+æ°#ù¹[jhrZ§\88\v¡4x_U\9fH\8e\94\1d 'UXb¾Õfkr\9c\92Ð1\9d6`mná\9d¸"?\9a-Êr\99\18\81ü\9e;\13ìþ©\ 3\ 6)[\8b\84\ 2\13¬\81\e\14        MsI¥\95ñQס-      ª;§³&§\82"©QòIòJ)\0`\10`²N*-\14Ë\82\93\81\9dp\8eÚ·¯¶\90){Wj±\12*\11óDþ¼:MM!\91&Q¸\­\97\ 6NT\9eXÊD\8e\bkÖ;\154i\8a\10,A;¥\88\96\94\18ó½ÌÎ\8f;iè»\94\19\9fexu\99Î\81\b´.j,\ 1&A©Ò*-SZC\15I¥YÎ$Êd\ e!N\85\8e\8e\87Åâ\9aKl\ 3r\ 5c\ 1i'\11¯\94e4\9c¾Ã\1cð\16ñ\ 1Ð\9c \ 5\82\80\8b\86};\1a\82\ 4»\9c8Ã:\ 3ã n\7f¼&¿Ïmç¢ê;\17½®ë?è\b\7f|\9a\ 5\95m¶?öÉ÷y'\9aFwÀ-#XÖ¦\òlé\bÁü-\1cØô0£/JÇfmi\1aP\1f½\15ý¨ÛA\13F\11T6ÑÌ\9dÍÖÝ\870ü2\99N\830\9c}\9d\ 5ã\87^7\fGO\93¿ÆO³0\1c\aNη>´\98éM¨=¯ËîlÊ\9134y¤\9b8Î¥Eé ðz\89UÇ)=\1cHE\11-áh&Tn=\9aìU\ 3Í_«Ds[\80\15\93\94Üh\ fnTz\91\v4¿2*JÎ\9cÞ       ù\9cb\99\ 1\fX¶4kg0¸{lÃ7©W*7\9aIÈàÁõ\85z\86\8dØ\ 3\13vP\85I\89NózpñZTîÉ\1f¥B«g+UߥÏZ½´ï\95._\ e\11nË"jodw\17Ê7Ø\80\1c÷@\b\86u4\9dѽ+\8f*eoÓ \12\99\98«D\15¯ûñ0(\f~\1d·\95E\99±\98\89æ\ fu\aß@P\r4\v\119cÈË\ 2`q\11ÄHä\ 1\f\12Zaxôprº\93'(ô\8fR¢àØ\99jfÁyö\ 3Z\19)L'Z¸\94\ 1µõRA\0\94­Ò%\18J\8dÅZH¦²¸\9d|\9a\1d\<51BzÍ`\ fãT*Y\1e÷Ò\88\8aõè\86¶ûpQ\87R)Ð- ¶T\9b¥y\ eá\8eÀ!
+[Ð\8a\9c>\8f\1e\ fîÚl    \7f\80­\85SìFc\1d¡\9dòÁ\ 5\8eÑ\96óo2r\94ÀôÇ\f®ä\8d\8f³®,L\89\92¨\13ÓxÂû\ en\8e \8cÒeÀY_@\9bÝ\ 5\9aÀ\89sªô\81«ëþ¡þ\8e\91è;ó\18\89C¶Yº¶(\f]ËÓPÊ·q\ 5{\ fÀ`BóR\15¼e¦W:GP\8b\19ÍÜ ÆKfÎm\b\96ëXç\95\9an==oÜܨ|­\e\10¥\rÆÍi ÅMñ@#wªÂÝþ\9feqSy\18\1a\r\9chÐD\ 3\92)§¤ò\1cañ,©*¦ròª\92Þ©è|\11ù\9d\8eßÆGw§\81Oo§\87¬\f[M2÷n`":w«©\95l\816S1\85\93^ $4      ­\85õÒý   ìG\91¢¢\9e\15º3t\89\ 5Q4r~È\93D9\1d«Zþ^¥/\85Å\80!5=«\15>a6\91Ìv£å^\ 2·rí ç\16sUÉO`6Ò\0ÐD:\17\9cm\f\86\19P\aÅÐm\1f'ÛªäÁ\17±V'b\9e\81ñ\9d7s\füæªû\8f\1e«pµÜh\˵?÷~9x\9f]t/½!Þi\10ÈfÐƳ\b\13V\99e&/è7ú*Ý|»\15Ú¦Ãâ½É/<n oÆÆúð®àÜTHõh_\97s\13Ç®ãÃ:Hÿ
+\ fâa\8f®\ 6\1dïº\8bÇfÜ\9aÝ<ÜÞÐcn\9c`\8cLTrKr\1aÌH\4G.\ 6\1d·\7f\7f\ fúÞ\0\8fT¼NãÖÕ\90O\8c\83\93?Oþ\ 1Õj\8cÒendstream
+endobj
+1272 0 obj<</Type/Page/Parent 1119 0 R/Contents 1273 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1273 0 obj<</Filter/FlateDecode/Length 1774      >>stream
+x\ 1\9dW]oÛ6\14}ϯ¸èS
+8²\9d¸v2`\ fÉÒ¢\ 1Ö\8fÁ\1eú\92\17J¢-6\12©\8aT\1cÿû\9dKR²¢\18\r\88¼\9fç\9c{ùëlN3ü;§Õ%]-)«ÎfÉõ5\1d\7f4;üÏ\8c\96««ä\ 3-®Wøûå\ 2\7fm$mqv\86Ûý\8fîìÕõñ,ÎwGéf\91Ì;\eÝïï6gÓO3º¡Í\96æÉâê\92\96pòayM\9bÜ\9b\9eÑ&;§øÏ^iK¶­kÓ8ú\93¾\9a÷\9b\9fg3º\98#`\\18\9d\93ͳlpìåå%\19üÇw¦\9f\164\9f³Ó\8bàõârå½ÃȾ\90\b9\9cº\8c§Î\a÷ÙÖk\eç¤,¹BÒÃw\12yÞHkÉlýo~<|]\93õ\91$áÒ\rÍWì\18a_-\92\ 5\87ýÙì)mÌÞ*½£m«3§\f\12\15\ 2\9f\9c¡\Ö¥9\90u"-%\7f`[°p9\v\16ð]êÜ\7fì\rµÞÜZT©x\1d.ß[%Kö|\8br:ádN"5ÏrB_ÖôCé\1c±P%²BiiÑÀ\9d²\ e¥D\8aª¡¯ÒÝ=|[\93\16\15>>\9e«D&\7fødã\rÿ\85¶¦!     \131ÒùUrÉ\1e¹\16*\93ä\ eµ$¥ÉÔ²\11\9cïã{2\9a£AkÛ:¡ÛÒ\9a    \89q\80\fù"2G\95t\85É)=оPY\81\bÐ\ 5\ e*\ 6\1cÌ\8eÜ;ñ\84 ëR \ 4\1cÏ%òª\90\ 3\93È\13\91kã|J\83zd¥\92ÚMC3©@d©\94\9a\19?\ 5\r:=ò\19!1A\9c¯ìÿýåó·õfM¥1OmÍáHÍ-Ì'\1c\81ÚÒ=°Ãe\1cV\1cÉYS¶\±W7¤Ë<À¸¹Ë\0\8a\aíSÈ\84\95ì\1a æì|ÞÚ\fã%Q\96o+\a\0ZÚK|Â\9f¾®!Pü\1eFr£%×þßûï£t\ 1@\91éKhÃ-Q\88\17\10ë{Ó\87\ f\s7K\93\89\12¬Nµt\13juÉôéj\83û­Ewp¶\ 4\bûH\ 3;\1eƾc©¥M\bÙÛ\16°°Êµ\1e`\96<\17¨n̳Ê\11\8f\0\84\ 4x6@\90$Ë|\89\8c\rYWâ\80Ns#2\95\96\87Q¶Jÿ\94\19\13\98\8f' Òâp¡\ 2\ 2\1d«\8c\93Cj!Ó½i\9e@\9e@R.ûxLhm \ 1ò\1dÕ¢\ 1\9a\ 1ÐÇ÷ãÖþð\8d|\ 5:F\ 3\97jr\1a·´Wè$\ epÇPeÅ\1dâ²öìÞ+Ç$\92Cdt~;ö®¹¢µÈ\9e¤³\94  Í\85iLë\ 5\ 4\8aÖ\86ë@\14kH¤ã°å\9d¾\91È\1a\83NÇë±$¶óØ\81ø¾mX\159.¯\r 
+\1a\981Fà^\96(>SÁgÇä\8eÜFbY#\ 1;Ô?\0¬B¾àvè\8e§\17#87\fL\90]\948\9e\8f»+_ÐÅ\84¾Á\13¤ìHÄØ?¶Ð\89\9e\8f\0åð!\ 5Ä\1eS\rã!7\95\80ä½\8e$°d\84ªx²×rV\eD =F)0\ e\f\12F· NVf¨\90;àwÞxf´kLÉøG¾"Âá¤ç\91O/l!P\18\90\8c]6\ 6©e¯>ÿ\93\95|<ß\ 2°^@\85}â³^
+¡[ÛÆT\1d\93!ïDZÕÁI¾d\85Ð;¾3d\r»\85Ô\82Ä^@ö  Ä(?\8c*\17\9a\8e/\1a\f\ 3\99Ôq}\ 5â®ê\12Ì9\92°,GÙöÓÍ\15\ 2Ý\87¢\ 1E\8c²\bÄ\84>z\97óùÅü\ 3aD\0ä¯!\a¾\15²ôÒÔ\8f\918\8a\86\98\18ù\ 5BØË\18\ 3w\87à\¸\96C       ËC\8fî\f\1d\96\8d\12\ 3\82\1f]DÖ\16jWHPº­\9dª0ÉQ\7f8\1a\fNX©\15¾\82FÎd¦$äiÁ!\7f\ 5\18\ 3I:\7f\18\1aX»|t}<@ãID\8dÉû\97\1f\99\98"ÊvÐ\8d}\1eT\1aµ\0mY\99|Ú(+Kç\84Ò\96Yiýò\83å¦ë\8fx\16ª\14©*\19ô\1e£M\ 3\11\18%zBxØ%\86\8añ<Üզǩ\11­tâs«\ fÌ\81­Úµa\9b@\19\80\96\14RñôVÜ\80ï)êÚ\93\16\13\ 1ÚeUÆ\ 5à1
+e?p¢\r¯\ e\99à\94\11\14ö\17|\1dÅ_\b\84\b¦×(\ 2$ϳ\9d\eÖ\80\8e~Øt\15À\99h§C®\1f^X±ÞHi\18\7fq}æñ·\85@2Ü\ 2\ 5\82\98\83\ 3{ÐYa´²~tr\9d\a\ 4ÅÝ\93Ú\8dH¼@½\81]7Û¢\r6>\18\ 6rsl\95&\mÚªRFîû*u\93\9bE=(\92?\7fJ\8dFe\ 4§ûùÛ\r]^«a©\91¿ZæË ¯\90uÓ§\1dc\90ÛmÀ\f$&mT¾\83\10`~wõfÉ\f\122rn%Opn\176\f\1a/i(8nÇqßÍ=°Àc\83$\84=Ì©°EQ\8aý-\7f3I\ 14\96Ù\91Ë\93g\ 3\95\14\88_\98\16\82\ 5        Â,\81M\1f7Wþ7ýé7¦A­F\8e=^\8e\95£\vVûà\0\84ÎAh\85gM\98\b\9e\9bè@÷T:n´\13ÿ"ðùc?Êíį¿\ 1kaA\1c¹õ\ 1\99þá\ 4\8cxE@·\903¼cWÀ\88PX2C£B-O\ 6\80\8d\90'\92²\15W)æ\9d\9f\1cÑÇ\93YWÕg(4vöI|<â]í\9f\98çS,çÓ\ 2Òk9üãÛó\1cï\eT   \12\97Îé§ëxg¾ÄSûú\8a\96³E2[~à\97ÓúöËÝ-}o\f/\9cto²¶BZ\9e\9flö¢»r±\9aá9ý¿^\95üÎüÝ;r±Z$+¼Ïgìcyî?nÎþ9û\ fÇxo
+endstream
+endobj
+1274 0 obj<</Type/Page/Parent 1119 0 R/Contents 1275 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 622 0 R>>endobj
+1275 0 obj<</Filter/FlateDecode/Length 1936      >>stream
+x\ 1\95XßoÛ6\10~Ï_qè\93\ 3Ä\8aå8þ1`\ fÉ\92¬\ 5\9a¤[\t\ 3òBK´ÍF"]\91\8aãýõû\8e\14eGi±\ e-\9cH&ï>Þ}÷Ý1ß\8eR\1aà_J\93!\9d\8d)+\8f\ 6É\0\8f?\7f?J\aÃd@£ÉY2¦\92ÒÑ8\995O\ 5=\1c\1d>ãÛÙ\14«ÂZþv\90L§°\16\15\9bƪI\92Òh:ÁïÃQrN\95¤åQ\9a\8ch\98\ e\92!¼L\87í\83w\82§t6ÃgI\13Þ\15\1eø«Ëy\172\9c\9cÞÌ(\9dÐ|\89³\8d§)Ís\7f¤\ 1ͳÞí\ 3}Q:7[KVfu¥Ü\8eÌÆ)£-       \9dÓÚlÉ\19Ê\8c^ªU\rd\ f¢\\88ãù×£\ 1õ\87\ 3`\98ç½¥©°[\96\85´\96\94vrU       6ÁËNo\0\16>Ùy\7f8A<°áÀkV(©\9d¥R쨶\92¤ÎªÝÆÉ\9c6ÂÚ­©r\0±x¨\1c\99%        ÊÖ¢(¤\96+yZI»\ 1PI¢vkXQ\99wK¥ÉeÑ`LÏ\10B¸|ì\89ä)\11  ÝÍ?Þ>§\8fÇ\ 4Т0Z\9eðoY!EEN¾8²®RzeÉ\9fJ\95\9bB¶Ph!,\90½v\97Ð\alZ\9bºÈi!\91=Q¨\7fdÞñïÖÂÑV¹5\ 1*=Ü^Ò¦2Îd¦ð/âaIñY-{1Ï\12\88°XK\878<\91Än¼R\9a6\85À§G\vìmÈNhQ;ÒÆu|/\fÜò\ 6\18³¢|\13¯J~«¥³I³m8\ e\82\98î\8d·A@>À\ 3ä
+\81h_Â6ηF¦\16Òïr²Â\82ÅÎ;Åbà¶\aÆ\18ÍÖÐVìì/ì\16åÖ\8f~/4Ý^\8dØØ\9aSΨ?ß}øíþê:>¶Ñ
+¹Jh¾\86\7fÒf«\99/¼énîmøc\9dÞd\r\rû\93\ 45\0ò\83\13Ãñ\84Øû\9e¤þË~$Í\1cVZ_0\8f2@R\98\9c¨\89z³Á©20âÄ\97
+\"3"Ï9wÈ\U\83\8eai:B$\9c´\rÐ\80\9añò\9e\ 4Ìj¶áÉr\1e6òÁï>\7füÈì¯D\86à\86ò´\9bB9\ 6\ 3²\96>¢çcZàÕÕõ\ 3\1d<\98\18u\8ae\eO÷®\14+\95½£©÷AÏ¢¨%#d\ eÛºp¨\ 2Ja\8e\91ûj\0Zú(ô­Ð?\ elLâwbÛ\1fN\93tFýóa2åðÿmêX7\95\2Ù\8dÏÛ§¦ðé:h\ 1\94\84Ï\rQðäw\9cë÷÷_æ÷È\a¤ c©ñøJ\ 3bæÒ  UXÂ;Æ«´\96U'Ä\M\âÍë\bù@\95fç(OÙ\am\9f\1cÈ\9e(=¡\83\15 \17¨`½P\9e%/\9e\ 1Í\v\1aA\93ßl?CB\8b®*yÅ\veÍ¢ÅinùÖU\99\8b¢Ø»ÄÂ\ 30¾ø\96\b\ 6«õZB\11[lÚ\10Dnõ&\ 6\16ô5ÐÔ\ 3)\89\9eQÃ;\84q)À\81®&\1c8\8dʽ\16ÏP\140\82y\a\ye6\eæNÔ­\12\94ö\8aÚh\ 4\96{\91P9¤\95U6\1dP©tÍ4ÃS\80\e\1dG²z1â\84z-\11ÎÉr\83¶Áu\88ãò\17ì\ 6e\93W
+\ eP©ºaÆkeòèd~â·\84#\80î}i\9dX\14Ê"x\1d²°é\ 3kµå£¡\r\89l\ro\99Ù a\ 6\91\8añ\8bÐ#¯<ô[\95\9a¥c*#\1f\90\10\18n¢¼O:³ÀcC\ 68\8eX\17\91b¯ì?zlû@\at\v%(c)\ 5ú¹\ fÄ\96U\8a]Wr¥ D;ø®Ð\13|qAá"8㣢\11\14\1frÏÌÖ[\8b\17¢Ûm6\9c\ 5\ 1yBf¸ÎBOò^E{¤\86\11t\98ÆJB\80T\ eÉ\84M_+´D!\93
+Á­diðÕë¢è\9c\9aË\15\1a\91\e\10      ]°\8d\Û ÷¸\e%>\b\f\9cBW\90\10¥\95\93ÅÎ[\10´2&'\95\ab¢ø\90t\1c\7f§\88Zçèt¶ÎÖ\980ü Ó%Ç\1c©\b\95Ëyms\81L@e1N\80ݾÛø     @T¦ÆPÆéSÖÖ^/âø6{i\ì\e\13[ärÑÈo\97Ö<ÜE\96À\ fÈ\85*ª@\93R9¯üp\82\8e\12\14\99Ç\95&¸>\93¡\b\ ef¦×iñg<½\19Ð\8cç>L²gCt÷ód\8a\9fÐ}vë';*äs\18ÔzôkÓ\88\87aSÏ\8f\91AµZK\98 1\11ûÞ\11\8fõÓ&â\14Ú\8fp&\1e\16à\¶b\17\86ÛÀ=HiÓÝ}¸[\7f\1aær\84\11£Â\98§zÓ.\8c³\16È,xbäâ)L&ºêow\162F"Ë\90VÌ_t)3\ 1O<îüµÏ\1cËÏ3\8f·Fcô\85Üh|à\1dú\9c\86Ý\16g;\e\ 4qc\8e\9eÞ\f\9b±§\17OСn\9b\82ý\fÔÛÓ\90K¢Â¸\a\87H\95\86¤K\8c&]\ e¿\a\ 6\14ÞÉ\9ePh¾þ\fá\84\90õ¥ÃîR<µbRª\17\96O\8eN\8b;ÎG\87U©Ñ\12rd\82Õ¯;Àð\91¸Ï\8bö\ e³/\ 2d¥QmN\90hRÛ\90ø?øûÝøÅbù\99ø\95µu\¼Vúá\8cëµ\14/ª¬KÒu¹`ÔË}\99J\90\18ý¬¢íZeë\90¶qL\eN\81\8bEx\199Ü£ ²\9c\9dý\b\8e«\r+$«|\a#\961\84æð÷\ fL­ð
+\15\9f«@,?2Æ       \ 6ðü5ì±÷xì£ÁA\ e ZBÅ\80ìKð\90B°0\r\95\14\86I® Îv\17\1a®oÚ\ 2\ 2zv4è/|¸Ob¨«LÙæ\96³\1d\19£\14no\96%\99GU¶\1eæ\ 6üXáÁ)H\1e_\ 4ü}Õ\8f«\1dÏ\9e å\ 6S\87\ f\ efù²vþþÈt\rïâ Ú\fì¬\99Ü1½4âæÈs\12ÿ@ñ¢Q        äØAè\11m.v\1eý\1f{ÌÚ7S_fÊ\85Ò\8d/nr\8fÇ\8ddN\9b´§cÜë§g4\1eO\93Áø\9cUóáâöò\82>Uæ+æ\1aº2Y]B\13Ú{v?néO\ 6\90ÝWwìÿq³÷uö£»üh2J&cü    \83íO\ 6\1cÐëùÑ\1fGÿ\ 2hx\97fendstream
+endobj
+1276 0 obj<</Type/Page/Parent 1119 0 R/Contents 1277 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 627 0 R>>endobj
+1277 0 obj<</Filter/FlateDecode/Length 1478      >>stream
+x\ 1ÅWÛn\e7\10}×W\füä\ 6ÑZ«»\vøÁ\8e\93Ö@m¥µ\8c @\ 1\83Ú¥$:«¥Br%ëï{\86äJÖF(\8a\0E\93X\91¼ä\Î\9c93úÖJ©\83¿)\8dºÔ\eR¶ju\92\ e\r\87=¼öÇ#¼vñc$Íñ`<¦Ã\8bYàC\87\ 6Ã~2\8aG{\83¤W\9fíÀlR¿Ä³ý´\93\þ;³½Nº?Ú\1f&éI³\7füÒê÷Ò¤O£1bXQ\7fÔM\86áCA\8f!\93A2à'=\9c\1aòûøàDt\83Á>\91}Î7ÓÖŧ>¥)Mç\80i8\1eÑ4÷\89uh\9a\9dO\97\92fÒ:Òk§tIN\93Èñ\9e\94å÷²\14³B\92­Ökm\1c͵Á¯2³[;\99ÓZX»Õ&·´]J\0,7ÒУXÍ\ 4ß®¬Ì\13\82}<\11Fþ4}iu¨\9dö\92.\ 28wK#%eº\9c«Ee\84÷½ÖÖª\99*\94SÒz_µ_=?åög¶yñé\92Ò~H®í¡\84õ'+éþ\91¾¨2×[K\ fS\12\96DI¢rKY:\95\ 5\87V\1a\84\1c¬\1c jw\19\83$VÒ-uNªÜèb\83 p\1døä\88P\97\96\10\16ÿb®\8bBoU¹\0"Fà\8a4\16Wü3»\9a%\9c%ÍU!cÀ\1dºäxQö^\97ÚÝA2ÆÿðHñODø\r¾Wô§´5\82 ðÛÓVf\95QnGWtÈ\87\91n\9c««\15OáøÙ\83t7w\93Çç\12A?ëùóçÛ\ fgÇh´ë G>X\ fK,(¹­¦­Øy\18TΰÎw\f\ 2È\0T\f\81+¥v$\98       \86\ 2\aÒ ;epßÒF\14*\8f§\13\9a\94\92/x¨ë\8c#g\8c\\17;\0\v\16®"c\8cÞÀuÎå\ 5ö`q¨H£Î+i­Xø\ 2\19\9dáÃ{_\eíÃôÎ^*´\0\87'\8d\99Îe\12½w\87\908\81MeÛÂcpÄ\ 4ÁIþpÌdn\1e&\86È\1cÞ\88Ð8ûB\19),Ó'´ÊV\15\ 5j\ 2߸ÒȸY3A3½¨|o\1d\10­\7f¹?Ìy¨\0\84\91+íп\9eè\88G\15¾­\8d|\91>4\8fµ7Õðü}©\10\1d\1a\bÿ
+ð»\ 4þ\e¹Ï>\96¿î+àá\8b\1a\8a´×\82/A\vÈ*\84äa¯Cn8/tö\95t\85\8aÌá\v\fʤq\ 2\1dUV«\193\ví\84T¸îÇ\r-\9c\93«µcôáÕ#k¤­
+ÈYéiHl\1a\96m³ºOP\fO\9e75m\18Ï5Xiä·JAÑ\98:xÕ\10OÄg\1dð\12&§§R½\92È2]\95¡èL\ 3¤j\98q0\1d\1f5òÍ\0+ìÌ88$\ 5«k\ 31\85\89B/\98\1d\ 5²\82Lå[eË
+\85c!\9b\93Jx/¾ÊH4\ 15«á;¶\ 2\933×+ Í\ 1¾\1d\eÿ¤\89^\ f1:<|ß©áÿ&\86\87DN\88!ÆÖ×\85ÑÕ\9aeÐk\13¢\a\fá\92\17Á\13·jºÖýtEï\8e\81:)\97\ÿ\1a\9c³wg\18\86\8bjÅÅE\9dÏ\1a\ 2i3Áw¬\1f¥8\ 5^\b´\fs)\ 4Èrã\fÆ\ e\9a\ 1Ì\16¬Ã\rN\89R0y \160À7q$p\104Ì5Tv«@É#6=L\9bmq\87²\9a\1c^xò{\ 6Ç\89\b£\8c¡·\1ct,jL)%\16\ 2<~Ñ0Î\8e\8f\aq\83h¼!  µ\9fnQë}\84Põ0[­\9f\9cØîÚµ\1aONÙþ\1e\9cʲês\14\8fA\ 2ï\81Ë\825%\87xÐJd\80\0\1d|ܱ\r(ßæç\ 1ºø\94Å\85ª=JÆ)ÕKÍ_Ýá\88\8e\19á\9fï£~\90¯î=ñ\9a\85\88~SeõJvg¡Y$_1Æ]½!\f¢ùsÂþà)\92\10æóóÃõýGj¿ÐíäþúîÁ\7f\f\1e\8fCÂr\97\9f\9f\88§Ý\1d'éå\ 1ÇÿZ÷\98\9e\81AN7`Åö¨\16\8aÇ\7f\99\ 5\82×¥X¢ø3É#ç ñÐF(!c\17çZ½àÝ~\88<ªo\aEm8üq}\rnA%\8bU8[òºa¥sÌ-()¶C¿ÂØ¥Ä(\ f¬\ f5Á×\92¸wï\17ß\vé²\8bPÒp¦^<ϱâ:³kvàõñÄEc\ 5ÜØ÷ÓÝ­oµ\1a\ 6\1e4XÇ\18ÓÀÙ(ø±5Ñg\98+X5xy\8fÍ\89«3lÉ\r¤&X\8b7Jn)[
+¬ú^d|÷ÿ:ù2\9d@} <\19ïÀ±\1dÆ1Ït\88ï[ã\1e\rûÝdÐc
+>^ßß\Óg£ýÂq«3/}~1`\9fíúF{ÔÁRü\ 3\9b{\7f\84ooC|­ãÛ£\94\8d~\9c¶~oý\r\fBiCendstream
+endobj
+1278 0 obj<</Type/Page/Parent 1119 0 R/Contents 1279 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1279 0 obj<</Filter/FlateDecode/Length 1317      >>stream
+x\ 1\9dVkoÛ6\14ý\9e_q\91îC\aT\92%9\96Ü-\ 3Òç>4I·¸(\86v\18h\8a\8eÙJ¤+Jqýïwø\90íxq\8b.\ 1d%&ïó\9c\97\93\94FøM©È(\9f\10oNFqYÒîÑÞâ\8f\11\8dÏ&qNã²À{\9a\19µ\82\168<Âõíc8<*ã4\1cÎp!\1c}Èn6)âi8\8a×b8û\90Ùìlº\8dá;fÓ³4\1e\a³ù\19n}#Út\9cÅåa´Ïf'É«)¥c\9a-P\9fI\89\97Êe:¢\19\7fü\«\85¼íaõ\865sFÌ\10SÄún)T'9ë¤VdD{'Ú\9fg\9f`jLiêMEY\ 1S\8fgKi¨Ñ\95 ½8¼X\89\86©ÊP·d\1d\1e\ 2næ8§ì;½SòkòFªþ+\99\8déDCsÝ-\89¹/Èt\9bZ\10ã\÷ªCXÖû\88¢4\8f3ëu-ê:\ 4k\9aù\8a\19³®\b\eZèÖÙï\11vL³àið1XäH\13±Ô\9a\7f\16\15É\ 5
+û¥\97-ÞQ\ 2­ê\8dµqàT(ÞnV\1dÎ8\87º­h-\11\aìÀYå<ß\>#^K\84rP\8c8\18Ë&hè¶n¢[j¸Wwº¾\13¨}UIWrÔÒÖh¡ëZ¯¥º\85Ç\96\13-ª©ÝwÈ;æh\1f-d-\9eúî\8chj\9b\ 3Ìä\19EÙY\â\13Î\1e=¢U-\98\11Hs!P\1foÂ÷üí\8bçôûõûÙ5ñ%Cz-ÕÌ>¥¢¡\0 Q0ÓÙvs\84\vÔV»Ñhl%:&ëm\9fÂ\8d\ f·µ\9e³úï\ 3C\14~BE·õ4tN\7f\89C#Ãi#xßÊn\83C¶¹GlVºa\b½Ö·Z}ÛÞ/\16ë×7T\8b;Q[øæ9\ré ËVpÝ4BU¢:âJ\9b\1c\99,\8d'¶V\1f®^ÎÞ\¿¾¾:\96û\8a\ 1íç\94\18Ý\88õ\92µ"\91*±½L<\1d\8eøl\ 5«<@ÏiãKµce4t¾p\b@\18¨\ 4p\8anzZX®zÌ\ 1\ 2kÝ~ÞòÍSp \87\12ÂòV[ls¸´ ·\16\ 4ãKWü'\96'\ 3\v\87o\86\90\ 3I/oè½T\95^\eº\9a\bZØà¾TÂór\87nÓµ=ï¬\f¹º{&:Æ8ñÚ*Né¹ó\ eÝw Ùe\ em\18\98\ 2Üj\87\13\9f\86mhÕê; \9db´DÉ©\ 2Ûy§¡\18f©ûºÚKõ0¼{*eAaUí Y4\90ºÍ
+\9aé dÙ\v\87\T6+[ WFKe+°^×B\86ÇX;àþ\91K\bÚ@\91¡d\ e\98Ì\99YRTQb3IN-\eduJQCÃû\10]àáÎTÐÊï\9c#z©¬\ 6¼µÊ
+\0=¥_Wëß\82Ñ\ 1â;£;\r\8eØ÷B8nz×ë-\8e§\ 3\8eïa\89.=\8cèÂ×ñ8\16 ÿ\10\9b­¾;q_c¾\85\91\aÄ9õ¶£\8f\82x@W»Ö\8a\1c\9fÿQÌ\b\8a\19yÅDc\87J\aÐï\8báÿîï\82Õ\bÛ6¸\12w\89ê1dN\ 3uþQ\98\ 3§\1f?þ4ø=ÖáèGîÜk \85Ñ=oÖ\95k\ e\ 2\8f\17ì#vÌ@d°Eðº7Ø\15\1eèDáõÐÏ\9aÀA[êE-¾Ê9\86|#\18\84\1aZ£W¢\85Ò@YâØ\95\ e\8bÜ\1e«o:Ð.bµV"¬$\14Ñ\95\12\\82uÌO$ôÓª\17\ 4\vë\ 4 \fþcáÐAÆîi\83\89iϨÍ2ÚÛ1@*¬=\ 6\98 «ëÙV>\94è\9c\ 1ã\ 2\91\\98'.\rKï 7NçÂê\ 3|áß\bÌ\9b\f\16\87\ 6\ 6à y ©Ù\81Ð;\98÷\1d&1ö#È~Ã>»UÃë\7fØ\11ö\98áo¬\97\12"\roXnP\16¤\8e:\1c8Û»d\931\9dÛô\12\1f_\80-\ f«^TÄeJùÔ÷ñ#6]·\17$¯Êp Í˸\9cæ4\19çq1uÛÍÍÅå³\vzÛêOÐXz¡y\8f\9d¸2§Ø\91GeNQ1ÂÆâ\10ô#{è¸\18ÇÅ\ 4ë½½[dÖäËÙÉ\1f'ÿ\ 2\8cXendstream
+endobj
+1280 0 obj<</Type/Page/Parent 1119 0 R/Contents 1281 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1281 0 obj<</Filter/FlateDecode/Length 268       >>stream
+x\ 1\8d\901OÃ0\10\85÷ü\8a\eË\10×\8e\83í\8e)\85­\bTK,,®ã@ªÄ\16\8eSàßsnÊ\88\84,ßpwᄃ÷Q0 ø\18È
\0;\16\94P\10\82\95ÄZá\8f\ eºb«\8bõC\r\8c\81îò®P\12t\v¸O)h»j<ì\ fðÒû6|Nð¨\81\93¯u\8dêÉÙ9öé\eÚ0\9aÞÃèÆ£\8bäF\9fð ½\1e,%QÙ\8bnW¯\95\90°L\7fq\97aÉ8©ò\ 2\92Ì\90\ô&õg\a)\80ù\8b½[\90wÁ§\18\86á\9fXu5Ÿ"jÃ\81ß.àC³ß6ð\14ÃÉÙ\ 4»`çÑù\84.\82Ï~K&01Å¡\94t\93\8d"¶ëßf\8cï`Æ£\ 13e§fNï(ëíE\88ñij\8bY_Ë\9a\96\14$Ï­{]<\17?\rËrPendstream
+endobj
+1282 0 obj<</Type/Page/Parent 1119 0 R/Contents 1283 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 630 0 R>>endobj
+1283 0 obj<</Filter/FlateDecode/Length 1685      >>stream
+x\ 1\8dW]sÚ8\14}çWÜÉ\13\9d!\ 4\b\vé¾¥\99¤\9b\99NÚmh»\ fy\11\bÚÊ\92+Ùaù÷{®d\19c\92\9d\9dN3\80ìûyιW¿\ 6S\9aàß\94\963º\PV\f&ã ~iÿ|ý8\98-\96ã÷4\7f?\1d/¨ ÙÕr¼l¾iz\1ct¿\17t9\9d\8f§\9dÓîw\9c.\16­%~\17nh¾¸\82Ý9¬Nh\86ÿNÒ&\1c\N¦|||ða5¸¸{O³    ­6\88{±¼¢U\1eÂÅ/ÙðÛÃý_ôEºBy¯¬¡\ fªò$LN?\94ÉíÎÓÃ\8a®³Lzÿnõ÷`Bç³9Þ\1fÞXS9«é\93òU8a\1fÓeôq~9\1fÏø©ïJî\94y\ eö²­0Ïü%x,[\8f\9ejÏ?W[    _ÉÉd\1cÜx\99ÕNU{Ê\95Ðö¹ñ4§é´ñ4[¢\14ðô w¤L0ò(\8aµàÂÀ\84\93Z
+/Iùp$ÖJ³µ\8duÝü2­¤AÚ\95E,\92\9fT\8e\8c¨Ô\8b¤6\ 2
+q¦2L/c\8a10ZÛ\7føõ\17$\1c²-l®6ûà´6¹tzÿZêã\94î"¦û`+v/*üAÈ)\|Ì\84\93\9bZ\93±8³\94Ù¢t\16=\vÑ\1e\82´\9bà2\94xk}E±\180àjc8\ 4kF!@_)­\e÷)\17»\96{xÕ:\18Ù(-éÐ'XÐ\92Ë\88èDcWä\852@\80\13\15*\9a        \83Hª~R÷¦y:¶\84±%Ö\16¥å\8eçr#j]Ñ\8bе¤&üR8QÈJ:â\0/îfM¿\87dà;Óäë²´®\8a§ \r
+Ok)\r\ 5¬É\9c6¨Q|\b\84M\90IÙn\84ö²o\ 2µ=~aX¹ºÿÔ\88¼¥B\18\1a(\ 1k\10ø¡R>À­v\ 6\11àl\rôÆ,CeúD       8ÿÃîZø\84º·°\83\81Tm¿\ 5\b\8e\ 3f>6\f¸C®è,óu\ e\15\88\98F¤hº\96çø\9aý¤\9dª¶¡ìN=o+*,Ã}]W\15§\0G\ 6Ôண\99¹r2CW÷L«\14\ 1^0\95Ì9\ 6xN\85Ì\1d\13E\83\1fè\18^ýöpC¥¨¶cú±E3¸Í\8545\95¶ôçu9âØ\10\f\1câ(æ³h;üÅYT²R²Çõ!\81¢\88&p\ 3A[\ 4]$À°ù\ 4»\14Õ\8a\19´vLYªË\10\85±®\10\bú4~\1ama
+\8f¸\18±J]\15        dÜ\81/@\182\15dÀòJ¬A\15\e\95«W\91Ê\96À\87û\19KuqwHï±\11´ã6\ eÇts¨      â\ eÆA\94½­\11\ e\1c{É|qø\eÛåG'\85;(jÏøÉ£×u®XËúϱ0ôÍ~Þ\19éüV\95½\87OË}ÒÊ7Ü$À\85¼2Á\10\94À%°\ 3ôJç\80 \ 2ãF<Kº\86\80ÿª¥\aæ¨\ 4Ê\80\8aú°\fn¥Î\99\\8c¯\88vP\88£ì@S\94¥\14\8eT\94E¸Âçø6¿Å£­«`#F¯HxØmU¶åÇ\150\ f\rÏ\99¡\10GP\15\81\1e½\18Nò>/DSæ\90\ 4è\ 4\94Æ!#"\ 4{Qa¾=GÅ\80\8c½\16Þ\98\ 2¦\9b\89\13ò0ç\9bÚd,A¢/æ\81ë\89¸A:"wð^¥
+\89)\10½X£÷<öxºDl\8dØ{l÷o-/¯cz\17w\a¹m\84\91\e\82\90"Ì5U"\8dÙ\0\8eö\9aÂm\80o\v­f\\9b·e1í\ fQ\94^GbG\ 2\ 3\87â\90{-\85³\16Ëg=0'H\1eä¢EA\18ìRk6\eظµdw&Öî\19ÂgB3¹7ÐM\ e±\97­Á(\8b\1cFºÍ\80ÃþQÐïÇ%æ<\9a5àìñöë÷Û¯OO\ 1°OÃO¬2lçé]/òÎKÐZ,\82Ñf;0£¡~¶\f\ 1\86¿¬>Ü\7f~\f\96SdQöР\17éF}k\1cÎ\e¶B¤!Õî
+\12~Ýmû¬lëÇ}\8dëH/î£\9cßp\99K\9f9UÆ-­b¡'\95\ 3\7fØ»ø3gØÔ/ê>p¹ÁüÊ\9b=\91­v\94âãí\rJ±Q,*Ý\14Jáýκ\9cr\ 1QÆ.ùôîH¬O\88r£íéZÑP\ 5\98\87\fÄÝ\aM\88LNJ\9aº\7f\1fÅêÍ%è¿w \98Å\ eÆì\8aeK\8bÏðõu'\rè\ 3ÃZ¬ú-ú\94T\ 2Ryè~R\85NùÎn\ 1\98½5²\aÐa?;Ð$\ 6\96\8c\fi%~Júü:»\87\89\9a­ÊDma*"Ǹè\85^\aîñ \8aíC\1dBNx\bÏ:/õ\86\9e\86aóh\14B\85ý±\93Cp\91+_j\ 1       Kc\80\ 5\80×m-°ê\ 6\5+H\0\17Ç\81­¬£}­\8cÃs`Ù*M'ìÇ,\93ëP\80\8eß\80J\86\15j\ 3|\b\8fÍ\88o(aí\b\\85ÇöúÄ6\8frMÓ\ 4\9bûaH\ 2ÄXoâr\8a\ 5\8e/\ 4a\rè¸\15/Bi±æu\8fG@\f7öæ°¯8kOÖlN|L׸\94ðÎÒT3\ 4ÛÀ<\fõps\84Q\81µ°(ã­\85¯\80qï?ΠÇÅÔ8Nµ\19*\91ÊMm1\90ûµ=¬h\b\10¶Yv£\9e\85\8eq%1ø\9aisu¸\10\òu\1awÈÿ\7f\15¦\93ëï|9\1f/\17W¸`ÃÐrΠ       Ý®\ 6\7f\ eþ\ 5¦W\0Dendstream
+endobj
+1284 0 obj<</Type/Page/Parent 1119 0 R/Contents 1285 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1285 0 obj<</Filter/FlateDecode/Length 1798      >>stream
+x\ 1\95XÁrÛ6\10½û+vt±2#Ë\92íHN/\1d;±;î$\8e\e«I\ f¾@$h¡&\ 1\16\0-«_ß·\0)\91\94\93\93ÄC\ 6àb÷íÛ·\vÿu0¥  þLi~B§3J\8a\83ÉxB³ÓÙxFgçs<\9fà\9f\95\94\85\85³É)^_Y\98¾}7>ï/\.\ e\8e¯Ïh:¥E\86CfçsZ¤\84\ 3&\13Z$ÃÅJ°r$4Ý.(Y\99µ¦Ä\14\85Ð)ù\95ð´VyNkc\9fðäWt/\8a¥Àî\94D\9e\9b5   ª\9c´qí"-\94VÎ[á\8d¥Òªg\95ËGùfñçÁ\84\8e¦§ã\13\9c=L\8cÖ2ñ\12ö\r>\8f\ 6\11áø\8c\19Æ\84#k\8cçõd%ô£\84'\92à\99´n¥J2\19e°ìÈhZ\1a8%(7\89È\11Áõ}\Ú8/\v2¶w¶\95\85ñ\92
+Siv ì\87«Ñ\87\14\ eË1-V\80\83\11y\16*\17Ë\²?¥°\9eÏ\85#lòøzVC:¤{\99äj\19ÿ·\ 1zÈ`:\99TVù\r
+»¡5Þ¼\84Ï\9b\9e[¿"   Å\86.ò\9Ä\14Ï©½ZHQ\8cZÎdÖ\14\ 1\8fB(]ïÉ|INy9\8e^¼£)²Ìé>:=\ 3¬\0ý«\92\1f\ 38\80\85Re\91\ 3\ 3§Ji\vå\9c2ÚucÀ×'sP\10_\83%8RÙ\94\96\95÷ð\10ðl\91x»Ebp·³5è\1a\eÖ_\8eé}®\92'v\ 5f`ÓÑÒâÍQU"\8d©\12¹yDR_°\ 6ò9ð\11;8Çõy-"µ<\ f\84Ä\ eúýöæ\8fÈ\94\ 6EfJ'bÎpÍ&\8e#U®ÌÅ\ 6l\0\9cl"3¶ \9f¢ûMl\8cÅ,"9¸¿úòõêËÃCàýÃð£A,Z\14òáM/æÖGßB\99E\9b'\r^ÑP\1f§\b-ÝJ\7fyóù>XnB\894\8dE2¢\9e5vç;¶\82§ìbc( \14ëveø£\16ª(³\90Ü@\15\10\ f\95Þ;©\13ów\8eL¥K¬*=*\8a \b\9co\95JíU¶ágƹÆO\ 3nHÉ\ 6¸W8+&¡çÓ/Wï\ 1E¦d\9evB(\85s\90¦\94RáÅR8ä \94@\vù\9bP³\¿\88ßC\zÁhO"ÉÉUei¬\7f%\1a'\83\10Å\15¨t\10Òa&rW+Á®æ\11UM¡À9Ö«(\9fK\80\10\94\15J¡C\1cvéjq¬\91ÈÁ\15dpc´ì1j¸åy\9bûA¡ÛGÀüàº\82l¿7Ú[\93\ fú ,àCÛBD¶S\f©Ê2¨\92ö!36ªj8¾\91\ e\88\9c¡\9bC\9c\14ó\r'8¼µ@6\19\82Ö\19½\8c
+t\9d]åeÊ:¿\13/(V\14¯i,¹k¶u·Ó\96n\968ÙÜÔ\82J9\ fÂ
+0bKñãGkªò\184\ 1yÀÄ\92\ 5=47\89Fg­t¥Ñ)\93r`¥H\a#\1a°NK~\90/\90p<þ \90h\11Ý\ 2\ 1\15¢,¡#ËM-ËJ\87\ eçWVJ\92¹,\0'çþâýÇØ0\19¬C{8¢Ã5~°W\87/\87´TÞ5¶\82  lëÁ×u\1c&[HG}\vñÇ [km7\eÓô\98\9beh\9e\14 \8aè¾ÂÊ\86\94\87#T.\8f\ 21r\ e ],4ËÎÁõ\16¨kÌMð­åkhï\ 1\83­\17-Uê\98êp\a%\15f\97®ÛÃV\81í
+Taö\bG¼úE\9c!¶§ïƦ!\85\ f\99*h\9a\90´P\13¯ÆÜËSÇí\16\ 2\8cÒ\96¡» ûuzÁ<Ð\9b¸ug\v\93\ 5\18\92\1a\99'ÐL\9e\940´!:p\81\95ÞAÑ\12\fFuOo²9¬IÞOa\1f¼A\9c»öä'\ eTÇ×-{\19\84¦\175P\ e²Ó;\85µA#/U\90{\86`\17\92Û
+eie¦^vdb}ß\8fâ\1e\99À¬@\17I"\9dÛó³nå\0£\16\99ÀÉ>¼\97\15Æ[\1e3V\¸h{*6\8b ]+\10K\9b\8e\8b\85gÌa\11FB\95T¹¨  \1dúY`\ f\8f\e±ô\90\14¨\vʾ\87ÐÏt\831Ϧh\10,\11Ì\f\1atO\eð
+«º\ 4h,\r\85\81&+\1c\1f`\8c³\80A\9fÈ\8dH\9b¶²\97Ç\85xêkÇçf\8eÞC\8duIx(\1a¦<I\ fÃõJ\81C5\10\85\14:´q\1dèøð&8e%·M\94 ó/\86\1a¥­\eL/|@»\12ÏÍ p»Øsûó\9eo\10E¦}=\9e¯a\ 1w\15\ah0,'¦²\ e­Ç \1a\9ep\9bñ¸\ e\98\1c/\82þ\96Ö\8c¨q\9fßzÞ´X8¦O\86ÕEzÌþá~Á4MÁ5\1e\90\91\8e\95
\ 3­²éº\8fÐ\ 3^A
+¿ßÁ>lÇí»\7fmcÍ^ôW\9e\91ãÅl{³!\17¯6À\ f\11¯\r\b^7ê¨
+\80£\13Ï\ 2þ\87öÊË\fVk\15ão\ f
+\8e\96Y\10öÆY¦i÷\eàêd\9e\8dÀ?\84\8f¿M%ïúx3As;ß\9e\87Ψa×!\9cz=\8e|{Iÿò­\97õ\96þ£\92\9dßäÍõì\a\11Q\82\97»V\e&ù"\12\9ed8>Ç\830\8f(¡Àyøü\ fÃÊh;áàâ»DÙÅvÝ\19\99êè\1aû}µáLàJ\88\81f\am;)u½!\8a|ËÚÚth\19í½QeX\1dP\88èO@ú\95\94î!­4î#\98\1eàÃ\ e\r\8cÛOÐÃ\ 6Vþ-@p'ÄÞÜ"צÂxUÛ­ëà¼\1e\96§3ü\ eãü\94fóp\99¼¿øtyAwÖü\89fJ\1fLRñ\$<
+\8c\1d=j¶\1fÍ'ïþ×Õõl~6\9eÏÎqíÅ08\7fËÆ®\16\a¿\1dü\ 3Çuz\17endstream
+endobj
+1286 0 obj<</Type/Page/Parent 1119 0 R/Contents 1287 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1287 0 obj<</Filter/FlateDecode/Length 1504      >>stream
+x\ 1}WÁrÛ6\10½û+vt\92glY\92\15ÉéÍ©ë©'\8dÝ6ê´\a\10\14\11\93\0\ 3\90¦õ÷y\vR\12\r*\9d\8c5\8c\bì¾Ý}ûvõýlFSü\9bÑjN×K\92ÅÙt2¥åò\1a\9f\8b\9b\15>çøs\8aÒðb~=\9b\17\9fÖgW÷\v\9aÍh\9dÂÖòfEë\84`g:¥µ\1c\7f\15ÅF\90ß\99*S^{å\89\1f\14i\93)§+\95P©\¡½×ÖxJ­£Ç5mvpZÕÎh³%áI\18þöö×?ø2ýóøð_ï\16\156QçëogSº\9c]Oæp?®2Q\91 £\1aJu®H:%Ø\17\f·\80¬\81)íÉg\ 2á5¶Î\13¸\94J¿ª     ÛººÿH3DÂ!]^/\106¬~±\89Nw\8c)\18\ 5ÖDãReÝ®\87Ç·÷\8f\9c¯&Ë\13÷\85IN\e \0CÔ^\17%°ãIfÂlÙ/\87\9fh_æb\17eNs@üRävK\eûv\11¥\84½É\Ë\97ÎN\8bòCW¸1=}~\8f{L\9bºª¬\99Ðï¶Q¯Ê]°\ 3$\8b\13\96ëBW¢
+5ër]{å\90p\95 Â\9668×ðI\9b^ |  \89ÜÛ\b\916\95rB¶V\1a]e!\ 2_á¸pIW¨#;¨\10þ\85¹\90à©,9\f\9bÒÝÓW\12Uå4Ð\ 6r¡ð\8c\82A°O \89ÜVâE\19ð\8f\ fHikS\85\8a£Îóe[ç\874 )\85\13\85\ 2Fj33ßçÊ\80[2'_\97¥uU\9c6f\95ªØ\7fû\ 6ý\15zc\9c\ 2O\0\971;2\88iÇA¨¢\f÷øºW²F\7f¼#\165:Ï)\15:\8fB
\13¦õw,éèVJå=Ý)£U2\8a\81\16x'¶-ß{ѯA£T;\ f(Yà\8a%c+t,·.²\vÄCGÉÐ|K\9f\163\ft\1d\8d®Ì5l£tÌ\18\8fBt\95\86Ô ýÏc]µw¶èEd&
+U9\87¾ë ÃÊ\0
+Ãwª`Ä¥³R%5X(E\978\10\83      \94è\84\83\864W*NÍóù\84Ö,\ f\85\12\10öÎÖ0cÈ\9a|\17a*\84Ñe\9dCa89\84Â9\ 5\8ep|W[gëòª±\ e\ 2sä²\ fI\0\98AÛv\8eÑ\1650ï M\ e¤ÿ^C*©Qy\y\88\ 3\BO¹×Ø9Ã{ç(\80\ f\92\99      \7f\82ò¢w\8dÐP¬=Ïc\85¾D\ap,\17\14\82¹ \14 \ 4ô|Τàd¿"\94ÔÙ"@Ø×·\1fn\17'T¼U¨(\83¬W|×PÃ\1fx\1aÔõés\¥N \18CéÀeNgÇ\1d\96\9f²ÌÁz\96Ï\91±½Øü\bI
+@CV¼NÔ\84Ðò(p\84*\0\18"xê[ ±\15]D\ 3Û¨<ÆAèT@PÂ1\ 2¾ÿ¸\1eÆ4\b)ÍÅ\16\82é)Q^BÔT\12a\12\e${O\92\8dgàAí\92÷\fÛ\bù\12¾?1­¬\91*ÜË\ 4\9al_A ,Ú2\8aÈkG\ai\8bÒ\1aD\18ÓçÖ·S¹\93DßÒ\90£\1e¹Ñ\ 5\8d\9aQh»ÑÛ\886ºÂë\14ÿïÍtèqJ\16çÃø?h_OØ}-3ä%Â5ºS9\14\9a\85\1c\ 4\80\13t\81ÇW\92\87\85:wÕ\0'ôÖX\877\81d{\82tdè\16\15å0êâðþeKPå\8aõ°OkÜ\15`ô~    à\80\ 1ÞBaXÃ\11eÿ0¤­å]t\ 4 Ãv¤|ÛP\9bX_\12\95\8a:ÇÐé(\1dF\e\ 6\ 16\e\ f¦±L#XHó\ 1I tXpÐ\1c,t\r¿f¢4\ 2ÊÄ\ fE\r\15®\8dÌ\14ÓäDÃý­°fÈxzö\ 3Bôê\rbÎY       `\ 6t\ eÖÑÜ{\9d;ô?Æ2v=he·\91\f[cÐîqQÚ\96\1e\8b\83íH\8c\99\9f¿KzP%1Ôâ\ 3\95[\9a\84\8c\88\1dur\97ém\96ãï0íz»åñ&O\92\10ÀOòǺ8HI;\16\83\88\865\ 1\949ZD\1cAÀC[\ 66\95Jb¥\e¤g\8d%&ê\85§Æ`\9e\1c¸<Ö\f\82~\\1fÛnººï-\fO\83» ä!\19*   58¹\e?\1c\97¹@IN     E»\»\85\87=®Ã>ç\91\8fÍú°jý|y~ä\89\1eX\1e\9d¶]ygøÀ®@%îýÔÖ¼\846t4ÈÜ@GVÎæ8\88vè­\9d¬£ûáùK\9bãý\92×[\88\ e\vè\1ex·*\82ÄPÒã\89ãO\91ý2yèÉÞ©\9fÙ9u¶³xu\7fÓí\91³%~\98Ý\ÓòÃbrÃÉûzûåÓ-ýéì7è\1eÝYY\17\10\94°\9d3ÚËý\85ËÕôã\89\9f!ÿ÷3f±ZLVË\eü\b\82\9fÕ\92Íý¶>ûëì\a\96æ\85\97endstream
+endobj
+1288 0 obj<</Type/Page/Parent 1119 0 R/Contents 1289 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R>>/XObject<<>>>>/Annots 643 0 R>>endobj
+1289 0 obj<</Filter/FlateDecode/Length 1440      >>stream
+x\ 1µXÛnÛ8\10}ÏW\fú\12\17H\14_%w\81}H±í¢Xt»»õc_h\89\8eÙH¢*Òq¼_¿gHÝ̤vZ`\11 \ 1ÅÛÌ\999g\86ùv1¡1~&\94Li\16SZ\\8c£1¾t¿þùýb>\9dDc\8a\93i´¤\82æÉ\f\7fý(§Ï¼\9eâÅ\9b(ÆÜ4\8eæÍ\80§¦Ëy4¡År\8c¯\ 5ͦ³(iF<;\1ccv\11\1fÏ.¦Ñ\8c\16ÓÄ\1d<[.º\91Û;\18äù\9c÷ºµ<;\1c³ÁÉѬ·j>_z«& lô#wò`\f«â\19î\1dÌ\ eÆ\98}\13\1fÍ2\14\93d\12Má-Ð\8a\9b\ 1\1fûvuqó~N\93       ­6À;^&´Ê\1cÌcZ¥£Oe*IÐÎÈ\9aÒ\¥÷æõê+v,\9a\1d#zõé\8fWþ[{Ê\88¬&QUù\81ìVR%ëB\19£tiè³(Ö\82
+Q\197u§\1edy´@\95¼×ÝwsWë]u³×u\9eñ\ 5\9eÌàÂ*\eÕ7û\9bG²µªrIFÚ+\12eÆ'\96´WyNéV¦÷î\86t+Ê;\99\1dݱÑ5®Ø(ì\15wB\95ƺ¥ke\r\1fFªtcïÔ´uÔÈtW+{\bL)\84¹\ fݯD-
+ie\1dÑmy w°Ý
+K{YK\18çMr_\ 4>\94Úº{áùåäÒ_¯\f\10/ÊåÆ\92Èu)[ûØ\81À\98\ 1ÔQ3å2\1f\90½3F\96V\89<?\Ñ¿²ÖÞ¬Ó¾"RO½ão\98\80_\12!\90Â\ 2^a\80(c§7­»Ò'\8dj\12\ 69çRlÄî\86\80Á*½Ç1V\a\ ey¬|xÙu\a%Ãa·Úðïî\16\9eÑ \1c"ðaÓ!-\1f+ä²².C\8f Æ\80Ý@(øl\83\83ÈwÈ\14\9f±Þò.)Rçÿ³0õáÃaU­\1fT\16\86+ÕE%¬Z«\1cy\85̵Û\86 Ó\88\95i¿åt±[6°ãPã\1cmDÚl\83e`M­³]*³\88\ fCѲö     ¦\85ÎÔæÀ\8b\86T\eÜeH\97\rS®<,Î\96\19¥q\ 2\11\vRíOùh\eG\1c\11=rmÚ÷®\18ú9&b\17D©å#Á\1f\aìPÆ:¥è¢p\9e\8a©®ki*ÍJÒ°£I\85ï³Ò\99â×;!
+¡8bÝ\19\819ëÖh     çù' \8aÈ 2`\94\8f¾*ïz\0\a\bµeFç{qèø\0¶_êò2ôðÿ`\95G¢åÖ\93ð\ eqx\92Ý\rÓè\85Ü\1a\96§\1f¥V\80,\92槨å\89_jBö¡¤¥ÖUJ\97zOé6\1e\87\ 1XA§\ 2Uê©ñ\8c|s¥\fÖÿHæ!- J\Ý\95\13l§!\9eÛpàÛ\ e\ 2%\9cÊ\ f\8a¶®3TÄ\ 6´¶,½wµ8SµL­®\ f\8dl¸"\ e¡\80aE/Ä\1a\97ÜG ;3iÒZ­¹ø¬õ\83\1cj\89|LeeQ\7f\91ÒA :M\bq Þ\8e\93\10rË EÆÅ.@òÔ6_Å\82\r\1eúîÞÀÒþ¸\93$ø¾=/\88l\18\91gò©3¯×\8cç\1a\83\1e×õ\ 1áÙ\88]\8e\ 4\84µålAí®
+\908}_Óý\85Ñ\bÀ\1dX\7f\12Î\93Ö\av\9dj\ eÂë\9f\16ªc%k»\84\17kW`K_YÏ)Y³±%á\anx\11(È}C@Y:ã}å\1e\9c{$Q¾\81E\87\90\15ªTÐ.\ 1
+S*J\0\8dN\90[\aßï\9b-4\83«\91ÊM¨
+ÆrÃî:\16f+?4pk'¥\9c4\83û]    åFÉõ­è¨\a\ 6\85\89\8cÊtÐ;8Uº~\8emÚUܦ²5p\18»Ýµ¦¹t³ã\97\83æV*g    ë+åsFÀ=|Vµ{G@\90Êð\8dÒf²\92n\962-MyiY§øI\85w\ 1øbUºËEÝôÌè:\\17á
\15\9fï¡äû7\9a\9b:\86¨£\19÷}¼\88£yó\1e/¼æ\r×5?¦XGphóe´øòÚ¯êßhîýÓÂè11\95LÕF¥L\14ÖYúÅojÛ]\88y\9b2½2ñkàW×\a\ 6\1dí\17\82s¼0XÕÂt\18°óÌ\91Ïm\19\1c\a¶öÞ\ e
\15ãæ3Ó7Ú\8cï\0ÕÆëe\ 3è$N¢ñrFq¼Äÿ\17ð\94ú|ûñí-ýUë¯\80\89~Óé®ÀÓÊU&vîºÝp\9d\8cßðú\8f®áæÐ9ÌÁ\91Þ\83>·Ý;i\9eà\1f\ 6ñ\12\ fqìK\12>îÝêâï\8bÿ\0f\90H\0endstream
+endobj
+1290 0 obj<</Type/Page/Parent 1119 0 R/Contents 1291 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1291 0 obj<</Filter/FlateDecode/Length 810       >>stream
+x\ 1¥\95ËnÛ0\10E÷þ\8aAV\ e\10Ûò#\96³L\9a\1a\b\8a6-â ]dCQ´ÅD"]\92\8aá¿ï%õ¨¬¤\8b 0\fX&9sçÌ\1dê÷`J\11>S\8ag4_\12/\ 6Ñ8¢Ë8\1a/i±\8añ{\86¯\11´\r\vóËh<ë/Ül\ 6\93õ\8c¦SÚl\11\8ai\93\12âD\11\90\eÁ\9c \82Ù\97óÍó ¢Ñl9^`Ëp«\r\17Ô¬ëTôÖSi\ 4\1cÿ}¸³¥>?Y/Z)m¦\83@    ¥\15)Ie\9d`)é-¹LÐ\9e\19V\b'\8c¥TZ^Z¿'Ãî±×2Y_Ñ\14Õø²FóE¥úNa;ãNjE\aé²\10Ç:¦RfRz`EÂh+sAÌ9#\932Ô¾ßKµ«BvåÅÀ\f\10Õ¡\82í-Y]\88FÜíýC'H"\9d¥§¡-yFÌÒ\19°¢\f\95\1fÏ\9eÎQ\96ÓAÈã·»_´\17¦\90ÖB¡õ±*=cÚdÒÖ\88§sô\11\99\vÁ°\a\873E        d\13×j\9bKîðä\ e\8aT\e\93\82\12+\1c½JVU/xi¤;\82!Ëõ\8eÀâ½3½Ü>Br\f\eßç\15zÐñ˽\12t`þ\84´A­Íô\81Ê=áQ6eR\ 68JS\0\11\18\85µ\ 4·\85\ú \84!éм<§&Ä)Qðì\89õfi\9b|*\17üX\92À7UõczTÈåJ\ 5ÛçµÚ\1a\f\84\86\1cZ'ðÀ\9cÇí\18|Y-Õ({é%BB\14Èjß,\9f±Oç§\8fÕ¢ñ\8dõ\B\ 6Àñi«ÊyÆÔNTÙºF\81\81X\9e\ 3\16Vä¯ØÓåWZXØ/ö¤ÙÓæ_\10\87w^\82Ñ&ëËz\16\87tvÿåÌ\9fü;\9fCBÊ\9d7\ 1ã/þ·×Ø2n§\aJYR³½h¬¥>\90\ 5sê)ôdW\1d¹ðI\15}ÛÔn\80\1a¯"4¸\v§\91è\81\8cüÐa\12a\99\8a®¥Cž3ó\98d\17ü\ 5¿¢oo±Uù\9fΫ±¤f\10ÑC¶Å\ 5C\98\ eç\81wUø¹
+tÛËäÃ|;XkO\1euÙC\83\99\14nÀ°YÊd@wÒËOLq\91¿é§a¨ÓO\19\vãsräýö\veK\=\81#\84\18jÜÉð/¼NúU\18#ÓT¨à÷ÉzU;jºÄÛi5§ùb\15®Ðë¯7×ôÝèg¼2èVó²\10\18+\7fKûêFÍöQ\1c]ùýÿw\8b/âÅ8^®ðZ@¨xå3|Þ\f~\fþ\0ñ4N\12endstream
+endobj
+1292 0 obj<</Type/Page/Parent 1119 0 R/Contents 1293 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1293 0 obj<</Filter/FlateDecode/Length 1448      >>stream
+x\ 1\95WÛn\e7\10}÷W\fà\16U\80du·ä\0}HÒø©\ 1\X}3àR»\94Ä\86K*$ײòõ=Ã]j×òºMe@²¸s=sf\86úv1¦\11þÆ´\98Ðô\8aòòb\94-\97Ô¾¹-¾\8ch2]d×4[.ðÿx>ËÆä$m <¢ù\1cß\9a'³i6­\9f|\ñCØ>½ÁÒðæ\9a&#Zmàòj±¤U\11\9fã$\1f|²f£¶\95SfK·\1f¾ÐÆ:*\94\ fN­« \vÂ;åÒ\ 4'´>¾Yý}1¢w\93\19L\fJaÄ\16\12¢
+;\b¨\\ 4e\r\8b°¿ñ¢ö÷n:Ë&,~'ʵ a
+vSKÍh<n¤&\8bì\8a¥>\90©Êµtd7ô§QOä\8f>ÈÒÓý@nßÓ]eèÎjá\94¿\7fó\96\84§\83Ô\9a?\11\ 3=áõñî7Ú\88Récôõ»2ÕÓ[2ö@UPZ}\97,Ùä1\9eÖ¡Ýêj»\15k-éó\è\8b-*-Ù9b¾\7f\ 3Ã9l\84#\ 5K{g\1fU!     ¸\9cA\80¸`Æ:õ="\12ãpÒÛÊåç\9es\vd­&/ݣʥÏèÖ)T\0ö9!ÅO\8b*g`\19\11D\ 1ãTÈ\y>\82\11\82A\14A:\ 3\7f\8fH°V®\91£½ðþ`]q\96s!\82X\v\ fêb\80\18\83¡\fù0jE\9dáM*Ó\0\b\1c\vPí[¥ÀD\8e\10£A\80\9d0|¤\12£\ 3\89­\13¨aØ\89pÂÍË\1c¬\v\89\16-\12wU¾C²ùÎ\ 2\99Ʊ2\8fV#Å×\9d"yÏ\8a'§Â¿¯\13\9c§\ 4IÛ­j\88zÊíí¹P/\ 2\10Ý¡×\14Ú$¥\ 4\ 6ýÉU\16{\87;-æP\80]\82J\99ï\84Q¾¬!Bÿ\81\18Fæ!ò\1aEJ`µim\9ceiI\95)¤ÓGôoã#¹}Þ\97Ãç\9cTfã\ 4º\1cܪ\9c\ 4í\10\90ò\ 4·q\1a ­¥\82u0qçlµÝ\915\18<
+-RãtÎ\962cÕúY´\ 3Áý Óµà÷úH²P\81\87\8e2\85B#UBGû\rK\ 4Ø¥-F
+"QæU§ç\f=Çy\ 5\806Vk{\88®\80µ!ù$Êý¿$R\fûøq\82¦îi\86"£Õ\ e\98%{;\81Y\bºÛ=·«§µ\94\91\19\1d\18*\93۲İä¬<\17s\8d±sÄx
+hä8\810ÊT \1fDþÕ\13\91\1d3TµI\8cç8rê\84Àt\f\r¿©4¤8©fP\9c1\81i\12sb\8f¬\90ÑgïyfóP\8fAw\9cäÀh-y      p@Ø\0\1cB\8c\9a1\84­\92,\96\82|Êå>D
+æ0\83ºÙçÔèä½\17åÃþP¬3ßÈ$\8a\f\867#ºæE0ÎfÓ     öË<[â\13ëàòg\10óÝ8\e¥\8c°!ã9 \97\91´\89±mYâÜá\94ÿ\8a9ÿ\92\86ë¹\89³ïÜ\1fÔy53®HG\9cClC\19±I\84Sl"ú\11uccD/\95/ãÆH\9e(Í×g¾\v\14«Úÿ·nM?tSóâ¸K¡ôKÍ\1f ¹©\1a\e;´,æg°!ô<·\95       \8d»\b\9bWAvÜ\a\1e÷Ïôú\93î\90¦\83µ\a\85yý¥W_©ú5/A\86®n\1fX\1as\11uz\19ðåi\97Ö\8eûÜæ\ e\8d«\153\1dU\fîøëô\f°´\8f\7f ø3ÔÛM\8c\8e¨\ee\11?Ñ(<¿Ñ\85öàã\8d\0«Øɽ\16y\9c)e}\8dáyeùºð\b\aÀP\90¯Ças]P&×U!\9b\9dùZ_þDõ2Ctý\10É\ eÓzz\91\0vðÀ\ 1\1cx1\177\81I\9c²¯Ï´*UHBqØwªÍJ&ß?0]£&\1f8d\12üó3¬³ÖU\9f\95nqb,[ì¶n4lYãò\e§{\f²'£¶\8b\9b\8c\9cµÁ~m\93b+\81'ëé¨ÇJ!Mû\9c5\94÷\15wIB\86Ï\9a¾m\8ez¬ì¥\ 3r\8d\16kt'\14«ÅXêö{ÝÊi´$\8d\ 5\18Ë×\9d-±´]ôÖ\17K=à[\r¿ÃÝüTÕ:\96
+wú6É\1e+Ò<¶ÏÙ¯.D·D1£Ò\86¢\95ê±âD¡ªä:âR®¹ñNJ|Ʊ0?küz¬\1cvRòÜ\8c\1a\89\87mF\ fõe\11¢=VpCwqõ%t\ fÂ\99d5\9dÅX\9aÙÔ\98\19Þ,\9b\ekj÷ù2\9b\8e¦¼ÿ>ý\9f_m|\8d\97Úl1Ë\16WøáÉF\17×\1cýçÕÅ\1f\17ÿ\0\ 6¢qÇendstream
+endobj
+1294 0 obj<</Type/Page/Parent 1119 0 R/Contents 1295 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 646 0 R>>endobj
+1295 0 obj<</Filter/FlateDecode/Length 1629      >>stream
+x\ 1ÕXÛnÛF\10}÷W\fP\14q\ 1\8bº_\1c \ f\ eÒ\14\ 1ê"­Õ·\0í\8a\\8a\9b\90\f\97\94¬~}Ïì\92"EË\89\9a¢@\9b\0¾\88ËÙ¹\9c9sÆ\9f®Æ4Âÿ1-'4]P\98]\8d\82Õ\8aÚ/f\8b_F4[-\83¹û:¢å
+?\1aI1Î\8eh:_\ 4Ó³O&ãq°Â\93Up{ú\ en\f\97Úþí2XÔF&0ÚXï\9eüõÇ«Ù"\18Ót\12L(£ñ|\84{Ý/)=\½Z_\rßÌh<¦u\8c\80\16«%­#wÏ\88Öáõ:\81¿:Mõ^å[\92\8f"+RþÄP\89'©Þª\9c
+£·Fd¸¼HE(­{TYI:v?~·þ\80;\90,wÇu!²ß\8b}´      ¬öO\9aÛ¯)ÓQ\ 5óûD\85  Á\82\87F4\18Oáþ:º¶\a\8c
+aí^\9b\88"Q\8a\8dÀmï¯{\17\re\19\ eݹ¨wÑ\r\9d;j\13\11éýEG·FWEïäûïh¯ÊÄ\85ì\ 39½¤\13\ 3§Àf\eöíL\16Nç\a\91mD\e¦\7f\1aê¼\14*÷¹¾W¡ÑVÇ%Ý¿\9e\91ÌCs(J\19\1dsÄ~tnO\84\rh\9d(ÛÚÅ϶Ô\ 6¯¡¤\12\81Hó$K\955ÃT\87"\1dZvjX\18µ\13¥\1cÖ±ì\9fäùÙ\f¸Úx#ϾL@\19|9µqݾ\19DÏ_L\91,d\1e1huîJâÒØË\84b4g\12©,\15\8e\ fº2ô[®\1e\87?©¼z$\ f7N\96ì{òù*ÖXFZÑ\1f;\15\9bC]Ì\9d4\16\17ö¼A\7f¢MáC\8a\9c\9a\80Þ\96\14\8a\9c6\92B\9d\15\16l!C\15\1f82ÔÈ'gÞô\16\r\ 6\8cÁAÇ5\7f¢í1]p¬\16M&s2U\9e³%\97\9c\17Ö\9fm:µ\ 3\19À-VÛÊÔ÷µÖlhTQ\ 6ô\ 6ng@\ f
+\86,f>\9fuæO­ºþ¯kÞ÷Íçì\86¬\94®f\91\ e«¶<ÀÂ1â3>ZT.\94høcoõÍGÊÈ\10\18?4ÌäÂ&ÿ"EÊ\96Fm*NOÐø|Ë´8\ efÓ     \r&ó`\85ïà o¾}ww?\18\a#>Æi\ 2ï»Ï\1d\f\15ó  «\81\85â\1d\ fÇ\9a/\10¤Ù©Ðe´k¢gRT \94Î?#?U\b#j>ê\84\v*¡\G2\15\87¾\910ÔU^6ï\80©¿Â\bè\98AûÏ\8c\1ci»6s¹'í\94Bâ}=\96î;êÁÍÙN)´\1cpB\9f)\83\05\9aR\85U*\f=íóHÆ¢JÑ}\1a\fâ\98\81gQ\ 3\89fT\1e'\12\97àü@ûWaäØó+`t\92òaª6C+Ãʨòàz§\8e\84ò
+Sÿc\ 3(òÃ\91D\85\8c<\8f®\vm;+\8dé\9eµ\ eÌ.´v\1eó\1d¤]h§\ e1\8bæ¾Ô\rË=ÅÛ[?RZÈ5Â\88q\17\81\9f]£`Î\82¼Á²\99\88Àg\9a\15\8dCæqâµÓWîp\8eç\ f¤\8c
+ÉÕ¶IL-|\98       0ªTè8% \87
+"      Â ¹\ e-\9eF$R°\0F\86»\93\r²K^\ 4\1d\85\9aÈ#Ú»ÓeRY¼\ 2y×Pk\87ô[7\9b\¢±\9cñ0\11ù\16\1cTÙz\fõnø?â¾\8eö"\12½\10Pÿ-\98?\r\90ð\11\ fªïû\9a*àO¿Ô\ 4?ëR¾t,ë\0ÄòQ\84\1f\9dâ\8aÁ\13]°R&\192Êf\90\9d\905`h\87ÓBc¤l0\e\ 1+ÆØ©zØ°Â\95NSvPÉú\ 6J@ç\9eák\99U&Pä[\88\0\9fËDzÙ&¼lp\8e:\ f\ 3z\97J^\18\8c\8c¡që7N¥\ 6\1a§×}N\17v¦F½\86\9cQ\90\91\84ß©\85ù­0N\81r\v\86Ö\ eE!6*Å\Áz\83\r\89Ç\94sQ¹     Ó\89Tæ;etÎ\ 2\bÝ®3Y\8f*¾ó¨\8a\9aLz\8dé\82÷\85k\14\92×[\\9a3«Æ1{¢ô4àØ \17\965\ 54\8aÐí\v\82\98     PÈ\10Î\1a\91R\fÅó¼h~Î\eY&:"æMËáB&\1fÀo;\0­\8f\ 2\90Ñ\8d¼gÞä¹\8f@Ô1\16æ?\94Z¡Ì"Ê\14\0\bç\9c¾£;(` \89£\ 6\1cm\85
\8a\99¢\19J7\ 4Nv÷{:ï%%\13\1fy=5 ö\81\8ec\vѪyy\0ñ\1eh/ ¶x&\0¿®$\ä'\b£¸2\80\86¡D¦E\Á\8fV;×\fzKcìã¼\98\ f¦³`Æ\1aóu#SÁ¿w']æëÞL-¼2á?\ eÔòHز*e7\rÈÍ^!z#Eªþ\84\802:\83³M\16\19´Ø;6*¯Å|ü·ö\9f\eïM»\99à\ f\b°\15=Y\11   Óèôl§\ 5\8c=äái\×Xôy?Hʲx9\1cº\13\81\9b\97\816Û¡ÛÂ\11Õq¨\91D×oRe\13î\19î8Ñ 4= Z¹À$»iÕ¿\87ÚðͪީÆ\8be0ZMi±\9c\aË[W\82\87»ûWwôÎè\ fX'èuwIa_\aÍ+\83å\bûÃ\97J6[Î\82å\ 2\7f;â£+·Rü°¾úåê/\15|°<endstream
+endobj
+1296 0 obj<</Type/Page/Parent 1119 0 R/Contents 1297 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 651 0 R>>endobj
+1297 0 obj<</Filter/FlateDecode/Length 872       >>stream
+x\ 1\8dUM\93â6\10½ó+ú\16¦*\18Ì\87\r\9bÊ\81Édrɤ6\81ª½Ì¥\91\8d,9\92<,ÿ>O¶\99\ 5&\87\145ÔÈ­î~ïõkóÏ(¥\19>)åsZd$êÑ,\99Q¶Ü$kZ®sü?Ç\9f\93\0®¾\7fýõÛ(Í\16É\92V\9b<ɨ¦\14׳á¤i7º>×4\9fm\92ÅUôú\8ch6K6×Ñ,KrZ¥kÔ¯i1\9bÇ>Ý)V¾>#ºJ\ 1ñ*zuF\14\95o¢WgDóü¦r¼»\­>\92\7fÜ\8f¦ÏKJSÚ\97Ð+[ç´/:5f´\17ãÖK7mØû\93u\ 5\15\1cøÀ^R¨8\90`C¬½¥\83$Ü+èpÆYÓçí\v½\8eåñ\13ý®Lûíõ\81øÄPºqöè¸öĦ n\1a­\ 4\ae\8dOh_)ÿ°ÿ:\9aÑ$]$s@\18³sl\8e²\96¦ïTñ\e\v\9a\9d>ScC\frñÆ&ðQz\12¶Æ\r 9©P\ 1d\87\8blI/J8ëm\19h+\82B¡'å¤\bÖ\9dïºî¤{SB\ 2ÿöi\aäÊ\10\b\96ì\88=ÜR´H·&\96<©B\12\9a1\19\19 ÎßÄ-:\1aàëXQp\\96J$±ÃôyC)\94\8d\12O\16K\8c\ 6\f£N¿XSªcëú\94Ø­>$\ 2\ fû¬ï\83\99Ì£      \91µ¯$´TQE²M\87æ*\r\1a\ 2Ø\83\84@\\ 3³\ fNu¨;\9dax«µ=)s\8cEJgëN(k&Z\19I\95Ô\r®8<ü0\92ïív_¶û\9f\ 6éæYOç\vÈÓ\8eë\ 3cµæ±xä\11ÉÁ/\96¤á\83\96\9d9|Û4Ö\ 5\88¬\12\99PO\15»Úyp<\99ÄéM\0þV\83ñëÃ\8f\1dªè\ 2®e\90\ eC\80ßÐ&8«\a8\17ÿ\9c*\89q8\ 2\15\0ÌW¶Õ\83:\90ÿ\a¨(\84\8bàI/½\8fÓ­ÙÀN\9dó\8aÎ'pÌ ^!Knu\80åáGeÝ]S\90\ 6U,CÇ3Ê(´\84y\82ü\86\16·þ°\ 6\1e\8em\91¡\8eÆB&6x2\0BîG<    ý\ 1ÓC\ 5\ ew\9d{áY\9føì\87\1dÄ]gø%î\86\88\9b\f'K#ܹ       \90µ_sO?ÓùB\18\ 6÷\90$\12ûØ4:¸¶E«ãî±\89:_fÛ5¨¢\19±ÄS¸°Á¢\83á­\ 6µ\14\15\eåk,\91,àÛ\ 1Z\83\ 4À\8aðîy¾<¾\ 3½ Ç̺-Ãn]ÌøÔÏéSÌ\9e>¯.Þúï½\0_cû\9bëáf\9aá'b½ ù2¾¡±v»íËã\96>;û\15ï\rz²¢\8dþèÖ6fN.        \93|¶ù_˽Ì\97I\9e­ñB@õu\1a\8büº\1fý9ú\17\99n\f5endstream
+endobj
+1298 0 obj<</Type/Page/Parent 1119 0 R/Contents 1299 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 658 0 R>>endobj
+1299 0 obj<</Filter/FlateDecode/Length 1435      >>stream
+x\ 1­WßoÛ6\10~÷_q@\1fæ\ 2¶bÉvì\14è\80d\9d×<\14Ã\16\ fÅ0ï\81\92h\9b­Dz"e×ÿý¾#%ÙÑ\1a\f\1dæ\0N$\1eïÇwwß]þ\1aÄ4ÁOL\8b\84¦·\94\95\83I4Á\9bîë×\9fø\rÍçqtK%ͦѬy(èipõXR\1cÇÑüê0YL£\98f\8b\ 4WJ\9aNn»'¾zý\8cÓÙ<Z4²át\19-i6¿\8b\12¾;[BGxò§WÏ8]ÆÏN'Ñr\89\bÚ¯jÇáP2½cûË\ 5þ\8e'\13ü]IÚ\ e\1eÖý\88!\7f³º£dBë- ¹],i\9d{Dð&\e¾7Ö)½#A\1fTV\19\8eÞ)ë*\95ÖNæ´R\85¤§³u²$WIIF¿^\7f\1aLh\9cÌ hø$ÊTð\e6\12/\82\91ñt\86@qú¨¡©Î\9c\ 6¡\19pm\84\92\ 5r\0¡õ^¾hr34\15½ÛÚÍk:Tæ¨riáj)\85¶d¶dåATÂ\aà ¥0;\95\89\82\8eJ\9eøx\vç!¯sÊU%3g*%½\1fp?\9e\ 6\17Ý^8ª­¬,´\ 1ÂÊ Pè\12\99«¡ê°?[¯³0\19\f!\ eV\f\ 1+\81¸5u\95Á\84Ñþ\8e\96îdªÏ\11=:\12EaN\96¶ð\7f¯v{Y5°µvÅQ¨B¤ªPî<"[\1a\ 3¥\15Y8)v\92ä\97\ 3b\84½\11¢\129¥¢\10:ãLI\97\82ÚÒ åJÃBé=#\91\9a\1aÙÛÚ\11\ÛB\993=£\97\1cç&«K©\9d¿\195bÉ-*ÏgDYj%Ø\95B(\ 4¾7'¨Ä/\8bðØN[\11xúM«/T\8al¯´¤Í\90Ã\86ÀX\9c\ 4\9cÌ
+\ 5S\107\94V@E"\9dµE0=÷|1ýÃ\19CR\8b\94ËðÃÃ8\15\16Uùnõä\91õ\17F\94\19½U»\9aáptRnï³ÁÊoVISpÃñ\98Oƥͷ½Z\1c\929pj#úYg\92ÒZ\15n\84\98ºÚ¾*\17\14Ê\11ÈfBS*\11p\8eJñP4\aé\19eäº\8aÜ\15\ 6\99£Ô\98\ 25K=\97\ 2\94\88ëº\94\ e¦T¨­p\15ÍîÛghË4â°Ãë«®jë\8bk?¢ßMMè\19µÓ±§vÏù\10ÜD\9c¿
+U\17\11\v§\85\97]öÞú\8bÏM\ f©s9¢ûN;\v]Á×öá\99[Æãë1°^¾Pú³mãå²ö-~.SS¨\8c©o×\83QÚq55=ãsbCWÈ/¢<\14\12ùë\99¶×\8a\9aLtp~ªµg©ñ÷>¾7M\eÆ\9b\8dÇ$îÇÚ$%\0v       
\ 1hQèLiÀ·UÛÖt\9b\9c\8f{©Y ×\1fÂ\81f\ f>2\91\81W\82¢V\89G`ĺÏÄY¬d0\8c~\0\14l²%\8f\96«Ð\88ÞQÕ'½\f]4¢\r>ý@7¯[_[2à8\98ù=Ë\85\94\85>\ 3Ë}%\8e\1dS\95\8fJçÌ\84wsv3\99`X5\99i-¼\97\95ü\8ey\1a\93\17¨=tQ}hjµ\99>x
+N\84\86óºnV\13ºã©\82É9M0\9aæÑ\12¿Ád¯h͸4Íâ\aÂ\9b¶.0SYä\8fУ\7fö^Só\ 1§§ÊXÒhGzKO÷\1f\1eî_\10õÄ\18ú\83 zîfMÂÛ\ 6\9bÊ·ö%;\a\ 1ÚzK7`[S¹\eHrs¾`éÒ\84\17;7«\96\ 5Æ\r\fÓe\94\ 4\18\1e\ 3\87ô\94wSñL'\80$A\ 5\aÂD#\18oÛ­×cýIÇþ1ú\97¡Þ\8c\10vþU8\8d\9bÓ)v¢9V\10\0\91å_\vô¢h\1cdÇm\85ü\8b6\f&\1d¸¬\17ás÷¾UkirZÌçÿ§«\85¦±¥g\1csïÛ\90yùÞ\83ÞlS-¦ßæô3ý\9e\16\1f:õ£Ð1?t/¼¹4`ÔÕN\ fy\1e voê"o\v\84\89æ «RY^OÂz\ 5ü±@í\15ÊÇ/GW\95\ 5Jôûå\85\14ýбuÆS\1a»\97ÑÅ\99\9e\12íÄÊ\9bÍ\8cÇmVIÌ°\11ÆY\81¹H~\ 1ÊÕöì\99/4\84\1f\11\98>\85\r\84¼\ 1\10?\1fø\ eÆ\92\17\82Áð\ 6wõìbc\93\15sc\ 4ÚÀ
+T¨R\85\r  Ì\84¥\181`ý\11G¬"¼ö\928\1a\ 5ò­Î>BP!cÃ÷±\91\94©ÂÌõ\báÒ\ eÍ\85Xù¼ó¥¡®å¥y¦Øã§sn\90ÿ°\96\95Ùb\16-nñO\ 3kZ&\1cä\8fëÁ/\83¿\ 1]\17ûôendstream
+endobj
+1300 0 obj<</Type/Page/Parent 1119 0 R/Contents 1301 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1301 0 obj<</Filter/FlateDecode/Length 680       >>stream
+x\ 1u\94ÍnÛ0\10\84ï~\8a½Õ\ 1\92\K9&M}kÑ".zñ\85\11\13\8bTI*\82Þ¾CIN[#µa\80àÏîì·³þµÈh\85oFeNÅ\86d³X¥+ÚäEº¦uUb\9dãç\98\8eãÁÇ,OóË\83ûÝâf»¦,£Ý\11±6UI;E\88³ZÑN.·Ú\88Ói Ï\81º\96BÍä\87æ`OZÒI\9b\17OÁRkµ        q\11\8f\r\87Þº\17òµpìi°\1dõÂ\84k\12F\91\ fÂ\ 5z\14ÍA¤W»çÅ\8a\92|\ 3µ;µüáÙy²\86\1e\8e>\11=\1e\93<i6Á\93\14\86\8cíéàlïyÌ\82K\14\1cs|\10³\8e!¡Ò½²#\11h\8f\8f\8fiö{uô)ÝIÉÞkó4©\9esg\ 5\80 w¬D\90uãá\81ö˾ֲ&Ѷ,\10Î\93Ò\8ee°N£¢¹ÎIÜþ\8a\82xÁn7Ê\9fî\81×|       \11\9cm\9d\16\ 1Ü& \93à\v\ 1\91ÉÍö\96\89íH\8al¢óÕ\ 6öñÑ\9ff¡ãI\1e»µü©\8d\ 2\997^\86YE\ 5\a\ f\16O\15é#  j\1d¿jÛy\bllgâ¾±&\ 1¡I\1diO\8dP\8c«qÏái¤òª%_\b\ 6f/\80\159B\0ò^\fñ1\92Â
+ΪNÆ \86û9pl~\ 3P¤a\14ôë\1c~®XÎ\ 6LÊ´ÊèÜ\96}¾)éߢÇó7Ï|ê\9c\83C"ï\9a\1d\7fðÈ  Ó\ 5§eÐ#hX¡ñc}C\13»LF4è\96¯mwR\ 4kGH'Û³\93Âó»j0\ajù_)g­[pò,;§Ã@mçZëÙ_OµÎæ\19H@\16,\bCE\ 6\13Þã¸~8ûyVV\8bWx»7À\ë6ÎÎE\ 3Zv\8d\86£­A5\18N\1f§\ fÕZ\ 3\1a\8a½~20\9d\9a}\19'¨±J\1fGR\97#¬§\19:\9b|x\17ùпHTsײ¢J«Û\82²2O«HëñîËý\1d}sö\19SC\ fVv\rÚ$bOb\19I¶Á\9fSUPR®nãý7w¯ËuZn*8\1f»U\11/\7fÞ-¾/~\ 3\1a\10\88\10endstream
+endobj
+1302 0 obj<</Type/Page/Parent 1119 0 R/Contents 1303 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 665 0 R>>endobj
+1303 0 obj<</Filter/FlateDecode/Length 1631      >>stream
+x\ 1\95WÛRÛH\10}ç+ú\81ª5UX¾`l9o\84\84Ýì\ 2qb§ò°ÎÃX\1aáÉJ\1aG#ÙK¾~OÏÅ\bc¶v\vpaiÔ\97Ó§O·~\9c\f¨\8f\9f\ 1M\86t1¦¤8éG}\Ù\7f|þõd2\88&tÙ\9fFc*hØ\8f£\vÿ-§ùÉ`4ÆõQ|\11\rùîx\1a\rü7¾\v;4\9cÆÑ\88ïáÌÔ\7fÛß\8bcûô\84Ïá¯\92\94Ù\87\ 6ý¡5ôìÆÛÅIï\ 6&ú´È\10ôx\12Ó"µ±âJÒ\99Uª¬Uù@óf³ÑU}¶ønÏ\ f&î|÷b\84 \17içCYW:m\92ZéÒ\1d\1aÑ`à\ f\r'\88\b\87ÞÊ\aU\96ln§ê5Õk\89\b]\8c¹\14F\9eÓ\\14+AÆ93öD)jµ\95ôU\95©Þ\19º_Ð&\ 4UÈd-Je
+CªØä²\90e-Svߧî\80á\83Ó­\12t7ï~\9e]Ó²£"\19Y«óÙÇ\8f·ó9\95¢\90)mÔF.Ï"\9aUr«tch++\83L\féÌǤËü1\ 4\86'nEy'Ê}(\a>\13\91ç&ò\17\87
+\81,\90®HSÅ\10\89\9c²¦´h\89\8f0¤·*\85áÕ£ËZî(Äèá U&y\93\86\r\83YÝ`Ù\17\872]\11@*s-RFÙ\ 2%q­\ 2\82\15e*\97ÀTï±\9c^ö¦qï~Ñ\eöAÐ$WÀÏP³Ñ%¥²\10ejSèÝ$¾\94ÝI\14\91Ìr8\9e\10ÇÑ» \85¶7÷°\7fÙ\84(\0áó@\0/jÂÕo\15õ*M\ 1\86@¿ª\9f¢JQ®«Ù×å\19!+>ü¡°f8\ 3\9d\93\91\96\8c­B/;\95Ìð4\12\×õæM¯\aR°E\13\19ÝT\89\ 4<\ f2*e\8dR»Ð\9f'\16\18ójnÇðæÈ<E=ˬO\86ß²\0\9cIÖ$\fÍkQÕïtâ\93<§÷eSü®WfÙY\9e\9d\93¬\93(\8a\90ó\JN×\93'Ät7\7fw\8fÚ&\rs\1c\1d\81\12\89:äY\98´\8c
+\95TÚè¬\8e\12]ô,\17
+\8dæW%ò.Ü#xÊÃ~1|\8d»W³\ f˳cð\84ì_\85ç\82å\fÜhÓ\11íz\95\18ºÖ,\119Ý*\ 3\92¡¶×·\[ßC¨\9b^}\97Im\8e¹þo\94c\82è-z(4\f÷\83­\ 6¬ÿhd#        ¤V\9b&whÔëJ7\ fN\87\1a#¹×ÑÒ\96\82Ü ©¨Å
+ªd,\96f\ 3Ö½\10\97ïzÕ\ 6øXì¡\82G`ë\ eãh0¥n\0\96\1adYIY\92Ñ\ 5\97\ f\82\81h\12]f\rk\12\89\95njÚ­Q\7fÈ\f
\f\15R@¬Ð±¸.Qb YQ©kRøÅ\rL\81\1f\8dª¬Br:\aì
+ 9¡°\1a±bצ\86\a\0Ê^½\ e®µ\81É\12öS×k\ 1ì=í³J\17ûÎö¢\12Ñ\15Ga q\a®\11ä^÷S\r°9j®\ 6²Àg\88\b\1eEùH;\ 1yÔ(ª¶\9còEqÊ\16\11ð{$\ 1\b\9bZåê'\ 2G³ k(·\93Õ\ 3ß!8\7f9\10\1cf\80Q\9eë\1dwñÝ\9cþx\v«µJrDZ \ 2`\ 3®Øò¬e¾!\95Ñ£n¬çTBÏÃ\80\vòÖ\96W+Þ½\9b±\97Ô\ eý¦wHé ²\96\1a\1a7,ï5}1@\1c\83VVÂN\ e.CÛ\ 5Ûx\92c(cHÈË¡¯Ô\81Rø«½¿V=\9f¤é}\1aÄÓޠ׿\8c®æ3gvJí\99o\a\1a::S\ fMe»É\9dºôi\r1×û\ 3D0\8dú\90\1a\88Â\9f\96\1f§ßhk"r_duúíyÌ]\96óqÔ\1f_ò#ÿ2\8d+  \91\83\14òÄDW\0p\90kÍ¥w\ 3ýÉ\ 1³\ 2\1dÀ\97Á\1eP[ü\85Ö²\1c\ 5ÃØ}k\84ø>8Åt©¶*\91\94TR`¥`ú\ 4¤§\7fï'%z\8d\e#t\ f\9b·A¤Qût¸Í6±V\1c¸\1498mÐôØqö¦\9e\ 2Ø­\15Æ\87ß\ e\fÚX¤]»\8a\b§ª<IK4\840f\87\96\99ìÐ\ 2ë\17¢\10\8fß
+ÂÂðb_\ 11%\ 2>·##ÈÐ~Ïò3\88»\ 4ø°Ò"zQ\ 1f\9eà®
+®¸Ã@õ\ 3ǹNZÌ    [D«\1ahtt\1a´À\vÐ\ 6\86]\91!˨)î\9b\8dLTæV¦`\8f{\13¥}¾õ\0\1f\9d([K¿{B>}@v\19h#t\ 5\rb\rý_ù¸dC\1a\9d\14¸8uFX©Ì\0$ØÊñ\1dÀa\19úB\b\0\80\81\88q®ü\8cS,¿½ %Ñ\87\19ºÌwÛÅ0\8a]·]3oÙQh»çѱ6`\83çµý¥\90³\9fæõíÍ\89í¹U¼¢Á0ÈT\85O\9eO,\ 6Ìb^4\8f´ãé7\ex«Â\v¸²yÛ\92¡¤®¼ø\a½\9cÂ&÷7Tξ\16ü\82-\9fÅ\ f³\19\a\1d\1eöa\1c\aO\1fù\1d\0¯(\ 2h-;\16ÜS\9e}\9c\8eog\ 6¡åÝ2«ÕÙáÕÂ\1eG§úIÃ{ùÑ\95â \81ö[eì     Ï(ÇQß\ 2=\vï,ó§\17©Ñd\14MƱ[¨ã\11G÷~qòéä\1fµ¾~îendstream
+endobj
+1304 0 obj<</Type/Page/Parent 1119 0 R/Contents 1305 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 676 0 R>>endobj
+1305 0 obj<</Filter/FlateDecode/Length 1909      >>stream
+x\ 1\8dX\7foÛF\12ýß\9fb®(`\ 5\88h\89\92(ªF\81s\12§5pqUKE{8\1f\ e+r-2!¹Ì.\19EÀ}ø¾Ù]\8a\8c«\ 4U\ 2K«Ý\99\9d\1f\fõñbJ\13ü\9bÒ2¤YDIy1   â\98ú?z\8fÅ\84æ\8b8XÒ<^âó4\8e\82\ 5iIO8<\81øéÏÃO\17ÓU°¢ùl\86\13%-ÂÓ¢ ÍÅ`YR¼øbo:\r\839ÍÃI0\83à4\8a\83ȯXr¸Æî\8aO¹³vw°.)\9cÎ\82\e³ªÙj\86ë :]`Ó­¬è`\8dÝÙ$\98\ ew\akÞ]\ 5\88\92Õde\akì.¢Ó=¼;\ fW02\8cç\88X\89ø\85¸×­ìî`\8dÝh\8eèö»a\88\8bÂ%²À¢¬×-¬d¿D\80\17,g\ fòÞ`YÒr\89\80ö{\83%\8c\9d\84p´ßä\14¯æ\9c\10\9báh     µ6Á¯¶Ïs\f@\½\9d#\90´}\ 2r¢xIÛÔb`BÛdôoÕ\92ÉT[¤Tª4\7f:R\93I2R\7f\92úÒ\90)wA¢ª'zÊ\vI\8d"\91¦öľP;QP-´(e#µ!QaGQ¢¥hp\14Z\9eTQ¨C^í­ô\8bíû\8b  \8d\91í\10\16\8cL&`ñãH=Q¢ZmäK2ª\94\84\9e\14Ó'Q´Ò`·M2\12\86.kÑd\97ÄÒBïòF\v\97{7v\12¡¨\v\91È\94\ ey\93=»WÔµVµÎÙH§\1avj:Â\ 62y#\1f_üÀ\12Wo\11a\ eÙ4\98ÏB\1a\87À!Þaø\7f\9cëÿíôrÖñ5áuM¥,w\1c\fïEÕ\88´Ì+ÚkÕÖ]\9ca Ø\15ò¬¼\8fpªsÄßÅÔÈ\86`o\85 ã]ÕR7¹4g¥µR\rå\86ò².ò$o
+\ 4\ 6ñòÂÖ\94Ë3\82_\1c \1fé\9fÞl\7f4\9c\ 2Ðì¸=÷ý9Ç9%\10¼j\8d¾*T"\8a+#Ê\9d¸ò\9aÏY»GR\eR\1f v<ëÎN«\83\91\1c©¯\1e\ 1ÔRR\15Üü\9a\92kä´J\18\8e\b\8b\83\1c>0¢ó}«\81\10\0ê¤å%#¯¢\83¤JÊôL ®9\9c\a\r\94P\91\9bæ2 z\9dÉä\83C;W\889\9aF\96\84$\95¹1¹ª\f×D)>\9c\81\rÎ6\91 
\86\12QÁ¼úhKÆ
+ÛzäbÁmw\\1cù¹p^sÞ\ 1\15À\8c1D\95ªÆ\16\ e^±÷-o:\14\8aÂ(\92\9fáÆyG\ 1¾¿\ 1\9d>\18HA\87\9b\97|1kí\89\95\11\95Ñ\16EîÎ\84\9e\9cF½²/\85Gì[k\90-v\8d9\ 54\84²\82íZ4¨\14*ä'Yð\11MÞ_\eºL`ÏiÅ×Ò 2*R:Å1hjë\14$Ðyïi\89y\ eå[Ù\94\ 4´\91\8eÏ:2|\1c-\1e_ ©\15XjÏ4§Á\9dHd^ác       \8b \8eÿ\1dÊ:\ 2tø3\81¿1\8cÀ÷(+\ e\84\96\1fÛ\ËR\ 2\ 1ÐáÜ_tq¡¿ÖJ\1fÙ\11¥²\96U\8a\bÕ¸4CpN\Æqë¬\90iÀðá\18\19ðbQ\10xhß\82¿Á,6´Ï"a\83\a\1f;dú\98l¸°q\8di<¤liá"\879 ¾\95ÖÅ«·\9d\ 3Ü\1e'Spè²ãÐ\9b¶É\14÷\97{å2ÐûÃ-"
+&Ñ¢\8b\r#Ùjeo\9aL\80á\9e\18\ 5ÎÍßó*\ 5OÐýÖ»Æ}á\v·ØO\81û\10Û<AÂSÚ¹&g=a§Çöd;\1fúR×n\ 4¥ª\14À\8d£vß\1a]·Cæü½\94\81HDÁTrÄ\85`\11ô\96\9cñuºî\8dUó,ȯUÕh´I r\bÍBí9ÜÊ¢pà"\92iT\81\1eåcï\80ÑaÛ ê\ep\17#\1dM1 _N½õÙµ¸KÐAé\ f®1ÉêS®UeáwÈ$"\b\bÑû\16\ 4}\0\10ß´ø£%uÛZU\8b\ 3Jë#C\ìxi\80¬ã³ÛN%É#\82\91I\v\ 6=z\ fNðì\vÎ\16Ôг\800¥\"ãh\7f;4\84ãÉ*L#|W\ fµ\11Ê\92\19\90¿\1d¦Õ©û\91^¡aü\86\12pRÝX\ 4\82q\ 5ßõv¶Ò\961²z\90E\11Ð;P8F\10\1f\9a\ 2\87\98\86ý90"m\rô#Kªú\8eæye'Q×\12\18åP\81\85\81ÿv\9f\ 54\1e¿\97\b µ÷¯ur×Ñ\15s\8c \ 1\12\\12Ü\9cÆI1m]+Íz%\0
+%R¾
+\83\88\e&|C\ 1ö˶hò\1aÍ*)r\14\ 5_=(\0¡\93\f\r.ià+¦.\98Z2\ eüXgÚ]
+¢J\1a¥1\84X\10t¡óÓ\81-\90\1c\90å\18Ø\12ÀC\1a0\93%o)ð\95\9b\8d\9e]ëíG¹8«0Û\rì\0\a[Úq\13\0¸\0ó*H¿Ë\90××±ê½ü|2ÚÆÄ[\8dÒ× ó\9dä.Â\eÝTã§\ 3\ e´µrx¿-\87Cn²A¤=Ç}uJôá\18ó«óu0*ò¸øÿñï³ð\8f8âÏþuMß\r\92ü9\8e¾ûºìÝý|ÒÉñû@vµ¸ZÅß\10\9d\857ÿZÿ|s\92\1e\88\82Ðn\8a:\13ÿ»ùcýM\rïîÖ\9b\93\82áåÐð0\9fL&ß\94^¯_÷ÂϤ×ê õúµ\95ïK\e\8f\9aËh\85.\12\a±ë\ e7Ûííýöî\97û\7fÐÃí¯¿Ý=ܾ¡õíû»Í\ 6_n8r}_±lpj,§ÂBé\80\8f\80\87e<Ü \8dÉCW3Øe&\1cö<U¹g\94\ 3\ 4\81ê\9ci\ 2\1aÉ\14\9e¢\1aÝJû\ 4\81Çóq\87Æ-\80ÖõÑn\90\814¨Ú\92+ã°¿Ã+ãÙEP\9bcÂå\a·ÇQ\1e`\ 4\144\9cê\1e_8'\13?*\8cÑaù\17\ 2\8c\15\8fa´ô\ 3Vìw§h¬Ñ*Ä3 \9e&\17v¦ßܼ{uCk­Þ³)oTÒr\13°#\fkF+Æ/\bñ\8cÆË   \9e\86ÒÑ\9a\9f%\98W6\8eoøÐ|\89§á\b?Bð\81xÁ_Ýn/~½ø\13:Gìæendstream
+endobj
+1306 0 obj<</Type/Page/Parent 1119 0 R/Contents 1307 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 681 0 R>>endobj
+1307 0 obj<</Filter/FlateDecode/Length 1882      >>stream
+x\ 1¥W]oÛ6\14}ϯ¸0\ 64\ 5bÅVü\95½\f\ e\ 5Ú4k\\14ú\aZ¢m6\92¨\8aR\ï×ïÜKÊ\91Õ`(0\14I#\91âý<ç\1e~;\19Ó\bÿÆ4\8fébFI~2\8aFxsøõñ÷\93\8bùetA³Å$\9aQN\93x\1aMÃSF÷'Ýg¬Î¦Ñ¸³\8a\83h:\9dà\8bÉb\8e¿cüT\9aÖl\86Æ\17\97Ѽ¿0\9e\8dag6ÁJNñø"\8aý\ 3Ûê<bmº`S¼QÖ\9e\1e\18ÍÙåvízyrþfBã1-×\84\88}D\1c³\ 5-S\89vDËät¹Õ¤\92Ä6EM\8dÓ)Õ\96\12[\14:©ùÏ\1aË÷*_)ÚZWSÞà×
+_P®ó\95®È®eËËåW\98\8b\83¹Ó²2E\8dU\95æ¦ðk­+§\94\19WGþe\12>\18Σ\ 5We\99\9e~\89gs:þd\18#êK\1aƳhÂ[>¬áaS9}&¶\83·p½\8dC¼tµÉ2*­sÚ9^âÿ\10\91JSZ\9b\ 3\87ç\9aUj*Äk+\83·+]hUoÙ\85\11\r¥\18°ù\97\84ôËß\11}Ô!ôz«jR°Á§\91Ûª
+_ã\179-©{Qi\95\92-²ý\vZí)ÕkÕd>òa\1cKA\861\ 2¿\88%¨"Ñ´·\rmÕ£¦\ 4ßÖ\\føWéo\rüK©õ\ 1\ 6ªG\83íª@ÌÎÙÄÈæã@ÎÈ\99¼Ìö\94Ù\r¼èÖ²\17\e\1f\87b5Î\14\eT¶²¶¦/§¶
+eø©ª~yyÈþº²9\8eùl\8aÔî\1cÝ.i\12\8dÎã\aJ2£\8b\ f¥.hp«ë\9d­\1ez¾Üj³Ù®PÝ­µé\80àÄàý\9eÂ^ºË\14Ê8\90ÀW\15N\a¬°å¸Iaà(\97\99M\ e¹ô¡\9eõ\8c\16êÑl°§møÁ\9dï_\17\0\16²TW\11ý\89⸭m²\14\ 5àä\93)LmT&\1d͹\ 3\18B磹¸;rU'[î4\94±Å\84o\94\9e\ah\ eS Ä¶à\1e¨:\90\vH¹¤1z\7f\r\8c\f\1e\ 6÷º®ÙêMeP>'\99\1dàâ\97m\ 4\89\aðu<çn[¡ÿòÞ\14½¤¾p\87#CBhÇø\92n-,\9a\14yhCLÅ#nM³á¨jÛ\v\17ùÈ#Zn\8dkaá¡I·\9fÞ½#W#ý\eÁj\96Ù\9dx\ 2jj¹\86ë\99Ñ\15`\1c\82D«ý£*IÞíò<\1e\81Ì}«9I^\aÅWu­óR\12\ 4<<\1aí\ foý.+[êªf\16à¶R\87\80v[\93l\11+WòÉgêÇ)\19\ 1\v\0æÈ.ûÝ\8b[W\15ÎÍÁDj£\7fõµ\99\ 5\ eäÚ\ 4\82»Ñ\ 2\b»ê(QE\ 1L\82wSãÊLíuÊÙãOt\8b\ 1WêĬ\r2ÞF\ 4gùKS¸\1aL¥Ó3á#r¥µ\99®zÞuÂ\97H\8eíÝX¡§\9d @òÂ\91R\9càFaw¿ù\98Z²ïÄô*3É\ 3Po\a!5ä\93\91\ 2@ (¦2f¿Öp\894\82,\10ÊÎÔ[±ÒÆtä&s\8cÏÅNí\7fl4ß\82¨dp\91ù¿\9b\1c<k\9cïS\ 11p(Á'ô\eÞ3Mí\ 2Â\84\fVM]\ 3¤\9d\ 4(*°¥uÎÛA\9a%¹ço~nÂÉø;Ì\9a{\9dñô=8-\84ÊÎ\94¶lJa\eÆ¡¨!8\17Ñ[OH }éS\9e´\87\8crãïÿ×Ü}»\ e%r(ÈS\a\1c\87î¡ãñG\f'%ps{\aè9²\9clx\aö\1ct&Ä÷ÅlpöÔ\0\85Öi¯9a\909@jr\8fY\v`\f¨V«\96\15Z/:Ýá[«å\80\16\WÎ5P%\e±æ\87­\97;m¯\85       \18ÄDÇ+\959+âg\85y\9fÛÔ¬÷!\9eg\8c»&ék\bÐÇÕ«wÐ\bèõ´\aq?|=»xD¬ì÷\1f\§5Z-ɬLêÄæ9 â\13._:´\8d±Å\19\19\89ö1ì+\1aöh\1e\8b»¢"¸\16Ö\93x\88ÁI\7f!\17^¸uÈ\93S\7f\17\ 6ãa\ 6\b1²èa\9a\91Ñ\ 6\821µàQ~\9d«\a.\1c\13§L'q2¢kÑD2\85Øg>\9eÅR\v%×k\0t¼§a\7f:NS;6Ì?5Ä©\ eË¢À\ eD\88\9c\ae\ 6Böä\ 4\11.¢øÔå«\bâq}ÌY§?d\1d1pÓ\8a¤Õ~¼:\93\98¢aÔw\9a9\f\1f\84߶íýûë66ïÓ\19\81M\b\0áÓÁñ½\80}\95¼4eD\83º\8aCv¤¦Á±\8ei\11é¾\97Þß\ f?Þ½
+S\16Éó\92\99\87r\83\ 1\84\94A\9fÀòsF\19\1d\ 1Á~æ!VÍúYUâÀ#\ 4ï\ 6g0\11¢j\95Î-Ä\93Ø\16iÊÃ\9béÊ7K\18U^þ\12\18!7\10\ 6¶è\17ø \17 \96;!qÜíQ´\81ÔaßAÌÒ\8a\83îy\9c"Yz\r=´·\85\1eÐNgÙð\ 1\83© Me\9bRj{þæ95Õ\94¥­\98u3Um\10pÓÞoB\18âî3RêCÁMà\1aîB¤\94\13\ 6vÂð¢´ñ:\ 6Þ\ 2î:³%ã\95Jl\11\e\197\ 1ßD\9c\ eA¸àK\18Z\18qEfUÚO\18\8fýñh\ 4\11\9e\11}\12vàDt²xu÷\99­8\9bë\9dÜ[v\ f@\8f·Æ\83\13»å^F ùÜ
+¤@ÑÈásý\81ve\94µ\9c\85\e\8fÊ[1"@ö\88\9a¶@£ªL|?ÁW¨\9a\10\17\13\18¸Ðon%Ã)#\81Y\16°ñîñm\8aSx\10\95á¾ÓóLt\ 2\8fEß~\10ñ\90\92ÜØÈ\82þ®p3\92\1alE_â\1dà\ 1aÏW[\\86±jÜV§A¢-B ã\19îó\v\²§\10j³)\véû«÷×W Eû\95\8dM\0®¢Æ̳\ 2çaûÉp>º\94ý?+Ú'sÜäqW\97KñbÆÁ¾^\9eüqò/§}c,endstream
+endobj
+1308 0 obj<</Type/Page/Parent 1119 0 R/Contents 1309 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 692 0 R>>endobj
+1309 0 obj<</Filter/FlateDecode/Length 1703      >>stream
+x\ 1µWïOÛH\10ýÎ_1G{j*%&v~\19$NJ\ 5´\9chàHÚ\9e\94ôÃbo\88[{7g;\107»^pB\90Z©GU\9aíìμyófvóÏ\9eOmüñi\10P§OQ¶×öÂ\90\9e~å·X´©Ûéy\87Ô\r\aø\1cô\ 3ϧ\Ò\1c\9bÛ8þøËm\ e\ 6^ÇmÆ\81][¯ßïuú°uüÀ\ePFðÙ­\16)\8d÷jË\8cÂÐ\vk¶Ú2#¿ë{ý\9a±¾\86\15\80ëGëë\8c\82¶ÿ\88\80\83Ö×°"\8b:¤Nè\83\82 ì#·\8cº8;¨V|¶¾\86µ×õz5+S\18\f\r¶¾\17T\v>èûL\96ß\1fà\0\0÷ú\bbWÆZ[3àC\ 4}²Ö×°\82´^Íê\a!¨aB8¬ß\r\91\8e]\19ϵµ¥"¨Y\99
\86\15é@$Æ\13\9f}\92\87ùT\95=\b°ÉJd\10"'Söw\93\1d"98kÓ!Mæä{ÝN@}T©×\ fi\12\e-µi\125^ÓÛÉ·½F¾\8c¢4\91ª¤¥¾ÕÔúD¹Öåï\85\8crYR+¢}©VY\9c'w2/öùH\9bZ>PÁYãDg"QÇÓÑðzt>üJ\97ããé'\95¬¿ÒXæ8p<\1d\8bìFPà\ 1yK¤Ë\85è|­|\ 4,+ø\98~IT¬ï\v\1aMh\1dö\9dÙ\85¸Ê\13\9cN\f\ 2:WsMþÑ\16\ eâ\9fjÇHdò\88¦\1f®èB\142ÿ\13YtÛh" JdAWc\17Á\ 1ø\15\11\ 2ÿÿ\8eÐ\1d'\aøûñï\1d\19üT)\97\96Ð_ZKW,S\87y*n\8b£i{\1d\82övÛѽ±Gq\91¦3ü\]¾¿\9cÍ\16Ë\96Áµss,\8b(O\96e¢ÕÑÔîß>×\1c]ÒÉõùçÓk\1a~\1e\9e_\fß]\9cÒÙå5M>\9c\8féêú|49½nîô\1eé,\83ü\8f¦ÎêtñC¬Îf[Rüö\95é\9cB\96¶qÈåG³ÙþËÊ\84ñWv\98c|¼\8a"Y\14óU\9a>\100=¡)5U\0_\ 6åq\82\ag\98\99]\1e(-;QZ\1d\'\98,hàa\1c\96\9eªV*è.\11T.$Õz{xõÅzÂ\8côÙ\13æH0`\aï\1e(\96s±JË&Ùy¡çsL\e\12iJ\95\©X\88\1cí\8b\8d\89\921%ÊðÌsÎzk\14Ù\8d\17i5ß\fÒà\9d\8cdßaó<o\9fæ:\8deîÑ0-4ÉuR\94\9cB¢\1;\98Í@V.\92¢ÚKø´\9dQ\1c»\8c\91è¿"\a, ðh\82xH\97î\13$p#\81\93V`?1ðð\ eh\ 5}\\16\bÁ{qHɨDZ+L,\8e$nRI¨NQ/\9d\ËhUJ\12\8a.\97RU  \9d®g\rn$\9cÄÄ\9d½EÔrA"Î\12\85´rQbrsZ-\9eÛU^ õ.Iå-\b\9d5\12Ozfè\93Î+Rq1\99\125\1cûÆÝ\16³³·\954¢jw\vO\ 1\9f\\8c\1fl¹3öÇÌ\r+\ 2\1cº ÷\96Ãcz\90ÅV,Àdò+\99¼\10\19×Zܨ\85uBká\9aö\ f\9f(?WÈ\14åg\82Q\1dÇ5¸7\15æÊmSÏ0Å#PXE¥TËzÓ\1c´\98\1f¹«¥Æ\96\1aý<r\84\8a·sÌV\ 5zSÜ\ 1Ò£ÎïDºByX%Ë\ßæ"£\85ÖßÉìÝP\a\87c\8e\1c\9b\0ÉËâ¡(eV\95ÙFt-SCt ËèÀ\9c\8cÄr\e\17d!\96\88\ e»\80üæPN\ 1\9d!\83\1fîÁ9Aà\98A"\7f0¢áÞ¯\1aàËB*è\9eû\8fñ2ûó\gàÀ¾K\9ah\1acá;ãI,f\1eP¬!a¥KÛÃM\8b\1cO4«^ÂLxƲiJ×J\1cÑ\1eª\97\8dÿ§F\8e\85²1\ f¹\\8a\9cõcI·.\1dÏ/\8e&ÖQ\89ê,K>\98ê\88éeH
+³ÔE5\89ztnI°i'¦?j\101¿0j\98\88j@6yJÈ<Gíô\9cö\87æ\ 6 \13©\12\19ïó\84Áën\95ó$­ [²=\1ai\83A\0ÒNn\1c®g\1c\19qÚÄ]ãaø\16¨\8c\99Z\98mÊô\1c¼bÞ\95r]22\ e²9þ\9a&\r'\97\ 4CSØé$¢H¯T¹­\9fÉBâ\1dÌ3\13\8e²e*ù6\87ζë\1aËT"5Gë\vÅ\9c\83°\fú\8eõ\bGæÍhôÈHw^"\15\13NÏÀÃWFªïÍ\95\ 2\(ÄZ0²mHµ        ÁØwÍ\ 4ûòAùK\8côØ^Aõft\10K½©¹\9a66zÛc\95¥Ûe\9a\85P·,>.¼¦{þ÷A¯ D\19W½n\15Ã<§¸\82¹xoN´\92o°9\89\16\\ 1Þ\fE\81Ã\8a\13w\170w÷\v\r\ 60Fx\ e\98\18:ÿ^Ý \e_VZAÏ\víÓâÕo\a7\89:(\16\8eãê;Ã+\1a\9b\17!»I\14f0ØÙh\1a¦\ 5·­\82Ý\14\1cSí)sæ¦ú\ 2óÊ\ 1ukzí7\1f\13§Éw2\86¿¥þñ)\8a!ÍÖçÇ\83¦}ª\18óæa'=>È$ÑE¢Vëç.:@ \91\92\vpp\16V\13Íï÷¼~ÏÇ÷¹\8e\17\1e\9aÇÓxøñÝ\10Ï\10ý\r/\b:ÑÑÊè\9f\1fËì¹ÅßeÛa\87Z\83\10þìk­;èz\ 3|q4Wk8`\8f§\93½¿öþ\ 3|ñÔWendstream
+endobj
+1310 0 obj<</Type/Page/Parent 1119 0 R/Contents 1311 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 697 0 R>>endobj
+1311 0 obj<</Filter/FlateDecode/Length 1231      >>stream
+x\ 1­WmOãF\10þ\9e_1
+NEÕÄoy\ 5)Há\ ez¨@S°T\9dÔ\ f·ñn\92½³w}»k\ 2R\7f|g×q\82\f\ 5z4 $¶g\9eyæeg&ß[\11\84ø\17Á8\86þ\bÒ¼\15ú\93   ìßÔ
+/B\88G}?\82Ád\8cß\aý\81\7f\ 4\8aÁ\12\85CTß½ÕÂÃ\81
+Ǩð\9cèͯ­þøÈ\1f@\14\86~\1frD\9dø\93íU\ 6·\16\1aÐ\d\1f\8dü¸ú^?\18\8fQ§b³3p\9a´\82ó\10\8e YBä\ fú1\8cP\7f8\9a@B\1dÇ\10\92ôð\0¼A\17¨âwL\81 9û9ùÚ
\17¡Ë(h\9f\ f»\90É\94\18.E\17JÍ(,¥\ 2³f@Ù\1dOÑo\9e1\90Kw«P\\18¦\9e¢\8cº°áâè~\87µ\15\89#\7fä\f=Q¹"ß\18è\12£µa֮ï\99à\ 51pÃè'üÀ\87Ú\91²O3Ør@zKÝ@\9dß\\'\1ffóiÀL\1a\94\14¾Ók\88~\9c%gÓ/\94\18\ 6¿t>wò\ eíu>u®:·_\1a\82\97óiV4îÝ\9cÝ&³\9bdÚÖL¹\18e\ 5żkC\94ioew\9eÃo\8c\15\95ÅC\ 3'-À«9ï¿ù\9e\10=\80\19¥\8fs\0FîU\1aÂ,]Kh·á¿¾NN^\81ô⿽èø/|½\1düUP\80cM§Á\1dQ\81.¤Ì\ 2\8cfàÅ/\9ay\vh~?\r\8fó\fßôúE°:Lo\ 1Í\8aiPj\15¸\9a
+4É\17Ä1wÅ\16xC¿Pâx\1f\9cg ëÂ0²L×Ð~\15­\r\b\12\98¼¨
+\9aPê{\1eÄ'?E\8d¬cÒ7\ 2¼Ëùÿ\ 1Z³Ì¿Q®àIr\9e\98Î%\851¶Ç×%k\92¯I\1e¸*ö"ëþ\e¢Ô`´Õ\8eߥÝ\7f\97öà]ÚÃwi\8f~LÛÛv¶\1fÓ>\80kiª\9eÎí¼à\1að_0F\19m¤§*þ'µ\9fñE ó\85\9fJ±lh\1c4¯á³,\1d¸í\84\8a\99R  ì²w$+Y\17\16¥\81\v 9\88\9aÑÆN\14n gDh¿       Ö¸®\1aèG)XÝÎë\89Éî\11#´âÁù\11D\ 3;\7f\0îõc7\88q®ÞÚ¾\0DP\98W\13\13æR\19\82\ 2\86s8\1eÛáø'\17Tn4\'A\1câ\19\ 4ìlaJ\ 3ÑZ¦Ü\ e*\ 2\ 5¢à 5k`\ 4\9b\87\13\87dÍp\82
+©r\92e\ f`ìlµ#\1cGyng÷å<\89\8e»µ\93}\0Ðì\87߯ð&\9c_\\9eá\aNLß÷¡b\9e\97Ú\0É´Äl\16ΨE줬0\16ÐÞ{D\8d\90`å®\ f§\ fv@\9323]\90"ÛM¾­m\8cl-ë°ºn;¡Ð®ì?\8eZ\e¹Ýs\8dæ¤M°~Ð\86å5Q*q7°9VÌy¾\r\11\17 \15Å\9dÇÈ\86Ó\8e`\17\14A\87\94­\a¬P\82ÚßK®XÎ\84ó®NH\9aq¼³«\96x\84\e\1c\ 6\ e«Ü\86\17ë©b»#ñ/ÁjïÝ\91\19\17«6¸-J8Æ\f³Y¥°:.\9b5³nfrÅqÛy\8e½åíbÏW\ 2×5¬þ\1cÃÌ\v\Óê´ @\9dúL\12
+\v\92\11\91¢i\f\v,      Ï@bmÕ§ öëb      \ fx¦¶Á¨<l@/ìZ¸äÖ®]\13µÌ\99\r½¶Ëcu(p½vÕ}øø\1cï\8bþ\109j\èìNG¶*q­ÂD\99;\17\1an§2Ïñ0U\ 6êãs\b\9b5ÇC\90\12\ 1HË­®\18\8b\8a\1e\9e\1a\U1ÈXhr¥°\17¸\94­\98`\98}g>òrA©\vúq\85UÖpIwîD#ü10éÃ(ÆÕyäÊàvvu:Ã\ 3.¿²ÔÀG\99\96¶~Ü&mu{µJo\1câ\9aþbS\18\8c\aþ\18ww\ÚéádbÕÏ\92Ö\1f­\7f\0ÓM¡\19endstream
+endobj
+1312 0 obj<</Type/Page/Parent 1119 0 R/Contents 1313 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 700 0 R>>endobj
+1313 0 obj<</Filter/FlateDecode/Length 1516      >>stream
+x\ 1¥WÛrÛ6\10}÷Wì£=\8d¨«uÉK'7;\9e6\8e\9b0\93\ 5"!                    0 iUéÏ÷,@0\14-Of\1a{,\8fÈ%v÷ìÙ³Ëogc\1aáwL\8b      Mç\94äg£h\84+íÇ\87ë³Éä2ZÒ|º\8a&\94Ãê2\9a5ß2úÈö4\1fMñ9[.ð9Á\9f\95´q7f\8be4?ucº\9aâÌ\13OLVììÑ\8då\121\85\ f»å\0i®¼åå\ 419¯/ã~\ 6°\1e^­h¼ x\83TçË1Å©ËpDqr\1eï$Ýä\85Uº*)6&+eu\11\7f9\e^Íh\fS~f0Y \8d8=6®`L°¦Â\9a\a\95Ê\92\ 4}º½ù\9bä·Z=\88\8aÌ\86*8ø¬tjö%ÝÆô"Mé\8e½I\8bËß\85M#º2\96\12\93\17\99¬$û\86Çñ\14hãÒ\ecsQ)£\9f\11\fD)\91è\ 6\ f\1dÝƾ\97k*U%IT´«ªâùp¨\9a¼¢ÒÔ6\918i+#-«!\89\92ö2Ëø?âëùLMRç\88Þy%¥\93¬NeJ{Uí\9cËp,ùc)UeeÕºæ #\8a\ 4,     \7fÃ3pbtv\b \ 1£µUrÓs        <¬IkÿP\93ÙF\8aª¶\80\15 \86,#_\1a\94\94f:Fé\ 1Ôç\1dò\86ç`ù»·<*"Û\85ûl+\80z\965¡r©¸ü\ 4\98¨¬\8bÂØJé­Ëxk\ 4n\18\175Úd0\99{§w®òl\85£\80\98\15\19ªS\18ÔÁØ\ 3 k\8b\87Ë[Ô\9aM;d\10:¥Õåpµ\ 4<\9e\12©U\ f(n!\92¯b+K\9fDÒ0q°\88À^Ð6=¿\9fÌ\17t\9c¢»Ù\12çGhL@\9f\99\96\89,K\81È8ÇÄ\ 2à\90a\vË\13\814ÀÿZ$B\ 3\92²\12Yæ©\95d\8a\9bd¿SÉ®¡Êº\12J\13ãÒXö\90A\154°Ì\r\88þQäkÁ¶\8cC§g:\0Ïüãà£\ 5¬åÉ,B«u \rü\1aL\96ÑxE\83ÙÌ÷ÿ«\0Yèà×¾\wGåzÄ9Ö\18\88\ 4\83Ïdn\81\7f\ 2k¦æZ\1e\f@àÚ\95\89)¤W\12Ü\bÍI÷ç­\ e\84âEÕ?\15\81©¦\aÈã\16öÐu\e×Q"7\10Ñ\ ekï/"ºÑTîÐ\vÏ\80tÛ]tÌSßLÛïª(d¿\1a\95°kT\1c­\ 6EQ:\10®9`£2Y>CEA hÌÍí\155\97\98\ 3Ü ¬\f\99»HZJ\16¢õÁËÐc*=-\ f\\82\0\86ãîq*Ï\9d\92ÓCå3È\98 TTbÍ2ì9\85P <¹8 dô­\96\10·\94\1e\94 ð\§hyz\eÇw\94Ëd'´*ó2¢7"Ùõ*\14\98À\1aºá\12l=í Ó\0_\94¥I\94ÃéÓ\87?]Á\98\1f"©jè\ e\ 6\8cÎ\8cp\12ÃZÆ\9có´ô\1e÷\9e\94Ú*nÊ\ 3æÇV7á_ëúîºiÍ\ 4Î\91]]â\1eÄ\19\9d¤6\\ 3$Þ¸h½Ã\ 2\90p Gat\7fÀ8âZ6õ\89\85 \19\83u,æ¾BóFýÎI\9bÞh>GY081¬\98\17. ª\19?µUÕ\81\92\9dL¾rì ºXg2ý   Cº\94zåÔé \96¼ëu
+\ 2      úÎ9·\19\9dÒ;\ 6èA¨\8c\ 3j ð^°\88\85\8d#\88R8hà£\19¼}ÿ9~\1f\15\r4AiÎ}\7f<îs\156\9bfT\aF4$\bs,þYÈ\0\19\83\98˵7L<Ð\98\8fèÎB0\1e»\10Ë\e
+ÂÍ\9b)-éNZ,I\89UEõ\vÃLÐuüÇoÄm\97ÒÖ\8a\ 2\13\ 3\94w#s#\12\9eo\8ejG®\8bÿé:\88~\17\9cSe¼ÇrFk\83¥È\ 1r\7fÁ\1a\1f\16Á\
+íÄ\9e\10D/Tó\91\88ð<\16MQBé±õ%;~2Ã~ÅÀ~Õhñv\1eæ&\95\19\85é¬s\ 2Rî\81HP\84£qÊìôÚÛ\19¥=Ïí`íî*N¢\8e\ 6)Kf³\b1\81P\1d\95 &\9d\ 1\1f\86\1e\18\ f¬6ØB!\8b²`5KÉÕ'A\16¬\18{\14\15³\83\84\1fèë˶ñË|íw\ 5\ eôÇf~ÎçøK?lm\91\9c´m:\7fD+Þ\1c±5N'\88\1fo\eø\ fÙG\ 5$t\19cµÙý\0(@\85ý\10\93[A[¬gº\ 1ðþ"à\86w\13>ãßÞwâ\9fqDÔÆô\9c®Ñ$\\ 3¤k\r0\85\9cS]°pC£ fnq<u\ e\9f\85Ý\87\9f\1f?\80|þË\ 6«1^Ïæ\97c\9a/\16ÈpÊQ}|ñîå\v¼s\98/8\9d^w\97{~v0\9eã½m9¥Áb\ 4hz\ 3°óF4[Ì¢Å\1c/bl´\ñ³o⳿Îþ\ 3{\92{Uendstream
+endobj
+1314 0 obj<</Type/Page/Parent 1119 0 R/Contents 1315 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1315 0 obj<</Filter/FlateDecode/Length 1547      >>stream
+x\ 1\8dWMo\e7\10½ûW\f|r\0kõiI\ eP\14\8e\13£FãÆ­\15¤@Ô\ 3µKI´¹Ë\rɵ¬Cÿ{ß\90»²´V\8bÆ\81-i9ofÞ¼\19\8e~\9cô©\87\9f>M\ 64\1cS\9a\9fô\92é\94^\7fÙ\15Þôh<ì%C\1aM'üz\92LÈJZâl\ fÖ»_õÙáådwv\80óõÑc°ý^?é\1f\83¥!{\8aþ\ 6£ä"\82|\98\1dqÙ½éÑ%Í\96ÔOFÃ\ 1\8d\11ãÅxJ³,DÖ£YzFüo\90\10¹|\91j%\vÿ\9e¾\96Ú\88\8cüZRfÕ³´´TZºw³Ç\93\1euú`\0\10Ñr\bK[¦\8då­s\95t$
+ºÊ²{«
+/íÇ\01?\9b¿£»\87Î\1f÷×-\9c¿ë÷\83~2fÜÑ\11ÈCÄO/{hä\r\89ÔWBëm\v\99SK­\14^\86\18\ f\1fêÞ\8c¨ßgf:\91\9aÎ`\12(\82ÿ/\85$³¬-ÌBËÜ\91,RSq22£ÍZ\16¤ò\12\ fÀ\96*Váèm\1eà\1dÂ1\9a\9cô´\11x\ 3
+\v\91Kr¥H%©HÏBú\8d\94E\13í0\19pÞÏÂ*S9rUY\1aëá)²J¦kå%r´Ò%tc,É\17Á\ 1\9cÓ7Udfãè·\19©"ÕUÆì7UcÏ\19\9d^\958ÚröY8i¿YÀZº½\85ù\9fô|ÑO¦§`:Û¡^^P
+^\1d\b:pÊ\14\91\eå\1a'\11\9eÞ\ 2\9eÖ.\aãdÄùÍÀEi\ 3¡ \82ÖfÃ¥{*ðw³\16¾É6*\ eÏų¤\ 5h¢*È\11\99,\91¹\0F\90UBWHÕù
+ÕE\8d3$²QZ·ò´(R¾À3Ï.¸\1c{\8cÕ\ 2¥{kJi½\ 2w\99\12Ú¬È\14zûJh,\1e{7ÐFí¿É\9fIF,-¿?*\95>\916æ       0m¿#ô¯Û:/sD¾RÎÛ-        Ï\bÜ°Q\97\86¸_~ý|7\9f?\ 4\83ùüº²\16º»6\85·F?H\8f\8fâëù<$4\9f\7f*\9e\955\ 5Ë3\826bß\ 3e®àýY
+\1d¹ÙãEè\8dØ:ª\1c\baÊ ®z\ eÄdgkÔ\ fÿ\91\1c4þÖÐJ¤\ f­\ 6à\16\82\96([\9b\93\ 3u½!\19ÎJ\0\84~1\e\84mÏéAä\vhÝÀQa|\14\fÂm9¬\83a2P
+è½àI\91\10äh%j\8a&b)¦\98Y[SqÒGr&µ\f\9aEºìJhVÜ6ÊS\15Î\ 3Rf?×\9e\9bºÁ\ 3\86À\96\eÆ)4¦\97e\19Ç\ 5ÒÑ*W^xn(¼C#Ôq\ 6Îà@Ón¢´\ 4\87Iò$VHºnxZ\18¿æ\98[\89ß"Y}P\1dtöåE÷rÚ\920Ïk\9eö(Ík¥\11Ô.1\8c\7fë|ÂøÝ\9bKêOxpBKÃQìì\8f
+ãT¸!  4|<Ñ\8b3\1d±X\93U)ç\eaö%       <\1e\ fì\92§\97[cü\11\bK­*\ 3C`°\1e\17\99\T«\18?SYÏ\13\87Ö\a\aA\10\YÀDó\ 5hÚ·lQth\1exfÔ¥59âx¸ûÐ\f%¾cj½an\ 6õ±\ e@:\81|\1e=¨³°¸#²8 ù       w\97\85\9c\9c\f\92jù®G¸ëîÜfè\99Ô\e»\rLïõê\97§sr&Ès# cD\13\8cøÅaX1tèØÒýuÐx¬\1d"åÄXà\85Ä$\85!BEt\9eK\ fº¸ú­\0[íÕܱh8èeûZ\ 3Ü\rR/ÏqGÐc\85ÆÆA\1eÌ\88,WY\86[\12\9dUßx\1c\0GÖÐÊÎù£\96ç¯\85zyÅwÕ"\ eˤ®\0X\92ØJâlâÍ$fÍ\94\ 3\1a\7f
+*\85k\86W8\10\88\92/±ûé4°×r\9a\9a\1c\91f§        }ãN\88\ 4×\1f\ 6âx2\80©ªdö\10u»J3n÷µA8\81ì æ4Nf\f\a\f\16®\80 \82æÞâ\85+Áóe,Sn@\9d\95Z>s\85\9bcó³ÍZ¥ëà\1fmQé,Ü)­Ð\11R}É4\98Ĥ\97\98\12\84\95ïÙ µ\fv\ 6\17É\14K!Z\8f÷$¢ï+m\16BÿÕ\80ï¯yx|H\b\et l\14P\84í0jÑ\95Ø~ä®\9e-\b]þ \86Q\ 6`\88\156¥`E?*Y¡Y0\14«£«&\8eëÒæ\87\b\1dp\96\el
+\82\1eÍâhèßCäÐú¿f&0;~¢.\16°n\b¥«Ë¬ëøv\89¼5³êí®È5_\1a­Í\86\8b\v¦©PØó \90°×\88\85©üÿ"\9fbú¥`\95½r\ 4\8a½)\91\\9d\ 3a\a\89\85\bl\1dÍ·\86ÂuYañÜa1\94À\ý/¬îÍ´^?úã\8bd|ѧñx\9aLÆA%\ fWw\1f®xWzÄ\94¢\8f&\ 5|\11¯0\8e£ÓÇ\97\9fÞtH\9dI\ fß9²³\83[a4\19\ 1\aß\9eøÉe\8f\r>ÍN~?ù\aOÛ5üendstream
+endobj
+1316 0 obj<</Type/Page/Parent 1119 0 R/Contents 1317 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1317 0 obj<</Filter/FlateDecode/Length 1510      >>stream
+x\ 1¥WmoÛ6\10þ\9e_qK\97-\ 5jÙ²\1dÛÉ\96\0)Úb\1d04[<\fC\92\ f´D[L$Q!©¸Æ°ÿ¾çHÉqÕd-¶8~\91u¯Ï=wGßïÅ4À#¦é\90F\13J\8a½A4\9bÑã\8bYáb@\93x\1cMi<\9bâóÑ$:&#i     Ù\ 1´·/\8dìx\18G£Fv\bùFô)³Ã£#Ø
+fgÇÐjÍÒh\16\r\9b\eñdÜ:|=\7fÂgÿÝ\98â\98æK$2\99Mi\9eú\98\ 64O\ eß~\14E\95Ë\93\97óÛ½þ»\ 1\1d³X\1c\8dGCê\r\8f¢\19Þçé!5\7f\95Q¥£D\17\85(S:¥~mM\7f¡Ê~^\19êáÿâ ¢\ 3ËÆ\ 6Ô\8b\81Ò®v^ÝouéSí{vð%mS<ª\7fê»Øjß>ãû¾\96µ¬DmåÖFcÂ\86ø\93àÞ:]ýo\13¸\80g\8b{¯Etê\91\ 5¢\97¢X\b²\99®ó\94¬t(¬°º\14\8b\R*\97¢Î\9d¥¥6ä2\89\98SYÉ2Uå\8atI\e]\e²\eëdAnSÉW´¨\1d)üÛò{\94'\17Ê<è\8d(]Dïù[*µ\ f\88k2\ 2mà¿.¹\8a0æ2áØ"eâA\92ÓäÖRÜ5n9\80\'"\ahpï\94.mDól\v¢mS\10ùZll0²¬ó|Ó\82Øø³\95LÔRÉ\94*á²R\14Ò¾"aÙ\ fÙ"]P!6\1cf\13\86÷`\8cL\1c]\9cÏ\7f¢\a\91×ÒF\8dÑá$\1as\12\7fdÒ£\ 1\0AGA·zÁ\19\ 4lña!É3V¦¯\18\9eµÊsø¹\93\10\ 5v\956Âl\90Yµ!½ôø1\1c\0[±c\8d{\8fQ«²\93\10\v^\ 5ëÆÞ \82\84Ñ\89\88\e\ 3¾\9aÊr\ 4Ò(\9d*\80\98ÃY.E       \10t\8dÚ0\8eMãè\8aµA\ 2ðÔ¢ò¾*ìb\egǽ\8f\1aÖ\8d\ 3\f\8a¥\93&d\v\96ü@ï\97Û\vZ
+\95\ 3X\85Ze\8e\96
+\81æré np\95KK\8aó\a\0 D>\9d\8eó¯I.\14\ 1ý\96zLw{\1f\95I%Â-T\89\ 4\91ä>\17®¬\8b\854û \85U+ÆÈé\8e[Ïû0\82Xa±ñʶÒ:\97¦Ë\r\ 6÷à,\97\ e\8e~$\81¹¹_\88Äh»\ f-P~\85\9eK7 bS\19#«\$p»V.#QUFÃ\95p²á\1e­\99l\88\8dqb¾\82\9d\18\ f,[¶¨Ë®9N\929Ï<ãÏ>f\ fz\b&\80\95`\ 68\94\811g)ÌÒ\7f·ÕñÍ:\r#\ 3¹\ en\9f3ð      âëL%\19\8fEø^\1a\8d¡\ 2C\0°´\ 2QÙMÿÝ1Åh:Þ!½\11Æ\19÷ß\e¹¨W+\9eJ\8d[¼kL°Âo\80ݵÓ\eòÚ9ü\80\82cNp\93¦¬ûÈÑV\91§\15îZ\87\19Ê\15\ e\v\ 4µ3¼}\95l&ÑÑ61ªj{\ 6\9d«\8d\87¯\ 3\8e0«º\90%äZx1Ò\9cÿ¢)J`\16wBDçd\15ïE\92a?\86Â!¶;n\e¯\80\98,\85^Züçýé\8aªo1x\83ïÝå\89\84!ãÅøâ\e¿d·\82mj;ûõ\ 5­e\98\ 6×=Åñ\ró\9e«i|Ï\83´æ     Ýí\16W)õ*:ësTxF>ª'\14¼3S\87\9e\ 6\18V\8eÐû\93Æ`u\80PV¬äSç\81\17m\87xñÖ\86¯*Ç«A\94Ý\1eäE´³ö\9e\88i\9bÄö(òmLß\ eixvöÝç        =róóÕ<o·J(\8a\b}êY\83\95à\a.óQa\82ÿ\89½É\8bË\ fÓíÌ\ ezþÄA¥\94©g4f5\9f-*L\18\8cYp\14S\97\89.e\9bL³)9ý \8b&puàk\18ó\1e+\8c¾/\9cÖ²ñ    ý5\1eþM\a$\93LS¦\9a\9afªõÕ0'H\8e\16\8b$Wè\aê÷ýÊÏ´uý|=î¨\884õ)`¬.1/IU§8çñcL\8bDX×^âèJe!ìÝ)\1fbÛç cî\ 2ã~\r4N¨sã\8d.\84*O¯Î/çç¿ÍoèÃåéÕï¥úxC\97Ò`e\9d^\85¡\89\ 3t4½é(#\99\13º¾>\vó\85|ý?K\1e£Íq!¹ã[\11>\92\17O\8fFcº>DZt·èÛë\97¸\0·\rØì\8fûáËç¼úòunÆ\83ñ1÷2\8dükóÒúê\boãOD\99È\9cX¹#òÖwX¸\9fs\1a¼\12½\93\13\8cò\14av\14¾ÂæÏ­\89ƬL\9f³ñT\86[\aò£jο³æwG<9\8a&G1M&Óèhâ\ f \97翼>§\v£où\90÷F'~:\v>\ 6±Ó^\fÑÁlD½é\0¿I¾´kÆSüü\9aàw\19\8b\1eÇláí|ï×½\7f\0±-,Ñendstream
+endobj
+1318 0 obj<</Type/Page/Parent 1119 0 R/Contents 1319 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1319 0 obj<</Filter/FlateDecode/Length 1483      >>stream
+x\ 1\95WÛnÛF\10}÷WÌ\9b\1cÀ¢$êj\ 3A\91 u\13 AÒZEQÀ@±"WÒÚ$\97Ù%­¨ÈÇ÷Ì,I]b7­\rI$µ;;sæ\9c\99Ñç\8b\11\rñ?¢yLã\19%ùÅ0\1aÒl<\8bf4YÌq\1dãå4­ñÅbA\877·ÁÍ\90¦\93Y4o\96\8eƸlÖ\ ei2]tß\8c§Ñ¸û\ 6\aFÃæ­±2\99\ e£Ñ\7f;p\1c\ f\ e\a¾]²ãg\96\a·\13\1a\8dh¹F\84³Å\9c\96©\9c<¤er¹Üjê%6Õ4ì\91)R\93¨J{ª¶ªÂ\9b¦\a»¢\9dòp:·O:\8d\887$6ÏuQÑj/k|¾J2Ã\ f\8c'E+SQn|¦Uj\8a\rÙ\ 2\8b\8c\8f^-\1f.\86Ô\87¯1<¸üÓÖ\94¨\82ìÊk÷¤Å\10ÛUEJ¶®Êº"¾\84\ f\85\dÖ>RãÔ ÊK~E¥38um2ì·äµ¦]ë¸Ó¾Î*øãôKG\7f®Mò\98í±?\9cIf-n\94ή2\9ds4;SmiokGr\14Çã÷¾ÒyD\1f×\15\+µ-qúV!\84f_³\v\9e\ew\16ô@WÉ@,%ª\f~[\98Ö\ exyc\vÏh=)glíÃ\89ô¹Öµ\ eè\rn¯i4       yì\8fG\11.ÓË?8`1©\9d§ÔÒ{qæ\a>ù8ñý\98\13ßÁ^û\0y\ fÙ®JWø\1e»¿q*g$\93­N\1e[H;T\80µvT¨\3$\8c\9e!\ 1PN'vS\98¿uʬ¸SùJ\9dÃ~\8b\17\95\ 3¯+1Àé\87\1f7ÁÕ!]sh\bk\1cS?\9eF\v|ÂcÂ_ëd\e(\9d\0y\1aj¿µ0\17K° Þ\bÙ6\1a\1c\ 5\14\98bm]®*`OkgsÐWØ\ 4W\9bÛ\ 6\95\88ZÂV.°~m³Ìî8ü\86zHøYº\83\81VúKåTR\ 1¡£SÿOð}õrüPV<BA8\aìhOïë`e\8a\ 1\ 4ÞÅß\vе´j¡\eÇ\1dtºª8ĺìö\88\1a\ 5@\b\ eÊuþ\14\7fö¤£Z®öTh\84,\18UlÇ[ð§M\80'`\14\ 4\16²\14ÔÅËÁ\8c\88ÞKMñ\95³Å\ 6Je\96qéIÙ"\13\1f<<ü%öZ%&3\95A1C
+\9f\foiêUã|im\ 6>\1f<\vR;ÄÇ\1a=JUËçx\16\94\17\1cv\1ae\ 4Å\864J\ 5Ì59â½,í\83¦R\9d\19 Õ\85~b\1ae\15"jQ9þ
+jærü<µ¾Ë\1e\16ëW\95\19åGá#\8e¢èÆ\96Lø×O*«õ\r\1e\9c&°eAÜ \88\95«²ÜzÔä,\vn\1eJ¡¿jªf¨\ f=>³Gy\8dÕ+é\15¥õ\0ß\16H ¤ ²r«\8a:×Î$\fQ\8dl:\9fXT\93Þ_BÈ£.\91l\95hÆù\88î\988\81\1f\99·ì\8cÝÑv_¢Ixº¿ìõ{÷¯\bxít\96\ 6\9d\83C\97¶Ä×(_\ 5´\8eR-E\8c©\adC<Ú]qæÏØ\84
+\15LH#PäK\95\aU\84­\82l)\9f§¸\87JOì\91Z¡}\1dÛ\r=³Ëm[\14$\a\88`ÏVØÄý=úÛÙùì\1eèθe¦àÆlQCÑx¤3\1e\b\83Ç9Ú\9dá^$\vÏÉúN\ 3_®Ø"¿¦\f£Ý¬\ f6¸ðya\14& ~ËòÒÑ\ 3§RüoÊ?;ÙÇD\81        "½\1cEÄ÷¸íz{é\ 2ÙN6\89®\ 4Ì\93íñ³Û?ìé\13÷öV/ÍÁH\91$´Å½\ 1ýÄàø9\837~{\ 3|!Y ÀBã\aIþZ:\vSYn°\82;\rîO,N^°ø=sÏÙ\9a\ 6[èo\a\88ÛB¢RQú!#GÅ\a\83\r¦\8dµqH\85¯\94C\eAu\K\1fÍÕ#t\ 6Qm@\10p³ãôY\ 1\13\9d\16\1cÚ\91¸\93\8bV1:ðÆ®­}Ã\ 49Æ×àP7\1d
+) \8aPI!\bµc\8e\85\86\87  £q*(à\97O¿\ 1è¦À\vçù¼^V&¨ë\ eÓâ7âoÆA\90[\9ck\86Hf^;E\1e\91¯%ì3n\8a\83Í$uE\98Á"¼\7f1\Π$\99ÝØ\15Ô 4\18Pý0\8f½àù\19\86\12\87ÌL\88¥¿îÉ\80,ÓëË\9e\1fñ¾õ\9c'\8c\ 2\ 5Íom\9d¥è®pNÑÝû\9fßýþ\89¼Ù\14*cýói\18¹y\ 1·_~$! $\ 5\1c_$\80\14\85\8dP\ 6·\8bæ×Áh\82\1f9\8b1Íæ³hz-ÓåÝ\9b\ foß@\8aö\81\81ùÑ&¨ÛE%óR\90È\f¿\8d°¥?\1fbzû÷it2\9f\19~;ñÂë\98÷ÿ´¼øõâ\1fÚ\16;\84endstream
+endobj
+1320 0 obj<</Type/Page/Parent 1119 0 R/Contents 1321 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1321 0 obj<</Filter/FlateDecode/Length 1541      >>stream
+x\ 1\8dW]sÓ:\10}ï¯Ø\19\1eZf\127ßIûV.t\ 6\ 6Jo\e\86ËL_\14[NDmËHrCfúãïYIN\82\81Ëå£$öj?Î\9e=+¾\9d\fi\80ßC\9a\8fh<£´<\19$\ 3\9a-.\92   M\16s|\1eá¯\91\94ãÅbA\87\1ff\8d/\ 3\9aNfÉ<\9a\ eÇø\18m\a\18íß\8c§Éxÿ\ 6\ 1\93\11½\8c'\93dúÿ\ 2\ e\17\8bdöË\80ÓY2üéÅ«%WÔ        y~}Aà  -s\94>\9b-\92\ 5-3\9fÔ\80\96éÙ;½"++×£J\93n\ݸ\97˯'ç×\13\1a\ eáþh\8e#gË\8d²\84?n#©ÔÖQn\1aë\8cpªZS-\8c#\9dSmTÅ\ f\12ú¢\e\8e6âIú\bþàW½êÑ\934*W2Ã\13áÚÇ´\15\96rm¶Âd2ëq\12\ 3ê\ 3å\11\a·ÒQS\93 ­\11u-\r      £\9b\8a=HJuY
+þ¬9Nx\96«BöhÕx÷è\12\17\88Ìué\8fút¥Ib´Ñ\fL@´ke,\10I72}d·¥xD\r\rüü\90ñÝ\9b«÷ï¿0&ké<\f°å\8c\8cZo\À\82¾5²\91 ½Íi\aD\ 4|4\96\11\13ôêþ5iÓ)ôýí\1dÃÉ0\92­µ.¤éù\93©¨ÈɲÖF\18UìÈ:]\1fj`\8f\80\1fðÚ\84ÐSKlo\9d*
+Zqî«R9\a\[Lv´Å»NðJ;¶\ e¨d }²ò\92Mί\atÁd\18&\93ñ\88ú£i²À¿@\8a¨¨SêßF }VáDË\9f~{fîÏâÌ\8dÞÆ\84\0\14y\93oáFVÀGÒiQ\7f;¸=\r½\95¤r_2\9b3\19\81\bÐ\ e.\ e8+Ç/¹\96c\83N©Þ\9c\8fW\1e]\ 6#P\15\15X\84Y ífG\ao+éû\96¦²\ 6\92ÌÕ\10\9aé\1e½·\ 4º\91ßÁ\1fn8\8fÀV \99ð»ç\93\95`dË}ø)1\ 6è\1e\17Ã¥\19)
+t\18\9cMè³r\eÿBX«¬\13U*[S»³ D§.\91\95ª\82\12ùq\ 6L\84'%·ÞË\9e\b\9e*¨´\90\bÒΪg\8a\ 1\9e\96\873\ 2ÑR\1e]aöF\9ýNh\ e¶ÕM\91\91ü^Ë4\94\8cJÚ.\8bU\ 1iõÕ\86\90\9c\197\9bëþtóö\1f:å|N©q
+ÄÝq\ 6\99tÒ ¢#¼\80P'pDP¤®ñÀ)ûGÖ\12¥\19\9d? sî\87켨³ó\96ÃD/ÂèQ¦\fêÐf·\976\ f[\e\1eû!Ì\0¦ÀÒo\7f½\b\84âÎz¼\7fq\9c\9fS\96_\r\ 6Ãr·\81¸²ÍA\83\7f\9e\98Ýx°;â\84.D^B%mSC0\1c\8b6F"âôñ\ e_Á8o\19HD?Òf\ 3µT\15ØV\14 \82h\13\8eZ|\1a\ 6\ e9£7\18Möåç'Õ\15¤=(º¯\b\r\14mTȶÑ8)\9c'A\88\1e!÷ãs¼§úc¨\ 6\ e \85õÄ\94®Ö ÿ\7fí¨\8f<\1eÌC¿uÚyòQ0¥GBÊs\8fú\90ìV\e³ó\83½â\91\a\9aü\ 5S\1fª¬T*\8b]w¾\97`¬ß\81¼{t\ 5[\rr\97¬;\98|\ 3Y\13ki\995!ÝKZ\89ªBCÂst`U\88ê1~\8dK\10»«\eçhk´+æØQ»¢X:;4àÚ}\ 5©¨I×N!ËV°\90G|\82|Ñ´\­±Û²N\9bÁ\16^\99!\1eD"æâ\91\8dº\rß½@-8â\88\97vC\ fgÌ:#­¥\8d\14\19\a3Çå?¼\8cÑ\83\b\ 4\16wbïÛ\97ë¢Ð[ß\11/Ô{jGÊü~/\85ꥹ¤$I8±?\8dÔq}~\"F\f.\v_X¦¿n\ 3j\87\ 5@\1003\1a\ 4J7^ª\ f\83\16©\ e£N­k     b\84[\14Ü\94~¯0\85Eã4\16\83JYÓ\8e±ê¶ºeD¼zq\1a\99²¬¶aIí©p¸è´×*\7f§kl\90M#¿5\10<\e/(GÇ0\82\ e·/«s\87ë\19f\90Û S\99\81\8bLÁ×¹\15$»¥\1dÚ\8eKY\93³(\9bCàvAF°\81&öþÑÌ\1cF&\12\1a\87Å\945X\14º\9d4\vÅÁbô\12æ\85Õ¯\95\1e\ e\ 3´\1dÌo!±÷©Qµó\82Þ\83Ú¥Ð\ 1^Z(Õ_å0/Þ{Û·Ì(\88\eá1×øA¥Fß\ 3\ fJQzå\12ºFhù]\945_<q5\85ígU]L;\91q¸eJà×\1fWÕ-÷U\1aû\1c\8d(åóÃÙ\9d¿dþU¨ôñáå-´\15Ò«$ÌP\9bõµ=_eOÌÂì9p\7f\11¯ôÃÙ4\99M\874\9b\$³p¹¿¿úðê\8aàå+cðZ§M\89ªÀ>]ñÙþp\86ÿ\1e-ÆÔ\9f\ fp\11<Öåý­\9aí&óI2\9fá\7fNls1æGo\96'\7f\9fü\vì\9eJãendstream
+endobj
+1322 0 obj<</Type/Page/Parent 1119 0 R/Contents 1323 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1323 0 obj<</Filter/FlateDecode/Length 799       >>stream
+x\ 1}TËnÛ@\f¼û+\88\0ERÀVüPü8:u\ 3ôÐ"MÜC/\ 5V\12mo"iÕÝ\95]õë;\É\8dá&E\10À6¹\1cÎ\fÉ\9f½\11\rñ7¢Ù\98&SJ\8bÞ0\1aÒ4^Ds\8aç3|\1eãß2mBàfz\83¯¯\ 4â©ä¾\12\98,n¢ø<p»î]ßÅ4\1aÑz\ 3ôé|Fë\8c\80<\1cÒ:½ò;åIå¹98jLMÞPº3Æ1é\r)úàm>X\91v¤ª\8aË\8c3É@>=\99ÄE´Þ!$QÚ³m(Q\88ït¹\95¬ÌôI9*\8cóä*crüþ~ýÔ\eÒ`4\89ÆhãÊ5Îsáè QQÕÞ\14Êë\14å\eRY\86ª?VRÉï\98\0Nf\13>\ 2ZºÓ^\90\9c\ 5¨{@=¦VW^:c*êÜë*g)S¨æ\f<U5hªR ´×¦T9UjË\ 2cj_Õ>\92\17×w\v\1aÅ­z\83É\b
+£ñ\au8A£Êê\12=´é/b\ fÆ"öÕ\8bH\955IÎ\ 5X@u4_»:\90\r­d\94\1adm \19\8aþU\8e\bmy\11X\97\ecE.\ 3\ 2><p^Y\8fîÏx\8azm-\11.@\17ê\99Ý\vH\0Ôåsø%¨+\8ezþåi£sî\93±2\1c¶ãiÉé¢\82G\99A\95ÒÀÞºª\8cõgÀ§v|ÇlÁ\ 2\1d!.\15\94 ËåÑtº\vth\15ü\ 4«K\ 2³SÔ·ÝXf{U¦(|/>tcv:õ\9d\11_\8cçV\0\19õ\14Ög\86\9c)D\1fö¾A\87[\9d"\ 3%\9c¸Q;\91:4¡%V¶z\1f`RÐê¢Õ55E¡Êì\82L%~\9cÉ\80H\vâv\8c1wa@±;+#ÅÛ
+*MM\1dZ\97±`å°K\r¦Ñ\85\ 6ÄÁwߺêa\ 1»g\1d0\85Êg°-ND¢<\8aç\19ñ\9eKP|\16\r\8e#q¬Ð®Q\bø¦:Ù\ 1,H\86Usðü·l\v¸È*bùä\10üõÂ\88\83\92\82Ð\81\19Û·m{`l\ÆI½\85²á4¼âÙ§vçUböÜ&\13v\1a{\8f ñ\ 4E«¾t-Ä\9a\84Ã\r;ÎX\82i\90E     ¬\80BÛºtýã"y«RÄ#zd>\93\85<\16 <\97;£-î\8c±MÇgÞ\9dÔ\91\ãù\84&Ã1î8¶ýqùùv\89I4OÈ\87Éi]péÃà\bÌàø`0\e\7fJâY\1cͦs\m\94]Äòúãº÷µ÷\ao\1dÿ!endstream
+endobj
+1324 0 obj<</Type/Page/Parent 1119 0 R/Contents 1325 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1325 0 obj<</Filter/FlateDecode/Length 1596      >>stream
+x\ 1¥WMoÛF\10½ûW\fzrP[±\14YrzK\82\ 60Ð8n­ =ä²"\97âÖä.Ã%Ũ¿¾ïí\92\12M§(ÚÂ6l\93»óñæÍ\9bÑ׳¹\ák.ë\85¼ZIR\9e]Í®äz~=[Êòf\8d¿\17ø©µdáÅâj1[M_¼Ý\9c½|ÿZ\16W²É`kµ¾\91M*°s\85'Éù'k2£SùÅí\9cõ²ÕM§µ\95ÏƦ®ór·\11eSùtwûû\8bÍ\1fgWr¹Xâþyë\8dÝñÔ\16\aù\86>æëèãòÕr¶à©7[ßÔ*iâ\81¥Ìçý\81Å\1a\81âÀ­mô®V\8dqV\\16Ü\ 4\7f\1fLR;ï²f\1cH\93×®Ý墤í\83.\18´ä\8aq#è\ 4\19\98T×HGÉ\ f¹+\ e\ 2ã¦ø¡\ f}þ*\86epG7ºv;mµk=.\96UÛ0#m÷¦v¶Ô¶ñ\92¹\1a\86
+\87ç\8d)õL>k©jíñ2f´ê3:\97n\8cÄ\90èù\ 5®Ó¶³¸Â\ 4\9b\83*·j\12\91oM£y BPµ*½ '%Þ\15\b\v)6.\}\9a7În\v]"¬è\Z¯y\8bÅ\12SVx\a·\ 3¸\13\8f'\84\7f»\7f'\89*
+\7f!÷E»Û)\18\957-Bµ\8dIâõ\ f.m\v\8d\13$\ 3\93¸S%2ÑõÞ$øÝ\99\19$̸nT³\89ÓÔ\95
+à#ÎÚ\87ãU¥\150\86QWið@3ï\10\7f<\83Ôû|J\95äÆ¢\ 6\9bÜx©\14\8eKª}R\9b-\92fH£\12\80¦C­ýÁ7º¼\10ý­*à\9b5æᬵ   \91U\85i\ eb\1a\ 2¿\aw\90b\8e\fð\0^À§ÌìZð)&Þ¿é\ýèÅ\80º5î\17\87Y$ÃSþ\87.\ 1½k \17<ÅC\ 35ØHC\ f\ 4_\9d.
+y´®C±sÕüC+äj¯%5Y\ 6²\83Y¥Ku\11ùZë\9e¡Ì\94 \12ÝI\19vè£
+       \80ße¬/+\80Ã#\93\8dNrëÐ`\ 6ð²\11\8e\84ê!\ 4ïB)2ôwhÁR¥\9aÀ1,\93´E\83
+O\1c\133¶»\ e5h:'±<D\93tG0\9eö\}\90RY«ë\80-ÁZAò \18\1f­fG\95 Æ±9"£à-U\87\93\18\80\8dI­é\ve\rLF©Ä\82·!Uà\92$®e\9bÃÖÖ5à/x\11¸÷\1c1tX\90Ã!Ü\ 1/^        ý,Ï;\18\ 1ô¤\92Ì ¥x§ª\ 1\81 *ì\9b\93ÚÒ\fÐ\18\92\1d¸\eð=¥\89: Y²Ú\95\ 2ög\9a¸»Nïu\rz¢ñÓ\94¥¡\e°A\a9;vQHÐkf\9b\ 1ÚÐKô\ f\19\93:%¹ÃP¡¥P£þZ¥¼\a÷S\9cÇÛZ\7fm\r¥6\98\86Õ.7\10\81DY)´ÂM\16×&Ðlkþ\8c\ 5ëIÞ\13Ï\ 3þG\r\19#Î~ÄàA½HÈ\90Û\0ÙÀ\ f(tjØÈ¡\9aßÕËp9ø9â\80¢P`k­Å\97hitÍ\10ëO\f\10³÷ÄÀmÓëÈ@
+ÌÈ¡Ñ0o&­Åë/ß'ý ¸\Ïn8ÓÁä/\8bÕZâÛA\14ÂË£r\8d%\18u\9dxóÿÝð}_GIrewä\fáü?ö/\177³ùë\13F·©¦0rü\ 1G_\81ª\ 6\82u¤r@[OÆx\8f¸t®-Ò^\v\ e\9c\94jë`á8L=ä¾É]\e\ 6ñHîÓ¶*\86¡\ 5N\8e5\ e´9vø±òäxo)ÊEh!tR\1c\ eÒ(\ f­'>¼\eÉHäG.UZb®pÑ\81\v°\88\r,\89-H?\81\eAn4b\aÇ¢9êèqzõÏ\ 6åà8÷Ay¿#ãhò\9d¢\9c\8c\84\b\17\89<\82
+@0úïvÃß\ f¯Ï\1cC`\ 57<¹ïÇãSÂ\8e¦Øp0:é\87\1eñªW\J»Ú\85åD¶¡Â®\v°Gõݺo\14\8f¨MÈ?k\8bb\ 2y©Ë-ðC^\8a\ej\+fòÑb\19\1fà;ÅÒu*8\8dv\ 6\80¦oX\80
+\ 4Ô\ 4\98\ eÒa¨bP\90²\13¿£Íät\15,çÖÃ\f\88ò1\9e\98\ 4¥!åx+[®H$\11W§8Ýð?0¾»}ø\91\11óäÄ!©\89»ô{é,æ×x?\9dj\1f\91\116TN_X\fæÉH\ e  d{ ¯¸_ræ1\96±\fb\86\80ê|\1aw1&\14\19ÊL
\1e±4`÷Æô\9aD     ÚGÝãt½\b&¾¶\1a3< ¾å¬\0\9c\15\7f|\ e\15\94\1d\9bR\10Þc¯A5âG\93~kD\10ét¡`´1²\99¼Õ\89BpGÊæ\888¬iqw~\96\14\90çrßa\íu!_Î÷F\85Øï\1e\1eÂ\9e\10Ã\ e\vø$aì[\\87YVFðN
+³­U}øò\ 2ÿ\ 3w\8cE\8cÆ°ö\11;\9e9Ñb\94+\8e²M1¬5j\v\ 5±¾ÂlµMß\957§OLËë\19?¸ý\8bÏk¨\14\81î\e\93\19,×ËÙzu\13çÏëk>úysöëÙ_äÙÂ\9eendstream
+endobj
+1326 0 obj<</Type/Page/Parent 1119 0 R/Contents 1327 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1327 0 obj<</Filter/FlateDecode/Length 1656      >>stream
+x\ 1\85WÁrÓH\10½ç+ºö\14ª\12ÇN\82c\8e\86\1c\12²Ä\14\1criIci\884#f$k½_¿¯g$ÙQRµ\ 5\ 4\905Óݯß{Ýþ}² 9~-èæ\92®\96\94V'óÙ\9cÞ_-ðózu\83\9f\97øã\14\aW«ùìò­\ f.\97ïg×o}°Z½>ðqsrñù\9a\16\vÚl\11|¹º¡MF\b<\9fÓ&=ýî\95ód\r5\85¢ï÷_~RÅi¡\8d¢\94ÃCC­Wt¿\91¿\1c±É(w¶­Ép¥<±\97\83{êl[fáÍ?\f7z§þ\88\97\85·fï6¿Næt¾¸Bz\9bìt#'äú´°\9d¡­.q\93·¸\89\9bx\1d\ 3\ 4|¤2Jö\12\15ë\90\89$ëHí\94¡ÒæxÖȹIê\92¥kÍ$,Ç\94~\9eÿÐ&³\1dyå½Få¨\81\8f#\fé^.\81rL\17\0\95{²ÉNÛÖ\13\8eë\14U\ 6Ô\902îKð\8c´§Di\93\v\ eá\7f¡ 7qkøY\85¼·ÖU\93<o¿Þ­¿Ü?=\8d\a\87\a\ 1ø\19m
+\ 4Âo£RTÀn/\15è\86¸,mçÇl\0\1aå*ifÈÄ©L;\95ÆÄ-ñ$n\ frjMãlY¢Û\bÒ±iP\fÒ\ 4H5»F§mÉ\ eàÛg°@\90î
+\9d\16Ô¸ÖË\9bý-#\16Nm\95S&UÙ\14×u\96\ 5yïÏÆ´kgw:\13j¡3-Zk\102\82\r\ 2îtÚ\17\ 1iEßÿ\87²ÍsNJEë\17\87&5ÞÙ¬\15¶=\9d>¬ï\9eÞ\91ß#éJHÔÇ\9dÆÜiFá\a
+âM6{ÂiRFâeÄu]ö)úØ\9d\94kNt©\9b=X^î\10^\18\8b\808^\91Ý"\v\93\16Î\1aý¯°§fï;ë2aSÓ)0=f  \8dhà(}>zG¤â\e\8bÞ\ 2\8cW=Å\89\1c\98\94\87ðé´\97ú«f?½\vý¹øü\81\16 ½xÅ9\9c)*\80\1aú\ eÅHiÇ~r~)~rz$\81&¼,¸4\90jΨ*´OªÆ£\82w(Á\90úGûFÊ\ 5¶  \8b`\ 6æ\98­c\ f:¥M\8bÚB\87{\8aÁ7&ÐvÚ\83zè^\8bôĽ\0ܳoú\80 ­p\ 6\ e7\eùÕiÀ\17¤"]\80µMr\14ÕÔ¥Ý\87ë¦Ñ\8e/ïtSX\84EAR\ 6\92\10\8fjħ\18\15nPi\9aÚÖ4(㸪^ĹSÜÀX¼®@¡­\8eÌ\98\ 4å\f
+\ 6\ e¾J\16å\14\8a3áMÌT¢¿®=à\16\98\eÑ=.ó\95\12\8d\ 5\16Ð;´îTlKÇ{!TD¾SèW\rë\18aD¹\89\1a\8d.Xh
+©:\16n:t~\es\8aÁ\83D\18äõCèa\16¬E<á\93H\8fA\862\14\82»Ô\ eY\856Búà\90¥;\9d:ëí¶éyc \12i\f\85Ö"«`\ 3x\11\ 6z\94ï\ 4Ö!\90W\Á\11\82\95¨\@\86B\90½HtL;²P\1eE\92\1e¤\ 2öG©\G©ü\85Á2\88á\87d%a'\82\99-\87±Òõ\93£·!\98&\9cOç2ø\18S\16æÊ\94\96\1aÀ^D"ã1¦s\83N@\e3ZCÙè>f\9d\ 1\vb¨÷ý¬?\ 5\1ea.e/S8¥\8cU\85"K\90J\99\90àÑpÆ\aý ìõèmú\fñw\f³F,\99\ 4NýnA\93Ð\rv\ e´\14B\8b\98ÆOÄ\96re\94\88 Lq\ 1ïþñ1ô\14î9éF,RL?\13c\94Á\86c^âÀÿeB\fÄ9\9eÊÀ¡0Vö\00\ 3ÝÎ\84\1e¢%UáØP?0Cß\94O\9d
+H\8d¹Èº\ 4\8110\ f­\9cºÞ\81\80\17´ü \89ebJ\9f\90Ñ[\9d\95¾~\85@\ 3{J¸\18\81\9a´Wìü\19©-°\ 3\ 1\13ñu4X9\11\1a\9c\1d»°\<r\950mÀJªT\95Èv\86¢2\95ÚL\r/MÀc/ÒÄb\14Yû?ycöÝ=~{ø4N¿Þ\8c\ e\1c\fHJ\9f+\8b
+zyMb:U\86ÎÚZZ\fÍ\1c¦\15è\8fõÊ\8b±÷»¤\88+-ÛLøã"\96\15\eÎC\9bΤsØ.^\8cm!Â$bo\ 4µµ%î\ 1÷Kñß¼ÀÝ`¦P\ 4¨ËÆ\ 2Õ\81­\90\92\95Å\aóZ\83\17`ßH\8c\ fNW²?ÝÆõòÓ¸ùLBc[¸\15¼¶­       Û\13\87Y\ e"\85f\9dÉòU\88\ 5\96Xb÷Z\95\19\94Ø\f\96Bç¢\8fÊÒ;ئ\0\1cm·n]m1[§\14\1f|\ 4øø¡õ\14z\87í\19\ 4\94â\94i« ²a|
+\98QGa]\8cÿÄ\8b6     £)R?È\0  T\ 1\8a\9cÈX\93%\17\8bX\vC\8fW"Ýxã\8c¾\ 2N÷"\93ãÂ\ 4òC3Ãw\87ÞJ\ e¹5v\124-Øäa ¸Ãr3£\8f{\8a;+º\v/p{¡\10\8bÃ\ 6\8a¡-Á\90äâà\1dñ»       \86íPÛÙè\ 2\15×S¯\v\9e´9\9eÑÃ1,ü(#LÕÉÝ\87o4\17\9fW½Õ.\96øò¶º¢åb.\ eð¸¾û¸\16·ø%\13óÖ¦h\11\16\ 3Q\89T}>¼~~3ÿ\10&ÁËõêúæzv³\a\ 1Ã]\1f\96räÏÍÉß'ÿ\ 1@äÂ+endstream
+endobj
+1328 0 obj<</Type/Page/Parent 1119 0 R/Contents 1329 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1329 0 obj<</Filter/FlateDecode/Length 1819      >>stream
+x\ 1\95X]oÛ6\14}ϯ¸ÈS\ 6$N\9cdqÚ·4]\81>$ëf\17ÛÛ@K\94Í\86\125\92\8açýú\9d{IÙ²\9c¢\18\8a \8eLÞÏsÏ=Êß'SºÂ¿)Í®éæ\8e\8aúäjrE×w7\93[º½\9fñgüxMÕÉ\87ÅÉå§w4½¥E\85+w÷øP\12\8e_]Ñ¢8{Vµ¦¹ö¯¦Àÿ\e\13\8bõO\8bo¸rKÓiºrq=Ã\95³ÅZÓ\e§ÏÉyz\9eÏÏÉ\ 4RTi\15;8\8ek\15ùIëuÐ\r>6T«fK_\9f?ÿI®Õ^EÓ¬(lCÔu\98ÐçHÊZ· ìý\8a.¦7\93\9a\ eàzå|\8d;®¡Ð\15kR\81Ö.Ä\ 6á\87s\986\16÷\8d
+\1aA4%uAû\83KÑÑR£"ÁÙW]Rå]M¥©*í\11Ýاë|¡\11Ô'¤¦ÿQukõ9r\v\11¦\95u\8dNil\9c\7fÁ3     ªVÛÞzNêÀ½ø\83\ 5í\r"t\15UV\8dÝVÆâ»\10\9dG\80È3¢àÖ\15Ê\92|#\95\9aÐ\ 35:²g\1c\1a\aP\19\1f\88\92\91\90rÎ÷\8d\88F)K|\ 3gH\17UD\ 4\r\15® \9d\85Yzþ<§REµD\99    ý8®2\9e)úø<çD_Ñ\ 1>Ô·iäqÐÑIþêú\ eðí\916\9f\93j[k\8aTßÖ»\95WuÍ 1MÔ¾R\0l\82\fmL³4\1c¯Ûã-\ 6m+\86    ª.ýäª'4}?\12ÚpÆ©jìIÐÊX\12\9cIMVÞu-°ñGö\89o\ 3
+\ 5¨ïÂJÅ\e$8rè\96Q\99¦G¡bS%\90\8b¾n]`ïOóß¿<\12\0\81Ss¯¦DÒ@Àf\90\94*
+×aÄtÓÕ2W®é+ÚOÑW±\97ðëË\94\965K¯ü6ÙÇ\14\ 3Õ\85jvVx\84µt8MTÊ\9bq©ÒýZ\15kdA¾k\1aD;ʱo Ã(héÔ±1\90\ 2Pµ Òa\80\ejmǾ¶\14}\aZ(ûçhb\»nµæ\90¶´ÁÌæÁàÖ\8c\19\83=æ&½\81«Ö\9bZ²vMô.\8d\96À\14\14Æ|ÅW.?\81Z\85üÎ.u,.\9b\10\84\18'\18\85*\1dèÙñ\f@`Èä\9a\f\11\17&# éïNc,£\e\95¨tøÖ:÷ÒµRëGê[Â\ f\19Oÿ;\1aÉ\ 4F¹/\9bµ\ 1O\823\8bµ T\v¸\98æã¶Õ`Ãã¦åPuy.\862õIp§­B\15ÊÓC#(\18Z\0\1ap3x\19Hñ)O\8c´Ê1Yuí\84\16<'\E3Æ\8b\84\1cZ]0?¦Ð\rón\rz\16\ 6\10Ö\94­ÂÜÂi\ 4\96\11¬ZÊt¢f\eÞ<Î\97Úc«T\12|\8a=;\96ê\8cZaÂûÔ×\9f\a[/³Qºü>\91p¿\ e\ eQ\80}Õs\97P&Oξ\9b\ec\19gLÍÖ)ÄIµ+;Ëãf-âN¶ö\90\ 3
+.ñ\ 3Ôý%Ä?       \82\9cýJ>CwxWâî\12Ã\ 2gÉà¡¡Á\12es½ÉÜÔc£Ü\9d£°Ë-ú\b\ e¶v\9b\82×\98zfRxÅ\12H~\ 5ªØú\18\ 3Ì\1e\1fæH\ 6þó\1aÂ>è\9a\82×%ZlÀ\99iÇõF@q\11|4X[\9cZÆä\84~m\18ºû'<­»}ÎÏw\15?òα1\87\88\0à]Æ®ðÛ`\{Æìû(H\15NØ-\9bÌ¿<ÓØm[Ò*\80\8c°÷yËõë\0\96×\98^^\ 6ÉÇXë`\83\ 3\ e\ 2äFë\92\99}\14/\0]2\e#?Øh»8FH\ 6G¦ØãN¾Å\1c\8c\80\84\8f\1duq    Ð²²¤Ólê4\85\9dÎí\ 1ù#\ e\84â\18¥\90\8bë\1dèVE\rfǶ~\13`\12\ 3CfXÁ^¶\b£ìø<Q\8a4j¨h/n¦I6|±Ýj¥\96\18¬\87\8eÍÆ^;<ɸÉ\9eØ\ f\11ϬèÚ\1f]Ã6·ÁÑKã6¨V /\ fOYëfmÊíWË\10½\ 2¶±¶Õ¡wÄ?ª\ e\1fpÞü\9b\94MÔźqÖ­À|,+"Ä-;éYÂ$\1díB0\9c\e !4Ym÷úuì²Öp\0h!²\91ë\9däí%á`\ 4ÒP:àm­^9\11¸òºpu\vaÊ`ÁÀ\ f\8fO$J Tê\83^U\1dxîÈå\8eÆ¥6Ô*\8fÆtVyj\1dä]\1a\9f\83\92\1c\voѾ\80\9fáBC#c³m¡FÀK\0\8fÛ\8còdÑê\105\97\15£/ò\96Ñ´Ó×\99{\92ä\15\8aÇÊ\10\8e§%*°7\9c\8e\92\1f\91o\94\rny\b\1dk`\9e\85,ÙÇ$Ó\93\ 6"Kô4\82\ eÞ\98ÔJV 0ë.ÌÁs\ 6ÊNxrÇø\17(å¨GQÁW/2S!\84¡²nIHÎûYê\19\86ª4]Øç\85O#\11ÈCº\1c»\1cdÃëy\ 5\8dǯ'x\813x\89@w¾d1ö1é¿Ç¤É,oî\85À-9fY*\18+ÖªY   \14\rÐÃ\82\ 4McÉ8\9e0\0\98\8f±ØÈW ÆHãu¯\88\18\e :\ 2\1dëûQä\12ö;AjÝë\17¼äÊúM[\81±\rÌí$eZ\89è|ræ°.ØØXY¶ª\9e\94G¼Ì\842س½äb\88\1c1-¯Gä3b\80^\95¢n\87\8bQT¦Vx\97\80~àâ\ e\18®\9cháðu\9e\92Ç\11\96°LäÕ!éT\91¯\êAþ\8cÄRã5\r\13ËR\14\92l°æE\ 6ñ\89¼\86\ fc\84^-^\ 4ðpÏWSåî³4\9bÞáï\e÷7t7»ç\97ÅùÃÓ\87\a É}ãÞ~t\ 5^\82²dä{\17ýñ\8bÙÕ;>ÿüö\1f<ng·\93ÙÝ=þB\823ïf|õ\97ÅÉo'ÿ\ 1æ_Ê¥endstream
+endobj
+1330 0 obj<</Type/Page/Parent 1119 0 R/Contents 1331 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 703 0 R>>endobj
+1331 0 obj<</Filter/FlateDecode/Length 1778      >>stream
+x\ 1uW]SÛ8\14}çWÜ7è\f1ùj\12\9eviYZv·¥\vé°\ f\9dÙQl%\16Ø\92+É     ù÷{®d\acètÚ¡Xº_çÜs¯~\1e\8dh\88?#\9a\8fi2£´<\1a&C\9aMfÉ\8c¦\8b9~\1eã¯\95´\ e\1f¦ïÏ\93é[\1f&ãQ²xã\ 3\8c'Ãæ\9fÛOG£ñûä\9cƳs\98/i<Y$£æ\7f\ 5Ý\ 5\ f£Åðµë\ fË£³«)\8dF´\#ÚÙbNË,X\1eÒ2=16\936¡e®\1c)í¥]\8bTR)\1e¥#\91eJoH\90\96;\12µÏ¥ö*\15^\19MNÚ­Âɵ±t¯ôJé\8c¶ÒîI
+·?%Q\14äsáqUf\8e¼¡\95|·|8\1aÒ`4IÆ\bá$3Z\12¼\86c°Müýì
+\ 5\r¡\9eT¢üo\17-'ÎÄ\8fm\1e'T\9a¬.ÂýÔTJfì¢gà¬P«3'ÓÚ*¿?ë\e\10\b\98½~»øB©ÑÞ\9a\82Öª@ÚH\89\ fwBµ²\90[¡}\9b5J\ 3Xë*\13>zFºæU\89¶JP\9b\0ÝIyp\97\99´.QËXI®`iì«òH/Tá\92\18÷9\8d¦\11ÀÁd\ 4\1a¡~ß\ 1\ 1q\16\9f¬©+º¾¤\vD\11áy\99,2\193ê'÷@\10pÖ|\13^7á" H­\f\99Ô\1ad`83³sôuÉð(Ï`²]¤
+* r\v\12\14 v\81\ 4¶À c^¬\15®þ8¹½¾üñ.ò©WDØr\85Úä¾ØS¦Ökiq\8daûþõú_Úå*Í)\17(-Y¡7\92Ì\9a\9d­¤m(\12Jîb½\e\97û\90\8a\ 3Ý\1a0\9d(e¼Þw®\e\ fðw¸\1còw     ]{N´\81êØÑ\83Yq\`\ 5\18í        )\ 5\ 6\878Uv\88\8a\9d\86\1eÀ)'\12âêöÜ66Ù<¬­Õ¦¶H\0%Å/6¨\9d¦JÀ\ 3Re*\ 6\a\ 1\1cxq\157"û\10¯\ f5ȵ§Ô+¿¡\9aÈÁy0«\8b(\9bG\8d\90ý\1a\1e:\98Ç\0\1cðu¦Ø"\&(\87·VÖ\ 10UÊÓ\98B/Ùg\9aði-\9f\bɬ­)\83\8d\0-ÓCRÀª²&\95\ e\ 1UU¡bïucic¼A\89£ç\9e϶À;\ 5ÁÉ\ 5ØXÂ\143\15ÿï%ÕMûÀ»¦Ü\9doàGì:n\9bYì5\8e\17õ¨\vï"XÀ\8f\1d\ 5yD\81C\993ªP[å<x\r\8e\9aæ¶l\ fB-ÄJ8I¹,@\ 2îD\9f­¨ýõ/ÚFj\aÒ4=\10¨È\8dÐdÙv\ f34\18\ 4Ë\9a\bh'ö¿\16\8fÛ\90\f}\14i\8e\1c¸¨Ý!ÑÈÅ\ 5BLC\8b»=²*)EB\e©¥\85\18 úÂ\ 4ê\86\12\1e\18E\9a{°0æ±®Ð[K\83Âe5¨\1cIáwÆ>¢\19À¤Èz×\17¾æjÛ\8fÜâ@\a¾C¨äÒ\Â\ 1\172#\f"6{\a\rwòg-5üDÑ W\aJe´Ú³\92\14¯Ú¤Ñý\ 2°%ôý¥*jо\8c
+m¥¯­\86;\98\12ôíòcègÄ\13\7fÕrP\14\ 6Ór§|\8eS½pz´\15\85ãº<\9bå,`8
+gÿ2»S\1a"ÍC#úìP{\aÙ\91Ü\1fBG=<H{Ï©ê¤Äü5PaLNè\1f+\0×\17¶á\ 1C\9cuX>U
\9d\86
+÷Òá\88,\17\1c´èt7\97\ 6DèùMM     \95Ã9±\ 1\ 4,!Üý=¸\1a   ìF\11\ 2{ã¬\ 3\98¤Á=À\93æ!¾@\83¾Û\98P/ëL¹T`çA4Ð@ÌM´\10\8fq\14ø\19ð\17Ùe¨BÊ\r}\101\ 6\8a\9d\9d]a,c°ò^5\98L£T\#C\88Od\ eûøØ\b\7føM¼Ö®1a0ceÃhþÂèa\15Ò\8faÖüirMK\8b6\91\ 5=`9á\1f~wZT`)ÀNPÔ Ì\10Э
+k\1aWêóÍýò¦\11l$\81å\87\97µ\10ì\v5÷x4\93.µj\85\ e˱À \16\eé\ f\9dÇ®°ã9.\13gbk­Yñp¬é\1cèC\94o|í,\88Ø\8dxÌô\0A³îMméo¥ë'Z\99'\9c
\10xÛC\a\97q\1f@\96ü\r\1d\85\16ÿp\81\85\9aÿ4v;â\fEDJ¡«\1c_¹3\85°\\80J¦ yú\12]Ýß\14±\90¹3\8f\81\15~h.\ fÐc¼Ö\ e\12ÿä_\82wÒÆÑ.´W5ú\99çÄV9TýyR´û\1e2ÁTB'\e[\99 ¡a÷í0ï\99Výmï\9a7Tè(ãù2\8e@"¦PØáû°2+Â\90ÍÂ\14\ 1.aUîÂÜC\170\95\95Ùg¬ïs<2¢ø÷³mª\13¥°\12+,ãèág:¾Í\f~:´ÜὢձˠÏ\916h\ 3\e¨¨\86r÷I\14î\8cÿ
+2Ì\16\8e­ÜÔ@û\18l\8ft=\85öc\97\84\84¡g4ø\8c­\15"å+ì\89Xó$0à\8b\91Qí¥6½gR\1dz\84Åp%±«íð\90Àp\8fB è8Öh\90²fªô8\8c\7f\10\8e'&bÀ¢¹fÂÇ·B`º\80jåPj\88\10n¬j\ 6ó´\97 ß(\ 5K0\96\19tZ\90i\96\ 6\96(\\8b\14\0µÁó\1d¿°pf\8d\8d\92\ f`äÇ\16ë: \9e¸í;bÖ¼®ð^=,7÷ù\9e\nj,%×lÍã-ø[äXÚ\1c\1fÌ\93\ 5¿vÁ²\1fãÙ¼é\9fEóu\84·èâ|B³Ù"j`,í7k\1eP\rºì>wØî`4Ãëx1¡Á|xÎ6Ãèe\85ùôöSf:\9f&óÙ"\ 6p¾`\e\7f,\8fþ9ú\1f°E\b\bendstream
+endobj
+1332 0 obj<</Type/Page/Parent 1119 0 R/Contents 1333 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 706 0 R>>endobj
+1333 0 obj<</Filter/FlateDecode/Length 2018      >>stream
+x\ 1¥XÛnÛF\10}÷WLÑ\87*\80DÝl]Ð\87ÂIã6\b\1c»\89\8a¼øeI®Ä­I®ºKZÕß÷Ì,IÓLÒ¢(\82Ø\96¹\97\99\9c\19úÏ\8b9ÍðoNë\ 5-W\94\14\17³hFWëY´¢ËÍ\1a?/ðßiÚó\ 3,í¾|üåb½\8dæt9[F\v*h\8eïÛæSN\9f\9fñôò*Z÷\9fö>ãéj\15múO{\9fñt;\8b\96½§\1cár6Ç×/#ÄQËèòË\a\9b\rBo¿¸\ 3çA\8b%\87/I®Ö\88N²|½\e&\8aÕÓ\9bK\9aÏi·g\8cV\9b5íRAbF»d´Ë\8c'\95çöä©Ê4}º¾}}M*-Li|åTe\1dU\16§çg²¥,Q5\16\96\95ITeð«B'\99Ââ·\v>ì¦\9fM¹xÿj÷ÇÅ\8c&s\86x\97\8eî\7f~C{>\ e×\fΰ{Jm¡\f\9fVÄÚù\88ÚC¨öøL¥¥Ü\96\aí¨Ô:å\902õ¤Éë£B\90\9a¯\9aôîRIbë²êB
+iá¤'í"^<½Y5 ôv}Î,ùÌÖyJ±FÎ*5å\ 1ñ\ 2¢Ô&u\81¬\7f
+\9b[DùÎÅ
+\9c!?\81ò׻ϻ;â\rÚ\9bC\89P9e\7fö\95.^Â\8a\1cßíélkRàÎ\14Ç\ó\ 5|c\88\16Ø*Ú\9b\\92ëE\19² U¦t2>c,\1eF{e\1c(ÒÊ\9büüð\8aLYé\ 3#Cú/\10ɧ\ e\10Ý;[ðõ\8e\98\18\1803à¬\8fÛ8 ÑeÈ\89a\7fD»LUä\95IÇô\8eTÁ\}Ø\11\9eÞ_ßâú£vÕ\98¼\95\\vuFN\b]\rn\8auU\81]ìâ\1cðÓ       +\11\133    l$ÑL{M\95ò\8f¾á0i8\9c¬£Í\9cV+¦áa±ZS`i\8bÊeÝO\16\9bh¾¥Év\1d\98ú¨ÿ¬\8d\13¸ýK>\99N.\90QC\8d\88L!¹"V\94Øro\ e5PeÝ33@\ 4©·\1c&µs`\10\1e\80GÑ@i#z}ýæ=½ÛÑï÷ß½¼wÔháY*9Ëï<\0        µà\19ÕqØÝJxD±J\1e©>2\83\8b\ 6\9aÑTWÉô¨\8a(\1dnJ\81A\82\ 2?sf\15"÷ß\88Jj­ü¡\82QHTT¨\145L±µ\15¥Æ?~\11Ïíõû·\83Øï>¼¥\ fw\9f\aWôêçV{\86\r¢® j$\82 ¿\82¹§DÁ'Ô#\8a¦\82\e(Ö=ÊÇbwÌ\94°S\1cP\0ü\13ë»PIfJ\1d\83§S6\84\95   <©²â\1d(|Õ\1c#é     ²¨¦p\16î\95Ãøx\ e\16÷±?Qa\19\10ÈÚi\ fDµ\Ü0\81\ 6%îû\ 5\13­\89\ 4ú\ 6páBÆÀ:s0¥ÊÉW\ÌøÕ\99N\9a\r£$\13ìã +Ú»ZÜ\1a~ÓÁ'\ 5\84Ì\ f0xl8XÖ$ý8yxÕ\õl\\9ar\9cî+\82=z\167\f9\94þèýÕ\12MGÁP÷\b\ 2þvr\86]åáÕ\18õ~B8I^Ãóزê2á
+ÁS\ 4Sƨö\94\v[JAô¬ì>G±³Óî\81a\93±´\81pùIÇ\10Á\81Q\18\83\181\88³\86\99\94ä\16åP5\81\16Æ9vZ\ 3\94Ø\99L       @j      \84»À\0ÝÔ\9eÊܶþ\8e>\82\ 3\13\rµ¥º\8d±C\a\1eÄý\91~\ e\1d*ô#æFÅ&7UëRPo\13\8aÏ\807\90\80\1cØ$ü\98q;é<çïGË\95fp$\1a*NAÈèJ&ÑâD=l\8eÎ>\99\14\84Æç\90oÀ¤\11àXÌõatÌëÃA\ 4;h©Pd\8d»Ñ
 
-o\ 3ïº[åt?
-Ym0k7\83`        ¡vµß\9cÞz!N.\178\18ØE¿\aP\v·e?÷;\8b\ 5ô\16\14\84×8l\17ýÖ|nõ\ 5á-\ eÛE¿5\9bY}A0\83-»è·ÂÐâ\ f¦!Dì\82·¾_\8dü·\80\15Ð*Eè\16Ë\eZ%Öÿ)­âñ*S\86¶*ϯ(ÚQ"SÑäõ\15©ÒÔ"Çù»÷ßßaE/W\9f \a\81°zÆ~c*?×±È}#\8aH´ÛÎÌØ£{)©Î$\15\ 2\87[-\89\8e\9bB\96µ¨\95.I¥´Ó\r\9f\9bÒ\ 4Þ\84\80\8a²¦Z\1f\99\90ÛL"­27Ò£wµEL"7\9a¢Få\895µUe¤Ê$!ùYÆM-¢\\92(\13ÊUT\89JIãµ(oû`LÂ%¢\b»ÁÂ\9b{ÀàÑ\ fºLÕº\81­V8p\1e\97ÆlU\1dg^\f\89CEck\86½í ìM¶\82..ð4ä\1a\81Å\15¤{`TJ\99Hx¡©jJv¦=7wÆ\9dâäPß\98\12!\v\ 4³Î*ݬ3r ­BV\17I\8aõFµº¡WU´©ôFV¬h\10xN%§Å\\91Ñ­\11\97ë\ 1èJëúÙ1´xC\9e×V\81otSÅÒw0|x\88Ï\7fvañ\90.þêÐ\89\81þwmJSÝ mª\86\17±4FT;v¥\10\8fmI¥:Ï5T®Éì\8aHç*F$ËÇ×_\a;/ib,\9c\v(O¿öÂ\8bÈïÊ\84\9bÆÖa,\8c$\9dÒ=Rit\8eÒ3ÿ\ f\9bí1\15\9d\ 2¡¶ýÎmyÁa\18\1cTw\83ÎGÑ\9dÍ\9f\r\ 4\1f\9a8Ù¾\1d/\9bÙ#8Ìï±ùð:ð\96ÓðKæ÷êN*Æ"sjN\91\1d\99¿\9c¡\ fz{EÂ\10Ç\80\99§o\11\99 Ò\ e\836öe\1d÷U<èx×Èc.Hð£ÞRcdeû\7f\8d\16Ü\10ø\8d©¦ë½'e\14ÓPZéâ´­\aý縫ű7Óö·Gïw_\ f1U°\9c\88ö°­\ 3¦\17i\r¸ì2ú§¯ÊÛv6L0\8a,9Q÷³\11 ½äµ]±6\9e\14\96c\19&£ç¡\88ºrò&\13\89Þ\ eå/\bÚXµrt¢x8®À\97\17Ù\12ójȹ\1d\15ò,cÚ\13\vp\1aFT¾ã´`~\80TJ$î\f¿æ ÓºZ\1fÇ?\161\88\9aÍ\94òsí¼é¦U­
-É¥T\81\88L-\v\<"T\1784jjæ/\ 4<\15Ø©èaÌ\93\88Ë.Ñå\v\8eîí\89\87\97Ý8Ä.\9f+DÙ0ì>Anz÷ããl'û\ 6óÏw®Ðä\89þ¦u%7ì\1d\ 5×\r# e~5ÇUvØ\8eÇÑ\11OBåvÎ"ª®\84m3È8Ó\86"\11?\92 \84\10\7f!\ 2ÿ¿8\83\19l\8aèL÷\r&ƽ|\92\95Èi#*QHD\1a%\8eÙÝÍÓ\8e\90\9d\16[j\8c\ 3¹®+\9dÛ¼F2\13OJW`ìÖ½/\ eÝ\ 1ÀöÄ`Rº\8b\8c3y\1c±U&1\1c\18b"M\©ÈÖ$\15Ú~S#\9cn\8a¸p>\8c\97(\ fT\ 4|\ãòsÊ\ 4\97lÙþß
\18\ 6TSèD¥Ý\8d@\95qÞ$ÇcÕqX\17¾ß×¹\8e\a\19\19ó\1d¡¯ÊcÚp\82Îà\90\1d¾ñ<ï»s\eÏ \96³W#$hXØäNaV-\91QTU\9dÑ\8bW/®Z\12{óñýÝ»\ f¯Ü6+\foöDÔ\ 5Í©Ôö\9a3¦oé\15KN\86¢\96³\9e±!jT\82Fe\8a\ e¦øá
-Ác\0\1fR\94E\a\8a-ÚH\ eu8sPÀúÙ\90Õ0±ÇÿÍäú?\98´$yÑ&4|\85ÍvVÉ\12\17p\84\9aï߸ ôðÙ·ý\f»h\92\8fÛÌX      öv'íÇÁ(p:­ìÞ\83\81ð¹,¬ÕÓþòlC\rÚ¨$\1aÛd\12|þ0Ö%XܵuÊ\9d»#4.JW楬IÄ|U|xÉ1\19¦\b´¼É¹¸2<"\12Õ\17\84Ïk\1fhËÚ\7fþÆ\7fþ\e\1f\1cøÑ\9f³\0\¤}&ØH\98\8c¿ðßâ%h\9fCÁ5Þ\93Ë\19\1eWüpÃ@l\1f<?Wú\13Z\86Þ\f\1f>|r\12,ð¨Ä\81ÉÍ\14MÔ¿?h%\r\ ff«¬\\eúØØ\91s½Xz\8byw\89
-¦3VñãjôËè\1fµ\16[°endstream
-endobj
-1590 0 obj<</Type/Page/Parent 1367 0 R/Contents 1591 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1591 0 obj<</Filter/FlateDecode/Length 1089      >>stream
-x\ 1­VÛnã6\14|ÏW\9cn\1fâb-Y\92/qòRd\93l\91\ 2»I\11-\16}¤$Úf"\89*IÙ5Ð\8fï\90\94rQ\9c\0\8b\16q\0Ã\14ÏefÎ\1cýu\14S\84¿\98N\12\9a.(¯\8e¢0¢Åò4\9cÑly\82ï    þ\15§\95;\98Ï\920\19\1e|J\8f&\9fO)\8e)]!Öâ$\ e\97\94\16\84HQDi>\8a\17á<\9c\86³\90~\97¢&³átwþåÓ9i®¶\\91\91î·ÛË\v*dÅDýKz\8f\90³Ç\90A²@=i1ºª\8d}\1e\ 1V²,åNÔkÊeU±º°Q*öÀ_\87¿ï\93>%\18ÓnÃÑ\95O\94t\89F\977_ί¿¾Ì>"¡]Ì\9a\1eE\14ÄS \80\8aö²Uô]Ô\85Üé®z²Õ\f"\9f\17\95¨\856\8a\19©\ e$`ýÝ\16\98 8I\e¦\89\12[N\8d\12[Qò5×äa\1c\94ãÁ\v}x\90Ú\11ò\88\9e\92ÒüìOç}Ë4iµ\9a\942gåD³*c\93\93\9a\eRMN\ eºà\8e,rÁ7z§\v Ò\93\94\82\9e\ 6\8d\eYk\90â)î¹Ò\eÙ\96\ 5\8c>XMpÐ\87\81!v\aYùð\83\fZ\9e\ 6pù¸dyí0{\12q\90,½â:íÎCº3L\19j\eW)\94\a\9c\8a\82
-Æ+Y;Ê\r×\86\84ùÉ#|H½[^\9b\96\95å~luC;Q\96´cµqÚ\95\85Xí½\9et\95\91¶é\90MçJ4î     Ö\1aL\87\11 ªÜC\ 1[Ù©}PÌ M(ÝÏ\9c\ 4Ä\8a\1a\84Õ\ 4åv#hÓ\8c)kméVê\8dÔZd¥§Ìv$qtßâ\8be¨K\85§\94\11è{%\946!¥Ò×\vx\86Ù=PnÔEÎõ\98\80Á\9b3\fÍ[\91\9ey\bÿ\93\84{PÞdãú¸"VîØ\1e=3Åj)
-Gc),¬\9d\99è\16.á¤éy\ 6@\8a;üU[×°\9f0üÁyk4\ 5\8cÓ?´V¼éñ,Þ¬2Ý å`l0\E\9bsËL\ 3r|ÁxnLb5,ÖWÙ\91ÒOè4Jæô+EÑ\99û¼¨âÙ \7f\95\a«õ\96k\e'+ò1\19µ·\10­a\13ZV\1cbÄCV\9bv\14\18\8b\99õ2H­ö¢\86\87ü\1f´bìV\92\82ö}Ä:\83á9\9c4cù\ 31Àdż\1aTõ½³îWµ\86ô\19}ó¿YÕ\94|L×®YÛÕãæé@í\97Aïu\8fâ=õû0HfÞJ.®n>¾rP»M"·/Gö<kUÁ˲\ fýìä·\16È\1føýÞ\ 4ÌÉg\10éAef}èBª¯í\ 4Ââ¿\81\9f\ 30ÚÍv\93m\85lµuªk¬",\1fk\93\ 5UûÞ¤\8fQî±\e\18üæ£<îÑÞ%4·\93uxã\1d\7f<v\93óLo\7fÂ\13sV#\83\93\ fÖ\11\87¼`º`Ílì®ï4·V\12Îø\t+%+w        *{\93\80gû/&ÇÎ4\ 15xG)F\a×à®\13ÛÚ÷\17ùK\81»õ\82¶K÷Úâ÷£>@Rwn\ 1\7fçØQüÎù\85¬0ïï\86¸\90µQx5:üÐ\ 5\a\98·m\86QÀ*p\99&\9f\97Ý«@¼ÀëÞr\8a\97¿8\XHü\82¸Uò\9eç\86.eÞVðn7ä¶Å ¿\10\9cD\0³è_ó(\85P-Y°®z­é¦u*\9c-\96áb\9ex´ãhfC\¥G\7f\1cý\vV£!;endstream
-endobj
-1592 0 obj<</Type/Page/Parent 1367 0 R/Contents 1593 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1593 0 obj<</Filter/FlateDecode/Length 1121      >>stream
-x\ 1½VkoÛ6\14ýî_q\91\19\8d\8bÅ\92_q\9c\ 2Å\90çV¬y¬\116\fË>Ð"\1d±\91H\87¤â\1aëþûî%¥Äq¬¶ë\1e)RDâ%yî=ç\Ý»V\1fzø¯\ f{\ 3\18\8e!-Z½¨\a£ýI4\86Ñd\ fÿ\1eà¯\110k\1d&­ø´\aû\90ÌpÇx\82\7fpÀè^\ f\92´strñíU\9a\89\82Á\ 1/¤²/\93÷­\1etû½h\82\81~ýD9aæFZÑ\1có½Ñå\1c.u.Ó%\1c\19Á\9c6p±PÂø\13ãÓ\11ôû\ 1Bw0¦\93\93\fÑ\95*uR+ؾ\11N(·\r)S ô\ 2¦\ 2J+88\r¸\ 4¥\923\89\8f¹´Î\82\9eÁT»\fr\9d²\1c\98âpy|DñÆú§\e\ 2c#HÌ\12\&ê\94\86Ñ\80.\9eé<×\v©n ÕE\81»_Q\0Õh\ 5a4¢P£µû&¬îV«\1dÂ\83Paά]ð°ø$¹°õW]\82Ít\99s\9f\0óÐ\11\rs\b[ßZ|¾\15°Ô¥\81§×wbáÒxÓé\9dpFÀ\8fÅ\98úì\80ë\82IU¥¿\90X\17ÌY\1aPbA'\13\99Uæ¥äv\anüÿ\99.\ 4piD\8aLI\11
-ÇÅ\8c\95¹Cà"ÏmTm\1f\8cCJÄ\98e¸Íe¾zH\15ÒĵB"\91íPu¨\11ÔÕ}\9a\1d¢©\8fûTqýYaçþ
--\93\0¤?\8ev£a4\8eàT~ lA*é"\ eÖ1ãP\8765rî*åí×Úï\ eFkûû\11¼\95ªü\10nzÂb%Ñ°òH>êf*\15_ã½\ 3\9c\89\ 2\84à\96\91\0Ba34\ fa\?É\16Óg§ \18×ÃÔ\86°p\19R\86\ 67¥RÈ\ 6\8a]\ 3KQÑsô\bI@>X¹bß1{»C\8aó(     d¡¹\9c\ 5\11­U\8e,æµi\97Ö\89\ 2OÏÄÒßG\9es(>Ôq\80ZÛ&è6\10\11craµ®i\a)¢7+j|'ø\ fx
-Ù÷S'±bÊ\9e\9f\ 5Çb*\99\8a*ª)\eÆy­9O\81\1a-F\95¨éA\9b\90ZæFÏ\85Y\83cÅ])T*"8[®  )<Z¤3\0y\94Ã\ 6\12wÖc60¸CY¯Ç5Ikftáa\87\r\8fõ.­\89}\v\8cÑ\95S\16£0CH]ô\95b×N_V\9eÏ\97\9eSØöÄo?vâªDÁA«­\8aêøÐ)«¯É\83£ü)×\9dë\97ð\a\8b«\ f\bT??¾9?~½uuv¸Õ\10 ÒLCWA{ë\8a\L\1d¦M\9b\0Ûú½L\85}\ 5M[+óÅ\e
-BJäÐÆ{\8f/.\937\17çW\r׿;I~>xûºý]Ã:ÁkX
\9dÿï©\91° \8d÷~Qj\83\7f\90Û/¡ë5Õÿ?¢nÕ\10\e\14\15\18\e~UZ¿A;l\87®¸Ã±¨Ëê\17\83go\86Õ\9bßáÅ\vì3e\9aA|ϼõnc[N±E\92ÊàãG¸¾n\90\b\9a \12X¿!Â\bW\1aT\7f\b[\vú\93\9e\ef(t°\9e¯\188cøaÀFh\8c°s­8\19    ç\15\1a\85ð³\94\95\ e¿Ø\8bÐ\akgù\1eLS    TcÉg¼®çÿ\9aÕ\11\8f·ºÇô¥~¿\95y\8e=<\85ºý6ªã«Äñwüüyüñé¤\9a`úc\1cÌ'C\9cÁÇa¸¾:8;<\80K£ßã\14\ 6Ç:-\vd\8aÑDL\84\rݽ\1e\9d\81DX_´\84æ0\v\17¥£ðÑ\18§ÿÝ\ 1ª\99B{»ôî$iýÔú\vÊódZendstream
-endobj
-1594 0 obj<</Type/Page/Parent 1367 0 R/Contents 1595 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1595 0 obj<</Filter/FlateDecode/Length 930       >>stream
-x\ 1\95VkoÛ6\14ýî_qj\a\8dSDO;\8aÛ"\18\128\ 1\8a­í6\eÛ\87¸Ce\89\8aÙH¢"Rñ\82mÿ}\97\94äú1u©\r?HÞǹ\8f\87\9e\a\97Þ\1eÎ}\8c\ 2DYϵ]\9c\9d»v\80ñä\9cþûô)\19\92ÞÕ¼çܸx\8dyB\1aÁ\84þÄ i×Å<\1a¢yÝó4-J\11\96ñÉüKÏ\85å¹ö\84\8472¿^Ï\7f»üÉ¿8ú¡C\80E+Ñqôã»\ fÓ\8bþï<_ò<îw\bi}X9\8eú³U¥\14Ïï\10\8b5­µ6$+\1fyÄä\etéo\82X×~¾\1dȨ;\90[\1cÕÁÂb\ f\945+l7ü\83\9dQ³ó    /_¢Ì`%p\1eÃÒIEtïÈj)\9f¤#³å·Bîw\ 5T2U\95\14\7f\rfÏÄ?zíܼnKkù\81®\96\17ØgöÈ\ elßÆL¤aÉe-8\86çÕMÐH~Ì!k\81S<\89
-9c1\94@&b\9e<A­\18jMj4£9t\98\8a\1c\9eseÇ\8e\f³eh뢰r×Á\10R\85¥ª
-Ȩä\85²ñN¡\92U\98¦O\109}\99s\ 3K·ÙÈö5pJR\8c0\8fM\vbY)È\95¨RZ\8b\81¶®\84R\90ÕÄÀ^\85\8f\f\ 6\rxN\96Ó\94Âàù.ô-?N%Mu´\8eÁ¡\96Ü\vàÔ\ 4\9fð\94!2\10"\91«\90¬SÂ2¦Vº3S~ÏH\8cË7­§\86b\96?¶Ç: Á@\9fl\11i0¨qnemç´\11÷=b1éó\ 4·x\ 1+\86\81L0ñiÏ"Õ(o)¼ý;0*\949EÕ¬rź¨ÀþäjÏfÂ÷p´´Z\f\17'øk×\8d>3ÉÊÃ\8cÒ®G\b\93r1drq²g·U,x|ñ¹\8dÈ)$ñ\a\7f\1a\9d\8dì]É
-Xk\1cyÏT\90\ 4\89¬\1f\ fà\95ã\1c7+Øzñ¹Ãé-úG\ 4²\8f\17\17è÷a\88mâÔ»{:\86\84TĶf\ 3Ìtï;R\89¢Í\ 6\934\89\1f*^\12\9aD\94M¯~eÎ\96z\14JFÞ½~ÓÀ[GÇ\86\ai=h2\Ç\é\9a\90©\94çä\9d8-+Ú#\92\97-GBÅE\8eÅ°\bÕJ\9eb-Êû»RTÅ)VBªÿõbFµ        Usaöþjº\97\18ªÜ\7f\11M\8fBªÉ\14\96Äbq¨óµà4?7\f%%\9b(\984òm²wA|x>\b\19\10éw\80¨\87ú\9dF~\10Ù³\0\1f¦!Ë\84\199TÞ­KöÀ*1ÞiGÞaªÞ¾ÝK\au\88(\ e\e\84RÚ2¸ãvß\1cëâ\1c\1c\7f\a\96Wu\a97\93æîð\ 2z*\99\8cè\ 1¤\99\8e³Ë÷W\97ø¹\14_X¤0\15Q\951\1a²º-5\ 4«U°Î]ýÈÒÞk\983i\9e\fæz
-K|¬Ìü\1a\a\13;8óé®Ö¢n M\Ï{¿ôþ\ 5C\ 3y\87endstream
-endobj
-1596 0 obj<</Type/Page/Parent 1367 0 R/Contents 1597 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1597 0 obj<</Filter/FlateDecode/Length 1552      >>stream
-x\ 1¥WÛnÛF\10}÷W\fÒ\17\19°HI¶%9AP$M\8d\ 6H\90´QQ\140P¬È\95´\11ÉUvI+BÛ\7fï\99½H$­¦\ fM\10Ç wçræÌ\9cá\97\8b1\8dðwL³   ]O)+/FÉ\88¦·3ü¼\99óÏ        þ\19I+÷âön\9cÜ\9c{q};Næý\17¯\17\17éý\88îh±\82\8fé\1c¿ä\ 4û£\11\ 1\11Él£éÙ¯V¬åsJe\9d¥ªRu\92§V\94K\91Xi\1e¥¡?ÉÖÂÔô\17þ×;úûÙåâóÅ\88\86ã\11\.r6ôâEï\99´"ãGéý]ô?\9cLùôx\9aÜ&×É\14ÿè\17é,«jíÏÞÐxì\83\r\87ß®è \eäï#¨7Ò\1f¼\r\a\adËeÞ½<¸ê\9f©Î\9c!Q\85{'[{U-U\95÷íQ.d©+K¢¦z£,í´ªê+\17\99Ýè¦Èi)I,\vIµ¦LW\95ÌpRã°\v\97¡ºN&\9c¼Ã\95\ 2®\ 2\16)×¥P\15\95²\\ 2êÏ\8d­      Ï\95Ï{/QyA\85ÎDA\r®%>µ»\16Ns\10â\ 4ë,¡\1ftµRë\ 67\7fóùpªôñÕû.L\88j2õw\ 3Ê\eñ(©\14¹$\15\12]  ãÓÜVz\8ft\0@ÄÈ\19õé\b¸Úk³E\19\91õZ"m\93P0º\17\95Ã\ 2ѳÿ\16\16Á\12\ 3µ3úQÁ¯hp·ªU&j¥+ZiC\9a­9ÄT&í\15m¥Ü\81\ f"\87·\84\16\eI;Q2è.çpO\15ÒR%eÎÆ\97}Ç¢¨\81kN\80Ý\95ÓÖr\97ÐÃà\8dÊ\ 3ÛB5p¹\14[IK\91m\9b\9d%íª\82\98\8c
-%ñ\88¢}\1dk\a®\83\10\84A+\8eè{ƤÒ`N®\ 1q\ f\ e \9c<\\86\87±2¿\83ü{U\14>\19ár-uÞxª\ 1ÓS=öªÞ0ãð¬\8b\19£\ 4Ò\86\1aè\9aér\87 \ 2
-¡­b&­*%Ijuc2\99VÖÂG¶ñIÇV\1d\fø®Í\81\96\a`ú¨=\11P\19ø(\8fmÖ²\1d³3Z×ßys§&t\88G_)Ðü#\10%±ºëºÅà\95Ñ%'߯È1úîÍVÐ\9eCþu\fqð-¯\ 3âbÒ©ñ3½S\9ei\1c\0÷ª#ï\91,xjØ~\vT¦¬\95YcT}\b\85±       }À\188`&æ?¡Ïì\ 1´,¯<C÷\18     g²K\vµL£\9dod\bÃ\9ft!\8cBÿ°\19¸ï\ 5\14\8dÄ`xârC¢EzФ\8d5ßò\e&T\84²U£³ÕÎvÄ5b¹éó¬W{:ãµ­-½18Nè\9dª\9a¯é½\91òõ§7C»\93\99\8c'aw^t\91s\11óD]<¥Ó©Á}ÈÝ\9b\81\19¹æá£ëÖ\0¢l#ªµÌ1\15ý\88/ä*\8eX\90\89\a>&«°Ï#ØA²\87\93\e\9f\16\ fFÈ,Êò¥A»åü;ÿé`â\0\83Pf[´J\1c\99/=\91\86l\81­3\v\83n\8b\r¦óÿ7\9aÞÇqÐA¯;\87@=ðú-S\f\1d#\8a \8bduãù\1aE\81µ±êë\ 1ë&T\80\9c,2\91+mJQÄ´\82Æ\16\1aÃ\99 \1f|\ 2Â`5Úõa\0-\11\84Á_ºÉm¥µ\90\98\87Kt\84,*Y£qq\r\rÂb¹ªw\11?\94\fÆL\ e\11\82\1cÈÊ˼\e³!\1cëö\rÆ5\ 4À\eK)\ e\98\13\ 6j\1eeÈSÀ\ 5\ 5\893
-$9Ó]¼\83}U\88'\7f*".\87È\90¶äøó¬\81þm,Æàá\92w,7OfÉ\981¶=°\1c\8arOÑ'V<Ód5¶\87«£>f\ 2µá¤Î¤RÀ÷\7f&\92z\88{Á1ÒÝlZ\18ºN\8bA¥ûf\88\92ôïóÐ\8f\ 6ú\r\13
\12\14é^;\12´\ e/\8eûñ±Ù\8ew\ f\1e®3ì¾\a\9bZ$ÁtÖn\ 5âMf'Mqðk\93\13[Q \e#t\12*\r*¹U\v«¦ÂÚÓ`\91\88\1aʬà­\87Ë\126C\14Íô«&
\80\ eð\ 6¹G\a\a²3!%66\18h±m£K\18;\8a4TeW\88Úíª\82Ö²\92¦\15\0\8d\82\8dûgðZeqÁ8É\ 4%2t(6   \8c/U\1cÐ/5\bævÀ§\83\13[zr\86\9f´.ô\12Þ¹!\ e¾N§Eà\18('\80ø»u\1c8¡qÕô#rñÔkk\\9f£\ fËxÈ!Ìg.£\1fIq\ eq\911'1-¸\1d\ 4ú\1aÛ=öQU*\b*\9fçR9ýêAÅ[BBï\ fO\ 4\94[\1c
-\8c¯¬\7f\v\8aå¾\15Q¡õ\96
-\85E\94×Õ \11ó°t\8e§øH\9c_Ótv\97¸ï«O¯Þ¿~E\1f\8dþÌ_!otÖ\94\80×í$\1cá0^\18ÎFü=\18¿Çh\81o,®\1e\96ÅjméCã\16Ô\9bé<\99ÞNðùÈGG36ñãââç\8b\7f\0µ\9fyeendstream
-endobj
-1598 0 obj<</Type/Page/Parent 1367 0 R/Contents 1599 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1599 0 obj<</Filter/FlateDecode/Length 1193      >>stream
-x\ 1µWÛnã6\10}÷W\f6}p\80X\17Çqì\ 2\ 1êm\eÀ\ f\e¿\14\b\10Ð\14es#\91^\92\8aWýúÎèfYNêl.       bÄ\109×sÎ\8c¾÷B\bð7\84Ë!\9c\8f\81§½À\v`\14\ 4Þ\10F\93\7f\88\7fF@Üû¼èù×\ 1La\11ã\8dñ\ 4ÿ\89\0O\a\ 1,x\9fen\rå\8f\11ß3iDT|ó\13¹ô­à\99\91.÷7,½O¤u±L\84g5H'Ò«Ì
-\ 3V(+®"¡r \87W¾pÜ\8fÝ\86\1eZÐJ\18se3Î\85\88N\17ßz\ 1\fÂÀ\9b`\bmÏ6\8bcÉ¥P\ e}\1fzÞJµ\94*BÇÏ\9b8\12¼u\8c?Pä\18Ö£äâÊæ\16s\18Pú¯7º\16Ib\9f\b\8bs\9d\15¹À«3Û\99x¿Ì¬°VjEý}£Qÿz\ 4aX"j0\1cS;\17k\ 1TIÂZù¨_`\ 1¡ãE~¢WR\95\8fë\9bý\ 2\99\82¥\0¾fj\85ØS\82\99$\a\87Ö,K\ 5lYîÁÜ\81Ò[H´~°\90È\a\81Ï¥ýµvWA{0\1c\ e²\8eåI\0\17ÎåO4qG\8cW7ñÅ&2%\7f\10:\915÷±4ÖÝo\98µ¯\aæG ]é¢\89OTj\87ÕWWjgâXÇ^\9e\1a\95\réÙû\19}?\ eµ¤°eTo\1cR\94%DÒ'¤\90keu¡ÁûdBc%\rçªà\ 6ÒÊ\8a3\98\ 3\8b"d\15Ò©<\7fQs\13
-áoõë\98ìî(ßG
-*a\81Y$n¬\rúYf\ eX\82\0\1dåz\8e£ u¢i\ 5Í\94bÀ´ø×vÂ\96úQà¤9\ 3§!\92\96%       j\80ÑÚ¡\10 \9aàtyÄ\ 1DJ¡\84ÃF? P´£`Ý\94wÙÖ̪b:ÌýyB¶C¤:\0\8b]\19F×ÝþØ:¸\87\84\ 3##Ð10¥t.Õ
-"\9d-\93¢[­¢m\8cN7Î\ 2V\ejX[¯t8­G;" Ô¿pì]xçÞ¥7ôàV'ÌH;°\eÁ%\ eY@\ 4År\95\19F8+-Ô\8aÜ\80\88´¼\11\80\15\16\91¥Fì¤\9aª]«6Éq)ç\88\ 1·f\ eÒ\1cþÐ)\93\8a4\r7\ 1\92yl\eN\9f¥Æ\8d\1cû\99#\86:­ØâH%d9\91`W=\8a$ÖÔyª\rÃ\85\86ú]ºÅCäi\ e)\8b\84÷\8fÎ
-'<³N§òßò$M\9f"\ 1ZNÈî\ 6{\95ëÌtÜV¨Lq\ 5±g\84fÌÓâh Ö¸µ¶;\9f\19¦\ 4\98\19\85\82¸³®`\eB\15\12£O\ 4\92\13\8cj¨u\Êt£q\1e\8bº"®«\866»Z3ÐNê«Õêt"qáÂ]éÓowý\93»Ó&I\80Ð\v\1cÓ©\1fLýp\f·7óOÝÛÝïð»ÞäF®Ö\ eîúüî\14Âét<À\8fé\19Üf
-n$7ºLÅ¢¦(^\ 4Jð¬ã\81\19æý\95,Xø*hÇ\12ÑÁ¡\ 3·_f7\87pl\9b=¸1Ã\89\8a\99K^ \17\e¯ØJPÓº';ß\vÁÀ²\14¢×(\10
-lfÍ!ù÷\89Û
-èåf~\99ßÎ\8a­¹\12\12/\ 4gòÖl/v¥·\99\8e$Kî)#\1cÉGíw!dª\\ eÆÀÏUäåf\9a\8a\18¤\93³»À;­Ú³ø¿­j,>Wã\8eån  "WÖà\8d%Ø3ó¡\ 1\e[¾ª\1dGqS\9a#ÅF)F=¬x±\e\8f\8b=3\1fZ\82\13\98U«â>÷ýëIµÙ\84c|û\9d\9cã\8bnõ6p;»ù<\83/F\7f\13ÜáPâ\19   F3þ\ 6õ\85Áe@¯ÆýjzÂBXGCg±ÆO\v\7fe\85È\8cÆ\13o|1Ä7i:\1aL\bc\7f.z\7f÷þ\ 37Xêoendstream
-endobj
-1600 0 obj<</Type/Page/Parent 1367 0 R/Contents 1601 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
-1601 0 obj<</Filter/FlateDecode/Length 1233      >>stream
-x\ 1µWÛnÛ8\10}÷W\f\90Å"\ 5jÙ²ãÛ¾¥í\ 6\b¶   ²kïå!@@K´ÄF\12U\92\8aë¿ï\19Jr\12%M²\80\9b\8b\13\88äÌ\9933\87£¯½\90\86ø\ ei6¢ñ\94¢¼7\f\864\9aÎðy2çÏ\11~\8d¤\8d_\98,\82y÷ù\87Uop6¤\ 5­6°4\9dã\9f\98`e8¤Ut|ônõ¥7¤~8ÄÉU|\9céD\15D$¢HW\85#[m6*R\12ÿú¯AeÍ Së\81\95Qe\94Û\rJ\91ßlU±VE\1c\8a9#¿VÊ*'kkôÔÜ/çËSoÓèLZX\fBz\8bQ#ãÆæKF«B}{Öf\97\87ØÕL\1c\88\87®¹\83ðð¬Ñ\ 3ó ]*\r\88=\10\ f]s\aááY£\aæá\88\96ÒZ¥\vÊE!\12\99£#:eÙ-¡\16\96m\ eúX\ f\ eëJX»Õ&~;®£\16\1eí4ùÓ¦|±Ç\9f\98ë\ 4úÔܾÇ\7fØ\8e±kY\13\95K!p\90\r¦î-¶^I\v2Y\95¥6\8e6ÚÐ\1fÒ¬¥Ñ\96þ\99\10»BZU$\1c'úú¸*"\9ds¦Éiª¬Üï¾~÷\9a\13ÓÈ\a£×%Û\13\19Úè\ 5ü·f=©¥É\99ÝÍF\19ën8C]O\8dB{^\ ek¹Õ\93FG\7f\82\87¦T~\82å.öæúÚ\13ô\16â»L·h\ fh«­êCàÚ·ïÿ2FO«kpvBaXÏ\aýÑ\94Ç\80s\12\99Õ$â\18M':g(S\85$±q¸\19Ð1t\7fû×+h\96D:2*&½!Q\14\8a\84b]­3I¥Ñyé,w_Kø8\18±Ó6 \e4\v£ipÂ\v\97z\v   °N iwº2´\14ùZЯ\8c\8b"]\142rìÁ¥FWIZï\11e\99µ­ìRáOòæ\8dJ*\96\12\8c9\f\1eÒ\16ðSïsp¶ pÖ01>©½\87Ó`\1aÐg\95\85ÁwäcÎf\81gíßz\f¢TX\90VT9¤\85)Èîϲ[\85è1<\19\16\16#3),àÜIã¯\17\ fu+)Õ¥dÙÑX\80
-I>¸©\1c wXk,Øßø9fDd°ÆÝ¢Q{oÙ\8et\81\ fq'T&8\19,\81ÌÂgUTß TÒ D0iwÖÉü=ªÀ¥\9eR\16Lëñ`;\82jwvÀÔç\10=FÒH\1a'\14û+5®N¸\vè\fþl\15¥xÔØ[\ 3\ 4\18àå÷\84¸\e©÷¨>\82¹µ\11H2Hd\98¨\0TVÇç\1eK\83\9aQÚFâùÐ¥\0{KiîT\84¿[åà^\141]eU\92x\16N\1f\vÿ\85\8e\9e\1d7Mh\ 1­R0\8a\9fµD^\98¬\s´¸)pi ó\97Ëemÿô\82\12\10°\a#°!¡¿/ÏÿC¶\8bX\9bºÐ\agQÓ~ýY0\ fi¼¨«é\1a\1f}ïkͯ÷'£zV_!¸\1ce\ e\f\96\19BÂc½\ 5\80\15ýuþÉgË;S±Ç[h\87í1:7K4F÷4G{d\\ e #\96% Á\8cï\8a\18/\90sD²M\15È«
\8a\9aÅ\95hpÄP\82¾+ë¬[)\vZïö¢@çìu\a¶(Vü.Qeþ:5`\ f¥Íiíx{\18\12k\bÒÙ\84ÑFKª.\87\8dB    £y¹ÌêþçÌ\14(꼾¹ôµ1Ué\80\168c\88\88Ñ;\197Ýþ\98ø¶q~H|\9b\99\8f\82:®¯Fþè
-ùÎ}é@ê¤%æÛ\89[î\\84Ð\ eÐm/\10\86¶[H\9a\1f58\ 3¸×\99|\95wù`å3
+H\83eíu\ 5\87À±0d¾¼\94c\aÀtÅò\ e"pi \85\1d\9dn\19eÅóùÂEÛ4\83[VĬ¢\98\9a\12ÎMì\943@\ 4¨ #ÔÙ×ï\ e]2¢\eÐ\a\85\1fuú+7\17é\9f\1e}n\1dÍÇ\1d¿ªL4\vP\¸ÐªôÃ\92\83\85LfÑúr²Xp¢Ï£Ð(\\13³\80\10V\9dWH\ 5~b\864d:?îë\9cÕ©r41Ö\15È\93ìRý¤s{ä¶\r\9d&\8f\90ªçÂ\fWuuÏAÈÒo\85\12Ö·Ý
+\1a\9b\91\ 2áq\19a´à2¾««\97Y°{J»z­¡yP\)Ç\e\9aT\98ì\18â8\83~&ÄÒ£Aèv¿gIK
+AT\18ïPÿm\95\82¨º\94òmx\12\89bp¢÷Ív\8e¢'U\1c\16âºj­\8e|\117ý¦s¹¦I<¯)¿²\86«fxVk"/s\1fqv(\en\89A\0\18\18xl\v±Ãî-{³´KV:\94\8b\9c[\9b\97þák`Æ{\aùðjÑ2K\18\98\96©r©\14\Ã2\ f\\10iP'Jì\94\99$#_\1f1¨H8m\17î40ìÂ\1d\9fm\17\ e\86\85\98\ 4©\1e¾Á\Y\bmM5Õ'Æ\8e$Å$XfêÄVß:
+¦.(Ô¡{p+íê\10~\ 4kâ£\ 2¢ÏAÖÞM1é\ e\81î8iWöb\9bò\9eB\89ÁöÊ\8bP\13\8c\13n\8f\b¯\ 4Ü
+(®MÎ~$n\8eb      
+D/kr\v¥ÒÖ\13\bã÷\93çÂÓikÐí{\85ÌÝ-1]\1fâÓ2\8cPp01ayo\0P(\82ÖÎ\9e\ 1SL\x\9fÁXÎþ#e\ e{\19Sqnx\1e\88¤\99é3Ä\17ÃÈ\87Xòá_w\1eA\7f\80<¯þ'\8b \8f÷·l-â=\r\ 4Ó\e8\86L\16l\ 3\9bà\18o\9a\195L#m¦\82ñKVyO÷âÂ\9d¯?Û²>ÂÞ0ëvã\0\1aÿÑ\81º3ÊÂ)sÈ*ð\vÍ¥<]¡ñ\1a'Æï4×\8d>zÌKgÌ\aÌ÷\0¾\12\ 6ï½Âð\99ê£.åM«>ÂpN\99\ 6wò&À\e»ZĽOÆÖ\9eÝL$Ä\f\7f\92Á\1cº\92\ 6\98ÞÌhËS?<t¹@\96\ 6ß1Ó;\8c«ß\a\14æaÉr\ 1Ôfü\fÝÓ2\ 6-/rÂD\9eOæxùþ·ýâ'  \1a_S\bM\fÿá\ 4×\ e»Q\82\19SàêRù\ fÇDÓ\96JM\93    \ f\83ø"\95÷\7fRû?{[Ù\8636\8dfçKüYà
+/m\9bE´Z.\19ßà\ 4÷Îþ\81×\12\8c\8d[\14È{'sü¡c¶YÒd=\ 3=éhø\1aw¹¾\8cÖ+ü­\84\1fn·¼çíîâ·\8b¿\ 15\9a~\ 3endstream
+endobj
+1334 0 obj<</Type/Page/Parent 1119 0 R/Contents 1335 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 721 0 R>>endobj
+1335 0 obj<</Filter/FlateDecode/Length 1505      >>stream
+x\ 1\9dW]oÛ6\14}ϯ¸@QÔEcÉ\92¿\8bm@º.C\1fÚn\8b÷´\f\ 3%Q6\eIôD)®\81ýø\9dK\89²ìØk;\a±MóòÜïs©¿¯\ 2\1aá/ yHã\19ÅùÕÈ\eÑl6Æûd1Ç{\88ÿRR\8a\8dÅ\82\ e\1a\8b\11\8d§s/hEÇSoìdG\80õÜ[+\eNg\9dl\ fÖIYùß~¾
\13à\ 4˹·¤\9cÂeàMÚUFw\17Ì\b\19¯18\98,\9c\19á\82\8f\863o
+  \1cya»b fs4±Zàê\82\ 2»èö\16càäd·ì÷ng\16xs\8b8õfd\17ÝÖtdñ\82q\0\83ì¢Û
+\97\16/\b&Ðe\17¼õfÅ!?\89\96\7f\v»\ 3Z¥ÈÍl1§Ub£9¢U<Xm\94¡\9dʲk\8aö\94ÈTÔYuMª0\95È\80xóþÍ\rVôrõéÊ¿En-ÎÀ¯Még:\16\99oD\1e\89fÛ©\19xt'%U\eI¹Àá\ 6%Ñq\9dË¢\12\95Ò\ 5©\94öºæs#\1a\ 6c\ 4s\95\fv¢¨¨Ò'ê\8dÎån#Q723Ò£w\95µ\98Df4EµÊ\12«j§\8aH\15IBò³\8cëJD\99$Q$\94©¨\14¥\92Æk¬\vÁ\18Ú¬Aï\8fºHÕº\86\86F$p~\16ÆìT\15\18\12ÇÇ\a\16\9c}l\15\1f\145\82.\1að\ fE3aÿV\90îÌ¡BÊDÂvMe]°\v͹©Sî\80\93\ 1%Bæ\baµ)u½Þ\90\ 22\$)Ö[Õ`\ 3W\95´-õV\96\fÔ\v7'\90\93a®ÉèF\89ËpÏèRëêÙ©iñ\96<¯É½ot]ÆÒwføð\10ßÿjÃâ!IüÓ±\13=üwM"S]#Yª\82\17±4F\94{v%\17\ fM!¥:Ë4 ×döy¤3\15#\92ÅÃëo3;+hh¬9\17¬|ú³\17^´ü¦H¸UlõÅÂHÒ)Ý!\95Fg(8óÿl³\9d¥¢§\86PÓt綼à8\fã`
+\16\98£ßQtgóg\ 3Á\87\86N¶kÂËj\ e\16\1cç÷T}8    ¼Å(ü\92ú\ 3Ü\93\8a±\969\98§\96\9d¨¿\9c¡\ fzwMÂ\10Ç\80ù¦k\11\99 Ò\8e\836ðe\15wUÜëx×È\ 3.H°¢ÞQmdiû\7f\8d\16Ü\12X\8d     ¦í½Ge\14\93OZêüi[÷úÏ1VcÇAMÓß\1e½ß\7f»\89©\82æLë\a´\87m\1dð»H+\98Ë.£\7fºª\òDÀ8\1c\87 ¨©·À'ª\85Ú×V\80ú\92×vÅ\98<%,¿²±ì\ 3\86w_ÞlD¢w}ù\v\826b\8d\1c=\ 1>\8cª¡³ln-¼D\9e\18Z}
+n\99\91\a\1a³ ¨+\9d\83â0§²=g      C\ 4\1c\8fgè6K\98åÕú4\1d±\88ÁÛ¬¦\90\9f+çV;²*\95K®¬\12¼d*\99ãÊ\12¡Ø@©Q]1\9d!þ©ÀNI÷\ 3\1eG\\85\89.^0ѵìoOÜ¿lg"vù\.\8a\9aÍîòåFx7MÎ6¶o0\ 4
+\r\1fé\1fZ\97rÛOß!Ê=\1a¶7\ 1¦[sZtÇÝy\1a\1dñ(Tf\87-¢ê*Úö\86\8c7ÚP$â\a\12\84\10â\13"ðÿk\ 6±É£3-س÷N>ÊRd´\15¥È%â\8b\0o\87jËÊ\ eÅV\1akG\86«Rg6\9b\91Ü\88G¥KÐvãÔ\17'¯GÝM¡9Ñ\e\97î\ eãT\9eÆiµ\91\98\10lb"M\ªÈV"åÚþR!\88n\94¸ Þ\ f\16(
\ 1|\ãÞó\94\ e.é²$°\13\86mèñM®\13\95¶×\ 2UÄY\9d\9cÎVGdmøþXg:\12Ù\9fddÌ\17\85®\16Ïs\87\13wjû\14ñ\9dçy?\9cÛx\ 6pÎa\85À Y¡\99»\84        ¶@^QQÕ\86^¼zqÝðÙÛ\8fïoÞ}xå¶\190\9c\1fب\r\9d\83ÔöÆ3 ïé\15K\ eû¢\96Ù\9e±"ªU\82&e¶\ eFxq\9d\84öK\8aâh\8db\8d6\9e}\f§\ e\0\8cÏ\8a,ÂÐ\1eÿ/\95ë¯Pi\99ò¢N |\83ÎflÉ\ 27p\84\9a/หtæ³o\87qvQ%\1f·\99±\12ìí^Ú¯½yà0­ìÁ\83\9eð¹,¬Õãá\1emC\rÊ(%ÚÛl$¸ü~ \v0¸kî\94ûwOh_\14°Ì
+Y\91\88ùÖxÿ\92cÒO\11(y\9bqqmð\14\91¨® |^û°¶¨üçoýç¿óAÿ\16Ïmö    '\18/¼Ù4 Ù\1c\9fK~f\1a4O1¿\94ú\13\9a\81Þö\9ffl¦\83\19\9ep\17c\1aÎGh\ f\ö¥áyK ÖbmècmGÇdÆÀíÝ\bÅÂG\7fZ]ýzõ/ö¶a\9fendstream
+endobj
+1336 0 obj<</Type/Page/Parent 1119 0 R/Contents 1337 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 724 0 R>>endobj
+1337 0 obj<</Filter/FlateDecode/Length 1174      >>stream
+x\ 1­V]oã6\10|÷¯Ø^\1fìâ,Y\92mÙ P\14¹|\1cRà.×F\87C\1f)\89¶éH¢JRv\rôÇw\97\94\12GqR\1cZ$0l\91\îÎÌÎêÏA\b\ 1þ\85°\88`\1aCV\ e\ 2\7f¹\84§\ fµÆ\1f\ 1ÄË\99?\85Ùr\81ßé¿\0Åa\85{\ 3<ýøñûÇA´ôg¸9öc(!\ffö(ý*྿½\v½\98c<\17:Âý]d\98c°ùË\85\85óà1F¼8J\ f"
\82ÇQ·ð!9\91Ëä&\803HV@5L#¬báÏã%$¹-1\80$\e\19\ 53\1cô\86\17ÅOÉv0\82\9fa\92\8aj\922½¡\a\93\9b3\bC\8aãµ\81¼èÌ\ 6LòѯRT`6\1cî/>}¸\0ÍÕ\8e+0Ò>ûru       ¹,\99¨\\9cY\e'ÀH1Â\8aç¯+Cû1ÀJ\16\85Ü\8bj\r\99,KVå\14¥d\ füeømwéÓ\ 5cØo8\ 2í.\8aÚ\8bFWw\9f.n??¿}\ 4\98\15+9-a:¨\80\88Ò\91+8ÈFÁ7Qår¯Ûì\81²éE¾ÈKQ    m\143R\9d¸\80ug\eÄ\ 4\93\93°a\1aØÓ)±ãP+±\13\ 5_s\r\ eÆ^:\ e\85G\9dZ\16\8eÐSR\9a\1fÝê¼+\19&\8dV\93Bf¬\98hV¦Ì\92Yq\ 3ªÎÀBçÝ\ 3!ç}\857ª8º&Azj%k,Dq]ËJ#)\8eâ\8e\91M\91CÊÏá\1di\82#}xÊ\15ÐÇî$+ï¾\93Aâ©\a\97\8b\vÄk\8bY§\*\86\1a\19)¾7L\19hj\9b\1fê\r¥\9eç\903^ÊÊ\12m¸6 Ì\ f\ e×S\9aÝñÊ4¬(\ ecR\vìEQÀ\9eUÆ*Væbup*Òe
+\9a®ÃÛt¦Dmw°Æ`O\18\81\ 4\15\aä}'[\8d÷\92é\15\87úv\9d&\11X\ 55\86Õ\80zm\e\8f®\19CÚPê$ðZj-ÒÂ\11E\15I\Ú6ø\85xi¯Â]Ê\b¬{%\946>$Òå\8bðôow@Ù\ 6\17\19×c@\f^í\T:IóÜAø\9f\84Û\81ò*\e·Ã\12X±g\a¬\99)VI\91[\1a\vA°¶\16¢\eô\ 6+HÇ3\ 2¤¸Å_5U\85¦ãûßÙeµ\ 6\8f\eÖ\8a×\1d\9eù«Y&\e¼²×,ØRy\93qb¦Fr\¸o\fbÕOÖeÙ\92Ò\99ç4\88æð\v\ 4Á¹ý\7f\96ÅQû~\96{,\ f\rÖ\19-\15\ e$ò1\18\88Öh\ eZ\96\1cÅ\88\9bH\9bÔ
+))\860#\aC©UNÔè\1cÿ\a­Øv+    ^ó6b­­ð\fý3eÙ\ 30\84\89ļêeõ­5ì\17¹úp\83uó¿\18Î9>\86[[,Uõ8oZP»\11Ð9Ü£xí\b\ríÀ󢹿ÄI\8a6ry}÷þ\85{"è!¾itëi£òvªöV>6\88\7fwñÑ\89­ñ\98\15Qoÿ\83JÍúÔ\81DßR\1f¢½\7fE\96\9e\83éuI/ºi}\97î\84l4\19×-Î#\9c\959\94\87Ω\87X×Ðö\ f>sá\1e\87ig\1a\9a\9d\1e{Ã÷CÛHGòû\ 3-2c\15Þ`Õ\843 ß6Ðw\88D³¡\81ßJp­$\1aå±\ 6WJ\96ö\10\8aî_ø8\1a\85¡{ë\99Fhøø\92\93\8fNNÄ}«Àµ«²}Uòì©g,^Ù7\187*õ        ÎÚuÂÿ\8deËø\eë\97²D\13hCLn\96í8\ fã¹\1fÏC\88\17\vÿ,¶Ês\86ÿEÉ-Ï\f\ɬ)Ñ\8bmÓRv^\88ï\8bÁr
+Þ"@éæ£\ 4¥F(£\ 5Uk\rw\8dÕÑ,^bàÈ\ 1\14\ 6!\1d½N\ 6¿\rþ\ 1høE!endstream
+endobj
+1338 0 obj<</Type/Page/Parent 1119 0 R/Contents 1339 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1339 0 obj<</Filter/FlateDecode/Length 1204      >>stream
+x\ 1½WëoÛ6\10ÿ\9e¿â\90\19\8d\8bÅ\92%¿\v\14C\12Ç]±æ±ÆØ0,û@KtÄF"\1d\92\8ak¬ûßwGJ\89ãØ]°W\v\18\95x<Þý\1e'ön/\82\8d`\10\ fI±×\ e\86CxüÑ7øÐ\86~7
+"è\ e\aøï^?\18\81æ0ÇØ6î~ø©b»\83îCl\8cñU趴Q4ÂÐ^\1c\a\1d\88£áZ^Àwmè\8ez¸Ò\e\ 4=\9fåxºåÌpÒ\86\11\10\ 5ÝN\f},²×\1fÂ4u¥µa\9a4ON/¾\1d«\82           'JZ­ò\9ckózúi¯\r­\b»Åh\17tµ\85Ër\96\v\93m\8f¸J2^08J\v!·e8\95\96ë\85\16\86ï\8ey§U¹\80K\95\8bd\ 5'\9a3«4\,eub8éB\14QG-ßR+\1e¸Ö°Èi\86À\972±BI8¸á\96K{\0    \93 Õ\12f\1cJÃS°
+p      J)æ\ 2\1f±\ek@Ía¦l\ 6¹JX\ eL¦p9>¡xmÜÓ\rUe\ 2\98ê\15Ø\8c×èt\82\98Ð\99#fj)ä\r$ª(p÷\e
+ ì}©\b\ fº\14ª\95²ßøÕ^µÚ¤z°TX0c\96©_¬»\Ûú\8b*ÁdªÌS×\0s¥c5ÌbÙêÖàó-\87\95*5<=¾\19r\9b\84Û²7}\ e_?\821sÝAêåàÛ_
\ 5{\16\1a$_RfÒEÕy)Rs\b7î7S\ 5\87Th\9e e\82{àR>gen±p\9eç&¨¶×h\10c\86á6\9b\90*¤)U\12\89DÚ=êPWP£û´»5\84¾\ 6®Ëåw\8eÖh\19zZ&â3õ\bB
+\e¤`,Ó\16eh\12-\16ÖI9\9c\8c¼\93è¼®ßõAÈò³Ïù\84/"\1a[ó+\8f4£BfB¦\e\f7!e¼@ÅJÎSCòt§\ 3\1eÏæè\17ªk3\93)fϲ ì6Ãä\960\7f\18\92\83£G\97R"î(k\ 5,Aí.ÈÛDÆ\83{+\9e-3·\87¤-W%\15Y¨T̽\6Ð"39\15\9a\95±¼Àì\19_¹óÈ]\16e\86\8aõ¥Ö\ 6ñ
+õà\87Ø\9c_­1m"-ôfMw\1fyú=f!£~-\13+fìy.\18ó\99`2¨è¥nX\9aÖêr\14\by¯ÐL\84DM\ fÎGRÈB«\ 5×\eå\18~Wr\99ð\0ÎV\eâñ\8f\ 6éô\85<Êa\v\89\87\9b1[\18<¤®7ãvIk®UáÊö\e\1eñ.\8d\ eÝ°\vÑ\7f3\16¢0}H\rú\1aص§W\95»ó\95ã\14\ e\1cñ\a\8f\82È»f}(\11\8e\ f3qí{Ô\8a\10¿Kè\17\97ëºyý\1a~§BèøêÛ\ 3Õ\9f\1fÞ\9f\8fßî_\9d\1dïï\bàI¦ %¡±\7fEþ¥\89Ò M\80cü^$ܼ\81][+\v\86[`!=¦ÐÀsÇ\17\97Ó÷\17çW;\8eÿx:ýéèÃÛÆw;Ö©¼\1dK¾µóÿ½5\92\174ðÜ\17µ\16ÿ\83Þ~ö³o\17þÿ\11uë¶Ø¢(ÏXçoµõ+4üvhñ;¼&¶Xý"~ö¦S½ù\r^½ÂiS&\19\84÷Ì\19ð64å\f\a\f¾|\81ëë\1d\12A\13T\ 2\8bvDhnK\8dê÷a\eA\7fÐó_]\9eÐÐj±æç\8cáw\ 2ç¢ÖÜ,\94LÉQxQ¡;\10~¥²Òâ§zéÇbm17\92é:\ 2Õ}äEÖW\8b\7fÍùX\95s¾«ì¥ö¿\15y\8e\83=\81z&ï\14\95p2¬.\11Q¿\17ô{\11^­;AÔw£ìêèìø\b.µú\84W!\18«¤,\105F×Rb¡\15õñ¿
+C\14Å \8d³\10¯
+ܸ\92§t  2pQZ
+ëö\87\988FiaHÔ\8eéÝétïǽ?\ 1B\9f| endstream
+endobj
+1340 0 obj<</Type/Page/Parent 1119 0 R/Contents 1341 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1341 0 obj<</Filter/FlateDecode/Length 986       >>stream
+x\ 1­VkoÛ6\14ýî_qj\e\8d3D\92%¿[\ 4C\ 2'@Ñ¥Ýfcû\10w¨,Ñ6\eItD*^°õ¿÷\92\92\1c?¢6\ 3fÃ2HÞǹ\8fs©û\9a\8b6}]\f<tú\bâZÛ\1e\ eñôH\97´h£×íØ#tG=»\ 3·×µ]¤\f\v\12n\93úöQ
+w´Xw8 E\8f~\85èsv=}\9eKv½\11¹0²\97Óg,;×m\8c0]Àµ»\1d\ f}2ßë\ f1\r\r\806¦A\vÅ\87\ 5+q:ýRkÃr)\14\92Ù\1e½\7f÷a|^ÿpsY¯\10к°\12\93\14O\96\bÅ\86ÖZ\13\92¥\ f<`ò\rªôïx\14­S\11 \89ça\85\8f߯¦\7f\üâ\9d7\7f®\10øa\0\7fòdÎ\93°
+Äÿ\16Ä&÷óý@:Õ\81Ü¢\99\a\v\8bÝS£Y~¹á\1dít\8a\9dOxý\1ai\fk\ 1çÁO\9dH\ 4w\8eÌæòQ:2\9e\7f'e¨W%$e*K©\889\98\ 3\13_õÚ¹\1eåíeåýey\ 3ÓgÔ;\13\11ù)\97¹T\17®«»\90bñúº³>&\90¹À\19\1eE\86\84±\10\16!_<B­\18rM¢\99Ñl9L\ 5\ eO¸²CGúñÜ·u[±tßA\vRù©ÊÖ\90AÊ×ÊÆ;\85Lf~\14=B$ô0ç\ 6\96\8eíi8\94¡\10~\12\9aþÃ<S\90+\91\16\9b\\ 3eQ     ¥ «\v\ 3{å?0\184à    Y\8e"
+\83'ûÐwü8\994¥ñ£<\ 6\87úñ \803\13ü\82G\f\81\81\10\88Dùd\9d\12\163µÒÜ\8aø\1d#1.ß\94\9ev8ny={H\§°\1a\r}®ý\17\84n4r´;¹Û;-Ä=×6Uâ\vÜâ\15¬\10\ 68\81ŧ\ 3\8bT©¤\9c »ÿ\r£BùSTÓ,Q¬\8a\rìo®\ el.ø\ 1\8er<ÌZ³Sü³ïF\9f\99\94%~LÉ×S\84I9k19;=°[*®yxþ¹\8cÈYK¢\10þ­\905:[ÙeÊÖ°6hº/T\90\ 4\89¬\9fHç/à'Ç9)V°õâs\85Ó[Ô\9b\ 4²\8eWçÄN\18n\9b8õî\81\8eá!\15±¬Y\ 3\13Í\0G*±.³Á$]\11÷\19O ÍB¤EÇ>ñgG=ð%#ïn½hã\9d£\13C\9d\93£´\1e5\19®B®tMÈTÄ\13òNÌ\96\19í\11ÕÓ\92)¾â"Á¬µöÕJ\9ea#Ò»e*²õ\19VBª\1fz1ÓÚ\84ª\191¹¹\1c\1f$\86\1cÝô4¤\9a\8caIÌfÇ:O\ 5§\11ºå))ÙDÄE!_&{\1f\ 4]\90/\ 5¡ï9\ 3\ f ò¹¾ÔÈ\8f"{\11Àâ\ 2ÄØg±0\83\87Ê[Î\86ª|\95\83ï8Uoß\1e¤\83:D¬\8f\e\84,\97\f®¸à·Çº8Ú¨s=,\ 6¿ÛïÙý\9e\8bþ``\ fG\ 3=Ö&\177\97\17ø5\15_X 0\16A\163\9a\91º\9f´®åöé%jH7ã Ms1lM\994¯$S=<%>ffàtûC2ìÑ\9dD"n»£U¯¦µßjß\0\1fò\9fìendstream
+endobj
+1342 0 obj<</Type/Page/Parent 1119 0 R/Contents 1343 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1343 0 obj<</Filter/FlateDecode/Length 1489      >>stream
+x\ 1¥WÛnÛF\10}÷W\fÒ\17¹°HIÖÍ  \82"ij4@\83¤±\8a¢\80\81bE®¤\8dH.³KZ\11Úþ{Ïì.%\8a\12Ü\87:\80#\93s=s梯WC\1aàß\90f#º\9dR\92_\r¢ù\9c\8e¿Ì\1a\7f\fh:¼\8b&4\9eÏðy6ÇG#i\ 5Ù\ 1´\ f¿\ e²\83è.È\8e ß\88Òd<\89n/½¸\1dL¢Ùù\8bK\81\8cFã£\8dq+\10\1a\ eçÑ(\18\19ÞÂÞÁït|\88çøâíâBøñý\80îh±¢a4¾\1dÑ\14ùN¦sZ¤.Ë\ 1-\92\1e\11mU\96\95F'´SÅR\15iz½ør5 þ\10°A\96E^½
+ÏFÃhÊϾ\7f¼>\97\92ÉFÓ\8b߬XË\97\14Ë*\89U¡ª(\8d­È\97"²Ò<IC\7f\91­\84©èoü¯KúçŹ¡\83»&\ 4iEÂbñý\9dO¨ï3ê\8ff.3DôY:³ªX{Á1\10äÔ\91ÈÈ\85ü~E{]\ 3Fï¾ÚH/8       \82=²ùÒå\1eß7ʽ\9b®LqA\86D\11ô\8e¶ÚX¶ìQ*d®\vK¢¢j£,\95Z\15Õ\8d\8bÌnt\9d¥´\94$\96\99¤JS¢\8bB&\90Ô\10várYnÁ\v$ì@¥\0ª\80EJu.TA¹Ì\97ÀùKm+ÂsåóÞI\10HP¦\13\91Q\rµ¨\ 1ô\88Ó<\1a³å\1fu±Rë\1aò¿{Fp\82ôéÍ\87\vÈz\8d\80íF<IÊE*I\85ôVÂøä¶\85Þ!      ¤Ý ã\8cú$\ 4\í´Ù¢xÈu-\91¬\89(\18Ý\89Â!\80\98Ù\7f\v\81`\89á\ 1\7f\9f\14ü\8a\1aºE¥\12Q)]ÐJ\eÒlÍá¤\12ioh+e \16\88\14Þ"Zl$\95"g¨]ÎAOeÒR!eÊÆ\97]Ç"«\80fJ\0Û\15ÑV²\8cè±÷N¥\81\ 6PÎÅVÒR$Ûº´¤]-\10\93QkU \10\1eQL,ÇÕ\9ek\1a\84\13uyH+\8eè\aƤÐàKª\ 1q\a\ e \1c\1dÚr4õ\95ù\ 3\94ß¡Á}2Âå\9aë´ö\ 4\ 3¦ÇzìTµa\9eáÙ)f\8c\12¨\1aÔ\9c5\904Ñy\89 \ 2
\99\9aLZU\8a¢ØêÚ$2.¬\85\8fdsJ£\1e¥Ê\80åÚìi¹\a¦OÚ\13\ 1\95\81\8füÐ\-ÛMvFëê;oîØz\ eñÆW\f4ÿ\fD\89¬>uíf\83ÇietÎÉw+r\88þT³\15´ç\90\7fÝ\84Ø{ÎkÏ\15\93\8eí\9eèRy¦q\0Ü¡\8e¼\a²à©aû-P\99²V&µQÕ>\14ÆFô\11Í¿§Ï2ý\19}f÷ e~ã\19ºÃ ¸\90]\9c©eÜØy&C\18\990
+ýÃfà¾\13Pc¤      \86ç,7$Z¤\ 3M\[ó\9cß0\97\1a([5ºXí¤$®\11o\98.Ï:µ§\v^Ã:i9ùE\15õ·øÞHùöá]ß\962Q+\95ðô;\9d\11§h9\ 3<;\17ç\14:6µ\ fóT3°!Õ<ptÕ\1a:\94lD±\96)&¡\1fæ\99\5c\15\8dÇ£\1dÓTØ\97\rÀ­Uß\1fM¢9V>"â\91\88\15\8e\82|­Ñh)\7fæ\9f\134\1cTX\8cÉ\16\fË×\9eB}¶À>\98\7fá&\10I¢kÌåÿoô¸\1cÏw:\83y:\8aÀ>Pû=³\feñM#²Ìí\16Ék\8dGl³\17x)\16Ý\95À\v\13\8b\80Ü>d.\17Úä"kò\vË5Ó\98Ï\84\rÂ\12Ø\rVc`>ö°N\ 4aöçnx[i-¶Ìã5\9aBf\85¬Ð»PC\8fð¾\Ue\ 3$*\bc&Å\1eÂF\90\85ßïnÒ\86p¬;4\18à\10\0\9f*¹ØcT\18¬ñf\13yF¸ °å\8c\ 2g.4\18_^ß\14âIÏ÷\88Ë¡!L{ëxy^\83þíá\ 4\8e\9a\912\8b\86\8c±í\80åP\94;j|â°3uRá\80¸9¬ÈD 6\9cÔ\85T2øþÏDb\ fq'8Fú4\9b\16\86®ñ\9a â]ÝGIºú<÷\e\ 3\97û'\94ë5\88rª|Î×*H\9c\Ý­V<\98Ú{\f\9fãþ=¸Ö¢\10Æ·v7\12\9f:¥4ÙÞßUn\e\8b\f\0+±ÆA4w\8bá\9a\8bj\\1aÍ\92eÎðYÄE\v\a#Jjº5\15\19\9fH{xÃ=\80F\ f­Àt\958é` ÅÅ\8dÎaì°Å±vÊLTî\84\15´\96\85\0Àin#\9c$Þ½\au\1eN á\14ßÉæ·ø®\82\v\7f\82\8a¤½\877\1fÞ¾¡OF\7fá[ø\9d\1c\11¹\1dɺýF¥?\e\ 5.|¾$q´\14kK\1fkw(\8d§óh:\19áû\0L\ e\acVýiqõëÕ¿OO;¦endstream
+endobj
+1344 0 obj<</Type/Page/Parent 1119 0 R/Contents 1345 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1345 0 obj<</Filter/FlateDecode/Length 1341      >>stream
+x\ 1µW[OãF\18}çW|Zú\10$âع§\12RÙ¶H< n\97¼TBB\13{\92Ìb{²3cX÷×÷|cç\82í\81\rR dæ»\9cïr\8e¿\1fE\14â'¢Q\97zC\8a³£0\18\8fiûf\16ø\10Ò`Ð\v\ 64\18\88Fcüi$Íq6¤~Ø\v\8fGø;\8aÂ`²ù
+\86\83°~«Íôº|·:ÜÅ\85ÚÊS\1e»ü}}2\9c¬Í~\9e²Ó\86åÎE\1f®i:G&Ãñ\88¦\89÷\1cÒ4n\15V\1a\eÐt)­¤Xä4\93$\85UiIV:*¬Ê\17ä\96\92N¦ß\8e:\17\9c\ 3\ejÙl\16Ä:\9fWÿ^ÛoÑ"Õ3\91\92Ì\9d)«ï\ 6ë+äd¶J\85\93´Ô\99L\94\røsHíî0è#Æ\16bjzíH\17wV"\v\92ÎÜ­\1a÷i®ÒM\ eñRä\v\99\90Ó$ÒT?Ð\83Êg*O\b÷Hı´\96TN\822\91çÒ\90U\99J\85áó\9c­\15ÙLÔñD½ Ëñ°ù\80®Ê\ 3\82z\10\96v"Jµ¾£TÝIøRö×*\8f\90&\8cl\14ô{]\800\bÆø\r·¢pKª^F~/\94AVüê¤jÖ±2.\8cr%\83r\9b*ë|\90V\93\ 2Øg\\\941·ò,\91\ 1\18\ 2\ 5_yÒHÞ\9cÙ\ 2\88Èd\9d0Ú»áÙ\16ó¹\8a\15Êú¤ç\1aÜÀêçM¼\12¼u"¾\83\ 1ÄkîU,Ïli\91C\9bÓ?ÜèR¦©}"¬8Ö\85Ï\85\ eÎlkâã2³hK¥s.ï;\8dng¾½î¨\91ï¬W\a\v\95W-¹\1dë§F+\97Â`MÔã"éA\94\ 1]:Ê1mÜáö'´¸ïwé\ùDM·srpMßl¢ÈÕ\ fnV\fÑí\\19ënWÂÚÃûôg4\7f®})\9f@jÛº\a#µ5ñÎFÅÂ\a+ú}Ã\10>hÃëíã\8c~ÜHíDºcT¯\1c&\16\94ǯý\9d\f\8e´\1a¼QmÆ\97¦ò2÷l\0\12¶ò\94.I$      ó×RV³¸¥QO\b;\85Ûwúx\1do\9d¶0\91¹´\ 46\9aɹ6ð3+\1c\b\12\9dü\8c;Nºæ¿MM\98k\9a\83¸ëDÌô½\ 4\ 3\9d2\9b&ÊV\ 4l´vØ\vX.\96ð=¨\16<\9bK\87\8aßaoìFá\99·s±My\9bízÄê\98ös\7f~2wCd\1cHÌ]\15F\13á\97ñã¬\16ÐFF%¤ç\ 4ý KVI\89.f©¯Ö\ eh+£³\95³\ 4´iÝßÖ+\9dÎŤb|\9c^K\9ek\r\r¢lÛ®d¬@¸Ä\12K-
+#¸Éª0×KÙ_[ë¤\8d\v@U&\96Ã\84\98«e\a#¼Q \10\1d\95XBÝÝR8ÊJúCg\ 2\82¨R\ 5,\ 4Q*0ÑLC}¤:F\rKôM\ 3þ\aÐ+w\93\93)*\19LQѹf¹Åx\b¨W®qå\16\87ØÓ%\ 4W"\83\7ftáÕf\X§3õou\92\95\9dOÀÓ\rì®P\9fR\17^)î\80Zwb\ 69bO¹\83\91§-à\ eåpKÍJÖË?nóX %\96z\1c
+zÍ:?ahOHBD\9fJ\81fe'T)\ e Ç¼ÖÈTe+\rnF\81=®èåº\88Ïɶãµ\81\1d+H0¨§O¿Ý´\8eoN6©\12\14_Ôçå1\99tÂI'\1aÒõÕå§æíægú]¯J£\16KG7­øæ\84¢ÉdØÆÛä\94®\8b\9c®Tlt\95\90Å6Éc\1f.c¸\8e\87Î\91ýW¶`é+Ô¿¹\97ÉÞ¡=·_ίö\9br×ìÞ\8ds\90*2W±ïaÖÛb!¹tÍ\93\8dÏ~U\0\16¿î6»\a;¶°f\7fì\1f\8fìN@o7óËåõ¹×Ñõ
+Ác\e\1ebvèÝ\vÿ÷\99N\94Ho9#\10«ö\9b-dê\ö\bàÿ!òv3\eD\f\86ÊÙmà\8dR=²øb©6\16\9føa¹      Aâ*\f\ e\81 s1®\1fE£á \18\ e"<\fGÁdè\9f²®Ï¯>\9fÓ\17£¿ÉØa\19Æ\ 5·èfí¶£!\1eàÇ=j\8fB<¦ááTZÇKnºÄ»¥¿
+ßÎýá\18\86»xÎÆ\91(\1cp6\7fN\8fþ>ú\ f¿&\ 6\83endstream
+endobj
+1346 0 obj<</Type/Page/Parent 1119 0 R/Contents 1347 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1347 0 obj<</Filter/FlateDecode/Length 1188      >>stream
+x\ 1µWkoÛ6\14ýî_q\81\fC
+Ô²å\87¬ì\9b».@°&Èfïñ!@@K´ÄN\12U>âúß÷\90\92\9cTÉò\0\$Pb\93<÷Üs\1f¼ú2\bi\8c\9f\90\16\13\9aF\94\94\83q\10ÇtÿP\19>\8ci\12M\83\90\ 2ÿϦ³à\8c\14§-6\8fqüðh7\87q\1cÌÛÍ\13\1cð[?¬\a£ó1\9dÑzKa0\9bN(\ 2Ú<\8ai\9dz\88\93ÓÔ\142\13\151kr\9cûb\85â)\11\8d¬V£BlF\9a'V  ³\1fýt±Z\8ejVÞÚJ|\r´\ 4=£ö·[¡´¹­\99ÖïÖ\9f\ac\1a\86ð\ 5&NOz\9f\95Î\81Ko±¤r©\8d¾uܼÁ\1e¢49W\1d¢¶Û­H\ 4¯Ì\13Ü\1dí\9d¨6¢J\ 1ô\1cÌ\ f\95à\84\96I"-(\96¬b\19/Á¶G¦¯Z\13\1d¨Ö\1e|à¦Wóq\9c\9eõµ\ fçÝÕÂp\ fölØ\95,¸nâÞãü$h\93FÿÃñ\89\êaöu8äéqtèÃ\1dE\87'A\8f¬Ã!ç\8f£C\1fî(:<  zd\1dNhŵ\16²z})u´t{ðA©\1f-MOè\1a\9dp'Uúz^'\1d1×DýÑ^\91¿±Æ\1fÁõ\1c}\f÷r9¦¦Síû\8bâ5X/T6"iëZ*C[©èw®6\IM\7fÏýM\81\ e)\12f\ oNm\95ÈÒ5M2\92¬æ\87Ý7ï^2¢\1e\s²vx¬@Ô\9fáÿ\9fÚÌ_s͵ÝÏër\ä®\9f´½ù\aXhSå\a ÷¹·íê Ðk\84ïÇ´c{D¬.«\8fÁëP¾o\ 2{b\88\1a\9dÏ(\fÝÜ6l\ 6·ádá\a8LU\17Ä
+-\89¥)Æ4Ö;L\85¨8±­ÁX\84Ù\88îG\9ef\ 5U\93qCJ¤$·ÄªJîE\95Q*í¦àT+YÖF»2ì\94\9f\ 6\137Êu\9eé ]\98DÁÌ-\É\1d\86Fm\18ªw/­¢\15+7\8c~v¼(\91\13ã,\98\I\9båÍ\1eV×EWÓ&gþ¤Û¼\15\99\ 4¦QG\1esLà¾õ6Gçg\14.\9c$\9801\ e\9fD)\8cï\r~ö¼\97\r{ Xä\18þÓL}\943\r¹*[¢»8ç\8bû³Î \80ß\98s\95ë-\8a\17\9ci\10¹ãÊß0\9eä\8eS.kî:\8fÄ\ 2\1a\11w\a·Ö\80tO¯\16Aÿâ¾Ç\94?ìôêØ\88\83µbO²Â\83Ý1Q0\17\ 6×\ 5\9dÿ\9fDe¿\12L*¸\b\rõ^\e^¾GüMîÅt=S{>~\ e>ìì\91iÎÁ{¼\15$\\19&\9c½Zâö\84¹\80ÎaOÛ$ÇW-Þ\ 6\80[~Oð»½?<«_¡ÜF1\84\17":\9a\88=rªgóÀ¥eíXê¶Ë»CW\fê­¸º\13     þî\84\81yV¥t]Ø,ó*,1ó?èý\97\18?{fZ×\ 2ZçP\14¿\e\8e¸8±Jé¼Åe\81{\ 3\91¿Z­\1aüå%e\10à@\86aCF\7f]]ü\8bhW©TM\8a\8fÎ\93®\ 2\17A\1cÒô¬É¦\9bI´ Gâ>×üúp>i^zÖp®D\82\83\83v
+!à©Ü\81À\9aþ¼øè£å\8d\89Ôó­¤{\15HQ³E&ñ\96\95\97(\8cÂ¥\ 3ÄHy\rJ\80ñõÐs\1d\13\ 6\12\19\9eìr\ 1ñlå¬"gq+*\1cQ\94¡âê&ê\9aó\8a6ûC; \vgu\ fµ(\15î­É\16þFUP\ f©íÂÚøø½\b\r\1e\88\10·*\85Ó8\88Ϧ\14E³`\1cùâ\-/?,éZÉÏè\ 1ôQ&Ö]ܾZ\1dø0\8cðj\eOi¸\18ã\155=í\15ó,\8a\83h>A¹c-\1cGîÌoëÁ\1f\83o/ÁÐàendstream
+endobj
+1348 0 obj<</Type/Page/Parent 1119 0 R/Contents 1349 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>>>endobj
+1349 0 obj<</Filter/FlateDecode/Length 576       >>stream
+x\ 1eSÁr\9b0\14¼û+ö\98Î\ 4\ 2Ä\ 1|tÒf¦\a\96N{èE\91\ 4V\ 2z®$âúïû\ 4ö¤ã\8eí±@Oo÷í®~/rdüÉQ\15¸-!\87E\96f(\97«´Æ²®x]ðÏi´ÓÆݲN\8bË\8dûfqó¸D\9e£ic\93²®Ð(p£,C#¯\ 6±ß\eÛyP\vg\14\ 2áûÓç\9fàåi\v¦EØ1\88é5$Ù \8cå\13üÎx\18Û\92\eD0dÁ\8f\92\9c\e÷A+\90\83Ò>8:j\95~h^\16I\86$¿e\82\8dºz\18\9dÓ6ôÇ©ñÁØgc\15¶ë\r\ 6R#Ã(Ò\1e\96\ 2\82\f¬\84\94\80=yo\9e¹æ@îÕ\87\19Zðñ\9e:&\11Ì #Ü?h.ò02rô\f(\ 2Ovij毶ð:\80\ f¦@\a\8f§\ 6£×ÎO¤o\1eåIº¤Jë\1cç\ 1~\15e\85\bsó¸BÎ\8a¶H\8a:ÍWH\96UZN3\92\95ýè\19t®;{ÀÄ\8aSIê\9e\87÷G\1fôpÍü\1c\8dÝn\12\86yD[¢øObÐø¦Ý\9b\91ü\7f0Aî®±íÇ®\13Q\8bõÈE6\189˱\99Tô×`].Ä`»\1dí\9d\11Acc¤#OmÀ×í\ 3¤è{\8f\9dxÓà\15\1dØÄ\91õ"ð\817£4+%\86^ûhzÐ\9d\9b¡\98ß{\9bw\r/P\15\r\9c\9aYX°Kb\ eÙ<t\8a(\ 4»4ö!\86H s\9a]rZ\8d\93k\f8\89 ÔÀÑc3\19\9aYJòa\8aíh§@
+\fæ\8f¾\1cxJsÌ\a\eku\88©9Y[\9f¬ÍK¾Jõ-ò;¾\11êêÛzs¿ÆÖÑ\8b\96\ 1\1fI\8e\ 3K;M\e§JÎåI\95­þ7zYÖiyWðµåVyVÅ#\9f\9aÅ\97Å_\1a"0·endstream
+endobj
+1350 0 obj<</Type/Page/Parent 1119 0 R/Contents 1351 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1351 0 obj<</Filter/FlateDecode/Length 1400      >>stream
+x\ 1\9dWio\e7\10ýî_1\ 5
+H\ 6¬Õ}X@?$iÜ
+p\r'Q\90\ 2QPp/\89ÕîR!¹Qôïû\86»²®]Û¨lËö\92sðÍ\9b7Ô÷«.uðÕ¥q\8fú#
+Ò«\8eסáhèMh0\19ãï\1e~tD1\16&\13:¼é%þéÐ`xëuip{ë\8d©ÛÇ[¹\17\86x\86\15çd4>Ya\9fÃñÈëSw2د¼\9dsldóô\86\10í»[êuh\1e#ÉÑxBóЭãIÐ|\14Æ\84>ýµûôá\9e6I¾\94Ùõüß+6é\8e\v\93V\7fàõ`Ô|\9bË$\94Ù²Ø0 n·ÜÐ\e{#Þ0Wäó\1e²«¨tvC:/=\ eK\83&¥b\1d\91/³ö&ôÿIwæ{â\19uêµI2sn\8aÇ@×\ 5k\1a\95ë j\9fo\ e¥\8e\ 2«ô\8eTLF¤¾ P\1a«¥\9f[©2\8f÷w¨Õ\ey\ 3Nô!úio(P\9b\1d\1d§@V\91Èv\94¨@°\19íTN[\91Y\8ff\ 4o*[&;\14'Pi\1ae!R4V$  !i9á_\1f?¾¿\9býÝN¤OJ\97AQQ\a_;7\9aWÚ.¿ò\b§0»äÞ©,\96Ë\?\8bôJ\9a\12aJD°6dT\1aÑR©\90B\15äHϺ#Ü "\96V\11\18\ 5\v·É¬\94ælc5=\83åM\18\92p¨Ç*IÔ\96\ f\ 6HPÍ\ 2ïC\ 57\ 5m|\84\ 6\10Åê\9e\10Mú!´\14~\82\90\ eBMÅ\86C\11\vpÊ3;\97Nû®C·Ì«®7è÷P2t\11~£h§1é7úª\90\99n\15¬5ßJ<¦í}ùÚV\9d0l*CÀ"c\19ésÛÓLZûØc\97\ 33\e\84\ eDF~ä¸Â$\ 3\94D®£\e\12\ 6üÁ\13ü\ 6)B\15\99¬aÁ5ð$\8ch+íÊ!|ðf\98³î(å     ðà\9c;Ųã[\16DÎâ@\\9aÅ.¾ÙD\81\8cw\94æ\89\95\eÀ\7fØb\14áèZÂ\145i\9cBÙ¸qæ"Á®,\8a\9Ñ,{Þ\82\ 1¹\89ÐOq\f\1ae Î\13\8cæ\17\ 6À É\9d#\12R\eþÃP\89ÕRþ\88¸£uî\8eoJ
+P,\v\9e°d|]&Ê\17É72hæ}ÛÖ\13â\90ÇÔ\89\b­\94±Tõj\15K\99HQ 0\8a\ 5\102Lí\ 6s%a»Fy\92\99Ùvá\9c1Û*ý\84NÝ>`¥«r Öid§\ 2/F\r\85\15¾\0üç¯ÿåmÃ\9d_õ:õÖïwFõp !\94¬öÕ¢\aÀÌ\9cæ\92\16\9bÑìVÈ\8c\e\85á1E»\8dJQ¿l·/o>>Ì\1eþ\98\92\91 »s´\87\9fb¥Ý\83¢ä\ emV6\88\7fÄ\8a|É®\82ÝP½\1c\93É\8d\1e\97X!jG<?¥¤\8e\ eª2h~¡\82.y\ 4\10\96§\1a\82ò ñhÎb\8co\9cÒ\806\9c\87`
+CÂí\ eú\v-À°ØÊ$aÑ\88åÏ\8b\16\9cQí»½\8a\1e5\15ãéZ\9eó\86\90ä)b»\93\ 3\9c5~@\8fÂ\10±\8b\1ddw\eXYpû`T\82°\12Ø\1cKmìâú\ 5Ñ=j\83D-1\12­DqË\10Ç\1ch!#»hÞ.®ë\99Ã\1ebð¢ÚÅk<¬e°®wñ\1a\ fÌ#\8cL\b\85\89ìE*¯öÀª\16¬D¶\ 4;O\8eój\ fi\8e\1cª\¼Æ\ 3Ó\9eÕ¬ª\12\ 4¥Á\ 4\86k½hö\86ÃÅ5\1eä\99üéèËVõ\15
+U\8a>­öZé÷a\8e\11çlö\9d¸\11Ð\18åf;7×¥Lb\82<\93~Eî\88±7¨Ï<Î\93¤\ 6\91
+\97wØMn;t\8a\9d×;^ñÅ
+÷ËjP*|\7ff¨Ù\8a\8d6®ê}ó\8ePc2V:?öí\8aøûÓ-·0bç´hFË)5þ\9c6^j½\8cL åÆ]F !GÝ{\1c©$Ì[a\83U1\9d!~\90;Bó\a\89ä\v\0«\1cmW\98çèh|bXb­þ\90\e­Ü\90wÙ^(GEèG>\16êR\1aÖ{\16A\80\eVd\82\17á+\ fõ\89kùæÓ»Ù\8cJR\11\ fØú\b\18økÜñË\9b\8c\93ÞçaûrlàZ\82\95¢\94N\85baz=|¾¿wc\f\9f\1d\9e«Y\9e­3µEÕ\8a\19t\15À\9d\1að©Úw\93ó!ÛÇ\9dÖÝp\1e«?ú\rF\13o4ìá³"nAÝÎ\84ݼ\9f_}¸ú\ fÌ,|\8aendstream
+endobj
+1352 0 obj<</Type/Page/Parent 1119 0 R/Contents 1353 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1353 0 obj<</Filter/FlateDecode/Length 1020      >>stream
+x\ 1\9dVÑnâ:\10}ç+æ-T")      $\84¾\u·ËU¥n÷® \ fWBºr\13\87xëØlì@ùû;6¡\ 4H¨´­J   ñ\9c9sfæ\90ß=\1f\86øëÃ$\80Q\ 4\ezq\fÇ\97r\85\17C\bÇ#o
+á$òFà\87\87\92B\86\87\87\18þñR\1f\1eÇ\81\17Â8\9e``\80\7f\87£0
+b\8cl¹áÇ\11Â\9fÝø²èÝÎ\860\85E\ 6¾7\1e\ 5\10!d\18Å°HmÒ!,\92>K©Ð,c´¼+*±¢)¤\8cpH$¯
+\ 1\8d\1f\176¤LrR.ûA\18.oÀ\85¿n\16¿zCp}¬\17A\9bX\15K[0\ ep.0¡\97ý©Ey\11ì\1d*EKx|\80e\1f#\977ÝÀ«?\ 1^\95²Z#6\ 6_ö$TW\82\16\ 1\9e\17{âóÇ\87+\8cmò.ØvÔ=ák¨\9c\88\82\bX\13¥Z\84nA¥")wk\8d\rn\84ne\99v3\17º\vß4òj\8e:t{\ 5}Í      ë, \rÝ\ 6hú¾gu\9d:I\12\8dº\b\96a>\99?¤j\e\9f\12Mºµ¨Ä\9b\90[\ 1£\16µ\8d\16\8d\81®\8fvcq¹\92\ 2÷lÓÖºS¬++\96˪TÀ©ø\9cÑ\15\94C]áç(\9fÖuÀB#¼°\8fn\8dngcð}ãRîÞ¦Ü`bí
+\1dåÛ\ 6Ý©"\9cï\ 6°\93\15$fä+\rÄd@\r\97ý;ô\10\92it\ f\9dS\10¤  3 $Ék\12\ 3Øæ\f¯\14êÅSPk\9a°lgO×,µ\84j\8dݧ\87\8e\8d¼ÀØÙ6Gmí\1d&V6@\93WN=ø·fB¸\92\1f\80BêÜ\9c{¥ø/=à#G×¼\17ö\ 33b\90\95²°WhºHhË8\a\f>KþJkR©gîÜΦàO\8cHè·£±76\ 4_\94Ix¹\16
+d      Ç}7\1e\96£Ø\88\83:G\ 6ç\11\14î\89\1d\ e¥Jp®È\8aZ\8a¸\18\96\14\ 3Èå\96nhyl\8c9\8c¥\16wu)A´§ù\98ÙÞm­þ\9c½á)T\1c\ f·Â*ªÁi|+5ܪî¨\ 3\ 4\ 5n\9e95*çLJÌæ<¿<=98.[¦q\ e´-îw%5Uf~Îà,¯¦õ9\86qs¾Ìûzz\8cÉ \91Õ#r\96º¥BÛN#þ©:F\8fË\96©\ 1\18=Lºf½í\ 4¯\16éÁ"g
+\98:ch S\9a\91\8aëîAû\9bjm
+\14R¸uÙ§£l\17à·Ï\97Ƽ°\96J1Ü\1f£eN6¸¬\12\17\19\87ßBáW\81¥\82\eòJP\vÓ\93\82¼\99¬JâR;¨³ÒDhç\À\99\19öwR¬9=Îâù\14e\15çÖ\1cöômCí\9cÞÎÂÚ}úðõÇó×ûŲ?c¥Òÿ\99ã\ 3\a\9cÁ¼*íÅþÑá´Âº\89?p\rÎSâʽ!cÍ\90øÇäbí\17iÍl^jW#Ïé~\13¿ïæ?\9f \95IU %ZTÈ°òBâã!îȪ2;kE*«D«º\99q]\9c\1fáÓd<\82Ð÷½ 
+ÍÖÏï¿\7f¹\87\7f\8bâwåC\13Ù°q\ f!îd\88Ï\90\7fä6ã(ö¢0@ÏÂx\7f85¸ß\16½\9f½ÿ\ 1³U`;endstream
+endobj
+1354 0 obj<</Type/Page/Parent 1119 0 R/Contents 1355 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1355 0 obj<</Filter/FlateDecode/Length 458       >>stream
+x\ 1\8dSMo\9b@\10½ó+Þ\91H1_Æàø\18)9µR+Qµ\87HÑÂ.ö¶À\92ýP\92\7fßYÀ\89íä\10!V\88y3óÞ\9bÙ§ EBO\8a2ú@Ó\aI\94`SÞÐ\99oK:3zµ@;\ 5ò"\8f²ËÀm\15Ä÷7È\12T-Õ*Ê-*\ eª\93Ð\9f&üÁ\8cá5þ|ÿ\86±s{9\U\7f§\84´\9c\13Vk_´âá­\93\1d\97Ã~\ 6äHÓ\ 5\90\95\ 1ÕA\1aô\8a»N\10§''µ0èdýÒw\19¬B- \acY×  \1eù*     VY\11åS.\85}}\8c¼~¤\84kh7ìæV\9b¥U\88\9eý\13¨å\10/¨È¨s6!u\80=\bpjÞX¥_1\ 3ÈÄ\89nh\94Ó\8d\88/Ò&:Þ¦SÕ\13±_\86íÅ9ÚÓ~\93,à<\ 2ª=R\a¹0jaí+\8cÕLî\ f¶Uú\99i\1e¡R\10/£Ò\16\9cYvM¹â\83HÒ&¸´XMm©Yº\9e\a0Ïg\17;£c²56¬¯Ù\89\15»Vvb`ý\ 5Ý\10\ fáóAø-Yâ\9e¡7Éc=qÿíc~H£³³\81Ä\8fÌ|¸òÚÏ\a%û¯*\90ËN}\813ÉEã´\16\83]\91\ 3ç\8e\87øí\ 5,T\8e~|*\87$hÁø»\86\1elà§Õ\8fBÉe9,³ß¾/t^nüN~z5òb\e\15\9b\8cn\12!Ò4ñ\9cîªàgð\1f\18\84\13Vendstream
+endobj
+1356 0 obj<</Type/Page/Parent 1119 0 R/Contents 1357 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1357 0 obj<</Filter/FlateDecode/Length 1144      >>stream
+x\ 1\85V]oÛ6\14}ϯ¸\8f)\10K\96ü\99\ 1}è°ºÈÃ\ 6löº\ eëPÐ\14\91D\95\94âøß÷\\92\8a5\17C\12ÀQÄûyî¹\87þv\93Ñ\14¿\19­r\9a-IÖ7Ód½¦Ë\87\9f)ͳy2£ùz\85çå*Y\91UTÂv
\97\8fh;[äÉ}´Ía?\98\9e%\8bë\83\9fw7éæ\9eò)íJT²\­iWø x#o·\9d\90\8fb_)ú¸ÙRm\8a¾RîÍî«wÊVÁi2\9b'9Ün\1f\9aÎÂDvÚ4$\9a\82¤iJ}è­à7ÁmNY\16ÝòU²d·­n¤"'ê½ Y2½\8b\8f®o[c;Gn\ÄçÛ\8fÚv½¨h£QÖöì:U\7f~3Ô\96ÐÖÇi\85\91\12ò\b\ 4¾õÊuÔ\19.aJ\93l\16ê\15R*ç¨;*ê\eýL%Gt>"^ÚÞ\9fTF\14ª\18÷\9fÐî¨\1dÉ£h;eÑä\93²\8eDUyû\b\12\9eE\87³ZÑIwÇ«Ì\9c24ìLoÑ=£eU©¬\ 2\16\90cWõ\8c\f\r\9a\8dQ\93\18'_&s\86îoÓS-Ît\14O\8aZk0©Ú{#qËÝ \91S\83÷\1d         y\14\16ýTzo\85ÕÈ\85\7f¹N6/|\1d\95n\1eñ¨\e*téKê®Ê?\89³#Ìøå<¢æ\18\1au&Ù[4ÒU±°½R\ru\18\ 1'8\bÝ`\18\1f~û3E¢þÙ§|øãáÓuo;C=jg¨Fä»#i\95è\80\84\9c®u%,CƦ¦Q´W\959ùRH×Ì!ÑtÔ
++jÅ\ 3Ãì`É-¥\9bE¤ã-=\95hiÿUIßlº\19\11uàË%Äé¨A¬ºG#­Ñ\88\1e³«g!9Uwl\90\8cLékú\ fäç\98\ 5Xm\8cÅ\84EÝVê\8e#Tæài\14xy\85\99\9f\98\17¨ÂÀ\b\10F\9e%\86¼×ÍO¡\9d)ÝóreÉ|\96Ó$_$kü\ 5O(üü#úBwÿ\ e\91¡3£ÃhCL\86\1aÓ£·ô\8eÍ1´´\10\9dÀ´\91°3öü\8a\ fgïô\8aé\ 5tv`Ç´3©¯2qæò&v\8a\ 4<Y\14ì\ 5ë-\9d\83TñÂÿO§{kNîÊü2ùÉ\0ãÊà   \18Aîa\97üÚ`\f~O<ñl\ 1náéì\8f\«¤.µ*®i½é-\8c,\15\f³×F^&.]7\871Ù©\ 4C\82 IÑ\80×xÑcüXMN\19N~QOà{Ë\1aô¡×\85ò  YÔÇúìÕâ¡\91UÏbv-ä8eõ\9f̦A\91ý\0\18é\v\188Í¡÷Åí;Þ806\ 6aÞzó \9e\83¤\86e\84\962§K!u¥»sXÉÒTXOî\94\8böí\a\11\82éA\15\9eÉ\17ä#\81ý
+qE\13\1eç2\99.\17\\f.\98\ 6\9cL\víâãÀ\8f\17\93\17ÖrºÆ¥A>R«jèö\ fÖþ
+`ÃTVÆ)\98ñ"§}â\98Ê#\90\v¸\0^\8fÚ@\92Y>ìZäj0\e©È\0_<\9f`k¡Â\8f\ 3\90Ð\83¿\8eÐIÏ)Ñ\9cq%qN\92\9c4>0~H\8dÂu\81{'HuP\ 4î¤\18$h\94\9e¡\8a\ 5\ 5V_%
+Ö&è2\8f¡P\15\a¢nÃý\8bȦåûÛE\8dY\8enðx\ra\8d¿Ä¼_X\8c¬j\8dÓ\83T\H\84ï8/\15m\1e>ýú>\804D\9c\8cϯc>*´mUÔí\ 1×±Ç(â:Öè#\82Õù*|Ó\18\7f\93\18oÁ|¹N\96\8b\1c;\0ReYÆu½ßÝü~ó\1d\89\15ìtendstream
+endobj
+1358 0 obj<</Type/Page/Parent 1119 0 R/Contents 1359 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 729 0 R>>endobj
+1359 0 obj<</Filter/FlateDecode/Length 1255      >>stream
+x\ 1­VMoÛF\10½ëW\f\ 3X\94HY\1fñMiâ"hS¤±\1aô\10 X\91CqcrWÙ]Jf\ eýí}³"\13EÈ¥\80aX¶¸»3oÞ{3Ë/£\94¦øIi\99ÑlAy3\9a&S\9aÏR|Þ¬\96øÌðë\98ʸp3\9d&/~¶\90­\16\93\ 5\ 4O¦ýÇûßFÙ\1c»²Ù2\99SCÙj\95,úo5Ý\8fÒ,YQ\96¦ØÒÐl\86D§/²vöµ\ 1Ödy¶&\88W\19B^\0\19\16\94¦´)Qãbµ¤M\11ñLi\93_\1dJÿÉqÞå5\7fÚjs{`çµ5þùæ3ÎÝôç@Ê8\9d%\19\8e^ݽùçíëÓò\10v|¾~\191Ø6¯\9e.\£\1e½þÊO\17\90\1fóº-\9e>à§B»§CiìÿRæ\ 5¥7"xT\ 6\97âÊpPAÕ\ f\9aÒ8\13O\­iØ@\8d\9a¯)T*ÐQ×5±òL¹\1dó£ö\81MÎdKòªÙ*R¦ø~²Ô5\93¯\94ÓfG\9eÝAçì\13É(y\16' ëâ LP;ö\bÙì\95ã\82\82E6D­Ï\82\9d`ÜÊi\94\ 4i²Â_ Õ\81
+ËÞü\12(G\0R[Ûâ_Ç*Hj KÖû}ͯl»\ 5¤Òº\a\7fM\9f[\1fè\81yïÉ\1a¤×\86|gò\1e_ºH¦\8by\8c\8eâP\ 4Ç\rÍ6É­)¿ç³\0\8f\93?$Ð\81\eÙ]é\ 2U8:0*ªAÖ5\ 1jäp\v\94E\81ZU\el\ 3\9c¹ªëî¤\ 6\ 4\83\b\10¬/t6\1f
+ýpwßëáI\1d\94®\95ÔõçcÅî·QLÌ\13\10´©´\87\ 2y@;\83æ\b\19\11\9e¡\ 3d²-¨\0ó\8eÎ\13Eá+u`Ú2\eÚ[\88\16\f\176RÞ:Ç&Ô\1d¦¢GÅ\ 3\81ý\8c\0\ f"æ}ôǯ\1fî)8\8e\1a\bë8¢<0Ù\0ë\9cR\7f¼âd\97\b\8cÕNô\8a!\1a\10-d\ 3\1fø\8c\88¤.¬
+d{4\84ð\17Ù%ÙÇç\97¦ûÓ\92\87ÿ¹á\0\1a¢[\ 4#\9emu­C'1ËÖD¾T| L×3\ f\16Î\84\82ºÙ×\1a\\14-\v"\8d`{p\10[Bô\88i'wC\ 3B\90¡ý^¡ù¶h£»\88÷ûpýÖ\80\7f¿ÿã\96ª\10ö·\93ÉñxLrï\93 ºÚº6á¢\9düËøW7ì&E\1fªô\13m
+~LöÕ¾'aè±\97\1d½v:§?NG.Ùxsâ2ö\8b8òL}:V:¯b¡ Ë\b[T*í ¶tkÍ!JX\8c­Á#ixßÁ\1eMBoBÏE\88÷\a
+\e.\rm ¨X\1eº\97Î6\b9Ô@*&ø\16F\9aH\9dxW.\ e\97\1dC~\94rT\9dP\8e¦±G*tY\82n\ 3GödxYÜ^Z±õ(ïã\15XØi#ýF\ 5\1c»3x*\1e³n§\8cþ*\rñöÝÌS\v:\1d\82ãN\f8\83\11áq}    Ægk\17ÐÎþú\19=»·Øÿ;wGë
+yÀ!O\12Ô\7faÄhW¯eZ*Ì"±\r,.%Àv¸s\0ÞIg!a_\ 3Æ\86ë¤\ 3tÝÁ´\81C\a0\1d\ e¹6\ f­\8c\ 2>    xjµ!À\ 5\ 2Ø\93ë2²(f?\rTjÔ\ 3
+3Àá}ÛìE\95ó\96\18b\9dåÛrg1æ%\ 6L\8cù\83:\1c\7fiÁS¤ÝµæÒaktOÉ\lUþ@Ç¡}À\ 3¨ÕèÃâVì\14\rv\r\92\r"\90kÚ«\90W\8ci=ÐZ\ 2k¨D#\19{×TÙ=\97­h   \18\8dÞUá¢ì½ÃuI\90\1e»¢ÌÞ6,£GÎÃß\16\ 3Ù#\85hqj\ 1HrÐ.´
+û¿Y±ïåUÿ\16\94.ð*¸\9aÑ"\9d\99ÌØûõÛ\97kzçìgØ\85^Ù¼\95z¢Í\ 5Ñx81^N_Èþá\82\95Å\9b\ 5^üæ\19ÞÉ°\90¦\99<{½\19ý5ú\ f>\ 6Dtendstream
+endobj
+1360 0 obj<</Type/Page/Parent 1119 0 R/Contents 1361 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 732 0 R>>endobj
+1361 0 obj<</Filter/FlateDecode/Length 395       >>stream
+x\ 1]QÁr\9b0\10½ó\15ïèÌ\ 4\81\0Ë8·dÚô\92N[\9bvzÈE\96EQj\10\95\84iþ¾+ìf:\1dXiÙyû\1eo÷WÂ\91Óñ)P
+¨>ÉYN\95·c÷!)Ö\8c\ 5ËÑ\83\vN÷åë\84}\84c½-Y\85ªÞP^P8\8d6yh\92ìq\v^¡iIAÔ\94\1c\17â\1c\8dZ\9d½\92ÃMóB 
+\9c_@i±!Ðêëîé\ e]\bã]\96ÍóÌì¨\a9\ 4s6nò̺\1fYlÌ\91\16\82t©ÁËþ Ó\85\12ÆCbtÖ¶)½Ê\ eJ\8f\ 1½=N'ú-ë°\8fà[Ì\9dQ\1d&¯=B§ñíq\8fç\15)\84I\9eÐ\1a\ 2ûW\1ftÿ|\83VË09\ 2Úö*ÌKVDá\85\8b<\17ìwV\92sy\1a\9dáS\ve\89ûö¢\86N\92\8aÅAS¹\1f\89ü\88Ù\84nQõÓ8Z\17\18þuq-úÿôÎÒ\19âÅ2     Ä\11\ eÚ\91áá\18}÷Ò\f\81\82Ø\ f¯ØÅÌáÉ\f?ÙeÐõuÐ\Цê\12<¯X½Ø¸ÿøp\8fÏξh\15ðΪ©×Ä\14\8c]V\94þmH7ù6âß\96W\89\9a\89uAû¥*çeÔyß$_\92\ 5®\7fendstream
+endobj
+1362 0 obj<</Type/Page/Parent 1119 0 R/Contents 1363 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 745 0 R>>endobj
+1363 0 obj<</Filter/FlateDecode/Length 1992      >>stream
+x\ 1\9dW]oÛF\16}÷¯¸ðKe@¢D}Xò\ 2}pã¦k m¼±ÚôA/#r(Í\9aä°3¤\15ýû=÷\ e)ÑJR`\8b A¨ù¸_ç\9es篫\98\13ÓrJ³[J\8a«I4Á/§\7f>ýru·\8c\16´\98.¢)\154\8dgÑ]û\95ÓóU¼\88ù;\9eF\13¬ÎâÅé\8b\93è\96æ«\ 5þ-h5Á\rá\83×z\9f\ 5Å3\98ì-.fQLóøN\ eÆw\vx\10¾Äæ2\8e\964\9fÜFsñh\11ÍÚ/^å\8b\19Öæ«%þÏ\9e9MÙU\foV4\9bÅ\12\8aa"|É¥½o\849eÓçÕþ7Vg«·«½o¬ÞNàîùìOë«ñû;\9aNh\9d!×·Ë\15­SI1~I\ 6ϵu¦Üѳ*¶ê\aO¿{íÆ¿ªdoJM÷Ib\9b²¾Yÿ÷jB£é\1c'\a¦Ì¬+TmlI¦$UÒ\87\87û'z0N'¸ëÈ\9bÙ`¼\f\ 6G³9"ÆÁ§ÆUÖë°>§8nקKD\83õõÞxJmÒ\14º¬)Õ>qf«=íí\81jK\8d×'cig\8cà\vù~\b¼Ï\91
+\8eÃÁ\93³m\10\0\90xS;\95\1a\ eBåùQ®Ð)ÇSï5ùb[)ï\ féf°ØÜPfr\1dÑcMð\ f?ÿ\14ÛT-{\9dV)\eÌù?GÚ+ì¡­ò&¡¦Ä\8a¯U\99r\82mvá\81¤-±e¢«\1a\87Ê´=|°î\85\ f\9c\83DD¯=\e¦Ä¥y®Ó\88Þ#üÂ\ 2_½@       \85á»/Ì)\87\9aÖ¨Qã\90T6×\95Ìh?¤*×
+\19v:\83\9bó\90Ù<·\aöÅã¤\8føF´éhÊÐGÅ>Vº\94(F´¯ëê_ãñáp\88,~ÍSUEÖíÆ|dü>i«=ZF+ny\9cÝLo\97\14V;,Èâ¨+\90yÊU©ë\93\97Gz\ ei8\193\95ì\88°Ë'ªÒQb\8bñ)kÿ\8fåÑt\15ÅwçÀ~³µ\ e%þøÃ'm\18!OÍ67\1e]±c\18t5Bª\15í\1a\93\r\8dÀ\88|>úZ\17t\9f\16¦4\1eP\ 3Bqho\92}[dv½Ô);\89Îêbv:T!U°o3ÒÊ18\9b¢Ðn\88\16\9e\ 6Ü\8bm Ö\aK*í\90\1cº\18Eô¶q   Ê\1cL\16êH\95³¯âäVÓ^çUÖä¤\9ctc¿¤k\94]¨`ôôðnÄÅ\1dýûãçõG*\94)kü\ 5ö·GzÜ\95*1\96ÞÙ¦Òª\11¯þY\99Ùàok*Ì\ eYbNá¶ç\86È\9c-èñáçû\ f\7f\86RÀ[Ú!#Ü}\16þ\94j§¥Û\ 3\9aw\ e¾p\aû\ 6YV\9cÙQ/µ!(Aë\83å`à{Y; \1cxG\17ff×\ 4\ f¾\19LW¡\1el;\8aëÀ3oyì\91¯M\9b\84£y\vp®[Gv}ú\19¢Nº<yÁ\18»Öeâ\8eUMBDÖ¥\9e~¤£ö×\1caÇÕávè§Pé\0´\85\16(\85gÆï»®\1a\b\7f\rßðâ\ 5ìúä\11²çe{©
+=¤\ f¿\8eQ Î\ fÆï^\b\83\19\12\8eQ²W%*Q\9b\82\7ffbéØ7ËÕ\ eü­\0¼­Ö\92\8c^E\98¶Ï\9cûu,=
+~\9bÆ\10QD\80\ e Á°ð\1aü¨rP¦Wé«\ 2Pw\0¿°\18sv\ 5ðCÑ\82X0\93ÑÁÔ{Â\99#åÊí¤\vz\9e\95\ 5ss\a²\9a\fD\aÏÞÖ{Ûx\84ê77\ 2\97Ë\16Ê\f\88\9f\89Bt\ 2dM¹µ/Må©h°\80\1e¬´ciÂ\95^ÿÕ@ñ\f\vQD¿\98W@¡\93\976>\89à\8b\81êjðA}°\17\ 5ì.Ç¥PPAwnwh¦ÍÀBÆ\99\92\14\95,Û9ÌyÏ}\ 6¤\94P\ 3i9é\18f\v\98.`\8c\11\88\ 3\1a\96ÜË\85­ÔÁCÂ\8d\15æ\86Z»ÍÍ\10î"TÎt\17\96\82ªÑÖÖu®aäE<@¦u§$ô\99õ\13'J­SN+÷0 \9dê/\81\14û­{ª_\87MìF]D®Á\94
+jÛ\8aÓ%\ 5Íx\8cú;±YL1\93ÉìÁ BJR&Êm\ eò\86\91P¼K\12·<\9b`\0\11\1arºÊMÂt­Îc\83t\9c\90\14K3n)¡É\ 2²~XÒÅ°*Ú~`(ç:ÃP\11F\1dý\ 5¹Åp\82o\9bû\96Ô|h\84E×ñäü±L6\83xssÙ"\0çåfï÷ßÛJ\aÇ\92\97\0\9c\18¢\10#\ 6øe_´ÔüM\82ì\ 4©G\90\1d\ 3\ 5]ïjq\8f\1cgFÆ.\ 6\ e\12\8cÉÍÖç¡ \(Â\99&\90ÆÓdFè\18î^\rr\ 1\8a,9\v¹\0Ð/ÐÚÓFU×\18(\enÿ\ eH
+Ãe¡Ï\93\16Æ \8eÕô\97Ê´\8aÄÌ6dÄ\83eXï?é\1cR\85&xL¹o3ó\95\8eo\ 6\9f\1e\1fZj¸Ääß$ªS\92\ e\95÷ÜQ\10ó&\97ô Y\98ÐRLh\89\81<ÈئÂø\aÌ2¯\14Z\95B[ÝH\1c\86ásàÒ6Ðoä1¥\ 3\14\98ØR)j\8f\ 3Y\97ï\9f\1eÛ       \ 2F!ýp'ÁT!Ì\1an\ ec¶ô>\86¯Â\96 '\19!Ûö\80\ 5.±WEºEy\ 1éL\81\196\83ÊéW\ 3\88åò^èÙ\15*aÏ\12\19qå8\17\ 5çáNÐ\17A\ 5¦2ò\96X£N\83û»?\9e©vZ3-Óc+\94x\82M£Ù\10\88Q\18áx\98mªÊº:Ðâ\ 5^\82§[\95¼hàt3ÐÑ.jÇÔi×u£\11ËÇ\88g\l¿l<à$üt¹¿N·_oÇóÂ\81ÿA'\88Ø\16\15\9e\1a¢¤\9d\93]Y:Ô|\ e\83\ 2oäP\9eùÕÆ\94aÊ$ox
+E¶¿mþ;¶<4\90­X\v\86\ 1\1a\9b\81è¸÷61 7¦:°\10\9c= í\97)c\1d\17Ý\ f2ôfÒ\04ÎoÄÓl.ÅÁ\83)7õñ¬\1e¢Çx\85@áÀ\81§Ç\136gt´M7®öÀ\82\8c¡å¡\0È\9aHzãEºúDÁ¯7De\8a\89Á\e\0¼>\11Éu8x-\93áÉA\19³X¶\91Ï\90ÎU[}XÇcATå¹ÿîüÎÓù\r§õRѽ½\ 4þó[ܸ\98\86\87Q\1cÏÙâÏë«ÿ\ý\ frsL\90endstream
+endobj
+1364 0 obj<</Type/Page/Parent 1119 0 R/Contents 1365 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 754 0 R>>endobj
+1365 0 obj<</Filter/FlateDecode/Length 1974      >>stream
+x\ 1\95X[Sã¸\12~çWôÃT\11ª\88\13;Wöi³d\98å\1c`8$ÔîVåE±\95D\83my-\99LþýùZ²s[fª\96\90\10ÛR÷×·¯[ü}\11R\17¯\90F\11õ\86\14g\17Ý \8b\8f\97/\17Q\18\ 5=\1a\fGAD\19õºãাJiÆëiÐïãY\7f<Â÷\bïRÒê"\1av±­?\88\82>o\e\ fñÀ_ñ¶~·\1f\f÷Oûã^0>zÊBûý\88W\9c
\ 6ã1Ð5\1få\9a¡R4
+\83°^:\1a\a\ 3\ f ¼¹\ 1ª(¼Á\8d\f\0â¯jÜÇvÖ\92\ 6!c>ÕùÛü¢sק0¤ù
\1a\8eG4O\9c\8bº4\8f[\89\8e«LæVX¥óàjþí¢Kíh\beó¤5ßH8Cð\9bVrK\85V¹5d5\19[JcH,uei»\11\96ìF\12oïÜEµ²V»½UvÓN\13Q\18\91ù\87\r\92\16%Z\1aʵ¥¢Ôï*\91\ 1A\1d=L'Ïdª¢Ð¥­Ñ\84=8\ 2hJ¹\92e)\13Ö¯r§Ðn\94\81 #\13\ ebU\1e§U"\7fa)H\8e½Q\13ʤÈ\ré\15\1cmK%ßU¾¦ÊÈ\92D\1cë*·\90¾Òeæ\B«Rg$rúCå\89Þ\1a\8aºÈ°IlÕ»¤©*elu¹#ì~\97¥ó_ç.®\1dÐ\1e\ 5cÎP`_DÃQí\9eÆ\ 3îa»1î\ 4U\91\8a\98Au¤\8d;\850f\9bü+Ñíh\1c\847\a\93Ù±FÆ:OHY\99Q\f{\96\b*ÌÍ\8aT\99\r\9cºÜÁ\a¬ÔEài6\83Ñ   =O\1e)ÓI\95J\13ÐÃ\97ç\a\82\99\ 6©âü\87\98\ey\16¥T-K\ 1¯\9aF\8b^Z¡rhp\9e|\9eL\1fh¦WvËiµhm¬-~ét¶ÛmP\88$\r\80¨³¸
+èw½\95PuíÂ\9cH\88H\9dJ\18±Rëª\ 4Ò3Å\ e\f\15"~\13khgñK¹c\9bñ\84\vÉ1?I\99Ú«7\14¢*¸<Ú½¾Oý\99OAÀvþ\98¹ø\1aVy\Míh\84\95R§®È\92%Å:\91\9c£QÀä³\11\ 6PdN   LJ\81#q¾µÒX|õ^g\8c_\v\99;mÌB>£ÜÂ8U¨Ð3s÷~öu\83\ 2\93^­Ùè*E<\11ße*¹X¶º|#.Ez\92ÖÄ¢\90\97æ(w½mG\9ah6ýï!\ 2gz\93ÊÉD\86¾9wÂ\bÎ\1a£i%|¸jÊ\05°ï5#á<S\0\83úÕ%b\83\aËj\8d\94\9as\ 6Q\r\99É\0\8b7¢tûVê{@÷«3ý;]¹ØB!W8gÖ5\15©\14\90\83ͦ\82z(E\ 1#Ãàè4ENØ\18zø6Ü´\14íúƯî*Ð`OFô\rèv\87{?É\r\84Ûó"SG\13
+\96Ïa|¹»¥¨×\1d\81.\8dú>ñ\9còÃÌ\991¢:QjÊ\ 2R\88Ée\f\8a\15L.^ß\8a=\b»Nó\ 4Yæe£\ f:\8eoÉï\ 2U-M\87s©ãmô"NA´\9c\85Èù\86\83\16­'má=Oç`ÖcÅû$\ 6\1d¨\95\82-b^\8d°~/d©\\eI\eòFt\94UpÿÎÅ        L\fòñ\15\11q\81#òg\91uHkw\91^~\ 3µÆ)È\8f\80d\rºÍ\89Û\91ãóÎ]\97n¸bàß\8b@t\83`\8c¿(Äã}\8b\16\9e÷\820\18àÝÇ{\14\ e\a¨H¼èiòø\99.\8fU^Òìõ\191,h6\7f\9d¿¾L\1e\1a\84èÙ,\9cøgúyvK\97>l5ÚË\8fÖ=¾Îæ 8ªTB\9f¨ÄçâêÃu\93¿\88×Å9\96¥Ù3Ó½Fæ~¢Ü\1e]\14ÛäA\18;\93\96\97éµÎçð8}úH¤ÃInÕjå\97Ñ\9b\8aßôþ
+ÒnE~»\11ù\1a2\b\97\8f\95±ûkt\ 6{\97\8aµù©üD\19tªÝ\13SÏ'2Ùòwí¾mðgZr\83ÄݸT\ 5ì\0ù@M©9\89ýÕO\80'ÒoC\9fÁ.nÍ\7f\80Â\8c\1fR\80        \82T\86ÊøRꪸ\9fâF¢34\19xØûøÀÑí&CF.Sjª>.
+ruµOoßù\99\98ÏKÍ\13í×û)Ø\93»\8bÞrWCßä\12ðù0\97\82\87\85¤±­\9e\Àÿ¦\8a7\9cÈ©\\8b\94\99\ 2\\85N\90£<\8ajé{0³\1d1¿Ù\12\ 3
+\88ÅWW]\85~\ f\9c\91\9cr9Mg\r\ 1\9e©5Õ2S~2;\14í\11\97\0\96ðäÈ\80Îè¯\96Õ\8c\82ÿAz\106°­\88´\1fJ¼ë`U\86\89\8ae\18\fCÜø¼\139|Û\8d\82á<Ð¥\92        \82Ur@áCÖÀ\85\ÓÖÑ°ã\9f4\83R\8b°¯Ü]£Ç\9c\19\bÍ\ e\ fSè)q8D0\1d\90öªÝÚקû?\1d\80\8f\86½\80&¾C4 @\9cÂ<¢ËS\9a8¤\ë\84¼¸OÙf\16rþa\1eL\14FÞªfG\a,ifÉCçåûu35<\f!q@¼iâÆ\90\8b\96\fÖ\ 1\13Íâªv¸ÆòT\14>SØGǽè\ 4\1f\ 6x×D\99\9cѹ¸qq¢Ãrü"¹Q\8b\8f\93Á}Nà(\8cÌû s£åÀ~äWÐ\9bó;wYW(À     u\8ckoö5» *\ fm\ f¢!\90W\9d\85ÝUo\13"\96ù#ãÐó¡\ 6ÃÇRåþ\80s\98+\91Ä\H@\8d\ 1\ 6\9f~Lu\98|~\9e\ 6|p@xWÂí\ 2=å   \8f\1c·äg³\1d¢\9ebj­Ã³\96¶Øæ"[´\16W×$m\80Ù$ð\9d\10fs\ 5q6û\93Ô\99nO.p.¢J\99«Ä\14\11 Xv¢\e\1aydo\14«\1c\14TÁîYU9Î+:ç9-Ö8BÅ6ÝÕAæDäy\1e³Ü\99Òã*ÎÄ\eû\12g5m\8cªÇJ_ì\1cw\8f\ f\1f§'¸\9fÁ]cܳµ£\99¨ùD@ìÑ3\9d?\10ñt?ã¼æi\16ÖæÒº\89\16^sD\891ÃÛ\86\84Á9µ\ 2 ç\10\18P¢c\96Ul1\14Öãܸ¦\9b\10ÿ\10è\8e{4ì\ f\83ñpÀÝ}6yümBÏ¥æÉ\83¦Ç§J\86Ùn¶´G]Ì\1eXÿÃ#B\7f8\ e\86\83È\1fýÂpÀÛ?Ï/þwñ\7fLÂ,\81endstream
+endobj
+1366 0 obj<</Type/Page/Parent 1119 0 R/Contents 1367 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1367 0 obj<</Filter/FlateDecode/Length 1125      >>stream
+x\ 1\9dV]o£F\14}ϯ¸R\1e\18\ 3v°ó\98ì6U¤6»mÜ7KÕ\0c{¶À\90\19XÇÿ¾g`\ 6c\12«Ý%\92c<wîç9÷Þ×\8b\90\ 2ü\85´\88h\16SZ\\ 4þrIÇ\ fµÅK@³ùÒ\9fÑ|¹À÷ðvî\87¤8m \8c×páߺ£xîßõGÐì\aöÃê       \83%\ 4:=\11.·Z\1eV\17ÓÇ;
+\17´ÚÀ\99x\19Ò*kï\ 6´J½O²Ü\88m£D¹¥\17V$\8cö¢ÞÑo\9fï¿^¯¾uWçÝÕÉ,ðc\ö¾T¼4\ 2\94Úˬ\16²ìÄçpÙ\8aG0\99y+I¢Ló&ã¤\9bª\92ª¦\8dTTïðnìݧ©lÊ\9a\8d§5d\89\95Ô[È\84¯R\1dHsõ\9d«\eÚ\b¥kX®\ eF\871\1aÐ$\9cù\911Öjôuºã\ 5\83dΩ\96¤sVeWúÔ[ê5û\9dã&×ÎñØGÈ\99§¤¬/»Ó[{êQZu~;+S^§S\89\8cä\19«¦\9dééû\X\95Ïü­¾é\13b\92pjý$\82S-^\17\10\124¾bâóM-F\17|Z\9dÉ2\84k&JMõ^\12«k%\92¦æÚÜ\1fds¿\13é\8e2\8eà2j*Y\92\84Ç\8a\ 6ùÕ\9d\8d«FdWGE$4®mDÉ3SÐ\91¿©Ô8±ù\e¹\8câg\1fÔõ*\13ºÊÙá\99\15ü¼\9d\ fÒ   C@϶âJËò\8cI\83\13\9f\1e\10\eÉ\8d1®9\15\r@\96pW©l\94\99\84\ 3Ã\0×\8fׯGÛ\9d\ 1[èÏg\11M¢[\7f\89ÿ\80Üå%\8d\0uR\\14'
+;\12BrX\aZ{)\r¨D\ 1\14\7f\9e\8c\92\83)\ 6kòz}íâ@\ f\1c3éø\8cÌ·T\9a\ eT[\r\ 37JÎ3\98\1e2ú§M\8dÐa\0ù\83î\9e«úO¨\1av\94÷¡7e*\8b\82£}Õ;¤<\87a\12\e\86öÌü\8aîc\9b\9eÁÊ\9f\8f\9f¢Y°@­\9e\9f^Ö׶\80£D¡°ã²|X\93\ 1 \aÈðñ\18\9dÓG×\8c'\ eg\8b\16o(ü\13\81Hç¾)_½cuëx\81Æ`\9a\ 3iY\18\ 2d"å\9a@þö½c\b\15\12üh4ß4y~ä½¾A
+þ1\97Zjld\9eË=&\8b\8bÐviþÆ\8a*ç7mz* \aÍ\ 5ý\9d)\80MSÁ0*\8c¹÷Ó!Í\99Ö\10Y{¦MTRk\91ä\aóE¼¹9\82\93\91¹öøW%a\84iÚó<__ÿ\17\réÉÆ\8d
\84\16\8c¨Ó\90býÈÂä\1dI"\87üÍ\ e¸6\ 4°\8d¿Z¡\ 1\91\1cTªäï-¯\11\7fµ/Y±ö> ­Q\88\9e{¤-U\8aë\9b^«c\8cé\12\16\80UæÔ&¬Ú+\91\9dU\8c³\81â^çÀÓ!îM»´\98\89\1aýÖ,\13ç\8arÌÞ .`\90\12\ 5N?\9b]ÁF  ½¼ìR\8a\f<7E\82\91d\9eÞÑcð\9dØöÿ\89¥å êóÚ
+n,þesÔ\19m7¬vMrT\9bE\8ejï6,\13Ì\91\9b\86¸Ý¢\84\ 6Ñ3\86*¦0ëjÌ-2Yeß\99ÈY\82\85Æ\10³HÚq\ f\96\0ýí¾Öé\8cÜ\962\99\98_'f%\ 1\8cN\rzhM&ÓíN\96µ×]z-?Ñ\14*\81^f7BË\95¥U\1eÆØS\973\8aãÀ¿\8b0Æ2ïåþ÷\87{úªd»Â}\96iczb¿\15\95É"håߥäté\9cÇK?¾\8d°­Bw\18Æƽ_V\17\7f\v.Í_aendstream
+endobj
+1368 0 obj<</Type/Page/Parent 1119 0 R/Contents 1369 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 769 0 R>>endobj
+1369 0 obj<</Filter/FlateDecode/Length 1540      >>stream
+x\ 1¥WßoâH\f~ï_a\15Ý\95J%\90\0!\9cÔ\aVÝî\ fm{½\85·ã\1e\86d\80´I&73Y\96ÿþlO\12(b÷´j+\ 1\93\19Û\9fíÏöäß\v\1f\ 6øïÃ$\80a\bq~1ð\ 6ø¤ýøúáb\18z\ 3\b#úÌa<ò¦õ"\83ùÅÑ2\87\r\8fö\9cÜ$ð¢V\8e\17\a¹z/\1ay!\84í\9e\93\eOñac\8f\17\a¹z/\1a{\ 1\84íÞÑ2\87iD8Û=§s\14z£V'/\ e:ë½h\88GÂvÏÉ\r\87h¨ÁÂ\8b\83\½7\99z>\84í\9e\93\v0\8e­\1c/\ erõÞdLöÚ=ߧø\8e§CvÞ\9fø¨Õ­HràE\11æ¦ùÐ\eJ\14\ 4\83Ð\9bÀ(\9aàï!z<\ 4-a}\9aÈú°\8f\81ñëÃ\ 1
+ðÑw\8b\8bþý\b|\1f\16k¢A\18M`\910\v\ 6°\88»Y"J0&»^<ãÁ¸>Ø\9bx\11Ñg\91t\97A8\ 1·Û¨áÍ\9eO\91Ã\ 3N\83Ôߤ~£\12\91äi\ 1IñF5¦Z¯ÓïoT²N3ûf\87J¥í¯àè\ 5\98Á)ô\ 2"3\86\95F\82ÀD&ÒÄ:]É\ 40Bv+Áä+/VÅzÙ\1d/¯!\17\ 5\94b\83g\8b\ 4\8c\82]\9aeP(\v+\894(¥°(¹\95ZzðQí$¦ê\ 6\ 4\18\91\97\99$\80\ 3hÓÙ(\ 6\8c\0rMi¨\10Ã.µ[T\ e_îfO\90¤ZÆVé=ĪÊ\12\10%ZР\8cóu\0S"\9bï\8d\86\ 1ú2ö"üFo:\1dèWF÷3\15\8b¬\8fÆW¢\9f¥«~c±\ 1\82U@ÇÿÞdj%²\7fN\1e\ 3ý\19\19W:µ{¸%tÌ;r¡\96ä#²\88õ¾´\18\16cvJ'\ 6Ïî%CÄ£\81\8fU\88Føh!í*U\ 6
+\91K<µ\98Í?.Þ\7føó\9caÔô²Ñª*ñÜãìëã§Y}ê\95Â\ epQh\99qàK¡Q3Òé¬õ\ e&w\9d\16\92Óz÷\b\88oe\ 1«´HÒbCÏ(é\87À£Ó\98ÄFß+Ç;\80´iÝæ\fÚmj\0Uã'\91Â`î\1c\93\9aÐ{\0_\ 5\902aO\83Ù\81¼2Ì&#ñk\8f\b Ö\15Ês|\13èíê&\11¸ìw1EZÚrGñéß×\9cè^\91+l\9f\1c:\17á\ eC/·Z í\1a²³.ãÙdÅ´D¸\9fÖ\1c\91K\ etÓ8.á\9bȪ6É'a\89·¢ØHs\83\82\18\88\86\17u­H\f\bBãzA\1f½sÐ^ÙB\ 2\ÆÅí\9ch\f\ f¢ÀêÓ7ªº-¥Â¢ºIâ[f8ýPzsy\9e&`J\19§ë=ûµå\12{e`«\8ceB.»È\ fQeÖ\10@*\1eÚZ^ÿ\10¡S\81øÄV¬<Fá!\84ó\bî\ eÜ\9bÏ¿\80*mª
\11ù°½\14XççøwÎv\a\96Ý+µ^_Ý /¬Ð\16lfp\81\1däJ\15W¸[û±¼þ\19x\93!òVþ<è£\82¡\16Kq¡&U³¥\8e£1äIk\95£\17â\ 4$ßÎãwdÂa\88\bTqù\13\94\16\86Ñô<Àã´®\88È'um°_Æ[\8eìqY\9f\83åÆ+\8f4¢Ü¯2l#\v©E\969\8aÕ\19píÉ\81 \82ÂÖD½A½\9c\ 3P7³ú\18BXv\7f_v«4¹ý­ÂTvÕê\19Y\12gØg\1dåg1\8e\85\ 2\19º¼fÚ÷ï§àã­c\8d\1dÚÍ\84\8cÜL¨Ï\1a\1e\\1f¨±\1a\1afXL¹,êÙÙ\;¨mO\Û\9e\19îû(ælá\ f\1c\92N\10ëx«+®(æ~m\ 2\8epÞÀ^U`¶<½r\95P\ 5Ò\13ù=5Ä÷&\fõ\r\87Û\vîhÁÅa\95Ê\98M\89\14\99\9b\8c¯\f kqTWV\9a¦\8b4óüAPÒå\ f\8c¥6ÿJÛ+ØÏÔ\85³ôE\9e¸\7f4ÖS\8bÍ£*O\À
+!\añ«nþ\16\9bÈ1\10¬\1d\81óe½ÆKB\81\15¥¥\ 4µf!®'jE¦\14±üã8vXu'\86\88 .\8fÔùÊL¤Å³âvH]°\ 5\0<D]ÚIä©í\9a?\16¡Io<ø\8c181J\17¡tS!\ 5ÐI\r\8fó9óéiöÀ\ 4Ñ4C±\ 2\90µ¦¢Z¸iZE_Ú¸O\15Æw)êx¬Çå\99.@ËëÓ\1c~*`Î=\1f§»¤Ò\ e¼À\eÒP\91Ω#þ\82Ù\e+sª-ê\ 2   v\15(\95I¿×î{8ªq/\97tm³[akÕ¹x9\8dkeèz\87\19!;¬\83£|Ìj\ fî±×\16jÇ`0\18¨ºPð¸è1c8â\r¢C\8daTÜE\8bBFqíßGõ[\80\1fâ{GDï}x±
+ùF:\9f\9bÁ\93VTóp§â\8aê\94ãE²½F¤7\19à%0éþ\7f}\8fÂÈ\vÇ\81{Ùðý    ©y¿¸øëâ?II?ßendstream
+endobj
+1370 0 obj<</Type/Page/Parent 1119 0 R/Contents 1371 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 772 0 R>>endobj
+1371 0 obj<</Filter/FlateDecode/Length 1748      >>stream
+x\ 1½X]sÛ¶\12}÷¯Øq_\94\8eÄèæ¤ÌøÁu\9a63\8e\93Fê$\9d«>@$(1!\ 1\ 6\0¥èß÷,@J2\93~Ü{;qü!   öìî9»\8b\18Ñ\10ÿF4\1dÓ$¦¤¼\18FC\8a§q4¦«Ù\14¯Çø1\922^ÀÖ㯷?ù­×£YtE%ÅóhJáMA\8b\8b³·%\8d\86WÑìlq\18Íf8©ýe6|,\8dçóèº1z\15G£¯Z=î\1dFó.À\1f\96\17O_\ÑhDË\f>ų)-S\8fxHˤWèD\14´1º®ìêIôdù\ 1Ûç4Â.Þ>\98\91eÚ[Ȥ6¹;\90P)YQ®Åm\92èZ¹ðÄÉÀ`<\8db~b¹\95\88\90À\8fÛkÊËJ\e'\94£JçÊYr\1a®\94²\KCû­T\94æ6©­ÍÕ\86ÜV\92m\rêì\91=\92Ê\99\ZÊ\15ïcó\809\9a 50\9aæF&N\9bCãIÜ8\8e,\ eÆqpåAî¤y\f»\a,|ê\ e`a»(ß\bk÷Ú¤¤\r)w|'\1cv­k'i'\8a\1a 4\8eBH¨VR%æP9\99ÒýóÛ7\80\ fW´j`$\r\8cÁ4\9a\80t5\8e§\14P´ ýâÑ\95¯Â\14E¡÷¤´\1a\88´D\ 4j+\8d\8få.\97ûÿ\ eû?\82Öæu0\9eE£ù)\86\95TµQÚ
+\8b\ f\93B
+CN~v$?Õ9â\84\84a   ´I\10¨µdÌ)§\1f\94\0\ 4ÂÉQg_h\9f»­®\1d¥Òä»\86\v\9d\1ck\93or\ 5Ö\9e\99²È\8bÚØ\88^ a¥\ 6ér\95iS
+\87$\10¾Ù@*\9dÈ\v$-£ûWO\1f\96]ü}° \ 3\ 6`Ãö\8eÕ\1f\1fîÞþöfùòõ\ 3%[\81D\e>\87\8f\1a\ 6?¿~·|=¸ÓE\ 1\ 2\99\a3[Ö-\ 3ßÓ\83\7f\8du'\8eçÖÖ²ïW.\8bTTdmqI¶\G\89V\19p\1aQJ6\99ÊLÔE+\1fÄ\97%¦ \89\96|\rï:àW½À´ë\86\87½Ö\bÝ 8a­Muoõ\ 4©heØ\18\84j\8dc\87c(ÉË\15À\9c\80§\8d\\8fÂ\83S\ 6¢\88è\1d\8b:\1c\ 4\84¯+©X\18\1d`\GÃ\ 3\1då\16\86 \9cu\ 1Jhf\84\8fIûwá\84qËûE\90\18(&U
+.ið($:Ô\ 4ª
+\91H\9ffX\DôÒ»xV&$X\86h&Â"ê\a]{æ\82CZm\8a\83¯Dº6b\13x\8aÂ$< -à\1dËÒ_\864˾\88©\97Û\19\1f\1e´§½pÞC\ eÍ\82\9dNtÁqHe\85R\ 6m¤\é2±\ 3±\eÂñæÝ\84\8eÑø2\10\11ý¬÷\æú\9dx3_ÛTP\91¯\8d0\a²./
+6¾ËS¨ØÖ\95Ï6ôã±é\ 2b$ðo«\11kTc_\99\91÷D\97e­r\80d\91­¥ÛK¤<)rV|Ç°o\e\9e\19\e\89%0áLÍ\8d¥-úÞ÷Ú\9f\8bX\80
+ø`\87cO¥/Gº`\18\15\9bë\86¥Ìè\92\ 2Ü\83;\0×­M¼ÞÁÄÁ8ò6¢%ç·©Q©V|pËî\f²Ö{~w{wÏù\béÅ\88àÛjÏ\16¢J½VÃÂQKÏÚ\8dsèj2FI¸\8e\8b&ðÝw\14*:C   Ê\ fu=U\97$\92\ 4M¤Oè7`\83:\10'ôÀÀda\8få      \13\ 3\9f\146s¤¸GÙ\9bS\vë\9fúWë\7fó\fñ×\1a|W7\97\89ºñu\8cn¹¯ôu}SI]\15²\9f&7\90S®>hÿZ\9bÍ%í1     t\ 1´\87}Ï)ò\8b§9bÐ8>¹ö\ 1\0ÜÐ#+\99ä\ 2\ 5ùØV\91F\90î|¼ð<:\1f`Îç\8bG;I¯? ô&\ 5\9a\12\v\bìD-áò\10Êô)\87'sÇô\84<\9eO     §\0vS\1a\ 4{ûðêöáIJQ<X\1f hî\84\10\14:PJ\ 2\9eq³0¨\93P\90aE[\90¸iJ\19\896!Íô²\95\9f¡À$/ÑÜBGóZyúâñüÐ\ e;g#DËÄ0B´=çqæOQì=ó>t; µNücüt\86¸ãË¿\81¿Ú§÷º\85ìL\99ÀÏE\ 3s¤Ü °./ùMSDPÀr\85ò?\9aO\87¡U±¸B\12Û0õþ4»~Pélþ³0\9e5\94\13¥hÏc/HÈíÝý\7fù\83¨Ý\8bBl:"\80û!ºLm0÷H1®Ý\ 6£¼ï\8a\10¶ýTóü\8d*\9f|\94\18\1aþóû\89\84\Ìp>\8fð\94µ6Î<²u²e\ 6ÿJ«\1eWØÕ\93>½[õ0\14\7f´\81ÁüÉûUO¡8·s ü\å¡\15ó"×üç+Ìä¾\7f¦ÇëÅÿÈæBo´Z"×!=§\1a\8bþ\1e\88à\87rÂEÅ@ehäµ\ 2ò4l\7fl´;\82·Äx<\82³Å,û¦&?æÉÇom\13\13ên+ÔæÛÅ\16F_ÕÖ}c«[]Êç¸Y|é§åf\94ñÅÒ\8f\ 5¼\87
+é¸p£©î·9ä\80\17%\86sÞðëÃ\1dhïPë\9bçRî¤þøGWÐ3EqÉJÏÏ-á?_\88NG4ó+ß\èòý3tZ\7f\89~Ïý\8c­6\80\9a\8e\16\ e\v "zÛÜ]¾F÷¯t\8cY3»\8c&³h6\9fP\1cO£q|ͳÄâöÕ\ f·ôÆhî§ô\'uÙv->|0ÂÖálB\83é\10cÍßüßÀU<\8bâëq¸ô\8eF3>áÇåÅ/\17\7f\0\1c\13HWendstream
+endobj
+1372 0 obj<</Type/Page/Parent 1119 0 R/Contents 1373 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 775 0 R>>endobj
+1373 0 obj<</Filter/FlateDecode/Length 1694      >>stream
+x\ 1µXÛnÛF\10}÷W\f\f\ 4U\0\8b!)\8aº\0~\90%96\10×i¬ )ª>¬È\95D\9b⪼Xöß÷Ì.©\v­¤qÚ&\88£\88»s9sÎÌ0\7f\9d8dã·C\1d\97Z>\ 5«\13Û²ñÍöǧ÷ü\ry\1dÏêÒ\8a\1cÛ³:å¿bºÓÏÜ®m¹äu;8çâO*i\8e\aÝ.ÌT?Ò\ 5Û¤vÏj\97'\9d¶g9æìŤî\15Çß]zä84\99s\~·C\93P\87eÓ$häKI§±Z¨\84Â4z\94§´\16©XÉ\¦\14\8f³ÕÌ
+T2\9f6ÚÓ·´\12      \8e,\10\99Ji¥\10b\94àãJä\91J¬·\93û\93w\97\80Aû³©é´\90Ñ$ldA\1a­ó\8f"_\9a#UH\8d>MØÇö1­Sµ\96iþLÙZ\ 6Ñ<\92\99\8eb\8d«¤æús\91Éô\97\8cLØæê\19\9b\11~\8e¿\8eÏH¥ìeϽu1\98Ð<\8a¥eÜåi\94,(@.3II\11Çæ{í$Ê\0f\8c|\1e%åJ;Ld^:[\8a\146>É9ð)\1f\96ð\998Nk\8eÿ\ 34\83\12ÍfÇê:äú\96Ç\80N]¿C\87pëçÍVÏòù\0\84\8f\83\98\0¶L¥\ 4¶¼Ê\98\0\8cG\11\17²ÂJh´(Ó\0\9e\91@\11\ 2\11\93\98e*.rù"û|ÉÕÀ¹Ï¿\ eµ«ãàq\10¯§^ÍÛK"þ$t`ü\95Zédvâ)\99ºÄ\83Q\94Ê Wéó\8f\90\95/P¸½Á²aU1Ô\9atµ$\f²\15Ü\86\9a×sÒnY \84\8ad2'\91\84{
+\11\14Ë\1cÊ=3Ç·>³¥*â\90©®ëÀ\1e\9b{â`ð÷ø¿*²Ü\9c\ 5í7*}ØÖ®Ò\1fë\9d¦ø\85\1c\1ee\8a¿Y\16Óé6ˣ̩%Ê©\95<:ΠNùõ\9c\8e\ eYPéã\9b\ 2j»hÐ\10\10\vÒÏrÝÛ8ü\ 36\ 4HZ\ 4Ü(Ë\9a\95B)ÒT&yüLE\ 2\13\13\ f\83@ïý\8e\84«¦\99\v¯Ì\9d(Éå\ 2~S¹Ne\ 6g:Àª:¥\88·=,
+q\82\eiJÓƧëÑôí¿\bi\9dF+\91>¿OU±¾\1e\1d\8dî;\8e«\10K+´`3Õ\97Z\11Æâ÷ÁªfGÓíZN\8f\9aUKäA²\12÷*\8d0=̨Èän\9ee\ 4\92\92J¸2¨\vm\962¡;±\9a       Ö\14*É#Aà\13}\1c\rù>D¥V\ 2SpÚH÷\1a>\87¸§\1e\89+Í«Û/\93[=\17C\99\8b(Îà\fJÜpwå\ 1\1a-
+\ 4`<\1a?\ 6L\1a\197C\95ä©\8ac(êí±Ö0Ç3µá(çª@OÍÑ\84ghº{\89eèJ\9cZÄ=\9dç*§7\b\ 2U$9\81\ 6hY\91\99¡\9a¬æf¢\92f(ç¢\88sÓì³>ç\88ma\víAGü±ê\98iTQy7à_SáC\ez\ 4ïæÙÏ\84±m£¯\89â\bÏÀ«ÿ\11~\8b._l0òI¬Ö±ÄÈͲ\ 2\13e2¸»\9a\8cßßÒ\12TJ@²\99\ 4\9d·4\vwLæI\91/EnRn\97ÛD£\\9fôx:×ÝüÍ\87éôMa\8eU\1akÐFdüÕ\1eãÁ\95(\ 1Ë \8c(ÏjKH£Z\17ëvÌöõ\85E'ôô£\ 4{fH§3\19<<\9f\9ap°ë\99\8dË(ïL\93ØXr«ÀÍ&Æq×]\94}8ª\a,\9fÖ\0\ 1¾`\9cÇV\85Ýtª}[\84\ 1«Õbæþ®´$\9f¢\f)\96\9b°\16P\r\8cÓ"
+ϵ\993U\9c¯¥â"\85Á¹V\1e\7fPéâ\94óØnRø ç\ 2\8dÄø<3\92ä\1eT)\1a\8d\aªN\14\ 1h\18\92\9ac\ eØL\9cr+þa\98övR\13JUÉu,\ 2l·¦Cm"ÌgÝ-7h¨X\85áo\17 ñl\8aU\v\ 5T\rÇ,ðæ\ 6²ÌP9À\816¦`\93·!¬ál½êAÓ\86´\16\96®ÔÍíÅïe\95¶c«G\ eÞaæxÙj¶<³\f\8f\8d8èÃèú\92ÆhsüÖÀ\9b\96\80\ 6¡\8aÚ¸ïvÌ®<\81÷]wåJ\10/>\1c£6¹í§Q\12ÄE\867\9djh­U\16=U\rVÍî±\17\ 61$ª;(¿       õ8TÇòZ.ܵ­.þÆè\ f\93>1q\16\85Ìr\17+ò>uP\86(¹W\9aF`O\ 5\ 1ùj\82·¨,Cxa\9fº\9dî¨k;\9eoûÃÑÀíù\9dÎÀóÆ\97\ 3§Õn]\ e;µ«ëMx\83ån\bÀ\17²O®\83\97ÑnË÷^\9c;\18ò}r\Û©\99\8aW»(Úm·g»v˹\18\8fÆ=x\1f\8cZ\17^«}Ñv<Û\e\8fkW\11Å\a\91åw2\87e\e¿;=Çõj\87´È'Ñ
+aÚµG\ 6å¡FùEy¹M\95@\ 1ß>\19\80k\16\1e¢àAÍçÆü7Q\10A\90_Æb\91õé\8fÏ_©úõgÍ\18\8f¶°É!Ù\9emûµÛ\0c(\92ª":ÕÝ\92Ù¬xÓÑüAñ_\1251\f\9d)\ fz\82¶3hK\8bê`\ 3àQð-ÆÊ\8a³Ý²Ñ:>þ\1f¢Û"¿Ó²|¿ÍÜ»\eÜ\\fècª\98çX[\ 2L¢rûä¼\9aÕ\95\ 6ïÃÆ+téù]Ëo»P5î9N\8fí\8d''¿\9dü\r\83\9f:µendstream
+endobj
+1374 0 obj<</Type/Page/Parent 1119 0 R/Contents 1375 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 778 0 R>>endobj
+1375 0 obj<</Filter/FlateDecode/Length 701       >>stream
+x\ 1\85TÛnÓ@\10}ÏWÌc\91\1ago¾EªD®\ 5\89^h\8c@\ 2\1e6öÆqj{Íz­\12\10ÿÎØM¨pC±¥Õ®æÌ\9c\993;ûm@\81àOÁgÀ=\88\8b\ 1q\82\0\9e\16\93â\81\80p}Ç\ 5\11ø¸g\82àÞ(Ø \98 û\9få\b\16\81\13\1eÁèp
+zw9`\9c8>ðÐõ\0NB'8\9crXµ¡\81û\1cm\aÖc i4\18-      \84\10m\80:\823ð0-×\v Jº\\bDñYR\8e¡É\92\8b4\96Æ*s\ eº¹¨\94®ru\9eÄ\17U.³r§»½6é«h7 0¤X6\ 69ËuªË(+Ô\18\94d5úî¯ek¼TFæ     Ì:\86\1e0/ne]?h\93\8cÁuYH\18átº\98/ÂÅr2\99ó©àîÔ¥\82\88Å¢çZ\99¬\90f\7fitS½\9d\8f\812B{\10½Þ©ØÎr¤\18C¥ëìû$\8euSÚ\97pµ,Öò4NƱ]æ2Åh\9f?|\82ã÷µ\17®©\95y*ëglö\95ý5­®\98Ú\ 5w÷?P¶¾C\86å\1fZðÜtÝ\14keÆ\10\12Ò×9Æö½(¯N³rµUy>\86Ñ:+GkYo{\fm\e7\9bÇ>2*|\11pOø=P\9a%Ç4è³,î³øþÿ!ª\87ä\9d¬íJYì\15Áß\ fñj÷xL«\ 4=QéV\17j\9e\19l§6{,¦=\8f,VcUªG§µCÆ\99,g[Y¦'î(Z¯\9aÚ\1eÍÿ,½´O½\fü`\1e\10*<âÍæ\13\16z¾?\11\ 2¯*å._Î:ÕFË\10¨ß\8eÝðqî\86Üíæ\ fGf¦\8bB\95¶n«\1e-\ 5PÚâp¦\98ïxíLÝæJÖ
 
\vä\94\95¬ásÍT[(-wñ\83äû´<\eaØ(í\83\bçMí\85ãy0_\8ci:\9aÔj¼<½øpJWF\7f\81ºÒ'\1dU<      y¼\9c°~È/¡ó1õgC~¥<~V&O¦ó`:\19áÅ\93w\f\17|ò÷UïÏÞwÓ\8a·\1eendstream
-endobj
-1602 0 obj<</Type/Page/Parent 1367 0 R/Contents 1603 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1603 0 obj<</Filter/FlateDecode/Length 398       >>stream
-x\ 1mQ]o\9b0\14}çW\9cÇVJ(\90\14ÈcÚmÒ\1e\12e+ÓöêÚ7à\ eìÌ\1faû÷»NZMª&\84mÁ9>\1f÷WV¢à§DSaUCNY\91\17¨\8b\15¯ë¶áµâ×\11\8eÙC\97Ý}Ú lÐ\1d\99R·%:\ 5\86\17\ 5:ySÖy\93ãÑ\1a9F¯­¹í^\18¿FÉ°\84_VM^3ã¦\e\b³6ÏÚ(ø?>д@\18\9c\8dýÀ;!z\82=^\8e{1\11\9eÈ\9dµä}ÖA\ e\v\1cÆØ÷ây$l#ãMÐR\ 4\16ÄΪ8\92_@\18\95ÔY³\åUÒ\14§\93³'§E ì´tÖÛcÀ×Ã#¤\18G\8fA\9c  |²3)6\80\84³V\ 4Obâ[=´      Ô»«\14ûûwÍwNbg\8f}÷NUÙIh\93\ 29\ f6(ðmÿùÇkè\1c©\bG>\8e\ 1ÚóÏÞ\91\büEEyÉÃÔÔ\87P\93\87$Í.¥õ!õã¢1ÚôÌ\9bôoz\1fø"Ä=°)\18
-³u?óëDÚ×\89\945O·]as\7f­èi»{Øâàì\vÉ\80\ f\89»½ÄMÄå\e\14\9bTéÿæ½®Û¼¾¯xÚ       P\16\89ø±Ë¾d\7f\ 1È\84¼»endstream
-endobj
-1604 0 obj<</Type/Page/Parent 1367 0 R/Contents 1605 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1605 0 obj<</Filter/FlateDecode/Length 1316      >>stream
-x\ 1\9dWûkãF\10þ=\7fÅ\14
-v \96\1fI\9c\a\94rÉ]¨!\r¹ÆG\v磬Þ[KZÝî*9ÿ÷ýf%Ç\8fHI8\85`!Í|;óÍ7³«ï\ac\1aáoLg\13:\9eR\90\1f\8c¼\11\9dNO½s:9?Ãý\ 4ÿ:¢øàj~0¼¹ É\88æ1\¦gç4\ f    æ#<     úש(m¤i|æѽ0&ôéÏÕÃç[*³*\91Åáü?ç>>«Ý\aÇ'Þ\ 4\0\8f=ºªd\16Ê"©ÍNh<nÌ&gÞ\94Íæ\8a|¶!\9bF\rä\11éªÁ=m\1cú\94\8beD¾,\86eèÿ\9b¯Ì÷Ì3j\17µO²p0õcdï\16ë\eUé \1aî\e\87RG\81UzE*&#r_P(\8dÕÒ¯¬T\85Çö#\1aL¦Þ  \az\17ý°G\14¨rEÛ!\90U$\8a\15e*\10ìF+UÑ\93(¬G3\ 2\9a*\92l\ 5¢\ 3\95çQ\11"DcE\96\81\12\92\96\ 3þõþ¯O7³\7f\86\99ôIéfÑñqMâ°2\9aß\f]|M
-\17¨Å\86l\17\1cÈ\9ext­\8aX&\95~\95ïT\9a\86gÊD°4dT\1eQ¢TH¡
-*\ 4i]"G¨\8b¥4\82Fàá\8cLª4Ç\1c«Ë=r>\84!    Ç}¬²L=qz \ 65­YßÔ±¬%äciÐQ¿]Ë¢O\8fBKágXÒ\11©©6Ø\942÷½\0Yîù¹p\867#ºX«ë¤.Úîjô\e}U\88I\ f\9ao\r\13\97Ãuù\86Ví(ìR\86 DÆ\12\1d°ç»\e\83S\8a\134t¼å\14\88\82üÈI\84µ\ 5^X \99\FG$\fd\83\85\16B\15\99¢g!1È#\8cèIÚÔQºA3,U\97A\138\1eìK¦~ídV\ 4\91óØè\95f±[ß\94Q ã\15åUfe      ¾7&F\11\12®(Bo\97ÁÞ\91s\17\19¬\8a(rõCæk¹¢ä\95\89ÐFq\fÝ\14ÐÊ3{æ\17æk«\9f \19É\r#2R%ß\18j¸JäcÄ\8d¬+\97¾ijN±¬\85Á\93âk\92)_dßÈ \87×ÝÚ¦\80M\ 4\97njPª\8c¥¶kP¿*D\8eÒ\84Q,À\8da\15÷X\1c\19ûõ\9a\1cÆ#\8c\84\17àÌÖ\93ÒϼtÙ\81\16\ 3\rvWvmÿ檡°Â\17 ~ÿú)´\92\9b¼íÚE;>\1eM»é@@(Vç5 ;ÐÌjæbÖÆèk+dÁ-Âô\98\8eþbG§jöD¯T9\94ã\ 6\94CZôg½G´\\18FacAvUÂË¢\88\e'\8c³
-\eO*`\1cKmìâ°s\90lU:S       Æ¼\95\88¿^~'Ë\ 1\8bþÅâ°\9b\1cF\88\91z;Ä{\10\962XvC¼\a\81\95\8a\r\0½`"û"\94w#pË\ 6©(\12Tq'\9dw#ä\15bh\83x\ f\ 2\v\85\e¶­\12\84fÂ~\ 2h½èONO\17\87xP\15ò\87\93\17{uW(T9¤Ø\8eÚ\8a{7Çüv>®µy\8f\15h#åv*\9e\90/'\ 1Æã+á·Ä\8e\ eÝ\91ÇU\96u0Ò\ 2y\ 3kræhE\ 6ï\ 6\98\803S;)-Ø_\98jöb§RØ´\e\9b-B\8d±ß
\8dí\8aøñùäV;18-úQrI½?.{oµ^A&вt;-¦ÇVûn¯Ô\bæJØ ­·\1el\ 58\98\12\9a?È$ïn\ 6S\81\9eRlVèh\9c\85\13¼ëN²ÔÊí`.Ú\17\93£eé{N\vui\1c»\91E\10àø\10\99àMú\9a¤\1e¸\96\1f\1e®g3jDE¼\87\80=m\89sk³M»¡û:m\7fo;¸\96àIÑ\8cN\85b)Mw_no)Æ\rÎïլ*\96\85zBÕêóÓ\1eu-Äí:tg\95W\98[8öJ\9cAöP\91]\vðïÝX\95|Þk¶\98Yßnf\19`]c8Nf\1fÁ\ 4<_Ë>ù\19àD«ª\ 46\9c_ÃvA@Å-Ù·\13°VËÃìc7\15õâ]°-´\ 2µö©Q\877ç[ß\89\17õIþ\1d\9f¡'Ósoz:Á7,\7f~\8eÇ\1cá§ùÁç\83ÿ\ 1Û\9c\84\9fendstream
-endobj
-1606 0 obj<</Type/Page/Parent 1367 0 R/Contents 1607 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1607 0 obj<</Filter/FlateDecode/Length 896       >>stream
-x\ 1\9dVÛnÚ@\10}ç+æÍDÂÆ\17nÉK\95¤¥ª\94Þ\14úP ©ÚØkìf½K½k\1cþ¾3\8bi\8c¹D*\ba³»gÎ\9c93øO/\0\1fß\ 1LC\88&\10\17=ßóa\1c]{#\18ͦx\1dâ§ä\90Ú\85h6ÆÛ\13\vá(òfÝ\85»Eo8÷á\1a\16\98Ìð"\ 1Ä÷}XÄý<áÒäiÎË\eÁdÁ$¬\99Ö\10+Q\15\12Z/\17\8c3V.ûáx¼¼\ 2\17¸\8cËíÚð\ 4ZGkU&W\8bß=\1fÜÀG6\8b¤\1dC\9a\14êb\8cæh}\ 1}-X.\r\7f9\1dä\ 4úá\81ËÔY\1c\eÔE\9aR\89c}\ÀÈËþµ\15\ 6©V\9a\97\900ÃÎkQÉg©j   Ñ1\9aÕ¢\ 5Øl=\8f%ÔJIHòÍ©Ò¡®-¬wçQ2U\95\1a\ 4\97o3º\80²Ïkü6Ê\9byí±°)\8e\1cI~iåÕÂ\1aÎG\10\ 4;ûá\84<øa\83\98\10Û\ 1lU\ 519½2À\b\18¥[öo°t,5X6\93q\90¬à Rà,Î\9aØ\ 3¨³\1cï4Ê$\12Ðk\1eçéÖînÈ\19\ 5Õ\1a\8bÎ÷\12G^HÁë\f%µ+¹\Ù\ 3\86=   îÁÏ\86    \13\ 3\94Êd´ï\89ãW²ÇG\8e.]Kû\ 39\vÒR\15ö\ eÛ\17  Õ¹\10\80\87\9fxC*ñhe8¿\86`Úh\13\8dp Á`êE\1eüÐ\14ö¸'4¨²Õì4 ö­r¨ôÔ³Z\7f\ 2\8dM"Wb\8b\8eÔ1\9a\8a­¸%\8a]A¢\9e\b1\80LÕ|ÃË×òÐfL¸¸i\12
-';²\9fR[ÁÚVAäϸ\vuÇÍ'a57à\\9cr\ e0\94¹½çpJ9\1dA1\9aóåÇÃ\83\83¦©s\83n06¹?\952\\93\8b:p\87¼\1a79ĺí4ºn|DS\ 6'Yc\96NøC4*\84\85Å\81ÛQ\884y\9dÑû²é\ 1\90&\14®\9dó!l\9bäÅd=Xd¹îP̵\85OxÊ*a.ÚnäÁGn\f¥*\95t\e\ 1\ eím\9b\85B\9cv\9b\ 1\8c·VZçØS¤jÆ6ØÀ
-\9b\e\eÂBå¯]óÄP\15ªPÁ\9e)ªVØè\ e\r\93ÆéJ9'ë¿°b-ø«3»\9eJ+!ìÀØÑ·¥µ®\1dÎÇÍ êÃý×/÷·\8be\7f\9e\97Úü¢í\ 3\a\9cÁcUÚ\9båÕq\86\8dá¿bStCbÝ\9f\91±É\91x»XGaÉ©g\91\1fù®/?o\1f¿?@¢âªÀ1iQ!ÅÌ\v\85\ f\1dø羪¨\83­He\15\9b\9dá\86óY\93\0Ág\94Y\ 4£q3O\1eo?ßÝ·Rýæø§ù¾\8dK\Üý\ 1wêÓãÈÿÏ\9fÑdæMÆ!>Ø\10J\10\12ú\87Eï{ï/\aràwendstream
-endobj
-1608 0 obj<</Type/Page/Parent 1367 0 R/Contents 1609 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1609 0 obj<</Filter/FlateDecode/Length 474       >>stream
-x\ 1\8dSËnÛ0\10¼û+æ¨\01õ°,)>¦hO-Ð\ 2*ÚC\80\82\12)\8b­^á\ 3Iþ¾KInl·@\ 3A\84 \9dÝ\9d\99]>nbDôÄÈ\13ì2Ôý&b\11öù\1d\9di\91Ó\99Ы%\9a9\90f)K®\ 3÷å&üp\87$BÙP­,/P
-P\9d\88þÔÁ»\96OVjÄ\ 5Ãgn\8c¨ðýÓGL\9d;ªá¦ü9'Çù\92¼Ýù\ 6¥\b\b\1d3Ü;Õ 5\1c\17X\8a8^aIÎ2\ f+[eÐ\8fÂu\92X>:¥¥A§ªç¾K`GT\12j0\96w\9d\14ÌW\89°M2\96ι\14öõ1\89ê\a%ÜB»á°´Ú¯­\ 2ôü\97\86pE13^²        ¨\ 3l+!¨ymGý\82\ 5@¶Ît\ 33:]Ëð*m¦ã\8d;×>\13#í       ÃWÃ\8fò2Ç\93ÿ#\Ây\ 4Ææ$\0äŤ¥µ/0Vsulm3ê'®\ 5C9B>O£¶\10Üò[Ê\95\7fI%\85R(\8bíÜ\96\9aÅ»e\18ˬ\ e¡3:$sCÃû\8a\9f\19rhT'\aÞ_Ñ\rð\10<µÒoÏ\1a÷\f½U\1eë\89ûo\1fó£\9a\9c]l$~déÃ\8d×~9.Õ¿U\81Z÷ë\r\9cI.j§µ\1cì\96\1c¸t<À7/`¥ròã\9frH\82\96\¼jhôØ\83\ fâ¼úI(¹¬\86u\ 3\8a×µNó½ßÌÿ^\994+X¶Oè¶ù«\12ï<¿÷åæËæ7\88C\1cÂendstream
-endobj
-1610 0 obj<</Type/Page/Parent 1367 0 R/Contents 1611 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 946 0 R>>endobj
-1611 0 obj<</Filter/FlateDecode/Length 1998      >>stream
-x\ 1\9dW]sÚF\14}çWÜñKñ\f\b$ÀàÎôÁ\8d\9bÖ3IãÆ´é\ 3/\8b´\82­%­º+\99ðï{î®\16d\92vÚN&\1e¤ý¸_ç\9esõç ¦)þÅ´LhvCi9\98FS¼9ýùøãàv\19-h\91\84JJâYtÛ=\15ô4\88\171?ÇI4Åê,^\9c\9exu>\8dnh¾ZàoI«)nð\ f¼Ö{,)\9eÁdoq1\8bb\9aÇ·î`|»\80\aþÉÙ\ÆÑ\92æÓ\9bhî<ZD³î\89Wù¢Ùj\86µùj\89ßì\99\91\94\ fbx³¢Ù,v\81Ä«\18\93»´÷\8c0\136}^í?cu¶z½Ú{ÆêÍ\14î\9eÏ~¿\1eLÞÞR2¥u\8e\ß,W´Î\\8añ&\1d¾Ù\8bº\91\86\10,=5Ú¨jGO¢Ü\8ao,ýj¥\99¼\17é^UòzýÇ`Jãd\8eÓû4ÕmÕ\90ªrmJÑ(]á7\89\8aÞÝß=Ò½22Å]G>ÄÆã¥7>\9eÍ\11=.\80µ8¢ÇÖÔÚº«'oç\14ÇÝ®d\89ø°k½W\962\9d¶¥\84±LÚÔ¨­´´×\aj4µV\9eLfÁ$Á#²ý@x\9f!ñ¥Ë]H\80\94ó©1"S\1c\8a(\8a£»Bf\1c\97dËm-¬=d\9bábsM¹*dD\ fH\80\86\7f\19\89Æí5Rdl°à\1f\vì¡­°*¥¶Â\8amD\95q\9au~á\81K^ª«TÖ\r\ eUYwø Í3\1f8\a\89\88^z6T\85K\8bBf\11½Eø¥\ 6âúµAyøî\vs ²\r\1a$\95Í\85Â)iGT\17R ÃFæ°\84ts\1er]\14úÀ¾X\9c´\11ß\88Æ\1d\f¨Ø\87ZV.\8a\9b¦þv29\1c\ e\91ÆÛ"\13u¤ÍnÂG&oÓ®Úãe´b\12ÀÙMr³$¿\1a°à\16Ç¡@ê±\10\95lN^\1eéɧádLÕnG\84]6\15µ\8cR]NNYû/\96ÇÉ*\8a\81ý¬\eéKüá\9b\8fR1B\1eÛm¡,zcÇ0\b5Bª\ 5íZ\95a»öíÀ\88|:ÚF\96t\97\95ªR\16P\ 3Bqh¯Ò}Wdv½\92\19;\89>\v1\eé«\90   Ø×9Ia\18\9cmYJ3BSO\13W\ 3îÌ®\ 4ë\83&\91\ 5$û^F\11­nM\8a2{\93¥8Rmô\8bsr+i/\8b:o\v\12Æuc¿¤k\94Ý\11ÂøñþÍ\98\8b;þéçõ\a*\85ª\1aü\aö·GzØU"U\9aÞè¶\96¢u^ý¿2³Á\9f×Tª\1d²ÄÌÂmÏ\r\91\e]ÒÃý\ fwï~÷¥\80·´CF¸û4ü©ÄNºn÷hÞ\19øÂ\1dl[dYpfǽÔú \1cZï5\a\ 3ß«Æ\0áÀ;º0W»Ö{ðÕ`B\85\rD\17À3ïx\fl\97\80.øò¬M9¦×0çê\ 5Êë\93Ð\bÕ\92ÕÉ\17\95¬Rs¬\ert¤Mfé;:J{Åq\ 6Þö·CW\1d¡\ eA^h\84ʱÍ\99g\87\8eÅF¯Øñ\ 2|}
-ñ9´n{%J9¢wï'(Sð\83Q¼w´Á< Ç(Ý\8b
-õhTɯ\99^\ 2\aç\85Ø\81Å\ 5à·\95Ò%£W\17&ï3ó~\19K\8f\88_§ÑG\14\11\0\ 4`08¬\ 4K\8a\ 2ÄiEö"\0×\1dZÀq\193w\8d\16\80ºyÉ`>£\83\843G*\84Ù\ 5Ñ\v¥®Úr\vþæ>dM±´\19:\1d<{Ûìuk\11ªÝ\;Ð\6R®@ÿL\17N-@ÙThýÜÖ\96Ê\16\vèÄZ\1aÖT\iå\9f-tO±\1cEô£z\ 1\14\82Ètñ¹\b>+(°\ 4+4\a}QÀp9.\85\8e:\8c\17z\87\96Ú\fuÅl\ e\99¢\8a\809k¹Û\80\94
-\9aà\1aÏõ\rs\ 6L\97\bÄ\ 1        KæùÂVfà!áÆ\1a3\ 4&\8aÍõ\bî"TÎt\bK@Ûh«\9b¦\900òì<@¦eÐ\13úÄ*\8a\13\95\94\19§\95;\19ÐÎägO\8dý\ 6>Õ/`\13»Q\17'ÚàK\ 1Íí$ê\92\88f<^ý\93ä,\12Ìjn\ 2a\10!%\19Óå¶\0\85Ã\88/Þ%\95k\9eP0\86822².Tʤ-ÎÃ\83ë8GU,и¥"\94\81óØ\ fËu1¬:\85?0\94\v\99c´ð\ 3\8fü\8cÜbDÁ³.lGmÖ7Â"t<\19{¬ÒÍ0Þ\û\95 ¨CîÃËÍÖîÿn+\1d\f\v_
-pêr\84B\8c\19à\97\11ôWi2ÈR\8f&\833^ÝC-î\90ã\¹á\8b\81\83Ä\95nÆD³õyÈë\17\8ap¦      ¤ñ4\9f\11:\86»W\82\\80"MFC4\0t\ eºG2=\85\14M\83±²åö\ f@\12\181Ky\9e·0\f\ 5V\93\9fkÕé\12\88\11\ f\96aÕÿ(\v\b\16\9aà!ã¾ÍÕ\17\19~|¸ï¨á\12\93ÿ\90¨ '\ 1\95wÜQ\90ô¶h\98\8b\90,Ìi\19æ´TA\1eÜð&ü\10\bÌ2¯\94RT\8e¶Â`ìGâsà®m âÈcF\a\19b*0·e®¨½Ä±:ß=>ts\ 4\8cb\0\80;)f\vǬþf?l»ÞÇ\b
-ôä\ 6É®=`\81KlE\99mQ^@:\17`\86Í°6òE\ 1b\85ûvèÙuTÂ\9e¥nÐuǹ(8\ fw¼¾8T`6#«\895ê4¾¿ùí\89\1a#%Ó2t¸\e\8a\12¨òl\ 4Ä\b\fr<Ò¶u­Mãiñ\ 2/ÞÓ­H\9f%pº\19Êh\17uÃj\12ºn<fù\18ó¤\8bí\97\8d\a\9cøW\97û\9blûåv|d\18ð?è\ 4\11ë²Æ\a\87SÒàd(K@Í'?(ðF\ eå\89¿à\982T\95\16-Ï¢Èö×Íÿ\8d»¢m4\ f\r¤kÖ\82\91\87ÆfètÜZ\9d*\90\eS\1dX\bÎ\1e\90öË\94±\8e;Ý÷2ôjÒ\04Îß\8b§        Ý\15\a\9fM\85j\8egõpz\8co\11(\1c8ðô    \85Í9\1du\e\86Ö\1eX\901´<\14\0Ys\92ÞZ']}¢ào8D¥ÊÚa\13ã7\0xu"\92+\7fðÊÍ\87'\aÝ\98Ų\8d|út®ºêÃ:>\19\9cªüÛOjú/\9fÑó\eܾHü§R\1cÏÙú\ fëÁ/\83¿\0\ f  Uýendstream
-endobj
-1612 0 obj<</Type/Page/Parent 1367 0 R/Contents 1613 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 955 0 R>>endobj
-1613 0 obj<</Filter/FlateDecode/Length 1946      >>stream
-x\ 1\95Wßsâ8\12~Ï_Ñ\ fS\15R\15\f\18\ 2d\9f\8e\r\93ÙÜ%Ù\ µwU¼\b[\ 6MlËgÉaøïïkÉ\ 6Ãfçê&\ 3\89-©ûë__·þs1 >~\ 64      i8¦(»è\a}¼9|½~»\b\aa0¤\9bñ$\b)£a\7f\1aÜÖO)-x?Ý\8cFX\eM'ø;ħ\94\94\\84ã>\8e\8dnÂ`ÄǦc,ø'>6ê\8f\82ñau4\1d\ 6ÓÖ*\v\1d\8dBÞq*tp{\vMa\9fµd\14\10î\9f\1a,C'éôÔ¯Ë\8bÞý\88\ 6\ 3Z&°v<\9dÐ2vFöi\19ub\1dU\99Ì­°JçÁÕòûE\9fºá\18¢\97qg¹\950Gð\87\12¹£B«Ü\1a²\9a\8c-¥1$Öº²´Û
-Kv+\89\8f÷îÃZY§ÛÝ)»í¦±(\8cÈüb\83¤C±\96\86rm©(õ\87\8ae@PG\8fóÙ\v\99ª(tik4\83\ 6\9aR&²,eÌúUî\14Ú­2\10Ô2á(VåQZÅò\17\96\82ð\1e\8c\9aQ&EnH'\88\95-\95üPù\86*#K\12Q¤«ÜBz¢Ë̹\84\92Rg$rúCå±Þ\19x\1c92\8b¬ú\904W¥\8c¬.÷\84Ó\1f²tþëÝGµ\ 3º\93`Ê9\ 6ì«p<©ÝÓxÀ-v\eãNP\15©\88\18TOÚ¨W\bcvñÿ%º\eN\83ÁíÑdv¬\91\91ÎcRVf\14Á\9e5\82
-s³"Uf\v§®÷ð\ 1+u\11x^,`tL/³'Êt\¥Ò\ 4ôøíå\91`¦Aª8ÿ!æF\9eE)UëRÀ«¦Ñ¢×V¨\1c\1a\9c'_fóGZèÄî8­V\9d­µÅ/½Þn·\v
-\11§\ 1\10õVW\ 1ý¦w\12ª®]\98c      \11©S     #\12µ©J =SìÀP!¢w±\81v\16¿\96\19+d"]H\8eùIÊÔ^½¥\ 1ª\82Ë£;\1cùÔ\1fÜ\ 6Ã\80\16>\11\ 1Þyeá¢lXq»¦ºá\ 4Õêë¥N`\91Åk\8at,9SÃ\80Id+\f\0É\9cb\18\96\ 2Mì<l¥±øÓû\9e\91þ^ÈÜiã:÷yå6F©B\9d\9e\19}ð¶¯\1e\94\99ôjÍVW)¢\8a(¯SÉ%³Óå;qAÒ³´&\12\85¼4­\fö¶µ4Ñbþ\8fc\1cÎôÆ\95\93\89<}wN\85\11\9c;FS"|Ðjâ\0Ap\ 44#álS\0\83*Ö%"\84\85uµAb-9\8f¨\86Ì\94\80Í[Qºs\89ú\11ÐCr¦\7f¯+\17a(ä:çüº¦"\95\ 2rpØTP\ f¥(cä\19\1c\9d¦È\f\eA\ f¿\86\9bÖ¢[¿ø\9b{
-t¹q\88¾\ 3Ýþøî§\192B\86@f&ÜÉW\99:Ê0[U°\16\ eæëý\1d\85Ãþ¤\86\1fö}v\15Ú¨\1f3Ï6¼ôi6-\18e\9d<5\99\ 1=\84æ2\ 2ù
\1d¯=a¯ÂÖÓÜAæyÙèq\8eý;ò\87@½KÓãüêy»½\88S\10\1dg5ª¡a§UçY[xÔ\13=8·­ø\90Ø 
-\95($3x$âÝ\bõ\8fB\96Ê5\98´¡uDLY\85\90ì]ìÀÑ %_%!\97>²¡vW£Þ!­ÝEzý\1d¤\e¥ E\ 2\92\r\888'nT\8eé{÷}º­k9¬k¹}bÕ¡\ 1*{\10Üà3Âg2\18ß >ñCϳ§¯tÙVvI\8b·\17IJ Åòõínùö:{l°õѵQóÄÿæ_\17wté\ 3Vã¼ülßÓÛb        Ò£JÅô\85J|¯®>Ý7û7ñ¾(Ƕ4{á\16 \91Ç_(·­\87b\17?
-c\17Òò6½Ñù\12¾¦/\9f\89t8ÉíJ\12¿\8dÞUô®\ fO\90v'ò»­È7\90Ax|ª\8c=<£[ØûTlÌOåÇÊ {í\9f\99\88¾\90ÉÖ¿i÷×\16¿æ%7M¼\8dJUÀ\ eP\11Ô\94\9aÓ×?ý\ 4x,ý1ô\1e\9câvý\a\bÍøÁ\ 5\98 He¨\89o¥®\8a\879^Ä:Cã\81\87½\8fOkìÀ×í* WH\87|öC\0³óymy¶ýýa\ e
-åF£wÜàÐB9ç}\1a,¥à¹!nLª\87\184\ 1SE[ÎÜTnDÊD\ 1ÂB;ÈQ\ fEµöí\98)\8f\98äl\89Y\ 5¼âË©.;\7f\ 6>\88O      \9dæ\8b\86\ 5ÏÔ\9aj\9d)?¤\1d«´E\1e\80%<C2 3\ e¬e5Sáß\91\15\84\ 3l+\ 2ìç\13ï:X\95a¸b\19\ 6s\11w?ïD\8eÚn«`8Ïv©dF`\95\1c\905påÖ<Õ\9a{üJ33u\bçÊý5\1aÍ\99\81Ðìð0g\9e2\85C\ 4Ó\ 1é Úí}{~ø\97\ 3ðÙÜ\17ÐÌ·\89F\18\14\88S\98-~<e\87c¦uNØ\8a\9b\95mÆ"ç\1f&¾Xaú­j:tÀâf¬<¶_~_wTÃs\11\12\aL\9bÆn\16i\ 1Yud°      \98_VWµÃ5¶§¢ð\99Â>j7\9f\13|\98å]'e6Fãâ¾Å\89\ eËñ\1fÉ\8d\12T\9b?]\12\1er\ 25az>\ 4\9d»-\aö3¿\82Õ\9cß¹ù»B\ 1N¨c\\a³¯ÙMPyìs\10\r\81¼ë,ì®z\9b\10±Ì¿2\ e\8d\1fj0\81¬Uîï:Ç\11\13\85\ 4Ô\98bðí'V\87Éçç\99RoÀ'w\85\ f%Ü)°R\1eóÜqG~@Û#ê)\ 6Ø:<\ei\8b].²UguuMÒ\ 6\18P\ 2ßú`6W\10g³¿T\9déöä\ 2ç"ª\94¹JL\91W[\ 1fe'ºÉ\91§÷F±Ê\81&MA\15ì\9e¤ÊquÑ9\ fk\91Æm*²é¾\ e2'"\8fö\18èÎ\94¶«8\13ïìK\Û´1ª\9e-}±sÜ=>ô\8a?]¤à~\ 6w\8d\99ÏÖ\8ef~æË\ 1±GÏtþ\85\88ç\87\ 5ç5\8f´°6\97Ö\8dµð\9a#JÌ\15Þ6$\f®¬\15\09\87À\80\12\8d²¬"\8bÉ°\9eé¦5Ý\fp»ïO\874\1e×óÂböôë\8c^JÍ\83\ 6ÍÛ×K\ 6Ùm\ et'}\8c\1a\7fÝ\15Fãi0¾     ýMp0¸a!_\97\17ÿ¼ø/kå"Õendstream
-endobj
-1614 0 obj<</Type/Page/Parent 1367 0 R/Contents 1615 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 958 0 R>>endobj
-1615 0 obj<</Filter/FlateDecode/Length 1136      >>stream
-x\ 1\9dV]oÚH\14}çW\)\ f!R0\18\88\81ǤÝT\91vÓnþ!Uc{\bÓµ=\8eÇ.áßï¹\9e±1Nж%
\99;÷ãÜs?^\ 6>MðçÓbJ³\80¢t0ñðêϽ\80æË\ 5\9e§ø/$mù\0¢í××O\83YÀç\81\94næÞÊ>'ô48¾¥\14¬¼Ùñän=\18߯È_Ðz\vÃÁÒ§u\«\9dÐ:\1aú+ïÆ£\ f:ÛªçªPÙ3=\894\14´Wå\8eþüxûåjýÝ*\98[\ 5£Ù\ 4®®c{Ó÷ès.3\16¤È)\11¥Ò\99½6GdîÚ\14\ eÄõ&\95EI\15K2U\9e뢤­.¨Üá\9díÞF\91®²\92tø]F%dIdG\v±*ð«.\ eddñC\16×´U\85)a9?°\ e6:¡\91?ó¦l¬Öè\99h'S\ 1ÉDR©É$"\8f/Í©·Ôjö¬ã\9c\92ÆqÆ\eÚ
-­Ë\v{zãN\87\14åÖïÆÊX\96ÑX\ 3\91$\16ùØ\9a\1e¿Å©|\94¯åu\v\b\83pjý$\82S-C\e\10\0ê_áø<ÎEï\82Gë3(C¸\14*3Tî5\89²,TX\95Òðý\ e\9aû\9d\8av\14K\ 4\17S\95ë\8c4<.¨\83¯±6.+\15_\1e\15\912¸¶U\99\8c9¡=\7f#mpâðë¹\8cäÇïäõ2V&OÄáQ¤ò¼\9d\84!°ç9\97\85ÑÙ\19\93Ì\13\8fî\10\eé-\e7\92Ò
-$\ve\93©¸\87L(Áa\90ë×óײmÕ\90mnÉvqA=*\9d¤\15i\99ú¶\f!ÙÍ\0m\86\11\9c\bè\vùR¡nb
-\ f\9c\ 6Q%åæª\89`â-\99ÛMMÒñÓ3_\17Ѹ£Úiè¸\91I\19Ã\f×s·\96\7fÛT\8f\17LÅ_t÷\¾\7fCU·\97¼\r½Ê"\9d¦\12\8d«Ü\ 1ò\ 4\86Imé +Ú\vþ\15}ǵ;fÉ×û\ fÓÙd\81\=><m®\\ 2{@!±ý´¼\9b\93L\99\ e\95;Ìðða\9dãûn\e®{÷\ 3Z+3ÃzÍY+w¢¬ýMÑ  ¸\e\90Ñ)3>V\914\84j¯ßmIPªQ\10\95\91Û*I\8e\85\11ù¿|©®\85­N\12½ÇHi\ 2smY¾\8a4Oäu\8dJ\ eÒ \9b ¡\8b\ 2\1c3\94
\ 66÷v\1cD\890\ 6"\9b\85\\e£ÂäÀ\ fêµ\19\1c\99«\8f?\15\1aF\84¡½L\92ÍÕùº£\a\171RÖ@Ñ(tìCbº5ÕÎ?\fî\9e\93¯n\96ÕΣ¼ä\8b\13êTNÃ\8d<üö,KD\9eï3\91n\86ïÔ)+D{=Ö)å\854×­Ö¦D¸-8Æåq£6\14ù¾PñYÅ8ë(nuv<í\12\9d;£#¹@û3h­¼?\9c\11½NFP2\85BJ\1deÚ1ܤª\aèÅ\85\85\14\b<Vi\88éÃ\9fÖÑcðVìùçÄ¢¬\13õym©d\8bÿ8\8c¬Ñzµj7#^­ì^4}g§âXNkÑ®Dh\bm©P.
-Lµ\12\13\8a\18TñC¨D\84X]¸"Ó°\1eì(\ fоÞЬÎi³\8f\8cFüë\88\97\ f°èÔà\10­\88\81®·¯¸¾Þ ë
-\13Ý Wè]n\a¬\8b\ 4;ê¨Þ8\11\19«%c\12«7rFG\v\ f;%\96Éx¸\99\ 6\v\97îÔ\9f-½åjÆ{§\9dWO·\7fÝÝÒ\97\vÞG\1dUÜ7Û\9d\aX\82\973\1a-&\18\8a\ eÎÿ[PçÁÒ\vn¦Ö\vß\ fØÃ?Ö\83¿\aÿ\ 1ÎîfÂendstream
-endobj
-1616 0 obj<</Type/Page/Parent 1367 0 R/Contents 1617 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 971 0 R>>endobj
-1617 0 obj<</Filter/FlateDecode/Length 1487      >>stream
-x\ 1¥WßsÚH\f~ç¯Ð\84¹\83Ì\80Á@\fÜL\1eèäÒö¦Éå
-oÇ=,ö\1a;±½¾Ýu)ÿýIZ\9b_C;×i\98\0ë]I\9f¤OÒòoË\87!¾|\98\8e`\1c@\98·\86Þ\10\9f\1cÞ>¿o\8d\ 3o\bÁ\8cÞs¸\9bxóz\91Á²u²Ìa6ñ\82\93='7\1d\83\1c/\8erõÞìÎ\eApØ;Yæ0\9f\91½Ã\9eÓy7GC\r\16^\1cuÖ{³±7\81à°çä&\ 1>läxq\94«÷¦sÏ\87à°çäÆc\ 4ØÈñâ(WïMïÈÞaÏ÷9NÃ\80\9d÷§>iå\15Ibxa\84'F0\99Mé;þk    qëݪ5x\9c\80ïÃ*¦|\ 4³)¬"NÇ\10Va7\8bD      Fê/Rß®^ñlX\9fíO½\19¥r\15u×£`
-n·ÑÄ\9b}\9f¼À\ 3¬DDyZ@Tü¤\1aSÅqúõ'\95Äif\7fÚ¡Riû#8ú£\99çÏ¡?"N`TV\894\12\ 4¦!\92&ÔéFF\80\11²\89\ 4\93o¼P\15ñº{·¾\85\\14P\8a-\9e-"0
-vi\96A¡,l$&±\94¢d"µôà\83ÚILU\ f\ 4\18\91\97\99$\80C8d¢Q\f\18\ 1L¿ÒP!\86]j\13T\ e\9f\1e\16/\10¥Z\86Vé=\84ªÊ"\10%ZР\8cóu\b
\1cM\9c\1fí6\f\a\99
-E6@³\e1ÈÒÍ ±Õ@\18"3Ñí¿·\99Ú\88ì\9f\8bÇ@\7fF\86\95\1eî   \173\8eÀ×\92|D\16¡Þ\97\16\ 3bÌNéÈàÙ½dp\84ÉÇ:E#|´\90v\93*\ 3\85È%\9eZ-\96\1fV¿¿ÿó\9aaÔô¶Õª*ñÜóâóóÇE}êLa\e\98ÉZf\1còRhÔ\8cDºj½\8di\8dÓBrB\1f\9eÁ*\17ëD\16°I\8b(-¶ô\8cÒ}\f¹«´Fß\99ãm@Â\1cÜæÜÙ$5\80ªñ\9dè`0k\8eCMè=\80Ï\ 2-hH\99ª\97ÁlC^\19æ\91\91ø±G\84\ 4«\83ò\1cß\bú»º²G.ï]L\91\96¶ÜQ|\ 6\8f5\eº\1dr\85í\93C×"Üfèe¢\ 5\12®¡9ë2\9e\8d6LH\84û1æ\88Ü\9cµ\8c\eø"²ê\90ä\8b°\84\89(¶ÒôP\10\ 3Ñð¢®\12\89\ 1Ah\)è£w\rÚ\99-$ÀMXÜ/\89Æð$
-¬;ÝSÕ})\15\96S/
\99áôEéíÍu\9a\80)e\98Æ{ö\85«Ê%¶c QÆ2!×]ä\87¨2k\b \15\ fm­o¿\89Щ@|"\11\e\8fQx\bá:\82\87\96ËO J\9bª\ 2vD>l,\ 5Vø5þ]³Ý\86u·£â¸ÓC^X¡-ØÌà\ 2{GG\15\1dÜ­ýXß~\ f¼É\10ùAþ:è\93\82¡æJq¡öT³¥\8e£1äÉÁ*G/ÀÉE¾]ÇïÈd\18\81*n¾\83\92­ÞÃx6¿\ eð4­\e"òE]\eì\94\91=-ëk°\98tn\98\11å~\94a[YH-²ÌQ¬Î\80kO\ e\ 4\15\14¶&ê\rêí\1a\80º\99ÕÇ\10ºûëº[¥Ñý/\15¦²«6¯È\920Ã>ë(¿\b\14ÈÐõ-Ó~ð8\a\1fo\v<\fÆ<Ò|¼&yP\1f4<¯ÞSW54ð\92rYÔ#³¹(PÏ\9eº\9e½0ÜôQÌ\19Â/8\e\9d \16q¢+.'&~m\ 2N@ö`¯*0     \ f­\ET~ôD~M\r\91½\89A}'áë\bîhÁ\95a\95Ê\98J\91\14\99\e\88g\86\84µ8¡++MÓB\9a1þ$(ãò\e°y´R\8f?Óv\ 6û\95Zp\96¾É\v÷O¦yj±sTå\85\vX\1eä ~Ô\9dßb\a9\ 5\82\85#p¸Ä1Þ\r
-,'-%¨\98\85¸\98¨\ f\99R\84ò·ÓØaÉ]\18"vº<RÛ+3\91\16¯\8a{!µÀ\ 3\0à      êÒN"/\87\96ùm\11\1aóÆ\83?0\ 6\17Féþ\93n+¤\0:©áy¹d>½,\9e\98 \9a\ 6\1f)k**\84^Ó'\ 6Ò\86\ 3*/¾BQ»c=.ÏtïYß^æðc\ 1Knø8Ú%ÕõÈ\eyc\9a(Ò9uÂ_0{ceN\85E- \ 2ìF¥2é×Ú}\ fç4îå\92nk6\11¶V\9d\8b·Ë¸V\86nu\98\11²Ã:8ʧ¬öà\11\em¡v\f\ 6\83\81ª\v\ 5Ï«>3\86#Þ :Ö\18FÅݲ(d\17qåkZ\8dµ\8eÄàqVßêý\0\7f\1dÌÆøû\87ïjËÅÓ»\ 5¼hE­\0\1eTXQ\ 5s$Ik¿9Þ\9f\ eñV\18uÿoýO\82\99\17Ü\8dÜÏ\aß\9f\92²ßW­¿Zÿ\ 1ûm\1f\80endstream
-endobj
-1618 0 obj<</Type/Page/Parent 1367 0 R/Contents 1619 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 974 0 R>>endobj
-1619 0 obj<</Filter/FlateDecode/Length 1734      >>stream
-x\ 1½X]sÛ8\12|÷¯\98ò¾(W\12#Z¶$§Ê\ f^gs»U\8e\93\8b´\95\\9dî\ 1"A                      (\0(Eÿþz\0R\1fÌf+[{\95$v,\11Â4fº§\aþ|\91Ò\10\7fS\9a\ÑhLYu1L\864\9eÞ&×t=\9dàç+|YI\ 5?ÀÒ÷wÿ\fKoFi2¦\8aÆ·É\84â\8b\92f\17'/+J\87×Éôä!\87\18\ryóN\88\9fç\17Ï_ÝR:¡y\ 1Tãñ\r>7ÏCÔ!ͳ^\8a(   ÍdV[å÷$tNNTKq\9fe¦ÖþÙü#6¸¦4\8d\e\f®&\07Ï{óµÄ\19\ 4¾üÎ\90ª6Æz¡=m\8cÒÞ\9178b%«¥´´[KM¹rYí\9cÒ+òkI®\rh\8a³x$µ·J:R\9a×qø!\rÒQrÅAseeæ\8dÝ'\11׸Á\85<\ f®ÆH0Ö<É­´ç°{À»n\ 1\16±Ëê­pnglNÆ\92ö\87WÂcÕ²ö\92¶¢¬\ 1Â`+¤\84j-uf÷\e/sz|yÿ\16ðq\14£\e\18Y\ 3c0I¦\} X\\8d't\ e2<<\1cå\ fa\8a²4;ÒF\ fD^!\ 3µ\936är«äî¯aÿ.hm]\aWÓ$½=æ\10Åu\926m\96ÖÂá\8dPì¬\94Â\92\97_<ÉϵB\9eP0<\ 2m2$j)\19sÎå\a%\0Þh\81trÖù,´S~mjO¹´jÛp¡SccÕJiQÒI(\87ºè\95\15
-V\19\90NéÂØJx\14\81ð\8f\ 3äÒ\vU¢h\ 5=¾~þ4ïâï\83\ 5\ 50\0\e\96w¢þòôðîßo翽y¢l-PhËûð¶3VÃà×7ïço\ 6\ f¦,AÀ¶ò`f˺yä{¾\ f\9f)\94uþÈqå\-ûáÉe\99\8b\r9W^\92«\96Ift\ 1\9cVT\92Cæ²\10uÙÊ\aùe\89ih¢%_û\ eøE/2í¦áa¯\rBwHN|Ö\96º·x\86R´2l\ 2BµÖó\81ÇPR\90+\80y\81\936r=\b\ f\87²\10EBïYÔq# |³\91\9a\85Ñ\ 1Æ\9d.~ OÊ\93r\b\ 4á,KPÂ0#BNÚÿg^X?\7f\9cE\89\81bRçà\92\ 1\8fb¡cO M)2\19Ê\8c\88³\84~\vG<i\13\12,C63á\90õ½©\ 3sÁ!£Wå>t"S[±\8a<Ec\12\ 1Ð\1að\ eméOSZ\14_å4Èí\84\ fO&Ð^øpBNÍ\8c6Öx\93\99\92ó\90Ë\rZ\19´\91s§+Ä\16Än\bÇ\8b·#:dãëD$ô«Ùq\9bëwòÍ|mKA¥ZZa÷ä¼*K\ e¾U9TìêM¨6ô\13°\99\12b$ðom\90ktãÐ\99Q÷ÌTU­\15@²È\96Òï$J\9e\95\8a\15ß    \1cl#0Ãu31\a&ìiØXÚ¦\1fÎ^\87}\91\vP\ 1ol±í±õ)\94\v\81ѱ¹o8*¬©h-À=\1c\aຽ\89\9fw0q2\ e¼MhÎõmzTn4oܲ»\80¬Í\8e_Ý?<r=byaâÁõz®\14\9b<h5>8héE»ð¶uÇëhB?ýD±\973\88¨ùØÑs}I"Ë`\1f}\82Ó\80\azO\Ê=C\92¥;4¦a0ê^\Ì9bwrwGóê\1f\9d«=yó\19â?K0]ß]fú.t0ºgGé\9bún#ͦ\94ý<»\83\90\94þhÂÏÆ®.i\87\19 \v Ýì\1f\\9cððt \18\8c\82éb\8a\98&\8d5nd¦\ 4úðÁMQ=pítª\bôùÖXq¶\92Ìò#:nVÂ\8bX7 %Z\bw\85Ø\9d\8f¥;\86;T%\96ït88f¯[ɨÓû§×÷OGr¥ãÁr\ f\ 1BG0\9e\9c\ 4\1e\1e!\1cËBvànãE\ 5\89\1aÍв\96_ ¼LUð´hdA"Ï_\9d\8f\rí\8cs29´\ 4\8c\93Ck5çe?f±÷"\9c¡k|Ô\1eâ»ñÓ    âÎYþ\1fø7»üQ8?\93\9dá\12ø¹W`|\94+$Ö«\8a_4½\ 3}Kitýôv2\8c\ eÅÊ\8aElÓÔûfuÃ|ÒYü­4\9eøÈ\91R´ãi\17$dW÷\7f¯~P´\7fU\8aUG\ 48~Ì.S\eÌ=P\8c[¶µ\18ÆÙ\f¡j÷¹æ±\eÍ=û$1+üç¿G\12r\ fÃþ<¹SÑÆ89\91«³53øwZô¸±.\9eõéý¢\87\93\8b\fæw>,z\1a\1dÿä\97\8d\8a\ eÌ\ f¹Õ¿\`\14\ f\99/\9eý½l\94feô\1cµ\8eå9¶VØz$B\98Å ÷\13\v\95Á¿k\räy\~.¡îäÝ\12ã|òæ\88EñCC~RÙ§\1f\1d\132{\10úa-ôêÇå\16A_×Îÿà¨kSÉ\97¸P|}NÇfTð}2L\ 3¼\86Jé¹qÃQwk\ 5\87
-39/øýé\ 1´÷èõÍç\82àÂög7Ï\13EqËÊO÷­p~¾\a\1d·hÆV¾°Ðå\87\17°ÙpwþÀ~ÆQ\e@\8d£ÅÍ"¨\84Þ5W\16¦ûà$,\7fî2h'F¿\ 4îö\16ÑÄkï\17\8bÞ\r
-Sú\ 63oðâî\15ê\ f%ÜúÍ\89!M\9b\89(\1dM\93éí\88Æ7i¼\98Ïî_ÿ|Oo­a³¦\97&««Ö\12\ 3òt\8cßMLG4\98\f1*åßó[\87ëñ4\19ß\Åët\9aNy\9f\17ÿºø\1f¾ÛP\81endstream
-endobj
-1620 0 obj<</Type/Page/Parent 1367 0 R/Contents 1621 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 977 0 R>>endobj
-1621 0 obj<</Filter/FlateDecode/Length 1645      >>stream
-x\ 1µXmOÛH\10þί\18!U\97Jĵ\1dçUâCHBA*G¯¤jO\97û°±7\89Áñæ¼v\ 3ÿþ\9eÙµ\93`h\v÷\ 2"\18{wfö\99g\9e\19ó×\91G.¾=êúÔêP¸>r\1d\17wv\1f\9fÞó\1d
-z=|®És\ 3§[þ\95Ð\8dyæ÷[N\80{]¬ðñ\93IZ\1c\9dM\8fÞ\9dðGÓ\ 5[îôº4\8d\8ca\97¦aC\87Y¼É?\8a|õvz\8b¥A¹´1 éJÒþ1m2µ\91Yþ@z#Ãx\11KM9Vl°\95ÔÂ\\17Zf¿hJÔR¥åÖ\13rFWc|N¾NNHeìÅ¥¦×r|ÄÑpÎ\86SZÄ\89t¬»<\8bÓ%\85"¥¹¤´H\12{ß8\895\8e\94\88<þ&)WÆa*óÒÙJd°ñI.dV=<>\8cã¸æx#2±\969VÇ©1¥×s'TébÖhÏÞÒ\1a\11\12\bª\8cÖ
-PÆ).×ð®RÇB\15\96P5»NÏ#¿\ 3ðq¢\99ßé\92]PÁn\9e7[}§Ã\v\80#\1føYÈ÷Ð
-\vlyÎ\12Ør+c\ 2\89¤\90\15V EÚ\0xB\ 2I\bEBb®URäòÉéó\15g\ 3ë>ÿ:2®\9e\a\8f\81?Æó×\81Uóö\9fA\87\1c]¨µ9Ì\13¦®ð`\1cg2ÌUöð\12²ò\ 6\8av;8ÑÌg\86Ú\90®v\b\8bl\ 5·¥æå\82\8cÛ\8c)\89\8ch\99\93\83
-\11\14\99\87\89ÌÁµ\13»|çS¯T\91DLu\93\aöØ<(\ e\ 6ÿ\80ÿëBçv-h¿UÙÝ.wUý1Ci\86/\9cá\9bÌð\9bËb6Û\9dòYæÔ\ eÊG+yô<'øȯçÄO\v¨ª\8fï\16PÛwz\@\9c¡/8¾ÎM5rø\8fØ\10âÐ"äÒ.sV\16J\91e2Í\93\a*R\98\88\9e­bhâ\ fJ¸R­,\8e\9exeîÄi.\97ð\9bÉM&5\9c\99\0«ì\94E¼Ó°8Â
-\16Ò\8cf\8dO\97ãÙÛ\7f\11Ò&\8b×"{x\9f©bs9~6º\1f8®B,­Ð\92ÍT7MEX\8b\8f\ eVÕ;\9a~ÏñúÔ¬$\91\eÉZܪ,F÷°­Bsã(EE\13HJ*åÌ /´]É\94nÄz.¸¦\90In        \ 2Wôq<âý(*µ\16ÐíY#;\10|\ eñ z\8c\85&¶4/®¿L¯\8d\92G2\17q¢á\f\95¸åFÁ\92\1f/\v\ 4`=Z?\16L\1a[7#\95æ\99J\12TÔÛç¤a\81gjËQ.T\ 1MÍ!Âs\88îÁÁ4T\89\8f\16£Y2S4\1fo\18\86ªHs\ 2\r Y±í¡\86¬vgªÒf$\17¢Hr+özÀgD\17ßAûH\11_\96\1dÛ\8d**ï\eük2üØ\86é³û~öOÂØÉèk¢x\86gàÕÿ\b¿CçO&\18y/Ö\9bD¢åj] £L\877\17ÓÉûkZ\81J)H6\97 ó\8e\9eÉÜ)ò\95Èí\91ÛÕàU\8eO¦=\9d\1a5\7fóa6{SØeU\8d5h+4ß:`<¸\12§`\19*#Îum\biT\ 3\8e\9d¾¾pÑ    Óý(Åd\14Ññ\\86w\ fÇ6\1cÌzvâ²\95wbHl-ùUàvÜâ¸ë.J\1d\8eë\ 1Ëû\r@\80/\18ç¶Ua7\9b\19ß\ e¡Á\9aj±}\7f\9fZ\92÷±Æ\11ËÙÍ\14P\r\8cã"\8eN\8d\99\13U\9cn¤â$Eá©©<¾PÙò\98ϱ\9b¤paú\ 2]¨­Dû<±%É\1aTU4\84\aU\9d*Ô,\a``Hk\8e9`ÛqÊ©øÅ0í\14\91uÏHa\99ÉM"BL·V¡¶1ú³QË-\ 4\15£0üí\ 3´\9em²j\81í¦\80Jpì\0owÀ£Fæ\0\adLÁ&OC\18\82Ùz¥A³\86t\96\8eÉÔÕõÙïe\96vm«O\1eÞ-\16x\8d\ 2;\f{}§ïÐÄ\96\b}\18_\9eÓ\ 4bÇï\ e<o\89G:hqª\b\ e+~×NÌSÄ°×XÎ\añøÃ\91\1a\93;U\8dÓ0)4&ôªum\94\8eï+\99Uó[L\87a\82B5:ÊïEý2`¿\f8J\aÄÄY\16Rç>FäCê \rqz«\f\8dÀ\9e
-^×\8e%)Þ¢´F`Ñ\80zÝÞ¸çzAÇí\8cÆC¿ßév\87A09\1fz­vë|Ô­mÝl£+\fw#\0¾\94\ 3ò½ \eôZ\9dàɺGM~@\9eïz5SÉz\1fE»í÷]ßmyg\93ñ¤\ fïÃqë,hµÏÚ^à\ 6\93Im+¢ø t~#sXvñÝí{~P[d\8a|\1a¯\11¦[{dñ\1d\19|\9f$\96\ 4
\ eÈ\ 2\³p\17\87wj±°æ¿\8b\82\bÃü<\11K= ?>\7f¥êëÏ\9a1\8eô§¶0Éá°}×íÔv\ 3\8c\91\8c\98£î\87Læ¦y\97{ÊÌÔRÒ¶tæ8ø\b\9eÎQR¦\96\1e5~î\0ߣ¨|\ 1IC\91\99·\8a\9f±ôÝy¯\14\83ÿ\ eôZø7\80Ï\93îÍðêlH\1f\95\81q'D\a+§VÆ£Y-ov]TJÔxu=\a\9d\9eÓiûÐ\ 4ÞíõÙêdzôÛÑß\83í!\ 3endstream
-endobj
-1622 0 obj<</Type/Page/Parent 1367 0 R/Contents 1623 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 980 0 R>>endobj
-1623 0 obj<</Filter/FlateDecode/Length 635       >>stream
-x\ 1\85\8e\9b@\f}ÏWøqû\102·pÉS  $ÛJÝK7T­Ôöa\ 2\13B\16\18:\fJÓªÿ^\93\12M» \10ÈÇ>ö±=ßF\14\bÞ\14<\ 6Ü\85´\1a\11\87\80p\99ã\82ð=üfø\18\ 5\9bÞ\80Ð?¯\87ë\11ãÄñ@Pâ\b¨\80\93ÀñO\7f\8e\818\86\10Ã@ód4Y\12\b Ù µëãGv\fL I¯J\9dë:)*5\ 3ò*Ù\8d\b\8c\91ÀGÌUV´M)\ f·²7^+#Ë\f"i¬2\ 3`YÝ˶Ýk\93Í`:e\ 1a\84Óù"^\ 4\8be\18Æ|.øt>¥\82\88ÅbàÚ\98¢\92æpmt×¼\8dg@\19¡\ 3\88^ïTj£\12)fÐè¶ø\1e¦©îjû?\+«µ¼\8c\93ij\97¥Ì1Úç\ f\9fà|}\1d\84ëZe\9eËú\99\9aCc\7fÍ\9b\e¦vþÃã\ f\94mèP`ùyzI ®Èn»j­Ì\f\ 2B\86:§õ\vò꼨W[U\963\98¬\8b\96ív@Þ·q³yê#£Â\13>w\857\0åÏiп²x,ÒÇ\97C4ûì\9dlíJYì\15ÁÛ\vp,\a<¦W\82^¨t«+\15\17\ 6Û©Í\ 1\8béÿ'\16«±*×\93ËÚ!c$ëh+ëüÂ\8c¢õ¦kíÙüÏÒkûÜKßóc\9f\127\8aC\16¸\9e\17
-\81£Jù\94/££j\93e\0Ô{Z\991\17ý:ÐÀÁÍ\80HW\95ªmÛ×<Y
- ô\84b\1e.1âîK%[\ 5\95,J\90e     éÉ\ 1×:\97&+ê\1cì¶háÍÝÇä\ e¬\86\9d2æðú8±\8e\ 3IoÎtÚ\1d\89`/[Àé·Ð5\99´*C\9f³àÜa=¥Q\9b\12EŸ
-Výäã1Â\1c\8e\8cÇ\\9c/tú\94®\7fJ\97ºxÖø\1cøy×WáÍ<\84{£û]\83øÄ-m¡ëÞs|v\18{¤??.\89!\ßq§\fÏ\98ÞÎ\8eC±HFïG¿\ 1\ 6à^èendstream
-endobj
-1624 0 obj<</Type/Page/Parent 1367 0 R/Contents 1625 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 987 0 R>>endobj
-1625 0 obj<</Filter/FlateDecode/Length 1464      >>stream
-x\ 1\8dV]oÛ6\14}÷¯¸ÈKS \96mÙq>\9e¶uK[ h·Æm0 /4EY¬%Q#)«þ÷;\97\94\1cW\r°!pl\89äý8çÜ{ùÏdAsü-è:¥å\9ad5\99's¼9ýûôf\92Þ¤É\92®\96\8a*Z¥7ÉuÿTÒ\ 3ï§+¼[Óêæ\1a¿S|¬¢<,¬Vó$\1d\97É--aî\ 6æÒÅ\ 2;âÓ`n\99ÞÂÈÈÜrq\v\1fiz\8dÿ\1cÅ\1aÇâ\13\1fûm3\99ÝßR:§M\8e|Ö×7´ÉB\1ax#/_\17¢ñÊb=¡·\1f\1f7\1féW)\95sô ª­ gZ+\15I\93©\97\9bo\939MÓ\15Î_\1e´ ×_\1eø\1d[_\GëÓå
-α\ es\8b\84ÞÕÞ\9a¬\95^\9b:n]ÑbÑo\rñbkt¤\1deê JÓ¨\8ctM¢&ü¬IÕ\amM]©Ú'ô{¿Ã:j\9dâ\0èëåkSËÖZl /Ê:¸Òõ\8e\1e\8eΫêëKò¦\ f\8c¡]ÈBɽ®/pV\94Îо6\1d\1c\90¦ª´¿À©Zuç¹'\11\8e\17\8e\ eÂjÓºà{kE\rc\8e$¢Ý*\12\ 1\ ftFNEmêc5\1cl\1d\87è\v\85L\9d·\11 \ 6À\v]Æü}\ 1Dd$'é\8d\81Ù\0þ\86×2#[F\85ð[Pe2\9dkv\1d\93ÿl?7m\9d\91ðTxßÜÍf\8e)N\8cÝÅ_3ypIá«2Rõ#«Á1XM\93\90z/\12oèd$\9ez\86à\rò¬\84,t­\9ev\93mk\ e¼i·¥\96å±\aOoËÈ«U\8d\e{¤ÜØ~\15d\86¬ÎTÉ\89:ÈÂ\8a\106\ 4:ðÜ\b¹\17;å^\ 1dY¶\19C\1e\82}EÖ\1dk   \89eôM{¨\7fÛî\12B\98¨N\81\8fï\f\ 2\86\b;qtì \12;pƲsÊÂ'\99\1añh7"»0Î\aÎBi\09.¼ér\11Ù\v ¢8z\bûJêÔö\19\0¹\94þ6m\10X\fâ§üùü\11UJ¹8àK{E\8f\8f\8f´µ¦C\90\9c\16\v¤,ñÈû\18Â3KÒÔ\1e"â,GIè:Ó\a\9dµ¢¤\1c¢t\\94¬Ø3b\18ÀPA°Y\1a³giÅ-\aÍuHp\1d\18ä\8d±¶°o\17 \1d\9b\1f4>°wÊ\9a+T¸}T\ 1Aå9\950Ëdl\95ï\14z\84¨\8f\81³^û°?\ eu°>TÐgt\ f\8eôó§÷t÷s9È\9d\9enuÍ\ 5\ 5åð,\93(\883&qâ¿h\f        Å\1eË!\9ck\99¹\14T\e[\ 1u\98"YêÐø\ 2\89;}\0\rÌaÕÊ\ 2%\ f©2\7fÖ\94dX\8d¼\84V4"23Ôi_<OÞ¹,B_4­§®0¨Â>0o\15¼2\83\1a¶RQ\8boC\99\80Ö8ä§\80\99s\9c
-!Dθ±*WhØ\19\17&{ª0ÒyH\82\8bP\9cæ\ 1ª\1fÞkãé[ë<\16¤p,ËAâ½Ó\81Û\r"CC/\8dÈ\82»\12\18Ãy\86õ+j\8c\ 4fv°4è÷\aUt]\97È#\88\90   Ò\99%!\18~ÜCf£|9»\17oMÇèìTðù\ 2j­÷±i"ÿ\1ch"\8cÜw\9c#Ú1hãSo>|¦7\7f¾ç\91\84Jë§ï×\97     }0\0Ù\17±²\18\16|\9eïw;+\9aBK\0Ã\r**Ç\81K\r­4Ö \96\19Ô§]È^Ù\`º#Z\8eÁ\19ð¡+°]!0\81n\1d\f\9d8|\8fDÆ­.\1eu838\fÜ\ 5\8d\1f\ 4÷óÜ\9aj(²\1fá\1c×%¸Ûqãí;T¨\87Óäd\ 6yìs¬¹á\8e\16ZºW\r\ 4v\8f!Á­\98ÔwQ5pªãdt\ eS\92\85\0\ 4¹>:\ 1ÒÇÓY\9aæÈ*\f(\8cï=\83mE\ 6ëö\DOÍP\ 3\81~\18\90\vW\8f(V×nÑ«|\eHär\85î¥\1fɦ\9fTT\8b*ܲpÝ\9c\ ej~\87\v\ 2º7\98ÃA\1e÷C¬@\ 3\9d\a+\9c\95UØsÄ­\85/\ f<V\87]\9cÑS#!45a\8f\ 1õ).b¸\ 1f\97\18E\1c\ f\1eO£óS\e\eh_¿¼<»¿:»ºõ\17\11¶<Íè®\89ãð\ eÏ¿\9cî\ 3wÜ>­AÙ¢çëP*³ûáz0å\9bdoå±@\ f\a]èò±½\85\81O\8dp®3\16Ü\1d\e\15B\9cÝ/ú\18.a:F5\18¼<%u\95âúÌWЧ¼Ök~ñLV'\10\96qóìþ¦÷0M¯0²ç¸Rãäÿ¿$\87~\88²áàVkÜý¯Ò\1eåtÁïþØLþ\9aü\váËåæendstream
-endobj
-1626 0 obj<</Type/Page/Parent 1367 0 R/Contents 1627 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
-1627 0 obj<</Filter/FlateDecode/Length 610       >>stream
-x\ 1\8dTMOã0\14¼÷W\8c8\95CB\92¦iéi\veÅe\ 5«FË\ 5        ¹\8eÓ\ 4%v±\9dVüû}vR(e\ f«ªR>\9eç½\997\93·Q\8c\88~1f      &\19x;\8aÂ\bÓ(\r3¤ó\19]'ô×\ 2åè&\1f\9c"\8e\91\97®6\9bÏ\90\17 ú(BÎÇ|o\10\14\8cÐ{¡\17tÿðvÃB¥·\8b+ºÕJYp\ 5ÿô2\7f%¼tÀ\v"\ 4I\16¦\848ΫÚàP7\r¸\16Ì
-0\14µ\16Ü*ý\ eÎ\9aF\14=\ 4aIËjYË-l%ÐP±±Ã;£:Í\ 5\95\14\ 2Ïã:\14¡¯¹¿[®\kê\17OÂÄõ³l»%H7ÿF3É«çË\10~\bÞi-¤m¨­¢+³S²0°Ê#MH\98BìE£v-\15Áj!B\a}ÊåöÏz\0\15\ 6\8a\86Ôp\13\10\r\89\8d\80Ú¸ù©ùæ\1d\9d9òè¥I\ 6\81þªÕ\18L\16Ôºì\993\10\ 1\12Ã%\9a\9a\14PåÐô;S_h\8eýKÕ\11\94\92\9eÐÅê\93Í\ 5vlKó\95þ\8d_\18\ eb\ 3S[ß\86«¶¥cZ¼uNrZ\98UgÍznþü°\98\84ôÖ¢\11Ìô{9ª¬º\86\14\10(\94\14_\95(UÓ¨\83ÓÅ5$Ú^àO\e\9e¸æÿí\17\97¿n\96/ÉKò//\9eXã©\12\92DÑxW\1d\ eÌmY¡\15\9a¤©{Ñ\ 6jÞf¼brK{î\88\9fóã·éQjÕ\92µmÕ\9f>S¬\97ùÃë\8b~íÇÈ\9dqív\85Ë\ 6%.xì\v?²D\11\9d\S\80ÉÛi\88þå|pS\9cR ç\13ÄS\9f5/\ 4\1eµz¥|a¥xç¼Ìl­¤;\17Ä\19}\ 3¨<\98\ eï¶b;Kz$Q\88û\87§ü\ 1\851X»¤ã4tû\9a\81ìï`Òl\1e\84>4\ 4\11'\89{v\97\8f~\8fþ\ 2z\94_Üendstream
-endobj
-1628 0 obj<</Type/Page/Parent 1367 0 R/Contents 1629 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1629 0 obj<</Filter/FlateDecode/Length 1410      >>stream
-x\ 1\95WÛnÛF\10}÷WLó"\19\90h\99¾Æ/E\eÇmÑÔi\11\15A\ 1¿¬È\95¸6Éew\97\96õ÷=³\97\88"Ü4\85aÃ"wvfÎ9sÑßG§´ÀÏ)]åtvIEs´Èðq±Èr:¿¾Âÿ9~\8d¤õÑ\8fË£\93»·\94/h¹\86ÉåÕ5-KÂñ\ 5\9e\14Ów\95è\9c4\94\9f\93Ñ}G\8dè:Õnèç\8f\9f\97\1f\8f\97\8f0?§ÓÓ`>ϯábYN?9a\1c\1fÛ*WÑ'Ѭ\ 4\9dÁ§¨»JP>#A­ÜÒæàÊuß\16\96\94%ñ,T-VµÌhYI*zcdë¨\91®Ò%=Lkõ$ë\1d9Í!,h~z\16\1c\17\95h7òá\18o\10j+6\92\1cì½#ë/ö\8e\vÝàmI\85¨kY\864.b\1aS²ÍÊ\eÈR¹Ã\14§Yô\97_fç\9c(\a·VÆ:RM\83óÂI\0+,²@\ 4½\1d¸ÿ\ 2\1dÞ úýöÝ\8cãq\95p\1câ8\86R7Bá`Ùà¯\8ff\14        éux\ 2f\13ü \ 5$\90\15º\8d\a\12?Sö×jÀ®[\8f+>vÂ\b\80
-\8a·Âr¼%ǽQÏ!ðZY\87Gxn,Õ\1a\88\8cÚTÎ\12§YIe"*ÉÿV\9b\ 4\93i3úÅùË­n$0ب\82¬ë×ë\90ºUM\a\ 2\8eV½£R\95íÄ\91\853IÏÒ६kZkC ­«å\vYéúÎ\8e¹ø Y $_º\9a¡«\90©\82k\8e\85\ 3½_\9e\7f\9dq~\95ðù!ÿ\10ÏZ\94\92ÄVì2ú\I\b°EôuÍ\ 2\ eVl/FIr0=\90Ã\8d\10A4\ 1\90\9dÑ\e\80J\ 5tà¤%\9fw@\90%\17¤\98ѽvÐ7$\fãÉ\ fL3°6Âic'á\10ª\84Ï\83\v;r\8d\14¼nü]ÁAgÔ³ªå\ 6\ e¹6üµb¥jå¸J(Ô\85\7fZ²Fùf§\80\16PÅë'\ 5\84E»ãà\vi-*\8cá®5\v\87ãQ\0¦o[F'ð\1f\95Ñ\88¢RAYã\94&^B¡þ\1aÙ¬\0\93f\ 1\8cÏ\1d¦îª~\9cùDµ\954ÊM¾b\8c$\12\16\10ß\1aÅ6yÔr\1fB ¦ô\18¬$h\ 4\1c\10ΠªQ¶\87ô|a'ÜZ¡nä\8b(\äÒ¢\9e(\96\a^\8d\9aõr\13Ie\11AÆéQ\ 3J_\8c\82B/\98\e\ 6ÝS\8f>je\90Þ\9bÛÐ+^\15QÄy\94\11º\8f'£,\83\8f\7fg"ñ4(é\8cÞû²\f\90¡¶"\93¯\87\1c${Hcj&_S\ 4m¹0k½Ù\ft7\f*úI\8dù/Ý\93À\88ã~·Õm  Ñ\0:î    \90{#P!¾.\11ûN÷\86À\1aF\14Ã\12*õõÜF¹\8c\ 1ÿ\1e³J¸\89å       PC\ e\98\ 3;O8\86ð<\ 5\16Ô\aÅõ­z     \85\8ejëmïMзØÉÉ]êêÓ\13é\8a\93×\ 6ÀÃñ\8cjÉîx\8aq«c\9d\94\rÛÏ1\120ÀË)æ6\7fÆÇ/#R\94^V®\82Ê\ 2\eÌ~HÛK«é1ÎV\92\ eÓËè\ e-\ 1\16LÊã\86¾\8e¡\8câ\9a
-\1d\12\11f7\eáä\11ÆøF+ÿ\1fùaw@ZµÖO¾£Ý$\Þ¦]ã<\8cà\90õÍËÍÅ"¿I±Ì8\8e`\91Æ\1fcrv\95]2,ù\1e\96\8bE¸æ7Ñ¡²\80I¸/AÃ\9dö«ÃÙw¨ý\124\8d\86«\1d¥&ÉðÆ\85#&\91V\r,.I\16Ã\9d\83æ\ 5\1d\14µ}Có~@ïÞ\1d'\95®8\vIÍó\v\9a\19orS\94Á\ 4U\80\819ó<áÏ\80(_!\9c/h\81r\ 6#\88¾\8b\1c¦Ë?¤¡r;h6Q@3®!¨°\ 5û\9d\1f#¬\14\86\19\bÿs¯r\14\1e\8f\98ûe\80(#\ 4ç­DmCM\8etç\aö©\11\81\1eg~@ÇF\99zyê¦\ fSD\96æ¸Aå\85bÇN\8366r\998Ûªv¥Ú\92k\8csÛê¾.ã`\8dë\91(ü ä¤¨\90Æ1\86¥2²À\ 4÷#w0÷·\15N\81\86ý\90\19/\13¡\101NámÐ\8dPtµ\88\1d?\1cÁH9Ä\81öJûVu\85Þ\13î\9b»¸þ¦2\19h2ñÃ[ \9f·ÏÂ(ÝGÖ±Nûí\8fI÷_ °X\88\15¦RZ@T,\8dÿTûs(ÔëÁ"\vYC½ßðõãüò:»¼Èc·ËÏøª÷Ë£?\8eþ\ 1¦\1f)[endstream
-endobj
-1630 0 obj<</Type/Page/Parent 1367 0 R/Contents 1631 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1631 0 obj<</Filter/FlateDecode/Length 1531      >>stream
-x\ 1\8dWÑnÛ6\14}ÏWÜ\97¡)\10«¶ã&é\80=¬ÅR\14ØÒ\ e1\90\97¼\I\94Í\85"U\92²æ¿ß¹¤\1cÛê0\fE\e×"/Ï=çÜCåûÅ\82æø³ Û%]ßPÕ^Ì\8b\96óâ\86Vw·ø¼Ä_¯¨I\ f\16\8bÛb5}ðq}ñîþ\ 3-ç´nPëæö\8eÖ5¡Î\1cßT\97\9f¶ÜEåi¹,è\91Û\92©S¾q¾e[)Ò!ô*¼]ÿ\95j,ns\8dÙõªX¢Ê%6-
-úäÚ\8e½\ eÎ\8e+W´X\8c+\97·\80\8a\95ë­\1aË\aåw8¯\ f*ÐúÓ7\8a\8e"\9b\97ô\13\8b\95\8d\ 5­·} ÝÐÞõÄè0ú½¶\eY\15\14p5¤ã\ 1i A\19\93V\86­ëM-xç4[\g\94^±1{ª\12\8dR¥ónã¹\r\14·\1c\ 5\r>(
-Ü*y\14\8c\80PÔº\10A1×\1a5xÇÚpiÒ¢¼\1f\Q£ñMôlC£üäô×úÒ¬tÒÄ\8e°\87­Ã\89>qPrP5=þñ\11Í ;ÅXcy\ 3=ÁÞ\97ÌÃÀ6a\8f
-\90xÃÚâgp­\8a[áÆè\17EL\ fk)ÿÔ<mÆjÒ\99\f\1a<my\a°\8ej\1dR' \87Ê>& ÎNÐ+\9d\9fQ\19©=\82¤¯òlÐàNTjy\9f\85(\15ø\14@\8cc -x«u\ 3f ì+¹ô|\19újK\1cèAÅRõúù-8\99j\97EKÞJ\a\804Bý\1d\e]OYú¬¬òé8\81\93­\0il\9d5>sw  [Hé\ 1\ e\\88\81çáUF
-\9dRuA_@qrÕÁnô½×\11DO\98*á«\86\83Ì\12$·ôpÿxEl"ön¶øJ\a\82²{j¥ëZuÊÖ\81\ 5\8cî±±\9d6ô¨°\83\r\ ev\1d\f\96\84«\9d\85\14Ç\89\ 3\eqPÐ7·\a\ 6éÁí0\ fW\82 9AÛ\875ú°É*TÁk!¯\9et0\ e>\9c(r\97\15iKɦ2'\8a\ 6ç\ 3\v\85\1eìT0£,Ô\9b\8d\18²á*Â\1cèSDÊpvà\19þÌ5Æ.\93Ù°qrú\96}=È|H\vµ×h=È\ÖB\92\9c³CÆ8\84Bæ*\14ô\19kÐTÖ\11ì\8cûóÉ£f\95ò\11s\ 2\95Ëé\81\8a\8a´\99ä¦\ 1~?C\e\92(\92 §é\97¦\12é\87ÐüÚ\19\1c3\12\8f$gg×\12Ò9#SJ~EC;­\ 6iûÝýYDʲ±LÎ:¡\1aÓ\94¢CR!\87\8dJ¡×"\965Xi¼k1dc¢ÂÆ@\92£\8e+\94H©ä *G¬\ 6a\88\91Ãê       ù\882\e\ 3¨'8\rí`:]×9\1f{«CÔ\95T~Á\80B\87,FF$b7\1ey\8c³\19W\ 5\94N\981
-x"¢9¡^,ËU¥\80Z"|\846\81 ²c_\8a(ÞxY\f\e\8f½Ô\1c¹ '\91(»*c\8dû\ e\8e\96²#*I"\8c\8e\v\1eì»Ê¸0µÁ)Ak\99Ò
-,lÄ\14Êâ\1a\14Ç\9dÞ\88%B¦Ñ1Û\ 22\1f":¡\12\f^\19\85\11\8c3°(>\14\8b;D#æbÀèz\8fÉAc¡O\f\83ñ)Ñ\90*!\11\ e{oó\b\94HQÕpoâÕ¿0' \91\8b\87åM#S\ 3±1\15jFå~\96>\11.\1a\14E© b<\88\81Ë\e×\9e\ 4×ÏÙ\9cïOîïñ\ 6ʶ\bô\vݳÉ\1c\9e\9bx\÷$\ 4`²ZÄ[ö\82d1\18\ 1\9f\87\1a@¶u\83d\e\ 2\12|÷`\ 47\ 3\98­¶-{¼
- Np©\8bθ\e>Ê÷\0¬Z±\99(3í¿Ã\8dý·n9\8a_\98®ç?\91nñÝN\ 1\ 6¬x6ÜШ\ 59G\8a\85(ÉÙ\r\12ö\15VB/®\8d=\9bÉy§µ\ 1Kl\96Èw¾\96Ì\82ð-o¬\8e\bF\ 6,4\9a\13_(Çy\83¼s\9c\18Ö«Z\8b+r|Ö\ e˦wÁ7¯v)þÀAN¸ÑW(\83Ð\1c@$Ó\9b\86ñ
-0òü\ 6\1fdðÇNó\7f\10\93Ð_@\eÕ$j\12\f\a¨x\91\994Zrõ\82HÆ=\95.\9c¨KmtÜËÛ\90¼ì¥ ×ñM\8aé\9cû\83ô\89NÐ3®Î_åæô¸?û\16º"\a\9acçÎÔ¨\8ack=½ó\eg\8c\eN\82÷5R\17ùu(\ 5/¢÷wxÈ,Ï\13ø\87`M\83\99\19ÃËrñ\1e4Y\85\8eÇvfà"\15\94÷<\bdöȺ\83]10ã¨b\10\9f/O®t¡Z\18\96Þ\1dF®ÜO\b\1c\a\96fbß$xhË¢rV,b©\13ÏÉûc­pI\99ðü\16ZaàG\97\8c¨\ e8\10ÉÇ\91>\9fh ýáìÿ\9cð»ã\84¯®3©ÿ÷\17\81ÕÍ]qó~\89+\ e·Öb¹\92\96\7f[_üyñ\ f\v['Nendstream
-endobj
-1632 0 obj<</Type/Page/Parent 1367 0 R/Contents 1633 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1633 0 obj<</Filter/FlateDecode/Length 1595      >>stream
-x\ 1\95WMoÛF\10½ûW\ft\89\ 3H´¾,+\87\1eìÄ)\82ÖuZë\90\ 2\ 6\8a\147"¹ìîÒ\8aúëûfHÉ\12­\1e\8aÀ\88@jgÞ¼yófõ÷Å\84Æø7¡\9b\16\94\94\17ãhL\8bé,\9aÓ|y\83ÏSü9M\99¼\98/¯£å¹\17Óé\99\17\8b«Ï×4\99Ð*C\92Åò\86V)!ÁxL«ä²Ð/º\98\92­\v\9bl<ýDÁ5úýê;\ eÍ\ f\87\ 5 ¬ÒK\9fÛ¦HÉ×Z§\94Ø*i\9cÓU \95$Ú{
-\962Sh|È\15\1e\ 2qe\ 3¾W\96¶*v´u&\ 4]ákCòM\92\93ò¤êº0\89
-ÆVäµ{1Õ\9a|\8e£\9eA\8ci4\99ESNý|itÔ½jã#\7fP¦êâStÿí¾K?z\rO\ f&qÖÛ,Ðc\96\99D·!\9eßsr\ 3\90Ea·\9e\92 \ e® \97Öi\95\8eTÎÿQ¢\92\#]mP¢Í\80B{4\85+\8eZÊ>Ð\ 4<1Ï£Ù¤¥l:\8d¦Ñ,¢Gðö.S\e½çú\1d>HÙ#Juí4HÐé[æ¹]\97\8c\15òWÀëAòQ\98!Å;Z;U\ 5¦NuÑi\9bë
-­uxÒÖ\86zÑßÌ:²\15\88\ 6õ£p\90èlQ \9f\8dç\b(ªG\81\b_Ëöx\aÇé\a\11}Éhg\et/ÐÉ+\88i§ý\80#Vò\r\16DÐEÑ¥Ù\ 3\13± \15¥Úõ2«5tà\r\14ºëÈG,!\9cR\15\94T\83\ 6\ 2\98®Ú\16\80ø½Vï+\15Kª>ëLb\81qBcE\96­Ü\bÌt\9f\ 4\10\97´©ì\96\863°~cÝ        \1ddeÎ\96ÌdWD\1f8\84\94\96\b^ã4ÅfMµvhC©*\88Ñ\94µ³/ºä!Â\ 4àá\8e«q2\10þÀ­æZ@\1e7­S\rÏ˹9AãAsÙ\14ÁÔ8²\176È}Å¿o@;¬Â\ 4Ï&\0\ 6î\16y\ 5ä\aø,»5\9a+\94'Ö¹Ftû*yH´\95üü y\bþ        \86\82S-\\99æSK¹\89\16\95àei(ª\9a2\86d1Zþä0@\ 1\99à\0Ø\80V¨,ÓI\vö\98N\9cT´úø\95båÑ$6\14Ä+̦¯i\19(©àH1\80r6q;}\8dÇÔ3N\b=H;b\e\1aSÆ&§ª\14¹ \89­Á\v~:zìê\1f²¼àUxØ\93Êaº¸\19ç\10\r\18 \7f"¾Ñ:\10\1d\ 2 \7f£
-ªÕZÃQ|âL\fÄ9$\f_æéDrø\15£\c¦ú\ 6\v\aB\rºB\9baÆoÆégT½×Í)"rf\9d·í)Ù\98Z\95§\ 6-Âr\80È\91\1eÓä\8e\85\ f×j\ 2«j\1f³Äv°°\1f4¹GPªán)F%°Ó}o<fËCàIÎ.ÆÌc\aA\vÜ\16\0l{\84¶ïØVQN7Z\82\0K\ e\fU:l­Û\9c#û¤2VÒ_¿=~ºÿõöOöJî(\8f¼¨\11ó\ÊÆ\93\9aù\15f{­\81\8em\14\93wD\0»ni}èUÖáÀ\98?ðÜ×\1a[XÃ\98jë¸Y¼BÓ\949ïI\0Æz\84l@©mà\ e->YTG#ÑK)\ 3Òê9u\10AK!t\12Hÿ¨\v\9bø\våê\85\95\ eçfðb<Â@ç\10¯[\15H®¾|%\1fT²a\92<ö)\94ÞËëÑ\bQORÓíÇ_\8eöå\19ó\98\aï[oþ\91iù/ßØ[á@\8aæo\ f:cèz\ 5\15\14ªf?I\8dß\88åû+q:ßÎh×\81\937bºÜOUÚ\86m\19§±lz\ 5ÅZÊÁÞõ\90¹\83Ù`º=o\\b¬\9b̧\87»½/xz¾ì.Kp/¼\10\14Ãço2\96xÎ¥ÄNmqA1ý  -\94[ÃΠ\f6\12pý¢\8a\86åÈw*\0îì.ÖkS¡@8º`Ä\e±îX£\952G9\ 6\b3£!\80TNns\våÕh!lBV\eâõ*î¸:r2\f\ 4Å\1eá\1eÊ\9cö\10XI²'»ÃÁK\98Q\v6F\14³Ú¸þ^bÁÃ\r|;°à\0Û\93\9b\s©<Õ\1c\ajæûOK
-ßUåº&\1a`÷Û\ 3én­âé¦4 wȺçHâ\1f\ 5®« EË®é\81:\8dÏ$°3\0\ f\e\13îcXS¯­\ 2I¨Ô½ÅÏF\9d)ìê®\958?YÌ\96óÖ\1eO@üÀPãB\81\98ÿ\81°\94óîØÝ-\82!iÉ\e\88\89åÍ[B\8d¢\92a\ f\0GEBÞ\8eФø\r\1f\13úZeÉÅåEÁJ¥ ¹\ 2\85-·Éï|`ÿ\83omÕ.¢Û®\0î\ 6-®¯ñ3\ 6¡kk*0èûBæä\12;QتrG\ 2\8aó%\98J]Zälª
-\1aõ^9Sì\84»«ÏËî7Éd\81\9f\19-n>´×\88§Û\87»[úêìwÞ\ 5\9f\1c¸âÊGû\ 3£\9bñ\a¾vüÿkù|±\8c\16×SÜíq|2½æ°÷«\8bß/þ\ 5W,\80iendstream
-endobj
-1634 0 obj<</Type/Page/Parent 1367 0 R/Contents 1635 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1635 0 obj<</Filter/FlateDecode/Length 1474      >>stream
-x\ 1uWÑnÛ8\10|ÏW,ürNQ«¶\13\ 1}h®-Pà\9aë!\ 6\ e\v-Q\16\eJTIÊ\8eûõ7KJ±£¸H\ 2$\96¸;;;;Ëü¸\98Ñ\14_3º\99ÓUJYu1M¦\94.o\93kº^Þà÷9~¬¤"<XL\97IzîÁÕrzþÁ,\9d&ós'\96\v\ 4\1e¤¸[]¼û|K³\eZ\15@\95¦\8bdI«\9c\80i:¥U6\9eÏ\93EB_Å\13=UÊ_®¾ãýk\9aÍâû\93ù\r@¬òñ\a\vëÛ\86|))ÓJÖ\9eD\9d\93\93v'-Õrk¼\12^\92 Q%\9eTÕVä­¨\1dÂ\8eÈ©\9fò-íK\95\95¤\15>r!\ e\7fL¦Àiaõ\81\84Öôðõ\8eQLi2»B\9dÈ\9d\99ªB&\97п¦¥LÔÈéÃñ>O\bãKáéAT\eA{\85@GD­Sõ6\1c`d¡PzO#2\8dW¦&U\ f\12ºj\93d¦.\12º7((\ 4ö¥r\84o®þEZ \ad4ôG+\1dÃz\89Bd\99lü[Ú´\9e\ 2ö0+sÑå\92ô&Rü&Ö\12£$´:rß\83°2\93j'\ 3Ã\fÐqc¼é\98Ø\1c\ 2â\93~\ 5\86\ 6©KS\9bÖrq\b\10Ú\93toÌSÈ\16=øâ)\97\85h57ÎPºX@Û\9b\83\97\8eÖã\13\97±Tå\19Kc\9cS\eÝ\95åLÕ+Ç\81Ã\ 3\16ÆV´\91ÞCB{åK\12\ 3\82(ð°\97\12µµò Â\1e¸§;¡Á:+HKÇø!\8eùôzÉɵz\94Ð\14Ðf¢u HB§\92\1ak\80¨r¯*¬©2h`&\1c"rI]Á}×7ÜÞ(\99pöt®&W×\91'\8cS\9aÐ\9f&{\ 4<.åì4Ý\1d\9e\83GÁæ\ 69Y\1eªj\0\8e[è¼U\99'\1dC\11t*\ 5\86ÇJ\91¿Û[\ 5]f<.ë±Ð¾4í¶$p\9e«\1crF\8dr§Lë\ 6\¢~\aÁ»õeB_
-:`\9ad-¸?\83dëq\1c\99Ñàó÷t\90n´¾dzêp\9eÛX(Ø@\10.GtmQ _¢ã{\0¡k¹¨3I%\0£¬ \vwpþLSXïÃ#a¸¹\8b@~\80vh\vNX?\88uÿù\ 1]lk/sÀ\82&bبÉÌ´:ç\ 3?Z¦¯Tà\f\9a¨qp\80\12¤\v\r2Ýc\94ɯZ}\93ÐC) ªÊä2°}¶Ý\ f,üF\1a´ö\84,ÓÈ\9a5\1cp²ÈÐ\9e\ 39mö<çø\eߦðÀ·\91\909ërä\8e9G\94!5¼Næ(Ù\9bA!E«ÁÑQTAÖ\ 6&q\8c\80Þ£cGoEÕA\12Á\vBð^\v'gÞC¬£\ efèÇV¼rQ\16\83\80~!jPÜ\15Ë\e#Ó&\18r,\9c\8d1\84¨$\867Èh=Æ\89è\16<\8cQo\14{I{Sÿæ   ¾\ 1\ 5±È`Ô9a¾í t\90%\ 2·ì\0\9c>pÇ9Ã\fMLÍÌDF\ve1Û¥\0ç<âx\97Çl\12Æ,¡ÏÆ®j¬§¦Ñ*\13¼4\82×`Þ\fGUÐÞþ\8c\86Ø\ 3ð\1c}äùfØ\95\8brD       ±HäÄ\18a  ³ýü\83a2{÷2W.\81)§R\8a\9d\ 2j\bý\85\ 6\ 6\95ï\8d\r\993c±\1c<\ e0ëÈ\ 2 ø\0Û\14ÁX-¼ªX\11Ñ\83\8e\9aÀ\f7\8d±\9egEË\ 2{>¾×\e\1d\99z4tÐ\15B\9d\ 4      ÚA#ct&w#\ 3³\81WÖ5\1erúYr\9bà\82\96h7Z«1\ 3\81:8®\8bk\81ßûO\15Åä#(\18úÚ½ôw²\869~û\83Â/\95\88\fxc4¬.T^\9b=\0àÞ²ëK\8fÀºìÏ32\18\ eÜUt¸\9b¼\9a­¾S÷«!\11÷\7f­>ýN_bua©ð\92\86§÷\ 6Ì\v+fG]°\ f4\ 6Úï®#\90kXW<n9U²2°\85\9d\12\84[P³\1eó4\fÇü\19|àóØ\ 3\\99\82\93Tâ1ì4\90\8aÍÛ\82©BÀo-ìKòr\96¸\0>Ê0\e¬Ê\12T\ 1\eXÀ¡Â_¹à\92\17Þ\16JÙIÍR<ë\81ݾéonº?\10\16\98\88þÔ\ 4\91\8cr¹i»h¼jئyÿ\87ÕÎX\8f\8bçyÕ C[ìkk\9a×\97¹\93õqôÕÞQ¹ôî\ 2[èÖ\95Ýægt\81\r\ 1ÿµqñÂ\16l\18ýþ\1aË\17Q\fHpmù\84\ 1\86uD-»\eô,Å\85\7fyEi\7f\97}øðõî\ 3}³æ;&\93>\9a¬åe\1fâ2u\93þÀäfzË÷®××óë\14ÿ0,æ¸Ìãñl\9eò±O«\8b¿/þ\a\ 4óendstream
-endobj
-1636 0 obj<</Type/Page/Parent 1367 0 R/Contents 1637 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1637 0 obj<</Filter/FlateDecode/Length 1226      >>stream
-x\ 1½VÁnã6\10½ç+\ 6¾4\v8ªe»vrÈ!A[`\ fÙ¶\89\81E\81\h\89¶¸¦D\85¤¬ª_ß7¤\9ch\95lö°@\11$\b !çÍ\9b7oøt\96Ò\f?)­ç´XQV\9eÍ\92\19­ÒU2§åå\1aÿÏñk%íÂ\87åò2Y½õa1\9f½ý!\9dÍ^_u»9ûù÷+J×´Ù!ûê2¥MNÈ<\9bÑ&;\9fÏ\93«\84>«\\92V\95t\1f6_\10¿¤\14a\1c\7f1_#Ù&?ß\14\92&m\1fwp\132µW¦"å¨2-ÉJlµÌiÛQ.w¢Ñ~JÛÆ\93ÚQg\1aÊ\95ãï¤<=\9eï\8c¥­ô^Zr2k¬òÝã\aò\85¬Bl):F\81Üé\ 2õ ·kv;\ 4\vª¥ÅáRT\99¤\ 2
-|9£\8fªÚÓNi (¥K\88Á\ ecµq\8e\91\9c¬\0³\87U\88#ªÚKßæ\94\89\f§®G©;é&Sj\v\95\15§R\ 1ôTc\12éz¡÷b±L\96\f\19¼¦³\84î¥ÈÉ\8aö}Zm\1fŤJ+N¼æÒ©=£õ\ 6|\91¨\ 2ç¥r2\9f\92\85\16^VY\17*\a\11Hõ|>¡\e\90k\8f í5\9fYa\8c\93|me<¹¦®\8d\ 5\99hYaZ\893  \92åô Ê­Àñ\83tÏAÜ»É\10/\83\15\1a\14)\ f\86<\80r/^ä0â³\17\8eÕµ\8at}¬È\99R¢ \ eÉ2­då\1då¦úÉS\ 1,\90Π+\10vÔJ­\ 3L\91ùFhÝ\11úÈ´ äaï\eÇ\80\80Ìã"VÙX]|,\ 6qg3S\1d\91<T5âÔ\8dQ?\98(Xµ/\90Y\1d\ 2¥\1eØ\9e±Ò5(\9e\ 4\98NJèHp=u-+G\18\1e\8c\86¥
-ò3ö\90ÐGOe¼\8a\8b\98B7h5\81ptiD£À@d>\9e\1f\14\9bÐ\1f\15\88ðÒy.:CÁè\15sãÁÖûjMa\ 3\18Eù}¹¶§°\1fÒk¼åÿ\11ìW\88ßUì\88ç\17;{Ý{ȵ\84g°kò\8ca
-13\93A*\17Å\18tW±mi
-_§ì[ÑRXï'ÓÃ\b¹\82\872\83P÷ÐR¡\82\1d\ f\8c0zîû}\9c÷®S[\99«\8c\8bý¦ùÄ\ 1g\95ä&jýå\10Ë3\8c¤ÙñÐÐÃÝ-f£\84÷æ0Ø{6\9bAp)\ 5\14\8dJ}ï\1al\11p\rÌô\88\8f·\82\ 5\9bµp>Z\18\864X\v¸ÁÀ·B\ 5\15³åp\\85£C\18L\95°V\1de\18\1d.\ 3aa#Ô\ 6­(\8d\1d'\7fjTvÀ4´\1c÷|gÈiåS\83±éo|5ê\e4\83\17@¿È\86\8b.¡¿±á8}t½à\82]o)Ñ       \ 6L]\13¯\94±\9a>\19\f^ /\80\19Ä#§á\99nàúÌ\18\9ei\98\ 4ì\ 1^\82\18\a\8e\1f\15¦Ñè\9d°^e\8d\16\16w\17\14iæ½à\14;ÆÉ\84\1f±~±ü\84£Ég\1eü      5U\ e\8fý´ÁÒ\8e*\86\81_\9bݨÙÁ¨\1d\84¯\ 3Àày"\940\86\19¥Ø"sØI¡\1cQ0vncÔËÉÀI\94¦©°¸j\99©\9dâu\1e»\19Évê_\80ìG\85MUèVt."\18\ 1\8c)@kz ­6\19þâê\X\85gD\9c\9bo,÷EBw\12Ø:Ì~]Ãmcô\e/§XZ¿e#\f6çØÈ£Â\86ýê\1eÖeÉF\8eFðJ|ö\18ö\83 ³=$\8fÇ\10z\a\97Øb\95\99Qa\83¥0eÙ\18Üj¡`¬\98°Ïyñç\8a\9fUxAà6f        [\9c×>¢Câ\10Û\81¶¼AÄàÂ\9e\98Ëþ\91\98®ðv½\ÐjÝ?×\1enînoèOk¾ð\8eúÕdM\89\8d\1a\9e5\8còâtàb=»êßJ¯Þ Ë\15^¿¿Ìñ\ 2Åc*\9d¯ùào\9b³¿Îþ\ 3Û\ 3\98Ðendstream
-endobj
-1638 0 obj<</Type/Page/Parent 1367 0 R/Contents 1639 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1639 0 obj<</Filter/FlateDecode/Length 1551      >>stream
-x\ 1\85VïoÚH\10ý\9e¿bÄ\97¦Rq0\10BNê\a\9a\90
-)$\ \8az\97Ói±×Ø\8díõí®1Ü_\7foÖv~Ц§@dÖ»3³oÞ¼\99\7f\8e|êáϧ³>\rF\14dG=¯G#¿çõi8>Ãs\1f_-)r/\86ãþ;/z¼÷àÄ\97ÕÑÉÕ\90|\9fV\11\9c\8cÆg´
-       \ ez=Z\ 5Ç+E2\17ëTÒ^\95î\e\8b­$«à/PY\91àÍRdkAUbc²±¤îåýrú÷|>Y\90*l¢rÂ\87_\]O¾.)MrI*â\95\8f«ïG=êú\ 3Ä»
-\8fçâIF0è5ëý\917äõ\eeá1\16\962\99)½§L\14E\92o(10\9dî©42d'|\18K\85Ìñ[KÁ\8béþ\13\89<ä½¹²õÖõÞÅÓq[´¨:\a\81À\82\16\1c¹G«¸4îÚ\99ØÃ>\fý\18\ 3b\92$£H\ 66\ 16Iä\ e\84\89q¸½x\81s\8eúy\81>\1føÍUÇÝýäê\9c\81\13Ò\1d\fk\14ú}Ï\1fz´LUE\17i"skøøëäuûgÞ\88\11»\ 5ĸ\83\ 1&±0\80¢PÚ\ 2\13\a¢\91Ör\1c\9c\92B+«\ 2\95rB/nï¦\8bëû%áî±Ô¼9§ëÉÍ|rÓ§\rg]P¨E\ 6d\82\83ÀM!a=É`n+3\84F\8fÇ\91V\19ù½§\13ÃÆýS~züx\98Û\19\99\12§\ 3\16#M\8b\8b\ f\ 6ç\aã\91Ùù#Z\vd÷ñ#U\12(\vóÄ¡GJ\93C=\14\81"ä=\ 5ªLC
-bYyôbY\90I²$\15ú§Q×gÖ\12H\85\ 4f´ð¼J\13\98Óq$êdbG»,±ô\99ú½á¸ó\89\92ÜXÇ´\b~E¾9D¶½pKòk\85\8b´\9bj\1f&ùWv(K6±%\91\1aE±L\8b_\13á´!µ\82Ã÷yàÈ\92º=$\18¾4S\86\9dTbo(,]!;\1e\bc*¥\1dv\81\83Ø&\99ôèÞ1\96w\80v\12G\v-Àò@¤Ô)Ú3©ÜÊô°\86ª$M[F C¸±\ 1\7fRe=ú\ 6%©Qw·mô\85\9dtî¯.(ÐûÂvZíHjíx£\rïÖÇÈkJ\83l\99Ãåû\ 5\12Y\99#\9e\9a¸ -\14\0\84\a\11,îÈÅ¢\10·¤ÀÕ\1a+AûÌä\ 6\ 1åNd\ 5äï\ 1ª *ãHù ôÓF«²\0ÕÙÜ\ 1ã\94sË.J\96(¶²F5¢ØV\17\v®X¬d"\ f~\90À¥t\ 2¬\9bh(TAí0\94V$©\ 1Ýs*\84FjJ\10ý\13Øït:\96\ 2IÕe¦J\8d:d\rå;=D\ f\9b\ 6`G\9eW"\8c@\1ef7\97·\ fËÙ\1fSGz¬,§_çÓ\9b\95[b\90\9cmdSè\rô.+À   Öß_\`¼\86\07BnTÆ
\18?g,R%´õ\8d>]ÊH\94©½\v¶5Â(5\17ü\9fó%Bú\v\85
-&ÂëO{ÉòÛr5\9d\9b\99ë
-\ 4ë@ÙÝ\ey\1dôÐJ7\10kæä:A'y\91.V\8e\1f,=å\90Ú*Þ·%Üö£ù\9eT\95#ÿ¸/t8\90T¡õý\18n\ 3ø\8c6\12­«\fâ6Ù¯pªÛf\våV¤¨ÉÇc\7f4\18\ f\ f¹£k¼5D\94n\91\ 6À·\1a/ò½«9\82\1eëúº\ 6\15Ì\11¹J\ 4aq\81\1c¬\03Lº\87Åç\96\17Å\9d¿t\90¶dB­
-F^P\84ä\83Çx\1eô\80\166\83`\15÷\0×\ 1\1cÔ\80\9f÷ÿ\1fÚ\19+\8cZ£qî)\94häa£\1aL/L \1alÑa\ 5-«»:\93Ùî\v7P âw´V»\97)¥a»r`ÁVC\15\1eA\9e\ e\93º\0×èB\ 5±\16@\82»&H É\11ÕBùX²\11\ 6h(¡+b^åé\ 2£\10\82\11©\14\9b@åA\8a¦¯ró[\83jË¡\19Ú\86\80Bºjì£ç\94\85'w\18áx rÀUUåeI \95\81jxpÀ\12\84ö\88\ f*°,Ðú°\13ȳ  ¸3*x"\18Å\7f\8e¨´I\9aØD\1eÖw\15' bÃ÷_Uì\85Ê£dS¢k4\ eÎOY¥f\v\90a\93\18\8b9¬i\95®Ás5½áw­c(&Lg        ÒºÁð\0QLS\19\1epl¾º_.¦ÓK\aA\1d\ 6ã\9a\8aÜ H¹DßX\81ó0\85ïVè\ 4¼¥:³ÏW­ó\v\80\1c%"-%h$¶\10H\9eÄ\9c\81\ 3Çm³¯}º;ðm×®Õ½Èq=p8ß.\91\98»m&çb\87ðé\ e£éÖM´]ÌÒ\98\9dÃcß#v\87\9fÏ#î\1d´õg[Q\1a¼õäjÜLâþ\103ýx\80\19\8e\97\93ù\97    -´úÎÃÒ¥
-J\9e³Ü\94Ê'»þ\bÃ=\ etÏzçìü\9dqq8\1a{£Ó~\13`\7fÌg§«£ß\8fþ\ 3\13§ñ¥endstream
-endobj
-1640 0 obj<</Type/Page/Parent 1367 0 R/Contents 1641 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1641 0 obj<</Filter/FlateDecode/Length 1505      >>stream
-x\ 1\85VÛrÛ6\10}÷Wl\9fìL-\9a\17Ýì7_\eM£D\8dÔI:u\1f \12\94\10\91\ 4\ 3\80\96Õ¯ïY\90r\1c&3M&\19\98^\0»ç\9c=\8b¯'\11\85ø\eÑ$¦dLiy\12\ 6!%£Ë`HÃé\ 4ë\18ÿ\8c¤üäfurñ0¤(¢Uαãé\84V\19!>\fi\95\9eÍW\7f^7Nß)\9bê'i\b\v±.ä\9bÕ\97\93\ 16!&;K\ 2â\9fñã J\82\98?aÛM!ÒÝ[]È;édê~ºsøãÎ\95*%­4½SO\92î+¾,ûî¶Ñÿì\19ÐÛ\ f\8b%%ñw»Æ?îz\7f7£[\91n%-Õ¿\92Âïâ'mü \1eÑ \1e\ 37\145#g\94ÌèI\19×\88¢8\10þ#\9d\93Ã\19ÊÉÒR)+§t\85 UùÏ\99N\eþH¢Êü\a]a\1f"h¿Ué\96J\91I\12\94©<\97FV©$§q
\12~\83s/¬ßluº\93\8e\97Ø\80f\8e\cø:Ý8\9a\11Ç­¥s Jç9í\95Ûò/Duø\85ÿt§¾Ô\83\14¥AÖ(\81Éåjl-ù4ÔdDe\91Ó9\1f¸\97²¢'a\94n,N­.G\94\16
-eY_\97 »Ïñ`<¦8\9cß\90\95\86\95Â\97\93è\15\92\1a\az\7f\1f³¾R]ÖÂ)Pì\8fÑEF³»{Ê\fsÿxö»Di\ 5k5HÂÇ7\ 1­\80ó1/2Â\ 1D\14l¤°Ú\v\85rm(
-i-¬\\ 5½j\1ff\9fç÷þ\88\m\1a#\91º\91\0>¿\ 1ÓE\84üÛ¢(¹Õ%¥ÂdW4\8cÃÁp\18în.,\8dÂp0\8aÛõ"âü=\ 6¯Â{Õ&\97Ø\1cµ\e\86X\8fºõÝçá`r\84°\ 3ã\8a\92I8H¦mt\92`=òë^\193_\9d×\92\ 5\1aÒB\ eà±c\8bÜ^S®
\8e\86Á\bt8ùìü§\8eªèø\91ÃZL\ 1FS0\97¦:u8?\ 33\95U\994ªÚôjb­o\ 1Í\1eèÑR\94kA
-\1c4U\85X¤Â¢<åÛ\99jÈ;ݪJþD|ÌeSg ±×5\91Ï3¦µÑÍfë\10ä¥ÿR!ón)7 èKÃÕ³ØÀ\86§\b]g5\f¤Sg_\ 3×TÉý\916¤-h\91$        W[Á¢|k\v|Äis&\9c%à³Ù6ë\9f¨¯ËÂmqÒ\1eÝK\e­³«\1e\11xï²\ 3QµoÇ\8cÆaø«Ï\18ß6Òõ\13}§õ\8eñ\14\8e¬\83up"\ f«\ 5\90ð¨à\94óoà\vZ+Ä\15\1aI m\8eX458Ê,7Î\8clS×\9a\ 5³åD\91p©}Â?\12\8c\84:ï²\9eÝÚh§S]À\b\90»Êát\0¬A¯"oÏ\8eö\ 4ù~\84q´iJª¥Éu)ØÒö>|-ék\ 3\9bä\8a6\e¯-_öÅÃ%E\98:9¦É \19¶^\eÇA\ 4\ f\9e\1fèc+N\86õÛ¤Bd<   ÆìÊKæ»\96º\86\8bì\ 5\9c\16\ 6j¥d[(¨jʵ4\96+\82É\1e½¸P;FBÙs¨\85<"À\ 5vnÐ\10\eö\83ö\99\8eí3«Ãwy\8fÖ£à?å\9f6\94\ 4\98}Þï¸;ø§5¹´¾P5×\9aî¼QoaU³ôÊäx*À4×ì¸F\94¯\ 2\97óÛÞ\95÷\ 5À\eDc\9a-¯Á\85%ÉdV \81uÚêÓO\17\9f\93k|CÎNQKÆó\ 6\9c{d0\89e.Ðï\1fÓ§OªÊô¾ã»wÝßóåêvñ\ f°LyÚp\86ö`1å\ 2U)>*\1a'S\fpPÔ9¾o( \96='<\f\8e\10½SUóì+\13\ 5Ã\r\1c^\95Ü»\95\ 1\11\84âé¥Ü¶º¿t\83:ÑÞ ¶|¹\12\9d\v7?
-V>\8b\12\17\98ÓÙF^@õëL\19\14 \r\86®\1fÔ½û2e\11\fe£Ä~\13μÂaÜ;x\ 1\10\80¢2ß\944\ 5cl\9f-é©®\ f¨¯\8d\1eF\1c½7Êq(ë\ 1m\84\97\16G\ 3´î\ 3\ 5­\7fç\87\9c\9bËXyΡFz+-´kû\15\a¬ñHØ\96ÂìøE\0<bèf\8fåÑ\17p\93\9fn]»:Ú`\98Z:\0\ 4F|\8d½]Pÿr/\16O\12Ï\15Ø!ô\81\9c`õ~uî\97¹n\8e\1fhí\82ò¸¬5Ï¢öýÐJÝÛGÛ=­:s\81S­ëQÐMQÐÃ\ f\90Ç3\1eâ¥||Ã\8aµåºûõQMàAT\9a±¡\82\85Ek\rqÍÅ\ 1ö2;Å\ 1"ãáÈ^w\1ck¾Áy,dâ@AÐ\99δ{ôFc<\88§     \8dð<öo×åõüæ\9a\16F\7fñÏÖÎ4ðNÑ\15g\8e\ el7\f&á%\eÐO­j8\9e\ 6ãQÜ>\90£ø\92wÞ¯Nþ8ù\ fÏ\b\95êendstream
-endobj
-1642 0 obj<</Type/Page/Parent 1367 0 R/Contents 1643 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1030 0 R>>endobj
-1643 0 obj<</Filter/FlateDecode/Length 2115      >>stream
-x\ 1}\98[oÛF\10\85ßý+æ­        PÓ¼_\9e\8aÄiZ\ 3mãÆJÝ\87¼Ð\12\91H\95¤âäß÷Ì\fÉ\1dÊBQ èñdz;\97åîRÿ^\ 4äã¿\80²\90¢\94Öû\vßóñ\97ù\9f\8f¿\\ 4\91\97S\1a%^J{Jc/\1cÅ\8eî.\92Üó)\rC/\ 6+|/\18\85c~\ 1Ã\9eòÀK(\15ÁÌÈ=\ 5~âe\ 6Ê I\91bh\18S\8c­b\1e4ÉC\84\84 cf"\98\19\89A\11Th Õ y\8ex\9cUrLÒBr\8ceJ\11\91È\9f\a\99\19\89p\82\ 53\12\13\ 6\19ÆvF«Aã\ 2¥sT+\90p\1c\80\99\88â9­f+wÄQµÆ\91T=+8"\11ì4\92\87-¼ÈÀÀ\97\82Eè=O\1a&(q"J&5Z'Eå\1dE\10\93\ 6Mü¥×hÐBJè¼Fï)\f}nÌL­\ 6\8d3NÈQ£Aó\8c«è¨Ñ \ 5w×P£÷\14\85.\ 3Î×jÐ$Xx­fZ,òµ\1a4\v¹ÎsTV\83æþrd£÷\14£õ¶\vV\83\86Ñ\u\8eÙjÐt\19óØß Å\88s\7fE\99þNTûé¨Ñs\7f\1dÕþN^í§£FÏý\9déØßÑ;ö×QíïD\93Ä+(qÔh\8c\9cÉkë¨Ñ¨³n\a\1a\14óøfd«AÓ\94_1ç5\9a;\18ò\9atÔhPd\8fî;j4z\14\ 4¼bgj5÷7]\8cl5÷7^Tcì¯\1fa=q\7f}¦¢´¿N\83bOCF\8e\1a\rª#;j4(¶y¬IG\8dF\17\82b1¯Õ ±ì*³×jî ¼\v\8e\1a\rZ\84Ë\91\8dF\9d#Ù|g¯Õ q°\88ÙjPä\87\ e:¯Ñ \99l¿\8e\1a\r\9a'¼_9j4÷7_ÖYöØ\18\15\93\8d]öTUî\1d\9ciT`dC\8dæ\ eò»`¨ÑÜÁ\10ëÊP£¹\83 æ7ÔhÔ\19QY¯ÕÜ£\0\199¯Õ¨FÀ§\87£V\83bäÔR£A±\8bب¬æ:gx\8fÜÈrÌÅÒ
-$äók¤J
-i4(^¯ÌR£A3¾ÞX/\1f\83üré1(\85\14¥-r\1aÞ8ç\91\1d5\1a\14K\ 1Q9j4
-\89R!Ý\99Z\r\1aEÜ^G\8dæ&ÈÒ\98©¾ú±lÃ\98\17Ï"*Q\12³Ñ Ø4\11\95£F\83bÓDö\8e\1a\r\8a#s1²Ñ\88
-\87\ 4Ú;{­Ö\98\17#ë«\10ñµ\b\ 2\ 4¯(\89Ùh\8eJ2rT{6zC¼d\88j¦VcÞ\94/\14\8e\8eµ\92ã\1e#\87¼ñÇ¢´¿N\83¦9wÁQ£AqT##G\8dƼaÁý\9d©.Xì÷|\e\1e\17¬(\99V\17ìDÑ0\14c¦b\8d
-¾jOVUÎ:SÙR\f5\9aó 0\86¡Fs>|13ÔhÐ\82W¤¡üÚDy\8c\7fq+æ\1a«à\98\8cÄ\ 5>AÊ\8ei2ØE¤í\ 1\9f\a\91(6*Ä¿ò9Á7\95H\ 43|\ fL\12ÑÈ;ì \1a±\aruå;$\12!Fþ,QÉÆ\8cÓ\98¡\1a£Pj\8b)\10ª\88qÆIÂ\88Ã86P\8dXzr\9bÂþ\8f\ 2\88bg`4ÏÉU2Ôh\1e8âø\9c×hPÔ\12MqÔhÐ\82\97«£\1a\14>§¸¸ØÕS\8aDHLÜ0>D¹¶)ß+U03RÊg\99\1cï\93O¿¢\9cÑj\84\93\84(\83£\12\ eoV²æ¥×ªxN\85¸JɪF?c¼«¬\1cÄp\Ý\9c¯¹¡\bIDv\8e\10Ç¡^t"\1c\fª\84¢|\93FD¸\16¤\96ªWz ªÏ\8a\89ª×QõâSQÒQ¯(ã\9d¨z\1dU¯?}\I\8c¢\8cw¢êuT¼\ 1>\84õâÎ^UÎ;Sñ\1aª^ì\97®V¼\9b¦ReÍ_õT+CÕ\8b\ 5§\97\15\99W\94\99w¢:¯£êŵÚÕ*\10\13U¯£ê\8d¦\13\15\13U¯£òÁÄ\97\15¿\9eªÔë4ò\8dCÔÁPõâ_­\95<+Êx'ªÞ\99Êb\96ß\1fö\94ñO\vòÿìs
-3Ê\96>##Áp\ e\e\e/\14l®8\ 6pññ\89÷§®¢íÅÛÕÅÕû\82B\9fV[üp\93f9­6ò{\rþ²~uó\97Go\ e\87ªÙÔߪþõê\1f<\9da^}ú2äëèjójU>ì*j·tÝ6CÕ\fã\93¨Æô¤¬\<\89UN·m7\94\ fõ®\1e¾ó\88ø\9dèÒàÀ£_o?ýÍäÒ_\90У»ë\ fô©©¿1]B\8cûî\8f\e±-AìÑÇjók9Ðousü\ 6±\7fèÊf3\ÞÜÈ$\8bùñô]¹\7f( OP;<U\1d]ß¼¿£õ®\9eò:y\1eñþ^®ëfhû§é±\9fNãÃo*\1e\véZÆa|2\fî\81H¼}¦uÙÐ\r­Ûf[?\1eÑ£\ fwW!Ý\97Ý\81\8bÛTë\81ÚÎü1¦²§r\9c\98¶`\12¿D°¨\1f\87\80 þ\7f\8a\88>¿jÚa\9aêóë\1fu*\3~¤\0\e\ 5Æ\ f½o'óØ\82ó4èÅ\eDÎÕ«PÈïc!ë¾?V==?U\8d\8eúù\15ïU××móù5Õ=\1dûjc3:\9f\aºÄylZTê±\1aèСþhÕ¦«1\1aþþÜìÚrCÏm÷¥n\1e%\©ãØF\1dõ¤\ 3\88ú¾nàíåù{x\1f»öx\90ÅüâYtëS_Ñ®\1cª~ ÕõíÕÍ-õC¹þBÛ®ÝÓïõºkûv;¼\
-Øð±X«]5Tä\1d\9ew´­w¨K¹å\14\ eeß#ì\r­\9fÊæ±:çF X
-ãò¸ßÞ;\ f,\9b\1d\12f×IóqæÁV"äé!~_§Ù$ÇË\93$a\98
-òC\91\ýPä/£IÜ3¡\8f_zïªîk½®è\96\v\11J\1c\8bQñüÇê\80\r\80Ûòöøø²¸ø\9cðè¦\19ºvs\\ fX\18/\92Á­Ì£_ª¦êÊ\1dÕͶ=\r\v?\91p\81\1f\8e\8f´«¾V;ÍήR|°Ê$U×`\8cªëÚN\1eZ>\83\f\13\a;´xͺcÓ°8tíºêÏXRloå°~ÒÍrYQ°wuùØ´=\ fñ½=vÔË^Ó£hUÇY,j\95\9e«\84\8d\10×KD\88·j\7fàB½L3åB¬°@\ 5\9d\f\8ek¢B
-N\vÈ>\fÍNmârV\9c #\8cÎ9QZqÆç j*09\aQ!\81é9\98\8d0;\aó\11¾X¢\9cJ1Ââ\9c\13ßÍ:ià\9fÅs\91¤J§\1dE®wC½Ûá­ú*«\ 4;\ 6ÎÂ^v\98«÷¸-È        (6ùY\ 4gàËC5Æ\87`\9a\848\80\81\83H\ 2ùyuñçÅ\7fä\\91¨endstream
-endobj
-1644 0 obj<</Type/Page/Parent 1367 0 R/Contents 1645 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1645 0 obj<</Filter/FlateDecode/Length 1452      >>stream
-x\ 1}VïoÛ6\10ý\9e¿â\80}\88\v8\8a\7fÅv¶O]Ò.\ 6ÚÆC\1c,è<\14´DÙ\$R%©¸þï÷\8e\94âDíÚ"\80%\91wïÞ½{ä×\93!\rð\7f\11\8d§\94\96'\83d@ÓÑE2§É|\86ß#üYIyø0\9e]âñ\a\1fFÓI2ê~ø}urþþ\92F\ 3ZåH2\9dÍi\95\11\12\fð&í]íD奥Ñ8¡¥±^lT¡üáÍê_l\9bÐp\18·\9d\8dæ\b½Êzw¢Ü\bÚ\eûèÈhÂO\95I²Bo%\99\9cªBøÜØÒѦöäw\92\94Fø\¤\92DQ\847Ç5\955O¼]9ÒÆcÁ^\1c\1c§\1eÐÙp\1c\13¦¦¬\84W\9bB&´ÚaeÚ N\8döBi÷\9cóÌU2U¹J\91\931`\17\18 á((LoIè\8cjÇ¿\1c\97\92ÄJ/i8k*\1dO\92     W
-F\86     Ý,ï\1f¾'c\96LyÉÍòÔ\91*«B\96\12`B>\90àêª}e\ f´µ¦®°ÌõIÚ>
-ÕgÎ\ 3\85°\19­{\0\83\ 3G*\15\ 5\9a,\9cÑný\86\8b\95h¹À\9fß\9b\ e)!&åª\90\88z.}z\1eßpqá±0[\94È\99\7f\v\9c;NQR)\80ä~qíÈ\eÒu¹\91Ö5lp¯\98\88Þu\12*­|,dÝ[¿a\98\19b`\vú\rì       }4ÎS\93Ed%÷e¿3ô¨Í>¬³¦\92\ e\vJ4áñ%d\0é î¤^÷vLUØ\97\19éô©\ fúc´-_(Ç\90óu¥2®lkXv\86\98A¦²\83~¯ DVD\ 1ý\90Ê!ä ^®'\16Ù\81p0õ)úÀ\8bu\17\ 4\97*<)\96\99v\104HEö\rºÇ;\9eD\ 1X\8bë>\96©tG¥\14`\aªä¥\91\1c\1e\9fNο\aI\82N}ùøöá\1fÞÉbh\9ey^Ö½\ 5\82Ktc\8aY\1ePZ[\v\15\16\a\9eË\9båÙýC30\95\95iQg ÿl\14ä?½¸\18\9c¹\93³v54xªÍÆd\87\ 3B       ó\81q\1cMãT,r\ 2\e$ujj\9el\ 6\81\11´\ 6\ 3Zö!°G    ý³h\99\12f\14߶VÀ\11Â\eÖs.â(\82£Ng@\99­1³,Jf\11®Ð\81\88\ 6\bý<T{åw\ 1æ+:a4f/³èJÝ\ 2\82\87\0rfÒ\9a§\16ë\10\93\81Þ,\ 1_3\ 3\95Ø\82­Z£\93ää³ðGà\9a\12Îí³uo\ 2m5ðZzn\99úû\87ÀQYc$P\a\94 Õ&Ç[H¤ñ#\1e\9c\152çVÊçW\91\13\10B}¡\97­Gòî\ e%AÉJh\18(À¥B³\97\93\14üú§&7Jèîê\96îµúÆ\81_»~ctM×Co4\99"£'´\87í\15v×îæ\ 2u¬\\1cHK0˳(1\19eÅG\v\10®®\96ç\8b%\18ôé\ eõñ\bÇ\13\ 5+ùPù®4h:\85¦\13ú\v­f'g\16Ãöþsª£\18Scm]yÊ\84\17äq*¹üèpG¿\7f¡g¦?\84\vÑ\ 2h\88ãþöz<¿ +£5Òs\9d×VqÉt÷á.¡\ 5Jr$\9e c\ 1Ý£\7f¦\f4ÀÏ}\95¸Ô$à¿O\99bôÆ\86ãôÅ\99\86 ýèÞT\9b\f\99Dò94¯}*¼M>7êâÓûG\87\13\ eìëO\8bÿ?\9cøc0'Ñ\8eg\94\13\ 4-k\ 5ù6jæçm|\ ej\84`qnx¥Ñ\1f\9e\ 4­ü®U\90\9c\1f\1d\18\81ölZ\85Ì=\8f'K\85\9b\17p]ÁÏ7Vàxä¸\ ebo¬¼;PïÃà\80íx26jÙ\1c(\93¹¨\v´Zæ\ 1*\87.Ej\r}ºýònqÝNuHç\9a.\ 2\82ÒÑ\f\93]c\8fá.ÓÑ\9d\0\ 3\98%\8eÙX\e\87\13\0]*v\fÜSBÑìùÀ\96\v\e5\0C\17E?ÖÃî¼Å\91çù´Ù\9bçc˪íÎwË\\19èáÛ«\84H\I\v;g¿m§       Î#K\96\1c\r\e\1d_epC ¼ÖAªèZ\84®Ibf`a"\v¥\94\18ÇN\9d\bméØ\vp\1d\8eYì*Q0fòh\1f/f¦
-c\88º\eãä{\bEïÀ-6Ü\18{\8dª\92p\9d;zJï×vÝe{±l®[ÔüK¶\ 5Î\12¢/M\84\16ñ\0\97a\¹Ú×!\ e\8fTó¾Ý^\9a\15\ f¿LfýlÐÙüb\112`Ñp0è\8b\9f¬\8a¡\86ýl\18aÏ_\\88§ñ\ eø\93\vôd:O¦\17#ܺ\ 1|8\ e1Þ­Nþ<ù\ f&gÂ8endstream
-endobj
-1646 0 obj<</Type/Page/Parent 1367 0 R/Contents 1647 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1647 0 obj<</Filter/FlateDecode/Length 893       >>stream
-x\ 1ÝVMoÛ8\10½ûW\f\92\1e\ V$Ù\95\9d\ 2=$\9b\16k é~Ä\87.P  )*fB\91.IÕë\7f¿\8f\94ä:N\ 5ì¹\16lKÔðÍÇ{3Ò·QF)\8e\8cæ9M\vâõ(MpyµH
-\9a-æ8Ïñµ\82ªxc:Mf§ë7«Ñå\87\94®hU\ 1©Xà¤$ ¤)­ø\98ºOm¾«p:û2vÛ/¯/Xözõ8Ji\92¥É\ 2;\ e\86Þ²m0<¿\1a0Xsî\82AöjÀà±\8e\0Ä\85µÆ\9e\18e¯Þ\9e¬\ 4¬ðáÊÆ\bËtÀÀz\17î\~\98Q\96µÙNò"ľm<ù\8dt$5þQ,©\ 4µ¶(f´\1d;áE#Ëä\ 4c\1cÃ9*à$\9f¡ÆG\ 5I\1e\94Y#²¯\1dÂItýòPZ(¼ø\86ôÎgó\8bÁÔzvγ4½`C\ 58@¥\17å\10}=Ò/É3«¼°Ä­`^ê\87H5[£¾\91pG{Ó\845MÌ9Q¯¡\ 1\ÕÔ8\18·jxs¬\9c\96fæè\99\12yñìÖÃKÕ\1c\19ù\róä6¦Q%m­)\e\1eÝv!\r\88дë½\90ÇÄtù3Á\ 6×'¶Ï\#×\90´\16¢$o\88\95øÛ\b\87\bL¬ÎÇåÍý\1d)©Eß\1a·\9f\96\9f\910÷Òh2U´ºgõ\9aÑ\1d{\12¡q\12úÇ4\96~lí\ 5?MòÐ\17;©TئI\19óDÎÔ\ 2½\a:\94|
-©K7ØR-æ»Xð\98Ú¡ô\86&J?/JL48D8}\81£[+B#ÄÈCf\83ÞÎKä\83Ì?ýñõýòv\0¼²¦\8e\85\ fãCj®\9aR¸dÓÞ¸¢lÞÍ i70r\fç\84þ\16åïPÄG©\9b\7fqQ¯-¸õ\93åòe\0s\fyäw³'DÊ\1aåûÍÇÛ¨ll¨®ÔÎ3¥ |\10\a¢\1d4CB{»\ fd_
-Ï/7Æy,;ª\8cRf7ÌC\9c·øÉr<apd\81Êí\9añ':\v \9aÕâ,9+Mͤ\8e\17/\83\8f¡¯ÂÐå¬qÂQ«"Ä\12°(\82\19Ýéð\0/5:¸b\1c*[aP[áBÚ\0\89mÔBTL*,\18⦮\e-9ó"ø\87 ²N\83ÜX\v\r«=í¤ßDþvÆ¢\ 3C\1fA$VTÆRÍö\14ÀZ¬~\87\16\ fÆK`ÒncZ×\ 2¦.\8c\96µEÙ\ 4\94ì<m\8c\ 4Ä\13çCÛlÒ\19öóã·6J      ±^Ç\86{K·Bá9\14\ 3n¹kG\1aB&$Pþà¡{\92ÅÖ\ 5ñ6\ e¼\ 3_-\1d\8bn\9ae\ 5h\L©(fí³üþúîæ\9aþ´æ\11E¢[Ã\9b\1aÞ¢tÂÎI¿a2OÃÛÂø\7f(wVà\95äM\8e7\fØgÓ<à¼_\8dþ\1aý\aq\9fm\0endstream
-endobj
-1648 0 obj<</Type/Page/Parent 1367 0 R/Contents 1649 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 1041 0 R>>endobj
-1649 0 obj<</Filter/FlateDecode/Length 1656      >>stream
+\99å ó\1câ\83\ 3>\ e©4IV¦`·Y\ron>F7`5ì\941û×Ý\9dupD\1d\88Zs¢ã¦#\82\aY\ 3Þ\7f\vM\95\12ô9JÎ\1dÖR\1aµÉQV\8c«`ÕÞ}`\ es82v¹8_¨û\98npH\97zø¼\ 5\1c8\13\8eðD\ec5¹\9aNàÖèvÞ`~`\976Óeë;<º\f}\82\ fÒß:\b/p<\97¡
+hÀ!n\1d\16Ñàýà7\90\ 5\80ºendstream
+endobj
+1376 0 obj<</Type/Page/Parent 1119 0 R/Contents 1377 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F1 4 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 785 0 R>>endobj
+1377 0 obj<</Filter/FlateDecode/Length 1443      >>stream
+x\ 1­V]oÛ6\14}ϯ¸ÈKS \96#ù#\1fO뺥-\10´[ã6\18Ð\17\9a¢,Ö\92¨\91\945ÿû\9dKJ\8eë\ 6Û\1e\86À±d\92÷ã\9csïå\9fg)]â/¥«\8cfK\92õÙer\89_\ eÿ>½=Ë®³dF\8be\96Ì©¦yv\9d\\ro\15=ð~Z,²dIóë+<gøXEEX\98/çIvº°\9c%7p\96%×0\97¥)vÄ·ÑÜl1\83\91\13s³ô\ 6>²E\8aÿ\1cÅ\12Çâ\e\1fûyu6½»¡ì\92V\ 5òY^]Ó*\ f\17yñîããê#½\96R9G\ f¢^\vr¦³R\914¹¢\9d\16ôæËÃËÕ·`%½\8aV&3\8e~\95_¼o¼5y'½6MÜ4§4\1d6eW\88\b\9b¢Yí(W;U\99Vå¤\e\12\rá±!Õì´5M­\1a\9fÐ/Ã\ eë¨s\8a]Ó×\8b\91\9dµØ@_\94up¥\9b\r\9dWõ×\97ä\r{¾¤I:\8bA\9dËRÉ­nÎqVTÎж1=\1c::\97¦®µ?Ç©FõÇ\99&1ù\17\8evÂjÓ¹à{mE\ 3c\8e$¢]+\12\ 1\ f\N\9c\8aÆ4ûz<Ø9\ eÑ\97
+\99:o#@\f\80\17º\8aùû\12\88ÈR´^Ùd0\ 6îæ\8cØ\8a×r#;F\85ð,¨6¹.4»\8e\10\90)~´_\98®ÉIx*½oo§SÇ\84&ÆnâÓTî\Rúº\8aTÝÐ1\9fÁ1\ 3>\88Á\e:\1c\8fû\9f¡v\85\fk!Kݨ§Ýd»\86Cn»u¥eµ\1f`Óë*2jUk\9cöÆî©0vX\ 5\8d!\9fcõ!E\aAX\11\ 2>b¸\15r+6ʽ\ 2¼²êr\ 6;\ 4û\8a¬Û7\12âÊé\9bö\80vÝm\12B\98¨<\81\8fï\r\ 2\86üz±w\8ca¤td\8bówÊÂ'\99\ 6ñhwBsi\9c\ flqQ¥À\8c\8bj2K#o\ 3tCÕôjý\fpÌï\1f¦\v\92\8aÎ\7fÈ\9bÏïQ\85T\88\1d¾´WôøøHkkz\ 4Çé°$ª
+¯¼\8f¡;²$Mã!\eÎî$xÝäz§óNTT@\86\8eË\905zD\b\ 3\17j\ 66+c¶,¦¸e§¹ò\b®\ 3s¼1V\13öm\ 2\94§æGU\8fuyÈ\9akR¸md\9f ë\82*\98e\12ÖÊ÷
+]A4ûÀÕ vØ?\ru´>ÖÌgô\v\8eôó§{ºý±\0äFOÖºá\128ðòÏ\fbç¿Ñ\17\12\89½\93]\1fk\979\14Ô\18[\ 3m\98"YéÐâ\ 2y\e½\ 3üÌ]ÝÉ\12Å\ri2oÖTdX}¼\84¦sB`n¨×¾|\9e´c9\84\ eh:O}iPuC`Þ*xeæ¶Jµl¥¦\ eß\86r\ 1\8dqÈO\ 1\9f¸f®qÒ\rê\83\09ãÖªB¡5çT+_\9aü©¢H\17!     .:qèü¨vxo\8c§o\9dóX\90±\1cGi\ fNGNW\88\f­»2"\ fî*\84\89c\fç\11Ö¯¨5\1a}\12\98ÙÑÒ¨ÛïÔÐ÷}"÷ B&Hg\9a\84`øu\vy\9däËÙ½xgzFg£\82Ï\17Pi³MÂd@þ\ 5ÐD\18\85ï9G4^ÐƧÞ~øLo\7f»çá\83
+\e¦ê×\97  }0\0Ù\97±¢\18\16|\9eïo\e+ÚRK\0Ã\r)*Ç\81K\r­´Ö \86\19Ô§]È^ÙB`j#Z\8eÁ\19ð¡k°]#0\81î\1c\f\1d8¼G"§­-\1eu83:\fÜ\ 5\8dï0¶\ 4÷ïÂ\9az,®ïá<­Gp·áF;t¦P\ f\87\19É\fò\80çX\vÃ\9d,´p¯Z\bì\ eC\81[/©¿DÝ©\8e3Ð9ÌC\16\ 2\10äúè\ 5H?\9dÃÒ´ûq6\86\91\94Ѷ"\ 3Ïöxé©   j 04\7f\92\11Åêº5z\94ï\ 2\89\®Ð½ô'²\19&\135¢V¼\84«ãdTó{\\ 5еÁ\1c\ eò`\1fc\ 5\1a    ½Æ
+ge\15öìq?ák\ 2\8fÑq\17cõÔH\bÍLØ}@}\82+\17nsùE\9a\10;Åëá2ô©\8b\8ds¨_^\9eÞ-\8e.iÃ\95\83-Orºmãø»ÅûO\87ù\7fËmÓ\1a\94-z½\ e¥2½\e¯\ 3\13\fÀ1ÅÇ\12½\et¡»Çö\16\ 6<µÂ¹ÞXp·oU\bqz\97\ e1\Àt\8cj4xqH
+·g¾®^dOy-Ã\95ò\7fÎJ\ ew\9dïã`XÇÄf1\82éÝõ\10ö$[Ðd1\8f7Üÿ~\8b\9e\93å"\eèÊRöøëêì÷³¿\ 1ëÚðDendstream
+endobj
+1378 0 obj<</Type/Page/Parent 1119 0 R/Contents 1379 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1379 0 obj<</Filter/FlateDecode/Length 591       >>stream
+x\ 1u\94Mo\9b@\10\86ïü\8aW=9\a0`\a;>Õi\12åR%UPs\89\14­\97Á&\82]gw±\95\7fßÙ\ 5·ùP\85@\86\9d¯÷\99\19¿F\19R¾2,rÌ
+È.J\93\14ç³\8c\9fóå\82\9f\86PG\97e4½\99#ËPÖÞ¶X.PV`û4E)'å®±86m\viH8\82\18\92N\9b7HѶTÁ\8an# µr¢Q\8dÚÂí\b-\e[7\9e\eIlR\11\9e&MBI°¹½^_\9d\95/Q\8a8\9b%9'\9e8±ÝrHy°Ø\18¡äîé,A(BöÆ\90r-§ÕüË,\9c\ e\91f¬§¢\ 3µzß±\11\9c!J|è\98cçE2÷±\7fü~\18\83\92\85æ"\r|\ 5,CaCÐ\e_?'ß¼¡·'\1d>Èô&\1f    Mb3|8!\9b\8a\83r\ 1\16\0%:V¸FÛ0\ 1]\8fI¿*\r\86ö\94¿Ö=\87Ò*\búvõOÍ7ìÅ\96ë«ÃÉ@ûH\eØÆ\854Rw\1d»\19zí=rn\98Ó\9f\92\rÚ\82ÿØ\98\9cy\ejIØ¡/'ʺo\99\0¡Ò\8a>\92¨uÛê£çâ\13²ì\0xzs>²yGÚ·/®°Ú[2\a2+~ÿ\1eêN´Ù®¦üj´v\1c\a±ÁÃúçåú9\7fÎ\87aùÈ÷Ýh<îH1\14\837Ýã(|\975:2\8c¦\19 \8dÒÂ\98É\9dP[îsÏúü<~©\1eµÑ\1d\8f¶Û\rÞ\9f\88\r\98ÿÎúj(ë?Zû}åw\83%Ç÷\1fë\8fy³f\17Iáço\9e`8\\8eIJ9ïár\86,_\f\16\ 1\ 5î\8d\rÃ\95\96½\9f\1a­¼g\9c\15¼¼ì\10\v\1fñöî±¼ÃZJ²\16\ fa\r߯ڡ\11à¡÷®ób\99\14ç9ÿ+°[\96çþÛu\19ý\8aþ\0XpEëendstream
+endobj
+1380 0 obj<</Type/Page/Parent 1119 0 R/Contents 1381 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1381 0 obj<</Filter/FlateDecode/Length 1453      >>stream
+x\ 1\95WßoÛ6\10~Ï_që\8b\1dÀVl9N\9c¼\fÛúcźtC=\14\ 3òBK´ÅD\125\92\8aãÿ~ß\91b,\vY·¡¨[K<ÞÝwßwwþëlN3ü\99ÓuJ\8b+ʪ³Y²ZÑñÃìð<\99Ñb~\9dÌér¶Lnh¾H®ÉHÚâð\fæ/\1f8\8c/ts\9d,èru\8dÿ¦øëOþ¸>»x\7f\8cÖ[8¼º^Ñ:÷¦x\92\8d?\18Ý6T\89¦Qõ\8e~þüuýù|ý\0\93K\9aÏ\83É4]%)\8cÆ_\9c0\8e\8fí\95\8b¨6\82\16ð#ʦ\10\94NHP-÷´;¹rÛÖ\99Sº&eI<   U\8aM)\13Z\17\92²Ö\18Y;ª¤+tN÷ãR=Êò@Ns\b3\9a"_ï8+D½\93÷çx\83Pk±\93ä`ï\1dY\7f±w\9cé
+osÊDYÊ<¤±ìÒ\18\93­6Þ@æÊ\9d¦8N:\7féUrÉ\89rp[e¬#UU8/\9c\ 4\98Â"\vDÐÚ\9eû\17èðNÐoo\7f\9ap<®\10\8eC\1cÆ\90ëJ(\1cÌ+|úh\ 6\91\90Þ\86' F\84\80\ 4\92L×Ý\81X\9f1û«5`×µÇ\15_\ea\ 4@\95\86öÂr¼9ǽSO!ðRY\87Gxn,\95\1apu\11\19µ+\9c%N³\90Êt¨Dÿ{m\1e­\13\L\9bÐGç/·º\92À`§2²®ÝnCêVU\r
\16p´i\1då*¯G\8e,\9cIz\92\ 6/eYÒV\e\9aR>\93\95®mì°\16\9f$\13\84äsS2t\ 52Upͱp wë\8b¯é/\13ί\10>?ä\1fâÙ\8a\\92Ø\8bCB_\v  \ 2Ö\88¾,\99ÀÁ\8aíÅ I\ e¦\ 5\11$èL\0dcô\ e R\ 6\1e8iÉç\1d\10\ 5*&t§\1dø\r
+Ãxô\ 3\97\19X\eá´±£p\b*áó¨\85\1d¸F
+\9e7þ®à 1êI\95r\a\87¬\r\7f­Ø¨R9V \ 5]ø§9s\94ov
+h\ 1U¼~T@XÔ\a\ e>\93ÖBa\f\99ÀZß\9f\ f\ 20m]3:¡þ\1d3*\91\15*0k\98ÒÈS(è¯\92Õ\ 60i&ÀðÜiê®h\87\99\8fT]H£Üè\eÆH"b\ 1òm!¶Ñ\83\96Ç\10Bar\8fÁF¢\8c\80\ 3ÄéE5Èö´</Õ      ·\16Ð\8d|\16\99ëji¡'êä\81W\ 3Û!g=ÝDdY\87 ãô \ 1¥\17£ Ð\v&\94·\86A÷¥G\1fµ2PïÍÛÐ+^%Q\87ó #t\1f_\8c<\ f>þ¹\12±N=I'ôÎË2@\ 6mu\95|=\8c\81ç@ÙÓ2Æfò-FÐ\9e\85Yêݮǻ~P\9d\9fØ\98ÿÔ-   \8c5îw{]ç \r ã\9e\0ºW\ 2
+ñºDì\aÝ\1aBÕ0¢\18\96 Ô×s\eä2\ 4ü{Ì*áF\96'@ :`\ e\1c|Á1¶§1°À>0®­Õs\10:ÔÖÚÖ\9b o±\93\8b÷±«\8f/¤Ë.^\e\0÷ç\13*%»ã)Æ­\8ey\92Wl?ÅHÀÐÎÇóÄß\87¯/#Rä\9e\0ËB5¸ú!mO­ªÅ8ÛH:M/¡÷h        `:·`R\1e7ôu\fe\88kò \vtH4\95J\98Ãd\80\93G\18ã\e­ü\7fä\87Ý\ 1i\95Z?ú\8ev\eq¹á]c\9e\.R\80ºLVø\17\89\86Üo\9fo\97³ô6F4áh\82]\1c\82ÓyêM\177É,X¦G\88\96Ø"®\96|ݯ¢\81Î\80P¸7\ 2Å}÷\9b£Ú÷«ãJ4î\f7\a\8a-\93ÁîÖ\8f.¥¸x`\8d\89$éo 4ÍèDâö\rMÛ^±\8fî¸ìñ\8aEH\v\10Ñt\99&¼Ë\8d!\8a\114\81ñ9ñUÃG¯l^/\9c/\8a\ 4\1eõ\ 6\12}×U4^þ)\8e\98·½ÖÓÑiÂ\8a\ 2'kp¡ñCE\98\8dÂhCùÿ8r\1e\81\ e\10%\84à¼\95(mPè\80E|ºg\1fÛb4ï±sâÇu×6cg\8f½õ~\8cÈâT7Ða\90>6\1c\81ËX³½ª7ªÎYq\9cÛ^·eÞ\8dÙnY\12\99\1f\9b\9c\14eÒ8Æ0WFf\98ç~\0÷¶\80}\81S(Ãqä\fW\8b K\fWxëõ&H°\14]ÿ\ fG0`Nq #Óþ+»B'
+÷M]·\fG¹ô8\19ëÃ;¡\9f¾OÂ(ÝvUÇríwA.ºÿ\81\805Cl0£â:¢:iü+Û\9f\82`W½µv¶Jæ\v¯Ë\ f'¿\18^~\84\^­\92«eÚõ¼tÁW¼[\9fý~ö7£@2fendstream
+endobj
+1382 0 obj<</Type/Page/Parent 1119 0 R/Contents 1383 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1383 0 obj<</Filter/FlateDecode/Length 1417      >>stream
+x\ 1\85VÑnã6\10|ÏW,ò\94\ 3\12Çv|NúÐ\87»ô\12\ 4m\9ckcàZà\80\82\92(\89\17\89ô\91\94]÷ë;»\94\1dGI[\ 4I\fK$ggfgùýhBcüLèrJ\17sÊÛ£ñhL³éx4§ÙÕ%>Oñë5\95ò`2\7fãÁÇåÑùÍ\ f4\1dÓ²Ä^óË+Z\16\84}Æø&?yTm¦h¥}é|«l®É\84ÐéðnùMÖM.Óº³\8bÙh\8a\95'×®])o\82³ý;3\9aLúw¦\97\0\86w\96µ¦´qÐ~­=uA\aZ^\7f¦è(ªæIþ㥼1ÚÆ\11-ë.\90)ië:R¨'ú­±\15¿\154\10\95\ e\8dn\1ay3Ô®k
+F:¦³ÉEÂçµj\9a\ 2\13k#ï²ò®òª\r\14k\15\19\r>h
+ªÕü(ºÜ5\fBSëB\ 4¡ª0ØC­\95iTÖÈKi=X¢Òà\9bè\95\r¥ö\83Ó÷ûs±\I\19W\845Ê:\9cè\85\83L\ 5]ÐãýG\14Çì\8cú=¦óÑ\8cÙ»K<l\94\15ìQ\ 3\92ª\94±ø\1f\«cÍÜ4æI\93¢Å\92·ÿR~©úݸ2+ôl\fxªÕ\1a`\1d\15&H% \87².
+\10g\aèµ\11\90øÓ+Ã{÷ é\81\9fm\f¸c\95ZµMBd\1a|2 \85c -x+L f ì\9e\úz\12º¼&\15h¡c¦;óõ\1d8\19j\97D\13\ 1 \8d°ÿZ5¦\18²t«­ör\1cÃIV\804¶H\1a¿ðu `ZHé\ 1\ e\°&°\81W\9b½\8c\14VZ\17\ 3Åâª\9dÝè{g"\88\1e0\95ÁW¥
+\11\92BrK\8b\9bÇSRMÄÚªÆW&\10\94ÝRËU\17z¥m\11È\89.`t\8b\85í° G\8d\15ªÁÁn\ 5\83\89p\85³\90â¹ãÀFÜhè\9bÊ\ 3\83´pkôÃ)#\10'\18»X¢\ e+V¡\1c^\véíA\ 5}ËÃ\89,w\ 6\93\9d\92±$6å>Ñ´q> 7ï(t`'\87\19ùESUlÈRå\11æ@\9d,R\82³\ 6ÏðgÚ£¯RÌ\86\85\83Ókå\8b\r÷\a\97Px\83Ò\ 3÷eÁ$ñ9kd\8cC($®Â\88\ e\8aJ:\82\9d~}:¹×,×>¢O r6<\90IÔÑDìÂe\8aÜ´\81ß_ \r"
+çåaîIW>ºüIGr«hþ'ú¸*þ%Ûµ\19\fâJÐr¸\18\ 5Â~9lS!j"'\r\1a¦'ø0\8a±R\1dDF\1f¦Üù\ 3:\85\85¡¡\96 ñ­\83\13e\12É\8c\18%\1a2h¿£\1fta\1a\14H\19\18PhbQÎ\1eúúOÙj ñµ°¡ÍF¹³¥¤ä[\88\8e_B:Æù9SÊ4ñ\19û\rp~Çí *\8d\ e
+¹70)Õ\ eMËcAì\880b\94\15T\95iôb\ ep\rè;%\82\r¡Ü¢j\191¯Iò¦ª\93\92\8c\85ç÷\99\86\ 1\89ã\119~\97\10<4OÅæÕó\9e-m¼C(Bä\81T\85Æ$)d0e[úÖq¸\aÉ\894\81rç={\81e\ 1À ^\92,I1±º\v\92Æå`È"\13\9c\7f\1aVøJ~vÒ\9f\8b\87\9f>ýòá\ fn\f\9bóEÜ\889ËãÑ!wQ3?Úu:\87;òh\17ê \80\87 \ fÊAe=\ eôê½²Û]\8ey½r\9eÅ\82åUQ0ç\ 3\vÐ\8f\87È\8e©p\1dfnÂÇ£ø\90èÁ\91Ò ÉÏ\12"\89B\ e\7f­\1aeE|D\98¤)j´\ 2^òY\18\0(®õÞäÞ\ 5WÊ\<¿ûL!ªü\89I
+\r\fg\86"\ 6øJÜ\93¯èÃõÏÿ\11\e¿q\ 1Áü-\1d{~ó/\97¥\94*t,åòÛÇ}$ô*AÿFá"Qò\1c\7f\92\vJ8ßxL&\\878Äzî_<At§\96R­ëØ5X­â«I¦¥\90þ:ã\91À\1c\8fý,ê{\92ï*}"\ 4\8cò¼\83E-ç\16\1e\b\8aÓý§ß¥!ñ=\97\92aÄbÐ\9baob\12W»É\99f¥j:q]
+ÿ>è2]áÒ\83NBlÃ6,\14\17\80p\87\ 3¥\83\ eºE£ÿÓ\1cÛÔ\8e¯k\10\ f\ 1Qz×òª\81iz®\ e2LÆ$ós\80\eÓ\90/\1f/\11àö
+\10;²{\1c|¥ÚccD\19û\8cë\1f\1c,xX@iÕó\9b«ç\9bóûyº9'/\1fÎ\80çëøl~5\9a¿\9fâ\12\8fKâd:ãÝ?-\8f~=ú\aÊ\r\ 1Èendstream
+endobj
+1384 0 obj<</Type/Page/Parent 1119 0 R/Contents 1385 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1385 0 obj<</Filter/FlateDecode/Length 1311      >>stream
+x\ 1µVMoã6\14¼çW<øÒdaký\1dçÐC\82v\81\ 5\9a~Å@Q \17J¢,n$RKRqÔ_ßy¤ìu\14§=\14E\12 \90ÄÇyóf\86üz1£)~ft=§Å\9a²úb\9aLi=\9b&sZn®ñÿ\1c\7fVR\11^,ç7ÉòÜ\8bÅjy~Ål³NÖçV¬6o\9fßm/>~ZÒlFÛ\ 2¨Ö\9bkÚæ\ 4DÓ)m³Ëm©\1c\99gi+Ñ4Jïhoì\93£T:OûRjò¥$×H\99ã³\82\9e\9c´ôü%\89,\93Î\91@;NÕª\12vL¥xæJ(ÚQ¥¼¯$É¢\90\99¿Ú~¹\98Òd¶@_Ûüòu}.o´$à©Û¬¤\9d\95ÂK\v\0"¢0\80b\93¾Æ|\rÒPc\vx¹,D[yz\16U\eÖÏÖ\8bÍrLi\8bg§ ^\1aiU-µ\17^\19\r\9cÜ(zÌyßNzò\ 6Å°i­ð\80;7\8dWµ¨béñ\0?ó <\ 3®Ô\93¬:\86\8a\1aX\16è\8bpöªâå "4\84¯RPÇ»ºÎyY\83;ÝíE\97Ðmß\0O\83Ö«\15´\83Ò\8dQ\1a\f:wfóP;\13­\ 3zÓ2zQU&\ 3mTËÚ`ÏVkÉ\ 3\12VU]àîã§\e\9aA\ 3,\86Éb\19\17/ôR«0 SµLæ×P\14h¾õä¼°¾mB\7fY¥Àb\10\82\93\96ñj¹3^ñÎ\82FµxQu[\93·B;\94\1dA\e\7fÉ1\ 4¥0Ø
+:ñ.ÔáÇ<w-\85\ 53@O\ f÷w\83N3S× Ú%ô'\9aÌ \ 6Ç£\ 2Í\87}B\99\83¨SA\81\97o\88ZÇrä\ 5\8c,4JßÓ(\f\172Pz°¡«Ó$3ºHèg\83\86ú©b\16ø}³-Ð\ 32ìüµeÏ\fQ°?\1a\1fµ¨Í+ØÃ]\99\8b£\82>D\8a?Ä^b\95\84¶è¡çþлÅ|Õ3»\ fË\ 1Ðñ` \84ÈDÊ¢<®aÁ\86ç\83­K£Mk¹9\14\bã\19Úì³?¸\f_\99^\9di祣ÇË\13N\1e¯b«Ñ\16\8dqN¥°\7f\99ú\80\ 4\16\17\1dÁ\8d\85±5\e\82\8d¾W¾$1\80æà¾\8a\97\12\14­<\88°]\88\18v|\b&v\bo£i>]nN=i \19v\88\93Щ¤Æ\1a ªÝ\9b\ e\ 6\ 3Ì\84CEné\10+ýÔ\83§9\ f\8c~ßH?\99\1dUبâ6Î:és\11¼z\90puX\0\1e\f=i³×\84d\1aå2mûj£Ç+*Õ\ eù×÷È\0u(ÄDº\16ñjá<Äï\ eÀ­iÞªºg[èL²\90Ð\15~S\19Éá~{'\17UëÊ\9e\ 2FW(\fP\14<!)`_\83B!?\ f~fG¦2&­DÄj\a=¾OÑïRädÅþ]\86¶À2Bø\87¯Ø¥ý~\8c7\97Ní´ÌY\84Ø\13;\87\84VNæcªÌ~R!\82tÖEÔ¡Èq='lß#H\eè,+\8d\81HP\96]êÚ¦1\16Ñ\ eç\96fÏÊIBÚEWÕâ        \ 4\1d>\82\86_ãe\89\88
+ô° á\84T²V¥\16\10^Népë^gg\ 4\19\1d\13\ 4\19]\ f\ 2\8cþÎãäÒ9¦rÂ\12\10\97\bP6¹È|\vßàÌAR\82\16Ìîdü\14\ 3\11È\82a0û!$^ö-5\91\85ÏH\95Ð\15\82\ e\839rúÆF\ f\12bÅÎ8\16\99R\ flG¬\88^mFýÙ!q&àÌ,qù\80npþój>MÂí"!äN\1dKq\13\ 6£&\10\8e)\r&(Â\15#®?i6¡_4\1fÍ\bg\9e\ 2\8b\15-07\1el½/Ó?¬Böÿ«N÷\87Ïþ\93Pc\95#«ÿ«R_!þG©\ e\bÆYò\8eT\1f8Ùk\84\ 3®M1Ú\v\ 5\15\8eN¶rQ\85Ap\1a¡\8f;Ux;FPõ÷\ 2NÞc¤í\95+Y:\19¤\8e\93i\0çU\14\vîl\8dûõfAëÅM¼¸<ÜÞßÝÒ¯Ö|Áý\93~0Y{¼ÿq½ÉaÁäzzÃ\17\9dû\93\9bÐr\8dûôj\8e\8b\12^Ìæ+^ðãöâ·\8b¿\ 1TBÖ:endstream
+endobj
+1386 0 obj<</Type/Page/Parent 1119 0 R/Contents 1387 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1387 0 obj<</Filter/FlateDecode/Length 1467      >>stream
+x\ 1\85VÛrÚH\10}÷Wtñ\12§*V\10`\8c·j\1f\1cL6T\19\9b5r¹²ë}\18¤\ 1&\96\99\11\82ýú==\92|!NR¾\14H=}9}NOÿ{\14R\17?!\9dõ¨?¤8;ê\ 6]:=\e\ 6C\1a\8cÎð¹\87?#iU¿è\86Áàðŧèèãçs
+Ï(ZÁ×p\14R\94\10üt»\14ÅÇ\8bTW4N\95Ì\9d}\1f}\83í\80B\98°íIï\f\81¢äø&\97THcuN\ea\11°ÐÆÉ\84ÜF8²Ò9\95¯ñ\ 5FF;\1dë\94\9c¦ñÍíd~u· #ðÊ°qNW\17׳\8bë\1e­ÅV\92 Ä\88L8\15sdÄ\vûA\8fãÙB»Êàn+3¤F\ fÇ+£3
\8f\1f-;\ fOùÓÃû 9Ù\e¢r\9c\9c\92-q:vun\eei>~gq¾?\1aÚ]8¤¥°2yxO\95\ 4nÂ>rê+m(Óø\9e\b'êD\91ò\9eb]¦  Å\eY\ 5ôìY\90U\99J\85y3ëúÌR\ 2©\84\96û'x:Fâ\81\11\15ýN¹î\90È\13êdbG»L9<ëu\a£Î\aR¹ul¨W\88+òõ!²mÁ-TW\1a\85´Fu\f«þ\93\1dÊÔzãH¤VÓF¦\85\92\b'ýA\r\99\95\1f\13ÀÛ¤Þ\86\ 4ã\96fÚ²÷Jì-%¥ä\9ex\ 2\bk+m<h±ÇÖ©L\ 6tgÛ\1cÁ7\89£\85\111\1a/Rê\14í\99TneÚ9@µRiÚR\ 1!àÆ\828©v\ 1}ÕeÓ"_¦ÌÅ2E&àaçîó\98b³/\\87\14\88«rÿf&\1eåJ¥òÇxÔb Wæ\88Åɼ-\89\95\939\12©©
+¢"tF1(\8eÖ;\14Çò¨1\89½º\ 2\8a\90\99é\fÊÉ\9dÈ
+d|¯òDWÖÓð^\9bǵÑe\ 1r³»\ 3\ fË!Ê\1c\11ØË\12ú\83¼¢ñ\9c5\8a'\99Èãº>\96p#\8c\85\94´×¥i3Ht\\a\13*µ xN\850èI       j\7f\0ß7¬Ñ\8d\14è¦)3\9c\85òXð\fðýê~Ý ëYóB¼Hä~z}ys¿\98þ5ñ4Ç\93Åä\8fÙä:ò\8f\18\em\14f-¹» \ 3¡I?)à\82\99\9c\ræ©£3\9eI\9añóÎVº\84¢^M¤K¹\12eênãm\8d\81¿g\v¤ô\ f¤        
+"*´\86\9a\ e\90^|]D\93Y0½\9e\12ó\85à\1d(ûºÑ×~\17#y­¶\92ɸTë\96¡<¬xV$:\7fçè1Çp­6ûV´m3f{ÒU\8eþ£^LÞXRå6ô}º\ràSZKGY\19oÚf¿À\89*\85³-\94[\91B\8c\ fÇá°?\1a\1cT\ 4®x¼\rÆ&Ý bó
+À×S]ä{/6Â\ 46u¹\16Òå\8c¼\ 4AX\14\90\83\15`\86M÷ðøtI\1cÄ\85ªóç;£\95LbtÁÈ\vZ¡ùÈ\r\9fû] \ 5c\10¬â©ïg¾\87\1a\90\8fÂóÞ¯¡\9dòhÑKL\82=%²\90\8c\v¦\97\17À\ 6\84®0Ä>xn2\99ݾ\90\1c\1e\8aßÑRïØ®ahÍvíÁ\82¯\86*\94ªüñ°©sp\8dÆ:Þ\18\ 1\9e\ 4       dMT\87\91Ç\ 3\1094\13ÀªÄ\8b\98\9fòU\103\9f\9b\81±Ò) æ7±Îã´´ ©ý­AµåÐ\14\17\85Àhä\ 2î{¸\84Ë"\90\ 2LV\ f\UUA¦b£-¦F\80\0<\82p!â\17
+,\v\v°\ 4òì\ 2á¬\8e\1f  Nñ\9f3*\9dJ\95SòPßÕF\81\88Íåü3Å\8eu¾Rë\12×E\13àü\94§Ôt\ e\95uæérôW:«é\15¿ë9\ 61\95\96w\ 5´u\8du\ 1C1MerÀ±Yt·\98O&\97\1e\82:C¨Fc¨¬¼¸)\97Ðe\ 4ÎÃ\15þ¶Â(ð\96êÎ>\95\17\0yJ¬\8c\94 \91Øb@òÕâ\1d\1c\ 4\9f:¦¯\81«]ú;îy\1c×+\86\8fí\e\89mîi4ÏÄ\ eéÓ­Ì 5v\7f\82\ 5\fËYr\1c\ 6Äßñõi5ºÅl}Ë\14Ò84\85Ó\8bÒéKec/b|à*^Eè¿yìS
+\12|Ñ©¼\94\8ew©·N\ e¾?\19ᪧHÓ\15wrâocߧ§zN\7f\84¾ÜÌ\17Ôï½Êqøý©ëË)\8d\ 5\163Z`Ù¡î+û³ÚþãçQ³É\86\ 3¬É£>\rO\aÁ\88q]\Ì>]ÐÜèo¾:\1d\97<·±\88j\7fß\9e\84CìÖ8prÖ=÷ö\90ãË%y0\1c\ 5ÃÓ^Ó¤Þ\90ÃO¢£?\8fþ\aM\10®\84endstream
+endobj
+1388 0 obj<</Type/Page/Parent 1119 0 R/Contents 1389 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R>>/XObject<<>>>>>>endobj
+1389 0 obj<</Filter/FlateDecode/Length 910       >>stream
+x\ 1mUMs\9bH\10½ëWô\9eâÔ\ 6<|˹ٱ\9dRe½¥­è\90C.#\18\ 460df°Öÿ~_\8fÀÎ*AUØj\9a7¯_¿nýXE$ð\89¨\88)É©ìW"\¯éíf\ eø"(+â° t]àÿ4\ f#2\8aêÕÍ\ eé\ 2\0¯7¤_Þ§\14E´«\81\9b¯\vÚUþ¹ ]y±!gZUÑskÜ$»î\85p#]\93k\14µNõ\96z5¸V\ fHj\a\1f®t9q\90äPù\80\1eð\1e2èØ´eC½¬\14IªÚºVF\r¥"§\81ò~÷¸\12\14DI\18\83ÂÅQZÿ²Õå\93r¤G>Ä\86´qä&ÃÇéÉÑ\868o¯\9cS\ 6´j:¶®á\arxù\83¯\195ÎÃ\94Q7 ¨\f\ 4ý¬\fWcGÅh¨ÉÈÁ\82Ó\a\ 6<*5г4­\9e,P\87«\8cÊ®EYÖ×%éö[\1cä9Åâá\86¬2\0ó\87\93<+¤4r\1c_èï»X@ùR÷£tí¾\83\ 4\90Gw\15mnï¨2í³¢ï\17_\14Jë(\ eE\98\88ïïCÚAç\85\17\19é "
+6JZ=HF©µ¡HÐ^Zµ\vùèË{AWÜÍ(L\93\98\828\v×ø\8bâ\19«n\ f\93Q¨Á¨\8fôzm¡Øÿ®Ï\90\ 3Þâ··\11ª=I@É'ÝS)Må1ÒX\ 4i*\9en.í     $\13"Èb\1fø\ 5\845ð:\9e\81$W\0\89~\ 2I\11ÈN\813\90ÛoiP,í\98\85=\15\93\14"HÖ?\81$   \ 2Ù+\93\a\8b:\85W\89­á5ô\8eµÐ\Y\98\ en\99=Aî¨!^ÇÒQ\1afhºSÿ:\1f\9a\r\11-AN;u\ eJO\1d\fï\1cð+ô\7f°m¥L;\1c\96ªfÃóD5\90ô\88ÖÐWÙï%µèô4\fÈ\ 5\15¶þ;>\9d\r\85!*\9bvP¿±8wy\1a+Xål6#Ï3¦½ÑÓ¡qHò\ 3öZ!»ËRmÐÚÇ\89«gKGâ¤&fÛê^-3à\9d\86i]æê\9a\ 6u\\1a\vÚ\92¶I\92\83*\9d\12A =°KØ:\9eM3í\7fãñ\99\85k\80\8e \83ÖÕÇ3½Ò\fþ\98Ù¡Q£\1fú\8ar!þôNDì Ü9Ñ¿´~b=¥#ë0\81Lä~·\85\12^\15 |x\13_Ò¾E^§A\ 2ùh1\8dèQey<7d§qÔl\98\86\89\82p¯=á_\e\f\86´¾»£ÑN\97ºÃº\ 1÷¶Æ>\85`\136\ 2xûîhß ?õXO'\9a\8aFejÝK^\9cG\9f¾WôcÂ2æ\8a\ e\aï­y\13¬çÅ\1eåø\1dX'\14\17Wa\9cg<Î_¯\1fn®ikô#\1aD·óÎÆjÒ\ 3\v\1d\ 4\85À6A>T O§\rÈ     i¾\ eó,Æo\ 6\1eFqÁ±»Ýê\9fÕ\7fݧúZendstream
+endobj
+1390 0 obj<</Type/Page/Parent 1119 0 R/Contents 1391 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 9 0 R/F7 10 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 790 0 R>>endobj
+1391 0 obj<</Filter/FlateDecode/Length 346       >>stream
+x\ 1e\91Os\820\10Åï|\8a\83i\12È\1f\8eÕÖ\8e·V3½\83DK\87\80\ 5ìÔoß\r¨Äé0dæå·o÷%ù\8e\18\18(\ e±\84\9d\8b(¡¸s[6¯~\ad,\88\ 4\a\89"ê"*Ø\8e\88s\92 â)IA\ e£@¢-%<`\81t Ä\1d\v¤\ 3F\19a\811ÔHc\8e¡¦\91CPêGáÄħ\1e\84O\13H\aR\13\1d0o\13©ÄÕ\81`$¾\bo\v$\ 6\18J~ó1*ðbÆ.Þ\18j\1fÔw\9fè0QKô'Z!áø·\16öÑÂD\8f«\148\ 5³Çg\91J\83)\86×À\9dÝlýAàéx´uQþÚîÁ|aµ\ 2ÆÆê9×ØÑ\143\93å\95\85f\ f˦îmÝ_*åTÉâ±ò­iû,/«²?ûn\14æW²Í\\9eAV\17Ðô\9f\85åzµ\85]U^Û\ 5¥\e{Ä6e}\80Åé0Ì
+às\99\1dê¦óôÜ\9c\86¾\9dm\7fl;\1e@O±Dª|þÿÇLðɤàx%\88\19×Þùb¢÷è\ fþ¡£Öendstream
+endobj
+1392 0 obj<</Type/Page/Parent 1119 0 R/Contents 1393 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1393 0 obj<</Filter/FlateDecode/Length 1473      >>stream
+x\ 1}VïoÛ6\10ý\9e¿â\80}\88\vØ\8a\7fÅv¶O]²®\ 6Ö&C\1c,è<\14´DÙ\$R%©¸þï÷\8e\94ìTi×¢i$\91wïÞ½{ä\97³\11\rñwDó1Mf\94\96gÃdH³ñe² éb\8eßÇøg%åáÃd~\85Çï|\18ϦÉøõ\87Å\82\86IûÃnñ\80\80\1c1\86¸\9c!M\bþë\8aã\ 3Êñ\aV_¼»¢ñ\90V9\10Îæ\vZeá;Þ¤½;c½Ø¨BùÃ\9bÕ¿g\17ï¦4\1aÅ¥\83ñ\ 2XVYï^\94\eA{c\9f\1c\19MøUe\92¬Ð[I&§ª\10>7¶t´©=ù\9d$¥½´¹H%\89¢\boNk*k\9ey»r¤\8dÇ\82½88N=¤Áh\12\13¦¦¬\84W\9bB&´Úaeº\13\15BRj´\17J»cÎ\81«dªr\95"'cÀ.F¸1@ÂQP\98Þ\92Ð\19Õ\8e\7fs\J\12+½¢Ñ¼©t2M¦\éû»\87Ç×4Ì\93YüxîH\95U!K      \18!\13ÊwuÕ¾²\aÚZSWXæú$m\1f\81óÈ/lFë\1e ÒîàP\8aJE\81\96        g´[¿á2%\1a(ðÏïM\87\8e\10\93rUHD½\90\88o¸¬ðX\98-\8aãÌ¿\ 4\1d§(©\14@ò°¼qä\réºÜHë\1a\1e¸KÌ\17cD×:      \95V>\16²î­ß0Ì\f\ 5\9d\ 6ö\84>\18ç©É"²\92;²ß\19zÒf\1fÖYSI\87\ 5\7fz    \19@:\88;©×½\1dS\15öeF:}î\83ò\18\17Ê1ä|]©\8c\1a\16\9c!f\90©ì ß+h\90µP@9¤rH8È\96ë\89Ev \1cL}\8e>ðbÝEK;Á¥
+O\8a\ 5¦\1d¤\fR\91}\83îñ\8egQ\0Öò¦\8fe*ÝQ)\ 5Ø\81\1eyi$\87\a§\93óïa\92 S\9f?¼}ü\87\18\9ag\9e\94uo\89­à\12Ý\98\rñ\87ÒÚZ¨°8ðD¾¿\e<<6£RY\99\16u\ 6ú\aã üÙåådÚçÌ\9d\9cµ«¡Ásm6&;\9cÓï\10J\98\f\fâx\16ça\99\13Ø ©SSóL3\b\f\9f5\18Ͳ\ f\81=Iè\9f\940£ø¶µ\ 2^\10Þ°\9es\11\87\10\1cu:\ 3Êl\8dieQ2\8bð\83\ eD4@èãPí\95ß\ 5\98ßР     \8b1{\99E?ê\16\10Ü\ 3\903\93Ö<µX\87\98\fôý\1dàkf \12[°Ukt\92\9c<
+\7f\f®yÂ*áÜ>[÷¦ÐV\ 3¯¥ç\96©\7fx\f\1c\955F\ 2uÐ6M       Zmr¼\85D\1a'âÁY!sn¥<¾\8a<A\9e\80\10ê\v½lÝ\91ww(        JVBÃ:\ 1.\15\9a]4Z\9d¤àÔ?¶·ûë[zÐê+\87üÖé\e\8b\1dº¢É\14\19=£1l©0ºv7\97¦cÍâ@Z\82S\9eB\89\99(+>N\80mu}w±¼\ 3w>Ý¡2\1eÞx\8a`%\1f\8a\82\9aS¨9¡¿Ðdvoæ/lï\1fS\9dd\98\1akëÊS&¼ \8f\93Èå'o;yü\v%3ñ!\\88\16@C\16\ f·7\93Å%]\e­\91\9eë¼±\8aK¦û?î\13Z¢$Gâ\19
+\16P<:gÊ@\ 3\9cÜW\89KM\ 2æû\94)Fol8B_\9cc\bÒ\8f¾MµÉ\90I$\9fBÛÚ§ÂÛäS£+>¥_\1dH7\1f\97?>\90øc0$Ñ\8ed\94\10D,k\ 5É6
+æçm|\ e
+\84HqVx¥Ñ\19\9ePf\ 3M|Õ$ȪiË÷\ e 4è@{6ªBæ\9eG\92EÂm\v¸®áá\e+p$r\\a\817öÝ\1d¢waXÀs<\r\e\9dl\ e\94É\Ô\ 5\9a\0\95C\97\86>Þ~þmyÓNrHç\9aþ\ 1\82ÒÑ\0\93]c\89áæÒQ\9c\0\ 3\98\1f\8eÙØ\19\87\13\0]*v     ÜJBÑìóÀ\96\v\e»\ f\13\17E?ÖÃ\8e¼Å1çù\84Ù\9bãQeÕvç»e®\f\94ðõ\9b\84H\I\v\vg\8f\bn#K\16\e\r\9b\e_\p+ ¼ÖA¤èZ\84®IbZ`["\v¥\94\18ÄN\9d\bméÔ\vp\1d\8eVì*Q0¦ñd\19/¦¥
+\ 3\88º\e³ä»\aE×À%7Ü\ f{\8dª\92py;¹IïçvÝ\15_®FÉt2Æ\81\82\8b0þÇ\15\8b\9a?ɶÀ)Bô¹\89ÓâÆ=\97\97µ¯C4\1e©æ}»½4Ïò\v\1e~\9aÎûÙ°³ùÅ"dÀ¢ÑpØ\17ÿ³*\86\1aõ³Q\ 4¿h\8a\1c\9cà\8ff¸,fÝûòt¶Hf\97c\¬ñm4¾âí¿­Îþ<û\ f0ÁÆ¿endstream
+endobj
+1394 0 obj<</Type/Page/Parent 1119 0 R/Contents 1395 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1395 0 obj<</Filter/FlateDecode/Length 969       >>stream
+x\ 1ÝV]oâ8\14}çW\µóÀH%\8d\ 3$0Ò>´Û\19-ÒtvwÊî4ÒÈ$\ 6Ü:1c;Ãòï÷ØIh\81²}_*Abß\8fsï9×î\8f\1e£\18\7f\8c²\84\86)åe/\8e&\13zþ2+¼Ä\94²i4¦Ñ$Ãs6Á£\11´\84mL£Q¶ßaÃäåV\92\8d£QëÄ\86Qöì\94$IÄ^Û\ 1\98(n¿ÚÔ\fI;Û\ 4 Û̯¡dq\1aMOÂÞÎ=УÈ×\9fb\9aÒ|I,\1a\r\13J\91d\9cNh^\ 4\01Íó>µ\9fRÿTþqô­o7ßÞ_qö~þØ\8biÀÐ&xì\r\9dá\eox9=c°Èsë\rØ»3\ 6\8fe\b@¹0F\9b##öîÃÑ\8a\8få?¹2\ 1a\11\9f10Îú\9dëO#bÌW=hÊ\1e$Y(\1fEljGn--É
+¿`W*A\8d\13ô\11\9cúV8QË":
\ f¸\8e::HÆÑ\ 4\9d\9fh¥ô\ 2@¿·q\8eÀvËçª\ 4\ fâ\aª½\1ceWg+íȺdq|ÅÏõc\1f*¾*αÙEú\7fÓÎ\97N\18Ê\8dàNV«À<_ Ñ\81\7fK;]ûµ\8a¸µ¢\@\12x+©¶0nÄ1nÅ\81yHR\8c;øæ\96\ e\94rºµ:\15Ñ\v#·æ\8eìZת \8dÑE\9d\87´-¤3\9aÔÍz'ð>ñªxM¿>õ\91íAjÔê\8b®\84(Èiâ\ 5~ÖÂ\ 2\81\ eÝù<»}¸'%+ÑMÊÝ\97Ù_(8wRW¤\97Áê\81\97\vN÷üIø9\8aèo]\ezví\94?\8cÂ\80l¥RÞ­"¥õ\13Y]
+\8c"èPòÉ\97\e\13ÖDþ%´=\14¸'@Ó@U\87­9\9d} ëú\1dP\18á\a$\14â\v}#ùe\81\8e/¿\7fÿ8»{+×Òè2D>n[ã¸?kd\95«º\106Z7\eSb\99?¹@ÖpÔèì«(~\83R>˪þ\87¾B\9e\ 6\9c»Álv\88ÁÓ\9bE©Wæí\8e\0\96×ÊÁ>8¿t£¢6¾ë²²\8e+\85\89\0¡\10\80\85\96HTÎì¼\b®\85˯×Ú:,[Zj¥ôö-~Â)\8d/\ 6 ¸\8bp\9f\81èÍ\82çOtáCU¼\14\17ÑE¡K.«ðrXÂ)es\7fT缶ÂR#6@óA)DÕU+×}\1eYaÐ\97<\87\18ç8Þ\8d°¾\v\b\12¦­       ±äRaAS®Ë²®dÎ\9dð@ÐAÜßAª¹6\ 6RW;ÚJ·\ eDnµÁ úq\83x\8cXjC%ß\91\ fÖÄê<*±ÒN"&m׺I-`jý      ´0è¢\80à­£µV\ 5\96\10ñ(ù97\13µ\86Ý  ôk\83RBÄ7a.?Ð\9dP¸½\ 2à\86Êæä\ 3dB\ 1Å3!íý\17&\1c:0á\Ü\13×ð2i\ f=\96\82ÏÉ\90Òl\1a±dè%öps\7f{C\7f\18ý\88\9dÎë\12ù\82\96¼ï s\19d1þÿ(úÿ)âQ:\89Òq\ 2ÑÃ\92\rÃuöqÞû³÷/t\ 1\9e\8bendstream
+endobj
+1396 0 obj<</Type/Page/Parent 1119 0 R/Contents 1397 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 11 0 R>>/XObject<<>>>>>>endobj
+1397 0 obj<</Filter/FlateDecode/Length 159       >>stream
+x\ 15\8eÑ
+\820\18\85ïÿ§8\97v¡mjs^*\15      \ 5e{\ 1Û&(8I&ôøM"\ e\a~Îù?8oâ`A\1cE\8aL@OÄ\12\ 6!Ë$G.\8bp§Á\8bEOµ¢ýY\82\1e\\84Nf(X    e\10 Æ tô¬nu\85û2\8fV{\1cg½NÖùÎ\ f³Û©\91â?\17ÿÀ¨µæÒy\\a·~ÐÚéµtÎø¸i¶ï\ÈD\1cÒ°O\99\88g|ËN\8a\1eô\ 5\81¨-íendstream
+endobj
+1398 0 obj<</Type/Page/Parent 1119 0 R/Contents 1399 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F8 11 0 R/F9 12 0 R/Fc 13 0 R>>/XObject<<>>>>/Annots 801 0 R>>endobj
+1399 0 obj<</Filter/FlateDecode/Length 1638      >>stream
 x\ 1¥WÛn\e7\10}÷W\fôb\e\90VÖź䥰]»\15\1a_\1a)q
-\18(¸+JbÌ%7K®\15½ôÛ{\86\I¶\12\14\b
-C\82\96KrfÎ\9c93þzÔ¡3üuhØ¥Þ\80²üè,9£Ao\8cïþh\88ï.>¥¤\ 5¿ÀÖÝ×\87ß\8e:ãdLç£A2¢\9cÎÇI¯~Ð4\r×ô\a#\1cΩ7Ä«øÀ¯ÎGÉ°~ÌiÔÅéý;¶Þïw\92\ 1\8eups§~Ú]Ùëðþ·\9euÏ{8ÐëñU9õ\87Ýä¼~Ú\1e\83sßÅs9;jß\8c©{F³\ 5 \18\fG4\9b\87\0±\92\9d\­DáeIÝ~BS\91§\82\84\99\93õ+¬]Mn¦\94i%\8dw§³/¸§O\9dN¼§Õ\1d%]Üt2[)GY}Kf\8d\17Ê`!\9cj¹Bfj¡2RfaË\xeM\12¯\1aSgX_Õë'}¾
->t\12º\15\992ÞºÕÖô/ßÛ\1e\ 2\b\1cøKº\84f«ªté\86\8c]ÓJ¼H\12Ññ«à\ 2µi*Ë\17D\93       ­å\9c~½øtM-rRòµgÔê\ e¢õÙJnÈKçIy\12K\ eÃÓ£2s»v4>oî~ßÍ\ 2F. \85°(³y\81ÐR¥\95ß\90r®b¿.<\ 1Eò*\97d\17´.\95WfÙ¬­vz\11¾àÎZ8\12\9eà¥\ 3@ÔIÎ\18\b8\14~\9e\91·q\8dªb.¼\84       \12/Bi\91j\84\8b\aZ\94R\12<5Ú\8a9\9el\1e\8co±YËôÀ®S¸çé\84=D\92\80\v\\ X\ 6Ê\16J:`é(\95Òв\94Âë\r\12&\93óf\b\1f'Q/\ 2\9f´Z¶\16ê\e\8e(\93éj.çO§!ɯÀ½Ð \99\ 1H/ØÖâÐêÃ~m£ó*/´ÌAµ@\12Çþ\\14X\9a     ýL\8c²\93ÀGhz\86\97áõÇ»ÉgÊE¶2Ò\ 5\9f\ e\ fä\16\90£\\96\99Â\ 5\16û\ 3ºNRQÚy\95y@¨5ø³±\15\83]V\ 6`\0[\aê¨\f.sQ\14%x¹_\8aÑ\0\17o\ f\fï\19\ 2ø¶V~\ 5~\92\98ÏA\ 2\84«\8aÂ\96\1e\9aóµR%ãoBÆvgcþwð\80boà\ 1ð\aVï$ \ 3X1=W\17\ f     =®ÀªXÕv±\80+t;ÝѸö\ryd\1cDö,\96\b4ìc\fà\b\ 1ð\ 1?.`øx`óíáf´\15\1dx¯Lõ\r\fÛË       ç«\95
-\87`ÝÆy\99»§ÓWu¸­\88\95÷Å»v{½^'à\9dK\90¹¶æËþF®ÿ^+\93¬|®Ù\11Öµ\1f\89H7¡ûi\97¢\0ì6BbX\0[½³(\1eP\9b.\97ÙïÈ{&\f\11³PË
-l¹\9f¶»ô(Ê\82®¬12ó\ 4\1cö\8býPt[,¸1@\8c¢ä\ 5ª\ 6È\7f$[¼ï"\ 2Ê¢¡%\8aP\18·FÕ\ 1rÏRú\15âÁ\1c    >¥èH¶bA6Tã\92\89Òê\ 40¸¤z\11\89Ñí\7f´\94Õº\1dô¨½\86Ó\ 1 Ã
\14\ 4n\9a\81å\86kÞ¯X6Ø\13Ô\ 4\1d\87\84þøZ\13é\86\v\81³ø\10ø_ËêÓÉñäò\96\1e¤,\8f\9fN#ÈYÝ\1dZÃdÄ\r\17Á>u\aC\8ao·½#¼lm³=»zhO\1eÀ\93ã\89a\89\90¨°X\1aÿïZèZ\ 3\15q9¹\9f\92\8f\86\1a4/¡A%\eÄÊåõÇÉOÚáÆ×\19ï!\9a M\0VH{¨ß\85*Ñ6¸l½]J\16ÉXýøEÌ}²\ 5T\8c;A]\ 4\9cZA©\16æy»\ 2\16Èo\85F\aB\8e\ 5\96puëÈ\85©\84Nh²\88TeÁ\16\1ab=ßDáæ\ e\16\9a^\13\1aícÚAöµ\80\8c\81nõëà6p_Û\12Ò
-·"üM\82@ð»\ 3«\8d©Ô(\b\80Huè\81òÀº¾ A6ýÂ%S{Þ\98\86bG\eöUÑÀf\8d&sÈÎ\v(c\8dà\7f¦\rÐ\18ëi.]Vªt\ fOÄ"ÐôK\85\ 4¤ÐGHsí\825ÈÏa s\9bU»~\83áÇ\vÈñíÃl\9a\\7f¾nòð\91=srîÿxõÐ\80\1eÔ\1añþâaÚ\b\16w[\e\\12,\13\a\98Ý]Ï\ 2\11ï?]\7fØ\11\11¾\1d?\94ÖÛÌjwÌr\8fàØOnïÀÝ@'^¸H-\1d_Ue\89\ 2e5
-ÖC\8fÄ\99\98\vì\86ÎóÑÃébï\19æ<³\94dª<\95et\eÝ\1adA\92\84\89¡\1e4 âHn\10£­"\ 6{\879\ 3ï\98Õ±¿p§\94åÓ        kz\9d$`\87~Z\92¶Ð\1dÐ*\ 5É¢ø°ÜÚ"vBd       m\91 \ 1Fäu§ÅB)\9d\ví\88m¸ÃÜEk\80\89E\93+=\1c\9co4YªãÜ\89\9béqr7\r=;ÖüV\12Â\81àò1\93\84óÆ\12÷áæ
-#`\99+cµ]nösÌV®¸\1f¾é\v<1ä\ 2ÓgÐS»\9fÁ\10b=­ñð²\17Kö9\85\92.\19v@ÄþCº%i\8c+\9a\eË\ fJ\9d\87s(5ïÅ(W S\13S\17m\ 2\ 4\11)x\12\92Ó¾\19í\aôÁ8ö¥\9f\99ðù?\94Áy7jw§×c\1e\8eþ<ú\17¦\81\175endstream
-endobj
-1650 0 obj<</Type/Page/Parent 1367 0 R/Contents 1651 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1050 0 R>>endobj
-1651 0 obj<</Filter/FlateDecode/Length 1607      >>stream
-x\ 1­WQoÛ6\10~ϯ8äe)àP\96ìØI\81`HÚdMѸYì5\18\96a %ÚV+\91\9a(ÅõË~û¾#©ØqQt\ fkZÕ\16É»ï¾ûîxùû ¦>~b\1a'4\18QZ\1eôE\1fo\9e\1f÷¿ð\e\1a%#<KJ\86c\91\84o\ 5M\ f\92Ñ©\18\ eG#1ÞY\8dû±\88é¤?À\1e\9c=\8bÅIøÆgÙîðl Nix:Æç\ 4ÿjE\8b\83xx
-'Ãø\ 4Ï\92\ 6'c1\bߺc\83ñ\19\1f~y\8cíÅI\ 2_{\v\97³\83èú\8câ!Í\16\bvt\8a\ f\99\8b±O³ô(\19\8a\ 4?ôά)\95\9an(5z\91/[\80ù8\8d\12z\90uE\ 3z<Ò¦¡7Fk\956\8f¯z~1\16I\8fb 4õ«Ùç\83>\1dÇ#\84\8e\12ñ\95\16¦¦©,çòg^\8c®\87\14Ç\1eÅq2æM¿\9bÖ9m­¢f\85èk¥è6OkcÍ¢¡\ f\17\13º\95Z.U\r~\92\94Þ\14¹Ò\8d³ë°-jSv~\aà\v&\17Mõ:\8að\14egG¤¦\8c.[;ÝØÈ[°\11Lß^LÄÇi\12  \9aÂëªq\aSY\9bB¬smEû$\85\7f
-¥ÚuTH]J-VMY°ÿ=¯¥\ 1]¹ÆB)\9bÜhÂß\15\18m\fÞÚF\16\ 5I\9d\91\8f\94º@\ 4Ýh\92¤ÛÆ®TQôHeyã\89È\vE\8f\8f\80÷éê\1e&ÜËÚ\98fÏo\96×H\87©7d\16n\8f£e\8e\8dTɺÉ\1d\16ö,³Ì­\17¹VöµOG\9fκl\f\ 5«â\88öþ$ýs«\9a\12ê«ê<÷}~÷v\12¶jÕ¬¿ Xa7ö?í~ʲnï\vq\f\82\86æ
-\84*Ú@%\1d\8b¬\92\8e¼\8bÂ\9a\1eeFÿÔ\ 4f9\aiÑf*£ÉUÒG-guþ\ 4õÌU*\99\vöçír¹\114\ 3mlÏoí\10\a\1d\93é®     Ö\1a\95føî\94UµóÈØ$âðMý%ÒYn#\aXÉLxª·õw<\88=×®ð\ 6\82.\10!Pà)5ÒÈ\1f\81ѶÊÒz¥´¯³Ç#^D$\16âz|ÅA \1c¤Õ\92ì\80\aÒ<;ß«¸\a\84f\ 6Ê\9b\ÍèÓÍÕ\ 3Ê÷\99ÁÃkÖ\1ekæ®ÎQl¾bè^YÓÖ©¢ËÚ¬­ª\ f\8d¯nÂW\86F\96%\ fµt\88\ 2\95³\15+\1e½e\8e
-Ï¿\ 2ö|\ 3ç\95\15J\1e´þ¨ø,7\91\bg]ý!sÈ\9a?¾ÎQZ°Ûå}Ï5*GR!\ep\1aÈãBq=    Å×\90\84\84\1c\88Æ×V\b\1d\e|\16ªÚÌ\v\1eÙ\16HÁuU+\8e5×K*\f\1e\vP¥e\19RµçÛÌ?£6a\18©Íj¹\"p\17-kî\ 1
-       >§\úÜ(øµC\16øü\81t\86¾g#\8f7´T¨wÎ\16â\f\8aÏÌZ\17FfÄ\9adÀÜ\8c]wð\ 2±ßSÈu^Û¦Gi­@\eX±+\ e E\v\ 3þ?îîo&³·÷\9fþ\ 4\8a       ö\8bì\18»3  ¶\ 4®\88
-\vÞ\ 2\1cfÊz\9d\v\9a\18Xæó{\8c1\ 3âêâ/Ç«¥²µ\rÙ&dØ*t4@B6\8cS°K½V@\ 5òº\eÄÔù2ײxn\18ÎqÏé\99\94ÑA\8a¡\9f¨l\ fB\a\97U\89m\8e0´³F\95\9dª1\v¸^y\13ú:\83\9eÌ:Ú\17Ì\9eãÚñ\13\92â\14«\81\82»°C_\93-çh\1fzá*¡\86\88\90¼\1e¡\91t¦JYÑ9Ã\8b®\93íÅ\19w÷\\90\9eßÐݬG\87\9d«pgpød+\95æ\8bÜ\17ÞK\8bG\9d\84÷ìô\88Ýsl¬ïîvÙÆéÞ\ 6Ñ2I|\9coÿ\80.Ðèv¡n\16¦(Ð5½s²\8d¦#\13}f÷ȹãápçÕ¡8ÌÔS\8eza\9b\87ß Ub)^Ó»;ú Q¡ïQ\ f'\1fè\1c\13ÄôêþýÕL¼\ h;ïÝ\18²\92O
-ª+\9a\9cû\80÷\ e\19ʪ\ 2u\8eP42&ì\e-,\9c"\8d.6\81l\7f³8ùìD±Õ!3»\13PÏQíÅ#\e¨­Â\1c`ФC\11»íî*Û#Ú\15\81L\9b\16õ¹y¹?(\7fÞú\91b§öÉ\9dj¸ïðU°5Î÷
-W\89|\92yáËù£\9f\82\8b% íñµêLr¯a\ 1Â\8cc\8a{½ÍË
-иåg\197¢½Ð»ÖÇ4c\19\14\8d­W9zî®á½È1a±¥\17\9cm[&ÆK\9ev\8f\aa²Ám\8b»ö!× \94õX»\ e¼¬Ñòݬ²;"\1f\ fú\18£y\86åC± ß09ð%\82Ê\9e½¹\8bnîÐ\95dúÅwóçqõ¥&áÛϸ|\98\81~×Àó\9c\97\11÷²]¤ÌªG\1aâ;\r\ 5\14\8fð\9bÃé\80Føß\ 1\9e^Ü^^àÞ6|óÐ[\93¶%æe7\912:\fçþÀñ¸\8fÑÏ\ 5øÿ\fÿ\18Ï÷Çý!ÿrt\92    p\14\ f\86\fàjvðëÁ¿Ð?\17
-endstream
-endobj
-1652 0 obj<</Type/Page/Parent 1367 0 R/Contents 1653 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1053 0 R>>endobj
-1653 0 obj<</Filter/FlateDecode/Length 1675      >>stream
-x\ 1\9dW]OÛH\14}çW\õ¥¬D\1còI¨´\ f4       \15*\84lâ6] i5±ÇÎ\14Ûãõ\8cIòï÷ܱ\1d¨Åj¥UU°=s¿Ï=÷ò÷Y\8f.ñ¯GW}\1a\8c)HÏ.½K\1a]_áçpÂ?ûø_H\8aÜÁp8öúï\1d\f\86\93w\ f Ü»¬\7f¬¾\9cõ \7fEýÉØ\eRJýË\ 1\epo      ­\9d\85þx\80³\96éÏþY÷vH½\1eù\11¼\1dO®È\ f\9dæKò\83s\7f'I\8a"9\92?]vï\96\b\9e\ríDH\89\86tDÛ26ÞoþϳKêôÙ¼\1f\9e?¨ ÐFG\167\r\82L¤02$\91\91Ê\82B¦2³"¡2\8f\v\11\9aìNª¢12èw>+Kß\ f3
-\võ"\vã\11{\92\b+\8dmÔQ\0u[Y[î\r\90%X\8et\99\85¤³Zcds2ÊJ\12\96ðì¥\8dc^ Ó\vÄ\10@g\b¯¨\9bËBçæhº{\95\85zoºy¹MTеA®òî>ÚÛAß\93\aé|AÝ\94i\99\86;e\1eB\9fg\ f°¦\12\93¸iw°\1eJ\13\14j+\r\7f¤¼ÐÛD¦ü\82³=ß\8aÔA\86\1e-äÞÉ\1aNUR"=\9b»ÅúqúÕ\9bÝß_´LúóûÅÜ÷æ?æ\17´q\97\ 6\93ñ\ 5}_|ö=÷´Y£pÕ£¿º\99ÎWõeH­ý\9búEdaK/ä\9bcWÚîí5õPYÆHgЫ\8aÜ\1fzHºG3\94\17\19öò}R{."+\vÊ\851{]\84\14ìD\16»B½ÅZ§ÏX;ßD\9b\98B\8d¼\b\94£4Gú©·´WvwR\80òßA3êê²¥"¼V:)=\9enqÑ%Ä`\993\fê@[} ]½/§­\18ù\92\11\11#ÊîT\163\fC\8d²º\87*&¾ó&.À\84¿Ô\0¡P\152°º8Vð\Nq\92$\ 4\89À]±Õ¥¥LÛ\96e\ eÅ\19\84.\86\89¹@\13\ 1\ 5,l4Â\88¥%\rÜ\93²\17$\92DÃbLG]²kè\9d\fPi\92ÜîÀ»ÈÝ\ f\11Øã\ 6C`¬!\15Ç7¹tÙç\86L·h34hH¥©1ª\93ð¤þ\82ä\8bD÷VZ-\1f¡C\ 5Á\85Vp:\93m_\1e\ 1\87\8c\9c)\17£Õè~p\8a\8a3\rà\8b\93\15ç`\8c\8e\9c@¤X$:æ:þ\a\ e\a\1eMu\16©¸\84F\98zÕ      ð\85      òÇ~¾\83?ßµ(\92\ 37
-\rBJA,(\84\bS4`\14sË×|\ 2\ 2\ 2XBe\9eééÜý\9a<ýÆ\14È ØÜnhà\81\81\91\16 \0\9a20&´!\1e{ÌÛd5ÿ±¼YÌèæÓÓÓÍìán1½ý\82\8b¦ø\80®\9f=nÖ¿\9cÌ\99\ 6\91\96°¢Ò\0P\89\0o(\7fQÂyña\89\18DÚªÉ\83ÈD,\8b\ fô\ 1ìò\81\1edV2d\11t\13²\ 3Y\ 5\10@\f\8a\13Úé½\8bË¥\10¨hÀ\86\86T\92\ 3\15 ±\96­eÓõS\11¸¶\926p^\ 2W®­«:\8cê\99sNF\ 6e¡ì\91~gè\15Õñ¿ÑÍ\10eÆ(ÁX©\8aÊÙ?yU\89¾N³\86a*>wNltñ\1c\17ºÌ\r¸\1a\8c\1f@YÍÈ\8dß[\89\9c\82\1adÕ¤\97\9fð¥@Ozô\8d\99ådôý1Äz;P\81ÙÃp¶;]Æ;ø¾\93Á³+\94\18AYôt>\ 2\86T\ 6\9b©°
-\15ÕY;C\8d-JÐ\84ɯQ\9e³w&\97\81\8a\8e´ça\ 2f,D\0\8ehÏ'#Ò­ \ 3Wн¶8²ä) \90\ 5²\ 2ö\ f½òÚlàè\8aô\87'ÒG\r6uJ?^\8fº\1f¯'¿ºÄ{À\957väÎJKÃìÕ\88\\8fèqþ@ëUßå!Ò\r½U³\13}\88ä\83Wu\8a-!Äl\86cø²vÎ\ 3±[ÉÚ\80\94°¡\99fô/Ý\96A\8bG\7f\ eÕÈ\ 4·%8\18ù¯§\85c\1f\11E`mG5:\vÜ\8c\ 6 \1aë;\81ë[      ·ëÖ}µÓ,7\15\9b)\ 3¥\91\84Éj<\80\ 1\rñ\8a\83\7fvߣ?A½Ud\91,
-|®Aõº)mä¶ZU¸¥Ñ\8f\9cT¤²\89\ eMR@'hS¼\b\95pç½\9aÖ\1cNQã@\ 5Ä;\93ÃRô&ï._XEO[ÚWYd2¡oniùD_W\8bûoË\19o\13\ 3\12\18\9e÷<âw¼\9e\9cYr\rnÕá\13\16\13Â^Ð\16Za@6¶ð¼òß\93\ 3\8f·åêÕ³\11ý~·|O\10¨l\v®d3¡Ov¿¯f«÷¤G\95t§?zMÏMbô\ 5\8f¼
\ fkz,í½ÖÏn:\19ÞèTáê\80Z6DÏ\98\9f×60i\ f5ÓâÉÍ^cu^U+u\ 4ÙæϨÐ)Ó[Ì)vPÀZsÀ\0å^\0c)íZ\82?\82[p§q\8agw3à\ 5\çÅC\ 1ßhy\fZ\15)ìË\96!"Ã2çT½\ 1\97k~\11\ 4Ò¸^ͤÅâö\8cé®âÝV\17;\r£L\7fÐWíúÝÛIMà½1þ\96\99\fð§C¯êùõÍÃç\eÂ\1cúÉm6ÓAéÖ}î\ 6¶Úi\ 4:W\97×\f¯ÿ±F\ eÇ\13o<ê×ð\1c\8cXïÜ?ûãì\1f@¯+Zendstream
-endobj
-1654 0 obj<</Type/Page/Parent 1367 0 R/Contents 1655 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1056 0 R>>endobj
-1655 0 obj<</Filter/FlateDecode/Length 1190      >>stream
-x\ 1\8dVMSãF\10½ûWtqYSedYزÙ*\ e\ 6/     UÙ\85]»*\878\87±4F³\8cf\14\8d\ 4!¿>o>d@\e\96à²\8d%u÷ô{¯ßÌ_\83        ÅxMh\9eÐiJY9\88£\98ÒÅY4¥éb\8eÿ\13¼kN{{\ 3\8f\1e>¾ý2\98&\93(¥Ùt\1a-¨¤é|\8eoÿKÒÚ%JN\13<ÑKt±\19\8c¯Îh2§Í\1eµÓt\86¸MîrÇ´É\86É4\9aEô»P¹~4\94Ĩ»æõ\83È8ݲì\9e\92ãÍw¤\98ÒdâS\9c$s\94ÙäÃMÁ±V\86·á\ f¼f\92\98\89©\8c\ez\14MÑËz\9bDt£8é==\16"+H+ùD¬ª8«\11PpE­\11ê\8e\18­Y¹c¶pL'\93Ó(±å\fVÅkj4\15Ú4x\14?ªZï\85D9\}ÝÂmB\99\14\5\86\84BÆîn®K&TD\9bB\18bÆ´¥\8d.Xãk\92½Ú+\òr\87ZXvSpò  F´k\e÷\eKØI^¢a)I\8a{\8e\9et\96µ5\89=\89Æ&Tº\89BÎ$\ 5×hæZ\91®sßNhìÐ\8bi3 hö­Dª\9f\1d\90\9et\ 5\ 2\1a\a\1e\1a ÛÕåöxô\9f0\96-À+Ø\ 3÷¼Î\ 2¯CR\r±L\92i«J×\r\9dcÙþ\91\8eú!±<ç¹]\92\ 5Â\ 2O¦°ü{:\v\rN,\98\9cjÍJ»\98®§\88®-zÀÂÃ\ 1\14\15\1fõpF rÑ\1dW^\8c\a&=Ä\99.+   
-\89í4(°Íï¸k\1c4ص1\87\9eK\14ÊÓv¸ô\17W\     \9eo\8f{\95\99Ê)«9k8\95­lD\85L\99®\ 4º\ 1ë Q+Ê\85¹G¢ÕÍçåõ\97Ȫ\ fÓ9\19Ñë\vÉ\88x\93EQ´=\8e0GX\10Ð0å.Ê´Úo\87³\1fJ\97LQÅî\0§®©Ô\0\r\13\12\95-\18\80KW\8dÐPìR\1amÛµ9!W$þ9\83}ò*V³\927ÐÜ#3¶\ɬÀ\18ÝI½c²\aÉóÓ\80ºæ\923ËmU\v,\13 »\ 1\85]ÙW\88줽±ÚÐRêGË
-\1a`\ 4-\bTëäàUóÑ/0¦³ÎW¦~6(üý\11èû³[Zì¬kØÝï¾+\ 6«9§1ÿÛ
-w\1c¢Þ   êèf`õ\9câ4\8eß      ÈEͳF×OT\86\98ù»1o\8c\945µ7z\81\b\8b\1fÂ\92ÎxA       3P\88U\8dSÉ®uXwÒ°~\97ÜÓúyx\82\9e\9d\1e9ìI4O\90\9aÉjQ¡«\90\88\1f(r#ÝA\12\1c\18\1a\864\95\1f\0ï]\1f\f­¯W#ø\7fî\ 6Ò\16ñ>i¯[³Å<97ÆX\95\90V°   Üt\85×ËÏ\17ËíÖY:rôÊ¢U)þA\88wÓ\ì÷Øx\80í¡Y\98\89õrq§¼=ù\99ô     #ú\95cG²óò\1a4NGÁ*rç
-G½²Ø\18\f\ 6³/ï\vÀ&\fÛI«n$µQã«·lÔß}vÐÃX\ 5\9ef8\80³\vô¬\ 5¨\18Ök*­\8c³µPêÅ\86øµåõÓ:p¹z¦²©\992Øþ0ÞÁ\993vpæ\90\e#l8\f\1f\12Ø3X\1e-/\7fëk l\92á\89\1e:öy¡2ÙBC¯!p2õ\93ü\92\a:ºÂ\86F\97ÐP­¥\ 3{|\95¾8U\84\9dñËÍæ\13}ôû³\15u®Á¼Ûâܦúâ\98\0\7fÙáØbí(L3øÔ­Ýò\9dwòàRî¸`\aeåö~wr0\8eÖñÕ",`\92âøµ8¥)ÎGnÆ\9c$é¶Öß1õ\88ÌpP\80ú­\15ÛvOº\80\93y\fÿÊÿß1j\9a.¢t\96à\1c\86\88Éij3}Ú\f¾\ eþ\ 5RO\ f\86endstream
-endobj
-1656 0 obj<</Type/Page/Parent 1367 0 R/Contents 1657 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1065 0 R>>endobj
-1657 0 obj<</Filter/FlateDecode/Length 1662      >>stream
-x\ 1}WÛ\8eÛ6\10}߯\18\ 4\ 16òý²\ 1\82¶i\9a´@\1fÚÄ@\11 /´4²\98¥D\95¤Öë¿ï\19Ròz\95m\90¬­\v9<sæÌ!ýïÕ\8c¦ø7£Í\9c\16kÊë«i6Å\93óÇÇ\ fWóÅm¶¥õl\95Í©¦Å|\9d-ú;C\9f®VËlIëé<\9bâål»\96¡ñN^no³\15-§Ëôòv\8b\99éN^b\11ZÜ.\11u¹ÝàZB8¦òj6[È+DYJÌÕ\ 6ÓÒÝ0m¾\92\11£iowW\93÷·4\9fÒ®DNëÍ\96vEL\ 5Oòë_+Õ\ 6v4_eô\91\82n\ eô¶;ø\97»¯qæl\93f¾Z\b¨]q\8d¡³\8cþh\82³E\97\am\9b4tI³Y?t¾ÉÖ2tW1q­´!U\14\8e½§Ò:Úw\a¤$k¥{\1fÔÞ0\1e\19V\9e=iO^Õ{õsü̬;d\82èÉ\1ceÚJ\9d§\b\80\ 2C\11¡¯lg
-:X
-6\85z\15\1a\9d+s\11´\9f\85Ò-\ 5ì_qy
\8e)\0xÐ5>,\16Q\ 5\1e\0\ 1sÏÈ\81éd;òݾÖ\81ÔEF\19ýb¼½¡6\ 5ó̤K JyÊ+Õ\1c¸@\88pd\8e´] \1eò¿!\f=2Õê\84\91i\92\14E0=R'Oj$¥\1aíkR\81¼\15¸À\9c=\9f\97\ 2.*¬\ 4¯»¼\92oÉ!W\8d|;Ϧ\94l+6-\ 5§ò;\f>6ê\19}\92\92HmPÏ&àO\129!ù\82\v\10\e¸\18Uáàl×\92-©e\v:èXYº·¦k\ 2CpÈFã\13xoÈßic<©¦ .Ánð\19ý#\82ÈYßCûÊQ-\9c'%ím\17\84Ñ\80Ü\85'd0Z¹µÞë½\ 1¸Æ\1fÙa\ 1\e\14¢©\94\ f\15`\b\819\vJ\ 4KÃ#\ e\85b?Héb\9d\19È:\0¤\17\ 5ß³±-»Ñ\92¥Ó\18dN/.J$\b\ 3\19\86Ì19Æ\v\87q\85ÞYj,tä}'5\94YýÊÈD\12M\85Guä2·u\9bµÎ\ 6\9b[ã3_ï©á£ïé\8eÌF¦D!FÇù\b\b¢\8e`y\ 4;j[\a´s\9fiç[Î#·!Ê\82°\10\9a³\96ÂG\8c1¿=* \0¤)õ¡sJ<à<\10\10\e)\ f&@çâ-Ò\84 ÔÌ\8e\0HBIYRÜ\ 1rl\ 1¼BÍ\15þ¾\\v\8f \ eKB>_^Òj
-?¶2\ 2Ô²ó\ 4\0\89ísÂ}ûDk\19t\8db\8e¹ÿ\8c\1e\90¡±=\8c\96Þ·d¬½C<Û\1dªH¹(± OYU.¯ N\7f\ 3aké'\0\ 5#÷Ü@     AÄ\97çp<è\10ò\8a}4J=¥}ä=µê\0ÛC\8eU\bíëÉäì{éj\121\8b\8b_zqô,xñ<£\ fÜ°S\86tSF~'ï\9fñâ·É·\92gE\97¿ô-4\ 2£åÅ    úºF«ö\90Ì\89Ø9ëÐ\93\7f
--:ù\ 58:DCL\1en÷÷ÚBå5R\96lF¹ÆÚ\ 46&öS¼ÃR?¢\1d\a\1dÁPÄÄ`µP®\98\81ëÀ\eûÐ*WKYäú)D1dÙRrëP#\98à       Öô0®ñïÒ÷X/\ 5¬àK}]\v­\ e\8dõÚÿD;1xü¿gw"]Ëî¤\9ao:µo\13Ýä¦+\18\85s!zÇ\99\r4Y¨\12ÆG¯\16\r5âå¾\83H\90\88jÐK°Li\898\81\1fT.\9a9Jï\v\16\8f8,¬ð\92¤D¹\11\95\89\83\92\8dFÿ¼\f$¯°ëv\ 6\ e$\ 1¿«£EFïX0\e±¸~û\7fFG @âÊHÙÓTsJ\ 5CZØ]b6IÙ{\86ß
-d°\95Ê#M!.\8a\8e\ 5ÍhëØo\8eËÎË8D\80³Â\86£®ÐåBÛ\88\ 4YúQyâhÑxÐåq³\8cÕ\83#\94\9d\91t\10­¸ mð2\15CÄ<¥zývL\8b(ºÙ\94p~8bÚ3K\ f\11\ 6siñ u\1a¥ÄÆOý\9e\92\ 2\1fÄ\1câ¶U0¶Ks\ 3ÊÄBNâXÈÕ¦}¨Ðþ\8e|«òoöí\9dØfªoñX\18\99-À&ïWýyëú"\9b7éÕP¶ës·¦ç8ÓÆ#Ú56\8dLÚn4<£Ï\97vXêäÚ\89P©Ï\0HJ\10Ó\94\0\17g\98\9e\ 1iɯ\1d\9aÕ6²kÃ(ñ-ò¼cn\11\ 4}#êG\94ä\1e\8c!ø\8c\908\94\14O\Xùõ\0ýv8\ÊÙ\1açµ3\ 6zC³é\0d\8a£vÿ2\1e×ÞФónb,Î~½\9d\1a½Çý!û¡\1eM\1aÚú\7fæ\f¤õ\13\9fºl<ï\8a`)Ǧ\8aä\92\8ai@ß\13ÿ,\98\9eª4ç±\88Ǹ\13¾èß¾\10\9b\92>h\14N\vÐ/®\87\ 3\ eÑH´Ç\1e\ 6FEBrlÇp¸Fä¦\95m¼9Ñ°>l´®Q¦t2<Âÿn¢»Â\9dj\9cà\12¬gd÷\8dêR{\8c@%\15¡¼â´q»UÆØcZ\f\bù\ 1Ç*\9c\aakÑE
-]\960-ÜzÎ;§\ 3\80\9e\1a[.Ú.\1e\7fz³"\ e¹8ã ¹\84tûø\83d±I\9aùþÏ\9dåz\9b­WsüL\82\82f\8b\8d\84ùmwõ÷Õ\7f\7fåendstream
-endobj
-1658 0 obj<</Type/Page/Parent 1367 0 R/Contents 1659 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1659 0 obj<</Filter/FlateDecode/Length 1668      >>stream
-x\ 1\95WMo\e7\10½ûWLu©\fIJ¾,;\ 5zpP\e0Ф©£\16\bà\vw\97»bÄ%U\92kYÿ¾ofw-wm\1f\8a @Â%93oÞ\9bGýs2£)þÌèrN\8b\15åõÉt2¥\8b«Åä\8a\96W\97ø÷\1c\7f\83¦R>Ì\17³Éò­\ f³ùÇ·O,ß8ði}r~»¤Ù\8cÖ%\82¯®.i]\10\ 2O§´ÎǵÊ7ÆéÉéúÇÉ\94Îæ+\84\\17ãõF\13/\9dß"_9:\8eu6ɽ+ÛåþÆ1i\97¡]¼è÷\92õ\15Yý¨-ý:Üo"Å\83óîPû&ÒÞ¤\r%D{ó\9aBgMõÎ=i£\12mT¤LkGMÔ\ 5\19\16:pH\143[Læ\Ì£\ eÑx\17É\97ôMÕ\99"å°\99O\1aW\ 1ð¤\0AA¥\ f\94©|»W¡\88\94ûz§\92É\8c5éÀG{\0¨4VÇ!b×\91Ëø\1f8<*Ûhθ<hÅù\1f|\ 3@¬EJ¹\ f\ 5)\8a¦r¦4¹rÉ\1eú\9d\9ct\v
\12\88*^2\ e\ 5ÔHÙ»>¹\1e\81[TVû\98^ìö;\1ddo\94°µ:\90ó\89\9cF\1e\88«Sâ;7¦Úè\80Ê\94£Å\84¾h\15\90\87B\8ah\f0Âr¦)\ 5 Æç\12©\ 1öýEÈt6ý\80S\89\ fì\82Þ©ÐA®èï\9bûïdU¨4=zÛÔ\9aáf
-\15*)©åüö#ÍÀ\¦ðÙbÙ\92t~1YNèÎ%\1d\9c²¤Cð!þ\97nLéËÉ\8aYpWJ¡\95F\924ºû²¾¹ÿrý;ÝÜßÿq?¢ZǨ\10\1f\14B\17\82D\97>\93Iø¨À\1e!\Ë\9f
-H¡ôÆé§\9dÎ\13
-áF);(~¿\ 1S(4Î\ 1Kd\9a¸Ý»à3\951\8a@¹ªÁ{i\ 3\95ª±|+`´Ò«\\a&&v¶ñ\15cΠ    ¶9<\8c\e\a\1e\ 6q7ê\11C\84ï;@!¡\0¡\ 1i\80îbÒ5E_&^z8íÎõª\aD,Å\1e\8b\13eð8Qg\ 5\7fr\8c\860ô¹
-tSå¢\15g\80CÆuõ\17 þ|\ 3Ρ\f+ò@\93c\1a$ûíó§ç\ 3à½6\8fí5\1csBë\8d(¤ô\f\1dòF
-\90ó\81õ^6\96Ñ\10ò1W\v¿Çÿ\90?çf¥NÚYVÖ "\ 4g\9b\ 2½F?ºv3²à¤\ f©\97N\8fÉwh2n|c¹/ÑwÕÐÆï)y>\13|ÑäÐÀ1ð\a2%í|\8c\ 6iLè«ä@µÚò.\94Áj÷N8Ðb£\8b·¢²$%di@
-a\9fÂTb\7f`Z©Ý\ ej\ 4\ 1\84æ\ f\11Å&+\f L\1e@AI\9cÚqa\ fAk\91ÂVë\9d°}\80O\94\19Éúk']Û\ 4      \8aìù6ág×\82ä½\95Ñùº\11@\15\1dôÜ,\ 6\9bÇ[á\ 5\83_8äùmo\18/\9c§*²\96n\P»«÷\9a\17»TQpË\81Að»`TB×UÚ ;ß\9ef\1d  Vh\19\93ªÃQ×\90b;\f
-ï~f\13\81\x\13Jc>\1dhTdO#&\9fv\ 3lد\98t\f)\9bS\85éÈåñ\ 2TPsÜ\91@<â\*°\99\85\9e\85©2ÚÚ\16ð\91\9eª>Ï\9b\80fò8\13r\ eÂ
-oz²Ö\90Ó\900]A[Ç"P\ eÌ\89Q×<f¬rUã\rñ\1cã\ f²\14&âû¨'Gð\r¦½¦÷ó¢\8718m\12»Õ«\19oM\16\14Pë¯i\ 3I\b\ 5çø\11.\91ÃA\98¹éáT&\1ec\ e´ö>l     ¹\90~R9\eÞë\84@ÀL^\e CïnÖû­°!I\e"\90ô\8d\13\82ä¾\80\ 2o\1eQ9òo       È-g\9c\8e\10\98
-\8d\9cé°æ\91Ó6ú8\1c\ 6]éì¯\15\82tä=\9fº\98Ðu\ 2    À\9d\8a+U½+0\ 3rLñ×Lïlë/võÔ8P\1c\80D\8f\91Ü8ó¤#·Ä\81õ!\99¼\81y¶ßx\82ºDÖ¸æ\89¶0Fm#@Æl\10\96b~5õ\ eá\8fs\ 4¸0\13\93\8a[~N\rK\84óWhUc
-\ 4l\aº¸Aá\91\82\fä\87S\11¹È¡\7fÏ¡M\11i3Á:Óaìs\19£]³\95àÁ`pøÎ$\aÑ;p 0Æmô<\e¾Þý6êÈÁ÷²§céÙ« ·ÔÄV¿¢ÎQ.jÄó\15<Ç«\8bUÚ¥\91+\03\bË         @\ 2V\e\Ö¬\ 1¸rïQý\9d9ä*Áëx×ÑÈÑ2+¤ky\8c\11ø¬ó¶ßo?jVð\f¾M¿Ï\8a5âd\1a\ fº\1eå#GÅ(!f1\8cÎê":^\9a§\9fú¹\175\0Àë\e3\93Ãt6ÉPµyõsy\fß(K:kÚå~\10\8fyÞã¥Ùiê\9d÷67_\8eÇfÇÎ\8aÙ\91>\90\aDao02ß\8d\96/\aá&ô\99Í\13Â\16ã
\8b°©!9Uá\91\ 4$Ài\18­<\ føµßÍ6¾éŨ\88xÛÁ¬¹ÿ\16¤\81\98d\12\1cç\r\8aê~.Hã\90cëÍç·WÝ\8f\9bÙ
-¿Ô®\16´ºXáW\18\1e\96ß®?\7fº¦¯Áÿ\80åÒo>Ç\ 3¶{Ôqô³þÀÙåô#ï\7f÷Ùº\]MV\17s<q±k¶¸âÓ7ë\93?Oþ\ 5§\93\90  endstream
-endobj
-1660 0 obj<</Type/Page/Parent 1367 0 R/Contents 1661 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1661 0 obj<</Filter/FlateDecode/Length 1323      >>stream
-x\ 1\95VÛnÜ6\10}÷W\fö¥.\90h¯õ\rÈÃÚ^'\vØ»®%7\r\8a>p%Êb-\89
-Iy³\7fß3¤\94:ªûP\18\ 6lq8\973gÎðëÑ\94\99Òé\8cæ'\94VG\93hB\8bóóè\8c\16g§ø{\86_#)÷\aÓÓI4{ë`~\16\9d\f¿_&Gã\9bs\9aM(É\11ãäô\8c\92\8cà\7f\82/éñU!\1a'\rÍN"ºVâ©ÖVÕOtЭ!+ª\9d +Í\8b4?'\7fy?ÓÓàçý|\81\1c\92ì\18\17§\11­kgtÖ¦Né:\98.h:íLg§H\v¦I¡,åª\94\94êÚ U[\12T*ëHçä¤u\96ãR*jj¤Éµ©Èiz\11¥Ê\84\93!§øUN\bëH\94VãrY\86ËûB8r\85\84ßgY\1e8\97        ½\9fÎC²©h­ôÑ`Ñ\18½+eEHJå¤\1cåBÁ\8b¨\ f¤ëÞ
-æÖÉÆ"\96·i\84µ\12FeÉQp\1aòÆß5»\80/v+vå\81öÚ<\ 3ËA
-¹ªeÔ}\ 3v\v\ 6æ\vª¶\85\8c2MËÛ[_\81÷ü\8eTíÿÓ&C\9b`µ¯#ú,©\10/\bn\94Ì\18¤T\18\99·%¢¦\85Ö\9cV\81Ê\80L       äL\97¤®ÿ\ 5\bÃ\91\8aFìT©\9cBahµÊÙi\17V
-SªÞÃ0o@Â\r³²Î^AÖñ¦\ 2\9aL%n0£J\92¿àðÀ_G\0+ÓÒÖ?9\ fÔ\b\16\99÷æ\v«5Ú¡ËRï¹>ðf\80"cÃH§2k1\17\1e~\9fJ@\91¯ïйÖ4FY¸À\99é\12àv\83æFf¾\1c\1e\8eפö\rAcf\11-­m«\86)íÃ\8foÞàôºö\`\ 2\83R\81\f\81\a J[\85СY\82^\93\17°\97%\8e\1fãÕÃo«\a\ f\80 û«þdyu»^m\12ÚiW\fÊGs\98]OF·\r%«8ùø°}¼\1f¶' $ï0BÝVUª\14\ 6È\1a\82Snë¡AÓ\91}\8a.×Î\ e]¬=¥ý\8c½®ç¹Ö{_p-*?)h¯xA{A|À^\80\8d\8fº­v\11æ=Ç\ 4Ñ^an\82#ßÕÞÔv5\ fÊ\1c¹ª\19Eô¥\13\ 5\91e\10\fÿ±»ÈCN»\ 3á\84IÅ-\b¬ñÿiêc_°ãñÍ\84Î{IZ\84Éû\ 3\11þì£N ·\98F¨SU\ 1\fú\80~V\8d\1c¼lY\1aZ6Â\150\eÃËðÈHÁC\81\89ü@\aù\ 6\81\82$~ZÅ+ßÁ\98\96qüx·"P!^o74\8fx   l\1fèv\99\80\1dÛ\eJ>­(^Þ].)~\'«\88â-쯶wwËÍuÜ'ÐI]üiûyC×ëkÚl\13Zý¾\8e\13Zohµ|\0«\1eú(ý­^\89îK)         \8d\0¦Î\ 1\ 4\90\9fõ\85\91\95Æ\807\95´V<\814<nF¦R½H/\8e¬\9b?\98à\14àaö\1dkrà\82ß%¬\92;\89\16\rRnë\1czVgÀ\8c\9dw\8a\98+\83YO\v\99>\7f÷Dë{òÔ3Òê²õYÂiª\r2r¸o¥£¶\89H>]Ð\9d\0\ 5a\83\fb\8e¥KÇÞË\8bgiØO\8dV\18\ 6.ÜG        +°+\ 4\8de\9d\85PËo\90¶áÄ,±\8f ÚA\19aÄRä%íz\13\94D\9a\ 2E?\86Ã*\9aÐ\80Wå2ô(Ç\ 1¯p\85\91\1cTÑó<d\8f\12éc\ 2G\19\96,tò\eÓ°Ö\18¦\ 4îv¬\9e\987G\a,Ë¢Å\80\82Ð#\96±F`ýö~G\1cï¿\94r\ e§¼¼¿Û@Bù©ñ~>   {\1fä\9aó#\81­h\1aÌ~\90R\9e:\b)W\9a)î ÆıÆ\15*-\ 2\17ð©{\ 1ô9ùZß\91iÃE\1eZ^!o$ßïî\9e\8f\0?Ï[î/¶x j'ZüRÉÕSk\84ç\98\7f¼\0¦\\0àðõ\eíä\ 5«\15öt\7fßߨ\05ÖQ©Slc^­\17^IX\90Â#éØÓп·~\84ç\98¶æMûÖ\9a1û+ÇþÖ¸T»póì\9fw×â<\88Üÿyã-Nð\86üe\86ö¡'Óù9;]%G¿\1eý\rú)VÜendstream
-endobj
-1662 0 obj<</Type/Page/Parent 1367 0 R/Contents 1663 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1663 0 obj<</Filter/FlateDecode/Length 1622      >>stream
-x\ 1½W[OÛH\14~çW\1cùeA"!     4ÐJ}\0JWH,Ë\96h¥J¼\8cí1\99bϤ36\89ÿý~ç\8c\r\89a·o[\ 4\ 5{nç»\9dÉϽ)Mð5¥Ó\19\1dÏ)«ö&ã    }\98Lñóäì\14?gøö\9a\8a½\8bÅÞÑ×\8f4=¡E\81)ó3ü\92\13\86O&´Èögóññx6¦\85\ e\ e\16?0ú\84¦Ó8z4;Åèýo\8d¥z©)sU¥lNÉÊØGº¸þýþêÛßWß\12*¼«dÄÝ%½\ e8¿¼¹¾º]l½n¬ÙPê6cº.¨u\råÎþVÓ£®yç       \8d¦8\fï¨èY\95&G     aålм¸å\19\9e\16\97wG×w\14\Q¯\15J4\81¬«q6ïuV\97-\19\ejU\96:\1fw\8b¢F.zÿÖÕ¼\90ªeëµ)K²ZçT;Â\f_\93¢$w\81V¨fU'´66wkr±x\94\86\81\1ePpõõ»zP  V©t\bêQSP-\ 3\95,\1dÀåC\16®±yBÎS0\95)\95ߪëËíýkQ\18q¤ëì\88g\ 6*LÙ×9Àéµê ëf\ 5\k\ 6dåB0)&u'\ eªJ\15ê©\97®©\89wÒ¶öFciìÄÔ\ 6í\9fµ\17ò²Òàí!¥\18zM*\84¦Ò\1dY\83Ý\97ê\99E!À¿YÑëJ\ 1@,ê
\82I\84ÈÂ\10¹s\0³Ä(¯U\0Ôëe+\0Se\1e\97@L\99\92+2¢\17O\ 2\ 6\ f\96±-\8c×k°ý\ 2Ý\98¾CW;äz]ª\r\1fap|ß\94@\0\10\95`ÍD\96×Î?A\fµÁQðèg\83#ã÷CZi¿T«@iKØÎA\e\8f¤²\fLGõ«®\8cФ\16Ë=ìc\81\ec\eÞ\98Ï\1f\ 6\9b\9a\9e\8d\12ôͪX«¼bå=zU\8d\1f\ exô¶oGÇÓ(b1ìqgØã8ì×\86\rU\1ai¥ÑͶq;m¿ú\92Á\vPI\99³+¡åÒ@»`P=\83  Å\9a
-KØnXNª²§!³;\9eÐÞCj½32gk¨\83A\14õA\8cl\94\v\95Ó
-\8a\ 3\v°   Þ\88ç\19\96\14[·$\82Ó\90±H\15\ 4\e`+\86\v\91§ä0ú/P®m+ÞKb¶4Ð|HP \88\0Õ\12.Ài\8c³\15\87ìQyòÈ
-`¦a]ñ\16ûX\16\18ÓåRgO\83½×]¾xz3³       R$»`¥|\95\88Ûj]­\9cWÞ <XÆÁQʶý\99Ej\83\12P\90ì?ظ+\açN\8c}Sá\eÛí\90\93 f\8bôdÕ{]`)À¿\9b½BS\95æ}RTª\95HKuïÅ\97P\7f `2ì«Á9\ 1w\9d\vÈï\10¬sSs"3\881õz\8aËöýõ\15x¦\\ 191°¥\8cI\89+ðöC¡vÁq\18£îu,×\87\93¥Æ\85Q\b\by\87\86ÀƵXÿæú~quË]\ 2\1d¤£\11\83ùo\1a©ä?\85\9f\ 4dD\ 4VÒD"\8dñ\15y\v¬1{;àù9BµçCªF!è%\81\12Ø\13½#\8eßê\80\ 3\88SÍBkl\81\88·y   ÕË^\ 6­äÅJ©Î\14x\96`\17[õ¢é\9b¼ø\ 2:U\95®a\14é\92à_\9c¡úþ5ظPè¼²G©+é7R\r\8c^\e¼\90.Û¬8N`´|Lçep\1dab6¶\9eáPGÌ<ì÷f|8\906\15ZdÆ\86$H\82,>Ø=\198\8bEÄ`>Ã]®A\0 Wdµ\93¾·F\84p\83æ¾ø¤5\82\9dÑ)\1dB\1d\17\9cÒAB|\8a@z\83\0\1c\12¼\90Ù|ûPd\9b*\8dM.v°ØS×K\93-¥Jb§Dn9Tr\8d Fâ\0Â]] ÒqÖ\8a¯
-L\ 1äì\8aA\81(\ 6\8c\81(W"&¸\81p¤:\1c#¶XÀÔ·¦\1e»\88e×í?ñzG_'ô±¿Þ\9dĦBÝ¿xÝà ¤Ït~sÓï?\19\9fñ\ 5jw\98d\13Æm6\9bñÖ÷QÛþË´\14×\ 1\9c\1ej*\14\1a'
-@æ}¦ï±\99ìÞ;ç¼ßuìÉ*E*\1e"mb¢+\9bit\ 2´b\8dþP©\1c×\àÀ©9\80\14¢e\rÈe@5µ«Ð×3\1c»¥Ú+\eJv3Ú?`íOÜ]?KçVÜÑHåj\ 5Åàÿ\1cq\18h:Ãå\1a_S°\85[£ð ý\9d\9aÏ\96Êâæ\17\99b¢Ù8ÿ\17îr¼Èñö\95@°üâèöÏ\ 5ÂK\ eGÉ{d$h¾\9dßq\ fc\83À\95¢ßµ    K\86ª\9f\1e\8dÓ·ê®ê\ 1\88 Ù\94¦n%1:¿½\C¤}t\97ïî\1a\ 5ÓqF Ü\f\bfJ-²\87Û\90+\eiMxÄ\8fã@~ÞølHÝkr\8612ä\16wþO\92\ 2¿¬8×\85É\10\98\15\8fÔ\8d÷Htü(ö­Å\7f)\9c(\18Y\0=²0\eôµà\9c}8\9049úzÖ}Ì\9aΡ©³c\9a\9f~\8c\1f~îÏÿ¸8§;ï~ ®è\8bËp\ 1Gô1\ 4\fñ¨\9f0:\9dÀÈù;\9fáNægãù\87\19>ïáõôdÂÓ®\16{\7fíý\ 3w]¢Îendstream
-endobj
-1664 0 obj<</Type/Page/Parent 1367 0 R/Contents 1665 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1665 0 obj<</Filter/FlateDecode/Length 1406      >>stream
-x\ 1\85V]OãF\14}çWÜò\ 2[\11\93/\ 2ô-°l\85Ôݦ`Uª\84\84Æö8\99eìIgƤüû\9e;3       Y/»hµ\b\12û~\9c{ι÷ß\83\11\rñoDçc\9ąl\ e\86Ù\90Î.ÏñszÁ?Çøo%Õá\8bét\96\8dßúb2\1ee\17o}1;˦ýϯò\83ÓOS\1a\8d\91|vqNyEH<\1cR^\1eÏ[ãWÒRi\9aÆ´T\8aÎI25áCüâ7\86¤µÆ:R\8eVâYµKr¦\91~Å¿ m¥¨^ÈvmË\7f#ÀÚXO£Éå       ¹®\\91pt/\9aB|È¿\1e\fi0\9a £¼:~8Vò7rMQqÜíëµ5\r©Vúj\eùá\ 3\19»\97P«'I\1fÕRy¡\8f\1c-\84_m\8c}r\19]¯dùD/¦³1BV\9a¶¦ZiÙK]ÈÚ\0bo_¸boÈy\81\92C-¨VP%$\908!å\81FKâÙ(ÔCÚxÆ¥¶\9dóVxeÚ_Räñ\f¨£©y[Ñ\8bô$\12¤kã\9c*´L "-ÕBé\ eÙ\11(¿¹ÏiÂíoV²e¼\81X\81æ©\11î      A*:åæ\vkDU
-\87¸Ue¥s½~\9cô\1e\9d rÄUmi¬\95¥Ïh¡¥À\ 4Ë\80\8b_        \1fR >\ 3\86\a½´µ(%Ý.h\1e\ 3#ßÕ.Ùëg÷±ªÏ¨êg©SâPxH\17æ\ eÎ8p+Ô¤_\bÈÈ*qKŦµYfmS\84Qe\9càôÓ%\8d\0(³u0\19El\81ñ$\9bf\94K\01\8d\8f½\92z0fR\1fßu1$s\99ñ;D\mÌS·¦Á\15]Ýþ~\7fs÷÷Í\1d=>ÞÏ?_Í\1f\1f\ f3úÇtäV¦Ó\15-\81=\8f\ 1\88$¨yNL©^ß±3'í3\84S\88ò)Ô\8dj·L¸\r¯QeÚ£\10²%T\12¨¾\e\10ÀP-¨§µ¬~Ä^\15Ã@\1eLÆ \ eÖª<a^lGÚ«-²w_U\8c\84VÎË Q\10¾«Ö[\99\9e÷+ÿ³\ 5\15¬­\ 1y!H\17s\ 1\99Õ©\9a\91­\ f\80EhT@\9c᩵°\ 2\1e!a\e°\ 4Æt;\12\8d\0\19ÝÖ½ªa'Áa£L[ü\ 23\82»x        í\99V\ eøMr¥Uk\86\14t\86À½\0\86!¾UË\95§½¼Ü5\ 3\17\1e}5\96w\18v\96\18\ 3\86Å\88»vâSgÉ\\8fyʯ|\9b_ÿq{ó%§£_\8f¾\8f\96\rö-®Ý>\ 3\ 3½\0\18óp\9fP\ 1)­0\ 3Øcí7¬þ\84õâ\1a\81ì\bÖC{§Ç@¤ølpAY\85O8Õ\12vÇ9Z\f\ 3\8d5í²O\1aT·m¶22¤\86Q\19ý,éY     úøå\9eCµÄ«\85c~+°½N\92%\88ÂàU\ f©¿3®Y\1a×ì{\80ß2\84\9f\8c«¢ñO\a\953A½\ 2\16\e\10ro\7f \1dÇ\10Áæ¸\91µ\95ÏÊtø\83\8dªèàÚ¯\ f\8c\87ØótÈ\91_«d-:\8d\17¶þÛ\9bXò£\8cæÔvM\ 1Û\813}\91¾PÆ\9dæ×\v º2Îï䶵ùäl\98ÆÚ´\18®Ð\1e^·\Å¥\f±\ 6K\86~=ïj­{i\91\84«\8b¯;  \89F5#,Vf\80\ 3=EsÁ\ eÞc³\93\92\ e\99C\ 2\94W\18h Ò¿\9d´8\18BAN\1eR\83\8d&\96²¿Õ\82b\9d\84Á
-\1d[{\83tÁ5¶\8c[r
-AN5J\vË\19\18Ð\84ï·cAOÁ\91\93\0v¢à=À\e5\1e\13ïL\ 4øØ\0¨\ 2ø¢ó¦\81%\96èª\\89\ 6\90\81<Xá2\888ÍDþ·\96\16\84\82\80·º8ÜmewHfÍ7\ 6\10ïÍ\ 4\87J¼mÐ\1a̶ÃÔ^Ø\vkµäË\ 2Úµ{\ 2;y¥TØÌ \ 6\9f\17o\80\19^\84ÂÙ8Ój\ 3uÙF\92­\ 4\9a§\13% È6±QZS+y©c±$}cÙ¦êñ!î\93@¢w\81\8cJ\b~\9dxÇV\18\13öë\8drd\89\85\ 2xU\89\ 28ð}Eqmâlì\9d
-vë\9dµ\89\93\ 4ð¥£éáøNÖP\17êN÷\19_,}r\ 6\7f\10\8a:ýt\91ì\7f\ 5\7f1¡Ùd\8cë\1cçH82haÍW\1cdôÑ\94ÝneòL\aÛ\17\ 6çÃK~þû\eg:»Èfgc\1cBøz4\1dñk7ùÁ_\aÿ\ 3:Fï\ eendstream
-endobj
-1666 0 obj<</Type/Page/Parent 1367 0 R/Contents 1667 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
-1667 0 obj<</Filter/FlateDecode/Length 1717      >>stream
-x\ 1}WïoÛ6\10ý\9e¿â `\98\vÔvì$\8e[t\ 5\9a®\1d\ 2¬mÖd\e
\v-Q6\e\89TIÉ\8eÿû½;Q¶ì4K\10À±ÈûñîÝ»Ó\8f\93       \9dâwB\97S:\9bQZ\9e\9c\8eNéì|:\9aÑùü\12\9f§øó\9aò\93«»\93ñÇW49§»\1cWfs|È\bÇOOé.\1dLg£³Ñå\88ît¨éòÅÝw\9c>§É¤==\9c^âôàkc©^iJ]Y*\9bµ§.â©\ 1\85r\91\16\9aÆã«ë?n?|ýçÃ×ñݧ\9bCs\83\11}s\r\85\95k\8a\8cíYZhª¼+«Zg\94;O\8a*\15ÂÆùLÎòýS\1aNÎFS\ e#Þl\82\96hº£ärù_¥©k\10Ä\16N\14r/Ür       »ÆÖN\9e7Ö<ÒÂ=ÒÆÔ«\11]çrr£p\85O0\0ü\84\94u\bÎ\1f9ï¬KÜ*\93\ 4hø7½\8d\ f¬*õ\erUm\1cÀj=j\9buÁEè¨0V\8fH/_?\vâ\91ßñxa\96Aûµö㺬àò»[ÙÌéÖ@¿V³\11×vðÙÕú5]×d\ 2U.\ 4³(\0\98£PéÔäÛCìTáì²Í\9b+\fl=gB*  Eá6áùHQî\83Ø\8e"ßEúKЩ×õ³\ 1\7f±©\96Z\80\1fÆÇÅ\8cu_j\14
-1&àÛÛ$\12gWÇÌÙ_å¹EáÝ\ 3©ö°ö\1e¼*u\bj  à¯ó£ MMAm\ 3%Æ®Ua2²º\ 6ÿ\1e\88QHØ_K}®\80A\98        j\900²    úÁ{\9dÖÅ\96\82®\9b
-Tã4<7Ä(u6\1fEgh2©\f(·ó·PÙ\8eì=?\85yа\97*T"0\8d\ 5~ôø°3Â\88¬ÔZ\ 3\16\95¹\8d\18\ 4º\1f ÓàP<áïÎ:\85m¨uyÿ\82\16MM\99É\18(ð±2à\ 5B\ eMU9_K\ 3\12ßqÜÃ~ç\95\véú!\84¡ëÆÉ\88ø\18¾é\87æ)iqd&\85\ 4~ln\96\8d\17ÀÍØ\88\9aøÀmÈP6\98î\8duöwy**Í#\1a9Uhü]ÓC\87\843\f\ 5'¤­\ 2ÏÛ¶Lv§
-½ÖEÒµ%8¡he\96«X\97Î\95¶®Y®H\ ewauÏÎö\91u\15\10\12V
-Rñ["\r-(Æ\9a37v9\8eèýJ§\ f\u\91\16\16\99Jù²s"¹\9fï=tN9÷.¡].Ú¦~ÛêK¿\90^«º\15ÄÛOW¸%\87\0Äî^\8e:\1f8¼h\1d\ e§\17ûÒI\ f¢X\16|Æe\ e ¶\1d4\9a\91e\ 5é\947\8aY`«ã\8fûA\90\19OÜ¥UsÔì\ 3Òu\8a!³­¢líï¬tQÑÛhñMk±\13µ\ 1s\92¿êQÑØPû&e:\85\83\81¢EßTÁÝ# ×«¨\ 1ª\94¹\801\91{­Ñ\ 1á\ 1b¨ÐÍHqc¹b\91\93´á~çäë'¡öb@\9eG\81J§÷çìðlÒö¼\fØy\1c°óÃk0Ù\ eØ/­Èܼ\17¿¢r\11\91öÂ\1e\13­\8dÞÐ=~vÃöÐl\1c´\eS\14\903î   G\19O$$\9a
-\17Ñø\8a\92ÌaFÈ\ 4NØF/Ç\8dÁ\90Ù\1c Ì¥](ÐY\81õ\98\96\0\95)\84\1eP#\ fÅâá\a\8dn\aÖOô\8f±e;ðÝWZ\91Ó\1ceÊЬP1S¬§V½E\84qza\10­L'xrEÓI
-K1k¶±KàÌY\1a¡f/\9b&4-3XW3Zl\11\0ò\ 6¯YîÈBßpÕ\91Ã\98\ 5òÐÅv\8fÀF\81]\ 5à9\vYm÷\8cv.Â\19\14\97Óq\16\94\8b8\1f\81\98®\9c\83hí/C\85\9f\bzn\1e1;\185\ e\ 3á\84\1a±\8a`²9Ö\Ñ\89\9eàv:Ñí!×7\84\8f@\ 5\ 5ÈiG\8bn\ fIPÌ\10k\92È
-\84\9cÙ¡ÊÖ
\17\fI«±©â\18\8b5¼y/õÛùÿ\89\1a\ 5>1W\9eÖfm\14ýþù\96\11\86}@j\17\ 1í;?ȸ§½ý\8c\ fòC\ 5<\15åÊ\85\1aìæ\91öLøQf\ fT/î\80\91\90?_\ 1@Ǥ?¬[RöFvà}  Eäy]Uà\ 2v'¤»åQÛ\rÕ#^ð
-\13Wæá\9f0Å»§Z\80|ØP,\94Û×&mÐ\0/©T\ fè¦\ 6ë¬$\9a´y\82\1fnÓÍ\9e½zÝ\ f\ 2ô\8d¡Æ\9a\ e3K\1dî_D×ÝðzW\ 4÷\92\19Í]Ãt\97mI´2W)/MPM\91A¶Ãm\ 5:Jµ¼þÑ PI\8eç:\8f\8aÞ²\v\18\16*\92¬\1dxEq\94¶ª±\87Tðáºû\18)ÜHìJ\1a[¦äfeÒ\95¨p\á\1d¯ð\92ÿ¿\91i¥JW²I\7fC\ 3v\1aÇX\1dy\14ä$%\0Ò­ðú\11ê%R%6oû\81·c\9a\8f\f\87\14·Ý\88±pt3õ\7f\84-i×l\83¦\82\90`\12\85"1ÚØ\15µYs¾\1d\94\ab\aÉaI\82\9an±°*tìn\82qÕ£\95£\ 4Q\87\1aq\8a\ 4s»¡\97¤\ 6ØU1\1eÛí\ 3à1/L+_\9d-ßX+ØãÆÆ\83¹Ø×^âå\a
-\94c\8ddAÁ\7fX(j¿\8d\1d̾Ç\1fçñÅo2Ã\8bæü\8cf\97s^ánß}ºzG7Þ}\a/èw\976%îöd,\1e\1f^\9e¾\92\95ïÉ\9bçùl>\9a]L£Ú\9dOÙÝ\87»\93¿Nþ\ 3\11ð¾3endstream
-endobj
-1668 0 obj<</Type/Page/Parent 1367 0 R/Contents 1669 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 1070 0 R>>endobj
-1669 0 obj<</Filter/FlateDecode/Length 1576      >>stream
-x\ 1\8dWÛnÛF\10}÷WLõ\12\ 5\88iQ\92%9\80Ñ:\8dmøÁ®k3\r\8aº\bVäRbBî²\Ò\8aþ¾gf©\eí^\12D¡HîÜÎ\993£¿\8eB\1aàoHÓ!\8d&\14\17G\83`@\93é$\18Òx6Åõ\10ÿ*M©<\18ÏN\83Ùk\ fFãÙë'\86á \98¼r\ 2^\83Aûñp}t6Äñp|\8aÏ\82Âé\f^ü·\9c\1e\8fÂI\88 Â\11\87RÐp2        ¦í7~ú!::¹\1aS\18R\94"\95ÉlJQ"Ö\a\14Åý¥uµ\vT\9eÛ\15¥Y\8eLlEkÛT\14ç\9965=õqÃ5s£ëw¤ë8xzû6ú
-\9bg\bÁÛ<\1e\85\ 1.\93þp\12\8c\82³\80"íj:ó¯í\\1f\ fÙuÿ¡1T/5Ŷ(\94Iü[§m\80}\82\1fj\9c¦ïïé        \7f>Ü\?^>üvùðô\14ÝÞ\1f\9aì\aô»mÈ-m\93'4×TV¶(k\9dH\12\8aJåÜÊV     »3\9cTû*[\19Ðq8B9\11Ð\ 2\1e\15õÚx8®2×lÅ5q¬\9dK\9b<_÷¨À¥Zè\80nR2¶Þ\1a­èþgr6­W
-DÈ\1ce&¶U¥ã:_ãÚÕ(.\8cÙªãV\8aì\8ay\10[\93\1e\9c\v¨Pß4ÜÃ\9e¼Õ\13\94HPê\11\8aF\16)\ 1"\9cÌ\16\94gF³[ÚZãHÚ \82Ö-°\11\8cnê7\ e\96\9c¥Ò:\97Í\ 1y½T\92\ e9]=³YeÞÔ\84Ê}#Ûà\82\1f\ 3\92\8a\8c*ð¶e¿\ 6ùII\95\ 3Þ\16G\91{
-S\\0ÇÅa4`½è¤­\12ÁC\82¦\9e\98=§OÀøîâö²ÇÖùì\1fuQþ   £q\9dYC6Ý¥¶Bâ\9a\13­7¶ÄñuÜI\15\iM\92\99ÅÆú\96\18Ì\89z]êDPåoi\86êJ\16\1dUÅ¥Y8É´Pk°\13Pr\80\ew\80ª,ñJÇ­-9ð\97µ§"[,A7®?\bË\96b\ 5\v\ 4\82uÛvÖ\80=N\9bÄ\916qµ\16Zoâ\ 6\80\88\92Ã]ªgÉøäj×Aíû[ú;:ïDg,ßØÉB\9fÉãoAHD)ú\e.uÞ\ 4ØMe(«i®bð\ 3½lQ´ï\92ê?\8b\ 2dΫB884\88\7f²PÌsk¿5%\1dßRtù\18]?üò©«\a *\93cûxÃDá-HÄåfZ/*\vC\s\ efO
-\ 4\81GUÌÕ¦\17¸Ð\9fÁ   »rès\aÐr+D:Ð\1e\96\10©\a{¸¹'\90¼\82\0qùN¡\\8dö\99\82ÿ!±\1d¿\ 2ÿ6²\17´I\ 5ëÄr[Â\9e×O\9d·Ý\81>c\99\ 2\17\1c¥
-\1a\ e6\7fV@H\81m¦©¥eÛþÄ]ôË×\ 6ú<×Ü\11\8e\85ßÛ¬Ö¤\16*3Ò\vY·4®Îò\ì\83})§³\91\rC\8c\fµ\1a"I²eß\ 2¾u\98¦¨(\9cïD* Û}\95{\95Êe¥S\r-\95\87S[ÐsZkwȧ>óQ\eÑN      P\19ÚV
-©/5F\ 5B\85,WuSþ\17\rmÃC7[Ú^aäøÁ\89a\86ñ\80² \8e\88Á\83-ð{Y\15Â`\94\1d]\90\10­*.\ e³¥=\99g\0        \ 4\12Næ6Vy\874[¾ø\19ÍG­\91\89A®Ôq\96fЪ½\82?½=à,äG\89ú[JlÃW\90\9e¶¥aj¯g:~}:"A~tn"uKÌ\1d\8c\ 3\fHÖ¦v®fæYåY²\95£\1e\ 1\14èU?\94\13\91|\7fÍ\83\8bç\ 6"[wÜV\8d1Ì+tã]$Þ=\99A\91Æñ\83]Ñ·Ý+\fà¾0L\8a®\8cBzK5Ïò¬\ 6óÑç \aÊÅÊÞq\9dëg\9dó4j*~·°       ¯\ 1\8c\16\8e\88\få\a¸ZÚf_\8d·§Î[IaÛûÒ{q÷ÑßÚ)øFçÛ\13/ô»\15¤/wÑ\97[\15cBµ3`³k\89\9e\vo6*.\14}\87%\ 4e\10Ô_VÃÑÅUtù û\ fj\82\822w\9a²´UW\vxG|ÍÀS_ú\95\91`6r\7fóN   âù\f±2b\ 5ä5ôx4Þ®\8cã\80\1eE\ \12\82\19tt?\1eVJZ\ eË26¶\88[\f\ e
\1d\9fð\ 4Ä~¢WN´]2\ 5\90ò\96fh´Ê©\81\17Æ\ fá9\93¥^\9bÛ-\ 5}Îý\93¦Y\9cáUߥ­}\8ecO|Ä\ev$\1eà°\e/Ñf¬(ÜØ?Ég`«\ 5\fò`\ 4­x\87*,\88­æ|éM3ß\96\88¥\99»¸Êx\1dðuû7·KÍ-
-3\9c¿7µÒs4×\ 2ökZÖuùþäd\e\85¿j\13ج\80\17¼}ìk¶ß&\13\eK\ 3°åGQ©\12#\1e\86\7fð@à7\87¬\ 6á\ 4?|f#\9a\f\86\1eÃÇ\8bÛ\ f\17t_Ù¯¼\14~´qSà\97\83â\r\88O\1eo\ e\1cO\ag¯ÿL\18OfÁät\bb\0Ýp<âc\97ÑѯG\7f\ 3\18\9d;\ 6endstream
-endobj
-1670 0 obj<</Count 36/First 1671 0 R/Last 1920 0 R>>endobj
-1671 0 obj<</Parent 1670 0 R/Title(Table of Contents)/Dest[1370 0 R/XYZ 0 756 0]/Next 1672 0 R>>endobj
-1672 0 obj<</Parent 1670 0 R/Count -1/First 1673 0 R/Last 1673 0 R/Title(SAMBA Project Documentation)/Dest[1384 0 R/XYZ 0 786 0]/Prev 1671 0 R/Next 1674 0 R>>endobj
-1673 0 obj<</Parent 1672 0 R/Title(SAMBA Team)/Dest[1384 0 R/XYZ 0 762 0]>>endobj
-1674 0 obj<</Parent 1670 0 R/Title(Abstract)/Dest[1386 0 R/XYZ 0 786 0]/Prev 1672 0 R/Next 1675 0 R>>endobj
-1675 0 obj<</Parent 1670 0 R/Title(I. General installation)/Dest[1394 0 R/XYZ 0 786 0]/Prev 1674 0 R/Next 1676 0 R>>endobj
-1676 0 obj<</Parent 1670 0 R/Title(Introduction)/Dest[1396 0 R/XYZ 0 786 0]/Prev 1675 0 R/Next 1677 0 R>>endobj
-1677 0 obj<</Parent 1670 0 R/Count -10/First 1678 0 R/Last 1689 0 R/Title(Chapter 1. How to Install and Test SAMBA)/Dest[1400 0 R/XYZ 0 786 0]/Prev 1676 0 R/Next 1696 0 R>>endobj
-1678 0 obj<</Parent 1677 0 R/Title(1.1. Read the man pages)/Dest[1400 0 R/XYZ 0 762 0]/Next 1679 0 R>>endobj
-1679 0 obj<</Parent 1677 0 R/Title(1.2. Building the Binaries)/Dest[1400 0 R/XYZ 0 621 0]/Prev 1678 0 R/Next 1680 0 R>>endobj
-1680 0 obj<</Parent 1677 0 R/Title(1.3. The all important step)/Dest[1400 0 R/XYZ 0 216 0]/Prev 1679 0 R/Next 1681 0 R>>endobj
-1681 0 obj<</Parent 1677 0 R/Title(1.4. Create the smb configuration file.)/Dest[1402 0 R/XYZ 0 786 0]/Prev 1680 0 R/Next 1682 0 R>>endobj
-1682 0 obj<</Parent 1677 0 R/Title(1.5. Test your config file with testparm)/Dest[1402 0 R/XYZ 0 437 0]/Prev 1681 0 R/Next 1683 0 R>>endobj
-1683 0 obj<</Parent 1677 0 R/Count -2/First 1684 0 R/Last 1685 0 R/Title(1.6. Starting the smbd and nmbd)/Dest[1402 0 R/XYZ 0 309 0]/Prev 1682 0 R/Next 1686 0 R>>endobj
-1684 0 obj<</Parent 1683 0 R/Title(1.6.1. Starting from inetd.conf)/Dest[1404 0 R/XYZ 0 786 0]/Next 1685 0 R>>endobj
-1685 0 obj<</Parent 1683 0 R/Title(1.6.2. Alternative: starting it as a daemon)/Dest[1404 0 R/XYZ 0 299 0]/Prev 1684 0 R>>endobj
-1686 0 obj<</Parent 1677 0 R/Title(1.7. Try listing the shares available on your server)/Dest[1406 0 R/XYZ 0 718 0]/Prev 1683 0 R/Next 1687 0 R>>endobj
-1687 0 obj<</Parent 1677 0 R/Title(1.8. Try connecting with the unix client)/Dest[1406 0 R/XYZ 0 551 0]/Prev 1686 0 R/Next 1688 0 R>>endobj
-1688 0 obj<</Parent 1677 0 R/Title(1.9. Try connecting from a DOS, WfWg, Win9x, WinNT, Win2k, OS/2, etc... client)/Dest[1406 0 R/XYZ 0 383 0]/Prev 1687 0 R/Next 1689 0 R>>endobj
-1689 0 obj<</Parent 1677 0 R/Count -6/First 1690 0 R/Last 1695 0 R/Title(1.10. What If Things Don't Work?)/Dest[1408 0 R/XYZ 0 786 0]/Prev 1688 0 R>>endobj
-1690 0 obj<</Parent 1689 0 R/Title(1.10.1. Diagnosing Problems)/Dest[1408 0 R/XYZ 0 605 0]/Next 1691 0 R>>endobj
-1691 0 obj<</Parent 1689 0 R/Title(1.10.2. Scope IDs)/Dest[1408 0 R/XYZ 0 547 0]/Prev 1690 0 R/Next 1692 0 R>>endobj
-1692 0 obj<</Parent 1689 0 R/Title(1.10.3. Choosing the Protocol Level)/Dest[1408 0 R/XYZ 0 462 0]/Prev 1691 0 R/Next 1693 0 R>>endobj
-1693 0 obj<</Parent 1689 0 R/Title(1.10.4. Printing from UNIX to a Client PC)/Dest[1410 0 R/XYZ 0 786 0]/Prev 1692 0 R/Next 1694 0 R>>endobj
-1694 0 obj<</Parent 1689 0 R/Title(1.10.5. Locking)/Dest[1410 0 R/XYZ 0 635 0]/Prev 1693 0 R/Next 1695 0 R>>endobj
-1695 0 obj<</Parent 1689 0 R/Title(1.10.6. Mapping Usernames)/Dest[1410 0 R/XYZ 0 181 0]/Prev 1694 0 R>>endobj
-1696 0 obj<</Parent 1670 0 R/Count -11/First 1697 0 R/Last 1708 0 R/Title(Chapter 2. Improved browsing in samba)/Dest[1414 0 R/XYZ 0 786 0]/Prev 1677 0 R/Next 1709 0 R>>endobj
-1697 0 obj<</Parent 1696 0 R/Title(2.1. Overview of browsing)/Dest[1414 0 R/XYZ 0 762 0]/Next 1698 0 R>>endobj
-1698 0 obj<</Parent 1696 0 R/Title(2.2. Browsing support in samba)/Dest[1414 0 R/XYZ 0 568 0]/Prev 1697 0 R/Next 1699 0 R>>endobj
-1699 0 obj<</Parent 1696 0 R/Title(2.3. Problem resolution)/Dest[1414 0 R/XYZ 0 189 0]/Prev 1698 0 R/Next 1700 0 R>>endobj
-1700 0 obj<</Parent 1696 0 R/Count -1/First 1701 0 R/Last 1701 0 R/Title(2.4. Browsing across subnets)/Dest[1416 0 R/XYZ 0 586 0]/Prev 1699 0 R/Next 1702 0 R>>endobj
-1701 0 obj<</Parent 1700 0 R/Title(2.4.1. How does cross subnet browsing work ?)/Dest[1416 0 R/XYZ 0 326 0]>>endobj
-1702 0 obj<</Parent 1696 0 R/Title(2.5. Setting up a WINS server)/Dest[1422 0 R/XYZ 0 613 0]/Prev 1700 0 R/Next 1703 0 R>>endobj
-1703 0 obj<</Parent 1696 0 R/Title(2.6. Setting up Browsing in a WORKGROUP)/Dest[1424 0 R/XYZ 0 665 0]/Prev 1702 0 R/Next 1704 0 R>>endobj
-1704 0 obj<</Parent 1696 0 R/Title(2.7. Setting up Browsing in a DOMAIN)/Dest[1426 0 R/XYZ 0 675 0]/Prev 1703 0 R/Next 1705 0 R>>endobj
-1705 0 obj<</Parent 1696 0 R/Title(2.8. Forcing samba to be the master)/Dest[1426 0 R/XYZ 0 319 0]/Prev 1704 0 R/Next 1706 0 R>>endobj
-1706 0 obj<</Parent 1696 0 R/Title(2.9. Making samba the domain master)/Dest[1428 0 R/XYZ 0 573 0]/Prev 1705 0 R/Next 1707 0 R>>endobj
-1707 0 obj<</Parent 1696 0 R/Title(2.10. Note about broadcast addresses)/Dest[1430 0 R/XYZ 0 786 0]/Prev 1706 0 R/Next 1708 0 R>>endobj
-1708 0 obj<</Parent 1696 0 R/Title(2.11. Multiple interfaces)/Dest[1430 0 R/XYZ 0 698 0]/Prev 1707 0 R>>endobj
-1709 0 obj<</Parent 1670 0 R/Count -1/First 1710 0 R/Last 1710 0 R/Title(Chapter 3. Oplocks)/Dest[1432 0 R/XYZ 0 786 0]/Prev 1696 0 R/Next 1711 0 R>>endobj
-1710 0 obj<</Parent 1709 0 R/Title(3.1. What are oplocks?)/Dest[1432 0 R/XYZ 0 762 0]>>endobj
-1711 0 obj<</Parent 1670 0 R/Count -6/First 1712 0 R/Last 1717 0 R/Title(Chapter 4. Quick Cross Subnet Browsing / Cross Workgroup Browsing guide)/Dest[1434 0 R/XYZ 0 786 0]/Prev 1709 0 R/Next 1718 0 R>>endobj
-1712 0 obj<</Parent 1711 0 R/Title(4.1. Discussion)/Dest[1434 0 R/XYZ 0 657 0]/Next 1713 0 R>>endobj
-1713 0 obj<</Parent 1711 0 R/Title(4.2. Use of the "Remote Announce" parameter)/Dest[1434 0 R/XYZ 0 212 0]/Prev 1712 0 R/Next 1714 0 R>>endobj
-1714 0 obj<</Parent 1711 0 R/Title(4.3. Use of the "Remote Browse Sync" parameter)/Dest[1436 0 R/XYZ 0 536 0]/Prev 1713 0 R/Next 1715 0 R>>endobj
-1715 0 obj<</Parent 1711 0 R/Title(4.4. Use of WINS)/Dest[1436 0 R/XYZ 0 357 0]/Prev 1714 0 R/Next 1716 0 R>>endobj
-1716 0 obj<</Parent 1711 0 R/Title(4.5. Do NOT use more than one \(1\) protocol on MS Windows machines)/Dest[1438 0 R/XYZ 0 520 0]/Prev 1715 0 R/Next 1717 0 R>>endobj
-1717 0 obj<</Parent 1711 0 R/Title(4.6. Name Resolution Order)/Dest[1438 0 R/XYZ 0 240 0]/Prev 1716 0 R>>endobj
-1718 0 obj<</Parent 1670 0 R/Count -3/First 1719 0 R/Last 1723 0 R/Title(Chapter 5. LanMan and NT Password Encryption in Samba)/Dest[1442 0 R/XYZ 0 786 0]/Prev 1711 0 R/Next 1724 0 R>>endobj
-1719 0 obj<</Parent 1718 0 R/Title(5.1. Introduction)/Dest[1442 0 R/XYZ 0 738 0]/Next 1720 0 R>>endobj
-1720 0 obj<</Parent 1718 0 R/Count -2/First 1721 0 R/Last 1722 0 R/Title(5.2. Important Notes About Security)/Dest[1442 0 R/XYZ 0 584 0]/Prev 1719 0 R/Next 1723 0 R>>endobj
-1721 0 obj<</Parent 1720 0 R/Title(5.2.1. Advantages of SMB Encryption)/Dest[1444 0 R/XYZ 0 786 0]/Next 1722 0 R>>endobj
-1722 0 obj<</Parent 1720 0 R/Title(5.2.2. Advantages of non-encrypted passwords)/Dest[1444 0 R/XYZ 0 662 0]/Prev 1721 0 R>>endobj
-1723 0 obj<</Parent 1718 0 R/Title(5.3. The smbpasswd Command)/Dest[1444 0 R/XYZ 0 564 0]/Prev 1720 0 R>>endobj
-1724 0 obj<</Parent 1670 0 R/Title(II. Type of installation)/Dest[1448 0 R/XYZ 0 786 0]/Prev 1718 0 R/Next 1725 0 R>>endobj
-1725 0 obj<</Parent 1670 0 R/Title(Introduction)/Dest[1450 0 R/XYZ 0 786 0]/Prev 1724 0 R/Next 1726 0 R>>endobj
-1726 0 obj<</Parent 1670 0 R/Count -9/First 1727 0 R/Last 1740 0 R/Title(Chapter 6. How to Configure Samba as a NT4 Primary Domain Controller)/Dest[1452 0 R/XYZ 0 786 0]/Prev 1725 0 R/Next 1741 0 R>>endobj
-1727 0 obj<</Parent 1726 0 R/Title(6.1. Prerequisite Reading)/Dest[1452 0 R/XYZ 0 738 0]/Next 1728 0 R>>endobj
-1728 0 obj<</Parent 1726 0 R/Title(6.2. Background)/Dest[1452 0 R/XYZ 0 637 0]/Prev 1727 0 R/Next 1729 0 R>>endobj
-1729 0 obj<</Parent 1726 0 R/Title(6.3. Configuring the Samba Domain Controller)/Dest[1454 0 R/XYZ 0 771 0]/Prev 1728 0 R/Next 1730 0 R>>endobj
-1730 0 obj<</Parent 1726 0 R/Count -3/First 1731 0 R/Last 1733 0 R/Title(6.4. Creating Machine Trust Accounts and Joining Clients to the Domain)/Dest[1456 0 R/XYZ 0 665 0]/Prev 1729 0 R/Next 1734 0 R>>endobj
-1731 0 obj<</Parent 1730 0 R/Title(6.4.1. Manual Creation of Machine Trust Accounts)/Dest[1456 0 R/XYZ 0 279 0]/Next 1732 0 R>>endobj
-1732 0 obj<</Parent 1730 0 R/Title(6.4.2. "On-the-Fly" Creation of Machine Trust Accounts)/Dest[1458 0 R/XYZ 0 372 0]/Prev 1731 0 R/Next 1733 0 R>>endobj
-1733 0 obj<</Parent 1730 0 R/Title(6.4.3. Joining the Client to the Domain)/Dest[1460 0 R/XYZ 0 786 0]/Prev 1732 0 R>>endobj
-1734 0 obj<</Parent 1726 0 R/Title(6.5. Common Problems and Errors)/Dest[1460 0 R/XYZ 0 437 0]/Prev 1730 0 R/Next 1735 0 R>>endobj
-1735 0 obj<</Parent 1726 0 R/Title(6.6. System Policies and Profiles)/Dest[1462 0 R/XYZ 0 182 0]/Prev 1734 0 R/Next 1736 0 R>>endobj
-1736 0 obj<</Parent 1726 0 R/Title(6.7. What other help can I get?)/Dest[1464 0 R/XYZ 0 177 0]/Prev 1735 0 R/Next 1737 0 R>>endobj
-1737 0 obj<</Parent 1726 0 R/Count -2/First 1738 0 R/Last 1739 0 R/Title(6.8. Domain Control for Windows 9x/ME)/Dest[1470 0 R/XYZ 0 560 0]/Prev 1736 0 R/Next 1740 0 R>>endobj
-1738 0 obj<</Parent 1737 0 R/Title(6.8.1. Configuration Instructions: Network Logons)/Dest[1472 0 R/XYZ 0 573 0]/Next 1739 0 R>>endobj
-1739 0 obj<</Parent 1737 0 R/Title(6.8.2. Configuration Instructions: Setting up Roaming User Profiles)/Dest[1474 0 R/XYZ 0 786 0]/Prev 1738 0 R>>endobj
-1740 0 obj<</Parent 1726 0 R/Title(6.9. DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba)/Dest[1482 0 R/XYZ 0 771 0]/Prev 1737 0 R>>endobj
-1741 0 obj<</Parent 1670 0 R/Count -5/First 1742 0 R/Last 1748 0 R/Title(Chapter 7. How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain)/Dest[1486 0 R/XYZ 0 786 0]/Prev 1726 0 R/Next 1750 0 R>>endobj
-1742 0 obj<</Parent 1741 0 R/Title(7.1. Prerequisite Reading)/Dest[1486 0 R/XYZ 0 738 0]/Next 1743 0 R>>endobj
-1743 0 obj<</Parent 1741 0 R/Title(7.2. Background)/Dest[1486 0 R/XYZ 0 650 0]/Prev 1742 0 R/Next 1744 0 R>>endobj
-1744 0 obj<</Parent 1741 0 R/Count -2/First 1745 0 R/Last 1746 0 R/Title(7.3. What qualifies a Domain Controller on the network?)/Dest[1486 0 R/XYZ 0 278 0]/Prev 1743 0 R/Next 1747 0 R>>endobj
-1745 0 obj<</Parent 1744 0 R/Title(7.3.1. How does a Workstation find its domain controller?)/Dest[1488 0 R/XYZ 0 786 0]/Next 1746 0 R>>endobj
-1746 0 obj<</Parent 1744 0 R/Title(7.3.2. When is the PDC needed?)/Dest[1488 0 R/XYZ 0 662 0]/Prev 1745 0 R>>endobj
-1747 0 obj<</Parent 1741 0 R/Title(7.4. Can Samba be a Backup Domain Controller?)/Dest[1488 0 R/XYZ 0 577 0]/Prev 1744 0 R/Next 1748 0 R>>endobj
-1748 0 obj<</Parent 1741 0 R/Count -1/First 1749 0 R/Last 1749 0 R/Title(7.5. How do I set up a Samba BDC?)/Dest[1488 0 R/XYZ 0 436 0]/Prev 1747 0 R>>endobj
-1749 0 obj<</Parent 1748 0 R/Title(7.5.1. How do I replicate the smbpasswd file?)/Dest[1490 0 R/XYZ 0 673 0]>>endobj
-1750 0 obj<</Parent 1670 0 R/Count -8/First 1751 0 R/Last 1759 0 R/Title(Chapter 8. Samba as a ADS domain member)/Dest[1492 0 R/XYZ 0 786 0]/Prev 1741 0 R/Next 1760 0 R>>endobj
-1751 0 obj<</Parent 1750 0 R/Title(8.1. Installing the required packages for Debian)/Dest[1492 0 R/XYZ 0 577 0]/Next 1752 0 R>>endobj
-1752 0 obj<</Parent 1750 0 R/Title(8.2. Installing the required packages for RedHat)/Dest[1492 0 R/XYZ 0 470 0]/Prev 1751 0 R/Next 1753 0 R>>endobj
-1753 0 obj<</Parent 1750 0 R/Title(8.3. Compile Samba)/Dest[1492 0 R/XYZ 0 294 0]/Prev 1752 0 R/Next 1754 0 R>>endobj
-1754 0 obj<</Parent 1750 0 R/Title(8.4. Setup your /etc/krb5.conf)/Dest[1494 0 R/XYZ 0 609 0]/Prev 1753 0 R/Next 1755 0 R>>endobj
-1755 0 obj<</Parent 1750 0 R/Count -1/First 1756 0 R/Last 1756 0 R/Title(8.5. Create the computer account)/Dest[1494 0 R/XYZ 0 293 0]/Prev 1754 0 R/Next 1757 0 R>>endobj
-1756 0 obj<</Parent 1755 0 R/Title(8.5.1. Possible errors)/Dest[1494 0 R/XYZ 0 204 0]>>endobj
-1757 0 obj<</Parent 1750 0 R/Title(8.6. Test your server setup)/Dest[1496 0 R/XYZ 0 745 0]/Prev 1755 0 R/Next 1758 0 R>>endobj
-1758 0 obj<</Parent 1750 0 R/Title(8.7. Testing with smbclient)/Dest[1496 0 R/XYZ 0 656 0]/Prev 1757 0 R/Next 1759 0 R>>endobj
-1759 0 obj<</Parent 1750 0 R/Title(8.8. Notes)/Dest[1496 0 R/XYZ 0 581 0]/Prev 1758 0 R>>endobj
-1760 0 obj<</Parent 1670 0 R/Count -3/First 1761 0 R/Last 1763 0 R/Title(Chapter 9. Samba as a NT4 domain member)/Dest[1498 0 R/XYZ 0 786 0]/Prev 1750 0 R/Next 1764 0 R>>endobj
-1761 0 obj<</Parent 1760 0 R/Title(9.1. Joining an NT Domain with Samba 2.2)/Dest[1498 0 R/XYZ 0 762 0]/Next 1762 0 R>>endobj
-1762 0 obj<</Parent 1760 0 R/Title(9.2. Samba and Windows 2000 Domains)/Dest[1500 0 R/XYZ 0 415 0]/Prev 1761 0 R/Next 1763 0 R>>endobj
-1763 0 obj<</Parent 1760 0 R/Title(9.3. Why is this better than security = server?)/Dest[1500 0 R/XYZ 0 207 0]/Prev 1762 0 R>>endobj
-1764 0 obj<</Parent 1670 0 R/Title(III. Optional configuration)/Dest[1504 0 R/XYZ 0 786 0]/Prev 1760 0 R/Next 1765 0 R>>endobj
-1765 0 obj<</Parent 1670 0 R/Title(Introduction)/Dest[1506 0 R/XYZ 0 786 0]/Prev 1764 0 R/Next 1766 0 R>>endobj
-1766 0 obj<</Parent 1670 0 R/Count -6/First 1767 0 R/Last 1784 0 R/Title(Chapter 10. Integrating MS Windows networks with Samba)/Dest[1512 0 R/XYZ 0 786 0]/Prev 1765 0 R/Next 1785 0 R>>endobj
-1767 0 obj<</Parent 1766 0 R/Title(10.1. Agenda)/Dest[1512 0 R/XYZ 0 738 0]/Next 1768 0 R>>endobj
-1768 0 obj<</Parent 1766 0 R/Count -4/First 1769 0 R/Last 1772 0 R/Title(10.2. Name Resolution in a pure Unix/Linux world)/Dest[1512 0 R/XYZ 0 491 0]/Prev 1767 0 R/Next 1773 0 R>>endobj
-1769 0 obj<</Parent 1768 0 R/Title(10.2.1. /etc/hosts)/Dest[1512 0 R/XYZ 0 363 0]/Next 1770 0 R>>endobj
-1770 0 obj<</Parent 1768 0 R/Title(10.2.2. /etc/resolv.conf)/Dest[1514 0 R/XYZ 0 494 0]/Prev 1769 0 R/Next 1771 0 R>>endobj
-1771 0 obj<</Parent 1768 0 R/Title(10.2.3. /etc/host.conf)/Dest[1514 0 R/XYZ 0 356 0]/Prev 1770 0 R/Next 1772 0 R>>endobj
-1772 0 obj<</Parent 1768 0 R/Title(10.2.4. /etc/nsswitch.conf)/Dest[1514 0 R/XYZ 0 210 0]/Prev 1771 0 R>>endobj
-1773 0 obj<</Parent 1766 0 R/Count -5/First 1774 0 R/Last 1778 0 R/Title(10.3. Name resolution as used within MS Windows networking)/Dest[1516 0 R/XYZ 0 392 0]/Prev 1768 0 R/Next 1779 0 R>>endobj
-1774 0 obj<</Parent 1773 0 R/Title(10.3.1. The NetBIOS Name Cache)/Dest[1518 0 R/XYZ 0 319 0]/Next 1775 0 R>>endobj
-1775 0 obj<</Parent 1773 0 R/Title(10.3.2. The LMHOSTS file)/Dest[1520 0 R/XYZ 0 786 0]/Prev 1774 0 R/Next 1776 0 R>>endobj
-1776 0 obj<</Parent 1773 0 R/Title(10.3.3. HOSTS file)/Dest[1522 0 R/XYZ 0 512 0]/Prev 1775 0 R/Next 1777 0 R>>endobj
-1777 0 obj<</Parent 1773 0 R/Title(10.3.4. DNS Lookup)/Dest[1522 0 R/XYZ 0 414 0]/Prev 1776 0 R/Next 1778 0 R>>endobj
-1778 0 obj<</Parent 1773 0 R/Title(10.3.5. WINS Lookup)/Dest[1522 0 R/XYZ 0 276 0]/Prev 1777 0 R>>endobj
-1779 0 obj<</Parent 1766 0 R/Title(10.4. How browsing functions and how to deploy stable and dependable browsing using Samba)/Dest[1524 0 R/XYZ 0 723 0]/Prev 1773 0 R/Next 1780 0 R>>endobj
-1780 0 obj<</Parent 1766 0 R/Count -3/First 1781 0 R/Last 1783 0 R/Title(10.5. MS Windows security options and how to configure Samba for seemless integration)/Dest[1524 0 R/XYZ 0 179 0]/Prev 1779 0 R/Next 1784 0 R>>endobj
-1781 0 obj<</Parent 1780 0 R/Title(10.5.1. Use MS Windows NT as an authentication server)/Dest[1528 0 R/XYZ 0 786 0]/Next 1782 0 R>>endobj
-1782 0 obj<</Parent 1780 0 R/Title(10.5.2. Make Samba a member of an MS Windows NT security domain)/Dest[1528 0 R/XYZ 0 537 0]/Prev 1781 0 R/Next 1783 0 R>>endobj
-1783 0 obj<</Parent 1780 0 R/Title(10.5.3. Configure Samba as an authentication server)/Dest[1528 0 R/XYZ 0 185 0]/Prev 1782 0 R>>endobj
-1784 0 obj<</Parent 1766 0 R/Title(10.6. Conclusions)/Dest[1530 0 R/XYZ 0 316 0]/Prev 1780 0 R>>endobj
-1785 0 obj<</Parent 1670 0 R/Count -7/First 1786 0 R/Last 1794 0 R/Title(Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists)/Dest[1532 0 R/XYZ 0 786 0]/Prev 1766 0 R/Next 1795 0 R>>endobj
-1786 0 obj<</Parent 1785 0 R/Title(11.1. Viewing and changing UNIX permissions using the NT security dialogs)/Dest[1532 0 R/XYZ 0 738 0]/Next 1787 0 R>>endobj
-1787 0 obj<</Parent 1785 0 R/Title(11.2. How to view file security on a Samba share)/Dest[1532 0 R/XYZ 0 550 0]/Prev 1786 0 R/Next 1788 0 R>>endobj
-1788 0 obj<</Parent 1785 0 R/Title(11.3. Viewing file ownership)/Dest[1532 0 R/XYZ 0 383 0]/Prev 1787 0 R/Next 1789 0 R>>endobj
-1789 0 obj<</Parent 1785 0 R/Count -2/First 1790 0 R/Last 1791 0 R/Title(11.4. Viewing file or directory permissions)/Dest[1534 0 R/XYZ 0 718 0]/Prev 1788 0 R/Next 1792 0 R>>endobj
-1790 0 obj<</Parent 1789 0 R/Title(11.4.1. File Permissions)/Dest[1534 0 R/XYZ 0 485 0]/Next 1791 0 R>>endobj
-1791 0 obj<</Parent 1789 0 R/Title(11.4.2. Directory Permissions)/Dest[1534 0 R/XYZ 0 241 0]/Prev 1790 0 R>>endobj
-1792 0 obj<</Parent 1785 0 R/Title(11.5. Modifying file or directory permissions)/Dest[1536 0 R/XYZ 0 745 0]/Prev 1789 0 R/Next 1793 0 R>>endobj
-1793 0 obj<</Parent 1785 0 R/Title(11.6. Interaction with the standard Samba create mask parameters)/Dest[1536 0 R/XYZ 0 313 0]/Prev 1792 0 R/Next 1794 0 R>>endobj
-1794 0 obj<</Parent 1785 0 R/Title(11.7. Interaction with the standard Samba file attribute mapping)/Dest[1540 0 R/XYZ 0 652 0]/Prev 1793 0 R>>endobj
-1795 0 obj<</Parent 1670 0 R/Count -3/First 1796 0 R/Last 1798 0 R/Title(Chapter 12. Configuring PAM for distributed but centrally managed authentication)/Dest[1542 0 R/XYZ 0 786 0]/Prev 1785 0 R/Next 1799 0 R>>endobj
-1796 0 obj<</Parent 1795 0 R/Title(12.1. Samba and PAM)/Dest[1542 0 R/XYZ 0 738 0]/Next 1797 0 R>>endobj
-1797 0 obj<</Parent 1795 0 R/Title(12.2. Distributed Authentication)/Dest[1544 0 R/XYZ 0 201 0]/Prev 1796 0 R/Next 1798 0 R>>endobj
-1798 0 obj<</Parent 1795 0 R/Title(12.3. PAM Configuration in smb.conf)/Dest[1546 0 R/XYZ 0 758 0]/Prev 1797 0 R>>endobj
-1799 0 obj<</Parent 1670 0 R/Count -1/First 1800 0 R/Last 1800 0 R/Title(Chapter 13. Hosting a Microsoft Distributed File System tree on Samba)/Dest[1548 0 R/XYZ 0 786 0]/Prev 1795 0 R/Next 1802 0 R>>endobj
-1800 0 obj<</Parent 1799 0 R/Count -1/First 1801 0 R/Last 1801 0 R/Title(13.1. Instructions)/Dest[1548 0 R/XYZ 0 738 0]>>endobj
-1801 0 obj<</Parent 1800 0 R/Title(13.1.1. Notes)/Dest[1550 0 R/XYZ 0 705 0]>>endobj
-1802 0 obj<</Parent 1670 0 R/Count -4/First 1803 0 R/Last 1815 0 R/Title(Chapter 14. Printing Support)/Dest[1552 0 R/XYZ 0 786 0]/Prev 1799 0 R/Next 1825 0 R>>endobj
-1803 0 obj<</Parent 1802 0 R/Title(14.1. Introduction)/Dest[1552 0 R/XYZ 0 762 0]/Next 1804 0 R>>endobj
-1804 0 obj<</Parent 1802 0 R/Count -5/First 1805 0 R/Last 1809 0 R/Title(14.2. Configuration)/Dest[1552 0 R/XYZ 0 370 0]/Prev 1803 0 R/Next 1810 0 R>>endobj
-1805 0 obj<</Parent 1804 0 R/Title(14.2.1. Creating [print$])/Dest[1552 0 R/XYZ 0 184 0]/Next 1806 0 R>>endobj
-1806 0 obj<</Parent 1804 0 R/Title(14.2.2. Setting Drivers for Existing Printers)/Dest[1556 0 R/XYZ 0 636 0]/Prev 1805 0 R/Next 1807 0 R>>endobj
-1807 0 obj<</Parent 1804 0 R/Title(14.2.3. Support a large number of printers)/Dest[1556 0 R/XYZ 0 221 0]/Prev 1806 0 R/Next 1808 0 R>>endobj
-1808 0 obj<</Parent 1804 0 R/Title(14.2.4. Adding New Printers via the Windows NT APW)/Dest[1558 0 R/XYZ 0 523 0]/Prev 1807 0 R/Next 1809 0 R>>endobj
-1809 0 obj<</Parent 1804 0 R/Title(14.2.5. Samba and Printer Ports)/Dest[1560 0 R/XYZ 0 350 0]/Prev 1808 0 R>>endobj
-1810 0 obj<</Parent 1802 0 R/Count -4/First 1811 0 R/Last 1814 0 R/Title(14.3. The Imprints Toolset)/Dest[1562 0 R/XYZ 0 786 0]/Prev 1804 0 R/Next 1815 0 R>>endobj
-1811 0 obj<</Parent 1810 0 R/Title(14.3.1. What is Imprints?)/Dest[1562 0 R/XYZ 0 685 0]/Next 1812 0 R>>endobj
-1812 0 obj<</Parent 1810 0 R/Title(14.3.2. Creating Printer Driver Packages)/Dest[1562 0 R/XYZ 0 560 0]/Prev 1811 0 R/Next 1813 0 R>>endobj
-1813 0 obj<</Parent 1810 0 R/Title(14.3.3. The Imprints server)/Dest[1562 0 R/XYZ 0 475 0]/Prev 1812 0 R/Next 1814 0 R>>endobj
-1814 0 obj<</Parent 1810 0 R/Title(14.3.4. The Installation Client)/Dest[1562 0 R/XYZ 0 377 0]/Prev 1813 0 R>>endobj
-1815 0 obj<</Parent 1802 0 R/Count -9/First 1816 0 R/Last 1824 0 R/Title(14.4. Diagnosis)/Dest[1564 0 R/XYZ 0 493 0]/Prev 1810 0 R>>endobj
-1816 0 obj<</Parent 1815 0 R/Title(14.4.1. Introduction)/Dest[1564 0 R/XYZ 0 472 0]/Next 1817 0 R>>endobj
-1817 0 obj<</Parent 1815 0 R/Title(14.4.2. Debugging printer problems)/Dest[1566 0 R/XYZ 0 532 0]/Prev 1816 0 R/Next 1818 0 R>>endobj
-1818 0 obj<</Parent 1815 0 R/Title(14.4.3. What printers do I have?)/Dest[1568 0 R/XYZ 0 745 0]/Prev 1817 0 R/Next 1819 0 R>>endobj
-1819 0 obj<</Parent 1815 0 R/Title(14.4.4. Setting up printcap and print servers)/Dest[1568 0 R/XYZ 0 564 0]/Prev 1818 0 R/Next 1820 0 R>>endobj
-1820 0 obj<</Parent 1815 0 R/Title(14.4.5. Job sent, no output)/Dest[1570 0 R/XYZ 0 786 0]/Prev 1819 0 R/Next 1821 0 R>>endobj
-1821 0 obj<</Parent 1815 0 R/Title(14.4.6. Job sent, strange output)/Dest[1570 0 R/XYZ 0 447 0]/Prev 1820 0 R/Next 1822 0 R>>endobj
-1822 0 obj<</Parent 1815 0 R/Title(14.4.7. Raw PostScript printed)/Dest[1572 0 R/XYZ 0 771 0]/Prev 1821 0 R/Next 1823 0 R>>endobj
-1823 0 obj<</Parent 1815 0 R/Title(14.4.8. Advanced Printing)/Dest[1572 0 R/XYZ 0 686 0]/Prev 1822 0 R/Next 1824 0 R>>endobj
-1824 0 obj<</Parent 1815 0 R/Title(14.4.9. Real debugging)/Dest[1572 0 R/XYZ 0 588 0]/Prev 1823 0 R>>endobj
-1825 0 obj<</Parent 1670 0 R/Count -2/First 1826 0 R/Last 1827 0 R/Title(Chapter 15. Security levels)/Dest[1574 0 R/XYZ 0 786 0]/Prev 1802 0 R/Next 1828 0 R>>endobj
-1826 0 obj<</Parent 1825 0 R/Title(15.1. Introduction)/Dest[1574 0 R/XYZ 0 762 0]/Next 1827 0 R>>endobj
-1827 0 obj<</Parent 1825 0 R/Title(15.2. More complete description of security levels)/Dest[1574 0 R/XYZ 0 520 0]/Prev 1826 0 R>>endobj
-1828 0 obj<</Parent 1670 0 R/Count -7/First 1829 0 R/Last 1844 0 R/Title(Chapter 16. Unified Logons between Windows NT and UNIX using Winbind)/Dest[1578 0 R/XYZ 0 786 0]/Prev 1825 0 R/Next 1845 0 R>>endobj
-1829 0 obj<</Parent 1828 0 R/Title(16.1. Abstract)/Dest[1578 0 R/XYZ 0 738 0]/Next 1830 0 R>>endobj
-1830 0 obj<</Parent 1828 0 R/Title(16.2. Introduction)/Dest[1578 0 R/XYZ 0 597 0]/Prev 1829 0 R/Next 1831 0 R>>endobj
-1831 0 obj<</Parent 1828 0 R/Count -1/First 1832 0 R/Last 1832 0 R/Title(16.3. What Winbind Provides)/Dest[1578 0 R/XYZ 0 284 0]/Prev 1830 0 R/Next 1833 0 R>>endobj
-1832 0 obj<</Parent 1831 0 R/Title(16.3.1. Target Uses)/Dest[1580 0 R/XYZ 0 613 0]>>endobj
-1833 0 obj<</Parent 1828 0 R/Count -5/First 1834 0 R/Last 1838 0 R/Title(16.4. How Winbind Works)/Dest[1580 0 R/XYZ 0 462 0]/Prev 1831 0 R/Next 1839 0 R>>endobj
-1834 0 obj<</Parent 1833 0 R/Title(16.4.1. Microsoft Remote Procedure Calls)/Dest[1580 0 R/XYZ 0 347 0]/Next 1835 0 R>>endobj
-1835 0 obj<</Parent 1833 0 R/Title(16.4.2. Name Service Switch)/Dest[1582 0 R/XYZ 0 786 0]/Prev 1834 0 R/Next 1836 0 R>>endobj
-1836 0 obj<</Parent 1833 0 R/Title(16.4.3. Pluggable Authentication Modules)/Dest[1582 0 R/XYZ 0 345 0]/Prev 1835 0 R/Next 1837 0 R>>endobj
-1837 0 obj<</Parent 1833 0 R/Title(16.4.4. User and Group ID Allocation)/Dest[1584 0 R/XYZ 0 718 0]/Prev 1836 0 R/Next 1838 0 R>>endobj
-1838 0 obj<</Parent 1833 0 R/Title(16.4.5. Result Caching)/Dest[1584 0 R/XYZ 0 541 0]/Prev 1837 0 R>>endobj
-1839 0 obj<</Parent 1828 0 R/Count -3/First 1840 0 R/Last 1842 0 R/Title(16.5. Installation and Configuration)/Dest[1584 0 R/XYZ 0 403 0]/Prev 1833 0 R/Next 1843 0 R>>endobj
-1840 0 obj<</Parent 1839 0 R/Title(16.5.1. Introduction)/Dest[1584 0 R/XYZ 0 262 0]/Next 1841 0 R>>endobj
-1841 0 obj<</Parent 1839 0 R/Title(16.5.2. Requirements)/Dest[1586 0 R/XYZ 0 652 0]/Prev 1840 0 R/Next 1842 0 R>>endobj
-1842 0 obj<</Parent 1839 0 R/Title(16.5.3. Testing Things Out)/Dest[1586 0 R/XYZ 0 383 0]/Prev 1841 0 R>>endobj
-1843 0 obj<</Parent 1828 0 R/Title(16.6. Limitations)/Dest[1600 0 R/XYZ 0 349 0]/Prev 1839 0 R/Next 1844 0 R>>endobj
-1844 0 obj<</Parent 1828 0 R/Title(16.7. Conclusion)/Dest[1602 0 R/XYZ 0 786 0]/Prev 1843 0 R>>endobj
-1845 0 obj<</Parent 1670 0 R/Count -4/First 1846 0 R/Last 1849 0 R/Title(Chapter 17. Passdb MySQL plugin)/Dest[1604 0 R/XYZ 0 786 0]/Prev 1828 0 R/Next 1850 0 R>>endobj
-1846 0 obj<</Parent 1845 0 R/Title(17.1. Building)/Dest[1604 0 R/XYZ 0 762 0]/Next 1847 0 R>>endobj
-1847 0 obj<</Parent 1845 0 R/Title(17.2. Configuring)/Dest[1604 0 R/XYZ 0 647 0]/Prev 1846 0 R/Next 1848 0 R>>endobj
-1848 0 obj<</Parent 1845 0 R/Title(17.3. Using plaintext passwords or encrypted password)/Dest[1606 0 R/XYZ 0 621 0]/Prev 1847 0 R/Next 1849 0 R>>endobj
-1849 0 obj<</Parent 1845 0 R/Title(17.4. Getting non-column data from the table)/Dest[1606 0 R/XYZ 0 467 0]/Prev 1848 0 R>>endobj
-1850 0 obj<</Parent 1670 0 R/Count -2/First 1851 0 R/Last 1852 0 R/Title(Chapter 18. Passdb XML plugin)/Dest[1608 0 R/XYZ 0 786 0]/Prev 1845 0 R/Next 1853 0 R>>endobj
-1851 0 obj<</Parent 1850 0 R/Title(18.1. Building)/Dest[1608 0 R/XYZ 0 762 0]/Next 1852 0 R>>endobj
-1852 0 obj<</Parent 1850 0 R/Title(18.2. Usage)/Dest[1608 0 R/XYZ 0 661 0]/Prev 1851 0 R>>endobj
-1853 0 obj<</Parent 1670 0 R/Count -10/First 1854 0 R/Last 1865 0 R/Title(Chapter 19. Storing Samba's User/Machine Account information in an LDAP Directory)/Dest[1610 0 R/XYZ 0 786 0]/Prev 1850 0 R/Next 1866 0 R>>endobj
-1854 0 obj<</Parent 1853 0 R/Title(19.1. Purpose)/Dest[1610 0 R/XYZ 0 738 0]/Next 1855 0 R>>endobj
-1855 0 obj<</Parent 1853 0 R/Title(19.2. Introduction)/Dest[1610 0 R/XYZ 0 465 0]/Prev 1854 0 R/Next 1856 0 R>>endobj
-1856 0 obj<</Parent 1853 0 R/Title(19.3. Supported LDAP Servers)/Dest[1612 0 R/XYZ 0 626 0]/Prev 1855 0 R/Next 1857 0 R>>endobj
-1857 0 obj<</Parent 1853 0 R/Title(19.4. Schema and Relationship to the RFC 2307 posixAccount)/Dest[1612 0 R/XYZ 0 524 0]/Prev 1856 0 R/Next 1858 0 R>>endobj
-1858 0 obj<</Parent 1853 0 R/Count -2/First 1859 0 R/Last 1860 0 R/Title(19.5. Configuring Samba with LDAP)/Dest[1614 0 R/XYZ 0 786 0]/Prev 1857 0 R/Next 1861 0 R>>endobj
-1859 0 obj<</Parent 1858 0 R/Title(19.5.1. OpenLDAP configuration)/Dest[1614 0 R/XYZ 0 766 0]/Next 1860 0 R>>endobj
-1860 0 obj<</Parent 1858 0 R/Title(19.5.2. Configuring Samba)/Dest[1614 0 R/XYZ 0 196 0]/Prev 1859 0 R>>endobj
-1861 0 obj<</Parent 1853 0 R/Title(19.6. Accounts and Groups management)/Dest[1616 0 R/XYZ 0 296 0]/Prev 1858 0 R/Next 1862 0 R>>endobj
-1862 0 obj<</Parent 1853 0 R/Title(19.7. Security and sambaAccount)/Dest[1618 0 R/XYZ 0 771 0]/Prev 1861 0 R/Next 1863 0 R>>endobj
-1863 0 obj<</Parent 1853 0 R/Title(19.8. LDAP specials attributes for sambaAccounts)/Dest[1618 0 R/XYZ 0 389 0]/Prev 1862 0 R/Next 1864 0 R>>endobj
-1864 0 obj<</Parent 1853 0 R/Title(19.9. Example LDIF Entries for a sambaAccount)/Dest[1620 0 R/XYZ 0 375 0]/Prev 1863 0 R/Next 1865 0 R>>endobj
-1865 0 obj<</Parent 1853 0 R/Title(19.10. Comments)/Dest[1622 0 R/XYZ 0 544 0]/Prev 1864 0 R>>endobj
-1866 0 obj<</Parent 1670 0 R/Count -2/First 1867 0 R/Last 1868 0 R/Title(Chapter 20. HOWTO Access Samba source code via CVS)/Dest[1624 0 R/XYZ 0 786 0]/Prev 1853 0 R/Next 1871 0 R>>endobj
-1867 0 obj<</Parent 1866 0 R/Title(20.1. Introduction)/Dest[1624 0 R/XYZ 0 738 0]/Next 1868 0 R>>endobj
-1868 0 obj<</Parent 1866 0 R/Count -2/First 1869 0 R/Last 1870 0 R/Title(20.2. CVS Access to samba.org)/Dest[1624 0 R/XYZ 0 610 0]/Prev 1867 0 R>>endobj
-1869 0 obj<</Parent 1868 0 R/Title(20.2.1. Access via CVSweb)/Dest[1624 0 R/XYZ 0 522 0]/Next 1870 0 R>>endobj
-1870 0 obj<</Parent 1868 0 R/Title(20.2.2. Access via cvs)/Dest[1624 0 R/XYZ 0 411 0]/Prev 1869 0 R>>endobj
-1871 0 obj<</Parent 1670 0 R/Title(Chapter 21. Group mapping HOWTO)/Dest[1628 0 R/XYZ 0 786 0]/Prev 1866 0 R/Next 1872 0 R>>endobj
-1872 0 obj<</Parent 1670 0 R/Count -17/First 1873 0 R/Last 1892 0 R/Title(Chapter 22. Samba performance issues)/Dest[1630 0 R/XYZ 0 786 0]/Prev 1871 0 R/Next 1893 0 R>>endobj
-1873 0 obj<</Parent 1872 0 R/Title(22.1. Comparisons)/Dest[1630 0 R/XYZ 0 762 0]/Next 1874 0 R>>endobj
-1874 0 obj<</Parent 1872 0 R/Count -3/First 1875 0 R/Last 1877 0 R/Title(22.2. Oplocks)/Dest[1630 0 R/XYZ 0 502 0]/Prev 1873 0 R/Next 1878 0 R>>endobj
-1875 0 obj<</Parent 1874 0 R/Title(22.2.1. Overview)/Dest[1630 0 R/XYZ 0 482 0]/Next 1876 0 R>>endobj
-1876 0 obj<</Parent 1874 0 R/Title(22.2.2. Level2 Oplocks)/Dest[1630 0 R/XYZ 0 199 0]/Prev 1875 0 R/Next 1877 0 R>>endobj
-1877 0 obj<</Parent 1874 0 R/Title(22.2.3. Old 'fake oplocks' option - deprecated)/Dest[1632 0 R/XYZ 0 705 0]/Prev 1876 0 R>>endobj
-1878 0 obj<</Parent 1872 0 R/Title(22.3. Socket options)/Dest[1632 0 R/XYZ 0 567 0]/Prev 1874 0 R/Next 1879 0 R>>endobj
-1879 0 obj<</Parent 1872 0 R/Title(22.4. Read size)/Dest[1632 0 R/XYZ 0 307 0]/Prev 1878 0 R/Next 1880 0 R>>endobj
-1880 0 obj<</Parent 1872 0 R/Title(22.5. Max xmit)/Dest[1634 0 R/XYZ 0 771 0]/Prev 1879 0 R/Next 1881 0 R>>endobj
-1881 0 obj<</Parent 1872 0 R/Title(22.6. Locking)/Dest[1634 0 R/XYZ 0 590 0]/Prev 1880 0 R/Next 1882 0 R>>endobj
-1882 0 obj<</Parent 1872 0 R/Title(22.7. Share modes)/Dest[1634 0 R/XYZ 0 462 0]/Prev 1881 0 R/Next 1883 0 R>>endobj
-1883 0 obj<</Parent 1872 0 R/Title(22.8. Log level)/Dest[1634 0 R/XYZ 0 242 0]/Prev 1882 0 R/Next 1884 0 R>>endobj
-1884 0 obj<</Parent 1872 0 R/Title(22.9. Wide lines)/Dest[1636 0 R/XYZ 0 786 0]/Prev 1883 0 R/Next 1885 0 R>>endobj
-1885 0 obj<</Parent 1872 0 R/Title(22.10. Read raw)/Dest[1636 0 R/XYZ 0 698 0]/Prev 1884 0 R/Next 1886 0 R>>endobj
-1886 0 obj<</Parent 1872 0 R/Title(22.11. Write raw)/Dest[1636 0 R/XYZ 0 530 0]/Prev 1885 0 R/Next 1887 0 R>>endobj
-1887 0 obj<</Parent 1872 0 R/Title(22.12. Read prediction)/Dest[1636 0 R/XYZ 0 402 0]/Prev 1886 0 R/Next 1888 0 R>>endobj
-1888 0 obj<</Parent 1872 0 R/Title(22.13. Memory mapping)/Dest[1636 0 R/XYZ 0 182 0]/Prev 1887 0 R/Next 1889 0 R>>endobj
-1889 0 obj<</Parent 1872 0 R/Title(22.14. Slow Clients)/Dest[1638 0 R/XYZ 0 692 0]/Prev 1888 0 R/Next 1890 0 R>>endobj
-1890 0 obj<</Parent 1872 0 R/Title(22.15. Slow Logins)/Dest[1638 0 R/XYZ 0 564 0]/Prev 1889 0 R/Next 1891 0 R>>endobj
-1891 0 obj<</Parent 1872 0 R/Title(22.16. Client tuning)/Dest[1638 0 R/XYZ 0 489 0]/Prev 1890 0 R/Next 1892 0 R>>endobj
-1892 0 obj<</Parent 1872 0 R/Title(22.17. My Results)/Dest[1640 0 R/XYZ 0 441 0]/Prev 1891 0 R>>endobj
-1893 0 obj<</Parent 1670 0 R/Title(IV. Appendixes)/Dest[1642 0 R/XYZ 0 786 0]/Prev 1872 0 R/Next 1894 0 R>>endobj
-1894 0 obj<</Parent 1670 0 R/Count -4/First 1895 0 R/Last 1898 0 R/Title(Chapter 23. Portability)/Dest[1644 0 R/XYZ 0 786 0]/Prev 1893 0 R/Next 1899 0 R>>endobj
-1895 0 obj<</Parent 1894 0 R/Title(23.1. HPUX)/Dest[1644 0 R/XYZ 0 707 0]/Next 1896 0 R>>endobj
-1896 0 obj<</Parent 1894 0 R/Title(23.2. SCO Unix)/Dest[1644 0 R/XYZ 0 461 0]/Prev 1895 0 R/Next 1897 0 R>>endobj
-1897 0 obj<</Parent 1894 0 R/Title(23.3. DNIX)/Dest[1644 0 R/XYZ 0 346 0]/Prev 1896 0 R/Next 1898 0 R>>endobj
-1898 0 obj<</Parent 1894 0 R/Title(23.4. RedHat Linux Rembrandt-II)/Dest[1646 0 R/XYZ 0 280 0]/Prev 1897 0 R>>endobj
-1899 0 obj<</Parent 1670 0 R/Count -5/First 1900 0 R/Last 1912 0 R/Title(Chapter 24. Samba and other CIFS clients)/Dest[1648 0 R/XYZ 0 786 0]/Prev 1894 0 R/Next 1913 0 R>>endobj
-1900 0 obj<</Parent 1899 0 R/Title(24.1. Macintosh clients?)/Dest[1648 0 R/XYZ 0 721 0]/Next 1901 0 R>>endobj
-1901 0 obj<</Parent 1899 0 R/Count -4/First 1902 0 R/Last 1905 0 R/Title(24.2. OS2 Client)/Dest[1648 0 R/XYZ 0 513 0]/Prev 1900 0 R/Next 1906 0 R>>endobj
-1902 0 obj<</Parent 1901 0 R/Title(24.2.1. How can I configure OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba?)/Dest[1648 0 R/XYZ 0 493 0]/Next 1903 0 R>>endobj
-1903 0 obj<</Parent 1901 0 R/Title(24.2.2. How can I configure OS/2 Warp 3 \(not Connect\), OS/2 1.2, 1.3 or 2.x for Samba?)/Dest[1650 0 R/XYZ 0 786 0]/Prev 1902 0 R/Next 1904 0 R>>endobj
-1904 0 obj<</Parent 1901 0 R/Title(24.2.3. Are there any other issues when OS/2 \(any version\) is used as a client?)/Dest[1650 0 R/XYZ 0 575 0]/Prev 1903 0 R/Next 1905 0 R>>endobj
-1905 0 obj<</Parent 1901 0 R/Title(24.2.4. How do I get printer driver download working for OS/2 clients?)/Dest[1650 0 R/XYZ 0 461 0]/Prev 1904 0 R>>endobj
-1906 0 obj<</Parent 1899 0 R/Count -4/First 1907 0 R/Last 1910 0 R/Title(24.3. Windows for Workgroups)/Dest[1650 0 R/XYZ 0 204 0]/Prev 1901 0 R/Next 1911 0 R>>endobj
-1907 0 obj<</Parent 1906 0 R/Title(24.3.1. Use latest TCP/IP stack from Microsoft)/Dest[1650 0 R/XYZ 0 184 0]/Next 1908 0 R>>endobj
-1908 0 obj<</Parent 1906 0 R/Title(24.3.2. Delete .pwl files after password change)/Dest[1652 0 R/XYZ 0 679 0]/Prev 1907 0 R/Next 1909 0 R>>endobj
-1909 0 obj<</Parent 1906 0 R/Title(24.3.3. Configure WfW password handling)/Dest[1652 0 R/XYZ 0 528 0]/Prev 1908 0 R/Next 1910 0 R>>endobj
-1910 0 obj<</Parent 1906 0 R/Title(24.3.4. Case handling of passwords)/Dest[1652 0 R/XYZ 0 430 0]/Prev 1909 0 R>>endobj
-1911 0 obj<</Parent 1899 0 R/Title(24.4. Windows '95/'98)/Dest[1652 0 R/XYZ 0 345 0]/Prev 1906 0 R/Next 1912 0 R>>endobj
-1912 0 obj<</Parent 1899 0 R/Title(24.5. Windows 2000 Service Pack 2)/Dest[1654 0 R/XYZ 0 771 0]/Prev 1911 0 R>>endobj
-1913 0 obj<</Parent 1670 0 R/Count -6/First 1914 0 R/Last 1919 0 R/Title(Chapter 25. Reporting Bugs)/Dest[1656 0 R/XYZ 0 786 0]/Prev 1899 0 R/Next 1920 0 R>>endobj
-1914 0 obj<</Parent 1913 0 R/Title(25.1. Introduction)/Dest[1656 0 R/XYZ 0 762 0]/Next 1915 0 R>>endobj
-1915 0 obj<</Parent 1913 0 R/Title(25.2. General info)/Dest[1656 0 R/XYZ 0 476 0]/Prev 1914 0 R/Next 1916 0 R>>endobj
-1916 0 obj<</Parent 1913 0 R/Title(25.3. Debug levels)/Dest[1656 0 R/XYZ 0 335 0]/Prev 1915 0 R/Next 1917 0 R>>endobj
-1917 0 obj<</Parent 1913 0 R/Title(25.4. Internal errors)/Dest[1658 0 R/XYZ 0 665 0]/Prev 1916 0 R/Next 1918 0 R>>endobj
-1918 0 obj<</Parent 1913 0 R/Title(25.5. Attaching to a running process)/Dest[1658 0 R/XYZ 0 313 0]/Prev 1917 0 R/Next 1919 0 R>>endobj
-1919 0 obj<</Parent 1913 0 R/Title(25.6. Patches)/Dest[1658 0 R/XYZ 0 211 0]/Prev 1918 0 R>>endobj
-1920 0 obj<</Parent 1670 0 R/Count -4/First 1921 0 R/Last 1935 0 R/Title(Chapter 26. Diagnosing your samba server)/Dest[1660 0 R/XYZ 0 786 0]/Prev 1913 0 R>>endobj
-1921 0 obj<</Parent 1920 0 R/Title(26.1. Introduction)/Dest[1660 0 R/XYZ 0 762 0]/Next 1922 0 R>>endobj
-1922 0 obj<</Parent 1920 0 R/Title(26.2. Assumptions)/Dest[1660 0 R/XYZ 0 581 0]/Prev 1921 0 R/Next 1923 0 R>>endobj
-1923 0 obj<</Parent 1920 0 R/Count -11/First 1924 0 R/Last 1934 0 R/Title(26.3. Tests)/Dest[1660 0 R/XYZ 0 252 0]/Prev 1922 0 R/Next 1935 0 R>>endobj
-1924 0 obj<</Parent 1923 0 R/Title(26.3.1. Test 1)/Dest[1660 0 R/XYZ 0 231 0]/Next 1925 0 R>>endobj
-1925 0 obj<</Parent 1923 0 R/Title(26.3.2. Test 2)/Dest[1662 0 R/XYZ 0 786 0]/Prev 1924 0 R/Next 1926 0 R>>endobj
-1926 0 obj<</Parent 1923 0 R/Title(26.3.3. Test 3)/Dest[1662 0 R/XYZ 0 583 0]/Prev 1925 0 R/Next 1927 0 R>>endobj
-1927 0 obj<</Parent 1923 0 R/Title(26.3.4. Test 4)/Dest[1664 0 R/XYZ 0 679 0]/Prev 1926 0 R/Next 1928 0 R>>endobj
-1928 0 obj<</Parent 1923 0 R/Title(26.3.5. Test 5)/Dest[1664 0 R/XYZ 0 528 0]/Prev 1927 0 R/Next 1929 0 R>>endobj
-1929 0 obj<</Parent 1923 0 R/Title(26.3.6. Test 6)/Dest[1664 0 R/XYZ 0 403 0]/Prev 1928 0 R/Next 1930 0 R>>endobj
-1930 0 obj<</Parent 1923 0 R/Title(26.3.7. Test 7)/Dest[1666 0 R/XYZ 0 786 0]/Prev 1929 0 R/Next 1931 0 R>>endobj
-1931 0 obj<</Parent 1923 0 R/Title(26.3.8. Test 8)/Dest[1666 0 R/XYZ 0 424 0]/Prev 1930 0 R/Next 1932 0 R>>endobj
-1932 0 obj<</Parent 1923 0 R/Title(26.3.9. Test 9)/Dest[1668 0 R/XYZ 0 758 0]/Prev 1931 0 R/Next 1933 0 R>>endobj
-1933 0 obj<</Parent 1923 0 R/Title(26.3.10. Test 10)/Dest[1668 0 R/XYZ 0 567 0]/Prev 1932 0 R/Next 1934 0 R>>endobj
-1934 0 obj<</Parent 1923 0 R/Title(26.3.11. Test 11)/Dest[1668 0 R/XYZ 0 430 0]/Prev 1933 0 R>>endobj
-1935 0 obj<</Parent 1920 0 R/Title(26.4. Still having troubles?)/Dest[1668 0 R/XYZ 0 292 0]/Prev 1923 0 R>>endobj
-1936 0 obj<</Type/Catalog/Pages 1367 0 R/PageLayout/SinglePage/Outlines 1670 0 R/OpenAction[1384 0 R/XYZ null null 0]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</S/r>>8<</S/D/St 1/P()>>9<</S/D/St 2/P()>>13<</S/D/St 6/P()>>14<</S/D/St 7/P()>>16<</S/D/St 9/P()>>23<</S/D/St 16/P()>>32<</S/D/St 25/P()>>33<</S/D/St 26/P()>>37<</S/D/St 30/P()>>40<</S/D/St 33/P()>>41<</S/D/St 34/P()>>42<</S/D/St 35/P()>>59<</S/D/St 52/P()>>62<</S/D/St 55/P()>>65<</S/D/St 58/P()>>68<</S/D/St 61/P()>>69<</S/D/St 62/P()>>72<</S/D/St 65/P()>>82<</S/D/St 75/P()>>87<</S/D/St 80/P()>>90<</S/D/St 83/P()>>92<</S/D/St 85/P()>>103<</S/D/St 96/P()>>105<</S/D/St 98/P()>>118<</S/D/St 111/P()>>120<</S/D/St 113/P()>>121<</S/D/St 114/P()>>128<</S/D/St 121/P()>>130<</S/D/St 123/P()>>131<</S/D/St 124/P()>>137<</S/D/St 130/P()>>138<</S/D/St 131/P()>>140<</S/D/St 133/P()>>144<</S/D/St 137/P()>>146<</S/D/St 139/P()>>]>>>>endobj
+\18\b¸+JbÌ%7K®\15½ôÛ{\86\I¶\12\14(
+C\82vÉáÌ\9c9s\86þvÔ¡3üuhØ¥Þ\80²üè,9£Ao\8cïþh\88ï.>¥¤\ 5/`ëîëÃoG\9dq2¦óÑ \19QNçã¤W?h\9a\86\83\11\8c\r±\14\1fxé|\94\fëÇ\9cF]Xï×Ø{¿ßI\ 60ëàäNý´;²×áýo#ë\9e÷`ÐëñQ9õ\87Ýä¼~Ú\9a\1fò¹\9c\1dµoÆÔ=£Ù\ 2\10\f\86#\9aÍC\82x\93\9dLE\9e
+\12fNÖ¯dIW\93\9b)eZIãÝéì+lûÔéDÛVw\94ta}2[)GÙJ\14\1e\16\995^(\83\17Áªå
+\99©\85ÊH\99\85-sá\955I<jL\9da}T¯\9fôù¨[\91)ã­[m\9dþò£×!ÒÆÖ¿¤Kh¶ªJ\97nÈØ5­Ä\8b$\11
+ΩMSY¾pTBk9§_/>]S\8b\9c\94\19µº\83èw¶\92\eòÒyR\9eÄ\92\13ðô¨ÌÜ®\1d\8dÏ\9b»ßw³\80\8e\v8!!ä\9b\17H*UZù\r)ç*\8eëÂ\13ð#¯rIvAëRye\96ÍÚk§\17\81\vá¬\85#á    Q:@C\9dä,épb2ü<#oã;ª\8a¹ð\12.H¼\b¥Eª\91.\1ehQJI\88Ôh+æx²yp¾Åf-Ó\ 3¿Ná\9c§\13\8e\10å\ 1.\bq\81dCù
+%\1d°t\94JihYJáõ\86¤Y        \93Éy3¤\ fKt\87À'­\96­\85ú\ e\13e2]Íåüé4\94÷\15¸\17\1aÄ0\0é\ 5ÛZ\9cZmì×6\ 6¯òBË\1c$\vôp\1cÏE\81W3¡\9f\89Qv\12ø\b\882,\7f¼\9b|¦\d+#]\88é0ÅÚ ·ð\85\1aå²Ì\14\ e°Ø\1fÐu\92\8aÒΫÌ\ 3B­Á\9f\8d­\18ì²2\0\ 3Ø:PGe\b\99Û¡(ÁËý«\98\rpñöÀñ\9eÁ\15\ e@lkåWà'\89ù\1c\ 6A¸ª(lé¡0ß*U2þ&Tlg\eë¿\83\a\14{\ 3\ f\80?ðz'\ 1\1dÀ\8a幺xHèq\ 5VÅ~¶\8b\ 5B¡Ûé\8eÆul¨#ã ²g±D¢a\1fc\80@\80Ò\r\80\ føqë"Æ\ 3\9fo\8d\9bÑW\fà½2Õw0l/$\¯V*\1c\92u\eçeî\9eN_õá¶#VÞ\17ïÚíõz\9d\80w.AåÚ\9a\ fû\82Z\7fY+\93¬|®9\10\1fäã~Ú¥Øú»-\90\15\16ºVï,ÊÆï¨t&\fMX©\16jY\81\1f÷Óv\97\1eEYÐ\955Ff\9e\90ùþe?¶Y\144¦ã\16\b\9e\ 1\0òÏ\84\8a\17/"\84,\13Z¢í\84qkô\19@ö,\9bß \17Ì\8a\10S\8a\89c+\16_C5\12\99(­N\90¸Kª\17\91\18Ýþ[KY­ÛA\81Úk\ 4\1d 9ì¹Ká\14\8bÞ¦\19xm¸Ëý\8a\85\82#A\17@Ðßq\1e\98\7f¯U\90n\98ú\·\87ÀøZH\9fN\8e'\97·ô eyüt\1aÁÍêIÐ\1a&#\1e¨Hö©;\18R\ÝÎ\89°ØÚÖwvõÐ\9e<\80\19Ç\13â ÑS±\19þß±P²\ 6zàrr?%Ë\82\1f\1d5h^BuJv\887\97×\1f'ÿÑ\ f\ f¹Îx\ fÑ\ 4\83\ 1°BÌCÇ.T\89\8dêíR²,Æ~Ç/b¶\93- [¬ý5í¹´\82R-Ìóö\rX ¿\17\1a3\a5RQ     \98\8c[\96ÕÃ"\17¦\12:¡É"R\95%ZhÈó|\13¥\9agV\18sM¨²\8fe\aÙ×\ 2Â\ 5ºÕË!lྶ%Ä\14aEø\9b\ 4Iàµ\ 3¯\8d©Ôh\b\80HuêA\8f\81u}@\83\95\8e¼1\rí\8dÁë«¢\81Í\1a\90\9d\17ÐÂ\1aÁ\7f-\e 1ÖÓ\º¬Té\1e\9e\88E é×
+\ 5\88\10ã:\ 4kP\9fÃDæ6«v\13&¡©\17\10àÛ\87Ù4¹þ|ÝäëFöÌŹÿãÕC\ 3zPkÄû\8b\87i#xÜmmpK°L\1c`vw=\vD¼ÿtýaGDÄvüPZo3«Ý1\v<\92ã8y \ 3w\ 3\9dxá&µt|U\95%\1a\94Õ(x\ fS\11\16Ø\regÓÃûÄ>²+Lë¥$Så©,cØ\98Ï \v\8a\8c\eN¸#ÔW\vè6\8a\eÄh«\88ÁßaÍÀ;fu\9c(<\eeùtÂ*^\17      Øa\82\96¤-t\a´JA²(>,·¶\88³\ fU $h\80\11y=[ñ¢\94Î\85\ 1Ä>Üaí¢7ÀÄ¢É\9d\1eLß+ç\eM\96êxÇÄÉô8¹\9b\86)\1d{~+ Á \84|Ì$ằÄ}¸¹Â¥¯Ì\95±Ú.7û\9bËV®x\ 2¾\99\v|GÈ\ 5î\9bAOíþÖ\85\14ëû\19_WöbÉ1§PÒ%Ã\ e\888~H·$\8d\v\8aæÁò\93Vïs©C7\12.o\ 5f31u1&@\10\91\82'¡8í\9bÑþ2>\18¿\1aF!»\9fßàù¿\8eÁy7êu§\17¸{=;úóè\1f\fdendstream
+endobj
+1400 0 obj<</Type/Page/Parent 1119 0 R/Contents 1401 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 810 0 R>>endobj
+1401 0 obj<</Filter/FlateDecode/Length 1640      >>stream
+x\ 1­WÛnÛF\10}×W\füR\a\90\96"u±\1cÀ(ìDn\1dÄ\8ak©1\8aº(VäJbBrY.iE/ýö\9eÙ]Z²\ 2£}h\120¼ìÎ\9c9sffõW'¤>þ\86t\16Ñ`LqÞé\8b>Þ<_î\7fâ74\8eƸæ\14\rÏDä\9f2\9aw¢ñD\8c\9f¿\ eÇcqvðµ/&\13Øj/Õ\9a\rÓhp.B\1aNÎp?\1cã¶R´ê\84ý\10·£~\1f\16àç<\14#ÿÄ~ö\80ì\9d·4<ï\8bso)\825gh8\ 1ÄaÄNr\1a\8cÎÄÀ?yC48\8f¾ßÆÈÂÁ\18^\1d²g{W\8bNp}Ná\90\16+P5\9eà&±\fõi\11\9fþ¬·\14Ë\82n(ÖÅ*]7\0ñi\1eDô «\92\ 6ôxZè\9aÞé¢Pqýø¦ë>\86"êR\bdº¢H|£\95®Þ,¾túÔ\vÇb\ 2\a§s\99\8fü2¸\1eR\18:ï½è\8c?þ¦\eë´1\8aê\rè«\94¢Û4®´Ñ«\9a>^ÎèV\16r­Øz\14Ó»,UEÍ^\9cûU¥óÖß\0lÁäª.ß\ 6\ 1®"oí\88XçÁUcæ;\138\v&\80éÛË\99ø4\8f\ 2AsxÝÔvc,+\9d\89mZ\18Ñ<IQdÁß\99RÍ6Èd\91ËBlê<;\8cÒ{Í5èJ\v\0Ëe\9dê\82ðo\ 3Fk\8d·¦\96YF²HÈÅ\99\1a\8a\82n
+\92T4µÙ¨,ë\92JÒÚ\11\91f\8a\1e\1f\ 1ïóô\1e&ìËJëú(Ú$­\90\ e]íH¯ì\1a\9b²%\16R)«:µXسL\12û=K\veÞºtôé\9c³\11\8aá ¢^4\12\13ü\ f
+éèOÔ¿0ªnJ¡¾©Ö?ªá\95¥\85ª·_\11²0;ó\9fV?%I»v/\91\9eG5@\118TK\ 5v\15í \99\96R\96LËäeft\97\12]üP{\9a9!qÖ$*¡Ù4ê£\1d$Uú\ 4)-U,9\13à\1a©X6ëõNÐ\ 2\1c²=·´\ 5îÓ\v½Íæ\87&Xx´\97Z\9càÙʬl\96\816QÀ,èêkP$©        ,`%\13áxß\17ao\800\99ÇKD\ 6ï¸Ê\ 2¹ä[`3\8d2´Ý¨Â©ýñ\94?"\ 2\ 3\85=¾að\b\ 3¹5\10\91ãáµB{`#L]¢±v6]Ðç\9bé\ 3Wm[z'×,9\96Ê]\95¢Æ\¡Ð½2º©bEW\95Þ\1aU\9dt©Ðd\8b\9aðÈ`È°Ò!\8f\16\e\16:ZÊ\12\85\9d~\ 3Ðå\ eÎKYÇ\eT:\bü·\9a3Ü;\ 2ìµe\87\1c!?nû6EEÁn\9bá#×(\18I\99¬Á¢§\8bëâFÍÕ$!\16\8bÉ2§\9b\12¡c\81㽬ô2S¹é\92i\80\14ì\96\95âXÓbM\99Æe\ 5ª
+\99ûä\1cùÖË/(I\18F2\93J®×\bÜFËêz\80&ÊL\82Ï9W<÷\a~}Èçë"á\16\8düÝÐZ¡¼9K\88Ïk:ÑÛ"Ó2!V\1d\ 3\91N\18æ5e\§\95©»\14W
+t\815³aà1:\16pÿ~w\7f3[¼¿ÿü\a`J[.°\9f%=¬N$X\12\98\bå\8e\95å;²\87Ã\f\19§hA3\r˼ÿ\88)\8e\L/ÿ´|\1aÊ\eS\93©}f\8dB\ 3\ 3$dA[åÚ\94\17
+¨@Z«Z]¥ë´\90ÙsK°\8e»VÇ<¯bF\a        ú\8e¡\92#\b-\V#\96Ùî\89¾U«¼U3\ e\f¶Bo|\egгEKû\8aÙ³\[~|R¬R\v à¦kÑWdò%\1aD±²\15PA<H^\97Ð*ZS¹,é\82á\ 5×Ñ~N\86íXó\92s\vÚAzzÒºò#\82Ã'Sª8]¥®à^Z<m¥{d§Kì\9ecc]·Ãd\1f§}ëÅÊ$ñv\1eò\1e\9d§Ñ®B½¬t\96¡[ø13ÚGÓ\92\89þr¸åÂòprðêD\9c$ê)E\9d°Í\93ïÐ*±\16oéç;ú(Q\99\1fP\ f£\8ft\81\ 3Ã|zÿaº\10/¿x´­÷öÔ±\91O
+ªËê\94ëßy\87\feY\82:K(\1a\18\13ö\9d\16VV\91ºÈv\9el7;¬|\ e¢Øë\90\99=\b¨k©vâ\915ÔVbìk\14·/b»Ü\ e«#¢m\11ȸnP\9f»\97ë½ò\97\8d;AX,®öÉßð\bØ\eç  ÂU"\9fd\9a¹rþä\8e\1aFA«ÇÅâ\91vypZ\93ÜkX\800c\99â\1eoÒ¼\ 44nõIÂ\8dè(ô¶å1Íø\f\8aVÜƶ\9b\14½öÐðQä8P±¥\17\9cí[%N\93|¨í\r\86®Z\1fÒ\ 2\12+Ûs×\15\9a¼=\8e\1c\9e\81{\83>Ný\18¿¿â4Àã\ 2µ¼xw\17ÜÜ¡\ fÉø«ëÛÏçÑ\97*\847w\88åÍ\fíU\ 3Ï\aQJ\9dp¸{\1d"d\1e\1dÂc¥-`WÉ
+\84\1eâ2´A§Ï4¦\f¦\16\ e0Æ31ñ¥\16\8eñ£d2À!\1f?\aÆ#\ eq~y{u\89Ù®y:Ñ{\1d79\8eÒö°Êqá¼î¶ôÎú8\15&ÿßï\ 17Üìø\19ò¯¬Q\84DÁA8\18°ãé¢óKç\1f¾p,Jendstream
+endobj
+1402 0 obj<</Type/Page/Parent 1119 0 R/Contents 1403 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 813 0 R>>endobj
+1403 0 obj<</Filter/FlateDecode/Length 1639      >>stream
+x\ 1\95W[oÚH\14~ϯ8êK©\14Ìý\92\90\0©¢&\84\ 5\1aºR¤Õ`\8fa\1aÛãõ\8c\ 3üûýÎØ&)a\1fVQ\13Û3çþ\9dï\9cþsÑ¢&~Z4hS§O~|Ñô\9aÔow¼.u\87\ 3<·ñ/\93\14º\83î íõÏ\1dt\ 6ݳ\aPî5Ë_óo\17­nß\eP§Õö\86\14S»Ù\81òâ-¢\85³Ð\1e^áì\9ci¾{òýfyѸíR«EË\10\87\ 3Z\ 6Îb\93\96~íAù\996:´´\15\ 6ADR\18\19\90HH%~&c\99X\11Q\9en2\11\9aìVª\8c\96£YãnF\9dvýFYzÚ\8f)ÈÔ«Ì\8cGË­¤HXil¥\8e|¨[Ë/Ë_\17Mª·:^\e.ÔB\9d'\ 1é¤Ô\18Ú\94\8c²\92\84%<{qå\98çëø\92"íCg\0¯¨\91ÊL§æ`\1a;\95\ 4zg\1a\8e\94ß°~ªÒÆ.ÜÙNÛ\93{é|A]\9491\rwò4\80>ÏîaME\88l+qÓna=\90ÆÏÔZ\1aþHi¦×\91\8cù\ 5g;¾\15ª½\f<\9aÊ\9d\935\9cª(GzVwÓÅãè»7¾¿¿<1¹\9cÜO'KoòsrI+w©3ì_ÒÓôf鹧Õ\ 29-\1e\97óëÑd^^\86Ôby]¾\88$8Ñ\vùêØã£Æí\15µºE­ë\9d\16 \8aT\8fQVdÖKwQé±\b­Ì(\15Æìt\16\90¿\15ÉÆ\15è=VêmÆJm\15®6\14häC \f¹9Ð/½¦\9d²Û£\ 2\94ý\ e\9aQO\97%\15âµÐIñáx\8b\8b-!\ 6Ë\9cÙ<Q{Zë=éâ}6:\89\8d/\19\112\92ìV%\e\86_ QN÷PÄÄwÞÅ\ 5\97\12\18\14¨LúVg\87\ 2\96³\11\88\80¨4\12¸+Ö:·\94h{b\99Cq\ 6¡\8báa.i\8d\8bNØh\84±\91\964ðNÊ^\92\88"\r\8b\e\9c]CÏ\94!&\80H\95dW\1eà¿Ý/\8ar\17ºû\81N>\ 3sÜX\b\8c5Äâð.\97.ûÜ\88ñ\1aí\85Æ\f(7%6u\14\1cÕ_\92|\95èÚB«å#t¦ ¸p\12\9cNä©/\8f\80CBÎ\94\8bÑjt}t µI4\0/\8eV\9c\83\et:+ç\ 4"Å"Ò\e®ã\7fão¤\93Pmrh\82\897]\0]\10!o\ 5nß8ªÄÝÒµ$\92\ 2ó\99\ 6\ 1Å \12TO\ 41\1a.Üp\8b\97ü\ 1Â\ 1H\ 2e^è¹æþ\f\9f¿\90\ e\1d\18V·+êx @w`¤\ 5\18\80¢Äp\8c\1c\87=¤§ä4ù9»\9e\8eéúëóóõøán:ºý\86Þý\9b\80.\1f\16¿\9dL\98ö\90\8e  N\1f\10      \ 1k(\7fUÂyñi\86\18D|R\8b\a\91\88\8dÌ>Ñ'°É'z\90IÎPEÐUÈ\ e\\ 50\0-(¶\99\8eh«wÄq¹\14\ 2\r\15ÈÐ\88Jr \ 2¤ubkVuûHø®\9d¤õ\9d\97À\93kç¢\ e½rVÔÈH?Ï\94\1f\f¹¬8>C/#\8c\8cÂ\13n\ 2dýèM!ò¡²«\82·\9dñ\95Î^6\99ÎS\ 3N\ 6³ûPV2oåïZ"\97 \ 2Y4%WÌÍ!|ÉÐ\83\1eý`&9\1a=?nXo\1d*0c\18¾v«óÍÖ£ÑVú/®@&^cÔ$ás­\aì¨\ 46ca\15\93ÓÌT¶(BÓE¿GYcïL*}\15\1ehÇC\ 3L\98    \1f\9cp:\87\8c\88×\82\f\A·ÚìÀ\92Ç$@\16\88òÙ?¤õ­¹ÀÉ<Èë\9dnÁ#U2?_õ\1a\9f¯\86¿;Ã|3ÀÖÁ4ÎêrÃ%ªD®zô8y Å¼í2\10ê\8aÈ\8aé\88ÎCÚÁ :Æ\1e\10`úÂ%|Y8·\81ѵdmÀFP\11J5Ügn\8f éãr\ 2ÕÈ\ 1³2Ø\16\99\82ã\19\11\86àgG*:ñÝ\14\ 6\94*ë[\81ëk    ·Ëf}³S\91\11ìfÌ\10©$a²\18\ 4à:C¼Ä \8eð\9fÝ÷è/\90l\11Y(³\f\9fK8½íB+¹.\96\11nbt 'õÝê\82¶È \13\ 4)^\85\8a¸×ÞLk\ e'+\11 |â­È¡(|\97w\97/,\93Çið]f\89\8cè\87[K¾Ò÷ùôþÇlÌû\ 2Û®\83½°®\ 5µ\96\8e×ã\1e\1aܪýW\9aÝM¿\9d\13j\7f\14\9ac\14V¶ð<_\9e\93ë|\94+÷¾JôénvN°ûQp.«Y|´û4\1fÏÏI÷
+éz»÷\96\9eëÈèK\1en\ 5\80\1f\16ô\98Û{­_Ü\1c2¼³©ÌÕ\ 1µ¬¨\9d1÷x?)m`¦îKnÅ\93\9b²Æê´¨Vì(ñ\941ÃLÇLl\e\83\ 2\16\98=F%÷\ 2¸Ji×\12ü\11¬\82;\95S<¥«Q.à:¯\18
+øF³c¤ªPa#¶\f\11\19äé        ¸\Û\vß\97Æõj"-V´\17ÌqµÙ®u¶Õ0ÊÄ\a}¦d\85aIÙ­>þ72ìP¿×+vìÅõÃÍ5aòüâ6\ek?w\v=wC\ 1«R >h^ýÏE±Û\1fzý^»\84e§Ëú&Ë\8b?/þ\ 5¦x\18\ 3endstream
+endobj
+1404 0 obj<</Type/Page/Parent 1119 0 R/Contents 1405 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F6 9 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 816 0 R>>endobj
+1405 0 obj<</Filter/FlateDecode/Length 1210      >>stream
+x\ 1\85V]Sã6\14}ϯ¸³/\r3àÄ&_ì\f\ f\81,-3»\vÛd¦\ fM\1f\14[ÁZlɵl(ýõ=W\92\ 3xËB\86\80eݯsÏ=Òß\83\98ÆøÄ4OètFi9\18Gc¬\1c¾~ÿu0IâhFÓ\19\16©¤É|\1e-ÂSAkì_,°¿ûªïØ\98&É4\8a\98ãÿÙ<\9aS-iß÷\1dö&\93It\16ö&Øï¶^l\ 6£«3\8aç´Ù#ÁÙ"¦Mæò\1aÓ&\1dþ¡tf\1e-%cd»\96õ\83J%Ý\8aô\9e\92£Íw\98N(\86\ 5\9b\9e$s¤¿É\86\9b\µÀ¯\95\ f²\16\ 5    ­Í\93Щ´ô¨\9a\9c^{½M"ºÑ\92Ì\9e\1es\95ædtñD¢ª¤¨a\90KM­Uú\8e\ 4­E¹\13\1c\18áâÓ(áp\16\9a\1aC¹±\r¶â¡ªÍ^\15\b\87Õ~0J\v%ucIixìÞf¦\14JG´É\95%am[²u.\1a\1f\93\17¸\94å\ e±\90v\93\ e\8ei×6î\19
+Y¢à¢ BÝKÔdÒ´­IíI5ìP\9b&
+>\93Y4áb®5\99:óå\84Â\ eµØ6\ 5\82\16põ³Â¶C\a\1aÜ\93©Ð\80Æ\81\87\ 2èvu¹=:þ_\18Ë\16àåâAú¾NC_\87¤\e\12iA¶­*S7t\8e´ý\96®õC\12Y&3N\89\81`àÉæÜ\7fßÎÜ '\f¦¤Ú\88\92\93éj\8aè\9aÑ\ 3\16\1e\ e ¨åq\ fg\18jgÝõÊ\93ñ6      \9dô\10§¦¬
\90ÄΠ\ 5\üNºÂÑ\ 6ÎM8ô\9c£\10\9e¶Ã¥_\I­d¶=êE\16:£´\96¢\91T¶E£*xJM¥P\rº\8e&\1aM\99²÷p´ºù²¼þ\1a1û0Óñ1½^H\8eI6i\14EÛ£\bs\84\84\80\86-wQjô~;\9cþ\10º\14\9a*q\a8MM¥\ 1\98\99l\84*\10\99Á\0\¦j\94\ 1c\97\855\.û\ 4]áøç\1dì7¯\12µ(e\ 3Î=
+ËáJÁ\ 4\13tW\98\9d(z\90\ 6Ôµ,¤àÞVµB\9a\0Ù\r(%\11\7f\82eGí\r\14\85yä® \0\82\8e\ e\9e5\1f}\82c:c]\89£Éi\ 2m\99F\vüÅ\84Pøù34ñ¯.AhãË÷ݾJ@pÎi$ÿaú\8e\82Õ;F]Ó\ 5z{NãÙxü\8eA¦j\996¦~¢2ØÌßµyc°XÚÞ¨\ 5T̼:þ8\85'\1dRs\87\98×atHX\10\86IäH³k\1dô\1dSXþ\92{Z?ÏR ·£§\84Z©æ  Ì³i­*\94\17\1cÉCÇÜ\84\ 4A\ 6¥ÁTí'Þ\13ÂKÙ/\96Ö׫c\1c\a\99\9bO\ eâe\93×Y{1^N\9c1e%\98\16T\ 3/]àõòËÅr»u
+\ f\1f½°(µPÿÂÄ\8bk¦ö{\9cC\0ùP,´\85¥]Ýi¯V~D½Ã\88~\938 x|^\83&éCP\8eÌ\89Ä\87^X\9c\13\16sÚgû\ 5`SVì
+&;\9c²Õèê-Uõo\9f\ 5õ0eA«½ÄY  à8Aßµ\0\95@¾¶2Ú:\95\v¡^\9c\8fßZY?­C/WÏ­lj¡-4\14Ó\1e\84:\15\a¡\ e¾1ÑVBÿA\81½\80\ 2Òòòs\9f\ 3áÌ\f;zèð~¥Ó¢\ 5\87^CÀ\17\86pè½ì\ 3}¸ÂùF\97àPm
+\aöèjöâ\92\11l¾Þl>ÑG\7f\3©3\83λ\13Ï\9d±/n\r\90\9b\1dn1¬Na¬ÑOÓò\rÀI©\f¢ån\ f<(+w\15p\17    ëÚ:ºZ\84\ 4bܱÆ\8bS\9aLÁõÙ\94õÆ\91\92nkó\1d\ 2\0Û\147\að\9fµ\99\v>éLNæc\bZöÞ\8dj2[D³i\82û\14öƧSöñi3ø6ø\ f©\87\17½endstream
+endobj
+1406 0 obj<</Type/Page/Parent 1119 0 R/Contents 1407 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 825 0 R>>endobj
+1407 0 obj<</Filter/FlateDecode/Length 1680      >>stream
+x\ 1uWïoÛ6\10ýî¿âP`X
+$òoÇ)Pl+ºn\ 5öak\r\f\ 5ú\85\96Î\12\eJÔH*\8eÿû½#%ÇUR´\91-éx|w÷î\1dýßdN3ü\9bÓí\82\96\eÊëÉ,\9báÉùòé\8fÉby\97mi3_g\vªi¹ØdËþÎÐçÉz\95­h3[d3¼\9co7b\1aïäåö.[Ój¶J/ï¶X\99îä%6¡åÝ
+^WÛ[|\17\17\8eé0\99Ï\97ò
+^Vâs}\8beénX¶X\8bÅhÙ,Ûn\81|¸¸R í:\9b÷\96Ë5\1cÅ\1dÞíÆqÂzúá\8e\16\1d\90\90Íí\96vEÌ\ 3\9eäW\9f¸µ.覤w]é_ï¾MÄz~\9b¬o\96\12Å®¸úØ\ 4g\8b.\ fÚ6ÉhEóyo´¸Í6b´«\98¸VÚ\90*
+ÇÞÓÁ:Úw%°É.éÞ\aµ7\8cG\86\95gOÚ\93Wõ^ý\1a¯\99ue&X¾[£L[©ó\12\ 1\e$3bó\95íLA¥¥`\93«\9bÀyÕè\\99\v§ý*Ty%`ÿ\8eÛSP÷L\ 1À\83®q±ØD\15x\0T\a\r\98{F\fL'Û\91ïöµ\ e¤."Êè7ãí5µÉ\99g&} \18UÊS^©¦ä\ 2\919¦í\ 2õ\10ÿ5ÁôÈT«\13,Ó")\87`zJ\9d\11\94j´¯I\ 5òVà\ 2sör\
+¸¨°â¼îòJ>%\86\5òé<\9b\83D[±i)8\95ßÃøØ\f»fôYJ"µA=\9b\80?     ä\84à\v.\90ØÀŨ
+¥³]Kö@-[¤\83\8e\95¥\akº&0;ñ«q\ 5Þkò÷Ú\18Oª)\88\ fÈnð\19ý+\84ÈY? M\94£Zr\9e\98´·]\90\8c\ 6Ä.yB\ 4£\9d[ë½Þ\e\80\91\1d6°1ÖJÁ\9bJáWº¬\0C\12\98³ \84³d\1eq(\14ûQJ\17ëÌ@Ö\ 1 ½*ø\81\8d\8d¶<8\r#szuQ"A\18È0h\8eÅÑ_@0>\8c+ôÞRcÁ#ï;©¡¬êwF$\12h*<ª#_s[·Yël°¹5>óõ\9e\1a>ú>Ý1³1SÂ\10£ãz8D¢\8eÈò\bvä¶\ e\19}ì#í|ËyÌm\88´ l\84欥ð\11c\8co\8f
+(\0i\ eºì\9c\12\r8\e\ 2b#åÁ\ 2ð<H©Ñ\84\92\99\1d\ 1\90\80\12³¤¸\ 3äØ\ 2x\85\9a+ü}½\92<"qØ\12ôùú\9aÖ3H·\15\v¤\96\9d'\0HÙ>\aÜ·O\94\96\81×(æ8÷_Ð\ 3b\1aÛÃhé}KÆÚ{ø³]YÅ\94\v\13\9bð}V\95Ë+°Ó_\83ØZú @\91\91\a\84 äËs(\1ex\bzÅ>\1a\85\9eÂ>ò\9eZUBö\10c\15Bûf:=ë^ú6\8d\98Ç*\1c\ fnØ)Cº9ÄÌN?¼ Âï\92b%µ\8aÊ~©Xh\ 1\8b\ 6ô\15\8d"íA\96\13±sÖ¡\eÿ\92\84è¤\14ÈN\19¥0©·Ý?h\v\b\18E\19«\12Ø\98ØIñ\ e\8cF¬µ\1f\18\ 4)\11ù\82È\82³"\ 3®CÆØ\87V¹Z
+"ß¿\87(R,Ã$·\ eÕ\81ü\9d J\8fãêþ)\1d\8fý\92Ã
+\8aÔW´Ðªl¬×þ\17Ú\89´ãÿ\ 3»\13éZæ\92j\9eõhß ºÉMW0JæBT\8ds6Ð^¡J\18\9fTZØÓ\88\8aû\ eô@ ªA\17A,¥\19â\ 2~T¹°å(]/H!X<Êaa%/\89D\94\eá\97°Ez' hTÎKGò
+ó¶3Ð\1eqøc\ 6½gAkDÖúaÿ\ 2\83\10¼x\14K\99cª9¥R! L\94\18Gbó\9e¡±\ 2\16yJ\85\91F\10åD\97"ÁhåØc\8e\ f\9d\17;x\80\9aBz#£ÐÙ\92°Qø²õ\13çDŢؠ³ã\80\8cu\83
+\1c:\93Ñ{\86·â"]\83~©è"Æ)uëG0-#Ýæ3Â\99á\88e/l=x\18\ 4¥Å\83Öi\14\11Ã\9eú9\92\1c\97"\bqT\15\8c\11\912\91\8d\93¨\14bµiö\14Úß\93oUþlVïD*Se\8b§ÂÈj\ 16ý°îÏXW\17ѼM¯\86²]\9dû4=Ç\917\1eË®0(2i¸\91yF_.%ð \93\84J}\ 6@R\82\18¦8¸8·ô\19\90füÖ¡Mm#\93\1aâ\88O!æ=s\v\18á=¼$Ý`\98\fv\19!p0)\9e²°ó\9b\ 1ú\9d\1c(çÙj¹ \9bÅ:Ûâ\13'µ3\12zKóÙ\0\açááe<¨½¥içÝÔX\9cúz!5z\8fû2û©\1e-\1aÚú\ak\86Ôõ\v\9fTöfÀv\e1\ 2\9bð\97rÌUÄ\9aHMC0}\1d^DuÞ¡Ï\ZóTÓc\1c\86¯ú·¯D¯¤-\1a\85\ 3\ 3è\8cïCDý\19¸\97\89¨(Úc\8c!ÁÂ(\8cú~TÆ$µ2É\9b\13\rûCOë\1aUK\87Ã#\84ð:Ê,dªÆ!.Áz\81\85ÏH\98ºe\ 4*\91
\16É\8d\13W\19c\8fi3 äG\9c¬p$\84¾EQ)ôá\0õ­ç¼s:\0èÉ\a®1uÑ\85ñ\ 4Ôk\17qÈE"\a
+&¤Û§ß$øá²^®\85\7fá¬6Ûl³^à×\10\97\eYüûnòÏä\7fóÅ\85#endstream
+endobj
+1408 0 obj<</Type/Page/Parent 1119 0 R/Contents 1409 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1409 0 obj<</Filter/FlateDecode/Length 1659      >>stream
+x\ 1\95WÁn\e7\10½û+¦ºT\ 1bY²lÙ)Ð\83\83Ú\80\81&u\1dµ@\0_¸»Ü\15#.©\92\Ëúû¾\19îZ®l\1f\8a @Â%93oÞ\9bGýs4£)þÌèâ\94æ\v*Û£édJç\97óÉ%\9d]^àߧø\e4Õòát>\9b\9c½õavúéí\13go\1cø¼<:¹9£Ù\8c\965\82/./hY\11\ 2O§´,Ç­*WÆéÉ\87å\8f£)\1d\9f.\10rY\8d\97+M¼tr\83|åè8¶Å¤ô®ÎËÃ\8dcÒ.\85]^<\1fö\92õ\rYý¨-ýz¸ßD\8a;çÝ®õ]¤­I+J\88öæ5\95.ºæ\9d{ÒJ%Z©H\85Ö\8eº¨+2\8e¼­tà\90(f6\9f\9cr1\8f:Dã]$_Ó7Õ\16\8a\94Ãf>i\\ 3À\93\ 2\ 4\15Õ>P¡ÊõV\85*RéÛ\8dJ¦0Ö¤\1d\1f\1d\0 ÚX\1d\ f\11»\8a\ÆÿÀáQÙNs\16Æ\95A+Î\7fç;\0b-R*}¨HQ4\8d3µ)\95Kv7ìä¤3(ÈJ jxÉ8\14Ð"eï\86ä\ 6\ 4nPYëcz±Ûot\90½Q¶jGÎ'r\1ay ®N\89ï\\99\ 3*S\8eæ\13úªU@\1e
+)¢1À\bË\85¦\14\80\1a\9f\ e°\1f.B¦³éG\9cJ|`\13ôF\85\1erE\7f\7f'«B£éÑÛ®Õ\f7S¨RII-'7\9fh\ 6æ2\85\8fçg\99¤·.éà\94%\1d\82\ fñ¿Dc2_L\16ÜÿÛZJl4Ò£Ñí×åõý׫ßéúþþ\8fû\11µ:F\85È \ fð\ f\12W:L&á£\ 2o\84j\999\r0BÑ\9dÓO\e]&\94À-Rö ìí
+\1c¡Ð9\a\14't\9b¸Ñ\9bà\vU0~À·iÁxi\0Õª³|+\0´Ò¥R\a¦$væø\8aÑæ\ 4s\ e\ fãÎ\81\81Ò¸\83¸+õ\88ñÁ÷í \8dP\81Ê\03@q1é\96¢¯\13/=|èÏ\rz\aD,Â\ 1\8b\auð8Ñ\16\15\7fr\8c\86pó¹
+ôQ\95¢\12g\80CÁu\r\17 þr\ 5¶¡\f+Â@{c:HöÛ\97ÏÏ\aÀxm\1eó5\1csBË\95h£ö\f\1dòF
+\10ò\8e\95^w\96Ñ\10Ú1K+¿Åÿ\90?çf¥NÚXÖÔADHÍv\15z\8d~ôífdÁF\1fÒ \9a\ 1\93ïPc\ùÎr_¢ï«¡\95ßRò|&øª+Áþ}à\8fdjÚø\18\rÒ\98Ð\9dä@­Zó.\94Á:÷N8\90±ÑÕ[QY\8c\12²6 \85°Oa\1e±30­Ôf\ 3\1d\ 2\0\a\88bWT\ 6P&\ f  !Nm¿°\85\94µHa­õFØ~\80O\94éÈÊË3.7A\82"{¾MøÙ· yoeh¾n\ 4PE\a=7\8bÁæÁVyÁà\17\ eyr3XÅ\vÏiª"Ó\8d\vÊ»\ 6\97y±KU\15·\1c\18\ 4¿        F%t]¥\15²óù4ëH°BËøJ\9eQ=\8eº\85\14ó0¨¼û\99í\ 3ráM(\8dù´£QU<\8d\98\1d`ÃNŤcHÙ\96\1aÌE.\8f\17 \82\96ã\8e\ 4â\11çÒ\80Í,ô\84Ñ(L\95¡\96[ÀG\ 6ªú²ì\ 2\9a\89Ì29\ fÂ
+o\ 6²¶\90Ó!aú\82Ö\8e\1c\98\13£nyÌXå\9a\8eG\eâ9Æ\1fd©LÄ÷Ñ@\8eà;ÌyMïçE\ fcpÚ$ö©WÓÝ\9a"( 6\\93\ 3I\bN!\83³ÿ\b\7f\1dÌÜôðA&\1ec\ e´¶>¬     ¹\90~R%[Ýë\84@ÀBÞ\19 ÃàkÖûµ°!I\e"\90ô\9d\13\82\94¾\82\ 2¯\1fQ9òÏ\ 4ä\963N{\88$aL\85NÎôXóÈÉ\8dÞ\ f\87\83®ôÆ\97\85 \1dyÓ¡®\12Ú\ fÖ4\£\1aü\80{_b~¿æxoX\7f±\93§Î\81Ü\80"z\fãÎ\99'\1d¹\19\ e|\ fÉ\94\1d\f3\7fãÙé\12Yãº'ZÃ\12µ\8d\80\17SAø\89ÉÕµ\e\84ßO\10 Â\1cL*®ù     uX\1cܾA\93:S!`\1eåâ\ 3\95G
+2\8a\1f>\88¼E\bÃ\e\ e\r\8aH\9b©ÕÛ\r£^Ê\0íÛ¬\ 4\ f\ 6\83Ã÷öx\10½\a\aÚbÜFÏSáîö·QO\v¾\97Ý\1cKÏ.\ 5¡¥.få\8a.G¥è\10OV0\1c/-Ög\9f\0ÌAXNH\0\12°rpY³\ 6àʽ{Ý÷¶Pª\ 4\97ã]{\vGˬÐ-3\18ÃïYá¹ßo<dîø\1eý>\1f\96\88Ph<ß\ 6|÷¼\14s\84\80Å$z{\8bèum\9e~\1af]Ô(\1domÌI\ eÓ[#\83\943\1a\18^Q×tÜååaø\8eyÆã]Ùëè\9d×5·]\8eÇnÃn\8ay\91>\92\a8ak0&ß\8dV\9e\1d\84\9bÐ\176L\88YÌ*dç`#CrªÁÃ\bH\80Í0Wy\12ðÛ¾\9fg|Ó\8bñ\10ñ\9e\83Asç-è\ 2\19\89ú÷3\ 6Eõ?\ e¤eÈ1ûñÉÍeÿSf¶Àï²Ë9-Î\17øÍ\85Çä·«/\9f¯è.ø\1f°YúÍ\97x®ö\ f9\8e~<\1c\98~\92ÇçëGêÙâr²8?ÅS\16÷Íæ\17|îzyôçÑ¿\r³\8b©endstream
+endobj
+1410 0 obj<</Type/Page/Parent 1119 0 R/Contents 1411 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1411 0 obj<</Filter/FlateDecode/Length 1344      >>stream
+x\ 1\85VÛnÛF\10}÷W\fôR\17\88©«%Ù@\1e\94XN\ 4Ø\92k2M\83¢\ f+r)nMr\99\8aþ¾gvÉÄa\f\14\86m\89;;\973gÎðëÙ\98\19ÓbBÓ9ÅÅÙ(\18Ñìê*XÒl¹Àç     ~\8d¤\14\aË%ýøc\ eø2¢éh\11\µ¦³y0îlGp\et\7fZÛñ|\11L\7fu\v'\97Á¢ÿü]t6¼½¢É\88¢\14\19Î\17K\8a\12ç\13Oâó\e%\ e¥¶ª<ÐI7\86¬(ö\82¬4ÏÒü\1eýëî\8e\17þîÅt\16Lpû|SÖF'M\+]z£\19\8dÇ­Ñd\11ÌÙ(Ê\94¥Tå\92b]ÖB\95\96\ 4åÊÖ¤Sª¥­-G¤X\94TI\93jSP­éYä*\11µôÙ\84/²   hS\93È­Æå<÷\97\8f\99¨©Î$ü>ÉüĹ\8cèb<õiÆ¢±ÒE\83Eeô>\97\ 5!)\95\92ª)\15
+^Dy"]vV0·µ¬,b9\9bJX+a\94ç\1c\ 5§>o|.Ù\ 5|±[±ÏOtÔæ        (öRHU)\83öÙd\1eÌ\18\98/¨ÚfºÉ\13J4­îî\\ 5Îó\eR¥û¦M"Ñ\8cL\1fË\80>KÊÄ3\82\e%\13\ 6)\16F¦M\8e¨q¦5§\95¡2 \93\ 39Ó&©Ë_\0a8bQ\89½ÊU­P\18\9a¬RvÚ\86\95ÂäªóÐÏ\e\90pì,\93\17\90µ\8c)\80&\93\88\ę\92ä'8<ñÓ\ 1ÀJ´´åoµ\ 3j\0\8bÄys\85\95\1aíÐy®\8f\\1fxÓC\91±a¤c\994\98!\a¿KÅ£È×÷è\c*£,\àÌ´  p»Ap#\13W\ e\8fÂK:»\86¬¬m\8a\8aÉì\ 2\ fo_aó¦t,`ê\82L\9e\ 6\9e\ 1 HSø ¾M\82\16\80ç9\8eßm>\84ëÇ?×\8f®tA\ fï»\93Õû»Íz\eÑ^×Y¯p´\85yu0º©(Z\87Ñ\87Çݧ\87~c"Oï\16\1dTlU¡ra\80©!8å\86\9e\eÙÇèoYÛ¾\8b\8d\9b®\97õ<\95úè
+.Eáf\ 4\8d\15Ïh,(\ fÀ3ð\90©ãð¶Å>À¤§\98\1d:*L\8cwäúÙ\99Ú¶æ^\99\83º¨\ 6\ 1}iå@$    ¤Â=l/òxÓþD8a:q\v<_Ü7M]ìkv<¼\1dÑ\15\8bÑ8\98M't1¹\f\96ø\8fÉû\eqþébC\82ù\19Ô©(\0       ½EW\8bJ\eaNN¶,õ-+Qg0\eÂKÿÈHÁC\81\89|K'Ù£ÑE\97ÈÂ%ÄÚøq\1d®]CCZ\85á§û5\81\19áf·¥iÀë`÷Hw«\bdÙÝ\12\8c)\Ý¿[Qøi\13­\ 3
+w°\7f¿»¿_moÂ.\93VóÂ\8f»Ï[ºÙÜÐv\17Ñú¯M\18ÑfKëÕ#HöØEénu\92ô\90K\ 1\ 4 ®k \81Y`¡a ¥1 Q!­\15\ap\88çÎÈXªgéT\92\ 5ô'\13\9c\ 2E\88@Íâì©áÖ        Ëå^¢c½\94\9b2\85°\95    Àcç­4¦Ê`èãLÆOß=Ñæ\81\1c\13\8d´:o\\96p\1ak\83\8cjÜ·²¦¦
+H\1e®é^\80\ 4¿Jz1\87²\8e\87Î˳#­_T\95V\98\r.ÜEñ[°-\ 4\1d\85bËoиþ\0­°\98 Þ^"aÄ\9aä´íf\e¶ë\94D\1c\ 3E7\95ý**ß\80\17å2ô(§\ 6
+#Ù«¢£½Ï\1eå49ÒÇ@\ e\12l[\bæ7æc©1[\11ÜíYF\8fè1¯\90\16XÖG\8by\ 5³\a¬j\95À\1eîü\ e8Þ«\92\19ñþþ~
+\15åw\8b\8bé¨]ý\1c\8f\7fÒR\1e8()×\96\99Æ°±Èe*Î|÷ñ¨]þ]\16®º7d\1a\7f\91ç\95·Ç+évk»c ¸ÙCÌ1\95;\8a\ 5î©Ùª\16¿¤¤êÐ\18áXåÞ[\0L*\0é©ßì­®å5Ë\15VtwßÝ(\0.6Q®c,bÞª×NDX\91üûѹ#\9e{Éú\19\9e\99\ek\86ì/\1fº[Ã\íýÍå\8fW.¼0^N/\19Üÿ{\9d\9bÍ\97Áür\82fÁx<]²«utöÇÙ\7fâ\bZÙendstream
+endobj
+1412 0 obj<</Type/Page/Parent 1119 0 R/Contents 1413 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1413 0 obj<</Filter/FlateDecode/Length 1651      >>stream
+x\ 1½WMOãH\10½ó+J¾,#\11ç\vB\18i\ eÀ0+$\96e\87\91¸´ívÒ\83íÎtÛ$ù÷ûªÚ&ÁÌîÜ\16DBìvwÕ{õ^U~\1c\8di\84ß1\9dOh:£´<\1aÅ#:\e\8dñz:?Çë\ 4\7fNS\8e\eó9í_Ü\12\1fðäì,\1e·K§gñ´[;"<}Ñíq\1a\9f\85\eW\v>\0G¾¾`\9fá\97\v\1a\9fÒ"G$³9þÉäþ\88\16éñBû\9a&\1f\16ß\8f\86_Ni<\ e«\ 6\93s¬:þÚTT¯4¥¶,U\95Q´6Õ\92®n\7f\7f¼ùú÷Í×\88rgKYñpMû\ 5\97×w·7÷\8b\83ÛMe¶\94ØmL·9ílC\99­~«i©k>yD\83ñ4\9eð\89\8a^Ta2$ã׶ò\9a7¯ø G\8bë\87áí\ 3y\9b×\e\ 5Ä\8c§ÊÖ\88Í9\9dÖÅ\8eLåkU\14:\8bÛM'³\98\93=¾·5o¤j9zc\8a\82*­3ª-á W\93¢(³\9eÖÈf]G´1Uf7dCòH\r\v\1d àìû{·ù \13ìRjïÕR\93W;\ 6*ZY\80ËA涩²\88¬#oJS(w\90×çûÇ}RX1Ôu:ä'=å¦èòìá´ÏÚëºY\ 3×\9a\ 1Y[ïM\82\87Ú\88½*\13\85\95mjâ\93tU;£±5Nbj½v/Ú     yiap÷\84\12,½%å}Sê\96¬Þé+õÂE!À¿ÛÑéR\ 1@ljs>\82ID\91ù>r\97\0f\85UN+\ f¨7«\9d\0L¥Y®\80\982\ 5gd¤^\1c    \94ø\f\1e*Æ67NoÀö+t1}C]½!×éBm9\84^ø®)\80\0 *À\9a    ,o¬{F1Ô\ 6¡àÒ\8f\ 6!ãÿ\13Zk·RkOÉ\8ep\9cEm,I¥)\98\ eÕ¯Ú4|\93TØîé\18\eÜ\99ªá\839~ß;\1c\95¯éÅ(A߬ó\8dÊJ®¼¥Seüô\81W\1fêu0\1d\87"\16¡NÃí_\vÕ\97\93\ 6w\87\82mkz¯G\ 6Í£:\8a\8cÕ\88\1a.\fj\16Ì©\170 ¸\96ü
+rë§\91¨ô¹Ïè\e-hçPb\9d"R[Õ¨
+\ 6\ e\ 2¹R\19­Qi@\1fòÀ\1dÑ:Ã\91àè\1dI¡i\94¯\94(\88i\8b®\87©\bÍ\a\93 ;O\99®v¢¹(xJ\83\11\12\ 4\ 1 XL\ 5\88-?amÊ\95%3Ï\fC²¢)Ö¯l\10ÓõJ§Ï½³7­¯8z÷dã%I®þµre$*«u¹¶N9\83ô \15\v%©j×Å,%ÖK\ 1   Éù½\83Ût\10wdªw\19¾\93Û\er"ä\Á5¹Ú\9dα\15à\7fë¹BS\99d\9dC\94j'V\96èN\83¯fþj¼dXO½8\ 1w\9d     È?!Xg¦f'f\10\83Ûu\14\17»\9fï¯À3e
\89p+J\99\94°\ 3\1fß/ÔÖ0N\82Åí×r~\88,1Ö\ f¼\87¹[4\ 2\16l\85ýïn\1f\177÷Ü\1dÐ9Z\1a±\98?Ó@EÿYø\91\877\ 4`ÅEÄÊ\18_)o\815xn\v<_\87\99v|HÖH\ 4=ÄS\ 4y¢g\84õ\a\9d¯\aq¢¹Ð\9a*\87µWY\81ª\97³\fZÈ«\94\12\9d*ð,\86.²ê\8a¦kî¢\vÔ©*u\r¡Hw\ 4ÿ¢\fÕõ­ÞÁ¹BÇ\953
+]J\9f\91l ôÚà\86t×fÍv\ 2¡e1]\16Þ¶\84\89ØXz\86Í\1c6ótÜ\89ñé\83´'¿\83glI\8cÄËæ½Ó£\9e²¸\88\18Ì\17¨Ë60\0ô\88´¶Òï6°\10nÌÜ\ f\9fµ\86¡3:\85\85\99c°),J\88£ð¤·0À>Á\vy\9a§\ eEUS&¡¹\85Î\15zéfeÒ\95dI¬\94À-\9bJ¦aÄp\1c@ø¶.b®Tò\88À\14 \9cmÞK\10É\801\10e\vØ\ 47\ e¶T\8b0Bk\ 5L]Kê°\vX¶]þ#ï7ü2¢\v\1eëÐH¦\13\1aLÎâ9Þ1\17\13\86\r¶KúD\97ww]\14\18Fß/\13\87ºív\e\1fü\r\7fy,Á0\80\1cPS¹BÛD\1ap¾Oô-´\94ýÔ9èâ;\978\11ßmhÍ*\81I\9eÀ|\82Á«*Õh\fèÈ\1aí¢T\19\86gÀÂ&ÚC\185Ì%!3\81jj[¢½§\88\7fGµS\95/XÜ\98\ 2\80r\17z;\85\16Ö®¹Á\91ÊÔ\1a\ 5\84÷\fîèi<ÁÈ\8eß1ÈÃð(´H\9bg\99±\ 4Ò\95ª0\0\ 6â\98wÖÑÿK\83\ 4\19\88ïæ\84÷Ð~¶tÿç\ 2Ö&±Rô3\92"´æÖ\r0\9d±| Y©î\8dñ+F®{<Ȫkä-\b=LA¾)L½\13?iÕø:¤HsiGòv¸\82$ÙA`}\ 6|3Ã\15\9c\89\9b\94-\1ai\¸Ä\97ÃB¾Þ¸´ÏäÞW}\f\87¹Ç7\81\8fâ\11¿Ì8Ó¹Ia§é®M\1e\9e\1c¦KÌ\ 3A\ 4\a\9b\1fÔÑð˼ý\1e5\9e¡ZæS\9a\9d\8fãó)Kéñò\8f«Kzpö;\8c\89\14#6L\8eÓa¸\ 6Ý\13\83ó\11$\9b\1d|;;\9dÍãÙÙ\ 4ßàpy<½àå7\8b£¿\8eþ\ 1[H¥\1fendstream
+endobj
+1414 0 obj<</Type/Page/Parent 1119 0 R/Contents 1415 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1415 0 obj<</Filter/FlateDecode/Length 1410      >>stream
+x\ 1\85VkOã8\14ýί¸Ë\17\98\15\r}Qè~ã¹BÚa»\10­´\12\12r\12§ñ\90Ø\1dۡÿßsí´t2Ì \84Ô¦ñ}\9c{Îñýº7¢!þFt:¦É\8còfo\98\féät\98Ìhzv\8aÏcü[Ieøa:\9a'gïý0\9e\9f$Ó÷~\98Ìq¾\17é"Ý;¾\99ÒhDi\89ä³³SJ\vBâá\90Òü°6f\95\89ü\99DQXé\1c­U]S\86\1aÔ7Y\903F?~J>¥_ö\864\18Ï\907-\ eϵñ\95´\94\9b¦1\9arÑ:I¦$<Ä\a¿6$­5Ö\91rT\89\17¥\97\bÔH_ñ'Q[)\8aW²­Öü\1d\ 1VÆz\1aMæGäÚ¼"áèA4\99è²\8e\98³>\1e\a¹&+8îæxiMCJK_l"?~"cw\12ÖêYÒ\95Z*/ê\ 3G\v᫵±Ï.¡ËJ¢óWÓÚ\18\8d.Ñy-{©3Y\1aÌÅÛW®Ø\er^ äP\vª\15T\b      $\8eHy ¡I¼\18\85z¨6\9eq)më¼\15^\19ýÛ\ fP\16ô*=\89\ eÒ\95qNeµì@EZ*\85ª[dG ôú!¥   ·¿®¤f¼\81X\86æ©\11\ e\ 5\1d\995¢È\85CÜ8Ö^?Nz\8fNP9â*\9d\ekeî\13ZÔR`\82yÀÅWÂ\87\14\88Ï\80áE/m)rI·\v:ïørL\17ÛdoÏ\1ebU\9fQÕ¯Rw\89Cá!]\98;8ãÀ­PSýJ@\ 6L\8cÜR±éÚ,\13ÝdaT\81\9cÇ7s\1a\81\9bLñÁd\14i\9aJ\00åü»
+\18\8cY\ 1\87÷m\fÅ\1cfÜö\11\ fbxnW4¸ \8bÛ?\1f®ïÿ½¾§§§\87óÏ\17çOOû     ýgZr\95\82\96À\9cá\a\12\eå`>L¥^¿±#'í\v\ 4ÃJë\8bé6\1c£Âè\83\10R\13*     \14ß\ e\ 6 (\rÊÕµ,~ÆZ\15Ã@\16L 
+Ôgå\11óa3Ê^m\91µ»jb$jå¼\fÒ\ 4ÑÛbµ\91çi¿ò¿5¨\12-`e\rH\v\98\v\90rͬJÕ¬ð\8bÔ>ð\1f\83\15¡Q\ 1Q\86·VÂ
+x\83\84
+\18ÓÍHj\ 4Hè¶ìU\r\e  Î\12^eºâ\ 3L\b®â%4g´\1cðIr¹U+\86\144\86°½\0\86!¾UËÊÓN^î\9a\81\v¯¾\19Ê\aÌ:ù      ³b¤m\eñ­\93Î\81\ fyºo<;¿üëöú.¥\83ß\ f~\8cÖ¹í;¬[\º]æ\ 5Z\ 1(æß.\91\ 2\ 2ö°ÃÒ¯Yí\1dÆ\8b\8a\a±%V\ få­þ\ 2\81â»Áõd\11\9epª%ì\8dsh\f°ó\7fBàµ5zÙ'\vªÛ4[\18\19Rã¾1õ\8b¤\17%èêî\81Ciâ«\84c~/¬\9dN:\v\10\99ÁQ\ f\89\7f0¦Ù\8fÀ¾g\0¿\18SAã_\ e(eBz\ 5\fÖ àÎ=\816\1cC\ 3\ 6VV¾(Óâ\v\eSÖÂ\9dß^\86h\19\a±ãÝ\90\1f\1f+d)Ú\1a\a6>Û\9bTç?       \9d\93n\9b\f6\ 3\93>SÆ\1d§\97\v Y\19ç·òÚØyçd\98ÂÊh\f\1eÞ¶¬âå\vq\ 6ë\85^=ßÉuÝK\8b$\]<î$$\19Õ\8b°¸\1a\ 3\1cè)\9a        îÚ\1d\16;)i\9f¹#`-Ny\85A\ 6
+}m¥Åb\10
+rr\9f\1a,$b)]/sP¨\930TQÇÖÞ![p\89\rÓ\96\9cB\90S\8dª\85å\f\fh\87ï÷cAOÁ\81;\8dFâoÅÀ¾Ï7g\\1a>\98\bð±\ 1P\ 5ðEëM\ 3\vÌÑU^  ­\\ 3ocÈ@\1e\Õ2\88·\9b\89ü¶\92\16\84\82p7zØßÞ¾n\9fÌ\8aw        ÞC\ 6\vIÜaÐ\1a̵ÅÔ^ÙûJµä\r\ 2\9aµ;Â:z£T¸\81A\f^#Þ\ 13\1c\84²Ù(»«\fÔeûèì$м[E\ 2\82l\ fa\95Ô\92/o\$\9d®q¹vÕã!ö\90\ f\81\8cJ\bþÜñ\8e-0&ì×\eåÈ\12\v\ 5ðÕ$2àÀ{\14Åk\12ëaomÚV°½ÎY\9bX=\0\1c=\1eÞË\12êBÝÝ\1eÆ\9bI\9f\9cÁ\97º\95ùø欳ýÑ\fëýÙ\84f'ó¸Ì\86¥\82\16Ö|ÁâEW&o·W$Ït°908\1dÎy]yÛe¦³³dv2Æ¢\83Ç£é\90_¿N÷þÙû\1f¨¢ú9endstream
+endobj
+1416 0 obj<</Type/Page/Parent 1119 0 R/Contents 1417 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>>>endobj
+1417 0 obj<</Filter/FlateDecode/Length 1706      >>stream
+x\ 1}WÛnÛF\10}÷W\f\b\14U\80H²äk\824@\92&\85\81&qcµE\0¿¬È¥¸1¹Ëì\92\92õ÷=3\J\94\12×\86\ 1\9dË\993g\86ßOft\8aß\19]Íéì\92ÒêätrJgçóÉ%\9d__áó\1c\7f^S~òvq2ýð\82fç´Èqåò\1a\1f2ÂñÓSZ¤£\85\ e\r]=[|és\9aͺSãù\15N\8d¾´\96\9aBSêªJÙ¬;u\11O\8d(TË´4Ú64\9d¾½ùãîý\97\7fÞ\7f\99.>Þ\1e\9a\eMè«k)\14®-3¶gi©©ö®ª\e\9dQî<)ªU\b\eç39Ë÷Oi<;\9bÌ9\8c\rZ¢é\8f\92Ëå\7f\95¦®E\10[8Qȹt«\15ì\1aÛ8yÞZóHK÷H\eÓ\14\13ºÉåäFá
+\9f`\0ø   )ë\10\9c?rÞ[\97¸U&    Ðøoz\1d\1fXUéWäêÆ8\80ÕyÔ6ë\83\8bÐQi¬\9e\90^½|\12Ä#¿ÓéÒ¬\82ökí§MUÃå7WØÌéÎÀ°V\97\13®éè\93kôKºiÈ\ 4ª]\bfY\ 20G¡Ö©É·\87Ø©ÒÙU\977W\18ØzÎ\84T@AÊÒmÂÓ\91¢Ü\a±\1d\8bô\97 S¯\9b'\ 3þlS-µ\0\85´?\8c\8f\8b\19ë¾Ò(\14bLÀ·×I$ή\8e\99³¿Ês\8b»\aRÝaí=xUé\10Ô
+ÀßäGA\9a\86\82Ú\ 6J\8c]«Òddu\ 3þ=\10£\90°¿\8eú\\ 1\830\13Ô adA\12ô\83÷:mÊ-\ 5Ý´5¨Æixn\88Iêl>\89Îæ±2 ÜÎßRe;²\ fü\94æAÃ^ªP\89À4\16øÑÛãÞ\b#R¨µ\ 6,*s\e1\82\86       t?B¦Á¡xÂß\9du
+ÛÐèêþ\19\862\931PàcmÀ\v\84\1cÚºv¾\91\ 6\15¾ã¸ÇÃΫ\96Òõc\b\8d³  ñ1|3\fÍSÒáÈL
+       üØܬZ¯¤/\80\9b±\11\81Û\90\9fl4ß\eëíïòTT\99G4rªÐø»¦\87\ e g\18
+NH[\ 5\9ewm\99ìN\95z­Ë¤oKpBQaVE¬KïJ[×®
+\92Ã}Xý³³}d}\ 5\84\84µ\82\96HC\v\8a±æÌ\8d]\8e\13zWèô\81«.ÒÂ"S+_õN$÷ó½\87Þ)çÞ'´ËEÛÔo;}\19\16ÒkÕt\82x÷ñ-nÉ!\0±»\97£Î\a\ e/:\87ãùžtÒ\83(\96\ 5\9fq\99\ 3\88m\a\8dfdYAzå\8db\16ØêôÃ~\10\13wiÝ\1e\88t\93Nh±­£líï\14º¬éu´øª³Ø\8bÚ\889É_\r¨hlh|\9b2\9dÂÁ@Ñ¢oªäî\11Ð\9b"j\80ªd.`Lä^kt@x\80\18*t3RÜX®Xä$m¸ß9ùæ\87P\a1 Ï£@¥Ó\87óu|6ëÔX\ 6ëõáq\98ê\ 6ëçN\nß\89?Q·\88Dwa\ f\13d\89ÖFoè\1e?»!{h6\ eØ\8d)KÈ\18÷\82£\8c'\11\12Ì1f\85\83hxEIæ0\edò&lc\90ÛÆ`¸l\ e\90å\92.\15h¬ÀvLI\0©ÖÊ\94B\v¨\90\87RñÐ\836w\83ê'ºÇ\98²\1dø\1e*¬Èh\8eòdhR¨\97©`ÖS§Ú"¾8½4\88\12<¹²í¥\84%\98µÚØ\15¸ÅY\1a¡ä \9b\1d#XO3Zn\11\0ò\ 6\9fYæÈB×pÕ\91Ãx\ 5òÐÃn\7fÀ&\81\1d\ 5à9\v9íö\8bn\1eÂ\19\94\96Óq\16T\8b8\1f\81\98\16ÎA¬ö\97¡¾?\byn\1e13\185\ e\ 3á\84\ 6±\8aP²9ÖZÑ\87\81ÐöúÐï\1f\84\8f@\ 5\ 5ÈiG\8b~ÿHPÌ\10k\92Èê\83\9cÙ¡ÊÖ
+C\17\fIë©©ãø\8a5¼}'õÛùÿ\896wÚ\ 4>1W~¬ÍÚ(úýÓ\1d#|à\r{\80Ô.\ 2:t~\90ñ@s\87\19\1fä\87
+x*«Â\85\ 6ìæQöDøQ^\ fÔ.î~\91\90?\1fý c2\1cÒ\1d)\a£:ð\9e\84\9c®kp\ 1;\13ÒÝò\88í\87é\11/xu\89«òøO\98â\9dS-A>l&\16\8aí\e\93¶h\80çT©\atS\8b5V\12Mº<Á\ f·égÎ^µîG\ 1ºÆPc=\87\99\95\ e÷Ï¢ë~h½)\83\8cæ®aºË\96$\1a\99«\94\97%¨¥È\1fÛá¶\ 2\1d¥Z^\7fo\11¨$Çó\9cGÄ`É\ 5\fK\15\rº²<J[5Ø?jøpý}\8c\12n$v%\8d-ÓqS\98´\10õ\8d«»ãÕ]òÿ72­Ri!\eôW4`¯q\8cÕ\91GANR\ 2 ýê®\1f¡^"Ubón\18x7\9e\19\ 3ýÈpHq»M\18\8bF?KÿGØ\92n½6h*\b      & 6Y(\12£\8d\1dQ\9b5çÛCy v\90\1c\96$¨é\16\8bªBÇî&\17W=Z9J\10uh\10§H0·\ezIj\80\1d\15c±Û:\0\1eóÂtòÕÛò­µ\82=nl<\98\8b=í9^z @9ÖG\16\14ü\87E¢ñÛØÁì{úá:¾ðÍ.ñby}F\97W×¼ºÝ½ùøö\rÝz÷\r¼ ß]ÚV¸;\90±x||uú\82ÏË@\947ÍóËëÉåÅ<ªÜù\8cݼ_\9cüuò\1f0_¹½endstream
+endobj
+1418 0 obj<</Type/Page/Parent 1119 0 R/Contents 1419 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 7 0 R/F5 8 0 R/F8 11 0 R/F9 12 0 R>>/XObject<<>>>>/Annots 830 0 R>>endobj
+1419 0 obj<</Filter/FlateDecode/Length 1557      >>stream
+x\ 1\8dWÛnÛF\10}×WLõ\12\ 5\88hQ\96%9\80Ñ:\8dmøÁ®k+\r\8aª\bVäRbBî²\Ò\8aþ¾gf©\eí^\12D¡Hî\99Û\993£¿:!\rð7¤É\90\14å\9dA0 ñd\1c\fi4\9dàz\88\7f¥¦D\1e\8c¦gÁôµ\a§£éë'\86á \18¿r\ 2V\83AóñxÓ9\1fâx8:ÃgNád
++þ[FO\9dp\1cÂ\89ð\94]Éi8\1e\a\93æ\e?ý0ë\9c\\8f(\fi\96 \94ñtB³XÐ\a4\8bz+ë*\17¨,³kJÒ\f\91Ø\926¶.)ÊRm*\9a÷pÃÕ\v£«w¤«(\98¿};û
+Ìs¸à1û§a\80˸7Ó®¢sÿxo²?d\93½ÇÚPµÒ\14Ù<W&öo\9d5\8eõ\bøT;MßßÓ\1c\7f>ÜÞ<]=þvõ8\9fÏî\1e\8e!{\ 1ýnkr+[g1-4\15¥Í\8bJÇâ¼¢B9·¶eÌæ\f\aÓ¼Ê(\ 3ê\87§H#\1cZ¢¢nã\ fûUd\9aQ\\1dEÚ¹¤Î²M\97r\ª¥\ eè6!c«\1dhI\ f?\93³IµV @ê(5\91-K\1d\ 6×®BR\ 1\96YI®Ë\17AdMrt. \}Ó0\ f<y«+Õ!©N\97\90\b        ¥ÁÉtIYj4\9b¥\1d\1a{Ò8\114f\87c_\9bÛê\8d\ 3\92³TXçÒ\ 5J]­\94\84CN\97Ï\f«Ì\9b\8a\90¹odk\ðc\94¤$£r¼mÙ®A|\92\ 2\9aY\1cEì      8\ 1\8e\93ÃÕ\0
+[ÅR\ fq\9aº\ 2{A\9fPãûË»«.£óÙ?ª¼ø\13 Q\95ZC6Ù\87¶Fà\9aºû\13\8d5FbÿZæ$\v®°&NÍr\8b¾#\ 6s¢Ú\14:\96ªò·$Ev%\8a\8e¬âÒ,\9dD\9a«\rØ\89\83[s(UQà\95\96Y[°ã/sOyº\\81n\9c\7f\10\96\91"\ 5¶K       ¤ÖM»Y\ 3ö8mbGÚDåFh½õ\e\ 5\84\97ìîJ=KÄ'×û\ ejÞßÑßÑEË;cùÆ^\ ezL\1e\7f\v\ 2"
+ÑÛr©õ&\8a]\97\86Ò\8a\16*\ 2?ÐË\16Iû.¡þ³\18\84\83c\1c´ßÿS\83|\91Yû­.¨\7fG³«§ÙÍã/\9fÚ2\0\862'v\8f·\ 4\14º\82;\9cefó²´\0âT³3\a
\89\7fRùBm[\80óû\19T°k\87öv¨Uf\85?G\92ÃÊ!i`\v·\ f\ 4n\97P  æ+ßÉ\95«Ð5\8b\12\1f\8aÚ²+Ußyö\82-\89\948¶Ü\8dÀ󲩳¦)Ð^¬N \80£DA²AâÏ
+\85\99©+éÔ¦-q\17mòµ\86,/47\82c\9d÷\98å\86ÔR¥FZ m§ÆUi\96        >H\97p8[µ0Ä\95¡F:$HFöÌ÷\1dÃìDFa|¯M\ 1Ý\1d\8aÛ«\f.J\9dhH¨\f\87\83:5  ½ \8dvÇ|ê1\rµ\11É\14\a\95¡]¦\10úJcBÀU¨qYÕÅ\7f±5<Fß±õ\1a\ 3Æ\8fG\8c.\f\ 3d\ 3é\83i_c©º\17Qá     \ 6æ!©\9aA\ 5ÁЪä\9c0I\9a\93Y\8aÚ\807BÅÌF*kqeG\13?\89ù¨52\1fÈ\15:J\93\14Êt\90çùÛ#ªBl\94h½¥ØÖ|\ 5¡i\1a\18P\a­Ò²ëÃ\11Áñ\83rë©[aÊ@ü1\ eY\89\9a)\9a\9ag\95¥ñN|º\84Bbs@\8bú\11\1c\8bÀûk\1eS<%àÙ¦e¶¬\8da:¡ ïgbÝs\18̨\1d?Ø'}×´Rxn\aÃ\h\8b&\84¶P\8b4K+\10\1eí\rV ]¬ã-Ó\99\19Ï\9eºäws\eóÐçjá\88¨µN\91~\14WK·\1cjïîÔE£$\8c}(´\97÷\1fý­½^oU½9ñB­\e\1dúr?ûr§"Ì£Fñ·\9b\95¨·ðf«ÙBÑwX9\90\ 6©úËl8º¼\9e]=ʶ\83\9c ¡Ì\9dº(lÙ\96\0Þ\ 4_\ 3\98÷¤M¹\12ÌFnkÞ\1cA<\1f!\16C,|¼löOG~ùx\125\81,H\ 5!Ç ¢ûñ8GÒlX\86y\8fäæ\ 2t\ e\13\9ezØCôÚ\89\98K\8c(¡¼¥¹(ZeTÃ
+W\ e\8e9\93&^\8c\9bm\ 4ó\8b;'IÒ(Å«¾?\e|öã@mÄ\1av!\1eÔÀ\8dVh0\96\10\9fä3°åR¶\1fÙ\1axWÊ-(­\16|é¡\99i+ÖZøR/\T¦<ö}ÆþÍìJss\ 2\86ã÷Pk½@[-\81_Ѫª\8a÷'';/üU\13ÀvÕ»ä-ãP¤ýÖ\18ÛH¨ÏÈO¢O\ 5F9\80\7fð\85Ào
+Y\ 1Â1~ØLOi<\186Õ»¼ûpI\ f¥ýÊËßG\eÕ9~\19(Þtød\7f{ ?\19\9c\1fÿ\f\18\8d§Áøl\b* ªáhȯ_Í:¿vþ\ 6\9bS3¤endstream
+endobj
+1420 0 obj<</Count 36/First 1421 0 R/Last 1665 0 R>>endobj
+1421 0 obj<</Parent 1420 0 R/Title(Table of Contents)/Dest[1122 0 R/XYZ 0 756 0]/Next 1422 0 R>>endobj
+1422 0 obj<</Parent 1420 0 R/Count -1/First 1423 0 R/Last 1423 0 R/Title(SAMBA Project Documentation)/Dest[1136 0 R/XYZ 0 786 0]/Prev 1421 0 R/Next 1424 0 R>>endobj
+1423 0 obj<</Parent 1422 0 R/Title(SAMBA Team)/Dest[1136 0 R/XYZ 0 762 0]>>endobj
+1424 0 obj<</Parent 1420 0 R/Title(Abstract)/Dest[1138 0 R/XYZ 0 786 0]/Prev 1422 0 R/Next 1425 0 R>>endobj
+1425 0 obj<</Parent 1420 0 R/Title(I. General installation)/Dest[1146 0 R/XYZ 0 786 0]/Prev 1424 0 R/Next 1426 0 R>>endobj
+1426 0 obj<</Parent 1420 0 R/Title(Introduction)/Dest[1148 0 R/XYZ 0 786 0]/Prev 1425 0 R/Next 1427 0 R>>endobj
+1427 0 obj<</Parent 1420 0 R/Count -10/First 1428 0 R/Last 1439 0 R/Title(How to Install and Test SAMBA)/Dest[1150 0 R/XYZ 0 786 0]/Prev 1426 0 R/Next 1446 0 R>>endobj
+1428 0 obj<</Parent 1427 0 R/Title(Read the man pages)/Dest[1150 0 R/XYZ 0 762 0]/Next 1429 0 R>>endobj
+1429 0 obj<</Parent 1427 0 R/Title(Building the Binaries)/Dest[1150 0 R/XYZ 0 621 0]/Prev 1428 0 R/Next 1430 0 R>>endobj
+1430 0 obj<</Parent 1427 0 R/Title(The all important step)/Dest[1150 0 R/XYZ 0 216 0]/Prev 1429 0 R/Next 1431 0 R>>endobj
+1431 0 obj<</Parent 1427 0 R/Title(Create the smb configuration file.)/Dest[1152 0 R/XYZ 0 786 0]/Prev 1430 0 R/Next 1432 0 R>>endobj
+1432 0 obj<</Parent 1427 0 R/Title(Test your config file with testparm)/Dest[1152 0 R/XYZ 0 435 0]/Prev 1431 0 R/Next 1433 0 R>>endobj
+1433 0 obj<</Parent 1427 0 R/Count -2/First 1434 0 R/Last 1435 0 R/Title(Starting the smbd and nmbd)/Dest[1152 0 R/XYZ 0 307 0]/Prev 1432 0 R/Next 1436 0 R>>endobj
+1434 0 obj<</Parent 1433 0 R/Title(Starting from inetd.conf)/Dest[1154 0 R/XYZ 0 786 0]/Next 1435 0 R>>endobj
+1435 0 obj<</Parent 1433 0 R/Title(Alternative: starting it as a daemon)/Dest[1154 0 R/XYZ 0 297 0]/Prev 1434 0 R>>endobj
+1436 0 obj<</Parent 1427 0 R/Title(Try listing the shares available on your server)/Dest[1156 0 R/XYZ 0 718 0]/Prev 1433 0 R/Next 1437 0 R>>endobj
+1437 0 obj<</Parent 1427 0 R/Title(Try connecting with the unix client)/Dest[1156 0 R/XYZ 0 551 0]/Prev 1436 0 R/Next 1438 0 R>>endobj
+1438 0 obj<</Parent 1427 0 R/Title(Try connecting from a DOS, WfWg, Win9x, WinNT, Win2k, OS/2, etc... client)/Dest[1156 0 R/XYZ 0 383 0]/Prev 1437 0 R/Next 1439 0 R>>endobj
+1439 0 obj<</Parent 1427 0 R/Count -6/First 1440 0 R/Last 1445 0 R/Title(What If Things Don't Work?)/Dest[1158 0 R/XYZ 0 786 0]/Prev 1438 0 R>>endobj
+1440 0 obj<</Parent 1439 0 R/Title(Diagnosing Problems)/Dest[1158 0 R/XYZ 0 605 0]/Next 1441 0 R>>endobj
+1441 0 obj<</Parent 1439 0 R/Title(Scope IDs)/Dest[1158 0 R/XYZ 0 547 0]/Prev 1440 0 R/Next 1442 0 R>>endobj
+1442 0 obj<</Parent 1439 0 R/Title(Choosing the Protocol Level)/Dest[1158 0 R/XYZ 0 462 0]/Prev 1441 0 R/Next 1443 0 R>>endobj
+1443 0 obj<</Parent 1439 0 R/Title(Printing from UNIX to a Client PC)/Dest[1160 0 R/XYZ 0 786 0]/Prev 1442 0 R/Next 1444 0 R>>endobj
+1444 0 obj<</Parent 1439 0 R/Title(Locking)/Dest[1160 0 R/XYZ 0 635 0]/Prev 1443 0 R/Next 1445 0 R>>endobj
+1445 0 obj<</Parent 1439 0 R/Title(Mapping Usernames)/Dest[1160 0 R/XYZ 0 181 0]/Prev 1444 0 R>>endobj
+1446 0 obj<</Parent 1420 0 R/Count -11/First 1447 0 R/Last 1458 0 R/Title(Improved browsing in samba)/Dest[1164 0 R/XYZ 0 786 0]/Prev 1427 0 R/Next 1459 0 R>>endobj
+1447 0 obj<</Parent 1446 0 R/Title(Overview of browsing)/Dest[1164 0 R/XYZ 0 762 0]/Next 1448 0 R>>endobj
+1448 0 obj<</Parent 1446 0 R/Title(Browsing support in samba)/Dest[1164 0 R/XYZ 0 568 0]/Prev 1447 0 R/Next 1449 0 R>>endobj
+1449 0 obj<</Parent 1446 0 R/Title(Problem resolution)/Dest[1164 0 R/XYZ 0 189 0]/Prev 1448 0 R/Next 1450 0 R>>endobj
+1450 0 obj<</Parent 1446 0 R/Count -1/First 1451 0 R/Last 1451 0 R/Title(Browsing across subnets)/Dest[1166 0 R/XYZ 0 586 0]/Prev 1449 0 R/Next 1452 0 R>>endobj
+1451 0 obj<</Parent 1450 0 R/Title(How does cross subnet browsing work ?)/Dest[1166 0 R/XYZ 0 326 0]>>endobj
+1452 0 obj<</Parent 1446 0 R/Title(Setting up a WINS server)/Dest[1172 0 R/XYZ 0 564 0]/Prev 1450 0 R/Next 1453 0 R>>endobj
+1453 0 obj<</Parent 1446 0 R/Title(Setting up Browsing in a WORKGROUP)/Dest[1174 0 R/XYZ 0 613 0]/Prev 1452 0 R/Next 1454 0 R>>endobj
+1454 0 obj<</Parent 1446 0 R/Title(Setting up Browsing in a DOMAIN)/Dest[1176 0 R/XYZ 0 619 0]/Prev 1453 0 R/Next 1455 0 R>>endobj
+1455 0 obj<</Parent 1446 0 R/Title(Forcing samba to be the master)/Dest[1176 0 R/XYZ 0 261 0]/Prev 1454 0 R/Next 1456 0 R>>endobj
+1456 0 obj<</Parent 1446 0 R/Title(Making samba the domain master)/Dest[1178 0 R/XYZ 0 507 0]/Prev 1455 0 R/Next 1457 0 R>>endobj
+1457 0 obj<</Parent 1446 0 R/Title(Note about broadcast addresses)/Dest[1180 0 R/XYZ 0 731 0]/Prev 1456 0 R/Next 1458 0 R>>endobj
+1458 0 obj<</Parent 1446 0 R/Title(Multiple interfaces)/Dest[1180 0 R/XYZ 0 643 0]/Prev 1457 0 R>>endobj
+1459 0 obj<</Parent 1420 0 R/Count -6/First 1460 0 R/Last 1465 0 R/Title(Quick Cross Subnet Browsing / Cross Workgroup Browsing guide)/Dest[1182 0 R/XYZ 0 786 0]/Prev 1446 0 R/Next 1466 0 R>>endobj
+1460 0 obj<</Parent 1459 0 R/Title(Discussion)/Dest[1182 0 R/XYZ 0 657 0]/Next 1461 0 R>>endobj
+1461 0 obj<</Parent 1459 0 R/Title(Use of the "Remote Announce" parameter)/Dest[1182 0 R/XYZ 0 212 0]/Prev 1460 0 R/Next 1462 0 R>>endobj
+1462 0 obj<</Parent 1459 0 R/Title(Use of the "Remote Browse Sync" parameter)/Dest[1184 0 R/XYZ 0 573 0]/Prev 1461 0 R/Next 1463 0 R>>endobj
+1463 0 obj<</Parent 1459 0 R/Title(Use of WINS)/Dest[1184 0 R/XYZ 0 391 0]/Prev 1462 0 R/Next 1464 0 R>>endobj
+1464 0 obj<</Parent 1459 0 R/Title(Do NOT use more than one \(1\) protocol on MS Windows machines)/Dest[1186 0 R/XYZ 0 547 0]/Prev 1463 0 R/Next 1465 0 R>>endobj
+1465 0 obj<</Parent 1459 0 R/Title(Name Resolution Order)/Dest[1186 0 R/XYZ 0 266 0]/Prev 1464 0 R>>endobj
+1466 0 obj<</Parent 1420 0 R/Count -3/First 1467 0 R/Last 1471 0 R/Title(LanMan and NT Password Encryption in Samba)/Dest[1190 0 R/XYZ 0 786 0]/Prev 1459 0 R/Next 1472 0 R>>endobj
+1467 0 obj<</Parent 1466 0 R/Title(Introduction)/Dest[1190 0 R/XYZ 0 762 0]/Next 1468 0 R>>endobj
+1468 0 obj<</Parent 1466 0 R/Count -2/First 1469 0 R/Last 1470 0 R/Title(Important Notes About Security)/Dest[1190 0 R/XYZ 0 608 0]/Prev 1467 0 R/Next 1471 0 R>>endobj
+1469 0 obj<</Parent 1468 0 R/Title(Advantages of SMB Encryption)/Dest[1192 0 R/XYZ 0 786 0]/Next 1470 0 R>>endobj
+1470 0 obj<</Parent 1468 0 R/Title(Advantages of non-encrypted passwords)/Dest[1192 0 R/XYZ 0 662 0]/Prev 1469 0 R>>endobj
+1471 0 obj<</Parent 1466 0 R/Title(The smbpasswd Command)/Dest[1192 0 R/XYZ 0 564 0]/Prev 1468 0 R>>endobj
+1472 0 obj<</Parent 1420 0 R/Title(II. Type of installation)/Dest[1196 0 R/XYZ 0 786 0]/Prev 1466 0 R/Next 1473 0 R>>endobj
+1473 0 obj<</Parent 1420 0 R/Title(Introduction)/Dest[1198 0 R/XYZ 0 786 0]/Prev 1472 0 R/Next 1474 0 R>>endobj
+1474 0 obj<</Parent 1420 0 R/Title(User and Share security level \(for servers not in a domain\))/Dest[1200 0 R/XYZ 0 786 0]/Prev 1473 0 R/Next 1475 0 R>>endobj
+1475 0 obj<</Parent 1420 0 R/Count -9/First 1476 0 R/Last 1489 0 R/Title(How to Configure Samba as a NT4 Primary Domain Controller)/Dest[1204 0 R/XYZ 0 786 0]/Prev 1474 0 R/Next 1490 0 R>>endobj
+1476 0 obj<</Parent 1475 0 R/Title(Prerequisite Reading)/Dest[1204 0 R/XYZ 0 738 0]/Next 1477 0 R>>endobj
+1477 0 obj<</Parent 1475 0 R/Title(Background)/Dest[1204 0 R/XYZ 0 637 0]/Prev 1476 0 R/Next 1478 0 R>>endobj
+1478 0 obj<</Parent 1475 0 R/Title(Configuring the Samba Domain Controller)/Dest[1206 0 R/XYZ 0 771 0]/Prev 1477 0 R/Next 1479 0 R>>endobj
+1479 0 obj<</Parent 1475 0 R/Count -3/First 1480 0 R/Last 1482 0 R/Title(Creating Machine Trust Accounts and Joining Clients to the Domain)/Dest[1208 0 R/XYZ 0 665 0]/Prev 1478 0 R/Next 1483 0 R>>endobj
+1480 0 obj<</Parent 1479 0 R/Title(Manual Creation of Machine Trust Accounts)/Dest[1208 0 R/XYZ 0 279 0]/Next 1481 0 R>>endobj
+1481 0 obj<</Parent 1479 0 R/Title("On-the-Fly" Creation of Machine Trust Accounts)/Dest[1210 0 R/XYZ 0 369 0]/Prev 1480 0 R/Next 1482 0 R>>endobj
+1482 0 obj<</Parent 1479 0 R/Title(Joining the Client to the Domain)/Dest[1212 0 R/XYZ 0 786 0]/Prev 1481 0 R>>endobj
+1483 0 obj<</Parent 1475 0 R/Title(Common Problems and Errors)/Dest[1212 0 R/XYZ 0 437 0]/Prev 1479 0 R/Next 1484 0 R>>endobj
+1484 0 obj<</Parent 1475 0 R/Title(System Policies and Profiles)/Dest[1214 0 R/XYZ 0 179 0]/Prev 1483 0 R/Next 1485 0 R>>endobj
+1485 0 obj<</Parent 1475 0 R/Title(What other help can I get?)/Dest[1216 0 R/XYZ 0 177 0]/Prev 1484 0 R/Next 1486 0 R>>endobj
+1486 0 obj<</Parent 1475 0 R/Count -2/First 1487 0 R/Last 1488 0 R/Title(Domain Control for Windows 9x/ME)/Dest[1222 0 R/XYZ 0 560 0]/Prev 1485 0 R/Next 1489 0 R>>endobj
+1487 0 obj<</Parent 1486 0 R/Title(Configuration Instructions: Network Logons)/Dest[1224 0 R/XYZ 0 573 0]/Next 1488 0 R>>endobj
+1488 0 obj<</Parent 1486 0 R/Title(Configuration Instructions: Setting up Roaming User Profiles)/Dest[1226 0 R/XYZ 0 786 0]/Prev 1487 0 R>>endobj
+1489 0 obj<</Parent 1475 0 R/Title(DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba)/Dest[1234 0 R/XYZ 0 755 0]/Prev 1486 0 R>>endobj
+1490 0 obj<</Parent 1420 0 R/Count -5/First 1491 0 R/Last 1497 0 R/Title(How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain)/Dest[1238 0 R/XYZ 0 786 0]/Prev 1475 0 R/Next 1499 0 R>>endobj
+1491 0 obj<</Parent 1490 0 R/Title(Prerequisite Reading)/Dest[1238 0 R/XYZ 0 738 0]/Next 1492 0 R>>endobj
+1492 0 obj<</Parent 1490 0 R/Title(Background)/Dest[1238 0 R/XYZ 0 650 0]/Prev 1491 0 R/Next 1493 0 R>>endobj
+1493 0 obj<</Parent 1490 0 R/Count -2/First 1494 0 R/Last 1495 0 R/Title(What qualifies a Domain Controller on the network?)/Dest[1238 0 R/XYZ 0 275 0]/Prev 1492 0 R/Next 1496 0 R>>endobj
+1494 0 obj<</Parent 1493 0 R/Title(How does a Workstation find its domain controller?)/Dest[1240 0 R/XYZ 0 786 0]/Next 1495 0 R>>endobj
+1495 0 obj<</Parent 1493 0 R/Title(When is the PDC needed?)/Dest[1240 0 R/XYZ 0 662 0]/Prev 1494 0 R>>endobj
+1496 0 obj<</Parent 1490 0 R/Title(Can Samba be a Backup Domain Controller?)/Dest[1240 0 R/XYZ 0 577 0]/Prev 1493 0 R/Next 1497 0 R>>endobj
+1497 0 obj<</Parent 1490 0 R/Count -1/First 1498 0 R/Last 1498 0 R/Title(How do I set up a Samba BDC?)/Dest[1240 0 R/XYZ 0 436 0]/Prev 1496 0 R>>endobj
+1498 0 obj<</Parent 1497 0 R/Title(How do I replicate the smbpasswd file?)/Dest[1242 0 R/XYZ 0 670 0]>>endobj
+1499 0 obj<</Parent 1420 0 R/Count -8/First 1500 0 R/Last 1508 0 R/Title(Samba as a ADS domain member)/Dest[1244 0 R/XYZ 0 786 0]/Prev 1490 0 R/Next 1509 0 R>>endobj
+1500 0 obj<</Parent 1499 0 R/Title(Installing the required packages for Debian)/Dest[1244 0 R/XYZ 0 604 0]/Next 1501 0 R>>endobj
+1501 0 obj<</Parent 1499 0 R/Title(Installing the required packages for RedHat)/Dest[1244 0 R/XYZ 0 496 0]/Prev 1500 0 R/Next 1502 0 R>>endobj
+1502 0 obj<</Parent 1499 0 R/Title(Compile Samba)/Dest[1244 0 R/XYZ 0 320 0]/Prev 1501 0 R/Next 1503 0 R>>endobj
+1503 0 obj<</Parent 1499 0 R/Title(Setup your /etc/krb5.conf)/Dest[1246 0 R/XYZ 0 617 0]/Prev 1502 0 R/Next 1504 0 R>>endobj
+1504 0 obj<</Parent 1499 0 R/Count -1/First 1505 0 R/Last 1505 0 R/Title(Create the computer account)/Dest[1246 0 R/XYZ 0 297 0]/Prev 1503 0 R/Next 1506 0 R>>endobj
+1505 0 obj<</Parent 1504 0 R/Title(Possible errors)/Dest[1246 0 R/XYZ 0 209 0]>>endobj
+1506 0 obj<</Parent 1499 0 R/Title(Test your server setup)/Dest[1248 0 R/XYZ 0 745 0]/Prev 1504 0 R/Next 1507 0 R>>endobj
+1507 0 obj<</Parent 1499 0 R/Title(Testing with smbclient)/Dest[1248 0 R/XYZ 0 656 0]/Prev 1506 0 R/Next 1508 0 R>>endobj
+1508 0 obj<</Parent 1499 0 R/Title(Notes)/Dest[1248 0 R/XYZ 0 581 0]/Prev 1507 0 R>>endobj
+1509 0 obj<</Parent 1420 0 R/Count -3/First 1510 0 R/Last 1512 0 R/Title(Samba as a NT4 domain member)/Dest[1250 0 R/XYZ 0 786 0]/Prev 1499 0 R/Next 1513 0 R>>endobj
+1510 0 obj<</Parent 1509 0 R/Title(Joining an NT Domain with Samba 2.2)/Dest[1250 0 R/XYZ 0 762 0]/Next 1511 0 R>>endobj
+1511 0 obj<</Parent 1509 0 R/Title(Samba and Windows 2000 Domains)/Dest[1252 0 R/XYZ 0 415 0]/Prev 1510 0 R/Next 1512 0 R>>endobj
+1512 0 obj<</Parent 1509 0 R/Title(Why is this better than security = server?)/Dest[1252 0 R/XYZ 0 207 0]/Prev 1511 0 R>>endobj
+1513 0 obj<</Parent 1420 0 R/Title(III. Optional configuration)/Dest[1256 0 R/XYZ 0 786 0]/Prev 1509 0 R/Next 1514 0 R>>endobj
+1514 0 obj<</Parent 1420 0 R/Title(Introduction)/Dest[1258 0 R/XYZ 0 786 0]/Prev 1513 0 R/Next 1515 0 R>>endobj
+1515 0 obj<</Parent 1420 0 R/Count -6/First 1516 0 R/Last 1533 0 R/Title(Integrating MS Windows networks with Samba)/Dest[1260 0 R/XYZ 0 786 0]/Prev 1514 0 R/Next 1534 0 R>>endobj
+1516 0 obj<</Parent 1515 0 R/Title(Agenda)/Dest[1260 0 R/XYZ 0 762 0]/Next 1517 0 R>>endobj
+1517 0 obj<</Parent 1515 0 R/Count -4/First 1518 0 R/Last 1521 0 R/Title(Name Resolution in a pure Unix/Linux world)/Dest[1260 0 R/XYZ 0 515 0]/Prev 1516 0 R/Next 1522 0 R>>endobj
+1518 0 obj<</Parent 1517 0 R/Title(/etc/hosts)/Dest[1260 0 R/XYZ 0 387 0]/Next 1519 0 R>>endobj
+1519 0 obj<</Parent 1517 0 R/Title(/etc/resolv.conf)/Dest[1262 0 R/XYZ 0 507 0]/Prev 1518 0 R/Next 1520 0 R>>endobj
+1520 0 obj<</Parent 1517 0 R/Title(/etc/host.conf)/Dest[1262 0 R/XYZ 0 369 0]/Prev 1519 0 R/Next 1521 0 R>>endobj
+1521 0 obj<</Parent 1517 0 R/Title(/etc/nsswitch.conf)/Dest[1262 0 R/XYZ 0 221 0]/Prev 1520 0 R>>endobj
+1522 0 obj<</Parent 1515 0 R/Count -5/First 1523 0 R/Last 1527 0 R/Title(Name resolution as used within MS Windows networking)/Dest[1264 0 R/XYZ 0 400 0]/Prev 1517 0 R/Next 1528 0 R>>endobj
+1523 0 obj<</Parent 1522 0 R/Title(The NetBIOS Name Cache)/Dest[1266 0 R/XYZ 0 348 0]/Next 1524 0 R>>endobj
+1524 0 obj<</Parent 1522 0 R/Title(The LMHOSTS file)/Dest[1268 0 R/XYZ 0 786 0]/Prev 1523 0 R/Next 1525 0 R>>endobj
+1525 0 obj<</Parent 1522 0 R/Title(HOSTS file)/Dest[1270 0 R/XYZ 0 509 0]/Prev 1524 0 R/Next 1526 0 R>>endobj
+1526 0 obj<</Parent 1522 0 R/Title(DNS Lookup)/Dest[1270 0 R/XYZ 0 411 0]/Prev 1525 0 R/Next 1527 0 R>>endobj
+1527 0 obj<</Parent 1522 0 R/Title(WINS Lookup)/Dest[1270 0 R/XYZ 0 273 0]/Prev 1526 0 R>>endobj
+1528 0 obj<</Parent 1515 0 R/Title(How browsing functions and how to deploy stable and dependable browsing using Samba)/Dest[1272 0 R/XYZ 0 720 0]/Prev 1522 0 R/Next 1529 0 R>>endobj
+1529 0 obj<</Parent 1515 0 R/Count -3/First 1530 0 R/Last 1532 0 R/Title(MS Windows security options and how to configure Samba for seemless integration)/Dest[1274 0 R/XYZ 0 786 0]/Prev 1528 0 R/Next 1533 0 R>>endobj
+1530 0 obj<</Parent 1529 0 R/Title(Use MS Windows NT as an authentication server)/Dest[1276 0 R/XYZ 0 745 0]/Next 1531 0 R>>endobj
+1531 0 obj<</Parent 1529 0 R/Title(Make Samba a member of an MS Windows NT security domain)/Dest[1276 0 R/XYZ 0 493 0]/Prev 1530 0 R/Next 1532 0 R>>endobj
+1532 0 obj<</Parent 1529 0 R/Title(Configure Samba as an authentication server)/Dest[1278 0 R/XYZ 0 786 0]/Prev 1531 0 R>>endobj
+1533 0 obj<</Parent 1515 0 R/Title(Conclusions)/Dest[1278 0 R/XYZ 0 225 0]/Prev 1529 0 R>>endobj
+1534 0 obj<</Parent 1420 0 R/Count -7/First 1535 0 R/Last 1543 0 R/Title(UNIX Permission Bits and Windows NT Access Control Lists)/Dest[1282 0 R/XYZ 0 786 0]/Prev 1515 0 R/Next 1544 0 R>>endobj
+1535 0 obj<</Parent 1534 0 R/Title(Viewing and changing UNIX permissions using the NT security dialogs)/Dest[1282 0 R/XYZ 0 738 0]/Next 1536 0 R>>endobj
+1536 0 obj<</Parent 1534 0 R/Title(How to view file security on a Samba share)/Dest[1282 0 R/XYZ 0 550 0]/Prev 1535 0 R/Next 1537 0 R>>endobj
+1537 0 obj<</Parent 1534 0 R/Title(Viewing file ownership)/Dest[1282 0 R/XYZ 0 383 0]/Prev 1536 0 R/Next 1538 0 R>>endobj
+1538 0 obj<</Parent 1534 0 R/Count -2/First 1539 0 R/Last 1540 0 R/Title(Viewing file or directory permissions)/Dest[1284 0 R/XYZ 0 718 0]/Prev 1537 0 R/Next 1541 0 R>>endobj
+1539 0 obj<</Parent 1538 0 R/Title(File Permissions)/Dest[1284 0 R/XYZ 0 485 0]/Next 1540 0 R>>endobj
+1540 0 obj<</Parent 1538 0 R/Title(Directory Permissions)/Dest[1284 0 R/XYZ 0 241 0]/Prev 1539 0 R>>endobj
+1541 0 obj<</Parent 1534 0 R/Title(Modifying file or directory permissions)/Dest[1286 0 R/XYZ 0 745 0]/Prev 1538 0 R/Next 1542 0 R>>endobj
+1542 0 obj<</Parent 1534 0 R/Title(Interaction with the standard Samba create mask parameters)/Dest[1286 0 R/XYZ 0 313 0]/Prev 1541 0 R/Next 1543 0 R>>endobj
+1543 0 obj<</Parent 1534 0 R/Title(Interaction with the standard Samba file attribute mapping)/Dest[1290 0 R/XYZ 0 652 0]/Prev 1542 0 R>>endobj
+1544 0 obj<</Parent 1420 0 R/Count -3/First 1545 0 R/Last 1547 0 R/Title(Configuring PAM for distributed but centrally managed authentication)/Dest[1292 0 R/XYZ 0 786 0]/Prev 1534 0 R/Next 1548 0 R>>endobj
+1545 0 obj<</Parent 1544 0 R/Title(Samba and PAM)/Dest[1292 0 R/XYZ 0 738 0]/Next 1546 0 R>>endobj
+1546 0 obj<</Parent 1544 0 R/Title(Distributed Authentication)/Dest[1294 0 R/XYZ 0 179 0]/Prev 1545 0 R/Next 1547 0 R>>endobj
+1547 0 obj<</Parent 1544 0 R/Title(PAM Configuration in smb.conf)/Dest[1296 0 R/XYZ 0 731 0]/Prev 1546 0 R>>endobj
+1548 0 obj<</Parent 1420 0 R/Count -1/First 1549 0 R/Last 1549 0 R/Title(Hosting a Microsoft Distributed File System tree on Samba)/Dest[1298 0 R/XYZ 0 786 0]/Prev 1544 0 R/Next 1551 0 R>>endobj
+1549 0 obj<</Parent 1548 0 R/Count -1/First 1550 0 R/Last 1550 0 R/Title(Instructions)/Dest[1298 0 R/XYZ 0 738 0]>>endobj
+1550 0 obj<</Parent 1549 0 R/Title(Notes)/Dest[1300 0 R/XYZ 0 705 0]>>endobj
+1551 0 obj<</Parent 1420 0 R/Count -4/First 1552 0 R/Last 1564 0 R/Title(Printing Support)/Dest[1302 0 R/XYZ 0 786 0]/Prev 1548 0 R/Next 1574 0 R>>endobj
+1552 0 obj<</Parent 1551 0 R/Title(Introduction)/Dest[1302 0 R/XYZ 0 762 0]/Next 1553 0 R>>endobj
+1553 0 obj<</Parent 1551 0 R/Count -5/First 1554 0 R/Last 1558 0 R/Title(Configuration)/Dest[1302 0 R/XYZ 0 370 0]/Prev 1552 0 R/Next 1559 0 R>>endobj
+1554 0 obj<</Parent 1553 0 R/Title(Creating [print$])/Dest[1302 0 R/XYZ 0 184 0]/Next 1555 0 R>>endobj
+1555 0 obj<</Parent 1553 0 R/Title(Setting Drivers for Existing Printers)/Dest[1306 0 R/XYZ 0 636 0]/Prev 1554 0 R/Next 1556 0 R>>endobj
+1556 0 obj<</Parent 1553 0 R/Title(Support a large number of printers)/Dest[1306 0 R/XYZ 0 221 0]/Prev 1555 0 R/Next 1557 0 R>>endobj
+1557 0 obj<</Parent 1553 0 R/Title(Adding New Printers via the Windows NT APW)/Dest[1308 0 R/XYZ 0 509 0]/Prev 1556 0 R/Next 1558 0 R>>endobj
+1558 0 obj<</Parent 1553 0 R/Title(Samba and Printer Ports)/Dest[1310 0 R/XYZ 0 336 0]/Prev 1557 0 R>>endobj
+1559 0 obj<</Parent 1551 0 R/Count -4/First 1560 0 R/Last 1563 0 R/Title(The Imprints Toolset)/Dest[1312 0 R/XYZ 0 786 0]/Prev 1553 0 R/Next 1564 0 R>>endobj
+1560 0 obj<</Parent 1559 0 R/Title(What is Imprints?)/Dest[1312 0 R/XYZ 0 685 0]/Next 1561 0 R>>endobj
+1561 0 obj<</Parent 1559 0 R/Title(Creating Printer Driver Packages)/Dest[1312 0 R/XYZ 0 560 0]/Prev 1560 0 R/Next 1562 0 R>>endobj
+1562 0 obj<</Parent 1559 0 R/Title(The Imprints server)/Dest[1312 0 R/XYZ 0 475 0]/Prev 1561 0 R/Next 1563 0 R>>endobj
+1563 0 obj<</Parent 1559 0 R/Title(The Installation Client)/Dest[1312 0 R/XYZ 0 377 0]/Prev 1562 0 R>>endobj
+1564 0 obj<</Parent 1551 0 R/Count -9/First 1565 0 R/Last 1573 0 R/Title(Diagnosis)/Dest[1314 0 R/XYZ 0 479 0]/Prev 1559 0 R>>endobj
+1565 0 obj<</Parent 1564 0 R/Title(Introduction)/Dest[1314 0 R/XYZ 0 459 0]/Next 1566 0 R>>endobj
+1566 0 obj<</Parent 1564 0 R/Title(Debugging printer problems)/Dest[1316 0 R/XYZ 0 503 0]/Prev 1565 0 R/Next 1567 0 R>>endobj
+1567 0 obj<</Parent 1564 0 R/Title(What printers do I have?)/Dest[1318 0 R/XYZ 0 718 0]/Prev 1566 0 R/Next 1568 0 R>>endobj
+1568 0 obj<</Parent 1564 0 R/Title(Setting up printcap and print servers)/Dest[1318 0 R/XYZ 0 532 0]/Prev 1567 0 R/Next 1569 0 R>>endobj
+1569 0 obj<</Parent 1564 0 R/Title(Job sent, no output)/Dest[1320 0 R/XYZ 0 771 0]/Prev 1568 0 R/Next 1570 0 R>>endobj
+1570 0 obj<</Parent 1564 0 R/Title(Job sent, strange output)/Dest[1320 0 R/XYZ 0 426 0]/Prev 1569 0 R/Next 1571 0 R>>endobj
+1571 0 obj<</Parent 1564 0 R/Title(Raw PostScript printed)/Dest[1322 0 R/XYZ 0 731 0]/Prev 1570 0 R/Next 1572 0 R>>endobj
+1572 0 obj<</Parent 1564 0 R/Title(Advanced Printing)/Dest[1322 0 R/XYZ 0 647 0]/Prev 1571 0 R/Next 1573 0 R>>endobj
+1573 0 obj<</Parent 1564 0 R/Title(Real debugging)/Dest[1322 0 R/XYZ 0 549 0]/Prev 1572 0 R>>endobj
+1574 0 obj<</Parent 1420 0 R/Count -7/First 1575 0 R/Last 1590 0 R/Title(Unified Logons between Windows NT and UNIX using Winbind)/Dest[1324 0 R/XYZ 0 786 0]/Prev 1551 0 R/Next 1591 0 R>>endobj
+1575 0 obj<</Parent 1574 0 R/Title(Abstract)/Dest[1324 0 R/XYZ 0 738 0]/Next 1576 0 R>>endobj
+1576 0 obj<</Parent 1574 0 R/Title(Introduction)/Dest[1324 0 R/XYZ 0 597 0]/Prev 1575 0 R/Next 1577 0 R>>endobj
+1577 0 obj<</Parent 1574 0 R/Count -1/First 1578 0 R/Last 1578 0 R/Title(What Winbind Provides)/Dest[1324 0 R/XYZ 0 284 0]/Prev 1576 0 R/Next 1579 0 R>>endobj
+1578 0 obj<</Parent 1577 0 R/Title(Target Uses)/Dest[1326 0 R/XYZ 0 613 0]>>endobj
+1579 0 obj<</Parent 1574 0 R/Count -5/First 1580 0 R/Last 1584 0 R/Title(How Winbind Works)/Dest[1326 0 R/XYZ 0 462 0]/Prev 1577 0 R/Next 1585 0 R>>endobj
+1580 0 obj<</Parent 1579 0 R/Title(Microsoft Remote Procedure Calls)/Dest[1326 0 R/XYZ 0 347 0]/Next 1581 0 R>>endobj
+1581 0 obj<</Parent 1579 0 R/Title(Name Service Switch)/Dest[1328 0 R/XYZ 0 786 0]/Prev 1580 0 R/Next 1582 0 R>>endobj
+1582 0 obj<</Parent 1579 0 R/Title(Pluggable Authentication Modules)/Dest[1328 0 R/XYZ 0 345 0]/Prev 1581 0 R/Next 1583 0 R>>endobj
+1583 0 obj<</Parent 1579 0 R/Title(User and Group ID Allocation)/Dest[1330 0 R/XYZ 0 718 0]/Prev 1582 0 R/Next 1584 0 R>>endobj
+1584 0 obj<</Parent 1579 0 R/Title(Result Caching)/Dest[1330 0 R/XYZ 0 541 0]/Prev 1583 0 R>>endobj
+1585 0 obj<</Parent 1574 0 R/Count -3/First 1586 0 R/Last 1588 0 R/Title(Installation and Configuration)/Dest[1330 0 R/XYZ 0 403 0]/Prev 1579 0 R/Next 1589 0 R>>endobj
+1586 0 obj<</Parent 1585 0 R/Title(Introduction)/Dest[1330 0 R/XYZ 0 262 0]/Next 1587 0 R>>endobj
+1587 0 obj<</Parent 1585 0 R/Title(Requirements)/Dest[1332 0 R/XYZ 0 652 0]/Prev 1586 0 R/Next 1588 0 R>>endobj
+1588 0 obj<</Parent 1585 0 R/Title(Testing Things Out)/Dest[1332 0 R/XYZ 0 383 0]/Prev 1587 0 R>>endobj
+1589 0 obj<</Parent 1574 0 R/Title(Limitations)/Dest[1346 0 R/XYZ 0 270 0]/Prev 1585 0 R/Next 1590 0 R>>endobj
+1590 0 obj<</Parent 1574 0 R/Title(Conclusion)/Dest[1348 0 R/XYZ 0 731 0]/Prev 1589 0 R>>endobj
+1591 0 obj<</Parent 1420 0 R/Count -4/First 1592 0 R/Last 1595 0 R/Title(Passdb MySQL plugin)/Dest[1350 0 R/XYZ 0 786 0]/Prev 1574 0 R/Next 1596 0 R>>endobj
+1592 0 obj<</Parent 1591 0 R/Title(Building)/Dest[1350 0 R/XYZ 0 762 0]/Next 1593 0 R>>endobj
+1593 0 obj<</Parent 1591 0 R/Title(Configuring)/Dest[1350 0 R/XYZ 0 647 0]/Prev 1592 0 R/Next 1594 0 R>>endobj
+1594 0 obj<</Parent 1591 0 R/Title(Using plaintext passwords or encrypted password)/Dest[1352 0 R/XYZ 0 564 0]/Prev 1593 0 R/Next 1595 0 R>>endobj
+1595 0 obj<</Parent 1591 0 R/Title(Getting non-column data from the table)/Dest[1352 0 R/XYZ 0 410 0]/Prev 1594 0 R>>endobj
+1596 0 obj<</Parent 1420 0 R/Count -2/First 1597 0 R/Last 1598 0 R/Title(Passdb XML plugin)/Dest[1354 0 R/XYZ 0 786 0]/Prev 1591 0 R/Next 1599 0 R>>endobj
+1597 0 obj<</Parent 1596 0 R/Title(Building)/Dest[1354 0 R/XYZ 0 762 0]/Next 1598 0 R>>endobj
+1598 0 obj<</Parent 1596 0 R/Title(Usage)/Dest[1354 0 R/XYZ 0 661 0]/Prev 1597 0 R>>endobj
+1599 0 obj<</Parent 1420 0 R/Count -3/First 1600 0 R/Last 1605 0 R/Title(Stackable VFS modules)/Dest[1356 0 R/XYZ 0 786 0]/Prev 1596 0 R/Next 1608 0 R>>endobj
+1600 0 obj<</Parent 1599 0 R/Title(Introduction and configuration)/Dest[1356 0 R/XYZ 0 762 0]/Next 1601 0 R>>endobj
+1601 0 obj<</Parent 1599 0 R/Count -3/First 1602 0 R/Last 1604 0 R/Title(Included modules)/Dest[1356 0 R/XYZ 0 435 0]/Prev 1600 0 R/Next 1605 0 R>>endobj
+1602 0 obj<</Parent 1601 0 R/Title(audit)/Dest[1356 0 R/XYZ 0 414 0]/Next 1603 0 R>>endobj
+1603 0 obj<</Parent 1601 0 R/Title(recycle)/Dest[1356 0 R/XYZ 0 265 0]/Prev 1602 0 R/Next 1604 0 R>>endobj
+1604 0 obj<</Parent 1601 0 R/Title(netatalk)/Dest[1358 0 R/XYZ 0 613 0]/Prev 1603 0 R>>endobj
+1605 0 obj<</Parent 1599 0 R/Count -2/First 1606 0 R/Last 1607 0 R/Title(VFS modules available elsewhere)/Dest[1358 0 R/XYZ 0 483 0]/Prev 1601 0 R>>endobj
+1606 0 obj<</Parent 1605 0 R/Title(DatabaseFS)/Dest[1358 0 R/XYZ 0 368 0]/Next 1607 0 R>>endobj
+1607 0 obj<</Parent 1605 0 R/Title(vscan)/Dest[1360 0 R/XYZ 0 786 0]/Prev 1606 0 R>>endobj
+1608 0 obj<</Parent 1420 0 R/Count -10/First 1609 0 R/Last 1620 0 R/Title(Storing Samba's User/Machine Account information in an LDAP Directory)/Dest[1362 0 R/XYZ 0 786 0]/Prev 1599 0 R/Next 1621 0 R>>endobj
+1609 0 obj<</Parent 1608 0 R/Title(Purpose)/Dest[1362 0 R/XYZ 0 738 0]/Next 1610 0 R>>endobj
+1610 0 obj<</Parent 1608 0 R/Title(Introduction)/Dest[1362 0 R/XYZ 0 465 0]/Prev 1609 0 R/Next 1611 0 R>>endobj
+1611 0 obj<</Parent 1608 0 R/Title(Supported LDAP Servers)/Dest[1364 0 R/XYZ 0 626 0]/Prev 1610 0 R/Next 1612 0 R>>endobj
+1612 0 obj<</Parent 1608 0 R/Title(Schema and Relationship to the RFC 2307 posixAccount)/Dest[1364 0 R/XYZ 0 524 0]/Prev 1611 0 R/Next 1613 0 R>>endobj
+1613 0 obj<</Parent 1608 0 R/Count -2/First 1614 0 R/Last 1615 0 R/Title(Configuring Samba with LDAP)/Dest[1366 0 R/XYZ 0 786 0]/Prev 1612 0 R/Next 1616 0 R>>endobj
+1614 0 obj<</Parent 1613 0 R/Title(OpenLDAP configuration)/Dest[1366 0 R/XYZ 0 766 0]/Next 1615 0 R>>endobj
+1615 0 obj<</Parent 1613 0 R/Title(Configuring Samba)/Dest[1366 0 R/XYZ 0 191 0]/Prev 1614 0 R>>endobj
+1616 0 obj<</Parent 1608 0 R/Title(Accounts and Groups management)/Dest[1368 0 R/XYZ 0 280 0]/Prev 1613 0 R/Next 1617 0 R>>endobj
+1617 0 obj<</Parent 1608 0 R/Title(Security and sambaAccount)/Dest[1370 0 R/XYZ 0 758 0]/Prev 1616 0 R/Next 1618 0 R>>endobj
+1618 0 obj<</Parent 1608 0 R/Title(LDAP specials attributes for sambaAccounts)/Dest[1370 0 R/XYZ 0 373 0]/Prev 1617 0 R/Next 1619 0 R>>endobj
+1619 0 obj<</Parent 1608 0 R/Title(Example LDIF Entries for a sambaAccount)/Dest[1372 0 R/XYZ 0 362 0]/Prev 1618 0 R/Next 1620 0 R>>endobj
+1620 0 obj<</Parent 1608 0 R/Title(Comments)/Dest[1374 0 R/XYZ 0 531 0]/Prev 1619 0 R>>endobj
+1621 0 obj<</Parent 1420 0 R/Count -2/First 1622 0 R/Last 1623 0 R/Title(HOWTO Access Samba source code via CVS)/Dest[1376 0 R/XYZ 0 786 0]/Prev 1608 0 R/Next 1626 0 R>>endobj
+1622 0 obj<</Parent 1621 0 R/Title(Introduction)/Dest[1376 0 R/XYZ 0 762 0]/Next 1623 0 R>>endobj
+1623 0 obj<</Parent 1621 0 R/Count -2/First 1624 0 R/Last 1625 0 R/Title(CVS Access to samba.org)/Dest[1376 0 R/XYZ 0 634 0]/Prev 1622 0 R>>endobj
+1624 0 obj<</Parent 1623 0 R/Title(Access via CVSweb)/Dest[1376 0 R/XYZ 0 546 0]/Next 1625 0 R>>endobj
+1625 0 obj<</Parent 1623 0 R/Title(Access via cvs)/Dest[1376 0 R/XYZ 0 435 0]/Prev 1624 0 R>>endobj
+1626 0 obj<</Parent 1420 0 R/Title(Group mapping HOWTO)/Dest[1380 0 R/XYZ 0 786 0]/Prev 1621 0 R/Next 1627 0 R>>endobj
+1627 0 obj<</Parent 1420 0 R/Count -10/First 1628 0 R/Last 1637 0 R/Title(Samba performance issues)/Dest[1382 0 R/XYZ 0 786 0]/Prev 1626 0 R/Next 1638 0 R>>endobj
+1628 0 obj<</Parent 1627 0 R/Title(Comparisons)/Dest[1382 0 R/XYZ 0 762 0]/Next 1629 0 R>>endobj
+1629 0 obj<</Parent 1627 0 R/Title(Socket options)/Dest[1382 0 R/XYZ 0 502 0]/Prev 1628 0 R/Next 1630 0 R>>endobj
+1630 0 obj<</Parent 1627 0 R/Title(Read size)/Dest[1382 0 R/XYZ 0 242 0]/Prev 1629 0 R/Next 1631 0 R>>endobj
+1631 0 obj<</Parent 1627 0 R/Title(Max xmit)/Dest[1384 0 R/XYZ 0 692 0]/Prev 1630 0 R/Next 1632 0 R>>endobj
+1632 0 obj<</Parent 1627 0 R/Title(Log level)/Dest[1384 0 R/XYZ 0 511 0]/Prev 1631 0 R/Next 1633 0 R>>endobj
+1633 0 obj<</Parent 1627 0 R/Title(Read raw)/Dest[1384 0 R/XYZ 0 436 0]/Prev 1632 0 R/Next 1634 0 R>>endobj
+1634 0 obj<</Parent 1627 0 R/Title(Write raw)/Dest[1384 0 R/XYZ 0 268 0]/Prev 1633 0 R/Next 1635 0 R>>endobj
+1635 0 obj<</Parent 1627 0 R/Title(Slow Clients)/Dest[1386 0 R/XYZ 0 786 0]/Prev 1634 0 R/Next 1636 0 R>>endobj
+1636 0 obj<</Parent 1627 0 R/Title(Slow Logins)/Dest[1386 0 R/XYZ 0 658 0]/Prev 1635 0 R/Next 1637 0 R>>endobj
+1637 0 obj<</Parent 1627 0 R/Title(Client tuning)/Dest[1386 0 R/XYZ 0 583 0]/Prev 1636 0 R>>endobj
+1638 0 obj<</Parent 1420 0 R/Title(IV. Appendixes)/Dest[1390 0 R/XYZ 0 786 0]/Prev 1627 0 R/Next 1639 0 R>>endobj
+1639 0 obj<</Parent 1420 0 R/Count -4/First 1640 0 R/Last 1643 0 R/Title(Portability)/Dest[1392 0 R/XYZ 0 786 0]/Prev 1638 0 R/Next 1644 0 R>>endobj
+1640 0 obj<</Parent 1639 0 R/Title(HPUX)/Dest[1392 0 R/XYZ 0 707 0]/Next 1641 0 R>>endobj
+1641 0 obj<</Parent 1639 0 R/Title(SCO Unix)/Dest[1392 0 R/XYZ 0 461 0]/Prev 1640 0 R/Next 1642 0 R>>endobj
+1642 0 obj<</Parent 1639 0 R/Title(DNIX)/Dest[1392 0 R/XYZ 0 346 0]/Prev 1641 0 R/Next 1643 0 R>>endobj
+1643 0 obj<</Parent 1639 0 R/Title(RedHat Linux Rembrandt-II)/Dest[1394 0 R/XYZ 0 269 0]/Prev 1642 0 R>>endobj
+1644 0 obj<</Parent 1420 0 R/Count -5/First 1645 0 R/Last 1657 0 R/Title(Samba and other CIFS clients)/Dest[1398 0 R/XYZ 0 786 0]/Prev 1639 0 R/Next 1658 0 R>>endobj
+1645 0 obj<</Parent 1644 0 R/Title(Macintosh clients?)/Dest[1398 0 R/XYZ 0 721 0]/Next 1646 0 R>>endobj
+1646 0 obj<</Parent 1644 0 R/Count -4/First 1647 0 R/Last 1650 0 R/Title(OS2 Client)/Dest[1398 0 R/XYZ 0 513 0]/Prev 1645 0 R/Next 1651 0 R>>endobj
+1647 0 obj<</Parent 1646 0 R/Title(How can I configure OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba?)/Dest[1398 0 R/XYZ 0 493 0]/Next 1648 0 R>>endobj
+1648 0 obj<</Parent 1646 0 R/Title(How can I configure OS/2 Warp 3 \(not Connect\), OS/2 1.2, 1.3 or 2.x for Samba?)/Dest[1400 0 R/XYZ 0 786 0]/Prev 1647 0 R/Next 1649 0 R>>endobj
+1649 0 obj<</Parent 1646 0 R/Title(Are there any other issues when OS/2 \(any version\) is used as a client?)/Dest[1400 0 R/XYZ 0 573 0]/Prev 1648 0 R/Next 1650 0 R>>endobj
+1650 0 obj<</Parent 1646 0 R/Title(How do I get printer driver download working for OS/2 clients?)/Dest[1400 0 R/XYZ 0 475 0]/Prev 1649 0 R>>endobj
+1651 0 obj<</Parent 1644 0 R/Count -4/First 1652 0 R/Last 1655 0 R/Title(Windows for Workgroups)/Dest[1400 0 R/XYZ 0 218 0]/Prev 1646 0 R/Next 1656 0 R>>endobj
+1652 0 obj<</Parent 1651 0 R/Title(Use latest TCP/IP stack from Microsoft)/Dest[1400 0 R/XYZ 0 198 0]/Next 1653 0 R>>endobj
+1653 0 obj<</Parent 1651 0 R/Title(Delete .pwl files after password change)/Dest[1402 0 R/XYZ 0 705 0]/Prev 1652 0 R/Next 1654 0 R>>endobj
+1654 0 obj<</Parent 1651 0 R/Title(Configure WfW password handling)/Dest[1402 0 R/XYZ 0 554 0]/Prev 1653 0 R/Next 1655 0 R>>endobj
+1655 0 obj<</Parent 1651 0 R/Title(Case handling of passwords)/Dest[1402 0 R/XYZ 0 456 0]/Prev 1654 0 R>>endobj
+1656 0 obj<</Parent 1644 0 R/Title(Windows '95/'98)/Dest[1402 0 R/XYZ 0 371 0]/Prev 1651 0 R/Next 1657 0 R>>endobj
+1657 0 obj<</Parent 1644 0 R/Title(Windows 2000 Service Pack 2)/Dest[1404 0 R/XYZ 0 786 0]/Prev 1656 0 R>>endobj
+1658 0 obj<</Parent 1420 0 R/Count -6/First 1659 0 R/Last 1664 0 R/Title(Reporting Bugs)/Dest[1406 0 R/XYZ 0 786 0]/Prev 1644 0 R/Next 1665 0 R>>endobj
+1659 0 obj<</Parent 1658 0 R/Title(Introduction)/Dest[1406 0 R/XYZ 0 762 0]/Next 1660 0 R>>endobj
+1660 0 obj<</Parent 1658 0 R/Title(General info)/Dest[1406 0 R/XYZ 0 476 0]/Prev 1659 0 R/Next 1661 0 R>>endobj
+1661 0 obj<</Parent 1658 0 R/Title(Debug levels)/Dest[1406 0 R/XYZ 0 335 0]/Prev 1660 0 R/Next 1662 0 R>>endobj
+1662 0 obj<</Parent 1658 0 R/Title(Internal errors)/Dest[1408 0 R/XYZ 0 665 0]/Prev 1661 0 R/Next 1663 0 R>>endobj
+1663 0 obj<</Parent 1658 0 R/Title(Attaching to a running process)/Dest[1408 0 R/XYZ 0 313 0]/Prev 1662 0 R/Next 1664 0 R>>endobj
+1664 0 obj<</Parent 1658 0 R/Title(Patches)/Dest[1408 0 R/XYZ 0 211 0]/Prev 1663 0 R>>endobj
+1665 0 obj<</Parent 1420 0 R/Count -4/First 1666 0 R/Last 1680 0 R/Title(Diagnosing your samba server)/Dest[1410 0 R/XYZ 0 786 0]/Prev 1658 0 R>>endobj
+1666 0 obj<</Parent 1665 0 R/Title(Introduction)/Dest[1410 0 R/XYZ 0 762 0]/Next 1667 0 R>>endobj
+1667 0 obj<</Parent 1665 0 R/Title(Assumptions)/Dest[1410 0 R/XYZ 0 581 0]/Prev 1666 0 R/Next 1668 0 R>>endobj
+1668 0 obj<</Parent 1665 0 R/Count -11/First 1669 0 R/Last 1679 0 R/Title(Tests)/Dest[1410 0 R/XYZ 0 249 0]/Prev 1667 0 R/Next 1680 0 R>>endobj
+1669 0 obj<</Parent 1668 0 R/Title(Test 1)/Dest[1410 0 R/XYZ 0 229 0]/Next 1670 0 R>>endobj
+1670 0 obj<</Parent 1668 0 R/Title(Test 2)/Dest[1412 0 R/XYZ 0 786 0]/Prev 1669 0 R/Next 1671 0 R>>endobj
+1671 0 obj<</Parent 1668 0 R/Title(Test 3)/Dest[1412 0 R/XYZ 0 583 0]/Prev 1670 0 R/Next 1672 0 R>>endobj
+1672 0 obj<</Parent 1668 0 R/Title(Test 4)/Dest[1414 0 R/XYZ 0 652 0]/Prev 1671 0 R/Next 1673 0 R>>endobj
+1673 0 obj<</Parent 1668 0 R/Title(Test 5)/Dest[1414 0 R/XYZ 0 501 0]/Prev 1672 0 R/Next 1674 0 R>>endobj
+1674 0 obj<</Parent 1668 0 R/Title(Test 6)/Dest[1414 0 R/XYZ 0 377 0]/Prev 1673 0 R/Next 1675 0 R>>endobj
+1675 0 obj<</Parent 1668 0 R/Title(Test 7)/Dest[1416 0 R/XYZ 0 786 0]/Prev 1674 0 R/Next 1676 0 R>>endobj
+1676 0 obj<</Parent 1668 0 R/Title(Test 8)/Dest[1416 0 R/XYZ 0 424 0]/Prev 1675 0 R/Next 1677 0 R>>endobj
+1677 0 obj<</Parent 1668 0 R/Title(Test 9)/Dest[1418 0 R/XYZ 0 758 0]/Prev 1676 0 R/Next 1678 0 R>>endobj
+1678 0 obj<</Parent 1668 0 R/Title(Test 10)/Dest[1418 0 R/XYZ 0 567 0]/Prev 1677 0 R/Next 1679 0 R>>endobj
+1679 0 obj<</Parent 1668 0 R/Title(Test 11)/Dest[1418 0 R/XYZ 0 430 0]/Prev 1678 0 R>>endobj
+1680 0 obj<</Parent 1665 0 R/Title(Still having troubles?)/Dest[1418 0 R/XYZ 0 292 0]/Prev 1668 0 R>>endobj
+1681 0 obj<</Type/Catalog/Pages 1119 0 R/PageLayout/SinglePage/Outlines 1420 0 R/OpenAction[1136 0 R/XYZ null null 0]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</S/r>>8<</S/D/St 1/P()>>9<</S/D/St 2/P()>>13<</S/D/St 6/P()>>14<</S/D/St 7/P()>>15<</S/D/St 8/P()>>22<</S/D/St 15/P()>>31<</S/D/St 24/P()>>35<</S/D/St 28/P()>>38<</S/D/St 31/P()>>39<</S/D/St 32/P()>>40<</S/D/St 33/P()>>42<</S/D/St 35/P()>>59<</S/D/St 52/P()>>62<</S/D/St 55/P()>>65<</S/D/St 58/P()>>68<</S/D/St 61/P()>>69<</S/D/St 62/P()>>70<</S/D/St 63/P()>>81<</S/D/St 74/P()>>86<</S/D/St 79/P()>>89<</S/D/St 82/P()>>91<</S/D/St 84/P()>>102<</S/D/St 95/P()>>115<</S/D/St 108/P()>>117<</S/D/St 110/P()>>118<</S/D/St 111/P()>>121<</S/D/St 114/P()>>128<</S/D/St 121/P()>>130<</S/D/St 123/P()>>131<</S/D/St 124/P()>>135<</S/D/St 128/P()>>136<</S/D/St 129/P()>>139<</S/D/St 132/P()>>143<</S/D/St 136/P()>>145<</S/D/St 138/P()>>]>>>>endobj
 xref
-0 1937 
+0 1682 
 0000000000 65535 f 
 0000000015 00000 n 
-0000000248 00000 n 
-0000001814 00000 n 
-0000001888 00000 n 
-0000001967 00000 n 
-0000002049 00000 n 
-0000002135 00000 n 
-0000002213 00000 n 
-0000002290 00000 n 
-0000002369 00000 n 
-0000002453 00000 n 
-0000002530 00000 n 
-0000002612 00000 n 
-0000002671 00000 n 
-0000002773 00000 n 
-0000002876 00000 n 
-0000002978 00000 n 
-0000003080 00000 n 
-0000003182 00000 n 
-0000003284 00000 n 
-0000003387 00000 n 
-0000003490 00000 n 
-0000003593 00000 n 
-0000003696 00000 n 
-0000003799 00000 n 
-0000003902 00000 n 
-0000004005 00000 n 
-0000004108 00000 n 
-0000004211 00000 n 
-0000004314 00000 n 
-0000004417 00000 n 
-0000004520 00000 n 
-0000004623 00000 n 
-0000004726 00000 n 
-0000004829 00000 n 
-0000004932 00000 n 
-0000005035 00000 n 
-0000005138 00000 n 
-0000005240 00000 n 
-0000005343 00000 n 
-0000005446 00000 n 
-0000005549 00000 n 
-0000005652 00000 n 
-0000005755 00000 n 
-0000005858 00000 n 
-0000005961 00000 n 
-0000006064 00000 n 
-0000006167 00000 n 
-0000006270 00000 n 
-0000006373 00000 n 
-0000006476 00000 n 
-0000006578 00000 n 
-0000006681 00000 n 
-0000006970 00000 n 
-0000007072 00000 n 
-0000007175 00000 n 
-0000007278 00000 n 
-0000007381 00000 n 
-0000007484 00000 n 
-0000007587 00000 n 
-0000007690 00000 n 
-0000007792 00000 n 
-0000007895 00000 n 
-0000007998 00000 n 
-0000008101 00000 n 
-0000008204 00000 n 
-0000008307 00000 n 
-0000008409 00000 n 
-0000008511 00000 n 
-0000008613 00000 n 
-0000008716 00000 n 
-0000008819 00000 n 
-0000008922 00000 n 
-0000009025 00000 n 
-0000009128 00000 n 
-0000009231 00000 n 
-0000009334 00000 n 
-0000009437 00000 n 
-0000009540 00000 n 
-0000009643 00000 n 
-0000009746 00000 n 
-0000009849 00000 n 
-0000009952 00000 n 
-0000010055 00000 n 
-0000010157 00000 n 
-0000010260 00000 n 
-0000010363 00000 n 
-0000010466 00000 n 
-0000010569 00000 n 
-0000010672 00000 n 
-0000010775 00000 n 
-0000010878 00000 n 
-0000010981 00000 n 
-0000011082 00000 n 
-0000011183 00000 n 
-0000011284 00000 n 
-0000011594 00000 n 
-0000011696 00000 n 
-0000011799 00000 n 
-0000011902 00000 n 
-0000012006 00000 n 
-0000012110 00000 n 
-0000012214 00000 n 
-0000012318 00000 n 
-0000012422 00000 n 
-0000012525 00000 n 
-0000012629 00000 n 
-0000012733 00000 n 
-0000012837 00000 n 
-0000012940 00000 n 
-0000013043 00000 n 
-0000013146 00000 n 
-0000013250 00000 n 
-0000013354 00000 n 
-0000013458 00000 n 
-0000013562 00000 n 
-0000013666 00000 n 
-0000013770 00000 n 
-0000013874 00000 n 
-0000013978 00000 n 
-0000014082 00000 n 
-0000014186 00000 n 
-0000014290 00000 n 
-0000014394 00000 n 
-0000014498 00000 n 
-0000014602 00000 n 
-0000014706 00000 n 
-0000014810 00000 n 
-0000014914 00000 n 
-0000015018 00000 n 
-0000015121 00000 n 
-0000015225 00000 n 
-0000015329 00000 n 
-0000015433 00000 n 
-0000015537 00000 n 
-0000015641 00000 n 
-0000015745 00000 n 
-0000015848 00000 n 
-0000015950 00000 n 
-0000016052 00000 n 
+0000000250 00000 n 
+0000001816 00000 n 
+0000001890 00000 n 
+0000001969 00000 n 
+0000002051 00000 n 
+0000002137 00000 n 
+0000002215 00000 n 
+0000002292 00000 n 
+0000002371 00000 n 
+0000002455 00000 n 
+0000002532 00000 n 
+0000002614 00000 n 
+0000002673 00000 n 
+0000002775 00000 n 
+0000002878 00000 n 
+0000002980 00000 n 
+0000003082 00000 n 
+0000003184 00000 n 
+0000003286 00000 n 
+0000003389 00000 n 
+0000003492 00000 n 
+0000003595 00000 n 
+0000003698 00000 n 
+0000003801 00000 n 
+0000003904 00000 n 
+0000004007 00000 n 
+0000004110 00000 n 
+0000004213 00000 n 
+0000004316 00000 n 
+0000004419 00000 n 
+0000004522 00000 n 
+0000004625 00000 n 
+0000004728 00000 n 
+0000004831 00000 n 
+0000004934 00000 n 
+0000005037 00000 n 
+0000005140 00000 n 
+0000005242 00000 n 
+0000005345 00000 n 
+0000005448 00000 n 
+0000005551 00000 n 
+0000005654 00000 n 
+0000005757 00000 n 
+0000005860 00000 n 
+0000005963 00000 n 
+0000006066 00000 n 
+0000006169 00000 n 
+0000006272 00000 n 
+0000006375 00000 n 
+0000006478 00000 n 
+0000006580 00000 n 
+0000006683 00000 n 
+0000006785 00000 n 
+0000006886 00000 n 
+0000006987 00000 n 
+0000007297 00000 n 
+0000007399 00000 n 
+0000007502 00000 n 
+0000007605 00000 n 
+0000007707 00000 n 
+0000007810 00000 n 
+0000007913 00000 n 
+0000008016 00000 n 
+0000008119 00000 n 
+0000008222 00000 n 
+0000008324 00000 n 
+0000008426 00000 n 
+0000008528 00000 n 
+0000008630 00000 n 
+0000008733 00000 n 
+0000008836 00000 n 
+0000008939 00000 n 
+0000009042 00000 n 
+0000009145 00000 n 
+0000009248 00000 n 
+0000009351 00000 n 
+0000009454 00000 n 
+0000009557 00000 n 
+0000009660 00000 n 
+0000009763 00000 n 
+0000009866 00000 n 
+0000009969 00000 n 
+0000010072 00000 n 
+0000010174 00000 n 
+0000010277 00000 n 
+0000010380 00000 n 
+0000010483 00000 n 
+0000010586 00000 n 
+0000010689 00000 n 
+0000010792 00000 n 
+0000010895 00000 n 
+0000010998 00000 n 
+0000011100 00000 n 
+0000011203 00000 n 
+0000011305 00000 n 
+0000011406 00000 n 
+0000011507 00000 n 
+0000011810 00000 n 
+0000011912 00000 n 
+0000012016 00000 n 
+0000012120 00000 n 
+0000012224 00000 n 
+0000012328 00000 n 
+0000012432 00000 n 
+0000012535 00000 n 
+0000012639 00000 n 
+0000012743 00000 n 
+0000012847 00000 n 
+0000012950 00000 n 
+0000013053 00000 n 
+0000013156 00000 n 
+0000013260 00000 n 
+0000013364 00000 n 
+0000013468 00000 n 
+0000013572 00000 n 
+0000013676 00000 n 
+0000013780 00000 n 
+0000013884 00000 n 
+0000013988 00000 n 
+0000014092 00000 n 
+0000014196 00000 n 
+0000014300 00000 n 
+0000014404 00000 n 
+0000014508 00000 n 
+0000014612 00000 n 
+0000014716 00000 n 
+0000014820 00000 n 
+0000014924 00000 n 
+0000015028 00000 n 
+0000015131 00000 n 
+0000015235 00000 n 
+0000015339 00000 n 
+0000015443 00000 n 
+0000015547 00000 n 
+0000015651 00000 n 
+0000015755 00000 n 
+0000015859 00000 n 
+0000015963 00000 n 
+0000016066 00000 n 
 0000016410 00000 n 
 0000016513 00000 n 
 0000016617 00000 n 
@@ -4301,102 +3779,102 @@ xref
 0000019630 00000 n 
 0000019734 00000 n 
 0000019838 00000 n 
-0000019941 00000 n 
-0000020045 00000 n 
-0000020149 00000 n 
-0000020253 00000 n 
-0000020357 00000 n 
-0000020461 00000 n 
-0000020565 00000 n 
-0000020669 00000 n 
-0000020772 00000 n 
-0000020874 00000 n 
-0000020976 00000 n 
-0000021345 00000 n 
-0000021448 00000 n 
-0000021552 00000 n 
-0000021656 00000 n 
-0000021760 00000 n 
-0000021864 00000 n 
-0000021968 00000 n 
-0000022072 00000 n 
-0000022175 00000 n 
-0000022279 00000 n 
-0000022383 00000 n 
-0000022487 00000 n 
-0000022591 00000 n 
-0000022694 00000 n 
-0000022798 00000 n 
-0000022902 00000 n 
-0000023005 00000 n 
-0000023109 00000 n 
-0000023213 00000 n 
-0000023317 00000 n 
-0000023421 00000 n 
-0000023525 00000 n 
-0000023629 00000 n 
-0000023733 00000 n 
-0000023837 00000 n 
-0000023941 00000 n 
-0000024045 00000 n 
-0000024149 00000 n 
-0000024253 00000 n 
-0000024356 00000 n 
-0000024460 00000 n 
-0000024564 00000 n 
-0000024668 00000 n 
-0000024772 00000 n 
-0000024875 00000 n 
-0000024978 00000 n 
-0000025082 00000 n 
-0000025186 00000 n 
-0000025290 00000 n 
-0000025394 00000 n 
-0000025497 00000 n 
-0000025599 00000 n 
-0000025701 00000 n 
-0000026054 00000 n 
-0000026157 00000 n 
-0000026261 00000 n 
-0000026365 00000 n 
-0000026469 00000 n 
-0000026573 00000 n 
-0000026677 00000 n 
-0000026781 00000 n 
-0000026885 00000 n 
-0000026989 00000 n 
-0000027093 00000 n 
-0000027197 00000 n 
-0000027301 00000 n 
-0000027405 00000 n 
-0000027509 00000 n 
-0000027612 00000 n 
-0000027715 00000 n 
-0000027819 00000 n 
-0000027923 00000 n 
-0000028027 00000 n 
-0000028131 00000 n 
-0000028234 00000 n 
-0000028338 00000 n 
-0000028442 00000 n 
-0000028546 00000 n 
-0000028650 00000 n 
-0000028754 00000 n 
-0000028858 00000 n 
-0000028962 00000 n 
-0000029066 00000 n 
-0000029170 00000 n 
-0000029274 00000 n 
-0000029378 00000 n 
-0000029482 00000 n 
-0000029586 00000 n 
-0000029689 00000 n 
-0000029793 00000 n 
-0000029897 00000 n 
-0000030001 00000 n 
-0000030105 00000 n 
-0000030209 00000 n 
-0000030313 00000 n 
+0000019942 00000 n 
+0000020046 00000 n 
+0000020150 00000 n 
+0000020254 00000 n 
+0000020358 00000 n 
+0000020462 00000 n 
+0000020566 00000 n 
+0000020670 00000 n 
+0000020774 00000 n 
+0000020877 00000 n 
+0000020979 00000 n 
+0000021081 00000 n 
+0000021458 00000 n 
+0000021561 00000 n 
+0000021665 00000 n 
+0000021769 00000 n 
+0000021872 00000 n 
+0000021976 00000 n 
+0000022080 00000 n 
+0000022184 00000 n 
+0000022288 00000 n 
+0000022391 00000 n 
+0000022495 00000 n 
+0000022599 00000 n 
+0000022702 00000 n 
+0000022806 00000 n 
+0000022910 00000 n 
+0000023014 00000 n 
+0000023118 00000 n 
+0000023222 00000 n 
+0000023326 00000 n 
+0000023430 00000 n 
+0000023534 00000 n 
+0000023637 00000 n 
+0000023741 00000 n 
+0000023845 00000 n 
+0000023949 00000 n 
+0000024053 00000 n 
+0000024157 00000 n 
+0000024261 00000 n 
+0000024365 00000 n 
+0000024469 00000 n 
+0000024573 00000 n 
+0000024677 00000 n 
+0000024781 00000 n 
+0000024885 00000 n 
+0000024988 00000 n 
+0000025092 00000 n 
+0000025196 00000 n 
+0000025300 00000 n 
+0000025404 00000 n 
+0000025507 00000 n 
+0000025836 00000 n 
+0000025939 00000 n 
+0000026043 00000 n 
+0000026147 00000 n 
+0000026251 00000 n 
+0000026355 00000 n 
+0000026459 00000 n 
+0000026563 00000 n 
+0000026667 00000 n 
+0000026771 00000 n 
+0000026875 00000 n 
+0000026979 00000 n 
+0000027082 00000 n 
+0000027185 00000 n 
+0000027289 00000 n 
+0000027393 00000 n 
+0000027497 00000 n 
+0000027601 00000 n 
+0000027704 00000 n 
+0000027808 00000 n 
+0000027912 00000 n 
+0000028016 00000 n 
+0000028120 00000 n 
+0000028224 00000 n 
+0000028328 00000 n 
+0000028432 00000 n 
+0000028536 00000 n 
+0000028640 00000 n 
+0000028744 00000 n 
+0000028848 00000 n 
+0000028952 00000 n 
+0000029056 00000 n 
+0000029159 00000 n 
+0000029263 00000 n 
+0000029367 00000 n 
+0000029471 00000 n 
+0000029575 00000 n 
+0000029679 00000 n 
+0000029783 00000 n 
+0000029886 00000 n 
+0000029990 00000 n 
+0000030093 00000 n 
+0000030195 00000 n 
+0000030297 00000 n 
 0000030658 00000 n 
 0000030761 00000 n 
 0000030865 00000 n 
 0000031697 00000 n 
 0000031801 00000 n 
 0000031905 00000 n 
-0000032009 00000 n 
-0000032113 00000 n 
-0000032217 00000 n 
-0000032321 00000 n 
-0000032466 00000 n 
-0000032519 00000 n 
-0000032606 00000 n 
-0000032660 00000 n 
-0000032746 00000 n 
-0000032813 00000 n 
-0000032899 00000 n 
-0000033002 00000 n 
-0000033106 00000 n 
-0000033210 00000 n 
-0000033314 00000 n 
-0000033418 00000 n 
-0000033522 00000 n 
-0000033626 00000 n 
-0000033730 00000 n 
-0000033834 00000 n 
-0000033938 00000 n 
-0000034042 00000 n 
-0000034146 00000 n 
-0000034250 00000 n 
-0000034354 00000 n 
-0000034458 00000 n 
-0000034562 00000 n 
-0000034666 00000 n 
-0000034770 00000 n 
-0000034874 00000 n 
-0000034978 00000 n 
-0000035082 00000 n 
-0000035186 00000 n 
-0000035290 00000 n 
-0000035394 00000 n 
-0000035498 00000 n 
-0000035602 00000 n 
-0000035706 00000 n 
-0000035810 00000 n 
-0000035914 00000 n 
-0000036018 00000 n 
-0000036122 00000 n 
-0000036225 00000 n 
-0000036327 00000 n 
-0000036429 00000 n 
-0000036742 00000 n 
-0000036846 00000 n 
-0000036950 00000 n 
-0000037054 00000 n 
-0000037157 00000 n 
-0000037261 00000 n 
-0000037365 00000 n 
-0000037469 00000 n 
-0000037573 00000 n 
-0000037677 00000 n 
-0000037781 00000 n 
-0000037885 00000 n 
-0000037989 00000 n 
-0000038093 00000 n 
-0000038197 00000 n 
-0000038301 00000 n 
-0000038405 00000 n 
-0000038509 00000 n 
-0000038613 00000 n 
-0000038717 00000 n 
-0000038821 00000 n 
-0000038925 00000 n 
-0000039029 00000 n 
-0000039133 00000 n 
-0000039237 00000 n 
-0000039341 00000 n 
-0000039445 00000 n 
-0000039549 00000 n 
-0000039653 00000 n 
-0000039757 00000 n 
-0000039861 00000 n 
-0000039965 00000 n 
-0000040069 00000 n 
-0000040173 00000 n 
-0000040276 00000 n 
-0000040380 00000 n 
-0000040484 00000 n 
-0000040588 00000 n 
-0000040692 00000 n 
-0000040796 00000 n 
-0000040900 00000 n 
-0000041004 00000 n 
-0000041108 00000 n 
-0000041212 00000 n 
-0000041316 00000 n 
-0000041420 00000 n 
-0000041524 00000 n 
-0000041628 00000 n 
-0000041732 00000 n 
-0000041835 00000 n 
-0000041937 00000 n 
-0000042039 00000 n 
-0000042464 00000 n 
-0000042568 00000 n 
-0000042672 00000 n 
-0000042776 00000 n 
-0000042880 00000 n 
-0000042984 00000 n 
-0000043088 00000 n 
-0000043192 00000 n 
-0000043296 00000 n 
-0000043400 00000 n 
-0000043504 00000 n 
-0000043608 00000 n 
-0000043712 00000 n 
-0000043816 00000 n 
-0000043920 00000 n 
-0000044024 00000 n 
-0000044128 00000 n 
-0000044232 00000 n 
-0000044336 00000 n 
-0000044440 00000 n 
-0000044544 00000 n 
-0000044648 00000 n 
-0000044752 00000 n 
-0000044856 00000 n 
-0000044960 00000 n 
-0000045064 00000 n 
-0000045168 00000 n 
-0000045272 00000 n 
-0000045376 00000 n 
-0000045480 00000 n 
-0000045584 00000 n 
-0000045688 00000 n 
-0000045792 00000 n 
-0000045896 00000 n 
-0000046000 00000 n 
-0000046104 00000 n 
-0000046208 00000 n 
-0000046312 00000 n 
-0000046416 00000 n 
-0000046520 00000 n 
-0000046624 00000 n 
-0000046728 00000 n 
-0000046832 00000 n 
-0000046936 00000 n 
-0000047040 00000 n 
-0000047144 00000 n 
-0000047248 00000 n 
-0000047352 00000 n 
-0000047456 00000 n 
-0000047559 00000 n 
-0000047661 00000 n 
-0000047763 00000 n 
-0000048188 00000 n 
-0000048292 00000 n 
-0000048396 00000 n 
-0000048500 00000 n 
-0000048604 00000 n 
-0000048708 00000 n 
-0000048812 00000 n 
-0000048916 00000 n 
-0000049020 00000 n 
-0000049124 00000 n 
-0000049228 00000 n 
-0000049332 00000 n 
-0000049435 00000 n 
-0000049539 00000 n 
-0000049643 00000 n 
-0000049747 00000 n 
-0000049851 00000 n 
-0000049955 00000 n 
-0000050059 00000 n 
-0000050163 00000 n 
-0000050267 00000 n 
-0000050371 00000 n 
-0000050475 00000 n 
-0000050579 00000 n 
-0000050683 00000 n 
-0000050787 00000 n 
-0000050891 00000 n 
-0000050995 00000 n 
-0000051099 00000 n 
-0000051203 00000 n 
-0000051307 00000 n 
-0000051411 00000 n 
-0000051515 00000 n 
-0000051619 00000 n 
-0000051723 00000 n 
-0000051827 00000 n 
-0000052124 00000 n 
-0000052227 00000 n 
-0000052331 00000 n 
-0000052435 00000 n 
-0000052539 00000 n 
-0000052643 00000 n 
-0000052747 00000 n 
-0000052851 00000 n 
-0000052955 00000 n 
-0000053059 00000 n 
-0000053163 00000 n 
-0000053267 00000 n 
-0000053371 00000 n 
-0000053475 00000 n 
-0000053579 00000 n 
-0000053683 00000 n 
-0000053787 00000 n 
-0000053891 00000 n 
-0000053995 00000 n 
-0000054099 00000 n 
-0000054202 00000 n 
-0000054306 00000 n 
-0000054410 00000 n 
-0000054514 00000 n 
-0000054618 00000 n 
-0000054722 00000 n 
-0000054826 00000 n 
-0000054930 00000 n 
-0000055034 00000 n 
-0000055138 00000 n 
-0000055242 00000 n 
-0000055346 00000 n 
-0000055450 00000 n 
-0000055553 00000 n 
-0000055657 00000 n 
-0000055760 00000 n 
-0000055864 00000 n 
-0000055968 00000 n 
-0000056072 00000 n 
-0000056176 00000 n 
-0000056280 00000 n 
-0000056384 00000 n 
-0000056486 00000 n 
-0000056588 00000 n 
-0000056690 00000 n 
-0000057059 00000 n 
-0000057163 00000 n 
-0000057267 00000 n 
-0000057371 00000 n 
-0000057412 00000 n 
-0000057465 00000 n 
-0000057552 00000 n 
-0000057577 00000 n 
-0000057624 00000 n 
-0000057711 00000 n 
-0000057736 00000 n 
-0000057839 00000 n 
-0000057943 00000 n 
+0000032018 00000 n 
+0000032071 00000 n 
+0000032158 00000 n 
+0000032212 00000 n 
+0000032298 00000 n 
+0000032353 00000 n 
+0000032440 00000 n 
+0000032507 00000 n 
+0000032593 00000 n 
+0000032696 00000 n 
+0000032800 00000 n 
+0000032904 00000 n 
+0000033008 00000 n 
+0000033112 00000 n 
+0000033216 00000 n 
+0000033320 00000 n 
+0000033424 00000 n 
+0000033528 00000 n 
+0000033632 00000 n 
+0000033736 00000 n 
+0000033840 00000 n 
+0000033944 00000 n 
+0000034048 00000 n 
+0000034152 00000 n 
+0000034256 00000 n 
+0000034360 00000 n 
+0000034464 00000 n 
+0000034568 00000 n 
+0000034672 00000 n 
+0000034776 00000 n 
+0000034880 00000 n 
+0000034984 00000 n 
+0000035088 00000 n 
+0000035192 00000 n 
+0000035296 00000 n 
+0000035400 00000 n 
+0000035504 00000 n 
+0000035608 00000 n 
+0000035712 00000 n 
+0000035816 00000 n 
+0000035919 00000 n 
+0000036021 00000 n 
+0000036123 00000 n 
+0000036444 00000 n 
+0000036548 00000 n 
+0000036651 00000 n 
+0000036755 00000 n 
+0000036859 00000 n 
+0000036963 00000 n 
+0000037067 00000 n 
+0000037171 00000 n 
+0000037275 00000 n 
+0000037379 00000 n 
+0000037483 00000 n 
+0000037587 00000 n 
+0000037691 00000 n 
+0000037795 00000 n 
+0000037899 00000 n 
+0000038003 00000 n 
+0000038107 00000 n 
+0000038211 00000 n 
+0000038315 00000 n 
+0000038419 00000 n 
+0000038523 00000 n 
+0000038627 00000 n 
+0000038731 00000 n 
+0000038835 00000 n 
+0000038939 00000 n 
+0000039043 00000 n 
+0000039147 00000 n 
+0000039251 00000 n 
+0000039355 00000 n 
+0000039459 00000 n 
+0000039563 00000 n 
+0000039667 00000 n 
+0000039771 00000 n 
+0000039874 00000 n 
+0000039978 00000 n 
+0000040082 00000 n 
+0000040186 00000 n 
+0000040290 00000 n 
+0000040394 00000 n 
+0000040498 00000 n 
+0000040602 00000 n 
+0000040706 00000 n 
+0000040810 00000 n 
+0000040914 00000 n 
+0000041018 00000 n 
+0000041122 00000 n 
+0000041226 00000 n 
+0000041330 00000 n 
+0000041434 00000 n 
+0000041537 00000 n 
+0000041639 00000 n 
+0000041741 00000 n 
+0000042166 00000 n 
+0000042270 00000 n 
+0000042374 00000 n 
+0000042478 00000 n 
+0000042582 00000 n 
+0000042686 00000 n 
+0000042790 00000 n 
+0000042894 00000 n 
+0000042998 00000 n 
+0000043102 00000 n 
+0000043206 00000 n 
+0000043310 00000 n 
+0000043414 00000 n 
+0000043518 00000 n 
+0000043622 00000 n 
+0000043726 00000 n 
+0000043830 00000 n 
+0000043934 00000 n 
+0000044038 00000 n 
+0000044142 00000 n 
+0000044246 00000 n 
+0000044350 00000 n 
+0000044454 00000 n 
+0000044558 00000 n 
+0000044662 00000 n 
+0000044766 00000 n 
+0000044870 00000 n 
+0000044974 00000 n 
+0000045078 00000 n 
+0000045182 00000 n 
+0000045286 00000 n 
+0000045390 00000 n 
+0000045494 00000 n 
+0000045598 00000 n 
+0000045702 00000 n 
+0000045806 00000 n 
+0000045910 00000 n 
+0000046014 00000 n 
+0000046118 00000 n 
+0000046222 00000 n 
+0000046326 00000 n 
+0000046430 00000 n 
+0000046534 00000 n 
+0000046638 00000 n 
+0000046742 00000 n 
+0000046846 00000 n 
+0000046950 00000 n 
+0000047054 00000 n 
+0000047158 00000 n 
+0000047261 00000 n 
+0000047363 00000 n 
+0000047465 00000 n 
+0000047890 00000 n 
+0000047994 00000 n 
+0000048098 00000 n 
+0000048202 00000 n 
+0000048305 00000 n 
+0000048409 00000 n 
+0000048513 00000 n 
+0000048617 00000 n 
+0000048721 00000 n 
+0000048825 00000 n 
+0000048929 00000 n 
+0000049033 00000 n 
+0000049137 00000 n 
+0000049241 00000 n 
+0000049345 00000 n 
+0000049449 00000 n 
+0000049553 00000 n 
+0000049657 00000 n 
+0000049761 00000 n 
+0000049865 00000 n 
+0000049969 00000 n 
+0000050073 00000 n 
+0000050177 00000 n 
+0000050281 00000 n 
+0000050385 00000 n 
+0000050489 00000 n 
+0000050593 00000 n 
+0000050697 00000 n 
+0000050930 00000 n 
+0000051033 00000 n 
+0000051136 00000 n 
+0000051239 00000 n 
+0000051342 00000 n 
+0000051391 00000 n 
+0000051444 00000 n 
+0000051531 00000 n 
+0000051556 00000 n 
+0000051603 00000 n 
+0000051690 00000 n 
+0000051715 00000 n 
+0000051818 00000 n 
+0000051921 00000 n 
+0000052024 00000 n 
+0000052127 00000 n 
+0000052230 00000 n 
+0000052287 00000 n 
+0000052335 00000 n 
+0000052422 00000 n 
+0000052470 00000 n 
+0000052557 00000 n 
+0000052607 00000 n 
+0000052694 00000 n 
+0000052742 00000 n 
+0000052829 00000 n 
+0000052878 00000 n 
+0000052926 00000 n 
+0000053013 00000 n 
+0000053061 00000 n 
+0000053146 00000 n 
+0000053191 00000 n 
+0000053277 00000 n 
+0000053320 00000 n 
+0000053406 00000 n 
+0000053447 00000 n 
+0000053533 00000 n 
+0000053582 00000 n 
+0000053668 00000 n 
+0000053714 00000 n 
+0000053800 00000 n 
+0000053845 00000 n 
+0000053931 00000 n 
+0000053983 00000 n 
+0000054069 00000 n 
+0000054119 00000 n 
+0000054205 00000 n 
+0000054251 00000 n 
+0000054337 00000 n 
+0000054380 00000 n 
+0000054466 00000 n 
+0000054510 00000 n 
+0000054596 00000 n 
+0000054639 00000 n 
+0000054725 00000 n 
+0000054770 00000 n 
+0000054856 00000 n 
+0000054894 00000 n 
+0000054980 00000 n 
+0000055022 00000 n 
+0000055108 00000 n 
+0000055151 00000 n 
+0000055237 00000 n 
+0000055275 00000 n 
+0000055361 00000 n 
+0000055403 00000 n 
+0000055489 00000 n 
+0000055533 00000 n 
+0000055619 00000 n 
+0000055666 00000 n 
+0000055752 00000 n 
+0000055800 00000 n 
+0000055885 00000 n 
+0000056086 00000 n 
+0000056136 00000 n 
+0000056223 00000 n 
+0000056273 00000 n 
+0000056359 00000 n 
+0000056392 00000 n 
+0000056441 00000 n 
+0000056527 00000 n 
+0000056574 00000 n 
+0000056661 00000 n 
+0000056694 00000 n 
+0000056809 00000 n 
+0000056896 00000 n 
+0000056978 00000 n 
+0000057065 00000 n 
+0000057150 00000 n 
+0000057237 00000 n 
+0000057278 00000 n 
+0000057333 00000 n 
+0000057420 00000 n 
+0000057476 00000 n 
+0000057563 00000 n 
+0000057596 00000 n 
+0000057644 00000 n 
+0000057731 00000 n 
+0000057805 00000 n 
+0000057892 00000 n 
+0000057960 00000 n 
 0000058047 00000 n 
-0000058151 00000 n 
-0000058255 00000 n 
-0000058359 00000 n 
-0000058463 00000 n 
-0000058567 00000 n 
-0000058671 00000 n 
-0000058775 00000 n 
-0000058879 00000 n 
-0000058983 00000 n 
+0000058101 00000 n 
+0000058188 00000 n 
+0000058256 00000 n 
+0000058343 00000 n 
+0000058417 00000 n 
+0000058504 00000 n 
+0000058552 00000 n 
+0000058639 00000 n 
+0000058696 00000 n 
+0000058783 00000 n 
+0000058864 00000 n 
+0000058919 00000 n 
+0000059006 00000 n 
 0000059087 00000 n 
-0000059191 00000 n 
-0000059295 00000 n 
-0000059398 00000 n 
-0000059502 00000 n 
-0000059606 00000 n 
-0000059710 00000 n 
-0000059814 00000 n 
-0000059918 00000 n 
-0000060022 00000 n 
-0000060126 00000 n 
-0000060230 00000 n 
-0000060333 00000 n 
-0000060437 00000 n 
-0000060541 00000 n 
-0000060645 00000 n 
-0000060749 00000 n 
-0000060853 00000 n 
-0000060957 00000 n 
-0000061061 00000 n 
-0000061165 00000 n 
-0000061269 00000 n 
-0000061372 00000 n 
-0000061476 00000 n 
-0000061580 00000 n 
-0000061684 00000 n 
-0000062005 00000 n 
-0000062053 00000 n 
-0000062140 00000 n 
-0000062188 00000 n 
-0000062275 00000 n 
-0000062325 00000 n 
-0000062412 00000 n 
-0000062460 00000 n 
-0000062547 00000 n 
-0000062596 00000 n 
-0000062644 00000 n 
-0000062731 00000 n 
-0000062779 00000 n 
-0000062864 00000 n 
-0000062909 00000 n 
-0000062995 00000 n 
-0000063038 00000 n 
-0000063124 00000 n 
-0000063165 00000 n 
-0000063251 00000 n 
-0000063300 00000 n 
-0000063386 00000 n 
-0000063432 00000 n 
-0000063518 00000 n 
-0000063563 00000 n 
-0000063649 00000 n 
-0000063701 00000 n 
-0000063787 00000 n 
-0000063837 00000 n 
-0000063923 00000 n 
-0000063969 00000 n 
-0000064055 00000 n 
-0000064098 00000 n 
-0000064184 00000 n 
-0000064228 00000 n 
-0000064314 00000 n 
-0000064357 00000 n 
-0000064443 00000 n 
-0000064488 00000 n 
-0000064574 00000 n 
-0000064612 00000 n 
-0000064698 00000 n 
-0000064740 00000 n 
-0000064826 00000 n 
-0000064869 00000 n 
-0000064955 00000 n 
-0000064993 00000 n 
-0000065079 00000 n 
-0000065121 00000 n 
-0000065207 00000 n 
-0000065251 00000 n 
-0000065337 00000 n 
-0000065384 00000 n 
-0000065470 00000 n 
-0000065518 00000 n 
-0000065603 00000 n 
-0000065804 00000 n 
-0000065854 00000 n 
-0000065941 00000 n 
-0000065991 00000 n 
-0000066077 00000 n 
-0000066110 00000 n 
-0000066159 00000 n 
-0000066245 00000 n 
-0000066292 00000 n 
-0000066379 00000 n 
-0000066412 00000 n 
-0000066527 00000 n 
-0000066614 00000 n 
-0000066696 00000 n 
-0000066783 00000 n 
-0000066868 00000 n 
-0000066955 00000 n 
-0000066996 00000 n 
-0000067051 00000 n 
-0000067138 00000 n 
-0000067194 00000 n 
-0000067281 00000 n 
-0000067314 00000 n 
-0000067362 00000 n 
-0000067449 00000 n 
-0000067523 00000 n 
-0000067610 00000 n 
-0000067678 00000 n 
-0000067765 00000 n 
-0000067819 00000 n 
-0000067906 00000 n 
-0000067974 00000 n 
-0000068061 00000 n 
-0000068135 00000 n 
-0000068222 00000 n 
-0000068270 00000 n 
-0000068357 00000 n 
-0000068414 00000 n 
-0000068501 00000 n 
-0000068582 00000 n 
-0000068637 00000 n 
-0000068724 00000 n 
-0000068805 00000 n 
-0000068892 00000 n 
-0000068925 00000 n 
-0000068978 00000 n 
-0000069065 00000 n 
-0000069090 00000 n 
-0000069139 00000 n 
-0000069226 00000 n 
-0000069274 00000 n 
-0000069361 00000 n 
-0000069403 00000 n 
-0000069489 00000 n 
-0000069530 00000 n 
-0000069573 00000 n 
-0000069660 00000 n 
-0000069710 00000 n 
-0000069797 00000 n 
-0000069845 00000 n 
-0000069932 00000 n 
-0000069986 00000 n 
-0000070071 00000 n 
-0000070120 00000 n 
-0000070165 00000 n 
-0000070252 00000 n 
-0000070309 00000 n 
-0000070396 00000 n 
-0000070492 00000 n 
-0000070578 00000 n 
-0000070619 00000 n 
-0000070722 00000 n 
-0000070826 00000 n 
-0000070930 00000 n 
-0000071034 00000 n 
-0000071138 00000 n 
-0000071242 00000 n 
-0000071346 00000 n 
-0000071450 00000 n 
-0000071554 00000 n 
-0000071658 00000 n 
-0000071762 00000 n 
-0000071866 00000 n 
-0000071970 00000 n 
-0000072074 00000 n 
-0000072178 00000 n 
-0000072282 00000 n 
-0000072386 00000 n 
-0000072490 00000 n 
-0000072594 00000 n 
-0000072697 00000 n 
-0000072801 00000 n 
-0000072905 00000 n 
-0000073009 00000 n 
-0000073113 00000 n 
-0000073217 00000 n 
-0000073321 00000 n 
-0000073425 00000 n 
-0000073529 00000 n 
-0000073633 00000 n 
-0000073736 00000 n 
-0000073840 00000 n 
-0000073944 00000 n 
-0000074048 00000 n 
-0000074151 00000 n 
-0000074255 00000 n 
-0000074359 00000 n 
-0000074462 00000 n 
-0000074566 00000 n 
-0000074670 00000 n 
-0000074774 00000 n 
-0000074878 00000 n 
-0000074981 00000 n 
-0000075083 00000 n 
-0000075185 00000 n 
-0000075554 00000 n 
-0000075658 00000 n 
-0000075762 00000 n 
-0000075866 00000 n 
-0000075970 00000 n 
-0000076074 00000 n 
-0000076178 00000 n 
-0000076282 00000 n 
-0000076386 00000 n 
+0000059174 00000 n 
+0000059207 00000 n 
+0000059260 00000 n 
+0000059347 00000 n 
+0000059372 00000 n 
+0000059421 00000 n 
+0000059508 00000 n 
+0000059556 00000 n 
+0000059643 00000 n 
+0000059685 00000 n 
+0000059771 00000 n 
+0000059812 00000 n 
+0000059855 00000 n 
+0000059942 00000 n 
+0000059992 00000 n 
+0000060079 00000 n 
+0000060127 00000 n 
+0000060214 00000 n 
+0000060268 00000 n 
+0000060353 00000 n 
+0000060402 00000 n 
+0000060447 00000 n 
+0000060534 00000 n 
+0000060591 00000 n 
+0000060678 00000 n 
+0000060774 00000 n 
+0000060860 00000 n 
+0000060901 00000 n 
+0000061004 00000 n 
+0000061107 00000 n 
+0000061210 00000 n 
+0000061313 00000 n 
+0000061416 00000 n 
+0000061519 00000 n 
+0000061622 00000 n 
+0000061725 00000 n 
+0000061828 00000 n 
+0000061931 00000 n 
+0000062034 00000 n 
+0000062137 00000 n 
+0000062240 00000 n 
+0000062361 00000 n 
+0000062409 00000 n 
+0000062496 00000 n 
+0000062543 00000 n 
+0000062629 00000 n 
+0000062676 00000 n 
+0000062762 00000 n 
+0000062803 00000 n 
+0000062848 00000 n 
+0000062935 00000 n 
+0000062980 00000 n 
+0000063066 00000 n 
+0000063099 00000 n 
+0000063145 00000 n 
+0000063232 00000 n 
+0000063257 00000 n 
+0000063303 00000 n 
+0000063390 00000 n 
+0000063436 00000 n 
+0000063521 00000 n 
+0000063565 00000 n 
+0000063652 00000 n 
+0000063703 00000 n 
+0000063790 00000 n 
+0000063839 00000 n 
+0000063926 00000 n 
+0000063974 00000 n 
+0000064060 00000 n 
+0000064125 00000 n 
+0000064180 00000 n 
+0000064265 00000 n 
+0000064290 00000 n 
+0000064343 00000 n 
+0000064430 00000 n 
+0000064480 00000 n 
+0000064567 00000 n 
+0000064600 00000 n 
+0000064719 00000 n 
+0000064805 00000 n 
+0000064848 00000 n 
+0000064935 00000 n 
+0000064978 00000 n 
+0000065065 00000 n 
+0000065106 00000 n 
+0000065169 00000 n 
+0000065256 00000 n 
+0000065314 00000 n 
+0000065401 00000 n 
+0000065495 00000 n 
+0000065581 00000 n 
+0000065622 00000 n 
+0000065665 00000 n 
+0000065751 00000 n 
+0000065799 00000 n 
+0000065886 00000 n 
+0000065927 00000 n 
+0000066014 00000 n 
+0000066058 00000 n 
+0000066145 00000 n 
+0000066189 00000 n 
+0000066275 00000 n 
+0000066332 00000 n 
+0000066378 00000 n 
+0000066465 00000 n 
+0000066514 00000 n 
+0000066600 00000 n 
+0000066633 00000 n 
+0000066687 00000 n 
+0000066774 00000 n 
+0000066825 00000 n 
+0000066912 00000 n 
+0000066963 00000 n 
+0000067049 00000 n 
+0000067103 00000 n 
+0000067190 00000 n 
+0000067240 00000 n 
+0000067327 00000 n 
+0000067384 00000 n 
+0000067434 00000 n 
+0000067521 00000 n 
+0000067571 00000 n 
+0000067657 00000 n 
+0000067690 00000 n 
+0000067754 00000 n 
+0000067841 00000 n 
+0000067866 00000 n 
+0000067928 00000 n 
+0000068015 00000 n 
+0000068040 00000 n 
+0000068089 00000 n 
+0000068176 00000 n 
+0000068201 00000 n 
+0000068249 00000 n 
+0000068336 00000 n 
+0000068386 00000 n 
+0000068473 00000 n 
+0000068517 00000 n 
+0000068604 00000 n 
+0000068648 00000 n 
+0000068735 00000 n 
+0000068785 00000 n 
+0000068871 00000 n 
+0000068921 00000 n 
+0000069006 00000 n 
+0000069055 00000 n 
+0000069140 00000 n 
+0000069213 00000 n 
+0000069260 00000 n 
+0000069347 00000 n 
+0000069372 00000 n 
+0000069461 00000 n 
+0000069547 00000 n 
+0000069610 00000 n 
+0000069696 00000 n 
+0000069729 00000 n 
+0000069790 00000 n 
+0000069876 00000 n 
+0000069901 00000 n 
+0000069957 00000 n 
+0000070044 00000 n 
+0000070113 00000 n 
+0000070200 00000 n 
+0000070251 00000 n 
+0000070338 00000 n 
+0000070423 00000 n 
+0000070510 00000 n 
+0000070566 00000 n 
+0000070653 00000 n 
+0000070703 00000 n 
+0000070790 00000 n 
+0000070855 00000 n 
+0000070907 00000 n 
+0000070994 00000 n 
+0000071050 00000 n 
+0000071137 00000 n 
+0000071185 00000 n 
+0000071272 00000 n 
+0000071320 00000 n 
+0000071407 00000 n 
+0000071456 00000 n 
+0000071497 00000 n 
+0000071584 00000 n 
+0000071628 00000 n 
+0000071715 00000 n 
+0000071760 00000 n 
+0000071847 00000 n 
+0000071891 00000 n 
+0000071978 00000 n 
+0000072022 00000 n 
+0000072109 00000 n 
+0000072151 00000 n 
+0000072238 00000 n 
+0000072286 00000 n 
+0000072373 00000 n 
+0000072446 00000 n 
+0000072494 00000 n 
+0000072580 00000 n 
+0000072605 00000 n 
+0000072658 00000 n 
+0000072744 00000 n 
+0000072769 00000 n 
+0000072823 00000 n 
+0000072910 00000 n 
+0000072935 00000 n 
+0000072998 00000 n 
+0000073085 00000 n 
+0000073148 00000 n 
+0000073235 00000 n 
+0000073289 00000 n 
+0000073376 00000 n 
+0000073417 00000 n 
+0000073520 00000 n 
+0000073623 00000 n 
+0000073726 00000 n 
+0000073829 00000 n 
+0000073878 00000 n 
+0000073933 00000 n 
+0000074019 00000 n 
+0000074087 00000 n 
+0000074173 00000 n 
+0000074248 00000 n 
+0000074335 00000 n 
+0000074405 00000 n 
+0000074491 00000 n 
+0000074570 00000 n 
+0000074657 00000 n 
+0000074714 00000 n 
+0000074796 00000 n 
+0000074882 00000 n 
+0000074957 00000 n 
+0000075044 00000 n 
+0000075117 00000 n 
+0000075204 00000 n 
+0000075282 00000 n 
+0000075369 00000 n 
+0000075418 00000 n 
+0000075466 00000 n 
+0000075553 00000 n 
+0000075578 00000 n 
+0000075626 00000 n 
+0000075713 00000 n 
+0000075738 00000 n 
+0000075786 00000 n 
+0000075873 00000 n 
+0000075937 00000 n 
+0000076024 00000 n 
+0000076079 00000 n 
+0000076166 00000 n 
+0000076213 00000 n 
+0000076300 00000 n 
+0000076349 00000 n 
+0000076403 00000 n 
 0000076490 00000 n 
-0000076594 00000 n 
+0000076544 00000 n 
+0000076631 00000 n 
+0000076664 00000 n 
 0000076698 00000 n 
-0000076802 00000 n 
-0000076906 00000 n 
-0000077010 00000 n 
-0000077114 00000 n 
-0000077217 00000 n 
-0000077321 00000 n 
-0000077425 00000 n 
-0000077528 00000 n 
-0000077632 00000 n 
-0000077736 00000 n 
-0000077840 00000 n 
-0000077944 00000 n 
-0000078048 00000 n 
-0000078152 00000 n 
-0000078256 00000 n 
-0000078360 00000 n 
-0000078464 00000 n 
-0000078568 00000 n 
-0000078672 00000 n 
-0000078776 00000 n 
-0000078880 00000 n 
-0000078984 00000 n 
-0000079088 00000 n 
-0000079192 00000 n 
-0000079295 00000 n 
-0000079399 00000 n 
-0000079503 00000 n 
-0000079607 00000 n 
-0000079711 00000 n 
-0000079814 00000 n 
-0000079918 00000 n 
-0000080022 00000 n 
-0000080125 00000 n 
-0000080229 00000 n 
-0000080333 00000 n 
-0000080437 00000 n 
-0000080541 00000 n 
-0000080644 00000 n 
-0000080746 00000 n 
-0000080848 00000 n 
-0000081273 00000 n 
-0000081377 00000 n 
-0000081481 00000 n 
-0000081585 00000 n 
-0000081689 00000 n 
-0000081793 00000 n 
-0000081896 00000 n 
-0000082000 00000 n 
-0000082104 00000 n 
-0000082208 00000 n 
-0000082312 00000 n 
-0000082415 00000 n 
-0000082518 00000 n 
-0000082622 00000 n 
-0000082726 00000 n 
-0000082830 00000 n 
-0000082934 00000 n 
-0000083038 00000 n 
-0000083142 00000 n 
-0000083246 00000 n 
-0000083350 00000 n 
-0000083454 00000 n 
+0000076732 00000 n 
+0000081490 00000 n 
+0000081534 00000 n 
+0000081578 00000 n 
+0000081622 00000 n 
+0000081666 00000 n 
+0000081710 00000 n 
+0000081754 00000 n 
+0000081798 00000 n 
+0000081842 00000 n 
+0000081886 00000 n 
+0000081930 00000 n 
+0000081974 00000 n 
+0000082018 00000 n 
+0000082062 00000 n 
+0000082106 00000 n 
+0000082150 00000 n 
+0000082194 00000 n 
+0000082238 00000 n 
+0000082282 00000 n 
+0000082326 00000 n 
+0000082370 00000 n 
+0000082414 00000 n 
+0000082458 00000 n 
+0000082502 00000 n 
+0000082546 00000 n 
+0000082590 00000 n 
+0000082634 00000 n 
+0000082678 00000 n 
+0000082722 00000 n 
+0000082766 00000 n 
+0000082810 00000 n 
+0000082854 00000 n 
+0000082898 00000 n 
+0000082942 00000 n 
+0000082986 00000 n 
+0000083030 00000 n 
+0000083074 00000 n 
+0000083118 00000 n 
+0000083162 00000 n 
+0000083206 00000 n 
+0000083250 00000 n 
+0000083294 00000 n 
+0000083338 00000 n 
+0000083382 00000 n 
+0000083426 00000 n 
+0000083470 00000 n 
+0000083514 00000 n 
 0000083558 00000 n 
-0000083662 00000 n 
-0000083766 00000 n 
-0000083870 00000 n 
-0000083974 00000 n 
-0000084078 00000 n 
-0000084182 00000 n 
-0000084286 00000 n 
-0000084390 00000 n 
-0000084494 00000 n 
-0000084598 00000 n 
-0000084871 00000 n 
-0000084919 00000 n 
-0000085006 00000 n 
-0000085053 00000 n 
-0000085139 00000 n 
+0000083602 00000 n 
+0000083646 00000 n 
+0000083690 00000 n 
+0000083734 00000 n 
+0000083778 00000 n 
+0000083822 00000 n 
+0000083866 00000 n 
+0000083910 00000 n 
+0000083954 00000 n 
+0000083998 00000 n 
+0000084042 00000 n 
+0000084086 00000 n 
+0000084130 00000 n 
+0000084174 00000 n 
+0000084218 00000 n 
+0000084262 00000 n 
+0000084306 00000 n 
+0000084350 00000 n 
+0000084394 00000 n 
+0000084438 00000 n 
+0000084482 00000 n 
+0000084526 00000 n 
+0000084570 00000 n 
+0000084614 00000 n 
+0000084658 00000 n 
+0000084702 00000 n 
+0000084746 00000 n 
+0000084790 00000 n 
+0000084834 00000 n 
+0000084878 00000 n 
+0000084922 00000 n 
+0000084966 00000 n 
+0000085010 00000 n 
+0000085054 00000 n 
+0000085098 00000 n 
+0000085142 00000 n 
 0000085186 00000 n 
-0000085272 00000 n 
-0000085313 00000 n 
-0000085358 00000 n 
-0000085445 00000 n 
-0000085490 00000 n 
-0000085576 00000 n 
-0000085609 00000 n 
-0000085655 00000 n 
-0000085742 00000 n 
-0000085767 00000 n 
-0000085813 00000 n 
-0000085900 00000 n 
-0000085946 00000 n 
-0000086031 00000 n 
-0000086075 00000 n 
-0000086162 00000 n 
-0000086213 00000 n 
-0000086300 00000 n 
-0000086349 00000 n 
-0000086436 00000 n 
-0000086484 00000 n 
-0000086570 00000 n 
-0000086635 00000 n 
-0000086690 00000 n 
-0000086776 00000 n 
-0000086801 00000 n 
-0000086854 00000 n 
-0000086941 00000 n 
-0000086991 00000 n 
+0000085230 00000 n 
+0000085274 00000 n 
+0000085318 00000 n 
+0000085362 00000 n 
+0000085406 00000 n 
+0000085450 00000 n 
+0000085494 00000 n 
+0000085538 00000 n 
+0000085582 00000 n 
+0000085626 00000 n 
+0000085670 00000 n 
+0000085714 00000 n 
+0000085758 00000 n 
+0000085802 00000 n 
+0000085846 00000 n 
+0000085890 00000 n 
+0000085934 00000 n 
+0000085978 00000 n 
+0000086022 00000 n 
+0000086066 00000 n 
+0000086110 00000 n 
+0000086154 00000 n 
+0000086198 00000 n 
+0000086242 00000 n 
+0000086286 00000 n 
+0000086330 00000 n 
+0000086374 00000 n 
+0000086418 00000 n 
+0000086462 00000 n 
+0000086506 00000 n 
+0000086550 00000 n 
+0000086594 00000 n 
+0000086638 00000 n 
+0000086682 00000 n 
+0000086726 00000 n 
+0000086770 00000 n 
+0000086814 00000 n 
+0000086858 00000 n 
+0000086902 00000 n 
+0000086946 00000 n 
+0000086990 00000 n 
+0000087034 00000 n 
 0000087078 00000 n 
-0000087111 00000 n 
-0000087230 00000 n 
-0000087316 00000 n 
-0000087359 00000 n 
-0000087446 00000 n 
-0000087489 00000 n 
-0000087576 00000 n 
-0000087617 00000 n 
-0000087680 00000 n 
-0000087767 00000 n 
-0000087825 00000 n 
-0000087912 00000 n 
-0000088006 00000 n 
-0000088092 00000 n 
-0000088133 00000 n 
-0000088176 00000 n 
-0000088262 00000 n 
+0000087122 00000 n 
+0000087166 00000 n 
+0000087210 00000 n 
+0000087254 00000 n 
+0000087298 00000 n 
+0000087342 00000 n 
+0000087386 00000 n 
+0000087430 00000 n 
+0000087474 00000 n 
+0000087518 00000 n 
+0000087562 00000 n 
+0000087606 00000 n 
+0000087650 00000 n 
+0000087694 00000 n 
+0000087738 00000 n 
+0000087782 00000 n 
+0000087826 00000 n 
+0000087870 00000 n 
+0000087914 00000 n 
+0000087958 00000 n 
+0000088002 00000 n 
+0000088046 00000 n 
+0000088090 00000 n 
+0000088134 00000 n 
+0000088178 00000 n 
+0000088222 00000 n 
+0000088266 00000 n 
 0000088310 00000 n 
-0000088397 00000 n 
-0000088438 00000 n 
-0000088525 00000 n 
-0000088569 00000 n 
-0000088656 00000 n 
-0000088700 00000 n 
-0000088786 00000 n 
-0000088843 00000 n 
-0000088889 00000 n 
-0000088976 00000 n 
-0000089025 00000 n 
-0000089111 00000 n 
-0000089144 00000 n 
-0000089198 00000 n 
-0000089285 00000 n 
-0000089336 00000 n 
-0000089423 00000 n 
-0000089474 00000 n 
-0000089560 00000 n 
-0000089614 00000 n 
-0000089701 00000 n 
-0000089751 00000 n 
-0000089838 00000 n 
-0000089895 00000 n 
-0000089945 00000 n 
-0000090032 00000 n 
-0000090082 00000 n 
-0000090168 00000 n 
-0000090201 00000 n 
-0000090265 00000 n 
-0000090352 00000 n 
-0000090377 00000 n 
-0000090419 00000 n 
-0000090505 00000 n 
-0000090556 00000 n 
-0000090643 00000 n 
-0000090690 00000 n 
-0000090777 00000 n 
-0000090818 00000 n 
-0000090880 00000 n 
-0000090967 00000 n 
-0000090992 00000 n 
-0000091041 00000 n 
-0000091128 00000 n 
-0000091153 00000 n 
-0000091201 00000 n 
-0000091288 00000 n 
-0000091338 00000 n 
-0000091424 00000 n 
-0000091468 00000 n 
-0000091554 00000 n 
-0000091598 00000 n 
-0000091684 00000 n 
-0000091734 00000 n 
-0000091820 00000 n 
-0000091870 00000 n 
-0000091955 00000 n 
-0000092004 00000 n 
-0000092088 00000 n 
-0000092135 00000 n 
-0000092219 00000 n 
-0000092300 00000 n 
-0000092356 00000 n 
-0000092443 00000 n 
-0000092512 00000 n 
-0000092599 00000 n 
-0000092650 00000 n 
-0000092737 00000 n 
-0000092824 00000 n 
-0000092911 00000 n 
-0000092967 00000 n 
-0000093054 00000 n 
-0000093104 00000 n 
-0000093191 00000 n 
-0000093256 00000 n 
-0000093308 00000 n 
-0000093395 00000 n 
-0000093451 00000 n 
-0000093538 00000 n 
-0000093586 00000 n 
-0000093673 00000 n 
-0000093721 00000 n 
-0000093808 00000 n 
-0000093857 00000 n 
-0000093898 00000 n 
-0000093983 00000 n 
-0000094008 00000 n 
-0000094052 00000 n 
-0000094139 00000 n 
-0000094184 00000 n 
-0000094271 00000 n 
-0000094315 00000 n 
-0000094402 00000 n 
-0000094446 00000 n 
-0000094533 00000 n 
-0000094575 00000 n 
-0000094662 00000 n 
-0000094710 00000 n 
-0000094797 00000 n 
-0000094862 00000 n 
-0000094910 00000 n 
-0000094996 00000 n 
-0000095021 00000 n 
-0000095074 00000 n 
-0000095160 00000 n 
-0000095185 00000 n 
-0000095239 00000 n 
-0000095326 00000 n 
-0000095351 00000 n 
-0000095414 00000 n 
-0000095501 00000 n 
-0000095564 00000 n 
-0000095651 00000 n 
-0000095705 00000 n 
-0000095792 00000 n 
-0000095833 00000 n 
-0000095936 00000 n 
-0000096040 00000 n 
-0000096144 00000 n 
-0000096248 00000 n 
-0000096352 00000 n 
-0000096455 00000 n 
-0000096559 00000 n 
-0000096663 00000 n 
-0000096767 00000 n 
-0000096871 00000 n 
-0000096975 00000 n 
-0000097079 00000 n 
-0000097184 00000 n 
-0000097289 00000 n 
-0000097394 00000 n 
-0000097499 00000 n 
-0000097604 00000 n 
-0000097709 00000 n 
-0000097814 00000 n 
-0000097918 00000 n 
-0000098023 00000 n 
-0000098128 00000 n 
-0000098233 00000 n 
-0000098338 00000 n 
-0000098443 00000 n 
-0000098548 00000 n 
-0000098652 00000 n 
-0000098757 00000 n 
-0000098862 00000 n 
-0000098967 00000 n 
-0000099072 00000 n 
-0000099177 00000 n 
-0000099282 00000 n 
-0000099387 00000 n 
-0000099492 00000 n 
-0000099597 00000 n 
-0000099702 00000 n 
-0000099807 00000 n 
-0000099912 00000 n 
-0000100017 00000 n 
-0000100122 00000 n 
-0000100227 00000 n 
-0000100611 00000 n 
-0000100667 00000 n 
-0000100755 00000 n 
-0000100824 00000 n 
-0000100912 00000 n 
-0000100988 00000 n 
-0000101077 00000 n 
-0000101148 00000 n 
-0000101236 00000 n 
-0000101316 00000 n 
-0000101405 00000 n 
-0000101468 00000 n 
-0000101551 00000 n 
-0000101639 00000 n 
-0000101715 00000 n 
-0000101804 00000 n 
-0000101878 00000 n 
-0000101967 00000 n 
-0000102046 00000 n 
-0000102135 00000 n 
-0000102189 00000 n 
-0000102238 00000 n 
-0000102327 00000 n 
-0000102354 00000 n 
-0000102403 00000 n 
-0000102492 00000 n 
-0000102519 00000 n 
-0000102568 00000 n 
-0000102657 00000 n 
-0000102722 00000 n 
-0000102811 00000 n 
-0000102867 00000 n 
-0000102956 00000 n 
-0000103004 00000 n 
-0000103093 00000 n 
-0000103147 00000 n 
-0000103202 00000 n 
-0000103291 00000 n 
-0000103346 00000 n 
-0000103435 00000 n 
-0000103471 00000 n 
-0000103507 00000 n 
-0000103543 00000 n 
-0000108581 00000 n 
-0000108626 00000 n 
-0000108671 00000 n 
-0000108716 00000 n 
-0000108761 00000 n 
-0000108806 00000 n 
-0000108851 00000 n 
-0000108896 00000 n 
-0000108941 00000 n 
-0000108986 00000 n 
-0000109031 00000 n 
-0000109076 00000 n 
-0000109121 00000 n 
-0000109166 00000 n 
-0000109211 00000 n 
-0000109256 00000 n 
-0000109301 00000 n 
-0000109346 00000 n 
-0000109391 00000 n 
-0000109436 00000 n 
-0000109481 00000 n 
-0000109526 00000 n 
-0000109571 00000 n 
-0000109616 00000 n 
-0000109661 00000 n 
-0000109706 00000 n 
-0000109751 00000 n 
-0000109796 00000 n 
-0000109841 00000 n 
-0000109886 00000 n 
-0000109931 00000 n 
-0000109976 00000 n 
-0000110021 00000 n 
-0000110066 00000 n 
-0000110111 00000 n 
-0000110156 00000 n 
-0000110201 00000 n 
-0000110246 00000 n 
-0000110291 00000 n 
-0000110336 00000 n 
-0000110381 00000 n 
-0000110426 00000 n 
-0000110471 00000 n 
-0000110516 00000 n 
-0000110561 00000 n 
-0000110606 00000 n 
-0000110651 00000 n 
-0000110696 00000 n 
-0000110741 00000 n 
-0000110786 00000 n 
-0000110831 00000 n 
-0000110876 00000 n 
-0000110921 00000 n 
-0000110966 00000 n 
-0000111011 00000 n 
-0000111056 00000 n 
-0000111101 00000 n 
-0000111146 00000 n 
-0000111191 00000 n 
-0000111236 00000 n 
-0000111281 00000 n 
-0000111326 00000 n 
-0000111371 00000 n 
-0000111416 00000 n 
-0000111461 00000 n 
-0000111506 00000 n 
-0000111551 00000 n 
-0000111596 00000 n 
-0000111641 00000 n 
-0000111686 00000 n 
-0000111731 00000 n 
-0000111776 00000 n 
-0000111821 00000 n 
-0000111866 00000 n 
-0000111911 00000 n 
-0000111956 00000 n 
-0000112001 00000 n 
-0000112046 00000 n 
-0000112091 00000 n 
-0000112136 00000 n 
-0000112181 00000 n 
-0000112226 00000 n 
-0000112271 00000 n 
-0000112316 00000 n 
-0000112361 00000 n 
-0000112406 00000 n 
-0000112451 00000 n 
-0000112496 00000 n 
-0000112541 00000 n 
-0000112586 00000 n 
-0000112631 00000 n 
-0000112676 00000 n 
-0000112721 00000 n 
-0000112766 00000 n 
-0000112811 00000 n 
-0000112856 00000 n 
-0000112901 00000 n 
-0000112946 00000 n 
-0000112991 00000 n 
-0000113036 00000 n 
-0000113081 00000 n 
-0000113126 00000 n 
-0000113171 00000 n 
-0000113216 00000 n 
-0000113261 00000 n 
-0000113306 00000 n 
-0000113351 00000 n 
-0000113396 00000 n 
-0000113441 00000 n 
-0000113486 00000 n 
-0000113531 00000 n 
-0000113576 00000 n 
-0000113621 00000 n 
-0000113666 00000 n 
-0000113711 00000 n 
-0000113756 00000 n 
-0000113801 00000 n 
-0000113846 00000 n 
-0000113891 00000 n 
-0000113936 00000 n 
-0000113981 00000 n 
-0000114026 00000 n 
-0000114071 00000 n 
-0000114116 00000 n 
-0000114161 00000 n 
-0000114206 00000 n 
-0000114251 00000 n 
-0000114296 00000 n 
-0000114341 00000 n 
-0000114386 00000 n 
-0000114431 00000 n 
-0000114476 00000 n 
-0000114521 00000 n 
-0000114566 00000 n 
-0000114611 00000 n 
-0000114656 00000 n 
-0000114701 00000 n 
-0000114746 00000 n 
-0000114791 00000 n 
-0000114836 00000 n 
-0000114881 00000 n 
-0000114926 00000 n 
-0000114971 00000 n 
-0000115016 00000 n 
-0000115061 00000 n 
-0000115106 00000 n 
-0000115151 00000 n 
-0000115196 00000 n 
-0000115241 00000 n 
-0000115286 00000 n 
-0000115331 00000 n 
-0000115376 00000 n 
-0000115421 00000 n 
-0000115466 00000 n 
-0000115511 00000 n 
-0000115556 00000 n 
-0000115601 00000 n 
-0000115646 00000 n 
-0000115691 00000 n 
-0000115736 00000 n 
-0000115781 00000 n 
-0000115826 00000 n 
-0000115871 00000 n 
-0000115916 00000 n 
-0000115961 00000 n 
-0000116006 00000 n 
-0000116051 00000 n 
-0000116096 00000 n 
-0000116141 00000 n 
-0000116186 00000 n 
-0000116231 00000 n 
-0000116276 00000 n 
-0000116321 00000 n 
-0000116366 00000 n 
-0000116411 00000 n 
-0000116456 00000 n 
-0000116501 00000 n 
-0000116546 00000 n 
-0000116591 00000 n 
-0000116636 00000 n 
-0000116681 00000 n 
-0000116726 00000 n 
-0000116771 00000 n 
-0000116816 00000 n 
-0000116861 00000 n 
-0000116906 00000 n 
-0000116951 00000 n 
-0000116996 00000 n 
-0000117041 00000 n 
-0000117086 00000 n 
-0000117131 00000 n 
-0000117176 00000 n 
-0000117221 00000 n 
-0000117266 00000 n 
-0000117311 00000 n 
-0000117356 00000 n 
-0000117401 00000 n 
-0000117446 00000 n 
-0000117491 00000 n 
-0000117536 00000 n 
-0000117581 00000 n 
-0000117626 00000 n 
-0000117671 00000 n 
-0000117716 00000 n 
-0000117761 00000 n 
-0000117806 00000 n 
-0000117851 00000 n 
-0000117896 00000 n 
-0000117941 00000 n 
-0000117986 00000 n 
-0000118031 00000 n 
-0000118076 00000 n 
-0000118121 00000 n 
-0000118166 00000 n 
-0000118211 00000 n 
-0000118256 00000 n 
-0000118301 00000 n 
-0000118346 00000 n 
-0000118391 00000 n 
-0000118436 00000 n 
-0000118481 00000 n 
-0000118526 00000 n 
-0000118571 00000 n 
-0000118616 00000 n 
-0000118661 00000 n 
-0000118706 00000 n 
-0000118751 00000 n 
-0000118796 00000 n 
-0000118841 00000 n 
-0000118886 00000 n 
-0000118931 00000 n 
-0000118976 00000 n 
-0000119021 00000 n 
-0000119066 00000 n 
-0000119111 00000 n 
-0000119156 00000 n 
-0000119201 00000 n 
-0000119246 00000 n 
-0000119291 00000 n 
-0000119336 00000 n 
-0000119381 00000 n 
-0000119426 00000 n 
-0000119471 00000 n 
-0000119516 00000 n 
-0000119561 00000 n 
-0000119606 00000 n 
-0000119651 00000 n 
-0000119696 00000 n 
-0000119741 00000 n 
-0000119786 00000 n 
-0000119831 00000 n 
-0000119876 00000 n 
-0000119921 00000 n 
-0000119966 00000 n 
-0000120011 00000 n 
-0000120056 00000 n 
-0000120101 00000 n 
-0000120146 00000 n 
-0000120191 00000 n 
-0000120236 00000 n 
-0000120281 00000 n 
-0000120326 00000 n 
-0000120371 00000 n 
-0000120416 00000 n 
-0000120461 00000 n 
-0000120506 00000 n 
-0000120551 00000 n 
-0000120596 00000 n 
-0000120641 00000 n 
-0000120686 00000 n 
-0000120731 00000 n 
-0000120776 00000 n 
-0000120821 00000 n 
-0000120866 00000 n 
-0000120911 00000 n 
-0000120956 00000 n 
-0000121001 00000 n 
-0000121046 00000 n 
-0000121091 00000 n 
-0000121136 00000 n 
-0000121181 00000 n 
-0000121226 00000 n 
-0000121271 00000 n 
-0000121316 00000 n 
-0000121361 00000 n 
-0000121406 00000 n 
-0000121451 00000 n 
-0000121496 00000 n 
-0000121541 00000 n 
-0000121586 00000 n 
-0000121631 00000 n 
-0000121676 00000 n 
-0000121721 00000 n 
-0000121766 00000 n 
-0000123174 00000 n 
-0000123335 00000 n 
-0000123504 00000 n 
-0000123697 00000 n 
-0000127450 00000 n 
-0000127643 00000 n 
-0000132340 00000 n 
-0000132534 00000 n 
-0000136913 00000 n 
-0000137107 00000 n 
-0000140959 00000 n 
-0000141153 00000 n 
-0000144725 00000 n 
-0000144919 00000 n 
-0000148558 00000 n 
-0000148752 00000 n 
-0000149730 00000 n 
-0000149891 00000 n 
-0000150125 00000 n 
-0000150329 00000 n 
-0000153103 00000 n 
-0000153278 00000 n 
-0000156898 00000 n 
-0000157073 00000 n 
-0000159486 00000 n 
-0000159661 00000 n 
-0000161080 00000 n 
-0000161241 00000 n 
-0000161429 00000 n 
-0000161633 00000 n 
-0000164580 00000 n 
-0000164755 00000 n 
-0000165173 00000 n 
-0000165385 00000 n 
-0000166546 00000 n 
-0000166734 00000 n 
-0000168196 00000 n 
-0000168393 00000 n 
-0000169763 00000 n 
-0000169978 00000 n 
-0000171214 00000 n 
-0000171408 00000 n 
-0000172987 00000 n 
-0000173157 00000 n 
-0000174973 00000 n 
-0000175124 00000 n 
-0000175365 00000 n 
-0000175535 00000 n 
-0000177210 00000 n 
-0000177389 00000 n 
-0000179202 00000 n 
-0000179371 00000 n 
-0000181209 00000 n 
-0000181378 00000 n 
-0000182365 00000 n 
-0000182544 00000 n 
-0000184190 00000 n 
-0000184378 00000 n 
-0000185867 00000 n 
-0000186055 00000 n 
-0000187476 00000 n 
-0000187646 00000 n 
-0000189312 00000 n 
-0000189482 00000 n 
-0000190038 00000 n 
-0000190208 00000 n 
-0000191940 00000 n 
-0000192119 00000 n 
-0000193825 00000 n 
-0000194013 00000 n 
-0000195668 00000 n 
-0000195856 00000 n 
-0000197573 00000 n 
-0000197742 00000 n 
-0000198490 00000 n 
-0000198697 00000 n 
-0000200340 00000 n 
-0000200547 00000 n 
-0000202154 00000 n 
-0000202323 00000 n 
-0000202655 00000 n 
-0000202816 00000 n 
-0000203006 00000 n 
-0000203210 00000 n 
-0000206041 00000 n 
-0000206254 00000 n 
-0000208022 00000 n 
-0000208235 00000 n 
-0000209737 00000 n 
-0000209959 00000 n 
-0000211786 00000 n 
-0000212007 00000 n 
-0000213663 00000 n 
-0000213870 00000 n 
-0000215562 00000 n 
-0000215778 00000 n 
-0000217711 00000 n 
-0000217933 00000 n 
-0000219945 00000 n 
-0000220157 00000 n 
-0000222240 00000 n 
-0000222443 00000 n 
-0000224709 00000 n 
-0000224931 00000 n 
-0000227140 00000 n 
-0000227338 00000 n 
-0000229347 00000 n 
-0000229535 00000 n 
-0000231059 00000 n 
-0000231238 00000 n 
-0000233230 00000 n 
-0000233418 00000 n 
-0000235438 00000 n 
-0000235626 00000 n 
-0000237518 00000 n 
-0000237715 00000 n 
-0000239427 00000 n 
-0000239587 00000 n 
-0000240580 00000 n 
-0000240774 00000 n 
-0000242353 00000 n 
-0000242533 00000 n 
-0000244296 00000 n 
-0000244475 00000 n 
-0000245334 00000 n 
-0000245513 00000 n 
-0000246598 00000 n 
-0000246795 00000 n 
-0000248294 00000 n 
-0000248473 00000 n 
-0000249289 00000 n 
-0000249519 00000 n 
-0000251018 00000 n 
-0000251230 00000 n 
-0000252983 00000 n 
-0000253176 00000 n 
-0000254533 00000 n 
-0000254694 00000 n 
-0000254885 00000 n 
-0000255098 00000 n 
-0000258048 00000 n 
-0000258223 00000 n 
-0000260654 00000 n 
-0000260829 00000 n 
-0000262285 00000 n 
-0000262483 00000 n 
-0000263845 00000 n 
-0000264043 00000 n 
-0000265732 00000 n 
-0000265920 00000 n 
-0000267601 00000 n 
-0000267780 00000 n 
-0000269882 00000 n 
-0000270061 00000 n 
-0000271834 00000 n 
-0000272013 00000 n 
-0000273695 00000 n 
-0000273883 00000 n 
-0000275737 00000 n 
-0000275949 00000 n 
-0000277979 00000 n 
-0000278192 00000 n 
-0000279744 00000 n 
-0000279933 00000 n 
-0000281207 00000 n 
-0000281428 00000 n 
-0000283204 00000 n 
-0000283410 00000 n 
-0000285295 00000 n 
-0000285492 00000 n 
-0000287077 00000 n 
-0000287288 00000 n 
-0000288808 00000 n 
-0000288996 00000 n 
-0000289898 00000 n 
-0000290086 00000 n 
-0000291612 00000 n 
-0000291815 00000 n 
-0000293523 00000 n 
-0000293726 00000 n 
-0000294543 00000 n 
-0000294755 00000 n 
-0000296233 00000 n 
-0000296413 00000 n 
-0000297172 00000 n 
-0000297403 00000 n 
-0000299126 00000 n 
-0000299338 00000 n 
-0000301264 00000 n 
-0000301495 00000 n 
-0000303505 00000 n 
-0000303727 00000 n 
-0000305447 00000 n 
-0000305650 00000 n 
-0000306909 00000 n 
-0000307131 00000 n 
-0000308724 00000 n 
-0000308903 00000 n 
-0000310451 00000 n 
-0000310630 00000 n 
-0000312247 00000 n 
-0000312426 00000 n 
-0000313824 00000 n 
-0000314003 00000 n 
-0000315669 00000 n 
-0000315839 00000 n 
-0000316585 00000 n 
-0000316788 00000 n 
-0000318657 00000 n 
-0000318817 00000 n 
-0000319941 00000 n 
-0000320130 00000 n 
-0000321823 00000 n 
-0000322002 00000 n 
-0000323747 00000 n 
-0000323935 00000 n 
-0000325838 00000 n 
-0000326051 00000 n 
-0000327916 00000 n 
-0000328156 00000 n 
-0000330231 00000 n 
-0000330443 00000 n 
-0000332011 00000 n 
-0000332217 00000 n 
-0000333381 00000 n 
-0000333569 00000 n 
-0000334765 00000 n 
-0000334944 00000 n 
-0000335949 00000 n 
-0000336137 00000 n 
-0000337764 00000 n 
-0000337952 00000 n 
-0000339220 00000 n 
-0000339409 00000 n 
-0000340717 00000 n 
-0000340887 00000 n 
-0000341360 00000 n 
-0000341548 00000 n 
-0000342939 00000 n 
-0000343127 00000 n 
-0000344098 00000 n 
-0000344286 00000 n 
-0000344835 00000 n 
-0000345057 00000 n 
-0000347130 00000 n 
-0000347343 00000 n 
-0000349364 00000 n 
-0000349586 00000 n 
-0000350797 00000 n 
-0000351010 00000 n 
-0000352572 00000 n 
-0000352794 00000 n 
-0000354603 00000 n 
-0000354825 00000 n 
-0000356545 00000 n 
-0000356739 00000 n 
-0000357449 00000 n 
-0000357652 00000 n 
-0000359191 00000 n 
-0000359369 00000 n 
-0000360054 00000 n 
-0000360242 00000 n 
-0000361727 00000 n 
-0000361906 00000 n 
-0000363512 00000 n 
-0000363691 00000 n 
-0000365361 00000 n 
-0000365531 00000 n 
-0000367080 00000 n 
-0000367250 00000 n 
-0000368551 00000 n 
-0000368721 00000 n 
-0000370347 00000 n 
-0000370517 00000 n 
-0000372097 00000 n 
-0000372293 00000 n 
-0000374483 00000 n 
-0000374662 00000 n 
-0000376189 00000 n 
-0000376377 00000 n 
-0000377345 00000 n 
-0000377541 00000 n 
-0000379272 00000 n 
-0000379485 00000 n 
-0000381167 00000 n 
-0000381362 00000 n 
-0000383112 00000 n 
-0000383325 00000 n 
-0000384590 00000 n 
-0000384794 00000 n 
-0000386531 00000 n 
-0000386719 00000 n 
-0000388462 00000 n 
-0000388641 00000 n 
-0000390039 00000 n 
-0000390218 00000 n 
-0000391915 00000 n 
-0000392094 00000 n 
-0000393575 00000 n 
-0000393754 00000 n 
-0000395546 00000 n 
-0000395750 00000 n 
-0000397401 00000 n 
-0000397460 00000 n 
-0000397563 00000 n 
-0000397728 00000 n 
-0000397810 00000 n 
-0000397918 00000 n 
-0000398041 00000 n 
-0000398153 00000 n 
-0000398332 00000 n 
-0000398441 00000 n 
-0000398567 00000 n 
-0000398694 00000 n 
-0000398833 00000 n 
-0000398973 00000 n 
-0000399142 00000 n 
-0000399259 00000 n 
-0000399388 00000 n 
-0000399540 00000 n 
-0000399680 00000 n 
-0000399858 00000 n 
-0000400014 00000 n 
-0000400127 00000 n 
-0000400244 00000 n 
-0000400379 00000 n 
-0000400520 00000 n 
-0000400635 00000 n 
-0000400746 00000 n 
-0000400922 00000 n 
-0000401033 00000 n 
-0000401163 00000 n 
-0000401286 00000 n 
-0000401452 00000 n 
-0000401568 00000 n 
-0000401697 00000 n 
-0000401836 00000 n 
-0000401972 00000 n 
-0000402107 00000 n 
-0000402242 00000 n 
-0000402378 00000 n 
-0000402489 00000 n 
-0000402645 00000 n 
-0000402739 00000 n 
-0000402948 00000 n 
-0000403049 00000 n 
-0000403192 00000 n 
-0000403338 00000 n 
-0000403454 00000 n 
-0000403621 00000 n 
-0000403733 00000 n 
-0000403924 00000 n 
-0000404027 00000 n 
-0000404200 00000 n 
-0000404321 00000 n 
-0000404451 00000 n 
-0000404563 00000 n 
-0000404687 00000 n 
-0000404799 00000 n 
-0000405005 00000 n 
-0000405116 00000 n 
-0000405231 00000 n 
-0000405375 00000 n 
-0000405583 00000 n 
-0000405717 00000 n 
-0000405871 00000 n 
-0000405996 00000 n 
-0000406127 00000 n 
-0000406260 00000 n 
-0000406391 00000 n 
-0000406566 00000 n 
-0000406701 00000 n 
-0000406854 00000 n 
-0000406999 00000 n 
-0000407224 00000 n 
-0000407335 00000 n 
-0000407450 00000 n 
-0000407643 00000 n 
-0000407786 00000 n 
-0000407902 00000 n 
-0000408047 00000 n 
-0000408204 00000 n 
-0000408321 00000 n 
-0000408498 00000 n 
-0000408632 00000 n 
-0000408780 00000 n 
-0000408898 00000 n 
-0000409028 00000 n 
-0000409198 00000 n 
-0000409292 00000 n 
-0000409419 00000 n 
-0000409546 00000 n 
-0000409642 00000 n 
-0000409819 00000 n 
-0000409945 00000 n 
-0000410080 00000 n 
-0000410213 00000 n 
-0000410340 00000 n 
-0000410452 00000 n 
-0000410644 00000 n 
-0000410742 00000 n 
-0000410928 00000 n 
-0000411032 00000 n 
-0000411156 00000 n 
-0000411278 00000 n 
-0000411390 00000 n 
-0000411586 00000 n 
-0000411702 00000 n 
-0000411826 00000 n 
-0000411944 00000 n 
-0000412062 00000 n 
-0000412167 00000 n 
-0000412356 00000 n 
-0000412579 00000 n 
-0000412718 00000 n 
-0000412881 00000 n 
-0000413018 00000 n 
-0000413121 00000 n 
-0000413327 00000 n 
-0000413486 00000 n 
-0000413634 00000 n 
-0000413762 00000 n 
-0000413943 00000 n 
-0000414053 00000 n 
-0000414168 00000 n 
-0000414313 00000 n 
-0000414477 00000 n 
-0000414627 00000 n 
-0000414845 00000 n 
-0000414950 00000 n 
-0000415082 00000 n 
-0000415203 00000 n 
-0000415410 00000 n 
-0000415538 00000 n 
-0000415623 00000 n 
-0000415789 00000 n 
-0000415893 00000 n 
-0000416050 00000 n 
-0000416161 00000 n 
-0000416306 00000 n 
-0000416448 00000 n 
-0000416598 00000 n 
-0000416715 00000 n 
-0000416879 00000 n 
-0000416990 00000 n 
-0000417130 00000 n 
-0000417257 00000 n 
-0000417374 00000 n 
-0000417513 00000 n 
-0000417619 00000 n 
-0000417753 00000 n 
-0000417885 00000 n 
-0000418030 00000 n 
-0000418157 00000 n 
-0000418289 00000 n 
-0000418419 00000 n 
-0000418544 00000 n 
-0000418652 00000 n 
-0000418817 00000 n 
-0000418921 00000 n 
-0000419057 00000 n 
-0000419263 00000 n 
-0000419363 00000 n 
-0000419481 00000 n 
-0000419646 00000 n 
-0000419737 00000 n 
-0000419898 00000 n 
-0000420024 00000 n 
-0000420151 00000 n 
-0000420291 00000 n 
-0000420427 00000 n 
-0000420535 00000 n 
-0000420709 00000 n 
-0000420815 00000 n 
-0000420935 00000 n 
-0000421047 00000 n 
-0000421164 00000 n 
-0000421266 00000 n 
-0000421435 00000 n 
-0000421535 00000 n 
-0000421652 00000 n 
-0000421805 00000 n 
-0000421935 00000 n 
-0000422102 00000 n 
-0000422202 00000 n 
-0000422299 00000 n 
-0000422519 00000 n 
-0000422618 00000 n 
-0000422736 00000 n 
-0000422864 00000 n 
-0000423022 00000 n 
-0000423193 00000 n 
-0000423309 00000 n 
-0000423420 00000 n 
-0000423556 00000 n 
-0000423687 00000 n 
-0000423835 00000 n 
-0000423980 00000 n 
-0000424081 00000 n 
-0000424269 00000 n 
-0000424373 00000 n 
-0000424526 00000 n 
-0000424637 00000 n 
-0000424745 00000 n 
-0000424876 00000 n 
-0000425051 00000 n 
-0000425154 00000 n 
-0000425305 00000 n 
-0000425407 00000 n 
-0000425529 00000 n 
-0000425661 00000 n 
-0000425781 00000 n 
-0000425896 00000 n 
-0000426010 00000 n 
-0000426123 00000 n 
-0000426240 00000 n 
-0000426355 00000 n 
-0000426471 00000 n 
-0000426586 00000 n 
-0000426702 00000 n 
-0000426824 00000 n 
-0000426945 00000 n 
-0000427064 00000 n 
-0000427182 00000 n 
-0000427302 00000 n 
-0000427405 00000 n 
-0000427519 00000 n 
-0000427680 00000 n 
-0000427776 00000 n 
-0000427890 00000 n 
-0000428000 00000 n 
-0000428117 00000 n 
-0000428295 00000 n 
-0000428405 00000 n 
-0000428559 00000 n 
-0000428728 00000 n 
-0000428916 00000 n 
-0000429097 00000 n 
-0000429253 00000 n 
-0000429419 00000 n 
-0000429551 00000 n 
-0000429698 00000 n 
-0000429837 00000 n 
-0000429957 00000 n 
-0000430078 00000 n 
-0000430197 00000 n 
-0000430361 00000 n 
-0000430465 00000 n 
-0000430583 00000 n 
-0000430701 00000 n 
-0000430822 00000 n 
-0000430958 00000 n 
-0000431057 00000 n 
-0000431221 00000 n 
-0000431325 00000 n 
-0000431442 00000 n 
-0000431592 00000 n 
-0000431692 00000 n 
-0000431806 00000 n 
-0000431920 00000 n 
-0000432034 00000 n 
-0000432148 00000 n 
-0000432262 00000 n 
-0000432376 00000 n 
-0000432490 00000 n 
-0000432604 00000 n 
-0000432720 00000 n 
-0000432822 00000 n 
-0000432936 00000 n 
+0000088354 00000 n 
+0000088398 00000 n 
+0000088442 00000 n 
+0000088486 00000 n 
+0000088530 00000 n 
+0000088574 00000 n 
+0000088618 00000 n 
+0000088662 00000 n 
+0000088706 00000 n 
+0000088750 00000 n 
+0000088794 00000 n 
+0000088839 00000 n 
+0000088884 00000 n 
+0000088929 00000 n 
+0000088974 00000 n 
+0000089019 00000 n 
+0000089064 00000 n 
+0000089109 00000 n 
+0000089154 00000 n 
+0000089199 00000 n 
+0000089244 00000 n 
+0000089289 00000 n 
+0000089334 00000 n 
+0000089379 00000 n 
+0000089424 00000 n 
+0000089469 00000 n 
+0000089514 00000 n 
+0000089559 00000 n 
+0000089604 00000 n 
+0000089649 00000 n 
+0000089694 00000 n 
+0000089739 00000 n 
+0000089784 00000 n 
+0000089829 00000 n 
+0000089874 00000 n 
+0000089919 00000 n 
+0000089964 00000 n 
+0000090009 00000 n 
+0000090054 00000 n 
+0000090099 00000 n 
+0000090144 00000 n 
+0000090189 00000 n 
+0000090234 00000 n 
+0000090279 00000 n 
+0000090324 00000 n 
+0000090369 00000 n 
+0000090414 00000 n 
+0000090459 00000 n 
+0000090504 00000 n 
+0000090549 00000 n 
+0000090594 00000 n 
+0000090639 00000 n 
+0000090684 00000 n 
+0000090729 00000 n 
+0000090774 00000 n 
+0000090819 00000 n 
+0000090864 00000 n 
+0000090909 00000 n 
+0000090954 00000 n 
+0000090999 00000 n 
+0000091044 00000 n 
+0000091089 00000 n 
+0000091134 00000 n 
+0000091179 00000 n 
+0000091224 00000 n 
+0000091269 00000 n 
+0000091314 00000 n 
+0000091359 00000 n 
+0000091404 00000 n 
+0000091449 00000 n 
+0000091494 00000 n 
+0000091539 00000 n 
+0000091584 00000 n 
+0000091629 00000 n 
+0000091674 00000 n 
+0000091719 00000 n 
+0000091764 00000 n 
+0000091809 00000 n 
+0000091854 00000 n 
+0000091899 00000 n 
+0000091944 00000 n 
+0000091989 00000 n 
+0000092034 00000 n 
+0000092079 00000 n 
+0000092124 00000 n 
+0000092169 00000 n 
+0000092214 00000 n 
+0000092259 00000 n 
+0000092304 00000 n 
+0000092349 00000 n 
+0000092394 00000 n 
+0000092439 00000 n 
+0000092484 00000 n 
+0000092529 00000 n 
+0000092574 00000 n 
+0000092619 00000 n 
+0000092664 00000 n 
+0000092709 00000 n 
+0000092754 00000 n 
+0000092799 00000 n 
+0000092844 00000 n 
+0000092889 00000 n 
+0000092934 00000 n 
+0000092979 00000 n 
+0000093024 00000 n 
+0000093069 00000 n 
+0000093114 00000 n 
+0000093159 00000 n 
+0000093204 00000 n 
+0000093249 00000 n 
+0000093294 00000 n 
+0000093339 00000 n 
+0000093384 00000 n 
+0000093429 00000 n 
+0000093474 00000 n 
+0000093519 00000 n 
+0000093564 00000 n 
+0000093609 00000 n 
+0000093654 00000 n 
+0000093699 00000 n 
+0000093744 00000 n 
+0000093789 00000 n 
+0000093834 00000 n 
+0000093879 00000 n 
+0000093924 00000 n 
+0000093969 00000 n 
+0000094014 00000 n 
+0000094059 00000 n 
+0000094104 00000 n 
+0000094149 00000 n 
+0000095548 00000 n 
+0000095709 00000 n 
+0000095878 00000 n 
+0000096071 00000 n 
+0000099760 00000 n 
+0000099953 00000 n 
+0000104259 00000 n 
+0000104453 00000 n 
+0000108285 00000 n 
+0000108479 00000 n 
+0000111850 00000 n 
+0000112044 00000 n 
+0000114896 00000 n 
+0000115090 00000 n 
+0000118370 00000 n 
+0000118564 00000 n 
+0000119223 00000 n 
+0000119384 00000 n 
+0000119618 00000 n 
+0000119822 00000 n 
+0000122520 00000 n 
+0000122695 00000 n 
+0000126304 00000 n 
+0000126479 00000 n 
+0000128781 00000 n 
+0000128956 00000 n 
+0000130064 00000 n 
+0000130225 00000 n 
+0000130413 00000 n 
+0000130617 00000 n 
+0000131272 00000 n 
+0000131484 00000 n 
+0000132628 00000 n 
+0000132816 00000 n 
+0000134311 00000 n 
+0000134508 00000 n 
+0000135923 00000 n 
+0000136138 00000 n 
+0000137366 00000 n 
+0000137560 00000 n 
+0000139126 00000 n 
+0000139296 00000 n 
+0000141097 00000 n 
+0000141248 00000 n 
+0000141484 00000 n 
+0000141654 00000 n 
+0000143312 00000 n 
+0000143491 00000 n 
+0000145323 00000 n 
+0000145492 00000 n 
+0000147346 00000 n 
+0000147515 00000 n 
+0000148624 00000 n 
+0000148812 00000 n 
+0000150513 00000 n 
+0000150701 00000 n 
+0000152179 00000 n 
+0000152367 00000 n 
+0000153852 00000 n 
+0000154022 00000 n 
+0000155683 00000 n 
+0000155853 00000 n 
+0000156594 00000 n 
+0000156773 00000 n 
+0000158506 00000 n 
+0000158694 00000 n 
+0000160494 00000 n 
+0000160682 00000 n 
+0000162327 00000 n 
+0000162496 00000 n 
+0000163266 00000 n 
+0000163473 00000 n 
+0000165095 00000 n 
+0000165302 00000 n 
+0000166898 00000 n 
+0000167067 00000 n 
+0000167394 00000 n 
+0000167555 00000 n 
+0000167745 00000 n 
+0000167949 00000 n 
+0000168761 00000 n 
+0000168931 00000 n 
+0000170877 00000 n 
+0000171037 00000 n 
+0000171709 00000 n 
+0000171922 00000 n 
+0000173683 00000 n 
+0000173896 00000 n 
+0000175434 00000 n 
+0000175656 00000 n 
+0000177485 00000 n 
+0000177706 00000 n 
+0000179399 00000 n 
+0000179606 00000 n 
+0000181291 00000 n 
+0000181507 00000 n 
+0000183486 00000 n 
+0000183708 00000 n 
+0000185716 00000 n 
+0000185928 00000 n 
+0000188008 00000 n 
+0000188211 00000 n 
+0000190473 00000 n 
+0000190695 00000 n 
+0000192900 00000 n 
+0000193098 00000 n 
+0000195105 00000 n 
+0000195293 00000 n 
+0000196839 00000 n 
+0000197018 00000 n 
+0000199003 00000 n 
+0000199191 00000 n 
+0000201155 00000 n 
+0000201343 00000 n 
+0000203299 00000 n 
+0000203496 00000 n 
+0000205246 00000 n 
+0000205406 00000 n 
+0000206395 00000 n 
+0000206589 00000 n 
+0000208179 00000 n 
+0000208359 00000 n 
+0000210106 00000 n 
+0000210285 00000 n 
+0000211182 00000 n 
+0000211361 00000 n 
+0000212427 00000 n 
+0000212624 00000 n 
+0000214136 00000 n 
+0000214315 00000 n 
+0000215120 00000 n 
+0000215350 00000 n 
+0000216838 00000 n 
+0000217050 00000 n 
+0000218798 00000 n 
+0000218991 00000 n 
+0000220345 00000 n 
+0000220506 00000 n 
+0000220697 00000 n 
+0000220901 00000 n 
+0000222168 00000 n 
+0000222366 00000 n 
+0000223796 00000 n 
+0000223984 00000 n 
+0000225675 00000 n 
+0000225863 00000 n 
+0000227642 00000 n 
+0000227821 00000 n 
+0000229885 00000 n 
+0000230064 00000 n 
+0000231881 00000 n 
+0000232060 00000 n 
+0000233798 00000 n 
+0000233986 00000 n 
+0000235835 00000 n 
+0000236057 00000 n 
+0000238068 00000 n 
+0000238281 00000 n 
+0000239834 00000 n 
+0000240023 00000 n 
+0000241415 00000 n 
+0000241585 00000 n 
+0000241928 00000 n 
+0000242149 00000 n 
+0000243909 00000 n 
+0000244115 00000 n 
+0000245988 00000 n 
+0000246185 00000 n 
+0000247764 00000 n 
+0000247975 00000 n 
+0000249490 00000 n 
+0000249678 00000 n 
+0000250563 00000 n 
+0000250751 00000 n 
+0000252274 00000 n 
+0000252477 00000 n 
+0000254181 00000 n 
+0000254384 00000 n 
+0000255331 00000 n 
+0000255543 00000 n 
+0000257053 00000 n 
+0000257233 00000 n 
+0000257988 00000 n 
+0000258219 00000 n 
+0000259925 00000 n 
+0000260137 00000 n 
+0000262121 00000 n 
+0000262352 00000 n 
+0000264309 00000 n 
+0000264531 00000 n 
+0000266309 00000 n 
+0000266512 00000 n 
+0000267818 00000 n 
+0000268040 00000 n 
+0000269631 00000 n 
+0000269810 00000 n 
+0000271432 00000 n 
+0000271611 00000 n 
+0000273196 00000 n 
+0000273375 00000 n 
+0000274933 00000 n 
+0000275112 00000 n 
+0000276728 00000 n 
+0000276898 00000 n 
+0000277772 00000 n 
+0000277961 00000 n 
+0000279632 00000 n 
+0000279811 00000 n 
+0000281542 00000 n 
+0000281730 00000 n 
+0000283624 00000 n 
+0000283837 00000 n 
+0000285690 00000 n 
+0000285930 00000 n 
+0000288023 00000 n 
+0000288235 00000 n 
+0000289815 00000 n 
+0000290036 00000 n 
+0000291285 00000 n 
+0000291473 00000 n 
+0000292752 00000 n 
+0000292931 00000 n 
+0000293992 00000 n 
+0000294180 00000 n 
+0000295744 00000 n 
+0000295932 00000 n 
+0000297348 00000 n 
+0000297537 00000 n 
+0000298800 00000 n 
+0000298980 00000 n 
+0000299631 00000 n 
+0000299828 00000 n 
+0000301303 00000 n 
+0000301491 00000 n 
+0000302586 00000 n 
+0000302774 00000 n 
+0000303307 00000 n 
+0000303504 00000 n 
+0000304723 00000 n 
+0000304926 00000 n 
+0000306256 00000 n 
+0000306441 00000 n 
+0000306911 00000 n 
+0000307133 00000 n 
+0000309200 00000 n 
+0000309413 00000 n 
+0000311462 00000 n 
+0000311659 00000 n 
+0000312859 00000 n 
+0000313072 00000 n 
+0000314687 00000 n 
+0000314909 00000 n 
+0000316732 00000 n 
+0000316954 00000 n 
+0000318723 00000 n 
+0000318917 00000 n 
+0000319693 00000 n 
+0000319896 00000 n 
+0000321414 00000 n 
+0000321592 00000 n 
+0000322258 00000 n 
+0000322446 00000 n 
+0000323974 00000 n 
+0000324144 00000 n 
+0000325636 00000 n 
+0000325806 00000 n 
+0000327192 00000 n 
+0000327362 00000 n 
+0000328904 00000 n 
+0000329073 00000 n 
+0000330058 00000 n 
+0000330253 00000 n 
+0000330674 00000 n 
+0000330853 00000 n 
+0000332401 00000 n 
+0000332589 00000 n 
+0000333633 00000 n 
+0000333784 00000 n 
+0000334018 00000 n 
+0000334213 00000 n 
+0000335926 00000 n 
+0000336138 00000 n 
+0000337853 00000 n 
+0000338047 00000 n 
+0000339761 00000 n 
+0000339973 00000 n 
+0000341258 00000 n 
+0000341461 00000 n 
+0000343216 00000 n 
+0000343404 00000 n 
+0000345138 00000 n 
+0000345317 00000 n 
+0000346736 00000 n 
+0000346915 00000 n 
+0000348641 00000 n 
+0000348820 00000 n 
+0000350305 00000 n 
+0000350484 00000 n 
+0000352265 00000 n 
+0000352468 00000 n 
+0000354100 00000 n 
+0000354159 00000 n 
+0000354262 00000 n 
+0000354427 00000 n 
+0000354509 00000 n 
+0000354617 00000 n 
+0000354740 00000 n 
+0000354852 00000 n 
+0000355020 00000 n 
+0000355124 00000 n 
+0000355245 00000 n 
+0000355367 00000 n 
+0000355501 00000 n 
+0000355636 00000 n 
+0000355800 00000 n 
+0000355910 00000 n 
+0000356032 00000 n 
+0000356179 00000 n 
+0000356314 00000 n 
+0000356487 00000 n 
+0000356637 00000 n 
+0000356742 00000 n 
+0000356851 00000 n 
+0000356978 00000 n 
+0000357111 00000 n 
+0000357218 00000 n 
+0000357321 00000 n 
+0000357486 00000 n 
+0000357592 00000 n 
+0000357717 00000 n 
+0000357835 00000 n 
+0000357996 00000 n 
+0000358105 00000 n 
+0000358229 00000 n 
+0000358363 00000 n 
+0000358494 00000 n 
+0000358624 00000 n 
+0000358754 00000 n 
+0000358884 00000 n 
+0000358989 00000 n 
+0000359187 00000 n 
+0000359283 00000 n 
+0000359421 00000 n 
+0000359562 00000 n 
+0000359673 00000 n 
+0000359835 00000 n 
+0000359942 00000 n 
+0000360122 00000 n 
+0000360220 00000 n 
+0000360388 00000 n 
+0000360502 00000 n 
+0000360625 00000 n 
+0000360732 00000 n 
+0000360856 00000 n 
+0000360968 00000 n 
+0000361129 00000 n 
+0000361324 00000 n 
+0000361430 00000 n 
+0000361540 00000 n 
+0000361679 00000 n 
+0000361882 00000 n 
+0000362009 00000 n 
+0000362156 00000 n 
+0000362274 00000 n 
+0000362400 00000 n 
+0000362528 00000 n 
+0000362654 00000 n 
+0000362824 00000 n 
+0000362952 00000 n 
+0000363098 00000 n 
+0000363238 00000 n 
+0000363452 00000 n 
+0000363558 00000 n 
+0000363668 00000 n 
+0000363856 00000 n 
+0000363992 00000 n 
+0000364101 00000 n 
+0000364241 00000 n 
+0000364393 00000 n 
+0000364503 00000 n 
+0000364669 00000 n 
+0000364798 00000 n 
+0000364941 00000 n 
+0000365054 00000 n 
+0000365179 00000 n 
+0000365344 00000 n 
+0000365431 00000 n 
+0000365553 00000 n 
+0000365675 00000 n 
+0000365766 00000 n 
+0000365932 00000 n 
+0000366053 00000 n 
+0000366183 00000 n 
+0000366311 00000 n 
+0000366438 00000 n 
+0000366550 00000 n 
+0000366730 00000 n 
+0000366822 00000 n 
+0000367002 00000 n 
+0000367098 00000 n 
+0000367214 00000 n 
+0000367328 00000 n 
+0000367432 00000 n 
+0000367622 00000 n 
+0000367730 00000 n 
+0000367846 00000 n 
+0000367956 00000 n 
+0000368066 00000 n 
+0000368163 00000 n 
+0000368346 00000 n 
+0000368563 00000 n 
+0000368694 00000 n 
+0000368849 00000 n 
+0000368978 00000 n 
+0000369075 00000 n 
+0000369269 00000 n 
+0000369422 00000 n 
+0000369564 00000 n 
+0000369686 00000 n 
+0000369861 00000 n 
+0000369963 00000 n 
+0000370070 00000 n 
+0000370209 00000 n 
+0000370367 00000 n 
+0000370511 00000 n 
+0000370717 00000 n 
+0000370816 00000 n 
+0000370942 00000 n 
+0000371057 00000 n 
+0000371252 00000 n 
+0000371374 00000 n 
+0000371451 00000 n 
+0000371605 00000 n 
+0000371703 00000 n 
+0000371854 00000 n 
+0000371957 00000 n 
+0000372094 00000 n 
+0000372228 00000 n 
+0000372370 00000 n 
+0000372479 00000 n 
+0000372637 00000 n 
+0000372740 00000 n 
+0000372872 00000 n 
+0000372991 00000 n 
+0000373100 00000 n 
+0000373233 00000 n 
+0000373331 00000 n 
+0000373457 00000 n 
+0000373581 00000 n 
+0000373718 00000 n 
+0000373837 00000 n 
+0000373961 00000 n 
+0000374083 00000 n 
+0000374200 00000 n 
+0000374300 00000 n 
+0000374494 00000 n 
+0000374588 00000 n 
+0000374700 00000 n 
+0000374859 00000 n 
+0000374942 00000 n 
+0000375097 00000 n 
+0000375215 00000 n 
+0000375334 00000 n 
+0000375466 00000 n 
+0000375594 00000 n 
+0000375694 00000 n 
+0000375862 00000 n 
+0000375960 00000 n 
+0000376072 00000 n 
+0000376176 00000 n 
+0000376287 00000 n 
+0000376383 00000 n 
+0000376540 00000 n 
+0000376634 00000 n 
+0000376745 00000 n 
+0000376892 00000 n 
+0000377016 00000 n 
+0000377171 00000 n 
+0000377265 00000 n 
+0000377356 00000 n 
+0000377515 00000 n 
+0000377631 00000 n 
+0000377785 00000 n 
+0000377876 00000 n 
+0000377983 00000 n 
+0000378077 00000 n 
+0000378232 00000 n 
+0000378328 00000 n 
+0000378419 00000 n 
+0000378627 00000 n 
+0000378720 00000 n 
+0000378832 00000 n 
+0000378954 00000 n 
+0000379106 00000 n 
+0000379271 00000 n 
+0000379379 00000 n 
+0000379482 00000 n 
+0000379612 00000 n 
+0000379737 00000 n 
+0000379879 00000 n 
+0000380018 00000 n 
+0000380112 00000 n 
+0000380288 00000 n 
+0000380386 00000 n 
+0000380533 00000 n 
+0000380636 00000 n 
+0000380736 00000 n 
+0000380855 00000 n 
+0000381018 00000 n 
+0000381115 00000 n 
+0000381229 00000 n 
+0000381338 00000 n 
+0000381446 00000 n 
+0000381555 00000 n 
+0000381663 00000 n 
+0000381772 00000 n 
+0000381884 00000 n 
+0000381995 00000 n 
+0000382094 00000 n 
+0000382208 00000 n 
+0000382357 00000 n 
+0000382447 00000 n 
+0000382555 00000 n 
+0000382659 00000 n 
+0000382770 00000 n 
+0000382936 00000 n 
+0000383040 00000 n 
+0000383188 00000 n 
+0000383349 00000 n 
+0000383529 00000 n 
+0000383702 00000 n 
+0000383850 00000 n 
+0000384010 00000 n 
+0000384134 00000 n 
+0000384273 00000 n 
+0000384404 00000 n 
+0000384516 00000 n 
+0000384631 00000 n 
+0000384744 00000 n 
+0000384896 00000 n 
+0000384994 00000 n 
+0000385106 00000 n 
+0000385218 00000 n 
+0000385333 00000 n 
+0000385463 00000 n 
+0000385556 00000 n 
+0000385708 00000 n 
+0000385806 00000 n 
+0000385917 00000 n 
+0000386061 00000 n 
+0000386153 00000 n 
+0000386259 00000 n 
+0000386365 00000 n 
+0000386471 00000 n 
+0000386577 00000 n 
+0000386683 00000 n 
+0000386789 00000 n 
+0000386895 00000 n 
+0000387001 00000 n 
+0000387108 00000 n 
+0000387201 00000 n 
+0000387309 00000 n 
 trailer
-<</Size 1937/Root 1936 0 R/Info 1 0 R/ID[<d4635e29b9310f2537aa795b8caa009c><d4635e29b9310f2537aa795b8caa009c>]>>
+<</Size 1682/Root 1681 0 R/Info 1 0 R/ID[<a6ff5435f6c7295918a4c9dcb3c2615f><a6ff5435f6c7295918a4c9dcb3c2615f>]>>
 startxref
-433845
+388219
 %%EOF
index 6b4eb34b769bc1367f0ed07fd0bb04114e25c332..ec9d3af563a8231dd9a57e823d0cc068d15ce5d7 100644 (file)
@@ -101,7 +101,7 @@ rfc1001.txt describes, amongst other things, the implementation and use
 of, a 'NetBIOS Name Service'.  NT/AS offers 'Windows Internet Name Service'
 which is fully rfc1001/2 compliant, but has had to take specific action
 with certain NetBIOS names in order to make it useful.  (for example, it
-deals with the registration of &lt;1c&gt; &lt;1d&gt; &lt;1e&gt; names all in different ways.
+deals with the registration of <1c> <1d> <1e> names all in different ways.
 I recommend the reading of the Microsoft WINS Server Help files for full
 details).
 </para>
index ccf1e1c3c849cecb88ea220461952e51b4f215e5..3a0e4ba1a97b67e13b15625af3b5fd5b5842d2ce 100644 (file)
@@ -80,11 +80,11 @@ stderr output from this command to a file for later perusal. For
 example, if I'm using a csh style shell:
 </para>
 
-<para><command>strace -f -p 3872 &gt;&amp; strace.out</command></para>
+<para><command>strace -f -p 3872 >& strace.out</command></para>
 
 <para>or with a sh style shell:</para>
 
-<para><command>strace -f -p 3872 > strace.out 2&gt;&amp;1</command></para>
+<para><command>strace -f -p 3872 > strace.out 2>&1</command></para>
 
 <para>
 Note the "-f" option. This is only available on some systems, and
index 0197f4e1bef13c1b9dd0a35a6dd1315f703e0c49..f64e1b37d6399ab3b0eea0799cae2ca14a7afb2b 100644 (file)
@@ -2175,7 +2175,7 @@ return    0 - indicates success
 </sect3>
 </sect2>
 
-<sect2>
+<sect2
 <title>LSA SAM Logon</title>
 
 <para><emphasis>
@@ -2279,7 +2279,7 @@ Note:     presumably, the SAM_INFO structure is validated, and a (currently
 
 <para><emphasis>
 Note:  mailslots will contain a response mailslot, to which the response
-       should be sent.  the target NetBIOS name is REQUEST_NAME&lt;20&gt;, where
+       should be sent.  the target NetBIOS name is REQUEST_NAME<20>, where
        REQUEST_NAME is the name of the machine that sent the request.
 </emphasis></para>
 
@@ -2361,7 +2361,7 @@ Note:     mailslots will contain a response mailslot, to which the response
 </variablelist>
 
 </sect3>
-</sect2>
+</sect2
 
 <sect2>
 <title>SAM Logon</title>
@@ -2663,16 +2663,16 @@ pwdump(machine$) (initially) == md4(lmowf(unicode(machine)))
 <title>Protocol</title>
 
 <para>
-C-&gt;S ReqChal,Cc S-&gt;C Cs
+C->S ReqChal,Cc S->C Cs
 </para>
 
 <para>
-C &amp; S compute session key Ks = E(PW[9..15],E(PW[0..6],Add(Cc,Cs)))
+C & S compute session key Ks = E(PW[9..15],E(PW[0..6],Add(Cc,Cs)))
 </para>
 
 <para>
 C: Rc = Cred(Ks,Cc) C->S Authenticate,Rc S: Rs = Cred(Ks,Cs),
-assert(Rc == Cred(Ks,Cc)) S-&gt;C Rs C: assert(Rs == Cred(Ks,Cs))
+assert(Rc == Cred(Ks,Cc)) S->C Rs C: assert(Rs == Cred(Ks,Cs))
 </para>
 
 <para>
@@ -2682,7 +2682,7 @@ on registry settings. This will also occur weekly afterwards.
 </para>
 
 <para>
-C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C-&gt;S ServerPasswordSet,Rc',Tc,
+C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C->S ServerPasswordSet,Rc',Tc,
 arc4(Ks[0..7,16],lmowf(randompassword()) C: Rc = Cred(Ks,Rc+Tc+1) S:
 assert(Rc' == Cred(Ks,Rc+Tc)), Ts = Time() S: Rs' = Cred(Ks,Rs+Tc+1)
 S->C Rs',Ts C: assert(Rs' == Cred(Ks,Rs+Tc+1)) S: Rs = Rs'
@@ -2694,7 +2694,7 @@ such as workstation and domain omitted)
 </para>
 
 <para>
-C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C-&gt;S NetLogonSamLogon,Rc',Tc,U,
+C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C->S NetLogonSamLogon,Rc',Tc,U,
 arc4(Ks[0..7,16],16,ntowf(P),16), arc4(Ks[0..7,16],16,lmowf(P),16) S:
 assert(Rc' == Cred(Ks,Rc+Tc)) assert(passwords match those in SAM) S:
 Ts = Time()
index b5c934b1c88abbce6e5994afeeed696025e3f95b..e256dbe3a2cb62a2daf58cd1e073c360375eda67 100644 (file)
@@ -12,7 +12,6 @@
 <!ENTITY wins SYSTEM "wins.sgml">
 <!ENTITY sam SYSTEM "sam.sgml">
 <!ENTITY encryption SYSTEM "encryption.sgml">
-<!ENTITY rpc-plugin SYSTEM "rpc_plugin.sgml">
 ]>
 
 <book id="Samba-Developers-Guide">
@@ -67,6 +66,5 @@ url="http://www.fsf.org/licenses/gpl.txt">http://www.fsf.org/licenses/gpl.txt</u
 &wins;
 &sam;
 &encryption;
-&rpc-plugin;
 
 </book>
index 3ca8aa109c08f82a0fa0949c8f94bb5f5c4e221c..7d95edd34a052d3836fc740bed330da18a9b2b9d 100644 (file)
@@ -90,7 +90,7 @@
 </sect1>
 
 <sect1>
-       <title><anchor id="SMBPASSWDFILEFORMAT"/>The smbpasswd file</title>
+       <title><anchor id="SMBPASSWDFILEFORMAT">The smbpasswd file</title>
        
        <para>In order for Samba to participate in the above protocol 
        it must be able to look up the 16 byte hashed values given a user name.
        /etc/passwd</filename> and the <filename>smbpasswd</filename> file, 
        a utility, <command>mksmbpasswd.sh</command>, is provided to generate
        a smbpasswd file from a UNIX <filename>/etc/passwd</filename> file.
-       </para>
+       </para
 
 
        <para>To generate the smbpasswd file from your <filename>/etc/passwd
-       </filename> file use the following command:</para>
+       </filename> file use the following command :</para>
        
        <para><prompt>$ </prompt><userinput>cat /etc/passwd | mksmbpasswd.sh
        &gt; /usr/local/samba/private/smbpasswd</userinput></para>
index 363b9fb6e50bab052313d806f21f23387a418753..2ef64353e1eefcf4e01912849b193dc1ddf4ba8a 100644 (file)
@@ -28,7 +28,7 @@ Printing Interface to Various Back ends
 
 <para>
 Samba uses a table of function pointers to seven functions.  The
-function prototypes are defined in the <varname>printif</varname> structure declared
+function prototypes are defined in the <VarName>printif</VarName> structure declared
 in <filename>printing.h</filename>.
 </para>
 
@@ -199,7 +199,7 @@ object when the client issues a GetJob(level == 2) request.
 
 <sect1>
 <title>
-ChangeID and Client Caching of Printer Information
+ChangeID & Client Caching of Printer Information
 </title>
 
 <para>
@@ -345,7 +345,7 @@ information</para></listitem>
 </itemizedlist>
 
 <para>
-A <varname>SPOOL_NOTIFY_INFO</varname> contains:
+A <VarName>SPOOL_NOTIFY_INFO</VarName> contains:
 </para>
 
 <itemizedlist>
@@ -359,7 +359,7 @@ in the SPOOL_NOTIFY_INFO_DATA array</para></listitem>
 </itemizedlist>
 
 <para>
-The <varname>SPOOL_NOTIFY_INFO_DATA</varname> entries contain:
+The <VarName>SPOOL_NOTIFY_INFO_DATA</VarName> entries contain:
 </para>
 
 <itemizedlist>
diff --git a/docs/docbook/devdoc/rpc_plugin.sgml b/docs/docbook/devdoc/rpc_plugin.sgml
deleted file mode 100644 (file)
index 21582a0..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<chapter id="rpc-plugin">
-<chapterinfo>
-       <author>
-               <firstname>Anthony</firstname><surname>Liguori</surname>
-               <affiliation>
-                       <orgname>IBM</orgname>
-                       <address><email>aliguor@us.ibm.com</email></address>
-               </affiliation>
-       </author>
-       <pubdate>January 2003</pubdate>
-</chapterinfo>
-
-<title>RPC Pluggable Modules</title>
-
-<sect1>
-<title>About</title>
-
-<para>
-This document describes how to make use the new RPC Pluggable Modules features
-of Samba 3.0.  This architecture was added to increase the maintainability of
-Samba allowing RPC Pipes to be worked on separately from the main CVS branch.
-The RPM architecture will also allow third-party vendors to add functionality
-to Samba through plug-ins.
-</para>
-
-</sect1>
-
-<sect1>
-<title>General Overview</title>
-
-<para>
-When an RPC call is sent to smbd, smbd tries to load a shared library by the
-name <filename>librpc_&lt;pipename&gt;.so</filename> to handle the call if
-it doesn't know how to handle the call internally.  For instance, LSA calls
-are handled by <filename>librpc_lsass.so</filename>..
-These shared libraries should be located in the <filename>&lt;sambaroot&gt;/lib/rpc</filename>.  smbd then attempts to call the rpc_pipe_init function within
-the shared library.
-</para>
-
-<para>
-In the rpc_pipe_init function, the library should call 
-rpc_pipe_register_commands().  This function takes the following arguments:
-</para>
-
-<para><programlisting>
-int rpc_pipe_register_commands(const char *clnt, const char *srv,
-                               const struct api_struct *cmds, int size);
-</programlisting></para>
-
-<variablelist>
-
-<varlistentry><term>clnt</term>
-<listitem><para>the Client name of the named pipe</para></listitem>
-</varlistentry>
-
-<varlistentry><term>srv</term>
-<listitem><para>the Server name of the named pipe</para></listitem>
-</varlistentry>
-
-<varlistentry><term>cmds</term>
-<listitem><para>a list of api_structs that map RPC ordinal numbers to function calls</para></listitem>
-</varlistentry>
-
-<varlistentry><term>size</term>
-<listitem><para>the number of api_structs contained in cmds</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>
-See rpc_server/srv_reg.c and rpc_server/srv_reg_nt.c for a small example of
-how to use this library.
-</para>
-
-</sect1>
-</chapter>
index 84c17d65e26123590d613b0d384f4563ffc3e56a..654bd5fe9c31fd16a09d62d2b488859239e564c7 100644 (file)
@@ -27,7 +27,7 @@ accessed.</para>
 For example, when you call 
 </para>
 
-<programlisting>
+<programlisting><
 NTSTATUS sam_get_account_by_name(const SAM_CONTEXT *context, const
 NT_USER_TOKEN *access_token, uint32 access_desired, const char *domain,
 const char *name, SAM_ACCOUNT_HANDLE **account)
@@ -182,7 +182,7 @@ This is where smbd, samtest and whatever end-user replacement we have
 for pdbedit sits.  They use only the SAM interface, and do not get
 'special knowledge' of what is below them.
 </para>
-</sect2>
+
 <sect2>
 <title>SAM Interface</title>
 
index d6a658089c40cb28e2ae9a4a40d875b639e3b5c7..aae96edfb7018e71e12b5ffecb353ad521448b74 100644 (file)
@@ -13,7 +13,7 @@
 <para>
 This is a short document that describes some of the issues that
 confront a SMB implementation on unix, and how Samba copes with
-them. They may help people who are looking at unix&lt;-&gt;PC
+them. They may help people who are looking at unix<->PC
 interoperability.
 </para>
 
index 3d44dd44c03d2412dfb6b48647fada0bbff7169f..6d687bf772f97f72be12e83b422ba7d1876fd096 100644 (file)
@@ -1,8 +1,8 @@
-<chapter id="FAQ-ClientApp">
+<chapter id="ClientApp">
 <title>Specific client application problems</title>
 
 <sect1>
-<title>MS Office Setup reports "Cannot change properties of '\\MSOFFICE\\SETUP.INI'"</title>
+<title>MS Office Setup reports "Cannot change properties of '\MSOFFICE\SETUP.INI'"</title>
 <para>
 When installing MS Office on a Samba drive for which you have admin
 user permissions, ie. admin users = username, you will find the
@@ -60,16 +60,16 @@ set the following parameters on the share containing it:
 </para>
 
 <para><programlisting>
-[MSOP95]
-       path = /where_you_put_it
-       comment = Your comment
-       volume = "The_CD_ROM_Label"
-       read only = yes
-       available = yes
-       share modes = no
-       locking = no
-       browseable = yes
-       public = yes
+       [MSOP95]
+               path = /where_you_put_it
+               comment = Your comment
+               volume = "The_CD_ROM_Label"
+               read only = yes
+               available = yes
+               share modes = no
+               locking = no
+               browseable = yes
+               public = yes
 </programlisting></para>
 
 </listitem>
index a95ac84d2fd0302755057329c3d2b205384aabb0..78f73252a235f11e84f904c9e53a2aa762e37ea4 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-Config">
+<chapter id="Config">
 <title>Configuration problems</title>
 
 <sect1>
index 905e7c92c22df0b80c7c9be768b57a0e96f62b0f..6476ec064e4311f89bf254d517aad5e67b5f5f35 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-errors">
+<chapter id="errors">
 
 <title>Common errors</title>
 
@@ -49,6 +49,7 @@ the samba HOWTO Collection</member>
 Windows NT in the chapter "Portability" of the samba HOWTO collection
 </member>
 </simplelist>
+</para>
 
 </sect1>
 
@@ -62,6 +63,7 @@ the program always prompts for the password if the server is a Samba server.
 It also ignores the "-N" argument when querying some (but not all) of our
 NT servers.
 </quote>
+</para>
 
 <para>
 No, it does not ignore -N, it is just that your server rejected the 
index 66b05379cced73c029c262c8631abfeab6b6344d..d464885f9e248bf3a700a7547a79b6d95cda36fa 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-features">
+<chapter id="features">
 
 <title>Features</title>
 
@@ -83,7 +83,9 @@ manual carefully.</para>
 <title>Tools for printing faxes</title>
 
 <para>Your incomed faxes are in:
-<filename>/var/spool/fax/incoming</filename>. Print it with:</para>
+<filename>/var/spool/fax/incoming</filename>
+
+<para>print it with:</para>
 
 <para><programlisting>
 for i in *
@@ -139,7 +141,7 @@ lp3|fax:\
         :sd=/usr/spool/lp3:\
         :if=/usr/local/etc/mgetty+sendfax/faxfilter:sh:sf:mx#0:\
         :lf=/usr/spool/lp3/fax-log:
-</programlisting></para>
+</programlisting>
 
 <para>Now, edit your <filename>smb.conf</filename> so you have a smb based printer named "fax"</para>
 
index 3f7c2074f95dfda46205369a8c4574d5932f8169..38bcdf49e37f422600df4a9bdc049ddd6d5ffe07 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-general">
+<chapter id="general">
 <title>General Information</title>
 
 <sect1>
index f8341dc65ac395198d39fcdab810aa29af1b1d29..88520fc71d49cd1936bed3dabbae4ac74aa254e3 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-Install">
+<chapter id="Install">
 <title>Compiling and installing Samba on a Unix host</title>
 
 <sect1>
@@ -22,7 +22,7 @@ client to client - check your client's documentation.
 </sect1>
 
 <sect1>
-<title>Some files that I KNOW are on the server don't show up when I view the files from my client!</title>
+<title>Some files that I KNOW are on the server doesn't show up when I view the files from my client!</title>
 <para>See the next question.</para>
 </sect1>
 
index 090b1c8388d007ad549cca995df747c7153c169e..0b3bbca0176f02e91fdf4cf6b78be3073e46a124 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="findsmb.1">
+<refentry id="findsmb">
 
 <refmeta>
        <refentrytitle>findsmb</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
        
-       <para>This perl script is part of the <citerefentry>
-       <refentrytitle>Samba</refentrytitle><manvolnum>7</manvolnum></citerefentry>
-       suite.</para>
+       <para>This perl script is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>findsmb</command> is a perl script that
        prints out several pieces of information about machines 
        on a subnet that respond to SMB  name query requests.
-       It uses <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-       and <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-       to obtain this information.
+       It uses <ulink url="nmblookup.1.html"><command>
+       nmblookup(1)</command></ulink> and <ulink url="smbclient.1.html">
+       <command>smbclient(1)</command></ulink> to obtain this information.
        </para>
 </refsect1>            
 
                bugs in Windows95 into account when trying to find a Netbios name
                registered of the remote machine. This option is disabled by default
                because it is specific to Windows 95 and Windows 95 machines only. 
-               If set, <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+               If set, <ulink url="nmblookup.1.html"><command>nmblookup</command></ulink>
                will be called with <constant>-B</constant> option.</para></listitem>
                </varlistentry>
                <varlistentry>
                <term>subnet broadcast address</term>
                <listitem><para>Without this option, <command>findsmb
                </command> will probe the subnet of the machine where 
-               <citerefentry><refentrytitle>findsmb</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-               is run. This value is passed to 
-               <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-               as part of the <constant>-B</constant> option.</para></listitem>
+               <command>findsmb</command> is run. This value is passed 
+               to <command>nmblookup</command> as part of the 
+               <constant>-B</constant> option.</para></listitem>
                </varlistentry>
        </variablelist>
 </refsect1>
        version.</para>
 
        <para>The command with <constant>-r</constant> option
-       must be run on a system without <citerefentry>
-       <refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum>
-       </citerefentry> running. 
-
+       must be run on a system without <ulink
+       url="nmbd.8.html"><command>nmbd</command></ulink> running. 
        If <command>nmbd</command> is running on the system, you will 
        only  get the IP address and the DNS name of the machine. To 
        get proper responses  from Windows 95 and Windows 98 machines, 
        the command must be run as root and with <constant>-r</constant>
        option on a machine without <command>nmbd</command> running.</para>
 
-       <para>For example, running <command>findsmb</command> 
-       without <constant>-r</constant> option set would yield output similar
+       <para>For example, running <command>findsmb</command> without 
+       <constant>-r</constant> option set would yield output similar
        to the following</para>
 
-<screen>
+       <screen><computeroutput>
 IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION 
 --------------------------------------------------------------------- 
 192.168.35.10   MINESET-TEST1  [DMVENGR]
@@ -105,7 +101,7 @@ IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION
 192.168.35.88   SCNT2         +[MVENGR] [Windows NT 4.0] [NT LAN Manager 4.0]
 192.168.35.93   FROGSTAR-PC    [MVENGR] [Windows 5.0] [Windows 2000 LAN Manager]
 192.168.35.97   HERBNT1       *[HERB-NT] [Windows NT 4.0] [NT LAN Manager 4.0]
-</screen>
+       </computeroutput></screen>
 
 </refsect1>
 
@@ -119,12 +115,10 @@ IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry>
-       <refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum>
-       </citerefentry>,
-       <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-       </citerefentry>, and <citerefentry><refentrytitle>nmblookup</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>
+       <para><ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
+       <ulink url="smbclient.1.html"><command>smbclient(1)
+       </command></ulink>, and <ulink url="nmblookup.1.html">
+       <command>nmblookup(1)</command></ulink>
        </para>
 </refsect1>
 
@@ -138,11 +132,11 @@ IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink 
-       url="ftp://ftp.icce.rug.nl/pub/unix/">ftp://ftp.icce.rug.nl/pub/unix/</ulink>) 
-       and updated for the Samba 2.0 release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook
-       XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
+       release by Jeremy Allison.  The conversion to DocBook for 
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index a8a5f2c07283bea474605dfdf5ce7a110ddfee0a..7934c18e8ec7eb55a43a401b20c7eda238158a6a 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="lmhosts.5">
+<refentry id="lmhosts">
 
 <refmeta>
        <refentrytitle>lmhosts</refentrytitle>
 </refnamediv>
 
 <refsynopsisdiv>
-       <para><filename>lmhosts</filename> is the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> NetBIOS name to IP address mapping file.</para> 
+       <para><filename>lmhosts</filename> is the <ulink url="samba.7.html">
+       Samba</ulink> NetBIOS name to IP address mapping file.</para> 
 </refsynopsisdiv>
 
 <refsect1>
        <title>DESCRIPTION</title>
        
-       <para>This file is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This file is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><filename>lmhosts</filename> is the <emphasis>Samba
        </emphasis> NetBIOS name to IP address mapping file.  It 
@@ -35,7 +35,7 @@
        <para>It is an ASCII file containing one line for NetBIOS name. 
        The two fields on each line are separated from each other by 
        white space. Any entry beginning with '#' is ignored. Each line 
-       in the lmhosts file contains the following information:</para>
+       in the lmhosts file contains the following information :</para>
 
        <itemizedlist>
                <listitem><para>IP Address - in dotted decimal format.</para>
                </listitem>
        </itemizedlist>
 
-       <para>An example follows:</para>
+       <para>An example follows :</para>
        
-       <programlisting>
+       <para><programlisting>
 #
 # Sample Samba lmhosts file.
 #
 192.9.200.1    TESTPC
 192.9.200.20   NTSERVER#20
 192.9.200.21   SAMBASERVER
-       </programlisting>
+       </programlisting></para>
        
        <para>Contains three IP to NetBIOS name mappings. The first 
        and third will be returned for any queries for the names "TESTPC" 
        be resolved.</para>
 
        <para>The default location of the <filename>lmhosts</filename> file 
-       is in the same directory as the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file.</para>
+       is in the same directory as the <ulink url="smb.conf.5.html">           
+       smb.conf(5)></ulink> file.</para>
        
 </refsect1>
 
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry>
-       <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-       </citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-       </citerefentry>, and <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>
+       <para><ulink url="smbclient.1.html"><command>smbclient(1)
+       </command></ulink>, <ulink url="smb.conf.5.html#NAMERESOLVEORDER">
+       smb.conf(5)</ulink>, and <ulink url="smbpasswd.8.html"><command>
+       smbpasswd(8)</command></ulink>
        </para>
 </refsect1>
 
        <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook
-       XML 4.2 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 62cee8c1d72cb04b794d2b985900e14ec9074794..aab9032f1479943718c59b05ab3fc51e63873720 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="net.8">
+<refentry id="net">
 
 <refmeta>
        <refentrytitle>net</refentrytitle>
@@ -42,8 +42,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para>The samba net utility is meant to work just like the net utility 
        available for windows and DOS.</para>
@@ -65,8 +65,7 @@
                <varlistentry>
                <term>-w target-workgroup</term>
                <listitem><para>
-               Sets target workgroup or domain. You have to specify 
-               either this option or the IP address or the name of a server.
+               Sets target workgroup or domain. You have to specify either this option or the IP address or the name of a server.
                </para></listitem>
                </varlistentry>
 
@@ -87,8 +86,7 @@
                <varlistentry>
                <term>-I ip-address</term>
                <listitem><para>
-               IP address of target server to use. You have to
-               specify either this option or a target workgroup or a target server.
+               IP address of target server to use. You have to specify either this option or a target workgroup or a target server.
                </para></listitem>
                </varlistentry>
 
                <varlistentry>
                <term>-S server</term>
                <listitem><para>
-               Name of target server. You should specify either 
-               this option or a target workgroup or a target IP address.
+               Name of target server. You should specify either this option or a target workgroup or a target IP address.
                </para></listitem>
                </varlistentry>
 
                <varlistentry>
                <term>SYSTEM</term>
                <listitem><para>
-               Displays the time on the remote server in a format ready for <command>/bin/date</command>
+               Displays the time on the remote server in a format ready for /bin/date
                </para></listitem>
                </varlistentry>
 
                <term>SET</term>
                <listitem><para>
                Tries to set the date and time of the local server to that on 
-               the remote server using <command>/bin/date</command>.
+               the remote server using /bin/date.
                </para></listitem>
                </varlistentry>
 
                </varlistentry>
 
                <varlistentry>
-               <term>USER ADD &lt;name&gt; [password] [-F user flags] [misc. options]</term>
+               <term>USER ADD &lt;name&gt; [password] [-F user flags] [misc. options</term>
                <listitem><para>
                Add specified user
                </para></listitem>
index 6c7ecce4e9d8c28d51f8045fd8ecae306039add0..db920c79a1cb9aaafb69c3faa88ece2bafc5764a 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="nmbd.8">
+<refentry id="nmbd">
 
 <refmeta>
        <refentrytitle>nmbd</refentrytitle>
@@ -35,8 +35,7 @@
 
 <refsect1>
        <title>DESCRIPTION</title>
-       <para>This program is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This program is part of the Samba suite.</para>
 
        <para><command>nmbd</command> is a server that understands 
        and can reply to NetBIOS over IP name service requests, like 
@@ -58,8 +57,8 @@
        option (see OPTIONS below). Thus <command>nmbd</command> will 
        reply to broadcast queries for its own name(s). Additional
        names for <command>nmbd</command> to respond on can be set 
-       via parameters in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> configuration file.</para>
+       via parameters in the <ulink url="smb.conf.5.html"><filename>
+       smb.conf(5)</filename></ulink> configuration file.</para>
 
        <para><command>nmbd</command> can also be used as a WINS 
        (Windows Internet Name Server) server. What this basically means 
                server is executed on the command line of a shell. Setting this
                parameter negates the implicit daemon mode when run from the
                command line. <command>nmbd</command> also logs to standard
-               output, as if the <constant>-S</constant> parameter had been
+               output, as if the <command>-S</command> parameter had been
                given. </para></listitem>
                </varlistentry>
 
                <listitem><para>NetBIOS lmhosts file.  The lmhosts 
                file is a list of NetBIOS names to IP addresses that 
                is loaded by the nmbd server and used via the name 
-               resolution mechanism <ulink url="smb.conf.5.html#nameresolveorder"><parameter>name resolve
-               order</parameter></ulink> described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> to resolve any 
-               NetBIOS name queries needed by the server. Note 
+               resolution mechanism <ulink url="smb.conf.5.html#nameresolveorder">
+               name resolve order</ulink> described in <ulink 
+               url="smb.conf.5.html"> <filename>smb.conf(5)</filename></ulink>
+               to resolve any NetBIOS name queries needed by the server. Note 
                that the contents of this file are <emphasis>NOT</emphasis> 
                used by <command>nmbd</command> to answer any name queries. 
                Adding a line to this file affects name NetBIOS resolution 
                Samba as part of the build process. Common defaults 
                are <filename>/usr/local/samba/lib/lmhosts</filename>,
                <filename>/usr/samba/lib/lmhosts</filename> or
-               <filename>/etc/samba/lmhosts</filename>. See the <citerefentry><refentrytitle>lmhosts</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> man page for details on the contents of this file.</para></listitem>
+               <filename>/etc/lmhosts</filename>. See the
+               <ulink url="lmhosts.5.html"><filename>lmhosts(5)</filename></ulink>
+               man page for details on the contents of this file.</para></listitem>
                </varlistentry>
 
                <varlistentry>
                cryptic.</para>
 
                <para>Note that specifying this parameter here will override 
-               the <ulink url="smb.conf.5.html#loglevel"><parameter>log level</parameter></ulink> 
-               parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file.</para></listitem>
+               the <ulink url="smb.conf.5.html#loglevel">log level</ulink> 
+               parameter in the <ulink url="smb.conf.5.html"><filename>
+               smb.conf(5)</filename></ulink> file.</para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term>-n &lt;primary NetBIOS name&gt;</term>
                <listitem><para>This option allows you to override
                the NetBIOS name that Samba uses for itself. This is identical 
-               to setting the <ulink url="smb.conf.5.html#netbiosname"><parameter>NetBIOS
-               name</parameter></ulink> parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file.  However, a command
+               to setting the <ulink url="smb.conf.5.html#netbiosname">
+               NetBIOS name</ulink> parameter in the <ulink url="smb.conf.5.html">     
+               <filename>smb.conf</filename></ulink> file.  However, a command
                line setting will take precedence over settings in 
-               <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.</para></listitem>
+               <filename>smb.conf</filename>.</para></listitem>
                </varlistentry>
 
 
                this may be changed when Samba is autoconfigured.</para>
 
                <para>The file specified contains the configuration details
-               required by the server. See <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> for more information.
+               required by the server. See <ulink url="smb.conf.5.html">
+               <filename>smb.conf(5)</filename></ulink> for more information.
                </para></listitem>
                </varlistentry>
        </variablelist>
                <command>inetd</command> meta-daemon, this file
                must contain suitable startup information for the
                meta-daemon. See the <ulink
-               url="install.html">install</ulink> document
+               url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink> document
                for details.
                </para></listitem>
                </varlistentry>
                <para>If running the server as a daemon at startup,
                this file will need to contain an appropriate startup
                sequence for the server. See the <ulink
-               url="install.html">"How to Install and Test SAMBA"</ulink> document
+               url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink> document
                for details.</para></listitem>
                </varlistentry>
 
                meta-daemon <command>inetd</command>, this file
                must contain a mapping of service name (e.g., netbios-ssn)
                to service port (e.g., 139) and protocol type (e.g., tcp).
-               See the <ulink url="install.html">"How to Install and Test SAMBA"</ulink>
+               See the <ulink url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink>
                document for details.</para></listitem>
                </varlistentry>
 
                <varlistentry>
                <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
-               <listitem><para>This is the default location of 
-               the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> server
-               configuration file. Other common places that systems
+               <listitem><para>This is the default location of the
+               <ulink url="smb.conf.5.html"><filename>smb.conf</filename></ulink>
+               server configuration file. Other common places that systems
                install this file are <filename>/usr/samba/lib/smb.conf</filename>
-               and <filename>/etc/samba/smb.conf</filename>.</para>
+               and <filename>/etc/smb.conf</filename>.</para>
 
                <para>When run as a WINS server (see the
-               <ulink url="smb.conf.5.html#WINSSUPPORT"><constant>wins support</constant></ulink>
-               parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> man page),
+               <ulink url="smb.conf.5.html#WINSSUPPORT">wins support</ulink>
+               parameter in the <filename>smb.conf(5)</filename> man page),
                <command>nmbd</command>
                will store the WINS database in the file <filename>wins.dat</filename>
                in the <filename>var/locks</filename> directory configured under
 
                <para>If <command>nmbd</command> is acting as a <emphasis>
                browse master</emphasis> (see the <ulink
-               url="smb.conf.5.html#LOCALMASTER"><constant>local master</constant></ulink>
-               parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> man page, <command>nmbd</command>
+               url="smb.conf.5.html#LOCALMASTER">local master</ulink>
+               parameter in the <filename>smb.conf(5)</filename> man page,
+               <command>nmbd</command>
                will store the browsing database in the file <filename>browse.dat
                </filename> in the <filename>var/locks</filename> directory
                configured under wherever Samba was configured to install itself.
        cause <command>nmbd</command> to dump out its server database in
        the <filename>log.nmb</filename> file.</para>
 
-       <para>The debug log level of nmbd may be raised or lowered
-       using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry> (SIGUSR[1|2] signals
-       are no longer used since Samba 2.2). This is to allow
-       transient problems to be diagnosed, whilst still running 
+       <para>The debug log level of nmbd may be raised or lowered using
+       <ulink url="smbcontrol.1.html"><command>smbcontrol(1)</command>
+       </ulink> (SIGUSR[1|2] signals are no longer used in Samba 2.2). This is
+       to allow transient problems to be diagnosed, whilst still running
        at a normally low log level.</para>
 </refsect1>
 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para>
-       <citerefentry><refentrytitle>inetd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testprns</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, and the Internet 
-       RFC's <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>. 
+       <para><command>inetd(8)</command>, <ulink
+       url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename>
+       </ulink>, <ulink url="smbclient.1.html"><command>smbclient(1)
+       </command></ulink>, <ulink url="testparm.1.html"><command>
+       testparm(1)</command></ulink>, <ulink url="testprns.1.html">
+       <command>testprns(1)</command></ulink>, and the Internet RFC's
+       <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>. 
        In addition the CIFS (formerly SMB) specification is available 
        as a link from the Web page <ulink url="http://samba.org/cifs/"> 
        http://samba.org/cifs/</ulink>.</para>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook
-       XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 7dd7f105d753d67a6c3c2d5cadb404327cce08db..33ae631ed96b2575f1a7cd5b18110bf674a8542c 100644 (file)
@@ -36,8 +36,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>nmblookup</command> is used to query NetBIOS names 
        and map them to IP addresses in a network using NetBIOS over TCP/IP 
@@ -66,7 +66,7 @@
                query to a machine running a WINS server and the user wishes 
                to query the names in the WINS server.  If this bit is unset 
                the normal (broadcast responding) NetBIOS processing code 
-               on a machine is used instead. See RFC1001, RFC1002 for details.
+               on a machine is used instead. See rfc1001, rfc1002 for details.
                </para></listitem>
                </varlistentry>
                
@@ -86,8 +86,8 @@
                where it ignores the source port of the requesting packet 
                and only replies to UDP port 137. Unfortunately, on most UNIX 
                systems root privilege is needed to bind to this port, and 
-               in addition, if the <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon is running on this machine it also binds to this port.
+               in addition, if the <ulink url="nmbd.8.html">nmbd(8)</ulink> 
+               daemon is running on this machine it also binds to this port.
                </para></listitem>
                </varlistentry>
 
                query to the broadcast address of the network interfaces as 
                either auto-detected or defined in the <ulink 
                url="smb.conf.5.html#INTERFACES"><parameter>interfaces</parameter>
-               </ulink> parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file.
+               </ulink> parameter of the  <filename>smb.conf (5)</filename> file.
                </para></listitem>
                </varlistentry>
 
                <listitem><para>This is the NetBIOS name being queried. Depending 
                upon the previous options this may be a NetBIOS name or IP address. 
                If a NetBIOS name then the different name types may be specified 
-               by appending '#&lt;type&gt;' to the name. This name may also be
+               by appending '#&lt;type&gt' to the name. This name may also be
                '*', which will return all registered names within a broadcast 
                area.</para></listitem>
                </varlistentry>
 
                <para><command>nmblookup</command> can be used to query 
                a WINS server (in the same way <command>nslookup</command> is 
-               used to query DNS servers). To query a WINS server, <command>nmblookup</command> 
-               must be called like this:</para>
+               used to query DNS servers). To query a WINS server, 
+               <command>nmblookup</command> must be called like this:</para>
 
                <para><command>nmblookup -U server -R 'name'</command></para>
 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>, and <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.</para>
+       <para><ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
+       <ulink url="samba.7.html">samba(7)</ulink>, and <ulink 
+       url="smb.conf.5.html">smb.conf(5)</ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook
-       XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index e6231bfa8c8638853083660525e0e6406b2d0b29..1484bfec9a8d3df4b44aad27deb5e1df568a0960 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
 <!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
 ]>
-<refentry id="pdbedit.8">
+<refentry id="pdbedit">
 
 <refmeta>
        <refentrytitle>pdbedit</refentrytitle>
@@ -42,8 +42,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para>The pdbedit program is used to manage the users accounts
        stored in the sam database and can only be run by root.</para>
                present in the users database.
                This option prints a list of user/uid pairs separated by
                the ':' character.</para>
+
                <para>Example: <command>pdbedit -l</command></para>
-               <para><screen>
-sorce:500:Simo Sorce
-samba:45:Test User
-</screen></para>
+               <para><programlisting>
+               sorce:500:Simo Sorce
+               samba:45:Test User
+               </programlisting></para>
                </listitem>
                </varlistentry>
                
@@ -84,26 +85,26 @@ samba:45:Test User
                out the account fields in a descriptive format.</para>
 
                <para>Example: <command>pdbedit -l -v</command></para>
-               <para><screen>
----------------
-username:       sorce
-user ID/Group:  500/500
-user RID/GRID:  2000/2001
-Full Name:      Simo Sorce
-Home Directory: \\BERSERKER\sorce
-HomeDir Drive:  H:
-Logon Script:   \\BERSERKER\netlogon\sorce.bat
-Profile Path:   \\BERSERKER\profile
----------------
-username:       samba
-user ID/Group:  45/45
-user RID/GRID:  1090/1091
-Full Name:      Test User
-Home Directory: \\BERSERKER\samba
-HomeDir Drive:  
-Logon Script:   
-Profile Path:   \\BERSERKER\profile
-</screen></para>
+               <para><programlisting>
+               ---------------
+               username:       sorce
+               user ID/Group:  500/500
+               user RID/GRID:  2000/2001
+               Full Name:      Simo Sorce
+               Home Directory: \\BERSERKER\sorce
+               HomeDir Drive:  H:
+               Logon Script:   \\BERSERKER\netlogon\sorce.bat
+               Profile Path:   \\BERSERKER\profile
+               ---------------
+               username:       samba
+               user ID/Group:  45/45
+               user RID/GRID:  1090/1091
+               Full Name:      Test User
+               Home Directory: \\BERSERKER\samba
+               HomeDir Drive:  
+               Logon Script:   
+               Profile Path:   \\BERSERKER\profile
+               </programlisting></para>
                </listitem>
                </varlistentry>
                
@@ -114,15 +115,14 @@ Profile Path:   \\BERSERKER\profile
                <listitem><para>This option sets the "smbpasswd" listing format.
                It will make pdbedit list the users in the database, printing
                out the account fields in a format compatible with the
-               <filename>smbpasswd</filename> file format. (see the
-               <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for details)</para>
+               <filename>smbpasswd</filename> file format. (see the <ulink
+               url="smbpasswd.5.html"><filename>smbpasswd(5)</filename></ulink> for details)</para>
 
                <para>Example: <command>pdbedit -l -w</command></para>
-               <screen>
-sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
-samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:
-</screen>
+               <para><programlisting>
+               sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
+               samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:
+               </programlisting></para>
                </listitem>
                </varlistentry>
                
@@ -136,6 +136,8 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
                operations.</para>
                </listitem>
                </varlistentry>
+               
+
 
                <varlistentry>
                <term>-f fullname</term>
@@ -160,6 +162,7 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
                </listitem>
                </varlistentry>
                
+               
                <varlistentry>
                <term>-D drive</term>
                <listitem><para>This option can be used while adding or
@@ -204,10 +207,9 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
                ask for the password to be used.</para>
 
                <para>Example: <command>pdbedit -a -u sorce</command>
-<programlisting>new password:
-retype new password
-</programlisting>
-</para>
+               <programlisting>new password:
+               retype new password</programlisting>
+                </para>
                </listitem>
                </varlistentry>
                
@@ -279,9 +281,9 @@ retype new password
                maximum password age and bad lockout attempt.</para>
 
                <para>Example: <command>pdbedit -P "bad lockout attempt"</command></para>
-<para><programlisting>
-account policy value for bad lockout attempt is 0
-</programlisting></para>
+               <para><programlisting>
+               account policy value for bad lockout attempt is 0
+               </programlisting></para>
 
                </listitem>
                </varlistentry>
@@ -294,10 +296,10 @@ account policy value for bad lockout attempt is 0
                </para>
 
                <para>Example: <command>pdbedit -P "bad lockout attempt" -V 3</command></para>
-<para><programlisting>
-account policy value for bad lockout attempt was 0
-account policy value for bad lockout attempt is now 3
-</programlisting></para>
+               <para><programlisting>
+               account policy value for bad lockout attempt was 0
+               account policy value for bad lockout attempt is now 3
+               </programlisting></para>
                </listitem>
                </varlistentry>
                
@@ -325,9 +327,9 @@ account policy value for bad lockout attempt is now 3
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry></para>
+       <para><ulink url="smbpasswd.8.html">smbpasswd(8)</ulink>, 
+       <ulink url="samba.7.html">samba(7)</ulink>
+       </para>
 </refsect1>
 
 <refsect1>
@@ -340,11 +342,11 @@ account policy value for bad lockout attempt is now 3
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook
-       XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 933938d438df3e5de6e7f18a47c438c8a4b59c15..10e0ff438d5ade135b7ed78d2f18ddddfced4804 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
 <!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
 ]>
-<refentry id="rpcclient.1">
+<refentry id="rpcclient">
 
 <refmeta>
        <refentrytitle>rpcclient</refentrytitle>
@@ -36,8 +36,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>rpcclient</command> is a utility initially developed
        to test MS-RPC functionality in Samba itself.  It has undergone 
@@ -56,8 +56,8 @@
                <listitem><para>NetBIOS name of Server to which to connect. 
                The server can be  any SMB/CIFS server.  The name is 
                resolved using the <ulink url="smb.conf.5.html#NAMERESOLVEORDER">
-               <parameter>name resolve order</parameter></ulink> line from <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.</para></listitem>
+               <parameter>name resolve order</parameter></ulink> line from 
+               <filename>smb.conf(5)</filename>.</para></listitem>
                </varlistentry>
 
 
                password used in the connection.  The format of the file is 
                </para>
                
-<para><programlisting>
-username = &lt;value&gt; 
-password = &lt;value&gt;
-domain   = &lt;value&gt;
-</programlisting></para>
+               <para><programlisting>
+               username = &lt;value&gt; 
+               password = &lt;value&gt;
+               domain   = &lt;value&gt;
+               </programlisting></para>
        
                <para>Make certain that the permissions on the file restrict 
                access from unwanted users. </para></listitem>
@@ -85,10 +85,13 @@ domain   = &lt;value&gt;
                <listitem><para>execute semicolon separated commands (listed 
                below)) </para></listitem>
                </varlistentry>
+               
+                               
+               
 
-               &stdarg.help;
                &stdarg.debuglevel;
-               
+               &stdarg.help;
+
                <varlistentry>
                <term>-I IP-address</term>
                <listitem><para><replaceable>IP address</replaceable> is the address of the server to connect to. 
@@ -160,6 +163,9 @@ domain   = &lt;value&gt;
                it in directly. </para></listitem>
                </varlistentry>
                
+               
+               
+               
                <varlistentry>
                <term>-W|--workgroup=domain</term>
                <listitem><para>Set the SMB domain of the username.   This 
@@ -169,6 +175,7 @@ domain   = &lt;value&gt;
                opposed to the Domain SAM). </para></listitem>
                </varlistentry>
                
+                                               
        </variablelist>
 </refsect1>
 
@@ -207,10 +214,12 @@ domain   = &lt;value&gt;
        </itemizedlist>
        <para> </para>
 
+
+
        <para><emphasis>SPOOLSS</emphasis></para>
 
        <itemizedlist>
-               <listitem><para><command>adddriver &lt;arch&gt; &lt;config&gt;</command> 
+               <listitem><para><command>adddriver &lt;arch&gt &lt;config&gt;</command> 
                - Execute an AddPrinterDriver() RPC to install the printer driver 
                information on the server.  Note that the driver files should 
                already exist in the directory returned by  
@@ -220,16 +229,16 @@ domain   = &lt;value&gt;
                The <parameter>config</parameter> parameter is defined as 
                follows: </para>
                
-<para><programlisting>
-Long Printer Name:\
-Driver File Name:\
-Data File Name:\
-Config File Name:\
-Help File Name:\
-Language Monitor Name:\
-Default Data Type:\
-Comma Separated list of Files
-</programlisting></para>
+               <para><programlisting>
+               Long Printer Name:\
+               Driver File Name:\
+               Data File Name:\
+               Config File Name:\
+               Help File Name:\
+               Language Monitor Name:\
+               Default Data Type:\
+               Comma Separated list of Files
+               </programlisting></para>
 
                <para>Any empty fields should be enter as the string "NULL". </para>
                
@@ -239,7 +248,10 @@ Comma Separated list of Files
                be "NULL".   On a remote NT print server, the Print Monitor for a 
                driver must already be installed prior to adding the driver or 
                else the RPC will fail. </para></listitem>
-       
+
+
+               
+               
                <listitem><para><command>addprinter &lt;printername&gt; 
                &lt;sharename&gt; &lt;drivername&gt; &lt;port&gt;</command> 
                - Add a printer on the remote server.  This printer 
@@ -375,7 +387,7 @@ Comma Separated list of Files
 
        <para>From Luke Leighton's original rpcclient man page:</para>
        
-       <para><emphasis>WARNING!</emphasis> The MSRPC over SMB code has 
+       <para><emphasis>"WARNING!</emphasis> The MSRPC over SMB code has 
        been developed from examining  Network traces. No documentation is 
        available from the original creators  (Microsoft) on how MSRPC over 
        SMB works, or how the individual MSRPC services  work. Microsoft's 
@@ -383,13 +395,12 @@ Comma Separated list of Files
        to be... a bit flaky in places. </para>
 
        <para>The development of Samba's implementation is also a bit rough, 
-       and as more of the services are understood, it can even result in 
-       versions of <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>rpcclient</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry> that are incompatible for some commands or  services. Additionally, 
+       and as more  of the services are understood, it can even result in 
+       versions of  <command>smbd(8)</command> and <command>rpcclient(1)</command> 
+       that are incompatible for some commands or  services. Additionally, 
        the developers are sending reports to Microsoft,  and problems found 
        or reported to Microsoft are fixed in Service Packs,  which may 
-       result in incompatibilities.</para>
+       result in incompatibilities.</para>
 </refsect1>
 
 
@@ -411,8 +422,7 @@ Comma Separated list of Files
        <para>The original rpcclient man page was written by Matthew 
        Geddes, Luke Kenneth Casson Leighton, and rewritten by Gerald Carter.  
        The conversion to DocBook for Samba 2.2 was done by Gerald 
-       Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was
-       done by Alexander Bokovoy.</para>
+       Carter.</para>
 </refsect1>
 
 </refentry>
index a352a6a7c6667d95e8e6be94325aab7652578ac7..17865edd81ebe1908121397bfe8f8d729855c905 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="samba.7">
+<refentry id="samba">
 
 <refmeta>
        <refentrytitle>samba</refentrytitle>
@@ -8,7 +8,7 @@
 
 
 <refnamediv>
-       <refname>Samba</refname>
+       <refname>SAMBA</refname>
        <refpurpose>A Windows SMB/CIFS fileserver for UNIX</refpurpose>
 </refnamediv>
 
        
        <variablelist>
                <varlistentry>
-               <term><citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry></term>
-               <listitem><para>The <command>smbd</command> daemon provides the file and print services to 
+               <term><command>smbd</command></term>
+               <listitem><para>The <command>smbd </command>
+               daemon provides the file and print services to 
                SMB clients, such as Windows 95/98, Windows NT, Windows 
                for Workgroups or LanManager. The configuration file 
-               for this daemon is described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry>
+               for this daemon is described in <filename>smb.conf</filename>
                </para></listitem>
                </varlistentry>
                
                <varlistentry>
-               <term><citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry></term>
+               <term><command>nmbd</command></term>
                <listitem><para>The <command>nmbd</command>
                daemon provides NetBIOS nameservice and browsing
                support. The configuration file for this daemon 
-               is described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry></para>
+               is described in <filename>smb.conf</filename></para>
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>smbclient</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry></term>
+               <term><command>smbclient</command></term>
                <listitem><para>The <command>smbclient</command>
                program implements a simple ftp-like client. This 
                is useful for accessing SMB shares on other compatible
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>testparm</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry></term>
+               <term><command>testparm</command></term>
                <listitem><para>The <command>testparm</command>
-               utility is a simple syntax checker for Samba's <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> configuration file.</para>
+               utility is a simple syntax checker for Samba's
+               <filename>smb.conf</filename>configuration file.</para>
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>testprns</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry></term>
+               <term><command>testprns</command></term>
                <listitem><para>The <command>testprns</command>
                utility supports testing printer names defined 
                in your <filename>printcap</filename> file used 
@@ -82,8 +76,7 @@
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>smbstatus</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry></term>
+               <term><command>smbstatus</command></term>
                <listitem><para>The <command>smbstatus</command>
                tool provides access to information about the 
                current connections to <command>smbd</command>.</para>
@@ -91,8 +84,7 @@
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>nmblookup</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry></term>
+               <term><command>nmblookup</command></term>
                <listitem><para>The <command>nmblookup</command>
                tools allows NetBIOS name queries to be made 
                from a UNIX host.</para>
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>smbgroupedit</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry></term>
-               <listitem><para>The <command>smbgroupedit</command>
-               tool allows for mapping unix groups to NT Builtin,
-               Domain, or Local groups. Also it allows setting
-               priviledges for that group, such as saAddUser, etc.</para>
+               <term><command>make_smbcodepage</command></term>
+               <listitem><para>The <command>make_smbcodepage</command>
+               utility provides a means of creating SMB code page 
+               definition files for your <command>smbd</command> server.</para>
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry></term>
+               <term><command>smbpasswd</command></term>
                <listitem><para>The <command>smbpasswd</command>
                command is a tool for changing LanMan and Windows NT 
                password hashes on Samba and Windows NT servers.</para>
        list. Details on how to join the mailing list are given in 
        the README file that comes with Samba.</para>
        
-       <para>If you have access to a WWW viewer (such as Mozilla
-       or Konqueror) then you will also find lots of useful information, 
+       <para>If you have access to a WWW viewer (such as Netscape 
+       or Mosaic) then you will also find lots of useful information, 
        including back issues of the Samba mailing list, at
        <ulink url="http://lists.samba.org/">http://lists.samba.org</ulink>.</para>
 </refsect1>
 <refsect1>
        <title>VERSION</title>
        
-       <para>This man page is correct for version 3.0 of the 
+       <para>This man page is correct for version 2.2 of the 
        Samba suite. </para>
 </refsect1>
 
 
        <para>If you have patches to submit, visit
        <ulink url="http://devel.samba.org/">http://devel.samba.org/</ulink>
-       for information on how to do it properly. We prefer patches 
-       in <command>diff -u</command> format.</para>
+       for information on how to do it properly. We prefer patches in
+       <command>diff -u</command> format.</para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML
-       4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index b483a97b3175702f0dba323a4ed2b2cead27a27b..01f767d2565bf81959188cca2dc22ef7e03245ce 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smb.conf.5">
+<refentry id="smb.conf">
        
 <refmeta>
        <refentrytitle>smb.conf</refentrytitle>
 <refsect1>
        <title>SYNOPSIS</title>
 
-       <para>The <filename>smb.conf</filename> file is a configuration  
-       file for the Samba suite. <filename>smb.conf</filename> contains  
-       runtime configuration information for the Samba programs. The <filename>smb.conf</filename> file 
-       is designed to be configured and  administered by the <citerefentry><refentrytitle>swat</refentrytitle> 
-       <manvolnum>8</manvolnum></citerefentry> program. The complete
-       description of the file format and possible parameters held within
-       are here for reference purposes.</para> </refsect1>
+       <para>The <filename>smb.conf</filename> file is a configuration 
+       file for the Samba suite. <filename>smb.conf</filename> contains 
+       runtime configuration information for the Samba programs. The
+       <filename>smb.conf</filename> file is designed to be configured and 
+       administered by the <ulink url="swat.8.html"><command>swat(8)</command>
+       </ulink> program. The complete description of the file format and 
+       possible parameters held within are here for reference purposes.</para>
+</refsect1>
 
 <refsect1>
        <title id="FILEFORMATSECT">FILE FORMAT</title>
        The user has write access to the path <filename>/home/bar</filename>. 
        The share is accessed via the share name "foo":</para>
 
-<screen>
-<computeroutput>
-[foo]
-       path = /home/bar
-       read only = no
-</computeroutput>
-</screen>
+       <screen>
+       <computeroutput>
+       [foo]
+               path = /home/bar
+               read only = no
+       </computeroutput>
+       </screen>
 
        <para>The following sample section defines a printable share. 
        The share is readonly, but printable. That is, the only write 
        access will be permitted as the default guest user (specified 
        elsewhere):</para>
 
-<screen>
-<computeroutput>
-[aprinter]
-       path = /usr/spool/public
-       read only = yes
-       printable = yes
-       guest ok = yes
-</computeroutput>
-</screen>
+       <screen>
+       <computeroutput>
+       [aprinter]
+               path = /usr/spool/public
+               read only = yes
+               printable = yes
+               guest ok = yes
+       </computeroutput>
+       </screen>
 </refsect1>
 
 <refsect1>
                than others. The following is a typical and suitable [homes]
                section:</para>
 
-<screen>
-<computeroutput>
-[homes]
-       read only = no
-</computeroutput>
-</screen>
+               <screen>
+               <computeroutput>
+               [homes]
+                       read only = no
+               </computeroutput>
+               </screen>
        
                <para>An important point is that if guest access is specified 
                in the [homes] section, all home directories will be 
                it. A typical [printers] entry would look like 
                this:</para>
 
-<screen><computeroutput>
-[printers]
-       path = /usr/spool/public
-       guest ok = yes
-       printable = yes 
-</computeroutput></screen>
+               <screen><computeroutput>
+               [printers]
+                       path = /usr/spool/public
+                       guest ok = yes
+                       printable = yes 
+               </computeroutput></screen>
 
                <para>All aliases given for a printer in the printcap file 
                are legitimate printer names as far as the server is concerned. 
                to set up a pseudo-printcap. This is a file consisting of one or 
                more lines like this:</para>
 
-<screen>
-<computeroutput>
-alias|alias|alias|alias...    
-</computeroutput>
-</screen>
+               <screen>
+               <computeroutput>
+               alias|alias|alias|alias...    
+               </computeroutput>
+               </screen>
 
                <para>Each alias should be an acceptable printer name for 
                your printing subsystem. In the [global] section, specify 
@@ -471,7 +472,7 @@ alias|alias|alias|alias...
        </variablelist>
        
        <para>There are some quite creative things that can be done 
-       with these substitutions and other smb.conf options.</para>
+       with these substitutions and other smb.conf options.</para
 </refsect1>
 
 <refsect1>
@@ -551,7 +552,7 @@ alias|alias|alias|alias...
        then steps 1 to 5 are skipped.</para>
 
 
-       <orderedlist numeration="arabic">
+       <orderedlist numeration="Arabic">
                <listitem><para>If the client has passed a username/password 
                pair and that username/password pair is validated by the UNIX 
                system's password programs then the connection is made as that 
@@ -804,7 +805,7 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="ALLOWHOSTS"><parameter>allow hosts</parameter></link></para></listitem>
                <listitem><para><link linkend="AVAILABLE"><parameter>available</parameter></link></para></listitem>
                <listitem><para><link linkend="BLOCKINGLOCKS"><parameter>blocking locks</parameter></link></para></listitem>
-               <listitem><para><link linkend="BLOCKSIZE"><parameter>block size</parameter></link></para></listitem>
+<listitem><para><link linkend="BLOCKSIZE"><parameter>block size</parameter></link></para></listitem>
                <listitem><para><link linkend="BROWSABLE"><parameter>browsable</parameter></link></para></listitem>
                <listitem><para><link linkend="BROWSEABLE"><parameter>browseable</parameter></link></para></listitem>
                <listitem><para><link linkend="CASESENSITIVE"><parameter>case sensitive</parameter></link></para></listitem>
@@ -936,10 +937,10 @@ alias|alias|alias|alias...
        <variablelist>
 
                <varlistentry>
-               <term><anchor id="ABORTSHUTDOWNSCRIPT"/>abort shutdown script (G)</term>
+               <term><anchor id="ABORTSHUTDOWNSCRIPT">abort shutdown script (G)</term>
                <listitem><para><emphasis>This parameter only exists in the HEAD cvs branch</emphasis>
-               This a full path name to a script called by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> that
+               This a full path name to a script called by
+               <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>  that
                should stop a shutdown procedure issued by the <link 
                linkend="SHUTDOWNSCRIPT"><parameter>shutdown script</parameter></link>.</para>
                
@@ -951,7 +952,7 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ADDPRINTERCOMMAND"/>addprinter command (G)</term>
+               <term><anchor id="ADDPRINTERCOMMAND">addprinter command (G)</term>
                <listitem><para>With the introduction of MS-RPC based printing
                support for Windows NT/2000 clients in Samba 2.2, The MS Add
                Printer Wizard (APW) icon is now also available in the 
@@ -965,12 +966,12 @@ alias|alias|alias|alias...
                will perform the necessary operations for adding the printer
                to the print system and to add the appropriate service definition 
                to the  <filename>smb.conf</filename> file in order that it can be 
-               shared by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>.</para>
+               shared by <ulink url="smbd.8.html"><command>smbd(8)</command>
+               </ulink>.</para>
                
                <para>The <parameter>addprinter command</parameter> is
                automatically invoked with the following parameter (in 
-               order):</para>
+               order:</para>
                
                <itemizedlist>
                        <listitem><para><parameter>printer name</parameter></para></listitem>
@@ -996,7 +997,7 @@ alias|alias|alias|alias...
                
                <para>See also <link linkend="DELETEPRINTERCOMMAND"><parameter>
                deleteprinter command</parameter></link>, <link 
-               linkend="PRINTING"><parameter>printing</parameter></link>,
+               linkend="printing"><parameter>printing</parameter></link>,
                <link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
                printer wizard</parameter></link></para>
                
@@ -1009,7 +1010,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="ADDSHARECOMMAND"/>add share command (G)</term>
+               <term><anchor id="ADDSHARECOMMAND">add share command (G)</term>
                <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
                <parameter>add share command</parameter> is used to define an 
@@ -1063,10 +1064,9 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="ADDMACHINESCRIPT"/>add machine script (G)</term>
+               <term><anchor id="ADDMACHINESCRIPT">add machine script (G)</term>
                <listitem><para>This is the full pathname to a script that will 
-               be run by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when a machine is added
+               be run by <ulink url="smbd.8.html">smbd(8)</ulink>  when a machine is added
                 to it's domain using the administrator username and password method. </para>
 
                <para>This option is only required when using sam back-ends tied to the
@@ -1082,7 +1082,7 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ADSSERVER"/>ads server (G)</term>
+               <term><anchor id="ADSSERVER">ads server (G)</term>
                <listitem><para>If this option is specified, samba does 
                not try to figure out what ads server to use itself, but 
                uses the specified ads server. Either one DNS name or IP 
@@ -1095,10 +1095,10 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ADDUSERSCRIPT"/>add user script (G)</term>
+               <term><anchor id="ADDUSERSCRIPT">add user script (G)</term>
                <listitem><para>This is the full pathname to a script that will 
-               be run <emphasis>AS ROOT</emphasis> by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> under special circumstances described below.</para>
+               be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)
+               </ulink> under special circumstances described below.</para>
 
                <para>Normally, a Samba server requires that UNIX users are 
                created for all users accessing files on this server. For sites 
@@ -1108,16 +1108,16 @@ alias|alias|alias|alias...
                url="smbd.8.html">smbd</ulink> to create the required UNIX users 
                <emphasis>ON DEMAND</emphasis> when a user accesses the Samba server.</para>
 
-               <para>In order to use this option, <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> must <emphasis>NOT</emphasis> be set to <parameter>security = share</parameter>
+               <para>In order to use this option, <ulink url="smbd.8.html">smbd</ulink> 
+               must <emphasis>NOT</emphasis> be set to <parameter>security = share</parameter>
                and <parameter>add user script</parameter>
                must be set to a full pathname for a script that will create a UNIX 
                user given one argument of <parameter>%u</parameter>, which expands into 
                the UNIX user name to create.</para>
 
                <para>When the Windows user attempts to access the Samba server, 
-               at login (session setup in the SMB protocol) time, <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> contacts the <parameter>password server</parameter> and 
+               at login (session setup in the SMB protocol) time, <ulink url="smbd.8.html">
+               smbd</ulink> contacts the <parameter>password server</parameter> and 
                attempts to authenticate the given user with the given password. If the 
                authentication succeeds then <command>smbd</command> 
                attempts to find a UNIX user in the UNIX password database to map the 
@@ -1145,10 +1145,10 @@ alias|alias|alias|alias...
                </listitem>
                </varlistentry>
                
-               <varlistentry><term><anchor id="ADDGROUPSCRIPT"/>add group script (G)</term>
+               <varlistentry><term><anchor id="ADDGROUPSCRIPT">add group script (G)</term>
                <listitem><para>This is the full pathname to a script that will 
-               be run <emphasis>AS ROOT</emphasis> by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when a new group is
+               be run <emphasis>AS ROOT</emphasis> by <ulink
+                url="smbd.8.html">smbd(8)</ulink> when a new group is
                 requested. It will expand any
                 <parameter>%g</parameter> to the group name passed.
                 This script is only useful for installations using the
@@ -1161,7 +1161,7 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ADMINUSERS"/>admin users (S)</term>
+               <term><anchor id="ADMINUSERS">admin users (S)</term>
                <listitem><para>This is a list of users who will be granted 
                administrative privileges on the share. This means that they 
                will do all file operations as the super-user (root).</para>
@@ -1177,13 +1177,13 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ADDUSERTOGROUPSCRIPT"/>add user to group script (G)</term>
+               <term><anchor id="ADDUSERTOGROUPSCRIPT">add user to group script (G)</term>
                <listitem><para>Full path to the script that will be called when 
                a user is added to a group using the Windows NT domain administration 
-               tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> <emphasis>AS ROOT</emphasis>. 
-               Any <parameter>%g</parameter> will be replaced with the group name and 
-               any <parameter>%u</parameter> will be replaced with the user name.
+               tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink> 
+               <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be 
+               replaced with the group name and any <parameter>%u</parameter> will 
+               be replaced with the user name.
                </para>
 
                <para>Default: <command>add user to group script = </command></para>
@@ -1194,13 +1194,13 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ALLOWHOSTS"/>allow hosts (S)</term>
+               <term><anchor id="ALLOWHOSTS">allow hosts (S)</term>
                <listitem><para>Synonym for <link linkend="HOSTSALLOW">
                <parameter>hosts allow</parameter></link>.</para></listitem>
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="ALGORITHMICRIDBASE"/>algorithmic rid base (G)</term>
+               <term><anchor id="ALGORITHMICRIDBASE">algorithmic rid base (G)</term>
                <listitem><para>This determines how Samba will use its
                 algorithmic mapping from uids/gid to the RIDs needed to construct
                 NT Security Identifiers.</para>
@@ -1223,7 +1223,7 @@ alias|alias|alias|alias...
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="ALLOWTRUSTEDDOMAINS"/>allow trusted domains (G)</term>
+               <term><anchor id="ALLOWTRUSTEDDOMAINS">allow trusted domains (G)</term>
                <listitem><para>This option only takes effect when the <link 
                linkend="SECURITY"><parameter>security</parameter></link> option is set to 
                <constant>server</constant> or <constant>domain</constant>.  
@@ -1247,9 +1247,10 @@ alias|alias|alias|alias...
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="ANNOUNCEAS"/>announce as (G)</term>
-               <listitem><para>This specifies what type of server <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will announce itself as, to a network neighborhood browse 
+               <term><anchor id="ANNOUNCEAS">announce as (G)</term>
+               <listitem><para>This specifies what type of server 
+               <ulink url="nmbd.8.html"><command>nmbd</command></ulink> 
+               will announce itself as, to a network neighborhood browse 
                list. By default this is set to Windows NT. The valid options 
                are : "NT Server" (which can also be written as "NT"), 
                "NT Workstation", "Win95" or "WfW" meaning Windows NT Server, 
@@ -1268,7 +1269,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="ANNOUNCEVERSION"/>announce version (G)</term>
+               <term><anchor id="ANNOUNCEVERSION">announce version (G)</term>
                <listitem><para>This specifies the major and minor version numbers 
                that nmbd will use when announcing itself as a server. The default 
                is 4.9.  Do not change this parameter unless you have a specific 
@@ -1283,7 +1284,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="AUTOSERVICES"/>auto services (G)</term>
+               <term><anchor id="AUTOSERVICES">auto services (G)</term>
                <listitem><para>This is a synonym for the <link linkend="PRELOAD">
                <parameter>preload</parameter></link>.</para>
                </listitem>
@@ -1292,7 +1293,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="AUTHMETHODS"/>auth methods (G)</term>
+               <term><anchor id="AUTHMETHODS">auth methods (G)</term>
                <listitem><para>This option allows the administrator to chose what
                 authentication methods <command>smbd</command> will use when authenticating
                 a user.  This option defaults to sensible values based on <link linkend="SECURITY"><parameter>
@@ -1310,7 +1311,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="AVAILABLE"/>available (S)</term>
+               <term><anchor id="AVAILABLE">available (S)</term>
                <listitem><para>This parameter lets you "turn off" a service. If 
                <parameter>available = no</parameter>, then <emphasis>ALL</emphasis> 
                attempts to connect to the service will fail. Such failures are 
@@ -1324,12 +1325,12 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="BINDINTERFACESONLY"/>bind interfaces only (G)</term>
+               <term><anchor id="BINDINTERFACESONLY">bind interfaces only (G)</term>
                <listitem><para>This global parameter allows the Samba admin 
                to limit what interfaces on a machine will serve SMB requests. It 
-               affects file service <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> and name service <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> in a slightly different ways.</para>
+               affects file service <ulink url="smbd.8.html">smbd(8)</ulink> and 
+               name service <ulink url="nmbd.8.html">nmbd(8)</ulink> in slightly 
+               different ways.</para>
 
                <para>For name service it causes <command>nmbd</command> to bind 
                to ports 137 and 138 on the interfaces listed in the <link 
@@ -1349,9 +1350,8 @@ alias|alias|alias|alias...
                does defeat this simple check, however, so it must not be used
                seriously as a security feature for <command>nmbd</command>.</para>
 
-               <para>For file service it causes <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to bind only to the interface list 
-               given in the <link linkend="INTERFACES">
+               <para>For file service it causes <ulink url="smbd.8.html">smbd(8)</ulink>
+               to bind only to the interface list given in the <link linkend="INTERFACES">
                interfaces</link> parameter. This restricts the networks that 
                <command>smbd</command> will serve to packets coming in those 
                interfaces.  Note that you should not use this parameter for machines 
@@ -1360,9 +1360,10 @@ alias|alias|alias|alias...
 
                <para>If <parameter>bind interfaces only</parameter> is set then 
                unless the network address <emphasis>127.0.0.1</emphasis> is added 
-               to the <parameter>interfaces</parameter> parameter list <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>swat</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> may not work as expected due to the reasons covered below.</para>
+               to the <parameter>interfaces</parameter> parameter list <ulink
+               url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink> 
+               and <ulink url="swat.8.html"><command>swat(8)</command></ulink> may 
+               not work as expected due to the reasons covered below.</para>
 
                <para>To change a users SMB password, the <command>smbpasswd</command>
                by default connects to the <emphasis>localhost - 127.0.0.1</emphasis> 
@@ -1372,9 +1373,9 @@ alias|alias|alias|alias...
                <parameter>interfaces</parameter> parameter list then <command>
                smbpasswd</command> will fail to connect in it's default mode. 
                <command>smbpasswd</command> can be forced to use the primary IP interface 
-               of the local host by using its <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> <parameter>-r <replaceable>remote machine</replaceable></parameter>
-               parameter, with <replaceable>remote machine</replaceable> set 
+               of the local host by using its <ulink url="smbpasswd.8.html#minusr">
+               <parameter>-r <replaceable>remote machine</replaceable></parameter>
+               </ulink> parameter, with <replaceable>remote machine</replaceable> set 
                to the IP name of the primary interface of the local host.</para>
 
                <para>The <command>swat</command> status page tries to connect with
@@ -1394,10 +1395,9 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="BLOCKINGLOCKS"/>blocking locks (S)</term>
-               <listitem><para>This parameter controls the behavior 
-               of <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when given a request by a client 
+               <term><anchor id="BLOCKINGLOCKS">blocking locks (S)</term>
+               <listitem><para>This parameter controls the behavior of <ulink 
+               url="smbd.8.html">smbd(8)</ulink> when given a request by a client 
                to obtain a byte range lock on a region of an open file, and the 
                request has a time limit associated with it.</para>
                
@@ -1417,9 +1417,9 @@ alias|alias|alias|alias...
                </varlistentry>
        
                <varlistentry>
-               <term><anchor id="BLOCKSIZE"/>block size (S)</term>
-               <listitem><para>This parameter controls the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when reporting disk free 
+               <term><anchor id="BLOCKSIZE">block size (S)</term>
+               <listitem><para>This parameter controls the behavior of 
+               <ulink url="smbd.8.html">smbd(8)</ulink> when reporting disk free 
                sizes. By default, this reports a disk block size of 1024 bytes.
                </para>        
                
@@ -1433,19 +1433,27 @@ alias|alias|alias|alias...
 
                <para>Changing this option does not change the disk free reporting
                size, just the block size unit reported to the client.</para>
-               </listitem>
-               </varlistentry>
+
+                                                                                                                                                       <para>Default: <command>block size = 1024</command></para>
+                                                                                                                                                                       <para>Example: <command>block size = 65536</command></para>
+
+                                                                                                                                                                                       </listitem>
+                                                                                                                                                                                                       </varlistentry>
+                                                                                                                                                                                                               
+
 
                <varlistentry>
-               <term><anchor id="BROWSABLE"/>browsable (S)</term>
+               <term><anchor id="BROWSABLE">browsable (S)</term>
                <listitem><para>See the <link linkend="BROWSEABLE"><parameter>
                browseable</parameter></link>.</para></listitem>
                </varlistentry>
                
+
+
                <varlistentry>
-               <term><anchor id="BROWSELIST"/>browse list (G)</term>
-               <listitem><para>This controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will serve a browse list to 
+               <term><anchor id="BROWSELIST">browse list (G)</term>
+               <listitem><para>This controls whether <ulink url="smbd.8.html">
+               <command>smbd(8)</command></ulink> will serve a browse list to 
                a client doing a <command>NetServerEnum</command> call. Normally 
                set to <constant>yes</constant>. You should never need to change 
                this.</para>
@@ -1456,7 +1464,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="BROWSEABLE"/>browseable (S)</term>
+               <term><anchor id="BROWSEABLE">browseable (S)</term>
                <listitem><para>This controls whether this share is seen in 
                the list of available shares in a net view and in the browse list.</para>
 
@@ -1467,7 +1475,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="CASESENSITIVE"/>case sensitive (S)</term>
+               <term><anchor id="CASESENSITIVE">case sensitive (S)</term>
                <listitem><para>See the discussion in the section <link 
                linkend="NAMEMANGLINGSECT">NAME MANGLING</link>.</para>
                
@@ -1478,7 +1486,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="CASESIGNAMES"/>casesignames (S)</term>
+               <term><anchor id="CASESIGNAMES">casesignames (S)</term>
                <listitem><para>Synonym for <link linkend="CASESENSITIVE">case 
                sensitive</link>.</para></listitem>
                </varlistentry>
@@ -1486,12 +1494,12 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="CHANGENOTIFYTIMEOUT"/>change notify timeout (G)</term>
+               <term><anchor id="CHANGENOTIFYTIMEOUT">change notify timeout (G)</term>
                <listitem><para>This SMB allows a client to tell a server to 
                "watch" a particular directory for any changes and only reply to
                the SMB request when a change has occurred. Such constant scanning of
-               a directory is expensive under UNIX, hence an <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon only performs such a scan 
+               a directory is expensive under UNIX, hence an <ulink url="smbd.8.html">
+               <command>smbd(8)</command></ulink> daemon only performs such a scan 
                on each requested directory once every <parameter>change notify 
                timeout</parameter> seconds.</para>
 
@@ -1504,7 +1512,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="CHANGESHARECOMMAND"/>change share command (G)</term>
+               <term><anchor id="CHANGESHARECOMMAND">change share command (G)</term>
                <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
                <parameter>change share command</parameter> is used to define an 
@@ -1554,8 +1562,12 @@ alias|alias|alias|alias...
                </listitem>
                </varlistentry>
 
+
+               
+
+               
                <varlistentry>
-               <term><anchor id="COMMENT"/>comment (S)</term>
+               <term><anchor id="COMMENT">comment (S)</term>
                <listitem><para>This is a text field that is seen next to a share 
                when a client does a queries the server, either via the network 
                neighborhood or via <command>net view</command> to list what shares 
@@ -1572,7 +1584,7 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="CONFIGFILE"/>config file (G)</term>
+               <term><anchor id="CONFIGFILE">config file (G)</term>
                <listitem><para>This allows you to override the config file 
                to use, instead of the default (usually <filename>smb.conf</filename>). 
                There is a chicken and egg problem here as this option is set 
@@ -1596,7 +1608,7 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="COPY"/>copy (S)</term>
+               <term><anchor id="COPY">copy (S)</term>
                <listitem><para>This parameter allows you to "clone" service 
                entries. The specified service is simply duplicated under the 
                current service's name. Any parameters specified in the current 
@@ -1614,7 +1626,7 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="CREATEMASK"/>create mask (S)</term>
+               <term><anchor id="CREATEMASK">create mask (S)</term>
                <listitem><para>A synonym for this parameter is 
                <link linkend="CREATEMODE"><parameter>create mode</parameter>
                </link>.</para>
@@ -1658,14 +1670,14 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="CREATEMODE"/>create mode (S)</term>
+               <term><anchor id="CREATEMODE">create mode (S)</term>
                <listitem><para>This is a synonym for <link linkend="CREATEMASK"><parameter>
                create mask</parameter></link>.</para></listitem>
                </varlistentry>
                
                
                <varlistentry>
-               <term><anchor id="CSCPOLICY"/>csc policy (S)</term>
+               <term><anchor id="CSCPOLICY">csc policy (S)</term>
                <listitem><para>This stands for <emphasis>client-side caching 
                policy</emphasis>, and specifies how clients capable of offline
                caching will cache the files in the share. The valid values
@@ -1684,7 +1696,7 @@ alias|alias|alias|alias...
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="DEADTIME"/>deadtime (G)</term>
+               <term><anchor id="DEADTIME">deadtime (G)</term>
                <listitem><para>The value of the parameter (a decimal integer) 
                represents the number of minutes of inactivity before a connection 
                is considered dead, and it is disconnected. The deadtime only takes 
@@ -1710,7 +1722,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEBUGHIRESTIMESTAMP"/>debug hires timestamp (G)</term>
+               <term><anchor id="DEBUGHIRESTIMESTAMP">debug hires timestamp (G)</term>
                <listitem><para>Sometimes the timestamps in the log messages 
                are needed with a resolution of higher that seconds, this 
                boolean parameter adds microsecond resolution to the timestamp 
@@ -1727,7 +1739,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEBUGPID"/>debug pid (G)</term>
+               <term><anchor id="DEBUGPID">debug pid (G)</term>
                <listitem><para>When using only one log file for more then one 
                forked <ulink url="smbd.8.html">smbd</ulink>-process there may be hard to follow which process 
                outputs which message. This boolean parameter is adds the process-id 
@@ -1742,7 +1754,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEBUGTIMESTAMP"/>debug timestamp (G)</term>
+               <term><anchor id="DEBUGTIMESTAMP">debug timestamp (G)</term>
                <listitem><para>Samba debug log messages are timestamped 
                by default. If you are running at a high <link linkend="DEBUGLEVEL">
                <parameter>debug level</parameter></link> these timestamps
@@ -1755,7 +1767,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEBUGUID"/>debug uid (G)</term>
+               <term><anchor id="DEBUGUID">debug uid (G)</term>
                <listitem><para>Samba is sometimes run as root and sometime 
                run as the connected user, this boolean parameter inserts the 
                current euid, egid, uid and gid to the timestamp message headers 
@@ -1771,7 +1783,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEBUGLEVEL"/>debuglevel (G)</term>
+               <term><anchor id="DEBUGLEVEL">debuglevel (G)</term>
                <listitem><para>Synonym for <link linkend="LOGLEVEL"><parameter>
                log level</parameter></link>.</para>
                </listitem>
@@ -1780,7 +1792,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEFAULT"/>default (G)</term>
+               <term><anchor id="DEFAULT">default (G)</term>
                <listitem><para>A synonym for <link linkend="DEFAULTSERVICE"><parameter>
                default service</parameter></link>.</para></listitem>
                </varlistentry>
@@ -1788,7 +1800,7 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="DEFAULTCASE"/>default case (S)</term>
+               <term><anchor id="DEFAULTCASE">default case (S)</term>
                <listitem><para>See the section on <link linkend="NAMEMANGLINGSECT">
                NAME MANGLING</link>. Also note the <link linkend="SHORTPRESERVECASE">
                <parameter>short preserve case</parameter></link> parameter.</para>
@@ -1800,7 +1812,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEFAULTDEVMODE"/>default devmode (S)</term>
+               <term><anchor id="DEFAULTDEVMODE">default devmode (S)</term>
                <listitem><para>This parameter is only applicable to <link
                linkend="PRINTOK">printable</link> services.  When smbd is serving
                Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
@@ -1838,7 +1850,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DEFAULTSERVICE"/>default service (G)</term>
+               <term><anchor id="DEFAULTSERVICE">default service (G)</term>
                <listitem><para>This parameter specifies the name of a service
                which will be connected to if the service actually requested cannot
                be found. Note that the square brackets are <emphasis>NOT</emphasis>
@@ -1864,27 +1876,24 @@ alias|alias|alias|alias...
 
                <para>Example:</para>
                
-<para><programlisting>
+               <para><programlisting>
 [global]
        default service = pub
         
 [pub]
        path = /%S
-</programlisting></para>
+               </programlisting></para>
                </listitem>
                </varlistentry>
                
-               <varlistentry><term><anchor id="DELETEGROUPSCRIPT"/>delete group script (G)</term>
+               <varlistentry><term><anchor id="DELETEGROUPSCRIPT">delete group script (G)</term>
                <listitem><para>This is the full pathname to a script that will 
-               be run <emphasis>AS ROOT</emphasis> <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when a group is requested to be deleted. 
-               It will expand any <parameter>%g</parameter> to the group name passed.  
-               This script is only useful for installations using the Windows NT domain administration tools.
+               be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)</ulink> when a group is requested to be deleted. It will expand any <parameter>%g</parameter> to the group name passed.  This script is only useful for installations using the Windows NT domain administration tools.
                </para></listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="DELETEPRINTERCOMMAND"/>deleteprinter command (G)</term>
+               <term><anchor id="DELETEPRINTERCOMMAND">deleteprinter command (G)</term>
                <listitem><para>With the introduction of MS-RPC based printer
                support for Windows NT/2000 clients in Samba 2.2, it is now 
                possible to delete printer at run time by issuing the 
@@ -1910,7 +1919,7 @@ alias|alias|alias|alias...
                
                <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter>
                addprinter command</parameter></link>, <link 
-               linkend="PRINTING"><parameter>printing</parameter></link>,
+               linkend="printing"><parameter>printing</parameter></link>,
                <link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
                printer wizard</parameter></link></para>
                
@@ -1926,7 +1935,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DELETEREADONLY"/>delete readonly (S)</term>
+               <term><anchor id="DELETEREADONLY">delete readonly (S)</term>
                <listitem><para>This parameter allows readonly files to be deleted.  
                This is not normal DOS semantics, but is allowed by UNIX.</para>
                
@@ -1940,7 +1949,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DELETESHARECOMMAND"/>delete share command (G)</term>
+               <term><anchor id="DELETESHARECOMMAND">delete share command (G)</term>
                <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
                <parameter>delete share command</parameter> is used to define an 
@@ -1988,11 +1997,10 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="DELETEUSERSCRIPT"/>delete user script (G)</term>
+               <term><anchor id="DELETEUSERSCRIPT">delete user script (G)</term>
                <listitem><para>This is the full pathname to a script that will 
-               be run by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when managing users 
-               with remote RPC (NT) tools.
+               be run by <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
+                when managing user's with remote RPC (NT) tools.
                </para>
 
                 <para>This script is called when a remote client removes a user
@@ -2010,13 +2018,13 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="DELETEUSERFROMGROUPSCRIPT"/>delete user from group script (G)</term>
+               <term><anchor id="DELETEUSERFROMGROUPSCRIPT">delete user from group script (G)</term>
                <listitem><para>Full path to the script that will be called when 
                a user is removed from a group using the Windows NT domain administration 
-               tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> <emphasis>AS ROOT</emphasis>. 
-               Any <parameter>%g</parameter> will be replaced with the group name and 
-               any <parameter>%u</parameter> will be replaced with the user name.
+               tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink> 
+               <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be 
+               replaced with the group name and any <parameter>%u</parameter> will 
+               be replaced with the user name.
                </para>
 
                <para>Default: <command>delete user from group script = </command></para>
@@ -2027,7 +2035,7 @@ alias|alias|alias|alias...
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="DELETEVETOFILES"/>delete veto files (S)</term>
+               <term><anchor id="DELETEVETOFILES">delete veto files (S)</term>
                <listitem><para>This option is used when Samba is attempting to 
                delete a directory that contains one or more vetoed directories 
                (see the <link linkend="VETOFILES"><parameter>veto files</parameter></link>
@@ -2056,7 +2064,7 @@ alias|alias|alias|alias...
 
 
                <varlistentry>
-               <term><anchor id="DENYHOSTS"/>deny hosts (S)</term>
+               <term><anchor id="DENYHOSTS">deny hosts (S)</term>
                <listitem><para>Synonym for <link linkend="HOSTSDENY"><parameter>hosts 
                deny</parameter></link>.</para></listitem>
                </varlistentry>
@@ -2065,7 +2073,7 @@ alias|alias|alias|alias...
                
                
                <varlistentry>
-               <term><anchor id="DFREECOMMAND"/>dfree command (G)</term>
+               <term><anchor id="DFREECOMMAND">dfree command (G)</term>
                <listitem><para>The <parameter>dfree command</parameter> setting should 
                only be used on systems where a problem occurs with the internal 
                disk space calculations. This has been known to happen with Ultrix, 
@@ -2098,17 +2106,17 @@ alias|alias|alias|alias...
 
                <para>Where the script dfree (which must be made executable) could be:</para>
 
-<para><programlisting> 
-#!/bin/sh
-df $1 | tail -1 | awk '{print $2" "$4}'
-</programlisting></para>
+               <para><programlisting> 
+               #!/bin/sh
+               df $1 | tail -1 | awk '{print $2" "$4}'
+               </programlisting></para>
 
                <para>or perhaps (on Sys V based systems):</para>
 
-<para><programlisting> 
-#!/bin/sh
-/usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
-</programlisting></para>
+               <para><programlisting> 
+               #!/bin/sh
+               /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
+               </programlisting></para>
                
                <para>Note that you may have to replace the command names 
                with full path names on some systems.</para>
@@ -2119,7 +2127,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DIRECTORY"/>directory (S)</term>
+               <term><anchor id="DIRECTORY">directory (S)</term>
                <listitem><para>Synonym for <link linkend="PATH"><parameter>path
                </parameter></link>.</para></listitem>
                </varlistentry>
@@ -2127,7 +2135,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DIRECTORYMASK"/>directory mask (S)</term>
+               <term><anchor id="DIRECTORYMASK">directory mask (S)</term>
                <listitem><para>This parameter is the octal modes which are 
                used when converting DOS modes to UNIX modes when creating UNIX 
                directories.</para>
@@ -2175,7 +2183,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="DIRECTORYMODE"/>directory mode (S)</term>
+               <term><anchor id="DIRECTORYMODE">directory mode (S)</term>
                <listitem><para>Synonym for <link linkend="DIRECTORYMASK"><parameter>
                directory mask</parameter></link></para></listitem>
                </varlistentry>
@@ -2183,7 +2191,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DIRECTORYSECURITYMASK"/>directory security mask (S)</term>
+               <term><anchor id="DIRECTORYSECURITYMASK">directory security mask (S)</term>
                <listitem><para>This parameter controls what UNIX permission bits 
                can be modified when a Windows NT client is manipulating the UNIX 
                permission on a directory using the native NT security dialog 
@@ -2218,7 +2226,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="DISABLENETBIOS"/>disable netbios (G)</term>
+               <term><anchor id="DISABLENETBIOS">disable netbios (G)</term>
                <listitem><para>Enabling this parameter will disable netbios support
                in Samba. Netbios is the only available form of browsing in 
                all windows versions except for 2000 and XP. </para>
@@ -2233,7 +2241,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="DISABLESPOOLSS"/>disable spoolss (G)</term>
+               <term><anchor id="DISABLESPOOLSS">disable spoolss (G)</term>
                <listitem><para>Enabling this parameter will disable Samba's support
                for the SPOOLSS set of MS-RPC's and will yield identical behavior
                as Samba 2.0.x.  Windows NT/2000 clients will downgrade to using
@@ -2254,7 +2262,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="DISPLAYCHARSET"/>display charset (G)</term>
+               <term><anchor id="DISPLAYCHARSET">display charset (G)</term>
                <listitem><para>Specifies the charset that samba will use 
                to print messages to stdout and stderr and SWAT will use. 
                Should generally be the same as the <command>unix charset</command>.
@@ -2269,12 +2277,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DNSPROXY"/>dns proxy (G)</term>
-               <listitem><para>Specifies that <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when acting as a WINS server and 
-               finding that a NetBIOS name has not been registered, should treat the 
-               NetBIOS name word-for-word as a DNS name and do a lookup with the DNS server 
-               for that name on behalf of the name-querying client.</para>
+               <term><anchor id="DNSPROXY">dns proxy (G)</term>
+               <listitem><para>Specifies that <ulink url="nmbd.8.html">nmbd(8)</ulink> 
+               when acting as a WINS server and finding that a NetBIOS name has not 
+               been registered, should treat the NetBIOS name word-for-word as a DNS 
+               name and do a lookup with the DNS server for that name on behalf of 
+               the name-querying client.</para>
 
                <para>Note that the maximum length for a NetBIOS name is 15 
                characters, so the DNS name (or DNS alias) can likewise only be 
@@ -2292,7 +2300,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="DOMAINLOGONS"/>domain logons (G)</term>
+               <term><anchor id="DOMAINLOGONS">domain logons (G)</term>
                <listitem><para>If set to <constant>yes</constant>, the Samba server will serve 
                Windows 95/98 Domain logons for the <link linkend="WORKGROUP">
                <parameter>workgroup</parameter></link> it is in. Samba 2.2
@@ -2307,20 +2315,20 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DOMAINMASTER"/>domain master (G)</term>
-               <listitem><para>Tell <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to enable WAN-wide browse list
+               <term><anchor id="DOMAINMASTER">domain master (G)</term>
+               <listitem><para>Tell <ulink url="nmbd.8.html"><command>
+               nmbd(8)</command></ulink> to enable WAN-wide browse list
                collation. Setting this option causes <command>nmbd</command> to
                claim a special domain specific NetBIOS name that identifies 
                it as a domain master browser for its given <link linkend="WORKGROUP">
                <parameter>workgroup</parameter></link>. Local master browsers 
                in the same <parameter>workgroup</parameter> on broadcast-isolated 
                subnets will give this <command>nmbd</command> their local browse lists, 
-               and then ask <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> for a complete copy of the browse 
-               list for the whole wide area network.  Browser clients will then contact 
-               their local master browser, and will receive the domain-wide browse list, 
-               instead of just the list for their broadcast-isolated subnet.</para>
+               and then ask <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> 
+               for a complete copy of the browse list for the whole wide area 
+               network.  Browser clients will then contact their local master browser, 
+               and will receive the domain-wide browse list, instead of just the list 
+               for their broadcast-isolated subnet.</para>
 
                <para>Note that Windows NT Primary Domain Controllers expect to be 
                able to claim this <parameter>workgroup</parameter> specific special 
@@ -2345,7 +2353,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DONTDESCEND"/>dont descend (S)</term>
+               <term><anchor id="DONTDESCEND">dont descend (S)</term>
                <listitem><para>There are certain directories on some systems 
                (e.g., the <filename>/proc</filename> tree under Linux) that are either not 
                of interest to clients or are infinitely deep (recursive). This 
@@ -2364,7 +2372,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="DOSCHARSET"/>dos charset (G)</term>
+               <term><anchor id="DOSCHARSET">dos charset (G)</term>
                <listitem><para>DOS SMB clients assume the server has 
                the same charset as they do. This option specifies which 
                charset Samba should talk to DOS clients.
@@ -2372,14 +2380,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>The default depends on which charsets you have instaled. 
                Samba tries to use charset 850 but falls back to ASCII in 
-               case it is not available. Run <citerefentry><refentrytitle>testparm</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry> to check the default on your system.
+               case it is not available. Run <ulink url="testparm.1.html">testparm(1)
+               </ulink> to check the default on your system.
                </para>
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="DOSFILEMODE"/>dos filemode (S)</term>
+               <term><anchor id="DOSFILEMODE">dos filemode (S)</term>
                <listitem><para> The default behavior in Samba is to provide 
                UNIX-like behavior where only the owner of a file/directory is 
                able to change the permissions on it.  However, this behavior
@@ -2398,13 +2406,13 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="DOSFILETIMERESOLUTION"/>dos filetime resolution (S)</term>
+               <term><anchor id="DOSFILETIMERESOLUTION">dos filetime resolution (S)</term>
                <listitem><para>Under the DOS and Windows FAT filesystem, the finest 
                granularity on time resolution is two seconds. Setting this parameter 
                for a share causes Samba to round the reported time down to the 
                nearest two second boundary when a query call that requires one second 
-               resolution is made to <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>.</para>
+               resolution is made to <ulink url="smbd.8.html"><command>smbd(8)</command>
+               </ulink>.</para>
 
                <para>This option is mainly used as a compatibility option for Visual 
                C++ when used against Samba shares. If oplocks are enabled on a 
@@ -2424,15 +2432,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="DOSFILETIMES"/>dos filetimes (S)</term>
+               <term><anchor id="DOSFILETIMES">dos filetimes (S)</term>
                <listitem><para>Under DOS and Windows, if a user can write to a 
                file they can change the timestamp on it. Under POSIX semantics, 
                only the owner of the file or root may change the timestamp. By 
                default, Samba runs with POSIX semantics and refuses to change the 
                timestamp on a file if the user <command>smbd</command> is acting 
                on behalf of is not the file owner. Setting this option to <constant>
-               yes</constant> allows DOS semantics and <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will change the file 
+               yes</constant> allows DOS semantics and <ulink url="smbd.8.html">smbd</ulink> will change the file 
                timestamp as DOS requires.</para>
 
                <para>Default: <command>dos filetimes = no</command></para></listitem>
@@ -2441,7 +2448,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="ENCRYPTPASSWORDS"/>encrypt passwords (G)</term>
+               <term><anchor id="ENCRYPTPASSWORDS">encrypt passwords (G)</term>
                <listitem><para>This boolean controls whether encrypted passwords 
                will be negotiated with the client. Note that Windows NT 4.0 SP3 and 
                above and also Windows 98 will by default expect encrypted passwords 
@@ -2450,11 +2457,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                directory <filename>docs/</filename> shipped with the source code.</para>
 
                <para>In order for encrypted passwords to work correctly
-               <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> must either 
-               have access to a local <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file (see the <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> program for information on how to set up 
+               <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> must either 
+               have access to a local <ulink url="smbpasswd.5.html"><filename>smbpasswd(5)
+               </filename></ulink> file (see the <ulink url="smbpasswd.8.html"><command>
+               smbpasswd(8)</command></ulink> program for information on how to set up 
                and maintain this file), or set the <link
                linkend="SECURITY">security = [server|domain|ads]</link> parameter which 
                causes <command>smbd</command> to authenticate against another 
@@ -2465,7 +2471,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="ENHANCEDBROWSING"/>enhanced browsing (G)</term>
+               <term><anchor id="ENHANCEDBROWSING">enhanced browsing (G)</term>
                <listitem><para>This option enables a couple of enhancements to 
                cross-subnet browse propagation that have been added in Samba 
                but which are not standard in Microsoft implementations.  
@@ -2491,7 +2497,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="ENUMPORTSCOMMAND"/>enumports command (G)</term>
+               <term><anchor id="ENUMPORTSCOMMAND">enumports command (G)</term>
                <listitem><para>The concept of a "port" is fairly foreign
                to UNIX hosts.  Under Windows NT/2000 print servers, a port
                is associated with a port monitor and generally takes the form of
@@ -2514,7 +2520,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="EXEC"/>exec (S)</term>
+               <term><anchor id="EXEC">exec (S)</term>
                <listitem><para>This is a synonym for <link linkend="PREEXEC">
                <parameter>preexec</parameter></link>.</para></listitem>
                </varlistentry>
@@ -2522,7 +2528,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FAKEDIRECTORYCREATETIMES"/>fake directory create times (S)</term>
+               <term><anchor id="FAKEDIRECTORYCREATETIMES">fake directory create times (S)</term>
                <listitem><para>NTFS and Windows VFAT file systems keep a create 
                time for all files and directories. This is not the same as the 
                ctime - status change time - that Unix keeps, so Samba by default 
@@ -2556,7 +2562,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FAKEOPLOCKS"/>fake oplocks (S)</term>
+               <term><anchor id="FAKEOPLOCKS">fake oplocks (S)</term>
                <listitem><para>Oplocks are the way that SMB clients get permission 
                from a server to locally cache file operations. If a server grants 
                an oplock (opportunistic lock) then the client is free to assume 
@@ -2588,11 +2594,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FOLLOWSYMLINKS"/>follow symlinks (S)</term>
+               <term><anchor id="FOLLOWSYMLINKS">follow symlinks (S)</term>
                <listitem><para>This parameter allows the Samba administrator 
-               to stop <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> from following symbolic 
-               links in a particular share. Setting this 
+               to stop <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> 
+               from following symbolic links in a particular share. Setting this 
                parameter to <constant>no</constant> prevents any file or directory 
                that is a symbolic link from being followed (the user will get an 
                error).  This option is very useful to stop users from adding a 
@@ -2609,7 +2614,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="FORCECREATEMODE"/>force create mode (S)</term>
+               <term><anchor id="FORCECREATEMODE">force create mode (S)</term>
                <listitem><para>This parameter specifies a set of UNIX mode bit 
                permissions that will <emphasis>always</emphasis> be set on a 
                file created by Samba. This is done by bitwise 'OR'ing these bits onto 
@@ -2637,7 +2642,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FORCEDIRECTORYMODE"/>force directory mode (S)</term>
+               <term><anchor id="FORCEDIRECTORYMODE">force directory mode (S)</term>
                <listitem><para>This parameter specifies a set of UNIX mode bit 
                permissions that will <emphasis>always</emphasis> be set on a directory 
                created by Samba. This is done by bitwise 'OR'ing these bits onto the 
@@ -2666,7 +2671,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="FORCEDIRECTORYSECURITYMODE"/>force directory security mode (S)</term>
+               <term><anchor id="FORCEDIRECTORYSECURITYMODE">force directory security mode (S)</term>
                <listitem><para>This parameter controls what UNIX permission bits 
                can be modified when a Windows NT client is manipulating the UNIX 
                permission on a directory using the native NT security dialog box.</para>
@@ -2702,7 +2707,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FORCEGROUP"/>force group (S)</term>
+               <term><anchor id="FORCEGROUP">force group (S)</term>
                <listitem><para>This specifies a UNIX group name that will be 
                assigned as the default primary group for all users connecting 
                to this service. This is useful for sharing files by ensuring 
@@ -2738,7 +2743,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="FORCESECURITYMODE"/>force security mode (S)</term>
+               <term><anchor id="FORCESECURITYMODE">force security mode (S)</term>
                <listitem><para>This parameter controls what UNIX permission 
                bits can be modified when a Windows NT client is manipulating 
                the UNIX permission on a file using the native NT security dialog 
@@ -2776,7 +2781,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="FORCEUSER"/>force user (S)</term>
+               <term><anchor id="FORCEUSER">force user (S)</term>
                <listitem><para>This specifies a UNIX user name that will be 
                assigned as the default user for all users connecting to this service. 
                This is useful for sharing files. You should also use it carefully 
@@ -2804,11 +2809,11 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="FSTYPE"/>fstype (S)</term>
+               <term><anchor id="FSTYPE">fstype (S)</term>
                <listitem><para>This parameter allows the administrator to 
                configure the string that specifies the type of filesystem a share 
-               is using that is reported by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when a client queries the filesystem type
+               is using that is reported by <ulink url="smbd.8.html"><command>smbd(8)
+               </command></ulink> when a client queries the filesystem type
                for a share. The default type is <constant>NTFS</constant> for 
                compatibility with Windows NT but this can be changed to other 
                strings such as <constant>Samba</constant> or <constant>FAT
@@ -2821,7 +2826,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="GETWDCACHE"/>getwd cache (G)</term>
+               <term><anchor id="GETWDCACHE">getwd cache (G)</term>
                <listitem><para>This is a tuning option. When this is enabled a 
                caching algorithm will be used to reduce the time taken for getwd() 
                calls. This can have a significant impact on performance, especially 
@@ -2835,7 +2840,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="GROUP"/>group (S)</term>
+               <term><anchor id="GROUP">group (S)</term>
                <listitem><para>Synonym for <link linkend="FORCEGROUP"><parameter>force 
                group</parameter></link>.</para></listitem>
                </varlistentry>
@@ -2843,7 +2848,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="GUESTACCOUNT"/>guest account (S)</term>
+               <term><anchor id="GUESTACCOUNT">guest account (S)</term>
                <listitem><para>This is a username which will be used for access 
                to services which are specified as <link linkend="GUESTOK"><parameter>
                guest ok</parameter></link> (see below). Whatever privileges this 
@@ -2873,16 +2878,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="GUESTOK"/>guest ok (S)</term>
+               <term><anchor id="GUESTOK">guest ok (S)</term>
                <listitem><para>If this parameter is <constant>yes</constant> for 
                a service, then no password is required to connect to the service. 
                Privileges will be those of the <link linkend="GUESTACCOUNT"><parameter>
                guest account</parameter></link>.</para>
 
-               <para>This paramater nullifies the benifits of setting
-               <link linkend="RESTRICTANONYMOUS"><parameter>restrict
-               anonymous</parameter></link> = 2</para>
-
                <para>See the section below on <link linkend="SECURITY"><parameter>
                security</parameter></link> for more information about this option.
                </para>
@@ -2893,7 +2894,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="GUESTONLY"/>guest only (S)</term>
+               <term><anchor id="GUESTONLY">guest only (S)</term>
                <listitem><para>If this parameter is <constant>yes</constant> for 
                a service, then only guest connections to the service are permitted. 
                This parameter will have no effect if <link linkend="GUESTOK">
@@ -2909,7 +2910,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                
                <varlistentry>
-               <term><anchor id="HIDEDOTFILES"/>hide dot files (S)</term>
+               <term><anchor id="HIDEDOTFILES">hide dot files (S)</term>
                <listitem><para>This is a boolean parameter that controls whether 
                files starting with a dot appear as hidden files.</para>
 
@@ -2919,7 +2920,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
        
                <varlistentry>
-               <term><anchor id="HIDEFILES"/>hide files(S)</term>
+               <term><anchor id="HIDEFILES">hide files(S)</term>
                <listitem><para>This is a list of files or directories that are not 
                visible but are accessible.  The DOS 'hidden' attribute is applied 
                to any files or directories that match.</para>
@@ -2957,7 +2958,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="HIDELOCALUSERS"/>hide local users(G)</term>
+               <term><anchor id="HIDELOCALUSERS">hide local users(G)</term>
                <listitem><para>This parameter toggles the hiding of local UNIX 
                users (root, wheel, floppy, etc) from remote clients.</para>
 
@@ -2967,7 +2968,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="HIDEUNREADABLE"/>hide unreadable (G)</term>
+               <term><anchor id="HIDEUNREADABLE">hide unreadable (G)</term>
                <listitem><para>This parameter prevents clients from seeing the
                existance of files that cannot be read. Defaults to off.</para>
 
@@ -2976,7 +2977,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="HIDEUNWRITEABLEFILES"/>hide unwriteable files (G)</term>
+               <term><anchor id="HIDEUNWRITEABLEFILES">hide unwriteable files (G)</term>
                <listitem><para>This parameter prevents clients from seeing
                the existance of files that cannot be written to. Defaults to off.
                Note that unwriteable directories are shown as usual.
@@ -2987,7 +2988,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="HIDESPECIALFILES"/>hide special files (G)</term>
+               <term><anchor id="HIDESPECIALFILES">hide special files (G)</term>
                <listitem><para>This parameter prevents clients from seeing
                special files such as sockets, devices and fifo's in directory 
                listings.
@@ -2998,10 +2999,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="HOMEDIRMAP"/>homedir map (G)</term>
+               <term><anchor id="HOMEDIRMAP">homedir map (G)</term>
                <listitem><para>If<link linkend="NISHOMEDIR"><parameter>nis homedir
-               </parameter></link> is <constant>yes</constant>, and <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> is also acting 
+               </parameter></link> is <constant>yes</constant>, and <ulink 
+               url="smbd.8.html"><command>smbd(8)</command></ulink> is also acting 
                as a Win95/98 <parameter>logon server</parameter> then this parameter 
                specifies the NIS (or YP) map from which the server for the user's 
                home directory should be extracted.  At present, only the Sun 
@@ -3031,7 +3032,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
        
                <varlistentry>
-               <term><anchor id="HOSTMSDFS"/>host msdfs (G)</term>
+               <term><anchor id="HOSTMSDFS">host msdfs (G)</term>
                <listitem><para>This boolean parameter is only available 
                if Samba has been configured and compiled with the <command>
                --with-msdfs</command> option. If set to <constant>yes</constant>, 
@@ -3049,7 +3050,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="HOSTNAMELOOKUPS"/>hostname lookups (G)</term>
+               <term><anchor id="HOSTNAMELOOKUPS">hostname lookups (G)</term>
                <listitem><para>Specifies whether samba should use (expensive)
                hostname lookups or use the ip addresses instead. An example place
                where hostname lookups are currently used is when checking 
@@ -3065,7 +3066,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
        
                <varlistentry>
-               <term><anchor id="HOSTSALLOW"/>hosts allow (S)</term>
+               <term><anchor id="HOSTSALLOW">hosts allow (S)</term>
                <listitem><para>A synonym for this parameter is <parameter>allow 
                hosts</parameter>.</para>
                
@@ -3114,9 +3115,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>Note that access still requires suitable user-level passwords.</para>
 
-               <para>See <citerefentry><refentrytitle>testparm</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry> for a way of testing your host acces
-               to see if it does what you expect.</para>
+               <para>See <ulink url="testparm.1.html"><command>testparm(1)</command>
+               </ulink> for a way of testing your host access to see if it doe
+               what you expect.</para>
 
                <para>Default: <emphasis>none (i.e., all hosts permitted access)
                </emphasis></para>
@@ -3129,7 +3130,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="HOSTSDENY"/>hosts deny (S)</term>
+               <term><anchor id="HOSTSDENY">hosts deny (S)</term>
                <listitem><para>The opposite of <parameter>hosts allow</parameter> 
                - hosts listed here are <emphasis>NOT</emphasis> permitted access to 
                services unless the specific services have their own lists to override 
@@ -3146,7 +3147,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="HOSTSEQUIV"/>hosts equiv (G)</term>
+               <term><anchor id="HOSTSEQUIV">hosts equiv (G)</term>
                <listitem><para>If this global parameter is a non-null string, 
                it specifies the name of a file to read for the names of hosts 
                and users who will be allowed access without specifying a password.
@@ -3175,7 +3176,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="INCLUDE"/>include (G)</term>
+               <term><anchor id="INCLUDE">include (G)</term>
                <listitem><para>This allows you to include one config file 
                inside another.  The file is included literally, as though typed 
                in place.</para>
@@ -3192,7 +3193,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="INHERITACLS"/>inherit acls (S)</term>
+               <term><anchor id="INHERITACLS">inherit acls (S)</term>
                <listitem><para>This parameter can be used to ensure
                that if default acls exist on parent directories,
                they are always honored when creating a subdirectory.
@@ -3210,7 +3211,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="INHERITPERMISSIONS"/>inherit permissions (S)</term>
+               <term><anchor id="INHERITPERMISSIONS">inherit permissions (S)</term>
                <listitem><para>The permissions on new files and directories 
                are normally governed by <link linkend="CREATEMASK"><parameter>
                create mask</parameter></link>, <link linkend="DIRECTORYMASK">
@@ -3251,7 +3252,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="INTERFACES"/>interfaces (G)</term>
+               <term><anchor id="INTERFACES">interfaces (G)</term>
                <listitem><para>This option allows you to override the default 
                network interfaces list that Samba will use for browsing, name 
                registration and other NBT traffic. By default Samba will query 
@@ -3303,7 +3304,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="INVALIDUSERS"/>invalid users (S)</term>
+               <term><anchor id="INVALIDUSERS">invalid users (S)</term>
                <listitem><para>This is a list of users that should not be allowed 
                to login to this service. This is really a <emphasis>paranoid</emphasis> 
                check to absolutely ensure an improper setting does not breach 
@@ -3315,12 +3316,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>A name starting with '+' is interpreted only 
                by looking in the UNIX group database. A name starting with 
-               '&amp;' is interpreted only by looking in the NIS netgroup database 
+               '&' is interpreted only by looking in the NIS netgroup database 
                (this requires NIS to be working on your system). The characters 
-               '+' and '&amp;' may be used at the start of the name in either order 
+               '+' and '&' may be used at the start of the name in either order 
                so the value <parameter>+&amp;group</parameter> means check the 
                UNIX group database, followed by the NIS netgroup database, and 
-               the value <parameter>&amp;+group</parameter> means check the NIS
+               the value <parameter>&+group</parameter> means check the NIS
                netgroup database, followed by the UNIX group database (the 
                same as the '@' prefix).</para>
 
@@ -3339,7 +3340,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="KEEPALIVE"/>keepalive (G)</term>
+               <term><anchor id="KEEPALIVE">keepalive (G)</term>
                <listitem><para>The value of the parameter (an integer) represents 
                the number of seconds between <parameter>keepalive</parameter> 
                packets. If this parameter is zero, no keepalive packets will be 
@@ -3359,7 +3360,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
        
        
                <varlistentry>
-               <term><anchor id="KERNELOPLOCKS"/>kernel oplocks (G)</term>
+               <term><anchor id="KERNELOPLOCKS">kernel oplocks (G)</term>
                <listitem><para>For UNIXes that support kernel based <link
                linkend="OPLOCKS"><parameter>oplocks</parameter></link>
                (currently only IRIX and the Linux 2.4 kernel), this parameter 
@@ -3367,10 +3368,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>Kernel oplocks support allows Samba <parameter>oplocks
                </parameter> to be broken whenever a local UNIX process or NFS operation 
-               accesses a file that <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> has oplocked. This allows complete 
-               data consistency between SMB/CIFS, NFS and local file access (and is 
-               a <emphasis>very</emphasis> cool feature :-).</para>
+               accesses a file that <ulink url="smbd.8.html"><command>smbd(8)</command>
+               </ulink> has oplocked. This allows complete data consistency between 
+               SMB/CIFS, NFS and local file access (and is a <emphasis>very</emphasis> 
+               cool feature :-).</para>
 
                <para>This parameter defaults to <constant>on</constant>, but is translated
                to a no-op on systems that no not have the necessary kernel support.
@@ -3388,12 +3389,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LANMANAUTH"/>lanman auth (G)</term>
-               <listitem><para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will attempt to authenticate users 
-               using the LANMAN password hash. If disabled, only clients which support NT 
-               password hashes (e.g. Windows NT/2000 clients, smbclient, etc... but not 
-               Windows 95/98 or the MS DOS network client) will be able to connect to the Samba host.</para>
+               <term><anchor id="LANMANAUTH">lanman auth (G)</term>
+               <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink> will
+               attempt to authenticate users using the LANMAN password hash.
+               If disabled, only clients which support NT password hashes (e.g. Windows 
+               NT/2000 clients, smbclient, etc... but not Windows 95/98 or the MS DOS 
+               network client) will be able to connect to the Samba host.</para>
                
                <para>Default : <command>lanman auth = yes</command></para>
                </listitem>
@@ -3404,10 +3405,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LARGEREADWRITE"/>large readwrite (G)</term>
-               <listitem><para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> supports the new 64k streaming 
-               read and write varient SMB requests introduced
+               <term><anchor id="LARGEREADWRITE">large readwrite (G)</term>
+               <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink>
+               supports the new 64k streaming read and write varient SMB requests introduced
                with Windows 2000. Note that due to Windows 2000 client redirector bugs
                this requires Samba to be running on a 64-bit capable operating system such
                as IRIX, Solaris or a Linux 2.4 kernel. Can improve performance by 10% with
@@ -3422,15 +3422,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPADMINDN"/>ldap admin dn (G)</term>
+               <term><anchor id="LDAPADMINDN">ldap admin dn (G)</term>
                <listitem><para> The <parameter>ldap admin dn</parameter> defines the Distinguished 
                Name (DN) name used by Samba to contact the ldap server when retreiving 
                user account information. The <parameter>ldap
                admin dn</parameter> is used in conjunction with the admin dn password
                stored in the <filename>private/secrets.tdb</filename> file.  See the
-               <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> man page for more information on how 
-               to accmplish this.
+               <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink> man
+               page for more information on how to accmplish this.
                </para>
        
                
@@ -3442,7 +3441,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPFILTER"/>ldap filter (G)</term>
+               <term><anchor id="LDAPFILTER">ldap filter (G)</term>
                <listitem><para>This parameter specifies the RFC 2254 compliant LDAP search filter.
                The default is to match the login name with the <constant>uid</constant> 
                attribute for all entries matching the <constant>sambaAccount</constant>                
@@ -3456,7 +3455,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                 <varlistentry>
-                <term><anchor id="LDAPPORT"/>ldap port (G)</term>
+                <term><anchor id="LDAPPORT">ldap port (G)</term>
                 <listitem><para>This parameter is only available if Samba has been
                 configure to include the <command>--with-ldapsam</command> option
                 at compile time.
@@ -3478,7 +3477,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                 <varlistentry>
-                <term><anchor id="LDAPSERVER"/>ldap server (G)</term>
+                <term><anchor id="LDAPSERVER">ldap server (G)</term>
                 <listitem><para>This parameter is only available if Samba has been
                 configure to include the <command>--with-ldapsam</command> option
                 at compile time.
@@ -3495,7 +3494,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPSSL"/>ldap ssl (G)</term>
+               <term><anchor id="LDAPSSL">ldap ssl (G)</term>
                <listitem><para>This option is used to define whether or not Samba should
                use SSL when connecting to the ldap server
                This is <emphasis>NOT</emphasis> related to
@@ -3529,7 +3528,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPSUFFIX"/>ldap suffix (G)</term>
+               <term><anchor id="LDAPSUFFIX">ldap suffix (G)</term>
                <listitem>
                <para>Specifies where user and machine accounts are added to the tree. Can be overriden by <command>ldap user suffix</command> and <command>ldap machine suffix</command>. It also used as the base dn for all ldap searches. </para>
                
@@ -3540,7 +3539,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPUSERSUFFIX"/>ldap user suffix (G)</term>
+               <term><anchor id="LDAPUSERSUFFIX">ldap user suffix (G)</term>
                <listitem><para>It specifies where users are added to the tree.
                </para>
                
@@ -3553,7 +3552,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPMACHINESUFFIX"/>ldap machine suffix (G)</term>
+               <term><anchor id="LDAPMACHINESUFFIX">ldap machine suffix (G)</term>
                <listitem><para>It specifies where machines should be 
                 added to the ldap tree.
                </para>
@@ -3565,7 +3564,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="LDAPPASSWDSYNC"/>ldap passwd sync (G)</term>
+               <term><anchor id="LDAPPASSWDSYNC">ldap passwd sync (G)</term>
                <listitem><para>This option is used to define whether
                or not Samba should sync the LDAP password with the NT
                and LM hashes for normal accounts (NOT for
@@ -3589,7 +3588,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="LDAPTRUSTIDS"/>ldap trust ids (G)</term>
+               <term><anchor id="LDAPTRUSTIDS">ldap trust ids (G)</term>
                <listitem><para>Normally, Samba validates each entry
                in the LDAP server against getpwnam().  This allows
                LDAP to be used for Samba with the unix system using
@@ -3608,7 +3607,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="LEVEL2OPLOCKS"/>level2 oplocks (S)</term>
+               <term><anchor id="LEVEL2OPLOCKS">level2 oplocks (S)</term>
                <listitem><para>This parameter controls whether Samba supports
                level2 (read-only) oplocks on a share.</para>
                
@@ -3652,9 +3651,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LMANNOUNCE"/>lm announce (G)</term>
-               <listitem><para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will produce Lanman announce 
+               <term><anchor id="LMANNOUNCE">lm announce (G)</term>
+               <listitem><para>This parameter determines if <ulink url="nmbd.8.html">
+               <command>nmbd(8)</command></ulink> will produce Lanman announce 
                broadcasts that are needed by OS/2 clients in order for them to see 
                the Samba server in their browse list. This parameter can have three 
                values, <constant>yes</constant>, <constant>no</constant>, or
@@ -3679,7 +3678,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LMINTERVAL"/>lm interval (G)</term>
+               <term><anchor id="LMINTERVAL">lm interval (G)</term>
                <listitem><para>If Samba is set to produce Lanman announce 
                broadcasts needed by OS/2 clients (see the <link linkend="LMANNOUNCE">
                <parameter>lm announce</parameter></link> parameter) then this 
@@ -3699,7 +3698,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOADPRINTERS"/>load printers (G)</term>
+               <term><anchor id="LOADPRINTERS">load printers (G)</term>
                <listitem><para>A boolean variable that controls whether all 
                printers in the printcap will be loaded for browsing by default. 
                See the <link linkend="PRINTERSSECT">printers</link> section for 
@@ -3712,9 +3711,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOCALMASTER"/>local master (G)</term>
-               <listitem><para>This option allows <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to try and become a local master browser 
+               <term><anchor id="LOCALMASTER">local master (G)</term>
+               <listitem><para>This option allows <ulink url="nmbd.8.html"><command>
+               nmbd(8)</command></ulink> to try and become a local master browser 
                on a subnet. If set to <constant>no</constant> then <command>
                nmbd</command> will not attempt to become a local master browser 
                on a subnet and will also lose in all browsing elections. By
@@ -3733,7 +3732,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOCKDIR"/>lock dir (G)</term>
+               <term><anchor id="LOCKDIR">lock dir (G)</term>
                <listitem><para>Synonym for <link linkend="LOCKDIRECTORY"><parameter>
                lock directory</parameter></link>.</para></listitem>
                </varlistentry>
@@ -3741,7 +3740,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="LOCKDIRECTORY"/>lock directory (G)</term>
+               <term><anchor id="LOCKDIRECTORY">lock directory (G)</term>
                <listitem><para>This option specifies the directory where lock 
                files will be placed.  The lock files are used to implement the 
                <link linkend="MAXCONNECTIONS"><parameter>max connections</parameter>
@@ -3755,7 +3754,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOCKSPINCOUNT"/>lock spin count (G)</term>
+               <term><anchor id="LOCKSPINCOUNT">lock spin count (G)</term>
                <listitem><para>This parameter controls the number of times
                that smbd should attempt to gain a byte range lock on the 
                behalf of a client request.  Experiments have shown that
@@ -3774,7 +3773,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOCKSPINTIME"/>lock spin time (G)</term>
+               <term><anchor id="LOCKSPINTIME">lock spin time (G)</term>
                <listitem><para>The time in microseconds that smbd should 
                pause before attempting to gain a failed lock.  See
                <link linkend="LOCKSPINCOUNT"><parameter>lock spin 
@@ -3788,7 +3787,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOCKING"/>locking (S)</term>
+               <term><anchor id="LOCKING">locking (S)</term>
                <listitem><para>This controls whether or not locking will be 
                performed by the server in response to lock requests from the 
                client.</para>
@@ -3816,7 +3815,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOGFILE"/>log file (G)</term>
+               <term><anchor id="LOGFILE">log file (G)</term>
                <listitem><para>This option allows you to override the name 
                of the Samba log file (also known as the debug file).</para>
 
@@ -3830,7 +3829,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOGLEVEL"/>log level (G)</term>
+               <term><anchor id="LOGLEVEL">log level (G)</term>
                <listitem><para>The value of the parameter (a astring) allows 
                the debug level (logging level) to be specified in the 
                <filename>smb.conf</filename> file. This parameter has been
@@ -3848,7 +3847,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOGONDRIVE"/>logon drive (G)</term>
+               <term><anchor id="LOGONDRIVE">logon drive (G)</term>
                <listitem><para>This parameter specifies the local path to 
                which the home directory will be connected (see <link 
                linkend="LOGONHOME"><parameter>logon home</parameter></link>) 
@@ -3865,7 +3864,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
        
        
                <varlistentry>
-               <term><anchor id="LOGONHOME"/>logon home (G)</term>
+               <term><anchor id="LOGONHOME">logon home (G)</term>
                <listitem><para>This parameter specifies the home directory 
                location when a Win95/98 or NT Workstation logs into a Samba PDC.  
                It allows you to do </para>
@@ -3907,7 +3906,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LOGONPATH"/>logon path (G)</term>
+               <term><anchor id="LOGONPATH">logon path (G)</term>
                <listitem><para>This parameter specifies the home directory 
                where roaming profiles (NTuser.dat etc files for Windows NT) are 
                stored.  Contrary to previous versions of these manual pages, it has 
@@ -3955,7 +3954,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="LOGONSCRIPT"/>logon script (G)</term>
+               <term><anchor id="LOGONSCRIPT">logon script (G)</term>
                <listitem><para>This parameter specifies the batch file (.bat) or 
                NT command file (.cmd) to be downloaded and run on a machine when 
                a user successfully logs in.  The file must contain the DOS 
@@ -3997,7 +3996,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LPPAUSECOMMAND"/>lppause command (S)</term>
+               <term><anchor id="LPPAUSECOMMAND">lppause command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to stop printing or spooling 
                a specific print job.</para>
@@ -4041,7 +4040,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LPQCACHETIME"/>lpq cache time (G)</term>
+               <term><anchor id="LPQCACHETIME">lpq cache time (G)</term>
                <listitem><para>This controls how long lpq info will be cached 
                for to prevent the <command>lpq</command> command being called too 
                often. A separate cache is kept for each variation of the <command>
@@ -4070,7 +4069,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LPQCOMMAND"/>lpq command (S)</term>
+               <term><anchor id="LPQCOMMAND">lpq command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to obtain <command>lpq
                </command>-style printer status information.</para>
@@ -4114,7 +4113,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="LPRESUMECOMMAND"/>lpresume command (S)</term>
+               <term><anchor id="LPRESUMECOMMAND">lpresume command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to restart or continue 
                printing or spooling a specific print job.</para>
@@ -4154,7 +4153,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="LPRMCOMMAND"/>lprm command (S)</term>
+               <term><anchor id="LPRMCOMMAND">lprm command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to delete a print job.</para>
 
@@ -4184,7 +4183,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MACHINEPASSWORDTIMEOUT"/>machine password timeout (G)</term>
+               <term><anchor id="MACHINEPASSWORDTIMEOUT">machine password timeout (G)</term>
                <listitem><para>If a Samba server is a member of a Windows 
                NT Domain (see the <link linkend="SECURITYEQUALSDOMAIN">security = domain</link>) 
                parameter) then periodically a running <ulink url="smbd.8.html">
@@ -4194,8 +4193,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                will be changed, in seconds. The default is one week (expressed in 
                seconds), the same as a Windows NT Domain member server.</para>
 
-               <para>See also <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>, and the <link linkend="SECURITYEQUALSDOMAIN">
+               <para>See also <ulink url="smbpasswd.8.html"><command>smbpasswd(8)
+               </command></ulink>, and the <link linkend="SECURITYEQUALSDOMAIN">
                security = domain</link>) parameter.</para>
 
                <para>Default: <command>machine password timeout = 604800</command></para>
@@ -4204,7 +4203,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAGICOUTPUT"/>magic output (S)</term>
+               <term><anchor id="MAGICOUTPUT">magic output (S)</term>
                <listitem><para>This parameter specifies the name of a file 
                which will contain output created by a magic script (see the 
                <link linkend="MAGICSCRIPT"><parameter>magic script</parameter></link>
@@ -4224,7 +4223,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAGICSCRIPT"/>magic script (S)</term>
+               <term><anchor id="MAGICSCRIPT">magic script (S)</term>
                <listitem><para>This parameter specifies the name of a file which, 
                if opened, will be executed by the server when the file is closed. 
                This allows a UNIX script to be sent to the Samba host and 
@@ -4255,7 +4254,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="MANGLECASE"/>mangle case (S)</term>
+               <term><anchor id="MANGLECASE">mangle case (S)</term>
                <listitem><para>See the section on <link linkend="NAMEMANGLINGSECT">
                NAME MANGLING</link></para>
                
@@ -4265,7 +4264,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="MANGLEDMAP"/>mangled map (S)</term>
+               <term><anchor id="MANGLEDMAP">mangled map (S)</term>
                <listitem><para>This is for those who want to directly map UNIX 
                file names which cannot be represented on Windows/DOS.  The mangling 
                of names is not always what is needed.  In particular you may have 
@@ -4290,7 +4289,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MANGLEDNAMES"/>mangled names (S)</term>
+               <term><anchor id="MANGLEDNAMES">mangled names (S)</term>
                <listitem><para>This controls whether non-DOS names under UNIX 
                should be mapped to DOS-compatible names ("mangled") and made visible, 
                or whether non-DOS names should simply be ignored.</para>
@@ -4349,7 +4348,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="MANGLINGMETHOD"/>mangling method (G)</term>
+               <term><anchor id="MANGLINGMETHOD">mangling method (G)</term>
                <listitem><para> controls the algorithm used for the generating
                the mangled names. Can take two different values, "hash" and
                "hash2". "hash" is  the default and is the algorithm that has been
@@ -4364,7 +4363,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="MANGLEPREFIX"/>mangle prefix (G)</term>
+               <term><anchor id="MANGLEPREFIX">mangle prefix (G)</term>
                <listitem><para> controls the number of prefix
                characters from the original name used when generating
                the mangled names. A larger value will give a weaker
@@ -4376,10 +4375,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="MANGLEDSTACK"/>mangled stack (G)</term>
+               <term><anchor id="MANGLEDSTACK">mangled stack (G)</term>
                <listitem><para>This parameter controls the number of mangled names 
-               that should be cached in the Samba server <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>.</para>
+               that should be cached in the Samba server <ulink url="smbd.8.html">
+               smbd(8)</ulink>.</para>
 
                <para>This stack is a list of recently mangled base names 
                (extensions are only maintained if they are longer than 3 characters 
@@ -4403,7 +4402,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MANGLINGCHAR"/>mangling char (S)</term>
+               <term><anchor id="MANGLINGCHAR">mangling char (S)</term>
                <listitem><para>This controls what character is used as 
                the <emphasis>magic</emphasis> character in <link 
                linkend="NAMEMANGLINGSECT">name mangling</link>. The default is a '~'
@@ -4420,7 +4419,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAPARCHIVE"/>map archive (S)</term>
+               <term><anchor id="MAPARCHIVE">map archive (S)</term>
                <listitem><para>This controls whether the DOS archive attribute 
                should be mapped to the UNIX owner execute bit.  The DOS archive bit 
                is set when a file has been modified since its last backup.  One 
@@ -4440,7 +4439,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="MAPHIDDEN"/>map hidden (S)</term>
+               <term><anchor id="MAPHIDDEN">map hidden (S)</term>
                <listitem><para>This controls whether DOS style hidden files 
                should be mapped to the UNIX world execute bit.</para>
 
@@ -4455,7 +4454,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAPSYSTEM"/>map system (S)</term>
+               <term><anchor id="MAPSYSTEM">map system (S)</term>
                <listitem><para>This controls whether DOS style system files 
                should be mapped to the UNIX group execute bit.</para>
 
@@ -4470,15 +4469,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAPTOGUEST"/>map to guest (G)</term>
+               <term><anchor id="MAPTOGUEST">map to guest (G)</term>
                <listitem><para>This parameter is only useful in <link linkend="SECURITY">
                security</link> modes other than <parameter>security = share</parameter> 
                - i.e. <constant>user</constant>, <constant>server</constant>, 
                and <constant>domain</constant>.</para>
 
                <para>This parameter can take three different values, which tell
-               <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> what to do with user 
+               <ulink url="smbd.8.html">smbd(8)</ulink> what to do with user 
                login requests that don't match a valid UNIX user in some way.</para>
 
                <para>The three settings are :</para>
@@ -4526,7 +4524,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXCONNECTIONS"/>max connections (S)</term>
+               <term><anchor id="MAXCONNECTIONS">max connections (S)</term>
                <listitem><para>This option allows the number of simultaneous 
                connections to a service to be limited. If <parameter>max connections
                </parameter> is greater than 0 then connections will be refused if 
@@ -4546,7 +4544,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXDISKSIZE"/>max disk size (G)</term>
+               <term><anchor id="MAXDISKSIZE">max disk size (G)</term>
                <listitem><para>This option allows you to put an upper limit 
                on the apparent size of disks. If you set this option to 100 
                then all shares will appear to be not larger than 100 MB in 
@@ -4573,7 +4571,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
                
                <varlistentry>
-               <term><anchor id="MAXLOGSIZE"/>max log size (G)</term>
+               <term><anchor id="MAXLOGSIZE">max log size (G)</term>
                <listitem><para>This option (an integer in kilobytes) specifies 
                the max size the log file should grow to. Samba periodically checks 
                the size and if it is exceeded it will rename the file, adding 
@@ -4589,7 +4587,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXMUX"/>max mux (G)</term>
+               <term><anchor id="MAXMUX">max mux (G)</term>
                <listitem><para>This option controls the maximum number of 
                outstanding simultaneous SMB operations that Samba tells the client 
                it will allow. You should never need to set this parameter.</para>
@@ -4601,10 +4599,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXOPENFILES"/>max open files (G)</term>
+               <term><anchor id="MAXOPENFILES">max open files (G)</term>
                <listitem><para>This parameter limits the maximum number of 
-               open files that one <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> file 
+               open files that one <ulink url="smbd.8.html">smbd(8)</ulink> file 
                serving process may have open for a client at any one time. The 
                default for this parameter is set very high (10,000) as Samba uses 
                only one bit per unopened file.</para>
@@ -4620,11 +4617,11 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXPRINTJOBS"/>max print jobs (S)</term>
+               <term><anchor id="MAXPRINTJOBS">max print jobs (S)</term>
                <listitem><para>This parameter limits the maximum number of 
                jobs allowable in a Samba printer queue at any given moment.
-               If this number is exceeded, <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will remote "Out of Space" to the client.
+               If this number is exceeded, <ulink url="smbd.8.html"><command>
+               smbd(8)</command></ulink> will remote "Out of Space" to the client.
                See all <link linkend="TOTALPRINTJOBS"><parameter>total
                print jobs</parameter></link>.
                </para>
@@ -4636,7 +4633,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXPROTOCOL"/>max protocol (G)</term>
+               <term><anchor id="MAXPROTOCOL">max protocol (G)</term>
                <listitem><para>The value of the parameter (a string) is the highest 
                protocol level that will be supported by the server.</para>
 
@@ -4674,15 +4671,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXSMBDPROCESSES"/>max smbd processes (G)</term>
+               <term><anchor id="MAXSMBDPROCESSES">max smbd processes (G)</term>
                <listitem><para>This parameter limits the maximum number of 
                <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
                processes concurrently running on a system and is intended
                as a stopgap to prevent degrading service to clients in the event
                that the server has insufficient resources to handle more than this
                number of connections.  Remember that under normal operating
-               conditions, each user will have an <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> associated with him or her
+               conditions, each user will have an <ulink url="smbd.8.html">smbd</ulink> associated with him or her
                to handle connections to all shares from a given host.
                </para>
 
@@ -4695,9 +4691,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXTTL"/>max ttl (G)</term>
-               <listitem><para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
+               <term><anchor id="MAXTTL">max ttl (G)</term>
+               <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)</ulink>
                what the default 'time to live' of NetBIOS names should be (in seconds) 
                when <command>nmbd</command> is requesting a name using either a
                broadcast packet or from a WINS server. You should never need to
@@ -4710,9 +4705,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXWINSTTL"/>max wins ttl (G)</term>
-               <listitem><para>This option tells <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> when acting as a WINS server (<link linkend="WINSSUPPORT">
+               <term><anchor id="MAXWINSTTL">max wins ttl (G)</term>
+               <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)
+               </ulink> when acting as a WINS server (<link linkend="WINSSUPPORT">
                <parameter>wins support = yes</parameter></link>) what the maximum
                'time to live' of NetBIOS names that <command>nmbd</command> 
                will grant will be (in seconds). You should never need to change this
@@ -4728,7 +4723,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MAXXMIT"/>max xmit (G)</term>
+               <term><anchor id="MAXXMIT">max xmit (G)</term>
                <listitem><para>This option controls the maximum packet size 
                that will be negotiated by Samba. The default is 65535, which 
                is the maximum. In some cases you may find you get better performance 
@@ -4743,7 +4738,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MESSAGECOMMAND"/>message command (G)</term>
+               <term><anchor id="MESSAGECOMMAND">message command (G)</term>
                <listitem><para>This specifies what command to run when the 
                server receives a WinPopup style message.</para>
 
@@ -4753,13 +4748,13 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>An example is:</para>
 
-               <para><command>message command = csh -c 'xedit %s;rm %s' &amp;</command>
+               <para><command>message command = csh -c 'xedit %s;rm %s' &</command>
                </para>
 
                <para>This delivers the message using <command>xedit</command>, then 
                removes it afterwards. <emphasis>NOTE THAT IT IS VERY IMPORTANT 
                THAT THIS COMMAND RETURN IMMEDIATELY</emphasis>. That's why I 
-               have the '&amp;' on the end. If it doesn't return immediately then 
+               have the '&' on the end. If it doesn't return immediately then 
                your PCs may freeze when sending messages (they should recover 
                after 30 seconds, hopefully).</para>
 
@@ -4804,7 +4799,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>Default: <emphasis>no message command</emphasis></para>
                <para>Example: <command>message command = csh -c 'xedit %s;
-               rm %s' &amp;</command></para>
+               rm %s' &</command></para>
                </listitem>
                </varlistentry>
 
@@ -4812,7 +4807,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MINPASSWDLENGTH"/>min passwd length (G)</term>
+               <term><anchor id="MINPASSWDLENGTH">min passwd length (G)</term>
                <listitem><para>Synonym for <link linkend="MINPASSWORDLENGTH">
                <parameter>min password length</parameter></link>.</para>
                </listitem>
@@ -4821,7 +4816,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MINPASSWORDLENGTH"/>min password length (G)</term>
+               <term><anchor id="MINPASSWORDLENGTH">min password length (G)</term>
                <listitem><para>This option sets the minimum length in characters 
                of a plaintext password that <command>smbd</command> will accept when performing 
                UNIX password changing.</para>
@@ -4839,7 +4834,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MINPRINTSPACE"/>min print space (S)</term>
+               <term><anchor id="MINPRINTSPACE">min print space (S)</term>
                <listitem><para>This sets the minimum amount of free disk 
                space that must be available before a user will be able to spool 
                a print job. It is specified in kilobytes. The default is 0, which 
@@ -4857,7 +4852,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MINPROTOCOL"/>min protocol (G)</term>
+               <term><anchor id="MINPROTOCOL">min protocol (G)</term>
                <listitem><para>The value of the parameter (a string) is the 
                lowest SMB protocol dialect than Samba will support.  Please refer
                to the <link linkend="MAXPROTOCOL"><parameter>max protocol</parameter></link>
@@ -4881,9 +4876,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MINWINSTTL"/>min wins ttl (G)</term>
-               <listitem><para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
+               <term><anchor id="MINWINSTTL">min wins ttl (G)</term>
+               <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)</ulink>
                when acting as a WINS server (<link linkend="WINSSUPPORT"><parameter>
                wins support = yes</parameter></link>) what the minimum 'time to live' 
                of NetBIOS names that <command>nmbd</command> will grant will be (in 
@@ -4896,7 +4890,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MSDFSPROXY"/>msdfs proxy (S)</term>
+               <term><anchor id="MSDFSPROXY">msdfs proxy (S)</term>
                <listitem><para>This parameter indicates that the share is a
                stand-in for another CIFS share whose location is specified by
                the value of the parameter. When clients attempt to connect to
@@ -4907,7 +4901,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                and
                <link linkend="HOSTMSDFS"><parameter>host msdfs</parameter></link>
                options to find out how to set up a Dfs root share.</para>
-               <para>Example: <command>msdfs proxy = \\\\otherserver\\someshare</command></para>
+               <para>Example: <command>msdfs proxy = \otherserver\someshare</command></para>
                </listitem>
                </varlistentry>
 
@@ -4915,17 +4909,17 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="MSDFSROOT"/>msdfs root (S)</term>
+               <term><anchor id="MSDFSROOT">msdfs root (S)</term>
                <listitem><para>This boolean parameter is only available if 
                Samba is configured  and  compiled with the <command>
                --with-msdfs</command> option.  If set to <constant>yes</constant>, 
                Samba treats the share as a Dfs root and  allows clients to browse 
                the distributed file system tree rooted at the share directory. 
                Dfs links are specified  in  the share directory by symbolic 
-               links of the form <filename>msdfs:serverA\\shareA,serverB\\shareB</filename>
+               links of the form <filename>msdfs:serverA\shareA,serverB\shareB</filename>
                and so on.  For more information on setting up a Dfs tree 
-               on Samba,  refer to <ulink url="msdfs.html">"Hosting a Microsoft 
-               Distributed File System tree on Samba"</ulink> document.</para>
+               on Samba,  refer to <ulink url="msdfs_setup.html">msdfs_setup.html
+               </ulink>.</para>
                
                <para>See also <link linkend="HOSTMSDFS"><parameter>host msdfs
                </parameter></link></para>
@@ -4935,7 +4929,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
          
                <varlistentry>
-               <term><anchor id="NAMECACHETIMEOUT"/>name cache timeout (G)</term>
+               <term><anchor id="NAMECACHETIMEOUT">name cache timeout (G)</term>
                <listitem><para>Specifies the number of seconds it takes before 
                entries in samba's hostname resolve cache time out. If 
                the timeout is set to 0. the caching is disabled.
@@ -4948,7 +4942,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
          
                <varlistentry> 
-               <term><anchor id="NAMERESOLVEORDER"/>name resolve order (G)</term>
+               <term><anchor id="NAMERESOLVEORDER">name resolve order (G)</term>
                <listitem><para>This option is used by the programs in the Samba 
                suite to determine what naming services to use and in what order 
                to resolve host names to IP addresses. The option takes a space 
@@ -5001,7 +4995,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
        
                <varlistentry>
-               <term><anchor id="NETBIOSALIASES"/>netbios aliases (G)</term>
+               <term><anchor id="NETBIOSALIASES">netbios aliases (G)</term>
                <listitem><para>This is a list of NetBIOS names that <ulink 
                url="nmbd.8.html">nmbd(8)</ulink> will advertise as additional 
                names by which the Samba server is known. This allows one machine 
@@ -5022,7 +5016,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NETBIOSNAME"/>netbios name (G)</term>
+               <term><anchor id="NETBIOSNAME">netbios name (G)</term>
                <listitem><para>This sets the NetBIOS name by which a Samba 
                server is known. By default it is the same as the first component 
                of the host's DNS name. If a machine is a browse server or
@@ -5041,7 +5035,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NETBIOSSCOPE"/>netbios scope (G)</term>
+               <term><anchor id="NETBIOSSCOPE">netbios scope (G)</term>
                <listitem><para>This sets the NetBIOS scope that Samba will 
                operate under. This should not be set unless every machine 
                on your LAN also sets this value.</para>
@@ -5050,7 +5044,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="NISHOMEDIR"/>nis homedir (G)</term>
+               <term><anchor id="NISHOMEDIR">nis homedir (G)</term>
                <listitem><para>Get the home share server from a NIS map. For 
                UNIX systems that use an automounter, the user's home directory 
                will often be mounted on a workstation on demand from a remote 
@@ -5083,7 +5077,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NONUNIXACCOUNTRANGE"/>non unix account range (G)</term>
+               <term><anchor id="NONUNIXACCOUNTRANGE">non unix account range (G)</term>
                <listitem><para>The non unix account range parameter specifies 
                 the range of 'user ids' that are allocated by the various 'non unix 
                 account' passdb backends.  These backends allow
@@ -5107,7 +5101,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NTACLSUPPORT"/>nt acl support (S)</term>
+               <term><anchor id="NTACLSUPPORT">nt acl support (S)</term>
                <listitem><para>This boolean parameter controls whether 
                <ulink url="smbd.8.html">smbd(8)</ulink> will attempt to map 
                UNIX permissions into Windows NT access control lists.
@@ -5121,10 +5115,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NTPIPESUPPORT"/>nt pipe support (G)</term>
+               <term><anchor id="NTPIPESUPPORT">nt pipe support (G)</term>
                <listitem><para>This boolean parameter controls whether 
-               <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will allow Windows NT 
+               <ulink url="smbd.8.html">smbd(8)</ulink> will allow Windows NT 
                clients to connect to the NT SMB specific <constant>IPC$</constant> 
                pipes. This is a developer debugging option and can be left
                alone.</para>
@@ -5136,7 +5129,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NTSTATUSSUPPORT"/>nt status support (G)</term>
+               <term><anchor id="NTSTATUSSUPPORT">nt status support (G)</term>
                <listitem><para>This boolean parameter controls whether <ulink
                url="smbd.8.html">smbd(8)</ulink> will negotiate NT specific status
                support with Windows NT/2k/XP clients. This is a developer
@@ -5153,12 +5146,11 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="NULLPASSWORDS"/>null passwords (G)</term>
+               <term><anchor id="NULLPASSWORDS">null passwords (G)</term>
                <listitem><para>Allow or disallow client access to accounts 
                that have null passwords. </para>
 
-               <para>See also <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry>.</para>
+               <para>See also <ulink url="smbpasswd.5.html">smbpasswd (5)</ulink>.</para>
 
                <para>Default: <command>null passwords = no</command></para>
                </listitem>
@@ -5168,7 +5160,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="OBEYPAMRESTRICTIONS"/>obey pam restrictions (G)</term>
+               <term><anchor id="OBEYPAMRESTRICTIONS">obey pam restrictions (G)</term>
                <listitem><para>When Samba 2.2 is configured to enable PAM support
                (i.e. --with-pam), this parameter will control whether or not Samba
                should obey PAM's account and session management directives.  The 
@@ -5189,7 +5181,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="ONLYUSER"/>only user (S)</term>
+               <term><anchor id="ONLYUSER">only user (S)</term>
                <listitem><para>This is a boolean option that controls whether 
                connections with usernames not in the <parameter>user</parameter> 
                list will be allowed. By default this option is disabled so that a 
@@ -5217,7 +5209,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="ONLYGUEST"/>only guest (S)</term>
+               <term><anchor id="ONLYGUEST">only guest (S)</term>
                <listitem><para>A synonym for <link linkend="GUESTONLY"><parameter>
                guest only</parameter></link>.</para>
                </listitem>
@@ -5226,7 +5218,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="OPLOCKBREAKWAITTIME"/>oplock break wait time (G)</term>
+               <term><anchor id="OPLOCKBREAKWAITTIME">oplock break wait time (G)</term>
                <listitem><para>This is a tuning parameter added due to bugs in 
                both Windows 9x and WinNT. If Samba responds to a client too 
                quickly when that client issues an SMB that can cause an oplock 
@@ -5244,15 +5236,15 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="OPLOCKCONTENTIONLIMIT"/>oplock contention limit (S)</term>
+               <term><anchor id="OPLOCKCONTENTIONLIMIT">oplock contention limit (S)</term>
                <listitem><para>This is a <emphasis>very</emphasis> advanced 
                <ulink url="smbd.8.html">smbd(8)</ulink> tuning option to 
                improve the efficiency of the granting of oplocks under multiple 
                client contention for the same file.</para>
                
-               <para>In brief it specifies a number, which causes <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>not to grant an oplock even when requested 
-               if the approximate number of clients contending for an oplock on the same file goes over this 
+               <para>In brief it specifies a number, which causes <ulink url="smbd.8.html">smbd</ulink> not to 
+               grant an oplock even when requested if the approximate number of 
+               clients contending for an oplock on the same file goes over this 
                limit. This causes <command>smbd</command> to behave in a similar 
                way to Windows NT.</para>
 
@@ -5268,7 +5260,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="OPLOCKS"/>oplocks (S)</term>
+               <term><anchor id="OPLOCKS">oplocks (S)</term>
                <listitem><para>This boolean option tells <command>smbd</command> whether to 
                issue oplocks (opportunistic locks) to file open requests on this 
                share. The oplock code can dramatically (approx. 30% or more) improve 
@@ -5296,16 +5288,13 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="NTLMAUTH"/>ntlm auth (G)</term>
-               <listitem><para>This parameter determines 
-               whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will
+               <term><anchor id="NTLMAUTH">ntlm auth (G)</term>
+               <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink> will
                attempt to authenticate users using the NTLM password hash.
                If disabled, only the lanman password hashes will be used. 
                </para>
 
-               <para>Please note that at least this option or <command>lanman auth</command> should 
-               be enabled in order to be able to log in.
+               <para>Please note that at least this option or <command>lanman auth</command> should be enabled in order to be able to log in.
                </para>
                
                <para>Default : <command>ntlm auth = yes</command></para>
@@ -5313,11 +5302,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="OSLEVEL"/>os level (G)</term>
+               <term><anchor id="OSLEVEL">os level (G)</term>
                <listitem><para>This integer value controls what level Samba 
                advertises itself as for browse elections. The value of this 
-               parameter determines whether <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> 
+               parameter determines whether <ulink url="nmbd.8.html">nmbd(8)</ulink> 
                has a chance of becoming a local master browser for the <parameter>
                WORKGROUP</parameter> in the local broadcast area.</para>
                
@@ -5337,7 +5325,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="OS2DRIVERMAP"/>os2 driver map (G)</term>
+               <term><anchor id="OS2DRIVERMAP">os2 driver map (G)</term>
                <listitem><para>The parameter is used to define the absolute
                path to a file containing a mapping of Windows NT printer driver
                names to OS/2 printer driver names.  The format is:</para>
@@ -5350,9 +5338,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                LaserJet 5L</command>.</para>
                
                <para>The need for the file is due to the printer driver namespace 
-               problem described in the <ulink url="printing.html">Samba 
+               problem described in the <ulink url="printer_driver2.html">Samba 
                Printing HOWTO</ulink>.  For more details on OS/2 clients, please 
-               refer to the OS2-Client-HOWTO containing in the Samba documentation.</para>
+               refer to the <ulink url="OS2-Client-HOWTO.html">OS2-Client-HOWTO
+               </ulink> containing in the Samba documentation.</para>
 
                <para>Default: <command>os2 driver map = &lt;empty string&gt;
                </command></para>
@@ -5361,7 +5350,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PAMPASSWORDCHANGE"/>pam password change (G)</term>
+               <term><anchor id="PAMPASSWORDCHANGE">pam password change (G)</term>
                <listitem><para>With the addition of better PAM support in Samba 2.2, 
                this parameter, it is possible to use PAM's password change control 
                flag for Samba.  If enabled, then PAM will be used for password
@@ -5379,12 +5368,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PANICACTION"/>panic action (G)</term>
+               <term><anchor id="PANICACTION">panic action (G)</term>
                <listitem><para>This is a Samba developer option that allows a 
-               system command to be called when either <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> or <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> crashes. This is usually used to 
-               draw attention to the fact that a problem occurred.</para>
+               system command to be called when either <ulink url="smbd.8.html">
+               smbd(8)</ulink> or <ulink url="nmbd.8.html">nmbd(8)</ulink> 
+               crashes. This is usually used to draw attention to the fact that 
+               a problem occurred.</para>
 
                <para>Default: <command>panic action = &lt;empty string&gt;</command></para>
                <para>Example: <command>panic action = "/bin/sleep 90000"</command></para>
@@ -5392,24 +5381,20 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="PARANOIDSERVERSECURITY"/>paranoid server security (G)</term>
+               <term><anchor id="PARANOIDSERVERSECURITY">paranoid server security (G)</term>
                <listitem><para>Some version of NT 4.x allow non-guest 
                users with a bad passowrd. When this option is enabled, samba will not 
                use a broken NT 4.x server as password server, but instead complain
-               to the logs and exit.  
+               to the logs and exit.
                </para>
 
-               <para>Disabling this option prevents Samba from making
-               this check, which involves deliberatly attempting a
-               bad logon to the remote server.</para>
-
                <para>Default: <command>paranoid server security = yes</command></para>
 
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="PASSDBBACKEND"/>passdb backend (G)</term>
+               <term><anchor id="PASSDBBACKEND">passdb backend (G)</term>
                <listitem><para>This option allows the administrator to chose which backends to retrieve and store passwords with. This allows (for example) both 
                 smbpasswd and tdbsam to be used without a recompile. 
                 Multiple backends can be specified, separated by spaces. The backends will be searched in the order they are specified. New users are always added to the first backend specified.
@@ -5502,13 +5487,13 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PASSWDCHAT"/>passwd chat (G)</term>
+               <term><anchor id="PASSWDCHAT">passwd chat (G)</term>
                <listitem><para>This string controls the <emphasis>"chat"</emphasis> 
-               conversation that takes places between <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> and the local password changing
+               conversation that takes places between <ulink 
+               url="smbd.8.html">smbd</ulink> and the local password changing
                program to change the user's password. The string describes a 
-               sequence of response-receive pairs that <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> uses to determine what to send to the 
+               sequence of response-receive pairs that <ulink url="smbd.8.html">
+               smbd(8)</ulink> uses to determine what to send to the 
                <link linkend="PASSWDPROGRAM"><parameter>passwd program</parameter>
                </link> and what to expect back. If the expected output is not 
                received then the password is not changed.</para>
@@ -5530,8 +5515,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>The string can contain the macro <parameter>%n</parameter> which is substituted 
                for the new password.  The chat sequence can also contain the standard 
-               macros <constant>\\n</constant>, <constant>\\r</constant>, <constant>
-               \\t</constant> and <constant>\\s</constant> to give line-feed, 
+               macros <constant>\n</constant>, <constant>\r</constant>, <constant>
+               \t</constant> and <constant>\s</constant> to give line-feed, 
                carriage-return, tab and space.  The chat sequence string can also contain 
                a '*' which matches any sequence of characters.
                Double quotes can be used to collect strings with spaces 
@@ -5553,10 +5538,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                <parameter>passwd chat debug</parameter></link> and <link linkend="PAMPASSWORDCHANGE">
                <parameter>pam password change</parameter></link>.</para>
 
-               <para>Default: <command>passwd chat = *new*password* %n\\
-               *new*password* %n\\n *changed*</command></para>
-               <para>Example: <command>passwd chat = "*Enter OLD password*" %o\\
-               "*Enter NEW password*" %n\\n "*Reenter NEW password*" %n\\n "*Password 
+               <para>Default: <command>passwd chat = *new*password* %n\n 
+               *new*password* %n\n *changed*</command></para>
+               <para>Example: <command>passwd chat = "*Enter OLD password*" %o\n 
+               "*Enter NEW password*" %n\n "*Reenter NEW password*" %n\n "*Password 
                changed*"</command></para>
                </listitem>
                </varlistentry>
@@ -5564,12 +5549,11 @@ df $1 | tail -1 | awk '{print $2" "$4}'
        
    
                <varlistentry>
-               <term><anchor id="PASSWDCHATDEBUG"/>passwd chat debug (G)</term>
+               <term><anchor id="PASSWDCHATDEBUG">passwd chat debug (G)</term>
                <listitem><para>This boolean specifies if the passwd chat script 
                parameter is run in <emphasis>debug</emphasis> mode. In this mode the 
                strings passed to and received from the passwd chat are printed 
-               in the <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> log with a 
+               in the <ulink url="smbd.8.html">smbd(8)</ulink> log with a 
                <link linkend="DEBUGLEVEL"><parameter>debug level</parameter></link> 
                of 100. This is a dangerous option as it will allow plaintext passwords 
                to be seen in the <command>smbd</command> log. It is available to help 
@@ -5592,7 +5576,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PASSWDPROGRAM"/>passwd program (G)</term>
+               <term><anchor id="PASSWDPROGRAM">passwd program (G)</term>
                <listitem><para>The name of a program that can be used to set 
                UNIX user passwords.  Any occurrences of <parameter>%u</parameter> 
                will be replaced with the user name. The user name is checked for 
@@ -5630,7 +5614,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PASSWORDLEVEL"/>password level (G)</term>
+               <term><anchor id="PASSWORDLEVEL">password level (G)</term>
                <listitem><para>Some client/server combinations have difficulty 
                with mixed-case passwords.  One offending client is Windows for 
                Workgroups, which for some reason forces passwords to upper 
@@ -5673,7 +5657,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PASSWORDSERVER"/>password server (G)</term>
+               <term><anchor id="PASSWORDSERVER">password server (G)</term>
                <listitem><para>By specifying the name of another SMB server (such 
                as a WinNT box) with this option, and using <command>security = domain
                </command> or <command>security = server</command> you can get Samba 
@@ -5768,7 +5752,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PATH"/>path (S)</term>
+               <term><anchor id="PATH">path (S)</term>
                <listitem><para>This parameter specifies a directory to which 
                the user of the service is to be given access. In the case of 
                printable services, this is where print data will spool prior to 
@@ -5799,7 +5783,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PIDDIRECTORY"/>pid directory (G)</term>
+               <term><anchor id="PIDDIRECTORY">pid directory (G)</term>
                <listitem><para>This option specifies the directory where pid 
                files will be placed.  </para>
 
@@ -5811,9 +5795,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="POSIXLOCKING"/>posix locking (S)</term>
-               <listitem><para>The <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
+               <term><anchor id="POSIXLOCKING">posix locking (S)</term>
+               <listitem><para>The <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
                daemon maintains an database of file locks obtained by SMB clients.
                The default behavior is to map this internal database to POSIX
                locks.  This means that file locks obtained by SMB clients are 
@@ -5829,7 +5812,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="POSTEXEC"/>postexec (S)</term>
+               <term><anchor id="POSTEXEC">postexec (S)</term>
                <listitem><para>This option specifies a command to be run 
                whenever the service is disconnected. It takes the usual 
                substitutions. The command may be run as the root on some 
@@ -5854,7 +5837,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="POSTSCRIPT"/>postscript (S)</term>
+               <term><anchor id="POSTSCRIPT">postscript (S)</term>
                <listitem><para>This parameter forces a printer to interpret 
                the print files as PostScript. This is done by adding a <constant>%!
                </constant> to the start of print output.</para>
@@ -5870,7 +5853,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
        
        
                <varlistentry>
-               <term><anchor id="PREEXEC"/>preexec (S)</term>
+               <term><anchor id="PREEXEC">preexec (S)</term>
                <listitem><para>This option specifies a command to be run whenever 
                the service is connected to. It takes the usual substitutions.</para>
 
@@ -5879,12 +5862,12 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                is an example:</para>
 
                <para><command>preexec = csh -c 'echo \"Welcome to %S!\" |
-                /usr/local/samba/bin/smbclient -M %m -I %I' &amp; </command></para>
+                /usr/local/samba/bin/smbclient -M %m -I %I' & </command></para>
 
                <para>Of course, this could get annoying after a while :-)</para>
 
                <para>See also <link linkend="PREEXECCLOSE"><parameter>preexec close
-               </parameter></link> and <link linkend="POSTEXEC"><parameter>postexec
+               </parameter</link> and <link linkend="POSTEXEC"><parameter>postexec
                </parameter></link>.</para>
 
                <para>Default: <emphasis>none (no command executed)</emphasis></para>
@@ -5896,7 +5879,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PREEXECCLOSE"/>preexec close (S)</term>
+               <term><anchor id="PREEXECCLOSE">preexec close (S)</term>
                <listitem><para>This boolean option controls whether a non-zero 
                return code from <link linkend="PREEXEC"><parameter>preexec
                </parameter></link> should close the service being connected to.</para>
@@ -5907,7 +5890,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PREFERREDMASTER"/>preferred master (G)</term>
+               <term><anchor id="PREFERREDMASTER">preferred master (G)</term>
                <listitem><para>This boolean parameter controls if <ulink 
                url="nmbd.8.html">nmbd(8)</ulink> is a preferred master browser 
                for its workgroup.</para>
@@ -5936,7 +5919,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PREFEREDMASTER"/>prefered master (G)</term>
+               <term><anchor id="PREFEREDMASTER">prefered master (G)</term>
                <listitem><para>Synonym for <link linkend="PREFERREDMASTER"><parameter>
                preferred master</parameter></link> for people who cannot spell :-).</para>
                </listitem>
@@ -5945,7 +5928,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRELOAD"/>preload (G)</term>
+               <term><anchor id="PRELOAD">preload (G)</term>
                <listitem><para>This is a list of services that you want to be 
                automatically added to the browse lists. This is most useful 
                for homes and printers services that would otherwise not be 
@@ -5963,7 +5946,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRESERVECASE"/>preserve case (S)</term>
+               <term><anchor id="PRESERVECASE">preserve case (S)</term>
                <listitem><para> This controls if new filenames are created
                with the case that the client passes, or if they are forced to 
                be the <link linkend="DEFAULTCASE"><parameter>default case
@@ -5979,7 +5962,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRINTCOMMAND"/>print command (S)</term>
+               <term><anchor id="PRINTCOMMAND">print command (S)</term>
                <listitem><para>After a print job has finished spooling to 
                a service, this command will be used via a <command>system()</command> 
                call to process the spool file. Typically the command specified will 
@@ -6069,7 +6052,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                
 
                <varlistentry>
-               <term><anchor id="PRINTOK"/>print ok (S)</term>
+               <term><anchor id="PRINTOK">print ok (S)</term>
                <listitem><para>Synonym for <link linkend="PRINTABLE">
                <parameter>printable</parameter></link>.</para>
                </listitem>
@@ -6079,7 +6062,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRINTABLE"/>printable (S)</term>
+               <term><anchor id="PRINTABLE">printable (S)</term>
                <listitem><para>If this parameter is <constant>yes</constant>, then 
                clients may open, write to and submit spool files on the directory 
                specified for the service. </para>
@@ -6097,7 +6080,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRINTCAP"/>printcap (G)</term>
+               <term><anchor id="PRINTCAP">printcap (G)</term>
                <listitem><para>Synonym for     <link linkend="PRINTCAPNAME"><parameter>
                printcap name</parameter></link>.</para>
                </listitem>
@@ -6107,7 +6090,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PRINTCAPNAME"/>printcap name (G)</term>
+               <term><anchor id="PRINTCAPNAME">printcap name (G)</term>
                <listitem><para>This parameter may be used to override the 
                compiled-in default printcap name used by the server (usually <filename>
                /etc/printcap</filename>). See the discussion of the <link
@@ -6133,13 +6116,13 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
                <para>A minimal printcap file would look something like this:</para>
 
-<para><programlisting>
-print1|My Printer 1
-print2|My Printer 2
-print3|My Printer 3
-print4|My Printer 4
-print5|My Printer 5
-</programlisting></para>
+               <para><programlisting>
+               print1|My Printer 1
+               print2|My Printer 2
+               print3|My Printer 3
+               print4|My Printer 4
+               print5|My Printer 5
+               </programlisting></para>
        
                <para>where the '|' separates aliases of a printer. The fact 
                that the second alias has a space in it gives a hint to Samba 
@@ -6160,7 +6143,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTERADMIN"/>printer admin (S)</term>
+               <term><anchor id="PRINTERADMIN">printer admin (S)</term>
                <listitem><para>This is a list of users that can do anything to 
                printers via the remote administration interfaces offered by MS-RPC 
                (usually using a NT workstation). Note that the root user always 
@@ -6177,11 +6160,11 @@ print5|My Printer 5
 
                
                <varlistentry>
-               <term><anchor id="PRINTERDRIVER"/>printer driver (S)</term>
+               <term><anchor id="PRINTERDRIVER">printer driver (S)</term>
                <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
                parameter and will be removed in the next major release
                following version 2.2.  Please see the instructions in
-               the <ulink url="printing.html">Samba 2.2. Printing
+               the <ulink url="printer_driver2.html">Samba 2.2. Printing
                HOWTO</ulink> for more information
                on the new method of loading printer drivers onto a Samba server.
                </para>
@@ -6210,11 +6193,11 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTERDRIVERFILE"/>printer driver file (G)</term>
+               <term><anchor id="PRINTERDRIVERFILE">printer driver file (G)</term>
                <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
                parameter and will be removed in the next major release
                following version 2.2.  Please see the instructions in
-               the <ulink url="printing.html">Samba 2.2. Printing
+               the <ulink url="printer_driver2.html">Samba 2.2. Printing
                HOWTO</ulink> for more information
                on the new method of loading printer drivers onto a Samba server.
                </para>
@@ -6246,11 +6229,11 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTERDRIVERLOCATION"/>printer driver location (S)</term>
+               <term><anchor id="PRINTERDRIVERLOCATION">printer driver location (S)</term>
                <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
                parameter and will be removed in the next major release
                following version 2.2.  Please see the instructions in
-               the <ulink url="printing.html">Samba 2.2. Printing
+               the <ulink url="printer_driver2.html">Samba 2.2. Printing
                HOWTO</ulink> for more information
                on the new method of loading printer drivers onto a Samba server.
                </para>
@@ -6280,7 +6263,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTERNAME"/>printer name (S)</term>
+               <term><anchor id="PRINTERNAME">printer name (S)</term>
                <listitem><para>This parameter specifies the name of the printer 
                to which print jobs spooled through a printable service will be sent.</para>
 
@@ -6297,7 +6280,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTER"/>printer (S)</term>
+               <term><anchor id="PRINTER">printer (S)</term>
                <listitem><para>Synonym for <link linkend="PRINTERNAME"><parameter>
                printer name</parameter></link>.</para>
                </listitem>
@@ -6306,7 +6289,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PRINTING"/>printing (S)</term>
+               <term><anchor id="PRINTING">printing (S)</term>
                <listitem><para>This parameters controls how printer status 
                information is interpreted on your system. It also affects the 
                default values for the <parameter>print command</parameter>, 
@@ -6337,7 +6320,7 @@ print5|My Printer 5
 
                
                <varlistentry>
-               <term><anchor id="PRIVATEDIR"/>private dir (G)</term>
+               <term><anchor id="PRIVATEDIR">private dir (G)</term>
                <listitem><para>This parameters defines the directory
                smbd will use for storing such files as <filename>smbpasswd</filename>
                and <filename>secrets.tdb</filename>.
@@ -6351,7 +6334,7 @@ print5|My Printer 5
                
 
                <varlistentry>
-               <term><anchor id="PROTOCOL"/>protocol (G)</term>
+               <term><anchor id="PROTOCOL">protocol (G)</term>
                <listitem><para>Synonym for <link linkend="MAXPROTOCOL">
                <parameter>max protocol</parameter></link>.</para></listitem>
                </varlistentry>
@@ -6360,7 +6343,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="PUBLIC"/>public (S)</term>
+               <term><anchor id="PUBLIC">public (S)</term>
                <listitem><para>Synonym for <link linkend="GUESTOK"><parameter>guest 
                ok</parameter></link>.</para>
                </listitem>
@@ -6369,7 +6352,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="QUEUEPAUSECOMMAND"/>queuepause command (S)</term>
+               <term><anchor id="QUEUEPAUSECOMMAND">queuepause command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to pause the printer queue.</para>
 
@@ -6398,7 +6381,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="QUEUERESUMECOMMAND"/>queueresume command (S)</term>
+               <term><anchor id="QUEUERESUMECOMMAND">queueresume command (S)</term>
                <listitem><para>This parameter specifies the command to be 
                executed on the server host in order to resume the printer queue. It 
                is the command to undo the behavior that is caused by the 
@@ -6433,7 +6416,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="READBMPX"/>read bmpx (G)</term>
+               <term><anchor id="READBMPX">read bmpx (G)</term>
                <listitem><para>This boolean parameter controls whether <ulink 
                url="smbd.8.html">smbd(8)</ulink> will support the "Read 
                Block Multiplex" SMB. This is now rarely used and defaults to 
@@ -6448,7 +6431,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="READLIST"/>read list (S)</term>
+               <term><anchor id="READLIST">read list (S)</term>
                <listitem><para>This is a list of users that are given read-only 
                access to a service. If the connecting user is in this list then 
                they will not be given write access, no matter what the <link 
@@ -6470,7 +6453,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="READONLY"/>read only (S)</term>
+               <term><anchor id="READONLY">read only (S)</term>
                <listitem><para>An inverted synonym is <link linkend="WRITEABLE">
                <parameter>writeable</parameter></link>.</para>
 
@@ -6489,7 +6472,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="READRAW"/>read raw (G)</term>
+               <term><anchor id="READRAW">read raw (G)</term>
                <listitem><para>This parameter controls whether or not the server 
                will support the raw read SMB requests when transferring data 
                to clients.</para>
@@ -6512,7 +6495,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="READSIZE"/>read size (G)</term>
+               <term><anchor id="READSIZE">read size (G)</term>
                <listitem><para>The option <parameter>read size</parameter> 
                affects the overlap of disk reads/writes with network reads/writes. 
                If the amount of data being transferred in several of the SMB 
@@ -6539,7 +6522,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="REALM"/>realm (G)</term>
+               <term><anchor id="REALM">realm (G)</term>
                <listitem><para>
                This option specifies the kerberos realm to use. The realm is 
                used as the ADS equivalent of the NT4<command>domain</command>. It
@@ -6552,7 +6535,7 @@ print5|My Printer 5
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="REMOTEANNOUNCE"/>remote announce (G)</term>
+               <term><anchor id="REMOTEANNOUNCE">remote announce (G)</term>
                <listitem><para>This option allows you to setup <ulink 
                url="nmbd.8.html">nmbd(8)</ulink> to periodically announce itself 
                to arbitrary IP addresses with an arbitrary workgroup name.</para>
@@ -6577,7 +6560,7 @@ print5|My Printer 5
                addresses of the remote networks, but can also be the IP addresses 
                of known browse masters if your network config is that stable.</para>
 
-               <para>See the documentation file <ulink url="improved-browsing.html">BROWSING</ulink
+               <para>See the documentation file <filename>BROWSING.txt</filename
                in the <filename>docs/</filename> directory.</para>
                
                <para>Default: <command>remote announce = &lt;empty string&gt;
@@ -6588,7 +6571,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="REMOTEBROWSESYNC"/>remote browse sync (G)</term>
+               <term><anchor id="REMOTEBROWSESYNC">remote browse sync (G)</term>
                <listitem><para>This option allows you to setup <ulink 
                url="nmbd.8.html">nmbd(8)</ulink> to periodically request 
                synchronization of browse lists with the master browser of a Samba 
@@ -6626,7 +6609,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="RESTRICTANONYMOUS"/>restrict anonymous (G)</term>
+               <term><anchor id="RESTRICTANONYMOUS">restrict anonymous (G)</term>
                <listitem><para>This is a integer parameter, and
                mirrors as much as possible the functinality the
                <constant>RestrictAnonymous</constant>
@@ -6639,7 +6622,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="ROOT"/>root (G)</term>
+               <term><anchor id="ROOT">root (G)</term>
                <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
                <parameter>root directory"</parameter></link>.</para>
                </listitem>
@@ -6648,7 +6631,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="ROOTDIR"/>root dir (G)</term>
+               <term><anchor id="ROOTDIR">root dir (G)</term>
                <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
                <parameter>root directory"</parameter></link>.</para>
                </listitem>
@@ -6656,7 +6639,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="ROOTDIRECTORY"/>root directory (G)</term>
+               <term><anchor id="ROOTDIRECTORY">root directory (G)</term>
                <listitem><para>The server will <command>chroot()</command> (i.e. 
                Change its root directory) to this directory on startup. This is 
                not strictly necessary for secure operation. Even without it the 
@@ -6688,7 +6671,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="ROOTPOSTEXEC"/>root postexec (S)</term>
+               <term><anchor id="ROOTPOSTEXEC">root postexec (S)</term>
                <listitem><para>This is the same as the <parameter>postexec</parameter>
                parameter except that the command is run as root. This 
                is useful for unmounting filesystems 
@@ -6703,7 +6686,7 @@ print5|My Printer 5
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="ROOTPREEXEC"/>root preexec (S)</term>
+               <term><anchor id="ROOTPREEXEC">root preexec (S)</term>
                <listitem><para>This is the same as the <parameter>preexec</parameter>
                parameter except that the command is run as root. This 
                is useful for mounting filesystems (such as CDROMs) when a 
@@ -6721,7 +6704,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="ROOTPREEXECCLOSE"/>root preexec close (S)</term>
+               <term><anchor id="ROOTPREEXECCLOSE">root preexec close (S)</term>
                <listitem><para>This is the same as the <parameter>preexec close
                </parameter> parameter except that the command is run as root.</para>
 
@@ -6735,14 +6718,14 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SECURITY"/>security (G)</term>
+               <term><anchor id="SECURITY">security (G)</term>
                <listitem><para>This option affects how clients respond to 
                Samba and is one of the most important settings in the <filename>
                smb.conf</filename> file.</para>
 
                <para>The option sets the "security mode bit" in replies to 
-               protocol negotiations with <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to turn share level security on or off. Clients decide 
+               protocol negotiations with <ulink url="smbd.8.html">smbd(8)
+               </ulink> to turn share level security on or off. Clients decide 
                based on this bit whether (and how) to transfer user and password 
                information to the server.</para>
 
@@ -6787,7 +6770,7 @@ print5|My Printer 5
                <para>The different settings will now be explained.</para>
 
 
-               <para><anchor id="SECURITYEQUALSSHARE"/><emphasis>SECURITY = SHARE
+               <para><anchor id="SECURITYEQUALSSHARE"><emphasis>SECURITY = SHARE
                </emphasis></para> 
                
                <para>When clients connect to a share level security server they 
@@ -6856,10 +6839,10 @@ print5|My Printer 5
                <para>See also the section <link linkend="VALIDATIONSECT">
                NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
 
-               <para><anchor id="SECURITYEQUALSUSER"/><emphasis>SECURITY = USER
+               <para><anchor id="SECURITYEQUALSUSER"><emphasis>SECURITY = USER
                </emphasis></para>
 
-               <para>This is the default security setting in Samba 3.0
+               <para>This is the default security setting in Samba 2.2
                With user-level security a client must first "log-on" with a 
                valid username and password (which can be mapped using the <link
                linkend="USERNAMEMAP"><parameter>username map</parameter></link> 
@@ -6883,27 +6866,24 @@ print5|My Printer 5
                <para>See also the section <link linkend="VALIDATIONSECT">
                NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
 
-               <para><anchor id="SECURITYEQUALSDOMAIN"/><emphasis>SECURITY = DOMAIN
-
+               <para><anchor id="SECURITYEQUALSSERVER"><emphasis>SECURITY = SERVER
                </emphasis></para>
 
-               <para>This mode will only work correctly if <citerefentry><refentrytitle>net</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> has been used to add this
-               machine into a Windows NT Domain. It expects the <link 
-               linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
-               </link> parameter to be set to <constant>yes</constant>. In this 
-               mode Samba will try to validate the username/password by passing
-               it to a Windows NT Primary or Backup Domain Controller, in exactly 
-               the same way that a Windows NT Server would do.</para>
-
-               <para><emphasis>Note</emphasis> that a valid UNIX user must still 
-               exist as well as the account on the Domain Controller to allow 
-               Samba to have a valid UNIX account to map file access to.</para>
+               <para>In this mode Samba will try to validate the username/password 
+               by passing it to another SMB server, such as an NT box. If this 
+               fails it will revert to <command>security = user</command>, but note 
+               that if encrypted passwords have been negotiated then Samba cannot 
+               revert back to checking the UNIX password file, it must have a valid 
+               <filename>smbpasswd</filename> file to check users against. See the 
+               documentation file in the <filename>docs/</filename> directory 
+               <filename>ENCRYPTION.txt</filename> for details on how to set this 
+               up.</para>
 
-               <para><emphasis>Note</emphasis> that from the client's point 
-               of view <command>security = domain</command> is the same as <command>security = user
-               </command>. It only affects how the server deals with the authentication, 
-               it does not in any way affect what the client sees.</para>
+               <para><emphasis>Note</emphasis> that from the client's point of 
+               view <command>security = server</command> is the same as <command>
+               security = user</command>.  It only affects how the server deals 
+               with the authentication, it does not in any way affect what the 
+               client sees.</para>
 
                <para><emphasis>Note</emphasis> that the name of the resource being 
                requested is <emphasis>not</emphasis> sent to the server until after 
@@ -6921,42 +6901,27 @@ print5|My Printer 5
                server</parameter></link> parameter and the <link 
                linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
                </link> parameter.</para>
-
-               <para><anchor id="SECURITYEQUALSSERVER"/><emphasis>SECURITY = SERVER
+               
+               <para><anchor id="SECURITYEQUALSDOMAIN"><emphasis>SECURITY = DOMAIN
                </emphasis></para>
 
-               <para>In this mode Samba will try to validate the username/password 
-               by passing it to another SMB server, such as an NT box. If this 
-               fails it will revert to <command>security =
-               user</command>. It expects the <link
+               <para>This mode will only work correctly if <ulink 
+               url="smbpasswd.8.html">smbpasswd(8)</ulink> has been used to add this 
+               machine into a Windows NT Domain. It expects the <link 
                linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
-               </link> parameter to be set to
-               <constant>yes</constant>, unless the remote server
-               does not support them.  However note
-               that if encrypted passwords have been negotiated then Samba cannot 
-               revert back to checking the UNIX password file, it must have a valid 
-               <filename>smbpasswd</filename> file to check users against. See the 
-               documentation file in the <filename>docs/</filename> directory 
-               <filename>ENCRYPTION.txt</filename> for details on how to set this 
-               up.</para>
+               </link> parameter to be set to <constant>yes</constant>. In this 
+               mode Samba will try to validate the username/password by passing
+               it to a Windows NT Primary or Backup Domain Controller, in exactly 
+               the same way that a Windows NT Server would do.</para>
 
-               <para><emphasis>Note</emphasis> this mode of operation
-               has significant pitfalls, due to the fact that is
-               activly initiates a man-in-the-middle attack on the
-               remote SMB server.  In particular, this mode of
-               operation can cause significant resource consuption on
-               the PDC, as it must maintain an active connection for
-               the duration of the user's session.  Furthermore, if
-               this connection is lost, there is no way to
-               reestablish it, and futher authenticaions to the Samba
-               server may fail.  (From a single client, till it
-               disconnects). </para>
+               <para><emphasis>Note</emphasis> that a valid UNIX user must still 
+               exist as well as the account on the Domain Controller to allow 
+               Samba to have a valid UNIX account to map file access to.</para>
 
-               <para><emphasis>Note</emphasis> that from the client's point of 
-               view <command>security = server</command> is the same as <command>
-               security = user</command>.  It only affects how the server deals 
-               with the authentication, it does not in any way affect what the 
-               client sees.</para>
+               <para><emphasis>Note</emphasis> that from the client's point 
+               of view <command>security = domain</command> is the same as <command>security = user
+               </command>. It only affects how the server deals with the authentication, 
+               it does not in any way affect what the client sees.</para>
 
                <para><emphasis>Note</emphasis> that the name of the resource being 
                requested is <emphasis>not</emphasis> sent to the server until after 
@@ -6967,6 +6932,14 @@ print5|My Printer 5
                See the <link linkend="MAPTOGUEST"><parameter>map to guest</parameter>
                </link> parameter for details on doing this.</para>
 
+               <para><emphasis>BUG:</emphasis> There is currently a bug in the 
+               implementation of <command>security = domain</command> with respect 
+               to multi-byte character set usernames. The communication with a 
+               Domain Controller must be done in UNICODE and Samba currently 
+               does not widen multi-byte user names to UNICODE correctly, thus 
+               a multi-byte username will not be recognized correctly at the 
+               Domain Controller. This issue will be addressed in a future release.</para>
+
                <para>See also the section <link linkend="VALIDATIONSECT">
                NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
 
@@ -6974,17 +6947,16 @@ print5|My Printer 5
                server</parameter></link> parameter and the <link 
                linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
                </link> parameter.</para>
-               
+
                <para>Default: <command>security = USER</command></para>
                <para>Example: <command>security = DOMAIN</command></para>
-
                </listitem>
                </varlistentry>
 
 
 
                <varlistentry>
-               <term><anchor id="SECURITYMASK"/>security mask (S)</term>
+               <term><anchor id="SECURITYMASK">security mask (S)</term>
                <listitem><para>This parameter controls what UNIX permission 
                bits can be modified when a Windows NT client is manipulating 
                the UNIX permission on a file using the native NT security 
@@ -7019,7 +6991,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SERVERSTRING"/>server string (G)</term>
+               <term><anchor id="SERVERSTRING">server string (G)</term>
                <listitem><para>This controls what string will show up in the 
                printer comment box in print manager and next to the IPC connection 
                in <command>net view</command>. It can be any string that you wish 
@@ -7044,7 +7016,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SETDIRECTORY"/>set directory (S)</term>
+               <term><anchor id="SETDIRECTORY">set directory (S)</term>
                <listitem><para>If <command>set directory = no</command>, then 
                users of the service may not use the setdir command to change 
                directory.</para>
@@ -7060,7 +7032,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SHAREMODES"/>share modes (S)</term>
+               <term><anchor id="SHAREMODES">share modes (S)</term>
                <listitem><para>This enables or disables the honoring of 
                the <parameter>share modes</parameter> during a file open. These 
                modes are used by clients to gain exclusive read or write access 
@@ -7089,7 +7061,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SHORTPRESERVECASE"/>short preserve case (S)</term>
+               <term><anchor id="SHORTPRESERVECASE">short preserve case (S)</term>
                <listitem><para>This boolean parameter controls if new files 
                which conform to 8.3 syntax, that is all in upper case and of 
                suitable length, are created upper case, or if they are forced 
@@ -7109,7 +7081,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SHOWADDPRINTERWIZARD"/>show add printer wizard (G)</term>
+               <term><anchor id="SHOWADDPRINTERWIZARD">show add printer wizard (G)</term>
                <listitem><para>With the introduction of MS-RPC based printing support
                for Windows NT/2000 client in Samba 2.2, a "Printers..." folder will 
                appear on Samba hosts in the share listing.  Normally this folder will 
@@ -7144,7 +7116,7 @@ print5|My Printer 5
 
 
                <varlistentry>
-               <term><anchor id="SHUTDOWNSCRIPT"/>shutdown script (G)</term>
+               <term><anchor id="SHUTDOWNSCRIPT">shutdown script (G)</term>
                <listitem><para><emphasis>This parameter only exists in the HEAD cvs branch</emphasis>
                This a full path name to a script called by
                <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> that
@@ -7170,15 +7142,15 @@ print5|My Printer 5
                <para>Default: <emphasis>None</emphasis>.</para>
                <para>Example: <command>abort shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f</command></para>
                <para>Shutdown script example:
-<programlisting>
-#!/bin/bash
+               <programlisting>
+               #!/bin/bash
                
-$time=0
-let "time/60"
-let "time++"
+               $time=0
+               let "time/60"
+               let "time++"
 
-/sbin/shutdown $3 $4 +$time $1 &amp;
-</programlisting>
+               /sbin/shutdown $3 $4 +$time $1 &
+               </programlisting>
                Shutdown does not return so we need to launch it in background.
                </para>
 
@@ -7188,7 +7160,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SMBPASSWDFILE"/>smb passwd file (G)</term>
+               <term><anchor id="SMBPASSWDFILE">smb passwd file (G)</term>
                <listitem><para>This option sets the path to the encrypted 
                smbpasswd file.  By default the path to the smbpasswd file 
                is compiled into Samba.</para>
@@ -7203,7 +7175,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SMBPORTS"/>smb ports (G)</term>
+               <term><anchor id="SMBPORTS">smb ports (G)</term>
                <listitem><para>Specifies which ports the server should listen on
                for SMB traffic.
                </para>
@@ -7214,7 +7186,7 @@ let "time++"
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="SOCKETADDRESS"/>socket address (G)</term>
+               <term><anchor id="SOCKETADDRESS">socket address (G)</term>
                <listitem><para>This option allows you to control what 
                address Samba will listen for connections on. This is used to 
                support multiple virtual interfaces on the one server, each 
@@ -7231,7 +7203,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SOCKETOPTIONS"/>socket options (G)</term>
+               <term><anchor id="SOCKETOPTIONS">socket options (G)</term>
                <listitem><para>This option allows you to set socket options 
                to be used when talking with the client.</para>
 
@@ -7304,7 +7276,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SOURCEENVIRONMENT"/>source environment (G)</term>
+               <term><anchor id="SOURCEENVIRONMENT">source environment (G)</term>
                <listitem><para>This parameter causes Samba to set environment 
                variables as per the content of the file named.</para>
 
@@ -7326,23 +7298,17 @@ let "time++"
                /usr/local/smb_env_vars</command></para>
                </listitem>
                </varlistentry>
+<varlistentry>
+<term><anchor id="SPNEGO">use spnego (G)</term>
+<listitem><para> This variable controls controls whether samba will try to use Simple and Protected NEGOciation (as specified by rfc2478) with WindowsXP and Windows2000sp2 clients to agree upon an authentication mechanism.  As of samba 3.0alpha it must be set to "no" for these clients to join a samba domain controller.  It can be set to "yes" to allow samba to participate in an AD domain controlled by a Windows2000 domain controller.</para>
+<para>Default:  <emphasis>use spnego = yes</emphasis></para>
+</listitem>
+</varlistentry>
 
                <varlistentry>
-               <term><anchor id="SPNEGO"/>use spnego (G)</term>
-               <listitem><para> This variable controls controls whether samba will try 
-               to use Simple and Protected NEGOciation (as specified by rfc2478) with 
-               WindowsXP and Windows2000sp2 clients to agree upon an authentication mechanism. 
-               Unless further issues are discovered with our SPNEGO
-               implementation, there is no reason this should ever be
-               disabled.</para>
-               <para>Default:  <emphasis>use spnego = yes</emphasis></para>
-               </listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term><anchor id="STATCACHE"/>stat cache (G)</term>
-               <listitem><para>This parameter determines if <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will use a cache in order to 
+               <term><anchor id="STATCACHE">stat cache (G)</term>
+               <listitem><para>This parameter determines if <ulink 
+               url="smbd.8.html">smbd(8)</ulink> will use a cache in order to 
                speed up case insensitive name mappings. You should never need 
                to change this parameter.</para>
 
@@ -7351,7 +7317,7 @@ let "time++"
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="STATCACHESIZE"/>stat cache size (G)</term>
+               <term><anchor id="STATCACHESIZE">stat cache size (G)</term>
                <listitem><para>This parameter determines the number of 
                entries in the <parameter>stat cache</parameter>.  You should 
                never need to change this parameter.</para>
@@ -7363,7 +7329,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="STRICTALLOCATE"/>strict allocate (S)</term>
+               <term><anchor id="STRICTALLOCATE">strict allocate (S)</term>
                <listitem><para>This is a boolean that controls the handling of 
                disk space allocation in the server. When this is set to <constant>yes</constant> 
                the server will change from UNIX behaviour of not committing real
@@ -7387,7 +7353,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="STRICTLOCKING"/>strict locking (S)</term>
+               <term><anchor id="STRICTLOCKING">strict locking (S)</term>
                <listitem><para>This is a boolean that controls the handling of 
                file locking in the server. When this is set to <constant>yes</constant> 
                the server will check every read and write access for file locks, and 
@@ -7407,7 +7373,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="STRICTSYNC"/>strict sync (S)</term>
+               <term><anchor id="STRICTSYNC">strict sync (S)</term>
                <listitem><para>Many Windows applications (including the Windows 
                98 explorer shell) seem to confuse flushing buffer contents to 
                disk with doing a sync to disk. Under UNIX, a sync call forces 
@@ -7415,8 +7381,7 @@ let "time++"
                all outstanding data in kernel disk buffers has been safely stored 
                onto stable storage. This is very slow and should only be done 
                rarely. Setting this parameter to <constant>no</constant> (the 
-               default) means that <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> ignores the Windows applications requests for
+               default) means that <ulink url="smbd.8.html">smbd</ulink> ignores the Windows applications requests for
                a sync call. There is only a possibility of losing data if the
                operating system itself that Samba is running on crashes, so there is
                little danger in this default setting. In addition, this fixes many
@@ -7432,7 +7397,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="STRIPDOT"/>strip dot (G)</term>
+               <term><anchor id="STRIPDOT">strip dot (G)</term>
                <listitem><para>This is a boolean that controls whether to 
                strip trailing dots off UNIX filenames. This helps with some 
                CDROMs that have filenames ending in a single dot.</para>
@@ -7444,7 +7409,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SYNCALWAYS"/>sync always (S)</term>
+               <term><anchor id="SYNCALWAYS">sync always (S)</term>
                <listitem><para>This is a boolean parameter that controls 
                whether writes will always be written to stable storage before 
                the write call returns. If this is <constant>no</constant> then the server will be 
@@ -7466,7 +7431,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SYSLOG"/>syslog (G)</term>
+               <term><anchor id="SYSLOG">syslog (G)</term>
                <listitem><para>This parameter maps how Samba debug messages 
                are logged onto the system syslog logging levels. Samba debug 
                level zero maps onto syslog <constant>LOG_ERR</constant>, debug 
@@ -7486,7 +7451,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="SYSLOGONLY"/>syslog only (G)</term>
+               <term><anchor id="SYSLOGONLY">syslog only (G)</term>
                <listitem><para>If this parameter is set then Samba debug 
                messages are logged into the system syslog only, and not to 
                the debug log files.</para>
@@ -7498,7 +7463,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TEMPLATEHOMEDIR"/>template homedir (G)</term>
+               <term><anchor id="TEMPLATEHOMEDIR">template homedir (G)</term>
                <listitem><para>When filling out the user information for a Windows NT 
                user, the <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon 
                uses this parameter to fill in the home directory for that user.  
@@ -7514,10 +7479,9 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TEMPLATESHELL"/>template shell (G)</term>
+               <term><anchor id="TEMPLATESHELL">template shell (G)</term>
                <listitem><para>When filling out the user information for a Windows NT 
-               user, the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon 
+               user, the <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon 
                uses this parameter to fill in the login shell for that user.</para>
 
                <para>Default: <command>template shell = /bin/false</command></para>
@@ -7527,7 +7491,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TIMEOFFSET"/>time offset (G)</term>
+               <term><anchor id="TIMEOFFSET">time offset (G)</term>
                <listitem><para>This parameter is a setting in minutes to add 
                to the normal GMT to local time conversion. This is useful if 
                you are serving a lot of PCs that have incorrect daylight 
@@ -7541,9 +7505,9 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TIMESERVER"/>time server (G)</term>
-               <listitem><para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> advertises itself as a time server to Windows 
+               <term><anchor id="TIMESERVER">time server (G)</term>
+               <listitem><para>This parameter determines if <ulink url="nmbd.8.html">                  
+               nmbd(8)</ulink> advertises itself as a time server to Windows 
                clients.</para>
 
                <para>Default: <command>time server = no</command></para>
@@ -7552,7 +7516,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TIMESTAMPLOGS"/>timestamp logs (G)</term>
+               <term><anchor id="TIMESTAMPLOGS">timestamp logs (G)</term>
                <listitem><para>Synonym for <link linkend="DEBUGTIMESTAMP"><parameter>
                debug timestamp</parameter></link>.</para>
                </listitem>
@@ -7563,17 +7527,16 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="TOTALPRINTJOBS"/>total print jobs (G)</term>
+               <term><anchor id="TOTALPRINTJOBS">total print jobs (G)</term>
                <listitem><para>This parameter accepts an integer value which defines
                a limit on the maximum number of print jobs that will be accepted 
                system wide at any given time.  If a print job is submitted
-               by a client which will exceed this number, then <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> will return an 
+               by a client which will exceed this number, then <ulink url="smbd.8.html">smbd</ulink> will return an 
                error indicating that no space is available on the server.  The 
                default value of 0 means that no such limit exists.  This parameter
                can be used to prevent a server from exceeding its capacity and is
                designed as a printing throttle.  See also 
-               <link linkend="MAXPRINTJOBS"><parameter>max print jobs</parameter></link>.
+               <link linkend="MAXPRINTJOBS"><parameter>max print jobs</parameter</link>.
                </para>
                
                <para>Default: <command>total print jobs = 0</command></para>
@@ -7582,7 +7545,7 @@ let "time++"
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="UNICODE"/>unicode (G)</term>
+               <term><anchor id="UNICODE">unicode (G)</term>
                <listitem><para>Specifies whether Samba should try 
                to use unicode on the wire by default. Note: This does NOT
                mean that samba will assume that the unix machine uses unicode!
@@ -7594,19 +7557,19 @@ let "time++"
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="UNIXCHARSET"/>unix charset (G)</term>
+               <term><anchor id="UNIXCHARSET">unix charset (G)</term>
                <listitem><para>Specifies the charset the unix machine 
                Samba runs on uses. Samba needs to know this in order to be able to 
                convert text to the charsets other SMB clients use.
                </para>
 
-               <para>Default: <command>unix charset = UTF8</command></para>
-               <para>Example: <command>unix charset = ASCII</command></para>
+               <para>Default: <command>unix charset = ASCII</command></para>
+               <para>Example: <command>unix charset = UTF8</command></para>
                </listitem>
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="UNIXEXTENSIONS"/>unix extensions(G)</term>
+               <term><anchor id="UNIXEXTENSIONS">unix extensions(G)</term>
                <listitem><para>This boolean parameter controls whether Samba 
                implments the CIFS UNIX extensions, as defined by HP. 
                These extensions enable Samba to better serve UNIX CIFS clients
@@ -7622,7 +7585,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="UNIXPASSWORDSYNC"/>unix password sync (G)</term>
+               <term><anchor id="UNIXPASSWORDSYNC">unix password sync (G)</term>
                <listitem><para>This boolean parameter controls whether Samba 
                attempts to synchronize the UNIX password with the SMB password 
                when the encrypted SMB password in the smbpasswd file is changed. 
@@ -7643,7 +7606,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="UPDATEENCRYPTED"/>update encrypted (G)</term>
+               <term><anchor id="UPDATEENCRYPTED">update encrypted (G)</term>
                <listitem><para>This boolean parameter allows a user logging 
                on with a plaintext password to have their encrypted (hashed) 
                password in the smbpasswd file to be updated automatically as 
@@ -7674,7 +7637,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USECLIENTDRIVER"/>use client driver (S)</term>
+               <term><anchor id="USECLIENTDRIVER">use client driver (S)</term>
                <listitem><para>This parameter applies only to Windows NT/2000
                clients.  It has no affect on Windows 95/98/ME clients.  When 
                serving a printer to Windows NT/2000 clients without first installing
@@ -7712,7 +7675,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USEMMAP"/>use mmap (G)</term>
+               <term><anchor id="USEMMAP">use mmap (G)</term>
                <listitem><para>This global parameter determines if the tdb internals of Samba can
                depend on mmap working correctly on the running system. Samba requires a coherent
                mmap/read-write system memory cache. Currently only HPUX does not have such a
@@ -7730,7 +7693,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USERHOSTS"/>use rhosts (G)</term>
+               <term><anchor id="USERHOSTS">use rhosts (G)</term>
                <listitem><para>If this global parameter is <constant>yes</constant>, it specifies 
                that the UNIX user's <filename>.rhosts</filename> file in their home directory 
                will be read to find the names of hosts and users who will be allowed 
@@ -7750,7 +7713,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USER"/>user (S)</term>
+               <term><anchor id="USER">user (S)</term>
                <listitem><para>Synonym for <link linkend="USERNAME"><parameter>
                username</parameter></link>.</para>
                </listitem>
@@ -7759,7 +7722,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USERS"/>users (S)</term>
+               <term><anchor id="USERS">users (S)</term>
                <listitem><para>Synonym for <link linkend="USERNAME"><parameter>
                username</parameter></link>.</para>
                </listitem>
@@ -7767,7 +7730,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USERNAME"/>username (S)</term>
+               <term><anchor id="USERNAME">username (S)</term>
                <listitem><para>Multiple users may be specified in a comma-delimited 
                list, in which case the supplied password will be tested against 
                each username in turn (left to right).</para>
@@ -7808,7 +7771,7 @@ let "time++"
                will be looked up only in the UNIX groups database and will 
                expand to a list of all users in the group of that name.</para>
 
-               <para>If any of the usernames begin with a '&amp;' then the name 
+               <para>If any of the usernames begin with a '&'then the name 
                will be looked up only in the NIS netgroups database (if Samba 
                is compiled with netgroup support) and will expand to a list 
                of all users in the netgroup group of that name.</para>
@@ -7832,7 +7795,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USERNAMELEVEL"/>username level (G)</term>
+               <term><anchor id="USERNAMELEVEL">username level (G)</term>
                <listitem><para>This option helps Samba to try and 'guess' at 
                the real UNIX username, as many DOS clients send an all-uppercase 
                username. By default Samba tries all lowercase, followed by the 
@@ -7855,7 +7818,7 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USERNAMEMAP"/>username map (G)</term>
+               <term><anchor id="USERNAMEMAP">username map (G)</term>
                <listitem><para>This option allows you to specify a file containing 
                a mapping of usernames from the clients to the server. This can be 
                used for several purposes. The most common is to map usernames 
@@ -7918,10 +7881,10 @@ let "time++"
                '!' to tell Samba to stop processing if it gets a match on
                that line.</para>
 
-<para><programlisting>
-!sys = mary fred
-guest = *
-</programlisting></para>
+               <para><programlisting>
+               !sys = mary fred
+               guest = *
+               </programlisting></para>
 
                <para>Note that the remapping is applied to all occurrences
                of usernames. Thus if you connect to \\server\fred and <constant>
@@ -7947,7 +7910,7 @@ guest = *
 
                
                <varlistentry>
-               <term><anchor id="USESENDFILE"/>use sendfile (S)</term>
+               <term><anchor id="USESENDFILE">use sendfile (S)</term>
                <listitem><para>If this parameter is <constant>yes</constant>, and Samba
                was built with the --with-sendfile-support option, and the underlying operating
                system supports sendfile system call, then some SMB read calls (mainly ReadAndX
@@ -7964,7 +7927,7 @@ guest = *
 
 
                <varlistentry>
-               <term><anchor id="UTMP"/>utmp (G)</term>
+               <term><anchor id="UTMP">utmp (G)</term>
                <listitem><para>This boolean parameter is only available if
                Samba has been configured and compiled  with the option <command>
                --with-utmp</command>. If set to <constant>yes</constant> then Samba will attempt
@@ -7986,7 +7949,7 @@ guest = *
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="UTMPDIRECTORY"/>utmp directory(G)</term>
+               <term><anchor id="UTMPDIRECTORY">utmp directory(G)</term>
                <listitem><para>This parameter is only available if Samba has 
                been configured and compiled with the option <command>
                --with-utmp</command>. It specifies a directory pathname that is
@@ -8003,7 +7966,7 @@ guest = *
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="WTMPDIRECTORY"/>wtmp directory(G)</term>
+               <term><anchor id="WTMPDIRECTORY">wtmp directory(G)</term>
                <listitem><para>This parameter is only available if Samba has 
                been configured and compiled with the option <command>
                --with-utmp</command>. It specifies a directory pathname that is
@@ -8025,9 +7988,9 @@ guest = *
 
 
                <varlistentry>
-               <term><anchor id="VALIDUSERS"/>valid users (S)</term>
+               <term><anchor id="VALIDUSERS">valid users (S)</term>
                <listitem><para>This is a list of users that should be allowed 
-               to login to this service. Names starting with '@', '+' and  '&amp;'
+               to login to this service. Names starting with '@', '+' and  '&'
                are interpreted using the same rules as described in the 
                <parameter>invalid users</parameter> parameter.</para>
 
@@ -8052,7 +8015,7 @@ guest = *
 
 
                <varlistentry>
-               <term><anchor id="VETOFILES"/>veto files(S)</term>
+               <term><anchor id="VETOFILES">veto files(S)</term>
                <listitem><para>This is a list of files and directories that 
                are neither visible nor accessible.  Each entry in the list must 
                be separated by a '/', which allows spaces to be included 
@@ -8100,7 +8063,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="VETOOPLOCKFILES"/>veto oplock files (S)</term>
+               <term><anchor id="VETOOPLOCKFILES">veto oplock files (S)</term>
                <listitem><para>This parameter is only valid when the <link
                linkend="OPLOCKS"><parameter>oplocks</parameter></link>
                parameter is turned on for a share. It allows the Samba administrator
@@ -8126,7 +8089,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="VFSPATH"/>vfs path (S)</term>
+               <term><anchor id="VFSPATH">vfs path (S)</term>
                <listitem><para>This parameter specifies the directory
                to look in for vfs modules. The name of every <command>vfs object
                </command> will be prepended by this directory
@@ -8139,7 +8102,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
                </varlistentry>
 
                <varlistentry>
-               <term><anchor id="VFSOBJECT"/>vfs object (S)</term>
+               <term><anchor id="VFSOBJECT">vfs object (S)</term>
                <listitem><para>This parameter specifies a shared object files that 
                are used for Samba VFS I/O operations.  By default, normal 
                disk I/O operations are used but these can be overloaded 
@@ -8153,7 +8116,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="VFSOPTIONS"/>vfs options (S)</term>
+               <term><anchor id="VFSOPTIONS">vfs options (S)</term>
                <listitem><para>This parameter allows parameters to be passed 
                to the vfs layer at initialization time. 
                See also <link linkend="VFSOBJECT"><parameter>
@@ -8166,7 +8129,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="VOLUME"/>volume (S)</term>
+               <term><anchor id="VOLUME">volume (S)</term>
                <listitem><para> This allows you to override the volume label 
                returned for a share. Useful for CDROMs with installation programs 
                that insist on a particular volume label.</para>
@@ -8178,7 +8141,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WIDELINKS"/>wide links (S)</term>
+               <term><anchor id="WIDELINKS">wide links (S)</term>
                <listitem><para>This parameter controls whether or not links 
                in the UNIX file system may be followed by the server. Links 
                that point to areas within the directory tree exported by the 
@@ -8197,10 +8160,9 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINBINDCACHETIME"/>winbind cache time (G)</term>
-               <listitem><para>This parameter specifies the number of 
-               seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon will cache 
+               <term><anchor id="WINBINDCACHETIME">winbind cache time (G)</term>
+               <listitem><para>This parameter specifies the number of seconds the
+               <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon will cache 
                user and group information before querying a Windows NT server 
                again.</para>
 
@@ -8210,10 +8172,11 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINBINDENUMUSERS"/>winbind enum users (G)</term> 
-               <listitem><para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> it may be
-               necessary to suppress the enumeration of users through the <command>setpwent()</command>,
+               <term><anchor id="WINBINDENUMUSERS">winbind enum users (G)</term> 
+               <listitem><para>On large installations using
+               <ulink url="winbindd.8.html">winbindd(8)</ulink> it may be
+               necessary to suppress the enumeration of users through the
+               <command> setpwent()</command>,
                <command>getpwent()</command> and
                <command>endpwent()</command> group of system calls.  If
                the <parameter>winbind enum users</parameter> parameter is
@@ -8231,10 +8194,11 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
                </varlistentry>
                
                <varlistentry>
-               <term><anchor id="WINBINDENUMGROUPS"/>winbind enum groups (G)</term> 
-               <listitem><para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> it may be necessary to suppress 
-               the enumeration of groups through the <command>setgrent()</command>,
+               <term><anchor id="WINBINDENUMGROUPS">winbind enum groups (G)</term> 
+               <listitem><para>On large installations using
+               <ulink url="winbindd.8.html">winbindd(8)</ulink> it may be
+               necessary to suppress the enumeration of groups through the
+               <command> setgrent()</command>,
                <command>getgrent()</command> and
                <command>endgrent()</command> group of system calls.  If
                the <parameter>winbind enum groups</parameter> parameter is
@@ -8251,10 +8215,10 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
        
                <varlistentry>
-               <term><anchor id="WINBINDGID"/>winbind gid (G)</term>
+               <term><anchor id="WINBINDGID">winbind gid (G)</term>
                <listitem><para>The winbind gid parameter specifies the range of group 
-               ids that are allocated by the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon.  This range of group ids should have no 
+               ids that are allocated by the <ulink url="winbindd.8.html">
+               winbindd(8)</ulink> daemon.  This range of group ids should have no 
                existing local or NIS groups within it as strange conflicts can 
                occur otherwise.</para>
 
@@ -8267,7 +8231,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINBINDSEPARATOR"/>winbind separator (G)</term>
+               <term><anchor id="WINBINDSEPARATOR">winbind separator (G)</term>
                <listitem><para>This parameter allows an admin to define the character 
                used when listing a username of the form of <replaceable>DOMAIN
                </replaceable>\<replaceable>user</replaceable>.  This parameter 
@@ -8288,10 +8252,10 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINBINDUID"/>winbind uid (G)</term>
+               <term><anchor id="WINBINDUID">winbind uid (G)</term>
                <listitem><para>The winbind gid parameter specifies the range of group 
-               ids that are allocated by the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon.  This range of ids should have no 
+               ids that are allocated by the <ulink url="winbindd.8.html">
+               winbindd(8)</ulink> daemon.  This range of ids should have no 
                existing local or NIS users within it as strange conflicts can 
                occur otherwise.</para>
 
@@ -8304,10 +8268,12 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINBINDUSEDEFAULTDOMAIN"/>winbind use default domain (G)</term>
-               <listitem><para>This parameter specifies whether the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon should operate on users 
-               without domain component in their username.  
+               <term>winbind use default domain</term>
+               
+               <term><anchor id="WINBINDUSEDEFAULTDOMAIN">winbind use default domain (G)</term>
+               <listitem><para>This parameter specifies whether the <ulink url="winbindd.8.html">
+               winbindd(8)</ulink>
+               daemon should operate on users without domain component in their username.  
                 Users without a domain component are treated as is part of the winbindd server's 
                 own domain.  While this does not benifit Windows users, it makes SSH, FTP and e-mail 
                 function in a way much closer to the way they would in a native unix system.</para>
@@ -8320,7 +8286,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINSHOOK"/>wins hook (G)</term>
+               <term><anchor id="WINSHOOK">wins hook (G)</term>
                <listitem><para>When Samba is running as a WINS server this 
                allows you to call an external program for all changes to the 
                WINS database. The primary use for this option is to allow the 
@@ -8368,7 +8334,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINSPROXY"/>wins proxy (G)</term>
+               <term><anchor id="WINSPROXY">wins proxy (G)</term>
                <listitem><para>This is a boolean that controls if <ulink 
                url="nmbd.8.html">nmbd(8)</ulink> will respond to broadcast name 
                queries on behalf of  other hosts. You may need to set this 
@@ -8382,10 +8348,10 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINSSERVER"/>wins server (G)</term>
+               <term><anchor id="WINSSERVER">wins server (G)</term>
                <listitem><para>This specifies the IP address (or DNS name: IP 
-               address for preference) of the WINS server that <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> should register with. If you have a WINS server on 
+               address for preference) of the WINS server that <ulink url="nmbd.8.html">
+               nmbd(8)</ulink> should register with. If you have a WINS server on 
                your network then you should set this to the WINS server's IP.</para>
 
                <para>You should point this at your WINS server if you have a
@@ -8395,7 +8361,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
                to a WINS server if you have multiple subnets and wish cross-subnet 
                browsing to work correctly.</para>
 
-               <para>See the documentation file <ulink url="improved-browsing.html">BROWSING</ulink
+               <para>See the documentation file <filename>BROWSING.txt</filename
                in the docs/ directory of your Samba source distribution.</para>
 
                <para>Default: <emphasis>not enabled</emphasis></para>
@@ -8406,9 +8372,9 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINSSUPPORT"/>wins support (G)</term>
-               <listitem><para>This boolean controls if the <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> process in Samba will act as a WINS server. You should 
+               <term><anchor id="WINSSUPPORT">wins support (G)</term>
+               <listitem><para>This boolean controls if the <ulink url="nmbd.8.html">          
+               nmbd(8)</ulink> process in Samba will act as a WINS server. You should 
                not set this to <constant>yes</constant> unless you have a multi-subnetted network and 
                you wish a particular <command>nmbd</command> to be your WINS server. 
                Note that you should <emphasis>NEVER</emphasis> set this to <constant>yes</constant>
@@ -8421,7 +8387,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WORKGROUP"/>workgroup (G)</term>
+               <term><anchor id="WORKGROUP">workgroup (G)</term>
                <listitem><para>This controls what workgroup your server will 
                appear to be in when queried by clients. Note that this parameter 
                also controls the Domain name used with the <link 
@@ -8437,7 +8403,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITABLE"/>writable (S)</term>
+               <term><anchor id="WRITABLE">writable (S)</term>
                <listitem><para>Synonym for <link linkend="WRITEABLE"><parameter>
                writeable</parameter></link> for people who can't spell :-).</para>
                </listitem>
@@ -8446,7 +8412,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITECACHESIZE"/>write cache size (S)</term>
+               <term><anchor id="WRITECACHESIZE">write cache size (S)</term>
                <listitem><para>If this integer parameter is set to non-zero value,
                Samba will create an in-memory cache for each oplocked file 
                (it does <emphasis>not</emphasis> do this for 
@@ -8478,7 +8444,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITELIST"/>write list (S)</term>
+               <term><anchor id="WRITELIST">write list (S)</term>
                <listitem><para>This is a list of users that are given read-write 
                access to a service. If the connecting user is in this list then 
                they will be given write access, no matter what the <link
@@ -8503,7 +8469,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WINSPARTNERS"/>wins partners (G)</term>
+               <term><anchor id="WINSPARTNERS">wins partners (G)</term>
                <listitem><para>A space separated list of partners' IP addresses for 
                WINS replication. WINS partners are always defined as push/pull 
                partners as defining only one way WINS replication is unreliable. 
@@ -8519,7 +8485,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITEOK"/>write ok (S)</term>
+               <term><anchor id="WRITEOK">write ok (S)</term>
                <listitem><para>Inverted synonym for <link linkend="READONLY"><parameter>
                read only</parameter></link>.</para>
                </listitem>
@@ -8528,7 +8494,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITERAW"/>write raw (G)</term>
+               <term><anchor id="WRITERAW">write raw (G)</term>
                <listitem><para>This parameter controls whether or not the server 
                will support raw write SMB's when transferring data from clients. 
                You should never need to change this parameter.</para>
@@ -8540,7 +8506,7 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 
 
                <varlistentry>
-               <term><anchor id="WRITEABLE"/>writeable (S)</term>
+               <term><anchor id="WRITEABLE">writeable (S)</term>
                <listitem><para>Inverted synonym for <link linkend="READONLY"><parameter>
                read only</parameter></link>.</para>
                </listitem>
@@ -8560,8 +8526,8 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
        problem - but be aware of the possibility.</para>
 
        <para>On a similar note, many clients - especially DOS clients - 
-       limit service names to eight characters. <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> has no such limitation, but attempts to connect from such 
+       limit service names to eight characters. <ulink url="smbd.8.html">smbd(8)
+       </ulink> has no such limitation, but attempts to connect from such 
        clients will fail if they truncate the service names.  For this reason 
        you should probably keep your service names down to eight characters 
        in length.</para>
@@ -8576,22 +8542,22 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of the Samba suite.</para>
+       <para>This man page is correct for version 3.0 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para>
-       <citerefentry><refentrytitle>samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>swat</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmblookup</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testprns</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>.</para>
+       <para><ulink url="samba.7.html">samba(7)</ulink>,
+       <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink>,
+       <ulink url="swat.8.html"><command>swat(8)</command></ulink>,
+       <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
+       <ulink url="smbclient.1.html"><command>smbclient(1)</command></ulink>, 
+       <ulink url="nmblookup.1.html"><command>nmblookup(1)</command></ulink>,
+       <ulink url="testparm.1.html"><command>testparm(1)</command></ulink>, 
+       <ulink url="testprns.1.html"><command>testprns(1)</command></ulink>
+       </para>
 </refsect1>
 
 <refsect1>
@@ -8604,11 +8570,11 @@ veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 5e0e6c80e9c7c666a77030021895d4ae6c2f2ca9..766d2a78b112e3539f8a1c86332f4198d7f7c099 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbcacls.1">
+<refentry id="smbcacls">
 
 <refmeta>
        <refentrytitle>smbcacls</refentrytitle>
@@ -32,8 +32,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
        
        <para>The <command>smbcacls</command> program manipulates NT Access Control
        Lists (ACLs) on SMB file shares. </para>
@@ -90,8 +90,7 @@
                <listitem><para>Specifies a username used to connect to the 
                specified service.  The username may be of the form "username" in 
                which case the user is prompted to enter in a password and the 
-               workgroup specified in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file is 
+               workgroup specified in the <filename>smb.conf</filename> file is 
                used, or "username%password"  or "DOMAIN\username%password" and the 
                password and workgroup names are used as provided. </para></listitem>
                </varlistentry>
        <para>The format of an ACL is one or more ACL entries separated by 
        either commas or newlines.  An ACL entry is one of the following: </para>
 
-<para><programlisting> 
+       <para><programlisting> 
 REVISION:&lt;revision number&gt;
 OWNER:&lt;sid or name&gt;
 GROUP:&lt;sid or name&gt;
 ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
-</programlisting></para>
+       </programlisting></para>
   
 
        <para>The revision of the ACL specifies the internal Windows 
@@ -166,22 +165,24 @@ ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
        otherwise the name specified is resolved using the server on which 
        the file or directory resides. </para>
 
-       <para>ACLs specify permissions granted to the SID.  This SID again 
-       can be specified in CWS-1-x-y-z format or as a name in which case 
-       it is resolved against the server on which the file or directory 
-       resides.  The type, flags and mask values determine the type of 
-       access granted to the SID. </para>
-
-       <para>The type can be either 0 or 1 corresponding to ALLOWED or 
-       DENIED access to the SID.  The flags values are generally
-       zero for file ACLs and either 9 or 2 for directory ACLs.  Some 
-       common flags are: </para>
-
-       <itemizedlist> 
-               <listitem><para><constant>#define SEC_ACE_FLAG_OBJECT_INHERIT           0x1</constant></para></listitem>
-               <listitem><para><constant>#define SEC_ACE_FLAG_CONTAINER_INHERIT        0x2</constant></para></listitem>
-               <listitem><para><constant>#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT     0x4</constant></para></listitem>
-               <listitem><para><constant>#define SEC_ACE_FLAG_INHERIT_ONLY             0x8</constant></para></listitem>
+               <para>ACLs specify permissions granted to the SID.  This SID again 
+               can be specified in CWS-1-x-y-z format or as a name in which case 
+               it is resolved against the server on which the file or directory 
+               resides.  The type, flags and mask values determine the type of 
+               access granted to the SID. </para>
+
+               <para>The type can be either 0 or 1 corresponding to ALLOWED or 
+               DENIED access to the SID.  The flags values are generally
+               zero for file ACLs and either 9 or 2 for directory ACLs.  Some 
+               common flags are: </para>
+
+               <itemizedlist> 
+                       <listitem><para>#define SEC_ACE_FLAG_OBJECT_INHERIT             0x1</para></listitem>
+                       <listitem><para>#define SEC_ACE_FLAG_CONTAINER_INHERIT          0x2</para></listitem>
+                       <listitem><para>#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT       0x4
+                       </para></listitem>
+                       <listitem><para>#define SEC_ACE_FLAG_INHERIT_ONLY               0x8</para>
+                       </listitem>
        </itemizedlist>
   
        <para>At present flags can only be specified as decimal or 
@@ -232,7 +233,8 @@ ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 2.2 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
@@ -247,8 +249,7 @@ ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
        and Tim Potter.</para>
        
        <para>The conversion to DocBook for Samba 2.2 was done 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done
-       by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 7e908e5d702af9f2d765cff9b1d535675adf794c..43994a4529f399a56d3c02dc17774d2c8106809a 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbclient.1">
+<refentry id="smbclient">
 
 <refmeta>
        <refentrytitle>smbclient</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>smbclient</command> is a client that can 
        'talk' to an SMB/CIFS server. It offers an interface
-       similar to that of the ftp program (see <citerefentry><refentrytitle>ftp</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>).  
+       similar to that of the ftp program (see <command>ftp(1)</command>).  
        Operations include things like getting files from the server 
        to the local machine, putting files from the local machine to 
        the server, retrieving directory information from the server 
@@ -82,9 +81,7 @@
 
                <para>The server name is looked up according to either 
                the <parameter>-R</parameter> parameter to <command>smbclient</command> or 
-               using the name resolve order parameter in 
-               the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file, 
+               using the name resolve order parameter in the <filename>smb.conf</filename> file, 
                allowing an administrator to change the order and methods 
                by which server names are looked up. </para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term>-s smb.conf</term>
-               <listitem><para>Specifies the location of the all 
-               important <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file. </para></listitem>
+               <listitem><para>Specifies the location of the all important 
+               <filename>smb.conf</filename> file. </para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term>-O socket options</term>
                <listitem><para>TCP socket options to set on the client 
-               socket. See the socket options parameter in 
-               the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> manual page for the list of valid 
+               socket. See the socket options parameter in the <filename>
+               smb.conf (5)</filename> manpage for the list of valid 
                options. </para></listitem>
                </varlistentry>
 
                string of different name resolution options.</para>
 
                <para>The options are :"lmhosts", "host", "wins" and "bcast". They 
-               cause names to be resolved as follows:</para>
+               cause names to be resolved as follows :</para>
 
                <itemizedlist>
-                       <listitem><para><constant>lmhosts</constant>: Lookup an IP 
+                       <listitem><para><constant>lmhosts</constant> : Lookup an IP 
                        address in the Samba lmhosts file. If the line in lmhosts has 
-                       no name type attached to the NetBIOS name (see 
-                       the <citerefentry><refentrytitle>lmhosts</refentrytitle>
-                       <manvolnum>5</manvolnum></citerefentry> for details) then
-                       any name type matches for lookup.</para>
-                       </listitem>
-                       
-                       <listitem><para><constant>host</constant>: Do a standard host 
+                       no name type attached to the NetBIOS name (see the <ulink 
+                       url="lmhosts.5.html">lmhosts(5)</ulink> for details) then
+                       any name type matches for lookup.</para></listitem>
+
+                       <listitem><para><constant>host</constant> : Do a standard host 
                        name to IP address resolution, using the system <filename>/etc/hosts
                        </filename>, NIS, or DNS lookups. This method of name resolution 
                        is operating system dependent, for instance on IRIX or Solaris this 
                        may be controlled by the <filename>/etc/nsswitch.conf</filename> 
                        file).  Note that this method is only used if the NetBIOS name 
                        type being queried is the 0x20 (server) name type, otherwise 
-                       it is ignored.</para>
-                       </listitem>
-                       
-                       <listitem><para><constant>wins</constant>: Query a name with 
+                       it is ignored.</para></listitem>
+
+                       <listitem><para><constant>wins</constant> : Query a name with 
                        the IP address listed in the <parameter>wins server</parameter>
                        parameter.  If no WINS server has
-                       been specified this method will be ignored.</para>
-                       </listitem>
-                       
-                       <listitem><para><constant>bcast</constant>: Do a broadcast on 
+                       been specified this method will be ignored.</para></listitem>
+
+                       <listitem><para><constant>bcast</constant> : Do a broadcast on 
                        each of the known local interfaces listed in the 
                        <parameter>interfaces</parameter>
                        parameter. This is the least reliable of the name resolution 
                        methods as it depends on the target host being on a locally 
-                       connected subnet.</para>
-                       </listitem>
+                       connected subnet.</para></listitem>
                </itemizedlist>
 
                <para>If this parameter is not set then the name resolve order 
-               defined in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file parameter  
+               defined in the <filename>smb.conf</filename> file parameter  
                (name resolve order) will be used. </para>
 
                <para>The default order is lmhosts, host, wins, bcast and without 
                this parameter or any entry in the <parameter>name resolve order
-               </parameter> parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file the name resolution
+               </parameter> parameter of the <filename>smb.conf</filename> file the name resolution
                methods will be attempted in this order. </para></listitem>
                </varlistentry>
                
                <parameter>-I</parameter> options useful, as they allow you to 
                control the FROM and TO parts of the message. </para>
 
-               <para>See the <parameter>message command</parameter> parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for a description of how to handle incoming 
+               <para>See the message command parameter in the <filename>
+               smb.conf(5)</filename> for a description of how to handle incoming 
                WinPopup messages in Samba. </para>
 
                <para><emphasis>Note</emphasis>: Copy WinPopup into the startup group 
                password used in the connection.  The format of the file is 
                </para>
                
-<para><programlisting>
+               <para><programlisting>
 username = &lt;value&gt; 
 password = &lt;value&gt;
 domain = &lt;value&gt;
-</programlisting></para>
+               </programlisting></para>
        
 
                <para>If the domain parameter is missing the current workgroup name
@@ -447,9 +435,9 @@ domain = &lt;value&gt;
                <varlistentry>
                <term>-W WORKGROUP</term>
                <listitem><para>Override the default workgroup (domain) specified
-               in the workgroup parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file for this connection. This may be 
-               needed to connect to some servers. </para></listitem>
+               in the workgroup parameter of the <filename>smb.conf</filename>
+               file for this connection. This may be needed to connect to some
+               servers. </para></listitem>
                </varlistentry>
                
                
@@ -531,7 +519,7 @@ domain = &lt;value&gt;
                        
                <para><emphasis>Tar Filenames</emphasis></para>
                        
-               <para>All file names can be given as DOS path names (with '\\
+               <para>All file names can be given as DOS path names (with '\' 
                as the component separator) or as UNIX path names (with '/' as 
                the component separator). </para>
                        
@@ -599,7 +587,7 @@ domain = &lt;value&gt;
 
        <para><prompt>smb:\&gt; </prompt></para>
 
-       <para>The backslash ("\\") indicates the current working directory 
+       <para>The backslash ("\") indicates the current working directory 
        on the server, and will change if the current working directory 
        is changed. </para>
 
@@ -1052,8 +1040,8 @@ domain = &lt;value&gt;
        and writeable only by the user. </para>
 
        <para>To test the client, you will need to know the name of a 
-       running SMB/CIFS server. It is possible to run <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> as an ordinary user - running that server as a daemon 
+       running SMB/CIFS server. It is possible to run <command>smbd(8)
+       </command> as an ordinary user - running that server as a daemon 
        on a user-accessible port (typically any port number over 1024)
        would provide a suitable test server. </para>
 </refsect1>
@@ -1075,7 +1063,8 @@ domain = &lt;value&gt;
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 2.2 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 
@@ -1089,11 +1078,11 @@ domain = &lt;value&gt;
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0
-       was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 6632e072693b442ef31ecf074fa3f0908c9ae65f..166ef63e87fe649c4fccb3c7ee5e005341a4bae2 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbcontrol.1">
+<refentry id="smbcontrol">
 
 <refmeta>
        <refentrytitle>smbcontrol</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>smbcontrol</command> is a very small program, which 
-       sends messages to a <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, a <citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, or a <citerefentry><refentrytitle>winbindd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> daemon running on the system.</para>
+       sends messages to an <ulink url="smbd.8.html">smbd(8)</ulink>, 
+       an <ulink url="nmbd.8.html">nmbd(8)</ulink>
+       or a <ulink url="winbindd.8.html">winbindd(8)</ulink> 
+       daemon running on the system.</para>
 </refsect1>
 
 
@@ -54,7 +54,8 @@
                
                <varlistentry>
                <term>destination</term>
-               <listitem><para>One of <parameter>nmbd</parameter>, <parameter>smbd</parameter> or a process ID.</para>
+               <listitem><para>One of <parameter>nmbd</parameter>
+               <parameter>smbd</parameter> or a process ID.</para>
 
                <para>The <parameter>smbd</parameter> destination causes the 
                message to "broadcast" to all smbd daemons.</para>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>.</para>
+       <para><ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
+       and <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>.
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
-       Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 32837ba903da4fc465ebb12f0ad84f779f417533..9fb80901be10411a5cec6300c520c8ac23c76a02 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbd.8">
+<refentry id="smbd">
 
 <refmeta>
        <refentrytitle>smbd</refentrytitle>
@@ -32,8 +32,7 @@
 
 <refsect1>
        <title>DESCRIPTION</title>
-       <para>This program is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This program is part of the Samba suite.</para>
 
        <para><command>smbd</command> is the server daemon that 
        provides filesharing and printing services to Windows clients. 
        <para>An extensive description of the services that the 
        server can provide is given in the man page for the 
        configuration file controlling the attributes of those 
-       services (see <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.  This man page will not describe the 
+       services (see <ulink url="smb.conf.5.html"><filename>smb.conf(5)
+       </filename></ulink>.  This man page will not describe the 
        services, but will concentrate on the administrative aspects 
        of running the server.</para>
 
        <para>Please note that there are significant security 
-       implications to running this server, and the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> manual page should be regarded as mandatory reading before 
+       implications to running this server, and the <ulink
+       url="smb.conf.5.html"><filename>smb.conf(5)</filename></ulink> 
+       manpage should be regarded as mandatory reading before 
        proceeding with installation.</para>
 
        <para>A session is created whenever a client requests one. 
                data, most of which is extremely cryptic.</para>
 
                <para>Note that specifying this parameter here will 
-               override the <ulink url="smb.conf.5.html#loglevel"><parameter>log
-               level</parameter></ulink> parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file.</para>
+               override the <ulink url="smb.conf.5.html#loglevel">log
+               level</ulink> parameter in the <ulink url="smb.conf.5.html">
+               <filename>smb.conf(5)</filename></ulink> file.</para>
                </listitem>
                </varlistentry>
                
                messages from the running server. The log 
                file generated is never removed by the server although 
                its size may be controlled by the <ulink 
-               url="smb.conf.5.html#maxlogsize"><parameter>max log size</parameter></ulink>
-               option in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file. <emphasis>Beware:</emphasis>
+               url="smb.conf.5.html#maxlogsize">max log size</ulink>
+               option in the <ulink url="smb.conf.5.html"><filename>
+               smb.conf(5)</filename></ulink> file. <emphasis>Beware:</emphasis>
                If the directory specified does not exist, <command>smbd</command>
                will log to the default debug log location defined at compile time.
                </para>
                <varlistentry>
                <term>-O &lt;socket options&gt;</term>
                <listitem><para>See the <ulink 
-               url="smb.conf.5.html#socketoptions"><parameter>socket options</parameter></ulink> 
-               parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file for details.</para></listitem>
+               url="smb.conf.5.html#socketoptions">socket options</ulink> 
+               parameter in the <ulink url="smb.conf.5.html"><filename>smb.conf(5)
+               </filename></ulink> file for details.</para></listitem>
                </varlistentry>
                
                <varlistentry>
                information in this file includes server-specific
                information such as what printcap file to use, as well 
                as descriptions of all the services that the server is 
-               to provide. See <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for more information.
+               to provide. See <ulink url="smb.conf.5.html"><filename>
+               smb.conf(5)</filename></ulink> for more information.
                The default configuration file name is determined at 
                compile time.</para></listitem>
                </varlistentry>
                <listitem><para>If the server is to be run by the 
                <command>inetd</command> meta-daemon, this file 
                must contain suitable startup information for the 
-               meta-daemon. See the <ulink url="install.html">"How to Install and Test SAMBA"</ulink>
+               meta-daemon. See the <ulink url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink>
                document for details.
                </para></listitem>
                </varlistentry>
 
                <para>If running the server as a daemon at startup, 
                this file will need to contain an appropriate startup 
-               sequence for the server. See the <ulink url="install.html">"How to Install and Test SAMBA"</ulink>
+               sequence for the server. See the <ulink url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink>
                document for details.</para></listitem>
                </varlistentry>
                
                meta-daemon <command>inetd</command>, this file 
                must contain a mapping of service name (e.g., netbios-ssn) 
                to service port (e.g., 139) and protocol type (e.g., tcp). 
-               See the <ulink url="install.html">"How to Install and Test SAMBA"</ulink>
+               See the <ulink url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink>
                document for details.</para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
-               <listitem><para>This is the default location of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> server configuration file. Other common places that systems 
+               <listitem><para>This is the default location of the 
+               <ulink url="smb.conf.5.html"><filename>smb.conf</filename></ulink>
+               server configuration file. Other common places that systems 
                install this file are <filename>/usr/samba/lib/smb.conf</filename> 
-               and <filename>/etc/samba/smb.conf</filename>.</para>
+               and <filename>/etc/smb.conf</filename>.</para>
                
                <para>This file describes all the services the server 
-               is to make available to clients. See <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for more information.</para>
+               is to make available to clients. See <ulink url="smb.conf.5.html">
+               <filename>smb.conf(5)</filename></ulink>  for more information.</para>
                </listitem>
                </varlistentry>
        </variablelist>
        <para>Samba uses PAM for authentication (when presented with a plaintext 
        password), for account checking (is this account disabled?) and for
        session management.  The degree too which samba supports PAM is restricted
-       by the limitations of the SMB protocol and the <ulink url="smb.conf.5.html#OBEYPAMRESRICTIONS"><parameter>obey 
-       pam restricions</parameter></ulink> <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> paramater.  When this is set, the following restrictions apply:
+       by the limitations of the SMB protocol and the 
+       <ulink url="smb.conf.5.html#OBEYPAMRESRICTIONS">obey pam restricions</ulink>
+       smb.conf paramater.  When this is set, the following restrictions apply:
        </para>
 
        <itemizedlist>
        it to die on its own.</para>
 
        <para>The debug log level of <command>smbd</command> may be raised
-       or lowered using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry> program (SIGUSR[1|2] signals are no longer 
-       used since Samba 2.2). This is to allow transient problems to be diagnosed, 
+       or lowered using <ulink url="smbcontrol.1.html"><command>smbcontrol(1)
+       </command></ulink> program (SIGUSR[1|2] signals are no longer used in
+       Samba 2.2). This is to allow transient problems to be diagnosed, 
        whilst still running at a normally low log level.</para>
 
        <para>Note that as the signal handlers send a debug write, 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>hosts_access</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>inetd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testprns</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry>, and the 
-       Internet RFC's  <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>. 
+       <para>hosts_access(5), <command>inetd(8)</command>, 
+       <ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
+       <ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename>
+       </ulink>, <ulink url="smbclient.1.html"><command>smbclient(1)
+       </command></ulink>, <ulink url="testparm.1.html"><command>
+       testparm(1)</command></ulink>, <ulink url="testprns.1.html">
+       <command>testprns(1)</command></ulink>, and the Internet RFC's
+       <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>. 
        In addition the CIFS (formerly SMB) specification is available 
        as a link from the Web page <ulink url="http://samba.org/cifs/"> 
        http://samba.org/cifs/</ulink>.</para>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
-       Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 6c489bb7855929f3cb2e4c8f5f740d97721a5f49..188218c249c965fc676f1d0c4792daba4ed77922 100644 (file)
@@ -1,11 +1,15 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbgroupedit.8">
+<refentry id="smbgroupedit">
 
 <refmeta>
        <refentrytitle>smbgroupedit</refentrytitle>
        <manvolnum>8</manvolnum>
 </refmeta>
 
+
+<!-- ****************************************************
+**              Name and Options                       **
+**************************************************** -->
 <refnamediv>
        <refname>smbgroupedit</refname>
        <refpurpose>Query/set/change UNIX - Windows NT group mapping</refpurpose>
 
 
 
+<!-- ****************************************************
+**                     Description                     **
+**************************************************** -->
 <refsect1>
 
 <title>DESCRIPTION</title>
 
 <para>
-This program is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-<manvolnum>7</manvolnum></citerefentry> suite.</para>
+This program is part of the <ulink url="samba.7.html">Samba</ulink>
+suite.
+</para>
 
 <para>
 The  smbgroupedit  command  allows for mapping unix groups
@@ -62,8 +70,8 @@ etc.
     Privilege      :
 </programlisting></para>
 
-<para>For example:
-<programlisting>
+<para>For examples,</para>
+<para><programlisting>
 Users
     SID       : S-1-5-32-545
     Unix group: -1
@@ -83,8 +91,9 @@ Users
 NTGroupName(SID) -> UnixGroupName
 </programlisting></para>
 
-<para>For example:
-<programlisting>
+<para>For example,</para>
+
+<para><programlisting>
 Users (S-1-5-32-545) -> -1
 </programlisting></para>
 
@@ -100,6 +109,8 @@ Users (S-1-5-32-545) -> -1
 
 
 
+<!-- ****************************************************
+**************************************************** -->
 <refsect1>
 <title>FILES</title>
 
@@ -109,6 +120,8 @@ Users (S-1-5-32-545) -> -1
 
 
 
+<!-- ****************************************************
+**************************************************** -->
 <refsect1>
 
 <title>EXIT STATUS</title>
@@ -150,45 +163,65 @@ the 'Domain Admins'  Global group:
        <para>domadm:x:502:joe,john,mary</para>
        </listitem>
 
-       <listitem><para>map this domadm group to the 'domain admins' group:</para>
+       <listitem><para>map this domadm group to the 'domain admins' group:
+       </para>
        <orderedlist>
-               <listitem><para>Get the SID for the Windows NT "Domain Admins" group:</para>
+               <listitem><para>Get the SID for the Windows NT "Domain Admins"
+               group:</para>
+
 <para><programlisting>
 <prompt>root# </prompt><command>smbgroupedit -vs | grep "Domain Admins"</command>
 Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -> -1
-</programlisting></para></listitem>
+</programlisting></para>
+</listitem>
 
                <listitem><para>map the unix domadm group to the Windows NT
                "Domain Admins" group, by running the command:
-<programlisting>
+               </para>
+
+<para><programlisting>
 <prompt>root# </prompt><command>smbgroupedit \
 -c S-1-5-21-1108995562-3116817432-1375597819-512 \
 -u domadm -td</command>
 </programlisting></para>
 
-               <para><emphasis>warning:</emphasis> don't copy and paste this sample, the
+               <para>
+               <emphasis>warning:</emphasis> don't copy and paste this sample, the
                Domain Admins SID (the S-1-5-21-...-512) is different for every PDC.
-               </para> </listitem>
+               </para>
+               </listitem>
        </orderedlist>
        </listitem>
 </orderedlist>
 
 <para>
 To verify that your mapping has taken effect:
-<programlisting>
+</para>
+
+<para><programlisting>
 <prompt>root# </prompt><command>smbgroupedit -vs|grep "Domain Admins"</command>
 Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -> domadm
 </programlisting></para>
 
-<para>To give access to a certain directory on a domain member machine (an
+<para>
+To give access to a certain directory on a domain member machine (an
 NT/W2K or a samba server running winbind) to some users who are member
 of a group on your samba PDC, flag that group as a domain group:
-<programlisting>
+</para>
+
+<para><programlisting>
 <prompt>root# </prompt><command>smbgroupedit -a unixgroup -td</command>
 </programlisting></para>
 
+
+
 </refsect1>
 
+
+
+
+<!-- ****************************************************
+**************************************************** -->
 <refsect1>
 
 <title>VERSION</title>
@@ -199,16 +232,22 @@ the Samba suite.
 </para>
 </refsect1>
 
+<!-- ****************************************************
+**************************************************** -->
+
 <refsect1>
 <title>SEE ALSO</title>
 
 <para>
-<citerefentry><refentrytitle>smb.conf</refentrytitle>
-<manvolnum>5</manvolnum></citerefentry></para>
+<ulink url="smb.conf.5.html">smb.conf(5)</ulink>
+</para>
 
 </refsect1>
 
 
+<!-- ****************************************************
+**************************************************** -->
+
 <refsect1>
 <title>AUTHOR</title>
 
@@ -222,8 +261,7 @@ to the way the Linux kernel is developed.
 <para>
 <command>smbgroupedit</command> was written by Jean Francois Micouleau.
 The current set of manpages and documentation is maintained
-by the Samba Team in the same fashion as the Samba source code. The conversion
-to DocBook XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.</para>
+by the Samba Team in the same fashion as the Samba source code.</para>
 </refsect1>
 
 </refentry>
index 6d48b12b9bc929e63055daa4cd82cb5209be296c..55b66d5d25b3b7b926b9abe062ee1971b85a4f81 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbmnt.8">
+<refentry id="smbmnt">
 
 <refmeta>
        <refentrytitle>smbmnt</refentrytitle>
@@ -38,8 +38,8 @@
        by the user, and that the user has write permission on.</para>
 
        <para>The <command>smbmnt</command> program is normally invoked 
-       by <citerefentry><refentrytitle>smbmount</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>. It should not be invoked directly by users. </para>
+       by <ulink url="smbmount.8.html"><command>smbmount(8)</command>
+       </ulink>. It should not be invoked directly by users. </para>
 
        <para>smbmount searches the normal PATH for smbmnt. You must ensure
        that the smbmnt version in your path matches the smbmount used.</para>
        </para>
        
        <para>The conversion of this manpage for Samba 2.2 was performed 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0
-       was done by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index d17e4e6bcf755226855637136a6d4ea8d2630bca..c4b91a5572de69ae2a843b4bd18a7ed49cb1ed4d 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbmount.8">
+<refentry id="smbmount">
 
 <refmeta>
        <refentrytitle>smbmount</refentrytitle>
@@ -26,8 +26,7 @@
 
        <para><command>smbmount</command> mounts a Linux SMB filesystem. It 
        is usually invoked as <command>mount.smbfs</command> by
-       the <citerefentry><refentrytitle>mount</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> command when using the 
+       the <command>mount(8)</command> command when using the 
        "-t smbfs" option. This command only works in Linux, and the kernel must
        support the smbfs filesystem. </para>
 
        <para><command>smbmount</command> is a daemon. After mounting it keeps running until
        the mounted smbfs is umounted. It will log things that happen
        when in daemon mode using the "machine name" smbmount, so
-       typically this output will end up in <filename>log.smbmount</filename>. The <command>
-       smbmount</command> process may also be called mount.smbfs.</para>
+       typically this output will end up in <filename>log.smbmount</filename>. The
+       <command>smbmount</command> process may also be called mount.smbfs.</para>
 
        <para><emphasis>NOTE:</emphasis> <command>smbmount</command> 
-       calls <citerefentry><refentrytitle>smbmnt</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> to do the actual mount. You 
+       calls <command>smbmnt(8)</command> to do the actual mount. You 
        must make sure that <command>smbmnt</command> is in the path so 
        that it can be found. </para>
        
 
                <varlistentry>
                <term>credentials=&lt;filename&gt;</term>
-               <listitem><para>specifies a file that contains a username and/or password. 
-The format of the file is:
-<programlisting>
-username = &lt;value&gt;
-password = &lt;value&gt;
-</programlisting></para>
+               <listitem><para>specifies a file that contains a username
+               and/or password. The format of the file is:</para>
+
+               <para>
+               <programlisting>
+               username = &lt;value&gt;
+               password = &lt;value&gt;
+               </programlisting>
+               </para>
 
                <para>This is preferred over having passwords in plaintext in a
                shared file, such as <filename>/etc/fstab</filename>. Be sure to protect any
@@ -173,8 +174,8 @@ password = &lt;value&gt;
                <varlistentry>
                <term>sockopt=&lt;arg&gt;</term>
                <listitem><para>sets the TCP socket options. See the <ulink
-               url="smb.conf.5.html#SOCKETOPTIONS"><citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry></ulink> <parameter>socket options</parameter> option.
+               url="smb.conf.5.html#SOCKETOPTIONS"><filename>smb.conf
+               </filename></ulink> <parameter>socket options</parameter> option.
                </para></listitem>
                </varlistentry>
 
@@ -297,9 +298,10 @@ password = &lt;value&gt;
 
        <para>FreeBSD also has a smbfs, but it is not related to smbmount</para>
 
-       <para>For Solaris, HP-UX and others you may want to look at <citerefentry><refentrytitle>smbsh</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry> or at other solutions, such as 
-       Sharity or perhaps replacing the SMB server with a NFS server.</para>
+       <para>For Solaris, HP-UX and others you may want to look at
+       <ulink url="smbsh.1.html"><command>smbsh(1)</command></ulink> or at other
+       solutions, such as sharity or perhaps replacing the SMB server with
+       a NFS server.</para>
 
 </refsect1>
 
@@ -319,8 +321,7 @@ password = &lt;value&gt;
        </para>
        
        <para>The conversion of this manpage for Samba 2.2 was performed 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0
-       was done by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index f78e986bef98429538e477dfd79a511f71f32322..5c80ac4c06c6137b15fe918d91840bf8de22de46 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbpasswd.5">
+<refentry id="smbpasswd">
 
 <refmeta>
        <refentrytitle>smbpasswd</refentrytitle>
@@ -19,8 +19,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para>smbpasswd is the Samba encrypted password file. It contains 
        the username, Unix user id and the SMB hashed passwords of the 
                the attributes of the users account. In the Samba 2.2 release 
                this field is bracketed by '[' and ']' characters and is always 
                13 characters in length (including the '[' and ']' characters).
-               The contents of this field may be any of the following characters:
+               The contents of this field may be any of the characters.
                </para>
                
                <itemizedlist>
                        Password Hash and NT Password Hash are ignored). Note that this 
                        will only allow users to log on with no password if the <parameter>
                        null passwords</parameter> parameter is set in the <ulink
-                       url="smb.conf.5.html#NULLPASSWORDS"><citerefentry><refentrytitle>smb.conf</refentrytitle>
-                       <manvolnum>5</manvolnum></citerefentry></ulink> config file. </para></listitem>
+                       url="smb.conf.5.html#NULLPASSWORDS"><filename>smb.conf(5)
+                       </filename></ulink> config file. </para></listitem>
                                
                        <listitem><para><emphasis>D</emphasis> - This means the account 
-                       is disabled and no SMB/CIFS logins  will be allowed for this user. </para></listitem>
+                       is disabled and no SMB/CIFS logins  will be     allowed for 
+                       this user. </para></listitem>
                        
                        <listitem><para><emphasis>W</emphasis> - This means this account 
                        is a "Workstation Trust" account. This kind of account is used 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>, and
+       <para><ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink>, 
+       <ulink url="samba.7.html">samba(7)</ulink>, and
        the Internet RFC1321 for details on the MD4 algorithm.
        </para>
 </refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 5d475cf08c714c0999b7d068e0ef3d6812521747..8e6d925ae03d74e49875c75ec6484a563bf81b91 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbpasswd.8">
+<refentry id="smbpasswd">
 
 <refmeta>
        <refentrytitle>smbpasswd</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
        
        <para>The smbpasswd program has several different 
-       functions, depending on whether it is run by the <emphasis>root</emphasis> user 
-       or not. When run as a normal user it allows the user to change 
+       functions, depending on whether it is run by the <emphasis>root</emphasis> 
+       user or not. When run as a normal user it allows the user to change 
        the password used for their SMB sessions on any machines that store 
        SMB passwords. </para>
 
        <para>By default (when run with no arguments) it will attempt to 
        change the current user's SMB password on the local machine. This is 
-       similar to the way the <command>passwd(1)</command> program works. <command>
-       smbpasswd</command> differs from how the passwd program works 
+       similar to the way the <command>passwd(1)</command> program works. 
+       <command>smbpasswd</command> differs from how the passwd program works 
        however in that it is not <emphasis>setuid root</emphasis> but works in 
-       a client-server mode and communicates with a 
-       locally running <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>. As a consequence in order for this to 
+       a client-server mode and communicates with a locally running
+       <command>smbd(8)</command>. As a consequence in order for this to 
        succeed the smbd daemon must be running on the local machine. On a 
        UNIX machine the encrypted SMB passwords are usually stored in 
-       the <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file. </para>
+       the <filename>smbpasswd(5)</filename> file. </para>
 
        <para>When run by an ordinary user with no options, smbpasswd 
        will prompt them for their old SMB password and then ask them 
 
        <para>smbpasswd can also be used by a normal user to change their
        SMB password on remote machines, such as Windows NT Primary Domain 
-       Controllers.   See the (<parameter>-r</parameter>) and <parameter>-U</parameter> options 
-       below. </para>
+       Controllers.   See the (-r) and -U options below. </para>
 
        <para>When run by root, smbpasswd allows new users to be added 
        and deleted in the smbpasswd file, as well as allows changes to 
-       the attributes of the user in this file to be made. When run by root, <command>
-       smbpasswd</command> accesses the local smbpasswd file 
+       the attributes of the user in this file to be made. When run by root, 
+       <command>smbpasswd</command> accesses the local smbpasswd file 
        directly, thus enabling changes to be made even if smbd is not 
        running. </para>
 </refsect1>
                
                <para>If the smbpasswd file is in the 'old' format (pre-Samba 2.0 
                format) there is no space in the user's password entry to write
-               this information and the command will FAIL. See <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for details on the 'old' and new password file formats.
+               this information and the command will FAIL. See <command>smbpasswd(5)
+               </command> for details on the 'old' and new password file formats.
                </para>
 
                <para>This option is only available when running smbpasswd as 
                
                <para>If the smbpasswd file is in the 'old' format, then <command>
                smbpasswd</command> will FAIL to enable the account.  
-                See <citerefentry><refentrytitle>smbpasswd</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> for 
+                See <command>smbpasswd (5)</command> for 
                details on the 'old' and new password file formats. </para>
 
                <para>This option is only available when running smbpasswd as root. 
                name of the host being connected to. </para>
 
                <para>The options are :"lmhosts", "host", "wins" and "bcast". They
-                cause names to be resolved as follows: </para>
+                cause names to be resolved as follows : </para>
                        <itemizedlist>
-                               <listitem><para><constant>lmhosts</constant>: Lookup an IP 
+                               <listitem><para><constant>lmhosts</constant> : Lookup an IP 
             address in the Samba lmhosts file. If the line in lmhosts has 
-            no name type attached to the NetBIOS name (see the <citerefentry><refentrytitle>lmhosts</refentrytitle>
-           <manvolnum>5</manvolnum></citerefentry> for details) then
+            no name type attached to the NetBIOS name (see the <ulink 
+            url="lmhosts.5.html">lmhosts(5)</ulink> for details) then
             any name type matches for lookup.</para></listitem>
 
-            <listitem><para><constant>host</constant>: Do a standard host 
+            <listitem><para><constant>host</constant> : Do a standard host 
             name to IP address resolution, using the system <filename>/etc/hosts
             </filename>, NIS, or DNS lookups. This method of name resolution 
             is operating system depended for instance on IRIX or Solaris this 
             type being queried is the 0x20 (server) name type, otherwise 
             it is ignored.</para></listitem>
 
-            <listitem><para><constant>wins</constant>: Query a name with 
+            <listitem><para><constant>wins</constant> : Query a name with 
             the IP address listed in the <parameter>wins server</parameter> 
            parameter.  If no WINS server has been specified this method 
            will be ignored.</para></listitem>
 
-            <listitem><para><constant>bcast</constant>: Do a broadcast on 
+            <listitem><para><constant>bcast</constant> : Do a broadcast on 
             each of the known local interfaces listed in the
             <parameter>interfaces</parameter> parameter. This is the least 
            reliable of the name resolution methods as it depends on the 
                </itemizedlist>
                
                <para>The default order is <command>lmhosts, host, wins, bcast</command> 
-               and without this parameter or any entry in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file the name resolution methods will 
+               and without this parameter or any entry in the 
+               <filename>smb.conf</filename> file the name resolution methods will 
                be attempted in this order. </para></listitem>
                </varlistentry>
                
                </varlistentry>
                
                
+               
                <varlistentry>
                <term>-s</term>
                <listitem><para>This option causes smbpasswd to be silent (i.e. 
                switch is used to specify the password to be used with the 
                <ulink url="smb.conf.5.html#LDAPADMINDN"><parameter>ldap admin 
                dn</parameter></ulink>.  Note that the password is stored in
-               the <filename>secrets.tdb</filename> and is keyed off 
+               the <filename>private/secrets.tdb</filename> and is keyed off 
                of the admin's DN.  This means that if the value of <parameter>ldap
                admin dn</parameter> ever changes, the password will need to be 
                manually updated as well.
        mode communicating  with a local smbd for a non-root user then 
        the smbd daemon must be running for this to work. A common problem 
        is to add a restriction to the hosts that may access the <command>
-       smbd</command> running on the local machine by specifying either <parameter>allow
-       hosts</parameter> or <parameter>deny hosts</parameter> entry in 
-       the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file and neglecting to 
+       smbd</command> running on the local machine by specifying a 
+       <parameter>allow hosts</parameter> or <parameter>deny hosts</parameter> 
+       entry in the <filename>smb.conf</filename> file and neglecting to 
        allow "localhost" access to the smbd. </para>
 
        <para>In addition, the smbpasswd command is only useful if Samba
-       has been set up to use encrypted passwords. See the document <ulink url="pwencrypt.html">
-       "LanMan and NT Password Encryption in Samba"</ulink> in the docs directory for details 
+       has been set up to use encrypted passwords. See the file 
+       <filename>ENCRYPTION.txt</filename> in the docs directory for details 
        on how to do this. </para>
 </refsect1>
 
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of the Samba suite.</para>
+       <para>This man page is correct for version 3.0 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>.</para>
+       <para><ulink url="smbpasswd.5.html"><filename>smbpasswd(5)</filename></ulink>, 
+       <ulink url="samba.7.html">samba(7)</ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index af080c298c92253895d2f86a6537a9d0ab97195a..c40609be4fd748405438f5bd75c40bbc500c9518 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbsh.1">
+<refentry id="smbsh">
 
 <refmeta>
        <refentrytitle>smbsh</refentrytitle>
@@ -29,8 +29,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>smbsh</command> allows you to access an NT filesystem 
        using UNIX commands such as <command>ls</command>, <command>
@@ -46,8 +46,7 @@
            <varlistentry>
                <term>-W WORKGROUP</term>
                <listitem><para>Override the default workgroup specified in the 
-               workgroup parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file 
+               workgroup parameter of the <filename>smb.conf</filename> file 
                for this session. This may be needed to connect to some 
                servers. </para></listitem>
            </varlistentry>
@@ -62,8 +61,7 @@
            </varlistentry>
 
            <varlistentry>
-               <term>-P prefix</term>
-               <listitem><para>This option allows
+               <term>-P prefix</term><listitem><para>This option allows
                the user to set the directory prefix for SMB access. The 
                default value if this option is not specified is 
                <emphasis>smb</emphasis>.
                host names to IP addresses. The option takes a space-separated 
                string of different name resolution options.</para>
 
-               <para>The options are"lmhosts", "host", "wins" and "bcast". 
+               <para>The options are :"lmhosts", "host", "wins" and "bcast". 
                They cause names to be resolved as follows :</para>
 
                <itemizedlist>
-                       <listitem><para><constant>lmhosts</constant>: 
+                       <listitem><para><constant>lmhosts</constant> 
                        Lookup an IP address in the Samba lmhosts file. If the 
                        line in lmhosts has no name type attached to the 
                        NetBIOS name 
-                       (see the <citerefentry><refentrytitle>lmhosts</refentrytitle>
-                       <manvolnum>5</manvolnum></citerefentry> for details) 
-                       then any name type matches for lookup.
+                       (see the <ulink url="lmhosts.5.html">lmhosts(5)</ulink>
+                       for details) then any name type matches for lookup.
                        </para></listitem>
 
-                       <listitem><para><constant>host</constant>: 
+                       <listitem><para><constant>host</constant> 
                        Do a standard host name to IP address resolution, using
                        the system <filename>/etc/hosts</filename>, NIS, or DNS
                        lookups. This method of name resolution is operating 
                        (server) name type, otherwise it is ignored.
                        </para></listitem>
 
-                       <listitem><para><constant>wins</constant>: 
+                       <listitem><para><constant>wins</constant> 
                        Query a name with the IP address listed in the 
                        <parameter>wins server</parameter> parameter.  If no 
                        WINS server has been specified this method will be 
                        ignored.
                        </para></listitem>
 
-                       <listitem><para><constant>bcast</constant>: 
+                       <listitem><para><constant>bcast</constant> 
                        Do a broadcast on each of the known local interfaces 
                        listed in the <parameter>interfaces</parameter>
                        parameter. This is the least reliable of the name 
                </itemizedlist>
 
                <para>If this parameter is not set then the name resolve order 
-               defined in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file parameter  
-               (<parameter>name resolve order</parameter>) will be used. </para>
+               defined in the <filename>smb.conf</filename> file parameter  
+               (name resolve order) will be used. </para>
 
                <para>The default order is lmhosts, host, wins, bcast. Without 
                this parameter or any entry in the <parameter>name resolve order
-               </parameter> parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file, the name resolution method
-               will be attempted in this order. </para></listitem>
+               </parameter> parameter of the <filename>smb.conf</filename> 
+               file, the name resolution methods will be attempted in thi
+               order. </para></listitem>
            </varlistentry>
 
            <varlistentry>
                is zero.</para>
 
                <para>The higher this value, the more detail will be logged
-               about the activities of <citerefentry><refentrytitle>nmblookup</refentrytitle>
-               <manvolnum>1</manvolnum></citerefentry>. At level
+               about the activities of <command>nmblookup</command>. At level
                0, only critical errors and serious warnings will be logged.
                </para></listitem>
            </varlistentry>
        <para>To use the <command>smbsh</command> command, execute <command>
        smbsh</command> from the prompt and enter the username and password 
        that authenticates you to the machine running the Windows NT 
-       operating system.
-<programlisting>
-<prompt>system% </prompt><userinput>smbsh</userinput>
-<prompt>Username: </prompt><userinput>user</userinput>
-<prompt>Password: </prompt><userinput>XXXXXXX</userinput>
-</programlisting></para>
+       operating system.</para>
+
+       <para><programlisting>
+       <prompt>system% </prompt><userinput>smbsh</userinput>
+       <prompt>Username: </prompt><userinput>user</userinput>
+       <prompt>Password: </prompt><userinput>XXXXXXX</userinput>
+       </programlisting></para>
 
 
        <para>Any dynamically linked command you execute from 
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of the Samba suite.</para>
+       <para>This man page is correct for version 3.0 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry></para>
+       <para><ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="smb.conf.5.html">smb.conf(5)</ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index f30539601e9f72f0748f7418f6c5a1d44fac6b10..d164cb0864e15ceeade8446ec918bd5b982790a2 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbspool.8">
+<refentry id="smbspool">
 
 <refmeta>
        <refentrytitle>smbspool</refentrytitle>
@@ -27,8 +27,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para>smbspool is a very small print spooling program that 
        sends a print file to an SMB printer. The command-line arguments 
        <itemizedlist>
                <listitem><para>smb://server/printer</para></listitem>
                <listitem><para>smb://workgroup/server/printer</para></listitem>
-               <listitem><para>smb://username:password@server/printer</para></listitem>
-               <listitem><para>smb://username:password@workgroup/server/printer</para></listitem>
+               <listitem><para>smb://username:password@server/printer</para>
+               </listitem>
+               <listitem><para>smb://username:password@workgroup/server/printer
+               </para></listitem>
        </itemizedlist>
 
        <para>smbspool tries to get the URI from argv[0]. If argv[0] 
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 2.2 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>.</para>
+       <para><ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       and <ulink url="samba.7.html">samba(7)</ulink>.
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 67d39f2586080cb8fc4389533922bb3716d17ea9..99963a4bec6fec0ad8d51374ae261217ca228d3a 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbstatus.1">
+<refentry id="smbstatus">
 
 <refmeta>
        <refentrytitle>smbstatus</refentrytitle>
@@ -31,8 +31,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>smbstatus</command> is a very simple program to 
        list the current Samba connections.</para>
@@ -84,8 +84,8 @@
 
                <varlistentry>
                <term>-p|--processes</term>
-               <listitem><para>print a list of <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> processes and exit. 
+               <listitem><para>print a list of <ulink url="smbd.8.html">
+               <command>smbd(8)</command></ulink> processes and exit. 
                Useful for scripting.</para></listitem>
                </varlistentry>
                
                <term>-s|--conf=&lt;configuration file&gt;</term>
                <listitem><para>The default configuration file name is
                determined at compile time. The file specified contains the
-               configuration details required by the server. See <citerefentry>
-               <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry> for more information.</para>
+               configuration details required by the server. See <ulink 
+               url="smb.conf.5.html"><filename>smb.conf(5)</filename>
+               </ulink> for more information.</para>
                </listitem>
                </varlistentry>
 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.</para>
+       <para><ulink url="smbd.8.html"><command>smbd(8)</command></ulink> and
+       <ulink url="smb.conf.5.html">smb.conf(5)</ulink>.</para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index ffb5087347836037b1493bcf16ecb4fce661b532..bd70493b6bff5b4b5a1046d534ca417dee6302a7 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbtar.1">
+<refentry id="smbtar">
 
 <refmeta>
        <refentrytitle>smbtar</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>smbtar</command> is a very small shell script on top 
-       of <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-       </citerefentry> which dumps SMB shares directly to tape.</para>
+       of <ulink url="smbclient.1.html"><command>smbclient(1)</command></ulink> 
+       which dumps SMB shares directly to tape. </para>
 </refsect1>
 
 <refsect1>
                <varlistentry>
                <term>-l log level</term>
                <listitem><para>Log (debug) level. Corresponds to the 
-               <parameter>-d</parameter> flag of <citerefentry>
-               <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-               </citerefentry>.</para></listitem>
+               <parameter>-d</parameter> flag of <command>smbclient(1)
+               </command>. </para></listitem>
                </varlistentry>
        </variablelist>
 </refsect1>
 <refsect1>
        <title>DIAGNOSTICS</title>
 
-       <para>See the <emphasis>DIAGNOSTICS</emphasis> section for the <citerefentry>
-       <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-       </citerefentry> command.</para>
+       <para>See the <emphasis>DIAGNOSTICS</emphasis> section for the 
+       <ulink url="smbclient.1.html"><command>smbclient(1)</command> 
+       </ulink> command.</para>
 </refsect1>
 
 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
-       <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
-       </citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry>.</para>
+       <para><ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="smbclient.1.html"><command>smbclient(1)</command></ulink>, 
+       <ulink url="smb.conf.5.html">smb.conf(5)</ulink>,
+       </para>
 </refsect1>
 
 <refsect1>
        url="mailto:Martin.Kraemer@mch.sni.de">Martin Kraemer</ulink>. Many 
        thanks to everyone who suggested extensions, improvements, bug 
        fixes, etc. The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
-       Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter.</para>
 </refsect1>
 
 </refentry>
index 089ede79ea656a7c9646a904b187f3d4128aa82b..d6a1b65b5785bbc32c09982ad849fc6fa14a29bd 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="smbumount.8">
+<refentry id="smbumount">
 
 <refmeta>
        <refentrytitle>smbumount</refentrytitle>
@@ -47,8 +47,8 @@
 <refsect1>
        <title>SEE ALSO</title>
        
-       <para><citerefentry><refentrytitle>smbmount</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry></para>
+       <para><ulink url="smbmount.8.html"><command>smbmount(8)</command>
+       </ulink></para>
 </refsect1>
 
 
@@ -67,8 +67,7 @@
        </para>
        
        <para>The conversion of this manpage for Samba 2.2 was performed 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0
-       was done by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 9c4daad6d07529ee66336f240f0389404cd5c83b..c0052f3d53d4805b3896543d8256cd381af5bbf9 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="swat.8">
+<refentry id="swat">
 
 <refmeta>
        <refentrytitle>swat</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
 
        <para><command>swat</command> allows a Samba administrator to 
-       configure the complex <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> file via a Web browser. In addition, 
+       configure the complex <ulink url="smb.conf.5.html"><filename>
+       smb.conf(5)</filename></ulink> file via a Web browser. In addition, 
        a <command>swat</command> configuration page has help links 
        to all the configurable options in the <filename>smb.conf</filename> file allowing an 
        administrator to easily look up the effects of any change. </para>
@@ -46,9 +46,8 @@
                <term>-s smb configuration file</term>
                <listitem><para>The default configuration file path is 
                determined at compile time.  The file specified contains 
-               the configuration details required by the <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> server. This is the file 
-               that <command>swat</command> will modify. 
+               the configuration details required by the <command>smbd
+               </command> server. This is the file that <command>swat</command> will modify. 
                The information in this file includes server-specific 
                information such as what printcap file to use, as well as 
                descriptions of all the services that the server is to provide.
 
                <varlistentry>
                <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
-               <listitem><para>This is the default location of the <citerefentry>
-               <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry> server configuration file that swat edits. Other 
+               <listitem><para>This is the default location of the <filename>smb.conf(5)
+               </filename> server configuration file that swat edits. Other 
                common places that systems install this file are <filename>
                /usr/samba/lib/smb.conf</filename> and <filename>/etc/smb.conf
                </filename>.  This file describes all the services the server 
 <refsect1>
        <title>WARNINGS</title>
 
-       <para><command>swat</command> will rewrite your <citerefentry>
-       <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-       </citerefentry> file. It will rearrange the entries and delete all 
+       <para><command>swat</command> will rewrite your <filename>smb.conf
+       </filename> file. It will rearrange the entries and delete all 
        comments, <parameter>include=</parameter> and <parameter>copy=
        </parameter> options. If you have a carefully crafted <filename>
        smb.conf</filename> then back it up or don't use swat! </para>
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 2.2 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><command>inetd(5)</command>, <citerefentry>
-       <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
-       </citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry></para>
+       <para><command>inetd(5)</command>,
+       <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="smb.conf.5.html">smb.conf(5)</ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
-       Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index ec8092a92648db353b9750c06cac620099f57362..f34528a43d2495531c9ebcf04468cd63a7d42984 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="testparm.1">
+<refentry id="testparm">
 
 <refmeta>
        <refentrytitle>testparm</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>testparm</command> is a very simple test program 
-       to check an <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> configuration file for 
+       to check an <command>smbd</command> configuration file for 
        internal correctness. If this program reports no problems, you 
        can use the configuration file with confidence that <command>smbd
        </command> will successfully load the configuration file.</para>
@@ -83,9 +82,9 @@
                <varlistentry>
                <term>-v</term>
                <listitem><para>If this option is specified, testparm 
-               will also output all options that were not used in <citerefentry>
-               <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry> and are thus set to their defaults.</para></listitem>
+               will also output all options that were not used in 
+               <filename>smb.conf</filename> and are thus set to
+               their defaults.</para></listitem>
                </varlistentry>
 
                <varlistentry>
@@ -99,8 +98,7 @@
                <term>configfilename</term>
                <listitem><para>This is the name of the configuration file 
                to check. If this parameter is not present then the 
-               default <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry> file will be checked.   
+               default <filename>smb.conf</filename> file will be checked.     
                </para></listitem>
                </varlistentry>
 
                <listitem><para>If this parameter and the following are 
                specified, then <command>testparm</command> will examine the <parameter>hosts
                allow</parameter> and <parameter>hosts deny</parameter> 
-               parameters in the <citerefentry>
-               <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry> file to 
+               parameters in the <filename>smb.conf</filename> file to 
                determine if the hostname with this IP address would be
                allowed access to the <command>smbd</command> server.  If 
                this parameter is supplied, the hostIP parameter must also
 
        <variablelist>
                <varlistentry>
-               <term><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry></term>
+               <term><filename>smb.conf</filename></term>
                <listitem><para>This is usually the name of the configuration 
-               file used by <citerefentry><refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
-               </citerefentry>. 
+               file used by <command>smbd</command>. 
                </para></listitem>
                </varlistentry>
        </variablelist>
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry>
-               <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-               </citerefentry>, <citerefentry>
-               <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
-               </citerefentry></para>
+       <para><ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename></ulink>, 
+       <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 85cc860c4a1f2c07446045f69a9385f0d74a67bf..cd99494a9af8d0c3e0f5b76be4d9034af90e1e28 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="testprns.1">
+<refentry id="testprns">
 
 <refmeta>
        <refentrytitle>testprns</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>testprns</command> is a very simple test program 
        to determine whether a given printer name is valid for use in 
-       a service to be provided by <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>.</para>
+       a service to be provided by <ulink url="smbd.8.html"><command>
+       smbd(8)</command></ulink>. </para>
 
        <para>"Valid" in this context means "can be found in the 
        printcap specified". This program is very stupid - so stupid in 
@@ -54,9 +54,8 @@
                done beyond that required to extract the printer name. It may
                be that the print spooling system is more forgiving or less 
                forgiving than <command>testprns</command>. However, if 
-               <command>testprns</command> finds the printer then <citerefentry>
-               <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
-               </citerefentry> should do so as well. </para></listitem>
+               <command>testprns</command> finds the printer then 
+               <command>smbd</command> should do so as well. </para></listitem>
                </varlistentry>
                
                <varlistentry>  
 <refsect1>
        <title>SEE ALSO</title>
        <para><filename>printcap(5)</filename>, 
-       <citerefentry><refentrytitle>smbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
-       <manvolnum>1</manvolnum></citerefentry></para>
+       <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
+       <ulink url="smbclient.1.html"><command>smbclient(1)</command></ulink>
+       </para>
 </refsect1>
 
 <refsect1>
        
        <para>The original Samba man pages were written by Karl Auer. 
        The man page sources were converted to YODL format (another 
-       excellent piece of Open Source software, available at <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
+       excellent piece of Open Source software, available at
+       <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
        ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
        release by Jeremy Allison.  The conversion to DocBook for 
-       Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2
-       for Samba 3.0 was done by Alexander Bokovoy.</para>
+       Samba 2.2 was done by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index c89035d814cb5150c65b1db615d4728f2160dec5..d6c7e5f142c07613cb0b5335ca2454fde7d6eb00 100644 (file)
@@ -1,7 +1,8 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
 <!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
 ]>
-<refentry id="vfstest.1">
+
+<refentry id="vfstest">
 
 <refmeta>
        <refentrytitle>vfstest</refentrytitle>
@@ -27,8 +28,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>vfstest</command> is a small command line
        utility that has the ability to test dso samba VFS modules. It gives the
index 5003c847a4d9764dfa66ee45bea19dc7ef30cd91..a6ca24424370fd804905b67466611a653256878e 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="wbinfo.1">
+<refentry id="wbinfo">
 
 <refmeta>
        <refentrytitle>wbinfo</refentrytitle>
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This tool is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
        
        <para>The <command>wbinfo</command> program queries and returns information 
-       created and used by the <citerefentry><refentrytitle>winbindd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> daemon. </para>
+       created and used by the <ulink url="winbindd.8.html"><command>
+       winbindd(8)</command></ulink> daemon. </para>
 
-       <para>The <citerefentry><refentrytitle>winbindd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> daemon must be configured 
+       <para>The <command>winbindd(8)</command> daemon must be configured 
        and running for the <command>wbinfo</command> program to be able 
        to return information.</para>
 </refsect1>
                <varlistentry>
                <term>-u</term>
                <listitem><para>This option will list all users available 
-               in the Windows NT domain for which the <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> daemon is operating in. Users in all trusted domains 
+               in the Windows NT domain for which the <command>winbindd(8)
+               </command> daemon is operating in. Users in all trusted domains 
                will also be listed.  Note that this operation does not assign 
-               user ids to any users that have not already been seen by <citerefentry>
-               <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-               .</para></listitem>
+               user ids to any users that have not already been seen by 
+               <command>winbindd(8)</command>.</para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term>-g</term>
                <listitem><para>This option will list all groups available 
-               in the Windows NT domain for which the <citerefentry><refentrytitle>Samba</refentrytitle>
-               <manvolnum>7</manvolnum></citerefentry> daemon is operating in. Groups in all trusted domains
+               in the Windows NT domain for which the <command>winbindd(8)
+               </command> daemon is operating in. Groups in all trusted domains
                will also be listed.  Note that this operation does not assign 
-               group ids to any groups that have not already been 
-               seen by <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>. </para></listitem>
+               group ids to any groups that have not already been seen by
+               <command>winbindd(8)</command>. </para></listitem>
                </varlistentry>
                
                <varlistentry>
                <term>-N name</term>
                <listitem><para>The <parameter>-N</parameter> option 
-               queries <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to query the WINS
+               queries <command>winbindd(8)</command> to query the WINS
                server for the IP address associated with the NetBIOS name
                specified by the <parameter>name</parameter> parameter.
                </para></listitem>
@@ -90,8 +86,7 @@
                <varlistentry>
                <term>-I ip</term>
                <listitem><para>The <parameter>-I</parameter> option 
-               queries <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> to send a node status
+               queries <command>winbindd(8)</command> to send a node status
                request to get the NetBIOS name associated with the IP address
                specified by the <parameter>ip</parameter> parameter.
                </para></listitem>
                <varlistentry>
                <term>-n name</term>
                <listitem><para>The <parameter>-n</parameter> option 
-               queries <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> for the SID             
+               queries <command>winbindd(8)</command> for the SID              
                associated with the name specified. Domain names can be specified 
                before the user name by using the winbind separator character.  
                For example CWDOM1/Administrator refers to the Administrator
                user in the domain CWDOM1.  If no domain is specified then the 
-               domain used is the one specified in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> <parameter>workgroup
-               </parameter> parameter. </para></listitem>
+               domain used is the one specified in the <filename>smb.conf</filename>
+               <parameter>workgroup</parameter> parameter. </para></listitem>
                </varlistentry>
 
 
                <varlistentry>
                <term>-S sid</term>
                <listitem><para>Convert a SID to a UNIX user id.  If the SID 
-               does not correspond to a UNIX user mapped by <citerefentry>
-               <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum>
-               </citerefentry> then the operation will fail. </para></listitem>
+               does not correspond to a UNIX user mapped by <command>
+               winbindd(8)</command> then the operation will fail. </para></listitem>
                </varlistentry>
 
 
                <varlistentry>
                <term>-Y sid</term>
                <listitem><para>Convert a SID to a UNIX group id.  If the SID 
-               does not correspond to a UNIX group mapped by <citerefentry>
-               <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry> then 
-               the operation will fail. </para></listitem>
+               does not correspond to a UNIX group mapped by <command>
+               winbindd(8)</command> then the operation will fail. </para></listitem>
                </varlistentry>
 
 
                <varlistentry>
                <term>-m</term>
                <listitem><para>Produce a list of domains trusted by the 
-               Windows NT server <citerefentry><refentrytitle>winbindd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> contacts 
+               Windows NT server <command>winbindd(8)</command> contacts 
                when resolving names.  This list does not include the Windows 
                NT domain the server is a Primary Domain Controller for.
                </para></listitem>
        <title>EXIT STATUS</title>
 
        <para>The wbinfo program returns 0 if the operation 
-       succeeded, or 1 if the operation failed.  If the <citerefentry>
-       <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum>
-       </citerefentry> daemon is not working <command>wbinfo</command> will always return 
+       succeeded, or 1 if the operation failed.  If the <command>winbindd(8)
+       </command> daemon is not working <command>wbinfo</command> will always return 
        failure. </para>
 </refsect1>
 
 
 <refsect1>
        <title>SEE ALSO</title>
-       <para><citerefentry><refentrytitle>winbindd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry></para>
+       <para><ulink url="winbindd.8.html"><command>winbindd(8)</command>
+       </ulink></para>
 </refsect1>
 
 <refsect1>
        were written by Tim Potter.</para>
        
        <para>The conversion to DocBook for Samba 2.2 was done 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for Samba
-       3.0 was done by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index a44e195d8ca7daec4aed4afd1d104e1b6b39c4d3..ccef2fa62316017b37aebc016b405d3a83545877 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
-<refentry id="winbindd.8">
+<refentry id="winbindd">
 
 <refmeta>
        <refentrytitle>winbindd</refentrytitle>
@@ -29,8 +29,8 @@
 <refsect1>
        <title>DESCRIPTION</title>
 
-       <para>This program is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
+       <para>This program is part of the <ulink url="samba.7.html">
+       Samba</ulink> suite.</para>
 
        <para><command>winbindd</command> is a daemon that provides 
        a service for the Name Service Switch capability that is present 
        <filename>/etc/nsswitch.conf</filename> file can be used to initially 
        resolve user and group information from <filename>/etc/passwd
        </filename> and <filename>/etc/group</filename> and then from the 
-       Windows NT server.
-<programlisting>
+       Windows NT server. </para>
+
+       <para><programlisting>
 passwd:         files winbind
 group:          files winbind
-</programlisting></para>  
+       </programlisting></para>  
 
        <para>The following simple configuration in the
        <filename>/etc/nsswitch.conf</filename> file can be used to initially
@@ -171,8 +172,7 @@ group:          files winbind
                <varlistentry>
                <term>-s|--conf=smb.conf</term>
                <listitem><para>Specifies the location of the all-important
-               <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file. </para></listitem>
+               <filename>smb.conf</filename> file. </para></listitem>
                </varlistentry>
        </variablelist>
 </refsect1>
@@ -208,9 +208,8 @@ group:          files winbind
        <title>CONFIGURATION</title>
 
        <para>Configuration of the <command>winbindd</command> daemon 
-       is done through configuration parameters in the <citerefentry>
-       <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
-       </citerefentry> file.  All parameters should be specified in the 
+       is done through configuration parameters in the <filename>smb.conf(5)
+       </filename> file.  All parameters should be specified in the 
        [global] section of smb.conf. </para>
 
        <itemizedlist>
@@ -244,24 +243,27 @@ group:          files winbind
        following setup. This was tested on a RedHat 6.2 Linux box. </para>
 
        <para>In <filename>/etc/nsswitch.conf</filename> put the 
-       following:
-<programlisting>
+       following:</para>
+
+       <para><programlisting>
 passwd:     files winbind
 group:      files winbind
-</programlisting></para>  
+       </programlisting></para>  
+
+       <para>In <filename>/etc/pam.d/*</filename> replace the 
+       <parameter>auth</parameter> lines with something like this: </para>
 
-       <para>In <filename>/etc/pam.d/*</filename> replace the <parameter>
-       auth</parameter> lines with something like this:
-<programlisting>
+       <para><programlisting>
 auth       required    /lib/security/pam_securetty.so
 auth       required    /lib/security/pam_nologin.so
 auth       sufficient  /lib/security/pam_winbind.so
 auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
-</programlisting></para>
+       </programlisting></para>
   
 
-       <para>Note in particular the use of the <parameter>sufficient
-       </parameter> keyword and the <parameter>use_first_pass</parameter> keyword. </para>
+       <para>Note in particular the use of the <parameter>sufficient</parameter> 
+       keyword and the <parameter>use_first_pass</parameter> keyword. </para>
 
        <para>Now replace the account lines with this: </para> 
        
@@ -271,24 +273,26 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
        <para>The next step is to join the domain. To do that use the 
        <command>smbpasswd</command> program like this:  </para>
  
-       <para><command>net join -S PDC -U Administrator</command></para>
+       <para><command>smbpasswd -j DOMAIN -r PDC -U
+       Administrator</command></para>
  
        <para>The username after the <parameter>-U</parameter> can be any
        Domain user that has administrator privileges on the machine.
-       Substitute the name or IP of your PDC for "PDC".</para>
+       Substitute your domain name for "DOMAIN" and the name of your PDC
+       for "PDC".</para>
 
        <para>Next copy <filename>libnss_winbind.so</filename> to 
-       <filename>/lib</filename> and <filename>pam_winbind.so
-       </filename> to <filename>/lib/security</filename>.  A symbolic link needs to be
+       <filename>/lib</filename> and <filename>pam_winbind.so</filename>
+       to <filename>/lib/security</filename>.  A symbolic link needs to be
        made from <filename>/lib/libnss_winbind.so</filename> to
        <filename>/lib/libnss_winbind.so.2</filename>.  If you are using an
        older version of glibc then the target of the link should be
        <filename>/lib/libnss_winbind.so.1</filename>.</para>
 
-       <para>Finally, setup a <citerefentry><refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry> containing directives like the 
-       following:
-<programlisting>
+       <para>Finally, setup a <filename>smb.conf</filename> containing directives like the 
+       following:  </para> 
+
+       <para><programlisting>
 [global]
        winbind separator = +
         winbind cache time = 10
@@ -299,7 +303,7 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
         workgroup = DOMAIN
         security = domain
         password server = *
-</programlisting></para>
+       </programlisting></para>
   
 
        <para>Now start winbindd and you should find that your user and 
@@ -317,10 +321,9 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
        <para>The following notes are useful when configuring and 
        running <command>winbindd</command>: </para>
 
-       <para><citerefentry><refentrytitle>nmbd</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry> must be running on the local machine 
-       for <command>winbindd</command> to work. <command>winbindd</command> queries
-       the list of trusted domains for the Windows NT server
+       <para><command>nmbd</command> must be running on the local machine 
+       for <command>winbindd</command> to work. <command>winbindd</command>
+       queries the list of trusted domains for the Windows NT server
        on startup and when a SIGHUP is received.  Thus, for a running <command>
        winbindd</command> to become aware of new trust relationships between 
        servers, it must be sent a SIGHUP signal. </para>
@@ -354,9 +357,8 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
        <variablelist>
                <varlistentry>
                <term>SIGHUP</term>
-               <listitem><para>Reload the <citerefentry><refentrytitle>smb.conf</refentrytitle>
-               <manvolnum>5</manvolnum></citerefentry> file and 
-               apply any parameter changes to the running 
+               <listitem><para>Reload the <filename>smb.conf(5)</filename>
+               file and apply any parameter changes to the running 
                version of winbindd.  This signal also clears any cached 
                user and group information.  The list of other domains trusted 
                by winbindd is also reloaded.  </para></listitem>
@@ -429,13 +431,10 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
 <refsect1>
        <title>SEE ALSO</title>
        
-       <para><filename>nsswitch.conf(5)</filename>, <citerefentry>
-       <refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry>, <citerefentry>
-       <refentrytitle>wbinfo</refentrytitle>
-       <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
-       <refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum></citerefentry></para>
+       <para><filename>nsswitch.conf(5)</filename>,
+       <ulink url="samba.7.html">samba(7)</ulink>,
+       <ulink url="wbinfo.1.html">wbinfo(1)</ulink>,
+       <ulink url="smb.conf.5.html">smb.conf(5)</ulink></para>
 </refsect1>
 
 <refsect1>
@@ -446,12 +445,11 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
        by the Samba Team as an Open Source project similar 
        to the way the Linux kernel is developed.</para>
        
-       <para><command>wbinfo</command> and <command>winbindd</command> were 
-       written by Tim Potter.</para>
+       <para><command>wbinfo</command> and <command>winbindd</command>
+       were written by Tim Potter.</para>
        
        <para>The conversion to DocBook for Samba 2.2 was done 
-       by Gerald Carter. The conversion to DocBook XML 4.2 for
-       Samba 3.0 was done by Alexander Bokovoy.</para>
+       by Gerald Carter</para>
 </refsect1>
 
 </refentry>
index 887ecd74c27036df36b2269ffcf7242e478edf50..3e34d53c0afc6876897ea92ea54bedee5146937d 100644 (file)
@@ -14,8 +14,7 @@ This is a rough guide to setting up Samba 3.0 with kerberos authentication again
 Windows2000 KDC. 
 </para>
 
-<para>Pieces you need before you begin:</para>
-<para>
+<para>Pieces you need before you begin:
 <simplelist>
 <member>a Windows 2000 server.</member>
 <member>samba 3.0 or higher.</member>
@@ -27,8 +26,7 @@ Windows2000 KDC.
 <sect1>
 <title>Installing the required packages for Debian</title>
 
-<para>On Debian you need to install the following packages:</para>
-<para>
+<para>On Debian you need to install the following packages:
 <simplelist>
 <member>libkrb5-dev</member>
 <member>krb5-user</member>
@@ -39,8 +37,7 @@ Windows2000 KDC.
 <sect1>
 <title>Installing the required packages for RedHat</title>
 
-<para>On RedHat this means you should have at least: </para>
-<para>
+<para>On RedHat this means you should have at least: 
 <simplelist>
 <member>krb5-workstation (for kinit)</member>
 <member>krb5-libs (for linking with)</member>
@@ -60,8 +57,7 @@ to get them off CD2.</para>
 <para>If your kerberos libraries are in a non-standard location then
   remember to add the configure option --with-krb5=DIR.</para>
 
-<para>After you run configure make sure that include/config.h it
-  generates contains 
+<para>After you run configure make sure that include/config.h contains 
   lines like this:</para>
 
 <para><programlisting>
@@ -90,10 +86,9 @@ In case samba can't figure out your ads server using your realm name, use the
 </programlisting>
 </para>
 
-<para>You do *not* need a smbpasswd file, and older clients will
-  be authenticated as if "security = domain", although it won't do any harm
-  and allows you to have local users not in the domain.
-  I expect that the above
+<para>You do *not* need a smbpasswd file, although it won't do any harm
+  and if you have one then Samba will be able to fall back to normal
+  password security for older clients. I expect that the above
   required options will change soon when we get better active
   directory integration.</para>
 </sect1>
@@ -104,7 +99,7 @@ In case samba can't figure out your ads server using your realm name, use the
 <para>The minimal configuration for krb5.conf is:</para>
 
 <para><programlisting>
-[realms]
+       [realms]
     YOUR.KERBEROS.REALM = {
        kdc = your.kerberos.server
     }
@@ -133,7 +128,7 @@ to join the realm.
 <para>
 If all you want is kerberos support in smbclient then you can skip
 straight to step 5 now. Step 3 is only needed if you want kerberos
-support for smbd and winbindd.
+support in smbd.
 </para>
 
 </sect1>
@@ -142,7 +137,9 @@ support for smbd and winbindd.
 <title>Create the computer account</title>
 
 <para>
-As a user that has write permission on the Samba private directory
+Do a "kinit" as a user that has authority to change arbitrary
+passwords on the KDC ("Administrator" is a good choice). Then as a
+user that has write permission on the Samba private directory
 (usually root) run:
 <command>net ads join</command>
 </para>
@@ -152,6 +149,8 @@ As a user that has write permission on the Samba private directory
 
 <para>
 <variablelist>
+<varlistentry><term>"bash: kinit: command not found"</term>
+<listitem><para>kinit is in the krb5-workstation RPM on RedHat systems, and is in /usr/kerberos/bin, so it won't be in the path until you log in again (or open a new terminal)</para></listitem></varlistentry>
 <varlistentry><term>"ADS support not compiled in"</term>
 <listitem><para>Samba must be reconfigured (remove config.cache) and recompiled (make clean all install) after the kerberos libs and headers are installed.</para></listitem></varlistentry>
 </variablelist>
index 8e3fbce6d3cd7c65eab40ac75b2960a06c7145e8..8ecc7959661f653b5dd406b880264c846295ede0 100644 (file)
@@ -126,9 +126,8 @@ simultaneously the LMB on it's network segment.
 
 <para>
 The syntax of the "remote browse  sync" parameter is:
-
 <programlisting>
-remote browse sync = a.b.c.d
+       remote browse sync = a.b.c.d
 </programlisting>
 
 where a.b.c.d is either the IP address of the remote LMB or else is the network broadcast address of the remote segment.
@@ -244,35 +243,36 @@ The safest rule of all to follow it this - USE ONLY ONE PROTOCOL!
 <para>
 Resolution of NetBIOS names to IP addresses can take place using a number
 of methods. The only ones that can provide NetBIOS name_type information
-are:</para>
-
+are:
 <simplelist>
 <member>WINS: the best tool!</member>
 <member>LMHOSTS: is static and hard to maintain.</member>
 <member>Broadcast: uses UDP and can not resolve names across remote segments.</member>
 </simplelist>
+</para>
 
 <para>
-Alternative means of name resolution includes:</para>
+Alternative means of name resolution includes:
 <simplelist>
 <member>/etc/hosts: is static, hard to maintain, and lacks name_type info</member>
 <member>DNS: is a good choice but lacks essential name_type info.</member>
 </simplelist>
+</para>
 
 <para>
 Many sites want to restrict DNS lookups and want to avoid broadcast name
 resolution traffic. The "name resolve order" parameter is of great help here.
 The syntax of the "name resolve order" parameter is:
 <programlisting>
-name resolve order = wins lmhosts bcast host
+       name resolve order = wins lmhosts bcast host
 </programlisting>
 _or_
 <programlisting>
-name resolve order = wins lmhosts      (eliminates bcast and host)
+       name resolve order = wins lmhosts       (eliminates bcast and host)
 </programlisting>
 The default is:
 <programlisting>
-name  resolve order = host lmhost wins bcast
+       name  resolve order = host lmhost wins bcast
 </programlisting>.
 where "host" refers the the native methods used by the Unix system
 to implement the gethostbyname() function call. This is normally
index b178bfd2c26165d81415700b95a6f2f02e1a4429..8a30a5527df724d890eb8b0e7c0d2481f386e429 100644 (file)
 </chapterinfo>
 
 
-<title>Samba as a NT4 or Win2k domain member</title>
+<title>Samba as a NT4 domain member</title>
 
 <sect1>
 
-       <title>Joining an NT Domain with Samba 3.0</title>
+       <title>Joining an NT Domain with Samba 2.2</title>
 
-       <para>Assume you have a Samba 3.0 server with a NetBIOS name of 
-       <constant>SERV1</constant> and are joining an or Win2k NT domain called
+       <para>Assume you have a Samba 2.x server with a NetBIOS name of 
+       <constant>SERV1</constant> and are joining an NT domain called
        <constant>DOM</constant>, which has a PDC with a NetBIOS name
        of <constant>DOMPDC</constant> and two backup domain controllers 
        with NetBIOS names <constant>DOMBDC1</constant> and <constant>DOMBDC2
        </constant>.</para>
 
-       <para>Firstly, you must edit your <ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename>
+       <para>In order to join the domain, first stop all Samba daemons 
+       and run the command:</para>
+
+       <para><prompt>root# </prompt><userinput>smbpasswd -j DOM -r DOMPDC
+       -U<replaceable>Administrator%password</replaceable></userinput></para>
+
+       <para>as we are joining the domain DOM and the PDC for that domain 
+       (the only machine that has write access to the domain SAM database) 
+       is DOMPDC. The <replaceable>Administrator%password</replaceable> is 
+       the login name and password for an account which has the necessary 
+       privilege to add machines to the domain.  If this is successful 
+       you will see the message:</para>
+
+       <para><computeroutput>smbpasswd: Joined domain DOM.</computeroutput>
+       </para>
+
+       <para>in your terminal window. See the <ulink url="smbpasswd.8.html">
+       smbpasswd(8)</ulink> man page for more details.</para>
+       
+       <para>There is existing development code to join a domain
+       without having to create the machine trust account on the PDC
+       beforehand.  This code will hopefully be available soon
+       in release branches as well.</para>
+
+       <para>This command goes through the machine account password 
+       change protocol, then writes the new (random) machine account 
+       password for this Samba server into a file in the same directory 
+       in which an smbpasswd file would be stored - normally :</para>
+
+       <para><filename>/usr/local/samba/private</filename></para>
+
+       <para>In Samba 2.0.x, the filename looks like this:</para>
+
+       <para><filename><replaceable>&lt;NT DOMAIN NAME&gt;</replaceable>.<replaceable>&lt;Samba 
+       Server Name&gt;</replaceable>.mac</filename></para>
+       
+       <para>The <filename>.mac</filename> suffix stands for machine account 
+       password file. So in our example above, the file would be called:</para>
+
+       <para><filename>DOM.SERV1.mac</filename></para>
+
+       <para>In Samba 2.2, this file has been replaced with a TDB 
+       (Trivial Database) file named <filename>secrets.tdb</filename>.
+       </para>
+
+
+       <para>This file is created and owned by root and is not 
+       readable by any other user. It is the key to the domain-level 
+       security for your system, and should be treated as carefully 
+       as a shadow password file.</para>
+
+       <para>Now, before restarting the Samba daemons you must 
+       edit your <ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename>
        </ulink> file to tell Samba it should now use domain security.</para>
        
        <para>Change (or add) your <ulink url="smb.conf.5.html#SECURITY">
        <parameter>security =</parameter></ulink> line in the [global] section 
        of your smb.conf to read:</para>
 
-       <para><command>security = domain</command> or
-       <command>security = ads</command> depending on if the PDC is
-       NT4 or running Active Directory respectivly.</para>
+       <para><command>security = domain</command></para>
 
        <para>Next change the <ulink url="smb.conf.5.html#WORKGROUP"><parameter>
        workgroup =</parameter></ulink> line in the [global] section to read: </para>
 
        <para><command>password server = *</command></para>
 
-       <para>This method, allows Samba to use exactly the same
-        mechanism that NT does. This 
+       <para>This method, which was introduced in Samba 2.0.6, 
+       allows Samba to use exactly the same mechanism that NT does. This 
        method either broadcasts or uses a WINS database in order to
        find domain controllers to authenticate against.</para>
 
-       <para>In order to actually join the domain, you must run this
-        command:</para>
-
-       <para><prompt>root# </prompt><userinput>net join -S DOMPDC
-       -U<replaceable>Administrator%password</replaceable></userinput></para>
-
-       <para>as we are joining the domain DOM and the PDC for that domain 
-       (the only machine that has write access to the domain SAM database) 
-       is DOMPDC. The <replaceable>Administrator%password</replaceable> is 
-       the login name and password for an account which has the necessary 
-       privilege to add machines to the domain.  If this is successful 
-       you will see the message:</para>
-
-       <para><computeroutput>Joined domain DOM.</computeroutput>
-       or <computeroutput>Joined 'SERV1' to realm 'MYREALM'</computeroutput>
-       </para>
-
-       <para>in your terminal window. See the <ulink url="net.8.html">
-       net(8)</ulink> man page for more details.</para>
-       
-       <para>This process joins the server to thedomain
-       without having to create the machine trust account on the PDC
-       beforehand.</para>
-
-       <para>This command goes through the machine account password 
-       change protocol, then writes the new (random) machine account 
-       password for this Samba server into a file in the same directory 
-       in which an smbpasswd file would be stored - normally :</para>
-
-       <para><filename>/usr/local/samba/private/secrets.tdb</filename></para>
-
-       <para>This file is created and owned by root and is not 
-       readable by any other user. It is the key to the domain-level 
-       security for your system, and should be treated as carefully 
-       as a shadow password file.</para>
-
        <para>Finally, restart your Samba daemons and get ready for 
        clients to begin using domain security!</para>
 </sect1>
 <para>
 Many people have asked regarding the state of Samba's ability to participate in
 a Windows 2000 Domain.  Samba 3.0 is able to act as a member server of a Windows
-2000 domain operating in mixed or native mode.  The steps above apply
-to both NT4 and Windows 2000.
+2000 domain operating in mixed or native mode.
+</para>
+
+<para>
+There is much confusion between the circumstances that require a "mixed" mode
+Win2k DC and a when this host can be switched to "native" mode.  A "mixed" mode
+Win2k domain controller is only needed if Windows NT BDCs must exist in the same
+domain.  By default, a Win2k DC in "native" mode will still support
+NetBIOS and NTLMv1 for authentication of legacy clients such as Windows 9x and 
+NT 4.0.  Samba has the same requirements as a Windows NT 4.0 member server.
+</para>
+
+<para>
+The steps for adding a Samba 2.2 host to a Win2k domain are the same as those
+for adding a Samba server to a Windows NT 4.0 domain. The only exception is that 
+the "Server Manager" from NT 4 has been replaced by the "Active Directory Users and 
+Computers" MMC (Microsoft Management Console) plugin.
 </para>
 
 </sect1>
@@ -176,7 +205,13 @@ to both NT4 and Windows 2000.
        <para>And finally, acting in the same manner as an NT server 
        authenticating to a PDC means that as part of the authentication 
        reply, the Samba server gets the user identification information such 
-       as the user SID, the list of NT groups the user belongs to, etc. </para>
+       as the user SID, the list of NT groups the user belongs to, etc. All 
+       this information will allow Samba to be extended in the future into 
+       a mode the developers currently call appliance mode. In this mode, 
+       no local Unix users will be necessary, and Samba will generate Unix 
+       uids and gids from the information passed back from the PDC when a 
+       user is authenticated, making a Samba server truly plug and play 
+       in an NT domain environment. Watch for this code soon.</para>
 
        <para><emphasis>NOTE:</emphasis> Much of the text of this document 
        was first published in the Web magazine <ulink url="http://www.linuxworld.com">         
index 06c1d3a87ee14920e7092f5f871cae36b9671225..6d5a019fcbe03e559f7a420e166e9dbe186f1524 100644 (file)
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="iso8859-1"?>
 <chapter id="groupmapping">
 <chapterinfo>
        <author>
diff --git a/docs/docbook/projdoc/GroupProfiles.sgml b/docs/docbook/projdoc/GroupProfiles.sgml
deleted file mode 100644 (file)
index e5120ae..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-<chapter id="GroupProfiles">
-<chapterinfo>
-       <author>
-               <firstname>John</firstname><surname>Terpstra</surname>
-       </author>
-       <author>
-               <firstname>Jelmer</firstname><surname>Vernooij</surname>
-       </author>
-       <author>
-               <firstname>John</firstname><surname>Russell</surname>
-               <affiliation>
-                       <address><email>apca72@dsl.pipex.com</email></address>
-               </affiliation>
-       </author>
-</chapterinfo>
-
-<title>Creating Group Profiles</title>
-
-<sect1>
-<title>Windows '9x</title>
-<para>
-You need the Win98 Group Policy Editor to
-set Group Profiles up under Windows '9x. It can be found on the Original
-full product Win98 installation CD under 
-<filename>tools/reskit/netadmin/poledit</filename>.  You install this
-using the Add/Remove Programs facility and then click on the 'Have Disk'
-tab.
-</para>
-
-<para>
-Use the Group Policy Editor to create a policy file that specifies the
-location of user profiles and/or the <filename>My Documents</filename> etc.
-stuff. You then save these settings in a file called
-<filename>Config.POL</filename> that needs to be placed in
-the root of the [NETLOGON] share. If your Win98 is configured to log onto
-the Samba Domain, it will automatically read this file and update the
-Win98 registry of the machine that is logging on.
-</para>
-
-<para>
-All of this is covered in the Win98 Resource Kit documentation.
-</para>
-
-<para>
-If you do not do it this way, then every so often Win98 will check the
-integrity of the registry and will restore it's settings from the back-up
-copy of the registry it stores on each Win98 machine. Hence, you will notice
-things changing back to the original settings.
-</para>
-
-</sect1>
-
-<sect1>
-<title>Windows NT 4</title>
-
-<para>
-Unfortunately, the Resource Kit info is Win NT4/2K version specific.
-</para>
-
-<para>
-Here is a quick guide:
-</para>
-
-<itemizedlist>
-
-<listitem><para>
-On your NT4 Domain Controller, right click on 'My Computer', then
-select the tab labelled 'User Profiles'.
-</para></listitem>
-
-<listitem><para>
-Select a user profile you want to migrate and click on it.
-</para>
-
-<note><para>I am using the term &quot;migrate&quot; lossely. You can copy a profile to
-create a group profile. You can give the user 'Everyone' rights to the
-profile you copy this to. That is what you need to do, since your samba
-domain is not a member of a trust relationship with your NT4 PDC.</para></note>
-</listitem>
-
-<listitem><para>Click the 'Copy To' button.</para></listitem>
-
-<listitem><para>In the box labelled 'Copy Profile to' add your new path, eg:
-<filename>c:\temp\foobar</filename></para></listitem>
-
-<listitem><para>Click on the button labelled 'Change' in the "Permitted to use" box.</para></listitem>
-
-<listitem><para>Click on the group 'Everyone' and then click OK. This closes the
-'chose user' box.</para></listitem>
-
-<listitem><para>Now click OK.</para></listitem>
-</itemizedlist>
-
-<para>
-Follow the above for every profile you need to migrate.
-</para>
-
-<sect2>
-<title>Side bar Notes</title>
-
-<para>
-You should obtain the SID of your NT4 domain. You can use smbpasswd to do
-this. Read the man page.</para>
-
-<para>
-With Samba-3.0.0 alpha code you can import all you NT4 domain accounts
-using the net samsync method. This way you can retain your profile
-settings as well as all your users.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Mandatory profiles</title>
-
-<para>
-The above method can be used to create mandatory profiles also. To convert
-a group profile into a mandatory profile simply locate the NTUser.DAT file
-in the copied profile and rename it to NTUser.MAN.
-</para>
-
-</sect2>
-
-<sect2>
-<title>moveuser.exe</title>
-
-<para>
-The W2K professional resource kit has moveuser.exe. moveuser.exe changes
-the security of a profile from one user to another.  This allows the account 
-domain to change, and/or the user name to change.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Get SID</title>
-
-<para>
-You can identify the SID by using GetSID.exe from the Windows NT Server 4.0
-Resource Kit.
-</para>
-
-<para>
-Windows NT 4.0 stores the local profile information in the registry under
-the following key:
-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
-</para>
-
-<para>
-Under the ProfileList key, there will be subkeys named with the SIDs of the
-users who have logged on to this computer. (To find the profile information
-for the user whose locally cached profile you want to move, find the SID for
-the user with the GetSID.exe utility.) Inside of the appropriate user's
-subkey, you will see a string value named ProfileImagePath.
-</para>
-
-</sect2>
-
-</sect1>
-
-<sect1>
-<title>Windows 2000/XP</title>
-
-<para>
-You must first convert the profile from a local profile to a domain
-profile on the MS Windows workstation as follows:
-</para>
-
-<itemizedlist>
-<listitem><para>
-Log on as the LOCAL workstation administrator.
-</para></listitem>
-
-<listitem><para>
-Right click on the 'My Computer' Icon, select 'Properties'
-</para></listitem>
-
-<listitem><para>
-Click on the 'User Profiles' tab
-</para></listitem>
-
-<listitem><para>
-Select the profile you wish to convert (click on it once)
-</para></listitem>
-
-<listitem><para>
-Click on the button 'Copy To'
-</para></listitem>
-
-<listitem><para>
-In the "Permitted to use" box, click on the 'Change' button.
-</para></listitem>
-
-<listitem><para>
-Click on the 'Look in" area that lists the machine name, when you click
-here it will open up a selection box. Click on the domain to which the
-profile must be accessible.
-</para>
-
-<note><para>You will need to log on if a logon box opens up. Eg: In the connect
-as: MIDEARTH\root, password: mypassword.</para></note>
-</listitem>
-
-<listitem><para>
-To make the profile capable of being used by anyone select 'Everyone'
-</para></listitem>
-
-<listitem><para>
-Click OK. The Selection box will close.
-</para></listitem>
-
-<listitem><para>
-Now click on the 'Ok' button to create the profile in the path you
-nominated.
-</para></listitem>
-</itemizedlist>
-
-<para>
-Done. You now have a profile that can be editted using the samba-3.0.0
-profiles tool.
-</para>
-
-<note>
-<para>
-Under NT/2K the use of mandotory profiles forces the use of MS Exchange
-storage of mail data. That keeps desktop profiles usable.
-</para>
-</note>
-
-<note>
-<itemizedlist>
-<listitem><para>
-This is a security check new to Windows XP (or maybe only
-Windows XP service pack 1).  It can be disabled via a group policy in
-Active Directory.  The policy is:</para>
-
-<para>"Computer Configuration\Administrative Templates\System\User
-Profiles\Do not check for user ownership of Roaming Profile Folders"</para>
-
-<para>...and it should be set to "Enabled".
-Does the new version of samba have an Active Directory analogue?  If so,
-then you may be able to set the policy through this.
-</para>
-
-<para>
-If you cannot set group policies in samba, then you may be able to set
-the policy locally on each machine.  If you want to try this, then do
-the following (N.B. I don't know for sure that this will work in the
-same way as a domain group policy):
-</para>
-
-</listitem>
-
-<listitem><para>
-On the XP workstation log in with an Administrator account.
-</para></listitem>
-
-<listitem><para>Click: "Start", "Run"</para></listitem>
-<listitem><para>Type: "mmc"</para></listitem>
-<listitem><para>Click: "OK"</para></listitem>
-
-<listitem><para>A Microsoft Management Console should appear.</para></listitem>
-<listitem><para>Click: File, "Add/Remove Snap-in...", "Add"</para></listitem>
-<listitem><para>Double-Click: "Group Policy"</para></listitem>
-<listitem><para>Click: "Finish", "Close"</para></listitem>
-<listitem><para>Click: "OK"</para></listitem>
-
-<listitem><para>In the "Console Root" window:</para></listitem>
-<listitem><para>Expand: "Local Computer Policy", "Computer Configuration",</para></listitem>
-<listitem><para>"Administrative Templates", "System", "User Profiles"</para></listitem>
-<listitem><para>Double-Click: "Do not check for user ownership of Roaming Profile</para></listitem>
-<listitem><para>Folders"</para></listitem>
-<listitem><para>Select: "Enabled"</para></listitem>
-<listitem><para>Click: OK"</para></listitem>
-
-<listitem><para>Close the whole console.  You do not need to save the settings (this
-refers to the console settings rather than the policies you have
-changed).</para></listitem>
-
-<listitem><para>Reboot</para></listitem>
-</itemizedlist>
-</note>
-
-</sect1>
-</chapter>
index a4e79fd42bbc18e9b7b0567420e538a28c2285b9..3b0faf81af90613a152fa6eeaeca572ce3d50e8d 100644 (file)
@@ -295,16 +295,16 @@ The following are typical NetBIOS name/service type registrations:
 
 <para><programlisting>
        Unique NetBIOS Names:
-               MACHINENAME&lt;00&gt;   = Server Service is running on MACHINENAME
-               MACHINENAME&lt;03&gt; = Generic Machine Name (NetBIOS name)
-               MACHINENAME&lt;20&gt; = LanMan Server service is running on MACHINENAME
-               WORKGROUP&lt;1b&gt; = Domain Master Browser
+               MACHINENAME<00> = Server Service is running on MACHINENAME
+               MACHINENAME<03> = Generic Machine Name (NetBIOS name)
+               MACHINENAME<20> = LanMan Server service is running on MACHINENAME
+               WORKGROUP<1b> = Domain Master Browser
 
        Group Names:
-               WORKGROUP&lt;03&gt; = Generic Name registered by all members of WORKGROUP
-               WORKGROUP&lt;1c&gt; = Domain Controllers / Netlogon Servers
-               WORKGROUP&lt;1d&gt; = Local Master Browsers
-               WORKGROUP&lt;1e&gt; = Internet Name Resolvers
+               WORKGROUP<03> = Generic Name registered by all members of WORKGROUP
+               WORKGROUP<1c> = Domain Controllers / Netlogon Servers
+               WORKGROUP<1d> = Local Master Browsers
+               WORKGROUP<1e> = Internet Name Resolvers
 </programlisting></para>
 
 <para>
@@ -323,7 +323,7 @@ be needed. An example of this is what happens when an MS Windows client
 wants to locate a domain logon server. It find this service and the IP 
 address of a server that provides it by performing a lookup (via a 
 NetBIOS broadcast) for enumeration of all machines that have 
-registered the name type *&lt;1c&gt;. A logon request is then sent to each 
+registered the name type *<1c>. A logon request is then sent to each 
 IP address that is returned in the enumerated list of IP addresses. Which 
 ever machine first replies then ends up providing the logon services.
 </para>
index e3bee32db01218cc2abfc81e8b1070e073c77863..7653e3d1c03af776e23d1f8c61b75ba92895d700 100644 (file)
@@ -128,7 +128,7 @@ the password change is done.
 
 
 <sect1>
-<title>Can Samba be a Backup Domain Controller to an NT PDC?</title>
+<title>Can Samba be a Backup Domain Controller?</title>
 
 <para>
 With version 2.2, no. The native NT SAM replication protocols have
@@ -137,12 +137,6 @@ understanding and implementing the protocols, but this work has not
 been finished for version 2.2.
 </para>
 
-<para>
-With version 3.0, the work on both the replication protocols and a
-suitable storage mechanism has progressed, and some form of NT4 BDC
-support is expected soon.
-</para>
-
 <para>
 Can I get the benefits of a BDC with Samba?  Yes. The main reason for
 implementing a BDC is availability. If the PDC is a Samba machine,
@@ -184,8 +178,7 @@ whenever changes are made, or the PDC is set up as a NIS master
 server and the BDC as a NIS slave server. To set up the BDC as a
 mere NIS client would not be enough, as the BDC would not be able to
 access its user database in case of a PDC failure.
-</para>
-</listitem>
+</para></listitem>
 
 <listitem><para>
 The Samba password database in the file private/smbpasswd has to be
@@ -243,15 +236,5 @@ password.
 
 
 </sect2>
-<sect2>
-<title>Can I do this all with LDAP?</title>
-<para>The simple answer is YES.  Samba's pdb_ldap code supports
-binding to a replica LDAP server, and will also follow referrals and
-rebind to the master if it ever needs to make a modification to the
-database.  (Normally BDCs are read only, so this will not occur
-often).
-</para>
-</sect2>
-
 </sect1>
 </chapter>
index e6d657392472639eb4a299daab8fd5ecb257ca93..7cf3e5735c394fba918d09c31fdd386721e40224 100644 (file)
@@ -142,7 +142,7 @@ Implementing a Samba PDC can basically be divided into 2 broad
 steps.
 </para>
 
-<orderedlist numeration="arabic">
+<orderedlist numeration="Arabic">
        <listitem><para>
        Configuring the Samba PDC
        </para></listitem>
@@ -426,7 +426,7 @@ be created manually.
 
 <para><programlisting>
 [global]
-   # &lt;...remainder of parameters...&gt;
+   # <...remainder of parameters...>
    add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u 
 </programlisting></para>
 
@@ -496,7 +496,7 @@ version of Windows.
        </para>
     
        <para>
-       A 'machine name' in (typically) <filename>/etc/passwd</filename>        
+       A 'machine name' in (typically) <filename>/etc/passwd</>        
        of the machine name with a '$' appended. FreeBSD (and other BSD 
        systems?) won't create a user with a '$' in their name.
        </para>
@@ -504,7 +504,7 @@ version of Windows.
        <para>
        The problem is only in the program used to make the entry, once 
        made, it works perfectly. So create a user without the '$' and 
-       use <command>vipw</command> to edit the entry, adding the '$'. Or create 
+       use <command>vipw</> to edit the entry, adding the '$'. Or create 
        the whole entry with vipw if you like, make sure you use a 
        unique User ID !
        </para>
@@ -673,8 +673,8 @@ Here are some additional details:
        Policy Editor can be installed on an NT Workstation/Server, it will not
        work with NT policies because the registry key that are set by the policy templates. 
        However, the files from the NT Server will run happily enough on an NTws.       
-       You need <filename>poledit.exe, common.adm</filename> and <filename>winnt.adm</filename>. It is convenient
-       to put the two *.adm files in <filename>c:\winnt\inf</filename> which is where
+       You need <filename>poledit.exe, common.adm</> and <filename>winnt.adm</>. It is convenient
+       to put the two *.adm files in <filename>c:\winnt\inf</> which is where
        the binary will look for them unless told otherwise. Note also that that 
        directory is 'hidden'.
        </para>
@@ -928,7 +928,7 @@ general SMB topics such as browsing.</para>
  
        <listitem><para>See how Scott Merrill simulates a BDC behavior at 
         <ulink url="http://www.skippy.net/linux/smb-howto.html">
-        http://www.skippy.net/linux/smb-howto.html</ulink>. </para></listitem>
+        http://www.skippy.net/linux/smb-howto.html</>. </para></listitem>
 
        <listitem><para>Although 2.0.7 has almost had its day as a PDC, David Bannon will
         keep the 2.0.7 PDC pages at <ulink url="http://bioserve.latrobe.edu.au/samba">
@@ -958,8 +958,8 @@ general SMB topics such as browsing.</para>
        <para>
        There are a number of Samba related mailing lists. Go to <ulink 
        url="http://samba.org">http://samba.org</ulink>, click on your nearest mirror
-       and then click on <command>Support</command> and then click on <command>
-       Samba related mailing lists</command>.
+       and then click on <command>Support</> and then click on <command>
+       Samba related mailing lists</>.
        </para>
 
        <para>
@@ -1028,8 +1028,8 @@ general SMB topics such as browsing.</para>
        <para>To have your name removed from a samba mailing list, go to the
        same place you went to to get on it. Go to <ulink 
        url="http://lists.samba.org/">http://lists.samba.org</ulink>, 
-       click on your nearest mirror and then click on <command>Support</command> and 
-       then click on <command> Samba related mailing lists</command>. Or perhaps see 
+       click on your nearest mirror and then click on <command>Support</> and 
+       then click on <command> Samba related mailing lists</>. Or perhaps see 
        <ulink url="http://lists.samba.org/mailman/roster/samba-ntdom">here</ulink>
        </para>
 
@@ -1112,7 +1112,7 @@ worthwhile lookingat how a Windows 9x/ME client performs a logon:
 <listitem>
        <para>
        The client broadcasts (to the IP broadcast address of the subnet it is in)
-       a NetLogon request. This is sent to the NetBIOS name DOMAIN&lt;1c&gt; at the
+       a NetLogon request. This is sent to the NetBIOS name DOMAIN<1c> at the
        NetBIOS layer.  The client chooses the first response it receives, which
        contains the NetBIOS name of the logon server to use in the format of 
        \\SERVER.
@@ -1704,7 +1704,7 @@ contrast to w95, where it _does_ transfer / update profiles correctly].
 
 <sect1>
 <title>
-DOMAIN_CONTROL.txt : Windows NT Domain Control &amp; Samba
+DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba
 </title>
 
 <warning>
index a86cd74235c4dcd96998e4fb1c4eeb5d6f44c6b0..6e1609460fc6f6c56cbaef11a54731bd8f888c63 100644 (file)
@@ -4,7 +4,7 @@
        <author>
                <firstname>Shirish</firstname><surname>Kalele</surname>
                <affiliation>
-                       <orgname>Samba Team &amp; Veritas Software</orgname>
+                       <orgname>Samba Team & Veritas Software</orgname>
                        <address>
                                <email>samba@samba.org</email>
                        </address>
diff --git a/docs/docbook/projdoc/passdb.sgml b/docs/docbook/projdoc/passdb.sgml
deleted file mode 100644 (file)
index e058439..0000000
+++ /dev/null
@@ -1,942 +0,0 @@
-<chapter id="passdb">
-<chapterinfo>
-       <author>
-               <firstname>Jelmer</firstname><surname>Vernooij</surname>
-               <affiliation>
-                       <orgname>The Samba Team</orgname>
-                       <address><email>jelmer@samba.org</email></address>
-               </affiliation>
-       </author>
-       <author>
-               <firstname>Gerald (Jerry)</firstname><surname>Carter</surname>
-               <affiliation>
-                       <orgname>Samba Team</orgname>
-                       <address><email>jerry@samba.org</email></address>
-               </affiliation>
-       </author>
-       <author>
-               <firstname>Olivier (lem)</firstname><surname>Lemaire</surname>
-               <affiliation>
-                       <orgname>IDEALX</orgname>
-                       <address><email>olem@IDEALX.org</email></address>
-               </affiliation>
-       </author>
-       <author>
-               <firstname>Jeremy</firstname><surname>Allison</surname>
-               <affiliation>
-                       <orgname>Samba Team</orgname>
-                       <address>
-                               <email>jra@samba.org</email>
-                       </address>
-               </affiliation>
-       </author>
-       <pubdate>February 2003</pubdate>
-</chapterinfo>
-
-<title>User information database</title>
-
-<sect1>
-       <title>Introduction</title>
-       
-       <para>Newer windows clients send encrypted passwords over 
-       the wire, instead of plain text passwords. The newest clients 
-       will only send encrypted passwords and refuse to send plain text 
-       passwords, unless their registry is tweaked.</para>
-
-       <para>These passwords can't be converted to unix style encrypted 
-       passwords. Because of that you can't use the standard unix 
-       user database, and you have to store the Lanman and NT hashes 
-       somewhere else. Also, windows stores some data for each user 
-       that is not stored by unix. Thus, samba has it's own user database.
-       This user database is maintained by a "passdb backend". Commonly
-       available backends are LDAP, plain text file, MySQL and nisplus.
-       For more information, see the documentation about the 
-       <command>passdb backend = </command> parameter.
-       </para>
-</sect1>
-
-<sect1>
-       <title>Important Notes About Security</title>
-       
-       <para>The unix and SMB password encryption techniques seem similar 
-       on the surface. This similarity is, however, only skin deep. The unix 
-       scheme typically sends clear text passwords over the network when 
-       logging in. This is bad. The SMB encryption scheme never sends the 
-       cleartext password over the network but it does store the 16 byte 
-       hashed values on disk. This is also bad. Why? Because the 16 byte hashed 
-       values are a "password equivalent". You cannot derive the user's 
-       password from them, but they could potentially be used in a modified 
-       client to gain access to a server. This would require considerable 
-       technical knowledge on behalf of the attacker but is perfectly possible. 
-       You should thus treat the smbpasswd file as though it contained the 
-       cleartext passwords of all your users. Its contents must be kept 
-       secret, and the file should be protected accordingly.</para>
-       
-       <para>Ideally we would like a password scheme which neither requires 
-       plain text passwords on the net or on disk. Unfortunately this 
-       is not available as Samba is stuck with being compatible with 
-       other SMB systems (WinNT, WfWg, Win95 etc). </para>
-
-       <warning>
-               <para>Note that Windows NT 4.0 Service pack 3 changed the 
-               default for permissible authentication so that plaintext 
-               passwords are <emphasis>never</emphasis> sent over the wire. 
-               The solution to this is either to switch to encrypted passwords 
-               with Samba or edit the Windows NT registry to re-enable plaintext 
-               passwords. See the document WinNT.txt for details on how to do 
-               this.</para>
-               
-               <para>Other Microsoft operating systems which also exhibit 
-               this behavior includes</para>
-               
-               <itemizedlist>
-                       <listitem><para>MS DOS Network client 3.0 with 
-                       the basic network redirector installed</para></listitem>
-                       
-                       <listitem><para>Windows 95 with the network redirector 
-                       update installed</para></listitem>
-                       
-                       <listitem><para>Windows 98 [se]</para></listitem>
-                       
-                       <listitem><para>Windows 2000</para></listitem>
-               </itemizedlist>
-               
-               <para><emphasis>Note :</emphasis>All current release of 
-               Microsoft SMB/CIFS clients support authentication via the
-               SMB Challenge/Response mechanism described here.  Enabling
-               clear text authentication does not disable the ability
-               of the client to participate in encrypted authentication.</para>
-       </warning>
-
-       <sect2>
-               <title>Advantages of SMB Encryption</title>
-
-               <itemizedlist>
-                       <listitem><para>plain text passwords are not passed across 
-                       the network. Someone using a network sniffer cannot just 
-                       record passwords going to the SMB server.</para>
-                       </listitem>
-                
-                       <listitem><para>WinNT doesn't like talking to a server 
-                       that isn't using SMB encrypted passwords. It will refuse 
-                       to browse the server if the server is also in user level 
-                       security mode. It will insist on prompting the user for the 
-                       password on each connection, which is very annoying. The
-                       only things you can do to stop this is to use SMB encryption.
-                       </para></listitem>
-               </itemizedlist>
-       </sect2>
-
-
-       <sect2>
-               <title>Advantages of non-encrypted passwords</title>
-
-               <itemizedlist>
-                       <listitem><para>plain text passwords are not kept 
-                       on disk. </para></listitem>
-                       
-                       <listitem><para>uses same password file as other unix 
-                       services such as login and ftp</para></listitem>
-                       
-                       <listitem><para>you are probably already using other 
-                       services (such as telnet and ftp) which send plain text 
-                       passwords over the net, so sending them for SMB isn't 
-                       such a big deal.</para></listitem>
-               </itemizedlist>
-       </sect2>
-</sect1>
-
-
-<sect1>
-       <title>The smbpasswd Command</title>
-       
-       <para>The smbpasswd command maintains the two 32 byte password fields 
-       in the smbpasswd file. If you wish to make it similar to the unix 
-       <command>passwd</command> or <command>yppasswd</command> programs, 
-       install it in <filename>/usr/local/samba/bin/</filename> (or your 
-       main Samba binary directory).</para> FIXME
-
-       <para><command>smbpasswd</command> now works in a client-server mode 
-       where it contacts the local smbd to change the user's password on its 
-       behalf. This has enormous benefits - as follows.</para>
-
-       <para><command>smbpasswd</command> now has the capability 
-       to change passwords on Windows NT servers (this only works when 
-       the request is sent to the NT Primary Domain Controller if you 
-       are changing an NT Domain user's password).</para>
-       
-       <para>To run smbpasswd as a normal user just type :</para>
-       
-       <para><prompt>$ </prompt><userinput>smbpasswd</userinput></para>
-       <para><prompt>Old SMB password: </prompt><userinput>&lt;type old value here - 
-       or hit return if there was no old password&gt;</userinput></para>
-       <para><prompt>New SMB Password: </prompt><userinput>&lt;type new value&gt;
-       </userinput></para>
-       <para><prompt>Repeat New SMB Password: </prompt><userinput>&lt;re-type new value
-       </userinput></para>
-       
-       <para>If the old value does not match the current value stored for 
-       that user, or the two new values do not match each other, then the 
-       password will not be changed.</para>
-       
-       <para>If invoked by an ordinary user it will only allow the user 
-       to change his or her own Samba password.</para>
-       
-       <para>If run by the root user smbpasswd may take an optional 
-       argument, specifying the user name whose SMB password you wish to 
-       change.  Note that when run as root smbpasswd does not prompt for 
-       or check the old password value, thus allowing root to set passwords 
-       for users who have forgotten their passwords.</para>
-       
-       <para><command>smbpasswd</command> is designed to work in the same way 
-       and be familiar to UNIX users who use the <command>passwd</command> or 
-       <command>yppasswd</command> commands.</para>
-
-       <para>For more details on using <command>smbpasswd</command> refer 
-       to the man page which will always be the definitive reference.</para>
-</sect1>
-
-<!--
-<sect1>
-<title>The <command>pdbedit</command> command</title>
-FIXME
-</sect1>
--->
-
-<sect1>
-<title>Plain text</title>
-FIXME
-</sect1>
-
-<sect1>
-<title>LDAP</title>
-
-<sect2>
-<title>Introduction</title>
-
-<para>
-This document describes how to use an LDAP directory for storing Samba user
-account information traditionally stored in the smbpasswd(5) file.  It is
-assumed that the reader already has a basic understanding of LDAP concepts
-and has a working directory server already installed.  For more information
-on LDAP architectures and Directories, please refer to the following sites.
-</para>
-
-<itemizedlist>
-       <listitem><para>OpenLDAP - <ulink url="http://www.openldap.org/">http://www.openldap.org/</ulink></para></listitem>
-       <listitem><para>iPlanet Directory Server - <ulink url="http://iplanet.netscape.com/directory">http://iplanet.netscape.com/directory</ulink></para></listitem>
-</itemizedlist>
-
-<para>
-Note that <ulink url="http://www.ora.com/">O'Reilly Publishing</ulink> is working on
-a guide to LDAP for System Administrators which has a planned release date of
-early summer, 2002.
-</para>
-
-<para>
-Two additional Samba resources which may prove to be helpful are
-</para>
-
-<itemizedlist>
-       <listitem><para>The <ulink url="http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html">Samba-PDC-LDAP-HOWTO</ulink>
-       maintained by Ignacio Coupeau.</para></listitem>
-
-       <listitem><para>The NT migration scripts from <ulink url="http://samba.idealx.org/">IDEALX</ulink> that are
-       geared to manage users and group in such a Samba-LDAP Domain Controller configuration.
-       </para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2>
-<title>Introduction</title>
-
-<para>
-Traditionally, when configuring <ulink url="smb.conf.5.html#ENCRYPTPASSWORDS">"encrypt
-passwords = yes"</ulink> in Samba's <filename>smb.conf</filename> file, user account
-information such as username, LM/NT password hashes, password change times, and account
-flags have been stored in the <filename>smbpasswd(5)</filename> file.  There are several
-disadvantages to this approach for sites with very large numbers of users (counted
-in the thousands).
-</para>
-
-<itemizedlist>
-<listitem><para>
-The first is that all lookups must be performed sequentially.  Given that
-there are approximately two lookups per domain logon (one for a normal
-session connection such as when mapping a network drive or printer), this
-is a performance bottleneck for lareg sites.  What is needed is an indexed approach
-such as is used in databases.
-</para></listitem>
-
-<listitem><para>
-The second problem is that administrators who desired to replicate a
-smbpasswd file to more than one Samba server were left to use external
-tools such as <command>rsync(1)</command> and <command>ssh(1)</command>
-and wrote custom, in-house scripts.
-</para></listitem>
-
-<listitem><para>
-And finally, the amount of information which is stored in an
-smbpasswd entry leaves no room for additional attributes such as
-a home directory, password expiration time, or even a Relative
-Identified (RID).
-</para></listitem>
-</itemizedlist>
-
-<para>
-As a result of these defeciencies, a more robust means of storing user attributes
-used by smbd was developed.  The API which defines access to user accounts
-is commonly referred to as the samdb interface (previously this was called the passdb
-API, and is still so named in the CVS trees). In Samba 2.2.3, enabling support
-for a samdb backend (e.g. <parameter>--with-ldapsam</parameter> or
-<parameter>--with-tdbsam</parameter>) requires compile time support.
-</para>
-
-<para>
-When compiling Samba to include the <parameter>--with-ldapsam</parameter> autoconf
-option, smbd (and associated tools) will store and lookup user accounts in
-an LDAP directory.  In reality, this is very easy to understand.  If you are
-comfortable with using an smbpasswd file, simply replace "smbpasswd" with
-"LDAP directory" in all the documentation.
-</para>
-
-<para>
-There are a few points to stress about what the <parameter>--with-ldapsam</parameter>
-does not provide.  The LDAP support referred to in the this documentation does not
-include:
-</para>
-
-<itemizedlist>
-       <listitem><para>A means of retrieving user account information from
-       an Windows 2000 Active Directory server.</para></listitem>
-       <listitem><para>A means of replacing /etc/passwd.</para></listitem>
-</itemizedlist>
-
-<para>
-The second item can be accomplished by using LDAP NSS and PAM modules.  LGPL
-versions of these libraries can be obtained from PADL Software
-(<ulink url="http://www.padl.com/">http://www.padl.com/</ulink>).  However,
-the details of configuring these packages are beyond the scope of this document.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Supported LDAP Servers</title>
-
-<para>
-The LDAP samdb code in 2.2.3 has been developed and tested using the OpenLDAP
-2.0 server and client libraries.  The same code should be able to work with
-Netscape's Directory Server and client SDK. However, due to lack of testing
-so far, there are bound to be compile errors and bugs.  These should not be
-hard to fix. If you are so inclined, please be sure to forward all patches to
-<ulink url="samba-patches@samba.org">samba-patches@samba.org</ulink> and
-<ulink url="jerry@samba.org">jerry@samba.org</ulink>.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Schema and Relationship to the RFC 2307 posixAccount</title>
-
-
-<para>
-Samba 3.0 includes the necessary schema file for OpenLDAP 2.0 in
-<filename>examples/LDAP/samba.schema</filename>.  The sambaAccount objectclass is given here:
-</para>
-
-<para><programlisting>
-objectclass ( 1.3.1.5.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
-     DESC 'Samba Account'
-     MUST ( uid $ rid )
-     MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
-            logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $
-            displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
-            description $ userWorkstations $ primaryGroupID $ domain ))
-</programlisting></para>
-
-<para>
-The samba.schema file has been formatted for OpenLDAP 2.0.  The OID's are
-owned by the Samba Team and as such is legal to be openly published.
-If you translate the schema to be used with Netscape DS, please
-submit the modified schema file as a patch to <ulink
-url="jerry@samba.org">jerry@samba.org</ulink>
-</para>
-
-<para>
-Just as the smbpasswd file is mean to store information which supplements a
-user's <filename>/etc/passwd</filename> entry, so is the sambaAccount object
-meant to supplement the UNIX user account information.  A sambaAccount is a
-<constant>STRUCTURAL</constant> objectclass so it can be stored individually
-in the directory.  However, there are several fields (e.g. uid) which overlap
-with the posixAccount objectclass outlined in RFC2307.  This is by design.
-</para>
-
-<!--olem: we should perhaps have a note about shadowAccounts too as many
-systems use them, isn'it ? -->
-
-<para>
-In order to store all user account information (UNIX and Samba) in the directory,
-it is necessary to use the sambaAccount and posixAccount objectclasses in
-combination.  However, smbd will still obtain the user's UNIX account
-information via the standard C library calls (e.g. getpwnam(), et. al.).
-This means that the Samba server must also have the LDAP NSS library installed
-and functioning correctly.  This division of information makes it possible to
-store all Samba account information in LDAP, but still maintain UNIX account
-information in NIS while the network is transitioning to a full LDAP infrastructure.
-</para>
-</sect2>
-
-<sect2>
-<title>Configuring Samba with LDAP</title>
-
-
-<sect3>
-<title>OpenLDAP configuration</title>
-
-<para>
-To include support for the sambaAccount object in an OpenLDAP directory
-server, first copy the samba.schema file to slapd's configuration directory.
-</para>
-
-<para>
-<prompt>root# </prompt><command>cp samba.schema /etc/openldap/schema/</command>
-</para>
-
-<para>
-Next, include the <filename>samba.schema</filename> file in <filename>slapd.conf</filename>.
-The sambaAccount object contains two attributes which depend upon other schema
-files.  The 'uid' attribute is defined in <filename>cosine.schema</filename> and
-the 'displayName' attribute is defined in the <filename>inetorgperson.schema</filename>
-file.  Both of these must be included before the <filename>samba.schema</filename> file.
-</para>
-
-<para><programlisting>
-## /etc/openldap/slapd.conf
-
-## schema files (core.schema is required by default)
-include                   /etc/openldap/schema/core.schema
-
-## needed for sambaAccount
-include            /etc/openldap/schema/cosine.schema
-include            /etc/openldap/schema/inetorgperson.schema
-include            /etc/openldap/schema/samba.schema
-
-## uncomment this line if you want to support the RFC2307 (NIS) schema
-## include         /etc/openldap/schema/nis.schema
-
-....
-</programlisting></para>
-
-<para>
-It is recommended that you maintain some indices on some of the most usefull attributes,
-like in the following example, to speed up searches made on sambaAccount objectclasses
-(and possibly posixAccount and posixGroup as well).
-</para>
-<para><programlisting>
-# Indices to maintain
-## required by OpenLDAP 2.0
-index objectclass   eq
-
-## support pb_getsampwnam()
-index uid           pres,eq
-## support pdb_getsambapwrid()
-index rid           eq
-
-## uncomment these if you are storing posixAccount and
-## posixGroup entries in the directory as well
-##index uidNumber     eq
-##index gidNumber     eq
-##index cn            eq
-##index memberUid     eq
-</programlisting></para>
-</sect3>
-
-
-<sect3>
-<title>Configuring Samba</title>
-<!--lem: <title>smb.conf LDAP parameters</title> -->
-
-<para>
-The following parameters are available in smb.conf only with <parameter>--with-ldapsam</parameter>
-was included with compiling Samba.
-</para>
-
-<itemizedlist>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPSSL">ldap ssl</ulink></para></listitem>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPSERVER">ldap server</ulink></para></listitem>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPADMINDN">ldap admin dn</ulink></para></listitem>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPSUFFIX">ldap suffix</ulink></para></listitem>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPFILTER">ldap filter</ulink></para></listitem>
-       <listitem><para><ulink url="smb.conf.5.html#LDAPPORT">ldap port</ulink></para></listitem>
-</itemizedlist>
-
-<para>
-These are described in the <ulink url="smb.conf.5.html">smb.conf(5)</ulink> man
-page and so will not be repeated here.  However, a sample smb.conf file for
-use with an LDAP directory could appear as
-</para>
-
-<para><programlisting>
-## /usr/local/samba/lib/smb.conf
-[global]
-     security = user
-     encrypt passwords = yes
-
-     netbios name = TASHTEGO
-     workgroup = NARNIA
-
-     # ldap related parameters
-
-     # define the DN to use when binding to the directory servers
-     # The password for this DN is not stored in smb.conf.  Rather it
-     # must be set by using 'smbpasswd -w <replaceable>secretpw</replaceable>' to store the
-     # passphrase in the secrets.tdb file.  If the "ldap admin dn" values
-     # changes, this password will need to be reset.
-     ldap admin dn = "cn=Samba Manager,ou=people,dc=samba,dc=org"
-
-     #  specify the LDAP server's hostname (defaults to locahost)
-     ldap server = ahab.samba.org
-
-     # Define the SSL option when connecting to the directory
-     # ('off', 'start tls', or 'on' (default))
-     ldap ssl = start tls
-
-     # define the port to use in the LDAP session (defaults to 636 when
-     # "ldap ssl = on")
-     ldap port = 389
-
-     # specify the base DN to use when searching the directory
-     ldap suffix = "ou=people,dc=samba,dc=org"
-
-     # generally the default ldap search filter is ok
-     # ldap filter = "(&amp;(uid=%u)(objectclass=sambaAccount))"
-</programlisting></para>
-
-
-</sect3>
-</sect2>
-
-
-<sect2>
-<title>Accounts and Groups management</title>
-
-<para>
-As users accounts are managed thru the sambaAccount objectclass, you should
-modify you existing administration tools to deal with sambaAccount attributes.
-</para>
-
-<para>
-Machines accounts are managed with the sambaAccount objectclass, just
-like users accounts. However, it's up to you to stored thoses accounts
-in a different tree of you LDAP namespace: you should use
-"ou=Groups,dc=plainjoe,dc=org" to store groups and
-"ou=People,dc=plainjoe,dc=org" to store users. Just configure your
-NSS and PAM accordingly (usually, in the /etc/ldap.conf configuration
-file).
-</para>
-
-<para>
-In Samba release 3.0, the group management system is based on posix
-groups. This means that Samba make usage of the posixGroup objectclass.
-For now, there is no NT-like group system management (global and local
-groups).
-</para>
-
-</sect2>
-
-<sect2>
-<title>Security and sambaAccount</title>
-
-
-<para>
-There are two important points to remember when discussing the security
-of sambaAccount entries in the directory.
-</para>
-
-<itemizedlist>
-       <listitem><para><emphasis>Never</emphasis> retrieve the lmPassword or
-       ntPassword attribute values over an unencrypted LDAP session.</para></listitem>
-       <listitem><para><emphasis>Never</emphasis> allow non-admin users to
-       view the lmPassword or ntPassword attribute values.</para></listitem>
-</itemizedlist>
-
-<para>
-These password hashes are clear text equivalents and can be used to impersonate
-the user without deriving the original clear text strings.  For more information
-on the details of LM/NT password hashes, refer to the <ulink
-url="ENCRYPTION.html">ENCRYPTION chapter</ulink> of the Samba-HOWTO-Collection.
-</para>
-
-<para>
-To remedy the first security issue, the "ldap ssl" smb.conf parameter defaults
-to require an encrypted session (<command>ldap ssl = on</command>) using
-the default port of 636
-when contacting the directory server.  When using an OpenLDAP 2.0 server, it
-is possible to use the use the StartTLS LDAP extended  operation in the place of
-LDAPS.  In either case, you are strongly discouraged to disable this security
-(<command>ldap ssl = off</command>).
-</para>
-
-<para>
-Note that the LDAPS protocol is deprecated in favor of the LDAPv3 StartTLS
-extended operation.  However, the OpenLDAP library still provides support for
-the older method of securing communication between clients and servers.
-</para>
-
-<para>
-The second security precaution is to prevent non-administrative users from
-harvesting password hashes from the directory.  This can be done using the
-following ACL in <filename>slapd.conf</filename>:
-</para>
-
-<para><programlisting>
-## allow the "ldap admin dn" access, but deny everyone else
-access to attrs=lmPassword,ntPassword
-     by dn="cn=Samba Admin,ou=people,dc=plainjoe,dc=org" write
-     by * none
-</programlisting></para>
-
-
-</sect2>
-
-
-
-<sect2>
-<title>LDAP specials attributes for sambaAccounts</title>
-
-<para>
-The sambaAccount objectclass is composed of the following attributes:
-</para>
-
-<itemizedlist>
-
-       <listitem><para><constant>lmPassword</constant>: the LANMAN password 16-byte hash stored as a character
-       representation of a hexidecimal string.</para></listitem>
-
-       <listitem><para><constant>ntPassword</constant>: the NT password hash 16-byte stored as a character
-       representation of a hexidecimal string.</para></listitem>
-
-       <listitem><para><constant>pwdLastSet</constant>: The integer time in seconds since 1970 when the
-       <constant>lmPassword</constant> and <constant>ntPassword</constant> attributes were last set.
-       </para></listitem>
-
-       <listitem><para><constant>acctFlags</constant>: string of 11 characters surrounded by square brackets []
-       representing account flags such as U (user), W(workstation), X(no password expiration), and
-       D(disabled).</para></listitem>
-
-       <listitem><para><constant>logonTime</constant>: Integer value currently unused</para></listitem>
-
-       <listitem><para><constant>logoffTime</constant>: Integer value currently unused</para></listitem>
-
-       <listitem><para><constant>kickoffTime</constant>: Integer value currently unused</para></listitem>
-
-       <listitem><para><constant>pwdCanChange</constant>: Integer value currently unused</para></listitem>
-
-       <listitem><para><constant>pwdMustChange</constant>: Integer value currently unused</para></listitem>
-
-       <listitem><para><constant>homeDrive</constant>: specifies the drive letter to which to map the
-       UNC path specified by homeDirectory. The drive letter must be specified in the form "X:"
-       where X is the letter of the drive to map. Refer to the "logon drive" parameter in the
-       smb.conf(5) man page for more information.</para></listitem>
-
-       <listitem><para><constant>scriptPath</constant>: The scriptPath property specifies the path of
-       the user's logon script, .CMD, .EXE, or .BAT file. The string can be null. The path
-       is relative to the netlogon share.  Refer to the "logon script" parameter in the
-       smb.conf(5) man page for more information.</para></listitem>
-
-       <listitem><para><constant>profilePath</constant>: specifies a path to the user's profile.
-       This value can be a null string, a local absolute path, or a UNC path.  Refer to the
-       "logon path" parameter in the smb.conf(5) man page for more information.</para></listitem>
-
-       <listitem><para><constant>smbHome</constant>: The homeDirectory property specifies the path of
-       the home directory for the user. The string can be null. If homeDrive is set and specifies
-       a drive letter, homeDirectory should be a UNC path. The path must be a network
-       UNC path of the form \\server\share\directory. This value can be a null string.
-       Refer to the "logon home" parameter in the smb.conf(5) man page for more information.
-       </para></listitem>
-
-       <listitem><para><constant>userWorkstation</constant>: character string value currently unused.
-       </para></listitem>
-
-       <listitem><para><constant>rid</constant>: the integer representation of the user's relative identifier
-       (RID).</para></listitem>
-
-       <listitem><para><constant>primaryGroupID</constant>: the relative identifier (RID) of the primary group
-       of the user.</para></listitem>
-
-</itemizedlist>
-
-<para>
-The majority of these parameters are only used when Samba is acting as a PDC of
-a domain (refer to the <ulink url="Samba-PDC-HOWTO.html">Samba-PDC-HOWTO</ulink> for details on
-how to configure Samba as a Primary Domain Controller). The following four attributes
-are only stored with the sambaAccount entry if the values are non-default values:
-</para>
-
-<itemizedlist>
-       <listitem><para>smbHome</para></listitem>
-       <listitem><para>scriptPath</para></listitem>
-       <listitem><para>logonPath</para></listitem>
-       <listitem><para>homeDrive</para></listitem>
-</itemizedlist>
-
-<para>
-These attributes are only stored with the sambaAccount entry if
-the values are non-default values.  For example, assume TASHTEGO has now been
-configured as a PDC and that <command>logon home = \\%L\%u</command> was defined in
-its <filename>smb.conf</filename> file. When a user named "becky" logons to the domain,
-the <parameter>logon home</parameter> string is expanded to \\TASHTEGO\becky.
-If the smbHome attribute exists in the entry "uid=becky,ou=people,dc=samba,dc=org",
-this value is used.  However, if this attribute does not exist, then the value
-of the <parameter>logon home</parameter> parameter is used in its place.  Samba
-will only write the attribute value to the directory entry is the value is
-something other than the default (e.g. \\MOBY\becky).
-</para>
-
-
-</sect2>
-
-
-
-<sect2>
-<title>Example LDIF Entries for a sambaAccount</title>
-
-
-<para>
-The following is a working LDIF with the inclusion of the posixAccount objectclass:
-</para>
-
-<para><programlisting>
-dn: uid=guest2, ou=people,dc=plainjoe,dc=org
-ntPassword: 878D8014606CDA29677A44EFA1353FC7
-pwdMustChange: 2147483647
-primaryGroupID: 1201
-lmPassword: 552902031BEDE9EFAAD3B435B51404EE
-pwdLastSet: 1010179124
-logonTime: 0
-objectClass: sambaAccount
-uid: guest2
-kickoffTime: 2147483647
-acctFlags: [UX         ]
-logoffTime: 2147483647
-rid: 19006
-pwdCanChange: 0
-</programlisting></para>
-
-<para>
-The following is an LDIF entry for using both the sambaAccount and
-posixAccount objectclasses:
-</para>
-
-<para><programlisting>
-dn: uid=gcarter, ou=people,dc=plainjoe,dc=org
-logonTime: 0
-displayName: Gerald Carter
-lmPassword: 552902031BEDE9EFAAD3B435B51404EE
-primaryGroupID: 1201
-objectClass: posixAccount
-objectClass: sambaAccount
-acctFlags: [UX         ]
-userPassword: {crypt}BpM2ej8Rkzogo
-uid: gcarter
-uidNumber: 9000
-cn: Gerald Carter
-loginShell: /bin/bash
-logoffTime: 2147483647
-gidNumber: 100
-kickoffTime: 2147483647
-pwdLastSet: 1010179230
-rid: 19000
-homeDirectory: /home/tashtego/gcarter
-pwdCanChange: 0
-pwdMustChange: 2147483647
-ntPassword: 878D8014606CDA29677A44EFA1353FC7
-</programlisting></para>
-
-</sect2>
-</sect1>
-
-<sect1>
-<title>Passdb MySQL plugin</title>
-
-<sect2>
-<title>Building</title>
-
-<para>To build the plugin, run <command>make bin/pdb_mysql.so</command>
-in the <filename>source/</filename> directory of samba distribution. 
-</para>
-
-<para>Next, copy pdb_mysql.so to any location you want. I 
-strongly recommend installing it in $PREFIX/lib or /usr/lib/samba/</para>
-
-</sect2>
-
-<sect2>
-<title>Creating the database</title>
-
-<para>
-You either can set up your own table and specify the field names to pdb_mysql (see below
-for the column names) or use the default table. The file <filename>examples/pdb/mysql/mysql.dump</filename> 
-contains the correct queries to create the required tables. Use the command :
-
-<command>mysql -u<replaceable>username</replaceable> -h<replaceable>hostname</replaceable> -p<replaceable>password</replaceable> <replaceable>databasename</replaceable> < <filename>/path/to/samba/examples/pdb/mysql/mysql.dump</filename></command>
-
-</para>
-</sect2>
-
-<sect2>
-<title>Configuring</title>
-
-<para>This plugin lacks some good documentation, but here is some short info:</para>
-
-<para>Add a the following to the <command>passdb backend</command> variable in your <filename>smb.conf</filename>:
-<programlisting>
-passdb backend = [other-plugins] plugin:/location/to/pdb_mysql.so:identifier [other-plugins]
-</programlisting>
-</para>
-
-<para>The identifier can be any string you like, as long as it doesn't collide with 
-the identifiers of other plugins or other instances of pdb_mysql. If you 
-specify multiple pdb_mysql.so entries in 'passdb backend', you also need to 
-use different identifiers!
-</para>
-
-<para>
-Additional options can be given thru the smb.conf file in the [global] section.
-</para>
-
-<para><programlisting>
-identifier:mysql host                     - host name, defaults to 'localhost'
-identifier:mysql password
-identifier:mysql user                     - defaults to 'samba'
-identifier:mysql database                 - defaults to 'samba'
-identifier:mysql port                     - defaults to 3306
-identifier:table                          - Name of the table containing users
-</programlisting></para>
-
-<para>
-<emphasis>
-WARNING: since the password for the mysql user is stored in the 
-smb.conf file, you should make the the smb.conf file 
-readable only to the user that runs samba. This is considered a security 
-bug and will be fixed soon.</emphasis>
-</para>
-
-<para>Names of the columns in this table(I've added column types those columns should have first):</para>
-
-<para><programlisting>
-identifier:logon time column             - int(9)
-identifier:logoff time column            - int(9)
-identifier:kickoff time column           - int(9)
-identifier:pass last set time column     - int(9)
-identifier:pass can change time column   - int(9)
-identifier:pass must change time column  - int(9)
-identifier:username column               - varchar(255) - unix username
-identifier:domain column                 - varchar(255) - NT domain user is part of
-identifier:nt username column            - varchar(255) - NT username
-identifier:fullname column            - varchar(255) - Full name of user
-identifier:home dir column               - varchar(255) - Unix homedir path
-identifier:dir drive column              - varchar(2) - Directory drive path (eg: 'H:')
-identifier:logon script column           - varchar(255) - Batch file to run on client side when logging on
-identifier:profile path column           - varchar(255) - Path of profile
-identifier:acct desc column              - varchar(255) - Some ASCII NT user data
-identifier:workstations column           - varchar(255) - Workstations user can logon to (or NULL for all)
-identifier:unknown string column         - varchar(255) - unknown string
-identifier:munged dial column            - varchar(255) - ?
-identifier:uid column                    - int(9) - Unix user ID (uid)
-identifier:gid column                    - int(9) - Unix user group (gid)
-identifier:user sid column               - varchar(255) - NT user SID
-identifier:group sid column              - varchar(255) - NT group ID
-identifier:lanman pass column            - varchar(255) - encrypted lanman password
-identifier:nt pass column                - varchar(255) - encrypted nt passwd
-identifier:plain pass column             - varchar(255) - plaintext password
-identifier:acct control column           - int(9) - nt user data
-identifier:unknown 3 column              - int(9) - unknown
-identifier:logon divs column             - int(9) - ?
-identifier:hours len column              - int(9) - ?
-identifier:unknown 5 column              - int(9) - unknown
-identifier:unknown 6 column              - int(9) - unknown
-</programlisting></para>
-
-<para>
-Eventually, you can put a colon (:) after the name of each column, which 
-should specify the column to update when updating the table. You can also
-specify nothing behind the colon - then the data from the field will not be 
-updated. 
-</para>
-
-</sect2>
-
-<sect2>
-<title>Using plaintext passwords or encrypted password</title>
-
-<para>
-I strongly discourage the use of plaintext passwords, however, you can use them:
-</para>
-
-<para>
-If you would like to use plaintext passwords, set 'identifier:lanman pass column' and 'identifier:nt pass column' to 'NULL' (without the quotes) and 'identifier:plain pass column' to the name of the column containing the plaintext passwords. 
-</para>
-
-<para>
-If you use encrypted passwords, set the 'identifier:plain pass column' to 'NULL' (without the quotes). This is the default.
-</para>
-
-</sect2>
-
-<sect2>
-<title>Getting non-column data from the table</title>
-
-<para>
-It is possible to have not all data in the database and making some 'constant'.
-</para>
-
-<para>
-For example, you can set 'identifier:fullname column' to : 
-<command>CONCAT(First_name,' ',Sur_name)</command>
-</para>
-
-<para>
-Or, set 'identifier:workstations column' to :
-<command>NULL</command></para>
-
-<para>See the MySQL documentation for more language constructs.</para>
-
-</sect2>
-</sect1>
-
-<sect1>
-<title>Passdb XML plugin</title>
-
-<sect2>
-<title>Building</title>
-
-<para>This module requires libxml2 to be installed.</para>
-
-<para>To build pdb_xml, run: <command>make bin/pdb_xml.so</command> in 
-the directory <filename>source/</filename>. </para>
-
-</sect2>
-
-<sect2>
-<title>Usage</title>
-
-<para>The usage of pdb_xml is pretty straightforward. To export data, use:
-
-<command>pdbedit -e plugin:/usr/lib/samba/pdb_xml.so:filename</command>
-
-(where filename is the name of the file to put the data in)
-</para>
-
-<para>
-To import data, use:
-<command>pdbedit -i plugin:/usr/lib/samba/pdb_xml.so:filename -e current-pdb</command>
-
-Where filename is the name to read the data from and current-pdb to put it in.
-</para>
-</sect2>
-</sect1>
-
-</chapter>
index 66c12a23398a9062aa75a16bbb4a9f39d787f25d..59a134a15f39854e3c1fb551859e8f76b0305cb3 100644 (file)
@@ -24,19 +24,6 @@ strongly recommend installing it in $PREFIX/lib or /usr/lib/samba/</para>
 
 </sect1>
 
-<sect1>
-<title>Creating the database</title>
-
-<para>
-You either can set up your own table and specify the field names to pdb_mysql (see below
-for the column names) or use the default table. The file <filename>examples/pdb/mysql/mysql.dump</filename> 
-contains the correct queries to create the required tables. Use the command :
-
-<command>mysql -u<replaceable>username</replaceable> -h<replaceable>hostname</replaceable> -p<replaceable>password</replaceable> <replaceable>databasename</replaceable> < <filename>/path/to/samba/examples/pdb/mysql/mysql.dump</filename></command>
-
-</para>
-</sect1>
-
 <sect1>
 <title>Configuring</title>
 
index 8d15e437b27fc4501621856705f7f757b2112671..7bca8dc6f57b1e2fa3974a6678cc5eb10f0fd99f 100644 (file)
@@ -409,8 +409,8 @@ echo "  :sd=/var/spool/lpd/$2:\\"                   >> $PRINTCAP
 echo "  :mx=0:ml=0:sh:\\"                              >> $PRINTCAP
 echo "  :lp=/usr/local/samba/var/print/$5.prn:"        >> $PRINTCAP
 
-touch "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&amp;1
-chown $LP "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&amp;1
+touch "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&1
+chown $LP "/usr/local/samba/var/print/$5.prn" >> /tmp/printadd.$$ 2>&1
 
 mkdir /var/spool/lpd/$2
 chmod 700 /var/spool/lpd/$2
@@ -757,7 +757,7 @@ be:
     /usr/bin/id -p >/tmp/tmp.print
     # we run the command and save the error messages
     # replace the command with the one appropriate for your system
-    /usr/bin/lpr -r -P$1 $2 2>>&amp;/tmp/tmp.print
+    /usr/bin/lpr -r -P$1 $2 2>>&/tmp/tmp.print
 </programlisting></para>
 
 <para>
index e645a88f1d6be46c3e7e4ae765dd55a0532f53c8..8cf16478c8ed73cb95312d0461614a964fc22eeb 100644 (file)
@@ -25,7 +25,6 @@
 <!ENTITY pdb-mysql SYSTEM "pdb_mysql.sgml">
 <!ENTITY pdb-xml SYSTEM "pdb_xml.sgml">
 <!ENTITY VFS SYSTEM "VFS.sgml">
-<!ENTITY GroupProfiles SYSTEM "GroupProfiles.sgml">
 ]>
 
 <book id="Samba-HOWTO-Collection">
@@ -120,7 +119,6 @@ part each cover one specific feature.</para>
 &CVS-Access;
 &GROUP-MAPPING-HOWTO;
 &SPEED;
-&GroupProfiles;
 </part>
 
 <part id="Appendixes">
index 06579617f5c20d7de4c8dac4aba6799dd673a1d2..d2bfb8ab679c1855c69991a633afbca17d74a165 100644 (file)
@@ -2,7 +2,6 @@
 
 
 <chapterinfo>
-       <authorgroup>
        <author>
                <firstname>Tim</firstname><surname>Potter</surname>
                <affiliation>
@@ -11,7 +10,7 @@
                </affiliation>
        </author>
        <author>
-               <firstname>Andrew</firstname><surname>Tridgell</surname>
+               <firstname>Andrew</firstname><surname>Trigdell</surname>
                <affiliation>
                        <orgname>Samba Team</orgname>
                        <address><email>tridge@linuxcare.com.au</email></address>
@@ -36,7 +35,6 @@
                        <address><email>jelmer@nl.linux.org</email></address>
                </affiliation>
        </author>
-       </authorgroup>
        <pubdate>27 June 2002</pubdate>
 </chapterinfo>
 
        <sect2>
                <title>Microsoft Remote Procedure Calls</title>
                
-               <para>Over the last few years, efforts have been underway 
+               <para>Over the last two years, efforts have been underway 
                by various Samba Team members to decode various aspects of 
                the Microsoft Remote Procedure Call (MSRPC) system. This 
                system is used for most network related operations between 
                NT account information onto UNIX user and group names.</para>
        </sect2>
        
-       <sect2>
-               <title>Microsoft Active Directory Services</title>
-
-               <para>
-                Since late 2001, Samba has gained the ability to
-                interact with Microsoft Windows 2000 using its 'Native
-                Mode' protocols, rather than the NT4 RPC services.
-                Using LDAP and Kerberos, a domain member running
-                winbind can enumerate users and groups in exactly the
-                same way as a Win2k client would, and in so doing
-                provide a much more efficient and
-                effective winbind implementation.  
-                </para>
-       </sect2>
-       
        <sect2>
                <title>Name Service Switch</title>
                
@@ -481,7 +464,7 @@ whether or not you have previously built the Samba binaries.
 <prompt>root#</prompt> <command>autoconf</command>
 <prompt>root#</prompt> <command>make clean</command>
 <prompt>root#</prompt> <command>rm config.cache</command>
-<prompt>root#</prompt> <command>./configure</command>
+<prompt>root#</prompt> <command>./configure --with-winbind</command>
 <prompt>root#</prompt> <command>make</command>
 <prompt>root#</prompt> <command>make install</command>
 </programlisting></para>
@@ -569,7 +552,7 @@ include the following entries in the [global] section:
 
 <para><programlisting>
 [global]
-     &lt;...&gt;
+     <...>
      # separate domain and username with '+', like DOMAIN+username
      <ulink url="winbindd.8.html#WINBINDSEPARATOR">winbind separator</ulink> = +
      # use uids from 10000 to 20000 for domain users
@@ -599,7 +582,7 @@ a domain user who has administrative privileges in the domain.
        
 
 <para>
-<prompt>root#</prompt> <command>/usr/local/samba/bin/net join -S PDC -U Administrator</command>
+<prompt>root#</prompt> <command>/usr/local/samba/bin/net rpc join -S PDC -U Administrator</command>
 </para>
 
 
@@ -750,7 +733,7 @@ start() {
         daemon /usr/local/samba/bin/winbindd
         RETVAL3=$?
         echo
-        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] &amp;&amp; touch /var/lock/subsys/smb || \
+        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] && touch /var/lock/subsys/smb || \
            RETVAL=1
         return $RETVAL
 }
@@ -777,7 +760,7 @@ stop() {
         echo -n $"Shutting down $KIND services: "
         killproc winbindd
         RETVAL3=$?
-        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] &amp;&amp; rm -f /var/lock/subsys/smb
+        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] && rm -f /var/lock/subsys/smb
         echo ""
         return $RETVAL
 }
@@ -808,7 +791,7 @@ killproc() {            # kill the named process(es)
         pid=`/usr/bin/ps -e |
              /usr/bin/grep -w $1 |
              /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
-        [ "$pid" != "" ] &amp;&amp; kill $pid
+        [ "$pid" != "" ] && kill $pid
 }
  
 # Start/stop processes required for samba server
@@ -1059,7 +1042,7 @@ annoying double prompts for passwords.
 </para>
 
 <para>
-Now restart your Samba and try connecting through your application that you
+Now restart your Samba & try connecting through your application that you
 configured in the pam.conf.
 </para>
 
@@ -1080,7 +1063,7 @@ configured in the pam.conf.
 
        <itemizedlist>
                <listitem><para>Winbind is currently only available for 
-               the Linux, Solaris and IRIX operating systems, although ports to other operating 
+               the Linux operating system, although ports to other operating 
                systems are certainly possible. For such ports to be feasible, 
                we require the C library of the target operating system to 
                support the Name Service Switch and Pluggable Authentication
@@ -1096,8 +1079,7 @@ configured in the pam.conf.
                
                <listitem><para>Currently the winbind PAM module does not take 
                into account possible workstation and logon time restrictions 
-               that may be been set for Windows NT users, this is
-               instead up to the PDC to enforce.</para></listitem>
+               that may be been set for Windows NT users.</para></listitem>
        </itemizedlist>
 </sect1>
 
index b48e2363778c15bdb8be1958ef7b3fda01d7d622..d24e778b2af2bd39a41ef213985983caee528dcc 100644 (file)
@@ -5,7 +5,8 @@
 >Specific client application problems</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="CLIENTAPP"
-></A
->Chapter 4. Specific client application problems</H1
+NAME="CLIENTAPP">Chapter 4. Specific client application problems</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN175"
-></A
->4.1. MS Office Setup reports "Cannot change properties of '\MSOFFICE\SETUP.INI'"</H1
+NAME="AEN174">4.1. MS Office Setup reports "Cannot change properties of '\MSOFFICE\SETUP.INI'"</H1
 ><P
 >When installing MS Office on a Samba drive for which you have admin
 user permissions, ie. admin users = username, you will find the
@@ -98,9 +95,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN180"
-></A
->4.2. How to use a Samba share as an administrative share for MS Office, etc.</H1
+NAME="AEN179">4.2. How to use a Samba share as an administrative share for MS Office, etc.</H1
 ><P
 >Microsoft Office products can be installed as an administrative installation
 from which the application can either be run off the administratively installed
@@ -160,9 +155,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN195"
-></A
->4.3. Microsoft Access database opening errors</H1
+NAME="AEN194">4.3. Microsoft Access database opening errors</H1
 ><P
 >Here are some notes on running MS-Access on a Samba drive from <A
 HREF="stefank@esi.com.au"
index 08da5e5db08e7b3f866a4f87b04fc919559877e4..a918a73efc73e6365ec883550be53de2a5a2810a 100644 (file)
@@ -5,7 +5,8 @@
 >Common errors</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="ERRORS"
-></A
->Chapter 5. Common errors</H1
+NAME="ERRORS">Chapter 5. Common errors</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN206"
-></A
->5.1. Not listening for calling name</H1
+NAME="AEN205">5.1. Not listening for calling name</H1
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
@@ -103,9 +100,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN213"
-></A
->5.2. System Error 1240</H1
+NAME="AEN212">5.2. System Error 1240</H1
 ><P
 >System error 1240 means that the client is refusing to talk
 to a non-encrypting server. Microsoft changed WinNT in service
@@ -139,9 +134,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN220"
-></A
->5.3. smbclient ignores -N !</H1
+NAME="AEN219">5.3. smbclient ignores -N !</H1
 ><P
 ><SPAN
 CLASS="QUOTE"
@@ -153,30 +146,34 @@ CLASS="COMMAND"
 the program always prompts for the password if the server is a Samba server.
 It also ignores the "-N" argument when querying some (but not all) of our
 NT servers."</SPAN
->&#13;</P
-><P
+>
+
+<P
 >No, it does not ignore -N, it is just that your server rejected the 
 null password in the connection, so smbclient prompts for a password
 to try again.</P
-><P
+>
+
+<P
 >To get the behaviour that you probably want use <B
 CLASS="COMMAND"
 >smbclient -L host -U%</B
 ></P
-><P
+>
+
+<P
 >This will set both the username and password to null, which is
 an anonymous login for SMB. Using -N would only set the password
 to null, and this is not accepted as an anonymous login for most
 SMB servers.</P
+>&#13;</P
 ></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN229"
-></A
->5.4. The data on the CD-Drive I've shared seems to be corrupted!</H1
+NAME="AEN228">5.4. The data on the CD-Drive I've shared seems to be corrupted!</H1
 ><P
 >Some OSes (notably Linux) default to auto detection of file type on
 cdroms and do cr/lf translation. This is a very bad idea when use with
@@ -190,9 +187,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN233"
-></A
->5.5. Why can users access home directories of other users?</H1
+NAME="AEN232">5.5. Why can users access home directories of other users?</H1
 ><P
 ><SPAN
 CLASS="QUOTE"
@@ -248,12 +243,19 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN246"
-></A
->5.6. Until a few minutes after samba has started, clients get the error "Domain Controller Unavailable"</H1
+NAME="AEN245">5.6. Until a few minutes after samba has started, clients get the error "Domain Controller Unavailable"</H1
 ><P
 >A domain controller has to announce on the network who it is. This usually takes a while.</P
 ></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN248">5.7. I'm getting "open_oplock_ipc: Failed to get local UDP socket for address 100007f. Error was Cannot assign requested" in the logs</H1
+><P
+>Your loopback device isn't working correctly. Make sure it's running.</P
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
index 5a42678cb60a6230137e47c429a381d02d06d2be..435a2282b4592c1ecffb03882e93368c680b818f 100644 (file)
@@ -5,7 +5,8 @@
 >General Information</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="GENERAL"
-></A
->Chapter 1. General Information</H1
+NAME="GENERAL">Chapter 1. General Information</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN12"
-></A
->1.1. Where can I get it?</H1
+NAME="AEN12">1.1. Where can I get it?</H1
 ><P
 >The Samba suite is available at the <A
 HREF="http://samba.org/"
@@ -92,9 +89,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN16"
-></A
->1.2. What do the version numbers mean?</H1
+NAME="AEN16">1.2. What do the version numbers mean?</H1
 ><P
 >It is not recommended that you run a version of Samba with the word
 "alpha" in its name unless you know what you are doing and are willing
@@ -141,7 +136,7 @@ levels are released which give us the pXX series, for example 1.9.16p2.</TD
 ></TABLE
 ><P
 ></P
->&#13;</P
+></P
 ><P
 >So the progression goes:
 
@@ -166,9 +161,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN28"
-></A
->1.3. What platforms are supported?</H1
+NAME="AEN28">1.3. What platforms are supported?</H1
 ><P
 >Many different platforms have run Samba successfully. The platforms
 most widely used and thus best tested are Linux and SunOS.</P
@@ -342,9 +335,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN71"
-></A
->1.4. How do I subscribe to the Samba Mailing Lists?</H1
+NAME="AEN71">1.4. How do I subscribe to the Samba Mailing Lists?</H1
 ><P
 >Look at <A
 HREF="http://samba.org/samba/archives.html"
@@ -357,15 +348,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN75"
-></A
->1.5. Pizza supply details</H1
+NAME="AEN75">1.5. Pizza supply details</H1
 ><P
 >Those who have registered in the Samba survey as "Pizza Factory" will
 already know this, but the rest may need some help. Andrew doesn't ask
 for payment, but he does appreciate it when people give him
 pizza. This calls for a little organisation when the pizza donor is
-twenty thousand kilometres away, but it has been done.&#13;</P
+twenty thousand kilometres away, but it has been done.</P
 ><P
 >Method 1: Ring up your local branch of an international pizza chain
 and see if they honour their vouchers internationally. Pizza Hut do,
index 23403ab96b979ff3aa6055475a209982ff294765..e647aef6d4f7d36aea8cc61831920a1393bcb526 100644 (file)
@@ -5,7 +5,8 @@
 >Compiling and installing Samba on a Unix host</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="INSTALL"
-></A
->Chapter 2. Compiling and installing Samba on a Unix host</H1
+NAME="INSTALL">Chapter 2. Compiling and installing Samba on a Unix host</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN84"
-></A
->2.1. I can't see the Samba server in any browse lists!</H1
+NAME="AEN84">2.1. I can't see the Samba server in any browse lists!</H1
 ><P
 >See Browsing.html in the docs directory of the samba source
 for more information on browsing.</P
@@ -100,9 +97,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN89"
-></A
->2.2. Some files that I KNOW are on the server doesn't show up when I view the files from my client!</H1
+NAME="AEN89">2.2. Some files that I KNOW are on the server doesn't show up when I view the files from my client!</H1
 ><P
 >See the next question.</P
 ></DIV
@@ -111,9 +106,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN92"
-></A
->2.3. Some files on the server show up with really wierd filenames when I view the files from my client!</H1
+NAME="AEN92">2.3. Some files on the server show up with really wierd filenames when I view the files from my client!</H1
 ><P
 >If you check what files are not showing up, you will note that they
 are files which contain upper case letters or which are otherwise not
@@ -131,9 +124,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN96"
-></A
->2.4. My client reports "cannot locate specified computer" or similar</H1
+NAME="AEN96">2.4. My client reports "cannot locate specified computer" or similar</H1
 ><P
 >This indicates one of three things: You supplied an incorrect server
 name, the underlying TCP/IP layer is not working correctly, or the
@@ -166,9 +157,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN103"
-></A
->2.5. My client reports "cannot locate specified share name" or similar</H1
+NAME="AEN103">2.5. My client reports "cannot locate specified share name" or similar</H1
 ><P
 >This message indicates that your client CAN locate the specified
 server, which is a good start, but that it cannot find a service of
@@ -209,9 +198,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN112"
-></A
->2.6. Printing doesn't work</H1
+NAME="AEN112">2.6. Printing doesn't work</H1
 ><P
 >Make sure that the specified print command for the service you are
 connecting to is correct and that it has a fully-qualified path (eg.,
@@ -245,9 +232,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN120"
-></A
->2.7. My client reports "This server is not configured to list shared resources"</H1
+NAME="AEN120">2.7. My client reports "This server is not configured to list shared resources"</H1
 ><P
 >Your guest account is probably invalid for some reason. Samba uses the
 guest account for browsing in smbd.  Check that your guest account is
@@ -260,9 +245,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN124"
-></A
->2.8. Log message "you appear to have a trapdoor uid system"</H1
+NAME="AEN124">2.8. Log message "you appear to have a trapdoor uid system"</H1
 ><P
 >This can have several causes. It might be because you are using a uid
 or gid of 65535 or -1. This is a VERY bad idea, and is a big security
@@ -301,9 +284,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN132"
-></A
->2.9. Why are my file's timestamps off by an hour, or by a few hours?</H1
+NAME="AEN132">2.9. Why are my file's timestamps off by an hour, or by a few hours?</H1
 ><P
 >This is from Paul Eggert eggert@twinsun.com.</P
 ><P
@@ -418,20 +399,16 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN155"
-></A
->2.10. How do I set the printer driver name correctly?</H1
+NAME="AEN155">2.10. How do I set the printer driver name correctly?</H1
 ><P
->Question:</P
-><P
-><SPAN
+>Question:
+<SPAN
 CLASS="QUOTE"
 >" On NT, I opened "Printer Manager" and "Connect to Printer".
  Enter ["\\ptdi270\ps1"] in the box of printer. I got the
  following error message
  "</SPAN
->
- </P
+></P
 ><P
 > <PRE
 CLASS="PROGRAMLISTING"
index f6a9d831285357d3cc96345a21c859076dd860e0..ec46e078a34f2051f3d6275c70b02cb0928fe7af 100644 (file)
@@ -5,7 +5,8 @@
 >Samba FAQ</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="NEXT"
 TITLE="General Information"
 HREF="general.html"></HEAD
@@ -19,28 +20,20 @@ ALINK="#0000FF"
 ><DIV
 CLASS="BOOK"
 ><A
-NAME="SAMBA-FAQ"
-></A
-><DIV
+NAME="SAMBA-FAQ"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
 ><A
-NAME="SAMBA-FAQ"
-></A
->Samba FAQ</H1
+NAME="SAMBA-FAQ">Samba FAQ</H1
 ><H3
 CLASS="AUTHOR"
 ><A
-NAME="AEN4"
-></A
->Samba Team</H3
+NAME="AEN4">Samba Team</H3
 ><HR></DIV
 ><H1
 ><A
-NAME="AEN7"
-></A
->Dedication</H1
+NAME="AEN7">Dedication</H1
 ><P
 >This is the Frequently Asked Questions (FAQ) document for
 Samba, the free and very popular SMB server product. An SMB server
@@ -163,7 +156,7 @@ HREF="config.html"
 ><DL
 ><DT
 >3.1. <A
-HREF="config.html#AEN170"
+HREF="config.html#AEN169"
 >I have set 'force user' and samba still makes 'root' the owner of all the files I touch!</A
 ></DT
 ></DL
@@ -177,17 +170,17 @@ HREF="clientapp.html"
 ><DL
 ><DT
 >4.1. <A
-HREF="clientapp.html#AEN175"
+HREF="clientapp.html#AEN174"
 >MS Office Setup reports "Cannot change properties of '\MSOFFICE\SETUP.INI'"</A
 ></DT
 ><DT
 >4.2. <A
-HREF="clientapp.html#AEN180"
+HREF="clientapp.html#AEN179"
 >How to use a Samba share as an administrative share for MS Office, etc.</A
 ></DT
 ><DT
 >4.3. <A
-HREF="clientapp.html#AEN195"
+HREF="clientapp.html#AEN194"
 >Microsoft Access database opening errors</A
 ></DT
 ></DL
@@ -201,34 +194,39 @@ HREF="errors.html"
 ><DL
 ><DT
 >5.1. <A
-HREF="errors.html#AEN206"
+HREF="errors.html#AEN205"
 >Not listening for calling name</A
 ></DT
 ><DT
 >5.2. <A
-HREF="errors.html#AEN213"
+HREF="errors.html#AEN212"
 >System Error 1240</A
 ></DT
 ><DT
 >5.3. <A
-HREF="errors.html#AEN220"
+HREF="errors.html#AEN219"
 >smbclient ignores -N !</A
 ></DT
 ><DT
 >5.4. <A
-HREF="errors.html#AEN229"
+HREF="errors.html#AEN228"
 >The data on the CD-Drive I've shared seems to be corrupted!</A
 ></DT
 ><DT
 >5.5. <A
-HREF="errors.html#AEN233"
+HREF="errors.html#AEN232"
 >Why can users access home directories of other users?</A
 ></DT
 ><DT
 >5.6. <A
-HREF="errors.html#AEN246"
+HREF="errors.html#AEN245"
 >Until a few minutes after samba has started, clients get the error "Domain Controller Unavailable"</A
 ></DT
+><DT
+>5.7. <A
+HREF="errors.html#AEN248"
+>I'm getting "open_oplock_ipc: Failed to get local UDP socket for address 100007f. Error was Cannot assign requested" in the logs</A
+></DT
 ></DL
 ></DD
 ><DT
@@ -240,56 +238,56 @@ HREF="features.html"
 ><DL
 ><DT
 >6.1. <A
-HREF="features.html#AEN251"
+HREF="features.html#AEN253"
 >How can I prevent my samba server from being used to distribute the Nimda worm?</A
 ></DT
 ><DT
 >6.2. <A
-HREF="features.html#AEN265"
+HREF="features.html#AEN267"
 >How can I use samba as a fax server?</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.2.1. <A
-HREF="features.html#AEN276"
+HREF="features.html#AEN278"
 >Tools for printing faxes</A
 ></DT
 ><DT
 >6.2.2. <A
-HREF="features.html#AEN286"
+HREF="features.html#AEN288"
 >Making the fax-server</A
 ></DT
 ><DT
 >6.2.3. <A
-HREF="features.html#AEN302"
+HREF="features.html#AEN304"
 >Installing the client drivers</A
 ></DT
 ><DT
 >6.2.4. <A
-HREF="features.html#AEN316"
+HREF="features.html#AEN318"
 >Example smb.conf</A
 ></DT
 ></DL
 ></DD
 ><DT
 >6.3. <A
-HREF="features.html#AEN320"
+HREF="features.html#AEN322"
 >Samba doesn't work well together with DHCP!</A
 ></DT
 ><DT
 >6.4. <A
-HREF="features.html#AEN333"
+HREF="features.html#AEN335"
 >How can I assign NetBIOS names to clients with DHCP?</A
 ></DT
 ><DT
 >6.5. <A
-HREF="features.html#AEN340"
+HREF="features.html#AEN342"
 >How do I convert between unix and dos text formats?</A
 ></DT
 ><DT
 >6.6. <A
-HREF="features.html#AEN345"
+HREF="features.html#AEN347"
 >Does samba have wins replication support?</A
 ></DT
 ></DL
diff --git a/docs/htmldocs/Samba-HOWTO-Collection.html b/docs/htmldocs/Samba-HOWTO-Collection.html
deleted file mode 100644 (file)
index 2bb324d..0000000
+++ /dev/null
@@ -1,16882 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->SAMBA Project Documentation</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
-><BODY
-CLASS="BOOK"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="BOOK"
-><A
-NAME="SAMBA-HOWTO-COLLECTION"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="SAMBA-HOWTO-COLLECTION"
-></A
->SAMBA Project Documentation</H1
-><H3
-CLASS="AUTHOR"
-><A
-NAME="AEN4"
-></A
->SAMBA Team</H3
-><HR></DIV
-><HR><H1
-><A
-NAME="AEN8"
-></A
->Abstract</H1
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Last Update</I
-></SPAN
-> : Thu Aug 15 12:48:45 CDT 2002</P
-><P
->This book is a collection of HOWTOs added to Samba documentation over the years.
-I try to ensure that all are current, but sometimes the is a larger job
-than one person can maintain.  The most recent version of this document
-can be found at <A
-HREF="http://www.samba.org/"
-TARGET="_top"
->http://www.samba.org/</A
->
-on the "Documentation" page.  Please send updates to <A
-HREF="mailto:jerry@samba.org"
-TARGET="_top"
->jerry@samba.org</A
->.</P
-><P
->This documentation is distributed under the GNU General Public License (GPL) 
-version 2.  A copy of the license is included with the Samba source
-distribution.  A copy can be found on-line at <A
-HREF="http://www.fsf.org/licenses/gpl.txt"
-TARGET="_top"
->http://www.fsf.org/licenses/gpl.txt</A
-></P
-><P
->Cheers, jerry</P
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->I. <A
-HREF="#AEN18"
->General installation</A
-></DT
-><DD
-><DL
-><DT
->1. <A
-HREF="#INSTALL"
->How to Install and Test SAMBA</A
-></DT
-><DD
-><DL
-><DT
->1.1. <A
-HREF="#AEN25"
->Read the man pages</A
-></DT
-><DT
->1.2. <A
-HREF="#AEN35"
->Building the Binaries</A
-></DT
-><DT
->1.3. <A
-HREF="#AEN63"
->The all important step</A
-></DT
-><DT
->1.4. <A
-HREF="#AEN67"
->Create the smb configuration file.</A
-></DT
-><DT
->1.5. <A
-HREF="#AEN81"
->Test your config file with 
-       <B
-CLASS="COMMAND"
->testparm</B
-></A
-></DT
-><DT
->1.6. <A
-HREF="#AEN89"
->Starting the smbd and nmbd</A
-></DT
-><DT
->1.7. <A
-HREF="#AEN144"
->Try listing the shares available on your 
-       server</A
-></DT
-><DT
->1.8. <A
-HREF="#AEN153"
->Try connecting with the unix client</A
-></DT
-><DT
->1.9. <A
-HREF="#AEN169"
->Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></DT
-><DT
->1.10. <A
-HREF="#AEN183"
->What If Things Don't Work?</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="#IMPROVED-BROWSING"
->Improved browsing in samba</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#AEN228"
->Overview of browsing</A
-></DT
-><DT
->2.2. <A
-HREF="#AEN232"
->Browsing support in samba</A
-></DT
-><DT
->2.3. <A
-HREF="#AEN241"
->Problem resolution</A
-></DT
-><DT
->2.4. <A
-HREF="#AEN248"
->Browsing across subnets</A
-></DT
-><DT
->2.5. <A
-HREF="#AEN288"
->Setting up a WINS server</A
-></DT
-><DT
->2.6. <A
-HREF="#AEN307"
->Setting up Browsing in a WORKGROUP</A
-></DT
-><DT
->2.7. <A
-HREF="#AEN325"
->Setting up Browsing in a DOMAIN</A
-></DT
-><DT
->2.8. <A
-HREF="#AEN335"
->Forcing samba to be the master</A
-></DT
-><DT
->2.9. <A
-HREF="#AEN344"
->Making samba the domain master</A
-></DT
-><DT
->2.10. <A
-HREF="#AEN362"
->Note about broadcast addresses</A
-></DT
-><DT
->2.11. <A
-HREF="#AEN365"
->Multiple interfaces</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="#OPLOCKS"
->Oplocks</A
-></DT
-><DD
-><DL
-><DT
->3.1. <A
-HREF="#AEN377"
->What are oplocks?</A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="#BROWSING-QUICK"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#AEN392"
->Discussion</A
-></DT
-><DT
->4.2. <A
-HREF="#AEN400"
->Use of the "Remote Announce" parameter</A
-></DT
-><DT
->4.3. <A
-HREF="#AEN414"
->Use of the "Remote Browse Sync" parameter</A
-></DT
-><DT
->4.4. <A
-HREF="#AEN419"
->Use of WINS</A
-></DT
-><DT
->4.5. <A
-HREF="#AEN430"
->Do NOT use more than one (1) protocol on MS Windows machines</A
-></DT
-><DT
->4.6. <A
-HREF="#AEN436"
->Name Resolution Order</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#PWENCRYPT"
->LanMan and NT Password Encryption in Samba</A
-></DT
-><DD
-><DL
-><DT
->5.1. <A
-HREF="#AEN472"
->Introduction</A
-></DT
-><DT
->5.2. <A
-HREF="#AEN477"
->Important Notes About Security</A
-></DT
-><DT
->5.3. <A
-HREF="#AEN512"
->The smbpasswd Command</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->II. <A
-HREF="#AEN544"
->Type of installation</A
-></DT
-><DD
-><DL
-><DT
->6. <A
-HREF="#SAMBA-PDC"
->How to Configure Samba as a NT4 Primary Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#AEN566"
->Prerequisite Reading</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN572"
->Background</A
-></DT
-><DT
->6.3. <A
-HREF="#AEN611"
->Configuring the Samba Domain Controller</A
-></DT
-><DT
->6.4. <A
-HREF="#AEN654"
->Creating Machine Trust Accounts and Joining Clients to the
-Domain</A
-></DT
-><DT
->6.5. <A
-HREF="#AEN738"
->Common Problems and Errors</A
-></DT
-><DT
->6.6. <A
-HREF="#AEN786"
->System Policies and Profiles</A
-></DT
-><DT
->6.7. <A
-HREF="#AEN830"
->What other help can I get?</A
-></DT
-><DT
->6.8. <A
-HREF="#AEN944"
->Domain Control for Windows 9x/ME</A
-></DT
-><DT
->6.9. <A
-HREF="#AEN1082"
->DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#SAMBA-BDC"
->How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#AEN1118"
->Prerequisite Reading</A
-></DT
-><DT
->7.2. <A
-HREF="#AEN1122"
->Background</A
-></DT
-><DT
->7.3. <A
-HREF="#AEN1130"
->What qualifies a Domain Controller on the network?</A
-></DT
-><DT
->7.4. <A
-HREF="#AEN1139"
->Can Samba be a Backup Domain Controller?</A
-></DT
-><DT
->7.5. <A
-HREF="#AEN1143"
->How do I set up a Samba BDC?</A
-></DT
-></DL
-></DD
-><DT
->8. <A
-HREF="#ADS"
->Samba as a ADS domain member</A
-></DT
-><DD
-><DL
-><DT
->8.1. <A
-HREF="#AEN1178"
->Installing the required packages for Debian</A
-></DT
-><DT
->8.2. <A
-HREF="#AEN1184"
->Installing the required packages for RedHat</A
-></DT
-><DT
->8.3. <A
-HREF="#AEN1193"
->Compile Samba</A
-></DT
-><DT
->8.4. <A
-HREF="#AEN1205"
->Setup your /etc/krb5.conf</A
-></DT
-><DT
->8.5. <A
-HREF="#AEN1215"
->Create the computer account</A
-></DT
-><DT
->8.6. <A
-HREF="#AEN1231"
->Test your server setup</A
-></DT
-><DT
->8.7. <A
-HREF="#AEN1236"
->Testing with smbclient</A
-></DT
-><DT
->8.8. <A
-HREF="#AEN1239"
->Notes</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#DOMAIN-SECURITY"
->Samba as a NT4 domain member</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#AEN1261"
->Joining an NT Domain with Samba 2.2</A
-></DT
-><DT
->9.2. <A
-HREF="#AEN1325"
->Samba and Windows 2000 Domains</A
-></DT
-><DT
->9.3. <A
-HREF="#AEN1330"
->Why is this better than security = server?</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->III. <A
-HREF="#AEN1346"
->Optional configuration</A
-></DT
-><DD
-><DL
-><DT
->10. <A
-HREF="#INTEGRATE-MS-NETWORKS"
->Integrating MS Windows networks with Samba</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#AEN1362"
->Agenda</A
-></DT
-><DT
->10.2. <A
-HREF="#AEN1384"
->Name Resolution in a pure Unix/Linux world</A
-></DT
-><DT
->10.3. <A
-HREF="#AEN1447"
->Name resolution as used within MS Windows networking</A
-></DT
-><DT
->10.4. <A
-HREF="#AEN1492"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></DT
-><DT
->10.5. <A
-HREF="#AEN1502"
->MS Windows security options and how to configure 
-Samba for seemless integration</A
-></DT
-><DT
->10.6. <A
-HREF="#AEN1572"
->Conclusions</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="#UNIX-PERMISSIONS"
->UNIX Permission Bits and Windows NT Access Control Lists</A
-></DT
-><DD
-><DL
-><DT
->11.1. <A
-HREF="#AEN1593"
->Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></DT
-><DT
->11.2. <A
-HREF="#AEN1602"
->How to view file security on a Samba share</A
-></DT
-><DT
->11.3. <A
-HREF="#AEN1613"
->Viewing file ownership</A
-></DT
-><DT
->11.4. <A
-HREF="#AEN1633"
->Viewing file or directory permissions</A
-></DT
-><DT
->11.5. <A
-HREF="#AEN1669"
->Modifying file or directory permissions</A
-></DT
-><DT
->11.6. <A
-HREF="#AEN1691"
->Interaction with the standard Samba create mask 
-       parameters</A
-></DT
-><DT
->11.7. <A
-HREF="#AEN1755"
->Interaction with the standard Samba file attribute 
-       mapping</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#PAM"
->Configuring PAM for distributed but centrally 
-managed authentication</A
-></DT
-><DD
-><DL
-><DT
->12.1. <A
-HREF="#AEN1776"
->Samba and PAM</A
-></DT
-><DT
->12.2. <A
-HREF="#AEN1820"
->Distributed Authentication</A
-></DT
-><DT
->12.3. <A
-HREF="#AEN1827"
->PAM Configuration in smb.conf</A
-></DT
-></DL
-></DD
-><DT
->13. <A
-HREF="#MSDFS"
->Hosting a Microsoft Distributed File System tree on Samba</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#AEN1847"
->Instructions</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#PRINTING"
->Printing Support</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#AEN1908"
->Introduction</A
-></DT
-><DT
->14.2. <A
-HREF="#AEN1930"
->Configuration</A
-></DT
-><DT
->14.3. <A
-HREF="#AEN2038"
->The Imprints Toolset</A
-></DT
-><DT
->14.4. <A
-HREF="#AEN2081"
->Diagnosis</A
-></DT
-></DL
-></DD
-><DT
->15. <A
-HREF="#SECURITYLEVELS"
->Security levels</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="#AEN2186"
->Introduction</A
-></DT
-><DT
->15.2. <A
-HREF="#AEN2197"
->More complete description of security levels</A
-></DT
-></DL
-></DD
-><DT
->16. <A
-HREF="#WINBIND"
->Unified Logons between Windows NT and UNIX using Winbind</A
-></DT
-><DD
-><DL
-><DT
->16.1. <A
-HREF="#AEN2249"
->Abstract</A
-></DT
-><DT
->16.2. <A
-HREF="#AEN2253"
->Introduction</A
-></DT
-><DT
->16.3. <A
-HREF="#AEN2266"
->What Winbind Provides</A
-></DT
-><DT
->16.4. <A
-HREF="#AEN2277"
->How Winbind Works</A
-></DT
-><DT
->16.5. <A
-HREF="#AEN2317"
->Installation and Configuration</A
-></DT
-><DT
->16.6. <A
-HREF="#AEN2566"
->Limitations</A
-></DT
-><DT
->16.7. <A
-HREF="#AEN2576"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#PDB-MYSQL"
->Passdb MySQL plugin</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#AEN2590"
->Building</A
-></DT
-><DT
->17.2. <A
-HREF="#AEN2596"
->Configuring</A
-></DT
-><DT
->17.3. <A
-HREF="#AEN2611"
->Using plaintext passwords or encrypted password</A
-></DT
-><DT
->17.4. <A
-HREF="#AEN2616"
->Getting non-column data from the table</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="#PDB-XML"
->Passdb XML plugin</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#AEN2635"
->Building</A
-></DT
-><DT
->18.2. <A
-HREF="#AEN2641"
->Usage</A
-></DT
-></DL
-></DD
-><DT
->19. <A
-HREF="#SAMBA-LDAP-HOWTO"
->Storing Samba's User/Machine Account information in an LDAP Directory</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#AEN2664"
->Purpose</A
-></DT
-><DT
->19.2. <A
-HREF="#AEN2684"
->Introduction</A
-></DT
-><DT
->19.3. <A
-HREF="#AEN2713"
->Supported LDAP Servers</A
-></DT
-><DT
->19.4. <A
-HREF="#AEN2718"
->Schema and Relationship to the RFC 2307 posixAccount</A
-></DT
-><DT
->19.5. <A
-HREF="#AEN2730"
->Configuring Samba with LDAP</A
-></DT
-><DT
->19.6. <A
-HREF="#AEN2777"
->Accounts and Groups management</A
-></DT
-><DT
->19.7. <A
-HREF="#AEN2782"
->Security and sambaAccount</A
-></DT
-><DT
->19.8. <A
-HREF="#AEN2802"
->LDAP specials attributes for sambaAccounts</A
-></DT
-><DT
->19.9. <A
-HREF="#AEN2872"
->Example LDIF Entries for a sambaAccount</A
-></DT
-><DT
->19.10. <A
-HREF="#AEN2880"
->Comments</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="#CVS-ACCESS"
->HOWTO Access Samba source code via CVS</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#AEN2891"
->Introduction</A
-></DT
-><DT
->20.2. <A
-HREF="#AEN2896"
->CVS Access to samba.org</A
-></DT
-></DL
-></DD
-><DT
->21. <A
-HREF="#GROUPMAPPING"
->Group mapping HOWTO</A
-></DT
-><DT
->22. <A
-HREF="#SPEED"
->Samba performance issues</A
-></DT
-><DD
-><DL
-><DT
->22.1. <A
-HREF="#AEN2982"
->Comparisons</A
-></DT
-><DT
->22.2. <A
-HREF="#AEN2988"
->Oplocks</A
-></DT
-><DT
->22.3. <A
-HREF="#AEN3008"
->Socket options</A
-></DT
-><DT
->22.4. <A
-HREF="#AEN3015"
->Read size</A
-></DT
-><DT
->22.5. <A
-HREF="#AEN3020"
->Max xmit</A
-></DT
-><DT
->22.6. <A
-HREF="#AEN3025"
->Locking</A
-></DT
-><DT
->22.7. <A
-HREF="#AEN3029"
->Share modes</A
-></DT
-><DT
->22.8. <A
-HREF="#AEN3034"
->Log level</A
-></DT
-><DT
->22.9. <A
-HREF="#AEN3037"
->Wide lines</A
-></DT
-><DT
->22.10. <A
-HREF="#AEN3040"
->Read raw</A
-></DT
-><DT
->22.11. <A
-HREF="#AEN3045"
->Write raw</A
-></DT
-><DT
->22.12. <A
-HREF="#AEN3049"
->Read prediction</A
-></DT
-><DT
->22.13. <A
-HREF="#AEN3056"
->Memory mapping</A
-></DT
-><DT
->22.14. <A
-HREF="#AEN3061"
->Slow Clients</A
-></DT
-><DT
->22.15. <A
-HREF="#AEN3065"
->Slow Logins</A
-></DT
-><DT
->22.16. <A
-HREF="#AEN3068"
->Client tuning</A
-></DT
-><DT
->22.17. <A
-HREF="#AEN3100"
->My Results</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->IV. <A
-HREF="#AEN3106"
->Appendixes</A
-></DT
-><DD
-><DL
-><DT
->23. <A
-HREF="#PORTABILITY"
->Portability</A
-></DT
-><DD
-><DL
-><DT
->23.1. <A
-HREF="#AEN3115"
->HPUX</A
-></DT
-><DT
->23.2. <A
-HREF="#AEN3121"
->SCO Unix</A
-></DT
-><DT
->23.3. <A
-HREF="#AEN3125"
->DNIX</A
-></DT
-><DT
->23.4. <A
-HREF="#AEN3154"
->RedHat Linux Rembrandt-II</A
-></DT
-></DL
-></DD
-><DT
->24. <A
-HREF="#OTHER-CLIENTS"
->Samba and other CIFS clients</A
-></DT
-><DD
-><DL
-><DT
->24.1. <A
-HREF="#AEN3175"
->Macintosh clients?</A
-></DT
-><DT
->24.2. <A
-HREF="#AEN3184"
->OS2 Client</A
-></DT
-><DT
->24.3. <A
-HREF="#AEN3224"
->Windows for Workgroups</A
-></DT
-><DT
->24.4. <A
-HREF="#AEN3245"
->Windows '95/'98</A
-></DT
-><DT
->24.5. <A
-HREF="#AEN3261"
->Windows 2000 Service Pack 2</A
-></DT
-></DL
-></DD
-><DT
->25. <A
-HREF="#BUGREPORT"
->Reporting Bugs</A
-></DT
-><DD
-><DL
-><DT
->25.1. <A
-HREF="#AEN3285"
->Introduction</A
-></DT
-><DT
->25.2. <A
-HREF="#AEN3295"
->General info</A
-></DT
-><DT
->25.3. <A
-HREF="#AEN3301"
->Debug levels</A
-></DT
-><DT
->25.4. <A
-HREF="#AEN3318"
->Internal errors</A
-></DT
-><DT
->25.5. <A
-HREF="#AEN3328"
->Attaching to a running process</A
-></DT
-><DT
->25.6. <A
-HREF="#AEN3331"
->Patches</A
-></DT
-></DL
-></DD
-><DT
->26. <A
-HREF="#DIAGNOSIS"
->Diagnosing your samba server</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="#AEN3354"
->Introduction</A
-></DT
-><DT
->26.2. <A
-HREF="#AEN3359"
->Assumptions</A
-></DT
-><DT
->26.3. <A
-HREF="#AEN3369"
->Tests</A
-></DT
-><DT
->26.4. <A
-HREF="#AEN3479"
->Still having troubles?</A
-></DT
-></DL
-></DD
-></DL
-></DD
-></DL
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="AEN18"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->I. General installation</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN20"
-></A
-><H1
->Introduction</H1
-><P
->This part contains general info on how to install samba 
-and how to configure the parts of samba you will most likely need.
-PLEASE read this.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="#INSTALL"
->How to Install and Test SAMBA</A
-></DT
-><DD
-><DL
-><DT
->1.1. <A
-HREF="#AEN25"
->Read the man pages</A
-></DT
-><DT
->1.2. <A
-HREF="#AEN35"
->Building the Binaries</A
-></DT
-><DT
->1.3. <A
-HREF="#AEN63"
->The all important step</A
-></DT
-><DT
->1.4. <A
-HREF="#AEN67"
->Create the smb configuration file.</A
-></DT
-><DT
->1.5. <A
-HREF="#AEN81"
->Test your config file with 
-       <B
-CLASS="COMMAND"
->testparm</B
-></A
-></DT
-><DT
->1.6. <A
-HREF="#AEN89"
->Starting the smbd and nmbd</A
-></DT
-><DD
-><DL
-><DT
->1.6.1. <A
-HREF="#AEN99"
->Starting from inetd.conf</A
-></DT
-><DT
->1.6.2. <A
-HREF="#AEN128"
->Alternative: starting it as a daemon</A
-></DT
-></DL
-></DD
-><DT
->1.7. <A
-HREF="#AEN144"
->Try listing the shares available on your 
-       server</A
-></DT
-><DT
->1.8. <A
-HREF="#AEN153"
->Try connecting with the unix client</A
-></DT
-><DT
->1.9. <A
-HREF="#AEN169"
->Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></DT
-><DT
->1.10. <A
-HREF="#AEN183"
->What If Things Don't Work?</A
-></DT
-><DD
-><DL
-><DT
->1.10.1. <A
-HREF="#AEN188"
->Diagnosing Problems</A
-></DT
-><DT
->1.10.2. <A
-HREF="#AEN192"
->Scope IDs</A
-></DT
-><DT
->1.10.3. <A
-HREF="#AEN195"
->Choosing the Protocol Level</A
-></DT
-><DT
->1.10.4. <A
-HREF="#AEN204"
->Printing from UNIX to a Client PC</A
-></DT
-><DT
->1.10.5. <A
-HREF="#AEN209"
->Locking</A
-></DT
-><DT
->1.10.6. <A
-HREF="#AEN218"
->Mapping Usernames</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->2. <A
-HREF="#IMPROVED-BROWSING"
->Improved browsing in samba</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#AEN228"
->Overview of browsing</A
-></DT
-><DT
->2.2. <A
-HREF="#AEN232"
->Browsing support in samba</A
-></DT
-><DT
->2.3. <A
-HREF="#AEN241"
->Problem resolution</A
-></DT
-><DT
->2.4. <A
-HREF="#AEN248"
->Browsing across subnets</A
-></DT
-><DD
-><DL
-><DT
->2.4.1. <A
-HREF="#AEN253"
->How does cross subnet browsing work ?</A
-></DT
-></DL
-></DD
-><DT
->2.5. <A
-HREF="#AEN288"
->Setting up a WINS server</A
-></DT
-><DT
->2.6. <A
-HREF="#AEN307"
->Setting up Browsing in a WORKGROUP</A
-></DT
-><DT
->2.7. <A
-HREF="#AEN325"
->Setting up Browsing in a DOMAIN</A
-></DT
-><DT
->2.8. <A
-HREF="#AEN335"
->Forcing samba to be the master</A
-></DT
-><DT
->2.9. <A
-HREF="#AEN344"
->Making samba the domain master</A
-></DT
-><DT
->2.10. <A
-HREF="#AEN362"
->Note about broadcast addresses</A
-></DT
-><DT
->2.11. <A
-HREF="#AEN365"
->Multiple interfaces</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="#OPLOCKS"
->Oplocks</A
-></DT
-><DD
-><DL
-><DT
->3.1. <A
-HREF="#AEN377"
->What are oplocks?</A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="#BROWSING-QUICK"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#AEN392"
->Discussion</A
-></DT
-><DT
->4.2. <A
-HREF="#AEN400"
->Use of the "Remote Announce" parameter</A
-></DT
-><DT
->4.3. <A
-HREF="#AEN414"
->Use of the "Remote Browse Sync" parameter</A
-></DT
-><DT
->4.4. <A
-HREF="#AEN419"
->Use of WINS</A
-></DT
-><DT
->4.5. <A
-HREF="#AEN430"
->Do NOT use more than one (1) protocol on MS Windows machines</A
-></DT
-><DT
->4.6. <A
-HREF="#AEN436"
->Name Resolution Order</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#PWENCRYPT"
->LanMan and NT Password Encryption in Samba</A
-></DT
-><DD
-><DL
-><DT
->5.1. <A
-HREF="#AEN472"
->Introduction</A
-></DT
-><DT
->5.2. <A
-HREF="#AEN477"
->Important Notes About Security</A
-></DT
-><DD
-><DL
-><DT
->5.2.1. <A
-HREF="#AEN496"
->Advantages of SMB Encryption</A
-></DT
-><DT
->5.2.2. <A
-HREF="#AEN503"
->Advantages of non-encrypted passwords</A
-></DT
-></DL
-></DD
-><DT
->5.3. <A
-HREF="#AEN512"
->The smbpasswd Command</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="INSTALL"
-></A
->Chapter 1. How to Install and Test SAMBA</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN25"
-></A
->1.1. Read the man pages</H2
-><P
->The man pages distributed with SAMBA contain 
-       lots of useful info that will help to get you started. 
-       If you don't know how to read man pages then try 
-       something like:</P
-><P
-><TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->man smbd.8</B
-></TT
->
-       or 
-       <TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->nroff -man smbd.8 | more
-       </B
-></TT
-> on older unixes.</P
-><P
->Other sources of information are pointed to 
-       by the Samba web site,<A
-HREF="http://www.samba.org/"
-TARGET="_top"
->      http://www.samba.org</A
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN35"
-></A
->1.2. Building the Binaries</H2
-><P
->To do this, first run the program <B
-CLASS="COMMAND"
->./configure
-       </B
-> in the source directory. This should automatically 
-       configure Samba for your operating system. If you have unusual 
-       needs then you may wish to run</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->./configure --help
-       </B
-></TT
-></P
-><P
->first to see what special options you can enable.
-       Then executing</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->make</B
-></TT
-></P
-><P
->will create the binaries. Once it's successfully 
-       compiled you can use </P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->make install</B
-></TT
-></P
-><P
->to install the binaries and manual pages. You can 
-       separately install the binaries and/or man pages using</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->make installbin
-       </B
-></TT
-></P
-><P
->and</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->make installman
-       </B
-></TT
-></P
-><P
->Note that if you are upgrading for a previous version 
-       of Samba you might like to know that the old versions of 
-       the binaries will be renamed with a ".old" extension. You 
-       can go back to the previous version with</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->make revert
-       </B
-></TT
-></P
-><P
->if you find this version a disaster!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN63"
-></A
->1.3. The all important step</H2
-><P
->At this stage you must fetch yourself a 
-       coffee or other drink you find stimulating. Getting the rest 
-       of the install right can sometimes be tricky, so you will 
-       probably need it.</P
-><P
->If you have installed samba before then you can skip 
-       this step.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN67"
-></A
->1.4. Create the smb configuration file.</H2
-><P
->There are sample configuration files in the examples 
-       subdirectory in the distribution. I suggest you read them 
-       carefully so you can see how the options go together in 
-       practice. See the man page for all the options.</P
-><P
->The simplest useful configuration file would be 
-       something like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      [global]
-          workgroup = MYGROUP
-
-          [homes]
-             guest ok = no
-             read only = no
-       </PRE
-></P
-><P
->which would allow connections by anyone with an 
-       account on the server, using either their login name or 
-       "homes" as the service name. (Note that I also set the 
-       workgroup that Samba is part of. See BROWSING.txt for details)</P
-><P
->Note that <B
-CLASS="COMMAND"
->make install</B
-> will not install 
-       a <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file. You need to create it 
-       yourself. </P
-><P
->Make sure you put the smb.conf file in the same place 
-       you specified in the<TT
-CLASS="FILENAME"
->Makefile</TT
-> (the default is to 
-       look for it in <TT
-CLASS="FILENAME"
->/usr/local/samba/lib/</TT
->).</P
-><P
->For more information about security settings for the 
-       [homes] share please refer to the document UNIX_SECURITY.txt.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN81"
-></A
->1.5. Test your config file with 
-       <B
-CLASS="COMMAND"
->testparm</B
-></H2
-><P
->It's important that you test the validity of your
-       <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file using the testparm program. 
-       If testparm runs OK then it will list the loaded services. If 
-       not it will give an error message.</P
-><P
->Make sure it runs OK and that the services look 
-       reasonable before proceeding. </P
-><P
->Always run testparm again when you change 
-       <TT
-CLASS="FILENAME"
->smb.conf</TT
->!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN89"
-></A
->1.6. Starting the smbd and nmbd</H2
-><P
->You must choose to start smbd and nmbd either
-       as daemons or from <B
-CLASS="COMMAND"
->inetd</B
->. Don't try
-       to do both!  Either you can put them in <TT
-CLASS="FILENAME"
->      inetd.conf</TT
-> and have them started on demand
-       by <B
-CLASS="COMMAND"
->inetd</B
->, or you can start them as
-       daemons either from the command line or in <TT
-CLASS="FILENAME"
->      /etc/rc.local</TT
->. See the man pages for details
-       on the command line options. Take particular care to read
-       the bit about what user you need to be in order to start
-       Samba.  In many cases you must be root.</P
-><P
->The main advantage of starting <B
-CLASS="COMMAND"
->smbd</B
->
-       and <B
-CLASS="COMMAND"
->nmbd</B
-> using the recommended daemon method
-       is that they will respond slightly more quickly to an initial connection
-       request.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN99"
-></A
->1.6.1. Starting from inetd.conf</H3
-><P
->NOTE; The following will be different if 
-               you use NIS or NIS+ to distributed services maps.</P
-><P
->Look at your <TT
-CLASS="FILENAME"
->/etc/services</TT
->. 
-               What is defined at port 139/tcp. If nothing is defined 
-               then add a line like this:</P
-><P
-><TT
-CLASS="USERINPUT"
-><B
->netbios-ssn     139/tcp</B
-></TT
-></P
-><P
->similarly for 137/udp you should have an entry like:</P
-><P
-><TT
-CLASS="USERINPUT"
-><B
->netbios-ns    137/udp</B
-></TT
-></P
-><P
->Next edit your <TT
-CLASS="FILENAME"
->/etc/inetd.conf</TT
-> 
-               and add two lines something like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->              netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd 
-               netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd 
-               </PRE
-></P
-><P
->The exact syntax of <TT
-CLASS="FILENAME"
->/etc/inetd.conf</TT
-> 
-               varies between unixes. Look at the other entries in inetd.conf 
-               for a guide.</P
-><P
->NOTE: Some unixes already have entries like netbios_ns 
-               (note the underscore) in <TT
-CLASS="FILENAME"
->/etc/services</TT
->. 
-               You must either edit <TT
-CLASS="FILENAME"
->/etc/services</TT
-> or
-               <TT
-CLASS="FILENAME"
->/etc/inetd.conf</TT
-> to make them consistent.</P
-><P
->NOTE: On many systems you may need to use the 
-               "interfaces" option in smb.conf to specify the IP address 
-               and netmask of your interfaces. Run <B
-CLASS="COMMAND"
->ifconfig</B
-> 
-               as root if you don't know what the broadcast is for your
-               net. <B
-CLASS="COMMAND"
->nmbd</B
-> tries to determine it at run 
-               time, but fails on some unixes. See the section on "testing nmbd" 
-               for a method of finding if you need to do this.</P
-><P
->!!!WARNING!!! Many unixes only accept around 5 
-               parameters on the command line in <TT
-CLASS="FILENAME"
->inetd.conf</TT
->. 
-               This means you shouldn't use spaces between the options and 
-               arguments, or you should use a script, and start the script 
-               from <B
-CLASS="COMMAND"
->inetd</B
->.</P
-><P
->Restart <B
-CLASS="COMMAND"
->inetd</B
->, perhaps just send 
-               it a HUP. If you have installed an earlier version of <B
-CLASS="COMMAND"
->              nmbd</B
-> then you may need to kill nmbd as well.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN128"
-></A
->1.6.2. Alternative: starting it as a daemon</H3
-><P
->To start the server as a daemon you should create 
-               a script something like this one, perhaps calling 
-               it <TT
-CLASS="FILENAME"
->startsmb</TT
->.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->              #!/bin/sh
-               /usr/local/samba/bin/smbd -D 
-               /usr/local/samba/bin/nmbd -D 
-               </PRE
-></P
-><P
->then make it executable with <B
-CLASS="COMMAND"
->chmod 
-               +x startsmb</B
-></P
-><P
->You can then run <B
-CLASS="COMMAND"
->startsmb</B
-> by 
-               hand or execute it from <TT
-CLASS="FILENAME"
->/etc/rc.local</TT
->
-               </P
-><P
->To kill it send a kill signal to the processes 
-               <B
-CLASS="COMMAND"
->nmbd</B
-> and <B
-CLASS="COMMAND"
->smbd</B
->.</P
-><P
->NOTE: If you use the SVR4 style init system then 
-               you may like to look at the <TT
-CLASS="FILENAME"
->examples/svr4-startup</TT
->
-               script to make Samba fit into that system.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN144"
-></A
->1.7. Try listing the shares available on your 
-       server</H2
-><P
-><TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->smbclient -L 
-       <TT
-CLASS="REPLACEABLE"
-><I
->yourhostname</I
-></TT
-></B
-></TT
-></P
-><P
->You should get back a list of shares available on 
-       your server. If you don't then something is incorrectly setup. 
-       Note that this method can also be used to see what shares 
-       are available on other LanManager clients (such as WfWg).</P
-><P
->If you choose user level security then you may find 
-       that Samba requests a password before it will list the shares. 
-       See the <B
-CLASS="COMMAND"
->smbclient</B
-> man page for details. (you 
-       can force it to list the shares without a password by
-       adding the option -U% to the command line. This will not work 
-       with non-Samba servers)</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN153"
-></A
->1.8. Try connecting with the unix client</H2
-><P
-><TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->smbclient <TT
-CLASS="REPLACEABLE"
-><I
->      //yourhostname/aservice</I
-></TT
-></B
-></TT
-></P
-><P
->Typically the <TT
-CLASS="REPLACEABLE"
-><I
->yourhostname</I
-></TT
-> 
-       would be the name of the host where you installed <B
-CLASS="COMMAND"
->      smbd</B
->. The <TT
-CLASS="REPLACEABLE"
-><I
->aservice</I
-></TT
-> is 
-       any service you have defined in the <TT
-CLASS="FILENAME"
->smb.conf</TT
-> 
-       file. Try your user name if you just have a [homes] section
-       in <TT
-CLASS="FILENAME"
->smb.conf</TT
->.</P
-><P
->For example if your unix host is bambi and your login 
-       name is fred you would type:</P
-><P
-><TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->smbclient //bambi/fred
-       </B
-></TT
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN169"
-></A
->1.9. Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</H2
-><P
->Try mounting disks. eg:</P
-><P
-><TT
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </TT
-><TT
-CLASS="USERINPUT"
-><B
->net use d: \\servername\service
-       </B
-></TT
-></P
-><P
->Try printing. eg:</P
-><P
-><TT
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </TT
-><TT
-CLASS="USERINPUT"
-><B
->net use lpt1:
-       \\servername\spoolservice</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </TT
-><TT
-CLASS="USERINPUT"
-><B
->print filename
-       </B
-></TT
-></P
-><P
->Celebrate, or send me a bug report!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN183"
-></A
->1.10. What If Things Don't Work?</H2
-><P
->If nothing works and you start to think "who wrote 
-       this pile of trash" then I suggest you do step 2 again (and 
-       again) till you calm down.</P
-><P
->Then you might read the file DIAGNOSIS.txt and the 
-       FAQ. If you are still stuck then try the mailing list or 
-       newsgroup (look in the README for details). Samba has been 
-       successfully installed at thousands of sites worldwide, so maybe 
-       someone else has hit your problem and has overcome it. You could 
-       also use the WWW site to scan back issues of the samba-digest.</P
-><P
->When you fix the problem PLEASE send me some updates to the
-       documentation (or source code) so that the next person will find it
-       easier. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN188"
-></A
->1.10.1. Diagnosing Problems</H3
-><P
->If you have installation problems then go to the
-               <A
-HREF="Diagnosis.html"
-TARGET="_top"
->Diagnosis</A
-> chapter to try to find the 
-               problem.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN192"
-></A
->1.10.2. Scope IDs</H3
-><P
->By default Samba uses a blank scope ID. This means 
-               all your windows boxes must also have a blank scope ID. 
-               If you really want to use a non-blank scope ID then you will 
-               need to use the 'netbios scope' smb.conf option.
-                All your PCs will need to have the same setting for 
-               this to work. I do not recommend scope IDs.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN195"
-></A
->1.10.3. Choosing the Protocol Level</H3
-><P
->The SMB protocol has many dialects. Currently 
-               Samba supports 5, called CORE, COREPLUS, LANMAN1, 
-               LANMAN2 and NT1.</P
-><P
->You can choose what maximum protocol to support 
-               in the <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file. The default is 
-               NT1 and that is the best for the vast majority of sites.</P
-><P
->In older versions of Samba you may have found it 
-               necessary to use COREPLUS. The limitations that led to 
-               this have mostly been fixed. It is now less likely that you 
-               will want to use less than LANMAN1. The only remaining advantage 
-               of COREPLUS is that for some obscure reason WfWg preserves 
-               the case of passwords in this protocol, whereas under LANMAN1, 
-               LANMAN2 or NT1 it uppercases all passwords before sending them,
-               forcing you to use the "password level=" option in some cases.</P
-><P
->The main advantage of LANMAN2 and NT1 is support for 
-               long filenames with some clients (eg: smbclient, Windows NT 
-               or Win95). </P
-><P
->See the smb.conf(5) manual page for more details.</P
-><P
->Note: To support print queue reporting you may find 
-               that you have to use TCP/IP as the default protocol under 
-               WfWg. For some reason if you leave Netbeui as the default 
-               it may break the print queue reporting on some systems. 
-               It is presumably a WfWg bug.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN204"
-></A
->1.10.4. Printing from UNIX to a Client PC</H3
-><P
->To use a printer that is available via a smb-based 
-               server from a unix host with LPR you will need to compile the 
-               smbclient program. You then need to install the script 
-               "smbprint". Read the instruction in smbprint for more details.
-               </P
-><P
->There is also a SYSV style script that does much 
-               the same thing called smbprint.sysv. It contains instructions.</P
-><P
->See the CUPS manual for information about setting up 
-               printing from a unix host with CUPS to a smb-based server. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN209"
-></A
->1.10.5. Locking</H3
-><P
->One area which sometimes causes trouble is locking.</P
-><P
->There are two types of locking which need to be 
-               performed by a SMB server. The first is "record locking" 
-               which allows a client to lock a range of bytes in a open file. 
-               The second is the "deny modes" that are specified when a file 
-               is open.</P
-><P
->Record locking semantics under Unix is very
-               different from record locking under Windows. Versions
-               of Samba before 2.2 have tried to use the native
-               fcntl() unix system call to implement proper record
-               locking between different Samba clients. This can not
-               be fully correct due to several reasons. The simplest
-               is the fact that a Windows client is allowed to lock a
-               byte range up to 2^32 or 2^64, depending on the client
-               OS. The unix locking only supports byte ranges up to
-               2^31. So it is not possible to correctly satisfy a
-               lock request above 2^31. There are many more
-               differences, too many to be listed here.</P
-><P
->Samba 2.2 and above implements record locking
-               completely independent of the underlying unix
-               system. If a byte range lock that the client requests
-               happens to fall into the range 0-2^31, Samba hands
-               this request down to the Unix system. All other locks
-               can not be seen by unix anyway.</P
-><P
->Strictly a SMB server should check for locks before 
-               every read and write call on a file. Unfortunately with the 
-               way fcntl() works this can be slow and may overstress the 
-               rpc.lockd. It is also almost always unnecessary as clients 
-               are supposed to independently make locking calls before reads 
-               and writes anyway if locking is important to them. By default 
-               Samba only makes locking calls when explicitly asked
-               to by a client, but if you set "strict locking = yes" then it will
-               make lock checking calls on every read and write. </P
-><P
->You can also disable by range locking completely 
-               using "locking = no". This is useful for those shares that 
-               don't support locking or don't need it (such as cdroms). In 
-               this case Samba fakes the return codes of locking calls to 
-               tell clients that everything is OK.</P
-><P
->The second class of locking is the "deny modes". These 
-               are set by an application when it opens a file to determine 
-               what types of access should be allowed simultaneously with 
-               its open. A client may ask for DENY_NONE, DENY_READ, DENY_WRITE 
-               or DENY_ALL. There are also special compatibility modes called 
-               DENY_FCB and  DENY_DOS.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN218"
-></A
->1.10.6. Mapping Usernames</H3
-><P
->If you have different usernames on the PCs and 
-               the unix server then take a look at the "username map" option. 
-               See the smb.conf man page for details.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="IMPROVED-BROWSING"
-></A
->Chapter 2. Improved browsing in samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN228"
-></A
->2.1. Overview of browsing</H2
-><P
->SMB networking provides a mechanism by which clients can access a list
-of machines in a network, a so-called "browse list".  This list
-contains machines that are ready to offer file and/or print services
-to other machines within the network. Thus it does not include
-machines which aren't currently able to do server tasks.  The browse
-list is heavily used by all SMB clients.  Configuration of SMB
-browsing has been problematic for some Samba users, hence this
-document.</P
-><P
->Browsing will NOT work if name resolution from NetBIOS names to IP
-addresses does not function correctly. Use of a WINS server is highly
-recommended to aid the resolution of NetBIOS (SMB) names to IP addresses.
-WINS allows remote segment clients to obtain NetBIOS name_type information
-that can NOT be provided by any other means of name resolution.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN232"
-></A
->2.2. Browsing support in samba</H2
-><P
->Samba now fully supports browsing.  The browsing is supported by nmbd
-and is also controlled by options in the smb.conf file (see smb.conf(5)).</P
-><P
->Samba can act as a local browse master for a workgroup and the ability
-for samba to support domain logons and scripts is now available.  See
-DOMAIN.txt for more information on domain logons.</P
-><P
->Samba can also act as a domain master browser for a workgroup.  This
-means that it will collate lists from local browse masters into a
-wide area network server list.  In order for browse clients to
-resolve the names they may find in this list, it is recommended that
-both samba and your clients use a WINS server.</P
-><P
->Note that you should NOT set Samba to be the domain master for a
-workgroup that has the same name as an NT Domain: on each wide area
-network, you must only ever have one domain master browser per workgroup,
-regardless of whether it is NT, Samba or any other type of domain master
-that is providing this service.</P
-><P
->[Note that nmbd can be configured as a WINS server, but it is not
-necessary to specifically use samba as your WINS server.  NTAS can
-be configured as your WINS server.  In a mixed NT server and
-samba environment on a Wide Area Network, it is recommended that
-you use the NT server's WINS server capabilities.  In a samba-only
-environment, it is recommended that you use one and only one nmbd
-as your WINS server].</P
-><P
->To get browsing to work you need to run nmbd as usual, but will need
-to use the "workgroup" option in smb.conf to control what workgroup
-Samba becomes a part of.</P
-><P
->Samba also has a useful option for a Samba server to offer itself for
-browsing on another subnet.  It is recommended that this option is only
-used for 'unusual' purposes: announcements over the internet, for
-example.  See "remote announce" in the smb.conf man page.  </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN241"
-></A
->2.3. Problem resolution</H2
-><P
->If something doesn't work then hopefully the log.nmb file will help
-you track down the problem.  Try a debug level of 2 or 3 for finding
-problems. Also note that the current browse list usually gets stored
-in text form in a file called browse.dat.</P
-><P
->Note that if it doesn't work for you, then you should still be able to
-type the server name as \\SERVER in filemanager then hit enter and
-filemanager should display the list of available shares.</P
-><P
->Some people find browsing fails because they don't have the global
-"guest account" set to a valid account.  Remember that the IPC$
-connection that lists the shares is done as guest, and thus you must
-have a valid guest account.</P
-><P
->Also, a lot of people are getting bitten by the problem of too many
-parameters on the command line of nmbd in inetd.conf.  This trick is to
-not use spaces between the option and the parameter (eg: -d2 instead
-of -d 2), and to not use the -B and -N options.  New versions of nmbd
-are now far more likely to correctly find your broadcast and network
-address, so in most cases these aren't needed.</P
-><P
->The other big problem people have is that their broadcast address,
-netmask or IP address is wrong (specified with the "interfaces" option
-in smb.conf)</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN248"
-></A
->2.4. Browsing across subnets</H2
-><P
->With the release of Samba 1.9.17(alpha1 and above) Samba has been
-updated to enable it to support the replication of browse lists
-across subnet boundaries.  New code and options have been added to
-achieve this.  This section describes how to set this feature up
-in different settings.</P
-><P
->To see browse lists that span TCP/IP subnets (ie.  networks separated
-by routers that don't pass broadcast traffic) you must set up at least
-one WINS server.  The WINS server acts as a DNS for NetBIOS names, allowing
-NetBIOS name to IP address translation to be done by doing a direct
-query of the WINS server.  This is done via a directed UDP packet on
-port 137 to the WINS server machine.  The reason for a WINS server is
-that by default, all NetBIOS name to IP address translation is done
-by broadcasts from the querying machine.  This means that machines
-on one subnet will not be able to resolve the names of machines on
-another subnet without using a WINS server.</P
-><P
->Remember, for browsing across subnets to work correctly, all machines,
-be they Windows 95, Windows NT, or Samba servers must have the IP address
-of a WINS server given to them by a DHCP server, or by manual configuration 
-(for Win95 and WinNT, this is in the TCP/IP Properties, under Network 
-settings) for Samba this is in the smb.conf file.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN253"
-></A
->2.4.1. How does cross subnet browsing work ?</H3
-><P
->Cross subnet browsing is a complicated dance, containing multiple
-moving parts.  It has taken Microsoft several years to get the code
-that achieves this correct, and Samba lags behind in some areas.
-However, with the 1.9.17 release, Samba is capable of cross subnet
-browsing when configured correctly.</P
-><P
->Consider a network set up as follows :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->                                   (DMB)
-             N1_A      N1_B        N1_C       N1_D        N1_E
-              |          |           |          |           |
-          -------------------------------------------------------
-            |          subnet 1                       |
-          +---+                                      +---+
-          |R1 | Router 1                  Router 2   |R2 |
-          +---+                                      +---+
-            |                                          |
-            |  subnet 2              subnet 3          |
-  --------------------------       ------------------------------------
-  |     |     |      |               |        |         |           |
- N2_A  N2_B  N2_C   N2_D           N3_A     N3_B      N3_C        N3_D 
-                    (WINS)</PRE
-></P
-><P
->Consisting of 3 subnets (1, 2, 3) connected by two routers
-(R1, R2) - these do not pass broadcasts.  Subnet 1 has 5 machines
-on it, subnet 2 has 4 machines, subnet 3 has 4 machines.  Assume
-for the moment that all these machines are configured to be in the
-same workgroup (for simplicities sake).  Machine N1_C on subnet 1
-is configured as Domain Master Browser (ie.  it will collate the
-browse lists for the workgroup).  Machine N2_D is configured as
-WINS server and all the other machines are configured to register
-their NetBIOS names with it.</P
-><P
->As all these machines are booted up, elections for master browsers
-will take place on each of the three subnets.  Assume that machine
-N1_C wins on subnet 1, N2_B wins on subnet 2, and N3_D wins on
-subnet 3 - these machines are known as local master browsers for
-their particular subnet.  N1_C has an advantage in winning as the
-local master browser on subnet 1 as it is set up as Domain Master
-Browser.</P
-><P
->On each of the three networks, machines that are configured to 
-offer sharing services will broadcast that they are offering
-these services.  The local master browser on each subnet will
-receive these broadcasts and keep a record of the fact that
-the machine is offering a service.  This list of records is
-the basis of the browse list.  For this case, assume that
-all the machines are configured to offer services so all machines
-will be on the browse list.</P
-><P
->For each network, the local master browser on that network is
-considered 'authoritative' for all the names it receives via
-local broadcast.  This is because a machine seen by the local
-master browser via a local broadcast must be on the same 
-network as the local master browser and thus is a 'trusted'
-and 'verifiable' resource.  Machines on other networks that
-the local master browsers learn about when collating their
-browse lists have not been directly seen - these records are
-called 'non-authoritative'.</P
-><P
->At this point the browse lists look as follows (these are 
-the machines you would see in your network neighborhood if
-you looked in it on a particular network right now).</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->Subnet           Browse Master   List
-------           -------------   ----
-Subnet1          N1_C            N1_A, N1_B, N1_C, N1_D, N1_E
-
-Subnet2          N2_B            N2_A, N2_B, N2_C, N2_D
-
-Subnet3          N3_D            N3_A, N3_B, N3_C, N3_D</PRE
-></P
-><P
->Note that at this point all the subnets are separate, no
-machine is seen across any of the subnets.</P
-><P
->Now examine subnet 2.  As soon as N2_B has become the local
-master browser it looks for a Domain master browser to synchronize
-its browse list with.  It does this by querying the WINS server
-(N2_D) for the IP address associated with the NetBIOS name 
-WORKGROUP&gt;1B&lt;.  This name was registerd by the Domain master
-browser (N1_C) with the WINS server as soon as it was booted.</P
-><P
->Once N2_B knows the address of the Domain master browser it
-tells it that is the local master browser for subnet 2 by
-sending a MasterAnnouncement packet as a UDP port 138 packet.
-It then synchronizes with it by doing a NetServerEnum2 call.  This
-tells the Domain Master Browser to send it all the server
-names it knows about.  Once the domain master browser receives
-the MasterAnnouncement packet it schedules a synchronization
-request to the sender of that packet.  After both synchronizations
-are done the browse lists look like :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->Subnet           Browse Master   List
-------           -------------   ----
-Subnet1          N1_C            N1_A, N1_B, N1_C, N1_D, N1_E, 
-                                 N2_A(*), N2_B(*), N2_C(*), N2_D(*)
-
-Subnet2          N2_B            N2_A, N2_B, N2_C, N2_D
-                                 N1_A(*), N1_B(*), N1_C(*), N1_D(*), N1_E(*)
-
-Subnet3          N3_D            N3_A, N3_B, N3_C, N3_D
-
-Servers with a (*) after them are non-authoritative names.</PRE
-></P
-><P
->At this point users looking in their network neighborhood on
-subnets 1 or 2 will see all the servers on both, users on
-subnet 3 will still only see the servers on their own subnet.</P
-><P
->The same sequence of events that occured for N2_B now occurs
-for the local master browser on subnet 3 (N3_D).  When it
-synchronizes browse lists with the domain master browser (N1_A)
-it gets both the server entries on subnet 1, and those on
-subnet 2.  After N3_D has synchronized with N1_C and vica-versa
-the browse lists look like.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->Subnet           Browse Master   List
-------           -------------   ----
-Subnet1          N1_C            N1_A, N1_B, N1_C, N1_D, N1_E, 
-                                 N2_A(*), N2_B(*), N2_C(*), N2_D(*),
-                                 N3_A(*), N3_B(*), N3_C(*), N3_D(*)
-
-Subnet2          N2_B            N2_A, N2_B, N2_C, N2_D
-                                 N1_A(*), N1_B(*), N1_C(*), N1_D(*), N1_E(*)
-
-Subnet3          N3_D            N3_A, N3_B, N3_C, N3_D
-                                 N1_A(*), N1_B(*), N1_C(*), N1_D(*), N1_E(*),
-                                 N2_A(*), N2_B(*), N2_C(*), N2_D(*)
-
-Servers with a (*) after them are non-authoritative names.</PRE
-></P
-><P
->At this point users looking in their network neighborhood on
-subnets 1 or 3 will see all the servers on all sunbets, users on
-subnet 2 will still only see the servers on subnets 1 and 2, but not 3.</P
-><P
->Finally, the local master browser for subnet 2 (N2_B) will sync again
-with the domain master browser (N1_C) and will recieve the missing
-server entries.  Finally - and as a steady state (if no machines
-are removed or shut off) the browse lists will look like :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->Subnet           Browse Master   List
-------           -------------   ----
-Subnet1          N1_C            N1_A, N1_B, N1_C, N1_D, N1_E, 
-                                 N2_A(*), N2_B(*), N2_C(*), N2_D(*),
-                                 N3_A(*), N3_B(*), N3_C(*), N3_D(*)
-
-Subnet2          N2_B            N2_A, N2_B, N2_C, N2_D
-                                 N1_A(*), N1_B(*), N1_C(*), N1_D(*), N1_E(*)
-                                 N3_A(*), N3_B(*), N3_C(*), N3_D(*)
-
-Subnet3          N3_D            N3_A, N3_B, N3_C, N3_D
-                                 N1_A(*), N1_B(*), N1_C(*), N1_D(*), N1_E(*),
-                                 N2_A(*), N2_B(*), N2_C(*), N2_D(*)
-       
-Servers with a (*) after them are non-authoritative names.</PRE
-></P
-><P
->Synchronizations between the domain master browser and local
-master browsers will continue to occur, but this should be a
-steady state situation.</P
-><P
->If either router R1 or R2 fails the following will occur:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      Names of computers on each side of the inaccessible network fragments
-       will be maintained for as long as 36 minutes, in the network neighbourhood
-       lists.
-       </P
-></LI
-><LI
-><P
->      Attempts to connect to these inaccessible computers will fail, but the
-       names will not be removed from the network neighbourhood lists.
-       </P
-></LI
-><LI
-><P
->      If one of the fragments is cut off from the WINS server, it will only
-       be able to access servers on its local subnet, by using subnet-isolated
-       broadcast NetBIOS name resolution.  The effects are similar to that of
-       losing access to a DNS server.
-       </P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN288"
-></A
->2.5. Setting up a WINS server</H2
-><P
->Either a Samba machine or a Windows NT Server machine may be set up
-as a WINS server.  To set a Samba machine to be a WINS server you must
-add the following option to the smb.conf file on the selected machine :
-in the [globals] section add the line </P
-><P
-><B
-CLASS="COMMAND"
->              wins support = yes</B
-></P
-><P
->Versions of Samba previous to 1.9.17 had this parameter default to
-yes.  If you have any older versions of Samba on your network it is
-strongly suggested you upgrade to 1.9.17 or above, or at the very
-least set the parameter to 'no' on all these machines.</P
-><P
->Machines with "<B
-CLASS="COMMAND"
->wins support = yes</B
->" will keep a list of 
-all NetBIOS names registered with them, acting as a DNS for NetBIOS names.</P
-><P
->You should set up only ONE wins server.  Do NOT set the
-"<B
-CLASS="COMMAND"
->wins support = yes</B
->" option on more than one Samba 
-server.</P
-><P
->To set up a Windows NT Server as a WINS server you need to set up
-the WINS service - see your NT documentation for details.  Note that
-Windows NT WINS Servers can replicate to each other, allowing more
-than one to be set up in a complex subnet environment.  As Microsoft
-refuse to document these replication protocols Samba cannot currently
-participate in these replications.  It is possible in the future that
-a Samba-&#62;Samba WINS replication protocol may be defined, in which
-case more than one Samba machine could be set up as a WINS server
-but currently only one Samba server should have the "wins support = yes"
-parameter set.</P
-><P
->After the WINS server has been configured you must ensure that all
-machines participating on the network are configured with the address
-of this WINS server.  If your WINS server is a Samba machine, fill in
-the Samba machine IP address in the "Primary WINS Server" field of
-the "Control Panel-&#62;Network-&#62;Protocols-&#62;TCP-&#62;WINS Server" dialogs
-in Windows 95 or Windows NT.  To tell a Samba server the IP address
-of the WINS server add the following line to the [global] section of
-all smb.conf files :</P
-><P
-><B
-CLASS="COMMAND"
->wins server = &gt;name or IP address&lt;</B
-></P
-><P
->where &gt;name or IP address&lt; is either the DNS name of the WINS server
-machine or its IP address.</P
-><P
->Note that this line MUST NOT BE SET in the smb.conf file of the Samba
-server acting as the WINS server itself.  If you set both the
-"<B
-CLASS="COMMAND"
->wins support = yes</B
->" option and the 
-"<B
-CLASS="COMMAND"
->wins server = &gt;name&lt;</B
->" option then
-nmbd will fail to start.</P
-><P
->There are two possible scenarios for setting up cross subnet browsing.
-The first details setting up cross subnet browsing on a network containing
-Windows 95, Samba and Windows NT machines that are not configured as
-part of a Windows NT Domain.  The second details setting up cross subnet
-browsing on networks that contain NT Domains.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN307"
-></A
->2.6. Setting up Browsing in a WORKGROUP</H2
-><P
->To set up cross subnet browsing on a network containing machines
-in up to be in a WORKGROUP, not an NT Domain you need to set up one
-Samba server to be the Domain Master Browser (note that this is *NOT*
-the same as a Primary Domain Controller, although in an NT Domain the
-same machine plays both roles).  The role of a Domain master browser is
-to collate the browse lists from local master browsers on all the
-subnets that have a machine participating in the workgroup.  Without
-one machine configured as a domain master browser each subnet would
-be an isolated workgroup, unable to see any machines on any other
-subnet.  It is the presense of a domain master browser that makes
-cross subnet browsing possible for a workgroup.</P
-><P
->In an WORKGROUP environment the domain master browser must be a
-Samba server, and there must only be one domain master browser per
-workgroup name.  To set up a Samba server as a domain master browser,
-set the following option in the [global] section of the smb.conf file :</P
-><P
-><B
-CLASS="COMMAND"
->domain master = yes</B
-></P
-><P
->The domain master browser should also preferrably be the local master
-browser for its own subnet.  In order to achieve this set the following
-options in the [global] section of the smb.conf file :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        domain master = yes
-        local master = yes
-        preferred master = yes
-        os level = 65</PRE
-></P
-><P
->The domain master browser may be the same machine as the WINS
-server, if you require.</P
-><P
->Next, you should ensure that each of the subnets contains a
-machine that can act as a local master browser for the
-workgroup.  Any NT machine should be able to do this, as will
-Windows 95 machines (although these tend to get rebooted more
-often, so it's not such a good idea to use these).  To make a 
-Samba server a local master browser set the following
-options in the [global] section of the smb.conf file :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        domain master = no
-        local master = yes
-        preferred master = yes
-        os level = 65</PRE
-></P
-><P
->Do not do this for more than one Samba server on each subnet,
-or they will war with each other over which is to be the local
-master browser.</P
-><P
->The "local master" parameter allows Samba to act as a local master
-browser.  The "preferred master" causes nmbd to force a browser
-election on startup and the "os level" parameter sets Samba high
-enough so that it should win any browser elections.</P
-><P
->If you have an NT machine on the subnet that you wish to
-be the local master browser then you can disable Samba from
-becoming a local master browser by setting the following
-options in the [global] section of the smb.conf file :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        domain master = no
-        local master = no
-        preferred master = no
-        os level = 0</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN325"
-></A
->2.7. Setting up Browsing in a DOMAIN</H2
-><P
->If you are adding Samba servers to a Windows NT Domain then
-you must not set up a Samba server as a domain master browser.
-By default, a Windows NT Primary Domain Controller for a Domain
-name is also the Domain master browser for that name, and many
-things will break if a Samba server registers the Domain master
-browser NetBIOS name (DOMAIN&gt;1B&lt;) with WINS instead of the PDC.</P
-><P
->For subnets other than the one containing the Windows NT PDC
-you may set up Samba servers as local master browsers as
-described.  To make a Samba server a local master browser set 
-the following options in the [global] section of the smb.conf 
-file :</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        domain master = no
-        local master = yes
-        preferred master = yes
-        os level = 65</PRE
-></P
-><P
->If you wish to have a Samba server fight the election with machines
-on the same subnet you may set the "os level" parameter to lower
-levels.  By doing this you can tune the order of machines that
-will become local master browsers if they are running.  For
-more details on this see the section "FORCING SAMBA TO BE THE MASTER"
-below.</P
-><P
->If you have Windows NT machines that are members of the domain
-on all subnets, and you are sure they will always be running then
-you can disable Samba from taking part in browser elections and
-ever becoming a local master browser by setting following options 
-in the [global] section of the smb.conf file :</P
-><P
-><B
-CLASS="COMMAND"
->        domain master = no
-        local master = no
-        preferred master = no
-        os level = 0</B
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN335"
-></A
->2.8. Forcing samba to be the master</H2
-><P
->Who becomes the "master browser" is determined by an election process
-using broadcasts.  Each election packet contains a number of parameters
-which determine what precedence (bias) a host should have in the
-election.  By default Samba uses a very low precedence and thus loses
-elections to just about anyone else.</P
-><P
->If you want Samba to win elections then just set the "os level" global
-option in smb.conf to a higher number.  It defaults to 0.  Using 34
-would make it win all elections over every other system (except other
-samba systems!)</P
-><P
->A "os level" of 2 would make it beat WfWg and Win95, but not NTAS.  A
-NTAS domain controller uses level 32.</P
-><P
->The maximum os level is 255</P
-><P
->If you want samba to force an election on startup, then set the
-"preferred master" global option in smb.conf to "yes".  Samba will
-then have a slight advantage over other potential master browsers
-that are not preferred master browsers.  Use this parameter with
-care, as if you have two hosts (whether they are windows 95 or NT or
-samba) on the same local subnet both set with "preferred master" to
-"yes", then periodically and continually they will force an election
-in order to become the local master browser.</P
-><P
->If you want samba to be a "domain master browser", then it is
-recommended that you also set "preferred master" to "yes", because
-samba will not become a domain master browser for the whole of your
-LAN or WAN if it is not also a local master browser on its own
-broadcast isolated subnet.</P
-><P
->It is possible to configure two samba servers to attempt to become
-the domain master browser for a domain.  The first server that comes
-up will be the domain master browser.  All other samba servers will
-attempt to become the domain master browser every 5 minutes.  They
-will find that another samba server is already the domain master
-browser and will fail.  This provides automatic redundancy, should
-the current domain master browser fail.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN344"
-></A
->2.9. Making samba the domain master</H2
-><P
->The domain master is responsible for collating the browse lists of
-multiple subnets so that browsing can occur between subnets.  You can
-make samba act as the domain master by setting "domain master = yes"
-in smb.conf.  By default it will not be a domain master.</P
-><P
->Note that you should NOT set Samba to be the domain master for a
-workgroup that has the same name as an NT Domain.</P
-><P
->When samba is the domain master and the master browser it will listen
-for master announcements (made roughly every twelve minutes) from local
-master browsers on other subnets and then contact them to synchronise
-browse lists.</P
-><P
->If you want samba to be the domain master then I suggest you also set
-the "os level" high enough to make sure it wins elections, and set
-"preferred master" to "yes", to get samba to force an election on
-startup.</P
-><P
->Note that all your servers (including samba) and clients should be
-using a WINS server to resolve NetBIOS names.  If your clients are only
-using broadcasting to resolve NetBIOS names, then two things will occur:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      your local master browsers will be unable to find a domain master
-       browser, as it will only be looking on the local subnet.
-       </P
-></LI
-><LI
-><P
->      if a client happens to get hold of a domain-wide browse list, and
-       a user attempts to access a host in that list, it will be unable to
-       resolve the NetBIOS name of that host.
-       </P
-></LI
-></OL
-><P
->If, however, both samba and your clients are using a WINS server, then:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      your local master browsers will contact the WINS server and, as long as
-       samba has registered that it is a domain master browser with the WINS
-       server, your local master browser will receive samba's ip address
-       as its domain master browser.
-       </P
-></LI
-><LI
-><P
->      when a client receives a domain-wide browse list, and a user attempts
-       to access a host in that list, it will contact the WINS server to
-       resolve the NetBIOS name of that host.  as long as that host has
-       registered its NetBIOS name with the same WINS server, the user will
-       be able to see that host.  
-       </P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN362"
-></A
->2.10. Note about broadcast addresses</H2
-><P
->If your network uses a "0" based broadcast address (for example if it
-ends in a 0) then you will strike problems.  Windows for Workgroups
-does not seem to support a 0's broadcast and you will probably find
-that browsing and name lookups won't work.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN365"
-></A
->2.11. Multiple interfaces</H2
-><P
->Samba now supports machines with multiple network interfaces.  If you
-have multiple interfaces then you will need to use the "interfaces"
-option in smb.conf to configure them.  See smb.conf(5) for details.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="OPLOCKS"
-></A
->Chapter 3. Oplocks</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN377"
-></A
->3.1. What are oplocks?</H2
-><P
->When a client opens a file it can request an "oplock" or file
-lease. This is (to simplify a bit) a guarentee that no one else
-has the file open simultaneously. It allows the client to not
-send any updates on the file to the server, thus reducing a
-network file access to local access (once the file is in
-client cache). An "oplock break" is when the server sends
-a request to the client to flush all its changes back to
-the server, so the file is in a consistent state for other
-opens to succeed. If a client fails to respond to this
-asynchronous request then the file can be corrupted. Hence
-the "turn off oplocks" answer if people are having multi-user
-file access problems.</P
-><P
->Unless the kernel is "oplock aware" (SGI IRIX and Linux are
-the only two UNIXes that are at the moment) then if a local
-UNIX process accesses the file simultaneously then Samba
-has no way of telling this is occuring, so the guarentee
-to the client is broken. This can corrupt the file. Short
-answer - it you have UNIX clients accessing the same file
-as smbd locally or via NFS and you're not running Linux or
-IRIX then turn off oplocks for that file or share.</P
-><P
->"Share modes". These are modes of opening a file, that
-guarentee an invarient - such as DENY_WRITE - which means
-that if any other opens are requested with write access after
-this current open has succeeded then they should be denied
-with a "sharing violation" error message. Samba handles these
-internally inside smbd. UNIX clients accessing the same file
-ignore these invarients. Just proving that if you need simultaneous
-file access from a Windows and UNIX client you *must* have an
-application that is written to lock records correctly on both
-sides. Few applications are written like this, and even fewer
-are cross platform (UNIX and Windows) so in practice this isn't
-much of a problem.</P
-><P
->"Locking". This really means "byte range locking" - such as
-lock 10 bytes at file offset 24 for write access. This is the
-area in which well written UNIX and Windows apps will cooperate.
-Windows locks (at least from NT or above) are 64-bit unsigned
-offsets. UNIX locks are either 31 bit or 63 bit and are signed
-(the top bit is used for the sign). Samba handles these by
-first ensuring that all the Windows locks don't conflict (ie.
-if other Windows clients have competing locks then just reject
-immediately) - this allows us to support 64-bit Windows locks
-on 32-bit filesystems. Secondly any locks that are valid are
-then mapped onto UNIX fcntl byte range locks. These are the
-locks that will be seen by UNIX processes. If there is a conflict
-here the lock is rejected.</P
-><P
->Note that if a client has an oplock then it "knows" that no
-other client can have the file open so usually doesn't bother
-to send to lock request to the server - this means once again
-if you need to share files between UNIX and Windows processes
-either use IRIX or Linux, or turn off oplocks for these
-files/shares.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="BROWSING-QUICK"
-></A
->Chapter 4. Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</H1
-><P
->This document should be read in conjunction with Browsing and may
-be taken as the fast track guide to implementing browsing across subnets
-and / or across workgroups (or domains). WINS is the best tool for resolution
-of NetBIOS names to IP addesses. WINS is NOT involved in browse list handling
-except by way of name to address mapping.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN392"
-></A
->4.1. Discussion</H2
-><P
->Firstly, all MS Windows networking is based on SMB (Server Message
-Block) based messaging. SMB messaging is implemented using NetBIOS. Samba
-implements NetBIOS by encapsulating it over TCP/IP. MS Windows products can
-do likewise. NetBIOS based networking uses broadcast messaging to affect
-browse list management. When running NetBIOS over TCP/IP this uses UDP
-based messaging. UDP messages can be broadcast or unicast.</P
-><P
->Normally, only unicast UDP messaging can be forwarded by routers. The
-"remote announce" parameter to smb.conf helps to project browse announcements
-to remote network segments via unicast UDP. Similarly, the "remote browse sync"
-parameter of smb.conf implements browse list collation using unicast UDP.</P
-><P
->Secondly, in those networks where Samba is the only SMB server technology
-wherever possible nmbd should be configured on one (1) machine as the WINS
-server. This makes it easy to manage the browsing environment. If each network
-segment is configured with it's own Samba WINS server, then the only way to
-get cross segment browsing to work is by using the "remote announce" and
-the "remote browse sync" parameters to your smb.conf file.</P
-><P
->If only one WINS server is used then the use of the "remote announce" and the
-"remote browse sync" parameters should NOT be necessary.</P
-><P
->Samba WINS does not support MS-WINS replication. This means that when setting up
-Samba as a WINS server there must only be one nmbd configured as a WINS server
-on the network. Some sites have used multiple Samba WINS servers for redundancy
-(one server per subnet) and then used "remote browse sync" and "remote announce"
-to affect browse list collation across all segments. Note that this means
-clients will only resolve local names, and must be configured to use DNS to
-resolve names on other subnets in order to resolve the IP addresses of the
-servers they can see on other subnets. This setup is not recommended, but is
-mentioned as a practical consideration (ie: an 'if all else fails' scenario).</P
-><P
->Lastly, take note that browse lists are a collection of unreliable broadcast
-messages that are repeated at intervals of not more than 15 minutes. This means
-that it will take time to establish a browse list and it can take up to 45
-minutes to stabilise, particularly across network segments.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN400"
-></A
->4.2. Use of the "Remote Announce" parameter</H2
-><P
->The "remote announce" parameter of smb.conf can be used to forcibly ensure
-that all the NetBIOS names on a network get announced to a remote network.
-The syntax of the "remote announce" parameter is:
-<PRE
-CLASS="PROGRAMLISTING"
->      remote announce = a.b.c.d [e.f.g.h] ...</PRE
->
-_or_
-<PRE
-CLASS="PROGRAMLISTING"
->      remote announce = a.b.c.d/WORKGROUP [e.f.g.h/WORKGROUP] ...</PRE
->
-
-where:
-<P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->a.b.c.d and e.f.g.h</DT
-><DD
-><P
->is either the LMB (Local Master Browser) IP address
-or the broadcst address of the remote network.
-ie: the LMB is at 192.168.1.10, or the address
-could be given as 192.168.1.255 where the netmask
-is assumed to be 24 bits (255.255.255.0).
-When the remote announcement is made to the broadcast
-address of the remote network every host will receive
-our announcements. This is noisy and therefore
-undesirable but may be necessary if we do NOT know
-the IP address of the remote LMB.</P
-></DD
-><DT
->WORKGROUP</DT
-><DD
-><P
->is optional and can be either our own workgroup
-or that of the remote network. If you use the
-workgroup name of the remote network then our
-NetBIOS machine names will end up looking like
-they belong to that workgroup, this may cause
-name resolution problems and should be avoided.</P
-></DD
-></DL
-></DIV
->&#13;</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN414"
-></A
->4.3. Use of the "Remote Browse Sync" parameter</H2
-><P
->The "remote browse sync" parameter of smb.conf is used to announce to
-another LMB that it must synchronise it's NetBIOS name list with our
-Samba LMB. It works ONLY if the Samba server that has this option is
-simultaneously the LMB on it's network segment.</P
-><P
->The syntax of the "remote browse  sync" parameter is:
-<PRE
-CLASS="PROGRAMLISTING"
->      remote browse sync = a.b.c.d</PRE
->
-
-where a.b.c.d is either the IP address of the remote LMB or else is the network broadcast address of the remote segment.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN419"
-></A
->4.4. Use of WINS</H2
-><P
->Use of WINS (either Samba WINS _or_ MS Windows NT Server WINS) is highly
-recommended. Every NetBIOS machine registers it's name together with a
-name_type value for each of of several types of service it has available.
-eg: It registers it's name directly as a unique (the type 0x03) name.
-It also registers it's name if it is running the lanmanager compatible
-server service (used to make shares and printers available to other users)
-by registering the server (the type 0x20) name.</P
-><P
->All NetBIOS names are up to 15 characters in length. The name_type variable
-is added to the end of the name - thus creating a 16 character name. Any
-name that is shorter than 15 characters is padded with spaces to the 15th
-character. ie: All NetBIOS names are 16 characters long (including the
-name_type information).</P
-><P
->WINS can store these 16 character names as they get registered. A client
-that wants to log onto the network can ask the WINS server for a list
-of all names that have registered the NetLogon service name_type. This saves
-broadcast traffic and greatly expedites logon processing. Since broadcast
-name resolution can not be used across network segments this type of
-information can only be provided via WINS _or_ via statically configured
-"lmhosts" files that must reside on all clients in the absence of WINS.</P
-><P
->WINS also serves the purpose of forcing browse list synchronisation by all
-LMB's. LMB's must synchronise their browse list with the DMB (domain master
-browser) and WINS helps the LMB to identify it's DMB. By definition this
-will work only within a single workgroup. Note that the domain master browser
-has NOTHING to do with what is referred to as an MS Windows NT Domain. The
-later is a reference to a security environment while the DMB refers to the
-master controller for browse list information only.</P
-><P
->Use of WINS will work correctly only if EVERY client TCP/IP protocol stack
-has been configured to use the WINS server/s. Any client that has not been
-configured to use the WINS server will continue to use only broadcast based
-name registration so that WINS may NEVER get to know about it. In any case,
-machines that have not registered with a WINS server will fail name to address
-lookup attempts by other clients and will therefore cause workstation access
-errors.</P
-><P
->To configure Samba as a WINS server just add "wins support = yes" to the
-smb.conf file [globals] section.</P
-><P
->To configure Samba to register with a WINS server just add
-"wins server = a.b.c.d" to your smb.conf file [globals] section.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->DO NOT EVER</I
-></SPAN
-> use both "wins support = yes" together with "wins server = a.b.c.d"
-particularly not using it's own IP address.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN430"
-></A
->4.5. Do NOT use more than one (1) protocol on MS Windows machines</H2
-><P
->A very common cause of browsing problems results from installing more than
-one protocol on an MS Windows machine.</P
-><P
->Every NetBIOS machine take part in a process of electing the LMB (and DMB)
-every 15 minutes. A set of election criteria is used to determine the order
-of precidence for winning this election process. A machine running Samba or
-Windows NT will be biased so that the most suitable machine will predictably
-win and thus retain it's role.</P
-><P
->The election process is "fought out" so to speak over every NetBIOS network
-interface. In the case of a Windows 9x machine that has both TCP/IP and IPX
-installed and has NetBIOS enabled over both protocols the election will be
-decided over both protocols. As often happens, if the Windows 9x machine is
-the only one with both protocols then the LMB may be won on the NetBIOS
-interface over the IPX protocol. Samba will then lose the LMB role as Windows
-9x will insist it knows who the LMB is. Samba will then cease to function
-as an LMB and thus browse list operation on all TCP/IP only machines will
-fail.</P
-><P
->The safest rule of all to follow it this - USE ONLY ONE PROTOCOL!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN436"
-></A
->4.6. Name Resolution Order</H2
-><P
->Resolution of NetBIOS names to IP addresses can take place using a number
-of methods. The only ones that can provide NetBIOS name_type information
-are:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->WINS: the best tool!</TD
-></TR
-><TR
-><TD
->LMHOSTS: is static and hard to maintain.</TD
-></TR
-><TR
-><TD
->Broadcast: uses UDP and can not resolve names across remote segments.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><P
->Alternative means of name resolution includes:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->/etc/hosts: is static, hard to maintain, and lacks name_type info</TD
-></TR
-><TR
-><TD
->DNS: is a good choice but lacks essential name_type info.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><P
->Many sites want to restrict DNS lookups and want to avoid broadcast name
-resolution traffic. The "name resolve order" parameter is of great help here.
-The syntax of the "name resolve order" parameter is:
-<PRE
-CLASS="PROGRAMLISTING"
->      name resolve order = wins lmhosts bcast host</PRE
->
-_or_
-<PRE
-CLASS="PROGRAMLISTING"
->      name resolve order = wins lmhosts       (eliminates bcast and host)</PRE
->
-The default is:
-<PRE
-CLASS="PROGRAMLISTING"
->      name  resolve order = host lmhost wins bcast</PRE
->.
-where "host" refers the the native methods used by the Unix system
-to implement the gethostbyname() function call. This is normally
-controlled by <TT
-CLASS="FILENAME"
->/etc/host.conf</TT
->, <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> and <TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PWENCRYPT"
-></A
->Chapter 5. LanMan and NT Password Encryption in Samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN472"
-></A
->5.1. Introduction</H2
-><P
->Newer windows clients send encrypted passwords over 
-       the wire, instead of plain text passwords. The newest clients 
-       will only send encrypted passwords and refuse to send plain text 
-       passwords, unless their registry is tweaked.</P
-><P
->These passwords can't be converted to unix style encrypted 
-       passwords. Because of that you can't use the standard unix 
-       user database, and you have to store the Lanman and NT hashes 
-       somewhere else. For more information, see the documentation 
-       about the <B
-CLASS="COMMAND"
->passdb backend = </B
-> parameter.
-       </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN477"
-></A
->5.2. Important Notes About Security</H2
-><P
->The unix and SMB password encryption techniques seem similar 
-       on the surface. This similarity is, however, only skin deep. The unix 
-       scheme typically sends clear text passwords over the network when 
-       logging in. This is bad. The SMB encryption scheme never sends the 
-       cleartext password over the network but it does store the 16 byte 
-       hashed values on disk. This is also bad. Why? Because the 16 byte hashed 
-       values are a "password equivalent". You cannot derive the user's 
-       password from them, but they could potentially be used in a modified 
-       client to gain access to a server. This would require considerable 
-       technical knowledge on behalf of the attacker but is perfectly possible. 
-       You should thus treat the smbpasswd file as though it contained the 
-       cleartext passwords of all your users. Its contents must be kept 
-       secret, and the file should be protected accordingly.</P
-><P
->Ideally we would like a password scheme which neither requires 
-       plain text passwords on the net or on disk. Unfortunately this 
-       is not available as Samba is stuck with being compatible with 
-       other SMB systems (WinNT, WfWg, Win95 etc). </P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Note that Windows NT 4.0 Service pack 3 changed the 
-               default for permissible authentication so that plaintext 
-               passwords are <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->never</I
-></SPAN
-> sent over the wire. 
-               The solution to this is either to switch to encrypted passwords 
-               with Samba or edit the Windows NT registry to re-enable plaintext 
-               passwords. See the document WinNT.txt for details on how to do 
-               this.</P
-><P
->Other Microsoft operating systems which also exhibit 
-               this behavior includes</P
-><P
-></P
-><UL
-><LI
-><P
->MS DOS Network client 3.0 with 
-                       the basic network redirector installed</P
-></LI
-><LI
-><P
->Windows 95 with the network redirector 
-                       update installed</P
-></LI
-><LI
-><P
->Windows 98 [se]</P
-></LI
-><LI
-><P
->Windows 2000</P
-></LI
-></UL
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Note :</I
-></SPAN
->All current release of 
-               Microsoft SMB/CIFS clients support authentication via the
-               SMB Challenge/Response mechanism described here.  Enabling
-               clear text authentication does not disable the ability
-               of the client to participate in encrypted authentication.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN496"
-></A
->5.2.1. Advantages of SMB Encryption</H3
-><P
-></P
-><UL
-><LI
-><P
->plain text passwords are not passed across 
-                       the network. Someone using a network sniffer cannot just 
-                       record passwords going to the SMB server.</P
-></LI
-><LI
-><P
->WinNT doesn't like talking to a server 
-                       that isn't using SMB encrypted passwords. It will refuse 
-                       to browse the server if the server is also in user level 
-                       security mode. It will insist on prompting the user for the 
-                       password on each connection, which is very annoying. The
-                       only things you can do to stop this is to use SMB encryption.
-                       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN503"
-></A
->5.2.2. Advantages of non-encrypted passwords</H3
-><P
-></P
-><UL
-><LI
-><P
->plain text passwords are not kept 
-                       on disk. </P
-></LI
-><LI
-><P
->uses same password file as other unix 
-                       services such as login and ftp</P
-></LI
-><LI
-><P
->you are probably already using other 
-                       services (such as telnet and ftp) which send plain text 
-                       passwords over the net, so sending them for SMB isn't 
-                       such a big deal.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN512"
-></A
->5.3. The smbpasswd Command</H2
-><P
->The smbpasswd command maintains the two 32 byte password fields 
-       in the smbpasswd file. If you wish to make it similar to the unix 
-       <B
-CLASS="COMMAND"
->passwd</B
-> or <B
-CLASS="COMMAND"
->yppasswd</B
-> programs, 
-       install it in <TT
-CLASS="FILENAME"
->/usr/local/samba/bin/</TT
-> (or your 
-       main Samba binary directory).</P
-><P
-><B
-CLASS="COMMAND"
->smbpasswd</B
-> now works in a client-server mode 
-       where it contacts the local smbd to change the user's password on its 
-       behalf. This has enormous benefits - as follows.</P
-><P
-><B
-CLASS="COMMAND"
->smbpasswd</B
-> now has the capability 
-       to change passwords on Windows NT servers (this only works when 
-       the request is sent to the NT Primary Domain Controller if you 
-       are changing an NT Domain user's password).</P
-><P
->To run smbpasswd as a normal user just type :</P
-><P
-><TT
-CLASS="PROMPT"
->$ </TT
-><TT
-CLASS="USERINPUT"
-><B
->smbpasswd</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->Old SMB password: </TT
-><TT
-CLASS="USERINPUT"
-><B
->&lt;type old value here - 
-       or hit return if there was no old password&gt;</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->New SMB Password: </TT
-><TT
-CLASS="USERINPUT"
-><B
->&lt;type new value&gt;
-       </B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->Repeat New SMB Password: </TT
-><TT
-CLASS="USERINPUT"
-><B
->&lt;re-type new value
-       </B
-></TT
-></P
-><P
->If the old value does not match the current value stored for 
-       that user, or the two new values do not match each other, then the 
-       password will not be changed.</P
-><P
->If invoked by an ordinary user it will only allow the user 
-       to change his or her own Samba password.</P
-><P
->If run by the root user smbpasswd may take an optional 
-       argument, specifying the user name whose SMB password you wish to 
-       change.  Note that when run as root smbpasswd does not prompt for 
-       or check the old password value, thus allowing root to set passwords 
-       for users who have forgotten their passwords.</P
-><P
-><B
-CLASS="COMMAND"
->smbpasswd</B
-> is designed to work in the same way 
-       and be familiar to UNIX users who use the <B
-CLASS="COMMAND"
->passwd</B
-> or 
-       <B
-CLASS="COMMAND"
->yppasswd</B
-> commands.</P
-><P
->For more details on using <B
-CLASS="COMMAND"
->smbpasswd</B
-> refer 
-       to the man page which will always be the definitive reference.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="AEN544"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->II. Type of installation</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN546"
-></A
-><H1
->Introduction</H1
-><P
->This part contains information on using samba in a (NT 4 or ADS) domain. 
-If you wish to run samba as a domain member or DC, read the appropriate chapter in 
-this part.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->6. <A
-HREF="#SAMBA-PDC"
->How to Configure Samba as a NT4 Primary Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#AEN566"
->Prerequisite Reading</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN572"
->Background</A
-></DT
-><DT
->6.3. <A
-HREF="#AEN611"
->Configuring the Samba Domain Controller</A
-></DT
-><DT
->6.4. <A
-HREF="#AEN654"
->Creating Machine Trust Accounts and Joining Clients to the
-Domain</A
-></DT
-><DD
-><DL
-><DT
->6.4.1. <A
-HREF="#AEN673"
->Manual Creation of Machine Trust Accounts</A
-></DT
-><DT
->6.4.2. <A
-HREF="#AEN714"
->"On-the-Fly" Creation of Machine Trust Accounts</A
-></DT
-><DT
->6.4.3. <A
-HREF="#AEN723"
->Joining the Client to the Domain</A
-></DT
-></DL
-></DD
-><DT
->6.5. <A
-HREF="#AEN738"
->Common Problems and Errors</A
-></DT
-><DT
->6.6. <A
-HREF="#AEN786"
->System Policies and Profiles</A
-></DT
-><DT
->6.7. <A
-HREF="#AEN830"
->What other help can I get?</A
-></DT
-><DT
->6.8. <A
-HREF="#AEN944"
->Domain Control for Windows 9x/ME</A
-></DT
-><DD
-><DL
-><DT
->6.8.1. <A
-HREF="#AEN970"
->Configuration Instructions:   Network Logons</A
-></DT
-><DT
->6.8.2. <A
-HREF="#AEN989"
->Configuration Instructions:   Setting up Roaming User Profiles</A
-></DT
-></DL
-></DD
-><DT
->6.9. <A
-HREF="#AEN1082"
->DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#SAMBA-BDC"
->How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#AEN1118"
->Prerequisite Reading</A
-></DT
-><DT
->7.2. <A
-HREF="#AEN1122"
->Background</A
-></DT
-><DT
->7.3. <A
-HREF="#AEN1130"
->What qualifies a Domain Controller on the network?</A
-></DT
-><DD
-><DL
-><DT
->7.3.1. <A
-HREF="#AEN1133"
->How does a Workstation find its domain controller?</A
-></DT
-><DT
->7.3.2. <A
-HREF="#AEN1136"
->When is the PDC needed?</A
-></DT
-></DL
-></DD
-><DT
->7.4. <A
-HREF="#AEN1139"
->Can Samba be a Backup Domain Controller?</A
-></DT
-><DT
->7.5. <A
-HREF="#AEN1143"
->How do I set up a Samba BDC?</A
-></DT
-><DD
-><DL
-><DT
->7.5.1. <A
-HREF="#AEN1160"
->How do I replicate the smbpasswd file?</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->8. <A
-HREF="#ADS"
->Samba as a ADS domain member</A
-></DT
-><DD
-><DL
-><DT
->8.1. <A
-HREF="#AEN1178"
->Installing the required packages for Debian</A
-></DT
-><DT
->8.2. <A
-HREF="#AEN1184"
->Installing the required packages for RedHat</A
-></DT
-><DT
->8.3. <A
-HREF="#AEN1193"
->Compile Samba</A
-></DT
-><DT
->8.4. <A
-HREF="#AEN1205"
->Setup your /etc/krb5.conf</A
-></DT
-><DT
->8.5. <A
-HREF="#AEN1215"
->Create the computer account</A
-></DT
-><DD
-><DL
-><DT
->8.5.1. <A
-HREF="#AEN1219"
->Possible errors</A
-></DT
-></DL
-></DD
-><DT
->8.6. <A
-HREF="#AEN1231"
->Test your server setup</A
-></DT
-><DT
->8.7. <A
-HREF="#AEN1236"
->Testing with smbclient</A
-></DT
-><DT
->8.8. <A
-HREF="#AEN1239"
->Notes</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#DOMAIN-SECURITY"
->Samba as a NT4 domain member</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#AEN1261"
->Joining an NT Domain with Samba 2.2</A
-></DT
-><DT
->9.2. <A
-HREF="#AEN1325"
->Samba and Windows 2000 Domains</A
-></DT
-><DT
->9.3. <A
-HREF="#AEN1330"
->Why is this better than security = server?</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SAMBA-PDC"
-></A
->Chapter 6. How to Configure Samba as a NT4 Primary Domain Controller</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN566"
-></A
->6.1. Prerequisite Reading</H2
-><P
->Before you continue reading in this chapter, please make sure 
-that you are comfortable with configuring basic files services
-in smb.conf and how to enable and administer password 
-encryption in Samba.  Theses two topics are covered in the
-<A
-HREF="smb.conf.5.html"
-TARGET="_top"
-><TT
-CLASS="FILENAME"
->smb.conf(5)</TT
-></A
-> 
-manpage and the <A
-HREF="ENCRYPTION.html"
-TARGET="_top"
->Encryption chapter</A
-> 
-of this HOWTO Collection.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN572"
-></A
->6.2. Background</H2
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Author's Note:</I
-></SPAN
-> This document is a combination 
-of David Bannon's "Samba 2.2 PDC HOWTO" and "Samba NT Domain FAQ". 
-Both documents are superseded by this one.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Versions of Samba prior to release 2.2 had marginal capabilities to act
-as a Windows NT 4.0 Primary Domain Controller
-
-(PDC).  With Samba 2.2.0, we are proud to announce official support for
-Windows NT 4.0-style domain logons from Windows NT 4.0 and Windows 
-2000 clients.  This article outlines the steps
-necessary for configuring Samba as a PDC.  It is necessary to have a
-working Samba server prior to implementing the PDC functionality.  If
-you have not followed the steps outlined in <A
-HREF="UNIX_INSTALL.html"
-TARGET="_top"
-> UNIX_INSTALL.html</A
->, please make sure
-that your server is configured correctly before proceeding.  Another
-good resource in the <A
-HREF="smb.conf.5.html"
-TARGET="_top"
->smb.conf(5) man
-page</A
->. The following functionality should work in 2.2:</P
-><P
-></P
-><UL
-><LI
-><P
->      domain logons for Windows NT 4.0/2000 clients.
-       </P
-></LI
-><LI
-><P
->      placing a Windows 9x client in user level security
-       </P
-></LI
-><LI
-><P
->      retrieving a list of users and groups from a Samba PDC to
-       Windows 9x/NT/2000 clients
-       </P
-></LI
-><LI
-><P
->      roving (roaming) user profiles
-       </P
-></LI
-><LI
-><P
->      Windows NT 4.0-style system policies
-       </P
-></LI
-></UL
-><P
->The following pieces of functionality are not included in the 2.2 release:</P
-><P
-></P
-><UL
-><LI
-><P
->      Windows NT 4 domain trusts
-       </P
-></LI
-><LI
-><P
->      SAM replication with Windows NT 4.0 Domain Controllers
-       (i.e. a Samba PDC and a Windows NT BDC or vice versa) 
-       </P
-></LI
-><LI
-><P
->      Adding users via the User Manager for Domains
-       </P
-></LI
-><LI
-><P
->      Acting as a Windows 2000 Domain Controller (i.e. Kerberos and 
-       Active Directory)
-       </P
-></LI
-></UL
-><P
->Please note that Windows 9x clients are not true members of a domain
-for reasons outlined in this article.  Therefore the protocol for
-support Windows 9x-style domain logons is completely different
-from NT4 domain logons and has been officially supported for some 
-time.</P
-><P
->Implementing a Samba PDC can basically be divided into 2 broad
-steps.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      Configuring the Samba PDC
-       </P
-></LI
-><LI
-><P
->      Creating machine trust accounts and joining clients 
-       to the domain
-       </P
-></LI
-></OL
-><P
->There are other minor details such as user profiles, system
-policies, etc...  However, these are not necessarily specific
-to a Samba PDC as much as they are related to Windows NT networking
-concepts.  They will be mentioned only briefly here.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN611"
-></A
->6.3. Configuring the Samba Domain Controller</H2
-><P
->The first step in creating a working Samba PDC is to 
-understand the parameters necessary in smb.conf.  I will not
-attempt to re-explain the parameters here as they are more that
-adequately covered in <A
-HREF="smb.conf.5.html"
-TARGET="_top"
-> the smb.conf
-man page</A
->.  For convenience, the parameters have been
-linked with the actual smb.conf description.</P
-><P
->Here is an example <TT
-CLASS="FILENAME"
->smb.conf</TT
-> for acting as a PDC:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-    ; Basic server settings
-    <A
-HREF="smb.conf.5.html#NETBIOSNAME"
-TARGET="_top"
->netbios name</A
-> = <TT
-CLASS="REPLACEABLE"
-><I
->POGO</I
-></TT
->
-    <A
-HREF="smb.conf.5.html#WORKGROUP"
-TARGET="_top"
->workgroup</A
-> = <TT
-CLASS="REPLACEABLE"
-><I
->NARNIA</I
-></TT
->
-
-    ; we should act as the domain and local master browser
-    <A
-HREF="smb.conf.5.html#OSLEVEL"
-TARGET="_top"
->os level</A
-> = 64
-    <A
-HREF="smb.conf.5.html#PERFERREDMASTER"
-TARGET="_top"
->preferred master</A
-> = yes
-    <A
-HREF="smb.conf.5.html#DOMAINMASTER"
-TARGET="_top"
->domain master</A
-> = yes
-    <A
-HREF="smb.conf.5.html#LOCALMASTER"
-TARGET="_top"
->local master</A
-> = yes
-    
-    ; security settings (must user security = user)
-    <A
-HREF="smb.conf.5.html#SECURITYEQUALSUSER"
-TARGET="_top"
->security</A
-> = user
-    
-    ; encrypted passwords are a requirement for a PDC
-    <A
-HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
-TARGET="_top"
->encrypt passwords</A
-> = yes
-    
-    ; support domain logons
-    <A
-HREF="smb.conf.5.html#DOMAINLOGONS"
-TARGET="_top"
->domain logons</A
-> = yes
-    
-    ; where to store user profiles?
-    <A
-HREF="smb.conf.5.html#LOGONPATH"
-TARGET="_top"
->logon path</A
-> = \\%N\profiles\%u
-    
-    ; where is a user's home directory and where should it
-    ; be mounted at?
-    <A
-HREF="smb.conf.5.html#LOGONDRIVE"
-TARGET="_top"
->logon drive</A
-> = H:
-    <A
-HREF="smb.conf.5.html#LOGONHOME"
-TARGET="_top"
->logon home</A
-> = \\homeserver\%u
-    
-    ; specify a generic logon script for all users
-    ; this is a relative **DOS** path to the [netlogon] share
-    <A
-HREF="smb.conf.5.html#LOGONSCRIPT"
-TARGET="_top"
->logon script</A
-> = logon.cmd
-
-; necessary share for domain controller
-[netlogon]
-    <A
-HREF="smb.conf.5.html#PATH"
-TARGET="_top"
->path</A
-> = /usr/local/samba/lib/netlogon
-    <A
-HREF="smb.conf.5.html#READONLY"
-TARGET="_top"
->read only</A
-> = yes
-    <A
-HREF="smb.conf.5.html#WRITELIST"
-TARGET="_top"
->write list</A
-> = <TT
-CLASS="REPLACEABLE"
-><I
->ntadmin</I
-></TT
->
-    
-; share for storing user profiles
-[profiles]
-    <A
-HREF="smb.conf.5.html#PATH"
-TARGET="_top"
->path</A
-> = /export/smb/ntprofile
-    <A
-HREF="smb.conf.5.html#READONLY"
-TARGET="_top"
->read only</A
-> = no
-    <A
-HREF="smb.conf.5.html#CREATEMASK"
-TARGET="_top"
->create mask</A
-> = 0600
-    <A
-HREF="smb.conf.5.html#DIRECTORYMASK"
-TARGET="_top"
->directory mask</A
-> = 0700</PRE
-></P
-><P
->There are a couple of points to emphasize in the above configuration.</P
-><P
-></P
-><UL
-><LI
-><P
->      Encrypted passwords must be enabled.  For more details on how 
-       to do this, refer to <A
-HREF="ENCRYPTION.html"
-TARGET="_top"
->ENCRYPTION.html</A
->.
-       </P
-></LI
-><LI
-><P
->      The server must support domain logons and a
-       <TT
-CLASS="FILENAME"
->[netlogon]</TT
-> share
-       </P
-></LI
-><LI
-><P
->      The server must be the domain master browser in order for Windows 
-       client to locate the server as a DC.  Please refer to the various 
-       Network Browsing documentation included with this distribution for 
-       details.
-       </P
-></LI
-></UL
-><P
->As Samba 2.2 does not offer a complete implementation of group mapping
-between Windows NT groups and Unix groups (this is really quite
-complicated to explain in a short space), you should refer to the
-<A
-HREF="smb.conf.5.html#DOMAINADMINGROUP"
-TARGET="_top"
->domain admin
-group</A
-> smb.conf parameter for information of creating "Domain
-Admins" style accounts.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN654"
-></A
->6.4. Creating Machine Trust Accounts and Joining Clients to the
-Domain</H2
-><P
->A machine trust account is a Samba account that is used to
-authenticate a client machine (rather than a user) to the Samba
-server.  In Windows terminology, this is known as a "Computer
-Account."</P
-><P
->The password of a machine trust account acts as the shared secret for
-secure communication with the Domain Controller.  This is a security
-feature to prevent an unauthorized machine with the same NetBIOS name
-from joining the domain and gaining access to domain user/group
-accounts.  Windows NT and 2000 clients use machine trust accounts, but
-Windows 9x clients do not.  Hence, a Windows 9x client is never a true
-member of a domain because it does not possess a machine trust
-account, and thus has no shared secret with the domain controller.</P
-><P
->A Windows PDC stores each machine trust account in the Windows
-Registry.  A Samba PDC, however, stores each machine trust account 
-in two parts, as follows:
-
-<P
-></P
-><UL
-><LI
-><P
->A Samba account, stored in the same location as user
-    LanMan and NT password hashes (currently
-    <TT
-CLASS="FILENAME"
->smbpasswd</TT
->). The Samba account 
-    possesses and uses only the NT password hash.</P
-></LI
-><LI
-><P
->A corresponding Unix account, typically stored in
-    <TT
-CLASS="FILENAME"
->/etc/passwd</TT
->. (Future releases will alleviate the need to
-    create <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entries.) </P
-></LI
-></UL
-></P
-><P
->There are two ways to create machine trust accounts:</P
-><P
-></P
-><UL
-><LI
-><P
-> Manual creation. Both the Samba and corresponding
-       Unix account are created by hand.</P
-></LI
-><LI
-><P
-> "On-the-fly" creation. The Samba machine trust
-       account is automatically created by Samba at the time the client
-       is joined to the domain. (For security, this is the
-       recommended method.) The corresponding Unix account may be
-       created automatically or manually. </P
-></LI
-></UL
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN673"
-></A
->6.4.1. Manual Creation of Machine Trust Accounts</H3
-><P
->The first step in manually creating a machine trust account is to
-manually create the corresponding Unix account in
-<TT
-CLASS="FILENAME"
->/etc/passwd</TT
->.  This can be done using
-<B
-CLASS="COMMAND"
->vipw</B
-> or other 'add user' command that is normally
-used to create new Unix accounts.  The following is an example for a
-Linux based Samba server:</P
-><P
->  <TT
-CLASS="PROMPT"
->root# </TT
-><B
-CLASS="COMMAND"
->/usr/sbin/useradd -g 100 -d /dev/null -c <TT
-CLASS="REPLACEABLE"
-><I
->"machine 
-nickname"</I
-></TT
-> -s /bin/false <TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
->$ </B
-></P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><B
-CLASS="COMMAND"
->passwd -l <TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
->$</B
-></P
-><P
->On *BSD systems, this can be done using the 'chpass' utility:</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><B
-CLASS="COMMAND"
->chpass -a "<TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
->$:*:101:100::0:0:Workstation <TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
->:/dev/null:/sbin/nologin"</B
-></P
-><P
->The <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entry will list the machine name 
-with a "$" appended, won't have a password, will have a null shell and no 
-home directory. For example a machine named 'doppy' would have an 
-<TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entry like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->doppy$:x:505:501:<TT
-CLASS="REPLACEABLE"
-><I
->machine_nickname</I
-></TT
->:/dev/null:/bin/false</PRE
-></P
-><P
->Above, <TT
-CLASS="REPLACEABLE"
-><I
->machine_nickname</I
-></TT
-> can be any
-descriptive name for the client, i.e., BasementComputer.
-<TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
-> absolutely must be the NetBIOS
-name of the client to be joined to the domain.  The "$" must be
-appended to the NetBIOS name of the client or Samba will not recognize
-this as a machine trust account.</P
-><P
->Now that the corresponding Unix account has been created, the next step is to create 
-the Samba account for the client containing the well-known initial 
-machine trust account password.  This can be done using the <A
-HREF="smbpasswd.8.html"
-TARGET="_top"
-><B
-CLASS="COMMAND"
->smbpasswd(8)</B
-></A
-> command 
-as shown here:</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><B
-CLASS="COMMAND"
->smbpasswd -a -m <TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
-></B
-></P
-><P
->where <TT
-CLASS="REPLACEABLE"
-><I
->machine_name</I
-></TT
-> is the machine's NetBIOS
-name.  The RID of the new machine account is generated from the UID of 
-the corresponding Unix account.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->Join the client to the domain immediately</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->      Manually creating a machine trust account using this method is the 
-       equivalent of creating a machine trust account on a Windows NT PDC using 
-       the "Server Manager".  From the time at which the account is created
-       to the time which the client joins the domain and changes the password,
-       your domain is vulnerable to an intruder joining your domain using a
-       a machine with the same NetBIOS name.  A PDC inherently trusts
-       members of the domain and will serve out a large degree of user 
-       information to such clients.  You have been warned!
-       </P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN714"
-></A
->6.4.2. "On-the-Fly" Creation of Machine Trust Accounts</H3
-><P
->The second (and recommended) way of creating machine trust accounts is
-simply to allow the Samba server to create them as needed when the client
-is joined to the domain. </P
-><P
->Since each Samba machine trust account requires a corresponding
-Unix account, a method for automatically creating the
-Unix account is usually supplied; this requires configuration of the
-<A
-HREF="smb.conf.5.html#ADDUSERSCRIPT"
-TARGET="_top"
->add user script</A
-> 
-option in <TT
-CLASS="FILENAME"
->smb.conf</TT
->.  This
-method is not required, however; corresponding Unix accounts may also
-be created manually.</P
-><P
->Below is an example for a RedHat 6.2 Linux system.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-   # &#60;...remainder of parameters...&#62;
-   add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u </PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN723"
-></A
->6.4.3. Joining the Client to the Domain</H3
-><P
->The procedure for joining a client to the domain varies with the
-version of Windows.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Windows 2000</I
-></SPAN
-></P
-><P
-> When the user elects to join the client to a domain, Windows prompts for
-       an account and password that is privileged to join the domain.  A
-       Samba administrative account (i.e., a Samba account that has root
-       privileges on the Samba server) must be entered here; the
-       operation will fail if an ordinary user account is given. 
-       The password for this account should be
-       set to a different password than the associated
-       <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entry, for security
-       reasons. </P
-><P
->The session key of the Samba administrative account acts as an
-       encryption key for setting the password of the machine trust
-       account. The machine trust account will be created on-the-fly, or
-       updated if it already exists.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Windows NT</I
-></SPAN
-></P
-><P
-> If the machine trust account was created manually, on the
-       Identification Changes menu enter the domain name, but do not
-       check the box "Create a Computer Account in the Domain."  In this case,
-       the existing machine trust account is used to join the machine to
-       the domain.</P
-><P
-> If the machine trust account is to be created
-       on-the-fly, on the Identification Changes menu enter the domain
-       name, and check the box "Create a Computer Account in the Domain."  In
-       this case, joining the domain proceeds as above for Windows 2000
-       (i.e., you must supply a Samba administrative account when
-       prompted).</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN738"
-></A
->6.5. Common Problems and Errors</H2
-><P
-></P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->I cannot include a '$' in a machine name.</I
-></SPAN
->
-       </P
-><P
->      A 'machine name' in (typically) <TT
-CLASS="FILENAME"
->/etc/passwd</TT
->      
-       of the machine name with a '$' appended. FreeBSD (and other BSD 
-       systems?) won't create a user with a '$' in their name.
-       </P
-><P
->      The problem is only in the program used to make the entry, once 
-       made, it works perfectly. So create a user without the '$' and 
-       use <B
-CLASS="COMMAND"
->vipw</B
-> to edit the entry, adding the '$'. Or create 
-       the whole entry with vipw if you like, make sure you use a 
-       unique User ID !
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->I get told "You already have a connection to the Domain...." 
-       or "Cannot join domain, the credentials supplied conflict with an 
-       existing set.." when creating a machine trust account.</I
-></SPAN
->
-       </P
-><P
->      This happens if you try to create a machine trust account from the 
-       machine itself and already have a connection (e.g. mapped drive) 
-       to a share (or IPC$) on the Samba PDC.  The following command
-       will remove all network drive connections:
-       </P
-><P
->      <TT
-CLASS="PROMPT"
->C:\WINNT\&#62;</TT
-> <B
-CLASS="COMMAND"
->net use * /d</B
->
-       </P
-><P
->      Further, if the machine is a already a 'member of a workgroup' that 
-       is the same name as the domain you are joining (bad idea) you will 
-       get this message.  Change the workgroup name to something else, it 
-       does not matter what, reboot, and try again.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->The system can not log you on (C000019B)....</I
-></SPAN
->
-       </P
-><P
->I joined the domain successfully but after upgrading 
-       to a newer version of the Samba code I get the message, "The system 
-       can not log you on (C000019B), Please try a gain or consult your 
-       system administrator" when attempting to logon.
-       </P
-><P
->      This occurs when the domain SID stored in 
-       <TT
-CLASS="FILENAME"
->private/WORKGROUP.SID</TT
-> is 
-       changed.  For example, you remove the file and <B
-CLASS="COMMAND"
->smbd</B
-> automatically 
-       creates a new one.  Or you are swapping back and forth between 
-       versions 2.0.7, TNG and the HEAD branch code (not recommended).  The 
-       only way to correct the problem is to restore the original domain 
-       SID or remove the domain client from the domain and rejoin.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->The machine trust account for this computer either does not 
-       exist or is not accessible.</I
-></SPAN
->
-       </P
-><P
->      When I try to join the domain I get the message "The machine account 
-       for this computer either does not exist or is not accessible". What's 
-       wrong?
-       </P
-><P
->      This problem is caused by the PDC not having a suitable machine trust account. 
-       If you are using the <TT
-CLASS="PARAMETER"
-><I
->add user script</I
-></TT
-> method to create 
-       accounts then this would indicate that it has not worked. Ensure the domain 
-       admin user system is working.
-       </P
-><P
->      Alternatively if you are creating account entries manually then they 
-       have not been created correctly. Make sure that you have the entry 
-       correct for the machine trust account in smbpasswd file on the Samba PDC. 
-       If you added the account using an editor rather than using the smbpasswd 
-       utility, make sure that the account name is the machine NetBIOS name 
-       with a '$' appended to it ( i.e. computer_name$ ). There must be an entry 
-       in both /etc/passwd and the smbpasswd file. Some people have reported 
-       that inconsistent subnet masks between the Samba server and the NT 
-       client have caused this problem.   Make sure that these are consistent 
-       for both client and server.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->When I attempt to login to a Samba Domain from a NT4/W2K workstation,
-       I get a message about my account being disabled.</I
-></SPAN
->
-       </P
-><P
->      This problem is caused by a PAM related bug in Samba 2.2.0.  This bug is 
-       fixed in 2.2.1.  Other symptoms could be unaccessible shares on 
-       NT/W2K member servers in the domain or the following error in your smbd.log:
-       passdb/pampass.c:pam_account(268) PAM: UNKNOWN ERROR for User: %user%
-       </P
-><P
->      At first be ensure to enable the useraccounts with <B
-CLASS="COMMAND"
->smbpasswd -e 
-       %user%</B
->, this is normally done, when you create an account.
-       </P
-><P
->      In order to work around this problem in 2.2.0, configure the 
-       <TT
-CLASS="PARAMETER"
-><I
->account</I
-></TT
-> control flag in 
-       <TT
-CLASS="FILENAME"
->/etc/pam.d/samba</TT
-> file as follows:
-       </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      account required        pam_permit.so
-       </PRE
-></P
-><P
->      If you want to remain backward compatibility to samba 2.0.x use
-       <TT
-CLASS="FILENAME"
->pam_permit.so</TT
->, it's also possible to use 
-       <TT
-CLASS="FILENAME"
->pam_pwdb.so</TT
->. There are some bugs if you try to 
-       use <TT
-CLASS="FILENAME"
->pam_unix.so</TT
->, if you need this, be ensure to use
-       the most recent version of this file.
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN786"
-></A
->6.6. System Policies and Profiles</H2
-><P
->Much of the information necessary to implement System Policies and
-Roving User Profiles in a Samba domain is the same as that for 
-implementing these same items in a Windows NT 4.0 domain. 
-You should read the white paper <A
-HREF="http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp"
-TARGET="_top"
->Implementing
-Profiles and Policies in Windows NT 4.0</A
-> available from Microsoft.</P
-><P
->Here are some additional details:</P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->What about Windows NT Policy Editor?</I
-></SPAN
->
-       </P
-><P
->      To create or edit <TT
-CLASS="FILENAME"
->ntconfig.pol</TT
-> you must use 
-       the NT Server Policy Editor, <B
-CLASS="COMMAND"
->poledit.exe</B
->      which 
-       is included with NT Server but <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not NT Workstation</I
-></SPAN
->. 
-       There is a Policy Editor on a NTws 
-       but it is not suitable for creating <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Domain Policies</I
-></SPAN
->. 
-       Further, although the Windows 95 
-       Policy Editor can be installed on an NT Workstation/Server, it will not
-       work with NT policies because the registry key that are set by the policy templates. 
-       However, the files from the NT Server will run happily enough on an NTws.       
-       You need <TT
-CLASS="FILENAME"
->poledit.exe, common.adm</TT
-> and <TT
-CLASS="FILENAME"
->winnt.adm</TT
->. It is convenient
-       to put the two *.adm files in <TT
-CLASS="FILENAME"
->c:\winnt\inf</TT
-> which is where
-       the binary will look for them unless told otherwise. Note also that that 
-       directory is 'hidden'.
-       </P
-><P
->      The Windows NT policy editor is also included with the Service Pack 3 (and 
-       later) for Windows NT 4.0. Extract the files using <B
-CLASS="COMMAND"
->servicepackname /x</B
->, 
-       i.e. that's <B
-CLASS="COMMAND"
->Nt4sp6ai.exe /x</B
-> for service pack 6a.  The policy editor, 
-       <B
-CLASS="COMMAND"
->poledit.exe</B
-> and the associated template files (*.adm) should
-       be extracted as well.  It is also possible to downloaded the policy template 
-       files for Office97 and get a copy of the policy editor.  Another possible 
-       location is with the Zero Administration Kit available for download from Microsoft.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Can Win95 do Policies?</I
-></SPAN
->
-       </P
-><P
->      Install the group policy handler for Win9x to pick up group 
-       policies.   Look on the Win98 CD in <TT
-CLASS="FILENAME"
->\tools\reskit\netadmin\poledit</TT
->. 
-       Install group policies on a Win9x client by double-clicking 
-       <TT
-CLASS="FILENAME"
->grouppol.inf</TT
->. Log off and on again a couple of 
-       times and see if Win98 picks up group policies.  Unfortunately this needs 
-       to be done on every Win9x machine that uses group policies....
-       </P
-><P
->      If group policies don't work one reports suggests getting the updated 
-       (read: working) grouppol.dll for Windows 9x. The group list is grabbed 
-       from /etc/group.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->How do I get 'User Manager' and 'Server Manager'</I
-></SPAN
->
-       </P
-><P
->      Since I don't need to buy an NT Server CD now, how do I get 
-       the 'User Manager for Domains', the 'Server Manager'?
-       </P
-><P
->      Microsoft distributes a version of these tools called nexus for 
-       installation on Windows 95 systems.  The tools set includes
-       </P
-><P
-></P
-><UL
-><LI
-><P
->Server Manager</P
-></LI
-><LI
-><P
->User Manager for Domains</P
-></LI
-><LI
-><P
->Event Viewer</P
-></LI
-></UL
-><P
->      Click here to download the archived file <A
-HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE"
-TARGET="_top"
->ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE</A
->
-       </P
-><P
->      The Windows NT 4.0 version of the 'User Manager for 
-       Domains' and 'Server Manager' are available from Microsoft via ftp 
-       from <A
-HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE"
-TARGET="_top"
->ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE</A
->
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN830"
-></A
->6.7. What other help can I get?</H2
-><P
->There are many sources of information available in the form 
-of mailing lists, RFC's and documentation.  The docs that come 
-with the samba distribution contain very good explanations of 
-general SMB topics such as browsing.</P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->What are some diagnostics tools I can use to debug the domain logon 
-       process and where can I find them?</I
-></SPAN
->
-       </P
-><P
->      One of the best diagnostic tools for debugging problems is Samba itself.  
-       You can use the -d option for both smbd and nmbd to specify what 
-       'debug level' at which to run.  See the man pages on smbd, nmbd  and 
-       smb.conf for more information on debugging options.  The debug 
-       level can range from 1 (the default) to 10 (100 for debugging passwords).
-       </P
-><P
->      Another helpful method of debugging is to compile samba using the 
-       <B
-CLASS="COMMAND"
->gcc -g </B
-> flag.   This will include debug 
-       information in the binaries and allow you to attach gdb to the 
-       running smbd / nmbd process.  In order to attach gdb to an smbd 
-       process for an NT workstation, first get the workstation to make the 
-       connection. Pressing ctrl-alt-delete and going down to the domain box 
-       is sufficient (at least, on the first time you join the domain) to 
-       generate a 'LsaEnumTrustedDomains'. Thereafter, the workstation 
-       maintains an open connection, and therefore there will be an smbd 
-       process running (assuming that you haven't set a really short smbd 
-       idle timeout)  So, in between pressing ctrl alt delete, and actually 
-       typing in your password, you can gdb attach and continue.
-       </P
-><P
->      Some useful samba commands worth investigating:
-       </P
-><P
-></P
-><UL
-><LI
-><P
->testparam | more</P
-></LI
-><LI
-><P
->smbclient -L //{netbios name of server}</P
-></LI
-></UL
-><P
->      An SMB enabled version of tcpdump is available from 
-       <A
-HREF="http://www.tcpdump.org/"
-TARGET="_top"
->http://www.tcpdup.org/</A
->.
-       Ethereal, another good packet sniffer for Unix and Win32
-       hosts, can be downloaded from <A
-HREF="http://www.ethereal.com/"
-TARGET="_top"
->http://www.ethereal.com</A
->.
-       </P
-><P
->      For tracing things on the Microsoft Windows NT, Network Monitor 
-       (aka. netmon) is available on the Microsoft Developer Network CD's, 
-       the Windows NT Server install CD and the SMS CD's.  The version of 
-       netmon that ships with SMS allows for dumping packets between any two 
-       computers (i.e. placing the network interface in promiscuous mode).  
-       The version on the NT Server install CD will only allow monitoring 
-       of network traffic directed to the local NT box and broadcasts on the 
-       local subnet.  Be aware that Ethereal can read and write netmon 
-       formatted files.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->How do I install 'Network Monitor' on an NT Workstation 
-       or a Windows 9x box?</I
-></SPAN
->
-       </P
-><P
->      Installing netmon on an NT workstation requires a couple 
-       of steps.  The following are for installing Netmon V4.00.349, which comes 
-       with Microsoft Windows NT Server 4.0, on Microsoft Windows NT 
-       Workstation 4.0.  The process should be similar for other version of 
-       Windows NT / Netmon.  You will need both the Microsoft Windows 
-       NT Server 4.0 Install CD and the Workstation 4.0 Install CD.
-       </P
-><P
->      Initially you will need to install 'Network Monitor Tools and Agent' 
-       on the NT Server.  To do this 
-       </P
-><P
-></P
-><UL
-><LI
-><P
->Goto Start - Settings - Control Panel - 
-               Network - Services - Add </P
-></LI
-><LI
-><P
->Select the 'Network Monitor Tools and Agent' and 
-               click on 'OK'.</P
-></LI
-><LI
-><P
->Click 'OK' on the Network Control Panel.
-               </P
-></LI
-><LI
-><P
->Insert the Windows NT Server 4.0 install CD 
-               when prompted.</P
-></LI
-></UL
-><P
->      At this point the Netmon files should exist in 
-       <TT
-CLASS="FILENAME"
->%SYSTEMROOT%\System32\netmon\*.*</TT
->.    
-       Two subdirectories exist as well, <TT
-CLASS="FILENAME"
->parsers\</TT
-> 
-       which contains the necessary DLL's for parsing the netmon packet 
-       dump, and <TT
-CLASS="FILENAME"
->captures\</TT
->.
-       </P
-><P
->      In order to install the Netmon tools on an NT Workstation, you will 
-       first need to install the 'Network  Monitor Agent' from the Workstation 
-       install CD.
-       </P
-><P
-></P
-><UL
-><LI
-><P
->Goto Start - Settings - Control Panel - 
-               Network - Services - Add</P
-></LI
-><LI
-><P
->Select the 'Network Monitor Agent' and click 
-               on 'OK'.</P
-></LI
-><LI
-><P
->Click 'OK' on the Network Control Panel.
-               </P
-></LI
-><LI
-><P
->Insert the Windows NT Workstation 4.0 install 
-               CD when prompted.</P
-></LI
-></UL
-><P
->      Now copy the files from the NT Server in %SYSTEMROOT%\System32\netmon\*.* 
-       to %SYSTEMROOT%\System32\netmon\*.* on the Workstation and set 
-       permissions as  you deem appropriate for your site. You will need 
-       administrative rights on the NT box to run netmon.
-       </P
-><P
->      To install Netmon on a Windows 9x box install the network monitor agent 
-       from the Windows 9x CD (\admin\nettools\netmon).  There is a readme 
-       file located with the netmon driver files on the CD if you need 
-       information on how to do this.  Copy the files from a working 
-       Netmon installation.
-       </P
-></LI
-><LI
-><P
->      The following is a list if helpful URLs and other links:
-       </P
-><P
-></P
-><UL
-><LI
-><P
->Home of Samba site <A
-HREF="http://samba.org"
-TARGET="_top"
->        http://samba.org</A
->. We have a mirror near you !</P
-></LI
-><LI
-><P
-> The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Development</I
-></SPAN
-> document 
-       on the Samba mirrors might mention your problem. If so,
-       it might mean that the developers are working on it.</P
-></LI
-><LI
-><P
->See how Scott Merrill simulates a BDC behavior at 
-        <A
-HREF="http://www.skippy.net/linux/smb-howto.html"
-TARGET="_top"
->        http://www.skippy.net/linux/smb-howto.html</A
->. </P
-></LI
-><LI
-><P
->Although 2.0.7 has almost had its day as a PDC, David Bannon will
-        keep the 2.0.7 PDC pages at <A
-HREF="http://bioserve.latrobe.edu.au/samba"
-TARGET="_top"
->        http://bioserve.latrobe.edu.au/samba</A
-> going for a while yet.</P
-></LI
-><LI
-><P
->Misc links to CIFS information 
-        <A
-HREF="http://samba.org/cifs/"
-TARGET="_top"
->http://samba.org/cifs/</A
-></P
-></LI
-><LI
-><P
->NT Domains for Unix <A
-HREF="http://mailhost.cb1.com/~lkcl/ntdom/"
-TARGET="_top"
->        http://mailhost.cb1.com/~lkcl/ntdom/</A
-></P
-></LI
-><LI
-><P
->FTP site for older SMB specs: 
-        <A
-HREF="ftp://ftp.microsoft.com/developr/drg/CIFS/"
-TARGET="_top"
->        ftp://ftp.microsoft.com/developr/drg/CIFS/</A
-></P
-></LI
-></UL
-></LI
-></UL
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->How do I get help from the mailing lists?</I
-></SPAN
->
-       </P
-><P
->      There are a number of Samba related mailing lists. Go to <A
-HREF="http://samba.org"
-TARGET="_top"
->http://samba.org</A
->, click on your nearest mirror
-       and then click on <B
-CLASS="COMMAND"
->Support</B
-> and then click on <B
-CLASS="COMMAND"
->      Samba related mailing lists</B
->.
-       </P
-><P
->      For questions relating to Samba TNG go to
-       <A
-HREF="http://www.samba-tng.org/"
-TARGET="_top"
->http://www.samba-tng.org/</A
-> 
-       It has been requested that you don't post questions about Samba-TNG to the
-       main stream Samba lists.</P
-><P
->      If you post a message to one of the lists please observe the following guide lines :
-       </P
-><P
-></P
-><UL
-><LI
-><P
-> Always remember that the developers are volunteers, they are 
-               not paid and they never guarantee to produce a particular feature at 
-               a particular time. Any time lines are 'best guess' and nothing more.
-               </P
-></LI
-><LI
-><P
-> Always mention what version of samba you are using and what 
-               operating system its running under. You should probably list the
-        relevant sections of your smb.conf file, at least the options 
-        in [global] that affect PDC support.</P
-></LI
-><LI
-><P
->In addition to the version, if you obtained Samba via
-        CVS mention the date when you last checked it out.</P
-></LI
-><LI
-><P
-> Try and make your question clear and brief, lots of long, 
-               convoluted questions get deleted before they are completely read ! 
-               Don't post html encoded messages (if you can select colour or font 
-               size its html).</P
-></LI
-><LI
-><P
-> If you run one of those nifty 'I'm on holidays' things when 
-               you are away, make sure its configured  to not answer mailing lists.
-               </P
-></LI
-><LI
-><P
-> Don't cross post. Work out which is the best list to post to 
-               and see what happens, i.e. don't post to both samba-ntdom and samba-technical.
-        Many people active on the lists subscribe to more 
-               than one list and get annoyed to see the same message two or more times. 
-               Often someone will see a message and thinking it would be better dealt 
-               with on another, will forward it on for you.</P
-></LI
-><LI
-><P
->You might include <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->partial</I
-></SPAN
->
-        log files written at a debug level set to as much as 20.  
-        Please don't send the entire log but enough to give the context of the 
-        error messages.</P
-></LI
-><LI
-><P
->(Possibly) If you have a complete netmon trace ( from the opening of 
-        the pipe to the error ) you can send the *.CAP file as well.</P
-></LI
-><LI
-><P
->Please think carefully before attaching a document to an email.
-        Consider pasting the relevant parts into the body of the message. The samba
-        mailing lists go to a huge number of people, do they all need a copy of your 
-        smb.conf in their attach directory?</P
-></LI
-></UL
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->How do I get off the mailing lists?</I
-></SPAN
->
-       </P
-><P
->To have your name removed from a samba mailing list, go to the
-       same place you went to to get on it. Go to <A
-HREF="http://lists.samba.org/"
-TARGET="_top"
->http://lists.samba.org</A
->, 
-       click on your nearest mirror and then click on <B
-CLASS="COMMAND"
->Support</B
-> and 
-       then click on <B
-CLASS="COMMAND"
-> Samba related mailing lists</B
->. Or perhaps see 
-       <A
-HREF="http://lists.samba.org/mailman/roster/samba-ntdom"
-TARGET="_top"
->here</A
->
-       </P
-><P
->      Please don't post messages to the list asking to be removed, you will just
-       be referred to the above address (unless that process failed in some way...)
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN944"
-></A
->6.8. Domain Control for Windows 9x/ME</H2
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The following section contains much of the original 
-DOMAIN.txt file previously included with Samba.  Much of 
-the material is based on what went into the book <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Special 
-Edition, Using Samba</I
-></SPAN
->, by Richard Sharpe.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->A domain and a workgroup are exactly the same thing in terms of network
-browsing.  The difference is that a distributable authentication
-database is associated with a domain, for secure login access to a
-network.  Also, different access rights can be granted to users if they
-successfully authenticate against a domain logon server (NT server and 
-other systems based on NT server support this, as does at least Samba TNG now).</P
-><P
->The SMB client logging on to a domain has an expectation that every other
-server in the domain should accept the same authentication information.
-Network browsing functionality of domains and workgroups is
-identical and is explained in BROWSING.txt. It should be noted, that browsing
-is totally orthogonal to logon support.</P
-><P
->Issues related to the single-logon network model are discussed in this
-section.  Samba supports domain logons, network logon scripts, and user
-profiles for MS Windows for workgroups and MS Windows 9X/ME clients
-which will be the focus of this section.</P
-><P
->When an SMB client in a domain wishes to logon it broadcast requests for a
-logon server.  The first one to reply gets the job, and validates its
-password using whatever mechanism the Samba administrator has installed.
-It is possible (but very stupid) to create a domain where the user
-database is not shared between servers, i.e. they are effectively workgroup
-servers advertising themselves as participating in a domain.  This
-demonstrates how authentication is quite different from but closely
-involved with domains.</P
-><P
->Using these features you can make your clients verify their logon via
-the Samba server; make clients run a batch file when they logon to
-the network and download their preferences, desktop and start menu.</P
-><P
->Before launching into the configuration instructions, it is 
-worthwhile lookingat how a Windows 9x/ME client performs a logon:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      The client broadcasts (to the IP broadcast address of the subnet it is in)
-       a NetLogon request. This is sent to the NetBIOS name DOMAIN&#60;1c&#62; at the
-       NetBIOS layer.  The client chooses the first response it receives, which
-       contains the NetBIOS name of the logon server to use in the format of 
-       \\SERVER.
-       </P
-></LI
-><LI
-><P
->      The client then connects to that server, logs on (does an SMBsessetupX) and
-       then connects to the IPC$ share (using an SMBtconX).
-       </P
-></LI
-><LI
-><P
->      The client then does a NetWkstaUserLogon request, which retrieves the name
-       of the user's logon script. 
-       </P
-></LI
-><LI
-><P
->      The client then connects to the NetLogon share and searches for this    
-       and if it is found and can be read, is retrieved and executed by the client.
-       After this, the client disconnects from the NetLogon share.
-       </P
-></LI
-><LI
-><P
->      The client then sends a NetUserGetInfo request to the server, to retrieve
-       the user's home share, which is used to search for profiles. Since the
-       response to the NetUserGetInfo request does not contain much more       
-       the user's home share, profiles for Win9X clients MUST reside in the user
-       home directory.
-       </P
-></LI
-><LI
-><P
->      The client then connects to the user's home share and searches for the 
-       user's profile. As it turns out, you can specify the user's home share as
-       a sharename and path. For example, \\server\fred\.profile.
-       If the profiles are found, they are implemented.
-       </P
-></LI
-><LI
-><P
->      The client then disconnects from the user's home share, and reconnects to
-       the NetLogon share and looks for CONFIG.POL, the policies file. If this is
-       found, it is read and implemented.
-       </P
-></LI
-></OL
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN970"
-></A
->6.8.1. Configuration Instructions:    Network Logons</H3
-><P
->The main difference between a PDC and a Windows 9x logon 
-server configuration is that</P
-><P
-></P
-><UL
-><LI
-><P
->Password encryption is not required for a Windows 9x logon server.</P
-></LI
-><LI
-><P
->Windows 9x/ME clients do not possess machine trust accounts.</P
-></LI
-></UL
-><P
->Therefore, a Samba PDC will also act as a Windows 9x logon 
-server.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->security mode and master browsers</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->There are a few comments to make in order to tie up some 
-loose ends.  There has been much debate over the issue of whether
-or not it is ok to configure Samba as a Domain Controller in security
-modes other than <TT
-CLASS="CONSTANT"
->USER</TT
->.  The only security mode 
-which  will not work due to technical reasons is <TT
-CLASS="CONSTANT"
->SHARE</TT
->
-mode security.  <TT
-CLASS="CONSTANT"
->DOMAIN</TT
-> and <TT
-CLASS="CONSTANT"
->SERVER</TT
->
-mode security is really just a variation on SMB user level security.</P
-><P
->Actually, this issue is also closely tied to the debate on whether 
-or not Samba must be the domain master browser for its workgroup
-when operating as a DC.  While it may technically be possible
-to configure a server as such (after all, browsing and domain logons
-are two distinctly different functions), it is not a good idea to
-so.  You should remember that the DC must register the DOMAIN#1b NetBIOS 
-name.  This is the name used by Windows clients to locate the DC.
-Windows clients do not distinguish between the DC and the DMB.
-For this reason, it is very wise to configure the Samba DC as the DMB.</P
-><P
->Now back to the issue of configuring a Samba DC to use a mode other
-than "security = user".  If a Samba host is configured to use 
-another SMB server or DC in order to validate user connection 
-requests, then it is a fact that some other machine on the network 
-(the "password server") knows more about user than the Samba host.
-99% of the time, this other host is a domain controller.  Now 
-in order to operate in domain mode security, the "workgroup" parameter
-must be set to the name of the Windows NT domain (which already 
-has a domain controller, right?)</P
-><P
->Therefore configuring a Samba box as a DC for a domain that 
-already by definition has a PDC is asking for trouble.
-Therefore, you should always configure the Samba DC to be the DMB
-for its domain.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN989"
-></A
->6.8.2. Configuration Instructions:    Setting up Roaming User Profiles</H3
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->NOTE!</I
-></SPAN
-> Roaming profiles support is different 
-for Win9X and WinNT.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Before discussing how to configure roaming profiles, it is useful to see how
-Win9X and WinNT clients implement these features.</P
-><P
->Win9X clients send a NetUserGetInfo request to the server to get the user's
-profiles location. However, the response does not have room for a separate 
-profiles location field, only the user's home share. This means that Win9X 
-profiles are restricted to being in the user's home directory.</P
-><P
->WinNT clients send a NetSAMLogon RPC request, which contains many fields, 
-including a separate field for the location of the user's profiles. 
-This means that support for profiles is different for Win9X and WinNT.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN997"
-></A
->6.8.2.1. Windows NT Configuration</H4
-><P
->To support WinNT clients, in the [global] section of smb.conf set the
-following (for example):</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath</PRE
-></P
-><P
->The default for this option is \\%N\%U\profile, namely
-\\sambaserver\username\profile.  The \\N%\%U service is created
-automatically by the [homes] service.
-If you are using a samba server for the profiles, you _must_ make the
-share specified in the logon path browseable. </P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->[lkcl 26aug96 - we have discovered a problem where Windows clients can
-maintain a connection to the [homes] share in between logins.  The
-[homes] share must NOT therefore be used in a profile path.]</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1005"
-></A
->6.8.2.2. Windows 9X Configuration</H4
-><P
->To support Win9X clients, you must use the "logon home" parameter. Samba has
-now been fixed so that "net use/home" now works as well, and it, too, relies
-on the "logon home" parameter.</P
-><P
->By using the logon home parameter, you are restricted to putting Win9X 
-profiles in the user's home directory.   But wait! There is a trick you 
-can use. If you set the following in the [global] section of your 
-smb.conf file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->logon home = \\%L\%U\.profiles</PRE
-></P
-><P
->then your Win9X clients will dutifully put their clients in a subdirectory
-of your home directory called .profiles (thus making them hidden).</P
-><P
->Not only that, but 'net use/home' will also work, because of a feature in 
-Win9X. It removes any directory stuff off the end of the home directory area
-and only uses the server and share portion. That is, it looks like you
-specified \\%L\%U for "logon home".</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1013"
-></A
->6.8.2.3. Win9X and WinNT Configuration</H4
-><P
->You can support profiles for both Win9X and WinNT clients by setting both the
-"logon home" and "logon path" parameters. For example:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->logon home = \\%L\%U\.profiles
-logon path = \\%L\profiles\%U</PRE
-></P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->I have not checked what 'net use /home' does on NT when "logon home" is
-set as above.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1020"
-></A
->6.8.2.4. Windows 9X Profile Setup</H4
-><P
->When a user first logs in on Windows 9X, the file user.DAT is created,
-as are folders "Start Menu", "Desktop", "Programs" and "Nethood".  
-These directories and their contents will be merged with the local
-versions stored in c:\windows\profiles\username on subsequent logins,
-taking the most recent from each.  You will need to use the [global]
-options "preserve case = yes", "short preserve case = yes" and
-"case sensitive = no" in order to maintain capital letters in shortcuts
-in any of the profile folders.</P
-><P
->The user.DAT file contains all the user's preferences.  If you wish to
-enforce a set of preferences, rename their user.DAT file to user.MAN,
-and deny them write access to this file.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      On the Windows 95 machine, go to Control Panel | Passwords and
-       select the User Profiles tab.  Select the required level of
-       roaming preferences.  Press OK, but do _not_ allow the computer
-       to reboot.
-       </P
-></LI
-><LI
-><P
->      On the Windows 95 machine, go to Control Panel | Network |
-       Client for Microsoft Networks | Preferences.  Select 'Log on to
-       NT Domain'.  Then, ensure that the Primary Logon is 'Client for
-       Microsoft Networks'.  Press OK, and this time allow the computer
-       to reboot.
-       </P
-></LI
-></OL
-><P
->Under Windows 95, Profiles are downloaded from the Primary Logon.
-If you have the Primary Logon as 'Client for Novell Networks', then
-the profiles and logon script will be downloaded from your Novell
-Server.  If you have the Primary Logon as 'Windows Logon', then the
-profiles will be loaded from the local machine - a bit against the
-concept of roaming profiles, if you ask me.</P
-><P
->You will now find that the Microsoft Networks Login box contains
-[user, password, domain] instead of just [user, password].  Type in
-the samba server's domain name (or any other domain known to exist,
-but bear in mind that the user will be authenticated against this
-domain and profiles downloaded from it, if that domain logon server
-supports it), user name and user's password.</P
-><P
->Once the user has been successfully validated, the Windows 95 machine
-will inform you that 'The user has not logged on before' and asks you
-if you wish to save the user's preferences?  Select 'yes'.</P
-><P
->Once the Windows 95 client comes up with the desktop, you should be able
-to examine the contents of the directory specified in the "logon path"
-on the samba server and verify that the "Desktop", "Start Menu",
-"Programs" and "Nethood" folders have been created.</P
-><P
->These folders will be cached locally on the client, and updated when
-the user logs off (if you haven't made them read-only by then :-).
-You will find that if the user creates further folders or short-cuts,
-that the client will merge the profile contents downloaded with the
-contents of the profile directory already on the local client, taking
-the newest folders and short-cuts from each set.</P
-><P
->If you have made the folders / files read-only on the samba server,
-then you will get errors from the w95 machine on logon and logout, as
-it attempts to merge the local and the remote profile.  Basically, if
-you have any errors reported by the w95 machine, check the Unix file
-permissions and ownership rights on the profile directory contents,
-on the samba server.</P
-><P
->If you have problems creating user profiles, you can reset the user's
-local desktop cache, as shown below.  When this user then next logs in,
-they will be told that they are logging in "for the first time".</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      instead of logging in under the [user, password, domain] dialog,
-       press escape.
-       </P
-></LI
-><LI
-><P
->      run the regedit.exe program, and look in:
-       </P
-><P
->      HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
-       </P
-><P
->      you will find an entry, for each user, of ProfilePath.  Note the
-       contents of this key (likely to be c:\windows\profiles\username),
-       then delete the key ProfilePath for the required user.
-       </P
-><P
->      [Exit the registry editor].
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->WARNING</I
-></SPAN
-> - before deleting the contents of the 
-       directory listed in
-   the ProfilePath (this is likely to be c:\windows\profiles\username),
-   ask them if they have any important files stored on their desktop
-   or in their start menu.  delete the contents of the directory
-   ProfilePath (making a backup if any of the files are needed).
-       </P
-><P
->   This will have the effect of removing the local (read-only hidden
-   system file) user.DAT in their profile directory, as well as the
-   local "desktop", "nethood", "start menu" and "programs" folders.
-       </P
-></LI
-><LI
-><P
->      search for the user's .PWL password-caching file in the c:\windows
-       directory, and delete it.
-       </P
-></LI
-><LI
-><P
->      log off the windows 95 client.
-       </P
-></LI
-><LI
-><P
->      check the contents of the profile path (see "logon path" described
-       above), and delete the user.DAT or user.MAN file for the user,
-       making a backup if required.  
-       </P
-></LI
-></OL
-><P
->If all else fails, increase samba's debug log levels to between 3 and 10,
-and / or run a packet trace program such as tcpdump or netmon.exe, and
-look for any error reports.</P
-><P
->If you have access to an NT server, then first set up roaming profiles
-and / or netlogons on the NT server.  Make a packet trace, or examine
-the example packet traces provided with NT server, and see what the
-differences are with the equivalent samba trace.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1056"
-></A
->6.8.2.5. Windows NT Workstation 4.0</H4
-><P
->When a user first logs in to a Windows NT Workstation, the profile
-NTuser.DAT is created.  The profile location can be now specified
-through the "logon path" parameter.  </P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->[lkcl 10aug97 - i tried setting the path to
-\\samba-server\homes\profile, and discovered that this fails because
-a background process maintains the connection to the [homes] share
-which does _not_ close down in between user logins.  you have to
-have \\samba-server\%L\profile, where user is the username created
-from the [homes] share].</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->There is a parameter that is now available for use with NT Profiles:
-"logon drive".  This should be set to "h:" or any other drive, and
-should be used in conjunction with the new "logon home" parameter.</P
-><P
->The entry for the NT 4.0 profile is a _directory_ not a file.  The NT
-help on profiles mentions that a directory is also created with a .PDS
-extension.  The user, while logging in, must have write permission to
-create the full profile path (and the folder with the .PDS extension)
-[lkcl 10aug97 - i found that the creation of the .PDS directory failed,
-and had to create these manually for each user, with a shell script.
-also, i presume, but have not tested, that the full profile path must
-be browseable just as it is for w95, due to the manner in which they
-attempt to create the full profile path: test existence of each path
-component; create path component].</P
-><P
->In the profile directory, NT creates more folders than 95.  It creates
-"Application Data" and others, as well as "Desktop", "Nethood",
-"Start Menu" and "Programs".  The profile itself is stored in a file
-NTuser.DAT.  Nothing appears to be stored in the .PDS directory, and
-its purpose is currently unknown.</P
-><P
->You can use the System Control Panel to copy a local profile onto
-a samba server (see NT Help on profiles: it is also capable of firing
-up the correct location in the System Control Panel for you).  The
-NT Help file also mentions that renaming NTuser.DAT to NTuser.MAN
-turns a profile into a mandatory one.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->[lkcl 10aug97 - i notice that NT Workstation tells me that it is
-downloading a profile from a slow link.  whether this is actually the
-case, or whether there is some configuration issue, as yet unknown,
-that makes NT Workstation _think_ that the link is a slow one is a
-matter to be resolved].</P
-><P
->[lkcl 20aug97 - after samba digest correspondence, one user found, and
-another confirmed, that profiles cannot be loaded from a samba server
-unless "security = user" and "encrypt passwords = yes" (see the file
-ENCRYPTION.txt) or "security = server" and "password server = ip.address.
-of.yourNTserver" are used.  Either of these options will allow the NT
-workstation to access the samba server using LAN manager encrypted
-passwords, without the user intervention normally required by NT
-workstation for clear-text passwords].</P
-><P
->[lkcl 25aug97 - more comments received about NT profiles: the case of
-the profile _matters_.  the file _must_ be called NTuser.DAT or, for
-a mandatory profile, NTuser.MAN].</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1069"
-></A
->6.8.2.6. Windows NT Server</H4
-><P
->There is nothing to stop you specifying any path that you like for the
-location of users' profiles.  Therefore, you could specify that the
-profile be stored on a samba server, or any other SMB server, as long as
-that SMB server supports encrypted passwords.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1072"
-></A
->6.8.2.7. Sharing Profiles between W95 and NT Workstation 4.0</H4
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->Potentially outdated or incorrect material follows</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->I think this is all bogus, but have not deleted it. (Richard Sharpe)</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The default logon path is \\%N\%U.  NT Workstation will attempt to create
-a directory "\\samba-server\username.PDS" if you specify the logon path
-as "\\samba-server\username" with the NT User Manager.  Therefore, you
-will need to specify (for example) "\\samba-server\username\profile".
-NT 4.0 will attempt to create "\\samba-server\username\profile.PDS", which
-is more likely to succeed.</P
-><P
->If you then want to share the same Start Menu / Desktop with W95, you will
-need to specify "logon path = \\samba-server\username\profile" [lkcl 10aug97
-this has its drawbacks: i created a shortcut to telnet.exe, which attempts
-to run from the c:\winnt\system32 directory.  this directory is obviously
-unlikely to exist on a Win95-only host].</P
-><P
->&#13;If you have this set up correctly, you will find separate user.DAT and
-NTuser.DAT files in the same profile directory.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->[lkcl 25aug97 - there are some issues to resolve with downloading of
-NT profiles, probably to do with time/date stamps.  i have found that
-NTuser.DAT is never updated on the workstation after the first time that
-it is copied to the local workstation profile directory.  this is in
-contrast to w95, where it _does_ transfer / update profiles correctly].</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1082"
-></A
->6.9. DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</H2
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->Possibly Outdated Material</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->      This appendix was originally authored by John H Terpstra of 
-       the Samba Team and is included here for posterity.
-       </P
-></TD
-></TR
-></TABLE
-></DIV
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->NOTE :</I
-></SPAN
-> 
-The term "Domain Controller" and those related to it refer to one specific
-method of authentication that can underly an SMB domain. Domain Controllers
-prior to Windows NT Server 3.1 were sold by various companies and based on 
-private extensions to the LAN Manager 2.1 protocol. Windows NT introduced
-Microsoft-specific ways of distributing the user authentication database.
-See DOMAIN.txt for examples of how Samba can participate in or create
-SMB domains based on shared authentication database schemes other than the 
-Windows NT SAM.</P
-><P
->Windows NT Server can be installed as either a plain file and print server
-(WORKGROUP workstation or server) or as a server that participates in Domain
-Control (DOMAIN member, Primary Domain controller or Backup Domain controller).
-The same is true for OS/2 Warp Server, Digital Pathworks and other similar
-products, all of which can participate in Domain Control along with Windows NT.</P
-><P
->To many people these terms can be confusing, so let's try to clear the air.</P
-><P
->Every Windows NT system (workstation or server) has a registry database.
-The registry contains entries that describe the initialization information
-for all services (the equivalent of Unix Daemons) that run within the Windows
-NT environment. The registry also contains entries that tell application
-software where to find dynamically loadable libraries that they depend upon.
-In fact, the registry contains entries that describes everything that anything
-may need to know to interact with the rest of the system.</P
-><P
->The registry files can be located on any Windows NT machine by opening a
-command prompt and typing:</P
-><P
-><TT
-CLASS="PROMPT"
->C:\WINNT\&#62;</TT
-> dir %SystemRoot%\System32\config</P
-><P
->The environment variable %SystemRoot% value can be obtained by typing:</P
-><P
-><TT
-CLASS="PROMPT"
->C:\WINNT&#62;</TT
->echo %SystemRoot%</P
-><P
->The active parts of the registry that you may want to be familiar with are
-the files called: default, system, software, sam and security.</P
-><P
->In a domain environment, Microsoft Windows NT domain controllers participate
-in replication of the SAM and SECURITY files so that all controllers within
-the domain have an exactly identical copy of each.</P
-><P
->The Microsoft Windows NT system is structured within a security model that
-says that all applications and services must authenticate themselves before
-they can obtain permission from the security manager to do what they set out
-to do.</P
-><P
->The Windows NT User database also resides within the registry. This part of
-the registry contains the user's security identifier, home directory, group
-memberships, desktop profile, and so on.</P
-><P
->Every Windows NT system (workstation as well as server) will have its own
-registry. Windows NT Servers that participate in Domain Security control
-have a database that they share in common - thus they do NOT own an
-independent full registry database of their own, as do Workstations and
-plain Servers.</P
-><P
->The User database is called the SAM (Security Access Manager) database and
-is used for all user authentication as well as for authentication of inter-
-process authentication (i.e. to ensure that the service action a user has
-requested is permitted within the limits of that user's privileges).</P
-><P
->The Samba team have produced a utility that can dump the Windows NT SAM into 
-smbpasswd format: see ENCRYPTION.txt for information on smbpasswd and
-/pub/samba/pwdump on your nearest Samba mirror for the utility. This 
-facility is useful but cannot be easily used to implement SAM replication
-to Samba systems.</P
-><P
->Windows for Workgroups, Windows 95, and Windows NT Workstations and Servers
-can participate in a Domain security system that is controlled by Windows NT
-servers that have been correctly configured. Almost every domain will have
-ONE Primary Domain Controller (PDC). It is desirable that each domain will
-have at least one Backup Domain Controller (BDC).</P
-><P
->The PDC and BDCs then participate in replication of the SAM database so that
-each Domain Controlling participant will have an up to date SAM component
-within its registry.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SAMBA-BDC"
-></A
->Chapter 7. How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1118"
-></A
->7.1. Prerequisite Reading</H2
-><P
->Before you continue reading in this chapter, please make sure
-that you are comfortable with configuring a Samba PDC
-as described in the <A
-HREF="Samba-PDC-HOWTO.html"
-TARGET="_top"
->Samba-PDC-HOWTO</A
->.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1122"
-></A
->7.2. Background</H2
-><P
->What is a Domain Controller? It is a machine that is able to answer
-logon requests from workstations in a Windows NT Domain. Whenever a
-user logs into a Windows NT Workstation, the workstation connects to a
-Domain Controller and asks him whether the username and password the
-user typed in is correct.  The Domain Controller replies with a lot of
-information about the user, for example the place where the users
-profile is stored, the users full name of the user. All this
-information is stored in the NT user database, the so-called SAM.</P
-><P
->There are two kinds of Domain Controller in a NT 4 compatible Domain:
-A Primary Domain Controller (PDC) and one or more Backup Domain
-Controllers (BDC). The PDC contains the master copy of the
-SAM. Whenever the SAM has to change, for example when a user changes
-his password, this change has to be done on the PDC. A Backup Domain
-Controller is a machine that maintains a read-only copy of the
-SAM. This way it is able to reply to logon requests and authenticate
-users in case the PDC is not available. During this time no changes to
-the SAM are possible. Whenever changes to the SAM are done on the PDC,
-all BDC receive the changes from the PDC.</P
-><P
->Since version 2.2 Samba officially supports domain logons for all
-current Windows Clients, including Windows 2000 and XP. This text
-assumes the domain to be named SAMBA. To be able to act as a PDC, some
-parameters in the [global]-section of the smb.conf have to be set:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->workgroup = SAMBA
-domain master = yes
-domain logons = yes</PRE
-></P
-><P
->Several other things like a [homes] and a [netlogon] share also may be
-set along with settings for the profile path, the users home drive and
-others. This will not be covered in this document.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1130"
-></A
->7.3. What qualifies a Domain Controller on the network?</H2
-><P
->Every machine that is a Domain Controller for the domain SAMBA has to
-register the NetBIOS group name SAMBA#1c with the WINS server and/or
-by broadcast on the local network. The PDC also registers the unique
-NetBIOS name SAMBA#1b with the WINS server. The name type #1b is
-normally reserved for the domain master browser, a role that has
-nothing to do with anything related to authentication, but the
-Microsoft Domain implementation requires the domain master browser to
-be on the same machine as the PDC.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1133"
-></A
->7.3.1. How does a Workstation find its domain controller?</H3
-><P
->A NT workstation in the domain SAMBA that wants a local user to be
-authenticated has to find the domain controller for SAMBA. It does
-this by doing a NetBIOS name query for the group name SAMBA#1c. It
-assumes that each of the machines it gets back from the queries is a
-domain controller and can answer logon requests. To not open security
-holes both the workstation and the selected (TODO: How is the DC
-chosen) domain controller authenticate each other. After that the
-workstation sends the user's credentials (his name and password) to
-the domain controller, asking for approval.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1136"
-></A
->7.3.2. When is the PDC needed?</H3
-><P
->Whenever a user wants to change his password, this has to be done on
-the PDC. To find the PDC, the workstation does a NetBIOS name query
-for SAMBA#1b, assuming this machine maintains the master copy of the
-SAM. The workstation contacts the PDC, both mutually authenticate and
-the password change is done.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1139"
-></A
->7.4. Can Samba be a Backup Domain Controller?</H2
-><P
->With version 2.2, no. The native NT SAM replication protocols have
-not yet been fully implemented. The Samba Team is working on
-understanding and implementing the protocols, but this work has not
-been finished for version 2.2.</P
-><P
->Can I get the benefits of a BDC with Samba?  Yes. The main reason for
-implementing a BDC is availability. If the PDC is a Samba machine,
-a second Samba machine can be set up to
-service logon requests whenever the PDC is down.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1143"
-></A
->7.5. How do I set up a Samba BDC?</H2
-><P
->Several things have to be done:</P
-><P
-></P
-><UL
-><LI
-><P
->The domain SID has to be the same on the PDC and the BDC. This used to
-be stored in the file private/MACHINE.SID. This file is not created
-anymore since Samba 2.2.5 or even earlier. Nowadays the domain SID is
-stored in the file private/secrets.tdb. Simply copying the secrets.tdb
-from the PDC to the BDC does not work, as the BDC would
-generate a new SID for itself and override the domain SID with this
-new BDC SID.</P
-><P
->To retrieve the domain SID from the PDC or an existing BDC and store it in the
-secrets.tdb, execute 'net rpc getsid' on the BDC.</P
-></LI
-><LI
-><P
->The Unix user database has to be synchronized from the PDC to the
-BDC. This means that both the /etc/passwd and /etc/group have to be
-replicated from the PDC to the BDC. This can be done manually
-whenever changes are made, or the PDC is set up as a NIS master
-server and the BDC as a NIS slave server. To set up the BDC as a
-mere NIS client would not be enough, as the BDC would not be able to
-access its user database in case of a PDC failure.</P
-></LI
-><LI
-><P
->The Samba password database in the file private/smbpasswd has to be
-replicated from the PDC to the BDC. This is a bit tricky, see the
-next section.</P
-></LI
-><LI
-><P
->Any netlogon share has to be replicated from the PDC to the
-BDC. This can be done manually whenever login scripts are changed,
-or it can be done automatically together with the smbpasswd
-synchronization.</P
-></LI
-></UL
-><P
->Finally, the BDC has to be found by the workstations. This can be done
-by setting</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->workgroup = samba
-domain master = no
-domain logons = yes</PRE
-></P
-><P
->in the [global]-section of the smb.conf of the BDC. This makes the BDC
-only register the name SAMBA#1c with the WINS server. This is no
-problem as the name SAMBA#1c is a NetBIOS group name that is meant to
-be registered by more than one machine. The parameter 'domain master =
-no' forces the BDC not to register SAMBA#1b which as a unique NetBIOS
-name is reserved for the Primary Domain Controller.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1160"
-></A
->7.5.1. How do I replicate the smbpasswd file?</H3
-><P
->Replication of the smbpasswd file is sensitive. It has to be done
-whenever changes to the SAM are made. Every user's password change is
-done in the smbpasswd file and has to be replicated to the BDC. So
-replicating the smbpasswd file very often is necessary.</P
-><P
->As the smbpasswd file contains plain text password equivalents, it
-must not be sent unencrypted over the wire. The best way to set up
-smbpasswd replication from the PDC to the BDC is to use the utility
-rsync. rsync can use ssh as a transport. ssh itself can be set up to
-accept *only* rsync transfer without requiring the user to type a
-password.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="ADS"
-></A
->Chapter 8. Samba as a ADS domain member</H1
-><P
->This is a VERY ROUGH guide to setting up the current (November 2001)
-pre-alpha version of Samba 3.0 with kerberos authentication against a
-Windows2000 KDC. The procedures listed here are likely to change as
-the code develops.</P
-><P
->Pieces you need before you begin:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->a Windows 2000 server.</TD
-></TR
-><TR
-><TD
->samba 3.0 or higher.</TD
-></TR
-><TR
-><TD
->the MIT kerberos development libraries (either install from the above sources or use a package). The heimdal libraries will not work.</TD
-></TR
-><TR
-><TD
->the OpenLDAP development libraries.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1178"
-></A
->8.1. Installing the required packages for Debian</H2
-><P
->On Debian you need to install the following packages:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->libkrb5-dev</TD
-></TR
-><TR
-><TD
->krb5-user</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1184"
-></A
->8.2. Installing the required packages for RedHat</H2
-><P
->On RedHat this means you should have at least: 
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->krb5-workstation (for kinit)</TD
-></TR
-><TR
-><TD
->krb5-libs (for linking with)</TD
-></TR
-><TR
-><TD
->krb5-devel (because you are compiling from source)</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><P
->in addition to the standard development environment.</P
-><P
->Note that these are not standard on a RedHat install, and you may need 
-to get them off CD2.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1193"
-></A
->8.3. Compile Samba</H2
-><P
->If your kerberos libraries are in a non-standard location then
-  remember to add the configure option --with-krb5=DIR.</P
-><P
->After you run configure make sure that include/config.h contains 
-  lines like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#define HAVE_KRB5 1
-#define HAVE_LDAP 1</PRE
-></P
-><P
->If it doesn't then configure did not find your krb5 libraries or
-  your ldap libraries. Look in config.log to figure out why and fix
-  it.</P
-><P
->Then compile and install Samba as usual. You must use at least the
-  following 3 options in smb.conf:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  realm = YOUR.KERBEROS.REALM
-  ads server = your.kerberos.server
-  security = ADS
-  encrypt passwords = yes</PRE
-></P
-><P
->Strictly speaking, you can omit the realm name and you can use an IP
-  address for the ads server. In that case Samba will auto-detect these.</P
-><P
->You do *not* need a smbpasswd file, although it won't do any harm
-  and if you have one then Samba will be able to fall back to normal
-  password security for older clients. I expect that the above
-  required options will change soon when we get better active
-  directory integration.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1205"
-></A
->8.4. Setup your /etc/krb5.conf</H2
-><P
->The minimal configuration for krb5.conf is:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      [realms]
-    YOUR.KERBEROS.REALM = {
-       kdc = your.kerberos.server
-    }</PRE
-></P
-><P
->Test your config by doing a "kinit USERNAME@REALM" and making sure that
-  your password is accepted by the Win2000 KDC. </P
-><P
->NOTE: The realm must be uppercase. </P
-><P
->You also must ensure that you can do a reverse DNS lookup on the IP
-address of your KDC. Also, the name that this reverse lookup maps to
-must either be the netbios name of the KDC (ie. the hostname with no
-domain attached) or it can alternatively be the netbios name
-followed by the realm. </P
-><P
->The easiest way to ensure you get this right is to add a /etc/hosts
-entry mapping the IP address of your KDC to its netbios name. If you
-don't get this right then you will get a "local error" when you try
-to join the realm.</P
-><P
->If all you want is kerberos support in smbclient then you can skip
-straight to step 5 now. Step 3 is only needed if you want kerberos
-support in smbd.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1215"
-></A
->8.5. Create the computer account</H2
-><P
->Do a "kinit" as a user that has authority to change arbitrary
-passwords on the KDC ("Administrator" is a good choice). Then as a
-user that has write permission on the Samba private directory
-(usually root) run:
-<B
-CLASS="COMMAND"
->net ads join</B
-></P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1219"
-></A
->8.5.1. Possible errors</H3
-><P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->"bash: kinit: command not found"</DT
-><DD
-><P
->kinit is in the krb5-workstation RPM on RedHat systems, and is in /usr/kerberos/bin, so it won't be in the path until you log in again (or open a new terminal)</P
-></DD
-><DT
->"ADS support not compiled in"</DT
-><DD
-><P
->Samba must be reconfigured (remove config.cache) and recompiled (make clean all install) after the kerberos libs and headers are installed.</P
-></DD
-></DL
-></DIV
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1231"
-></A
->8.6. Test your server setup</H2
-><P
->On a Windows 2000 client try <B
-CLASS="COMMAND"
->net use * \\server\share</B
->. You should
-be logged in with kerberos without needing to know a password. If
-this fails then run <B
-CLASS="COMMAND"
->klist tickets</B
->. Did you get a ticket for the
-server? Does it have an encoding type of DES-CBC-MD5 ? </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1236"
-></A
->8.7. Testing with smbclient</H2
-><P
->On your Samba server try to login to a Win2000 server or your Samba
-server using smbclient and kerberos. Use smbclient as usual, but
-specify the -k option to choose kerberos authentication.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1239"
-></A
->8.8. Notes</H2
-><P
->You must change administrator password at least once after DC install,
- to create the right encoding types</P
-><P
->w2k doesn't seem to create the _kerberos._udp and _ldap._tcp in
-   their defaults DNS setup. Maybe fixed in service packs?</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="DOMAIN-SECURITY"
-></A
->Chapter 9. Samba as a NT4 domain member</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1261"
-></A
->9.1. Joining an NT Domain with Samba 2.2</H2
-><P
->Assume you have a Samba 2.x server with a NetBIOS name of 
-       <TT
-CLASS="CONSTANT"
->SERV1</TT
-> and are joining an NT domain called
-       <TT
-CLASS="CONSTANT"
->DOM</TT
->, which has a PDC with a NetBIOS name
-       of <TT
-CLASS="CONSTANT"
->DOMPDC</TT
-> and two backup domain controllers 
-       with NetBIOS names <TT
-CLASS="CONSTANT"
->DOMBDC1</TT
-> and <TT
-CLASS="CONSTANT"
->DOMBDC2
-       </TT
->.</P
-><P
->In order to join the domain, first stop all Samba daemons 
-       and run the command:</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->smbpasswd -j DOM -r DOMPDC
-       -U<TT
-CLASS="REPLACEABLE"
-><I
->Administrator%password</I
-></TT
-></B
-></TT
-></P
-><P
->as we are joining the domain DOM and the PDC for that domain 
-       (the only machine that has write access to the domain SAM database) 
-       is DOMPDC. The <TT
-CLASS="REPLACEABLE"
-><I
->Administrator%password</I
-></TT
-> is 
-       the login name and password for an account which has the necessary 
-       privilege to add machines to the domain.  If this is successful 
-       you will see the message:</P
-><P
-><TT
-CLASS="COMPUTEROUTPUT"
->smbpasswd: Joined domain DOM.</TT
->
-       </P
-><P
->in your terminal window. See the <A
-HREF="smbpasswd.8.html"
-TARGET="_top"
->      smbpasswd(8)</A
-> man page for more details.</P
-><P
->There is existing development code to join a domain
-       without having to create the machine trust account on the PDC
-       beforehand.  This code will hopefully be available soon
-       in release branches as well.</P
-><P
->This command goes through the machine account password 
-       change protocol, then writes the new (random) machine account 
-       password for this Samba server into a file in the same directory 
-       in which an smbpasswd file would be stored - normally :</P
-><P
-><TT
-CLASS="FILENAME"
->/usr/local/samba/private</TT
-></P
-><P
->In Samba 2.0.x, the filename looks like this:</P
-><P
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->&lt;NT DOMAIN NAME&gt;</I
-></TT
->.<TT
-CLASS="REPLACEABLE"
-><I
->&lt;Samba 
-       Server Name&gt;</I
-></TT
->.mac</TT
-></P
-><P
->The <TT
-CLASS="FILENAME"
->.mac</TT
-> suffix stands for machine account 
-       password file. So in our example above, the file would be called:</P
-><P
-><TT
-CLASS="FILENAME"
->DOM.SERV1.mac</TT
-></P
-><P
->In Samba 2.2, this file has been replaced with a TDB 
-       (Trivial Database) file named <TT
-CLASS="FILENAME"
->secrets.tdb</TT
->.
-       </P
-><P
->This file is created and owned by root and is not 
-       readable by any other user. It is the key to the domain-level 
-       security for your system, and should be treated as carefully 
-       as a shadow password file.</P
-><P
->Now, before restarting the Samba daemons you must 
-       edit your <A
-HREF="smb.conf.5.html"
-TARGET="_top"
-><TT
-CLASS="FILENAME"
->smb.conf(5)</TT
->
-       </A
-> file to tell Samba it should now use domain security.</P
-><P
->Change (or add) your <A
-HREF="smb.conf.5.html#SECURITY"
-TARGET="_top"
->      <TT
-CLASS="PARAMETER"
-><I
->security =</I
-></TT
-></A
-> line in the [global] section 
-       of your smb.conf to read:</P
-><P
-><B
-CLASS="COMMAND"
->security = domain</B
-></P
-><P
->Next change the <A
-HREF="smb.conf.5.html#WORKGROUP"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->      workgroup =</I
-></TT
-></A
-> line in the [global] section to read: </P
-><P
-><B
-CLASS="COMMAND"
->workgroup = DOM</B
-></P
-><P
->as this is the name of the domain we are joining. </P
-><P
->You must also have the parameter <A
-HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
-TARGET="_top"
->      <TT
-CLASS="PARAMETER"
-><I
->encrypt passwords</I
-></TT
-></A
-> set to <TT
-CLASS="CONSTANT"
->yes
-       </TT
-> in order for your users to authenticate to the NT PDC.</P
-><P
->Finally, add (or modify) a <A
-HREF="smb.conf.5.html#PASSWORDSERVER"
-TARGET="_top"
->      <TT
-CLASS="PARAMETER"
-><I
->password server =</I
-></TT
-></A
-> line in the [global]
-       section to read: </P
-><P
-><B
-CLASS="COMMAND"
->password server = DOMPDC DOMBDC1 DOMBDC2</B
-></P
-><P
->These are the primary and backup domain controllers Samba 
-       will attempt to contact in order to authenticate users. Samba will 
-       try to contact each of these servers in order, so you may want to 
-       rearrange this list in order to spread out the authentication load 
-       among domain controllers.</P
-><P
->Alternatively, if you want smbd to automatically determine 
-       the list of Domain controllers to use for authentication, you may 
-       set this line to be :</P
-><P
-><B
-CLASS="COMMAND"
->password server = *</B
-></P
-><P
->This method, which was introduced in Samba 2.0.6, 
-       allows Samba to use exactly the same mechanism that NT does. This 
-       method either broadcasts or uses a WINS database in order to
-       find domain controllers to authenticate against.</P
-><P
->Finally, restart your Samba daemons and get ready for 
-       clients to begin using domain security!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1325"
-></A
->9.2. Samba and Windows 2000 Domains</H2
-><P
->Many people have asked regarding the state of Samba's ability to participate in
-a Windows 2000 Domain.  Samba 3.0 is able to act as a member server of a Windows
-2000 domain operating in mixed or native mode.</P
-><P
->There is much confusion between the circumstances that require a "mixed" mode
-Win2k DC and a when this host can be switched to "native" mode.  A "mixed" mode
-Win2k domain controller is only needed if Windows NT BDCs must exist in the same
-domain.  By default, a Win2k DC in "native" mode will still support
-NetBIOS and NTLMv1 for authentication of legacy clients such as Windows 9x and 
-NT 4.0.  Samba has the same requirements as a Windows NT 4.0 member server.</P
-><P
->The steps for adding a Samba 2.2 host to a Win2k domain are the same as those
-for adding a Samba server to a Windows NT 4.0 domain. The only exception is that 
-the "Server Manager" from NT 4 has been replaced by the "Active Directory Users and 
-Computers" MMC (Microsoft Management Console) plugin.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1330"
-></A
->9.3. Why is this better than security = server?</H2
-><P
->Currently, domain security in Samba doesn't free you from 
-       having to create local Unix users to represent the users attaching 
-       to your server. This means that if domain user <TT
-CLASS="CONSTANT"
->DOM\fred
-       </TT
-> attaches to your domain security Samba server, there needs 
-       to be a local Unix user fred to represent that user in the Unix 
-       filesystem. This is very similar to the older Samba security mode 
-       <A
-HREF="smb.conf.5.html#SECURITYEQUALSSERVER"
-TARGET="_top"
->security = server</A
->, 
-       where Samba would pass through the authentication request to a Windows 
-       NT server in the same way as a Windows 95 or Windows 98 server would.
-       </P
-><P
->Please refer to the <A
-HREF="winbind.html"
-TARGET="_top"
->Winbind 
-       paper</A
-> for information on a system to automatically
-       assign UNIX uids and gids to Windows NT Domain users and groups.
-       This code is available in development branches only at the moment,
-       but will be moved to release branches soon.</P
-><P
->The advantage to domain-level security is that the 
-       authentication in domain-level security is passed down the authenticated 
-       RPC channel in exactly the same way that an NT server would do it. This 
-       means Samba servers now participate in domain trust relationships in 
-       exactly the same way NT servers do (i.e., you can add Samba servers into 
-       a resource domain and have the authentication passed on from a resource
-       domain PDC to an account domain PDC.</P
-><P
->In addition, with <B
-CLASS="COMMAND"
->security = server</B
-> every Samba 
-       daemon on a server has to keep a connection open to the 
-       authenticating server for as long as that daemon lasts. This can drain 
-       the connection resources on a Microsoft NT server and cause it to run 
-       out of available connections. With <B
-CLASS="COMMAND"
->security = domain</B
->, 
-       however, the Samba daemons connect to the PDC/BDC only for as long 
-       as is necessary to authenticate the user, and then drop the connection, 
-       thus conserving PDC connection resources.</P
-><P
->And finally, acting in the same manner as an NT server 
-       authenticating to a PDC means that as part of the authentication 
-       reply, the Samba server gets the user identification information such 
-       as the user SID, the list of NT groups the user belongs to, etc. All 
-       this information will allow Samba to be extended in the future into 
-       a mode the developers currently call appliance mode. In this mode, 
-       no local Unix users will be necessary, and Samba will generate Unix 
-       uids and gids from the information passed back from the PDC when a 
-       user is authenticated, making a Samba server truly plug and play 
-       in an NT domain environment. Watch for this code soon.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->NOTE:</I
-></SPAN
-> Much of the text of this document 
-       was first published in the Web magazine <A
-HREF="http://www.linuxworld.com"
-TARGET="_top"
->      
-       LinuxWorld</A
-> as the article <A
-HREF="http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html"
-TARGET="_top"
->Doing 
-       the NIS/NT Samba</A
->.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="AEN1346"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->III. Optional configuration</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN1348"
-></A
-><H1
->Introduction</H1
-><P
->Samba has several features that you might want or might not want to use. The chapters in this 
-part each cover one specific feature.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->10. <A
-HREF="#INTEGRATE-MS-NETWORKS"
->Integrating MS Windows networks with Samba</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#AEN1362"
->Agenda</A
-></DT
-><DT
->10.2. <A
-HREF="#AEN1384"
->Name Resolution in a pure Unix/Linux world</A
-></DT
-><DD
-><DL
-><DT
->10.2.1. <A
-HREF="#AEN1400"
-><TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></A
-></DT
-><DT
->10.2.2. <A
-HREF="#AEN1416"
-><TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></A
-></DT
-><DT
->10.2.3. <A
-HREF="#AEN1427"
-><TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></A
-></DT
-><DT
->10.2.4. <A
-HREF="#AEN1435"
-><TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></A
-></DT
-></DL
-></DD
-><DT
->10.3. <A
-HREF="#AEN1447"
->Name resolution as used within MS Windows networking</A
-></DT
-><DD
-><DL
-><DT
->10.3.1. <A
-HREF="#AEN1459"
->The NetBIOS Name Cache</A
-></DT
-><DT
->10.3.2. <A
-HREF="#AEN1464"
->The LMHOSTS file</A
-></DT
-><DT
->10.3.3. <A
-HREF="#AEN1472"
->HOSTS file</A
-></DT
-><DT
->10.3.4. <A
-HREF="#AEN1477"
->DNS Lookup</A
-></DT
-><DT
->10.3.5. <A
-HREF="#AEN1480"
->WINS Lookup</A
-></DT
-></DL
-></DD
-><DT
->10.4. <A
-HREF="#AEN1492"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></DT
-><DT
->10.5. <A
-HREF="#AEN1502"
->MS Windows security options and how to configure 
-Samba for seemless integration</A
-></DT
-><DD
-><DL
-><DT
->10.5.1. <A
-HREF="#AEN1530"
->Use MS Windows NT as an authentication server</A
-></DT
-><DT
->10.5.2. <A
-HREF="#AEN1538"
->Make Samba a member of an MS Windows NT security domain</A
-></DT
-><DT
->10.5.3. <A
-HREF="#AEN1555"
->Configure Samba as an authentication server</A
-></DT
-></DL
-></DD
-><DT
->10.6. <A
-HREF="#AEN1572"
->Conclusions</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="#UNIX-PERMISSIONS"
->UNIX Permission Bits and Windows NT Access Control Lists</A
-></DT
-><DD
-><DL
-><DT
->11.1. <A
-HREF="#AEN1593"
->Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></DT
-><DT
->11.2. <A
-HREF="#AEN1602"
->How to view file security on a Samba share</A
-></DT
-><DT
->11.3. <A
-HREF="#AEN1613"
->Viewing file ownership</A
-></DT
-><DT
->11.4. <A
-HREF="#AEN1633"
->Viewing file or directory permissions</A
-></DT
-><DD
-><DL
-><DT
->11.4.1. <A
-HREF="#AEN1648"
->File Permissions</A
-></DT
-><DT
->11.4.2. <A
-HREF="#AEN1662"
->Directory Permissions</A
-></DT
-></DL
-></DD
-><DT
->11.5. <A
-HREF="#AEN1669"
->Modifying file or directory permissions</A
-></DT
-><DT
->11.6. <A
-HREF="#AEN1691"
->Interaction with the standard Samba create mask 
-       parameters</A
-></DT
-><DT
->11.7. <A
-HREF="#AEN1755"
->Interaction with the standard Samba file attribute 
-       mapping</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#PAM"
->Configuring PAM for distributed but centrally 
-managed authentication</A
-></DT
-><DD
-><DL
-><DT
->12.1. <A
-HREF="#AEN1776"
->Samba and PAM</A
-></DT
-><DT
->12.2. <A
-HREF="#AEN1820"
->Distributed Authentication</A
-></DT
-><DT
->12.3. <A
-HREF="#AEN1827"
->PAM Configuration in smb.conf</A
-></DT
-></DL
-></DD
-><DT
->13. <A
-HREF="#MSDFS"
->Hosting a Microsoft Distributed File System tree on Samba</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#AEN1847"
->Instructions</A
-></DT
-><DD
-><DL
-><DT
->13.1.1. <A
-HREF="#AEN1882"
->Notes</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->14. <A
-HREF="#PRINTING"
->Printing Support</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#AEN1908"
->Introduction</A
-></DT
-><DT
->14.2. <A
-HREF="#AEN1930"
->Configuration</A
-></DT
-><DD
-><DL
-><DT
->14.2.1. <A
-HREF="#AEN1938"
->Creating [print$]</A
-></DT
-><DT
->14.2.2. <A
-HREF="#AEN1973"
->Setting Drivers for Existing Printers</A
-></DT
-><DT
->14.2.3. <A
-HREF="#AEN1989"
->Support a large number of printers</A
-></DT
-><DT
->14.2.4. <A
-HREF="#AEN2000"
->Adding New Printers via the Windows NT APW</A
-></DT
-><DT
->14.2.5. <A
-HREF="#AEN2030"
->Samba and Printer Ports</A
-></DT
-></DL
-></DD
-><DT
->14.3. <A
-HREF="#AEN2038"
->The Imprints Toolset</A
-></DT
-><DD
-><DL
-><DT
->14.3.1. <A
-HREF="#AEN2042"
->What is Imprints?</A
-></DT
-><DT
->14.3.2. <A
-HREF="#AEN2052"
->Creating Printer Driver Packages</A
-></DT
-><DT
->14.3.3. <A
-HREF="#AEN2055"
->The Imprints server</A
-></DT
-><DT
->14.3.4. <A
-HREF="#AEN2059"
->The Installation Client</A
-></DT
-></DL
-></DD
-><DT
->14.4. <A
-HREF="#AEN2081"
->Diagnosis</A
-></DT
-><DD
-><DL
-><DT
->14.4.1. <A
-HREF="#AEN2083"
->Introduction</A
-></DT
-><DT
->14.4.2. <A
-HREF="#AEN2099"
->Debugging printer problems</A
-></DT
-><DT
->14.4.3. <A
-HREF="#AEN2108"
->What printers do I have?</A
-></DT
-><DT
->14.4.4. <A
-HREF="#AEN2116"
->Setting up printcap and print servers</A
-></DT
-><DT
->14.4.5. <A
-HREF="#AEN2144"
->Job sent, no output</A
-></DT
-><DT
->14.4.6. <A
-HREF="#AEN2155"
->Job sent, strange output</A
-></DT
-><DT
->14.4.7. <A
-HREF="#AEN2167"
->Raw PostScript printed</A
-></DT
-><DT
->14.4.8. <A
-HREF="#AEN2170"
->Advanced Printing</A
-></DT
-><DT
->14.4.9. <A
-HREF="#AEN2173"
->Real debugging</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->15. <A
-HREF="#SECURITYLEVELS"
->Security levels</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="#AEN2186"
->Introduction</A
-></DT
-><DT
->15.2. <A
-HREF="#AEN2197"
->More complete description of security levels</A
-></DT
-></DL
-></DD
-><DT
->16. <A
-HREF="#WINBIND"
->Unified Logons between Windows NT and UNIX using Winbind</A
-></DT
-><DD
-><DL
-><DT
->16.1. <A
-HREF="#AEN2249"
->Abstract</A
-></DT
-><DT
->16.2. <A
-HREF="#AEN2253"
->Introduction</A
-></DT
-><DT
->16.3. <A
-HREF="#AEN2266"
->What Winbind Provides</A
-></DT
-><DD
-><DL
-><DT
->16.3.1. <A
-HREF="#AEN2273"
->Target Uses</A
-></DT
-></DL
-></DD
-><DT
->16.4. <A
-HREF="#AEN2277"
->How Winbind Works</A
-></DT
-><DD
-><DL
-><DT
->16.4.1. <A
-HREF="#AEN2282"
->Microsoft Remote Procedure Calls</A
-></DT
-><DT
->16.4.2. <A
-HREF="#AEN2286"
->Name Service Switch</A
-></DT
-><DT
->16.4.3. <A
-HREF="#AEN2302"
->Pluggable Authentication Modules</A
-></DT
-><DT
->16.4.4. <A
-HREF="#AEN2310"
->User and Group ID Allocation</A
-></DT
-><DT
->16.4.5. <A
-HREF="#AEN2314"
->Result Caching</A
-></DT
-></DL
-></DD
-><DT
->16.5. <A
-HREF="#AEN2317"
->Installation and Configuration</A
-></DT
-><DD
-><DL
-><DT
->16.5.1. <A
-HREF="#AEN2324"
->Introduction</A
-></DT
-><DT
->16.5.2. <A
-HREF="#AEN2337"
->Requirements</A
-></DT
-><DT
->16.5.3. <A
-HREF="#AEN2351"
->Testing Things Out</A
-></DT
-></DL
-></DD
-><DT
->16.6. <A
-HREF="#AEN2566"
->Limitations</A
-></DT
-><DT
->16.7. <A
-HREF="#AEN2576"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#PDB-MYSQL"
->Passdb MySQL plugin</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#AEN2590"
->Building</A
-></DT
-><DT
->17.2. <A
-HREF="#AEN2596"
->Configuring</A
-></DT
-><DT
->17.3. <A
-HREF="#AEN2611"
->Using plaintext passwords or encrypted password</A
-></DT
-><DT
->17.4. <A
-HREF="#AEN2616"
->Getting non-column data from the table</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="#PDB-XML"
->Passdb XML plugin</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#AEN2635"
->Building</A
-></DT
-><DT
->18.2. <A
-HREF="#AEN2641"
->Usage</A
-></DT
-></DL
-></DD
-><DT
->19. <A
-HREF="#SAMBA-LDAP-HOWTO"
->Storing Samba's User/Machine Account information in an LDAP Directory</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#AEN2664"
->Purpose</A
-></DT
-><DT
->19.2. <A
-HREF="#AEN2684"
->Introduction</A
-></DT
-><DT
->19.3. <A
-HREF="#AEN2713"
->Supported LDAP Servers</A
-></DT
-><DT
->19.4. <A
-HREF="#AEN2718"
->Schema and Relationship to the RFC 2307 posixAccount</A
-></DT
-><DT
->19.5. <A
-HREF="#AEN2730"
->Configuring Samba with LDAP</A
-></DT
-><DD
-><DL
-><DT
->19.5.1. <A
-HREF="#AEN2732"
->OpenLDAP configuration</A
-></DT
-><DT
->19.5.2. <A
-HREF="#AEN2749"
->Configuring Samba</A
-></DT
-></DL
-></DD
-><DT
->19.6. <A
-HREF="#AEN2777"
->Accounts and Groups management</A
-></DT
-><DT
->19.7. <A
-HREF="#AEN2782"
->Security and sambaAccount</A
-></DT
-><DT
->19.8. <A
-HREF="#AEN2802"
->LDAP specials attributes for sambaAccounts</A
-></DT
-><DT
->19.9. <A
-HREF="#AEN2872"
->Example LDIF Entries for a sambaAccount</A
-></DT
-><DT
->19.10. <A
-HREF="#AEN2880"
->Comments</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="#CVS-ACCESS"
->HOWTO Access Samba source code via CVS</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#AEN2891"
->Introduction</A
-></DT
-><DT
->20.2. <A
-HREF="#AEN2896"
->CVS Access to samba.org</A
-></DT
-><DD
-><DL
-><DT
->20.2.1. <A
-HREF="#AEN2899"
->Access via CVSweb</A
-></DT
-><DT
->20.2.2. <A
-HREF="#AEN2904"
->Access via cvs</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->21. <A
-HREF="#GROUPMAPPING"
->Group mapping HOWTO</A
-></DT
-><DT
->22. <A
-HREF="#SPEED"
->Samba performance issues</A
-></DT
-><DD
-><DL
-><DT
->22.1. <A
-HREF="#AEN2982"
->Comparisons</A
-></DT
-><DT
->22.2. <A
-HREF="#AEN2988"
->Oplocks</A
-></DT
-><DD
-><DL
-><DT
->22.2.1. <A
-HREF="#AEN2990"
->Overview</A
-></DT
-><DT
->22.2.2. <A
-HREF="#AEN2998"
->Level2 Oplocks</A
-></DT
-><DT
->22.2.3. <A
-HREF="#AEN3004"
->Old 'fake oplocks' option - deprecated</A
-></DT
-></DL
-></DD
-><DT
->22.3. <A
-HREF="#AEN3008"
->Socket options</A
-></DT
-><DT
->22.4. <A
-HREF="#AEN3015"
->Read size</A
-></DT
-><DT
->22.5. <A
-HREF="#AEN3020"
->Max xmit</A
-></DT
-><DT
->22.6. <A
-HREF="#AEN3025"
->Locking</A
-></DT
-><DT
->22.7. <A
-HREF="#AEN3029"
->Share modes</A
-></DT
-><DT
->22.8. <A
-HREF="#AEN3034"
->Log level</A
-></DT
-><DT
->22.9. <A
-HREF="#AEN3037"
->Wide lines</A
-></DT
-><DT
->22.10. <A
-HREF="#AEN3040"
->Read raw</A
-></DT
-><DT
->22.11. <A
-HREF="#AEN3045"
->Write raw</A
-></DT
-><DT
->22.12. <A
-HREF="#AEN3049"
->Read prediction</A
-></DT
-><DT
->22.13. <A
-HREF="#AEN3056"
->Memory mapping</A
-></DT
-><DT
->22.14. <A
-HREF="#AEN3061"
->Slow Clients</A
-></DT
-><DT
->22.15. <A
-HREF="#AEN3065"
->Slow Logins</A
-></DT
-><DT
->22.16. <A
-HREF="#AEN3068"
->Client tuning</A
-></DT
-><DT
->22.17. <A
-HREF="#AEN3100"
->My Results</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="INTEGRATE-MS-NETWORKS"
-></A
->Chapter 10. Integrating MS Windows networks with Samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1362"
-></A
->10.1. Agenda</H2
-><P
->To identify the key functional mechanisms of MS Windows networking 
-to enable the deployment of Samba as a means of extending and/or 
-replacing MS Windows NT/2000 technology.</P
-><P
->We will examine:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Name resolution in a pure Unix/Linux TCP/IP 
-       environment
-       </P
-></LI
-><LI
-><P
->Name resolution as used within MS Windows 
-       networking
-       </P
-></LI
-><LI
-><P
->How browsing functions and how to deploy stable 
-       and dependable browsing using Samba
-       </P
-></LI
-><LI
-><P
->MS Windows security options and how to 
-       configure Samba for seemless integration
-       </P
-></LI
-><LI
-><P
->Configuration of Samba as:</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->A stand-alone server</P
-></LI
-><LI
-><P
->An MS Windows NT 3.x/4.0 security domain member
-               </P
-></LI
-><LI
-><P
->An alternative to an MS Windows NT 3.x/4.0 Domain Controller
-               </P
-></LI
-></OL
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1384"
-></A
->10.2. Name Resolution in a pure Unix/Linux world</H2
-><P
->The key configuration files covered in this section are:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></P
-></LI
-></UL
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1400"
-></A
->10.2.1. <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></H3
-><P
->Contains a static list of IP Addresses and names.
-eg:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      127.0.0.1       localhost localhost.localdomain
-       192.168.1.1     bigbox.caldera.com      bigbox  alias4box</PRE
-></P
-><P
->The purpose of <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-> is to provide a 
-name resolution mechanism so that uses do not need to remember 
-IP addresses.</P
-><P
->Network packets that are sent over the physical network transport 
-layer communicate not via IP addresses but rather using the Media 
-Access Control address, or MAC address. IP Addresses are currently 
-32 bits in length and are typically presented as four (4) decimal 
-numbers that are separated by a dot (or period). eg: 168.192.1.1</P
-><P
->MAC Addresses use 48 bits (or 6 bytes) and are typically represented 
-as two digit hexadecimal numbers separated by colons. eg: 
-40:8e:0a:12:34:56</P
-><P
->Every network interfrace must have an MAC address. Associated with 
-a MAC address there may be one or more IP addresses. There is NO 
-relationship between an IP address and a MAC address, all such assignments 
-are arbitary or discretionary in nature. At the most basic level all 
-network communications takes place using MAC addressing. Since MAC 
-addresses must be globally unique, and generally remains fixed for 
-any particular interface, the assignment of an IP address makes sense 
-from a network management perspective. More than one IP address can 
-be assigned per MAC address. One address must be the primary IP address, 
-this is the address that will be returned in the ARP reply.</P
-><P
->When a user or a process wants to communicate with another machine 
-the protocol implementation ensures that the "machine name" or "host 
-name" is resolved to an IP address in a manner that is controlled 
-by the TCP/IP configuration control files. The file 
-<TT
-CLASS="FILENAME"
->/etc/hosts</TT
-> is one such file.</P
-><P
->When the IP address of the destination interface has been 
-determined a protocol called ARP/RARP is used to identify 
-the MAC address of the target interface. ARP stands for Address 
-Resolution Protocol, and is a broadcast oriented method that 
-uses UDP (User Datagram Protocol) to send a request to all 
-interfaces on the local network segment using the all 1's MAC 
-address. Network interfaces are programmed to respond to two 
-MAC addresses only; their own unique address and the address 
-ff:ff:ff:ff:ff:ff. The reply packet from an ARP request will 
-contain the MAC address and the primary IP address for each 
-interface.</P
-><P
->The <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-> file is foundational to all 
-Unix/Linux TCP/IP installations and as a minumum will contain 
-the localhost and local network interface IP addresses and the 
-primary names by which they are known within the local machine. 
-This file helps to prime the pump so that a basic level of name 
-resolution can exist before any other method of name resolution 
-becomes available.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1416"
-></A
->10.2.2. <TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></H3
-><P
->This file tells the name resolution libraries:</P
-><P
-></P
-><UL
-><LI
-><P
->The name of the domain to which the machine 
-       belongs
-       </P
-></LI
-><LI
-><P
->The name(s) of any domains that should be 
-       automatically searched when trying to resolve unqualified 
-       host names to their IP address
-       </P
-></LI
-><LI
-><P
->The name or IP address of available Domain 
-       Name Servers that may be asked to perform name to address 
-       translation lookups
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1427"
-></A
->10.2.3. <TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></H3
-><P
-><TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-> is the primary means by 
-which the setting in /etc/resolv.conf may be affected. It is a 
-critical configuration file.  This file controls the order by 
-which name resolution may procede. The typical structure is:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      order hosts,bind
-       multi on</PRE
-></P
-><P
->then both addresses should be returned. Please refer to the 
-man page for host.conf for further details.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1435"
-></A
->10.2.4. <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></H3
-><P
->This file controls the actual name resolution targets. The 
-file typically has resolver object specifications as follows:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      # /etc/nsswitch.conf
-       #
-       # Name Service Switch configuration file.
-       #
-
-       passwd:         compat
-       # Alternative entries for password authentication are:
-       # passwd:       compat files nis ldap winbind
-       shadow:         compat
-       group:          compat
-
-       hosts:          files nis dns
-       # Alternative entries for host name resolution are:
-       # hosts:        files dns nis nis+ hesoid db compat ldap wins
-       networks:       nis files dns
-
-       ethers:         nis files
-       protocols:      nis files
-       rpc:            nis files
-       services:       nis files</PRE
-></P
-><P
->Of course, each of these mechanisms requires that the appropriate 
-facilities and/or services are correctly configured.</P
-><P
->It should be noted that unless a network request/message must be 
-sent, TCP/IP networks are silent. All TCP/IP communications assumes a 
-principal of speaking only when necessary.</P
-><P
->Starting with version 2.2.0 samba has Linux support for extensions to 
-the name service switch infrastructure so that linux clients will 
-be able to obtain resolution of MS Windows NetBIOS names to IP 
-Addresses. To gain this functionality Samba needs to be compiled 
-with appropriate arguments to the make command (ie: <B
-CLASS="COMMAND"
->make 
-nsswitch/libnss_wins.so</B
->). The resulting library should 
-then be installed in the <TT
-CLASS="FILENAME"
->/lib</TT
-> directory and 
-the "wins" parameter needs to be added to the "hosts:" line in 
-the <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> file. At this point it 
-will be possible to ping any MS Windows machine by it's NetBIOS 
-machine name, so long as that machine is within the workgroup to 
-which both the samba machine and the MS Windows machine belong.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1447"
-></A
->10.3. Name resolution as used within MS Windows networking</H2
-><P
->MS Windows networking is predicated about the name each machine 
-is given. This name is known variously (and inconsistently) as 
-the "computer name", "machine name", "networking name", "netbios name", 
-"SMB name". All terms mean the same thing with the exception of 
-"netbios name" which can apply also to the name of the workgroup or the 
-domain name. The terms "workgroup" and "domain" are really just a 
-simply name with which the machine is associated. All NetBIOS names 
-are exactly 16 characters in length. The 16th character is reserved. 
-It is used to store a one byte value that indicates service level 
-information for the NetBIOS name that is registered. A NetBIOS machine 
-name is therefore registered for each service type that is provided by 
-the client/server.</P
-><P
->The following are typical NetBIOS name/service type registrations:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      Unique NetBIOS Names:
-               MACHINENAME&#60;00&#62; = Server Service is running on MACHINENAME
-               MACHINENAME&#60;03&#62; = Generic Machine Name (NetBIOS name)
-               MACHINENAME&#60;20&#62; = LanMan Server service is running on MACHINENAME
-               WORKGROUP&#60;1b&#62; = Domain Master Browser
-
-       Group Names:
-               WORKGROUP&#60;03&#62; = Generic Name registered by all members of WORKGROUP
-               WORKGROUP&#60;1c&#62; = Domain Controllers / Netlogon Servers
-               WORKGROUP&#60;1d&#62; = Local Master Browsers
-               WORKGROUP&#60;1e&#62; = Internet Name Resolvers</PRE
-></P
-><P
->It should be noted that all NetBIOS machines register their own 
-names as per the above. This is in vast contrast to TCP/IP 
-installations where traditionally the system administrator will 
-determine in the /etc/hosts or in the DNS database what names 
-are associated with each IP address.</P
-><P
->One further point of clarification should be noted, the <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-> 
-file and the DNS records do not provide the NetBIOS name type information 
-that MS Windows clients depend on to locate the type of service that may 
-be needed. An example of this is what happens when an MS Windows client 
-wants to locate a domain logon server. It find this service and the IP 
-address of a server that provides it by performing a lookup (via a 
-NetBIOS broadcast) for enumeration of all machines that have 
-registered the name type *&#60;1c&#62;. A logon request is then sent to each 
-IP address that is returned in the enumerated list of IP addresses. Which 
-ever machine first replies then ends up providing the logon services.</P
-><P
->The name "workgroup" or "domain" really can be confusing since these 
-have the added significance of indicating what is the security 
-architecture of the MS Windows network. The term "workgroup" indicates 
-that the primary nature of the network environment is that of a 
-peer-to-peer design. In a WORKGROUP all machines are responsible for 
-their own security, and generally such security is limited to use of 
-just a password (known as SHARE MODE security). In most situations 
-with peer-to-peer networking the users who control their own machines 
-will simply opt to have no security at all. It is possible to have 
-USER MODE security in a WORKGROUP environment, thus requiring use 
-of a user name and a matching password.</P
-><P
->MS Windows networking is thus predetermined to use machine names 
-for all local and remote machine message passing. The protocol used is 
-called Server Message Block (SMB) and this is implemented using 
-the NetBIOS protocol (Network Basic Input Output System). NetBIOS can 
-be encapsulated using LLC (Logical Link Control) protocol - in which case 
-the resulting protocol is called NetBEUI (Network Basic Extended User 
-Interface). NetBIOS can also be run over IPX (Internetworking Packet 
-Exchange) protocol as used by Novell NetWare, and it can be run 
-over TCP/IP protocols - in which case the resulting protocol is called 
-NBT or NetBT, the NetBIOS over TCP/IP.</P
-><P
->MS Windows machines use a complex array of name resolution mechanisms. 
-Since we are primarily concerned with TCP/IP this demonstration is 
-limited to this area.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1459"
-></A
->10.3.1. The NetBIOS Name Cache</H3
-><P
->All MS Windows machines employ an in memory buffer in which is 
-stored the NetBIOS names and IP addresses for all external 
-machines that that machine has communicated with over the 
-past 10-15 minutes. It is more efficient to obtain an IP address 
-for a machine from the local cache than it is to go through all the 
-configured name resolution mechanisms.</P
-><P
->If a machine whose name is in the local name cache has been shut 
-down before the name had been expired and flushed from the cache, then 
-an attempt to exchange a message with that machine will be subject 
-to time-out delays. i.e.: Its name is in the cache, so a name resolution 
-lookup will succeed, but the machine can not respond. This can be 
-frustrating for users - but it is a characteristic of the protocol.</P
-><P
->The MS Windows utility that allows examination of the NetBIOS 
-name cache is called "nbtstat". The Samba equivalent of this 
-is called "nmblookup".</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1464"
-></A
->10.3.2. The LMHOSTS file</H3
-><P
->This file is usually located in MS Windows NT 4.0 or 
-2000 in <TT
-CLASS="FILENAME"
->C:\WINNT\SYSTEM32\DRIVERS\ETC</TT
-> and contains 
-the IP Address and the machine name in matched pairs. The 
-<TT
-CLASS="FILENAME"
->LMHOSTS</TT
-> file performs NetBIOS name 
-to IP address mapping oriented.</P
-><P
->It typically looks like:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      # Copyright (c) 1998 Microsoft Corp.
-       #
-       # This is a sample LMHOSTS file used by the Microsoft Wins Client (NetBIOS
-       # over TCP/IP) stack for Windows98
-       #
-       # This file contains the mappings of IP addresses to NT computernames
-       # (NetBIOS) names.  Each entry should be kept on an individual line.
-       # The IP address should be placed in the first column followed by the
-       # corresponding computername. The address and the comptername
-       # should be separated by at least one space or tab. The "#" character
-       # is generally used to denote the start of a comment (see the exceptions
-       # below).
-       #
-       # This file is compatible with Microsoft LAN Manager 2.x TCP/IP lmhosts
-       # files and offers the following extensions:
-       #
-       #      #PRE
-       #      #DOM:&lt;domain&gt;
-       #      #INCLUDE &lt;filename&gt;
-       #      #BEGIN_ALTERNATE
-       #      #END_ALTERNATE
-       #      \0xnn (non-printing character support)
-       #
-       # Following any entry in the file with the characters "#PRE" will cause
-       # the entry to be preloaded into the name cache. By default, entries are
-       # not preloaded, but are parsed only after dynamic name resolution fails.
-       #
-       # Following an entry with the "#DOM:&lt;domain&gt;" tag will associate the
-       # entry with the domain specified by &lt;domain&gt;. This affects how the
-       # browser and logon services behave in TCP/IP environments. To preload
-       # the host name associated with #DOM entry, it is necessary to also add a
-       # #PRE to the line. The &lt;domain&gt; is always preloaded although it will not
-       # be shown when the name cache is viewed.
-       #
-       # Specifying "#INCLUDE &lt;filename&gt;" will force the RFC NetBIOS (NBT)
-       # software to seek the specified &lt;filename&gt; and parse it as if it were
-       # local. &lt;filename&gt; is generally a UNC-based name, allowing a
-       # centralized lmhosts file to be maintained on a server.
-       # It is ALWAYS necessary to provide a mapping for the IP address of the
-       # server prior to the #INCLUDE. This mapping must use the #PRE directive.
-       # In addtion the share "public" in the example below must be in the
-       # LanManServer list of "NullSessionShares" in order for client machines to
-       # be able to read the lmhosts file successfully. This key is under
-       # \machine\system\currentcontrolset\services\lanmanserver\parameters\nullsessionshares
-       # in the registry. Simply add "public" to the list found there.
-       #
-       # The #BEGIN_ and #END_ALTERNATE keywords allow multiple #INCLUDE
-       # statements to be grouped together. Any single successful include
-       # will cause the group to succeed.
-       #
-       # Finally, non-printing characters can be embedded in mappings by
-       # first surrounding the NetBIOS name in quotations, then using the
-       # \0xnn notation to specify a hex value for a non-printing character.
-       #
-       # The following example illustrates all of these extensions:
-       #
-       # 102.54.94.97     rhino         #PRE #DOM:networking  #net group's DC
-       # 102.54.94.102    "appname  \0x14"                    #special app server
-       # 102.54.94.123    popular            #PRE             #source server
-       # 102.54.94.117    localsrv           #PRE             #needed for the include
-       #
-       # #BEGIN_ALTERNATE
-       # #INCLUDE \\localsrv\public\lmhosts
-       # #INCLUDE \\rhino\public\lmhosts
-       # #END_ALTERNATE
-       #
-       # In the above example, the "appname" server contains a special
-       # character in its name, the "popular" and "localsrv" server names are
-       # preloaded, and the "rhino" server name is specified so it can be used
-       # to later #INCLUDE a centrally maintained lmhosts file if the "localsrv"
-       # system is unavailable.
-       #
-       # Note that the whole file is parsed including comments on each lookup,
-       # so keeping the number of comments to a minimum will improve performance.
-       # Therefore it is not advisable to simply add lmhosts file entries onto the
-       # end of this file.</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1472"
-></A
->10.3.3. HOSTS file</H3
-><P
->This file is usually located in MS Windows NT 4.0 or 2000 in 
-<TT
-CLASS="FILENAME"
->C:\WINNT\SYSTEM32\DRIVERS\ETC</TT
-> and contains 
-the IP Address and the IP hostname in matched pairs. It can be 
-used by the name resolution infrastructure in MS Windows, depending 
-on how the TCP/IP environment is configured. This file is in 
-every way the equivalent of the Unix/Linux <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-> file.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1477"
-></A
->10.3.4. DNS Lookup</H3
-><P
->This capability is configured in the TCP/IP setup area in the network 
-configuration facility. If enabled an elaborate name resolution sequence 
-is followed the precise nature of which isdependant on what the NetBIOS 
-Node Type parameter is configured to. A Node Type of 0 means use 
-NetBIOS broadcast (over UDP broadcast) is first used if the name 
-that is the subject of a name lookup is not found in the NetBIOS name 
-cache. If that fails then DNS, HOSTS and LMHOSTS are checked. If set to 
-Node Type 8, then a NetBIOS Unicast (over UDP Unicast) is sent to the 
-WINS Server to obtain a lookup before DNS, HOSTS, LMHOSTS, or broadcast 
-lookup is used.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1480"
-></A
->10.3.5. WINS Lookup</H3
-><P
->A WINS (Windows Internet Name Server) service is the equivaent of the 
-rfc1001/1002 specified NBNS (NetBIOS Name Server). A WINS server stores 
-the names and IP addresses that are registered by a Windows client 
-if the TCP/IP setup has been given at least one WINS Server IP Address.</P
-><P
->To configure Samba to be a WINS server the following parameter needs 
-to be added to the <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      wins support = Yes</PRE
-></P
-><P
->To configure Samba to use a WINS server the following parameters are 
-needed in the smb.conf file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      wins support = No
-       wins server = xxx.xxx.xxx.xxx</PRE
-></P
-><P
->where <TT
-CLASS="REPLACEABLE"
-><I
->xxx.xxx.xxx.xxx</I
-></TT
-> is the IP address 
-of the WINS server.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1492"
-></A
->10.4. How browsing functions and how to deploy stable and 
-dependable browsing using Samba</H2
-><P
->As stated above, MS Windows machines register their NetBIOS names 
-(i.e.: the machine name for each service type in operation) on start 
-up. Also, as stated above, the exact method by which this name registration 
-takes place is determined by whether or not the MS Windows client/server 
-has been given a WINS server address, whether or not LMHOSTS lookup 
-is enabled, or if DNS for NetBIOS name resolution is enabled, etc.</P
-><P
->In the case where there is no WINS server all name registrations as 
-well as name lookups are done by UDP broadcast. This isolates name 
-resolution to the local subnet, unless LMHOSTS is used to list all 
-names and IP addresses. In such situations Samba provides a means by 
-which the samba server name may be forcibly injected into the browse 
-list of a remote MS Windows network (using the "remote announce" parameter).</P
-><P
->Where a WINS server is used, the MS Windows client will use UDP 
-unicast to register with the WINS server. Such packets can be routed 
-and thus WINS allows name resolution to function across routed networks.</P
-><P
->During the startup process an election will take place to create a 
-local master browser if one does not already exist. On each NetBIOS network 
-one machine will be elected to function as the domain master browser. This 
-domain browsing has nothing to do with MS security domain control. 
-Instead, the domain master browser serves the role of contacting each local 
-master browser (found by asking WINS or from LMHOSTS) and exchanging browse 
-list contents. This way every master browser will eventually obtain a complete 
-list of all machines that are on the network. Every 11-15 minutes an election 
-is held to determine which machine will be the master browser. By the nature of 
-the election criteria used, the machine with the highest uptime, or the 
-most senior protocol version, or other criteria, will win the election 
-as domain master browser.</P
-><P
->Clients wishing to browse the network make use of this list, but also depend 
-on the availability of correct name resolution to the respective IP 
-address/addresses. </P
-><P
->Any configuration that breaks name resolution and/or browsing intrinsics 
-will annoy users because they will have to put up with protracted 
-inability to use the network services.</P
-><P
->Samba supports a feature that allows forced synchonisation 
-of browse lists across routed networks using the "remote 
-browse sync" parameter in the smb.conf file. This causes Samba 
-to contact the local master browser on a remote network and 
-to request browse list synchronisation. This effectively bridges 
-two networks that are separated by routers. The two remote 
-networks may use either broadcast based name resolution or WINS 
-based name resolution, but it should be noted that the "remote 
-browse sync" parameter provides browse list synchronisation - and 
-that is distinct from name to address resolution, in other 
-words, for cross subnet browsing to function correctly it is 
-essential that a name to address resolution mechanism be provided. 
-This mechanism could be via DNS, <TT
-CLASS="FILENAME"
->/etc/hosts</TT
->, 
-and so on.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1502"
-></A
->10.5. MS Windows security options and how to configure 
-Samba for seemless integration</H2
-><P
->MS Windows clients may use encrypted passwords as part of a 
-challenege/response authentication model (a.k.a. NTLMv1) or 
-alone, or clear text strings for simple password based 
-authentication. It should be realized that with the SMB 
-protocol the password is passed over the network either 
-in plain text or encrypted, but not both in the same 
-authentication requets.</P
-><P
->When encrypted passwords are used a password that has been 
-entered by the user is encrypted in two ways:</P
-><P
-></P
-><UL
-><LI
-><P
->An MD4 hash of the UNICODE of the password
-       string.  This is known as the NT hash.
-       </P
-></LI
-><LI
-><P
->The password is converted to upper case,
-       and then padded or trucated to 14 bytes.  This string is 
-       then appended with 5 bytes of NULL characters and split to
-       form two 56 bit DES keys to encrypt a "magic" 8 byte value.
-       The resulting 16 bytes for the LanMan hash.
-       </P
-></LI
-></UL
-><P
->You should refer to the <A
-HREF="ENCRYPTION.html"
-TARGET="_top"
->Password Encryption</A
-> chapter in this HOWTO collection
-for more details on the inner workings</P
-><P
->MS Windows 95 pre-service pack 1, MS Windows NT versions 3.x 
-and version 4.0 pre-service pack 3 will use either mode of 
-password authentication. All versions of MS Windows that follow 
-these versions no longer support plain text passwords by default.</P
-><P
->MS Windows clients have a habit of dropping network mappings that 
-have been idle for 10 minutes or longer. When the user attempts to 
-use the mapped drive connection that has been dropped, the client
-re-establishes the connection using 
-a cached copy of the password.</P
-><P
->When Microsoft changed the default password mode, they dropped support for 
-caching of the plain text password. This means that when the registry 
-parameter is changed to re-enable use of plain text passwords it appears to 
-work, but when a dropped mapping attempts to revalidate it will fail if 
-the remote authentication server does not support encrypted passwords. 
-This means that it is definitely not a good idea to re-enable plain text 
-password support in such clients.</P
-><P
->The following parameters can be used to work around the 
-issue of Windows 9x client upper casing usernames and
-password before transmitting them to the SMB server
-when using clear text authentication.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      <A
-HREF="smb.conf.5.html#PASSWORDLEVEL"
-TARGET="_top"
->passsword level</A
-> = <TT
-CLASS="REPLACEABLE"
-><I
->integer</I
-></TT
->
-       <A
-HREF="smb.conf.5.html#USERNAMELEVEL"
-TARGET="_top"
->username level</A
-> = <TT
-CLASS="REPLACEABLE"
-><I
->integer</I
-></TT
-></PRE
-></P
-><P
->By default Samba will lower case the username before attempting
-to lookup the user in the database of local system accounts.
-Because UNIX usernames conventionally only contain lower case
-character, the <TT
-CLASS="PARAMETER"
-><I
->username level</I
-></TT
-> parameter
-is rarely even needed.</P
-><P
->However, password on UNIX systems often make use of mixed case
-characters.  This means that in order for a user on a Windows 9x
-client to connect to a Samba server using clear text authentication,
-the <TT
-CLASS="PARAMETER"
-><I
->password level</I
-></TT
-> must be set to the maximum
-number of upper case letter which <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->could</I
-></SPAN
-> appear
-is a password.  Note that is the server OS uses the traditional
-DES version of crypt(), then a <TT
-CLASS="PARAMETER"
-><I
->password level</I
-></TT
->
-of 8 will result in case insensitive passwords as seen from Windows
-users.  This will also result in longer login times as Samba
-hash to compute the permutations of the password string and 
-try them one by one until a match is located (or all combinations fail).</P
-><P
->The best option to adopt is to enable support for encrypted passwords 
-where ever Samba is used. There are three configuration possibilities 
-for support of encrypted passwords:</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1530"
-></A
->10.5.1. Use MS Windows NT as an authentication server</H3
-><P
->This method involves the additions of the following parameters 
-in the smb.conf file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      encrypt passwords = Yes
-       security = server
-       password server = "NetBIOS_name_of_PDC"</PRE
-></P
-><P
->There are two ways of identifying whether or not a username and 
-password pair was valid or not. One uses the reply information provided 
-as part of the authentication messaging process, the other uses 
-just and error code.</P
-><P
->The down-side of this mode of configuration is the fact that 
-for security reasons Samba will send the password server a bogus 
-username and a bogus password and if the remote server fails to 
-reject the username and password pair then an alternative mode 
-of identification of validation is used. Where a site uses password 
-lock out after a certain number of failed authentication attempts 
-this will result in user lockouts.</P
-><P
->Use of this mode of authentication does require there to be 
-a standard Unix account for the user, this account can be blocked 
-to prevent logons by other than MS Windows clients.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1538"
-></A
->10.5.2. Make Samba a member of an MS Windows NT security domain</H3
-><P
->This method involves additon of the following paramters in the smb.conf file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      encrypt passwords = Yes
-       security = domain
-       workgroup = "name of NT domain"
-       password server = *</PRE
-></P
-><P
->The use of the "*" argument to "password server" will cause samba 
-to locate the domain controller in a way analogous to the way 
-this is done within MS Windows NT.</P
-><P
->In order for this method to work the Samba server needs to join the 
-MS Windows NT security domain. This is done as follows:</P
-><P
-></P
-><UL
-><LI
-><P
->On the MS Windows NT domain controller using 
-       the Server Manager add a machine account for the Samba server.
-       </P
-></LI
-><LI
-><P
->Next, on the Linux system execute: 
-       <B
-CLASS="COMMAND"
->smbpasswd -r PDC_NAME -j DOMAIN_NAME</B
->
-       </P
-></LI
-></UL
-><P
->Use of this mode of authentication does require there to be 
-a standard Unix account for the user in order to assign
-a uid once the account has been authenticated by the remote
-Windows DC.  This account can be blocked to prevent logons by 
-other than MS Windows clients by things such as setting an invalid
-shell in the <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entry.</P
-><P
->An alternative to assigning UIDs to Windows users on a 
-Samba member server is presented in the <A
-HREF="winbind.html"
-TARGET="_top"
->Winbind Overview</A
-> chapter in
-this HOWTO collection.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1555"
-></A
->10.5.3. Configure Samba as an authentication server</H3
-><P
->This mode of authentication demands that there be on the 
-Unix/Linux system both a Unix style account as well as an 
-smbpasswd entry for the user. The Unix system account can be 
-locked if required as only the encrypted password will be 
-used for SMB client authentication.</P
-><P
->This method involves addition of the following parameters to 
-the smb.conf file:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->## please refer to the Samba PDC HOWTO chapter later in 
-## this collection for more details
-[global]
-       encrypt passwords = Yes
-       security = user
-       domain logons = Yes
-       ; an OS level of 33 or more is recommended
-       os level = 33
-
-[NETLOGON]
-       path = /somewhare/in/file/system
-       read only = yes</PRE
-></P
-><P
->in order for this method to work a Unix system account needs 
-to be created for each user, as well as for each MS Windows NT/2000 
-machine. The following structure is required.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1562"
-></A
->10.5.3.1. Users</H4
-><P
->A user account that may provide a home directory should be 
-created. The following Linux system commands are typical of 
-the procedure for creating an account.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      # useradd -s /bin/bash -d /home/"userid" -m "userid"
-       # passwd "userid"
-         Enter Password: &lt;pw&gt;
-         
-       # smbpasswd -a "userid"
-         Enter Password: &lt;pw&gt;</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN1567"
-></A
->10.5.3.2. MS Windows NT Machine Accounts</H4
-><P
->These are required only when Samba is used as a domain 
-controller.  Refer to the Samba-PDC-HOWTO for more details.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      # useradd -s /bin/false -d /dev/null "machine_name"\$
-       # passwd -l "machine_name"\$
-       # smbpasswd -a -m "machine_name"</PRE
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1572"
-></A
->10.6. Conclusions</H2
-><P
->Samba provides a flexible means to operate as...</P
-><P
-></P
-><UL
-><LI
-><P
->A Stand-alone server - No special action is needed 
-       other than to create user accounts. Stand-alone servers do NOT 
-       provide network logon services, meaning that machines that use this 
-       server do NOT perform a domain logon but instead make use only of 
-       the MS Windows logon which is local to the MS Windows 
-       workstation/server.
-       </P
-></LI
-><LI
-><P
->An MS Windows NT 3.x/4.0 security domain member.
-       </P
-></LI
-><LI
-><P
->An alternative to an MS Windows NT 3.x/4.0 
-       Domain Controller.
-       </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="UNIX-PERMISSIONS"
-></A
->Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1593"
-></A
->11.1. Viewing and changing UNIX permissions using the NT 
-       security dialogs</H2
-><P
->New in the Samba 2.0.4 release is the ability for Windows 
-       NT clients to use their native security settings dialog box to 
-       view and modify the underlying UNIX permissions.</P
-><P
->Note that this ability is careful not to compromise 
-       the security of the UNIX host Samba is running on, and 
-       still obeys all the file permission rules that a Samba 
-       administrator can set.</P
-><P
->In Samba 2.0.4 and above the default value of the 
-       parameter <A
-HREF="smb.conf.5.html#NTACLSUPPORT"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->      nt acl support</I
-></TT
-></A
-> has been changed from 
-       <TT
-CLASS="CONSTANT"
->false</TT
-> to <TT
-CLASS="CONSTANT"
->true</TT
->, so 
-       manipulation of permissions is turned on by default.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1602"
-></A
->11.2. How to view file security on a Samba share</H2
-><P
->From an NT 4.0 client, single-click with the right 
-       mouse button on any file or directory in a Samba mounted 
-       drive letter or UNC path. When the menu pops-up, click 
-       on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Properties</I
-></SPAN
-> entry at the bottom of 
-       the menu. This brings up the normal file properties dialog
-       box, but with Samba 2.0.4 this will have a new tab along the top
-       marked <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Security</I
-></SPAN
->. Click on this tab and you 
-       will see three buttons, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Permissions</I
-></SPAN
->,     
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Auditing</I
-></SPAN
->, and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ownership</I
-></SPAN
->. 
-       The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Auditing</I
-></SPAN
-> button will cause either 
-       an error message <SPAN
-CLASS="ERRORNAME"
->A requested privilege is not held 
-       by the client</SPAN
-> to appear if the user is not the 
-       NT Administrator, or a dialog which is intended to allow an 
-       Administrator to add auditing requirements to a file if the 
-       user is logged on as the NT Administrator. This dialog is 
-       non-functional with a Samba share at this time, as the only 
-       useful button, the <B
-CLASS="COMMAND"
->Add</B
-> button will not currently 
-       allow a list of users to be seen.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1613"
-></A
->11.3. Viewing file ownership</H2
-><P
->Clicking on the <B
-CLASS="COMMAND"
->"Ownership"</B
-> button 
-       brings up a dialog box telling you who owns the given file. The 
-       owner name will be of the form :</P
-><P
-><B
-CLASS="COMMAND"
->"SERVER\user (Long name)"</B
-></P
-><P
->Where <TT
-CLASS="REPLACEABLE"
-><I
->SERVER</I
-></TT
-> is the NetBIOS name of 
-       the Samba server, <TT
-CLASS="REPLACEABLE"
-><I
->user</I
-></TT
-> is the user name of 
-       the UNIX user who owns the file, and <TT
-CLASS="REPLACEABLE"
-><I
->(Long name)</I
-></TT
->
-       is the descriptive string identifying the user (normally found in the
-       GECOS field of the UNIX password database). Click on the <B
-CLASS="COMMAND"
->Close
-       </B
-> button to remove this dialog.</P
-><P
->If the parameter <TT
-CLASS="PARAMETER"
-><I
->nt acl support</I
-></TT
->
-       is set to <TT
-CLASS="CONSTANT"
->false</TT
-> then the file owner will 
-       be shown as the NT user <B
-CLASS="COMMAND"
->"Everyone"</B
->.</P
-><P
->The <B
-CLASS="COMMAND"
->Take Ownership</B
-> button will not allow 
-       you to change the ownership of this file to yourself (clicking on 
-       it will display a dialog box complaining that the user you are 
-       currently logged onto the NT client cannot be found). The reason 
-       for this is that changing the ownership of a file is a privileged 
-       operation in UNIX, available only to the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->root</I
-></SPAN
-> 
-       user. As clicking on this button causes NT to attempt to change 
-       the ownership of a file to the current user logged into the NT 
-       client this will not work with Samba at this time.</P
-><P
->There is an NT chown command that will work with Samba 
-       and allow a user with Administrator privilege connected 
-       to a Samba 2.0.4 server as root to change the ownership of 
-       files on both a local NTFS filesystem or remote mounted NTFS 
-       or Samba drive. This is available as part of the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Seclib
-       </I
-></SPAN
-> NT security library written by Jeremy Allison of 
-       the Samba Team, available from the main Samba ftp site.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1633"
-></A
->11.4. Viewing file or directory permissions</H2
-><P
->The third button is the <B
-CLASS="COMMAND"
->"Permissions"</B
-> 
-       button. Clicking on this brings up a dialog box that shows both 
-       the permissions and the UNIX owner of the file or directory. 
-       The owner is displayed in the form :</P
-><P
-><B
-CLASS="COMMAND"
->"SERVER\user (Long name)"</B
-></P
-><P
->Where <TT
-CLASS="REPLACEABLE"
-><I
->SERVER</I
-></TT
-> is the NetBIOS name of 
-       the Samba server, <TT
-CLASS="REPLACEABLE"
-><I
->user</I
-></TT
-> is the user name of 
-       the UNIX user who owns the file, and <TT
-CLASS="REPLACEABLE"
-><I
->(Long name)</I
-></TT
->
-       is the descriptive string identifying the user (normally found in the
-       GECOS field of the UNIX password database).</P
-><P
->If the parameter <TT
-CLASS="PARAMETER"
-><I
->nt acl support</I
-></TT
->
-       is set to <TT
-CLASS="CONSTANT"
->false</TT
-> then the file owner will 
-       be shown as the NT user <B
-CLASS="COMMAND"
->"Everyone"</B
-> and the 
-       permissions will be shown as NT "Full Control".</P
-><P
->The permissions field is displayed differently for files 
-       and directories, so I'll describe the way file permissions 
-       are displayed first.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1648"
-></A
->11.4.1. File Permissions</H3
-><P
->The standard UNIX user/group/world triple and 
-               the corresponding "read", "write", "execute" permissions 
-               triples are mapped by Samba into a three element NT ACL 
-               with the 'r', 'w', and 'x' bits mapped into the corresponding 
-               NT permissions. The UNIX world permissions are mapped into 
-               the global NT group <B
-CLASS="COMMAND"
->Everyone</B
->, followed 
-               by the list of permissions allowed for UNIX world. The UNIX 
-               owner and group permissions are displayed as an NT 
-               <B
-CLASS="COMMAND"
->user</B
-> icon and an NT <B
-CLASS="COMMAND"
->local 
-               group</B
-> icon respectively followed by the list 
-               of permissions allowed for the UNIX user and group.</P
-><P
->As many UNIX permission sets don't map into common 
-               NT names such as <B
-CLASS="COMMAND"
->"read"</B
->, <B
-CLASS="COMMAND"
->              "change"</B
-> or <B
-CLASS="COMMAND"
->"full control"</B
-> then 
-               usually the permissions will be prefixed by the words <B
-CLASS="COMMAND"
->              "Special Access"</B
-> in the NT display list.</P
-><P
->But what happens if the file has no permissions allowed 
-               for a particular UNIX user group or world component ? In order 
-               to  allow "no permissions" to be seen and modified then Samba 
-               overloads the NT <B
-CLASS="COMMAND"
->"Take Ownership"</B
-> ACL attribute 
-               (which has no meaning in UNIX) and reports a component with 
-               no permissions as having the NT <B
-CLASS="COMMAND"
->"O"</B
-> bit set. 
-               This was chosen of course to make it look like a zero, meaning 
-               zero permissions. More details on the decision behind this will 
-               be given below.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1662"
-></A
->11.4.2. Directory Permissions</H3
-><P
->Directories on an NT NTFS file system have two 
-               different sets of permissions. The first set of permissions 
-               is the ACL set on the directory itself, this is usually displayed 
-               in the first set of parentheses in the normal <B
-CLASS="COMMAND"
->"RW"</B
-> 
-               NT style. This first set of permissions is created by Samba in 
-               exactly the same way as normal file permissions are, described 
-               above, and is displayed in the same way.</P
-><P
->The second set of directory permissions has no real meaning 
-               in the UNIX permissions world and represents the <B
-CLASS="COMMAND"
->              "inherited"</B
-> permissions that any file created within 
-               this directory would inherit.</P
-><P
->Samba synthesises these inherited permissions for NT by 
-               returning as an NT ACL the UNIX permission mode that a new file 
-               created by Samba on this share would receive.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1669"
-></A
->11.5. Modifying file or directory permissions</H2
-><P
->Modifying file and directory permissions is as simple 
-       as changing the displayed permissions in the dialog box, and 
-       clicking the <B
-CLASS="COMMAND"
->OK</B
-> button. However, there are 
-       limitations that a user needs to be aware of, and also interactions 
-       with the standard Samba permission masks and mapping of DOS 
-       attributes that need to also be taken into account.</P
-><P
->If the parameter <TT
-CLASS="PARAMETER"
-><I
->nt acl support</I
-></TT
->
-       is set to <TT
-CLASS="CONSTANT"
->false</TT
-> then any attempt to set 
-       security permissions will fail with an <B
-CLASS="COMMAND"
->"Access Denied"
-       </B
-> message.</P
-><P
->The first thing to note is that the <B
-CLASS="COMMAND"
->"Add"</B
-> 
-       button will not return a list of users in Samba 2.0.4 (it will give 
-       an error message of <B
-CLASS="COMMAND"
->"The remote procedure call failed 
-       and did not execute"</B
->). This means that you can only 
-       manipulate the current user/group/world permissions listed in 
-       the dialog box. This actually works quite well as these are the 
-       only permissions that UNIX actually has.</P
-><P
->If a permission triple (either user, group, or world) 
-       is removed from the list of permissions in the NT dialog box, 
-       then when the <B
-CLASS="COMMAND"
->"OK"</B
-> button is pressed it will 
-       be applied as "no permissions" on the UNIX side. If you then 
-       view the permissions again the "no permissions" entry will appear 
-       as the NT <B
-CLASS="COMMAND"
->"O"</B
-> flag, as described above. This 
-       allows you to add permissions back to a file or directory once 
-       you have removed them from a triple component.</P
-><P
->As UNIX supports only the "r", "w" and "x" bits of 
-       an NT ACL then if other NT security attributes such as "Delete 
-       access" are selected then they will be ignored when applied on 
-       the Samba server.</P
-><P
->When setting permissions on a directory the second 
-       set of permissions (in the second set of parentheses) is 
-       by default applied to all files within that directory. If this 
-       is not what you want you must uncheck the <B
-CLASS="COMMAND"
->"Replace 
-       permissions on existing files"</B
-> checkbox in the NT 
-       dialog before clicking <B
-CLASS="COMMAND"
->"OK"</B
->.</P
-><P
->If you wish to remove all permissions from a 
-       user/group/world  component then you may either highlight the 
-       component and click the <B
-CLASS="COMMAND"
->"Remove"</B
-> button, 
-       or set the component to only have the special <B
-CLASS="COMMAND"
->"Take
-       Ownership"</B
-> permission (displayed as <B
-CLASS="COMMAND"
->"O"
-       </B
->) highlighted.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1691"
-></A
->11.6. Interaction with the standard Samba create mask 
-       parameters</H2
-><P
->Note that with Samba 2.0.5 there are four new parameters 
-       to control this interaction.  These are :</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->security mask</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force security mode</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->directory security mask</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force directory security mode</I
-></TT
-></P
-><P
->Once a user clicks <B
-CLASS="COMMAND"
->"OK"</B
-> to apply the 
-       permissions Samba maps the given permissions into a user/group/world 
-       r/w/x triple set, and then will check the changed permissions for a 
-       file against the bits set in the <A
-HREF="smb.conf.5.html#SECURITYMASK"
-TARGET="_top"
-> 
-       <TT
-CLASS="PARAMETER"
-><I
->security mask</I
-></TT
-></A
-> parameter. Any bits that 
-       were changed that are not set to '1' in this parameter are left alone 
-       in the file permissions.</P
-><P
->Essentially, zero bits in the <TT
-CLASS="PARAMETER"
-><I
->security mask</I
-></TT
->
-       mask may be treated as a set of bits the user is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> 
-       allowed to change, and one bits are those the user is allowed to change.
-       </P
-><P
->If not set explicitly this parameter is set to the same value as 
-       the <A
-HREF="smb.conf.5.html#CREATEMASK"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->create mask
-       </I
-></TT
-></A
-> parameter to provide compatibility with Samba 2.0.4 
-       where this permission change facility was introduced. To allow a user to 
-       modify all the user/group/world permissions on a file, set this parameter 
-       to 0777.</P
-><P
->Next Samba checks the changed permissions for a file against 
-       the bits set in the <A
-HREF="smb.conf.5.html#FORCESECURITYMODE"
-TARGET="_top"
->      <TT
-CLASS="PARAMETER"
-><I
->force security mode</I
-></TT
-></A
-> parameter. Any bits 
-       that were changed that correspond to bits set to '1' in this parameter 
-       are forced to be set.</P
-><P
->Essentially, bits set in the <TT
-CLASS="PARAMETER"
-><I
->force security mode
-       </I
-></TT
-> parameter may be treated as a set of bits that, when 
-       modifying security on a file, the user has always set to be 'on'.</P
-><P
->If not set explicitly this parameter is set to the same value 
-       as the <A
-HREF="smb.conf.5.html#FORCECREATEMODE"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->force 
-       create mode</I
-></TT
-></A
-> parameter to provide compatibility
-       with Samba 2.0.4 where the permission change facility was introduced.
-       To allow a user to modify all the user/group/world permissions on a file
-       with no restrictions set this parameter to 000.</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->security mask</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->force 
-       security mode</I
-></TT
-> parameters are applied to the change 
-       request in that order.</P
-><P
->For a directory Samba will perform the same operations as 
-       described above for a file except using the parameter <TT
-CLASS="PARAMETER"
-><I
->      directory security mask</I
-></TT
-> instead of <TT
-CLASS="PARAMETER"
-><I
->security 
-       mask</I
-></TT
->, and <TT
-CLASS="PARAMETER"
-><I
->force directory security mode
-       </I
-></TT
-> parameter instead of <TT
-CLASS="PARAMETER"
-><I
->force security mode
-       </I
-></TT
->.</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->directory security mask</I
-></TT
-> parameter 
-       by default is set to the same value as the <TT
-CLASS="PARAMETER"
-><I
->directory mask
-       </I
-></TT
-> parameter and the <TT
-CLASS="PARAMETER"
-><I
->force directory security 
-       mode</I
-></TT
-> parameter by default is set to the same value as 
-       the <TT
-CLASS="PARAMETER"
-><I
->force directory mode</I
-></TT
-> parameter to provide 
-       compatibility with Samba 2.0.4 where the permission change facility 
-       was introduced.</P
-><P
->In this way Samba enforces the permission restrictions that 
-       an administrator can set on a Samba share, whilst still allowing users 
-       to modify the permission bits within that restriction.</P
-><P
->If you want to set up a share that allows users full control
-       in modifying the permission bits on their files and directories and
-       doesn't force any particular bits to be set 'on', then set the following
-       parameters in the <A
-HREF="smb.conf.5.html"
-TARGET="_top"
-><TT
-CLASS="FILENAME"
->smb.conf(5)
-       </TT
-></A
-> file in that share specific section :</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->security mask = 0777</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force security mode = 0</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->directory security mask = 0777</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force directory security mode = 0</I
-></TT
-></P
-><P
->As described, in Samba 2.0.4 the parameters :</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->create mask</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force create mode</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->directory mask</I
-></TT
-></P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->force directory mode</I
-></TT
-></P
-><P
->were used instead of the parameters discussed here.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1755"
-></A
->11.7. Interaction with the standard Samba file attribute 
-       mapping</H2
-><P
->Samba maps some of the DOS attribute bits (such as "read 
-       only") into the UNIX permissions of a file. This means there can 
-       be a conflict between the permission bits set via the security 
-       dialog and the permission bits set by the file attribute mapping.
-       </P
-><P
->One way this can show up is if a file has no UNIX read access
-       for the owner it will show up as "read only" in the standard 
-       file attributes tabbed dialog. Unfortunately this dialog is
-       the same one that contains the security info in another tab.</P
-><P
->What this can mean is that if the owner changes the permissions
-       to allow themselves read access using the security dialog, clicks
-       <B
-CLASS="COMMAND"
->"OK"</B
-> to get back to the standard attributes tab 
-       dialog, and then clicks <B
-CLASS="COMMAND"
->"OK"</B
-> on that dialog, then 
-       NT will set the file permissions back to read-only (as that is what 
-       the attributes still say in the dialog). This means that after setting 
-       permissions and clicking <B
-CLASS="COMMAND"
->"OK"</B
-> to get back to the 
-       attributes dialog you should always hit <B
-CLASS="COMMAND"
->"Cancel"</B
-> 
-       rather than <B
-CLASS="COMMAND"
->"OK"</B
-> to ensure that your changes 
-       are not overridden.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PAM"
-></A
->Chapter 12. Configuring PAM for distributed but centrally 
-managed authentication</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1776"
-></A
->12.1. Samba and PAM</H2
-><P
->A number of Unix systems (eg: Sun Solaris), as well as the 
-xxxxBSD family and Linux, now utilize the Pluggable Authentication 
-Modules (PAM) facility to provide all authentication, 
-authorization and resource control services. Prior to the 
-introduction of PAM, a decision to use an alternative to 
-the system password database (<TT
-CLASS="FILENAME"
->/etc/passwd</TT
->) 
-would require the provision of alternatives for all programs that provide 
-security services. Such a choice would involve provision of 
-alternatives to such programs as: <B
-CLASS="COMMAND"
->login</B
->, 
-<B
-CLASS="COMMAND"
->passwd</B
->, <B
-CLASS="COMMAND"
->chown</B
->, etc.</P
-><P
->PAM provides a mechanism that disconnects these security programs 
-from the underlying authentication/authorization infrastructure.
-PAM is configured either through one file <TT
-CLASS="FILENAME"
->/etc/pam.conf</TT
-> (Solaris), 
-or by editing individual files that are located in <TT
-CLASS="FILENAME"
->/etc/pam.d</TT
->.</P
-><P
->The following is an example <TT
-CLASS="FILENAME"
->/etc/pam.d/login</TT
-> configuration file. 
-This example had all options been uncommented is probably not usable 
-as it stacks many conditions before allowing successful completion 
-of the login process. Essentially all conditions can be disabled 
-by commenting them out except the calls to <TT
-CLASS="FILENAME"
->pam_pwdb.so</TT
->.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#%PAM-1.0
-# The PAM configuration file for the `login' service
-#
-auth           required        pam_securetty.so
-auth           required        pam_nologin.so
-# auth                 required        pam_dialup.so
-# auth                 optional        pam_mail.so
-auth           required        pam_pwdb.so shadow md5
-# account      requisite       pam_time.so
-account                required        pam_pwdb.so
-session                required        pam_pwdb.so
-# session      optional        pam_lastlog.so
-# password     required        pam_cracklib.so retry=3
-password       required        pam_pwdb.so shadow md5</PRE
-></P
-><P
->PAM allows use of replacable modules. Those available on a 
-sample system include:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->$ /bin/ls /lib/security
-pam_access.so    pam_ftp.so          pam_limits.so     
-pam_ncp_auth.so  pam_rhosts_auth.so  pam_stress.so     
-pam_cracklib.so  pam_group.so        pam_listfile.so   
-pam_nologin.so   pam_rootok.so       pam_tally.so      
-pam_deny.so      pam_issue.so        pam_mail.so       
-pam_permit.so    pam_securetty.so    pam_time.so       
-pam_dialup.so    pam_lastlog.so      pam_mkhomedir.so  
-pam_pwdb.so      pam_shells.so       pam_unix.so       
-pam_env.so       pam_ldap.so         pam_motd.so       
-pam_radius.so    pam_smbpass.so      pam_unix_acct.so  
-pam_wheel.so     pam_unix_auth.so    pam_unix_passwd.so
-pam_userdb.so    pam_warn.so         pam_unix_session.so</PRE
-></P
-><P
->The following example for the login program replaces the use of 
-the <TT
-CLASS="FILENAME"
->pam_pwdb.so</TT
-> module which uses the system 
-password database (<TT
-CLASS="FILENAME"
->/etc/passwd</TT
->,
-<TT
-CLASS="FILENAME"
->/etc/shadow</TT
->, <TT
-CLASS="FILENAME"
->/etc/group</TT
->) with 
-the module <TT
-CLASS="FILENAME"
->pam_smbpass.so</TT
-> which uses the Samba 
-database which contains the Microsoft MD4 encrypted password 
-hashes. This database is stored in either 
-<TT
-CLASS="FILENAME"
->/usr/local/samba/private/smbpasswd</TT
->, 
-<TT
-CLASS="FILENAME"
->/etc/samba/smbpasswd</TT
->, or in 
-<TT
-CLASS="FILENAME"
->/etc/samba.d/smbpasswd</TT
->, depending on the 
-Samba implementation for your Unix/Linux system. The 
-<TT
-CLASS="FILENAME"
->pam_smbpass.so</TT
-> module is provided by 
-Samba version 2.2.1 or later. It can be compiled by specifying the 
-<B
-CLASS="COMMAND"
->--with-pam_smbpass</B
-> options when running Samba's
-<TT
-CLASS="FILENAME"
->configure</TT
-> script.  For more information
-on the <TT
-CLASS="FILENAME"
->pam_smbpass</TT
-> module, see the documentation
-in the <TT
-CLASS="FILENAME"
->source/pam_smbpass</TT
-> directory of the Samba 
-source distribution.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#%PAM-1.0
-# The PAM configuration file for the `login' service
-#
-auth           required        pam_smbpass.so nodelay
-account                required        pam_smbpass.so nodelay
-session                required        pam_smbpass.so nodelay
-password       required        pam_smbpass.so nodelay</PRE
-></P
-><P
->The following is the PAM configuration file for a particular 
-Linux system. The default condition uses <TT
-CLASS="FILENAME"
->pam_pwdb.so</TT
->.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#%PAM-1.0
-# The PAM configuration file for the `samba' service
-#
-auth       required     /lib/security/pam_pwdb.so nullok nodelay shadow audit
-account    required     /lib/security/pam_pwdb.so audit nodelay
-session    required     /lib/security/pam_pwdb.so nodelay
-password   required     /lib/security/pam_pwdb.so shadow md5</PRE
-></P
-><P
->In the following example the decision has been made to use the 
-smbpasswd database even for basic samba authentication. Such a 
-decision could also be made for the passwd program and would 
-thus allow the smbpasswd passwords to be changed using the passwd 
-program.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#%PAM-1.0
-# The PAM configuration file for the `samba' service
-#
-auth       required     /lib/security/pam_smbpass.so nodelay
-account    required     /lib/security/pam_pwdb.so audit nodelay
-session    required     /lib/security/pam_pwdb.so nodelay
-password   required     /lib/security/pam_smbpass.so nodelay smbconf=/etc/samba.d/smb.conf</PRE
-></P
-><P
->Note: PAM allows stacking of authentication mechanisms. It is 
-also possible to pass information obtained within one PAM module through 
-to the next module in the PAM stack. Please refer to the documentation for 
-your particular system implementation for details regarding the specific 
-capabilities of PAM in this environment. Some Linux implmentations also 
-provide the <TT
-CLASS="FILENAME"
->pam_stack.so</TT
-> module that allows all 
-authentication to be configured in a single central file. The 
-<TT
-CLASS="FILENAME"
->pam_stack.so</TT
-> method has some very devoted followers 
-on the basis that it allows for easier administration. As with all issues in 
-life though, every decision makes trade-offs, so you may want examine the 
-PAM documentation for further helpful information.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1820"
-></A
->12.2. Distributed Authentication</H2
-><P
->The astute administrator will realize from this that the 
-combination of <TT
-CLASS="FILENAME"
->pam_smbpass.so</TT
->, 
-<B
-CLASS="COMMAND"
->winbindd</B
->, and <B
-CLASS="COMMAND"
->rsync</B
-> (see
-<A
-HREF="http://rsync.samba.org/"
-TARGET="_top"
->http://rsync.samba.org/</A
->)
-will allow the establishment of a centrally managed, distributed 
-user/password database that can also be used by all 
-PAM (eg: Linux) aware programs and applications. This arrangement 
-can have particularly potent advantages compared with the 
-use of Microsoft Active Directory Service (ADS) in so far as 
-reduction of wide area network authentication traffic.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1827"
-></A
->12.3. PAM Configuration in smb.conf</H2
-><P
->There is an option in smb.conf called <A
-HREF="smb.conf.5.html#OBEYPAMRESTRICTIONS"
-TARGET="_top"
->obey pam restrictions</A
->. 
-The following is from the on-line help for this option in SWAT;</P
-><P
->When Samba 2.2 is configure to enable PAM support (i.e. 
-<TT
-CLASS="CONSTANT"
->--with-pam</TT
->), this parameter will 
-control whether or not Samba should obey PAM's account 
-and session management directives. The default behavior 
-is to use PAM for clear text authentication only and to 
-ignore any account or session management. Note that Samba always 
-ignores PAM for authentication in the case of 
-<A
-HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
-TARGET="_top"
->encrypt passwords = yes</A
->. 
-The reason is that PAM modules cannot support the challenge/response 
-authentication mechanism needed in the presence of SMB 
-password encryption. </P
-><P
->Default: <B
-CLASS="COMMAND"
->obey pam restrictions = no</B
-></P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="MSDFS"
-></A
->Chapter 13. Hosting a Microsoft Distributed File System tree on Samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1847"
-></A
->13.1. Instructions</H2
-><P
->The Distributed File System (or Dfs) provides a means of 
-       separating the logical view of files and directories that users 
-       see from the actual physical locations of these resources on the 
-       network. It allows for higher availability, smoother storage expansion, 
-       load balancing etc. For more information about Dfs, refer to  <A
-HREF="http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp"
-TARGET="_top"
->      Microsoft documentation</A
->. </P
-><P
->This document explains how to host a Dfs tree on a Unix 
-       machine (for Dfs-aware clients to browse) using Samba.</P
-><P
->To enable SMB-based DFS for Samba, configure it with the 
-       <TT
-CLASS="PARAMETER"
-><I
->--with-msdfs</I
-></TT
-> option. Once built, a 
-       Samba server can be made a Dfs server by setting the global 
-       boolean <A
-HREF="smb.conf.5.html#HOSTMSDFS"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->      host msdfs</I
-></TT
-></A
-> parameter in the <TT
-CLASS="FILENAME"
->smb.conf
-       </TT
-> file. You designate a share as a Dfs root using the share 
-       level boolean <A
-HREF="smb.conf.5.html#MSDFSROOT"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->      msdfs root</I
-></TT
-></A
-> parameter. A Dfs root directory on 
-       Samba hosts Dfs links in the form of symbolic links that point 
-       to other servers. For example, a symbolic link
-       <TT
-CLASS="FILENAME"
->junction-&gt;msdfs:storage1\share1</TT
-> in 
-       the share directory acts as the Dfs junction. When Dfs-aware 
-       clients attempt to access the junction link, they are redirected 
-       to the storage location (in this case, \\storage1\share1).</P
-><P
->Dfs trees on Samba work with all Dfs-aware clients ranging 
-       from Windows 95 to 2000.</P
-><P
->Here's an example of setting up a Dfs tree on a Samba 
-       server.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-># The smb.conf file:
-[global]
-       netbios name = SAMBA
-       host msdfs   = yes
-
-[dfs]
-       path = /export/dfsroot
-       msdfs root = yes
-       </PRE
-></P
-><P
->In the /export/dfsroot directory we set up our dfs links to 
-       other servers on the network.</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->cd /export/dfsroot</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->chown root /export/dfsroot</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->chmod 755 /export/dfsroot</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->ln -s msdfs:storageA\\shareA linka</B
-></TT
-></P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><TT
-CLASS="USERINPUT"
-><B
->ln -s msdfs:serverB\\share,serverC\\share linkb</B
-></TT
-></P
-><P
->You should set up the permissions and ownership of 
-       the directory acting as the Dfs root such that only designated 
-       users can create, delete or modify the msdfs links. Also note 
-       that symlink names should be all lowercase. This limitation exists 
-       to have Samba avoid trying all the case combinations to get at 
-       the link name. Finally set up the symbolic links to point to the 
-       network shares you want, and start Samba.</P
-><P
->Users on Dfs-aware clients can now browse the Dfs tree 
-       on the Samba server at \\samba\dfs. Accessing 
-       links linka or linkb (which appear as directories to the client) 
-       takes users directly to the appropriate shares on the network.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1882"
-></A
->13.1.1. Notes</H3
-><P
-></P
-><UL
-><LI
-><P
->Windows clients need to be rebooted 
-                       if a previously mounted non-dfs share is made a dfs 
-                       root or vice versa. A better way is to introduce a 
-                       new share and make it the dfs root.</P
-></LI
-><LI
-><P
->Currently there's a restriction that msdfs 
-                       symlink names should all be lowercase.</P
-></LI
-><LI
-><P
->For security purposes, the directory 
-                       acting as the root of the Dfs tree should have ownership 
-                       and permissions set so that only designated users can 
-                       modify the symbolic links in the directory.</P
-></LI
-></UL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PRINTING"
-></A
->Chapter 14. Printing Support</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1908"
-></A
->14.1. Introduction</H2
-><P
->Beginning with the 2.2.0 release, Samba supports 
-the native Windows NT printing mechanisms implemented via 
-MS-RPC (i.e. the SPOOLSS named pipe).  Previous versions of 
-Samba only supported LanMan printing calls.</P
-><P
->The additional functionality provided by the new 
-SPOOLSS support includes:</P
-><P
-></P
-><UL
-><LI
-><P
->Support for downloading printer driver 
-       files to Windows 95/98/NT/2000 clients upon demand.
-       </P
-></LI
-><LI
-><P
->Uploading of printer drivers via the 
-       Windows NT Add Printer Wizard (APW) or the 
-       Imprints tool set (refer to <A
-HREF="http://imprints.sourceforge.net"
-TARGET="_top"
->http://imprints.sourceforge.net</A
->). 
-       </P
-></LI
-><LI
-><P
->Support for the native MS-RPC printing 
-       calls such as StartDocPrinter, EnumJobs(), etc...  (See 
-       the MSDN documentation at <A
-HREF="http://msdn.microsoft.com/"
-TARGET="_top"
->http://msdn.microsoft.com/</A
-> 
-       for more information on the Win32 printing API)
-       </P
-></LI
-><LI
-><P
->Support for NT Access Control Lists (ACL) 
-       on printer objects</P
-></LI
-><LI
-><P
->Improved support for printer queue manipulation 
-       through the use of an internal databases for spooled job 
-       information</P
-></LI
-></UL
-><P
->There has been some initial confusion about what all this means
-and whether or not it is a requirement for printer drivers to be 
-installed on a Samba host in order to support printing from Windows 
-clients. As a side note, Samba does not use these drivers in any way to process 
-spooled files.  They are utilized entirely by the clients.</P
-><P
->The following MS KB article, may be of some help if you are dealing with
-Windows 2000 clients:  <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->How to Add Printers with No User 
-Interaction in Windows 2000</I
-></SPAN
-></P
-><P
-><A
-HREF="http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP"
-TARGET="_top"
->http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP</A
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1930"
-></A
->14.2. Configuration</H2
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->[print$] vs. [printer$]</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Previous versions of Samba recommended using a share named [printer$].  
-This name was taken from the printer$ service created by Windows 9x 
-clients when a printer was shared.  Windows 9x printer servers always have 
-a printer$ service which provides read-only access via no 
-password in order to support printer driver downloads.</P
-><P
->However, the initial implementation allowed for a 
-parameter named <TT
-CLASS="PARAMETER"
-><I
->printer driver location</I
-></TT
-> 
-to be used on a per share basis to specify the location of 
-the driver files associated with that printer.  Another 
-parameter named <TT
-CLASS="PARAMETER"
-><I
->printer driver</I
-></TT
-> provided 
-a means of defining the printer driver name to be sent to 
-the client.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1938"
-></A
->14.2.1. Creating [print$]</H3
-><P
->In order to support the uploading of printer driver 
-files, you must first configure a file share named [print$].  
-The name of this share is hard coded in Samba's internals so 
-the name is very important (print$ is the service used by 
-Windows NT print servers to provide support for printer driver 
-download).</P
-><P
->You should modify the server's smb.conf file to add the global
-parameters and to create the 
-following file share (of course, some of the parameter values,
-such as 'path' are arbitrary and should be replaced with
-appropriate values for your site):</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-    ; members of the ntadmin group should be able
-    ; to add drivers and set printer properties
-    ; root is implicitly a 'printer admin'
-    printer admin = @ntadmin
-
-[print$]
-    path = /usr/local/samba/printers
-    guest ok = yes
-    browseable = yes
-    read only = yes
-    ; since this share is configured as read only, then we need
-    ; a 'write list'.  Check the file system permissions to make
-    ; sure this account can copy files to the share.  If this
-    ; is setup to a non-root account, then it should also exist
-    ; as a 'printer admin'
-    write list = @ntadmin,root</PRE
-></P
-><P
->The <A
-HREF="smb.conf.5.html#WRITELIST"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->write list</I
-></TT
-></A
-> is used to allow administrative 
-level user accounts to have write access in order to update files 
-on the share.  See the <A
-HREF="smb.conf.5.html"
-TARGET="_top"
->smb.conf(5) 
-man page</A
-> for more information on configuring file shares.</P
-><P
->The requirement for <A
-HREF="smb.conf.5.html#GUESTOK"
-TARGET="_top"
-><B
-CLASS="COMMAND"
->guest 
-ok = yes</B
-></A
-> depends upon how your
-site is configured.  If users will be guaranteed to have 
-an account on the Samba host, then this is a non-issue.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->Author's Note</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The non-issue is that if all your Windows NT users are guaranteed to be 
-authenticated by the Samba server (such as a domain member server and the NT 
-user has already been validated by the Domain Controller in 
-order to logon to the Windows NT console), then guest access 
-is not necessary.  Of course, in a workgroup environment where 
-you just want to be able to print without worrying about 
-silly accounts and security, then configure the share for 
-guest access.  You'll probably want to add <A
-HREF="smb.conf.5.html#MAPTOGUEST"
-TARGET="_top"
-><B
-CLASS="COMMAND"
->map to guest = Bad User</B
-></A
-> in the [global] section as well.  Make sure 
-you understand what this parameter does before using it 
-though. --jerry</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->In order for a Windows NT print server to support 
-the downloading of driver files by multiple client architectures,
-it must create subdirectories within the [print$] service
-which correspond to each of the supported client architectures.
-Samba follows this model as well.</P
-><P
->Next create the directory tree below the [print$] share 
-for each architecture you wish to support.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[print$]-----
-        |-W32X86           ; "Windows NT x86"
-        |-WIN40            ; "Windows 95/98"
-        |-W32ALPHA         ; "Windows NT Alpha_AXP"
-        |-W32MIPS          ; "Windows NT R4000"
-        |-W32PPC           ; "Windows NT PowerPC"</PRE
-></P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/docbook-dsssl/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TH
-ALIGN="LEFT"
-VALIGN="CENTER"
-><B
->ATTENTION!  REQUIRED PERMISSIONS</B
-></TH
-></TR
-><TR
-><TD
->&nbsp;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->In order to currently add a new driver to you Samba host, 
-one of two conditions must hold true:</P
-><P
-></P
-><UL
-><LI
-><P
->The account used to connect to the Samba host 
-       must have a uid of 0 (i.e. a root account)</P
-></LI
-><LI
-><P
->The account used to connect to the Samba host
-       must be a member of the <A
-HREF="smb.conf.5.html#PRINTERADMIN"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->printer 
-       admin</I
-></TT
-></A
-> list.</P
-></LI
-></UL
-><P
->Of course, the connected account must still possess access
-to add files to the subdirectories beneath [print$]. Remember
-that all file shares are set to 'read only' by default.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Once you have created the required [print$] service and 
-associated subdirectories, simply log onto the Samba server using 
-a root (or <TT
-CLASS="PARAMETER"
-><I
->printer admin</I
-></TT
->) account
-from a Windows NT 4.0/2k client.  Open "Network Neighbourhood" or
-"My Network Places" and browse for the Samba host.  Once you have located
-the server, navigate to the "Printers..." folder.
-You should see an initial listing of printers
-that matches the printer shares defined on your Samba host.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1973"
-></A
->14.2.2. Setting Drivers for Existing Printers</H3
-><P
->The initial listing of printers in the Samba host's 
-Printers folder will have no real printer driver assigned 
-to them. This defaults to a NULL string to allow the use
-of the local Add Printer Wizard on NT/2000 clients.
-Attempting to view the printer properties for a printer
-which has this default driver assigned will result in 
-the error message:</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Device settings cannot be displayed.  The driver 
-for the specified printer is not installed, only spooler 
-properties will be displayed.  Do you want to install the 
-driver now?</I
-></SPAN
-></P
-><P
->Click "No" in the error dialog and you will be presented with
-the printer properties window.  The way to assign a driver to a 
-printer is to either</P
-><P
-></P
-><UL
-><LI
-><P
->Use the "New Driver..." button to install 
-       a new printer driver, or</P
-></LI
-><LI
-><P
->Select a driver from the popup list of 
-       installed drivers.  Initially this list will be empty.</P
-></LI
-></UL
-><P
->If you wish to install printer drivers for client 
-operating systems other than "Windows NT x86", you will need 
-to use the "Sharing" tab of the printer properties dialog.</P
-><P
->Assuming you have connected with a root account, you 
-will also be able modify other printer properties such as 
-ACLs and device settings using this dialog box.</P
-><P
->A few closing comments for this section, it is possible 
-on a Windows NT print server to have printers
-listed in the Printers folder which are not shared.  Samba does
-not make this distinction.  By definition, the only printers of
-which Samba is aware are those which are specified as shares in
-<TT
-CLASS="FILENAME"
->smb.conf</TT
->.</P
-><P
->Another interesting side note is that Windows NT clients do
-not use the SMB printer share, but rather can print directly 
-to any printer on another Windows NT host using MS-RPC.  This
-of course assumes that the printing client has the necessary
-privileges on the remote host serving the printer.  The default
-permissions assigned by Windows NT to a printer gives the "Print"
-permissions to the "Everyone" well-known group.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1989"
-></A
->14.2.3. Support a large number of printers</H3
-><P
->One issue that has arisen during the development
-phase of Samba 2.2 is the need to support driver downloads for
-100's of printers.  Using the Windows NT APW is somewhat 
-awkward to say the list.  If more than one printer are using the 
-same driver, the <A
-HREF="rpcclient.1.html"
-TARGET="_top"
-><B
-CLASS="COMMAND"
->rpcclient's
-setdriver command</B
-></A
-> can be used to set the driver
-associated with an installed driver.  The following is example
-of how this could be accomplished:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-> 
-<TT
-CLASS="PROMPT"
->$ </TT
->rpcclient pogo -U root%secret -c "enumdrivers"
-Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
-[Windows NT x86]
-Printer Driver Info 1:
-     Driver Name: [HP LaserJet 4000 Series PS]
-Printer Driver Info 1:
-     Driver Name: [HP LaserJet 2100 Series PS]
-Printer Driver Info 1:
-     Driver Name: [HP LaserJet 4Si/4SiMX PS]
-                                 
-<TT
-CLASS="PROMPT"
->$ </TT
->rpcclient pogo -U root%secret -c "enumprinters"
-Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
-     flags:[0x800000]
-     name:[\\POGO\hp-print]
-     description:[POGO\\POGO\hp-print,NO DRIVER AVAILABLE FOR THIS PRINTER,]
-     comment:[]
-                                 
-<TT
-CLASS="PROMPT"
->$ </TT
->rpcclient pogo -U root%secret \
-<TT
-CLASS="PROMPT"
->&gt; </TT
-> -c "setdriver hp-print \"HP LaserJet 4000 Series PS\""
-Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
-Successfully set hp-print to driver HP LaserJet 4000 Series PS.</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2000"
-></A
->14.2.4. Adding New Printers via the Windows NT APW</H3
-><P
->By default, Samba offers all printer shares defined in <TT
-CLASS="FILENAME"
->smb.conf</TT
->
-in the "Printers..." folder.  Also existing in this folder is the Windows NT 
-Add Printer Wizard icon.  The APW will be show only if</P
-><P
-></P
-><UL
-><LI
-><P
->The connected user is able to successfully
-       execute an OpenPrinterEx(\\server) with administrative
-       privileges (i.e. root or <TT
-CLASS="PARAMETER"
-><I
->printer admin</I
-></TT
->).
-       </P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#SHOWADDPRINTERWIZARD"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->show 
-       add printer wizard = yes</I
-></TT
-></A
-> (the default).
-       </P
-></LI
-></UL
-><P
->In order to be able to use the APW to successfully add a printer to a Samba 
-server, the <A
-HREF="smb.conf.5.html#ADDPRINTERCOMMAND"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->add 
-printer command</I
-></TT
-></A
-> must have a defined value.  The program
-hook must successfully add the printer to the system (i.e. 
-<TT
-CLASS="FILENAME"
->/etc/printcap</TT
-> or appropriate files) and 
-<TT
-CLASS="FILENAME"
->smb.conf</TT
-> if necessary.</P
-><P
->When using the APW from a client, if the named printer share does 
-not exist, <B
-CLASS="COMMAND"
->smbd</B
-> will execute the <TT
-CLASS="PARAMETER"
-><I
->add printer 
-command</I
-></TT
-> and reparse to the <TT
-CLASS="FILENAME"
->smb.conf</TT
->
-to attempt to locate the new printer share.  If the share is still not defined,
-an error of "Access Denied" is returned to the client.  Note that the 
-<TT
-CLASS="PARAMETER"
-><I
->add printer program</I
-></TT
-> is executed under the context
-of the connected user, not necessarily a root account.</P
-><P
->There is a complementary <A
-HREF="smb.conf.5.html#DELETEPRINTERCOMMAND"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->delete
-printer command</I
-></TT
-></A
-> for removing entries from the "Printers..."
-folder.</P
-><P
->The following is an example <A
-HREF="smb.conf.5.html#ADDPRINTERCOMMAN"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->add printer command</I
-></TT
-></A
-> script. It adds the appropriate entries to <TT
-CLASS="FILENAME"
->/etc/printcap.local</TT
-> (change that to what you need) and returns a line of 'Done' which is needed for the whole process to work.</P
-><PRE
-CLASS="PROGRAMLISTING"
->#!/bin/sh
-
-# Script to insert a new printer entry into printcap.local
-#
-# $1, printer name, used as the descriptive name
-# $2, share name, used as the printer name for Linux
-# $3, port name
-# $4, driver name
-# $5, location, used for the device file of the printer
-# $6, win9x location
-
-#
-# Make sure we use the location that RedHat uses for local printer defs
-PRINTCAP=/etc/printcap.local
-DATE=`date +%Y%m%d-%H%M%S`
-LP=lp
-RESTART="service lpd restart"
-
-# Keep a copy
-cp $PRINTCAP $PRINTCAP.$DATE
-# Add the printer to $PRINTCAP
-echo ""                                                        &#62;&#62; $PRINTCAP
-echo "$2|$1:\\"                                        &#62;&#62; $PRINTCAP
-echo "  :sd=/var/spool/lpd/$2:\\"                      &#62;&#62; $PRINTCAP
-echo "  :mx=0:ml=0:sh:\\"                              &#62;&#62; $PRINTCAP
-echo "  :lp=/usr/local/samba/var/print/$5.prn:"        &#62;&#62; $PRINTCAP
-
-touch "/usr/local/samba/var/print/$5.prn" &#62;&#62; /tmp/printadd.$$ 2&#62;&#38;1
-chown $LP "/usr/local/samba/var/print/$5.prn" &#62;&#62; /tmp/printadd.$$ 2&#62;&#38;1
-
-mkdir /var/spool/lpd/$2
-chmod 700 /var/spool/lpd/$2
-chown $LP /var/spool/lpd/$2
-#echo $1 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-#echo $2 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-#echo $3 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-#echo $4 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-#echo $5 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-#echo $6 &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-$RESTART &#62;&#62; "/usr/local/samba/var/print/$5.prn"
-# Not sure if this is needed
-touch /usr/local/samba/lib/smb.conf
-#
-# You need to return a value, but I am not sure what it means.
-#
-echo "Done"
-exit 0</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2030"
-></A
->14.2.5. Samba and Printer Ports</H3
-><P
->Windows NT/2000 print servers associate a port with each printer.  These normally
-take the form of LPT1:, COM1:, FILE:, etc...  Samba must also support the
-concept of ports associated with a printer.  By default, only one printer port,
-named "Samba Printer Port", exists on a system.  Samba does not really a port in
-order to print, rather it is a requirement of Windows clients.  </P
-><P
->Note that Samba does not support the concept of "Printer Pooling" internally 
-either.  This is when a logical printer is assigned to multiple ports as 
-a form of load balancing or fail over.</P
-><P
->If you require that multiple ports be defined for some reason,
-<TT
-CLASS="FILENAME"
->smb.conf</TT
-> possesses a <A
-HREF="smb.conf.5.html#ENUMPORTSCOMMAND"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->enumports 
-command</I
-></TT
-></A
-> which can be used to define an external program 
-that generates a listing of ports on a system.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2038"
-></A
->14.3. The Imprints Toolset</H2
-><P
->The Imprints tool set provides a UNIX equivalent of the 
-       Windows NT Add Printer Wizard.  For complete information, please 
-       refer to the Imprints web site at <A
-HREF="http://imprints.sourceforge.net/"
-TARGET="_top"
->      http://imprints.sourceforge.net/</A
-> as well as the documentation 
-       included with the imprints source distribution.  This section will 
-       only provide a brief introduction to the features of Imprints.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2042"
-></A
->14.3.1. What is Imprints?</H3
-><P
->Imprints is a collection of tools for supporting the goals 
-               of</P
-><P
-></P
-><UL
-><LI
-><P
->Providing a central repository information 
-                       regarding Windows NT and 95/98 printer driver packages</P
-></LI
-><LI
-><P
->Providing the tools necessary for creating 
-                       the Imprints printer driver packages.</P
-></LI
-><LI
-><P
->Providing an installation client which 
-                       will obtain and install printer drivers on remote Samba 
-                       and Windows NT 4 print servers.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2052"
-></A
->14.3.2. Creating Printer Driver Packages</H3
-><P
->The process of creating printer driver packages is beyond
-               the scope of this document (refer to Imprints.txt also included
-               with the Samba distribution for more information).  In short,
-               an Imprints driver package is a gzipped tarball containing the
-               driver files, related INF files, and a control file needed by the
-               installation client.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2055"
-></A
->14.3.3. The Imprints server</H3
-><P
->The Imprints server is really a database server that 
-               may be queried via standard HTTP mechanisms.  Each printer 
-               entry in the database has an associated URL for the actual
-               downloading of the package.  Each package is digitally signed
-               via GnuPG which can be used to verify that package downloaded
-               is actually the one referred in the Imprints database.  It is 
-               <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> recommended that this security check 
-               be disabled.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2059"
-></A
->14.3.4. The Installation Client</H3
-><P
->More information regarding the Imprints installation client 
-               is available in the <TT
-CLASS="FILENAME"
->Imprints-Client-HOWTO.ps</TT
-> 
-               file included with the imprints source package.</P
-><P
->The Imprints installation client comes in two forms.</P
-><P
-></P
-><UL
-><LI
-><P
->a set of command line Perl scripts</P
-></LI
-><LI
-><P
->a GTK+ based graphical interface to 
-                       the command line perl scripts</P
-></LI
-></UL
-><P
->The installation client (in both forms) provides a means
-               of querying the Imprints database server for a matching
-               list of known printer model names as well as a means to 
-               download and install the drivers on remote Samba and Windows
-               NT print servers.</P
-><P
->The basic installation process is in four steps and 
-               perl code is wrapped around <B
-CLASS="COMMAND"
->smbclient</B
-> 
-               and <B
-CLASS="COMMAND"
->rpcclient</B
->.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      
-foreach (supported architecture for a given driver)
-{
-     1.  rpcclient: Get the appropriate upload directory 
-         on the remote server
-     2.  smbclient: Upload the driver files
-     3.  rpcclient: Issues an AddPrinterDriver() MS-RPC
-}
-       
-4.  rpcclient: Issue an AddPrinterEx() MS-RPC to actually
-    create the printer</PRE
-></P
-><P
->One of the problems encountered when implementing 
-               the Imprints tool set was the name space issues between 
-               various supported client architectures.  For example, Windows 
-               NT includes a driver named "Apple LaserWriter II NTX v51.8" 
-               and Windows 95 calls its version of this driver "Apple 
-               LaserWriter II NTX"</P
-><P
->The problem is how to know what client drivers have 
-               been uploaded for a printer.  As astute reader will remember 
-               that the Windows NT Printer Properties dialog only includes 
-               space for one printer driver name.  A quick look in the 
-               Windows NT 4.0 system registry at</P
-><P
-><TT
-CLASS="FILENAME"
->HKLM\System\CurrentControlSet\Control\Print\Environment
-               </TT
-></P
-><P
->will reveal that Windows NT always uses the NT driver 
-               name.  This is ok as Windows NT always requires that at least 
-               the Windows NT version of the printer driver is present.  
-               However, Samba does not have the requirement internally.  
-               Therefore, how can you use the NT driver name if is has not 
-               already been installed?</P
-><P
->The way of sidestepping this limitation is to require 
-               that all Imprints printer driver packages include both the Intel 
-               Windows NT and 95/98 printer drivers and that NT driver is 
-               installed first.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2081"
-></A
->14.4. Diagnosis</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN2083"
-></A
->14.4.1. Introduction</H3
-><P
->This is a short description of how to debug printing problems with
-Samba. This describes how to debug problems with printing from a SMB
-client to a Samba server, not the other way around. For the reverse
-see the examples/printing directory.</P
-><P
->Ok, so you want to print to a Samba server from your PC. The first
-thing you need to understand is that Samba does not actually do any
-printing itself, it just acts as a middleman between your PC client
-and your Unix printing subsystem. Samba receives the file from the PC
-then passes the file to a external "print command". What print command
-you use is up to you.</P
-><P
->The whole things is controlled using options in smb.conf. The most
-relevant options (which you should look up in the smb.conf man page)
-are:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      [global]
-        print command     - send a file to a spooler
-        lpq command       - get spool queue status
-        lprm command      - remove a job
-      [printers]
-        path = /var/spool/lpd/samba</PRE
-></P
-><P
->The following are nice to know about:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        queuepause command   - stop a printer or print queue
-        queueresume command  - start a printer or print queue</PRE
-></P
-><P
->Example:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        print command = /usr/bin/lpr -r -P%p %s
-        lpq command   = /usr/bin/lpq    -P%p %s
-        lprm command  = /usr/bin/lprm   -P%p %j
-        queuepause command = /usr/sbin/lpc -P%p stop
-        queuepause command = /usr/sbin/lpc -P%p start</PRE
-></P
-><P
->Samba should set reasonable defaults for these depending on your
-system type, but it isn't clairvoyant. It is not uncommon that you
-have to tweak these for local conditions.  The commands should
-always have fully specified pathnames,  as the smdb may not have
-the correct PATH values.</P
-><P
->When you send a job to Samba to be printed,  it will make a temporary
-copy of it in the directory specified in the [printers] section.
-and it should be periodically cleaned out.  The lpr -r option
-requests that the temporary copy be removed after printing; If
-printing fails then you might find leftover files in this directory,
-and it should be periodically cleaned out.  Samba used the lpq
-command to determine the "job number" assigned to your print job
-by the spooler.</P
-><P
->The %&gt;letter&lt; are "macros" that get dynamically replaced with appropriate
-values when they are used. The %s gets replaced with the name of the spool
-file that Samba creates and the %p gets replaced with the name of the
-printer. The %j gets replaced with the "job number" which comes from
-the lpq output.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2099"
-></A
->14.4.2. Debugging printer problems</H3
-><P
->One way to debug printing problems is to start by replacing these
-command with shell scripts that record the arguments and the contents
-of the print file. A simple example of this kind of things might
-be:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      print command = /tmp/saveprint %p %s
-
-    #!/bin/saveprint
-    # we make sure that we are the right user
-    /usr/bin/id -p &#62;/tmp/tmp.print
-    # we run the command and save the error messages
-    # replace the command with the one appropriate for your system
-    /usr/bin/lpr -r -P$1 $2 2&#62;&#62;&#38;/tmp/tmp.print</PRE
-></P
-><P
->Then you print a file and try removing it.  You may find that the
-print queue needs to be stopped in order to see the queue status
-and remove the job:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;h4: {42} % echo hi &#62;/tmp/hi
-h4: {43} % smbclient //localhost/lw4
-added interface ip=10.0.0.4 bcast=10.0.0.255 nmask=255.255.255.0
-Password: 
-Domain=[ASTART] OS=[Unix] Server=[Samba 2.0.7]
-smb: \&#62; print /tmp/hi
-putting file /tmp/hi as hi-17534 (0.0 kb/s) (average 0.0 kb/s)
-smb: \&#62; queue
-1049     3            hi-17534
-smb: \&#62; cancel 1049
-Error cancelling job 1049 : code 0
-smb: \&#62; cancel 1049
-Job 1049 cancelled
-smb: \&#62; queue
-smb: \&#62; exit</PRE
-></P
-><P
->The 'code 0' indicates that the job was removed.  The comment
-by the  smbclient is a bit misleading on this.
-You can observe the command output and then and look at the
-/tmp/tmp.print file to see what the results are.  You can quickly
-find out if the problem is with your printing system.  Often people
-have problems with their /etc/printcap file or permissions on
-various print queues.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2108"
-></A
->14.4.3. What printers do I have?</H3
-><P
->You can use the 'testprns' program to check to see if the printer
-name you are using is recognized by Samba.  For example,  you can
-use:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->    testprns printer /etc/printcap</PRE
-></P
-><P
->Samba can get its printcap information from a file or from a program.
-You can try the following to see the format of the extracted
-information:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->    testprns -a printer /etc/printcap
-
-    testprns -a printer '|/bin/cat printcap'</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2116"
-></A
->14.4.4. Setting up printcap and print servers</H3
-><P
->You may need to set up some printcaps for your Samba system to use.
-It is strongly recommended that you use the facilities provided by
-the print spooler to set up queues and printcap information.</P
-><P
->Samba requires either a printcap or program to deliver printcap
-information.  This printcap information has the format:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  name|alias1|alias2...:option=value:...</PRE
-></P
-><P
->For almost all printing systems, the printer 'name' must be composed
-only of alphanumeric or underscore '_' characters.  Some systems also
-allow hyphens ('-') as well.  An alias is an alternative name for the
-printer,  and an alias with a space in it is used as a 'comment'
-about the printer.  The printcap format optionally uses a \ at the end of lines
-to extend the printcap to multiple lines.</P
-><P
->Here are some examples of printcap files:</P
-><P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->pr              just printer name</P
-></LI
-><LI
-><P
->pr|alias        printer name and alias</P
-></LI
-><LI
-><P
->pr|My Printer   printer name, alias used as comment</P
-></LI
-><LI
-><P
->pr:sh:\        Same as pr:sh:cm= testing
-  :cm= \ 
-  testing</P
-></LI
-><LI
-><P
->pr:sh           Same as pr:sh:cm= testing
-  :cm= testing</P
-></LI
-></OL
-></P
-><P
->Samba reads the printcap information when first started.  If you make
-changes in the printcap information, then you must do the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->make sure that the print spooler is aware of these changes.
-The LPRng system uses the 'lpc reread' command to do this.</P
-></LI
-><LI
-><P
->make sure that the spool queues, etc., exist and have the
-correct permissions.  The LPRng system uses the 'checkpc -f'
-command to do this.</P
-></LI
-><LI
-><P
->You now should send a SIGHUP signal to the smbd server to have
-it reread the printcap information.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2144"
-></A
->14.4.5. Job sent, no output</H3
-><P
->This is the most frustrating part of printing.  You may have sent the
-job,  verified that the job was forwarded,  set up a wrapper around
-the command to send the file,  but there was no output from the printer.</P
-><P
->First,  check to make sure that the job REALLY is getting to the
-right print queue.  If you are using a BSD or LPRng print spooler,
-you can temporarily stop the printing of jobs.  Jobs can still be
-submitted, but they will not be printed.  Use:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  lpc -Pprinter stop</PRE
-></P
-><P
->Now submit a print job and then use 'lpq -Pprinter' to see if the
-job is in the print queue.  If it is not in the print queue then
-you will have to find out why it is not being accepted for printing.</P
-><P
->Next, you may want to check to see what the format of the job really
-was.  With the assistance of the system administrator you can view
-the submitted jobs files.  You may be surprised to find that these
-are not in what you would expect to call a printable format.
-You can use the UNIX 'file' utitily to determine what the job
-format actually is:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->    cd /var/spool/lpd/printer   # spool directory of print jobs
-    ls                          # find job files
-    file dfA001myhost</PRE
-></P
-><P
->You should make sure that your printer supports this format OR that
-your system administrator has installed a 'print filter' that will
-convert the file to a format appropriate for your printer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2155"
-></A
->14.4.6. Job sent, strange output</H3
-><P
->Once you have the job printing, you can then start worrying about
-making it print nicely.</P
-><P
->The most common problem is extra pages of output: banner pages
-OR blank pages at the end.</P
-><P
->If you are getting banner pages,  check and make sure that the
-printcap option or printer option is configured for no banners.
-If you have a printcap,  this is the :sh (suppress header or banner
-page) option.  You should have the following in your printer.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->   printer: ... :sh</PRE
-></P
-><P
->If you have this option and are still getting banner pages,  there
-is a strong chance that your printer is generating them for you
-automatically.  You should make sure that banner printing is disabled
-for the printer.  This usually requires using the printer setup software
-or procedures supplied by the printer manufacturer.</P
-><P
->If you get an extra page of output,  this could be due to problems
-with your job format,  or if you are generating PostScript jobs,
-incorrect setting on your printer driver on the MicroSoft client.
-For example, under Win95 there is a option:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  Printers|Printer Name|(Right Click)Properties|Postscript|Advanced|</PRE
-></P
-><P
->that allows you to choose if a Ctrl-D is appended to all jobs.
-This is a very bad thing to do, as most spooling systems will
-automatically add a ^D to the end of the job if it is detected as
-PostScript.  The multiple ^D may cause an additional page of output.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2167"
-></A
->14.4.7. Raw PostScript printed</H3
-><P
->This is a problem that is usually caused by either the print spooling
-system putting information at the start of the print job that makes
-the printer think the job is a text file, or your printer simply
-does not support PostScript.  You may need to enable 'Automatic
-Format Detection' on your printer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2170"
-></A
->14.4.8. Advanced Printing</H3
-><P
->Note that you can do some pretty magic things by using your
-imagination with the "print command" option and some shell scripts.
-Doing print accounting is easy by passing the %U option to a print
-command shell script. You could even make the print command detect
-the type of output and its size and send it to an appropriate
-printer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2173"
-></A
->14.4.9. Real debugging</H3
-><P
->If the above debug tips don't help, then maybe you need to bring in
-the bug guns, system tracing. See Tracing.txt in this directory.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SECURITYLEVELS"
-></A
->Chapter 15. Security levels</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2186"
-></A
->15.1. Introduction</H2
-><P
->Samba supports the following options to the global smb.conf parameter</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-<A
-HREF="smb.conf.5.html#SECURITY"
-TARGET="_top"
-><TT
-CLASS="PARAMETER"
-><I
->security</I
-></TT
-></A
-> = [share|user(default)|server|domain|ads]</PRE
-></P
-><P
->Please refer to the smb.conf man page for usage information and to the document
-<A
-HREF="DOMAIN_MEMBER.html"
-TARGET="_top"
->DOMAIN_MEMBER.html</A
-> for further background details
-on domain mode security.  The Windows 2000 Kerberos domain security model
-(security = ads) is described in the <A
-HREF="ADS-HOWTO.html"
-TARGET="_top"
->ADS-HOWTO.html</A
->.</P
-><P
->Of the above, "security = server" means that Samba reports to clients that
-it is running in "user mode" but actually passes off all authentication
-requests to another "user mode" server. This requires an additional
-parameter "password server =" that points to the real authentication server.
-That real authentication server can be another Samba server or can be a
-Windows NT server, the later natively capable of encrypted password support.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2197"
-></A
->15.2. More complete description of security levels</H2
-><P
->A SMB server tells the client at startup what "security level" it is
-running. There are two options "share level" and "user level". Which
-of these two the client receives affects the way the client then tries
-to authenticate itself. It does not directly affect (to any great
-extent) the way the Samba server does security. I know this is
-strange, but it fits in with the client/server approach of SMB. In SMB
-everything is initiated and controlled by the client, and the server
-can only tell the client what is available and whether an action is
-allowed. </P
-><P
->I'll describe user level security first, as its simpler. In user level
-security the client will send a "session setup" command directly after
-the protocol negotiation. This contains a username and password. The
-server can either accept or reject that username/password
-combination. Note that at this stage the server has no idea what
-share the client will eventually try to connect to, so it can't base
-the "accept/reject" on anything other than:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->the username/password</P
-></LI
-><LI
-><P
->the machine that the client is coming from</P
-></LI
-></OL
-><P
->If the server accepts the username/password then the client expects to
-be able to mount any share (using a "tree connection") without
-specifying a password. It expects that all access rights will be as
-the username/password specified in the "session setup". </P
-><P
->It is also possible for a client to send multiple "session setup"
-requests. When the server responds it gives the client a "uid" to use
-as an authentication tag for that username/password. The client can
-maintain multiple authentication contexts in this way (WinDD is an
-example of an application that does this)</P
-><P
->Ok, now for share level security. In share level security the client
-authenticates itself separately for each share. It will send a
-password along with each "tree connection" (share mount). It does not
-explicitly send a username with this operation. The client is
-expecting a password to be associated with each share, independent of
-the user. This means that samba has to work out what username the
-client probably wants to use. It is never explicitly sent the
-username. Some commercial SMB servers such as NT actually associate
-passwords directly with shares in share level security, but samba
-always uses the unix authentication scheme where it is a
-username/password that is authenticated, not a "share/password".</P
-><P
->Many clients send a "session setup" even if the server is in share
-level security. They normally send a valid username but no
-password. Samba records this username in a list of "possible
-usernames". When the client then does a "tree connection" it also adds
-to this list the name of the share they try to connect to (useful for
-home directories) and any users listed in the "user =" smb.conf
-line. The password is then checked in turn against these "possible
-usernames". If a match is found then the client is authenticated as
-that user.</P
-><P
->Finally "server level" security. In server level security the samba
-server reports to the client that it is in user level security. The
-client then does a "session setup" as described earlier. The samba
-server takes the username/password that the client sends and attempts
-to login to the "password server" by sending exactly the same
-username/password that it got from the client. If that server is in
-user level security and accepts the password then samba accepts the
-clients connection. This allows the samba server to use another SMB
-server as the "password server". </P
-><P
->You should also note that at the very start of all this, where the
-server tells the client what security level it is in, it also tells
-the client if it supports encryption. If it does then it supplies the
-client with a random "cryptkey". The client will then send all
-passwords in encrypted form. You have to compile samba with encryption
-enabled to support this feature, and you have to maintain a separate
-smbpasswd file with SMB style encrypted passwords. It is
-cryptographically impossible to translate from unix style encryption
-to SMB style encryption, although there are some fairly simple management
-schemes by which the two could be kept in sync.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="WINBIND"
-></A
->Chapter 16. Unified Logons between Windows NT and UNIX using Winbind</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2249"
-></A
->16.1. Abstract</H2
-><P
->Integration of UNIX and Microsoft Windows NT through 
-       a unified logon has been considered a "holy grail" in heterogeneous 
-       computing environments for a long time. We present 
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->winbind</I
-></SPAN
->, a component of the Samba suite 
-       of programs as a solution to the unified logon problem. Winbind 
-       uses a UNIX implementation 
-       of Microsoft RPC calls, Pluggable Authentication Modules, and the Name 
-       Service Switch to allow Windows NT domain users to appear and operate 
-       as UNIX users on a UNIX machine. This paper describes the winbind 
-       system, explaining the functionality it provides, how it is configured, 
-       and how it works internally.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2253"
-></A
->16.2. Introduction</H2
-><P
->It is well known that UNIX and Microsoft Windows NT have 
-       different models for representing user and group information and 
-       use different technologies for implementing them. This fact has 
-       made it difficult to integrate the two systems in a satisfactory 
-       manner.</P
-><P
->One common solution in use today has been to create 
-       identically named user accounts on both the UNIX and Windows systems 
-       and use the Samba suite of programs to provide file and print services 
-       between the two. This solution is far from perfect however, as 
-       adding and deleting users on both sets of machines becomes a chore 
-       and two sets of passwords are required both of which
-       can lead to synchronization problems between the UNIX and Windows 
-       systems and confusion for users.</P
-><P
->We divide the unified logon problem for UNIX machines into 
-       three smaller problems:</P
-><P
-></P
-><UL
-><LI
-><P
->Obtaining Windows NT user and group information
-               </P
-></LI
-><LI
-><P
->Authenticating Windows NT users
-               </P
-></LI
-><LI
-><P
->Password changing for Windows NT users
-               </P
-></LI
-></UL
-><P
->Ideally, a prospective solution to the unified logon problem 
-       would satisfy all the above components without duplication of 
-       information on the UNIX machines and without creating additional 
-       tasks for the system administrator when maintaining users and 
-       groups on either system. The winbind system provides a simple 
-       and elegant solution to all three components of the unified logon 
-       problem.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2266"
-></A
->16.3. What Winbind Provides</H2
-><P
->Winbind unifies UNIX and Windows NT account management by 
-       allowing a UNIX box to become a full member of a NT domain. Once 
-       this is done the UNIX box will see NT users and groups as if 
-       they were native UNIX users and groups, allowing the NT domain 
-       to be used in much the same manner that NIS+ is used within 
-       UNIX-only environments.</P
-><P
->The end result is that whenever any 
-       program on the UNIX machine asks the operating system to lookup 
-       a user or group name, the query will be resolved by asking the 
-       NT domain controller for the specified domain to do the lookup.
-       Because Winbind hooks into the operating system at a low level 
-       (via the NSS name resolution modules in the C library) this 
-       redirection to the NT domain controller is completely 
-       transparent.</P
-><P
->Users on the UNIX machine can then use NT user and group 
-       names as they would use "native" UNIX names. They can chown files 
-       so that they are owned by NT domain users or even login to the 
-       UNIX machine and run a UNIX X-Window session as a domain user.</P
-><P
->The only obvious indication that Winbind is being used is 
-       that user and group names take the form DOMAIN\user and 
-       DOMAIN\group. This is necessary as it allows Winbind to determine 
-       that redirection to a domain controller is wanted for a particular 
-       lookup and which trusted domain is being referenced.</P
-><P
->Additionally, Winbind provides an authentication service 
-       that hooks into the Pluggable Authentication Modules (PAM) system 
-       to provide authentication via a NT domain to any PAM enabled 
-       applications. This capability solves the problem of synchronizing 
-       passwords between systems since all passwords are stored in a single 
-       location (on the domain controller).</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2273"
-></A
->16.3.1. Target Uses</H3
-><P
->Winbind is targeted at organizations that have an 
-               existing NT based domain infrastructure into which they wish 
-               to put UNIX workstations or servers. Winbind will allow these 
-               organizations to deploy UNIX workstations without having to 
-               maintain a separate account infrastructure. This greatly 
-               simplifies the administrative overhead of deploying UNIX 
-               workstations into a NT based organization.</P
-><P
->Another interesting way in which we expect Winbind to 
-               be used is as a central part of UNIX based appliances. Appliances 
-               that provide file and print services to Microsoft based networks 
-               will be able to use Winbind to provide seamless integration of 
-               the appliance into the domain.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2277"
-></A
->16.4. How Winbind Works</H2
-><P
->The winbind system is designed around a client/server 
-       architecture. A long running <B
-CLASS="COMMAND"
->winbindd</B
-> daemon 
-       listens on a UNIX domain socket waiting for requests
-       to arrive. These requests are generated by the NSS and PAM 
-       clients and processed sequentially.</P
-><P
->The technologies used to implement winbind are described 
-       in detail below.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2282"
-></A
->16.4.1. Microsoft Remote Procedure Calls</H3
-><P
->Over the last two years, efforts have been underway 
-               by various Samba Team members to decode various aspects of 
-               the Microsoft Remote Procedure Call (MSRPC) system. This 
-               system is used for most network related operations between 
-               Windows NT machines including remote management, user authentication
-               and print spooling. Although initially this work was done 
-               to aid the implementation of Primary Domain Controller (PDC) 
-               functionality in Samba, it has also yielded a body of code which 
-               can be used for other purposes.</P
-><P
->Winbind uses various MSRPC calls to enumerate domain users 
-               and groups and to obtain detailed information about individual 
-               users or groups. Other MSRPC calls can be used to authenticate 
-               NT domain users and to change user passwords. By directly querying 
-               a Windows PDC for user and group information, winbind maps the 
-               NT account information onto UNIX user and group names.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2286"
-></A
->16.4.2. Name Service Switch</H3
-><P
->The Name Service Switch, or NSS, is a feature that is 
-               present in many UNIX operating systems. It allows system 
-               information such as hostnames, mail aliases and user information 
-               to be resolved from different sources. For example, a standalone 
-               UNIX workstation may resolve system information from a series of 
-               flat files stored on the local filesystem. A networked workstation 
-               may first attempt to resolve system information from local files, 
-               and then consult a NIS database for user information or a DNS server 
-               for hostname information.</P
-><P
->The NSS application programming interface allows winbind 
-               to present itself as a source of system information when 
-               resolving UNIX usernames and groups.  Winbind uses this interface, 
-               and information obtained from a Windows NT server using MSRPC 
-               calls to provide a new source of account enumeration.  Using standard 
-               UNIX library calls, one can enumerate the users and groups on
-               a UNIX machine running winbind and see all users and groups in 
-               a NT domain plus any trusted domain as though they were local 
-               users and groups.</P
-><P
->The primary control file for NSS is 
-               <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
->. 
-               When a UNIX application makes a request to do a lookup 
-               the C library looks in <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> 
-               for a line which matches the service type being requested, for 
-               example the "passwd" service type is used when user or group names 
-               are looked up. This     config line species which implementations 
-               of that service should be tried and in what order. If the passwd 
-               config line is:</P
-><P
-><B
-CLASS="COMMAND"
->passwd: files example</B
-></P
-><P
->then the C library will first load a module called 
-               <TT
-CLASS="FILENAME"
->/lib/libnss_files.so</TT
-> followed by
-               the module <TT
-CLASS="FILENAME"
->/lib/libnss_example.so</TT
->. The 
-               C library will dynamically load each of these modules in turn 
-               and call resolver functions within the modules to try to resolve 
-               the request. Once the request is resolved the C library returns the
-               result to the application.</P
-><P
->This NSS interface provides a very easy way for Winbind 
-               to hook into the operating system. All that needs to be done 
-               is to put <TT
-CLASS="FILENAME"
->libnss_winbind.so</TT
-> in <TT
-CLASS="FILENAME"
->/lib/</TT
-> 
-               then add "winbind" into <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> at 
-               the appropriate place. The C library will then call Winbind to 
-               resolve user and group names.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2302"
-></A
->16.4.3. Pluggable Authentication Modules</H3
-><P
->Pluggable Authentication Modules, also known as PAM, 
-               is a system for abstracting authentication and authorization 
-               technologies. With a PAM module it is possible to specify different 
-               authentication methods for different system applications without 
-               having to recompile these applications. PAM is also useful
-               for implementing a particular policy for authorization. For example, 
-               a system administrator may only allow console logins from users 
-               stored in the local password file but only allow users resolved from 
-               a NIS database to log in over the network.</P
-><P
->Winbind uses the authentication management and password 
-               management PAM interface to integrate Windows NT users into a 
-               UNIX system. This allows Windows NT users to log in to a UNIX 
-               machine and be authenticated against a suitable Primary Domain 
-               Controller. These users can also change their passwords and have 
-               this change take effect directly on the Primary Domain Controller.
-               </P
-><P
->PAM is configured by providing control files in the directory 
-               <TT
-CLASS="FILENAME"
->/etc/pam.d/</TT
-> for each of the services that 
-               require authentication. When an authentication request is made 
-               by an application the PAM code in the C library looks up this
-               control file to determine what modules to load to do the 
-               authentication check and in what order. This interface makes adding 
-               a new authentication service for Winbind very easy, all that needs 
-               to be done is that the <TT
-CLASS="FILENAME"
->pam_winbind.so</TT
-> module 
-               is copied to <TT
-CLASS="FILENAME"
->/lib/security/</TT
-> and the PAM 
-               control files for relevant services are updated to allow 
-               authentication via winbind. See the PAM documentation
-               for more details.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2310"
-></A
->16.4.4. User and Group ID Allocation</H3
-><P
->When a user or group is created under Windows NT 
-               is it allocated a numerical relative identifier (RID). This is 
-               slightly different to UNIX which has a range of numbers that are 
-               used to identify users, and the same range in which to identify 
-               groups. It is winbind's job to convert RIDs to UNIX id numbers and
-               vice versa.  When winbind is configured it is given part of the UNIX 
-               user id space and a part of the UNIX group id space in which to 
-               store Windows NT users and groups. If a Windows NT user is 
-               resolved for the first time, it is allocated the next UNIX id from 
-               the range. The same process applies for Windows NT groups. Over 
-               time, winbind will have mapped all Windows NT users and groups
-               to UNIX user ids and group ids.</P
-><P
->The results of this mapping are stored persistently in 
-               an ID mapping database held in a tdb database). This ensures that 
-               RIDs are mapped to UNIX IDs in a consistent way.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2314"
-></A
->16.4.5. Result Caching</H3
-><P
->An active system can generate a lot of user and group 
-               name lookups. To reduce the network cost of these lookups winbind 
-               uses a caching scheme based on the SAM sequence number supplied 
-               by NT domain controllers.  User or group information returned 
-               by a PDC is cached by winbind along with a sequence number also 
-               returned by the PDC. This sequence number is incremented by 
-               Windows NT whenever any user or group information is modified. If 
-               a cached entry has expired, the sequence number is requested from 
-               the PDC and compared against the sequence number of the cached entry. 
-               If the sequence numbers do not match, then the cached information 
-               is discarded and up to date information is requested directly 
-               from the PDC.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2317"
-></A
->16.5. Installation and Configuration</H2
-><P
->Many thanks to John Trostel <A
-HREF="mailto:jtrostel@snapserver.com"
-TARGET="_top"
->jtrostel@snapserver.com</A
->
-for providing the HOWTO for this section.</P
-><P
->This HOWTO describes how to get winbind services up and running 
-to control access and authenticate users on your Linux box using 
-the winbind services which come with SAMBA 2.2.2.</P
-><P
->There is also some Solaris specific information in 
-<TT
-CLASS="FILENAME"
->docs/textdocs/Solaris-Winbind-HOWTO.txt</TT
->.
-Future revisions of this document will incorporate that
-information.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2324"
-></A
->16.5.1. Introduction</H3
-><P
->This HOWTO describes the procedures used to get winbind up and 
-running on my RedHat 7.1 system.  Winbind is capable of providing access 
-and authentication control for Windows Domain users through an NT 
-or Win2K PDC for 'regular' services, such as telnet a nd ftp, as
-well for SAMBA services.</P
-><P
->This HOWTO has been written from a 'RedHat-centric' perspective, so if 
-you are using another distribution, you may have to modify the instructions 
-somewhat to fit the way your distribution works.</P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Why should I to this?</I
-></SPAN
->
-       </P
-><P
->This allows the SAMBA administrator to rely on the 
-       authentication mechanisms on the NT/Win2K PDC for the authentication 
-       of domain members.  NT/Win2K users no longer need to have separate 
-       accounts on the SAMBA server.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Who should be reading this document?</I
-></SPAN
->
-       </P
-><P
->      This HOWTO is designed for system administrators.  If you are 
-       implementing SAMBA on a file server and wish to (fairly easily) 
-       integrate existing NT/Win2K users from your PDC onto the
-       SAMBA server, this HOWTO is for you.  That said, I am no NT or PAM 
-       expert, so you may find a better or easier way to accomplish 
-       these tasks.
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2337"
-></A
->16.5.2. Requirements</H3
-><P
->If you have a samba configuration file that you are currently 
-using... <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->BACK IT UP!</I
-></SPAN
->  If your system already uses PAM, 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->back up the <TT
-CLASS="FILENAME"
->/etc/pam.d</TT
-> directory 
-contents!</I
-></SPAN
-> If you haven't already made a boot disk, 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MAKE ONE NOW!</I
-></SPAN
-></P
-><P
->Messing with the pam configuration files can make it nearly impossible 
-to log in to yourmachine. That's why you want to be able to boot back 
-into your machine in single user mode and restore your 
-<TT
-CLASS="FILENAME"
->/etc/pam.d</TT
-> back to the original state they were in if 
-you get frustrated with the way things are going.  ;-)</P
-><P
->The latest version of SAMBA (version 3.0 as of this writing), now 
-includes a functioning winbindd daemon.  Please refer to the 
-<A
-HREF="http://samba.org/"
-TARGET="_top"
->main SAMBA web page</A
-> or, 
-better yet, your closest SAMBA mirror site for instructions on 
-downloading the source code.</P
-><P
->To allow Domain users the ability to access SAMBA shares and 
-files, as well as potentially other services provided by your 
-SAMBA machine, PAM (pluggable authentication modules) must
-be setup properly on your machine.  In order to compile the 
-winbind modules, you should have at least the pam libraries resident 
-on your system.  For recent RedHat systems (7.1, for instance), that 
-means <TT
-CLASS="FILENAME"
->pam-0.74-22</TT
->.  For best results, it is helpful to also
-install the development packages in <TT
-CLASS="FILENAME"
->pam-devel-0.74-22</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2351"
-></A
->16.5.3. Testing Things Out</H3
-><P
->Before starting, it is probably best to kill off all the SAMBA 
-related daemons running on your server.  Kill off all <B
-CLASS="COMMAND"
->smbd</B
->, 
-<B
-CLASS="COMMAND"
->nmbd</B
->, and <B
-CLASS="COMMAND"
->winbindd</B
-> processes that may 
-be running.  To use PAM, you will want to make sure that you have the 
-standard PAM package (for RedHat) which supplies the <TT
-CLASS="FILENAME"
->/etc/pam.d</TT
-> 
-directory structure, including the pam modules are used by pam-aware 
-services, several pam libraries, and the <TT
-CLASS="FILENAME"
->/usr/doc</TT
-> 
-and <TT
-CLASS="FILENAME"
->/usr/man</TT
-> entries for pam.  Winbind built better 
-in SAMBA if the pam-devel package was also installed.  This package includes 
-the header files needed to compile pam-aware applications. For instance, 
-my RedHat system has both <TT
-CLASS="FILENAME"
->pam-0.74-22</TT
-> and
-<TT
-CLASS="FILENAME"
->pam-devel-0.74-22</TT
-> RPMs installed.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2362"
-></A
->16.5.3.1. Configure and compile SAMBA</H4
-><P
->The configuration and compilation of SAMBA is pretty straightforward.
-The first three steps may not be necessary depending upon
-whether or not you have previously built the Samba binaries.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->autoconf</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->make clean</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->rm config.cache</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->./configure --with-winbind</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->make</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->make install</B
-></PRE
-></P
-><P
->This will, by default, install SAMBA in <TT
-CLASS="FILENAME"
->/usr/local/samba</TT
->.
-See the main SAMBA documentation if you want to install SAMBA somewhere else.
-It will also build the winbindd executable and libraries. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2381"
-></A
->16.5.3.2. Configure <TT
-CLASS="FILENAME"
->nsswitch.conf</TT
-> and the 
-winbind libraries</H4
-><P
->The libraries needed to run the <B
-CLASS="COMMAND"
->winbindd</B
-> daemon 
-through nsswitch need to be copied to their proper locations, so</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->cp ../samba/source/nsswitch/libnss_winbind.so /lib</B
-></P
-><P
->I also found it necessary to make the following symbolic link:</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2</B
-></P
-><P
->And, in the case of Sun solaris:</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->ln -s /usr/lib/libnss_winbind.so /usr/lib/libnss_winbind.so.1</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1</B
->
-<TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.2</B
-></P
-><P
->Now, as root you need to edit <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> to 
-allow user and group entries to be visible from the <B
-CLASS="COMMAND"
->winbindd</B
-> 
-daemon.  My <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-> file look like 
-this after editing:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      passwd:     files winbind
-       shadow:     files 
-       group:      files winbind</PRE
-></P
-><P
->      
-The libraries needed by the winbind daemon will be automatically 
-entered into the <B
-CLASS="COMMAND"
->ldconfig</B
-> cache the next time 
-your system reboots, but it 
-is faster (and you don't need to reboot) if you do it manually:</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->/sbin/ldconfig -v | grep winbind</B
-></P
-><P
->This makes <TT
-CLASS="FILENAME"
->libnss_winbind</TT
-> available to winbindd 
-and echos back a check to you.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2414"
-></A
->16.5.3.3. Configure smb.conf</H4
-><P
->Several parameters are needed in the smb.conf file to control 
-the behavior of <B
-CLASS="COMMAND"
->winbindd</B
->. Configure 
-<TT
-CLASS="FILENAME"
->smb.conf</TT
-> These are described in more detail in 
-the <A
-HREF="winbindd.8.html"
-TARGET="_top"
->winbindd(8)</A
-> man page.  My 
-<TT
-CLASS="FILENAME"
->smb.conf</TT
-> file was modified to
-include the following entries in the [global] section:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-     &#60;...&#62;
-     # separate domain and username with '+', like DOMAIN+username
-     <A
-HREF="winbindd.8.html#WINBINDSEPARATOR"
-TARGET="_top"
->winbind separator</A
-> = +
-     # use uids from 10000 to 20000 for domain users
-     <A
-HREF="winbindd.8.html#WINBINDUID"
-TARGET="_top"
->winbind uid</A
-> = 10000-20000
-     # use gids from 10000 to 20000 for domain groups
-     <A
-HREF="winbindd.8.html#WINBINDGID"
-TARGET="_top"
->winbind gid</A
-> = 10000-20000
-     # allow enumeration of winbind users and groups
-     <A
-HREF="winbindd.8.html#WINBINDENUMUSERS"
-TARGET="_top"
->winbind enum users</A
-> = yes
-     <A
-HREF="winbindd.8.html#WINBINDENUMGROUP"
-TARGET="_top"
->winbind enum groups</A
-> = yes
-     # give winbind users a real shell (only needed if they have telnet access)
-     <A
-HREF="winbindd.8.html#TEMPLATEHOMEDIR"
-TARGET="_top"
->template homedir</A
-> = /home/winnt/%D/%U
-     <A
-HREF="winbindd.8.html#TEMPLATESHELL"
-TARGET="_top"
->template shell</A
-> = /bin/bash</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2430"
-></A
->16.5.3.4. Join the SAMBA server to the PDC domain</H4
-><P
->Enter the following command to make the SAMBA server join the 
-PDC domain, where <TT
-CLASS="REPLACEABLE"
-><I
->DOMAIN</I
-></TT
-> is the name of 
-your Windows domain and <TT
-CLASS="REPLACEABLE"
-><I
->Administrator</I
-></TT
-> is 
-a domain user who has administrative privileges in the domain.</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/net rpc join -S PDC -U Administrator</B
-></P
-><P
->The proper response to the command should be: "Joined the domain 
-<TT
-CLASS="REPLACEABLE"
-><I
->DOMAIN</I
-></TT
->" where <TT
-CLASS="REPLACEABLE"
-><I
->DOMAIN</I
-></TT
-> 
-is your DOMAIN name.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2441"
-></A
->16.5.3.5. Start up the winbindd daemon and test it!</H4
-><P
->Eventually, you will want to modify your smb startup script to 
-automatically invoke the winbindd daemon when the other parts of 
-SAMBA start, but it is possible to test out just the winbind
-portion first.  To start up winbind services, enter the following 
-command as root:</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/winbindd</B
-></P
-><P
->I'm always paranoid and like to make sure the daemon 
-is really running...</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->ps -ae | grep winbindd</B
-></P
-><P
->This command should produce output like this, if the daemon is running</P
-><P
->3025 ?        00:00:00 winbindd</P
-><P
->Now... for the real test, try to get some information about the 
-users on your PDC</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/wbinfo -u</B
-></P
-><P
->      
-This should echo back a list of users on your Windows users on 
-your PDC.  For example, I get the following response:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->CEO+Administrator
-CEO+burdell
-CEO+Guest
-CEO+jt-ad
-CEO+krbtgt
-CEO+TsInternetUser</PRE
-></P
-><P
->Obviously, I have named my domain 'CEO' and my <TT
-CLASS="PARAMETER"
-><I
->winbind
-separator</I
-></TT
-> is '+'.</P
-><P
->You can do the same sort of thing to get group information from 
-the PDC:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/wbinfo -g</B
->
-CEO+Domain Admins
-CEO+Domain Users
-CEO+Domain Guests
-CEO+Domain Computers
-CEO+Domain Controllers
-CEO+Cert Publishers
-CEO+Schema Admins
-CEO+Enterprise Admins
-CEO+Group Policy Creator Owners</PRE
-></P
-><P
->The function 'getent' can now be used to get unified 
-lists of both local and PDC users and groups.
-Try the following command:</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->getent passwd</B
-></P
-><P
->You should get a list that looks like your <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> 
-list followed by the domain users with their new uids, gids, home 
-directories and default shells.</P
-><P
->The same thing can be done for groups with the command</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->getent group</B
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2477"
-></A
->16.5.3.6. Fix the init.d startup scripts</H4
-><DIV
-CLASS="SECT4"
-><H5
-CLASS="SECT4"
-><A
-NAME="AEN2479"
-></A
->16.5.3.6.1. Linux</H5
-><P
->The <B
-CLASS="COMMAND"
->winbindd</B
-> daemon needs to start up after the 
-<B
-CLASS="COMMAND"
->smbd</B
-> and <B
-CLASS="COMMAND"
->nmbd</B
-> daemons are running.  
-To accomplish this task, you need to modify the startup scripts of your system. They are located at <TT
-CLASS="FILENAME"
->/etc/init.d/smb</TT
-> in RedHat and 
-<TT
-CLASS="FILENAME"
->/etc/init.d/samba</TT
-> in Debian.
-script to add commands to invoke this daemon in the proper sequence.  My 
-startup script starts up <B
-CLASS="COMMAND"
->smbd</B
->, 
-<B
-CLASS="COMMAND"
->nmbd</B
->, and <B
-CLASS="COMMAND"
->winbindd</B
-> from the 
-<TT
-CLASS="FILENAME"
->/usr/local/samba/bin</TT
-> directory directly.  The 'start' 
-function in the script looks like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->start() {
-        KIND="SMB"
-        echo -n $"Starting $KIND services: "
-        daemon /usr/local/samba/bin/smbd $SMBDOPTIONS
-        RETVAL=$?
-        echo
-        KIND="NMB"
-        echo -n $"Starting $KIND services: "
-        daemon /usr/local/samba/bin/nmbd $NMBDOPTIONS
-        RETVAL2=$?
-        echo
-        KIND="Winbind"
-        echo -n $"Starting $KIND services: "
-        daemon /usr/local/samba/bin/winbindd
-        RETVAL3=$?
-        echo
-        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] &#38;&#38; touch /var/lock/subsys/smb || \
-           RETVAL=1
-        return $RETVAL
-}</PRE
-></P
-><P
->The 'stop' function has a corresponding entry to shut down the 
-services and look s like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->stop() {
-        KIND="SMB"
-        echo -n $"Shutting down $KIND services: "
-        killproc smbd
-        RETVAL=$?
-        echo
-        KIND="NMB"
-        echo -n $"Shutting down $KIND services: "
-        killproc nmbd
-        RETVAL2=$?
-        echo
-        KIND="Winbind"
-        echo -n $"Shutting down $KIND services: "
-        killproc winbindd
-        RETVAL3=$?
-        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] &#38;&#38; rm -f /var/lock/subsys/smb
-        echo ""
-        return $RETVAL
-}</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2496"
-></A
->16.5.3.6.2. Solaris</H5
-><P
->On solaris, you need to modify the 
-<TT
-CLASS="FILENAME"
->/etc/init.d/samba.server</TT
-> startup script. It usually 
-only starts smbd and nmbd but should now start winbindd too. If you 
-have samba installed in <TT
-CLASS="FILENAME"
->/usr/local/samba/bin</TT
->, 
-the file could contains something like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->##
-## samba.server
-##
-
-if [ ! -d /usr/bin ]
-then                    # /usr not mounted
-        exit
-fi
-
-killproc() {            # kill the named process(es)
-        pid=`/usr/bin/ps -e |
-             /usr/bin/grep -w $1 |
-             /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
-        [ "$pid" != "" ] &#38;&#38; kill $pid
-}
-# Start/stop processes required for samba server
-
-case "$1" in
-
-'start')
-#
-# Edit these lines to suit your installation (paths, workgroup, host)
-#
-echo Starting SMBD
-   /usr/local/samba/bin/smbd -D -s \
-       /usr/local/samba/smb.conf
-
-echo Starting NMBD
-   /usr/local/samba/bin/nmbd -D -l \
-       /usr/local/samba/var/log -s /usr/local/samba/smb.conf
-
-echo Starting Winbind Daemon
-   /usr/local/samba/bin/winbindd
-   ;;
-
-'stop')
-   killproc nmbd
-   killproc smbd
-   killproc winbindd
-   ;;
-
-*)
-   echo "Usage: /etc/init.d/samba.server { start | stop }"
-   ;;
-esac</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2503"
-></A
->16.5.3.6.3. Restarting</H5
-><P
->If you restart the <B
-CLASS="COMMAND"
->smbd</B
->, <B
-CLASS="COMMAND"
->nmbd</B
->, 
-and <B
-CLASS="COMMAND"
->winbindd</B
-> daemons at this point, you
-should be able to connect to the samba server as a domain member just as
-if you were a local user.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2509"
-></A
->16.5.3.7. Configure Winbind and PAM</H4
-><P
->If you have made it this far, you know that winbindd and samba are working
-together.  If you want to use winbind to provide authentication for other 
-services, keep reading.  The pam configuration files need to be altered in
-this step.  (Did you remember to make backups of your original 
-<TT
-CLASS="FILENAME"
->/etc/pam.d</TT
-> files? If not, do it now.)</P
-><P
->You will need a pam module to use winbindd with these other services.  This 
-module will be compiled in the <TT
-CLASS="FILENAME"
->../source/nsswitch</TT
-> directory
-by invoking the command</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->make nsswitch/pam_winbind.so</B
-></P
-><P
->from the <TT
-CLASS="FILENAME"
->../source</TT
-> directory.  The
-<TT
-CLASS="FILENAME"
->pam_winbind.so</TT
-> file should be copied to the location of
-your other pam security modules.  On my RedHat system, this was the
-<TT
-CLASS="FILENAME"
->/lib/security</TT
-> directory. On Solaris, the pam security 
-modules reside in <TT
-CLASS="FILENAME"
->/usr/lib/security</TT
->.</P
-><P
-><TT
-CLASS="PROMPT"
->root#</TT
-> <B
-CLASS="COMMAND"
->cp ../samba/source/nsswitch/pam_winbind.so /lib/security</B
-></P
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2526"
-></A
->16.5.3.7.1. Linux/FreeBSD-specific PAM configuration</H5
-><P
->The <TT
-CLASS="FILENAME"
->/etc/pam.d/samba</TT
-> file does not need to be changed. I 
-just left this fileas it was:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->auth    required        /lib/security/pam_stack.so service=system-auth
-account required        /lib/security/pam_stack.so service=system-auth</PRE
-></P
-><P
->The other services that I modified to allow the use of winbind 
-as an authentication service were the normal login on the console (or a terminal 
-session), telnet logins, and ftp service.  In order to enable these 
-services, you may first need to change the entries in 
-<TT
-CLASS="FILENAME"
->/etc/xinetd.d</TT
-> (or <TT
-CLASS="FILENAME"
->/etc/inetd.conf</TT
->).  
-RedHat 7.1 uses the new xinetd.d structure, in this case you need 
-to change the lines in <TT
-CLASS="FILENAME"
->/etc/xinetd.d/telnet</TT
-> 
-and <TT
-CLASS="FILENAME"
->/etc/xinetd.d/wu-ftp</TT
-> from </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->enable = no</PRE
-></P
-><P
->to</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->enable = yes</PRE
-></P
-><P
->      
-For ftp services to work properly, you will also need to either 
-have individual directories for the domain users already present on 
-the server, or change the home directory template to a general
-directory for all domain users.  These can be easily set using 
-the <TT
-CLASS="FILENAME"
->smb.conf</TT
-> global entry 
-<B
-CLASS="COMMAND"
->template homedir</B
->.</P
-><P
->The <TT
-CLASS="FILENAME"
->/etc/pam.d/ftp</TT
-> file can be changed 
-to allow winbind ftp access in a manner similar to the
-samba file.  My <TT
-CLASS="FILENAME"
->/etc/pam.d/ftp</TT
-> file was 
-changed to look like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->auth       required     /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
-auth       sufficient   /lib/security/pam_winbind.so
-auth       required     /lib/security/pam_stack.so service=system-auth
-auth       required     /lib/security/pam_shells.so
-account    sufficient   /lib/security/pam_winbind.so
-account    required     /lib/security/pam_stack.so service=system-auth
-session    required     /lib/security/pam_stack.so service=system-auth</PRE
-></P
-><P
->The <TT
-CLASS="FILENAME"
->/etc/pam.d/login</TT
-> file can be changed nearly the 
-same way.  It now looks like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->auth       required     /lib/security/pam_securetty.so
-auth       sufficient   /lib/security/pam_winbind.so
-auth       sufficient   /lib/security/pam_unix.so use_first_pass
-auth       required     /lib/security/pam_stack.so service=system-auth
-auth       required     /lib/security/pam_nologin.so
-account    sufficient   /lib/security/pam_winbind.so
-account    required     /lib/security/pam_stack.so service=system-auth
-password   required     /lib/security/pam_stack.so service=system-auth
-session    required     /lib/security/pam_stack.so service=system-auth
-session    optional     /lib/security/pam_console.so</PRE
-></P
-><P
->In this case, I added the <B
-CLASS="COMMAND"
->auth sufficient /lib/security/pam_winbind.so</B
-> 
-lines as before, but also added the <B
-CLASS="COMMAND"
->required pam_securetty.so</B
-> 
-above it, to disallow root logins over the network.  I also added a 
-<B
-CLASS="COMMAND"
->sufficient /lib/security/pam_unix.so use_first_pass</B
->
-line after the <B
-CLASS="COMMAND"
->winbind.so</B
-> line to get rid of annoying 
-double prompts for passwords.</P
-></DIV
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2559"
-></A
->16.5.3.7.2. Solaris-specific configuration</H5
-><P
->The /etc/pam.conf needs to be changed. I changed this file so that my Domain
-users can logon both locally as well as telnet.The following are the changes
-that I made.You can customize the pam.conf file as per your requirements,but
-be sure of those changes because in the worst case it will leave your system
-nearly impossible to boot.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#
-#ident "@(#)pam.conf   1.14    99/09/16 SMI"
-#
-# Copyright (c) 1996-1999, Sun Microsystems, Inc.
-# All Rights Reserved.
-#
-# PAM configuration
-#
-# Authentication management
-#
-login   auth required   /usr/lib/security/pam_winbind.so
-login  auth required   /usr/lib/security/$ISA/pam_unix.so.1 try_first_pass 
-login  auth required   /usr/lib/security/$ISA/pam_dial_auth.so.1 try_first_pass 
-#
-rlogin  auth sufficient /usr/lib/security/pam_winbind.so
-rlogin  auth sufficient /usr/lib/security/$ISA/pam_rhosts_auth.so.1
-rlogin auth required   /usr/lib/security/$ISA/pam_unix.so.1 try_first_pass
-#
-dtlogin auth sufficient /usr/lib/security/pam_winbind.so
-dtlogin        auth required   /usr/lib/security/$ISA/pam_unix.so.1 try_first_pass
-#
-rsh    auth required   /usr/lib/security/$ISA/pam_rhosts_auth.so.1
-other   auth sufficient /usr/lib/security/pam_winbind.so
-other  auth required   /usr/lib/security/$ISA/pam_unix.so.1 try_first_pass
-#
-# Account management
-#
-login   account sufficient      /usr/lib/security/pam_winbind.so
-login  account requisite       /usr/lib/security/$ISA/pam_roles.so.1 
-login  account required        /usr/lib/security/$ISA/pam_unix.so.1 
-#
-dtlogin account sufficient      /usr/lib/security/pam_winbind.so
-dtlogin        account requisite       /usr/lib/security/$ISA/pam_roles.so.1 
-dtlogin        account required        /usr/lib/security/$ISA/pam_unix.so.1 
-#
-other   account sufficient      /usr/lib/security/pam_winbind.so
-other  account requisite       /usr/lib/security/$ISA/pam_roles.so.1 
-other  account required        /usr/lib/security/$ISA/pam_unix.so.1 
-#
-# Session management
-#
-other  session required        /usr/lib/security/$ISA/pam_unix.so.1 
-#
-# Password management
-#
-#other   password sufficient     /usr/lib/security/pam_winbind.so
-other  password required       /usr/lib/security/$ISA/pam_unix.so.1 
-dtsession auth required        /usr/lib/security/$ISA/pam_unix.so.1
-#
-# Support for Kerberos V5 authentication (uncomment to use Kerberos)
-#
-#rlogin        auth optional   /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
-#login auth optional   /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
-#dtlogin       auth optional   /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
-#other auth optional   /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
-#dtlogin       account optional /usr/lib/security/$ISA/pam_krb5.so.1
-#other account optional /usr/lib/security/$ISA/pam_krb5.so.1
-#other session optional /usr/lib/security/$ISA/pam_krb5.so.1
-#other password optional /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass</PRE
-></P
-><P
->I also added a try_first_pass line after the winbind.so line to get rid of
-annoying double prompts for passwords.</P
-><P
->Now restart your Samba &#38; try connecting through your application that you
-configured in the pam.conf.</P
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2566"
-></A
->16.6. Limitations</H2
-><P
->Winbind has a number of limitations in its current 
-       released version that we hope to overcome in future 
-       releases:</P
-><P
-></P
-><UL
-><LI
-><P
->Winbind is currently only available for 
-               the Linux operating system, although ports to other operating 
-               systems are certainly possible. For such ports to be feasible, 
-               we require the C library of the target operating system to 
-               support the Name Service Switch and Pluggable Authentication
-               Modules systems. This is becoming more common as NSS and 
-               PAM gain        support among UNIX vendors.</P
-></LI
-><LI
-><P
->The mappings of Windows NT RIDs to UNIX ids 
-               is not made algorithmically and depends on the order in which 
-               unmapped users or groups are seen by winbind. It may be difficult 
-               to recover the mappings of rid to UNIX id mapping if the file 
-               containing this information is corrupted or destroyed.</P
-></LI
-><LI
-><P
->Currently the winbind PAM module does not take 
-               into account possible workstation and logon time restrictions 
-               that may be been set for Windows NT users.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2576"
-></A
->16.7. Conclusion</H2
-><P
->The winbind system, through the use of the Name Service 
-       Switch, Pluggable Authentication Modules, and appropriate 
-       Microsoft RPC calls have allowed us to provide seamless 
-       integration of Microsoft Windows NT domain users on a
-       UNIX system. The result is a great reduction in the administrative 
-       cost of running a mixed UNIX and NT network.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PDB-MYSQL"
-></A
->Chapter 17. Passdb MySQL plugin</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2590"
-></A
->17.1. Building</H2
-><P
->To build the plugin, run <B
-CLASS="COMMAND"
->make bin/pdb_mysql.so</B
->
-in the <TT
-CLASS="FILENAME"
->source/</TT
-> directory of samba distribution. </P
-><P
->Next, copy pdb_mysql.so to any location you want. I 
-strongly recommend installing it in $PREFIX/lib or /usr/lib/samba/</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2596"
-></A
->17.2. Configuring</H2
-><P
->This plugin lacks some good documentation, but here is some short info:</P
-><P
->Add a the following to the <B
-CLASS="COMMAND"
->passdb backend</B
-> variable in your <TT
-CLASS="FILENAME"
->smb.conf</TT
->:
-<PRE
-CLASS="PROGRAMLISTING"
->passdb backend = [other-plugins] plugin:/location/to/pdb_mysql.so:identifier [other-plugins]</PRE
-></P
-><P
->The identifier can be any string you like, as long as it doesn't collide with 
-the identifiers of other plugins or other instances of pdb_mysql. If you 
-specify multiple pdb_mysql.so entries in 'passdb backend', you also need to 
-use different identifiers!</P
-><P
->Additional options can be given thru the smb.conf file in the [global] section.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->identifier:mysql host                     - host name, defaults to 'localhost'
-identifier:mysql password
-identifier:mysql user                     - defaults to 'samba'
-identifier:mysql database                 - defaults to 'samba'
-identifier:mysql port                     - defaults to 3306
-identifier:table                          - Name of the table containing users</PRE
-></P
-><P
->Names of the columns in this table(I've added column types those columns should have first):</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->identifier:logon time column             - int(9)
-identifier:logoff time column            - int(9)
-identifier:kickoff time column           - int(9)
-identifier:pass last set time column     - int(9)
-identifier:pass can change time column   - int(9)
-identifier:pass must change time column  - int(9)
-identifier:username column               - varchar(255) - unix username
-identifier:domain column                 - varchar(255) - NT domain user is part of
-identifier:nt username column            - varchar(255) - NT username
-identifier:fullname column            - varchar(255) - Full name of user
-identifier:home dir column               - varchar(255) - Unix homedir path
-identifier:dir drive column              - varchar(2) - Directory drive path (eg: 'H:')
-identifier:logon script column           - varchar(255) - Batch file to run on client side when logging on
-identifier:profile path column           - varchar(255) - Path of profile
-identifier:acct desc column              - varchar(255) - Some ASCII NT user data
-identifier:workstations column           - varchar(255) - Workstations user can logon to (or NULL for all)
-identifier:unknown string column         - varchar(255) - unknown string
-identifier:munged dial column            - varchar(255) - ?
-identifier:uid column                    - int(9) - Unix user ID (uid)
-identifier:gid column                    - int(9) - Unix user group (gid)
-identifier:user sid column               - varchar(255) - NT user SID
-identifier:group sid column              - varchar(255) - NT group ID
-identifier:lanman pass column            - varchar(255) - encrypted lanman password
-identifier:nt pass column                - varchar(255) - encrypted nt passwd
-identifier:plaintext pass column         - varchar(255) - plaintext password
-identifier:acct control column           - int(9) - nt user data
-identifier:unknown 3 column              - int(9) - unknown
-identifier:logon divs column             - int(9) - ?
-identifier:hours len column              - int(9) - ?
-identifier:unknown 5 column              - int(9) - unknown
-identifier:unknown 6 column              - int(9) - unknown</PRE
-></P
-><P
->Eventually, you can put a colon (:) after the name of each column, which 
-should specify the column to update when updating the table. You can also
-specify nothing behind the colon - then the data from the field will not be 
-updated. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2611"
-></A
->17.3. Using plaintext passwords or encrypted password</H2
-><P
->I strongly discourage the use of plaintext passwords, however, you can use them:</P
-><P
->If you would like to use plaintext passwords, set 'identifier:lanman pass column' and 'identifier:nt pass column' to 'NULL' (without the quotes) and 'identifier:plaintext pass column' to the name of the column containing the plaintext passwords. </P
-><P
->If you use encrypted passwords, set the 'identifier:plaintext pass column' to 'NULL' (without the quotes). This is the default.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2616"
-></A
->17.4. Getting non-column data from the table</H2
-><P
->It is possible to have not all data in the database and making some 'constant'.</P
-><P
->For example, you can set 'identifier:fullname column' to : 
-<B
-CLASS="COMMAND"
->CONCAT(First_name,' ',Sur_name)</B
-></P
-><P
->Or, set 'identifier:workstations column' to :
-<B
-CLASS="COMMAND"
->NULL</B
-></P
-><P
->See the MySQL documentation for more language constructs.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PDB-XML"
-></A
->Chapter 18. Passdb XML plugin</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2635"
-></A
->18.1. Building</H2
-><P
->This module requires libxml2 to be installed.</P
-><P
->To build pdb_xml, run: <B
-CLASS="COMMAND"
->make bin/pdb_xml.so</B
-> in 
-the directory <TT
-CLASS="FILENAME"
->source/</TT
->. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2641"
-></A
->18.2. Usage</H2
-><P
->The usage of pdb_xml is pretty straightforward. To export data, use:
-
-<B
-CLASS="COMMAND"
->pdbedit -e plugin:/usr/lib/samba/pdb_xml.so:filename</B
->
-
-(where filename is the name of the file to put the data in)</P
-><P
->To import data, use:
-<B
-CLASS="COMMAND"
->pdbedit -i plugin:/usr/lib/samba/pdb_xml.so:filename -e current-pdb</B
->
-
-Where filename is the name to read the data from and current-pdb to put it in.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SAMBA-LDAP-HOWTO"
-></A
->Chapter 19. Storing Samba's User/Machine Account information in an LDAP Directory</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2664"
-></A
->19.1. Purpose</H2
-><P
->This document describes how to use an LDAP directory for storing Samba user
-account information traditionally stored in the smbpasswd(5) file.  It is
-assumed that the reader already has a basic understanding of LDAP concepts
-and has a working directory server already installed.  For more information
-on LDAP architectures and Directories, please refer to the following sites.</P
-><P
-></P
-><UL
-><LI
-><P
->OpenLDAP - <A
-HREF="http://www.openldap.org/"
-TARGET="_top"
->http://www.openldap.org/</A
-></P
-></LI
-><LI
-><P
->iPlanet Directory Server - <A
-HREF="http://iplanet.netscape.com/directory"
-TARGET="_top"
->http://iplanet.netscape.com/directory</A
-></P
-></LI
-></UL
-><P
->Note that <A
-HREF="http://www.ora.com/"
-TARGET="_top"
->O'Reilly Publishing</A
-> is working on
-a guide to LDAP for System Administrators which has a planned release date of
-early summer, 2002.</P
-><P
->Two additional Samba resources which may prove to be helpful are</P
-><P
-></P
-><UL
-><LI
-><P
->The <A
-HREF="http://www.unav.es/cti/ldap-smb/ldap-smb-2_2-howto.html"
-TARGET="_top"
->Samba-PDC-LDAP-HOWTO</A
->
-       maintained by Ignacio Coupeau.</P
-></LI
-><LI
-><P
->The NT migration scripts from <A
-HREF="http://samba.idealx.org/"
-TARGET="_top"
->IDEALX</A
-> that are
-       geared to manage users and group in such a Samba-LDAP Domain Controller configuration.
-       </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2684"
-></A
->19.2. Introduction</H2
-><P
->Traditionally, when configuring <A
-HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
-TARGET="_top"
->"encrypt
-passwords = yes"</A
-> in Samba's <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file, user account
-information such as username, LM/NT password hashes, password change times, and account
-flags have been stored in the <TT
-CLASS="FILENAME"
->smbpasswd(5)</TT
-> file.  There are several
-disadvantages to this approach for sites with very large numbers of users (counted
-in the thousands).</P
-><P
-></P
-><UL
-><LI
-><P
->The first is that all lookups must be performed sequentially.  Given that
-there are approximately two lookups per domain logon (one for a normal
-session connection such as when mapping a network drive or printer), this
-is a performance bottleneck for lareg sites.  What is needed is an indexed approach
-such as is used in databases.</P
-></LI
-><LI
-><P
->The second problem is that administrators who desired to replicate a
-smbpasswd file to more than one Samba server were left to use external
-tools such as <B
-CLASS="COMMAND"
->rsync(1)</B
-> and <B
-CLASS="COMMAND"
->ssh(1)</B
->
-and wrote custom, in-house scripts.</P
-></LI
-><LI
-><P
->And finally, the amount of information which is stored in an
-smbpasswd entry leaves no room for additional attributes such as
-a home directory, password expiration time, or even a Relative
-Identified (RID).</P
-></LI
-></UL
-><P
->As a result of these defeciencies, a more robust means of storing user attributes
-used by smbd was developed.  The API which defines access to user accounts
-is commonly referred to as the samdb interface (previously this was called the passdb
-API, and is still so named in the CVS trees). In Samba 2.2.3, enabling support
-for a samdb backend (e.g. <TT
-CLASS="PARAMETER"
-><I
->--with-ldapsam</I
-></TT
-> or
-<TT
-CLASS="PARAMETER"
-><I
->--with-tdbsam</I
-></TT
->) requires compile time support.</P
-><P
->When compiling Samba to include the <TT
-CLASS="PARAMETER"
-><I
->--with-ldapsam</I
-></TT
-> autoconf
-option, smbd (and associated tools) will store and lookup user accounts in
-an LDAP directory.  In reality, this is very easy to understand.  If you are
-comfortable with using an smbpasswd file, simply replace "smbpasswd" with
-"LDAP directory" in all the documentation.</P
-><P
->There are a few points to stress about what the <TT
-CLASS="PARAMETER"
-><I
->--with-ldapsam</I
-></TT
->
-does not provide.  The LDAP support referred to in the this documentation does not
-include:</P
-><P
-></P
-><UL
-><LI
-><P
->A means of retrieving user account information from
-       an Windows 2000 Active Directory server.</P
-></LI
-><LI
-><P
->A means of replacing /etc/passwd.</P
-></LI
-></UL
-><P
->The second item can be accomplished by using LDAP NSS and PAM modules.  LGPL
-versions of these libraries can be obtained from PADL Software
-(<A
-HREF="http://www.padl.com/"
-TARGET="_top"
->http://www.padl.com/</A
->).  However,
-the details of configuring these packages are beyond the scope of this document.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2713"
-></A
->19.3. Supported LDAP Servers</H2
-><P
->The LDAP samdb code in 2.2.3 has been developed and tested using the OpenLDAP
-2.0 server and client libraries.  The same code should be able to work with
-Netscape's Directory Server and client SDK. However, due to lack of testing
-so far, there are bound to be compile errors and bugs.  These should not be
-hard to fix. If you are so inclined, please be sure to forward all patches to
-<A
-HREF="samba-patches@samba.org"
-TARGET="_top"
->samba-patches@samba.org</A
-> and
-<A
-HREF="jerry@samba.org"
-TARGET="_top"
->jerry@samba.org</A
->.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2718"
-></A
->19.4. Schema and Relationship to the RFC 2307 posixAccount</H2
-><P
->Samba 2.2.3 includes the necessary schema file for OpenLDAP 2.0 in
-<TT
-CLASS="FILENAME"
->examples/LDAP/samba.schema</TT
->.  (Note that this schema
-file has been modified since the experimental support initially included
-in 2.2.2).  The sambaAccount objectclass is given here:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->objectclass ( 1.3.1.5.1.4.1.7165.2.2.2 NAME 'sambaAccount' SUP top STRUCTURAL
-     DESC 'Samba Account'
-     MUST ( uid $ rid )
-     MAY  ( cn $ lmPassword $ ntPassword $ pwdLastSet $ logonTime $
-            logoffTime $ kickoffTime $ pwdCanChange $ pwdMustChange $ acctFlags $
-            displayName $ smbHome $ homeDrive $ scriptPath $ profilePath $
-            description $ userWorkstations $ primaryGroupID $ domain ))</PRE
-></P
-><P
->The samba.schema file has been formatted for OpenLDAP 2.0.  The OID's are
-owned by the Samba Team and as such is legal to be openly published.
-If you translate the schema to be used with Netscape DS, please
-submit the modified schema file as a patch to <A
-HREF="jerry@samba.org"
-TARGET="_top"
->jerry@samba.org</A
-></P
-><P
->Just as the smbpasswd file is mean to store information which supplements a
-user's <TT
-CLASS="FILENAME"
->/etc/passwd</TT
-> entry, so is the sambaAccount object
-meant to supplement the UNIX user account information.  A sambaAccount is a
-<TT
-CLASS="CONSTANT"
->STRUCTURAL</TT
-> objectclass so it can be stored individually
-in the directory.  However, there are several fields (e.g. uid) which overlap
-with the posixAccount objectclass outlined in RFC2307.  This is by design.</P
-><P
->In order to store all user account information (UNIX and Samba) in the directory,
-it is necessary to use the sambaAccount and posixAccount objectclasses in
-combination.  However, smbd will still obtain the user's UNIX account
-information via the standard C library calls (e.g. getpwnam(), et. al.).
-This means that the Samba server must also have the LDAP NSS library installed
-and functioning correctly.  This division of information makes it possible to
-store all Samba account information in LDAP, but still maintain UNIX account
-information in NIS while the network is transitioning to a full LDAP infrastructure.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2730"
-></A
->19.5. Configuring Samba with LDAP</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN2732"
-></A
->19.5.1. OpenLDAP configuration</H3
-><P
->To include support for the sambaAccount object in an OpenLDAP directory
-server, first copy the samba.schema file to slapd's configuration directory.</P
-><P
-><TT
-CLASS="PROMPT"
->root# </TT
-><B
-CLASS="COMMAND"
->cp samba.schema /etc/openldap/schema/</B
-></P
-><P
->Next, include the <TT
-CLASS="FILENAME"
->samba.schema</TT
-> file in <TT
-CLASS="FILENAME"
->slapd.conf</TT
->.
-The sambaAccount object contains two attributes which depend upon other schema
-files.  The 'uid' attribute is defined in <TT
-CLASS="FILENAME"
->cosine.schema</TT
-> and
-the 'displayName' attribute is defined in the <TT
-CLASS="FILENAME"
->inetorgperson.schema</TT
->
-file.  Both of these must be included before the <TT
-CLASS="FILENAME"
->samba.schema</TT
-> file.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->## /etc/openldap/slapd.conf
-
-## schema files (core.schema is required by default)
-include                   /etc/openldap/schema/core.schema
-
-## needed for sambaAccount
-include            /etc/openldap/schema/cosine.schema
-include            /etc/openldap/schema/inetorgperson.schema
-include            /etc/openldap/schema/samba.schema
-
-## uncomment this line if you want to support the RFC2307 (NIS) schema
-## include         /etc/openldap/schema/nis.schema
-
-....</PRE
-></P
-><P
->It is recommended that you maintain some indices on some of the most usefull attributes,
-like in the following example, to speed up searches made on sambaAccount objectclasses
-(and possibly posixAccount and posixGroup as well).</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-># Indices to maintain
-## required by OpenLDAP 2.0
-index objectclass   eq
-
-## support pb_getsampwnam()
-index uid           pres,eq
-## support pdb_getsambapwrid()
-index rid           eq
-
-## uncomment these if you are storing posixAccount and
-## posixGroup entries in the directory as well
-##index uidNumber     eq
-##index gidNumber     eq
-##index cn            eq
-##index memberUid     eq</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2749"
-></A
->19.5.2. Configuring Samba</H3
-><P
->The following parameters are available in smb.conf only with <TT
-CLASS="PARAMETER"
-><I
->--with-ldapsam</I
-></TT
->
-was included with compiling Samba.</P
-><P
-></P
-><UL
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPSSL"
-TARGET="_top"
->ldap ssl</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPSERVER"
-TARGET="_top"
->ldap server</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPADMINDN"
-TARGET="_top"
->ldap admin dn</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPSUFFIX"
-TARGET="_top"
->ldap suffix</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPFILTER"
-TARGET="_top"
->ldap filter</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#LDAPPORT"
-TARGET="_top"
->ldap port</A
-></P
-></LI
-></UL
-><P
->These are described in the <A
-HREF="smb.conf.5.html"
-TARGET="_top"
->smb.conf(5)</A
-> man
-page and so will not be repeated here.  However, a sample smb.conf file for
-use with an LDAP directory could appear as</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->## /usr/local/samba/lib/smb.conf
-[global]
-     security = user
-     encrypt passwords = yes
-
-     netbios name = TASHTEGO
-     workgroup = NARNIA
-
-     # ldap related parameters
-
-     # define the DN to use when binding to the directory servers
-     # The password for this DN is not stored in smb.conf.  Rather it
-     # must be set by using 'smbpasswd -w <TT
-CLASS="REPLACEABLE"
-><I
->secretpw</I
-></TT
->' to store the
-     # passphrase in the secrets.tdb file.  If the "ldap admin dn" values
-     # changes, this password will need to be reset.
-     ldap admin dn = "cn=Samba Manager,ou=people,dc=samba,dc=org"
-
-     #  specify the LDAP server's hostname (defaults to locahost)
-     ldap server = ahab.samba.org
-
-     # Define the SSL option when connecting to the directory
-     # ('off', 'start tls', or 'on' (default))
-     ldap ssl = start tls
-
-     # define the port to use in the LDAP session (defaults to 636 when
-     # "ldap ssl = on")
-     ldap port = 389
-
-     # specify the base DN to use when searching the directory
-     ldap suffix = "ou=people,dc=samba,dc=org"
-
-     # generally the default ldap search filter is ok
-     # ldap filter = "(&amp;(uid=%u)(objectclass=sambaAccount))"</PRE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2777"
-></A
->19.6. Accounts and Groups management</H2
-><P
->As users accounts are managed thru the sambaAccount objectclass, you should
-modify you existing administration tools to deal with sambaAccount attributes.</P
-><P
->Machines accounts are managed with the sambaAccount objectclass, just
-like users accounts. However, it's up to you to stored thoses accounts
-in a different tree of you LDAP namespace: you should use
-"ou=Groups,dc=plainjoe,dc=org" to store groups and
-"ou=People,dc=plainjoe,dc=org" to store users. Just configure your
-NSS and PAM accordingly (usually, in the /etc/ldap.conf configuration
-file).</P
-><P
->In Samba release 2.2.3, the group management system is based on posix
-groups. This meand that Samba make usage of the posixGroup objectclass.
-For now, there is no NT-like group system management (global and local
-groups).</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2782"
-></A
->19.7. Security and sambaAccount</H2
-><P
->There are two important points to remember when discussing the security
-of sambaAccount entries in the directory.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Never</I
-></SPAN
-> retrieve the lmPassword or
-       ntPassword attribute values over an unencrypted LDAP session.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Never</I
-></SPAN
-> allow non-admin users to
-       view the lmPassword or ntPassword attribute values.</P
-></LI
-></UL
-><P
->These password hashes are clear text equivalents and can be used to impersonate
-the user without deriving the original clear text strings.  For more information
-on the details of LM/NT password hashes, refer to the <A
-HREF="ENCRYPTION.html"
-TARGET="_top"
->ENCRYPTION chapter</A
-> of the Samba-HOWTO-Collection.</P
-><P
->To remedy the first security issue, the "ldap ssl" smb.conf parameter defaults
-to require an encrypted session (<B
-CLASS="COMMAND"
->ldap ssl = on</B
->) using
-the default port of 636
-when contacting the directory server.  When using an OpenLDAP 2.0 server, it
-is possible to use the use the StartTLS LDAP extended  operation in the place of
-LDAPS.  In either case, you are strongly discouraged to disable this security
-(<B
-CLASS="COMMAND"
->ldap ssl = off</B
->).</P
-><P
->Note that the LDAPS protocol is deprecated in favor of the LDAPv3 StartTLS
-extended operation.  However, the OpenLDAP library still provides support for
-the older method of securing communication between clients and servers.</P
-><P
->The second security precaution is to prevent non-administrative users from
-harvesting password hashes from the directory.  This can be done using the
-following ACL in <TT
-CLASS="FILENAME"
->slapd.conf</TT
->:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->## allow the "ldap admin dn" access, but deny everyone else
-access to attrs=lmPassword,ntPassword
-     by dn="cn=Samba Admin,ou=people,dc=plainjoe,dc=org" write
-     by * none</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2802"
-></A
->19.8. LDAP specials attributes for sambaAccounts</H2
-><P
->The sambaAccount objectclass is composed of the following attributes:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->lmPassword</TT
->: the LANMAN password 16-byte hash stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->ntPassword</TT
->: the NT password hash 16-byte stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->pwdLastSet</TT
->: The integer time in seconds since 1970 when the
-       <TT
-CLASS="CONSTANT"
->lmPassword</TT
-> and <TT
-CLASS="CONSTANT"
->ntPassword</TT
-> attributes were last set.
-       </P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->acctFlags</TT
->: string of 11 characters surrounded by square brackets []
-       representing account flags such as U (user), W(workstation), X(no password expiration), and
-       D(disabled).</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->logonTime</TT
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->logoffTime</TT
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->kickoffTime</TT
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->pwdCanChange</TT
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->pwdMustChange</TT
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->homeDrive</TT
->: specifies the drive letter to which to map the
-       UNC path specified by homeDirectory. The drive letter must be specified in the form "X:"
-       where X is the letter of the drive to map. Refer to the "logon drive" parameter in the
-       smb.conf(5) man page for more information.</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->scriptPath</TT
->: The scriptPath property specifies the path of
-       the user's logon script, .CMD, .EXE, or .BAT file. The string can be null. The path
-       is relative to the netlogon share.  Refer to the "logon script" parameter in the
-       smb.conf(5) man page for more information.</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->profilePath</TT
->: specifies a path to the user's profile.
-       This value can be a null string, a local absolute path, or a UNC path.  Refer to the
-       "logon path" parameter in the smb.conf(5) man page for more information.</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->smbHome</TT
->: The homeDirectory property specifies the path of
-       the home directory for the user. The string can be null. If homeDrive is set and specifies
-       a drive letter, homeDirectory should be a UNC path. The path must be a network
-       UNC path of the form \\server\share\directory. This value can be a null string.
-       Refer to the "logon home" parameter in the smb.conf(5) man page for more information.
-       </P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->userWorkstation</TT
->: character string value currently unused.
-       </P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->rid</TT
->: the integer representation of the user's relative identifier
-       (RID).</P
-></LI
-><LI
-><P
-><TT
-CLASS="CONSTANT"
->primaryGroupID</TT
->: the relative identifier (RID) of the primary group
-       of the user.</P
-></LI
-></UL
-><P
->The majority of these parameters are only used when Samba is acting as a PDC of
-a domain (refer to the <A
-HREF="Samba-PDC-HOWTO.html"
-TARGET="_top"
->Samba-PDC-HOWTO</A
-> for details on
-how to configure Samba as a Primary Domain Controller). The following four attributes
-are only stored with the sambaAccount entry if the values are non-default values:</P
-><P
-></P
-><UL
-><LI
-><P
->smbHome</P
-></LI
-><LI
-><P
->scriptPath</P
-></LI
-><LI
-><P
->logonPath</P
-></LI
-><LI
-><P
->homeDrive</P
-></LI
-></UL
-><P
->These attributes are only stored with the sambaAccount entry if
-the values are non-default values.  For example, assume TASHTEGO has now been
-configured as a PDC and that <B
-CLASS="COMMAND"
->logon home = \\%L\%u</B
-> was defined in
-its <TT
-CLASS="FILENAME"
->smb.conf</TT
-> file. When a user named "becky" logons to the domain,
-the <TT
-CLASS="PARAMETER"
-><I
->logon home</I
-></TT
-> string is expanded to \\TASHTEGO\becky.
-If the smbHome attribute exists in the entry "uid=becky,ou=people,dc=samba,dc=org",
-this value is used.  However, if this attribute does not exist, then the value
-of the <TT
-CLASS="PARAMETER"
-><I
->logon home</I
-></TT
-> parameter is used in its place.  Samba
-will only write the attribute value to the directory entry is the value is
-something other than the default (e.g. \\MOBY\becky).</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2872"
-></A
->19.9. Example LDIF Entries for a sambaAccount</H2
-><P
->The following is a working LDIF with the inclusion of the posixAccount objectclass:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->dn: uid=guest2, ou=people,dc=plainjoe,dc=org
-ntPassword: 878D8014606CDA29677A44EFA1353FC7
-pwdMustChange: 2147483647
-primaryGroupID: 1201
-lmPassword: 552902031BEDE9EFAAD3B435B51404EE
-pwdLastSet: 1010179124
-logonTime: 0
-objectClass: sambaAccount
-uid: guest2
-kickoffTime: 2147483647
-acctFlags: [UX         ]
-logoffTime: 2147483647
-rid: 19006
-pwdCanChange: 0</PRE
-></P
-><P
->The following is an LDIF entry for using both the sambaAccount and
-posixAccount objectclasses:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->dn: uid=gcarter, ou=people,dc=plainjoe,dc=org
-logonTime: 0
-displayName: Gerald Carter
-lmPassword: 552902031BEDE9EFAAD3B435B51404EE
-primaryGroupID: 1201
-objectClass: posixAccount
-objectClass: sambaAccount
-acctFlags: [UX         ]
-userPassword: {crypt}BpM2ej8Rkzogo
-uid: gcarter
-uidNumber: 9000
-cn: Gerald Carter
-loginShell: /bin/bash
-logoffTime: 2147483647
-gidNumber: 100
-kickoffTime: 2147483647
-pwdLastSet: 1010179230
-rid: 19000
-homeDirectory: /home/tashtego/gcarter
-pwdCanChange: 0
-pwdMustChange: 2147483647
-ntPassword: 878D8014606CDA29677A44EFA1353FC7</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2880"
-></A
->19.10. Comments</H2
-><P
->Please mail all comments regarding this HOWTO to <A
-HREF="mailto:jerry@samba.org"
-TARGET="_top"
->jerry@samba.org</A
->.  This documents was
-last updated to reflect the Samba 2.2.3 release.&#13;</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="CVS-ACCESS"
-></A
->Chapter 20. HOWTO Access Samba source code via CVS</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2891"
-></A
->20.1. Introduction</H2
-><P
->Samba is developed in an open environment.  Developers use CVS
-(Concurrent Versioning System) to "checkin" (also known as 
-"commit") new source code.  Samba's various CVS branches can
-be accessed via anonymous CVS using the instructions
-detailed in this chapter.</P
-><P
->This document is a modified version of the instructions found at
-<A
-HREF="http://samba.org/samba/cvs.html"
-TARGET="_top"
->http://samba.org/samba/cvs.html</A
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2896"
-></A
->20.2. CVS Access to samba.org</H2
-><P
->The machine samba.org runs a publicly accessible CVS 
-repository for access to the source code of several packages, 
-including samba, rsync and jitterbug. There are two main ways of 
-accessing the CVS server on this host.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2899"
-></A
->20.2.1. Access via CVSweb</H3
-><P
->You can access the source code via your 
-favourite WWW browser. This allows you to access the contents of 
-individual files in the repository and also to look at the revision 
-history and commit logs of individual files. You can also ask for a diff 
-listing between any two versions on the repository.</P
-><P
->Use the URL : <A
-HREF="http://samba.org/cgi-bin/cvsweb"
-TARGET="_top"
->http://samba.org/cgi-bin/cvsweb</A
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2904"
-></A
->20.2.2. Access via cvs</H3
-><P
->You can also access the source code via a 
-normal cvs client.  This gives you much more control over you can 
-do with the repository and allows you to checkout whole source trees 
-and keep them up to date via normal cvs commands. This is the 
-preferred method of access if you are a developer and not
-just a casual browser.</P
-><P
->To download the latest cvs source code, point your
-browser at the URL : <A
-HREF="http://www.cyclic.com/"
-TARGET="_top"
->http://www.cyclic.com/</A
->.
-and click on the 'How to get cvs' link. CVS is free software under 
-the GNU GPL (as is Samba).  Note that there are several graphical CVS clients
-which provide a graphical interface to the sometimes mundane CVS commands.
-Links to theses clients are also available from http://www.cyclic.com.</P
-><P
->To gain access via anonymous cvs use the following steps. 
-For this example it is assumed that you want a copy of the 
-samba source code. For the other source code repositories 
-on this system just substitute the correct package name</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      Install a recent copy of cvs. All you really need is a 
-       copy of the cvs client binary. 
-       </P
-></LI
-><LI
-><P
->      Run the command 
-       </P
-><P
->      <B
-CLASS="COMMAND"
->cvs -d :pserver:cvs@samba.org:/cvsroot login</B
->
-       </P
-><P
->      When it asks you for a password type <TT
-CLASS="USERINPUT"
-><B
->cvs</B
-></TT
->.
-       </P
-></LI
-><LI
-><P
->      Run the command 
-       </P
-><P
->      <B
-CLASS="COMMAND"
->cvs -d :pserver:cvs@samba.org:/cvsroot co samba</B
->
-       </P
-><P
->      This will create a directory called samba containing the 
-       latest samba source code (i.e. the HEAD tagged cvs branch). This 
-       currently corresponds to the 3.0 development tree. 
-       </P
-><P
->      CVS branches other HEAD can be obtained by using the <TT
-CLASS="PARAMETER"
-><I
->-r</I
-></TT
->
-       and defining a tag name.  A list of branch tag names can be found on the
-       "Development" page of the samba web site.  A common request is to obtain the
-       latest 2.2 release code.  This could be done by using the following command.
-       </P
-><P
->      <B
-CLASS="COMMAND"
->cvs -d :pserver:cvs@samba.org:/cvsroot co -r SAMBA_2_2 samba</B
->
-       </P
-></LI
-><LI
-><P
->      Whenever you want to merge in the latest code changes use 
-       the following command from within the samba directory: 
-       </P
-><P
->      <B
-CLASS="COMMAND"
->cvs update -d -P</B
->
-       </P
-></LI
-></OL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="GROUPMAPPING"
-></A
->Chapter 21. Group mapping HOWTO</H1
-><P
-> 
-Starting with Samba 3.0 alpha 2, a new group mapping function is available. The
-current method (likely to change) to manage the groups is a new command called
-<B
-CLASS="COMMAND"
->smbgroupedit</B
->.</P
-><P
->The first immediate reason to use the group mapping on a PDC, is that
-the <B
-CLASS="COMMAND"
->domain admin group</B
-> of <TT
-CLASS="FILENAME"
->smb.conf</TT
-> is 
-now gone. This parameter was used to give the listed users local admin rights 
-on their workstations. It was some magic stuff that simply worked but didn't
-scale very well for complex setups.</P
-><P
->Let me explain how it works on NT/W2K, to have this magic fade away.
-When installing NT/W2K on a computer, the installer program creates some users
-and groups. Notably the 'Administrators' group, and gives to that group some
-privileges like the ability to change the date and time or to kill any process
-(or close too) running on the local machine. The 'Administrator' user is a
-member of the 'Administrators' group, and thus 'inherit' the 'Administrators'
-group privileges. If a 'joe' user is created and become a member of the
-'Administrator' group, 'joe' has exactly the same rights as 'Administrator'.</P
-><P
->When a NT/W2K machine is joined to a domain, during that phase, the "Domain
-Administrators' group of the PDC is added to the 'Administrators' group of the
-workstation. Every members of the 'Domain Administrators' group 'inherit' the
-rights of the 'Administrators' group when logging on the workstation.</P
-><P
->You are now wondering how to make some of your samba PDC users members of the
-'Domain Administrators' ? That's really easy.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->create a unix group (usually in <TT
-CLASS="FILENAME"
->/etc/group</TT
->), let's call it domadm</P
-></LI
-><LI
-><P
->add to this group the users that must be Administrators. For example if you want joe,john and mary, your entry in <TT
-CLASS="FILENAME"
->/etc/group</TT
-> will look like:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->domadm:x:502:joe,john,mary</PRE
-></P
-></LI
-><LI
-><P
->Map this domadm group to the <B
-CLASS="COMMAND"
->domain admins</B
-> group by running the command:</P
-><P
-><B
-CLASS="COMMAND"
->smbgroupedit -c "Domain Admins" -u domadm</B
-></P
-></LI
-></OL
-><P
->You're set, joe, john and mary are domain administrators !</P
-><P
->Like the Domain Admins group, you can map any arbitrary Unix group to any NT
-group. You can also make any Unix group a domain group. For example, on a domain
-member machine (an NT/W2K or a samba server running winbind), you would like to
-give access to a certain directory to some users who are member of a group on
-your samba PDC. Flag that group as a domain group by running:</P
-><P
-><B
-CLASS="COMMAND"
->smbgroupedit -a unixgroup -td</B
-></P
-><P
->You can list the various groups in the mapping database like this</P
-><P
-><B
-CLASS="COMMAND"
->smbgroupedit -v</B
-></P
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SPEED"
-></A
->Chapter 22. Samba performance issues</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2982"
-></A
->22.1. Comparisons</H2
-><P
->The Samba server uses TCP to talk to the client. Thus if you are
-trying to see if it performs well you should really compare it to
-programs that use the same protocol. The most readily available
-programs for file transfer that use TCP are ftp or another TCP based
-SMB server.</P
-><P
->If you want to test against something like a NT or WfWg server then
-you will have to disable all but TCP on either the client or
-server. Otherwise you may well be using a totally different protocol
-(such as Netbeui) and comparisons may not be valid.</P
-><P
->Generally you should find that Samba performs similarly to ftp at raw
-transfer speed. It should perform quite a bit faster than NFS,
-although this very much depends on your system.</P
-><P
->Several people have done comparisons between Samba and Novell, NFS or
-WinNT. In some cases Samba performed the best, in others the worst. I
-suspect the biggest factor is not Samba vs some other system but the
-hardware and drivers used on the various systems. Given similar
-hardware Samba should certainly be competitive in speed with other
-systems.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2988"
-></A
->22.2. Oplocks</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN2990"
-></A
->22.2.1. Overview</H3
-><P
->Oplocks are the way that SMB clients get permission from a server to
-locally cache file operations. If a server grants an oplock
-(opportunistic lock) then the client is free to assume that it is the
-only one accessing the file and it will agressively cache file
-data. With some oplock types the client may even cache file open/close
-operations. This can give enormous performance benefits.</P
-><P
->With the release of Samba 1.9.18 we now correctly support opportunistic 
-locks. This is turned on by default, and can be turned off on a share-
-by-share basis by setting the parameter :</P
-><P
-><B
-CLASS="COMMAND"
->oplocks = False</B
-></P
-><P
->We recommend that you leave oplocks on however, as current benchmark
-tests with NetBench seem to give approximately a 30% improvement in
-speed with them on. This is on average however, and the actual 
-improvement seen can be orders of magnitude greater, depending on
-what the client redirector is doing.</P
-><P
->Previous to Samba 1.9.18 there was a 'fake oplocks' option. This
-option has been left in the code for backwards compatibility reasons
-but it's use is now deprecated. A short summary of what the old
-code did follows.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2998"
-></A
->22.2.2. Level2 Oplocks</H3
-><P
->With Samba 2.0.5 a new capability - level2 (read only) oplocks is
-supported (although the option is off by default - see the smb.conf
-man page for details). Turning on level2 oplocks (on a share-by-share basis)
-by setting the parameter :</P
-><P
-><B
-CLASS="COMMAND"
->level2 oplocks = true</B
-></P
-><P
->should speed concurrent access to files that are not commonly written
-to, such as application serving shares (ie. shares that contain common
-.EXE files - such as a Microsoft Office share) as it allows clients to
-read-ahread cache copies of these files.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3004"
-></A
->22.2.3. Old 'fake oplocks' option - deprecated</H3
-><P
->Samba can also fake oplocks, by granting a oplock whenever a client 
-asks for one. This is controlled using the smb.conf option "fake 
-oplocks". If you set "fake oplocks = yes" then you are telling the 
-client that it may agressively cache the file data for all opens.</P
-><P
->Enabling 'fake oplocks' on all read-only shares or shares that you know
-will only be accessed from one client at a time you will see a big
-performance improvement on many operations. If you enable this option
-on shares where multiple clients may be accessing the files read-write
-at the same time you can get data corruption.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3008"
-></A
->22.3. Socket options</H2
-><P
->There are a number of socket options that can greatly affect the
-performance of a TCP based server like Samba.</P
-><P
->The socket options that Samba uses are settable both on the command
-line with the -O option, or in the smb.conf file.</P
-><P
->The "socket options" section of the smb.conf manual page describes how
-to set these and gives recommendations.</P
-><P
->Getting the socket options right can make a big difference to your
-performance, but getting them wrong can degrade it by just as
-much. The correct settings are very dependent on your local network.</P
-><P
->The socket option TCP_NODELAY is the one that seems to make the
-biggest single difference for most networks. Many people report that
-adding "socket options = TCP_NODELAY" doubles the read performance of
-a Samba drive. The best explanation I have seen for this is that the
-Microsoft TCP/IP stack is slow in sending tcp ACKs.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3015"
-></A
->22.4. Read size</H2
-><P
->The option "read size" affects the overlap of disk reads/writes with
-network reads/writes. If the amount of data being transferred in
-several of the SMB commands (currently SMBwrite, SMBwriteX and
-SMBreadbraw) is larger than this value then the server begins writing
-the data before it has received the whole packet from the network, or
-in the case of SMBreadbraw, it begins writing to the network before
-all the data has been read from disk.</P
-><P
->This overlapping works best when the speeds of disk and network access
-are similar, having very little effect when the speed of one is much
-greater than the other.</P
-><P
->The default value is 16384, but very little experimentation has been
-done yet to determine the optimal value, and it is likely that the best
-value will vary greatly between systems anyway. A value over 65536 is
-pointless and will cause you to allocate memory unnecessarily.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3020"
-></A
->22.5. Max xmit</H2
-><P
->At startup the client and server negotiate a "maximum transmit" size,
-which limits the size of nearly all SMB commands. You can set the
-maximum size that Samba will negotiate using the "max xmit = " option
-in smb.conf. Note that this is the maximum size of SMB request that 
-Samba will accept, but not the maximum size that the *client* will accept.
-The client maximum receive size is sent to Samba by the client and Samba
-honours this limit.</P
-><P
->It defaults to 65536 bytes (the maximum), but it is possible that some
-clients may perform better with a smaller transmit unit. Trying values
-of less than 2048 is likely to cause severe problems.</P
-><P
->In most cases the default is the best option.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3025"
-></A
->22.6. Locking</H2
-><P
->By default Samba does not implement strict locking on each read/write
-call (although it did in previous versions). If you enable strict
-locking (using "strict locking = yes") then you may find that you
-suffer a severe performance hit on some systems.</P
-><P
->The performance hit will probably be greater on NFS mounted
-filesystems, but could be quite high even on local disks.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3029"
-></A
->22.7. Share modes</H2
-><P
->Some people find that opening files is very slow. This is often
-because of the "share modes" code needed to fully implement the dos
-share modes stuff. You can disable this code using "share modes =
-no". This will gain you a lot in opening and closing files but will
-mean that (in some cases) the system won't force a second user of a
-file to open the file read-only if the first has it open
-read-write. For many applications that do their own locking this
-doesn't matter, but for some it may. Most Windows applications
-depend heavily on "share modes" working correctly and it is
-recommended that the Samba share mode support be left at the
-default of "on".</P
-><P
->The share mode code in Samba has been re-written in the 1.9.17
-release following tests with the Ziff-Davis NetBench PC Benchmarking
-tool. It is now believed that Samba 1.9.17 implements share modes
-similarly to Windows NT.</P
-><P
->NOTE: In the most recent versions of Samba there is an option to use
-shared memory via mmap() to implement the share modes. This makes
-things much faster. See the Makefile for how to enable this.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3034"
-></A
->22.8. Log level</H2
-><P
->If you set the log level (also known as "debug level") higher than 2
-then you may suffer a large drop in performance. This is because the
-server flushes the log file after each operation, which can be very
-expensive. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3037"
-></A
->22.9. Wide lines</H2
-><P
->The "wide links" option is now enabled by default, but if you disable
-it (for better security) then you may suffer a performance hit in
-resolving filenames. The performance loss is lessened if you have
-"getwd cache = yes", which is now the default.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3040"
-></A
->22.10. Read raw</H2
-><P
->The "read raw" operation is designed to be an optimised, low-latency
-file read operation. A server may choose to not support it,
-however. and Samba makes support for "read raw" optional, with it
-being enabled by default.</P
-><P
->In some cases clients don't handle "read raw" very well and actually
-get lower performance using it than they get using the conventional
-read operations. </P
-><P
->So you might like to try "read raw = no" and see what happens on your
-network. It might lower, raise or not affect your performance. Only
-testing can really tell.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3045"
-></A
->22.11. Write raw</H2
-><P
->The "write raw" operation is designed to be an optimised, low-latency
-file write operation. A server may choose to not support it,
-however. and Samba makes support for "write raw" optional, with it
-being enabled by default.</P
-><P
->Some machines may find "write raw" slower than normal write, in which
-case you may wish to change this option.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3049"
-></A
->22.12. Read prediction</H2
-><P
->Samba can do read prediction on some of the SMB commands. Read
-prediction means that Samba reads some extra data on the last file it
-read while waiting for the next SMB command to arrive. It can then
-respond more quickly when the next read request arrives.</P
-><P
->This is disabled by default. You can enable it by using "read
-prediction = yes".</P
-><P
->Note that read prediction is only used on files that were opened read
-only.</P
-><P
->Read prediction should particularly help for those silly clients (such
-as "Write" under NT) which do lots of very small reads on a file.</P
-><P
->Samba will not read ahead more data than the amount specified in the
-"read size" option. It always reads ahead on 1k block boundaries.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3056"
-></A
->22.13. Memory mapping</H2
-><P
->Samba supports reading files via memory mapping them. One some
-machines this can give a large boost to performance, on others it
-makes not difference at all, and on some it may reduce performance.</P
-><P
->To enable you you have to recompile Samba with the -DUSE_MMAP option
-on the FLAGS line of the Makefile.</P
-><P
->Note that memory mapping is only used on files opened read only, and
-is not used by the "read raw" operation. Thus you may find memory
-mapping is more effective if you disable "read raw" using "read raw =
-no".</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3061"
-></A
->22.14. Slow Clients</H2
-><P
->One person has reported that setting the protocol to COREPLUS rather
-than LANMAN2 gave a dramatic speed improvement (from 10k/s to 150k/s).</P
-><P
->I suspect that his PC's (386sx16 based) were asking for more data than
-they could chew. I suspect a similar speed could be had by setting
-"read raw = no" and "max xmit = 2048", instead of changing the
-protocol. Lowering the "read size" might also help.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3065"
-></A
->22.15. Slow Logins</H2
-><P
->Slow logins are almost always due to the password checking time. Using
-the lowest practical "password level" will improve things a lot. You
-could also enable the "UFC crypt" option in the Makefile.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3068"
-></A
->22.16. Client tuning</H2
-><P
->Often a speed problem can be traced to the client. The client (for
-example Windows for Workgroups) can often be tuned for better TCP
-performance.</P
-><P
->See your client docs for details. In particular, I have heard rumours
-that the WfWg options TCPWINDOWSIZE and TCPSEGMENTSIZE can have a
-large impact on performance.</P
-><P
->Also note that some people have found that setting DefaultRcvWindow in
-the [MSTCP] section of the SYSTEM.INI file under WfWg to 3072 gives a
-big improvement. I don't know why.</P
-><P
->My own experience wth DefaultRcvWindow is that I get much better
-performance with a large value (16384 or larger). Other people have
-reported that anything over 3072 slows things down enourmously. One
-person even reported a speed drop of a factor of 30 when he went from
-3072 to 8192. I don't know why.</P
-><P
->It probably depends a lot on your hardware, and the type of unix box
-you have at the other end of the link.</P
-><P
->Paul Cochrane has done some testing on client side tuning and come 
-to the following conclusions:</P
-><P
->Install the W2setup.exe file from www.microsoft.com. This is an 
-update for the winsock stack and utilities which improve performance.</P
-><P
->Configure the win95 TCPIP registry settings to give better 
-perfomance. I use a program called MTUSPEED.exe which I got off the 
-net. There are various other utilities of this type freely available. 
-The setting which give the best performance for me are:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->MaxMTU                  Remove</P
-></LI
-><LI
-><P
->RWIN                    Remove</P
-></LI
-><LI
-><P
->MTUAutoDiscover         Disable</P
-></LI
-><LI
-><P
->MTUBlackHoleDetect      Disable</P
-></LI
-><LI
-><P
->Time To Live            Enabled</P
-></LI
-><LI
-><P
->Time To Live - HOPS     32</P
-></LI
-><LI
-><P
->NDI Cache Size          0</P
-></LI
-></OL
-><P
->I tried virtually all of the items mentioned in the document and 
-the only one which made a difference to me was the socket options. It 
-turned out I was better off without any!!!!!</P
-><P
->In terms of overall speed of transfer, between various win95 clients 
-and a DX2-66 20MB server with a crappy NE2000 compatible and old IDE 
-drive (Kernel 2.0.30). The transfer rate was reasonable for 10 baseT.</P
-><P
->FIXME
-The figures are:          Put              Get 
-P166 client 3Com card:    420-440kB/s      500-520kB/s
-P100 client 3Com card:    390-410kB/s      490-510kB/s
-DX4-75 client NE2000:     370-380kB/s      330-350kB/s</P
-><P
->I based these test on transfer two files a 4.5MB text file and a 15MB 
-textfile. The results arn't bad considering the hardware Samba is 
-running on. It's a crap machine!!!!</P
-><P
->The updates mentioned in 1 and 2 brought up the transfer rates from 
-just over 100kB/s in some clients.</P
-><P
->A new client is a P333 connected via a 100MB/s card and hub. The 
-transfer rates from this were good: 450-500kB/s on put and 600+kB/s 
-on get.</P
-><P
->Looking at standard FTP throughput, Samba is a bit slower (100kB/s 
-upwards). I suppose there is more going on in the samba protocol, but 
-if it could get up to the rate of FTP the perfomance would be quite 
-staggering.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3100"
-></A
->22.17. My Results</H2
-><P
->Some people want to see real numbers in a document like this, so here
-they are. I have a 486sx33 client running WfWg 3.11 with the 3.11b
-tcp/ip stack. It has a slow IDE drive and 20Mb of ram. It has a SMC
-Elite-16 ISA bus ethernet card. The only WfWg tuning I've done is to
-set DefaultRcvWindow in the [MSTCP] section of system.ini to 16384. My
-server is a 486dx3-66 running Linux. It also has 20Mb of ram and a SMC
-Elite-16 card. You can see my server config in the examples/tridge/
-subdirectory of the distribution.</P
-><P
->I get 490k/s on reading a 8Mb file with copy.
-I get 441k/s writing the same file to the samba server.</P
-><P
->Of course, there's a lot more to benchmarks than 2 raw throughput
-figures, but it gives you a ballpark figure.</P
-><P
->I've also tested Win95 and WinNT, and found WinNT gave me the best
-speed as a samba client. The fastest client of all (for me) is
-smbclient running on another linux box. Maybe I'll add those results
-here someday ...</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="AEN3106"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->IV. Appendixes</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->23. <A
-HREF="#PORTABILITY"
->Portability</A
-></DT
-><DD
-><DL
-><DT
->23.1. <A
-HREF="#AEN3115"
->HPUX</A
-></DT
-><DT
->23.2. <A
-HREF="#AEN3121"
->SCO Unix</A
-></DT
-><DT
->23.3. <A
-HREF="#AEN3125"
->DNIX</A
-></DT
-><DT
->23.4. <A
-HREF="#AEN3154"
->RedHat Linux Rembrandt-II</A
-></DT
-></DL
-></DD
-><DT
->24. <A
-HREF="#OTHER-CLIENTS"
->Samba and other CIFS clients</A
-></DT
-><DD
-><DL
-><DT
->24.1. <A
-HREF="#AEN3175"
->Macintosh clients?</A
-></DT
-><DT
->24.2. <A
-HREF="#AEN3184"
->OS2 Client</A
-></DT
-><DD
-><DL
-><DT
->24.2.1. <A
-HREF="#AEN3186"
->How can I configure OS/2 Warp Connect or 
-               OS/2 Warp 4 as a client for Samba?</A
-></DT
-><DT
->24.2.2. <A
-HREF="#AEN3201"
->How can I configure OS/2 Warp 3 (not Connect), 
-               OS/2 1.2, 1.3 or 2.x for Samba?</A
-></DT
-><DT
->24.2.3. <A
-HREF="#AEN3210"
->Are there any other issues when OS/2 (any version) 
-               is used as a client?</A
-></DT
-><DT
->24.2.4. <A
-HREF="#AEN3214"
->How do I get printer driver download working 
-               for OS/2 clients?</A
-></DT
-></DL
-></DD
-><DT
->24.3. <A
-HREF="#AEN3224"
->Windows for Workgroups</A
-></DT
-><DD
-><DL
-><DT
->24.3.1. <A
-HREF="#AEN3226"
->Use latest TCP/IP stack from Microsoft</A
-></DT
-><DT
->24.3.2. <A
-HREF="#AEN3231"
->Delete .pwl files after password change</A
-></DT
-><DT
->24.3.3. <A
-HREF="#AEN3236"
->Configure WfW password handling</A
-></DT
-><DT
->24.3.4. <A
-HREF="#AEN3240"
->Case handling of passwords</A
-></DT
-></DL
-></DD
-><DT
->24.4. <A
-HREF="#AEN3245"
->Windows '95/'98</A
-></DT
-><DT
->24.5. <A
-HREF="#AEN3261"
->Windows 2000 Service Pack 2</A
-></DT
-></DL
-></DD
-><DT
->25. <A
-HREF="#BUGREPORT"
->Reporting Bugs</A
-></DT
-><DD
-><DL
-><DT
->25.1. <A
-HREF="#AEN3285"
->Introduction</A
-></DT
-><DT
->25.2. <A
-HREF="#AEN3295"
->General info</A
-></DT
-><DT
->25.3. <A
-HREF="#AEN3301"
->Debug levels</A
-></DT
-><DT
->25.4. <A
-HREF="#AEN3318"
->Internal errors</A
-></DT
-><DT
->25.5. <A
-HREF="#AEN3328"
->Attaching to a running process</A
-></DT
-><DT
->25.6. <A
-HREF="#AEN3331"
->Patches</A
-></DT
-></DL
-></DD
-><DT
->26. <A
-HREF="#DIAGNOSIS"
->Diagnosing your samba server</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="#AEN3354"
->Introduction</A
-></DT
-><DT
->26.2. <A
-HREF="#AEN3359"
->Assumptions</A
-></DT
-><DT
->26.3. <A
-HREF="#AEN3369"
->Tests</A
-></DT
-><DD
-><DL
-><DT
->26.3.1. <A
-HREF="#AEN3371"
->Test 1</A
-></DT
-><DT
->26.3.2. <A
-HREF="#AEN3377"
->Test 2</A
-></DT
-><DT
->26.3.3. <A
-HREF="#AEN3383"
->Test 3</A
-></DT
-><DT
->26.3.4. <A
-HREF="#AEN3398"
->Test 4</A
-></DT
-><DT
->26.3.5. <A
-HREF="#AEN3403"
->Test 5</A
-></DT
-><DT
->26.3.6. <A
-HREF="#AEN3409"
->Test 6</A
-></DT
-><DT
->26.3.7. <A
-HREF="#AEN3417"
->Test 7</A
-></DT
-><DT
->26.3.8. <A
-HREF="#AEN3443"
->Test 8</A
-></DT
-><DT
->26.3.9. <A
-HREF="#AEN3460"
->Test 9</A
-></DT
-><DT
->26.3.10. <A
-HREF="#AEN3468"
->Test 10</A
-></DT
-><DT
->26.3.11. <A
-HREF="#AEN3474"
->Test 11</A
-></DT
-></DL
-></DD
-><DT
->26.4. <A
-HREF="#AEN3479"
->Still having troubles?</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PORTABILITY"
-></A
->Chapter 23. Portability</H1
-><P
->Samba works on a wide range of platforms but the interface all the 
-platforms provide is not always compatible. This chapter contains 
-platform-specific information about compiling and using samba.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3115"
-></A
->23.1. HPUX</H2
-><P
->HP's implementation of supplementary groups is, er, non-standard (for
-hysterical reasons).  There are two group files, /etc/group and
-/etc/logingroup; the system maps UIDs to numbers using the former, but
-initgroups() reads the latter.  Most system admins who know the ropes
-symlink /etc/group to /etc/logingroup (hard link doesn't work for reasons
-too stupid to go into here).  initgroups() will complain if one of the
-groups you're in in /etc/logingroup has what it considers to be an invalid
-ID, which means outside the range [0..UID_MAX], where UID_MAX is (I think)
-60000 currently on HP-UX.  This precludes -2 and 65534, the usual 'nobody'
-GIDs.</P
-><P
->If you encounter this problem, make sure that the programs that are failing 
-to initgroups() be run as users not in any groups with GIDs outside the 
-allowed range.</P
-><P
->This is documented in the HP manual pages under setgroups(2) and passwd(4).</P
-><P
->On HPUX you must use gcc or the HP Ansi compiler. The free compiler
-that comes with HP-UX is not Ansi compliant and cannot compile
-Samba.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3121"
-></A
->23.2. SCO Unix</H2
-><P
-> 
-If you run an old version of  SCO Unix then you may need to get important 
-TCP/IP patches for Samba to work correctly. Without the patch, you may 
-encounter corrupt data transfers using samba.</P
-><P
->The patch you need is UOD385 Connection Drivers SLS. It is available from
-SCO (ftp.sco.com, directory SLS, files uod385a.Z and uod385a.ltr.Z).</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3125"
-></A
->23.3. DNIX</H2
-><P
->DNIX has a problem with seteuid() and setegid(). These routines are
-needed for Samba to work correctly, but they were left out of the DNIX
-C library for some reason.</P
-><P
->For this reason Samba by default defines the macro NO_EID in the DNIX
-section of includes.h. This works around the problem in a limited way,
-but it is far from ideal, some things still won't work right.</P
-><P
-> 
-To fix the problem properly you need to assemble the following two
-functions and then either add them to your C library or link them into
-Samba.</P
-><P
-> 
-put this in the file <TT
-CLASS="FILENAME"
->setegid.s</TT
->:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        .globl  _setegid
-_setegid:
-        moveq   #47,d0
-        movl    #100,a0
-        moveq   #1,d1
-        movl    4(sp),a1
-        trap    #9
-        bccs    1$
-        jmp     cerror
-1$:
-        clrl    d0
-        rts</PRE
-></P
-><P
->put this in the file <TT
-CLASS="FILENAME"
->seteuid.s</TT
->:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->        .globl  _seteuid
-_seteuid:
-        moveq   #47,d0
-        movl    #100,a0
-        moveq   #0,d1
-        movl    4(sp),a1
-        trap    #9
-        bccs    1$
-        jmp     cerror
-1$:
-        clrl    d0
-        rts</PRE
-></P
-><P
->after creating the above files you then assemble them using</P
-><P
-><B
-CLASS="COMMAND"
->as seteuid.s</B
-></P
-><P
-><B
-CLASS="COMMAND"
->as setegid.s</B
-></P
-><P
->that should produce the files <TT
-CLASS="FILENAME"
->seteuid.o</TT
-> and 
-<TT
-CLASS="FILENAME"
->setegid.o</TT
-></P
-><P
->then you need to add these to the LIBSM line in the DNIX section of
-the Samba Makefile. Your LIBSM line will then look something like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->LIBSM = setegid.o seteuid.o -ln</PRE
-></P
-><P
-> 
-You should then remove the line:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->#define NO_EID</PRE
-></P
-><P
->from the DNIX section of <TT
-CLASS="FILENAME"
->includes.h</TT
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3154"
-></A
->23.4. RedHat Linux Rembrandt-II</H2
-><P
->By default RedHat Rembrandt-II during installation adds an
-entry to /etc/hosts as follows:
-<PRE
-CLASS="PROGRAMLISTING"
->      127.0.0.1 loopback "hostname"."domainname"</PRE
-></P
-><P
->This causes Samba to loop back onto the loopback interface.
-The result is that Samba fails to communicate correctly with
-the world and therefor may fail to correctly negotiate who
-is the master browse list holder and who is the master browser.</P
-><P
->Corrective Action:    Delete the entry after the word loopback
-       in the line starting 127.0.0.1</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="OTHER-CLIENTS"
-></A
->Chapter 24. Samba and other CIFS clients</H1
-><P
->This chapter contains client-specific information.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3175"
-></A
->24.1. Macintosh clients?</H2
-><P
->Yes. <A
-HREF="http://www.thursby.com/"
-TARGET="_top"
->Thursby</A
-> now have a CIFS Client / Server called DAVE - see</P
-><P
->They test it against Windows 95, Windows NT and samba for
-compatibility issues.  At the time of writing, DAVE was at version
-1.0.1. The 1.0.0 to 1.0.1 update is available as a free download from
-the Thursby web site (the speed of finder copies has been greatly
-enhanced, and there are bug-fixes included).</P
-><P
-> 
-Alternatives - There are two free implementations of AppleTalk for
-several kinds of UNIX machnes, and several more commercial ones.
-These products allow you to run file services and print services
-natively to Macintosh users, with no additional support required on
-the Macintosh.  The two free omplementations are 
-<A
-HREF="http://www.umich.edu/~rsug/netatalk/"
-TARGET="_top"
->Netatalk</A
->, and 
-<A
-HREF="http://www.cs.mu.oz.au/appletalk/atalk.html"
-TARGET="_top"
->CAP</A
->.  
-What Samba offers MS
-Windows users, these packages offer to Macs.  For more info on these
-packages, Samba, and Linux (and other UNIX-based systems) see
-<A
-HREF="http://www.eats.com/linux_mac_win.html"
-TARGET="_top"
->http://www.eats.com/linux_mac_win.html</A
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3184"
-></A
->24.2. OS2 Client</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3186"
-></A
->24.2.1. How can I configure OS/2 Warp Connect or 
-               OS/2 Warp 4 as a client for Samba?</H3
-><P
->A more complete answer to this question can be 
-               found on <A
-HREF="http://carol.wins.uva.nl/~leeuw/samba/warp.html"
-TARGET="_top"
->              http://carol.wins.uva.nl/~leeuw/samba/warp.html</A
->.</P
-><P
->Basically, you need three components:</P
-><P
-></P
-><UL
-><LI
-><P
->The File and Print Client ('IBM Peer')
-                       </P
-></LI
-><LI
-><P
->TCP/IP ('Internet support') 
-                       </P
-></LI
-><LI
-><P
->The "NetBIOS over TCP/IP" driver ('TCPBEUI')
-                       </P
-></LI
-></UL
-><P
->Installing the first two together with the base operating 
-               system on a blank system is explained in the Warp manual. If Warp 
-               has already been installed, but you now want to install the 
-               networking support, use the "Selective Install for Networking" 
-               object in the "System Setup" folder.</P
-><P
->Adding the "NetBIOS over TCP/IP" driver is not described 
-               in the manual and just barely in the online documentation. Start 
-               MPTS.EXE, click on OK, click on "Configure LAPS" and click 
-               on "IBM OS/2 NETBIOS OVER TCP/IP" in  'Protocols'.  This line 
-               is then moved to 'Current Configuration'. Select that line, 
-               click on "Change number" and increase it from 0 to 1. Save this
-               configuration.</P
-><P
->If the Samba server(s) is not on your local subnet, you 
-               can optionally add IP names and addresses of these servers 
-               to the "Names List", or specify a  WINS server ('NetBIOS 
-               Nameserver' in IBM and RFC terminology). For Warp Connect you 
-               may need to download an update for 'IBM Peer' to bring it on 
-               the same level as Warp 4. See the webpage mentioned above.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3201"
-></A
->24.2.2. How can I configure OS/2 Warp 3 (not Connect), 
-               OS/2 1.2, 1.3 or 2.x for Samba?</H3
-><P
->You can use the free Microsoft LAN Manager 2.2c Client 
-               for OS/2 from 
-               <A
-HREF="ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/"
-TARGET="_top"
->              ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/</A
->.
-       See <A
-HREF="http://carol.wins.uva.nl/~leeuw/lanman.html"
-TARGET="_top"
->              http://carol.wins.uva.nl/~leeuw/lanman.html</A
-> for 
-               more information on how to install and use this client. In 
-               a nutshell, edit the file \OS2VER in the root directory of 
-               the OS/2 boot partition and add the lines:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->              20=setup.exe
-               20=netwksta.sys
-               20=netvdd.sys
-               </PRE
-></P
-><P
->before you install the client. Also, don't use the 
-               included NE2000 driver because it is buggy. Try the NE2000 
-               or NS2000 driver from 
-               <A
-HREF="ftp://ftp.cdrom.com/pub/os2/network/ndis/"
-TARGET="_top"
->              ftp://ftp.cdrom.com/pub/os2/network/ndis/</A
-> instead.
-               </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3210"
-></A
->24.2.3. Are there any other issues when OS/2 (any version) 
-               is used as a client?</H3
-><P
->When you do a NET VIEW or use the "File and Print 
-               Client Resource Browser", no Samba servers show up. This can 
-               be fixed by a patch from <A
-HREF="http://carol.wins.uva.nl/~leeuw/samba/fix.html"
-TARGET="_top"
->              http://carol.wins.uva.nl/~leeuw/samba/fix.html</A
->.
-               The patch will be included in a later version of Samba. It also 
-               fixes a couple of other problems, such as preserving long 
-               filenames when objects are dragged from the Workplace Shell 
-               to the Samba server. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3214"
-></A
->24.2.4. How do I get printer driver download working 
-               for OS/2 clients?</H3
-><P
->First, create a share called [PRINTDRV] that is 
-               world-readable.  Copy your OS/2 driver files there.  Note 
-               that the .EA_ files must still be separate, so you will need 
-               to use the original install files, and not copy an installed 
-               driver from an OS/2 system.</P
-><P
->Install the NT driver first for that printer.  Then, 
-               add to your smb.conf a parameter, os2 driver map = 
-               <TT
-CLASS="REPLACEABLE"
-><I
->filename</I
-></TT
->".  Then, in the file 
-               specified by <TT
-CLASS="REPLACEABLE"
-><I
->filename</I
-></TT
->, map the 
-               name of the NT driver name to the OS/2 driver name as 
-               follows:</P
-><P
-><B
-CLASS="COMMAND"
->nt driver name = os2 "driver 
-               name"."device name"</B
->, e.g.:
-               HP LaserJet 5L = LASERJET.HP LaserJet 5L</P
-><P
->You can have multiple drivers mapped in this file.</P
-><P
->If you only specify the OS/2 driver name, and not the 
-               device name, the first attempt to download the driver will 
-               actually download the files, but the OS/2 client will tell 
-               you the driver is not available.  On the second attempt, it 
-               will work.  This is fixed simply by adding the device name
-                to the mapping, after which it will work on the first attempt.
-               </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3224"
-></A
->24.3. Windows for Workgroups</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3226"
-></A
->24.3.1. Use latest TCP/IP stack from Microsoft</H3
-><P
->Use the latest TCP/IP stack from microsoft if you use Windows
-for workgroups.</P
-><P
->The early TCP/IP stacks had lots of bugs.</P
-><P
-> 
-Microsoft has released an incremental upgrade to their TCP/IP 32-Bit
-VxD drivers.  The latest release can be found on their ftp site at
-ftp.microsoft.com, located in /peropsys/windows/public/tcpip/wfwt32.exe.
-There is an update.txt file there that describes the problems that were
-fixed.  New files include WINSOCK.DLL, TELNET.EXE, WSOCK.386, VNBT.386,
-WSTCP.386, TRACERT.EXE, NETSTAT.EXE, and NBTSTAT.EXE.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3231"
-></A
->24.3.2. Delete .pwl files after password change</H3
-><P
->WfWg does a lousy job with passwords. I find that if I change my
-password on either the unix box or the PC the safest thing to do is to
-delete the .pwl files in the windows directory. The PC will complain about not finding the files, but will soon get over it, allowing you to enter the new password.</P
-><P
-> 
-If you don't do this you may find that WfWg remembers and uses the old
-password, even if you told it a new one.</P
-><P
-> 
-Often WfWg will totally ignore a password you give it in a dialog box.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3236"
-></A
->24.3.3. Configure WfW password handling</H3
-><P
->There is a program call admincfg.exe
-on the last disk (disk 8) of the WFW 3.11 disk set.  To install it
-type EXPAND A:\ADMINCFG.EX_ C:\WINDOWS\ADMINCFG.EXE Then add an icon
-for it via the "Progam Manager" "New" Menu.  This program allows you
-to control how WFW handles passwords.  ie disable Password Caching etc
-for use with <B
-CLASS="COMMAND"
->security = user</B
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3240"
-></A
->24.3.4. Case handling of passwords</H3
-><P
->Windows for Workgroups uppercases the password before sending it to the server. Unix passwords can be case-sensitive though. Check the <A
-HREF="smb.conf.5.html"
-TARGET="_top"
->smb.conf(5)</A
-> information on <B
-CLASS="COMMAND"
->password level</B
-> to specify what characters samba should try to uppercase when checking.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3245"
-></A
->24.4. Windows '95/'98</H2
-><P
->When using Windows 95 OEM SR2 the following updates are recommended where Samba
-is being used. Please NOTE that the above change will affect you once these
-updates  have been installed.</P
-><P
-> 
-There are more updates than the ones mentioned here. You are referred to the
-Microsoft Web site for all currently available updates to your specific version
-of Windows 95.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Kernel Update: KRNLUPD.EXE</P
-></LI
-><LI
-><P
->Ping Fix: PINGUPD.EXE</P
-></LI
-><LI
-><P
->RPC Update: RPCRTUPD.EXE</P
-></LI
-><LI
-><P
->TCP/IP Update: VIPUPD.EXE</P
-></LI
-><LI
-><P
->Redirector Update: VRDRUPD.EXE</P
-></LI
-></OL
-><P
->Also, if using MS OutLook it is desirable to install the OLEUPD.EXE fix. This
-fix may stop your machine from hanging for an extended period when exiting
-OutLook and you may also notice a significant speedup when accessing network
-neighborhood services.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3261"
-></A
->24.5. Windows 2000 Service Pack 2</H2
-><P
-> 
-There are several annoyances with Windows 2000 SP2. One of which
-only appears when using a Samba server to host user profiles
-to Windows 2000 SP2 clients in a Windows domain.  This assumes
-that Samba is a member of the domain, but the problem will
-likely occur if it is not.</P
-><P
-> 
-In order to server profiles successfully to Windows 2000 SP2 
-clients (when not operating as a PDC), Samba must have 
-<B
-CLASS="COMMAND"
->nt acl support = no</B
->
-added to the file share which houses the roaming profiles.
-If this is not done, then the Windows 2000 SP2 client will
-complain about not being able to access the profile (Access 
-Denied) and create multiple copies of it on disk (DOMAIN.user.001,
-DOMAIN.user.002, etc...).  See the 
-<A
-HREF="smb.conf.5.html"
-TARGET="_top"
->smb.conf(5)</A
-> man page
-for more details on this option.  Also note that the 
-<B
-CLASS="COMMAND"
->nt acl support</B
-> parameter was formally a global parameter in
-releases prior to Samba 2.2.2.</P
-><P
-> 
-The following is a minimal profile share:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      [profile]
-               path = /export/profile
-               create mask = 0600
-               directory mask = 0700
-               nt acl support = no
-               read only = no</PRE
-></P
-><P
->The reason for this bug is that the Win2k SP2 client copies
-the security descriptor for the profile which contains
-the Samba server's SID, and not the domain SID.  The client
-compares the SID for SAMBA\user and realizes it is
-different that the one assigned to DOMAIN\user.  Hence the reason
-for the "access denied" message.</P
-><P
->By disabling the <B
-CLASS="COMMAND"
->nt acl support</B
-> parameter, Samba will send
-the Win2k client a response to the QuerySecurityDescriptor
-trans2 call which causes the client to set a default ACL
-for the profile. This default ACL includes </P
-><P
-><B
-CLASS="COMMAND"
->DOMAIN\user   "Full Control"</B
-></P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->NOTE : This bug does not occur when using winbind to
-create accounts on the Samba host for Domain users.</I
-></SPAN
-></P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="BUGREPORT"
-></A
->Chapter 25. Reporting Bugs</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3285"
-></A
->25.1. Introduction</H2
-><P
->The email address for bug reports for stable releases is <A
-HREF="samba@samba.org"
-TARGET="_top"
->samba@samba.org</A
->. 
-Bug reports for alpha releases should go to <A
-HREF="mailto:samba-technical@samba.org"
-TARGET="_top"
->samba-technical@samba.org</A
->.</P
-><P
->Please take the time to read this file before you submit a bug
-report. Also, please see if it has changed between releases, as we
-may be changing the bug reporting mechanism at some time.</P
-><P
->Please also do as much as you can yourself to help track down the
-bug. Samba is maintained by a dedicated group of people who volunteer
-their time, skills and efforts. We receive far more mail about it than
-we can possibly answer, so you have a much higher chance of an answer
-and a fix if you send us a "developer friendly" bug report that lets
-us fix it fast. </P
-><P
->Do not assume that if you post the bug to the comp.protocols.smb
-newsgroup or the mailing list that we will read it. If you suspect that your 
-problem is not a bug but a configuration problem then it is better to send 
-it to the Samba mailing list, as there are (at last count) 5000 other users on
-that list that may be able to help you.</P
-><P
->You may also like to look though the recent mailing list archives,
-which are conveniently accessible on the Samba web pages
-at <A
-HREF="http://samba.org/samba/"
-TARGET="_top"
->http://samba.org/samba/</A
->.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3295"
-></A
->25.2. General info</H2
-><P
->Before submitting a bug report check your config for silly
-errors. Look in your log files for obvious messages that tell you that
-you've misconfigured something and run testparm to test your config
-file for correct syntax.</P
-><P
->Have you run through the <A
-HREF="Diagnosis.html"
-TARGET="_top"
->diagnosis</A
->? 
-This is very important.</P
-><P
->If you include part of a log file with your bug report then be sure to
-annotate it with exactly what you were doing on the client at the
-time, and exactly what the results were.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3301"
-></A
->25.3. Debug levels</H2
-><P
->If the bug has anything to do with Samba behaving incorrectly as a
-server (like refusing to open a file) then the log files will probably
-be very useful. Depending on the problem a log level of between 3 and
-10 showing the problem may be appropriate. A higher level givesmore
-detail, but may use too much disk space.</P
-><P
->To set the debug level use <B
-CLASS="COMMAND"
->log level =</B
-> in your 
-<TT
-CLASS="FILENAME"
->smb.conf</TT
->. You may also find it useful to set the log 
-level higher for just one machine and keep separate logs for each machine. 
-To do this use:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->log level = 10
-log file = /usr/local/samba/lib/log.%m
-include = /usr/local/samba/lib/smb.conf.%m</PRE
-></P
-><P
->then create a file 
-<TT
-CLASS="FILENAME"
->/usr/local/samba/lib/smb.conf.machine</TT
-> where
-"machine" is the name of the client you wish to debug. In that file
-put any smb.conf commands you want, for example 
-<B
-CLASS="COMMAND"
->log level=</B
-> may be useful. This also allows you to 
-experiment with different security systems, protocol levels etc on just 
-one machine.</P
-><P
->The <TT
-CLASS="FILENAME"
->smb.conf</TT
-> entry <B
-CLASS="COMMAND"
->log level =</B
-> 
-is synonymous with the entry <B
-CLASS="COMMAND"
->debuglevel =</B
-> that has been 
-used in older versions of Samba and is being retained for backwards 
-compatibility of smb.conf files.</P
-><P
->As the <B
-CLASS="COMMAND"
->log level =</B
-> value is increased you will record 
-a significantly increasing level of debugging information. For most 
-debugging operations you may not need a setting higher than 3. Nearly 
-all bugs can be tracked at a setting of 10, but be prepared for a VERY 
-large volume of log data.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3318"
-></A
->25.4. Internal errors</H2
-><P
->If you get a "INTERNAL ERROR" message in your log files it means that
-Samba got an unexpected signal while running. It is probably a
-segmentation fault and almost certainly means a bug in Samba (unless
-you have faulty hardware or system software)</P
-><P
->If the message came from smbd then it will probably be accompanied by
-a message which details the last SMB message received by smbd. This
-info is often very useful in tracking down the problem so please
-include it in your bug report.</P
-><P
->You should also detail how to reproduce the problem, if
-possible. Please make this reasonably detailed.</P
-><P
->You may also find that a core file appeared in a "corefiles"
-subdirectory of the directory where you keep your samba log
-files. This file is the most useful tool for tracking down the bug. To
-use it you do this:</P
-><P
-><B
-CLASS="COMMAND"
->gdb smbd core</B
-></P
-><P
->adding appropriate paths to smbd and core so gdb can find them. If you
-don't have gdb then try "dbx". Then within the debugger use the
-command "where" to give a stack trace of where the problem
-occurred. Include this in your mail.</P
-><P
->If you known any assembly language then do a "disass" of the routine
-where the problem occurred (if its in a library routine then
-disassemble the routine that called it) and try to work out exactly
-where the problem is by looking at the surrounding code. Even if you
-don't know assembly then incuding this info in the bug report can be
-useful. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3328"
-></A
->25.5. Attaching to a running process</H2
-><P
->Unfortunately some unixes (in particular some recent linux kernels)
-refuse to dump a core file if the task has changed uid (which smbd
-does often). To debug with this sort of system you could try to attach
-to the running process using "gdb smbd PID" where you get PID from
-smbstatus. Then use "c" to continue and try to cause the core dump
-using the client. The debugger should catch the fault and tell you
-where it occurred.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3331"
-></A
->25.6. Patches</H2
-><P
->The best sort of bug report is one that includes a fix! If you send us
-patches please use <B
-CLASS="COMMAND"
->diff -u</B
-> format if your version of 
-diff supports it, otherwise use <B
-CLASS="COMMAND"
->diff -c4</B
->. Make sure 
-your do the diff against a clean version of the source and let me know 
-exactly what version you used. </P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="DIAGNOSIS"
-></A
->Chapter 26. Diagnosing your samba server</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3354"
-></A
->26.1. Introduction</H2
-><P
->This file contains a list of tests you can perform to validate your
-Samba server. It also tells you what the likely cause of the problem
-is if it fails any one of these steps. If it passes all these tests
-then it is probably working fine.</P
-><P
->You should do ALL the tests, in the order shown. We have tried to
-carefully choose them so later tests only use capabilities verified in
-the earlier tests.</P
-><P
->If you send one of the samba mailing lists  an email saying "it doesn't work"
-and you have not followed this test procedure then you should not be surprised
-your email is ignored.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3359"
-></A
->26.2. Assumptions</H2
-><P
->In all of the tests it is assumed you have a Samba server called 
-BIGSERVER and a PC called ACLIENT both in workgroup TESTGROUP.</P
-><P
->The procedure is similar for other types of clients.</P
-><P
->It is also assumed you know the name of an available share in your
-smb.conf. I will assume this share is called "tmp". You can add a
-"tmp" share like by adding the following to smb.conf:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;[tmp]
- comment = temporary files 
- path = /tmp
- read only = yes&#13;</PRE
-></P
-><P
->THESE TESTS ASSUME VERSION 3.0.0 OR LATER OF THE SAMBA SUITE. SOME
-COMMANDS SHOWN DID NOT EXIST IN EARLIER VERSIONS</P
-><P
->Please pay attention to the error messages you receive. If any error message
-reports that your server is being unfriendly you should first check that you
-IP name resolution is correctly set up. eg: Make sure your /etc/resolv.conf
-file points to name servers that really do exist.</P
-><P
->Also, if you do not have DNS server access for name resolution please check
-that the settings for your smb.conf file results in "dns proxy = no". The
-best way to check this is with "testparm smb.conf"</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3369"
-></A
->26.3. Tests</H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3371"
-></A
->26.3.1. Test 1</H3
-><P
->In the directory in which you store your smb.conf file, run the command
-"testparm smb.conf". If it reports any errors then your smb.conf
-configuration file is faulty.</P
-><P
->Note: Your smb.conf file may be located in: <TT
-CLASS="FILENAME"
->/etc/samba</TT
->
-       Or in:   <TT
-CLASS="FILENAME"
->/usr/local/samba/lib</TT
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3377"
-></A
->26.3.2. Test 2</H3
-><P
->Run the command "ping BIGSERVER" from the PC and "ping ACLIENT" from
-the unix box. If you don't get a valid response then your TCP/IP
-software is not correctly installed. </P
-><P
->Note that you will need to start a "dos prompt" window on the PC to
-run ping.</P
-><P
->If you get a message saying "host not found" or similar then your DNS
-software or /etc/hosts file is not correctly setup. It is possible to
-run samba without DNS entries for the server and client, but I assume
-you do have correct entries for the remainder of these tests. </P
-><P
->Another reason why ping might fail is if your host is running firewall 
-software. You will need to relax the rules to let in the workstation
-in question, perhaps by allowing access from another subnet (on Linux
-this is done via the ipfwadm program.)</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3383"
-></A
->26.3.3. Test 3</H3
-><P
->Run the command "smbclient -L BIGSERVER" on the unix box. You
-should get a list of available shares back. </P
-><P
->If you get a error message containing the string "Bad password" then
-you probably have either an incorrect "hosts allow", "hosts deny" or
-"valid users" line in your smb.conf, or your guest account is not
-valid. Check what your guest account is using "testparm" and
-temporarily remove any "hosts allow", "hosts deny", "valid users" or
-"invalid users" lines.</P
-><P
->If you get a "connection refused" response then the smbd server may
-not be running. If you installed it in inetd.conf then you probably edited
-that file incorrectly. If you installed it as a daemon then check that
-it is running, and check that the netbios-ssn port is in a LISTEN
-state using "netstat -a".</P
-><P
->If you get a "session request failed" then the server refused the
-connection. If it says "Your server software is being unfriendly" then
-its probably because you have invalid command line parameters to smbd,
-or a similar fatal problem with the initial startup of smbd. Also
-check your config file (smb.conf) for syntax errors with "testparm"
-and that the various directories where samba keeps its log and lock
-files exist.</P
-><P
->There are a number of reasons for which smbd may refuse or decline
-a session request. The most common of these involve one or more of
-the following smb.conf file entries:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      hosts deny = ALL
-       hosts allow = xxx.xxx.xxx.xxx/yy
-       bind interfaces only = Yes</PRE
-></P
-><P
->In the above, no allowance has been made for any session requests that
-will automatically translate to the loopback adaptor address 127.0.0.1.
-To solve this problem change these lines to:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      hosts deny = ALL
-       hosts allow = xxx.xxx.xxx.xxx/yy 127.</PRE
-></P
-><P
->Do NOT use the "bind interfaces only" parameter where you may wish to
-use the samba password change facility, or where smbclient may need to
-access local service for name resolution or for local resource
-connections. (Note: the "bind interfaces only" parameter deficiency
-where it will not allow connections to the loopback address will be
-fixed soon).</P
-><P
->Another common cause of these two errors is having something already running 
-on port 139, such as Samba (ie: smbd is running from inetd already) or
-something like Digital's Pathworks. Check your inetd.conf file before trying
-to start smbd as a daemon, it can avoid a lot of frustration!</P
-><P
->And yet another possible cause for failure of TEST 3 is when the subnet mask
-and / or broadcast address settings are incorrect. Please check that the
-network interface IP Address / Broadcast Address / Subnet Mask settings are
-correct and that Samba has correctly noted these in the log.nmb file.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3398"
-></A
->26.3.4. Test 4</H3
-><P
->Run the command "nmblookup -B BIGSERVER __SAMBA__". You should get the
-IP address of your Samba server back.</P
-><P
->If you don't then nmbd is incorrectly installed. Check your inetd.conf
-if you run it from there, or that the daemon is running and listening
-to udp port 137.</P
-><P
->One common problem is that many inetd implementations can't take many
-parameters on the command line. If this is the case then create a
-one-line script that contains the right parameters and run that from
-inetd.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3403"
-></A
->26.3.5. Test 5</H3
-><P
->run the command <B
-CLASS="COMMAND"
->nmblookup -B ACLIENT '*'</B
-></P
-><P
->You should get the PCs IP address back. If you don't then the client
-software on the PC isn't installed correctly, or isn't started, or you
-got the name of the PC wrong. </P
-><P
->If ACLIENT doesn't resolve via DNS then use the IP address of the
-client in the above test.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3409"
-></A
->26.3.6. Test 6</H3
-><P
->Run the command <B
-CLASS="COMMAND"
->nmblookup -d 2 '*'</B
-></P
-><P
->This time we are trying the same as the previous test but are trying
-it via a broadcast to the default broadcast address. A number of
-Netbios/TCPIP hosts on the network should respond, although Samba may
-not catch all of the responses in the short time it listens. You
-should see "got a positive name query response" messages from several
-hosts.</P
-><P
->If this doesn't give a similar result to the previous test then
-nmblookup isn't correctly getting your broadcast address through its
-automatic mechanism. In this case you should experiment use the
-"interfaces" option in smb.conf to manually configure your IP
-address, broadcast and netmask. </P
-><P
->If your PC and server aren't on the same subnet then you will need to
-use the -B option to set the broadcast address to the that of the PCs
-subnet.</P
-><P
->This test will probably fail if your subnet mask and broadcast address are
-not correct. (Refer to TEST 3 notes above).</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3417"
-></A
->26.3.7. Test 7</H3
-><P
->Run the command <B
-CLASS="COMMAND"
->smbclient //BIGSERVER/TMP</B
->. You should 
-then be prompted for a password. You should use the password of the account
-you are logged into the unix box with. If you want to test with
-another account then add the -U &gt;accountname&lt; option to the end of
-the command line.  eg: 
-<B
-CLASS="COMMAND"
->smbclient //bigserver/tmp -Ujohndoe</B
-></P
-><P
->Note: It is possible to specify the password along with the username
-as follows:
-<B
-CLASS="COMMAND"
->smbclient //bigserver/tmp -Ujohndoe%secret</B
-></P
-><P
->Once you enter the password you should get the "smb&#62;" prompt. If you
-don't then look at the error message. If it says "invalid network
-name" then the service "tmp" is not correctly setup in your smb.conf.</P
-><P
->If it says "bad password" then the likely causes are:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      you have shadow passords (or some other password system) but didn't
-       compile in support for them in smbd
-       </P
-></LI
-><LI
-><P
->      your "valid users" configuration is incorrect
-       </P
-></LI
-><LI
-><P
->      you have a mixed case password and you haven't enabled the "password
-       level" option at a high enough level
-       </P
-></LI
-><LI
-><P
->      the "path =" line in smb.conf is incorrect. Check it with testparm
-       </P
-></LI
-><LI
-><P
->      you enabled password encryption but didn't create the SMB encrypted
-       password file
-       </P
-></LI
-></OL
-><P
->Once connected you should be able to use the commands 
-<B
-CLASS="COMMAND"
->dir</B
-> <B
-CLASS="COMMAND"
->get</B
-> <B
-CLASS="COMMAND"
->put</B
-> etc. 
-Type <B
-CLASS="COMMAND"
->help &gt;command&lt;</B
-> for instructions. You should
-especially check that the amount of free disk space shown is correct
-when you type <B
-CLASS="COMMAND"
->dir</B
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3443"
-></A
->26.3.8. Test 8</H3
-><P
->On the PC type the command <B
-CLASS="COMMAND"
->net view \\BIGSERVER</B
->. You will 
-need to do this from within a "dos prompt" window. You should get back a 
-list of available shares on the server.</P
-><P
->If you get a "network name not found" or similar error then netbios
-name resolution is not working. This is usually caused by a problem in
-nmbd. To overcome it you could do one of the following (you only need
-to choose one of them):</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->      fixup the nmbd installation</P
-></LI
-><LI
-><P
->      add the IP address of BIGSERVER to the "wins server" box in the
-       advanced tcp/ip setup on the PC.</P
-></LI
-><LI
-><P
->      enable windows name resolution via DNS in the advanced section of
-       the tcp/ip setup</P
-></LI
-><LI
-><P
->      add BIGSERVER to your lmhosts file on the PC.</P
-></LI
-></OL
-><P
->If you get a "invalid network name" or "bad password error" then the
-same fixes apply as they did for the "smbclient -L" test above. In
-particular, make sure your "hosts allow" line is correct (see the man
-pages)</P
-><P
->Also, do not overlook that fact that when the workstation requests the
-connection to the samba server it will attempt to connect using the 
-name with which you logged onto your Windows machine. You need to make
-sure that an account exists on your Samba server with that exact same
-name and password.</P
-><P
->If you get "specified computer is not receiving requests" or similar
-it probably means that the host is not contactable via tcp services.
-Check to see if the host is running tcp wrappers, and if so add an entry in
-the hosts.allow file for your client (or subnet, etc.)</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3460"
-></A
->26.3.9. Test 9</H3
-><P
->Run the command <B
-CLASS="COMMAND"
->net use x: \\BIGSERVER\TMP</B
->. You should 
-be prompted for a password then you should get a "command completed 
-successfully" message. If not then your PC software is incorrectly 
-installed or your smb.conf is incorrect. make sure your "hosts allow" 
-and other config lines in smb.conf are correct.</P
-><P
->It's also possible that the server can't work out what user name to
-connect you as. To see if this is the problem add the line "user =
-USERNAME" to the [tmp] section of smb.conf where "USERNAME" is the
-username corresponding to the password you typed. If you find this
-fixes things you may need the username mapping option. </P
-><P
->It might also be the case that your client only sends encrypted passwords 
-and you have <B
-CLASS="COMMAND"
->encrypt passwords = no</B
-> in <TT
-CLASS="FILENAME"
->smb.conf</TT
->.
-Turn it back on to fix.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3468"
-></A
->26.3.10. Test 10</H3
-><P
->Run the command <B
-CLASS="COMMAND"
->nmblookup -M TESTGROUP</B
-> where 
-TESTGROUP is the name of the workgroup that your Samba server and 
-Windows PCs belong to. You should get back the IP address of the 
-master browser for that workgroup.</P
-><P
->If you don't then the election process has failed. Wait a minute to
-see if it is just being slow then try again. If it still fails after
-that then look at the browsing options you have set in smb.conf. Make
-sure you have <B
-CLASS="COMMAND"
->preferred master = yes</B
-> to ensure that 
-an election is held at startup.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3474"
-></A
->26.3.11. Test 11</H3
-><P
->From file manager try to browse the server. Your samba server should
-appear in the browse list of your local workgroup (or the one you
-specified in smb.conf). You should be able to double click on the name
-of the server and get a list of shares. If you get a "invalid
-password" error when you do then you are probably running WinNT and it
-is refusing to browse a server that has no encrypted password
-capability and is in user level security mode. In this case either set
-<B
-CLASS="COMMAND"
->security = server</B
-> AND 
-<B
-CLASS="COMMAND"
->password server = Windows_NT_Machine</B
-> in your
-smb.conf file, or enable encrypted passwords AFTER compiling in support
-for encrypted passwords (refer to the Makefile).</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3479"
-></A
->26.4. Still having troubles?</H2
-><P
->Try the mailing list or newsgroup, or use the ethereal utility to
-sniff the problem. The official samba mailing list can be reached at
-<A
-HREF="mailto:samba@samba.org"
-TARGET="_top"
->samba@samba.org</A
->. To find 
-out more about samba and how to subscribe to the mailing list check 
-out the samba web page at 
-<A
-HREF="http://samba.org/samba"
-TARGET="_top"
->http://samba.org/samba</A
-></P
-><P
->Also look at the other docs in the Samba package!</P
-></DIV
-></DIV
-></DIV
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
index 4028a7bbdcab6ac58b6b23ad3f80fd0dc70a0ec8..00fd31b32e3cb783152c996da1fe9c60936b688b 100644 (file)
@@ -56,7 +56,7 @@
 
 
 <h3>Roadmap to 3.0</h3>
-<p><em>Page Last Updated</em> : $Date: 2003/01/16 02:20:24 $</em>
+<p><em>Page Last Updated</em> : $Date: 2002/11/01 15:24:20 $</em>
 <p><em>Estimated shipdate</em> : When it is ready.
 <p><em>Current Alpha Release</em> : <a href="http://www.samba.org/samba/ftp/alpha/samba-3.0alpha20.tar.gz">Samba-3.0alpha20</a>
 <p><em>Goals for 3.0alpha21 Release</em> :
diff --git a/docs/textdocs/CreatingGroupProfiles-Win2K.txt b/docs/textdocs/CreatingGroupProfiles-Win2K.txt
new file mode 100644 (file)
index 0000000..11a326b
--- /dev/null
@@ -0,0 +1,112 @@
+You must first convert the profile from a local profile to a domain
+profile on the MS Windows workstation as follows:
+
+1. Log on as the LOCAL workstation administrator.
+
+2. Right click on the 'My Computer' Icon, select 'Properties'
+
+3. Click on the 'User Profiles' tab
+
+4. Select the profile you wish to convert (click on it once)
+
+5. Click on the button 'Copy To'
+
+6. In the "Permitted to use" box, click on the 'Change' button.
+
+7. Click on the 'Look in" area that lists the machine name, when you click
+here it will open up a selection box. Click on the domain to which the
+profile must be accessible.
+
+Note: You will need to log on if a logon box opens up. Eg: In the connect
+as: MIDEARTH\root, password: mypassword.
+
+8. To make the profile capable of being used by anyone select 'Everyone'
+
+9. Click OK. The Selection box will close.
+
+10. Now click on the 'Ok' button to create the profile in the path you
+nominated.
+
+Done. You now have a profile that can be editted using the samba-3.0.0
+profiles tool.
+
+
+
+> Keep profiles clean and small by making them mandatory.
+> See the Win2K/WinXP resource kits for details how to create a mandatory profile.
+>
+> Can you do this when using Samba as a PDC?  I thought you could only do
+> policies if you had a Win2K server?
+
+No difference. Samba handles the profile ACLs the same way Win2K does.
+But understand that it is the Win2K client that does all the processing
+of the SIDs on the ACLs in the profile NTUser.DAT file.
+
+
+Note:
+-----
+> Unless your users are using Outlook (or virtually any E-mail client for
+> that matter) I have a few users with .PST files that are over 1Gig in
+> size. This is due to the regular amount of data files that we are sent. I
+> have discussed with them the need to trim those files down.
+
+Under NT/2K the use of mandotory profiles forces the use of MS Exchange
+storage of mail data. That keeps desktop profiles usable.
+
+
+Note:
+-----
+       Date: Tue, 19 Nov 2002 08:32:17 -0000
+       From: John Russell <apca72@dsl.pipex.com>
+       Reply-To: John Russell <j.c.russell@sussex.ac.uk>
+       To: samba@lists.samba.org
+       Subject: Re: [Samba] Samba and Windows XP
+
+           [ The following text is in the "iso-8859-1" character set. ]
+           [ Your display is set for the "US-ASCII" character set.  ]
+           [ Some characters may be displayed incorrectly. ]
+
+        this is a security check new to Windows XP (or maybe only
+       Windows XP service pack 1).  It can be disabled via a group policy in
+       Active Directory.  The policy is:
+
+       "Computer Configuration\Administrative Templates\System\User
+       Profiles\Do not check for user ownership of Roaming Profile Folders"
+
+       ...and it should be set to "Enabled".
+
+       Does the new version of samba have an Active Directory analogue?  If so,
+       then you may be able to set the policy through this.
+
+       If you cannot set group policies in samba, then you may be able to set
+       the policy locally on each machine.  If you want to try this, then do
+       the following (N.B. I don't know for sure that this will work in the
+       same way as a domain group policy):
+
+       On the XP workstation log in with an Administrator account.
+
+       Click: "Start", "Run"
+       Type: "mmc"
+       Click: "OK"
+
+       A Microsoft Management Console should appear.
+       Click: File, "Add/Remove Snap-in...", "Add"
+       Double-Click: "Group Policy"
+       Click: "Finish", "Close"
+       Click: "OK"
+
+       In the "Console Root" window:
+       Expand: "Local Computer Policy", "Computer Configuration",
+       "Administrative Templates", "System", "User Profiles"
+       Double-Click: "Do not check for user ownership of Roaming Profile
+       Folders"
+       Select: "Enabled"
+       Click: OK"
+
+       Close the whole console.  You do not need to save the settings (this
+       refers to the console settings rather than the policies you have
+       changed).
+
+       Reboot.
+
+
diff --git a/docs/textdocs/CreatingGroupProfiles-Win9X.txt b/docs/textdocs/CreatingGroupProfiles-Win9X.txt
new file mode 100644 (file)
index 0000000..3d9c239
--- /dev/null
@@ -0,0 +1,58 @@
+To      : "C.Lee Taylor" <leet@leenx.co.za>
+Cc      : Bart <bartro@go.ro>,
+          samba@lists.samba.org
+Attchmnt:
+Subject : Re: [Samba] Profiles ...
+----- Message Text -----
+On Fri, 17 Jan 2003, C.Lee Taylor wrote:
+
+> John H Terpstra wrote:
+> > On Thu, 16 Jan 2003, C.Lee Taylor wrote:
+> >
+> >
+> >>Bart wrote:
+> >>
+> >>>Or ju put the documents on the home drive and change the target of the
+> >>>'my documents' folder to this home drive.
+> >>>
+> >>>that way you have security & all the docs on a mounted drive.
+> >>
+> >>    We did that with Win98SE, and found that some times it would change
+> >>back or to something that should cause problems ... that is why I was
+> >>hoping, there was away around this ... but then it seems not.
+> >
+> >
+> > Did you check the Win98 Resource Kit for how to configure this?
+>       No, just searched the registery for the set strings, changed them and
+> tested.  Also used support.microsoft.com for other info ... Don't have
+> access to the Resource kits, unless they have not put them up on the net
+> and it's legal for us to use them wihtout paying?
+
+That method does not work well. You need the Win98 Group Policy Editor to
+set this up. It can be found on the Original full product Win98
+installation CD under tools/reskit/netadmin/poledit. You install this
+using the Add/Remove Programs facility and then click on the 'Have Disk'
+tab.
+
+Use the Group Policy Editor to create a policy file that specifies the
+location of user profiles and/or the 'My Documents' etc. stuff. You then
+save these settings in a file called Config.POL that needs to be placed in
+the root of the [NETLOGON] share. If your Win98 is configured to log onto
+the Samba Domain, it will automatically read this file and update the
+Win98 registry of the machine that is logging on.
+
+All of this is covered in the Win98 Resource Kit documentation.
+
+If you do not do it this way, then every so often Win98 will check the
+integrity of the registry and will restore it's settings from the back-up
+copy of the registry it stores on each Win98 machine. Hence, your symptoms
+of things changing back to original settings.
+
+Hope this helps. I have omitted quite a lot of detail you will need to
+figure out. Yell if you need more help.
+
+- John T.
+--
+John H Terpstra
+Email: jht@samba.org
+
diff --git a/docs/textdocs/CreatingGroupProfilesInNT4.txt b/docs/textdocs/CreatingGroupProfilesInNT4.txt
new file mode 100644 (file)
index 0000000..6667886
--- /dev/null
@@ -0,0 +1,71 @@
+Unfortunately, the Resource Kit info is Win NT4/2K version specific.
+
+Here is a quick guide:
+
+1. On your NT4 Domain Controller, right click on 'My Computer', then
+select the tab labelled 'User Profiles'.
+
+2. Select a user profile you want to migrate and click on it.
+
+Note: I am using the term "migrate" lossely. You can copy a profile to
+create a group profile. You can give the user 'Everyone' rights to the
+profile you copy this to. That is what you need to do, since your samba
+domain is not a member of a trust relationship with your NT4 PDC.
+
+3. Click the 'Copy To' button.
+
+4. In the box labelled 'Copy Profile to' add your new path, eg:
+c:\temp\foobar
+
+5. Click on the button labelled 'Change' in the "Permitted to use" box.
+
+6. Click on the group 'Everyone' and then click OK. This closes the
+'chose user' box.
+
+7. Now click OK.
+
+Follow the above for every profile you need to migrate.
+
+
+Side bar Notes:
+---------------
+You should obtain the SID of your NT4 domain. You can use smbpasswd to do
+this. Read the man page.
+
+With Samba-3.0.0 alpha code you can import all you NT4 domain accounts
+using the net samsync method. This way you can retain your profile
+settings as well as all your users.
+
+Also Note:
+----------
+The above method can be used to create mandatory profiles also. To convert
+a group profile into a mandatory profile simply locate the NTUser.DAT file
+in the copied profile and rename it to NTUser.MAN.
+
+
+Next Note:
+----------
+The W2K professional resource kit has moveuser.exe:
+
+Description:
+
+   moveuser.exe changes the security of a profile from one user to another.
+   This allows the account domain to change, and/or the user name to change.
+
+
+Next Note:
+----------
+You can identify the SID by using GetSID.exe from the Windows NT Server 4.0
+Resource Kit.
+
+Windows NT 4.0 stores the local profile information in the registry under
+the following key:
+HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
+
+Under the ProfileList key, there will be subkeys named with the SIDs of the
+users who have logged on to this computer. (To find the profile information
+for the user whose locally cached profile you want to move, find the SID for
+the user with the GetSID.exe utility.) Inside of the appropriate user's
+subkey, you will see a string value named ProfileImagePath.
+
+
diff --git a/examples/LDAP/export_smbpasswd.pl b/examples/LDAP/export_smbpasswd.pl
new file mode 100644 (file)
index 0000000..3f67dc6
--- /dev/null
@@ -0,0 +1,63 @@
+#!/usr/bin/perl
+##
+## Example script to export ldap entries into an smbpasswd file format
+## using the Mozilla PerLDAP module.
+##
+## writen by jerry@samba.org
+##
+
+use Mozilla::LDAP::Conn;
+use Mozilla::LDAP::Entry;
+
+######################################################
+## Set these values to whatever you need for your site
+##
+
+$DN="ou=people,dc=plainjoe,dc=org";
+$ROOTDN="cn=Manager,dc=plainjoe,dc=org";
+$rootpw = "secret";
+$LDAPSERVER="localhost";
+
+##
+## end local site variables
+######################################################
+
+
+$conn = new Mozilla::LDAP::Conn ("$LDAPSERVER", "389", $ROOTDN, $rootpw );
+die "Unable to connect to LDAP server $LDAPSERVER" unless $conn;
+
+print "##\n";
+print "## Autogenerated smbpasswd file via ldapsearch\n";
+print "## from $LDAPSERVER ($DN)\n";
+print "##\n";
+
+## scheck for the existence of the posixAccount first
+$result = $conn->search ("$DN", "sub", "(objectclass=smbPasswordEntry)");
+       
+       
+## loop over the entries we found
+while ($result) {
+       
+       @uid         = $result->getValue("uid"); 
+       @uidNumber   = $result->getValue("uidNumber"); 
+       @lm_pw       = $result->getValue("lmpassword"); 
+       @nt_pw       = $result->getValue("ntpassword"); 
+       @acct        = $result->getValue("acctFlags"); 
+       @pwdLastSet  = $result->getValue("pwdLastSet"); 
+       
+       if (($#uid+1) && ($#uidNumber+1)) {
+       
+               $lm_pw[0]      = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" if (! ($#lm_pw+1));
+               $nt_pw[0]      = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" if (! ($#nt_pw+1));
+               $acct[0]       = "[DU         ]" if (! ($#acct+1));
+               $pwdLastSet[0] = "FFFFFFFF" if (! ($#pwdLastSet+1));
+               
+               print "$uid[0]:$uidNumber[0]:$lm_pw[0]:$nt_pw[0]:$acct[0]:LCT-$pwdLastSet[0]\n";
+       }
+       
+       $result = $conn->nextEntry();           
+       
+}
+
+$conn->close();
+exit 0;
diff --git a/examples/LDAP/import_smbpasswd.pl b/examples/LDAP/import_smbpasswd.pl
new file mode 100644 (file)
index 0000000..14aeff9
--- /dev/null
@@ -0,0 +1,65 @@
+#!/usr/bin/perl
+##
+## Example script of how you could import and smbpasswd file into an LDAP
+## directory using the Mozilla PerLDAP module.
+##
+## writen by jerry@samba.org
+##
+
+use Mozilla::LDAP::Conn;
+use Mozilla::LDAP::Entry;
+
+#################################################
+## set these to a value appropriate for your site
+##
+
+$DN="ou=people,dc=plainjoe,dc=org";
+$ROOTDN="cn=Manager,dc=plainjoe,dc=org";
+$rootpw = "secret";
+$LDAPSERVER="localhost";
+
+##
+## end local site variables
+#################################################
+
+$conn = new Mozilla::LDAP::Conn ("$LDAPSERVER", "389", $ROOTDN, $rootpw );
+die "Unable to connect to LDAP server $LDAPSERVER" unless $conn;
+
+
+while ( $string = <STDIN> ) {
+       chop ($string);
+
+       ## get the account information
+       @smbentry = split (/:/, $string);
+
+       ## check for the existence of the posixAccount first
+
+       ## FIXME!!  Should do a getownam() and let the NSS modules lookup the account
+       ## This way you can have a UNIX account in /etc/passwd and the smbpasswd i
+       ## entry in LDAP.
+       $result = $conn->search ("$DN", "sub", "(&(uid=$smbentry[0])(objectclass=posixAccount))");
+       if ( ! $result ) {
+               print STDERR "uid=$smbentry[0] does not have a posixAccount entry in the directory!\n";
+               next;
+       }
+
+       print "Updating [" . $result->getDN() . "]\n";
+
+       ## Do we need to add the 'objectclass: smbPasswordEntry' attribute?
+       if (! $result->hasValue("objectclass", "smbPasswordEntry")) {
+               $result->addValue("objectclass", "smbPasswordEntry");
+       }
+       
+       ## Set other attribute values
+       $result->setValues ("lmPassword", $smbentry[2]);
+       $result->setValues ("ntPassword", $smbentry[3]);
+       $result->setValues ("acctFlags",  $smbentry[4]);
+       $result->setValues ("pwdLastSet", substr($smbentry[5],4));
+
+       if (! $conn->update($result)) {
+               print "Error updating!\n";
+       }
+}
+
+$conn->close();
+exit 0;
index 7fe45248824e1e6913211b1dde64cdc9e0de5a7a..561473129b00adb9c644524691ea49f9cbbf903b 100644 (file)
@@ -1,7 +1,46 @@
 README for Samba Password Database (PDB) examples
 ====================================================
-Jelmer Vernooij <jelmer@nl.linux.org>
-Stefan (metze) Metzmacher <metze@metzemix.de>
+8-8-2002 Jelmer Vernooij <jelmer@samba.org>
+
+Added mysql and xml modules. See README in xml/ and mysql/ for details.
+
+21-6-2002 Stefan (metze) Metzmacher <metze@metzemix.de>
+
+I have added an interface versioning.
+
+Every module MUST have a pdb_version() function.
+
+this is defined in include/passdb.h:
+#define PDB_MODULE_VERSIONING_MAGIC \
+int pdb_version(void)\
+{\
+       return PASSDB_INTERFACE_VERSION;\
+}
+
+You MUST add this line inside a module:
+PDB_MODULE_VERSIONING_MAGIC
+
+21-6-2002 Stefan (metze) Metzmacher <metze@metzemix.de>
+
+The pdb_interface was changed:
+
+this function are deleted:
+static BOOL testsam_getsampwrid (struct pdb_methods *methods, SAM_ACCOUNT *user, uint32 rid)
+
+this function are added:
+static BOOL testsam_getsampwsid (struct pdb_methods *methods, SAM_ACCOUNT *user, DOM_SID sid)
+
+In the SAM_ACCOUNT struct:
+
+this fields are deleted:
+uint32 user_rid;
+uint32 group_rid;
+
+this fields are added:
+DOM_SID user_sid;
+DOM_SID group_sid; 
+
+15-2-2002 Jelmer Vernooij <jelmer@nl.linux.org>
 
 The pdb_test.c file in this directory contains a very basic example of 
 a pdb plugin. It just prints the name of the function that is executed using
@@ -11,5 +50,6 @@ future too..
 To debug passdb backends, try to run gdb on the 'pdbedit' executable. That's really much easier than restarting smbd constantly and attaching with your debugger.
 
 New passdb plugins should go into the samba lib directory, (/usr/lib/samba/ for
-most distributions). An example would be: /usr/lib/samba/test.so
+most distributions) and should be prefixed with 'pdb_'. An example would be: 
+/usr/lib/samba/pdb_test.so
 
index f5fb57ddb20acc7c2181595c567672b3cfd67e80..c5ba094e42c7646033f15247396478763e313b58 100644 (file)
@@ -25,6 +25,9 @@ static int testsam_debug_level = DBGC_ALL;
 #undef DBGC_CLASS
 #define DBGC_CLASS testsam_debug_level
 
+/* define the version of the passdb interface */ 
+PDB_MODULE_VERSIONING_MAGIC
+
 /***************************************************************
  Start enumeration of the passwd list.
 ****************************************************************/
@@ -104,7 +107,7 @@ static NTSTATUS testsam_add_sam_account (struct pdb_methods *methods, SAM_ACCOUN
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS testsam_init(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
+NTSTATUS pdb_init(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
        NTSTATUS nt_status;
 
@@ -138,12 +141,3 @@ NTSTATUS testsam_init(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const
 
        return NT_STATUS_OK;
 }
-
-int init_module(void);
-
-int init_module() {
-       if(smb_register_passdb("testsam", testsam_init, PASSDB_INTERFACE_VERSION))
-               return 0;
-
-       return 1;
-}
diff --git a/examples/printing/smbprint.old b/examples/printing/smbprint.old
deleted file mode 100755 (executable)
index 5a00a2a..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh 
-
-# This script is an input filter for printcap printing on a unix machine. It
-# uses the smbclient program to print the file to the specified smb-based 
-# server and service.
-# For example you could have a printcap entry like this
-#
-# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
-#
-# which would create a unix printer called "smb" that will print via this 
-# script. You will need to create the spool directory /usr/spool/smb with
-# appropriate permissions and ownerships for your system.
-
-# Set these to the server and service you wish to print to 
-# In this example I have a WfWg PC called "lapland" that has a printer 
-# exported called "printer" with no password.
-
-#
-# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton)
-# so that the server, service, and password can be read from 
-# a /usr/var/spool/lpd/PRINTNAME/.config file.
-#
-# Script further modified by Richard Sharpe to fix some things.
-# Get rid of the -x on the first line, and add parameters
-#
-#    -t  now causes translate to be used when sending files
-#
-# In order for this to work the /etc/printcap entry must include an 
-# accounting file (af=...):
-#
-#   cdcolour:\
-#      :cm=CD IBM Colorjet on 6th:\
-#      :sd=/var/spool/lpd/cdcolour:\
-#      :af=/var/spool/lpd/cdcolour/acct:\
-#      :if=/usr/local/etc/smbprint:\
-#      :mx=0:\
-#      :lp=/dev/null:
-#
-# The /usr/var/spool/lpd/PRINTNAME/.config file should contain:
-#   server=PC_SERVER
-#   service=PR_SHARENAME
-#   password="password"
-#
-# E.g.
-#   server=PAULS_PC
-#   service=CJET_371
-#   password=""
-
-#
-# Debugging log file, change to /dev/null if you like.
-#
-logfile=/tmp/smb-print.log
-# logfile=/dev/null
-
-
-#
-# The last parameter to the filter is the accounting file name.
-#   Extract the directory name from the file name.
-#   Concat this with /.config to get the config file.
-#
-TRANS=0
-eval acct_file=\${$#}
-spool_dir=`dirname $acct_file` 
-config_file=$spool_dir/.config
-
-# Should read the following variables set in the config file:
-#   server
-#   service
-#   password
-eval `cat $config_file`
-
-while getopts t c; do
-  case $c in
-    t)
-       TRANS=1
-       ;;
-
-    '?')  # Bad parameters, ignore it ...
-       ;;
-  esac
-done
-#
-# Some debugging help, change the >> to > if you want to same space.
-#
-echo "server $server, service $service" >> $logfile
-
-(
-# NOTE You may wish to add the line `echo translate' if you want automatic
-# CR/LF translation when printing.
-       if [ $TRANS -eq 1 ]; then
-          echo translate
-        fi
-       echo "print -"
-       cat
-) | /usr/local/samba/bin/smbclient "\\\\$server\\$service" $password -U $server -N -P >> $logfile
diff --git a/examples/sam/.cvsignore b/examples/sam/.cvsignore
deleted file mode 100644 (file)
index f3c7a7c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/examples/sam/Makefile.in b/examples/sam/Makefile.in
deleted file mode 100644 (file)
index d5df346..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-CC             = @CC@
-CFLAGS         = @CFLAGS@
-CPPFLAGS       = @CPPFLAGS@
-LDFLAGS                = @LDFLAGS@
-LDSHFLAGS      = -shared
-srcdir         = @builddir@
-FLAGS          =  $(CFLAGS) -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper  -I. $(CPPFLAGS) -I$(srcdir)
-
-SAM_OBJS       = sam_skel.so
-
-# Default target
-
-default: $(SAM_OBJS)
-
-# Pattern rules
-
-%.so: %.o
-       $(CC) $(LDSHFLAGS) $(LDFLAGS) -o $@ $<
-
-%.o: %.c
-       $(CC) $(FLAGS) -c $<
-
-# Misc targets
-
-clean:
-       rm -rf .libs
-       rm -f core *~ *% *.bak \
-       $(SAM_OBJ) $(SAM_OBJS)
diff --git a/examples/sam/README b/examples/sam/README
deleted file mode 100644 (file)
index 9e9fbb2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-README for Samba SAM Database examples
-====================================================
-26-08-2002 Stefan (metze) Metzmacher <metze@metzemix.de>
-
-Every module MUST have a sam_version() function.
-
-this is defined in include/sam.h:
-#define SAM_MODULE_VERSIONING_MAGIC \
-int sam_version(void)\
-{\
-       return SAM_INTERFACE_VERSION;\
-}
-
-You MUST add this line inside a module:
-SAM_MODULE_VERSIONING_MAGIC
-
-
-The sam_skel.c file in this directory contains a very basic example of 
-a SAM plugin. It just prints the name of the function that is executed using
-DEBUG. Maybe it's nice to include some of the arguments to the function in the 
-future too..
-
-New SAM plugins should go into the samba lib directory, (/usr/lib/samba/ 
-for most distributions) and should be prefixed with 'sam_' and should go into the 
-subdir sam/. The SAM subsystem will search in /usr/lib/samba/sam and fall back to 
-/usr/lib/samba/ . 
-An example path would be: 
-/usr/lib/samba/sam/sam_skel.so
-
diff --git a/examples/sam/sam_skel.c b/examples/sam/sam_skel.c
deleted file mode 100644 (file)
index da3a375..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   this is a skeleton for SAM backend modules.
-       
-   Copyright (C) Stefan (metze) Metzmacher             2002
-   Copyright (C) Jelmer Vernooij                               2002
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-static int sam_skel_debug_level = DBGC_SAM;
-
-#undef DBGC_CLASS
-#define DBGC_CLASS sam_skel_debug_level
-
-/* define the version of the SAM interface */ 
-SAM_MODULE_VERSIONING_MAGIC
-
-/* General API */
-
-NTSTATUS sam_skel_get_sec_desc(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID *sid, SEC_DESC **sd)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_set_sec_desc(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID *sid, const SEC_DESC *sd)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-       
-NTSTATUS sam_skel_lookup_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID *sid, char **name, uint32 *type)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_lookup_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const char *name, DOM_SID **sid, uint32 *type)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-       
-/* Domain API */
-
-NTSTATUS sam_skel_update_domain(const SAM_METHODS *sam_methods, const SAM_DOMAIN_HANDLE *domain)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_get_domain_handle(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, SAM_DOMAIN_HANDLE **domain)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-/* Account API */
-
-NTSTATUS sam_skel_create_account(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *group_name, uint16 acct_ctrl, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_add_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_update_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_delete_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_enum_accounts(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint16 acct_ctrl, uint32 *account_count, SAM_ACCOUNT_ENUM **accounts)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-NTSTATUS sam_skel_get_account_by_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_get_account_by_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-/* Group API */
-
-NTSTATUS sam_skel_create_group(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *account_name, uint16 group_ctrl, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_add_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_update_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_delete_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_enum_groups(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_get_group_by_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_get_group_by_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-NTSTATUS sam_skel_add_member_to_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_delete_member_from_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_skel_enum_groupmembers(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, uint32 *members_count, SAM_GROUP_MEMBER **members)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-NTSTATUS sam_skel_get_groups_of_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID **sids, uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",__FUNCTION__));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_init(SAM_METHODS *sam_methods, const char *module_params)
-{
-       /* Functions your SAM module doesn't provide should be set 
-        * to NULL */
-
-       sam_methods->sam_get_sec_desc = sam_skel_get_sec_desc;
-       sam_methods->sam_set_sec_desc = sam_skel_set_sec_desc;
-       
-       sam_methods->sam_lookup_sid = sam_skel_lookup_sid;
-       sam_methods->sam_lookup_name = sam_skel_lookup_name;
-       
-       /* Domain API */
-
-       sam_methods->sam_update_domain = sam_skel_update_domain;
-       sam_methods->sam_get_domain_handle = sam_skel_get_domain_handle;
-
-       /* Account API */
-
-       sam_methods->sam_create_account = sam_skel_create_account;
-       sam_methods->sam_add_account = sam_skel_add_account;
-       sam_methods->sam_update_account = sam_skel_update_account;
-       sam_methods->sam_delete_account = sam_skel_delete_account;
-       sam_methods->sam_enum_accounts = sam_skel_enum_accounts;
-
-       sam_methods->sam_get_account_by_sid = sam_skel_get_account_by_sid;
-       sam_methods->sam_get_account_by_name = sam_skel_get_account_by_name;
-
-       /* Group API */
-
-       sam_methods->sam_create_group = sam_skel_create_group;
-       sam_methods->sam_add_group = sam_skel_add_group;
-       sam_methods->sam_update_group = sam_skel_update_group;
-       sam_methods->sam_delete_group = sam_skel_delete_group;
-       sam_methods->sam_enum_groups = sam_skel_enum_groups;
-       sam_methods->sam_get_group_by_sid = sam_skel_get_group_by_sid;
-       sam_methods->sam_get_group_by_name = sam_skel_get_group_by_name;
-
-       sam_methods->sam_add_member_to_group = sam_skel_add_member_to_group;
-       sam_methods->sam_delete_member_from_group = sam_skel_delete_member_from_group;
-       sam_methods->sam_enum_groupmembers = sam_skel_enum_groupmembers;
-
-       sam_methods->sam_get_groups_of_sid = sam_skel_get_groups_of_sid;
-
-       sam_methods->free_private_data = NULL;
-
-
-       sam_skel_debug_level = debug_add_class("sam_skel");
-       if (sam_skel_debug_level == -1) {
-               sam_skel_debug_level = DBGC_SAM;
-               DEBUG(0, ("sam_skel: Couldn't register custom debugging class!\n"));
-       } else DEBUG(2, ("sam_skel: Debug class number of 'sam_skel': %d\n", sam_skel_debug_level));
-    
-       if(module_params)
-               DEBUG(0, ("Starting 'sam_skel' with parameters '%s' for domain %s\n", module_params, sam_methods->domain_name));
-       else
-               DEBUG(0, ("Starting 'sam_skel' for domain %s without paramters\n", sam_methods->domain_name));
-
-       return NT_STATUS_OK;
-}
index fef24538244d42582c6803e24ebb982eb0679e40..d08edab4b05d3e396e3b3e3e4512b416028a0076 100644 (file)
@@ -15,6 +15,7 @@ config.cache
 config.log
 config.status
 configure.tridge
+configure
 cvs.log
 diffs
 dmalloc.log
@@ -27,4 +28,3 @@ testdir
 testtmp
 trace.out
 typescript*
-configure
index c3b70f99866cf889e7f8a30b0117d05f11379b1a..6af3368a5bbe88e672169826395df4b1add9c3b7 100644 (file)
@@ -26,7 +26,6 @@ TERMLDFLAGS=@TERMLDFLAGS@
 TERMLIBS=@TERMLIBS@
 PRINTLIBS=@PRINTLIBS@
 AUTHLIBS=@AUTHLIBS@
-ACLLIBS=@ACLLIBS@
 
 LINK=$(CC) $(FLAGS) $(LDFLAGS)
 
@@ -117,8 +116,7 @@ BIN_PROGS1 = bin/smbclient@EXEEXT@ bin/net@EXEEXT@ bin/smbspool@EXEEXT@ \
 BIN_PROGS2 = bin/smbcontrol@EXEEXT@ bin/smbtree@EXEEXT@ bin/tdbbackup@EXEEXT@ \
        bin/nmblookup@EXEEXT@ bin/pdbedit@EXEEXT@
 BIN_PROGS3 = bin/smbpasswd@EXEEXT@ bin/rpcclient@EXEEXT@ bin/smbcacls@EXEEXT@ \
-       bin/profiles@EXEEXT@ bin/smbgroupedit@EXEEXT@ bin/ntlm_auth@EXEEXT@ \
-       bin/editreg@EXEEXT@
+       bin/profiles@EXEEXT@ bin/smbgroupedit@EXEEXT@ bin/ntlm_auth@EXEEXT@
 
 TORTURE_PROGS = bin/smbtorture@EXEEXT@ bin/msgtest@EXEEXT@ \
        bin/masktest@EXEEXT@ bin/locktest@EXEEXT@ \
@@ -133,10 +131,8 @@ SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script
 
 QUOTAOBJS=@QUOTAOBJS@
 
-VFS_MODULES = bin/vfs_audit.@SHLIBEXT@ bin/vfs_extd_audit.@SHLIBEXT@ bin/vfs_recycle.@SHLIBEXT@ \
-       bin/vfs_netatalk.@SHLIBEXT@ bin/vfs_fake_perms.@SHLIBEXT@
+VFS_MODULES = bin/vfs_audit.@SHLIBEXT@ bin/vfs_extd_audit.@SHLIBEXT@ bin/vfs_recycle.@SHLIBEXT@ bin/vfs_netatalk.@SHLIBEXT@ 
 PDB_MODULES = @MODULE_MYSQL@ @MODULE_XML@
-MODULES = bin/developer.@SHLIBEXT@ 
 
 ######################################################################
 # object file lists
@@ -163,7 +159,6 @@ LIB_OBJ = lib/charcnv.o lib/debug.o lib/fault.o \
          nsswitch/wb_client.o nsswitch/wb_common.o \
          lib/pam_errors.o intl/lang_tdb.o lib/account_pol.o \
          lib/adt_tree.o lib/gencache.o $(TDB_OBJ) \
-         lib/module.o lib/genparser.o lib/genparser_samba.o \
          lib/ldap_escape.o
 
 LIB_SMBD_OBJ = lib/system_smbd.o lib/util_smbd.o
@@ -173,14 +168,12 @@ READLINE_OBJ = lib/readline.o
 POPT_LIB_OBJ = lib/popt_common.o 
 
 UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
-            ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o 
+            ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o
 
 PARAM_OBJ = param/loadparm.o param/params.o dynconfig.o
 
-KRBCLIENT_OBJ = libads/kerberos.o
-
 LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o libads/sasl.o \
-            libads/krb5_setpw.o libads/ldap_user.o \
+            libads/krb5_setpw.o libads/kerberos.o libads/ldap_user.o \
             libads/ads_struct.o libads/ads_status.o \
              libads/disp_sec.o libads/ads_utils.o libads/ldap_utils.o \
             libads/ads_ldap.o
@@ -189,24 +182,18 @@ LIBADS_SERVER_OBJ = libads/util.o libads/kerberos_verify.o
 
 SECRETS_OBJ = passdb/secrets.o
 
-LIBNMB_OBJ = libsmb/unexpected.o libsmb/namecache.o libsmb/nmblib.o \
-            libsmb/namequery.o 
-
-LIBNTLMSSP_OBJ = libsmb/ntlmssp.o libsmb/ntlmssp_parse.o
-
-LIBSAMBA_OBJ = libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o
-
 LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
             libsmb/clikrb5.o libsmb/clispnego.o libsmb/asn1.o \
             libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
             libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \
             libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.o \
-            libsmb/clistr.o \
+            libsmb/namequery.o libsmb/nmblib.o libsmb/clistr.o \
+             libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o \
              libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \
             libsmb/clioplock.o libsmb/errormap.o libsmb/clirap2.o \
-            libsmb/passchange.o libsmb/doserr.o \
-            libsmb/trustdom_cache.o \
-            $(RPC_PARSE_OBJ1) $(LIBNTLMSSP_OBJ) $(LIBSAMBA_OBJ) $(LIBNMB_OBJ)
+            libsmb/passchange.o libsmb/unexpected.o libsmb/doserr.o \
+            libsmb/namecache.o libsmb/ntlmssp.o \
+            $(RPC_PARSE_OBJ1)
 
 LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
               rpc_client/cli_netlogon.o rpc_client/cli_srvsvc.o \
@@ -220,7 +207,6 @@ LIBMSRPC_SERVER_OBJ = libsmb/trust_passwd.o
 REGOBJS_OBJ = registry/reg_objects.o
 REGISTRY_OBJ = registry/reg_frontend.o registry/reg_cachehook.o registry/reg_printing.o \
                registry/reg_db.o 
-
 RPC_LSA_OBJ = rpc_server/srv_lsa.o rpc_server/srv_lsa_nt.o
 
 RPC_NETLOG_OBJ = rpc_server/srv_netlog.o rpc_server/srv_netlog_nt.o
@@ -277,7 +263,7 @@ RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_net.o \
                $(REGOBJS_OBJ)
 
 
-RPC_CLIENT_OBJ = rpc_client/cli_pipe.o 
+RPC_CLIENT_OBJ = rpc_client/cli_pipe.o
 
 LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
 
@@ -285,20 +271,12 @@ PASSDB_GET_SET_OBJ = passdb/pdb_get_set.o
 
 PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \
                passdb/machine_sid.o passdb/pdb_smbpasswd.o \
-               passdb/pdb_tdb.o passdb/pdb_ldap.o \
+               passdb/pdb_tdb.o passdb/pdb_ldap.o passdb/pdb_plugin.o \
                passdb/pdb_unix.o passdb/util_sam_sid.o \
-               passdb/pdb_compat.o passdb/pdb_nisplus.o passdb/privileges.o
-
-XML_OBJ = modules/xml.o
-MYSQL_OBJ = modules/mysql.o
-DEVEL_HELP_OBJ = modules/developer.o
+               passdb/pdb_compat.o passdb/pdb_nisplus.o
 
-SAM_STATIC_MODULES = sam/sam_plugin.o sam/sam_skel.o sam/sam_ads.o
-
-SAM_OBJ = sam/account.o sam/get_set_account.o sam/get_set_group.o \
-               sam/get_set_domain.o sam/interface.o $(SAM_STATIC_MODULES)
-
-SAMTEST_OBJ = torture/samtest.o torture/cmd_sam.o $(SAM_OBJ) $(LIB_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(READLINE_OBJ) lib/util_seaccess.o $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(GROUPDB_OBJ)
+PDB_XML_OBJ = passdb/pdb_xml.o
+PDB_MYSQL_OBJ = passdb/pdb_mysql.o
 
 GROUPDB_OBJ = groupdb/mapping.o
 
@@ -345,7 +323,7 @@ SMBD_OBJ_BASE = $(SMBD_OBJ_SRV) $(MSDFS_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_
                $(LIB_OBJ) $(PRINTBACKEND_OBJ) $(QUOTAOBJS) $(OPLOCK_OBJ) \
                $(NOTIFY_OBJ) $(GROUPDB_OBJ) $(AUTH_OBJ) \
                $(LIBMSRPC_OBJ) $(LIBMSRPC_SERVER_OBJ) \
-               $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) \
+               $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) \
                $(LIB_SMBD_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ)
 
 
@@ -373,7 +351,7 @@ NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
             nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \
             nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o
 
-NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(UBIQX_OBJ) \
+NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
            $(PROFILE_OBJ) $(LIB_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ)
 
 WREPL_OBJ1 = wrepld/server.o wrepld/process.o wrepld/parser.o wrepld/socket.o \
@@ -386,7 +364,7 @@ SWAT_OBJ1 = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
            web/swat.o web/neg_lang.o 
 
 SWAT_OBJ = $(SWAT_OBJ1) $(PRINTING_OBJ) $(LIBSMB_OBJ) $(LOCKING_OBJ) \
-           $(PARAM_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \
+           $(PARAM_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) \
           $(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ)
 
 SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \
@@ -400,8 +378,7 @@ SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PARAM_OBJ) \
        printing/printing_db.o
 
 SMBTREE_OBJ = utils/smbtree.o $(LOCKING_OBJ) $(PARAM_OBJ) \
-             $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) $(LIBSMB_OBJ) \
-            $(KRBCLIENT_OBJ)
+             $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) $(LIBSMB_OBJ) 
 
 TESTPARM_OBJ = utils/testparm.o \
                $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) $(POPT_LIB_OBJ)
@@ -411,14 +388,14 @@ TESTPRNS_OBJ = utils/testprns.o $(PARAM_OBJ) $(PRINTING_OBJ) $(UBIQX_OBJ) \
 
 SMBPASSWD_OBJ = utils/smbpasswd.o $(PARAM_OBJ) $(SECRETS_OBJ) \
                $(LIBSMB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ)\
-                $(UBIQX_OBJ) $(LIB_OBJ) $(KRBCLIENT_OBJ)
+                $(UBIQX_OBJ) $(LIB_OBJ)
 
-PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(PASSDB_OBJ) $(LIBSAMBA_OBJ) \
+PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
                $(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ) $(SECRETS_OBJ) \
                $(POPT_LIB_OBJ)
 
 SMBGROUPEDIT_OBJ = utils/smbgroupedit.o $(GROUPDB_OBJ) $(PARAM_OBJ) \
-               $(LIBSAMBA_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+               $(LIBSMB_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
 
 RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \
                 rpcclient/cmd_samr.o rpcclient/cmd_spoolss.o \
@@ -429,7 +406,7 @@ RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \
 RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
              $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
              $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_OBJ) \
-             $(READLINE_OBJ) $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) \
+             $(READLINE_OBJ) $(GROUPDB_OBJ) \
             $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ)
 
 PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po lib/snprintf.po
@@ -439,7 +416,7 @@ SMBW_OBJ1 = smbwrapper/smbw.o \
                smbwrapper/realcalls.o smbwrapper/shared.o \
                smbwrapper/smbw_cache.o
 
-SMBW_OBJ = $(SMBW_OBJ1) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+SMBW_OBJ = $(SMBW_OBJ1) $(LIBSMB_OBJ) $(PARAM_OBJ) \
                 $(UBIQX_OBJ) $(LIB_OBJ)
 
 SMBWRAPPER_OBJ1 = smbwrapper/wrapped.o
@@ -448,7 +425,7 @@ SMBWRAPPER_OBJ = $(SMBW_OBJ) $(SMBWRAPPER_OBJ1)
 
 LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \
                   libsmb/libsmb_cache.o $(LIB_OBJ) \
-                  $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
+                  $(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
 
 # This shared library is intended for linking with unit test programs
 # to test Samba internals.  It's called libbigballofmud.so to
@@ -458,56 +435,54 @@ LIBBIGBALLOFMUD_MAJOR = 0
 
 LIBBIGBALLOFMUD_OBJ = $(LIB_OBJ) $(UBIQX_OBJ) $(PARAM_OBJ) $(SECRETS_OBJ) \
        $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
-       $(GROUPDB_OBJ) $(KRBCLIENT_OBJ)
+       $(GROUPDB_OBJ)
 
 LIBBIGBALLOFMUD_PICOBJS = $(LIBBIGBALLOFMUD_OBJ:.o=.po)
 
 CLIENT_OBJ1 = client/client.o client/clitar.o 
 
-CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
-            $(LIB_OBJ) $(KRBCLIENT_OBJ) \
-             $(READLINE_OBJ) $(POPT_LIB_OBJ) 
+CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
+             $(READLINE_OBJ) $(POPT_LIB_OBJ)
 
 NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_ads_cldap.o utils/net_help.o \
           utils/net_rap.o utils/net_rpc.o utils/net_rpc_samsync.o \
           utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
           utils/net_cache.o
 
-NET_OBJ = $(NET_OBJ1) $(SECRETS_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+NET_OBJ = $(NET_OBJ1) $(SECRETS_OBJ) $(LIBSMB_OBJ) \
          $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
          $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
          $(LIBMSRPC_OBJ) $(LIBMSRPC_SERVER_OBJ) \
          $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(POPT_LIB_OBJ)
 
-CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
-         $(LIB_OBJ) $(KRBCLIENT_OBJ)
+CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 
 
 MOUNT_OBJ = client/smbmount.o \
-             $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 
+             $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) 
 
 MNT_OBJ = client/smbmnt.o              
 
 UMOUNT_OBJ = client/smbumount.o
 
-NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBNMB_OBJ) \
-               $(LIB_OBJ)
+NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) \
+                $(LIBSMB_OBJ) $(LIB_OBJ)
 
 SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \
                torture/denytest.o torture/mangle_test.o 
 
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) \
-       $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+       $(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
 
-MASKTEST_OBJ = torture/masktest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+MASKTEST_OBJ = torture/masktest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-MSGTEST_OBJ = torture/msgtest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+MSGTEST_OBJ = torture/msgtest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-LOCKTEST_OBJ = torture/locktest.o $(LOCKING_OBJ) $(KRBCLIENT_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
+LOCKTEST_OBJ = torture/locktest.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-NSSTEST_OBJ = torture/nsstest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+NSSTEST_OBJ = torture/nsstest.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
 VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ)
@@ -516,14 +491,11 @@ VFS_AUDIT_OBJ = modules/vfs_audit.o
 VFS_EXTD_AUDIT_OBJ = modules/vfs_extd_audit.o
 VFS_RECYCLE_OBJ = modules/vfs_recycle.o
 VFS_NETATALK_OBJ = modules/vfs_netatalk.o
-VFS_FAKE_PERMS_OBJ = modules/vfs_fake_perms.o
 
-LOCKTEST2_OBJ = torture/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) \
-               $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+LOCKTEST2_OBJ = torture/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
-               $(PARAM_OBJ) \
+SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_GET_SET_OBJ) \
                 $(LIBMSRPC_OBJ) $(SECRETS_OBJ)
 
@@ -536,24 +508,24 @@ RPCTORTURE_OBJ = torture/rpctorture.o \
              rpcclient/cmd_samr.o \
              rpcclient/cmd_srvsvc.o \
              rpcclient/cmd_netlogon.o \
-             $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) $(KRBCLIENT_OBJ) \
+             $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
              $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_GET_SET_OBJ)
 
 DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o
 
 SMBFILTER_OBJ = utils/smbfilter.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
-                 $(UBIQX_OBJ) $(LIB_OBJ) $(KRBCLIENT_OBJ) 
+                 $(UBIQX_OBJ) $(LIB_OBJ)
 
 PROTO_OBJ = $(SMBD_OBJ_MAIN) \
            $(SMBD_OBJ_SRV) $(NMBD_OBJ1) $(SWAT_OBJ1) $(LIB_OBJ) $(LIBSMB_OBJ) \
            $(SMBW_OBJ1) $(SMBWRAPPER_OBJ1) $(SMBTORTURE_OBJ1) $(RPCCLIENT_OBJ1) \
            $(LIBMSRPC_OBJ) $(LIBMSRPC_SERVER_OBJ) $(RPC_CLIENT_OBJ) \
-           $(RPC_PIPE_OBJ) $(RPC_PARSE_OBJ) $(KRBCLIENT_OBJ) \
+           $(RPC_PIPE_OBJ) $(RPC_PARSE_OBJ) \
            $(AUTH_OBJ) $(PARAM_OBJ) $(LOCKING_OBJ) $(SECRETS_OBJ) \
            $(PRINTING_OBJ) $(PRINTBACKEND_OBJ) $(OPLOCK_OBJ) $(NOTIFY_OBJ) \
            $(QUOTAOBJS) $(PASSDB_OBJ) $(GROUPDB_OBJ) $(MSDFS_OBJ) \
            $(READLINE_OBJ) $(PROFILE_OBJ) $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) \
-           $(LIB_SMBD_OBJ) $(SAM_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ) \
+           $(LIB_SMBD_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ) \
            $(RPC_LSA_OBJ) $(RPC_NETLOG_OBJ) $(RPC_SAMR_OBJ) $(RPC_REG_OBJ) \
            $(RPC_SVC_OBJ) $(RPC_WKS_OBJ) $(RPC_DFS_OBJ) $(RPC_SPOOLSS_OBJ)
 
@@ -592,10 +564,10 @@ WINBINDD_OBJ1 = \
 
 WINBINDD_OBJ = \
                $(WINBINDD_OBJ1) $(PASSDB_GET_SET_OBJ) \
-               $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
+               $(LIBNMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
                $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \
                $(PROFILE_OBJ) $(UNIGRP_OBJ) \
-               $(SECRETS_OBJ) $(LIBADS_OBJ) $(KRBCLIENT_OBJ)
+               $(SECRETS_OBJ) $(LIBADS_OBJ) 
 
 WBINFO_OBJ = nsswitch/wbinfo.o libsmb/smbencrypt.o libsmb/smbdes.o
 
@@ -608,13 +580,12 @@ POPT_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
 
 TDBBACKUP_OBJ = tdb/tdbbackup.o $(TDBBASE_OBJ)
 
-NTLM_AUTH_OBJ = utils/ntlm_auth.o $(LIBNTLMSSP_OBJ) $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ)
+NTLM_AUTH_OBJ = utils/ntlm_auth.o $(LIBSMB_OBJ) $(POPT_LIB_OBJ)
 
 ######################################################################
 # now the rules...
 ######################################################################
-all : SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(SHLIBS) \
-       $(TORTURE_PROGS) $(RPC_MODULES) @EXTRA_ALL_TARGETS@
+all : SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(SHLIBS) $(RPC_MODULES) @EXTRA_ALL_TARGETS@
 
 pam_smbpass : SHOWFLAGS bin/pam_smbpass.@SHLIBEXT@
 
@@ -646,9 +617,9 @@ nsswitch : SHOWFLAGS bin/winbindd@EXEEXT@ bin/wbinfo@EXEEXT@ nsswitch/libnss_win
 
 wins : SHOWFLAGS nsswitch/libnss_wins.@SHLIBEXT@
 
-modules: SHOWFLAGS proto_exists $(VFS_MODULES) $(PDB_MODULES) $(MODULES)
+modules: SHOWFLAGS proto_exists $(VFS_MODULES) $(PDB_MODULES)
 
-everything: all libsmbclient debug2html smbfilter talloctort
+everything: all libsmbclient debug2html smbfilter talloctort modules torture
 
 .SUFFIXES:
 .SUFFIXES: .c .o .po .po32 .lo
@@ -720,7 +691,7 @@ bin/.dummy:
 bin/smbd@EXEEXT@: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
-         $(AUTHLIBS) $(ACLLIBS) $(LIBS) @BUILD_POPT@
+         $(AUTHLIBS) $(LIBS) @BUILD_POPT@
 
 bin/nmbd@EXEEXT@: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
@@ -751,10 +722,6 @@ bin/profiles@EXEEXT@: utils/profiles.o bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ utils/profiles.o $(LDFLAGS) $(LIBS)
 
-bin/editreg@EXEEXT@: utils/editreg.o bin/.dummy
-       @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ utils/editreg.o $(LDFLAGS) $(LIBS)
-
 bin/smbspool@EXEEXT@: $(CUPS_OBJ) bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS)
@@ -799,10 +766,6 @@ bin/pdbedit@EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @BUILD_POPT@
 
-bin/samtest@EXEEXT@: $(SAMTEST_OBJ) @BUILD_POPT@ bin/.dummy
-       @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SAMTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(LIBS) @BUILD_POPT@
-
 bin/smbgroupedit@EXEEXT@: $(SMBGROUPEDIT_OBJ) bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(SMBGROUPEDIT_OBJ) $(LDFLAGS) $(LIBS)
@@ -841,7 +804,7 @@ bin/nsstest@EXEEXT@: $(NSSTEST_OBJ) bin/.dummy
 
 bin/vfstest@EXEEXT@: $(VFSTEST_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINTLIBS) $(AUTHLIBS) $(ACLLIBS) $(LIBS) @BUILD_POPT@
+       @$(CC) $(FLAGS) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINTLIBS) $(AUTHLIBS) $(LIBS) @BUILD_POPT@
 
 bin/locktest2@EXEEXT@: $(LOCKTEST2_OBJ) bin/.dummy
        @echo Linking $@
@@ -957,19 +920,14 @@ nsswitch/pam_winbind.@SHLIBEXT@: $(PAM_WINBIND_OBJ) bin/.dummy
        @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) \
                @SONAMEFLAG@`basename $@` -lpam
 
-bin/mysql.@SHLIBEXT@: $(MYSQL_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(MYSQL_OBJ) @MYSQL_LIBS@ \
-               @SONAMEFLAG@`basename $@`
-
-bin/developer.@SHLIBEXT@: $(DEVEL_HELP_OBJ)
+bin/pdb_mysql.@SHLIBEXT@: $(PDB_MYSQL_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_OBJ) \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(PDB_MYSQL_OBJ) @MYSQL_LIBS@ \
                @SONAMEFLAG@`basename $@`
 
-bin/xml.@SHLIBEXT@: $(XML_OBJ)
+bin/pdb_xml.@SHLIBEXT@: $(PDB_XML_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(XML_OBJ) @XML_LIBS@ \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(PDB_XML_OBJ) @XML_LIBS@ \
                @SONAMEFLAG@`basename $@`
 
 bin/vfs_audit.@SHLIBEXT@: $(VFS_AUDIT_OBJ)
@@ -992,11 +950,6 @@ bin/vfs_netatalk.@SHLIBEXT@: $(VFS_NETATALK_OBJ)
        @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NETATALK_OBJ) \
                @SONAMEFLAG@`basename $@`
 
-bin/vfs_fake_perms.@SHLIBEXT@: $(VFS_FAKE_PERMS_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_FAKE_PERMS_OBJ) \
-               @SONAMEFLAG@`basename $@`
-
 bin/wbinfo@EXEEXT@: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
                $(UBIQX_OBJ) $(SECRETS_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
@@ -1022,6 +975,8 @@ bin/tdbbackup@EXEEXT@: $(TDBBACKUP_OBJ) bin/.dummy
 
 install: installbin installman installscripts installdat installswat 
 
+install-everything: install installmodules
+
 # DESTDIR is used here to prevent packagers wasting their time
 # duplicating the Makefile. Remove it and you will have the privelege
 # of package each samba release for muliple versions of multiple
@@ -1064,8 +1019,7 @@ installclientlib:
 # Python extensions
 
 PYTHON_OBJS = $(LIB_OBJ) $(LIBSMB_OBJ) $(RPC_PARSE_OBJ) $(UBIQX_OBJ) \
-       $(PARAM_OBJ) $(LIBMSRPC_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
-       $(SECRETS_OBJ) $(KRBCLIENT_OBJ)
+       $(PARAM_OBJ) $(LIBMSRPC_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) $(SECRETS_OBJ)
 
 PY_SPOOLSS_PROTO_OBJ = python/py_spoolss.o \
                python/py_spoolss_printers.o python/py_spoolss_printers_conv.o\
@@ -1146,9 +1100,8 @@ uninstallbin:
        @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(DESTDIR)$(RPC_MODULES)
 
 uninstallmodules:
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(DESTDIR)$(VFS_MODULES)
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(DESTDIR)$(PDB_MODULES)
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(MODULES)
+       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(DESTDIR)$(VFS_MODULES)
+       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(DESTDIR)$(PDB_MODULES)
 
 uninstallscripts:
        @$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS) $(DESTDIR)$(BINDIR) $(SCRIPTS)
@@ -1158,7 +1111,7 @@ TOPFILES=dynconfig.o dynconfig.po
 
 clean: delheaders python_clean
        -rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
-               $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) .headers.stamp
+               $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(TORTURE_PROGS) .headers.stamp
 
 # Making this target will just make sure that the prototype files
 # exist, not necessarily that they are up to date.  Since they're
@@ -1166,8 +1119,7 @@ clean: delheaders python_clean
 # afterwards.
 proto_exists: include/proto.h include/wrepld_proto.h include/build_env.h \
        nsswitch/winbindd_proto.h web/swat_proto.h \
-       client/client_proto.h utils/net_proto.h \
-       include/tdbsam2_parse_info.h
+       client/client_proto.h utils/net_proto.h
 
 delheaders:
        @echo Removing prototype headers
@@ -1175,12 +1127,10 @@ delheaders:
        @/bin/rm -f $(srcdir)/include/wrepld_proto.h $(srcdir)/nsswitch/winbindd_proto.h 
        @/bin/rm -f $(srcdir)/web/swat_proto.h
        @/bin/rm -f $(srcdir)/client/client_proto.h $(srcdir)/utils/net_proto.h
-       @/bin/rm -f $(srcdir)/include/tdbsam2_parse_info.h
 
        @/bin/rm -f include/proto.h include/build_env.h include/wrepld_proto.h \
                    nsswitch/winbindd_proto.h web/swat_proto.h \
-                   client/client_proto.h utils/net_proto.h \
-                   include/tdbsam2_parse_info.h
+                   client/client_proto.h utils/net_proto.h
 
 include/proto.h:
        @echo Building include/proto.h
@@ -1218,11 +1168,6 @@ utils/net_proto.h:
          -h _CLIENT_PROTO_H_ utils/net_proto.h \
          $(NET_OBJ1)
 
-include/tdbsam2_parse_info.h:
-       @cd $(srcdir) && @PERL@ -w script/genstruct.pl \
-       -o include/tdbsam2_parse_info.h $(CC) -E -O2 -g \
-       include/tdbsam2.h
-
 # "make headers" or "make proto" calls a subshell because we need to
 # make sure these commands are executed in sequence even for a
 # parallel make.
@@ -1234,8 +1179,7 @@ headers:
        $(MAKE) nsswitch/winbindd_proto.h; \
        $(MAKE) web/swat_proto.h; \
        $(MAKE) client/client_proto.h; \
-       $(MAKE) utils/net_proto.h; \
-       $(MAKE) include/tdbsam2_parse_info.h
+       $(MAKE) utils/net_proto.h
 
 proto: headers 
 
@@ -1248,7 +1192,7 @@ ctags:
        ctags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
 
 realclean: clean delheaders
-       -rm -f config.log $(BIN_PROGS) $(MODULES) $(SBIN_PROGS) bin/.dummy script/findsmb
+       -rm -f config.log $(BIN_PROGS) $(SBIN_PROGS) bin/.dummy script/findsmb
 
 distclean: realclean
        -rm -f include/stamp-h
index 2abdec3a3955e4542a4524d0c69441322c296d7a..5d56603b9fd57092a6fa5d80fe598bc22e63b4f2 100644 (file)
@@ -31,7 +31,6 @@ static const struct auth_init_function_entry builtin_auth_init_functions[] = {
        { "hostsequiv", auth_init_hostsequiv },
        { "sam", auth_init_sam },       
        { "samstrict", auth_init_samstrict },
-       { "samstrict_dc", auth_init_samstrict_dc },
        { "unix", auth_init_unix },
        { "smbserver", auth_init_smbserver },
        { "ntdomain", auth_init_ntdomain },
index d32d2482966992e293629276ad3450a53be15a88..43542b24744660e117c28d5f0c3d8d54246a6dd4 100644 (file)
@@ -131,7 +131,7 @@ NTSTATUS auth_ntlmssp_end(AUTH_NTLMSSP_STATE **auth_ntlmssp_state)
 }
 
 NTSTATUS auth_ntlmssp_update(AUTH_NTLMSSP_STATE *auth_ntlmssp_state, 
-                            const DATA_BLOB request, DATA_BLOB *reply) 
+                            DATA_BLOB request, DATA_BLOB *reply) 
 {
        return ntlmssp_server_update(auth_ntlmssp_state->ntlmssp_state, request, reply);
 }
index 48fabba0a22262d2159e61bf27fbfd22a532957b..b309833440effdb0b0276e62840a8f61e06dcf89 100644 (file)
@@ -500,8 +500,6 @@ static NTSTATUS check_samstrict_security(const struct auth_context *auth_context
           unless it is one of our aliases. */
        
        if (!is_myname(user_info->domain.str)) {
-               DEBUG(7,("The requested user domain is not the local server name. [%s]\\[%s]\n",
-                       user_info->domain.str,user_info->internal_username.str));
                return NT_STATUS_NO_SUCH_USER;
        }
        
@@ -520,45 +518,4 @@ NTSTATUS auth_init_samstrict(struct auth_context *auth_context, const char *para
        return NT_STATUS_OK;
 }
 
-/****************************************************************************
-Check SAM security (above) but with a few extra checks if we're a DC.
-****************************************************************************/
-
-static NTSTATUS check_samstrict_dc_security(const struct auth_context *auth_context,
-                                        void *my_private_data, 
-                                        TALLOC_CTX *mem_ctx,
-                                        const auth_usersupplied_info *user_info, 
-                                        auth_serversupplied_info **server_info)
-{
 
-       if (!user_info || !auth_context) {
-               return NT_STATUS_LOGON_FAILURE;
-       }
-
-       /* If we are a domain member, we must not 
-          attempt to check the password locally,
-          unless it is one of our aliases, empty
-          or our domain if we are a logon server.*/
-       
-
-       if ((!is_myworkgroup(user_info->domain.str))&&
-               (!is_myname(user_info->domain.str))) {
-               DEBUG(7,("The requested user domain is not the local server name or our domain. [%s]\\[%s]\n",
-                       user_info->domain.str,user_info->internal_username.str));
-               return NT_STATUS_NO_SUCH_USER;
-       }               
-
-       return check_sam_security(auth_context, my_private_data, mem_ctx, user_info, server_info);
-}
-
-/* module initialisation */
-NTSTATUS auth_init_samstrict_dc(struct auth_context *auth_context, const char *param, auth_methods **auth_method) 
-{
-       if (!make_auth_methods(auth_context, auth_method)) {
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       (*auth_method)->auth = check_samstrict_dc_security;
-       (*auth_method)->name = "samstrict_dc";
-       return NT_STATUS_OK;
-}
index 5218467dab983cb2ac9b92eb140926d9be1eb225..bbe0c7cf43298c3c2171f292073213df43ba6ba3 100644 (file)
@@ -838,9 +838,7 @@ NTSTATUS make_server_info_guest(auth_serversupplied_info **server_info)
 
        nt_status = make_server_info_sam(server_info, sampass);
 
-       if (NT_STATUS_IS_OK(nt_status)) {
-               (*server_info)->guest = True;
-       }
+       (*server_info)->guest = True;
 
        return nt_status;
 }
index 5da12fd984f3ed807558cac73139a77e1717682f..4761b0ae5c570d1365de6b27e05f97cdb12d8771 100644 (file)
@@ -41,7 +41,6 @@ static pstring password;
 static pstring username;
 static pstring workgroup;
 static char *cmdstr;
-static BOOL got_user;
 static BOOL got_pass;
 static int io_bufsize = 64512;
 static BOOL use_kerberos;
@@ -2434,9 +2433,24 @@ static struct cli_state *do_connect(const char *server, const char *share)
 
        if (!cli_send_tconX(c, sharename, "?????",
                            password, strlen(password)+1)) {
-               d_printf("tree connect failed: %s\n", cli_errstr(c));
-               cli_shutdown(c);
-               return NULL;
+               pstring full_share;
+
+               /*
+                * Some servers require \\server\share for the share
+                * while others are happy with share as we gave above
+                * Lets see if we give it the long form if it works
+                */
+               pstrcpy(full_share, "\\\\");
+               pstrcat(full_share, server);
+               pstrcat(full_share, "\\");
+               pstrcat(full_share, sharename);
+               if (!cli_send_tconX(c, full_share, "?????", password,
+                                       strlen(password) + 1)) {
+
+                       d_printf("tree connect failed: %s\n", cli_errstr(c));
+                       cli_shutdown(c);
+                       return NULL;
+               }
        }
 
        DEBUG(4,(" tconx ok\n"));
@@ -2875,8 +2889,6 @@ static void remember_query_host(const char *arg,
                case 'U':
                        {
                                char *lp;
-
-                               got_user = True;
                                pstrcpy(username,optarg);
                                if ((lp=strchr_m(username,'%'))) {
                                        *lp = 0;
@@ -2973,6 +2985,7 @@ static void remember_query_host(const char *arg,
                case 'k':
 #ifdef HAVE_KRB5
                        use_kerberos = True;
+                       got_pass = True;
 #else
                        d_printf("No kerberos support compiled in\n");
                        exit(1);
@@ -2984,9 +2997,6 @@ static void remember_query_host(const char *arg,
                }
        }
 
-       if (use_kerberos && !got_user)
-                       got_pass = True;
-
        init_names();
 
        if(*new_name_resolve_order)
index e2372d02b4e1e33d0062c9ed06f114af8239330c..2c70f3ff50a2ed7318c0ab0ea79003eaeaf4b885 100644 (file)
@@ -41,16 +41,12 @@ static pstring options;
 static struct in_addr dest_ip;
 static BOOL have_ip;
 static int smb_port = 0;
-static BOOL got_user;
 static BOOL got_pass;
 static uid_t mount_uid;
 static gid_t mount_gid;
 static int mount_ro;
 static unsigned mount_fmask;
 static unsigned mount_dmask;
-static BOOL use_kerberos;
-/* TODO: Add code to detect smbfs version in kernel */
-static BOOL status32_smbfs = False;
 
 static void usage(void);
 
@@ -159,14 +155,7 @@ static struct cli_state *do_connection(char *the_service)
        }
 
        /* SPNEGO doesn't work till we get NTSTATUS error support */
-       /* But it is REQUIRED for kerberos authentication */
-       if(!use_kerberos) c->use_spnego = False;
-
-       /* The kernel doesn't yet know how to sign it's packets */
-       c->sign_info.allow_smb_signing = False;
-
-       /* Use kerberos authentication if specified */
-       c->use_kerberos = use_kerberos;
+       c->use_spnego = False;
 
        if (!cli_session_request(c, &calling, &called)) {
                char *p;
@@ -201,17 +190,9 @@ static struct cli_state *do_connection(char *the_service)
 
        /* This should be right for current smbfs. Future versions will support
          large files as well as unicode and oplocks. */
-       if (status32_smbfs) {
-           c->capabilities &= ~(CAP_UNICODE | CAP_LARGE_FILES | CAP_NT_SMBS |
-                                 CAP_NT_FIND | CAP_LEVEL_II_OPLOCKS);
-       }
-       else {
-           c->capabilities &= ~(CAP_UNICODE | CAP_LARGE_FILES | CAP_NT_SMBS |
-                                CAP_NT_FIND | CAP_STATUS32 |
-                                CAP_LEVEL_II_OPLOCKS);
-           c->force_dos_errors = True;
-       }
-
+       c->capabilities &= ~(CAP_UNICODE | CAP_LARGE_FILES | CAP_NT_SMBS |
+                               CAP_NT_FIND | CAP_STATUS32 | CAP_LEVEL_II_OPLOCKS);
+       c->force_dos_errors = True;
        if (!cli_session_setup(c, username, 
                               password, strlen(password),
                               password, strlen(password),
@@ -523,9 +504,6 @@ static void init_mount(void)
                fprintf(stderr,"smbmnt failed: %d\n", WEXITSTATUS(status));
                /* FIXME: do some proper error handling */
                exit(1);
-       } else if (WIFSIGNALED(status)) {
-               fprintf(stderr, "smbmnt killed by signal %d\n", WTERMSIG(status));
-               exit(1);
        }
 
        /* Ok...  This is the rubicon for that mount point...  At any point
@@ -645,9 +623,8 @@ static void read_credentials_file(char *filename)
                        pstrcpy(password, val);
                        got_pass = True;
                }
-               else if (strwicmp("username", param) == 0) {
+               else if (strwicmp("username", param) == 0)
                        pstrcpy(username, val);
-               }
 
                memset(buf, 0, sizeof(buf));
        }
@@ -669,7 +646,6 @@ static void usage(void)
       username=<arg>                  SMB username\n\
       password=<arg>                  SMB password\n\
       credentials=<filename>          file with username/password\n\
-      krb                             use kerberos (active directory)\n\
       netbiosname=<arg>               source NetBIOS name\n\
       uid=<arg>                       mount uid or username\n\
       gid=<arg>                       mount gid or groupname\n\
@@ -711,17 +687,6 @@ static void parse_mount_smb(int argc, char **argv)
        int val;
        char *p;
 
-       /* FIXME: This function can silently fail if the arguments are
-        * not in the expected order.
-
-       > The arguments syntax of smbmount 2.2.3a (smbfs of Debian stable)
-       > requires that one gives "-o" before further options like username=...
-       > . Without -o, the username=.. setting is *silently* ignored. I've
-       > spent about an hour trying to find out why I couldn't log in now..
-
-       */
-
-
        if (argc < 2 || argv[1][0] == '-') {
                usage();
                exit(1);
@@ -756,7 +721,6 @@ static void parse_mount_smb(int argc, char **argv)
                         if (!strcmp(opts, "username") || 
                            !strcmp(opts, "logon")) {
                                char *lp;
-                               got_user = True;
                                pstrcpy(username,opteq+1);
                                if ((lp=strchr_m(username,'%'))) {
                                        *lp = 0;
@@ -814,16 +778,6 @@ static void parse_mount_smb(int argc, char **argv)
                        } else if(!strcmp(opts, "guest")) {
                                *password = '\0';
                                got_pass = True;
-                       } else if(!strcmp(opts, "krb")) {
-#ifdef HAVE_KRB5
-
-                               use_kerberos = True;
-                               if(!status32_smbfs)
-                                       fprintf(stderr, "Warning: kerberos support will only work for samba servers\n");
-#else
-                               fprintf(stderr,"No kerberos support compiled in\n");
-                               exit(1);
-#endif
                        } else if(!strcmp(opts, "rw")) {
                                mount_ro = 0;
                        } else if(!strcmp(opts, "ro")) {
@@ -908,10 +862,6 @@ static void parse_mount_smb(int argc, char **argv)
 
        parse_mount_smb(argc, argv);
 
-       if (use_kerberos && !got_user) {
-               got_pass = True;
-       }
-
        if (*credentials != 0) {
                read_credentials_file(credentials);
        }
index 78f6b92cd3078ba368e8003a2f595c50a4e5f511..bcdc0742b7390f245a9d610892c38eb26ef3deb2 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
 
-timestamp='2003-01-10'
+timestamp='2001-11-26'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@ timestamp='2003-01-10'
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Originally written by Per Bothner <per@bothner.com>.
+# Originally written by Per Bothner <bothner@cygnus.com>.
 # Please send patches to <config-patches@gnu.org>.  Submit a context
 # diff and a properly formatted ChangeLog entry.
 #
@@ -88,41 +88,30 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
 
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
 
+# CC_FOR_BUILD -- compiler used by this script.
 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
 # use `HOST_CC' if defined, but it is deprecated.
 
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int dummy(){}" > $dummy.c ;
+       for c in cc gcc c89 ; do
+         ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
+         if test $? = 0 ; then
             CC_FOR_BUILD="$c"; break ;
          fi ;
        done ;
+       rm -f $dummy.c $dummy.o $dummy.rel ;
        if test x"$CC_FOR_BUILD" = x ; then
          CC_FOR_BUILD=no_compiler_found ;
        fi
        ;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -146,23 +135,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # object file format.  This provides both forward
        # compatibility and a consistent mechanism for selecting the
        # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       # Determine the machine/vendor (is the vendor relevant).
+       case "${UNAME_MACHINE}" in
+           amiga) machine=m68k-unknown ;;
+           arm32) machine=arm-unknown ;;
+           atari*) machine=m68k-atari ;;
+           sun3*) machine=m68k-sun ;;
+           mac68k) machine=m68k-apple ;;
+           macppc) machine=powerpc-apple ;;
+           hp3[0-9][05]) machine=m68k-hp ;;
+           ibmrt|romp-ibm) machine=romp-ibm ;;
+           sparc*) machine=`uname -p`-unknown ;;
+           *) machine=${UNAME_MACHINE}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+       case "${UNAME_MACHINE}" in
+           i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep __ELF__ >/dev/null
@@ -179,18 +168,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                ;;
        esac
        # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
+       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
@@ -235,9 +213,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:OpenBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    *:MicroBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE}
-       exit 0 ;;
     alpha:OSF1:*:*)
        if test $UNAME_RELEASE = "V4.0"; then
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -246,7 +221,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       eval $set_cc_for_build
        cat <<EOF >$dummy.s
        .data
 \$Lformat:
@@ -272,9 +246,10 @@ main:
        jsr \$26,exit
        .end main
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
+       eval $set_cc_for_build
+       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
        if test "$?" = 0 ; then
-               case `$dummy` in
+               case `./$dummy` in
                        0-0)
                                UNAME_MACHINE="alpha"
                                ;;
@@ -296,11 +271,9 @@ EOF
                        2-1307)
                                UNAME_MACHINE="alphaev68"
                                ;;
-                       3-1307)
-                               UNAME_MACHINE="alphaev7"
-                               ;;
                esac
        fi
+       rm -f $dummy.s $dummy
        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        exit 0 ;;
     Alpha\ *:Windows_NT*:*)
@@ -318,9 +291,6 @@ EOF
     *:[Aa]miga[Oo][Ss]:*:*)
        echo ${UNAME_MACHINE}-unknown-amigaos
        exit 0 ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit 0 ;;
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
@@ -341,10 +311,6 @@ EOF
     NILE*:*:*:dcosx)
        echo pyramid-pyramid-svr4
        exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7 && exit 0 ;;
-       esac ;;
     sun4H:SunOS:5.*:*)
        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit 0 ;;
@@ -373,7 +339,7 @@ EOF
        echo m68k-sun-sunos${UNAME_RELEASE}
        exit 0 ;;
     sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
@@ -451,20 +417,15 @@ EOF
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c \
-         && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-         && exit 0
+       $CC_FOR_BUILD $dummy.c -o $dummy \
+         && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+         && rm -f $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
        echo mips-mips-riscos${UNAME_RELEASE}
        exit 0 ;;
     Motorola:PowerMAX_OS:*:*)
        echo powerpc-motorola-powermax
        exit 0 ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit 0 ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
        echo powerpc-harris-powerunix
        exit 0 ;;
@@ -537,7 +498,8 @@ EOF
                        exit(0);
                        }
 EOF
-               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+               $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+               rm -f $dummy.c $dummy
                echo rs6000-ibm-aix3.2.5
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
                echo rs6000-ibm-aix3.2.4
@@ -546,7 +508,7 @@ EOF
        fi
        exit 0 ;;
     *:AIX:*:[45])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
                IBM_ARCH=rs6000
        else
@@ -635,21 +597,11 @@ EOF
                   exit (0);
               }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
+                   (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
+                   if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+                   rm -f $dummy.c $dummy
                fi ;;
        esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           # avoid double evaluation of $set_cc_for_build
-           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
        exit 0 ;;
     ia64:HP-UX:*:*)
@@ -683,7 +635,8 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+       $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
        echo unknown-hitachi-hiuxwe2
        exit 0 ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -729,6 +682,9 @@ EOF
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
         exit 0 ;;
+    CRAY*X-MP:*:*:*)
+       echo xmp-cray-unicos
+        exit 0 ;;
     CRAY*Y-MP:*:*:*)
        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
@@ -741,15 +697,18 @@ EOF
     CRAY*TS:*:*:*)
        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
+    CRAY*T3D:*:*:*)
+       echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
     CRAY*T3E:*:*:*)
        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     CRAY*SV1:*:*:*)
        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
-    *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
-       exit 0 ;;
+    CRAY-2:*:*:*)
+       echo cray2-cray-unicos
+        exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
@@ -766,18 +725,7 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit 0 ;;
     *:FreeBSD:*:*)
-       # Determine whether the default compiler uses glibc.
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #if __GLIBC__ >= 2
-       LIBC=gnu
-       #else
-       LIBC=
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit 0 ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -788,17 +736,11 @@ EOF
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit 0 ;;
-    x86:Interix*:3*)
-       echo i586-pc-interix3
-       exit 0 ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit 0 ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
        # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
+       echo i386-pc-interix
        exit 0 ;;
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
@@ -819,48 +761,16 @@ EOF
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit 0 ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux
        exit 0 ;;
     m68*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit 0 ;;
     mips:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips
-       #undef mipsel
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mipsel
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-       ;;
-    mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips64
-       #undef mips64el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mips64el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips64
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
+         big)    echo mips-unknown-linux-gnu && exit 0 ;;
+         little) echo mipsel-unknown-linux-gnu && exit 0 ;;
+       esac
        ;;
     ppc:Linux:*:*)
        echo powerpc-unknown-linux-gnu
@@ -909,8 +819,7 @@ EOF
        # The BFD linker knows what the default object file format is, so
        # first see if it will tell us. cd to the root directory to prevent
        # problems with other programs or directories called `ld' in the path.
-       # Set LC_ALL=C to ensure ld outputs messages in English.
-       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+       ld_supported_targets=`cd /; ld --help 2>&1 \
                         | sed -ne '/supported targets:/!d
                                    s/[         ][      ]*/ /g
                                    s/.*supported targets: *//
@@ -922,7 +831,7 @@ EOF
                ;;
          a.out-i386-linux)
                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit 0 ;;
+               exit 0 ;;               
          coff-i386)
                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
                exit 0 ;;
@@ -934,28 +843,32 @@ EOF
        esac
        # Determine whether the default compiler is a.out or elf
        eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #ifdef __ELF__
-       # ifdef __GLIBC__
-       #  if __GLIBC__ >= 2
-       LIBC=gnu
-       #  else
-       LIBC=gnulibc1
-       #  endif
-       # else
-       LIBC=gnulibc1
-       # endif
-       #else
-       #ifdef __INTEL_COMPILER
-       LIBC=gnu
-       #else
-       LIBC=gnuaout
-       #endif
-       #endif
+       cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-pc-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-pc-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-pc-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+       $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
        test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
        ;;
     i*86:DYNIX/ptx:4*:*)
@@ -972,23 +885,6 @@ EOF
         # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit 0 ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit 0 ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit 0 ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit 0 ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -1010,19 +906,22 @@ EOF
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+               UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
                        && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+               (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
                        && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+               (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
        else
                echo ${UNAME_MACHINE}-pc-sysv32
        fi
        exit 0 ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit 0 ;;
     pc:*:*:*)
        # Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1046,15 +945,9 @@ EOF
        # "miniframe"
        echo m68010-convergent-sysv
        exit 0 ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit 0 ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit 0 ;;
     M68*:*:R3V[567]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1071,6 +964,9 @@ EOF
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
        exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
        echo sparc-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
@@ -1142,9 +1038,6 @@ EOF
     SX-5:SUPER-UX:*:*)
        echo sx5-nec-superux${UNAME_RELEASE}
        exit 0 ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit 0 ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
@@ -1152,24 +1045,18 @@ EOF
        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
     *:Darwin:*:*)
-       case `uname -p` in
-           *86) UNAME_PROCESSOR=i686 ;;
-           powerpc) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       echo `uname -p`-apple-darwin${UNAME_RELEASE}
        exit 0 ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
+       if test "${UNAME_MACHINE}" = "x86pc"; then
                UNAME_MACHINE=pc
        fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       echo `uname -p`-${UNAME_MACHINE}-nto-qnx
        exit 0 ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
     *:NonStop-UX:*:*)
@@ -1192,6 +1079,11 @@ EOF
        fi
        echo ${UNAME_MACHINE}-unknown-plan9
        exit 0 ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit 0 ;;
     *:TOPS-10:*:*)
        echo pdp10-unknown-tops10
        exit 0 ;;
@@ -1210,6 +1102,12 @@ EOF
     *:ITS:*:*)
        echo pdp10-unknown-its
        exit 0 ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit 0 ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1330,7 +1228,8 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
 
 # Apollos put the system type in the environment.
 
index 04baf3d80d17f75134815ea958df7fa64378cd3d..2476310dff3cb95ef4090d0323f5a6ebea47c44f 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
 
-timestamp='2003-01-03'
+timestamp='2001-12-03'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,7 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -227,39 +227,26 @@ case $basic_machine in
        1750a | 580 \
        | a29k \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-       | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | fr30 | frv \
+       | c4x | clipper \
+       | d10v | d30v | dsp16xx \
+       | fr30 \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
-       | ip2k \
        | m32r | m68000 | m68k | m88k | mcore \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64vr | mips64vrel \
-       | mips64orion | mips64orionel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
+       | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
+       | mips64vr4100 | mips64vr4100el | mips64vr4300 \
+       | mips64vr4300el | mips64vr5000 | mips64vr5000el \
+       | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
+       | mipsisa32 \
        | mn10200 | mn10300 \
-       | msp430 \
        | ns16k | ns32k \
-       | openrisc | or32 \
+       | openrisc \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
        | pyramid \
-       | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+       | sh | sh[34] | sh[34]eb | shbe | shle \
+       | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
        | strongarm \
        | tahoe | thumb | tic80 | tron \
        | v850 | v850e \
@@ -291,52 +278,38 @@ case $basic_machine in
        580-* \
        | a29k-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | alphapca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armv*-* \
        | avr-* \
        | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
-       | clipper-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
+       | c[123]* | c30-* | [cjt]90-* | c54x-* \
+       | clipper-* | cray2-* | cydra-* \
+       | d10v-* | d30v-* \
        | elxsi-* \
-       | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+       | f30[01]-* | f700-* | fr30-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* \
        | m32r-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
        | m88110-* | m88k-* | mcore-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | msp430-* \
-       | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+       | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
+       | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
+       | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
        | pyramid-* \
        | romp-* | rs6000-* \
-       | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
-       | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
-       | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
+       | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
+       | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
+       | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
+       | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
        | v850-* | v850e-* | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+       | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
        | xtensa-* \
        | ymp-* \
        | z8k-*)
@@ -402,10 +375,6 @@ case $basic_machine in
                basic_machine=ns32k-sequent
                os=-dynix
                ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
        convex-c1)
                basic_machine=c1-convex
                os=-bsd
@@ -426,8 +395,16 @@ case $basic_machine in
                basic_machine=c38-convex
                os=-bsd
                ;;
-       cray | j90)
-               basic_machine=j90-cray
+       cray | ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       cray2)
+               basic_machine=cray2-cray
+               os=-unicos
+               ;;
+       [cjt]90)
+               basic_machine=${basic_machine}-cray
                os=-unicos
                ;;
        crds | unos)
@@ -442,14 +419,6 @@ case $basic_machine in
        decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
                basic_machine=mips-dec
                ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
        delta | 3300 | motorola-3300 | motorola-delta \
              | 3300-motorola | delta-motorola)
                basic_machine=m68k-motorola
@@ -630,6 +599,14 @@ case $basic_machine in
                basic_machine=m68k-atari
                os=-mint
                ;;
+       mipsel*-linux*)
+               basic_machine=mipsel-unknown
+               os=-linux-gnu
+               ;;
+       mips*-linux*)
+               basic_machine=mips-unknown
+               os=-linux-gnu
+               ;;
        mips3*-*)
                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
                ;;
@@ -644,10 +621,6 @@ case $basic_machine in
                basic_machine=m68k-rom68k
                os=-coff
                ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
        msdos)
                basic_machine=i386-pc
                os=-msdos
@@ -720,10 +693,6 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
-       nv1)
-               basic_machine=nv1-cray
-               os=-unicosmp
-               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -731,10 +700,6 @@ case $basic_machine in
                basic_machine=hppa1.1-oki
                os=-proelf
                ;;
-       or32 | or32-*)
-               basic_machine=or32-unknown
-               os=-coff
-               ;;
        OSE68000 | ose68000)
                basic_machine=m68000-ericsson
                os=-ose
@@ -757,13 +722,13 @@ case $basic_machine in
        pbb)
                basic_machine=m68k-tti
                ;;
-       pc532 | pc532-*)
+        pc532 | pc532-*)
                basic_machine=ns32k-pc532
                ;;
        pentium | p5 | k5 | k6 | nexgen | viac3)
                basic_machine=i586-pc
                ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+       pentiumpro | p6 | 6x86 | athlon)
                basic_machine=i686-pc
                ;;
        pentiumii | pentium2)
@@ -784,22 +749,22 @@ case $basic_machine in
        power)  basic_machine=power-ibm
                ;;
        ppc)    basic_machine=powerpc-unknown
-               ;;
+               ;;
        ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
        ppcle | powerpclittle | ppc-le | powerpc-little)
                basic_machine=powerpcle-unknown
-               ;;
+               ;;
        ppcle-* | powerpclittle-*)
                basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
        ppc64)  basic_machine=powerpc64-unknown
-               ;;
+               ;;
        ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
        ppc64le | powerpc64little | ppc64-le | powerpc64-little)
                basic_machine=powerpc64le-unknown
-               ;;
+               ;;
        ppc64le-* | powerpc64little-*)
                basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
@@ -830,12 +795,6 @@ case $basic_machine in
                basic_machine=a29k-amd
                os=-udi
                ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
        sequent)
                basic_machine=i386-sequent
                ;;
@@ -910,17 +869,9 @@ case $basic_machine in
                os=-dynix
                ;;
        t3e)
-               basic_machine=alphaev5-cray
+               basic_machine=t3e-cray
                os=-unicos
                ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-        tic4x | c4x*)
-               basic_machine=tic4x-unknown
-               os=-coff
-               ;;
        tic54x | c54x*)
                basic_machine=tic54x-unknown
                os=-coff
@@ -931,10 +882,6 @@ case $basic_machine in
        tx39el)
                basic_machine=mipstx39el-unknown
                ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
        tower | tower-32)
                basic_machine=m68k-ncr
                ;;
@@ -959,8 +906,8 @@ case $basic_machine in
                os=-vms
                ;;
        vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
+               basic_machine=f301-fujitsu
+               ;;
        vxworks960)
                basic_machine=i960-wrs
                os=-vxworks
@@ -981,13 +928,17 @@ case $basic_machine in
                basic_machine=hppa1.1-winbond
                os=-proelf
                ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
+       windows32)
+               basic_machine=i386-pc
+               os=-windows32-msvcrt
                ;;
-       ymp)
-               basic_machine=ymp-cray
+       xmp)
+               basic_machine=xmp-cray
                os=-unicos
                ;;
+        xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
        z8k-*-coff)
                basic_machine=z8k-unknown
                os=-sim
@@ -1008,6 +959,13 @@ case $basic_machine in
        op60c)
                basic_machine=hppa1.1-oki
                ;;
+       mips)
+               if [ x$os = x-linux-gnu ]; then
+                       basic_machine=mips-unknown
+               else
+                       basic_machine=mips-mips
+               fi
+               ;;
        romp)
                basic_machine=romp-ibm
                ;;
@@ -1027,16 +985,13 @@ case $basic_machine in
        we32k)
                basic_machine=we32k-att
                ;;
-       sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
+       sh3 | sh4 | sh3eb | sh4eb)
                basic_machine=sh-unknown
                ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
        sparc | sparcv9 | sparcv9b)
                basic_machine=sparc-sun
                ;;
-       cydra)
+        cydra)
                basic_machine=cydra-cydrome
                ;;
        orion)
@@ -1051,6 +1006,10 @@ case $basic_machine in
        pmac | pmac-mpw)
                basic_machine=powerpc-apple
                ;;
+       c4x*)
+               basic_machine=c4x-none
+               os=-coff
+               ;;
        *-unknown)
                # Make sure to match an already-canonicalized machine name.
                ;;
@@ -1113,12 +1072,10 @@ case $os in
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
              | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -microbsd*)
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1130,10 +1087,8 @@ case $os in
                        ;;
                esac
                ;;
-       -nto-qnx*)
-               ;;
        -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               os=-nto-qnx
                ;;
        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
@@ -1181,11 +1136,8 @@ case $os in
        -ctix* | -uts*)
                os=-sysv
                ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
        -ns2 )
-               os=-nextstep2
+               os=-nextstep2
                ;;
        -nsk*)
                os=-nsk
@@ -1224,8 +1176,8 @@ case $os in
        -xenix)
                os=-xenix
                ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
+        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
                ;;
        -none)
                ;;
@@ -1258,11 +1210,10 @@ case $basic_machine in
        arm*-semi)
                os=-aout
                ;;
-       # This must come before the *-dec entry.
        pdp10-*)
                os=-tops20
                ;;
-       pdp11-*)
+        pdp11-*)
                os=-none
                ;;
        *-dec | vax-*)
@@ -1289,9 +1240,6 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
-       or32-*)
-               os=-coff
-               ;;
        *-tti)  # must be before sparc entry or we get the wrong os.
                os=-sysv3
                ;;
@@ -1355,19 +1303,19 @@ case $basic_machine in
        *-next)
                os=-nextstep3
                ;;
-       *-gould)
+        *-gould)
                os=-sysv
                ;;
-       *-highlevel)
+        *-highlevel)
                os=-bsd
                ;;
        *-encore)
                os=-bsd
                ;;
-       *-sgi)
+        *-sgi)
                os=-irix
                ;;
-       *-siemens)
+        *-siemens)
                os=-sysv4
                ;;
        *-masscomp)
@@ -1439,7 +1387,7 @@ case $basic_machine in
                        -ptx*)
                                vendor=sequent
                                ;;
-                       -vxsim* | -vxworks* | -windiss*)
+                       -vxsim* | -vxworks*)
                                vendor=wrs
                                ;;
                        -aux*)
index 77553cf5b73272e72045602cdbe23c8fc0ae57f4..8a6cae254d6149be2aa00c322280c270e8988c61 100644 (file)
@@ -149,7 +149,6 @@ AC_SUBST(LIBSMBCLIENT_SHARED)
 AC_SUBST(LIBSMBCLIENT)
 AC_SUBST(PRINTLIBS)
 AC_SUBST(AUTHLIBS)
-AC_SUBST(ACLLIBS)
 AC_SUBST(SHLIB_PROGS)
 AC_SUBST(SMBWRAPPER)
 AC_SUBST(EXTRA_BIN_PROGS)
@@ -278,7 +277,6 @@ dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_AWK
-AC_PATH_PROG(PERL, perl)
 
 dnl Check if we use GNU ld
 LD=ld
@@ -2275,13 +2273,13 @@ fi
 
 ########################################################
 # Compile with MySQL support?
-AM_PATH_MYSQL([0.11.0],[MODULE_MYSQL=bin/mysql.so],[MODULE_MYSQL=])
+AM_PATH_MYSQL([0.11.0],[MODULE_MYSQL=bin/pdb_mysql.so],[MODULE_MYSQL=])
 CFLAGS="$CFLAGS $MYSQL_CFLAGS"
 AC_SUBST(MODULE_MYSQL)
 
 ########################################################
 # Compile with XML support?
-AM_PATH_XML2([2.0.0],[MODULE_XML=bin/xml.so],[MODULE_XML=])
+AM_PATH_XML2([2.0.0],[MODULE_XML=bin/pdb_xml.so],[MODULE_XML=])
 CFLAGS="$CFLAGS $XML_CFLAGS"
 AC_SUBST(MODULE_XML)
 
@@ -2407,24 +2405,6 @@ if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then
 fi
 fi
 
-# New experimental SAM system
-
-AC_MSG_CHECKING([whether to build the new (experimental) SAM database])
-AC_ARG_WITH(sam,
-[  --with-sam              Build new (experimental) SAM database (default=no)],
-[ case "$withval" in
-  yes)
-    AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_SAM,1,[Whether to build the new (experimental) SAM database])
-    ;;
-  *)
-    AC_MSG_RESULT(no)
-    ;;
-  esac ],
-  AC_MSG_RESULT(no)
-)
-
-
 ########################################################################################
 ##
 ## TESTS FOR SAM BACKENDS.  KEEP THESE GROUPED TOGETHER
@@ -2929,29 +2909,23 @@ AC_ARG_WITH(acl-support,
        *osf*)
                AC_MSG_RESULT(Using Tru64 ACLs)
                AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available])
-               ACLLIBS="$ACLLIBS -lpacl"
+               LIBS="$LIBS -lpacl"
                ;;
         *)
-               AC_CHECK_LIB(acl,acl_get_file,[ACLLIBS="$ACLLIBS -lacl"])
+               AC_CHECK_LIB(acl,acl_get_file)
                AC_CACHE_CHECK([for ACL support],samba_cv_HAVE_POSIX_ACLS,[
-               acl_LIBS=$LIBS
-               LIBS="$LIBS -lacl"
                AC_TRY_LINK([#include <sys/types.h>
 #include <sys/acl.h>],
 [ acl_t acl; int entry_id; acl_entry_t *entry_p; return acl_get_entry( acl, entry_id, entry_p);],
-samba_cv_HAVE_POSIX_ACLS=yes,samba_cv_HAVE_POSIX_ACLS=no)
-               LIBS=$acl_LIBS])
+samba_cv_HAVE_POSIX_ACLS=yes,samba_cv_HAVE_POSIX_ACLS=no)])
                        if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
                                AC_MSG_RESULT(Using posix ACLs)
                                AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
                                AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
-                               acl_LIBS=$LIBS
-                               LIBS="$LIBS -lacl"
                                AC_TRY_LINK([#include <sys/types.h>
 #include <sys/acl.h>],
 [ acl_permset_t permset_d; acl_perm_t perm; return acl_get_perm_np( permset_d, perm);],
-samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_cv_HAVE_ACL_GET_PERM_NP=no)
-                               LIBS=$acl_LIBS])
+samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_cv_HAVE_ACL_GET_PERM_NP=no)])
                                if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
                                        AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
                                fi
index 272783608c52b49c0c96ebb4cbd6f8ac3e925c42..3809abc37a9dc903d2c083c5c3bfcaa29260f8f9 100644 (file)
@@ -304,11 +304,7 @@ BOOL add_initial_entry(gid_t gid, const char *sid, enum SID_NAME_USE sid_name_us
        }
        
        map.gid=gid;
-       if (!string_to_sid(&map.sid, sid)) {
-               DEBUG(0, ("string_to_sid failed: %s", sid));
-               return False;
-       }
-       
+       string_to_sid(&map.sid, sid);
        map.sid_name_use=sid_name_use;
        fstrcpy(map.nt_name, nt_name);
        fstrcpy(map.comment, comment);
index 4bff170b3bfcbe00305c3bc5676bee310f7555b0..bff248727f295353845ac9b5e5343cde47898d53 100644 (file)
@@ -3,5 +3,4 @@ config.h
 stamp-h
 proto.h
 wrepld_proto.h
-tdbsam2_parse_info.h
 config.h.in
index 304a997b2ce7dca3f5ff2f9a9328ec877791588c..7f23e6506b133676ea9b5328f8a74fc67a687f63 100644 (file)
@@ -205,6 +205,3 @@ typedef void **ADS_MODLIST;
 #define ADS_AUTH_NO_BIND          0x02
 #define ADS_AUTH_ANON_BIND        0x04
 #define ADS_AUTH_SIMPLE_BIND      0x08
-
-/* Kerberos environment variable names */
-#define KRB5_ENV_CCNAME "KRB5CCNAME"
index ab7fa5d398e0dc4d800f28b3f0b0f3a7124110a7..9cd873c18a21484fb60738f35d8405db48f5f6c7 100644 (file)
@@ -55,8 +55,8 @@ typedef struct {
 #define OID_KERBEROS5_OLD "1 2 840 48018 1 2 2"
 #define OID_KERBEROS5 "1 2 840 113554 1 2 2"
 
-#define SPNEGO_NEG_RESULT_ACCEPT 0
-#define SPNEGO_NEG_RESULT_INCOMPLETE 1
-#define SPNEGO_NEG_RESULT_REJECT 2
+#define SPNGEO_NEG_RESULT_ACCEPT 0
+#define SPNGEO_NEG_RESULT_INCOMPLETE 1
+#define SPNGEO_NEG_RESULT_REJECT 2
 
 #endif /* _ASN_1_H */
index c56984ca7b2d209dd667255fa00fab5aa7f64420..07d5e2d59934723a9803d3011d8d70646e0b668f 100644 (file)
@@ -2,7 +2,6 @@
    Unix SMB/CIFS implementation.
    charset defines
    Copyright (C) Andrew Tridgell 2001
-   Copyright (C) Jelmer Vernooij 2002
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 typedef enum {CH_UCS2=0, CH_UNIX=1, CH_DISPLAY=2, CH_DOS=3, CH_UTF8=4} charset_t;
 
 #define NUM_CHARSETS 5
-
-/*
- *   for each charset we have a function that pulls from that charset to
- *     a ucs2 buffer, and a function that pushes to a ucs2 buffer
- *     */
-
-struct charset_functions {
-       const char *name;
-       size_t (*pull)(void *, char **inbuf, size_t *inbytesleft,
-                                  char **outbuf, size_t *outbytesleft);
-       size_t (*push)(void *, char **inbuf, size_t *inbytesleft,
-                                  char **outbuf, size_t *outbytesleft);
-       struct charset_functions *prev, *next;
-};
-
index 73e29a1fff8079931f550d3b3aeedebc73076ed2..853ee7ae42b1c1fd17466bdadadb955971c509ba 100644 (file)
@@ -62,10 +62,9 @@ typedef struct smb_sign_info {
        BOOL negotiated_smb_signing;
        BOOL temp_smb_signing;
        size_t mac_key_len;
-       uint8 mac_key[64];
+       uint8 mac_key[44];
        uint32 send_seq_num;
        uint32 reply_seq_num;
-       BOOL allow_smb_signing;
 } smb_sign_info;
 
 struct cli_state {
@@ -122,10 +121,6 @@ struct cli_state {
 
        smb_sign_info sign_info;
 
-       /* the session key for this CLI, outside 
-          any per-pipe authenticaion */
-       unsigned char user_session_key[16];
-
        /*
         * Only used in NT domain calls.
         */
diff --git a/source3/include/genparser.h b/source3/include/genparser.h
deleted file mode 100644 (file)
index 002d79f..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-   Copyright (C) Andrew Tridgell <genstruct@tridgell.net> 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _GENPARSER_H
-#define _GENPARSER_H
-
-/* these macros are needed for genstruct auto-parsers */
-#ifndef GENSTRUCT
-#define GENSTRUCT
-#define _LEN(x)
-#define _NULLTERM
-#endif
-
-/*
-  automatic marshalling/unmarshalling system for C structures
-*/
-
-/* flag to mark a fixed size array as actually being null terminated */
-#define FLAG_NULLTERM 1
-#define FLAG_ALWAYS 2
-
-struct enum_struct {
-       const char *name;
-       unsigned value;
-};
-
-/* intermediate dumps are stored in one of these */
-struct parse_string {
-       unsigned allocated;
-       unsigned length;
-       char *s;
-};
-
-typedef int (*gen_dump_fn)(struct parse_string *, const char *ptr, unsigned indent);
-typedef int (*gen_parse_fn)(char *ptr, const char *str);
-
-/* genstruct.pl generates arrays of these */
-struct parse_struct {
-       const char *name;
-       unsigned ptr_count;
-       unsigned size;
-       unsigned offset;
-       unsigned array_len;
-       const char *dynamic_len;
-       unsigned flags;
-       gen_dump_fn dump_fn;
-       gen_parse_fn parse_fn;
-};
-
-#define DUMP_PARSE_DECL(type) \
-  int gen_dump_ ## type(struct parse_string *, const char *, unsigned); \
-  int gen_parse_ ## type(char *, const char *);
-
-DUMP_PARSE_DECL(char)
-DUMP_PARSE_DECL(int)
-DUMP_PARSE_DECL(unsigned)
-DUMP_PARSE_DECL(double)
-DUMP_PARSE_DECL(float)
-
-#define gen_dump_unsigned_char gen_dump_char
-#define gen_parse_unsigned_char gen_parse_char
-
-#endif /* _GENPARSER_H */
diff --git a/source3/include/genparser_samba.h b/source3/include/genparser_samba.h
deleted file mode 100644 (file)
index 172ff23..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-   Copyright (C) Simo Sorce <idra@samba.org> 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _GENPARSER_SAMBA_H
-#define _GENPARSER_SAMBA_H
-
-const struct parse_struct pinfo_security_ace_info[] = {
-{"type", 0, sizeof(uint8), offsetof(struct security_ace_info, type), 0, NULL, 0, gen_dump_uint8, gen_parse_uint8},
-{"flags", 0, sizeof(uint8), offsetof(struct security_ace_info, flags), 0, NULL, 0, gen_dump_uint8, gen_parse_uint8},
-{"size", 0, sizeof(uint16), offsetof(struct security_ace_info, size), 0, NULL, 0, gen_dump_uint16, gen_parse_uint16},
-{"info", 0, sizeof(char), offsetof(struct security_ace_info, info), 0, NULL, 0, gen_dump_SEC_ACCESS, gen_parse_SEC_ACCESS},
-{"obj_flags", 0, sizeof(uint32), offsetof(struct security_ace_info, obj_flags), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"obj_guid", 0, sizeof(char), offsetof(struct security_ace_info, obj_guid), 0, NULL, 0, gen_dump_GUID, gen_parse_GUID},
-{"inh_guid", 0, sizeof(char), offsetof(struct security_ace_info, inh_guid), 0, NULL, 0, gen_dump_GUID, gen_parse_GUID},
-{"trustee", 0, sizeof(char), offsetof(struct security_ace_info, trustee), 0, NULL, 0, gen_dump_DOM_SID, gen_parse_DOM_SID},
-{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};
-
-const struct parse_struct pinfo_security_acl_info[] = {
-{"revision", 0, sizeof(uint16), offsetof(struct security_acl_info, revision), 0, NULL, 0, gen_dump_uint16, gen_parse_uint16},
-{"size", 0, sizeof(uint16), offsetof(struct security_acl_info, size), 0, NULL, 0, gen_dump_uint16, gen_parse_uint16},
-{"num_aces", 0, sizeof(uint32), offsetof(struct security_acl_info, num_aces), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"ace", 1, sizeof(struct security_ace_info), offsetof(struct security_acl_info, ace), 0, "size", 0, gen_dump_SEC_ACE, gen_parse_SEC_ACE},
-{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};
-
-const struct parse_struct pinfo_security_descriptor_info[] = {
-{"revision", 0, sizeof(uint16), offsetof(struct security_descriptor_info, revision), 0, NULL, 0, gen_dump_uint16, gen_parse_uint16},
-{"type", 0, sizeof(uint16), offsetof(struct security_descriptor_info, type), 0, NULL, 0, gen_dump_uint16, gen_parse_uint16},
-{"off_owner_sid", 0, sizeof(uint32), offsetof(struct security_descriptor_info, off_owner_sid), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"off_grp_sid", 0, sizeof(uint32), offsetof(struct security_descriptor_info, off_grp_sid), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"off_sacl", 0, sizeof(uint32), offsetof(struct security_descriptor_info, off_sacl), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"off_dacl", 0, sizeof(uint32), offsetof(struct security_descriptor_info, off_dacl), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"dacl", 1, sizeof(struct security_acl_info), offsetof(struct security_descriptor_info, dacl), 0, NULL, 0, gen_dump_SEC_ACL, gen_parse_SEC_ACL},
-{"sacl", 1, sizeof(struct security_acl_info), offsetof(struct security_descriptor_info, sacl), 0, NULL, 0, gen_dump_SEC_ACL, gen_parse_SEC_ACL},
-{"owner_sid", 1, sizeof(char), offsetof(struct security_descriptor_info, owner_sid), 0, NULL, 0, gen_dump_DOM_SID, gen_parse_DOM_SID},
-{"grp_sid", 1, sizeof(char), offsetof(struct security_descriptor_info, grp_sid), 0, NULL, 0, gen_dump_DOM_SID, gen_parse_DOM_SID},
-{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};
-
-const struct parse_struct pinfo_luid_attr_info[] = {
-{"attr", 0, sizeof(uint32), offsetof(struct LUID_ATTR, attr), 0, NULL, 0, gen_dump_uint32, gen_parse_uint32},
-{"luid", 1, sizeof(LUID), offsetof(struct LUID_ATTR, luid), 0, NULL, 0, gen_dump_LUID, gen_parse_LUID},
-{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};
-
-#endif /* _GENPARSER_SAMBA_H */
diff --git a/source3/include/gums.h b/source3/include/gums.h
deleted file mode 100644 (file)
index ca124d7..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   GUMS structures
-   Copyright (C) Simo Sorce 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _GUMS_H
-#define _GUMS_H
-
-#define GUMS_VERSION_MAJOR 0
-#define GUMS_VERSION_MINOR 1
-#define GUMS_OBJECT_VERSION    1
-
-#define GUMS_OBJ_DOMAIN                        1
-#define GUMS_OBJ_NORMAL_USER           2
-#define GUMS_OBJ_GROUP                 3
-#define GUMS_OBJ_ALIAS                 4
-#define GUMS_OBJ_WORKSTATION_TRUST     5
-#define GUMS_OBJ_SERVER_TRUST          6
-#define GUMS_OBJ_DOMAIN_TRUST          7
-
-typedef struct gums_user
-{
-       DOM_SID *group_sid;             /* Primary Group SID */
-
-       NTTIME logon_time;              /* logon time */
-       NTTIME logoff_time;             /* logoff time */
-       NTTIME kickoff_time;            /* kickoff time */
-       NTTIME pass_last_set_time;      /* password last set time */
-       NTTIME pass_can_change_time;    /* password can change time */
-       NTTIME pass_must_change_time;   /* password must change time */
-
-       char *full_name;                /* user's full name string */
-       char *home_dir;                 /* home directory string */
-       char *dir_drive;                /* home directory drive string */
-       char *logon_script;             /* logon script string */
-       char *profile_path;             /* profile path string */
-       char *workstations;             /* login from workstations string */
-       char *unknown_str;              /* don't know what this is, yet. */
-       char *munged_dial;              /* munged path name and dial-back tel number */
-               
-       DATA_BLOB lm_pw;                /* .data is Null if no password */
-       DATA_BLOB nt_pw;                /* .data is Null if no password */
-               
-       uint32 unknown_3;               /* 0x00ff ffff */
-               
-       uint16 logon_divs;              /* 168 - number of hours in a week */
-       uint32 hours_len;               /* normally 21 bytes */
-       uint8 *hours;
-               
-       uint32 unknown_5;               /* 0x0002 0000 */
-       uint32 unknown_6;               /* 0x0000 04ec */
-
-} GUMS_USER;
-
-typedef struct gums_group
-{
-       uint32 count;                   /* Number of SIDs */
-       DOM_SID **members;              /* SID array */
-
-} GUMS_GROUP;
-
-union gums_obj_p {
-       gums_user *user;
-       gums_group *group;
-}
-
-typedef struct gums_object
-{
-       TALLOC_CTX *mem_ctx;
-
-       uint32 type;                    /* Object Type */
-       uint32 version;                 /* Object Version */
-       uint32 seq_num;                 /* Object Sequence Number */
-
-       SEC_DESC *sec_desc;             /* Security Descriptor */
-
-       DOM_SID *sid;                   /* Object Sid */
-       char *name;                     /* Object Name */
-       char *description;              /* Object Description */
-
-       union gums_obj_p data;          /* Object Specific data */
-
-} GUMS_OBJECT;
-
-typedef struct gums_data_set
-{
-       int type; /* GUMS_SET_xxx */
-       void *data;
-
-} GUMS_DATA_SET;
-
-typedef struct gums_commit_set
-{
-       TALLOC_CTX *mem_ctx;
-
-       uint32 type;                    /* Object type */
-       DOM_SID sid;                    /* Object Sid */
-       uint32 count;                   /* number of changes */
-       GUMS_DATA_SET **data;
-} GUMS_COMMIT_SET;
-
-typedef struct gums_privilege
-{
-       TALLOC_CTX *mem_ctx;
-
-       uint32 type;                    /* Object Type */
-       uint32 version;                 /* Object Version */
-       uint32 seq_num;                 /* Object Sequence Number */
-
-       LUID_ATTR *privilege;           /* Privilege Type */
-       char *name;                     /* Object Name */
-       char *description;              /* Object Description */
-
-       uint32 count;
-       DOM_SID **members;
-
-} GUMS_PRIVILEGE;
-
-
-typedef struct gums_functions
-{
-       /* Generic object functions */
-
-       NTSTATUS (*get_domain_sid) (DOM_SID **sid, const char* name);
-       NTSTATUS (*set_domain_sid) (const DOM_SID *sid);
-
-       NTSTATUS (*get_sequence_number) (void);
-
-       NTSTATUS (*new_object) (DOM_SID **sid, const char *name, const int obj_type);
-       NTSTATUS (*delete_object) (const DOM_SID *sid);
-
-       NTSTATUS (*get_object_from_sid) (GUMS_OBJECT **object, const DOM_SID *sid, const int obj_type);
-       NTSTATUS (*get_sid_from_name) (GUMS_OBJECT **object, const char *name);
-       /* This function is used to get the list of all objects changed since b_time, it is
-          used to support PDC<->BDC synchronization */
-       NTSTATUS (*get_updated_objects) (GUMS_OBJECT **objects, const NTTIME base_time);
-
-       NTSTATUS (*enumerate_objects_start) (void *handle, const DOM_SID *sid, const int obj_type);
-       NTSTATUS (*enumerate_objects_get_next) (GUMS_OBJECT **object, void *handle);
-       NTSTATUS (*enumerate_objects_stop) (void *handle);
-
-       /* This function MUST be used ONLY by PDC<->BDC replication code or recovery tools.
-          Never use this function to update an object in the database, use set_object_values() */
-       NTSTATUS (*set_object) (const GUMS_OBJECT *object);
-
-       /* set object values function */
-       NTSTATUS (*set_object_values) (DOM_SID *sid, uint32 count, GUMS_DATA_SET *data_set);
-
-       /* Group related functions */
-       NTSTATUS (*add_memberss_to_group) (const DOM_SID *group, const DOM_SID **members);
-       NTSTATUS (*delete_members_from_group) (const DOM_SID *group, const DOM_SID **members);
-       NTSTATUS (*enumerate_group_members) (DOM_SID **members, const DOM_SID *sid, const int type);
-
-       NTSTATUS (*get_sid_groups) (DOM_SID **groups, const DOM_SID *sid);
-
-       NTSTATUS (*lock_sid) (const DOM_SID *sid);
-       NTSTATUS (*unlock_sid) (const DOM_SID *sid);
-
-       /* privileges related functions */
-
-       NTSTATUS (*add_members_to_privilege) (const LUID_ATTR *priv, const DOM_SID **members);
-       NTSTATUS (*delete_members_from_privilege) (const LUID_ATTR *priv, const DOM_SID **members);
-       NTSTATUS (*enumerate_privilege_members) (DOM_SID **members, const LUID_ATTR *priv);
-       NTSTATUS (*get_sid_privileges) (DOM_SID **privs, const DOM_SID *sid);
-       /* warning!: set_privilege will overwrite a prior existing privilege if such exist */
-       NTSTATUS (*set_privilege) (GUMS_PRIVILEGE *priv);
-
-} GUMS_FUNCTIONS;
-
-/* define value types */
-
-#define GUMS_SET_PRIMARY_GROUP         1
-#define GUMS_SET_SEC_DESC              2
-
-/* user specific type values */
-#define GUMS_SET_LOGON_TIME            10  /* keep NTTIME consecutive */
-#define GUMS_SET_LOGOFF_TIME           11 /* too ease checking */
-#define GUMS_SET_KICKOFF_TIME          13
-#define GUMS_SET_PASS_LAST_SET_TIME    14
-#define GUMS_SET_PASS_CAN_CHANGE_TIME  15
-#define GUMS_SET_PASS_MUST_CHANGE_TIME 16 /* NTTIME end */
-
-#define GUMS_SET_NAME                  20 /* keep strings consecutive */
-#define GUMS_SET_DESCRIPTION           21 /* too ease checking */
-#define GUMS_SET_FULL_NAME             22
-#define GUMS_SET_HOME_DIRECTORY                23
-#define GUMS_SET_DRIVE                 24
-#define GUMS_SET_LOGON_SCRIPT          25
-#define GUMS_SET_PROFILE_PATH          26
-#define GUMS_SET_WORKSTATIONS          27
-#define GUMS_SET_UNKNOWN_STRING                28
-#define GUMS_SET_MUNGED_DIAL           29 /* strings end */
-
-#define GUMS_SET_LM_PASSWORD           40
-#define GUMS_SET_NT_PASSWORD           41
-#define GUMS_SET_PLAINTEXT_PASSWORD    42
-#define GUMS_SET_UNKNOWN_3             43
-#define GUMS_SET_LOGON_DIVS            44
-#define GUMS_SET_HOURS_LEN             45
-#define GUMS_SET_HOURS                 46
-#define GUMS_SET_UNKNOWN_5             47
-#define GUMS_SET_UNKNOWN_6             48
-
-#define GUMS_SET_MUST_CHANGE_PASS      50
-#define GUMS_SET_CANNOT_CHANGE_PASS    51
-#define GUMS_SET_PASS_NEVER_EXPIRE     52
-#define GUMS_SET_ACCOUNT_DISABLED      53
-#define GUMS_SET_ACCOUNT_LOCKOUT       54
-
-/*group specific type values */
-#define GUMS_ADD_SID_LIST              60
-#define GUMS_DEL_SID_LIST              61
-#define GUMS_SET_SID_LIST              62
-
-#endif /* _GUMS_H */
index 988913d16c7f4c60a30b14bbf770a522b09c2b76..d48103cbe3164b0a80577fa9c0b9ee4c35da2b28 100644 (file)
@@ -768,8 +768,6 @@ extern int errno;
 
 #include "passdb.h"
 
-#include "sam.h"
-
 #include "session.h"
 
 #include "asn_1.h"
@@ -780,8 +778,6 @@ extern int errno;
 
 #include "nsswitch/winbind_client.h"
 
-#include "genparser.h"
-
 /*
  * Type for wide character dirent structure.
  * Only d_name is defined by POSIX.
index 4fa4259a6a5055cc791453145dd4217f1bf6bd30..79d0446a77131d57506e416823d5c4c314e687af 100644 (file)
@@ -86,25 +86,5 @@ typedef struct ntlmssp_state
        const char *(*get_domain)(void);
 
        int server_role;
-       uint32 expected_state;
 } NTLMSSP_STATE;
 
-typedef struct ntlmssp_client_state 
-{
-       TALLOC_CTX *mem_ctx;
-       BOOL unicode;
-       BOOL use_ntlmv2;
-       char *user;
-       char *domain;
-       char *workstation;
-       char *password;
-
-       const char *(*get_global_myname)(void);
-       const char *(*get_domain)(void);
-
-       DATA_BLOB session_key;
-       
-       uint32 neg_flags;
-
-} NTLMSSP_CLIENT_STATE;
-
index 06409aa34eb9c892ad8ba56615674bc33f404f25..fa80b263ffa71e09a68aa50c2e2b2c94fa228518 100644 (file)
 
 #define PASSDB_INTERFACE_VERSION 4
 
+/* use this inside a passdb module */
+#define PDB_MODULE_VERSIONING_MAGIC \
+int pdb_version(void)\
+{\
+       return PASSDB_INTERFACE_VERSION;\
+}
+
 typedef struct pdb_context 
 {
        struct pdb_methods *pdb_methods;
@@ -149,7 +156,6 @@ struct pdb_init_function_entry {
        const char *name;
        /* Function to create a member of the pdb_methods list */
        pdb_init_function init;
-       struct pdb_init_function_entry *prev, *next;
 };
 
 #endif /* _PASSDB_H */
diff --git a/source3/include/rpc_client_proto.h b/source3/include/rpc_client_proto.h
deleted file mode 100644 (file)
index 0ecb195..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifndef _RPC_CLIENT_PROTO_H_
-#define _RPC_CLIENT_PROTO_H_
-/* This file is automatically generated with "make proto". DO NOT EDIT */
-
-
-/*The following definitions come from  lib/util_list.c  */
-
-BOOL copy_policy_hnd (POLICY_HND *dest, const POLICY_HND *src);
-BOOL compare_rpc_hnd_node(const RPC_HND_NODE *x, 
-                         const RPC_HND_NODE *y);
-BOOL RpcHndList_set_connection(const POLICY_HND *hnd, 
-                              struct cli_connection *con);
-BOOL RpcHndList_del_connection(const POLICY_HND *hnd);
-struct cli_connection* RpcHndList_get_connection(const POLICY_HND *hnd);
-
-/*The following definitions come from  rpc_client/cli_connect.c  */
-
-void init_connections(void);
-void free_connections(void);
-void cli_connection_free(struct cli_connection *con);
-void cli_connection_unlink(struct cli_connection *con);
-BOOL cli_connection_init(const char *srv_name, char *pipe_name,
-                         struct cli_connection **con);
-BOOL cli_connection_init_auth(const char *srv_name, char *pipe_name,
-                              struct cli_connection **con,
-                              cli_auth_fns * auth, void *auth_creds);
-struct _cli_auth_fns *cli_conn_get_authfns(struct cli_connection *con);
-void *cli_conn_get_auth_creds(struct cli_connection *con);
-BOOL rpc_hnd_pipe_req(const POLICY_HND * hnd, uint8 op_num,
-                      prs_struct * data, prs_struct * rdata);
-BOOL rpc_con_pipe_req(struct cli_connection *con, uint8 op_num,
-                      prs_struct * data, prs_struct * rdata);
-BOOL rpc_con_ok(struct cli_connection *con);
-
-/*The following definitions come from  rpc_client/cli_login.c  */
-
-BOOL cli_nt_setup_creds(struct cli_state *cli, unsigned char mach_pwd[16]);
-BOOL cli_nt_srv_pwset(struct cli_state *cli, unsigned char *new_hashof_mach_pwd);
-BOOL cli_nt_login_interactive(struct cli_state *cli, char *domain, char *username, 
-                              uint32 smb_userid_low, char *password,
-                              NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);
-BOOL cli_nt_login_network(struct cli_state *cli, char *domain, char *username, 
-                          uint32 smb_userid_low, char lm_chal[8], 
-                         char *lm_chal_resp, char *nt_chal_resp,
-                          NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);
-BOOL cli_nt_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
-
-/*The following definitions come from  rpc_client/cli_lsarpc.c  */
-
-BOOL do_lsa_open_policy(struct cli_state *cli,
-                       char *system_name, POLICY_HND *hnd,
-                       BOOL sec_qos);
-BOOL do_lsa_query_info_pol(struct cli_state *cli,
-                       POLICY_HND *hnd, uint16 info_class,
-                       fstring domain_name, DOM_SID *domain_sid);
-BOOL do_lsa_close(struct cli_state *cli, POLICY_HND *hnd);
-BOOL cli_lsa_get_domain_sid(struct cli_state *cli, char *server);
-uint32 lsa_open_policy(const char *system_name, POLICY_HND *hnd,
-                      BOOL sec_qos, uint32 des_access);
-uint32 lsa_lookup_sids(POLICY_HND *hnd, int num_sids, DOM_SID *sids,
-                      char ***names, uint32 **types, int *num_names);
-uint32 lsa_lookup_names(POLICY_HND *hnd, int num_names, char **names,
-                       DOM_SID **sids, uint32 **types, int *num_sids);
-
-/*The following definitions come from  rpc_client/cli_netlogon.c  */
-
-BOOL cli_net_logon_ctrl2(struct cli_state *cli, uint32 status_level);
-BOOL cli_net_auth2(struct cli_state *cli, uint16 sec_chan, 
-                   uint32 neg_flags, DOM_CHAL *srv_chal);
-BOOL cli_net_req_chal(struct cli_state *cli, DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal);
-BOOL cli_net_srv_pwset(struct cli_state *cli, uint8 hashed_mach_pwd[16]);
-BOOL cli_net_sam_logon(struct cli_state *cli, NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);
-BOOL cli_net_sam_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
-BOOL change_trust_account_password( char *domain, char *remote_machine_list);
-
-/*The following definitions come from  rpc_client/cli_pipe.c  */
-
-BOOL rpc_api_pipe_req(struct cli_state *cli, uint8 op_num,
-                      prs_struct *data, prs_struct *rdata);
-BOOL rpc_pipe_bind(struct cli_state *cli, char *pipe_name, char *my_name);
-void cli_nt_set_ntlmssp_flgs(struct cli_state *cli, uint32 ntlmssp_flgs);
-BOOL cli_nt_session_open(struct cli_state *cli, char *pipe_name);
-void cli_nt_session_close(struct cli_state *cli);
-
-/*The following definitions come from  rpc_client/cli_reg.c  */
-
-BOOL do_reg_connect(struct cli_state *cli, char *full_keyname, char *key_name,
-                               POLICY_HND *reg_hnd);
-BOOL do_reg_open_hklm(struct cli_state *cli, uint16 unknown_0, uint32 level,
-                               POLICY_HND *hnd);
-BOOL do_reg_open_hku(struct cli_state *cli, uint16 unknown_0, uint32 level,
-                               POLICY_HND *hnd);
-BOOL do_reg_flush_key(struct cli_state *cli, POLICY_HND *hnd);
-BOOL do_reg_query_key(struct cli_state *cli, POLICY_HND *hnd,
-                               char *class, uint32 *class_len,
-                               uint32 *num_subkeys, uint32 *max_subkeylen,
-                               uint32 *max_subkeysize, uint32 *num_values,
-                               uint32 *max_valnamelen, uint32 *max_valbufsize,
-                               uint32 *sec_desc, NTTIME *mod_time);
-BOOL do_reg_unknown_1a(struct cli_state *cli, POLICY_HND *hnd, uint32 *unk);
-BOOL do_reg_query_info(struct cli_state *cli, POLICY_HND *hnd,
-                               char *key_value, uint32* key_type);
-BOOL do_reg_set_key_sec(struct cli_state *cli, POLICY_HND *hnd, SEC_DESC_BUF *sec_desc_buf);
-BOOL do_reg_get_key_sec(struct cli_state *cli, POLICY_HND *hnd, uint32 *sec_buf_size, SEC_DESC_BUF **ppsec_desc_buf);
-BOOL do_reg_delete_val(struct cli_state *cli, POLICY_HND *hnd, char *val_name);
-BOOL do_reg_delete_key(struct cli_state *cli, POLICY_HND *hnd, char *key_name);
-BOOL do_reg_create_key(struct cli_state *cli, POLICY_HND *hnd,
-                               char *key_name, char *key_class,
-                               SEC_ACCESS *sam_access,
-                               POLICY_HND *key);
-BOOL do_reg_enum_key(struct cli_state *cli, POLICY_HND *hnd,
-                               int key_index, char *key_name,
-                               uint32 *unk_1, uint32 *unk_2,
-                               time_t *mod_time);
-BOOL do_reg_create_val(struct cli_state *cli, POLICY_HND *hnd,
-                               char *val_name, uint32 type, BUFFER3 *data);
-BOOL do_reg_enum_val(struct cli_state *cli, POLICY_HND *hnd,
-                               int val_index, int max_valnamelen, int max_valbufsize,
-                               fstring val_name,
-                               uint32 *val_type, BUFFER2 *value);
-BOOL do_reg_open_entry(struct cli_state *cli, POLICY_HND *hnd,
-                               char *key_name, uint32 unk_0,
-                               POLICY_HND *key_hnd);
-BOOL do_reg_close(struct cli_state *cli, POLICY_HND *hnd);
-
-/*The following definitions come from  rpc_client/cli_samr.c  */
-
-BOOL get_samr_query_usergroups(struct cli_state *cli, 
-                               POLICY_HND *pol_open_domain, uint32 user_rid,
-                               uint32 *num_groups, DOM_GID *gid);
-BOOL get_samr_query_userinfo(struct cli_state *cli, 
-                               POLICY_HND *pol_open_domain,
-                               uint32 info_level,
-                               uint32 user_rid, SAM_USER_INFO_21 *usr);
-BOOL do_samr_chgpasswd_user(struct cli_state *cli,
-               char *srv_name, char *user_name,
-               char nt_newpass[516], uchar nt_oldhash[16],
-               char lm_newpass[516], uchar lm_oldhash[16]);
-BOOL do_samr_unknown_38(struct cli_state *cli, char *srv_name);
-BOOL do_samr_query_dom_info(struct cli_state *cli, 
-                               POLICY_HND *domain_pol, uint16 switch_value);
-BOOL do_samr_enum_dom_users(struct cli_state *cli, 
-                               POLICY_HND *pol, uint16 num_entries, uint16 unk_0,
-                               uint16 acb_mask, uint16 unk_1, uint32 size,
-                               struct acct_info **sam,
-                               int *num_sam_users);
-BOOL do_samr_connect(struct cli_state *cli, 
-                               char *srv_name, uint32 unknown_0,
-                               POLICY_HND *connect_pol);
-BOOL do_samr_open_user(struct cli_state *cli, 
-                               POLICY_HND *pol, uint32 unk_0, uint32 rid, 
-                               POLICY_HND *user_pol);
-BOOL do_samr_open_domain(struct cli_state *cli, 
-                               POLICY_HND *connect_pol, uint32 rid, DOM_SID *sid,
-                               POLICY_HND *domain_pol);
-BOOL do_samr_query_unknown_12(struct cli_state *cli, 
-                               POLICY_HND *pol, uint32 rid, uint32 num_gids, uint32 *gids,
-                               uint32 *num_aliases,
-                               fstring als_names    [MAX_LOOKUP_SIDS],
-                               uint32  num_als_users[MAX_LOOKUP_SIDS]);
-BOOL do_samr_query_usergroups(struct cli_state *cli, 
-                               POLICY_HND *pol, uint32 *num_groups, DOM_GID *gid);
-BOOL do_samr_query_userinfo(struct cli_state *cli, 
-                               POLICY_HND *pol, uint16 switch_value, void* usr);
-BOOL do_samr_close(struct cli_state *cli, POLICY_HND *hnd);
-
-/*The following definitions come from  rpc_client/cli_spoolss_notify.c  */
-
-BOOL spoolss_disconnect_from_client( struct cli_state *cli);
-BOOL spoolss_connect_to_client( struct cli_state *cli, char *remote_machine);
-BOOL cli_spoolss_reply_open_printer(struct cli_state *cli, char *printer, uint32 localprinter, uint32 type, uint32 *status, POLICY_HND *handle);
-BOOL cli_spoolss_reply_rrpcn(struct cli_state *cli, POLICY_HND *handle, 
-                            uint32 change_low, uint32 change_high, uint32 *status);
-BOOL cli_spoolss_reply_close_printer(struct cli_state *cli, POLICY_HND *handle, uint32 *status);
-
-/*The following definitions come from  rpc_client/cli_srvsvc.c  */
-
-BOOL do_srv_net_srv_conn_enum(struct cli_state *cli,
-                       char *server_name, char *qual_name,
-                       uint32 switch_value, SRV_CONN_INFO_CTR *ctr,
-                       uint32 preferred_len,
-                       ENUM_HND *hnd);
-BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
-                       char *server_name, char *qual_name,
-                       uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
-                       uint32 preferred_len,
-                       ENUM_HND *hnd);
-BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
-                       char *server_name, 
-                       uint32 switch_value, SRV_R_NET_SHARE_ENUM *r_o,
-                       uint32 preferred_len, ENUM_HND *hnd);
-BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
-                       char *server_name, char *qual_name,
-                       uint32 switch_value, SRV_FILE_INFO_CTR *ctr,
-                       uint32 preferred_len,
-                       ENUM_HND *hnd);
-BOOL do_srv_net_srv_get_info(struct cli_state *cli,
-                       char *server_name, uint32 switch_value, SRV_INFO_CTR *ctr);
-
-/*The following definitions come from  rpc_client/cli_use.c  */
-
-void init_cli_use(void);
-void free_cli_use(void);
-struct cli_state *cli_net_use_add(const char *srv_name,
-                                 const struct ntuser_creds *usr_creds,
-                                 BOOL reuse, BOOL *is_new);
-BOOL cli_net_use_del(const char *srv_name,
-                    const struct ntuser_creds *usr_creds,
-                    BOOL force_close, BOOL *connection_closed);
-void cli_net_use_enum(uint32 *num_cons, struct use_info ***use);
-void cli_use_wait_keyboard(void);
-
-/*The following definitions come from  rpc_client/cli_wkssvc.c  */
-
-BOOL do_wks_query_info(struct cli_state *cli, 
-                       char *server_name, uint32 switch_value,
-                       WKS_INFO_100 *wks100);
-
-/*The following definitions come from  rpc_client/ncacn_np_use.c  */
-
-BOOL ncacn_np_use_del(const char *srv_name, const char *pipe_name,
-                      const vuser_key * key,
-                      BOOL force_close, BOOL *connection_closed);
-struct ncacn_np *ncacn_np_initialise(struct ncacn_np *msrpc,
-                                     const vuser_key * key);
-struct ncacn_np *ncacn_np_use_add(const char *pipe_name,
-                                  const vuser_key * key,
-                                  const char *srv_name,
-                                  const struct ntuser_creds *ntc,
-                                  BOOL reuse, BOOL *is_new_connection);
-#endif /* _PROTO_H_ */
index c091e7332127cb94eff6808d55ec944195685246..33dde6e3cb490cac077e329f4bf1fc88adb62380 100644 (file)
@@ -537,6 +537,7 @@ typedef struct
        POLICY_HND pol; /* policy handle */
        DOM_SID2 sid;
        UNISTR2_ARRAY rights;
+       uint32 count;
 } LSA_Q_ADD_ACCT_RIGHTS;
 
 /* LSA_R_ADD_ACCT_RIGHTS - LSA add account rights */
@@ -553,6 +554,7 @@ typedef struct
        DOM_SID2 sid;
        uint32 removeall;
        UNISTR2_ARRAY rights;
+       uint32 count;
 } LSA_Q_REMOVE_ACCT_RIGHTS;
 
 /* LSA_R_REMOVE_ACCT_RIGHTS - LSA remove account rights */
@@ -561,22 +563,6 @@ typedef struct
        NTSTATUS status;
 } LSA_R_REMOVE_ACCT_RIGHTS;
 
-/* LSA_Q_ENUM_ACCT_WITH_RIGHT - LSA enum accounts with right */
-typedef struct
-{
-       POLICY_HND pol;
-       STRHDR right_hdr;
-       UNISTR2 right; 
-} LSA_Q_ENUM_ACCT_WITH_RIGHT;
-
-/* LSA_R_ENUM_ACCT_WITH_RIGHT - LSA enum accounts with right */
-typedef struct
-{
-       uint32 count;
-       SID_ARRAY sids;
-       NTSTATUS status;
-} LSA_R_ENUM_ACCT_WITH_RIGHT;
-
 
 /* LSA_Q_PRIV_GET_DISPNAME - LSA get privilege display name */
 typedef struct lsa_q_priv_get_dispname
index 06ad760c58fee7d11be50c688b622cafef670cb2..771048943512892ab3618e84ad2417677d49b34b 100644 (file)
@@ -227,22 +227,6 @@ typedef struct
        UNISTR2_ARRAY_EL *strings;
 } UNISTR2_ARRAY;
 
-
-/* an element in a sid array */
-typedef struct
-{
-       uint32 ref_id;
-       DOM_SID2 sid;
-} SID_ARRAY_EL;
-
-/* an array of sids */
-typedef struct 
-{
-       uint32 ref_id;
-       uint32 count;
-       SID_ARRAY_EL *sids;
-} SID_ARRAY;
-
 /* DOM_RID2 - domain RID structure for ntlsa pipe */
 typedef struct domrid2_info
 {
diff --git a/source3/include/sam.h b/source3/include/sam.h
deleted file mode 100644 (file)
index f46a6e7..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM structures
-   Copyright (C) Kai Krueger 2002
-   Copyright (C) Stefan (metze) Metzmacher 2002
-   Copyright (C) Simo Sorce 2002
-   Copyright (C) Andrew Bartlett 2002
-   Copyright (C) Jelmer Vernooij 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _SAM_H
-#define _SAM_H
-
-/* We want to track down bugs early */
-#if 1
-#define SAM_ASSERT(x) SMB_ASSERT(x)
-#else
-#define SAM_ASSERT(x) while (0) { \
-       if (!(x)) {
-               DEBUG(0, ("SAM_ASSERT failed!\n"))
-               return NT_STATUS_FAIL_CHECK;\
-       } \
-    }
-#endif
-
-
-/* let it be 0 until we have a stable interface --metze */
-#define SAM_INTERFACE_VERSION 0
-
-/* use this inside a passdb module */
-#define SAM_MODULE_VERSIONING_MAGIC \
-int sam_version(void)\
-{\
-       return SAM_INTERFACE_VERSION;\
-}
-
-/* Backend to use by default when no backend was specified */
-#define SAM_DEFAULT_BACKEND "plugin"
-
-typedef struct sam_domain_handle {
-       TALLOC_CTX *mem_ctx;
-       uint32 access_granted;
-       const struct sam_methods *current_sam_methods; /* sam_methods creating this handle */
-       void (*free_fn)(struct sam_domain_handle **);
-       struct domain_data {
-               DOM_SID sid; /*SID of the domain. Should not be changed */
-               char *name; /* Name of the domain */
-               char *servername; /* */
-               NTTIME max_passwordage; /* time till next password expiration */
-               NTTIME min_passwordage; /* time till password can be changed again */
-               NTTIME lockout_duration; /* time till login is allowed again after lockout*/
-               NTTIME reset_count; /* time till bad login counter is reset */
-               uint16 min_passwordlength; /* minimum number of characters for a password */
-               uint16 password_history; /* number of passwords stored in history */
-               uint16 lockout_count; /* number of bad login attempts before lockout */
-               BOOL force_logoff; /* force logoff after logon hours have expired */
-               BOOL login_pwdchange; /* Users need to logon to change their password */
-               uint32 num_accounts; /* number of accounts in the domain */
-               uint32 num_groups; /* number of global groups */
-               uint32 num_aliases; /* number of local groups */
-               uint32 sam_sequence_number; /* global sequence number */
-       } private;
-} SAM_DOMAIN_HANDLE;
-
-typedef struct sam_account_handle {
-       TALLOC_CTX *mem_ctx;
-       uint32 access_granted;
-       const struct sam_methods *current_sam_methods; /* sam_methods creating this handle */
-       void (*free_fn)(struct sam_account_handle **);
-       struct sam_account_data {
-               uint32 init_flag;
-               NTTIME logon_time; /* logon time */
-               NTTIME logoff_time; /* logoff time */
-               NTTIME kickoff_time; /* kickoff time */
-               NTTIME pass_last_set_time; /* password last set time */
-               NTTIME pass_can_change_time; /* password can change time */
-               NTTIME pass_must_change_time; /* password must change time */
-               char * account_name; /* account_name string */
-               SAM_DOMAIN_HANDLE * domain; /* domain of account */
-               char *full_name; /* account's full name string */
-               char *unix_home_dir; /* UNIX home directory string */
-               char *home_dir; /* home directory string */
-               char *dir_drive; /* home directory drive string */
-               char *logon_script; /* logon script string */
-               char *profile_path; /* profile path string */
-               char *acct_desc; /* account description string */
-               char *workstations; /* login from workstations string */
-               char *unknown_str; /* don't know what this is, yet. */
-               char *munged_dial; /* munged path name and dial-back tel number */
-               DOM_SID account_sid; /* Primary Account SID */
-               DOM_SID group_sid; /* Primary Group SID */
-               DATA_BLOB lm_pw; /* .data is Null if no password */
-               DATA_BLOB nt_pw; /* .data is Null if no password */
-               char *plaintext_pw; /* if Null not available */
-               uint16 acct_ctrl; /* account info (ACB_xxxx bit-mask) */
-               uint32 unknown_1; /* 0x00ff ffff */
-               uint16 logon_divs; /* 168 - number of hours in a week */
-               uint32 hours_len; /* normally 21 bytes */
-               uint8 hours[MAX_HOURS_LEN];
-               uint32 unknown_2; /* 0x0002 0000 */
-               uint32 unknown_3; /* 0x0000 04ec */
-       } private;
-} SAM_ACCOUNT_HANDLE;
-
-typedef struct sam_group_handle {
-       TALLOC_CTX *mem_ctx;
-       uint32 access_granted;
-       const struct sam_methods *current_sam_methods; /* sam_methods creating this handle */
-       void (*free_fn)(struct sam_group_handle **);
-       struct sam_group_data {
-               char *group_name;
-               char *group_desc;
-               DOM_SID sid;
-               uint16 group_ctrl; /* specifies if the group is a local group or a global group */
-               uint32 num_members;
-       } private;
-} SAM_GROUP_HANDLE;
-
-
-typedef struct sam_group_member {
-       DOM_SID sid; 
-       BOOL group; /* specifies if it is a group or a account */ 
-} SAM_GROUP_MEMBER;
-
-typedef struct sam_account_enum {
-       DOM_SID sid; 
-       char *account_name; 
-       char *full_name; 
-       char *account_desc; 
-       uint16 acct_ctrl; 
-} SAM_ACCOUNT_ENUM;
-
-typedef struct sam_group_enum {
-       DOM_SID sid;
-       char *group_name;
-       char *group_desc;
-       uint16 group_ctrl;
-} SAM_GROUP_ENUM;
-
-
-/* bits for group_ctrl: to spezify if the group is global group or alias */
-#define GCB_LOCAL_GROUP                0x0001
-#define GCB_ALIAS_GROUP                (GCB_LOCAL_GROUP |GCB_BUILTIN)
-#define GCB_GLOBAL_GROUP       0x0002
-#define GCB_BUILTIN            0x1000
-
-typedef struct sam_context 
-{
-       struct sam_methods *methods;
-       TALLOC_CTX *mem_ctx;
-       
-       void (*free_fn)(struct sam_context **);
-} SAM_CONTEXT;
-
-typedef struct sam_methods 
-{
-       struct sam_context              *parent;
-       struct sam_methods              *next;
-       struct sam_methods              *prev;
-       const char                      *backendname;
-       const char                      *domain_name;
-       DOM_SID                         domain_sid;
-       void                            *private_data;
-       
-       /* General API */
-       
-       NTSTATUS (*sam_get_sec_desc) (const struct sam_methods *, const NT_USER_TOKEN *access_token, const DOM_SID *sid, SEC_DESC **sd);
-       NTSTATUS (*sam_set_sec_desc) (const struct sam_methods *, const NT_USER_TOKEN *access_token, const DOM_SID *sid, const SEC_DESC *sd);
-       
-       NTSTATUS (*sam_lookup_sid) (const struct sam_methods *, const NT_USER_TOKEN *access_token, TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **name, uint32 *type);
-       NTSTATUS (*sam_lookup_name) (const struct sam_methods *, const NT_USER_TOKEN *access_token, const char *name, DOM_SID *sid, uint32 *type);
-       
-       /* Domain API */
-
-       NTSTATUS (*sam_update_domain) (const struct sam_methods *, const SAM_DOMAIN_HANDLE *domain);
-       NTSTATUS (*sam_get_domain_handle) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, SAM_DOMAIN_HANDLE **domain);
-
-       /* Account API */
-
-       NTSTATUS (*sam_create_account) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *account_name, uint16 acct_ctrl, SAM_ACCOUNT_HANDLE **account);
-       NTSTATUS (*sam_add_account) (const struct sam_methods *, const SAM_ACCOUNT_HANDLE *account);
-       NTSTATUS (*sam_update_account) (const struct sam_methods *, const SAM_ACCOUNT_HANDLE *account);
-       NTSTATUS (*sam_delete_account) (const struct sam_methods *, const SAM_ACCOUNT_HANDLE *account);
-       NTSTATUS (*sam_enum_accounts) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint16 acct_ctrl, uint32 *account_count, SAM_ACCOUNT_ENUM **accounts);
-
-       NTSTATUS (*sam_get_account_by_sid) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account);
-       NTSTATUS (*sam_get_account_by_name) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_ACCOUNT_HANDLE **account);
-
-       /* Group API */
-
-       NTSTATUS (*sam_create_group) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *group_name, uint16 group_ctrl, SAM_GROUP_HANDLE **group);
-       NTSTATUS (*sam_add_group) (const struct sam_methods *, const SAM_GROUP_HANDLE *group);
-       NTSTATUS (*sam_update_group) (const struct sam_methods *, const SAM_GROUP_HANDLE *group);
-       NTSTATUS (*sam_delete_group) (const struct sam_methods *, const SAM_GROUP_HANDLE *group);
-       NTSTATUS (*sam_enum_groups) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups);
-       NTSTATUS (*sam_get_group_by_sid) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group);
-       NTSTATUS (*sam_get_group_by_name) (const struct sam_methods *, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_GROUP_HANDLE **group);
-
-       NTSTATUS (*sam_add_member_to_group) (const struct sam_methods *, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member);
-       NTSTATUS (*sam_delete_member_from_group) (const struct sam_methods *, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member);
-       NTSTATUS (*sam_enum_groupmembers) (const struct sam_methods *, const SAM_GROUP_HANDLE *group, uint32 *members_count, SAM_GROUP_MEMBER **members);
-
-       NTSTATUS (*sam_get_groups_of_sid) (const struct sam_methods *, const NT_USER_TOKEN *access_token, const DOM_SID **sids, uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups);
-
-       void (*free_private_data)(void **);
-} SAM_METHODS;
-
-typedef NTSTATUS (*sam_init_function)(SAM_METHODS *, const char *);
-
-struct sam_init_function_entry {
-       char *module_name;
-       /* Function to create a member of the sam_methods list */
-       sam_init_function init;
-};
-
-typedef struct sam_backend_entry {
-       char    *module_name;
-       char    *module_params;
-       char    *domain_name;
-       DOM_SID *domain_sid;
-} SAM_BACKEND_ENTRY;
-
-
-#endif /* _SAM_H */
index f96a19954a24770b395f273224e6b339bdd33526..279b79eace3f9c466222b6e94032550f03610b7d 100644 (file)
@@ -1642,8 +1642,6 @@ typedef struct user_struct
                                 TDB key string */
        int homes_snum;
 
-       struct auth_serversupplied_info *server_info;
-
 } user_struct;
 
 
diff --git a/source3/include/tdbsam2.h b/source3/include/tdbsam2.h
deleted file mode 100644 (file)
index 0ca9d34..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Unix SMB/CIFS implementation. 
- * tdbsam2 genstruct enabled header file
- * Copyright (C) Simo Sorce 2002
- * 
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- * 
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 675
- * Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-/* ALL strings assumes UTF8 as encoding */
-
-GENSTRUCT struct tdbsam2_domain_data {
-       uint32 xcounter;                /* counter to be updated at any change */
-
-       SEC_DESC *sec_desc;             /* Security Descriptor */
-       DOM_SID *user_sid;              /* The User SID */
-       char *name; _NULLTERM           /* NT User Name */
-       char *description; _NULLTERM    /* Descritpion (Gecos) */
-};
-
-GENSTRUCT struct tdbsam2_user_data {
-       uint32 xcounter;                /* counter to be updated at any change */
-
-       SEC_DESC *sec_desc;             /* Security Descriptor */
-       DOM_SID *user_sid;              /* The User SID */
-       char *name; _NULLTERM           /* NT User Name */
-       char *description; _NULLTERM    /* Descritpion (Gecos) */
-
-       DOM_SID *group_sid;             /* The Primary Group SID */
-
-       NTTIME *logon_time;
-       NTTIME *logoff_time;
-       NTTIME *kickoff_time;
-       NTTIME *pass_last_set_time;
-       NTTIME *pass_can_change_time;
-       NTTIME *pass_must_change_time;
-       
-       char *full_name; _NULLTERM      /* The Full Name */
-       char *home_dir; _NULLTERM       /* Home Directory */
-       char *dir_drive; _NULLTERM      /* Drive Letter the home should be mapped to */
-       char *logon_script; _NULLTERM   /* Logon script path */
-       char *profile_path; _NULLTERM   /* Profile is stored here */
-       char *workstations; _NULLTERM   /* List of Workstation names the user is allowed to LogIn */
-       char *unknown_str; _NULLTERM    /* Guess ... Unknown */
-       char *munged_dial; _NULLTERM    /* Callback Number */
-
-       /* passwords are 16 byte leght, pointer is null if no password */
-       uint8 *lm_pw_ptr; _LEN(16)      /* Lanman hashed password */
-       uint8 *nt_pw_ptr; _LEN(16)      /* NT hashed password */
-
-       uint16 logon_divs;              /* 168 - num of hours in a week */
-       uint32 hours_len;               /* normally 21 */
-       uint8 *hours; _LEN(hours_len)   /* normally 21 bytes (depends on hours_len) */
-
-       uint32 unknown_3;               /* 0x00ff ffff */
-       uint32 unknown_5;               /* 0x0002 0000 */
-       uint32 unknown_6;               /* 0x0000 04ec */
-};     
-
-GENSTRUCT struct tdbsam2_group_data {
-       uint32 xcounter;                /* counter to be updated at any change */
-
-       SEC_DESC *sec_desc;             /* Security Descriptor */
-       DOM_SID *group_sid;             /* The Group SID */
-       char *name; _NULLTERM           /* NT User Name */
-       char *description; _NULLTERM    /* Descritpion (Gecos) */
-
-       uint32 count;                   /* number of sids */
-       DOM_SID **members; _LEN(count)  /* SID array */
-};
-
-GENSTRUCT struct tdbsam2_privilege_data {
-       uint32 xcounter;                /* counter to be updated at any change */
-
-       LUID_ATTR *privilege;           /* Privilege */
-       char *name; _NULLTERM           /* NT User Name */
-       char *description; _NULLTERM    /* Descritpion (Gecos) */
-
-       uint32 count;                   /* number of sids */
-       DOM_SID **members; _LEN(count)  /* SID array */
-};
-
index c0a1c702f294e6b9f48b738ccb600e3736365474..15d223fd7f951249a389acc00e877bfb246be205 100644 (file)
@@ -1 +1 @@
-#define VERSION "post3.0-HEAD"
+#define VERSION "3.0alpha22cvs"
index bffa2a378ccccdf5a5b4297832ff42f90a5790f1..54e17bea686d0849fc54e11fa1325381c5b8bf0b 100644 (file)
@@ -26,18 +26,10 @@ static pstring cvtbuf;
 
 static smb_iconv_t conv_handles[NUM_CHARSETS][NUM_CHARSETS];
 
-/**
- * @file
- *
- * Character set conversion routines.
- *
- * @sa lib/iconv.c
- **/
+/****************************************************************************
+ Return the name of a charset to give to iconv().
+****************************************************************************/
 
-
-/**
- * Return the name of a charset to give to iconv().
- **/
 static const char *charset_name(charset_t ch)
 {
        const char *ret = NULL;
@@ -64,9 +56,9 @@ static void lazy_initialize_conv(void)
        }
 }
 
-/**
+/****************************************************************************
  Initialize iconv conversion descriptors.
-**/
+****************************************************************************/
 
 void init_iconv(void)
 {
@@ -112,12 +104,14 @@ void init_iconv(void)
 /**
  * Convert string from one encoding to another, making error checking etc
  *
+ * @param descriptor conversion descriptor, created in init_iconv()
  * @param src pointer to source string (multibyte or singlebyte)
  * @param srclen length of the source string in bytes
  * @param dest pointer to destination string (multibyte or singlebyte)
  * @param destlen maximal length allowed for string
- * @returns the number of bytes occupied in the destination
+ * @retval the number of bytes occupied in the destination
  **/
+
 size_t convert_string(charset_t from, charset_t to,
                      void const *src, size_t srclen, 
                      void *dest, size_t destlen)
@@ -176,7 +170,7 @@ size_t convert_string(charset_t from, charset_t to,
  * @param dest always set at least to NULL
  * @note -1 is not accepted for srclen.
  *
- * @returns Size in bytes of the converted string; or -1 in case of error.
+ * @retval Size in bytes of the converted string; or -1 in case of error.
  **/
 
 size_t convert_string_allocate(charset_t from, charset_t to,
@@ -248,7 +242,6 @@ convert:
        return destlen;
 }
 
-
 /**
  * Convert between character sets, allocating a new buffer using talloc for the result.
  *
@@ -256,8 +249,9 @@ convert:
  * @param dest always set at least to NULL 
  * @note -1 is not accepted for srclen.
  *
- * @returns Size in bytes of the converted string; or -1 in case of error.
+ * @retval Size in bytes of the converted string; or -1 in case of error.
  **/
+
 size_t convert_string_talloc(TALLOC_CTX *ctx, charset_t from, charset_t to,
                                void const *src, size_t srclen, void **dest)
 {
@@ -304,20 +298,16 @@ size_t ucs2_align(const void *base_ptr, const void *p, int flags)
 }
 
 
-/**
- * Copy a string from a char* unix src to a dos codepage string destination.
- *
- * @return the number of bytes occupied by the string in the destination.
- *
- * @param flags can include
- * <dl>
- * <dt>STR_TERMINATE</dt> <dd>means include the null termination</dd>
- * <dt>STR_UPPER</dt> <dd>means uppercase in the destination</dd>
- * </dl>
- *
- * @param dest_len the maximum length in bytes allowed in the
- * destination.  If @p dest_len is -1 then no maximum is used.
- **/
+/****************************************************************************
+copy a string from a char* unix src to a dos codepage string destination
+return the number of bytes occupied by the string in the destination
+flags can have:
+  STR_TERMINATE means include the null termination
+  STR_UPPER     means uppercase in the destination
+dest_len is the maximum length in bytes allowed in the destination. If dest_len
+is -1 then no maxiumum is used
+****************************************************************************/
+
 size_t push_ascii(void *dest, const char *src, size_t dest_len, int flags)
 {
        size_t src_len = strlen(src);
@@ -354,21 +344,16 @@ size_t push_pstring(void *dest, const char *src)
        return push_ascii(dest, src, sizeof(pstring), STR_TERMINATE);
 }
 
-/**
- * Copy a string from a dos codepage source to a unix char* destination.
- *
- * The resulting string in "dest" is always null terminated.
- *
- * @param flags can have:
- * <dl>
- * <dt>STR_TERMINATE</dt>
- * <dd>STR_TERMINATE means the string in @p src
- * is null terminated, and src_len is ignored.</dd>
- * </dl>
- *
- * @param src_len is the length of the source area in bytes.
- * @returns the number of bytes occupied by the string in @p src.
- **/
+/****************************************************************************
+ Copy a string from a dos codepage source to a unix char* destination.
+ Flags can have:
+   STR_TERMINATE means the string in src is null terminated.
+ if STR_TERMINATE is set then src_len is ignored.
+ src_len is the length of the source area in bytes.
+ Return the number of bytes occupied by the string in src.
+ The resulting string in "dest" is always null terminated.
+****************************************************************************/
+
 size_t pull_ascii(char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
 {
        size_t ret;
@@ -405,22 +390,17 @@ size_t pull_ascii_fstring(char *dest, const void *src)
        return pull_ascii(dest, src, sizeof(fstring), -1, STR_TERMINATE);
 }
 
-/**
- * Copy a string from a char* src to a unicode destination.
- *
- * @returns the number of bytes occupied by the string in the destination.
- *
- * @param flags can have:
- *
- * <dl>
- * <dt>STR_TERMINATE <dd>means include the null termination.
- * <dt>STR_UPPER     <dd>means uppercase in the destination.
- * <dt>STR_NOALIGN   <dd>means don't do alignment.
- * </dl>
- *
- * @param dest_len is the maximum length allowed in the
- * destination. If dest_len is -1 then no maxiumum is used.
- **/
+/****************************************************************************
+ Copy a string from a char* src to a unicode destination.
+ Return the number of bytes occupied by the string in the destination.
+ Flags can have:
+  STR_TERMINATE means include the null termination.
+  STR_UPPER     means uppercase in the destination.
+  STR_NOALIGN   means don't do alignment.
+ dest_len is the maximum length allowed in the destination. If dest_len
+ is -1 then no maxiumum is used.
+****************************************************************************/
+
 size_t push_ucs2(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags)
 {
        size_t len=0;
@@ -454,16 +434,15 @@ size_t push_ucs2(const void *base_ptr, void *dest, const char *src, size_t dest_
        return len;
 }
 
-
 /**
- * Copy a string from a unix char* src to a UCS2 destination,
- * allocating a buffer using talloc().
+ * Copy a string from a unix char* src to a UCS2 destination, allocating a buffer using talloc
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  *         or -1 in case of error.
  **/
+
 size_t push_ucs2_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src)
 {
        size_t src_len = strlen(src)+1;
@@ -472,13 +451,12 @@ size_t push_ucs2_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src)
        return convert_string_talloc(ctx, CH_UNIX, CH_UCS2, src, src_len, (void **)dest);
 }
 
-
 /**
  * Copy a string from a unix char* src to a UCS2 destination, allocating a buffer
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  *         or -1 in case of error.
  **/
 
@@ -490,7 +468,7 @@ size_t push_ucs2_allocate(smb_ucs2_t **dest, const char *src)
        return convert_string_allocate(CH_UNIX, CH_UCS2, src, src_len, (void **)dest);  
 }
 
-/**
+/****************************************************************************
  Copy a string from a char* src to a UTF-8 destination.
  Return the number of bytes occupied by the string in the destination
  Flags can have:
@@ -498,7 +476,7 @@ size_t push_ucs2_allocate(smb_ucs2_t **dest, const char *src)
   STR_UPPER     means uppercase in the destination
  dest_len is the maximum length allowed in the destination. If dest_len
  is -1 then no maxiumum is used.
-**/
+****************************************************************************/
 
 size_t push_utf8(void *dest, const char *src, size_t dest_len, int flags)
 {
@@ -536,7 +514,7 @@ size_t push_utf8_pstring(void *dest, const char *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t push_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src)
@@ -552,7 +530,7 @@ size_t push_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t push_utf8_allocate(char **dest, const char *src)
@@ -563,7 +541,7 @@ size_t push_utf8_allocate(char **dest, const char *src)
        return convert_string_allocate(CH_UNIX, CH_UTF8, src, src_len, (void **)dest);  
 }
 
-/**
+/****************************************************************************
  Copy a string from a ucs2 source to a unix char* destination.
  Flags can have:
   STR_TERMINATE means the string in src is null terminated.
@@ -572,7 +550,7 @@ size_t push_utf8_allocate(char **dest, const char *src)
  src_len is the length of the source area in bytes
  Return the number of bytes occupied by the string in src.
  The resulting string in "dest" is always null terminated.
-**/
+****************************************************************************/
 
 size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
 {
@@ -624,7 +602,7 @@ size_t pull_ucs2_fstring(char *dest, const void *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t pull_ucs2_talloc(TALLOC_CTX *ctx, char **dest, const smb_ucs2_t *src)
@@ -639,7 +617,7 @@ size_t pull_ucs2_talloc(TALLOC_CTX *ctx, char **dest, const smb_ucs2_t *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t pull_ucs2_allocate(void **dest, const smb_ucs2_t *src)
@@ -649,7 +627,7 @@ size_t pull_ucs2_allocate(void **dest, const smb_ucs2_t *src)
        return convert_string_allocate(CH_UCS2, CH_UNIX, src, src_len, dest);   
 }
 
-/**
+/****************************************************************************
  Copy a string from a utf-8 source to a unix char* destination.
  Flags can have:
   STR_TERMINATE means the string in src is null terminated.
@@ -657,7 +635,7 @@ size_t pull_ucs2_allocate(void **dest, const smb_ucs2_t *src)
  src_len is the length of the source area in bytes
  Return the number of bytes occupied by the string in src.
  The resulting string in "dest" is always null terminated.
-**/
+****************************************************************************/
 
 size_t pull_utf8(char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
 {
@@ -699,7 +677,7 @@ size_t pull_utf8_fstring(char *dest, const void *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t pull_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src)
@@ -714,7 +692,7 @@ size_t pull_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src)
  *
  * @param dest always set at least to NULL 
  *
- * @returns The number of bytes occupied by the string in the destination
+ * @retval The number of bytes occupied by the string in the destination
  **/
 
 size_t pull_utf8_allocate(void **dest, const char *src)
@@ -724,7 +702,7 @@ size_t pull_utf8_allocate(void **dest, const char *src)
        return convert_string_allocate(CH_UTF8, CH_UNIX, src, src_len, dest);   
 }
  
-/**
+/****************************************************************************
  Copy a string from a char* src to a unicode or ascii
  dos codepage destination choosing unicode or ascii based on the 
  flags in the SMB buffer starting at base_ptr.
@@ -736,7 +714,7 @@ size_t pull_utf8_allocate(void **dest, const char *src)
   STR_NOALIGN   means don't do alignment.
  dest_len is the maximum length allowed in the destination. If dest_len
  is -1 then no maxiumum is used.
-**/
+****************************************************************************/
 
 size_t push_string(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags)
 {
@@ -749,7 +727,7 @@ size_t push_string(const void *base_ptr, void *dest, const char *src, size_t des
 }
 
 
-/**
+/****************************************************************************
  Copy a string from a unicode or ascii source (depending on
  the packet flags) to a char* destination.
  Flags can have:
@@ -761,7 +739,7 @@ size_t push_string(const void *base_ptr, void *dest, const char *src, size_t des
  src_len is the length of the source area in bytes.
  Return the number of bytes occupied by the string in src.
  The resulting string in "dest" is always null terminated.
-**/
+****************************************************************************/
 
 size_t pull_string(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
 {
@@ -783,12 +761,12 @@ size_t align_string(const void *base_ptr, const char *p, int flags)
        return 0;
 }
 
-/**
+/****************************************************************************
  Convert from ucs2 to unix charset and return the
  allocated and converted string or NULL if an error occurred.
  You must provide a zero terminated string.
  The returning string will be zero terminated.
-**/
+****************************************************************************/
 
 char *acnv_u2ux(const smb_ucs2_t *src)
 {
@@ -804,12 +782,12 @@ char *acnv_u2ux(const smb_ucs2_t *src)
                return dest;
 }
 
-/**
+/****************************************************************************
  Convert from unix to ucs2 charset and return the
  allocated and converted string or NULL if an error occurred.
  You must provide a zero terminated string.
  The returning string will be zero terminated.
-**/
+****************************************************************************/
 
 smb_ucs2_t *acnv_uxu2(const char *src)
 {
@@ -825,12 +803,12 @@ smb_ucs2_t *acnv_uxu2(const char *src)
                return dest;
 }
 
-/**
+/****************************************************************************
  Convert from ucs2 to dos charset and return the
  allocated and converted string or NULL if an error occurred.
  You must provide a zero terminated string.
  The returning string will be zero terminated.
-**/
+****************************************************************************/
 
 char *acnv_u2dos(const smb_ucs2_t *src)
 {
@@ -846,12 +824,12 @@ char *acnv_u2dos(const smb_ucs2_t *src)
                return dest;
 }
 
-/**
+/****************************************************************************
  Convert from dos to ucs2 charset and return the
  allocated and converted string or NULL if an error occurred.
  You must provide a zero terminated string.
  The returning string will be zero terminated.
-**/
+****************************************************************************/
 
 smb_ucs2_t *acnv_dosu2(const char *src)
 {
index 4056212fc5637247cd40504bc9a8dd829f507de9..250c3ade88e57eb9ab375db1ad6c88dbaabece03 100644 (file)
@@ -84,7 +84,6 @@ void data_blob_free(DATA_BLOB *d)
                if (d->free) {
                        (d->free)(d);
                }
-               d->length = 0;
        }
 }
 
diff --git a/source3/lib/domain_namemap.c b/source3/lib/domain_namemap.c
deleted file mode 100644 (file)
index 988f5e5..0000000
+++ /dev/null
@@ -1,1317 +0,0 @@
-/* 
-   Unix SMB/Netbios implementation.
-   Version 1.9.
-   Groupname handling
-   Copyright (C) Jeremy Allison 1998.
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/* 
- * UNIX gid and Local or Domain SID resolution.  This module resolves
- * only those entries in the map files, it is *NOT* responsible for
- * resolving UNIX groups not listed: that is an entirely different
- * matter, altogether...
- */
-
-/*
- *
- *
-
- format of the file is:
-
- unixname      NT Group name
- unixname      Domain Admins (well-known Domain Group)
- unixname      DOMAIN_NAME\NT Group name
- unixname      OTHER_DOMAIN_NAME\NT Group name
- unixname      DOMAIN_NAME\Domain Admins (well-known Domain Group)
- ....
-
- if the DOMAIN_NAME\ component is left off, then your own domain is assumed.
-
- *
- *
- */
-
-
-#include "includes.h"
-extern int DEBUGLEVEL;
-
-extern fstring global_myworkgroup;
-extern DOM_SID global_member_sid;
-extern fstring global_sam_name;
-extern DOM_SID global_sam_sid;
-extern DOM_SID global_sid_S_1_5_20;
-
-/*******************************************************************
- converts UNIX uid to an NT User RID. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uid_t pwdb_user_rid_to_uid(uint32 user_rid)
-{
-       return ((user_rid & (~RID_TYPE_USER))- 1000)/RID_MULTIPLIER;
-}
-
-/*******************************************************************
- converts NT Group RID to a UNIX uid. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_group_rid_to_gid(uint32 group_rid)
-{
-       return ((group_rid & (~RID_TYPE_GROUP))- 1000)/RID_MULTIPLIER;
-}
-
-/*******************************************************************
- converts NT Alias RID to a UNIX uid. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_alias_rid_to_gid(uint32 alias_rid)
-{
-       return ((alias_rid & (~RID_TYPE_ALIAS))- 1000)/RID_MULTIPLIER;
-}
-
-/*******************************************************************
- converts NT Group RID to a UNIX uid. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_gid_to_group_rid(uint32 gid)
-{
-       uint32 grp_rid = ((((gid)*RID_MULTIPLIER) + 1000) | RID_TYPE_GROUP);
-       return grp_rid;
-}
-
-/******************************************************************
- converts UNIX gid to an NT Alias RID. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_gid_to_alias_rid(uint32 gid)
-{
-       uint32 alias_rid = ((((gid)*RID_MULTIPLIER) + 1000) | RID_TYPE_ALIAS);
-       return alias_rid;
-}
-
-/*******************************************************************
- converts UNIX uid to an NT User RID. NOTE: IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_uid_to_user_rid(uint32 uid)
-{
-       uint32 user_rid = ((((uid)*RID_MULTIPLIER) + 1000) | RID_TYPE_USER);
-       return user_rid;
-}
-
-/******************************************************************
- converts SID + SID_NAME_USE type to a UNIX id.  the Domain SID is,
- and can only be, our own SID.
- ********************************************************************/
-static BOOL pwdb_sam_sid_to_unixid(DOM_SID *sid, uint8 type, uint32 *id)
-{
-       DOM_SID tmp_sid;
-       uint32 rid;
-
-       sid_copy(&tmp_sid, sid);
-       sid_split_rid(&tmp_sid, &rid);
-       if (!sid_equal(&global_sam_sid, &tmp_sid))
-       {
-               return False;
-       }
-
-       switch (type)
-       {
-               case SID_NAME_USER:
-               {
-                       *id = pwdb_user_rid_to_uid(rid);
-                       return True;
-               }
-               case SID_NAME_ALIAS:
-               {
-                       *id = pwdb_alias_rid_to_gid(rid);
-                       return True;
-               }
-               case SID_NAME_DOM_GRP:
-               case SID_NAME_WKN_GRP:
-               {
-                       *id = pwdb_group_rid_to_gid(rid);
-                       return True;
-               }
-       }
-       return False;
-}
-
-/******************************************************************
- converts UNIX gid + SID_NAME_USE type to a SID.  the Domain SID is,
- and can only be, our own SID.
- ********************************************************************/
-static BOOL pwdb_unixid_to_sam_sid(uint32 id, uint8 type, DOM_SID *sid)
-{
-       sid_copy(sid, &global_sam_sid);
-       switch (type)
-       {
-               case SID_NAME_USER:
-               {
-                       sid_append_rid(sid, pwdb_uid_to_user_rid(id));
-                       return True;
-               }
-               case SID_NAME_ALIAS:
-               {
-                       sid_append_rid(sid, pwdb_gid_to_alias_rid(id));
-                       return True;
-               }
-               case SID_NAME_DOM_GRP:
-               case SID_NAME_WKN_GRP:
-               {
-                       sid_append_rid(sid, pwdb_gid_to_group_rid(id));
-                       return True;
-               }
-       }
-       return False;
-}
-
-/*******************************************************************
- Decides if a RID is a well known RID.
- ********************************************************************/
-static BOOL pwdb_rid_is_well_known(uint32 rid)
-{
-       return (rid < 1000);
-}
-
-/*******************************************************************
- determines a rid's type.  NOTE: THIS IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-static uint32 pwdb_rid_type(uint32 rid)
-{
-       /* lkcl i understand that NT attaches an enumeration to a RID
-        * such that it can be identified as either a user, group etc
-        * type: SID_ENUM_TYPE.
-        */
-       if (pwdb_rid_is_well_known(rid))
-       {
-               /*
-                * The only well known user RIDs are DOMAIN_USER_RID_ADMIN
-                * and DOMAIN_USER_RID_GUEST.
-                */
-               if (rid == DOMAIN_USER_RID_ADMIN || rid == DOMAIN_USER_RID_GUEST)
-               {
-                       return RID_TYPE_USER;
-               }
-               if (DOMAIN_GROUP_RID_ADMINS <= rid && rid <= DOMAIN_GROUP_RID_GUESTS)
-               {
-                       return RID_TYPE_GROUP;
-               }
-               if (BUILTIN_ALIAS_RID_ADMINS <= rid && rid <= BUILTIN_ALIAS_RID_REPLICATOR)
-               {
-                       return RID_TYPE_ALIAS;
-               }
-       }
-       return (rid & RID_TYPE_MASK);
-}
-
-/*******************************************************************
- checks whether rid is a user rid.  NOTE: THIS IS SOMETHING SPECIFIC TO SAMBA
- ********************************************************************/
-BOOL pwdb_rid_is_user(uint32 rid)
-{
-       return pwdb_rid_type(rid) == RID_TYPE_USER;
-}
-
-/**************************************************************************
- Groupname map functionality. The code loads a groupname map file and
- (currently) loads it into a linked list. This is slow and memory
- hungry, but can be changed into a more efficient storage format
- if the demands on it become excessive.
-***************************************************************************/
-
-typedef struct name_map
-{
-       ubi_slNode next;
-       DOM_NAME_MAP grp;
-
-} name_map_entry;
-
-static ubi_slList groupname_map_list;
-static ubi_slList aliasname_map_list;
-static ubi_slList ntusrname_map_list;
-
-static void delete_name_entry(name_map_entry *gmep)
-{
-       if (gmep->grp.nt_name)
-       {
-               free(gmep->grp.nt_name);
-       }
-       if (gmep->grp.nt_domain)
-       {
-               free(gmep->grp.nt_domain);
-       }
-       if (gmep->grp.unix_name)
-       {
-               free(gmep->grp.unix_name);
-       }
-       free((char*)gmep);
-}
-
-/**************************************************************************
- Delete all the entries in the name map list.
-***************************************************************************/
-
-static void delete_map_list(ubi_slList *map_list)
-{
-       name_map_entry *gmep;
-
-       while ((gmep = (name_map_entry *)ubi_slRemHead(map_list )) != NULL)
-       {
-               delete_name_entry(gmep);
-       }
-}
-
-
-/**************************************************************************
- makes a group sid out of a domain sid and a _unix_ gid.
-***************************************************************************/
-static BOOL make_mydomain_sid(DOM_NAME_MAP *grp, DOM_MAP_TYPE type)
-{
-       int ret = False;
-       fstring sid_str;
-
-       if (!map_domain_name_to_sid(&grp->sid, &(grp->nt_domain)))
-       {
-               DEBUG(0,("make_mydomain_sid: unknown domain %s\n",
-                         grp->nt_domain));
-               return False;
-       }
-
-       if (sid_equal(&grp->sid, &global_sid_S_1_5_20))
-       {
-               /*
-                * only builtin aliases are recognised in S-1-5-20
-                */
-               DEBUG(10,("make_mydomain_sid: group %s in builtin domain\n",
-                          grp->nt_name));
-
-               if (lookup_builtin_alias_name(grp->nt_name, "BUILTIN", &grp->sid, &grp->type) != 0x0)
-               {
-                       DEBUG(0,("unix group %s mapped to an unrecognised BUILTIN domain name %s\n",
-                                 grp->unix_name, grp->nt_name));
-                       return False;
-               }
-               ret = True;
-       }
-       else if (lookup_wk_user_name(grp->nt_name, grp->nt_domain, &grp->sid, &grp->type) == 0x0)
-       {
-               if (type != DOM_MAP_USER)
-               {
-                       DEBUG(0,("well-known NT user %s\\%s listed in wrong map file\n",
-                                 grp->nt_domain, grp->nt_name));
-                       return False;
-               }
-               ret = True;
-       }
-       else if (lookup_wk_group_name(grp->nt_name, grp->nt_domain, &grp->sid, &grp->type) == 0x0)
-       {
-               if (type != DOM_MAP_DOMAIN)
-               {
-                       DEBUG(0,("well-known NT group %s\\%s listed in wrong map file\n",
-                                 grp->nt_domain, grp->nt_name));
-                       return False;
-               }
-               ret = True;
-       }
-       else
-       {
-               switch (type)
-               {
-                       case DOM_MAP_USER:
-                       {
-                               grp->type = SID_NAME_USER;
-                               break;
-                       }
-                       case DOM_MAP_DOMAIN:
-                       {
-                               grp->type = SID_NAME_DOM_GRP;
-                               break;
-                       }
-                       case DOM_MAP_LOCAL:
-                       {
-                               grp->type = SID_NAME_ALIAS;
-                               break;
-                       }
-               }
-
-               ret = pwdb_unixid_to_sam_sid(grp->unix_id, grp->type, &grp->sid);
-       }
-
-       sid_to_string(sid_str, &grp->sid);
-       DEBUG(10,("nt name %s\\%s gid %d mapped to %s\n",
-                  grp->nt_domain, grp->nt_name, grp->unix_id, sid_str));
-       return ret;
-}
-
-/**************************************************************************
- makes a group sid out of an nt domain, nt group name or a unix group name.
-***************************************************************************/
-static BOOL unix_name_to_nt_name_info(DOM_NAME_MAP *map, DOM_MAP_TYPE type)
-{
-       /*
-        * Attempt to get the unix gid_t for this name.
-        */
-
-       DEBUG(5,("unix_name_to_nt_name_info: unix_name:%s\n", map->unix_name));
-
-       if (type == DOM_MAP_USER)
-       {
-               const struct passwd *pwptr = Get_Pwnam(map->unix_name, False);
-               if (pwptr == NULL)
-               {
-                       DEBUG(0,("unix_name_to_nt_name_info: Get_Pwnam for user %s\
-failed. Error was %s.\n", map->unix_name, strerror(errno) ));
-                       return False;
-               }
-
-               map->unix_id = (uint32)pwptr->pw_uid;
-       }
-       else
-       {
-               struct group *gptr = getgrnam(map->unix_name);
-               if (gptr == NULL)
-               {
-                       DEBUG(0,("unix_name_to_nt_name_info: getgrnam for group %s\
-failed. Error was %s.\n", map->unix_name, strerror(errno) ));
-                       return False;
-               }
-
-               map->unix_id = (uint32)gptr->gr_gid;
-       }
-
-       DEBUG(5,("unix_name_to_nt_name_info: unix gid:%d\n", map->unix_id));
-
-       /*
-        * Now map the name to an NT SID+RID.
-        */
-
-       if (map->nt_domain != NULL && !strequal(map->nt_domain, global_sam_name))
-       {
-               /* Must add client-call lookup code here, to 
-                * resolve remote domain's sid and the group's rid,
-                * in that domain.
-                *
-                * NOTE: it is _incorrect_ to put code here that assumes
-                * we are responsible for lookups for foriegn domains' RIDs.
-                *
-                * for foriegn domains for which we are *NOT* the PDC, all
-                * we can be responsible for is the unix gid_t to which
-                * the foriegn SID+rid maps to, on this _local_ machine.  
-                * we *CANNOT* make any short-cuts or assumptions about
-                * RIDs in a foriegn domain.
-                */
-
-               if (!map_domain_name_to_sid(&map->sid, &(map->nt_domain)))
-               {
-                       DEBUG(0,("unix_name_to_nt_name_info: no known sid for %s\n",
-                                 map->nt_domain));
-                       return False;
-               }
-       }
-
-       return make_mydomain_sid(map, type);
-}
-
-static BOOL make_name_entry(name_map_entry **new_ep,
-               char *nt_domain, char *nt_group, char *unix_group,
-               DOM_MAP_TYPE type)
-{
-       /*
-        * Create the list entry and add it onto the list.
-        */
-
-       DEBUG(5,("make_name_entry:%s,%s,%s\n", nt_domain, nt_group, unix_group));
-
-       (*new_ep) = (name_map_entry *)malloc(sizeof(name_map_entry));
-       if ((*new_ep) == NULL)
-       {
-               DEBUG(0,("make_name_entry: malloc fail for name_map_entry.\n"));
-               return False;
-       } 
-
-       ZERO_STRUCTP(*new_ep);
-
-       (*new_ep)->grp.nt_name   = strdup(nt_group  );
-       (*new_ep)->grp.nt_domain = strdup(nt_domain );
-       (*new_ep)->grp.unix_name = strdup(unix_group);
-
-       if ((*new_ep)->grp.nt_name   == NULL ||
-           (*new_ep)->grp.unix_name == NULL)
-       {
-               DEBUG(0,("make_name_entry: malloc fail for names in name_map_entry.\n"));
-               delete_name_entry((*new_ep));
-               return False;
-       }
-
-       /*
-        * look up the group names, make the Group-SID and unix gid
-        */
-       if (!unix_name_to_nt_name_info(&(*new_ep)->grp, type))
-       {
-               delete_name_entry((*new_ep));
-               return False;
-       }
-
-       return True;
-}
-
-/**************************************************************************
- Load a name map file. Sets last accessed timestamp.
-***************************************************************************/
-static ubi_slList *load_name_map(DOM_MAP_TYPE type)
-{
-       static time_t groupmap_file_last_modified = (time_t)0;
-       static time_t aliasmap_file_last_modified = (time_t)0;
-       static time_t ntusrmap_file_last_modified  = (time_t)0;
-       static BOOL initialised_group = False;
-       static BOOL initialised_alias = False;
-       static BOOL initialised_ntusr  = False;
-       char *groupname_map_file = lp_groupname_map();
-       char *aliasname_map_file = lp_aliasname_map();
-       char *ntusrname_map_file = lp_ntusrname_map();
-
-       FILE *fp;
-       char *s;
-       pstring buf;
-       name_map_entry *new_ep;
-
-       time_t *file_last_modified = NULL;
-       int    *initialised = NULL;
-       char   *map_file = NULL;
-       ubi_slList *map_list = NULL;
-
-       switch (type)
-       {
-               case DOM_MAP_DOMAIN:
-               {
-                       file_last_modified = &groupmap_file_last_modified;
-                       initialised        = &initialised_group;
-                       map_file           = groupname_map_file;
-                       map_list           = &groupname_map_list;
-
-                       break;
-               }
-               case DOM_MAP_LOCAL:
-               {
-                       file_last_modified = &aliasmap_file_last_modified;
-                       initialised        = &initialised_alias;
-                       map_file           = aliasname_map_file;
-                       map_list           = &aliasname_map_list;
-
-                       break;
-               }
-               case DOM_MAP_USER:
-               {
-                       file_last_modified = &ntusrmap_file_last_modified;
-                       initialised        = &initialised_ntusr;
-                       map_file           = ntusrname_map_file;
-                       map_list           = &ntusrname_map_list;
-
-                       break;
-               }
-       }
-
-       if (!(*initialised))
-       {
-               DEBUG(10,("initialising map %s\n", map_file));
-               ubi_slInitList(map_list);
-               (*initialised) = True;
-       }
-
-       if (!*map_file)
-       {
-               return map_list;
-       }
-
-       /*
-        * Load the file.
-        */
-
-       fp = open_file_if_modified(map_file, "r", file_last_modified);
-       if (!fp)
-       {
-               return map_list;
-       }
-
-       /*
-        * Throw away any previous list.
-        */
-       delete_map_list(map_list);
-
-       DEBUG(4,("load_name_map: Scanning name map %s\n",map_file));
-
-       while ((s = fgets_slash(buf, sizeof(buf), fp)) != NULL)
-       {
-               pstring unixname;
-               pstring nt_name;
-               fstring nt_domain;
-               fstring ntname;
-               char *p;
-
-               DEBUG(10,("Read line |%s|\n", s));
-
-               memset(nt_name, 0, sizeof(nt_name));
-
-               if (!*s || strchr("#;",*s))
-                       continue;
-
-               if (!next_token(&s,unixname, "\t\n\r=", sizeof(unixname)))
-                       continue;
-
-               if (!next_token(&s,nt_name, "\t\n\r=", sizeof(nt_name)))
-                       continue;
-
-               trim_string(unixname, " ", " ");
-               trim_string(nt_name, " ", " ");
-
-               if (!*nt_name)
-                       continue;
-
-               if (!*unixname)
-                       continue;
-
-               p = strchr(nt_name, '\\');
-
-               if (p == NULL)
-               {
-                       memset(nt_domain, 0, sizeof(nt_domain));
-                       fstrcpy(ntname, nt_name);
-               }
-               else
-               {
-                       *p = 0;
-                       p++;
-                       fstrcpy(nt_domain, nt_name);
-                       fstrcpy(ntname , p);
-               }
-
-               if (make_name_entry(&new_ep, nt_domain, ntname, unixname, type))
-               {
-                       ubi_slAddTail(map_list, (ubi_slNode *)new_ep);
-                       DEBUG(5,("unixname = %s, ntname = %s\\%s type = %d\n",
-                                 new_ep->grp.unix_name,
-                                 new_ep->grp.nt_domain,
-                                 new_ep->grp.nt_name,
-                                 new_ep->grp.type));
-               }
-       }
-
-       DEBUG(10,("load_name_map: Added %ld entries to name map.\n",
-                  ubi_slCount(map_list)));
-
-       fclose(fp);
-
-       return map_list;
-}
-
-static void copy_grp_map_entry(DOM_NAME_MAP *grp, const DOM_NAME_MAP *from)
-{
-       sid_copy(&grp->sid, &from->sid);
-       grp->unix_id   = from->unix_id;
-       grp->nt_name   = from->nt_name;
-       grp->nt_domain = from->nt_domain;
-       grp->unix_name = from->unix_name;
-       grp->type      = from->type;
-}
-
-#if 0
-/***********************************************************
- Lookup unix name.
-************************************************************/
-static BOOL map_unixname(DOM_MAP_TYPE type,
-               char *unixname, DOM_NAME_MAP *grp_info)
-{
-       name_map_entry *gmep;
-       ubi_slList *map_list;
-
-       /*
-        * Initialise and load if not already loaded.
-        */
-       map_list = load_name_map(type);
-
-       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
-            gmep != NULL;
-            gmep = (name_map_entry *)ubi_slNext(gmep ))
-       {
-               if (strequal(gmep->grp.unix_name, unixname))
-               {
-                       copy_grp_map_entry(grp_info, &gmep->grp);
-                       DEBUG(7,("map_unixname: Mapping unix name %s to nt group %s.\n",
-                              gmep->grp.unix_name, gmep->grp.nt_name ));
-                       return True;
-               }
-       }
-
-       return False;
-}
-
-#endif
-
-/***********************************************************
- Lookup nt name.
-************************************************************/
-static BOOL map_ntname(DOM_MAP_TYPE type, char *ntname, char *ntdomain,
-                               DOM_NAME_MAP *grp_info)
-{
-       name_map_entry *gmep;
-       ubi_slList *map_list;
-
-       /*
-        * Initialise and load if not already loaded.
-        */
-       map_list = load_name_map(type);
-
-       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
-            gmep != NULL;
-            gmep = (name_map_entry *)ubi_slNext(gmep ))
-       {
-               if (strequal(gmep->grp.nt_name  , ntname) &&
-                   strequal(gmep->grp.nt_domain, ntdomain))
-               {
-                       copy_grp_map_entry(grp_info, &gmep->grp);
-                       DEBUG(7,("map_ntname: Mapping unix name %s to nt name %s.\n",
-                              gmep->grp.unix_name, gmep->grp.nt_name ));
-                       return True;
-               }
-       }
-
-       return False;
-}
-
-
-/***********************************************************
- Lookup by SID
-************************************************************/
-static BOOL map_sid(DOM_MAP_TYPE type,
-               DOM_SID *psid, DOM_NAME_MAP *grp_info)
-{
-       name_map_entry *gmep;
-       ubi_slList *map_list;
-
-       /*
-        * Initialise and load if not already loaded.
-        */
-       map_list = load_name_map(type);
-
-       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
-            gmep != NULL;
-            gmep = (name_map_entry *)ubi_slNext(gmep ))
-       {
-               if (sid_equal(&gmep->grp.sid, psid))
-               {
-                       copy_grp_map_entry(grp_info, &gmep->grp);
-                       DEBUG(7,("map_sid: Mapping unix name %s to nt name %s.\n",
-                              gmep->grp.unix_name, gmep->grp.nt_name ));
-                       return True;
-               }
-       }
-
-       return False;
-}
-
-/***********************************************************
- Lookup by gid_t.
-************************************************************/
-static BOOL map_unixid(DOM_MAP_TYPE type, uint32 unix_id, DOM_NAME_MAP *grp_info)
-{
-       name_map_entry *gmep;
-       ubi_slList *map_list;
-
-       /*
-        * Initialise and load if not already loaded.
-        */
-       map_list = load_name_map(type);
-
-       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
-            gmep != NULL;
-            gmep = (name_map_entry *)ubi_slNext(gmep ))
-       {
-               fstring sid_str;
-               sid_to_string(sid_str, &gmep->grp.sid);
-               DEBUG(10,("map_unixid: enum entry unix group %s %d nt %s %s\n",
-                              gmep->grp.unix_name, gmep->grp.unix_id, gmep->grp.nt_name, sid_str));
-               if (gmep->grp.unix_id == unix_id)
-               {
-                       copy_grp_map_entry(grp_info, &gmep->grp);
-                       DEBUG(7,("map_unixid: Mapping unix name %s to nt name %s type %d\n",
-                              gmep->grp.unix_name, gmep->grp.nt_name, gmep->grp.type));
-                       return True;
-               }
-       }
-
-       return False;
-}
-
-/***********************************************************
- *
- * Call four functions to resolve unix group ids and either
- * local group SIDs or domain group SIDs listed in the local group
- * or domain group map files.
- *
- * Note that it is *NOT* the responsibility of these functions to
- * resolve entries that are not in the map files.
- *
- * Any SID can be in the map files (i.e from any Domain).
- *
- ***********************************************************/
-
-#if 0
-
-/***********************************************************
- Lookup a UNIX Group entry by name.
-************************************************************/
-BOOL map_unix_group_name(char *group_name, DOM_NAME_MAP *grp_info)
-{
-       return map_unixname(DOM_MAP_DOMAIN, group_name, grp_info);
-}
-
-/***********************************************************
- Lookup a UNIX Alias entry by name.
-************************************************************/
-BOOL map_unix_alias_name(char *alias_name, DOM_NAME_MAP *grp_info)
-{
-       return map_unixname(DOM_MAP_LOCAL, alias_name, grp_info);
-}
-
-/***********************************************************
- Lookup an Alias name entry 
-************************************************************/
-BOOL map_nt_alias_name(char *ntalias_name, char *nt_domain, DOM_NAME_MAP *grp_info)
-{
-       return map_ntname(DOM_MAP_LOCAL, ntalias_name, nt_domain, grp_info);
-}
-
-/***********************************************************
- Lookup a Group entry
-************************************************************/
-BOOL map_nt_group_name(char *ntgroup_name, char *nt_domain, DOM_NAME_MAP *grp_info)
-{
-       return map_ntname(DOM_MAP_DOMAIN, ntgroup_name, nt_domain, grp_info);
-}
-
-#endif
-
-/***********************************************************
- Lookup a Username entry by name.
-************************************************************/
-static BOOL map_nt_username(char *nt_name, char *nt_domain, DOM_NAME_MAP *grp_info)
-{
-       return map_ntname(DOM_MAP_USER, nt_name, nt_domain, grp_info);
-}
-
-/***********************************************************
- Lookup a Username entry by SID.
-************************************************************/
-static BOOL map_username_sid(DOM_SID *sid, DOM_NAME_MAP *grp_info)
-{
-       return map_sid(DOM_MAP_USER, sid, grp_info);
-}
-
-/***********************************************************
- Lookup a Username SID entry by uid.
-************************************************************/
-static BOOL map_username_uid(uid_t gid, DOM_NAME_MAP *grp_info)
-{
-       return map_unixid(DOM_MAP_USER, (uint32)gid, grp_info);
-}
-
-/***********************************************************
- Lookup an Alias SID entry by name.
-************************************************************/
-BOOL map_alias_sid(DOM_SID *psid, DOM_NAME_MAP *grp_info)
-{
-       return map_sid(DOM_MAP_LOCAL, psid, grp_info);
-}
-
-/***********************************************************
- Lookup a Group entry by sid.
-************************************************************/
-BOOL map_group_sid(DOM_SID *psid, DOM_NAME_MAP *grp_info)
-{
-       return map_sid(DOM_MAP_DOMAIN, psid, grp_info);
-}
-
-/***********************************************************
- Lookup an Alias SID entry by gid_t.
-************************************************************/
-static BOOL map_alias_gid(gid_t gid, DOM_NAME_MAP *grp_info)
-{
-       return map_unixid(DOM_MAP_LOCAL, (uint32)gid, grp_info);
-}
-
-/***********************************************************
- Lookup a Group SID entry by gid_t.
-************************************************************/
-static BOOL map_group_gid( gid_t gid, DOM_NAME_MAP *grp_info)
-{
-       return map_unixid(DOM_MAP_DOMAIN, (uint32)gid, grp_info);
-}
-
-
-/************************************************************************
- Routine to look up User details by UNIX name
-*************************************************************************/
-BOOL lookupsmbpwnam(const char *unix_usr_name, DOM_NAME_MAP *grp)
-{
-       uid_t uid;
-       DEBUG(10,("lookupsmbpwnam: unix user name %s\n", unix_usr_name));
-       if (nametouid(unix_usr_name, &uid))
-       {
-               return lookupsmbpwuid(uid, grp);
-       }
-       else
-       {
-               return False;
-       }
-}
-
-/************************************************************************
- Routine to look up a remote nt name
-*************************************************************************/
-static BOOL lookup_remote_ntname(const char *ntname, DOM_SID *sid, uint8 *type)
-{
-       struct cli_state cli;
-       POLICY_HND lsa_pol;
-       fstring srv_name;
-       extern struct ntuser_creds *usr_creds;
-       struct ntuser_creds usr;
-
-       BOOL res3 = True;
-       BOOL res4 = True;
-       uint32 num_sids;
-       DOM_SID *sids;
-       uint8 *types;
-       char *names[1];
-
-       usr_creds = &usr;
-
-       ZERO_STRUCT(usr);
-       pwd_set_nullpwd(&usr.pwd);
-
-       DEBUG(5,("lookup_remote_ntname: %s\n", ntname));
-
-       if (!cli_connect_serverlist(&cli, lp_passwordserver()))
-       {
-               return False;
-       }
-
-       names[0] = ntname;
-
-       fstrcpy(srv_name, "\\\\");
-       fstrcat(srv_name, cli.desthost);
-       strupper(srv_name);
-
-       /* lookup domain controller; receive a policy handle */
-       res3 = res3 ? lsa_open_policy( srv_name,
-                               &lsa_pol, True) : False;
-
-       /* send lsa lookup sids call */
-       res4 = res3 ? lsa_lookup_names( &lsa_pol,
-                                      1, names, 
-                                      &sids, &types, &num_sids) : False;
-
-       res3 = res3 ? lsa_close(&lsa_pol) : False;
-
-       if (res4 && res3 && sids != NULL && types != NULL)
-       {
-               sid_copy(sid, &sids[0]);
-               *type = types[0];
-       }
-       else
-       {
-               res3 = False;
-       }
-       if (types != NULL)
-       {
-               free(types);
-       }
-       
-       if (sids != NULL)
-       {
-               free(sids);
-       }
-       
-       return res3 && res4;
-}
-
-/************************************************************************
- Routine to look up a remote nt name
-*************************************************************************/
-static BOOL get_sid_and_type(const char *fullntname, uint8 expected_type,
-                               DOM_NAME_MAP *gmep)
-{
-       /*
-        * check with the PDC to see if it owns the name.  if so,
-        * the SID is resolved with the PDC database.
-        */
-
-       if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-       {
-               if (lookup_remote_ntname(fullntname, &gmep->sid, &gmep->type))
-               {
-                       if (sid_front_equal(&gmep->sid, &global_member_sid) &&
-                           strequal(gmep->nt_domain, global_myworkgroup) &&
-                           gmep->type == expected_type)
-                       {
-                               return True;
-                       }
-                       return False;
-               }
-       }
-
-       /*
-        * ... otherwise, it's one of ours.  map the sid ourselves,
-        * which can only happen in our own SAM database.
-        */
-
-       if (!strequal(gmep->nt_domain, global_sam_name))
-       {
-               return False;
-       }
-       if (!pwdb_unixid_to_sam_sid(gmep->unix_id, gmep->type, &gmep->sid))
-       {
-               return False;
-       }
-
-       return True;
-}
-
-/*
- * used by lookup functions below
- */
-
-static fstring nt_name;
-static fstring unix_name;
-static fstring nt_domain;
-
-/*************************************************************************
- looks up a uid, returns User Information.  
-*************************************************************************/
-BOOL lookupsmbpwuid(uid_t uid, DOM_NAME_MAP *gmep)
-{
-       DEBUG(10,("lookupsmbpwuid: unix uid %d\n", uid));
-       if (map_username_uid(uid, gmep))
-       {
-               return True;
-       }
-#if 0
-       if (lp_server_role() != ROLE_DOMAIN_NONE)
-#endif
-       {
-               gmep->nt_name   = nt_name;
-               gmep->unix_name = unix_name;
-               gmep->nt_domain = nt_domain;
-
-               gmep->unix_id = (uint32)uid;
-
-               /*
-                * ok, assume it's one of ours.  then double-check it
-                * if we are a member of a domain
-                */
-
-               gmep->type = SID_NAME_USER;
-               fstrcpy(gmep->nt_name, uidtoname(uid));
-               fstrcpy(gmep->unix_name, gmep->nt_name);
-
-               /*
-                * here we should do a LsaLookupNames() call
-                * to check the status of the name with the PDC.
-                * if the PDC know nothing of the name, it's ours.
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-#if 0
-                       lsa_lookup_names(global_myworkgroup, gmep->nt_name, &gmep->sid...);
-#endif
-               }
-
-               /*
-                * ok, it's one of ours.
-                */
-
-               gmep->nt_domain = global_sam_name;
-               pwdb_unixid_to_sam_sid(gmep->unix_id, gmep->type, &gmep->sid);
-
-               return True;
-       }
-
-       /* oops. */
-
-       return False;
-}
-
-/*************************************************************************
- looks up by NT name, returns User Information.  
-*************************************************************************/
-BOOL lookupsmbpwntnam(const char *fullntname, DOM_NAME_MAP *gmep)
-{
-       DEBUG(10,("lookupsmbpwntnam: nt user name %s\n", fullntname));
-
-       if (!split_domain_name(fullntname, nt_domain, nt_name))
-       {
-               return False;
-       }
-
-       if (map_nt_username(nt_name, nt_domain, gmep))
-       {
-               return True;
-       }
-       if (lp_server_role() != ROLE_DOMAIN_NONE)
-       {
-               uid_t uid;
-               gmep->nt_name   = nt_name;
-               gmep->unix_name = unix_name;
-               gmep->nt_domain = nt_domain;
-
-               /*
-                * ok, it's one of ours.  we therefore "create" an nt user named
-                * after the unix user.  this is the point where "appliance mode"
-                * should get its teeth in, as unix users won't really exist,
-                * they will only be numbers...
-                */
-
-               gmep->type = SID_NAME_USER;
-               fstrcpy(gmep->unix_name, gmep->nt_name);
-               if (!nametouid(gmep->unix_name, &uid))
-               {
-                       return False;
-               }
-               gmep->unix_id = (uint32)uid;
-
-               return get_sid_and_type(fullntname, gmep->type, gmep);
-       }
-
-       /* oops. */
-
-       return False;
-}
-
-/*************************************************************************
- looks up by RID, returns User Information.  
-*************************************************************************/
-BOOL lookupsmbpwsid(DOM_SID *sid, DOM_NAME_MAP *gmep)
-{
-       fstring sid_str;
-       sid_to_string(sid_str, sid);
-       DEBUG(10,("lookupsmbpwsid: nt sid %s\n", sid_str));
-
-       if (map_username_sid(sid, gmep))
-       {
-               return True;
-       }
-       if (lp_server_role() != ROLE_DOMAIN_NONE)
-       {
-               gmep->nt_name   = nt_name;
-               gmep->unix_name = unix_name;
-               gmep->nt_domain = nt_domain;
-
-               /*
-                * here we should do a LsaLookupNames() call
-                * to check the status of the name with the PDC.
-                * if the PDC know nothing of the name, it's ours.
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-#if 0
-                       if (lookup_remote_sid(global_myworkgroup, gmep->sid, gmep->nt_name, gmep->nt_domain...);
-#endif
-               }
-
-               /*
-                * ok, it's one of ours.  we therefore "create" an nt user named
-                * after the unix user.  this is the point where "appliance mode"
-                * should get its teeth in, as unix users won't really exist,
-                * they will only be numbers...
-                */
-
-               gmep->type = SID_NAME_USER;
-               sid_copy(&gmep->sid, sid);
-               if (!pwdb_sam_sid_to_unixid(&gmep->sid, gmep->type, &gmep->unix_id))
-               {
-                       return False;
-               }
-               fstrcpy(gmep->nt_name, uidtoname((uid_t)gmep->unix_id));
-               fstrcpy(gmep->unix_name, gmep->nt_name);
-               gmep->nt_domain = global_sam_name;
-
-               return True;
-       }
-
-       /* oops. */
-
-       return False;
-}
-
-/************************************************************************
- Routine to look up group / alias / well-known group RID by UNIX name
-*************************************************************************/
-BOOL lookupsmbgrpnam(const char *unix_grp_name, DOM_NAME_MAP *grp)
-{
-       gid_t gid;
-       DEBUG(10,("lookupsmbgrpnam: unix user group %s\n", unix_grp_name));
-       if (nametogid(unix_grp_name, &gid))
-       {
-               return lookupsmbgrpgid(gid, grp);
-       }
-       else
-       {
-               return False;
-       }
-}
-
-/*************************************************************************
- looks up a SID, returns name map entry
-*************************************************************************/
-BOOL lookupsmbgrpsid(DOM_SID *sid, DOM_NAME_MAP *gmep)
-{
-       fstring sid_str;
-       sid_to_string(sid_str, sid);
-       DEBUG(10,("lookupsmbgrpsid: nt sid %s\n", sid_str));
-
-       if (map_alias_sid(sid, gmep))
-       {
-               return True;
-       }
-       if (map_group_sid(sid, gmep))
-       {
-               return True;
-       }
-       if (lp_server_role() != ROLE_DOMAIN_NONE)
-       {
-               gmep->nt_name   = nt_name;
-               gmep->unix_name = unix_name;
-               gmep->nt_domain = nt_domain;
-
-               /*
-                * here we should do a LsaLookupNames() call
-                * to check the status of the name with the PDC.
-                * if the PDC know nothing of the name, it's ours.
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-#if 0
-                       lsa_lookup_sids(global_myworkgroup, gmep->sid, gmep->nt_name, gmep->nt_domain...);
-#endif
-               }
-
-               /*
-                * ok, it's one of ours.  we therefore "create" an nt group or
-                * alias name named after the unix group.  this is the point
-                * where "appliance mode" should get its teeth in, as unix
-                * groups won't really exist, they will only be numbers...
-                */
-
-               /* name is not explicitly mapped
-                * with map files or the PDC
-                * so we are responsible for it...
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-                       /* ... as a LOCAL group. */
-                       gmep->type = SID_NAME_ALIAS;
-               }
-               else
-               {
-                       /* ... as a DOMAIN group. */
-                       gmep->type = SID_NAME_DOM_GRP;
-               }
-
-               sid_copy(&gmep->sid, sid);
-               if (!pwdb_sam_sid_to_unixid(&gmep->sid, gmep->type, &gmep->unix_id))
-               {
-                       return False;
-               }
-               fstrcpy(gmep->nt_name, gidtoname((gid_t)gmep->unix_id));
-               fstrcpy(gmep->unix_name, gmep->nt_name);
-               gmep->nt_domain = global_sam_name;
-
-               return True;
-       }
-
-       /* oops */
-       return False;
-}
-
-/*************************************************************************
- looks up a gid, returns RID and type local, domain or well-known domain group
-*************************************************************************/
-BOOL lookupsmbgrpgid(gid_t gid, DOM_NAME_MAP *gmep)
-{
-       DEBUG(10,("lookupsmbgrpgid: unix gid %d\n", (int)gid));
-       if (map_alias_gid(gid, gmep))
-       {
-               return True;
-       }
-       if (map_group_gid(gid, gmep))
-       {
-               return True;
-       }
-       if (lp_server_role() != ROLE_DOMAIN_NONE)
-       {
-               gmep->nt_name   = nt_name;
-               gmep->unix_name = unix_name;
-               gmep->nt_domain = nt_domain;
-
-               gmep->unix_id = (uint32)gid;
-
-               /*
-                * here we should do a LsaLookupNames() call
-                * to check the status of the name with the PDC.
-                * if the PDC know nothing of the name, it's ours.
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-#if 0
-                       if (lsa_lookup_names(global_myworkgroup, gmep->nt_name, &gmep->sid...);
-                       {
-                               return True;
-                       }
-#endif
-               }
-
-               /*
-                * ok, it's one of ours.  we therefore "create" an nt group or
-                * alias name named after the unix group.  this is the point
-                * where "appliance mode" should get its teeth in, as unix
-                * groups won't really exist, they will only be numbers...
-                */
-
-               /* name is not explicitly mapped
-                * with map files or the PDC
-                * so we are responsible for it...
-                */
-
-               if (lp_server_role() == ROLE_DOMAIN_MEMBER)
-               {
-                       /* ... as a LOCAL group. */
-                       gmep->type = SID_NAME_ALIAS;
-               }
-               else
-               {
-                       /* ... as a DOMAIN group. */
-                       gmep->type = SID_NAME_DOM_GRP;
-               }
-               fstrcpy(gmep->nt_name, gidtoname(gid));
-               fstrcpy(gmep->unix_name, gmep->nt_name);
-
-               return get_sid_and_type(gmep->nt_name, gmep->type, gmep);
-       }
-
-       /* oops */
-       return False;
-}
-
index 7260e477b8047a9bb9b5e34e113d7ebd911c9fa9..2c356d24e8ed5027f34d0d824285747474c7eedb 100644 (file)
@@ -83,10 +83,10 @@ BOOL gencache_init(void)
  
 BOOL gencache_shutdown(void)
 {
-       /* tdb_close routine returns -1 on error */
+       /* tdb_close routine returns 0 on successful close */
        if (!cache) return False;
        DEBUG(5, ("Closing cache file\n"));
-       return tdb_close(cache) != -1;
+       return tdb_close(cache) ? False : True;
 }
 
 
@@ -127,7 +127,7 @@ BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
        SAFE_FREE(keybuf.dptr);
        SAFE_FREE(databuf.dptr);
        
-       return ret == 0;
+       return ret == 0 ? True : False;
 }
 
 
@@ -182,7 +182,7 @@ BOOL gencache_set_only(const char *keystr, const char *valstr, time_t timeout)
        SAFE_FREE(keybuf.dptr);
        SAFE_FREE(databuf.dptr);
        
-       return ret == 0;
+       return ret == 0 ? True : False;
 }
  
 
@@ -211,7 +211,7 @@ BOOL gencache_del(const char *keystr)
        ret = tdb_delete(cache, keybuf);
        
        SAFE_FREE(keybuf.dptr);
-       return ret == 0;
+       return ret == 0 ? True : False;
 }
 
 
diff --git a/source3/lib/genparser.c b/source3/lib/genparser.c
deleted file mode 100644 (file)
index 9fa9dbd..0000000
+++ /dev/null
@@ -1,775 +0,0 @@
-/*
-   Copyright (C) Andrew Tridgell <genstruct@tridgell.net> 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/*
-  automatic marshalling/unmarshalling system for C structures
-*/
-
-#include "includes.h"
-
-/* see if a range of memory is all zero. Used to prevent dumping of zero elements */
-static int all_zero(const char *ptr, unsigned size)
-{
-       int i;
-       if (!ptr) return 1;
-       for (i=0;i<size;i++) {
-               if (ptr[i]) return 0;
-       }
-       return 1;
-}
-
-/* encode a buffer of bytes into a escaped string */
-static char *encode_bytes(const char *ptr, unsigned len)
-{
-       const char *hexdig = "0123456789abcdef";
-       char *ret, *p;
-       unsigned i;
-       ret = malloc(len*3 + 1); /* worst case size */
-       if (!ret) return NULL;
-       for (p=ret,i=0;i<len;i++) {
-               if (isalnum(ptr[i]) || isspace(ptr[i]) ||
-                   (ispunct(ptr[i]) && !strchr("\\{}", ptr[i]))) {
-                       *p++ = ptr[i];
-               } else {
-                       unsigned char c = *(unsigned char *)(ptr+i);
-                       if (c == 0 && all_zero(ptr+i, len-i)) break;
-                       p[0] = '\\';
-                       p[1] = hexdig[c>>4];
-                       p[2] = hexdig[c&0xF];
-                       p += 3;
-               }
-       }
-
-       *p = 0;
-
-       return ret;
-}
-
-/* decode an escaped string from encode_bytes() into a buffer */
-static char *decode_bytes(const char *s, unsigned *len) 
-{
-       char *ret, *p;
-       unsigned i;
-       ret = calloc(1, strlen(s)+1); /* worst case length */
-
-       if (*s == '{') s++;
-
-       for (p=ret,i=0;s[i];i++) {
-               if (s[i] == '}') {
-                       break;
-               } else if (s[i] == '\\') {
-                       unsigned v;
-                       if (sscanf(&s[i+1], "%02x", &v) != 1 || v > 255) {
-                               free(ret);
-                               return NULL;
-                       }
-                       *(unsigned char *)p = v;
-                       p++;
-                       i += 2;
-               } else {
-                       *p++ = s[i];
-               }
-       }
-       *p = 0;
-
-       (*len) = (unsigned)(p - ret);
-       
-       return ret;
-}
-
-/* the add*() functions deal with adding things to a struct
-   parse_string */
-
-/* allocate more space if needed */
-static int addgen_alloc(struct parse_string *p, int n)
-{
-       if (p->length + n <= p->allocated) return 0;
-       p->allocated = p->length + n + 200;
-       p->s = realloc(p->s, p->allocated);
-       if (!p->s) {
-               errno = ENOMEM;
-               return -1;
-       }
-       return 0;
-}
-
-/* add a character to the buffer */
-static int addchar(struct parse_string *p, char c)
-{
-       if (addgen_alloc(p, 2) != 0) {
-               return -1;
-       }
-       p->s[p->length++] = c;
-       p->s[p->length] = 0;
-       return 0;
-}
-
-/* add a string to the buffer */
-int addstr(struct parse_string *p, const char *s)
-{
-       int len = strlen(s);
-       if (addgen_alloc(p, len+1) != 0) {
-               return -1;
-       }
-       memcpy(p->s + p->length, s, len+1);
-       p->length += len;
-       return 0;
-}
-
-/* add a string to the buffer with a tab prefix */
-static int addtabbed(struct parse_string *p, const char *s, unsigned indent)
-{
-       int len = strlen(s);
-       if (addgen_alloc(p, indent+len+1) != 0) {
-               return -1;
-       }
-       while (indent--) {
-               p->s[p->length++] = '\t';
-       }
-       memcpy(p->s + p->length, s, len+1);
-       p->length += len;
-       return 0;
-}
-
-/* note! this can only be used for results up to 60 chars wide! */
-int addshort(struct parse_string *p, const char *fmt, ...)
-{
-       char buf[60];
-       int n;
-       va_list ap;
-       va_start(ap, fmt);
-       n = vsnprintf(buf, sizeof(buf), fmt, ap);
-       va_end(ap);
-       if (addgen_alloc(p, n + 1) != 0) {
-               return -1;
-       }
-       if (n != 0) {
-               memcpy(p->s + p->length, buf, n);
-       }
-       p->length += n;
-       p->s[p->length] = 0;
-       return 0;
-}
-
-/* 
-   this is here to make it easier for people to write dump functions 
-   for their own types
- */
-int gen_addgen(struct parse_string *p, const char *fmt, ...)
-{
-       char *buf = NULL;
-       int n;
-       va_list ap;
-       va_start(ap, fmt);
-       n = vasprintf(&buf, fmt, ap);
-       va_end(ap);
-       if (addgen_alloc(p, n + 1) != 0) {
-               if (buf) free(buf);
-               return -1;
-       }
-       if (n != 0) {
-               memcpy(p->s + p->length, buf, n);
-       }
-       p->length += n;
-       p->s[p->length] = 0;
-       if (buf) free(buf);
-       return 0;
-}
-
-/* dump a enumerated type */
-int gen_dump_enum(const struct enum_struct *einfo,
-                 struct parse_string *p, 
-                 const char *ptr,
-                 unsigned indent)
-{
-       unsigned v = *(unsigned *)ptr;
-       int i;
-       for (i=0;einfo[i].name;i++) {
-               if (v == einfo[i].value) {
-                       addstr(p, einfo[i].name);
-                       return 0;
-               }
-       }
-       /* hmm, maybe we should just fail? */
-       return gen_dump_unsigned(p, ptr, indent);
-}
-
-/* dump a single non-array element, hanlding struct and enum */
-static int gen_dump_one(struct parse_string *p, 
-                        const struct parse_struct *pinfo,
-                        const char *ptr,
-                        unsigned indent)
-{
-       if (pinfo->dump_fn == gen_dump_char && pinfo->ptr_count == 1) {
-               char *s = encode_bytes(ptr, strlen(ptr));
-               if (addchar(p,'{') ||
-                   addstr(p, s) ||
-                   addstr(p, "}")) {
-                       free(s);
-                       return -1;
-               }
-               return 0;
-       }
-
-       return pinfo->dump_fn(p, ptr, indent);
-}
-
-/* handle dumping of an array of arbitrary type */
-static int gen_dump_array(struct parse_string *p,
-                         const struct parse_struct *pinfo, 
-                         const char *ptr,
-                         int array_len,
-                         int indent)
-{
-       int i, count=0;
-
-       /* special handling of fixed length strings */
-       if (array_len != 0 && 
-           pinfo->ptr_count == 0 &&
-           pinfo->dump_fn == gen_dump_char) {
-               char *s = encode_bytes(ptr, array_len);
-               if (!s) return -1;
-               if (addtabbed(p, pinfo->name, indent) ||
-                   addstr(p, " = {") ||
-                   addstr(p, s) ||
-                   addstr(p, "}\n")) {
-                       free(s);
-                       return -1;
-               }
-               free(s);
-               return 0;
-       }
-
-       for (i=0;i<array_len;i++) {
-               const char *p2 = ptr;
-               unsigned size = pinfo->size;
-
-               /* generic pointer dereference */
-               if (pinfo->ptr_count) {
-                       p2 = *(const char **)ptr;
-                       size = sizeof(void *);
-               }
-               
-               if ((count || pinfo->ptr_count) && 
-                   !(pinfo->flags & FLAG_ALWAYS) &&
-                   all_zero(ptr, size)) {
-                       ptr += size;
-                       continue;
-               }
-               if (count == 0) {
-                       if (addtabbed(p, pinfo->name, indent) ||
-                           addshort(p, " = %u:", i)) {
-                               return -1;
-                       }
-               } else {
-                       if (addshort(p, ", %u:", i) != 0) {
-                               return -1;
-                       }
-               }
-               if (gen_dump_one(p, pinfo, p2, indent) != 0) {
-                       return -1;
-               }
-               ptr += size;
-               count++;
-       }
-       if (count) {
-               return addstr(p, "\n");
-       }
-       return 0;
-}
-
-/* find a variable by name in a loaded structure and return its value
-   as an integer. Used to support dynamic arrays */
-static int find_var(const struct parse_struct *pinfo,
-                   const char *data,
-                   const char *var)
-{
-       int i;
-       const char *ptr;
-
-       /* this allows for constant lengths */
-       if (isdigit(*var)) {
-               return atoi(var);
-       }
-
-       for (i=0;pinfo[i].name;i++) {
-               if (strcmp(pinfo[i].name, var) == 0) break;
-       }
-       if (!pinfo[i].name) return -1;
-
-       ptr = data + pinfo[i].offset;
-
-       switch (pinfo[i].size) {
-       case sizeof(int):
-               return *(int *)ptr;
-       case sizeof(char):
-               return *(char *)ptr;
-       }
-
-       return -1;
-}
-
-
-int gen_dump_struct(const struct parse_struct *pinfo,
-                   struct parse_string *p, 
-                   const char *ptr, 
-                   unsigned indent)
-{
-       char *s = gen_dump(pinfo, ptr, indent+1);
-       if (!s) return -1;
-       if (addstr(p, "{\n") || 
-           addstr(p,s) || 
-           addtabbed(p,"}", indent)) {
-               free(s);
-               return -1;
-       }
-       free(s);
-       return 0;
-}
-
-static int gen_dump_string(struct parse_string *p,
-                          const struct parse_struct *pinfo, 
-                          const char *data, 
-                          unsigned indent)
-{
-       const char *ptr = *(char **)data;
-       char *s = encode_bytes(ptr, strlen(ptr));
-       if (addtabbed(p, pinfo->name, indent) ||
-           addstr(p, " = ") ||
-           addchar(p,'{') ||
-           addstr(p, s) ||
-           addstr(p, "}\n")) {
-               free(s);
-               return -1;
-       }
-       return 0;
-}
-
-/* 
-   find the length of a nullterm array
-*/
-static int len_nullterm(const char *ptr, int size, int array_len)
-{
-       int len;
-
-       if (size == 1) {
-               len = strnlen(ptr, array_len);
-       } else {
-               for (len=0;len<array_len;len++) {
-                       if (all_zero(ptr+len*size, size)) break;
-               }
-       }
-
-       if (len == 0) len = 1;
-
-       return len;
-}
-
-
-/* the generic dump routine. Scans the parse information for this structure
-   and processes it recursively */
-char *gen_dump(const struct parse_struct *pinfo, 
-              const char *data, 
-              unsigned indent)
-{
-       struct parse_string p;
-       int i;
-       
-       p.length = 0;
-       p.allocated = 0;
-       p.s = NULL;
-
-       if (addstr(&p, "") != 0) {
-               return NULL;
-       }
-       
-       for (i=0;pinfo[i].name;i++) {
-               const char *ptr = data + pinfo[i].offset;
-               unsigned size = pinfo[i].size;
-
-               if (pinfo[i].ptr_count) {
-                       size = sizeof(void *);
-               }
-
-               /* special handling for array types */
-               if (pinfo[i].array_len) {
-                       unsigned len = pinfo[i].array_len;
-                       if (pinfo[i].flags & FLAG_NULLTERM) {
-                               len = len_nullterm(ptr, size, len);
-                       }
-                       if (gen_dump_array(&p, &pinfo[i], ptr, 
-                                          len, indent)) {
-                               goto failed;
-                       }
-                       continue;
-               }
-
-               /* and dynamically sized arrays */
-               if (pinfo[i].dynamic_len) {
-                       int len = find_var(pinfo, data, pinfo[i].dynamic_len);
-                       struct parse_struct p2 = pinfo[i];
-                       if (len < 0) {
-                               goto failed;
-                       }
-                       if (len > 0) {
-                               if (pinfo[i].flags & FLAG_NULLTERM) {
-                                       len = len_nullterm(*(char **)ptr, 
-                                                          pinfo[i].size, len);
-                               }
-                               p2.ptr_count--;
-                               p2.dynamic_len = NULL;
-                               if (gen_dump_array(&p, &p2, *(char **)ptr, 
-                                                  len, indent) != 0) {
-                                       goto failed;
-                               }
-                       }
-                       continue;
-               }
-
-               /* don't dump zero elements */
-               if (!(pinfo[i].flags & FLAG_ALWAYS) && all_zero(ptr, size)) continue;
-
-               /* assume char* is a null terminated string */
-               if (pinfo[i].size == 1 && pinfo[i].ptr_count == 1 &&
-                   pinfo[i].dump_fn == gen_dump_char) {
-                       if (gen_dump_string(&p, &pinfo[i], ptr, indent) != 0) {
-                               goto failed;
-                       }
-                       continue;
-               }
-
-               /* generic pointer dereference */
-               if (pinfo[i].ptr_count) {
-                       ptr = *(const char **)ptr;
-               }
-
-               if (addtabbed(&p, pinfo[i].name, indent) ||
-                   addstr(&p, " = ") ||
-                   gen_dump_one(&p, &pinfo[i], ptr, indent) ||
-                   addstr(&p, "\n")) {
-                       goto failed;
-               }
-       }
-       return p.s;
-
-failed:
-       free(p.s);
-       return NULL;
-}
-
-/* search for a character in a string, skipping over sections within
-   matching braces */
-static char *match_braces(char *s, char c)
-{
-       int depth = 0;
-       while (*s) {
-               switch (*s) {
-               case '}':
-                       depth--;
-                       break;
-               case '{':
-                       depth++;
-                       break;
-               }
-               if (depth == 0 && *s == c) {
-                       return s;
-               }
-               s++;
-       }
-       return s;
-}
-
-/* parse routine for enumerated types */
-int gen_parse_enum(const struct enum_struct *einfo, 
-                  char *ptr, 
-                  const char *str)
-{
-       unsigned v;
-       int i;
-
-       if (isdigit(*str)) {
-               if (sscanf(str, "%u", &v) != 1) {
-                       errno = EINVAL;
-                       return -1;
-               }
-               *(unsigned *)ptr = v;
-               return 0;
-       }
-
-       for (i=0;einfo[i].name;i++) {
-               if (strcmp(einfo[i].name, str) == 0) {
-                       *(unsigned *)ptr = einfo[i].value;
-                       return 0;
-               }
-       }
-
-       /* unknown enum value?? */
-       return -1;
-}
-
-
-/* parse all base types */
-static int gen_parse_base(const struct parse_struct *pinfo, 
-                         char *ptr, 
-                         const char *str)
-{
-       if (pinfo->parse_fn == gen_parse_char && pinfo->ptr_count==1) {
-               unsigned len;
-               char *s = decode_bytes(str, &len);
-               if (!s) return -1;
-               *(char **)ptr = s;
-               return 0;
-       }
-
-       if (pinfo->ptr_count) {
-               struct parse_struct p2 = *pinfo;
-               *(void **)ptr = calloc(1, pinfo->ptr_count>1?sizeof(void *):pinfo->size);
-               if (! *(void **)ptr) {
-                       return -1;
-               }
-               ptr = *(char **)ptr;
-               p2.ptr_count--;
-               return gen_parse_base(&p2, ptr, str);
-       }
-
-       return pinfo->parse_fn(ptr, str);
-}
-
-/* parse a generic array */
-static int gen_parse_array(const struct parse_struct *pinfo, 
-                           char *ptr, 
-                           const char *str,
-                           int array_len)
-{
-       char *p, *p2;
-       unsigned size = pinfo->size;
-
-       /* special handling of fixed length strings */
-       if (array_len != 0 && 
-           pinfo->ptr_count == 0 &&
-           pinfo->dump_fn == gen_dump_char) {
-               unsigned len = 0;
-               char *s = decode_bytes(str, &len);
-               if (!s) return -1;
-               memset(ptr, 0, array_len);
-               memcpy(ptr, s, len);
-               free(s);
-               return 0;
-       }
-
-       if (pinfo->ptr_count) {
-               size = sizeof(void *);
-       }
-
-       while (*str) {
-               unsigned idx;
-               int done;
-
-               idx = atoi(str);
-               p = strchr(str,':');
-               if (!p) break;
-               p++;
-               p2 = match_braces(p, ',');
-               done = (*p2 != ',');
-               *p2 = 0;
-
-               if (*p == '{') {
-                       p++;
-                       p[strlen(p)-1] = 0;
-               }
-
-               if (gen_parse_base(pinfo, ptr + idx*size, p) != 0) {
-                       return -1;
-               }
-
-               if (done) break;
-               str = p2+1;
-       }
-
-       return 0;
-}
-
-/* parse one element, hanlding dynamic and static arrays */
-static int gen_parse_one(const struct parse_struct *pinfo, 
-                        const char *name, 
-                        char *data, 
-                        const char *str)
-{
-       int i;
-       for (i=0;pinfo[i].name;i++) {
-               if (strcmp(pinfo[i].name, name) == 0) {
-                       break;
-               }
-       }
-       if (pinfo[i].name == NULL) {
-               return 0;
-       }
-
-       if (pinfo[i].array_len) {
-               return gen_parse_array(&pinfo[i], data+pinfo[i].offset, 
-                                      str, pinfo[i].array_len);
-       }
-
-       if (pinfo[i].dynamic_len) {
-               int len = find_var(pinfo, data, pinfo[i].dynamic_len);
-               if (len < 0) {
-                       errno = EINVAL;
-                       return -1;
-               }
-               if (len > 0) {
-                       unsigned size;
-                       struct parse_struct p2 = pinfo[i];
-                       char *ptr;
-                       size = pinfo[i].ptr_count>1?sizeof(void*):pinfo[i].size;
-                       ptr = calloc(len, size);
-                       if (!ptr) {
-                               errno = ENOMEM;
-                               return -1;
-                       }
-                       *((char **)(data + pinfo[i].offset)) = ptr;
-                       p2.ptr_count--;
-                       p2.dynamic_len = NULL;
-                       return gen_parse_array(&p2, ptr, str, len);
-               }
-               return 0;
-       }
-
-       return gen_parse_base(&pinfo[i], data + pinfo[i].offset, str);
-}
-
-int gen_parse_struct(const struct parse_struct *pinfo, char *ptr, const char *str)
-{
-       return gen_parse(pinfo, ptr, str);
-}
-
-/* the main parse routine */
-int gen_parse(const struct parse_struct *pinfo, char *data, const char *s)
-{
-       char *str, *s0;
-       
-       s0 = strdup(s);
-       str = s0;
-
-       while (*str) {
-               char *p;
-               char *name;
-               char *value;
-
-               /* skip leading whitespace */
-               while (isspace(*str)) str++;
-
-               p = strchr(str, '=');
-               if (!p) break;
-               value = p+1;
-               while (p > str && isspace(*(p-1))) {
-                       p--;
-               }
-
-               *p = 0;
-               name = str;
-
-               while (isspace(*value)) value++;
-
-               if (*value == '{') {
-                       str = match_braces(value, '}');
-                       value++;
-               } else {
-                       str = match_braces(value, '\n');
-               }
-
-               *str++ = 0;
-               
-               if (gen_parse_one(pinfo, name, data, value) != 0) {
-                       free(s0);
-                       return -1;
-               }
-       }
-
-       free(s0);
-       return 0;
-}
-
-
-
-/* for convenience supply some standard dumpers and parsers here */
-
-int gen_parse_char(char *ptr, const char *str)
-{
-       *(unsigned char *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_int(char *ptr, const char *str)
-{
-       *(int *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_unsigned(char *ptr, const char *str)
-{
-       *(unsigned *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_time_t(char *ptr, const char *str)
-{
-       *(time_t *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_double(char *ptr, const char *str)
-{
-       *(double *)ptr = atof(str);
-       return 0;
-}
-
-int gen_parse_float(char *ptr, const char *str)
-{
-       *(float *)ptr = atof(str);
-       return 0;
-}
-
-int gen_dump_char(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(unsigned char *)(ptr));
-}
-
-int gen_dump_int(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%d", *(int *)(ptr));
-}
-
-int gen_dump_unsigned(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(unsigned *)(ptr));
-}
-
-int gen_dump_time_t(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(time_t *)(ptr));
-}
-
-int gen_dump_double(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%lg", *(double *)(ptr));
-}
-
-int gen_dump_float(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%g", *(float *)(ptr));
-}
diff --git a/source3/lib/genparser_samba.c b/source3/lib/genparser_samba.c
deleted file mode 100644 (file)
index 6c700d1..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
-   Copyright (C) Andrew Tridgell <genstruct@tridgell.net> 2002
-   Copyright (C) Simo Sorce <idra@samba.org> 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-#include "genparser_samba.h"
-
-/* PARSE functions */
-
-int gen_parse_uint8(char *ptr, const char *str)
-{
-       *(uint8 *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_uint16(char *ptr, const char *str)
-{
-       *(uint16 *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_uint32(char *ptr, const char *str)
-{
-       *(uint32 *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_NTTIME(char *ptr, const char *str)
-{
-       if(sscanf(str, "%u,%u", &(((NTTIME *)(ptr))->high), &(((NTTIME *)(ptr))->low)) != 2) {
-               errno = EINVAL;
-               return -1;
-       }
-       return 0;
-}
-
-int gen_parse_DOM_SID(char *ptr, const char *str)
-{
-       if(!string_to_sid((DOM_SID *)ptr, str)) return -1;
-       return 0;
-}
-
-int gen_parse_SEC_ACCESS(char *ptr, const char *str)
-{
-       ((SEC_ACCESS *)ptr)->mask = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_GUID(char *ptr, const char *str)
-{
-       int info[GUID_SIZE];
-       int i;
-       char *sc;
-               char *p;
-       char *m;
-
-       m = strdup(str);
-       if (!m) return -1;
-       sc = m;
-       
-       memset(info, 0, sizeof(info));
-       for (i = 0; i < GUID_SIZE; i++) {
-               p = strchr(sc, ',');
-               if (p != NULL) p = '\0';
-               info[i] = atoi(sc);
-               if (p != NULL) sc = p + 1;
-       }
-       free(m);
-               
-       for (i = 0; i < GUID_SIZE; i++) {
-               ((GUID *)ptr)->info[i] = info[i];
-       }
-               
-       return 0;
-}
-
-int gen_parse_SEC_ACE(char *ptr, const char *str)
-{
-       return gen_parse_struct(pinfo_security_ace_info, ptr, str);
-}
-
-int gen_parse_SEC_ACL(char *ptr, const char *str)
-{
-       return gen_parse_struct(pinfo_security_acl_info, ptr, str);
-}
-
-int gen_parse_SEC_DESC(char *ptr, const char *str)
-{
-       return gen_parse_struct(pinfo_security_descriptor_info, ptr, str);
-}
-
-int gen_parse_LUID_ATTR(char *ptr, const char *str)
-{
-       return gen_parse_struct(pinfo_luid_attr_info, ptr, str);
-}
-
-int gen_parse_LUID(char *ptr, const char *str)
-{
-       if(sscanf(str, "%u,%u", &(((LUID *)(ptr))->high), &(((LUID *)(ptr))->low)) != 2) {
-               errno = EINVAL;
-               return -1;
-       }
-       return 0;
-}
-
-
-
-/* DUMP functions */
-
-int gen_dump_uint8(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(uint8 *)(ptr));
-}
-
-int gen_dump_uint16(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(uint16 *)(ptr));
-}
-
-int gen_dump_uint32(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", *(uint32 *)(ptr));
-}
-
-int gen_dump_NTTIME(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       uint32 low, high;
-
-       high = ((NTTIME *)(ptr))->high;
-       low = ((NTTIME *)(ptr))->low;
-       return addshort(p, "%u,%u", high, low);
-}
-
-int gen_dump_DOM_SID(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       fstring sidstr;
-
-       sid_to_string(sidstr, (DOM_SID *)ptr);
-       return addstr(p, sidstr);
-}
-
-int gen_dump_SEC_ACCESS(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(p, "%u", ((SEC_ACCESS *)ptr)->mask);
-}
-
-int gen_dump_GUID(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       int i, r;
-
-       for (i = 0; i < (GUID_SIZE - 1); i++) {
-               if (!(r = addshort(p, "%d,", ((GUID *)ptr)->info[i]))) return r;
-       }
-       return addshort(p, "%d", ((GUID *)ptr)->info[i]);
-}
-
-int gen_dump_SEC_ACE(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(pinfo_security_ace_info, p, ptr, indent);
-}
-
-int gen_dump_SEC_ACL(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(pinfo_security_acl_info, p, ptr, indent);
-}
-
-int gen_dump_SEC_DESC(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(pinfo_security_descriptor_info, p, ptr, indent);
-}
-
-int gen_dump_LUID_ATTR(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(pinfo_luid_attr_info, p, ptr, indent);
-}
-
-int gen_dump_LUID(struct parse_string *p, const char *ptr, unsigned indent)
-{
-       uint32 low, high;
-
-       high = ((LUID *)(ptr))->high;
-       low = ((LUID *)(ptr))->low;
-       return addshort(p, "%u,%u", high, low);
-}
-
index 5292e9cf0a698b660d04da2eac5dc8aea6e3c207..43350d9349207f035d9fcae2bb4132e43760b93d 100644 (file)
@@ -2,7 +2,6 @@
    Unix SMB/CIFS implementation.
    minimal iconv implementation
    Copyright (C) Andrew Tridgell 2001
-   Copyright (C) Jelmer Vernooij 2002
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,51 +24,31 @@ static size_t ascii_pull(void *,char **, size_t *, char **, size_t *);
 static size_t ascii_push(void *,char **, size_t *, char **, size_t *);
 static size_t  utf8_pull(void *,char **, size_t *, char **, size_t *);
 static size_t  utf8_push(void *,char **, size_t *, char **, size_t *);
+static size_t weird_pull(void *,char **, size_t *, char **, size_t *);
+static size_t weird_push(void *,char **, size_t *, char **, size_t *);
 static size_t ucs2hex_pull(void *,char **, size_t *, char **, size_t *);
 static size_t ucs2hex_push(void *,char **, size_t *, char **, size_t *);
 static size_t iconv_copy(void *,char **, size_t *, char **, size_t *);
 
-static struct charset_functions builtin_functions[] = {
+/*
+  for each charset we have a function that pulls from that charset to 
+  a ucs2 buffer, and a function that pushes to a ucs2 buffer 
+*/
+static struct {
+       char *name;
+       size_t (*pull)(void *, char **inbuf, size_t *inbytesleft,
+                      char **outbuf, size_t *outbytesleft);
+       size_t (*push)(void *, char **inbuf, size_t *inbytesleft,
+                      char **outbuf, size_t *outbytesleft);
+} charsets[] = {
        {"UCS-2LE",  iconv_copy, iconv_copy},
        {"UTF8",   utf8_pull,  utf8_push},
        {"ASCII", ascii_pull, ascii_push},
+       {"WEIRD", weird_pull, weird_push},
        {"UCS2-HEX", ucs2hex_pull, ucs2hex_push},
        {NULL, NULL, NULL}
 };
 
-static struct charset_functions *charsets = NULL;
-
-BOOL smb_register_charset(struct charset_functions *funcs) 
-{
-       struct charset_functions *c = charsets;
-
-       DEBUG(5, ("Attempting to register new charset %s\n", funcs->name));
-       /* Check whether we already have this charset... */
-       while(c) {
-               if(!strcasecmp(c->name, funcs->name)){ 
-                       DEBUG(2, ("Duplicate charset %s, not registering\n", funcs->name));
-                       return False;
-               }
-               c = c->next;
-       }
-
-       funcs->next = funcs->prev = NULL;
-       DEBUG(5, ("Registered charset %s\n", funcs->name));
-       DLIST_ADD(charsets, funcs);
-       return True;
-}
-
-void lazy_initialize_iconv(void)
-{
-       static BOOL initialized = False;
-       int i;
-
-       if (!initialized) {
-               initialized = True;
-               for(i = 0; builtin_functions[i].name; i++) 
-                       smb_register_charset(&builtin_functions[i]);
-       }
-}
 
 /* if there was an error then reset the internal state,
    this ensures that we don't have a shift state remaining for
@@ -136,11 +115,7 @@ size_t smb_iconv(smb_iconv_t cd,
 smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode)
 {
        smb_iconv_t ret;
-       struct charset_functions *from, *to;
-       
-       lazy_initialize_iconv();
-       from = charsets;
-       to = charsets;
+       int from, to;
 
        ret = (smb_iconv_t)malloc(sizeof(*ret));
        if (!ret) {
@@ -158,52 +133,48 @@ smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode)
                return ret;
        }
 
-       while (from) {
-               if (strcasecmp(from->name, fromcode) == 0) break;
-               from = from->next;
+       for (from=0; charsets[from].name; from++) {
+               if (strcasecmp(charsets[from].name, fromcode) == 0) break;
        }
-
-       while (to) {
-               if (strcasecmp(to->name, tocode) == 0) break;
-               to = to->next;
+       for (to=0; charsets[to].name; to++) {
+               if (strcasecmp(charsets[to].name, tocode) == 0) break;
        }
 
 #ifdef HAVE_NATIVE_ICONV
-       if (!from) {
+       if (!charsets[from].name) {
                ret->pull = sys_iconv;
                ret->cd_pull = iconv_open("UCS-2LE", fromcode);
                if (ret->cd_pull == (iconv_t)-1) goto failed;
        }
-
-       if (!to) {
+       if (!charsets[to].name) {
                ret->push = sys_iconv;
                ret->cd_push = iconv_open(tocode, "UCS-2LE");
                if (ret->cd_push == (iconv_t)-1) goto failed;
        }
 #else
-       if (!from || !to) {
+       if (!charsets[from].name || !charsets[to].name) {
                goto failed;
        }
 #endif
 
        /* check for conversion to/from ucs2 */
-       if (strcasecmp(fromcode, "UCS-2LE") == 0 && to) {
-               ret->direct = to->push;
+       if (from == 0 && charsets[to].name) {
+               ret->direct = charsets[to].push;
                return ret;
        }
-       if (strcasecmp(tocode, "UCS-2LE") == 0 && from) {
-               ret->direct = from->pull;
+       if (to == 0 && charsets[from].name) {
+               ret->direct = charsets[from].pull;
                return ret;
        }
 
 #ifdef HAVE_NATIVE_ICONV
-       if (strcasecmp(fromcode, "UCS-2LE") == 0) {
+       if (from == 0) {
                ret->direct = sys_iconv;
                ret->cd_direct = ret->cd_push;
                ret->cd_push = NULL;
                return ret;
        }
-       if (strcasecmp(tocode, "UCS-2LE") == 0) {
+       if (to == 0) {
                ret->direct = sys_iconv;
                ret->cd_direct = ret->cd_pull;
                ret->cd_pull = NULL;
@@ -212,8 +183,8 @@ smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode)
 #endif
 
        /* the general case has to go via a buffer */
-       if (!ret->pull) ret->pull = from->pull;
-       if (!ret->push) ret->push = to->push;
+       if (!ret->pull) ret->pull = charsets[from].pull;
+       if (!ret->push) ret->push = charsets[to].push;
        return ret;
 
 failed:
@@ -381,6 +352,111 @@ static size_t ucs2hex_push(void *cd, char **inbuf, size_t *inbytesleft,
 }
 
 
+/* the "weird" character set is very useful for testing multi-byte
+   support and finding bugs. Don't use on a production system! 
+*/
+static struct {
+       char from;
+       char *to;
+       int len;
+} weird_table[] = {
+       {'q', "^q^", 3},
+       {'Q', "^Q^", 3},
+       {0, NULL}
+};
+
+static size_t weird_pull(void *cd, char **inbuf, size_t *inbytesleft,
+                        char **outbuf, size_t *outbytesleft)
+{
+       while (*inbytesleft >= 1 && *outbytesleft >= 2) {
+               int i;
+               int done = 0;
+               for (i=0;weird_table[i].from;i++) {
+                       if (strncmp((*inbuf), 
+                                   weird_table[i].to, 
+                                   weird_table[i].len) == 0) {
+                               if (*inbytesleft < weird_table[i].len) {
+                                       DEBUG(0,("ERROR: truncated weird string\n"));
+                                       /* smb_panic("weird_pull"); */
+
+                               } else {
+                                       (*outbuf)[0] = weird_table[i].from;
+                                       (*outbuf)[1] = 0;
+                                       (*inbytesleft)  -= weird_table[i].len;
+                                       (*outbytesleft) -= 2;
+                                       (*inbuf)  += weird_table[i].len;
+                                       (*outbuf) += 2;
+                                       done = 1;
+                                       break;
+                               }
+                       }
+               }
+               if (done) continue;
+               (*outbuf)[0] = (*inbuf)[0];
+               (*outbuf)[1] = 0;
+               (*inbytesleft)  -= 1;
+               (*outbytesleft) -= 2;
+               (*inbuf)  += 1;
+               (*outbuf) += 2;
+       }
+
+       if (*inbytesleft > 0) {
+               errno = E2BIG;
+               return -1;
+       }
+       
+       return 0;
+}
+
+static size_t weird_push(void *cd, char **inbuf, size_t *inbytesleft,
+                        char **outbuf, size_t *outbytesleft)
+{
+       int ir_count=0;
+
+       while (*inbytesleft >= 2 && *outbytesleft >= 1) {
+               int i;
+               int done=0;
+               for (i=0;weird_table[i].from;i++) {
+                       if ((*inbuf)[0] == weird_table[i].from &&
+                           (*inbuf)[1] == 0) {
+                               if (*outbytesleft < weird_table[i].len) {
+                                       DEBUG(0,("No room for weird character\n"));
+                                       /* smb_panic("weird_push"); */
+                               } else {
+                                       memcpy(*outbuf, weird_table[i].to, 
+                                              weird_table[i].len);
+                                       (*inbytesleft)  -= 2;
+                                       (*outbytesleft) -= weird_table[i].len;
+                                       (*inbuf)  += 2;
+                                       (*outbuf) += weird_table[i].len;
+                                       done = 1;
+                                       break;
+                               }
+                       }
+               }
+               if (done) continue;
+
+               (*outbuf)[0] = (*inbuf)[0];
+               if ((*inbuf)[1]) ir_count++;
+               (*inbytesleft)  -= 2;
+               (*outbytesleft) -= 1;
+               (*inbuf)  += 2;
+               (*outbuf) += 1;
+       }
+
+       if (*inbytesleft == 1) {
+               errno = EINVAL;
+               return -1;
+       }
+
+       if (*inbytesleft > 1) {
+               errno = E2BIG;
+               return -1;
+       }
+       
+       return ir_count;
+}
+
 static size_t iconv_copy(void *cd, char **inbuf, size_t *inbytesleft,
                         char **outbuf, size_t *outbytesleft)
 {
index 3ae0a6395edecf2c4aae32a6b9f35fe31aa19fd2..0cd308694533934c131df10b197a82276de8ab82 100644 (file)
@@ -39,7 +39,7 @@
 static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, int *grpcnt)
 {
        gid_t *gids_saved;
-       int ret, ngrp_saved, num_gids;
+       int ret, ngrp_saved;
 
        if (non_root_mode()) {
                *grpcnt = 0;
@@ -78,16 +78,9 @@ static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, in
        set_effective_gid(gid);
        setgid(gid);
 
-       num_gids = getgroups(0, NULL);
-       if (num_gids + 1 > *grpcnt) {
-               *grpcnt = num_gids + 1;
-               ret = -1;
-       } else {
-               ret = getgroups(*grpcnt - 1, &groups[1]);
-               if (ret >= 0) {
-                       groups[0] = gid;
-                       *grpcnt = ret + 1;
-               }
+       ret = getgroups(*grpcnt, groups);
+       if (ret >= 0) {
+               *grpcnt = ret;
        }
 
        restore_re_gid();
index b8f33494ee4ad53c27a3b51be836cd284eb6767b..b1c9ca0f08a127870bd2a7b5d3cf6b253d4a2655 100644 (file)
@@ -169,7 +169,7 @@ BOOL map_username(char *user)
                        return False;
                }
 
-               if (strchr_m(dosname,'*') || user_in_list(user, (const char **)dosuserlist, NULL, 0)) {
+               if (strchr_m(dosname,'*') || user_in_list(user, (const char **)dosuserlist)) {
                        DEBUG(3,("Mapped user %s to %s\n",user,unixname));
                        mapped_user = True;
                        fstrcpy(last_from,user);
@@ -328,27 +328,11 @@ static BOOL user_in_winbind_group_list(const char *user, const char *gname, BOOL
        int num_groups;
        int i;
        gid_t *groups = NULL;
-       gid_t gid, gid_low, gid_high;
+       gid_t gid;
        BOOL ret = False;
  
        *winbind_answered = False;
  
-       if ((gid = nametogid(gname)) == (gid_t)-1) {
-               DEBUG(0,("user_in_winbind_group_list: nametogid for group %s failed.\n",
-                       gname ));
-               goto err;
-       }
-
-       if (!lp_winbind_gid(&gid_low, &gid_high)) {
-               DEBUG(4, ("winbind gid range not configured, therefore %s cannot be a winbind group\n", gname));
-               goto err;
-       }
-
-       if (gid < gid_low || gid > gid_high) {
-               DEBUG(4, ("group %s is not a winbind group\n", gname));
-               goto err;
-       }
        /*
         * Get the gid's that this user belongs to.
         */
@@ -377,6 +361,12 @@ failed with error %s\n", strerror(errno) ));
         * to a gid_t via either winbind or the local UNIX lookup and do the comparison.
         */
  
+       if ((gid = nametogid(gname)) == (gid_t)-1) {
+               DEBUG(0,("user_in_winbind_group_list: winbind_lookup_name for group %s failed.\n",
+                       gname ));
+               goto err;
+       }
        for (i = 0; i < num_groups; i++) {
                if (gid == groups[i]) {
                        ret = True;
@@ -399,7 +389,7 @@ failed with error %s\n", strerror(errno) ));
  Check if a user is in a UNIX group.
 ****************************************************************************/
 
-BOOL user_in_unix_group_list(const char *user,const char *gname)
+static BOOL user_in_unix_group_list(const char *user,const char *gname)
 {
        struct passwd *pass = Get_Pwnam(user);
        struct sys_userlist *user_list;
@@ -442,27 +432,10 @@ BOOL user_in_unix_group_list(const char *user,const char *gname)
  Check if a user is in a group list. Ask winbind first, then use UNIX.
 ****************************************************************************/
 
-BOOL user_in_group_list(const char *user, const char *gname, gid_t *groups, size_t n_groups)
+BOOL user_in_group_list(const char *user, const char *gname)
 {
        BOOL winbind_answered = False;
        BOOL ret;
-       gid_t gid;
-       unsigned i;
-
-       gid = nametogid(gname);
-       if (gid == (gid_t)-1) 
-               return False;
-
-       if (groups && n_groups > 0) {
-               for (i=0; i < n_groups; i++) {
-                       if (groups[i] == gid) {
-                               return True;
-                       }
-               }
-               return False;
-       }
-
-       /* fallback if we don't yet have the group list */
 
        ret = user_in_winbind_group_list(user, gname, &winbind_answered);
        if (!winbind_answered)
@@ -478,7 +451,7 @@ BOOL user_in_group_list(const char *user, const char *gname, gid_t *groups, size
  and netgroup lists.
 ****************************************************************************/
 
-BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_groups)
+BOOL user_in_list(const char *user,const char **list)
 {
        if (!list || !*list)
                return False;
@@ -507,7 +480,7 @@ BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_gr
                         */
                        if(user_in_netgroup_list(user, *list +1))
                                return True;
-                       if(user_in_group_list(user, *list +1, groups, n_groups))
+                       if(user_in_group_list(user, *list +1))
                                return True;
                } else if (**list == '+') {
 
@@ -515,7 +488,7 @@ BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_gr
                                /*
                                 * Search UNIX list followed by netgroup.
                                 */
-                               if(user_in_group_list(user, *list +2, groups, n_groups))
+                               if(user_in_group_list(user, *list +2))
                                        return True;
                                if(user_in_netgroup_list(user, *list +2))
                                        return True;
@@ -526,7 +499,7 @@ BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_gr
                                 * Just search UNIX list.
                                 */
 
-                               if(user_in_group_list(user, *list +1, groups, n_groups))
+                               if(user_in_group_list(user, *list +1))
                                        return True;
                        }
 
@@ -538,7 +511,7 @@ BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_gr
                                 */
                                if(user_in_netgroup_list(user, *list +2))
                                        return True;
-                               if(user_in_group_list(user, *list +2, groups, n_groups))
+                               if(user_in_group_list(user, *list +2))
                                        return True;
                        } else {
                                /*
index 13f5b1778175245c7e615a9d2eafe243bdafb606..b4d9e9f16fe34db4cedab6a719a85b03cb2bb5c5 100644 (file)
@@ -249,7 +249,13 @@ BOOL init_names(void)
        int n;
 
        if (global_myname() == NULL || *global_myname() == '\0') {
-               if (!set_global_myname(myhostname())) {
+               fstring name;
+
+               fstrcpy( name, myhostname() );
+               p = strchr( name, '.' );
+               if (p)
+                       *p = 0;
+               if (!set_global_myname(name)) {
                        DEBUG( 0, ( "init_structs: malloc fail.\n" ) );
                        return False;
                }
@@ -1008,7 +1014,7 @@ BOOL get_myfullname(char *my_name)
  Get my own domain name.
 ****************************************************************************/
 
-BOOL get_mydomname(fstring my_domname)
+BOOL get_mydomname(char *my_domname)
 {
        pstring hostname;
        char *p;
@@ -1723,23 +1729,6 @@ BOOL is_myname_or_ipaddr(const char *s)
        return False;
 }
 
-/*******************************************************************
- Is the name specified our workgroup/domain.
- Returns true if it is equal, false otherwise.
-********************************************************************/
-
-BOOL is_myworkgroup(const char *s)
-{
-       BOOL ret = False;
-
-       if (strequal(s, lp_workgroup())) {
-               ret=True;
-       }
-
-       DEBUG(8, ("is_myworkgroup(\"%s\") returns %d\n", s, ret));
-       return(ret);
-}
-
 /*******************************************************************
  Set the horrid remote_arch string based on an enum.
 ********************************************************************/
index 4babab89310f23f076ca812c9b3c616466b4c9bc..611e0e40be9deff25681ffc8fe51e09826d16bc1 100644 (file)
@@ -362,7 +362,7 @@ char *file_pload(char *syscmd, size_t *size)
        while ((n = read(fd, buf, sizeof(buf))) > 0) {
                tp = Realloc(p, total + n + 1);
                if (!tp) {
-                       DEBUG(0,("file_pload: failed to expand buffer!\n"));
+                       DEBUG(0,("file_pload: failed to exand buffer!\n"));
                        close(fd);
                        SAFE_FREE(p);
                        return NULL;
@@ -372,9 +372,6 @@ char *file_pload(char *syscmd, size_t *size)
        }
        if (p) p[total] = 0;
 
-       /* FIXME: Perhaps ought to check that the command completed
-        * successfully (returned 0); if not the data may be
-        * truncated. */
        sys_pclose(fd);
 
        if (size) *size = total;
index 8fe04f0f582bc666ddc15034f1b0f5b254199972..60e0e3837fc3d946a040b8ca3fe219495bd43389 100644 (file)
 
 #include "includes.h"
 
-/**
Get the next token from a string, return False if none found.
- * Handles double-quotes.
- * 
- * Based on a routine by GJC@VILLAGE.COM. 
- * Extensively modified by Andrew.Tridgell@anu.edu.au
- **/
+/****************************************************************************
+ Get the next token from a string, return False if none found.
+ Handles double-quotes. 
+ Based on a routine by GJC@VILLAGE.COM. 
+ Extensively modified by Andrew.Tridgell@anu.edu.au
+****************************************************************************/
+
 BOOL next_token(const char **ptr,char *buff, const char *sep, size_t bufsize)
 {
        const char *s;
@@ -67,11 +67,11 @@ BOOL next_token(const char **ptr,char *buff, const char *sep, size_t bufsize)
        return(True);
 }
 
-/**
+/****************************************************************************
 This is like next_token but is not re-entrant and "remembers" the first 
 parameter so you can pass NULL. This is useful for user interface code
 but beware the fact that it is not re-entrant!
-**/
+****************************************************************************/
 
 static char *last_ptr=NULL;
 
@@ -93,10 +93,10 @@ void set_first_token(char *ptr)
        last_ptr = ptr;
 }
 
-/**
+/****************************************************************************
  Convert list of tokens to array; dependent on above routine.
  Uses last_ptr from above - bit of a hack.
-**/
+****************************************************************************/
 
 char **toktocliplist(int *ctok, const char *sep)
 {
@@ -139,9 +139,9 @@ char **toktocliplist(int *ctok, const char *sep)
        return ret;
 }
 
-/**
+/*******************************************************************
  Case insensitive string compararison.
-**/
+********************************************************************/
 
 int StrCaseCmp(const char *s, const char *t)
 {
@@ -151,9 +151,9 @@ int StrCaseCmp(const char *s, const char *t)
        return strcmp(buf1,buf2);
 }
 
-/**
+/*******************************************************************
  Case insensitive string compararison, length limited.
-**/
+********************************************************************/
 
 int StrnCaseCmp(const char *s, const char *t, size_t n)
 {
@@ -163,9 +163,9 @@ int StrnCaseCmp(const char *s, const char *t, size_t n)
        return strncmp(buf1,buf2,n);
 }
 
-/**
+/*******************************************************************
  Compare 2 strings.
-**/
+********************************************************************/
 
 BOOL strequal(const char *s1, const char *s2)
 {
@@ -177,9 +177,9 @@ BOOL strequal(const char *s1, const char *s2)
        return(StrCaseCmp(s1,s2)==0);
 }
 
-/**
+/*******************************************************************
  Compare 2 strings up to and including the nth char.
-**/
+******************************************************************/
 
 BOOL strnequal(const char *s1,const char *s2,size_t n)
 {
@@ -191,9 +191,9 @@ BOOL strnequal(const char *s1,const char *s2,size_t n)
   return(StrnCaseCmp(s1,s2,n)==0);
 }
 
-/**
+/*******************************************************************
  Compare 2 strings (case sensitive).
-**/
+********************************************************************/
 
 BOOL strcsequal(const char *s1,const char *s2)
 {
@@ -205,9 +205,9 @@ BOOL strcsequal(const char *s1,const char *s2)
   return(strcmp(s1,s2)==0);
 }
 
-/**
+/***************************************************************************
 Do a case-insensitive, whitespace-ignoring string compare.
-**/
+***************************************************************************/
 
 int strwicmp(const char *psz1, const char *psz2)
 {
@@ -236,9 +236,9 @@ int strwicmp(const char *psz1, const char *psz2)
 }
 
 
-/**
+/*******************************************************************
  Convert a string to upper case, but don't modify it.
-**/
+********************************************************************/
 
 char *strupper_static(const char *s)
 {
@@ -250,9 +250,9 @@ char *strupper_static(const char *s)
        return str;
 }
 
-/**
+/*******************************************************************
  Convert a string to "normal" form.
-**/
+********************************************************************/
 
 void strnorm(char *s)
 {
@@ -263,9 +263,9 @@ void strnorm(char *s)
                strlower(s);
 }
 
-/**
+/*******************************************************************
  Check if a string is in "normal" case.
-**/
+********************************************************************/
 
 BOOL strisnormal(const char *s)
 {
@@ -277,10 +277,10 @@ BOOL strisnormal(const char *s)
 }
 
 
-/**
+/****************************************************************************
  String replace.
  NOTE: oldc and newc must be 7 bit characters
-**/
+****************************************************************************/
 
 void string_replace(char *s,char oldc,char newc)
 {
@@ -289,9 +289,9 @@ void string_replace(char *s,char oldc,char newc)
        pull_ucs2(NULL, s, tmpbuf, -1, sizeof(tmpbuf), STR_TERMINATE);
 }
 
-/**
+/*******************************************************************
  Skip past some strings in a buffer.
-**/
+********************************************************************/
 
 char *skip_string(char *buf,size_t n)
 {
@@ -300,11 +300,11 @@ char *skip_string(char *buf,size_t n)
        return(buf);
 }
 
-/**
+/*******************************************************************
  Count the number of characters in a string. Normally this will
  be the same as the number of bytes in a string for single byte strings,
  but will be different for multibyte.
-**/
+********************************************************************/
 
 size_t str_charnum(const char *s)
 {
@@ -313,11 +313,11 @@ size_t str_charnum(const char *s)
        return strlen_w(tmpbuf2);
 }
 
-/**
+/*******************************************************************
  Count the number of characters in a string. Normally this will
  be the same as the number of bytes in a string for single byte strings,
  but will be different for multibyte.
-**/
+********************************************************************/
 
 size_t str_ascii_charnum(const char *s)
 {
@@ -326,9 +326,9 @@ size_t str_ascii_charnum(const char *s)
        return strlen(tmpbuf2);
 }
 
-/**
+/*******************************************************************
  Trim the specified elements off the front and back of a string.
-**/
+********************************************************************/
 
 BOOL trim_string(char *s,const char *front,const char *back)
 {
@@ -364,9 +364,9 @@ BOOL trim_string(char *s,const char *front,const char *back)
        return ret;
 }
 
-/**
+/****************************************************************************
  Does a string have any uppercase chars in it?
-**/
+****************************************************************************/
 
 BOOL strhasupper(const char *s)
 {
@@ -378,9 +378,9 @@ BOOL strhasupper(const char *s)
        return(False);
 }
 
-/**
+/****************************************************************************
  Does a string have any lowercase chars in it?
-**/
+****************************************************************************/
 
 BOOL strhaslower(const char *s)
 {
@@ -392,9 +392,9 @@ BOOL strhaslower(const char *s)
        return(False);
 }
 
-/**
+/****************************************************************************
  Find the number of 'c' chars in a string
-**/
+****************************************************************************/
 
 size_t count_chars(const char *s,char c)
 {
@@ -407,9 +407,9 @@ size_t count_chars(const char *s,char c)
        return(count);
 }
 
-/**
+/*******************************************************************
 Return True if a string consists only of one particular character.
-**/
+********************************************************************/
 
 BOOL str_is_all(const char *s,char c)
 {
@@ -428,10 +428,10 @@ BOOL str_is_all(const char *s,char c)
        return True;
 }
 
-/**
+/*******************************************************************
  Safe string copy into a known length string. maxlength does not
  include the terminating zero.
-**/
+********************************************************************/
 
 char *safe_strcpy(char *dest,const char *src, size_t maxlength)
 {
@@ -442,14 +442,6 @@ char *safe_strcpy(char *dest,const char *src, size_t maxlength)
                return NULL;
        }
 
-#ifdef DEVELOPER
-       /* We intentionally write out at the extremity of the destination
-        * string.  If the destination is too short (e.g. pstrcpy into mallocd
-        * or fstring) then this should cause an error under a memory
-        * checker. */
-       dest[maxlength] = '\0';
-#endif
-
        if (!src) {
                *dest = 0;
                return dest;
@@ -458,8 +450,8 @@ char *safe_strcpy(char *dest,const char *src, size_t maxlength)
        len = strlen(src);
 
        if (len > maxlength) {
-               DEBUG(0,("ERROR: string overflow by %u (%u - %u) in safe_strcpy [%.50s]\n",
-                        (unsigned int)(len-maxlength), len, maxlength, src));
+               DEBUG(0,("ERROR: string overflow by %d in safe_strcpy [%.50s]\n",
+                        (int)(len-maxlength), src));
                len = maxlength;
        }
       
@@ -468,10 +460,10 @@ char *safe_strcpy(char *dest,const char *src, size_t maxlength)
        return dest;
 }  
 
-/**
+/*******************************************************************
  Safe string cat into a string. maxlength does not
  include the terminating zero.
-**/
+********************************************************************/
 
 char *safe_strcat(char *dest, const char *src, size_t maxlength)
 {
@@ -503,12 +495,12 @@ char *safe_strcat(char *dest, const char *src, size_t maxlength)
        return dest;
 }
 
-/**
+/*******************************************************************
  Paranoid strcpy into a buffer of given length (includes terminating
  zero. Strips out all but 'a-Z0-9' and the character in other_safe_chars
  and replaces with '_'. Deliberately does *NOT* check for multibyte
  characters. Don't change it !
-**/
+********************************************************************/
 
 char *alpha_strcpy(char *dest, const char *src, const char *other_safe_chars, size_t maxlength)
 {
@@ -544,10 +536,10 @@ char *alpha_strcpy(char *dest, const char *src, const char *other_safe_chars, si
        return dest;
 }
 
-/**
+/****************************************************************************
  Like strncpy but always null terminates. Make sure there is room!
  The variable n should always be one less than the available size.
-**/
+****************************************************************************/
 
 char *StrnCpy(char *dest,const char *src,size_t n)
 {
@@ -564,10 +556,10 @@ char *StrnCpy(char *dest,const char *src,size_t n)
        return(dest);
 }
 
-/**
+/****************************************************************************
  Like strncpy but copies up to the character marker.  always null terminates.
  returns a pointer to the character marker in the source string (src).
-**/
+****************************************************************************/
 
 char *strncpyn(char *dest, const char *src, size_t n, char c)
 {
@@ -587,7 +579,7 @@ char *strncpyn(char *dest, const char *src, size_t n, char c)
        return p;
 }
 
-/**
+/*************************************************************
  Routine to get hex characters and turn them into a 16 byte array.
  the array can be variable length, and any non-hex-numeric
  characters are skipped.  "0xnn" or "0Xnn" is specially catered
@@ -595,7 +587,7 @@ char *strncpyn(char *dest, const char *src, size_t n, char c)
 
  valid examples: "0A5D15"; "0x15, 0x49, 0xa2"; "59\ta9\te3\n"
 
-**/
+**************************************************************/
 
 size_t strhex_to_str(char *p, size_t len, const char *strhex)
 {
@@ -632,9 +624,9 @@ size_t strhex_to_str(char *p, size_t len, const char *strhex)
        return num_chars;
 }
 
-/**
+/****************************************************************************
  Check if a string is part of a list.
-**/
+****************************************************************************/
 
 BOOL in_list(char *s,char *list,BOOL casesensitive)
 {
@@ -659,9 +651,9 @@ BOOL in_list(char *s,char *list,BOOL casesensitive)
 /* this is used to prevent lots of mallocs of size 1 */
 static char *null_string = NULL;
 
-/**
+/****************************************************************************
  Set a string value, allocing the space for the string
-**/
+****************************************************************************/
 
 static BOOL string_init(char **dest,const char *src)
 {
@@ -690,9 +682,9 @@ static BOOL string_init(char **dest,const char *src)
        return(True);
 }
 
-/**
+/****************************************************************************
  Free a string value.
-**/
+****************************************************************************/
 
 void string_free(char **s)
 {
@@ -703,10 +695,10 @@ void string_free(char **s)
        SAFE_FREE(*s);
 }
 
-/**
+/****************************************************************************
  Set a string value, deallocating any existing space, and allocing the space
  for the string
-**/
+****************************************************************************/
 
 BOOL string_set(char **dest,const char *src)
 {
@@ -714,7 +706,7 @@ BOOL string_set(char **dest,const char *src)
        return(string_init(dest,src));
 }
 
-/**
+/****************************************************************************
  Substitute a string for a pattern in another string. Make sure there is 
  enough room!
 
@@ -724,7 +716,7 @@ BOOL string_set(char **dest,const char *src)
  Any of " ; ' $ or ` in the insert string are replaced with _
  if len==0 then the string cannot be extended. This is different from the old
  use of len==0 which was for no length checks to be done.
-**/
+****************************************************************************/
 
 void string_sub(char *s,const char *pattern, const char *insert, size_t len)
 {
@@ -782,12 +774,12 @@ void pstring_sub(char *s,const char *pattern,const char *insert)
        string_sub(s, pattern, insert, sizeof(pstring));
 }
 
-/**
+/****************************************************************************
  Similar to string_sub, but it will accept only allocated strings
  and may realloc them so pay attention at what you pass on no
  pointers inside strings, no pstrings or const may be passed
  as string.
-**/
+****************************************************************************/
 
 char *realloc_string_sub(char *string, const char *pattern, const char *insert)
 {
@@ -848,12 +840,12 @@ char *realloc_string_sub(char *string, const char *pattern, const char *insert)
        return string;
 }
 
-/**
+/****************************************************************************
  Similar to string_sub() but allows for any character to be substituted. 
  Use with caution!
  if len==0 then the string cannot be extended. This is different from the old
  use of len==0 which was for no length checks to be done.
-**/
+****************************************************************************/
 
 void all_string_sub(char *s,const char *pattern,const char *insert, size_t len)
 {
@@ -889,12 +881,12 @@ void all_string_sub(char *s,const char *pattern,const char *insert, size_t len)
        }
 }
 
-/**
+/****************************************************************************
  Similar to all_string_sub but for unicode strings.
  Return a new allocated unicode string.
  similar to string_sub() but allows for any character to be substituted.
  Use with caution!
-**/
+****************************************************************************/
 
 smb_ucs2_t *all_string_sub_w(const smb_ucs2_t *s, const smb_ucs2_t *pattern,
                                const smb_ucs2_t *insert)
@@ -954,9 +946,9 @@ smb_ucs2_t *all_string_sub_wa(smb_ucs2_t *s, const char *pattern,
        return all_string_sub_w(s, p, i);
 }
 
-/**
+/****************************************************************************
  Splits out the front and back at a separator.
-**/
+****************************************************************************/
 
 void split_at_last_component(char *path, char *front, char sep, char *back)
 {
@@ -978,9 +970,9 @@ void split_at_last_component(char *path, char *front, char sep, char *back)
        }
 }
 
-/**
+/****************************************************************************
  Write an octal as a string.
-**/
+****************************************************************************/
 
 const char *octal_string(int i)
 {
@@ -992,9 +984,9 @@ const char *octal_string(int i)
 }
 
 
-/**
+/****************************************************************************
  Truncate a string at a specified length.
-**/
+****************************************************************************/
 
 char *string_truncate(char *s, int length)
 {
@@ -1003,10 +995,10 @@ char *string_truncate(char *s, int length)
        return s;
 }
 
-/**
+/****************************************************************************
  Strchr and strrchr_m are very hard to do on general multi-byte strings. 
  We convert via ucs2 for now.
-**/
+****************************************************************************/
 
 char *strchr_m(const char *s, char c)
 {
@@ -1038,9 +1030,9 @@ char *strrchr_m(const char *s, char c)
        return (char *)(s+strlen(s2));
 }
 
-/**
+/*******************************************************************
  Convert a string to lower case.
-**/
+********************************************************************/
 
 void strlower_m(char *s)
 {
@@ -1062,9 +1054,9 @@ void strlower_m(char *s)
        unix_strlower(s,strlen(s)+1,s,strlen(s)+1);     
 }
 
-/**
+/*******************************************************************
  Duplicate convert a string to lower case.
-**/
+********************************************************************/
 
 char *strdup_lower(const char *s)
 {
@@ -1077,9 +1069,9 @@ char *strdup_lower(const char *s)
        return t;
 }
 
-/**
+/*******************************************************************
  Convert a string to upper case.
-**/
+********************************************************************/
 
 void strupper_m(char *s)
 {
@@ -1101,9 +1093,9 @@ void strupper_m(char *s)
        unix_strupper(s,strlen(s)+1,s,strlen(s)+1);     
 }
 
-/**
+/*******************************************************************
  Convert a string to upper case.
-**/
+********************************************************************/
 
 char *strdup_upper(const char *s)
 {
@@ -1116,11 +1108,11 @@ char *strdup_upper(const char *s)
        return t;
 }
 
-/**
+/*******************************************************************
  Return a RFC2254 binary string representation of a buffer.
  Used in LDAP filters.
  Caller must free.
-**/
+********************************************************************/
 
 char *binary_string(char *buf, int len)
 {
@@ -1140,9 +1132,9 @@ char *binary_string(char *buf, int len)
        return s;
 }
 
-/**
+/*******************************************************************
  Just a typesafety wrapper for snprintf into a pstring.
-**/
+********************************************************************/
 
  int pstr_sprintf(pstring s, const char *fmt, ...)
 {
@@ -1155,9 +1147,9 @@ char *binary_string(char *buf, int len)
        return ret;
 }
 
-/**
+/*******************************************************************
  Just a typesafety wrapper for snprintf into a fstring.
-**/
+********************************************************************/
 
  int fstr_sprintf(fstring s, const char *fmt, ...)
 {
@@ -1171,9 +1163,9 @@ char *binary_string(char *buf, int len)
 }
 
 #ifndef HAVE_STRNDUP
-/**
+/*******************************************************************
  Some platforms don't have strndup.
-**/
+********************************************************************/
 
  char *strndup(const char *s, size_t n)
 {
@@ -1191,9 +1183,9 @@ char *binary_string(char *buf, int len)
 #endif
 
 #ifndef HAVE_STRNLEN
-/**
+/*******************************************************************
  Some platforms don't have strnlen
-**/
+********************************************************************/
 
  size_t strnlen(const char *s, size_t n)
 {
@@ -1204,9 +1196,9 @@ char *binary_string(char *buf, int len)
 }
 #endif
 
-/**
+/***********************************************************
  List of Strings manipulation functions
-**/
+***********************************************************/
 
 #define S_LIST_ABS 16 /* List Allocation Block Size */
 
@@ -1299,9 +1291,10 @@ BOOL str_list_copy(char ***dest, const char **src)
        return True;    
 }
 
-/**
- * Return true if all the elements of the list match exactly.
- **/
+/***********************************************************
+ Return true if all the elements of the list match exactly.
+***********************************************************/
+
 BOOL str_list_compare(char **list1, char **list2)
 {
        int num;
@@ -1506,9 +1499,9 @@ void ipstr_list_free(char* ipstr_list)
 }
 
 
-/**
+/***********************************************************
  Unescape a URL encoded string, in place.
-**/
+***********************************************************/
 
 void rfc1738_unescape(char *buf)
 {
@@ -1548,9 +1541,9 @@ void rfc1738_unescape(char *buf)
 
 static const char *b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 
-/**
- * Decode a base64 string into a DATA_BLOB - simple and slow algorithm
- **/
+/***************************************************************************
+decode a base64 string into a DATA_BLOB - simple and slow algorithm
 ***************************************************************************/
 DATA_BLOB base64_decode_data_blob(const char *s)
 {
        int bit_offset, byte_offset, idx, i, n;
@@ -1582,9 +1575,9 @@ DATA_BLOB base64_decode_data_blob(const char *s)
        return decoded;
 }
 
-/**
- * Decode a base64 string in-place - wrapper for the above
- **/
+/***************************************************************************
+decode a base64 string in-place - wrapper for the above
+***************************************************************************/
 void base64_decode(char *s)
 {
        DATA_BLOB decoded = base64_decode_data_blob(s);
@@ -1595,11 +1588,11 @@ void base64_decode(char *s)
        s[decoded.length] = '\0';
 }
 
-/**
- * Encode a base64 string into a malloc()ed string caller to free.
- *
- *From SQUID: adopted from http://ftp.sunet.se/pub2/gnu/vm/base64-encode.c with adjustments
- **/
+/***************************************************************************
+encode a base64 string into a malloc()ed string caller to free.
+
+From SQUID: adopted from http://ftp.sunet.se/pub2/gnu/vm/base64-encode.c with adjustments
+***************************************************************************/
 char * base64_encode_data_blob(DATA_BLOB data)
 {
        int bits = 0;
index 97f12de0f7f82be6a7084dbcf1cb6f62105a44ac..05b016539e20bb1ac27bb566d2bccf3249112494 100644 (file)
@@ -37,16 +37,9 @@ NTSTATUS ads_name_to_sid(ADS_STRUCT *ads,
        char *exp;
        uint32 t;
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
-       char *escaped_name = escape_ldap_string_alloc(name);
-       char *escaped_realm = escape_ldap_string_alloc(ads->config.realm);
-
-       if (!escaped_name || !escaped_realm) {
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
 
        if (asprintf(&exp, "(|(sAMAccountName=%s)(userPrincipalName=%s@%s))", 
-                    escaped_name, escaped_name, escaped_realm) == -1) {
+                    name, name, ads->config.realm) == -1) {
                DEBUG(1,("ads_name_to_sid: asprintf failed!\n"));
                status = NT_STATUS_NO_MEMORY;
                goto done;
@@ -84,9 +77,6 @@ NTSTATUS ads_name_to_sid(ADS_STRUCT *ads,
 done:
        if (res) ads_msgfree(ads, res);
 
-       SAFE_FREE(escaped_name);
-       SAFE_FREE(escaped_realm);
-
        return status;
 }
 
index 626c1779266c9a2f31b35bae8ddcf6a70f7ebd46..750940e336b45fe8012a8db606e1aee2007c6561 100644 (file)
@@ -88,52 +88,6 @@ uint32 ads_uf2atype(uint32 uf)
        return atype;
 } 
 
-/* 
-translated the GROUP_CTRL Flags to GroupType (groupType) 
-*/ 
-uint32 ads_gcb2gtype(uint16 gcb)
-{
-       uint32 gtype = 0x00000000;
-
-       if (gcb & GCB_ALIAS_GROUP)      gtype |= GTYPE_SECURITY_BUILTIN_LOCAL_GROUP;
-       else if(gcb & GCB_LOCAL_GROUP)  gtype |= GTYPE_SECURITY_DOMAIN_LOCAL_GROUP;
-       if (gcb & GCB_GLOBAL_GROUP)     gtype |= GTYPE_SECURITY_GLOBAL_GROUP;
-               
-       return gtype;
-}
-
-/*
-translated the GroupType (groupType) to GROUP_CTRL Flags
-*/
-uint16 ads_gtype2gcb(uint32 gtype)
-{
-       uint16 gcb = 0x0000;
-
-       switch(gtype) {
-               case GTYPE_SECURITY_BUILTIN_LOCAL_GROUP:
-                       gcb = GCB_ALIAS_GROUP;
-                       break;
-               case GTYPE_SECURITY_DOMAIN_LOCAL_GROUP:
-                       gcb = GCB_LOCAL_GROUP;
-                       break;
-               case GTYPE_SECURITY_GLOBAL_GROUP:
-                       gcb = GCB_GLOBAL_GROUP;
-                       break;
-
-               case GTYPE_DISTRIBUTION_GLOBAL_GROUP:
-                       gcb = GCB_GLOBAL_GROUP;
-                       break;
-               case GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP:
-                       gcb = GCB_LOCAL_GROUP;
-                       break;
-               case GTYPE_DISTRIBUTION_UNIVERSAL_GROUP:
-                       gcb = GCB_GLOBAL_GROUP;
-                       break;
-       }
-       
-       return gcb;
-}
-
 /* 
 get the accountType from the groupType
 */
index c1402b1370082f8ad57fd66b287ef303b3cbb0ac..268326fca94d2d125b3d77aee1bc854f7e4406ee 100644 (file)
@@ -36,17 +36,13 @@ NTSTATUS ads_verify_ticket(ADS_STRUCT *ads, const DATA_BLOB *ticket,
        krb5_keytab keytab = NULL;
        krb5_data packet;
        krb5_ticket *tkt = NULL;
-       krb5_data salt;
-       krb5_encrypt_block eblock;
-       int ret, i;
+       int ret;
        krb5_keyblock * key;
        krb5_principal host_princ;
        char *host_princ_s;
        fstring myname;
        char *password_s;
        krb5_data password;
-       krb5_enctype *enctypes = NULL;
-       BOOL auth_ok = False;
 
        if (!secrets_init()) {
                DEBUG(1,("secrets_init failed\n"));
@@ -71,6 +67,7 @@ NTSTATUS ads_verify_ticket(ADS_STRUCT *ads, const DATA_BLOB *ticket,
        ret = krb5_set_default_realm(context, ads->auth.realm);
        if (ret) {
                DEBUG(1,("krb5_set_default_realm failed (%s)\n", error_message(ret)));
+               ads_destroy(&ads);
                return NT_STATUS_LOGON_FAILURE;
        }
 
@@ -92,59 +89,32 @@ NTSTATUS ads_verify_ticket(ADS_STRUCT *ads, const DATA_BLOB *ticket,
                return NT_STATUS_LOGON_FAILURE;
        }
 
-       ret = krb5_principal2salt(context, host_princ, &salt);
-       if (ret) {
-               DEBUG(1,("krb5_principal2salt failed (%s)\n", error_message(ret)));
-               return NT_STATUS_LOGON_FAILURE;
-       }
-    
        if (!(key = (krb5_keyblock *)malloc(sizeof(*key)))) {
                return NT_STATUS_NO_MEMORY;
        }
        
-       if ((ret = krb5_get_permitted_enctypes(context, &enctypes))) {
-               DEBUG(1,("krb5_get_permitted_enctypes failed (%s)\n", 
-                        error_message(ret)));
+       if (create_kerberos_key_from_string(context, host_princ, &password, key)) {
+               SAFE_FREE(key);
                return NT_STATUS_LOGON_FAILURE;
        }
+    
+       krb5_auth_con_setuseruserkey(context, auth_context, key);
 
-       /* we need to setup a auth context with each possible encoding type in turn */
-       for (i=0;enctypes[i];i++) {
-               krb5_use_enctype(context, &eblock, enctypes[i]);
-
-               ret = krb5_string_to_key(context, &eblock, key, &password, &salt);
-               if (ret) {
-                       continue;
-               }
-
-               krb5_auth_con_setuseruserkey(context, auth_context, key);
-
-               packet.length = ticket->length;
-               packet.data = (krb5_pointer)ticket->data;
+       packet.length = ticket->length;
+       packet.data = (krb5_pointer)ticket->data;
 
-               if (!(ret = krb5_rd_req(context, &auth_context, &packet, 
-                                      NULL, keytab, NULL, &tkt))) {
-                       krb5_free_ktypes(context, enctypes);
-                       auth_ok = True;
-                       break;
-               }
-       }
+#if 0
+       file_save("/tmp/ticket.dat", ticket->data, ticket->length);
+#endif
 
-       if (!auth_ok) {
+       if ((ret = krb5_rd_req(context, &auth_context, &packet, 
+                              NULL, keytab, NULL, &tkt))) {
                DEBUG(3,("krb5_rd_req with auth failed (%s)\n", 
                         error_message(ret)));
                return NT_STATUS_LOGON_FAILURE;
        }
 
-#if 0
-       file_save("/tmp/ticket.dat", ticket->data, ticket->length);
-#endif
-
-
-       if (tkt->enc_part2) {
-               *auth_data = data_blob(tkt->enc_part2->authorization_data[0]->contents,
-                                      tkt->enc_part2->authorization_data[0]->length);
-       }
+       get_auth_data_from_tkt(auth_data, tkt);
 
 #if 0
        if (tkt->enc_part2) {
@@ -154,7 +124,7 @@ NTSTATUS ads_verify_ticket(ADS_STRUCT *ads, const DATA_BLOB *ticket,
        }
 #endif
 
-       if ((ret = krb5_unparse_name(context, tkt->enc_part2->client, principal))) {
+       if ((ret = krb5_unparse_name(context, get_principal_from_tkt(tkt), principal))) {
                DEBUG(3,("krb5_unparse_name failed (%s)\n", 
                         error_message(ret)));
                return NT_STATUS_LOGON_FAILURE;
index c3ec754e393fef0126f8927316a10004f63c5593..087b0e9a7156d99061d751b87535e02c66a14221 100644 (file)
 #ifdef HAVE_KRB5
 
 #define DEFAULT_KPASSWD_PORT   464
-#define KRB5_KPASSWD_VERS_CHANGEPW             1
-#define KRB5_KPASSWD_VERS_SETPW                        2
-#define KRB5_KPASSWD_VERS_SETPW_MS             0xff80
-#define KRB5_KPASSWD_ACCESSDENIED              5
-#define KRB5_KPASSWD_BAD_VERSION               6
-#define KRB5_KPASSWD_INITIAL_FLAG_NEEDED       7
-
-/* Those are defined by kerberos-set-passwd-02.txt and are probably 
- * not supported by M$ implementation */
-#define KRB5_KPASSWD_POLICY_REJECT             8
-#define KRB5_KPASSWD_BAD_PRINCIPAL             9
-#define KRB5_KPASSWD_ETYPE_NOSUPP              10
-
-/* This implements kerberos password change protocol as specified in 
- * kerb-chg-password-02.txt and kerberos-set-passwd-02.txt
- * as well as microsoft version of the protocol 
- * as specified in kerberos-set-passwd-00.txt
+#define KRB5_KPASSWD_VERS_CHANGEPW     1
+#define KRB5_KPASSWD_VERS_SETPW                0xff80
+#define KRB5_KPASSWD_ACCESSDENIED      5
+#define KRB5_KPASSWD_BAD_VERSION       6
+
+/* This implements the Kerb password change protocol as specifed in
+ * kerb-chg-password-02.txt
  */
 static DATA_BLOB encode_krb5_setpw(const char *principal, const char *password)
 {
@@ -111,8 +101,7 @@ static DATA_BLOB encode_krb5_setpw(const char *principal, const char *password)
        return ret;
 }      
 
-static krb5_error_code build_kpasswd_request(uint16 pversion,
-                                          krb5_context context,
+static krb5_error_code build_setpw_request(krb5_context context,
                                           krb5_auth_context auth_context,
                                           krb5_data *ap_req,
                                           const char *princ,
@@ -134,14 +123,7 @@ static krb5_error_code build_kpasswd_request(uint16 pversion,
                return ret;
        }
 
-       /* handle protocol differences in chpw and setpw */
-       if (pversion  == KRB5_KPASSWD_VERS_CHANGEPW)
-               setpw = data_blob(passwd, strlen(passwd));
-       else if (pversion == KRB5_KPASSWD_VERS_SETPW ||
-                pversion == KRB5_KPASSWD_VERS_SETPW_MS)
-               setpw = encode_krb5_setpw(princ, passwd);
-       else
-               return EINVAL;
+       setpw = encode_krb5_setpw(princ, passwd);
 
        encoded_setpw.data = setpw.data;
        encoded_setpw.length = setpw.length;
@@ -162,7 +144,7 @@ static krb5_error_code build_kpasswd_request(uint16 pversion,
 
        /* see the RFC for details */
        p = ((char *)packet->data) + 2;
-       RSSVAL(p, 0, pversion);
+       RSSVAL(p, 0, 0xff80);
        p += 2;
        RSSVAL(p, 0, ap_req->length);
        p += 2;
@@ -178,49 +160,6 @@ static krb5_error_code build_kpasswd_request(uint16 pversion,
        return 0;
 }
 
-static krb5_error_code krb5_setpw_result_code_string(krb5_context context,
-                                                    int result_code,
-                                                    char **code_string)
-{
-   switch (result_code) {
-   case KRB5_KPASSWD_MALFORMED:
-      *code_string = "Malformed request error";
-      break;
-   case KRB5_KPASSWD_HARDERROR:
-      *code_string = "Server error";
-      break;
-   case KRB5_KPASSWD_AUTHERROR:
-      *code_string = "Authentication error";
-      break;
-   case KRB5_KPASSWD_SOFTERROR:
-      *code_string = "Password change rejected";
-      break;
-   case KRB5_KPASSWD_ACCESSDENIED:
-      *code_string = "Client does not have proper authorization";
-      break;
-   case KRB5_KPASSWD_BAD_VERSION:
-      *code_string = "Protocol version not supported";
-      break;
-   case KRB5_KPASSWD_INITIAL_FLAG_NEEDED:
-      *code_string = "Authorization ticket must have initial flag set";
-      break;
-   case KRB5_KPASSWD_POLICY_REJECT:
-      *code_string = "Password rejected due to policy requirements";
-      break;
-   case KRB5_KPASSWD_BAD_PRINCIPAL:
-      *code_string = "Target principal does not exist";
-      break;
-   case KRB5_KPASSWD_ETYPE_NOSUPP:
-      *code_string = "Unsupported encryption type";
-      break;
-   default:
-      *code_string = "Password change failed";
-      break;
-   }
-
-   return(0);
-}
-
 static krb5_error_code parse_setpw_reply(krb5_context context, 
                                         krb5_auth_context auth_context,
                                         krb5_data *packet)
@@ -255,11 +194,8 @@ static krb5_error_code parse_setpw_reply(krb5_context context,
        p += 2;
 
        vnum = RSVAL(p, 0); p += 2;
-
-       /* FIXME: According to standard there is only one type of reply */      
-       if (vnum != KRB5_KPASSWD_VERS_SETPW && 
-           vnum != KRB5_KPASSWD_VERS_SETPW_MS && 
-           vnum != KRB5_KPASSWD_VERS_CHANGEPW) {
+       
+       if (vnum != KRB5_KPASSWD_VERS_SETPW && vnum != KRB5_KPASSWD_VERS_CHANGEPW) {
                DEBUG(1,("Bad vnum (%d) from kpasswd server\n", vnum));
                return KRB5KDC_ERR_BAD_PVNO;
        }
@@ -311,56 +247,96 @@ static krb5_error_code parse_setpw_reply(krb5_context context,
        free(clearresult.data);
 
        if ((res_code < KRB5_KPASSWD_SUCCESS) || 
-           (res_code > KRB5_KPASSWD_ETYPE_NOSUPP)) {
+           (res_code >= KRB5_KPASSWD_ACCESSDENIED)) {
                return KRB5KRB_AP_ERR_MODIFIED;
        }
-
-       if(res_code == KRB5_KPASSWD_SUCCESS)
-                       return 0;
-       else {
-               char *errstr;
-               krb5_setpw_result_code_string(context, res_code, &errstr);
-               DEBUG(1, ("Error changing password: %s\n", errstr));
-
-               switch(res_code) {
-                       case KRB5_KPASSWD_ACCESSDENIED:
-                               return KRB5KDC_ERR_BADOPTION;
-                               break;
-                       case KRB5_KPASSWD_INITIAL_FLAG_NEEDED:
-                               return KV5M_ALT_METHOD;
-                               break;
-                       case KRB5_KPASSWD_ETYPE_NOSUPP:
-                               return KRB5KDC_ERR_ETYPE_NOSUPP;
-                               break;
-                       case KRB5_KPASSWD_BAD_PRINCIPAL:
-                               return KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN;
-                               break;
-                       case KRB5_KPASSWD_POLICY_REJECT:
-                               return KRB5KDC_ERR_POLICY;
-                               break;
-                       default:
-                               return KRB5KRB_ERR_GENERIC;
-                               break;
-               }
-       }
+       
+       return 0;
 }
 
-static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
-                                         const char *kdc_host,
-                                         uint16 pversion,
-                                         krb5_creds *credsp,
-                                         const char *princ,
-                                         const char *newpw)
+ADS_STATUS krb5_set_password(const char *kdc_host, const char *princ, const char *newpw, 
+                            int time_offset)
 {
+       krb5_context context;
        krb5_auth_context auth_context = NULL;
+       krb5_principal principal;
+       char *princ_name;
+       char *realm;
+       krb5_creds creds, *credsp;
+       krb5_ccache ccache;
        krb5_data ap_req, chpw_req, chpw_rep;
        int ret, sock, addr_len;
        struct sockaddr remote_addr, local_addr;
        krb5_address local_kaddr, remote_kaddr;
 
+       ret = krb5_init_context(&context);
+       if (ret) {
+               DEBUG(1,("Failed to init krb5 context (%s)\n", error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+       
+       if (time_offset != 0) {
+               krb5_set_real_time(context, time(NULL) + time_offset, 0);
+       }
+
+       ret = krb5_cc_default(context, &ccache);
+       if (ret) {
+               krb5_free_context(context);
+               DEBUG(1,("Failed to get default creds (%s)\n", error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+
+       ZERO_STRUCT(creds);
+       
+       realm = strchr(princ, '@');
+       realm++;
+
+       asprintf(&princ_name, "kadmin/changepw@%s", realm);
+       ret = krb5_parse_name(context, princ_name, &creds.server);
+       if (ret) {
+                krb5_free_context(context);
+               DEBUG(1,("Failed to parse kadmin/changepw (%s)\n", error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+       free(princ_name);
+
+       /* parse the principal we got as a function argument */
+       ret = krb5_parse_name(context, princ, &principal);
+       if (ret) {
+                krb5_free_context(context);
+               DEBUG(1,("Failed to parse %s (%s)\n", princ_name, error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+
+       krb5_princ_set_realm(context, creds.server,
+                            krb5_princ_realm(context, principal));
+       
+       ret = krb5_cc_get_principal(context, ccache, &creds.client);
+       if (ret) {
+               krb5_free_principal(context, principal);
+                krb5_free_context(context);
+               DEBUG(1,("Failed to get principal from ccache (%s)\n", 
+                        error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+       
+       ret = krb5_get_credentials(context, 0, ccache, &creds, &credsp);
+       if (ret) {
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
+               DEBUG(1,("krb5_get_credentials failed (%s)\n", error_message(ret)));
+               return ADS_ERROR_KRB5(ret);
+       }
+       
+       /* we might have to call krb5_free_creds(...) from now on ... */
        ret = krb5_mk_req_extended(context, &auth_context, AP_OPTS_USE_SUBKEY,
                                   NULL, credsp, &ap_req);
        if (ret) {
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("krb5_mk_req_extended failed (%s)\n", error_message(ret)));
                return ADS_ERROR_KRB5(ret);
        }
@@ -369,7 +345,10 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
        if (sock == -1) {
                int rc = errno;
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("failed to open kpasswd socket to %s (%s)\n", 
                         kdc_host, strerror(errno)));
                return ADS_ERROR_SYSTEM(rc);
@@ -387,17 +366,23 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
        if (ret) {
                close(sock);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("krb5_auth_con_setaddrs failed (%s)\n", error_message(ret)));
                return ADS_ERROR_KRB5(ret);
        }
 
-       ret = build_kpasswd_request(pversion, context, auth_context, &ap_req,
+       ret = build_setpw_request(context, auth_context, &ap_req,
                                  princ, newpw, &chpw_req);
        if (ret) {
                close(sock);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("build_setpw_request failed (%s)\n", error_message(ret)));
                return ADS_ERROR_KRB5(ret);
        }
@@ -406,7 +391,10 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
                close(sock);
                free(chpw_req.data);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("send of chpw failed (%s)\n", strerror(errno)));
                return ADS_ERROR_SYSTEM(errno);
        }
@@ -418,7 +406,10 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
        if (!chpw_rep.data) {
                close(sock);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("send of chpw failed (%s)\n", strerror(errno)));
                errno = ENOMEM;
                return ADS_ERROR_SYSTEM(errno);
@@ -429,7 +420,10 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
                close(sock);
                free(chpw_rep.data);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("recv of chpw reply failed (%s)\n", strerror(errno)));
                return ADS_ERROR_SYSTEM(errno);
        }
@@ -441,7 +435,10 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
        if (ret) {
                free(chpw_rep.data);
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("krb5_auth_con_setaddrs on reply failed (%s)\n", 
                         error_message(ret)));
                return ADS_ERROR_KRB5(ret);
@@ -452,194 +449,22 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
 
        if (ret) {
                free(ap_req.data);
-               krb5_auth_con_free(context, auth_context);
+               krb5_free_creds(context, credsp);
+               krb5_free_principal(context, creds.client);
+               krb5_free_principal(context, principal);
+               krb5_free_context(context);
                DEBUG(1,("parse_setpw_reply failed (%s)\n", 
                         error_message(ret)));
                return ADS_ERROR_KRB5(ret);
        }
 
        free(ap_req.data);
-       krb5_auth_con_free(context, auth_context);
-
-       return ADS_SUCCESS;
-}
-
-ADS_STATUS krb5_set_password(const char *kdc_host, const char *princ, const char *newpw, 
-                            int time_offset)
-{
-
-       ADS_STATUS aret;
-       krb5_error_code ret;
-       krb5_context context;
-       krb5_principal principal;
-       char *princ_name;
-       char *realm;
-       krb5_creds creds, *credsp;
-       krb5_ccache ccache;
-
-       ret = krb5_init_context(&context);
-       if (ret) {
-               DEBUG(1,("Failed to init krb5 context (%s)\n", error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-       
-       if (time_offset != 0) {
-               krb5_set_real_time(context, time(NULL) + time_offset, 0);
-       }
-
-       ret = krb5_cc_default(context, &ccache);
-       if (ret) {
-               krb5_free_context(context);
-               DEBUG(1,("Failed to get default creds (%s)\n", error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-
-       ZERO_STRUCT(creds);
-       
-       realm = strchr(princ, '@');
-       realm++;
-
-       asprintf(&princ_name, "kadmin/changepw@%s", realm);
-       ret = krb5_parse_name(context, princ_name, &creds.server);
-       if (ret) {
-                krb5_free_context(context);
-               DEBUG(1,("Failed to parse kadmin/changepw (%s)\n", error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-       free(princ_name);
-
-       /* parse the principal we got as a function argument */
-       ret = krb5_parse_name(context, princ, &principal);
-       if (ret) {
-                krb5_free_context(context);
-               DEBUG(1,("Failed to parse %s (%s)\n", princ_name, error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-
-       krb5_princ_set_realm(context, creds.server,
-                            krb5_princ_realm(context, principal));
-       
-       ret = krb5_cc_get_principal(context, ccache, &creds.client);
-       if (ret) {
-               krb5_free_principal(context, principal);
-                krb5_free_context(context);
-               DEBUG(1,("Failed to get principal from ccache (%s)\n", 
-                        error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-       
-       ret = krb5_get_credentials(context, 0, ccache, &creds, &credsp); 
-       if (ret) {
-               krb5_free_principal(context, creds.client);
-               krb5_free_principal(context, principal);
-               krb5_free_context(context);
-               DEBUG(1,("krb5_get_credentials failed (%s)\n", error_message(ret)));
-               return ADS_ERROR_KRB5(ret);
-       }
-       
-       /* we might have to call krb5_free_creds(...) from now on ... */
-
-       aret = do_krb5_kpasswd_request(context, kdc_host,
-                                      KRB5_KPASSWD_VERS_SETPW_MS,
-                                      credsp, princ, newpw);
-
        krb5_free_creds(context, credsp);
        krb5_free_principal(context, creds.client);
-       krb5_free_principal(context, creds.server);
        krb5_free_principal(context, principal);
        krb5_free_context(context);
 
-       return aret;
-}
-
-/*
-  we use a prompter to avoid a crash bug in the kerberos libs when 
-  dealing with empty passwords
-  this prompter is just a string copy ...
-*/
-static krb5_error_code 
-kerb_prompter(krb5_context ctx, void *data,
-              const char *name,
-              const char *banner,
-              int num_prompts,
-              krb5_prompt prompts[])
-{
-       if (num_prompts == 0) return 0;
-
-       memset(prompts[0].reply->data, 0, prompts[0].reply->length);
-       if (prompts[0].reply->length > 0) {
-               if (data) {
-                       strncpy(prompts[0].reply->data, data, prompts[0].reply->length-1);
-                       prompts[0].reply->length = strlen(prompts[0].reply->data);
-               } else {
-                       prompts[0].reply->length = 0;
-               }
-       }
-       return 0;
-}
-
-ADS_STATUS krb5_chg_password(const char *kdc_host,
-                               const char *principal,
-                               const char *oldpw, 
-                               const char *newpw, 
-                               int time_offset)
-{
-    ADS_STATUS aret;
-    krb5_error_code ret;
-    krb5_context context;
-    krb5_principal princ;
-    krb5_get_init_creds_opt opts;
-    krb5_creds creds;
-    char *chpw_princ = NULL, *password;
-
-    ret = krb5_init_context(&context);
-    if (ret) {
-       DEBUG(1,("Failed to init krb5 context (%s)\n", error_message(ret)));
-       return ADS_ERROR_KRB5(ret);
-    }
-
-    if ((ret = krb5_parse_name(context, principal,
-                                    &princ))) {
-       krb5_free_context(context);
-       DEBUG(1,("Failed to parse %s (%s)\n", principal, error_message(ret)));
-       return ADS_ERROR_KRB5(ret);
-    }
-
-    krb5_get_init_creds_opt_init(&opts);
-    krb5_get_init_creds_opt_set_tkt_life(&opts, 5*60);
-    krb5_get_init_creds_opt_set_renew_life(&opts, 0);
-    krb5_get_init_creds_opt_set_forwardable(&opts, 0);
-    krb5_get_init_creds_opt_set_proxiable(&opts, 0);
-
-    /* We have to obtain an INITIAL changepw ticket for changing password */
-    asprintf(&chpw_princ, "kadmin/changepw@%s",
-                               (char *) krb5_princ_realm(context, princ));
-    password = strdup(oldpw);
-    ret = krb5_get_init_creds_password(context, &creds, princ, password,
-                                          kerb_prompter, NULL, 
-                                          0, chpw_princ, &opts);
-    SAFE_FREE(chpw_princ);
-    SAFE_FREE(password);
-
-    if (ret) {
-      if (ret == KRB5KRB_AP_ERR_BAD_INTEGRITY)
-       DEBUG(1,("Password incorrect while getting initial ticket"));
-      else
-       DEBUG(1,("krb5_get_init_creds_password failed (%s)\n", error_message(ret)));
-
-       krb5_free_principal(context, princ);
-       krb5_free_context(context);
-       return ADS_ERROR_KRB5(ret);
-    }
-
-    aret = do_krb5_kpasswd_request(context, kdc_host,
-                                  KRB5_KPASSWD_VERS_CHANGEPW,
-                                  &creds, principal, newpw);
-
-    krb5_free_principal(context, princ);
-    krb5_free_context(context);
-
-    return aret;
+       return ADS_SUCCESS;
 }
 
 
@@ -655,12 +480,7 @@ ADS_STATUS kerberos_set_password(const char *kpasswd_server,
        return ADS_ERROR_KRB5(ret);
     }
 
-    if (!strcmp(auth_principal, target_principal))
-       return krb5_chg_password(kpasswd_server, target_principal,
-                                   auth_password, new_password, time_offset);
-    else
-       return krb5_set_password(kpasswd_server, target_principal,
-                                new_password, time_offset);
+    return krb5_set_password(kpasswd_server, target_principal, new_password, time_offset);
 }
 
 
@@ -695,6 +515,4 @@ ADS_STATUS ads_set_machine_password(ADS_STRUCT *ads,
        return status;
 }
 
-
-
 #endif
index c92e4810783b2338df5bdbffd0da3ff3d53fe756..47a94f0a08d364696ef55906d5433c487828d805 100644 (file)
@@ -1022,7 +1022,7 @@ char *ads_ou_string(const char *org_unit)
 static ADS_STATUS ads_add_machine_acct(ADS_STRUCT *ads, const char *hostname, 
                                       const char *org_unit)
 {
-       ADS_STATUS ret, status;
+       ADS_STATUS ret;
        char *host_spn, *host_upn, *new_dn, *samAccountName, *controlstr;
        char *ou_str;
        TALLOC_CTX *ctx;
@@ -1089,21 +1089,9 @@ static ADS_STATUS ads_add_machine_acct(ADS_STRUCT *ads, const char *hostname,
        ads_mod_str(ctx, &mods, "operatingSystem", "Samba");
        ads_mod_str(ctx, &mods, "operatingSystemVersion", VERSION);
 
-       ret = ads_gen_add(ads, new_dn, mods);
+       ads_gen_add(ads, new_dn, mods);
+       ret = ads_set_machine_sd(ads, hostname, new_dn);
 
-       if (!ADS_ERR_OK(ret))
-               goto done;
-
-       /* Do not fail if we can't set security descriptor
-        * it shouldn't be mandatory and probably we just 
-        * don't have enough rights to do it.
-        */
-       status = ads_set_machine_sd(ads, hostname, new_dn);
-
-       if (!ADS_ERR_OK(status)) {
-               DEBUG(0, ("Warning: ads_set_machine_sd: %s\n",
-                               ads_errstr(status)));
-       }
 done:
        talloc_destroy(ctx);
        return ret;
@@ -1418,7 +1406,7 @@ ADS_STATUS ads_leave_realm(ADS_STRUCT *ads, const char *hostname)
  **/
 ADS_STATUS ads_set_machine_sd(ADS_STRUCT *ads, const char *hostname, char *dn)
 {
-       const char     *attrs[] = {"nTSecurityDescriptor", "objectSid", 0};
+       const char     *attrs[] = {"ntSecurityDescriptor", "objectSid", 0};
        char           *exp     = 0;
        size_t          sd_size = 0;
        struct berval   bval = {0, NULL};
@@ -1435,10 +1423,6 @@ ADS_STATUS ads_set_machine_sd(ADS_STRUCT *ads, const char *hostname, char *dn)
        SEC_DESC   *psd = 0;
        TALLOC_CTX *ctx = 0;    
 
-       /* Avoid segmentation fault in prs_mem_free if
-        * we have to bail out before prs_init */
-       ps_wire.is_dynamic = False;
-
        if (!ads) return ADS_ERROR(LDAP_SERVER_DOWN);
 
        ret = ADS_ERROR(LDAP_SUCCESS);
index 29d4533a54fa056357e72184c1594114a95e63ee..7aa77bf2a240405251323fd24561777d9a00fd77 100644 (file)
@@ -241,12 +241,7 @@ static ADS_STATUS ads_sasl_gssapi_bind(ADS_STRUCT *ads)
        ADS_STATUS status;
        krb5_principal principal;
        krb5_context ctx;
-       krb5_enctype enc_types[] = {
-#ifdef ENCTYPE_ARCFOUR_HMAC
-                       ENCTYPE_ARCFOUR_HMAC,
-#endif
-                       ENCTYPE_DES_CBC_MD5,
-                       ENCTYPE_NULL};
+       krb5_enctype enc_types[] = {ENCTYPE_DES_CBC_MD5, ENCTYPE_NULL};
        gss_OID_desc nt_principal = 
        {10, "\052\206\110\206\367\022\001\002\002\002"};
 
index 335cabc95261429172f0255b421f05553721292b..021f2d93e4aad7039beb1d7524513e8645d19f47 100644 (file)
@@ -29,7 +29,7 @@ ADS_STATUS ads_change_trust_account_password(ADS_STRUCT *ads, char *host_princip
     char *new_password;
     char *service_principal;
     ADS_STATUS ret;
-
+     
     if ((password = secrets_fetch_machine_password()) == NULL) {
        DEBUG(1,("Failed to retrieve password for principal %s\n", host_principal));
        return ADS_ERROR_SYSTEM(ENOENT);
@@ -38,17 +38,15 @@ ADS_STATUS ads_change_trust_account_password(ADS_STRUCT *ads, char *host_princip
     tmp_password = generate_random_str(DEFAULT_TRUST_ACCOUNT_PASSWORD_LENGTH);
     new_password = strdup(tmp_password);
     asprintf(&service_principal, "HOST/%s", host_principal);
-
-    ret = kerberos_set_password(ads->auth.kdc_server, service_principal, password, service_principal, new_password, ads->auth.time_offset);
-
-    if (!ADS_ERR_OK(ret)) goto failed;
+    
+    ret = kerberos_set_password(ads->auth.kdc_server, host_principal, password, 
+                               service_principal, new_password, ads->auth.time_offset);
 
     if (!secrets_store_machine_password(new_password)) {
            DEBUG(1,("Failed to save machine password\n"));
            return ADS_ERROR_SYSTEM(EACCES);
     }
 
-failed:
     SAFE_FREE(service_principal);
     SAFE_FREE(new_password);
 
index 09d4fbb6c9abc42aaaec10ec524651064ff42565..333d15790526c1d263442d7502bbaad936b9fab5 100644 (file)
@@ -240,9 +240,7 @@ BOOL asn1_start_tag(ASN1_DATA *data, uint8 tag)
        uint8 b;
        struct nesting *nesting;
        
-       if (!asn1_read_uint8(data, &b))
-               return False;
-
+       asn1_read_uint8(data, &b);
        if (b != tag) {
                data->has_error = True;
                return False;
@@ -253,18 +251,13 @@ BOOL asn1_start_tag(ASN1_DATA *data, uint8 tag)
                return False;
        }
 
-       if (!asn1_read_uint8(data, &b)) {
-               return False;
-       }
-
+       asn1_read_uint8(data, &b);
        if (b & 0x80) {
                int n = b & 0x7f;
-               if (!asn1_read_uint8(data, &b))
-                       return False;
+               asn1_read_uint8(data, &b);
                nesting->taglen = b;
                while (n > 1) {
-                       if (!asn1_read_uint8(data, &b)) 
-                               return False;
+                       asn1_read_uint8(data, &b);
                        nesting->taglen = (nesting->taglen << 8) | b;
                        n--;
                }
@@ -411,11 +404,7 @@ BOOL asn1_check_enumerated(ASN1_DATA *data, int v)
        if (!asn1_start_tag(data, ASN1_ENUMERATED)) return False;
        asn1_read_uint8(data, &b);
        asn1_end_tag(data);
-
-       if (v != b)
-               data->has_error = False;
-
-       return !data->has_error;
+       return !data->has_error && (v == b);
 }
 
 /* write an enumarted value to the stream */
index 487b184dd656c87599c692d322c0a893d57bd5d7..389b7a1733218222b0a3f1413bd20f6e567ee15c 100644 (file)
@@ -2,7 +2,7 @@
    Unix SMB/CIFS implementation.
    client connect/disconnect routines
    Copyright (C) Andrew Tridgell 1994-1998
-   Copyright (C) Andrew Barteltt 2001-2003
+   Copyright (C) Andrew Barteltt 2001-2002
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ static const struct {
 ****************************************************************************/
 
 static BOOL cli_session_setup_lanman2(struct cli_state *cli, const char *user, 
-                                     const char *pass, size_t passlen, const char *workgroup)
+                                     const char *pass, int passlen, const char *workgroup)
 {
        fstring pword;
        char *p;
@@ -228,7 +228,7 @@ static BOOL cli_session_setup_plaintext(struct cli_state *cli, const char *user,
        return True;
 }
 
-static void set_signing_on_cli (struct cli_state *cli, uint8 user_session_key[16], DATA_BLOB response
+static void set_signing_on_cli (struct cli_state *cli, const char* pass, uint8 response[24]
 {
        uint8 zero_sig[8];
        ZERO_STRUCT(zero_sig);
@@ -242,18 +242,12 @@ static void set_signing_on_cli (struct cli_state *cli, uint8 user_session_key[16
 
                DEBUG(3, ("smb signing enabled!\n"));
                cli->sign_info.use_smb_signing = True;
-               cli_calculate_mac_key(cli, user_session_key, response);
+               cli_calculate_mac_key(cli, pass, response);
        } else {
                DEBUG(5, ("smb signing NOT enabled!\n"));
        }
 }
 
-static void set_cli_session_key (struct cli_state *cli, DATA_BLOB session_key) 
-{
-       memcpy(cli->user_session_key, session_key.data, MIN(session_key.length, sizeof(cli->user_session_key)));
-}
-
-
 static void set_temp_signing_on_cli(struct cli_state *cli) 
 {
        if (cli->sign_info.negotiated_smb_signing)
@@ -271,54 +265,37 @@ static void set_temp_signing_on_cli(struct cli_state *cli)
 ****************************************************************************/
 
 static BOOL cli_session_setup_nt1(struct cli_state *cli, const char *user, 
-                                 const char *pass, size_t passlen,
-                                 const char *ntpass, size_t ntpasslen,
+                                 const char *pass, int passlen,
+                                 const char *ntpass, int ntpasslen,
                                  const char *workgroup)
 {
        uint32 capabilities = cli_session_setup_capabilities(cli);
-       DATA_BLOB lm_response = data_blob(NULL, 0);
-       DATA_BLOB nt_response = data_blob(NULL, 0);
-       DATA_BLOB session_key = data_blob(NULL, 0);
-       BOOL ret = False;
+       uchar pword[24];
+       uchar ntpword[24];
        char *p;
+       BOOL have_plaintext = False;
 
-       if (passlen != 24) {
-               if (lp_client_ntlmv2_auth()) {
-                       DATA_BLOB server_chal;
-
-                       server_chal = data_blob(cli->secblob.data, MIN(cli->secblob.length, 8)); 
-
-                       if (!SMBNTLMv2encrypt(user, workgroup, pass, server_chal, 
-                                             &lm_response, &nt_response, &session_key)) {
-                               data_blob_free(&server_chal);
-                               return False;
-                       }
-                       data_blob_free(&server_chal);
-
-               } else {
-                       uchar nt_hash[16];
-                       E_md4hash(pass, nt_hash);
-
-                       /* non encrypted password supplied. Ignore ntpass. */
-                       if (lp_client_lanman_auth()) {
-                               lm_response = data_blob(NULL, 24);
-                               SMBencrypt(pass,cli->secblob.data,lm_response.data);
-                       }
+       if (passlen > sizeof(pword) || ntpasslen > sizeof(ntpword))
+               return False;
 
-                       nt_response = data_blob(NULL, 24);
-                       SMBNTencrypt(pass,cli->secblob.data,nt_response.data);
-                       session_key = data_blob(NULL, 16);
-                       SMBsesskeygen_ntv1(nt_hash, NULL, session_key.data);
-               }
+       if (passlen != 24) {
+               /* non encrypted password supplied. Ignore ntpass. */
+               passlen = 24;
+               ntpasslen = 24;
+               SMBencrypt(pass,cli->secblob.data,pword);
+               SMBNTencrypt(pass,cli->secblob.data,ntpword);
 
+               have_plaintext = True;
                set_temp_signing_on_cli(cli);
        } else {
                /* pre-encrypted password supplied.  Only used for 
                   security=server, can't do
                   signing becouse we don't have oringial key */
-
-               lm_response = data_blob(pass, passlen);
-               nt_response = data_blob(ntpass, ntpasslen);
+               memcpy(pword, pass, 24);
+               if (ntpasslen == 24)
+                       memcpy(ntpword, ntpass, 24);
+               else
+                       ZERO_STRUCT(ntpword);
        }
 
        /* send a session setup command */
@@ -333,33 +310,28 @@ static BOOL cli_session_setup_nt1(struct cli_state *cli, const char *user,
        SSVAL(cli->outbuf,smb_vwv3,2);
        SSVAL(cli->outbuf,smb_vwv4,cli->pid);
        SIVAL(cli->outbuf,smb_vwv5,cli->sesskey);
-       SSVAL(cli->outbuf,smb_vwv7,lm_response.length);
-       SSVAL(cli->outbuf,smb_vwv8,nt_response.length);
+       SSVAL(cli->outbuf,smb_vwv7,passlen);
+       SSVAL(cli->outbuf,smb_vwv8,ntpasslen);
        SIVAL(cli->outbuf,smb_vwv11,capabilities); 
        p = smb_buf(cli->outbuf);
-       if (lm_response.length) {
-               memcpy(p,lm_response.data, lm_response.length); p += lm_response.length;
-       }
-       if (nt_response.length) {
-               memcpy(p,nt_response.data, nt_response.length); p += nt_response.length;
-       }
+       memcpy(p,pword,passlen); p += passlen;
+       memcpy(p,ntpword,ntpasslen); p += ntpasslen;
        p += clistr_push(cli, p, user, -1, STR_TERMINATE);
        p += clistr_push(cli, p, workgroup, -1, STR_TERMINATE);
        p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE);
        p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE);
        cli_setup_bcc(cli, p);
 
-       if (!cli_send_smb(cli) || !cli_receive_smb(cli)) {
-               ret = False;
-               goto end;
-       }
+       if (!cli_send_smb(cli))
+               return False;
+
+       if (!cli_receive_smb(cli))
+               return False;
 
        show_msg(cli->inbuf);
 
-       if (cli_is_error(cli)) {
-               ret = False;
-               goto end;
-       }
+       if (cli_is_error(cli))
+               return False;
 
        /* use the returned vuid from now on */
        cli->vuid = SVAL(cli->inbuf,smb_uid);
@@ -371,16 +343,11 @@ static BOOL cli_session_setup_nt1(struct cli_state *cli, const char *user,
 
        fstrcpy(cli->user_name, user);
 
-       if (session_key.data) {
+       if (have_plaintext) {
                /* Have plaintext orginal */
-               set_cli_session_key(cli, session_key);
-               set_signing_on_cli(cli, session_key.data, nt_response);
+               set_signing_on_cli(cli, pass, ntpword);
        }
-
-end:   
-       data_blob_free(&lm_response);
-       data_blob_free(&nt_response);
-       data_blob_free(&session_key);
+       
        return True;
 }
 
@@ -392,9 +359,11 @@ static DATA_BLOB cli_session_setup_blob(struct cli_state *cli, DATA_BLOB blob)
 {
        uint32 capabilities = cli_session_setup_capabilities(cli);
        char *p;
-       DATA_BLOB blob2 = data_blob(NULL, 0);
+       DATA_BLOB blob2;
        uint32 len;
 
+       blob2 = data_blob(NULL, 0);
+
        capabilities |= CAP_EXTENDED_SECURITY;
 
        /* send a session setup command */
@@ -450,13 +419,6 @@ static DATA_BLOB cli_session_setup_blob(struct cli_state *cli, DATA_BLOB blob)
 }
 
 #ifdef HAVE_KRB5
-/****************************************************************************
- Use in-memory credentials cache
-****************************************************************************/
-static void use_in_memory_ccache() {
-       setenv(KRB5_ENV_CCNAME, "MEMORY:cliconnect", 1);
-}
-
 /****************************************************************************
  Do a spnego/kerberos encrypted session setup.
 ****************************************************************************/
@@ -494,87 +456,126 @@ static BOOL cli_session_setup_kerberos(struct cli_state *cli, const char *princi
 static BOOL cli_session_setup_ntlmssp(struct cli_state *cli, const char *user, 
                                      const char *pass, const char *workgroup)
 {
-       struct ntlmssp_client_state *ntlmssp_state;
-       NTSTATUS nt_status;
-       int turn = 1;
-       DATA_BLOB msg1;
-       DATA_BLOB blob;
-       DATA_BLOB blob_in = data_blob(NULL, 0);
-       DATA_BLOB blob_out;
+       DATA_BLOB msg1, struct_blob;
+       DATA_BLOB blob, chal1, chal2, auth, challenge_blob;
+       uint8 challenge[8];
+       uint8 nthash[24], lmhash[24], sess_key[16];
+       uint32 neg_flags, chal_flags, ntlmssp_command, unkn1, unkn2;
+       pstring server_domain;  /* FIX THIS, SHOULD be UCS2-LE */
+
+       neg_flags = NTLMSSP_NEGOTIATE_UNICODE | 
+               NTLMSSP_NEGOTIATE_128 | 
+               NTLMSSP_NEGOTIATE_NTLM |
+               NTLMSSP_REQUEST_TARGET;
+
+       memset(sess_key, 0, 16);
+
+       DEBUG(10, ("sending NTLMSSP_NEGOTIATE\n"));
+
+       /* generate the ntlmssp negotiate packet */
+       msrpc_gen(&blob, "CddAA",
+                 "NTLMSSP",
+                 NTLMSSP_NEGOTIATE,
+                 neg_flags,
+                 workgroup, 
+                 cli->calling.name);
+       DEBUG(10, ("neg_flags: %0X, workgroup: %s, calling name %s\n",
+                 neg_flags, workgroup, cli->calling.name));
+       /* and wrap it in a SPNEGO wrapper */
+       msg1 = gen_negTokenInit(OID_NTLMSSP, blob);
+       data_blob_free(&blob);
 
-       if (!NT_STATUS_IS_OK(nt_status = ntlmssp_client_start(&ntlmssp_state))) {
+       /* now send that blob on its way */
+       blob = cli_session_setup_blob(cli, msg1);
+
+       data_blob_free(&msg1);
+
+       if (!NT_STATUS_EQUAL(cli_nt_error(cli), NT_STATUS_MORE_PROCESSING_REQUIRED))
                return False;
-       }
 
-       if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_username(ntlmssp_state, user))) {
+#if 0
+       file_save("chal.dat", blob.data, blob.length);
+#endif
+
+       /* the server gives us back two challenges */
+       if (!spnego_parse_challenge(blob, &chal1, &chal2)) {
+               DEBUG(3,("Failed to parse challenges\n"));
                return False;
        }
-       if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_domain(ntlmssp_state, workgroup))) {
-               return False;
+
+       data_blob_free(&blob);
+
+       /*
+        * Ok, chal1 and chal2 are actually two identical copies of
+        * the NTLMSSP Challenge BLOB, and they contain, encoded in them
+        * the challenge to use.
+        */
+
+       if (!msrpc_parse(&chal1, "CdUdbddB",
+                        "NTLMSSP",
+                        &ntlmssp_command, 
+                        &server_domain,
+                        &chal_flags,
+                        &challenge_blob, 8,
+                        &unkn1, &unkn2,
+                        &struct_blob)) {
+         DEBUG(0, ("Failed to parse the NTLMSSP Challenge\n"));
+         return False;
        }
-       if (!NT_STATUS_IS_OK(nt_status = ntlmssp_set_password(ntlmssp_state, pass))) {
+                       
+       if (ntlmssp_command != NTLMSSP_CHALLENGE) {
+               DEBUG(0, ("NTLMSSP Response != NTLMSSP_CHALLENGE. Got %0X\n", 
+                       ntlmssp_command));
                return False;
        }
+       DEBUG(10, ("Challenge:\n"));
+       dump_data(10, challenge_blob.data, 8);
 
-       ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth();
-
-       do {
-               nt_status = ntlmssp_client_update(ntlmssp_state, 
-                                                 blob_in, &blob_out);
-               data_blob_free(&blob_in);
-               if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-                       if (turn == 1) {
-                               /* and wrap it in a SPNEGO wrapper */
-                               msg1 = gen_negTokenInit(OID_NTLMSSP, blob_out);
-                       } else {
-                               /* wrap it in SPNEGO */
-                               msg1 = spnego_gen_auth(blob_out);
-                       }
-               
-                       /* now send that blob on its way */
-                       blob = cli_session_setup_blob(cli, msg1);
-                       data_blob_free(&msg1);
-                       nt_status = cli_nt_error(cli);
-               }
-               
-               if (!blob.length) {
-                       if (NT_STATUS_IS_OK(nt_status)) {
-                               nt_status = NT_STATUS_UNSUCCESSFUL;
-                       }
-               } else if ((turn == 1) && 
-                          NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-                       DATA_BLOB tmp_blob = data_blob(NULL, 0);
-                       /* the server might give us back two challenges */
-                       if (!spnego_parse_challenge(blob, &blob_in, 
-                                                   &tmp_blob)) {
-                               DEBUG(3,("Failed to parse challenges\n"));
-                               nt_status = NT_STATUS_INVALID_PARAMETER;
-                       }
-                       data_blob_free(&tmp_blob);
-               } else {
-                       /* the server might give us back two challenges */
-                       if (!spnego_parse_auth_response(blob, nt_status, 
-                                                       &blob_in)) {
-                               DEBUG(3,("Failed to parse auth response\n"));
-                               if (NT_STATUS_IS_OK(nt_status) 
-                                   || NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) 
-                                       nt_status = NT_STATUS_INVALID_PARAMETER;
-                       }
-               }
-               data_blob_free(&blob);
-               data_blob_free(&blob_out);
-               turn++;
-       } while (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED));
+       /* encrypt the password with the challenge which is in the blob */
+       memcpy(challenge, challenge_blob.data, 8); 
+       SMBencrypt(pass, challenge,lmhash);
+       SMBNTencrypt(pass, challenge,nthash);
+       data_blob_free(&challenge_blob);
 
-       if (NT_STATUS_IS_OK(nt_status)) {
-               set_cli_session_key(cli, ntlmssp_state->session_key);
-       }
+#if 0
+       file_save("nthash.dat", nthash, 24);
+       file_save("lmhash.dat", lmhash, 24);
+       file_save("chal1.dat", chal1.data, chal1.length);
+#endif
+
+       data_blob_free(&chal1);
+       data_blob_free(&chal2);
+
+       /* this generates the actual auth packet */
+       msrpc_gen(&blob, "CdBBUUUBd", 
+                 "NTLMSSP", 
+                 NTLMSSP_AUTH, 
+                 lmhash, 24,
+                 nthash, 24,
+                 workgroup, 
+                 user, 
+                 cli->calling.name,
+                 sess_key, 0,
+                 neg_flags);
+
+       /* wrap it in SPNEGO */
+       auth = spnego_gen_auth(blob);
+
+       data_blob_free(&blob);
 
-       if (!NT_STATUS_IS_OK(ntlmssp_client_end(&ntlmssp_state))) {
+       /* now send the auth packet and we should be done */
+       blob = cli_session_setup_blob(cli, auth);
+
+       data_blob_free(&auth);
+       data_blob_free(&blob);
+
+       if (cli_is_error(cli))
                return False;
-       }
 
-       return (NT_STATUS_IS_OK(nt_status));
+       set_signing_on_cli(cli, pass, nthash);
+
+       return True;
 }
 
 /****************************************************************************
@@ -627,21 +628,6 @@ static BOOL cli_session_setup_spnego(struct cli_state *cli, const char *user,
        fstrcpy(cli->user_name, user);
 
 #ifdef HAVE_KRB5
-       /* If password is set we reauthenticate to kerberos server
-        * and do not store results */
-
-       if (*pass) {
-               int ret;
-
-               use_in_memory_ccache();
-               ret = kerberos_kinit_password(user, pass, 0 /* no time correction for now */);
-
-               if (ret){
-                       DEBUG(0, ("Kinit failed: %s\n", error_message(ret)));
-                       return False;
-               }
-       }
-
        if (got_kerberos_mechanism && cli->use_kerberos) {
                return cli_session_setup_kerberos(cli, principal, workgroup);
        }
@@ -956,10 +942,7 @@ BOOL cli_negprot(struct cli_state *cli)
                                    smb_buflen(cli->inbuf)-8, STR_UNICODE|STR_NOALIGN);
                }
 
-               if ((cli->sec_mode & NEGOTIATE_SECURITY_SIGNATURES_REQUIRED))
-                       cli->sign_info.negotiated_smb_signing = True;
-
-               if ((cli->sec_mode & NEGOTIATE_SECURITY_SIGNATURES_ENABLED) && cli->sign_info.allow_smb_signing)
+               if ((cli->sec_mode & NEGOTIATE_SECURITY_SIGNATURES_ENABLED))
                        cli->sign_info.negotiated_smb_signing = True;
 
        } else if (cli->protocol >= PROTOCOL_LANMAN1) {
index 9598f4ac9642da4c55b72b72e8bd64f12e7e72b1..ed1286d627dee2dd60fe411e444340ec6200a6e1 100644 (file)
@@ -114,14 +114,9 @@ BOOL cli_receive_smb(struct cli_state *cli)
                cli->smb_rw_error = smb_read_error;
                close(cli->fd);
                cli->fd = -1;
-               return ret;
        }
 
-       if (!cli_check_sign_mac(cli)) {
-               DEBUG(0, ("SMB Signiture verification failed on incoming packet!\n"));
-               return False;
-       };
-       return True;
+       return ret;
 }
 
 /****************************************************************************
@@ -251,10 +246,8 @@ struct cli_state *cli_initialise(struct cli_state *cli)
        cli->outbuf = (char *)malloc(cli->bufsize);
        cli->inbuf = (char *)malloc(cli->bufsize);
        cli->oplock_handler = cli_oplock_ack;
-
-       cli->use_spnego = lp_client_use_spnego();
-
-       cli->capabilities = CAP_UNICODE | CAP_STATUS32;
+       if (lp_use_spnego())
+               cli->use_spnego = True;
 
        /* Set the CLI_FORCE_DOSERR environment variable to test
           client routines using DOS errors instead of STATUS32
@@ -262,8 +255,9 @@ struct cli_state *cli_initialise(struct cli_state *cli)
        if (getenv("CLI_FORCE_DOSERR"))
                cli->force_dos_errors = True;
 
-       if (lp_client_signing()) 
-               cli->sign_info.allow_smb_signing = True;
+       /* A way to attempt to force SMB signing */
+       if (getenv("CLI_FORCE_SMB_SIGNING"))
+               cli->sign_info.negotiated_smb_signing = True;
                                    
        if (!cli->outbuf || !cli->inbuf)
                 goto error;
index e380d80bcc92deaf7c6978f99e3ac64c67b93df4..203d9d874b26f6c49fe3df2b629a94219f9030b7 100644 (file)
@@ -278,7 +278,6 @@ DATA_BLOB krb5_get_ticket(const char *principal, time_t time_offset)
                ENCTYPE_ARCFOUR_HMAC, 
 #endif
                                    ENCTYPE_DES_CBC_MD5, 
-                                   ENCTYPE_DES_CBC_CRC, 
                                    ENCTYPE_NULL};
 
        retval = krb5_init_context(&context);
@@ -325,6 +324,7 @@ failed:
        return data_blob(NULL, 0);
 }
 
+
 #else /* HAVE_KRB5 */
  /* this saves a few linking headaches */
  DATA_BLOB krb5_get_ticket(const char *principal, time_t time_offset)
index e93f1855ddd9100af1528733ed0b3742ca968fd7..3e28baa417c8abda8fccc0e5f5633b07fde825be 100644 (file)
@@ -345,7 +345,7 @@ DATA_BLOB spnego_gen_negTokenTarg(const char *principal, int time_offset)
 /*
   parse a spnego NTLMSSP challenge packet giving two security blobs
 */
-BOOL spnego_parse_challenge(const DATA_BLOB blob,
+BOOL spnego_parse_challenge(DATA_BLOB blob,
                            DATA_BLOB *chal1, DATA_BLOB *chal2)
 {
        BOOL ret;
@@ -387,7 +387,7 @@ BOOL spnego_parse_challenge(const DATA_BLOB blob,
 
 
 /*
- generate a SPNEGO auth packet. This will contain the encrypted passwords
+ generate a SPNEGO NTLMSSP auth packet. This will contain the encrypted passwords
 */
 DATA_BLOB spnego_gen_auth(DATA_BLOB blob)
 {
@@ -412,7 +412,7 @@ DATA_BLOB spnego_gen_auth(DATA_BLOB blob)
 }
 
 /*
- parse a SPNEGO auth packet. This contains the encrypted passwords
+ parse a SPNEGO NTLMSSP auth packet. This contains the encrypted passwords
 */
 BOOL spnego_parse_auth(DATA_BLOB blob, DATA_BLOB *auth)
 {
@@ -447,11 +447,11 @@ DATA_BLOB spnego_gen_auth_response(DATA_BLOB *ntlmssp_reply, NTSTATUS nt_status)
        uint8 negResult;
 
        if (NT_STATUS_IS_OK(nt_status)) {
-               negResult = SPNEGO_NEG_RESULT_ACCEPT;
+               negResult = SPNGEO_NEG_RESULT_ACCEPT;
        } else if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-               negResult = SPNEGO_NEG_RESULT_INCOMPLETE; 
+               negResult = SPNGEO_NEG_RESULT_INCOMPLETE; 
        } else {
-               negResult = SPNEGO_NEG_RESULT_REJECT; 
+               negResult = SPNGEO_NEG_RESULT_REJECT; 
        }
 
        ZERO_STRUCT(data);
@@ -461,8 +461,7 @@ DATA_BLOB spnego_gen_auth_response(DATA_BLOB *ntlmssp_reply, NTSTATUS nt_status)
        asn1_push_tag(&data, ASN1_CONTEXT(0));
        asn1_write_enumerated(&data, negResult);
        asn1_pop_tag(&data);
-
-       if (negResult == SPNEGO_NEG_RESULT_INCOMPLETE) {
+       if (negResult == SPNGEO_NEG_RESULT_INCOMPLETE) {
                asn1_push_tag(&data,ASN1_CONTEXT(1));
                asn1_write_OID(&data, OID_NTLMSSP);
                asn1_pop_tag(&data);
@@ -481,50 +480,297 @@ DATA_BLOB spnego_gen_auth_response(DATA_BLOB *ntlmssp_reply, NTSTATUS nt_status)
 }
 
 /*
- parse a SPNEGO NTLMSSP auth packet. This contains the encrypted passwords
-*/
-BOOL spnego_parse_auth_response(DATA_BLOB blob, NTSTATUS nt_status, 
-                               DATA_BLOB *auth)
+  this is a tiny msrpc packet generator. I am only using this to
+  avoid tying this code to a particular varient of our rpc code. This
+  generator is not general enough for all our rpc needs, its just
+  enough for the spnego/ntlmssp code
+
+  format specifiers are:
+
+  U = unicode string (input is unix string)
+  a = address (input is BOOL unicode, char *unix_string)
+      (1 byte type, 1 byte length, unicode/ASCII string, all inline)
+  A = ASCII string (input is unix string)
+  B = data blob (pointer + length)
+  b = data blob in header (pointer + length)
+  D
+  d = word (4 bytes)
+  C = constant ascii string
+ */
+BOOL msrpc_gen(DATA_BLOB *blob,
+              const char *format, ...)
 {
-       ASN1_DATA data;
-       uint8 negResult;
-
-       if (NT_STATUS_IS_OK(nt_status)) {
-               negResult = SPNEGO_NEG_RESULT_ACCEPT;
-       } else if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-               negResult = SPNEGO_NEG_RESULT_INCOMPLETE;
-       } else {
-               negResult = SPNEGO_NEG_RESULT_REJECT;
+       int i, n;
+       va_list ap;
+       char *s;
+       uint8 *b;
+       int head_size=0, data_size=0;
+       int head_ofs, data_ofs;
+       BOOL unicode;
+
+       /* first scan the format to work out the header and body size */
+       va_start(ap, format);
+       for (i=0; format[i]; i++) {
+               switch (format[i]) {
+               case 'U':
+                       s = va_arg(ap, char *);
+                       head_size += 8;
+                       data_size += str_charnum(s) * 2;
+                       break;
+               case 'A':
+                       s = va_arg(ap, char *);
+                       head_size += 8;
+                       data_size += str_ascii_charnum(s);
+                       break;
+               case 'a':
+                       unicode = va_arg(ap, BOOL);
+                       n = va_arg(ap, int);
+                       s = va_arg(ap, char *);
+                       if (unicode) {
+                               data_size += (str_charnum(s) * 2) + 4;
+                       } else {
+                               data_size += (str_ascii_charnum(s)) + 4;
+                       }
+                       break;
+               case 'B':
+                       b = va_arg(ap, uint8 *);
+                       head_size += 8;
+                       data_size += va_arg(ap, int);
+                       break;
+               case 'b':
+                       b = va_arg(ap, uint8 *);
+                       head_size += va_arg(ap, int);
+                       break;
+               case 'd':
+                       n = va_arg(ap, int);
+                       head_size += 4;
+                       break;
+               case 'C':
+                       s = va_arg(ap, char *);
+                       head_size += str_charnum(s) + 1;
+                       break;
+               }
        }
-
-       asn1_load(&data, blob);
-       asn1_start_tag(&data, ASN1_CONTEXT(1));
-       asn1_start_tag(&data, ASN1_SEQUENCE(0));
-       asn1_start_tag(&data, ASN1_CONTEXT(0));
-       asn1_check_enumerated(&data, negResult);
-       asn1_end_tag(&data);
-
-       if (negResult == SPNEGO_NEG_RESULT_INCOMPLETE) {
-               asn1_start_tag(&data,ASN1_CONTEXT(1));
-               asn1_check_OID(&data, OID_NTLMSSP);
-               asn1_end_tag(&data);
-               
-               asn1_start_tag(&data,ASN1_CONTEXT(2));
-               asn1_read_OctetString(&data, auth);
-               asn1_end_tag(&data);
+       va_end(ap);
+
+       /* allocate the space, then scan the format again to fill in the values */
+       *blob = data_blob(NULL, head_size + data_size);
+
+       head_ofs = 0;
+       data_ofs = head_size;
+
+       va_start(ap, format);
+       for (i=0; format[i]; i++) {
+               switch (format[i]) {
+               case 'U':
+                       s = va_arg(ap, char *);
+                       n = str_charnum(s);
+                       SSVAL(blob->data, head_ofs, n*2); head_ofs += 2;
+                       SSVAL(blob->data, head_ofs, n*2); head_ofs += 2;
+                       SIVAL(blob->data, head_ofs, data_ofs); head_ofs += 4;
+                       push_string(NULL, blob->data+data_ofs, s, n*2, STR_UNICODE|STR_NOALIGN);
+                       data_ofs += n*2;
+                       break;
+               case 'A':
+                       s = va_arg(ap, char *);
+                       n = str_ascii_charnum(s);
+                       SSVAL(blob->data, head_ofs, n); head_ofs += 2;
+                       SSVAL(blob->data, head_ofs, n); head_ofs += 2;
+                       SIVAL(blob->data, head_ofs, data_ofs); head_ofs += 4;
+                       push_string(NULL, blob->data+data_ofs, s, n, STR_ASCII|STR_NOALIGN);
+                       data_ofs += n;
+                       break;
+               case 'a':
+                       unicode = va_arg(ap, BOOL);
+                       n = va_arg(ap, int);
+                       SSVAL(blob->data, data_ofs, n); data_ofs += 2;
+                       s = va_arg(ap, char *);
+                       if (unicode) {
+                               n = str_charnum(s);
+                               SSVAL(blob->data, data_ofs, n*2); data_ofs += 2;
+                               if (0 < n) {
+                                       push_string(NULL, blob->data+data_ofs, s, n*2,
+                                                   STR_UNICODE|STR_NOALIGN);
+                               }
+                               data_ofs += n*2;
+                       } else {
+                               n = str_ascii_charnum(s);
+                               SSVAL(blob->data, data_ofs, n); data_ofs += 2;
+                               if (0 < n) {
+                                       push_string(NULL, blob->data+data_ofs, s, n,
+                                                   STR_ASCII|STR_NOALIGN);
+                               }
+                               data_ofs += n;
+                       }
+                       break;
+
+               case 'B':
+                       b = va_arg(ap, uint8 *);
+                       n = va_arg(ap, int);
+                       SSVAL(blob->data, head_ofs, n); head_ofs += 2;
+                       SSVAL(blob->data, head_ofs, n); head_ofs += 2;
+                       SIVAL(blob->data, head_ofs, data_ofs); head_ofs += 4;
+                       memcpy(blob->data+data_ofs, b, n);
+                       data_ofs += n;
+                       break;
+               case 'd':
+                       n = va_arg(ap, int);
+                       SIVAL(blob->data, head_ofs, n); head_ofs += 4;
+                       break;
+               case 'b':
+                       b = va_arg(ap, uint8 *);
+                       n = va_arg(ap, int);
+                       memcpy(blob->data + head_ofs, b, n);
+                       head_ofs += n;
+                       break;
+               case 'C':
+                       s = va_arg(ap, char *);
+                       head_ofs += push_string(NULL, blob->data+head_ofs, s, -1, 
+                                               STR_ASCII|STR_TERMINATE);
+                       break;
+               }
        }
+       va_end(ap);
 
-       asn1_end_tag(&data);
-       asn1_end_tag(&data);
+       return True;
+}
 
-       if (data.has_error) {
-               DEBUG(3,("spnego_parse_auth_response failed at %d\n", (int)data.ofs));
-               asn1_free(&data);
-               data_blob_free(auth);
-               return False;
+
+/*
+  this is a tiny msrpc packet parser. This the the partner of msrpc_gen
+
+  format specifiers are:
+
+  U = unicode string (output is unix string)
+  A = ascii string
+  B = data blob
+  b = data blob in header
+  d = word (4 bytes)
+  C = constant ascii string
+ */
+BOOL msrpc_parse(DATA_BLOB *blob,
+                const char *format, ...)
+{
+       int i;
+       va_list ap;
+       char **ps, *s;
+       DATA_BLOB *b;
+       int head_ofs = 0;
+       uint16 len1, len2;
+       uint32 ptr;
+       uint32 *v;
+       pstring p;
+
+       va_start(ap, format);
+       for (i=0; format[i]; i++) {
+               switch (format[i]) {
+               case 'U':
+                       len1 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       len2 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       ptr =  IVAL(blob->data, head_ofs); head_ofs += 4;
+                       /* make sure its in the right format - be strict */
+                       if (len1 != len2 || (len1&1) || ptr + len1 > blob->length) {
+                               return False;
+                       }
+                       ps = va_arg(ap, char **);
+                       pull_string(NULL, p, blob->data + ptr, -1, len1, 
+                                   STR_UNICODE|STR_NOALIGN);
+                       (*ps) = strdup(p);
+                       break;
+               case 'A':
+                       len1 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       len2 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       ptr =  IVAL(blob->data, head_ofs); head_ofs += 4;
+
+                       /* make sure its in the right format - be strict */
+                       if (len1 != len2 || ptr + len1 > blob->length) {
+                               return False;
+                       }
+                       ps = va_arg(ap, char **);
+                       if (0 < len1) {
+                               pull_string(NULL, p, blob->data + ptr, -1, 
+                                           len1, STR_ASCII|STR_NOALIGN);
+                               (*ps) = strdup(p);
+                       } else {
+                               (*ps) = NULL;
+                       }
+                       break;
+               case 'B':
+                       len1 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       len2 = SVAL(blob->data, head_ofs); head_ofs += 2;
+                       ptr =  IVAL(blob->data, head_ofs); head_ofs += 4;
+                       /* make sure its in the right format - be strict */
+                       if (len1 != len2 || ptr + len1 > blob->length) {
+                               return False;
+                       }
+                       b = (DATA_BLOB *)va_arg(ap, void *);
+                       *b = data_blob(blob->data + ptr, len1);
+                       break;
+               case 'b':
+                       b = (DATA_BLOB *)va_arg(ap, void *);
+                       len1 = va_arg(ap, unsigned);
+                       *b = data_blob(blob->data + head_ofs, len1);
+                       head_ofs += len1;
+                       break;
+               case 'd':
+                       v = va_arg(ap, uint32 *);
+                       *v = IVAL(blob->data, head_ofs); head_ofs += 4;
+                       break;
+               case 'C':
+                       s = va_arg(ap, char *);
+                       head_ofs += pull_string(NULL, p, blob->data+head_ofs, sizeof(p), 
+                                               blob->length - head_ofs, 
+                                               STR_ASCII|STR_TERMINATE);
+                       if (strcmp(s, p) != 0) {
+                               return False;
+                       }
+                       break;
+               }
        }
+       va_end(ap);
 
-       asn1_free(&data);
        return True;
 }
 
+/**
+ * Print out the NTLMSSP flags for debugging 
+ */
+
+void debug_ntlmssp_flags(uint32 neg_flags)
+{
+       DEBUG(3,("Got NTLMSSP neg_flags=0x%08x\n", neg_flags));
+       
+       if (neg_flags & NTLMSSP_NEGOTIATE_UNICODE) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_UNICODE\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_OEM) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_OEM\n"));
+       if (neg_flags & NTLMSSP_REQUEST_TARGET) 
+               DEBUGADD(4, ("  NTLMSSP_REQUEST_TARGET\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_SIGN) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_SIGN\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_SEAL) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_SEAL\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_LM_KEY\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_NETWARE) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NETWARE\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_NTLM) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NTLM\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_ALWAYS_SIGN) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_ALWAYS_SIGN\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_NTLM2) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NTLM2\n"));
+       if (neg_flags & NTLMSSP_CHAL_TARGET_INFO) 
+               DEBUGADD(4, ("  NTLMSSP_CHAL_TARGET_INFO\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_128) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_128\n"));
+       if (neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) 
+               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_KEY_EXCH\n"));
+}
+
index 8ee5ee3d31e16d093a47e328abea6190f0924a7c..09340caccd4d59000a3688b574c180bfa0fa0514 100644 (file)
@@ -1410,7 +1410,7 @@ static const struct {
 /*****************************************************************************
 convert a dos eclas/ecode to a NT status32 code
  *****************************************************************************/
-NTSTATUS dos_to_ntstatus(uint8 eclass, uint32 ecode)
+NTSTATUS dos_to_ntstatus(int eclass, int ecode)
 {
        int i;
        if (eclass == 0 && ecode == 0) return NT_STATUS_OK;
index e4398dad17ad4359d420ad8e47dfb973d6a2dd21..5b608e0a7a90866135f417b312663c8646731674 100644 (file)
 #include "includes.h"
 
 /**
- * Print out the NTLMSSP flags for debugging 
- * @param neg_flags The flags from the packet
- */
-
-void debug_ntlmssp_flags(uint32 neg_flags)
-{
-       DEBUG(3,("Got NTLMSSP neg_flags=0x%08x\n", neg_flags));
-       
-       if (neg_flags & NTLMSSP_NEGOTIATE_UNICODE) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_UNICODE\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_OEM) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_OEM\n"));
-       if (neg_flags & NTLMSSP_REQUEST_TARGET) 
-               DEBUGADD(4, ("  NTLMSSP_REQUEST_TARGET\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_SIGN) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_SIGN\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_SEAL) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_SEAL\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_LM_KEY) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_LM_KEY\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_NETWARE) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NETWARE\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_NTLM) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NTLM\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_ALWAYS_SIGN) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_ALWAYS_SIGN\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_NTLM2) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_NTLM2\n"));
-       if (neg_flags & NTLMSSP_CHAL_TARGET_INFO) 
-               DEBUGADD(4, ("  NTLMSSP_CHAL_TARGET_INFO\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_128) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_128\n"));
-       if (neg_flags & NTLMSSP_NEGOTIATE_KEY_EXCH) 
-               DEBUGADD(4, ("  NTLMSSP_NEGOTIATE_KEY_EXCH\n"));
-}
-
-/**
- * Default challenge generation code.
+ * Default challange generation code.
  *
  */
    
+
 static const uint8 *get_challenge(struct ntlmssp_state *ntlmssp_state)
 {
        static uchar chal[8];
@@ -79,17 +37,71 @@ static const uint8 *get_challenge(struct ntlmssp_state *ntlmssp_state)
        return chal;
 }
 
-/**
- * Determine correct target name flags for reply, given server role 
- * and negoitated falgs
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param neg_flags The flags from the packet
- * @param chal_flags The flags to be set in the reply packet
- * @return The 'target name' string.
- */
+NTSTATUS ntlmssp_server_start(NTLMSSP_STATE **ntlmssp_state)
+{
+       TALLOC_CTX *mem_ctx;
+
+       mem_ctx = talloc_init("NTLMSSP context");
+       
+       *ntlmssp_state = talloc_zero(mem_ctx, sizeof(**ntlmssp_state));
+       if (!*ntlmssp_state) {
+               DEBUG(0,("ntlmssp_start: talloc failed!\n"));
+               talloc_destroy(mem_ctx);
+               return NT_STATUS_NO_MEMORY;
+       }
+
+       ZERO_STRUCTP(*ntlmssp_state);
+
+       (*ntlmssp_state)->mem_ctx = mem_ctx;
+       (*ntlmssp_state)->get_challenge = get_challenge;
+
+       (*ntlmssp_state)->get_global_myname = global_myname;
+       (*ntlmssp_state)->get_domain = lp_workgroup;
+       (*ntlmssp_state)->server_role = ROLE_DOMAIN_MEMBER; /* a good default */
+
+       return NT_STATUS_OK;
+}
+
+NTSTATUS ntlmssp_server_end(NTLMSSP_STATE **ntlmssp_state)
+{
+       TALLOC_CTX *mem_ctx = (*ntlmssp_state)->mem_ctx;
+
+       data_blob_free(&(*ntlmssp_state)->chal);
+       data_blob_free(&(*ntlmssp_state)->lm_resp);
+       data_blob_free(&(*ntlmssp_state)->nt_resp);
+
+       SAFE_FREE((*ntlmssp_state)->user);
+       SAFE_FREE((*ntlmssp_state)->domain);
+       SAFE_FREE((*ntlmssp_state)->workstation);
+
+       talloc_destroy(mem_ctx);
+       *ntlmssp_state = NULL;
+       return NT_STATUS_OK;
+}
+
+NTSTATUS ntlmssp_server_update(NTLMSSP_STATE *ntlmssp_state, 
+                              DATA_BLOB request, DATA_BLOB *reply) 
+{
+       uint32 ntlmssp_command;
+       *reply = data_blob(NULL, 0);
+
+       if (!msrpc_parse(&request, "Cd",
+                        "NTLMSSP",
+                        &ntlmssp_command)) {
+               
+               return NT_STATUS_LOGON_FAILURE;
+       }
+
+       if (ntlmssp_command == NTLMSSP_NEGOTIATE) {
+               return ntlmssp_negotiate(ntlmssp_state, request, reply);
+       } else if (ntlmssp_command == NTLMSSP_AUTH) {
+               return ntlmssp_auth(ntlmssp_state, request, reply);
+       } else {
+               return NT_STATUS_LOGON_FAILURE;
+       }
+}
 
-static const char *ntlmssp_target_name(struct ntlmssp_state *ntlmssp_state,
+static const char *ntlmssp_target_name(NTLMSSP_STATE *ntlmssp_state, 
                                       uint32 neg_flags, uint32 *chal_flags) 
 {
        if (neg_flags & NTLMSSP_REQUEST_TARGET) {
@@ -107,17 +119,8 @@ static const char *ntlmssp_target_name(struct ntlmssp_state *ntlmssp_state,
        }
 }
 
-/**
- * Next state function for the Negotiate packet
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param request The request, as a DATA_BLOB
- * @param request The reply, as an allocated DATA_BLOB, caller to free.
- * @return Errors or MORE_PROCESSING_REQUIRED if a reply is sent. 
- */
-
-static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
-                                        const DATA_BLOB request, DATA_BLOB *reply) 
+NTSTATUS ntlmssp_negotiate(NTLMSSP_STATE *ntlmssp_state, 
+                          DATA_BLOB request, DATA_BLOB *reply) 
 {
        DATA_BLOB struct_blob;
        fstring dnsname, dnsdomname;
@@ -137,7 +140,7 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
                         &neg_flags,
                         &cliname,
                         &domname)) {
-               return NT_STATUS_INVALID_PARAMETER;
+               return NT_STATUS_LOGON_FAILURE;
        }
 
        SAFE_FREE(cliname);
@@ -216,22 +219,11 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
                
        data_blob_free(&struct_blob);
 
-       ntlmssp_state->expected_state = NTLMSSP_AUTH;
-
        return NT_STATUS_MORE_PROCESSING_REQUIRED;
 }
 
-/**
- * Next state function for the Authenticate packet
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param request The request, as a DATA_BLOB
- * @param request The reply, as an allocated DATA_BLOB, caller to free.
- * @return Errors or NT_STATUS_OK. 
- */
-
-static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state,
-                                   const DATA_BLOB request, DATA_BLOB *reply) 
+NTSTATUS ntlmssp_auth(NTLMSSP_STATE *ntlmssp_state, 
+                     DATA_BLOB request, DATA_BLOB *reply) 
 {
        DATA_BLOB sess_key;
        uint32 ntlmssp_command, neg_flags;
@@ -268,7 +260,7 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state,
                         &ntlmssp_state->workstation,
                         &sess_key,
                         &neg_flags)) {
-               return NT_STATUS_INVALID_PARAMETER;
+               return NT_STATUS_LOGON_FAILURE;
        }
 
        data_blob_free(&sess_key);
@@ -287,343 +279,3 @@ static NTSTATUS ntlmssp_server_auth(struct ntlmssp_state *ntlmssp_state,
 
        return nt_status;
 }
-
-/**
- * Create an NTLMSSP state machine
- * 
- * @param ntlmssp_state NTLMSSP State, allocated by this funciton
- */
-
-NTSTATUS ntlmssp_server_start(NTLMSSP_STATE **ntlmssp_state)
-{
-       TALLOC_CTX *mem_ctx;
-
-       mem_ctx = talloc_init("NTLMSSP context");
-       
-       *ntlmssp_state = talloc_zero(mem_ctx, sizeof(**ntlmssp_state));
-       if (!*ntlmssp_state) {
-               DEBUG(0,("ntlmssp_server_start: talloc failed!\n"));
-               talloc_destroy(mem_ctx);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ZERO_STRUCTP(*ntlmssp_state);
-
-       (*ntlmssp_state)->mem_ctx = mem_ctx;
-       (*ntlmssp_state)->get_challenge = get_challenge;
-
-       (*ntlmssp_state)->get_global_myname = global_myname;
-       (*ntlmssp_state)->get_domain = lp_workgroup;
-       (*ntlmssp_state)->server_role = ROLE_DOMAIN_MEMBER; /* a good default */
-
-       (*ntlmssp_state)->expected_state = NTLMSSP_NEGOTIATE;
-
-       return NT_STATUS_OK;
-}
-
-/**
- * End an NTLMSSP state machine
- * 
- * @param ntlmssp_state NTLMSSP State, free()ed by this funciton
- */
-
-NTSTATUS ntlmssp_server_end(NTLMSSP_STATE **ntlmssp_state)
-{
-       TALLOC_CTX *mem_ctx = (*ntlmssp_state)->mem_ctx;
-
-       data_blob_free(&(*ntlmssp_state)->chal);
-       data_blob_free(&(*ntlmssp_state)->lm_resp);
-       data_blob_free(&(*ntlmssp_state)->nt_resp);
-
-       SAFE_FREE((*ntlmssp_state)->user);
-       SAFE_FREE((*ntlmssp_state)->domain);
-       SAFE_FREE((*ntlmssp_state)->workstation);
-
-       talloc_destroy(mem_ctx);
-       *ntlmssp_state = NULL;
-       return NT_STATUS_OK;
-}
-
-/**
- * Next state function for the NTLMSSP state machine
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param request The request, as a DATA_BLOB
- * @param request The reply, as an allocated DATA_BLOB, caller to free.
- * @return Errors, NT_STATUS_MORE_PROCESSING_REQUIRED or NT_STATUS_OK. 
- */
-
-NTSTATUS ntlmssp_server_update(NTLMSSP_STATE *ntlmssp_state, 
-                              const DATA_BLOB request, DATA_BLOB *reply) 
-{
-       uint32 ntlmssp_command;
-       *reply = data_blob(NULL, 0);
-
-       if (!msrpc_parse(&request, "Cd",
-                        "NTLMSSP",
-                        &ntlmssp_command)) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (ntlmssp_command != ntlmssp_state->expected_state) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (ntlmssp_command == NTLMSSP_NEGOTIATE) {
-               return ntlmssp_server_negotiate(ntlmssp_state, request, reply);
-       } else if (ntlmssp_command == NTLMSSP_AUTH) {
-               return ntlmssp_server_auth(ntlmssp_state, request, reply);
-       } else {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-}
-
-/*********************************************************************
- Client side NTLMSSP
-*********************************************************************/
-
-/**
- * Next state function for the Initial packet
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param request The request, as a DATA_BLOB.  reply.data must be NULL
- * @param request The reply, as an allocated DATA_BLOB, caller to free.
- * @return Errors or NT_STATUS_OK. 
- */
-
-static NTSTATUS ntlmssp_client_initial(struct ntlmssp_client_state *ntlmssp_state, 
-                                 DATA_BLOB reply, DATA_BLOB *next_request) 
-{
-       if (ntlmssp_state->unicode) {
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE;
-       }
-       
-       /* generate the ntlmssp negotiate packet */
-       msrpc_gen(next_request, "CddAA",
-                 "NTLMSSP",
-                 NTLMSSP_NEGOTIATE,
-                 ntlmssp_state->neg_flags,
-                 ntlmssp_state->get_domain(), 
-                 ntlmssp_state->get_global_myname());
-
-       return NT_STATUS_MORE_PROCESSING_REQUIRED;
-}
-
-/**
- * Next state function for the Challenge Packet.  Generate an auth packet.
- * 
- * @param ntlmssp_state NTLMSSP State
- * @param request The request, as a DATA_BLOB.  reply.data must be NULL
- * @param request The reply, as an allocated DATA_BLOB, caller to free.
- * @return Errors or NT_STATUS_OK. 
- */
-
-static NTSTATUS ntlmssp_client_challenge(struct ntlmssp_client_state *ntlmssp_state, 
-                                        const DATA_BLOB reply, DATA_BLOB *next_request) 
-{
-       uint32 chal_flags, ntlmssp_command, unkn1, unkn2;
-       DATA_BLOB server_domain_blob;
-       DATA_BLOB challenge_blob;
-       DATA_BLOB struct_blob;
-       char *server_domain;
-       const char *chal_parse_string;
-       const char *auth_gen_string;
-       DATA_BLOB lm_response = data_blob(NULL, 0);
-       DATA_BLOB nt_response = data_blob(NULL, 0);
-       DATA_BLOB session_key = data_blob(NULL, 0);
-       uint8 datagram_sess_key[16];
-
-       ZERO_STRUCT(datagram_sess_key);
-
-       if (!msrpc_parse(&reply, "CdBd",
-                        "NTLMSSP",
-                        &ntlmssp_command, 
-                        &server_domain_blob,
-                        &chal_flags)) {
-               DEBUG(0, ("Failed to parse the NTLMSSP Challenge\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-       
-       data_blob_free(&server_domain_blob);
-
-       if (chal_flags & NTLMSSP_NEGOTIATE_UNICODE) {
-               chal_parse_string = "CdUdbddB";
-               auth_gen_string = "CdBBUUUBd";
-               ntlmssp_state->unicode = True;
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_UNICODE;
-               ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_OEM;
-       } else if (chal_flags & NTLMSSP_NEGOTIATE_OEM) {
-               chal_parse_string = "CdAdbddB";
-               auth_gen_string = "CdBBAAABd";
-               ntlmssp_state->unicode = False;
-               ntlmssp_state->neg_flags &= ~NTLMSSP_NEGOTIATE_UNICODE;
-               ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_OEM;
-       } else {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!msrpc_parse(&reply, chal_parse_string,
-                        "NTLMSSP",
-                        &ntlmssp_command, 
-                        &server_domain,
-                        &chal_flags,
-                        &challenge_blob, 8,
-                        &unkn1, &unkn2,
-                        &struct_blob)) {
-               DEBUG(0, ("Failed to parse the NTLMSSP Challenge\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       SAFE_FREE(server_domain);
-       data_blob_free(&struct_blob);
-       
-       if (challenge_blob.length != 8) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (ntlmssp_state->use_ntlmv2) {
-
-               /* TODO: if the remote server is standalone, then we should replace 'domain'
-                  with the server name as supplied above */
-               
-               if (!SMBNTLMv2encrypt(ntlmssp_state->user, 
-                                     ntlmssp_state->domain, 
-                                     ntlmssp_state->password, challenge_blob, 
-                                     &lm_response, &nt_response, &session_key)) {
-                       data_blob_free(&challenge_blob);
-                       return NT_STATUS_NO_MEMORY;
-               }
-       } else {
-               uchar nt_hash[16];
-               E_md4hash(ntlmssp_state->password, nt_hash);
-               
-               /* non encrypted password supplied. Ignore ntpass. */
-               if (lp_client_lanman_auth()) {
-                       lm_response = data_blob(NULL, 24);
-                       SMBencrypt(ntlmssp_state->password,challenge_blob.data,
-                                  lm_response.data);
-               }
-               
-               nt_response = data_blob(NULL, 24);
-               SMBNTencrypt(ntlmssp_state->password,challenge_blob.data,
-                            nt_response.data);
-               session_key = data_blob(NULL, 16);
-               SMBsesskeygen_ntv1(nt_hash, NULL, session_key.data);
-       }
-       
-       data_blob_free(&challenge_blob);
-
-       /* this generates the actual auth packet */
-       if (!msrpc_gen(next_request, auth_gen_string, 
-                      "NTLMSSP", 
-                      NTLMSSP_AUTH, 
-                      lm_response.data, lm_response.length,
-                      nt_response.data, nt_response.length,
-                      ntlmssp_state->domain, 
-                      ntlmssp_state->user, 
-                      ntlmssp_state->get_global_myname(), 
-                      datagram_sess_key, 0,
-                      ntlmssp_state->neg_flags)) {
-               
-               data_blob_free(&lm_response);
-               data_blob_free(&nt_response);
-               data_blob_free(&session_key);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       data_blob_free(&lm_response);
-       data_blob_free(&nt_response);
-
-       ntlmssp_state->session_key = session_key;
-
-       return NT_STATUS_MORE_PROCESSING_REQUIRED;
-}
-
-NTSTATUS ntlmssp_client_start(NTLMSSP_CLIENT_STATE **ntlmssp_state)
-{
-       TALLOC_CTX *mem_ctx;
-
-       mem_ctx = talloc_init("NTLMSSP Client context");
-       
-       *ntlmssp_state = talloc_zero(mem_ctx, sizeof(**ntlmssp_state));
-       if (!*ntlmssp_state) {
-               DEBUG(0,("ntlmssp_server_start: talloc failed!\n"));
-               talloc_destroy(mem_ctx);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ZERO_STRUCTP(*ntlmssp_state);
-
-       (*ntlmssp_state)->mem_ctx = mem_ctx;
-
-       (*ntlmssp_state)->get_global_myname = global_myname;
-       (*ntlmssp_state)->get_domain = lp_workgroup;
-
-       (*ntlmssp_state)->unicode = True;
-
-       (*ntlmssp_state)->neg_flags = 
-               NTLMSSP_NEGOTIATE_128 | 
-               NTLMSSP_NEGOTIATE_NTLM |
-               NTLMSSP_REQUEST_TARGET;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS ntlmssp_client_end(NTLMSSP_CLIENT_STATE **ntlmssp_state)
-{
-       TALLOC_CTX *mem_ctx = (*ntlmssp_state)->mem_ctx;
-
-       data_blob_free(&(*ntlmssp_state)->session_key);
-       talloc_destroy(mem_ctx);
-       *ntlmssp_state = NULL;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS ntlmssp_client_update(NTLMSSP_CLIENT_STATE *ntlmssp_state, 
-                              DATA_BLOB reply, DATA_BLOB *next_request) 
-{
-       uint32 ntlmssp_command;
-       *next_request = data_blob(NULL, 0);
-
-       if (!reply.length) {
-               return ntlmssp_client_initial(ntlmssp_state, reply, next_request);
-       }               
-
-       if (!msrpc_parse(&reply, "Cd",
-                        "NTLMSSP",
-                        &ntlmssp_command)) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (ntlmssp_command == NTLMSSP_CHALLENGE) {
-               return ntlmssp_client_challenge(ntlmssp_state, reply, next_request);
-       }
-       return NT_STATUS_INVALID_PARAMETER;
-}
-
-NTSTATUS ntlmssp_set_username(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *user) 
-{
-       ntlmssp_state->user = talloc_strdup(ntlmssp_state->mem_ctx, user);
-       if (!ntlmssp_state->user) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       return NT_STATUS_OK;
-}
-
-NTSTATUS ntlmssp_set_password(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *password) 
-{
-       ntlmssp_state->password = talloc_strdup(ntlmssp_state->mem_ctx, password);
-       if (!ntlmssp_state->password) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       return NT_STATUS_OK;
-}
-
-NTSTATUS ntlmssp_set_domain(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *domain) 
-{
-       ntlmssp_state->domain = talloc_strdup(ntlmssp_state->mem_ctx, domain);
-       if (!ntlmssp_state->domain) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       return NT_STATUS_OK;
-}
index aa9391325fa5fc8b75b7b0f5890e50489102e134..a57a98e3ea68fc0dbd35f0cff558b0e4141591cb 100644 (file)
@@ -5,7 +5,6 @@
    Modified by Jeremy Allison 1995.
    Copyright (C) Jeremy Allison 1995-2000.
    Copyright (C) Luke Kennethc Casson Leighton 1996-2000.
-   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2002-2003
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -295,64 +294,6 @@ void SMBsesskeygen_ntv1(const uchar kr[16],
 #endif
 }
 
-DATA_BLOB NTLMv2_generate_response(uchar ntlm_v2_hash[16],
-                                  DATA_BLOB server_chal, size_t client_chal_length)
-{
-       uchar ntlmv2_response[16];
-       DATA_BLOB ntlmv2_client_data;
-       DATA_BLOB final_response;
-       
-       /* NTLMv2 */
-
-       /* We also get to specify some random data */
-       ntlmv2_client_data = data_blob(NULL, client_chal_length);
-       generate_random_buffer(ntlmv2_client_data.data, ntlmv2_client_data.length, False);
-       
-       /* Given that data, and the challenge from the server, generate a response */
-       SMBOWFencrypt_ntv2(ntlm_v2_hash, server_chal, ntlmv2_client_data, ntlmv2_response);
-       
-       /* put it into nt_response, for the code below to put into the packet */
-       final_response = data_blob(NULL, ntlmv2_client_data.length + sizeof(ntlmv2_response));
-       memcpy(final_response.data, ntlmv2_response, sizeof(ntlmv2_response));
-       /* after the first 16 bytes is the random data we generated above, so the server can verify us with it */
-       memcpy(final_response.data + sizeof(ntlmv2_response), ntlmv2_client_data.data, ntlmv2_client_data.length);
-       data_blob_free(&ntlmv2_client_data);
-
-       return final_response;
-}
-
-BOOL SMBNTLMv2encrypt(const char *user, const char *domain, const char *password, 
-                     const DATA_BLOB server_chal, 
-                     DATA_BLOB *lm_response, DATA_BLOB *nt_response, 
-                     DATA_BLOB *session_key) 
-{
-       uchar nt_hash[16];
-       uchar ntlm_v2_hash[16];
-       E_md4hash(password, nt_hash);
-
-       /* We don't use the NT# directly.  Instead we use it mashed up with
-          the username and domain.
-          This prevents username swapping during the auth exchange
-       */
-       if (!ntv2_owf_gen(nt_hash, user, domain, ntlm_v2_hash)) {
-               return False;
-       }
-       
-       *nt_response = NTLMv2_generate_response(ntlm_v2_hash, server_chal, 64 /* pick a number, > 8 */);
-       
-       /* LMv2 */
-       
-       *lm_response = NTLMv2_generate_response(ntlm_v2_hash, server_chal, 8);
-       
-       *session_key = data_blob(NULL, 16);
-       
-       /* The NTLMv2 calculations also provide a session key, for signing etc later */
-       /* use only the first 16 bytes of nt_response for session key */
-       SMBsesskeygen_ntv2(ntlm_v2_hash, nt_response->data, session_key->data);
-
-       return True;
-}
-
 /***********************************************************
  encode a password buffer.  The caller gets to figure out 
  what to put in it.
@@ -421,20 +362,20 @@ BOOL decode_pw_buffer(char in_buffer[516], char *new_pwrd,
  SMB signing - setup the MAC key.
 ************************************************************/
 
-void cli_calculate_mac_key(struct cli_state *cli, const uchar user_session_key[16], const DATA_BLOB response)
+void cli_calculate_mac_key(struct cli_state *cli, const char *ntpasswd, const uchar resp[24])
 {
-       
-       memcpy(&cli->sign_info.mac_key[0], user_session_key, 16);
-       memcpy(&cli->sign_info.mac_key[16],response.data, MIN(response.length, 40 - 16));
-       cli->sign_info.mac_key_len = MIN(response.length + 16, 40);
+       /* Get first 16 bytes. */
+       E_md4hash(ntpasswd,&cli->sign_info.mac_key[0]);
+       memcpy(&cli->sign_info.mac_key[16],resp,24);
+       cli->sign_info.mac_key_len = 40;
        cli->sign_info.use_smb_signing = True;
 
        /* These calls are INCONPATIBLE with SMB signing */
        cli->readbraw_supported = False;
-       cli->writebraw_supported = False;
+       cli->writebraw_supported = False;    
 
        /* Reset the sequence number in case we had a previous (aborted) attempt */
-       cli->sign_info.send_seq_num = 2;
+       cli->sign_info.send_seq_num = 0;
 }
 
 /***********************************************************
@@ -470,47 +411,9 @@ void cli_caclulate_sign_mac(struct cli_state *cli)
        MD5Final(calc_md5_mac, &md5_ctx);
 
        memcpy(&cli->outbuf[smb_ss_field], calc_md5_mac, 8);
-
 /*     cli->outbuf[smb_ss_field+2]=0; 
        Uncomment this to test if the remote server actually verifies signitures...*/
        cli->sign_info.send_seq_num++;
        cli->sign_info.reply_seq_num = cli->sign_info.send_seq_num;
        cli->sign_info.send_seq_num++;
 }
-
-/***********************************************************
- SMB signing - check a MAC sent by server.
-************************************************************/
-
-BOOL cli_check_sign_mac(struct cli_state *cli)
-{
-       unsigned char calc_md5_mac[16];
-       unsigned char server_sent_mac[8];
-       struct MD5Context md5_ctx;
-
-       if (cli->sign_info.temp_smb_signing) {
-               return True;
-       }
-
-       if (!cli->sign_info.use_smb_signing) {
-               return True;
-       }
-
-       /*
-        * Firstly put the sequence number into the first 4 bytes.
-        * and zero out the next 4 bytes.
-        */
-
-       memcpy(server_sent_mac, &cli->inbuf[smb_ss_field], sizeof(server_sent_mac));
-
-       SIVAL(cli->inbuf, smb_ss_field, cli->sign_info.reply_seq_num);
-       SIVAL(cli->inbuf, smb_ss_field + 4, 0);
-
-       /* Calculate the 16 byte MAC and place first 8 bytes into the field. */
-       MD5Init(&md5_ctx);
-       MD5Update(&md5_ctx, cli->sign_info.mac_key, cli->sign_info.mac_key_len);
-       MD5Update(&md5_ctx, cli->inbuf + 4, smb_len(cli->inbuf));
-       MD5Final(calc_md5_mac, &md5_ctx);
-
-       return (memcmp(server_sent_mac, calc_md5_mac, 8) == 0);
-}
diff --git a/source3/modules/developer.c b/source3/modules/developer.c
deleted file mode 100644 (file)
index c12bbc5..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Samba module with developer tools
-   Copyright (C) Andrew Tridgell 2001
-   Copyright (C) Jelmer Vernooij 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-static struct {
-       char from;
-       char *to;
-       int len;
-} weird_table[] = {
-       {'q', "^q^", 3},
-       {'Q', "^Q^", 3},
-       {0, NULL}
-};
-
-static size_t weird_pull(void *cd, char **inbuf, size_t *inbytesleft,
-                        char **outbuf, size_t *outbytesleft)
-{
-       while (*inbytesleft >= 1 && *outbytesleft >= 2) {
-               int i;
-               int done = 0;
-               for (i=0;weird_table[i].from;i++) {
-                       if (strncmp((*inbuf), 
-                                   weird_table[i].to, 
-                                   weird_table[i].len) == 0) {
-                               if (*inbytesleft < weird_table[i].len) {
-                                       DEBUG(0,("ERROR: truncated weird string\n"));
-                                       /* smb_panic("weird_pull"); */
-
-                               } else {
-                                       (*outbuf)[0] = weird_table[i].from;
-                                       (*outbuf)[1] = 0;
-                                       (*inbytesleft)  -= weird_table[i].len;
-                                       (*outbytesleft) -= 2;
-                                       (*inbuf)  += weird_table[i].len;
-                                       (*outbuf) += 2;
-                                       done = 1;
-                                       break;
-                               }
-                       }
-               }
-               if (done) continue;
-               (*outbuf)[0] = (*inbuf)[0];
-               (*outbuf)[1] = 0;
-               (*inbytesleft)  -= 1;
-               (*outbytesleft) -= 2;
-               (*inbuf)  += 1;
-               (*outbuf) += 2;
-       }
-
-       if (*inbytesleft > 0) {
-               errno = E2BIG;
-               return -1;
-       }
-       
-       return 0;
-}
-
-static size_t weird_push(void *cd, char **inbuf, size_t *inbytesleft,
-                        char **outbuf, size_t *outbytesleft)
-{
-       int ir_count=0;
-
-       while (*inbytesleft >= 2 && *outbytesleft >= 1) {
-               int i;
-               int done=0;
-               for (i=0;weird_table[i].from;i++) {
-                       if ((*inbuf)[0] == weird_table[i].from &&
-                           (*inbuf)[1] == 0) {
-                               if (*outbytesleft < weird_table[i].len) {
-                                       DEBUG(0,("No room for weird character\n"));
-                                       /* smb_panic("weird_push"); */
-                               } else {
-                                       memcpy(*outbuf, weird_table[i].to, 
-                                              weird_table[i].len);
-                                       (*inbytesleft)  -= 2;
-                                       (*outbytesleft) -= weird_table[i].len;
-                                       (*inbuf)  += 2;
-                                       (*outbuf) += weird_table[i].len;
-                                       done = 1;
-                                       break;
-                               }
-                       }
-               }
-               if (done) continue;
-
-               (*outbuf)[0] = (*inbuf)[0];
-               if ((*inbuf)[1]) ir_count++;
-               (*inbytesleft)  -= 2;
-               (*outbytesleft) -= 1;
-               (*inbuf)  += 2;
-               (*outbuf) += 1;
-       }
-
-       if (*inbytesleft == 1) {
-               errno = EINVAL;
-               return -1;
-       }
-
-       if (*inbytesleft > 1) {
-               errno = E2BIG;
-               return -1;
-       }
-       
-       return ir_count;
-}
-
-struct charset_functions weird_functions = {"WEIRD", weird_pull, weird_push};
-
-int init_module(void)
-{
-       smb_register_charset(&weird_functions);
-       return 0;
-}
diff --git a/source3/modules/vfs_fake_perms.c b/source3/modules/vfs_fake_perms.c
deleted file mode 100644 (file)
index 7fbf27e..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/* 
- * Fake Perms VFS module.  Implements passthrough operation of all VFS
- * calls to disk functions, except for file permissions, which are now
- * mode 0700 for the current uid/gid.
- *
- * Copyright (C) Tim Potter, 1999-2000
- * Copyright (C) Alexander Bokovoy, 2002
- * Copyright (C) Andrew Bartlett, 2002
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *  
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *  
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <sys/stat.h>
-#ifdef HAVE_UTIME_H
-#include <utime.h>
-#endif
-#ifdef HAVE_DIRENT_H
-#include <dirent.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#include <errno.h>
-#include <string.h>
-
-#include <includes.h>
-#include <vfs.h>
-
-static struct vfs_ops default_vfs_ops;   /* For passthrough operation */
-static struct smb_vfs_handle_struct *fake_perms_handle; /* use fake_perms_handle->data for storing per-instance private data */
-
-static int fake_perms_connect(struct connection_struct *conn, const char *service, const char *user)    
-{
-       return default_vfs_ops.connect(conn, service, user);
-}
-
-static void fake_perms_disconnect(struct connection_struct *conn)
-{
-       default_vfs_ops.disconnect(conn);
-}
-
-static SMB_BIG_UINT fake_perms_disk_free(struct connection_struct *conn, const char *path,
-       BOOL small_query, SMB_BIG_UINT *bsize,
-       SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize)
-{
-       return default_vfs_ops.disk_free(conn, path, small_query, bsize, 
-                                        dfree, dsize);
-}
-
-static DIR *fake_perms_opendir(struct connection_struct *conn, const char *fname)
-{
-       return default_vfs_ops.opendir(conn, fname);
-}
-
-static struct dirent *fake_perms_readdir(struct connection_struct *conn, DIR *dirp)
-{
-       return default_vfs_ops.readdir(conn, dirp);
-}
-
-static int fake_perms_mkdir(struct connection_struct *conn, const char *path, mode_t mode)
-{
-       return default_vfs_ops.mkdir(conn, path, mode);
-}
-
-static int fake_perms_rmdir(struct connection_struct *conn, const char *path)
-{
-       return default_vfs_ops.rmdir(conn, path);
-}
-
-static int fake_perms_closedir(struct connection_struct *conn, DIR *dir)
-{
-       return default_vfs_ops.closedir(conn, dir);
-}
-
-static int fake_perms_open(struct connection_struct *conn, const char *fname, int flags, mode_t mode)
-{
-       return default_vfs_ops.open(conn, fname, flags, mode);
-}
-
-static int fake_perms_close(struct files_struct *fsp, int fd)
-{
-       return default_vfs_ops.close(fsp, fd);
-}
-
-static ssize_t fake_perms_read(struct files_struct *fsp, int fd, void *data, size_t n)
-{
-       return default_vfs_ops.read(fsp, fd, data, n);
-}
-
-static ssize_t fake_perms_write(struct files_struct *fsp, int fd, const void *data, size_t n)
-{
-       return default_vfs_ops.write(fsp, fd, data, n);
-}
-
-static SMB_OFF_T fake_perms_lseek(struct files_struct *fsp, int filedes, SMB_OFF_T offset, int whence)
-{
-       return default_vfs_ops.lseek(fsp, filedes, offset, whence);
-}
-
-static int fake_perms_rename(struct connection_struct *conn, const char *old, const char *new)
-{
-       return default_vfs_ops.rename(conn, old, new);
-}
-
-static int fake_perms_fsync(struct files_struct *fsp, int fd)
-{
-       return default_vfs_ops.fsync(fsp, fd);
-}
-
-static int fake_perms_stat(struct connection_struct *conn, const char *fname, SMB_STRUCT_STAT *sbuf)
-{
-       int ret = default_vfs_ops.stat(conn, fname, sbuf);
-       extern struct current_user current_user;
-       
-       if (S_ISDIR(sbuf->st_mode)) {
-               sbuf->st_mode = S_IFDIR | S_IRWXU;
-       } else {
-               sbuf->st_mode = S_IRWXU;
-       }
-       sbuf->st_uid = current_user.uid;
-       sbuf->st_gid = current_user.gid;
-       return ret;
-}
-
-static int fake_perms_fstat(struct files_struct *fsp, int fd, SMB_STRUCT_STAT *sbuf)
-{
-       return default_vfs_ops.fstat(fsp, fd, sbuf);
-}
-
-static int fake_perms_lstat(struct connection_struct *conn, const char *path, SMB_STRUCT_STAT *sbuf)
-{
-       return default_vfs_ops.lstat(conn, path, sbuf);
-}
-
-static int fake_perms_unlink(struct connection_struct *conn, const char *path)
-{
-       return default_vfs_ops.unlink(conn, path);
-}
-
-static int fake_perms_chmod(struct connection_struct *conn, const char *path, mode_t mode)
-{
-       return default_vfs_ops.chmod(conn, path, mode);
-}
-
-static int fake_perms_fchmod(struct files_struct *fsp, int fd, mode_t mode)
-{
-       return default_vfs_ops.fchmod(fsp, fd, mode);
-}
-
-static int fake_perms_chown(struct connection_struct *conn, const char *path, uid_t uid, gid_t gid)
-{
-       return default_vfs_ops.chown(conn, path, uid, gid);
-}
-
-static int fake_perms_fchown(struct files_struct *fsp, int fd, uid_t uid, gid_t gid)
-{
-       return default_vfs_ops.fchown(fsp, fd, uid, gid);
-}
-
-static int fake_perms_chdir(struct connection_struct *conn, const char *path)
-{
-       return default_vfs_ops.chdir(conn, path);
-}
-
-static char *fake_perms_getwd(struct connection_struct *conn, char *buf)
-{
-       return default_vfs_ops.getwd(conn, buf);
-}
-
-static int fake_perms_utime(struct connection_struct *conn, const char *path, struct utimbuf *times)
-{
-       return default_vfs_ops.utime(conn, path, times);
-}
-
-static int fake_perms_ftruncate(struct files_struct *fsp, int fd, SMB_OFF_T offset)
-{
-       return default_vfs_ops.ftruncate(fsp, fd, offset);
-}
-
-static BOOL fake_perms_lock(struct files_struct *fsp, int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
-{
-       return default_vfs_ops.lock(fsp, fd, op, offset, count, type);
-}
-
-static BOOL fake_perms_symlink(struct connection_struct *conn, const char *oldpath, const char *newpath)
-{
-       return default_vfs_ops.symlink(conn, oldpath, newpath);
-}
-
-static BOOL fake_perms_readlink(struct connection_struct *conn, const char *path, char *buf, size_t bufsiz)
-{
-       return default_vfs_ops.readlink(conn, path, buf, bufsiz);
-}
-
-static int fake_perms_link(struct connection_struct *conn, const char *oldpath, const char *newpath)
-{
-       return default_vfs_ops.link(conn, oldpath, newpath);
-}
-
-static int fake_perms_mknod(struct connection_struct *conn, const char *path, mode_t mode, SMB_DEV_T dev)
-{
-       return default_vfs_ops.mknod(conn, path, mode, dev);
-}
-
-static char *fake_perms_realpath(struct connection_struct *conn, const char *path, char *resolved_path)
-{
-       return default_vfs_ops.realpath(conn, path, resolved_path);
-}
-
-static size_t fake_perms_fget_nt_acl(struct files_struct *fsp, int fd, struct security_descriptor_info **ppdesc)
-{
-       return default_vfs_ops.fget_nt_acl(fsp, fd, ppdesc);
-}
-
-static size_t fake_perms_get_nt_acl(struct files_struct *fsp, const char *name, struct security_descriptor_info **ppdesc)
-{
-       return default_vfs_ops.get_nt_acl(fsp, name, ppdesc);
-}
-
-static BOOL fake_perms_fset_nt_acl(struct files_struct *fsp, int fd, uint32 security_info_sent, struct security_descriptor_info *psd)
-{
-       return default_vfs_ops.fset_nt_acl(fsp, fd, security_info_sent, psd);
-}
-
-static BOOL fake_perms_set_nt_acl(struct files_struct *fsp, const char *name, uint32 security_info_sent, struct security_descriptor_info *psd)
-{
-       return default_vfs_ops.set_nt_acl(fsp, name, security_info_sent, psd);
-}
-
-static BOOL fake_perms_chmod_acl(struct connection_struct *conn, const char *name, mode_t mode)
-{
-       return default_vfs_ops.chmod_acl(conn, name, mode);
-}
-
-static BOOL fake_perms_fchmod_acl(struct files_struct *fsp, int fd, mode_t mode)
-{
-       return default_vfs_ops.fchmod_acl(fsp, fd, mode);
-}
-
-static int fake_perms_sys_acl_get_entry(struct connection_struct *conn, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p)
-{
-       return default_vfs_ops.sys_acl_get_entry(conn, theacl, entry_id, entry_p);
-}
-
-static int fake_perms_sys_acl_get_tag_type(struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *tag_type_p)
-{
-       return default_vfs_ops.sys_acl_get_tag_type(conn, entry_d, tag_type_p);
-}
-
-static int fake_perms_sys_acl_get_permset(struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p)
-{
-       return default_vfs_ops.sys_acl_get_permset(conn, entry_d, permset_p);
-}
-
-static void *fake_perms_sys_acl_get_qualifier(struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d)
-{
-       return default_vfs_ops.sys_acl_get_qualifier(conn, entry_d);
-}
-
-static SMB_ACL_T fake_perms_sys_acl_get_file(struct connection_struct *conn, const char *path_p, SMB_ACL_TYPE_T type)
-{
-       return default_vfs_ops.sys_acl_get_file(conn, path_p, type);
-}
-
-static SMB_ACL_T fake_perms_sys_acl_get_fd(struct files_struct *fsp, int fd)
-{
-       return default_vfs_ops.sys_acl_get_fd(fsp, fd);
-}
-
-static int fake_perms_sys_acl_clear_perms(struct connection_struct *conn, SMB_ACL_PERMSET_T permset)
-{
-       return default_vfs_ops.sys_acl_clear_perms(conn, permset);
-}
-
-static int fake_perms_sys_acl_add_perm(struct connection_struct *conn, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
-{
-       return default_vfs_ops.sys_acl_add_perm(conn, permset, perm);
-}
-
-static char *fake_perms_sys_acl_to_text(struct connection_struct *conn, SMB_ACL_T theacl, ssize_t *plen)
-{
-       return default_vfs_ops.sys_acl_to_text(conn, theacl, plen);
-}
-
-static SMB_ACL_T fake_perms_sys_acl_init(struct connection_struct *conn, int count)
-{
-       return default_vfs_ops.sys_acl_init(conn, count);
-}
-
-static int fake_perms_sys_acl_create_entry(struct connection_struct *conn, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry)
-{
-       return default_vfs_ops.sys_acl_create_entry(conn, pacl, pentry);
-}
-
-static int fake_perms_sys_acl_set_tag_type(struct connection_struct *conn, SMB_ACL_ENTRY_T entry, SMB_ACL_TAG_T tagtype)
-{
-       return default_vfs_ops.sys_acl_set_tag_type(conn, entry, tagtype);
-}
-
-static int fake_perms_sys_acl_set_qualifier(struct connection_struct *conn, SMB_ACL_ENTRY_T entry, void *qual)
-{
-       return default_vfs_ops.sys_acl_set_qualifier(conn, entry, qual);
-}
-
-static int fake_perms_sys_acl_set_permset(struct connection_struct *conn, SMB_ACL_ENTRY_T entry, SMB_ACL_PERMSET_T permset)
-{
-       return default_vfs_ops.sys_acl_set_permset(conn, entry, permset);
-}
-
-static int fake_perms_sys_acl_valid(struct connection_struct *conn, SMB_ACL_T theacl )
-{
-       return default_vfs_ops.sys_acl_valid(conn, theacl );
-}
-
-static int fake_perms_sys_acl_set_file(struct connection_struct *conn, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl)
-{
-       return default_vfs_ops.sys_acl_set_file(conn, name, acltype, theacl);
-}
-
-static int fake_perms_sys_acl_set_fd(struct files_struct *fsp, int fd, SMB_ACL_T theacl)
-{
-       return default_vfs_ops.sys_acl_set_fd(fsp, fd, theacl);
-}
-
-static int fake_perms_sys_acl_delete_def_file(struct connection_struct *conn, const char *path)
-{
-       return default_vfs_ops.sys_acl_delete_def_file(conn, path);
-}
-
-static int fake_perms_sys_acl_get_perm(struct connection_struct *conn, SMB_ACL_PERMSET_T permset, SMB_ACL_PERM_T perm)
-{
-       return default_vfs_ops.sys_acl_get_perm(conn, permset, perm);
-}
-
-static int fake_perms_sys_acl_free_text(struct connection_struct *conn, char *text)
-{
-       return default_vfs_ops.sys_acl_free_text(conn, text);
-}
-
-static int fake_perms_sys_acl_free_acl(struct connection_struct *conn, SMB_ACL_T posix_acl)
-{
-       return default_vfs_ops.sys_acl_free_acl(conn, posix_acl);
-}
-
-static int fake_perms_sys_acl_free_qualifier(struct connection_struct *conn, void *qualifier, SMB_ACL_TAG_T tagtype)
-{
-       return default_vfs_ops.sys_acl_free_qualifier(conn, qualifier, tagtype);
-}
-
-
-/* VFS operations structure */
-
-static vfs_op_tuple fake_perms_ops[] = {
-
-       /* Disk operations */
-
-       {fake_perms_connect,                    SMB_VFS_OP_CONNECT,             SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_disconnect,         SMB_VFS_OP_DISCONNECT,          SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_disk_free,          SMB_VFS_OP_DISK_FREE,           SMB_VFS_LAYER_TRANSPARENT},
-       
-       /* Directory operations */
-
-       {fake_perms_opendir,                    SMB_VFS_OP_OPENDIR,             SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_readdir,                    SMB_VFS_OP_READDIR,             SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_mkdir,                      SMB_VFS_OP_MKDIR,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_rmdir,                      SMB_VFS_OP_RMDIR,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_closedir,                   SMB_VFS_OP_CLOSEDIR,            SMB_VFS_LAYER_TRANSPARENT},
-
-       /* File operations */
-
-       {fake_perms_open,                       SMB_VFS_OP_OPEN,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_close,                      SMB_VFS_OP_CLOSE,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_read,                       SMB_VFS_OP_READ,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_write,                      SMB_VFS_OP_WRITE,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_lseek,                      SMB_VFS_OP_LSEEK,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_rename,                     SMB_VFS_OP_RENAME,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fsync,                      SMB_VFS_OP_FSYNC,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_stat,                       SMB_VFS_OP_STAT,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fstat,                      SMB_VFS_OP_FSTAT,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_lstat,                      SMB_VFS_OP_LSTAT,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_unlink,                     SMB_VFS_OP_UNLINK,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_chmod,                      SMB_VFS_OP_CHMOD,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fchmod,                     SMB_VFS_OP_FCHMOD,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_chown,                      SMB_VFS_OP_CHOWN,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fchown,                     SMB_VFS_OP_FCHOWN,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_chdir,                      SMB_VFS_OP_CHDIR,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_getwd,                      SMB_VFS_OP_GETWD,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_utime,                      SMB_VFS_OP_UTIME,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_ftruncate,          SMB_VFS_OP_FTRUNCATE,           SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_lock,                       SMB_VFS_OP_LOCK,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_symlink,                    SMB_VFS_OP_SYMLINK,             SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_readlink,                   SMB_VFS_OP_READLINK,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_link,                       SMB_VFS_OP_LINK,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_mknod,                      SMB_VFS_OP_MKNOD,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_realpath,                   SMB_VFS_OP_REALPATH,            SMB_VFS_LAYER_TRANSPARENT},
-
-       /* NT File ACL operations */
-
-       {fake_perms_fget_nt_acl,                SMB_VFS_OP_FGET_NT_ACL,         SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_get_nt_acl,         SMB_VFS_OP_GET_NT_ACL,          SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fset_nt_acl,                SMB_VFS_OP_FSET_NT_ACL,         SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_set_nt_acl,         SMB_VFS_OP_SET_NT_ACL,          SMB_VFS_LAYER_TRANSPARENT},
-
-       /* POSIX ACL operations */
-
-       {fake_perms_chmod_acl,          SMB_VFS_OP_CHMOD_ACL,           SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_fchmod_acl,         SMB_VFS_OP_FCHMOD_ACL,          SMB_VFS_LAYER_TRANSPARENT},
-
-       {fake_perms_sys_acl_get_entry,  SMB_VFS_OP_SYS_ACL_GET_ENTRY,           SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_tag_type,       SMB_VFS_OP_SYS_ACL_GET_TAG_TYPE,        SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_permset,        SMB_VFS_OP_SYS_ACL_GET_PERMSET,         SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_qualifier,      SMB_VFS_OP_SYS_ACL_GET_QUALIFIER,       SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_file,           SMB_VFS_OP_SYS_ACL_GET_FILE,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_fd,             SMB_VFS_OP_SYS_ACL_GET_FD,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_clear_perms,        SMB_VFS_OP_SYS_ACL_CLEAR_PERMS,         SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_add_perm,           SMB_VFS_OP_SYS_ACL_ADD_PERM,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_to_text,            SMB_VFS_OP_SYS_ACL_TO_TEXT,             SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_init,               SMB_VFS_OP_SYS_ACL_INIT,                SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_create_entry,       SMB_VFS_OP_SYS_ACL_CREATE_ENTRY,        SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_set_tag_type,       SMB_VFS_OP_SYS_ACL_SET_TAG_TYPE,        SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_set_qualifier,      SMB_VFS_OP_SYS_ACL_SET_QUALIFIER,       SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_set_permset,        SMB_VFS_OP_SYS_ACL_SET_PERMSET,         SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_valid,              SMB_VFS_OP_SYS_ACL_VALID,               SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_set_file,           SMB_VFS_OP_SYS_ACL_SET_FILE,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_set_fd,             SMB_VFS_OP_SYS_ACL_SET_FD,              SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_delete_def_file,    SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,     SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_get_perm,           SMB_VFS_OP_SYS_ACL_GET_PERM,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_free_text,  SMB_VFS_OP_SYS_ACL_FREE_TEXT,           SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_free_acl,           SMB_VFS_OP_SYS_ACL_FREE_ACL,            SMB_VFS_LAYER_TRANSPARENT},
-       {fake_perms_sys_acl_free_qualifier,     SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER,      SMB_VFS_LAYER_TRANSPARENT},
-       
-       {NULL,  SMB_VFS_OP_NOOP,        SMB_VFS_LAYER_NOOP}
-};
-
-/* VFS initialisation - return initialized vfs_op_tuple array back to Samba */
-
-vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
-                       struct smb_vfs_handle_struct *vfs_handle)
-{
-       DEBUG(3, ("Initialising default vfs hooks\n"));
-
-       *vfs_version = SMB_VFS_INTERFACE_VERSION;
-       memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
-       
-       /* Remember vfs_handle for further allocation and referencing of private
-          information in vfs_handle->data
-       */
-       fake_perms_handle = vfs_handle;
-       return fake_perms_ops;
-}
-
-/* VFS finalization function */
-void vfs_done(connection_struct *conn)
-{
-       DEBUG(3, ("Finalizing default vfs hooks\n"));
-}
index dcd83b7acdfbc28719e4c811399d6ab4af01b51f..eedb65cd9d178195705f05f8c79bb7db00f6dcc9 100644 (file)
@@ -37,7 +37,7 @@ static const char *delimiter = "|";           /* delimiter for options */
 
 typedef struct recycle_bin_struct
 {
-       TALLOC_CTX *mem_ctx;
+       TALLOC_CTX *ctx;
        char    *repository;            /* name of the recycle bin directory */
        BOOL    keep_dir_tree;          /* keep directory structure of deleted file in recycle bin */
        BOOL    versions;               /* create versions of deleted files with identical name */
@@ -48,19 +48,6 @@ typedef struct recycle_bin_struct
        SMB_OFF_T maxsize;              /* maximum file size to be saved */
 } recycle_bin_struct;
 
-typedef struct recycle_bin_connections {
-       int conn;
-       recycle_bin_struct *data;
-       struct recycle_bin_connections *next;
-} recycle_bin_connections;
-
-typedef struct recycle_bin_private_data {
-       TALLOC_CTX *mem_ctx;
-       recycle_bin_connections *conns;
-} recycle_bin_private_data;
-
-struct smb_vfs_handle_struct *recycle_bin_private_handle;
-
 /* VFS operations */
 static struct vfs_ops default_vfs_ops;   /* For passthrough operation */
 
@@ -82,6 +69,16 @@ static vfs_op_tuple recycle_ops[] = {
        {NULL,                          SMB_VFS_OP_NOOP,        SMB_VFS_LAYER_NOOP}
 };
 
+static BOOL check_bool_param(const char *value)
+{
+       if (strwicmp(value, "yes") == 0 ||
+           strwicmp(value, "true") == 0 ||
+           strwicmp(value, "1") == 0)
+               return True;
+
+       return False;
+}
+
 /**
  * VFS initialisation function.
  *
@@ -90,8 +87,6 @@ static vfs_op_tuple recycle_ops[] = {
 vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
                        struct smb_vfs_handle_struct *vfs_handle)
 {
-       TALLOC_CTX *mem_ctx = NULL;
-
        DEBUG(10, ("Initializing VFS module recycle\n"));
        *vfs_version = SMB_VFS_INTERFACE_VERSION;
        memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
@@ -103,20 +98,6 @@ vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
                DEBUG(0, ("vfs_recycle: Debug class number of 'vfs_recycle': %d\n", vfs_recycle_debug_level));
        }
 
-       recycle_bin_private_handle = vfs_handle;
-       if (!(mem_ctx = talloc_init("recycle bin data"))) {
-               DEBUG(0, ("Failed to allocate memory in VFS module recycle_bin\n"));
-               return NULL;
-       }
-
-       recycle_bin_private_handle->data = talloc(mem_ctx, sizeof(recycle_bin_private_data));
-       if (recycle_bin_private_handle->data == NULL) {
-               DEBUG(0, ("Failed to allocate memory in VFS module recycle_bin\n"));
-               return NULL;
-       }
-       ((recycle_bin_private_data *)(recycle_bin_private_handle->data))->mem_ctx = mem_ctx;
-       ((recycle_bin_private_data *)(recycle_bin_private_handle->data))->conns = NULL;
-
        return recycle_ops;
 }
 
@@ -124,67 +105,34 @@ vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
  * VFS finalization function.
  *
  **/
-void vfs_done(void)
+void vfs_done(connection_struct *conn)
 {
-       recycle_bin_private_data *recdata;
-       recycle_bin_connections *recconn;
-
-       DEBUG(10, ("Unloading/Cleaning VFS module recycle bin\n"));
-
-       if (recycle_bin_private_handle)
-               recdata = (recycle_bin_private_data *)(recycle_bin_private_handle->data);
-       else {
-               DEBUG(0, ("Recycle bin not initialized!\n"));
-               return;
-       }
-
-       if (recdata) {
-               if (recdata->conns) {
-                       recconn = recdata->conns;
-                       while (recconn) {
-                               talloc_destroy(recconn->data->mem_ctx);
-                               recconn = recconn->next;
-                       }
-               }
-               if (recdata->mem_ctx) {
-                       talloc_destroy(recdata->mem_ctx);
-               }
-               recdata = NULL;
-       }
+       DEBUG(10,("Called for connection %d\n", SNUM(conn)));
 }
 
 static int recycle_connect(struct connection_struct *conn, const char *service, const char *user)
 {
        TALLOC_CTX *ctx = NULL;
        recycle_bin_struct *recbin;
-       recycle_bin_connections *recconn;
-       recycle_bin_connections *recconnbase;
-       recycle_bin_private_data *recdata;
+       char *servicename;
        char *tmp_str;
 
        DEBUG(10, ("Called for service %s (%d) as user %s\n", service, SNUM(conn), user));
 
-       if (recycle_bin_private_handle)
-               recdata = (recycle_bin_private_data *)(recycle_bin_private_handle->data);
-       else {
-               DEBUG(0, ("Recycle bin not initialized!\n"));
-               return -1;
-       }
-
-       if (!(ctx = talloc_init("recycle bin connection"))) {
+       if (!(ctx = talloc_init("recycle bin"))) {
                DEBUG(0, ("Failed to allocate memory in VFS module recycle_bin\n"));
-               return -1;
+               return 0;
        }
 
-       recbin = talloc(ctx, sizeof(recycle_bin_struct));
-       if (recbin == NULL) {
+       recbin = talloc(ctx,sizeof(recycle_bin_struct));
+       if ( recbin == NULL) {
                DEBUG(0, ("Failed to allocate memory in VFS module recycle_bin\n"));
                return -1;
        }
-       recbin->mem_ctx = ctx;
+       recbin->ctx = ctx;
 
        /* Set defaults */
-       recbin->repository = talloc_strdup(recbin->mem_ctx, ".recycle");
+       recbin->repository = talloc_strdup(ctx, ".recycle");
        ALLOC_CHECK(recbin->repository, error);
        recbin->keep_dir_tree = False;
        recbin->versions = False;
@@ -195,61 +143,55 @@ static int recycle_connect(struct connection_struct *conn, const char *service,
        recbin->maxsize = 0;
 
        /* parse configuration options */
-       if ((tmp_str = lp_parm_string(SNUM(conn), "vfs_recycle_bin", "repository")) != NULL) {
-               recbin->repository = talloc_sub_conn(recbin->mem_ctx, conn, tmp_str);
+       servicename = talloc_strdup(recbin->ctx, lp_servicename(SNUM(conn)));
+       DEBUG(10, ("servicename = %s\n",servicename));
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "repository")) != NULL) {
+               recbin->repository = talloc_sub_conn(ctx, conn, tmp_str);
                ALLOC_CHECK(recbin->repository, error);
                trim_string(recbin->repository, "/", "/");
                DEBUG(5, ("recycle.bin: repository = %s\n", recbin->repository));
        }
-       
-       recbin->keep_dir_tree = lp_parm_bool(SNUM(conn), "vfs_recycle_bin", "keeptree");
-       DEBUG(5, ("recycle.bin: keeptree = %d\n", recbin->keep_dir_tree));
-       
-       recbin->versions = lp_parm_bool(SNUM(conn), "vfs_recycle_bin", "versions");
-       DEBUG(5, ("recycle.bin: versions = %d\n", recbin->versions));
-       
-       recbin->touch = lp_parm_bool(SNUM(conn), "vfs_recycle_bin", "touch");
-       DEBUG(5, ("recycle.bin: touch = %d\n", recbin->touch));
-
-       recbin->maxsize = lp_parm_ulong(SNUM(conn), "vfs_recycle_bin", "maxsize");
-       if (recbin->maxsize == 0) {
-               recbin->maxsize = -1;
-               DEBUG(5, ("recycle.bin: maxsize = -infinite-\n"));
-       } else {
-               DEBUG(5, ("recycle.bin: maxsize = %ld\n", (long int)recbin->maxsize));
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "keeptree")) != NULL) {
+               if (check_bool_param(tmp_str) == True)
+                       recbin->keep_dir_tree = True;
+               DEBUG(5, ("recycle.bin: keeptree = %s\n", tmp_str));
+       }
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "versions")) != NULL) {
+               if (check_bool_param(tmp_str) == True)
+                       recbin->versions = True;
+               DEBUG(5, ("recycle.bin: versions = %s\n", tmp_str));
+       }
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "touch")) != NULL) {
+               if (check_bool_param(tmp_str) == True)
+                       recbin->touch = True;
+               DEBUG(5, ("recycle.bin: touch = %s\n", tmp_str));
+       }
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "maxsize")) != NULL) {
+               recbin->maxsize = strtoul(tmp_str, NULL, 10);
+               if (recbin->maxsize == 0) {
+                       recbin->maxsize = -1;
+                       DEBUG(5, ("recycle.bin: maxsize = -infinite-\n"));
+               } else {
+                       DEBUG(5, ("recycle.bin: maxsize = %ld\n", (long int)recbin->maxsize));
+               }
        }
-
-       if ((tmp_str = lp_parm_string(SNUM(conn), "vfs_recycle_bin", "exclude")) != NULL) {
-               recbin->exclude = talloc_strdup(recbin->mem_ctx, tmp_str);
+       if ((tmp_str = lp_parm_string(servicename, "vfs_recycle_bin", "exclude")) != NULL) {
+               recbin->exclude = talloc_strdup(ctx, tmp_str);
                ALLOC_CHECK(recbin->exclude, error);
                DEBUG(5, ("recycle.bin: exclude = %s\n", recbin->exclude));
        }
-       if ((tmp_str = lp_parm_string(SNUM(conn), "vfs_recycle_bin", "exclude_dir")) != NULL) {
-               recbin->exclude_dir = talloc_strdup(recbin->mem_ctx, tmp_str);
+       if ((tmp_str = lp_parm_string(servicename,"vfs_recycle_bin", "exclude_dir")) != NULL) {
+               recbin->exclude_dir = talloc_strdup(ctx, tmp_str);
                ALLOC_CHECK(recbin->exclude_dir, error);
                DEBUG(5, ("recycle.bin: exclude_dir = %s\n", recbin->exclude_dir));
        }
-       if ((tmp_str = lp_parm_string(SNUM(conn), "vfs_recycle_bin", "noversions")) != NULL) {
-               recbin->noversions = talloc_strdup(recbin->mem_ctx, tmp_str);
+       if ((tmp_str = lp_parm_string(servicename,"vfs_recycle_bin", "noversions")) != NULL) {
+               recbin->noversions = talloc_strdup(ctx, tmp_str);
                ALLOC_CHECK(recbin->noversions, error);
                DEBUG(5, ("recycle.bin: noversions = %s\n", recbin->noversions));
        }
 
-       recconn = talloc(recdata->mem_ctx, sizeof(recycle_bin_connections));
-       if (recconn == NULL) {
-               DEBUG(0, ("Failed to allocate memory in VFS module recycle_bin\n"));
-               goto error;
-       }
-       recconn->conn = SNUM(conn);
-       recconn->data = recbin;
-       recconn->next = NULL;
-       if (recdata->conns) {
-               recconnbase = recdata->conns;
-               while (recconnbase->next != NULL) recconnbase = recconnbase->next;
-               recconnbase->next = recconn;
-       } else {
-               recdata->conns = recconn;
-       }
+       conn->vfs_private = (void *)recbin;
        return default_vfs_ops.connect(conn, service, user);
 
 error:
@@ -259,35 +201,10 @@ error:
 
 static void recycle_disconnect(struct connection_struct *conn)
 {
-       recycle_bin_private_data *recdata;
-       recycle_bin_connections *recconn;
-
        DEBUG(10, ("Disconnecting VFS module recycle bin\n"));
-
-       if (recycle_bin_private_handle)
-               recdata = (recycle_bin_private_data *)(recycle_bin_private_handle->data);
-       else {
-               DEBUG(0, ("Recycle bin not initialized!\n"));
-               return;
-       }
-
-       if (recdata) {
-               if (recdata->conns) {
-                       if (recdata->conns->conn == SNUM(conn)) {
-                               talloc_destroy(recdata->conns->data->mem_ctx);
-                               recdata->conns = recdata->conns->next;
-                       } else {
-                               recconn = recdata->conns;
-                               while (recconn->next) {
-                                       if (recconn->next->conn == SNUM(conn)) {
-                                               talloc_destroy(recconn->next->data->mem_ctx);
-                                               recconn->next = recconn->next->next;
-                                               break;
-                                       }
-                                       recconn = recconn->next;
-                               }
-                       }
-               }
+       if (conn->vfs_private) {
+               talloc_destroy(((recycle_bin_struct *)conn->vfs_private)->ctx);
+               conn->vfs_private = NULL;
        }
        default_vfs_ops.disconnect(conn);
 }
@@ -474,8 +391,6 @@ static void recycle_touch(connection_struct *conn, const char *fname)
  **/
 static int recycle_unlink(connection_struct *conn, const char *inname)
 {
-       recycle_bin_private_data *recdata;
-       recycle_bin_connections *recconn;
        recycle_bin_struct *recbin;
        char *file_name = NULL;
        char *path_name = NULL;
@@ -483,28 +398,17 @@ static int recycle_unlink(connection_struct *conn, const char *inname)
        char *final_name = NULL;
        char *base;
        int i;
-/*     SMB_BIG_UINT dfree, dsize, bsize;       */
-       SMB_OFF_T file_size; /* space_avail;    */
+       SMB_BIG_UINT dfree, dsize, bsize;
+       SMB_OFF_T file_size, space_avail;
        BOOL exist;
        int rc = -1;
 
        file_name = strdup(inname);
        ALLOC_CHECK(file_name, done);
 
-       recbin = NULL;
-       if (recycle_bin_private_handle) {
-               recdata = (recycle_bin_private_data *)(recycle_bin_private_handle->data);
-               if (recdata) {
-                       if (recdata->conns) {
-                               recconn = recdata->conns;
-                               while (recconn && recconn->conn != SNUM(conn)) recconn = recconn->next;
-                               if (recconn != NULL) {
-                                       recbin = recconn->data;
-                               }
-                       }
-               }
-       }
-       if (recbin == NULL) {
+       if (conn->vfs_private)
+               recbin = (recycle_bin_struct *)conn->vfs_private;
+       else {
                DEBUG(0, ("Recycle bin not initialized!\n"));
                rc = default_vfs_ops.unlink(conn, file_name);
                goto done;
index 62c9686960d20db268688dde7dd6bcf7cbbb10af..9ac1515d7d3f29e81215775879970a8166c0e6b8 100644 (file)
@@ -56,8 +56,7 @@ BOOL winbind_lookup_name(const char *dom_name, const char *name, DOM_SID *sid,
 
        if ((result = winbindd_request(WINBINDD_LOOKUPNAME, &request, 
                                       &response)) == NSS_STATUS_SUCCESS) {
-               if (!string_to_sid(sid, response.data.sid.sid))
-                       return False;
+               string_to_sid(sid, response.data.sid.sid);
                *name_type = (enum SID_NAME_USE)response.data.sid.type;
        }
 
@@ -159,8 +158,7 @@ BOOL winbind_uid_to_sid(DOM_SID *sid, uid_t uid)
        /* Copy out result */
 
        if (result == NSS_STATUS_SUCCESS) {
-               if (!string_to_sid(sid, response.data.sid.sid))
-                       return False;
+               string_to_sid(sid, response.data.sid.sid);
        } else {
                sid_copy(sid, &global_sid_NULL);
        }
@@ -226,8 +224,7 @@ BOOL winbind_gid_to_sid(DOM_SID *sid, gid_t gid)
        /* Copy out result */
 
        if (result == NSS_STATUS_SUCCESS) {
-               if (!string_to_sid(sid, response.data.sid.sid))
-                       return False;
+               string_to_sid(sid, response.data.sid.sid);
        } else {
                sid_copy(sid, &global_sid_NULL);
        }
index ddda2d5f8b106d87efac0bc04e986dad1a7ac08b..b0b3acff8f8d0bfa2955f5f0af51b875a439209a 100644 (file)
@@ -902,7 +902,6 @@ static void usage(void)
 
        process_loop();
 
-       trustdom_cache_shutdown();
        uni_group_cache_shutdown();
        return 0;
 }
index 7cea4aa716ee61b3d0d1f99299235056b8f9538d..261c2f2237ae0c92cdc3ba0430a5beaa4c929e9d 100644 (file)
@@ -346,17 +346,10 @@ static BOOL dn_lookup(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx,
        ADS_STATUS rc;
        uint32 atype;
        DOM_SID sid;
-       char *escaped_dn = escape_ldap_string_alloc(dn);
-
-       if (!escaped_dn) {
-               return False;
-       }
 
        asprintf(&exp, "(distinguishedName=%s)", dn);
        rc = ads_search_retry(ads, &res, exp, attrs);
-       SAFE_FREE(exp);
-       SAFE_FREE(escaped_dn);
-
+       free(exp);
        if (!ADS_ERR_OK(rc)) {
                goto failed;
        }
index 3fa08029b62cdd6cae12cf98c1a132c25e0a3f0c..99b94eac47cdc4e3fd7d584758a3862c86c21f69 100644 (file)
@@ -179,7 +179,7 @@ void rescan_trusted_domains(BOOL force)
                int i;
 
                result = domain->methods->trusted_domains(domain, mem_ctx, &num_domains,
-                                                         &names, &alt_names, &dom_sids);
+                                                         &names, &alt_names, &dom_sids);
                if (!NT_STATUS_IS_OK(result)) {
                        continue;
                }
@@ -188,12 +188,9 @@ void rescan_trusted_domains(BOOL force)
                   the access methods of its parent */
                for(i = 0; i < num_domains; i++) {
                        DEBUG(10,("Found domain %s\n", names[i]));
-                       add_trusted_domain(names[i], alt_names?alt_names[i]:NULL,
-                                          domain->methods, &dom_sids[i]);
-                       
-                       /* store trusted domain in the cache */
-                       trustdom_cache_store(names[i], alt_names ? alt_names[i] : NULL,
-                                            &dom_sids[i], t + WINBINDD_RESCAN_FREQ);
+                       add_trusted_domain(names[i], 
+                                          alt_names?alt_names[i]:NULL, 
+                                          domain->methods, &dom_sids[i]);
                }
        }
 
index 398ae88b97c3cfce1c5ffa20efff4fcf8698a502..1455f88156909ca420c9134ae020f3209a639fb7 100644 (file)
@@ -81,13 +81,6 @@ extern int extra_time_offset;
 
 static BOOL defaults_saved = False;
 
-typedef struct _param_opt_struct param_opt_struct;
-struct _param_opt_struct {
-       param_opt_struct *prev, *next;
-       char *key;
-       char *value;
-};
-
 /* 
  * This structure describes global (ie., server-wide) parameters.
  */
@@ -118,8 +111,6 @@ typedef struct
        char *szSMBPasswdFile;
        char *szPrivateDir;
        char **szPassdbBackend;
-       char **szSamBackend;
-       char **szModules;
        char *szPasswordServer;
        char *szSocketOptions;
        char *szRealm;
@@ -164,7 +155,7 @@ typedef struct
        char *szWinbindUID;
        char *szWinbindGID;
        char *szNonUnixAccountRange;
-       int AlgorithmicRidBase;
+       BOOL bAlgorithmicRidBase;
        char *szTemplateHomedir;
        char *szTemplateShell;
        char *szWinbindSeparator;
@@ -264,10 +255,6 @@ typedef struct
        BOOL bAllowTrustedDomains;
        BOOL bLanmanAuth;
        BOOL bNTLMAuth;
-       BOOL bUseSpnego;
-       BOOL bClientLanManAuth;
-       BOOL bClientNTLMv2Auth;
-       BOOL bClientUseSpnego;
        BOOL bDebugHiresTimestamp;
        BOOL bDebugPid;
        BOOL bDebugUid;
@@ -276,13 +263,12 @@ typedef struct
        BOOL bUnicode;
        BOOL bUseMmap;
        BOOL bHostnameLookups;
+       BOOL bUseSpnego;
        BOOL bUnixExtensions;
        BOOL bDisableNetbios;
        BOOL bKernelChangeNotify;
        int restrict_anonymous;
        int name_cache_timeout;
-       BOOL client_signing;
-       param_opt_struct *param_opt;
 }
 global;
 
@@ -404,7 +390,6 @@ typedef struct
        BOOL bNTAclSupport;
        BOOL bUseSendfile;
        BOOL bProfileAcls;
-       param_opt_struct *param_opt;
 
        char dummy[3];          /* for alignment */
 }
@@ -524,8 +509,6 @@ static service sDefault = {
        True,                   /* bNTAclSupport */
        False,                  /* bUseSendfile */
        False,                  /* bProfileAcls */
-       
-       NULL,                   /* Parametric options */
 
        ""                      /* dummy */
 };
@@ -755,10 +738,9 @@ static struct parm_struct parm_table[] = {
        {"password server", P_STRING, P_GLOBAL, &Globals.szPasswordServer, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
        {"smb passwd file", P_STRING, P_GLOBAL, &Globals.szSMBPasswdFile, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"private dir", P_STRING, P_GLOBAL, &Globals.szPrivateDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"passdb backend", P_LIST, P_GLOBAL, &Globals.szPassdbBackend, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"sam backend", P_LIST, P_GLOBAL, &Globals.szSamBackend, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+       {"passdb backend", P_LIST, P_GLOBAL, &Globals.szPassdbBackend, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
        {"non unix account range", P_STRING, P_GLOBAL, &Globals.szNonUnixAccountRange, handle_non_unix_account_range, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"algorithmic rid base", P_INTEGER, P_GLOBAL, &Globals.AlgorithmicRidBase, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+       {"algorithmic rid base", P_INTEGER, P_GLOBAL, &Globals.bAlgorithmicRidBase, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"root directory", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"root dir", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"root", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_HIDE | FLAG_DEVELOPER},
@@ -775,8 +757,6 @@ static struct parm_struct parm_table[] = {
        {"restrict anonymous", P_INTEGER, P_GLOBAL, &Globals.restrict_anonymous, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"lanman auth", P_BOOL, P_GLOBAL, &Globals.bLanmanAuth, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"ntlm auth", P_BOOL, P_GLOBAL, &Globals.bNTLMAuth, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"client NTLMv2 auth", P_BOOL, P_GLOBAL, &Globals.bClientNTLMv2Auth, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"client lanman auth", P_BOOL, P_GLOBAL, &Globals.bClientLanManAuth, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        
        {"username", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE},
        {"user", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_HIDE},
@@ -820,7 +800,6 @@ static struct parm_struct parm_table[] = {
        {"allow hosts", P_LIST, P_LOCAL, &sDefault.szHostsallow, NULL, NULL, FLAG_HIDE},
        {"hosts deny", P_LIST, P_LOCAL, &sDefault.szHostsdeny, NULL, NULL, FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT | FLAG_DEVELOPER},
        {"deny hosts", P_LIST, P_LOCAL, &sDefault.szHostsdeny, NULL, NULL, FLAG_HIDE},
-       {"modules", P_LIST, P_GLOBAL, &Globals.szModules, NULL, NULL, FLAG_BASIC | FLAG_GLOBAL},
 
        {"Logging Options", P_SEP, P_SEPARATOR},
 
@@ -868,8 +847,6 @@ static struct parm_struct parm_table[] = {
        {"time server", P_BOOL, P_GLOBAL, &Globals.bTimeServer, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"unix extensions", P_BOOL, P_GLOBAL, &Globals.bUnixExtensions, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"use spnego", P_BOOL, P_GLOBAL, &Globals.bUseSpnego, NULL, NULL, FLAG_DEVELOPER},
-       {"client signing", P_BOOL, P_GLOBAL, &Globals.client_signing, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"client use spnego", P_BOOL, P_GLOBAL, &Globals.bClientUseSpnego, NULL, NULL, FLAG_DEVELOPER},
 
        {"Tuning Options", P_SEP, P_SEPARATOR},
        
@@ -1314,7 +1291,7 @@ static void init_globals(void)
        string_set(&Globals.szNameResolveOrder, "lmhosts wins host bcast");
        string_set(&Globals.szPasswordServer, "*");
 
-       Globals.AlgorithmicRidBase = BASE_RID;
+       Globals.bAlgorithmicRidBase = BASE_RID;
 
        Globals.bLoadPrinters = True;
        Globals.mangled_stack = 50;
@@ -1381,10 +1358,8 @@ static void init_globals(void)
        Globals.bNTStatusSupport = True; /* Use NT status by default. */
        Globals.bStatCache = True;      /* use stat cache by default */
        Globals.restrict_anonymous = 0;
-       Globals.bClientLanManAuth = True;       /* Do use the LanMan hash if it is available */
        Globals.bLanmanAuth = True;     /* Do use the LanMan hash if it is available */
        Globals.bNTLMAuth = True;       /* Do use NTLMv1 if it is available (otherwise NTLMv2) */
-       
        Globals.map_to_guest = 0;       /* By Default, "Never" */
        Globals.min_passwd_length = MINPASSWDLENGTH;    /* By Default, 5. */
        Globals.oplock_break_wait_time = 0;     /* By Default, 0 msecs. */
@@ -1461,7 +1436,6 @@ static void init_globals(void)
        Globals.name_cache_timeout = 660; /* In seconds */
 
        Globals.bUseSpnego = True;
-       Globals.bClientUseSpnego = True;
 
        string_set(&Globals.smb_ports, SMB_PORTS);
 }
@@ -1603,8 +1577,6 @@ FN_GLOBAL_STRING(lp_nis_home_map_name, &Globals.szNISHomeMapName)
 static FN_GLOBAL_STRING(lp_announce_version, &Globals.szAnnounceVersion)
 FN_GLOBAL_LIST(lp_netbios_aliases, &Globals.szNetbiosAliases)
 FN_GLOBAL_LIST(lp_passdb_backend, &Globals.szPassdbBackend)
-FN_GLOBAL_LIST(lp_sam_backend, &Globals.szSamBackend)
-FN_GLOBAL_LIST(lp_modules, &Globals.szModules)
 FN_GLOBAL_STRING(lp_panic_action, &Globals.szPanicAction)
 FN_GLOBAL_STRING(lp_adduser_script, &Globals.szAddUserScript)
 FN_GLOBAL_STRING(lp_deluser_script, &Globals.szDelUserScript)
@@ -1686,15 +1658,12 @@ FN_GLOBAL_BOOL(lp_allow_trusted_domains, &Globals.bAllowTrustedDomains)
 FN_GLOBAL_INTEGER(lp_restrict_anonymous, &Globals.restrict_anonymous)
 FN_GLOBAL_BOOL(lp_lanman_auth, &Globals.bLanmanAuth)
 FN_GLOBAL_BOOL(lp_ntlm_auth, &Globals.bNTLMAuth)
-FN_GLOBAL_BOOL(lp_client_lanman_auth, &Globals.bClientLanManAuth)
-FN_GLOBAL_BOOL(lp_client_ntlmv2_auth, &Globals.bClientNTLMv2Auth)
 FN_GLOBAL_BOOL(lp_host_msdfs, &Globals.bHostMSDfs)
 FN_GLOBAL_BOOL(lp_kernel_oplocks, &Globals.bKernelOplocks)
 FN_GLOBAL_BOOL(lp_enhanced_browsing, &Globals.enhanced_browsing)
 FN_GLOBAL_BOOL(lp_use_mmap, &Globals.bUseMmap)
 FN_GLOBAL_BOOL(lp_unix_extensions, &Globals.bUnixExtensions)
 FN_GLOBAL_BOOL(lp_use_spnego, &Globals.bUseSpnego)
-FN_GLOBAL_BOOL(lp_client_use_spnego, &Globals.bClientUseSpnego)
 FN_GLOBAL_BOOL(lp_hostname_lookups, &Globals.bHostnameLookups)
 FN_GLOBAL_BOOL(lp_kernel_change_notify, &Globals.bKernelChangeNotify)
 FN_GLOBAL_INTEGER(lp_os_level, &Globals.os_level)
@@ -1839,9 +1808,51 @@ FN_LOCAL_INTEGER(lp_block_size, iBlock_size)
 FN_LOCAL_CHAR(lp_magicchar, magic_char)
 FN_GLOBAL_INTEGER(lp_winbind_cache_time, &Globals.winbind_cache_time)
 FN_GLOBAL_BOOL(lp_hide_local_users, &Globals.bHideLocalUsers)
-FN_GLOBAL_INTEGER(lp_algorithmic_rid_base, &Globals.AlgorithmicRidBase)
+FN_GLOBAL_BOOL(lp_algorithmic_rid_base, &Globals.bAlgorithmicRidBase)
 FN_GLOBAL_INTEGER(lp_name_cache_timeout, &Globals.name_cache_timeout)
-FN_GLOBAL_BOOL(lp_client_signing, &Globals.client_signing)
+
+typedef struct _param_opt_struct param_opt_struct;
+struct _param_opt_struct {
+       char *key;
+       char *value;
+       param_opt_struct *prev, *next;
+};
+
+static param_opt_struct *param_opt = NULL;
+
+/* Return parametric option from given service. Type is a part of option before ':' */
+/* Parametric option has following syntax: 'Type: option = value' */
+/* Returned value is allocated in 'lp_talloc' context */
+
+char *lp_parm_string(const char *servicename, const char *type, const char *option)
+{
+    param_opt_struct *data;
+    pstring vfskey;
+    
+    if (param_opt != NULL) {
+           ZERO_STRUCT(vfskey);
+           pstr_sprintf(vfskey, "%s:%s:%s", (servicename==NULL) ? "global" : servicename,
+                   type, option);
+           data = param_opt;
+           while (data) {
+                   if (strcmp(data->key, vfskey) == 0) {
+                           return lp_string(data->value);
+                   }
+                   data = data->next;
+           }
+           /* Try to fetch the same option but from globals */
+           pstr_sprintf(vfskey, "global:%s:%s", type, option);
+           data = param_opt;
+           while (data) {
+                   if (strcmp(data->key, vfskey) == 0) {
+                           return lp_string(data->value);
+                   }
+                   data = data->next;
+           }
+       
+    }
+    return NULL;
+}
 
 /* local prototypes */
 
@@ -1856,198 +1867,6 @@ static BOOL do_parameter(const char *pszParmName, const char *pszParmValue);
 static BOOL do_section(const char *pszSectionName);
 static void init_copymap(service * pservice);
 
-/* This is a helper function for parametrical options support. */
-/* It returns a pointer to parametrical option value if it exists or NULL otherwise */
-/* Actual parametrical functions are quite simple */
-static const char *get_parametrics(int lookup_service, const char *type, const char *option)
-{
-       char* vfskey;
-        param_opt_struct *data;
-       
-       if (lookup_service >= iNumServices) return NULL;
-       
-       data = (lookup_service < 0) ? 
-               Globals.param_opt : ServicePtrs[lookup_service]->param_opt;
-    
-       asprintf(&vfskey, "%s:%s", type, option);
-       while (data) {
-               if (strcmp(data->key, vfskey) == 0) {
-                       string_free(&vfskey);
-                       return data->value;
-               }
-               data = data->next;
-       }
-
-       if (lookup_service >= 0) {
-               /* Try to fetch the same option but from globals */
-               /* but only if we are not already working with Globals */
-               data = Globals.param_opt;
-               while (data) {
-                       if (strcmp(data->key, vfskey) == 0) {
-                               string_free(&vfskey);
-                               return data->value;
-                       }
-                       data = data->next;
-               }
-       }
-
-       string_free(&vfskey);
-       
-       return NULL;
-}
-
-
-/*******************************************************************
-convenience routine to return int parameters.
-********************************************************************/
-static int lp_int(const char *s)
-{
-
-       if (!s) {
-               DEBUG(0,("lp_int(%s): is called with NULL!\n",s));
-               return (-1);
-       }
-
-       return atoi(s); 
-}
-
-/*******************************************************************
-convenience routine to return unsigned long parameters.
-********************************************************************/
-static int lp_ulong(const char *s)
-{
-
-       if (!s) {
-               DEBUG(0,("lp_int(%s): is called with NULL!\n",s));
-               return (-1);
-       }
-
-       return strtoul(s, NULL, 10);
-}
-
-/*******************************************************************
-convenience routine to return boolean parameters.
-********************************************************************/
-static BOOL lp_bool(const char *s)
-{
-       BOOL ret = False;
-
-       if (!s) {
-               DEBUG(0,("lp_bool(%s): is called with NULL!\n",s));
-               return False;
-       }
-       
-       if (!set_boolean(&ret,s)) {
-               DEBUG(0,("lp_bool(%s): value is not boolean!\n",s));
-               return False;
-       }
-
-       return ret;
-}
-
-/*******************************************************************
-convenience routine to return enum parameters.
-********************************************************************/
-static int lp_enum(const char *s,const struct enum_list *_enum)
-{
-       int i;
-
-       if (!s || !_enum) {
-               DEBUG(0,("lp_enum(%s,enum): is called with NULL!\n",s));
-               return False;
-       }
-       
-       for (i=0; _enum[i].name; i++) {
-               if (strcasecmp(_enum[i].name,s)==0)
-                       return _enum[i].value;
-       }
-
-       DEBUG(0,("lp_enum(%s,enum): value is not in enum_list!\n",s));
-       return (-1);
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-/* Returned value is allocated in 'lp_talloc' context */
-
-char *lp_parm_string(int lookup_service, const char *type, const char *option)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return lp_string(value);
-
-       return NULL;
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-/* Returned value is allocated in 'lp_talloc' context */
-
-char **lp_parm_string_list(int lookup_service, const char *type, const char *option,
-                          const char *separator)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return str_list_make(value, separator);
-
-       return NULL;
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-
-int lp_parm_int(int lookup_service, const char *type, const char *option)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return lp_int(value);
-
-       return (-1);
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-
-unsigned long lp_parm_ulong(int lookup_service, const char *type, const char *option)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return lp_ulong(value);
-
-       return (0);
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-
-BOOL lp_parm_bool(int lookup_service, const char *type, const char *option)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return lp_bool(value);
-
-       return False;
-}
-
-/* Return parametric option from a given service. Type is a part of option before ':' */
-/* Parametric option has following syntax: 'Type: option = value' */
-
-int lp_parm_enum(int lookup_service, const char *type, const char *option,
-                const struct enum_list *_enum)
-{
-       const char *value = get_parametrics(lookup_service, type, option);
-       
-       if (value)
-               return lp_enum(value, _enum);
-
-       return (-1);
-}
-
 
 /***************************************************************************
  Initialise a service to the defaults.
@@ -2066,7 +1885,6 @@ static void init_service(service * pservice)
 static void free_service(service *pservice)
 {
        int i;
-        param_opt_struct *data, *pdata;
        if (!pservice)
                return;
 
@@ -2091,16 +1909,6 @@ static void free_service(service *pservice)
                                             PTR_DIFF(parm_table[i].ptr, &sDefault)));
        }
                                
-       DEBUG(5,("Freeing parametrics:\n"));
-       data = pservice->param_opt;
-       while (data) {
-               DEBUG(5,("[%s = %s]\n", data->key, data->value));
-               string_free(&data->key);
-               string_free(&data->value);
-               pdata = data->next;
-               SAFE_FREE(data);
-               data = pdata;
-       }
 
        ZERO_STRUCTP(pservice);
 }
@@ -2115,27 +1923,14 @@ static int add_a_service(const service *pservice, const char *name)
        int i;
        service tservice;
        int num_to_alloc = iNumServices + 1;
-       param_opt_struct *data, *pdata;
 
        tservice = *pservice;
 
        /* it might already exist */
        if (name) {
                i = getservicebyname(name, NULL);
-               if (i >= 0) {
-                       /* Clean all parametric options for service */
-                       /* They will be added during parsing again */
-                       data = ServicePtrs[i]->param_opt;
-                       while (data) {
-                               string_free(&data->key);
-                               string_free(&data->value);
-                               pdata = data->next;
-                               SAFE_FREE(data);
-                               data = pdata;
-                       }
-                       ServicePtrs[i]->param_opt = NULL;
+               if (i >= 0)
                        return (i);
-               }
        }
 
        /* find an invalid one */
@@ -2378,8 +2173,6 @@ static void copy_service(service * pserviceDest, service * pserviceSource, BOOL
 {
        int i;
        BOOL bcopyall = (pcopymapDest == NULL);
-       param_opt_struct *data, *pdata, *paramo;
-       BOOL not_added;
 
        for (i = 0; parm_table[i].label; i++)
                if (parm_table[i].ptr && parm_table[i].class == P_LOCAL &&
@@ -2433,30 +2226,6 @@ static void copy_service(service * pserviceDest, service * pserviceSource, BOOL
                               (void *)pserviceSource->copymap,
                               sizeof(BOOL) * NUMPARAMETERS);
        }
-       
-       data = pserviceSource->param_opt;
-       while (data) {
-               not_added = True;
-               pdata = pserviceDest->param_opt;
-               /* Traverse destination */
-               while (pdata) {
-                       /* If we already have same option, override it */
-                       if (strcmp(pdata->key, data->key) == 0) {
-                               string_free(&pdata->value);
-                               pdata->value = strdup(data->value);
-                               not_added = False;
-                               break;
-                       }
-                       pdata = pdata->next;
-               }
-               if (not_added) {
-                   paramo = smb_xmalloc(sizeof(param_opt_struct));
-                   paramo->key = strdup(data->key);
-                   paramo->value = strdup(data->value);
-                   DLIST_ADD(pserviceDest->param_opt, paramo);
-               }
-               data = data->next;
-       }
 }
 
 /***************************************************************************
@@ -3071,8 +2840,7 @@ BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
        void *def_ptr = NULL;
        pstring vfskey;
        char *sep;
-       param_opt_struct *paramo, *data;
-       BOOL not_added;
+       param_opt_struct *paramo;
 
        parmnum = map_parameter(pszParmName);
 
@@ -3080,35 +2848,15 @@ BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
                if ((sep=strchr(pszParmName, ':')) != NULL) {
                        *sep = 0;
                        ZERO_STRUCT(vfskey);
-                       pstr_sprintf(vfskey, "%s:", pszParmName);
+                       pstr_sprintf(vfskey, "%s:%s:", 
+                               (snum >= 0) ? lp_servicename(snum) : "global", pszParmName);
                        slen = strlen(vfskey);
                        safe_strcat(vfskey, sep+1, sizeof(pstring));
                        trim_string(vfskey+slen, " ", " ");
-                       not_added = True;
-                       data = (snum < 0) ? Globals.param_opt : 
-                               ServicePtrs[snum]->param_opt;
-                       /* Traverse destination */
-                       while (data) {
-                               /* If we already have same option, override it */
-                               if (strcmp(data->key, vfskey) == 0) {
-                                       string_free(&data->value);
-                                       data->value = strdup(pszParmValue);
-                                       not_added = False;
-                                       break;
-                               }
-                               data = data->next;
-                       }
-                       if (not_added) {
-                               paramo = smb_xmalloc(sizeof(param_opt_struct));
-                               paramo->key = strdup(vfskey);
-                               paramo->value = strdup(pszParmValue);
-                               if (snum < 0) {
-                                       DLIST_ADD(Globals.param_opt, paramo);
-                               } else {
-                                       DLIST_ADD(ServicePtrs[snum]->param_opt, paramo);
-                               }
-                       }
-
+                       paramo = smb_xmalloc(sizeof(param_opt_struct));
+                       paramo->key = strdup(vfskey);
+                       paramo->value = strdup(pszParmValue);
+                       DLIST_ADD(param_opt, paramo);
                        *sep = ':';
                        return (True);
                }
@@ -3457,6 +3205,7 @@ static void dump_globals(FILE *f)
 {
        int i;
        param_opt_struct *data;
+       char *s;
        
        fprintf(f, "# Global parameters\n[global]\n");
 
@@ -3470,11 +3219,14 @@ static void dump_globals(FILE *f)
                        print_parameter(&parm_table[i], parm_table[i].ptr, f);
                        fprintf(f, "\n");
        }
-       if (Globals.param_opt != NULL) {
-               data = Globals.param_opt;
+       if (param_opt != NULL) {
+               data = param_opt;
                while(data) {
-                       fprintf(f, "\t%s = %s\n", data->key, data->value);
-                       data = data->next;
+                   if (((s=strstr(data->key, "global")) == data->key) &&
+                       (*(s+strlen("global")) == ':')) {
+                           fprintf(f, "\t%s = %s\n", s+strlen("global")+1, data->value);
+                   }
+                   data = data->next;
                }
         }
 
@@ -3501,6 +3253,7 @@ static void dump_a_service(service * pService, FILE * f)
 {
        int i;
        param_opt_struct *data;
+       char *s, *sn;
        
        if (pService != &sDefault)
                fprintf(f, "\n[%s]\n", pService->szService);
@@ -3529,11 +3282,15 @@ static void dump_a_service(service * pService, FILE * f)
                                        ((char *)pService) + pdiff, f);
                        fprintf(f, "\n");
        }
-       if (pService->param_opt != NULL) {
-               data = pService->param_opt;
+       if (param_opt != NULL) {
+               data = param_opt;
+               sn = (pService == &sDefault) ? "global" : pService->szService;
                while(data) {
-                       fprintf(f, "\t%s = %s\n", data->key, data->value);
-                       data = data->next;
+                   if (((s=strstr(data->key, sn)) == data->key) &&
+                       (*(s+strlen(sn)) == ':')) {
+                           fprintf(f, "\t%s = %s\n", s+strlen(sn)+1, data->value);
+                   }
+                   data = data->next;
                }
         }
 }
@@ -3868,16 +3625,16 @@ BOOL lp_load(const char *pszFname, BOOL global_only, BOOL save_defaults,
                lp_save_defaults();
        }
 
-       if (Globals.param_opt != NULL) {
-               data = Globals.param_opt;
+       if (param_opt != NULL) {
+               data = param_opt;
                while (data) {
-                       string_free(&data->key);
-                       string_free(&data->value);
+                       SAFE_FREE(data->key);
+                       SAFE_FREE(data->value);
                        pdata = data->next;
                        SAFE_FREE(data);
                        data = pdata;
                }
-               Globals.param_opt = NULL;
+               param_opt = NULL;
        }
        
        /* We get sections first, so have to start 'behind' to make up */
index 778cb9425c17aa7d4983aa6367e5ea1b364246b3..d21cc1d355cc62dd7e9a01265702773eca4417fc 100644 (file)
 #define DBGC_CLASS DBGC_PASSDB
 
 /** List of various built-in passdb modules */
-static const struct {
-    const char *name;
-    /* Function to create a member of the pdb_methods list */
-    pdb_init_function init;
-} builtin_pdb_init_functions[] = {
+
+const struct pdb_init_function_entry builtin_pdb_init_functions[] = {
        { "smbpasswd", pdb_init_smbpasswd },
        { "smbpasswd_nua", pdb_init_smbpasswd_nua },
        { "tdbsam", pdb_init_tdbsam },
@@ -38,53 +35,10 @@ static const struct {
        { "ldapsam_nua", pdb_init_ldapsam_nua },
        { "unixsam", pdb_init_unixsam },
        { "nisplussam", pdb_init_nisplussam },
+       { "plugin", pdb_init_plugin },
        { NULL, NULL}
 };
 
-static struct pdb_init_function_entry *backends;
-static void lazy_initialize_passdb(void);
-
-static void lazy_initialize_passdb()
-{
-       int i;
-       static BOOL initialised = False;
-       
-       if(!initialised) {
-               initialised = True;
-
-               for(i = 0; builtin_pdb_init_functions[i].name; i++) {
-                       smb_register_passdb(builtin_pdb_init_functions[i].name, builtin_pdb_init_functions[i].init, PASSDB_INTERFACE_VERSION);
-               }
-       }
-}
-
-BOOL smb_register_passdb(const char *name, pdb_init_function init, int version) 
-{
-       struct pdb_init_function_entry *entry = backends;
-
-       if(version != PASSDB_INTERFACE_VERSION)
-               return False;
-
-       DEBUG(5,("Attempting to register passdb backend %s\n", name));
-
-       /* Check for duplicates */
-       while(entry) { 
-               if(strcasecmp(name, entry->name) == 0) { 
-                       DEBUG(0,("There already is a passdb backend registered with the name %s!\n", name));
-                       return False;
-               }
-               entry = entry->next;
-       }
-
-       entry = smb_xmalloc(sizeof(struct pdb_init_function_entry));
-       entry->name = name;
-       entry->init = init;
-
-       DLIST_ADD(backends, entry);
-       DEBUG(5,("Successfully added passdb backend '%s'\n", name));
-       return True;
-}
-
 static NTSTATUS context_setsampwent(struct pdb_context *context, BOOL update)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@@ -417,12 +371,8 @@ static NTSTATUS make_pdb_methods_name(struct pdb_methods **methods, struct pdb_c
 {
        char *module_name = smb_xstrdup(selected);
        char *module_location = NULL, *p;
-       struct pdb_init_function_entry *entry;
        NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
-
-       lazy_initialize_passdb();
-
-       entry = backends;
+       int i;
 
        p = strchr(module_name, ':');
 
@@ -435,11 +385,12 @@ static NTSTATUS make_pdb_methods_name(struct pdb_methods **methods, struct pdb_c
        trim_string(module_name, " ", " ");
 
        DEBUG(5,("Attempting to find an passdb backend to match %s (%s)\n", selected, module_name));
-       while(entry) {
-               if (strequal(entry->name, module_name))
+       for (i = 0; builtin_pdb_init_functions[i].name; i++)
+       {
+               if (strequal(builtin_pdb_init_functions[i].name, module_name))
                {
-                       DEBUG(5,("Found pdb backend %s\n", module_name));
-                       nt_status = entry->init(context, methods, module_location);
+                       DEBUG(5,("Found pdb backend %s (at pos %d)\n", module_name, i));
+                       nt_status = builtin_pdb_init_functions[i].init(context, methods, module_location);
                        if (NT_STATUS_IS_OK(nt_status)) {
                                DEBUG(5,("pdb backend %s has a valid init\n", selected));
                        } else {
@@ -449,7 +400,6 @@ static NTSTATUS make_pdb_methods_name(struct pdb_methods **methods, struct pdb_c
                        return nt_status;
                        break; /* unreached */
                }
-               entry = entry->next;
        }
 
        /* No such backend found */
similarity index 99%
rename from source3/modules/mysql.c
rename to source3/passdb/pdb_mysql.c
index 1d5819295b034ce737b3d27a0a0fd8e59d9c5f2e..d0f30c639460bf4055e10364495d39d4ff29139a 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * MySQL password backend for samba
  * Copyright (C) Jelmer Vernooij 2002
@@ -64,10 +63,12 @@ static int mysqlsam_debug_level = DBGC_ALL;
 #undef DBGC_CLASS
 #define DBGC_CLASS mysqlsam_debug_level
 
+PDB_MODULE_VERSIONING_MAGIC
+
 typedef struct pdb_mysql_data {
        MYSQL *handle;
        MYSQL_RES *pwent;
-       const char *location;
+       char *location;
 } pdb_mysql_data;
 
 /* Used to construct insert and update queries */
@@ -946,8 +947,8 @@ static NTSTATUS mysqlsam_enum_group_mapping(struct pdb_methods *methods,
 }
 
 
-static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_methods ** pdb_method,
-                const char *location)
+NTSTATUS pdb_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
+                char *location)
 {
        NTSTATUS nt_status;
        struct pdb_mysql_data *data;
@@ -1031,13 +1032,3 @@ static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_metho
 
        return NT_STATUS_OK;
 }
-
-int init_module(void);
-
-int init_module() 
-{
-       if(smb_register_passdb("mysql", mysqlsam_init, PASSDB_INTERFACE_VERSION))
-               return 0;
-
-       return 1;
-}
similarity index 57%
rename from source3/sam/sam_plugin.c
rename to source3/passdb/pdb_plugin.c
index fd26c4b8d3cc989f34d92ef5013a1e53c78d522d..ea67da23a552a04de4a76a6dab9dc7bc69991e04 100644 (file)
@@ -1,9 +1,8 @@
 /* 
    Unix SMB/CIFS implementation.
-   Loadable san module interface.
-   Copyright (C) Jelmer Vernooij                       2002
-   Copyright (C) Andrew Bartlett                       2002
-   Copyright (C) Stefan (metze) Metzmacher             2002
+   Loadable passdb module interface.
+   Copyright (C) Jelmer Vernooij 2002
+   Copyright (C) Andrew Bartlett 2002
       
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #include "includes.h"
 
 #undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
+#define DBGC_CLASS DBGC_PASSDB
 
-NTSTATUS sam_init_plugin(SAM_METHODS *sam_methods, const char *module_params)
+NTSTATUS pdb_init_plugin(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
-       void *dl_handle;
-       char *plugin_params, *plugin_name, *p;
-       sam_init_function plugin_init;
+       void * dl_handle;
+       char *plugin_location, *plugin_name, *p;
+       pdb_init_function plugin_init;
        int (*plugin_version)(void);
 
-       if (module_params == NULL) {
+       if (location == NULL) {
                DEBUG(0, ("The plugin module needs an argument!\n"));
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       plugin_name = smb_xstrdup(module_params);
+       plugin_name = smb_xstrdup(location);
        p = strchr(plugin_name, ':');
        if (p) {
                *p = 0;
-               plugin_params = p+1;
-               trim_string(plugin_params, " ", " ");
-       } else plugin_params = NULL;
+               plugin_location = p+1;
+               trim_string(plugin_location, " ", " ");
+       } else plugin_location = NULL;
        trim_string(plugin_name, " ", " ");
 
        DEBUG(5, ("Trying to load sam plugin %s\n", plugin_name));
-       dl_handle = sys_dlopen(plugin_name, RTLD_NOW);
+       dl_handle = sys_dlopen(plugin_name, RTLD_NOW );
        if (!dl_handle) {
                DEBUG(0, ("Failed to load sam plugin %s using sys_dlopen (%s)\n", plugin_name, sys_dlerror()));
                return NT_STATUS_UNSUCCESSFUL;
        }
     
-       plugin_version = sys_dlsym(dl_handle, "sam_version");
+       plugin_version = sys_dlsym(dl_handle, "pdb_version");
        if (!plugin_version) {
                sys_dlclose(dl_handle);
-               DEBUG(0, ("Failed to find function 'sam_version' using sys_dlsym in sam plugin %s (%s)\n", plugin_name, sys_dlerror()));            
+               DEBUG(0, ("Failed to find function 'pdb_version' using sys_dlsym in sam plugin %s (%s)\n", plugin_name, sys_dlerror()));            
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       if (plugin_version()!=SAM_INTERFACE_VERSION) {
+       if (plugin_version() != PASSDB_INTERFACE_VERSION) {
                sys_dlclose(dl_handle);
-               DEBUG(0, ("Wrong SAM_INTERFACE_VERSION! sam plugin has version %d and version %d is needed! Please update!\n",
-                           plugin_version(),SAM_INTERFACE_VERSION));
+               DEBUG(0, ("Wrong PASSDB_INTERFACE_VERSION! sam plugin has version %d and version %d is needed! Please update!\n",
+                           plugin_version(),PASSDB_INTERFACE_VERSION));
                return NT_STATUS_UNSUCCESSFUL;
        }
                                        
-       plugin_init = sys_dlsym(dl_handle, "sam_init");
+       plugin_init = sys_dlsym(dl_handle, "pdb_init");
        if (!plugin_init) {
                sys_dlclose(dl_handle);
-               DEBUG(0, ("Failed to find function 'sam_init' using sys_dlsym in sam plugin %s (%s)\n", plugin_name, sys_dlerror()));       
+               DEBUG(0, ("Failed to find function 'pdb_init' using sys_dlsym in sam plugin %s (%s)\n", plugin_name, sys_dlerror()));       
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       DEBUG(5, ("Starting sam plugin %s with parameters %s for domain %s\n", plugin_name, plugin_params, sam_methods->domain_name));
-       return plugin_init(sam_methods, plugin_params);
+       DEBUG(5, ("Starting sam plugin %s with location %s\n", plugin_name, plugin_location));
+       return plugin_init(pdb_context, pdb_method, plugin_location);
 }
similarity index 98%
rename from source3/modules/xml.c
rename to source3/passdb/pdb_xml.c
index ead3e3a874806e4ebe07bf0c53a8906b64fed5a4..edf70250e228cce4b55bc0befdf4bc5e7d21347d 100644 (file)
@@ -40,6 +40,8 @@ static int xmlsam_debug_level = DBGC_ALL;
 #undef DBGC_CLASS
 #define DBGC_CLASS xmlsam_debug_level
 
+PDB_MODULE_VERSIONING_MAGIC 
+
 static char * iota(int a) {
        static char tmp[10];
 
@@ -512,7 +514,7 @@ static NTSTATUS xmlsam_add_sam_account(struct pdb_methods *methods, SAM_ACCOUNT
        return NT_STATUS_OK;
 }
 
-NTSTATUS xmlsam_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
+NTSTATUS pdb_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
                 const char *location)
 {
        NTSTATUS nt_status;
@@ -563,13 +565,3 @@ NTSTATUS xmlsam_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
 
        return NT_STATUS_OK;
 }
-
-int init_module(void);
-
-int init_module() 
-{
-       if(smb_register_passdb("xml", xmlsam_init, PASSDB_INTERFACE_VERSION))
-               return 0;
-
-       return 1;
-}
index 836324ecc934a33c653fa09b2a3b14d10c45e05d..10d490a4c1f69cdc756aafce08f935e1b46bd530 100644 (file)
@@ -4734,7 +4734,7 @@ BOOL print_access_check(struct current_user *user, int snum, int access_type)
        /* Always allow root or printer admins to do anything */
 
        if (user->uid == 0 ||
-           user_in_list(uidtoname(user->uid), lp_printer_admin(snum), user->groups, user->ngroups)) {
+           user_in_list(uidtoname(user->uid), lp_printer_admin(snum))) {
                return True;
        }
 
index ea092d93703b48419e6b2f866c4b591e0a58676c..6e299470bf831d4dafb90321eab5e683efe567c7 100644 (file)
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* Return a tuple of (error code, error string) from a WERROR */
 
index 2bbd148ff4ba5e840e7294d54f99aa140b6389ca..1f5188971db8714306404f8227f42e6018d0fb4b 100644 (file)
@@ -1,7 +1,7 @@
 /* 
    Python wrappers for DCERPC/SMB client routines.
 
-   Copyright (C) Tim Potter, 2002-2003
+   Copyright (C) Tim Potter, 2002
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include "includes.h"
 
-/* This symbol is used in both includes.h and Python.h which causes an
-   annoying compiler warning. */
-
-#ifdef HAVE_FSTAT
-#undef HAVE_FSTAT
-#endif
-
-#include "Python.h"
-
 /* Return a cli_state struct opened on the specified pipe.  If credentials
    are passed use them. */
 
@@ -39,29 +30,6 @@ typedef struct cli_state *(cli_pipe_fn)(
        struct cli_state *cli, char *system_name,
        struct ntuser_creds *creds);
 
-/* The following definitions come from python/py_common.c  */
-
-PyObject *py_werror_tuple(WERROR werror);
-PyObject *py_ntstatus_tuple(NTSTATUS ntstatus);
-void py_samba_init(void);
-PyObject *get_debuglevel(PyObject *self, PyObject *args);
-PyObject *set_debuglevel(PyObject *self, PyObject *args);
-PyObject *py_setup_logging(PyObject *self, PyObject *args, PyObject *kw);
-BOOL py_parse_creds(PyObject *creds, char **username, char **domain, 
-                   char **password, char **errstr);
-struct cli_state *open_pipe_creds(char *server, PyObject *creds, 
-                                 int pipe_idx, char **errstr);
-BOOL get_level_value(PyObject *dict, uint32 *level);
-
-/* The following definitions come from python/py_ntsec.c  */
-
-BOOL py_from_SID(PyObject **obj, DOM_SID *sid);
-BOOL py_to_SID(DOM_SID *sid, PyObject *obj);
-BOOL py_from_ACE(PyObject **dict, SEC_ACE *ace);
-BOOL py_to_ACE(SEC_ACE *ace, PyObject *dict);
-BOOL py_from_ACL(PyObject **dict, SEC_ACL *acl);
-BOOL py_to_ACL(SEC_ACL *acl, PyObject *dict, TALLOC_CTX *mem_ctx);
-BOOL py_from_SECDESC(PyObject **dict, SEC_DESC *sd);
-BOOL py_to_SECDESC(SEC_DESC **sd, PyObject *dict, TALLOC_CTX *mem_ctx);
+#include "python/py_common_proto.h"
 
-#endif /*  _PY_COMMON_H  */
+#endif /* _PY_COMMON_H */
diff --git a/source3/python/py_common_proto.h b/source3/python/py_common_proto.h
new file mode 100644 (file)
index 0000000..b012c17
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef _PY_COMMON_PROTO_H
+#define _PY_COMMON_PROTO_H
+
+/* This file is automatically generated with "make proto". DO NOT EDIT */
+
+
+/* The following definitions come from python/py_common.c  */
+
+PyObject *py_werror_tuple(WERROR werror);
+PyObject *py_ntstatus_tuple(NTSTATUS ntstatus);
+void py_samba_init(void);
+PyObject *get_debuglevel(PyObject *self, PyObject *args);
+PyObject *set_debuglevel(PyObject *self, PyObject *args);
+PyObject *py_setup_logging(PyObject *self, PyObject *args, PyObject *kw);
+BOOL py_parse_creds(PyObject *creds, char **username, char **domain, 
+                   char **password, char **errstr);
+struct cli_state *open_pipe_creds(char *server, PyObject *creds, 
+                                 int pipe_idx, char **errstr);
+BOOL get_level_value(PyObject *dict, uint32 *level);
+
+/* The following definitions come from python/py_ntsec.c  */
+
+BOOL py_from_SID(PyObject **obj, DOM_SID *sid);
+BOOL py_to_SID(DOM_SID *sid, PyObject *obj);
+BOOL py_from_ACE(PyObject **dict, SEC_ACE *ace);
+BOOL py_to_ACE(SEC_ACE *ace, PyObject *dict);
+BOOL py_from_ACL(PyObject **dict, SEC_ACL *acl);
+BOOL py_to_ACL(SEC_ACL *acl, PyObject *dict, TALLOC_CTX *mem_ctx);
+BOOL py_from_SECDESC(PyObject **dict, SEC_DESC *sd);
+BOOL py_to_SECDESC(SEC_DESC **sd, PyObject *dict, TALLOC_CTX *mem_ctx);
+
+#endif /*  _PY_COMMON_PROTO_H  */
index d0a2d78aabd48d15066608ead8dd6070e46fb6b9..e865daf7d9c0661b9191cd5b5de18468165dbdef 100644 (file)
@@ -18,6 +18,8 @@
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
+#include "includes.h"
+#include "Python.h"
 #include "py_conv.h"
 
 /* Helper for rpcstr_pull() function */
@@ -27,11 +29,6 @@ static void fstr_pull(fstring str, UNISTR *uni)
        rpcstr_pull(str, uni->buffer, sizeof(fstring), -1, STR_TERMINATE);
 }
 
-static void fstr_pull2(fstring str, UNISTR2 *uni)
-{
-       rpcstr_pull(str, uni->buffer, sizeof(fstring), -1, STR_TERMINATE);
-}
-
 /* Convert a structure to a Python dict */
 
 PyObject *from_struct(void *s, struct pyconv *conv)
@@ -55,18 +52,6 @@ PyObject *from_struct(void *s, struct pyconv *conv)
 
                        break;
                }
-               case PY_UNISTR2: {
-                       UNISTR2 *u = (UNISTR2 *)((char *)s + conv[i].offset);
-                       fstring str = "";
-
-                       if (u->buffer)
-                               fstr_pull2(str, u);
-
-                       item = PyString_FromString(str);
-                       PyDict_SetItemString(obj, conv[i].name, item);
-
-                       break;
-               }
                case PY_UINT32: {
                        uint32 *u = (uint32 *)((char *)s + conv[i].offset);
 
index 798661c3a0e6686881fa31777c63012058715c97..b384f70fc2db9c808f0617a2849ca0a4a983cdf7 100644 (file)
 #ifndef _PY_CONV_H
 #define _PY_CONV_H
 
-#include "python/py_common.h"
-
-enum pyconv_types { PY_UNISTR, PY_UNISTR2, PY_UINT32, PY_UINT16, PY_STRING, 
-                   PY_UID, PY_GID };
+enum pyconv_types { PY_UNISTR, PY_UINT32, PY_UINT16, PY_STRING, PY_UID, PY_GID };
 
 struct pyconv {
        char *name;             /* Name of member */
index 22db29665a0085ccc8d3a31bf21c72c2919612a8..31706af684064653cb8b0a2b07e5b6684b251bd7 100644 (file)
@@ -235,10 +235,7 @@ static PyObject *lsa_lookup_sids(PyObject *self, PyObject *args,
                for (i = 0; i < num_sids; i++) {
                        PyObject *obj = PyList_GetItem(py_sids, i);
                        
-                       if (!string_to_sid(&sids[i], PyString_AsString(obj))) {
-                               PyErr_SetString(PyExc_ValueError, "string_to_sid failed");
-                               return NULL;
-                       }
+                       string_to_sid(&sids[i], PyString_AsString(obj));
                }
 
        } else {
@@ -248,10 +245,7 @@ static PyObject *lsa_lookup_sids(PyObject *self, PyObject *args,
                num_sids = 1;
                sids = (DOM_SID *)talloc(hnd->mem_ctx, sizeof(DOM_SID));
 
-               if (!string_to_sid(&sids[0], PyString_AsString(py_sids))) {
-                       PyErr_SetString(PyExc_ValueError, "string_to_sid failed");
-                       return NULL;
-               }
+               string_to_sid(&sids[0], PyString_AsString(py_sids));
        }
 
        ntstatus = cli_lsa_lookup_sids(hnd->cli, hnd->mem_ctx, &hnd->pol,
index 99f3de50b1ffb2529fff47cdea9ce27f6c3171fa..f9a30d2f7e7510557269b9f4be0d11fde5bfbea1 100644 (file)
 #ifndef _PY_LSA_H
 #define _PY_LSA_H
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* LSA policy handle object */
 
@@ -38,4 +41,6 @@ extern PyTypeObject lsa_policy_hnd_type;
 
 extern PyObject *lsa_error;
 
+#include "python/py_lsa_proto.h"
+
 #endif /* _PY_LSA_H */
diff --git a/source3/python/py_lsa_proto.h b/source3/python/py_lsa_proto.h
new file mode 100644 (file)
index 0000000..1c6f6ab
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef _PY_LSA_PROTO_H
+#define _PY_LSA_PROTO_H
+
+/* This file is automatically generated with "make proto". DO NOT EDIT */
+
+
+/* The following definitions come from python/py_lsa.c  */
+
+PyObject *new_lsa_policy_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
+                                   POLICY_HND *pol);
+void initlsa(void);
+
+#endif /*  _PY_LSA_PROTO_H  */
index 47524d8e19048cdfa21be4d9e06a5cc7718d1f0a..f216d96aa8ff84d46f0b54f3a42293f1445bc6ac 100644 (file)
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* Convert a SID to a Python dict */
 
index 182671d04783c2ad62a3ce2d14da308628a5d364..208274d9b5fb2b2132dfca08df710c60e211cb39 100644 (file)
@@ -157,7 +157,7 @@ static PyObject *samr_enum_dom_groups(PyObject *self, PyObject *args,
        samr_domain_hnd_object *domain_hnd = (samr_domain_hnd_object *)self;
        static char *kwlist[] = { NULL };
        TALLOC_CTX *mem_ctx;
-/*     uint32 desired_access = MAXIMUM_ALLOWED_ACCESS; */
+       uint32 desired_access = MAXIMUM_ALLOWED_ACCESS;
        uint32 start_idx, size, num_dom_groups;
        struct acct_info *dom_groups;
        NTSTATUS result;
index 3292eb97ec6afb1884464aa40e38ad5a02e5c183..22c3660ef9894f75f92c241b53038cd748cb203c 100644 (file)
 #ifndef _PY_SAMR_H
 #define _PY_SAMR_H
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* SAMR connect policy handle object */
 
@@ -75,7 +78,6 @@ extern PyTypeObject samr_connect_hnd_type, samr_domain_hnd_type,
 
 extern PyObject *samr_error;
 
-/* The following definitions are from py_samr_conv.c */
+/* #include "python/py_samr_proto.h" */
 
-BOOL py_from_acct_info(PyObject **array, struct acct_info *info, int num_accts);
 #endif /* _PY_SAMR_H */
index 31bcf4aab2e37b9125a2c5d048a3e8645ba382a1..18677b49056f5532e4a6b26dc26ab53f5837e7f9 100644 (file)
 #ifndef _PY_SMB_H
 #define _PY_SMB_H
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* cli_state handle object */
 
index 7b0a102b3142fec1238519bfce6722c00ca262f7..957b4e9d9f114d18fd056f6ae6b1c48a2b791e28 100644 (file)
 
 PyObject *spoolss_error, *spoolss_werror;
 
+/*
+ * Routines to convert from python hashes to Samba structures
+ */
+
+PyObject *new_spoolss_policy_hnd_object(struct cli_state *cli, 
+                                       TALLOC_CTX *mem_ctx, POLICY_HND *pol)
+{
+       spoolss_policy_hnd_object *o;
+
+       o = PyObject_New(spoolss_policy_hnd_object, &spoolss_policy_hnd_type);
+
+       o->cli = cli;
+       o->mem_ctx = mem_ctx;
+       memcpy(&o->pol, pol, sizeof(POLICY_HND));
+
+       return (PyObject*)o;
+}
+     
 /* 
  * Method dispatch table
  */
index 34b48190cd1d41d1048fb11c8d1b156f872e8345..40a6ae972e87bdce018c4b2176557026c6b54201 100644 (file)
 #ifndef _PY_SPOOLSS_H
 #define _PY_SPOOLSS_H
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 /* Spoolss policy handle object */
 
@@ -38,123 +41,6 @@ extern PyTypeObject spoolss_policy_hnd_type;
 
 extern PyObject *spoolss_error, *spoolss_werror;
 
-/* The following definitions come from python/py_spoolss_common.c */
-
-PyObject *new_spoolss_policy_hnd_object(struct cli_state *cli, 
-                                       TALLOC_CTX *mem_ctx, POLICY_HND *pol);
-
-/* The following definitions come from python/py_spoolss_drivers.c  */
-
-PyObject *spoolss_enumprinterdrivers(PyObject *self, PyObject *args,
-                                    PyObject *kw);
-PyObject *spoolss_hnd_getprinterdriver(PyObject *self, PyObject *args,
-                                  PyObject *kw);
-PyObject *spoolss_getprinterdriverdir(PyObject *self, PyObject *args, 
-                                     PyObject *kw);
-PyObject *spoolss_addprinterdriver(PyObject *self, PyObject *args,
-                                  PyObject *kw);
-PyObject *spoolss_addprinterdriverex(PyObject *self, PyObject *args,
-                                            PyObject *kw);
-PyObject *spoolss_deleteprinterdriver(PyObject *self, PyObject *args,
-                                     PyObject *kw);
-PyObject *spoolss_deleteprinterdriverex(PyObject *self, PyObject *args,
-                                       PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_drivers_conv.c  */
-
-BOOL py_from_DRIVER_INFO_1(PyObject **dict, DRIVER_INFO_1 *info);
-BOOL py_to_DRIVER_INFO_1(DRIVER_INFO_1 *info, PyObject *dict);
-BOOL py_from_DRIVER_INFO_2(PyObject **dict, DRIVER_INFO_2 *info);
-BOOL py_to_DRIVER_INFO_2(DRIVER_INFO_2 *info, PyObject *dict);
-BOOL py_from_DRIVER_INFO_3(PyObject **dict, DRIVER_INFO_3 *info);
-BOOL py_to_DRIVER_INFO_3(DRIVER_INFO_3 *info, PyObject *dict);
-BOOL py_from_DRIVER_INFO_6(PyObject **dict, DRIVER_INFO_6 *info);
-BOOL py_to_DRIVER_INFO_6(DRIVER_INFO_6 *info, PyObject *dict);
-BOOL py_from_DRIVER_DIRECTORY_1(PyObject **dict, DRIVER_DIRECTORY_1 *info);
-BOOL py_to_DRIVER_DIRECTORY_1(DRIVER_DIRECTORY_1 *info, PyObject *dict);
-
-/* The following definitions come from python/py_spoolss_forms.c  */
-
-PyObject *spoolss_hnd_addform(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_getform(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_setform(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_deleteform(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_enumforms(PyObject *self, PyObject *args, PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_forms_conv.c  */
-
-BOOL py_from_FORM_1(PyObject **dict, FORM_1 *form);
-BOOL py_to_FORM(FORM *form, PyObject *dict);
-
-/* The following definitions come from python/py_spoolss_jobs.c  */
-
-PyObject *spoolss_hnd_enumjobs(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_setjob(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_getjob(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_startpageprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_endpageprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_startdocprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_enddocprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_writeprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_addjob(PyObject *self, PyObject *args, PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_jobs_conv.c  */
-
-BOOL py_from_JOB_INFO_1(PyObject **dict, JOB_INFO_1 *info);
-BOOL py_to_JOB_INFO_1(JOB_INFO_1 *info, PyObject *dict);
-BOOL py_from_JOB_INFO_2(PyObject **dict, JOB_INFO_2 *info);
-BOOL py_to_JOB_INFO_2(JOB_INFO_2 *info, PyObject *dict);
-BOOL py_from_DOC_INFO_1(PyObject **dict, DOC_INFO_1 *info);
-BOOL py_to_DOC_INFO_1(DOC_INFO_1 *info, PyObject *dict);
-
-/* The following definitions come from python/py_spoolss_ports.c  */
-
-PyObject *spoolss_enumports(PyObject *self, PyObject *args, PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_ports_conv.c  */
-
-BOOL py_from_PORT_INFO_1(PyObject **dict, PORT_INFO_1 *info);
-BOOL py_to_PORT_INFO_1(PORT_INFO_1 *info, PyObject *dict);
-BOOL py_from_PORT_INFO_2(PyObject **dict, PORT_INFO_2 *info);
-BOOL py_to_PORT_INFO_2(PORT_INFO_2 *info, PyObject *dict);
-
-/* The following definitions come from python/py_spoolss_printerdata.c  */
-
-PyObject *spoolss_hnd_getprinterdata(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_setprinterdata(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_enumprinterdata(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_deleteprinterdata(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_getprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_setprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_enumprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_deleteprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_enumprinterkey(PyObject *self, PyObject *args,
-                                    PyObject *kw);
-PyObject *spoolss_hnd_deleteprinterkey(PyObject *self, PyObject *args,
-                                      PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_printers.c  */
-
-PyObject *spoolss_openprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_closeprinter(PyObject *self, PyObject *args);
-PyObject *spoolss_hnd_getprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_hnd_setprinter(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_enumprinters(PyObject *self, PyObject *args, PyObject *kw);
-PyObject *spoolss_addprinterex(PyObject *self, PyObject *args, PyObject *kw);
-
-/* The following definitions come from python/py_spoolss_printers_conv.c  */
-
-BOOL py_from_DEVICEMODE(PyObject **dict, DEVICEMODE *devmode);
-BOOL py_to_DEVICEMODE(DEVICEMODE *devmode, PyObject *dict);
-BOOL py_from_PRINTER_INFO_0(PyObject **dict, PRINTER_INFO_0 *info);
-BOOL py_to_PRINTER_INFO_0(PRINTER_INFO_0 *info, PyObject *dict);
-BOOL py_from_PRINTER_INFO_1(PyObject **dict, PRINTER_INFO_1 *info);
-BOOL py_to_PRINTER_INFO_1(PRINTER_INFO_1 *info, PyObject *dict);
-BOOL py_from_PRINTER_INFO_2(PyObject **dict, PRINTER_INFO_2 *info);
-BOOL py_to_PRINTER_INFO_2(PRINTER_INFO_2 *info, PyObject *dict,
-                         TALLOC_CTX *mem_ctx);
-BOOL py_from_PRINTER_INFO_3(PyObject **dict, PRINTER_INFO_3 *info);
-BOOL py_to_PRINTER_INFO_3(PRINTER_INFO_3 *info, PyObject *dict,
-                         TALLOC_CTX *mem_ctx);
+#include "python/py_spoolss_proto.h"
 
 #endif /* _PY_SPOOLSS_H */
index f165475b0802ec7265bd47eef0cb214028cb7418..583d097e845a372d1cd13e5129a66d71970341da 100644 (file)
@@ -19,7 +19,6 @@
 */
 
 #include "python/py_spoolss.h"
-#include "python/py_conv.h"
 
 static BOOL py_from_printerdata(PyObject **dict, char *key, char *value,
                                uint16 data_type, uint8 *data, 
diff --git a/source3/python/py_spoolss_proto.h b/source3/python/py_spoolss_proto.h
new file mode 100644 (file)
index 0000000..77feb1a
--- /dev/null
@@ -0,0 +1,127 @@
+#ifndef _PY_SPOOLSS_PROTO_H
+#define _PY_SPOOLSS_PROTO_H
+
+/* This file is automatically generated with "make proto". DO NOT EDIT */
+
+
+/* The following definitions come from python/py_spoolss.c  */
+
+PyObject *new_spoolss_policy_hnd_object(struct cli_state *cli, 
+                                       TALLOC_CTX *mem_ctx, POLICY_HND *pol);
+void initspoolss(void);
+
+/* The following definitions come from python/py_spoolss_drivers.c  */
+
+PyObject *spoolss_enumprinterdrivers(PyObject *self, PyObject *args,
+                                    PyObject *kw);
+PyObject *spoolss_hnd_getprinterdriver(PyObject *self, PyObject *args,
+                                  PyObject *kw);
+PyObject *spoolss_getprinterdriverdir(PyObject *self, PyObject *args, 
+                                     PyObject *kw);
+PyObject *spoolss_addprinterdriver(PyObject *self, PyObject *args,
+                                  PyObject *kw);
+PyObject *spoolss_addprinterdriverex(PyObject *self, PyObject *args,
+                                            PyObject *kw);
+PyObject *spoolss_deleteprinterdriver(PyObject *self, PyObject *args,
+                                     PyObject *kw);
+PyObject *spoolss_deleteprinterdriverex(PyObject *self, PyObject *args,
+                                       PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_drivers_conv.c  */
+
+BOOL py_from_DRIVER_INFO_1(PyObject **dict, DRIVER_INFO_1 *info);
+BOOL py_to_DRIVER_INFO_1(DRIVER_INFO_1 *info, PyObject *dict);
+BOOL py_from_DRIVER_INFO_2(PyObject **dict, DRIVER_INFO_2 *info);
+BOOL py_to_DRIVER_INFO_2(DRIVER_INFO_2 *info, PyObject *dict);
+BOOL py_from_DRIVER_INFO_3(PyObject **dict, DRIVER_INFO_3 *info);
+BOOL py_to_DRIVER_INFO_3(DRIVER_INFO_3 *info, PyObject *dict);
+BOOL py_from_DRIVER_INFO_6(PyObject **dict, DRIVER_INFO_6 *info);
+BOOL py_to_DRIVER_INFO_6(DRIVER_INFO_6 *info, PyObject *dict);
+BOOL py_from_DRIVER_DIRECTORY_1(PyObject **dict, DRIVER_DIRECTORY_1 *info);
+BOOL py_to_DRIVER_DIRECTORY_1(DRIVER_DIRECTORY_1 *info, PyObject *dict);
+
+/* The following definitions come from python/py_spoolss_forms.c  */
+
+PyObject *spoolss_hnd_addform(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_getform(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_setform(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_deleteform(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_enumforms(PyObject *self, PyObject *args, PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_forms_conv.c  */
+
+BOOL py_from_FORM_1(PyObject **dict, FORM_1 *form);
+BOOL py_to_FORM(FORM *form, PyObject *dict);
+
+/* The following definitions come from python/py_spoolss_jobs.c  */
+
+PyObject *spoolss_hnd_enumjobs(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_setjob(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_getjob(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_startpageprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_endpageprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_startdocprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_enddocprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_writeprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_addjob(PyObject *self, PyObject *args, PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_jobs_conv.c  */
+
+BOOL py_from_JOB_INFO_1(PyObject **dict, JOB_INFO_1 *info);
+BOOL py_to_JOB_INFO_1(JOB_INFO_1 *info, PyObject *dict);
+BOOL py_from_JOB_INFO_2(PyObject **dict, JOB_INFO_2 *info);
+BOOL py_to_JOB_INFO_2(JOB_INFO_2 *info, PyObject *dict);
+BOOL py_from_DOC_INFO_1(PyObject **dict, DOC_INFO_1 *info);
+BOOL py_to_DOC_INFO_1(DOC_INFO_1 *info, PyObject *dict);
+
+/* The following definitions come from python/py_spoolss_ports.c  */
+
+PyObject *spoolss_enumports(PyObject *self, PyObject *args, PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_ports_conv.c  */
+
+BOOL py_from_PORT_INFO_1(PyObject **dict, PORT_INFO_1 *info);
+BOOL py_to_PORT_INFO_1(PORT_INFO_1 *info, PyObject *dict);
+BOOL py_from_PORT_INFO_2(PyObject **dict, PORT_INFO_2 *info);
+BOOL py_to_PORT_INFO_2(PORT_INFO_2 *info, PyObject *dict);
+
+/* The following definitions come from python/py_spoolss_printerdata.c  */
+
+PyObject *spoolss_hnd_getprinterdata(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_setprinterdata(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_enumprinterdata(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_deleteprinterdata(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_getprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_setprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_enumprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_deleteprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_enumprinterkey(PyObject *self, PyObject *args,
+                                    PyObject *kw);
+PyObject *spoolss_hnd_deleteprinterkey(PyObject *self, PyObject *args,
+                                      PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_printers.c  */
+
+PyObject *spoolss_openprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_closeprinter(PyObject *self, PyObject *args);
+PyObject *spoolss_hnd_getprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_hnd_setprinter(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_enumprinters(PyObject *self, PyObject *args, PyObject *kw);
+PyObject *spoolss_addprinterex(PyObject *self, PyObject *args, PyObject *kw);
+
+/* The following definitions come from python/py_spoolss_printers_conv.c  */
+
+BOOL py_from_DEVICEMODE(PyObject **dict, DEVICEMODE *devmode);
+BOOL py_to_DEVICEMODE(DEVICEMODE *devmode, PyObject *dict);
+BOOL py_from_PRINTER_INFO_0(PyObject **dict, PRINTER_INFO_0 *info);
+BOOL py_to_PRINTER_INFO_0(PRINTER_INFO_0 *info, PyObject *dict);
+BOOL py_from_PRINTER_INFO_1(PyObject **dict, PRINTER_INFO_1 *info);
+BOOL py_to_PRINTER_INFO_1(PRINTER_INFO_1 *info, PyObject *dict);
+BOOL py_from_PRINTER_INFO_2(PyObject **dict, PRINTER_INFO_2 *info);
+BOOL py_to_PRINTER_INFO_2(PRINTER_INFO_2 *info, PyObject *dict,
+                         TALLOC_CTX *mem_ctx);
+BOOL py_from_PRINTER_INFO_3(PyObject **dict, PRINTER_INFO_3 *info);
+BOOL py_to_PRINTER_INFO_3(PRINTER_INFO_3 *info, PyObject *dict,
+                         TALLOC_CTX *mem_ctx);
+
+#endif /*  _PY_SPOOLSS_PROTO_H  */
index 69f251c8c1f275bb2668320a4ac87efa765152d1..794a20cf2b101d865d42a1adf64a54f03bb294e5 100644 (file)
@@ -21,6 +21,9 @@
 #ifndef _PY_TDB_H
 #define _PY_TDB_H
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "python/py_common_proto.h"
 
 #endif /* _PY_TDB_H */
index e9fc4b7dd86c58acd61d22e3c474a635cc28685a..783ac5443904ab1bbd5a5dcfb815b6cdc53af464 100644 (file)
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include "py_winbind.h"
+#include "includes.h"
+#include "Python.h"
+
+#include "py_common_proto.h"
 
 /* 
  * Exceptions raised by this module 
@@ -46,8 +49,7 @@ static PyObject *py_name_to_sid(PyObject *self, PyObject *args)
        struct winbindd_request request;
        struct winbindd_response response;
        PyObject *result;
-       char *name, *p;
-       const char *sep;
+       char *name, *p, *sep;
 
        if (!PyArg_ParseTuple(args, "s", &name))
                return NULL;
@@ -135,7 +137,7 @@ static PyObject *py_enum_domain_users(PyObject *self, PyObject *args)
        result = PyList_New(0);
 
        if (response.extra_data) {
-               const char *extra_data = response.extra_data;
+               char *extra_data = response.extra_data;
                fstring name;
 
                while (next_token(&extra_data, name, ",", sizeof(fstring)))
@@ -166,7 +168,7 @@ static PyObject *py_enum_domain_groups(PyObject *self, PyObject *args)
        result = PyList_New(0);
 
        if (response.extra_data) {
-               const char *extra_data = response.extra_data;
+               char *extra_data = response.extra_data;
                fstring name;
 
                while (next_token(&extra_data, name, ",", sizeof(fstring)))
@@ -201,7 +203,7 @@ static PyObject *py_enum_trust_dom(PyObject *self, PyObject *args)
        result = PyList_New(0);
 
        if (response.extra_data) {
-               const char *extra_data = response.extra_data;
+               char *extra_data = response.extra_data;
                fstring name;
 
                while (next_token(&extra_data, name, ",", sizeof(fstring)))
@@ -520,12 +522,12 @@ static PyObject *py_getpwuid(PyObject *self, PyObject *args)
 
 static PyMethodDef winbind_methods[] = {
 
-       { "getpwnam", (PyCFunction)py_getpwnam, METH_VARARGS, "getpwnam(3)" },
-       { "getpwuid", (PyCFunction)py_getpwuid, METH_VARARGS, "getpwuid(3)" },
+       { "getpwnam", py_getpwnam, METH_VARARGS, "getpwnam(3)" },
+       { "getpwuid", py_getpwuid, METH_VARARGS, "getpwuid(3)" },
 
        /* Name <-> SID conversion */
 
-       { "name_to_sid", (PyCFunction)py_name_to_sid, METH_VARARGS,
+       { "name_to_sid", py_name_to_sid, METH_VARARGS,
          "name_to_sid(s) -> string
 
 Return the SID for a name.
@@ -535,7 +537,7 @@ Example:
 >>> winbind.name_to_sid('FOO/Administrator')
 'S-1-5-21-406022937-1377575209-526660263-500' " },
 
-       { "sid_to_name", (PyCFunction)py_sid_to_name, METH_VARARGS,
+       { "sid_to_name", py_sid_to_name, METH_VARARGS,
          "sid_to_name(s) -> string
 
 Return the name for a SID.
@@ -548,7 +550,7 @@ Example:
 
        /* Enumerate users/groups */
 
-       { "enum_domain_users", (PyCFunction)py_enum_domain_users, METH_VARARGS,
+       { "enum_domain_users", py_enum_domain_users, METH_VARARGS,
          "enum_domain_users() -> list of strings
 
 Return a list of domain users.
@@ -560,8 +562,7 @@ Example:
 'FOO/foo', 'FOO/foo2', 'FOO/foo3', 'FOO/Guest', 'FOO/user1', 
 'FOO/whoops-ptang'] " },
 
-       { "enum_domain_groups", (PyCFunction)py_enum_domain_groups, 
-         METH_VARARGS,
+       { "enum_domain_groups", py_enum_domain_groups, METH_VARARGS,
          "enum_domain_groups() -> list of strings
 
 Return a list of domain groups.
@@ -574,7 +575,7 @@ Example:
 
        /* ID mapping */
 
-       { "uid_to_sid", (PyCFunction)py_uid_to_sid, METH_VARARGS,
+       { "uid_to_sid", py_uid_to_sid, METH_VARARGS,
          "uid_to_sid(int) -> string
 
 Return the SID for a UNIX uid.
@@ -584,7 +585,7 @@ Example:
 >>> winbind.uid_to_sid(10000)   
 'S-1-5-21-406022937-1377575209-526660263-500' " },
 
-       { "gid_to_sid", (PyCFunction)py_gid_to_sid, METH_VARARGS,
+       { "gid_to_sid", py_gid_to_sid, METH_VARARGS,
          "gid_to_sid(int) -> string
 
 Return the UNIX gid for a SID.
@@ -594,7 +595,7 @@ Example:
 >>> winbind.gid_to_sid(10001)
 'S-1-5-21-406022937-1377575209-526660263-512' " },
 
-       { "sid_to_uid", (PyCFunction)py_sid_to_uid, METH_VARARGS,
+       { "sid_to_uid", py_sid_to_uid, METH_VARARGS,
          "sid_to_uid(string) -> int
 
 Return the UNIX uid for a SID.
@@ -604,7 +605,7 @@ Example:
 >>> winbind.sid_to_uid('S-1-5-21-406022937-1377575209-526660263-500')
 10000 " },
 
-       { "sid_to_gid", (PyCFunction)py_sid_to_gid, METH_VARARGS,
+       { "sid_to_gid", py_sid_to_gid, METH_VARARGS,
          "sid_to_gid(string) -> int
 
 Return the UNIX gid corresponding to a SID.
@@ -616,13 +617,13 @@ Example:
 
        /* Miscellaneous */
 
-       { "check_secret", (PyCFunction)py_check_secret, METH_VARARGS,
+       { "check_secret", py_check_secret, METH_VARARGS,
          "check_secret() -> int
 
 Check the machine trust account password.  The NT status is returned
 with zero indicating success. " },
 
-       { "enum_trust_dom", (PyCFunction)py_enum_trust_dom, METH_VARARGS,
+       { "enum_trust_dom", py_enum_trust_dom, METH_VARARGS,
          "enum_trust_dom() -> list of strings
 
 Return a list of trusted domains.  The domain the server is a member 
@@ -635,13 +636,13 @@ Example:
 
        /* PAM authorisation functions */
 
-       { "auth_plaintext", (PyCFunction)py_auth_plaintext, METH_VARARGS,
+       { "auth_plaintext", py_auth_plaintext, METH_VARARGS,
          "auth_plaintext(s, s) -> int
 
 Authenticate a username and password using plaintext authentication.
 The NT status code is returned with zero indicating success." },
 
-       { "auth_crap", (PyCFunction)py_auth_crap, METH_VARARGS,
+       { "auth_crap", py_auth_crap, METH_VARARGS,
          "auth_crap(s, s) -> int
 
 Authenticate a username and password using the challenge/response
index 6e2eab59414463e3b204fcccc3a06efb7caa312d..c3e416171e74f75287560ef195a03beadddf80bd 100644 (file)
@@ -18,7 +18,8 @@
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include "python/py_common.h"
+#include "includes.h"
+#include "Python.h"
 #include "python/py_conv.h"
 
 /* Convert a struct passwd to a dictionary */
index e19674d2181b2e7ffec4655a991f560f9dc64ade..088be724e2abf0635c63482e0f1aa9341bbcb553 100644 (file)
@@ -24,6 +24,6 @@
 #include "includes.h"
 #include "Python.h"
 
-#include "python/py_common.h"
+#include "python/py_common_proto.h"
 
 #endif /* _PY_WINREG_H */
index 48487fee4d0408185fb8c4ef19977ceec2f7b987..b15f906bc2f8b0f6d0b4a65adecccef27e8ee866 100755 (executable)
@@ -3,7 +3,7 @@
 # Unix SMB/CIFS implementation.
 # Module packaging setup for Samba python extensions
 #
-# Copyright (C) Tim Potter, 2002-2003
+# Copyright (C) Tim Potter, 2002
 # Copyright (C) Martin Pool, 2002
 #
 # This program is free software; you can redistribute it and/or modify
@@ -83,7 +83,6 @@ setup(
                          samba_srcdir + "python/py_common.c",
                          samba_srcdir + "python/py_conv.c",
                          samba_srcdir + "python/py_ntsec.c",
-                         samba_srcdir + "python/py_spoolss_common.c",
                          samba_srcdir + "python/py_spoolss_forms.c",
                          samba_srcdir + "python/py_spoolss_forms_conv.c",
                          samba_srcdir + "python/py_spoolss_drivers.c",
@@ -145,18 +144,6 @@ setup(
               extra_compile_args = flags_list,
               extra_objects = obj_list),
 
-    # SRVSVC pipe module
-
-    Extension(name = "srvsvc",
-              sources = [samba_srcdir + "python/py_srvsvc.c",
-                         samba_srcdir + "python/py_conv.c",
-                         samba_srcdir + "python/py_srvsvc_conv.c",
-                         samba_srcdir + "python/py_common.c"],
-              libraries = lib_list,
-              library_dirs = ["/usr/kerberos/lib"],
-              extra_compile_args = flags_list,
-              extra_objects = obj_list),
-
     # tdb module
 
     Extension(name = "tdb",
index e878d02211627a40cb907a09808d06df812efd6f..84b5aa725af3e0a2950168438f7f1877f150e9bf 100644 (file)
@@ -1163,7 +1163,7 @@ NTSTATUS cli_lsa_enum_account_rights(struct cli_state *cli, TALLOC_CTX *mem_ctx,
        LSA_Q_ENUM_ACCT_RIGHTS q;
        LSA_R_ENUM_ACCT_RIGHTS r;
        NTSTATUS result;
-       unsigned int i;
+       int i;
 
        ZERO_STRUCT(q);
        ZERO_STRUCT(r);
@@ -1198,7 +1198,7 @@ NTSTATUS cli_lsa_enum_account_rights(struct cli_state *cli, TALLOC_CTX *mem_ctx,
 
        *privs_name = (char **)talloc(mem_ctx, (*count) * sizeof(char **));
        for (i=0;i<*count;i++) {
-               (*privs_name)[i] = unistr2_tdup(mem_ctx, &r.rights.strings[i].string);
+               pull_ucs2_talloc(mem_ctx, &(*privs_name)[i], r.rights.strings[i].string.buffer);
        }
 
 done:
@@ -1292,58 +1292,6 @@ done:
 }
 
 
-/* list account SIDs that have the specified right */
-
-NTSTATUS cli_lsa_enum_account_with_right(struct cli_state *cli, TALLOC_CTX *mem_ctx,
-                                        POLICY_HND *pol, const char *right,
-                                        uint32 *count, DOM_SID **sids)
-{
-       prs_struct qbuf, rbuf;
-       LSA_Q_ENUM_ACCT_WITH_RIGHT q;
-       LSA_R_ENUM_ACCT_WITH_RIGHT r;
-       NTSTATUS result;
-
-       ZERO_STRUCT(q);
-
-       /* Initialise parse structures */
-       prs_init(&qbuf, MAX_PDU_FRAG_LEN, mem_ctx, MARSHALL);
-       prs_init(&rbuf, 0, mem_ctx, UNMARSHALL);
-
-       /* Marshall data and send request */
-       init_q_enum_acct_with_right(&q, pol, right);
-
-       if (!lsa_io_q_enum_acct_with_right("", &q, &qbuf, 0) ||
-           !rpc_api_pipe_req(cli, LSA_ENUMACCTWITHRIGHT, &qbuf, &rbuf)) {
-               result = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       /* Unmarshall response */
-
-       if (!lsa_io_r_enum_acct_with_right("", &r, &rbuf, 0)) {
-               result = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       *count = r.count;
-
-       if (!NT_STATUS_IS_OK(result = r.status)) {
-               goto done;
-       }
-
-       if (*count) {
-               int i;
-               (*sids) = (DOM_SID *)talloc(mem_ctx, sizeof(DOM_SID) * (*count));
-               for (i=0; i<*count; i++) {
-                       sid_copy(&(*sids)[i], &r.sids.sids[i].sid.sid);
-               }
-       }
-done:
-
-       return result;
-}
-
-
 #if 0
 
 /** An example of how to use the routines in this file.  Fetch a DOMAIN
index b6c6b377ff372433231453b8acecde27e4a5ad4f..1bdd19620b4c4eb57d334c35236865982d9f19a4 100644 (file)
 
 #include "includes.h"
 
-WERROR cli_srvsvc_net_srv_get_info(struct cli_state *cli, 
-                                  TALLOC_CTX *mem_ctx,
-                                  uint32 switch_value, SRV_INFO_CTR *ctr)
+NTSTATUS cli_srvsvc_net_srv_get_info(struct cli_state *cli, 
+                                     TALLOC_CTX *mem_ctx,
+                                     uint32 switch_value, SRV_INFO_CTR *ctr)
 {
        prs_struct qbuf, rbuf;
        SRV_Q_NET_SRV_GET_INFO q;
        SRV_R_NET_SRV_GET_INFO r;
-       WERROR result = W_ERROR(ERRgeneral);
+       NTSTATUS result;
 
        ZERO_STRUCT(q);
        ZERO_STRUCT(r);
@@ -47,17 +47,21 @@ WERROR cli_srvsvc_net_srv_get_info(struct cli_state *cli,
        /* Marshall data and send request */
 
        if (!srv_io_q_net_srv_get_info("", &q, &qbuf, 0) ||
-           !rpc_api_pipe_req(cli, SRV_NET_SRV_GET_INFO, &qbuf, &rbuf))
+           !rpc_api_pipe_req(cli, SRV_NET_SRV_GET_INFO, &qbuf, &rbuf)) {
+               result = NT_STATUS_UNSUCCESSFUL;
                goto done;
+       }
 
        /* Unmarshall response */
 
        r.ctr = ctr;
 
-       if (!srv_io_r_net_srv_get_info("", &r, &rbuf, 0))
+       if (!srv_io_r_net_srv_get_info("", &r, &rbuf, 0)) {
+               result = NT_STATUS_UNSUCCESSFUL;
                goto done;
+       }
 
-       result = r.status;
+       result = werror_to_ntstatus(r.status);
 
  done:
        prs_mem_free(&qbuf);
index 53a0fc958d815c20db39e3b7b0b770044e268cba..3c9c02a23aea70cee285fb19e7a4557ce190454a 100644 (file)
@@ -2301,19 +2301,6 @@ BOOL lsa_io_r_enum_acct_rights(const char *desc, LSA_R_ENUM_ACCT_RIGHTS *r_c, pr
        return True;
 }
 
-/*******************************************************************
- Inits an LSA_R_ENUM_ACCT_RIGHTS structure.
-********************************************************************/
-void init_r_enum_acct_rights(LSA_R_ENUM_ACCT_RIGHTS *q_r, 
-                            uint32 count, 
-                            const char **rights)
-{
-       DEBUG(5, ("init_r_enum_acct_rights\n"));
-
-       q_r->count = count;
-       init_unistr2_array(&q_r->rights, count, rights);
-}
-
 
 /*******************************************************************
  Inits an LSA_Q_ADD_ACCT_RIGHTS structure.
@@ -2329,6 +2316,7 @@ void init_q_add_acct_rights(LSA_Q_ADD_ACCT_RIGHTS *q_q,
        q_q->pol = *hnd;
        init_dom_sid2(&q_q->sid, sid);
        init_unistr2_array(&q_q->rights, count, rights);
+       q_q->count = 5;
 }
 
 
@@ -2369,15 +2357,6 @@ BOOL lsa_io_r_add_acct_rights(const char *desc, LSA_R_ADD_ACCT_RIGHTS *r_c, prs_
        return True;
 }
 
-/*******************************************************************
- Inits an LSA_R_ADD_ACCT_RIGHTS structure.
-********************************************************************/
-void init_r_add_acct_rights(LSA_R_ADD_ACCT_RIGHTS *q_r)
-{
-       DEBUG(5, ("init_r_add_acct_rights\n"));
-       /* oh what a silly function! */
-}
-
 
 /*******************************************************************
  Inits an LSA_Q_REMOVE_ACCT_RIGHTS structure.
@@ -2395,6 +2374,7 @@ void init_q_remove_acct_rights(LSA_Q_REMOVE_ACCT_RIGHTS *q_q,
        init_dom_sid2(&q_q->sid, sid);
        q_q->removeall = removeall;
        init_unistr2_array(&q_q->rights, count, rights);
+       q_q->count = 5;
 }
 
 
@@ -2425,7 +2405,7 @@ BOOL lsa_io_q_remove_acct_rights(const char *desc, LSA_Q_REMOVE_ACCT_RIGHTS *q_q
 }
 
 /*******************************************************************
-reads or writes a LSA_R_REMOVE_ACCT_RIGHTS structure.
+reads or writes a LSA_R_ENUM_ACCT_RIGHTS structure.
 ********************************************************************/
 BOOL lsa_io_r_remove_acct_rights(const char *desc, LSA_R_REMOVE_ACCT_RIGHTS *r_c, prs_struct *ps, int depth)
 {
@@ -2437,89 +2417,3 @@ BOOL lsa_io_r_remove_acct_rights(const char *desc, LSA_R_REMOVE_ACCT_RIGHTS *r_c
 
        return True;
 }
-
-/*******************************************************************
- Inits an LSA_R_REMOVE_ACCT_RIGHTS structure.
-********************************************************************/
-void init_r_remove_acct_rights(LSA_R_REMOVE_ACCT_RIGHTS *q_r)
-{
-       DEBUG(5, ("init_r_remove_acct_rights\n"));
-}
-
-/*******************************************************************
- Inits an LSA_Q_ENUM_ACCT_WITH_RIGHT structure.
-********************************************************************/
-void init_q_enum_acct_with_right(LSA_Q_ENUM_ACCT_WITH_RIGHT *q_q, 
-                                POLICY_HND *hnd, 
-                                const char *right)
-{
-       DEBUG(5, ("init_q_enum_acct_with_right\n"));
-
-       q_q->pol = *hnd;
-       init_unistr2(&q_q->right, right, strlen(right));
-       init_str_hdr(&q_q->right_hdr, 
-                    q_q->right.uni_max_len*2, 
-                    q_q->right.uni_max_len*2, right?1:0);
-}
-
-
-/*******************************************************************
-reads or writes a LSA_Q_ENUM_ACCT_WITH_RIGHT structure.
-********************************************************************/
-BOOL lsa_io_q_enum_acct_with_right(const char *desc, LSA_Q_ENUM_ACCT_WITH_RIGHT *q_q, prs_struct *ps, int depth)
-{
-       prs_debug(ps, depth, desc, "lsa_io_q_enum_acct_with_right");
-       depth++;
-
-       if (!smb_io_pol_hnd("", &q_q->pol, ps, depth))
-               return False;
-
-       if (!prs_uint32("ref_id  ", ps, depth, &q_q->right_hdr.buffer))
-               return False;
-
-       if (UNMARSHALLING(ps) && q_q->right_hdr.buffer == 0) {
-               return True;
-       }
-
-       if (!smb_io_strhdr("", &q_q->right_hdr, ps, depth))
-               return False;
-
-       if (!smb_io_unistr2("", &q_q->right, q_q->right_hdr.buffer, ps, depth))
-               return False;
-
-       return True;
-}
-
-
-/*******************************************************************
-reads or writes a LSA_R_ENUM_ACCT_WITH_RIGHT structure.
-********************************************************************/
-BOOL lsa_io_r_enum_acct_with_right(const char *desc, LSA_R_ENUM_ACCT_WITH_RIGHT *r_c, prs_struct *ps, int depth)
-{
-       prs_debug(ps, depth, desc, "lsa_io_r_enum_acct_with_right");
-       depth++;
-
-       if (!prs_uint32("count  ", ps, depth, &r_c->count))
-               return False;
-
-       if (!smb_io_sid_array("sids  ", &r_c->sids, ps, depth))
-               return False;
-
-       if(!prs_ntstatus("status", ps, depth, &r_c->status))
-               return False;
-
-       return True;
-}
-
-/*******************************************************************
- Inits an LSA_R_ENUM_ACCT_WITH_RIGHT structure.
-********************************************************************/
-void init_r_enum_acct_with_right(LSA_R_ENUM_ACCT_WITH_RIGHT *r_c, 
-                                uint32 count,
-                                DOM_SID *sids)
-{
-       DEBUG(5, ("init_r_enum_acct_with_right\n"));
-
-       r_c->count = count;
-       init_sid_array(&r_c->sids, count, sids);
-}
index df80c76ee5c5d0477b5b3d505996dc53310ce817..43d26a691d02f3fb9988f3b87bbaa115c8e34c26 100644 (file)
@@ -1122,78 +1122,6 @@ BOOL smb_io_unistr2_array(const char *desc, UNISTR2_ARRAY *array, prs_struct *ps
 }
 
 
-/*
-  initialise a SID_ARRAY from a list of sids
-*/
-BOOL init_sid_array(SID_ARRAY *array,
-                   uint32 count, DOM_SID *sids)
-{
-       int i;
-
-       array->count = count;
-       array->ref_id = count?1:0;
-       if (array->count == 0) {
-               return True;
-       }
-
-       array->sids = (SID_ARRAY_EL *)talloc_zero(get_talloc_ctx(), count * sizeof(SID_ARRAY_EL));
-       if (!array->sids) {
-               return False;
-       }
-
-       for (i=0;i<count;i++) {
-               array->sids[i].ref_id = 1;
-               init_dom_sid2(&array->sids[i].sid, &sids[i]);
-       }
-
-       return True;
-}
-
-
-/*******************************************************************
- Reads or writes a SID_ARRAY structure.
-********************************************************************/
-BOOL smb_io_sid_array(const char *desc, SID_ARRAY *array, prs_struct *ps, int depth)
-{
-       int i;
-
-       prs_debug(ps, depth, desc, "smb_io_sid_array");
-       depth++;
-
-       if(!prs_uint32("ref_id", ps, depth, &array->ref_id))
-               return False;
-
-       if (! array->ref_id) {
-               return True;
-       }
-
-       if(!prs_uint32("count", ps, depth, &array->count))
-               return False;
-
-       if (array->count == 0) {
-               return True;
-       }
-
-       if (UNMARSHALLING(ps)) {
-               array->sids = talloc_zero(get_talloc_ctx(), array->count * sizeof(array->sids[0]));
-       }
-       if (! array->sids) {
-               return False;
-       }
-
-       for (i=0;i<array->count;i++) {
-               if(!prs_uint32("ref_id", ps, depth, &array->sids[i].ref_id))
-                       return False;
-       }
-
-       for (i=0;i<array->count;i++) {
-               if (!smb_io_dom_sid2("sid", &array->sids[i].sid, ps, depth)) 
-                       return False;
-       }
-       
-       return True;
-}
-
 /*******************************************************************
  Inits a DOM_RID2 structure.
 ********************************************************************/
index 53f660fcc3389233375fdecade715f7d305d8e9f..1e3183647681b70193c4ddc0c63e87d6651d9a66 100644 (file)
@@ -873,12 +873,10 @@ static int init_dom_sid2s(TALLOC_CTX *ctx, const char *sids_str, DOM_SID2 **ppsi
                int number;
                DOM_SID2 *sids;
 
-               /* Count the number of valid SIDs. */
-               for (count = 0, ptr = sids_str; next_token(&ptr, s2, NULL, sizeof(s2)); ) {
-                       DOM_SID tmpsid;
-                       if (string_to_sid(&tmpsid, s2))
-                               count++;
-               }
+               /* Count the number of SIDs. */
+               for (count = 0, ptr = sids_str; 
+                 next_token(&ptr, s2, NULL, sizeof(s2)); count++)
+                       ;
 
                /* Now allocate space for them. */
                *ppsids = (DOM_SID2 *)talloc_zero(ctx, count * sizeof(DOM_SID2));
@@ -887,13 +885,11 @@ static int init_dom_sid2s(TALLOC_CTX *ctx, const char *sids_str, DOM_SID2 **ppsi
 
                sids = *ppsids;
 
-               for (number = 0, ptr = sids_str; next_token(&ptr, s2, NULL, sizeof(s2)); ) {
+               for (number = 0, ptr = sids_str; 
+                 next_token(&ptr, s2, NULL, sizeof(s2)); number++) {
                        DOM_SID tmpsid;
-                       if (string_to_sid(&tmpsid, s2)) {
-                               /* count only valid sids */
-                               init_dom_sid2(&sids[number], &tmpsid);
-                               number++;
-                       }
+                       string_to_sid(&tmpsid, s2);
+                       init_dom_sid2(&sids[number], &tmpsid);
                }
        }
 
index fad8f5641abef0cb25a27f0c2b2356dd1b0f23d5..11388a00b102856ae3071741a4b666a52d417bc0 100644 (file)
@@ -642,168 +642,38 @@ static BOOL api_lsa_query_info2(pipes_struct *p)
 }
 
 
-
-/***************************************************************************
- api_lsa_enum_acctrights
- ***************************************************************************/
-static BOOL api_lsa_enum_acct_rights(pipes_struct *p)
-{
-       LSA_Q_ENUM_ACCT_RIGHTS q_u;
-       LSA_R_ENUM_ACCT_RIGHTS r_u;
-       
-       prs_struct *data = &p->in_data.data;
-       prs_struct *rdata = &p->out_data.rdata;
-
-       ZERO_STRUCT(q_u);
-       ZERO_STRUCT(r_u);
-
-       if(!lsa_io_q_enum_acct_rights("", &q_u, data, 0)) {
-               DEBUG(0,("api_lsa_enum_acct_rights: failed to unmarshall LSA_Q_ENUM_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       r_u.status = _lsa_enum_acct_rights(p, &q_u, &r_u);
-
-       /* store the response in the SMB stream */
-       if(!lsa_io_r_enum_acct_rights("", &r_u, rdata, 0)) {
-               DEBUG(0,("api_lsa_enum_acct_rights: Failed to marshall LSA_R_ENUM_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       return True;
-}
-
-
-/***************************************************************************
- api_lsa_enum_acct_with_right
- ***************************************************************************/
-static BOOL api_lsa_enum_acct_with_right(pipes_struct *p)
-{
-       LSA_Q_ENUM_ACCT_WITH_RIGHT q_u;
-       LSA_R_ENUM_ACCT_WITH_RIGHT r_u;
-       
-       prs_struct *data = &p->in_data.data;
-       prs_struct *rdata = &p->out_data.rdata;
-
-       ZERO_STRUCT(q_u);
-       ZERO_STRUCT(r_u);
-
-       if(!lsa_io_q_enum_acct_with_right("", &q_u, data, 0)) {
-               DEBUG(0,("api_lsa_enum_acct_with_right: failed to unmarshall LSA_Q_ENUM_ACCT_WITH_RIGHT.\n"));
-               return False;
-       }
-
-       r_u.status = _lsa_enum_acct_with_right(p, &q_u, &r_u);
-
-       /* store the response in the SMB stream */
-       if(!lsa_io_r_enum_acct_with_right("", &r_u, rdata, 0)) {
-               DEBUG(0,("api_lsa_enum_acct_with_right: Failed to marshall LSA_R_ENUM_ACCT_WITH_RIGHT.\n"));
-               return False;
-       }
-
-       return True;
-}
-
-
-/***************************************************************************
- api_lsa_add_acctrights
- ***************************************************************************/
-static BOOL api_lsa_add_acct_rights(pipes_struct *p)
-{
-       LSA_Q_ADD_ACCT_RIGHTS q_u;
-       LSA_R_ADD_ACCT_RIGHTS r_u;
-       
-       prs_struct *data = &p->in_data.data;
-       prs_struct *rdata = &p->out_data.rdata;
-
-       ZERO_STRUCT(q_u);
-       ZERO_STRUCT(r_u);
-
-       if(!lsa_io_q_add_acct_rights("", &q_u, data, 0)) {
-               DEBUG(0,("api_lsa_add_acct_rights: failed to unmarshall LSA_Q_ADD_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       r_u.status = _lsa_add_acct_rights(p, &q_u, &r_u);
-
-       /* store the response in the SMB stream */
-       if(!lsa_io_r_add_acct_rights("", &r_u, rdata, 0)) {
-               DEBUG(0,("api_lsa_add_acct_rights: Failed to marshall LSA_R_ADD_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       return True;
-}
-
-
-/***************************************************************************
- api_lsa_remove_acctrights
- ***************************************************************************/
-static BOOL api_lsa_remove_acct_rights(pipes_struct *p)
-{
-       LSA_Q_REMOVE_ACCT_RIGHTS q_u;
-       LSA_R_REMOVE_ACCT_RIGHTS r_u;
-       
-       prs_struct *data = &p->in_data.data;
-       prs_struct *rdata = &p->out_data.rdata;
-
-       ZERO_STRUCT(q_u);
-       ZERO_STRUCT(r_u);
-
-       if(!lsa_io_q_remove_acct_rights("", &q_u, data, 0)) {
-               DEBUG(0,("api_lsa_remove_acct_rights: failed to unmarshall LSA_Q_REMOVE_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       r_u.status = _lsa_remove_acct_rights(p, &q_u, &r_u);
-
-       /* store the response in the SMB stream */
-       if(!lsa_io_r_remove_acct_rights("", &r_u, rdata, 0)) {
-               DEBUG(0,("api_lsa_remove_acct_rights: Failed to marshall LSA_R_REMOVE_ACCT_RIGHTS.\n"));
-               return False;
-       }
-
-       return True;
-}
-
-
 /***************************************************************************
  \PIPE\ntlsa commands
  ***************************************************************************/
-
 #ifdef RPC_LSA_DYNAMIC
 int rpc_pipe_init(void)
 #else
 int rpc_lsa_init(void)
 #endif
 {
-  static const struct api_struct api_lsa_cmds[] =
-    {
-      { "LSA_OPENPOLICY2"     , LSA_OPENPOLICY2     , api_lsa_open_policy2     },
-      { "LSA_OPENPOLICY"      , LSA_OPENPOLICY      , api_lsa_open_policy      },
-      { "LSA_QUERYINFOPOLICY" , LSA_QUERYINFOPOLICY , api_lsa_query_info       },
-      { "LSA_ENUMTRUSTDOM"    , LSA_ENUMTRUSTDOM    , api_lsa_enum_trust_dom   },
-      { "LSA_CLOSE"           , LSA_CLOSE           , api_lsa_close            },
-      { "LSA_OPENSECRET"      , LSA_OPENSECRET      , api_lsa_open_secret      },
-      { "LSA_LOOKUPSIDS"      , LSA_LOOKUPSIDS      , api_lsa_lookup_sids      },
-      { "LSA_LOOKUPNAMES"     , LSA_LOOKUPNAMES     , api_lsa_lookup_names     },
-      { "LSA_ENUM_PRIVS"      , LSA_ENUM_PRIVS      , api_lsa_enum_privs       },
-      { "LSA_PRIV_GET_DISPNAME",LSA_PRIV_GET_DISPNAME,api_lsa_priv_get_dispname},
-      { "LSA_ENUM_ACCOUNTS"   , LSA_ENUM_ACCOUNTS   , api_lsa_enum_accounts    },
-      { "LSA_UNK_GET_CONNUSER", LSA_UNK_GET_CONNUSER, api_lsa_unk_get_connuser },
-      { "LSA_OPENACCOUNT"     , LSA_OPENACCOUNT     , api_lsa_open_account     },
-      { "LSA_ENUMPRIVSACCOUNT", LSA_ENUMPRIVSACCOUNT, api_lsa_enum_privsaccount},
-      { "LSA_GETSYSTEMACCOUNT", LSA_GETSYSTEMACCOUNT, api_lsa_getsystemaccount },
-      { "LSA_SETSYSTEMACCOUNT", LSA_SETSYSTEMACCOUNT, api_lsa_setsystemaccount },
-      { "LSA_ADDPRIVS"        , LSA_ADDPRIVS        , api_lsa_addprivs         },
-      { "LSA_REMOVEPRIVS"     , LSA_REMOVEPRIVS     , api_lsa_removeprivs      },
-      { "LSA_QUERYSECOBJ"     , LSA_QUERYSECOBJ     , api_lsa_query_secobj     },
-      { "LSA_QUERYINFO2"      , LSA_QUERYINFO2      , api_lsa_query_info2      },
-      { "LSA_ENUMACCTRIGHTS"  , LSA_ENUMACCTRIGHTS  , api_lsa_enum_acct_rights },
-      { "LSA_ENUMACCTWITHRIGHT", LSA_ENUMACCTWITHRIGHT, api_lsa_enum_acct_with_right },
-      { "LSA_ADDACCTRIGHTS"   , LSA_ADDACCTRIGHTS   , api_lsa_add_acct_rights  },
-      { "LSA_REMOVEACCTRIGHTS", LSA_REMOVEACCTRIGHTS, api_lsa_remove_acct_rights},
-    };
+static const struct api_struct api_lsa_cmds[] =
+{
+       { "LSA_OPENPOLICY2"     , LSA_OPENPOLICY2     , api_lsa_open_policy2     },
+       { "LSA_OPENPOLICY"      , LSA_OPENPOLICY      , api_lsa_open_policy      },
+       { "LSA_QUERYINFOPOLICY" , LSA_QUERYINFOPOLICY , api_lsa_query_info       },
+       { "LSA_ENUMTRUSTDOM"    , LSA_ENUMTRUSTDOM    , api_lsa_enum_trust_dom   },
+       { "LSA_CLOSE"           , LSA_CLOSE           , api_lsa_close            },
+       { "LSA_OPENSECRET"      , LSA_OPENSECRET      , api_lsa_open_secret      },
+       { "LSA_LOOKUPSIDS"      , LSA_LOOKUPSIDS      , api_lsa_lookup_sids      },
+       { "LSA_LOOKUPNAMES"     , LSA_LOOKUPNAMES     , api_lsa_lookup_names     },
+       { "LSA_ENUM_PRIVS"      , LSA_ENUM_PRIVS      , api_lsa_enum_privs       },
+       { "LSA_PRIV_GET_DISPNAME",LSA_PRIV_GET_DISPNAME,api_lsa_priv_get_dispname},
+       { "LSA_ENUM_ACCOUNTS"   , LSA_ENUM_ACCOUNTS   , api_lsa_enum_accounts    },
+       { "LSA_UNK_GET_CONNUSER", LSA_UNK_GET_CONNUSER, api_lsa_unk_get_connuser },
+       { "LSA_OPENACCOUNT"     , LSA_OPENACCOUNT     , api_lsa_open_account     },
+       { "LSA_ENUMPRIVSACCOUNT", LSA_ENUMPRIVSACCOUNT, api_lsa_enum_privsaccount},
+       { "LSA_GETSYSTEMACCOUNT", LSA_GETSYSTEMACCOUNT, api_lsa_getsystemaccount },
+       { "LSA_SETSYSTEMACCOUNT", LSA_SETSYSTEMACCOUNT, api_lsa_setsystemaccount },
+       { "LSA_ADDPRIVS"        , LSA_ADDPRIVS        , api_lsa_addprivs         },
+       { "LSA_REMOVEPRIVS"     , LSA_REMOVEPRIVS     , api_lsa_removeprivs      },
+       { "LSA_QUERYSECOBJ"     , LSA_QUERYSECOBJ     , api_lsa_query_secobj     },
+       { "LSA_QUERYINFO2"      , LSA_QUERYINFO2      , api_lsa_query_info2      }
+};
 
   return rpc_pipe_register_commands("lsarpc", "lsass", api_lsa_cmds, 
                                    sizeof(api_lsa_cmds) / sizeof(struct api_struct));
index b230381d62956ed78e38232c2db96635fbb1b54f..fc51d7ef2fcaac29081ee6ae83d5e35a0d1a19ce 100644 (file)
@@ -1260,140 +1260,3 @@ NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_I
 
        return r_u->status;
 }
-
-
-/***************************************************************************
- For a given SID, enumerate all the privilege this account has.
- ***************************************************************************/
-NTSTATUS _lsa_enum_acct_rights(pipes_struct *p, LSA_Q_ENUM_ACCT_RIGHTS *q_u, LSA_R_ENUM_ACCT_RIGHTS *r_u)
-{
-       struct lsa_info *info=NULL;
-       char **rights = NULL;
-       int num_rights = 0;
-       int i;
-
-       r_u->status = NT_STATUS_OK;
-
-       /* find the connection policy handle. */
-       if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
-               return NT_STATUS_INVALID_HANDLE;
-
-       r_u->status = privilege_enum_account_rights(&q_u->sid.sid, &num_rights, &rights);
-
-       init_r_enum_acct_rights(r_u, num_rights, rights);
-
-       for (i=0;i<num_rights;i++) {
-               free(rights[i]);
-       }
-       safe_free(rights);
-
-       return r_u->status;
-}
-
-/***************************************************************************
-return a list of SIDs for a particular privilege
- ***************************************************************************/
-NTSTATUS _lsa_enum_acct_with_right(pipes_struct *p, 
-                                  LSA_Q_ENUM_ACCT_WITH_RIGHT *q_u, 
-                                  LSA_R_ENUM_ACCT_WITH_RIGHT *r_u)
-{
-       struct lsa_info *info=NULL;
-       char *right;
-       DOM_SID *sids = NULL;
-       uint32 count = 0;
-
-       r_u->status = NT_STATUS_OK;
-
-       /* find the connection policy handle. */
-       if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
-               return NT_STATUS_INVALID_HANDLE;
-
-       right = unistr2_tdup(p->mem_ctx, &q_u->right);
-
-       DEBUG(5,("lsa_enum_acct_with_right on right %s\n", right));
-
-       r_u->status = privilege_enum_account_with_right(right, &count, &sids);
-
-       init_r_enum_acct_with_right(r_u, count, sids);
-
-       safe_free(sids);
-
-       return r_u->status;
-}
-
-/***************************************************************************
- add privileges to a acct by SID
- ***************************************************************************/
-NTSTATUS _lsa_add_acct_rights(pipes_struct *p, LSA_Q_ADD_ACCT_RIGHTS *q_u, LSA_R_ADD_ACCT_RIGHTS *r_u)
-{
-       struct lsa_info *info=NULL;
-       int i;
-
-       r_u->status = NT_STATUS_OK;
-
-       /* find the connection policy handle. */
-       if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
-               return NT_STATUS_INVALID_HANDLE;
-
-       DEBUG(5,("_lsa_add_acct_rights to %s (%d rights)\n", 
-                sid_string_static(&q_u->sid.sid), q_u->rights.count));
-
-       for (i=0;i<q_u->rights.count;i++) {
-               DEBUG(5,("\t%s\n", unistr2_static(&q_u->rights.strings[i].string)));
-       }
-
-
-       for (i=0;i<q_u->rights.count;i++) {
-               r_u->status = privilege_add_account_right(unistr2_static(&q_u->rights.strings[i].string),
-                                                         &q_u->sid.sid);
-               if (!NT_STATUS_IS_OK(r_u->status)) {
-                       DEBUG(2,("Failed to add right '%s'\n", 
-                                unistr2_static(&q_u->rights.strings[i].string)));
-                       break;
-               }
-       }
-
-       init_r_add_acct_rights(r_u);
-
-       return r_u->status;
-}
-
-
-/***************************************************************************
- remove privileges from a acct by SID
- ***************************************************************************/
-NTSTATUS _lsa_remove_acct_rights(pipes_struct *p, LSA_Q_REMOVE_ACCT_RIGHTS *q_u, LSA_R_REMOVE_ACCT_RIGHTS *r_u)
-{
-       struct lsa_info *info=NULL;
-       int i;
-
-       r_u->status = NT_STATUS_OK;
-
-       /* find the connection policy handle. */
-       if (!find_policy_by_hnd(p, &q_u->pol, (void **)&info))
-               return NT_STATUS_INVALID_HANDLE;
-
-
-       DEBUG(5,("_lsa_remove_acct_rights from %s all=%d (%d rights)\n", 
-                sid_string_static(&q_u->sid.sid),
-                q_u->removeall,
-                q_u->rights.count));
-
-       for (i=0;i<q_u->rights.count;i++) {
-               DEBUG(5,("\t%s\n", unistr2_static(&q_u->rights.strings[i].string)));
-       }
-
-       for (i=0;i<q_u->rights.count;i++) {
-               r_u->status = privilege_remove_account_right(unistr2_static(&q_u->rights.strings[i].string),
-                                                            &q_u->sid.sid);
-               if (!NT_STATUS_IS_OK(r_u->status)) {
-                       DEBUG(2,("Failed to remove right '%s'\n", 
-                                unistr2_static(&q_u->rights.strings[i].string)));
-                       break;
-               }
-       }
-
-       init_r_remove_acct_rights(r_u);
-
-       return r_u->status;
-}
index 6182da53d99fa5f9573a2685bdccc86c89d2ead9..8070cdd9841755a53d1bda5baa084af1bf3f1fc1 100644 (file)
@@ -668,7 +668,7 @@ NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *
                fstring group_sid_string;
                uchar user_sess_key[16];
                uchar netlogon_sess_key[16];
-
+               
                sampw = server_info->sam_account;
 
                /* set up pointer indicating user/password failed to be found */
index d766e9c19efe34c6c5ae43511d08d02e269aa6a2..2896fd79e40b8aa48caf16aa5d8ccb6df243a43b 100644 (file)
@@ -3427,7 +3427,7 @@ NTSTATUS _samr_add_aliasmem(pipes_struct *p, SAMR_Q_ADD_ALIASMEM *q_u, SAMR_R_AD
        fstrcpy(grp_name, grp->gr_name);
 
        /* if the user is already in the group */
-       if(user_in_unix_group_list(pwd->pw_name, grp_name)) {
+       if(user_in_group_list(pwd->pw_name, grp_name)) {
                passwd_free(&pwd);
                return NT_STATUS_MEMBER_IN_ALIAS;
        }
@@ -3439,7 +3439,7 @@ NTSTATUS _samr_add_aliasmem(pipes_struct *p, SAMR_Q_ADD_ALIASMEM *q_u, SAMR_R_AD
        smb_add_user_group(grp_name, pwd->pw_name);
 
        /* check if the user has been added then ... */
-       if(!user_in_unix_group_list(pwd->pw_name, grp_name)) {
+       if(!user_in_group_list(pwd->pw_name, grp_name)) {
                passwd_free(&pwd);
                return NT_STATUS_MEMBER_NOT_IN_ALIAS;   /* don't know what to reply else */
        }
@@ -3485,7 +3485,7 @@ NTSTATUS _samr_del_aliasmem(pipes_struct *p, SAMR_Q_DEL_ALIASMEM *q_u, SAMR_R_DE
        if ((grp=getgrgid(map.gid)) == NULL)
                return NT_STATUS_NO_SUCH_ALIAS;
 
-       /* we need to copy the name otherwise it's overloaded in user_in_unix_group_list */
+       /* we need to copy the name otherwise it's overloaded in user_in_group_list */
        fstrcpy(grp_name, grp->gr_name);
 
        /* check if the user exists before trying to remove it from the group */
@@ -3497,7 +3497,7 @@ NTSTATUS _samr_del_aliasmem(pipes_struct *p, SAMR_Q_DEL_ALIASMEM *q_u, SAMR_R_DE
        }
 
        /* if the user is not in the group */
-       if(!user_in_unix_group_list(pdb_get_username(sam_pass), grp_name)) {
+       if(!user_in_group_list(pdb_get_username(sam_pass), grp_name)) {
                pdb_free_sam(&sam_pass);
                return NT_STATUS_MEMBER_IN_ALIAS;
        }
@@ -3505,7 +3505,7 @@ NTSTATUS _samr_del_aliasmem(pipes_struct *p, SAMR_Q_DEL_ALIASMEM *q_u, SAMR_R_DE
        smb_delete_user_group(grp_name, pdb_get_username(sam_pass));
 
        /* check if the user has been removed then ... */
-       if(user_in_unix_group_list(pdb_get_username(sam_pass), grp_name)) {
+       if(user_in_group_list(pdb_get_username(sam_pass), grp_name)) {
                pdb_free_sam(&sam_pass);
                return NT_STATUS_MEMBER_NOT_IN_ALIAS;   /* don't know what to reply else */
        }
@@ -3583,11 +3583,11 @@ NTSTATUS _samr_add_groupmem(pipes_struct *p, SAMR_Q_ADD_GROUPMEM *q_u, SAMR_R_AD
                return NT_STATUS_NO_SUCH_GROUP;
        }
 
-       /* we need to copy the name otherwise it's overloaded in user_in_unix_group_list */
+       /* we need to copy the name otherwise it's overloaded in user_in_group_list */
        fstrcpy(grp_name, grp->gr_name);
 
        /* if the user is already in the group */
-       if(user_in_unix_group_list(pwd->pw_name, grp_name)) {
+       if(user_in_group_list(pwd->pw_name, grp_name)) {
                passwd_free(&pwd);
                return NT_STATUS_MEMBER_IN_GROUP;
        }
@@ -3601,7 +3601,7 @@ NTSTATUS _samr_add_groupmem(pipes_struct *p, SAMR_Q_ADD_GROUPMEM *q_u, SAMR_R_AD
        smb_add_user_group(grp_name, pwd->pw_name);
 
        /* check if the user has been added then ... */
-       if(!user_in_unix_group_list(pwd->pw_name, grp_name)) {
+       if(!user_in_group_list(pwd->pw_name, grp_name)) {
                passwd_free(&pwd);
                return NT_STATUS_MEMBER_NOT_IN_GROUP;           /* don't know what to reply else */
        }
@@ -3662,7 +3662,7 @@ NTSTATUS _samr_del_groupmem(pipes_struct *p, SAMR_Q_DEL_GROUPMEM *q_u, SAMR_R_DE
        }
 
        /* if the user is not in the group */
-       if (!user_in_unix_group_list(pdb_get_username(sam_pass), grp_name)) {
+       if (!user_in_group_list(pdb_get_username(sam_pass), grp_name)) {
                pdb_free_sam(&sam_pass);
                return NT_STATUS_MEMBER_NOT_IN_GROUP;
        }
@@ -3670,7 +3670,7 @@ NTSTATUS _samr_del_groupmem(pipes_struct *p, SAMR_Q_DEL_GROUPMEM *q_u, SAMR_R_DE
        smb_delete_user_group(grp_name, pdb_get_username(sam_pass));
 
        /* check if the user has been removed then ... */
-       if (user_in_unix_group_list(pdb_get_username(sam_pass), grp_name)) {
+       if (user_in_group_list(pdb_get_username(sam_pass), grp_name)) {
                pdb_free_sam(&sam_pass);
                return NT_STATUS_ACCESS_DENIED;         /* don't know what to reply else */
        }
index d94bebf4c164b660adcabd0686f2ec39940b2891..4306f5185c9dd07b3abc11163775690d39452e0e 100644 (file)
@@ -1606,7 +1606,7 @@ Can't find printer handle we created for printer %s\n", name ));
                        /* if the user is not root and not a printer admin, then fail */
                        
                        if ( user.uid != 0
-                            && !user_in_list(uidtoname(user.uid), lp_printer_admin(snum), user.groups, user.ngroups) )
+                            && !user_in_list(uidtoname(user.uid), lp_printer_admin(snum)) )
                        {
                                close_printer_handle(p, handle);
                                return WERR_ACCESS_DENIED;
@@ -1653,7 +1653,7 @@ Can't find printer handle we created for printer %s\n", name ));
 
                /* check smb.conf parameters and the the sec_desc */
                
-               if (!user_ok(uidtoname(user.uid), snum, user.groups, user.ngroups) || !print_access_check(&user, snum, printer_default->access_required)) {
+               if (!user_ok(uidtoname(user.uid), snum) || !print_access_check(&user, snum, printer_default->access_required)) {
                        DEBUG(3, ("access DENIED for printer open\n"));
                        close_printer_handle(p, handle);
                        return WERR_ACCESS_DENIED;
index 946015c1e31898f90da260fcd700c2af93c06afd..9a2114e07e08cffdbb283d8c89c2b59e4e223d8e 100644 (file)
@@ -38,7 +38,7 @@ static NTSTATUS cmd_ds_dsrole_getprimarydominfo(struct cli_state *cli,
                
                if ( ctr.basic->flags & DSROLE_PRIMARY_DS_RUNNING )     {
                        printf( "Directory Service is running.\n");
-                       printf( "Domain is in %s mode.\n", (ctr.basic->flags & DSROLE_PRIMARY_DS_MIXED_MODE) ? "mixed" : "native" );
+                       printf( "Domain is in %s mode.\n", (ctr.basic->flags & DSROLE_PRIMARY_DS_MIXED_MODE) ? "mized" : "native" );
                }
                else
                        printf( "Directory Service not running on server\n");
index 03df170c096cf24c65069ddccf45bba06ed86e1c..8afeb8e83bd1410dd0161cc9910383442d263256 100644 (file)
@@ -210,11 +210,8 @@ static NTSTATUS cmd_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx,
                goto done;
        }
 
-       for (i = 0; i < argc - 1; i++) 
-               if (!string_to_sid(&sids[i], argv[i + 1])) {
-                       result = NT_STATUS_INVALID_SID;
-                       goto done;
-               }
+       for (i = 0; i < argc - 1; i++)
+               string_to_sid(&sids[i], argv[i + 1]);
 
        /* Lookup the SIDs */
 
@@ -300,7 +297,7 @@ static NTSTATUS cmd_lsa_enum_trust_dom(struct cli_state *cli,
 /* Enumerates privileges */
 
 static NTSTATUS cmd_lsa_enum_privilege(struct cli_state *cli, 
-                                      TALLOC_CTX *mem_ctx, int argc, 
+                                          TALLOC_CTX *mem_ctx, int argc, 
                                           char **argv) 
 {
        POLICY_HND pol;
@@ -391,7 +388,7 @@ static NTSTATUS cmd_lsa_get_dispname(struct cli_state *cli,
 /* Enumerate the LSA SIDS */
 
 static NTSTATUS cmd_lsa_enum_sids(struct cli_state *cli, 
-                                 TALLOC_CTX *mem_ctx, int argc, 
+                                     TALLOC_CTX *mem_ctx, int argc, 
                                      char **argv) 
 {
        POLICY_HND pol;
@@ -543,50 +540,6 @@ static NTSTATUS cmd_lsa_enum_acct_rights(struct cli_state *cli,
 }
 
 
-/* Enumerate the accounts with a specific right */
-
-static NTSTATUS cmd_lsa_enum_acct_with_right(struct cli_state *cli, 
-                                            TALLOC_CTX *mem_ctx, int argc, 
-                                            const char **argv) 
-{
-       POLICY_HND dom_pol;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-       DOM_SID *sids;
-       uint32 count;
-       const char *right;
-
-       int i;
-
-       if (argc != 2 ) {
-               printf("Usage: %s <RIGHT>\n", argv[0]);
-               return NT_STATUS_OK;
-       }
-
-       right = argv[1];
-
-       result = cli_lsa_open_policy2(cli, mem_ctx, True, 
-                                    SEC_RIGHTS_MAXIMUM_ALLOWED,
-                                    &dom_pol);
-
-       if (!NT_STATUS_IS_OK(result))
-               goto done;
-
-       result = cli_lsa_enum_account_with_right(cli, mem_ctx, &dom_pol, right, &count, &sids);
-
-       if (!NT_STATUS_IS_OK(result))
-               goto done;
-
-       printf("found %d SIDs for '%s'\n", count, right);
-
-       for (i = 0; i < count; i++) {
-               printf("\t%s\n", sid_string_static(&sids[i]));
-       }
-
- done:
-       return result;
-}
-
-
 /* add some privileges to a SID via LsaAddAccountRights */
 
 static NTSTATUS cmd_lsa_add_acct_rights(struct cli_state *cli, 
@@ -750,7 +703,6 @@ struct cmd_set lsarpc_commands[] = {
        { "lsaenumsid",          cmd_lsa_enum_sids,          PI_LSARPC, "Enumerate the LSA SIDS",               "" },
        { "lsaenumprivsaccount", cmd_lsa_enum_privsaccounts, PI_LSARPC, "Enumerate the privileges of an SID",   "" },
        { "lsaenumacctrights",   cmd_lsa_enum_acct_rights,   PI_LSARPC, "Enumerate the rights of an SID",   "" },
-       { "lsaenumacctwithright",cmd_lsa_enum_acct_with_right,PI_LSARPC,"Enumerate accounts with a right",   "" },
        { "lsaaddacctrights",    cmd_lsa_add_acct_rights,    PI_LSARPC, "Add rights to an account",   "" },
        { "lsaremoveacctrights", cmd_lsa_remove_acct_rights, PI_LSARPC, "Remove rights from an account",   "" },
        { "lsalookupprivvalue",  cmd_lsa_lookupprivvalue,    PI_LSARPC, "Get a privilege value given its name", "" },
index 66f2e8dc9978b2f10d45fb8e81ca783ac53ab677..0ec94c99795bc14b0038d8f645f77a57d6a14ec0 100644 (file)
@@ -41,15 +41,6 @@ static const struct table_node archi_table[]= {
        {NULL,                   "",            -1 }
 };
 
-/**
- * @file
- *
- * rpcclient module for SPOOLSS rpc pipe.
- *
- * This generally just parses and checks command lines, and then calls
- * a cli_spoolss function.
- **/
-
 /****************************************************************************
 function to do the mapping between the long architecture name and
 the short one.
index 10fdfd743744550bd12d88a6cd699ce8e3438d8a..282cbb3b997ef0d8ec86858c7844babdc7ecbe70 100644 (file)
@@ -179,13 +179,14 @@ static void display_srv_info_102(SRV_INFO_102 *sv102)
 }
 
 /* Server query info */
+
 static NTSTATUS cmd_srvsvc_srv_query_info(struct cli_state *cli, 
                                           TALLOC_CTX *mem_ctx,
                                           int argc, char **argv)
 {
        uint32 info_level = 101;
        SRV_INFO_CTR ctr;
-       WERROR result;
+       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
 
        if (argc > 2) {
                printf("Usage: %s [infolevel]\n", argv[0]);
@@ -198,7 +199,7 @@ static NTSTATUS cmd_srvsvc_srv_query_info(struct cli_state *cli,
        result = cli_srvsvc_net_srv_get_info(cli, mem_ctx, info_level,
                                             &ctr);
 
-       if (!W_ERROR_IS_OK(result)) {
+       if (!NT_STATUS_IS_OK(result)) {
                goto done;
        }
 
@@ -217,7 +218,7 @@ static NTSTATUS cmd_srvsvc_srv_query_info(struct cli_state *cli,
        }
 
  done:
-       return W_ERROR_IS_OK(result) ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+       return result;
 }
 
 static void display_share_info_1(SRV_SHARE_INFO_1 *info1)
index 81bb62486a17d8098334cac9ace6799a9302deb8..2609519dc487d7da91818632b1e62245f625d77f 100644 (file)
@@ -3,7 +3,6 @@
    RPC pipe client
 
    Copyright (C) Tim Potter 2000-2001
-   Copyright (C) Martin Pool 2003
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 DOM_SID domain_sid;
 
-
-/* List to hold groups of commands.
- *
- * Commands are defined in a list of arrays: arrays are easy to
- * statically declare, and lists are easier to dynamically extend.
- */
+/* List to hold groups of commands */
 
 static struct cmd_list {
        struct cmd_list *prev, *next;
@@ -170,28 +164,21 @@ static char* next_command (char** cmdstr)
        if (p)
                *p = '\0';
        pstrcpy(command, *cmdstr);
-       *cmdstr = p + 1;
+       *cmdstr = p;
        
        return command;
 }
 
-
-/**
- * Find default username from environment variables.
- *
- * @param username fstring to receive username; not touched if none is
- * known.
- **/
 static void get_username (char *username)
 {
         if (getenv("USER"))
-                fstrcpy(username,getenv("USER"));
+                pstrcpy(username,getenv("USER"));
  
         if (*username == 0 && getenv("LOGNAME"))
-                fstrcpy(username,getenv("LOGNAME"));
+                pstrcpy(username,getenv("LOGNAME"));
  
         if (*username == 0) {
-                fstrcpy(username,"GUEST");
+                pstrcpy(username,"GUEST");
         }
 
        return;
@@ -384,7 +371,7 @@ static NTSTATUS cmd_quit(struct cli_state *cli, TALLOC_CTX *mem_ctx,
        return NT_STATUS_OK; /* NOTREACHED */
 }
 
-/* Built in rpcclient commands */
+/* Build in rpcclient commands */
 
 static struct cmd_set rpcclient_commands[] = {
 
@@ -445,105 +432,145 @@ static void add_command_set(struct cmd_set *cmd_set)
        DLIST_ADD(cmd_list, entry);
 }
 
-
-/**
- * Call an rpcclient function, passing an argv array.
- *
- * @param cmd Command to run, as a single string.
- **/
-static NTSTATUS do_cmd(struct cli_state *cli,
-                      struct cmd_set *cmd_entry,
-                      int argc, char **argv)
+static NTSTATUS do_cmd(struct cli_state *cli, struct cmd_set *cmd_entry, 
+                       char *cmd)
 {
-       NTSTATUS result;
-       
-       TALLOC_CTX *mem_ctx;
+       char **argv = NULL;
+       const char *p = cmd;
+       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+       pstring buf;
+       int argc = 0, i;
+
+       /* Count number of arguments first time through the loop then
+          allocate memory and strdup them. */
+
+ again:
+       while(next_token(&p, buf, " ", sizeof(buf))) {
+               if (argv) {
+                       argv[argc] = strdup(buf);
+               }
+               
+               argc++;
+       }
+                               
+       if (!argv) {
 
-       /* Create mem_ctx */
+               /* Create argument list */
 
-       if (!(mem_ctx = talloc_init("do_cmd"))) {
-               DEBUG(0, ("talloc_init() failed\n"));
-               return NT_STATUS_UNSUCCESSFUL;
+               argv = (char **)malloc(sizeof(char *) * argc);
+                memset(argv, 0, sizeof(char *) * argc);
+
+               if (!argv) {
+                       fprintf(stderr, "out of memory\n");
+                       result = NT_STATUS_NO_MEMORY;
+                        goto done;
+               }
+                                       
+               p = cmd;
+               argc = 0;
+                                       
+               goto again;
        }
 
-       /* Open pipe */
+       /* Call the function */
 
-       if (cmd_entry->pipe_idx != -1)
-               if (!cli_nt_session_open(cli, cmd_entry->pipe_idx)) {
-                       DEBUG(0, ("Could not initialize pipe\n"));
-                       return NT_STATUS_UNSUCCESSFUL;
-               }
+       if (cmd_entry->fn) {
+                TALLOC_CTX *mem_ctx;
 
-       /* Run command */
+                /* Create mem_ctx */
 
-       result = cmd_entry->fn(cli, mem_ctx, argc, (char **) argv);
+                if (!(mem_ctx = talloc_init("do_cmd"))) {
+                        DEBUG(0, ("talloc_init() failed\n"));
+                        goto done;
+                }
 
-       /* Cleanup */
+                /* Open pipe */
 
-       if (cmd_entry->pipe_idx != -1)
-               cli_nt_session_close(cli);
+                if (cmd_entry->pipe_idx != -1)
+                        if (!cli_nt_session_open(cli, cmd_entry->pipe_idx)) {
+                                DEBUG(0, ("Could not initialise pipe\n"));
+                                goto done;
+                        }
 
-       talloc_destroy(mem_ctx);
+                /* Run command */
+
+                result = cmd_entry->fn(cli, mem_ctx, argc, argv);
 
+                /* Cleanup */
+
+                if (cmd_entry->pipe_idx != -1)
+                        cli_nt_session_close(cli);
+
+                talloc_destroy(mem_ctx);
+
+       } else {
+               fprintf (stderr, "Invalid command\n");
+                goto done;
+        }
+
+ done:
+                                               
+       /* Cleanup */
+
+        if (argv) {
+                for (i = 0; i < argc; i++)
+                        SAFE_FREE(argv[i]);
+       
+                SAFE_FREE(argv);
+        }
+       
        return result;
 }
 
+/* Process a command entered at the prompt or as part of -c */
 
-/**
- * Process a command entered at the prompt or as part of -c
- *
- * @returns The NTSTATUS from running the command.
- **/
 static NTSTATUS process_cmd(struct cli_state *cli, char *cmd)
 {
        struct cmd_list *temp_list;
+       BOOL found = False;
+       pstring buf;
+       const char *p = cmd;
        NTSTATUS result = NT_STATUS_OK;
-       int ret;
-       int argc;
-       char **argv = NULL;
+       int len = 0;
+
+       if (cmd[strlen(cmd) - 1] == '\n')
+               cmd[strlen(cmd) - 1] = '\0';
 
-       if ((ret = poptParseArgvString(cmd, &argc, (const char ***) &argv)) != 0) {
-               fprintf(stderr, "rpcclient: %s\n", poptStrerror(ret));
-               return NT_STATUS_UNSUCCESSFUL;
+       if (!next_token(&p, buf, " ", sizeof(buf))) {
+               return NT_STATUS_OK;
        }
 
+        /* strip the trainly \n if it exsists */
+       len = strlen(buf);
+       if (buf[len-1] == '\n')
+               buf[len-1] = '\0';
+
+       /* Search for matching commands */
 
-       /* Walk through a dlist of arrays of commands. */
        for (temp_list = cmd_list; temp_list; temp_list = temp_list->next) {
                struct cmd_set *temp_set = temp_list->cmd_set;
 
-               while (temp_set->name) {
-                       if (strequal(argv[0], temp_set->name)) {
-                               if (!temp_set->fn) {
-                                       fprintf (stderr, "Invalid command\n");
-                                       goto out_free;
-                               }
+               while(temp_set->name) {
+                       if (strequal(buf, temp_set->name)) {
+                                found = True;
+                               result = do_cmd(cli, temp_set, cmd);
 
-                               result = do_cmd(cli, temp_set, argc, argv);
-
-                               goto out_free;
+                               goto done;
                        }
                        temp_set++;
                }
        }
 
-       if (argv[0]) {
-               printf("command not found: %s\n", argv[0]);
+ done:
+       if (!found && buf[0]) {
+               printf("command not found: %s\n", buf);
+               return NT_STATUS_OK;
        }
 
-out_free:
        if (!NT_STATUS_IS_OK(result)) {
                printf("result was %s\n", nt_errstr(result));
        }
 
-       if (argv) {
-               /* NOTE: popt allocates the whole argv, including the
-                * strings, as a single block.  So a single free is
-                * enough to release it -- we don't free the
-                * individual strings.  rtfm. */
-               free(argv);
-       }
-       
        return result;
 }
 
diff --git a/source3/sam/SAM-interface_handles.txt b/source3/sam/SAM-interface_handles.txt
deleted file mode 100644 (file)
index 1c164bd..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-SAM API \r
-\r
-NTSTATUS sam_get_sec_obj(NT_USER_TOKEN *access, DOM_SID *sid, SEC_DESC **sd)\r
-NTSTATUS sam_set_sec_obj(NT_USER_TOKEN *access, DOM_SID *sid, SEC_DESC *sd)\r
-\r
-NTSTATUS sam_lookup_name(NT_USER_TOKEN *access, DOM_SID *domain, char *name, DOM_SID **sid, uint32 *type)\r
-NTSTATUS sam_lookup_sid(NT_USER_TOKEN *access, DOM_SID *sid, char **name, uint32 *type)\r
-\r
-\r
-Domain API \r
-\r
-NTSTATUS sam_update_domain(SAM_DOMAIN_HANDLE *domain)\r
-\r
-NTSTATUS sam_enum_domains(NT_USER_TOKEN *access, int32 *domain_count, DOM_SID **domains, char **domain_names)\r
-NTSTATUS sam_lookup_domain(NT_USER_TOKEN *access, char *domain, DOM_SID **domainsid)\r
-\r
-NTSTATUS sam_get_domain_by_sid(NT_USER_TOKEN *access, uint32 access_desired, DOM_SID *domainsid, SAM_DOMAIN_HANDLE **domain)\r
-\r
-\r
-User API\r
-\r
-NTSTATUS sam_create_user(NT_USER_TOKEN *access, uint32 access_desired, SAM_USER_HANDLE **user)\r
-NTSTATUS sam_add_user(SAM_USER_HANDLE *user)\r
-NTSTATUS sam_update_user(SAM_USER_HANDLE *user)\r
-NTSTATUS sam_delete_user(SAM_USER_HANDLE * user)\r
-\r
-NTSTATUS sam_enum_users(NT_USER_TOKEN *access, DOM_SID *domain, int32 *user_count, SAM_USER_ENUM **users)\r
-\r
-NTSTATUS sam_get_user_by_sid(NT_USER_TOKEN *access, uint32 access_desired, DOM_SID *usersid, SAM_USER_HANDLE **user)\r
-NTSTATUS sam_get_user_by_name(NT_USER_TOKEN *access, uint32 access_desired, char *domain, char *name, SAM_USER_HANDLE **user)\r
-\r
-\r
-Group API \r
-\r
-NTSTATUS sam_create_group(NT_USER_TOKEN *access, uint32 access_desired, uint32 typ, SAM_GROUP_HANDLE **group)\r
-NTSTATUS sam_add_group(SAM_GROUP_HANDLE *samgroup)\r
-NTSTATUS sam_update_group(SAM_GROUP_HANDLE *samgroup)\r
-NTSTATUS sam_delete_group(SAM_GROUP_HANDLE *groupsid)\r
-\r
-NTSTATUS sam_enum_groups(NT_USER_TOKEN *access, DOM_SID *domainsid, uint32 typ, uint32 *groups_count, SAM_GROUP_ENUM **groups)\r
-\r
-NTSTATUS sam_get_group_by_sid(NT_USER_TOKEN *access, uint32 access_desired, DOM_SID *groupsid, SAM_GROUP_HANDLE **group)\r
-NTSTATUS sam_get_group_by_name(NT_USER_TOKEN *access, uint32 access_desired, char *domain, char *name, SAM_GROUP_HANDLE **group)\r
-\r
-NTSTATUS sam_add_member_to_group(SAM_GROUP_HANDLE *group, SAM_GROUP_MEMBER *member)\r
-NTSTATUS sam_delete_member_from_group(SAM_GROUP_HANDLE *group, SAM_GROUP_MEMBER *member)\r
-NTSTATUS sam_enum_groupmembers(SAM_GROUP_HANLDE *group, uint32 *members_count, SAM_GROUP_MEMBER **members)\r
-\r
-NTSTATUS sam_get_groups_of_user(SAM_USER_HANDLE *user, uint32 typ, uint32 *group_count, SAM_GROUP_ENUM **groups)\r
-\r
-\r
-\r
-structures\r
-\r
-typedef _SAM_GROUP_MEMBER {\r
- DOM_SID sid; \r
- BOOL group; /* specifies if it is a group or a user */ \r
-\r
-} SAM_GROUP_MEMBER\r
-\r
-typedef struct sam_user_enum {\r
- DOM_SID sid; \r
- char *username; \r
- char *full_name; \r
- char *user_desc; \r
- uint16 acc_ctrl; \r
-} SAM_USER_ENUM;\r
-\r
-typedef struct sam_group_enum {\r
- DOM_SID sid;\r
- char *groupname;\r
- char *comment;\r
-} SAM_GROUP_ENUM\r
-\r
-NTSTATUS sam_get_domain_sid(SAM_DOMAIN_HANDLE *domain, DOM_SID **sid)\r
-NTSTATUS sam_get_domain_num_users(SAM_DOMAIN_HANDLE *domain, uint32 *num_users)\r
-NTSTATUS sam_get_domain_num_groups(SAM_DOMAIN_HANDLE *domain, uint32 *num_groups)\r
-NTSTATUS sam_get_domain_num_aliases(SAM_DOMAIN_HANDLE *domain, uint32 *num_aliases)\r
-NTSTATUS sam_{get,set}_domain_name(SAM_DOMAIN_HANDLE *domain, char **domain_name)\r
-NTSTATUS sam_{get,set}_domain_server(SAM_DOMAIN_HANDLE *domain, char **server_name)\r
-NTSTATUS sam_{get,set}_domain_max_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *max_passwordage)\r
-NTSTATUS sam_{get,set}_domain_min_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *min_passwordage)\r
-NTSTATUS sam_{get,set}_domain_lockout_duration(SAM_DOMAIN_HANDLE *domain, NTTIME *lockout_duration)\r
-NTSTATUS sam_{get,set}_domain_reset_count(SAM_DOMAIN_HANDLE *domain, NTTIME *reset_lockout_count)\r
-NTSTATUS sam_{get,set}_domain_min_pwdlength(SAM_DOMAIN_HANDLE *domain, uint16 *min_passwordlength)\r
-NTSTATUS sam_{get,set}_domain_pwd_history(SAM_DOMAIN_HANDLE *domain, uin16 *password_history)\r
-NTSTATUS sam_{get,set}_domain_lockout_count(SAM_DOMAIN_HANDLE *domain, uint16 *lockout_count)\r
-NTSTATUS sam_{get,set}_domain_force_logoff(SAM_DOMAIN_HANDLE *domain, BOOL *force_logoff)\r
-NTSTATUS sam_{get,set}_domain_login_pwdchange(SAM_DOMAIN_HANDLE *domain, BOOL *login_pwdchange)\r
-\r
-NTSTATUS sam_get_user_sid(SAM_USER_HANDLE *user, DOM_SID **sid)\r
-NTSTATUS sam_{get,set}_user_pgroup(SAM_USER_HANDLE *user, DOM_SID **pgroup)\r
-NTSTATUS sam_{get,set}_user_name(SAM_USER_HANDLE *user, char **username)\r
-NTSTATUS sam_{get,set}_user_fullname(SAM_USER_HANDLE *user, char** fullname)\r
-NTSTATUS sam_{get,set}_user_description(SAM_USER_HANDLE *user, char **description)\r
-NTSTATUS sam_{get,set}_user_home_dir(SAM_USER_HANDLE *user, char **home_dir)\r
-NTSTATUS sam_{get,set}_user_dir_drive(SAM_USER_HANDLE *user, char **dir_drive)\r
-NTSTATUS sam_{get,set}_user_logon_script(SAM_USER_HANDLE *user, char **logon_script)\r
-NTSTATUS sam_{get,set}_user_profile_path(SAM_USER_HANDLE *user, char **profile_path)\r
-NTSTATUS sam_{get,set}_user_workstations(SAM_USER_HANDLE *user, char **workstations)\r
-NTSTATUS sam_{get,set}_user_munged_dial(SAM_USER_HANDLE *user, char **munged_dial)\r
-NTSTATUS sam_{get,set}_user_lm_pwd(SAM_USER_HANDLE *user, DATA_BLOB *lm_pwd)\r
-NTSTATUS sam_{get,set}_user_nt_pwd(SAM_USER_HANDLE *user, DATA_BLOB *nt_pwd)\r
-NTSTATUS sam_{get,set}_user_plain_pwd(SAM_USER_HANDLE *user, DATA_BLOB *plaintext_pwd)\r
-NTSTATUS sam_{get,set}_user_acct_ctrl(SAM_USER_HANDLE *user, uint16 *acct_ctrl)\r
-NTSTATUS sam_{get,set}_user_logon_divs(SAM_USER_HANDLE *user, uint16 *logon_divs)\r
-NTSTATUS sam_{get,set}_user_hours(SAM_USER_HANDLE *user, uint32 *hours_len, uint8 **hours)\r
-NTSTATUS sam_{get,set}_user_logon_time(SAM_USER_HANDLE *user, NTTIME *logon_time)\r
-NTSTATUS sam_{get,set}_user_logoff_time(SAM_USER_HANDLE *user, NTTIME *logoff_time)\r
-NTSTATUS sam_{get,set}_user_kickoff_time(SAM_USER_HANDLE *user, NTTIME kickoff_time)\r
-NTSTATUS sam_{get,set}_user_pwd_last_set(SAM_USER_HANDLE *user, NTTIME pwd_last_set)\r
-NTSTATUS sam_{get,set}_user_pwd_can_change(SAM_USER_HANDLE *user, NTTIME pwd_can_change)\r
-NTSTATUS sam_{get,set}_user_pwd_must_change(SAM_USER_HANDLE *user, NTTIME pwd_must_change)\r
-NTSTATUS sam_{get,set}_user_unknown_1(SAM_USER_HANDLE *user, char **unknown_1)\r
-NTSTATUS sam_{get,set}_user_unknown_2(SAM_USER_HANDLE *user, uint32 *unknown_2)\r
-NTSTATUS sam_{get,set}_user_unknown_3(SAM_USER_HANDLE *user, uint32 *unknown_3)\r
-NTSTATUS sam_{get,set}_user_unknown_4(SAM_USER_HANDLE *user, uint32 *unknown_4)\r
-\r
-NTSTATUS sam_get_group_sid(SAM_GROUP_HANDLE *group, DOM_SID **sid)\r
-NTSTATUS sam_get_group_typ(SAM_GROUP_HANDLE *group, uint32 *typ)\r
-NTSTATUS sam_{get,set}_group_name(SAM_GROUP_HANDLE *group, char **group_name)\r
-NTSTATUS sam_{get,set}_group_comment(SAM_GROUP_HANDLE *group, char **comment)\r
-NTSTATUS sam_{get,set}_group_priv_set(SAM_GROUP_HANDLE *group, PRIVILEGE_SET *priv_set)
\ No newline at end of file
diff --git a/source3/sam/account.c b/source3/sam/account.c
deleted file mode 100644 (file)
index b833614..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Password and authentication handling
-   Copyright (C) Jeremy Allison                1996-2001
-   Copyright (C) Luke Kenneth Casson Leighton  1996-1998
-   Copyright (C) Gerald (Jerry) Carter         2000-2001
-   Copyright (C) Andrew Bartlett               2001-2002
-      
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-/************************************************************
- Fill the SAM_ACCOUNT_HANDLE with default values.
- ***********************************************************/
-
-static void sam_fill_default_account(SAM_ACCOUNT_HANDLE *account)
-{
-       ZERO_STRUCT(account->private); /* Don't touch the talloc context */
-
-        /* Don't change these timestamp settings without a good reason.
-           They are important for NT member server compatibility. */
-
-       /* FIXME: We should actually call get_nt_time_max() or sthng 
-        * here */
-       unix_to_nt_time(&(account->private.logoff_time),get_time_t_max());
-       unix_to_nt_time(&(account->private.kickoff_time),get_time_t_max());
-       unix_to_nt_time(&(account->private.pass_must_change_time),get_time_t_max());
-       account->private.unknown_1 = 0x00ffffff;        /* don't know */
-       account->private.logon_divs = 168;      /* hours per week */
-       account->private.hours_len = 21;                /* 21 times 8 bits = 168 */
-       memset(account->private.hours, 0xff, account->private.hours_len); /* available at all hours */
-       account->private.unknown_2 = 0x00000000; /* don't know */
-       account->private.unknown_3 = 0x000004ec; /* don't know */
-}      
-
-static void destroy_sam_talloc(SAM_ACCOUNT_HANDLE **account) 
-{
-       if (*account) {
-               data_blob_clear_free(&((*account)->private.lm_pw));
-               data_blob_clear_free(&((*account)->private.nt_pw));
-               if((*account)->private.plaintext_pw!=NULL)
-                       memset((*account)->private.plaintext_pw,'\0',strlen((*account)->private.plaintext_pw));
-
-               talloc_destroy((*account)->mem_ctx);
-               *account = NULL;
-       }
-}
-
-
-/**********************************************************************
- Alloc memory and initialises a SAM_ACCOUNT_HANDLE on supplied mem_ctx.
-***********************************************************************/
-
-NTSTATUS sam_init_account_talloc(TALLOC_CTX *mem_ctx, SAM_ACCOUNT_HANDLE **account)
-{
-       SMB_ASSERT(*account != NULL);
-
-       if (!mem_ctx) {
-               DEBUG(0,("sam_init_account_talloc: mem_ctx was NULL!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       *account=(SAM_ACCOUNT_HANDLE *)talloc(mem_ctx, sizeof(SAM_ACCOUNT_HANDLE));
-
-       if (*account==NULL) {
-               DEBUG(0,("sam_init_account_talloc: error while allocating memory\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       (*account)->mem_ctx = mem_ctx;
-
-       (*account)->free_fn = NULL;
-
-       sam_fill_default_account(*account);
-       
-       return NT_STATUS_OK;
-}
-
-
-/*************************************************************
- Alloc memory and initialises a struct sam_passwd.
- ************************************************************/
-
-NTSTATUS sam_init_account(SAM_ACCOUNT_HANDLE **account)
-{
-       TALLOC_CTX *mem_ctx;
-       NTSTATUS nt_status;
-       
-       mem_ctx = talloc_init("sam internal SAM_ACCOUNT_HANDLE allocation");
-
-       if (!mem_ctx) {
-               DEBUG(0,("sam_init_account: error while doing talloc_init()\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_init_account_talloc(mem_ctx, account))) {
-               talloc_destroy(mem_ctx);
-               return nt_status;
-       }
-       
-       (*account)->free_fn = destroy_sam_talloc;
-
-       return NT_STATUS_OK;
-}
-
-/**
- * Free the contents of the SAM_ACCOUNT_HANDLE, but not the structure.
- *
- * Also wipes the LM and NT hashes and plaintext password from 
- * memory.
- *
- * @param account SAM_ACCOUNT_HANDLE to free members of.
- **/
-
-static void sam_free_account_contents(SAM_ACCOUNT_HANDLE *account)
-{
-
-       /* Kill off sensitive data.  Free()ed by the
-          talloc mechinism */
-
-       data_blob_clear_free(&(account->private.lm_pw));
-       data_blob_clear_free(&(account->private.nt_pw));
-       if (account->private.plaintext_pw)
-               memset(account->private.plaintext_pw,'\0',strlen(account->private.plaintext_pw));
-}
-
-
-/************************************************************
- Reset the SAM_ACCOUNT_HANDLE and free the NT/LM hashes.
- ***********************************************************/
-
-NTSTATUS sam_reset_sam(SAM_ACCOUNT_HANDLE *account)
-{
-       SMB_ASSERT(account != NULL);
-       
-       sam_free_account_contents(account);
-
-       sam_fill_default_account(account);
-
-       return NT_STATUS_OK;
-}
-
-
-/************************************************************
- Free the SAM_ACCOUNT_HANDLE and the member pointers.
- ***********************************************************/
-
-NTSTATUS sam_free_account(SAM_ACCOUNT_HANDLE **account)
-{
-       SMB_ASSERT(*account != NULL);
-
-       sam_free_account_contents(*account);
-       
-       if ((*account)->free_fn) {
-               (*account)->free_fn(account);
-       }
-
-       return NT_STATUS_OK;    
-}
-
-
-/**********************************************************
- Encode the account control bits into a string.
- length = length of string to encode into (including terminating
- null). length *MUST BE MORE THAN 2* !
- **********************************************************/
-
-char *sam_encode_acct_ctrl(uint16 acct_ctrl, size_t length)
-{
-       static fstring acct_str;
-       size_t i = 0;
-
-       acct_str[i++] = '[';
-
-       if (acct_ctrl & ACB_PWNOTREQ ) acct_str[i++] = 'N';
-       if (acct_ctrl & ACB_DISABLED ) acct_str[i++] = 'D';
-       if (acct_ctrl & ACB_HOMDIRREQ) acct_str[i++] = 'H';
-       if (acct_ctrl & ACB_TEMPDUP  ) acct_str[i++] = 'T'; 
-       if (acct_ctrl & ACB_NORMAL   ) acct_str[i++] = 'U';
-       if (acct_ctrl & ACB_MNS      ) acct_str[i++] = 'M';
-       if (acct_ctrl & ACB_WSTRUST  ) acct_str[i++] = 'W';
-       if (acct_ctrl & ACB_SVRTRUST ) acct_str[i++] = 'S';
-       if (acct_ctrl & ACB_AUTOLOCK ) acct_str[i++] = 'L';
-       if (acct_ctrl & ACB_PWNOEXP  ) acct_str[i++] = 'X';
-       if (acct_ctrl & ACB_DOMTRUST ) acct_str[i++] = 'I';
-
-       for ( ; i < length - 2 ; i++ )
-               acct_str[i] = ' ';
-
-       i = length - 2;
-       acct_str[i++] = ']';
-       acct_str[i++] = '\0';
-
-       return acct_str;
-}     
-
-/**********************************************************
- Decode the account control bits from a string.
- **********************************************************/
-
-uint16 sam_decode_acct_ctrl(const char *p)
-{
-       uint16 acct_ctrl = 0;
-       BOOL finished = False;
-
-       /*
-        * Check if the account type bits have been encoded after the
-        * NT password (in the form [NDHTUWSLXI]).
-        */
-
-       if (*p != '[')
-               return 0;
-
-       for (p++; *p && !finished; p++) {
-               switch (*p) {
-                       case 'N': { acct_ctrl |= ACB_PWNOTREQ ; break; /* 'N'o password. */ }
-                       case 'D': { acct_ctrl |= ACB_DISABLED ; break; /* 'D'isabled. */ }
-                       case 'H': { acct_ctrl |= ACB_HOMDIRREQ; break; /* 'H'omedir required. */ }
-                       case 'T': { acct_ctrl |= ACB_TEMPDUP  ; break; /* 'T'emp account. */ } 
-                       case 'U': { acct_ctrl |= ACB_NORMAL   ; break; /* 'U'ser account (normal). */ } 
-                       case 'M': { acct_ctrl |= ACB_MNS      ; break; /* 'M'NS logon user account. What is this ? */ } 
-                       case 'W': { acct_ctrl |= ACB_WSTRUST  ; break; /* 'W'orkstation account. */ } 
-                       case 'S': { acct_ctrl |= ACB_SVRTRUST ; break; /* 'S'erver account. */ } 
-                       case 'L': { acct_ctrl |= ACB_AUTOLOCK ; break; /* 'L'ocked account. */ } 
-                       case 'X': { acct_ctrl |= ACB_PWNOEXP  ; break; /* No 'X'piry on password */ } 
-                       case 'I': { acct_ctrl |= ACB_DOMTRUST ; break; /* 'I'nterdomain trust account. */ }
-            case ' ': { break; }
-                       case ':':
-                       case '\n':
-                       case '\0': 
-                       case ']':
-                       default:  { finished = True; }
-               }
-       }
-
-       return acct_ctrl;
-}
-
-/*************************************************************
- Routine to set 32 hex password characters from a 16 byte array.
-**************************************************************/
-
-void sam_sethexpwd(char *p, const unsigned char *pwd, uint16 acct_ctrl)
-{
-       if (pwd != NULL) {
-               int i;
-               for (i = 0; i < 16; i++)
-                       slprintf(&p[i*2], 3, "%02X", pwd[i]);
-       } else {
-               if (acct_ctrl & ACB_PWNOTREQ)
-                       safe_strcpy(p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX", 33);
-               else
-                       safe_strcpy(p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 33);
-       }
-}
-
-/*************************************************************
- Routine to get the 32 hex characters and turn them
- into a 16 byte array.
-**************************************************************/
-
-BOOL sam_gethexpwd(const char *p, unsigned char *pwd)
-{
-       int i;
-       unsigned char   lonybble, hinybble;
-       char           *hexchars = "0123456789ABCDEF";
-       char           *p1, *p2;
-       
-       if (!p)
-               return (False);
-       
-       for (i = 0; i < 32; i += 2) {
-               hinybble = toupper(p[i]);
-               lonybble = toupper(p[i + 1]);
-
-               p1 = strchr(hexchars, hinybble);
-               p2 = strchr(hexchars, lonybble);
-
-               if (!p1 || !p2)
-                       return (False);
-
-               hinybble = PTR_DIFF(p1, hexchars);
-               lonybble = PTR_DIFF(p2, hexchars);
-
-               pwd[i / 2] = (hinybble << 4) | lonybble;
-       }
-       return (True);
-}
diff --git a/source3/sam/get_set_account.c b/source3/sam/get_set_account.c
deleted file mode 100644 (file)
index acac281..0000000
+++ /dev/null
@@ -1,845 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM_ACCOUNT_HANDLE access routines
-   Copyright (C) Andrew Bartlett                       2002
-   Copyright (C) Stefan (metze) Metzmacher             2002
-   Copyright (C) Jelmer Vernooij                       2002
-      
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-NTSTATUS sam_get_account_domain_sid(const SAM_ACCOUNT_HANDLE *sampass, const DOM_SID **sid)
-{
-       NTSTATUS status;
-       SAM_DOMAIN_HANDLE *domain;
-       SAM_ASSERT(!sampass || !sid);
-
-       if (!NT_STATUS_IS_OK(status = sam_get_account_domain(sampass, &domain))){
-               DEBUG(0, ("sam_get_account_domain_sid: Can't get domain for account\n"));
-               return status;
-       }
-
-       return sam_get_domain_sid(domain, sid);
-}
-
-NTSTATUS sam_get_account_domain_name(const SAM_ACCOUNT_HANDLE *sampass, const char **domain_name)
-{
-       NTSTATUS status;
-       SAM_DOMAIN_HANDLE *domain;
-       SAM_ASSERT(sampass && domain_name);
-
-       if (!NT_STATUS_IS_OK(status = sam_get_account_domain(sampass, &domain))){
-               DEBUG(0, ("sam_get_account_domain_name: Can't get domain for account\n"));
-               return status;
-       }
-
-       return sam_get_domain_name(domain, domain_name);
-}
-
-NTSTATUS sam_get_account_acct_ctrl(const SAM_ACCOUNT_HANDLE *sampass, uint16 *acct_ctrl)
-{
-       SAM_ASSERT(sampass && acct_ctrl);
-
-       *acct_ctrl = sampass->private.acct_ctrl;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_logon_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *logon_time)
-{
-       SAM_ASSERT(sampass && logon_time) ;
-
-       *logon_time = sampass->private.logon_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_logoff_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *logoff_time)
-{
-       SAM_ASSERT(sampass && logoff_time) ;
-
-       *logoff_time = sampass->private.logoff_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_kickoff_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *kickoff_time)
-{
-       SAM_ASSERT(sampass && kickoff_time);
-
-       *kickoff_time = sampass->private.kickoff_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_pass_last_set_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *pass_last_set_time)
-{
-       SAM_ASSERT(sampass && pass_last_set_time);
-
-       *pass_last_set_time = sampass->private.pass_last_set_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_pass_can_change_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *pass_can_change_time)
-{
-       SAM_ASSERT(sampass && pass_can_change_time);
-
-       *pass_can_change_time = sampass->private.pass_can_change_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_pass_must_change_time(const SAM_ACCOUNT_HANDLE *sampass, NTTIME *pass_must_change_time)
-{
-       SAM_ASSERT(sampass && pass_must_change_time);
-
-       *pass_must_change_time = sampass->private.pass_must_change_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_logon_divs(const SAM_ACCOUNT_HANDLE *sampass, uint16 *logon_divs)
-{
-       SAM_ASSERT(sampass && logon_divs);
-
-       *logon_divs = sampass->private.logon_divs;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_hours_len(const SAM_ACCOUNT_HANDLE *sampass, uint32 *hours_len)
-{
-       SAM_ASSERT(sampass && hours_len);
-
-       *hours_len = sampass->private.hours_len;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_hours(const SAM_ACCOUNT_HANDLE *sampass, const uint8 **hours)
-{
-       SAM_ASSERT(sampass && hours);
-
-       *hours = sampass->private.hours;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_nt_pwd(const SAM_ACCOUNT_HANDLE *sampass, DATA_BLOB *nt_pwd)
-{
-       SAM_ASSERT(sampass);
-
-       SMB_ASSERT((!sampass->private.nt_pw.data) 
-                  || sampass->private.nt_pw.length == NT_HASH_LEN);
-
-       *nt_pwd = sampass->private.nt_pw;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_lm_pwd(const SAM_ACCOUNT_HANDLE *sampass, DATA_BLOB *lm_pwd)
-{ 
-       SAM_ASSERT(sampass);
-
-       SMB_ASSERT((!sampass->private.lm_pw.data) 
-                  || sampass->private.lm_pw.length == LM_HASH_LEN);
-
-       *lm_pwd = sampass->private.lm_pw;
-
-       return NT_STATUS_OK;
-}
-
-/* Return the plaintext password if known.  Most of the time
-   it isn't, so don't assume anything magic about this function.
-   
-   Used to pass the plaintext to sam backends that might 
-   want to store more than just the NTLM hashes.
-*/
-
-NTSTATUS sam_get_account_plaintext_pwd(const SAM_ACCOUNT_HANDLE *sampass, char **plain_pwd)
-{
-       SAM_ASSERT(sampass && plain_pwd);
-
-       *plain_pwd = sampass->private.plaintext_pw;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_sid(const SAM_ACCOUNT_HANDLE *sampass, const DOM_SID **sid)
-{
-       SAM_ASSERT(sampass);
-
-       *sid = &(sampass->private.account_sid);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_pgroup(const SAM_ACCOUNT_HANDLE *sampass, const DOM_SID **sid)
-{
-       SAM_ASSERT(sampass);
-
-       *sid = &(sampass->private.group_sid);
-
-       return NT_STATUS_OK;
-}
-
-/**
- * Get flags showing what is initalised in the SAM_ACCOUNT_HANDLE
- * @param sampass the SAM_ACCOUNT_HANDLE in question
- * @return the flags indicating the members initialised in the struct.
- **/
-NTSTATUS sam_get_account_init_flag(const SAM_ACCOUNT_HANDLE *sampass, uint32 *initflag)
-{
-       SAM_ASSERT(sampass);
-
-       *initflag = sampass->private.init_flag;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_name(const SAM_ACCOUNT_HANDLE *sampass, char **account_name)
-{
-       SAM_ASSERT(sampass);
-
-       *account_name = sampass->private.account_name;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_domain(const SAM_ACCOUNT_HANDLE *sampass, SAM_DOMAIN_HANDLE **domain)
-{
-       SAM_ASSERT(sampass);
-
-       *domain = sampass->private.domain;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_fullname(const SAM_ACCOUNT_HANDLE *sampass, char **fullname)
-{
-       SAM_ASSERT(sampass);
-
-       *fullname = sampass->private.full_name;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_homedir(const SAM_ACCOUNT_HANDLE *sampass, char **homedir)
-{
-       SAM_ASSERT(sampass);
-
-       *homedir = sampass->private.home_dir;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_unix_home_dir(const SAM_ACCOUNT_HANDLE *sampass, char **uhomedir)
-{
-       SAM_ASSERT(sampass);
-
-       *uhomedir = sampass->private.unix_home_dir;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_dir_drive(const SAM_ACCOUNT_HANDLE *sampass, char **dirdrive)
-{
-       SAM_ASSERT(sampass);
-
-       *dirdrive = sampass->private.dir_drive;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_logon_script(const SAM_ACCOUNT_HANDLE *sampass, char **logon_script)
-{
-       SAM_ASSERT(sampass);
-
-       *logon_script = sampass->private.logon_script;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_profile_path(const SAM_ACCOUNT_HANDLE *sampass, char **profile_path)
-{
-       SAM_ASSERT(sampass);
-
-       *profile_path = sampass->private.profile_path;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_description(const SAM_ACCOUNT_HANDLE *sampass, char **description)
-{
-       SAM_ASSERT(sampass);
-
-       *description = sampass->private.acct_desc;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_workstations(const SAM_ACCOUNT_HANDLE *sampass, char **workstations)
-{
-       SAM_ASSERT(sampass);
-
-       *workstations = sampass->private.workstations;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_unknown_str(const SAM_ACCOUNT_HANDLE *sampass, char **unknown_str)
-{
-       SAM_ASSERT(sampass);
-
-       *unknown_str = sampass->private.unknown_str;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_munged_dial(const SAM_ACCOUNT_HANDLE *sampass, char **munged_dial)
-{
-       SAM_ASSERT(sampass);
-
-       *munged_dial = sampass->private.munged_dial;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_unknown_1(const SAM_ACCOUNT_HANDLE *sampass, uint32 *unknown1)
-{
-       SAM_ASSERT(sampass && unknown1);
-
-       *unknown1 = sampass->private.unknown_1;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_unknown_2(const SAM_ACCOUNT_HANDLE *sampass, uint32 *unknown2)
-{
-       SAM_ASSERT(sampass && unknown2);
-
-       *unknown2 = sampass->private.unknown_2;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_unknown_3(const SAM_ACCOUNT_HANDLE *sampass, uint32 *unknown3)
-{
-       SAM_ASSERT(sampass && unknown3);
-
-       *unknown3 = sampass->private.unknown_3;
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Collection of set...() functions for SAM_ACCOUNT_HANDLE_INFO.
- ********************************************************************/
-
-NTSTATUS sam_set_account_acct_ctrl(SAM_ACCOUNT_HANDLE *sampass, uint16 acct_ctrl)
-{
-       SAM_ASSERT(sampass);
-               
-       sampass->private.acct_ctrl = acct_ctrl;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_logon_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.logon_time = mytime;
-
-
-       return NT_STATUS_UNSUCCESSFUL;
-}
-
-NTSTATUS sam_set_account_logoff_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.logoff_time = mytime;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_kickoff_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.kickoff_time = mytime;
-
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_pass_can_change_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.pass_can_change_time = mytime;
-
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_pass_must_change_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.pass_must_change_time = mytime;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_pass_last_set_time(SAM_ACCOUNT_HANDLE *sampass, NTTIME mytime)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.pass_last_set_time = mytime;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_hours_len(SAM_ACCOUNT_HANDLE *sampass, uint32 len)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.hours_len = len;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_logon_divs(SAM_ACCOUNT_HANDLE *sampass, uint16 hours)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.logon_divs = hours;
-       return NT_STATUS_OK;
-}
-
-/**
- * Set flags showing what is initalised in the SAM_ACCOUNT_HANDLE
- * @param sampass the SAM_ACCOUNT_HANDLE in question
- * @param flag The *new* flag to be set.  Old flags preserved
- *             this flag is only added.  
- **/
-NTSTATUS sam_set_account_init_flag(SAM_ACCOUNT_HANDLE *sampass, uint32 flag)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.init_flag |= flag;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_sid(SAM_ACCOUNT_HANDLE *sampass, const DOM_SID *u_sid)
-{
-       SAM_ASSERT(sampass && u_sid);
-       
-       sid_copy(&sampass->private.account_sid, u_sid);
-
-       DEBUG(10, ("sam_set_account_sid: setting account sid %s\n", 
-                   sid_string_static(&sampass->private.account_sid)));
-       
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_sid_from_string(SAM_ACCOUNT_HANDLE *sampass, const char *u_sid)
-{
-       DOM_SID new_sid;
-       SAM_ASSERT(sampass && u_sid);
-
-       DEBUG(10, ("sam_set_account_sid_from_string: setting account sid %s\n",
-                  u_sid));
-
-       if (!string_to_sid(&new_sid, u_sid)) { 
-               DEBUG(1, ("sam_set_account_sid_from_string: %s isn't a valid SID!\n", u_sid));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-        
-       if (!NT_STATUS_IS_OK(sam_set_account_sid(sampass, &new_sid))) {
-               DEBUG(1, ("sam_set_account_sid_from_string: could not set sid %s on SAM_ACCOUNT_HANDLE!\n", u_sid));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_pgroup_sid(SAM_ACCOUNT_HANDLE *sampass, const DOM_SID *g_sid)
-{
-       SAM_ASSERT(sampass && g_sid);
-
-       sid_copy(&sampass->private.group_sid, g_sid);
-
-       DEBUG(10, ("sam_set_group_sid: setting group sid %s\n", 
-                   sid_string_static(&sampass->private.group_sid)));
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_pgroup_string(SAM_ACCOUNT_HANDLE *sampass, const char *g_sid)
-{
-       DOM_SID new_sid;
-       SAM_ASSERT(sampass && g_sid);
-
-       DEBUG(10, ("sam_set_group_sid_from_string: setting group sid %s\n",
-                  g_sid));
-
-       if (!string_to_sid(&new_sid, g_sid)) { 
-               DEBUG(1, ("sam_set_group_sid_from_string: %s isn't a valid SID!\n", g_sid));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-        
-       if (!NT_STATUS_IS_OK(sam_set_account_pgroup_sid(sampass, &new_sid))) {
-               DEBUG(1, ("sam_set_group_sid_from_string: could not set sid %s on SAM_ACCOUNT_HANDLE!\n", g_sid));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the domain name.
- ********************************************************************/
-
-NTSTATUS sam_set_account_domain(SAM_ACCOUNT_HANDLE *sampass, SAM_DOMAIN_HANDLE *domain)
-{      
-       SAM_ASSERT(sampass);
-
-       sampass->private.domain = domain;
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's NT name.
- ********************************************************************/
-
-NTSTATUS sam_set_account_name(SAM_ACCOUNT_HANDLE *sampass, const char *account_name)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_account_name: setting nt account_name %s, was %s\n", account_name, sampass->private.account_name));
-
-       sampass->private.account_name = talloc_strdup(sampass->mem_ctx, account_name);
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's full name.
- ********************************************************************/
-
-NTSTATUS sam_set_account_fullname(SAM_ACCOUNT_HANDLE *sampass, const char *full_name)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_account_fullname: setting full name %s, was %s\n", full_name, sampass->private.full_name));
-
-       sampass->private.full_name = talloc_strdup(sampass->mem_ctx, full_name);
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's logon script.
- ********************************************************************/
-
-NTSTATUS sam_set_account_logon_script(SAM_ACCOUNT_HANDLE *sampass, const char *logon_script, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_logon_script: from %s to %s\n", logon_script, sampass->private.logon_script));
-
-       sampass->private.logon_script = talloc_strdup(sampass->mem_ctx, logon_script);
-       
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's profile path.
- ********************************************************************/
-
-NTSTATUS sam_set_account_profile_path(SAM_ACCOUNT_HANDLE *sampass, const char *profile_path, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_profile_path: setting profile path %s, was %s\n", profile_path, sampass->private.profile_path));
-       sampass->private.profile_path = talloc_strdup(sampass->mem_ctx, profile_path);
-               
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's directory drive.
- ********************************************************************/
-
-NTSTATUS sam_set_account_dir_drive(SAM_ACCOUNT_HANDLE *sampass, const char *dir_drive, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_dir_drive: setting dir drive %s, was %s\n", dir_drive,
-                       sampass->private.dir_drive));
-       sampass->private.dir_drive = talloc_strdup(sampass->mem_ctx, dir_drive);
-               
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's home directory.
- ********************************************************************/
-
-NTSTATUS sam_set_account_homedir(SAM_ACCOUNT_HANDLE *sampass, const char *home_dir, BOOL store)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_homedir: setting home dir %s, was %s\n", home_dir,
-               sampass->private.home_dir));
-       sampass->private.home_dir = talloc_strdup(sampass->mem_ctx, home_dir);
-               
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's unix home directory.
- ********************************************************************/
-
-NTSTATUS sam_set_account_unix_homedir(SAM_ACCOUNT_HANDLE *sampass, const char *unix_home_dir)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_unix_homedir: setting home dir %s, was %s\n", unix_home_dir,
-               sampass->private.unix_home_dir));
-       sampass->private.unix_home_dir = talloc_strdup(sampass->mem_ctx, unix_home_dir);
-               
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's account description.
- ********************************************************************/
-
-NTSTATUS sam_set_account_acct_desc(SAM_ACCOUNT_HANDLE *sampass, const char *acct_desc)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.acct_desc = talloc_strdup(sampass->mem_ctx, acct_desc);
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's workstation allowed list.
- ********************************************************************/
-
-NTSTATUS sam_set_account_workstations(SAM_ACCOUNT_HANDLE *sampass, const char *workstations)
-{
-       SAM_ASSERT(sampass);
-
-       DEBUG(10, ("sam_set_workstations: setting workstations %s, was %s\n", workstations,
-                       sampass->private.workstations));
-       sampass->private.workstations = talloc_strdup(sampass->mem_ctx, workstations);
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's 'unknown_str', whatever the heck this actually is...
- ********************************************************************/
-
-NTSTATUS sam_set_account_unknown_str(SAM_ACCOUNT_HANDLE *sampass, const char *unknown_str)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.unknown_str = talloc_strdup(sampass->mem_ctx, unknown_str);
-               
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's dial string.
- ********************************************************************/
-
-NTSTATUS sam_set_account_munged_dial(SAM_ACCOUNT_HANDLE *sampass, const char *munged_dial)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.munged_dial = talloc_strdup(sampass->mem_ctx, munged_dial);
-       
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's NT hash.
- ********************************************************************/
-
-NTSTATUS sam_set_account_nt_pwd(SAM_ACCOUNT_HANDLE *sampass, const DATA_BLOB data)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.nt_pw = data;
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's LM hash.
- ********************************************************************/
-
-NTSTATUS sam_set_account_lm_pwd(SAM_ACCOUNT_HANDLE *sampass, const DATA_BLOB data)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.lm_pw = data;
-
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's plaintext password only (base procedure, see helper
- below)
- ********************************************************************/
-
-NTSTATUS sam_set_account_plaintext_pwd(SAM_ACCOUNT_HANDLE *sampass, const char *plain_pwd)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.plaintext_pw = talloc_strdup(sampass->mem_ctx, plain_pwd);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_unknown_1(SAM_ACCOUNT_HANDLE *sampass, uint32 unkn)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.unknown_1 = unkn;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_unknown_2(SAM_ACCOUNT_HANDLE *sampass, uint32 unkn)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.unknown_2 = unkn;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_unknown_3(SAM_ACCOUNT_HANDLE *sampass, uint32 unkn)
-{
-       SAM_ASSERT(sampass);
-
-       sampass->private.unknown_3 = unkn;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_account_hours(SAM_ACCOUNT_HANDLE *sampass, const uint8 *hours)
-{
-       SAM_ASSERT(sampass);
-
-       if (!hours) {
-               memset ((char *)sampass->private.hours, 0, MAX_HOURS_LEN);
-               return NT_STATUS_OK;
-       }
-       
-       memcpy(sampass->private.hours, hours, MAX_HOURS_LEN);
-
-       return NT_STATUS_OK;
-}
-
-/* Helpful interfaces to the above */
-
-/*********************************************************************
- Sets the last changed times and must change times for a normal
- password change.
- ********************************************************************/
-
-NTSTATUS sam_set_account_pass_changed_now(SAM_ACCOUNT_HANDLE *sampass)
-{
-       uint32 expire;
-       NTTIME temptime;
-
-       SAM_ASSERT(sampass);
-       
-       unix_to_nt_time(&temptime, time(NULL));
-       if (!NT_STATUS_IS_OK(sam_set_account_pass_last_set_time(sampass, temptime)))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       if (!account_policy_get(AP_MAX_PASSWORD_AGE, &expire) 
-           || (expire==(uint32)-1)) {
-
-               get_nttime_max(&temptime);
-               if (!NT_STATUS_IS_OK(sam_set_account_pass_must_change_time(sampass, temptime, False)))
-                       return NT_STATUS_UNSUCCESSFUL;
-
-       } else {
-               /* FIXME: Add expire to temptime */
-               
-               if (!NT_STATUS_IS_OK(sam_get_account_pass_last_set_time(sampass,&temptime)) || !NT_STATUS_IS_OK(sam_set_account_pass_must_change_time(sampass, temptime,True)))
-                       return NT_STATUS_UNSUCCESSFUL;
-       }
-       
-       return NT_STATUS_OK;
-}
-
-/*********************************************************************
- Set the account's PLAINTEXT password.  Used as an interface to the above.
- Also sets the last change time to NOW.
- ********************************************************************/
-
-NTSTATUS sam_set_account_passwd(SAM_ACCOUNT_HANDLE *sampass, const char *plaintext)
-{
-       DATA_BLOB data;
-       uchar new_lanman_p16[16];
-       uchar new_nt_p16[16];
-
-       SAM_ASSERT(sampass && plaintext);
-       
-       nt_lm_owf_gen(plaintext, new_nt_p16, new_lanman_p16);
-
-       data = data_blob(new_nt_p16, 16);
-       if (!NT_STATUS_IS_OK(sam_set_account_nt_pwd(sampass, data)))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       data = data_blob(new_lanman_p16, 16);
-
-       if (!NT_STATUS_IS_OK(sam_set_account_lm_pwd(sampass, data)))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       if (!NT_STATUS_IS_OK(sam_set_account_plaintext_pwd(sampass, plaintext)))
-               return NT_STATUS_UNSUCCESSFUL;
-       
-       if (!NT_STATUS_IS_OK(sam_set_account_pass_changed_now(sampass)))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       return NT_STATUS_OK;
-}
-
diff --git a/source3/sam/get_set_domain.c b/source3/sam/get_set_domain.c
deleted file mode 100644 (file)
index c70a4a3..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM_DOMAIN access routines
-   Copyright (C) Andrew Bartlett                       2002
-   Copyright (C) Stefan (metze) Metzmacher     2002
-   Copyright (C) Jelmer Vernooij                       2002
-      
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-NTSTATUS sam_get_domain_sid(SAM_DOMAIN_HANDLE *domain, const DOM_SID **sid)
-{
-       SAM_ASSERT(domain &&sid);
-
-       *sid = &(domain->private.sid);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_num_accounts(SAM_DOMAIN_HANDLE *domain, uint32 *num_accounts)
-{
-       SAM_ASSERT(domain &&num_accounts);
-
-       *num_accounts = domain->private.num_accounts;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_num_groups(SAM_DOMAIN_HANDLE *domain, uint32 *num_groups)
-{
-       SAM_ASSERT(domain &&num_groups);
-
-       *num_groups = domain->private.num_groups;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_num_aliases(SAM_DOMAIN_HANDLE *domain, uint32 *num_aliases)
-{
-       SAM_ASSERT(domain &&num_aliases);
-
-       *num_aliases = domain->private.num_aliases;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_name(SAM_DOMAIN_HANDLE *domain, const char **domain_name)
-{
-       SAM_ASSERT(domain &&domain_name);
-
-       *domain_name = domain->private.name;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_server(SAM_DOMAIN_HANDLE *domain, const char **server_name)
-{
-       SAM_ASSERT(domain &&server_name);
-
-       *server_name = domain->private.servername;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_max_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *max_passwordage)
-{
-       SAM_ASSERT(domain &&max_passwordage);
-
-       *max_passwordage = domain->private.max_passwordage;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_min_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME *min_passwordage)
-{
-       SAM_ASSERT(domain &&min_passwordage);
-
-       *min_passwordage = domain->private.min_passwordage;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_lockout_duration(SAM_DOMAIN_HANDLE *domain, NTTIME *lockout_duration)
-{
-       SAM_ASSERT(domain &&lockout_duration);
-
-       *lockout_duration = domain->private.lockout_duration;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_reset_count(SAM_DOMAIN_HANDLE *domain, NTTIME *reset_lockout_count)
-{
-       SAM_ASSERT(domain &&reset_lockout_count);
-       
-       *reset_lockout_count = domain->private.reset_count;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_min_pwdlength(SAM_DOMAIN_HANDLE *domain, uint16 *min_passwordlength)
-{
-       SAM_ASSERT(domain &&min_passwordlength);
-
-       *min_passwordlength = domain->private.min_passwordlength;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_pwd_history(SAM_DOMAIN_HANDLE *domain, uint16 *password_history)
-{
-       SAM_ASSERT(domain &&password_history);
-
-       *password_history = domain->private.password_history;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_lockout_count(SAM_DOMAIN_HANDLE *domain, uint16 *lockout_count)
-{
-       SAM_ASSERT(domain &&lockout_count);
-
-       *lockout_count = domain->private.lockout_count;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_domain_force_logoff(SAM_DOMAIN_HANDLE *domain, BOOL *force_logoff)
-{
-       SAM_ASSERT(domain &&force_logoff);
-
-       *force_logoff = domain->private.force_logoff;
-
-       return NT_STATUS_OK;
-}
-
-
-NTSTATUS sam_get_domain_login_pwdchange(SAM_DOMAIN_HANDLE *domain, BOOL *login_pwdchange)
-{
-       SAM_ASSERT(domain && login_pwdchange);
-
-       *login_pwdchange = domain->private.login_pwdchange;
-
-       return NT_STATUS_OK;
-}
-
-/* Set */
-
-NTSTATUS sam_set_domain_name(SAM_DOMAIN_HANDLE *domain, const char *domain_name)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.name = talloc_strdup(domain->mem_ctx, domain_name);
-
-       return NT_STATUS_OK;
-}
-
-
-NTSTATUS sam_set_domain_max_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME max_passwordage)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.max_passwordage = max_passwordage;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_min_pwdage(SAM_DOMAIN_HANDLE *domain, NTTIME min_passwordage)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.min_passwordage = min_passwordage;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_lockout_duration(SAM_DOMAIN_HANDLE *domain, NTTIME lockout_duration)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.lockout_duration = lockout_duration;
-
-       return NT_STATUS_OK;
-}
-NTSTATUS sam_set_domain_reset_count(SAM_DOMAIN_HANDLE *domain, NTTIME reset_lockout_count)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.reset_count = reset_lockout_count;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_min_pwdlength(SAM_DOMAIN_HANDLE *domain, uint16 min_passwordlength)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.min_passwordlength = min_passwordlength;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_pwd_history(SAM_DOMAIN_HANDLE *domain, uint16 password_history)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.password_history = password_history;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_lockout_count(SAM_DOMAIN_HANDLE *domain, uint16 lockout_count)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.lockout_count = lockout_count;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_force_logoff(SAM_DOMAIN_HANDLE *domain, BOOL force_logoff)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.force_logoff = force_logoff;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_login_pwdchange(SAM_DOMAIN_HANDLE *domain, BOOL login_pwdchange)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.login_pwdchange = login_pwdchange;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_domain_server(SAM_DOMAIN_HANDLE *domain, const char *server_name)
-{
-       SAM_ASSERT(domain);
-
-       domain->private.servername = talloc_strdup(domain->mem_ctx, server_name);
-
-       return NT_STATUS_OK;
-}
diff --git a/source3/sam/get_set_group.c b/source3/sam/get_set_group.c
deleted file mode 100644 (file)
index 11ea925..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM_USER_HANDLE access routines
-   Copyright (C) Andrew Bartlett                       2002
-   Copyright (C) Stefan (metze) Metzmacher     2002
-   Copyright (C) Jelmer Vernooij                       2002
-      
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-/* sam group get functions */
-
-NTSTATUS sam_get_group_sid(const SAM_GROUP_HANDLE *group, const DOM_SID **sid)
-{
-       SAM_ASSERT(group && sid);
-
-       *sid = &(group->private.sid);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_group_ctrl(const SAM_GROUP_HANDLE *group, uint32 *group_ctrl)
-{
-       SAM_ASSERT(group && group_ctrl);
-
-       *group_ctrl = group->private.group_ctrl;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_group_name(const SAM_GROUP_HANDLE *group, const char **group_name)
-{
-       SAM_ASSERT(group);
-
-       *group_name = group->private.group_name;
-
-       return NT_STATUS_OK;
-
-}
-NTSTATUS sam_get_group_comment(const SAM_GROUP_HANDLE *group, const char **group_desc)
-{
-       SAM_ASSERT(group);
-
-       *group_desc = group->private.group_desc;
-
-       return NT_STATUS_OK;
-}
-
-/* sam group set functions */
-
-NTSTATUS sam_set_group_sid(SAM_GROUP_HANDLE *group, const DOM_SID *sid)
-{
-       SAM_ASSERT(group);
-
-       if (!sid) 
-               ZERO_STRUCT(group->private.sid);
-       else 
-               sid_copy(&(group->private.sid), sid);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_group_group_ctrl(SAM_GROUP_HANDLE *group, uint32 group_ctrl)
-{
-       SAM_ASSERT(group);
-
-       group->private.group_ctrl = group_ctrl;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_group_name(SAM_GROUP_HANDLE *group, const char *group_name)
-{
-       SAM_ASSERT(group);
-
-       group->private.group_name = talloc_strdup(group->mem_ctx, group_name);
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_group_description(SAM_GROUP_HANDLE *group, const char *group_desc)
-{
-       SAM_ASSERT(group);
-
-       group->private.group_desc = talloc_strdup(group->mem_ctx, group_desc);
-
-       return NT_STATUS_OK;
-
-}
diff --git a/source3/sam/group.c b/source3/sam/group.c
deleted file mode 100644 (file)
index 101e3dd..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM_GROUP_HANDLE /SAM_GROUP_ENUM helpers
-   
-   Copyright (C) Stefan (metze) Metzmacher     2002
-      
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-/************************************************************
- Fill the SAM_GROUP_HANDLE with default values.
- ***********************************************************/
-
-static void sam_fill_default_group(SAM_GROUP_HANDLE *group)
-{
-       ZERO_STRUCT(group->private); /* Don't touch the talloc context */
-
-}      
-
-static void destroy_sam_group_handle_talloc(SAM_GROUP_HANDLE **group) 
-{
-       if (*group) {
-
-               talloc_destroy((*group)->mem_ctx);
-               *group = NULL;
-       }
-}
-
-
-/**********************************************************************
- Alloc memory and initialises a SAM_GROUP_HANDLE on supplied mem_ctx.
-***********************************************************************/
-
-NTSTATUS sam_init_group_talloc(TALLOC_CTX *mem_ctx, SAM_GROUP_HANDLE **group)
-{
-       SMB_ASSERT(*group != NULL);
-
-       if (!mem_ctx) {
-               DEBUG(0,("sam_init_group_talloc: mem_ctx was NULL!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       *group=(SAM_GROUP_HANDLE *)talloc(mem_ctx, sizeof(SAM_GROUP_HANDLE));
-
-       if (*group==NULL) {
-               DEBUG(0,("sam_init_group_talloc: error while allocating memory\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       (*group)->mem_ctx = mem_ctx;
-
-       (*group)->free_fn = NULL;
-
-       sam_fill_default_group(*group);
-       
-       return NT_STATUS_OK;
-}
-
-
-/*************************************************************
- Alloc memory and initialises a struct SAM_GROUP_HANDLE.
- ************************************************************/
-
-NTSTATUS sam_init_group(SAM_GROUP_HANDLE **group)
-{
-       TALLOC_CTX *mem_ctx;
-       NTSTATUS nt_status;
-       
-       mem_ctx = talloc_init("sam internal SAM_GROUP_HANDLE allocation");
-
-       if (!mem_ctx) {
-               DEBUG(0,("sam_init_group: error while doing talloc_init()\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_init_group_talloc(mem_ctx, group))) {
-               talloc_destroy(mem_ctx);
-               return nt_status;
-       }
-       
-       (*group)->free_fn = destroy_sam_group_handle_talloc;
-
-       return NT_STATUS_OK;
-}
-
-
-/************************************************************
- Reset the SAM_GROUP_HANDLE.
- ***********************************************************/
-
-NTSTATUS sam_reset_group(SAM_GROUP_HANDLE *group)
-{
-       SMB_ASSERT(group != NULL);
-
-       sam_fill_default_group(group);
-
-       return NT_STATUS_OK;
-}
-
-
-/************************************************************
- Free the SAM_GROUP_HANDLE and the member pointers.
- ***********************************************************/
-
-NTSTATUS sam_free_group(SAM_ACCOUNT_HANDLE **group)
-{
-       SMB_ASSERT(*group != NULL);
-
-       if ((*group)->free_fn) {
-               (*group)->free_fn(group);
-       }
-
-       return NT_STATUS_OK;    
-}
-
-
-/**********************************************************
- Encode the group control bits into a string.
- length = length of string to encode into (including terminating
- null). length *MUST BE MORE THAN 2* !
- **********************************************************/
-
-char *sam_encode_acct_ctrl(uint16 group_ctrl, size_t length)
-{
-       static fstring group_str;
-       size_t i = 0;
-
-       group_str[i++] = '[';
-
-       if (group_ctrl & GCB_LOCAL_GROUP )      group_str[i++] = 'L';
-       if (group_ctrl & GCB_GLOBAL_GROUP )     group_str[i++] = 'G';
-
-       for ( ; i < length - 2 ; i++ )
-               group_str[i] = ' ';
-
-       i = length - 2;
-       group_str[i++] = ']';
-       group_str[i++] = '\0';
-
-       return group_str;
-}     
-
-/**********************************************************
- Decode the group control bits from a string.
- **********************************************************/
-
-uint16 sam_decode_group_ctrl(const char *p)
-{
-       uint16 group_ctrl = 0;
-       BOOL finished = False;
-
-       /*
-        * Check if the account type bits have been encoded after the
-        * NT password (in the form [NDHTUWSLXI]).
-        */
-
-       if (*p != '[')
-               return 0;
-
-       for (p++; *p && !finished; p++) {
-               switch (*p) {
-                       case 'L': { group_ctrl |= GCB_LOCAL_GROUP; break; /* 'L'ocal Aliases Group. */ } 
-                       case 'G': { group_ctrl |= GCB_GLOBAL_GROUP; break; /* 'G'lobal Domain Group. */ } 
-                       
-                       case ' ': { break; }
-                       case ':':
-                       case '\n':
-                       case '\0': 
-                       case ']':
-                       default:  { finished = True; }
-               }
-       }
-
-       return group_ctrl;
-}
-
diff --git a/source3/sam/gumm_tdb.c b/source3/sam/gumm_tdb.c
deleted file mode 100644 (file)
index 52eaab9..0000000
+++ /dev/null
@@ -1,562 +0,0 @@
-/*
- * Unix SMB/CIFS implementation. 
- * SMB parameters and setup
- * Copyright (C) Andrew Tridgell 1992-1998
- * Copyright (C) Simo Sorce 2000-2002
- * Copyright (C) Gerald Carter 2000
- * Copyright (C) Jeremy Allison 2001
- * Copyright (C) Andrew Bartlett 2002
- * 
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- * 
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 675
- * Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "includes.h"
-#include "gums.h"
-#include "tdbsam2.h"
-#include "tdbsam2_parse_info.h"
-
-static int tdbgumm_debug_level = DBGC_ALL;
-#undef DBGC_CLASS
-#define DBGC_CLASS tdbgumm_debug_level
-
-#define TDBSAM_VERSION         "20021215"
-#define TDB_FILE_NAME          "tdbsam2.tdb"
-#define DOMAINPREFIX           "DOMAIN_"
-#define OBJECTPREFIX           "OBJECT_"
-#define SIDPREFIX              "SID_"
-#define PRIVILEGEPREFIX                "PRIV_"
-
-#define TDB_FORMAT_STRING      "ddB"
-
-union tdbsam2_data {
-       struct tdbsam2_domain_data *domain;
-       struct tdbsam2_user_data *user;
-       struct tdbsam2_group_data *group;
-};
-
-struct tdbsam2_object {
-       uint32 type;
-       union tdbsam2_data data;
-};
-
-static TDB_CONTEXT *tdbsam2_db;
-
-#define TALLOC_CHECK(ptr, err, label) do { if ((ptr) == NULL) { DEBUG(0, ("%s: Out of memory!\n", __FUNCTION__)); err = NT_STATUS_NO_MEMORY; goto label; } } while(0)
-#define SET_OR_FAIL(func, label) do { if (NT_STATUS_IS_ERR(func)) { DEBUG(0, ("%s: Setting gums object data failed!\n", __FUNCTION__)); goto label; } } while(0)
-
-static NTSTATUS init_tdbsam2_object_from_buffer(struct tdbsam2_object *object, TALLOC_CTX *mem_ctx, char *buffer, int size) {
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS tdbsam2_opentdb(void) {
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS tdbsam2_get_object_by_name(struct tdbsam2_object *obj, TALLOC_CTX *mem_ctx, const char* name) {
-
-       NTSTATUS ret;
-       TDB_DATA data, key;
-       fstring keystr;
-       fstring objname;
-
-       if (!obj || !mem_ctx || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (tdbsam2_db == NULL) {
-               if (NT_STATUS_IS_ERR(ret = tdbsam2_opentdb())) {
-                       goto done;
-               }
-       }
-
-       unix_strlower(name, -1, objname, sizeof(objname));
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", OBJECTPREFIX, objname);
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("get_domain_sid: Error fetching database, domain entry not found!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       if (NT_STATUS_IS_ERR(init_tdbsam2_object_from_buffer(obj, mem_ctx, data.dptr, data.dsize))) {
-               SAFE_FREE(data.dptr);
-               DEBUG(0, ("get_domain_sid: Error fetching database, malformed entry!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-       SAFE_FREE(data.dptr);
-
-       ret = NT_STATUS_OK;
-
-done:
-       return ret;
-}
-
-
-static NTSTATUS tdbsam2_store(struct tdbsam2_object *object) {
-
-       NTSTATUS ret;
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS tdbsam2_get_next_sid(TALLOC_CTX *mem_ctx, DOM_SID *sid) {
-
-       NTSTATUS ret;
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS tdbsam2_user_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_user_data *userdata, uint32 type) {
-
-       NTSTATUS ret;
-
-       if (!object || !userdata) {
-               DEBUG(0, ("tdbsam2_user_data_to_gums_object: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       /* userdata->xcounter */
-       /* userdata->sec_desc */
-
-       SET_OR_FAIL(gums_set_object_sid(*object, userdata->user_sid), error);
-       SET_OR_FAIL(gums_set_object_name(*object, userdata->name), error);
-
-       SET_OR_FAIL(gums_set_user_pri_group(*object, userdata->group_sid), error);
-
-       if (userdata->description)
-               SET_OR_FAIL(gums_set_object_description(*object, userdata->description), error);
-
-       if (userdata->full_name)
-               SET_OR_FAIL(gums_set_user_fullname(*object, userdata->full_name), error);
-       
-       if (userdata->home_dir)
-               SET_OR_FAIL(gums_set_user_homedir(*object, userdata->home_dir), error);
-
-       if (userdata->dir_drive)
-               SET_OR_FAIL(gums_set_user_dir_drive(*object, userdata->dir_drive), error);
-
-       if (userdata->logon_script)
-               SET_OR_FAIL(gums_set_user_logon_script(*object, userdata->logon_script), error);
-       
-       if (userdata->profile_path) 
-               SET_OR_FAIL(gums_set_user_profile_path(*object, userdata->profile_path), error);
-
-       if (userdata->workstations)
-               SET_OR_FAIL(gums_set_user_workstations(*object, userdata->workstations), error);
-
-       if (userdata->unknown_str)
-               SET_OR_FAIL(gums_set_user_unknown_str(*object, userdata->unknown_str), error);
-
-       if (userdata->munged_dial)
-               SET_OR_FAIL(gums_set_user_munged_dial(*object, userdata->munged_dial), error);
-
-       SET_OR_FAIL(gums_set_user_logon_divs(*object, userdata->logon_divs), error);
-       SET_OR_FAIL(gums_set_user_hours_len(*object, userdata->hours_len), error);
-
-       if (userdata->hours)
-               SET_OR_FAIL(gums_set_user_hours(*object, userdata->hours), error);
-
-       SET_OR_FAIL(gums_set_user_unknown_3(*object, userdata->unknown_3), error);
-       SET_OR_FAIL(gums_set_user_unknown_5(*object, userdata->unknown_5), error);
-       SET_OR_FAIL(gums_set_user_unknown_6(*object, userdata->unknown_6), error);
-
-       SET_OR_FAIL(gums_set_user_logon_time(*object, userdata->logon_time), error);
-       SET_OR_FAIL(gums_set_user_logoff_time(*object, userdata->logoff_time), error);
-       SET_OR_FAIL(gums_set_user_kickoff_time(*object, userdata->kickoff_time), error);
-       SET_OR_FAIL(gums_set_user_pass_last_set_time(*object, userdata->pass_last_set_time), error);
-       SET_OR_FAIL(gums_set_user_pass_can_change_time(*object, userdata->pass_can_change_time), error);
-       SET_OR_FAIL(gums_set_user_pass_must_change_time(*object, userdata->pass_must_change_time), error);
-
-       ret = NT_STATUS_OK;
-       return ret;
-       
-error:
-       talloc_destroy((*object)->mem_ctx);
-       *object = NULL;
-       return ret;
-}
-
-static NTSTATUS tdbsam2_group_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_group_data *groupdata, uint32 type) {
-
-       NTSTATUS ret;
-
-       if (!object || !groupdata) {
-               DEBUG(0, ("tdbsam2_group_data_to_gums_object: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       /* groupdata->xcounter */
-       /* groupdata->sec_desc */
-
-       SET_OR_FAIL(gums_set_object_sid(*object, groupdata->group_sid), error);
-       SET_OR_FAIL(gums_set_object_name(*object, groupdata->name), error);
-
-       if (groupdata->description)
-               SET_OR_FAIL(gums_set_object_description(*object, groupdata->description), error);
-
-       if (groupdata->count)
-               SET_OR_FAIL(gums_set_group_members(*object, groupdata->count, groupdata->members), error);
-
-       ret = NT_STATUS_OK;
-       return ret;
-       
-error:
-       talloc_destroy((*object)->mem_ctx);
-       *object = NULL;
-       return ret;
-}
-
-static NTSTATUS tdbsam2_domain_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_domain_data *domdata, uint32 type) {
-
-       NTSTATUS ret;
-
-       if (!object || !domdata) {
-               DEBUG(0, ("tdbsam2_domain_data_to_gums_object: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       /* domdata->xcounter */
-       /* domdata->sec_desc */
-
-       SET_OR_FAIL(gums_set_object_sid(*object, domdata->dom_sid), error);
-       SET_OR_FAIL(gums_set_object_name(*object, domdata->name), error);
-
-       if (domdata->description)
-               SET_OR_FAIL(gums_set_object_description(*object, domdata->description), error);
-
-       ret = NT_STATUS_OK;
-       return ret;
-       
-error:
-       talloc_destroy((*object)->mem_ctx);
-       *object = NULL;
-       return ret;
-}
-
-static NTSTATUS tdbsam2_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_object *data) {
-
-       NTSTATUS ret;
-
-       if (!object || !data) {
-               DEBUG(0, ("tdbsam2_user_data_to_gums_object: no NULL structure pointers are accepted here!\n"));
-               ret = NT_STATUS_INVALID_PARAMETER;
-               goto done;
-       }
-
-       ret = gums_create_object(object, data->type);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(5, ("tdbsam2_user_data_to_gums_object: error creating gums object!\n"));
-               goto done;
-       }
-
-       switch (data->type) {
-               case GUMS_OBJ_DOMAIN:
-                       ret = tdbsam2_domain_data_to_gums_object(object, data->data.domain, data->type);
-                       break;
-
-               case GUMS_OBJ_NORMAL_USER:
-                       ret = tdbsam2_user_data_to_gums_object(object, data->data.user, data->type);
-                       break;
-
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       ret = tdbsam2_group_data_to_gums_object(object, data->data.group, data->type);
-                       break;
-
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-       }
-
-done:
-       return ret;
-}
-
-
-
-
-
-/* GUMM object functions */
-
-static NTSTATUS get_domain_sid(DOM_SID *sid, const char* name) {
-
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-       TDB_DATA data, key;
-       fstring keystr;
-       fstring domname;
-
-       if (!sid || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       mem_ctx = talloc_init("get_domain_sid");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_new_object: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (tdbsam2_db == NULL) {
-               if (NT_STATUS_IS_ERR(ret = tdbsam2_opentdb())) {
-                       goto done;
-               }
-       }
-
-       unix_strlower(name, -1, domname, sizeof(domname));
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", DOMAINPREFIX, domname);
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("get_domain_sid: Error fetching database, domain entry not found!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       if (NT_STATUS_IS_ERR(init_tdbsam2_object_from_buffer(&obj, mem_ctx, data.dptr, data.dsize))) {
-               SAFE_FREE(data.dptr);
-               DEBUG(0, ("get_domain_sid: Error fetching database, malformed entry!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-       SAFE_FREE(data.dptr);
-
-       if (obj.type != GUMS_OBJ_DOMAIN) {
-               DEBUG(5, ("get_domain_sid: Requested object is not a domain!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       sid_copy(sid, obj.data.domain->dom_sid);
-
-       ret = NT_STATUS_OK;
-
-done:
-       if (mem_ctx) talloc_destroy(mem_ctx);
-       return ret;
-}
-
-       NTSTATUS (*set_domain_sid) (const DOM_SID *sid, const char *name);
-
-       NTSTATUS (*get_sequence_number) (void);
-
-
-static NTSTATUS tdbsam2_new_object(DOM_SID **sid, const char *name, const int obj_type) {
-
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-
-       if (!sid || !name) {
-               DEBUG(0, ("tdbsam2_new_object: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       mem_ctx = talloc_init("tdbsam2_new_object");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_new_object: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       switch (obj_type) {
-               case GUMS_OBJ_NORMAL_USER:
-                       obj.data.user = (struct tdbsam2_user_data *)talloc_zero(mem_ctx, sizeof(struct tdbsam2_user_data));
-                       TALLOC_CHECK(obj.data.user, ret, done);
-
-                       /*obj.data.user->sec_desc*/
-
-                       tdbsam2_get_next_sid(mem_ctx, obj.data.user->user_sid);
-                       TALLOC_CHECK(obj.data.user->user_sid, ret, done);
-
-                       obj.data.user->name = talloc_strdup(mem_ctx, name);
-                       TALLOC_CHECK(obj.data.user, ret, done);
-
-                       break;
-
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       obj.data.group = (struct tdbsam2_group_data *)talloc_zero(mem_ctx, sizeof(struct tdbsam2_group_data));
-                       TALLOC_CHECK(obj.data.group, ret, done);
-
-                       /*obj.data.user->sec_desc*/
-
-                       tdbsam2_get_next_sid(mem_ctx, obj.data.group->group_sid);
-                       TALLOC_CHECK(obj.data.group->group_sid, ret, done);
-
-                       obj.data.group->name = talloc_strdup(mem_ctx, name);
-                       TALLOC_CHECK(obj.data.group, ret, done);
-
-                       break;
-
-               case GUMS_OBJ_DOMAIN:
-                       /* TODO: SHOULD WE ALLOW TO CREATE NEW DOMAINS ? */
-
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-       }
-
-       ret = tdbsam2_store(&obj);
-
-done:
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-static NTSTATUS tdbsam2_delete_object(const DOM_SID *sid) {
-
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-       TDB_DATA data, key;
-       fstring keystr;
-       fstring sidstr;
-       char *obj_name = NULL;
-       int obj_type, obj_version, len;
-
-       if (!sid) {
-               DEBUG(0, ("tdbsam2_new_object: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       mem_ctx = talloc_init("tdbsam2_delete_object");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_new_object: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (tdbsam2_db == NULL) {
-               if (NT_STATUS_IS_ERR(ret = tdbsam2_opentdb())) {
-                       goto done;
-               }
-       }
-
-       sid_to_string(sidstr, sid);
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", SIDPREFIX, sidstr);
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("get_domain_sid: Error fetching database, SID entry not found!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       len = tdb_unpack(data.dptr, data.dsize, TDB_FORMAT_STRING,
-               &obj_version,
-               &obj_type,
-               &obj_name);
-
-       if (len == -1) {
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       if (tdb_delete(tdbsam2_db, key) != TDB_SUCCESS) {
-               DEBUG(5, ("tdbsam2_object_delete: Error deleting object!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }       
-
-       switch (obj_type) {
-               case GUMS_OBJ_NORMAL_USER:
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       
-                       slprintf(keystr, sizeof(keystr)-1, "%s%s", OBJECTPREFIX, obj_name);
-                       key.dptr = keystr;
-                       key.dsize = strlen(keystr) + 1;
-
-                       if (tdb_delete(tdbsam2_db, key) != TDB_SUCCESS) {
-                               DEBUG(5, ("tdbsam2_object_delete: Error deleting object!\n"));
-                               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-                               DEBUGADD(5, (" Key: %s\n", keystr));
-                               ret = NT_STATUS_UNSUCCESSFUL;
-                               goto done;
-                       }
-                       break;
-
-               case GUMS_OBJ_DOMAIN:
-                       /* TODO: SHOULD WE ALLOW TO DELETE DOMAINS ? */
-
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-       }
-
-done:
-       SAFE_FREE(obj_name);
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-       NTSTATUS (*get_object_from_sid) (GUMS_OBJECT **object, const DOM_SID *sid, const int obj_type);
-       NTSTATUS (*get_sid_from_name) (GUMS_OBJECT **object, const char *name);
-       /* This function is used to get the list of all objects changed since b_time, it is
-          used to support PDC<->BDC synchronization */
-       NTSTATUS (*get_updated_objects) (GUMS_OBJECT **objects, const NTTIME base_time);
-
-       NTSTATUS (*enumerate_objects_start) (void *handle, const DOM_SID *sid, const int obj_type);
-       NTSTATUS (*enumerate_objects_get_next) (GUMS_OBJECT **object, void *handle);
-       NTSTATUS (*enumerate_objects_stop) (void *handle);
-
-       /* This function MUST be used ONLY by PDC<->BDC replication code or recovery tools.
-          Never use this function to update an object in the database, use set_object_values() */
-       NTSTATUS (*set_object) (const GUMS_OBJECT *object);
-
-       /* set object values function */
-       NTSTATUS (*set_object_values) (DOM_SID *sid, uint32 count, GUMS_DATA_SET *data_set);
-
-       /* Group related functions */
-       NTSTATUS (*add_memberss_to_group) (const DOM_SID *group, const DOM_SID **members);
-       NTSTATUS (*delete_members_from_group) (const DOM_SID *group, const DOM_SID **members);
-       NTSTATUS (*enumerate_group_members) (DOM_SID **members, const DOM_SID *sid, const int type);
-
-       NTSTATUS (*get_sid_groups) (DOM_SID **groups, const DOM_SID *sid);
-
-       NTSTATUS (*lock_sid) (const DOM_SID *sid);
-       NTSTATUS (*unlock_sid) (const DOM_SID *sid);
-
-       /* privileges related functions */
-
-       NTSTATUS (*add_members_to_privilege) (const LUID_ATTR *priv, const DOM_SID **members);
-       NTSTATUS (*delete_members_from_privilege) (const LUID_ATTR *priv, const DOM_SID **members);
-       NTSTATUS (*enumerate_privilege_members) (DOM_SID **members, const LUID_ATTR *priv);
-       NTSTATUS (*get_sid_privileges) (DOM_SID **privs, const DOM_SID *sid);
-       /* warning!: set_privilege will overwrite a prior existing privilege if such exist */
-       NTSTATUS (*set_privilege) (GUMS_PRIVILEGE *priv);
-
-
-int gumm_init(GUMS_FUNCTIONS **storage) {
-
-       return 0;
-}
diff --git a/source3/sam/gums.c b/source3/sam/gums.c
deleted file mode 100644 (file)
index 3a20ef6..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   Grops and Users Management System initializations.
-   Copyright (C) Simo Sorce 2002
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-/*#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_GUMS*/
-
-#define GMV_MAJOR 0
-#define GMV_MINOR 1
-
-GUMS_FUNCTIONS *gums_storage;
-static void *dl_handle;
-
-PRIVS privs[] = {
-       {PRIV_NONE,                     "no_privs",                             "No privilege"}, /* this one MUST be first */
-       {PRIV_CREATE_TOKEN,             "SeCreateToken",                        "Create Token"},
-       {PRIV_ASSIGNPRIMARYTOKEN,       "SeAssignPrimaryToken",                 "Assign Primary Token"},
-       {PRIV_LOCK_MEMORY,              "SeLockMemory",                         "Lock Memory"},
-       {PRIV_INCREASE_QUOTA,           "SeIncreaseQuotaPrivilege",             "Increase Quota Privilege"},
-       {PRIV_MACHINE_ACCOUNT,          "SeMachineAccount",                     "Machine Account"},
-       {PRIV_TCB,                      "SeTCB",                                "TCB"},
-       {PRIV_SECURITY,                 "SeSecurityPrivilege",                  "Security Privilege"},
-       {PRIV_TAKE_OWNERSHIP,           "SeTakeOwnershipPrivilege",             "Take Ownership Privilege"},
-       {PRIV_LOAD_DRIVER,              "SeLocalDriverPrivilege",               "Local Driver Privilege"},
-       {PRIV_SYSTEM_PROFILE,           "SeSystemProfilePrivilege",             "System Profile Privilege"},
-       {PRIV_SYSTEMTIME,               "SeSystemtimePrivilege",                "System Time"},
-       {PRIV_PROF_SINGLE_PROCESS,      "SeProfileSingleProcessPrivilege",      "Profile Single Process Privilege"},
-       {PRIV_INC_BASE_PRIORITY,        "SeIncreaseBasePriorityPrivilege",      "Increase Base Priority Privilege"},
-       {PRIV_CREATE_PAGEFILE,          "SeCreatePagefilePrivilege",            "Create Pagefile Privilege"},
-       {PRIV_CREATE_PERMANENT,         "SeCreatePermanent",                    "Create Permanent"},
-       {PRIV_BACKUP,                   "SeBackupPrivilege",                    "Backup Privilege"},
-       {PRIV_RESTORE,                  "SeRestorePrivilege",                   "Restore Privilege"},
-       {PRIV_SHUTDOWN,                 "SeShutdownPrivilege",                  "Shutdown Privilege"},
-       {PRIV_DEBUG,                    "SeDebugPrivilege",                     "Debug Privilege"},
-       {PRIV_AUDIT,                    "SeAudit",                              "Audit"},
-       {PRIV_SYSTEM_ENVIRONMENT,       "SeSystemEnvironmentPrivilege",         "System Environment Privilege"},
-       {PRIV_CHANGE_NOTIFY,            "SeChangeNotify",                       "Change Notify"},
-       {PRIV_REMOTE_SHUTDOWN,          "SeRemoteShutdownPrivilege",            "Remote Shutdown Privilege"},
-       {PRIV_UNDOCK,                   "SeUndock",                             "Undock"},
-       {PRIV_SYNC_AGENT,               "SeSynchronizationAgent",               "Synchronization Agent"},
-       {PRIV_ENABLE_DELEGATION,        "SeEnableDelegation",                   "Enable Delegation"},
-       {PRIV_ALL,                      "SaAllPrivs",                           "All Privileges"}
-};
-
-NTSTATUS gums_init(const char *module_name)
-{
-       int (*module_version)(int);
-       NTSTATUS (*module_init)();
-/*     gums_module_init module_init;*/
-       NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-
-       DEBUG(5, ("Opening gums module %s\n", module_name));
-       dl_handle = sys_dlopen(module_name, RTLD_NOW);
-       if (!dl_handle) {
-               DEBUG(0, ("ERROR: Failed to load gums module %s, error: %s\n", module_name, sys_dlerror()));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       module_version = sys_dlsym(dl_handle, "gumm_version");
-       if (!module_version) {
-               DEBUG(0, ("ERROR: Failed to find gums module version!\n"));
-               goto error;
-       }
-
-       if (module_version(GMV_MAJOR) != GUMS_VERSION_MAJOR) {
-               DEBUG(0, ("ERROR: Module's major version does not match gums version!\n"));
-               goto error;
-       }
-
-       if (module_version(GMV_MINOR) != GUMS_VERSION_MINOR) {
-               DEBUG(1, ("WARNING: Module's minor version does not match gums version!\n"));
-       }
-
-       module_init = sys_dlsym(dl_handle, "gumm_init");
-       if (!module_init) {
-               DEBUG(0, ("ERROR: Failed to find gums module's init function!\n"));
-               goto error;
-       }
-
-       DEBUG(5, ("Initializing module %s\n", module_name));
-
-       ret = module_init(&gums_storage);
-       goto done;
-
-error:
-       ret = NT_STATUS_UNSUCCESSFUL;
-       sys_dlclose(dl_handle);
-
-done:
-       return ret;
-}
-
-NTSTATUS gums_unload(void)
-{
-       NSTATUS ret;
-       NTSTATUS (*module_finalize)();
-
-       if (!dl_handle)
-               return NT_STATUS_UNSUCCESSFUL;
-
-       module_close = sys_dlsym(dl_handle, "gumm_finalize");
-       if (!module_finalize) {
-               DEBUG(0, ("ERROR: Failed to find gums module's init function!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       DEBUG(5, ("Finalizing module %s\n", module_name));
-
-       ret = module_finalize();
-       sys_dlclose(dl_handle);
-
-       return ret;
-}
diff --git a/source3/sam/gums_api.c b/source3/sam/gums_api.c
deleted file mode 100644 (file)
index 75e32fa..0000000
+++ /dev/null
@@ -1,1268 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   GUMS structures
-   Copyright (C) Simo Sorce 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-extern GUMS_FUNCTIONS *gums_storage;
-
-/* Functions to get/set info from a GUMS object */
-
-NTSTATUS gums_get_object_type(uint32 *type, const GUMS_OBJECT *obj)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *type = obj->type;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_create_object(GUMS_OBJECT **obj, uint32 type)
-{
-       TALLOC_CTX *mem_ctx = talloc_init("gums_create_object");
-       GUMS_OBJECT *go;
-       NT_STATUS ret;
-       
-       go = talloc_zero(mem_ctx, sizeof(GUMS_OBJECT));
-       go->mem_ctx = mem_ctx;
-       go->type = type;
-       go->version = GUMS_OBJECT_VERSION;
-
-       switch(type) {
-               case GUMS_OBJ_DOMAIN:
-                       break;
-
-/*
-               case GUMS_OBJ_WORKSTATION_TRUST:
-               case GUMS_OBJ_SERVER_TRUST:
-               case GUMS_OBJ_DOMAIN_TRUST:
-*/
-               case GUMS_OBJ_NORMAL_USER:
-                       go->data = (GUMS_USER *)talloc_zero(mem_ctx, sizeof(GUMS_USER));
-                       break;
-
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       go->data = (GUMS_GROUP *)talloc_zero(mem_ctx, sizeof(GUMS_GROUP));
-                       break;
-
-               default:
-                       /* TODO: throw error */
-                       ret = NT_STATUS_OBJECT_TYPE_MISMATCH;
-                       goto error;
-       }
-
-       if (!(go->data)) {
-               ret = NT_STATUS_NO_MEMORY;
-               DEBUG(0, ("gums_create_object: Out of memory!\n"));
-               goto error;
-       }
-
-       *obj = go;
-       return NT_STATUS_OK;
-       
-error:
-       talloc_destroy(go->mem_ctx);
-       *obj = NULL;
-       return ret;
-}
-
-NTSTATUS gums_get_object_seq_num(uint32 *version, const GUMS_OBJECT *obj)
-{
-       if (!version || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *version = obj->version;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_object_seq_num(GUMS_OBJECT *obj, uint32 version)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       obj->version = version;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_sec_desc(SEC_DESC **sec_desc, const GUMS_OBJECT *obj)
-{
-       if (!sec_desc || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *sec_desc = obj->sec_desc;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_sec_desc(GUMS_OBJECT *obj, const SEC_DESC *sec_desc)
-{
-       if (!obj || !sec_desc)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       obj->sec_desc = dup_sec_desc(obj->mem_ctx, sec_desc);
-       if (!(obj->sec_desc)) return NT_STATUS_UNSUCCESSFUL;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_object_sid(DOM_SID **sid, const GUMS_OBJECT *obj)
-{
-       if (!sid || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *sid = obj->sid;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_object_sid(GUMS_OBJECT *obj, const DOM_SID *sid)
-{
-       if (!obj || !sid)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       obj->sid = sid_dup_talloc(obj->mem_ctx, sid);
-       if (!(obj->sid)) return NT_STATUS_UNSUCCESSFUL;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_object_name(char **name, const GUMS_OBJECT *obj)
-{
-       if (!name || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *name = obj->name;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_object_name(GUMS_OBJECT *obj, const char *name)
-{
-       if (!obj || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       obj->name = (char *)talloc_strdup(obj->mem_ctx, name);
-       if (!(obj->name)) return NT_STATUS_UNSUCCESSFUL;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_object_description(char **description, const GUMS_OBJECT *obj)
-{
-       if (!description || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *description = obj->description;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_object_description(GUMS_OBJECT *obj, const char *description)
-{
-       if (!obj || !description)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       obj->description = (char *)talloc_strdup(obj->mem_ctx, description);
-       if (!(obj->description)) return NT_STATUS_UNSUCCESSFUL;
-       return NT_STATUS_OK;
-}
-
-/* User specific functions */
-
-/*
-NTSTATUS gums_get_object_privileges(PRIVILEGE_SET **priv_set, const GUMS_OBJECT *obj)
-{
-       if (!priv_set)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       *priv_set = obj->priv_set;
-       return NT_STATUS_OK;
-}
-*/
-
-NTSTATUS gums_get_user_pri_group(DOM_SID **sid, const GUMS_OBJECT *obj)
-{
-       if (!sid || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *sid = obj->data.user->group_sid;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_pri_group(GUMS_OBJECT *obj, const DOM_SID *sid)
-{
-       if (!obj || !sid)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->group_sid = sid_dup_talloc(obj->mem_ctx, sid);
-       if (!(obj->data.user->group_sid)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_nt_pwd(DATA_BLOB **nt_pwd, const GUMS_OBJECT *obj)
-{
-       if (!nt_pwd || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *nt_pwd = obj->data.user->nt_pw;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_nt_pwd(GUMS_OBJECT *obj, const DATA_BLOB nt_pwd)
-{
-       if (!obj || !nt_pwd || nt_pwd != NT_HASH_LEN)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->nt_pwd = data_blob_talloc(obj->mem_ctx, nt_pwd.data, nt_pwd.lenght);
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_lm_pwd(DATA_BLOB **lm_pwd, const GUMS_OBJECT *obj)
-{ 
-       if (!lm_pwd || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *lm_pwd = obj->data.user->lm_pw;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_lm_pwd(GUMS_OBJECT *obj, const DATA_BLOB lm_pwd)
-{
-       if (!obj || !lm_pwd || lm_pwd != LM_HASH_LEN)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->lm_pwd = data_blob_talloc(obj->mem_ctx, lm_pwd.data, lm_pwd.lenght);
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_fullname(char **fullname, const GUMS_OBJECT *obj)
-{
-       if (!fullname || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *fullname = obj->data.user->full_name;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_fullname(GUMS_OBJECT *obj, const char *fullname)
-{
-       if (!obj || !fullname)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->full_name = (char *)talloc_strdup(obj->mem_ctx, fullname);
-       if (!(obj->data.user->full_name)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_homedir(char **homedir, const GUMS_OBJECT *obj)
-{
-       if (!homedir || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *homedir = obj->data.user->home_dir;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_homedir(GUMS_OBJECT *obj, const char *homedir)
-{
-       if (!obj || !homedir)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->home_dir = (char *)talloc_strdup(obj->mem_ctx, homedir);
-       if (!(obj->data.user->home_dir)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_dir_drive(char **dirdrive, const GUMS_OBJECT *obj)
-{
-       if (!dirdrive || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *dirdrive = obj->data.user->dir_drive;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_dir_drive(GUMS_OBJECT *obj, const char *dir_drive)
-{
-       if (!obj || !dir_drive)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->dir_drive = (char *)talloc_strdup(obj->mem_ctx, dir_drive);
-       if (!(obj->data.user->dir_drive)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_logon_script(char **logon_script, const GUMS_OBJECT *obj)
-{
-       if (!logon_script || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *logon_script = obj->data.user->logon_script;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_logon_script(GUMS_OBJECT *obj, const char *logon_script)
-{
-       if (!obj || !logon_script)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->logon_script = (char *)talloc_strdup(obj->mem_ctx, logon_script);
-       if (!(obj->data.user->logon_script)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_profile_path(char **profile_path, const GUMS_OBJECT *obj)
-{
-       if (!profile_path || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *profile_path = obj->data.user->profile_path;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_profile_path(GUMS_OBJECT *obj, const char *profile_path)
-{
-       if (!obj || !profile_path)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->profile_path = (char *)talloc_strdup(obj->mem_ctx, profile_path);
-       if (!(obj->data.user->profile_path)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_workstations(char **workstations, const GUMS_OBJECT *obj)
-{
-       if (!workstations || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *workstations = obj->data.user->workstations;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_workstations(GUMS_OBJECT *obj, const char *workstations)
-{
-       if (!obj || !workstations)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->workstations = (char *)talloc_strdup(obj->mem_ctx, workstations);
-       if (!(obj->data.user->workstations)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_unknown_str(char **unknown_str, const GUMS_OBJECT *obj)
-{
-       if (!unknown_str || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *unknown_str = obj->data.user->unknown_str;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_unknown_str(GUMS_OBJECT *obj, const char *unknown_str)
-{
-       if (!obj || !unknown_str)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->unknown_str = (char *)talloc_strdup(obj->mem_ctx, unknown_str);
-       if (!(obj->data.user->unknown_str)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_munged_dial(char **munged_dial, const GUMS_OBJECT *obj)
-{
-       if (!munged_dial || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *munged_dial = obj->data.user->munged_dial;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_munged_dial(GUMS_OBJECT *obj, const char *munged_dial)
-{
-       if (!obj || !munged_dial)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->munged_dial = (char *)talloc_strdup(obj->mem_ctx, munged_dial);
-       if (!(obj->data.user->munged_dial)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_logon_time(NTTIME *logon_time, const GUMS_OBJECT *obj)
-{
-       if (!logon_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *logon_time = obj->data.user->logon_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_logon_time(GUMS_OBJECT *obj, NTTIME logon_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->logon_time = logon_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_logoff_time(NTTIME *logoff_time, const GUMS_OBJECT *obj)
-{
-       if (!logoff_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *logoff_time = obj->data.user->logoff_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_logoff_time(GUMS_OBJECT *obj, NTTIME logoff_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->logoff_time = logoff_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_kickoff_time(NTTIME *kickoff_time, const GUMS_OBJECT *obj)
-{
-       if (!kickoff_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *kickoff_time = obj->data.user->kickoff_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_kickoff_time(GUMS_OBJECT *obj, NTTIME kickoff_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->kickoff_time = kickoff_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_pass_last_set_time(NTTIME *pass_last_set_time, const GUMS_OBJECT *obj)
-{
-       if (!pass_last_set_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *pass_last_set_time = obj->data.user->pass_last_set_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_pass_last_set_time(GUMS_OBJECT *obj, NTTIME pass_last_set_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->pass_last_set_time = pass_last_set_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_pass_can_change_time(NTTIME *pass_can_change_time, const GUMS_OBJECT *obj)
-{
-       if (!pass_can_change_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *pass_can_change_time = obj->data.user->pass_can_change_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_pass_can_change_time(GUMS_OBJECT *obj, NTTIME pass_can_change_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->pass_can_change_time = pass_can_change_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_pass_must_change_time(NTTIME *pass_must_change_time, const GUMS_OBJECT *obj)
-{
-       if (!pass_must_change_time || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *pass_must_change_time = obj->data-user->pass_must_change_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_pass_must_change_time(GUMS_OBJECT *obj, NTTIME pass_must_change_time)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->pass_must_change_time = pass_must_change_time;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_logon_divs(uint16 *logon_divs, const GUMS_OBJECT *obj)
-{
-       if (!logon_divs || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *logon_divs = obj->data.user->logon_divs;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_logon_divs(GUMS_OBJECT *obj, uint16 logon_divs)
-{
-       if (!obj || !logon_divs)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->logon_divs = logon_divs;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_hours_len(uint32 *hours_len, const GUMS_OBJECT *obj)
-{
-       if (!hours_len || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *hours_len = obj->data.user->hours_len;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_hours_len(GUMS_OBJECT *obj, uint32 hours_len)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->hours_len = hours_len;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_hours(uint8 **hours, const GUMS_OBJECT *obj)
-{
-       if (!hours || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *hours = obj->data.user->hours;
-       return NT_STATUS_OK;
-}
-
-/* WARNING: always set hours_len before hours */
-NTSTATUS gums_set_user_hours(GUMS_OBJECT *obj, const uint8 *hours)
-{
-       if (!obj || !hours)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       if (obj->data.user->hours_len == 0)
-               DEBUG(10, ("gums_set_user_hours: Warning, hours_len is zero!\n"));
-
-       obj->data.user->hours = (uint8 *)talloc_memdup(obj->mem_ctx, hours, obj->data.user->hours_len);
-       if (!(obj->data.user->hours) & (obj->data.user->hours_len != 0)) return NT_STATUS_NO_MEMORY;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_unknown_3(uint32 *unknown_3, const GUMS_OBJECT *obj)
-{
-       if (!unknown_3 || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *unknown_3 = obj->data.user->unknown_3;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_unknown_3(GUMS_OBJECT *obj, uint32 unknown_3)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->unknown_3 = unknown_3;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_unknown_5(uint32 *unknown_5, const GUMS_OBJECT *obj)
-{
-       if (!unknown_5 || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *unknown_5 = obj->data.user->unknown_5;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_unknown_5(GUMS_OBJECT *obj, uint32 unknown_5)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->unknown_5 = unknown_5;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_get_user_unknown_6(uint32 *unknown_6, const GUMS_OBJECT *obj)
-{
-       if (!unknown_6 || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *unknown_6 = obj->data.user->unknown_6;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_user_unknown_6(GUMS_OBJECT *obj, uint32 unknown_6)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.user->unknown_6 = unknown_6;
-       return NT_STATUS_OK;
-}
-
-/* Group specific functions */
-
-NTSTATUS gums_get_group_members(uint32 *count, DOM_SID **members, const GUMS_OBJECT *obj)
-{
-       if (!count || !members || !obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_GROUP &&
-               obj->type != GUMS_OBJ_ALIAS)
-                       return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *count = obj->data.group->count;
-       *members = obj->data.group->members;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_group_members(GUMS_OBJECT *obj, uint32 count, DOM_SID **members)
-{
-       uint32 n;
-
-       if (!obj || !members || !members)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_GROUP &&
-               obj->type != GUMS_OBJ_ALIAS)
-                       return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.group->count = count;
-       n = 0;
-       do {
-               obj->data.group->members[n] = dup_sec_desc(obj->mem_ctx, members[n]);
-               if (!(obj->data.group->members[n])) return NT_STATUS_NO_MEMORY;
-               n++;
-       } while (n < count);
-       return NT_STATUS_OK;
-}
-
-/* data_store set functions */
-
-NTSTATUS gums_create_commit_set(GUMS_COMMIT_SET **com_set, TALLOC_CTX *ctx, DOM_SID *sid, uint32 type)
-{
-       TALLOC_CTX *mem_ctx;
-       GUMS_COMMIT_SET *set;
-
-       mem_ctx = talloc_init("commit_set");
-       if (mem_ctx == NULL)
-               return NT_STATUS_NO_MEMORY;
-       set = (GUMS_COMMIT_SET *)talloc(mem_ctx, sizeof(GUMS_COMMIT_SET));
-       if (set == NULL) {
-               talloc_destroy(mem_ctx);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       set->mem_ctx = mem_ctx;
-       set->type = type;
-       sid_copy(&(set->sid), sid);
-       set->count = 0;
-       set->data = NULL;
-       *com_set = set;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_cs_set_sec_desc(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, SEC_DESC *sec_desc)
-{
-       GUMS_DATA_SET *data_set;
-       SEC_DESC *new_sec_desc;
-
-       if (!mem_ctx || !com_set || !sec_desc)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_SET_SEC_DESC;
-       new_sec_desc = dup_sec_desc(mem_ctx, sec_desc);
-       if (new_sec_desc == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       (SEC_DESC *)(data_set->data) = new_sec_desc;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_cs_add_privilege(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, LUID_ATTR priv)
-{
-       GUMS_DATA_SET *data_set;
-       LUID_ATTR *new_priv;
-
-       if (!mem_ctx || !com_set)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_ADD_PRIVILEGE;
-       if (NT_STATUS_IS_ERR(dupalloc_luid_attr(mem_ctx, &new_priv, priv)))
-               return NT_STATUS_NO_MEMORY;
-
-       (SEC_DESC *)(data_set->data) = new_priv;
-
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS gums_cs_del_privilege(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, LUID_ATTR priv)
-{
-       GUMS_DATA_SET *data_set;
-       LUID_ATTR *new_priv;
-
-       if (!mem_ctx || !com_set)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_DEL_PRIVILEGE;
-       if (NT_STATUS_IS_ERR(dupalloc_luid_attr(mem_ctx, &new_priv, priv)))
-               return NT_STATUS_NO_MEMORY;
-
-       (SEC_DESC *)(data_set->data) = new_priv;
-
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS gums_cs_set_privilege_set(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, PRIVILEGE_SET *priv_set)
-{
-       GUMS_DATA_SET *data_set;
-       PRIVILEGE_SET *new_priv_set;
-
-       if (!mem_ctx || !com_set || !priv_set)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_SET_SEC_DESC;
-       if (NT_STATUS_IS_ERR(dup_priv_set(&new_priv_set, mem_ctx, priv_set)))
-               return NT_STATUS_NO_MEMORY;
-
-       (SEC_DESC *)(data_set->data) = new_priv_set;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_cs_set_string(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, uint32 type, char *str)
-{
-       GUMS_DATA_SET *data_set;
-       char *new_str;
-
-       if (!mem_ctx || !com_set || !str || type < GUMS_SET_NAME || type > GUMS_SET_MUNGED_DIAL)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = type;
-       new_str = talloc_strdup(mem_ctx, str);
-       if (new_str == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       (char *)(data_set->data) = new_str;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_cs_set_name(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *name)
-{
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, name);
-}
-
-NTSTATUS gums_cs_set_description(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *desc)
-{
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_DESCRIPTION, desc);
-}
-
-NTSTATUS gums_cs_set_full_name(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *full_name)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, full_name);
-}
-
-NTSTATUS gums_cs_set_home_directory(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *home_dir)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, home_dir);
-}
-
-NTSTATUS gums_cs_set_drive(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *drive)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, drive);
-}
-
-NTSTATUS gums_cs_set_logon_script(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *logon_script)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, logon_script);
-}
-
-NTSTATUS gums_cs_set_profile_path(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *prof_path)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, prof_path);
-}
-
-NTSTATUS gums_cs_set_workstations(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *wks)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, wks);
-}
-
-NTSTATUS gums_cs_set_unknown_string(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *unkn_str)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, unkn_str);
-}
-
-NTSTATUS gums_cs_set_munged_dial(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, char *munged_dial)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_string(mem_ctx, com_set, GUMS_SET_NAME, munged_dial);
-}
-
-NTSTATUS gums_cs_set_nttime(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, uint32 type, NTTIME *nttime)
-{
-       GUMS_DATA_SET *data_set;
-       NTTIME *new_time;
-
-       if (!mem_ctx || !com_set || !nttime || type < GUMS_SET_LOGON_TIME || type > GUMS_SET_PASS_MUST_CHANGE_TIME)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = type;
-       new_time = talloc(mem_ctx, sizeof(NTTIME));
-       if (new_time == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       new_time->low = nttime->low;
-       new_time->high = nttime->high;
-       (char *)(data_set->data) = new_time;
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_cs_set_logon_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *logon_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_LOGON_TIME, logon_time);
-}
-
-NTSTATUS gums_cs_set_logoff_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *logoff_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_LOGOFF_TIME, logoff_time);
-}
-
-NTSTATUS gums_cs_set_kickoff_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *kickoff_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_KICKOFF_TIME, kickoff_time);
-}
-
-NTSTATUS gums_cs_set_pass_last_set_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *pls_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_LOGON_TIME, pls_time);
-}
-
-NTSTATUS gums_cs_set_pass_can_change_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *pcc_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_LOGON_TIME, pcc_time);
-}
-
-NTSTATUS gums_cs_set_pass_must_change_time(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, NTTIME *pmc_time)
-{
-       if (com_set->type != GUMS_OBJ_NORMAL_USER)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_set_nttime(mem_ctx, com_set, GUMS_SET_LOGON_TIME, pmc_time);
-}
-
-NTSTATUS gums_cs_add_sids_to_group(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, const DOM_SID **sids, const uint32 count)
-{
-       GUMS_DATA_SET *data_set;
-       DOM_SID **new_sids;
-       int i;
-
-       if (!mem_ctx || !com_set || !sids)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_ADD_SID_LIST;
-       new_sids = (DOM_SID **)talloc(mem_ctx, (sizeof(void *) * count));
-       if (new_sids == NULL)
-               return NT_STATUS_NO_MEMORY;
-       for (i = 0; i < count; i++) {
-               new_sids[i] = sid_dup_talloc(mem_ctx, sids[i]);
-               if (new_sids[i] == NULL)
-                       return NT_STATUS_NO_MEMORY;
-       }
-
-       (SEC_DESC *)(data_set->data) = new_sids;
-
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS gums_cs_add_users_to_group(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, const DOM_SID **sids, const uint32 count)
-{
-       if (!mem_ctx || !com_set || !sids)
-               return NT_STATUS_INVALID_PARAMETER;
-       if (com_set->type != GUMS_OBJ_GROUP || com_set->type != GUMS_OBJ_ALIAS)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_add_sids_to_group(mem_ctx, com_set, sids, count);   
-}
-
-NTSTATUS gums_cs_add_groups_to_group(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, const DOM_SID **sids, const uint32 count)
-{
-       if (!mem_ctx || !com_set || !sids)
-               return NT_STATUS_INVALID_PARAMETER;
-       if (com_set->type != GUMS_OBJ_ALIAS)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       return gums_add_sids_to_group(mem_ctx, com_set, sids, count);   
-}
-
-NTSTATUS gums_cs_del_sids_from_group(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, const DOM_SID **sids, const uint32 count)
-{
-       GUMS_DATA_SET *data_set;
-       DOM_SID **new_sids;
-       int i;
-
-       if (!mem_ctx || !com_set || !sids)
-               return NT_STATUS_INVALID_PARAMETER;
-       if (com_set->type != GUMS_OBJ_GROUP || com_set->type != GUMS_OBJ_ALIAS)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_DEL_SID_LIST;
-       new_sids = (DOM_SID **)talloc(mem_ctx, (sizeof(void *) * count));
-       if (new_sids == NULL)
-               return NT_STATUS_NO_MEMORY;
-       for (i = 0; i < count; i++) {
-               new_sids[i] = sid_dup_talloc(mem_ctx, sids[i]);
-               if (new_sids[i] == NULL)
-                       return NT_STATUS_NO_MEMORY;
-       }
-
-       (SEC_DESC *)(data_set->data) = new_sids;
-
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS gums_ds_set_sids_in_group(TALLOC_CTX *mem_ctx, GUMS_COMMIT_SET *com_set, const DOM_SID **sids, const uint32 count)
-{
-       GUMS_DATA_SET *data_set;
-       DOM_SID **new_sids;
-       int i;
-
-       if (!mem_ctx || !com_set || !sids)
-               return NT_STATUS_INVALID_PARAMETER;
-       if (com_set->type != GUMS_OBJ_GROUP || com_set->type != GUMS_OBJ_ALIAS)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       com_set->count = com_set->count + 1;
-       if (com_set->count == 1) { /* first data set */
-               data_set = (GUMS_DATA_SET *)talloc(mem_ctx, sizeof(GUMS_DATA_SET));
-       } else {
-               data_set = (GUMS_DATA_SET *)talloc_realloc(mem_ctx, com_set->data, sizeof(GUMS_DATA_SET) * com_set->count);
-       }
-       if (data_set == NULL)
-               return NT_STATUS_NO_MEMORY;
-
-       com_set->data = data_set;
-       data_set = &((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_SET_SID_LIST;
-       new_sids = (DOM_SID **)talloc(mem_ctx, (sizeof(void *) * count));
-       if (new_sids == NULL)
-               return NT_STATUS_NO_MEMORY;
-       for (i = 0; i < count; i++) {
-               new_sids[i] = sid_dup_talloc(mem_ctx, sids[i]);
-               if (new_sids[i] == NULL)
-                       return NT_STATUS_NO_MEMORY;
-       }
-
-       (SEC_DESC *)(data_set->data) = new_sids;
-
-       return NT_STATUS_OK;    
-}
-
-
-NTSTATUS gums_commit_data(GUMS_COMMIT_SET *set)
-{
-       return gums_storage->set_object_values(set->sid, set->count, set->data);
-}
-
-NTSTATUS gums_destroy_commit_set(GUMS_COMMIT_SET **com_set)
-{
-       talloc_destroy((*com_set)->mem_ctx);
-       *com_set = NULL;
-
-       return NT_STATUS_OK;
-}
-
diff --git a/source3/sam/gums_helper.c b/source3/sam/gums_helper.c
deleted file mode 100644 (file)
index 8526a2f..0000000
+++ /dev/null
@@ -1,607 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   GUMS backends helper functions
-   Copyright (C) Simo Sorce 2002
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-extern GUMS_FUNCTIONS *gums_storage;
-
-extern DOM_SID global_sid_World;
-extern DOM_SID global_sid_Builtin_Administrators;
-extern DOM_SID global_sid_Builtin_Power_Users;
-extern DOM_SID global_sid_Builtin_Account_Operators;
-extern DOM_SID global_sid_Builtin_Server_Operators;
-extern DOM_SID global_sid_Builtin_Print_Operators;
-extern DOM_SID global_sid_Builtin_Backup_Operators;
-extern DOM_SID global_sid_Builtin_Replicator;
-extern DOM_SID global_sid_Builtin_Users;
-extern DOM_SID global_sid_Builtin_Guests;
-
-
-/* defines */
-
-#define ALLOC_CHECK(str, ptr, err, label) do { if ((ptr) == NULL) { DEBUG(0, ("%s: out of memory!\n", str)); err = NT_STATUS_NO_MEMORY; goto label; } } while(0)
-#define NTSTATUS_CHECK(str1, str2, err, label) do { if (NT_STATUS_IS_ERR(err)) { DEBUG(0, ("%s: %s failed!\n", str1, str2)); } } while(0)
-
-/****************************************************************************
- Check if a user is a mapped group.
-
-   This function will check if the group SID is mapped onto a
-   system managed gid or onto a winbind manged sid.
-   In the first case it will be threated like a mapped group
-   and the backend should take the member list with a getgrgid
-   and ignore any user that have been possibly set into the group
-   object.
-
-   In the second case, the group is a fully SAM managed group
-   served back to the system through winbind. In this case the
-   members of a Local group are "unrolled" to cope with the fact
-   that unix cannot contain groups inside groups.
-   The backend MUST never call any getgr* / getpw* function or
-   loops with winbind may happen. 
- ****************************************************************************/
-
-/*
-NTSTATUS is_mapped_group(BOOL *mapped, const DOM_SID *sid)
-{
-       NTSTATUS result;
-       gid_t id;
-
-       /* look if mapping exist, do not make idmap alloc an uid if SID is not found * /
-       result = idmap_get_gid_from_sid(&id, sid, False);
-       if (NT_STATUS_IS_OK(result)) {
-               *mapped = gid_is_in_winbind_range(id);
-       } else {
-               *mapped = False;
-       }
-
-       return result;
-}
-*/
-
-/****************************************************************************
- duplicate alloc luid_attr
- ****************************************************************************/
-NTSTATUS dupalloc_luid_attr(TALLOC_CTX *ctx, LUID_ATTR **new_la, LUID_ATTR old_la)
-{
-       *new_la = (LUID_ATTR *)talloc(ctx, sizeof(LUID_ATTR));
-       if (*new_la == NULL) {
-               DEBUG(0,("dupalloc_luid_attr: could not Alloc memory to duplicate LUID_ATTR\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       (*new_la)->luid.high = old_la.luid.high;
-       (*new_la)->luid.low = old_la.luid.low;
-       (*new_la)->attr = old_la.attr;
-       
-       return NT_STATUS_OK;    
-}
-
-/****************************************************************************
- initialise a privilege list
- ****************************************************************************/
-void init_privilege(PRIVILEGE_SET *priv_set)
-{
-       priv_set->count=0;
-       priv_set->control=0;
-       priv_set->set=NULL;
-}
-
-/****************************************************************************
- add a privilege to a privilege array
- ****************************************************************************/
-NTSTATUS add_privilege(PRIVILEGE_SET *priv_set, TALLOC_CTX *ctx, LUID_ATTR set)
-{
-       LUID_ATTR *new_set;
-
-       /* check if the privilege is not already in the list */
-       if (check_priv_in_privilege(priv_set, set))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       /* we can allocate memory to add the new privilege */
-
-       new_set=(LUID_ATTR *)talloc_realloc(ctx, priv_set->set, (priv_set->count+1)*(sizeof(LUID_ATTR)));
-       if (new_set==NULL) {
-               DEBUG(0,("add_privilege: could not Realloc memory to add a new privilege\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       new_set[priv_set->count].luid.high=set.luid.high;
-       new_set[priv_set->count].luid.low=set.luid.low;
-       new_set[priv_set->count].attr=set.attr;
-       
-       priv_set->count++;
-       priv_set->set=new_set;
-       
-       return NT_STATUS_OK;    
-}
-
-/****************************************************************************
- add all the privileges to a privilege array
- ****************************************************************************/
-NTSTATUS add_all_privilege(PRIVILEGE_SET *priv_set, TALLOC_CTX *ctx)
-{
-       NTSTATUS result = NT_STATUS_OK;
-       LUID_ATTR set;
-
-       set.attr=0;
-       set.luid.high=0;
-       
-       set.luid.low=SE_PRIV_ADD_USERS;
-       result = add_privilege(priv_set, ctx, set);
-       NTSTATUS_CHECK("add_all_privilege", "add_privilege", result, done);
-       
-       set.luid.low=SE_PRIV_ADD_MACHINES;
-       result = add_privilege(priv_set, ctx, set);
-       NTSTATUS_CHECK("add_all_privilege", "add_privilege", result, done);
-
-       set.luid.low=SE_PRIV_PRINT_OPERATOR;
-       result = add_privilege(priv_set, ctx, set);
-       NTSTATUS_CHECK("add_all_privilege", "add_privilege", result, done);
-       
-done:
-       return result;
-}
-
-/****************************************************************************
- check if the privilege list is empty
- ****************************************************************************/
-BOOL check_empty_privilege(PRIVILEGE_SET *priv_set)
-{
-       return (priv_set->count == 0);
-}
-
-/****************************************************************************
- check if the privilege is in the privilege list
- ****************************************************************************/
-BOOL check_priv_in_privilege(PRIVILEGE_SET *priv_set, LUID_ATTR set)
-{
-       int i;
-
-       /* if the list is empty, obviously we can't have it */
-       if (check_empty_privilege(priv_set))
-               return False;
-
-       for (i=0; i<priv_set->count; i++) {
-               LUID_ATTR *cur_set;
-
-               cur_set=&priv_set->set[i];
-               /* check only the low and high part. Checking the attr field has no meaning */
-               if( (cur_set->luid.low==set.luid.low) && (cur_set->luid.high==set.luid.high) )
-                       return True;
-       }
-
-       return False;
-}
-
-/****************************************************************************
- remove a privilege from a privilege array
- ****************************************************************************/
-NTSTATUS remove_privilege(PRIVILEGE_SET *priv_set, TALLOC_CTX *ctx, LUID_ATTR set)
-{
-       LUID_ATTR *new_set;
-       LUID_ATTR *old_set;
-       int i,j;
-
-       /* check if the privilege is in the list */
-       if (!check_priv_in_privilege(priv_set, set))
-               return NT_STATUS_UNSUCCESSFUL;
-
-       /* special case if it's the only privilege in the list */
-       if (priv_set->count==1) {
-               init_privilege(priv_set);       
-               return NT_STATUS_OK;
-       }
-
-       /* 
-        * the privilege is there, create a new list,
-        * and copy the other privileges
-        */
-
-       old_set = priv_set->set;
-
-       new_set=(LUID_ATTR *)talloc(ctx, (priv_set->count - 1) * (sizeof(LUID_ATTR)));
-       if (new_set==NULL) {
-               DEBUG(0,("remove_privilege: could not malloc memory for new privilege list\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       for (i=0, j=0; i<priv_set->count; i++) {
-               if ((old_set[i].luid.low == set.luid.low) && 
-                   (old_set[i].luid.high == set.luid.high)) {
-                       continue;
-               }
-               
-               new_set[j].luid.low = old_set[i].luid.low;
-               new_set[j].luid.high = old_set[i].luid.high;
-               new_set[j].attr = old_set[i].attr;
-
-               j++;
-       }
-       
-       if (j != priv_set->count - 1) {
-               DEBUG(0,("remove_privilege: mismatch ! difference is not -1\n"));
-               DEBUGADD(0,("old count:%d, new count:%d\n", priv_set->count, j));
-               return NT_STATUS_INTERNAL_ERROR;
-       }
-               
-       /* ok everything is fine */
-       
-       priv_set->count--;
-       priv_set->set=new_set;
-       
-       return NT_STATUS_OK;    
-}
-
-/****************************************************************************
- duplicates a privilege array
- ****************************************************************************/
-NTSTATUS dup_priv_set(PRIVILEGE_SET **new_priv_set, TALLOC_CTX *mem_ctx, PRIVILEGE_SET *priv_set)
-{
-       LUID_ATTR *new_set;
-       LUID_ATTR *old_set;
-       int i;
-
-       *new_priv_set = (PRIVILEGE_SET *)talloc(mem_ctx, sizeof(PRIVILEGE_SET));
-       init_privilege(*new_priv_set);  
-
-       /* special case if there are no privileges in the list */
-       if (priv_set->count == 0) {
-               return NT_STATUS_OK;
-       }
-
-       /* 
-        * create a new list,
-        * and copy the other privileges
-        */
-
-       old_set = priv_set->set;
-
-       new_set = (LUID_ATTR *)talloc(mem_ctx, (priv_set->count - 1) * (sizeof(LUID_ATTR)));
-       if (new_set==NULL) {
-               DEBUG(0,("remove_privilege: could not malloc memory for new privilege list\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       for (i=0; i < priv_set->count; i++) {
-               
-               new_set[i].luid.low = old_set[i].luid.low;
-               new_set[i].luid.high = old_set[i].luid.high;
-               new_set[i].attr = old_set[i].attr;
-       }
-                       
-       (*new_priv_set)->count = priv_set->count;
-       (*new_priv_set)->control = priv_set->control;
-       (*new_priv_set)->set = new_set;
-       
-       return NT_STATUS_OK;    
-}
-
-#define ALIAS_DEFAULT_SACL_SA_RIGHTS   0x01050013
-#define ALIAS_DEFAULT_DACL_SA_RIGHTS \
-               (READ_CONTROL_ACCESS            | \
-               SA_RIGHT_ALIAS_LOOKUP_INFO      | \
-               SA_RIGHT_ALIAS_GET_MEMBERS)     /* 0x0002000c */
-
-#define ALIAS_DEFAULT_SACL_SEC_ACE_FLAG (SEC_ACE_FLAG_FAILED_ACCESS | SEC_ACE_FLAG_SUCCESSFUL_ACCESS) /* 0xc0 */
-
-NTSTATUS create_builtin_alias_default_sec_desc(SEC_DESC **sec_desc, TALLOC_CTX *ctx)
-{
-       DOM_SID *world = &global_sid_World;
-       DOM_SID *admins = &global_sid_Builtin_Administrators;
-       SEC_ACCESS sa;
-       SEC_ACE sacl_ace;
-       SEC_ACE dacl_aces[2];
-       SEC_ACL *sacl = NULL;
-       SEC_ACL *dacl = NULL;
-       size_t psize;
-
-       init_sec_access(&sa, ALIAS_DEFAULT_SACL_SA_RIGHTS);
-       init_sec_ace(&sacl_ace, world, SEC_ACE_TYPE_SYSTEM_AUDIT, sa, ALIAS_DEFAULT_SACL_SEC_ACE_FLAG);
-       
-       sacl = make_sec_acl(ctx, NT4_ACL_REVISION, 1, &sacl_ace);
-       if (!sacl) {
-               DEBUG(0, ("build_init_sec_desc: Failed to make SEC_ACL.\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       init_sec_access(&sa, ALIAS_DEFAULT_DACL_SA_RIGHTS);
-       init_sec_ace(&(dacl_aces[0]), world, SEC_ACE_TYPE_ACCESS_ALLOWED, sa, 0);
-       init_sec_access(&sa, SA_RIGHT_ALIAS_ALL_ACCESS);
-       init_sec_ace(&(dacl_aces[1]), admins, SEC_ACE_TYPE_ACCESS_ALLOWED, sa, 0);
-
-       dacl = make_sec_acl(ctx, NT4_ACL_REVISION, 2, dacl_aces);
-       if (!sacl) {
-               DEBUG(0, ("build_init_sec_desc: Failed to make SEC_ACL.\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       *sec_desc = make_sec_desc(ctx, SEC_DESC_REVISION, admins, admins, sacl, dacl, &psize);
-       if (!(*sec_desc)) {
-               DEBUG(0,("get_share_security: Failed to make SEC_DESC.\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sec_desc_add_ace_to_dacl(SEC_DESC *sec_desc, TALLOC_CTX *ctx, DOM_SID *sid, uint32 mask)
-{
-       NTSTATUS result;
-       SEC_ACE *new_aces;
-       unsigned num_aces;
-       int i;
-
-       num_aces = sec_desc->dacl->num_aces + 1;
-       result = sec_ace_add_sid(ctx, &new_aces, sec_desc->dacl->ace, &num_aces, sid, mask);
-       if (NT_STATUS_IS_OK(result)) {
-               sec_desc->dacl->ace = new_aces;
-               sec_desc->dacl->num_aces = num_aces;
-               sec_desc->dacl->size = SEC_ACL_HEADER_SIZE;
-               for (i = 0; i < num_aces; i++) {
-                       sec_desc->dacl->size += sec_desc->dacl->ace[i].size;
-               }
-       }
-       return result;
-}
-
-NTSTATUS gums_init_builtin_groups(void)
-{
-       NTSTATUS result;
-       GUMS_OBJECT g_obj;
-       GUMS_GROUP *g_grp;
-       GUMS_PRIVILEGE g_priv;
-
-       /* Build the well known Builtin Local Groups */
-       g_obj.type = GUMS_OBJ_GROUP;
-       g_obj.version = 1;
-       g_obj.seq_num = 0;
-       g_obj.mem_ctx = talloc_init("gums_init_backend_acct");
-       if (g_obj.mem_ctx == NULL) {
-               DEBUG(0, ("gums_init_backend: Out of Memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       /* Administrators */
-
-       /* alloc group structure */
-       g_obj.data = (void *)talloc(g_obj.mem_ctx, sizeof(GUMS_OBJ_GROUP));
-       ALLOC_CHECK("gums_init_backend", g_obj.data, result, done);
-
-       /* make admins sid */
-       g_grp = (GUMS_GROUP *)g_obj.data;
-       sid_copy(g_obj.sid, &global_sid_Builtin_Administrators);
-
-       /* make security descriptor */
-       result = create_builtin_alias_default_sec_desc(&(g_obj.sec_desc), g_obj.mem_ctx); 
-       NTSTATUS_CHECK("gums_init_backend", "create_builtin_alias_default_sec_desc", result, done);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeSecurityPrivilege
-               SeBackupPrivilege
-               SeRestorePrivilege
-               SeSystemtimePrivilege
-               SeShutdownPrivilege
-               SeRemoteShutdownPrivilege
-               SeTakeOwnershipPrivilege
-               SeDebugPrivilege
-               SeSystemEnvironmentPrivilege
-               SeSystemProfilePrivilege
-               SeProfileSingleProcessPrivilege
-               SeIncreaseBasePriorityPrivilege
-               SeLocalDriverPrivilege
-               SeCreatePagefilePrivilege
-               SeIncreaseQuotaPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Administrators");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Members can fully administer the computer/domain");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* numebr of group members */
-       g_grp->count = 0;
-       g_grp->members = NULL;
-
-       /* store Administrators group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Power Users */
-       /* Domain Controllers Does NOT have power Users */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Power_Users);
-
-       /* make privilege set */
-       /* SE_PRIV_??? */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Power Users");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-/* > */        g_obj.description = talloc_strdup(g_obj.mem_ctx, "Power Users");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Power Users group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Account Operators */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Account_Operators);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeShutdownPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Account Operators");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Members can administer domain user and group accounts");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Account Operators group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Server Operators */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Server_Operators);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeBackupPrivilege
-               SeRestorePrivilege
-               SeSystemtimePrivilege
-               SeShutdownPrivilege
-               SeRemoteShutdownPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Server Operators");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Members can administer domain servers");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Server Operators group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Print Operators */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Print_Operators);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeShutdownPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Print Operators");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Members can administer domain printers");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Print Operators group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Backup Operators */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Backup_Operators);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeBackupPrivilege
-               SeRestorePrivilege
-               SeShutdownPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Backup Operators");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Members can bypass file security to backup files");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Backup Operators group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Replicator */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Replicator);
-
-       /* make privilege set */
-       /* From BDC join trace:
-               SeBackupPrivilege
-               SeRestorePrivilege
-               SeShutdownPrivilege
-        */
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Replicator");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Supports file replication in a domain");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Replicator group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Users */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Users);
-
-       /* add ACE to sec dsec dacl */
-       sec_desc_add_ace_to_dacl(g_obj.sec_desc, g_obj.mem_ctx, &global_sid_Builtin_Account_Operators, ALIAS_DEFAULT_DACL_SA_RIGHTS);
-       sec_desc_add_ace_to_dacl(g_obj.sec_desc, g_obj.mem_ctx, &global_sid_Builtin_Power_Users, ALIAS_DEFAULT_DACL_SA_RIGHTS);
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Users");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Ordinary users");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Users group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* Guests */
-
-       sid_copy(g_obj.sid, &global_sid_Builtin_Guests);
-
-       /* set name */
-       g_obj.name = talloc_strdup(g_obj.mem_ctx, "Guests");
-       ALLOC_CHECK("gums_init_backend", g_obj.name, result, done);
-
-       /* set description */
-       g_obj.description = talloc_strdup(g_obj.mem_ctx, "Users granted guest access to the computer/domain");
-       ALLOC_CHECK("gums_init_backend", g_obj.description, result, done);
-
-       /* store Guests group */
-       result = gums_storage->set_object(&g_obj);
-
-       /* set default privileges */
-       g_priv.type = GUMS_OBJ_GROUP;
-       g_priv.version = 1;
-       g_priv.seq_num = 0;
-       g_priv.mem_ctx = talloc_init("gums_init_backend_priv");
-       if (g_priv.mem_ctx == NULL) {
-               DEBUG(0, ("gums_init_backend: Out of Memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-               
-
-done:
-       talloc_destroy(g_obj.mem_ctx);
-       talloc_destroy(g_priv.mem_ctx);
-       return result;
-}
-
diff --git a/source3/sam/interface.c b/source3/sam/interface.c
deleted file mode 100644 (file)
index 51ae561..0000000
+++ /dev/null
@@ -1,1338 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   Password and authentication handling
-   Copyright (C) Andrew Bartlett                       2002
-   Copyright (C) Jelmer Vernooij                       2002
-   Copyright (C) Stefan (metze) Metzmacher             2002
-   Copyright (C) Kai Krüger                            2002
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_SAM
-
-extern DOM_SID global_sid_Builtin;
-
-/** List of various built-in sam modules */
-
-const struct sam_init_function_entry builtin_sam_init_functions[] = {
-       { "plugin", sam_init_plugin },
-#ifdef HAVE_LDAP
-       { "ads", sam_init_ads },
-#endif
-       { "skel", sam_init_skel },
-       { NULL, NULL}
-};
-
-
-static NTSTATUS sam_get_methods_by_sid(const SAM_CONTEXT *context, SAM_METHODS **sam_method, const DOM_SID *domainsid)
-{
-       SAM_METHODS     *tmp_methods;
-
-       DEBUG(5,("sam_get_methods_by_sid: %d\n", __LINE__));
-
-       /* invalid sam_context specified */
-       SAM_ASSERT(context && context->methods);
-
-       tmp_methods = context->methods;
-
-       while (tmp_methods) {
-               if (sid_equal(domainsid, &(tmp_methods->domain_sid)))
-               {
-                       (*sam_method) = tmp_methods;
-                       return NT_STATUS_OK;
-               }
-               tmp_methods = tmp_methods->next;
-       }
-
-       DEBUG(3,("sam_get_methods_by_sid: There is no backend specified for domain %s\n", sid_string_static(domainsid)));
-
-       return NT_STATUS_NO_SUCH_DOMAIN;
-}
-
-static NTSTATUS sam_get_methods_by_name(const SAM_CONTEXT *context, SAM_METHODS **sam_method, const char *domainname)
-{
-       SAM_METHODS     *tmp_methods;
-
-       DEBUG(5,("sam_get_methods_by_name: %d\n", __LINE__));
-
-       /* invalid sam_context specified */
-       SAM_ASSERT(context && context->methods);
-
-       tmp_methods = context->methods;
-
-       while (tmp_methods) {
-               if (strequal(domainname, tmp_methods->domain_name))
-               {
-                       (*sam_method) = tmp_methods;
-                       return NT_STATUS_OK;
-               }
-               tmp_methods = tmp_methods->next;
-       }
-
-       DEBUG(3,("sam_get_methods_by_sid: There is no backend specified for domain %s\n", domainname));
-
-       return NT_STATUS_NO_SUCH_DOMAIN;
-}
-
-static NTSTATUS make_sam_methods(TALLOC_CTX *mem_ctx, SAM_METHODS **methods)
-{
-       *methods = talloc(mem_ctx, sizeof(SAM_METHODS));
-
-       if (!*methods) {
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ZERO_STRUCTP(*methods);
-
-       return NT_STATUS_OK;
-}
-
-/******************************************************************
-  Free and cleanup a sam context, any associated data and anything
-  that the attached modules might have associated.
- *******************************************************************/
-
-void free_sam_context(SAM_CONTEXT **context)
-{
-       SAM_METHODS *sam_selected = (*context)->methods;
-
-       while (sam_selected) {
-               if (sam_selected->free_private_data) {
-                       sam_selected->free_private_data(&(sam_selected->private_data));
-               }
-               sam_selected = sam_selected->next;
-       }
-
-       talloc_destroy((*context)->mem_ctx);
-       *context = NULL;
-}
-
-/******************************************************************
-  Make a backend_entry from scratch
- *******************************************************************/
-static NTSTATUS make_backend_entry(SAM_BACKEND_ENTRY *backend_entry, char *sam_backend_string)
-{
-       char *tmp = NULL;
-       char *tmp_string = sam_backend_string;
-       
-       DEBUG(5,("make_backend_entry: %d\n", __LINE__));
-       
-       SAM_ASSERT(sam_backend_string && backend_entry);
-       
-       backend_entry->module_name = sam_backend_string;
-       
-       DEBUG(5,("makeing backend_entry for %s\n", backend_entry->module_name));
-       
-       if ((tmp = strrchr(tmp_string, '|')) != NULL) {
-               DEBUGADD(20,("a domain name has been specified\n"));
-               *tmp = 0;
-               backend_entry->domain_name = smb_xstrdup(tmp + 1);
-               tmp_string = tmp + 1;
-       }
-       
-       if ((tmp = strchr(tmp_string, ':')) != NULL) {
-               DEBUG(20,("options for the backend have been specified\n"));
-               *tmp = 0;
-               backend_entry->module_params = smb_xstrdup(tmp + 1);
-               tmp_string = tmp + 1;
-       }
-               
-       if (backend_entry->domain_name == NULL) {
-               DEBUG(10,("make_backend_entry: no domain was specified for sam module %s. Using default domain %s\n",
-                       backend_entry->module_name, lp_workgroup()));
-               backend_entry->domain_name = smb_xstrdup(lp_workgroup());
-       }
-       
-       if ((backend_entry->domain_sid = (DOM_SID *)malloc(sizeof(DOM_SID))) == NULL) {
-               DEBUG(0,("make_backend_entry: failed to malloc domain_sid\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-       
-       DEBUG(10,("looking up sid for domain %s\n", backend_entry->domain_name));
-       
-       if (!secrets_fetch_domain_sid(backend_entry->domain_name, backend_entry->domain_sid)) {
-               DEBUG(2,("make_backend_entry: There is no SID stored for domain %s. Creating a new one.\n",
-                       backend_entry->domain_name));           
-               DEBUG(0, ("FIXME in %s:%d\n", __FILE__, __LINE__));
-               ZERO_STRUCTP(backend_entry->domain_sid);
-       }
-       
-       DEBUG(5,("make_backend_entry: module name: %s, module parameters: %s, domain name: %s, domain sid: %s\n",
-               backend_entry->module_name, backend_entry->module_params, backend_entry->domain_name, sid_string_static(backend_entry->domain_sid)));
-       
-       return NT_STATUS_OK;
-}
-
-/******************************************************************
- create sam_methods struct based on sam_backend_entry
- *****************************************************************/
-
-static NTSTATUS make_sam_methods_backend_entry(SAM_CONTEXT *context, SAM_METHODS **methods_ptr, SAM_BACKEND_ENTRY *backend_entry)
-{
-       NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
-       SAM_METHODS *methods;
-       int i;
-
-       DEBUG(5,("make_sam_methods_backend_entry: %d\n", __LINE__));
-
-       if (!NT_STATUS_IS_OK(nt_status = make_sam_methods(context->mem_ctx, methods_ptr))) {
-               return nt_status;
-       }
-
-       methods = *methods_ptr;
-       methods->backendname = talloc_strdup(context->mem_ctx, backend_entry->module_name);
-       methods->domain_name = talloc_strdup(context->mem_ctx, backend_entry->domain_name);
-       sid_copy(&methods->domain_sid, backend_entry->domain_sid);
-       methods->parent = context;
-
-       DEBUG(5,("Attempting to find sam backend %s\n", backend_entry->module_name));
-       for (i = 0; builtin_sam_init_functions[i].module_name; i++)
-       {
-               if (strequal(builtin_sam_init_functions[i].module_name, backend_entry->module_name))
-               {
-                       DEBUG(5,("Found sam backend %s (at pos %d)\n", backend_entry->module_name, i));
-                       DEBUGADD(5,("initialising it with options=%s for domain %s\n", backend_entry->module_params, sid_string_static(backend_entry->domain_sid)));
-                       nt_status = builtin_sam_init_functions[i].init(methods, backend_entry->module_params);
-                       if (NT_STATUS_IS_OK(nt_status)) {
-                               DEBUG(5,("sam backend %s has a valid init\n", backend_entry->module_name));
-                       } else {
-                               DEBUG(2,("sam backend %s did not correctly init (error was %s)\n",
-                                       backend_entry->module_name, nt_errstr(nt_status)));
-                       }
-                       return nt_status;
-               }
-       }
-       
-       DEBUG(2,("could not find backend %s\n", backend_entry->module_name));
-
-       return NT_STATUS_INVALID_PARAMETER;
-}
-
-static NTSTATUS sam_context_check_default_backends(SAM_CONTEXT *context)
-{
-       SAM_BACKEND_ENTRY entry;
-       DOM_SID *global_sam_sid  = get_global_sam_sid(); /* lp_workgroup doesn't play nicely with multiple domains */
-       SAM_METHODS *methods, *tmpmethods;
-       NTSTATUS ntstatus;
-       
-       DEBUG(5,("sam_context_check_default_backends: %d\n", __LINE__));
-
-       /* Make sure domain lp_workgroup() is available */
-       
-       ntstatus = sam_get_methods_by_sid(context, &methods, &global_sid_Builtin);
-
-       if (NT_STATUS_EQUAL(ntstatus, NT_STATUS_NO_SUCH_DOMAIN)) {
-               DEBUG(4,("There was no backend specified for domain %s(%s); using %s\n",
-                       lp_workgroup(), sid_string_static(global_sam_sid), SAM_DEFAULT_BACKEND));
-
-               SAM_ASSERT(global_sam_sid);
-
-               entry.module_name = SAM_DEFAULT_BACKEND;
-               entry.module_params = NULL;
-               entry.domain_name = lp_workgroup();
-               entry.domain_sid = (DOM_SID *)malloc(sizeof(DOM_SID));
-               sid_copy(entry.domain_sid, global_sam_sid);
-
-               if (!NT_STATUS_IS_OK(ntstatus = make_sam_methods_backend_entry(context, &methods, &entry))) {
-                       DEBUG(4,("make_sam_methods_backend_entry failed\n"));
-                       return ntstatus;
-               }
-
-               DLIST_ADD_END(context->methods, methods, tmpmethods);
-
-       } else if (!NT_STATUS_IS_OK(ntstatus)) {
-               DEBUG(2, ("sam_get_methods_by_sid failed for %s\n", lp_workgroup()));
-               return ntstatus;
-       }
-
-       /* Make sure the BUILTIN domain is available */
-
-       ntstatus = sam_get_methods_by_sid(context, &methods, global_sam_sid);
-       
-       if (NT_STATUS_EQUAL(ntstatus, NT_STATUS_NO_SUCH_DOMAIN)) {
-               DEBUG(4,("There was no backend specified for domain BUILTIN; using %s\n", 
-                                SAM_DEFAULT_BACKEND));
-               entry.module_name = SAM_DEFAULT_BACKEND;
-               entry.module_params = NULL;
-               entry.domain_name = "BUILTIN";
-               entry.domain_sid    = (DOM_SID *)malloc(sizeof(DOM_SID)); 
-               sid_copy(entry.domain_sid, &global_sid_Builtin);
-
-               if (!NT_STATUS_IS_OK(ntstatus = make_sam_methods_backend_entry(context, &methods,  &entry))) {
-                       DEBUG(4,("make_sam_methods_backend_entry failed\n"));
-                       return ntstatus;
-               }
-
-               DLIST_ADD_END(context->methods, methods, tmpmethods);
-       } else if (!NT_STATUS_IS_OK(ntstatus)) {
-               DEBUG(2, ("sam_get_methods_by_sid failed for BUILTIN\n"));
-               return ntstatus;
-       }
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS check_duplicate_backend_entries(SAM_BACKEND_ENTRY **backend_entries, int *nBackends)
-{
-       int i, j;
-       
-       DEBUG(5,("check_duplicate_backend_entries: %d\n", __LINE__));
-       
-       for (i = 0; i < *nBackends; i++) {
-               for (j = i + 1; j < *nBackends; j++) {
-                       if (sid_equal((*backend_entries)[i].domain_sid, (*backend_entries)[j].domain_sid)) {
-                               DEBUG(0,("two backend modules claim the same domain %s\n",
-                                       sid_string_static((*backend_entries)[j].domain_sid)));
-                               return NT_STATUS_INVALID_PARAMETER;                     
-                       }
-               }               
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS make_sam_context_list(SAM_CONTEXT **context, char **sam_backends_param)
-{
-       int i = 0, j = 0;
-       SAM_METHODS *curmethods, *tmpmethods;
-       int nBackends               = 0;
-       SAM_BACKEND_ENTRY *backends = NULL;
-       NTSTATUS nt_status          = NT_STATUS_UNSUCCESSFUL;
-
-       DEBUG(5,("make_sam_context_from_conf: %d\n", __LINE__));
-
-       if (!sam_backends_param) {
-               DEBUG(1, ("no SAM backeds specified!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = make_sam_context(context))) {
-               DEBUG(4,("make_sam_context failed\n"));
-               return nt_status;
-       }
-
-       while (sam_backends_param[nBackends])
-               nBackends++;
-
-       DEBUG(6,("There are %d domains listed with their backends\n", nBackends));
-
-       if ((backends = (SAM_BACKEND_ENTRY *)malloc(sizeof(*backends)*nBackends)) == NULL) {
-               DEBUG(0,("make_sam_context_list: failed to allocate backends\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       memset(backends, '\0', sizeof(*backends)*nBackends);
-
-       for (i = 0; i < nBackends; i++) {
-               DEBUG(8,("processing %s\n",sam_backends_param[i]));
-               if (!NT_STATUS_IS_OK(nt_status = make_backend_entry(&backends[i], sam_backends_param[i]))) {
-                       DEBUG(4,("make_backend_entry failed\n"));
-                       for (j = 0; j < nBackends; j++) SAFE_FREE(backends[j].domain_sid);
-                       SAFE_FREE(backends);
-                       free_sam_context(context);
-                       return nt_status;
-               }
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = check_duplicate_backend_entries(&backends, &nBackends))) {
-               DEBUG(4,("check_duplicate_backend_entries failed\n"));
-               for (j = 0; j < nBackends; j++) SAFE_FREE(backends[j].domain_sid);
-               SAFE_FREE(backends);
-               free_sam_context(context);
-               return nt_status;
-       }
-
-       for (i = 0; i < nBackends; i++) {
-               if (!NT_STATUS_IS_OK(nt_status = make_sam_methods_backend_entry(*context, &curmethods,  &backends[i]))) {
-                       DEBUG(4,("make_sam_methods_backend_entry failed\n"));
-                       for (j = 0; j < nBackends; j++) SAFE_FREE(backends[j].domain_sid);
-                       SAFE_FREE(backends);
-                       free_sam_context(context);
-                       return nt_status;
-               }
-               DLIST_ADD_END((*context)->methods, curmethods, tmpmethods);
-       }
-       
-       for (i = 0; i < nBackends; i++) SAFE_FREE(backends[i].domain_sid);
-
-       SAFE_FREE(backends);
-       return NT_STATUS_OK;
-}
-
-/******************************************************************
-  Make a sam_context from scratch.
- *******************************************************************/
-
-NTSTATUS make_sam_context(SAM_CONTEXT **context) 
-{
-       TALLOC_CTX *mem_ctx;
-
-       mem_ctx = talloc_init("sam_context internal allocation context");
-
-       if (!mem_ctx) {
-               DEBUG(0, ("make_sam_context: talloc init failed!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }               
-
-       *context = talloc(mem_ctx, sizeof(**context));
-       if (!*context) {
-               DEBUG(0, ("make_sam_context: talloc failed!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ZERO_STRUCTP(*context);
-
-       (*context)->mem_ctx = mem_ctx;
-
-       (*context)->free_fn = free_sam_context;
-
-       return NT_STATUS_OK;
-}
-
-/******************************************************************
-  Return an already initialised sam_context, to facilitate backward 
-  compatibility (see functions below).
- *******************************************************************/
-
-static struct sam_context *sam_get_static_context(BOOL reload) 
-{
-       static SAM_CONTEXT *sam_context = NULL;
-
-       if ((sam_context) && (reload)) {
-               sam_context->free_fn(&sam_context);
-               sam_context = NULL;
-       }
-
-       if (!sam_context) {
-               if (!NT_STATUS_IS_OK(make_sam_context_list(&sam_context, lp_sam_backend()))) {
-                       DEBUG(4,("make_sam_context_list failed\n"));
-                       return NULL;
-               }
-
-               /* Make sure the required domains (default domain, builtin) are available */
-               if (!NT_STATUS_IS_OK(sam_context_check_default_backends(sam_context))) {
-                       DEBUG(4,("sam_context_check_default_backends failed\n"));
-                       return NULL;
-               }
-       }
-
-       return sam_context;
-}
-
-/***************************************************************
-  Initialize the static context (at smbd startup etc). 
-
-  If uninitialised, context will auto-init on first use.
- ***************************************************************/
-
-BOOL initialize_sam(BOOL reload)
-{      
-       return (sam_get_static_context(reload) != NULL);
-}
-
-
-/**************************************************************
- External API.  This is what the rest of the world calls...
-***************************************************************/
-
-/******************************************************************
-  sam_* functions are used to link the external SAM interface
-  with the internal backends. These functions lookup the appropriate
-  backends for the domain and pass on to the function in sam_methods
-  in the selected backend
-
-  When the context parmater is NULL, the default is used.
- *******************************************************************/
-
-#define SAM_SETUP_CONTEXT if (!context) \
-               context = sam_get_static_context(False);\
-       if (!context) {\
-               return NT_STATUS_UNSUCCESSFUL; \
-       }\
-       
-
-
-NTSTATUS sam_get_sec_desc(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const DOM_SID *sid, SEC_DESC **sd)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_get_sec_desc: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, sid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_sec_desc) {
-               DEBUG(3, ("sam_get_sec_desc: sam_methods of the domain did not specify sam_get_sec_desc\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_sec_desc(tmp_methods, access_token, sid, sd))) {
-               DEBUG(4,("sam_get_sec_desc for %s in backend %s failed\n", sid_string_static(sid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_set_sec_desc(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const DOM_SID *sid, const SEC_DESC *sd)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_set_sec_desc: %d\n", __LINE__));
-       
-       SAM_SETUP_CONTEXT;
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, sid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_set_sec_desc) {
-               DEBUG(3, ("sam_set_sec_desc: sam_methods of the domain did not specify sam_set_sec_desc\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_set_sec_desc(tmp_methods, access_token, sid, sd))) {
-               DEBUG(4,("sam_set_sec_desc for %s in backend %s failed\n", sid_string_static(sid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-
-NTSTATUS sam_lookup_name(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const char *domain, const char *name, DOM_SID *sid, uint32 *type)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_lookup_name: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_name(context, &tmp_methods, domain))) {
-               DEBUG(4,("sam_get_methods_by_name failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_lookup_name) {
-               DEBUG(3, ("sam_lookup_name: sam_methods of the domain did not specify sam_lookup_name\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_lookup_name(tmp_methods, access_token, name, sid, type))) {
-               DEBUG(4,("sam_lookup_name for %s\\%s in backend %s failed\n",
-                                tmp_methods->domain_name, name, tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_lookup_sid(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **name, uint32 *type)
-{
-       SAM_METHODS     *tmp_methods;
-       uint32          rid;
-       NTSTATUS        nt_status;
-       DOM_SID         domainsid;
-
-       DEBUG(5,("sam_lookup_sid: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       sid_copy(&domainsid, sid);
-       if (!sid_split_rid(&domainsid, &rid)) {
-               DEBUG(3,("sam_lookup_sid: failed to split the sid\n"));
-               return NT_STATUS_INVALID_SID;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, &domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_lookup_sid) {
-               DEBUG(3, ("sam_lookup_sid: sam_methods of the domain did not specify sam_lookup_sid\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_lookup_sid(tmp_methods, access_token, mem_ctx, sid, name, type))) {
-               DEBUG(4,("sam_lookup_name for %s in backend %s failed\n",
-                                sid_string_static(sid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-
-NTSTATUS sam_update_domain(const SAM_CONTEXT *context, const SAM_DOMAIN_HANDLE *domain)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-
-       DEBUG(5,("sam_update_domain: %d\n", __LINE__));
-       
-       SAM_SETUP_CONTEXT;
-
-       /* invalid domain specified */
-       SAM_ASSERT(domain && domain->current_sam_methods);
-       
-       tmp_methods = domain->current_sam_methods;
-       
-       if (!tmp_methods->sam_update_domain) {
-               DEBUG(3, ("sam_update_domain: sam_methods of the domain did not specify sam_update_domain\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_update_domain(tmp_methods, domain))){
-               DEBUG(4,("sam_update_domain in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_enum_domains(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, int32 *domain_count, DOM_SID **domains, char ***domain_names)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS         nt_status;
-
-       SEC_DESC        *sd;
-       size_t          sd_size;
-       uint32          acc_granted;
-       int             i = 0;
-
-       DEBUG(5,("sam_enum_domains: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       /* invalid parmaters specified */
-       SAM_ASSERT(domain_count && domains && domain_names);
-
-       if (!NT_STATUS_IS_OK(nt_status = samr_make_sam_obj_sd(context->mem_ctx, &sd, &sd_size))) {
-               DEBUG(4,("samr_make_sam_obj_sd failed\n"));
-               return nt_status;
-       }
-
-       if (!se_access_check(sd, access_token, SA_RIGHT_SAM_ENUM_DOMAINS, &acc_granted, &nt_status)) {
-               DEBUG(3,("sam_enum_domains: ACCESS DENIED\n"));
-                       return nt_status;
-       }
-
-       tmp_methods= context->methods;
-       *domain_count = 0;
-
-       while (tmp_methods) {
-               (*domain_count)++;
-               tmp_methods= tmp_methods->next;
-       }
-
-       DEBUG(6,("sam_enum_domains: enumerating %d domains\n", (*domain_count)));
-
-       tmp_methods = context->methods;
-
-       if (((*domains) = malloc( sizeof(DOM_SID) * (*domain_count))) == NULL) {
-               DEBUG(0,("sam_enum_domains: Out of memory allocating domain SID list\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (((*domain_names) = malloc( sizeof(char*) * (*domain_count))) == NULL) {
-               DEBUG(0,("sam_enum_domains: Out of memory allocating domain name list\n"));
-               SAFE_FREE((*domains));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       while (tmp_methods) {
-               DEBUGADD(7,("    [%d] %s: %s\n", i, tmp_methods->domain_name, sid_string_static(&tmp_methods->domain_sid)));
-               sid_copy(domains[i],&tmp_methods->domain_sid);
-               *domain_names[i] = smb_xstrdup(tmp_methods->domain_name);
-               i++;
-               tmp_methods= tmp_methods->next;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_lookup_domain(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const char *domain, DOM_SID **domainsid)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       SEC_DESC        *sd;
-       size_t          sd_size;
-       uint32          acc_granted;
-
-       DEBUG(5,("sam_lookup_domain: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       /* invalid paramters */
-       SAM_ASSERT(access_token && domain && domainsid);
-
-       if (!NT_STATUS_IS_OK(nt_status = samr_make_sam_obj_sd(context->mem_ctx, &sd, &sd_size))) {
-               DEBUG(4,("samr_make_sam_obj_sd failed\n"));
-               return nt_status;
-       }
-
-       if (!se_access_check(sd, access_token, SA_RIGHT_SAM_OPEN_DOMAIN, &acc_granted, &nt_status)) {
-               DEBUG(3,("sam_lookup_domain: ACCESS DENIED\n"));
-                       return nt_status;
-       }
-
-       tmp_methods= context->methods;
-
-       while (tmp_methods) {
-               if (strcmp(domain, tmp_methods->domain_name) == 0) {
-                       (*domainsid) = (DOM_SID *)malloc(sizeof(DOM_SID));
-                       sid_copy((*domainsid), &tmp_methods->domain_sid);
-                       return NT_STATUS_OK;
-               }
-               tmp_methods= tmp_methods->next;
-       }
-
-       return NT_STATUS_NO_SUCH_DOMAIN;
-}
-
-
-NTSTATUS sam_get_domain_by_sid(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *domainsid, SAM_DOMAIN_HANDLE **domain)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_get_domain_by_sid: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domainsid && domain);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_domain_handle) {
-               DEBUG(3, ("sam_get_domain_by_sid: sam_methods of the domain did not specify sam_get_domain_handle\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_domain_handle(tmp_methods, access_token, access_desired, domain))) {
-               DEBUG(4,("sam_get_domain_handle for %s in backend %s failed\n",
-                                sid_string_static(domainsid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_create_account(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *domainsid, const char *account_name, uint16 acct_ctrl, SAM_ACCOUNT_HANDLE **account)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_create_account: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       /* invalid parmaters */
-       SAM_ASSERT(access_token && domainsid && account_name && account);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_create_account) {
-               DEBUG(3, ("sam_create_account: sam_methods of the domain did not specify sam_create_account\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_create_account(tmp_methods, access_token, access_desired, account_name, acct_ctrl, account))) {
-               DEBUG(4,("sam_create_account in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_add_account(const SAM_CONTEXT *context, const SAM_ACCOUNT_HANDLE *account)
-{
-       DOM_SID         domainsid;
-       const DOM_SID           *accountsid;
-       SAM_METHODS     *tmp_methods;
-       uint32          rid;
-       NTSTATUS        nt_status;
-       
-       DEBUG(5,("sam_add_account: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       /* invalid parmaters */
-       SAM_ASSERT(account);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_account_sid(account, &accountsid))) {
-               DEBUG(0,("Can't get account SID\n"));
-               return nt_status;
-       }
-
-       sid_copy(&domainsid, accountsid);
-       if (!sid_split_rid(&domainsid, &rid)) {
-               DEBUG(3,("sam_get_account_by_sid: failed to split the sid\n"));
-               return NT_STATUS_INVALID_SID;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, &domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_add_account) {
-               DEBUG(3, ("sam_add_account: sam_methods of the domain did not specify sam_add_account\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_add_account(tmp_methods, account))){
-               DEBUG(4,("sam_add_account in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_update_account(const SAM_CONTEXT *context, const SAM_ACCOUNT_HANDLE *account)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       DEBUG(5,("sam_update_account: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       /* invalid account specified */
-       SAM_ASSERT(account && account->current_sam_methods);
-       
-       tmp_methods = account->current_sam_methods;
-               
-       if (!tmp_methods->sam_update_account) {
-               DEBUG(3, ("sam_update_account: sam_methods of the domain did not specify sam_update_account\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_update_account(tmp_methods, account))){
-               DEBUG(4,("sam_update_account in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_delete_account(const SAM_CONTEXT *context, const SAM_ACCOUNT_HANDLE *account)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       DEBUG(5,("sam_delete_account: %d\n", __LINE__));
-       
-       SAM_SETUP_CONTEXT;
-
-       /* invalid account specified */
-       SAM_ASSERT(account && account->current_sam_methods);
-       
-       tmp_methods = account->current_sam_methods;
-
-       if (!tmp_methods->sam_delete_account) {
-               DEBUG(3, ("sam_delete_account: sam_methods of the domain did not specify sam_delete_account\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_delete_account(tmp_methods, account))){
-               DEBUG(4,("sam_delete_account in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_enum_accounts(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, uint16 acct_ctrl, int32 *account_count, SAM_ACCOUNT_ENUM **accounts)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_enum_accounts: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domainsid && account_count && accounts);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_enum_accounts) {
-               DEBUG(3, ("sam_enum_accounts: sam_methods of the domain did not specify sam_enum_accounts\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_enum_accounts(tmp_methods, access_token, acct_ctrl, account_count, accounts))) {
-               DEBUG(4,("sam_enum_accounts for domain %s in backend %s failed\n",
-                                tmp_methods->domain_name, tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-
-NTSTATUS sam_get_account_by_sid(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
-{
-       SAM_METHODS     *tmp_methods;
-       uint32          rid;
-       DOM_SID         domainsid;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_get_account_by_sid: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && accountsid && account);
-
-       sid_copy(&domainsid, accountsid);
-       if (!sid_split_rid(&domainsid, &rid)) {
-               DEBUG(3,("sam_get_account_by_sid: failed to split the sid\n"));
-               return NT_STATUS_INVALID_SID;
-       }
-
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, &domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_account_by_sid) {
-               DEBUG(3, ("sam_get_account_by_sid: sam_methods of the domain did not specify sam_get_account_by_sid\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_account_by_sid(tmp_methods, access_token, access_desired, accountsid, account))) {
-               DEBUG(4,("sam_get_account_by_sid for %s in backend %s failed\n",
-                                sid_string_static(accountsid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_account_by_name(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *domain, const char *name, SAM_ACCOUNT_HANDLE **account)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_get_account_by_name: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domain && name && account);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_name(context, &tmp_methods, domain))) {
-               DEBUG(4,("sam_get_methods_by_name failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_account_by_name) {
-               DEBUG(3, ("sam_get_account_by_name: sam_methods of the domain did not specify sam_get_account_by_name\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_account_by_name(tmp_methods, access_token, access_desired, name, account))) {
-               DEBUG(4,("sam_get_account_by_name for %s\\%s in backend %s failed\n",
-                                domain, name, tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_create_group(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *domainsid, const char *group_name, uint16 group_ctrl, SAM_GROUP_HANDLE **group)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_create_group: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domainsid && group_name && group);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_create_group) {
-               DEBUG(3, ("sam_create_group: sam_methods of the domain did not specify sam_create_group\n"));
-               return NT_STATUS_UNSUCCESSFUL; 
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_create_group(tmp_methods, access_token, access_desired, group_name, group_ctrl, group))) {
-               DEBUG(4,("sam_create_group in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_add_group(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group)
-{
-       DOM_SID         domainsid;
-       const DOM_SID           *groupsid;
-       SAM_METHODS     *tmp_methods;
-       uint32          rid;
-       NTSTATUS        nt_status;
-       
-       DEBUG(5,("sam_add_group: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(group);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_group_sid(group, &groupsid))) {
-               DEBUG(0,("Can't get group SID\n"));
-               return nt_status;
-       }
-
-       sid_copy(&domainsid, groupsid);
-       if (!sid_split_rid(&domainsid, &rid)) {
-               DEBUG(3,("sam_get_group_by_sid: failed to split the sid\n"));
-               return NT_STATUS_INVALID_SID;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, &domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_add_group) {
-               DEBUG(3, ("sam_add_group: sam_methods of the domain did not specify sam_add_group\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_add_group(tmp_methods, group))){
-               DEBUG(4,("sam_add_group in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_update_group(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       DEBUG(5,("sam_update_group: %d\n", __LINE__));
-       
-       SAM_SETUP_CONTEXT;
-
-       /* invalid group specified */
-       SAM_ASSERT(group && group->current_sam_methods);
-       
-       tmp_methods = group->current_sam_methods;
-       
-       if (!tmp_methods->sam_update_group) {
-               DEBUG(3, ("sam_update_group: sam_methods of the domain did not specify sam_update_group\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_update_group(tmp_methods, group))){
-               DEBUG(4,("sam_update_group in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_delete_group(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       DEBUG(5,("sam_delete_group: %d\n", __LINE__));
-       
-       SAM_SETUP_CONTEXT;
-
-       /* invalid group specified */
-       SAM_ASSERT(group && group->current_sam_methods);
-       
-       tmp_methods = group->current_sam_methods;
-
-       if (!tmp_methods->sam_delete_group) {
-               DEBUG(3, ("sam_delete_group: sam_methods of the domain did not specify sam_delete_group\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_delete_group(tmp_methods, group))){
-               DEBUG(4,("sam_delete_group in backend %s failed\n",
-                                tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_enum_groups(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const DOM_SID *domainsid, uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_enum_groups: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domainsid && groups_count && groups);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_enum_accounts) {
-               DEBUG(3, ("sam_enum_groups: sam_methods of the domain did not specify sam_enum_groups\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_enum_groups(tmp_methods, access_token, group_ctrl, groups_count, groups))) {
-               DEBUG(4,("sam_enum_groups for domain %s in backend %s failed\n",
-                                tmp_methods->domain_name, tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_group_by_sid(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
-{
-       SAM_METHODS     *tmp_methods;
-       uint32          rid;
-       NTSTATUS        nt_status;
-       DOM_SID         domainsid;
-
-       DEBUG(5,("sam_get_group_by_sid: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && groupsid && group);
-
-       sid_copy(&domainsid, groupsid);
-       if (!sid_split_rid(&domainsid, &rid)) {
-               DEBUG(3,("sam_get_group_by_sid: failed to split the sid\n"));
-               return NT_STATUS_INVALID_SID;
-       }
-
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_sid(context, &tmp_methods, &domainsid))) {
-               DEBUG(4,("sam_get_methods_by_sid failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_group_by_sid) {
-               DEBUG(3, ("sam_get_group_by_sid: sam_methods of the domain did not specify sam_get_group_by_sid\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_group_by_sid(tmp_methods, access_token, access_desired, groupsid, group))) {
-               DEBUG(4,("sam_get_group_by_sid for %s in backend %s failed\n",
-                                sid_string_static(groupsid), tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_get_group_by_name(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *domain, const char *name, SAM_GROUP_HANDLE **group)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-
-       DEBUG(5,("sam_get_group_by_name: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-
-       SAM_ASSERT(access_token && domain && name && group);
-
-       if (!NT_STATUS_IS_OK(nt_status = sam_get_methods_by_name(context, &tmp_methods, domain))) {
-               DEBUG(4,("sam_get_methods_by_name failed\n"));
-               return nt_status;
-       }
-
-       if (!tmp_methods->sam_get_group_by_name) {
-               DEBUG(3, ("sam_get_group_by_name: sam_methods of the domain did not specify sam_get_group_by_name\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_group_by_name(tmp_methods, access_token, access_desired, name, group))) {
-               DEBUG(4,("sam_get_group_by_name for %s\\%s in backend %s failed\n",
-                                domain, name, tmp_methods->backendname));
-               return nt_status;
-       }
-
-       return NT_STATUS_OK;
-}
-
-NTSTATUS sam_add_member_to_group(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       SAM_SETUP_CONTEXT;
-       
-       /* invalid group or member specified */
-       SAM_ASSERT(group && group->current_sam_methods && member);
-       
-       tmp_methods = group->current_sam_methods;
-                       
-       if (!tmp_methods->sam_add_member_to_group) {
-               DEBUG(3, ("sam_add_member_to_group: sam_methods of the domain did not specify sam_add_member_to_group\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-       
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_add_member_to_group(tmp_methods, group, member))) {
-               DEBUG(4,("sam_add_member_to_group in backend %s failed\n", tmp_methods->backendname));
-               return nt_status;
-       }
-       
-       return NT_STATUS_OK;    
-       
-}
-
-NTSTATUS sam_delete_member_from_group(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-
-       SAM_SETUP_CONTEXT;
-       
-       /* invalid group or member specified */
-       SAM_ASSERT(group && group->current_sam_methods && member);
-       
-       tmp_methods = group->current_sam_methods;
-       
-       if (!tmp_methods->sam_delete_member_from_group) {
-               DEBUG(3, ("sam_delete_member_from_group: sam_methods of the domain did not specify sam_delete_member_from_group\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-       
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_delete_member_from_group(tmp_methods, group, member))) {
-               DEBUG(4,("sam_delete_member_from_group in backend %s failed\n", tmp_methods->backendname));
-               return nt_status;
-       }
-       
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS sam_enum_groupmembers(const SAM_CONTEXT *context, const SAM_GROUP_HANDLE *group, uint32 *members_count, SAM_GROUP_MEMBER **members)
-{
-       const SAM_METHODS *tmp_methods;
-       NTSTATUS     nt_status;
-       
-       SAM_SETUP_CONTEXT;
-       
-       /* invalid group specified */
-       SAM_ASSERT(group && group->current_sam_methods && members_count && members);
-       
-       tmp_methods = group->current_sam_methods;
-
-       if (!tmp_methods->sam_enum_groupmembers) {
-               DEBUG(3, ("sam_enum_groupmembers: sam_methods of the domain did not specify sam_enum_group_members\n"));
-               return NT_STATUS_NOT_IMPLEMENTED;
-       }
-       
-       if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_enum_groupmembers(tmp_methods, group, members_count, members))) {
-               DEBUG(4,("sam_enum_groupmembers in backend %s failed\n", tmp_methods->backendname));
-               return nt_status;
-       }
-       
-       return NT_STATUS_OK;    
-}
-
-NTSTATUS sam_get_groups_of_sid(const SAM_CONTEXT *context, const NT_USER_TOKEN *access_token, const DOM_SID **sids, uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)
-{
-       SAM_METHODS     *tmp_methods;
-       NTSTATUS        nt_status;
-       
-       uint32          tmp_group_count;
-       SAM_GROUP_ENUM *tmp_groups;
-       
-       DEBUG(5,("sam_get_groups_of_sid: %d\n", __LINE__));
-
-       SAM_SETUP_CONTEXT;
-       
-       /* invalid sam_context specified */
-       SAM_ASSERT(access_token && sids && context && context->methods);
-       
-       *group_count = 0;
-       
-       *groups = NULL;
-
-       tmp_methods= context->methods;
-
-       while (tmp_methods) {
-               DEBUG(5,("getting groups from domain \n"));
-               if (!tmp_methods->sam_get_groups_of_sid) {
-                       DEBUG(3, ("sam_get_groups_of_sid: sam_methods of domain did not specify sam_get_groups_of_sid\n"));
-                       SAFE_FREE(*groups);
-                       return NT_STATUS_NOT_IMPLEMENTED;
-               }
-               
-               if (!NT_STATUS_IS_OK(nt_status = tmp_methods->sam_get_groups_of_sid(tmp_methods, access_token, sids, group_ctrl, &tmp_group_count, &tmp_groups))) {
-                       DEBUG(4,("sam_get_groups_of_sid in backend %s failed\n", tmp_methods->backendname));
-                       SAFE_FREE(*groups);
-                       return nt_status;
-               }
-               
-               *groups = Realloc(*groups, ((*group_count)  + tmp_group_count) * sizeof(SAM_GROUP_ENUM));
-
-               memcpy(&(*groups)[*group_count], tmp_groups, tmp_group_count);          
-               
-               SAFE_FREE(tmp_groups);
-               
-               *group_count += tmp_group_count;
-               
-               tmp_methods = tmp_methods->next;
-       }
-       
-       return NT_STATUS_OK;    
-}
-
-
diff --git a/source3/sam/sam_ads.c b/source3/sam/sam_ads.c
deleted file mode 100755 (executable)
index 13e0369..0000000
+++ /dev/null
@@ -1,1378 +0,0 @@
-/*
-  Unix SMB/CIFS implementation.
-  Active Directory SAM backend, for simulate a W2K DC in mixed mode.
-
-  Copyright (C) Stefan (metze) Metzmacher      2002
-  Copyright (C) Andrew Bartlett                2002
-
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-
-#ifdef HAVE_LDAP
-
-static int sam_ads_debug_level = DBGC_SAM;
-
-#undef DBGC_CLASS
-#define DBGC_CLASS sam_ads_debug_level
-
-#ifndef FIXME
-#define FIXME( body ) { DEBUG(0,("FIXME: "));\
-                       DEBUGADD(0,(body));}
-#endif
-
-#define ADS_STATUS_OK ADS_ERROR(0)
-#define ADS_STATUS_UNSUCCESSFUL ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL)
-#define ADS_STATUS_NOT_IMPLEMENTED ADS_ERROR_NT(NT_STATUS_NOT_IMPLEMENTED)
-
-
-#define ADS_SUBTREE_BUILTIN    "CN=Builtin,"
-#define ADS_SUBTREE_COMPUTERS  "CN=Computers,"
-#define        ADS_SUBTREE_DC          "CN=Domain Controllers,"
-#define ADS_SUBTREE_USERS      "CN=Users,"
-#define ADS_ROOT_TREE          ""
-/* Here are private module structs and functions */
-
-typedef struct sam_ads_privates {
-       ADS_STRUCT      *ads_struct;
-       TALLOC_CTX      *mem_ctx;
-       BOOL            bind_plaintext;
-       char            *ads_bind_dn;
-       char            *ads_bind_pw;
-       char            *ldap_uri;
-       /* did we need something more? */
-}SAM_ADS_PRIVATES;
-
-
-/* get only these LDAP attributes, witch we really need for an account */
-const char *account_attrs[] = {        "objectSid",
-                               "objectGUID", 
-                               "sAMAccountType",
-                               "sAMAcountName",
-                               "userPrincipalName",
-                               "accountExpires",
-                               "badPasswordTime",
-                               "badPwdCount",
-                               "lastLogoff",
-                               "lastLogon",
-                               "userWorkstations",
-                               "dBCSPwd",
-                               "unicodePwd",
-                               "pwdLastSet",
-                               "userAccountControl",
-                               "profilePath",
-                               "homeDrive",
-                               "scriptPath",
-                               "homeDirectory",
-                               "cn",
-                               "primaryGroupID",/* 513 */
-                               "nsNPAllowDialIn",/* TRUE */
-                               "userParameters",/* Dial Back number ...*/
-                               "codePage",/* 0 */
-                               "countryCode",/* 0 */
-                               "adminCount",/* 1 or 0 */
-                               "logonCount",/* 0 */
-                               "managedObjects",
-                               "memberOf",/* dn */
-                               "instanceType",/* 4 */
-                               "name", /* sync with cn */
-                               "description",
-                               /* "nTSecurityDescriptor", */
-                               NULL};
-                       
-/* get only these LDAP attributes, witch we really need for a group */                 
-const char *group_attrs[] = {"objectSid",
-                            /* "objectGUID", */ 
-                            "sAMAccountType",
-                            "sAMAcountName",
-                            "groupType",
-                            /* "member", */
-                            "description",
-                            "name", /* sync with cn */
-                            /* "nTSecurityDescriptor", */
-                            NULL};
-                       
-
-/***************************************************
-  return our ads connection. We keep the connection
-  open to make things faster
-****************************************************/
-static ADS_STATUS sam_ads_cached_connection(SAM_ADS_PRIVATES *privates)
-{
-       ADS_STRUCT      *ads_struct;
-       ADS_STATUS      ads_status;
-       
-       if (!privates->ads_struct) {
-               privates->ads_struct = ads_init_simple();
-               ads_struct = privates->ads_struct;
-               ads_struct->server.ldap_uri = smb_xstrdup(privates->ldap_uri);
-               if ((!privates->ads_bind_dn) || (!*privates->ads_bind_dn)) {
-                       ads_struct->auth.flags |= ADS_AUTH_ANON_BIND;
-               } else {
-                       ads_struct->auth.user_name 
-                               = smb_xstrdup(privates->ads_bind_dn);
-                       if (privates->ads_bind_pw) {
-                               ads_struct->auth.password 
-                                       = smb_xstrdup(privates->ads_bind_pw);
-                       }
-               }
-               if (privates->bind_plaintext) {
-                       ads_struct->auth.flags |= ADS_AUTH_SIMPLE_BIND;
-               }
-       } else {
-               ads_struct = privates->ads_struct;
-       }
-
-       if (ads_struct->ld != NULL) {           
-               /* connection has been opened. ping server. */
-               struct sockaddr_un addr;
-               socklen_t len;
-               int sd;
-               if (ldap_get_option(ads_struct->ld, LDAP_OPT_DESC, &sd) == 0 &&
-                   getpeername(sd, (struct sockaddr *) &addr, &len) < 0) {
-                       /* the other end has died. reopen. */
-                       ldap_unbind_ext(ads_struct->ld, NULL, NULL);
-                       ads_struct->ld = NULL;
-               }
-       }
-
-       if (ads_struct->ld != NULL) {
-               DEBUG(5,("sam_ads_cached_connection: allready connected to the LDAP server\n"));
-               return ADS_SUCCESS;
-       }
-
-       ads_status = ads_connect(ads_struct);
-
-       ads_status = ads_server_info(ads_struct);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(0,("Can't set server info: %s\n",ads_errstr(ads_status)));
-               /* return ads_status; */ FIXME("for now we only warn!\n");
-       }
-
-       DEBUG(2, ("sam_ads_cached_connection: succesful connection to the LDAP server\n"));
-       return ADS_SUCCESS;
-}
-
-static ADS_STATUS sam_ads_do_search(SAM_ADS_PRIVATES *privates, const char *bind_path, int scope, const char *exp, const char **attrs, void **res)
-{
-       ADS_STATUS      ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       
-       ads_status = sam_ads_cached_connection(privates);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_status;
-               
-       return ads_do_search_retry(privates->ads_struct, bind_path, scope, exp, attrs, res);            
-}
-
-
-/*********************************************
-here we have to check the update serial number
- - this is the core of the ldap cache
-*********************************************/
-static ADS_STATUS sam_ads_usn_is_valid(SAM_ADS_PRIVATES *privates, uint32 usn_in, uint32 *usn_out)
-{
-       ADS_STATUS      ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-
-       SAM_ASSERT(privates && privates->ads_struct && usn_out);
-
-       ads_status = ads_USN(privates->ads_struct, usn_out);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_status;      
-       
-       if (*usn_out == usn_in)
-               return ADS_SUCCESS;
-               
-       return ads_status;      
-}
-
-/***********************************************
-Initialize SAM_ACCOUNT_HANDLE from an ADS query
-************************************************/
-/* not ready :-( */
-static ADS_STATUS ads_entry2sam_account_handle(SAM_ADS_PRIVATES *privates, SAM_ACCOUNT_HANDLE *account ,void *msg)
-{
-       ADS_STATUS      ads_status = ADS_ERROR_NT(NT_STATUS_NO_SUCH_USER);
-       NTSTATUS        nt_status = NT_STATUS_NO_SUCH_USER;
-       ADS_STRUCT      *ads_struct = privates->ads_struct;
-       TALLOC_CTX      *mem_ctx = account->mem_ctx;
-       char            *tmp_str = NULL;
-       
-       SAM_ASSERT(privates && ads_struct && account && mem_ctx && msg);
-
-       FIXME("should we really use ads_pull_username()(or ads_pull_string())?\n");
-       if ((account->private.account_name = ads_pull_username(ads_struct, mem_ctx, msg))==NULL) {
-               DEBUG(0,("ads_pull_username failed\n"));
-               return ADS_ERROR_NT(NT_STATUS_NO_SUCH_USER);
-       }
-       
-       if ((account->private.full_name = ads_pull_string(ads_struct, mem_ctx, msg,"name"))==NULL) {
-               DEBUG(3,("ads_pull_string for 'name' failed - skip\n"));
-       }
-       
-       if ((account->private.acct_desc = ads_pull_string(ads_struct, mem_ctx, msg,"description"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'acct_desc' failed - skip\n"));
-       }
-       
-       if ((account->private.home_dir = ads_pull_string(ads_struct, mem_ctx, msg,"homeDirectory"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'homeDirectory' failed - skip\n"));
-       }
-       
-       if ((account->private.dir_drive = ads_pull_string(ads_struct, mem_ctx, msg,"homeDrive"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'homeDrive' failed - skip\n"));
-       }
-       
-       if ((account->private.profile_path = ads_pull_string(ads_struct, mem_ctx, msg,"profilePath"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'profilePath' failed - skip\n"));
-       }
-       
-       if ((account->private.logon_script = ads_pull_string(ads_struct, mem_ctx, msg,"scriptPath"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'scriptPath' failed - skip\n"));
-       }
-       
-       FIXME("check 'nsNPAllowDialIn' for munged_dial!\n");
-       if ((account->private.munged_dial = ads_pull_string(ads_struct, mem_ctx, msg,"userParameters"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'userParameters' failed - skip\n"));
-       }
-       
-       if ((account->private.unix_home_dir = ads_pull_string(ads_struct, mem_ctx, msg,"msSFUHomeDrirectory"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'msSFUHomeDrirectory' failed - skip\n"));
-       }
-
-#if 0
-       FIXME("use function intern mem_ctx for pwdLastSet\n");
-       if ((tmp_str = ads_pull_string(ads_struct, mem_ctx, msg,"pwdLastSet"))!=NULL) {
-               DEBUG(3,("ads_pull_string for 'pwdLastSet' failed - skip\n"));
-       } else {
-               account->private.pass_last_set_time = ads_parse_nttime(tmp_str);
-               tmp_str = NULL;
-               
-       }       
-#endif
-
-#if 0
-typedef struct sam_account_handle {
-       TALLOC_CTX *mem_ctx;
-       uint32 access_granted;
-       const struct sam_methods *current_sam_methods; /* sam_methods creating this handle */
-       void (*free_fn)(struct sam_account_handle **);
-       struct sam_account_data {
-               uint32 init_flag;
-               NTTIME logon_time; /* logon time */
-               NTTIME logoff_time; /* logoff time */
-               NTTIME kickoff_time; /* kickoff time */
-               NTTIME pass_last_set_time; /* password last set time */
-               NTTIME pass_can_change_time; /* password can change time */
-               NTTIME pass_must_change_time; /* password must change time */
-               char * account_name; /* account_name string */
-               SAM_DOMAIN_HANDLE * domain; /* domain of account */
-               char *full_name; /* account's full name string */
-               char *unix_home_dir; /* UNIX home directory string */
-               char *home_dir; /* home directory string */
-               char *dir_drive; /* home directory drive string */
-               char *logon_script; /* logon script string */
-               char *profile_path; /* profile path string */
-               char *acct_desc; /* account description string */
-               char *workstations; /* login from workstations string */
-               char *unknown_str; /* don't know what this is, yet. */
-               char *munged_dial; /* munged path name and dial-back tel number */
-               DOM_SID account_sid; /* Primary Account SID */
-               DOM_SID group_sid; /* Primary Group SID */
-               DATA_BLOB lm_pw; /* .data is Null if no password */
-               DATA_BLOB nt_pw; /* .data is Null if no password */
-               char *plaintext_pw; /* if Null not available */
-               uint16 acct_ctrl; /* account info (ACB_xxxx bit-mask) */
-               uint32 unknown_1; /* 0x00ff ffff */
-               uint16 logon_divs; /* 168 - number of hours in a week */
-               uint32 hours_len; /* normally 21 bytes */
-               uint8 hours[MAX_HOURS_LEN];
-               uint32 unknown_2; /* 0x0002 0000 */
-               uint32 unknown_3; /* 0x0000 04ec */
-       } private;
-} SAM_ACCOUNT_HANDLE;
-#endif
-
-       return ads_status;
-}
-
-
-/***********************************************
-Initialize SAM_GROUP_ENUM from an ads entry
-************************************************/
-/* not ready :-( */
-static ADS_STATUS ads_entry2sam_group_enum(SAM_ADS_PRIVATES *privates, TALLOC_CTX *mem_ctx, SAM_GROUP_ENUM **group_enum,const void *entry)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_UNSUCCESSFUL;
-       ADS_STRUCT      *ads_struct = privates->ads_struct;
-       SAM_GROUP_ENUM  __group_enum;
-       SAM_GROUP_ENUM  *_group_enum = &__group_enum;
-       
-       SAM_ASSERT(privates && ads_struct && mem_ctx && group_enum && entry);
-       
-       *group_enum = _group_enum;
-       
-       DEBUG(3,("sam_ads: ads_entry2sam_account_handle\n"));
-
-       if (!ads_pull_sid(ads_struct, &entry, "objectSid", &(_group_enum->sid))) {
-               DEBUG(0,("No sid for!?\n"));
-               return ADS_STATUS_UNSUCCESSFUL;
-       }
-       
-       if (!(_group_enum->group_name = ads_pull_string(ads_struct, mem_ctx, &entry, "sAMAccountName"))) {
-               DEBUG(0,("No groupname found"));
-               return ADS_STATUS_UNSUCCESSFUL;
-       }
-
-       if (!(_group_enum->group_desc = ads_pull_string(ads_struct, mem_ctx, &entry, "desciption"))) {
-               DEBUG(0,("No description found"));
-               return ADS_STATUS_UNSUCCESSFUL;
-       }       
-
-       DEBUG(0,("sAMAccountName: %s\ndescription: %s\nobjectSid: %s\n",
-                _group_enum->group_name,
-                _group_enum->group_desc,
-                sid_string_static(&(_group_enum->sid))
-                     ));
-       
-       return ads_status;
-}
-
-static ADS_STATUS sam_ads_access_check(SAM_ADS_PRIVATES *privates, const SEC_DESC *sd, const NT_USER_TOKEN *access_token, uint32 access_desired, uint32 *acc_granted)
-{
-       ADS_STATUS      ads_status = ADS_ERROR_NT(NT_STATUS_ACCESS_DENIED);
-       NTSTATUS        nt_status;
-       uint32          my_acc_granted;
-
-       SAM_ASSERT(privates && sd && access_token);
-       /* acc_granted can be set to NULL */
-       
-       /* the steps you need are: 
-          1. get_sec_desc for sid 
-          2. se_map_generic(accessdesired, generic_mapping) 
-          3. se_access_check() */
-
-       if (!se_access_check(sd, access_token, access_desired, (acc_granted)?acc_granted:&my_acc_granted, &nt_status)) {
-               DEBUG(3,("sam_ads_access_check: ACCESS DENIED\n"));
-               ads_status = ADS_ERROR_NT(nt_status);
-               return ads_status;
-       }
-       ads_status = ADS_ERROR_NT(nt_status);   
-       return ads_status;
-}
-
-static ADS_STATUS sam_ads_get_tree_sec_desc(SAM_ADS_PRIVATES *privates, const char *subtree, SEC_DESC **sd)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;
-       char                    *search_path;
-       void                    *sec_desc_res;
-       void                    *sec_desc_msg;
-       const char              *sec_desc_attrs[] = {"nTSecurityDescriptor",NULL};
-               
-       SAM_ASSERT(privates && ads_struct && mem_ctx && sd);
-       *sd = NULL;
-               
-       if (subtree) {
-               asprintf(&search_path, "%s%s",subtree,ads_struct->config.bind_path);
-       } else {
-               asprintf(&search_path, "%s","");
-       }
-       ads_status = sam_ads_do_search(privates, search_path, LDAP_SCOPE_BASE, "(objectClass=*)", sec_desc_attrs, &sec_desc_res);
-       SAFE_FREE(search_path);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_status;
-               
-       if ((sec_desc_msg = ads_first_entry(ads_struct, sec_desc_res))==NULL) {
-               ads_status = ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
-               return ads_status;              
-       }               
-                       
-       if (!ads_pull_sd(ads_struct, mem_ctx, sec_desc_msg, sec_desc_attrs[0], sd)) {
-               *sd = NULL;
-               ads_status = ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
-               return ads_status;
-       }               
-       
-       return ads_status;      
-}
-
-static ADS_STATUS sam_ads_account_policy_get(SAM_ADS_PRIVATES *privates, int field, uint32 *value)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       void                    *ap_res;
-       void                    *ap_msg;
-       const char              *ap_attrs[] = {"minPwdLength",/* AP_MIN_PASSWORD_LEN */
-                                               "pwdHistoryLength",/* AP_PASSWORD_HISTORY */
-                                               "AP_USER_MUST_LOGON_TO_CHG_PASS",/* AP_USER_MUST_LOGON_TO_CHG_PASS */
-                                               "maxPwdAge",/* AP_MAX_PASSWORD_AGE */
-                                               "minPwdAge",/* AP_MIN_PASSWORD_AGE */
-                                               "lockoutDuration",/* AP_LOCK_ACCOUNT_DURATION */
-                                               "AP_RESET_COUNT_TIME",/* AP_RESET_COUNT_TIME */
-                                               "AP_BAD_ATTEMPT_LOCKOUT",/* AP_BAD_ATTEMPT_LOCKOUT */
-                                               "AP_TIME_TO_LOGOUT",/* AP_TIME_TO_LOGOUT */
-                                               NULL};
-                                               /*lockOutObservationWindow 
-                                               lockoutThreshold $ pwdProperties*/
-       static uint32           ap[9];
-       static uint32           ap_usn = 0;
-       uint32                  tmp_usn = 0;
-
-       SAM_ASSERT(privates && ads_struct && value);
-       
-       FIXME("We need to decode all account_policy attributes!\n");
-       
-       ads_status = sam_ads_usn_is_valid(privates,ap_usn,&tmp_usn);
-       if (!ADS_ERR_OK(ads_status)) {
-               ads_status = sam_ads_do_search(privates, ads_struct->config.bind_path, LDAP_SCOPE_BASE, "(objectClass=*)", ap_attrs, &ap_res);
-               if (!ADS_ERR_OK(ads_status))
-                       return ads_status; 
-               
-               if (ads_count_replies(ads_struct, ap_res) != 1) {
-                       ads_msgfree(ads_struct, ap_res);
-                       return ADS_ERROR(LDAP_NO_RESULTS_RETURNED);
-               }
-
-               if (!(ap_msg = ads_first_entry(ads_struct, ap_res))) {
-                       ads_msgfree(ads_struct, ap_res);
-                       return ADS_ERROR(LDAP_NO_RESULTS_RETURNED);
-               }
-               
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[0], &ap[0])) {
-                       /* AP_MIN_PASSWORD_LEN */
-                       ap[0] = MINPASSWDLENGTH;/* 5 chars minimum */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[1], &ap[1])) {
-                       /* AP_PASSWORD_HISTORY */
-                       ap[1] = 0;/* don't keep any old password */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[2], &ap[2])) {
-                       /* AP_USER_MUST_LOGON_TO_CHG_PASS */
-                       ap[2] = 0;/* don't force user to logon */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[3], &ap[3])) {
-                       /* AP_MAX_PASSWORD_AGE */
-                       ap[3] = MAX_PASSWORD_AGE;/* 21 days */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[4], &ap[4])) {
-                       /* AP_MIN_PASSWORD_AGE */
-                       ap[4] = 0;/* 0 days */
-               }               
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[5], &ap[5])) {
-                       /* AP_LOCK_ACCOUNT_DURATION */
-                       ap[5] = 0;/* lockout for 0 minutes */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[6], &ap[6])) {
-                       /* AP_RESET_COUNT_TIME */
-                       ap[6] = 0;/* reset immediatly */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[7], &ap[7])) {
-                       /* AP_BAD_ATTEMPT_LOCKOUT */
-                       ap[7] = 0;/* don't lockout */
-               }
-               if (!ads_pull_uint32(ads_struct, ap_msg, ap_attrs[8], &ap[8])) {
-                       /* AP_TIME_TO_LOGOUT */
-                       ap[8] = -1;/* don't force logout */
-               }
-               
-               ads_msgfree(ads_struct, ap_res);
-               ap_usn = tmp_usn;
-       }
-
-       switch(field) {
-               case AP_MIN_PASSWORD_LEN:
-                       *value = ap[0];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_PASSWORD_HISTORY:
-                       *value = ap[1];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_USER_MUST_LOGON_TO_CHG_PASS:
-                       *value = ap[2];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_MAX_PASSWORD_AGE:
-                       *value = ap[3];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_MIN_PASSWORD_AGE:
-                       *value = ap[4];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_LOCK_ACCOUNT_DURATION:
-                       *value = ap[5];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_RESET_COUNT_TIME:
-                       *value = ap[6];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_BAD_ATTEMPT_LOCKOUT:
-                       *value = ap[7];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               case AP_TIME_TO_LOGOUT:
-                       *value = ap[8];
-                       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-                       break;
-               default: *value = 0; break;
-       }
-       
-       return ads_status;      
-}
-
-
-/**********************************
-Now the functions off the SAM API 
-***********************************/
-
-/* General API */
-static NTSTATUS sam_ads_get_sec_desc(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, 
-                             const DOM_SID *sid, SEC_DESC **sd)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx;
-       char                    *sidstr,*filter;
-       void                    *sec_desc_res;
-       void                    *sec_desc_msg;
-       const char              *sec_desc_attrs[] = {"nTSecurityDescriptor",NULL};
-       fstring                 sid_str;
-       SEC_DESC                *my_sd;
-
-       SAM_ASSERT(sam_method && access_token && sid && sd);    
-       
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_ROOT_TREE, &my_sd);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, my_sd, access_token, GENERIC_RIGHTS_DOMAIN_READ, NULL);
-
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       sidstr = sid_binstring(sid);
-       if (asprintf(&filter, "(objectSid=%s)", sidstr) == -1) {
-               SAFE_FREE(sidstr);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       SAFE_FREE(sidstr);
-
-       ads_status = sam_ads_do_search(privates,ads_struct->config.bind_path, 
-                                      LDAP_SCOPE_SUBTREE, filter, sec_desc_attrs,
-                                      &sec_desc_res);
-       SAFE_FREE(filter);
-
-       if (!ADS_ERR_OK(ads_status)) {
-               return ads_ntstatus(ads_status);
-       }
-
-       if (!(mem_ctx = talloc_init("sec_desc parse in sam_ads"))) {
-               DEBUG(1, ("talloc_init() failed for sec_desc parse context in sam_ads"));
-               ads_msgfree(ads_struct, sec_desc_res);
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (ads_count_replies(ads_struct, sec_desc_res) != 1) {
-               DEBUG(1,("sam_ads_get_sec_desc: duplicate or 0 results for sid %s\n", 
-                        sid_to_string(sid_str, sid)));
-               talloc_destroy(mem_ctx);
-               ads_msgfree(ads_struct, sec_desc_res);
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       if (!(sec_desc_msg = ads_first_entry(ads_struct, sec_desc_res))) {
-               talloc_destroy(mem_ctx);
-               ads_msgfree(ads_struct, sec_desc_res);
-               return NT_STATUS_INVALID_PARAMETER;
-       }               
-                       
-       if (!ads_pull_sd(ads_struct, mem_ctx, sec_desc_msg, sec_desc_attrs[0], sd)) {
-               ads_status = ADS_ERROR_NT(NT_STATUS_INVALID_PARAMETER);
-               talloc_destroy(mem_ctx);
-               ads_msgfree(ads_struct, sec_desc_res);
-               return ads_ntstatus(ads_status);
-       }        
-       
-       /* now, were we allowed to see the SD we just got? */
-
-       ads_msgfree(ads_struct, sec_desc_res);
-       talloc_destroy(mem_ctx);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_set_sec_desc(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, 
-                             const DOM_SID *sid, const SEC_DESC *sd)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-       
-static NTSTATUS sam_ads_lookup_sid(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, 
-                           TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **name, 
-                           enum SID_NAME_USE *type)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       SEC_DESC                *my_sd;
-
-       SAM_ASSERT(sam_method && access_token && mem_ctx && sid && name && type);
-
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_ROOT_TREE, &my_sd);        
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, my_sd, access_token, GENERIC_RIGHTS_DOMAIN_READ, NULL);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       return ads_sid_to_name(ads_struct, mem_ctx, sid, name, type);
-}
-
-static NTSTATUS sam_ads_lookup_name(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, 
-                            const char *name, DOM_SID *sid, enum SID_NAME_USE *type)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       SEC_DESC                *my_sd;
-
-       SAM_ASSERT(sam_method && access_token && name && sid && type);
-
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_ROOT_TREE, &my_sd);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, my_sd, access_token, GENERIC_RIGHTS_DOMAIN_READ, NULL);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       return ads_name_to_sid(ads_struct, name, sid, type);
-}
-
-       
-/* Domain API */
-
-static NTSTATUS sam_ads_update_domain(const SAM_METHODS *sam_method, const SAM_DOMAIN_HANDLE *domain)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_get_domain_handle(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, 
-                                  const uint32 access_desired, SAM_DOMAIN_HANDLE **domain)
-{
-       ADS_STATUS              ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;   /*Fix me is this right??? */
-       SAM_DOMAIN_HANDLE       *dom_handle = NULL;
-       SEC_DESC                *sd;
-       uint32                  acc_granted;
-       uint32                  tmp_value;
-
-       DEBUG(5,("sam_ads_get_domain_handle: %d\n",__LINE__));
-       
-       SAM_ASSERT(sam_method && access_token && domain);
-       
-       (*domain) = NULL;
-
-       if ((dom_handle = talloc(mem_ctx, sizeof(SAM_DOMAIN_HANDLE))) == NULL) {
-               DEBUG(0,("failed to talloc dom_handle\n"));
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       return ads_ntstatus(ads_status);
-       }
-
-       ZERO_STRUCTP(dom_handle);
-
-       dom_handle->mem_ctx = mem_ctx; /*Fix me is this right??? */
-       dom_handle->free_fn = NULL;
-       dom_handle->current_sam_methods = sam_method;
-
-       /* check if access can be granted as requested */
-
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_ROOT_TREE, &sd);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, sd, access_token, access_desired, &acc_granted);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       dom_handle->access_granted = acc_granted;
-
-       /* fill all the values of dom_handle */
-       sid_copy(&dom_handle->private.sid, &sam_method->domain_sid);
-       dom_handle->private.name       = smb_xstrdup(sam_method->domain_name);
-       dom_handle->private.servername = "WHOKNOWS"; /* what is the servername */
-
-       /*Fix me: sam_ads_account_policy_get() return ADS_STATUS! */ 
-       ads_status = sam_ads_account_policy_get(privates, AP_MAX_PASSWORD_AGE, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for max password age. Useing default\n"));
-               tmp_value = MAX_PASSWORD_AGE;
-       }
-       unix_to_nt_time_abs(&dom_handle->private.max_passwordage,tmp_value);
-
-       ads_status = sam_ads_account_policy_get(privates, AP_MIN_PASSWORD_AGE, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for min password age. Useing default\n"));
-               tmp_value = 0;
-       }
-       unix_to_nt_time_abs(&dom_handle->private.min_passwordage, tmp_value);
-
-       ads_status = sam_ads_account_policy_get(privates, AP_LOCK_ACCOUNT_DURATION, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for lockout duration. Useing default\n"));
-               tmp_value = 0;
-       }
-       unix_to_nt_time_abs(&dom_handle->private.lockout_duration, tmp_value);
-
-       ads_status = sam_ads_account_policy_get(privates, AP_RESET_COUNT_TIME, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for time till locout count is reset. Useing default\n"));
-               tmp_value = 0;
-       }
-       unix_to_nt_time_abs(&dom_handle->private.reset_count, tmp_value);
-
-       ads_status = sam_ads_account_policy_get(privates, AP_MIN_PASSWORD_LEN, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for min password length. Useing default\n"));
-               tmp_value = 0;
-       }
-       dom_handle->private.min_passwordlength = (uint16)tmp_value;
-
-       ads_status = sam_ads_account_policy_get(privates, AP_PASSWORD_HISTORY, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed password history. Useing default\n"));
-               tmp_value = 0;
-       }
-       dom_handle->private.password_history = (uint16)tmp_value;
-
-       ads_status = sam_ads_account_policy_get(privates, AP_BAD_ATTEMPT_LOCKOUT, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for bad attempts till lockout. Useing default\n"));
-               tmp_value = 0;
-       }
-       dom_handle->private.lockout_count = (uint16)tmp_value;
-
-       ads_status = sam_ads_account_policy_get(privates, AP_TIME_TO_LOGOUT, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for force logout. Useing default\n"));
-               tmp_value = -1;
-       }
-
-       ads_status = sam_ads_account_policy_get(privates, AP_USER_MUST_LOGON_TO_CHG_PASS, &tmp_value);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(4,("sam_ads_account_policy_get failed for user must login to change password. Useing default\n"));
-               tmp_value = 0;
-       }
-
-       /* should the real values of num_accounts, num_groups and num_aliases be retreved?
-        * I think it is to expensive to bother
-        */
-       dom_handle->private.num_accounts = 3;
-       dom_handle->private.num_groups   = 4;
-       dom_handle->private.num_aliases  = 5;
-
-       *domain = dom_handle;
-       
-       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-       return ads_ntstatus(ads_status);
-}
-
-/* Account API */
-static NTSTATUS sam_ads_create_account(const SAM_METHODS *sam_method, 
-                               const NT_USER_TOKEN *access_token, uint32 access_desired, 
-                               const char *account_name, uint16 acct_ctrl, SAM_ACCOUNT_HANDLE **account)
-{
-       ADS_STATUS              ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       SEC_DESC                *sd = NULL;
-       uint32                  acc_granted;
-
-       SAM_ASSERT(sam_method && privates && access_token && account_name && account);
-
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_SUBTREE_USERS, &sd);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, sd, access_token, access_desired, &acc_granted);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = ADS_ERROR_NT(sam_init_account(account));
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);        
-
-       (*account)->access_granted = acc_granted;
-
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_add_account(const SAM_METHODS *sam_method, const SAM_ACCOUNT_HANDLE *account)
-{
-       ADS_STATUS              ads_status = ADS_ERROR(LDAP_NO_MEMORY);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;
-       ADS_MODLIST             mods;
-       uint16                  acct_ctrl;
-       char                    *new_dn;
-       SEC_DESC                *sd;
-       uint32                  acc_granted;
-
-       SAM_ASSERT(sam_method && account);
-       
-       ads_status = ADS_ERROR_NT(sam_get_account_acct_ctrl(account,&acct_ctrl));
-       if (!ADS_ERR_OK(ads_status))
-               goto done;
-                       
-       if ((acct_ctrl & ACB_WSTRUST)||(acct_ctrl & ACB_SVRTRUST)) {
-               /* Computer account */
-               char            *name,*controlstr;
-               char            *hostname,*host_upn,*host_spn;
-               const char      *objectClass[] = {"top", "person", "organizationalPerson",
-                                                 "user", "computer", NULL};
-
-               ads_status = ADS_ERROR_NT(sam_get_account_name(account,&name));
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-
-               if (!(host_upn = talloc_asprintf(mem_ctx, "%s@%s", name, ads_struct->config.realm))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-
-               if (!(new_dn = talloc_asprintf(mem_ctx, "CN=%s,CN=Computers,%s", hostname, 
-                                              ads_struct->config.bind_path))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-                                       
-               if (!(controlstr = talloc_asprintf(mem_ctx, "%u", ads_acb2uf(acct_ctrl)))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-               
-               if (!(mods = ads_init_mods(mem_ctx))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-               
-               ads_status = ads_mod_str(mem_ctx, &mods, "cn", hostname);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_strlist(mem_ctx, &mods, "objectClass", objectClass);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "userPrincipalName", host_upn);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "displayName", hostname);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "sAMAccountName", name);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "userAccountControl", controlstr);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;      
-
-               ads_status = ads_mod_str(mem_ctx, &mods, "servicePrincipalName", host_spn);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "dNSHostName", hostname);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "userAccountControl", controlstr);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               /*      ads_status = ads_mod_str(mem_ctx, &mods, "operatingSystem", "Samba");
-                       if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               *//*    ads_status = ads_mod_str(mem_ctx, &mods, "operatingSystemVersion", VERSION);
-                       if (!ADS_ERR_OK(ads_status))
-                       goto done;
-                 */            
-               /* End Computer account */
-       } else {
-               /* User account*/
-               char            *upn, *controlstr;
-               char            *name, *fullname;
-               const char      *objectClass[] = {"top", "person", "organizationalPerson",
-                                                 "user", NULL};
-
-               ads_status = ADS_ERROR_NT(sam_get_account_name(account,&name));
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-
-               ads_status = ADS_ERROR_NT(sam_get_account_fullname(account,&fullname));
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-
-               if (!(upn = talloc_asprintf(mem_ctx, "%s@%s", name, ads_struct->config.realm))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-
-               if (!(new_dn = talloc_asprintf(mem_ctx, "CN=%s,CN=Users,%s", fullname, 
-                                              ads_struct->config.bind_path))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-                                       
-               if (!(controlstr = talloc_asprintf(mem_ctx, "%u", ads_acb2uf(acct_ctrl)))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-               
-               if (!(mods = ads_init_mods(mem_ctx))) {
-                       ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-                       goto done;
-               }
-               
-               ads_status = ads_mod_str(mem_ctx, &mods, "cn", fullname);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_strlist(mem_ctx, &mods, "objectClass", objectClass);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "userPrincipalName", upn);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "displayName", fullname);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "sAMAccountName", name);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;
-               ads_status = ads_mod_str(mem_ctx, &mods, "userAccountControl", controlstr);
-               if (!ADS_ERR_OK(ads_status))
-                       goto done;      
-       }/* End User account */ 
-
-       /* Finally at the account */
-       ads_status = ads_gen_add(ads_struct, new_dn, mods);
-
-done:
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_update_account(const SAM_METHODS *sam_method, const SAM_ACCOUNT_HANDLE *account)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_delete_account(const SAM_METHODS *sam_method, const SAM_ACCOUNT_HANDLE *account)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-
-
-
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_enum_accounts(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, uint16 acct_ctrl, uint32 *account_count, SAM_ACCOUNT_ENUM **accounts)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-#if 0
-static NTSTATUS sam_ads_get_account_by_sid(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const DOM_SID *account_sid, SAM_ACCOUNT_HANDLE **account)
-{
-       ADS_STATUS              ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;
-       SEC_DESC                *sd = NULL;
-       uint32                  acc_granted;
-               
-       SAM_ASSERT(sam_method && privates && ads_struct && access_token && account_sid && account);
-
-       ads_status = ADS_ERROR_NT(sam_ads_get_sec_desc(sam_method, access_token, account_sid, &my_sd));
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, sd, access_token, access_desired, &acc_granted);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = ADS_ERROR_NT(sam_init_account(account));
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);        
-
-       (*account)->access_granted = acc_granted;
-
-       return ads_ntstatus(ads_status);
-}
-#else
-static NTSTATUS sam_ads_get_account_by_sid(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const DOM_SID *account_sid, SAM_ACCOUNT_HANDLE **account)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-#endif
-
-#if 0
-static NTSTATUS sam_ads_get_account_by_name(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const char *account_name, SAM_ACCOUNT_HANDLE **account)
-{
-       ADS_STATUS      ads_status = ADS_ERROR_NT(NT_STATUS_UNSUCCESSFUL);
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;
-       SEC_DESC                *sd = NULL;
-       uint32                  acc_granted;
-       
-       SAM_ASSERT(sam_method && privates && ads_struct && access_token && account_name && account);
-
-       ads_status = sam_ads_get_tree_sec_desc(privates, ADS_ROOT_TREE, &sd);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = sam_ads_access_check(privates, sd, access_token, access_desired, &acc_granted);
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);
-
-       ads_status = ADS_ERROR_NT(sam_init_account(account));
-       if (!ADS_ERR_OK(ads_status))
-               return ads_ntstatus(ads_status);        
-
-       (*account)->access_granted = acc_granted;
-
-       return ads_ntstatus(ads_status);
-}
-#else
-static NTSTATUS sam_ads_get_account_by_name(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const char *account_name, SAM_ACCOUNT_HANDLE **account)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-#endif
-
-/* Group API */
-static NTSTATUS sam_ads_create_group(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *group_name, uint16 group_ctrl, SAM_GROUP_HANDLE **group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_add_group(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_update_group(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_delete_group(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_enum_groups(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
-{
-       ADS_STATUS              ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       SAM_ADS_PRIVATES        *privates = (struct sam_ads_privates *)sam_method->private_data;
-       ADS_STRUCT              *ads_struct = privates->ads_struct;
-       TALLOC_CTX              *mem_ctx = privates->mem_ctx;
-       void                    *res = NULL;
-       void                    *msg = NULL;
-       char                    *filter = NULL;
-       int                     i = 0;
-       
-       /* get only these LDAP attributes, witch we really need for a group */                  
-       const char *group_enum_attrs[] = {"objectSid",
-                                         "description",
-                                         "sAMAcountName",
-                                         NULL};
-       
-       SAM_ASSERT(sam_method && access_token && groups_count && groups);
-       
-       *groups_count = 0;
-
-       DEBUG(3,("ads: enum_dom_groups\n"));
-
-       FIXME("get only group from the wanted Type!\n");
-       asprintf(&filter, "(&(objectClass=group)(groupType=%s))", "*");
-       ads_status = sam_ads_do_search(privates, ads_struct->config.bind_path, LDAP_SCOPE_SUBTREE, filter, group_enum_attrs, &res);
-       if (!ADS_ERR_OK(ads_status)) {
-               DEBUG(1,("enum_groups ads_search: %s\n", ads_errstr(ads_status)));
-       }
-
-       *groups_count = ads_count_replies(ads_struct, res);
-       if (*groups_count == 0) {
-               DEBUG(1,("enum_groups: No groups found\n"));
-       }
-
-       (*groups) = talloc_zero(mem_ctx, (*groups_count) * sizeof(**groups));
-       if (!*groups) {
-               ads_status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
-       }
-
-       for (msg = ads_first_entry(ads_struct, res); msg; msg = ads_next_entry(ads_struct, msg)) {
-               uint32          grouptype;
-
-               if (!ads_pull_uint32(ads_struct, msg, "groupType", &grouptype)) {
-                       ;
-               } else {
-                       (*groups)->group_ctrl = ads_gtype2gcb(grouptype);
-               }
-       
-               if (!((*groups)->group_name = ads_pull_string(ads_struct, mem_ctx, msg, "sAMAccountName"))) {
-                       ;
-               }
-               
-               if (!((*groups)->group_desc = ads_pull_string(ads_struct, mem_ctx, msg, "description"))) {
-                       ;
-               }
-               
-               if (!ads_pull_sid(ads_struct, msg, "objectSid", &((*groups)->sid))) {
-                       DEBUG(1,("No sid for group %s !?\n", (*groups)->group_name));
-                       continue;
-               }
-
-               i++;
-       }
-
-       (*groups_count) = i;
-
-       ads_status = ADS_ERROR_NT(NT_STATUS_OK);
-
-       DEBUG(3,("ads enum_dom_groups gave %d entries\n", (*groups_count)));
-
-       if (res) ads_msgfree(ads_struct, res);
-
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_get_group_by_sid(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_get_group_by_name(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const uint32 access_desired, const char *name, SAM_GROUP_HANDLE **group)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_add_member_to_group(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_delete_member_from_group(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_enum_groupmembers(const SAM_METHODS *sam_method, const SAM_GROUP_HANDLE *group, uint32 *members_count, SAM_GROUP_MEMBER **members)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-static NTSTATUS sam_ads_get_groups_of_sid(const SAM_METHODS *sam_method, const NT_USER_TOKEN *access_token, const DOM_SID **sids, const uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)
-{
-       ADS_STATUS      ads_status = ADS_STATUS_NOT_IMPLEMENTED;
-       DEBUG(0,("sam_ads: %s was called!\n",FUNCTION_MACRO));
-       SAM_ASSERT(sam_method);
-       return ads_ntstatus(ads_status);
-}
-
-/**********************************
-Free our private data
-***********************************/
-static void sam_ads_free_private_data(void **vp) 
-{
-       SAM_ADS_PRIVATES **sam_ads_state = (SAM_ADS_PRIVATES **)vp;
-
-       if ((*sam_ads_state)->ads_struct->ld) {
-               ldap_unbind((*sam_ads_state)->ads_struct->ld);
-       }
-
-       ads_destroy(&((*sam_ads_state)->ads_struct));
-       
-       talloc_destroy((*sam_ads_state)->mem_ctx);
-       FIXME("maybe we must free some other stuff here\n");
-
-       *sam_ads_state = NULL;
-}
-
-
-
-/*****************************************************
-Init the ADS SAM backend  
-******************************************************/
-NTSTATUS sam_init_ads(SAM_METHODS *sam_method, const char *module_params)
-{
-       ADS_STATUS              ads_status;
-       SAM_ADS_PRIVATES        *sam_ads_state;
-       TALLOC_CTX              *mem_ctx;
-       
-       SAM_ASSERT(sam_method && sam_method->parent);
-       
-       mem_ctx = sam_method->parent->mem_ctx;
-
-       /* Here the SAM API functions of the sam_ads module */
-
-       /* General API */
-
-       sam_method->sam_get_sec_desc = sam_ads_get_sec_desc;
-       sam_method->sam_set_sec_desc = sam_ads_set_sec_desc;
-       
-       sam_method->sam_lookup_sid = sam_ads_lookup_sid;
-       sam_method->sam_lookup_name = sam_ads_lookup_name;
-       
-       /* Domain API */
-
-       sam_method->sam_update_domain = sam_ads_update_domain;
-       sam_method->sam_get_domain_handle = sam_ads_get_domain_handle;
-
-       /* Account API */
-
-       sam_method->sam_create_account = sam_ads_create_account;
-       sam_method->sam_add_account = sam_ads_add_account;
-       sam_method->sam_update_account = sam_ads_update_account;
-       sam_method->sam_delete_account = sam_ads_delete_account;
-       sam_method->sam_enum_accounts = sam_ads_enum_accounts;
-
-       sam_method->sam_get_account_by_sid = sam_ads_get_account_by_sid;
-       sam_method->sam_get_account_by_name = sam_ads_get_account_by_name;
-
-       /* Group API */
-
-       sam_method->sam_create_group = sam_ads_create_group;
-       sam_method->sam_add_group = sam_ads_add_group;
-       sam_method->sam_update_group = sam_ads_update_group;
-       sam_method->sam_delete_group = sam_ads_delete_group;
-       sam_method->sam_enum_groups = sam_ads_enum_groups;
-       sam_method->sam_get_group_by_sid = sam_ads_get_group_by_sid;
-       sam_method->sam_get_group_by_name = sam_ads_get_group_by_name;
-
-       sam_method->sam_add_member_to_group = sam_ads_add_member_to_group;
-       sam_method->sam_delete_member_from_group = sam_ads_delete_member_from_group;
-       sam_method->sam_enum_groupmembers = sam_ads_enum_groupmembers;
-
-       sam_method->sam_get_groups_of_sid = sam_ads_get_groups_of_sid;
-
-       sam_ads_state = talloc_zero(mem_ctx, sizeof(SAM_ADS_PRIVATES));
-       if (!sam_ads_state) {
-               DEBUG(0, ("talloc() failed for sam_ads private_data!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-       
-       if (!(sam_ads_state->mem_ctx = talloc_init("sam_ads_method"))) {
-               DEBUG(0, ("talloc_init() failed for sam_ads_state->mem_ctx\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       sam_ads_state->ads_bind_dn = talloc_strdup(sam_ads_state->mem_ctx, lp_parm_string(NULL,"sam_ads","bind as"));
-       sam_ads_state->ads_bind_pw = talloc_strdup(sam_ads_state->mem_ctx, lp_parm_string(NULL,"sam_ads","bind pw"));
-
-       sam_ads_state->bind_plaintext = strequal(lp_parm_string(NULL, "sam_ads", "plaintext bind"), "yes");
-
-       if (!sam_ads_state->ads_bind_dn || !sam_ads_state->ads_bind_pw) {
-               DEBUG(0, ("talloc_strdup() failed for bind dn or password\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       /* Maybe we should not check the result here? Server down on startup? */
-
-       if (module_params && *module_params) {
-               sam_ads_state->ldap_uri = talloc_strdup(sam_ads_state->mem_ctx, module_params);
-               if (!sam_ads_state->ldap_uri) {
-                       DEBUG(0, ("talloc_strdup() failed for bind dn or password\n"));
-                       return NT_STATUS_NO_MEMORY;
-               }
-       } else {
-               sam_ads_state->ldap_uri = "ldapi://";
-       }
-
-       ads_status = sam_ads_cached_connection(sam_ads_state);
-       if (!ADS_ERR_OK(ads_status)) {
-               return ads_ntstatus(ads_status);
-       }
-
-       sam_method->private_data = sam_ads_state;
-       sam_method->free_private_data = sam_ads_free_private_data;
-       
-       sam_ads_debug_level = debug_add_class("sam_ads");
-       if (sam_ads_debug_level == -1) {
-               sam_ads_debug_level = DBGC_ALL;
-               DEBUG(0, ("sam_ads: Couldn't register custom debugging class!\n"));
-       } else DEBUG(2, ("sam_ads: Debug class number of 'sam_ads': %d\n", sam_ads_debug_level));
-    
-       DEBUG(5, ("Initializing sam_ads\n"));
-       if (module_params)
-               DEBUG(10, ("Module Parameters for Domain %s[%s]: %s\n", sam_method->domain_name, sam_method->domain_name, module_params));
-       return NT_STATUS_OK;
-}
-
-#else /* HAVE_LDAP */
-void sam_ads_dummy(void)
-{
-       DEBUG(0,("sam_ads: not supported!\n"));
-}
-#endif /* HAVE_LDAP */
diff --git a/source3/sam/sam_skel.c b/source3/sam/sam_skel.c
deleted file mode 100644 (file)
index b4d64bb..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   this is a skeleton for SAM backend modules.
-       
-   Copyright (C) Stefan (metze) Metzmacher             2002
-   Copyright (C) Jelmer Vernooij                       2002
-   Copyright (C) Andrew Bartlett                       2002
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-
-static int sam_skel_debug_level = DBGC_SAM;
-
-#undef DBGC_CLASS
-#define DBGC_CLASS sam_skel_debug_level
-
-/* define the version of the SAM interface */ 
-SAM_MODULE_VERSIONING_MAGIC
-
-/* General API */
-
-static NTSTATUS sam_skel_get_sec_desc(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID *sid, SEC_DESC **sd)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_set_sec_desc(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID *sid, const SEC_DESC *sd)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-       
-static NTSTATUS sam_skel_lookup_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **name, uint32 *type)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_lookup_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const char *name, DOM_SID *sid, uint32 *type)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-       
-/* Domain API */
-
-static NTSTATUS sam_skel_update_domain(const SAM_METHODS *sam_methods, const SAM_DOMAIN_HANDLE *domain)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_get_domain_handle(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, SAM_DOMAIN_HANDLE **domain)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-/* Account API */
-
-static NTSTATUS sam_skel_create_account(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *account_name, uint16 acct_ctrl, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_add_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_update_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_delete_account(const SAM_METHODS *sam_methods, const SAM_ACCOUNT_HANDLE *account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_enum_accounts(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint16 acct_ctrl, uint32 *account_count, SAM_ACCOUNT_ENUM **accounts)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-static NTSTATUS sam_skel_get_account_by_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *accountsid, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_get_account_by_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_ACCOUNT_HANDLE **account)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-/* Group API */
-
-static NTSTATUS sam_skel_create_group(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *account_name, uint16 group_ctrl, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_add_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_update_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_delete_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_enum_groups(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint16 group_ctrl, uint32 *groups_count, SAM_GROUP_ENUM **groups)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_get_group_by_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const DOM_SID *groupsid, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_get_group_by_name(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, uint32 access_desired, const char *name, SAM_GROUP_HANDLE **group)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-static NTSTATUS sam_skel_add_member_to_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_delete_member_from_group(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, const SAM_GROUP_MEMBER *member)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS sam_skel_enum_groupmembers(const SAM_METHODS *sam_methods, const SAM_GROUP_HANDLE *group, uint32 *members_count, SAM_GROUP_MEMBER **members)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-static NTSTATUS sam_skel_get_groups_of_sid(const SAM_METHODS *sam_methods, const NT_USER_TOKEN *access_token, const DOM_SID **sids, uint16 group_ctrl, uint32 *group_count, SAM_GROUP_ENUM **groups)
-{
-       DEBUG(0,("sam_skel: %s was called!\n",FUNCTION_MACRO));
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-NTSTATUS sam_init_skel(SAM_METHODS *sam_methods, const char *module_params)
-{
-       /* Functions your SAM module doesn't provide should be set 
-        * to NULL */
-
-       sam_methods->sam_get_sec_desc = sam_skel_get_sec_desc;
-       sam_methods->sam_set_sec_desc = sam_skel_set_sec_desc;
-       
-       sam_methods->sam_lookup_sid = sam_skel_lookup_sid;
-       sam_methods->sam_lookup_name = sam_skel_lookup_name;
-       
-       /* Domain API */
-
-       sam_methods->sam_update_domain = sam_skel_update_domain;
-       sam_methods->sam_get_domain_handle = sam_skel_get_domain_handle;
-
-       /* Account API */
-
-       sam_methods->sam_create_account = sam_skel_create_account;
-       sam_methods->sam_add_account = sam_skel_add_account;
-       sam_methods->sam_update_account = sam_skel_update_account;
-       sam_methods->sam_delete_account = sam_skel_delete_account;
-       sam_methods->sam_enum_accounts = sam_skel_enum_accounts;
-
-       sam_methods->sam_get_account_by_sid = sam_skel_get_account_by_sid;
-       sam_methods->sam_get_account_by_name = sam_skel_get_account_by_name;
-
-       /* Group API */
-
-       sam_methods->sam_create_group = sam_skel_create_group;
-       sam_methods->sam_add_group = sam_skel_add_group;
-       sam_methods->sam_update_group = sam_skel_update_group;
-       sam_methods->sam_delete_group = sam_skel_delete_group;
-       sam_methods->sam_enum_groups = sam_skel_enum_groups;
-       sam_methods->sam_get_group_by_sid = sam_skel_get_group_by_sid;
-       sam_methods->sam_get_group_by_name = sam_skel_get_group_by_name;
-
-       sam_methods->sam_add_member_to_group = sam_skel_add_member_to_group;
-       sam_methods->sam_delete_member_from_group = sam_skel_delete_member_from_group;
-       sam_methods->sam_enum_groupmembers = sam_skel_enum_groupmembers;
-
-       sam_methods->sam_get_groups_of_sid = sam_skel_get_groups_of_sid;
-
-       sam_methods->free_private_data = NULL;
-
-
-       sam_skel_debug_level = debug_add_class("sam_skel");
-       if (sam_skel_debug_level == -1) {
-               sam_skel_debug_level = DBGC_SAM;
-               DEBUG(0, ("sam_skel: Couldn't register custom debugging class!\n"));
-       } else DEBUG(2, ("sam_skel: Debug class number of 'sam_skel': %d\n", sam_skel_debug_level));
-    
-       if(module_params)
-               DEBUG(0, ("Starting 'sam_skel' with parameters '%s' for domain %s\n", module_params, sam_methods->domain_name));
-       else
-               DEBUG(0, ("Starting 'sam_skel' for domain %s without paramters\n", sam_methods->domain_name));
-
-       return NT_STATUS_OK;
-}
diff --git a/source3/script/genstruct.pl b/source3/script/genstruct.pl
deleted file mode 100755 (executable)
index 081b81f..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-#!/usr/bin/perl -w
-# a simple system for generating C parse info
-# this can be used to write generic C structer load/save routines
-# Copyright 2002 Andrew Tridgell <genstruct@tridgell.net>
-# released under the GNU General Public License v2 or later
-
-use strict;
-
-my(%enum_done) = ();
-my(%struct_done) = ();
-
-###################################################
-# general handler
-sub handle_general($$$$$$$$)
-{
-       my($name) = shift;
-       my($ptr_count) = shift;
-       my($size) = shift;
-       my($element) = shift;
-       my($flags) = shift;
-       my($dump_fn) = shift;
-       my($parse_fn) = shift;
-       my($tflags) = shift;
-       my($array_len) = 0;
-       my($dynamic_len) = "NULL";
-
-       # handle arrays, currently treat multidimensional arrays as 1 dimensional
-       while ($element =~ /(.*)\[(.*?)\]$/) {
-               $element = $1;
-               if ($array_len == 0) {
-                       $array_len = $2;
-               } else {
-                       $array_len = "$2 * $array_len";
-               }
-       }
-
-       if ($flags =~ /_LEN\((\w*?)\)/) {
-               $dynamic_len = "\"$1\"";
-       }
-
-       if ($flags =~ /_NULLTERM/) {
-               $tflags = "FLAG_NULLTERM";
-       }
-
-       print OFILE "{\"$element\", $ptr_count, $size, offsetof(struct $name, $element), $array_len, $dynamic_len, $tflags, $dump_fn, $parse_fn},\n";
-}
-
-
-####################################################
-# parse one element
-sub parse_one($$$$)
-{
-       my($name) = shift;
-       my($type) = shift;
-       my($element) = shift;
-       my($flags) = shift;
-       my($ptr_count) = 0;
-       my($size) = "sizeof($type)";
-       my($tflags) = "0";
-       
-       # enums get the FLAG_ALWAYS flag
-       if ($type =~ /^enum /) {
-               $tflags = "FLAG_ALWAYS";
-       }
-
-
-       # make the pointer part of the base type 
-       while ($element =~ /^\*(.*)/) {
-               $ptr_count++;
-               $element = $1;
-       }
-
-       # convert spaces to _
-       $type =~ s/ /_/g;
-
-       my($dump_fn) = "gen_dump_$type";
-       my($parse_fn) = "gen_parse_$type";
-
-       handle_general($name, $ptr_count, $size, $element, $flags, $dump_fn, $parse_fn, $tflags);
-}
-
-####################################################
-# parse one element
-sub parse_element($$$)
-{
-       my($name) = shift;
-       my($element) = shift;
-       my($flags) = shift;
-       my($type);
-       my($data);
-
-       # pull the base type
-       if ($element =~ /^struct (\S*) (.*)/) {
-               $type = "struct $1";
-               $data = $2;
-       } elsif ($element =~ /^enum (\S*) (.*)/) {
-               $type = "enum $1";
-               $data = $2;
-       } elsif ($element =~ /^unsigned (\S*) (.*)/) {
-               $type = "unsigned $1";
-               $data = $2;
-       } elsif ($element =~ /^(\S*) (.*)/) {
-               $type = $1;
-               $data = $2;
-       } else {
-               die "Can't parse element '$element'";
-       }
-
-       # handle comma separated lists 
-       while ($data =~ /(\S*),[\s]?(.*)/) {
-               parse_one($name, $type, $1, $flags);
-               $data = $2;
-       }
-       parse_one($name, $type, $data, $flags);
-}
-
-
-my($first_struct) = 1;
-
-####################################################
-# parse the elements of one structure
-sub parse_elements($$)
-{
-       my($name) = shift;
-       my($elements) = shift;
-
-       if ($first_struct) {
-               $first_struct = 0;
-               print "Parsing structs: $name";
-       } else {
-               print ", $name";
-       }
-
-       print OFILE "int gen_dump_struct_$name(struct parse_string *, const char *, unsigned);\n";
-       print OFILE "int gen_parse_struct_$name(char *, const char *);\n";
-
-       print OFILE "static const struct parse_struct pinfo_" . $name . "[] = {\n";
-
-       while ($elements =~ /^.*?([a-z].*?);\s*?(\S*?)\s*?\$(.*)/msi) {
-               my($element) = $1;
-               my($flags) = $2;
-               $elements = $3;
-               parse_element($name, $element, $flags);
-       }
-
-       print OFILE "{NULL, 0, 0, 0, 0, NULL, 0, NULL, NULL}};\n";
-
-       print OFILE "
-int gen_dump_struct_$name(struct parse_string *p, const char *ptr, unsigned indent) {
-       return gen_dump_struct(pinfo_$name, p, ptr, indent);
-}
-int gen_parse_struct_$name(char *ptr, const char *str) {
-       return gen_parse_struct(pinfo_$name, ptr, str);
-}
-
-";
-}
-
-my($first_enum) = 1;
-
-####################################################
-# parse out the enum declarations
-sub parse_enum_elements($$)
-{
-       my($name) = shift;
-       my($elements) = shift;
-
-       if ($first_enum) {
-               $first_enum = 0;
-               print "Parsing enums: $name";
-       } else {
-               print ", $name";
-       }
-
-       print OFILE "static const struct enum_struct einfo_" . $name . "[] = {\n";
-
-       my(@enums) = split(/,/s, $elements);
-       for (my($i)=0; $i <= $#{@enums}; $i++) {
-               my($enum) = $enums[$i];
-               if ($enum =~ /\s*(\w*)/) {
-                       my($e) = $1;
-                       print OFILE "{\"$e\", $e},\n";
-               }
-       }
-
-       print OFILE "{NULL, 0}};\n";
-
-       print OFILE "
-int gen_dump_enum_$name(struct parse_string *p, const char *ptr, unsigned indent) {
-       return gen_dump_enum(einfo_$name, p, ptr, indent);
-}
-
-int gen_parse_enum_$name(char *ptr, const char *str) {
-       return gen_parse_enum(einfo_$name, ptr, str);
-}
-
-";
-}
-
-####################################################
-# parse out the enum declarations
-sub parse_enums($)
-{
-       my($data) = shift;
-
-       while ($data =~ /^GENSTRUCT\s+enum\s+(\w*?)\s*{(.*?)}\s*;(.*)/ms) {
-               my($name) = $1;
-               my($elements) = $2;
-               $data = $3;
-
-               if (!defined($enum_done{$name})) {
-                       $enum_done{$name} = 1;
-                       parse_enum_elements($name, $elements);
-               }
-       }
-
-       if (! $first_enum) {
-               print "\n";
-       }
-}
-
-####################################################
-# parse all the structures
-sub parse_structs($)
-{
-       my($data) = shift;
-
-       # parse into structures 
-       while ($data =~ /^GENSTRUCT\s+struct\s+(\w+?)\s*{\s*(.*?)\s*}\s*;(.*)/ms) {
-               my($name) = $1;
-               my($elements) = $2;
-               $data = $3;
-               if (!defined($struct_done{$name})) {
-                       $struct_done{$name} = 1;
-                       parse_elements($name, $elements);
-               }
-       }
-
-       if (! $first_struct) {
-               print "\n";
-       } else {
-               print "No GENSTRUCT structures found?\n";
-       }
-}
-
-
-####################################################
-# parse a header file, generating a dumper structure
-sub parse_data($)
-{
-       my($data) = shift;
-
-       # collapse spaces 
-       $data =~ s/[\t ]+/ /sg;
-       $data =~ s/\s*\n\s+/\n/sg;
-       # strip debug lines
-       $data =~ s/^\#.*?\n//smg;
-
-       parse_enums($data);
-       parse_structs($data);
-}
-
-
-#########################################
-# display help text
-sub ShowHelp()
-{
-    print "
-generator for C structure dumpers
-Copyright Andrew Tridgell <genstruct\@tridgell.net>
-
-Sample usage:
-   genstruct -o output.h gcc -E -O2 -g test.h
-
-Options:
-    --help                this help page
-    -o OUTPUT             place output in OUTPUT
-";
-    exit(0);
-}
-
-########################################
-# main program
-if ($ARGV[0] ne "-o" || $#ARGV < 2) {
-       ShowHelp();
-}
-
-shift;
-my($opt_ofile)=shift;
-
-print "creating $opt_ofile\n";
-
-open(OFILE, ">$opt_ofile") || die "can't open $opt_ofile";    
-
-print OFILE "/* This is an automatically generated file - DO NOT EDIT! */\n\n";
-
-parse_data(`@ARGV -DGENSTRUCT=GENSTRUCT`);
-exit(0);
index 784c1525c897162da24f800f046bd0024837a7d5..4ce99e96bbe36fe7f9e86cb77b914eceb127bdda 100644 (file)
@@ -62,14 +62,10 @@ void invalidate_vuid(uint16 vuid)
 
        if (vuser == NULL)
                return;
-       
+
        SAFE_FREE(vuser->homedir);
-       SAFE_FREE(vuser->unix_homedir);
-       SAFE_FREE(vuser->logon_script);
-       
-       session_yield(vuser);
 
-       free_server_info(&vuser->server_info);
+       session_yield(vuser);
 
        DLIST_REMOVE(validated_users, vuser);
 
@@ -97,15 +93,11 @@ void invalidate_all_vuids(void)
        }
 }
 
-/**
- *  register that a valid login has been performed, establish 'session'.
- *  @param server_info The token returned from the authentication process. 
- *   (now 'owned' by register_vuid)
- *
- *  @return Newly allocated vuid, biased by an offset. (This allows us to
- *   tell random client vuid's (normally zero) from valid vuids.)
- *
- */
+/****************************************************************************
+register a uid/name pair as being valid and that a valid password
+has been given. vuid is biased by an offset. This allows us to
+tell random client vuid's (normally zero) from valid vuids.
+****************************************************************************/
 
 int register_vuid(auth_serversupplied_info *server_info, const char *smb_name)
 {
@@ -144,7 +136,6 @@ int register_vuid(auth_serversupplied_info *server_info, const char *smb_name)
        if (!IS_SAM_UNIX_USER(server_info->sam_account)) {
                DEBUG(0,("Attempted session setup with invalid user.  No uid/gid in SAM_ACCOUNT\n"));
                free(vuser);
-               free_server_info(&server_info);
                return UID_FIELD_INVALID;
        }
        
@@ -156,24 +147,20 @@ int register_vuid(auth_serversupplied_info *server_info, const char *smb_name)
                if (!(vuser->groups = memdup(server_info->groups, sizeof(gid_t) * vuser->n_groups))) {
                        DEBUG(0,("register_vuid: failed to memdup vuser->groups\n"));
                        free(vuser);
-                       free_server_info(&server_info);
                        return UID_FIELD_INVALID;
                }
        }
 
        vuser->guest = server_info->guest;
        fstrcpy(vuser->user.unix_name, pdb_get_username(server_info->sam_account)); 
-
-       /* This is a potentially untrusted username */
-       alpha_strcpy(vuser->user.smb_name, smb_name, ". _-$", sizeof(vuser->user.smb_name));
-
+       fstrcpy(vuser->user.smb_name, smb_name); 
        fstrcpy(vuser->user.domain, pdb_get_domain(server_info->sam_account));
        fstrcpy(vuser->user.full_name, pdb_get_fullname(server_info->sam_account));
 
        {
                /* Keep the homedir handy */
                const char *homedir = pdb_get_homedir(server_info->sam_account);
-               const char *unix_homedir = pdb_get_unix_homedir(server_info->sam_account);
+               const char *unix_homedir = pdb_get_unix_homedir(server_info->sam_account); /* should be optained by SMS */
                const char *logon_script = pdb_get_logon_script(server_info->sam_account);
                if (homedir) {
                        vuser->homedir = smb_xstrdup(homedir);
@@ -201,18 +188,10 @@ int register_vuid(auth_serversupplied_info *server_info, const char *smb_name)
                vuser->nt_user_token = dup_nt_token(server_info->ptok);
        } else {
                DEBUG(1, ("server_info does not contain a user_token - cannot continue\n"));
-               free_server_info(&server_info);
-               SAFE_FREE(vuser->homedir);
-               SAFE_FREE(vuser->unix_homedir);
-               SAFE_FREE(vuser->logon_script);
-
-               SAFE_FREE(vuser);
+               free(vuser);
                return UID_FIELD_INVALID;
        }
 
-       /* use this to keep tabs on all our info from the authentication */
-       vuser->server_info = server_info;
-
        DEBUG(3,("UNIX uid %d is UNIX user %s, and will be vuid %u\n",(int)vuser->uid,vuser->user.unix_name, vuser->vuid));
 
        next_vuid++;
@@ -267,7 +246,7 @@ void add_session_user(const char *user)
 /****************************************************************************
 check if a username is valid
 ****************************************************************************/
-BOOL user_ok(const char *user,int snum, gid_t *groups, size_t n_groups)
+BOOL user_ok(const char *user,int snum)
 {
        char **valid, **invalid;
        BOOL ret;
@@ -278,7 +257,7 @@ BOOL user_ok(const char *user,int snum, gid_t *groups, size_t n_groups)
        if (lp_invalid_users(snum)) {
                str_list_copy(&invalid, lp_invalid_users(snum));
                if (invalid && str_list_substitute(invalid, "%S", lp_servicename(snum))) {
-                       ret = !user_in_list(user, (const char **)invalid, groups, n_groups);
+                       ret = !user_in_list(user, (const char **)invalid);
                }
        }
        if (invalid)
@@ -287,7 +266,7 @@ BOOL user_ok(const char *user,int snum, gid_t *groups, size_t n_groups)
        if (ret && lp_valid_users(snum)) {
                str_list_copy(&valid, lp_valid_users(snum));
                if (valid && str_list_substitute(valid, "%S", lp_servicename(snum))) {
-                       ret = user_in_list(user, (const char **)valid, groups, n_groups);
+                       ret = user_in_list(user, (const char **)valid);
                }
        }
        if (valid)
@@ -296,7 +275,7 @@ BOOL user_ok(const char *user,int snum, gid_t *groups, size_t n_groups)
        if (ret && lp_onlyuser(snum)) {
                char **user_list = str_list_make (lp_username(snum), NULL);
                if (user_list && str_list_substitute(user_list, "%S", lp_servicename(snum))) {
-                       ret = user_in_list(user, (const char **)user_list, groups, n_groups);
+                       ret = user_in_list(user, (const char **)user_list);
                }
                if (user_list) str_list_free (&user_list);
        }
@@ -315,7 +294,7 @@ static char *validate_group(char *group, DATA_BLOB password,int snum)
                setnetgrent(group);
                while (getnetgrent(&host, &user, &domain)) {
                        if (user) {
-                               if (user_ok(user, snum, NULL, 0) && 
+                               if (user_ok(user, snum) && 
                                    password_ok(user,password)) {
                                        endnetgrent();
                                        return(user);
@@ -370,7 +349,7 @@ static char *validate_group(char *group, DATA_BLOB password,int snum)
                        while (*member) {
                                static fstring name;
                                fstrcpy(name,member);
-                               if (user_ok(name,snum, NULL, 0) &&
+                               if (user_ok(name,snum) &&
                                    password_ok(name,password)) {
                                        endgrent();
                                        return(&name[0]);
@@ -429,7 +408,7 @@ BOOL authorise_login(int snum, fstring user, DATA_BLOB password,
                     auser = strtok(NULL,LIST_SEP)) {
                        fstring user2;
                        fstrcpy(user2,auser);
-                       if (!user_ok(user2,snum, NULL, 0))
+                       if (!user_ok(user2,snum))
                                continue;
                        
                        if (password_ok(user2,password)) {
@@ -464,7 +443,7 @@ and given password ok (%s)\n", user));
                        } else {
                                fstring user2;
                                fstrcpy(user2,auser);
-                               if (user_ok(user2,snum, NULL, 0) && password_ok(user2,password)) {
+                               if (user_ok(user2,snum) && password_ok(user2,password)) {
                                        ok = True;
                                        fstrcpy(user,user2);
                                        DEBUG(3,("authorise_login: ACCEPTED: user list username \
@@ -489,7 +468,7 @@ and given password ok (%s)\n", user));
                *guest = True;
        }
 
-       if (ok && !user_ok(user, snum, NULL, 0)) {
+       if (ok && !user_ok(user,snum)) {
                DEBUG(0,("authorise_login: rejected invalid user %s\n",user));
                ok = False;
        }
index 2739f73b0ac30010edaced30d457e6b47a110100..5069db8097b734aeef8310fe6f45204c389bcac6 100644 (file)
@@ -573,7 +573,7 @@ static BOOL uid_entry_in_group( canon_ace *uid_ace, canon_ace *group_ace )
         * not uids/gids.
         */
 
-       return user_in_group_list(u_name, g_name, NULL, 0);
+       return user_in_group_list(u_name, g_name );
 }
 
 /****************************************************************************
index ba03a9b9de665f2a8aaf2a99b76fb689b662fc3a..f8bfe90ea96cc9362ea0f2b05df521704b828edd 100644 (file)
@@ -411,10 +411,6 @@ static BOOL open_sockets_smbd(BOOL is_daemon, BOOL interactive, const char *smb_
                                        return False;
                                }
 
-                               /* Load DSO's */
-                               if(lp_modules()) 
-                                       smb_load_modules(lp_modules());
-
                                return True; 
                        }
                        /* The parent doesn't need this socket */
@@ -904,7 +900,6 @@ static BOOL init_structs(void )
        smbd_process();
        
        uni_group_cache_shutdown();
-       namecache_shutdown();
        exit_server("normal exit");
        return(0);
 }
index f9d84872d71f4e924794b17fbc95ff43f97a9bd2..2a41a6db1c509a550b7ac041b50fd3b9a52f257e 100644 (file)
@@ -258,7 +258,7 @@ static NTSTATUS share_sanity_checks(int snum, pstring dev)
 /****************************************************************************
  readonly share?
 ****************************************************************************/
-static void set_read_only(connection_struct *conn, gid_t *groups, size_t n_groups)
+static void set_read_only(connection_struct *conn
 {
        char **list;
        char *service = lp_servicename(conn->service);
@@ -271,7 +271,7 @@ static void set_read_only(connection_struct *conn, gid_t *groups, size_t n_group
                if (!str_list_substitute(list, "%S", service)) {
                        DEBUG(0, ("ERROR: read list substitution failed\n"));
                }
-               if (user_in_list(conn->user, (const char **)list, groups, n_groups))
+               if (user_in_list(conn->user, (const char **)list))
                        conn->read_only = True;
                str_list_free(&list);
        }
@@ -281,7 +281,7 @@ static void set_read_only(connection_struct *conn, gid_t *groups, size_t n_group
                if (!str_list_substitute(list, "%S", service)) {
                        DEBUG(0, ("ERROR: write list substitution failed\n"));
                }
-               if (user_in_list(conn->user, (const char **)list, groups, n_groups))
+               if (user_in_list(conn->user, (const char **)list))
                        conn->read_only = False;
                str_list_free(&list);
        }
@@ -291,7 +291,7 @@ static void set_read_only(connection_struct *conn, gid_t *groups, size_t n_group
 /****************************************************************************
   admin user check
 ****************************************************************************/
-static void set_admin_user(connection_struct *conn, gid_t *groups, size_t n_groups)
+static void set_admin_user(connection_struct *conn
 {
        /* admin user check */
        
@@ -299,7 +299,7 @@ static void set_admin_user(connection_struct *conn, gid_t *groups, size_t n_grou
           marked read_only. Changed as I don't think this is needed,
           but old code left in case there is a problem here.
        */
-       if (user_in_list(conn->user,lp_admin_users(conn->service), groups, n_groups
+       if (user_in_list(conn->user,lp_admin_users(conn->service)) 
 #if 0
            && !conn->read_only
 #endif
@@ -370,7 +370,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                                      return NULL;
                        }
                } else {
-                       if (!user_ok(vuser->user.unix_name, snum, vuser->groups, vuser->n_groups)) {
+                       if (!user_ok(vuser->user.unix_name, snum)) {
                                DEBUG(2, ("user '%s' (from session setup) not permitted to access this share (%s)", vuser->user.unix_name, lp_servicename(snum)));
                                conn_free(conn);
                                *status = NT_STATUS_ACCESS_DENIED;
@@ -427,9 +427,9 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
        string_set(&conn->user,user);
        conn->nt_user_token = NULL;
        
-       set_read_only(conn, vuser ? vuser->groups : NULL, vuser ? vuser->n_groups : 0);
+       set_read_only(conn);
        
-       set_admin_user(conn, vuser ? vuser->groups : NULL, vuser ? vuser->n_groups : 0);
+       set_admin_user(conn);
 
        /*
         * If force user is true, then store the
@@ -499,7 +499,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                         * Otherwise, the meaning of the '+' would be ignored.
                         */
                        if (conn->force_user && user_must_be_member) {
-                               if (user_in_group_list( user, gname, NULL, 0)) {
+                               if (user_in_group_list( user, gname )) {
                                                conn->gid = gid;
                                                DEBUG(3,("Forced group %s for member %s\n",gname,user));
                                }
index e408cc88e9a1f919aca34b1021f546f5230dd54b..bb7d17be56f4a190e143f063c1cabe6b1f5f9435 100644 (file)
@@ -168,8 +168,6 @@ static int reply_spnego_kerberos(connection_struct *conn,
                return ERROR_NT(NT_STATUS_LOGON_FAILURE);
        }
 
-       data_blob_free(&auth_data);
-
        DEBUG(3,("Ticket name is [%s]\n", client));
 
        p = strchr_m(client, '@');
@@ -221,10 +219,10 @@ static int reply_spnego_kerberos(connection_struct *conn,
                return ERROR_NT(ret);
        }
        
-       /* register_vuid keeps the server info */
        sess_vuid = register_vuid(server_info, user);
 
        free(user);
+       free_server_info(&server_info);
 
        if (sess_vuid == -1) {
                return ERROR_NT(NT_STATUS_LOGON_FAILURE);
@@ -265,10 +263,8 @@ static BOOL reply_spnego_ntlmssp(connection_struct *conn, char *outbuf,
 
        if (NT_STATUS_IS_OK(nt_status)) {
                int sess_vuid;
-               /* register_vuid keeps the server info */
-               sess_vuid = register_vuid(server_info, (*auth_ntlmssp_state)->ntlmssp_state->user);
-               (*auth_ntlmssp_state)->server_info = NULL;
-
+               sess_vuid = register_vuid(server_info, (*auth_ntlmssp_state)->ntlmssp_state->user /* check this for weird */);
+               
                if (sess_vuid == -1) {
                        nt_status = NT_STATUS_LOGON_FAILURE;
                } else {
@@ -276,7 +272,7 @@ static BOOL reply_spnego_ntlmssp(connection_struct *conn, char *outbuf,
                        set_message(outbuf,4,0,True);
                        SSVAL(outbuf, smb_vwv3, 0);
                        
-                       if (server_info->guest) {
+                       if ((*auth_ntlmssp_state)->server_info && (*auth_ntlmssp_state)->server_info->guest) {
                                SSVAL(outbuf,smb_vwv2,1);
                        }
                        
@@ -289,7 +285,7 @@ static BOOL reply_spnego_ntlmssp(connection_struct *conn, char *outbuf,
        data_blob_free(&response);
 
        if (!ret || !NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
-               auth_ntlmssp_end(auth_ntlmssp_state);
+               auth_ntlmssp_end(&global_ntlmssp_state);
        }
 
        return ret;
@@ -588,6 +584,13 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,
                         domain,native_os,native_lanman));
        }
        
+       /* don't allow for weird usernames or domains */
+       alpha_strcpy(user, user, ". _-$", sizeof(user));
+       alpha_strcpy(domain, domain, ". _-@", sizeof(domain));
+       if (strstr(user, "..") || strstr(domain,"..")) {
+               return ERROR_NT(NT_STATUS_LOGON_FAILURE);
+       }
+
        DEBUG(3,("sesssetupX:name=[%s]\\[%s]@[%s]\n", domain, user, get_remote_machine_name()));
 
        if (*user) {
@@ -606,7 +609,7 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,
                fstrcpy(sub_user, lp_guestaccount());
        }
 
-       sub_set_smb_name(sub_user);
+       fstrcpy(current_user_info.smb_name,sub_user);
 
        reload_services(True);
        
@@ -689,13 +692,15 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,
        /* register the name and uid as being validated, so further connections
           to a uid can get through without a password, on the same VC */
 
-       /* register_vuid keeps the server info */
        sess_vuid = register_vuid(server_info, sub_user);
+
+       free_server_info(&server_info);
   
        if (sess_vuid == -1) {
                return ERROR_NT(NT_STATUS_LOGON_FAILURE);
        }
 
        SSVAL(outbuf,smb_uid,sess_vuid);
        SSVAL(inbuf,smb_uid,sess_vuid);
        
index 4ebee75a159e32fc851c3ec579909573fe2f9c02..e7c00ba45606c546d1004f52f7bd51f391fc114f 100644 (file)
@@ -60,7 +60,7 @@ BOOL change_to_guest(void)
 
 static BOOL check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
 {
-       unsigned i;
+       int i;
        for (i=0;i<conn->vuid_cache.entries && i< VUID_CACHE_SIZE;i++)
                if (conn->vuid_cache.list[i] == vuser->vuid)
                        return(True);
@@ -70,7 +70,7 @@ static BOOL check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
                return False;
        }
        
-       if (!user_ok(vuser->user.unix_name,snum, vuser->groups, vuser->n_groups))
+       if (!user_ok(vuser->user.unix_name,snum))
                return(False);
 
        if (!share_access_check(conn, snum, vuser, conn->read_only ? FILE_READ_DATA : FILE_WRITE_DATA)) {
index 8410538f017877fa0ef5a8dff8dc71627db0d89f..c685d72b3717a358753bd3f29faf6caaba1a2e0d 100644 (file)
@@ -1809,11 +1809,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
        }
 }
 
-/**
- * Close a database.
- *
- * @returns -1 for error; 0 for success.
- **/
+/* close a database */
 int tdb_close(TDB_CONTEXT *tdb)
 {
        TDB_CONTEXT **i;
diff --git a/source3/torture/cmd_sam.c b/source3/torture/cmd_sam.c
deleted file mode 100644 (file)
index 3f7f7df..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM module functions
-
-   Copyright (C) Jelmer Vernooij 2002
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-#include "samtest.h"
-
-static void print_account(SAM_ACCOUNT_HANDLE *a)
-{
-       /* FIXME */
-}
-
-static NTSTATUS cmd_context(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       NTSTATUS status;
-       char **plugins;
-       int i;
-
-       plugins = malloc(argc * sizeof(char *));
-
-       for(i = 1; i < argc; i++)
-               plugins[i-1] = argv[i];
-
-       plugins[argc-1] = NULL;
-
-       if(!NT_STATUS_IS_OK(status = make_sam_context_list(&st->context, plugins))) {
-               printf("make_sam_context_list failed: %s\n", nt_errstr(status));
-               SAFE_FREE(plugins);
-               return status;
-       }
-
-       SAFE_FREE(plugins);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_load_module(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       char *plugin_arg[2];
-       NTSTATUS status;
-       if (argc != 2 && argc != 3) {
-               printf("Usage: load <module path> [domain-name]\n");
-               return NT_STATUS_OK;
-       }
-
-       if (argc == 3)
-               asprintf(&plugin_arg[0], "plugin:%s|%s", argv[1], argv[2]);
-       else
-               asprintf(&plugin_arg[0], "plugin:%s", argv[1]);
-
-       plugin_arg[1] = NULL;
-       
-       if(!NT_STATUS_IS_OK(status = make_sam_context_list(&st->context, plugin_arg))) {
-               free(plugin_arg[0]);
-               return status;
-       }
-       
-       free(plugin_arg[0]);
-
-       printf("load: ok\n");
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_get_sec_desc(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_set_sec_desc(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_lookup_sid(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       char *name;
-       uint32 type;
-       NTSTATUS status;
-       DOM_SID sid;
-       if (argc != 2) {
-               printf("Usage: lookup_sid <sid>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!string_to_sid(&sid, argv[1])){
-               printf("Unparseable SID specified!\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_lookup_sid(st->context, st->token, mem_ctx, &sid, &name, &type))) {
-               printf("sam_lookup_sid failed!\n");
-               return status;
-       }
-
-       printf("Name: %s\n", name);
-       printf("Type: %d\n", type); /* FIXME: What kind of an integer is type ? */
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_lookup_name(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       DOM_SID sid;
-       uint32 type;
-       NTSTATUS status;
-       if (argc != 3) {
-               printf("Usage: lookup_name <domain> <name>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_lookup_name(st->context, st->token, argv[1], argv[2], &sid, &type))) {
-               printf("sam_lookup_name failed!\n");
-               return status;
-       }
-
-       printf("SID: %s\n", sid_string_static(&sid));
-       printf("Type: %d\n", type);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_lookup_account(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_lookup_group(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_lookup_domain(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       DOM_SID *sid;
-       NTSTATUS status;
-       if (argc != 2) {
-               printf("Usage: lookup_domain <domain>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_lookup_domain(st->context, st->token, argv[1], &sid))) {
-               printf("sam_lookup_name failed!\n");
-               return status;
-       }
-
-       printf("SID: %s\n", sid_string_static(sid));
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_enum_domains(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       int32 domain_count, i;
-       DOM_SID *domain_sids;
-       char **domain_names;
-       NTSTATUS status;
-
-       if (!NT_STATUS_IS_OK(status = sam_enum_domains(st->context, st->token, &domain_count, &domain_sids, &domain_names))) {
-               printf("sam_enum_domains failed!\n");
-               return status;
-       }
-
-       if (domain_count == 0) {
-               printf("No domains found!\n");
-               return NT_STATUS_OK;
-       }
-
-       for (i = 0; i < domain_count; i++) {
-               printf("%s %s\n", domain_names[i], sid_string_static(&domain_sids[i]));
-       }
-
-       SAFE_FREE(domain_sids);
-       SAFE_FREE(domain_names);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_update_domain(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_show_domain(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       NTSTATUS status;
-       DOM_SID sid;
-       SAM_DOMAIN_HANDLE *domain;
-       uint32 tmp_uint32;
-       uint16 tmp_uint16;
-       NTTIME tmp_nttime;
-       BOOL tmp_bool;
-       const char *tmp_string;
-
-       if (argc != 2) {
-               printf("Usage: show_domain <sid>\n");
-               return status;
-       }
-
-       if (!string_to_sid(&sid, argv[1])){
-               printf("Unparseable SID specified!\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_by_sid(st->context, st->token, GENERIC_RIGHTS_DOMAIN_ALL_ACCESS, &sid, &domain))) {
-               printf("sam_get_domain_by_sid failed\n");
-               return status;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_num_accounts(domain, &tmp_uint32))) {
-               printf("sam_get_domain_num_accounts failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Number of accounts: %d\n", tmp_uint32);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_num_groups(domain, &tmp_uint32))) {
-               printf("sam_get_domain_num_groups failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Number of groups: %u\n", tmp_uint32);
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_num_aliases(domain, &tmp_uint32))) {
-               printf("sam_get_domain_num_aliases failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Number of aliases: %u\n", tmp_uint32);
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_name(domain, &tmp_string))) {
-               printf("sam_get_domain_name failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Domain Name: %s\n", tmp_string);
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_lockout_count(domain, &tmp_uint16))) {
-               printf("sam_get_domain_lockout_count failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Lockout Count: %u\n", tmp_uint16);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_force_logoff(domain, &tmp_bool))) {
-               printf("sam_get_domain_force_logoff failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Force Logoff: %s\n", (tmp_bool?"Yes":"No"));
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_lockout_duration(domain, &tmp_nttime))) {
-               printf("sam_get_domain_lockout_duration failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Lockout duration: %u\n", tmp_nttime.low);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_login_pwdchange(domain, &tmp_bool))) {
-               printf("sam_get_domain_login_pwdchange failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Password changing allowed: %s\n", (tmp_bool?"Yes":"No"));
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_max_pwdage(domain, &tmp_nttime))) {
-               printf("sam_get_domain_max_pwdage failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Maximum password age: %u\n", tmp_nttime.low);
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_min_pwdage(domain, &tmp_nttime))) {
-               printf("sam_get_domain_min_pwdage failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Minimal password age: %u\n", tmp_nttime.low);
-       }
-       
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_min_pwdlength(domain, &tmp_uint16))) {
-               printf("sam_get_domain_min_pwdlength: %s\n", nt_errstr(status));
-       } else {
-               printf("Minimal Password Length: %u\n", tmp_uint16);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_pwd_history(domain, &tmp_uint16))) {
-               printf("sam_get_domain_pwd_history failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Password history: %u\n", tmp_uint16);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_reset_count(domain, &tmp_nttime))) {
-               printf("sam_get_domain_reset_count failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Reset count: %u\n", tmp_nttime.low);
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_domain_server(domain, &tmp_string))) {
-               printf("sam_get_domain_server failed: %s\n", nt_errstr(status));
-       } else {
-               printf("Server: %s\n", tmp_string);
-       }
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_create_account(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_update_account(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_delete_account(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_enum_accounts(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       NTSTATUS status;
-       DOM_SID sid;
-       int32 account_count, i;
-       SAM_ACCOUNT_ENUM *accounts;
-
-       if (argc != 2) {
-               printf("Usage: enum_accounts <domain-sid>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!string_to_sid(&sid, argv[1])){
-               printf("Unparseable SID specified!\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_enum_accounts(st->context, st->token, &sid, 0, &account_count, &accounts))) {
-               printf("sam_enum_accounts failed: %s\n", nt_errstr(status));
-               return status;
-       }
-
-       if (account_count == 0) {
-               printf("No accounts found!\n");
-               return NT_STATUS_OK;
-       }
-
-       for (i = 0; i < account_count; i++)
-               printf("SID: %s\nName: %s\nFullname: %s\nDescription: %s\nACB_BITS: %08X\n\n", 
-                          sid_string_static(&accounts[i].sid), accounts[i].account_name,
-                          accounts[i].full_name, accounts[i].account_desc, 
-                          accounts[i].acct_ctrl);
-
-       SAFE_FREE(accounts);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_lookup_account_sid(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       NTSTATUS status;
-       DOM_SID sid;
-       SAM_ACCOUNT_HANDLE *account;
-
-       if (argc != 2) {
-               printf("Usage: lookup_account_sid <account-sid>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!string_to_sid(&sid, argv[1])){
-               printf("Unparseable SID specified!\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       if (!NT_STATUS_IS_OK(status = sam_get_account_by_sid(st->context, st->token, GENERIC_RIGHTS_USER_ALL_ACCESS, &sid, &account))) {
-               printf("context_sam_get_account_by_sid failed: %s\n", nt_errstr(status));
-               return status;
-       }
-
-       print_account(account);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_lookup_account_name(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       NTSTATUS status;
-       SAM_ACCOUNT_HANDLE *account;
-
-       if (argc != 3) {
-               printf("Usage: lookup_account_name <domain-name> <account-name>\n");
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-
-       if (!NT_STATUS_IS_OK(status = sam_get_account_by_name(st->context, st->token, GENERIC_RIGHTS_USER_ALL_ACCESS, argv[1], argv[2], &account))) {
-               printf("context_sam_get_account_by_sid failed: %s\n", nt_errstr(status));
-               return status;
-       }
-
-       print_account(account);
-       
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_create_group(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_update_group(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_delete_group(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_enum_groups(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_lookup_group_sid(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_lookup_group_name(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_group_add_member(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-static NTSTATUS cmd_group_del_member(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-static NTSTATUS cmd_group_enum(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-
-static NTSTATUS cmd_get_sid_groups(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-struct cmd_set sam_general_commands[] = {
-
-       { "General SAM Commands" },
-
-       { "load", cmd_load_module, "Load a module", "load <module.so> [domain-sid]" },
-       { "context", cmd_context, "Load specified context", "context [DOMAIN|]backend1[:options] [DOMAIN|]backend2[:options]" },
-       { "get_sec_desc", cmd_get_sec_desc, "Get security descriptor info", "get_sec_desc <access-token> <sid>" },
-       { "set_sec_desc", cmd_set_sec_desc, "Set security descriptor info", "set_sec_desc <access-token> <sid>" },
-       { "lookup_sid", cmd_lookup_sid, "Lookup type of specified SID", "lookup_sid <sid>" },
-       { "lookup_name", cmd_lookup_name, "Lookup type of specified name", "lookup_name <sid>" },
-       { NULL }
-};
-
-struct cmd_set sam_domain_commands[] = {
-       { "Domain Commands" },
-       { "update_domain", cmd_update_domain, "Update domain information", "update_domain [domain-options] domain-name | domain-sid" },
-       { "show_domain", cmd_show_domain, "Show domain information", "show_domain domain-sid | domain-name" },
-       { "enum_domains", cmd_enum_domains, "Enumerate all domains", "enum_domains <token> <acct-ctrl>" },
-       { "lookup_domain", cmd_lookup_domain, "Lookup a domain by name", "lookup_domain domain-name" },
-       { NULL }
-};
-
-struct cmd_set sam_account_commands[] = {
-       { "Account Commands" },
-       { "create_account", cmd_create_account, "Create a new account with specified properties", "create_account [account-options]" },
-       { "update_account", cmd_update_account, "Update an existing account", "update_account [account-options] account-sid | account-name" },
-       { "delete_account", cmd_delete_account, "Delete an account", "delete_account account-sid | account-name" },
-       { "enum_accounts", cmd_enum_accounts, "Enumerate all accounts", "enum_accounts <token> <acct-ctrl>" },
-       { "lookup_account", cmd_lookup_account, "Lookup an account by either sid or name", "lookup_account account-sid | account-name" },
-       { "lookup_account_sid", cmd_lookup_account_sid, "Lookup an account by sid", "lookup_account_sid account-sid" },
-       { "lookup_account_name", cmd_lookup_account_name, "Lookup an account by name", "lookup_account_name account-name" },
-       { NULL }
-};
-
-struct cmd_set sam_group_commands[] = {
-       { "Group Commands" },
-       { "create_group", cmd_create_group, "Create a new group", "create_group [group-opts]" },
-       { "update_group", cmd_update_group, "Update an existing group", "update_group [group-opts] group-name | group-sid" },
-       { "delete_group", cmd_delete_group, "Delete an existing group", "delete_group group-name | group-sid" },
-       { "enum_groups", cmd_enum_groups, "Enumerate all groups", "enum_groups <token> <group-ctrl>" },
-       { "lookup_group", cmd_lookup_group, "Lookup a group by SID or name", "lookup_group group-sid | group-name" },
-       { "lookup_group_sid", cmd_lookup_group_sid, "Lookup a group by SID", "lookup_group_sid <sid>" },
-       { "lookup_group_name", cmd_lookup_group_name, "Lookup a group by name", "lookup_group_name <name>" },
-       { "group_add_member", cmd_group_add_member, "Add group member to group", "group_add_member <group-name | group-sid> <member-name | member-sid>" },
-       { "group_del_member", cmd_group_del_member, "Delete group member from group", "group_del_member <group-name | group-sid> <member-name | member-sid>" },
-       { "group_enum", cmd_group_enum, "Enumerate all members of specified group", "group_enum group-sid | group-name" },
-
-       { "get_sid_groups", cmd_get_sid_groups, "Get a list of groups specified sid is a member of", "group_enum <group-sid | group-name>" },
-       { NULL }
-};
index 63b9590dd61639605633ff0714623d50b89b347b..5f9a63802b31d351ed0b343c5ee87e6af0e4f9a0 100644 (file)
@@ -24,7 +24,6 @@
 
 static fstring password[2];
 static fstring username[2];
-static int got_user;
 static int got_pass;
 static BOOL use_kerberos;
 static int numops = 1000;
@@ -603,13 +602,13 @@ static void usage(void)
                case 'k':
 #ifdef HAVE_KRB5
                        use_kerberos = True;
+                       got_pass = True;
 #else
                        d_printf("No kerberos support compiled in\n");
                        exit(1);
 #endif
                        break;
                case 'U':
-                       got_user = 1;
                        if (got_pass == 2) {
                                d_printf("Max of 2 usernames\n");
                                exit(1);
@@ -664,8 +663,6 @@ static void usage(void)
                }
        }
 
-       if(use_kerberos && !got_user) got_pass = True;
-
        argc -= optind;
        argv += optind;
 
diff --git a/source3/torture/samtest.c b/source3/torture/samtest.c
deleted file mode 100644 (file)
index 17444c0..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   SAM module tester
-
-   Copyright (C) 2002 Jelmer Vernooij
-
-   Parts of the code stolen from vfstest by Simo Sorce and Eric Lorimer
-   Parts of the code stolen from rpcclient by Tim Potter
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-#include "samtest.h"
-
-struct func_entry {
-       char *name;
-       int (*fn)(struct connection_struct *conn, const char *path);
-};
-
-/* List to hold groups of commands */
-static struct cmd_list {
-       struct cmd_list *prev, *next;
-       struct cmd_set *cmd_set;
-} *cmd_list;
-
-static char* next_command (char** cmdstr)
-{
-       static pstring          command;
-       char                    *p;
-       
-       if (!cmdstr || !(*cmdstr))
-               return NULL;
-       
-       p = strchr_m(*cmdstr, ';');
-       if (p)
-               *p = '\0';
-       pstrcpy(command, *cmdstr);
-       *cmdstr = p;
-       
-       return command;
-}
-
-/* Load specified configuration file */
-static NTSTATUS cmd_conf(struct samtest_state *sam, TALLOC_CTX *mem_ctx,
-                                                int argc, char **argv)
-{
-       if (argc != 2) {
-               printf("Usage: %s <smb.conf>\n", argv[0]);
-               return NT_STATUS_OK;
-       }
-
-       if (!lp_load(argv[1], False, True, False)) {
-               printf("Error loading \"%s\"\n", argv[1]);
-               return NT_STATUS_OK;
-       }
-
-       printf("\"%s\" successfully loaded\n", argv[1]);
-       return NT_STATUS_OK;
-}
-
-/* Display help on commands */
-static NTSTATUS cmd_help(struct samtest_state *st, TALLOC_CTX *mem_ctx,
-                        int argc, char **argv)
-{
-       struct cmd_list *tmp;
-       struct cmd_set *tmp_set;
-
-       /* Usage */
-       if (argc > 2) {
-               printf("Usage: %s [command]\n", argv[0]);
-               return NT_STATUS_OK;
-       }
-
-       /* Help on one command */
-
-       if (argc == 2) {
-               for (tmp = cmd_list; tmp; tmp = tmp->next) {
-                       
-                       tmp_set = tmp->cmd_set;
-
-                       while(tmp_set->name) {
-                               if (strequal(argv[1], tmp_set->name)) {
-                                       if (tmp_set->usage &&
-                                           tmp_set->usage[0])
-                                               printf("%s\n", tmp_set->usage);
-                                       else
-                                               printf("No help for %s\n", tmp_set->name);
-
-                                       return NT_STATUS_OK;
-                               }
-
-                               tmp_set++;
-                       }
-               }
-
-               printf("No such command: %s\n", argv[1]);
-               return NT_STATUS_OK;
-       }
-
-       /* List all commands */
-
-       for (tmp = cmd_list; tmp; tmp = tmp->next) {
-
-               tmp_set = tmp->cmd_set;
-
-               while(tmp_set->name) {
-
-                       printf("%20s\t%s\n", tmp_set->name,
-                              tmp_set->description ? tmp_set->description:
-                              "");
-
-                       tmp_set++;
-               }
-       }
-
-       return NT_STATUS_OK;
-}
-
-/* Change the debug level */
-static NTSTATUS cmd_debuglevel(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       if (argc > 2) {
-               printf("Usage: %s [debuglevel]\n", argv[0]);
-               return NT_STATUS_OK;
-       }
-
-       if (argc == 2) {
-               DEBUGLEVEL = atoi(argv[1]);
-       }
-
-       printf("debuglevel is %d\n", DEBUGLEVEL);
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS cmd_quit(struct samtest_state *st, TALLOC_CTX *mem_ctx, int argc, char **argv)
-{
-       /* Cleanup */
-       talloc_destroy(mem_ctx);
-
-       exit(0);
-       return NT_STATUS_OK; /* NOTREACHED */
-}
-
-static struct cmd_set samtest_commands[] = {
-
-       { "GENERAL OPTIONS" },
-
-       { "help",       cmd_help,       "Get help on commands", "" },
-       { "?",          cmd_help,       "Get help on commands", "" },
-       { "conf",   cmd_conf,   "Load smb configuration file", "conf <smb.conf>" },
-       { "debuglevel", cmd_debuglevel, "Set debug level", "" },
-       { "exit",       cmd_quit,       "Exit program", "" },
-       { "quit",       cmd_quit,       "Exit program", "" },
-
-       { NULL }
-};
-
-static struct cmd_set separator_command[] = {
-       { "---------------", NULL,      "----------------------" },
-       { NULL }
-};
-
-
-/*extern struct cmd_set sam_commands[];*/
-extern struct cmd_set sam_general_commands[];
-extern struct cmd_set sam_domain_commands[];
-extern struct cmd_set sam_account_commands[];
-extern struct cmd_set sam_group_commands[];
-static struct cmd_set *samtest_command_list[] = {
-       samtest_commands,
-       sam_general_commands,
-       sam_domain_commands,
-       sam_account_commands,
-       sam_group_commands,
-       NULL
-};
-
-static void add_command_set(struct cmd_set *cmd_set)
-{
-       struct cmd_list *entry;
-
-       if (!(entry = (struct cmd_list *)malloc(sizeof(struct cmd_list)))) {
-               DEBUG(0, ("out of memory\n"));
-               return;
-       }
-
-       ZERO_STRUCTP(entry);
-
-       entry->cmd_set = cmd_set;
-       DLIST_ADD(cmd_list, entry);
-}
-
-static NTSTATUS do_cmd(struct samtest_state *st, struct cmd_set *cmd_entry, char *cmd)
-{
-       char *p = cmd, **argv = NULL;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-       TALLOC_CTX *mem_ctx = NULL;
-       pstring buf;
-       int argc = 0, i;
-
-       /* Count number of arguments first time through the loop then
-          allocate memory and strdup them. */
-
- again:
-       while(next_token(&p, buf, " ", sizeof(buf))) {
-               if (argv) {
-                       argv[argc] = strdup(buf);
-               }
-               
-               argc++;
-       }
-                               
-       if (!argv) {
-
-               /* Create argument list */
-
-               argv = (char **)malloc(sizeof(char *) * argc);
-               memset(argv, 0, sizeof(char *) * argc);
-
-               if (!argv) {
-                       fprintf(stderr, "out of memory\n");
-                       result = NT_STATUS_NO_MEMORY;
-                       goto done;
-               }
-                                       
-               p = cmd;
-               argc = 0;
-                                       
-               goto again;
-       }
-
-       /* Call the function */
-
-       if (cmd_entry->fn) {
-
-               if (mem_ctx == NULL) {
-                       /* Create mem_ctx */
-                       if (!(mem_ctx = talloc_init("do_cmd"))) {
-                               DEBUG(0, ("talloc_init() failed\n"));
-                               goto done;
-                       }
-               }
-
-               /* Run command */
-               result = cmd_entry->fn(st, mem_ctx, argc, argv);
-
-       } else {
-               fprintf (stderr, "Invalid command\n");
-               goto done;
-       }
-
- done:
-                                               
-       /* Cleanup */
-
-       if (argv) {
-               for (i = 0; i < argc; i++)
-                       SAFE_FREE(argv[i]);
-       
-               SAFE_FREE(argv);
-       }
-       
-       return result;
-}
-
-/* Process a command entered at the prompt or as part of -c */
-static NTSTATUS process_cmd(struct samtest_state *st, char *cmd)
-{
-       struct cmd_list *temp_list;
-       BOOL found = False;
-       pstring buf;
-       char *p = cmd;
-       NTSTATUS result = NT_STATUS_OK;
-       int len = 0;
-
-       if (cmd[strlen(cmd) - 1] == '\n')
-               cmd[strlen(cmd) - 1] = '\0';
-
-       if (!next_token(&p, buf, " ", sizeof(buf))) {
-               return NT_STATUS_OK;
-       }
-
-       /* strip the trainly \n if it exsists */
-       len = strlen(buf);
-       if (buf[len-1] == '\n')
-               buf[len-1] = '\0';
-
-       /* Search for matching commands */
-
-       for (temp_list = cmd_list; temp_list; temp_list = temp_list->next) {
-               struct cmd_set *temp_set = temp_list->cmd_set;
-
-               while(temp_set->name) {
-                       if (strequal(buf, temp_set->name)) {
-                               found = True;
-                               result = do_cmd(st, temp_set, cmd);
-
-                               goto done;
-                       }
-                       temp_set++;
-               }
-       }
-
- done:
-       if (!found && buf[0]) {
-               printf("command not found: %s\n", buf);
-               return NT_STATUS_OK;
-       }
-
-       if (!NT_STATUS_IS_OK(result)) {
-               printf("result was %s\n", nt_errstr(result));
-       }
-
-       return result;
-}
-
-void exit_server(char *reason)
-{
-       DEBUG(3,("Server exit (%s)\n", (reason ? reason : "")));
-       exit(0);
-}
-
-static int server_fd = -1;
-int last_message = -1;
-
-int smbd_server_fd(void)
-{
-               return server_fd;
-}
-
-BOOL reload_services(BOOL test)
-{
-       return True;
-}
-
-/* Main function */
-
-int main(int argc, char *argv[])
-{
-       BOOL                    interactive = True;
-       int                     opt;
-       static char             *cmdstr = "";
-       static char *opt_logfile=NULL;
-       static char *config_file = dyn_CONFIGFILE;
-       pstring                 logfile;
-       struct cmd_set          **cmd_set;
-       struct samtest_state st;
-
-       /* make sure the vars that get altered (4th field) are in
-          a fixed location or certain compilers complain */
-       poptContext pc;
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
-               {"command",     'e', POPT_ARG_STRING,   &cmdstr, 'e', "Execute semicolon seperated cmds"},
-               {"logfile",     'l', POPT_ARG_STRING,   &opt_logfile, 'l', "Logfile to use instead of stdout"},
-               {"configfile", 'c', POPT_ARG_STRING, &config_file, 0,"use different configuration file",NULL},
-               { 0, 0, 0, 0}
-       };
-
-       ZERO_STRUCT(st);
-
-       st.token = get_system_token();
-
-       setlinebuf(stdout);
-
-       DEBUGLEVEL = 1;
-
-       pc = poptGetContext("samtest", argc, (const char **) argv,
-                           long_options, 0);
-       
-       while((opt = poptGetNextOpt(pc)) != -1) {
-               switch (opt) {
-               case 'l':
-                       slprintf(logfile, sizeof(logfile) - 1, "%s.client", 
-                                opt_logfile);
-                       lp_set_logfile(logfile);
-                       interactive = False;
-                       break;
-               }
-       }
-
-       if (!lp_load(config_file,True,False,False)) {
-               fprintf(stderr, "Can't load %s - run testparm to debug it\n", config_file);
-               exit(1);
-       }
-
-       poptFreeContext(pc);
-
-       /* the following functions are part of the Samba debugging
-          facilities.  See lib/debug.c */
-       setup_logging("samtest", interactive);
-       if (!interactive) 
-               reopen_logs();
-       
-       /* Load command lists */
-
-       cmd_set = samtest_command_list;
-
-       while(*cmd_set) {
-               add_command_set(*cmd_set);
-               add_command_set(separator_command);
-               cmd_set++;
-       }
-
-       /* Do anything specified with -c */
-       if (cmdstr[0]) {
-               char    *cmd;
-               char    *p = cmdstr;
-               while((cmd=next_command(&p)) != NULL) {
-                       process_cmd(&st, cmd);
-               }
-               
-               return 0;
-       }
-
-       /* Loop around accepting commands */
-
-       while(1) {
-               pstring prompt;
-               char *line;
-
-               slprintf(prompt, sizeof(prompt) - 1, "samtest $> ");
-
-               line = smb_readline(prompt, NULL, NULL);
-
-               if (line == NULL)
-                       break;
-
-               if (line[0] != '\n')
-                       process_cmd(&st, line);
-       }
-       
-       return 0;
-}
index 97e864de965d2a6a76deaee4fe76dba6ba332875..5466d8ef9ee36f56c32c01f375709fecbf65c288 100644 (file)
@@ -2380,14 +2380,14 @@ static BOOL run_deletetest(int dummy)
        
        cli_sockopt(&cli1, sockops);
 
-       /* Test 1 - this should delete the file on close. */
+       /* Test 1 - this should *NOT* delete the file on close. */
        
        cli_setatr(&cli1, fname, 0, 0);
        cli_unlink(&cli1, fname);
        
        fnum1 = cli_nt_create_full(&cli1, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_DELETE, FILE_OVERWRITE_IF, 
-                                  FILE_DELETE_ON_CLOSE);
+                                  DELETE_ON_CLOSE_FLAG);
        
        if (fnum1 == -1) {
                printf("[1] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
@@ -2402,8 +2402,14 @@ static BOOL run_deletetest(int dummy)
        }
 
        fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
-       if (fnum1 != -1) {
-               printf("[1] open of %s succeeded (should fail)\n", fname);
+       if (fnum1 == -1) {
+               printf("[1] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               correct = False;
+               goto fail;
+       }
+       
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[1] close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
@@ -3037,6 +3043,7 @@ static BOOL run_opentest(int dummy)
        size_t fsize;
        BOOL correct = True;
        char *tmp_path;
+       uint16 attr;
 
        printf("starting open test\n");
        
@@ -3411,174 +3418,106 @@ static BOOL run_opentest(int dummy)
 
        cli_unlink(&cli1, fname);
 
-       if (!torture_close_connection(&cli1)) {
-               correct = False;
+       /* Test 8 - attributes test #1... */
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_WRITE_DATA, FILE_ATTRIBUTE_HIDDEN,
+                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
+
+       if (fnum1 == -1) {
+               printf("test 8 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
        }
-       if (!torture_close_connection(&cli2)) {
-               correct = False;
+
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 8 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
        }
-       
-       return correct;
-}
 
-static uint32 open_attrs_table[] = {
-               FILE_ATTRIBUTE_NORMAL,
-               FILE_ATTRIBUTE_ARCHIVE,
-               FILE_ATTRIBUTE_READONLY,
-               FILE_ATTRIBUTE_HIDDEN,
-               FILE_ATTRIBUTE_SYSTEM,
-
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY,
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN,
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM,
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN,
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM,
-               FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM,
-
-               FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN,
-               FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM,
-               FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM,
-               FILE_ATTRIBUTE_HIDDEN,FILE_ATTRIBUTE_SYSTEM,
-};
-
-struct trunc_open_results {
-       int num;
-       uint32 init_attr;
-       uint32 trunc_attr;
-       uint32 result_attr;
-};
-
-static struct trunc_open_results attr_results[] = {
-       { 0, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_ARCHIVE },
-       { 1, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_ARCHIVE },
-       { 2, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY },
-       { 16, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_ARCHIVE },
-       { 17, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_ARCHIVE },
-       { 18, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY },
-       { 51, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 54, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 56, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN },
-       { 68, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 71, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 73, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM },
-       { 99, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_HIDDEN,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 102, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 104, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN },
-       { 116, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 119,  FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM,  FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 121, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM },
-       { 170, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN },
-       { 173, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM },
-       { 227, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 230, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN },
-       { 232, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN },
-       { 244, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 247, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_SYSTEM },
-       { 249, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM }
-};
-
-static BOOL run_openattrtest(int dummy)
-{
-       static struct cli_state cli1;
-       const char *fname = "\\openattr.file";
-       int fnum1;
-       BOOL correct = True;
-       uint16 attr;
-       int i, j, k, l;
+       /* FILE_SUPERSEDE && FILE_OVERWRITE_IF have the same effect here. */
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL,
+                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
-       printf("starting open attr test\n");
-       
-       if (!torture_open_connection(&cli1)) {
+       if (fnum1 == -1) {
+               printf("test 8 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       
-       cli_sockopt(&cli1, sockops);
 
-       for (k = 0, i = 0; i < sizeof(open_attrs_table)/sizeof(uint32); i++) {
-               cli_setatr(&cli1, fname, 0, 0);
-               cli_unlink(&cli1, fname);
-               fnum1 = cli_nt_create_full(&cli1, fname,FILE_WRITE_DATA, open_attrs_table[i],
-                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 8 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
+       }
 
-               if (fnum1 == -1) {
-                       printf("open %d (1) of %s failed (%s)\n", i, fname, cli_errstr(&cli1));
-                       return False;
-               }
+       /* This open should fail with ACCESS_DENIED for FILE_SUPERSEDE, FILE_OVERWRITE and FILE_OVERWRITE_IF. */
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
+                                  FILE_SHARE_NONE, FILE_OVERWRITE, 0);
 
-               if (!cli_close(&cli1, fnum1)) {
-                       printf("close %d (1) of %s failed (%s)\n", i, fname, cli_errstr(&cli1));
-                       return False;
+       if (fnum1 != -1) {
+               printf("test 8 open 3 of %s succeeded - should have failed with (NT_STATUS_ACCESS_DENIED)\n", fname);
+               correct = False;
+               cli_close(&cli1, fnum1);
+       } else {
+               if (check_error(__LINE__, &cli1, ERRDOS, ERRnoaccess, NT_STATUS_ACCESS_DENIED)) {
+                       printf("correct error code NT_STATUS_ACCESS_DENIED/ERRDOS:ERRnoaccess returned\n");
                }
+       }
 
-               for (j = 0; j < sizeof(open_attrs_table)/sizeof(uint32); j++) {
-                       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA|FILE_WRITE_DATA, open_attrs_table[j],
-                                          FILE_SHARE_NONE, FILE_OVERWRITE, 0);
-
-                       if (fnum1 == -1) {
-                               for (l = 0; l < sizeof(attr_results)/sizeof(struct trunc_open_results); l++) {
-                                       if (attr_results[l].num == k) {
-                                               printf("[%d] trunc open 0x%x -> 0x%x of %s failed - should have succeeded !(0x%x:%s)\n",
-                                                               k, open_attrs_table[i],
-                                                               open_attrs_table[j],
-                                                               fname, NT_STATUS_V(cli_nt_error(&cli1)), cli_errstr(&cli1));
-                                               correct = False;
-                                       }
-                               }
-                               if (NT_STATUS_V(cli_nt_error(&cli1)) != NT_STATUS_V(NT_STATUS_ACCESS_DENIED)) {
-                                       printf("[%d] trunc open 0x%x -> 0x%x failed with wrong error code %s\n",
-                                                       k, open_attrs_table[i], open_attrs_table[j],
-                                                       cli_errstr(&cli1));
-                                       correct = False;
-                               }
-#if 0
-                               printf("[%d] trunc open 0x%x -> 0x%x failed\n", k, open_attrs_table[i], open_attrs_table[j]);
-#endif
-                               k++;
-                               continue;
-                       }
+       printf("Attribute open test #8 %s.\n", correct ? "passed" : "failed");
 
-                       if (!cli_close(&cli1, fnum1)) {
-                               printf("close %d (2) of %s failed (%s)\n", j, fname, cli_errstr(&cli1));
-                               return False;
-                       }
+       cli_unlink(&cli1, fname);
 
-                       if (!cli_getatr(&cli1, fname, &attr, NULL, NULL)) {
-                               printf("getatr(2) failed (%s)\n", cli_errstr(&cli1));
-                               return False;
-                       }
+       /*
+        * Test #9. Open with NORMAL, close, then re-open with attribute
+        * HIDDEN and request to truncate.
+        */
 
-#if 0
-                       printf("[%d] getatr check [0x%x] trunc [0x%x] got attr 0x%x\n",
-                                       k,  open_attrs_table[i],  open_attrs_table[j], attr );
-#endif
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_WRITE_DATA, FILE_ATTRIBUTE_NORMAL,
+                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
-                       for (l = 0; l < sizeof(attr_results)/sizeof(struct trunc_open_results); l++) {
-                               if (attr_results[l].num == k) {
-                                       if (attr != attr_results[l].result_attr ||
-                                                       open_attrs_table[i] != attr_results[l].init_attr ||
-                                                       open_attrs_table[j] != attr_results[l].trunc_attr) {
-                                               printf("getatr check failed. [0x%x] trunc [0x%x] got attr 0x%x, should be 0x%x\n",
-                                               open_attrs_table[i],
-                                               open_attrs_table[j],
-                                               (unsigned int)attr,
-                                               attr_results[l].result_attr);
-                                               correct = False;
-                                       }
-                                       break;
-                               }
-                       }
-                       k++;
-               }
+       if (fnum1 == -1) {
+               printf("test 9 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
        }
 
-       cli_setatr(&cli1, fname, 0, 0);
-       cli_unlink(&cli1, fname);
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 9 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
+       }
+
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA|FILE_WRITE_DATA, FILE_ATTRIBUTE_HIDDEN,
+                                  FILE_SHARE_NONE, FILE_OVERWRITE, 0);
+
+       if (fnum1 == -1) {
+               printf("test 9 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
+       }
+
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 9 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+               return False;
+       }
+
+       /* Ensure we have attr hidden. */
+       if (!cli_getatr(&cli1, fname, &attr, NULL, NULL)) {
+               printf("test 9 getatr(2) failed (%s)\n", cli_errstr(&cli1));
+               return False;
+       }
+
+       if (!(attr & FILE_ATTRIBUTE_HIDDEN)) {
+               printf("test 9 getatr didn't have HIDDEN attribute\n");
+               cli_unlink(&cli1, fname);
+               return False;
+       }
+
+       printf("Attribute open test #9 %s.\n", correct ? "passed" : "failed");
 
-       printf("open attr test %s.\n", correct ? "passed" : "failed");
+       cli_unlink(&cli1, fname);
 
        if (!torture_close_connection(&cli1)) {
                correct = False;
        }
+       if (!torture_close_connection(&cli2)) {
+               correct = False;
+       }
+       
        return correct;
 }
 
@@ -3977,9 +3916,6 @@ static struct {
        {"RW2",  run_readwritemulti, FLAG_MULTIPROC},
        {"RW3",  run_readwritelarge, 0},
        {"OPEN", run_opentest, 0},
-#if 1
-       {"OPENATTR", run_openattrtest, 0},
-#endif
        {"XCOPY", run_xcopy, 0},
        {"RENAME", run_rename, 0},
        {"DELETE", run_deletetest, 0},
@@ -4082,7 +4018,6 @@ static void usage(void)
 {
        int opt, i;
        char *p;
-       int gotuser = 0;
        int gotpass = 0;
        extern char *optarg;
        extern int optind;
@@ -4168,13 +4103,13 @@ static void usage(void)
                case 'k':
 #ifdef HAVE_KRB5
                        use_kerberos = True;
+                       gotpass = True;
 #else
                        d_printf("No kerberos support compiled in\n");
                        exit(1);
 #endif
                        break;
                case 'U':
-                       gotuser = 1;
                        fstrcpy(username,optarg);
                        p = strchr_m(username,'%');
                        if (p) {
@@ -4189,7 +4124,6 @@ static void usage(void)
                }
        }
 
-       if(use_kerberos && !gotuser) gotpass = True;
 
        while (!gotpass) {
                p = getpass("Password:");
diff --git a/source3/utils/editreg.c b/source3/utils/editreg.c
deleted file mode 100644 (file)
index 2cf8e2c..0000000
+++ /dev/null
@@ -1,2069 +0,0 @@
-/* 
-   Samba Unix/Linux SMB client utility editreg.c 
-   Copyright (C) 2002 Richard Sharpe, rsharpe@richardsharpe.com
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-/*************************************************************************
-                                                       
- A utility to edit a Windows NT/2K etc registry file.
-                                     
- Many of the ideas in here come from other people and software. 
- I first looked in Wine in misc/registry.c and was also influenced by
- http://www.wednesday.demon.co.uk/dosreg.html
-
- Which seems to contain comments from someone else. I reproduce them here
- incase the site above disappears. It actually comes from 
- http://home.eunet.no/~pnordahl/ntpasswd/WinReg.txt. 
-
- The goal here is to read the registry into memory, manipulate it, and then
- write it out if it was changed by any actions of the user.
-
-The windows NT registry has 2 different blocks, where one can occur many
-times...
-
-the "regf"-Block
-================
-"regf" is obviosly the abbreviation for "Registry file". "regf" is the
-signature of the header-block which is always 4kb in size, although only
-the first 64 bytes seem to be used and a checksum is calculated over
-the first 0x200 bytes only!
-
-Offset            Size      Contents
-0x00000000      D-Word      ID: ASCII-"regf" = 0x66676572
-0x00000004      D-Word      ???? //see struct REGF
-0x00000008      D-Word      ???? Always the same value as at 0x00000004
-0x0000000C      Q-Word      last modify date in WinNT date-format
-0x00000014      D-Word      1
-0x00000018      D-Word      3
-0x0000001C      D-Word      0
-0x00000020      D-Word      1
-0x00000024      D-Word      Offset of 1st key record
-0x00000028      D-Word      Size of the data-blocks (Filesize-4kb)
-0x0000002C      D-Word      1
-0x000001FC      D-Word      Sum of all D-Words from 0x00000000 to
-0x000001FB  //XOR of all words. Nigel
-
-I have analyzed more registry files (from multiple machines running
-NT 4.0 german version) and could not find an explanation for the values
-marked with ???? the rest of the first 4kb page is not important...
-
-the "hbin"-Block
-================
-I don't know what "hbin" stands for, but this block is always a multiple
-of 4kb in size.
-
-Inside these hbin-blocks the different records are placed. The memory-
-management looks like a C-compiler heap management to me...
-
-hbin-Header
-===========
-Offset      Size      Contents
-0x0000      D-Word      ID: ASCII-"hbin" = 0x6E696268
-0x0004      D-Word      Offset from the 1st hbin-Block
-0x0008      D-Word      Offset to the next hbin-Block
-0x001C      D-Word      Block-size
-
-The values in 0x0008 and 0x001C should be the same, so I don't know
-if they are correct or swapped...
-
-From offset 0x0020 inside a hbin-block data is stored with the following
-format:
-
-Offset      Size      Contents
-0x0000      D-Word      Data-block size    //this size must be a
-multiple of 8. Nigel
-0x0004      ????      Data
-If the size field is negative (bit 31 set), the corresponding block
-is free and has a size of -blocksize!
-
-That does not seem to be true. All block lengths seem to be negative! (Richard Sharpe) 
-
-The data is stored as one record per block. Block size is a multiple
-of 4 and the last block reaches the next hbin-block, leaving no room.
-
-Records in the hbin-blocks
-==========================
-
-nk-Record
-
-      The nk-record can be treated as a kombination of tree-record and
-      key-record of the win 95 registry.
-
-lf-Record
-
-      The lf-record is the counterpart to the RGKN-record (the
-      hash-function)
-
-vk-Record
-
-      The vk-record consists information to a single value.
-
-sk-Record
-
-      sk (? Security Key ?) is the ACL of the registry.
-
-Value-Lists
-
-      The value-lists contain information about which values are inside a
-      sub-key and don't have a header.
-
-Datas
-
-      The datas of the registry are (like the value-list) stored without a
-      header.
-
-All offset-values are relative to the first hbin-block and point to the
-block-size field of the record-entry. to get the file offset, you have to add
-the header size (4kb) and the size field (4 bytes)...
-
-the nk-Record
-=============
-Offset      Size      Contents
-0x0000      Word      ID: ASCII-"nk" = 0x6B6E
-0x0002      Word      for the root-key: 0x2C, otherwise 0x20  //key symbolic links 0x10. Nigel
-0x0004      Q-Word      write-date/time in windows nt notation
-0x0010      D-Word      Offset of Owner/Parent key
-0x0014      D-Word      number of sub-Keys
-0x001C      D-Word      Offset of the sub-key lf-Records
-0x0024      D-Word      number of values
-0x0028      D-Word      Offset of the Value-List
-0x002C      D-Word      Offset of the sk-Record
-
-0x0030      D-Word      Offset of the Class-Name //see NK structure for the use of these fields. Nigel
-0x0044      D-Word      Unused (data-trash)  //some kind of run time index. Does not appear to be important. Nigel
-0x0048      Word      name-length
-0x004A      Word      class-name length
-0x004C      ????      key-name
-
-the Value-List
-==============
-Offset      Size      Contents
-0x0000      D-Word      Offset 1st Value
-0x0004      D-Word      Offset 2nd Value
-0x????      D-Word      Offset nth Value
-
-To determine the number of values, you have to look at the owner-nk-record!
-
-Der vk-Record
-=============
-Offset      Size      Contents
-0x0000      Word      ID: ASCII-"vk" = 0x6B76
-0x0002      Word      name length
-0x0004      D-Word      length of the data   //if top bit is set when offset contains data. Nigel
-0x0008      D-Word      Offset of Data
-0x000C      D-Word      Type of value
-0x0010      Word      Flag
-0x0012      Word      Unused (data-trash)
-0x0014      ????      Name
-
-If bit 0 of the flag-word is set, a name is present, otherwise the value has no name (=default)
-
-If the data-size is lower 5, the data-offset value is used to store the data itself!
-
-The data-types
-==============
-Wert      Beteutung
-0x0001      RegSZ:             character string (in UNICODE!)
-0x0002      ExpandSZ:   string with "%var%" expanding (UNICODE!)
-0x0003      RegBin:           raw-binary value
-0x0004      RegDWord:   Dword
-0x0007      RegMultiSZ:      multiple strings, seperated with 0
-                  (UNICODE!)
-
-The "lf"-record
-===============
-Offset      Size      Contents
-0x0000      Word      ID: ASCII-"lf" = 0x666C
-0x0002      Word      number of keys
-0x0004      ????      Hash-Records
-
-Hash-Record
-===========
-Offset      Size      Contents
-0x0000      D-Word      Offset of corresponding "nk"-Record
-0x0004      D-Word      ASCII: the first 4 characters of the key-name, padded with 0's. Case sensitiv!
-
-Keep in mind, that the value at 0x0004 is used for checking the data-consistency! If you change the 
-key-name you have to change the hash-value too!
-
-//These hashrecords must be sorted low to high within the lf record. Nigel.
-
-The "sk"-block
-==============
-(due to the complexity of the SAM-info, not clear jet)
-(This is just a security descriptor in the data. R Sharpe.) 
-
-
-Offset      Size      Contents
-0x0000      Word      ID: ASCII-"sk" = 0x6B73
-0x0002      Word      Unused
-0x0004      D-Word      Offset of previous "sk"-Record
-0x0008      D-Word      Offset of next "sk"-Record
-0x000C      D-Word      usage-counter
-0x0010      D-Word      Size of "sk"-record in bytes
-????                                             //standard self
-relative security desciptor. Nigel
-????  ????      Security and auditing settings...
-????
-
-The usage counter counts the number of references to this
-"sk"-record. You can use one "sk"-record for the entire registry!
-
-Windows nt date/time format
-===========================
-The time-format is a 64-bit integer which is incremented every
-0,0000001 seconds by 1 (I don't know how accurate it realy is!)
-It starts with 0 at the 1st of january 1601 0:00! All values are
-stored in GMT time! The time-zone is important to get the real
-time!
-
-Common values for win95 and win-nt
-==================================
-Offset values marking an "end of list", are either 0 or -1 (0xFFFFFFFF).
-If a value has no name (length=0, flag(bit 0)=0), it is treated as the
-"Default" entry...
-If a value has no data (length=0), it is displayed as empty.
-
-simplyfied win-3.?? registry:
-=============================
-
-+-----------+
-| next rec. |---+                      +----->+------------+
-| first sub |   |                      |      | Usage cnt. |
-| name      |   |  +-->+------------+  |      | length     |
-| value     |   |  |   | next rec.  |  |      | text       |------->+-------+
-+-----------+   |  |   | name rec.  |--+      +------------+        | xxxxx |
-   +------------+  |   | value rec. |-------->+------------+        +-------+
-   v               |   +------------+         | Usage cnt. |
-+-----------+      |                          | length     |
-| next rec. |      |                          | text       |------->+-------+
-| first sub |------+                          +------------+        | xxxxx |
-| name      |                                                       +-------+
-| value     |
-+-----------+    
-
-Greatly simplyfied structure of the nt-registry:
-================================================
-   
-+---------------------------------------------------------------+
-|                                                               |
-v                                                               |
-+---------+     +---------->+-----------+  +----->+---------+   |
-| "nk"    |     |           | lf-rec.   |  |      | nk-rec. |   |
-| ID      |     |           | # of keys |  |      | parent  |---+
-| Date    |     |           | 1st key   |--+      | ....    |
-| parent  |     |           +-----------+         +---------+
-| suk-keys|-----+
-| values  |--------------------->+----------+
-| SK-rec. |---------------+      | 1. value |--> +----------+
-| class   |--+            |      +----------+    | vk-rec.  |
-+---------+  |            |                      | ....     |
-             v            |                      | data     |--> +-------+
-      +------------+      |                      +----------+    | xxxxx |
-      | Class name |      |                                      +-------+
-      +------------+      |
-                          v
-          +---------+    +---------+
-   +----->| next sk |--->| Next sk |--+
-   |  +---| prev sk |<---| prev sk |  |
-   |  |   | ....    |    | ...     |  |
-   |  |   +---------+    +---------+  |
-   |  |                    ^          |
-   |  |                    |          |
-   |  +--------------------+          |
-   +----------------------------------+
-
----------------------------------------------------------------------------
-
-Hope this helps....  (Although it was "fun" for me to uncover this things,
-                  it took me several sleepless nights ;)
-
-            B.D.
-
-*************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <assert.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <string.h>
-#include <fcntl.h>
-
-static int verbose = 0;
-
-/* 
- * These definitions are for the in-memory registry structure.
- * It is a tree structure that mimics what you see with tools like regedit
- */
-
-/*
- * DateTime struct for Windows
- */
-
-typedef struct date_time_s {
-  unsigned int low, high;
-} NTTIME;
-
-/*
- * Definition of a Key. It has a name, classname, date/time last modified,
- * sub-keys, values, and a security descriptor
- */
-
-#define REG_ROOT_KEY 1
-#define REG_SUB_KEY  2
-#define REG_SYM_LINK 3
-
-typedef struct reg_key_s {
-  char *name;         /* Name of the key                    */
-  char *class_name;
-  int type;           /* One of REG_ROOT_KEY or REG_SUB_KEY */
-  NTTIME last_mod; /* Time last modified                 */
-  struct reg_key_s *owner;
-  struct key_list_s *sub_keys;
-  struct val_list_s *values;
-  struct key_sec_desc_s *security;
-} REG_KEY;
-
-/*
- * The KEY_LIST struct lists sub-keys.
- */
-
-typedef struct key_list_s {
-  int key_count;
-  REG_KEY *keys[1];
-} KEY_LIST;
-
-typedef struct val_key_s {
-  char *name;
-  int has_name;
-  int data_type;
-  int data_len;
-  void *data_blk;    /* Might want a separate block */
-} VAL_KEY;
-
-typedef struct val_list_s {
-  int val_count;
-  VAL_KEY *vals[1];
-} VAL_LIST;
-
-#ifndef MAXSUBAUTHS
-#define MAXSUBAUTHS 15
-#endif
-
-typedef struct dom_sid_s {
-  unsigned char ver, auths;
-  unsigned char auth[6];
-  unsigned int sub_auths[MAXSUBAUTHS];
-} DOM_SID;
-
-typedef struct ace_struct_s {
-  unsigned char type, flags;
-  unsigned int perms;   /* Perhaps a better def is in order */
-  DOM_SID *trustee;
-} ACE; 
-
-typedef struct acl_struct_s {
-  unsigned short rev, refcnt;
-  unsigned short num_aces;
-  ACE *aces[1];
-} ACL;
-
-typedef struct sec_desc_s {
-  unsigned int rev, type;
-  DOM_SID *owner, *group;
-  ACL *sacl, *dacl;
-} SEC_DESC;
-
-#define SEC_DESC_NON 0
-#define SEC_DESC_RES 1
-#define SEC_DESC_OCU 2
-
-typedef struct key_sec_desc_s {
-  struct key_sec_desc_s *prev, *next;
-  int ref_cnt;
-  int state;
-  SEC_DESC *sec_desc;
-} KEY_SEC_DESC; 
-
-
-/*
- * An API for accessing/creating/destroying items above
- */
-
-/*
- * Iterate over the keys, depth first, calling a function for each key
- * and indicating if it is terminal or non-terminal and if it has values.
- *
- * In addition, for each value in the list, call a value list function
- */
-
-/*
- * There should eventually be one to deal with security keys as well
- */
-
-typedef int (*key_print_f)(const char *path, char *key_name, char *class_name, 
-                          int root, int terminal, int values);
-
-typedef int (*val_print_f)(const char *path, char *val_name, int val_type, 
-                          int data_len, void *data_blk, int terminal,
-                          int first, int last);
-
-typedef int (*sec_print_f)(SEC_DESC *sec_desc);
-
-typedef struct regf_struct_s REGF;
-
-int nt_key_iterator(REGF *regf, REG_KEY *key_tree, int bf, const char *path, 
-                   key_print_f key_print, sec_print_f sec_print,
-                   val_print_f val_print);
-
-int nt_val_list_iterator(REGF *regf, VAL_LIST *val_list, int bf, char *path,
-                        int terminal, val_print_f val_print)
-{
-  int i;
-
-  if (!val_list) return 1;
-
-  if (!val_print) return 1;
-
-  for (i=0; i<val_list->val_count; i++) {
-    if (!val_print(path, val_list->vals[i]->name, val_list->vals[i]->data_type,
-                  val_list->vals[i]->data_len, val_list->vals[i]->data_blk,
-                  terminal,
-                  (i == 0),
-                  (i == val_list->val_count))) {
-
-      return 0;
-
-    }
-  }
-
-  return 1;
-}
-
-int nt_key_list_iterator(REGF *regf, KEY_LIST *key_list, int bf, 
-                        const char *path,
-                        key_print_f key_print, sec_print_f sec_print, 
-                        val_print_f val_print)
-{
-  int i;
-
-  if (!key_list) return 1;
-
-  for (i=0; i< key_list->key_count; i++) {
-    if (!nt_key_iterator(regf, key_list->keys[i], bf, path, key_print, 
-                        sec_print, val_print)) {
-      return 0;
-    }
-  }
-  return 1;
-}
-
-int nt_key_iterator(REGF *regf, REG_KEY *key_tree, int bf, const char *path,
-                   key_print_f key_print, sec_print_f sec_print,
-                   val_print_f val_print)
-{
-  int path_len = strlen(path);
-  char *new_path;
-
-  if (!regf || !key_tree)
-    return -1;
-
-  /* List the key first, then the values, then the sub-keys */
-
-  if (key_print) {
-
-    if (!(*key_print)(path, key_tree->name, 
-                     key_tree->class_name, 
-                     (key_tree->type == REG_ROOT_KEY),
-                     (key_tree->sub_keys == NULL),
-                     (key_tree->values?(key_tree->values->val_count):0)))
-      return 0;
-  }
-
-  /*
-   * If we have a security print routine, call it
-   * If the security print routine returns false, stop.
-   */
-  if (sec_print) {
-    if (key_tree->security && !(*sec_print)(key_tree->security->sec_desc))
-      return 0;
-  }
-
-  new_path = (char *)malloc(path_len + 1 + strlen(key_tree->name) + 1);
-  if (!new_path) return 0; /* Errors? */
-  new_path[0] = '\0';
-  strcat(new_path, path);
-  strcat(new_path, "\\");
-  strcat(new_path, key_tree->name);
-
-  /*
-   * Now, iterate through the values in the val_list 
-   */
-
-  if (key_tree->values &&
-      !nt_val_list_iterator(regf, key_tree->values, bf, new_path, 
-                           (key_tree->values!=NULL),
-                           val_print)) {
-
-    free(new_path);
-    return 0;
-  } 
-
-  /* 
-   * Now, iterate through the keys in the key list
-   */
-
-  if (key_tree->sub_keys && 
-      !nt_key_list_iterator(regf, key_tree->sub_keys, bf, new_path, key_print, 
-                           sec_print, val_print)) {
-    free(new_path);
-    return 0;
-  } 
-
-  free(new_path);
-  return 1;
-}
-
-/* Make, delete keys */
-
-int nt_delete_val_key(VAL_KEY *val_key)
-{
-
-  if (val_key) {
-    if (val_key->data_blk) free(val_key->data_blk);
-    free(val_key);
-  };
-  return 1;
-}
-
-int nt_delete_val_list(VAL_LIST *vl)
-{
-  int i;
-
-  if (vl) {
-    for (i=0; i<vl->val_count; i++)
-      nt_delete_val_key(vl->vals[i]);
-    free(vl);
-  }
-  return 1;
-}
-
-int nt_delete_reg_key(REG_KEY *key);
-int nt_delete_key_list(KEY_LIST *key_list)
-{
-  int i;
-
-  if (key_list) {
-    for (i=0; i<key_list->key_count; i++) 
-      nt_delete_reg_key(key_list->keys[i]);
-    free(key_list);
-  }
-  return 1;
-}
-
-int nt_delete_sid(DOM_SID *sid)
-{
-
-  if (sid) free(sid);
-  return 1;
-
-}
-
-int nt_delete_ace(ACE *ace)
-{
-
-  if (ace) {
-    nt_delete_sid(ace->trustee);
-    free(ace);
-  }
-  return 1;
-
-}
-
-int nt_delete_acl(ACL *acl)
-{
-
-  if (acl) {
-    int i;
-
-    for (i=0; i<acl->num_aces; i++)
-      nt_delete_ace(acl->aces[i]);
-
-    free(acl);
-  }
-  return 1;
-}
-
-int nt_delete_sec_desc(SEC_DESC *sec_desc)
-{
-
-  if (sec_desc) {
-
-    nt_delete_sid(sec_desc->owner);
-    nt_delete_sid(sec_desc->group);
-    nt_delete_acl(sec_desc->sacl);
-    nt_delete_acl(sec_desc->dacl);
-    free(sec_desc);
-
-  }
-  return 1;
-}
-
-int nt_delete_key_sec_desc(KEY_SEC_DESC *key_sec_desc)
-{
-
-  if (key_sec_desc) {
-    key_sec_desc->ref_cnt--;
-    if (key_sec_desc->ref_cnt<=0) {
-      /*
-       * There should always be a next and prev, even if they point to us 
-       */
-      key_sec_desc->next->prev = key_sec_desc->prev;
-      key_sec_desc->prev->next = key_sec_desc->next;
-      nt_delete_sec_desc(key_sec_desc->sec_desc);
-    }
-  }
-  return 1;
-}
-
-int nt_delete_reg_key(REG_KEY *key)
-{
-
-  if (key) {
-    if (key->name) free(key->name);
-    if (key->class_name) free(key->class_name);
-
-    /*
-     * Do not delete the owner ...
-     */
-
-    if (key->sub_keys) nt_delete_key_list(key->sub_keys);
-    if (key->values) nt_delete_val_list(key->values);
-    if (key->security) nt_delete_key_sec_desc(key->security);
-    free(key);
-  }
-  return 1;
-}
-
-/* 
- * Create/delete key lists and add delete keys to/from a list, count the keys 
- */
-
-
-/*
- * Create/delete value lists, add/delete values, count them
- */
-
-
-/*
- * Create/delete security descriptors, add/delete SIDS, count SIDS, etc.
- * We reference count the security descriptors. Any new reference increments 
- * the ref count. If we modify an SD, we copy the old one, dec the ref count
- * and make the change. We also want to be able to check for equality so
- * we can reduce the number of SDs in use.
- */
-
-/*
- * Code to parse registry specification from command line or files
- *
- * Format:
- * [cmd:]key:type:value
- *
- * cmd = a|d|c|add|delete|change|as|ds|cs
- *
- */
-
-
-/*
- * Load and unload a registry file.
- *
- * Load, loads it into memory as a tree, while unload sealizes/flattens it
- */
-
-/*
- * Get the starting record for NT Registry file 
- */
-
-/* A map of sk offsets in the regf to KEY_SEC_DESCs for quick lookup etc */
-typedef struct sk_map_s {
-  int sk_off;
-  KEY_SEC_DESC *key_sec_desc;
-} SK_MAP;
-
-/* 
- * Where we keep all the regf stuff for one registry.
- * This is the structure that we use to tie the in memory tree etc 
- * together. By keeping separate structs, we can operate on different
- * registries at the same time.
- * Currently, the SK_MAP is an array of mapping structure.
- * Since we only need this on input and output, we fill in the structure
- * as we go on input. On output, we know how many SK items we have, so
- * we can allocate the structure as we need to.
- * If you add stuff here that is dynamically allocated, add the 
- * appropriate free statements below.
- */
-
-#define REGF_REGTYPE_NONE 0
-#define REGF_REGTYPE_NT   1
-#define REGF_REGTYPE_W9X  2
-
-#define TTTONTTIME(r, t1, t2) (r)->last_mod_time.low = (t1); \
-                              (r)->last_mod_time.high = (t2);
-
-#define REGF_HDR_BLKSIZ 0x1000 
-
-struct regf_struct_s {
-  int reg_type;
-  char *regfile_name, *outfile_name;
-  int fd;
-  struct stat sbuf;
-  char *base;
-  int modified;
-  NTTIME last_mod_time;
-  REG_KEY *root;  /* Root of the tree for this file */
-  int sk_count, sk_map_size;
-  SK_MAP *sk_map;
-};
-
-/*
- * Structures for dealing with the on-disk format of the registry
- */
-
-#define IVAL(buf) ((unsigned int) \
-                   (unsigned int)*((unsigned char *)(buf)+3)<<24| \
-                   (unsigned int)*((unsigned char *)(buf)+2)<<16| \
-                   (unsigned int)*((unsigned char *)(buf)+1)<<8| \
-                   (unsigned int)*((unsigned char *)(buf)+0)) 
-
-#define SVAL(buf) ((unsigned short) \
-                   (unsigned short)*((unsigned char *)(buf)+1)<<8| \
-                   (unsigned short)*((unsigned char *)(buf)+0)) 
-
-#define CVAL(buf) ((unsigned char)*((unsigned char *)(buf)))
-
-#define OFF(f) ((f) + REGF_HDR_BLKSIZ + 4) 
-#define LOCN(base, f) ((base) + OFF(f))
-
-/* 
- * All of the structures below actually have a four-byte lenght before them
- * which always seems to be negative. The following macro retrieves that
- * size as an integer
- */
-
-#define BLK_SIZE(b) ((int)*(int *)(((int *)b)-1))
-
-typedef unsigned int DWORD;
-typedef unsigned short WORD;
-
-#define REG_REGF_ID 0x66676572
-
-typedef struct regf_block {
-  DWORD REGF_ID;     /* regf */
-  DWORD uk1;
-  DWORD uk2;
-  DWORD tim1, tim2;
-  DWORD uk3;             /* 1 */
-  DWORD uk4;             /* 3 */
-  DWORD uk5;             /* 0 */
-  DWORD uk6;             /* 1 */
-  DWORD first_key;       /* offset */
-  unsigned int dblk_size;
-  DWORD uk7[116];        /* 1 */
-  DWORD chksum;
-} REGF_HDR;
-
-typedef struct hbin_sub_struct {
-  DWORD dblocksize;
-  char data[1];
-} HBIN_SUB_HDR;
-
-#define REG_HBIN_ID 0x6E696268
-
-typedef struct hbin_struct {
-  DWORD HBIN_ID; /* hbin */
-  DWORD next_off;
-  DWORD prev_off;
-  DWORD uk1;
-  DWORD uk2;
-  DWORD uk3;
-  DWORD uk4;
-  DWORD blk_size;
-  HBIN_SUB_HDR hbin_sub_hdr;
-} HBIN_HDR;
-
-#define REG_NK_ID 0x6B6E
-
-typedef struct nk_struct {
-  WORD NK_ID;
-  WORD type;
-  DWORD t1, t2;
-  DWORD uk1;
-  DWORD own_off;
-  DWORD subk_num;
-  DWORD uk2;
-  DWORD lf_off;
-  DWORD uk3;
-  DWORD val_cnt;
-  DWORD val_off;
-  DWORD sk_off;
-  DWORD clsnam_off;
-  DWORD unk4[4];
-  DWORD unk5;
-  WORD nam_len;
-  WORD clsnam_len;
-  char key_nam[1];  /* Actual length determined by nam_len */
-} NK_HDR;
-
-#define REG_SK_ID 0x6B73
-
-typedef struct sk_struct {
-  WORD SK_ID;
-  WORD uk1;
-  DWORD prev_off;
-  DWORD next_off;
-  DWORD ref_cnt;
-  DWORD rec_size;
-  char sec_desc[1];
-} SK_HDR;
-
-typedef struct ace_struct {
-    unsigned char type;
-    unsigned char flags;
-    unsigned short length;
-    unsigned int perms;
-    DOM_SID trustee;
-} REG_ACE;
-
-typedef struct acl_struct {
-  WORD rev;
-  WORD size;
-  DWORD num_aces;
-  REG_ACE *aces;   /* One or more ACEs */
-} REG_ACL;
-
-typedef struct sec_desc_rec {
-  WORD rev;
-  WORD type;
-  DWORD owner_off;
-  DWORD group_off;
-  DWORD sacl_off;
-  DWORD dacl_off;
-} REG_SEC_DESC;
-
-typedef struct hash_struct {
-  DWORD nk_off;
-  char hash[4];
-} HASH_REC;
-
-#define REG_LF_ID 0x666C
-
-typedef struct lf_struct {
-  WORD LF_ID;
-  WORD key_count;
-  struct hash_struct hr[1];  /* Array of hash records, depending on key_count */
-} LF_HDR;
-
-typedef DWORD VL_TYPE[1];  /* Value list is an array of vk rec offsets */
-
-#define REG_VK_ID 0x6B76
-
-typedef struct vk_struct {
-  WORD VK_ID;
-  WORD nam_len;
-  DWORD dat_len;    /* If top-bit set, offset contains the data */
-  DWORD dat_off;   
-  DWORD dat_type;
-  WORD flag;        /* =1, has name, else no name (=Default). */
-  WORD unk1;
-  char dat_name[1]; /* Name starts here ... */
-} VK_HDR;
-
-#define REG_TYPE_REGSZ     1
-#define REG_TYPE_EXPANDSZ  2
-#define REG_TYPE_BIN       3  
-#define REG_TYPE_DWORD     4
-#define REG_TYPE_MULTISZ   7
-
-typedef struct _val_str { 
-  unsigned int val;
-  const char * str;
-} VAL_STR;
-
-const VAL_STR reg_type_names[] = {
-   { 1, "REG_SZ" },
-   { 2, "REG_EXPAND_SZ" },
-   { 3, "REG_BIN" },
-   { 4, "REG_DWORD" },
-   { 7, "REG_MULTI_SZ" },
-   { 0, NULL },
-};
-
-const char *val_to_str(unsigned int val, const VAL_STR *val_array)
-{
-  int i = 0;
-
-  if (!val_array) return NULL;
-
-  while (val_array[i].val && val_array[i].str) {
-
-    if (val_array[i].val == val) return val_array[i].str;
-    i++;
-
-  }
-
-  return NULL;
-
-}
-
-/*
- * Convert from UniCode to Ascii ... Does not take into account other lang
- * Restrict by ascii_max if > 0
- */
-int uni_to_ascii(unsigned char *uni, unsigned char *ascii, int ascii_max, 
-                int uni_max)
-{
-  int i = 0; 
-
-  while (i < ascii_max && !(!uni[i*2] && !uni[i*2+1])) {
-    if (uni_max > 0 && (i*2) >= uni_max) break;
-    ascii[i] = uni[i*2];
-    i++;
-
-  }
-
-  ascii[i] = '\0';
-
-  return i;
-}
-
-/*
- * Convert a data value to a string for display
- */
-int data_to_ascii(unsigned char *datap, int len, int type, char *ascii, int ascii_max)
-{ 
-  unsigned char *asciip;
-  int i;
-
-  switch (type) {
-  case REG_TYPE_REGSZ:
-    fprintf(stderr, "Len: %d\n", len);
-    return uni_to_ascii(datap, ascii, len, ascii_max);
-    break;
-
-  case REG_TYPE_EXPANDSZ:
-    return uni_to_ascii(datap, ascii, len, ascii_max);
-    break;
-
-  case REG_TYPE_BIN:
-    asciip = ascii;
-    for (i=0; (i<len)&&(i+1)*3<ascii_max; i++) { 
-      int str_rem = ascii_max - ((int)asciip - (int)ascii);
-      asciip += snprintf(asciip, str_rem, "%02x", *(unsigned char *)(datap+i));
-      if (i < len && str_rem > 0)
-       *asciip = ' '; asciip++;        
-    }
-    *asciip = '\0';
-    return ((int)asciip - (int)ascii);
-    break;
-
-  case REG_TYPE_DWORD:
-    if (*(int *)datap == 0)
-      return snprintf(ascii, ascii_max, "0");
-    else
-      return snprintf(ascii, ascii_max, "0x%x", *(int *)datap);
-    break;
-
-  case REG_TYPE_MULTISZ:
-
-    break;
-
-  default:
-    return 0;
-    break;
-  } 
-
-  return len;
-
-}
-
-REG_KEY *nt_get_key_tree(REGF *regf, NK_HDR *nk_hdr, int size);
-
-int nt_set_regf_input_file(REGF *regf, char *filename)
-{
-  return ((regf->regfile_name = strdup(filename)) != NULL); 
-}
-
-int nt_set_regf_output_file(REGF *regf, char *filename)
-{
-  return ((regf->outfile_name = strdup(filename)) != NULL); 
-}
-
-/* Create a regf structure and init it */
-
-REGF *nt_create_regf(void)
-{
-  REGF *tmp = (REGF *)malloc(sizeof(REGF));
-  if (!tmp) return tmp;
-  bzero(tmp, sizeof(REGF));
-  return tmp;
-} 
-
-/* Free all the bits and pieces ... Assumes regf was malloc'd */
-/* If you add stuff to REGF, add the relevant free bits here  */
-int nt_free_regf(REGF *regf)
-{
-  if (!regf) return 0;
-
-  if (regf->regfile_name) free(regf->regfile_name);
-  if (regf->outfile_name) free(regf->outfile_name);
-
-  /* Free the mmap'd area */
-
-  if (regf->base) munmap(regf->base, regf->sbuf.st_size);
-  regf->base = NULL;
-  close(regf->fd);    /* Ignore the error :-) */
-
-  nt_delete_reg_key(regf->root); /* Free the tree */
-  free(regf->sk_map);
-  regf->sk_count = regf->sk_map_size = 0;
-
-  free(regf);
-
-  return 1;
-}
-
-/* Get the header of the registry. Return a pointer to the structure 
- * If the mmap'd area has not been allocated, then mmap the input file
- */
-REGF_HDR *nt_get_regf_hdr(REGF *regf)
-{
-  if (!regf)
-    return NULL; /* What about errors */
-
-  if (!regf->regfile_name)
-    return NULL; /* What about errors */
-
-  if (!regf->base) { /* Try to mmap etc the file */
-
-    if ((regf->fd = open(regf->regfile_name, O_RDONLY, 0000)) <0) {
-      return NULL; /* What about errors? */
-    }
-
-    if (fstat(regf->fd, &regf->sbuf) < 0) {
-      return NULL;
-    }
-
-    regf->base = mmap(0, regf->sbuf.st_size, PROT_READ, MAP_SHARED, regf->fd, 0);
-
-    if ((int)regf->base == 1) {
-      fprintf(stderr, "Could not mmap file: %s, %s\n", regf->regfile_name,
-             strerror(errno));
-      return NULL;
-    }
-  }
-
-  /* 
-   * At this point, regf->base != NULL, and we should be able to read the 
-   * header 
-   */
-
-  assert(regf->base != NULL);
-
-  return (REGF_HDR *)regf->base;
-}
-
-/*
- * Validate a regf header
- * For now, do nothing, but we should check the checksum
- */
-int valid_regf_hdr(REGF_HDR *regf_hdr)
-{
-  if (!regf_hdr) return 0;
-
-  return 1;
-}
-
-/*
- * Process an SK header ...
- * Every time we see a new one, add it to the map. Otherwise, just look it up.
- * We will do a simple linear search for the moment, since many KEYs have the 
- * same security descriptor. 
- * We allocate the map in increments of 10 entries.
- */
-
-/*
- * Create a new entry in the map, and increase the size of the map if needed
- */
-
-SK_MAP *alloc_sk_map_entry(REGF *regf, KEY_SEC_DESC *tmp, int sk_off)
-{
- if (!regf->sk_map) { /* Allocate a block of 10 */
-    regf->sk_map = (SK_MAP *)malloc(sizeof(SK_MAP) * 10);
-    if (!regf->sk_map) {
-      free(tmp);
-      return NULL;
-    }
-    regf->sk_map_size = 10;
-    regf->sk_count = 1;
-    (regf->sk_map)[0].sk_off = sk_off;
-    (regf->sk_map)[0].key_sec_desc = tmp;
-  }
-  else { /* Simply allocate a new slot, unless we have to expand the list */ 
-    int ndx = regf->sk_count;
-    if (regf->sk_count >= regf->sk_map_size) {
-      regf->sk_map = (SK_MAP *)realloc(regf->sk_map, 
-                                      (regf->sk_map_size + 10)*sizeof(SK_MAP));
-      if (!regf->sk_map) {
-       free(tmp);
-       return NULL;
-      }
-      /*
-       * ndx already points at the first entry of the new block
-       */
-      regf->sk_map_size += 10;
-    }
-    (regf->sk_map)[ndx].sk_off = sk_off;
-    (regf->sk_map)[ndx].key_sec_desc = tmp;
-    regf->sk_count++;
-  }
- return regf->sk_map;
-}
-
-/*
- * Search for a KEY_SEC_DESC in the sk_map, but dont create one if not
- * found
- */
-
-KEY_SEC_DESC *lookup_sec_key(SK_MAP *sk_map, int count, int sk_off)
-{
-  int i;
-
-  if (!sk_map) return NULL;
-
-  for (i = 0; i < count; i++) {
-
-    if (sk_map[i].sk_off == sk_off)
-      return sk_map[i].key_sec_desc;
-
-  }
-
-  return NULL;
-
-}
-
-/*
- * Allocate a KEY_SEC_DESC if we can't find one in the map
- */
-
-KEY_SEC_DESC *lookup_create_sec_key(REGF *regf, SK_MAP *sk_map, int sk_off)
-{
-  KEY_SEC_DESC *tmp = lookup_sec_key(regf->sk_map, regf->sk_count, sk_off);
-
-  if (tmp) {
-    return tmp;
-  }
-  else { /* Allocate a new one */
-    tmp = (KEY_SEC_DESC *)malloc(sizeof(KEY_SEC_DESC));
-    if (!tmp) {
-      return NULL;
-    }
-    tmp->state = SEC_DESC_RES;
-    if (!alloc_sk_map_entry(regf, tmp, sk_off)) {
-      return NULL;
-    }
-    return tmp;
-  }
-}
-
-/*
- * Allocate storage and duplicate a SID 
- * We could allocate the SID to be only the size needed, but I am too lazy. 
- */
-DOM_SID *dup_sid(DOM_SID *sid)
-{
-  DOM_SID *tmp = (DOM_SID *)malloc(sizeof(DOM_SID));
-  int i;
-  
-  if (!tmp) return NULL;
-  tmp->ver = sid->ver;
-  tmp->auths = sid->auths;
-  for (i=0; i<6; i++) {
-    tmp->auth[i] = sid->auth[i];
-  }
-  for (i=0; i<tmp->auths&&i<MAXSUBAUTHS; i++) {
-    tmp->sub_auths[i] = sid->sub_auths[i];
-  }
-  return tmp;
-}
-
-/*
- * Allocate space for an ACE and duplicate the registry encoded one passed in
- */
-ACE *dup_ace(REG_ACE *ace)
-{
-  ACE *tmp = NULL; 
-
-  tmp = (ACE *)malloc(sizeof(ACE));
-
-  if (!tmp) return NULL;
-
-  tmp->type = CVAL(&ace->type);
-  tmp->flags = CVAL(&ace->flags);
-  tmp->perms = IVAL(&ace->perms);
-  tmp->trustee = dup_sid(&ace->trustee);
-  return tmp;
-}
-
-/*
- * Allocate space for an ACL and duplicate the registry encoded one passed in 
- */
-ACL *dup_acl(REG_ACL *acl)
-{
-  ACL *tmp = NULL;
-  REG_ACE* ace;
-  int i, num_aces;
-
-  num_aces = IVAL(&acl->num_aces);
-
-  tmp = (ACL *)malloc(sizeof(ACL) + (num_aces - 1)*sizeof(ACE *));
-  if (!tmp) return NULL;
-
-  tmp->num_aces = num_aces;
-  tmp->refcnt = 1;
-  tmp->rev = SVAL(&acl->rev);
-  ace = (REG_ACE *)&acl->aces;
-  for (i=0; i<num_aces; i++) {
-    tmp->aces[i] = dup_ace(ace);
-    ace = (REG_ACE *)((char *)ace + SVAL(&ace->length));
-    /* XXX: FIXME, should handle malloc errors */
-  }
-
-  return tmp;
-}
-
-SEC_DESC *process_sec_desc(REGF *regf, REG_SEC_DESC *sec_desc)
-{
-  SEC_DESC *tmp = NULL;
-  
-  tmp = (SEC_DESC *)malloc(sizeof(SEC_DESC));
-
-  if (!tmp) {
-    return NULL;
-  }
-  
-  tmp->rev = SVAL(&sec_desc->rev);
-  tmp->type = SVAL(&sec_desc->type);
-  tmp->owner = dup_sid((DOM_SID *)((char *)sec_desc + IVAL(&sec_desc->owner_off)));
-  if (!tmp->owner) {
-    free(tmp);
-    return NULL;
-  }
-  tmp->group = dup_sid((DOM_SID *)((char *)sec_desc + IVAL(&sec_desc->group_off)));
-  if (!tmp->group) {
-    free(tmp);
-    return NULL;
-  }
-
-  /* Now pick up the SACL and DACL */
-
-  if (sec_desc->sacl_off)
-    tmp->sacl = dup_acl((REG_ACL *)((char *)sec_desc + IVAL(&sec_desc->sacl_off)));
-  else
-    tmp->sacl = NULL;
-
-  if (sec_desc->dacl_off)
-    tmp->dacl = dup_acl((REG_ACL *)((char *)sec_desc + IVAL(&sec_desc->dacl_off)));
-  else
-    tmp->dacl = NULL;
-
-  return tmp;
-}
-
-KEY_SEC_DESC *process_sk(REGF *regf, SK_HDR *sk_hdr, int sk_off, int size)
-{
-  KEY_SEC_DESC *tmp = NULL;
-  int sk_next_off, sk_prev_off, sk_size;
-  REG_SEC_DESC *sec_desc;
-
-  if (!sk_hdr) return NULL;
-
-  if (SVAL(&sk_hdr->SK_ID) != REG_SK_ID) {
-    fprintf(stderr, "Unrecognized SK Header ID: %08X, %s\n", (int)sk_hdr,
-           regf->regfile_name);
-    return NULL;
-  }
-
-  if (-size < (sk_size = IVAL(&sk_hdr->rec_size))) {
-    fprintf(stderr, "Incorrect SK record size: %d vs %d. %s\n",
-           -size, sk_size, regf->regfile_name);
-    return NULL;
-  }
-
-  /* 
-   * Now, we need to look up the SK Record in the map, and return it
-   * Since the map contains the SK_OFF mapped to KEY_SEC_DESC, we can
-   * use that
-   */
-
-  if (regf->sk_map &&
-      ((tmp = lookup_sec_key(regf->sk_map, regf->sk_count, sk_off)) != NULL)
-      && (tmp->state == SEC_DESC_OCU)) {
-    tmp->ref_cnt++;
-    return tmp;
-  }
-
-  /* Here, we have an item in the map that has been reserved, or tmp==NULL. */
-
-  assert(tmp == NULL || (tmp && tmp->state != SEC_DESC_NON));
-
-  /*
-   * Now, allocate a KEY_SEC_DESC, and parse the structure here, and add the
-   * new KEY_SEC_DESC to the mapping structure, since the offset supplied is 
-   * the actual offset of structure. The same offset will be used by all
-   * all future references to this structure
-   * We chould put all this unpleasantness in a function.
-   */
-
-  if (!tmp) {
-    tmp = (KEY_SEC_DESC *)malloc(sizeof(KEY_SEC_DESC));
-    if (!tmp) return NULL;
-    bzero(tmp, sizeof(KEY_SEC_DESC));
-    
-    /*
-     * Allocate an entry in the SK_MAP ...
-     * We don't need to free tmp, because that is done for us if the
-     * sm_map entry can't be expanded when we need more space in the map.
-     */
-    
-    if (!alloc_sk_map_entry(regf, tmp, sk_off)) {
-      return NULL;
-    }
-  }
-
-  tmp->ref_cnt++;
-  tmp->state = SEC_DESC_OCU;
-
-  /*
-   * Now, process the actual sec desc and plug the values in
-   */
-
-  sec_desc = (REG_SEC_DESC *)&sk_hdr->sec_desc[0];
-  tmp->sec_desc = process_sec_desc(regf, sec_desc);
-
-  /*
-   * Now forward and back links. Here we allocate an entry in the sk_map
-   * if it does not exist, and mark it reserved
-   */
-
-  sk_prev_off = IVAL(&sk_hdr->prev_off);
-  tmp->prev = lookup_create_sec_key(regf, regf->sk_map, sk_prev_off);
-  assert(tmp->prev != NULL);
-  sk_next_off = IVAL(&sk_hdr->next_off);
-  tmp->next = lookup_create_sec_key(regf, regf->sk_map, sk_next_off);
-  assert(tmp->next != NULL);
-
-  return tmp;
-}
-
-/*
- * Process a VK header and return a value
- */
-VAL_KEY *process_vk(REGF *regf, VK_HDR *vk_hdr, int size)
-{
-  char val_name[1024];
-  int nam_len, dat_len, flag, dat_type, dat_off, vk_id;
-  const char *val_type;
-  VAL_KEY *tmp = NULL; 
-
-  if (!vk_hdr) return NULL;
-
-  if ((vk_id = SVAL(&vk_hdr->VK_ID)) != REG_VK_ID) {
-    fprintf(stderr, "Unrecognized VK header ID: %0X, block: %0X, %s\n",
-           vk_id, (int)vk_hdr, regf->regfile_name);
-    return NULL;
-  }
-
-  nam_len = SVAL(&vk_hdr->nam_len);
-  val_name[nam_len] = '\0';
-  flag = SVAL(&vk_hdr->flag);
-  dat_type = IVAL(&vk_hdr->dat_type);
-  dat_len = IVAL(&vk_hdr->dat_len);  /* If top bit, offset contains data */
-  dat_off = IVAL(&vk_hdr->dat_off);
-
-  tmp = (VAL_KEY *)malloc(sizeof(VAL_KEY));
-  if (!tmp) {
-    goto error;
-  }
-  bzero(tmp, sizeof(VAL_KEY));
-  tmp->has_name = flag;
-  tmp->data_type = dat_type;
-
-  if (flag & 0x01) {
-    strncpy(val_name, vk_hdr->dat_name, nam_len);
-    tmp->name = strdup(val_name);
-    if (!tmp->name) {
-      goto error;
-    }
-  }
-  else
-    strncpy(val_name, "<No Name>", 10);
-
-  /*
-   * Allocate space and copy the data as a BLOB
-   */
-
-  if (dat_len) {
-    
-    char *dtmp = (char *)malloc(dat_len&0x7FFFFFFF);
-    
-    if (!dtmp) {
-      goto error;
-    }
-
-    tmp->data_blk = dtmp;
-
-    if ((dat_len&0x80000000) == 0) { /* The data is pointed to by the offset */
-      char *dat_ptr = LOCN(regf->base, dat_off);
-      bcopy(dat_ptr, dtmp, dat_len);
-    }
-    else { /* The data is in the offset */
-      dat_len = dat_len & 0x7FFFFFFF;
-      bcopy(&dat_off, dtmp, dat_len);
-    }
-
-    tmp->data_len = dat_len;
-  }
-
-  val_type = val_to_str(dat_type, reg_type_names);
-
-  /*
-   * We need to save the data area as well
-   */
-
-  if (verbose) fprintf(stdout, "  %s : %s : \n", val_name, val_type);
-
-  return tmp;
-
- error:
-  /* XXX: FIXME, free the partially allocated struct */
-  return NULL;
-
-}
-
-/*
- * Process a VL Header and return a list of values
- */
-VAL_LIST *process_vl(REGF *regf, VL_TYPE vl, int count, int size)
-{
-  int i, vk_off;
-  VK_HDR *vk_hdr;
-  VAL_LIST *tmp = NULL;
-
-  if (!vl) return NULL;
-
-  if (-size < (count+1)*sizeof(int)){
-    fprintf(stderr, "Error in VL header format. Size less than space required. %d\n", -size);
-    return NULL;
-  }
-
-  tmp = (VAL_LIST *)malloc(sizeof(VAL_LIST) + (count - 1) * sizeof(VAL_KEY *));
-  if (!tmp) {
-    goto error;
-  }
-
-  for (i=0; i<count; i++) {
-    vk_off = IVAL(&vl[i]);
-    vk_hdr = (VK_HDR *)LOCN(regf->base, vk_off);
-    tmp->vals[i] = process_vk(regf, vk_hdr, BLK_SIZE(vk_hdr));
-    if (!tmp->vals[i]){
-      goto error;
-    }
-  }
-
-  tmp->val_count = count;
-
-  return tmp;
-
- error:
-  /* XXX: FIXME, free the partially allocated structure */
-  return NULL;
-} 
-
-/*
- * Process an LF Header and return a list of sub-keys
- */
-KEY_LIST *process_lf(REGF *regf, LF_HDR *lf_hdr, int size)
-{
-  int count, i, nk_off;
-  unsigned int lf_id;
-  KEY_LIST *tmp;
-
-  if (!lf_hdr) return NULL;
-
-  if ((lf_id = SVAL(&lf_hdr->LF_ID)) != REG_LF_ID) {
-    fprintf(stderr, "Unrecognized LF Header format: %0X, Block: %0X, %s.\n",
-           lf_id, (int)lf_hdr, regf->regfile_name);
-    return NULL;
-  }
-
-  assert(size < 0);
-
-  count = SVAL(&lf_hdr->key_count);
-
-  if (count <= 0) return NULL;
-
-  /* Now, we should allocate a KEY_LIST struct and fill it in ... */
-
-  tmp = (KEY_LIST *)malloc(sizeof(KEY_LIST) + (count - 1) * sizeof(REG_KEY *));
-  if (!tmp) {
-    goto error;
-  }
-
-  tmp->key_count = count;
-
-  for (i=0; i<count; i++) {
-    NK_HDR *nk_hdr;
-
-    nk_off = IVAL(&lf_hdr->hr[i].nk_off);
-    nk_hdr = (NK_HDR *)LOCN(regf->base, nk_off);
-    tmp->keys[i] = nt_get_key_tree(regf, nk_hdr, BLK_SIZE(nk_hdr));
-    if (!tmp->keys[i]) {
-      goto error;
-    }
-  }
-
-  return tmp;
-
- error:
-  /* XXX: FIXME, free the partially allocated structure */
-  return NULL;
-}
-
-/*
- * This routine is passed a NK_HDR pointer and retrieves the entire tree
- * from there down. It return a REG_KEY *.
- */
-REG_KEY *nt_get_key_tree(REGF *regf, NK_HDR *nk_hdr, int size)
-{
-  REG_KEY *tmp = NULL;
-  int name_len, clsname_len, lf_off, val_off, val_count, sk_off;
-  unsigned int nk_id;
-  LF_HDR *lf_hdr;
-  VL_TYPE *vl;
-  SK_HDR *sk_hdr;
-  char key_name[1024], cls_name[1024];
-
-  if (!nk_hdr) return NULL;
-
-  if ((nk_id = SVAL(&nk_hdr->NK_ID)) != REG_NK_ID) {
-    fprintf(stderr, "Unrecognized NK Header format: %08X, Block: %0X. %s\n", 
-           nk_id, (int)nk_hdr, regf->regfile_name);
-    return NULL;
-  }
-
-  assert(size < 0);
-
-  name_len = SVAL(&nk_hdr->nam_len);
-  clsname_len = SVAL(&nk_hdr->clsnam_len);
-
-  /*
-   * The value of -size should be ge 
-   * (sizeof(NK_HDR) - 1 + name_len)
-   * The -1 accounts for the fact that we included the first byte of 
-   * the name in the structure. clsname_len is the length of the thing 
-   * pointed to by clsnam_off
-   */
-
-  if (-size < (sizeof(NK_HDR) - 1 + name_len)) {
-    fprintf(stderr, "Incorrect NK_HDR size: %d, %0X\n", -size, (int)nk_hdr);
-    fprintf(stderr, "Sizeof NK_HDR: %d, name_len %d, clsname_len %d\n",
-           sizeof(NK_HDR), name_len, clsname_len);
-    /*return NULL;*/
-  }
-
-  if (verbose) fprintf(stdout, "NK HDR: Name len: %d, class name len: %d\n", 
-                      name_len, clsname_len);
-
-  /* Fish out the key name and process the LF list */
-
-  assert(name_len < sizeof(key_name));
-
-  /* Allocate the key struct now */
-  tmp = (REG_KEY *)malloc(sizeof(REG_KEY));
-  if (!tmp) return tmp;
-  bzero(tmp, sizeof(REG_KEY));
-
-  tmp->type = (SVAL(&nk_hdr->type)==0x2C?REG_ROOT_KEY:REG_SUB_KEY);
-  
-  strncpy(key_name, nk_hdr->key_nam, name_len);
-  key_name[name_len] = '\0';
-
-  if (verbose) fprintf(stdout, "Key name: %s\n", key_name);
-
-  tmp->name = strdup(key_name);
-  if (!tmp->name) {
-    goto error;
-  }
-
-  /*
-   * Fish out the class name, it is in UNICODE, while the key name is 
-   * ASCII :-)
-   */
-
-  if (clsname_len) { /* Just print in Ascii for now */
-    char *clsnamep;
-    int clsnam_off;
-
-    clsnam_off = IVAL(&nk_hdr->clsnam_off);
-    clsnamep = LOCN(regf->base, clsnam_off);
-    bzero(cls_name, clsname_len);
-    uni_to_ascii(clsnamep, cls_name, sizeof(cls_name), clsname_len);
-    
-    /*
-     * I am keeping class name as an ascii string for the moment.
-     * That means it needs to be converted on output.
-     * XXX: FIXME
-     */
-
-    tmp->class_name = strdup(cls_name);
-    if (!tmp->class_name) {
-      goto error;
-    }
-
-    if (verbose) fprintf(stdout, "  Class Name: %s\n", cls_name);
-
-  }
-
-  /*
-   * If there are any values, process them here
-   */
-
-  val_count = IVAL(&nk_hdr->val_cnt);
-
-  if (val_count) {
-
-    val_off = IVAL(&nk_hdr->val_off);
-    vl = (VL_TYPE *)LOCN(regf->base, val_off);
-
-    tmp->values = process_vl(regf, *vl, val_count, BLK_SIZE(vl));
-    if (!tmp->values) {
-      goto error;
-    }
-
-  }
-
-  /* 
-   * Also handle the SK header ...
-   */
-
-  sk_off = IVAL(&nk_hdr->sk_off);
-  sk_hdr = (SK_HDR *)LOCN(regf->base, sk_off);
-
-  if (sk_off != -1) {
-
-    tmp->security = process_sk(regf, sk_hdr, sk_off, BLK_SIZE(sk_hdr));
-
-  } 
-
-  lf_off = IVAL(&nk_hdr->lf_off);
-
-  /*
-   * No more subkeys if lf_off == -1
-   */
-
-  if (lf_off != -1) {
-
-    lf_hdr = (LF_HDR *)LOCN(regf->base, lf_off);
-    
-    tmp->sub_keys = process_lf(regf, lf_hdr, BLK_SIZE(lf_hdr));
-    if (!tmp->sub_keys){
-      goto error;
-    }
-
-  }
-
-  return tmp;
-
- error:
-  if (tmp) nt_delete_reg_key(tmp);
-  return NULL;
-}
-
-int nt_load_registry(REGF *regf)
-{
-  REGF_HDR *regf_hdr;
-  unsigned int regf_id, hbin_id;
-  HBIN_HDR *hbin_hdr;
-  NK_HDR *first_key;
-
-  /* Get the header */
-
-  if ((regf_hdr = nt_get_regf_hdr(regf)) == NULL) {
-    return -1;
-  }
-
-  /* Now process that header and start to read the rest in */
-
-  if ((regf_id = IVAL(&regf_hdr->REGF_ID)) != REG_REGF_ID) {
-    fprintf(stderr, "Unrecognized NT registry header id: %0X, %s\n",
-           regf_id, regf->regfile_name);
-    return -1;
-  }
-
-  /*
-   * Validate the header ...
-   */
-  if (!valid_regf_hdr(regf_hdr)) {
-    fprintf(stderr, "Registry file header does not validate: %s\n",
-           regf->regfile_name);
-    return -1;
-  }
-
-  /* Update the last mod date, and then go get the first NK record and on */
-
-  TTTONTTIME(regf, IVAL(&regf_hdr->tim1), IVAL(&regf_hdr->tim2));
-
-  /* 
-   * The hbin hdr seems to be just uninteresting garbage. Check that
-   * it is there, but that is all.
-   */
-
-  hbin_hdr = (HBIN_HDR *)(regf->base + REGF_HDR_BLKSIZ);
-
-  if ((hbin_id = IVAL(&hbin_hdr->HBIN_ID)) != REG_HBIN_ID) {
-    fprintf(stderr, "Unrecognized registry hbin hdr ID: %0X, %s\n", 
-           hbin_id, regf->regfile_name);
-    return -1;
-  } 
-
-  /*
-   * Get a pointer to the first key from the hreg_hdr
-   */
-
-  first_key = (NK_HDR *)LOCN(regf->base, IVAL(&regf_hdr->first_key));
-
-  /*
-   * Now, get the registry tree by processing that NK recursively
-   */
-
-  regf->root = nt_get_key_tree(regf, first_key, BLK_SIZE(first_key));
-
-  assert(regf->root != NULL);
-
-  return 1;
-}
-
-/*
- * Routines to parse a REGEDIT4 file
- * 
- * The file consists of:
- * 
- * REGEDIT4
- * \[[-]key-path\]\n
- * <value-spec>*
- *
- * There can be more than one key-path and value-spec.
- *
- * Since we want to support more than one type of file format, we
- * construct a command-file structure that keeps info about the command file
- */
-
-#define FMT_UNREC -1
-#define FMT_REGEDIT4 0
-#define FMT_EDITREG1_1 1
-
-typedef struct command_s {
-  int cmd;
-  char *key;
-  void *val_spec_list;
-} CMD;
-
-/*
- * We seek to offset 0, read in the required number of bytes, 
- * and compare to the correct value.
- * We then seek back to the original location
- */
-int regedit4_file_type(int fd)
-{
-  int cur_ofs = 0;
-
-  cur_ofs = lseek(fd, 0, SEEK_CUR); /* Get current offset */
-  if (cur_ofs < 0) {
-    fprintf(stderr, "Unable to get current offset: %s\n", strerror(errno));
-    exit(1);
-  }
-
-  if (cur_ofs) {
-    lseek(fd, 0, SEEK_SET);
-  }
-
-  return FMT_UNREC;
-}
-
-CMD *regedit4_get_cmd(int fd)
-{
-  return NULL;
-}
-
-int regedit4_exec_cmd(CMD *cmd)
-{
-
-  return 0;
-}
-
-int editreg_1_1_file_type(int fd)
-{
-
-  return FMT_UNREC;
-}
-
-CMD *editreg_1_1_get_cmd(int fd)
-{
-  return NULL;
-}
-
-int editreg_1_1_exec_cmd(CMD *cmd)
-{
-
-  return -1;
-}
-
-typedef struct command_ops_s {
-  int type;
-  int (*file_type)(int fd);
-  CMD *(*get_cmd)(int fd);
-  int (*exec_cmd)(CMD *cmd);
-} CMD_OPS;
-
-CMD_OPS default_cmd_ops[] = {
-  {0, regedit4_file_type, regedit4_get_cmd, regedit4_exec_cmd},
-  {1, editreg_1_1_file_type, editreg_1_1_get_cmd, editreg_1_1_exec_cmd},
-  {-1,  NULL, NULL, NULL}
-}; 
-
-typedef struct command_file_s {
-  char *name;
-  int type, fd;
-  CMD_OPS cmd_ops;
-} CMD_FILE;
-
-/*
- * Create a new command file structure
- */
-
-CMD_FILE *cmd_file_create(char *file)
-{
-  CMD_FILE *tmp;
-  struct stat sbuf;
-  int i = 0;
-
-  /*
-   * Let's check if the file exists ...
-   * No use creating the cmd_file structure if the file does not exist
-   */
-
-  if (stat(file, &sbuf) < 0) { /* Not able to access file */
-
-    return NULL;
-  }
-
-  tmp = (CMD_FILE *)malloc(sizeof(CMD_FILE)); 
-  if (!tmp) {
-    return NULL;
-  }
-
-  /*
-   * Let's fill in some of the fields;
-   */
-
-  tmp->name = strdup(file);
-
-  if ((tmp->fd = open(file, O_RDONLY, 666)) < 0) {
-    free(tmp);
-    return NULL;
-  }
-
-  /*
-   * Now, try to find the format by indexing through the table
-   */
-  while (default_cmd_ops[i].type != -1) {
-    if ((tmp->type = default_cmd_ops[i].file_type(tmp->fd)) >= 0) {
-      tmp->cmd_ops = default_cmd_ops[i];
-      return tmp;
-    }
-    i++;
-  }
-
-  /* 
-   * If we got here, return NULL, as we could not figure out the type
-   * of command file.
-   *
-   * What about errors? 
-   */
-
-  free(tmp);
-  return NULL;
-}
-
-/*
- * Extract commands from the command file, and execute them.
- * We pass a table of command callbacks for that 
- */
-
-/*
- * Main code from here on ...
- */
-
-/*
- * key print function here ...
- */
-
-int print_key(const char *path, char *name, char *class_name, int root, 
-             int terminal, int vals)
-{
-
-  if (terminal) fprintf(stdout, "%s\\%s\n", path, name);
-
-  return 1;
-}
-
-/*
- * Sec Desc print functions 
- */
-
-void print_sid(DOM_SID *sid)
-{
-  int i, comps = sid->auths;
-  fprintf(stdout, "S-%u-%u", sid->ver, sid->auth[5]);
-
-  for (i = 0; i < comps; i++) {
-
-    fprintf(stdout, "-%u", sid->sub_auths[i]);
-
-  }
-  fprintf(stdout, "\n");
-}
-
-int print_sec(SEC_DESC *sec_desc)
-{
-
-  fprintf(stdout, "  SECURITY\n");
-  fprintf(stdout, "    Owner: ");
-  print_sid(sec_desc->owner);
-  fprintf(stdout, "    Group: ");
-  print_sid(sec_desc->group);
-  return 1;
-}
-
-/*
- * Value print function here ...
- */
-int print_val(const char *path, char *val_name, int val_type, int data_len, 
-             void *data_blk, int terminal, int first, int last)
-{
-  char data_asc[1024];
-
-  bzero(data_asc, sizeof(data_asc));
-  if (!terminal && first)
-    fprintf(stdout, "%s\n", path);
-  data_to_ascii((unsigned char *)data_blk, data_len, val_type, data_asc, 
-               sizeof(data_asc) - 1);
-  fprintf(stdout, "  %s : %s : %s\n", (val_name?val_name:"<No Name>"), 
-                  val_to_str(val_type, reg_type_names), data_asc);
-  return 1;
-}
-
-void usage(void)
-{
-  fprintf(stderr, "Usage: editreg [-v] [-k] [-c <command-file>] <registryfile>\n");
-  fprintf(stderr, "Version: 0.1\n\n");
-  fprintf(stderr, "\n\t-v\t sets verbose mode");
-  fprintf(stderr, "\n\t-c <command-file>\t specifies a command file");
-  fprintf(stderr, "\n");
-}
-
-int main(int argc, char *argv[])
-{
-  REGF *regf;
-  extern char *optarg;
-  extern int optind;
-  int opt;
-  int commands = 0;
-  char *cmd_file = NULL;
-
-  if (argc < 2) {
-    usage();
-    exit(1);
-  }
-  
-  /* 
-   * Now, process the arguments
-   */
-
-  while ((opt = getopt(argc, argv, "vkc:")) != EOF) {
-    switch (opt) {
-    case 'c':
-      commands = 1;
-      cmd_file = optarg;
-      break;
-
-    case 'v':
-      verbose++;
-      break;
-
-    case 'k':
-      break;
-
-    default:
-      usage();
-      exit(1);
-      break;
-    }
-  }
-
-  if ((regf = nt_create_regf()) == NULL) {
-    fprintf(stderr, "Could not create registry object: %s\n", strerror(errno));
-    exit(2);
-  }
-
-  if (!nt_set_regf_input_file(regf, argv[optind])) {
-    fprintf(stderr, "Could not set name of registry file: %s, %s\n", 
-           argv[1], strerror(errno));
-    exit(3);
-  }
-
-  /* Now, open it, and bring it into memory :-) */
-
-  if (nt_load_registry(regf) < 0) {
-    fprintf(stderr, "Could not load registry: %s\n", argv[1]);
-    exit(4);
-  }
-
-  /*
-   * At this point, we should have a registry in memory and should be able
-   * to iterate over it.
-   */
-
-  nt_key_iterator(regf, regf->root, 0, "", print_key, print_sec, print_val);
-  return 0;
-}
index d508320423bbe2770fd6dfe94793ba9441875a92..867252c95f2ac9743b1d44ad0e7e271510892eae 100644 (file)
@@ -110,11 +110,6 @@ static int net_ads_info(int argc, const char **argv)
        return 0;
 }
 
-static void use_in_memory_ccache() {
-       /* Use in-memory credentials cache so we do not interfere with
-        * existing credentials */
-       setenv(KRB5_ENV_CCNAME, "MEMORY:net_ads", 1);
-}
 
 static ADS_STRUCT *ads_startup(void)
 {
@@ -129,10 +124,8 @@ static ADS_STRUCT *ads_startup(void)
                opt_user_name = "administrator";
        }
 
-       if (opt_user_specified) {
+       if (opt_user_specified)
                need_password = True;
-               use_in_memory_ccache();
-       }
 
 retry:
        if (!opt_password && need_password) {
@@ -608,8 +601,6 @@ static int net_ads_join_ok(void)
  */
 int net_ads_testjoin(int argc, const char **argv)
 {
-       use_in_memory_ccache();
-
        /* Display success or failure */
        if (net_ads_join_ok() != 0) {
                fprintf(stderr,"Join to domain is not valid\n");
@@ -887,8 +878,7 @@ static int net_ads_password(int argc, const char **argv)
        (strchr(argv[0], '@') == NULL)) {
        return net_ads_usage(argc, argv);
     }
-
-    use_in_memory_ccache();    
+    
     c = strchr(auth_principal, '@');
     realm = ++c;
 
@@ -935,8 +925,6 @@ static int net_ads_change_localhost_pass(int argc, const char **argv)
 
     opt_password = secrets_fetch_machine_password();
 
-    use_in_memory_ccache();
-
     if (!(ads = ads_startup())) {
            return -1;
     }
index b0eb335986942e6fe2b3f5712e60baf1acca3c49..1b711f7b432a7b6907cf1f5055a86eb65e432e1d 100644 (file)
@@ -264,8 +264,14 @@ int net_rpc_join_newstyle(int argc, const char **argv)
        ctr.switch_value = 24;
        ctr.info.id24 = &p24;
 
+       /* I don't think this is quite the right place for this
+          calculation.  It should be moved somewhere where the credentials
+          are calculated. )-: */
+
+       mdfour(sess_key, cli->pwd.smb_nt_pwd, 16);
+
        CHECK_RPC_ERR(cli_samr_set_userinfo(cli, mem_ctx, &user_pol, 24, 
-                                           cli->user_session_key, &ctr),
+                                           sess_key, &ctr),
                      "error setting trust account password");
 
        /* Why do we have to try to (re-)set the ACB to be the same as what
index ee269114c99e372185ffbd69ddc43c8e9511d3ce..9df10c21a4760d61e6efd808656d68e40f0e6560 100644 (file)
@@ -536,9 +536,6 @@ int main (int argc, char **argv)
                exit(1);
        }
 
-       if(lp_modules())
-               smb_load_modules(lp_modules());
-       
        if (!init_names())
                exit(1);