This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to...
authorcvs2svn Import User <samba-bugs@samba.org>
Fri, 4 Apr 2003 04:25:38 +0000 (04:25 +0000)
committercvs2svn Import User <samba-bugs@samba.org>
Fri, 4 Apr 2003 04:25:38 +0000 (04:25 +0000)
713 files changed:
WHATSNEW.txt
docs/Samba-Developers-Guide.pdf
docs/Samba-HOWTO-Collection.pdf
docs/announce
docs/docbook/Makefile.in
docs/docbook/configure
docs/docbook/configure.in
docs/docbook/devdoc/dev-doc.sgml
docs/docbook/devdoc/modules.sgml [deleted file]
docs/docbook/devdoc/packagers.sgml [deleted file]
docs/docbook/devdoc/rpc_plugin.sgml [deleted file]
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/faq/printing.sgml [deleted file]
docs/docbook/faq/sambafaq.sgml
docs/docbook/global.ent
docs/docbook/manpages/editreg.1.sgml [deleted file]
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/ntlm_auth.1.sgml [deleted file]
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/smbtree.1.sgml [deleted file]
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/Browsing.sgml
docs/docbook/projdoc/CVS-Access.sgml [new file with mode: 0644]
docs/docbook/projdoc/Compiling.sgml
docs/docbook/projdoc/DOMAIN_MEMBER.sgml
docs/docbook/projdoc/ENCRYPTION.sgml [new file with mode: 0644]
docs/docbook/projdoc/GROUP-MAPPING-HOWTO.sgml
docs/docbook/projdoc/GroupProfiles.sgml [new file with mode: 0644]
docs/docbook/projdoc/Integrating-with-Windows.sgml
docs/docbook/projdoc/NT_Security.sgml
docs/docbook/projdoc/Other-Clients.sgml
docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml
docs/docbook/projdoc/Samba-BDC-HOWTO.sgml
docs/docbook/projdoc/Samba-PDC-HOWTO.sgml
docs/docbook/projdoc/ServerType.sgml
docs/docbook/projdoc/VFS.sgml
docs/docbook/projdoc/passdb.sgml
docs/docbook/projdoc/samba-doc.sgml
docs/docbook/projdoc/security_level.sgml
docs/docbook/projdoc/upgrading-to-3.0.sgml
docs/docbook/smbdotconf/.cvsignore [deleted file]
docs/docbook/smbdotconf/README [deleted file]
docs/docbook/smbdotconf/browse/browsable.xml [deleted file]
docs/docbook/smbdotconf/browse/browseable.xml [deleted file]
docs/docbook/smbdotconf/browse/browselist.xml [deleted file]
docs/docbook/smbdotconf/browse/domainmaster.xml [deleted file]
docs/docbook/smbdotconf/browse/enhancedbrowsing.xml [deleted file]
docs/docbook/smbdotconf/browse/lmannounce.xml [deleted file]
docs/docbook/smbdotconf/browse/lminterval.xml [deleted file]
docs/docbook/smbdotconf/browse/localmaster.xml [deleted file]
docs/docbook/smbdotconf/browse/oslevel.xml [deleted file]
docs/docbook/smbdotconf/browse/preferedmaster.xml [deleted file]
docs/docbook/smbdotconf/browse/preferredmaster.xml [deleted file]
docs/docbook/smbdotconf/domain/machinepasswordtimeout.xml [deleted file]
docs/docbook/smbdotconf/expand-smb.conf.xsl [deleted file]
docs/docbook/smbdotconf/filename/casesensitive.xml [deleted file]
docs/docbook/smbdotconf/filename/casesignames.xml [deleted file]
docs/docbook/smbdotconf/filename/defaultcase.xml [deleted file]
docs/docbook/smbdotconf/filename/deletevetofiles.xml [deleted file]
docs/docbook/smbdotconf/filename/hidedotfiles.xml [deleted file]
docs/docbook/smbdotconf/filename/hidefiles.xml [deleted file]
docs/docbook/smbdotconf/filename/hidespecialfiles.xml [deleted file]
docs/docbook/smbdotconf/filename/hideunreadable.xml [deleted file]
docs/docbook/smbdotconf/filename/hideunwriteablefiles.xml [deleted file]
docs/docbook/smbdotconf/filename/manglecase.xml [deleted file]
docs/docbook/smbdotconf/filename/mangledmap.xml [deleted file]
docs/docbook/smbdotconf/filename/manglednames.xml [deleted file]
docs/docbook/smbdotconf/filename/mangledstack.xml [deleted file]
docs/docbook/smbdotconf/filename/mangleprefix.xml [deleted file]
docs/docbook/smbdotconf/filename/manglingchar.xml [deleted file]
docs/docbook/smbdotconf/filename/manglingmethod.xml [deleted file]
docs/docbook/smbdotconf/filename/maparchive.xml [deleted file]
docs/docbook/smbdotconf/filename/maphidden.xml [deleted file]
docs/docbook/smbdotconf/filename/mapsystem.xml [deleted file]
docs/docbook/smbdotconf/filename/preservecase.xml [deleted file]
docs/docbook/smbdotconf/filename/shortpreservecase.xml [deleted file]
docs/docbook/smbdotconf/filename/statcache.xml [deleted file]
docs/docbook/smbdotconf/filename/stripdot.xml [deleted file]
docs/docbook/smbdotconf/filename/vetofiles.xml [deleted file]
docs/docbook/smbdotconf/filename/vetooplockfiles.xml [deleted file]
docs/docbook/smbdotconf/generate-context.xsl [deleted file]
docs/docbook/smbdotconf/ldap/ldapadmindn.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapdeletedn.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapfilter.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapmachinesuffix.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldappasswdsync.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapport.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapserver.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapssl.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapsuffix.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldaptrustids.xml [deleted file]
docs/docbook/smbdotconf/ldap/ldapusersuffix.xml [deleted file]
docs/docbook/smbdotconf/locking/blockinglocks.xml [deleted file]
docs/docbook/smbdotconf/locking/cscpolicy.xml [deleted file]
docs/docbook/smbdotconf/locking/fakeoplocks.xml [deleted file]
docs/docbook/smbdotconf/locking/kerneloplocks.xml [deleted file]
docs/docbook/smbdotconf/locking/level2oplocks.xml [deleted file]
docs/docbook/smbdotconf/locking/locking.xml [deleted file]
docs/docbook/smbdotconf/locking/lockspincount.xml [deleted file]
docs/docbook/smbdotconf/locking/lockspintime.xml [deleted file]
docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml [deleted file]
docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml [deleted file]
docs/docbook/smbdotconf/locking/oplocks.xml [deleted file]
docs/docbook/smbdotconf/locking/posixlocking.xml [deleted file]
docs/docbook/smbdotconf/locking/sharemodes.xml [deleted file]
docs/docbook/smbdotconf/locking/strictlocking.xml [deleted file]
docs/docbook/smbdotconf/logging/debughirestimestamp.xml [deleted file]
docs/docbook/smbdotconf/logging/debuglevel.xml [deleted file]
docs/docbook/smbdotconf/logging/debugpid.xml [deleted file]
docs/docbook/smbdotconf/logging/debugtimestamp.xml [deleted file]
docs/docbook/smbdotconf/logging/debuguid.xml [deleted file]
docs/docbook/smbdotconf/logging/logfile.xml [deleted file]
docs/docbook/smbdotconf/logging/loglevel.xml [deleted file]
docs/docbook/smbdotconf/logging/maxlogsize.xml [deleted file]
docs/docbook/smbdotconf/logging/syslog.xml [deleted file]
docs/docbook/smbdotconf/logging/syslogonly.xml [deleted file]
docs/docbook/smbdotconf/logging/timestamplogs.xml [deleted file]
docs/docbook/smbdotconf/logon/abortshutdownscript.xml [deleted file]
docs/docbook/smbdotconf/logon/addgroupscript.xml [deleted file]
docs/docbook/smbdotconf/logon/addmachinescript.xml [deleted file]
docs/docbook/smbdotconf/logon/adduserscript.xml [deleted file]
docs/docbook/smbdotconf/logon/addusertogroupscript.xml [deleted file]
docs/docbook/smbdotconf/logon/deletegroupscript.xml [deleted file]
docs/docbook/smbdotconf/logon/deleteuserfromgroupscript.xml [deleted file]
docs/docbook/smbdotconf/logon/deleteuserscript.xml [deleted file]
docs/docbook/smbdotconf/logon/domainlogons.xml [deleted file]
docs/docbook/smbdotconf/logon/logondrive.xml [deleted file]
docs/docbook/smbdotconf/logon/logonhome.xml [deleted file]
docs/docbook/smbdotconf/logon/logonpath.xml [deleted file]
docs/docbook/smbdotconf/logon/logonscript.xml [deleted file]
docs/docbook/smbdotconf/logon/setprimarygroupscript.xml [deleted file]
docs/docbook/smbdotconf/logon/shutdownscript.xml [deleted file]
docs/docbook/smbdotconf/man.xsl [deleted file]
docs/docbook/smbdotconf/misc/addsharecommand.xml [deleted file]
docs/docbook/smbdotconf/misc/autoservices.xml [deleted file]
docs/docbook/smbdotconf/misc/available.xml [deleted file]
docs/docbook/smbdotconf/misc/changesharecommand.xml [deleted file]
docs/docbook/smbdotconf/misc/configfile.xml [deleted file]
docs/docbook/smbdotconf/misc/copy.xml [deleted file]
docs/docbook/smbdotconf/misc/default.xml [deleted file]
docs/docbook/smbdotconf/misc/defaultservice.xml [deleted file]
docs/docbook/smbdotconf/misc/deletereadonly.xml [deleted file]
docs/docbook/smbdotconf/misc/deletesharecommand.xml [deleted file]
docs/docbook/smbdotconf/misc/dfreecommand.xml [deleted file]
docs/docbook/smbdotconf/misc/dontdescend.xml [deleted file]
docs/docbook/smbdotconf/misc/dosfilemode.xml [deleted file]
docs/docbook/smbdotconf/misc/dosfiletimeresolution.xml [deleted file]
docs/docbook/smbdotconf/misc/dosfiletimes.xml [deleted file]
docs/docbook/smbdotconf/misc/exec.xml [deleted file]
docs/docbook/smbdotconf/misc/fakedirectorycreatetimes.xml [deleted file]
docs/docbook/smbdotconf/misc/followsymlinks.xml [deleted file]
docs/docbook/smbdotconf/misc/fstype.xml [deleted file]
docs/docbook/smbdotconf/misc/hidelocalusers.xml [deleted file]
docs/docbook/smbdotconf/misc/homedirmap.xml [deleted file]
docs/docbook/smbdotconf/misc/include.xml [deleted file]
docs/docbook/smbdotconf/misc/lockdir.xml [deleted file]
docs/docbook/smbdotconf/misc/lockdirectory.xml [deleted file]
docs/docbook/smbdotconf/misc/magicoutput.xml [deleted file]
docs/docbook/smbdotconf/misc/magicscript.xml [deleted file]
docs/docbook/smbdotconf/misc/messagecommand.xml [deleted file]
docs/docbook/smbdotconf/misc/nishomedir.xml [deleted file]
docs/docbook/smbdotconf/misc/panicaction.xml [deleted file]
docs/docbook/smbdotconf/misc/piddirectory.xml [deleted file]
docs/docbook/smbdotconf/misc/postexec.xml [deleted file]
docs/docbook/smbdotconf/misc/preexec.xml [deleted file]
docs/docbook/smbdotconf/misc/preexecclose.xml [deleted file]
docs/docbook/smbdotconf/misc/preload.xml [deleted file]
docs/docbook/smbdotconf/misc/preloadmodules.xml [deleted file]
docs/docbook/smbdotconf/misc/remoteannounce.xml [deleted file]
docs/docbook/smbdotconf/misc/remotebrowsesync.xml [deleted file]
docs/docbook/smbdotconf/misc/rootpostexec.xml [deleted file]
docs/docbook/smbdotconf/misc/rootpreexec.xml [deleted file]
docs/docbook/smbdotconf/misc/rootpreexecclose.xml [deleted file]
docs/docbook/smbdotconf/misc/setdirectory.xml [deleted file]
docs/docbook/smbdotconf/misc/socketaddress.xml [deleted file]
docs/docbook/smbdotconf/misc/sourceenvironment.xml [deleted file]
docs/docbook/smbdotconf/misc/timeoffset.xml [deleted file]
docs/docbook/smbdotconf/misc/utmp.xml [deleted file]
docs/docbook/smbdotconf/misc/utmpdirectory.xml [deleted file]
docs/docbook/smbdotconf/misc/volume.xml [deleted file]
docs/docbook/smbdotconf/misc/widelinks.xml [deleted file]
docs/docbook/smbdotconf/misc/wtmpdirectory.xml [deleted file]
docs/docbook/smbdotconf/printing/addprintercommand.xml [deleted file]
docs/docbook/smbdotconf/printing/defaultdevmode.xml [deleted file]
docs/docbook/smbdotconf/printing/deleteprintercommand.xml [deleted file]
docs/docbook/smbdotconf/printing/disablespoolss.xml [deleted file]
docs/docbook/smbdotconf/printing/enumportscommand.xml [deleted file]
docs/docbook/smbdotconf/printing/loadprinters.xml [deleted file]
docs/docbook/smbdotconf/printing/lppausecommand.xml [deleted file]
docs/docbook/smbdotconf/printing/lpqcachetime.xml [deleted file]
docs/docbook/smbdotconf/printing/lpqcommand.xml [deleted file]
docs/docbook/smbdotconf/printing/lpresumecommand.xml [deleted file]
docs/docbook/smbdotconf/printing/lprmcommand.xml [deleted file]
docs/docbook/smbdotconf/printing/maxprintjobs.xml [deleted file]
docs/docbook/smbdotconf/printing/os2drivermap.xml [deleted file]
docs/docbook/smbdotconf/printing/printable.xml [deleted file]
docs/docbook/smbdotconf/printing/printcap.xml [deleted file]
docs/docbook/smbdotconf/printing/printcapname.xml [deleted file]
docs/docbook/smbdotconf/printing/printcommand.xml [deleted file]
docs/docbook/smbdotconf/printing/printer.xml [deleted file]
docs/docbook/smbdotconf/printing/printername.xml [deleted file]
docs/docbook/smbdotconf/printing/printing.xml [deleted file]
docs/docbook/smbdotconf/printing/printok.xml [deleted file]
docs/docbook/smbdotconf/printing/queuepausecommand.xml [deleted file]
docs/docbook/smbdotconf/printing/queueresumecommand.xml [deleted file]
docs/docbook/smbdotconf/printing/showaddprinterwizard.xml [deleted file]
docs/docbook/smbdotconf/printing/totalprintjobs.xml [deleted file]
docs/docbook/smbdotconf/printing/useclientdriver.xml [deleted file]
docs/docbook/smbdotconf/process-all.sh [deleted file]
docs/docbook/smbdotconf/protocol/announceas.xml [deleted file]
docs/docbook/smbdotconf/protocol/announceversion.xml [deleted file]
docs/docbook/smbdotconf/protocol/disablenetbios.xml [deleted file]
docs/docbook/smbdotconf/protocol/largereadwrite.xml [deleted file]
docs/docbook/smbdotconf/protocol/maxmux.xml [deleted file]
docs/docbook/smbdotconf/protocol/maxprotocol.xml [deleted file]
docs/docbook/smbdotconf/protocol/maxttl.xml [deleted file]
docs/docbook/smbdotconf/protocol/maxwinsttl.xml [deleted file]
docs/docbook/smbdotconf/protocol/maxxmit.xml [deleted file]
docs/docbook/smbdotconf/protocol/minprotocol.xml [deleted file]
docs/docbook/smbdotconf/protocol/minwinsttl.xml [deleted file]
docs/docbook/smbdotconf/protocol/nameresolveorder.xml [deleted file]
docs/docbook/smbdotconf/protocol/ntaclsupport.xml [deleted file]
docs/docbook/smbdotconf/protocol/ntpipesupport.xml [deleted file]
docs/docbook/smbdotconf/protocol/ntstatussupport.xml [deleted file]
docs/docbook/smbdotconf/protocol/protocol.xml [deleted file]
docs/docbook/smbdotconf/protocol/readbmpx.xml [deleted file]
docs/docbook/smbdotconf/protocol/readraw.xml [deleted file]
docs/docbook/smbdotconf/protocol/smbports.xml [deleted file]
docs/docbook/smbdotconf/protocol/timeserver.xml [deleted file]
docs/docbook/smbdotconf/protocol/unicode.xml [deleted file]
docs/docbook/smbdotconf/protocol/unixextensions.xml [deleted file]
docs/docbook/smbdotconf/protocol/usespnego.xml [deleted file]
docs/docbook/smbdotconf/protocol/writeraw.xml [deleted file]
docs/docbook/smbdotconf/security/adminusers.xml [deleted file]
docs/docbook/smbdotconf/security/algorithmicridbase.xml [deleted file]
docs/docbook/smbdotconf/security/allowhosts.xml [deleted file]
docs/docbook/smbdotconf/security/allowtrusteddomains.xml [deleted file]
docs/docbook/smbdotconf/security/authmethods.xml [deleted file]
docs/docbook/smbdotconf/security/createmask.xml [deleted file]
docs/docbook/smbdotconf/security/createmode.xml [deleted file]
docs/docbook/smbdotconf/security/denyhosts.xml [deleted file]
docs/docbook/smbdotconf/security/directorymask.xml [deleted file]
docs/docbook/smbdotconf/security/directorymode.xml [deleted file]
docs/docbook/smbdotconf/security/directorysecuritymask.xml [deleted file]
docs/docbook/smbdotconf/security/encryptpasswords.xml [deleted file]
docs/docbook/smbdotconf/security/forcecreatemode.xml [deleted file]
docs/docbook/smbdotconf/security/forcedirectorymode.xml [deleted file]
docs/docbook/smbdotconf/security/forcedirectorysecuritymode.xml [deleted file]
docs/docbook/smbdotconf/security/forcegroup.xml [deleted file]
docs/docbook/smbdotconf/security/forcesecuritymode.xml [deleted file]
docs/docbook/smbdotconf/security/forceuser.xml [deleted file]
docs/docbook/smbdotconf/security/group.xml [deleted file]
docs/docbook/smbdotconf/security/guestaccount.xml [deleted file]
docs/docbook/smbdotconf/security/guestok.xml [deleted file]
docs/docbook/smbdotconf/security/guestonly.xml [deleted file]
docs/docbook/smbdotconf/security/hostsallow.xml [deleted file]
docs/docbook/smbdotconf/security/hostsdeny.xml [deleted file]
docs/docbook/smbdotconf/security/hostsequiv.xml [deleted file]
docs/docbook/smbdotconf/security/inheritacls.xml [deleted file]
docs/docbook/smbdotconf/security/inheritpermissions.xml [deleted file]
docs/docbook/smbdotconf/security/invalidusers.xml [deleted file]
docs/docbook/smbdotconf/security/lanmanauth.xml [deleted file]
docs/docbook/smbdotconf/security/maptoguest.xml [deleted file]
docs/docbook/smbdotconf/security/minpasswdlength.xml [deleted file]
docs/docbook/smbdotconf/security/minpasswordlength.xml [deleted file]
docs/docbook/smbdotconf/security/nonunixaccountrange.xml [deleted file]
docs/docbook/smbdotconf/security/ntlmauth.xml [deleted file]
docs/docbook/smbdotconf/security/nullpasswords.xml [deleted file]
docs/docbook/smbdotconf/security/obeypamrestrictions.xml [deleted file]
docs/docbook/smbdotconf/security/onlyguest.xml [deleted file]
docs/docbook/smbdotconf/security/onlyuser.xml [deleted file]
docs/docbook/smbdotconf/security/pampasswordchange.xml [deleted file]
docs/docbook/smbdotconf/security/passdbbackend.xml [deleted file]
docs/docbook/smbdotconf/security/passwdchat.xml [deleted file]
docs/docbook/smbdotconf/security/passwdchatdebug.xml [deleted file]
docs/docbook/smbdotconf/security/passwdprogram.xml [deleted file]
docs/docbook/smbdotconf/security/passwordlevel.xml [deleted file]
docs/docbook/smbdotconf/security/passwordserver.xml [deleted file]
docs/docbook/smbdotconf/security/printeradmin.xml [deleted file]
docs/docbook/smbdotconf/security/privatedir.xml [deleted file]
docs/docbook/smbdotconf/security/public.xml [deleted file]
docs/docbook/smbdotconf/security/readlist.xml [deleted file]
docs/docbook/smbdotconf/security/readonly.xml [deleted file]
docs/docbook/smbdotconf/security/restrictanonymous.xml [deleted file]
docs/docbook/smbdotconf/security/root.xml [deleted file]
docs/docbook/smbdotconf/security/rootdir.xml [deleted file]
docs/docbook/smbdotconf/security/rootdirectory.xml [deleted file]
docs/docbook/smbdotconf/security/security.xml [deleted file]
docs/docbook/smbdotconf/security/securitymask.xml [deleted file]
docs/docbook/smbdotconf/security/smbpasswdfile.xml [deleted file]
docs/docbook/smbdotconf/security/unixpasswordsync.xml [deleted file]
docs/docbook/smbdotconf/security/updateencrypted.xml [deleted file]
docs/docbook/smbdotconf/security/user.xml [deleted file]
docs/docbook/smbdotconf/security/username.xml [deleted file]
docs/docbook/smbdotconf/security/usernamelevel.xml [deleted file]
docs/docbook/smbdotconf/security/usernamemap.xml [deleted file]
docs/docbook/smbdotconf/security/users.xml [deleted file]
docs/docbook/smbdotconf/security/validusers.xml [deleted file]
docs/docbook/smbdotconf/security/writable.xml [deleted file]
docs/docbook/smbdotconf/security/writeable.xml [deleted file]
docs/docbook/smbdotconf/security/writelist.xml [deleted file]
docs/docbook/smbdotconf/security/writeok.xml [deleted file]
docs/docbook/smbdotconf/smb.conf.5.xml [deleted file]
docs/docbook/smbdotconf/tuning/blocksize.xml [deleted file]
docs/docbook/smbdotconf/tuning/changenotifytimeout.xml [deleted file]
docs/docbook/smbdotconf/tuning/deadtime.xml [deleted file]
docs/docbook/smbdotconf/tuning/getwdcache.xml [deleted file]
docs/docbook/smbdotconf/tuning/hostnamelookups.xml [deleted file]
docs/docbook/smbdotconf/tuning/keepalive.xml [deleted file]
docs/docbook/smbdotconf/tuning/maxconnections.xml [deleted file]
docs/docbook/smbdotconf/tuning/maxdisksize.xml [deleted file]
docs/docbook/smbdotconf/tuning/maxopenfiles.xml [deleted file]
docs/docbook/smbdotconf/tuning/maxsmbdprocesses.xml [deleted file]
docs/docbook/smbdotconf/tuning/minprintspace.xml [deleted file]
docs/docbook/smbdotconf/tuning/namecachetimeout.xml [deleted file]
docs/docbook/smbdotconf/tuning/paranoidserversecurity.xml [deleted file]
docs/docbook/smbdotconf/tuning/readsize.xml [deleted file]
docs/docbook/smbdotconf/tuning/socketoptions.xml [deleted file]
docs/docbook/smbdotconf/tuning/statcachesize.xml [deleted file]
docs/docbook/smbdotconf/tuning/strictallocate.xml [deleted file]
docs/docbook/smbdotconf/tuning/strictsync.xml [deleted file]
docs/docbook/smbdotconf/tuning/syncalways.xml [deleted file]
docs/docbook/smbdotconf/tuning/usemmap.xml [deleted file]
docs/docbook/smbdotconf/tuning/usesendfile.xml [deleted file]
docs/docbook/smbdotconf/tuning/writecachesize.xml [deleted file]
docs/docbook/smbdotconf/vfs/hostmsdfs.xml [deleted file]
docs/docbook/smbdotconf/vfs/msdfsproxy.xml [deleted file]
docs/docbook/smbdotconf/vfs/msdfsroot.xml [deleted file]
docs/docbook/smbdotconf/vfs/vfsobject.xml [deleted file]
docs/docbook/smbdotconf/vfs/vfsoptions.xml [deleted file]
docs/docbook/smbdotconf/vfs/vfspath.xml [deleted file]
docs/docbook/smbdotconf/winbind/templatehomedir.xml [deleted file]
docs/docbook/smbdotconf/winbind/templateshell.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindcachetime.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindenumgroups.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindenumusers.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindgid.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindseparator.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbinduid.xml [deleted file]
docs/docbook/smbdotconf/winbind/winbindusedefaultdomain.xml [deleted file]
docs/docbook/smbdotconf/wins/dnsproxy.xml [deleted file]
docs/docbook/smbdotconf/wins/winshook.xml [deleted file]
docs/docbook/smbdotconf/wins/winspartners.xml [deleted file]
docs/docbook/smbdotconf/wins/winsproxy.xml [deleted file]
docs/docbook/smbdotconf/wins/winsserver.xml [deleted file]
docs/docbook/smbdotconf/wins/winssupport.xml [deleted file]
docs/docs-status
docs/faq/clientapp.html [moved from docs/faq/faq-clientapp.html with 84% similarity]
docs/faq/errors.html [moved from docs/faq/faq-errors.html with 87% similarity]
docs/faq/faq-features.html [deleted file]
docs/faq/faq-printing.html [deleted file]
docs/faq/general.html [moved from docs/faq/faq-general.html with 93% similarity]
docs/faq/install.html [moved from docs/faq/faq-install.html with 91% similarity]
docs/faq/samba-faq.html
docs/htmldocs/Samba-Developers-Guide.html
docs/htmldocs/Samba-HOWTO-Collection.html [deleted file]
docs/htmldocs/ads.html
docs/htmldocs/appendixes.html
docs/htmldocs/browsing-quick.html
docs/htmldocs/bugreport.html
docs/htmldocs/compiling.html [deleted file]
docs/htmldocs/cvs-access.html [new file with mode: 0644]
docs/htmldocs/diagnosis.html
docs/htmldocs/domain-security.html
docs/htmldocs/findsmb.1.html
docs/htmldocs/groupmapping.html
docs/htmldocs/groupprofiles.html [deleted file]
docs/htmldocs/improved-browsing.html
docs/htmldocs/install.html
docs/htmldocs/integrate-ms-networks.html
docs/htmldocs/introduction.html
docs/htmldocs/lmhosts.5.html
docs/htmldocs/msdfs.html
docs/htmldocs/net.8.html
docs/htmldocs/nmbd.8.html
docs/htmldocs/nmblookup.1.html
docs/htmldocs/oplocks.html [new file with mode: 0644]
docs/htmldocs/optional.html
docs/htmldocs/other-clients.html
docs/htmldocs/p1346.html [new file with mode: 0644]
docs/htmldocs/p18.html [new file with mode: 0644]
docs/htmldocs/p3106.html [new file with mode: 0644]
docs/htmldocs/p544.html [new file with mode: 0644]
docs/htmldocs/pam.html
docs/htmldocs/passdb.html [deleted file]
docs/htmldocs/pdb-mysql.html [new file with mode: 0644]
docs/htmldocs/pdb-xml.html [moved from docs/faq/faq-config.html with 51% similarity]
docs/htmldocs/pdbedit.8.html
docs/htmldocs/portability.html
docs/htmldocs/printing.html
docs/htmldocs/pwencrypt.html [new file with mode: 0644]
docs/htmldocs/rpcclient.1.html
docs/htmldocs/samba-bdc.html
docs/htmldocs/samba-howto-collection.html
docs/htmldocs/samba-ldap-howto.html [new file with mode: 0644]
docs/htmldocs/samba-pdc.html
docs/htmldocs/samba.7.html
docs/htmldocs/securing-samba.html [deleted file]
docs/htmldocs/securitylevels.html
docs/htmldocs/smb.conf.5.html
docs/htmldocs/smbcacls.1.html
docs/htmldocs/smbclient.1.html
docs/htmldocs/smbcontrol.1.html
docs/htmldocs/smbd.8.html
docs/htmldocs/smbgroupedit.8.html
docs/htmldocs/smbmnt.8.html
docs/htmldocs/smbmount.8.html
docs/htmldocs/smbpasswd.5.html
docs/htmldocs/smbpasswd.8.html
docs/htmldocs/smbsh.1.html
docs/htmldocs/smbspool.8.html
docs/htmldocs/smbstatus.1.html
docs/htmldocs/smbtar.1.html
docs/htmldocs/smbumount.8.html
docs/htmldocs/speed.html
docs/htmldocs/swat.8.html
docs/htmldocs/testparm.1.html
docs/htmldocs/testprns.1.html
docs/htmldocs/type.html
docs/htmldocs/unix-permissions.html
docs/htmldocs/vfs.html
docs/htmldocs/vfstest.1.html
docs/htmldocs/wbinfo.1.html
docs/htmldocs/winbind.html
docs/htmldocs/winbindd.8.html
docs/manpages/findsmb.1
docs/manpages/lmhosts.5
docs/manpages/net.8
docs/manpages/nmbd.8
docs/manpages/nmblookup.1
docs/manpages/pdbedit.8
docs/manpages/rpcclient.1
docs/manpages/samba.7
docs/manpages/smb.conf.5
docs/manpages/smbcacls.1
docs/manpages/smbclient.1
docs/manpages/smbcontrol.1
docs/manpages/smbd.8
docs/manpages/smbgroupedit.8
docs/manpages/smbmnt.8
docs/manpages/smbmount.8
docs/manpages/smbpasswd.5
docs/manpages/smbpasswd.8
docs/manpages/smbsh.1
docs/manpages/smbspool.8
docs/manpages/smbstatus.1
docs/manpages/smbtar.1
docs/manpages/smbumount.8
docs/manpages/swat.8
docs/manpages/testparm.1
docs/manpages/testprns.1
docs/manpages/vfstest.1
docs/manpages/wbinfo.1
docs/manpages/winbindd.8
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]
docs/textdocs/RoutedNetworks.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/LDAP/samba.schema
examples/libsmbclient/testsmbc.c
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]
packaging/README
packaging/RedHat/makerpms.sh.tmpl
packaging/RedHat/samba2.spec.tmpl
packaging/SGI/relnotes.html
packaging/SuSE/7.1/samba-2.2.0-alpha0.dif [deleted file]
packaging/SuSE/7.1/samba.pamd [deleted file]
packaging/SuSE/7.1/samba.spec [deleted file]
packaging/SuSE/README [new file with mode: 0644]
packaging/SuSE/samba-3.0.0-msdfs.diff [new file with mode: 0644]
packaging/SuSE/samba-3.0.0-net_ads.diff [new file with mode: 0644]
packaging/SuSE/samba-3.0.0-pdb.diff [new file with mode: 0644]
packaging/SuSE/samba-3.0.0-python.diff [new file with mode: 0644]
packaging/SuSE/samba-3.0.0-vscan.diff [new file with mode: 0644]
packaging/SuSE/samba-3.0.0.files.tar.bz2 [new file with mode: 0644]
packaging/SuSE/samba-vscan-0.3.1.tar.bz2 [new file with mode: 0644]
packaging/SuSE/samba3.spec [new file with mode: 0644]
source3/Makefile.in
source3/aclocal.m4
source3/auth/auth.c
source3/auth/auth_builtin.c
source3/auth/auth_domain.c
source3/auth/auth_rhosts.c
source3/auth/auth_sam.c
source3/auth/auth_server.c
source3/auth/auth_unix.c
source3/auth/auth_util.c
source3/auth/auth_winbind.c
source3/bin/.cvsignore
source3/change-log
source3/client/client.c
source3/client/clitar.c
source3/config.guess
source3/config.sub
source3/configure.in
source3/configure.nodebug.developer [new file with mode: 0755]
source3/include/.cvsignore
source3/include/auth.h
source3/include/charset.h
source3/include/debug.h
source3/include/genparser.h [deleted file]
source3/include/genparser_samba.h [deleted file]
source3/include/gums.h [deleted file]
source3/include/idmap.h [deleted file]
source3/include/includes.h
source3/include/libsmbclient.h
source3/include/local.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/safe_string.h
source3/include/sam.h [deleted file]
source3/include/secrets.h
source3/include/smb.h
source3/include/smb_ldap.h [deleted file]
source3/include/tdbsam2.h [deleted file]
source3/include/version.h
source3/include/vfs.h
source3/lib/account_pol.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/getsmbpass.c
source3/lib/iconv.c
source3/lib/ldap.c [deleted file]
source3/lib/module.c
source3/lib/popt_common.c
source3/lib/username.c
source3/lib/util.c
source3/lib/util_getent.c
source3/lib/util_sid.c
source3/lib/util_unistr.c
source3/libads/ads_utils.c
source3/libads/krb5_setpw.c
source3/libads/ldap.c
source3/libads/ldap_utils.c
source3/libsmb/cliconnect.c
source3/libsmb/clientgen.c
source3/libsmb/clierror.c
source3/libsmb/clifile.c
source3/libsmb/clirap.c
source3/libsmb/clistr.c
source3/libsmb/libsmb_cache.c
source3/libsmb/libsmbclient.c
source3/libsmb/netlogon_unigrp.c
source3/libsmb/ntlmssp.c
source3/libsmb/trust_passwd.c [moved from source3/libsmb/trusts_util.c with 69% similarity]
source3/mainpage.dox [new file with mode: 0644]
source3/modules/developer.c [deleted file]
source3/modules/vfs_audit.c
source3/modules/vfs_extd_audit.c
source3/modules/vfs_netatalk.c
source3/modules/vfs_recycle.c
source3/nmbd/nmbd.c
source3/nsswitch/wbinfo.c
source3/nsswitch/winbind_nss_aix.c
source3/nsswitch/winbindd.c
source3/nsswitch/winbindd.h
source3/nsswitch/winbindd_ads.c
source3/nsswitch/winbindd_cache.c
source3/nsswitch/winbindd_cm.c
source3/nsswitch/winbindd_group.c
source3/nsswitch/winbindd_idmap.c
source3/nsswitch/winbindd_idmap_ldap.c [deleted file]
source3/nsswitch/winbindd_idmap_tdb.c [deleted file]
source3/nsswitch/winbindd_pam.c
source3/nsswitch/winbindd_rpc.c
source3/nsswitch/winbindd_user.c
source3/nsswitch/winbindd_util.c
source3/param/loadparm.c
source3/passdb/pdb_get_set.c
source3/passdb/pdb_guest.c
source3/passdb/pdb_interface.c
source3/passdb/pdb_ldap.c
source3/passdb/pdb_mysql.c [moved from source3/modules/mysql.c with 93% similarity]
source3/passdb/pdb_nisplus.c
source3/passdb/pdb_plugin.c [moved from source3/sam/sam_plugin.c with 57% similarity]
source3/passdb/pdb_smbpasswd.c
source3/passdb/pdb_tdb.c
source3/passdb/pdb_unix.c
source3/passdb/pdb_xml.c [moved from source3/modules/xml.c with 97% similarity]
source3/passdb/secrets.c
source3/printing/nt_printing.c
source3/printing/printing.c
source3/python/py_samr.c
source3/python/py_samr.h
source3/python/py_samr_conv.c
source3/python/setup.py
source3/rpc_client/cli_lsarpc.c
source3/rpc_client/cli_samr.c
source3/rpc_parse/parse_lsa.c
source3/rpc_parse/parse_misc.c
source3/rpc_parse/parse_net.c
source3/rpc_parse/parse_sec.c
source3/rpc_server/srv_dfs.c
source3/rpc_server/srv_lsa.c
source3/rpc_server/srv_lsa_nt.c
source3/rpc_server/srv_netlog.c
source3/rpc_server/srv_pipe.c
source3/rpc_server/srv_reg.c
source3/rpc_server/srv_samr.c
source3/rpc_server/srv_samr_nt.c
source3/rpc_server/srv_spoolss.c
source3/rpc_server/srv_spoolss_nt.c
source3/rpc_server/srv_srvsvc.c
source3/rpc_server/srv_srvsvc_nt.c
source3/rpc_server/srv_util.c
source3/rpc_server/srv_wkssvc.c
source3/rpcclient/cmd_lsarpc.c
source3/rpcclient/cmd_samr.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/idmap.c [deleted file]
source3/sam/idmap_tdb.c [deleted file]
source3/sam/idmap_winbind.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/find_missing_doc.pl
source3/script/genstruct.pl [deleted file]
source3/smbd/build_options.c
source3/smbd/conn.c
source3/smbd/connection.c
source3/smbd/dir.c
source3/smbd/ipc.c
source3/smbd/process.c
source3/smbd/reply.c
source3/smbd/server.c
source3/smbd/service.c
source3/smbd/uid.c
source3/smbd/vfs.c
source3/stf/strings.py
source3/tdb/spinlock.h
source3/tdb/tdb.c
source3/tdb/tdbbackup.c
source3/tdb/tdbutil.c
source3/torture/cmd_sam.c [deleted file]
source3/torture/denytest.c
source3/torture/mangle_test.c
source3/torture/masktest.c
source3/torture/samtest.c [deleted file]
source3/torture/t_strcmp.c [deleted file]
source3/torture/torture.c
source3/torture/utable.c
source3/torture/vfstest.c
source3/utils/editreg.c [deleted file]
source3/utils/net.c
source3/utils/net_ads.c
source3/utils/net_help.c
source3/utils/net_rpc.c
source3/utils/net_rpc_samsync.c
source3/utils/nmblookup.c
source3/utils/ntlm_auth.c
source3/utils/pdbedit.c
source3/utils/profiles.c
source3/utils/smbcacls.c
source3/utils/smbtree.c
source3/utils/status.c
source3/utils/testparm.c
source3/web/swat.c
source3/wrepld/server.c

index 4446832fd473a0b3a5fc493120a06540fae20f6f..4067d1edc930dd21f6d94bbc305c0a144bc019b8 100644 (file)
@@ -1,28 +1,28 @@
-                 WHATS NEW IN Samba 3.0 alpha21
-                       26th November 2002
-                 ===============================
+                  WHATS NEW IN Samba 3.0 alpha23
+                          30th March 2003
+                  ==============================
 
 This is a pre-release of Samba 3.0. This is NOT a stable release.
 Use at your own risk.
 
 The purpose of this alpha release is to get wider testing of the major
-new pieces of code in the current Samba 3.0 development tree. We have 
-officially ceased development on the 2.2.x release of Samba and are 
-concentrating on Samba 3.0. To reduce the time before the final Samba 3.0 
-release we need as many people as possible to start testing these alpha 
-releases, and hopefully giving us some high quality feedback on what needs 
+new pieces of code in the current Samba 3.0 development tree. We have
+officially ceased development on the 2.2.x release of Samba and are
+concentrating on Samba 3.0. To reduce the time before the final Samba 3.0
+release we need as many people as possible to start testing these alpha
+releases, and hopefully giving us some high quality feedback on what needs
 fixing.
 
 Note that Samba 3.0 is not feature complete yet. There is a more
-coding we have planned, but unless we get what we have done already more 
-widely tested we will have a hard time doing a stable release in a 
+coding we have planned, but unless we get what we have done already more
+widely tested we will have a hard time doing a stable release in a
 reasonable time frame.
 
 Major new features:
 -------------------
 
 - Active Directory support. This release is able to join a ADS realm
-  as a member server and authenticate users using LDAP/kerberos. 
+  as a member server and authenticate users using LDAP/kerberos.
 
 - Unicode support. Samba will now negotiate UNICODE on the wire and
   internally there is now a much better infrastructure for multi-byte
@@ -30,7 +30,7 @@ Major new features:
 
 - New authentication system. The internal authentication system has
   been almost completely rewritten. Most of the changes are internal,
-  but the new auth system is also very configurable. 
+  but the new auth system is also very configurable.
 
 - new filename mangling system. The filename mangling system has been
   completely rewritten. An internal database now stores mangling maps
@@ -45,8 +45,17 @@ Major new features:
 - Samba now negotiates NT-style status32 codes on the wire. This
   improves error handling a lot.
 
-- better w2k printing support. The support for printing from win2000
-  clients has improved greatly.
+- better w2k printing support including publishing printer
+  attributes in active directory
+
+- new loadable RPC modules
+
+- new dual-daemon winbindd support for better performance
+
+- support for migrating from a Windows NT 4.0 domain
+
+- support for establishing trust relationships with Windows NT 4.0
+  domain controllers
 
 Plus lots of other changes!
 
@@ -55,324 +64,186 @@ Reporting bugs & Development Discussion
 ---------------------------------------
 
 Please discuss this release on the samba-technical mailing list or by
-joining the #samba-technical IRC channel on irc.openprojects.net
+joining the #samba-technical IRC channel on irc.freenode.net.
 
 If you do report problems then please try to send high quality
 feedback. If you don't provide vital information to help us track down
 the problem then you will probably be ignored.
 
 
-Removed Parameters
-------------------
-
-  * postscript
-  * printer driver
-  * printer driver location
-  * printer driver file
-
-Added Parameters
----------------
-
-  * ldap trust ids
-  * acl compatibility
-  * mangle prefix
-
-
-Modified Parameters
+Changes in alpha23:
 -------------------
 
-  * restrict anonymous
-  * password server
-
-
-Changes in alpha21:
-
- See cvs log for SAMBA_3_0 for complete details.  There are many
- smaller numerous changes that would clutter the release notes.
-
-1)  Numerous documentation updates including new Samba FAQ
-2)  Fixed logic error in checking wins server lists
-3)  Added more Solaris sendfile checks
-4)  Added --with-ldapsam for compatibility with 2.2.x Samba/LDAP setups
-5)  Add new client side support the Win2k LSARPC UUID in rpcbinds
-    Detect a native mode Win2k DC when in "security = domain"
-6)  Include Domain Local Groups in listing when a member of a native
-    mode Win2k domain
-7)  Fix ACL inheritance problem
-8)  Register <0x1c> name on unicast subnet
-9)  Removed stat() call in lp_add_home()
-10) Change default of max_xmit to match W2K. Ensure NT negprot uses it
-11) Merge the new ACL mapping code from Andreas Gruenbacher
-12) Removed make_printerdef tool from build
-13) Fix fd leak on printer queue tdb's
-14) Better error/status loggin in both the pam_winbind client and
-    winbindd_pam
-15) Fix fd leak with kernel change notify
-16) Fix slowdown because of enumerating all print queues on every smbd startup
-17) Fix --set-auth-user command to delete entries from the secrets file
-    when an empty username/password is passed on the command line
-18) Added --get-auth-user to wbinfo for displaying account information
-    used to enumerate users and groups
-19) Numerous updates for 'net rpc vampire' to migrate from an NT 4.0 Domain
-20) Merge of scalable printing code from APP_HEAD
-21) Numerous changes the passdb layer
-22) More work on printer publishing in Active Directory
-23) Enable "make modules" to build VFS libraries
-24) Enable print notify messages on printer attributes from smbcontrol
-25) Enable auto lookup of domain controllers when adding '*' to
-    "password server" parameter.  Allows to have preferred list
-    of DC's, but not authoritative (e.g. password server = DC1 DC2 *)
-
-
-
-                 ===============================
+  LDAP Group Mapping
+  ------------------
+
+  pdbedit -i -e sets all SAM_ACCOUNT elements to CHANGED to
+  satisfy the new pdb_ldap.c handling.   pdbedit -g transfers group
+  mappings. I made this separate from the user database, as current
+  installations have to live with a split backend.  So, if you are
+  running 3_0 alphas with LDAP as a backend and upgrade to 3.0alpha23,
+  you must call
+
+    root# pdbedit -i tdbsam -e ldapsam -g
+
+  to transfer your group mapping database to LDAP.
+
+  All groups must be represented as posixGroup objects in
+  the directory and you must adapt your LDAP schema to support the
+  sambaGroupMapping before running this command.  Refer to
+  examples/LDAP/samba.schema for details on the objectclass.
+
+
+  Parameters
+  ----------
+
+  Modified Parameters (see smb.conf(5) for details):
+
+  * passdb backend
+
+  Added Parameters
+
+  * ldap del only sam attr
+  * ldap delete dn
+
+
+  ChangeLog
+  ---------
+
+  See cvs log for SAMBA_3_0 for complete details.  There are many
+  smaller numerous changes that would clutter the release notes.
+
+0)  Include security fix from Samba 2.2.8
+1)  Fix interop bug in tconX on port 445 with Windows 2000
+2)  Interpret missing SMB_ACL_USER_OBJ, SMB_ACL_GROUP_OBJ, or
+    SMB_ACL_OTHER as "preserve current value" instead of attempting
+    to build one ourself.
+3)  Rearrange set_nt_acl() such that chown is only done before
+    setting ACLs if there is either no change of owning user, or
+    change of owning user is towards the current user. Otherwise
+    chown is done after setting ACLs.
+4)  Continuing work on NTLMSSP-based SMB signing
+5)  When opening an existing TDB, don't require the hash_size
+    specified to the open call to be the same as that of the
+    existing tdb.  The specified hash_size is only used if the
+    tdb needs to be (re)created.
+6)  Add support for "WinXP" and "Win2K3" client architectures.
+7)  Fixed the unmarshalling of the queryaliasmem SAMR call
+8)  Windows 2000 can take much longer than the specified time to
+    respond to a lock - so to make the torture tests valid I give
+    it a grace time of 10 seconds instead of 2
+9)  Continued work on string handling paranoia
+10) Merge new statcache.c from HEAD
+11) Add new 'net ads dn' option
+12) Sync up SessionSetup code to HEAD, including Luke Howard's
+    session key and auth verifier patches
+13) Work on cleaning up winbindd's mutex locking
+14) Add support for LDAP based Windows group mapping
+15) Improve LDAP update routines
+16) Fix memory leaks found by Valgrind
+17) Add a 'privileged' mode to Winbindd
+18) Work around platforms that have broken getgrnam() implementations
+19) Merge real time signal fixes for kernel oplock code from HEAD
+20) Fix CIDR hosts allow/deny notation
+21) Fixup tcon&X server responses and error codes
+22) Set domain for users in passdb created by "net rpc vampire"
+23) More scalable printing updates
+
+
+                  ===============================
 
 Changes in older alpha releases follow:
 
 ---------------------------------------------------------------------
 
-Changes in alpha20:
-
-1)   Rework the 'guest account gets RID 501' code again...
-2)   Change to use NT-based session key negotiated for Win2k SPNEGO
-3)   Support printer data registry keys other than the default
-     PrinterDriverData
-4)   Moved internal printerdata to REGISTRY_VALUE object
-5)   Corrected bug in dependentfiles list of DRIVER_INFO_3
-6)   fixed logic bug in blocking locks code
-7)   Updated registry api code to work with new printer data key
-     support
-8)   Added vfstest tool
-9)   round lock timeouts in lockingX upwards to multiples of 1 second
-10)  Fixed bugs in Printer Change Notify code
-11)  added a 'net ads lookup' command that does a CLDAP NetLogon
-     query to a win2000 server
-12)  Added script to find undocumented smb.conf parameters
-13)  Added missing parameters to smb.conf(5)
-14)  receive & parse main CLDAP reply from win2k server
-15)  removed "admin log" & "alternate permissions" parameters from smb.conf
-16)  added a generic print_guid utility, and get the byte order handing
-17)  fixed memory corruption in cli_full_connection()
-18)  remove unused 'max packet' and 'packet size' options
-19)  add support for the "value,OID" format described in MSDN for Printer
-     Data values
-20)  moves NT_TOKEN generation into our authentication code
-21)  Update documentation build system
-22)  Several fixes for IRIX compiler
-23)  Correctly handle "max data count" value in smb transacts
-24)  Fix for permissions error when adding/modifying using a Print
-     server handle
-25)  Fix pam_smbpass to always check the return value of pdb_getsampwnam()
-26)  Use the 'init' flag to determine if the UID is set, rather than testing
-     the uid for -1
-27)  Cope with non-unix accounts ) we just won't get the groups for those users
-28)  Add 'net rpc getsid' to fetch the PDC's SID into the local secrets.tdb.
-     Print domain SID on 'net rpc info'
-29)  don't use lp_passwd_file() to retrieve NIS domain name, but use location
-     instead
-30)  Various POSIX compatibility fixes
-31)  Show only non-default values in testparm
-32)  Fix longstanding bug in Win2k clients by clearing the shortname
-     buffer before returning ascii short name.
-33)  Add example backtrace script
-34)  Added NETLOGON NetServerAuthenticate3 include and parser file
-35)  fix for difference in strsep and strtok semantics in nmbd
-36)  Ensure we don't change to a user that we can't get an NT_TOKEN for
-37)  Put back in BDC support in set_server_role()
-38)  added a 'net rpc samdump' command for dumping the whole sam via
-     samsync operations (as a BDC)
-39)  don't use spnego in the client unless enabled in smb.conf
-40)  Added some new delta types discovered by Ronnie from ethereal
-41)  Cope with negative cache dns entries better
-42)  do not expose special files, only files, directories and links
-43)  attempts to simplify Samba's external lib dependencies
-44)  support non-root-mode systems without getgrouplist()
-45)  Some fixes for SMB signing
-46)  Pass the object name down to the enum_printers client rpc
-47)  add the netatalk VFS module
-48)  Ensure we have at least smb_size bytes before processing a packet
-49)  Allow us to "lock" printer tdb entries in memory to stop them being
-     re-used as cache
-50)  fix 2 byte alignment/offset bug that prevented Win2k/XP clients
-     from receiving all the printer data in EnumPrinterDataEx()
-51)  Add option to compile new sam system can be enabled with the
-     configure option --with-sam
-52)  Added SGML/DocBook version of developer oriented docs to build process
-53)  Return correct FILE_SUPERSEDED response
-54)  Added example sam module (skeleton)
-55)  Add plugin support for the sam system (based on passdb code)
-56)  show builtin groups in samdump
-57)  Adding samtest utility used to test sam backends
-58)  fix connecting to a BDC when the PDC is down but in WINS and no bcast
-     can be used to find a BDC
-58)  convert the LDAP/SASL code to use GSS-SPNEGO if possible
-59)  added cli_net_auth_3 client code
-60)  merge of phant0m key fix from APP_HEAD
-61)  allow rpcclient's samlogon command to use cli_net_3()
-62)  Added attribute specific OPEN tests
-63)  Fix bug with stat mode open being done on read-only open with
-     truncate
-64)  Add lots of const casts to function parameters
-65)  Implemented some more client side spoolss functions
-66)  usrmgr expects UNICODE as ProductType
-67)  Change JOB_INFO_CTR to return a pointer to an array rather than array of
-     pointers in client code
-68)  Various NTLMSSP fixes
-69)  fixed crash bug in cli_connection code
-70)  DeletePrinterDriver[Ex]() fixes from APP_HEAD
-71)  remove some inet_aton() calls for portability
-72)  Set default ACB attributes on 'unixsam' accounts
-73)  Add bcast_msg_flags to connection struct
-74)  aggregate change notify events in the smbd sender and when transmitting
-75)  Added better error code on out of space in printer spool directory
-76)  Removed total jobs check ) not applicable any more
-77)  fixed bug in share enumeration RPC code
-78)  extend the ADS_STATUS system to include NTSTATUS
-79)  commit trusted domain patch n+3
-80)  remove block VFS module
-81)  restrict readline headers to readline.c
-82)  merge of various recycle bin VFS patches
-83)  Winbind client-side cleanups
-84)  change parametric option name to vfs_recycle_bin it is more
-     sane and do not pollute standard options namespace too much
-85)  added --enable-python configure option for building the samba-python
-     unit tests
-86)  correct trans2 bugs in client for enumerating files/directories
-87)  Re-add OS/2 EA error codes
-88)  Added patch for required attributes in directory listings to reply code
-89)  Fix browse synchronization bug by noticing that W2K DMB's return empty
-     NetServerEnum2 on port 445, but not on port 139
-90)  Fix semantics of AbortPrinter() spoolss call in server code
-91)  Ensure we've failed a lock with a lock denied message before automatically
-     pushing it onto the blocking queue
-92)  Added experimental sendfile code
-93)  Initialize user_rid value in WINBIND_USERINFO structure returned by
-     the rpc version of query_user()
-94)  added gencache implementation
-95)  Merge the cli_shutdown change from 2_2
-96)  Fixes for DeletePrinterDriverEx()
-97)  Fixed alignment error in spoolss code
-98)  Changed Major/Minor version info reported to Server Manager to 4.9
-99)  Applied new display mode FLAGS for SWAT
-100) Update to add DEVELOPER option to more parameters
-101) Added --with-ads option, defaults to yes
-102) Added --with-ldap option to configure
-103) Add clock skew handling to our kerberos code
-104) correct race condition in password change code for out machine account
-     when a member of a domain
-105) First implementation for 'net rpc vampire'
-106) store current handle's Device Mode with print job
-107) Move functionality to check whether entries for lp_workgroup() and
-     "BUILTIN" exist and add them if necessary from check_correct_backend_entries
-     into sam_context_check_default_backends
-108) allow --with-krb5 to override the location of the kerberos libs on
-    redhat
-109) unlink spool file after submitting print job when using CUPS api
-110) Add framework for samtest commands
-111) Add the ability to view/set the current local domain SIDs to net command
-112) When creating a group you have to take care of the fact that the
-     underlying unix might not like the group name
-113) Don't uppercase the username and domain in a session setup
-114) Merge of "profile acls" code from SAMBA_2_2
-115) Check for existing of security descriptor in PRINTER_INFO_2 structure
-     in rpc client code
-116) Move to common user token debugging, and ensure we always print both the
-     NT_TOKEN and the unix credentials
-117) If adding a user to ldap, make sure we have the 'account' structural class,
-     or else we can't add to OpenLDAP 2.1
-118) Kill of Get_Pwnam_Modify and smb_getpwnam()
-119) add a 'ldap passwd sync' option to smb.conf
-120) Whenever we deal with adding machine/trusted domain accounts, always reset
-     the flag to what we expect
-121) Fix the circular dependency that was preventing 'domain master = auto' (the
-     default) from working
-122) move all the passdb internal interface to NTSTATUS
-123) to expand % values (ie we go \\%L\%U -> \\server\user, we don't want to
-     store \\server\user back) and to correctly notice 'not set' compared to 'null
-     string' etc.
-124) get some more of our access control bits right on the SAMR pipe
-125) Add -r parameter to smbgroupedit. With -r you can manually choose
-     a rid
-
-Changes in alpha19
-1)  Virtual registry framework with printing hooks (jerry)
-2)  Heavy registry updates (jerry)
-3)  Use 850 as the default DOS character set in smb.conf (tpot)
-4)  printer fixes ) removed encoding of queueid in job number (jra)
-5)  A lot of small fixes (jra)
-6)  Don't crash on setfileinfo on printer fsp(jra)
-7)  fixed line buffer mode in XFILE(jra)
-8)  update samba.schema from 2.2 (jerry,idra)
-9)  Fix problem with oplock breaks and win2k )
-    noticed by Lev Iserovich <lev@ciprico.com> (jra)
-10) Update smbgroupedit to document -d ) thanks to metze (abartlet)
-11) Support weird behaviour used by win9x pass-through auth (abartlet,tpot)
-12) Support for duplicating stderr in log files (abartlet)
-13) Move startup time initialisation to server.c (abartlet)
-14) *A lot* of fixes and cleanups (abartlet)
-15) Fix up compiler warnings (abartlet)
-16) Few small fixes (tpot)
-17) Renamed new_cli_netlogon_* -> cli_netlogon_* (tpot)
-18) Fixed segfault in net time when host is unavailable (tridge)
-19) Ensure to be root when opening printer backend tdb (jra)
-20) Merges from APPLIANCE_HEAD (tpot,jerry)
-21) configure updates (tridge)
-22) getgrouplist() updates (tridge)
-23) Support for pdbedit to query account policy values (abartlet)
-24) Allow one to create trusting domain account using smbpasswd (mimir,abartlet)
-25) 'Net rpc trustdom list' (mimir, abartlet)
-26) Fix fallback to anonymous connection (mimir, abartlet)
-27) Fix for pdb_ldap and OpenLDAP 2.1
-28) Added support in swat to determine whether winbind is running (idra)
-29) Add 'hide unwritable' option (idra)
-30) Correct pickup of [homes] share after subsequent session setups (abartlet)
-31) Update rebind code in pdb_ldap (abartlet)
-32) Add some info levels to RPC srvsvc code )
-   thanks to Nigel Williams" <nigel@veritas.com> (abartlet)
-33) Small doc fixes (tridge)
-34) good security patch from Timothy.Sell@unisys.com (tridge)
-35) fix minor nits in nmbd from adtam@cup.hp.com (tridge)
-36) make sure async dns nmbd child dies (tridge)
-37) interim fix for nmbd not registering DOMAIN#1b (tridge)
-38) fix for smbtar filename matching (tridge)
-39) Better quote handling in smb.conf (abartlet)
-40) Support browsers setting multiple languages in swat (idra)
-41) Changed str_list_make to be able to use a different separator string (idra)
-42) Samsync support to insert account info into the pdb (tpot)
-43) Don't hide unwritable dirs when 'hide unwritable' is enabled )
-    suggested by Alexander Oswald <oswald@is.haw-hamburg.de> (idra)
-44) Fix for handling sparse files in smbd (tridge)
-45) Merges from 2_2 (jerry)
-46) Minor printer fixes (jerry)
-47) Add some checks to SID lookup code (abartlet)
-48) Cascaded VFS (Alexander Bokovoy, idra)
-49) Some netbios-less connections support in ADS mode (tridge)
-50) ADS tweaks (tridge)
-51) Fix plaintext passwords with win2k (tridge)
-52) 'net ads info' reports IP of LDAP server (tridge)
-53) Add some more RPC functions (jmcd)
-54) Add 'smb ports = ' option (tridge)
-55) Various small fixes (tridge)
-56) Passdb security checks (abartlet)
-57) Large winbind updates (abartlet)
-58) Moved rpc client routines from libsmb to rpc_client (tpot)
-59) Few nmbd fixes (jmcd)
-60) Fix swat to handle new debug level code (idra)
-61) Fix name length bug in namequeries (tridge)
-62) Don't have client binaries depend on libs they don't use )
-   patch from Steve Langasek <vorlon@netexpress.net> (abartlet)
-63) Printing change notification (merged from HEAD_APPLIANCE) (jerry)
-64) fix delete printer driver (from HEAD_APPLIANCE) (jerry)
-65) Added pdb_xml and pdb_mysql (jelmer)
-66) Update pdb_test (jelmer)
-67) Fix security issues with %m (abartlet)
-68) Support for service joins from win2k AND use SPNEGO (jmcd)
-69) pdbedit -i and -e fix, add -b (idra)
-70) textdocs converted to sgml (jelmer, jerry)
-71) Merge netbios namecache code from APPLIANCE_HEAD (tpot)
-72) Fix segs in new NTLMSSP code (abartlet)
-73) Always make guest rid 501 (abartlet)
-
+Changes in alpha22:
+-------------------
 
+  Added Parameters
+
+  * client NTLMv2 auth
+  * client lanman auth
+  * client signing
+  * client use spnego
+  * max reported print jobs
+  * msdfs proxy
+
+1)  remove the global_myname string and replace with wrapper function
+    global_myname()
+2)  create vfs/ and pdb/ subdirectories for library installs
+3)  Fixup of ordered cleanup of get_dc_list()
+4)  Added more autoconf tests for Stratus VOS
+5)  Fixed nasty bug where file writes with start offsets in the
+    range 0x80000000 -> 0xFFFFFFFF would fail as they were being cast
+    from IVAL (uint32) to SMB_OFF_T (off_t or off64_t, both *signed*
+    types).   The sign extension would cause the offset to be treated
+    as negative.
+6)  Add support to automatically retrieve the dns host name and domain
+    name of an AD server
+7)  Add support for PRINTER_INFO_7 and publishing printer attributes
+    in active directory
+8)  Fix for 64 bit issues with oplocks and allocation size
+9)  Remove assert(count ==1) for multi-homed PDCs when resolving
+    DOMAIN<0x1b>
+10) Ensure that change_trust_account_password() always talks to
+    the PDC
+11) Add some docs on CUPS printing
+12) Fix rpcclient querygroup command
+13) The _abs time functions should not be converting from/to GMT
+14) Fix broken incremental tar in smbclient
+15) Adding supporting code for better testing using Valgrind
+16) Fix for old DOS client when veto files is set to /.*/
+17) Add win32 utility to query driver capabilities to publish
+    (examples/printing/prtpub.c)
+18) Fix memory leak when constructing an driver_level_6 structure and
+    no dependent files
+19) Add some friendly versions of NT_STATUS codes
+20) Protect nmbd against malformed reply packets
+21) Removal of unpopular winbind client environment variable
+22) Add msdfs proxy functionality; a CIFS share can directly be a
+    stand-in for another share, and when clients connect to the first
+    share, they will be redirected to the proxied share
+23) Make Samba compile cleanly with -Wwrite-strings
+24) Add new timegm() that actually works on solaris
+25) Add support for running smbd, nmbd, & winbindd under the daemontools
+    package
+26) Move user password changes into the NTSTATUS era, and add support
+    for the 'min password age' and 'min passwd len' concepts
+27) Add new gencache based namecache code
+28) Add profiles utility support to Samba 3.0.x
+29) Fix open problem with changing attributes on an existing file
+30) Efficiency fixes for internal messaging system
+31) Make sure to update print queue cache during timeout_processing()
+    to send notify events
+32) Make -i flag work like it did in 2.2
+33) Merge some rpcclient and net functionality from HEAD
+34) Add support for compiling with Heimdal kerberos libraries
+35) Connect to the actual netbios name in smb.conf and not LOCALHOST
+36) Add support for CUPS-PRINTER_CLASS
+37) Add ntlm_auth tool and update NTLMSSP support
+38) require Autoconf 2.53 and remove configure from CVS
+39) Check for too many processes *before* the fork
+40) Fix delete on close semantics to match W2K.
+41) merge desired_access for open_printer_ex from HEAD, allowing
+    cupsaddsmb to work again!
+42) Add support for dynamic RPC modules
+43) wrap all cm_get_XX calls and their subsequent requests in a retry loop
+    in case we've temporarily lost connection to the DC. Makes winbindd
+    more reliable
+44) Optimize user_ok() and user_in_group() when verifying group membership
+45) Add NTLMv2 client code (that works) and some SMB signing fixes
+46) Add caching of PRINTER_INFO_2 structures to open printer handles
+47) Add 1/3 second delay in OpenPrinter() reply to trigger a LAN/WAN
+    optimization in Windows 2000 clients
+48) Add "WinXP" to the possible values of the %a variable
+49) Fix to allow blocking lock notification to be done rapidly (no wait for
+    smb -> smb lock release). Adds new PENDING_LOCK type to lockdb (does
+    not interfere with existing locks)
+50) Limit the unix domain sockets used by winbindd (also solves FD_SETSIZE
+    problem in winbindd to boot !). Adds a "last_access" field to winbindd
+    connections, and will close the oldest idle connection once the number
+    of open connections goes over WINBINDD_MAX_SIMULTANEOUS_CLIENTS (defined
+    in local.h as 200 currently)
+51) Limit the number of print jobs returned in EnumJobs()
 
 
index ffd8bd128d603ab896bb1cffac5ab4805c43de93..897074783c5b4d23f5b8d87b28c37965cc49e1e3 100644 (file)
@@ -1,59 +1,59 @@
 %PDF-1.3
 %âãÏÓ
-1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030403163339-0200)/Title(SAMBA Developers Guide)/Creator(Modular DocBook HTML Stylesheet Version 1.7)>>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
-5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
-6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Bold/Encoding 2 0 R>>endobj
-7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Italic/Encoding 2 0 R>>endobj
-8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-BoldItalic/Encoding 2 0 R>>endobj
-9 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
-10 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
-11 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Oblique/Encoding 2 0 R>>endobj
+5 0 obj<</Type/Font/Subtype/Type1/BaseFont/Courier-Oblique/Encoding 2 0 R>>endobj
+6 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Roman/Encoding 2 0 R>>endobj
+7 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Bold/Encoding 2 0 R>>endobj
+8 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-Italic/Encoding 2 0 R>>endobj
+9 0 obj<</Type/Font/Subtype/Type1/BaseFont/Times-BoldItalic/Encoding 2 0 R>>endobj
+10 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica/Encoding 2 0 R>>endobj
+11 0 obj<</Type/Font/Subtype/Type1/BaseFont/Helvetica-Bold/Encoding 2 0 R>>endobj
 12 0 obj<</Type/Font/Subtype/Type1/BaseFont/Symbol>>endobj
-13 0 obj<</Subtype/Link/Rect[72.0 684.0 197.9 697.0]/Border[0 0 0]/Dest[564 0 R/XYZ 0 734 0]>>endobj
-14 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[564 0 R/XYZ 0 696 0]>>endobj
-15 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[566 0 R/XYZ 0 734 0]>>endobj
-16 0 obj<</Subtype/Link/Rect[72.0 618.0 409.3 631.0]/Border[0 0 0]/Dest[574 0 R/XYZ 0 734 0]>>endobj
-17 0 obj<</Subtype/Link/Rect[108.0 604.8 173.7 617.8]/Border[0 0 0]/Dest[574 0 R/XYZ 0 672 0]>>endobj
-18 0 obj<</Subtype/Link/Rect[108.0 591.6 237.6 604.6]/Border[0 0 0]/Dest[574 0 R/XYZ 0 201 0]>>endobj
-19 0 obj<</Subtype/Link/Rect[108.0 578.4 200.3 591.4]/Border[0 0 0]/Dest[576 0 R/XYZ 0 705 0]>>endobj
-20 0 obj<</Subtype/Link/Rect[72.0 552.0 219.9 565.0]/Border[0 0 0]/Dest[578 0 R/XYZ 0 734 0]>>endobj
-21 0 obj<</Subtype/Link/Rect[108.0 538.8 181.6 551.8]/Border[0 0 0]/Dest[578 0 R/XYZ 0 696 0]>>endobj
-22 0 obj<</Subtype/Link/Rect[108.0 525.6 244.6 538.6]/Border[0 0 0]/Dest[578 0 R/XYZ 0 529 0]>>endobj
-23 0 obj<</Subtype/Link/Rect[108.0 512.4 199.0 525.4]/Border[0 0 0]/Dest[578 0 R/XYZ 0 335 0]>>endobj
-24 0 obj<</Subtype/Link/Rect[108.0 499.2 200.3 512.2]/Border[0 0 0]/Dest[580 0 R/XYZ 0 734 0]>>endobj
-25 0 obj<</Subtype/Link/Rect[108.0 486.0 186.2 499.0]/Border[0 0 0]/Dest[580 0 R/XYZ 0 434 0]>>endobj
-26 0 obj<</Subtype/Link/Rect[72.0 459.6 252.9 472.6]/Border[0 0 0]/Dest[582 0 R/XYZ 0 734 0]>>endobj
-27 0 obj<</Subtype/Link/Rect[108.0 446.4 214.6 459.4]/Border[0 0 0]/Dest[582 0 R/XYZ 0 696 0]>>endobj
-28 0 obj<</Subtype/Link/Rect[108.0 433.2 223.8 446.2]/Border[0 0 0]/Dest[584 0 R/XYZ 0 734 0]>>endobj
-29 0 obj<</Subtype/Link/Rect[108.0 420.0 247.6 433.0]/Border[0 0 0]/Dest[586 0 R/XYZ 0 734 0]>>endobj
-30 0 obj<</Subtype/Link/Rect[108.0 406.8 245.2 419.8]/Border[0 0 0]/Dest[586 0 R/XYZ 0 514 0]>>endobj
-31 0 obj<</Subtype/Link/Rect[108.0 393.6 194.2 406.6]/Border[0 0 0]/Dest[588 0 R/XYZ 0 734 0]>>endobj
-32 0 obj<</Subtype/Link/Rect[126.0 380.4 193.8 393.4]/Border[0 0 0]/Dest[588 0 R/XYZ 0 700 0]>>endobj
-33 0 obj<</Subtype/Link/Rect[126.0 367.2 192.0 380.2]/Border[0 0 0]/Dest[588 0 R/XYZ 0 602 0]>>endobj
-34 0 obj<</Subtype/Link/Rect[126.0 354.0 244.5 367.0]/Border[0 0 0]/Dest[588 0 R/XYZ 0 491 0]>>endobj
-35 0 obj<</Subtype/Link/Rect[72.0 327.6 216.8 340.6]/Border[0 0 0]/Dest[590 0 R/XYZ 0 734 0]>>endobj
-36 0 obj<</Subtype/Link/Rect[72.0 301.2 202.8 314.2]/Border[0 0 0]/Dest[594 0 R/XYZ 0 734 0]>>endobj
-37 0 obj<</Subtype/Link/Rect[108.0 288.0 213.7 301.0]/Border[0 0 0]/Dest[594 0 R/XYZ 0 696 0]>>endobj
-38 0 obj<</Subtype/Link/Rect[108.0 274.8 209.1 287.8]/Border[0 0 0]/Dest[594 0 R/XYZ 0 568 0]>>endobj
-39 0 obj<</Subtype/Link/Rect[108.0 261.6 224.7 274.6]/Border[0 0 0]/Dest[596 0 R/XYZ 0 705 0]>>endobj
-40 0 obj<</Subtype/Link/Rect[126.0 248.4 223.5 261.4]/Border[0 0 0]/Dest[596 0 R/XYZ 0 630 0]>>endobj
-41 0 obj<</Subtype/Link/Rect[126.0 235.2 222.2 248.2]/Border[0 0 0]/Dest[596 0 R/XYZ 0 571 0]>>endobj
-42 0 obj<</Subtype/Link/Rect[126.0 222.0 245.8 235.0]/Border[0 0 0]/Dest[596 0 R/XYZ 0 513 0]>>endobj
-43 0 obj<</Subtype/Link/Rect[126.0 208.8 222.2 221.8]/Border[0 0 0]/Dest[596 0 R/XYZ 0 455 0]>>endobj
-44 0 obj<</Subtype/Link/Rect[126.0 195.6 219.8 208.6]/Border[0 0 0]/Dest[596 0 R/XYZ 0 383 0]>>endobj
-45 0 obj<</Subtype/Link/Rect[126.0 182.4 228.4 195.4]/Border[0 0 0]/Dest[596 0 R/XYZ 0 325 0]>>endobj
-46 0 obj<</Subtype/Link/Rect[126.0 169.2 225.9 182.2]/Border[0 0 0]/Dest[596 0 R/XYZ 0 266 0]>>endobj
-47 0 obj<</Subtype/Link/Rect[126.0 156.0 244.5 169.0]/Border[0 0 0]/Dest[596 0 R/XYZ 0 208 0]>>endobj
-48 0 obj<</Subtype/Link/Rect[126.0 142.8 242.1 155.8]/Border[0 0 0]/Dest[596 0 R/XYZ 0 149 0]>>endobj
-49 0 obj<</Subtype/Link/Rect[126.0 129.6 256.2 142.6]/Border[0 0 0]/Dest[598 0 R/XYZ 0 734 0]>>endobj
-50 0 obj<</Subtype/Link/Rect[126.0 116.4 253.7 129.4]/Border[0 0 0]/Dest[598 0 R/XYZ 0 675 0]>>endobj
-51 0 obj<</Subtype/Link/Rect[126.0 103.2 235.1 116.2]/Border[0 0 0]/Dest[598 0 R/XYZ 0 617 0]>>endobj
-52 0 obj<</Subtype/Link/Rect[126.0 90.0 232.6 103.0]/Border[0 0 0]/Dest[598 0 R/XYZ 0 558 0]>>endobj
-53 0 obj<</Subtype/Link/Rect[126.0 76.8 257.4 89.8]/Border[0 0 0]/Dest[598 0 R/XYZ 0 500 0]>>endobj
-54 0 obj<</Subtype/Link/Rect[126.0 63.6 254.9 76.6]/Border[0 0 0]/Dest[598 0 R/XYZ 0 428 0]>>endobj
+13 0 obj<</Subtype/Link/Rect[72.0 684.0 197.9 697.0]/Border[0 0 0]/Dest[524 0 R/XYZ 0 734 0]>>endobj
+14 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[524 0 R/XYZ 0 696 0]>>endobj
+15 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[526 0 R/XYZ 0 734 0]>>endobj
+16 0 obj<</Subtype/Link/Rect[72.0 618.0 409.3 631.0]/Border[0 0 0]/Dest[532 0 R/XYZ 0 734 0]>>endobj
+17 0 obj<</Subtype/Link/Rect[108.0 604.8 173.7 617.8]/Border[0 0 0]/Dest[532 0 R/XYZ 0 672 0]>>endobj
+18 0 obj<</Subtype/Link/Rect[108.0 591.6 237.6 604.6]/Border[0 0 0]/Dest[532 0 R/XYZ 0 201 0]>>endobj
+19 0 obj<</Subtype/Link/Rect[108.0 578.4 200.3 591.4]/Border[0 0 0]/Dest[534 0 R/XYZ 0 705 0]>>endobj
+20 0 obj<</Subtype/Link/Rect[72.0 552.0 219.9 565.0]/Border[0 0 0]/Dest[536 0 R/XYZ 0 734 0]>>endobj
+21 0 obj<</Subtype/Link/Rect[108.0 538.8 181.6 551.8]/Border[0 0 0]/Dest[536 0 R/XYZ 0 696 0]>>endobj
+22 0 obj<</Subtype/Link/Rect[108.0 525.6 244.6 538.6]/Border[0 0 0]/Dest[536 0 R/XYZ 0 529 0]>>endobj
+23 0 obj<</Subtype/Link/Rect[108.0 512.4 199.0 525.4]/Border[0 0 0]/Dest[536 0 R/XYZ 0 335 0]>>endobj
+24 0 obj<</Subtype/Link/Rect[108.0 499.2 200.3 512.2]/Border[0 0 0]/Dest[538 0 R/XYZ 0 734 0]>>endobj
+25 0 obj<</Subtype/Link/Rect[108.0 486.0 186.2 499.0]/Border[0 0 0]/Dest[538 0 R/XYZ 0 434 0]>>endobj
+26 0 obj<</Subtype/Link/Rect[72.0 459.6 252.9 472.6]/Border[0 0 0]/Dest[540 0 R/XYZ 0 734 0]>>endobj
+27 0 obj<</Subtype/Link/Rect[108.0 446.4 214.6 459.4]/Border[0 0 0]/Dest[540 0 R/XYZ 0 696 0]>>endobj
+28 0 obj<</Subtype/Link/Rect[108.0 433.2 223.8 446.2]/Border[0 0 0]/Dest[542 0 R/XYZ 0 734 0]>>endobj
+29 0 obj<</Subtype/Link/Rect[108.0 420.0 247.6 433.0]/Border[0 0 0]/Dest[544 0 R/XYZ 0 734 0]>>endobj
+30 0 obj<</Subtype/Link/Rect[108.0 406.8 245.2 419.8]/Border[0 0 0]/Dest[544 0 R/XYZ 0 514 0]>>endobj
+31 0 obj<</Subtype/Link/Rect[108.0 393.6 194.2 406.6]/Border[0 0 0]/Dest[546 0 R/XYZ 0 734 0]>>endobj
+32 0 obj<</Subtype/Link/Rect[126.0 380.4 193.8 393.4]/Border[0 0 0]/Dest[546 0 R/XYZ 0 700 0]>>endobj
+33 0 obj<</Subtype/Link/Rect[126.0 367.2 192.0 380.2]/Border[0 0 0]/Dest[546 0 R/XYZ 0 602 0]>>endobj
+34 0 obj<</Subtype/Link/Rect[126.0 354.0 244.5 367.0]/Border[0 0 0]/Dest[546 0 R/XYZ 0 491 0]>>endobj
+35 0 obj<</Subtype/Link/Rect[72.0 327.6 216.8 340.6]/Border[0 0 0]/Dest[548 0 R/XYZ 0 734 0]>>endobj
+36 0 obj<</Subtype/Link/Rect[72.0 301.2 202.8 314.2]/Border[0 0 0]/Dest[552 0 R/XYZ 0 734 0]>>endobj
+37 0 obj<</Subtype/Link/Rect[108.0 288.0 213.7 301.0]/Border[0 0 0]/Dest[552 0 R/XYZ 0 696 0]>>endobj
+38 0 obj<</Subtype/Link/Rect[108.0 274.8 209.1 287.8]/Border[0 0 0]/Dest[552 0 R/XYZ 0 568 0]>>endobj
+39 0 obj<</Subtype/Link/Rect[108.0 261.6 224.7 274.6]/Border[0 0 0]/Dest[554 0 R/XYZ 0 705 0]>>endobj
+40 0 obj<</Subtype/Link/Rect[126.0 248.4 223.5 261.4]/Border[0 0 0]/Dest[554 0 R/XYZ 0 630 0]>>endobj
+41 0 obj<</Subtype/Link/Rect[126.0 235.2 222.2 248.2]/Border[0 0 0]/Dest[554 0 R/XYZ 0 571 0]>>endobj
+42 0 obj<</Subtype/Link/Rect[126.0 222.0 245.8 235.0]/Border[0 0 0]/Dest[554 0 R/XYZ 0 513 0]>>endobj
+43 0 obj<</Subtype/Link/Rect[126.0 208.8 222.2 221.8]/Border[0 0 0]/Dest[554 0 R/XYZ 0 455 0]>>endobj
+44 0 obj<</Subtype/Link/Rect[126.0 195.6 219.8 208.6]/Border[0 0 0]/Dest[554 0 R/XYZ 0 383 0]>>endobj
+45 0 obj<</Subtype/Link/Rect[126.0 182.4 228.4 195.4]/Border[0 0 0]/Dest[554 0 R/XYZ 0 325 0]>>endobj
+46 0 obj<</Subtype/Link/Rect[126.0 169.2 225.9 182.2]/Border[0 0 0]/Dest[554 0 R/XYZ 0 266 0]>>endobj
+47 0 obj<</Subtype/Link/Rect[126.0 156.0 244.5 169.0]/Border[0 0 0]/Dest[554 0 R/XYZ 0 208 0]>>endobj
+48 0 obj<</Subtype/Link/Rect[126.0 142.8 242.1 155.8]/Border[0 0 0]/Dest[554 0 R/XYZ 0 149 0]>>endobj
+49 0 obj<</Subtype/Link/Rect[126.0 129.6 256.2 142.6]/Border[0 0 0]/Dest[556 0 R/XYZ 0 734 0]>>endobj
+50 0 obj<</Subtype/Link/Rect[126.0 116.4 253.7 129.4]/Border[0 0 0]/Dest[556 0 R/XYZ 0 675 0]>>endobj
+51 0 obj<</Subtype/Link/Rect[126.0 103.2 235.1 116.2]/Border[0 0 0]/Dest[556 0 R/XYZ 0 617 0]>>endobj
+52 0 obj<</Subtype/Link/Rect[126.0 90.0 232.6 103.0]/Border[0 0 0]/Dest[556 0 R/XYZ 0 558 0]>>endobj
+53 0 obj<</Subtype/Link/Rect[126.0 76.8 257.4 89.8]/Border[0 0 0]/Dest[556 0 R/XYZ 0 500 0]>>endobj
+54 0 obj<</Subtype/Link/Rect[126.0 63.6 254.9 76.6]/Border[0 0 0]/Dest[556 0 R/XYZ 0 428 0]>>endobj
 55 0 obj[13 0 R
 14 0 R
 15 0 R
 52 0 R
 53 0 R
 54 0 R]endobj
-56 0 obj<</Subtype/Link/Rect[72.0 684.0 202.8 697.0]/Border[0 0 0]/Dest[594 0 R/XYZ 0 734 0]>>endobj
-57 0 obj<</Subtype/Link/Rect[108.0 670.8 244.9 683.8]/Border[0 0 0]/Dest[598 0 R/XYZ 0 370 0]>>endobj
-58 0 obj<</Subtype/Link/Rect[126.0 657.6 202.4 670.6]/Border[0 0 0]/Dest[598 0 R/XYZ 0 220 0]>>endobj
-59 0 obj<</Subtype/Link/Rect[126.0 644.4 210.0 657.4]/Border[0 0 0]/Dest[600 0 R/XYZ 0 441 0]>>endobj
-60 0 obj<</Subtype/Link/Rect[108.0 631.2 217.7 644.2]/Border[0 0 0]/Dest[602 0 R/XYZ 0 734 0]>>endobj
-61 0 obj<</Subtype/Link/Rect[72.0 604.8 205.8 617.8]/Border[0 0 0]/Dest[604 0 R/XYZ 0 734 0]>>endobj
-62 0 obj<</Subtype/Link/Rect[108.0 591.6 201.5 604.6]/Border[0 0 0]/Dest[604 0 R/XYZ 0 696 0]>>endobj
-63 0 obj<</Subtype/Link/Rect[126.0 578.4 260.4 591.4]/Border[0 0 0]/Dest[604 0 R/XYZ 0 423 0]>>endobj
-64 0 obj<</Subtype/Link/Rect[126.0 565.2 289.5 578.2]/Border[0 0 0]/Dest[604 0 R/XYZ 0 259 0]>>endobj
-65 0 obj<</Subtype/Link/Rect[126.0 552.0 266.6 565.0]/Border[0 0 0]/Dest[606 0 R/XYZ 0 652 0]>>endobj
-66 0 obj<</Subtype/Link/Rect[108.0 538.8 157.8 551.8]/Border[0 0 0]/Dest[606 0 R/XYZ 0 240 0]>>endobj
-67 0 obj<</Subtype/Link/Rect[126.0 525.6 223.2 538.6]/Border[0 0 0]/Dest[608 0 R/XYZ 0 665 0]>>endobj
-68 0 obj<</Subtype/Link/Rect[72.0 499.2 246.5 512.2]/Border[0 0 0]/Dest[610 0 R/XYZ 0 734 0]>>endobj
-69 0 obj<</Subtype/Link/Rect[108.0 486.0 181.6 499.0]/Border[0 0 0]/Dest[610 0 R/XYZ 0 696 0]>>endobj
-70 0 obj<</Subtype/Link/Rect[108.0 472.8 176.1 485.8]/Border[0 0 0]/Dest[610 0 R/XYZ 0 595 0]>>endobj
-71 0 obj<</Subtype/Link/Rect[108.0 459.6 195.4 472.6]/Border[0 0 0]/Dest[610 0 R/XYZ 0 216 0]>>endobj
-72 0 obj<</Subtype/Link/Rect[108.0 446.4 173.7 459.4]/Border[0 0 0]/Dest[612 0 R/XYZ 0 692 0]>>endobj
-73 0 obj<</Subtype/Link/Rect[108.0 433.2 163.9 446.2]/Border[0 0 0]/Dest[612 0 R/XYZ 0 458 0]>>endobj
-74 0 obj<</Subtype/Link/Rect[108.0 420.0 183.8 433.0]/Border[0 0 0]/Dest[614 0 R/XYZ 0 734 0]>>endobj
-75 0 obj<</Subtype/Link/Rect[108.0 406.8 194.8 419.8]/Border[0 0 0]/Dest[614 0 R/XYZ 0 566 0]>>endobj
-76 0 obj<</Subtype/Link/Rect[108.0 393.6 186.2 406.6]/Border[0 0 0]/Dest[614 0 R/XYZ 0 438 0]>>endobj
-77 0 obj<</Subtype/Link/Rect[108.0 380.4 219.2 393.4]/Border[0 0 0]/Dest[614 0 R/XYZ 0 178 0]>>endobj
-78 0 obj<</Subtype/Link/Rect[72.0 354.0 253.5 367.0]/Border[0 0 0]/Dest[618 0 R/XYZ 0 734 0]>>endobj
-79 0 obj<</Subtype/Link/Rect[72.0 327.6 212.9 340.6]/Border[0 0 0]/Dest[622 0 R/XYZ 0 734 0]>>endobj
-80 0 obj<</Subtype/Link/Rect[108.0 314.4 181.6 327.4]/Border[0 0 0]/Dest[622 0 R/XYZ 0 696 0]>>endobj
-81 0 obj<</Subtype/Link/Rect[126.0 301.2 188.3 314.2]/Border[0 0 0]/Dest[624 0 R/XYZ 0 626 0]>>endobj
-82 0 obj<</Subtype/Link/Rect[126.0 288.0 185.3 301.0]/Border[0 0 0]/Dest[624 0 R/XYZ 0 516 0]>>endobj
-83 0 obj<</Subtype/Link/Rect[108.0 274.8 218.9 287.8]/Border[0 0 0]/Dest[624 0 R/XYZ 0 394 0]>>endobj
-84 0 obj<</Subtype/Link/Rect[126.0 261.6 179.2 274.6]/Border[0 0 0]/Dest[624 0 R/XYZ 0 360 0]>>endobj
-85 0 obj<</Subtype/Link/Rect[126.0 248.4 214.6 261.4]/Border[0 0 0]/Dest[626 0 R/XYZ 0 718 0]>>endobj
-86 0 obj<</Subtype/Link/Rect[126.0 235.2 198.1 248.2]/Border[0 0 0]/Dest[626 0 R/XYZ 0 235 0]>>endobj
-87 0 obj<</Subtype/Link/Rect[108.0 222.0 283.7 235.0]/Border[0 0 0]/Dest[646 0 R/XYZ 0 428 0]>>endobj
-88 0 obj<</Subtype/Link/Rect[126.0 208.8 216.8 221.8]/Border[0 0 0]/Dest[646 0 R/XYZ 0 366 0]>>endobj
-89 0 obj<</Subtype/Link/Rect[126.0 195.6 185.3 208.6]/Border[0 0 0]/Dest[648 0 R/XYZ 0 567 0]>>endobj
-90 0 obj<</Subtype/Link/Rect[126.0 182.4 171.2 195.4]/Border[0 0 0]/Dest[656 0 R/XYZ 0 531 0]>>endobj
-91 0 obj<</Subtype/Link/Rect[126.0 169.2 249.5 182.2]/Border[0 0 0]/Dest[656 0 R/XYZ 0 407 0]>>endobj
-92 0 obj<</Subtype/Link/Rect[126.0 156.0 286.4 169.0]/Border[0 0 0]/Dest[658 0 R/XYZ 0 548 0]>>endobj
-93 0 obj<</Subtype/Link/Rect[126.0 142.8 231.7 155.8]/Border[0 0 0]/Dest[658 0 R/XYZ 0 140 0]>>endobj
-94 0 obj<</Subtype/Link/Rect[126.0 129.6 256.5 142.6]/Border[0 0 0]/Dest[660 0 R/XYZ 0 492 0]>>endobj
-95 0 obj<</Subtype/Link/Rect[126.0 116.4 303.5 129.4]/Border[0 0 0]/Dest[660 0 R/XYZ 0 145 0]>>endobj
-96 0 obj<</Subtype/Link/Rect[126.0 103.2 231.1 116.2]/Border[0 0 0]/Dest[662 0 R/XYZ 0 586 0]>>endobj
-97 0 obj<</Subtype/Link/Rect[126.0 90.0 207.6 103.0]/Border[0 0 0]/Dest[662 0 R/XYZ 0 301 0]>>endobj
-98 0 obj<</Subtype/Link/Rect[126.0 76.8 243.3 89.8]/Border[0 0 0]/Dest[664 0 R/XYZ 0 734 0]>>endobj
-99 0 obj<</Subtype/Link/Rect[126.0 63.6 250.0 76.6]/Border[0 0 0]/Dest[664 0 R/XYZ 0 249 0]>>endobj
+56 0 obj<</Subtype/Link/Rect[72.0 684.0 202.8 697.0]/Border[0 0 0]/Dest[552 0 R/XYZ 0 734 0]>>endobj
+57 0 obj<</Subtype/Link/Rect[108.0 670.8 244.9 683.8]/Border[0 0 0]/Dest[556 0 R/XYZ 0 370 0]>>endobj
+58 0 obj<</Subtype/Link/Rect[126.0 657.6 202.4 670.6]/Border[0 0 0]/Dest[556 0 R/XYZ 0 220 0]>>endobj
+59 0 obj<</Subtype/Link/Rect[126.0 644.4 210.0 657.4]/Border[0 0 0]/Dest[558 0 R/XYZ 0 441 0]>>endobj
+60 0 obj<</Subtype/Link/Rect[108.0 631.2 217.7 644.2]/Border[0 0 0]/Dest[560 0 R/XYZ 0 734 0]>>endobj
+61 0 obj<</Subtype/Link/Rect[72.0 604.8 205.8 617.8]/Border[0 0 0]/Dest[562 0 R/XYZ 0 734 0]>>endobj
+62 0 obj<</Subtype/Link/Rect[108.0 591.6 201.5 604.6]/Border[0 0 0]/Dest[562 0 R/XYZ 0 696 0]>>endobj
+63 0 obj<</Subtype/Link/Rect[126.0 578.4 260.4 591.4]/Border[0 0 0]/Dest[562 0 R/XYZ 0 423 0]>>endobj
+64 0 obj<</Subtype/Link/Rect[126.0 565.2 289.5 578.2]/Border[0 0 0]/Dest[562 0 R/XYZ 0 259 0]>>endobj
+65 0 obj<</Subtype/Link/Rect[126.0 552.0 266.6 565.0]/Border[0 0 0]/Dest[564 0 R/XYZ 0 652 0]>>endobj
+66 0 obj<</Subtype/Link/Rect[108.0 538.8 157.8 551.8]/Border[0 0 0]/Dest[564 0 R/XYZ 0 240 0]>>endobj
+67 0 obj<</Subtype/Link/Rect[126.0 525.6 223.2 538.6]/Border[0 0 0]/Dest[566 0 R/XYZ 0 665 0]>>endobj
+68 0 obj<</Subtype/Link/Rect[72.0 499.2 246.5 512.2]/Border[0 0 0]/Dest[568 0 R/XYZ 0 734 0]>>endobj
+69 0 obj<</Subtype/Link/Rect[108.0 486.0 181.6 499.0]/Border[0 0 0]/Dest[568 0 R/XYZ 0 696 0]>>endobj
+70 0 obj<</Subtype/Link/Rect[108.0 472.8 176.1 485.8]/Border[0 0 0]/Dest[568 0 R/XYZ 0 595 0]>>endobj
+71 0 obj<</Subtype/Link/Rect[108.0 459.6 195.4 472.6]/Border[0 0 0]/Dest[568 0 R/XYZ 0 216 0]>>endobj
+72 0 obj<</Subtype/Link/Rect[108.0 446.4 173.7 459.4]/Border[0 0 0]/Dest[570 0 R/XYZ 0 692 0]>>endobj
+73 0 obj<</Subtype/Link/Rect[108.0 433.2 163.9 446.2]/Border[0 0 0]/Dest[570 0 R/XYZ 0 458 0]>>endobj
+74 0 obj<</Subtype/Link/Rect[108.0 420.0 183.8 433.0]/Border[0 0 0]/Dest[572 0 R/XYZ 0 734 0]>>endobj
+75 0 obj<</Subtype/Link/Rect[108.0 406.8 194.8 419.8]/Border[0 0 0]/Dest[572 0 R/XYZ 0 566 0]>>endobj
+76 0 obj<</Subtype/Link/Rect[108.0 393.6 186.2 406.6]/Border[0 0 0]/Dest[572 0 R/XYZ 0 438 0]>>endobj
+77 0 obj<</Subtype/Link/Rect[108.0 380.4 219.2 393.4]/Border[0 0 0]/Dest[572 0 R/XYZ 0 178 0]>>endobj
+78 0 obj<</Subtype/Link/Rect[72.0 354.0 253.5 367.0]/Border[0 0 0]/Dest[576 0 R/XYZ 0 734 0]>>endobj
+79 0 obj<</Subtype/Link/Rect[72.0 327.6 212.9 340.6]/Border[0 0 0]/Dest[580 0 R/XYZ 0 734 0]>>endobj
+80 0 obj<</Subtype/Link/Rect[108.0 314.4 181.6 327.4]/Border[0 0 0]/Dest[580 0 R/XYZ 0 696 0]>>endobj
+81 0 obj<</Subtype/Link/Rect[126.0 301.2 188.3 314.2]/Border[0 0 0]/Dest[582 0 R/XYZ 0 626 0]>>endobj
+82 0 obj<</Subtype/Link/Rect[126.0 288.0 185.3 301.0]/Border[0 0 0]/Dest[582 0 R/XYZ 0 516 0]>>endobj
+83 0 obj<</Subtype/Link/Rect[108.0 274.8 218.9 287.8]/Border[0 0 0]/Dest[582 0 R/XYZ 0 394 0]>>endobj
+84 0 obj<</Subtype/Link/Rect[126.0 261.6 179.2 274.6]/Border[0 0 0]/Dest[582 0 R/XYZ 0 360 0]>>endobj
+85 0 obj<</Subtype/Link/Rect[126.0 248.4 214.6 261.4]/Border[0 0 0]/Dest[584 0 R/XYZ 0 718 0]>>endobj
+86 0 obj<</Subtype/Link/Rect[126.0 235.2 198.1 248.2]/Border[0 0 0]/Dest[584 0 R/XYZ 0 235 0]>>endobj
+87 0 obj<</Subtype/Link/Rect[108.0 222.0 283.7 235.0]/Border[0 0 0]/Dest[604 0 R/XYZ 0 428 0]>>endobj
+88 0 obj<</Subtype/Link/Rect[126.0 208.8 216.8 221.8]/Border[0 0 0]/Dest[604 0 R/XYZ 0 366 0]>>endobj
+89 0 obj<</Subtype/Link/Rect[126.0 195.6 185.3 208.6]/Border[0 0 0]/Dest[606 0 R/XYZ 0 567 0]>>endobj
+90 0 obj<</Subtype/Link/Rect[126.0 182.4 171.2 195.4]/Border[0 0 0]/Dest[614 0 R/XYZ 0 531 0]>>endobj
+91 0 obj<</Subtype/Link/Rect[126.0 169.2 249.5 182.2]/Border[0 0 0]/Dest[614 0 R/XYZ 0 407 0]>>endobj
+92 0 obj<</Subtype/Link/Rect[126.0 156.0 286.4 169.0]/Border[0 0 0]/Dest[616 0 R/XYZ 0 548 0]>>endobj
+93 0 obj<</Subtype/Link/Rect[126.0 142.8 231.7 155.8]/Border[0 0 0]/Dest[616 0 R/XYZ 0 140 0]>>endobj
+94 0 obj<</Subtype/Link/Rect[126.0 129.6 256.5 142.6]/Border[0 0 0]/Dest[618 0 R/XYZ 0 492 0]>>endobj
+95 0 obj<</Subtype/Link/Rect[126.0 116.4 303.5 129.4]/Border[0 0 0]/Dest[618 0 R/XYZ 0 145 0]>>endobj
+96 0 obj<</Subtype/Link/Rect[126.0 103.2 231.1 116.2]/Border[0 0 0]/Dest[620 0 R/XYZ 0 586 0]>>endobj
+97 0 obj<</Subtype/Link/Rect[126.0 90.0 207.6 103.0]/Border[0 0 0]/Dest[620 0 R/XYZ 0 301 0]>>endobj
+98 0 obj<</Subtype/Link/Rect[126.0 76.8 243.3 89.8]/Border[0 0 0]/Dest[622 0 R/XYZ 0 734 0]>>endobj
+99 0 obj<</Subtype/Link/Rect[126.0 63.6 250.0 76.6]/Border[0 0 0]/Dest[622 0 R/XYZ 0 249 0]>>endobj
 100 0 obj[56 0 R
 57 0 R
 58 0 R
 97 0 R
 98 0 R
 99 0 R]endobj
-101 0 obj<</Subtype/Link/Rect[72.0 684.0 212.9 697.0]/Border[0 0 0]/Dest[622 0 R/XYZ 0 734 0]>>endobj
-102 0 obj<</Subtype/Link/Rect[108.0 670.8 301.4 683.8]/Border[0 0 0]/Dest[666 0 R/XYZ 0 413 0]>>endobj
-103 0 obj<</Subtype/Link/Rect[126.0 657.6 259.8 670.6]/Border[0 0 0]/Dest[668 0 R/XYZ 0 665 0]>>endobj
-104 0 obj<</Subtype/Link/Rect[126.0 644.4 241.5 657.4]/Border[0 0 0]/Dest[668 0 R/XYZ 0 273 0]>>endobj
-105 0 obj<</Subtype/Link/Rect[126.0 631.2 267.5 644.2]/Border[0 0 0]/Dest[670 0 R/XYZ 0 531 0]>>endobj
-106 0 obj<</Subtype/Link/Rect[126.0 618.0 232.3 631.0]/Border[0 0 0]/Dest[670 0 R/XYZ 0 165 0]>>endobj
-107 0 obj<</Subtype/Link/Rect[126.0 604.8 234.2 617.8]/Border[0 0 0]/Dest[672 0 R/XYZ 0 353 0]>>endobj
-108 0 obj<</Subtype/Link/Rect[108.0 591.6 269.6 604.6]/Border[0 0 0]/Dest[674 0 R/XYZ 0 734 0]>>endobj
-109 0 obj<</Subtype/Link/Rect[126.0 578.4 220.7 591.4]/Border[0 0 0]/Dest[674 0 R/XYZ 0 658 0]>>endobj
-110 0 obj<</Subtype/Link/Rect[126.0 565.2 208.8 578.2]/Border[0 0 0]/Dest[676 0 R/XYZ 0 734 0]>>endobj
-111 0 obj<</Subtype/Link/Rect[108.0 552.0 267.5 565.0]/Border[0 0 0]/Dest[678 0 R/XYZ 0 705 0]>>endobj
-112 0 obj<</Subtype/Link/Rect[126.0 538.8 226.2 551.8]/Border[0 0 0]/Dest[678 0 R/XYZ 0 577 0]>>endobj
-113 0 obj<</Subtype/Link/Rect[126.0 525.6 240.6 538.6]/Border[0 0 0]/Dest[680 0 R/XYZ 0 734 0]>>endobj
-114 0 obj<</Subtype/Link/Rect[108.0 512.4 346.9 525.4]/Border[0 0 0]/Dest[680 0 R/XYZ 0 433 0]>>endobj
-115 0 obj<</Subtype/Link/Rect[126.0 499.2 203.0 512.2]/Border[0 0 0]/Dest[680 0 R/XYZ 0 400 0]>>endobj
-116 0 obj<</Subtype/Link/Rect[126.0 486.0 190.8 499.0]/Border[0 0 0]/Dest[682 0 R/XYZ 0 734 0]>>endobj
-117 0 obj<</Subtype/Link/Rect[126.0 472.8 201.2 485.8]/Border[0 0 0]/Dest[682 0 R/XYZ 0 295 0]>>endobj
-118 0 obj<</Subtype/Link/Rect[108.0 459.6 193.9 472.6]/Border[0 0 0]/Dest[684 0 R/XYZ 0 705 0]>>endobj
-119 0 obj<</Subtype/Link/Rect[126.0 446.4 235.8 459.4]/Border[0 0 0]/Dest[684 0 R/XYZ 0 545 0]>>endobj
-120 0 obj<</Subtype/Link/Rect[126.0 433.2 238.8 446.2]/Border[0 0 0]/Dest[686 0 R/XYZ 0 573 0]>>endobj
-121 0 obj<</Subtype/Link/Rect[72.0 406.8 250.1 419.8]/Border[0 0 0]/Dest[692 0 R/XYZ 0 734 0]>>endobj
-122 0 obj<</Subtype/Link/Rect[108.0 393.6 170.0 406.6]/Border[0 0 0]/Dest[692 0 R/XYZ 0 696 0]>>endobj
-123 0 obj<</Subtype/Link/Rect[108.0 380.4 307.2 393.4]/Border[0 0 0]/Dest[692 0 R/XYZ 0 621 0]>>endobj
-124 0 obj<</Subtype/Link/Rect[108.0 367.2 216.6 380.2]/Border[0 0 0]/Dest[692 0 R/XYZ 0 361 0]>>endobj
-125 0 obj<</Subtype/Link/Rect[108.0 354.0 365.6 367.0]/Border[0 0 0]/Dest[696 0 R/XYZ 0 692 0]>>endobj
-126 0 obj<</Subtype/Link/Rect[108.0 340.8 309.3 353.8]/Border[0 0 0]/Dest[696 0 R/XYZ 0 630 0]>>endobj
-127 0 obj<</Subtype/Link/Rect[72.0 314.4 240.4 327.4]/Border[0 0 0]/Dest[702 0 R/XYZ 0 734 0]>>endobj
-128 0 obj<</Subtype/Link/Rect[108.0 301.2 200.3 314.2]/Border[0 0 0]/Dest[702 0 R/XYZ 0 696 0]>>endobj
-129 0 obj<</Subtype/Link/Rect[72.0 274.8 263.3 287.8]/Border[0 0 0]/Dest[704 0 R/XYZ 0 734 0]>>endobj
-130 0 obj<</Subtype/Link/Rect[108.0 261.6 248.5 274.6]/Border[0 0 0]/Dest[704 0 R/XYZ 0 696 0]>>endobj
-131 0 obj<</Subtype/Link/Rect[108.0 248.4 236.0 261.4]/Border[0 0 0]/Dest[706 0 R/XYZ 0 639 0]>>endobj
-132 0 obj<</Subtype/Link/Rect[108.0 235.2 291.6 248.2]/Border[0 0 0]/Dest[706 0 R/XYZ 0 498 0]>>endobj
-133 0 obj<</Subtype/Link/Rect[108.0 222.0 162.7 235.0]/Border[0 0 0]/Dest[706 0 R/XYZ 0 198 0]>>endobj
-134 0 obj<</Subtype/Link/Rect[126.0 208.8 210.9 221.8]/Border[0 0 0]/Dest[706 0 R/XYZ 0 165 0]>>endobj
-135 0 obj<</Subtype/Link/Rect[126.0 195.6 224.7 208.6]/Border[0 0 0]/Dest[708 0 R/XYZ 0 734 0]>>endobj
-136 0 obj<</Subtype/Link/Rect[126.0 182.4 224.1 195.4]/Border[0 0 0]/Dest[708 0 R/XYZ 0 596 0]>>endobj
-137 0 obj<</Subtype/Link/Rect[108.0 169.2 197.8 182.2]/Border[0 0 0]/Dest[708 0 R/XYZ 0 485 0]>>endobj
-138 0 obj<</Subtype/Link/Rect[126.0 156.0 287.3 169.0]/Border[0 0 0]/Dest[708 0 R/XYZ 0 451 0]>>endobj
-139 0 obj<</Subtype/Link/Rect[126.0 142.8 196.9 155.8]/Border[0 0 0]/Dest[708 0 R/XYZ 0 366 0]>>endobj
-140 0 obj<</Subtype/Link/Rect[108.0 129.6 230.8 142.6]/Border[0 0 0]/Dest[708 0 R/XYZ 0 229 0]>>endobj
-141 0 obj<</Subtype/Link/Rect[108.0 116.4 165.8 129.4]/Border[0 0 0]/Dest[710 0 R/XYZ 0 489 0]>>endobj
-142 0 obj<</Subtype/Link/Rect[72.0 90.0 313.7 103.0]/Border[0 0 0]/Dest[712 0 R/XYZ 0 734 0]>>endobj
-143 0 obj<</Subtype/Link/Rect[108.0 76.8 187.1 89.8]/Border[0 0 0]/Dest[712 0 R/XYZ 0 696 0]>>endobj
-144 0 obj<</Subtype/Link/Rect[108.0 63.6 216.2 76.6]/Border[0 0 0]/Dest[712 0 R/XYZ 0 568 0]>>endobj
+101 0 obj<</Subtype/Link/Rect[72.0 684.0 212.9 697.0]/Border[0 0 0]/Dest[580 0 R/XYZ 0 734 0]>>endobj
+102 0 obj<</Subtype/Link/Rect[108.0 670.8 301.4 683.8]/Border[0 0 0]/Dest[624 0 R/XYZ 0 413 0]>>endobj
+103 0 obj<</Subtype/Link/Rect[126.0 657.6 259.8 670.6]/Border[0 0 0]/Dest[626 0 R/XYZ 0 665 0]>>endobj
+104 0 obj<</Subtype/Link/Rect[126.0 644.4 241.5 657.4]/Border[0 0 0]/Dest[626 0 R/XYZ 0 273 0]>>endobj
+105 0 obj<</Subtype/Link/Rect[126.0 631.2 267.5 644.2]/Border[0 0 0]/Dest[628 0 R/XYZ 0 531 0]>>endobj
+106 0 obj<</Subtype/Link/Rect[126.0 618.0 232.3 631.0]/Border[0 0 0]/Dest[628 0 R/XYZ 0 165 0]>>endobj
+107 0 obj<</Subtype/Link/Rect[126.0 604.8 234.2 617.8]/Border[0 0 0]/Dest[630 0 R/XYZ 0 353 0]>>endobj
+108 0 obj<</Subtype/Link/Rect[108.0 591.6 269.6 604.6]/Border[0 0 0]/Dest[632 0 R/XYZ 0 734 0]>>endobj
+109 0 obj<</Subtype/Link/Rect[126.0 578.4 220.7 591.4]/Border[0 0 0]/Dest[632 0 R/XYZ 0 658 0]>>endobj
+110 0 obj<</Subtype/Link/Rect[126.0 565.2 208.8 578.2]/Border[0 0 0]/Dest[634 0 R/XYZ 0 734 0]>>endobj
+111 0 obj<</Subtype/Link/Rect[108.0 552.0 267.5 565.0]/Border[0 0 0]/Dest[636 0 R/XYZ 0 705 0]>>endobj
+112 0 obj<</Subtype/Link/Rect[126.0 538.8 226.2 551.8]/Border[0 0 0]/Dest[636 0 R/XYZ 0 577 0]>>endobj
+113 0 obj<</Subtype/Link/Rect[126.0 525.6 240.6 538.6]/Border[0 0 0]/Dest[638 0 R/XYZ 0 734 0]>>endobj
+114 0 obj<</Subtype/Link/Rect[108.0 512.4 346.9 525.4]/Border[0 0 0]/Dest[638 0 R/XYZ 0 433 0]>>endobj
+115 0 obj<</Subtype/Link/Rect[126.0 499.2 203.0 512.2]/Border[0 0 0]/Dest[638 0 R/XYZ 0 400 0]>>endobj
+116 0 obj<</Subtype/Link/Rect[126.0 486.0 190.8 499.0]/Border[0 0 0]/Dest[640 0 R/XYZ 0 734 0]>>endobj
+117 0 obj<</Subtype/Link/Rect[126.0 472.8 201.2 485.8]/Border[0 0 0]/Dest[640 0 R/XYZ 0 385 0]>>endobj
+118 0 obj<</Subtype/Link/Rect[108.0 459.6 193.9 472.6]/Border[0 0 0]/Dest[640 0 R/XYZ 0 128 0]>>endobj
+119 0 obj<</Subtype/Link/Rect[126.0 446.4 235.8 459.4]/Border[0 0 0]/Dest[642 0 R/XYZ 0 633 0]>>endobj
+120 0 obj<</Subtype/Link/Rect[126.0 433.2 238.8 446.2]/Border[0 0 0]/Dest[644 0 R/XYZ 0 665 0]>>endobj
+121 0 obj<</Subtype/Link/Rect[72.0 406.8 250.1 419.8]/Border[0 0 0]/Dest[648 0 R/XYZ 0 734 0]>>endobj
+122 0 obj<</Subtype/Link/Rect[108.0 393.6 170.0 406.6]/Border[0 0 0]/Dest[648 0 R/XYZ 0 696 0]>>endobj
+123 0 obj<</Subtype/Link/Rect[108.0 380.4 307.2 393.4]/Border[0 0 0]/Dest[648 0 R/XYZ 0 621 0]>>endobj
+124 0 obj<</Subtype/Link/Rect[108.0 367.2 216.6 380.2]/Border[0 0 0]/Dest[648 0 R/XYZ 0 361 0]>>endobj
+125 0 obj<</Subtype/Link/Rect[108.0 354.0 358.2 367.0]/Border[0 0 0]/Dest[652 0 R/XYZ 0 692 0]>>endobj
+126 0 obj<</Subtype/Link/Rect[108.0 340.8 309.3 353.8]/Border[0 0 0]/Dest[652 0 R/XYZ 0 630 0]>>endobj
+127 0 obj<</Subtype/Link/Rect[72.0 314.4 240.4 327.4]/Border[0 0 0]/Dest[658 0 R/XYZ 0 734 0]>>endobj
+128 0 obj<</Subtype/Link/Rect[108.0 301.2 200.3 314.2]/Border[0 0 0]/Dest[658 0 R/XYZ 0 696 0]>>endobj
+129 0 obj<</Subtype/Link/Rect[72.0 274.8 263.3 287.8]/Border[0 0 0]/Dest[660 0 R/XYZ 0 734 0]>>endobj
+130 0 obj<</Subtype/Link/Rect[108.0 261.6 248.5 274.6]/Border[0 0 0]/Dest[660 0 R/XYZ 0 696 0]>>endobj
+131 0 obj<</Subtype/Link/Rect[108.0 248.4 236.0 261.4]/Border[0 0 0]/Dest[662 0 R/XYZ 0 639 0]>>endobj
+132 0 obj<</Subtype/Link/Rect[108.0 235.2 291.6 248.2]/Border[0 0 0]/Dest[662 0 R/XYZ 0 498 0]>>endobj
+133 0 obj<</Subtype/Link/Rect[108.0 222.0 162.7 235.0]/Border[0 0 0]/Dest[662 0 R/XYZ 0 198 0]>>endobj
+134 0 obj<</Subtype/Link/Rect[126.0 208.8 210.9 221.8]/Border[0 0 0]/Dest[662 0 R/XYZ 0 165 0]>>endobj
+135 0 obj<</Subtype/Link/Rect[126.0 195.6 224.7 208.6]/Border[0 0 0]/Dest[664 0 R/XYZ 0 734 0]>>endobj
+136 0 obj<</Subtype/Link/Rect[126.0 182.4 224.1 195.4]/Border[0 0 0]/Dest[664 0 R/XYZ 0 596 0]>>endobj
+137 0 obj<</Subtype/Link/Rect[108.0 169.2 197.8 182.2]/Border[0 0 0]/Dest[664 0 R/XYZ 0 485 0]>>endobj
+138 0 obj<</Subtype/Link/Rect[126.0 156.0 287.3 169.0]/Border[0 0 0]/Dest[664 0 R/XYZ 0 451 0]>>endobj
+139 0 obj<</Subtype/Link/Rect[126.0 142.8 196.9 155.8]/Border[0 0 0]/Dest[664 0 R/XYZ 0 366 0]>>endobj
+140 0 obj<</Subtype/Link/Rect[108.0 129.6 230.8 142.6]/Border[0 0 0]/Dest[664 0 R/XYZ 0 229 0]>>endobj
+141 0 obj<</Subtype/Link/Rect[108.0 116.4 165.8 129.4]/Border[0 0 0]/Dest[666 0 R/XYZ 0 489 0]>>endobj
+142 0 obj<</Subtype/Link/Rect[72.0 90.0 313.7 103.0]/Border[0 0 0]/Dest[668 0 R/XYZ 0 734 0]>>endobj
+143 0 obj<</Subtype/Link/Rect[108.0 76.8 187.1 89.8]/Border[0 0 0]/Dest[668 0 R/XYZ 0 696 0]>>endobj
+144 0 obj<</Subtype/Link/Rect[108.0 63.6 216.2 76.6]/Border[0 0 0]/Dest[668 0 R/XYZ 0 568 0]>>endobj
 145 0 obj[101 0 R
 102 0 R
 103 0 R
 142 0 R
 143 0 R
 144 0 R]endobj
-146 0 obj<</Subtype/Link/Rect[72.0 684.0 313.7 697.0]/Border[0 0 0]/Dest[712 0 R/XYZ 0 734 0]>>endobj
-147 0 obj<</Subtype/Link/Rect[108.0 670.8 226.9 683.8]/Border[0 0 0]/Dest[714 0 R/XYZ 0 718 0]>>endobj
-148 0 obj<</Subtype/Link/Rect[72.0 644.4 170.7 657.4]/Border[0 0 0]/Dest[718 0 R/XYZ 0 734 0]>>endobj
-149 0 obj<</Subtype/Link/Rect[108.0 631.2 184.7 644.2]/Border[0 0 0]/Dest[718 0 R/XYZ 0 696 0]>>endobj
-150 0 obj<</Subtype/Link/Rect[108.0 618.0 209.4 631.0]/Border[0 0 0]/Dest[718 0 R/XYZ 0 541 0]>>endobj
-151 0 obj<</Subtype/Link/Rect[126.0 604.8 224.1 617.8]/Border[0 0 0]/Dest[718 0 R/XYZ 0 402 0]>>endobj
-152 0 obj<</Subtype/Link/Rect[126.0 591.6 229.6 604.6]/Border[0 0 0]/Dest[718 0 R/XYZ 0 256 0]>>endobj
-153 0 obj<</Subtype/Link/Rect[108.0 578.4 207.0 591.4]/Border[0 0 0]/Dest[720 0 R/XYZ 0 734 0]>>endobj
-154 0 obj<</Subtype/Link/Rect[126.0 565.2 327.0 578.2]/Border[0 0 0]/Dest[720 0 R/XYZ 0 464 0]>>endobj
-155 0 obj<</Subtype/Link/Rect[72.0 538.8 245.3 551.8]/Border[0 0 0]/Dest[722 0 R/XYZ 0 734 0]>>endobj
-156 0 obj<</Subtype/Link/Rect[108.0 525.6 160.2 538.6]/Border[0 0 0]/Dest[722 0 R/XYZ 0 696 0]>>endobj
-157 0 obj<</Subtype/Link/Rect[108.0 512.4 213.7 525.4]/Border[0 0 0]/Dest[722 0 R/XYZ 0 595 0]>>endobj
-158 0 obj<</Subtype/Link/Rect[72.0 486.0 218.9 499.0]/Border[0 0 0]/Dest[724 0 R/XYZ 0 734 0]>>endobj
-159 0 obj<</Subtype/Link/Rect[108.0 472.8 181.6 485.8]/Border[0 0 0]/Dest[724 0 R/XYZ 0 696 0]>>endobj
-160 0 obj<</Subtype/Link/Rect[108.0 459.6 171.2 472.6]/Border[0 0 0]/Dest[724 0 R/XYZ 0 584 0]>>endobj
-161 0 obj[146 0 R
-147 0 R
-148 0 R
-149 0 R
-150 0 R
-151 0 R
+146 0 obj<</Subtype/Link/Rect[72.0 684.0 313.7 697.0]/Border[0 0 0]/Dest[668 0 R/XYZ 0 734 0]>>endobj
+147 0 obj<</Subtype/Link/Rect[108.0 670.8 220.7 683.8]/Border[0 0 0]/Dest[670 0 R/XYZ 0 718 0]>>endobj
+148 0 obj[146 0 R
+147 0 R]endobj
+149 0 obj<</S/URI/URI(http://devel.samba.org/)>>endobj
+150 0 obj<</Subtype/Link/Rect[139.5 617.8 243.7 630.8]/Border[0 0 0]/A 149 0 R>>endobj
+151 0 obj<</S/URI/URI(mailto:jelmer@samba.org)>>endobj
+152 0 obj<</Subtype/Link/Rect[347.9 617.8 434.4 630.8]/Border[0 0 0]/A 151 0 R>>endobj
+153 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
+154 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 153 0 R>>endobj
+155 0 obj<</Subtype/Link/Rect[80.2 525.4 351.6 538.4]/Border[0 0 0]/Dest[532 0 R/XYZ 0 734 0]>>endobj
+156 0 obj<</Subtype/Link/Rect[124.5 512.2 171.2 525.2]/Border[0 0 0]/Dest[532 0 R/XYZ 0 672 0]>>endobj
+157 0 obj<</Subtype/Link/Rect[124.5 499.0 230.8 512.0]/Border[0 0 0]/Dest[532 0 R/XYZ 0 201 0]>>endobj
+158 0 obj<</Subtype/Link/Rect[124.5 485.8 196.0 498.8]/Border[0 0 0]/Dest[534 0 R/XYZ 0 705 0]>>endobj
+159 0 obj<</Subtype/Link/Rect[80.2 472.6 170.7 485.6]/Border[0 0 0]/Dest[536 0 R/XYZ 0 734 0]>>endobj
+160 0 obj<</Subtype/Link/Rect[124.5 459.4 182.2 472.4]/Border[0 0 0]/Dest[536 0 R/XYZ 0 696 0]>>endobj
+161 0 obj<</Subtype/Link/Rect[124.5 446.2 245.8 459.2]/Border[0 0 0]/Dest[536 0 R/XYZ 0 529 0]>>endobj
+162 0 obj<</Subtype/Link/Rect[124.5 433.0 199.1 446.0]/Border[0 0 0]/Dest[536 0 R/XYZ 0 335 0]>>endobj
+163 0 obj<</Subtype/Link/Rect[124.5 419.8 200.3 432.8]/Border[0 0 0]/Dest[538 0 R/XYZ 0 734 0]>>endobj
+164 0 obj<</Subtype/Link/Rect[124.5 406.6 185.6 419.6]/Border[0 0 0]/Dest[538 0 R/XYZ 0 434 0]>>endobj
+165 0 obj<</Subtype/Link/Rect[80.2 393.4 203.1 406.4]/Border[0 0 0]/Dest[540 0 R/XYZ 0 734 0]>>endobj
+166 0 obj<</Subtype/Link/Rect[124.5 380.2 212.2 393.2]/Border[0 0 0]/Dest[540 0 R/XYZ 0 696 0]>>endobj
+167 0 obj<</Subtype/Link/Rect[124.5 367.0 223.2 380.0]/Border[0 0 0]/Dest[542 0 R/XYZ 0 734 0]>>endobj
+168 0 obj<</Subtype/Link/Rect[124.5 353.8 245.8 366.8]/Border[0 0 0]/Dest[544 0 R/XYZ 0 734 0]>>endobj
+169 0 obj<</Subtype/Link/Rect[124.5 340.6 242.1 353.6]/Border[0 0 0]/Dest[544 0 R/XYZ 0 514 0]>>endobj
+170 0 obj<</Subtype/Link/Rect[124.5 327.4 193.6 340.4]/Border[0 0 0]/Dest[546 0 R/XYZ 0 734 0]>>endobj
+171 0 obj<</Subtype/Link/Rect[168.8 314.2 211.2 327.2]/Border[0 0 0]/Dest[546 0 R/XYZ 0 700 0]>>endobj
+172 0 obj<</Subtype/Link/Rect[168.8 301.0 210.6 314.0]/Border[0 0 0]/Dest[546 0 R/XYZ 0 602 0]>>endobj
+173 0 obj<</Subtype/Link/Rect[168.8 287.8 261.9 300.8]/Border[0 0 0]/Dest[546 0 R/XYZ 0 491 0]>>endobj
+174 0 obj<</Subtype/Link/Rect[80.2 274.6 170.7 287.6]/Border[0 0 0]/Dest[548 0 R/XYZ 0 734 0]>>endobj
+175 0 obj<</Subtype/Link/Rect[80.2 261.4 155.4 274.4]/Border[0 0 0]/Dest[552 0 R/XYZ 0 734 0]>>endobj
+176 0 obj<</Subtype/Link/Rect[124.5 248.2 216.8 261.2]/Border[0 0 0]/Dest[552 0 R/XYZ 0 696 0]>>endobj
+177 0 obj<</Subtype/Link/Rect[124.5 235.0 207.3 248.0]/Border[0 0 0]/Dest[552 0 R/XYZ 0 568 0]>>endobj
+178 0 obj<</Subtype/Link/Rect[124.5 221.8 225.9 234.8]/Border[0 0 0]/Dest[554 0 R/XYZ 0 705 0]>>endobj
+179 0 obj<</Subtype/Link/Rect[168.8 208.6 237.8 221.6]/Border[0 0 0]/Dest[554 0 R/XYZ 0 630 0]>>endobj
+180 0 obj<</Subtype/Link/Rect[168.8 195.4 237.2 208.4]/Border[0 0 0]/Dest[554 0 R/XYZ 0 571 0]>>endobj
+181 0 obj<</Subtype/Link/Rect[168.8 182.2 259.5 195.2]/Border[0 0 0]/Dest[554 0 R/XYZ 0 513 0]>>endobj
+182 0 obj<</Subtype/Link/Rect[168.8 169.0 236.0 182.0]/Border[0 0 0]/Dest[554 0 R/XYZ 0 455 0]>>endobj
+183 0 obj<</Subtype/Link/Rect[168.8 155.8 234.1 168.8]/Border[0 0 0]/Dest[554 0 R/XYZ 0 383 0]>>endobj
+184 0 obj<</Subtype/Link/Rect[168.8 142.6 241.5 155.6]/Border[0 0 0]/Dest[554 0 R/XYZ 0 325 0]>>endobj
+185 0 obj<</Subtype/Link/Rect[168.8 129.4 239.6 142.4]/Border[0 0 0]/Dest[554 0 R/XYZ 0 266 0]>>endobj
+186 0 obj<</Subtype/Link/Rect[168.8 116.2 257.7 129.2]/Border[0 0 0]/Dest[554 0 R/XYZ 0 208 0]>>endobj
+187 0 obj<</Subtype/Link/Rect[168.8 103.0 255.8 116.0]/Border[0 0 0]/Dest[554 0 R/XYZ 0 149 0]>>endobj
+188 0 obj<</Subtype/Link/Rect[174.2 89.8 268.7 102.8]/Border[0 0 0]/Dest[556 0 R/XYZ 0 734 0]>>endobj
+189 0 obj<</Subtype/Link/Rect[174.2 76.6 266.8 89.6]/Border[0 0 0]/Dest[556 0 R/XYZ 0 675 0]>>endobj
+190 0 obj<</Subtype/Link/Rect[174.2 63.4 248.2 76.4]/Border[0 0 0]/Dest[556 0 R/XYZ 0 617 0]>>endobj
+191 0 obj[150 0 R
 152 0 R
-153 0 R
 154 0 R
 155 0 R
 156 0 R
 157 0 R
 158 0 R
 159 0 R
-160 0 R]endobj
-162 0 obj<</S/URI/URI(http://devel.samba.org/)>>endobj
-163 0 obj<</Subtype/Link/Rect[139.5 617.8 243.7 630.8]/Border[0 0 0]/A 162 0 R>>endobj
-164 0 obj<</S/URI/URI(mailto:jelmer@samba.org)>>endobj
-165 0 obj<</Subtype/Link/Rect[347.9 617.8 434.4 630.8]/Border[0 0 0]/A 164 0 R>>endobj
-166 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
-167 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 166 0 R>>endobj
-168 0 obj<</Subtype/Link/Rect[80.2 525.4 351.6 538.4]/Border[0 0 0]/Dest[574 0 R/XYZ 0 734 0]>>endobj
-169 0 obj<</Subtype/Link/Rect[124.5 512.2 171.2 525.2]/Border[0 0 0]/Dest[574 0 R/XYZ 0 672 0]>>endobj
-170 0 obj<</Subtype/Link/Rect[124.5 499.0 230.8 512.0]/Border[0 0 0]/Dest[574 0 R/XYZ 0 201 0]>>endobj
-171 0 obj<</Subtype/Link/Rect[124.5 485.8 196.0 498.8]/Border[0 0 0]/Dest[576 0 R/XYZ 0 705 0]>>endobj
-172 0 obj<</Subtype/Link/Rect[80.2 472.6 170.7 485.6]/Border[0 0 0]/Dest[578 0 R/XYZ 0 734 0]>>endobj
-173 0 obj<</Subtype/Link/Rect[124.5 459.4 182.2 472.4]/Border[0 0 0]/Dest[578 0 R/XYZ 0 696 0]>>endobj
-174 0 obj<</Subtype/Link/Rect[124.5 446.2 245.8 459.2]/Border[0 0 0]/Dest[578 0 R/XYZ 0 529 0]>>endobj
-175 0 obj<</Subtype/Link/Rect[124.5 433.0 199.1 446.0]/Border[0 0 0]/Dest[578 0 R/XYZ 0 335 0]>>endobj
-176 0 obj<</Subtype/Link/Rect[124.5 419.8 200.3 432.8]/Border[0 0 0]/Dest[580 0 R/XYZ 0 734 0]>>endobj
-177 0 obj<</Subtype/Link/Rect[124.5 406.6 185.6 419.6]/Border[0 0 0]/Dest[580 0 R/XYZ 0 434 0]>>endobj
-178 0 obj<</Subtype/Link/Rect[80.2 393.4 203.1 406.4]/Border[0 0 0]/Dest[582 0 R/XYZ 0 734 0]>>endobj
-179 0 obj<</Subtype/Link/Rect[124.5 380.2 212.2 393.2]/Border[0 0 0]/Dest[582 0 R/XYZ 0 696 0]>>endobj
-180 0 obj<</Subtype/Link/Rect[124.5 367.0 223.2 380.0]/Border[0 0 0]/Dest[584 0 R/XYZ 0 734 0]>>endobj
-181 0 obj<</Subtype/Link/Rect[124.5 353.8 245.8 366.8]/Border[0 0 0]/Dest[586 0 R/XYZ 0 734 0]>>endobj
-182 0 obj<</Subtype/Link/Rect[124.5 340.6 242.1 353.6]/Border[0 0 0]/Dest[586 0 R/XYZ 0 514 0]>>endobj
-183 0 obj<</Subtype/Link/Rect[124.5 327.4 193.6 340.4]/Border[0 0 0]/Dest[588 0 R/XYZ 0 734 0]>>endobj
-184 0 obj<</Subtype/Link/Rect[168.8 314.2 211.2 327.2]/Border[0 0 0]/Dest[588 0 R/XYZ 0 700 0]>>endobj
-185 0 obj<</Subtype/Link/Rect[168.8 301.0 210.6 314.0]/Border[0 0 0]/Dest[588 0 R/XYZ 0 602 0]>>endobj
-186 0 obj<</Subtype/Link/Rect[168.8 287.8 261.9 300.8]/Border[0 0 0]/Dest[588 0 R/XYZ 0 491 0]>>endobj
-187 0 obj<</Subtype/Link/Rect[80.2 274.6 170.7 287.6]/Border[0 0 0]/Dest[590 0 R/XYZ 0 734 0]>>endobj
-188 0 obj<</Subtype/Link/Rect[80.2 261.4 155.4 274.4]/Border[0 0 0]/Dest[594 0 R/XYZ 0 734 0]>>endobj
-189 0 obj<</Subtype/Link/Rect[124.5 248.2 216.8 261.2]/Border[0 0 0]/Dest[594 0 R/XYZ 0 696 0]>>endobj
-190 0 obj<</Subtype/Link/Rect[124.5 235.0 207.3 248.0]/Border[0 0 0]/Dest[594 0 R/XYZ 0 568 0]>>endobj
-191 0 obj<</Subtype/Link/Rect[124.5 221.8 225.9 234.8]/Border[0 0 0]/Dest[596 0 R/XYZ 0 705 0]>>endobj
-192 0 obj<</Subtype/Link/Rect[168.8 208.6 237.8 221.6]/Border[0 0 0]/Dest[596 0 R/XYZ 0 630 0]>>endobj
-193 0 obj<</Subtype/Link/Rect[168.8 195.4 237.2 208.4]/Border[0 0 0]/Dest[596 0 R/XYZ 0 571 0]>>endobj
-194 0 obj<</Subtype/Link/Rect[168.8 182.2 259.5 195.2]/Border[0 0 0]/Dest[596 0 R/XYZ 0 513 0]>>endobj
-195 0 obj<</Subtype/Link/Rect[168.8 169.0 236.0 182.0]/Border[0 0 0]/Dest[596 0 R/XYZ 0 455 0]>>endobj
-196 0 obj<</Subtype/Link/Rect[168.8 155.8 234.1 168.8]/Border[0 0 0]/Dest[596 0 R/XYZ 0 383 0]>>endobj
-197 0 obj<</Subtype/Link/Rect[168.8 142.6 241.5 155.6]/Border[0 0 0]/Dest[596 0 R/XYZ 0 325 0]>>endobj
-198 0 obj<</Subtype/Link/Rect[168.8 129.4 239.6 142.4]/Border[0 0 0]/Dest[596 0 R/XYZ 0 266 0]>>endobj
-199 0 obj<</Subtype/Link/Rect[168.8 116.2 257.7 129.2]/Border[0 0 0]/Dest[596 0 R/XYZ 0 208 0]>>endobj
-200 0 obj<</Subtype/Link/Rect[168.8 103.0 255.8 116.0]/Border[0 0 0]/Dest[596 0 R/XYZ 0 149 0]>>endobj
-201 0 obj<</Subtype/Link/Rect[174.2 89.8 268.7 102.8]/Border[0 0 0]/Dest[598 0 R/XYZ 0 734 0]>>endobj
-202 0 obj<</Subtype/Link/Rect[174.2 76.6 266.8 89.6]/Border[0 0 0]/Dest[598 0 R/XYZ 0 675 0]>>endobj
-203 0 obj<</Subtype/Link/Rect[174.2 63.4 248.2 76.4]/Border[0 0 0]/Dest[598 0 R/XYZ 0 617 0]>>endobj
-204 0 obj[163 0 R
+160 0 R
+161 0 R
+162 0 R
+163 0 R
+164 0 R
 165 0 R
+166 0 R
 167 0 R
 168 0 R
 169 0 R
 187 0 R
 188 0 R
 189 0 R
-190 0 R
-191 0 R
-192 0 R
+190 0 R]endobj
+192 0 obj<</Subtype/Link/Rect[174.2 721.0 246.4 734.0]/Border[0 0 0]/Dest[556 0 R/XYZ 0 558 0]>>endobj
+193 0 obj<</Subtype/Link/Rect[174.2 707.8 269.9 720.8]/Border[0 0 0]/Dest[556 0 R/XYZ 0 500 0]>>endobj
+194 0 obj<</Subtype/Link/Rect[174.2 694.6 268.0 707.6]/Border[0 0 0]/Dest[556 0 R/XYZ 0 428 0]>>endobj
+195 0 obj<</Subtype/Link/Rect[124.5 681.4 243.0 694.4]/Border[0 0 0]/Dest[556 0 R/XYZ 0 370 0]>>endobj
+196 0 obj<</Subtype/Link/Rect[168.8 668.2 222.8 681.2]/Border[0 0 0]/Dest[556 0 R/XYZ 0 220 0]>>endobj
+197 0 obj<</Subtype/Link/Rect[168.8 655.0 228.0 668.0]/Border[0 0 0]/Dest[558 0 R/XYZ 0 441 0]>>endobj
+198 0 obj<</Subtype/Link/Rect[124.5 641.8 220.7 654.8]/Border[0 0 0]/Dest[560 0 R/XYZ 0 734 0]>>endobj
+199 0 obj<</Subtype/Link/Rect[80.2 628.6 158.5 641.6]/Border[0 0 0]/Dest[562 0 R/XYZ 0 734 0]>>endobj
+200 0 obj<</Subtype/Link/Rect[124.5 615.4 199.7 628.4]/Border[0 0 0]/Dest[562 0 R/XYZ 0 696 0]>>endobj
+201 0 obj<</Subtype/Link/Rect[168.8 602.2 277.8 615.2]/Border[0 0 0]/Dest[562 0 R/XYZ 0 423 0]>>endobj
+202 0 obj<</Subtype/Link/Rect[168.8 589.0 307.5 602.0]/Border[0 0 0]/Dest[562 0 R/XYZ 0 259 0]>>endobj
+203 0 obj<</Subtype/Link/Rect[168.8 575.8 284.6 588.8]/Border[0 0 0]/Dest[564 0 R/XYZ 0 652 0]>>endobj
+204 0 obj<</Subtype/Link/Rect[124.5 562.6 156.6 575.6]/Border[0 0 0]/Dest[564 0 R/XYZ 0 240 0]>>endobj
+205 0 obj<</Subtype/Link/Rect[168.8 549.4 241.2 562.4]/Border[0 0 0]/Dest[566 0 R/XYZ 0 665 0]>>endobj
+206 0 obj<</Subtype/Link/Rect[80.2 536.2 196.0 549.2]/Border[0 0 0]/Dest[568 0 R/XYZ 0 734 0]>>endobj
+207 0 obj<</Subtype/Link/Rect[124.5 523.0 182.2 536.0]/Border[0 0 0]/Dest[568 0 R/XYZ 0 696 0]>>endobj
+208 0 obj<</Subtype/Link/Rect[124.5 509.8 176.7 522.8]/Border[0 0 0]/Dest[568 0 R/XYZ 0 595 0]>>endobj
+209 0 obj<</Subtype/Link/Rect[124.5 496.6 196.0 509.6]/Border[0 0 0]/Dest[568 0 R/XYZ 0 216 0]>>endobj
+210 0 obj<</Subtype/Link/Rect[124.5 483.4 174.9 496.4]/Border[0 0 0]/Dest[570 0 R/XYZ 0 692 0]>>endobj
+211 0 obj<</Subtype/Link/Rect[124.5 470.2 162.7 483.2]/Border[0 0 0]/Dest[570 0 R/XYZ 0 458 0]>>endobj
+212 0 obj<</Subtype/Link/Rect[124.5 457.0 182.5 470.0]/Border[0 0 0]/Dest[572 0 R/XYZ 0 734 0]>>endobj
+213 0 obj<</Subtype/Link/Rect[124.5 443.8 196.0 456.8]/Border[0 0 0]/Dest[572 0 R/XYZ 0 566 0]>>endobj
+214 0 obj<</Subtype/Link/Rect[124.5 430.6 187.4 443.6]/Border[0 0 0]/Dest[572 0 R/XYZ 0 438 0]>>endobj
+215 0 obj<</Subtype/Link/Rect[124.5 417.4 218.6 430.4]/Border[0 0 0]/Dest[572 0 R/XYZ 0 178 0]>>endobj
+216 0 obj<</Subtype/Link/Rect[80.2 404.2 204.9 417.2]/Border[0 0 0]/Dest[576 0 R/XYZ 0 734 0]>>endobj
+217 0 obj<</Subtype/Link/Rect[80.2 391.0 164.8 404.0]/Border[0 0 0]/Dest[580 0 R/XYZ 0 734 0]>>endobj
+218 0 obj<</Subtype/Link/Rect[124.5 377.8 182.2 390.8]/Border[0 0 0]/Dest[580 0 R/XYZ 0 696 0]>>endobj
+219 0 obj<</Subtype/Link/Rect[168.8 364.6 206.3 377.6]/Border[0 0 0]/Dest[582 0 R/XYZ 0 626 0]>>endobj
+220 0 obj<</Subtype/Link/Rect[168.8 351.4 203.9 364.4]/Border[0 0 0]/Dest[582 0 R/XYZ 0 516 0]>>endobj
+221 0 obj<</Subtype/Link/Rect[124.5 338.2 219.5 351.2]/Border[0 0 0]/Dest[582 0 R/XYZ 0 394 0]>>endobj
+222 0 obj<</Subtype/Link/Rect[168.8 325.0 196.6 338.0]/Border[0 0 0]/Dest[582 0 R/XYZ 0 360 0]>>endobj
+223 0 obj<</Subtype/Link/Rect[168.8 311.8 233.2 324.8]/Border[0 0 0]/Dest[584 0 R/XYZ 0 718 0]>>endobj
+224 0 obj<</Subtype/Link/Rect[168.8 298.6 216.7 311.6]/Border[0 0 0]/Dest[584 0 R/XYZ 0 235 0]>>endobj
+225 0 obj<</Subtype/Link/Rect[124.5 285.4 283.7 298.4]/Border[0 0 0]/Dest[604 0 R/XYZ 0 428 0]>>endobj
+226 0 obj<</Subtype/Link/Rect[168.8 272.2 234.1 285.2]/Border[0 0 0]/Dest[604 0 R/XYZ 0 366 0]>>endobj
+227 0 obj<</Subtype/Link/Rect[168.8 259.0 204.5 272.0]/Border[0 0 0]/Dest[606 0 R/XYZ 0 567 0]>>endobj
+228 0 obj<</Subtype/Link/Rect[168.8 245.8 189.2 258.8]/Border[0 0 0]/Dest[614 0 R/XYZ 0 531 0]>>endobj
+229 0 obj<</Subtype/Link/Rect[168.8 232.6 264.4 245.6]/Border[0 0 0]/Dest[614 0 R/XYZ 0 407 0]>>endobj
+230 0 obj<</Subtype/Link/Rect[168.8 219.4 302.0 232.4]/Border[0 0 0]/Dest[616 0 R/XYZ 0 548 0]>>endobj
+231 0 obj<</Subtype/Link/Rect[168.8 206.2 247.3 219.2]/Border[0 0 0]/Dest[616 0 R/XYZ 0 140 0]>>endobj
+232 0 obj<</Subtype/Link/Rect[168.8 193.0 271.4 206.0]/Border[0 0 0]/Dest[618 0 R/XYZ 0 492 0]>>endobj
+233 0 obj<</Subtype/Link/Rect[168.8 179.8 319.7 192.8]/Border[0 0 0]/Dest[618 0 R/XYZ 0 145 0]>>endobj
+234 0 obj<</Subtype/Link/Rect[168.8 166.6 246.7 179.6]/Border[0 0 0]/Dest[620 0 R/XYZ 0 586 0]>>endobj
+235 0 obj<</Subtype/Link/Rect[174.2 153.4 223.1 166.4]/Border[0 0 0]/Dest[620 0 R/XYZ 0 301 0]>>endobj
+236 0 obj<</Subtype/Link/Rect[174.2 140.2 256.4 153.2]/Border[0 0 0]/Dest[622 0 R/XYZ 0 734 0]>>endobj
+237 0 obj<</Subtype/Link/Rect[174.2 127.0 263.8 140.0]/Border[0 0 0]/Dest[622 0 R/XYZ 0 249 0]>>endobj
+238 0 obj<</Subtype/Link/Rect[124.5 113.8 300.8 126.8]/Border[0 0 0]/Dest[624 0 R/XYZ 0 413 0]>>endobj
+239 0 obj<</Subtype/Link/Rect[168.8 100.6 275.4 113.6]/Border[0 0 0]/Dest[626 0 R/XYZ 0 665 0]>>endobj
+240 0 obj<</Subtype/Link/Rect[168.8 87.4 256.4 100.4]/Border[0 0 0]/Dest[626 0 R/XYZ 0 273 0]>>endobj
+241 0 obj<</Subtype/Link/Rect[168.8 74.2 283.6 87.2]/Border[0 0 0]/Dest[628 0 R/XYZ 0 531 0]>>endobj
+242 0 obj<</Subtype/Link/Rect[168.8 61.0 244.8 74.0]/Border[0 0 0]/Dest[628 0 R/XYZ 0 165 0]>>endobj
+243 0 obj[192 0 R
 193 0 R
 194 0 R
 195 0 R
 200 0 R
 201 0 R
 202 0 R
-203 0 R]endobj
-205 0 obj<</Subtype/Link/Rect[174.2 721.0 246.4 734.0]/Border[0 0 0]/Dest[598 0 R/XYZ 0 558 0]>>endobj
-206 0 obj<</Subtype/Link/Rect[174.2 707.8 269.9 720.8]/Border[0 0 0]/Dest[598 0 R/XYZ 0 500 0]>>endobj
-207 0 obj<</Subtype/Link/Rect[174.2 694.6 268.0 707.6]/Border[0 0 0]/Dest[598 0 R/XYZ 0 428 0]>>endobj
-208 0 obj<</Subtype/Link/Rect[124.5 681.4 243.0 694.4]/Border[0 0 0]/Dest[598 0 R/XYZ 0 370 0]>>endobj
-209 0 obj<</Subtype/Link/Rect[168.8 668.2 222.8 681.2]/Border[0 0 0]/Dest[598 0 R/XYZ 0 220 0]>>endobj
-210 0 obj<</Subtype/Link/Rect[168.8 655.0 228.0 668.0]/Border[0 0 0]/Dest[600 0 R/XYZ 0 441 0]>>endobj
-211 0 obj<</Subtype/Link/Rect[124.5 641.8 220.7 654.8]/Border[0 0 0]/Dest[602 0 R/XYZ 0 734 0]>>endobj
-212 0 obj<</Subtype/Link/Rect[80.2 628.6 158.5 641.6]/Border[0 0 0]/Dest[604 0 R/XYZ 0 734 0]>>endobj
-213 0 obj<</Subtype/Link/Rect[124.5 615.4 199.7 628.4]/Border[0 0 0]/Dest[604 0 R/XYZ 0 696 0]>>endobj
-214 0 obj<</Subtype/Link/Rect[168.8 602.2 277.8 615.2]/Border[0 0 0]/Dest[604 0 R/XYZ 0 423 0]>>endobj
-215 0 obj<</Subtype/Link/Rect[168.8 589.0 307.5 602.0]/Border[0 0 0]/Dest[604 0 R/XYZ 0 259 0]>>endobj
-216 0 obj<</Subtype/Link/Rect[168.8 575.8 284.6 588.8]/Border[0 0 0]/Dest[606 0 R/XYZ 0 652 0]>>endobj
-217 0 obj<</Subtype/Link/Rect[124.5 562.6 156.6 575.6]/Border[0 0 0]/Dest[606 0 R/XYZ 0 240 0]>>endobj
-218 0 obj<</Subtype/Link/Rect[168.8 549.4 241.2 562.4]/Border[0 0 0]/Dest[608 0 R/XYZ 0 665 0]>>endobj
-219 0 obj<</Subtype/Link/Rect[80.2 536.2 196.0 549.2]/Border[0 0 0]/Dest[610 0 R/XYZ 0 734 0]>>endobj
-220 0 obj<</Subtype/Link/Rect[124.5 523.0 182.2 536.0]/Border[0 0 0]/Dest[610 0 R/XYZ 0 696 0]>>endobj
-221 0 obj<</Subtype/Link/Rect[124.5 509.8 176.7 522.8]/Border[0 0 0]/Dest[610 0 R/XYZ 0 595 0]>>endobj
-222 0 obj<</Subtype/Link/Rect[124.5 496.6 196.0 509.6]/Border[0 0 0]/Dest[610 0 R/XYZ 0 216 0]>>endobj
-223 0 obj<</Subtype/Link/Rect[124.5 483.4 174.9 496.4]/Border[0 0 0]/Dest[612 0 R/XYZ 0 692 0]>>endobj
-224 0 obj<</Subtype/Link/Rect[124.5 470.2 162.7 483.2]/Border[0 0 0]/Dest[612 0 R/XYZ 0 458 0]>>endobj
-225 0 obj<</Subtype/Link/Rect[124.5 457.0 182.5 470.0]/Border[0 0 0]/Dest[614 0 R/XYZ 0 734 0]>>endobj
-226 0 obj<</Subtype/Link/Rect[124.5 443.8 196.0 456.8]/Border[0 0 0]/Dest[614 0 R/XYZ 0 566 0]>>endobj
-227 0 obj<</Subtype/Link/Rect[124.5 430.6 187.4 443.6]/Border[0 0 0]/Dest[614 0 R/XYZ 0 438 0]>>endobj
-228 0 obj<</Subtype/Link/Rect[124.5 417.4 218.6 430.4]/Border[0 0 0]/Dest[614 0 R/XYZ 0 178 0]>>endobj
-229 0 obj<</Subtype/Link/Rect[80.2 404.2 204.9 417.2]/Border[0 0 0]/Dest[618 0 R/XYZ 0 734 0]>>endobj
-230 0 obj<</Subtype/Link/Rect[80.2 391.0 164.8 404.0]/Border[0 0 0]/Dest[622 0 R/XYZ 0 734 0]>>endobj
-231 0 obj<</Subtype/Link/Rect[124.5 377.8 182.2 390.8]/Border[0 0 0]/Dest[622 0 R/XYZ 0 696 0]>>endobj
-232 0 obj<</Subtype/Link/Rect[168.8 364.6 206.3 377.6]/Border[0 0 0]/Dest[624 0 R/XYZ 0 626 0]>>endobj
-233 0 obj<</Subtype/Link/Rect[168.8 351.4 203.9 364.4]/Border[0 0 0]/Dest[624 0 R/XYZ 0 516 0]>>endobj
-234 0 obj<</Subtype/Link/Rect[124.5 338.2 219.5 351.2]/Border[0 0 0]/Dest[624 0 R/XYZ 0 394 0]>>endobj
-235 0 obj<</Subtype/Link/Rect[168.8 325.0 196.6 338.0]/Border[0 0 0]/Dest[624 0 R/XYZ 0 360 0]>>endobj
-236 0 obj<</Subtype/Link/Rect[168.8 311.8 233.2 324.8]/Border[0 0 0]/Dest[626 0 R/XYZ 0 718 0]>>endobj
-237 0 obj<</Subtype/Link/Rect[168.8 298.6 216.7 311.6]/Border[0 0 0]/Dest[626 0 R/XYZ 0 235 0]>>endobj
-238 0 obj<</Subtype/Link/Rect[124.5 285.4 283.7 298.4]/Border[0 0 0]/Dest[646 0 R/XYZ 0 428 0]>>endobj
-239 0 obj<</Subtype/Link/Rect[168.8 272.2 234.1 285.2]/Border[0 0 0]/Dest[646 0 R/XYZ 0 366 0]>>endobj
-240 0 obj<</Subtype/Link/Rect[168.8 259.0 204.5 272.0]/Border[0 0 0]/Dest[648 0 R/XYZ 0 567 0]>>endobj
-241 0 obj<</Subtype/Link/Rect[168.8 245.8 189.2 258.8]/Border[0 0 0]/Dest[656 0 R/XYZ 0 531 0]>>endobj
-242 0 obj<</Subtype/Link/Rect[168.8 232.6 264.4 245.6]/Border[0 0 0]/Dest[656 0 R/XYZ 0 407 0]>>endobj
-243 0 obj<</Subtype/Link/Rect[168.8 219.4 302.0 232.4]/Border[0 0 0]/Dest[658 0 R/XYZ 0 548 0]>>endobj
-244 0 obj<</Subtype/Link/Rect[168.8 206.2 247.3 219.2]/Border[0 0 0]/Dest[658 0 R/XYZ 0 140 0]>>endobj
-245 0 obj<</Subtype/Link/Rect[168.8 193.0 271.4 206.0]/Border[0 0 0]/Dest[660 0 R/XYZ 0 492 0]>>endobj
-246 0 obj<</Subtype/Link/Rect[168.8 179.8 319.7 192.8]/Border[0 0 0]/Dest[660 0 R/XYZ 0 145 0]>>endobj
-247 0 obj<</Subtype/Link/Rect[168.8 166.6 246.7 179.6]/Border[0 0 0]/Dest[662 0 R/XYZ 0 586 0]>>endobj
-248 0 obj<</Subtype/Link/Rect[174.2 153.4 223.1 166.4]/Border[0 0 0]/Dest[662 0 R/XYZ 0 301 0]>>endobj
-249 0 obj<</Subtype/Link/Rect[174.2 140.2 256.4 153.2]/Border[0 0 0]/Dest[664 0 R/XYZ 0 734 0]>>endobj
-250 0 obj<</Subtype/Link/Rect[174.2 127.0 263.8 140.0]/Border[0 0 0]/Dest[664 0 R/XYZ 0 249 0]>>endobj
-251 0 obj<</Subtype/Link/Rect[124.5 113.8 300.8 126.8]/Border[0 0 0]/Dest[666 0 R/XYZ 0 413 0]>>endobj
-252 0 obj<</Subtype/Link/Rect[168.8 100.6 275.4 113.6]/Border[0 0 0]/Dest[668 0 R/XYZ 0 665 0]>>endobj
-253 0 obj<</Subtype/Link/Rect[168.8 87.4 256.4 100.4]/Border[0 0 0]/Dest[668 0 R/XYZ 0 273 0]>>endobj
-254 0 obj<</Subtype/Link/Rect[168.8 74.2 283.6 87.2]/Border[0 0 0]/Dest[670 0 R/XYZ 0 531 0]>>endobj
-255 0 obj<</Subtype/Link/Rect[168.8 61.0 244.8 74.0]/Border[0 0 0]/Dest[670 0 R/XYZ 0 165 0]>>endobj
-256 0 obj[205 0 R
+203 0 R
+204 0 R
+205 0 R
 206 0 R
 207 0 R
 208 0 R
 239 0 R
 240 0 R
 241 0 R
-242 0 R
-243 0 R
-244 0 R
+242 0 R]endobj
+244 0 obj<</Subtype/Link/Rect[168.8 721.0 245.5 734.0]/Border[0 0 0]/Dest[630 0 R/XYZ 0 353 0]>>endobj
+245 0 obj<</Subtype/Link/Rect[124.5 707.8 261.7 720.8]/Border[0 0 0]/Dest[632 0 R/XYZ 0 734 0]>>endobj
+246 0 obj<</Subtype/Link/Rect[168.8 694.6 239.3 707.6]/Border[0 0 0]/Dest[632 0 R/XYZ 0 658 0]>>endobj
+247 0 obj<</Subtype/Link/Rect[168.8 681.4 223.8 694.4]/Border[0 0 0]/Dest[634 0 R/XYZ 0 734 0]>>endobj
+248 0 obj<</Subtype/Link/Rect[124.5 668.2 264.4 681.2]/Border[0 0 0]/Dest[636 0 R/XYZ 0 705 0]>>endobj
+249 0 obj<</Subtype/Link/Rect[168.8 655.0 243.6 668.0]/Border[0 0 0]/Dest[636 0 R/XYZ 0 577 0]>>endobj
+250 0 obj<</Subtype/Link/Rect[168.8 641.8 257.3 654.8]/Border[0 0 0]/Dest[638 0 R/XYZ 0 734 0]>>endobj
+251 0 obj<</Subtype/Link/Rect[124.5 628.6 345.7 641.6]/Border[0 0 0]/Dest[638 0 R/XYZ 0 433 0]>>endobj
+252 0 obj<</Subtype/Link/Rect[168.8 615.4 220.4 628.4]/Border[0 0 0]/Dest[638 0 R/XYZ 0 400 0]>>endobj
+253 0 obj<</Subtype/Link/Rect[168.8 602.2 210.0 615.2]/Border[0 0 0]/Dest[640 0 R/XYZ 0 734 0]>>endobj
+254 0 obj<</Subtype/Link/Rect[168.8 589.0 217.9 602.0]/Border[0 0 0]/Dest[640 0 R/XYZ 0 385 0]>>endobj
+255 0 obj<</Subtype/Link/Rect[124.5 575.8 193.2 588.8]/Border[0 0 0]/Dest[640 0 R/XYZ 0 128 0]>>endobj
+256 0 obj<</Subtype/Link/Rect[168.8 562.6 251.9 575.6]/Border[0 0 0]/Dest[642 0 R/XYZ 0 633 0]>>endobj
+257 0 obj<</Subtype/Link/Rect[168.8 549.4 254.4 562.4]/Border[0 0 0]/Dest[644 0 R/XYZ 0 665 0]>>endobj
+258 0 obj<</Subtype/Link/Rect[85.8 536.2 200.3 549.2]/Border[0 0 0]/Dest[648 0 R/XYZ 0 734 0]>>endobj
+259 0 obj<</Subtype/Link/Rect[130.0 523.0 170.0 536.0]/Border[0 0 0]/Dest[648 0 R/XYZ 0 696 0]>>endobj
+260 0 obj<</Subtype/Link/Rect[130.0 509.8 308.4 522.8]/Border[0 0 0]/Dest[648 0 R/XYZ 0 621 0]>>endobj
+261 0 obj<</Subtype/Link/Rect[130.0 496.6 217.0 509.6]/Border[0 0 0]/Dest[648 0 R/XYZ 0 361 0]>>endobj
+262 0 obj<</Subtype/Link/Rect[130.0 483.4 360.7 496.4]/Border[0 0 0]/Dest[652 0 R/XYZ 0 692 0]>>endobj
+263 0 obj<</Subtype/Link/Rect[130.0 470.2 306.3 483.2]/Border[0 0 0]/Dest[652 0 R/XYZ 0 630 0]>>endobj
+264 0 obj<</Subtype/Link/Rect[85.8 457.0 189.3 470.0]/Border[0 0 0]/Dest[658 0 R/XYZ 0 734 0]>>endobj
+265 0 obj<</Subtype/Link/Rect[130.0 443.8 199.0 456.8]/Border[0 0 0]/Dest[658 0 R/XYZ 0 696 0]>>endobj
+266 0 obj<</Subtype/Link/Rect[85.8 430.6 211.0 443.6]/Border[0 0 0]/Dest[660 0 R/XYZ 0 734 0]>>endobj
+267 0 obj<</Subtype/Link/Rect[130.0 417.4 245.6 430.4]/Border[0 0 0]/Dest[660 0 R/XYZ 0 696 0]>>endobj
+268 0 obj<</Subtype/Link/Rect[130.0 404.2 234.2 417.2]/Border[0 0 0]/Dest[662 0 R/XYZ 0 639 0]>>endobj
+269 0 obj<</Subtype/Link/Rect[130.0 391.0 289.8 404.0]/Border[0 0 0]/Dest[662 0 R/XYZ 0 498 0]>>endobj
+270 0 obj<</Subtype/Link/Rect[130.0 377.8 162.7 390.8]/Border[0 0 0]/Dest[662 0 R/XYZ 0 198 0]>>endobj
+271 0 obj<</Subtype/Link/Rect[174.2 364.6 228.3 377.6]/Border[0 0 0]/Dest[662 0 R/XYZ 0 165 0]>>endobj
+272 0 obj<</Subtype/Link/Rect[174.2 351.4 240.8 364.4]/Border[0 0 0]/Dest[664 0 R/XYZ 0 734 0]>>endobj
+273 0 obj<</Subtype/Link/Rect[174.2 338.2 239.0 351.2]/Border[0 0 0]/Dest[664 0 R/XYZ 0 596 0]>>endobj
+274 0 obj<</Subtype/Link/Rect[130.0 325.0 194.8 338.0]/Border[0 0 0]/Dest[664 0 R/XYZ 0 485 0]>>endobj
+275 0 obj<</Subtype/Link/Rect[174.2 311.8 305.9 324.8]/Border[0 0 0]/Dest[664 0 R/XYZ 0 451 0]>>endobj
+276 0 obj<</Subtype/Link/Rect[174.2 298.6 215.5 311.6]/Border[0 0 0]/Dest[664 0 R/XYZ 0 366 0]>>endobj
+277 0 obj<</Subtype/Link/Rect[130.0 285.4 229.6 298.4]/Border[0 0 0]/Dest[664 0 R/XYZ 0 229 0]>>endobj
+278 0 obj<</Subtype/Link/Rect[130.0 272.2 165.1 285.2]/Border[0 0 0]/Dest[666 0 R/XYZ 0 489 0]>>endobj
+279 0 obj<</Subtype/Link/Rect[85.8 259.0 259.0 272.0]/Border[0 0 0]/Dest[668 0 R/XYZ 0 734 0]>>endobj
+280 0 obj<</Subtype/Link/Rect[130.0 245.8 187.8 258.8]/Border[0 0 0]/Dest[668 0 R/XYZ 0 696 0]>>endobj
+281 0 obj<</Subtype/Link/Rect[130.0 232.6 215.6 245.6]/Border[0 0 0]/Dest[668 0 R/XYZ 0 568 0]>>endobj
+282 0 obj<</Subtype/Link/Rect[130.0 219.4 218.9 221.4]/Border[0 0 0]/Dest[670 0 R/XYZ 0 718 0]>>endobj
+283 0 obj[244 0 R
 245 0 R
 246 0 R
 247 0 R
 252 0 R
 253 0 R
 254 0 R
-255 0 R]endobj
-257 0 obj<</Subtype/Link/Rect[168.8 721.0 245.5 734.0]/Border[0 0 0]/Dest[672 0 R/XYZ 0 353 0]>>endobj
-258 0 obj<</Subtype/Link/Rect[124.5 707.8 261.7 720.8]/Border[0 0 0]/Dest[674 0 R/XYZ 0 734 0]>>endobj
-259 0 obj<</Subtype/Link/Rect[168.8 694.6 239.3 707.6]/Border[0 0 0]/Dest[674 0 R/XYZ 0 658 0]>>endobj
-260 0 obj<</Subtype/Link/Rect[168.8 681.4 223.8 694.4]/Border[0 0 0]/Dest[676 0 R/XYZ 0 734 0]>>endobj
-261 0 obj<</Subtype/Link/Rect[124.5 668.2 264.4 681.2]/Border[0 0 0]/Dest[678 0 R/XYZ 0 705 0]>>endobj
-262 0 obj<</Subtype/Link/Rect[168.8 655.0 243.6 668.0]/Border[0 0 0]/Dest[678 0 R/XYZ 0 577 0]>>endobj
-263 0 obj<</Subtype/Link/Rect[168.8 641.8 257.3 654.8]/Border[0 0 0]/Dest[680 0 R/XYZ 0 734 0]>>endobj
-264 0 obj<</Subtype/Link/Rect[124.5 628.6 345.7 641.6]/Border[0 0 0]/Dest[680 0 R/XYZ 0 433 0]>>endobj
-265 0 obj<</Subtype/Link/Rect[168.8 615.4 220.4 628.4]/Border[0 0 0]/Dest[680 0 R/XYZ 0 400 0]>>endobj
-266 0 obj<</Subtype/Link/Rect[168.8 602.2 210.0 615.2]/Border[0 0 0]/Dest[682 0 R/XYZ 0 734 0]>>endobj
-267 0 obj<</Subtype/Link/Rect[168.8 589.0 217.9 602.0]/Border[0 0 0]/Dest[682 0 R/XYZ 0 295 0]>>endobj
-268 0 obj<</Subtype/Link/Rect[124.5 575.8 193.2 588.8]/Border[0 0 0]/Dest[684 0 R/XYZ 0 705 0]>>endobj
-269 0 obj<</Subtype/Link/Rect[168.8 562.6 251.9 575.6]/Border[0 0 0]/Dest[684 0 R/XYZ 0 545 0]>>endobj
-270 0 obj<</Subtype/Link/Rect[168.8 549.4 254.4 562.4]/Border[0 0 0]/Dest[686 0 R/XYZ 0 573 0]>>endobj
-271 0 obj<</Subtype/Link/Rect[85.8 536.2 200.3 549.2]/Border[0 0 0]/Dest[692 0 R/XYZ 0 734 0]>>endobj
-272 0 obj<</Subtype/Link/Rect[130.0 523.0 170.0 536.0]/Border[0 0 0]/Dest[692 0 R/XYZ 0 696 0]>>endobj
-273 0 obj<</Subtype/Link/Rect[130.0 509.8 308.4 522.8]/Border[0 0 0]/Dest[692 0 R/XYZ 0 621 0]>>endobj
-274 0 obj<</Subtype/Link/Rect[130.0 496.6 217.0 509.6]/Border[0 0 0]/Dest[692 0 R/XYZ 0 361 0]>>endobj
-275 0 obj<</Subtype/Link/Rect[130.0 483.4 368.6 496.4]/Border[0 0 0]/Dest[696 0 R/XYZ 0 692 0]>>endobj
-276 0 obj<</Subtype/Link/Rect[130.0 470.2 306.3 483.2]/Border[0 0 0]/Dest[696 0 R/XYZ 0 630 0]>>endobj
-277 0 obj<</Subtype/Link/Rect[85.8 457.0 189.3 470.0]/Border[0 0 0]/Dest[702 0 R/XYZ 0 734 0]>>endobj
-278 0 obj<</Subtype/Link/Rect[130.0 443.8 199.0 456.8]/Border[0 0 0]/Dest[702 0 R/XYZ 0 696 0]>>endobj
-279 0 obj<</Subtype/Link/Rect[85.8 430.6 211.0 443.6]/Border[0 0 0]/Dest[704 0 R/XYZ 0 734 0]>>endobj
-280 0 obj<</Subtype/Link/Rect[130.0 417.4 245.6 430.4]/Border[0 0 0]/Dest[704 0 R/XYZ 0 696 0]>>endobj
-281 0 obj<</Subtype/Link/Rect[130.0 404.2 234.2 417.2]/Border[0 0 0]/Dest[706 0 R/XYZ 0 639 0]>>endobj
-282 0 obj<</Subtype/Link/Rect[130.0 391.0 289.8 404.0]/Border[0 0 0]/Dest[706 0 R/XYZ 0 498 0]>>endobj
-283 0 obj<</Subtype/Link/Rect[130.0 377.8 162.7 390.8]/Border[0 0 0]/Dest[706 0 R/XYZ 0 198 0]>>endobj
-284 0 obj<</Subtype/Link/Rect[174.2 364.6 228.3 377.6]/Border[0 0 0]/Dest[706 0 R/XYZ 0 165 0]>>endobj
-285 0 obj<</Subtype/Link/Rect[174.2 351.4 240.8 364.4]/Border[0 0 0]/Dest[708 0 R/XYZ 0 734 0]>>endobj
-286 0 obj<</Subtype/Link/Rect[174.2 338.2 239.0 351.2]/Border[0 0 0]/Dest[708 0 R/XYZ 0 596 0]>>endobj
-287 0 obj<</Subtype/Link/Rect[130.0 325.0 194.8 338.0]/Border[0 0 0]/Dest[708 0 R/XYZ 0 485 0]>>endobj
-288 0 obj<</Subtype/Link/Rect[174.2 311.8 305.9 324.8]/Border[0 0 0]/Dest[708 0 R/XYZ 0 451 0]>>endobj
-289 0 obj<</Subtype/Link/Rect[174.2 298.6 215.5 311.6]/Border[0 0 0]/Dest[708 0 R/XYZ 0 366 0]>>endobj
-290 0 obj<</Subtype/Link/Rect[130.0 285.4 229.6 298.4]/Border[0 0 0]/Dest[708 0 R/XYZ 0 229 0]>>endobj
-291 0 obj<</Subtype/Link/Rect[130.0 272.2 165.1 285.2]/Border[0 0 0]/Dest[710 0 R/XYZ 0 489 0]>>endobj
-292 0 obj<</Subtype/Link/Rect[85.8 259.0 259.0 272.0]/Border[0 0 0]/Dest[712 0 R/XYZ 0 734 0]>>endobj
-293 0 obj<</Subtype/Link/Rect[130.0 245.8 187.8 258.8]/Border[0 0 0]/Dest[712 0 R/XYZ 0 696 0]>>endobj
-294 0 obj<</Subtype/Link/Rect[130.0 232.6 215.6 245.6]/Border[0 0 0]/Dest[712 0 R/XYZ 0 568 0]>>endobj
-295 0 obj<</Subtype/Link/Rect[130.0 219.4 226.3 221.4]/Border[0 0 0]/Dest[714 0 R/XYZ 0 718 0]>>endobj
-296 0 obj<</Subtype/Link/Rect[85.8 206.2 126.4 219.2]/Border[0 0 0]/Dest[718 0 R/XYZ 0 734 0]>>endobj
-297 0 obj<</Subtype/Link/Rect[130.0 193.0 184.1 206.0]/Border[0 0 0]/Dest[718 0 R/XYZ 0 696 0]>>endobj
-298 0 obj<</Subtype/Link/Rect[130.0 179.8 208.8 192.8]/Border[0 0 0]/Dest[718 0 R/XYZ 0 541 0]>>endobj
-299 0 obj<</Subtype/Link/Rect[174.2 166.6 241.5 179.6]/Border[0 0 0]/Dest[718 0 R/XYZ 0 402 0]>>endobj
-300 0 obj<</Subtype/Link/Rect[174.2 153.4 247.6 166.4]/Border[0 0 0]/Dest[718 0 R/XYZ 0 256 0]>>endobj
-301 0 obj<</Subtype/Link/Rect[130.0 140.2 205.8 153.2]/Border[0 0 0]/Dest[720 0 R/XYZ 0 734 0]>>endobj
-302 0 obj<</Subtype/Link/Rect[174.2 127.0 345.7 140.0]/Border[0 0 0]/Dest[720 0 R/XYZ 0 464 0]>>endobj
-303 0 obj<</Subtype/Link/Rect[85.8 113.8 197.9 126.8]/Border[0 0 0]/Dest[722 0 R/XYZ 0 734 0]>>endobj
-304 0 obj<</Subtype/Link/Rect[130.0 100.6 159.0 113.6]/Border[0 0 0]/Dest[722 0 R/XYZ 0 696 0]>>endobj
-305 0 obj<</Subtype/Link/Rect[130.0 87.4 213.7 100.4]/Border[0 0 0]/Dest[722 0 R/XYZ 0 595 0]>>endobj
-306 0 obj<</Subtype/Link/Rect[85.8 74.2 172.8 87.2]/Border[0 0 0]/Dest[724 0 R/XYZ 0 734 0]>>endobj
-307 0 obj<</Subtype/Link/Rect[130.0 61.0 181.0 74.0]/Border[0 0 0]/Dest[724 0 R/XYZ 0 696 0]>>endobj
-308 0 obj[257 0 R
+255 0 R
+256 0 R
+257 0 R
 258 0 R
 259 0 R
 260 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
-287 0 R
-288 0 R
-289 0 R
-290 0 R
-291 0 R
+282 0 R]endobj
+284 0 obj<</S/URI/URI(http://lxr.linux.no/source/Documentation/CodingStyle)>>endobj
+285 0 obj<</Subtype/Link/Rect[72.0 499.0 310.3 512.0]/Border[0 0 0]/A 284 0 R>>endobj
+286 0 obj<</S/URI/URI(http://www.fsf.org/prep/standards_toc.html)>>endobj
+287 0 obj<</Subtype/Link/Rect[72.0 472.6 263.0 485.6]/Border[0 0 0]/A 286 0 R>>endobj
+288 0 obj[285 0 R
+287 0 R]endobj
+289 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/cifsntdomain.txt)>>endobj
+290 0 obj<</Subtype/Link/Rect[226.0 637.0 433.6 650.0]/Border[0 0 0]/A 289 0 R>>endobj
+291 0 obj<</S/URI/URI(http://ntbugtraq.rc.on.ca/SCRIPTS/WA.EXE?A2=ind9708;L=ntbugtraq;O=A;P=2935)>>endobj
+292 0 obj<</Subtype/Link/Rect[72.0 386.2 451.3 399.2]/Border[0 0 0]/A 291 0 R>>endobj
+293 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/crypt.html)>>endobj
+294 0 obj<</Subtype/Link/Rect[72.0 359.8 250.6 372.8]/Border[0 0 0]/A 293 0 R>>endobj
+295 0 obj<</S/URI/URI(mailto:linus@incolumitas.se)>>endobj
+296 0 obj<</Subtype/Link/Rect[244.7 333.4 317.4 346.4]/Border[0 0 0]/A 295 0 R>>endobj
+297 0 obj<</S/URI/URI(http://samba.org/cgi-bin/mfs/01/digest/1997/97aug/0391.html)>>endobj
+298 0 obj<</Subtype/Link/Rect[72.0 307.0 346.5 320.0]/Border[0 0 0]/A 297 0 R>>endobj
+299 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/crypt.txt)>>endobj
+300 0 obj<</Subtype/Link/Rect[72.0 280.6 242.0 293.6]/Border[0 0 0]/A 299 0 R>>endobj
+301 0 obj[290 0 R
 292 0 R
-293 0 R
 294 0 R
-295 0 R
 296 0 R
-297 0 R
 298 0 R
-299 0 R
-300 0 R
-301 0 R
-302 0 R
-303 0 R
-304 0 R
-305 0 R
-306 0 R
-307 0 R]endobj
-309 0 obj<</Subtype/Link/Rect[130.0 721.0 170.6 734.0]/Border[0 0 0]/Dest[724 0 R/XYZ 0 584 0]>>endobj
-310 0 obj[309 0 R]endobj
-311 0 obj<</S/URI/URI(http://lxr.linux.no/source/Documentation/CodingStyle)>>endobj
-312 0 obj<</Subtype/Link/Rect[72.0 499.0 310.3 512.0]/Border[0 0 0]/A 311 0 R>>endobj
-313 0 obj<</S/URI/URI(http://www.fsf.org/prep/standards_toc.html)>>endobj
-314 0 obj<</Subtype/Link/Rect[72.0 472.6 263.0 485.6]/Border[0 0 0]/A 313 0 R>>endobj
-315 0 obj[312 0 R
-314 0 R]endobj
-316 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/cifsntdomain.txt)>>endobj
-317 0 obj<</Subtype/Link/Rect[226.0 637.0 433.6 650.0]/Border[0 0 0]/A 316 0 R>>endobj
-318 0 obj<</S/URI/URI(http://ntbugtraq.rc.on.ca/SCRIPTS/WA.EXE?A2=ind9708;L=ntbugtraq;O=A;P=2935)>>endobj
-319 0 obj<</Subtype/Link/Rect[72.0 386.2 451.3 399.2]/Border[0 0 0]/A 318 0 R>>endobj
-320 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/crypt.html)>>endobj
-321 0 obj<</Subtype/Link/Rect[72.0 359.8 250.6 372.8]/Border[0 0 0]/A 320 0 R>>endobj
-322 0 obj<</S/URI/URI(mailto:linus@incolumitas.se)>>endobj
-323 0 obj<</Subtype/Link/Rect[244.7 333.4 317.4 346.4]/Border[0 0 0]/A 322 0 R>>endobj
-324 0 obj<</S/URI/URI(http://samba.org/cgi-bin/mfs/01/digest/1997/97aug/0391.html)>>endobj
-325 0 obj<</Subtype/Link/Rect[72.0 307.0 346.5 320.0]/Border[0 0 0]/A 324 0 R>>endobj
-326 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/crypt.txt)>>endobj
-327 0 obj<</Subtype/Link/Rect[72.0 280.6 242.0 293.6]/Border[0 0 0]/A 326 0 R>>endobj
-328 0 obj[317 0 R
-319 0 R
-321 0 R
-323 0 R
-325 0 R
-327 0 R]endobj
-329 0 obj<</Dests 330 0 R>>endobj
-330 0 obj<</Kids[331 0 R]>>endobj
-331 0 obj<</Limits[(aen1008)(wins)]/Names[(aen1008)332 0 R(aen1019)333 0 R(aen103)334 0 R(aen1040)335 0 R(aen1053)336 0 R(aen1100)337 0 R(aen1127)338 0 R(aen1138)339 0 R(aen1177)340 0 R(aen1208)341 0 R(aen128)342 0 R(aen1365)343 0 R(aen1388)344 0 R(aen1399)345 0 R(aen1445)346 0 R(aen151)347 0 R(aen1571)348 0 R(aen1574)349 0 R(aen1588)350 0 R(aen159)351 0 R(aen1649)352 0 R(aen1688)353 0 R(aen1693)354 0 R(aen1704)355 0 R(aen1744)356 0 R(aen1755)357 0 R(aen179)358 0 R(aen1799)359 0 R(aen181)360 0 R(aen1819)361 0 R(aen184)362 0 R(aen1842)363 0 R(aen1854)364 0 R(aen188)365 0 R(aen1898)366 0 R(aen1939)367 0 R(aen1943)368 0 R(aen1962)369 0 R(aen1973)370 0 R(aen1977)371 0 R(aen1988)372 0 R(aen2001)373 0 R(aen2003)374 0 R(aen2006)375 0 R(aen2025)376 0 R(aen2027)377 0 R(aen2030)378 0 R(aen2054)379 0 R(aen2056)380 0 R(aen2063)381 0 R(aen2071)382 0 R(aen2075)383 0 R(aen2102)384 0 R(aen2130)385 0 R(aen2134)386 0 R(aen2165)387 0 R(aen2193)388 0 R(aen2232)389 0 R(aen2240)390 0 R(aen2259)391 0 R(aen2267)392 0 R(aen2275)393 0 R(aen2294)394 0 R(aen2306)395 0 R(aen2316)396 0 R(aen2327)397 0 R(aen2335)398 0 R(aen2339)399 0 R(aen2346)400 0 R(aen2359)401 0 R(aen2363)402 0 R(aen2370)403 0 R(aen2382)404 0 R(aen2386)405 0 R(aen2390)406 0 R(aen24)407 0 R(aen2425)408 0 R(aen2460)409 0 R(aen2468)410 0 R(aen2519)411 0 R(aen2550)412 0 R(aen2562)413 0 R(aen2568)414 0 R(aen2603)415 0 R(aen2623)416 0 R(aen2627)417 0 R(aen2638)418 0 R(aen2654)419 0 R(aen2656)420 0 R(aen2699)421 0 R(aen2709)422 0 R(aen2716)423 0 R(aen2724)424 0 R(aen2726)425 0 R(aen2761)426 0 R(aen2812)427 0 R(aen2815)428 0 R(aen2829)429 0 R(aen284)430 0 R(aen2847)431 0 R(aen288)432 0 R(aen2896)433 0 R(aen2899)434 0 R(aen2925)435 0 R(aen2959)436 0 R(aen2962)437 0 R(aen3033)438 0 R(aen3054)439 0 R(aen3071)440 0 R(aen3075)441 0 R(aen3086)442 0 R(aen3088)443 0 R(aen3091)444 0 R(aen3095)445 0 R(aen3098)446 0 R(aen3100)447 0 R(aen3103)448 0 R(aen3107)449 0 R(aen3121)450 0 R(aen3147)451 0 R(aen3151)452 0 R(aen3162)453 0 R(aen317)454 0 R(aen320)455 0 R(aen3225)456 0 R(aen323)457 0 R(aen3234)458 0 R(aen3240)459 0 R(aen3247)460 0 R(aen3251)461 0 R(aen326)462 0 R(aen3262)463 0 R(aen329)464 0 R(aen3301)465 0 R(aen3304)466 0 R(aen332)467 0 R(aen3337)468 0 R(aen3343)469 0 R(aen335)470 0 R(aen338)471 0 R(aen341)472 0 R(aen344)473 0 R(aen347)474 0 R(aen35)475 0 R(aen350)476 0 R(aen353)477 0 R(aen356)478 0 R(aen359)479 0 R(aen362)480 0 R(aen365)481 0 R(aen371)482 0 R(aen39)483 0 R(aen4)484 0 R(aen406)485 0 R(aen420)486 0 R(aen451)487 0 R(aen472)488 0 R(aen484)489 0 R(aen495)490 0 R(aen515)491 0 R(aen530)492 0 R(aen54)493 0 R(aen540)494 0 R(aen544)495 0 R(aen552)496 0 R(aen557)497 0 R(aen563)498 0 R(aen571)499 0 R(aen575)500 0 R(aen579)501 0 R(aen584)502 0 R(aen65)503 0 R(aen652)504 0 R(aen688)505 0 R(aen695)506 0 R(aen70)507 0 R(aen702)508 0 R(aen704)509 0 R(aen717)510 0 R(aen719)511 0 R(aen739)512 0 R(aen775)513 0 R(aen777)514 0 R(aen780)515 0 R(aen783)516 0 R(aen786)517 0 R(aen789)518 0 R(aen8)519 0 R(aen814)520 0 R(aen817)521 0 R(aen832)522 0 R(aen843)523 0 R(aen850)524 0 R(aen86)525 0 R(aen861)526 0 R(aen884)527 0 R(aen911)528 0 R(aen918)529 0 R(aen92)530 0 R(aen941)531 0 R(aen960)532 0 R(aen987)533 0 R(architecture)534 0 R(codingsuggestions)535 0 R(debug)536 0 R(internals)537 0 R(modules)538 0 R(netbios)539 0 R(ntdomain)540 0 R(packaging)541 0 R(parsing)542 0 R(printing)543 0 R(pwencrypt)544 0 R(rpc-plugin)545 0 R(sam)546 0 R(samba-developers-guide)547 0 R(samba-developers-guide.html)548 0 R(smbpasswdfileformat)549 0 R(tracing)550 0 R(unix-smb)551 0 R(wins)552 0 R]>>endobj
-332 0 obj<</D[634 0 R/XYZ 0 734 0]>>endobj
-333 0 obj<</D[634 0 R/XYZ 0 639 0]>>endobj
-334 0 obj<</D[582 0 R/XYZ 0 696 0]>>endobj
-335 0 obj<</D[634 0 R/XYZ 0 439 0]>>endobj
-336 0 obj<</D[634 0 R/XYZ 0 292 0]>>endobj
-337 0 obj<</D[636 0 R/XYZ 0 626 0]>>endobj
-338 0 obj<</D[636 0 R/XYZ 0 345 0]>>endobj
-339 0 obj<</D[636 0 R/XYZ 0 251 0]>>endobj
-340 0 obj<</D[638 0 R/XYZ 0 639 0]>>endobj
-341 0 obj<</D[638 0 R/XYZ 0 413 0]>>endobj
-342 0 obj<</D[584 0 R/XYZ 0 734 0]>>endobj
-343 0 obj<</D[642 0 R/XYZ 0 679 0]>>endobj
-344 0 obj<</D[642 0 R/XYZ 0 438 0]>>endobj
-345 0 obj<</D[642 0 R/XYZ 0 344 0]>>endobj
-346 0 obj<</D[644 0 R/XYZ 0 639 0]>>endobj
-347 0 obj<</D[586 0 R/XYZ 0 734 0]>>endobj
-348 0 obj<</D[646 0 R/XYZ 0 428 0]>>endobj
-349 0 obj<</D[646 0 R/XYZ 0 366 0]>>endobj
-350 0 obj<</D[648 0 R/XYZ 0 567 0]>>endobj
-351 0 obj<</D[586 0 R/XYZ 0 514 0]>>endobj
-352 0 obj<</D[652 0 R/XYZ 0 734 0]>>endobj
-353 0 obj<</D[652 0 R/XYZ 0 467 0]>>endobj
-354 0 obj<</D[652 0 R/XYZ 0 378 0]>>endobj
-355 0 obj<</D[652 0 R/XYZ 0 283 0]>>endobj
-356 0 obj<</D[654 0 R/XYZ 0 639 0]>>endobj
-357 0 obj<</D[654 0 R/XYZ 0 545 0]>>endobj
-358 0 obj<</D[588 0 R/XYZ 0 734 0]>>endobj
-359 0 obj<</D[654 0 R/XYZ 0 213 0]>>endobj
-360 0 obj<</D[588 0 R/XYZ 0 700 0]>>endobj
-361 0 obj<</D[656 0 R/XYZ 0 705 0]>>endobj
-362 0 obj<</D[588 0 R/XYZ 0 602 0]>>endobj
-363 0 obj<</D[656 0 R/XYZ 0 531 0]>>endobj
-364 0 obj<</D[656 0 R/XYZ 0 407 0]>>endobj
-365 0 obj<</D[588 0 R/XYZ 0 491 0]>>endobj
-366 0 obj<</D[658 0 R/XYZ 0 548 0]>>endobj
-367 0 obj<</D[658 0 R/XYZ 0 140 0]>>endobj
-368 0 obj<</D[660 0 R/XYZ 0 734 0]>>endobj
-369 0 obj<</D[660 0 R/XYZ 0 586 0]>>endobj
-370 0 obj<</D[660 0 R/XYZ 0 492 0]>>endobj
-371 0 obj<</D[660 0 R/XYZ 0 433 0]>>endobj
-372 0 obj<</D[660 0 R/XYZ 0 339 0]>>endobj
-373 0 obj<</D[660 0 R/XYZ 0 145 0]>>endobj
-374 0 obj<</D[660 0 R/XYZ 0 115 0]>>endobj
-375 0 obj<</D[662 0 R/XYZ 0 734 0]>>endobj
-376 0 obj<</D[662 0 R/XYZ 0 586 0]>>endobj
-377 0 obj<</D[662 0 R/XYZ 0 556 0]>>endobj
-378 0 obj<</D[662 0 R/XYZ 0 501 0]>>endobj
-379 0 obj<</D[662 0 R/XYZ 0 301 0]>>endobj
-380 0 obj<</D[662 0 R/XYZ 0 271 0]>>endobj
-381 0 obj<</D[662 0 R/XYZ 0 203 0]>>endobj
-382 0 obj<</D[664 0 R/XYZ 0 734 0]>>endobj
-383 0 obj<</D[664 0 R/XYZ 0 675 0]>>endobj
-384 0 obj<</D[664 0 R/XYZ 0 475 0]>>endobj
-385 0 obj<</D[664 0 R/XYZ 0 249 0]>>endobj
-386 0 obj<</D[664 0 R/XYZ 0 190 0]>>endobj
-387 0 obj<</D[666 0 R/XYZ 0 639 0]>>endobj
-388 0 obj<</D[666 0 R/XYZ 0 413 0]>>endobj
-389 0 obj<</D[668 0 R/XYZ 0 665 0]>>endobj
-390 0 obj<</D[668 0 R/XYZ 0 515 0]>>endobj
-391 0 obj<</D[668 0 R/XYZ 0 367 0]>>endobj
-392 0 obj<</D[668 0 R/XYZ 0 273 0]>>endobj
-393 0 obj<</D[668 0 R/XYZ 0 135 0]>>endobj
-394 0 obj<</D[670 0 R/XYZ 0 652 0]>>endobj
-395 0 obj<</D[670 0 R/XYZ 0 531 0]>>endobj
-396 0 obj<</D[670 0 R/XYZ 0 354 0]>>endobj
-397 0 obj<</D[670 0 R/XYZ 0 260 0]>>endobj
-398 0 obj<</D[670 0 R/XYZ 0 165 0]>>endobj
-399 0 obj<</D[672 0 R/XYZ 0 734 0]>>endobj
-400 0 obj<</D[672 0 R/XYZ 0 665 0]>>endobj
-401 0 obj<</D[672 0 R/XYZ 0 353 0]>>endobj
-402 0 obj<</D[672 0 R/XYZ 0 281 0]>>endobj
-403 0 obj<</D[672 0 R/XYZ 0 213 0]>>endobj
-404 0 obj<</D[674 0 R/XYZ 0 734 0]>>endobj
-405 0 obj<</D[674 0 R/XYZ 0 658 0]>>endobj
-406 0 obj<</D[674 0 R/XYZ 0 600 0]>>endobj
-407 0 obj<</D[574 0 R/XYZ 0 672 0]>>endobj
-408 0 obj<</D[674 0 R/XYZ 0 347 0]>>endobj
-409 0 obj<</D[676 0 R/XYZ 0 734 0]>>endobj
-410 0 obj<</D[676 0 R/XYZ 0 622 0]>>endobj
-411 0 obj<</D[676 0 R/XYZ 0 264 0]>>endobj
-412 0 obj<</D[678 0 R/XYZ 0 705 0]>>endobj
-413 0 obj<</D[678 0 R/XYZ 0 577 0]>>endobj
-414 0 obj<</D[678 0 R/XYZ 0 492 0]>>endobj
-415 0 obj<</D[678 0 R/XYZ 0 239 0]>>endobj
-416 0 obj<</D[680 0 R/XYZ 0 734 0]>>endobj
-417 0 obj<</D[680 0 R/XYZ 0 675 0]>>endobj
-418 0 obj<</D[680 0 R/XYZ 0 581 0]>>endobj
-419 0 obj<</D[680 0 R/XYZ 0 433 0]>>endobj
-420 0 obj<</D[680 0 R/XYZ 0 400 0]>>endobj
-421 0 obj<</D[682 0 R/XYZ 0 734 0]>>endobj
-422 0 obj<</D[682 0 R/XYZ 0 295 0]>>endobj
-423 0 obj<</D[684 0 R/XYZ 0 705 0]>>endobj
-424 0 obj<</D[684 0 R/XYZ 0 545 0]>>endobj
-425 0 obj<</D[684 0 R/XYZ 0 515 0]>>endobj
-426 0 obj<</D[684 0 R/XYZ 0 262 0]>>endobj
-427 0 obj<</D[686 0 R/XYZ 0 573 0]>>endobj
-428 0 obj<</D[686 0 R/XYZ 0 501 0]>>endobj
-429 0 obj<</D[686 0 R/XYZ 0 315 0]>>endobj
-430 0 obj<</D[594 0 R/XYZ 0 696 0]>>endobj
-431 0 obj<</D[688 0 R/XYZ 0 718 0]>>endobj
-432 0 obj<</D[594 0 R/XYZ 0 568 0]>>endobj
-433 0 obj<</D[692 0 R/XYZ 0 696 0]>>endobj
-434 0 obj<</D[692 0 R/XYZ 0 621 0]>>endobj
-435 0 obj<</D[692 0 R/XYZ 0 361 0]>>endobj
-436 0 obj<</D[696 0 R/XYZ 0 692 0]>>endobj
-437 0 obj<</D[696 0 R/XYZ 0 630 0]>>endobj
-438 0 obj<</D[702 0 R/XYZ 0 696 0]>>endobj
-439 0 obj<</D[704 0 R/XYZ 0 696 0]>>endobj
-440 0 obj<</D[706 0 R/XYZ 0 639 0]>>endobj
-441 0 obj<</D[706 0 R/XYZ 0 498 0]>>endobj
-442 0 obj<</D[706 0 R/XYZ 0 198 0]>>endobj
-443 0 obj<</D[706 0 R/XYZ 0 165 0]>>endobj
-444 0 obj<</D[708 0 R/XYZ 0 734 0]>>endobj
-445 0 obj<</D[708 0 R/XYZ 0 596 0]>>endobj
-446 0 obj<</D[708 0 R/XYZ 0 485 0]>>endobj
-447 0 obj<</D[708 0 R/XYZ 0 451 0]>>endobj
-448 0 obj<</D[708 0 R/XYZ 0 366 0]>>endobj
-449 0 obj<</D[708 0 R/XYZ 0 229 0]>>endobj
-450 0 obj<</D[710 0 R/XYZ 0 489 0]>>endobj
-451 0 obj<</D[712 0 R/XYZ 0 696 0]>>endobj
-452 0 obj<</D[712 0 R/XYZ 0 568 0]>>endobj
-453 0 obj<</D[714 0 R/XYZ 0 718 0]>>endobj
-454 0 obj<</D[596 0 R/XYZ 0 705 0]>>endobj
-455 0 obj<</D[596 0 R/XYZ 0 630 0]>>endobj
-456 0 obj<</D[718 0 R/XYZ 0 696 0]>>endobj
-457 0 obj<</D[596 0 R/XYZ 0 571 0]>>endobj
-458 0 obj<</D[718 0 R/XYZ 0 541 0]>>endobj
-459 0 obj<</D[718 0 R/XYZ 0 402 0]>>endobj
-460 0 obj<</D[718 0 R/XYZ 0 256 0]>>endobj
-461 0 obj<</D[720 0 R/XYZ 0 734 0]>>endobj
-462 0 obj<</D[596 0 R/XYZ 0 513 0]>>endobj
-463 0 obj<</D[720 0 R/XYZ 0 464 0]>>endobj
-464 0 obj<</D[596 0 R/XYZ 0 455 0]>>endobj
-465 0 obj<</D[722 0 R/XYZ 0 696 0]>>endobj
-466 0 obj<</D[722 0 R/XYZ 0 595 0]>>endobj
-467 0 obj<</D[596 0 R/XYZ 0 383 0]>>endobj
-468 0 obj<</D[724 0 R/XYZ 0 696 0]>>endobj
-469 0 obj<</D[724 0 R/XYZ 0 584 0]>>endobj
-470 0 obj<</D[596 0 R/XYZ 0 325 0]>>endobj
-471 0 obj<</D[596 0 R/XYZ 0 266 0]>>endobj
-472 0 obj<</D[596 0 R/XYZ 0 208 0]>>endobj
-473 0 obj<</D[596 0 R/XYZ 0 149 0]>>endobj
-474 0 obj<</D[598 0 R/XYZ 0 734 0]>>endobj
-475 0 obj<</D[574 0 R/XYZ 0 201 0]>>endobj
-476 0 obj<</D[598 0 R/XYZ 0 675 0]>>endobj
-477 0 obj<</D[598 0 R/XYZ 0 617 0]>>endobj
-478 0 obj<</D[598 0 R/XYZ 0 558 0]>>endobj
-479 0 obj<</D[598 0 R/XYZ 0 500 0]>>endobj
-480 0 obj<</D[598 0 R/XYZ 0 428 0]>>endobj
-481 0 obj<</D[598 0 R/XYZ 0 370 0]>>endobj
-482 0 obj<</D[598 0 R/XYZ 0 220 0]>>endobj
-483 0 obj<</D[576 0 R/XYZ 0 705 0]>>endobj
-484 0 obj<</D[564 0 R/XYZ 0 696 0]>>endobj
-485 0 obj<</D[600 0 R/XYZ 0 441 0]>>endobj
-486 0 obj<</D[602 0 R/XYZ 0 734 0]>>endobj
-487 0 obj<</D[604 0 R/XYZ 0 696 0]>>endobj
-488 0 obj<</D[604 0 R/XYZ 0 423 0]>>endobj
-489 0 obj<</D[604 0 R/XYZ 0 259 0]>>endobj
-490 0 obj<</D[606 0 R/XYZ 0 652 0]>>endobj
-491 0 obj<</D[606 0 R/XYZ 0 240 0]>>endobj
-492 0 obj<</D[608 0 R/XYZ 0 665 0]>>endobj
-493 0 obj<</D[578 0 R/XYZ 0 696 0]>>endobj
-494 0 obj<</D[610 0 R/XYZ 0 696 0]>>endobj
-495 0 obj<</D[610 0 R/XYZ 0 595 0]>>endobj
-496 0 obj<</D[610 0 R/XYZ 0 216 0]>>endobj
-497 0 obj<</D[612 0 R/XYZ 0 692 0]>>endobj
-498 0 obj<</D[612 0 R/XYZ 0 458 0]>>endobj
-499 0 obj<</D[614 0 R/XYZ 0 734 0]>>endobj
-500 0 obj<</D[614 0 R/XYZ 0 566 0]>>endobj
-501 0 obj<</D[614 0 R/XYZ 0 438 0]>>endobj
-502 0 obj<</D[614 0 R/XYZ 0 178 0]>>endobj
-503 0 obj<</D[578 0 R/XYZ 0 529 0]>>endobj
-504 0 obj<</D[622 0 R/XYZ 0 696 0]>>endobj
-505 0 obj<</D[624 0 R/XYZ 0 626 0]>>endobj
-506 0 obj<</D[624 0 R/XYZ 0 516 0]>>endobj
-507 0 obj<</D[578 0 R/XYZ 0 335 0]>>endobj
-508 0 obj<</D[624 0 R/XYZ 0 394 0]>>endobj
-509 0 obj<</D[624 0 R/XYZ 0 360 0]>>endobj
-510 0 obj<</D[626 0 R/XYZ 0 718 0]>>endobj
-511 0 obj<</D[626 0 R/XYZ 0 688 0]>>endobj
-512 0 obj<</D[626 0 R/XYZ 0 515 0]>>endobj
-513 0 obj<</D[626 0 R/XYZ 0 235 0]>>endobj
-514 0 obj<</D[626 0 R/XYZ 0 205 0]>>endobj
-515 0 obj<</D[626 0 R/XYZ 0 151 0]>>endobj
-516 0 obj<</D[628 0 R/XYZ 0 734 0]>>endobj
-517 0 obj<</D[628 0 R/XYZ 0 665 0]>>endobj
-518 0 obj<</D[628 0 R/XYZ 0 611 0]>>endobj
-519 0 obj<</D[566 0 R/XYZ 0 734 0]>>endobj
-520 0 obj<</D[628 0 R/XYZ 0 411 0]>>endobj
-521 0 obj<</D[628 0 R/XYZ 0 356 0]>>endobj
-522 0 obj<</D[628 0 R/XYZ 0 235 0]>>endobj
-523 0 obj<</D[628 0 R/XYZ 0 141 0]>>endobj
-524 0 obj<</D[630 0 R/XYZ 0 734 0]>>endobj
-525 0 obj<</D[580 0 R/XYZ 0 734 0]>>endobj
-526 0 obj<</D[630 0 R/XYZ 0 639 0]>>endobj
-527 0 obj<</D[630 0 R/XYZ 0 465 0]>>endobj
-528 0 obj<</D[630 0 R/XYZ 0 265 0]>>endobj
-529 0 obj<</D[630 0 R/XYZ 0 197 0]>>endobj
-530 0 obj<</D[580 0 R/XYZ 0 434 0]>>endobj
-531 0 obj<</D[632 0 R/XYZ 0 665 0]>>endobj
-532 0 obj<</D[632 0 R/XYZ 0 518 0]>>endobj
-533 0 obj<</D[632 0 R/XYZ 0 279 0]>>endobj
-534 0 obj<</D[578 0 R/XYZ 0 734 0]>>endobj
-535 0 obj<</D[590 0 R/XYZ 0 734 0]>>endobj
-536 0 obj<</D[582 0 R/XYZ 0 734 0]>>endobj
-537 0 obj<</D[594 0 R/XYZ 0 734 0]>>endobj
-538 0 obj<</D[718 0 R/XYZ 0 734 0]>>endobj
-539 0 obj<</D[574 0 R/XYZ 0 734 0]>>endobj
-540 0 obj<</D[622 0 R/XYZ 0 734 0]>>endobj
-541 0 obj<</D[724 0 R/XYZ 0 734 0]>>endobj
-542 0 obj<</D[604 0 R/XYZ 0 734 0]>>endobj
-543 0 obj<</D[692 0 R/XYZ 0 734 0]>>endobj
-544 0 obj<</D[712 0 R/XYZ 0 734 0]>>endobj
-545 0 obj<</D[722 0 R/XYZ 0 734 0]>>endobj
-546 0 obj<</D[704 0 R/XYZ 0 734 0]>>endobj
-547 0 obj<</D[564 0 R/XYZ 0 734 0]>>endobj
-548 0 obj<</D[564 0 R/XYZ 0 734 0]>>endobj
-549 0 obj<</D[714 0 R/XYZ 0 718 0]>>endobj
-550 0 obj<</D[618 0 R/XYZ 0 734 0]>>endobj
-551 0 obj<</D[610 0 R/XYZ 0 734 0]>>endobj
-552 0 obj<</D[702 0 R/XYZ 0 734 0]>>endobj
-553 0 obj<</Type/Pages/Count 86/Kids[554 0 R
+300 0 R]endobj
+302 0 obj<</Dests 303 0 R>>endobj
+303 0 obj<</Kids[304 0 R]>>endobj
+304 0 obj<</Limits[(aen1008)(wins)]/Names[(aen1008)305 0 R(aen1019)306 0 R(aen103)307 0 R(aen1040)308 0 R(aen1053)309 0 R(aen1100)310 0 R(aen1127)311 0 R(aen1138)312 0 R(aen1177)313 0 R(aen1208)314 0 R(aen128)315 0 R(aen1365)316 0 R(aen1388)317 0 R(aen1399)318 0 R(aen1445)319 0 R(aen151)320 0 R(aen1571)321 0 R(aen1574)322 0 R(aen1588)323 0 R(aen159)324 0 R(aen1649)325 0 R(aen1688)326 0 R(aen1693)327 0 R(aen1704)328 0 R(aen1744)329 0 R(aen1755)330 0 R(aen179)331 0 R(aen1799)332 0 R(aen181)333 0 R(aen1819)334 0 R(aen184)335 0 R(aen1842)336 0 R(aen1854)337 0 R(aen188)338 0 R(aen1898)339 0 R(aen1939)340 0 R(aen1943)341 0 R(aen1962)342 0 R(aen1973)343 0 R(aen1977)344 0 R(aen1988)345 0 R(aen2001)346 0 R(aen2003)347 0 R(aen2006)348 0 R(aen2025)349 0 R(aen2027)350 0 R(aen2030)351 0 R(aen2054)352 0 R(aen2056)353 0 R(aen2063)354 0 R(aen2071)355 0 R(aen2075)356 0 R(aen2102)357 0 R(aen2130)358 0 R(aen2134)359 0 R(aen2165)360 0 R(aen2193)361 0 R(aen2232)362 0 R(aen2240)363 0 R(aen2259)364 0 R(aen2267)365 0 R(aen2275)366 0 R(aen2294)367 0 R(aen2306)368 0 R(aen2316)369 0 R(aen2327)370 0 R(aen2335)371 0 R(aen2339)372 0 R(aen2346)373 0 R(aen2359)374 0 R(aen2363)375 0 R(aen2370)376 0 R(aen2382)377 0 R(aen2386)378 0 R(aen2390)379 0 R(aen24)380 0 R(aen2425)381 0 R(aen2460)382 0 R(aen2468)383 0 R(aen2519)384 0 R(aen2550)385 0 R(aen2562)386 0 R(aen2568)387 0 R(aen2603)388 0 R(aen2623)389 0 R(aen2627)390 0 R(aen2638)391 0 R(aen2654)392 0 R(aen2656)393 0 R(aen2699)394 0 R(aen2709)395 0 R(aen2716)396 0 R(aen2724)397 0 R(aen2726)398 0 R(aen2761)399 0 R(aen2812)400 0 R(aen2815)401 0 R(aen2829)402 0 R(aen284)403 0 R(aen2847)404 0 R(aen288)405 0 R(aen2896)406 0 R(aen2899)407 0 R(aen2925)408 0 R(aen2959)409 0 R(aen2962)410 0 R(aen3033)411 0 R(aen3054)412 0 R(aen3071)413 0 R(aen3075)414 0 R(aen3086)415 0 R(aen3088)416 0 R(aen3091)417 0 R(aen3095)418 0 R(aen3098)419 0 R(aen3100)420 0 R(aen3103)421 0 R(aen3107)422 0 R(aen3121)423 0 R(aen3147)424 0 R(aen3151)425 0 R(aen3162)426 0 R(aen317)427 0 R(aen320)428 0 R(aen323)429 0 R(aen326)430 0 R(aen329)431 0 R(aen332)432 0 R(aen335)433 0 R(aen338)434 0 R(aen341)435 0 R(aen344)436 0 R(aen347)437 0 R(aen35)438 0 R(aen350)439 0 R(aen353)440 0 R(aen356)441 0 R(aen359)442 0 R(aen362)443 0 R(aen365)444 0 R(aen371)445 0 R(aen39)446 0 R(aen4)447 0 R(aen406)448 0 R(aen420)449 0 R(aen451)450 0 R(aen472)451 0 R(aen484)452 0 R(aen495)453 0 R(aen515)454 0 R(aen530)455 0 R(aen54)456 0 R(aen540)457 0 R(aen544)458 0 R(aen552)459 0 R(aen557)460 0 R(aen563)461 0 R(aen571)462 0 R(aen575)463 0 R(aen579)464 0 R(aen584)465 0 R(aen65)466 0 R(aen652)467 0 R(aen688)468 0 R(aen695)469 0 R(aen70)470 0 R(aen702)471 0 R(aen704)472 0 R(aen717)473 0 R(aen719)474 0 R(aen739)475 0 R(aen775)476 0 R(aen777)477 0 R(aen780)478 0 R(aen783)479 0 R(aen786)480 0 R(aen789)481 0 R(aen8)482 0 R(aen814)483 0 R(aen817)484 0 R(aen832)485 0 R(aen843)486 0 R(aen850)487 0 R(aen86)488 0 R(aen861)489 0 R(aen884)490 0 R(aen911)491 0 R(aen918)492 0 R(aen92)493 0 R(aen941)494 0 R(aen960)495 0 R(aen987)496 0 R(architecture)497 0 R(codingsuggestions)498 0 R(debug)499 0 R(internals)500 0 R(netbios)501 0 R(ntdomain)502 0 R(parsing)503 0 R(printing)504 0 R(pwencrypt)505 0 R(sam)506 0 R(samba-developers-guide)507 0 R(samba-developers-guide.html)508 0 R(smbpasswdfileformat)509 0 R(tracing)510 0 R(unix-smb)511 0 R(wins)512 0 R]>>endobj
+305 0 obj<</D[592 0 R/XYZ 0 734 0]>>endobj
+306 0 obj<</D[592 0 R/XYZ 0 639 0]>>endobj
+307 0 obj<</D[540 0 R/XYZ 0 696 0]>>endobj
+308 0 obj<</D[592 0 R/XYZ 0 439 0]>>endobj
+309 0 obj<</D[592 0 R/XYZ 0 292 0]>>endobj
+310 0 obj<</D[594 0 R/XYZ 0 626 0]>>endobj
+311 0 obj<</D[594 0 R/XYZ 0 345 0]>>endobj
+312 0 obj<</D[594 0 R/XYZ 0 251 0]>>endobj
+313 0 obj<</D[596 0 R/XYZ 0 639 0]>>endobj
+314 0 obj<</D[596 0 R/XYZ 0 413 0]>>endobj
+315 0 obj<</D[542 0 R/XYZ 0 734 0]>>endobj
+316 0 obj<</D[600 0 R/XYZ 0 679 0]>>endobj
+317 0 obj<</D[600 0 R/XYZ 0 438 0]>>endobj
+318 0 obj<</D[600 0 R/XYZ 0 344 0]>>endobj
+319 0 obj<</D[602 0 R/XYZ 0 639 0]>>endobj
+320 0 obj<</D[544 0 R/XYZ 0 734 0]>>endobj
+321 0 obj<</D[604 0 R/XYZ 0 428 0]>>endobj
+322 0 obj<</D[604 0 R/XYZ 0 366 0]>>endobj
+323 0 obj<</D[606 0 R/XYZ 0 567 0]>>endobj
+324 0 obj<</D[544 0 R/XYZ 0 514 0]>>endobj
+325 0 obj<</D[610 0 R/XYZ 0 734 0]>>endobj
+326 0 obj<</D[610 0 R/XYZ 0 467 0]>>endobj
+327 0 obj<</D[610 0 R/XYZ 0 378 0]>>endobj
+328 0 obj<</D[610 0 R/XYZ 0 283 0]>>endobj
+329 0 obj<</D[612 0 R/XYZ 0 639 0]>>endobj
+330 0 obj<</D[612 0 R/XYZ 0 545 0]>>endobj
+331 0 obj<</D[546 0 R/XYZ 0 734 0]>>endobj
+332 0 obj<</D[612 0 R/XYZ 0 213 0]>>endobj
+333 0 obj<</D[546 0 R/XYZ 0 700 0]>>endobj
+334 0 obj<</D[614 0 R/XYZ 0 705 0]>>endobj
+335 0 obj<</D[546 0 R/XYZ 0 602 0]>>endobj
+336 0 obj<</D[614 0 R/XYZ 0 531 0]>>endobj
+337 0 obj<</D[614 0 R/XYZ 0 407 0]>>endobj
+338 0 obj<</D[546 0 R/XYZ 0 491 0]>>endobj
+339 0 obj<</D[616 0 R/XYZ 0 548 0]>>endobj
+340 0 obj<</D[616 0 R/XYZ 0 140 0]>>endobj
+341 0 obj<</D[618 0 R/XYZ 0 734 0]>>endobj
+342 0 obj<</D[618 0 R/XYZ 0 586 0]>>endobj
+343 0 obj<</D[618 0 R/XYZ 0 492 0]>>endobj
+344 0 obj<</D[618 0 R/XYZ 0 433 0]>>endobj
+345 0 obj<</D[618 0 R/XYZ 0 339 0]>>endobj
+346 0 obj<</D[618 0 R/XYZ 0 145 0]>>endobj
+347 0 obj<</D[618 0 R/XYZ 0 115 0]>>endobj
+348 0 obj<</D[620 0 R/XYZ 0 734 0]>>endobj
+349 0 obj<</D[620 0 R/XYZ 0 586 0]>>endobj
+350 0 obj<</D[620 0 R/XYZ 0 556 0]>>endobj
+351 0 obj<</D[620 0 R/XYZ 0 501 0]>>endobj
+352 0 obj<</D[620 0 R/XYZ 0 301 0]>>endobj
+353 0 obj<</D[620 0 R/XYZ 0 271 0]>>endobj
+354 0 obj<</D[620 0 R/XYZ 0 203 0]>>endobj
+355 0 obj<</D[622 0 R/XYZ 0 734 0]>>endobj
+356 0 obj<</D[622 0 R/XYZ 0 675 0]>>endobj
+357 0 obj<</D[622 0 R/XYZ 0 475 0]>>endobj
+358 0 obj<</D[622 0 R/XYZ 0 249 0]>>endobj
+359 0 obj<</D[622 0 R/XYZ 0 190 0]>>endobj
+360 0 obj<</D[624 0 R/XYZ 0 639 0]>>endobj
+361 0 obj<</D[624 0 R/XYZ 0 413 0]>>endobj
+362 0 obj<</D[626 0 R/XYZ 0 665 0]>>endobj
+363 0 obj<</D[626 0 R/XYZ 0 515 0]>>endobj
+364 0 obj<</D[626 0 R/XYZ 0 367 0]>>endobj
+365 0 obj<</D[626 0 R/XYZ 0 273 0]>>endobj
+366 0 obj<</D[626 0 R/XYZ 0 135 0]>>endobj
+367 0 obj<</D[628 0 R/XYZ 0 652 0]>>endobj
+368 0 obj<</D[628 0 R/XYZ 0 531 0]>>endobj
+369 0 obj<</D[628 0 R/XYZ 0 354 0]>>endobj
+370 0 obj<</D[628 0 R/XYZ 0 260 0]>>endobj
+371 0 obj<</D[628 0 R/XYZ 0 165 0]>>endobj
+372 0 obj<</D[630 0 R/XYZ 0 734 0]>>endobj
+373 0 obj<</D[630 0 R/XYZ 0 665 0]>>endobj
+374 0 obj<</D[630 0 R/XYZ 0 353 0]>>endobj
+375 0 obj<</D[630 0 R/XYZ 0 281 0]>>endobj
+376 0 obj<</D[630 0 R/XYZ 0 213 0]>>endobj
+377 0 obj<</D[632 0 R/XYZ 0 734 0]>>endobj
+378 0 obj<</D[632 0 R/XYZ 0 658 0]>>endobj
+379 0 obj<</D[632 0 R/XYZ 0 600 0]>>endobj
+380 0 obj<</D[532 0 R/XYZ 0 672 0]>>endobj
+381 0 obj<</D[632 0 R/XYZ 0 347 0]>>endobj
+382 0 obj<</D[634 0 R/XYZ 0 734 0]>>endobj
+383 0 obj<</D[634 0 R/XYZ 0 622 0]>>endobj
+384 0 obj<</D[634 0 R/XYZ 0 264 0]>>endobj
+385 0 obj<</D[636 0 R/XYZ 0 705 0]>>endobj
+386 0 obj<</D[636 0 R/XYZ 0 577 0]>>endobj
+387 0 obj<</D[636 0 R/XYZ 0 492 0]>>endobj
+388 0 obj<</D[636 0 R/XYZ 0 239 0]>>endobj
+389 0 obj<</D[638 0 R/XYZ 0 734 0]>>endobj
+390 0 obj<</D[638 0 R/XYZ 0 675 0]>>endobj
+391 0 obj<</D[638 0 R/XYZ 0 581 0]>>endobj
+392 0 obj<</D[638 0 R/XYZ 0 433 0]>>endobj
+393 0 obj<</D[638 0 R/XYZ 0 400 0]>>endobj
+394 0 obj<</D[640 0 R/XYZ 0 734 0]>>endobj
+395 0 obj<</D[640 0 R/XYZ 0 385 0]>>endobj
+396 0 obj<</D[640 0 R/XYZ 0 128 0]>>endobj
+397 0 obj<</D[642 0 R/XYZ 0 633 0]>>endobj
+398 0 obj<</D[642 0 R/XYZ 0 603 0]>>endobj
+399 0 obj<</D[642 0 R/XYZ 0 351 0]>>endobj
+400 0 obj<</D[644 0 R/XYZ 0 665 0]>>endobj
+401 0 obj<</D[644 0 R/XYZ 0 594 0]>>endobj
+402 0 obj<</D[644 0 R/XYZ 0 407 0]>>endobj
+403 0 obj<</D[552 0 R/XYZ 0 696 0]>>endobj
+404 0 obj<</D[644 0 R/XYZ 0 141 0]>>endobj
+405 0 obj<</D[552 0 R/XYZ 0 568 0]>>endobj
+406 0 obj<</D[648 0 R/XYZ 0 696 0]>>endobj
+407 0 obj<</D[648 0 R/XYZ 0 621 0]>>endobj
+408 0 obj<</D[648 0 R/XYZ 0 361 0]>>endobj
+409 0 obj<</D[652 0 R/XYZ 0 692 0]>>endobj
+410 0 obj<</D[652 0 R/XYZ 0 630 0]>>endobj
+411 0 obj<</D[658 0 R/XYZ 0 696 0]>>endobj
+412 0 obj<</D[660 0 R/XYZ 0 696 0]>>endobj
+413 0 obj<</D[662 0 R/XYZ 0 639 0]>>endobj
+414 0 obj<</D[662 0 R/XYZ 0 498 0]>>endobj
+415 0 obj<</D[662 0 R/XYZ 0 198 0]>>endobj
+416 0 obj<</D[662 0 R/XYZ 0 165 0]>>endobj
+417 0 obj<</D[664 0 R/XYZ 0 734 0]>>endobj
+418 0 obj<</D[664 0 R/XYZ 0 596 0]>>endobj
+419 0 obj<</D[664 0 R/XYZ 0 485 0]>>endobj
+420 0 obj<</D[664 0 R/XYZ 0 451 0]>>endobj
+421 0 obj<</D[664 0 R/XYZ 0 366 0]>>endobj
+422 0 obj<</D[664 0 R/XYZ 0 229 0]>>endobj
+423 0 obj<</D[666 0 R/XYZ 0 489 0]>>endobj
+424 0 obj<</D[668 0 R/XYZ 0 696 0]>>endobj
+425 0 obj<</D[668 0 R/XYZ 0 568 0]>>endobj
+426 0 obj<</D[670 0 R/XYZ 0 718 0]>>endobj
+427 0 obj<</D[554 0 R/XYZ 0 705 0]>>endobj
+428 0 obj<</D[554 0 R/XYZ 0 630 0]>>endobj
+429 0 obj<</D[554 0 R/XYZ 0 571 0]>>endobj
+430 0 obj<</D[554 0 R/XYZ 0 513 0]>>endobj
+431 0 obj<</D[554 0 R/XYZ 0 455 0]>>endobj
+432 0 obj<</D[554 0 R/XYZ 0 383 0]>>endobj
+433 0 obj<</D[554 0 R/XYZ 0 325 0]>>endobj
+434 0 obj<</D[554 0 R/XYZ 0 266 0]>>endobj
+435 0 obj<</D[554 0 R/XYZ 0 208 0]>>endobj
+436 0 obj<</D[554 0 R/XYZ 0 149 0]>>endobj
+437 0 obj<</D[556 0 R/XYZ 0 734 0]>>endobj
+438 0 obj<</D[532 0 R/XYZ 0 201 0]>>endobj
+439 0 obj<</D[556 0 R/XYZ 0 675 0]>>endobj
+440 0 obj<</D[556 0 R/XYZ 0 617 0]>>endobj
+441 0 obj<</D[556 0 R/XYZ 0 558 0]>>endobj
+442 0 obj<</D[556 0 R/XYZ 0 500 0]>>endobj
+443 0 obj<</D[556 0 R/XYZ 0 428 0]>>endobj
+444 0 obj<</D[556 0 R/XYZ 0 370 0]>>endobj
+445 0 obj<</D[556 0 R/XYZ 0 220 0]>>endobj
+446 0 obj<</D[534 0 R/XYZ 0 705 0]>>endobj
+447 0 obj<</D[524 0 R/XYZ 0 696 0]>>endobj
+448 0 obj<</D[558 0 R/XYZ 0 441 0]>>endobj
+449 0 obj<</D[560 0 R/XYZ 0 734 0]>>endobj
+450 0 obj<</D[562 0 R/XYZ 0 696 0]>>endobj
+451 0 obj<</D[562 0 R/XYZ 0 423 0]>>endobj
+452 0 obj<</D[562 0 R/XYZ 0 259 0]>>endobj
+453 0 obj<</D[564 0 R/XYZ 0 652 0]>>endobj
+454 0 obj<</D[564 0 R/XYZ 0 240 0]>>endobj
+455 0 obj<</D[566 0 R/XYZ 0 665 0]>>endobj
+456 0 obj<</D[536 0 R/XYZ 0 696 0]>>endobj
+457 0 obj<</D[568 0 R/XYZ 0 696 0]>>endobj
+458 0 obj<</D[568 0 R/XYZ 0 595 0]>>endobj
+459 0 obj<</D[568 0 R/XYZ 0 216 0]>>endobj
+460 0 obj<</D[570 0 R/XYZ 0 692 0]>>endobj
+461 0 obj<</D[570 0 R/XYZ 0 458 0]>>endobj
+462 0 obj<</D[572 0 R/XYZ 0 734 0]>>endobj
+463 0 obj<</D[572 0 R/XYZ 0 566 0]>>endobj
+464 0 obj<</D[572 0 R/XYZ 0 438 0]>>endobj
+465 0 obj<</D[572 0 R/XYZ 0 178 0]>>endobj
+466 0 obj<</D[536 0 R/XYZ 0 529 0]>>endobj
+467 0 obj<</D[580 0 R/XYZ 0 696 0]>>endobj
+468 0 obj<</D[582 0 R/XYZ 0 626 0]>>endobj
+469 0 obj<</D[582 0 R/XYZ 0 516 0]>>endobj
+470 0 obj<</D[536 0 R/XYZ 0 335 0]>>endobj
+471 0 obj<</D[582 0 R/XYZ 0 394 0]>>endobj
+472 0 obj<</D[582 0 R/XYZ 0 360 0]>>endobj
+473 0 obj<</D[584 0 R/XYZ 0 718 0]>>endobj
+474 0 obj<</D[584 0 R/XYZ 0 688 0]>>endobj
+475 0 obj<</D[584 0 R/XYZ 0 515 0]>>endobj
+476 0 obj<</D[584 0 R/XYZ 0 235 0]>>endobj
+477 0 obj<</D[584 0 R/XYZ 0 205 0]>>endobj
+478 0 obj<</D[584 0 R/XYZ 0 151 0]>>endobj
+479 0 obj<</D[586 0 R/XYZ 0 734 0]>>endobj
+480 0 obj<</D[586 0 R/XYZ 0 665 0]>>endobj
+481 0 obj<</D[586 0 R/XYZ 0 611 0]>>endobj
+482 0 obj<</D[526 0 R/XYZ 0 734 0]>>endobj
+483 0 obj<</D[586 0 R/XYZ 0 411 0]>>endobj
+484 0 obj<</D[586 0 R/XYZ 0 356 0]>>endobj
+485 0 obj<</D[586 0 R/XYZ 0 235 0]>>endobj
+486 0 obj<</D[586 0 R/XYZ 0 141 0]>>endobj
+487 0 obj<</D[588 0 R/XYZ 0 734 0]>>endobj
+488 0 obj<</D[538 0 R/XYZ 0 734 0]>>endobj
+489 0 obj<</D[588 0 R/XYZ 0 639 0]>>endobj
+490 0 obj<</D[588 0 R/XYZ 0 465 0]>>endobj
+491 0 obj<</D[588 0 R/XYZ 0 265 0]>>endobj
+492 0 obj<</D[588 0 R/XYZ 0 197 0]>>endobj
+493 0 obj<</D[538 0 R/XYZ 0 434 0]>>endobj
+494 0 obj<</D[590 0 R/XYZ 0 665 0]>>endobj
+495 0 obj<</D[590 0 R/XYZ 0 518 0]>>endobj
+496 0 obj<</D[590 0 R/XYZ 0 279 0]>>endobj
+497 0 obj<</D[536 0 R/XYZ 0 734 0]>>endobj
+498 0 obj<</D[548 0 R/XYZ 0 734 0]>>endobj
+499 0 obj<</D[540 0 R/XYZ 0 734 0]>>endobj
+500 0 obj<</D[552 0 R/XYZ 0 734 0]>>endobj
+501 0 obj<</D[532 0 R/XYZ 0 734 0]>>endobj
+502 0 obj<</D[580 0 R/XYZ 0 734 0]>>endobj
+503 0 obj<</D[562 0 R/XYZ 0 734 0]>>endobj
+504 0 obj<</D[648 0 R/XYZ 0 734 0]>>endobj
+505 0 obj<</D[668 0 R/XYZ 0 734 0]>>endobj
+506 0 obj<</D[660 0 R/XYZ 0 734 0]>>endobj
+507 0 obj<</D[524 0 R/XYZ 0 734 0]>>endobj
+508 0 obj<</D[524 0 R/XYZ 0 734 0]>>endobj
+509 0 obj<</D[670 0 R/XYZ 0 718 0]>>endobj
+510 0 obj<</D[576 0 R/XYZ 0 734 0]>>endobj
+511 0 obj<</D[568 0 R/XYZ 0 734 0]>>endobj
+512 0 obj<</D[658 0 R/XYZ 0 734 0]>>endobj
+513 0 obj<</Type/Pages/Count 80/Kids[514 0 R
+516 0 R
+518 0 R
+520 0 R
+522 0 R
+524 0 R
+526 0 R
+528 0 R
+530 0 R
+532 0 R
+534 0 R
+536 0 R
+538 0 R
+540 0 R
+542 0 R
+544 0 R
+546 0 R
+548 0 R
+550 0 R
+552 0 R
+554 0 R
 556 0 R
 558 0 R
 560 0 R
 668 0 R
 670 0 R
 672 0 R
-674 0 R
-676 0 R
-678 0 R
-680 0 R
-682 0 R
-684 0 R
-686 0 R
-688 0 R
-690 0 R
-692 0 R
-694 0 R
-696 0 R
-698 0 R
-700 0 R
-702 0 R
-704 0 R
-706 0 R
-708 0 R
-710 0 R
-712 0 R
-714 0 R
-716 0 R
-718 0 R
-720 0 R
-722 0 R
-724 0 R
 ]>>endobj
-554 0 obj<</Type/Page/Parent 553 0 R/Contents 555 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-555 0 obj<</Filter/FlateDecode/Length 93        >>stream
+514 0 obj<</Type/Page/Parent 513 0 R/Contents 515 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+515 0 obj<</Filter/FlateDecode/Length 93        >>stream
 x\ 1+ä2T0\0BC\ 5s#\ 5c3\85ä\.§\10.}7K\ 5#\ 3\85\904\ 5CCK=\ 3c\ 5cS\13=3\85\90\14\ 5\ 3=\ 3\ 3 D²F°£¯\93£\82KjYjN~AjQ±\82{ifJªfH\16\97k\b\17\0\15?endstream
 endobj
-556 0 obj<</Type/Page/Parent 553 0 R/Contents 557 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 55 0 R>>endobj
-557 0 obj<</Filter/FlateDecode/Length 2529      >>stream
-x\ 1Õ[mo\eG\ eþî_±\1fS Úììû~ôK\92\vÐ$=K×O\ 5
-ÙZÛ:XRN\96zÍ¿ïCrfÈ]%H\81ÃyÝ\14HõèYÎ\90\1c\ eÉ\99Uþsæ\92\fÿ¹¤É\93¢Nn7gY\9aá\9bø×õ;ú&©Ë\ e\7fo\92¢K\e\ f\1e\93ù\99\81\9b¤+ÓÒp\ 6n\12\97WigÈ¢¦A\8b*m1hS¥Î\ 3\1aÔ@\bf9    ò\93D²2Y\87\996I\99\11Å PU[\ 4=]"Àë\19à&©2L§\9c\81°¡Ã\90Ê\19\bU\9c\83ºJZ\f¶j \94a\r\ 6\8b\91\ 6²\ 6o\92<ÏÒÂÈZ\f\16\1aV\965\18+\92\15\83y-\ 6[4\83\91ÙïUMÊÀ\119\8dË\80\9cd ùÝa¥\95\14ÁªNë(È@\ 5=çrG.\8c¤Å\18¶®0\82²2lI&\ 4}\18è°\9ekK\92\8b\9c\81\184oÉÈHR\8cT®1\81À@\ 3Ás²ò\913p\93´U\9aûAHÎ@ÌW6db\14\14\ eêT\ 6j\84ç\1cb\15VD\92\ 5Ë.S§
-\88\82\81#'\16\89\92\16C\1flÃβ\ 6\83mr\8c¯²2iCÑê]^2ÐI=ç2\8a;%-&§\93\83\95\95\12n\vÃ2Ða=ç\87\89¤Å4,­e\19Y\19¶r¼\98\1c¡%\ 3\1dÖs-m!å\fÄ \8eÔR\92\ 2¤Ì)¢8£9\ fhL¸.@\98A\99B\1eäù\14"i9\1a\92\a!Î@Ì\97\95ä¹HZ\f¶¬á{Ã\1a\f\16\9ac1£¬8\0©G\97\8b\81:Às\r¥Ô2r\ 6\92B\1dy'\92\16\93B\1c!\91å)\8b®Õ¥\14\10§\f\1c"«DI \aÙ\a
-1(ç4%-\ 6\8bUk\8d¨L\89]FE\86\97¹` SzN¦\8c\9c\81dG\89õRA\8bÁ¢®Ô\86\95)±nq×\16\ftJÏÉ\1c\913\90¦¤4©\82\16Ó\94\ 5\£¬LYµºß\v\ 6:¥çxñ\943\10\83æ9\rª\82%\9cV\94\15\a\92[\19ð\8a($Aöy$+\16,h4\843?É@\ 5=GK\87)")\82N:\ 2\11\82\9e£ÔS%E$i\98¼£`óûN\0Éñ¾\v\1cï;å\fDbn°ÆÊ\19H«QÂ|%y¾ºf\ 3e\ 2\ 6:\9fçd\82È\19è\vA\1e9D^\9e\bÄ|EFóE\92×7¯¤\ 5á(\16@\13\1a\886£%Oð\83Ä\19HFPH))\83\18§9\ 3\1dÔs\1c\98Ê\19\88  ©Â*g YÁ.\8d\83Ê\84¹)õ9\ 3\9dÐs-m|å\fäFª2\1cÚ\9d\01!|\ 1\vuP
-ÄÜI\13Àñ$\80&4\90\ 4\1d\rÃO²6,\882\15#8g \82\9esXR¨\1aI\8e`\87Ø¡tÃS\b\88\82\81£\1dÜ"'Ó\93qFù2\bò\13\90\19åI\15¬¥ÔË\8c\fTÐsÔ\`ÆH\8aªø\92ò¿\b2PAÏ9´\%¢\87\9eÔ\19\v)È"È@\ 5\10\87\1d¢\80\9eTA$\vu\ e\ 3\15ô\9cloJ+Ö9\19é\1fTe \82\9es\rUR\17\11ç\ 5Ê\vèìr:JÔ¬\8b"¸TAT³\95ºÈ\f\7f&F\11       Ñn\8a\14ÏTKeãÇøs\14ò\8c«\vè\17)\16ª¤6±\10\7f\8eB\9e\91%\8b\14\va+\93/X\88?G!Ï8ä\13ô\ 2ô\18Q,\84\ e(:\82?G!ϸ\96ÎD\91ºX\9c½~\v\9c%\8b\1dÒr\95ÔM\99,V|\8eÃ×·¯\16Ë\9bÇ>ÙÝ%\97»í¡ß\1e\9e~Xü\eR\15Z#\92\9ay±YNb¯æç\1f.Îé     ä\84&§#"¾L®úßûÇÝç~ÏÂPµn\ 3õî¸^õ$\90c\9f\b¤Sÿqb$6\85\18Ù¶0\94*òÈDçjoâ¢_nØ\8c:mÛò\85\98\11ÜèÍÑ5Ëòd\86$ÊKv~ótØ/o\ f¼jmÚT/Lù`Äèÿ9é;+XáhËåÃòó¡ß³)hÇ\11Î\12\80.¥¯°\98!\1eïÖÛõa½ÛÒ׸ h3\1fy\bty2í\á\9fþØ\1f\7f\9aó£UZå\9dÿþçýî°»Ý=2\81\ 66\84Âr»¢¯Ðú\94m\1eÆXn8ÊQöQKý\97×ýÓîñ\18Ô@ikë0Æ\87ݪçÍ\82Ö©(ÿ\87mQ\93*¯ßÆHÎQO±Ä1\9a]ê}S£>\8aw>¾YD{ë\17\18\ f\f\896\1fØ\91Ë\1a«\1d\17×\9fί.Ïç\vr\ 1î*\8aè]»¢EZL·_Å\14\87Ü7´¥\18Ûòñâ#\a Â!k\9b°P&0ó\14¥G¾\1fm\94g\87\8d\84\9cf\ed\1a
\90p¾µIý\ 2\86M:_nn\964\14nð\\19\82ó|\7fû°>ô·\87ã\9e7\14º\9dÉ3V;ÚcÎeºÁ°0ãÅ|¿=ìw«ãmÜù/+å²93\9cZÍöÂQolÅ\87ããa}xØ÷ËÕz{Ï{L«Gâ\93 CGRør\98è\8aâð\136ãs\87§XG=«M\83Ȳcû\16Ö4ôÆ]ÈÍO\9b\eIð8\1eúTþÜF\8cç\13£p\1d8´©üË6m_\9eM\1d\85ÔìĦjlÓöf#Ë\81ÓC,ãWýÓú~ËÙ\ 3\97\ 6\9d/Ãc·M\82Ù.Û@£ÑønnôÑ\19rãâAzf\9c\9fb5x\8aù\12%M\1dñæâ_ïÈ\ ftR\b{.yúòtè¹_EA\89\eô\19Ýá2ÒÉô%®\84\17B\8b\8d3Ôx\95?öÿ%\89¼H+\17zµOÇÃç£ô­Öäù\97íaù\a¯=º\e\1cg¸­yFã\86S\89©3¹É5&\9e$T¿¨¸ój«Pî®hù~}õë\ f¼\84&   }XÞîwÁÆvÊ\ 2âøt1s\ e½±]¯$T\ eÚSûί®\82\89¨:M\e\12\11ýQQM\91j\9d\9c\9ek`ÛW\12ë7lûé\97\9f\82\82\96¡\16ZÛ²Êïëaàü¿Q4nX
-±ÃþÊæ{{Ür\ 3ç\14Ü\fçÅ\vI²® m1«\9bAOMVIRÁû\91Ð1&«\9bûCÿÇ!¬\10ÞfL¹\93Ì\82\7fÛ\bI\e##\1eVû`\ 3]¼¼\10#Ò`\ 5½Ó2\99¯òÍ\965ân·ß,\ f¿­ú\9bãýovM¦©Ý¢¹­Ò¸x¤æê{\87\18\9f\19B¡¾Ü\85æ\18wã]¼\ e\98\1fïïû'êÿyûàþuòÓ\9b+yÛ \ eó¾ù\9e\9d>G\ 4;µµ·\875\1ctúývù(9\ 2׳/!0ÝøJ\ 4¯4Lx\864áô"\ 1\aVº \93{%¤º*\v\7fà\98óèO?H\1ee7õ\11\\8c\e7\eÈÎã\94þµfcë{,t\95M¨Áw\834\8f3a=E\1d6\99\11\1f½\91]§I%¤\14³j\a9òp\81ÐÄK·5\9f
-ðÆZ{ä\9b/\87~·_õûô\81ö\0^\15\94\véø\ 6\r\9a\ e²ð´\80]þr\8eþâæx÷ãçÝ\93t\89\rý,\v÷ÔC\9f=\17
\ f{
-Rþ´pýü÷Q^\9aY[°æ\ 3×ÿøûòQÜ\8f\17P\93Ô_ïx\87öz\90Íðn\94÷þ@÷¿\8fã¥ÎXåß\9f*/½Þ\84Q\8fc&WO4+±Ï¡\98¯¿êúùxÇÒÉi2íCàÐ+îQä4'ê\93óOÔÇ;ù      õ\8f¾?I\97í\89úó¹\r\1e³i'9»\ 4Ï£hQk\19n?(pºSÕ\aq¯ª·üî`\8aè\89ê\97CÝ]ÆÊÓ«.\1f\16 û]ãFµç\1a÷ÌÊ;\7f\ 5\8c\9f!\8eÝ\8e\80öñ@õaÈ\eÕ'IôQùQÀ8)¯VóëA°ûæ\0?`\98\ 6Õ³v\¡\10ùc·_\ fÂÝ+?a\9e\8cÊ£\97\1c»^
-ìÐõ\ 3ßkÐÐOV\9f}\ 1\82îÐp¬º\94סê\ 3Ï«êÓmÕ×oñ³&ù!\ 6\87˲º¡\9fñ\87ßb\98\9f\97$ñç$E\86\7f!\80;ÃY\93uôä\9a\ 2ìÍâì\9fg\7f\ 2Dªðäendstream
-endobj
-558 0 obj<</Type/Page/Parent 553 0 R/Contents 559 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 100 0 R>>endobj
-559 0 obj<</Filter/FlateDecode/Length 3032      >>stream
-x\ 1Í[Ûr\e9\ e}÷WôÛf\1f¤éfß\1f\1dg.®r\1c'Rj\9feY\99h#©½ºd&\7f¿\a\0I [Îxv«"y¦*ÑÑ\11H\80\0\ 1\90ÝùÏE\96¤ø?Kj\97äU2__¤ã\14ßÄ?>üJß$UÑâÏu\92·ãÌ\83U2¹0p\9d\94i\8f3p\9d4åØ\199\ 3×I\96§ãÆ\90yE\13æ%¾Ä n\z@\13\1a¸NêzÜ\1aÎ@\f\9aµãÚ\90\16\83Å8\85e\r\ 6[»ÞÀeA
-97® PÝ\90²\fH!\ 3Å\12\f\eI\11L[Ì\15\ 4\19¨ ç²,#}"i1\rÛ\90\ 2\91å\ 5
-Kê\17H@\ ÀA¹2QÎ@\fê²\1ei1Ø¢Äò©(Å@Yµì\12\0\9aÑ@\1f\ 3Êq\f\ 4¹:\83ÂÊ\19\88ù²
-\v ¤Å´\09fVV\16 ¬Ø!\1c\12%\ 3]\0Ï5\rM\199\ 3i\ 1ZZ\80H²³Ê"Wg       \88Î
-\\ 6ÿBWþ%\91\16\93®E\9f5\18,T°²2)6\0¹\92c©d \93zÎO\12I\8bã¤ÊʤA¶¬Çy¢\ 3g\ 6¯\13\97Õ´\ eQVTÂ\97´ßE%\ 6ª\92ç²4£\18\89¤ÅP©Ê°\89\fk0ض\80ó\94\15\8f¦äæ\10Ò\fhRq°ç\909\10      ÊÑÖ,ÚT·¦\80¨là2ì\9eðK"-\86:%Ŧ\8a\17UÁ^áø\16@\82\ 6úpW\8eÃ=ȵ%\94RÎ@Ì\97Ö=Òb°\19\19©¢\16\83-XWÖ\8e-1\18l]À\9b\v[À<ò&¯¤\0\924\90TjI%þ%ÛIY¸Èkõ\88\0\15ô\\96\16ÈûJÊ\8c\8eü\efd \82\9eC\96-\92"r\ 6B\eGûPI\19\94³d\18\94\81\ eê9       Â"\92,\98·\94\a¼ \80(\18¸\96ÂU9\91C´ÅuË\19¨\9cçjª\88Ê\19\b+ FcH\19\14\89/FyÎ@\aõ\1cçvå\f¤¥q4h\14\94AËF×;g \83z®Îñ\13å\f$M)Ø\95\94AQ\ 4¨rq\9cä\ftPϵT\9f\953\10\83\165\r\1a\ 5iWå¨Ë±\91\10@cò®
-\1co#å\f\'ØêXn\1e\84ä\f¤\95¡ QÒb°X\860?\89Z\f¶¡r¨²¤«\835\14Ĭ\9c\80¨kàX9å\f\'U\ 3]\953\10ó¥\14\92JZ\f¶H\11\8dʲ;\1cb+ºC\0©ÃÞ     \9cìbCR~t\95´
-\9cÌ\ 5\90 \81\98\11\ 58÷¿äQY°ÌÙYòK\ 6*è¹,ËI0\92¢*\96,Ƹc ªz®a\13#g ¼L¥Yå\f¤µ©hm¢ ×+ç¤\19\10M\19¨¦\9e£$\8b%\8f¤\bBýØ\9d9\ 6*蹬 8PR\ 4SS´\1d\ 3\15ô\\86¹\10\ 1\91äµÉ\1a)­ì7\ 1qm\ 2ÇÉH9\ 3ÉS´U\95´\18,\94k-k0Ø\86BÈÈ\1aL\9d\0\15teÙÎ\fy\82\É++ Ú\19¸,£`VÒbrX\81\11\94\95a+S³3\ 6:¬ç$´\94\14A$\95è0Ê0E¢\82\9eC¼@\9dÈ\89\1cZ¢ØdQ\93æ\8c\9cç²Ô!\96\95´\18\9bX¼(j1ØÜѤÊ\1a\f\16mfOÖ`°8º\94FV\14F\83\1e[0êÎS£°çh×ÂÛ\91´\98&¥.ð\ 6\83EvË,k0Å\ 2µ±*+*a\ai,0е÷\9c_³HZ\8cI]C
-+k0)L\876eyRî\14}üñç8¥gd\86H\19\88\11á\852QN!ÍF\ 5Q9\85à\1aj£"Ç\8a BÄÀãÏQ\11ÏÈÌ\912\90&s0M9\854\19ÕDå\14Â\ f9եȱ"($1\92ùsTÄ32s¤\fÄd¼âÊ)$%ùxOÃÓ\90<Y)-\10Ö\83NR>\b\15A\88\9d\19)\ 3Áá\14\8f6?\88ñ\80hW)\86x\bþLS)
-\ 3FJ\ 6ôR\92K\94ãÔ\128´Dy\129\9e\fÖQ\ 5çáùs\9cÌ32z¤\f\84"<ºr
-Á!\1f¢²Òð4äëéÅO¿ *¥Éô\13/c\8a[\8bºH¦\ f|\97\82¯ç¯¦³ûÕ"é>%WÝf¿Øìwÿ\9cþ\eRØø\19I\8dhõ!6r$öêêóìq¿ØÒoPê2\10\18äáUR\8eé+\88\b\9cÌÖ÷3þQ9Æ¡Ý\7f{\8d       ¶\9bÙÊO\81\8d,Sà\16Ça\ 6Ô5G\83¡½\93Ñ*Ä\98\8cwsyK£¹r\9c\97á»·³ÍìwQ\85V·(\8eæF}l\9dÿöòî\9a5l0B+ß\8dOú_ÖÐü#Ê\85õÀØ\8cÍÅ\91\ 3\84Ø{7ÛÎÖ\v¬\16/\15Ú·À\9cTåádÞ\84º\84_zÞrG\ 6|Xì\ fÛ\rG\80õÂ×Ùê°`O¢¯K\9bsøÁ\1a\95µâ\13º2è\99äÃY\ 3ðª{\10½Ëq[\87(\9f\7f\86\9bæ~;àâ%-C\fîiS±\9d\18\19±Í^µ3\9fò³KI\13»¥¡+m8î\1cþbSWìÖ¸©§\9f\83IiSû@Ý­ïÇónó\89\89ʹ°6\9f\96²\0ti\90û_\9fÒèá\.\93E\88I\87N¯Æçh\89ÅZõùÍâÏå|¶"9\14\8c:÷i#¹D
-û¶[òÖÄ\1dh\19\16h8åi±\188Â}\85\re2ë8½ü6Û<¬\96\9bßÙkh7b\96ìØ\91h¸Û,÷\1eþ×çå~±{\9cÍÙùh\10\9aöÄñì-£ëÖ¡Ç\8e\13ÏÿbÚÍr#\11\8d\8bõh/\95Áåæ0Û/;Î_èN\8bÆW\91\1fëÑ`'Î\19C\17æ\1c\9b¶Bü-Ý1\92K\83\1f\96Û/\12´x²ÑøTõcM
-£;G¡\86^¢_ü°\ 5\87\9bnòm³\9fýÉ{Î+\1eÆx\11\7f{C¸ý\8d%\90Ì8Þd\97÷ÝaÏ\86À\v¡°?Raß\8dçü=\8e\15'ÞJý5t9©Ñ+\f\r\87Þs\85¡\16¯\85\\7f»Ø¿¾~7¡ÁP\ 3J\17\12å\927\10e\134\8fÒØpS\88N>¬ÇÇÍ\92\9dM\9d]U\85\94ÓmW\ f¼B8ø:ÿm_õ\1f\8c\!+\13«E\86keS-êãj\81ævÛ=\1cæ1o\9cÕµ\83õ\11{F8\8aô\8c8Ú}\1fwÔ ¯\17\9c\96¿$\eÆco\ 5â$n=<B\1af\90_Bç\81˾\18RïþØ \99þ¼|ä ÅÃÒÓæ¿\81;\fô6áÚÞÖ6Ô\9c¡Yw³Ýî\8fnû ®á<zÖ®ÒØÀ\1f]IK;ªúE\1a»fhÈM7ÿâ{\ fê\9e\ fG;#ö\86à\9ci¢Ì·ÂÚ\1c¾Yl¾\91ÁH\95e\1d\12×[\9c\12Ø?¨\ fxäõrLs\15;\aOáúQæ\13¹\9a5ÝÎ\1e\1fº\8e\ fø8%TMÈñ\1f¯ß°eHÔiu\96\ 3ôqHx«\8eöN3\f¹»nË\95\98n$ãÑesXßû\ 36®2\8aÐ\0\1eOsòo\82·j\e\81í\91QÛnßÍ;>\9fàÁL\1aËîU·~\áì²ç\0Åýa\11N¬'·D&\14{z}\ 6RøsM\86÷b\b@Dæ<\1cY¬µ»xÕ\84'>áJ!Ù}Ûí\17k
-z\}\97\99¿iHp\9c\93Û'\8a\84ÓïOçï\80êöyó½¿\83ù·S2\ 6O4ÔÏoºõLZ¬\9eû?Ü]ýC\92\10º§³\1f½s\7fù \9d\14\1eÌ\9bÔ\8aKÄa`¿èNJì\19aW\r\8c8>\0LºÃvîëÁ\v¸\ 1\91½\98ó=È\b¯½Ø3&yáø,}µ]<,åB\98\1e ½\9c\8d¨M\82Ä\15ò0\8en;\\p\8dÆÛM!½'¸úð;©Êéd²ß¢q?l}ß\8b\87båy\ f\9fÞ@ÜËÄ\1e\84\f<\8e1µñ\1cǤïÖ\13¯¿\\÷L8\8e²\9fQ\88\17[¾oaoIh\9e··Íå¾¢¡Æ¨§þñEÌ v¸\8f?¯ò~£{\13\1akÀÑaéí\ 4å\82Ë$Z Üïð¤û*ÏUðN\8fkÃU/
-ðf\87ënú5
-NåÂÅÒ-\ e\8cr\·¥önùÈ\97kx)¦ÁF=É\92\14á\9a©\7f\9ajqH<Þ:O\9bNjk£{æ\94çíÁ\93WÛ¶\939ÇÛè·ÅìÁ?\98{Q¹ºÈ)`Fxèf6\12Z5ÎÖöFs:[r/\8b77Ï{-öDV+j6\ 2oÜôò\ 1Zë#3ü~ÂK_ñiÐë¥Ô\1c\ fC\7f¢\11ñp$¶¬Oþêrþ\85~G\9b¨:É%tßxo7½Ü7\8c@9×[\aÞNo&\97¤-\8eõx\8dÃ_æýÿi£ÍN\936
\95\97\83T)g~k¡·\8f|\eO[ï\1e\17\e2ºw\11p×­\96\1fÀZ\84\aàýµ=        
-¶á)@oûÉÁÿ9ÛÞ\1f\16\82\8eÏ¿®7\9f\18g¨xõÑ·¸<y7R´¤Ò(s\9c=z¶ÊAò9[C\e"\8f¹Òq\91j\ 4\1fp\98\94
-\87ÇÖñ\ 5\ 49\7fq±@bÀ«I?¶È\ 5\vñVÖp/ÊYñ9\v\9f\8cÔÉb¾]ÈåÈy#µä\83â(\eFj\96r\8a¥\b\fíÉSÛðjÕíäa\1e\96'<\85\16{z\12o\ eîÏz±\88\87!\9c!\9f±æ¦ë¾\1cø®\1a/gê\v\a\93ë7\13É5?6Ô¾c\92\1c\1d\87o°pw%ýÈsNú\8eYÔ@ò6âÇj'é\14­\85¥\7f5\0o\83òûHø\a\0\ 5þ\ 5\17¿×\8c·#&\97o__&o\16_\17«î\11\17\86ɯ\87¥¼\f\92ã\1f|\14(R£:méÅ¥å\92\9cóóôâýÅ\7f\ 1\81ó)\8dendstream
-endobj
-560 0 obj<</Type/Page/Parent 553 0 R/Contents 561 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 145 0 R>>endobj
-561 0 obj<</Filter/FlateDecode/Length 3468      >>stream
-x\ 1Í[Ûr\eÇ\11}×Wì\9b\9d\aÂ{¿ä%E\91²Ì
-EË\ 2lçÁU©\15\bJ\88\ 1,\ 3\82Véïsú2=½ )±\1c\83\92\%áà`fú6==½ëÿ>Ë\92\14ÿeI\93'E\9dÌ×ÏÒI\8aoì¯7/é\9b¤.;ü½N\8an\92)X%Óg\ e®\93*\1dq\ e®\93º\1dq\ e®\93,m'¹\9bÔc°e:é\1c[Ô$NQMZ\88\93J\ 1\89ã \ 6f\15­É¿$Òc°EFÓFÖa°Íxb\8f×I\9e\99=\ 6\9bw\93ÒÍ\\95$p\9eOj\bÜ´\90[\0Éä \16MóIáH\8fÁÂ\ eÐ\95çau\1c\ 6Û6£\89\94$        \8b2\88\8b\8b\18é1¦­3rMd\1d&¶#\91\8cåE«®Æ\10]T\80-\1a8Y$\92\1ecÚ¢\984\89c\1d\ 6\v\9b\8dX\87Áv\15D\8acE¤¶ààekW\f¢HÊ©\bFz\8c\16Ñ\12\87z\f¶Ná¸ÈÊ¢0\ e\85¨,Ê .ª\9c.b¤Ç¶hdE\880¶ÎaçÊXÞ\17UUs\98ñF\10@\8b:H&jð\eGR|Ve\11CE@\94\f\8e\ e¿$Òc\92¶¤iù·Ì:\f¶d¯\19+&*R\17*\fâ¢ÊeiE¶5ÒcL\v­[Ç\8a\11²\86Ý-Z3 i\1d\']Kª\18ç Mʲ\1aé1ئ »GÖa°\12\7fÆ\8a\9eiáB\81AÔS98¥D\ 6¥\1f\12ç &Í+ZÒH\8fÁb\rÏò\92e\97Æ|#À\96\f\1c¯\119\aiIJT\91ô\18lÙ`\979Öa°ÈîµcÙ)eC
-jÆ\16`N  \\96ñ¢üK"=Æ´8l\8a$\ eõ\18lE\99ʱ\ e\9bHqf\11QeÊS\8a¢8Öcäó¦ÄÞ\8f¬Ø·&£ëî.\19Dû*GGL\9aDR\ 6B.:H9-\94\fâ@åTo#e`A\19>\fd\10\a*\97áè\81\11\8c\14ËóF\f\96g@\ 3y;\94ÊÁ\10\18g\9c\83Ø*\15©o\9c\83°kN§h$EÒ,\8b¹¤d\10%U\8e\9c\aÛ\18é1¹\8böAdyÚ\ 2\9bÔL.À¦\r\9cL\13I\8fiZòsd©°)\9a\8cÍÊ\95\8c\0\9aÕAX®B<GÎAX'¥)y\12\1aç Ö+èÐ\8f¤Ç`\11\ 2\99cÙYEE{\aKR~\12@Ó:¨¹+r2®¬d{ñ8\ 6q\9cr|0\17Æ9H¢\8e\az\f\16Õ_\91Ä¡\1e\83mk\ 4\81c\1dÆöɨª\89¬Ç`Q\80¡ò4¡D\19Ø\8d<-Z3\88Ê(×æd<ã\1c\84@YAv7ÒcR\86\ eªÈÊ\92\99Ô·²$\83¸¤r\19Ò\ 4\9cb¤Ç\98\96w\88c\1d\ 6\8b\10\86\9eq¬Ã`;ªx\1cë0l\84#\10\ 2ÛX\8fÉ\82-Ù7²\ e\83ÅL~¬(\8b  ¹zf\9f3\88Ê*G¥\b\9cj¤Ç\10\18ó ì#ë0X\14%\95g\1d\16uṳ̈NÀ¤NCêØÌ´GóFêXÞ\94\ 2H^\au\8fF\8e÷h\18Ç\9b2r\ eBV\14Ô­®@\93zL\9a´ØVq(\9b/G\1a±ð\14\v\Kõbä\1c¤%Éc\91d\15¡\f¹Dtb\10UTNt2ÎA\9c
-5\ 2(7ÎAZ¯\19\91\1e\83E$BT\eê1Ø.#Y\8d\15\ 3äZeRüä\f¢\ 1\94ãj"r\ ebR\ø ­\rô\98Äe\81"ë0X\14\92~Q\8fÁBñÊÍ,â"\1dpéÁ#\19Dq\95£Z¶F®¢_\12é1¦Å\r\ 4A\12Y\87Áâ¼\87HÆÊ¢©Ô¶\9cPr\ 6qQå\90\811«q\ ebRÜ^\11yFz\f\169lÄ:\f\16¡á'ö\18,\ e+8<Îì0X$\f(\13Y\87±;\91f`&cYUº{RIê
-0U\ 3\87=×ð%5eóò\81N\954Å|K©Q\0\8ds\10â \9bu\8e\94\81¸oÑ!)¿d\10\a*\97et0Óͬ\16\87:L\16ÊI\1eceZT±\14'2-\838­r:­\91\1eË´\19\9cCóÐP1O!¥¢\98\87\ 1q\ eò\925t¥\1fê\92\ 1bRTÿÐÄH\91\15\85\17Ù\de\10eU.\83³J\f§_\12é1ɺÇ:L\8e¦kW\1c+\8b¢ï\11\1dÆ .ª\9cìÞÌH6AG'®\ 6\b\7f¦al\0ePÚÕ\891\11\91\98t'0\8a§k¥¾ä       ø³M§\fb¶M\8c¡ü\8a\1daí+þLC\90Õ²Àp65&"\94[Tû\18\13\11d\83\81qû¤©i:\aÁq\11\1e¹\bÁµäÑÈE\bÃ\97\19"Ó8Ö\17_ÙqÍ\9fM_e¤µe\14\ fÂ!c6çÏ6H\19.\99\8c\89\bòáôE\ e      X¯\b\82²\87q\11\82C\16Ê#÷|öì»ï)Ó$³+\ e·\14Í¢¦Lf\97Ü_Ä×óogýÛÕ"\19®\92\93a³[lv7\7f\9bý\a£*¬C£\8e(J1ì(§aß\9e¼ï¯w\8b\86|\a\ 2\93\~\9bt\13ú
-C\ 4\18"Ýç\9d~u:¬ûå\86¾FÛ,~ýæõÉ7º$v\8a,\89Ö\1fî\1fX\9aîù\98\1dÛD¦§£E\17x1;ÿñå\8f\174\1fÚ0u^(±½\9eóÒ8\8d»F¿\9bmûÍM?ßéâñÇ\17ýzqIßbkWY«?\7f½¼^Ð\97ضe¡âO\ eõ§Êi©£\fW\\18Ùk\9c±Î8z\9b ôùô\98å*&\95\99õÍâ¿·\8b\eV\r\89:ërU\ 2\8e\16\9bw¬I      k4\87ÖdÏBU!\8aá Î÷4Ë\1f¥Ùñíî=âq9ïw¬\ 4\92MW«vl4(UkÀí­}h\18tËʱË\8aG)6]lÿÐ-\84\b\v*½îon>\f[\ eGìâ.\v\11=]°w3\948\9d\86è¡õ\93ù«R=\88ZqÏ\83²\1f?\17\9bÓãW\1c¯Ø¶mØ\8bçûaCߢ\9fض¥øóiôñ«\ 4Ý\90X÷u«\1eçÄ\at»ºú
-\94«Äq9î´#Ç\89jYL£¿áÏ«ã³óéù\8f³ß~»xA\7fÅÄ\9a\95\1a\83Þr\aû\Õ"5\ eÑ=¡ïfÂ\9fn\17Û\8fjh\\8d4+\\r|0¡pª\1aÛV§'ô;Îå\9aG\ f¦Á§'Vý\90¡]\9aGïåN¸}rÛ ¿XãläSðÓë\1d\94­\1avV×yejVÅ\85×ôÍ/Ó_Øþh/UºÙ\93?y\1c£Ôó\96§Ô¼j%"q°\8e÷Q=¹\e\92\17\9a¦Q\97\15AÓéû~+¥\ 4îÿV\8e¼ØÜ®9&ë      \9aFO©Ð^H¨~è\f\8c6\1cz+wbò^íî=Ç^Þc\87³ÍÕÀ\1aã\ 1\15Ê\9e,\87\86U§¾\1cm¿f?bO¶\1f¯wûm\7fý~É\85$u\9aÌs7ËKqg:)\9b\ e\9cñÑG\8f\96¿¸\84Ú)\1eËßQ\99æ\8a\9c¥\9c\8b5N$Ô\15\7fí\ 6Wís<Þ\19¹\1aOÑï¸útqµÜ,w\10\87ër¼D\80àÿkÅù3ÎV\15\1azºì\12(\1e\9bÜÑàõvØ\róaE\1eÇ-å«\10\9fT®S\8eA4«öT¸[7\9e\fëu¸\8c\95OZõ=ä\e\15\9eÚH#éÛý-4=;åÀñÕa¿áº\16á\17\93ã\9bð;ô9j=®\1fZü©¾¯3ñ\10¢jOÉ»ûä×Åjuôûfø°¡1hdåá\ 2i\16@/SëÞ§RÀÖQM¨±»§ÉÝýò°&ðÑ\94´C+ø\våm\íI\0ß\90@\86$ï@¦O¶$Ðn¤\91¾\1cé×o{ú\ e\8f¼²2ܪ_o\97¸enÞ\11A\r\9c\10\8bÉ\19ú!ÛM¿âhÆ{\13\16ºfä'øPs-ÿÝ÷Ö\1c¡·\90|pBM\8dÍpõ?~{³Ûj»\ 3\87Í×\90¼½¡D£#l\18\17\98ÐBã2háÝ\ 2-ò4Ü\87Ù-Wý\:\epX\11\98\1d\17\198\89\8b4lÅ_úír¸e\ f¢ÿ\17¯\ 5Ïûùïäptv\8b*DÂbs)\99\v\r@\98ø\90g\9e\1a\8dÞ\ e3Ø@\ f\82\91\rXÌÒ\ 5,.?·¬<Þn°öÁìô¹ôÑè\82\10\9bý)?\aíÐ\83Þ\vUm\1c\ 4\ 5Ñ¥B\8bêì\94÷^\13û;÷\9d\17'«%ND¶\86S19éçïu÷â¬\8f\ 5×=e\19\87\94v^Ð3´^\19\95§ÛuO%\ fM_!mw\7fÙ\15«\96\9bR\8e\86²?8álm4\ 4[üºÜ\\ e\1f$ÙøþÏÅì»ü\9f$\17:i±Ä|H\17±(ÿ\1c×\v\ví\8ba·¼
-7æ¶9è©$\1a»\8c\9d£\1d\7f6cK"ûlÆþõìbÊ\1aæ\93Ô\1aKãl\8d\ 4ÿ\85\r\17y>a\17îÊ\81ä´\97­M\19ôÃÌ]ß÷ËÕ\10\9a\84xäÓ\1d6\e=27\ 4Õâ³\ 1xôQ\8e\95Üî\1c;{/\17)<\193\ fþ|=\1fÖº\95éÍ+ëq\87\86\bn+¶g§\1fov\v¾Fã0·9\1e©Èÿû³\86ËDïc47b\1eÇã\v.=BÉ\94L\17óÛír'ûÏ')y 2:±Ðô¦Ø\86­¢²ßl\16\1fèK4ôÒ*t¶`\95oøK\1c\8eí\17è\83\8b\11\8eîÔ#xshOû\1dÒy¿\1a\18<k\85Trµ\1d¤\15\82óͺ&?_\9cýK\15k°w\ ey\f?\1c\b\8d>\97A\84û2\ 5oR\8d\95û\ 1º­\16R` Md­\82ûN°7(Z¤ÀÀ#5{ÜôÈ\18\b!\80\8daÍÍ°1ð*\ 2¶áá\r\15\8c\82\a»c£ì\1dëçýÇÅVlÂÅêá%{Ø\91÷2ª\b=ÑßWD¶.½í\1cÊÂãëë\15=\85\8aåÁSØú^¹Ã\97*?Þ\95\1fÕ\149\1e\94Êæóò\87\8faÆE4^ÑøB§¥(Ô\14´ß\8fÆ\8dH¼µXênû\9c\86Ë[Ý\84¸\1d}\15ºÐ\v\ 1ãÐÚ+÷îó\8aÓÃײÁë_è_õN\93\8e\8e8TX\9c   G¾¹^Ì\97½ôÝÀ[F\17½þNN\1e=ü¿é×ÿ¾ÆsÏË·D¡B.\8a\83V¦Á\80ª\11½}´·\7fÂó\18¯\15IÙËÍðëé&ª
-­¿?âN3>\9c^-Ö\83<'£m\11ÝÑoúw\vê/²Ùñ.dèy\ 4\ 3=á¿Á\17y6
-/éÌ[\ 55Ã;\ eá\96Ç\17©¯ìHiøY¹»óà\ 5¨GUÆRN¸Êø¼ß¼ê7¼U0\85u=´\9eÈñä¡\r7Æ{Þ²\19½E\80\vµ=¥x±\99Ó£\8dx\86\ 5æ ®nö»Vhß\8cÒa±_"ã@Ú"\8bÏMÂ/~Æ\9aaD\99#\\9ac\89\8f\97ZÆ[í\87A*t_È^\ eZîáEn{\10´äM\87WêÂ\9eKðÖÇïÿ \87£uóD Ðt»ó!x\ eï;òËX¸]\95%þ7M~\ 1\1cïbáØz~\9c\9c.þX¬\86k\14yÉË[}(Và\9dÔ\8eb¾I;zkk¹\\92R/fÏ~zö?\1f1\1eyendstream
-endobj
-562 0 obj<</Type/Page/Parent 553 0 R/Contents 563 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 161 0 R>>endobj
-563 0 obj<</Filter/FlateDecode/Length 1199      >>stream
-x\ 1ÅXMsÛ6\10½ëWàè\1eD\13$A\80\97Î8NâK\9cº±¦=Ó\12-+\95HW¦\9dé¿ïÛ\ 5\b¬\94ºãK¢dÆÉÃÓ\ 2xû   ùï\99V9þje\vUÖj¹\9båY\8e\95øãË\15­¨ºjðs§Ê&Ó\ 1lÕíLÀ\9d2&«\ 5'àN5MV
-NÀ\9dÒºÉ\9c %\ 6[ÚCV`°Î\1c²\ 2ïTQéÌ\8a\9dË\9a¤\94d\82ëº\bH\8a\80;å*\92É\1f$N@\7f!#Hºà\84Á\9a*k\ 4ËÎË\9b¬\8aÎc\90\9c\178ï­È    \bç9R\119Va\9a:+&\15\1eD\15\13§u\ 1ÃDzCWr$Y¯a\90\f\ 3×XÜ7q\ 2\92\84Þ\\99\9aBÈ~+\ 2\b~\9b \fq\e-H\89Éo\87¬ßÖÔH©i[\ 6iÛÀiMî7\91\94\98¶µØ!±Þ\ 5UÉñð.`\90\\10¸Æ\90¬È       H.8$ý]Ë\9c\ 3\82\\81f\ 6é®\81Ó\95¡\80DRblëXIb\ 5\ 6\8b,pÒV`d:\12\ 6÷\8d\94v&/9(\¤\1eÐ\8d\ 4\f5\9b8N»ÉÎ鸠     +I\90\@j\93¡Ä`m\89rO,{½jr\ e&{Ý\83èõ\89s\ ev\89óv\96²1ÔkÅ Ù\ 5\ eá©Uâ\ 4Äe¸     $\92\S\19\12\13Ú\99\aÑ5\13ǾH\9c\80\9c\908\8f7a×Tt|Ø\13\85i\ 4' Ý¥FwH\86^ w´I \83$0p\1aÕ\8f#"é\r\v:w2d\90\f\ 3\87N[¨*rï\16³ó\8f\8d*rµ¸Gq ©£uÙJ-VÜó±¼<[´wÛN\r÷êrèÇ®\1f\9f~Y|\85\95A\ 5\93Õ<\98Í\v2;»|h\1fÇnO\9f¡ÌÂ~Ødu\86\fÉhM\937üʧ¶¿n{ZDYÙ¼\fËm¿¢µ"Ï*W\84µÏ\v¶E\87.\9a°tÓ>=}\eöüÙÊf\8d¥ÉE\a\97û\7f\1eÇÍÀ[\9f\7f¬â=1³l\83û\96p\ 1>\89\7fý\9d\8aé\98_\17\ f\1d\9f\8d¹`¦\83\9evw\8ft\16\9fdÐ)âI÷\9b-\7f\1c\9a0.ùôì\ 4\7flMw>\b\bz\8eQó¢F¡ü_Hªã\90\\ f«çmÇ\ 1®òÌ5!T'\10õßGZç¥Æ\98Ö9Ò)E\14c\9a\88^¬^Ú~l×^\13f
-ür²@\1dkòjæÖG+¦%à¡\88OC»Úôk\92\8e\92ªôT)»\14-4\ 2ãìÉ¥\ 5EN\1fÄ\ 4\93\9c\ 5Ñ\8c\98\8aÿvlÇÍ\92\8b\rï¹Ü\85â\95\92 µ:aYeA\f^;\87)\86$ú^ÎC»ï¸C\94è.M\88\84:\92cBä\8e\13á'à F\17\87¡9j\80\7fî7ã\94i\98L±Ó    \1dè\v±    ÿ\84{¿v\84m(wæG\99\9aiç·1Bµ\165ôÔm»å4,ð2pfÊÐMO'h\9d\951;\97C\7f¿Y?ï»Ì\93xèa\94þ\98ªó\ 2EW/0{ÞÔÕ\r\18´_n.¹ÐLVFu7Ûçõ\9a\ 6;1\18\8cE\9c¿×©« Ö'ê*.§{Éá]V\99\95uh¾kõwÃóHV¢Í¼\96=§X÷\92æ~\ 6¥\91e\8e»ýU×wûvËJÐzê)\1f\7f{éö/\9bî\e\a\f_*ËSO²)Fé!Hùò\86gG}\9c \9f\87Ñ\ fè\ 2\ fP=Í\82q ©(À&N¼Çvù\17\86ùÞ¿P0 ê\1fT}oL\10§é\8a2Mu.F_}\9c£\7fàêx\98\86\16\8b²;u\f¥N/fnõÁ¼Ã¯\158\ñI%û\83\8e\ 3]ntÊÿO\11qáÕoé\15\81/8øM\ 6¿\85o/®ß]¨÷ÝK·\1d\1e\11\ruõ¼Yq\13\1cý\11ß\ flÞЫyóB±ý°\98ý>û\17©\18ô]endstream
-endobj
-564 0 obj<</Type/Page/Parent 553 0 R/Contents 565 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-565 0 obj<</Filter/FlateDecode/Length 155       >>stream
+516 0 obj<</Type/Page/Parent 513 0 R/Contents 517 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 55 0 R>>endobj
+517 0 obj<</Filter/FlateDecode/Length 2523      >>stream
+x\ 1Õ[mo\eG\ eþî_±\1fS Rvö}?ú%É\ 5h\92\9e¥ë§\ 2\85l­m\1d,)'¯zÍ¿ïCrfÈ]%H\81ÃyÝ\14HõèYÎ\90\1c\ eÉ\99Uþsæ\92\14ÿ¹¤Î\92¼Jn·gé<Å7ñ¯ëwôMR\15-þÞ&y;¯=xL\16g\ 6n\93\98\17\863p\9b¸¬\9c·\86Ì+\1a4/ç\r\ 6­Ë¹ó\80\ 65\10\82iF\82ü$\91¬LÚb¦mR¤D1\bTÙäAO\97\bðz\ 6¸MÊ\14Ó)g lh1¤r\ 6B\15ç ®\92\16\83-k(eX\83Áb¤\81¬ÁÛ$ËÒynd-\ 6\v\r\1a\8c\15IóÁ¼\16\83ÍëÁÈì÷²"eà\88\8cÆe@N2\90üî°ÒJ\8a`YÍ«(È@\ 5=ç2G.\8c¤Å\18¶*1\82²2lA&\ 4}\18è°\9ek
+\92\8b\9c\81\184kÈÈHR\8c\94®6\81À@\ 3Ás²ò\913p\9b4%\r\199À,\8eé\8a\9aL\8c¤\18\81uP§2P#<ç\10«°"\92,X´©:U@\14\f\1c91K\94´\18öc\e\965\18l\9da|\95\95Ik\8aVïò\82\81Nê9\97RÜ)i19\9d\1c¬¬\f[\15Ð3\fË@\87õ\9c\1f&\92\16\87µ,"+Ã\96\8e\17\93#´` Ãz®¡-¤\9c\81\18Ô\91ZJR\80\14\19E\14g4ç\ 1\8d       ×\ 5\b3(SÈ\83<\9fB$-^\11\1e\848\ 31_Z\90ç"i1Ø¢\82ï\rk0Xh\8eÅ\8c²â\0¤\1e].\ 6ê\0ÏÕ\94R\8bÈ\19H
+µä\9dHZL
+q\84D\96§ÌÛF\97R@\9c2p\88¬\ 2%\81\1ed\1f(Ä \9cÓ\94´\18,V­1¢2%v\19\15\19\9c\81Né9\992r\ 6\92\1d\ 5ÖK\ 5-\ 6\8bºR\19V¦ÄºÅ]\9b3Ð)='sDÎ@\9a\92Ò¤
+ZLSæp\8d²2eÙè~Ï\19è\94\9eãÅSÎ@\f\9ae4¨
+\16pZ^\94\1c uCneÀ+¢\90\ 4Ùç\91,Y0§Ñ\10Îü$\ 3\15ô\1c-\1d¦\88¤\b\bD\90\81
+z\8eRO\99ä\91¤a²\96\82Íï;\ 1$Çû.p¼ï\943\10\89¹Æ\1a+g ­F\ 1ó\95äùª\8a\r\94   \18è|\9e\93   "g /\ 4\10yY"\10óå)Í\17I^߬\94\16\84£X\0Mh Ú\8c\86\ f\12\19A!¥¤\f
+õc\9cf\ftPÏq`*g &¤
\9c\81d\ 5»4\ e*\13f¦Ôg\ftBÏ5´ñ\953\90\e©Òphw\ 2Ä\84ð\ 5,ÔA)\103'M\0Ç\93\0\9aÐ@\12t4\f?ÉÚ° ÊT\8cà\8c\81
+zÎaI¡j$9\82\1db\87Ò\rO! 
+\ 6\8evp\83\9cLOÆ\19åË ÈO¨ CR\95f\94'U°\92R/32PAÏQs\81\19#)ªâKÊÿ"È@\ 5=çÐr\15\88\1ezRgÌ¥ \8b \ 3\15ô\9cC\1c\88\ 2zR\ 5\91,Ô9\fTÐs²½)­X礤\7fP\95\81
+zÎÕTI]$ÙF\9c\17(/ ³Ëè(Q±.\8aàR\ 5QÍFê"3ü\99\18E$D»)R<S%\95\8d\1fãÏQÈ3®Ê¡_¤X¨\94ÚÄBü9
+yF\96,R,\84­L¾`!þ\1c\85\90\vÐcD±\10ºÙè\bþ\1c\85\1a:\13Eêbyöú-p\9a\10wHËeRÕE²\ó9\ e_ß¾Z®n\1e»d\7f\97\îw}·ë\9f~Xþ\eR%Z#\92\9ay±YFb¯\16ç\1f.Îé ä\84:£#"¾L®ºß»ÇýçîÀÂPµj\ 2õî¸Yw$\90a\9f·\8d\b̧þãÄHl
+1²i`(Uä\91\89ÎUÞÄe·Ú²\19Õ¼i\8a\17bFp£7G×,Í\92\19\92(/ÙùÍS\7fXÝö¼jͼ._\98òÁ\88Ñÿ3Òw\96³ÂÑ\96Ë\87Õç¾;°)hÇ\11Î\12\80nN_a1C<Þmv\9b~³ßÑ׸ hR\1fy\btyrÞºÜ?ý±ë/Þ\7fZð£å¼ÌZÿýÏ\87}¿¿Ý?2\81\ 66\84Âj·¦¯Ðú\14M\16ÆXm9ÊQöQKý\97×ÝÓþñ\18Ô@ikª0Æ\87ýºãÍ\82Ö)/þ\87mQ\92*¯ßÆHÎPO±Ä1\9aÝÜû¦B}\14ï||³\8cöV/0\1eؤ\19\12m6°#\935V;.®?\9d_]\9e/\96ä\ 2ÜUäÑ»vEóy>Ý~\15S\1crßÐ\96|lËÇ\8b\8f\1c\80\b\87´©ÃB\99ÀÌæ(=òýh£<;¬$ä4Û ÓPÈ\85\84ó­Mê\170lÒÅj{³¢¡p\83ç\8a\10\9cç\87Û\87MßÝöÇ\ 3o(t;\93g¬z´Ç\9cKu\83aaÆ\8bù~×\1föëãmÜù/+å²93\9cZÍöÂQolÅ\87ãc¿é\1f\ eÝj½ÙÝó\1eÓê\91ø$èÐ\91ä¾\1c&º¢8ü\84ÍøÜá)ÖQÏjÓ ²ìؾ¥5\r½q\eróÓöF\12<\8e\87>\95\11ãùÄ(\\a\ em*þ²M»\97gSC!5;±©\1cÛ´»ÙÊràô\10ËøU÷´¹ßqöÀ¥AëËðØm\93`¶Ë6Ðh4¾\9b\e}t\86ܸ|\90\9e\19ç§X\r\9eb¾DISG¼¹ø×;ò\ 3\9d\14Â\9eK\9e¾<õ\1d÷«((q\83>«;ZRÊ4&®\80\eB\8f\8dCÔx\99?vÿ%\89,\9f\97.4k\9f\8eýç£4®ÖæÅ\97]¿ú\83\17\1fí\rÎ3Ü×<«uÃÉØÖ\99Üå\1a\eORª_VÜz5e(xW´\80¿¾úõ\a^D\93\86>¬n\ fû`d3e q)©1s\ eݱ]ï¤T\ eÛSûί®\82\89¨;u\13Rm´\11\1dR^N\91l\1d\9f\9d°hõж¯¤ÖoØöÓ/?\ 5Û¨        -B5´¶¥¥ßÙøù\7f£hÜ°\18b\8bý\95Ý÷ö¸ã\16\86Ï)¸\eÎò\17\92f\9d\9c\r«zÐU\93U\92\86\8cÉúæ¾ïþèÃ
+á}Æ\94;É,ø·\8d\90´12âa}\b6ÐÕË\v1b\1e¬ ·Z&óá\15)G\985ân\7fØ®úßÖÝÍñþ7»&ÓToÑÜÖi\=R{õ½c\8cÏ\f¡T_îC{\8cÛñ6^\b,\8e÷÷Ý\13\9d\0xûà\ 6vòó\9bË%\8dãm8\9dF¿g§Ï\11ÁNmîíq\rG\9dî°[=J\8eÀ\ 5íK\bL7¾\14ÁK\r\13\9e!M8½JÀ\91\95®Èäf       ©®LÃ\19ü\1f8è<úó\ f\92GÑN}\b\17ãÆÍ\ 6²ó8¥\7f­ÙØù&\v}e\1djðÝ ÍãTXMQ\87MfÄGodÛjR      )Ŭ\1aWX\8e<\!ÔñÚm³£8Ç;kí\92o¾ôÝþ°î\ eó\aâð²¨-§\HÇw(³vÐt\90\85§\ 5ìò\97\177Ç»\1f\9f¤K¬é\87Y¸©\1eúì¹PÐ}ØS\90ò§\85ëç¿\8fò§\ 5k1pý\8f¿¯\1eÅýx\ 55Iýõ\8ewh¯\aÙ\foGO\8aíâïãx©3¶Sx\7fª¼ôz\13F=Ê7WO4+±Ï¡\98¯¾êúÅxÇÒÉi2íCàÐKîQäÔ'ê\93óOÔÇ[ù        õ\8f¾?I\97Í\89ú\8b\9bM;ÉÙ%x\1eE\8bZËpýA\81Ó\9eª>\88{U½á·\aSDOT¿\18êîRV\9e^vù°HØï\1a7ª=׸gVÞùK`ü\10qìv´\ 5´\8f\aª\ fCÞ¨>I¢\8fÊ\8f\ 2ÆIyµ\9a_\ f\82Ý7\aø ÃT{5¨\9e
+\85È\1f»ýz\10î^ù     ódT\1e½äØõR`\87®\1fø^\83\86~´úì\v\10t\87\86cÕ¥¼\ eU\1fx^U\9fn«¾~\8b\1f6ÉO1ð\139\\96U5ý\90\1aÃüÀ$\89?(ÉSü\e\ 1Ü\19Îê´¥'7\14`o\96gÿ<û\13á¿ñ'endstream
+endobj
+518 0 obj<</Type/Page/Parent 513 0 R/Contents 519 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 100 0 R>>endobj
+519 0 obj<</Filter/FlateDecode/Length 3034      >>stream
+x\ 1Í[Ms\eG\ e½ëWÌm½\aÑÓ=ßGY\8e\13Uɶlʵg\9a¢c®E\8e\96\1fNüï÷\ 1èn`\86Êjw«L*©Jøø\88\81\ 6Ð=£\7f\9d¹,Ç¿.k|VÔÙ|u\96Or|\93þóñWú&«Ë\ eÿ]eE7q\ 1ÜgÓ3\ 3WY\95\ f8\ 3WY[M
+#\aèÓ\98®È'­!\8b\9a&,*|\89Aý¤
+\80&4p\955ͤ3\9c\81«Ì¹nÒ\18Òb°\18§´¬Á`\e?\18¸*I!ï'5\14jZR\96\ 1)d \ 4a        \86\bæ\1d¾\8c\82\fT0pÎ9\12L¤Å4lK
+$\96\17¨êj¬aX \ 1i\81"\aåªL9\ 31¨w\ 3Òb°e\85åSQ\8a\81ªîØ%ìt\ 1\81!\ 6\94ã\18\88r\8d\83ÂÊ\19\88ù\\8d\ 5PÒbZ\80\ 23++\vPÕì\10\ e\89\8a\81.@àÚ\96¦L\9c\81´\0\1d-@"ÙYUY¨³\ 4$gEÎÁ¿Ð\95\7fI¤Å¤k9d\r\ 6\v\15¬¬L\8a°!Wr,U\ftÒÀ\85I\12iq\9aTY\994ÊV\rv\9f\ eì\f^eÞ5´\ eIVTÂ\97´ßE%\ 6ªRà\î(F\12i1Tª\1d6\91a\r\ 6Û\95p\9e²âÑ\9cÜ\1cC\9a\ 1M*\ e\ e\1c2\a"A9Ú\9ae\97ëÖ\14\90\94\8d\9cÃî\89¿$Òb¨SQlª(\85{Y\97ì\15\8eo\ 1$h`\bwå8Ü£\WA)å\fÄ|y3 -\ 6ëÈH\15µ\18lɺ²vl\89Á`\9b\12ÞTY^Ø\12æ\917y%\ 5\90¤\81¤RG*ñ/ÙNÊÂeѨG\ 4¨`à\^"ï+)3zòo\9c\91\81
+\ 6\ eY¶ÌÊÄ\19\bm<íC%ePÎ\92qP\ 6:hà$\bËD²`ÑQ\1e\b\82\ 2\92`ä:
+WåD\ eÑ\96Ö­` r\81k¨"*g ¬\80\1a­!eP$¾\14å\ 5\ 3\1d4p\9cÛ\953\90\96ÆÓ IP\ 6­Z]ï\82\81\ e\1a¸¦ÀO\943\904¥`WR\ 6E\11 ÊÅqR0ÐA\ 3×Q}VÎ@\fZ64h\12¤]U .§FB\0\8dÉ»*r¼\8d\943p\95a«c¹y\10\923\90V\86\82FI\8bÁb\19âü$j1Ø\96Ê¡Ê\92®\1eÖP\10³r\ 2\92®\91\943p\95Õ-tUÎ@Ì\97SH*i1Ø2G4*Ëîð\88­ä\ e\ 1¤\ e{'r²\8b\rIùÑ×Ò*p2\17@\82\ 6bF\14à"ü\92GeÁª`gÉ/\19¨`à\9c+H0\91¢*\96,Ÿg ª\ 6®e\13\13g ¼L¥Yå\f¤µ©im\92 ×+ï¥\19\10M\19¨¦\81£$\8b%O¤\bBýÔ\9dy\ 6*\188WR\1c()\82¹)Ú\9e\81
+\ 6Îa.D@"ym\+¥\95ý& ­Mä8\19)g y\8a¶ª\92\16\83\85r\9de\r\ 6ÛR\b\19Y\83©\13 \82®,Ûé\90\95¼²\ 2\92\9d\91s\8e\82YI\8bÉa%FPV\86­MÍv\ftØÀIh))\82H*Éa\94aÊL\ 5\ 3\87x\81:\89\139´D©É¢&Í\e¹À¹Ü#\96\95´\18\9bX¼$j1ØÂÓ¤Ê\1a\f\16mæ@Ö`°8ºTFV\14F\83\9eZ0êÎs£pàh×ÂÛ\89´\98&¥.ð\ 6\83Evs\965\98b\81ÚX\95\15\95°\834\16\18èÚ\a.¬Y"-Ƥ¾%\85\955\98\14¦C\9b²<)w\8a!þøs\9a202C¢\fÄ\88ðB\95\90\82¨\9cBp-µQ\89cEP!Ràñç¤H`dæD\19H\93y\98¦\9cB\9a\8cj¢r
\87\82êRâX\11\14\92\14Éü9)\12\18\999Q\ 6b2^qå\14\92\92|¼§áiH\9e¬\92\16\bëA'©\10\84\8a ÄÎL\94\81àp\8aG\9b\1fÅx@´«\14C<\ 4\7f¦©\14Å\ 1\13%\ 3\ 6)É%Êqj\89\1cZ¢"K\1cO\ 6ë¨\82óðü9M\16\18\19=Q\ 6B\11\1e]9\85à\90\ fQYix\1aòÕíÙË7¨Jyvû\85\971Ç­ESf·w|\97\82¯ç/ng\9fï\17Yÿ%»ì×»Åz·ýûí?!\85\8dïHê\9cV\1f\9eÄ^\~\9d\16\eú\rJ\9d\ 3\81Aî^dÕ\84¾\82\88ÀélõyÆ?ª&8´\87o¯0Áf=»\ fS`#Ë\14¸Åñ\98\ 1uÍÓ`hïd´\1a1&ã]_¼£Ñ<îkªøÝÛÙzö»¨B«[\96\as£>v>|{qsÅ\1a\18¡\93ï&GýÇ54ÿ9åÂfd¬csqä\0!öÞÌ6³Õ\ 2«ÅK\85ö-2GUy<Y0¡©à\97\81·ü\81\ 1\1f\17»ýfÍ\11`½ð}v¿_°'Ñ×åí)ü`\8dr­ø\84®\f\ 6&\85\0¼ìïDïjÒ51Êç_á¦yØ\ e¸xÉ«\18\83;ÚTl'FFl³WíÌÇüì:ÒÄnièJ\e\8e;\87ÿ°©kvkÚÔ·_£IyÛ\84@Ý®>Oæýú\vÍ\80\13\95÷qm¾,e\ 1èÒ \b¿>¦Ñã¹|.\8b\90\92\ e\9d^\8dÏÑ\12\8bµêóëÅ\9fËùì\9eäP0\9a\8dì\ 2)ìÇvÉ[\13w U\ ñ\94ÇÅbà9î+l(\93Y\87éå·Ùúî~¹þ\9d½\86v#eÉ\9e\1d\89\86»sEðð?¾.w\8bíÃlÎÎG\83ÐvG\8eç`\19\8e=v\98\17Ó®\97k\89h\¬'{©\f.×ûÙnÙsþBwZ¶¡\8aü\\8fF;qÎ\18»°àØ´\15â¿Ò\1d#ù<:òÃ~¹ù&A\8b'\emHU?פ8ºw\14jè%\86Å\ f[p¼é¦?Ö»Ù\9f¼ç\82âq\8cgñÿ`\b·¿©\ 4\92\19\87\9bìâs¿ß±!ðB,ì\ fTØ·\939\7f\8f\91·Òp\r½'5\ 6\85¡åÐ{ª04âµ\98ëß-v¯®ÞOi0Ô\80ÊÇD¹ä\r\ 4Í£46Ü\14¢\93\8fëñi½dgSgW×1åô\9bû;^!\1c|}øv¨úOF¾\90\95IÕÂáZÙT\8bæ°Z ¹ÝôwûyÊ\e'uíh}Ä\9es\1cE\ 6F\1cì¾O[jÐW\vN\13\9f\93\r\93\ 2q\92\1e\1e!\8d\9bØyà²/\85Ôû?Öh¦¿.\1f8Hñ°ô¸ùoä\ e\ 3\83M¸¶·µ\r5glÖÍl»ý£ßÜ\89k8\8f\9e´«46ðG_ÒÒ\9e×Ã"\8d]36äº\9f\7f\v½\auO²çÇ£\9d\10\aCpÎ4Q\16Zam\ e_/Ö?È`¤Êª\89\89ë-N       ì\1fÔ\a<òz>¦ù\8a\9d\83§pÃ(\v\89\ͺÝÌ\1eîú\9e\ fø8%ÔmÌñ\9f®^³eHÔy}\92\ 3ôaH\ 4«\ eöN;\ e¹\9b\95\98n$ÓÑe½_}\ e\al\e\94±\ 1<\9cæèßDo56\ 2»\ 3£6ý®\9f÷|>Á\83\99<\95ÝË~õp\8f³Ë\8e\ 3\14÷\87e<±\1eÝ\12\99\19ô\19HáO5\19Á\8b1\0\11\99óxd±ÖnÓU\13\9eøÄ+\85lûc»[¬(èqõ]¹pÓ\90á8'·O\14 Çß\9f\ 15ÝÓæ\a\7fGóßÝ\921x¢¡~~ݯfÒb\rÜÿñæòo\92\84Ð=\9düèíÃå\83vRx0oR+.\11Ç\81ý¼;)¶ç\1c»jdÄá\ 1`Úï7óP\ f\9eÁ\r\88ìÅ\82ïAÎñÚ\8b=c\92\17\ eÏÒ\97\9bÅÝR.\84é\ 1Òó)ÕÁ\88Æ$H\!\8fãè]\8f\8b\v®Ñx»)¦÷\fW\1fa'ÕE<\95Lw\e4îûMè{ñP¬:íá3\18\88{\99Ô\83\90\81\871¦6\9eâ\98ô\97õ$è/\17×\ 3\13\ e£ì\17\14âÅ\86ï[Ø[\12\9a§ím\v¹¯h©1\1a¨\7fx\113\8a\1dîãO«|ØèÁ\84Ö\1appXz;E¹à2\89\16¨\b;<ë¿Ës\15¼Óã»xÕ\8b\ 2¼Þâº\9b~\8d\82Sûx±ô\ e\aF9®ÛR{³|àË5¼\14Ób£\1eeIÊxÍ4<Mu8$\1en\9dÇM'µµÑ=qÊ\vöàÉ«mÛÉ\9cÃmôÛbv\17\1eÌ=«\]ò%Ó9\1eº\99\8d\84V\8d³µ½Ñ¼\9d\97Å\9b\9b§½\16{$«\955Eý9Þ¸\19ä\ 3´Ö\af\84ý\84\97¾ÒÓ WK©9°V\1f\86¾¤\11ñp$µ¬\8fþêbþ\8d~G\9b¨>Ê%ôÐø`7½Ü7\8e@9×[\a¾»½\9e^\90¶8Öã5\8ep\99÷ÿ§\8dÎ\1d'm\94¡+¯F©RÎüÖÂ`\1fù6\9d¶Þ?,Ödôà"ি_Îå~\0k\11\1f\80\ f×ö((Ú\86§\0\83í'\aÿ§lû°_lØ
+z\r;=ÿºZ\7féÙb\9c¡ÒÕÇÐâêèÝH\19\1eåzÎ\1e\ 3[å ù\94­±\r\91Ç\ø\8b\89\#x\8fäT8<¶N/ Èù\8b\8b\ 5\12\ 3^Mú¹E.Z\88·²Æ{QÎ\8aOYøh¤N\17óÍB.GN\1c©r°rãHu9§X\8aÀØ\9e\r/ïû­<ÌÃòħÐGÙb\8fOR\8a9¸?\eÄ"\1e\86p\86\9aë¾ÿ¶ç»j¼\9c©/\1cL¯^O%×üÜP{ܤJ\8e\8eã7X¸»\92~ä)'ý\85YÔ@ò6âÇjGé\14­\85b×Ë7x\e\94ßGÂ\1f\0\94ø\v.~¯\19oGL/Þ¾ºÈ^/¾/îû\a\\18f¿î\97ò2H\81?ø(Q¤Î\9b¼£\17\97\96KrÎ/·g\1fÎþ\r1î)\90endstream
+endobj
+520 0 obj<</Type/Page/Parent 513 0 R/Contents 521 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 145 0 R>>endobj
+521 0 obj<</Filter/FlateDecode/Length 3464      >>stream
+x\ 1Í[Ûr\13I\12}÷WôÓÂ>Xôý²/\13Æ\ 6ƱÆ0H\ 3ó@ÄF#·±\16\91å!øû=\99Y\95\95-Ùà\98\99\bÐéÓuÉKeeeõü¹\97D1þK¢*\8d²2\9a.öâQ\8c'ú×»Wô$*ó\ 6\7f/¢¬\19%\ eÌ£ñ\9e\81\8b¨\88\a\9c\81\8b¨¬\a\9c\81\8b(\89ëQj:µ\18l\1e\8f\1aÃf%M'+F5¦S¤£Â\ 1\9a\8e\81h\98\144&¿I¤Å`³\84º\r¬Á`«aÇ\16/¢4®\ 6=[\f6mF¹é¹ÈiÂi:*1áªÆ¼\ 5Ð\9c\fÄ q:Ê\fi1Xè\ 1²r?,\8eÁ`ëjб\f\1aÓLü \f \8es\83(i1º-\132M`\r&¶¡))Ë\83\16M\89&nP\ 1:¨çd\90@Z\8cn³lTE\865\18,t6`\r\ 6Û\14\98Rh+Sª3v^ÖvÁ LÉqn
+JZ\8c\1aÞ\12\9aZ\f\8ca¸ÀÊ P\ e¹¨\fÊ \fê87\88\92\16ë \81\95Iø¶e
+=\17Êòº(\8a\92Ý\8c\17\82\0\1aÔ@RQ\85w\fIþYäYp\15\ 1\8eK`hÿ&\91\16Ólsê\96ßeÖ`°9[MYQQ\16\eWa\10\ 6u\\12\17¤[%-F·\90º6¬(!©ØÜ"5\ 3êÖÀEÔÔ$\8ar\ 6R§<W%-\ 6[e¤÷À\1a\fVüOY\91\8c+0\br:\ e\11AéEâ\fD§iAC*i1X\8caY\1e2oâ\10o\ 4è\90\9eã1\ 2\rI\81*\90\16\83Í+¬2Ã\1a\f\16ѽ4,\e%¯H@\17±\ 5¨Q<\97$<(¿I¤Åè\16\9bM\16\85¦\16\83-(R\19Ö`\9dRèY¦èæ\94ÆäE¡­Å\88çU\8eµ\1fXÑoIJw«;g\10ôë8Úbâ(\90Ò\10ó¢\8d\94ÃBΠ4t\9c\93[Ii\98Q\84÷\r\19\84\86\8eK°õ@  J\8aæy!zÍ3 \86¼\1crÇA\11P­r\80èÆqðh\88¯\9c\81ÐkJ»h e¦I\12bIΠÌÔqd<èFI\8bÉ\´\ e\ 2ËÝfX¤ªr\ 1Ú­ç¤\9b@ZLÝ\92\9d\ 3K\89MV%¬VÎd\ 4\ 6Bs\ 5ü9p\ 6"\90ÄÔ%wBí\fÄx\19\81´\18,\ 1,\e++hí`H\8aO\ 2¨[\ 3
+\9c´Ë\vY^Ü\8eAhç8Þ\98\f¤©\ e\eZ\f\16Ù_\16\85¦\16\83­K8\81a\rÆòI(«     ¬Å`\91\80!óÔI\89\eYZ¤f\10\84q\\9d\92ò\943\10\13J2Ò»\92\16\930´Q\ 5V\86L$¿\95!\19\84!\1d\97 LÀ(JZL\83Ò\1a2¬Á4(ë(´5\18,46hk0Xv|Ó³Á¤AÊ\8f\ 3k1Xô\ 4ýê¸",öTÎ\9eÙæ\f\82°\8e£T\ 4Ý*i1¦\84~àö\815\18,\92\92²\ 6cJhe{¶\98Äa5jÏ´FÓJòX^\94\ 2\ 6º5\1a8^£¾\1d/ÊÀ\19\88¹"¡®Ý\bÔ©Å$I\8de\15\9a²úR\84\11uO\ 1ª>ÏÕ\94/\ 6Î@\1a²\86µ\ 3É"B\182\89ÈÄ \88è8\91I9\ 3±+\94H\8a\f¤ñª\ 1i1X\ 4WLU\9bZ\f¶Ih®Ê\8a\ 2R\97e\92ÿ¤\f\82\ 2\1cÇÙDà\fD§8ða¶ÚÐb\9a.O(°\ 6\83E"i\aµ\18,\ 4/LÏ2]\84\ 3N=¸%\830]ÇQ.["VÑ\9bDZ\8cnq\ 2\81\93\ 4Ö`°Øï1%eeÐXr[\ e()\830¨ã\10\81Ñ«r\ 6¢S\9c^áyJZ\f\161lÀ\1a\f\16®a;¶\18,6+\18<ôl0Ø\86ÎJ\865\18«\13\81\ 4jÒ¶,*\9d=)¥aQ\ 5¨¨\9eÃ\9a«ø\90\1a³zyC§L\9a|¾¦TJ\0µ3\10ÓÁ¾Ô\18R\1aâ¼E\9b¤¼É 4t\\92ÐÆL'³R\fj0i(¥ù(+Ý"\8b%?\91n\19\84n\1dçºUÒbé6\81\1fj*êÉ$U\14õ0 Î@\1e²\84¬ô¢\eÒCt\8aì\1f\92()sEâE:\97¹2\bsu\\ 2cåhNo\12i1Íu\835\98\fMÇ®ÐV\ 6EÝ#\18\8cA\18Ôq²z\13%Y\ 5\rí¸ÎAø75c\ 58\ 6;Z\19)\13\10M\93Î\ 4Jqwµä\97Ü\ 1ÿÖî\1c\ 3\9f­#e(¾bEhù\8a\7fS\13DµÄ3\1cM\95       \bé\16å>Ê\ 4\84¹AÁ8}R×Ô\9d\81à8    \ f\\80àj²hà\ 2\84âó\ 4\9e©\1cË\8bGº]óo\95×1RÚR\8a\ea\93Q\9dóomä\18N\99\94     \bóÃî\8b\18@\1d°\\ 1\92Ì\19E\ få\ 2\ 4\87(\94\ 6îùdïÙK\8a4Ñä\9cÝ-F±¨Ê£É\19×\17ñxútÒ~\9awQ\7f\1e\1döËu·\_ýsò_´*0\ eµÚ'/E³ý\94\9a==¼h/×Ý\8aÞ!Û\81@'gO£fD\8fÐDàé\84!Â}Ú¸GGý¢\9d-é1Êfáñ»·\87\90X)2$J\7f8\7f`h:ç£w,\13é\9e\16\8bÉÉ\9bWoN©?\94aÊ4sÄêrÊCc7n*÷l²j\97Wítí\ 6\ f/\9f\8bî\8c\9ebi\17Ií^\7f;»ìè!\96m\9e¹é\8fvõ§Hh¨ý\ 4G\(ÙJ\9c°ÌØz+/ôÉø\80ç\95\8d
+Uë»îÏëî\8aEC N\9aÔ \ 1CÍçÝò3K\82T·ªv-É\86\86\8aT\ 4ÃF\9dnH\96ÞI²\83ëõ\ 5üq6m×,\ 4\82MS:é¸o\bU:\87Û\18{×ÐË\96äC\93ew\12lÜ­þrK\b\1eæEzÛ^]}íWì\8eXÅMâ=zܱu\13¤8\8dsÑ]Ë'ý\17\99³ rÅ\r\vÊzü\91o\8e\ f^³¿bÙÖ~-\9eô\9fû%=Å¡©®s±çýÈcGñ²!°nÊVÜÍ\88·Èv~þ\b\84ËÅp)ªø\ 3Ã\89hI\b£\1fñçõÁñÉøäÍäãÇÓ\17ôW\b¬Iî|Ðjng¿\8bBf\8dMtcÒÛ\91ð·ënõÍ)\1aG#\17\15Î{Þ\98\908\15\95.«£Cz\8f\8b£;\93àû\1d\10¡M\98GíeËݾ»lP_,±7ò.øýñvÊ\16%\e«i¬0%\8bbÜküîýø=ë\1få¥Â-öèonÇHõp×r\9f\92\17\95x$ÝF\f\1cm»ä©\vÓÈË2/éø¢]I*\81ó¿¦#/\96×\vöI\94\9c\92{\15hÃ%\9c\flH·í\937Jwã>öê\ 6=\1c/Ï{\96\18\17¨©ËP6æ²kXÔÎ\96\83åWmzìáêÛåºÿ¼j//f\9cHR¥I-w5;\13sÆ£¼ò¹nÏ\11\1fuô°e»ô\17\87PÝÅCú;HÓL\923\93}±Ä\8e\84¼âç.p'}\8aë\9d\81©q\8b¾\15~\8eºóÙr¶Æt8/ÇG\ 4\9f;\9d¿cl'BE·Ë&\80â\9edK\82·«~ÝOû9Y\1c§\94G1}\12¹hØ\aQ¬Ú\10a;o<ì\17\v\7f\18Ëï5ë»Í6nòTF\1a̾Þ\Bãã#v\1c\9b\1d¶KÎká~!8¾óï¡ÎQºíú¶Áïë¹·\10¼jCÈíuò¡\9bÏ÷¿,û¯K²*
+Y©?@ª\ 6PËtyï}    ã\94±Ä;\14z7$Ù^/·K\ 2\e\8d©\1f\94\82\1f(n\8fJ> Û\82\ 4"$Y\asúnI\ 2åF\9aºMGÚŧ\96\9eáÊ+Éý©úíj\86Sæò3\11TÀñ¾\18\1d£\1e²Z¶söf|7¡®«J¾\87\1feFózöR\8b\15\92uN\88é|Ó\1fý\ f>]­W®Ü\81Íæ1\ 4o«(\91h\1f\vÆ8&¤p~饰f\81\14iìÏÃl\96óv*\95\r\18,óÌ\9a\93\fìÄYì\97âûv5ë¯Ù\82¨ÿ\85cÁóvú\85\14\8bÊnVxOè\96gü&\ e\v\15T¼Ë=Ï)\ 1\17\8ba3\83\ eÜF0Ð\ 1O37\ e\8bÃÏ5\v\8f¯\e´|09z.u4: x߶j¿Ïß^:Ô 7\Õ\15\ e¼\80¨R¡Du|Äk¯
\9d\7fÐ\83\81!\ fç3ì\87¬\v#`tØN/ÜÚÅN\1fÒ­\e\922v(WwAÅP+e\94\9c®\16-%<Ô=}\95ñS\8f\19¥\9ckSÜI\f\1dÞ\15\1a¼.>Ì\96gýW      6¶þs:y\96þ\9bf\86JZH1o\93F4ʯãx¡®}Ú¯gçþÄ\W;Ý\95D`\13±S\94Ã)iøaÄ\96@öÃ\88ýáøtÌ\12¦£X\vKÃh\8d\0ÿ@§ä\92\ f\1a6`gæÈ\ 1\9fÞ\88Ö*\fêaj®\97ílÞû"!®|\9aÝF£;Æ\ 6/Z¸\e\80EïdX\89íÆ°\93\v9HáfL-øûå´_¸ÅL_^i\8dÛ\17DpZÑU;þvµîø\18\8dÍ\û¸£ ÿïk%'òÖÆ(nè¡\ 4\9fÛlØxÜM¯W³µ¬?\e¦äBd\10èPô&ß\86®\82°O\96ÝWz\88\82^\øÊ\16´ò\84\1fbs¬\1f \ e.JØßÊGðå\10'^>a\8cÆk¤ÿí¼_²`°¬&RÑùª\97R\bö7­\9aü~zü\87\13¬ÂÚÙå6|»#T.\7f\86\87Û¨\8d\86Âý
+Ùæ\9d$\18(\13i©àÆ\13\ f\92\16I0p¥¦×Mwô\ 1ï\ 2X\18ZÜô\v\ 3\9f"ÜË!×+\ 5\17»C¥llë'í·n%:ádõaLx»qGN\10ºÑß\14D\96.}íìÓÂ\83ËË9ÝBù\ 4\ 1×o\ fä\94*\91\9b\95·\87q\ 4\1e\bÄþiçï½Ä^Ã\f\93h|¢ñ@»¥HTÉ%è°\10ÉÒÈjû\914¯û³k·\bq:z\14²Ð\a\ 1C×ÚH÷n²\8a\91Ãf³jö\87ùá¬SÅ\83-\ e\19Ö¶§]vÓY+u7ð\1aÑE®\7fQP\1f\þ_µ\8bÿ\âÞóì\13Qøä"Ëv\9a\99zý9\89èë£\8dõãïc¬ÇÑ,[9\19>\9e\13¡¶çG\9cj\86\9bÓënÑË=\19-\8b`\8evÙ~ÈjÇ·\90¾æá\15t\8fÿz[¤ÉÀ½¤2¯9Ä\ 4ß8øs\1e_Ù>²-¥â/\12Ì\99\a\1f@Ý)3\96\0g2ã\93vùº]òRA\17ZõpùD\8a\9b\87Ú\9f\18oøÊfð\15\ 1\ eÔzKñb9¥«\8d°\87yf'¦®2\12À$È(ß\fÂa¶\99"cCZ!\8aOu\86\ f¾ÇªbD\98}\1c\9aC\8a\8f\8fZ\86Kí×^2t\9bÈ\9eõ.ÝÃ\87Üz\114ãE\87Oêü\9a\8bðÕÇ\97_H_(ÝÜS\0TÙ¶~xËá{Gþ\18\v§«<Çÿ¦É\1f\80ã[,l[Ï\ f¢£î¯nÞ_"É\8b^]»K±\fߤ6äóUÜÐW[³Ù\8c\84z1Ùûmï\7f¿\13\1dÈendstream
+endobj
+522 0 obj<</Type/Page/Parent 513 0 R/Contents 523 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 148 0 R>>endobj
+523 0 obj<</Filter/FlateDecode/Length 385       >>stream
+x\ 1ÅSËr\82@\10¼ó\15s4\aÇ}²ìQ\8dz\89©$ò\ 3¨X\9a\120bLåï3³"µ~A 
+ª»çÙ,_\89\ 4\ 4§@§°©\12\81\82\98þñ±`\ 6RãéY\81ö(;p\84U\12Á
+¬Å4Ò"X\81÷¨#-\82\15Hé1\8bÄ\18\93ªÝ£\1aaR3û¨F¸\ 2e$º¨²Ny\15Í)4nÖ\ 3^%\82\158\87¾\vd-\82<\90ä]B\15\16cLªÉ¸e¯Nòd4÷ \ 4ä;\90\96\90:\ 3ù6\98Lôf\90\17ëc      Í\ e¦M})ëKû\94\7fR\96%g8kØ¥\r\15§\r¦ûât)Ï\1cÃöS=*²\1dÐ\È\9cLñμ\14õ²¨\994\1a\9dÐ]`Qo\99S\ 2M¦:î5\ f¹d\89ò\1dõV´íOs\ e±\86üp|T¸Ñ¬Þ\9c\7fO\97C\13J\8fæ¦\9f\93\ e\89ó4¯FÅ\91ô¾Í¤îmò}\19úÐ\a·÷)Ûj}âV¡\91ÕhúF»Ãñ\16n\90-\vÝñ\7f.gxîÑ<ëvÕ
+Sï鯹mº\1a/'cx.¯å±9\95ç\16\16ß\87m\98]\v\81Ú\92)NxöäpåB³<yOþ\09\0ÄPendstream
+endobj
+524 0 obj<</Type/Page/Parent 513 0 R/Contents 525 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+525 0 obj<</Filter/FlateDecode/Length 155       >>stream
 x\ 1}\8e»\ eÂ0\fE÷|Å\1da ØiHÃØ\8aÇÄ\80ð\ f 6\95\8a¨\80"ø~\Ú\89\ 1Y\96,ßã#?\f\83´\18¹C\16Pu\86,!d+ëác®³Óî\13\9a1pdÝoP\8aYîÖp\ 4\15ò\b©¡\1eÒM5;\15\87²À&½ÓõvOý\13ûW[§¹\¾WìÇ«EÆj\96zÂ%\9d»\11\89`\9e\90à\83\1dÜ\7f\94>\92\8dÑë\e\8añ`Ø\8a9\9a\ fÒ°7~endstream
 endobj
-566 0 obj<</Type/Page/Parent 553 0 R/Contents 567 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F7 8 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 204 0 R>>endobj
-567 0 obj<</Filter/FlateDecode/Length 1735      >>stream
-x\ 1\8dWÛnÛF\10}÷WÌ[\1d ¦ER¼ÈOõ%q\rØ\8ek)y
-\10PÒJbJrUriÇ\7fß3³\14¹\92Ò¤0`ûèÌ\9c¹ìì\90úçħ\11~|J\ 2
-cZ\94'#o\84Oú_Ï·'qâE\14¥\81\97RI~â{I\87
-\9a\9e\ 4IäMz6\8c\ 3oì°Ð¡(äßð\8c|/ì\10{¦^@ãÉ\bö%E\91\17w\80)\a\96\14Ç\b`\r\99s 4G)²\1aH\17sD\8eì°\ e\ 6\eO\90\8fÃ:\18ì$A\9d\ eëà\92\821÷d`]\f6\99ì\97\13°q\92 à\92&\13®[\80\94*\<¶-ò\13NX\10\93¾\83¹\1c)¶g#qEM|.8\1e\9fÆ\ 2ØÓ\81p\fXÞ!9\830A\8e%\8dGÜ]\ 1ìç@¤\9ar\vzÎÆ\83\16\9f\98ï\8fXEÐP\87ïK\8d~೪ ©ÃÁp\1dû\9cëÀ:\18l\12ò\91ö¬D\r\91\8aÌÐ\88]-\12a\as\9dÉ\1ek]Ó±\1d\k*ÈqݱA\8aa\b{ÖºbÖ¹G8Î\84B\ 1ìé@îC\b\9b\81ä©\ eqPÜ#¤\13u\80ý\1c\88\89\9f  kÈ\9c\ 3eD\\ e\13³\83\88\17J\a$\82\10\84ãHú\9e\16\ 3\84
-Z'\96\18,\ e\1e\89÷¬­?\f¤ë¨\1c²\ 2Dv\80\ÿ\84e{ÒÅ`qç!Û³VÖç9F[EGÀ Ûq<#èyOº\18²2#\ 3keG¼Dv²\ 2\ 6Ù\8eóC\9e£°']̲#®¥gE6\98ðJ\83,7Ó\ 2\91\1d \1c1ß±CNb¶Å\9cð\85÷Cþk\11{Z\12kL\ 6\1a      ÁSÐ@"°ìÚt\82k\14\bb\92g+\80\9aÜÛ\10YYÀÔx\80ݽ\1d8q\vb©Bîw @Üøö[\88\15"\1a=g«ÇxK\11£\11æ,\10Ä\8e¾\83QâXºÑ³Ö\15&\¢\1c\80=\1d\88L\ 3.©ç\1cÈ}\8bp%\aRDý\94[\8b\S$n\ 1\8b:\10\8eÐ\v\1cÒÅ`£pÏU\8e\83\a\8a»êÇ\11ä-b]KÆö!Å$t\ 5\r$\9e\ 4Ò \94/»/h Ãn¯ËÎö\ 5\rd`7·\8f\8f\11b4\90\9eù!\ 5YA=9éV0\1eÌ1    è©´[Ài\84ë# §ân\85â\98S\12À\94?â#\88øüP>êÅÃ\9dÁÀá&Jk\10\88÷2ÀÀakÊà\89!"\80¹«ÙÉù\aÌÕ\88f+¼\ÄIJ³¥¼Sà\93Åéå¼1u¶0ïfß`\17c\85X»3\b\ 4°<½Ï\1aC\9f¶ËÌ(k3îlNé\82\1etESµÅ5ÅQ^\ 4áE\14ÒõÍ\8c\a%`ë\11\9dÉ\bCg¶É\e\9aký7áoF\v]\14jar\bè\15-õ¢-Ue\1a2\9bÌP\99¯7\86æ\8aÚF­Ú\82Vº¦­ÒÛBÑR½¨BoójMMVÎ3\ 2e6ºQ\94WFÕª1j\89\7f»àr     \10|©ÅA{tg~k¨ÒfÃ\1f\94ºV\1c±úIB¯un\8cªhþÖ\ 5ì2P5Ê\98ëÖ@ \v^eE\83j\ eb¿du®Û\86¶Y\8dúP¬Í;«\96â9}¸¢m­\8dFGºô\1a\93\17\ 5\8a\12%\eåÑ\f!J\8d\83¨Õ\ 2\17DïZ\87J\9a¾\7f\a¡\17¨\f]\é\16ÁÐ×\8d\8bós©À\934<]¯Ï=z*T\86\166
-v­\9c5NBÓ7U\94ªþ£·ô~t¦»³Ëä09\99\1c#\95Ï[>        \ 4V|@\8an\1f?Ñ­ªT\9d\15ôÔÎ\8b|A÷9\8aAØ/§·O÷_ÞõU\ 5\1e]b@¶oÜ-ø\1eT\ 5WqC(ô¨h\97\88ó\9a\9b\8d\fE£Ûz\81aÙe\82\9a{MÑÕY\91W
-Í9\bÒµêõõÕ[5+iS\17·9_o\vÏ|ï®Lâ\\19^ë<êÙ\1c\93\8aܯ5f\12SÍÚ{\97k7\97¾G7j\95Wùî"<*su÷qJOÝD\10\8fÉcV*zV\8d.Z±{ÐK%\9aø\92p6HAìñý\8cÝ\ f\1aòèêùãåÍõåtF]\8c\10þW\8fS\97?s#@d*ݽ¬\17\9bÜàö¶µ\9c;\11Ò¸«L­\97­\o\ es\86=°Ë\13\eΣ\87¶08±ZeK¾\87\¤H\1fä\14xÈiÖ\9b5å|yd1v-ª\1fYD\1eUór\89N7ùZ6Ã^Y\12\ 2³/¥Ý¼¿útKÍ\eÖHÉ¡ÜÒB\8f;¬^éck¶¸÷Ó·Êdß\ f\12Â\13Ú^WQúr\8a±~È\16µ>2ëÂ\8aÙåÍÍO,¥BEbyÿùþ'\96¨\94óûÐVÒú£\19       ½\88kXÎ×F}7,t\94\16\9eªb°YÖ;Þ==V@æXÈef¾.Õ¼]\7fuµÎðÕµ?j$~­å\80§íz\8dÕ\8ck(99ã\80\94íPafTÍ\eô°í\92òõ&ã§\14\9f\18\16\ÙõAæ\927¯É
-\r\rØ\v\86Üå8xu`¥\e¥k,(os\1cTNûúó%ú=oW¿ousÔ-n\ 5ºõôK#D\9dîIýþ\92\15?\94C˦Çrî  pP4íîØê ÐØJM\ fò?ÔJ¬Ö¯ÌR¨íeö\9f%L`¹\97Ý`y\18\e_[­ê\10}0>(\aßA­îÿ±Å©<ïek\9b\ 1ï\93ò\82#s\1aLì¾vß\81Æ)^ýÒ1Þ\94°Èå\1dæýìä¯\93\7f\ 1\85\98V¸endstream
-endobj
-568 0 obj<</Type/Page/Parent 553 0 R/Contents 569 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 7 0 R/F8 9 0 R>>/XObject<<>>>>/Annots 256 0 R>>endobj
-569 0 obj<</Filter/FlateDecode/Length 2009      >>stream
-x\ 1uXÛrÓH\10}ÏWÌÛB\15\bÝ/\8f&\6U¹\81ÍòÂ\8b"+\896¶ä\95\7f¿çôX\9a\1d\8a*¨Ãé{÷ô\8cüßY`|ü L\16\9a(5ÕúÌ÷|üÏô××Ïg\81\1fz¡IóÔóÍÚ\ 4YìÅ{´2ó\91ÍB/'[d^aRA\8aM
-/\15\966RAd\93ÐKL\1a§0¸6YB»\ 2È)\b³A>I\8aY\85Á&\ 1\ 3\9cT5fÀ\ 1\9dNl\91"Ò4\8a BU\7fB4lÉ\10ù\93\f\v\86$H¼*LUIfbm2>­#\19\89W\80$ã ÍÆ\fh"5\ 6\eç^¦Ø\1cq&E$õ\v3TÁ\ 2ZUpmÒ\ 2j\8eSpmÐ:­'\91&¹/eÏ3\98\806\15\19\8d\8a$I©N\92f¶tqà\ 5Æ"\92\81¬N\bó\8aUxmB?A\99\1ck\r\v\86\ 5)Ã#k\r9Vaèb:\11±c\15\86Û(a!&Öº\8d9\ 2P\r
-æ#HÜ*LÃ\ 5\ 6
-Ãp\10²\8a\93.b\82\1fT\8fS\9fÇä\ 4¸"\ 6<E0\eJ!\ 4\89S\85Á¢\8bèþÄÊ,ø\1cöµÁà"Z\ 1TT\10³\10°ö\13§à8'\8e\93±ÙÛÄ\98¡+\13§ #ew\1c))Æyn[\16ø\bÊ"\89\86ùǨ½\14ÖgO,r$\82bq²\b\ 6b\ 1ä\14\1c]:ÒºÄù\90Êa+\15&\16䬢Á,NáÓ£\0Ç\85¡Ä*G3\16 \1ey4-\84Gä1"§èç\92\aV[lb\ 1ä\14\9cB\9dH        5*\12\9b#ë`\81xt\90\1e¹ö\1ci\15s\1e\1e¤Á~D\ 2Ä£\83PÄBK\15ÉÙ\88d^Ö&æPY@=\ 5QðÌ\8b\14§ lú\xNQc°\11+îXñ(K\10\a FÝ"\ 1ô¨ &\8egÃq
-"C^\e\8e³ÙÇû»D\86*\12$ésµFØÁr\95D1ó\10äÈÀ^%A\140RA$­Yß®|l3(
- § Â¡qÇ)È\82sû*\92á\84\984{Uð\90[4\85\13fö2\b0Þ¡±È\91©ÝéAÌÓ\11
-\9ab\rq\9ce\0\16\88¢\83\88'àÑq¤Æ`±ä
-Í*\f\16ç\16Á\8b\17\1aÖ\98Û,8t+\99Fûµ\8fÂð QU\18\86ÑÝ@±²aCY\1d 1@\89±HÒ\11»è²]¿´\1f
-\9aH>'¤Û¸e#y\¤F\9c*\f»1\ f\86\95\15Va²lªf\1d\ 6\8b\8d\13hVa°\98ÏX±\92N\80\85.\e\bS\86 \ 4\89[\85­áP³0<b\94ØÏèvÒÕ\18lÄ©r¬u\8bw\8c<Y\82\8cÙ
-\12·
-3[\ 6§X\85\19\90']k8\19\97¸\18\16¤\f\8f,6-"v¬Â0\9cr\8d*Va°8H\bjÒµn\11ÙØxä#H¹\1dY\18*4«0ËÈ}ït5\ 6\8b\13\9b)ÖºE\97d¤lÙ\ 4)·#kËæX\85YF\9eYn\99ý8Ê\v\99\8fT\99\8b0b\91\ 5\89e\85¡\8bÇ*êèX«+\89\80µ²\82\94îÈâå\f]Ç*\f]\99\8aeL°]P\fJ\80³;rbÆq\ eÂh\11 K\13'\9b\147¨m\\88*\b°\ 5\9c Ô0Áø¨  p\ e\82Ã×\81¯8\amC\vDZ\9f{\b.¤¹É¦t3µ7l Í\14`Cá$\8f\"\1f\16\14\14ÎAº\8bвIOL"Eé¢\98\14àL\8e\1c\16;Þe\14\14ÎÁ±\v\13'&#>ã@\89I\ 1ÎäÈaKáZ¢ p\ eB\ fï\b¾\11FÎAd\80]\8d+käÄ]¸ÿR\13w\ 2\9c»\91í\8aË\83\82ÖÝ\ 4m\7fp9\8cÜûÅÙ»OX \81YÜó31Í3³XÊ'¢o\16Õ+l\14\ fW\91ùzñÏìòÇ«»Ýý\9bM·ýñúõâß³·¾y\v.\84\82\95\8b!7\9fkÁ7?ËÕ\1f\84\13
-\1fXUÂøZU¦a÷rvm®Ê¶|¨{3/×w¥\99Ý^0\88cÉÀ3·e_®ë¡î·\148\b2öB¸­\87\1a\84¶«%\8fC\e\bì¼[Ö¦z\84\9d
-fÌPÞ­N%SÏ,\1ek³]ßyU×Þ\9bûÆ
-ik©\87x.ëßMU®Ì¬-WÏÛF¢:\16\82Øße»\5í\83éîÍ÷Çf¨·\9b²\12·*\ 5\1aD
-Zö²ikDÜ\ eM»+\87¦k\8f²¦
-:x"f¾ì\9aþI¢y{\18\ e\1cÌ\9fÛ¡ü}\`\1c\f&4»ëv\83Ù°Ì[¯\92\12bt¦\86e\9e¹®\87÷\177sÓ´¦4ßÚæ·ùÞõ«å±=\\93\9e¹h\87¾[îª\17BÇ£Á3߶uߢ¡ÇÝÄS×3\9fPtsó«E³\1f\9bÍQæxÒs\1a¶Û_]¿<UG£/»ê    %?ÑCo?Ôí³¹Â \9c*"ÁE_n\96\9bo\17\1fN\ 5r¸íúÁ´»õÝé\18âG\14ð}7tU·BçÖ\9b\15&dx\96BêNÀ\füT\9c\89­Ìüöy;Ôk\83aZ\1d;\85Éë\85ùЭKÔüëíù_" ­áv9-ö±\0DæÝ®¯N²¦6\9aqÞ×Ëf\10Û\aC\83\15\85\0:\f­Á\18\9bùУ¡»Þ\9a9t"#$¢Ge§\r\88ªÕ½Lòi\92!\9b~hý(\ eðWs\14Àt?qtQ¿v\8bSl®1AKsÛläD\1dF\84\157*QàÔ+\96\1cÎ\].ëþ$fܼhSÙ¬¤}ê¨båsþ\18Êû\ 65ygÿ\99UO/ØÀ,^/.ç³?\ 5¬w-\rc@)}³©[\8cÚª©dz\8e¼cN)ôeW÷Ï8f÷Ý\9fE1j\14\1dk_#\8e\1dfm¹\9f(Ûð#ó\18¹)\86y]õõðBbxò\8bÔùªÛÚ\1dzd\ 5W\9c\b\vÝÓncæ\17\1fæ/\99A\ 3èl/ÅnÚ\98\ e;\89z_\7f\\Þ|¾¹6ý¦úS5\8f\95ö!|­ÿÛÕÛÁ\9c\80ÕíÃñòÅ;\97\83À8f»á±ÆÊ­Ê¡6áIÀø|µróºç\18\8eKÈÌ_(\12Þô{áÙ\15\12\eüÝ'¼\9båZ\ eðcbZà\87×\®Úùìêý\fëég½ê6Ø.æó®YÚÒ\ 6x?Qòmæ\17¼\95gwÛ\81w\18ã\8bñ-\9cç1~\ f\ 6\11ñ\7f>.ξ\9cý\ fì¤ó§endstream
-endobj
-570 0 obj<</Type/Page/Parent 553 0 R/Contents 571 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 7 0 R/F8 9 0 R>>/XObject<<>>>>/Annots 308 0 R>>endobj
-571 0 obj<</Filter/FlateDecode/Length 2213      >>stream
-x\ 1}Y]SÛH\16}çWô[f\1fPô-y\1fv\8a@ÂP\v\84\89=É<¤jKØmÐÄ\92¼²\1d\8a\7f¿çܶÕW6;I\15prºïçéÛmòß³È\84ø\e\99"6InæÍY\18\84ø\97áË\97ë³I\1e\94&/ó 4\8d\89¢b@+3=Ó\18l\1ac\95[+¬Â`\8b\14\9bÅ\84E\f\83 ËIPì\11·:¯Ù$ÈIÆ\ 5í
-\12»
-;¯¹fáõ\80ÁæE\90\19Nó \15Ãa01¹ gØclÍ"&;°.à$   bl\9d\ 4\1ebc\921\82\81Ô\98\11M\98¸g\15\ 6;\89\11\9ag]¼1ZÂx£\94^\ 5
-\83M\19\9ab\15\ 6[D\fjØë\f\87ìî`X\902|`Q\ 2\18ö¬ÂØ\9b§,¢g\15\ 6[f¬ÿÀJ\113TÏ5\96y9t¨ÿ\ 1ck\1a¢P\8aU\18¬tG±
-3¨rlYáÆÄ\b'V\965\ 6\v¡\16\8a\95Jeeè$\93\96øî\904\9e\ 5Ì 2\8a"JÄ« Of©k^\9a¡N\99 \92®\12È\89\r(r\14$\13@NAHMö\r\9c\82ð\18GÌÄ\93\12\ eÎ\87\94\18\9c Z\8d\14ÆÖbÂx\ 6Ö¥     EÉÉpK\ 5©­\a¶¤H3ÏRýYÈP\1a#çÅ\ 1îT°1\10\ 3\ÊBr
-2\95\12JñdÆZ¦%¿¢\ 6\1ep£ã
-\9e\ 6p\ 5\82I\ 5\90S\90\1da\92\9eÔ\18,4\13kVa°ð]jVa¨$â8ó\965\ 6\9bpÂxÖ\ 5\9có\b¢
-       9\ 1R\ 5\ fá\14E\85Ó\81Ô\18,4\84¢\f¬3+\92\ 4 Uç&\15\1a\83\8d)\ 6Å*\f\16ýF6~¯Â`¡¹\11«°;MÚ2OÓ\ 1\83M#´Õ[Ö\18,T§cv a~Êq\82P"\93
-r      y\8c d\82*Va°8\84\85Þ«0CNG¬Æ`\93\94!{¿\94w\1aórÛËÛ\ 1Æ$ò>pРÄ&\vÉ)\88\80puÂè@ºLCJ\f\8a\10µ\bàF\ 5±Qn»t ¡»Ò$è\0¥\84\9cÃ=àF\ 5a\94js\vŨ\870\1af(\80'5\ 6\8bS£ÍJ¬\89\1cz\1c7v×\ 1\9aU\90fKtÌ\93\1a3\13ÖU±
-\83M\8bñ^\85Áb(#\e\89\81n]H¸:E(Q\88ï\89 \92\91ÂØ\8aª bÏ*\f6\8fG{\9dá̽wd\96$\ 2$WN\1a\a±1ÊYÂ\81Ô\18,Nê\88U\18\17\8dÚ«0Xä\8at¼e\85Áâò\1cYV\18Ú\95\17\9aßëÒÁ\93H&eÈ\9d\ 2¤L¡¤\1eï_Yð\87î\bR,²tO%~O\ 4  \e{\8c\98p½¢Ä\9eu\96C÷V\8aÜZAjï\81ÅÉD-\ 6V"\8e'îÅ\83~G\18\12\ 4Ü© \9câ,\95\8a\8cÄi\8c»\93¹F  \9bå\908U\18lqÄ*Ì\ 1\90à «½Îr¾\7fµà]\95\99X\10\803÷>\10ÅÄ\ 2È)\b§èrn<é6".j\18]D¦\ 2\¸Ì\r\a\843'£\80\1d\10\87\1eâåÀ       à9\ 51\ 1x<<§ ë\93±>âÁ9ô\18lɦxÖ\85\8ac%¥\8dx\95Ä\82$\1e\11R\95Ë-Bq\1c \87!t\80°\8a±\9b*Rc°\98l\89f\15\ 6\8bªç\8a\95\88¢Ò=Wð­@Ì\ 4âÔClDM\11Â@j\f\16ï18U,Rã[\99=\ 1\87p\ 5ø<Å1£¥4#A\9e\93$\12@NTà ã¡@=éd\e%îm\10%!Í
-âV\8d±W>+(V\84\19E|\93:Ë1\ 2#r{ùÌ\1dØ\82W\86g]\ 1q\ f\88ú$S\ 1\12°\874K½ñ\86\88\9dYq\8aÏ)ò\91\ 4¯ýÄ\b\10\97\1eò\96Í\91ËÀ)èæTª8\8c­=\ 4\a\11\17\9e\93\v¯p\17%z\99\18ù\99Þ<\82Ö\19ÞÀx\84øñÒ\99xJòÎÝõ)*\97\9fiN\18<ËYK÷\1aæÏR\ f¶lÏDxÐàãÁ\81Ú_ÇRE0¼q÷uò\bJ\8a\11ÂÀx\84èB\1e*Oñ,a^JmC^Ã\ 2\18Ä\87ÙÙûOì \99\89=/\v3[ȧõÐÌæ¿L\82\ 2s;½0Ó\8b;sÛ=uËå?f\7f\9d\9dã³ý9â\8c±\1c«°æ;þÜ]ÜÜNo?Ͼ\7f¿ÿÈ/³ÛÏ×\9fï¹þxy\14\98ßw¶\7f5Ë®7\ fW\97b3\1c\9b\8c\83Áiû\86Ï\1cô\97¯Ó¯\97fÖWí¦\9aoÍ}ÕØ\85y¨×öÔ't\13\98{»5Ó窷æc»kN\9dBÜûE¶ÿi{s\8dõ7í²{Ã}\11\98Ëþu½í\9eújý\Ïͦ^XÓ-ÍýÌ\uMU·æb·}¶í¶\9eWÛº\93\14ÆeÀã$0WvY·5\17lèeT\ 3\8cñÀ<ôݶ\9bw«7Ø\ 41tM\ 3\1f²÷¨)%
-tsµ1U»0_ð\ 3\r\8c\ 3ÀË*0ßìjuþ£í^ZY~â¦d\10j\11LM¹è\1cz\19$\80Ám¦UóX!Ü\1a)·O¨ÛÖömµ:ñ\8bµp{ñ¸Ùöh\9a\98RY\83\95¤µ\95e5·fÛ\99¯U_w»\8dùPÍ\7f\18Û.\Öãͨ\89\84@}í¬\99]}x'ËÆ«RTî¹j\9fìÍ\95ÔçrU£\8aæ²\9a?3v´Q\8c@\ 2l\7fß\f\1d\1c\9b\81î¿Õí¢{Ù íïã\7f\ f»\9cqsßmë嫤¨+\1f!\7fW­o7÷Ó¿©\14>\9cÀ\ 3×|ªêU\aI\9eÚBµfÏÖü±\9ew\rcçA\9d¾n¶Vô=r\8bë\ 5\8eí|××ÛW\ 3\85B\9fæ]k_¸é\1dMëôð\92Ãê-äS­ºÖ\9aeß5æ\8fû\9b?OZ\16\a¨úoX¸²{¹¡a\9b\83\83½ýSóhÂmõjûS\85`\12\8aFÖë\95:=ãàR   \ fÉ\8aÐ(\91·< 0\16ä®[ì\10\9cD~T\12ôðhÅÉ\ 2VmmçuµÚ\eú§ÙTÍ\7fÖÕf³x<õ\8ak#\90\ 5Õ^¡G\ 61¹îlÓaúÝUmõdy\80O­`ÀÌì\86Gé4jdu[µØ-âÅÄy@(/]¿À\\9bs*½1o0­\91\a\8aÕ£\16óÃ
-]S\8cs´±{1\8b\8eÝÛ\1aXüñëqdxQ\ 5ü·_Ì¿¨»MóÈ:¼,̲^I\vFc\b¿{ÐÅ\1fUÂõxñ³j·¨ÂÉ)\95\ 6ßvÕ\82ªn|\ 3\8fl8QoqBçzÕ¹Î\8c¦(f\8eþÅhÕ\911\14ö\e\ eÇß{\94Bâ`Àãû½É\8d]Y©)E?ïÚeý´ëmP»\8bk4)¡·/\ f\97æaµ{zª\1eWöÿ\96'\93#ðØíNÄ!\ 2»¶­í¡ÈÏ\98
-?kûrª\12è\f\ 3\b­Äè\cd¢Èo\9c\18¿\82\81föb{ÿ        \8f3y\13ð÷ïù\ 4¿\8b-å¦ÇAùp\81+ë§]ukl1×;Üzâ9ÂC\89\8bpÂG\81\9eï)~ÓY\96)þ_\0DÊå\1fgg¿\9fý\ f/\rnüendstream
-endobj
-572 0 obj<</Type/Page/Parent 553 0 R/Contents 573 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 7 0 R/F8 9 0 R>>/XObject<<>>>>/Annots 310 0 R>>endobj
-573 0 obj<</Filter/FlateDecode/Length 182       >>stream
-x\ 1=\8f=\ eÂ0\f\85÷\9câ\8d04$¡8îØ
-èÄ\0ä\ 2Ц\12¨\bh)çÇA\bY¶üó=Ë~*\v#fá\1d\96\84æ¦\8c6Òù\87C­V¬\r\88\r\ 5\15=\8e\89\ 6\ e9{É\9dø\10Ñ©*¨Å\96`-B\976\13{\84ö»Ø 43+\1a\8dݽ\9dú8ÎÃUhþÑ6w\9a\8a\ 2Î\89bv,wU\89u|Çþþ\88Ã\88zº´1)2ëå\18\ 13o\8a\84\96çñ5\9c\9aW\1aæl4s.¿É`\95:\9b öê\ 3q\147\90endstream
-endobj
-574 0 obj<</Type/Page/Parent 553 0 R/Contents 575 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-575 0 obj<</Filter/FlateDecode/Length 1571      >>stream
-x\ 1\95WÛRÛH\10}ç+ú\8d¤Ê\96-ã`C\9e\80À\96«\b8±©¤*Ù\87±4²'H\1aef\84ã|ý\9e\1e]\10Úl¶R¹\80­éÛéÓgZß\8fB\1aãOH³        \9d\9cR\94\1d\8d\ 3|\9cM\82     Mç3ü>Á?#)9º\\1f\8dnÎh2¦u\ 2\93ÓÙ\9cÖ1áø\18ßD¯®v¢pÒP\18Ð;\99¨\9¥sÒ       ÝIw¹¸_ÑÒh§#\9d\92Èã×ëoGc\1aN¦pñêNd\92>J«ÓÒÛ¼×±´|\82Ã\85³*Üðd\8a\94p:\f\10áîzÍ>«CS
-ÃúÐd\16\9cz\97uLSæ\96ô\13Òr;Ô ÓTïU¾%gD^hãì9­¯\96£Åò­OóúaÁÙÑbùy´Z~\ eh%²\8d \9d§\a*­´m-ì²®!<©òªü\ 4\rÅÒ     \95"rîãV\8f\95´\96±YIó¤"Ù~ÿN8±5"k\1e\f|.5|½h\8c\99\1d\90\95\92L\12\85ãq\18¸\1fÎ\eT\9f'ü9¨­&§A\854`á\1a\95%AFìÛР      ÂJ*\9a\ e©¬He&s'|CÜNÀ5c÷\8c@\'kÉiÚHd\92;Ò¥ëåÙb\7f¼WF\1e\93Ì62\8eeL{åv*§ÛÛ+òÁ-\9aú\9c\1dH÷½\84\r\8eîd\ eø¹o\r\97¼Û
-Ö^À¦\ 6T\88F*ǵ\16F&Ò\88M
-¬ï×\9c°Ê­CAÏ!\13>\1a\89\9cK\11OZ!Å>x5)<x©Õô\a9V\9dü¿d@Ñ^1MH¦«e¾R\99§`\ f\1dtI\ 2SY£\ 28P\8c\ 5\9f¤\ 1\90\17ÎÓ\ e\1f\ e\94JaÝ \ 6ÂÈHgè+7À7\95ýľ\94\ 6 ã\17\88×ù\1c÷¡ùò\89[TÛp\9f>©<f¶\9c½\19ø\÷
-ùA\14ê°M§;³æË©= ;\ 1^abc\99\882u-3m\13¹\9dº\1dú\8b¿\e\19  L(\e\1d¼+¶¶\9eÇ\16hhÊD.¶ò\1c]ë$ÇCm\86\91Î\13µ-MEv8k\98÷w\13­;?,e¢(R\15ùó\96¾¾²e´ã\8c-«Å××\10\8dSQÆ7\ 5CÎÇ\12(\83ü!x¶\ 6´z\7f @ÀHÆ 0
-Ócw\ 2?·ì 'ÑkHÓ\87\1c\83\1aÐ\9aËÌJ\94\16¥Be\88\85´ùQ#9¹t{m\1e\81\v¢\ 2GÍ]±Ú[¶S\ 4EóBÄÄa!â.õ¢\bä\12E²@(\9dç2bEh\95­\ 3Ä17a'Ò\ 4\95Öº×͹J\14\9dÝ\1c|g;\96__\83²½¸\8di\93â\ 6õH¤Âmí\98zôø»(U,@<Á>å\8aç\91ü¯\ e2V\96
- â\96
-ßP\ 4üE\84;\f\8a\91\96,\91ÇîP@´Ú\a\f_Å7PK¥Â`°röÂø\f\98f\88¿X\92\88c\ 3l{5q§\ 5ß7äG9/¡\85ð\80\93\ 5Ã\8a\19>\0\88¦;C±ç      ï\16Ë´ \9dFÂ~\9e*\9aÅ\8aÙÆÅ×mì\87-1î¸\92Úc\r´\9e.\ î\91oL%0øwîë[¬\89ÂL{vÊ\15õÊ­êk'¶?CU\a<\87¡¹\9eÆ`\87/±&o¥\9aÍ H\81\17®\8aÂ<ë\9dÝ¢r\86Öd@§\97\87-\95óÚï}ó5\82©³å\ 6QÞ¢à[\1d\89\94.\8c\14\8c¼\1f\1aÌ©\80JÄòÅ׿§\12÷JâN\ 3Ô\ fw\8b\ f\ f×\ 4/\7f\7fX\ 6tÏû\83Î_6\93©Z\r¯h,º\9dé\15ÑÅ¥\9fÈ\1a\eÿ\90>=Be1\9fÏ{×\1dË\ 2HV¯Wçti´\88#\\v~z\96\90\ 67tzè\7fñ¾û{\97ß\1dÂ`\12ÐåÇû\8bwW\17«uÃRNstó\8b\rìÊ\ f$F¬-Ó÷¨ê)ÃT SÅá.§ ¦\90K\9b\94)@khQÛ\ 2\ 5\98ªþêµi
-\1a*T)\1cxTõ\97¡\87¬   H\8e¦­tMÖí¨tÄ\eNöL\8es<ìßÃ\89+\82LEF[\9d¸\0Ú2\8aÍv\14K\8c¬.Ìèjq³\1a±=Ï\ 3ï]à\15\91øÑ\vy÷þ)R\89\9dòQ¨=s\8eå\99{ÜkûíÅ\1dóè\13~\80Üþ\1a{\94\1a2X¶Xª ï\10
-(\v\16\b*Dô(\1d\9e\1a\9dÕ+®W\1dKáÉl\80ÿæ>ÅðäìßlR\10\84\9dÞ£:Ö7Ü+~\19k7\87\80\16\89¿Ôwâ       ´#ÈàVÒs¦¿¼ñ­æ»ÉÛ\19/a}\95\82\ 6\ 2²³7TH\13ù]2©zMNÁ4\96"e\8cxmì\94\89Å(IT\14Ð\97nNÍÚ\ 4@=T\9dÜzøòþÓÛMüU\8aªE
-I\88\ f\84×\1a¤æ\89!jX\ 1\9dH\ f?1êÞÖ\ 2,ȸ.·;P\96a\ 3ßö2\ 5:\99ÊÑ%à¹\853/L£\9byçue^½®üÑ»\13ù\81þÕûÒt>\ eæó)^Îð\9etÊ¥^¯\8f>\1cý\ 33v\81mendstream
-endobj
-576 0 obj<</Type/Page/Parent 553 0 R/Contents 577 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-577 0 obj<</Filter/FlateDecode/Length 1468      >>stream
+526 0 obj<</Type/Page/Parent 513 0 R/Contents 527 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 191 0 R>>endobj
+527 0 obj<</Filter/FlateDecode/Length 1731      >>stream
+x\ 1\8dWÛRÛH\10}ç+úmIU\10\96d]ÌÓrIØT\ 1\93§T¥d{l++i¼Ò\bÂßïé\1eY\1aÛ¹lQ\ 5\1c\9fîÓ\97éiÉÿ\9eø4Â\8fOI@aL\8bòdä\8dðIÿëéö$N¼\88¢4ðR*ÉO|/éPAÓ\93 \89¼IÏ\86\8d\1d\16:\14\85ü\e\9e\91ï\85\1dbÏÔ\vh<\19Á¾¤(òâ\ e0åÀ\92â\18\ 1¬!s\ e\84æ(EV\ 3éb\8eÈ\91\1dÖÁ`ã   òqX\a\83\9d$¨Óa\1d\R0æ\9e\f¬\8bÁ&\93ýr\ 26N\12\14\ÒD¢
+\90R\85\8bǶE~      \vbÒw0\97#Åöl$®¨\89Ï\ 5ÇãÓX\0{:\10\8e\ 1Ë;$w>L\90cIã\11wW\0û9\10©¦Ü\82\9e³ñ Å'æû#V\114ÔáûR£\1fø¬*Hêp0\Ç>ç:°\ e\ 6\9b\84|¤=+QC¤"34bW\8bDØÁ\g²ÇZ×tl\a×\9a
+r\wl\90b\18Â\9eµ®\98\11\8e3¡P\0{:\90û\10Âf yªC\1c\14÷\béD\1d`?\abâ'(È\1a2ç@\19\11\97ÃÄì â\85Ò\ 1\89 \8e<\ 4á8\92¾'\ª\ 5\92è\0á\88«\82Ö\89%\93.\ 6\8b\83Gâ=kë\ f\ 3é:*\87¬\0\91\1d ×?aÙ\9et1XÜyÈö¬\95õy\8eÑVÑ\110Èv\1cÏ\b\93.\86¬ÌÈÀZÙ\11/\91\9d¬\80A¶ãü\90ç(ìI\17³ì\88kéY\91\r&¼Ò ËÍ´@d\a\bGÌwì\90\93\98m1'|áý\90ÿZÄ\9e\96Ä\1a\93\81FBð\144\90\b,»6\9dà\1a\ 5\82\98äÙ
+ &÷6DV\1605\1e`wo\a\82\90û\1d\b\107¾ý\16b\85\88FÏÙê1ÞRÄh\849\v\ 4±£ï`\948\96nô¬u\85       \97\1c\b`O\a\80Kê9\arß"\É\81\14Q?åÖ"×\14\89[À¢\ e\84\ 2\87t1Ø(Üs\95ãà\81â®úq\ 4y\8b\92±}H1 ]A\ 3\89'\814(åËî\v\1aÈ°Ûë²³}A\ 3\19ØÍíã\99éc\84\18\räÈ®g~HAVPONº\15\8c\asL\ 2z*í\16p\1aáú\b詸[¡8æ\94\ 4\8fø\b">?\94\8fzñpg0p¸\89Ò\1a\ 4â½\f0pØ\9aò0Hb\88\b`îjvrþ\1es5¢Ù
+/\17q\92Òl)ï\14ødqz9oL\9d\9bÙ7ØÅX!Öî\f\ 2\ 1,Oï²ÆЧí23ÊÚ\8c;\9bSº {]ÑTmqMq\94\17Ax\11\85t}3ãA   ØzDg2ÂÐ\99\86æZÿCø\9bÑB\17\85Z\98\1c\ 2zEK½hKU\99\86Ì&3Tæë\8d¡¹¢¶Q«¶ \95®i«ô¶P´TϪÐÛ¼ZS\93\95ó\8c@\99\8dn\14å\95Qµj\8cZâß.¸\\ 2\ 4_jqÐ\1e}0\7f4Ti³á\ fJ]+\8eXý"¡\97:7FU4\7fí\ 2v\19¨\1aeÌuk Ð\ 5¯²¢A5\a±\9f³:×mCÛ¬F}(Öæ\9dUKñ\9cÞ_ѶÖF£#]z\8dÉ\8b\ 2E,t\89\92\8dòh\86\10¥ÆAÔj\816Ñ3¢w­C%Mß¿\83Ð\vT\86.®t\8b`èëÆ\98íÅù¹TàI\1a\9e®×ç\1e=\16*C\v\e\ 5»VÎ\1a'¡é\9b*JUÿÙ[z?:ÓÝÙer\98\9cL\8e\91Êç-\9f\ 4\ 2+> E·\ f\9fèVUªÎ
+zlçE¾ »\1cÅ ì\97ÓÛÇ»/oúª\ 2\8f.1 ÛWî\16|\ fª\82«¸!\14zT´KÄyÉÍƶS\86¢Ñm½À°ì2A¯zͽ¦èê¬È+\85æ\1c\ 4éZõòòâ­\9a\95´©\8bÛ\9c¯·\85g¾wW&q®\f¯u\1eõl\8eIEî×\1a3\89©fí½Ëµ\9bKߣ\eµÊ«|w\11\1e\94¹úðqJ\8fÝD\10\8fÉCV*zR\8d.Z±»×K%\9aø\92p6HAìáÝ\8cÝ\ f\1aòèêéãåÍõåtF]\8c\10þW\ fS\97?s#@d*ݽ¬\17\9bÜàö¶µ\9c;\11ÒøP\99Z/[¹Þ\1cæ\f{`\97'6\9cG÷mapbµÊ\96|\ f¹H\91>È)ð\90Ó¬7kÊùòÈbìZT?²\88<ªæå\12\9dnòµl\86½²$\ 4f_J»ywõé\96\9a\91\92C¹¥\85\1ewX½ÐÇÖlq璘\95ɾ\1f$\84'´½®¢ôå\14c}\9f-j}dÖ\85\15³Ë\9b\9b_XJ\85\8aÄòîóÝ/,Q)ç÷¾­¤õG3\12z\11×°\9c¯\8dúnXè(-<UÅ`³¬\7fÂ#qìã23_\97jÞ®¿ºRgøæÚ\9f4ò¾Ör¾Óv½ÆfÆ-\94\94\9ci@Æv¦02ªæ\ 5zØuÉøz\93ñC
+«ä/Ì
+nìú qI\9b·d\85úWný{Á\90»\9c\ 6o\ elt£t\8dýäm\8e\83Êa_\7f¾D»çíêíV7GÍÂ\e\117ëñ·F\88\93\9c\15?\94C˦Çrîõá hÚ\87\83Bc+5=ÈÿP+±Z¿3K¡¶\97ÙOK\98Àr/»Áò06¾µZÕ!ú`|P\ e¾\82ZÝÿc\8bSyÚËÖ6ûü=^'åýFæ4\98Øuí¾\ 2\8dS¼ù¥c¼(a\8fË+Ì»ÙÉß'ÿ\ 1\85%V\8cendstream
+endobj
+528 0 obj<</Type/Page/Parent 513 0 R/Contents 529 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 243 0 R>>endobj
+529 0 obj<</Filter/FlateDecode/Length 2012      >>stream
+x\ 1uXÛrÓH\10}ÏWÌÛB\15\11º_\1e\9d\ 4ØTå\ 2Ø,/¼(²B´Ø\92W\96\81üý\9eÓciÚv(ª \ e§ïÝÓ3ò\7fg\81ññ'0Yh¢ÔTë3ßóñ?Ó_\9f?\9c\ 5\85&ÍSÏ7k\13\17ïÑÊÌG6\v½\9cl\91y\85I\ 5)6)¼TXÚH\ 5\91MB/1i\9cÂàÚd      í
+ § Ì\ 6ù$)f\15\ 6\9b\ 4\fpRÕ\98\ 1\at:±E\8aHÓ(\82
+Uý     Ñ°%CäO2,\18\92 ñª0U%\99\89µÉø´\8ed$^\ 1\92\8c\834\e\89Ô\18l\9c{\99bsÄ\99\14\91Ô/ÌP\ 5\vhUÁµI\v¨9NÁµAë´\9eD\9aä¾\94=Ï`Ú\ 2ÚT\90\91f4*\92$¥:I\9aÙÒÅ\81\17\18\8bH\ 6
+³:!Ì+Váµ       ý\ 4er¬5\9c°.¬\80\18\16¤\f\8f¬5äX\85¡\8béDÄ\8eU\18\84\85\98Xë6æ\b@5(\98\8f q«0\r\17\18lÅ*\fÃAÈ*Nº\88  ~P=N}\1e\93\13à\8a\18ð\14Ál(\85\10$N\15\ 6\8b.¢û\13+³àsØ×\ 6\83\8bh\ 5PQAÌBÀÚO\9c\82ã\9c8NÆfo\13c\86®L\9c\82\8c\94Ýq¤¤\18ç¹mYà#(\8b$\1aæ\1f£öRX\9f=±È\91\b\8aÅÉ"\18\88\ 5\90SptéHë\12çC*\87­T\98X\90³\8a\ 6³8\85O\8f\ 2\1c\17\86\12«\1cÍX\80xäÑ´\10\1e\91Ç\88\9c¢\9fK\1eXm±\89\ 5\90Sp
+u"%Ô¨Hl\8e¬\83\ 5âÑAzäÚs¤UÌyx\90\ 6û\11    \10\8f\ eB\11\v-U$g#\92yY\9b\98Ce\ 1õ\14DÁ3/R\9c\82°ésá9E\8dÁF¬¸cÅ£,A\1c\80\18u\8b\ 4У\82\988\9e\rÇ)\88\fym8Îf\1fïï\12\19ªH\90¤ÏÕ\1aa\aËU\12ÅÌC\90#\ 3{\95\ 4QÀH\ 5\91´f}»ò±Í (\80\9c\82\b\87Æ\1d§ \vÎí«H\86\13bÒìUÁCnÑ\14N\98ÙË Àx\87Æ"G¦v§\a1OG(h\8a5Äq\96\ 1à\1c\8a\ e"\9e\80\91\1a\83Å\92+4«0X\9c[\ 4/^hXcn³àЭd\1aí×>
+\ fÃ\82DUa\18Fw\ 3ÅÊ\86\reu\80Ä\0%Æ"IGì¢ËvýÒ~(h"ù\9c\90\96\8däq\91\1aqª0ìÆ<\18VVX\85ɲ©\9au\18,6N Y\85Áb>cÅJ:\ 1\16ºl L\19\82\12$n\15\86CÍÂð\88Qb?£ÛIWc°\11§Ê±Ö-Þ1òd      2f+HÜ*Ìl\19\9cb\15fP  C\9et­ád\âbX\902<²Ø´\88ر
+ÃpÊ5ªX\85Áâ !¨I׺Edcã\91\8f åvda¨Ð¬Â,#÷½ÓÕ\18,Nl¦Xë\16]\92\91²e\13¤Ü\8e¬-\9bc\15f\19yf¹eöã(/d>Re.Â\88E\16$\96\15\86.\1e«¨£c­®$\ 2ÖÊ
+Rº#\8b\973t\1d«0te\9a\14+\961ÁvA1(\ 1ÎîÈ\89\19Ç9\b£E\80.M\9clRÜ ¶q!ª À\16p\82\ 4ã£\82\82Â9\b\ e_\a¾â\1c´\r-\1cÇ~î!¸\90æ&\9bÒÍÔÞ°\814S\80\r\85\93<r\89|XPP8\aé.BË&=1\89\14¥\8bbR\8039rXìx\97QP8\aÇ.L\9c\98\8cø\8c\ 3%&\ 58\93#\87-\85k\89\82Â9\b=¼#øF\189\a\91\ 1v5®¬\91\13wáþKMÜ    pîF\ e·*.\ f
+Zw\13´ýÁå0r\17\8b³·ï±@\ 3³xägb\9agf±\94ODß,ªWØ(\1e®"óùú\9fÙÍ·W\ f»Ç7\9bnûíõëÅ¿gç¾9\a\17BÁÊÅ\90\9bϵà\9b\9fåê\ f        \85\ f¬*a|­*Ó°{3»3·e[~¯{3/×\ f¥\99}¼f\10Ç\92\81g>\96}¹®\87ºßRà ÈØ\vá¶\1ev}k\10Ú®\96<\ em °ËnY\9bê    v*\981Cù°:\95L=³xªÍvýàU]ûh\1e\e+¤­¥\1e⹩\7f7U¹2³¶\=o\e\89êX\bb\7f\97írÕ´ßM÷h¾>5C½Ý\94\95¸U)РRв7M[#âvhÚ]94]{\945UÐÁ\131ói×ô?$\9aóÃpà`þÜ\ eåïã\ 2ã`0¡ÙC·\eÌ\86eÞz\95\94\10£35,óÌ]=\\ßÏMÓ\9aÒ|i\9bßækׯ\96ÇöpMzæº\1dún¹«^\b\1d\8f\ 6Ï|ÙÖ}\8b\86\1ew\13O]ϼGÑÍý¯\16Í~j6G\99ãIÏiØn\7fuýòT\1d\8d¾éª\1f\89\1ez{U·Ïæ\16\83\88\ 4\17}¹Yv]o¾\_\9d
+äpÛõ\83iwë\87Ó1Ä\8f(àûnèªn\85έ7+LÈð,\85Ô\9d\80\19ø©8\13[\99ùíóv¨×\ 6ô:v
+\93w\vsÕ­KÔüóÇË¿D@[ÃírZìc\ 1\88Ì»]_\9ddMm4㲯\97Í ¶\ f\86\ 6+
+\ 1t\18Z\8316ó¡GCw½5sèDFHD\8fÊN\e°ò\ eU«{\99äÓ$C6ýÐúQ\1càoç(\80é~âè¢~í\16§ØÜa\82\96æc³\91\13u\18\11VܨD\81S¯Xr8su¹¬û\93\98qó¢Me³z\81áBD$\17\rJòÖþ3«~H\9fÕ\99ÆÝàa\16ï\167óÙ\9f\ 2Ö»\96ò\18PJßoê\16£¶j*;=GV1¨\94ú´«ûg\9c³ÇNÉ\1e\89bÖ(:\16¿F ;\fÛr?R/Õ\ 4#7Å0¯«¾\1e^(\ 1\9eü"u¹ê¶ÇË\8c\89à\86\13þ¦ë~ì6f~}5\7fÉ
+êO_{)6S":ê=ê}÷nqsÿáþÎô\9bêOÅ<ì~ÌîÓøçú¿]½\1dÌå\13ÎWÝ~?\r\ f\8aÎvÃS\8d\8d[\95CmÂ\93\80ñõjMÎë\9eS8î 3·5:ì&Þô{éÙ-2ün7øÛ÷x7˵\1càÇÄ´À\ f¯¹\µóÙíÅ\fëég½ê6Ø.æîYJ¬ç\ 1ÞO\94<Ïü\82·òìa;ð\ ec\80\85ó<ÆïÁ "þÏ»ÅÙ§³ÿ\ 1þ\19ó§endstream
+endobj
+530 0 obj<</Type/Page/Parent 513 0 R/Contents 531 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 283 0 R>>endobj
+531 0 obj<</Filter/FlateDecode/Length 1845      >>stream
+x\ 1}XMoÛF\10½ëWÌ©i\ fføMª\97±\93Ô¨í¤\91\9aô\10 `$Êf#\92*%×ð¿ï{³\12wd\19M\0;/o¾gvv¥\7f&\91\84ø\eI\11K\92Ë¢\9d\84A\88ÿ\19\7f|z?\99æA)y\99\a¡´\12\88Ö2\9bX\f6\8d!åd\955\18l\91\ 4\99\98°\88a\10d9\r\8a=¢ªó\9aM\83\9cd\Ю"µk°ó\9a[\16^\ f\18l^\ 4\89a\9dá4\ fR5\1c\ 6\15\1eC5\8b\98ìȺ\80\93$\88¡:MÈ)Ðx=\84b\921\82\91´\98\11M\99¸g\r\ 6;\8d\11\9ag]¼1ZÂx£\94^\15\ 6\83M\19\9aa\r\ 6[D\fjÔu\86Cvw4¬È\18>°(\ 1\f{Ö`èæ)\8bèY\83Á\96\19ë?²ZÄ\fÕs\8de^\ e\1dê\7fÀPMC\14Ê°\ 6\83Õî\18Ö`\ 6U\1e[6¸\95\18áÄƲÅ`1¨\85aµRY\19º\91IKüvH\eÏ\ 2f\182\ eE\94¨WE\9eÌR×¼4C\9d2E$]%\90\13\ePä(H¦\80\9c\81\18\e9\ 3á1\8e\98\89'5\1c\9c\ f-o\9618E´\1a\19\fÕbÊxFÖ¥\89\89Ò\93áD\15\19Õ\ 3[rH3Ïrú³\90¡´¢çÅ\ 1j\1aØ
+\86\ 1.U\90\9c\81L¥Ä¤x2c-Ó\92?Q\ 3\ f¨è¸\82§\ 1\\81`R\ 5ä\fdG\98¤'-\ 6\8b\99\89-k0Xø.-k0¦$â:ó\96-\ 6\9bpÃxÖ\ 5\9có\b¢
+       9\ 5Z\ 5\ fá\14E\85Ó\91´\18,f\bE\19YgVG\12$¦:\97T\11íZLÃ\ 5+áY\83i¸`6\9e5\18\812¬Á`Ñ\9c\ 6³\12\9aÞhÙb°¨ia,»\84°?õ8aP"I\15¹\84<\86[Ý \865\18,\ e!\f{]\83á6L\8fX\8b\19r\8aI4º\1cï4æå¶\1fo\a\18\93\8e÷\81Ã\f¢\10*HÎ@\ 4\84zÃèHºLC\8e\18&B§E\ 1\15\r\84¢ÞvéHbîJI°\ 58JÈ9Ü\ 3*\1a\b£\9c6'¨F=\84Ñ0C\ 1<i1X\9c\1akVcMôÐã¸qÅ8@³\ 6Òl\89\8eyÒbfº\1aÖ`°\18¹#]\83Áb)#\e\8d\81n]H¸:uP¢\10¿\13E$#\83¡\8aª bÏ\1a\f6\8f\8ft\9dá̽wt\97$
+4Wn\1a\a¡\18å,áHZ\f\16\885\18\17\8dÑ5\18,rE:Þ²Á`qy\1eY6\18³«/4¯ëÒÁ\93H7eHM\ 5Z¦PS\8f÷¯,øCw\14\19\16Yº§\12\7f'\8a\94\8d=FL¸^QbÏ:Ë¡{+ENV\91Ñ=°8\99¨ÅÈjÄñÔ½xÐïH\1c ¦\81p\8a³T\1a2R§1îNæ\1a%l\96CêÔ`°Å3Ö`.\80\ 4\aÙè:ËùþÕ\82wU&±"Zv\ 1gî} \13\13+ g \9c¢Ë¹xÒ)".Î0º\88L\15¸p\99\e\ e\bwNÆ\ 1v@\1dz\88\97\ 37\80ç\fÄ\ 6àñð\9c\81¬OÆú¨\açÐc°ØðÖ¬\v\15ÇJK\eñ]\11+Òxx9GHU/·\bÅq\80\1c\96Ð\ 1Â*ÖnjH\8bÁb³%\965\18\9e\eV#\8aJ÷\A÷ ©\80N\ 1ã=\84b\12¢²\9e´\98fs´Ú³\1c»\b\8b\e×\9d+\ 1ðPËjòf>yý\ e\ 1D2_ñóR^\162_êg¥Pæ\8b\1f§A\1ad\81\ÏÎev~#×ý]¿Zý4ÿ{r\86OVgH%\868¤ ó\15\7fnί®g×\1fæ_¿Þ¾å\8fùõ\87÷\1fn)ÿ\<
+ä÷\87zx\92U?ÈÇË\vÊ\84Ç\16ã`ôÙ½à2\aýéóìó\85Ì\87ªÛV\8b\9dÜVm½\94\8fͦ>u\99\apy[ïdv_!õ·ÝC{â\13ïç½L=ü[\ fò\1eâWݪ\7fÁ{\11ÈÅð´ÙõwCµ¹o\16²m\96µô+¹\9dËeßVM'ç\ f»ûºÛ5\8bj×ô\9aÁq\11p1\ 4rY¯\9a®¡Àö$\1cô;\90\8fC¿ë\17ýú\ 56A\f}ÛÂ\87ê>kI\89ú\]n¥ê\96ò        ÿ \81ã\0\ 5ò¥^¯Ï¾wýc§â'nJ\ 6a\84`jF¡3LË8\0842«Úo\15Âm\90rw\87ºíê¡«Ö'~!\v·ç߶»\ 1=SS¦ñ`5ikeU-jÙõò¹\1a\9aþa+oªÅw©»¥\9a>ÖEI4\ 2\ e×C-óË7¯^\90JQ¸ûª»«¯.å\a¹X7(¡\T\8b{\ 6\8e\1eª   ô\9f½\1fÚ±}gǾ0ó_\9anÙ?nÑô×ño£\9a³-·ý®Y=i\82¶î\11²wµúru;û\9f:áY\b\ f\94yW5ë\1e\ 3yj\vµ\9aß×òÇfÑ·\f\9e\87tö´ÝÕ:ÜGnqçÀq½x\18\9aÝ\93`>1\9dòª«\1f©ô\8a¦mz¸C!½ÃðTë¾Ãª\18úVþ¸½úó¤aq\80¢ÿ
+Áu½\1f6´k{p°·\7fj\1e=¸®\9eêát>ð)L'd³Y\9b³s\1c\ªá!Y\1d3\ eÈK\1e\10\18\vrÓ/\1f\10\9cFþ¬$èá3\89\13\ 1VmS/\9aj½7ô³l«ö¯MµÝ.¿\9dzÅ#?P\81ÊÍçÑ©\8cð%N 7uÛcóÝT]uWóø\9eZÁz\99×[\1e¤Ó¨\91ÕuÕA[\8f6öÍG\84òØ\ fK,µ\ 5\vÛ\ 6\9b\1ay X\ 3j±8HØ\9ab\95£\8dý£,{vo'°øý\97ç\91á.\vø\7f?êØmÛo,ÃãRVÍZ;ðú]¹¿LøµY>åGqÞp¸$Pç7çØwÿÖë~\83¾Ëû\a¬LM/*J\95=+Â)EírHñ\15EY¦øB\ fDJñ·óÉï\93ÿ\0¥\ er\1dendstream
+endobj
+532 0 obj<</Type/Page/Parent 513 0 R/Contents 533 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+533 0 obj<</Filter/FlateDecode/Length 1571      >>stream
+x\ 1\95WÛRÛH\10}ç+ú\8d¤Ê\96-c°!O@`ËU,8±©¤*Ù\87±4²'H\1aef\84ãýú==º ´Ùl¥r\ 1[ӷӧϴ¾\1f\85\9f\90f\13:9£(;\1a\aø8\9b\ 4\13\9aÎgø}\82\7fFRrtµ>\1aÝ\9eÓdLë\ 4&g³9­cÂñ1¾\89Þ\ïDᤡ0 ÷2Q¹rJç¤\13º\97îjñ°¢¥ÑNG:%\91Ço×ß\8eÆ4\9cLáâͽÈ$}\94V§¥·ùSÇÒò \ e\17ΪpÃ\93)RÂé0@\84û\9b5û¬\ eM)\fëC\93Ypæ]Ö1M\99[ÒÏHËíP\83NS½Wù\96\9c\11\8d³\17´¾^\8e\16Ëw>Í\9bÇ\ 5gG\8båçÑjù9 \95È6\82t\9e\1e¨´Ò¶µ°Ëº\86ð¤Ê«ò\13Э6\14K'T\8aȹ\8f[=j\8dWÒZÆf%ͳ\8adûý{áÄÖ\88¬y0ð¹Ôðõ¢1fv@VJ2I\14\8eÇaà~8oP}\9eðç ¶\9a\9c\ 5\15Ò\80\85kT\96\ 4\19±oC'\b+©h:¤²"\95\99Ì\9dð\rq;\ 1×\8cÝ\v\ 2q\9d¬%§i#\91IîH\97®\97g\8býñ^\19yL2ÛÈ8\96\95Û©\9cîî®É\a·hêKv¹v Ý÷\1268º\939àç¾5\òn+X{\ 1\9b\1aP!\1a©\1c×Z\18\99H#6)°~XsÂ*·\ e\ 5½\84Løh$r.E<k\85\14ûàÕ¤ðà¥VÓoäXuòÿ\92\ 1E{Å4!\99®\96ùJe\9e\82=tÐ%       Le\8d
+à@1\16|\92\ 6@^:O;|8P*\85u\83\1a\b##\9d¡¯Ü\0ßTö\13ûRz\91\e\80\8e_!^çsÜ\87æË'nQmÃ}ú¤ò\98Ùr~:ð¹î\15ò\83(Ôa\9bNwfÍ\97S{@v\ 2¼ÂÄÆ2\11eêZfÚ&r;u;ô\17\7f72\12\98P6:xWlm=\8f-ÐÐ\94\89\lå\ 5ºÖI\8e\87Ú\f#\9d'j[\9a\8aìpÖ0ï¯&Zw~XÊDQ¤*òç-}}cËhÇ\19[V\8b¯o!z \e§¢\8co
+\86\9c\8f%P\ 6ùCðl\rhõç\15\0\ 1#\19\83Â(L\8fÝ      üܲ\83\9cD¯!M\1fr\fj@k.3+QZ\94
+\95!\16ÒæG\8dääÒíµy\ 2.\88
+\1c5wÅjoÙN\11\14Í\v\11\13\87\85\88»Ô\v\8b"\90K\14É\ 2¡t\9eË\88\15¡U¶\ e\10ÇÜ\84\9dH\13TZë^7ç*Qtvsð\9díX~}\vÊöâ6¦M\8a\eÔ#\91
+·µcêÑãï¢T±\0ñ\ 4û\94+\9eGò¿:ÈXY®È*\80\88[*<¥\bø\8b\bw\18\14#-Y"\8fÝ¡\80\ f\18¾\8a\96J\85Á`åì\85ñ\19\10\7f±$\11Ç\ 6ØöjâN\v¾oÈ\8fr^B\vá\ 1'\v\86\153|\0\10Mw\86\13Þ-\96iA;\8d\84ý<U4\8b\15³\8d\8b¯ÛØ\ f[bÜq%µÇ\1ah=]¸@Ü#ß\98J`ð¯Ü×·X\13\85\99öâ\94\95[Õ×Nl\7f\86ª\ ex\ eCs=\8dÁ\ e_bMÞJ5\9b\13\90\ 2/\\15\85yÖ;»Eå\f­É\80N/\ f[*çµßûæk\ 4SgË\r¢¼CÁw:\12)]\1a)\18y?4\98S\ 1\95\88嫯\7fM%î\95Ä\9d\ 6¨\1fï\17\1f\1eo\b^þøøð¸\fè\81÷\a\9d¿n&Sµ\1a^ÑXt;Ó+¢\8bK?\915\82Â7þ!}z\82Êb>_ö®{\96\ 5\90¬^¯.èÊh\11\16üô,!\rnèôÐÿâ}÷÷.¿;\84Á$ «\8f\ f\97ï¯/Wë\86¥\9cæèö'\eص\1fH\8cX[¦ïQÕS\86©\12¦\8aÃ]NAL!\976)S\80ÖТ¶\ 5
+0UýÕkÓ\144T¨R8ð¨ê/C\ fY\13\90\1cM[é\9a¬ÛQé\887\9cì\99\1c\17xØ¿\87\13W\ 4\99\8a\8c¶:q\ 1´e\14\9bí(\96\18Y]\98Ñõâv5b{\9e\aÞ»À+Ìz#ñ£WòîýS¤\12;å£P{æ\1cË3÷¸×ö»Ë{æÑ'ü\0¹ý5ö$ùF5d°l±TAß!\14P\16Ü°-\10T\88èI:<5:«W\¯:\96Â\93Ù\0ÿÍ}\8aáÉù¿Ù¤ \b;½Gu¬o¸Wü2Ön\ e\ 1-\12\7f©ïÄ3hG\90Á­¤\97L\7fzã[Íw\93·3^Âú*\ 5\r\ 4dç§TH\13ù]2©zMNÁ4\96"e\8cxmì\94\89Å(IT\14Ð\97nNÍÚ\ 4@=T\9dÜzøòþÓÛMüU\8aªE
+I\88\ f\84×\1a¤æ\89!jX\ 1\9dH\ f\7fcÔ½­\ 5X\90q]nw ,Ã\ 6¾íe
+t2\95£KÀs\vg^\98F·óÎëʼz]ù­w'ò\ 3ý³÷¥é|\1cÌçS¼\9cá=é\94K½Y\1f}8ú\a3l\81lendstream
+endobj
+534 0 obj<</Type/Page/Parent 513 0 R/Contents 535 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+535 0 obj<</Filter/FlateDecode/Length 1468      >>stream
 x\ 1\85V]oÛ6\14}ϯ¸{J\ 28²åx¶³\r\ 5\92\ 2¬n\a\e\b\ 6d\bh\8a\8a¸H¢FRvýïw.)9\8eÚa(âÔ\91x?Î9÷\þs\96Ò\ 4ÿRZLézN²:\9b$\13\9a/æÉ\94\ 5þ?Å\8fU\94\87\aÓÉ÷ø:xp·9\e\7f\98Q\9aÒ&G¬ùrA\9b\8c\10g2¡\8d¼p{á\våÈä´µFdR8OÞ\8a<×ò»¿\92ËÍß8~C)Nññ«ëY2C\80\8b4¹Nhu·ZÓJù»ûOëøæk¢«é"\99ó\9b6\97éd\92\8b§L9iõV¹\11\89ÊÔÏÈe\90Þ\92/4¾\8dð[\91®\9aRUªöÂkS\93¨3j\9dB\858Dç]:Z\89JÑZÙ\9d\96ê<Ô\89êÒk \83\9c«Íøv\8d\13¹²\8eÎ\1ft\9d\99½£ûÚ+[+ÿö,í\v-\vÒ\8eò¶,\ fÔÕ;\9e\924¨D\8bÚ\8fhÛz*\84ÃOFÞ\90\17/\8a\e>Ié\1a%5@#!CÙ{í\v\92Êz¡ë\1e#ªQ´#üÁØ\8c»6T!\12\1d"}B\8f\17¹±¤¾\b\ 6aÄO2%JG!\1cÐ\19dµêY;Ð\15R\82Ã\9f\ e\1f\19\7f¨w]>Q\96\9c\8c\ap¥½8¸\84î¡\1c´\b¤Ñ\13p·Jd`\81¥À_?ji\8d3¹§\87ûU ÷¤[\ 6\1e\rü¦Ê\86r]¢).\9b\ 1D½h¹t\8f\97=)Óy\94Ì\ 6A#\91à\91c\92\8bQdë\1d\81!ÀR\9f¨\10\8d}éÕ\182ôì3\90\99²åÖÑLäçk\84\14\9a\96\90YN\rªãþ\18\ enðUï\1aq\84W\19¹v\8b¬\ eÄ<+¼b\ 1\e8\12äp®TG\1a\9d4\rÈ\11\f\90£\83i-ý~»\ 2©\ 3v\1enW#\96\17\8e\8a\9dÑ\ 1]ÎÜ¡°yÿy|ÿù¤\8e\17¤\1f\ 2÷P¨\9a³@};Dz\83\1d\10ëó\8fâ\ 3YjpÌ\8aA\9f[¼¿Ezt!\r&
 Hp\ 1§èãQ\0r7ÔÖ)Ö\90ËÊxÄ)\ 4°¬1&¾0\18Ê\10¨Ï\18\1e\86\1a£,!¶ì(\rLÙiâ®À\ 1f;í4*Nh3¨óI\8aú)BàØ\1aä\91\ e´k5$(²\f        Ñ\8ff=    /¶\ 2%>^´®\ 5ç\87  §dkµ?\f²BûÎÔ\81KªôsÁ3\82A\89°9ÍÃÚ´Þ³|\ 2Ü\99©x®\19SkÊ\92m\ 6ú\8f^\ 6ÿ2\18{\1c\8fúFa\8e\83¬]áÑ^\98`W\98¶Ì¨6\1e\9c b°\vg\f\ 1BZèTQ¥\ 4*\85 û^\1e/c\ 4\1eAf·2ðÕFXøÖ\e\ e\aÙ\ 5\16Ç       QÙ\ 1C¥%#5\14à\86kh¬Ù\ 1\b´b@$:Ï[ÇþÌYK\ 3ÄyÄ\94      ¶Å\9e\8d#\18_\98 [9^dì0Rê\a(øÎÂ\8f£}ó\909Z}Ú\90\18Ô\17´\12\8dfDj\87\19ÐÁ\99p\90\81\85ï\ 3\18ôpÜ\17 \1f\9c0\ 2Ak¢\81{Ë`\8d  Ý\ er>ÕJeîéÛI;_Ú*)xT¿Qo7\84QùaÆã
 y\ 2uO¯%\84µ\16·(̳7Â÷Ý\84BÐ$K¡«èÓ0\94èÄV\ 1S^x°ë×V\ 1µk%\9avqO\85\93h9ì\94Q\94\8aÒC\v:\9aÜÕÀä\12úT+Þ\ 4,r¸ÝQ*Gl\1f/\90¯`ñ"È\9e\aT3t\89Ü7      d\13WE\82}2Îìó8\ 3_¥iìøýý\87õ\98Ïóöá;À\8f¡ËõÇ»°7Æ\8d\85ÅB÷\ 2¿c|Â\1aus~õñ\92\15ôÂÂAóCyDÇ%x,\v\bM\84U\1aÆÄ\9a\16\9b>줽°Ypü#\10\98\8cà²\94[SQçÁ<±\8eÒëÅ\b\1fËPbz}ÓÏA\7f­ø\13#\1a\+Ç\8dbD\85Ù£M\8b-\9d\a{Îp1àIáb©\14öYuk\81=\9bWA0ÈP!¶LØmx;Ü2\94çqÇe¬jT6\98\83íáÈ\r\v¤'£ïãD}ûâ\10\1dv\ fÒ:
 ¢#VºÖ\95\86\96y:jÅ*\82 òÈ\1eq\19díî\80=\ 4½vÃPö\ 2F°N«'2\8e¸r\9e\13³Ç\82\8e·\8a\93¿1-|-ë\15ó×{ÑWL³ÂãÕ0ÎÛ9ü"^:¡G4Â\93\11\r\81\10\ f7\89¯\86'Pá |.üíî
-´òÉ\ 1\fÿ¿5An_M\88Î\ 1Æ\1f\96Ý\8d;],\93ùÍ\rÍnº«éúöãÝ-ý\1cç\83Eúk\vWåCWý»W\8bÉÍ\7fÞ±gËI²\Îp\17Ç=wÁç~Ù\9cýqö/M?øÿendstream
-endobj
-578 0 obj<</Type/Page/Parent 553 0 R/Contents 579 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-579 0 obj<</Filter/FlateDecode/Length 1660      >>stream
-x\ 1\85WÑnÛ8\10|ÏWì[\13 q\1dÇI\9c{)Úâ
-ä¡E\ fñ!/\ 1
-J¢-^$R%)+¾¯ï\f\8eÓáHaÅ"wwfvvóóäR¦øw)·3¹º\91¼>\99N¦2¿»\9b,d¾¸Åç\19\96Uúâjzýû/®ïxìõ\81\93÷_îd6\95å
-1nn\17²,\ 4÷Oñ\9büôs©\9a¨=\ 2È\83ª3%\1f}^\9a¨óØz}¶ü'\1d¾¼í\ f_\Í'3\1c?\9dM.'ro£wE\9bGãlÿæ\./\877g·\93\e¾¹,M\90Âåm­m\94µÙè JÖÚj¯*q\eí7FwâVRºnH¡sþ9\88±È˪ªÚNdYêụVµ\94*HôF\17\12\9dä®N\89NåâòªO¯m¤3±D Ú\15º\92®4y)H$â\9eL\87(\8d\vÁd\95æéÆ»Ú\ 4~\11;­­èJ¯\95Íõ9ÞòQe¦2q{.Aç­Ç'Q\16qËã\98¹³!z\85¬\91z\8dû\91]¶M\11QäVj\1dÂV\1e¾~Jç?ß\7fy\10\ 4\8e.wÕ\84è!ýÙÍdNÌ*¸T"rv8\11:p\14P)\91b\15\7f\80´B>á\19±ð\14ÈD\90ТX\15þà­PÓþÚ0`\98*Ñ@\ 5ÅúÖZc×â¬ümÍË\87\ 4õËö_i*\15WÎ×\1fä±TH(smL\91½sÀÏ\83ÉʬÁ¦        ¡Õ\1f\18ì\ 2ìCTÅ)ÄÁg<î(ùî\1d\88\a\89EÔm\15Á\91ת`|ce£¼qm\90Fy`\88W\92 _]\f\95\1e_üXnÅ"£Rm4\b\ f\1aÇUÔ\ 47\aä\82\1aÄ*\0çupUK\88ÎåñþÛÃyJ'ó®\vHàu\ 1W}\1c6N¯ý\8bÙµPý\89\9fÙ\ 4y|}\9d?KÛåûþËo:á»v\r\ 4G\12£\81\1a@lB\94\b\0\1a¶Ek\r!\a§kç(2$\96Ä\ f\92ÑýIGÖä\9ahA\ 4Æ\93%<f¸\88/ülѹ\ 4è \17\8cU\r°\0aD\85h\84:+&bñ?[B\ 1¼\12âªUD¿õ $n.\ eÈ\89Ò¹¶\82 \ f\928Ví\12ª\f%:\86y\ 6ÀÜ7\1c´Ã\80| M\a´ë¢\8f¦ªÔè\11\8a\ 2}\9e§Q\1dÎEõ¬        \ 2\92d     
-²nm\81\©Ô£2\9fN\aÙËÃÖFõ\82«{¹\12k\8a©Cï\ 2Χ3ôÇj\85K¢×ð¤")N{âΦ\97FÃs¢¡M\81R¢ZQFÞem\88\8e¢³²\1e.t¢\86¬\89$YIÙ£\80Lçª\85Ç\988\ 2±s ôwáø\ 5\
-úxÖºaCäp®Ô,&DZ'³éý¨:¦Xåh® W×\ 2vk\87\94Çæ\r\13y\1a,Ø«.Sùsï,À³b\89\88½g9éâél(m4#ÒZ9»\ 6b\ 3¯ly\1cëñE°\9d4\93h!çÀ\16O}GÂÕ3ËI\1a\95\86\ 6S\ fíuv\ 4j/9\85IÄ!À\8bÆ!PÓáBå`\8aç==!W\95\82\9f\ f\8f#P      µôö+\12
-\17÷UtÇx\92¨ÿp\12M\11ÂÂ,\ 6ä qg\93¾Ró¿\ 3Óf\rW\ 4_ÅFA\88ø\9c\1aeo%èͽ\91Àh\96;\ f$FÄà·öñQV\98\93h\ 3TY\ fø\ f\byN¯\15¦\18²Þ©0\ 1\ e\8e\81\88,)Xg\81*\a((\835ô'9w!8U°g\ 6\ fÕ¡\17óÖµè_Ô\96\93ò~"\80\9a\ 4\1fgÓpÚ&3>b\13\81à\1e}\10       \8dÎÍÊäP'\86ªïç\18ºf»÷\99uå2U=\9d%ô8YÆá~0\F\8d",Y\18./¨ì§S\rë$\8bkP\r¯Fã#\80\85þ«]©xs"\8fh3\ 5³ªk]Ð#      J\89©0´¼e÷\ f³ï¨¤ÎÀ>º7      \1e\f©1AXË\96\80"\ 3     [à[#fU\ 5ét¯k\ 2\9aU.g¯Lä\9b³\17ã\93\9b\8dª\80Q?7yU\7f\98\87z³9J\8cìª\8d2©%h
-\89¯î¹S¾\0\12v\ f!q\ 2µc÷s\83ý ¡\14\99\0\96Ã2\98\ 4.;\8aשä­X    kµ6`b $\94\fLÿNñä\e\96\9e\15Ln\80\80y\10\914\80Ò½ *Äs¢Ò\19D\84=\vv9æ
-\\18ôâ`²\1dæ\94\8c\fØ6\1a\ 6\f \11iÇËÕ]¿\8a\ eC\9d[Éõ\f\v4\16\15*\1aä¿\8bÜ\83ú\19\\18N\a:nk0µ¬ì\7f1t\b[\16\1akYJ5\8dÆ´\7f \8d\80Í\93\83Ê\14ï׸ _\8d\ fÓþ¡9Ç\7f¤U°\81#kL\15l|»\ 1\8b\11\8að\9cKP"Kß\152vÀ|¿\ 5\8d\ 2#\8c\r,zèØ\84²\14:äÞ4\11\ 2¨LÍ       \932eâÀ\1dþ\r\9cóô«d\ 5¡mè\9b +½\r m[g¸Ô­\8eø\1e\94ð&±ë·\89\8d!\881}õ \ 3\ 6¹\8fb¦§qÔ¤\1e ÇFý\ 2\93ZÉ*Ç\9aût
-µ&%\r%\9e'\ f\e\ro\97JÚ?oÆõm1üA\92Ö·\eþ9\ 5Òÿ÷O\9eùb:Y,æý.»`í\7f.Oþ:ù\ 5\ f3l)endstream
-endobj
-580 0 obj<</Type/Page/Parent 553 0 R/Contents 581 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-581 0 obj<</Filter/FlateDecode/Length 1662      >>stream
+´òÉ\ 1\fÿ¿5An_M\88Î\ 1Æ\1f\96Ý\8d;],\93ùÍ\rÍnº«éúöãÝ-ý\1cç\83Eúk\vWåCWý»W\8bÉÍ\7fÞ±gËI²\Îp\17Ç=wÎç~Ù\9cýqö/M5øþendstream
+endobj
+536 0 obj<</Type/Page/Parent 513 0 R/Contents 537 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+537 0 obj<</Filter/FlateDecode/Length 1660      >>stream
+x\ 1\85W]oÛ8\10|ϯطK\80Du\1cçë^\8a¶¸\ 2yhÑC|ÈK\80\82\96(\8b\17\89TIʪï×ß\f\8eÓáHaÅ"wwfvvóãäRføw)·s¹º\91¼9\99e3YÜßgw²¸»Åç9~¼\962}q5»þõ\17×÷<öúÀÇåÉ»Ï÷2\9fɲD\8c\9bÛ;Y\16\82ûgøM~ú©RmÔ\1e\ 1äQ5+%\1f|^\99¨óØy}¶ü;\1d¾¼\1d\ e_\-²9\8e\9fγËL\1elô®èòh\9c\1dÞ\Èååøæü6»á\9bËÊ\ 4)\Þ5ÚFY\9b\8d\ e¢d­­öª\16·Ñ~ct/®\94Êõc
+½ó/A\8cE^VÕõ6\93e¥Çï\96Z5R© Ñ\e]Ht\92»&%:\93\8bË«!½®\95ÞÄ
+\81\1aWèZúÊä\95 \91\88{V:Di]\bfUk\9en½kLà\17±×Ú\8a®õZÙ\\9fã-\1fÕÊÔ&nÏ%è¼óø$Ê"nu\1c3w6D¯\905Rop?²[mSD\14¹\95F\87°\95Ç/\1fÓùO\ f\9f\1f\ 5\81£Ë]\9d\11=¤?¿É\16Äì!\8aª\83K%"g\87\13¡\aG\ 1\95\12)VQzý£\ 3¤5ò   /\88\85§@&\82\84\ eŪð;o\85\9aö×\86\11ÃT\89\ 6*(ÖwÖ\1a»\16gå/k~¾OPÿÜþ#m­bé|ó^\9e*\85\84\8b)²w\ eøy0Y\9b5Ø4!tú=\83]\80}\88ª8\85\8cÇ\1d%ß¼\ 3ñ@\8e\88¦«#8òZ\15\8co¬l\94\vÒ*\ f\fñJ\12ä«\8b¡Òã\8b\9fª­XdT©\8d\ 6áAã¸\8a\9aàæ\80\P\83X\ 5à¼\ e®î\bѹ<=|}<O鬼ë\ 3\12x]ÀÕ\10\87\8d3hÿb~-T\7fâg\9e!\8f/¯ógi»|ß}þE'|Ó®\85àHb4P\ 3\88M\88\12\ 1@öè¬!äàtí\1cE\86Ä\92øA2º?éÈ\9a\\13-\88Àx²\84Ç\15\v?:t.\ 1\ 5cU\v,@\18Q!\1a¡Y\15\99XüÏ\96P\0¯\82¸\1a\15Ño\ 3(\89\9b\8b\ 3r¢ô®«!è\83$\8e\84*C\85\8ea\9e\ 10\ f\r\aí0 \1f\ 1íº\18¢©:5z\84¢@\9fçiT\87sQ½h\82\80$Y\82\82¬;[ W*õ¨ÌçÓQöò¸µQýÄÕ\83\\895ÅÔ£w\ 1çó\19ú£,qIô\1a\9eT$ÅiOÜÙôÒjxN4´)PJTkÊÈ»U\17â\ e¶£è¬l\80\v\9d¨!k"IVRö(`¥sÕÁcL\9c\80Ø9\10ú»pü\ 2.\ 5}¼hݲ!r8Wj\16\13\93Ù\f~T\1fS¬r4W\90«k\ 1»\8dCÊSó\86L\9eG\vöª_©üep\16àY³DÄÞ³\9ctñ|6\966\99\11\9d]\ 3±\91W¶<\8e\rø"ØN\9a\90s`\8b§¾#áê\85å$\r\1cêJC\83©\87ö:;\ 2u\90\9cÂ$â\10àEÓ\10hèp¡v0Åó\81\9e\90«ZÁÏÇÇ      ¨\84Zzû\15\89¬©ÄÅC\15ý1\9e$ê?\9cDS\84°0\8b\ 19JÜÙ¤¯Ôü¿\81\86+\82¯b£ D|N\8d²·\12ôæÞH`4Ë\9d\a\12#bðKûø %æ$Ú\0U6#þ#B\9eÓ«Ä\14CÖ;\15&ÀAÍÛ1\10\91%\ 5ë,På\0\ 5\86á$ç.\ 4§
+öÌè¡:\fbÞº\ eý\8bÚrR>L\ 4P\93\8c\9bàãl\1aNÛdÆGl"\10Üc\b"¡Õ¹)M\ eub¨úa\8e¡k¶{\9fY×n¥êç³\84\1e'Ë4Ü\ f\86ˤQ\84%\vãå\ 5\95ý|ªa\9ddq\rªáÕh|\ 4°Ð\7f½+\15ofò\846S0«¦Ñ\ 5=\92 T\98
+cË[vÿ8û\8e\rì£\7f\93àÁ\90\9a\12\84µl        (2\90°\ 5¾\rbÖu\90^\ fº& «Úåì\95L¾:{1=     æ¼Ù¨\1a\18\rs\93W\r\87yh0\9b£ÄÈ®Ú(\93Z\82¦\90øê_zå\v C+a÷\10\12'P;v?7Ú\ f\12J\919b\ e0%j9,\83Iಣx½JÞ\8a\95°Qk\ 3&FBBÅÀôï\14O¾bé)ar#\ 4Ì\83\88¤\ 1\94î\ 5U!\9e\13\95Þ "ìY°Ë1Wà \17\a\93í0§ddÀ¶Õ0`\0\8dH;^®î\87Ut\1cêÜJ®çX ±¨PÑ ÿ·È=h\98Á\85át ãv\ 6SËÊþ\17c\87°eQS£±\96¥TÓhLû\aÒ\bØ<9¨Lñn\8d\v\86Õø0íï\9asü{Z\ 5[8²ÆTÁÆ·\e°\18¡\bϹ\ 4%²ô]!S\a,ö[Ð$0ÂØ¢Ç\8eM(K¡CîM\e!\80Ú4\9c0)S&\ eÜáßÀ9O¿JV\10º\96¾   ²ÒÛ\0ÒvÍ
+\97ºò\88ïQ o\12»~\9bØ\14\82\18ÓW\ f:`\94û$fz\1aGMê\ 1zlÔ?aR¥\949ÖÜçS¨5)i,ñ<yØdx»TÒþy3­owã\1f$i}»á\9fS ý\7fÿäYÜͲ»»Å°ËÞ²ö?\96'\7f\9eü\v\ f)l(endstream
+endobj
+538 0 obj<</Type/Page/Parent 513 0 R/Contents 539 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+539 0 obj<</Filter/FlateDecode/Length 1662      >>stream
 x\ 1uWÛnÛF\10}÷W\fú\12\e°XÉql¹/\85\92ôâ"MRXAú` X\92#i#r\97Ù]ZÑß÷Ì,©\18D\8b ²MîÎåÌ\993£¯g\v\9aãß\82n¯èå\rUíÙ¼\98Óõü\95|.oñy\85ÿ\81i£/\16ËëâfúâõúìÇ_ïhqKë\rlÝ,\17´®       væsZWçWÅuAë]`S[·%×\96õÅú\v®\Ó\ 2'åÊìê\16f×õùzg#\1d|ßÔT2Ù\9aMsIe\9fhË)RìÝ\9eÊ#u>$SÚƦ#BûÚÛÀ-»\14\v±+Ön\8ak±¶ruà\ 3¥`¹¦äé\10lb2\948&J\1aQ¤Æ\96Á\84#m|ÐØðÂ$ê#®x×\1cɸhgo¨ò.¦ÐW\bãñ¼\8f\92Iäô¥íp@ó\81ßÅËâJü6Þmñæñ¢ O\ evSïLbØ\8a¾eúðÀ\91jÞ0Ü$É\17\19\ 5D\14l\95Äìp[\ 2®LÓÈ#S#\91\18qO\833¨GÜá\9d?p\18r\1e\80Ã)¦ª\ f\ 1 \8cw\91\8c>\8eÉT{¤`º\ ef\BT«û¿©öjÜF       Z«Ð\9a=\1e\ 1¬ÐãL\86¼aØ\90B\9e`\9bx·mçc´eÃ\ 5=xI!ö\9dÜ%DK¾\ f§°ºÆ$@Ó¢Ü<T|g\9e`\1f\9as)J\9fvt°ø\0Èú\8bïÓÄå\10Ð¥\1e1\82\10\ 3\90±-ùÍ)`\0\rÛ\92\95\1eQ'UÃ\0!|\ fÁùD\1aÆÖX\a\ 6\18wD\89ܶ\0b6\11l\98\89û\16\a`Pk\99\91\19\àV¤\8d\89\89C1\ 4\84\89Æ"\86À(P´Þ]\12\fW(Úó{\1a\98\12\89\ 6´Ñ8&Îå\9ai\ eæ\b\121jèЧêQ8¥d\ 3\80ȯå´óõãÅp}ì\8f7» ¨\8cí\11;®P#Ô
 íæ8\0Ã\9a£Ý
 q\90_nKS\82©¦\1aûGRzBg2Ø\ 4\8eS\17|\95\99úx\8eçê~\12t\ e&þüx¡%\e\92©äª\90Gðòýv\97s\18\83Y}¼\1f¸)lu/$¤\0AàÊ ]s­\81\82\1a¡W\82\ 4ú\+Æã\b8ùÊ7(p\87Î\10\99±¹S6}êÑh5wìT¹ÐAã\11ç\ f\97Ä©*\90Ä*\11h\14Ó%¢FÛ\81¼\93\843p9V {\92·'\86ìTMßÆcfo  ´\81¸ÚAoì\1fÏa>\1d\16V\9bá¦c\Ì©#¢OÎ~\13vÞëµ0õ\r\82|xÈõ\ 3Í\9eE"Ä\e%\ f¥\980c%ï²\7f0¤Ú±é²\ eK\8384\r$A\9f\12;-\14Z«ö¢1\12Ü\91>½ý8`\95}\9b\10ì\13Ç\82~7OR  \ 3A\ 1æ~3\81ê;}àv\94\12í\ 3üí\0òQ\9a\18§¶Á´À\8e\8dHtÝ«n\bü\b'´¾G\9fâ\13ê\a\ 1\90ê£\95\85\17ÒÅ\ e%j»\86¿M\guGÅ!\81àT:0g\1e\9cb*è3êk\84xAÔ\²5Õ\8eF)\13åÈÉ\r.[n=À\88G\88@«Ãéù\9c\9c½¼ÎcêªxU\90\9aÞj»I`ÿ9\1d?\ 4»µ\ eJ
 ÍΣMÇÔIJTomÛCZeÌá\97dgY\1f\ 1\0»'\e¼\93IyI\87\9dEäÒ6*0:\14\9aã\ 4\1a\11ßÖ@\94\850¢­R}ï6y\fÖ\ö[Ä%\ 3\11í\8b9Yл\1e\12÷\8eív\97\80\12\86\fó\1cªáÕ©¡¯=÷zGÁQ\96L¼î\99;(K\92\8cÑÖ$Xÿ\ e»¶«(\ 2\ 2³\ 1#\1dÔ\13ÿyx\e\92!\r-9\15vHú\80!¡¸A#e*\ 1\80\89ç±áÕ7²Yå\96´Î&k\1a\e\878d¶\80\96Ïìò\8a°X®U3LØöº\9b Ã\87Æî\1dæ¼G\19±¾L\1c×è\9eÆw\ëPآ׺À  ¤o\81ìQFª¾\90\f\ 2\83v\15Ê\9aÇ#í\805\87\99\ f5Äa3øÈ3\11\8dd\1dÆ\90\80?\95F\0\11fXFtÚ\r|-\e\a¥\8d}]³ô\98Ö_gP\ 4±À\9d\88Yßpø\89\1aä\88yÝ·%à\97\86\e½C8\86Mn\92¦Ú\12pm\95\85\ fò\ 6Òb\18q=ø\ 5®JL\99|\1dÄ»²p&\10jåÐÄï×/"í98Æ\86(\ 4E'ZÀ÷ì\1eo6\M×\ 5­\82\ eê,h0ubÊÐéÓ5\12\ 4\a\94E-SY¶ØL½<\12²¼À\98¼À\90×é\84©\89 AHIå\80-µ {ybÈÙJ»     \94ÆK| _\11Π       PÈÞ\19\9d\87*z:\1eÑg²\10ÇdÁÝÜ#b^ve\ 1ßPmñ\ e\1c\e\ 4\18¬a¦\1f2K\87gÿä¿~\90Qçà\ 4$x*v\12Ý$\80\1dà\1az\ 4\830\19Û¨s'\9b\86îVøá 1<\93ô\94¦C\ 1e¬c\94"3YâU9²\À%"Ü\13¤$ómV\1aÔ}âXÔZ\9ec\85ÂÁ2ø\83®ÜRèÏ÷ï\1fƵr\10ÕåðMbq»,nîîè\15¶aý>ñ°úóõ
 ²\9aÛ
 ôü­G<âk6\9e\9dÝÎïdiÿ\9f¯)×Ëy±\^ãK
-ÎÜÉÍ_Ög\7f\9dý\v\90·lRendstream
-endobj
-582 0 obj<</Type/Page/Parent 553 0 R/Contents 583 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-583 0 obj<</Filter/FlateDecode/Length 1192      >>stream
-x\ 1\9dVmoã6\fþ\9e_ÁoN\81ĵ\9d÷ 7àÚKo\ 1z9\fç\e\ 64E!ÛJ¢Í\96<Ki\9a\eößGJvÒ¤í0¬ohdê!ùð!é?[!\ 4ø\1dÂ(\82Þ\10Ò¢\15ø\ 1ôB\7f\fýñ\bÿ\8dð·â°j]Ç­ËÛ   D\ 1Ä+¼1\1c\8d\0­\ 3<IÛ7\eV\1a^AÏ\87xÃA³"aðivýý3è½6¼¸\88\7f·\0áÈ\ 1t{}?B\88\ f}Xð\1d\9arkàÛ^\1aöìÌû\10\86µy4ò\87dnÑ­   ¨\150Èx²]¯\85\C®Ö°\129\a¡1ä²â\9aKÃ3`zêÐ\ 2\984`}¿O`\0?Ùûtí
\1f>À_õI¡×Wð7Ý\v \e\85Îwcn\1fZsw}\93UWà-\97Ò«o\eþl®Þ¹l\8díeïÞ\83xþe\ 6\83»Ù¯³;ð\1e\9dßáÑÔ\83ûÛï\8b\9bxþuñ\80àm4\99/ðÁòÂ{\aÙz=É"\17\12óz/\r÷\94²\8eg¿Å.\ 1ÇÔKÞ\1dëd\80¼2Ц"²\91ûtÃ*\96bÑ5ðç4ßftn°ø\92ï\búhà7\ 1\ f\1dí.W\84#k'\92\9c\9cPé¨àZ³5\87e\9bI\10XÄ5*KHû¬b\12\9f\ 4¾\1f\ 6Ë\8bs`˦\rÓ\b\ 41¬(ÏM,»µkÉ
-Þø´ÊYUª\80ÝF¤\eëËjã\10Í\8eiXsÉ+\86ªz\ 5[\97\8a\14V[\99\1a¡$ü\7fH[î\1aÎò)·E\82DÔ$¹à0Gl.\14:zeæ\18\9f\r¢æñ<Ök¦EÊò|ßÁ\ñ\92½\89\9f1S&5f`û\ 5ÇA7ª\vöñ\9d6+XÆa[RH'\ië²\8bÍ\8bÃ!kc\83\93\ 2ðc7ì¹®\9f1äøä\ e\ 2\8fÁ\86#z\ 5Lf@Êv\83¥>D[ÍKÔ\1f5¸¥\98H'3HöÀÈ[\17\e·ñV+ò\10Us\1e\1d\ 3kR\8d\11§v\92p\9c+\1avÂ89\1c4ecrÁ¿©[.Ó\i\8c\f5\9b`\8füÁ\8d¶á×}и'Í\91\ 6;\a¹t,ôËjc}\8e\82l\1aãD\8a°Ry®v\8e\9f\ 6\12Ù<s\86\8dZ\bi   #\8a U¹\92Îß\89`mS\90ìNìÉ\ 4ùF¡m¸Æ§.¦Tᬮ\e\93\82~Å»U¬\ f\9fxÉ¥\9d\ fÛ\12{\82ÀRU\94\98~Õ±\9f\ eíb½\17l\ f      \8e\ 1¡5Í\94e[\18RÇ¡ù¨Æ\88q\96àãc3/\1f\1fQIi¥HßÔËxW*\ 3[)\9epZ\91òA\14enû\86g\1dÈp¦\bS\8f\13Rí Â\ 5hwÓA¸ÃÃöi\8a\86Ð/Dû\83W
-T\ 5\85Â\9dI\84è\ epRú)\99¬\19\91\aAÚ6é;5v£Á±ó~æ\15÷Pì
-'\15\7fÆy\86ûMÙEù/K\rà>\9c\97\ 1þô \8c¦\83Á4\1at |\0Y$\99\9fN\97íá`²¼h\18\f\º`¿\16Ü$B!e¨LÍ+¤\f\886\1af¡?ñÃI\17w+ËË\r-\ 3\18\86á Î\8d\95Xo\f|\94Y\85\v>®D¶æ8g0¸~\17ÿ\8cÞðÿvä½\a\ï,C\ 5\166úÑ°÷Nôs)\8c`¹øAÊYç*a9     \17s¡ME\ e/o_­·\8528=h\16Öbf\89z:\12Nz=Q(.B,0i*\17ør\93A-êzpPå©\1d\99ÁÒ%<e[Mðç\82mêé\9c\9dö4\ 2âîûöy\ es\99á ¶S\10à\93¦u S\KÏ\80Þ\96¥ªh\90sxÙ\ 5\r½õ̵=a%wy;>¾Yõ#÷vó\9f^áú£¾?\1a\8eë¹\1e\90\87YÜú¥õ\ f\8a "þendstream
-endobj
-584 0 obj<</Type/Page/Parent 553 0 R/Contents 585 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-585 0 obj<</Filter/FlateDecode/Length 1137      >>stream
-x\ 1¥V]oã6\10|÷¯X\18\1c\12Er\1c\7f¤O       .¹\ 6½´(êë=Ô} ¤\95ͳ$êD2>ÿû\ e)Ég'u\90\ 1Ø"¹;;;;â×^D!~#\9a\férLIÑ\v\83\90F\93`D£é\ 4\1f\87ø¯\99²Þí¼wq?£hBó\f'ÆÓ\88æ)aw\18Ò<\19\\ 6Ã\80æ+¦÷w·\9f>,\ 6\8bSz\14I­Nç_pnD\11¶»sçÃI0ÆÉÁ'ͤ22\aG
-w\84¤&[&+Q.9\rö\ 2\1a±fMf£¨\12µ(Øp­\9b¤\99¬µqç\¸\82µ\16\9c\9f8?s\8f\1c\b¤\8e\0Ò¥Ö\9c¨2í¶Ç*Ý:$\822d5R\95\94\88<'£\1ap\1cÛeä\vêÖ\836Þp\f\9a\10\12æD\13\82fVËrù|ý\17®\19ë¢$þ&\8a*gÚ¬d²¢BliÅy\85Ô±4\ 1=d´U\966Êæ)mji<ð\8bû\90f\1dy£&cUËÒd\8b\ 1õç+T\8d?A?é®ò`±(ûgÔO\1dô>-N\7f\ 5ß\ 3\94¨\19L8Ö\945\955®jmR|ñÄ\95o\ 5Ôv\9dÂ3z3ª\1f\ 6æ`ú\9a(\939\at\83\12*U]\88\9c:^ ¾Ì=1\ 6í Ö\89¨ \9c\8dª×Ï{ó\9b2\8cú\ 5ÔSz\1e\9ex×(\97Ò×ÖqÛ¨Ê1®Ù³\15\ 6ôØ\b\ eM0írH"ß\88­n\0u9;ýÝ
--\9dĶg$\9b        8\90¬\v\9e\83U\92ª\89¿ZÔÖêq\99«\18ß\9eDn[h\1fïþºûضk\87÷¹ä\8d0\pé\87¤ªU\82ø\18®\17BÞé åõ\90\8dF\991\93V\98¾\95ã6\97k¾näõR¦\84\9f¿£Ùlz\11N..a3ãë0¼¾\8aÎ(ü§éarÝ\rÕb\10\r§\8bÓ\ ew\18LÝh¹\b\ 4_éDÞ´¿¥ËÃ?4\17/ë;\81áêfø»\1f%5\83\ 47*%o0x"å\9aÞÙÒqýn\7f\ 6ÀOj\13N)ÞúÇUÍORYLxë\v»\98\1dÚÖXR\99\f¹\99ÚH³Bª\13ÌâI@¿ï¦ëPÄ®×\95p½@¦ZÙ¥;³'ÝØf\19P6~\81½Ynõ
-\9bamõöYv#\vn\8aËeÉ.2\97\89²%lÒù(ÜÅån#bÕ#-*³Ex.÷|\16k®RN½¨<[²tæ\80\ 5-a`Ï3\8bªBÉ/õ\14\ 4Aì<¥ñGÐ\ fÍÓ\17\v«\16ôknÓ%\86øÁÐF\80\ 4\17¾¤*\17     0r",Þ\ f;\9ei\85-1\ 3%\1e\83*ÕØ£{\ f\18\89ip\ 5ëNÍÝ\98u¶Û`f\18Sj\8b\18Öйp«ñµD»üg'è\87\93\82\8cÈñpIP¿5¯ª»EØø\1eÌ\18^Â(¯fcë\12H\9dûv>çÞ@{²\96οÝnÿn9¢ü6¾·Õþ¼¶Ü?\1a\8fs½{Ñí¥¡\8eÅ&ƽÀ¶ãA\ eòù÷È÷|ÿ1i\9f!rPä\85Õ¨¶ÕW£\1c,¹¾.\ 6P¸-\1c£»zw\f\19\14\85\1c\8dµäJ­½¥ ¢Ô¯2ÿv_\19^\8d\8f°û¢_ÝDíñ÷#y\8eú\17\7f¡ÇÑ\91\12\8eyàg\7fÃ\90º<1TXø!\ 6§½+ù\17\ 3k?\860ãoîjå|\16î\17ç\´\81§íÍ-\9aL\83ñlFã«\96\9b?o\1eooè½»c©
-\171ú`eê«<ïö\9eOB\\ÒWï\86£É(\98\8c§¸\19bc\149\96îæ½?zÿ\ 2\r\8d!<endstream
-endobj
-586 0 obj<</Type/Page/Parent 553 0 R/Contents 587 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-587 0 obj<</Filter/FlateDecode/Length 1173      >>stream
-x\ 1\95V\7fkãF\10ý?\9fb\b\1c8`+²å\9f)\1c$Mz\1cähKÝ\83R\17³\92V²ji×·\92â\98ÒïÞ7+Ë\96sº³\9b`cËÒ\9bÙ7ïÍÌ\97«>¹øïÓd@Þ\98\82ìÊu\\1aNGÎ\10ï\13|\1eàe$Eö\87ÑÔ\19¿½þ0¿ºýiFý Í#@\8d§}\9a\87\ 4\18×¥yÐñ\1cÏ¡ùJÒãÓÃï\1fî\1f\1f\17\9dÅ\r}\12\81Ñ7ó¿ñè\90úx\82\1fí\r&\80\9f\87\9d\8f\8aD\18&E¢\15\15\9a
-<½NË0\96;ÊuZ6¯ûF¯¥¢4Q\926Fû©Ì(\94y`\12_\86$|ý"»\f\80#$9     
-R)Ô\ 1ÅfÆi xßs\ 6\1cü$Ï\8có$%_¤¡X*iD!\19f%E(\8dC\1f\vÚ&iJb³\91\8d[*äkQg\1d\94ÆHU #¿\8c)\93y.bI@S\94Doâò)#m2Q\90_F\11\ 2"a\99m\8a]Å_¾S\85x%\1dY>Z²Äí\8c\91\8bL\92àÏ@jÞÍÄ¿\89i\8fçTupiV\97a\88ê\83  Â\9f\8d³è\90Û¥Eçz¾B\90}\9c(1ya\89w\16\vuM¨êâæ\87:\80ëLO lá[Pr\19h\10Çõc\98f\80b\95\98ã/Í\0§¢±\92ùÅè°\fdþ½³üÙ\9fͦ·îäÖ\83âÇw®{7êwÉý\8b¢$\95Np\17\95*`m-:£þàÈUã(\ 4%·2ÐrìÓ{\9bç<{sãäÕy\8eöêy¶4\9e3l¸êùóó\ 5®ú\19\16Ùëaï\94\1câ-VG=Y\90JòÛZA{\ 1 º\#È
-:\87³`ËX\16p\82\9f@\ 4\ eý¨U\9eÀ\15ÀKl\1d\1a¦\92¯"Û¤\10¸Ñ\19©Ì\ f\979p\84R\1a\9c3÷ß®Û>\ 1¯\výñCËT\a"]f"/¤YÖ\10\19lvGÅn#éÝ+û\88\14ûà]Nè!yé+$\8b/üÃV\9bult¹Á\ 5Vn·µ\1e,~²\80]\8aSísÈ\1dcv\19ÎÈ ÷¾\82]V\17\19µ÷\9eß\97\16|q³wC\8b\12§\8dl/*M@\16k\ 2§¡Þ**óDŵ\aQ\ 2\ 1«4\9dße£G:Mõ6?O!ylb:ËbÓj\Ã\83\ 1\8e¡k¨6¯ÑpQ\877´}«?|\8dyR0\80µÐ}9XkÁ­\ 4\9aÅjàµ\94ë\9eò$KRaºèÌм\89Ká§;RI\0µ£õ\e-\82\95í\8b\1a%\93GCÕƬúlÕ<*\7f\19Y\94Få47%&\93íéµ\f÷s¨\9e\16)ÆEÊà)Æ\awuE\10±üR\8a´\1e3\95>+e<?}~z¦\17\91\96¬Tý\1dU$\11Ä`é·i\92W±P§q¨:Ñ?-×B?æIw©\9eÚ\ 6C\ 3â\7féè\fÖeú9\ 3r±nÚpþe¾Z\84´èÌ1 \ fÇ\86¡ë\91cgýë&\15è±!ù\12\86v\ e\13h0®æ1\1eÆ\1a#øE\116\r\11¾\bì\ 41weÞ\92 \91<XÉLÚ¢c\9dë5\9eDãƸÆ-\eip¸\f\82\885÷_η\875\f\e[Øé;Äßñõ°\13ý¡K
- <\81N\13`\ 5\82¾L\ 2\ f ²\8e¢zªä\85\bÖ¬ÐýRdñ}É\96\bí¤I°Î\81\80£æÀ\80\ fÄõi\ 2\83¯\13ÀxÇp·ÝÐâã\1c\16ÝHØ\ 3$0\ 1Õ\92¥Ëb\ 3\93\b\8d墨8åIwa|,¬U\ 1§ûÕ´?ò\9cñlFcoV-¨¿Ý\7fz¸§Gv¦\ 6\9f9}(1ù*\16\91qooâb\9f
-Ïí¿ÃÉÐ\99\8c§{æ\a\fñ4¿úõê?K¹mÖendstream
-endobj
-588 0 obj<</Type/Page/Parent 553 0 R/Contents 589 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-589 0 obj<</Filter/FlateDecode/Length 836       >>stream
-x\ 1\85U]oÓ0\14}ﯸ\8f\9b´\99¦é\9aîqÓ`L\1aH\88\0/\93\90\13;­!µKì¬ôßs®\9dî#\e ªi\1aÛ÷Ü{ι7¿&\19Mñɨ\98Q¾ z3\99\8a)\9d\159®óe\81ë\fßNS\13\17æ\8bL,_[ÈϦb1^¸,'oÞ\9dSVPÙ\0d±Ì¨T\ 4\80é\94Êú(\17g\82\1d½ëm\1d\8c³þ¸ü\91NÌÓ\89Ó\9c£\96*nÍ\ 4©j\15ôïpwtw\9c¶Î)CL\ e~:\ 3\8a:*×ÆS3Ä£mglð¤tÕ¯h£½\97+M\1c\81\82£°ÖÃJcZMwGÒ*Ú:ïMÕîy\83ßûÖ­î\8eéÞȸ»qÝF\ 6ªú¦Ñ\9d r­9\v`g¹\98\ 3pïµ'I÷²3²BpÙ­ú\8d\81\ 3ýèqiÍO\9d\12\1er\1d]q\9e\19ÿ\8bÁÉØm\1f\b\ 5Å:´Â\ 3¤%\87\ 4¨÷Æ®8±Q\16÷¾\8d\aRÜCN'Äõa·¥­ô\1eÑ\10+Uô=\12ôý@­ \9b\86ö®\a\80¦«·\97_®o¿ÞÆ\1cùáδ-\12r\15
\8f\90#l¤ªrjO®\89÷\aâS¾O4\14ID8äAïLà6é=\8bz¯U÷?¹A\10ky(\14\7f Ò®3!jð\üµ\96\8aµ{\1f\7f¡\11¬m]à\82\ 3¬üEì\8bÖ»Qµ8\a71\98I\85\aëÆ\91õf\eö \9fj   âÀ9\b\18\8aJ\\ eðª¯á\13\vÖú\0Ù\ 5\1c]Sí6l\1d\ fõG        <\89\ 4hÚ8\14clã"¯Ü\12\8bÄæM4\11ã°éØÜ\9ctxÖ*QÖ
-hÈ\12,(Óé:´{x!\1e\86\15\14Uûd\87è\ 5vS4ÇÅÕU´ì?ÅÌÅë^K\87^oc\10\a\19Lý(®±©iE\1d\ 1E'ý\13o©½\99\ eæî5\e"Âc\vÙ`Z2aD¬¶µëmÐ\1dg`õ®5V\vúƽÃQ\87'T¯e'klc­\e\9cP'    5\ e\b~È.\f|êŸ\19l6\ 2~\9c\0\ f\15?ôí¡í\11\16%k8$\ e;èåv\1e½Ê RÅ\16\87\v\14,\ 3æ\1c\8ae©A\85^\19kyb -µ¬×0\83\1d\8f\8eQÇ2}      _Âþ¤­ï\13ÛCÌ\81ò'\85Ê\18\95112Í\86Çênm\0V·ZZ¤¹\1dÆê¨ð\14 \83/\19b9Ìõ¬X\8aÅù9åó"½\b>_|¸¼À ¼×­Û²>×½Q±\8aÓÃÞÓbz~\98!/_/ób.\8aÅ\12o\f\8c\99,g¸·åäÓä\ f\91E6Jendstream
-endobj
-590 0 obj<</Type/Page/Parent 553 0 R/Contents 591 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 315 0 R>>endobj
-591 0 obj<</Filter/FlateDecode/Length 1890      >>stream
-x\ 1\85W]sã6\12|÷¯\98Ê=\9c6eS\96­øcßv}vÎ\ f\89÷,]*¹r\95\v"A\111\bp\ 1PZåק\a )\89N]jk]â\a03=Ý=à×\93\19\9dãß\8c®/èò\8aòúä<;Ç\9dáÏó\8f|\87æWsü­éâò&»ì®4-Ò³Ëëì
-Ïf·3~3^ñ³ÏË\93éÃ-]\9cÓ²D\8c«ë\eZ\16qkÜÉ'w\95h\82t4ÏèÎ\16ʬiÑ®×Ò\ae\8dÿ°ü\1d\8bç4\9b¥Åg\17\ 5\96O\16\96v¶¥­0\81\82%Q\14\94ÛBòï\85¨W\82²,ãÅçtvq\95ÍyÉ\93\91dK
-\95¤B´&p¨ ü\9b§Rä|!¨qvíD]#\1d\11\82¬\9bô\92¥­SA¦\b¥u]\bå©5\85t>\b\13\13ÇÖ]ÌÙeJs#\9c²­ç\95\1c!·f#\11\19\95QëeA«\1dò±^Rm} \91\aµ\91¤LL\12Éü.ó\90Ѳ\92xãpíVº´DïF\ 1[é\ 6i\b9Q%u\83(ªÆ^ØX*dèÒæÖ\ 5±RZ\85Ý)¡\80ô\93P\eâxå±C¾ëábd9\r\14\ؼ­Q\ 2m\95Ö£Ø\1d\83á5A¥ÜöûÔ\16i#\19\8e\8d-:P\1aÇuç²\83D ¡\1c\1aýJP¤\96\1e\ 22
-ýn+\81Hò[\ 3üP?\12Ê+aÖ\92¼Vë*hT¶a \10â4\ 2\16~míì\96\84G;8SOZ
-g°\83XÙ6\90]ù¼uã\1eÇr:ü"x \84\88=\ 6f[\8b4\0'w¿\aÅ\13g?}\80Þ"­'\9e\19;õ¶u¹\9c*\ 35\18¡}\86÷Ó\8b=ÿ'\9cëñZð»çÚÑ.Âå\15(\9b\aäûW\e1!\14ô\ 2á(ÎUhÐ\ eÔ®cæcé\80\81¤-x
\9cÔ\82AýÚ&\8drs;ø}Øé\b\eÀÝQ\ 3\8d\99\89±¥=\0@\ 2Ý6\16\8cO*cè\91\89\93>*þ ¨P\81\ f¾]±\12N\ 1e.\9b(x/X9xöH\95\0µÑ\1aé6Ük¾)¹ËÜs¦\167Z¬<y)k\ e´\92й,¥sx\1dZKäJè÷\85÷\98>\96Ñf\98M±/(9-\82\90°W£òqù§\14Ðs[\86³¯­å\97û¢=a\97\8f\1do{OªBh>N§ú\9bË´2í·ÌØ\9e\aÿê\94\16\e\8b\ 6²`\80ÿz\8bív\9b\95¾Ì¬[OQ^3\8d®$\á_\83ͳ*Ô½\ûØ\9fÁhô\0u0dÇ-ìQaÿB«\8a6:+\17]\v³£B\95À\8fm\0\1cÓÓ¶²©\19PApjÕ¢ü\1eÐ>è\83ÕÚn£Û\ 2So¡ñcÍD¼}e[]°EbSö2°\14\ 2\12ä¹wù\8c\1e\14ì7J\18ä\95ì¢\1d<}\aqSÖ«èz"\8cáÿ²wAV;\ f\0U\vp÷('&I\97\1ax\955p\rÏ+\8cD·Ý\eÞ¯\e1¸è\16>KH\13s%Xfm2\80Ów©AuX\8e\1e\1f\16ÓÅO\9fÙ\1d526ap\1086d\8aÿÚ\ 6Ïlk ?V*,\92\e\97è»j\95.ðØ\0Ó\88[.ZN4â7\8aÛÕ"(\17ZGé\91V+Çu÷õ¥­¹@\88T\99\8d}K´ïKé¢r32ú¤\11sÏ$\9e1)cæÊ(ö×\96\aé\9e?¨yÊÅS®\15ª>ª \1c\ 2÷ Xß6l²§É2\903PØV*¯¨\8ctB¶\92\16??~\8a8\8e".e^\19\85\99E\8f¹&ée\82\8b\88ëè'\95;ë¡ZØ[ÿÒ^¸ÝË¿N\9f\1a\90qeíÛ0\98в\ 5\8f\7f\bíåÃ(2\f°\84méÝX\ 4ÿî\ 1\8aü·\f\18j\1c\ e=\91¥8\85\r'\17ÖAñ
-n\9a\eð QD&¤;|")\94\a\89ò\e× à¼\1fI\1a±\82!\83      ö\f\1e\8a)\14\12\18ä\84ñÉÉ5Fc+Ö½±ôÊá­¸¢3L©þÞ,\8b³\vw\8e\92[|z¸\7f}x¾¿?Ì®tR\ e©Àk[\0\8f¨Í`'¦E+\e\e\8d5ú>GÂ\99°\98\ìÃô\91\v\19"³W\7fH\978\ ee{      Z þÿÝ??½.\96Ïÿ½[F78¸þ\ 2Ïâî\ e¹0§¿<-\1e\7fí«\8b1/ÿ_L\1f\ÞìâÎø©Á\82\97     wÅ\8bR¾~O\12´Þ\bÜ\ eþåÃ\10\87\87ÚÆ*̤êW-{g<\80¸6\9dp\87ºq\ 6æ\9c\18Þ÷u¯%\ 6NxÕÖ¬O#\10\r.\aÅÂ\8e:bôÝ?8\97\1c\15úÃû 8)i\95+>\18Á\1c¢û\ 5\fx¡U    uD[i\84«©\11Þ³\11Ã\10{§`Ûg:Çç0\fe\1a>)\19lõ2a~oaR\1cÿ`¨ÇùÀ'0¯ KÌ\89.b. .Iÿ(d©â©k+vIU\87\1c¼ÚçßO\958$úä\ 4mÄ«\86å²GcGá\80\17(¹¯\r§oñ%ÀÍ\ 1\11Xzp\\81^r?Ù\13~ùôz÷ôå·\97    Z\19\993ʾÇ7z-æ×àǧCà8K@\946çÃ,Lºn\91\ eJS\ 6§-ÀúGg§\82\9b)øba\0\16÷?þBª\1c\ 5å\8f\9d(\81è%\fG_ûõ\1e\8eË[|\80A>0\83\1c\87IH:\16Åj¯\905æC\9fû\ 17Ð&\1c6a²PëøÔ¸\a?Jäf\1fê\98\9e\aüQ&×-f\1fÏê
-1\81o©4|\1c\9c¹ë~\9e¥§ÝU7ì#:qmü,ê\86\14\1aR\8f °ìàh_\17ÉgÕPV\1cÛéÛ\85\17\1d²æv\9f{\8f\94\83Üax8z\ f\rñ\80\ 6ñ¡        \9eg0ѵ4|´GïðÝö]-Þø$i\83ý\ e¹ ¡ø;«ö\ e0Jü]vWÙ\ f{g=O      N\1fnºÏ\82³Ù-\9e\9fÍ/RSÿö;y~=Ï®¯n\92\83Îæ\1cü~yò\9f\93?\ 1ñ\894ìendstream
-endobj
-592 0 obj<</Type/Page/Parent 553 0 R/Contents 593 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-593 0 obj<</Filter/FlateDecode/Length 1703      >>stream
-x\ 1mWasÚ8\10ý\9e_±ß.MÁ\ 1J ¹o\84¤\9dÎ5moBç¾d&#l\81\92O\92!¾_\7foel\bÇt2M\8c¬Ý}ûÞÛå\9f\8b!\rðoHÓ\11}\9aPZ\\f\92\ 1\8dÆ\83dBãÛ)ÿ\8e\1f'iuq¿¸¸þ<¦á\90\16+>;¹\9dÒ"#\9c\1f\fh\91^V^\924\99\12\86¼XI*D꬧].\r\14éF\995=?Ý{z¹ôRÒ²\ eÒºLº$'a2R&Hg\84öIfÓ\97\ f\88*¼5¿\93±áÃâï\8b\ 1õ\87\9f\92\11b^Ê­tµ5\92\10ÓÓW¼§ùD\7f8In¨=4\1c&ÄOãÃþh\92\8cùÕï6HúeTj3Iª(µJEPÖx²+Jsá¼\f\94#\1dÍÙ6\89\9e$\96Ð3²/+­_¯bâeåóæ×\93<Sk\90ixõÁñm«Ê¤1VÒÕƹ£f~*´ú7þr¦\94ѹR\1e¬ù-\90ð¾*$=\9aµV>'ktÝÝÎy\8a¥ÝÊÃ\95hUv     \88\8e i\ 1\9a\82%±µ*\ 3²\9c±2׶
-T
-'
-\89L¹u]\15\14r\11\10+TÎP&\82@¯U\8a\14PóΩ\80Ö(S¾{ýåà    Bm\8fç`M*\98B>\88¥Ò*ÔT:»Ô²ð\87äÛL\87ããüÛÖ>\1a_\81©©-k§Öy`â¨\14Y\88øÔ9\99\86\1ee\rje      ®Ò©l-\7fódP\1f\17\1fi\11ëÊ%e*c\84c-        }]Qm«\93üq\84Ã4g\0\b\87Ïd\ fäß \14N'^¦\ 2ªC\85V¾)\8fÓ*äñ°\93ø\vÄã\17\9f\14ôåç7\99ÅK\923uß\9c«{\ eö*È\b=\13kÉ×=Ì\16³×ûo? µ\95u¤¥Y# /eªV
-׳òúܱ\ 3\11\ fQ\eªL\8e\rXpy"Û
-\13ö!C¶l\82ñµK\81Fj\853-Y:JB\12\1e\10H\93Ö§\91¦ç"íI\9e¢\8f¾\81iöô:\9bÏ\7füú¾\0W\\95\82~Ü*î®®{|¦&\9fÛJ£N$\19ßDÍ[%¨Ì\96¯k\19\92$y¹\84Á@å'íä\ 30\80ö@\9b½?\83S\ fM:SJ\8bÐðö¸\9a\96¢M5i.Ó\r!\1dhw\a\aì²'±\16Ê\80\12Ì\aþ4[öHè\9d¨=[]|\1c_~m_\8duD\7fZ\89T6\9492ÊV^ÚBÌÐoA¥®Öë½Â\ e\rè²¾;\97õÞ\188\ 3áKXYX\91\13ÈÑ!#кlü\rB\83¤Ví\1f0~4¦´Þ+Èø\10+Òj48\ eÔ\86ÿ\85\bƺBh\9a\ 3Þ¢\90&xº¦+\18     8#2&÷üãǣϮ\e\9e\85\¡I3\1dÐøu£­£s¬\82B\9cN\11åÙØ:ýÍïîØ|L&\Ö#oa\bV³¬¶p
-¨(fT*Í.\98Ù¨z&W\19H\853Z\1d\9d\1d?{(£¥à\96\14Ö\r        ±ýG¥Î~~í$ÓÀÙQÜ\93|+5èÁ¾\1cùaÑ\88Ö<\1a×áÇ Ë      ©a>\a\89¨\8e\e%\f\96\0´AåLíÇ \83V}¥\ 3ð|\12nñÐ\96hY\ 2)Whf\1f8¹¶ \f\1a\8e\1d>âÞÕ\15@d\82D:×Ñ\0!ÈR¥\eȱ*áBô`ßêµ4H\88g\ 5\ e£'+@|\84g+\9dÑ»\19øé\ e\v
-&Ù\1fR\96\11\r\ fÛ\ay\84sv\97Ð\82/*¤ÀX\87\13¿\9b½×[á\94@\11\9e\13Ç\80\88\e
-o\14\1dW\13ú\v\8eÂsâ\ 4É\1dü\8elåâ¸ðXi\98ßZWAf  =
-̾Âf\95\86ó7þ\93\8b-$C\ 5\9aÆ\9c6U±D\18pX¾5«\ efõVuú8\ 2¯s\1e\ 2óº\8cÏÁòn\94·°°\90Ú+\90b4\bا¥\rãµ1v§%\ 6\1f/\aÍ|\ 6\ e\95FOK%yb"ÅfAòV\vTÇÍá}\v\ 4\84Ë\0\9e\13`\9a¡\1aáa[sï®ãÛÚd°ä`²#\110\ 1V\12%\8d\fâªèI[È\1d§c\18\86=<Kãl9   ºrb\r®ôâºÆw\16PGÀOÌ\1d\ 3»ñ\f\8c|éÕÚ\80ð(\ 3¸³SF\ 5°¡aX1\15 \0\98)\1dn'a\11\88÷FÉÊmgjú¾À=\ 1÷\ 6Ó@\8bVã5ëà0!j\9dý\8du\18s\ 2\14¼^\1d5¸måèÝ®s3Jn\99÷ ¸Ù@RN®°\87ÖûFîXl\90ûNiÍ\b7#\18\fb7ãþIÍ%cÇ˲ø\1fÂw a¹aMgè/V\1dõ?î·\13\15;2\þÌ¥ÝMp\f,\84\80     \8dÅrÄs\ 2®tT[ë÷£ý>Ó\1fÞaqï·%/`c\1ec
-ËQÜÌã
-\e·8ÏÈ\83\13\16}8Ò£%X\84H@³ñzvÔBÔ\94K]2{\9d̪´µN\aÖ+sJb'1\8c7,|8¿!#w{88\1f4(\95\e°g\ 3åèÇØ9 \ e\0\8ao\ e\ 6zÚ_Ì\rÁN\89\v|UrÏÛ\ f¢§\9fðiÿ=\89\97\ 5\9f_\7f¾Ý\7fÓ\1aNo\93        FÓøfÚXÞóìé~F\ fp,\rËÃ0úRaûã\97úíÙþtpÇ,\99ç¢\ 4­\b\14\9aÛ\98ûó\ 13~c<\1d'ÓÉ-¾\ 1ò·\82\e~ô¸¸øóâ?xN\89Ãendstream
-endobj
-594 0 obj<</Type/Page/Parent 553 0 R/Contents 595 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-595 0 obj<</Filter/FlateDecode/Length 1908      >>stream
-x\ 1}X]OÜ8\14}çW\ñD+&0\1f0t߶´h\91º­v\19\1eVBBNâL¼$v\1a;\fóï÷Üë$3\flUª\92Äö½÷\9cs?Ü\9fGS:Ç\9f)-g4¿¤¬>:OÎébþ)YÐâj\89ßgøÛj*\8e\8eÎn>Ñì\9cV\ 5¶\.¯h\95\13\96\9fãMvr]ª&è\96.\12ºSuªèÖâѪÊ\7fXý+;§Ë¸s2_$3ì=¹H¦    a_«2Þù\87²yeì:®_ÐtÚ¯\9f-\93K^¿*\8d'¯³`\9c¥\û¬5©ö\94\8d'x\1d¨ìO!c£#§¤<\99º©t­áR>~ 9BÃjR©{Ölõ\9c&³KD\ e\96B©©Q>ôñ\94*§gÝnIå\93Òeÿc\16Ñg* \1c\18
-eëºu麠ge.×´Á\17²]­ñ     ®«*â\ 3ËÓyDeS\9a¬¤ÌY\18cw\eÕ\ 6\93u\95\87\16øx
-î¬h]M_~Üaa®\eµÖ>¡\15;ܺ\14\91\12\90
\12Ã0¸\ 1\ 4Öá\9f\82\82®\18g2E\1fô`Zí\ecX?ò9\02wðµ7D®¥Î\9a\97ñ\ 5\eƲ\8a#v¤È\9au\19j\ 5³°%AGOZ\13Wd®\81G&\94\aÖ÷\ 2Í\94\a±¼\86Á\e(\8d0®µÕ­ª\80\9d×IÔÊ'Ú×\96ðw\91Ì" Vo¨è¬\88¦\97â»Ò\ 2+Xé·>\0½\8dk\9f\10\91yÒ@ÑøßØ\fÒcT\ah\13þ?\8e\94\18ë\rè\8dÒçØ\8f\19£ãá»øâ5ñ\97º«\82\99¤Û \87¯\91\ 6¬Yv\8c=Ä|\0\vc\81\95EbaXzL®\91¼À       ¾N\13è§\10t&H£\81\e\1f\897c$°ÆfE\1e\1e¢¨\90êæ\ 5F^gU1\90ÞKð\94R\10£ìö`\9d0\8dÓ:\8f#r\a\12­fÖË!¿\ 6W
-WUnÃ*\84b\e(Ýè·0×\1d²Ïº\0\15Ù \10Ù÷ûoß<é\97L7\81Ø'$Zm¬âÈ9²Éô<\99_-P\9e\90ª\8f\1aóK\ eM5-'©á\93ë\ 6Û\913"7º\1e89%ïz^ؼ\ fÊ\86þ\e\ e\1e¸u\8d½PDz\18$s<\81\9b\91lèÃ"\93!]¤  ³¬\7fvæYUx;\1c<ÒV{6 \857d¦oÉÜ\94صu\1du\r å\ 4aW\81sÿ F;¡'\aئ\1a\18h¬²k\14a\10\18%èZ³\ 6²U¿å\rºÙ¯ÑU\8c(âÌ\Û¢bW[*]\85RÛ'\8eTü¾DÁaàY\19ÆAp亹!\14/#\19À
-\16Bóhr2»ØUË\e\ 4¨_\14\97÷Sº_ÝL®XÌ\9c'¨û¨íµ\83\84ö2Ny\83\0\ 1Y/Y\19·°ªï¯ïfð»\83»¬½7¬\8a\ f\13\82\9b\f8E>ôRµ\1d\8e´éUÂýò\ 4UiHÁé\ºàHZÌ\14G\rgÖÈ\94\95\9a\9avE\11Ùé1\82\80!\91\84\8di\110°`öå ½\13H {{=æUü\9cHµ´
-\86\9c\výë\94àó#=øöª×âKÔÛà: \81ë\rB\7f\843\87V\9bÎ\97\8fc1îû\95¬\1d\v´ìÝE/]NIt(8\ 2\81\89\80<\9cìH}ø\10\eR¬M\82ù^¬+¸ÿÚ²\97ç\9d\15iÐܹ\18ÅÞÎÈ\1cF!\19>æ;â.f\91K\ 6&l\1cÕ\\9abÐ,¹Cc#%`²³¹n¹\96 \15`K6E·E­²µ\ f\83Û¹\97\8a\8bf\87TPèN\8aRÎòÆ\ 1\96A\1f\1eM\13Ú\95w\9cEì&L¶\10\vz?\1eîþü\8cF\9f=aZ\1af\84QnÜî\85\19&ï]»\92¢Y©³'9¬¨\14&\92Âh\98\94ò\ 5\ 5\r\87\ 3Ó.8h\8b«\1eJ@®c½FÃ\89\9eô\v±\ 5óÂ\13\1a\85\92\16½gW1µ2Dĵ1«\11Å6Ö\8a¬t¨\95\84$Â;\94/@\8cÇa\ fg)7ð!<\ 6+\8f9\ 3`Øõ\84þqÝA¬5Æ$Ì­\8e\13#\8b\13\0\8cç¹³ã.\19a\ýýxÿýöúÇ\97¯\9cywxüýîúöVÎÅ8v\83\97ì\fPAGÎÏ\98á\ 3K\95Iñé\8c\8f\83\1aX\11\9bVqí\1e³\ 4)W\19(âQôáÛgù]hcLÅ\11QÑÙ¡ìxzâÏ\a&q<\1ank\14Æ\8fÂ@\8b0»Æ<jû\ e\ 3ì\87\19\18È\80\97\1e\8b×Ö\94Ï\8c\81I$z\97ù\19Ç/ö\87÷Hty¿\93+\18çDx²(íâ¾\14¥=¦÷Æ¿>#À\9b\9cǧ÷\8c\8a4{¨\84"\8c\9b]\9d\ 20hÛ\89\ 4P\80\9fµE7\ 1u{æí\ 1\ e\É2û\9c\9b×á½\ fæÎCh\19\86\1c\ 6ð<æ\85\ es{\14ð~Æ
-H\12Çc\13\ 3{8yøÀÞÈh¶À¤Ê\8da±«/Ó\8b«x    Y!YS³ÆpÏ\99*ºs¸\8cÕZ"\ 6<\ 2¤¤>wê\87\13\9e9Q\r£\19\99Üã@Ê,2ðCsÚÕÎwP\89½\99\91æ¼ÔÊza.S\96Û¡ò\1ejéA\eºAl¡ªÂ\ 5Ãã2)³-\ f\14    ý(\ 2z\84ä \1cu`O\ 2`]HU)Õs?4Èåg\8c\83³\9aUÆe3Eá"µæ\92\8b\1f×¢\9erÖç\ eó\1aüz8ñZc$\W[\ 6Bî}\876\95\7f\8aÙÙ\ f\ e\9eÅS².å\9cX0ô¾zä&\0T³²}¬\99¾\84n\a)\ 3$üÈÍÐcÔ\8a\ 5jó¦pK\80\1aÊ\f\9dÔBßð`\8c    ´kd\96ƸUò°»Á\15\11\175´öèG@Û\ 3o2EÉ<RàJ:v§¡\15áÖÍQòd\7f\8akCÕìº-\ fø\eh't-j\18_ßz\91Ä6\«µÉè\18\17Êc)_\#!wUsÅ\96\0×ÎÆëÖ8\8e]F\9bg7WýU]\ 63\14\ fÑóõ/ÿ?`±\$ËË«8×M/Ù÷¯«£¿\8eþ\ 3)ÎrÊendstream
-endobj
-596 0 obj<</Type/Page/Parent 553 0 R/Contents 597 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-597 0 obj<</Filter/FlateDecode/Length 662       >>stream
+Î,åæ/볿Îþ\ 5\90­lQendstream
+endobj
+540 0 obj<</Type/Page/Parent 513 0 R/Contents 541 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+541 0 obj<</Filter/FlateDecode/Length 1191      >>stream
+x\ 1\9dVmoÛ6\10þî_qßä\0¶bÉïF: i\9dÎ@êb¨:\f\88\83\80\92h\9b\9bDj"\15Ç\1dößwGJ~k2\fË\ebêøÜÝsÏÝéÏV\0\ e`\1cB\7f\ 4IÞêù=è\aþ\ 4\ 6\93\eâoÉaݺ\8dZ×wS\b{\10­ñÆh<\81(\ 5´îáIÒþ°e\85á%ô}\88\1c4Ëc\ 6\1fç·ß>\81ÞkÃó«èw\v\10\8c\1d@·?ðC\84h÷ýÀ\87%ßÁ\97Ê\14\95\81¯{iØ\8b3\1f@\10ÔæáØ\1f\91¹E·& ÖÀ åqµÙ\b¹\81Lm`-2\ eBcÈEÉ5\97\86§ÀôÌ¡õ`Ú\80\rü\ 1\81\ 1üdïÓµ\e\98½{\a\7fÕ'¹ÞÜÀßt¯\aÝ0p¾\esûÐ\9a»ëÛ´¼\ 1\92^}Ûð\17sóÆekl/{\ f\1eD\8bÏsð:\1eÜÏ\7f\9dß\83÷èÁÝâ\1e\8ff\1e<Ü}[~\88\16_\96\8f\bÞF\93Å\12\1f¬®¼7\90­×³,2!1¯·ÒpO)ëhþ[ä\12pL\9dòîX'\ 3ä\95\816%\91\8dÜ'[V²\ 4\8b®\81¿$Y\95Ò¹ÁâK¾#è£\81ß\ 4<r´»\\11\8e¬\9dH2þÌ3B¥£\9ckÍ6\1cVm&A`\117¨,!í³\92I|Òóý ·ºº\ 4¶lÚ0\8d@\10ÃòâÒIJ[»\96\8d\9cu©rØmE²µ¾¬6\ eÑì\98\86\r\97¼d¨ª\1f`ëR\11I\94º\92\89\11JÂÿ\87´å®á,\9f²Êc$¢&É\ 5\879bs¡ÐÑ+3Çøl\105\8f\97±Þ2-\12\96\ eæ\8a\97ìMü\8c\992©1\ 3Û/8\ eºa]°÷o´YÎR\ eUA!\9dq¥­Ë.6/\ e\87´\8d\rN
\8fÝ ïº~Î\90ã³;ÄÜ \1e\83-Gô\12\98L\81\94í\ 6K}\88\9a\17¨?jpK1\91Nf\10ï\81\91·.6nã­Vä!ªæ<<\ 6Ö¤\1a!Ní$æ8W4ì\84qr8hÊÆä\82\7fU·\&\99Ò\18\19j6Æ\1eù\83\emïû qO\9a#\rv\ eréXèÓjc}\8e\82l\1aãL\8a°VY¦v\8e\9f\ 6\12Ù¼p\86\8d\9a\vi  #\8a Q\99\92Îß\99`mS\90ìÎìÉ\ 4ùF¡m¹Æ§.¦Dᬮ\e\93\82¾pé\ 4ëÃG^piÇCU`K\10V¢ò\ 2³/;öÓ¡[¬ó\9cí!Æ) ´¦\91²j\vCâ8ô\1e\95\181.\9c==5ãòé     \85\94\94\8aäM­\8cw¥2PIñ\8cÃ\8a\84\ f"/2Û6<í@\8a#E\98z\9a\90h\87!î?»\9a\ eº\1d\1d\96OS\ 3+6\84>Ñìw^*P%ä
+W&ñ¡;ÀIèç\²fB\1eôh»dàÄØ\r\87ÇÆû\99\97ÜC­+\1c\ 5Ç\19®7e÷ä¿ì4\80\87`:\9d\÷ð§\ fA8\e\ egá°\ 3Á#È<Nýd¶j\8f\86ÓÕUÃ`Ï¥\vökÉM,\14R\86ÂÔ¼DÊ\80h£Y\16øS?\98vqµ²¬ØÒ.`åÉ,\fÎp>¨b_\8aÍÖÀ{\99\96¸ß£R¤\e\8ec\ 6\83\etñÏø\15ÿ¯GÞ\7fÄíÎR\14`n£\1f\8fúoD¿\90Â\b\96\89ï¤\9cM¦b\96\91n1\17ZTäðúî\87í¶T\ 6\87\a\8dÂZË,VÏGÂI¯g
+Å=\88\ 5&Me\ 2ßmR¨E]Ï\rª<u#3Xº\98'¬Ò\ 4\7f)ئ\9eÎÙyK# ®¾¯\9f\16°\90)Îi;\ 41\f:iZ\aRŵô\fèª(TIs\9cÃi\174ôÖ#×ö\84\95ÜõÝäøb5\bÝËÍ\7fz\83\eL°Æ\93\81\eëSr0\8fZ¿´þ\ 1ÄÍ"¥endstream
+endobj
+542 0 obj<</Type/Page/Parent 513 0 R/Contents 543 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+543 0 obj<</Filter/FlateDecode/Length 1137      >>stream
+x\ 1¥V]oã6\10|÷¯X\18\1c\12Er\1c\7f¤O       .¹\ 6½´(êë=Ô} $ÊæY\12u"\19\9fÿ}g)Ég'u\90\ 1Ø"¹;;;;â×^D!~#\9a\férLIÑ\v\83\90F\93`D£é\ 4\1f\87ø¯%e½Ûyïâ~FÑ\84æ\19N\8c§\11ÍSÂî0¤y2¸\f\86\ 1ÍW\92ÞßÝ~ú°\18,NéQ$µ>\9d\7fÁ¹\11EØÎçÎ\87\93`\8c\93\83OF\92ÎÈ\1e\1c\b)C®LV¢\Ê4Ø\vhÅZ\1a²\eM\95¨E!­¬M\934Sµ±|\8eÃ\15Ò\18±\94\94Ë'\99\9fñ#\ 6\81Ô\11@rj#\13]¦ÝöX§[F"(CV«tI\89Ès²º\ 1'c·\8c|AÝzÐÆ\e\8eA\13âÍWÂ\9e\18BÐÌ\19U.\9f¯ÿ"k\89uQ\92ü&\8a*\97´Y©dE\85ØÒJæ\15RÇÊ\ 6ô\90ÑV;Úh\97§´©\95õÀ/îC\9a\8d\9a\8cU­J\9b-\ 6Ô\9f¯P5þ\ 4ýdºÊ\83Å¢ì\9fQ?eè}Z\9cþü²\v¾\a(ÑH0Á¬ig+g¹jcS|ñÄ\95o\ 5Ôv\9dÂ3z3ª\1f\ 6Æ0}M\94©\\ 6t\83\12*u]\88\9c:^ ¾\8c\9fX\8bv\904\89¨ \9c\8d®×Ï{ó\9b\12õ\v¨§ô<\88X?É]£8¥¯­ã¶Q\153n¤g+\fè±\11\1c\9a`Ûå\90\11\0êrvú»\15F±Ä¶g¤\9a  8\90,\aÏ\11\92a\95¤k\92_\1djkõ¸Ìu\8coO"w-´\8fw\7fÝ}lÛµÃû\òVXYÈÒ\ fIUë\ 4ñ1\/\84¼ÓAËë!\e\8d2cIFcúVÌm®Öòº\91×K\99\12\8ef³éE8¹¸\84Í\8c¯Ãðú*:£ð\9f¦\87Éu7T\8bA4\9c.N;Üa0åÑâ\b\ 4_éDÞ´¿¥ËÃ?4\17/ë;\81áêfø»\1f\ 4    <*¥Ü`ðD*kzçJæúÝþ\f\80\9fÔ%2¥xë\1fWµ|RÚaÂ[_ØÅìжÆ\92ª\94Jm\89gj£ì
+©N0\8b'\ 1ý¾\9b®C\11s¯+Á½@¦Z»%\9fÙ\93nì²\f(\e¿ÀÞ,wf\85Í°¶zû,»U\85l\8aËU)9²,\13íJØ$û(Ü\85\11±ê\91\16\95Ý"¼,÷|\16k\©L½¨<[ªdsÀ\82Q0°ç\99EU¡ä\97z
+\82 fOiü\11ôCóôÅÁª\ 5ý\9a»t\89!~°´\11 \81Ã\97Tå"\ 1F\99\b\87÷Ã\8egZaK,\81\12\8fA\95\91ß\ 3Va\1a¸`Ó©¹\e³Îv\eÌ\12Æ\94º"\865t.Üj|­Ð.ÿ\99\ 5ýpR\90\159\1e.        êwöUu·\b\eß\83\19ÃK$Ê«¥uu     ¤ì¾\9dÏñ\ehOÖ\8aý\9bwûwË\11å·ñ½­öçµ\93ý£ñdnv/º½4Ô±Øĸ\17Øv<ÈA>ÿ\1eù\9eï?&í3D\ e\8a¼°\1aÕ¶új\94\83%îëb\0\85»\82\19ÝÕ»cÈ¢(äh¬%×zí-\ 5\11\95y\95ù·ûÊðj|\84Ý\17ýê&j\8f¿\1fÉsÔ¿Pãÿ\v=\8e\8e\94\ 3\e\86\89¥ÂÁ\ f18í]É¿\18;\1fXû1\84\19\7fã«\15û,Ü/ÎeÑ\ 6\9e¶7·h2\rƳ\19\8d¯Znþ¼y¼½¡÷|ÇÒ\15.bôÁ©ÔWyÞí=\9f\84¸¸¤¯Þ\rG\93Q0\19Oq3ÄÆ(d\96îæ½?zÿ\ 2\r\83!;endstream
+endobj
+544 0 obj<</Type/Page/Parent 513 0 R/Contents 545 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+545 0 obj<</Filter/FlateDecode/Length 1174      >>stream
+x\ 1\95V\7fkãF\10ý?\9fb\b\1c8`+\92åøG
+\aI\93\1e\a9ÚR÷ ÔŬ¤\95¬FÚõ­¤8¦ô»÷Íʲå\9cîì&ØزôföÍ{3óåÂ#\17ÿ\1eM\86ä\8f)Ì/\Ç¥ÑôÆ\19á}\82ÏC¼\8c¤Øþp3uÆo¯ßÏ/®\7f\9a\917¡y\f¨ñÔ£yD\80q]\9a\87=ßñ\1d\9a¯$=<ÞÿþáîáaÑ[\Ñ'\11\1a}5ÿ\e\8f\8eÈÃ\13üè`8\ 1ü<ê}T$¢(-S­¨ÔTâéç¬\8a\12¹¥BgUûz`ô³T\94¥JÒÚè \939E²\bM\1aÈ\88D _d\9f\ 1p\84´ Aa&\85Ú£ØÌ8\r\ 4÷|gÈÁ\8fòÌ9ORòE\1a\92F\94\92aVRDÒ8ô±¤M\9ae$Ök©"ܸ¡R¾\96MÖae\8cT%2
\84rY\14"\91\ 44Eiü&.\9f2Ö&\17%\ 5U\1c\12\96ùºÜÖü\15[U\8aWÒ±å£#KÜÎ\18\85È%      þ\f¤öÝLü\9b\98öxN]\a\97fM\19F¨>\98 üÙ8\8b\1e¹}Zô.ç+\ 4ÙÅ\89SS\94\96xg±P\97\84ª.®~h\ 2¸Îô\bÂ\16¾\ 3¥\90¡\ 6q\?\86i\a(W©9üÒ\ ep,\1a+\99_\8c\8eªP\16ß;Ë\9fÞl6½v'×>\14?¾uÝÛ\e¯Oî_\14§\99tÂÛ¸R!kkÑ»ñ\86\a®ZG!(¹\93\81\8ec\1fßÛ>çÉ\9b['¯Ïs°×À·¥ñ\9dQËUO\9f\9fÎpÕÏ°ÈN\ f\14\10o¹:èÉ\82Ô\92ß4
+Ú      \0Õå\1aAVÐ9\9c\ 5[&²\84\13\82\14"Ð*qèG­\8a\14®\0^jëÐ2\95|\15ù:\83À\8dÎIåA´,\80#\94Òà\9c¹ÿvÝv      ø}è\8f\1fZf:\14Ù2\17E)Ͳ\81Èa³[*·kIï^ÙG¤Ø\aï
+B\ f)ª@!Y|á\1f6Ú<'FWk\`åö;ëÁâ'\vا$Ó\ 1\87Ü2f\9fá\8c\f\aïkØe}\91Q\aïù}iÁ\17W;7t\88\95+qÜÈv¢Ò\ 4dñLà4Ò\eEU\91ª¤ñ J `\95¶óûlôXg\99Þ\14§)$\9fML'Yl[\8dk¸7À!t\ 3ÕEø%\1a.êð\86¶oõ\87¯1\8f
+\ 6°\ eºÏ\aë,¸\95@»X-¼\8erÝQ\91æi&L\1f\9d\19\9a7I%\82lK*\r¡v´~£E¸²}Q£dò`¨Æ\98u\9f­\9bGí/#Ëʨ\82æ¦Âd²=½\91án\ e5Ó"øÈ\18<Ãøà®®\b"\96_*\915c¦Ög­\8c§ÇÏ\8fOô"²\8a\95ª¿£\8a4\86\18,ý6Mòk\16\9a4öU'ú§ãZ\14$<éÎÕS×`hAü/\1d\9dÀ:O?'@ÎÖM\17οÌW\87\90\16½9\ 6ôþØ0t3rì¬\7f]g\ 2=6¢@ÂÐÎ~\ 2\rÇõ<ÆÃXc\ 4¿(Ʀ!¢\17\81\9d á®Ì[\124R\84+\99K[t¬s\83Ö\93\18׸e-\r\ e\97#\8cV\10±æþËù\ e°\86ac\8bz\9e\1d_÷;Ñ\1fº¢\10Â\13è4!V èˤð\0"ë8n¦JQ\8að\99\15º[\8a,~ Ù\12\91\9d4)Ö9\10\1c\18\b\80ø|\9cÀðë\ 40Þ1Üm7´ø8\87E7\12ö\0  L@½déª\ä\9c-Bc¹(kNyÒ\9d\19\1f\vk]Àén5õn|g<\9bÑØ\9fÕ\vêow\9fîïè\81\9d©ÁgA\1f*L¾\9aÅ     vdÜ;\98¸Ø§¢Sûïh2r&ãé\8ey\8f!\1eç\17¿^ü\aK¯mÕendstream
+endobj
+546 0 obj<</Type/Page/Parent 513 0 R/Contents 547 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+547 0 obj<</Filter/FlateDecode/Length 836       >>stream
+x\ 1\85UËnÛ0\10¼û+ö\98\0        kÙ\8eå\1c\13äÑ\0i\81¢j{  \10P"e3\95IW¤âúï;KÊy(i\vò,\92;»3³«_£\8cÆød\94Oh:§j=\1a\8b1\9däS\g\8b\1c×    ¾­¦:.Ìæ\99X¼·0=\19\8bùpá¼\18}¸:¥,§¢\ 6È|\91\b\0ã1\15ÕÁT\9c\bú¬·tÕÙ*\18gýañ\90NÌÒ\89ã)G-TÜ\9a     Rå2èßáîàî0m\9dQ\86\98\1cüx\ 2\14uP¬\8c§º\8fG\9bÖØàIé²[ÒZ{/\97\9a8\ 2\ 5Ga¥û\95Ú4\9aî\ e¤U´qÞ\9b²Ùñ\ 6¿ó\8d\1dÒ£\91qwíÚµ\fTvu­[AÅJs\16ÀΦbÂèOÀ\9d×\9e$=ÊÖÈ\12Áe»ìÖÚ\ 6j\8c\ fôÐáÒ\98\9f:%Xs=äZºà<3þ\17\83\93±\9b.\10
+\8auh\85\aHKö       Pç\8d]rb\83,\1e}\13\ f¤¸û\9c\8e\88ëÃnK\eé=¢!Vªè>\12t¿§VÐMM;×\ 1@ÓÅåù·ëÛï·1G~¸5M\83\84\\89Âv\ 3ä\b\e©*\9dÚ\91«ãý\9eø\94ï\v\rE\12\11\ eyÒ;\13¸MzO¢Þ+ÕþOn\10ÄZî\vÅ\1f\88´mM\88\1a¼\16\7f¥¥bí>Æ_h\ 4k[\17¸ 
\0+\7f\11û¬ñnP-ÎÁM\ffR¡¯üÁºqd½Þ\84\1dȧJ\828p\ e\ 2ú¢\12\97=¼ê*øÄ\82µ.@vA_5G×T¹5[ÇCýA\ 2/"\ 1\9aÖ\ eÅ\18[»È+·Ä<±y\13MÄ8l:67'\1d^µJ\94µ\ 4\1a²\ 4\vÊ´º
\ e^\88\87a\ 5Eå.Ù!z\81Ý\14Íqvq\11-ûO1§â}¯¥Cï·1\b\94ä\83\f¦z\16×ØÔ´¢\8a©ù\80¢\93þ\89·ÔÞL\a\9e\r\11á¹\85l0\r\990 VÛÊu6è\963°zÛ\18«\ 5ýàÞá¨ý\13ªV²\95\15¶±Ö5N¨£\84\1a\a\ 4?d\17\ 6>õfÜô6\e\0?O\80§\8a\9fúvßö\b\8b\925\1c\12\87\1dôr[\8f^e\10©b\8bÃ\ 5
+\96\ 1s\ eŲԠB/\8dµ<1Ð\96ZV+\98Á\ eGÇ c\99¾\84/a\7fÒÖw\89í>fOù\8bBe\8cÊ\98\18\99fÍcu»2\0«\1a--ÒÜôcuPx\8a\84Á\97\f±èçz\96/Äüô\94¦³<½\b¾\9e}:?à|Ô\8dÛ°>×\9d\8aãýÞã||º\9f!o_/³|&òù\ 2o\f\8c\99lÂp\97ÅèËè\ f\91;6Iendstream
+endobj
+548 0 obj<</Type/Page/Parent 513 0 R/Contents 549 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 288 0 R>>endobj
+549 0 obj<</Filter/FlateDecode/Length 1893      >>stream
+x\ 1\85WÛnä6\12}÷W\14²\ fë       lµÛv|\99·\19¯\9dõCâYwo\90,\f\18l\89j1¦H\rIuOçës\8a\14Õ\17\a\e\fÆh]È:uêÔ)êëÑ\94ÎðoJ×çtqEe{tV\9cáÎøçùG¾C\97W\97øÛÒùÅMq1\i\9a¥g\17×Å\15\9eMo§üf¼âg\9fçG\93\87[:?£y\8d\18W×74¯âÖ¸S\1eß5¢\vÒÑeAw¶RfI³~¹\94>(kü\87ùïX|IÓiZ|z~S\9ccùñÌÒÆö´\16&P°$ª\8aJ[Iþ=\13íBPQ\14¼ø\8cNϯ\8aK^òd$Ù\9aB#©\12½  \1c*\bÿæ©\16%_\bê\9c]:Ѷ\80#B\90m\97^²´v*È\14¡¶n\b¡<õ¦\92Î\aa"pl=Ä\9c^$\98\94í=¯ä\b¥5+\89ÈÈ\8cz/+Zl\80ÇzI­õ\81D\19ÔJ\922\11$Àü.ËPм\91xcwíZº´Do\ e\ 2ö\86¡\ 6i\b\98¨\91ºC\14Õb/l,\15\10º´¹uA,\94VasBH ý$ä\868^yìPn2]Ì,Ã@Â\95\16)ÐZi}\10\8ck0¾&¨\96ë¼Ok\ 1\e`86¶\18\1cç]Ê\81\12\81\82r¤ ZÔ+Q\91JºKÈAèw[       D\92ß:ð\87ü\ 1¨l\84YJòZ-\9b \91Ù\8a\89@\88\93H\94DYøµ¥³k\12\1eå`¤\9e´\14Î`\a±°} »ðeï\ ek\1cÓ\19ø\8bäA\12\18\9c­-`\80N®~&Å\13£\9f< ß¢¬\8f=+vâmïJ9Q\ 6Ý`\84ö\ 5ÞO/fý\1f3ÖýµÐwÖÚÞ.Â\95\r$[\ 6àý«\8dX\10
\82ÆQ\8cUhÈ\ eÒn#òÃÖ\81\ 2I[è\14Ì9©\ 5\93úµO=ÊÅ\1dè÷a£#m wC\1d:#nÌJ\8c\ 4\80  TÛX(>u\19S\ f$NúØñ;I\85\ 6zðý\82\ 4T\96²\8b\rï\ 5w\ e\9e=R# m\94\15×\9aoJ®2×\9c¥Å\85\16\vO^Ê\96\ 3-$ú\ÖÒ9¼\8e^KâJìçÄ3§\8f\19VS¬\vRN\8bÐHØ«Såaú'\14Ps[\87Ó¯½å\97\9e°ËÇA·Ù\93\9a\10º\8f\93\89þæ
+­Lÿ­06ëà_C§Å\82Lî¢\81Ì\98à¿Þb½^\17µ¯\vë\96\13¤×M¢+  Wù×`Ë¢  mn×\1cû3\14\8d\1a \ f¦l¿\84\99\15ö/\94ªê£³rÒ­0\eªT\rþØ\ 6 £Á1=­\e\9b\8a\81.\bN-z¤\9f    ÍA\1f¬Öv\1dÝ\16\9cz\8b\1eßï\99È·ol¯+¶HlÊ^\ 6\95¢\81\f¬\ 48·._Ð\83\82ýÆ\16\86x%»è@O® nÊv\11]O\84Cú¿l]\90»\9d\a\80j\ 5´»\87\89E2 ¨{\ 3¯²\ 6®áy\85\91¨¶{Ãûm'F\17]Ãg  01W\82eÕ&\ 38y\a\r]\87åÈôîña6\99ýô\99ÝQ\ 3±   £\83À±Ñ¦ø¯mð¬¶\ eýÇ\9d
+\8bäÂ%ù.z¥+<6à4òV\8a\9e\81\ eâ\ e¹\b*\85Ö±õH«\85ã¼s~ikN\10MªÌʾ%ÙçT\86¨\\8c\82>iÄÜ*\89gLBÌZ9\88ýµçAºÕ\ fr\9epòTj\85¬÷r\82\86 =t¬ï;6Ù\93d\19À\f\16Ö\8d*\eª£\9c\80VÒìçÇO\91Ç\83\88sY6F!Uzæ¦Ç\\93ôr\8c\8b\88ëè'U:ëѵ°·üÒ¶q\87\97\7f\9d<u\10ãÂÚ·q0¡d3\1eÿh´\97\ f\a\91a\805lKo\ e\9bàß\99 ¨\7fË\84!ÇñÐ\13U\8aSØxrá>¨^¡M\13jT\ 3\1e$ª¨\84t\87O$\95òÐ\ 5<Q~ã\1c\ 4\9c÷#I#\160d(Á\9eÂC1\85B\12\ 5\1f\83\9c0>9¹ÆhìÅ2\e\1cÞ\8a3:Å\94Ê÷¦E\9c]¸³\anöéáþõáùþ~\17]í¤\1c¡Àk{\10\8f¨Ýh'¦G);\e\8d5ú>GÂ\99°:>ß\86É\91+kþ\19¢²\17\7fH\974\8eÎö\12²@þÿ»\7f~z\9dÍ\9fÿ{7\8fn°sý\ 5\9eÅÕ\1d±°¦¿<Í\1e\7fÍÙÅ\98\17ÿ/¦\ f®ì6qgüÔPÁË1WÅ\8bZ¾~O\12²^   Ü\ eþåÃ\18\87\87ÚÊ*̤ݬ\17={g<\80¸>\9dpǼq\ 6fLLïû¼\97\12\ 3'¼jk\96'\91\88\ e\97cÇÂ\8e\ 6aäêï\9c\12ýá}\10\9c\94´*\15\1f\8c`\ eÑý\ 2\ 6¼ÐªFwD[é\84\13Þ³\11Ã\10³S°í³\9cãs\18\862\1d\9f\94\f¶z9f}¯aR1þÎT\8f\ 3\82\8f`^¡/1(\86\90¥@{IúG%k\15\8f]k±Imµ+«m\ 2y¬Ä)\91Ñ       Z\89W\rÏe\93Æ\8eÂ\810h\84Á/\rã·ø\14àê@        Ü{°\\81brAÙ\14~ùôz÷ôå·\97cÔ2J\87áï Ï\ 4G³Å\0\e\rùd\f\1c\87        \94Ò\97|\9a\85K·=à 5epÜ\ 2¯\7f\f~*ØÄ\86¡\82O\16&`vÿã/¤ê\83 üµ\13\9a    Ó\91s¿ÞÒqq\8b/0ô\ fÜ Äi\12=\1d\93âvo\80\1a\ 3"cß\11\aê\84Ó&\\16ízxlÜ\92\1f{äf\ej_\9f;\ 2R¦Ô=\86\1f\ fë\ 61Áo­4\8c\1c¢¹\e~\9e¦§ÃÕ0í#;qmü.\1a¦\14
\1ePaÙÂQ¾!\92/\9a1­8·ÓÇKÔ\1chÊ@o·Ø3sÉSv°Ãñpö\1e\vâA\râ£)x ÁE\97ÒðÙ\1eµÃ\87Ûw­x㣤\rö;`\ 1 ø»h¶\16p\0ü\1dº«â\87\11ßô,\ 1\9c\fß\ 5§Ó[<?½<OEýÛ\ fåËëËâúê&Yèô\82\83ßÏ\8fþsô'«c5\18endstream
+endobj
+550 0 obj<</Type/Page/Parent 513 0 R/Contents 551 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+551 0 obj<</Filter/FlateDecode/Length 1709      >>stream
+x\ 1mWasÚ8\10ý\9e_±ß\9a¦à\0%\90Ü7BÒNç\9a¶7¡s_2\93\11¶À:dÉ'É\10î×ß[\19\e\87a:\99&FÖî¾}ïíòïÅ\90\ 6ø7¤é\88>O(-.\ 6É\80FãA2¡ñí\94\7fÇ\8f\93´º¸_\\\7f\19ÓpH\8b\15\9f\9dÜNi\91\11Î\ f\ 6´H/+/I\9aL     C^¬$\15"uÖÓ.\97\86*S\8at£Ì\9a\9e\9fî=½\z)i¹\ fÒºLº$'a2R&Hg\84öIfÓ\97\8f\88*¼5\7f\90±áãâ\9f\8b\ 1õ\87\9f\93\11b^Ê­t{k$!¦§oxOó\89þp\92ÜPsh8L\88\9fÆ\87ýÑ$\19ó«?l\90ôÛ¨Ôf\92TQj\95\8a ¬ñdW\94æÂy\19(G:\9a³­\13=I,¡gd_VZ¿^ÅÄËÊçõ¯'y¦Ö Óðê\83ãÛV\95Ic¬¤­\8dsGÍüThõ_üåL)£s¥<Xó!\90ð¾*$=\9aµV>'kô¾½\9dó\14\95Ç+Ѫì\12\10u i\0[¸=\ 5KbkU\ 6d9ce®m\15¨\14N\14\12\99rëÚ*(ä" V¨\9c¡L\ 4\81\14) æ\9dS\ 1­Q¦|÷úËÇ\98\95M\93ç M*\98C>\88¥Ò*ì©tv©eá\8fÙ7©\ eÇÝ\ 2\9aÞ>\1a_\81ª©-÷N­óÀÌQ)Ò\10ñ©s2\r=ÊjØÊ\12\85SÙZ~ðdP W\1fy\11\vË%e*c\88c1       }[ÑÞV\9cL'\7f\1cá0õ\19 Âá3Ù\ 3û7(\85Ó\89\97©\80êP¡\95oÊã´
+y<ì$þ\ 2óøÅgQ,\ 5}ýõ]fñ\92äLÝ7çê\9e\83¾
+:BÓÄZòu\ f³ÅìõþûOhme\1diiÖ\bèK\99ª\95Âõ,½>·ìÈÄ\16öcÔ\9a+\93nȦ\ 1\v.Od[aÂ!dÈ\96u0¾v)ÐH­p¦aKËIhÂ\ 3\ 2iÒýi¤é¹H\a\96§è£¯a\9a=½Îæó\9f¿\7f\15W¥à\1f·\8a»«÷=>³'\9fÛJ£N$\19ßDÍ[%¨Ì\96¯k\19\92$y¹\84Ã@æ'íä\ 3p\80æ@\93½?\83S\ fM:SJ\83Ðð¶[MCѺ\9a4\97é\86\90\ eÄ»\83\ 5¶Ù\93X\ve@   æ\ 3\7f\9a-{$ôNì={]|\1c_~m^\8duD\83Z\89TFÊtØÙ¨K[\88\19ú-¨ÔÕz}\10Ø\11ÿ6é»sI\1f\8c\81\13\10¾\84\95\85\159\81\14\1d\12\ 2«ËÚß 3(jÕü\ 1ãG_Jë½\82\8a\8f±"«F\83n &üoD0Ö\15\1cè\16\854ÁÓ5]ÁH@\19\911·ç\9f>u>»®i\16r\85\1eÍt@ß×µ´:çX\ 4\858\9d"ʳ±µò\9bßݱ÷\98L¸¬GÞÂ\ f¬fUma\14\10Q̨T\9a]0³QôÌ­2\90
+g¤::;~\ ePFGÁ-)¬\e
+bû\8fB\9dýúÖ*¦\86³e¸'ùVj°\83}9Òâ\11\8dwÔ¦Ã\8fÁ\95\13NÃ{\8er@\13Q\1d7J\18È\84\1d\ 1h\83É\99:\8cA\a©úJ\aàù$Ü\86c¡-ѱ\ 4R®ÐÌ>prM\13\184 x\1d;ÜáÞÕ\15@d\82D6ï£ÿA\8f¥J7PcUÂ\84èÁ¾í×Ò !\9e\158\8c\9e¬\0q\aÏF9£w3ðó\1d\16\14L²?¥,#\1a\1e®\ fò\bçì.¡\ 5_TH\81±\ e#~7{¯·Â)\81"<'\8eù\107\14Þ(Z®&ô7\f\85ÇÄ        \92\1dÙÊÅiá±Ò0¿µ®\82Ì\12z\14\98}\85Í*\rã¯í'\17[H\86
+4\8d9mªb\890à°|«W\1dÌê­:ê£\83^ë<\ 4êµ)\9fÃåÝ,opa%5W Çh\10°OK\e\ 6lcìNK\f\ eê\ 1\r *\8d¦\96JòÄD\8eõ\86ä­\16(\8f»Ã\v\17\18\b\97\ 1>'ÈÔC5âöæÞ]Ç·5É`ËÁdG" \ 2¼$j\1a\19Ä]Ñ\93¶Ð;NÇ0\9eú5}x\96ÆÙr\12tåÄ\1adéÅ}\8dï, \8f\80\9f\98;\ 6vm\1a\18ùÒ«µ\ 1ãQ\ 6\80\8c\12`Gðb.@\ 1üf\97*-n'a\11\88\17GÉÒmfjú¾À\ 3\ 3\ f\ eSC\8b^ã5ë`1!\8a\9d\r\8e\85\18s\ 2\14¼_u\1aÜ´rôn×¹\19%·L|0Ül )'WXD÷\87FîXmÐûNiÍ\b×#\18\fb;ãþIÍ%cÉ˲ø\1f· a¹aQgè/V\1d\15ÉßïPr×\8cTlÉðù3·¶WÁ3°\12\ 2't\16Û\11O
+øR§¸ÆñG\87\85¦?¼ÃêÞoj^ÀÈ<\ 6\15¶£¸\9bÇ%6®q\9e¡\a\81P(Lúx¤GKÐ\b\91\0gíöì©\85ØS.uÉôu2«ÒÆ<\1dh¯Ì)\8b\9dÄ4Þ°ôáý\86\8cÜ\1dðà|СTÊ\8coÀ¦\r\98£#cé\80:\80(¾;\18\bêp1w\ 4K%.ðUÉMo>\88®~B¨Ã7%ÞRÑ\17x       \7f~ýåöð]k8½M&\18\9bimzϳ§û\19=À³4L\ fãèk\85õ\8f_ê7gûÓÁ\1dÓd\9e\8b\12¼"phncîÏGÌø\8dñt\9cL'·ø\ eÈß\vÆüèqqñ×Åÿ\19Y\8a\1cendstream
+endobj
+552 0 obj<</Type/Page/Parent 513 0 R/Contents 553 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+553 0 obj<</Filter/FlateDecode/Length 1910      >>stream
+x\ 1}XÛNÜH\10}ç+J<\91\88\8d\99ìÛ\86\ 4-R6h\97áa%$Ô¶Ûã^ìnÇm3Ìßï©jÛc\86l\14¢`»»«ê\9cS\97Î\8f\93)]âÏ\94V3\9a_QR\9e\F\97´\9c\7f\8a\16´X¯ðû\f\7fkMÙÉçÍÉÅÍ'\9a]Ò&Ã\96«Õ\9a6)aù%Þ$g×¹ª\1a]Ó2¢{UÆ\8an-\1e­*ü\87Í¿²sº
+;'óE4ÃÞ³e4\8d\bûj\95ðÎ?\94M\vc·aý\82¦Ónýl\15]ñúMn<y\9d4ÆYJµOj\13kOÉp\82×\råÝ)dlpä\9c\94'SV\85.5\J\87\ f4GhXM*v/\9a­^Òdv\85ÈaëÖR\93\94oºxr\95Ò\8b®÷¤ÒIî\92ÿ1\8bè\13Õ \1c\18jòÚµÛܵ\8d\9c\95¸TÓ\ e_ȶ¥Æ'¸®\8a\80\ f,Oç\ 1\95]n\92\9c\12ga\8cÝ­TÝ\98¤-TM¾©\81\8f§Æ]dµ+éËÝ=\16¦ºR[í#ڰõ\8b\11)\ 1©&Wb\18\ 6w\80À:ü³'\97\vÆ\99\ 5Ý\9bVcc\fëG>\a\ e¾v\86ÈÕÔZó:¼`ÃXVpÄ\8e\14Y³Í\9bRÁ,lIÐÁ\93Ú\84\15\89«à\91iò#ë£@\13åA,¯aðzJ\ 3\8c[mu­
+`çu\14´ò\89ÆÚ\12þ\96Ñ,\0\8e²Ö\8ah:)þTZ`\ 5+ýÞ7@oçêgDd\9e5P4þ76\83ô\18Ô\ 1Ú\84ÿ\8f\ 3%Æz\ 3z\83ô9öSÆè´ÿ.¾xMü¥l\8bÆLâ}£û¯\81\ 6¬Yv\8c=Ä|\ 4Pª3c\81\97Eb¡_zJ®\92¼À   ¾\8c#è'\13t&H£\9e\e\1f\897C$°ÆfE\1e\1e¢(\90êæ\15FÞfUÖ\93ÞIð\9cb\10£ìþh\9d0\8dÓZ\8f#R\a\12­fÖó>¿zW2W\14nÇ*\84b+(Ýè÷0\97-²Ïº\ 6\8dBdß\1f¾}ó¤_\13]5Ä>!ÑJc\15\91\97Ñ|½@yB
+«.ÚðjÈ/94Ö´\9aÄ\86O.+lGÎ\88Üèºçä\9c¼ëxaó¾Q¶é¾q\ 6\1cà\81[×Ø\vEÄÇA2Ç\13¸\19È\86>,2\19ÒE\9a0ËúGk^T\81·ýÁ\ 3ýÎk;²\ 1-¼#3~Oæ.Ç®½k©­\0)'\b»
+\9c»\a5Øi:r\80\81\81Æ*»E\11\ 6\81A\82®6[ [t[Þ¡\9bü\1a\88"ÎÄÕ5*v±§Ü\15(µ]âHÅïJ\14\1c\ 6\9e\85a\1c\ 4\9b;Bñ2\92\ 1¬`!4\r&'³å¡ZÞ @ýª¸¼\9fÓÃæf²f1s\9e î£¶\97\ e\12\1ae\9cò\ 6\ 1\1eØ\ 3²^²2laU?\ßÏàw\vwY{\81ÕɨB\8b¸\8f3\82»\fHEBtZµ-jû\81µé:â\86y\86²Ôçàt.mp`-¤\8a£\8aSk ÊJQ\8dÛ,\vôt AÁÐHCh\85¬¥\9d©\111À`úå Ñ      ¤\84¾Q\bo\0àL*¥W0æ\éßæ\ 4\9f\1føÁ·7Í\16_\82àz×\ 1\r\10ú\13\9ca«#£Uëó§¡\18wýJ\96\ e\ 5\1e\82\97.§$8\14\1c\ 4<\1eÏ\ e¤>~\b\r)Ô&\81|du\ 3ïßZöò|°"\r\9a;\17\83ØÙ\19\88Ã($ÃÇüÀÛr\16¨d\\9a\9d£\92KS\88\99%wll`\ 4D¶6Õ5×\12¤\ 2lɦඨU¶vap;÷RQÆÚ; Õ(t'E1gyå\0K/\ f\8f¦  íÊ;Î"v\13&kh\ 5½\1f\ f÷\7f~F£O\9e1-õ3 6n÷ÂÌ\11w\a»\92¢I®\93g9,+\14&\92Ìh\98\94ò\ 5\ 1õ\87\ 3Ó¶q\90\16W=\94\80T\87z\8d\86\13\16b\væ\85g4
+%-zÄ\9ebje\88\bkCV#\8a\15IîP+ 9\84w(_\80\18\8fý\1eNRnà}x\fV\1aR\ 6À°ë\11ýãÚ£XK\8cI\98[\1dçE\12&\0¸\9e\18ÏsgË]2À¸ùûéáûíõÝ\97¯\9cx÷xüýþúöVÎÅ8v\83\97ì\fPAGN/\98á#K\85\89ñé\82\8f\83\1aX\11»Zqí\1e²\ 4\19W\18(âIôáë\17ù]hcLÅ\11QÑűìxzâÏG&q<\1anm\14Æ\8fÌ@\8b0»Å<jC\87\ 1ôý\b\f`@K\aÅ[cÊ'ÆÀ"Ò¼Mü\8cÃ\17óý{ä¹¼?¨\ 6\84s\1e<[Tvñþ]I\1a\8d\7f]F\8079\90\8fï\18\15ivP    E\187Û2\ 6`ж\13       þ¾h\8bn\ 2êFöí\11\ e\12û\12\9d·ñý\1cÌ\83\87Ð2\8ad        9ôàyÌ\v-æöw\ 2\16\90$\8c§*Äõxöø\81\9d\91Él\81A\95ÛÂâP^¦Ëu¸\83l\90«±Ùb¶çD\15Ù9ÜÅJ-\ 1\ 3\1d\ 1R2\9f\eõã\19\8f\9c(\86Á\8c\fîa\1ee\16\19ø¾5\1dJ§ø1J·¡¼Ëu\82óR+ë\85ºDYn\87Ê{¨¥\ 3­o\ 6¡\85ª\ 2\17\f\8fˤ̶<PDt\975h\11\92\83\11\v\12\ 1\vCªJ®^º¡A.?C \9cÕ,3.\9b1
+\17©-\97\ü¸\1aõ\94³>u\98×à×ã\99×\1a#á¶Ø3\12rï;¶©üsÈÎnpð,\9e\9c\85\84\82¡Çê\91\9b\0`Mòú©dþ"ºíµ\f\90ð#7C\8fQ+\14¨ÝqÚI|\1aÂlZ)\85¾â¹\18\ 3h[É(\8di+çYw\87\e"îihì]ÝB×\ 3o2DÉ8\92áF:4§¾\13áÒÍAò`\7f\8aKCQ\1d\9a-Ï÷;h§ik\940¾½u"    ]¸T[\93Ð)î\93§R½¸DBíªä\82-ñm\9d\r·­a\1a»
+6/nÖÝM]æ2\14\ fÑóõ/ÿ;`±ZD««u\18ë¦Köýëæä¯\93ÿ\0Úxr\9cendstream
+endobj
+554 0 obj<</Type/Page/Parent 513 0 R/Contents 555 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+555 0 obj<</Filter/FlateDecode/Length 662       >>stream
 x\ 1µUMsÚ0\10½ó+vr)\99\89\15Ë6þ8\92¦i;ÓL?p{â"ì5V\v2\95d\12þ}W\81РqHHé0ÆöH»ûÞÛ'ïï\1e\a\9f~\1c\92\0Â\18\8ayÏg>ÄIÌ\ 2\88Ò\84\9e\ 3º4Bµ^ð9½v,\f¢\80Å]\vQ\1a\8a\82\ 1K»"ÂÁ\13\11AöDD\10&,êJÅ\93¬\e.\ fün¸qð\18íEÞ;¿\8a\80sÈ+'R\9c&\90\97@Bù>äE_Ìf°¬\fT­*¬l\94\ 1+~!´JÞ\82±Zª©apÙ¨7\16\8aF-Q[¸©QÁB\18C\8b`\e°5ÎOó\9f=\8f\8aPβ\9f0pïçW\19pªV\81\17\fÀ\v#âI«\ 3\16\16\85n\fH\ 5\93\95ÅF\97¨Y½\ eº\aëSXBD)$¯¥\ 1\83w\0¡DSh9ABZ#Ì×\89J¬¤Âr'!\83¼F³Ý$È
-­¡]xkQ\19¹ÄÙÊE¸<#1\9f\b\a\80Êò\90t¤²ES"Û2!ð\15ñóBþ\97\agðöÇðÓ¸?i«³EcƧ\1d\1c\*\8d¶ÕN\*å\18\83°ÐT\95A\v\14\ 67ÒÖN\8b¶ªP»\e\b\ 3BQ\e\8c\9c:^E-´(,©´\17OÀàËÁx\96bÖ"¡Ù¥\ 2\850ö®Á«\85\ 6\8aT\16§Ï\ 1¡\16\8f\1e(sFU\9eT\87d8@\1a²Ü\1a2ýï\97#"\14¯\97ÃõjËÚÔ\rY\7fÜç1L¤\1d\9fÂLZ;C\ fU)©Q\eQ\9ek+\83ávï\8eÙH\7fò\0ÉàÄvvoæhå\9c\91LA\1e Þä\8a\93ï£\ f\9f¿å'û\99\ f\18|<\12ó0p\8c_Éw¯[ãu{F\87\1d\9f­]]\7f6\9e<Rwö¢¥¯\9a\93ô\bhÿ\9f¢))úÀñ/;vGv¹sê\vOhF\80\1f\18õ@Àÿ"åfv=\82\9an¦%OR\16g\19Ä46é\13>\1a^_\fá\12ij4\vÔ\ 6Þ·²Dg\19ï~§\97ø\99Ûº\7fÄEIÄ\928]ÏJ\9e¸\fïòÞ×Þ\1fÑ8\92ìendstream
-endobj
-598 0 obj<</Type/Page/Parent 553 0 R/Contents 599 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-599 0 obj<</Filter/FlateDecode/Length 968       >>stream
-x\ 1µVÛr\9bH\10}×WtåIv\19\ 2\ 2\83ä}\92\93Í®«âÄkió¤ªÔ\0\834»0h\87!\8eÿ>g\ 6°îÎuå\92\f\fÓ}út÷éùoà\93\87?\9fâ\11\ 5\11¥åÀs=\8aÂÈ\1dQ8\8eq=ÂWqÊíÂ%\1e\8d\8f.\8c&nxl!\8c}\188b*\98\9cØ\11\84'vø\13ÿÐÇõ|ðòÍ\84ü\90æ9\ 2\89ƸÈ\bAx\1eÍÓá¥\e¸¾çÒlöaúv¶\18&M~±®ê\8bO¬X\9c\9dÍÿÁæ\90|¿Ýì\8cbl\1eÖ\פW\9cêU¥4-\86~D\89Ð\8b3ªÅRò\8c
-¡uÁ\1d.3Á$       ©ù\92+b\9aª<Çf\82\ 3z\10z%$Á_\8e5ü#]Y£ðÜp¯ۺß`w\ 2\13\1f\0XÐ>@ßü\bè\16c02\98¿\ 3êò'°\8e\º7\ 4?ñ{\92[Åu£dKoËD\ 5fÀu#;r\ fHOÄò;©þ
\ 1Ð\1af\7f\ 5Ú\8eæ_\8e14\8cîPúm%û¿qjÊw·t=rü\02\81\82U\1cE\8eÆÀ;¬¦\17\7fÏþ|\7f?\7fñ\954\\9a\10wòð3!þp"\ e\ 3³z\ 2%0zâ\ 4\93HÉÛé;ºe\92\99v\9f±2a4½»9¢"ndX\99¯DM5Oµ¨$e¼N\95Hx[úy#íã\9a$oy+Ù¿\9cØ\8e\87û»W\94²¢pÉZ\122¯Tɬµ\15Ë(á\\1aß[y¨\12Í\84Q¨ä\91øgV
-)äÒ¶W\8b6­28\91H\14:n;\18\b\85²*mJ.µõâÒ\8d6\1aØ\14\19ÉJÃá\9e»´BÓf6óØ#\14/\1e1*
\92\82wÉ÷hÒkkG¤\89è#[\8bÅ\10ÂIk\95J}a4\94²Íe¹õ¸ì\9e÷¾=\f \90KÝ']1Eçk¦XyAíMÆ4ë¯ÏÕÎÒ¹2\8b\8b³ß\ e\93¶IY\9f\1cBú2\9e[B!åi!\10¥\9bZZ\9a\1a\99\84øÏn¯I+&kÖ¦\19\1d`\ 2D&\15/+\r¶×â¹>\b]èü\9dAÏ5Wõ!,;\91æH\97\8dþD\fó\18}\96WEQ=ÔWf\13f·3\8aÚRµä]Ù\1c˦LP«ÐØäQ\ 31.¶ì$|\89¸j\13\95±á`\ ebhfC@2÷¸}êp\9b\84\936\r©(\8fãÖ0\1cö­µùmÍ\95ì³(\9b\92\9e\87ú°\12éª/Æ\84\83]3Gx¶\83\eÂ~ài\vø3\9el\0ßä\ 3*°ïÃ2z\85\94¯+s\16Pý¤ßb\1ae\ 1Ð\87LC\ 3÷­\19(G\8cY\84§ÌD\87fÚºß3´\81ØÆú Pª\16\986 -þ\1e}Ïp[0¦8\8d\ eq[Þ¶¤\fð-íÙô5\ eJeS£¡9:¡J\19º\0\9aJt\84z|*µ~xÄ-ø\97oÆÝAÌ¿\fÜh2¡(îz}6½½\9eÒkþ\89\17Õ\1a\8f\ 6²cü;~<¶ï:±\a¡é\8e\9d÷Â8tãhÜ\15úØ\18ù}>økð\ 5I\9aMPendstream
-endobj
-600 0 obj<</Type/Page/Parent 553 0 R/Contents 601 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-601 0 obj<</Filter/FlateDecode/Length 1562      >>stream
+­¡]xkQ\19¹ÄÙÊE¸<#1\9f\b\a\80Êò\90t¤²ES"Û2!ð\15ñóBþ\97\agðöÇðÓ¸?i«³EcƧ\1d\1c\*\8d¶ÕN\*å\18\83°ÐT\95A\v\14\ 67ÒÖN\8b¶ªP»\e\b\ 3BQ\e\8c\9c:^E-´(,©´\17OÀàËÁx\96bÖ"¡Ù¥\ 2\850ö®Á«\85\ 6\8aT\16§Ï\ 1¡\16\8f\1e(sFU\9eT\87d8@\1a²Ü\1a2ýï\97#"\14¯\97ÃõjËÚÔ\rY\7fÜç1L¤\1d\9fÂLZ;C\ fU)©Q\eQ\9ek+\83ávï\8eÙH\7fò\0ÉàÄvvoæhå\9c\91LA\1e Þä\8a\93ï£\ f\9f¿å'û\99\ f\18|<\12ó0p\8c_Éw¯[ãu{F\87\1d\9f­]]\7f6\9e<Rwö¢¥¯\9a\93ô\bhÿ\9f¢))úÀñ/;vGv¹sê\vOhF\80\1f\18õ@Àÿ"åfv=\82\9an¦%OR\16g\19Ä46é\13>\1a^_\fá\12ij4\vÔ\ 6Þ·²Dg\19ï~§\97ø\99Ûº\7fÄEIÄ\928]ÏJ\1e»\fïòÞ×Þ\1fÑ.\92ëendstream
+endobj
+556 0 obj<</Type/Page/Parent 513 0 R/Contents 557 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+557 0 obj<</Filter/FlateDecode/Length 968       >>stream
+x\ 1µVÛrÛ6\10}×WìäIöX\f)Ò¤ä>ÉmÓz&N]KÍ\93f2    JhI@\ 5Á8þû\1e\80¤uµs­<\92I\82Ø={v÷,þ\1d\ 4äã/ dLaLY5ð=\9fâ(öÆ\14M\12\\8fñÕ\9c
+·p\89G\93\93\vã©\17\9dZ\88\92\0\ 6N\98
+§Ïì\b£gv\ 4ÓàØÇõbðúÍ\94\82\88\16\ 5\ 2\89'¸È    Aø>-²á¥\17z\81ïÑ|þ~öv¾\1c¦Mq±QõÅGV.ÏÎ\16\7fcsDAÐn\1e\8d\13l\1eÖÜÔdÖ\9cêµÒ\86\96à¦T\98å\19Õb%yN¥0¦ä#.sÁ$    iø\8akb\86TQ`3Á\ 1=\b³\16\92à¯À\1aþ\91QÎ(<7\9cðëµî·ØG¡\8d\ f\0\1cè\0 o¾\ 5t\8b1\1c[Ì_\ 1\1d\1eÝ[\82\9fø}\96[ÍM£eKoË\84\ 23àº\91\1d¹G¤§bõ\95T\7f\86Ù\10h-³?\ 2mGó\ fÇ\18YF÷(ý²\92ýß8µå»_º>\8d\82\102\81\82Õ\1cE\8eÆÀ;¬¦W\7fÍ\7fÿã~ñê3i¸´!îåá{BüæD\1c\aæô\ 4J`õd\14F}O"%ogïè\96IfÛ}Ϊ\94Ñìîæ\84\8ax±ee±\165Õ<3BIÊy\9di\91ò¶ô\8bFºÇ5IÞòV±\7f8±=\ f÷w?SÆÊÒ#gIÈBé\8a9kk\96Sʹ´¾wò RÃ\84U¨ô\91ø'V )äʵW\8b6S9\9cH$
+\1d·\e\8c\15y\84B¹Ê\9a\8aKã¼xtc¬\ 66eNR\198<p\97)4mî2\8f=Bóò\11£¢\14,-y\97|\9f¦½¶vDÚ\88\8dX\ e!\9c´Ñ\994\17VC)ß^V;\8f«îyïÛÇ\0\ 2¹Ô}²5Ót¾a\9aU\17ÔÞäÌ°þú\ï-\9dk»¸<ûé8iÛ\94õÉ!¤/ç\85#\14R\9e\95\ 2Qz\99£¥©\91I\88ÿüö\9a\8cf²fm\9aÑ\ 16@dRóJ\19°½\11/õAäAçï,zn¸®\8f\89´@º\\1cî%b\98Çè³B\95¥z¨¯ì&ÌîÑ8nKÕ\91wår,\9b*E­BcÓG\ 3ĸر\93ò\15âªmTÖÆ\bs\10C3\1f\ 2\92½ÇíS\87»$<kÓ\92\8aò8m\rÃáÐZ\9bßÖ\Å>\89ª©èe¨\ fk\91­ûbL9صs\84ç{¸!ìG\9ev\80¿àÉ\ 5ðE> \ 2\87>\1c£WHùFÙ³\80î'ý\ eÓ(\v\80>f\1a\1axhÍB9aÌ!|ÎL|l¦­û\ 3C[\88\ f\ 2¥ê\80\19\vÚáïÑ÷\f·\ 5c\8bÓê\10wåíJÊQ¿#>ÛÆÆI©jjt4G+¨\8c¡\rp\18ª©BKèǧZë§GÒ¢\7fýfÒ\9dÄ\82ËÐ\8b§S\8a\93®Ùç³Ûë\19ýÂ?òRm\80\84~k ;\ e@\90LÜ»£Ä\87Òtg§\97\ e|Q\12yI<é*=±F~]\fþ\1cü\a\83ìM|endstream
+endobj
+558 0 obj<</Type/Page/Parent 513 0 R/Contents 559 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+559 0 obj<</Filter/FlateDecode/Length 1562      >>stream
 x\ 1\95W]oÛF\10|÷¯Xø¥6`1\92,KrÞ\94¶)\f$AZ\v-Z\180\8eäѺ\84¼Sy¤Uå×wö>(\8aV\8c\16\81\ 3\8fÝÙ\99Ùåßg\13\1aãß\84\16\9eSV\9d\8d\931Í&ÓdJ³å\ 2ÏSüÕ\92
 ÷ÃÍøå÷ïÖgoÞÏh2¡uÁgÌ\97\v\84sÆcZg\17u.\1añ\96\ 4m\8dÒ\8d¬©1½\ f»\8dÊ6´SeI©$+\eþÙ­ä\87f#qyÓÖZæÄç$´ÆW\99(K\1cd
 ÷ô(¶êáâáòrýålL£É5b\ç\17Uk\eÊ%\96\9aL4\12g)K\95¬L½Oxé\b\11ǵË\84ÜWÓ\e\1a]ß&sÞ\8f\8b¬$\81Ü9\8a­¨E%\11¾%\1fòÞ´dÚ§\8d\vØJ\9d_\91Òn©©s\1f\1cö©\9aÄv+±Yg2.è΢\14±}}ËW\ 3¸Ñt\9eÌøæ\95¦V[õÄIOæ\94ª\ 6;\eù\84SW\9fïH·U*ë\84þD\ 4vcÚ2÷¸q~Ï¢l%àl6t\7fÿûê\ 3ã\92Ð\1då\86´iè«6»\ 1\8dô)"Y\7f²uIçÒfµJeþ\ 2¬\89\a\vðõ#^Ýÿxw÷\17Ù¦Vú  ¸»Ýü8@/T\95\13)Z\9d5Êh\12\16\e
-Åù\ 6\f?¬>ÑG¡\ 5r\1eÄ\9b\9b¬­¤n\ 4ïôt(T\8dRw¨^\85
-\ 1\ e¾ÛÊú\19Èi\94\ f%²dªJ5H\vL§\10/\9eRaq\7f»Ý\1a\92Oy\19o\80'F\    Ý\8aòÊÁÌ\e\98­\87@DÖà×r\8f(-®é0\8d%\9f\1e0\8dü\ 3\v^ÅÔ]\80ð[\1c\8d
-zVv\8c\84\98¢pºË ÇüâúpSdÿJs\\ 3~{ÚÆìºR±ô®^/\18c5@ð¨hØ^8\1f\0Jç÷®:ç$4cï¼\ 1OJge\9b\9c·\1fä³,Ï{Av9Å\1cf\87´"¦¯ÈÈ\83õ¤\9e\88úæÔ\99î\e|\ 3
-¦mQ\808;Ö\13ì©\85@@ÞZf\12ûx\ 5'9ê9N\ 4\1cú©Å\9e\8f\91Mès-m[\89\14Lp~\14ô\8b\8d\16\1cel«¼Ît\13\18ê%Ý-\1c Ë\8e9\90»\v\vê\8c\1c ù/ܲmÚ±*\9a]wû\81TtW\80ët¼\1a¤)÷W.µa\9cÞ\17X\7f\ 5}\93µ¡Rê§fó¢\90s\1fíh`Å\94\99Ü\95(+\15Ô\9fd$Ê\9dØ[×\ 1üÿ±\ fx<\10\9bo\18wpO\vCÍJØ0d"á7\88\\8fzQøBù\82\ f\ 2ß9\83u½   ×ò\8foÞßÒ\ 4F] q\8e®'Þ³o\92Y\ 2\11ÿæ\9a\95·a¿6vF¬\9drcä¾Ò¡Øc4=\ø\ 6\993ËÒ=ÕN\92\ f\97±¯ \95t\9d¥×SРþO\ 3ñÌÏ\f\fTiOþ¾µý`Cl\ eïÓ\fÄ
-\91sr}î{\ eÆ\8eã~íõ×Ó-Cä_УÙÌ\83{5²,}L¢2-¾\ 6\f>à0;ØèG\9dÔ¼Â|\17D\91ü\91ÑÝ\87A\ e¤ä\12  ê\89\91Ó;a\15\9b\9c£1\1f\98\9d'ØFÔM4\88ã N²'\bg#¼cô
-\1f\86!\1f\12nAïAÝÑêÙ  a\ 6\9aÂ&\907ÄݦM\8dF\82\95Em*^\8bné8Á\89ö\8c\b\a\99\94\vì\%kk\98\16G]°[`\9481X\ 5·ëä\18\9d¢×\98n¦ÉÒ\8d\ 6\17'ؤ\1f\1aø\93,%\17³+Rg\83=?\89\98a(qº\14¥åyÏZ\95\96l\82\ 2ó\94\eÔÄ~\90\945\98¿T\ 5\7f\ eny¸ØÛvwô\90}¡å\1d\1f\8c0×¹s\r¿Ý^\ 5áù!\14l\1c\80uh\94ýáC¹\96\81\ e\81\93³Í\97M\10\11\ e\aY8\aò[Ý\80ÁñÀQ3)A\87#ñA\bXÏÂó|=÷Ã\9d÷\88«ñÃ幫\1c\9bL\18"Ùf¬\84Ðó\83ÉP\85\14ÏA\9f9>eʧIJÄÁ3\90Æ«Pé\1cÚà\16¹ó\85B\93ÄÔ4Hl \99X\96¾ÇÒ\ e·;+\ 6\89ù9m\15àÂ(Èàù\89Í\85rh<h¿N!\99ñl\ e\8e0¸;\95\85Á0\84ŧð8\19Ê\91\17v\94=^z pB\9f\8c{\99\0Q¹Z\9d1¹×\r`\e\1dèû\81¹W\98n *Ô?\8fÙFÔ\8fÛ¦æi\9d5Ýõ¸Lh®\97Ë\1d\89yilÛ\1a\829\99 ¤S÷ëýpá\v÷jÝg¨;îÝ \fNc\e7w¡}\1aϵPõ0\8d\rò
-F\1dg\9d\ e6\ 4\e\93\ e\86\1e×\856äÓë6A
-Ró\b\eg/»\15üÚd\87\97â\9dn\17¦è7ï\97áÝs²X&óÛ[\9aÏ\9cMݯ>¾[ÑO<9\9a-¿·ýÒªÜÏlqåh1¾eGûNó\9e-fÉb¾D\9bÇ\9aÉ-\añóúì׳\7f\ 1Uhækendstream
-endobj
-602 0 obj<</Type/Page/Parent 553 0 R/Contents 603 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-603 0 obj<</Filter/FlateDecode/Length 550       >>stream
+Åù\ 6\f?¬>ÑG¡\ 5rv\85éÕ57Y[IÝ\bÞêùP¨\1aµî`½
+%\ 2\1e\95õ3 Ó¨\1fjdÉT\95j\90\17¨\84O!`<¥Â"\80v»5z\80\11\9fò2à\80O\f¹\12º\15å\95Ã\9970]\ f\81\88¬Á¯å\1eQZ\Ó\81\1ak>=\80\1a      \b\1a¼
+ª»\0á·8\1a%ô´ì(   5Eåt\97A\8fùÅõá¦Hÿ\95æ¸\ 6\ 4÷¼\8dÙuµbí]½^1Æj\80àQÑ°½pF\0\94Îï]uÎIhÆÞ\99\ 3\9e\94ÎÊ6\8fô9o?ÈgY\9e÷\82ìr\8a\ eiEL_Ñ\91\aëI=ËÀ\11õÍÉ3Ý7ø\ 6ÆÂ\15LÛ¢\0qv,(øS\v\85\80½µÌ$öñ\8aA\92\11oè§\16{>å¸D6¡Ïµ´m%R\10ÁùQÐ/\8aÅ\17ZP\94¡­ò:ÓM ¨\97t·pp';æ@î¼\82Í-Âps@æ¿P˶iGªhvÝí\aNÑ]\ 1ªÓñjp¦Ü_¹Ô\86qz_`ù\15ôMÖ\86\9f\9aÍ\8b:Î}´£\81\15SfrW¡¬T\10\7f\92\91(wbo]\aðÿÇ>àñ@l¾aÜÁ=-\f5+aÃP\89\84ß r=êEá\våë=\b\fÖõ&\Ë?¾y\7fK\13\18u\81Æ9º\9exϾIf      4ü\9bkVÞ\86ýÚØ\19±vÊ\8d\91ûJ\87b\8fÐôpá\edÎ$K÷T;E>\ƾ\82VÒu\96^OA\83ú?\rÄ\13?3ðO¥=÷ûÎö\83\r±9¼O3\10+DÎÉ\8dz®ì9\18;\8eûµ×_O·\f\91\7fA\8ff/\ fæÕȲô1\89Ê´ø\1a\80Ãì`£\1duRó
+ó]\10EòGFsç0z1\ e\94äò\bâ\89\81Ó;a\15[\9cc1\9f\97\9d#ØFÔM´\87ã\18N\92'èf#¼_ôê\1ef!\1f\12nAçAÙÑéÙ\aá\ 5\9aÂ&p7ÄݦM\8d6\82\95Em*^\8bfé(1È\13\a\99\94ëëL%kkX\16G]°Y`\9281W\ 5¯ëÔ\18\8d¢×\96n¦ÉÒM' \ 6×&\98¤\9f\19ø\93,%ײ«Qç\82=;\89\98a&q²\14¥åqÏZ\95\96ì\81\ 2ã\94\9bÓÄ~\90\945\18¿T\ 5w\ efy¸Ø\9bvwô\90|¡á\1d\1f\8c0×¹3\r¿Ý^\ 5Ýù\19\14d\1c\80uh\93ýÑC¹\86\81þ\80\91³Ë\97\102åþ1È\aY8\ 3ò[ÝxÁñÀP3)A\87#íA\aXϺó|=÷³\9d·\88«ñÃ幫\1c{L\98!Ùe¬\84Îó\83ÇP\85®\14ÏA\9b9>eʧIJĹ3\90Æ\8b\1cÚà\ 6¹ó\85B\8bÄÌ4Hl \99X\96¾ÅÒ\ e·;'\ 6\89ù9m\15àÂ$ÈàùyÍ\85rè;h¾N!\99ñl\ e\860¸;\95\85Á(\84ŧð8\19Ê\91\15v\94=^z pB\9f\8c{\97\0Q¹Z\9d/¹·\r`\e\rèû\81¹7\98n\9c*Ô?\8fÙFÔ\8fÛ¦æa\9d5ݵ¸Lh®\97Ë\1d\89yilÛ\1a\829\99 ¤S÷ëýpá\v÷jÝg¨;îÝ \fNc\e7u¡{\1aϵPõ0\8b\rò
+>\1dG\9d\ e6\ 4\e\83\ e`ñ~\1e×\85.äÓë6A
+Ró\0\e'/»\15üÖd\87\97â\95n\17fè7ï\97áÕs²X&óÛ[\9aÏ\9cMݯ>¾[ÑO<7\9a-¿¶ýÒªÜqu\14W\8e\16ã[v´ïôîÙb\96,æKty¬\99,9\88\9f×g¿\9eý\v\0ãæ=endstream
+endobj
+560 0 obj<</Type/Page/Parent 513 0 R/Contents 561 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+561 0 obj<</Filter/FlateDecode/Length 550       >>stream
 x\ 1\95TMoÛ0\f½ûWð\98\1e¬Ú\8eã\8f]\82$]\87\ 2Y\81¡\1evéE¶éX\83#e\92ܬýõ£\9c ­klXaÄ\90\12ò½Gò1¿¼\10\ 2zBH#\98'Pí½\80\ 5\10g1\8bè\9dÒ9¢\8fFh¼uá]ßæ\10¦P4\94\92d!\145Px\10@QÍ\16lÁ`£j\84ªå\9aW\165X^vxUü¤Ä\18B\8aw\89~\94²\84Rg\eÔ\96\v      5·\1c\8cÕ}e{\8d\ 68ÑÕh*-J¬¡|\86=ri@5°zØÜݽ¸X!w\ 6*%\1d\0\9déø\96Ø0(Z48@Ùv\90@Äá\9cª"âwÁ\9f\9cB*Þ\8f\12\16»ß\7f\0\aû|@â¶\b\9d°¶C\1fe-¸\84^\1a±\93¤KH\8b;Ô.קҨ\aõ,dàît½pÝ\13V¥zi\9d\97oê<¶¢j¡Q]§\8e#\98h
-sC0\8dêõ\87%ͧXkÂ\1a*{\9c\1d\85mA\1d¬P\92wg\9døû@S0T"7`5\17\9dkðÐz¨ÅNXóx5\92\eO)^FrUÓ\18´`\15}{ÿ}»\ 5òÆ^Hn\89ã4Ë\11\1eùè}\17»¿àI%ý\13\ 2ô\86\fç¬4ÂJ¦X%Ð\18_%\rî;wâ4¨\ f\9d\92h8(ç\10Ú\ 1EëCÆv\9e\19¸Ê¾iP/\97Ë\91Ðl\8a±\85\ eå\8e\ 6D;âæ5¬Àÿ`åS¬\16d¿/I\ e¹ð\82%d£ô\9e»é\ 3\7f¢A»u½\bKØâìêà\84w}\9b\9d\978\ä,Ìs\88Âa_\1eV_×+¸Á'ìÔ\ 1µ\81/½¨\87¥óÃ4c       Eúi\90»\rùç¿D\9cÆ,M²\13k\14¸þ|.¼oÞ\1fcÂ`\12endstream
-endobj
-604 0 obj<</Type/Page/Parent 553 0 R/Contents 605 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-605 0 obj<</Filter/FlateDecode/Length 1256      >>stream
-x\ 1\8dVËnã6\14Ýç+.Ð\85m Vüª\9dL1\8b\99 A\aÈ¢E\rÌ¢ÚÐ\12\91H\8fH'ñ|}Ͻ\94,ÙNf\9a \ fKä}\9c{Î!¿]\8di\84ï1-&4\9dSV^\8d\92\11MïfÉ\84\vü?ÁO¥i-/&ÓÑå\8bÏË«\9b\87;\9a\8ch¹F¬ùâ\96\969!Î\bO²þýVí\82®h\9eÐr«É\97«$svMkSèÁò_Ù;^ĽÃ)'^æýy2NèQ¿\9aL\15ôɪâà\8d\8f«g4\1e׫'\8bdΫ?+Ï\v\8bÃ5\ 5¤àÈd<í*\97iïuNÎ\92¢ÂXM«Cý\17[¼T\84æ\147èö\15\85ÃN{rkYã\11L\ 5yYéÌm¬ù\8eP\b\80\1c\88\86ãi,·¨+U\éw4\9böwªR¥O²tð\81\17\ 3Üád\9e̤ÜBÙ§:Å\90\1eQ\96'@\12\94±ÆnPlq \97­     ÚïT¦\13Þ>DÏ@3ï\ 3\16þ\8c\8fÇä÷®,µ\rg\ 1Wzc¬Ä{1aK\1a¿P\97"¯K3Ì\\ 1H\1c\7fÞ¹½ÍÉ\9b\8dEѽßzü´÷K/\1d\9cæ\9d\æý[gÁ ÌV«\1c¡\19^OM?gé\15²í´%ÿmÏ`¯*\95=éÀ\19ÿ¹H5½Lõ'\83©\99E?Ér '}f[ìÈ°!A\8e%8\91ëµÚ\17\11$\19s\92\ eN\80\9dŬÃɯí xãÚT>PxqB\84­²y\ 1\16è׬Ø{ó¬1ªÈ\b:çÀ5Ï0Û\12\90u\15\90A]e\94\ 2·Â1\85\93\91\85\vê°ÊgÊZ$[»\8aßt)4¤\ 6}\v`D\19?¢È\90Z\ 4/7¼1Ûî\86gUìÏRÔ#:\aËG)¡ÓHâà\9e´\85\ e\95\8808Q§\b#ÎÒ      qÒ~\81\7fð¸dµ$ç¥\12 §X\ 3\8fà\f£Ü<\9b\9c1ª\\89¤(ÀF\ 6`* \9d\ 6ß
-a÷\aê}ì §Ù¬Æ\10"\9bÕp:\8e\9a\81¶þàù\8a\b×ôõ(AÎyópb<¬Åv\ 1»\r\18\ 6\ 5ä¤<Á\8aèÈ@\ fû<s\ f,\17i§ýt@ë½\8d:Jû^kÊ\98\ri\7fz\9f\ eð\12<Ó»À\fxÃu¬~\11þ\1c\9eÒÔBQbµÍ{\14'|e\9cV:S{ÌÉ\ 4\ 2n6\98µ\89Ü$\r\98á|<<\8e*Pu)Çb8ç81EeÀ!:\16I_\ 4Ûä8­        p4àSWyÃÍ\1a^óÔ[ª\bi©T\87Æ(ÉXh\bvÛÍ\9bÐ' ßZ'±õ\19ö~Þ\ fÔy\90Ã\8eÂ2Wî M>"ÀN\98#F\8f³#6q\84õXsc÷\1dÁ4\9eþå¤\9c\18à\98½íCxÌlyâ±>ëj¥\82)¥NA,Î\9b]\15\88eªª\8cÚh\10(ì+{Æücy>\8e½Âد\85\1a­\87­¶Ò¥{ÖùE\ f\1d\97mzx\84\91\19úP)#Bè \89²ëhQnq(­<\8f9䤪\rµU\9b¸EWo\80±«·G°\8eîq\ e\1a»\a*N\1a~Cv\8f\ e5úÓÃç\94-Ì_/lYiP?\80Ú,̬r\1e\8fq\f\98\1d¦\1cWÁ'X\ f5óW8\97|¡üö=°#Öiʧ\96\1cÝBȦb\9elô{qmZÉIÏÅ\81ií!-@\81\86\rð_jÙ)\9c4iß:;lQ\87\96\8f\93nù|Ö>ì\ 1\94Áa~rNr5\8a\8e-ÉåȾé#¯õÁøb \1f\96¼\89W*Îïl¦\82³*\0E¹M°¸³}U5×\8e÷ÎÀ\84\1eP\9a~U%\0\97{ÐÍÃ\88î\9aëÛ,z/Õ_R}\94êÇN+Q3>TÌÍ4m&3Jø\9eÙo6K]<Ò\93\81\bÒ§\1c\92\eãW·/Ø\fAhÅ\96ÍAß+íÿ\94ÅUü°\82ÛöÖ:«ï¸÷?¹\18Ï\16³d1¿\8d÷¾É\98Kü}yõ×Õ\7f¤ÿ¨ endstream
-endobj
-606 0 obj<</Type/Page/Parent 553 0 R/Contents 607 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-607 0 obj<</Filter/FlateDecode/Length 1000      >>stream
+sC0\8dêõ\87%ͧXkÂ\1a*{\9c\1d\85mA\1d¬P\92wg\9døû@S0T"7`5\17\9dkðÐz¨ÅNXóx5\92\eO)^FrUÓ\18´`\15}{ÿ}»\ 5òÆ^Hn\89ã4Ë\11\1eùè}\17»¿àI%ý\13\ 2ô\86\fç¬4ÂJ¦X%Ð\18_%\rî;wâ4¨\ f\9d\92h8(ç\10Ú\ 1EëCÆv\9e\19¸Ê¾iP/\97Ë\91Ðl\8a±\85\ eå\8e\ 6D;âæ5¬Àÿ`åS¬\16d¿/I\ e¹ð\82%d£ô\9e»é\ 3\7f¢A»u½\bKØâìêà\84w}\9b\9d\978\ä,Ìs\88Âa_\1eV_×+¸Á'ìÔ\ 1µ\81/½¨\87¥óÃ4c       Eúi\90»\rùç¿D\9cÆ,M²3kîúó¹ð¾y\7f\0d\11`\1aendstream
+endobj
+562 0 obj<</Type/Page/Parent 513 0 R/Contents 563 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+563 0 obj<</Filter/FlateDecode/Length 1254      >>stream
+x\ 1\8dVËnã6\14Ýç+.Ð\85m Vüª\9dL1\8b\99 A\aÈ¢E\rÌ¢ÚÐ\12\91H\8fH%ñ|}Ͻ\94,?\92\99&ÈÃ\12y\1fç\9esÈoWc\1aá{L\8b       Mç\94\95W£dDÓ»Y2¡Ùí\ 2ÿOðSiZË\8bÉttùâóòêæá\8e&#Z®\11k¾¸¥eN\88\93¬\7f¿U» +\9a'´Üjòå*É\9c]ÓÚ\14z°üWö\8e\17qïpÊ\89\97y\7f\9e\8c\13zÔ¯&S\ 5}²ªØ{ããê\19\8dÇÍêÉ"\99óêÏÊóÂb\7fM\ 1)82\19O»ÊeÚ{\9d\93³¤¨0VÓjßüÅ\16/\15¡9Å\rºº¢°ßiOn-k<\82© /+\9d¹\8d\11
+\ 1\90\83K\19Ñp<\8då\16\8a\8efÓþNUªôI\96\ e>ðb\80;\9cÌ\93\99\94[(ûÔ¤\18Ò#Êò\ 4H\822ÖØ\r\8a-öô²5Aû\9dÊtÂÛ\87è\19hæ}ÀÂ\9fññ\90üÞ\95¥¶á,àJo\8c\95x/&lIã\17êRäui\86\99+\0\89ãÏ;WÛ\9c¼ÙX\14Ýû­ÇO{¿ôÒÁiÞÉeÞ¿u\16\fÂlµÊ\11\9aáõÔös\96^!ÛN[òßj\ 6{U©ìI\aÎøÏEªéeª?\19LÍ,úI\96=9é3ÛbG\86\r  r,Á\89\¯U]D\90dÌI:8\ 1v\16³\ e'¿v\83â\8dkSù@áÅ        \11¶Êæ\ 5X _³¢öæYcT\91\11\81k\9ea¶% ë* \83ºÊ(\81B\ 5n\85c
+'#ë\80\v\17tÄ*\9f)k\91lí*~sL¡!µè[\0#Êø\11E\86Ô!x¹á\8dÙ\1eoxVE}\96¢\19Ñ9X>J   \9dF\12\a÷¤-t¨D\84Á\89:E\18q\96N\88\93ö\vü\83Ç%«%9/\95\0\1ax\ 4g\18åæÙä\8cQåJ$E\ 162\0S\ 1é4øV\b»?PïcO8Íf5\86\10Ù¬\86ÓqÔ$\e\ e´õ\aÏWD¸¦¯\a    rÎ\9b\87\13ãa-v\vØmÀ0( 'å      VD\a\ 6zØç\99{`¹H;í§\ 3Z×6ê(í{­)c6¤ýé}:ÀKðLï\ 2\r×±úEøsHÅzJS\vE\89Õ¶ïQ\9cð\95qZéLÕ\98\93   \ 4Ül0k\13¹I\1a0Ãùxx\1cU :¦\1c\8bá\9cãÄ\14\95\ 1\87èX$}\11l\93ãt&\80ÀÑ\80O]å\r7kyÍSï¨"¤¥Rí[£$c¡!ØíqÞ\84>\ 1ùÎ:\89­Ï°÷ó~ ~F\9eÌ\95;H\93O\b\90\13Þ\88Éãè\88=\1cP=\94ܺý\91^ZKÿrRM\fpHÞµ!4f²<ñT\9fuµRÁ\94\0\16Çͦ
+À2UUFm4ø\13êÊ\9e×Þ:\9c\8fS¯0õka\1e¶Fça§­té\9eu~ÑÃ\91ɶ=<ÂÇ\99ú\8c\94\11\1d\1c\81\89²\9bhQmq&\9d:\ f9ä jü´\13\9b\98űÜ\0ã±Ü\1eA:ºÇ1hl\rT\9c\86ê\1e\1djô§gÏ)Y\98¾^ȲÒ`~\0³Y\97Yå<\1eã\140;L9®\82\1c\1aâ¯p,ùBùí{`G¬Ó\94\ f-9¹\85\8fmÅ<Ùh÷bÚ´\92\83\9e\8b\ 3Óº3Z\80\82÷´À\7fiT§pФ}ëì°C\1dR>\10±£óYûp\aP\ 6gùÉ1ÉÕ(:´$w#û¦\8d¼6çâ\8b\81|\80\19;ò&Þ¨8¿³\99
+Ϊ\0\14å2ÁÚÎêªjo\1dï\1d\81      = 4ýªJ\0.× \9b\87\11ݵ··Y´^j¾¤ú¨Ô\8fG­DÍøP17Ó´\9dÌ(ákf¿Ý,uñHO\ 6"H\9frH.\8c_]]°\17\82Ð\8a\1d\9b\83¾WÚÿ)\8b«øa\ 5·Ý¥uÖ\qï\7fr/\9e-fÉb~\e¯}\93\11\97øûò꯫ÿ\0§j§òendstream
+endobj
+564 0 obj<</Type/Page/Parent 513 0 R/Contents 565 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+565 0 obj<</Filter/FlateDecode/Length 1000      >>stream
 x\ 1µV]oâF\14}çWÜ7\93\b¼ØPC¶\9bH¤MV\95²Y­\96\96<\fö\0\19ê±Ãf«þ÷\9e;c\e\b\8b\9a>\94(\89±ïǹçÞsÇ\7fv\ 2\1aà' qHÃ\88â¼3ð\a\14\85C\7fD£É\18×!~\vIKû \f\ 2|}ñàzÖys;¢  Ù\12±¢É\98f       !Î`@³¸{¯KIåZ\94ø#\11Ip´ôI\92Ù\88X\1aZê,ÓÛT­ø9mu\91\90\ 2\1e2o
 i¤*\9bçZÕ\8e´\90åVJÕ\1a\93\9cãã\9dÍþè\f¨\1f\fý\10Pº©²¡K½¡,U²G\9b¬2öÖRW\ 5!C,eÒdp\b¶i¹ö¨ö42Ö\bÎÎ>Í»¿KÓ£_¼\9cb]í\90¥*\ 1NQ¦Zùó³\1aB\18\81H@¸\83+ÌÙº²&\14¯E!âR\16Æ2\92®\94.dBZÑ"\13êÑ&Ã#¤uÌ\91Ä¥^"H\9e#\8fñi¶\96ÏÖ÷\«ìùüEÑ(J¯Tú\r\16T\82*\18\9c\8d¹Aò\"»Ëã³ó\9bÛ\v
 \80\96\9bØ\1f\ 6\ e\aþÐ'\8bÿ§}ü\9fª´x4Îo×ü~ÈÍoz\8eF·Í\95_E¾Éä[ç1 \8b:Q8r\89¨þXd¤\80\8e.i\aóId\15:oç\82æó¦Ø\81?á|ìûÝ\9b\º-ñ\80üºÜ}Ø\11\87\ 1£\94§I\92\93\1a:Wº<g\1c\ 6D
 4d¯=\18ÁXTFRZ\12L\97iaJÎ\13\8bR+QÖÌ\1fÌ\9eí\1a¦ÚT\19û\9c"ã5$4\84ý÷\12\r\93\vÀe\ 1J\97ºhfê`\16þ\87\ e\1fÛd§û%\1a\9bÓ}\ 2z\90¯siN\ eÔk9Ü!b|\96Í\7f\ 5ð\11*jõ´\96\85Ô³Í\8e3mx\9b, ðGYbcx\ fÞü\8c)Çt\98\14Ö<L\ 4ùå)\ 6\85mÛuгúäU\88))Yñ|Í«§\99ùf«\19ª\97\86\e*699P\\1a\7f¾´¨Éiì\81V¢X\88\95ü¾~\1c\89Î\14z´*tC{$\1eÞë\ 5¨\80JN\8dµÃ\0\14Í*b\99?4uíiù w{I± °_Ü\82²{5òC\9f>?cï~=\865ö[U\ekÒ°iò\85\8fN,!YH\1dm\81°Ý¦:=NDïØúª©\81ÿ¿½¼$ú\8bÞÕå\Ñßtóñö¨\9eÝóÆÙ:6·É\rÐ\15\85·{\19\ 1O\ 6\1c
\8bG÷Ó\ f7\84Q;öy\19Öù8ûK\8f~\9bÞýzC÷wÇ\14Z\ 2¯\85Ic\91eÏ<Þ`+\97Bñù)JvÀkC¿9æDËh\ eMPµaÆ¿ÉB\13¶L\8e\ 3®\19?\1c |´!X#\ 2(b\81ãL1\83PÌVÒ£\92[\9be~f\17A\1fo\18x£Hº\81O\9c\18_Û#~Ú\ 4æ\90\8fTêÚì\92\1d\0;¤È\1c\909n&õkNðÃÐ\8f..(\1a\anÈ>O?\Oégù$3½áCý}\ 5\9d³S?\18O¬m\7f<À¡\97t_q¤\8eÆ#\7f\1cM\¹aÈanf\9dO\9d\7f\0\81»Ý\9aendstream
-endobj
-608 0 obj<</Type/Page/Parent 553 0 R/Contents 609 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-609 0 obj<</Filter/FlateDecode/Length 527       >>stream
-x\ 1}SM\8fÚ0\14¼çWÌma\ 5Þ|\91À¡\87 ²½ì®T5Ý\13\17ã8à6ØlìÐòïûl@»¥R\15E
-ö{ófæ\roQ\82\98\9e\ 4e\8a¬\80ØG1\8bQd\ 5+\90ÏKúNéí%Úp1+fôóæbYG\ f\8f9\92\ 4uëA\8ay\89º\ 1\ 1Å1j1ª`¥pÊhì$od\ f\1a©\9dj\95l°9\81k\98\83ÔJo±é¹ø)\1d\1d5p²ß+ÍݹÈí$Dgì\87*\86z'Çõ\8f(Æ4ÉXJcGRû"jy©\9eWïs,|ÿ\85\bó=S"|mÊ\18ü\11\9d\82å\1e§Â\81÷|/\89\ 4:¥¥gݨ#\11o ´3àç    \9e(Çkõô}\15èà¾U½u÷\90o\ 3ï`Õ\96Äé0=ÀXéq\9d´7¼=½@¹íÍ>\94\7fÀ\f\9f\9eÁß\96phù+ \8a\1d\81
-Ïu=zyÂ'Ü­×ún=þGi~Vúð¸@B:[\12<Ã4Ïiß$º`)K\18ª\8d\19ÜY¿eÂ\13}_0Y\9dúý\8eÈz_\12öaÚÀX\18ݪ-ZÕ\ 5»86ÊaÐ\83õN¨\16'3\80S\98\ 6¿\1f²°\93¿'8q!&Ti\8d\9e@:Á°4nçï\94 6®yw²êÖ®õÈ
-®}dÖã\10\96+\15\8f\7f\90}kúý97a\8d$\83á\95w\83´\81Ag(\89\r\8e\8a\83\86t\e
-\1d\99K\8cè\9c\1aöT~\96=¿ä:)ç¬X\90iÙ%gߪçe\85Ïò(;Ênoñe lø¦éµvZÆ\8bÿº\9a\979+\8b\ 1ÉÏ4óÍ«:ú\1aý\ 1q&\11\eendstream
-endobj
-610 0 obj<</Type/Page/Parent 553 0 R/Contents 611 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-611 0 obj<</Filter/FlateDecode/Length 1712      >>stream
-x\ 1\8dW]oÛ6\14}ϯ¸00,\ 5\%vÒ8\ 3\ 1\0\ 1¶¥[\ô%/´DYl$Q#);ú÷;÷\8a´]µ\1d\86¦@"\91÷ã\9cs?ôÏÙ\82.ñoA«%]ÝPÞ\9c]f\97ôææMvK×·+ü¾Ä\7f§©\94\17\vy4yñv}vq÷\13-/i]ÂÖÍê\96Ö\ 5ÁÎ%\9eäçï*Õ\ 5íh\95Ñ\9f:¼½\7fx$Ó\92¢\8f­y¡OÖÕÅ«õg±°X\8d\16^_]gKØ8_e\8b\8cîÛàlÑçÁØv<yM\8bE<¹\e7|r]\19OøQä+ë\ 2\15\eÝ\ 6
-\95Â_ÚçÎl´'o\eM¶Äc\8dã¾Ç#9\91Û¶t\16ç\15=þñ\96LÓÕ\9aï+öJøé\11í\9cT+Á^ÒëÅÕ\18be÷ô¨\9a\8d¢Üv°¶7¡bëMFëJ\ fÔ¨\81*]wÔi\v\9b´¯,)àY[ûlÚ-!:6ýóë_?¼\ 3.\0
-f\9cÚ\98Ú\84!ã|ály\93]s\96÷\81ö
->\9c     A·\14ìhÚö\1c7®y\ 4Ê\ eÒ!q@\9d«\94\ 3_\82'äÛj@ºK^\98ÁSüÅß*[fôÑkתFûÿ\0_\vj\9d³Á润
-AÚ¶\1e\10\15òô\9aúh\83ýæº\v\19½W\ eï\19ëtËÓÓ¹ïó\8apùÝÃßï¿\ 16?þðûÇǧWp±ÓÔÚ¯,3 ª®á`\a\84 ´Z±ø\8eNòÚ\80WÄW2\84
-@6] \ 1\9d¹\96,Oø}:ï\94\v&ïk    ¸sÂÑÉyÄÂ\9c3\a¥q>ÐNÕ¦\80n\98Ücx`\865\a\1cvÚMy\95Rð:ïAìÀ2Þ(¯\vèÄömq°qÑ)ï÷Ö\15`\14\9e2úM¤C\eûªïë\ 2\80HöÐdJ\13t\17P\;D)%Ýú~ã\83\0Ô\ 3+N\84\9e2\912ñ\H¨\95\94\90m§qCá\8cì\ 6µB\8dõ\ 1\8c6ª5¥ö\0Ø\ 4¯ë\12zd¥â Ë<æÏ)\82\9a\99¯¤\14ôN×3¼\8aù7¶Ð\=cEóÕB\97ª¯Ã$\ 5>Çbá\13ª\ 6Ë-\92@:3V\eÕß°
-({\88c Òº\1cÅ\8a¢\155pQÄ\8aà_ÙàHT2ï¡ÿ\89wq\ 2\154\eo\834Éi\8e´\r\1eK\9ex\a-²ê8i\04\907Aû)\9a÷ßE\84\ 3\8a\91¶Ö5\92Â\16©r\ 6\87Ò\82m>7óÚ{nZ^\87¾\9b\1d\94\r$ZX\\82J&Éø¾ë¸\Q\10yn\9b\ e1²~\93à¤\97¥\bà¤Mù\ 2|\8béàm/xö\9eoI\14ÁiÄ<v\99\93 &~ÑOI|\eÉåK\7fIY\0Qz4Û\15Ôc-¡\8d\85\81{nzÁ]\8a»\86<H¶\80ùÄiaÊR;¦\ 3ñ\ 5ý\12ü\1câT{Öbr4P«A&²ÛB\ fv«áÃÉ\9f¬0\80\ 4\90ùOv\1dk\9aûý \eÓFr \8e¯Ø\96]Åt8\89\82¥\91Je Ym·[<D|v&'\91ìÓyà\9a@\13ÀhóôÉ´\85Ý{Ö2\8fÑç-ºEç\9f^%Y¥Jç°\8e`\8chEÿ\ 3å\15·gq\1cÉ\12\ 6ÇÄ
\9f     ÖcÓK\86Ó4JùÆV
-S°Å\92\f6\88D\8f@\1fDÊÁ"q\83ú´[¤\8cò\8d\8f¨p\fm\8a\ 2Í\86\1e¤Eã8\94Y{;¡q\8fîÅ\14D2\8eÎÄ\10ãDÇg)\0tM û¤\171Ñq1ØcX£á\15\18\8bmRrn\9dä\9c8Oö8\0\14ÌÆ\80P\19ýÒ\r\12ÜSÄÆE!8V;G¾³\86Å
-R\93ÖÇ
-òè]NÕÔ@v¶\18c\ 6M\98\8e9«2VúNaÚ4ê³\95©\81¸sL\8dñð$Úh\a\17óºGÓ<Dߨ\ eâ\aÂ"b\93ë\1fø\15ù\ 1\9b\ fÖ\1d\0Æ\96aù¢±\1cl\8c\ 4Ê\94\9dx=Î\8dCQ\16\1a\9dj\Â\ e¡`ýjN#!©æ§s\8dá\8a\90
-Ã, GA@;\ 3\8dÅêù\ 5Ó\8bGWÔýwÖ\98«\8cî\f¶¯\87}\8b-©2\1d\87zq÷ÍE\925Ø4²¾ ¸b²£¤½#JÅ+i\94³Áö\80¿ý\91;,bÃ\12²Ñ¹Â}â7\85å7v?vè\12\91Ì\924Nª\14\8b"\96\9a9Ó[ª<Ìy½A9ð¾Äðó5¶1&\90ö\9c\88ù±&!¦\r\96\94­§¾ãM\b\93u\av1#1\9a\99Ψ7¨å\ e\80ê\17Å\v/O-ôvÉÅv¼½\89OVê8½¥²d\v\16üùí\84sxÇ\86\82M\84wT­°\19ÈØá°\vÚð\84±B§È\8c9\14\ f{\838\83S­GcFÎRqà\9a'\96¼\ 3÷\9a»\ 3ßØcOß\126,ý5\86pÏùGèE#Á4úé\1c[ZÎ``\9f\82\aYE\84áXRÇ.$\03Ü)¸9+ÎY\v>P\95X)\8f¯àk\92þ$÷\11ÝÃbã´Â\86îã÷\82\8cb\8ei$6í`Ò¸Øy,\1fàÆ`±\1aB\8cÃK{\9e¸î\ f\89\96ÊÔÒ\ 6\0\ 54I>ôeÉj\90Õ¤À6\85}ËvòyT\18T\15\1a\b÷méB[§\1aOµyÆ&Ѩg=\e       `ç\18\82Q\10\80tâ]\96\ 6g$=g¶U\10n.în\8f\9fjW\97ã\17Óÿû\1e¼^]g«\9b[|Oâ»gyÍîÞ¯Ïþ:û\17u´ìÁendstream
-endobj
-612 0 obj<</Type/Page/Parent 553 0 R/Contents 613 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-613 0 obj<</Filter/FlateDecode/Length 1643      >>stream
-x\ 1}WÛnÛ8\10}ÏW\fò²i\91(¶ãÚÉc/é"@\93tkw\8b\ 2y¡$ÊbK\91*IÙõßï\19Rr¼Ú`\118H$r.gÎ\9c\19ÿ:\99Ò\ 4?SZÎèjAEs2É&´X\á÷üz\89ß3|\9c¤*¾\98Ïn²ùK/n&ÙlüüÝúäòã\9c¦SZWð±¸^Òº$Ø\9fLh]\9c­k   »\ 2\1f/·Ò  M­õ^å\1a\ f¬î\82²ÆS°\14jå©u\16/\9asR¦Ð]©Ì\86:/\9d\11\8d¤F´-\1e\9c\930%UÖ\15üV\90oe¡*U¼Zÿ8\99ÐÅô
-\11®Ë³Ã5\9c¤V¸ \8aN\vG¾F(>ãÓ\97\1foh\8a`9ê\8b«92ƽe6Ïè³ð~g]éÓ±çä.fËlÁÇî\85ÙÓêþ\1d\15ZI\13<um+]!¼\84³þ2å\12Î9o\133   µl2º£Zl%\19\94\82\1e©Ë=\95    \ 2\1c0\ 1\88ù\80ôô~\94Õ·ê\e\10\19\\ 1·úÙ\1fY£÷¤ªø\10 \ 1l\ 2¤®3&!\ 5p\83-¬¦\8d\93\ 2>pP\18zÿøåö󧯫s\94cäÍæ[e;ÏV\ 3L\99?\ 2ýè|\88\ eJ\11\ 4!s·'gQE#9\1a\11b¥QÎ\£f\11f\80;[$p¿\1aõû\b\1f&E\84\f\by\15ÔVf´\ 2.U,:0\ 5\9a\8dú-Ëtê\19Ø\b\18ßV\86\ 2Ü\833cW+Ñä\ 2÷ø\0\10¶TØVÒN\85\1aa\ 2\96|O\12ÿ\0\85Î3<\8cäéà\814¨ªOɶLOÔH\155l!\1eOÉ0\13\96íÖr\8cYU¡zå!Ëä²k\13ÅA\86DW\9c0]\93ý­Rv\ 5\8a±\91þ\9cÀW\ 4÷RT©¨CX#Ç)H¡µÝ\1d\ 5   V)°s+´BÅ8\99­\12è \eSoDQ£rôt\16ö­*py\8f\8eú¦ÌÃ\1a¬e\ 6=½z\19X\ f\12Z\aË\8cÛ\ 16i
-·O\9852Ô¶ä\12\96\9cÎQ«dô`\83ÄE\90\85os\95\ 1Â`d\94Ö\91I\14û^\15Îz[\ 522 C\7fré´\14e\94\90Á\ 4:Ì×Ç|<mµ`ªÈß\81ä¯N\ 1\ eP÷4£5S¡\91\82%\bñ\8c|GÖÓë¿o¿|\7fMªá\84\85\16Ä÷\1dèwÈ!\91Â7y\f\ 1ò¤ o\855\ 1n{v\1d\10\1f|sÏ\8e¼¢9KÁò\bØ\18\1fgm`\90\1c\9aC²O    ­(º\ 6\19¤\8aÞ>¼ÿòýóúîñ!\vH\90\ 5¯aÝ)%ÜëÿÕº7\19\ 5£ÈA\1cËøAéV\90bÐ6¶Ó,\9bA&â\9f\a\ 2$&\81?\0\1ceÔÉ\1c  O;©u\ f±\97E$\1f\ 50Q\96c^­\91×p\99\99èIl\11~D¢3%:EÐ\87ÇÕ%ØY2Å¥Ù*g\rÃ\105§éУ\ e\8d:\b\eø\aÌ\9f\8d\80\0\1dôgð;\f\8a#
-\88x g>\9a\9f2õûÓ+*jk\93RØHY®\83\a\1fJáPïÂ\ 4ýt\86c9F\0hÏB÷ïlÂX]A(\8c:\ e\9f\9bc8\fê2ÁðÒÙ­â\ 4(Wa\bz\10ÒG4m#~ðhK\13\93\95>²±´>ÚòQûò(\91\82®fl\ 5)u\10Ú\8d\91%"u¬7\19EM\1e¼÷À\83\ 6ä(ï"¾#\92&+ç´Q[æw\1c=p3\8dn\ e\96AÅÐ\19T\eºòøévö<-\91\18\ 3\18l\eo c/5H\82t\87\95( #ßLpXÃ\r¬\ 45\98\9e(~4gÖ\96X\1cÀ\v\vêÀ\13Ð\19\80J­ZX\0,=\v:ÇÑã\93\*\83pR*qN`ïp¶u
-yÄ`}­*\9eÎ\89Û£à¼\94M¬`\f\80Á\83oÈm\9cöh\87;\83\14«.°|@_=K2\96\18\89\15\85í\ fT(QÞ=\16\b\12e       >! ãù5\1e:}nc\96Ü\ 1Ní-äBÆá]K\8d9ĺÛðúr iI¥\90\rïa<S\11\15<w\9b\rf\ 1À+\1cÄ\94z­öZmê\80å\84áÜÚ"
-\10ã Ç*f¬kâ<ÙX¨\91\ f`@gâ4@\1fö\8dvܹ\8có\95*¹K\81ÁÁÆ `Éó!ß\ 3\9bT\9d\9e\1eÑé\18ûÀ%e\15ª»\rV¬8`\ fª\84õöW\87Ð=UÎ6\0Å_îz-\19\968^\17~*­#'\12& 6\16\9f\ 3J;Æ\18©£z\90z®Ø\7f\1a\12;\85\8d\83\12Xc£+\ 6r\9f\ eÁ¤é\18\1dôA\80"\15\0Jÿ\rÇâ"z´Ý¾h\94£6iU\83üÆÑÈÜîWAP\b4TUZæàÂì-TDjnE§¸\11\98)1Y4Llê\88\ 3ô~Ì7\1eoØÃC¿\19\ 5\ 5|ØU\1fô\8e!ôà/6¹4Cù       \9b\84\v(\ 6f~\e×\12®e¯@¬{Ø\89}TEÚá²­Få=\bf\fî%XÓw\83¢s\ e²
-Æ¥^\1f\95%ÎÇ^Q/?^÷ß[¦ËëlqsC\8bÉ5¯÷«·÷ïÞÒ\aÞ\ 2±6:O\7fvØÖ9\9e\8báäÅrróò\17\86ùr\9e-\17×øV\ 1K³7|ëv}ò×É?BZ\7f\86endstream
-endobj
-614 0 obj<</Type/Page/Parent 553 0 R/Contents 615 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-615 0 obj<</Filter/FlateDecode/Length 1775      >>stream
\8bG÷Ó\ f7\84Q;öy\19Öù8ûK\8f~\9bÞýzC÷wÇ\14Z\ 2¯\85Ic\91eÏ<Þ`+\97Bñù)JvÀkC¿9æDËh\ eMPµaÆ¿ÉB\13¶L\8e\ 3®\19?\1c |´!X#\ 2(b\81ãL1\83PÌVÒ£\92[\9be~f\17A\1fo\18x£Hº\81O\9c\18_Û#~Ú\ 4æ\90\8fTêÚì\92\1d\0;¤È\1c\909n&õkNðÃÐ\8f..(\1a\anÈ>O?\Oégù$3½áCý}\ 5\9d³S?\18O¬m\7f<À¡\97t_q¤\8eÆ#\7f\1cM\¹aÀanf\9dO\9d\7f\0\81±Ý\99endstream
+endobj
+566 0 obj<</Type/Page/Parent 513 0 R/Contents 567 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+567 0 obj<</Filter/FlateDecode/Length 527       >>stream
+x\ 1}SÁ\8eÚ0\14¼ó\15s[X\817      !\81C\ fAe{Ù]©jº§\\8cã\80Û`³±CËß÷Ù\ 1í\96JU\14)ØïÍ\9b\99\8dbDôÄÈ\13Ì3\88Ã(b\11²yÆ2¤Ë\9c¾\13z;\89&\,²\ 5ý¼¹X\97£\87Ç\14q\8c²ñ Ù2GY\83\80¢\b¥\18\17°R8e4ö\92ײ\83²PµÔN5JÖØ\9eÁ5ÌQj¥wØv\ü\94\8e\8ej8Ù\1d\94æn(r{    Ñ\1aû¡\8a¡ÜËIùc\14a\16ÏYBcÇRû"jy)\9e7ïs,|ÿ\85\bó=3"|m\9a3ø#:\99%\19K=N\81#ïøA\12       ´JKϺV'"^CigÀ\87  \9e(Çkñô}\13èà¾Q\9d\90o=oaÕ\8eÄé0=ÀXéq\9d´7¼=½@¹éÌ!\94\7fÀ\f\9f\9eÁß\96phù+ \8a=\81
+ϵ\1a¿<á\13îªJßU\93\7f\94¦\83Ò\87Ç\15bÒÙ\90à\ 5fiJû&Ñ\19KXÌPlMï\ 6ý\96   Oô}Áduâ÷;&ë}IØ\87i\ 2cat£vhT\eìâØ*\87^÷Ö;¡\1a\9cM\ fNaêý~ÈÂVþ\9eâÌ\85\98R¥5z
\ 4ÃÚ¸½¿S\82Ú¸æíÙª[»ª±\15\ûÈT\93\10\96+\15\8f\7f\94]cºÃ\90\9b°F\92ÁðÊÛ^ÚÀ 5\94Ä\1a'ÅACÚ-\85\8eÌ%FtN\r\a*\1fd//¹\8eó%ËVdÚü\92³oÅóºÀgy\92-e·³øÒS6|ÓìZ;Ë£Õ\7f]Mó\94åÙ\92þ\80äg\92øæM9ú:ú\ 3q\1c\11\1aendstream
+endobj
+568 0 obj<</Type/Page/Parent 513 0 R/Contents 569 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+569 0 obj<</Filter/FlateDecode/Length 1712      >>stream
+x\ 1\8dW]oÛ6\14}ϯ¸00Ì\ 5\%vÒ8\ 3\ 1\0\ 1¶¥[\ôÅ/´DYl$Q#);þ÷;÷\8a´]µ\1d\86¦@"\91÷ã\9cs?ôÏÅ\9c®ðoNË\ 5]ßRÞ\\eWôæöMvG7wKü¾À\7f§©\94\17sy4zñvuqyÿ\13-®hUÂÖíò\8eV\ 5ÁÎ\15\9eäÓw\95ê\82v´ÌèO\1dÞ><>\91iIÑÇÖ¼Ð'ëêâÕê³X\98/\a\v¯¯o²\ 5lL\97Ù<£\8768[ôy0¶\1dNÞÐ|\1eO.\96Ù-\9f\UÆ\13~\14ùʺ@\85ÍûF·\81B¥ð\97ö¹3\eíÉÛF\93-ñXã¸ïñHNä¶-\9dÅyEO\7f¼%Ótµæû\8a½\12~zD;#ÕJ°Wôz~=\84XÙ==©f£(·\1d¬íM¨Øz\93ѪÒ\a\81*]wÔi\v\9b´¯,)àY[ûlÚ-!:6ýóë_?¼\ 3.\0
+f\9cÚ\98Ú\84CÆùÂÙâ6»á,\1f\ 2í\15|8\13\82n)ØÁ´í9n\ó\b\94\1d¤Câ\80:\85W)\a¾\ 4OÈ·Õ\80t\97¼0\83çø\8b¿e¶Èè£×®U\8döÿ\ 1¾\16Ô:g\83ÍmM\15\82´m}@TÈÓkê£\rö\9bë.dô^9¼g¬Ó-Oë©ïó\8apùÝãßï¿\ 16?þðûǧõ+¸ØijíW\96\19PU×p°\ 3B\10Z­X|''ymÀ+â+\19B\ 5 \9b.\90\80Î\K\96gü®§\9drÁä}-\ 1wN8:;\8fX\98sæ 4Î\aÚ©Ú\14Ð\r\93{
+\ fÌ°æ\80ÃN»1¯R
+^ç=\88\8c7Êë\ 2:±}[\1cm\vÊû½u\ 5\18\85§\8c~\13éÐƾ°êûº\0 \92=4\99Ò\ 4Ý\ 5\14×\1e¢\94\92n}¿ñAµP\0ê\81\15'BO\99H\99x.$ÔJJȶ㸡pFv\83Z¡Æú\0F\eÕ\9aR{\0l\82×u =²Rq\90e\1eóç\14AÍÄWR
+z§ë    ^Åü\e[h®\9e¡¢ùj¡KÕ×a\94\ 2\9fc±ð U\83å\16\9d «\8dêoX\ 5\94=Äq Òº\1cÅ\8a¢\155pQÄ\8aà_Ùà@T2ï¡ÿ\91wq\ 2\154\eo\834Éi\86´\r\1eK\9ex\a-²ê8i\0t o\82öc4\1f¾\8b\b\a\14#m­k$\85-Rå\f\8e¥\ 5Û|nâµ÷Ü´¼\ e}79*\7fF\eH´°¸\ 4\95\8c\92ñ}×q¹¢ òÜ6\1dbdý&ÁI/K\11ÀI\9bò\ 5ø\16ÓÁÛ^ðì=ß\92(\82Ó\88yè2gA\8cü¢\9f\92ø6\92Ë\97þ\92²\0¢ôh¶+¨ÇZB\e\v\aî¹é\ 5w)î\1aò Ù\ 2æ#§\85)Kí\98\ eÄ\17ôKð3\88SíY\8bÉÑ\81Z\r2\91Ý\16z°[\r\1fNþd\85\ 1$\80Ì\7f²ëXÓÜïÏØ\187\92#q|Ŷì*¦ÃI\14,\8dT*\a\9aÔv»ÅCÄg'r\12É®§\81k\ 2M\0£ÍÓ'Ó\16vïYË<F\9f·è\16\9d_¿J²J\95Îa\9dÀ\18Ð\8aþ\ f\94\9eÅq$K\18\1c\12+\8c\7f&X\8fM/\19NÓ(å\e[)LÁ\16K2Ø \12=\ 1}\14)\a\8bÄ\rêÓn\912Ê7>¢Â1´)
+4\ez\94\16\8dãPfíí\88Æ=º\17S\10É89\13C\8c\13\9d\9e¥\0Ð5%ì³^ÄDÇÅ`\8fa\8d\86W`,¶Iɹu\ e\93rä<Ùã\0P0\e\ 3BeôK7Hp\8f\11\e\16\85àXí\1cùÎ\1a\16+HMZ\1f*È£w9US\ 3ÙÙb\88\194a:æ¬ÊXé;\85iÓ¨ÏV¦\ 6âÎ15\86ãh£\1d\Ìë\1e\18}£:\88\1f\b\8b\88\7fàWä\ fØ|°îÈ\v\ 5\fË\17\8dåhc P¦ìÈëin\1c\8b²Ð 9îTÃ\12v\f\ 5ëWs\1e       I5¯§\1aÃ\15!\15\86Y@\8f\82\80v\ 6\1a\8bÕó\v¦\17\8f®¨ûï¬1×\19Ý\el_\8fû\16[Re:\ eõòþ\9b\8b$k°id}ApÅhGI{G\94\8aWÒ('\aÛ\ 3þöGî°\88\rKÈFç
\89ß\14\96ßØýСKD2IÒ8«R,\8aXjfLo©ò0ãõ\ 6åÀû\12ÃÏ×ØÆ\90@Ús"æ§\9a\84\986XR¶\9eú\8e7!¬¼NÖ\1dØÅ\8cÄhf:£Þ \96{\0ª_\14/¼<µÐÛ%\17Ûñö&>Y©Ãô\96Ê\92-Xðç·#Îá\1d\e
+6\11ÞQµÂf c\87Ã.hÃ\13Æ
+\9d"3æP<ì\râ\f\1e\8d\199KÅ\81k\9e\ eÜkî\ e|c\8f=}KØ°ô×\18Â=ç\1f¡\17\8d\ 4Óèõ\14[ZÎ``\9f\82\aYE\84áXR§.$\03Ü)¸\19+ÎY\v>P\95X)O¯àk\94þ(÷\ 1Ýãbã´Â\86îã÷\82\8cb\8ei 6í`Ò¸Øy,\1fàÆ`±\1aB\8cÃK{\1e¹î\8f\89\96ÊÔÒ\ 6\0\ 54I>ôeÉj\90Õ¤À6\85}ËvòyT\18T\15\1a\b÷méB[§\1aOµyÆ&Ѩg=\19\b\18\82Q\10\80tä]\96\ 6g$=g¶U\10n.ïïN\9fj×WÃ\17Óÿû\1e¼YÞdËÛ;|Oâ»gqÍîÞ¯.þºø\17uªìÀendstream
+endobj
+570 0 obj<</Type/Page/Parent 513 0 R/Contents 571 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+571 0 obj<</Filter/FlateDecode/Length 1643      >>stream
+x\ 1}WÛnÛ8\10}ÏW\fò²i\91(¶ãµ\93Ç^ÒE\80&éÖî\16\ 5òBI\94Å\96"U\92²ë¿ï\19Rr¼Ú`\118H$r.gÎ\9c\19ÿ<\99Ò\ 4?SZÎèjAEs2É&´X\á÷üz\89ß3|\9c¤*¾\98Ïn²ùK/n&ÙlüüíúäòÃ\9c¦SZWð±¸^Òº$Ø\9fLh]\9c­k   »\ 2\1f/·Ò  M­õ^å\1a\ f¬î\82²ÆS°\14jå©u\16/\9asR¦Ð]©Ì\86:/\9d\11\8d¤F´-\1e\9c\930%UÖ\15üV\90oe¡*U¼Z\7f?\99ÐÅô
+\11®Ë³Ã5\9c¤V¸ \8aN\vG¾F(>ãÓ\97\1fnh\8a`9ê\8b«92ƽe6Ïè\93ð~g]éÓ±çä.fËlÁÇî\85ÙÓêþ-\15ZI\13<um+]!¼\84³þ2å\12Î9o\133   µl2º£Zl%\19\94\82\1e©Ë=\95    \ 2\1c0\ 1\88ù\80ôô~\94Õ×ê+\10\19\\ 1·úÙ\1fY£÷¤ªø\10 \ 1l\ 2¤®3&!\ 5p\83-¬¦\8d\93\ 2>pP\18z÷øùöÓÇ/«s\94cäÍæ[e;ÏV\ 3L\99?\ 2}ï|\88\ eJ\11\ 4!s·'gQE#9\1a\11b¥QÎ\£f\11f\80;[$p¿\18õë\b\1f&E\84\f\by\15ÔVf´\ 2.U,:0\ 5\9a\8dú%Ëtê\19Ø\b\18ßV\86\ 2Ü\833cW+Ñä\ 2÷ø\0\10¶TØVÒN\85\1aa\ 2\96|O\12ÿ\0\85Î3<\8cäéà\814¨ªOɶLOÔH\155l!\1eOÉ0\13\96íÖr\8cYU¡zå!Ëä²k\13ÅA\86DW\9c0]\93ý­Rv\ 5\8a±\91þ\9cÀW\ 4÷RT©¨CX#Ç)H¡µÝ\1d\ 5   V)°s+´BÅ8\99­\12è \eSoDQ£rôt\16ö­*py\8f\8eúªÌÃ\1a¬e\ 6=½z\19X\ f\12Z\aË\8cÛ\ 16i
+·O\9852Ô¶ä\12\96\9cÎQ«dô`\83ÄE\90\85os\95\ 1Â`d\94Ö\91I\14û^\15Îz[\ 522 C\7fpé´\14e\94\90Á\ 4:Ì×Ç|<mµ`ªÈ_\81äÏN\ 1\ eP÷4£5S¡\91\82%\bñ\8c|GÖÓë\7fn?\7f{Mªá\84\85\16Ä÷\1dèwÈ!\91Â7y\f\ 1ò¤ o\855\ 1n{v\1d\10\1f|sÏ\8e¼¢9KÁò\bØ\18\1fgm`\90\1c\9aC²O    ­(º\ 6\19¤\8aÞ>¼ûüíÓúîñ!\vH\90\ 5¯aÝ)%ÜëÿÕº?3úh\vF\91\838\96ñ\83Ò­ Å ml§Y6\83LÄ?\ f\ 4HL\ 2\7f\08ʨ\939\12\9evRë\1eb/\8bH>θ\v`¢,ǼZ#¯á23Ñ\93Ø"ü\88DgJt\8a ÷\8f«K°³d\8aK³UÎ\1a\86!jNÓ¡G\1d\1au\10\ f\98?\e\ 1\ 1:èÏàw\18\14G\14\10ñ@Ï|4\85V?dê÷§WTÔÖ&¥°\91²\\a\ f>\94¡Þ\85     úé\fÇr\8c\0Ð\9e\85îßÙ\84±º\82P\18u\1c>7Çp\18Ôe\82ᥳ[Å      P®Â\10ô ¤\8fhÚF|çÑ\96&&+}dci}´å£öåQ"\ 5]ÍØ
+Rê ´\e#KDêXo2\8a\9a<xï\81\a\rÈQÞE|G$MVÎi£¶Ìï8zàf\1aÝ\1c,\83\8a¡3¨6tåñãíìyZ"1\ 60Ø6Þ@Æ^j\90\ 4é\ e±D+Q@F¾\99à°\86\eX        j0=Qühά-±8\80\17\16Ô\81' 3\0\95Zµ°\0Xz\16t\8e£Ç'¹T\ 6á¤Tâ\9cÀÞálë\14ò\88ÁúZU<\9d\13·GÁy)\9b\18\0\83\aß\90Û8íÑ\ ew\ 6)V]`ù\80¾z\96d,1\12+
\1f¨P¢¼{,\10\12|B@Çók<túÜÆ,¹\ 3\9cÚ[È\85\8cû\96\1as\88u·áõå@Ò\92J!\eÞÃx¦"*xî6\eÌ\ 2\80W8\88)õZíµÚÔ\ 1Ë     Ã¹µE\14 ÆA\8eUÌX×Äy²±P#\1fÀ\80ÎÄi\80\eí¸\85s\19ç+Ur\97\ 2\83\83\8d\13À\92çC¾\a6©:==¢Ó1ö\81KÊ*Tw\e¬XqÀ\1eT        ëíÏ\ e¡{ª\9cm\0\8a¿ÜõZ2,q¼.üPZGN$L@m,FX?ýÞ\a\94v\8c1RGõ õ\±ÿ4$v
+\e\a%°ÆFW\fä>\1d\82IÓ1:è\83\0E*\0\94þ\e\8eÅEôh»}Ñ(GmÒª\ 6ù\8d£\91¹Ý¯\82 \10h¨ª´ÌÁ\85Ù[¨\88ÔÜ\8aNq#0Sb²h\98ØÔ\11\aèý\98o<Þ°\87\87~3
+
+ø°«>è\1dCèÁ_lri\86ò\136      \17P\fÌü6®%\Ë^\81X÷°\13û¨\8a´Ãe[\8dÊ{\10Ì\18ÜK°¦ï\ 6\1cd\15\8cK½>\98N+K\9c\8f½¢^~¸î¿·L\97×Ùâæ\86\16\93k^ïWoîß¾¡÷¼\ 5bmt\9eþê°­s<\17ÃÉ\8båäæå/\fóå<[.®ñ­\ 2\96fs¾u»>ùûä7BP\7f\85endstream
+endobj
+572 0 obj<</Type/Page/Parent 513 0 R/Contents 573 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+573 0 obj<</Filter/FlateDecode/Length 1775      >>stream
 x\ 1}W]O\e;\10}çW\8còR*AJ MàåJ|^U*Ð\96TèJ\95®\9c]oÖe×ÞÚ^Bþý=3Þ\84°ÀUÕ*õÚ\9e\993gÎ\8cÿì\8cè\0\7fF4=¤£     eõÎÁð\80>\1fMñïø\98ÿ=Ä_¯©\90\ fã\83\93·?\8cÆo|8\9bí|º:¡Ñ\94f\ 5\8cL\8eG4Ë \ 6\ e\ eh\96íN\87\93!]h»¢k\97ëðqö\eÛÇ4Â.Þ¾\7f\88\r8°{_jK\8aî®Ï(«\8c\91\£mÀRa*M&\92
 \ f\81
 ç±Ô(\1fMÖVÊÓ ç»kÜ= èh®©©T¦sr\96b\89\90pzH³R\a-»Ä\ 3Ø\1d\1d\r\ fÙî¯Ý\8bË\9b\7fþ½¹½¹Ü#ùùãòô¢ûyÿãËl½|úõk·zu~FÊæi÷Åíݯ\8f\14\1a\9d\99bEËRE\ e\80Ê¢q\b$\94®­rvPU\95[ÂÃù
@@ -1240,10 +1129,10 @@ x\ 1}W]O\e;\10}
 ¥\91ò\17\9d\7f4\8aõ§o\15÷0TÛyé8°U¸0\8aÂXS4¥=\ 5¬^A\ 4\9d\11\13\1có\14\f\9a\14\9cRl§\17²XM\9dm\1dL\9f\ 53Ä»\ 6\ 5\b¡Sq\85BÍ:¡Ûd\88{a\88*¶Ar\81Y\ 1£À\87G®ô\16\95!EÆtÙ#påä³\94\8b°æh\88ÿTUÏ5¨Qãø\9c{\8eðµ\89\r¥\91Tîó5\ f\r^F\1dáOêy       Ý%
 ¨\13Ú\8e&  è\9eá¥ó\98åæ:.5(P«\fêÌs\ f71ôL\9a\ 3\9fd\945\a\96÷hÞrgë´ÖÄ\ f/\95Xd\f\93\ 5·\ 2é4\b*\7f-±2Nt\10v\1e\8a\12c\16\12\anïàKk»ÊÕ\18\ 3à\12Z\9fÔ7\ 2duHÅ\ 5Õ_\ 2
 .\ 4\9e\87\8d\97\v\97fÝ­A\10\ e       \17\18ÆeiÐZ`nËáD¹¤$À\1c\99µÀ\19\95\ 6\180&ty\1cÑ\ 2Ì\97ª÷ÐÍHû\f\16]o+¸\1eà)Ó<u±\97\1c1ÛÞÎ\/k|þ\9dùá\ 4\8dÀ»è2Wѹ¨Í\93\89«tà\8dÁ\1eä\ 6|\f\13'T¹;[\81áU\18¬ùÂâ·þ\86Ø9¦Í`£Á\10\99|ÁÓ%\15­\95\99ZU°KL9\95çÒQ{Q+º6\99\15¢à\98\11\99Qid\92\11\r©M'\ 1ÆÖøº6 \æê\87v¼ðºã
-ÏG=\93\9b}\80\9f\90@\v7\ 3?N`\83oÊT£æ\ 6®sõv§×ã4+æf\98\10MH0c\15j\0ð0;\94\83=\98Çhı\b¤KµBÓ+@w^\12¬d\1cÅ Ä!Ë þ|ñk\9fÓä\ 4ú`tbjà\89\ 2\8b<\89\80à\95µà'\aë-f\8e$\99àÜÚ)\1eÔø1&¯\88Z=ÈdQ£\\17h\ e:\9dÄ^\16ìßm\90çѧ«ãî\ 58\9a\1e\ f'''4\99NÓ{ìîôúì\14\ fFp\83ý\ fô7F\1aÍ8í¯÷îO\ fNøññÆÓr<\1d\ f§\93c<,ñýpÂÇ.g;ßwþ\ 3Ýhèûendstream
+ÏG=\93\9b}\80\9f\90@\v7\ 3?N`\83oÊT£æ\ 6®sõv§×ã4+æf\98\10MH0c\15j\0ð0;\94\83=\98Çhı\b¤KµBÓ+@w^\12¬d\1cÅ Ä!Ë þ|ñk\9fÓä\ 4ú`tbjà\89\ 2\8b<\89\80à\95µà'\aë-f\8e$\99àÜÚ)\1eÔø1&¯\88Z=ÈdQ£\\17h\ e:\9dÄ^\16ìßm\90çѧ«ãî\ 58\9a\1e\ f'''4\99NÓ{ìîôúì\14\ fFp\83ý\ fô7F\1aÍ8í¯÷îO\ fNøññÆÓr<\1d\ f§\93c<,ñýð3\1f»\9cí|ßù\ fÝ^èúendstream
 endobj
-616 0 obj<</Type/Page/Parent 553 0 R/Contents 617 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-617 0 obj<</Filter/FlateDecode/Length 1041      >>stream
+574 0 obj<</Type/Page/Parent 513 0 R/Contents 575 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+575 0 obj<</Filter/FlateDecode/Length 1041      >>stream
 x\ 1mUÁnã6\10½û+\ 6¾4\ 1lÅv\1cÛ9&»I\11`½íÂ\ 6ÚC.\944\8aØH¤JR6¼_ß7\94ìÍj\8b \89M\ e9oÞ¼yüw4§\19~æ´^Ðí\8a²z4Kf´\9c/\92\ 5-7k|^à×1\15£ÇýèæyIó9í\v\1cYmÖ´Ï  á³\19í³«\9dªSE¡T\81|[\14ì<\15ÎÖXÑ\9e\1a\8aë   ÙP²#Ïî \ 1¾ÍJR\9eþÒæë\9erk~\93ÃMc] FÄ\89\ eÊi\15´5d\8b~)SUu½ÿg4£éü\160÷ù\9529é@%®RUm} \8c]PÚT'J\99\r)*Yå*+Q\88u´ÝQ\8eû+Û\b\8a`/I\81\8eê\13\92o·}$É\86\10)K9\1eæ=(])T\96ô\e\8b\14@{TÉr\80TjÛ@«;\1a\aÛP%YÇ$ycU\9e´Áå\1cS\81¤`3[Ñë\15H3o\9e\1e·\1cÀ\93\14        DG§\ 3¿^'´³5\ 3å\0\12\8c[³ªÍ\99ÊÖä\8es/Õø6\9d\16­É\84M\8f\1c¸+8\85\8f\91\0l
 ÄÍ\17³\9f#'\1d\8aÏÖÿé´ ß\1eò\be\90ö+\87\1d{\8f«\9fL[\v¼\87ª\92¬À\ 3\r(Ôᥣ
 \8bM\87 r\9a)CY©Ì\eG\1a\8eê$ÿOt´î=¡­2ø.\87\9d\ 1õ\97r\e\8b¤h\0\8dµAgëN+\91f?ÆUhÛ\87ë}pm\16ZÇ}G\rs.íO\19\12Ǻá\1c¼F!÷2\14AU\94¢\85\8b_\93Kã>¶õÂnB/\17!\ 3´Èp\ 3ƽ¥B¹×ë\9e\17éf×\81\9fZ\93ÐÓ\ 1\92\8d\ 3ÁþÃH\f(\8fÌ\ 2ÝP{\1dþ¬u\8eM@æK%m#µFиüË\16³;_\8ce6£ì&t,5æ\11ã*1Ö0¶\18\83\f\ 1Qz\92!½¿\13\15\ epÄá½Mî\12úÒfï\1a\19Ï#ß©96£\13\19\8d3Õ¨TW:hF\7f
@@ -1251,26 +1140,27 @@ x\ 1mU
 ¸~\88I\ 4&®"õÂ?|B{q\9e\92«&\8ex-2\92ÂtÝÀ\8aÀÍÅWþ\ fo\rk\1aäÅ|hvCº÷qÔ\91IUè¯:[\1d\1du(c>q\91X\Ö\8d<\14\86\159@\7fßüÑ Õ²;\89"\13|ýbjí»DA1ÑH\a`tΪ\9aDS(`B±ÄÌJýµ\f\r\8a\ 4  Ê\ 4\á[ö\98bV\a\98
 Iag\1dèZ½i\13aaØt欷EÀ,d\9dt  Uó°á\ 2RJ8\v\87>½<ï ïO¶®aÔ/&0&)гÆ\îN>0\f!"-Õ\ 1¢jÓJû\12ÍC#;f
 }á\ 6t¿Ä9Qø ft\96\9d\86\7f÷2¶\10OÏVn³VzêÏ4ööë\83ÆüÂ\ 5û}dí\1c]Ü´`\15Í \97J¯À\ e
-x\edWpN¸·¼(£8\94\bÐÈl¨\8e\83\ f\8fJ\8d¦H\18JÅÃ\84'      ±\bìH.BTÑÍó¦\7fNçëM²º¿§Åf%ÏÇîaûø@\9f\7f<Q¿·è·à\99\9e#§ëÙ½\84®\93U\82H´|ks\8e\98\97ëe²^mðFc\7f±\96cOûÑ·Ñ\7f¤Û\9cÖendstream
+x\edWpN¸·¼(£8\94\bÐÈl¨\8e\83\ f\8fJ\8d¦H\18JÅÃ\84'      ±\bìH.BTÑÍó¦\7fNçëM²º¿§Åf%ÏÇîaûø@\9f\7f<Q¿·è·à\99\9e#§ëÙ½\84®\93U\82H´|ks\8e\98\97ëe²^mðFc\7f±\92cOûÑ·Ñ\7f¤Ñ\9cÕendstream
 endobj
-618 0 obj<</Type/Page/Parent 553 0 R/Contents 619 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-619 0 obj<</Filter/FlateDecode/Length 1533      >>stream
+576 0 obj<</Type/Page/Parent 513 0 R/Contents 577 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+577 0 obj<</Filter/FlateDecode/Length 1533      >>stream
 x\ 1\9dWkoÛ6\14ý\9e_qç\ f\8d\v8®íºNZ`\ 5Öu\ 5\f\14M·x\1d\ 6ø\v%Q6\e\89ÔH*\8eÿýÎ%)?\94\ 6\18Ö\a\12Hä}\9dsϽúçbJ\13ü\9dÒõ\8c^/(¯/>¬.^}zK³       ­J¼Y\ßЪ Éx2Á\93|øëV4^Zº\19ÓÊ\8a\r9Qg\82ÜÞyYS.ªÊ½\}\87\919M§ÑÈÕìf<\83\99áj«\1c\95ª\92TH\97[\95IG[³#o¨0tf\84<ÌK2\9aî\82}\1cÙ\19{O¦õ´Û
 OÊ;\â\0vÖè\râaãø§\8d§ÒX\ ebBWÓ×ѵßJ*\85Ò\9eLI[)¬\1fQ\ 6[ª¤½iIXIV\8a\82íy6\84óúð¦±&\13Yµç°\ei\85\97ãd~¶\18Ï9³_rß"õ}\b\8b#\10\8e2Qð\ föÌÿEf\1e$Õâ\1eI+Oδº\18Ñ÷Öyä¡/=ÉÇFæ>\9cE\96\r\82\99¤\ai÷ÔXéý\9eÞ]­_ö\ßÞ\8f``§ÃéÖ)-\9d\eÓ­FñÊ`,S\e\12Å\83Ð^là\eO[­\1e\13b¡d\9e\v\8a\18÷¤Q\19d\81T(7µ¤\9dòÛ\ 3\92\ 6\84Z¯*\85È\82\rÜ3;\17ê\86Øk£\9576X;åG:\8b\9cÌÆ\8a\9aACYPú#\88òÑ[YK\84Â\19m~\0h!³v³áwB£Î\953\80µj\1cØ\ 1ä¼Ý\a(ÏX³GÑk xq      >\1db\ 5\95\11xD:Ö\7fL\7f\83\ f9\9eµNö2NI05Ù\ 6\17\87ù(4,\ 3;%BÕ\1aU        ¯À\Óð\ f×çÊ
 d8±$©+!bâþ\91\ 5\15ª,¥\95`k\88\16 é\93gñr\0\99>+Ý\9e`\89¦H&\h Îw×\ 6\7fê\ 2)ßµúö\8eæ\81¬éx<Méý·?æäü\1e\8d\9a|Ñz¨t^µ¡A\9c©\84UnýòÜ@˼\8b\ 6j\94¤W»\ fw\1f\ fƸw\93ßû³0»vâ\12\95Ê¢5"ZÜ¢\ eµ®P\1aÃØq¯â\1d÷\93¦\ 6¼f\860ï,i\14\1f\8d\96*Ìn¢\96Ø1-A\fÜ)\94Ë\11,C\94I\90 \17éò\12W\84s-ø\7f\12i,(wtú\ra°5£ÁÒÆX\ f\85\rYY®\1aR\15\ f\ 2\94à·\1cdieü\85\8b\14Z±çßï\eÉÅe^\87ëÌí\r4\85ÙÛ5µV¹DyJ)|kå\13\8e}A\ 3\8d¸\vRÿ¤\90\91q0âTÝ \1c´8\82(\0Û'\ 4&\1f\ 5?\1dq8¯>½Iò=ìÒíëú\90¢Èþà¨Ì·¡\e+\13mu£`ØѱÃ\19­ÆÅ\86`"\1dT3è:ëBÑ"=\bÏçÛ\15g\1cõ\10\0B°Q\7fÌ\fî?f\ 5# ì\ 6XiT\1a¢#\83\\9e¡\9fÔ­WæN}¢"s±Ù\16jÙV~LßXt!l\1eeÂÌk¤\86RjDÔ];4ÿ\19Ó\80\14\91\9e*\83\80\8e±÷¼§Ì\83n\95*8\7f\92<,°\81\ 1´\1f\92\ 3\96å!\7f\8e·2qhá\9cÛb\8a\15\b:³hO\94\1c%ÛhcûB\16FÜzØê
 Ã"\90ls\1c¥?=\191§ì8r¾Â¨\89\98!>\9e}µðØ\rB\9d\10Ú34z\96\e  d\0ü.^\9dÐÛn\7f\98Ç)»³ÊËõp:¢\ 1´¾2ëµ\1e\8ch\81^yòçgZD+\1d÷°\vÌ\16\83 D¤\ 3\9bÂ\ 4v\98®L©¶a\ eÙ6
 EºÏZ\9e¸\1ak\v\90¾ÄÞP\8a\1a#PØ8,\93îÒÊð\0Am\8f;\f3CK@\ 4\17©!\ 3åZ­Ù·«3È\9b\90\18\9b<\bû\98íÄ\9e\96ä%¸\ 2^$Û¬A&Iee0\ e!/¦¦zO\7f\81T<\8b¿þÊ'ØO\¤\9c´è\10h\ 3\8f\ 2·ÎCE\92%]ô\98ºÛª|Ë´GG:Z~\8c\90ç\95âñ\ 4ÿ\0]äÛ\90
 \89´\ 61.!Öϰડ¯Ë\8fç\b\r9Ðh-\86\8c\86HnAã^T u\1dH\aÊ+ÛíMÎc¼Ù\8e\14\81êIè\82\83¸\80²\12cLc\18b¡k\9d¨Î5\90÷Âåe\9dÔSô\9cçn\v\0Ãxd\1e&¾v\8a\19\98\16        \9bP¾*            ¿¾Á\96ýþE\82~\fM;Ïÿä\1e\82ë6¯ÿïéÄ\11ÍÞ¿\98>ëí\8bñqE\1d\\95\83´µ\1cW±0ß\8e#ì0BÂÂïFiý:ÝûÂð\v{xè-æ^ÞZ^gzuLèÆM\9c§a¾UU\81\83Ü6@è\1e\93i\95Öú\rD&<\ 4~:¬!\8dÅ:Ï\8d\ 33PÇ\9aw
-\10º \8c·QɺÉû~Â~Ðó\9d\1a¿\1dben\8e\1f,oÒ\aË\7fþÜ\99_ÏÇ×\8b\e|1Aaf7lð·ÕÅï\17ÿ\ 2¥·\\8dendstream
+\10º \8c·QɺÉû~Â~Ðó\9d\1a¿\1dben\8e\1f,oÒ\aË\7fþÜ\99_ÏÇ×\8b\e|1Aaf×lð·ÕÅï\17ÿ\ 2¥­\\8cendstream
 endobj
-620 0 obj<</Type/Page/Parent 553 0 R/Contents 621 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-621 0 obj<</Filter/FlateDecode/Length 815       >>stream
-x\ 1\8dTaoÛ6\10ýî_qÈ'\a\88e[5l¹ÀP$iR\ 4Ø\9651P\fKQ0Ò)fC\91\1aIÅó¿ß;ÊJ3\7fé`\18\96EÞ»wïÞÝߣ9Íð\99Ó*§wK*\9bÑ,\9bÑb¹Î
-Z\14+<çøz¦zt±\19\174\9fÓ¦FȲXѦ"\\9fÍhS\8eomÉ´w\1d)ÜV1ªrËUz\11·l©T\96*G»­\8aüÂ\9et$\1dÈYÂ)\95\8dxTém©º í\13µÞ=\1an\ 2)Û#í´1§\9bï£\19Mæï²\1cùÇ¥jc'\19\8dIPa\1f"7HgLè\ 1CóXQ£\9e9d\87Ø|\99-$öÞÑÖí\84\96ðÖ6²o=\v\ fFÉ¡31| OlÙ\ 3mO7\14Xùr\8bsïº'ùer]l»Hµó\14¢\aëCÖ\ez¶À\16ƤÚ\16\81GÄw¢\8a \1cª¤­\³!£k`ñ?ªi\r\9f\91®\91W58}\11I¢ë       `ã\96\8d\ eA;\9b\84TTk\1cÝÐÎu¦\1a¸\82ØQ⤲\\rdUè;Ñ\0{\85\ e\1eê\11Å\8dsÏèd\7fÚyÔl+á`´\85\96tn\1dè{BÕå³43:È\1c¡O×&*Gy+\ e¥×mDu¶k\1eÙ÷}=©\9d1nw\92¬1\88 X0\8c\83 }U\9d\8dÚ\1cLS\1a\17¸:næ\ 5ï\1dHÇ-\98H;\93òP\8d\ 5«\vÉ\9b°\9dÕQ«¨_8£\8d£'<ô¦µ¤+Väê\9eÇ`dÑ@j\96þ¢X¨\ 5ÖG\85µ\9aE¸Z\fðF¤s\80Á\ e\8e\90¨é5f-\rÐxZñËÔv½¡\7f\fÖX2@YtÑ£\8b;¯#+´ü\f¼4´\95Ù@çZX-ö\86 ZA\1a\11¯{Õ<ª÷CÚu?¶\93\9bÿ¯VW\94\17ù²ø\9at~\18\9f¼R:9£Ûow\1f¿Ü=\9c\12Ñ/\986º:¿¼¼º§\87ñ\1f¯®£\8a­æêátÈ;ÃÒÀXý\14ùËÝíï¿þ        ìÿ\85üC\e\8c\94\f\9b~lJ\ e!\19Ïï\a\ f±·ÍP÷Ïäö¬ªI\92Y\8cn1øøï¬Ùgt\ 1\83'uá\15±UÃÊ\86ÿâ¾ÙD¯êõ7\86M9\86§ÁÒ\96Î{.ãÛ©M\16\9e^\17\aKÌWE¶\¯)Ï\8bÃ~:ÿíâ\9c>b_\1aL\ 2æåS\a\93
-üd¸;YÍÐØj|\89í\81õE\ 5¨Â\84"G\90öÓÛ}(\91\8bÕ"[-\v,pDåkyuµ\19}\1eý\vý[ç\9dendstream
+578 0 obj<</Type/Page/Parent 513 0 R/Contents 579 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+579 0 obj<</Filter/FlateDecode/Length 815       >>stream
+x\ 1\8dTÑnÛ8\10|÷W,òä\0±l«\86­\148\1c\924)\ 2´\9761P\14\97Ã\81\91V1/\14©\92T|þûÎRV\9aú¥\85aX\16¹³³³³ûm4§\19>sZåôfIe3\9ae3Z,O³\82\16Å
+Ï9¾\9e©\1e\9d¯GÓ«\ 5Íç´®\11²,V´®\b×g3Z\97ã\e[2í\G
+·U\8cªÜp\95\r[*\95¥ÊÑv£"?³'\1dI\ar\96pJ¥Ñl#\1eUz[ª.hûH­w\ f\86\9b@ÊöH[mÌñú¿Ñ\8c&ó7Y\8eüãRµ±\93\8cÆ$¨°\v\91\e¤3&ô\80¡y¨¨QO\1c²}l¾Ì\16\12{çhã¶BKxk\eÙ·\9e\85\a£äÐ\99\18þ¤÷lÙ\ 3mG×\14Xùr\83sïºGùer]l»Hµó\14¢\aë}Ökz²À\16ƤÚ\16\81\aÄ·¢\8a ì«¤\8d\³!£+`ñÿªi\r\9f\90®\91W58}\16I¢ë      `ã\86\8d\ eA;\9b\84TTk\1c]ÓÖu¦\1a¸\82ØA⤲\\rdUè;Ñ\0{\85\ eîë\11Å\8dsOèd\7fÚyÔl+á`´\85\96tf\1dè{BÕå\9343:È\1c¡O×&*\ay+\ e¥×mDu¶k\1eØ÷}=ª\9d1n{\94¬1\88 X0\8c\83 }U\9d\8dÚìMS\1a\17¸:læ9ï\1c\r\98H;\93òP\8d\ 5«\vÉ\9b°\9dÕQ«¨\9f9£µ£G<ô¦µ¤+Väê\9eÇ`dÑ@j\96þ¢X¨\ 5Ö\a\85µ\9aE¸Z\fðJ¤s\80Áö\8e\90¨é\15f-\rÐxZñóÔv½¡\7f\fÖX2@YtÑ£\8b[¯#+´ü\ 4¼4´\95Ù@çZX-ö\86 ZA\1a\ 1¯;Õ<¨·CÚÓ~l'ù¢7ÿß­®(/òeñOÒù~|ôBéè\84nþ½}÷åöþ\98\88þÀ´ÑåÙÅÅå\1dÝ\8f?½¸\8e\9a«ûã!ï\fK\ 3cõKä/·7\7f
+ìßBþ¡\rÆ>_J\86u?6%\87\90\8cçw\83\14Ú\87ØÛf¨ûWr{VÕ$É,F·\18|üwÖì2:\87Á\93ºð\8aتaeÃϸ¯6Ñ\8b\8daS\8eái°´¥ó\9eËøzj\93\85§WÅÞ\12óU\91-OO)Ï\8bý~:ûx~Fï°/\r&\ 1óò¾\83I\ 5~2Ü\9d¬fhl5¾ÀöÀú¢\ 2TaB\91#Hûéõ>\94ÈÅj\91­\96\ 5\168¢òB^]®G\9f\ 1ýQç\9cendstream
 endobj
-622 0 obj<</Type/Page/Parent 553 0 R/Contents 623 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>/Annots 328 0 R>>endobj
-623 0 obj<</Filter/FlateDecode/Length 1651      >>stream
+580 0 obj<</Type/Page/Parent 513 0 R/Contents 581 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 301 0 R>>endobj
+581 0 obj<</Filter/FlateDecode/Length 1651      >>stream
 x\ 1\8dWmO\eG\10þί\18åK@Âw>\el\1c\84*B\80¢\12âbWi*KÕÞÝÚÞr·{ÙÝ3øK\7f{\9fÙ;;`Ò´ ^öm^\9e\99yfüu/¡.¾\13\1aö¨? ¬ÜëF]ìl\7fÝ_ï%ÇGQ\97\ 6Ý\1e~\97¸\95D\83vUÐ\84ïSÿ8\89z|6\1cEývµ=ë\1dE'8K\86'x×\ f+>K\86½hH½ÑIt\84Ó^·\e\1d·+>}¾ÆéÑ1n5w7r{xÏöô\86Gü2¬¶g¸?\b:Ù:~= >{?Ý\8b¯FPFÓ9¼\1e\fOh\9a\a\93í_,E奥QDwSú`J¡4Ý\8f/Þº\83é_áe2l^vúGpx\9aï\8f¢$¢\eí­ÉëÌ+£\9b\9bG\94$íÍÞ\10ÊqsºT\8er\93Õ¥Ô\9e2£=¤;Rznl)ø)yC\955+\95K\12\9aMx4öÁùæðQù%\15f\ 1\93\9c´+\95IwH¼ijO~)IK\99\13\84á-\eÑ¥NÒo\8c\84$~"-Lõ\ 43øº[\94\ 5aϱf3§¥÷Õ»8\86ÏÅÒ8\1fei\12\8cÿ.\1e²"ÎÔÜi\9f\aH"ÿä\ f\83\aÖ\14\ 5\94¦kº­\1fdÔªí\r\10,x\f]\ eÖ\15¸ ©2Ω´\90ì¤\93\85Ì<    À\11 \ 6\ e^\8a\9c­\10Áç\855uE³}øʦ¾Dâ­£éÅ8¾\19C\8e÷J/Üì\0>ç;N\8b9\87\92\9f\9b´P\vá\8d]\93\95©10Þ¯+ è¡®\ 62Z\94ò\90\1c\0Ï\ f\aáäê\f\88»y]\14k\ e\ 3^\ 3MX\vÿv5W\95\95\99\12\9eø¦9â\92\8aì\81\80óÚÔ\96äS%­\92\1aòB\0a$b\82ȳ\82Cv%¼\ 3ø\9c*ØÉ\8c\85@N\11×\9cæ¹
 «\1dÅ\806\88ÚdÙn@¦\0£\82%Ò#\13¥Ë¬J\11½¥´\922$\1c¢$\85Sð/\87}+Î&kJ\84!X\84K01\15)ÎS\0\ fpk\8d\8bÎ\e\93\ 3F\ 4bv°cÐ\9dô¥Ñ\91|\92\11}15¼-\8a&Oa*\90\ fáy\96\83Í}ì
 O¨\89l   \84\ 2dn\8d\f)\ f9d\88\10ÇÕlP)Ö;Js\99\19TPH\9cËéí§ëOw\87T8a«, çìÊ­2\9a\9d@\1a\92\97õɵú\1c\ 4¤à¤©:\1as,\93\1d¥\f\91\ 2¬!T®2:\a\1eÏË«\85¢-@¥½\ 4xyã*°\17Z\e\14:v\9a\0\91·"\93¡p\ 2µH¤åãReË\80á\8eòB=È\10\15*\rÂÄåd\99\8dV\8c\ 2\84ÿ0)Î\vgBLX\ 5`m2\\95U!\ 3SÁó\96 o\ 3ù´0 -["ÙdÛ&¥Øq\ 6?³ëÊ\9b\85\15\15ìÞ±¸\12Ös¹\87 MIÔøG{\95\ 5ªûN,Ä
 ÉÍ\ f\9c(SpQ8Aù!c\17¸bpdÉ¡`Q\96»\95t\8e@WkFà¥eïZu\e
 lIUû´^ ¢_#\9bE(\88\93\8bû\9bñt\12\7f>\8f.\7f¿üé¼w¦t>\1avONo϶×O?\9d\9d\9f\8eÏz£þñ÷\ 5ÿ\e[3ôÑÒ\97ÅÎ3ØÝ Õ±\8do@\1cä×ô\9d\86Ë\95®\1dÝ¡ÐRi\17M\98\1a\82
 xÿo¯\ 3®\91±\8b8[¨Nªt\Î]ÜMâ\ 6ê8\19\8d\86ñh(êEÜí\8f\92ïÙû\1fM)¸\89n´ë%§4è\ 5åõ­£æ\121@÷dæþÖrÛ\1c¾XJ\14õûZ¡Y=ç£\17-¸¡f©\91\87,\86\v¥U¼i´ÏuÐ]K>m:s®dK%\99WÑ0ÛÞ\15*`\8e6j\1eYæýåõ\9f\93?Ц\16
-5¼¦\a¹f\1fºOÉ<|\85ü\8a¯0°mÇ\8b¶ÙþüËíÇÙlòe2½Äß\8b\1a\1d\vL\19èÑ\13éqÔ\ e\r³\19¨\b\rÌèÙl,,Z\1f¨¼\1dp\ 6¯åÞè¶û @¸        \91äÞ\ 3SÛêÝ\9aÊ\1d$\13\81±KvV\87v?Gí2\b\124·ÀÐ\83\ 6\vöÆuµ\91½\ 3ãËä|\95\80\11¨XÒ\9b[%RU Ìß½!\91\9aU3\7fÄWÏg¯\16\9c÷RXî\1d%j\f\88£»H\98·¡Z<µ\1dT{ç\11\1e6=j)À\9dÌçÆ*\9e¸xTÐt>¾\81ÝEã\8c\95È"\8c\rL\13hôøiiØ\9b\1dwÐW\eB®-ÏlRc\ 4´¡î\9av\9eË9\90â©\f\86± \80Ø°ð\86Z\912²pò\91UíRÑ«¾\85äÒ\86J\89ö\ 6\96b\1eÇ Âc!H\16îð8      ¬è£Â@\868\82,\9bÉ\ 2Ñ(ê\1c\1e¥\18\ft$øT*îJÞ\84ÔÃG\84Î\86Û>\8aª\82\0`4§û\9b\ f°?\14]\98¦\;5ð\98Úá\82\12³\83`x\a\89\8bY;ßÇØÌ0a¹\1dS?\aÿé7Ldtó!Ð\fÂõØì^\87\910l¿\14Ôk\ 4ÅW'mòvzÇÔéó\a\ 6¨ùñH\7f\84Ï\ eÃÁIcQ¿Ë\ 6]N÷~Ýû\aɶ5«endstream
-endobj
-624 0 obj<</Type/Page/Parent 553 0 R/Contents 625 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-625 0 obj<</Filter/FlateDecode/Length 1751      >>stream
-x\ 1\9dWMsÛF\12½ëWtù²r\95\0\93àwr²£8å*IV\96Lía\95Ã\10h\92\13\ 1\ 3df \99ùõy=ÀðKÞ\1c¶T&Mp¦?^¿~ÝüójH\ 3ü\ri\96ÑhJyu5H\a4YÌð:\9eËk\86\7f\96i\13¾\90G\93ï}1\9a\8eÓÅå\17\9fVW\1f>\8fi8¤ÕF¬Oç3Z\15\ 4\ f\83\ 1­òëÕ\8e\89¿©ÜSÅÊh³ýPðF\eíum¨ÞÐ\8b²ºn\1dUj«sÊkã¼2ÞQm\89M[±UrÒ¥ïW\7f\%ð\ 2£Åõ(%ù\8c\8fÉp\94fòHüXnÊ=±µ¸\9c×\ 5\932\ 5µ\8eÅ\8fß)\7fúÕë\8e\r)z­í3<\86\9c×\15;<­¸Z³\95k\8a\8aºRÚ\88»ÁÑÛÓµ¯iÍT°Ë­^sA¥òl\9fÞ§ôYé²\ 5\988`Ù·ÖÀµvg®uY"ßg\9cAЧ\11 \81Úú.VíI»\90õ\89_UZVÅþ,D1Ò\ 5y\0)\9b¦c\ 1e|Äi´H§òHNçvßøzkU³\ 3æN\ 3©\80\10Ó\ 3{»dûÂöQ9\87Ð\8a%{`YU\80ò\86^q~\87\88Û² U\96õëe\ 6\170\ 1\83|§Ì\96I£¤Mo2¥\95 \12?"M)R!\88mÙHÅ;dÊÚl\13 Z\91\84/ϼOé¿_\ 4\19jj<[\97\ 2ô\85\7f\16`?\84.TxfnBÄ  jK\7f\86}\fç÷7(N:\14?|^Ð\10°n(É&\94Lfé\\0]¤CüѲnmΡ`Ç~\18¦ãQ\86ãóð\8eÃù3à\Y\85\93´±u%\80W5º\ 1\8c\16äuÎô¨òg´«\84¬Öõ\v\8f\19NÓÁt"^Û\92\9d\a&rê®\ 5\99îXoåÉ¿Ð<¨²¥w\ f\rì}\a\82ä]^B¦\83\95ÏKù\ 2]fú\16H(×\e7Mý7ÿÆåÿ8\f\16eñü    D}ê£,\9d\ 3\82\1e§,¥\9f,\17 \83Xÿ\a\9c\1eQ\9e\1f¨¬U\81\9c6¡\ôªýN`£û\ e·\1f©5\ 5[\91\8d\ 2ò\12ê\8bÄU\v\f\8c×y×Ûnï<W?¢%7lÙä\1cÓëåCWMÉG\1cb;¬úÎ"×6¡5\ 1\ 4\81]\11<ácmõV\e\9eÖ
-tþ\ eÜ·­É\95¡%Bu\eÍe!¹½&%¿p\89:ªrïÄÐ\86î\97ÿ~ü\89\1e\9dð\9d\15íN\eèå\ 3z\13\1aµý\81\1a[\17m.©çIP½@,A\10LèZ\9d\Ã]ýÏ,ýG\9b¢~u=w-Ô\f\81Ô\8dÀ@\9e\15    ¬\87¤\83õ±¤\93cIQÐ\87Ú\8bf\82\85KoÛ\1c\8a\17» ¶\v|\8e\ 6\9dú,ÒL\9a%Ü9§\0FG\92Éè¸þ"\8aÉ´¼ÿ$\9db\9cÌ\8eF ¸!\a}¦wG?ïnN\14\18\94ç\eRMÃÊ\8a\96@\9eÇÉz\ f1Q¥Þ\1a\b\ el_Ô^<í «lq]t\83µ%ðÉú\94~\96Ñ\85\92vE?uM\86a2\98\16ìQ8S#P˹v\8c\eϦ~Å\84³\17Î"e"A0âZ\ 3\189,S-ªu\8fÅo·\8fô°ºûúË×\aºÇ|qeíÿ\ f8²38.\ 2\8bàt\99Ç\81\80Ù\17¼½AFnË<\8eó\17L\88ÁÇ|:í¡å\97ÛÐ\1f2\83±cÔ¶\ 2ÈËÄò\8b\16QO0l»tì0\91×,MSy\7fH\89ÓíE\9cËd\98L\92a6JÆ\93i2\9b/âÿÓ`\7f\82i%ã  ÕWèÚõÁÏAÖcÄ'KD\8cX\99½¨I/\89(ïºÝ@/0k´Á Â\96Ò:/¦\râþ\8bmMºËÊy+$è\8fct\a\9dqBC¬4\1e\vDP<é¾^p0\171\ 6Ä(\92<\90\fȼ¨²\róoOn\17S\ 1»Z\13\18\95Òà\eV+,t\83A\86ÁÈUðRÔ!{\84\81Ññf"¢ÏE\bÅlGð\18)\7fÓÎ#\ 2E\ f¿ÝÝŧ}º\14¯ÁC¼w\91hP«\0DÉfëw\ 1ä\93,¿tð\9cÃ(l\10w7\12²Áj \ f\+\1aåe\r8ñÕé\89\1c9\ 2*·¿®¨iqÏ\0à§ë7Mæ±\¡÷p¢Þ<½\177AN
-åÁ     \8f\15ªêw\10ØâªÑ@-\b7$@¿ \ 4\e¡ª\94F&C\b\95î\96\1fiùñþ\82\90\16S\ 1ª×`Oe¬52äeW\82\1eE~ü\ 3\0²ûXdÒ5\86l9\b\ 4\9ca+\80H\96\17>%£³l\8e:\85\ 2ïD\ 4\8dëô\ e\ 3GY«öÒÑça¸è)\10\v\1d^z\10\83\98_¸c\f\18Ч m\8bM\8cd\88¡ *Hæ¡«\16Ù\9b\95s8\98\7f\1a\ 2àï\87\ 4
-§bwÈêÜKw óN½Hÿ¢\951\8aÂ\1e\14{0\8d\90\ 1+¡_¨ÏEÐ\a\16c:\95®\ eçR K\9bÖ\ 2?\8c\ 3\f\1c\98\84z\9f2çû¼é;>º¿p\1a\85¡ç¶Ôé2\8ex\ 4\99T\15\96!\0\8bq±©e\9f\8e\vÌÉ\1d1Ñã°\85\8eÜ\8ìî¡4kü*8)u/;HSDð\88\92½Á0+å\a\ f\19\8bÎÓ\18¯j\ 3Q
\97Ê\1d¶À^µÎl\1dj?Á\92'\93û°(Ïûß\83ÃÉ(\9d.\164ÍFéh\18Π\7f>}¤ÛnÓ\10Iý¥Åï\ fI*\19Îæát2\e,âÆx¾Y\8fgãt6\9d÷?\ 2\87rëçÕÕ¯W\7f\ 3ì\0¹Üendstream
-endobj
-626 0 obj<</Type/Page/Parent 553 0 R/Contents 627 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-627 0 obj<</Filter/FlateDecode/Length 537       >>stream
+5¼¦\a¹f\1fºOÉ<|\85ü\8a¯0°mÇ\8b¶ÙþüËíÇÙlòe2½Äß\8b\1a\1d\vL\19èÑ\13éqÔ\ e\r³\19¨\b\rÌèÙl,,Z\1f¨¼\1dp\ 6¯åÞè¶û @¸        \91äÞ\ 3SÛêÝ\9aÊ\1d$\13\81±KvV\87v?Gí2\b\124·ÀÐ\83\ 6\vöÆuµ\91½\ 3ãËä|\95\80\11¨XÒ\9b[%RU Ìß½!\91\9aU3\7fÄWÏg¯\16\9c÷RXî\1d%j\f\88£»H\98·¡Z<µ\1dT{ç\11\1e6=j)À\9dÌçÆ*\9e¸xTÐt>¾\81ÝEã\8c\95È"\8c\rL\13hôøiiØ\9b\1dwÐW\eB®-ÏlRc\ 4´¡î\9av\9eË9\90â©\f\86± \80Ø°ð\86Z\912²pò\91UíRÑ«¾\85äÒ\86J\89ö\ 6\96b\1eÇ Âc!H\16îð8      ¬è£Â@\868\82,\9bÉ\ 2Ñ(ê\1c\1e¥\18\ft$øT*îJÞ\84ÔÃG\84Î\86Û>\8aª\82\0`4§û\9b\ f°?\14]\98¦\;5ð\98Úá\82\12³\83`x\a\89\8bY;ßÇØÌ0a¹\1dS?\aÿé7Ldtó!Ð\fÂõØì^\87\910l¿\14Ôk\ 4ÅW'mòvzÇÔéó\a\ 6¨ùñH\7f\84Ï\ eÃÁIcQoÄ\ 6]N÷~Ýû\aÊ\ 55³endstream
+endobj
+582 0 obj<</Type/Page/Parent 513 0 R/Contents 583 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+583 0 obj<</Filter/FlateDecode/Length 1753      >>stream
+x\ 1\9dWMsÛ8\12½ûWtå²N\95Éè[ÖÌ)\19O¦Re;Þ\95¦ö°Þ\ 3D¶$\8cI\80\v\80v4¿~_\83\84¾\92\9dÃ\96+R\ 4\ 2èîׯ_7ÿs5¤\ 1þ\864\1fÑxFE}5È\a4]Ìñ9¹\95Ï\11þ9¦M| KÓ\1f=\18Ï&ùâòÁ§ÕÕ\87Ï\13\1a\ e\91Ûg·sZ\95\ 4\v\83\ 1­\8aëÕ\8e\89¿©"PÍÊh³ýPòF\e\1d´5d7ôª\9c¶­§ZmuA\855>(\13<YGlÚ\9a\9d\92\9d>\7f¿úã*\83\15\Z^\8fs\92ßø\99\rÇùH\96Ä\8eã¦Ú\13;\87Ã\85-\99\94)©õ,vÂN\85ÓGo;6¤èͺ\17X\8cÞ¬¹°5{¬Ö\¯ÙÉ1E¥­\956Ñüàhîù:XZ3\95ì\v§×\R¥\ 2»ç÷9}Vºj\81&68\ e­3°­ý\99m]U\bø\ 5{àõ©\v\88ÀºÐ9«\ 3i/vO̪ʱ*÷g.Ê\1d\9d\93\a\90F³|" L\8e8\8d\17ùL\96dwáöM°[§\9a\1d\1aHE\84\98\1e9¸%»WvOÊ{xV.9\0˺\ 6\94\86ý;8ÜV%©ª²o\97\ 1\ 4\f\8a\9d2[&\8d\9c\9d\ 4\91ô\13aJ\96JAlËFRÞ!SY³Í\80jM\9e½\17¼ð>§\7f}\11d¨±X[W\ 2ô\ 5J\8eÿ`\10.Â~ð]¸ðÂÜD\97ÁAÕVá\fûäο¿\83qÚÁøáó\82\86ÀuCÙhJÙt\9eß
\8b|\88?ZÚÖ\15\1c\13v,\88a>\19\8f°ý6~csñ\ 2<WNa'm\9c­\ 5ñÚ¢\1c@Ùçk\81^\17LOªxA½\8aËjm_ùù}\8ap\96\ ffS±ÚVôÑï\ 20\91]÷-ÈtÏz++\7fCõ Í\8eÞ=®è.Ò÷\1d\18Rtq \9b\ e·|^Ê\ 3\94\99ék £Boü,\ fßÂw&ÿÇfÐh\94ö\9f\87>\1eå·\80 Çi\94Ó/\8eK\90Anÿ\v\9c\9e\90\9e\9f¨²ªDL\9b\98.zÓa'°ÑC\87ÛÏÔ\9a\92\9dèF      }\89ùEàª\ 5\ 6&è¢+n¿÷\81ë\9fQ\92\evl
+Náõú¡ë¦â#\ e©\1eV}i\91o\9bX\9a\0¼«\82È®\ 4\9eðÑ:½Õ\ 6e±§µ\ 2\9d\7f\0÷]k
+eh     WýFsUJloYů\!\8fªÚ{¹hC\ fË\7f<ýBOºáNùÎ\92\r\ 4ó\11Å        \91ÚþD\8d³e[HèE\16e/\12K\10\ 4\13ºZ'ßð\8fòÿOmJûæ{ò:È\19\8dà@\81UÝe  ´\87¨\83ö)§ÓcN\91ÑG\eD5AÃepm\ 1ÉKe\90ê\ 5î\8f\a\9dþ,ò\91TK<sÎ\ 14\8fl$Íãú\8bH&Óòá\93\94\8añÒ=\1aÁâ\86<\14\9aÞ\1dí¼»9\91`p\9eoH5\r+'b\ 2}\9edë=ÔDUzk 0\91;¸û"ùbi\aae\87ã"\1c¬\1d\81P.äô«4/ä´Ëú©i2\8c+ãÕ\ 2>2g,\1cu\hÏ8ñbì\ez\9c»0\968\93\18\82.\96ô\1aÀÈfékI¯{,~¿{¢ÇÕý×ß¾>Ò\ 3\1a\8c¯lø?à\18\9dÁqáX\ 2§\8b\ 4t¿hí;dä´täÔ\81Á\84ä|\8a§\13\1fZ~¹\8b\ 5"]\18S\86u5@^f\8e_µ¨z\86v\13¿¥d\87\99|\8eò<\97ïÇ\9c8ßFK']p\99\r³i6\1c\8d³Ét\96Ío\17éÿy40EÃ\92\ e\85ô+Ôíú`è ìÉå\939"¹¬Ì^ô¤\17EäwÝn \18è6Ú \15aPi}\90«\r\1cÿ\93\9d\85å\83\13\16ôÛѼ£Òxá!¦\9a\80\19â²\99£3¢\11È¥\88òÀ2@óªª6vÀ=ù]
+\ 5ôjM¤TN\83o\98®0Ó\r\ 6#´F®£\95ÒÆèá\ 6\9a\13³\13ÐPé¢\85roGñä*\7fÓ>À\ 5E\8f¿ßߧÕ>^JÇ`"\9d»\884
+VD¢b³\r»\88ò\89á/\1d>ç8
+\1fÄÜ\8døl0\1dÈ\82oE¦\82L\ 2'¶:E\91-GDåô×\155-Î\19 ü|Ý\95ÙiÀ\ 1\ 3\16Ê\ f[ìæù½Ø\89\8a\0V\ 4ÌQu?\87à2®\e\rÜ¢xC\ 5ô+|\10\15½\11¶Jr¤;D_é~ù\91\96\1f\1f.jçÞnÑ\19 |\r\86UÆh#\8d^\ 6&HRbÈ_  ó\8fC(]mȤ\ 3§DMÀ\1av\82\88\84yaS":\8bæ(UÈðNtÐøNòÐt\94sj/E}î\86O\96"µPäU\0å¶;èù\859F\93\ 1\7fJÚ¶\98ÆH\1a\19Ê \86j\1eêj1únî\1c\ e¦\9dð\9fº\0øû>\81Ì©T\1f2>÷ê\1d       ½S¯RÁ(ft£8\v¥*Ì\13¤Ý3`%ü\8bù¹pú@c4¨ÊÛ¸/\a²´i\1dðCÇ\13\82\ 3\95\90ïSæü\987}Í'ó\17F\934ôä\96<]ú\91¶ \92ºÆ@\ 4`Ñ16V\86ê4Ä\9c\9c\91+z\1c¶P\92\9b\v\83Ý9¤f\8dW\83\93T÷Â\830E\ 6\8f¨w:Ù_\18Û¥¼õ`¢q(=\8d\ e«6\90¥\18z¥üa\12ìG¥³»\ e¹\9f\93æ}\18\96\97Âát\9cÏ\16\v\9a\8dÆùx\18÷ ~>}¤»nØ\10Qý­ÅK\88\ 4\95\rç·qw6\1f,ÒÔx>]Oæ\93|>»íß\ 4\arê×ÕÕ߯þ\v2Cº¼endstream
+endobj
+584 0 obj<</Type/Page/Parent 513 0 R/Contents 585 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+585 0 obj<</Filter/FlateDecode/Length 537       >>stream
 x\ 1\8d\94ooÓ0\10Æß÷SÜK\98\14\13;Áqx×n+L¢c´\81·(sÜÖ¬ù3ÇA\83OÏ%nYË"w\8a*Uò=?ßÝs¾Ç   \85\10?
        \83\88\83,'!  \81\8b\94Ä\10\8b\ 4ÿ3ü\19\ 5ëá \16ï\89\18;`!'|ì\802:®à=ü¿+fÙäÝ<\ 5\1aC¶Æ¬8\17¨Í
\9cÂ\102ù&%\f?¸®ºR\99Üêºjßf?\9d\88:QÀ\12\94ì#)\81Åjyw  \9fT^(\ 3öw£\9c \ 6úOÀ±X\94Ⱥ,óª\0\84ßc¬®Àn\15\94­i$4¹|P\16\ 3Æ\11øKÂp×\8f¥zìTk?\9c^\84Ý\rhDX\7f\14\86§\90àøø\80i\e¬Où9ì,g¦«ÂÏ\98½\8a1\95\ f~̥à\7fCg\87\92\98p½uÆ¡uÎ\8e;×N]­k'\1a±#ë\9b¯òJW\e¨×½\17-\8eá.ß´ [誢\968\ 5\95UÅiú!\ 4lïè\\9bÖÎM¾ñ'NO\ 1'^|Î_Cð¹p[Ûü|\ e±'\87¥\92\ fÃ\19\1f\85\87q[/º\9dÕÍN=y\9bA}\83\89¥ÌksS¨²ñBØ\19Ⱥ63\89\8dõBb?ä[§ýí\10{ýa\9f\f¶Fôy\1e#\ 2+k:i;£|k$"¸F¾\7f¹¹\82\v×à\91amõ\1f\85CÚG]ôã\191¸×¶%Npx\12ýh\1e=\bÜ\ 6\ 4ä67ç°}LO\15ÇP±\7fg4\11\84§)p¬mØ.«éb6\85+õKíêF\99\16>b«\86µ\17\1cb\83$L\9f·ä\8b}\1a'1I¸À\15\8cË*\1a\86û:\9b|\9dü\ 5\15\12\87¶endstream
-endobj
-628 0 obj<</Type/Page/Parent 553 0 R/Contents 629 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-629 0 obj<</Filter/FlateDecode/Length 701       >>stream
-x\ 1­UÁr\9b0\10½û+ö\98t\82\8a\0\vÈ-\19§­\ fq¦5éÅÉd0\88X\19#\$Òäï»\82\10\9b\ 4ì6Óað\80µì¾÷ö­ôkDÁÆ\8b\82ï\80Ë ÉG6±\81¹\8c\ 2\1f\9f\1d¼K\ eY½0\ e(    ú\16ÜÁ\ 5Ç$éIåØ\8c8}\v\94\ eÔðÜ÷µÏ£Ñç/!P
-Q\86<XàC\94\ 2r°m\88\92£\908ÄÅ\v®£éåÅqô\80ÑÞk´å0âaüQ½
-B\81ëÀRhu\ 2B¦"\89µ\90÷ EÎñ\1d\14O
-\99*PB&\1c\10K\1aú6\81´Hª\9cKÍS\13\96\88L1¢\9f\1cá'Z\14\12\2\86M|ÏOê_\ 3Ã\ 6\8bºÈ\1f\8b»öÍ1i m\89XNÐ@k\18x\ 4fÑ^
-ͲáÀ¼\9aÿã\82¿A2&0¹º¼\9bO'È/-ò\18)\9b\17¥Ë*ÑUÉo\8e\e.¬Gæé,r\9dn\17Ðt¯JÈ*\87"\ 3U-­¸Ò«¢\14ZpeDÝ\16ê&·v?¿ÆôÁpv\83²ä\8fB\99\8e`©%/?\9eì\7f@]°Ûa´\f\96Ï\1aÉgE¹Ã\1e,\98¦h5\91        ^ÂÙ\8bHÏ/öi%\7f§
-e\vy\87²\1a\9e¢[\99ß6¡G©vxf\85槠W|\17'úpg,øZñß+^òC>g\ 4æÑ\ f39ºÄÙk½Ô3²Ý0ãû\18\92U\.ná\14\1feµ^[\9a\97¹\90±\19Ì&\9fqW¬\12!êÐ8Á\0u\b\92\8f\9bÇlúmbPUR$EÊÛl+\1e§¼lA¶êãh·Ò\18GR6Üä5\97÷zePu3÷¨Ýî\16\87Ræñ\13|0í¾ÑôÐy\95ܶô\8djµãº[VÐêæ\f      \a\9bu¥`Ye\19zyS\bÜA÷\8aYwaXÌ®\84Ð4g\8f\92?¯¦\93OûÒmÙ¾\ 1Ù|ÔnÖ=ÜÃ\9a{cÑ.¬\83fYì\19ÏaS·EÌ\ 4tl\1d¼ìÂÔs\b\vC`c¯9Wæg\97çg0á\8f|]lp\fàk%Rn\98\ fêXË·Cs@5G\10ÌÛ\1d^\99(Ï÷\88Ï\ 2<sÍ\11æ\9a¿.¢Ñ÷Ñ\1fÓa>@endstream
-endobj
-630 0 obj<</Type/Page/Parent 553 0 R/Contents 631 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-631 0 obj<</Filter/FlateDecode/Length 683       >>stream
\9cÂ\102ù&%\f?¸®ºR\99Üêºjßf?\9d\88:QÀ\12\94ì#)\81Åjyw  \9fT^(\ 3öw£\9c \ 6úOÀ±X\94Ⱥ,óª\0\84ßc¬®Àn\15\94­i$4¹|P\16\ 3Æ\11øKÂp×\8f¥zìTk?\9c^\84Ý\rhDX\7f\14\86§\90àøø\80i\e¬Où9ì,g¦«ÂÏ\98½\8a1\95\ f~̥à\7fCg\87\92\98p½uÆ¡uÎ\8e;×N]­k'\1a±#ë\9b¯òJW\e¨×½\17-\8eá.ß´ [誢\968\ 5\95UÅiú!\ 4lïè\\9bÖÎM¾ñ'NO\ 1'^|Î_Cð¹p[Ûü|\ e±'\87¥\92\ fÃ\19\1f\85\87q[/º\9dÕÍN=y\9bA}\83\89¥ÌksS¨²ñBØ\19Ⱥ63\89\8dõBb?ä[§ýí\10{ýa\9f\f¶Fôy\1e#\ 2+k:i;£|k$"¸F¾\7f¹¹\82\v×à\91amõ\1f\85CÚG]ôã\191¸×¶%Npx\12ýh\1e=\bÜ\ 6\ 4ä67ç°}LO\15ÇP±\7fg4\11\84§)p¬mØ.«éb6\85+õKíêF\99\16>b«\86µ\17\1cb\83$L\9f·ä\8b}\1a'1I¸À\15\8cË*\1a\9eÇu6ù:ù\v\15\b\87µendstream
+endobj
+586 0 obj<</Type/Page/Parent 513 0 R/Contents 587 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+587 0 obj<</Filter/FlateDecode/Length 701       >>stream
+x\ 1­UÁr\9b0\10½û+ö\98t\82\8a\0\vÈ-\19§­\ fq¦5éÅÉd0\88X\19#\$Òäï»\82\10\9b\ 4ì6Óaì\81Ñj÷½§·«_#
+6>\14|\a\\ 6I>²\89\rÌe\84\81\17øøîà¯ä\90Õ\vã\80\92 oÁ\1d\pL\92\9eT\8eÍ\88Ó·@é@\rÏ}_û<\1a\12\ 2¥\10\83\ 5>D) \aÛ\86(9
+\89C\|à:\9a^^\1cG\ f\18í½F[\ e#\1eÆ\1fÕ« \14¸\ e,\85V' d*\92X\vy\ f\1c¿Añ¤\90©\ 2%dÂÁ¦\ f±¤¡o\13H\8b¤Ê¹Ô<5a\89È\14#úIÃÍ\11nÑ¢\90à\921lâ{~Rÿ\e\186XÔEþXܵo\8eI\ 3mKÄr\82\ 6ZÃÀ#0\8böRh\96\r\aæÕ\1cþ\1d\17ü\r\921\81ÉÕåÝ|:A~i\91ÇHÙ|(]V\89®J~sÜpa=2Og\91ëtO\ 1M÷ª\84¬r(2PÕÒ\8a+½*J¡\ 5WFÔm¡nrkwû5¦\ f\86³\e\94%\7f\14Ê\9c\b\96ZòòãÉþ\aÔ\ 5»\1dFË`ù¬\91|V\94;ìÁ\82i\8aV\13\99à%\9c½\88ôüb\9fVòwªP¶\90w(«QUí)º\95ùí!ô(Õ6ϬÐü\14ô\8aïâD\1fî´\ 5_+þ{ÅK~Èç\8cÀ<úa:G\97Ø{­\97zZ¶\ef|\1f\8aËÅ-\9c⫬ÖkKó2\1726\8dÙä3î\8aU"D\1d\1a'\18 \ eAòqx̦ß&\ 6U%ER¤¼Í¶âqÊË\16d«>¶v+\8dq$eÃ\87¼æò^¯\fªnæ\1eµÛiq(e\1e\aÓîkM\ f\9dWÉí\91¾Q­v\wd\ 5­nÎ\90p°YW
+\96U\96¡\977\85À       ºWÌú\14\86ÅìJ\bÍáìQòçÕtòi_º-Û7 \9bMí°îá\1eÖÜ\e\8bva\1d4ËbO{\ e\9bº-b: cëàe
+SÏ!,\f\81\8d½æ^\99\9f]\9e\9fÁ\84?òu±Á6\80¯\95H¹afQ?¨c-ß\ eÍ\ 5Õ\A0o'¼2Q\9eï\11\9f\ 5\9a\1eê\17Ñèûè\ fÓW>?endstream
+endobj
+588 0 obj<</Type/Page/Parent 513 0 R/Contents 589 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+589 0 obj<</Filter/FlateDecode/Length 683       >>stream
 x\ 1­VÛrÚ0\10}ç+ö\91tjÕ·Úæ\11\86´¡\13 ÅN_\92\91\ 4(c,"Ëiøû®°I\80\ 4\93K\87a\ 6±òÙݳgw}×rÀÆ\8f\ 3¡\v^\0tѲ\89\r\81c\13\17ü(Äß.~\15\87éÚà{\ 1   ^2¸\87\fN\10=\7f¢\97´¾|ë\80ã@2EïA\14\0=Û6$´Ý!.ñ\bÆ\0£îð\14®Ú\19Ïgzn\89\9c     \9ajΠÌ\ 5\95\8c\95ÈgW''É-"\ 6\8f\88\96\e\10\1f\17\83Qâ¹\95Ù¯Í\98§åx\98 Ú+d\90Ó=È]@kû\11\ 3é\ 4\97\7f\ e\83æe\96Y\9a«\85È×ÑVQn;¡óT¥\14¯\14¤\82Ù\90±öäFUð5\ f\ e\81\8bÑ N&.R\91fb\96¿\95\81¨)ÚeÊ\18\92\b\8cë=\1eÀ·nV\9aÃÆí_¡ç ç\86ùTi\93\929ÄÃ\1eÌyʸªÓÙTâ\19qMµX¤\ fðÎz4ÁÚ`aRLÒrÁs\14Ï\91Ò6A½3ºfµl«c-ê'q\1c×\86K`ÜûqÝM\92 \8aCÞÜrª!ÕØ\167¥æÅ\a:Ã~p"d®Nùª-r0J@H\109ÍÊJ3XüúÆTð\8c5\95ÿ÷xÐÿt¸iL\99\94\94\1a\98P\98\84T+Lh)\ 5\96Lí§±#«WàÖ¼äé\82¿\12ôØÜ0Ñ>Ñ\8c Û
 ûh¸\ 5§¥\12z\ 5\8c\17T\89¥\16RýǸ\1fáïJlkt\83]\pu/(?.8\8fÀÏñùõÙ¨\8f\11\9dÇ]XÊLÐ\15ÌÓ\9ce|?s¤i3\89\8dª/]»alî \1d\8fÄ'Ð\1f\ f¯ãAßÌE&\17)J\14Of)\94T\97\8a\7f\18ÏRáÄDk½6\1a¢<V÷¯XwãC¯\965Yï\1auo\99I£ÁY\7fҰ¶2ß]\8bõH®\98|9ÌõZ9Ü\93\a¡«G¢z¡:¾K\82N\a\82\91ÙªqwØëB\9fßóL.qÉÁ÷R°5_\96\13âû\0ÞµB»c®V;\ eâMÍ
-\ 3í\87>   \83\b_\rð\86ç\9b¿N\93Ö¯Ö?+MO.endstream
-endobj
-632 0 obj<</Type/Page/Parent 553 0 R/Contents 633 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-633 0 obj<</Filter/FlateDecode/Length 764       >>stream
-x\ 1ÕVÑNâ@\14}ç+îÃ&âÆVZ°\85Ý'\94Õ\90 f¥ë\13        \19§\17:»e\ 6;Sª\7f¿wÚª@\90¸ñÁl\f±p\87sÏ=çÌ\f\ f\r\ fZôçAèC;\0¾l´Ü\16\ 4íÀ\r Ó\réÙ§W\860/\v\9dnÏíì+ø\9d\9eÛÝW\b\ 3×ßýü<j\9c^\ 6ày\10Í©yÐ\r!\8a\81\1a·Z\10ñæX\19ü\ 6&Aj+40àJÎSÁ\rÜ£)\10¥­A.\ 5W1\826\99\90\vH\90Å\98\ 1\93ñ¾ª0\1aÓ90\rFA\91\b\9eØ\87\#ý;\8e~7Zàxm"\1aÅM!cÁ\99y\ 1NQ.Lâ\12*q)D\9a\82D¤&\8aØ\900Z¥k\8cÝ\1aÄ\ fH\1e\ 2y\19\ 1\ 1\98§\15MRãê\13\98«\fð\91-W)\9e\10c`©`ú;\rZ`\9a:\7f¤*$,2\95¯\0\r¯;SóXñ|\89ÒPw­\96XX\81ÊƧ\97½\171\1d¿[Qè¹¾Ûv½3\17\ 67׳[¢1mÆjÉ\84\ 4û\86d˹É3\9c\1e\9b~8ÏSü\1a\8e£¶_\95;u\a
\8bTgàlR¦Q]J\92cuÍÊÁ§M\8d\b\93D\15ý\8b\91Þíälb½§W._%Ø&ýOP¯*|\0\84\12C\86\94r\92³ø\b*7 (b÷jms1's$Çz\8d®:=ÛTÒÝ1*pats5\e\8e/oÈ)Rp\8d\19¥\83s\95Ks\ 2<\15dý»l«Â\97ª\85\92\80dK\eh\96\19\9baCé/\14\1cM§GÀ\13\961n0£\8dF{\87b\96¯Vd\1f
-\17\rú\9c\87
-¸¦TaÒz»\19«f5DzÙ<S˲4\9aôá\16\1f\ 6.\12\96ÚýD±/Y0ø\ 2DÒ" 5'ù\ 4\8d*¤UkcK¾Íèîf8øZi»/ \9b\81\81û|N¦ÀJ    ÚBÙ!ëÇÃIt{ ÷[Òn\9fC\1f\81Ý\12öý°´I½àm\r\19\99,)¯ô\98gÂ<YӥĴ<\98>ÂxËö%ã\89\90»\as\ 5\7f(ø¡\v\17£q4\9bÜÞm\ 4\7f#KúsSÿ?eì3¹Ö\8e\1d\8aA·¾D¼\8eï\ 6½\1e\ 4~yåNú×ç}\18à\1aSEg\8f\86«\Äh\93ãxa·\é\84­\9e½X«[\r&Ï·Wy°vÂ\8e\e\ 6]ú)A+Úgö\8b?¢ÆÏÆ_\ 5w\87Øendstream
-endobj
-634 0 obj<</Type/Page/Parent 553 0 R/Contents 635 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-635 0 obj<</Filter/FlateDecode/Length 762       >>stream
-x\ 1ÝVQoÚ0\10~çWÜc»A\9a\84(\84½Líh;¤\ 2[I»\87nB®c\8a×$Nm§\88\7f¿s\12\1a¨\9a ¾LÓ@\91 >\7fwßÝwg?u\1c°ñëÀÀ\85¾\ f4éØ\96\r¾c[.xÁ\0\7f»øH\ 6ËbÁkZpý>Ú½Úq\16vN.\86à8\10\89\1f\f \8c\0\1dØ6\84ôhh¹Vßr\ 2\v¾\\9f\8fæðó\88J\16±Ts\12\b\9a'\f\94&Iöóø8ü\8d\vVÏõ-\ fÑ\8eè\8aÈ»àW¹îUëȤçô\91\821¨1÷Az»V7áxrÞ\fR\87RÚlI\15\18nP\86\19"\9f«i¸\18O/f.\92RL>3Ù\ 5\1a\86\84dNu.ÙË\9b\9d\b[\88N\85f\9f`½b)C8Ð+®j, YÆ\88TÀS X®§\9c\85\8dÈ!É\95\ 6M\1e\19.P\91m@,q3«ÂéQ\12Ó<&\9a\13\87ai×9\94\8c2þÌ¢.Ü3JrÅ\fÂ\ 6Ö<\8eñ\rþ\8f\8cc\95ß+ã\19IÖP@W\8c>*«ð\99I¦ò¤°Ö¦Î"\ 5\ 5$\84§\1a\1f é+×$GWhJ\8b\10+f'\88\93\89ÔÄ! \8f­jÏV\13Eúç×·e­Þ\14EY\v\92FP\96\aR\920Unتl_ ãi\18ܵèì3~ #QÄÓ\87.,\85\ 4¯w¿Ñ\98ö\98\89ÉÊ\9aë\15Ì'g°b$b²\b»\16õ\9e»ÛÙxô¡9þL`¾\8c
-ÄVVuÆU\enÑi͸¥F\eD\81-YiØ´C        ÒÒ\b®½Ó\b;}@(\15y\8aêüo\e\ 2þ¹\8e¸\9a]\16ó¨¹ò±xÀn¬j\83ݼ\14¥í\9bÍð7UäX0\1e\15Á/\1cT\117£f)êÑ×\ 53" Æ©\18\83Ó2@\ fµ\94\96\v\1e-\føÂiá~3\1d\7f\1d]7'2\12f\98\15ó\ 4ò\94S\11±ªßÛ@qºôÝfÐ\8cH\92àøNµ\14ñ\ 1\1cßkÆ)«<\1eµA\1cà\87Ú\96ïew\0r-äã\83\14yöNÜâìwü\96¡L$õàj\ 2³\1f\17ð\8d(\85\9e¢\16îû\80Au\9bp\ 6\81å\ f\87à\ f<+0W\8aùéäì\14FFq"cxê^æ<*\ 6bokÛ\eØCcZÞ        `¾=ô\8b#ÆC \81\1fà\95\b-ú¾       è<ì|ïü\ 1´Ø¾Dendstream
-endobj
-636 0 obj<</Type/Page/Parent 553 0 R/Contents 637 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-637 0 obj<</Filter/FlateDecode/Length 766       >>stream
+\ 3í\87>   \83\b_\rð\86ç\99¿N\93Ö¯Ö?+CO-endstream
+endobj
+590 0 obj<</Type/Page/Parent 513 0 R/Contents 591 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+591 0 obj<</Filter/FlateDecode/Length 765       >>stream
+x\ 1ÕV]OÛ0\14}ﯸ\ f\93\80\89\84&\rI»=ñ1P¥R´6ã©\122ÎMã-µKì4ðïw\9d\84Ò"¨\98x@\13ªH{ÝsÏ=çØî}Ç\83.ýy\10ùÐ\v\81/:]·\va/tC\bú\11=ûô*\10Òº\10ô\anðZÁ\ f\ 6nÿµB\14ºþËÏOãÎÑE\b\9e\aqJÍÃ~\ 4q\ 2Ô¸Û\85\98ï\8f\95Áo`2¤¶B\ 3\ 3®d\9a\v\ eM\85(m\rJ)¸J\10´)\84\9cC\86\ 2\98L^«
+£1O\81i0
+ªLðÌ>\94\1aéßAü»Ó\ 5Çë\11Ñ8Ù\172\11\9c\995p\8ern2\97P\89K%ò\1c$"5QÄ\86\84Ñ*_aⶠ~Hò\10Èz\ 4\98\ eÏÁ<.i\92\16W\1f
\a¶XæxH\8c\81å\82éï4h\85yîü\91ª\920/T¹\ 44¼íLÍ\13ÅË\ 5JCݵZ`e\ 5ª\e\1f]\fÖb:~¿¡0p}·çzÇ.\9c__ÝN\88Æl?Q\v&$Ø7$[ÉMYàìÀrßôÃy\9aâ×p\1c÷ü¦\1c´\1d($k©\8eÁÙ¤L£º\94$ÇêZÔ\83Ïö5"L3U\9d\9c\8dôËNÎ&Ö{z\95òY\82mÒÿ\ 4õ¬Â\a@(1dH-'9\8b\ f J\ 3\8a"v§V6\17)\99#9¶ktÓéɦ\9aî\v£B\17\97·ÃñÅ59E
+®° tp®Ji\ e\81ç\82¬\7f\97mMør5W\12\1a\1c\90la\ 3Í
+c3l(ý\95\82½Ùl\ f
\r\16´ÑhïPÌÊå\92ìãL7á¢A\9fòÐ\0·\94\1aLZo7cÓ¬åX7K\vµ¨K£é    Lð¾Dmà,c¹ÝO\14û\9a\ 5\83/@$-\ 2Rs\92OШBZµ6¶äÛ\8c\87ç_\em_\vèf`à®LÉ\14X*A[¨Øeýx8\8d';r¿%íö9ô\11Ø-aß\ fK\9bÔ\vßÖ@#¿%\93\95\1eËB\98Gkº\94\98×\aÓG\18oÙ¾`<\13òåÁÜÀï
+~äÂÙh\1cßN'7\eÁßÈ\92þÜÔÿO\19ûL®­c»bÐo/\11/ðÝp0\80Я¯ÜéÉÕé \9cã
+sEg\8f\86ËR$h\93ãxQ¿^éDÝ\81½X\9b[\r¦O·W}°\ 6QàFa\9f~JÐ\8a^`¿ø#îüìü\ 5\ 5m\87×endstream
+endobj
+592 0 obj<</Type/Page/Parent 513 0 R/Contents 593 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+593 0 obj<</Filter/FlateDecode/Length 762       >>stream
+x\ 1ÝVQoÚ0\10~çWÜc»A\9a\84,\84½Líh;¤\ 2[I»\87vB®cÀk\12§¶SÄ¿ß9  \ 5ª&¨/Ó4P$\88ÏßÝw÷ÝÙO-\alü:Ðs¡ë\ 3MZ¶e\83ïØ\96\v^ÐÃß.>\92Á¼Xðê\16\¿\8bv¯v\9c\85­\93\8b>8\ e\84stâ\a=\b#@\a\r!=ê[®Õµ\9cÀ\82¯×ç\83\1fQÉ"\96jNb\ 5\1f\84\81Ò$Éî\8f\8fÃß\88å¿`u\ßò\10í\88.\89¼\v~\95ë^µ\8eL:N\17)\18\83-æ>Hg×ê&\1c\8eÎëA¶¡\946\eR\ 5\86\e\94¡T|úÈçj\1cÎ\86ã\8b\89\8b¤\14\93ÏL¶\81Æ\1c¹!!\99S\9dKöòf'Â\ 6¢c¡ÙgX-YÊ\10\ eô\92«-\16\90,cD*à)\10,×SÎ\94nÃZä\90äJ\83&\8f\f\17¨ÈÖ æ¸\99Uát(\89i\1e\13Í"Ø\89ð´·9\94\8c2þÌ¢6<0JrÅ\fÂ\1aV<\8eñ\rþ\8f\8cc\95?(ã\19In¡\80.\19}TVá3\93LåIa­M\9dE
+ÈB\vH\bO5>@ÒW®I\8e®Ð\94\16!VÌN\10'\13©\89C\12\1e\9e\8d&\8aôO¯oËZ½)\8a²\16$\8d ,\ f¤$aªÜ°QÙ¾@\86ã0¸kÐÙ\17ü@F¢\88§\8b\85\ 4¯ó°Ö\98ö\98/ÒÄdeÅõ\12¦£3X2\121Y\84½\15õ\9e»ÛÉpð¡>þL`¾\8c
+ÄFVÛ\8c«&Ü¢ÓêqK\8dÖ\88\ 2[²Ò°i\87\12¤¡\11\{§\11\80P*ò\14Õùß6\ 4üs\1dq5¹,æQ}åc±Àn¬j\83Ý<\17¥í\9bÍð7UäX0\1c\14ÁÏ\1cT\117£f.¶£¯\rfD@\8cS1\ 6§a\80\1ej)-g<\9a\19ð\99ÓÀýf<ü6¸®Od$Ì0+æ  ä)§"bU¿7\81âtéºõ \19\91$Áñ\9dj)â\ 38¾W\8fSVy8h\82\ fµ-ßËî\0äJÈÇ\85\14yöNÜâìwü\86¡L$õàj\ 4\93\9f\17ð\9d(\85\9e¢\ 6îû\80Au\9bpz\81å÷ûà÷<+0W\8aééèì\14\ 6Fq"cxê^æ<*\ 6bgcÛéÙ}cZÞ      `º9ô\8b#ÆC \9e\1fà\95\b\9fL@çaëGë\ f´Î¾Cendstream
+endobj
+594 0 obj<</Type/Page/Parent 513 0 R/Contents 595 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+595 0 obj<</Filter/FlateDecode/Length 766       >>stream
 x\ 1­VßoÚ0\10~篸·µÓHó«Iè\1e¦¶\94\ri\85­M·\97JÈ$\ exKlf'íдÿ}g'ÙÊ
 AÝ
 "\bßÝçï>ß\9dùÖsÀÆ·\ 3¡\v^\0Iѳ-\e\8e\a!>ýH?]üH
 T
 À/\96­q\91\94Æò'\16\92¥>\98%QüE©\89àöí©Î)ÅmD±\92¢`\bm5ö\96ÞùûIlòì8ø$gH\12³ÖT3\96\18a\8fH\85\89àBýÓ\b²)ÂFu}\9a\8e\87/kû¶ÚZ    ÆË:ÏÇÒ\18Î;ªöüêb¸\eö1\16ô\81-¸@Ý»PoÆ\93Ø vã\9aj\80\9cÞѼ#ç}(ê\9e\95É\12îH^Ñ\1aÆ\86\81nf£\9cë×\ 5\ 4Í«ñÆr4a3\13V\17\9e>oÛ\8at\ 1·Þ  Q\14\9c\13\r»ÅúcǺ\8e\1e\ fM=Ì\1c\ 3ÅÒ\99\99ózGÈÏ\9ayÛMºò\r\91¦\93<\vÞ\8e\87ØD\v)ªUÛ9\1dý¢Eó:\8a±Å©·Ý>Éö@\98\91CJ\1c]óª¤
 É      \8e-\87Ë)Ì×zdz\96\ 3\84§ø}ì´\Û\fëÃÙ\9c\17¾\ 5Ãéåìêb\84\9c\94\92ò\84\9aÖhQZÂZ§fBìi\8d\8a§"©
-l5M¯Ê\10\15\9avÙWÂ]:òªÀ)ÔPL¡&­ÞtÈú\14\9e\ fï\8açãì¹Ø¾\ 5ù\ eH~\8e2\88\fP\16ɨ꠽¯ |Ä|º\18x[¾\eþÛm  KJR*kÊQs\v9¾k\ 5\83\ 1\ 4a Û\18o\9f³S\18ê\ 1#VT*x[áøÕ!}'\8c\8cg?´qX´W\16\·w\91ÑÂ\ f}+\f"üï\81\1e\ 3/âÞÇÞ/ß\88LJendstream
+l5M¯Ê\10\15\9avÙWÂ]:òªÀ)ÔPL¡&­ÞtÈú\14\9e\ fï\8açãì¹Ø¾\ 5ù\ eH~\8e2\88\fP\16ɨ꠽¯ |Ä|º\18x[¾\eþÛm  KJR*kÊQs\v9¾k\ 5\83\ 1\ 4a Û\18o\9f³S\18ê\ 1#VT*x[áøÕ!}'\8c\8cg?´qX´W\16\·w\91ÑÂ\ f}+\f"üï\81\1e\9e\99d\17qïcï\17ß~LIendstream
 endobj
-638 0 obj<</Type/Page/Parent 553 0 R/Contents 639 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-639 0 obj<</Filter/FlateDecode/Length 686       >>stream
+596 0 obj<</Type/Page/Parent 513 0 R/Contents 597 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+597 0 obj<</Filter/FlateDecode/Length 686       >>stream
 x\ 1ÅVMoÚ@\10½ó+æV\12Õ®m\1cÛô\12%"i9@Ô`z U´ñ®a\8b½Kw×Aù÷\1d\7f\b\10-ª*d Éã÷Þ̼ÙÙ_\1d\17\1cü¹\10\v É;\8eí@à:¶\a~\14â\7f\ f\1fÅ ­^ô¢\9e\1dm¿¸\8e;\9fn\ 3p]\88
 ¢\10b
 \88ã8\10'Ýéxøupï=\88"\7fT,}¤2×\96ûã,þ\89\9fùÍgÈm¹=$\8di\17\83\98b"a\140\96p\ 1\85à\89¤\f´Q\ÌaÁ\beJ×\b¯ÄÖ&\ 4rNâûý\14\r® 9Û\ 2?\0\e=N\86\83V"\7f\94\ 6\88î7iW¢½Èö˼û¶gc     .l(\99\86ãÛ;\98u\e¥\¤ò#dì\99e\1az@\ 4\85\v Ø\17³À²`\1a³³ÙY[»\ 3\96\17ÔÈÓá8\8e\1e\ eh½¼¼\84\15¡´¬®\910g\ 6|ëéÅ0 \19\9f\8b\9c     \ 3kn\16Ø\ 1¢\fÈ\14&£ë¦\ fmÖv\e\90×\r\8ekCÓÛ\8c\89\9c\83÷\1fp¿ß\r\açûå\16\82ʤ(\8bñnÍÊB\8dö§"EçÂJr\8cP\aôÿ\ 5\ fzçÕþGÓÔSÐ\14rפm\8eÁ¬Û\9e²m;µ\1aÛ\8cÂþR5Ȩº\8e9døÀ\86éäæþÕñ\85Æ\1afr.\ 5\94®ßÖ±aë±4ì3p´¦,2
 O\fð\9cÀ\91\90°\14r\rë\ 51Õ|¸\ 1T^®\90\9a\92½\0×\90Je\97\127aãx8ºÙ\9f[­Íð\9cÕ1;O ñ\11 i
 '¢,y²\94§Ã¬\88Ök©(dD\eÐ8ý'êz\ 3L\88\80dAÄ\1cÛrZÁÞ ó\ 25\1e\87\9eý\9d,\r±c\a\1cq°U;í0ð\a4W\91eðO\bj\ fêDñ\95ÙÚ`§«_)\99ò\8cáFÀ\93¸}*\9c\ e¾\90¸s)W,1R½\1c\82\8f\9a%éú\9e\1dôû\10\84\1e^>pQN®F×W0(\97¡\áE\0¾\14\9cVÃh¹aTÅZ¡Ó\7fß©01ªHL¡Xµ\7fýзà»
-\82õ¢²\8d7qç[ç7    \8by+endstream
-endobj
-640 0 obj<</Type/Page/Parent 553 0 R/Contents 641 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-641 0 obj<</Filter/FlateDecode/Length 551       >>stream
-x\ 1­\96ßoÚ0\10Çßù+îmÝ$²\ 4¢\ 4\9e¦VÙX¤\96j%ì¥\9aP\88\1dð\16ìÌ?Øøïw&©ÖVÅ\ 1\81x\8a8\7füõÝ×çûÝ\vÀÇ_\0ñ\0\86\11\14\9bÞMÖûø%\82 \80¬Ä\7f¢Q\f\19\ 1ßó}\1f²âj>M¿&\ fï³\9f\18\15¶Q¸°\1f\f½\ 1\ 6^­Å\86\ 2a\92\16\1d\10ɶ\14\fg\85 \14\94\96\8c¯`MsBeÃxÚ©ÿ\1c2O§Y\10\1dÞ¤\12+Á¡\10\86ë3(Ë\9c@\9d+õGHr\14l88,i®¨\84\90ã"L¤0õy\bn6°²\18åÐñý>M>\1c>\88áD\14fC¹¦\ 4\96¦,ñ\µ`ø)A\8b\16ï9ø¶x®s\1a\9b©²ÊW.\91Å:\97\8fAôáÓb\14U\8a¡\15\9dKQ\87g\e;!o\8bÈ\93½z\14\9c\88MÎøÉðSjÕ\9c¢Ý\88¡µ\9b¢9ò²Orè;\92\1cú(ù\99\1fê\9c\10{\83\97;M\95\a¥ÑFR \7fë\9cÛ:|rlÖe\v\1fú\80þ]\b½¦r¡\18Q.ZGb¦óÛ[ä½ÔþßÄû= MÕ,M\94ÓÏÓt\96=8®¾54Ï±í½´\8e+\17Ç ß)ÌoUÁ\85Ñ­Ù\vÉj}Aŵ\14%«(6T½¾ öÕsr¹\f¿\ 2¿õN¹
-ØÑã\8e\934y´\8eo:¶ã\16î\ 3\80ñR¸$uyÊÑåÎǾÙß\1cØäþn\81\17¯\89\18µsD\10\8f¼h<Æ\99c?JÌ®ïn®!¡[Z\89\9aJ\ 5\13Ã\bµKúO\91ýØ\1fÛ©cì\r¼¡\a3-Ma[Òþi       ãÐ\8b£\11\ e1\181\1cÛ\85\9f³Þ·Þ?áPgmendstream
-endobj
-642 0 obj<</Type/Page/Parent 553 0 R/Contents 643 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-643 0 obj<</Filter/FlateDecode/Length 694       >>stream
-x\ 1­UMSÛ0\10½çWì\11:µ*9Æ\1f\1cÚ\ 1\ 2m\ e$\90\98\93qm\99¨`ɵe
-ýõ]9\86Ø\10\92\94a2\1eg¬Ý·»o\9fv\7f÷\18Pü1ðlè»\10g=J(¸N@|p|\ fÿÛø\14\1cÒúÀ¡\ 1\ eúÌ!Þó\83ð÷éÄ\ 1Æ L\rºë{\10&\80\11(\850ÞIT\16          Óá`7ü\85¦ncj¡­ÅúÄFë\9dÁøt\86\16\97²Êf¥HÊ\1f\vÛ\16ì\93©Òs^À\12µü²°\rÚ¸¶O\1c\83\e\10\9b`\b\8fÀôÛl8:\19ÏØì,\9cÀÕN®\84Ô¼(A+¸åwü\16é)ç\11\92 dª Ô\85\90×åÕn7i
-\96í. GJó}(9\87X¤e\11å6Ñ÷\1a?ÄZ(¹÷\11òè\9a\ 3£¤[
-#NßF\14\8føøÆ\14)¤ªÀÐ\82ÍôCnÂ'"\8e4/!\82\81(oj\7f\8cË\BÝ=ãÁÖx\9c\1aÎ+^ñ\97\8eö\1aÇ\ 1¿\13ñ
-\9fþë>\12\86gG\90\8b|\85\e½÷Mÿñ¡H¶V9ü\14\86\1c\8dõ-\8b½Úí\94;\17IÂÍ1¶¡¡íI-/xû>\1e\ e>t¹m+ª&Tr-£\8c\83\ 5M»M·ñ#\98¯ÝÎväx1\1c\85}{\ 3xÝ-\vê\97J\9b¬ñ\9aYPÉDÅUÆQ`Éó:Ú9nSBÁ³¨¸éV\10«Ì\807Ðë\84ï·\85\85ÿ&±_\8c\86è½\89\91\95\14±Jxs\8d\0éÙ\86õ­\82<\11ò2Æö¼\ 4\86\97\83ÉñãL8
-'Ýn·.úb*ÄJj\9cc8zþ\b=Ç6c\ 3
-ÁËý®\8cZ~\9bDd\94\0\99ð(éâü\97\1c\rÒa\95¦¼0 µëã\94Z\99üç÷Hÿ}R\97JZ\7fy¡:\15¼²$6\11º]F\9dEpÙòY³s\16,rlÖÃã$)×ôk\19\ 2\eB4Ëg\11Áoö\1aslâ\ 6\ 1¸Þ\1e  ìz»M\ fN\ f\ f\0'7¿U¹Ùe_+\91ÔsÍb\9e_[[\1e\r\96\8b\10¦º¨b]\15¼Nßñp\9f»>ª\ 1·\8aCM¼ã°wÞû\avT8sendstream
-endobj
-644 0 obj<</Type/Page/Parent 553 0 R/Contents 645 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-645 0 obj<</Filter/FlateDecode/Length 888       >>stream
+\82õ²\8d7qç[ç7    \81y*endstream
+endobj
+598 0 obj<</Type/Page/Parent 513 0 R/Contents 599 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+599 0 obj<</Filter/FlateDecode/Length 551       >>stream
+x\ 1­\96ßoÚ0\10Çßù+îmÝ$²\ 4P\12\9e¦VÙX¤\96j%ì¥\9aP\88\1dð\16ìÌ?Øøïw&©ÖVÅ\ 1\81x\8a8\7füõÝ×çûÝ\vÀÇ_\0Ñ\0\86!\14\9bÞMÖûø%\84 \80¬Ä\7fÂ8\82\8c\80ïù¾\ fYq5\9f¦_\93\87÷ÙO\8c\1aµQ¸°\1f\f½\ 1\ 6^­Å\86\ 2a\92\16\1d\10ɶ\14\fg\85 \14\94\96\8c¯`MsBeÃxÚ©ÿ\1c2O§Y\10\1eÞ¤\12+Á¡\10\86ë3(Ë\9c@\9d+õGHr\14l88,i®¨\84\90ã"L¤0õy\bn6°²\18åÐñý>M>\1c>\88áD\14fC¹¦\ 4\96¦,ñ\µ`ø)A\8b\16ï9ø¶x®s\1a\9b©²ÊW.\91Å:\97\8fAøáÓb\14U\8a¡\15\9dKQ\87g\e;!o\8bÈ\93½z\14\9c\88MÎøÉðSjÕ\9c¢Ý\88¡µ\9b¢9ò²OòÈw$yä£äg~¨sBì\r^î4U\1e\94F\eI\81þ­snëðɱY\97-|è\ 3úw!ô\9aÊ\85bD¹h\1d\89\99Îoo\91÷Rû\7f\13ï÷\806U³4QN?OÓYöà¸úÖÐ<Ƕ÷Ò:®\\1c\83|§0¿U\ 5\17F·f/$«õ\ 5\15×R\94¬¢ØPõú\82ØWÏÉå2ü
+üÖ;å*`G\8f\11OÒäÑ:¾éØ\8e\ f\0ÆKá\92Ôå)G\97;\1fûf\7fs`\93û»\ 5^¼&"nç\88 \8a½p<Æ\99c?JÌ®ïn®!¡[Z\89\9aJ\ 5\13Ã\bµKúO\91ýÈ\1fÛ©cì\r¼¡\a3-Ma[Òþi\19E#/
+c\1cb0b\18Û\85\9f³Þ·Þ?áFglendstream
+endobj
+600 0 obj<</Type/Page/Parent 513 0 R/Contents 601 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+601 0 obj<</Filter/FlateDecode/Length 694       >>stream
+x\ 1­UßS\9b@\10~Ï_±\8fÚ)W\ e\90\1f>´£FÛ<\98h\82}ÑN\86Âa®Ê\1d\85Ãjÿúî\ 1\1aÐ\98¤\8e\93aÈp»ßî~ûÝîï\ 1\ 5\13\7f\14<\vl\17âl`\12\13\' >8¾\87ÿ-|
+\ 6i}à\98\ 1¡«\ e\10ïùÁa8øtâ\0¥\10¦\1aÝõ=\b\13À\b¦      a¼\93È,â\ 2f£ánø\vMÝÖÔ@[\83ÚÄBë\9dáät\8e\16\97¢Êæ%OÊ\1f\8dm\aöÉTª\ 5+`\89Z~il\83.®å\13\ 6Ä"\18Â#0û6\1f\8dO&s:?\v§pµ\93K.\14+JP\12\1d»EzÊE\84$p\91J(UÁÅuyµÛOÚ\ 4Ãr\eè±Tl\1fJÆ æiYD¹EÔ½Â\ f±âRì}\84<ºf@MÒ/\85\12Ƕ\10Å#>¾1E\13RY`hNçê!×á\13\1eG\8a\95\10Á\90\977µ?Æ¥.1Ý=íA×x\9c
+Î+V±\97\8eÖ\1aÇ!»ãñ
+\1fûu\1f\ 1£³#Èy¾Âͼ÷uÿñ1\91l%søÉ59
+ë[\16{µÛ+wÁ\93\84éclCKÛ\93Z^ðö}2\1a~èsÛUTM¨`JD\19\ 3\ 3ÚvënãGÐ_û\9díÉñb4\ emk\ 3xÝ-\ 3ê\97LÛ¬ñ\9a\19P\89DÆUÆP`Éó:º9nSBÁ²¨¸éW\10ËL\83·Ðë\84ïw\85\85ÿ&±_\8cGè½\89\91\95à±LX{\8d\0éÙ\86õ­\82<\11ò2Æö¼\ 4\9a\97\83éñãL8
+§ýnw.z3\15b)\14Î1\1c=\7f¸Z`\9b±\ 1\ 5gå~_F\1d¿M"ÒJ9n@¦,Jú8ÿ%G\8dtX¥)+4Híú8¥V&ÿù=Ò\7f\9fÔ\85\14Æ_VÈ^\ 5¯,\89M\84n\97Qo\11\v|Öì\9c\86E\86Ízx\9c\9a~-Cà¥yC\88vù4\11üv¯QÇ"n\10\80ëí\91Àª·Ûìàôð\0pr³[\99ë]öµâI=×\fêùµµá\99Ár\11ÂL\15U¬ª\82Õé;\1eîs×G5àV±\ 3\1dï8\1c\9c\ fþ\ 1v£8{endstream
+endobj
+602 0 obj<</Type/Page/Parent 513 0 R/Contents 603 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+603 0 obj<</Filter/FlateDecode/Length 888       >>stream
 x\ 1¥V[\8f¢H\14~÷W\9cÇÙdd\ 1\89â¾\81âÆ´\80\rÕmO6\e\82P¶µ\83\94S\14c÷¿\9fííNf×Ú]\8dD±8_}\97:UßF\ 6èø6`fÂd
 Ùi¤k:L\r]3Á²gøÝÄ\8f p\18¹dôëj
 \86\ 1ä\80\8f\19\90\1cp¸®\ 3É>=¬\ 3bÿñç/ä/\1cfõðäØ\98`-\92\7f:§yÎÊg\90\1c\9e©\84ºd\19Ï)TR4w­ñþURH\vö\Ò\1c.L\1eñ¯THà\a\90G
@@ -1372,246 +1269,250 @@ x\ 1
 $;Ñ\8a×\ 2ÃÝ\bͲ6È×æôÓt8«ím<K\aç\8cK\ 4V\f/[Á%ÏxÑÛ¦\12\95 |ô6
 \96Ù:\ 4ü;Å\90«Ç°Ï\84ïù®\17Ýäb`[^viðéi¯\94\84m\84íó>Q\f»\89\b½;Õ1m»ø\19¯\12¾Õ´V±d¹v6\18rE8ë
 7¬«\9cá~Q\ e!ø§}aè\11O^°~RE´\11ñ\89\96ì¥7Ia-\ 5ä\96\vzOÔKîV»[5Ñ\897+\ 6mv¬Ìù\ 5\e7Wé\ 1\9d\aÉíé£&:\fµ\91F\89[Ór¡Îf\e\12/ h|âFá\ eaopkäzã&\8f©\84,-\9bnÐîN{\81\14±Ñª·\ 1×YÜ=l\15Á\e\9aÝ{,¥Õä;1Á]_\8d\e¡ü\14w`\ 1ÿ\1ajh\r\rE\e\a¯­¡\ 3tßé¨Äm\13.ÐÂÍ:&I\18l¾t\90v\7f
-2f¶6\9dÏñ\88Ø\9e\83bÇw\1dXRlwüLE\ 5¿×,oûÃx\189\9eéóë\91  b)êLÖ\82¶-×\9aYÚljã\99\13\ fUV{zòÈè~ô\ 3Ì\ç\ 2endstream
+2f¶6\9dÏñ\88Ø\9e\83bÇw\1dXRlwüLE\ 5¿×,oûÃx\189\9eéóë\91  b)êLÖ\82¶-×\9aYÚljã\99\13\ fU\96Þ`ydt?ú\ 1ÌRç\ 1endstream
 endobj
-646 0 obj<</Type/Page/Parent 553 0 R/Contents 647 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-647 0 obj<</Filter/FlateDecode/Length 1261      >>stream
+604 0 obj<</Type/Page/Parent 513 0 R/Contents 605 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+605 0 obj<</Filter/FlateDecode/Length 1261      >>stream
 x\ 1­VÛRÛH\10}ç+ºò\ 4[X\91\97G\b°qU \ 4\9bÔ¦Ö[ÔX\1aÁ$ò\8c¢\19\19دßÓ3òu¹Uí\86\8a\v¤q÷éÓ}Nϯ½\84bü$ÔoS§Gé|/\8e\f\87øì\ eúølã\7f%)\ f/:ühçÅñdïýY\97\92\84&9\aé\rú4É\b\81â\98&é~üÐÅoü\8fNu=\97\95p\92\8c.\1eIjW)ii.ª\9f2£w\85IEñî`ò\ 3\ 1{MÀ\16\92NÔFÌýñ·\9bÉ÷ËÓ\9b\93/çG£\8b\9bÓ\8bëópz#ýêpü0\bi7ó\9e\98¹PÚF4¹\93TڿDzZÈ\8a\84Îø¯ð\96JQ\89¹t²\ 2´Ú:\9aIº¸þü9z\ 2\17u\19ÙõèbÒi?\ fæ\ 3ªoQY\b\97\9bj~£²'b-«üöetòÛó¡J£4°\91\ 1ó\85\82\ 2¤¹øa*\ 2\aV\19ý\1fbu9\96ÒÿK,÷XJ\9a®º\1dE\11Í\94£\É"\9b\1e¼\0òíÌ¥f>Çø½\10ëúb4\9e\½ÐR»Hâä\86[\80Òk­R\93\98h}K&'\e&ëµ\16½\9eå\86Ó4x_ÊÔ\1cyjJ\97\93Å\ 31øó¯PõS\9a)E\961~ÌÖ­t»Uu[³GhW\14êVC¯÷ÊÝ¡`Q9®×APãócº\93"\93U\83bH      Ì '¯âN7he\18u":\1f_]~$Ãâ\9bTB[\91\0\97\19]ª²\19ê%BH§Ý\8fz¬³3\fX&\9dP\85\85\87¬\92>\11â\10\1d\90\94ªÜö"÷Ðt\1ax ×\1c\96×ê$k4É\12\ fç¶Ûôøä\9c\9a\1d# V\96R£³:u\80ëK\10Ú×¾\82Áq\ 2\8b\94    
 aa¶Þ(÷§ÓËÑåétº\9dm?¢ï¦\ e\93«
 æcf¨V\93 ¤Ç*àã\80´ìh®
 Iw°¯B\1eÒì\115kß@ÁxL)õ\1f\ 1\ 6w§dP~^\9f\81\85]¤;\80\b\86EòAÌËB\ 6p)ªE<ï\16\ePJY±·ÁK×\\1czgõ&\9a\8aªz$S»æ@Z\18Ë{À÷p£\f<J%=\82\ 4Á{Gieïdæç\89[Ñø­g\9a®ä¯ZZ·¶i\94ï\9a\82ï\rÈpuI<ôIÏ\1e\926ÍïÁà-,F\e-é§6÷ x\ 6\83\80Ø\ve\87êL8±¹\1al\9dç*U\9c\11rÁ@ø>1ÑaJ\82\10B¼ð\84#\84Í\13Z\e\9050WKg'ír\ 3\rb\89\1fâ¸Ýã\8c
 \9dNy\97\82phé\90Ð'~\e'[oÇÐñZXôÉÏ
 ËÖ¡\9d\13 µ\92\87y'k\ 3m\ 5\b¹¾Ínñtð3\1e.@ðÃ
-U\80Í\85üWÓpî\84YDJ\87uãG\vè\8f.Gô\11\86Ì[\18BiJ\9cî³CpÜé\ 1\8aõY¶ÚNÐ!§æc\9f¼ë\1cîT\91\9b¢0÷\80\ 3e,O2\80\e¡\80Oì¢çY\f\eiC\b\f\vÓÇ^Ù\4ümg!\8a\9aÙ\96¡nàÁü¯\ er1\8>º\9d]âÂø\I[\1amqabeøQ\17\16\97³ð\94xºÀ\93U~\r\81KQek%®ÎA\bÞ¸\99\8f\10÷iîÂ;Ï\11÷%üÉÆ»\v\18»­m\89®\82kw' \bDßj\96EÖ¢ -ù\ 4ÈÁØ:*¤\80õ·×Êt¿¬ÌLÌpA\f\vgzÀýB\ eå­y\83iLq(³¬°?\14|\83Ç\11Î\aÞ\ 3,QX¯\14      +ÌXªÍ¦23¿\9f³&EØi|#`\9cXk\8c\7fsµí\fV`c©p¥Ó¢\ e{\13_ÛÜ\92\1c\11µº{îú\9añðEï\8dë\87Ü?Ïíû³A³$\92þ ê\r\87ÔûÐo.ÀGçÇGt"\17²\80¹ã~ú{\8dv3¸Öòl«\1f\ fy]½qËvûݨß\e`#â;]\7fÝ9\9dì}Ýû\a©6\97¼endstream
+U\80Í\85üWÓpî\84YDJ\87uãG\vè\8f.Gô\11\86Ì[\18BiJ\9cî³CpÜé\ 1\8aõY¶ÚNÐ!§æc\9f¼ë\1cîT\91\9b¢0÷\80\ 3e,O2\80\e¡\80Oì¢çY\f\eiC\b\f\vÓÇ^Ù\4ümg!\8a\9aÙ\96¡nàÁü¯\ er1\8>º\9d]âÂø\I[\1amqabeøQ\17\16\97³ð\94xºÀ\93U~\r\81KQek%®ÎA\bÞ¸\99\8f\10÷iîÂ;Ï\11÷%üÉÆ»\v\18»­m\89®\82kw' \bDßj\96EÖ¢ -ù\ 4ÈÁØ:*¤\80õ·×Êt¿¬ÌLÌpA\f\vgzÀýB\ eå­y\83iLq(³¬°?\14|\83Ç\11Î\aÞ\ 3,QX¯\14      +ÌXªÍ¦23¿\9f³&EØi|#`\9cXk\8c\7fsµí\fV`c©p¥Ó¢\ e{\13_ÛÜ\92\1c\11µº{îú\9añðEï\8dë\87Ü?Ïíû³A³$\92þ ê\r\87ÔûÐo.ÀGçÇGt"\17²\80¹ã~ú{\8dv3¸Öòl«\1f\ fy]½qËvûݨß\e`#â;Ý\84C\9dNö¾îý\ 3©,\97»endstream
 endobj
-648 0 obj<</Type/Page/Parent 553 0 R/Contents 649 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-649 0 obj<</Filter/FlateDecode/Length 944       >>stream
+606 0 obj<</Type/Page/Parent 513 0 R/Contents 607 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+607 0 obj<</Filter/FlateDecode/Length 944       >>stream
 x\ 1ÅVÛ\8eÛ6\10}÷WL\83>8@¤ÕÍ·ÍÓîf\9d\18Ø8n­\ 6\ 5ê>Ð\12µfV&\15\92¶×\7f\9fC]Ò\85³N
 \14AmX\96EÎÌ\993g\86þÜ\v)À;¤QDñ\90²m/ð\ 3\1aÄc?¢d<Â}\84\8fæTô®ÓÞÅ4¡0¤´\80Ép<¢4'l\ f\ 2J³þThc_\11\93´|\7fm3%ÿ$\$ϬP\92\84¡-Ë9YEvÃi¶¸ù\95Ì\86iîS\8aßOvnwÆÒ\9a7ÛwFÈ{â2ÓÇÊòüeú©\17\90\17Æ@\97æý\8a\19sP:7¯H*KYÉ\99ö,\7f´µSÙ\81Q\15\a\98\ e\ 1À8\ 4\95¨\9aØn\e-¹¥9Ûò\9c\16xNï\98ÌKNKË,?\89ÙÁ3\ºl\vË5\1d6"Û|õê"iÎò£K\96e\19¯,]-fÈq»\85_ãÓ\1d3¶<:x¹#++\95áÎÊùôÛxÑÐO\\8e©rdhnT¹çùåÉjù\90\95\17A(Õ~2r\0P(VU ÁÅ\86\9d=\0B\9e\vW\ 3VÒúh¹iA;\12ä®,A\98Þ
 \89LsZ­\16³ÅíjE\12\P¡à\ 6»~_Ü4t\9d\91\95;¸3\9cK2\8a
 DEA©\14ÆùZóR\1d\17Ó\80&\8dh¼(iÒ¢ö%$°\ 1\19hhʤùg8µ\97Ý\86\13ú(x\8c\86T1Ͷ¦c#\fü±ãª³y±Â«Édµ*\rÓUö¢[ûç;x\1c\ eàm\18¿Æ\15òÇ%p·Iâ\9e\ e^wÙ~ϹÑ{³\7fÞù(v\1e\87µÇ[Ü\ 6µóÁ\8d\8b\10×Î/¦\13
-Qd×M^\8c¶Êû\13\1fÒöé\1däõ\ 3ð´ã¼Èu\ÿ/ÓöTSbÍ\ fZXË¡ãB\95àÜu\8cæ\19\17Ð\9d*\b\rò\80ÂÓ\9b\9dÌ\sZ&M!x\99ÿ}¢¥\99\84\12@½³G;ñK\12\ 5\1dÕ\ e\ 5¶ <{@Qsf\19\9c\a­²ºµ\ 1\ 3Ù\85\98\ 2\98\ 4\81S\8c$V\96\94xNnµÈ£æÖõjÇjÛÂxµ\8b\bùÛ\9d\96\88Á´ÚÉü\97\13t)\84h,ÓuN\9c¡ß\90\9bSç<½[^ÕQæ·éÝ\87·\1fæµzóZ²\ 6\17ÒÐAØM+ÆÁ×\11æuM¦\8a\ 2I¶ëÝ\88ë#\9f¦\ 4ÏX|dZ°5f\84=Vü\eÃ?fótüc[Çæ7¶\ 3òjÍoÙ'ôß\9ek\83Þ=ëë\1còð¬ÅÏC\ e\15\85ü\ fÈ£ÿ\ 1yÔ"\87¬+%1\8ck¹Û³Hα\1e\9fµøy¬ÇÀ¾jNß©f÷´\16Ö;\bä\80\1a8Õק\8d[Y½<\8bî\>ÉY\8b\1fç\13ÿ\8bB>Û\0Á#fI;L¼ï\f\9e\ 6Û¸íæp4ö\87\93        þ\96\ 4Í    ³¼z\7f}Eoø\1eçP\85.¢·;\91ק¹×íõF\ 1Î¥g¦n2JüÑp\8c¹\8cÕ¤®êmÚû­÷\ 5v\19\95Þendstream
+Qd×M^\8c¶Êû\13\1fÒöé\1däõ\ 3ð´ã¼Èu\ÿ/ÓöTSbÍ\ fZXË¡ãB\95àÜu\8cæ\19\17Ð\9d*\b\rò\80ÂÓ\9b\9dÌ\sZ&M!x\99ÿ}¢¥\99\84\12@½³G;ñK\12\ 5\1dÕ\ e\ 5¶ <{@Qsf\19\9c\a­²ºµ\ 1\ 3Ù\85\98\ 2\98\ 4\81S\8c$V\96\94xNnµÈ£æÖõjÇjÛÂxµ\8b\bùÛ\9d\96\88Á´ÚÉü\97\13t)\84h,ÓuN\9c¡ß\90\9bSç<½[^ÕQæ·éÝ\87·\1fæµzóZ²\ 6\17ÒÐAØM+ÆÁ×\11æuM¦\8a\ 2I¶ëÝ\88ë#\9f¦\ 4ÏX|dZ°5f\84=Vü\eÃ?fótüc[Çæ7¶\ 3òjÍoÙ'ôß\9ek\83Þ=ëë\1còð¬ÅÏC\ e\15\85ü\ fÈ£ÿ\ 1yÔ"\87¬+%1\8ck¹Û³Hα\1e\9fµøy¬ÇÀ¾jNß©f÷´\16Ö;\bä\80\1a8Õק\8d[Y½<\8bî\>ÉY\8b\1fç\13ÿ\8bB>Û\0Á#fI;L¼ï\f\9e\ 6Û¸íæp4ö\87\93        þ\96\ 4Í    ³¼z\7f}Eoø\1eçP\85.¢·;\91ק¹×íõF\ 1Î¥g¦n2JüÑp\8c¹\8cÕ¤Nä6íýÖû\ 2v\ f\95Ýendstream
 endobj
-650 0 obj<</Type/Page/Parent 553 0 R/Contents 651 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-651 0 obj<</Filter/FlateDecode/Length 505       >>stream
+608 0 obj<</Type/Page/Parent 513 0 R/Contents 609 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+609 0 obj<</Filter/FlateDecode/Length 506       >>stream
 x\ 1µUË\8e\9c0\10¼ó\15-åÂ\1eÆ\ 1\86ðØ\9cf7ÏC¢<HN#E^h\ 6G`Ïb³ÊæëÓfÈCZ,ff\15\10Hà.QEu\97\10\ 2:CH#X'Pv^À\ 2HrºÅYJ÷\88®\1e¡ö®
 ïé«g\10\86\84\14\8a
 ¨:\b (}U×\1aÍåEñ\9dÊâ©Ì\87 ;¼ù\v\E     \8b       ê\7få½à7-\82¹ßã\ 3à\97·ï\8b0Y\ 6WÜð\aàºç»\ e¥\81\16åÎ4°\ 2[\ 6ZüDØú7÷\ 6õö\ 2\84,¡A^a\ f\V`¸h\99ó\83.}\e'â?ê\vH\11\1fLC\12\8dPrRê$ã¢\7fíD,Ó_GËàY{JÞ¶ *˾\16Ø3è¸)\eÔ\10Fd\96u~\1d\81ª­Aª\13r\a\9f>\\8f\ e\9elO\18,St¶ßÙúH\9e\9ali\ 4uá|û\91²A?º\ 1Ãø\11
 Ï\1e\80û\1e5Yxh¿RI\83?Ì?®:i9Zñ\18.N«\8eH\99ÙN´:J.Kl¡T\834'\93N\9d\88åù9\97´\90\94ÈûV ¾¤ ^Ñ\83Æþ\ e«ç40ôp; 6´¤örèhY#Â\93
-k!Q\9f>@G\90\9cu\85\8dÇòß\99µE\eÞ\e\9b\0cloý\9d¢p \90«\15\9fáú6\ e×\94æ\87/eÓÆ\13¦\19\1c\92(g\91Ýl>oÞ]mà\ 5Þa«öØkx=P\0YÐêwí*\rr[\9a³5\8b\18¼\19w\ 6[\11§1K\93\8cþ5­Æã¼½,¼\8fÞ/"Ôð]endstream
-endobj
-652 0 obj<</Type/Page/Parent 553 0 R/Contents 653 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-653 0 obj<</Filter/FlateDecode/Length 986       >>stream
-x\ 1\9dVMoã6\10½ûW\föÒ¤\88UR\92%êTØ\89Óæ\90b\9bxÑCS\14´DÙÚèÃ+JNÜ_ß\19RÌÆÍÚN\17\81\ 1F\1cÎpÞ¼yÃ/#\ e\fÿ8Ä>\ 4\11¤Õ\88y\fÂ@x\11\84"Ƶ\8f¿VAn6\820¡í·\eþ$|{b¶\18ýt\9d\0ç°È1H$bXd\80\ 1\18\83Ez\96x\81ç{Ü\83»\8f\97\7f\7f\94é£ê oZ\8cö¥Wº»À\85Þ4µV\17°,ê\f$þì"}¬\9b§Re+U©º;_|Æ8ÑK\9c±\1fy!F:ûtóÛBÀVµºhêJ~¶\86á`\88é\8e\80,[µ)w e¥@jw\ 1x8cÏlòp¾\1f`üúà~\88¢þ®\10ì\1d!ºÝF\1dvÞÔ
-\9a\1cºµ\82Û{\82s\81æ ê¾Ò'/\9f\97r5XýOh\98\fks\ 1\88T`þ½³Õ;\99Rà#Î\e,1VPvX ÃÙ\1d©\ eR\891~\1a@\1eAÞÊU©êU·>\1c\89\0´6\ eÎLv\12´Jé\86îÛýí\fºVÖ\1a6\86µ' ÆزïÖ_c³¯Ä#þ \12©,Ë";|/Ú\87"C¨\8a¼P­\87ÔTÞÊ#Ô\19\ f\93I\12\1eÅûGÐ]¿\84O÷sXlm§\1d\8eE\18´ª\92XVÕº\94\90©\8dª³¢^\ 1¢A\86\1f\88\97\1f¬3×é¦A|a{Ð6¹ïÁMÝ©6\97©zÉ#ýFÙ\11\1a×½ä¾p\874H\14!äóRµ*ó¨Kw(\17\96[UÿÐa\89T\rU\83FÝZb¥°!^\ eC¯Uænl\9a|S`{ÔÔîºÝêmj\13`\90\1aû¡½½\j,tÚ\19)\bg\81\1f^_
-Cv~\15ð(f´\ eãÉ4\16ܧµ\10s\1eÍg×ÆÆ\90\93\ 5¶4Ttæ       R\eÃ\9d\1cÁ%\81\11S!&W,¤\13\9c_&ür>\eN\8b¹H\8c§\88\85\823ß}'¿¾+¸C\9d\903Þ-â\81\95Õ\e\83øÝ\1f\83\1a¹ÜuêO\1eýu\98\15Hb2ÒD\b[\86}\97oT\11Y=(ïa§{%Þsë²ú\ 6\97B\9b\19ê\f)\ f¸Ü\9c\87A\87\98,s¤£¡ðZI"z\91\ fd\86'$\97q]X\8e»1\ 4ÖòÂÙéuÓ\978\92\8c.Sy\87aBg§éã>>¯®E=\8fpVò¹ÓÅ?GT\1d-\8aª¯¬ÖT\85¦1fd\8c¦\1eÐYà\1e\ 5ï\12@t\87\93ðD@lýT\15[\1cø(\97ß\11\aË.µnÒÕ193\16\85ì°+WmÓoP\12L&§Ó@÷È>U\9aÁ\7fdj\11³,M\89°ÎÞÂå:ÇuÃ\eêbqÒ\ 6\95ç¹;\96ÄëÙåì_´mhîÓ         º¦Þá\f|VïÎÇÙc>k$«,\9fäN#\11Q\ 2ùÏ\ fç$+Üe)\86ç\ e\ f}/J\12|\85\r\9fÞΦp¥¶ªl6øF\82_z\9c0ÄÚ1\8fñý\87¶ã\98¡"fÃK\r~5\9dB\16a\1czq$ðQ\87»á\84\17£ßGÿ\ 2Q-ÜGendstream
-endobj
-654 0 obj<</Type/Page/Parent 553 0 R/Contents 655 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-655 0 obj<</Filter/FlateDecode/Length 804       >>stream
-x\ 1½VÁNÛ@\10½ç+æ\b\88¸v\12\1cçÐ\ 3iiË\ 1DÁ¨\87RU\e{\9d¸µ½fw\83\12¾¾ob\e\92\82\9d\vB\11\11ÊÎÎ\9by3ófï{\1e¹øx4\1eÐЧ(ï¹\8eK¾ç:\ 3\1a\ 5cü?À\9f\96\94l\ e\13'xíÀ\v\86/\ f¦aïÃ\17\9f<\8fÂ\ 4 ~0¦0&\0¸.\85ÑÁíùe\18üüu\18þ\81Ù¨6C\10}o\bô0>\18õgk+Idé¼Èea©\14q\9c\16óc\12s\91\16ÆÒÍÅ\94\16RÄRW^\1a°þ¶\9b#\123cµ\88l
-\1f·7gt}õé÷y""Ù\8e],s\12EL\ fR\e\87TB¸+5ß¡(K9\98ÔÐÒ \9aNdÀ\16&\91úm\90­\ 2$j¡4JR"\fS\81Ojò6i\ f\ 2gÄìM\1cÐè\9c8\9blOãXKcèúÇn¸.õ\a~eÏåð|Êd1·\8bvbªsfÄ.$\81WP\0r¢lÉ¥¡b\99e\ 4¦ò´\10Vu\97¥TºªGå¥\1ds\vIÌÔ\83\ 4\1e\99\90ã]T\193Cù^jü\8a\9aki¦)*ÝPÓtâ\165\8c\ fúJU\80}\14¡Ì¸\ fD\82<7,T-ÈQU\96e¶F¯F\7f¥ÝÇv.VÖ¤\8f\1d\8dhD\ e(\ 3üû¥4ÿ9Üéóº\80p©ßÒåp\0x£¢y\1a·WèQjµ\9bëNhGdd¤\8a\18ó«\9f&°îÉv§L&ßàÆ­Z\ 4\93o(\96&Òé\fe\96Bc\bº\9aì½4f\83\83\11ì2³õ\6­´­F\9c\14ìfh\1dÌPmNw\aîÊõî\ e;8|ÏT \ 3UdíũΫÀ]úH"\8adi÷f°ñ,\8c*º<óù³çB!\98ÍO¦\94Q\9a¤2î\849¢Fuͺ°bõÔp{$\9f+Óܤúj¢U^\ fõÖøuèí¸\11\95ûKhÐ~QɱȰ¾\1a=­T㥴°äKì¢5)\84  óÍ÷«\9a°¥[Ü2<¾Y¦¢\ 5VP;ç\9c;\8bF\13\87±Ë\19ÅÂ
-\165Öغ£_]°\f\83º\96\f¹\95«\ e 6Âö\146E\89kkJcüÄ\85ÕUÕ;Ë[£©\12\9e\90*¥®@êaã        óN:=C¥8m~!\84\ fW[ú\1dÔûÕ\e\a\8e?\99\90?\1eáµ\83\1d{sz1=¥Ï¨LÆ\80\86¾.\91\vGÕolûcwò¼\8eéÛÓke\ 4'c?ÀÃ\88\9f:>_:\v{ß{ÿ\0oº¬Åendstream
-endobj
-656 0 obj<</Type/Page/Parent 553 0 R/Contents 657 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-657 0 obj<</Filter/FlateDecode/Length 1020      >>stream
+k!Q\9f>@G\90\9cu\85\8dÇòß\99µE\eÞ\e\9b\0cloý\9d¢p \90«\15\9fáú6\ e×\94æ\87/eÓÆ\13¦\19\1c\92(g\91Ýl>oÞ]mà\ 5Þa«öØkx=P\0YÐêwí*\rr[\9a³5\8b\18¼\19w\ 6[\11§1K\93\8cþ5­Ækûêeá}ô~\ 1"Êð\endstream
+endobj
+610 0 obj<</Type/Page/Parent 513 0 R/Contents 611 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+611 0 obj<</Filter/FlateDecode/Length 985       >>stream
+x\ 1\9dVMoã6\10½ûW\föÒ¤\88UR¢õq*ìÄisH±M¼è¡)
+Z¢lmôá\15%'î¯ï\f)fãfm§\8bÀ\0#\ eg8oÞ¼á\97\11\a\86\7f\1c"\1f\82\10ÒjÄ<\ 6"\88½\10D\1cáÚÇ_« 7\e\81Hhûí\86?\11oOÌ\16£\9f®\13à\1c\169\ 6       ã\b\16\19`\0Æ`\91\9e%^àù\1e÷àîãåß\1feú¨:È\9b\16£}é\95î.p¡7M­Õ\ 5,\8b:\ 3\89?»H\1fëæ©TÙJUªîÎ\17\9f1Nø\12\87\9eÀHg\9fn~[Ä°U­.\9aº\92\9f­¡\18\f1Ý1Ç\e\90e«6å\ e´¬\14Hí.\0\ f\99M\1eÎ÷\ 3\8c_\1fÜ\ fQÔß\15\82½#D·Û¨ÃÎ\9bZA\93C·Vp{Op.Ð\1cTÝWúäåóR®\ 6«ÿ      \r\9aam.\0\91
+Ì¿w¶z'S
+|Äy\83
\ e\vt8»#ÕA*1ÆO\ 3ÈCÈ[¹*U½êÖ\87#\11\80ÖÆÁ\99ÉN\82V)ÝÐ}»¿\9dA×ÊZÃÆ°ö\ 4Ä\18[öÝúklö\95\1fD"\95eYd\87ïEûPd\bU\91\17ªõ\90\9aÊ[y\84:ã"\99$â(Þ?\82îú%|º\9fÃbk;íp, U\95IJªÖ¥l\13\85LmT\9d\15õ
+\10\r2ü@¼ü`\9d¹N7\râǶ\am\93û\1eÜÔ\9djs\99ª\97<Òo\94\1d¡qÝKî\vwH\83D\11B>/U«2\8fºt\87rq\ 3k¹Uõ\ f\1d\96HÕP5hÔ­%V
+\eâå0ôZeîƦÉ7\ 5¶GMí®Û­Þ¦6\ 1\ 6\89Uª±/ìíåRc¡ÓÎH\81\98\ 5¾¸¾\8c\rÙùUÀÃ\88ÑZD\93i\14s\9fÖq<çá|vml\f9Y`KCEg^Ljc¸\93#¸$0ñ4\8e'WLР       Î/\13~9\9f\r§ãy\9c\18O!\131g¾ûN~}Wp\87:!g¼[Ä\ 3+«7\ 6ñ»?l\82\a5r¹ëÔ\9f<üë0+\90Äd¤\89\10\fû.ߨ"²zPÞÃN÷J¼çÖeõ\r.       \9b\19ê\f)\ f¸Ü\9c\87A\87\98,s¤£¡ðZI"z\91\ fd\86'$\97q]X\8e»1\ 4ÖòÂÙéuÓ\978\92\8c.Sy\87aBg§éã>>¯®E=\8fpVò¹ÓÅ?GT\1d-\8aª¯¬ÖT\85¦1fd\8c¦\1eÐYà\1e\ 6ï\12@t\87\93ðD@lýT\15[\1cø(\97ß\11\aË.µnÒÕ193\16\85ì°+WmÓoP\12L&§Ó@÷È>U\9aÁ\7fdj\11³,M\89°ÎÞÂå:ÇuÃ\eêbqÒ\ 6\95ç¹;\96ÄëÙåì_´mhîÓ   ÅtM½Ã\19ø¬Þ\9d\8f³Ç|ÖHVY>É\9dF"¢\ 4ò\9f\1fÎIV¸Ë2\1e\9e;\ø^\98
+\ehz?½\9dMáJmUÙlð\8d\ 4¿ô8a\88µc\1eáû\ f\11CEÌ\86\97\1aüj:\85,D$¼(\8cñQ\87»BЧùbôûè_Q#ÜFendstream
+endobj
+612 0 obj<</Type/Page/Parent 513 0 R/Contents 613 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+613 0 obj<</Filter/FlateDecode/Length 804       >>stream
+x\ 1½VÁNÛ@\10½ç+æ\b\88¸vH\1cçÐ\ 3iiË\ 1DÁ¨\87RU\e{\9d¸µ½fw\83\12¾¾ob\e\92\82\9d\vB\11\11ÊÎÎ\9by3ófï{\1e¹øx4\1eÐ\89OQÞs\1d\97|Ïu\ 64\fÆø\7f\80?-)Ù\1c\8c¼\91\13¼và\ 5'/\ f¦aïÃ\17\9f<\8fÂ\ 4 ~0¦0&\0¸.\85ÑÁíùe\18üüu\18þ\81Ù°6C\10\ 4èa|0ìÏÖV\92ÈÒy\91ËÂR)â8-æÇ$æ"-\8c¥\9b\8b)-¤\88¥®¼4`ým7G$fÆj\11Ù\14>noÎèúêÓïóDD²\1d»Xæ$\8a\98\1e¤6\ e©\84pWj¾CQ\96r0©¡¥A4\9dÈ\80-L"õÛ [\ 5HÔBi\94¤D\18¦\ 2\9fÔämÒ\1e\ 4Î\90Ù\9b8 Ñ\199\9blOãXKcèúÇn¸.õ\a~eÏåð|Êd1·\8bvbªsfÄ.$\81WP\0r¢lÉ¥¡b\99e\ 4¦ò´\10Vu\97¥TºªGå¥\1ds\vIÌÔ\83\ 4\1e\99\90ã]T\193Cù^jü\8a\9aki¦)*ÝPÓtâ\165\8c\ fúJU\80}\14¡Ì¸\ fD\82<7,T-ÈQU\96e¶F¯F\7f¥ÝÇv.VÖ¤\8f\1d\8dhD\ e(\ 3üû¥4ÿ9Üéóº\80p©ßÒåÉ\0ðFEó4n¯Ð£Ôj7×\9dÐ\8eÈÈH\151æW?M`Ý\93íN\99L¾Á\8d\b&ßP,M¤Ó\19Ê,\85Æ\10t5Ù{iÌ\ 6\am\98#Øefë¹lZi[\8d8)ØÍÐ:\98¡Ú\9cî\ eÜ\95ëÝ\1dvpø\9e©@\aªÈÚ\8bS\9dW\81»ô\91D\14ÉÒîÍ`ãY\18UtyæógÏ\85B0\9b\9fL)£4IeÜ    sD\8dê\9auaÅê©áöH>W¦¹IõÕD«¼\1eê­ñëÐÛq#*÷\97Рý¢\92c\91a}5zZ©ÆKiaÉ\97ØEkR\b\13æ\9bïW5aK·¸ex|³LE\v¬ vÎ9w\16\8d&\ ec\973\8a\85\15,j¬±uG¿º`\19\ 6u-Ñ\12\18r+W\1d@l\84í)l\8a\12×Ö\94Æø\89\v««ªw\96·FS%¦¨=!UJ]\81ÔÃÆ\13æ\8d:=C¥8m~!\84\ fW[ú\1dÔûÕ\e\a\8e?\99\90?\1eâµ\83\1d{sz1=¥Ï¨LÆ\80\86¾.\91\vGÕolûcwò¼\8eéÛÓke\b'c?ÀÃ\88\9f:#¾t\16ö¾÷þ\ 1o°¬Äendstream
+endobj
+614 0 obj<</Type/Page/Parent 513 0 R/Contents 615 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+615 0 obj<</Filter/FlateDecode/Length 1020      >>stream
 x\ 1µVÛrÛ6\10}×Wì¸/r§b¨K))}èØ­\9bx&Q\\9b\99ö\813\1d\88\ 4\12I\ 3 d÷ë{\16 \15ÑvT硺\8c(r±\97³g\ f\eR\88÷\90¦#\1aG\94nza\10R4\8d\82\11MfS\\8fðÕ\92r÷àÇp\14D/=\18OgÏW\9cǽ7¿Mh8¤8gïÑlJqF\88\10\86\14§}A\95H拉LV²Èda©,È®$Uª\92T\88\8d¤¤_ér)\96ëG÷@\15Vê\¤29%Qdî^YQQo\96R'§§ñß\b9oB\ e\10s0\9a\ 5\13DíÏ\83q0
 f\ 1]_ýò×µ4\8bRoèú\ f¿"jV\84°\8f¼ýçËE<\1e\91X¯Ët\85°Þð \9aÁ\10\ eÙówdÔ?\92ÊÜecl½¤LXAª å£\95¦\eÂ%Õ.å Ã\88*-MZ¢´\87£aØ\f         «\0ScO\8aqS¹\92\1aX\19\86L\184ì¾\96ƶ\80´å=\8b=£T\14©\§e}¼Bo\86 °û\19\81Â\87ð\15Î9_½\95Ù1ì\09º.\1dTàC\96©âö\b\93\ 3øóÍ\ 5ÅÛ+G\9f\99LZn\84\ 2½tÛ"-«õ£_\ 5ª\80\1d99dÆÃ/T\19\a\14\vµîúfz0\85û1Ü\82±ìP\8atÕ:^Ä\1f\1c/\17\17ñ\87Oï>-\1c\893ÇgÃ+\fí\94]½í\16xÀºÀ½ºQ\99Å-a\9a Ì¯®\8f\1d\8f¾îEK[k¦P&½ÑWa\98¸y¡sàGoüÏYz×õ¼G\ 5\93åL\f       (\86\9bc]¦Ò\18ÆG\18
 Ü-n\81\10\9fò¤/\83[J\92«Ë«\8b$Y\e¡«\14ÃÍ0\91 \13«EarôÎ<\82ù\ f'Lré²FØ\16\15\1eéKV\ 5\90C×)\8a\83\81¬$µ®J\ 3ý*5e%\a·+e\b\9fº¸+Ê]\11tq<èÅ¢´ò­sÒH\86Cáæã9Å\9c\94Hm;gì\8e'Ógmw%ÕP\f\f\ 1Ð\15X­1\97\10.ãsÊ\956\96×`\8aÂQô\13gpP\r\ 3g$æ;c\eþ\97«µ¤\15ô\ e?¾w2ÃÀ¸gȧ\84zþy\98\94©ÊÂHWÙ\7fÖ³\91,\9d\866âÁ²\8eýÀWÚ)\1a\v¬kÛ­ÂEÓR'1\90\vóí"±ä¸¬Qæ\93bZ÷Í
 \8fä=#é±8\84ÖÛRÛrßñ\16\83#q\9b\90­r¿Ü·}®M\14\8f0ôF;)\85\1aÜ®\ 3¾îVÂõ\88E·Þ\0o[ÒÒ±úI\85,q
-Ô[Jl\13~GBQ\8eܾÄ\8d¨*&Þ^©32%åB£4§\ 4\a=R\85²J¬ißÕFÉ\eÅxiû9D°-ò\89ÀtÄá$ÁËO[\92\18½5Ûô\84KêlÕûÑêX\17\16Ʀ±~qSé\98£eúµ®1øæõ\9e½Lü?¾wwæ\e \81õ·@Òî\v¯Mý\89ý¬9§\f'8\87Íç8Q¹\13ÈÍÙÇó3úUnå\1aZ\80a~W\83lÜÔÁ\10\a\1cLÃù\97c\10½\97\ 2\e"[L¦\93`\1aÍp\bľ6\99ò­\8b¸÷{ï_ápêSendstream
+Ô[Jl\13~GBQ\8eܾÄ\8d¨*&Þ^©32%åB£4§\ 4\a=R\85²J¬ißÕFÉ\eÅxiû9D°-ò\89ÀtÄá$ÁËO[\92\18½5Ûô\84KêlÕûÑêX\17\16Ʀ±~qSé\98£eúµ®1øæõ\9e½Lü?¾wwæ\e \81õ·@Òî\v¯Mý\89ý¬9§\f'8\87Íç8Q¹\13ÈÍÙÇó3úUnå\1aZ\80a~W\83lÜÔÁ\10\a\1cLÃù\97c\10½\97\ 2\e"[L¦\93`\1aÍp\bľ6\89øÖEÜû½÷/áfêRendstream
 endobj
-658 0 obj<</Type/Page/Parent 553 0 R/Contents 659 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-659 0 obj<</Filter/FlateDecode/Length 813       >>stream
+616 0 obj<</Type/Page/Parent 513 0 R/Contents 617 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+617 0 obj<</Filter/FlateDecode/Length 812       >>stream
 x\ 1\9dUïoÚ0\10ýÎ_qªö¡\95\8aIBH ß -[¥µ£%\93ö¡Òd\92\vd\ 4;\8d\9dµü÷;\eÂ\8fÒ\824\10\ 2röó»»wÏ/\r\17\1c\10\ e ^4\1cæ@Çí±\ eøÝ\90~{ô)\11R\ep]\97¹\1f\ 5:\1e\vß?\1fD\8dÖ0\0×\85(¥3\82n\bQ\ 2\84ï8\10Åç\ f\15D3\84§Ñõï\11\8fç¨!-ù4G1Õ3Xàb\82%d\ 2&\92þjZ8ÈD\ 2OøR¡ÒÀé·}Ð\8fçB¾æ\98L\17(4,*
 ÆRh\9e\89\8bèOÃ\81¦Ûf\1e\9d}n0Öè2µ\88´!£ì\88\ 1$\óK:.Ϋ$\13S\eÞa6C\9e\fbkèo²jz\ 1ó\rö\9aÖ\95Yà2¿íAÓ\vY\97¾Mp\93¡ 7\r¥\809A§\8eÑf\93\8a\r\1enFUH¡ð\7f¡U\rÝ\1aöÀ%²)\1d¿bØöj\86=Öf\1d\ 6\ fÑ÷q\1f¢\92\vÅc\r\ f|\81       \8c²\ 2\ fó6Ý<7íS¦!"F \9aÒ¦\8c¸\82æs\14 \ 5U1SP\10\0ðò\93\fn\95æ\93<S3à¦o\ 2-\ 6hi[p7ºþ\ 2jF»áù||?дä×ó\ 5\83J!бå²ÐıàJ½Ê2Q¶C{\ 5þQ\10\15.l\93M*ð\9a­õ$(=8{¦×èntk¾sÅË">c0Ö\92N4\82\1caFjËñ\10û§ª¥²³ì\92JBâä0&EoK\bß,\b\9a %8o~Ûq\ eAÇv·\0Ó
 K~$ó,^Ò\18Zåï\92[GVÈ\16i_\[~{+×\fÍ\ 1\8f\15\96\13©\84ýcÔ% \8e\ fÙ\1d\87¤:\eÔë\ª\ fÊe\1f¿kë\8aõ\81êo0Í\ 4*He¹\15\11ÍgbF6]Öe§\8a\10ýZ[»~³\99Ìwe´c´\1dar½\8d?8o^¼\12zm[ÍÝð\87å:
\84'ànEµÀÒè!*É·HÈ7rAÆ¥\8eÃZ§Ø&{ÀÒªf\8cq\89ú(P\9a\9eà÷]ÊyUÀøîæ8£tm\10\9fÖm\rd¦á\ 4ҩܬ\86\8efå8«¬6ng\9aØ&\85\19Ç2F\17°÷³µ_\ 6²\ fÏÚÛö\8e*V#¸ò\ 1\88\13²4±$\7f£»b)+ȳùJñ­aw}=¸a\97\ 5½\1e\ 4~\87u\{\13\8cû÷\83>Üà_Ìe\81¥\82¯\15\1c߬W7C§W3=eÉ~è³0èÒõJ©ù]\83s\e5\1e\eÿ\0\8e\134\9fendstream
\84'ànEµÀÒè!*É·HÈ7rAÆ¥\8eÃZ§Ø&{ÀÒªf\8cq\89ú(P\9a\9eà÷]ÊyUÀøîæ8£tm\10\9fÖm\rd¦á\ 4ҩܬ\86\8efå8«¬6ng\9aØ&\85\19Ç2F\17°÷³µ_\ 6²\ fÏÚÛö\8e*V#¸ò\ 1\88\13²4±$\7f£»b)+ȳùJñ­aw}=¸a\97\ 5½\1e\ 4~\87u\{\13\8cû÷\83>Üà_Ìe\81¥\82¯\15\1c߬W7C§W3=eÉ~è³0èÒõJ©ùVm·Qã±ñ\ f\8e 4\9eendstream
 endobj
-660 0 obj<</Type/Page/Parent 553 0 R/Contents 661 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-661 0 obj<</Filter/FlateDecode/Length 703       >>stream
+618 0 obj<</Type/Page/Parent 513 0 R/Contents 619 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+619 0 obj<</Filter/FlateDecode/Length 703       >>stream
 x\ 1­T[oÚ0\14~çW\9c·Òixq\12\9cÐ\97\89\8avcj¡\17wOH\95IÌH\ 5  µ\9d^4í¿ï8\ e\1d÷uÒ@(Æçä\¾ó}ç±AÁÃ/\85È\87\80A2oxÄ\83v;"!\84q\84g\1f\7fJ¤2\84,À¿»\f^HØ.C@=âï2PÊv\e\ 2º\9dû\947>\9dw\80\13,\97Å\11ð\14°TÏ\ 3\9e4;$ \8cP\ 27ò±\94Ú\1có\aôgoþ-\9faL\9e6¿\ fû½\ fÎ\1aÖVìºE\ 3,\ 5Íãr2\91
 \16E\96\e©Ö£´V\1dï\ 6ý[~ãï\8f¤¥zÂH¹\98KhA\99gI\91JÐFeù\ f|\beìá93S0Ï\ 5\1c\8dFGú@¾áé·û.ç7û\13\16ã\a\99\18\10\ 6S\8cK#\ fE»ë\ fxp x\8a%§RgJ¦ \92Dê:Ør\0\15\14~ì uØû\16{½(r-×Ûðà\rü«áÅý×Ao\7f\ f\17·]Ä~\96%¯0\15y:Û\bµ6\ 1%M©òý±0/dy\9a%\ 2±\0]®·\81d\98@\15¯b\e\8eÞ¶\11\11°%\\97R½B?\9f\14pUU³Ý\91¥_sP\18y\ 2|*1\11ú&3¡5\1eQ-\ e\b\98\97ÚÀX\82A\17m\99 4\9e\85±NöN9¶\12\17\7f\89®El\ 5Ûè=¼þ¯ÐZzP¶\1fÚ\95nGM1Ó\ 5\88õ±}\1e\1d¯·´E\98\88¼\870\7fQk\99§ERÎ%j5\85÷K÷_º[Nm¥åjÀÕ\96\19\1d×\93ó óÆ'?t²Ð¨íd
 £æ\9fW\1d*8^\\89±%P"´\84àÄbµyÛÞ¼ý¹áÕ\e^Þ÷\açCH\8b¹À\9al\9a\8f0\93Or¦!\0\94\ f´1»ÀÕ½¤_]ïJª_uP\9fâòÆ\82\9c¨\0\84!\ fÊ\a]\ 2ÜÇN:±\93ÎY\8eóP(9à
 É\8fséUåm,\10|Õ¯$dU\17o\11\9a­[½¸ó\ 2ä\8bQ\ 2Ra\84#W\/p\1aÅ\84u:À\18s°Þv/O»Ð³P\14\v©4|)³´Ú%­¥o+òpd®tæJ\1f.d¾¢÷0
-IÄb\ 4\ 2ÝÂ\8eMyÆ\e×\8dß>\9dâ\91endstream
+IÄb\ 4\ 2ÝÂئ<ã\8dëÆo>\93â\90endstream
 endobj
-662 0 obj<</Type/Page/Parent 553 0 R/Contents 663 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-663 0 obj<</Filter/FlateDecode/Length 527       >>stream
-x\ 1åTMoÛ0\f½çW\10\ak\92íØò1mº\ f k»Å»\15\184IA=8R*ÙC¶_?Ú²·´s³\ 2Ým\b\ 2\ 4¡øH¾÷Èû\19\ 3\8a\1f\ 6y\fI\ 6r;£\84Âb\91\93\14R\9eãï\18¿Næ\ f¤yL²©@üT\80åét\ 6§$~\8ctVÎ^½.\801(7ØUÆs(\15`G\94B)ç\ 5I\b'1\81\8fÚï¬ñú´ü\8a      Ù¯\84(ΰïRÍ?½»*\938\84Ó!\8cãE,Á¢\18§\10\816íV;ÑTÖ\80´¦Ñûæ!^t\98ñ<ÄÆUÚ#]B½\10ªq­o 2\eë¶}\8b\9cnZg\8e\f»ç\1d\81\942\81c\9f\18\v=ºV ìVTÆ\9f\80o¥ÔÞ#\ f\15U@&7Ð\93\90°@k'@Aàr½\84ë\9d6°Ö\12\8b\87Ê¿e\8bâN¶^­\82°N­ûVûáÙ¨\ 6*0\8a\85\r!÷N\80\12\8dø\13\8c\1fÖþWâ·FY\89ú£ì/\95ê¿\83ê-1\8a\17Ì\atOÏ{\8f%éà1´Ô\1døÞ Çü\85>8t\17£Á^çµ\1d×{ÒXøî±³&ÎÀÍõåç·W«§WcgëJ~\87;aT­¡±ðE\83ìJ\ f¦\18k\87\91\ f\9c\88õ\9fcÅ¿6@=Ò\15*ÂÃfn碮á\87vÖß\9ev\13\8eÙ\95Q\95\14\rÞ\9da\8bø|8{,ç$+
\18ï¶r½|\7f\84\95þ¦k»ÓÎÃ\9b
-;\1f\8d\9c\16ã\ 2ó ÇÅp+5\94ÝaÂÓ±
-§£«\95â\89Ï3\8e\a\eñ\17´ûë¢\9c}\98ý\ 4\9dÃendstream
+620 0 obj<</Type/Page/Parent 513 0 R/Contents 621 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+621 0 obj<</Filter/FlateDecode/Length 527       >>stream
+x\ 1åTMoÛ0\f½çW\10\a«\92íÚò1mº\ f k»Å»\15\184IA=8R*ÙC¶_?Ú²·´u³\ 2Ým\b\ 2\ 4¡øH¾÷Èû\19\ 3\8a\1f\ 6y\fI\ 6r3£\84ÂéiNRHy\8e¿cü:\rë>\90æ1ɦ\ 2ñs\ 1\96§Ó\19\9c\92ø1ÒY9;yS\0cP®±«\8cçP*À\8e(\85\v\92\10Nb\ 2\9f´ßZãõqù\r\13²ß   Q\9caߥ\9a\7f~\7fU&q\b§C\18Ç\8bX\82E1N!\ 2\8dv¢©¬\ 1iM£wÍC¼h?ãe\88\8d«´Gº\84z%TãZß@eÖÖmú\16\ fà9Ý´Î\1c\18vÇ;\ 2)e\ 2Ç>2\16zt­@Ù\8d¨\8c?\ 2ßJ©½G\1eÔ@*ª\80L®¡'!a\81ÖN\80\82Àåj\ 1×[m`¥%\16\ f\95ÿÈ\16Å\9dl½Z\ 5a\9dZ÷­öóQ\rT`\14\v\e\9d\0%\1añ\14\8cï×þWâ·FY\89ú£ì¯\95ê¿\83ê-1\8a\17Ì\atGÏ{\8f%éà1´Ô\1døÞ \87ü\85>Øw\17£Á^çµ\1d×{ÒXøî±³&ÎÀÍõå\97wWËçWckëJþ\80;aT­¡±ðU\83ìJ\ f¦\18k\87\91÷\9c\88õ_bÅ¿6@=Ò\15*ÂÃfn碮á§vÖß\1ew\13\8eÙ\95Q\95\14\rÞ\9da\8bø|8{,ç$+
\18ï¶rµøp¶\80¥þ®k»ÕÎÃÛ¶
+;\1f\8d\9c\16ã\ 2ó ÇÅp+5\94ÝaÂÓ±\f§£«\95â\89Ï3\8e\a\eñÓ¢ûë¢\9c}\9cý\ 28-\9dËendstream
 endobj
-664 0 obj<</Type/Page/Parent 553 0 R/Contents 665 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-665 0 obj<</Filter/FlateDecode/Length 588       >>stream
+622 0 obj<</Type/Page/Parent 513 0 R/Contents 623 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+623 0 obj<</Filter/FlateDecode/Length 588       >>stream
 x\ 1Õ\95Ýn\9b@\10\85ïý\14séT\85²kº@ï\1c9i-9v\eÓÞ$\91\85a¬Ð\ 2KX\88ä·ï`Ö?$&­Õ´ReYBÚÝÃ93\1f³\ f=\ 6\16ý\188\1c\ 6\ 2´g\99\16\b[\98\1clסgNÿ\ 2aµY°»\168óL÷Ø   &\98i?]8÷{ï.=`6ø+z»pé!\ 2z³e\81\1fö=s`2fÂd>\84\89\94\1cæãÑüÌÿNÇ\ 4\1c3¸CÇúSYâ\aȪt\81YYĨ ÎȱÊe¦\10ÒJ\95°DPA\8a\10¨çû\1e*T¥Ùh\93¥\9d¶K¶I]{!7׸ÙúÜ\85hv~\9eM\16\9f¦£fÝÖJTS\83\r¨\98$UÇÉe\12\87\ f²(Á¶\94q¸÷ëxê\ fx·ÖAÜ\17T¾ÍÆ£7Ý"U\16É°J©l\18A$Ó\80
 G\85\86eµZaA^cZ)^W?«ûpÚ\vn\ eÂÞA\97iíVA)ë~'Ä\r¥ªrÝÚc\r\19Í®\16\94·­¿¯C\97Ô\96ÀVÃÂû ¸aâ®»Ú¡Ló\ 4KLÖí\fLÀr]¢zÂàF\9d·)ä5\85\rØí®X`p\8da\1dêúâ²Û\87\ eX õ\18³\10wßJ[²\95î\ 4\1cá¶\9fĪ&*XÊG¼={Aö\14>\7f\9b\99¿äUÃÂ[´ü²Ê\84\97¢\8a¬
 \99n\aÈ[h×G÷ý(U\7f\9a¥\81H\93Q`Y\15\19Í[\83&d\14\87\ 1A\aª
-CTª    ²\1fÉÆ \1eÛÛùGÜ\1dÌâ)}ÂúÀÖtÍß¿\1aÆÜü?\87ñ ½|¥Of?Ê\8eN\WßQÌæ¦ð<}\r÷çëó!\8cð\11\13\99c¡àc\15G\9b»Ê`\8e»Ùi8\96·\83ãøEm;¶é\b\97h#\88Þ³:Ñ\85ßûÒû  \8eñN     endstream
-endobj
-666 0 obj<</Type/Page/Parent 553 0 R/Contents 667 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-667 0 obj<</Filter/FlateDecode/Length 902       >>stream
-x\ 1µ\96_oÓH\14Åßó)®\10\ fíª\1eü\ fÛáe\95&\81\8dhÒlc`%\8a\90c_7\ 6\9d±\vùö{gâ´1¤)hµ­ªTõõoÎ\9c{îLo{\ eØôí@è\82\17@ºîÙÌ\86À±\99\v~\14Òï.ýH\84Ü<ð"\8fE?>8\8f{/^\aà8\10çÄ
\10â\f\88\10§'ï/'£?Nã/Tä·E´\92åx´D\9c\9d4<\13i³F^c\ 6\99X'\ 5\a\9e¬\11\96M\9e£\84J\14ôHn\ 1»U¬}Âl0\1d\7fäÍú31d\81êÓã\8b\82\12¡\14â+-ÙTì\b;]%òã\11`GýrS\13Ý\82<)\15\96\e¨eÂU\99è\8d-&#PµlÒº\91øçvÁ~ë\86Ù\8c\e1_ÛÑg\1es\æ2¸BU        ®°«Î\ 6Ë\r¶¥£Ëéç«ñëÇwÛº)\91|D\9e"õñ\10²cæ»É,öÜÇ\99{>ÃõIY(½»d)îðú´«´\83ý\9d\10ürãÿ'­Æ×Éè\17\9aL\rVdH.Å\9a:wÛ ªÏ kϱ\9cý×­l3Ô\ 6C"¥\8cÓ(ZPð¬H)\81
-T\93¦¨Ô¶G\14=\1aR=­\96çï\82ç3\98\8dã\8bË7\973\90U
\8eo\92Ö0£©É`^Tm\16wc¬³\18²@Ç6^!(½m\1d3\91\ 3½VPx¡N¾"\aÁ¡^\15
-*B@"ñ\95Vá0ßs\r!¢ObÔÉ\92\f[A\ 2©à\1c\rAÏjMìÉ|ø\1c\14\r#\92É\8béyM%ÿ\\9f2h\14\ 2-*7\95\ eb\95(õMÈL\19¯I\9f\130;x©é$#áp5\1f\9a\8dÀ·¢^\19²9k\9e]Ó×|2\1fëÏ\9d  Ï\18,jA+j\ 1yQ"¬\12\9e\95ø3»à7?\16\9d\91\1d\9c&\ 3\16¸o üe\10t\16PSôæìï¾gÛ\ 6iuõê\82aYС\ 6ÃUR\96Èo\90\14iêÅb°\v\99Q»@yGçæÃ;Úì\ eºL\e}*\11K)ê\12¼ÅM\v&\874{Ð\90\1e¢5Bÿ}ÿÏ\9aÜU]¦/Þ£,òͽt\89Ô\8d\aÙ\vy\aó\ fÚ\15\ 6Ãä¡|§Ú\94\1f\14v0\85\vqC\9by\ 2û»r[n\9e?Áí\18,(\94ÝÔn\eüSäG\98\17\9c\863\17\92^h'ä\f\8a\8cºN&îrEs%7zp´1ûwíý]p0\11\ eߺöwÛïÂ:ǵƵ\1d\99·#¥[v\1c\18<\ 5Üõè8¦½|\ e^õF×}K\8es¼­\9c¨½e\1dßeA¿\ fAHWläé#a1\98\9e\ f`\84wX\8a
\827\r9¯_³\9c02ÕVh÷ui{-\9b鸠\7f\1c\9aÊ\9c\8aæ8õC\9f\85AD\87)\15¾4òÇqïïÞ¿íf¨lendstream
-endobj
-668 0 obj<</Type/Page/Parent 553 0 R/Contents 669 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-669 0 obj<</Filter/FlateDecode/Length 934       >>stream
-x\ 1¥VQoÚH\10~çW\8ct\ f%'pmã\1aÓ·´½T\91HrW¸¾\94SµY¯ñ^Ì.õ®ãòïof½¦\90ºi¥SD\ 4\9bof¾ù\96\b\8b`\1eÃ,\ 5¾\e\85A\bé,\rRH²9¾\8fñU\v\83${\15dC\ ff³løD\9c$A<t"
-\ar¼Y\8f^^¥\10E°.\90V\9aÍa\9d\ 3R
-CXóñru \97\8d-!~}±þ\17C\13\1f\8aÔ§Ñ\f\13­óqø5,º§=Ðôô1a,õV+x«\95­uõ<\94è \16\10%ÄÉAÍ¢\0?äãE\90\ 4Q\0\84øA|i\84±ð¶dU%ÔÖ\1fë\19\840\8d©\94ñ­¶â5T.¿\11õ£¨A±\9d\0cYm\r´\12\8b³­\86\17\9bÍ\và%«\19·¢6ÀT\ eÒ@³ßã      Î\8c\b\88\17Á¦\1d\97S`^I¡,ÅÛRÀ\8eñR*1\ 1¥­û¢ÁÄÃÇ)\*i%«`ÉÔ\rSl\8bùöÌ\98V×9\94Ì\94\13`[&\15ÖÚ\96\92#[<\83D»ª)§4¦\11ùäIzW¦çÜOJZ#ª\ 26ãJ·¾¬ÍE@\88(¸VV\15Ü\v\8eÈ=&FR¯W]ßþìY­\84Ý\x6î\14ÒÁ      \8e4\13¨\1860@       \17\8d\91\84\ 2æ2Èß%Á\7fº5pÐ\rX\r¬jÙÁ@.°\17ÝX°PC³:¶c3\96\ 1¥\11°¼ù\rtáÞúvwc\95
-g\8dµ=ÉJ\ 3ÄJéÛ\97W(-/÷i\9c\9d
-\v¥åeÕ\ 5\9e\8aÉOýãÝõ»ß»§C«Ð¨\óf\87b\109Ü7EAÃÔ\12?:FßVílCþ¾½^­?Ä?\86=\93o£$×9)¸öíý\7f°^¼¿\fKKò)ûçÇl=àQ£]dßuWùyßcê»Ùke\ 6¶Ø7þ§Yýr\9feíry\84ZئVhrS\¹\r\94©\ 1Óp.\8c9Rt\9e\83\8e\83ôz\1fÄÁº\83à\87\90\13»A\15Þ\vÛ
-¡p\r:\9f"?©}\91\13Ò?ohQ\9c\82û\86Õ"§\ 4¬Â-¢x^
-þ@\11»£\ 5à\aâ\8a\fû\9dî\ eO\8f\88\e\ e.0-%ìkMe\ 2:QçQûZ<JÝ\98ê\80¬¸\90\8f¨×ïiø\95ùÎõ\94Ø~.*¶E\9f\82¾²Þ\83ÜÚ2JÅÐ\16û\18×\89a#$\ fØ5èq\96=\b`ÀõþÐ/øó\15\1eé\93\89M\9c\81a\95ÄêÐ[\1a\95\8d\9etÎ4÷\86¦\83ÎÍð\8eó³\95xQí\19\7f\10Ö<ï\171]E?ó\8båÝûÏ×·Ww\9dÀ\86,Ãw]ºÑ\17¤.b U¡»3½ÄÎ\1cãl\e2ïgÑ\1c\7f\12,\16\90ÎcüÍ\80wßêòæÍ%¼\13\8f¢Òx\8d\19xß`\1a\82\9dö±Óy¸ø\95\9b5\99'Á<Íp{\10÷Õ\8c0þX\8fþ\1aý\axp\955endstream
-endobj
-670 0 obj<</Type/Page/Parent 553 0 R/Contents 671 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-671 0 obj<</Filter/FlateDecode/Length 920       >>stream
-x\ 1­VMsâF\10½ó+ú\88+\96,      , 9á¯ÔVÙN²(§uÊ5\1eµ@AÌhç\ 3¿OÏH\80°ÁÙC\8a¢
-ÄtO¿×¯_ó½\17CD¯\18F        \fRà«^\14F\90&\83p\bÃñ\88>'ôV\b\85ÿá:JÂôÔ\ f\83äútD2\88\89Tñ =\9dj4\ e\93÷\ 17Yïêa\bq\fYáêLÇ#Èr Z£\b2ÞçU\89Â\ 4\9cUÜVÌ`\ e\aN\8fJVé\8bìo\8aNÛè\80Â\83x@wdyÿÏ/ÏÙøÛ_Í\89Nþý\81\9aåy)æ`$\f\83·­A`U9\17°)Í\ 2´aÊ\80,`öt\ 3\vd9ªð?.\e$çï\128\7f-*6×\10\0}\96T¼CÒ<zé[mY\ 5kVY\84RCô\ fa§ÞÅEñrÑ$\9dt!&cj\bA\9c\84Ã0¡\17|E]K¡ñ¸Â\b\82$mNò\ 5SßÆ\9f\90¡Q­Qu©ý¿àj¶"fµ\83ÝRP
-RÝw\8bÚø;|×v\85*4V \92m\0¥ÈKN4iÐ\96sÔ:\84\82\95\95%Å6LY±\14r#ÚB\89!"¥p¡¤Ë=?\83\10\1egS\985ø~gZo¤Êé»ùH\96\13^ÿY\1aü\19Ì\ 2©â\rÔ»\0j\8b¶ºFîúF\92y#Ppw?\ 3\14\mkSJ\ 1V{=Q¨¬òC(\9d\9e£@EX|Þ%n}Í\9dþ4\97\121oh6\88{\82\80\89\9cÈjº{        û!ðy\9aÉèöìÒ\9fç\väKwb\ 5lÎJ¡\8dûâàÒ\8d»ñøt¬à¥o\16\84¸VÒ\11OÀ¨\v\8e\92Záº\94VW[ª\8ac¹vãè\a´[ÆËÅi|.ÃG¡\ 1£\8er\92¯QÖ³[(¹ê\0<3ú\1eªËØÞoJÒÙO\10¿Ã©\91Rç§ëÙJ\v+ëèaK×N.ë­\9bùCÖswïÁ/Pá%u\8d3âÈ\ 5nÉ?ªÊÉ\83\1eä$â÷õØ7íÄ/\f0KçÉÇHäN=5ãK4Ú\97zõ°\ex'\92θ\ fÂØ\8d»\9f\9e\8f\ 2n§ýöñ9{ýòüð[sâ\94ùµ¤\95ÞH\8b\84«w\15\95¢\90Ç\97\1c9¬7\95O<åh~\ 2°"\97Ü®\b16ý8\80l,à\bæ\8f¸Úí×û»Ùy\8c\1f¥\16îäçÅB\1e¿ª\81Õ52Eòö3M\v@ÒzñMøacú\85\1cûÖ;v\94²\8eoµvÕTxÆ\9f\86­?M\9fàQÎ¥\97Ëa£¹îw\\89|¯Ì_IXÊ­\89L¹uQ4zu\ f\85·Zr\8c½k-\98^øùò\91PHåÅÝÚ/é3\97+r\88VsãvÉÄ´§ÓÉ\84þ+Ð\ 6Îû³éÓÍ\14îp\8d\95¬\91¨úÕ\92n\1cª`w2\18E\93ÃFò\8e;=¨\eÁ¯Æáh\18\8eÒ194%½\1eº\ 4÷Yï\8fÞ¿®Ö\8f\85endstream
-endobj
-672 0 obj<</Type/Page/Parent 553 0 R/Contents 673 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-673 0 obj<</Filter/FlateDecode/Length 758       >>stream
+CTª    ²\1fÉÆ \1eÛÛùGÜ\1dÌâ)}ÂúÀÖtÍß¿\1aÆÜü?\87ñ ½|¥Of?Ê\8eN\WßQÌæ¦ð<}\r÷çëó!\8cð\11\13\99c¡àc\15G\9b»Ê`\8e»Ùi8\96·\83ãøEm;¶é\b\97h#\88Þ[u¢\v¿÷¥÷\13\8eçN\bendstream
+endobj
+624 0 obj<</Type/Page/Parent 513 0 R/Contents 625 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+625 0 obj<</Filter/FlateDecode/Length 903       >>stream
+x\ 1µ\96ooÚH\10Æßó)FU_$§xë\7fµMß\9c\bÐ\1ej \pÛ\93\9aª2ö8¸5»Î®\9d\96o\7f³\8bIpKH«Ó\ 5E <ûÛÙg\9e\99å¶ç\80M/\aB\17¼\0ÒuÏf6\ 4\8eÍ\ð£\90>»ô/\11róÀ\8b<\16ýøà<î½x\1d\80ã@\9c\13+\88B\88\8emC\9c\9e¼¿\9c\8cþ8\8d¿P\90ß\ 6ÑN\96ãÑ\16qvÒðL¤Í\1ay\8d\19db\9d\14\1cx²FX6y\8e\12*QÐ#¹\ 5ìv±ö       ³Átü\917ëÏÄ\90\ 5ªO\8fo¦Á
+j\ 1K\84R\88¯´eS±#ìt\95È\8fG\80\9dì\97\9b\9aè\16äI©°Ü@-\13®ÊD\1fl1\19\81ªe\93Ö\8dÄ?·\eö[5ÌaÜ\88ùZ\8e\98ã2\97Á\15ªJp\85Ýìl°Ü`\e\9c\1a¿~ü´­\9a\12IGä)R\1d\ f!;b¾\9bÌbÏ}\9c¹§3\\9f\94\85Ò§K\96â\ e¯O»\99v°¿c\82_.üÿ\94«Ñu2úEKµ"S\81\15  \92K±¦ÊÝ6¨ê3èÊsÌgÿõ([\ fµÆ\90H.ãÔ\8a\16\14<+Rr \ 2Õ¤)*µ­\11Y\8f\9aTw«åù;ãù\ffãøâòÍå\fd\95B¬í\9b¤5̨k2\98\17UëÅ]\ek/\86,ж\8dW\bJ\1f[ÛLä@Ë
+2/ÔÉWä 8Ô«BAE\bH$¾ÒY8Ì÷\C\88è\9d\18u²$ÁV\90@*8GCнZ\13{2\1f>\a\88$òbz^SÈ?ק\f\1a\85@\9bÊM¥\8dX%J}\132SFkÊÏ      \98\1d¼ÔtJ#áp5\1f\9a\83À·¢^\19²\995Ï®éo>\99\8fõûN\84g\f\16µ \1du\ 2yQ"¬\12\9e\95ø3»à7?\ 6\9d\91\1c\9c:\ 3\16¸/ üe\104\v¨(úpöwß³m\83´ºùê\80aYÐP\83á*)Kä7H\19iêÅb°3Yç\99Év\81ò\8eææÃ\1a-v\a\8d\9eJÄR\8aª\ 4oqÓ\82I!Í\1e4$\8e»\87h\85Ðßï\7f­ÉݬËôÅ{\94E¾¹O]"Uã!í\85¼\83ù\a­
+\83\10¾ËÚ\84\1fÈø)ì`
+\17â\86\ eó\ 4öwÓm¹yþ\ 4·#° Sv]»-ðO\96\1fa^pjÎ\HZÐvÈ\19\14\19U\9dDÜù\8aúJntãhaöïÚû»à #L\9b\1d¾uíï¶ß\85uƵƵ\15\99·-¥Kv\1c\18<\ 5ÜÕè8¦½|\ e^õ&¯û\92\1cçxÛt¢ö\96u|\97\ 5ý>\ 4!]±\91§GÂb0=\1fÀ\bï°\14\15J\ 5o\1aR^/³\9c02ÑVh÷uh{-\9b\1f\ eMe¦¢\19§~è³0\88h\98RàKG¯\1fǽ¿{ÿ\ 2í\¨kendstream
+endobj
+626 0 obj<</Type/Page/Parent 513 0 R/Contents 627 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+627 0 obj<</Filter/FlateDecode/Length 933       >>stream
+x\ 1¥Vß\8fÚ8\10~ç¯\18é\1eÊ\9e MB\1aB߶ímµ\12»{W¸¾\94Såu\1câÛ`ÓØÙ\94ÿþf\1c\87Â6ÝV:!\10Áóã\9b\99o>óe\14A\88¯\bæ1ÌRà»Q\18\84\90ÎÒ \85$\9bã÷\18ßµ\80Â\1d$Ù« \e:\98Ͳa\8f8I\82xÈ#
+\ar¼Y\8f^^¥\10E°.\10V\9aÍa\9d\ 3B
+CXóñru \97\8d-!~}±þ\17M\13o\8aЧÑ\f\13­óqø5,ºÓ>Ðôô\98b,õV+x«\95­uõ|(Ñ\85Z@\94\10&\17j\16\ 5ø\90\8f\17A\12D\ 1\ fâK#\8c\85·%«*¡¶Þ­G\10Â4¦RÆ·Ú\8a×P¹üFÔ\8f¢\ 6Åv\ 2\8ceµ5ÐJ,ζ\1a^l6/\80\97¬fÜ\8aÚ\0S9H\ 3Í~\8f\1e\9c\19\11\10.
+\9bvXN\ 3óJ
+eÉÞ\96\ 2v\8c\97R\89     (mÝ\ f\r&\1ev's©¤\95¬\82%S7L±-æÛ3cZ]çP2SN\80m\99TXk[J\8e\a\81vUSNiL#òÉ\93ô®L\8f¹\9f\94´FT\ 5\95n}Y\9b\8b\80""áZYUp/8Fîc¢%õzÕõíÏ\1eÕJØÍ\85Gã¼\10\ eN\0ãH3\81\8aa\ 3\ 3¤pÑ\18©¶O `.\83ø]\12üЭ\81\83nÀj`UË\ e\ 6r\81½èÆ\82\85\1a\9aÕ±\1d\9b±\f(\8d\80åÍo \v÷Õ·»\e«T8k¬íIV\1a VJ¿¾¼BjyºOãì\94XH-O«Îð\94L~ê\1fï®ßýÞ\9d\ e­B£rÍ\9b\1d\92Aäpß\14\ 5\rSK|t\88¾­ÚÙ\86ü}{½Z\7f\88\7f\1cö\8c¾\8d\92\çÄàÚ·÷ÿ\85õäýå°´$\9f²\7f~\8cÖ\a<r´³ì»î*?ï{L}7{­ÌÀ\16ûÆÿ4«_].\1f¡\16¶©\15\8aÜ\14W.\97\1cijÀ4\9c\vc\8e\10\9dæ É©â ¼^\aq°Î\11ü°N\19r"7ÈÂ{a[!\14®A§S¤'µ/rBüç\r-\8acpß°Zä\94\80U¸EdÏKÁ\1fÈbw\94\0| ¬\88°ßéÎyz\8c\88nßâà\ 2ÓR¾ÖT& \12u\1aµ¯Å£Ô\8d©\ e\88\8a\vù\88\1e\86_\99ïTO\89íç¢b[Ô        å*è+ë5È­-£T\fe±·q\9d\18\16\80]\83\1a\83\0\ 6\ fý\82?_á\11>\89ØÄ     \18VI¨\ e½¤QÙ¨æêIçLsoh:¨Ü\fï8?[\89\17Õ\9eñ\aaÍóz\11ÓUô3½XÞ½ÿ|}{u×\11lH2|×¥\e}Aì"\ 4R\15ºóé)v¦\18\90y=\8bæø\97\80t\1eã\7f\ 6¼ûV\977o.á\9dx\14\95ÆkÌÀû\ 6ÓPØio;\9d\87\8b_¹Y\93y\12ÌÓ\f·\aã¾rìÿc=úkô\1fxf\954endstream
+endobj
+628 0 obj<</Type/Page/Parent 513 0 R/Contents 629 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+629 0 obj<</Filter/FlateDecode/Length 920       >>stream
+x\ 1­VÛrâF\10}ç+ú\11W,Y\17, y·ÔVÙN²(Oë\94k<j\81\82\98ÑÎ\ 5Âߧg$n68û\90¢¨\ 21ÝÓçôéÓ|ïÅ\10Ñ+\86a\ 2i\ 6\8bÂ\b²$\r\a0\18\résBo\85\1f®£$ÌNý\90&ק#\92\ 4'RÅiv:Õp\14\ 3nòÞÕÃ\0â\18òÒÕ\99\8d\86\90\17@µF\11ä¼Ïë
+\85      8«¹­\99Á\ 2¸Â\82\1eU¬Ö\17ùß\14\9d\ 1\85\aqJwäEÿÏ/ÏùèÛ_í\89\83ü»\ 3\r+\8aJÌÀH\18\ 4o\e\83Àêj&`]\999hÃ\94\ 1YÂôé\ 6æÈ
+Tá\7f\\96&çï\128{-k6Ó\10\0}\96T¼CÒ>zé[mY\r+V[\84JCô\ fa§ÞÅeùrÑ&\1d\1fBLFÔ\10\828\ e\aaB/ø\8aº\91Bãq\85\11\ 4\9eäs¦¾\8d>!C£Z¡:¤öÿ\82«Ù\92\98Õ\ evGA%Huß-jãïð]Û\16ªÐX%H¶\ 1T¢¨8ѤA[ÎQë\10JVÕ\96\14Û2eÅBȵè
+%\86\88\94Ò\85\92.wü¤!<N'0mñýδ^KUÐwó\91,'¼þ³4ø3\989RÅkh¶\ 1Ô\16mu\83Üõ\8d$óF àî~
+(¸Ú4¦\92\ 2¬öz¢PY\17ûP:=C\81\8a°ø¼\vÜø\9a\ fúÓ^Jļ¡Y#î\b\ 2&
+"«íî%ì\86Àçi'ã°g\97þ<\9f#_¸\13K`3V     mÜ\17\a\97\8eǧc\ 5/}3'Ä\8d\92\8ex\ 2F]p\944
+W\95´ºÞPU\1c«\95\eG? \87e¼\\9cÆç2|\14\1a0ê('ù\1ae=»¥\92Ë\ 3\80gFßCu\19»ûME:û    âw85Rêât=\eiai\1d=láÚÉe³q3¿Ïzîî\1dø9*¼¤®qF\1c¹À\rùG];yÐ\83\82Dü¾\1eû¦\9dø\85\ 1fé<ù\18\89Ü©§a|\81FûR¯\1e\ 3ïDr0îi\18»q÷ÓóQÀÝ´ß>>ç¯_\9e\1f~kO\9c2¿\8e´Ê\e\95põ®¢J\94òø\92#\87õ¦ò\89§\1cÍO\0V\14\92Û%!ƶ\1f{\90­\ 5\1cÁü\11W»ýz\7f7=\8fñ£Ô­ü¼XÈã\97\r°¦A¦HÞ~¦i\ 1HZ/¾      ?lL¿\90cßzÇ\8e2và[\9d\15\9eñ§AçO\93'x\943éå²ßh®û\a®D¾W\15¯$,åÖD®Üº([½º\87Â[-9ÆεæLÏý|ùH(¥òâîì\97ôYÈ%9D§¹Q·dbÚÓÙxLÿ\15h\ 3\17ýéäéf\ 2w¸ÂZ6HTýjI7\ eU°=\19\f£ñ~#yÇ\9dìÕ\8dàWã`8\b\87Ù\88\1c\9a\92^§.Á}Þû£÷/®Ì\8f\84endstream
+endobj
+630 0 obj<</Type/Page/Parent 513 0 R/Contents 631 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+631 0 obj<</Filter/FlateDecode/Length 758       >>stream
 x\ 1ÝUMo\9b@\10½ûWÌÑ©Â\96/cÜ\1e*ç«\8d\94:j\8c{\8a\84\b,ÉVx×YÀMZõ¿w\86\85\18[D=U\95jd\v¼ÃÌ\9b·oÞ>\8e\1c°ñr`ê\82\17\1eÙÌ\86À\vX\0~8Å{\17¿\9aCÞ,x®Ç¡\ 5wâ2whÁ      ýá\85Àcþá\v'ÑèíÅ\f\1c\a¢\1cQ\ 5á\14¢\f\10\91mC\94\8egÌÇËapÃ\1fk^VGÑ7\8c\ f^â-7À\9cQ6^Î?Ç\97\8b\8bk\13à·\ 1Ø\9fåx\88\ 6#Êd\1d\8b\fÊJ×iUkn"»Ò\16\85º¡IfªºTµÜ(Y¶±\ 3e¿^_\9e½y½f-3\95Ök.+\9eÁ]\9dç\ÃF        |Ôû\9d4å;¤§7çgË×\93\96\o1Oªy\86\89ER\94\fÚÿ*±æØa²Þ@²ÙðD\97P)¸ã î¥Âxf²Ú0#ºMÏH0Ñ#r¸\1do\93Bdq\8dÙn\8f(ÔFúlÜ~\ÿyð\fígu¹\88\9cÀ<x`Aù]Té\ 3\1aËÊL¤I%ä=¬\96ç7Í\ eív AÓ+AI\1aB\9blRIë\a×
 s¶\94Q/\ 3i\ 6\80í¢¨\17(Ô½\92\b&Wz\8dh\94l_q\1dÔ<öFõ¨\ fÏ¥;\a+ÎëêAiQaô\96ã0\18\19¼G\85Z°@`´þa \8bæ(-IY(²m\9f\97PÖiÊËò\0ê¯\83g^\18©õ8ù3íT¨O:\83\96|d«\ 3\0RAÃÄ\ 6[A=\1a!ôÊ\10â\1dõö\13\8e\1f\9a\ 4ýô»À,;f_\ 6©ÛÆ¿ÊæÓ©A\14ø´\ 3\8cæÑj\19/®ãåêôSL°:\1c\9db\ev\esA\81\93¹X\1eºLÖxÊ\84ÁÕr\ eè\1ap\85âÈsÚ\89}c!#\1a/TÅß\81a-¹+\9e\8f¡zàôÚ\81\94A\94ĺÈ\12\9côcHd\ 6      ÎSZk\8d3Z<Cß      n\8f\80k­p\84UFâ"Éð¬ÓBkW8\8fTÊ £ôB6\ 5\9a\96¹çZ\93\7fâ\95\13ö¿z¥±Èö\8ci\87{\7f&ÚÉf{;\fy"
-<cº\ 1DËi÷-lO&g\1a²`6Ãs×7þ\8a\9a:\99Ã\19ßòBm8\1a÷ÇZdÍÁcu±ÖÔFß6\ 2ö÷\ 5,I=þÔgÓ D¥cÐdB\7f\9dG£/£ßE1-Oendstream
+<cº\ 1DËi÷-lO&g\1a²`6Ãs×7þ\8a\9a:\99Ã\19ßòBm8\1a÷ÇZdÍÁcu±ÖÔFß6\ 2ö÷\ 5,I=þÔgÓ D¥cÐħ¿Î£Ñ\97ÑoE'-Nendstream
 endobj
-674 0 obj<</Type/Page/Parent 553 0 R/Contents 675 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-675 0 obj<</Filter/FlateDecode/Length 658       >>stream
+632 0 obj<</Type/Page/Parent 513 0 R/Contents 633 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+633 0 obj<</Filter/FlateDecode/Length 659       >>stream
 x\ 1ÕUQoÚ0\10~çWÜc+A\16\9b\90\84i\9a\ 4\90 ¬Å<\8diJ\13\ 3ÙBLcC×\7f¿³CR²¶À´ía "\93³ï¾ûî»ó}\83\80\8d_\ 2\1e\85\vѺa[6¸´k9àø\1e®)þr\ e\vcèx\ 4ÿ¾`h\13ߢ/\19ÜÎsO}Öxó±\vÄ\ 3¶Àà®O\80Å\80\81m\eXtѵ:\16Ìñ3î\rGÓÑ\84ÍçÁ@?Øhr= .Ù7<î\ 2ÁSúx\8bz\96\8b\ e.\ 2¡ø[X\87I*S¡$<$i
 \91ÈT\98d\10b\12r#2É«\1dMP\ 2\1eVI´\ 2µâOv¹\12Û4\86;\ e\92gÊ2F\15æK® àª?\9cL5\ 4\f\983\ 6ÎÂ5\87DÂíàf6\98²¯Ao<xGí÷MôÎ\91»Ã÷z\9f\8e\88\85Y¯Ãh\95d\1cס21ÍÛ\9cßo¹TV\91/Òåìóm\13¤\14Ãj\9e\88\ 57[\9e?ÂBäðéêÃ\vä<Q\13°\1dÏe"²&\8cÆ\ 1Sâ;7Kj\9b% M\15I!âÖ8¥Î-Ô\98\ 5R·Lv<Óû
 Â~\ 1X\15Ä?\ 4\88\10o\8bT\9e\83s\8b\8d³aÀ\88[\98\9d}aQ\8d\15Áö\ f\94\86\a­c¹¶\ e\ fLÙíëÞJºu     ê\90Î÷QñTÊí\88#\9d\9dÿùËë\806a\1c'ÙRË\91¶î\1e\15\12\9e\f\ 5¬V Qz
 P)e¤½ Ê\ 6¨a\9e\ 5ÿ\91ºFܦ¯\ 3®\84t"ëc5­\14øG>öÒ-|`\8f\18       \1aJhM\84T\8b°èÿz<=?~G\85=T¡ñ\84Ý\80õ:Ò|µÂ\9c]\15\98_`{m7\e\9eG¡äóË:Ü\9aÓÿPX'ô\19\vTyf\86ã\89¼Ï\92'\92Yί\9cG\1c\87W\\f93¸Nr{\96|ÿi\8cr2\9f\95\87¿\97?q¨åv»à¶©åëé?í\8dû=¸â;\9e
\95\84ëm\12\9bÑ×"\9eoö¶<»[Þ)'î^Çs,ÏõñæE×\1d\a¬qÓø        \84b8cendstream
\95\84ëm\12\9bÑ×"\9eoö¶<»[Þ)'î^Çs,ÏõñæE×\9d\8e®Ó\805n\1a?\ 1\84X8bendstream
 endobj
-676 0 obj<</Type/Page/Parent 553 0 R/Contents 677 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-677 0 obj<</Filter/FlateDecode/Length 608       >>stream
+634 0 obj<</Type/Page/Parent 513 0 R/Contents 635 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+635 0 obj<</Filter/FlateDecode/Length 608       >>stream
 x\ 1ÅUïo\9b0\10ý\9e¿â¾µ\93
-3\86ðc_¢VݦHm¤%ìS;M.8\89W\82Sl\9am\7fýÎ@hØ\12\98TiK\15é*_Þ½{çw~\1a9@ðÏ\81\80\82ëC²\19\11\9bÀ8rm\ f¼0À\98â·à°¬\ e¨;Æ\7f\7f\8aGo?Dàx\10/\11Ë\ f1H\ 1q\b\8189\8fì±MmX\ÞÂ\8d\ÉüMü\ró}p\9c:ߢ\ 1æ\9fϤæï`Ã\92µÈ9älÃAäXYme®0V°-xÂS\9eÂÃ\ fÐ;     g÷÷g\90¬YÁ\12Í\ve\e`\ 2\16õ\91{\v8\8b\9fñLÈü\ 2nng±\96\8f¼
-)©ÂN\r\86}ê5\ae\8a3\85±ÄÊ+ñÌs\93g\8e
-þTr¥\8f×*\15/Zæuv\87½*7ì!Cò\9d\1aL\1f\ 3¯\14m\15
\96j)\1d\eæ5\8d?¥lzÿ<\9dÅ\8e_\1f{\8dÒ8^Ëqmj´!ß       q(X§¦b\1d&\ f\815\9a@"Ë\w)uqfÓE<?Mêpö¯\80i§Ð\83ÑË£½s\e&2\95ÉÞ\9ePh\97\9eî\89e\99Üq\9c:^¨dP \ 1°T"£\1c\16ÓkPâ'ïéϸâN\89ô«Éûr\9aÞ\vâ\ 5È%¢Ö¿@\87i^\eêÅ©ÝY"Õð®\ay\82\1fز4\15ù
\ 4o\ 2t\ 2\96\ 1\ 6\96\89U\ e;¡× 4+´)½×ºrVOÑ>±[¯÷(3t\99Û%ñ*\8cf»Ô\18¸\1a+#W\ 2Ò\8e\95q/Î\9b\r×­w°Ç\86\18W^vÑË{$#÷\89\9dá?ö#RÜÉâ\11G®q\1f\83.J¥ÿÆ\15\ 34\9b;l^\8c®\86Ýf\a¼õ?îNØ\\f'\bm?\8aÀ\ f\9aõ\8dÓ»º\84kþÌ3¹Åç\v>\96"­º³ö¹V@"³É\8f½®^àÙ\81\1fâ[\8c ãÀ¨ò>\1e}\1aý\ 2«\85\14Wendstream
-endobj
-678 0 obj<</Type/Page/Parent 553 0 R/Contents 679 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-679 0 obj<</Filter/FlateDecode/Length 755       >>stream
+\ 3Cø±/Q«nS¤6Ò\12ö©\9d&\17\9c\84\95Ø)6Ͷ¿~g 4Þ\12\98TiK\15é*_Þ½{çw~\1a¹àà\9f\v!\ 1/\80t3rl\aƱgûàG!Æ\ 4¿%\83e}@¼1þûÛÁU2zû!\ 6×\87d\89XA\84A\ 6\88ã8\90¤ç±=¶\89\r\8bË[¸\11+Áß$ß0?\0×mò-\12bþùL(ö\ e64]ç\9c\ 1§\e\ 69ÇÊr+¸ÄX¶d)ËX\ 6\ f?@í\ 4\9cÝß\9fAº¦%M\15+¥­\81\1d°H\80Ü;ÀYò\8cg¹à\17ps;K\94xduH\9c:4jPìS­\19H]\9cJ\8c\ 5V^åÏ\8cë<}T²§\8aIu¼V%YÙ1o²\rö²ÚÐ\87\ 2É\e5¨:\ 6^+Ú)\145-5Rº6Ì\e\1a\7fJÙöþy:KÜ 9ö[¥q¼\96ëÙDkã|w\1c\97\80uj*Öaò\10X«   ¤¢âʤdâ̦\8bd~\9aÔáì_\ 1ÓM¡\a£\97Gwç64/d!z{B¡=rº'Z\14bÇpêx¡ÒA\81\ 6À2\81\8c8,¦× ó\9f¬§?í\8a;\99g_uÞ\97Óô^\10/@,\11µù\ 5:L±ÆP/N5g\89T£»\1eä   ~`K³,ç+P\ 2ü      \90       X\1a\18h\91¯8ìrµ\ 6©h©té½Öµ³z\8aö\89Ýy½G\99¡ËÜ-\89Wa´Û¥ÁÀÕX\e¹\16\90\18Vƽ8o7\9cYï`\8f\r1®½ì¡\97÷HZî\13ÛÖ\9cá?ö#RÜ\89ò\11G®p\1f\83*+©þÆ\15\ 34Û;¬_\fSC³Ù\ 1\8f»\13µ\17Ã\r#;\88c\bÂv}ãô®.á\9a=³Blñù\82\8fU\9eÕÝYû\+tb½É\8f½®~èÛa\10á[\8c        ãú\19x\9f\8c>\8d~\ 1«{\14Vendstream
+endobj
+636 0 obj<</Type/Page/Parent 513 0 R/Contents 637 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+637 0 obj<</Filter/FlateDecode/Length 755       >>stream
 x\ 1ÕUMsÚ0\10½ó+öH:ŵ\8dc\9b\:ù.3\riÁÉ¥t2\8a½\ 6µXr%9\rýõ]ÙÐØ\1dBÒca`\f+=í¾÷võ£ç\81Ko\ f"\1f\86!¤EÏu\\b£Ðñ!\88#zöé£\10ò:p\18Ä»\ 3A8t\82];|ÏuÂ]\81¡\ 5ÿë\88\93¤÷î"\0Ï\83$·é\84q\ 4I\ 6\94\92ëB\92ö?^ù®\91ßQ\1c$ßhå\b<\8aç0 ¥\83a@   $Y\7fä\84\ e̦·³ÛSH\14\13\9a¥\ 6&¬À\f\12\9b\9dÛ3\\18ø\11åGûÎ0ç\ 25äR\81Yr\r%­~\v<Cax¾æbA\7f#ü¨P­\81)<j\90ÂM¶\16)l2\98 \81Ù\92\96À¹¨\8aî\816SoH\1cÒ\89î£\9bwAêB¶á\1a\ 6Õ\ 3*¸$ıÈå>,ï°\89\12)ÄÃ\96\14ï\89\14Ï\81]\99µ\v°l÷'Òà\11èº\80\15
 \98È@ÿä&]Â\ 3[U\b\Ô\(Ô¥\14\1a-\1dPÒ¯ª`÷«u\1dÓÄ80MÏ\92\16üÙ@ôiãØLÛ\84Õ'¦<×\8a\95¾c\1e\rÌû\1aSÃ¥\80Ãù\ 1\14l\r÷\b2\87\15/¸!)\99Ö\\e&R\84%*¬\11kCÔÖ±Øq»rª}\8aõÙ]Â[IÜ^\8fÏÞ<Op)¹0$żo$èF\16A5¾\9f\1ft!;\1aÞLƳdê?\ fÛBÚ\a3\9e\97¯ÏÃ\94,Ëj\87JX\90W*ÁS\99!h£ì¿Áà~mH\8d\15_\bâ\8e\94\6\1a\19¦\8c\1a{vuBT²\fÕ\86Ì­1º\ 5Q&Ã}õ<Ùæ\85zö¢´Ì¶\aæ\95\92\91\ fÇÓó»ñäâúλ;M¦{@w/Ý\ e\8cvÿ6-©/\eJ] Q¡8ê=è7/ðG]\94£R¤RÁ\1eyQ\15°B± ½æ4.rz\81ýÚz\8ez½ö{-Q×ñ¾u|Ó\9eÝtZ\96\7f)\99Ö\fèbü\9b%þ71ç})h\8aQK\91\f\8cÂZçÒ( «AH1ø\85J6:4ìo\86¿BS)AWê\80\86^ÆSfèNÑU\9a¢Þø"Þ\88æE±\13\8eF\10\86^s\1fÌ\8e¯N\8eáÌ\8e\Y¢ÒpYÑíc\99\1f\ e"wôÊK.\88\ 2'
-cÊ\84fúalaÎ\93ÞçÞo1¨!\9eendstream
-endobj
-680 0 obj<</Type/Page/Parent 553 0 R/Contents 681 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-681 0 obj<</Filter/FlateDecode/Length 914       >>stream
-x\ 1\95VQ\8f\9b8\10~ϯ\98\87>\90\13¸@XH*õ\81M²U´Û´MhV®q\16nÁ¦\18²Êýú\e\ 3É]Ú,«S\14\89àñ7\9f¿ùf\9c\9f#\alü8\10¸0ñ\81\15#\9bØà{>qÁ\9b\ 6øìâ·â°k\17®®\1c2½´àÙ\1eñ/.L\7f\7f\7f\1d\8dÞÞÌÀñ Úar\7f\8a\ f  `bÛ\86\88\193\82Ù       ¬y\r[^íy\ 5\1fðq%vr\1cý\85;}p\9cn§å\ 6¸ÓXË\9a¿\83\9cïy\ e\99\82:å hÁaOó\86\ 3U\90\89öeÅ\7f6\Õ¤\83A\ 2'\98\14úÌ\ e\81M\17ù{>¿\vüº^m£\8dÛ­{=\10êg9\13\14\ e\91TG\ \8ds\10ë¿Q_Wëh2\84ò\9cÕ,íNvNº\85qÏh£d\e®J)Ô/)m°Ü#ïÿ\9dð(ö\19ïo\9fV\8b?^>|)3QcÙj        ÛåæÛró°Zß|zplg@\8b\8b\91\ 3Òfè\a\88\r\ 3Ð$á d;èeo×ʺÒn\10RX\7fóJÆc\9d¼Ó­W£âuS     t \85\ eI2Fk®@5\8cq¥Nr£Ã´I­\89wôH@`^\1dÊZ>V´L3\ 6*K8È\1d¬#XÈ\82¢ÛÂ\ 6M(j\r\99IqÂê\roMll\8aÖo\ 1A·-ø.\13\99\8eìÓ\1e\95k\1d\1e&Il\84\8e\19ºÝ1ÞÞ\Rf\85ªçðãP#\9b\15j\82Ê´À\9a\1e\93\1a$ÉÄ#x]à3F¶\r\8a\1e\14\84\ eP\91@Ø»òÈä¬üËظ5\17CL\16Ë-,ç×À\ 5ÓJáÉ4\81i\972¡5\85\ 54JÓ\bºwOü\0·\ 3îÈ\vù¼\8b\8d¡\9cwT@\81ß\94ªt\0IÔ¯"a\1d_\ 1ùüg\97áR\15\8aÄ\8b\8d\82²4\13ü¡¤Ji\89ã1¼\7f\ fíR®hÒ\14%¼éc\be¬[.\9fõÂió\e|\e\e­3h\9e\1fÚ\18\9d\16]q\1c3\1d`§M#2&\13\1e\8fõg@\89p3G¦·æÝ\93¹0ï\90âËgÒ¡¿\14³¯"\965çâ±Ná.\ 1\1cW)´¥Ôå>¾\7f\1aà°ÿ^\10"bÃÌãñýËùUóCá\1d\80 {ØU²hM£ Ð#F\98 [\8bi\91 ìfAËD·=v4ÆôTò\ 1&sl\97W}­\9dÿ= $0\83{³ýa\13âßëfÀò0Y\94\8d\9e!\14\18¢é\ 1@\87RFY\81å\1aÒ½oRÖ`ç\8a\1ajÜ0t\ 4fÎû      rÉ\98}û±<ÓXºËûqÉR\94\ e\8b\88Ì7ÌܨwÇN½\10z:W\9fhÚ_~\8eç\12\7f6ÿ\ ex}ëÙ¶\r?^\878ÚðR\96\14|hpLjö\96\13à\9f\ 2\8cµ\ 2{öïµûÒ\85ï\ 5\1e  ü)Î`D½\9ai\84e4ú2ú\a\16|a¢endstream
-endobj
-682 0 obj<</Type/Page/Parent 553 0 R/Contents 683 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-683 0 obj<</Filter/FlateDecode/Length 1310      >>stream
-x\ 1­VMSÛH\10½ó+ú´1\89,lcl jSE\9c°\9bJ\ 2¬-*\878\87a4F
-\92\8câõ¿ß×#É\bãä´å¢\90ì\9eþxýúõ<\1e\fi\80Ï\90¦#:\9e\90Ì\ f\ 6á\80F\93\93ð\94ƧS~Æ\9fQ´:x\17\1d\1c]\9eÑpLÑ
-G&§x\88  æ\83\ 1E²w\16NÃQH7F;-uv\18ý\80ù\80Îjëþè\ 4Ö½Yÿí\82æêq\96\88,\98I6\1aP\7f8@4üºè¿\9dÑÌ6ß\8eØ\7foF\7fÐ\82¤ÎËÊ)²ÊÚT\17ô 6ôÉÒ\9fôaÙ»ùúí,\f\87\83úe\10\86\93ïÁE\1c/{3\19Ììò\90\9d\9eÓ\âôÌ(X}²HekÑ&ãS½¨\¢
-\97JáT0\7f\91/Üp\12On\10, a­2nÙã\10Ý\1f\11ãE\14_ò¼-y\eûüÉ \ 2t\9dørjpÇ4\1c¶èN\18«ë\82~è´H\8b{BÚ\14ë\¤\85\7f\94Y\8a2h\9df\19éÒ\ 1B\91e\e\12Ω¼tä4ÉD\14÷\8aRg©D\ 1kmb\12EÜu$uá\8cÎ2e(\17\9b¶wÇá\88c\eµª¬bOU\19\ 3-x¢X\95ª\889\1d´Ì¨ûÔ:³A\ f\9dÃw6¤(Im\9d\93Ȭ&-eeh­Ô\ 3§¶rʬ\85\89mXWÛ¡Ò8¬©q\ eÞ\ 1þ(ÍÕ²ÇÈÏå«n;æòMô\8bÆ.\94ù©ÌMSéB9t÷U\10É@\189fJ|\ 3\8d¦Á\10LÊr½^-{\ 6h\80\85Í       \8e÷¢\99³]Zù\ 4Þ\f_\18.:ýå\94;\rnræj"æV[\\vw;*L½çÅZ\14»/\16\ f\15l\83è·,ÛÉ¢u¶/uÏyxü\ 5\voÁþsºEc]òÄ¥\e¼ÛDYfH¦ï\99\97ºK®e/-d\1a\83¥"#\10H\90­d\821 PñÁ:Á¤õ\8c¬iÝâÑÐOç)¸\1c×é>Ó\9dÿ\81,WÊ}Ö÷ºX\88Üÿo¹r»\87-ÃIP8O\98\eôp8ñ\82ð\82S°jhÕZµõ<õ÷IFvzS³zy¸Õ\88\96\94\16\0\9aK4F\11\10/.¾ìkà>bÕj[+ðV\15Û\87-\8fQ\r¦Ü¤ÅJ/{h#Zb¥IK\17Ü~|\1f,>¾·\81r{F®Ã÷\1d=ó!:þwpøýHu÷Qÿ\18b\18û5t\1cÒLç9¸ä)\7ftÙUÊi£\94«ÔX÷+½ìî\19©«,¦;Õ.!<C\9e\8a\8d.\14e\90\ 5\17h\ 3\f\96ÝB9¦,S\17¯m=\rOs!\93\14\aÛ\96Q\ 23\ 1Ñ\830?\14z]ÐO\91U*¤[l\9dÌûk\8f@+\8dºÓ\1a4gqõZî%\97\9b°Ó;AU!Í\ 62\7f\15ù\ 1úü\ 5©*Z\8b\r­ªBò`YÒ«mN\18¹$åÙÃÚßæ©\1e«\14©1¦!]\14\eb\1eÀÐO³\ 5ÙvbÞ©\95Æy\ 6¤-\80K½S\8aWAS\ 6\86\a«`Ë@Âë\8a\12ñÓ\9fJ;ؤþ-Áí8¤ë\15úQ\19»\v\81õ6è¶\0\80Ô\1cÆÚC^x÷QÑI á\97\f®"£I½[®\18!`Âî\8cr\95)\80º/\99¹¿Õ¦g#@¥Ñ«4cР|¼<y èµ(K%Ìk\16\bFNInâÝî\ eE*È\8b×%Â\1aÄ\165£¢Ù\rö³\92\ f¶Êw\13\8d\90 :\81eV\97\ 3¥ÌKPÊÇlB¦÷\ 5z\11ï;Ú\\f,ö4ópîKíÜz´a\1da\14\ 3\1c\8f\95ÂèÔ$ùHR\14¯\1c­RÔ+\18"BãCú[¯\15\17
-Æy\87\1e@\1f¦8á\87Ä[øÌ\9fÀÆ\90qغ¶}©o;{ýõ\12\ 3\90ø1½º\8e\18dÔãH{Pà£\9d\19Ùô\ e×\8bf$\98I@\10\97\92úx{´²h\ 3§|tyÚܲ\86ÓÓprvF\93éIèo[\10×w\17ô\1e>3]Â/ýUa\7fñ¡~kÛ\9f\ epÿ­Eiçn<\9e\8eÃéä\14\17iü>\19ð±\ fÑÁ?\aÿ\ 1³¬\88öendstream
-endobj
-684 0 obj<</Type/Page/Parent 553 0 R/Contents 685 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-685 0 obj<</Filter/FlateDecode/Length 720       >>stream
-x\ 1\8dUQo\9b0\10~ϯ¸ÇDª=\f\14ÈÞh³UÕZª5L}A\9a\188\r+Ø©Á¡ù÷;CI\9bµ"I\14áàówßÝww~\9e0°ðËÀ·Áñ «&\16µÀó=j\83\eø¸¶ñ§8¬º\8dsæQöÙ\86í8Ôù\7fã"\9e|ùî\ 2c\10¯Ð\89\17ø\10ç\80\ e,\vâl\1aÞ_ºÉôG}Våø\94í*\99%3h\8bf\rÍ\9aCÍÕ\96+ÈdµÑM!\1eû\97i\85\´È\9aB
-Ðõð\1eOÃ6-5¯¡\10\9då2¼¥³ø/2\98\ 3\86\ 1q\ê"\87é\9c\ 6\14\96×\8b\1aR\91Ã=.zÓ7²Äö©gL\ f¬ ÅT´¼,!\97\99®¸hx\ e¼¬y»æ\8awþÐ\8bíõ^Bã\ 2
\ 4¢\18\96<Óªhv\80/\93iÍ9,în\7f\e\93ºQ:k´âÉ\8cB¼æ»Î\8f\u\81¬¤ª¾\1az\8cº\8e\8dè>\rð\89Ô\14ß\16\81D\11Yê?¡nÖlXØá´ãE\90\18ªgyç\a\97èÝg84\ 2ó\81\ 5\ 6¥0\11åî¬Ï;Æ3\103±³."@~Ä\10\94\98\81\ 2U2\89|\12²\15\90ÖpÏË´)¶\1c3Scj\8c\1e\98\89½z(Y¯\1eú\1eÔCØ\aÔ\81ô\18F¤½ùk¹a¢Þ\8cÑü\97@\ fªNËNÀ\ f\a½}\9dîõ\8b4
-\8dÐ\87µ\81mB\98\83ýa\8a\830b\11«7\18\10È{\8b\a©Ê|\1c\0!F\0nd\96\96ã\0ö(À¥âi#\15ܵ\ 2ÛéX4ÎIXWJêÍ   Xl$°C^˾Û\8fÓ³O\80ìé\9d\fé\8c@&Ó\b\eL\8bâYwå\99ÌƵpûm\9c9]\19vµ`\aïëÖ¦f\18\98!rR\rÆ0´ÍnÜóùH\14\8b\ 2gãæÈy2¦VÄ\9bVª§c\10cê\¤M¶>\ 60¦Å5\8e[\95âèßòc0¯2|Ú\92¦.\8aì(\84×ûø\14"\14Rì*©ë\eù(E2M\9fR\10fZ\94æ?^]µ\99ËC­\ 4¯ÅÀü\80zó9^¯\ 1eN7?ÂÛ\8b\10\16|ËK¹Áá\ 4WºÈ;fd0&¾5\1fæØÇ+Ëõ]ê{\ 1Þm8\8d¼NÀoñäçä\1fÏä\vBendstream
-endobj
-686 0 obj<</Type/Page/Parent 553 0 R/Contents 687 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-687 0 obj<</Filter/FlateDecode/Length 588       >>stream
-x\ 1½U]o¢@\14}÷WÜG\9a\fòå¾l0¨!©¶+\98ÝML\b\8b\16\19;\80µÿ~g\80º¶*í¦M1\ 4õÎ=çÜ{î\f÷\1d\ 2ªø\10°4è\99\10¯;*VÁÐu¬\81n[â»&nNaU\ 5tKÃæ©\80f\eØ~\19\18\ 4\9d/#\1d\b\81`%ÑMÛ\82`  \82AU!\88\15\1f\11d ë"ø#Ö\99Í:$\16\13üÁR¹æl÷XÇ\ fpöá\1aÀn\ 1ð)ßR~ÉnX¶P¢»\b\96l\1d%\19Ä,+8KSÊ!\8acVfÅââ=<\v¥â\0ÏÍ_\a2ÐOô«EôB\99\ 6\90±\f\95Yr_Ò·\81ª;b \8cq+î LÒ\ 2\89úë6´IÍ+sÔ\9d¦Ö\88} ºô±ò§G°ø±TúØÆ\1a\86\1f4MÑ]Æ\1e2\98y®ÿ¼\91* Mú®82\bI\ e\11äåo\14\95Å-ãIñ\bÛ(-i\17¢\1c6\11/\80­\80&Å­´\ 6|Ïí\ 2ã $\8b\7f \8er*ãcÎÊ\8d\84Ë»û\1c\19w¯&áØs¥\0Aû4EyÁ˸(¹àhpæþp\16zÓÑUHà8zé;à;\13¨-å4ß°,§MgE\1fªy\96\87] /û\0eNy^7Ã8È2묪\86,ZÓ¯Ïû¥È*\1co\1aV"E\8d¡ãN¼éY\9coâ:\82Pwb\8f\9dà\16¨Ç)d¤\9f%y»Øñ|è\agq>P¬Q\93\9cõãh.áFNÍ;\f\19Ï®æ×áÞ\91fÎO´÷êÔZ<|Õ\92\7frå$}\8aZrÖøÿP[MЧÈÕj¹v³9\89ec³ß\aS<«ãM\1c\ 2\ 3\a\º¥)Û\88½\fã2YR\99\84\9eÖ"Kí·\9f\84º¥cË´Å[V\9c\81fE9\f:ß;\7f\ 1N3ÞZendstream
-endobj
-688 0 obj<</Type/Page/Parent 553 0 R/Contents 689 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-689 0 obj<</Filter/FlateDecode/Length 333       >>stream
-x\ 1½\95;oà\14\85wÿ\8a\83)\10\ap\97\8aÄndµ\8e]\83\15u²¢\84Hi\9dG\13õñóK\1eíÐÈC$\v\10\12Ã=\87\8f+|üî\11Àv\12à\14z\ff+\ f#\fLD(\84Pp»§ví\f\81ön\1f\ 4ôÂJ\18'H\80\9e\83\15`\fzæGH \8az\b&¦i\82·õæk\re\1aôYN÷f\7f£_­AÿÏ  Ì\1e¢çþh·ùØ®§+sw*     Ï%>Äy&Óq-\9fR©jkUË8KǪÕéÞ\8e\v\13ümùp«ÆÚ^J(m\17\\81[©¤tBKZ¯w\ 5í¨J\94v\82K»À-òIRÖÎZÜë\82Y\ e\87y5Öu^8ésØ\ 5³zQ:É\!÷»@.ÊÔ]\93Y\17Ä\ 39|¬
-WMæ'dq\ e\ 5bQd#\1d\1f#ÝW2\eH\88ͧi6[³ÛÃèc97\aQð[\ep\1c\1dÂû\14úÿ"ÿø¸C\1e\84ýUØ2vü|\12í={?+Í\8bÃendstream
-endobj
-690 0 obj<</Type/Page/Parent 553 0 R/Contents 691 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F5 6 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-691 0 obj<</Filter/FlateDecode/Length 232       >>stream
-x\ 1u\90AKÃ0\18\86ïù\15ï±\1e\1a\93,&é.\92Ù9
-\9bÓ6à±\8c5\ 3µkgeêÏ÷+\9bx\18&\ 4>Âó¼oÈ;\93\10´%¬ÂÄ`»g\82\v\18\1aÚY\9a\15\9d!bÇf\81]ßß@J\84\1d)ÆY\84\ 6\84\v\81°M\16C\7f<t\9b}\9c^\85W"õ\99L\90¯W¾x¨ý²ðU]\16y]Î\1f\97Å\9d\ fëò\84þ\85¦ÊPqh\92[Z\17\9bºÄ¿\ eE_*J¹\93àÎï\91Öq\93\9a»±©ò«\99G\1e?cÛ\1fâð\81Åñ¥\89£\93þ¢©\15Ù\88fÜqÅñ\1cÛ6}ëú¯\ eTY\8d¨¦4k\1c}\vaF\8fWóÀ\9eØ\ fi_Sçendstream
-endobj
-692 0 obj<</Type/Page/Parent 553 0 R/Contents 693 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R/Fa 11 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
-693 0 obj<</Filter/FlateDecode/Length 1458      >>stream
-x\ 1­WMoÛ8\10½çW\fz©[4\8aí¸v²{jú\81ÍaÛtëîö\10À (Êb+\89
-IÅ1öÏï\e\92r\12'Ø]´mPÀ¶¤\997oÞ¼¡®\ e&4Æß\84\16S:\9e\93l\ eÆÙ\98^\9eN³)ÍN\16ø<Å\7f«¨\f\17\8e\8f\1f¹p¶<8zwJÓ1-KÄ\9a/NhY\10â\8cñ\8b\1c½®Dç\95¥É8£O¢É\ 5]XÝzÝ®é¼Å\85VÔîÙòk\881YÄ\18\87Ç3\0X\16#<4ÉèUî¼\15ÒÇÛf4\99¤Û¦\8blη-+E]o;ã\14\99\92\1d\15\8dj=á³7ÔYs­\vEÎ4\8atëôºÂ¥\16W\ 2¨§\ ew$XeßJ¯\r\80i¿%Ñ\16\ 4\88\ 6A8ÿ\98\ e\11\9c´:WÈ\87¸ª\11¨J:\ 6 \95õB·T*á{«Âo\7fé¶0\eG²Ö\8c\96=Vû,Õ>ÍöÈ*\85D:C\7f
-«MïèLÈo¤Ú"1ø\b5\91òÞ\ 1\84 /ò:04\94H\9dAÑÊ\ 6\8a\9cºVÀ\9cªw\191­ÃW&Ð\e¿í8\10\ 4Q¨R·ª\0\85\~,B¤Î\8cRuå\83\86\rÔ¡\9f½dj\10\88\17\ 2ÅÛ!ÇÐßÑ\8e¢ê~\9c\fr=\9cγ@\95UÞj \ f\9d\90\ 6\15µ>\90."\12ºêU\9f\14þp\91\9d°ú!\9fËé|A÷s\84\8b»Nw\ 2\ 4\86à\ 1Ó\8f\86\83" Mô#Ä-~\ eÆBÕÊsЯ&§Ò\9a&àý)\85Ç\98±Ó?\a,3Pû}\ 6\18yÊò\83¸]\9f7\9aãsHÌ\vOèw¶îpz\92MNoµöº·\16òª·\1c\14\ 2æa0-\7fÝ°Ë$\ fÉÓ`\92nºZ±\ f     ¶\14ØR\9c\9b\a\12\16´V­²ZÂI<{È0x\8eJcicì7¶Ì\8dö\159\ fS\12¶ ÏïÏ¿ÜæDÑnë¼j\92\e|\8fÒÅ\90þõç\8bOä:%u     L·`.GÁ]aª¡hÕ²¥`zÙu\15\85§j\9d\13\8c\ 4ÕF
-\8f[\84'i\9aN×a\10ïø¨×\8dº|\96\8cð>èÁ/îLè)Å-1ôe\96v\0VÅq²KúÈãNË7gOÿË\18ÓZ\80û\83{S T)dÅL\87=\82Öö¾ëýí@=©»+®\ 3n_<   ­Á\93è\10¾Ã\9a­\12\ e]fë\ 4C\1cê±by%Á¥J½împd\88Þ)üRàÉ\ fù5[{Ô\17Èk×X\9eÌm\88FLVøZ+Ç\16\a«#×ä\ 5\94\84edÕU¯ÙP\1fì+u£$FB\9anËÕ¡\90\8c~3\eø¦}\11B
-)\ 1H\86«{\13Ãx£«\16ÚuµØ\86\ 4i\99¡Ñ)y¡\eÝjW©\82íôN\8f\ 5\8b¡®C\93ñó`ÜKÔUk\17\ 4\8fÜi°L\87Q¸g\8b±\97  å\12KÓc)ã\83º\11\9c\ fÝb¸C _ä«0\88«"Ǭ¤Mãèr´\aÊ©ä
-¸qU)\11\96Ð0Â\99$\88\92^E³g\0ܶ\ 4­wCÒ\8d\15\1d\14°\9b\90½\14·Ñ~Y+¿\83µÊ·­\80êG\9c\82I\18\ 6\fËÜ\85\13\83¯0/¡±\85Á$µ\ 6\1c\81\16j\fF
-\17Û½D¿¿ú²ºøãüýrõæìÓêÃÅÛ÷l¥àK\95P§g\13ì,/xvElÜõ`\88NY\b 
-\ÝTØtál& &q-t\1d\ 4Z>\9cÚxúé¼±\10íy\1cÿ¶orÄ\82¸\ 2Ö`â©uêF*Uà\9c\81b\1fÁZC8þE,¸Dî0·wô\13ü\145\b\10\0¹X%£\ac/óñlm,\8c±  óØàäŧ/î\10JMê
-\80\82#<¢Ádãìà\e±uÌܦҲÂóà \82\17I\92\1f2Ã×X,\ 1PhqT N\91H\91:ª-\80B2¸)­#Ծ׵ݮ\16´w>\8cùÃ\á´\8aód`.nÈ`7¼N¨À¤KÞE\ 1\vs»Ë\1f\r\85\1aå+\ 3¬û\84\ 2U%Ò\89)VÀ±;-¿¡²¾£|\8béR²\ fbàÀ÷\8c/\99õ\98N\87\93ø,\9eÄ\8e\9e\ 3\8a¬û\ 2QÂ!d7\0\15=?\1aª\1f\8e0\8a³\19\17\18gÿ{ï:¥\7f\9d.V81ëâWBüÈ\f\8c\ 3Ö\ 2çUøÍ\8e\9e\aY\86\88°\1f\91(\84á\9aâº\841ÔÝå³pVH
-þ× eÄÁ3\81uÎï\0<\ 5\87ß±\ f\83âb £w'w^ZNâKËÿ}1\9a-fÙb~\12\8fªó\97ÌÑÛåÁÇ\83\7f\0hy@õendstream
-endobj
-694 0 obj<</Type/Page/Parent 553 0 R/Contents 695 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/Fa 11 0 R>>/XObject<<>>>>>>endobj
-695 0 obj<</Filter/FlateDecode/Length 1641      >>stream
-x\ 1\8dWÛnÛF\10}÷W\fò\12Ù°dIq$')ZøZ¨õ%\8d\95&\ f\ 6\84\15¹²Ø\90»
-\97´â\16ù÷\9e\99Ý\95d9¶\12\ 3¡½$Ï\9c\999sá×­\ eµñÓ¡~\97^õ()¶\8e\86[{gmzCà       nô\ eðKJíV»Ý¦aÒ ð¯Ê
-=ªÈUª¬ø÷w´·Có©6TM5ýcÇþ\96NÉͬÍ3sK;{ÛÃ\7f¶ÚÔì´[\a\0]`eF\80ªÚ    
-\ 3\0\17\7f\92\9d\0.s\82÷äë.ûW¨à²|\1f\7fø·\ 3\19K\13U>Oa¦nõ(±µ©"\8c!S\17c]2\12ßuä6à\1c]]\9d{\8fu*(Så(«h¬\11\19§áhe%B\12\15 ßëê·§iy¸b\8cx
-\9aÓ\15e\1c\13ï\15"£èúâèùøL\Urü'Y®\8d
-©b\88x@µC\9e@LH    :ßz\9aVD\ 4­\a\80\9cv> Ûì\8e\95`\81Lã{ALò\8cÝ\7f2\8b\11\13\18\7f&VBU`Æ:c\92Áó\8d0_k]/½\ 5Ì]\96èÕt"$\15À'¶\ 4è&\89]\ eG'§\7f\ f\8eO/®NNiÇT£Tß\156ÕïÖ$ý]\ eöÎö©Óñ\ 5ÔìöXëC\10Oê²ä\18\14Êd\13Í\12Ϭ\89*\9d1!_7e\9dTu\89ç­©Tf8É\93Lçi «éãåà³ä<K©ÔxÖ 4\93Ò\16\12\9f\17ùìk¤õªÕeë\89-`4}Aø\ fh\9f2\93Ú¹/«Á  Ý4^u\9bcV)Ä\9f\ 2
-){ÿa\0§/\ e?\8fþ¸:\1a\9cÜl·è\13W·"!ê­»\85õ5{!çÌ\ 4^\ 4ÛÕTU\94ZT\91±\1c\84*\99\82\ féo\99«X\9fì|æû\87d北áÉÑ.L\ 6\0誱½Óìé\9aÑ_vî\94A\92Ù\84yYÑ\17\10\ f\8cÎm\99\12r\dᥩ.õί|r«\8d.\91\a\1c\82³JSþ\8dÃËn\8f®\87\87\1f\86±b³tÍ^©gVD\897áh+ÜîöZû\1có\ 1R[¦\90\18Ê 8\e\1dY\89?2\88,[8ÙéI\ ere\90ªÕ(§»ä\8aqÊÅ\0)\18\8e\v[Þsx\80¾FËÛ\92ú¶eáí«¨|5\9b\95\16\19T\15Ê\1fÒ·PU°è\vÔ­»!Y¯g©\ fRL¿$(ð\9agyN3]\ 2Ï\vpbóÜÎ9\92®Ò3\a}A'\13aÂ\yº,ª£\13\14*ªj%oå:\12ø\91XÕ7\8d\9bmÿZ,ª\ 6Ýl¿å#\f,\94\97\ f÷ñT'_8ÖNkî\91
-"C\9e\90éP|ù}Ô\18\ 2\91h'3fá\1eGMlKí¡V¥}%\f\r\ 2Í\ fÏ\90?WÙ\12E\83´<ô®q~uü§Ì¼½3¤WúACüÓå\88Ûä\9aW-\1aL0`vYÚ\ 6*\962ñ1\90ºF¶%9M@Å°uZb\14'\8b@\9c[\8e\ 3¸\15u¥¿\11\9c\80RB]±`¸\ 5\be²5\ 40\87Ö²´E!~\.Ò\ f]\9d$Z£\eì\92Î\1dÔ¢²|a\1e«@Úè.mG:×\1c
-1îy£ac7\809UÌ\16ÝËè9%
-A¥ÜW>Ç\81\9d\12ÔW\8fQ?h\f0ík>¤'¼Iw\99¢\a\ 1Ö¾ÇZ¬3\12¦}¯\97¸È@µ\1ad\1eu\1f\ 6úÁ®òß\13ç\11n}:ÇV½K    ì êP\8að_²²><"F¼®`ñ\1a±ìÛcÅ\ 3\eí0CvX-\eHm"\1d\r\9e[û¥\9eIþJ\9d\f\8d\Lm¢\eQ\ 2íÜ\83±nXD?A3\ 2ÄkÅ\11ãíI\9c\8f\91üY\1a¬Ú\rq\89\86âu¥ØxÖÄ%Ôä÷\e\80¾?q_Î\97Û\80¯\\91ùë\15\99ïwý>|¢sÍ
-1÷\9c\8d~\18J\97çºT¨-\1e\9dá<\xÆþ¨\90z+\16B\93]\96§´¡PKÁÍ¥5vfQ\8fýÇ0+aòu¼Räê\16\eË\ 3\80\ 3\ fÐì¾^ö¨K\v?e\1f@vÑ\9c¹]ñ¶#\1d7.ý\v¿ñÀbËA\83\8fÓ3\f,ih\1c\16\ 6\9cT\1eã±Ø\89bzB\1c\1et\fij¨ô8H\86\80y¸ï\85\ 6\ f\15ΰ\85>³°\81èb\95\96N\88qiý\9e)#ÞXÓLõDÕyµÆèDó~z\81\8d\12bw6á\ 1\9dÒ<«¦â\96O\17DÑ"¦\17Aeò\8eY\14¦ijLáÅ\aXض3\93ä5ot\8a¼\855³b0$þj¦Í{¿\15\9f~ã¡\8b&\rH\19\17õØiÌESa|ºz\d\15ÓSÒ4y\8d\10~<ð±ÏJZ\1d\7f\ 5Lñn®e¬!7k¦\ 3Ã\14\ 3ÔkZ\98.\88ÒóÔJ¦ã*i+´\ÇÃ\9e\8c<\~<?\17î\8f-sis?Å\1dO\\97X5±Ðó\17\ 2\8fRÀ«ñ=\9e\90Ì\89^öÎ\ eÂDïô\ fZ½7o¨×ïû]ûúðâè\90ís\8b­ÈÑïu\96\8a÷Íøl³ßæ¯êÆñTÍø#\ 4\1fÄt­\8a±"I\0\arÀ_'Få\8eößßoõ{\a~@öz|t:Üúkë\7f
-´¯Aendstream
-endobj
-696 0 obj<</Type/Page/Parent 553 0 R/Contents 697 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
-697 0 obj<</Filter/FlateDecode/Length 1507      >>stream
-x\ 1¥Wïo\1aG\10ýî¿b¾\99¤æ\fØ\ 5\1c5\95\12b"·
-¸ø¤¨*U´Ü-°ÉrKvï î_ß7»{\18\13\13)r~)â|3oÞ¼y3|=iS\v¿ÛÔëÐE\97²ÕI+iQ·{\81\7f/û=üÛÁ_+i\1e\1e´Úß?x\9b\9e\9c\ f/©Ý¦t\8eXÝ~\8fÒ\9c\10§Õ¢4k\8c\v}O\85)\9a¹\9c\8bJ\97ôNnT&é\83É% \84v¥±2§­*\97´¶ª(é³\999R\ 5\95K\19?ùZÉJRúîmBc|j·ÊÉ3ÿ<D{\91~>iQ³}\91t\90¼ác+GfV
-U øÜ\9aÕC8iñä³ÌJÚ.eH\93i%\91Y9WIG\82ÞËò\ f3\9b6´ÜHM¯_Sgú\ 2<\0\87+\13Îv>¼¢6*å\92\9b\17\97É%çm·\92Ë\84\ 6KQ,äÍ;\12EN\83\10x ²¥*\16dætË5\ 2ÂM17v%Je\8a\10ð\81Ãf§\97t9à?©¡\19ØWZ£
-P¢\ 5^ý÷G\0~Mè£*r³u4JÏ;\7fîò\ 5X42¥\9aß\1fÍø\91\19Ù\1aû\85Ñú\9e<Dû\85\ 2\8c\14sEkã\9c\9ai\04\16¤\85î9i7(¯4T9I\93Û\ 1ÿ×Ip!Ü}\91-­)Lå\18À^Ç2Ï\19t\ 2p*ó¤\10¨/JÇoÇ´>M&-75$C\1e&y'\e\12eiÕ¬*¥K(]\ 2b&
-f\10\95Þõû0{hR!eîó})Ì\16r\11%\8a\96\ 5IKá\10\bä\88<G/\80\8aå\19\84\19Ê_(\0Þá\ 2#>\ 2ÿTnñÈ\ 6\96\ eR{èx¶\v\1f\98È\13n\94¬C \10üÉM!     \9c(+1SÆ\96K³0\85Ð\9e"\b\fe®s\b\ 4@\85\ 3F\ 3°\8cÿ åN\9f{]\ 3\820\12^ÜhL§\e$\9d"*¢©\f-,Y¾hè©c>=\ajµÖrÅ£óT\a\9c\eβ\8b7\91+Ô5\84B\87ʺ2\ eC\80\14¤yý\8d¦\r\9a\f\87·\83\11M_p\80óa\16ý¥ÙKúìY\98\8di§Û£ð´\9e\1cÿpç\ 2\ f©FòÛ\8f2\8d\9e\9b\89Ë\19hãä\13å \96á๠  &r­ïÇkYÄ\ 4Ï!\ 5\91ö±>#\94Á\9cMäÜJ·|¢pßE¨åg\9bØìô\93öÕ\83\10=fN±QBël(\98\ 5±\11J\vö\1e\808ÙtÎ\b£ÏO\vx\87\r"\9dÝûA­]Ì­\8dÑxÆ/`\r½âò\1fé3\14\ 5\92bIÓÆÏið\10>\ f\90Y\17Õ*\8c¿Ö<D0\85à\8d\18\81Ø\8d~OÁ×T\91é*\97çv\9d}ò`\9dK\96\8cro(ëbFé#Ïõc       2fê?a\11u%á\10°\81¹·_6ôµß¯ß»ì\9eɲoòÚ5\99tØ ó\98º^­V.\94Ã\ eâhÁ\1c\9f\1a|¸y\8eÖp\9f\1cêÖ\1aë(\ 4>\1d\9còÇl=qç²\81\83\ f:½Û=       ÝLè\8dÖ\a饵ü¦)\82\1e\1c|s\ 3\83b_\96Z­T\ 1ûËã\82nÑUÜÏ\9d¸\9f\a¯Èÿ\1aû»\0ïz\94\10\90ç\85=Ðï-F\13?©Ó·\92>{Nx\9d¢Üh£\84\87îJD\126§½\11½þÆÊÁþѺöT\9c\a>Ê]\841\91h0ª÷kVÐFh\95ï\81
-\86\·¾\1d.\82º\84;¿Pk\9b\8c\97I\88\14àãÊÂ\9aå=\11\8f #¥D\12<\ 6\89\e\f,L\e\ 2È£ßϵXÄ~\85\1d\1dÖò\91hàre
-\85\93î\8cÉ\9c6f\88$èvr3J¯'\9fFãôfø÷§ñmz3\1eÝáô³UVVaKð5p@3úÌ»\9eµÆEùÌ\18\10\88'ÜM,Û\98.!¯Ûm8}\8e «\87\9f\97­á»Ô\v\a×&»\87ßg|²xÐÇz\96\ 2Ço/qu\18
-\17£¿\94\8cÍ_þ\8eA\97\ 5\9f\8f|4¤\83[p\88ÇXÃÀÉ\ 5DÅO\eå²rþ\9cT<HGÐB9q`ëû\aapË\fn\86 Î\e\9e\9f¯­Ô\9aY\86\92øÌÚ\9dV\ad
-:Ü"^ µt\1eA<¬¾V\1dW\1f\8b\80ë³x]­Þz\84ê¡âëéáøbr\8f\94éOÃÐÚGÆ´\ 2wb\81Cîà½zz\18K`\ 1L®qÁ9rUæ]+Ö\12o\88ý³\9dMô`\928N\94\rÕ\ 2\89\96å\9b\16£Ä!\9d\fùZ8\80TÛÂ\1e\97sYfËÐô
-^\8c\ 3    ãÍß-àÆÜØ([\99\1f    µwÈòO\9c\ fûñ\ 2j÷úI÷ê
-ß³b\1dwo>¼}Ãߪ¤\86ü¬£÷\95ÊýÝÕ¬\7f¶ÙkÁ
-\9f÷ýä²w\99ôºýp{u{\fê:=ùëä\7f´Íb\ 6endstream
-endobj
-698 0 obj<</Type/Page/Parent 553 0 R/Contents 699 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/Fa 11 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
-699 0 obj<</Filter/FlateDecode/Length 1692      >>stream
-x\ 1¥X]O\e9\14}çWøm\83T\86$¥Iè\e\84Í\16©\v,DZU\9bUäÌ8\89Û\19{j{ Ù_¿çÚ\9eÌ$\90J\85ö\ 52\93ûqî½çÜË÷£\1eëâ\7f\8f\rûìý\80¥ÅÑåôètÒeçlºÄ\83Á\b?d¬\9bt»]6M;\ f\1f\99ÿ7]\vf\85y\14\86\19QæRXö$Ý\9aqŸ1|Ã\1eîno?Ïon§×\93/óë\9bÉíüêbzq<ýzÔe'½n2\82ÙN°Å\98u¦J]e`eÖIµr\*\911 cÏ\r5oÏ\8e\93h°ßK\ 6dp\1cû^2\87\bÓ5W+Á\94vr)Sî¤V\f\1fe¹`Ò2\11¢Ï\ 5·p¶ØÐW\ e\ 4\98"CåØ£ä\88h2¾\eß íï\95°î\9dw\14¡°Be\16\ 3\92Í8×VÜ\19©\9c0³Îìø\80éh\87-xú\8d9\1dâ\ eî\96ÒX\970öI?ùXyí\94iÊOÚ\ 3&\15',ÙÒè¢m\ e)ë¥\13\0U\ 1Ú¬\ 6Ä­¹ó¯\95F<J]\1d´ÚF\11ñ\0\8f'n       \Vpc×<Ï\ 1\8d\11©Ë7\11ÐØ%\a\ 6h\95\82RʸãÞæ\93ÑjU׶n\96\17Z/%\88­\ fÞìxþ\93\9a\1f\88aÖ¹»ý|=þ2ÿts5;\ 68\19Ë4¬RbTP|²aËÊ ;ÌKÖ\ f\98õ\b!¶Ý\8a"a\8fw\19ú\82á÷¯záS=\9d\9c±^/\8cÝIß·3MYZ\ 1P`\9d\b¤\9df\8eNlU\96Ú¸ÐÅ\ f¼Xp\96¢È\vô\80®\90\ 1z[üà\85TR­vÑr|\91#W©ê,Þ'}\1a$k\1eç¶Ô:·v®\\92Òcð\ 3âJÎèy\8c\7fî£Ù̽\99\7fþ¥·N'iLãd\98\8c\88^ðú¬?\18²ð´NÒ?<éE\7f\0á\r¶Nú£¤wÞD÷÷:tyèR\9d\ 2\12ôyª«\1cx\bVh%\9d6"{Çl±È|¥it\va-\ag nÒY\91/\19_è*\f\93\84QYb9ö`k\8a\ e\17Îpe\vé¨.\1có\b¾¨¶D\13¼\96F§pè½×µiE@\13IµG-5È*×<£\16\98^]îù­|ÌÔºèRT\13\94C³P\9bÂä£\93\1dË*´ÝÊ»þ\rE'\1e̵.AºF,ÑÝHÚ\17\16/\9d\86Ê&©\1f\b²º¬TJ\fºå\87ºU0#M¯\10Ilúó®\88óü\97½Éºº4Qó\18\97õ¯´X<6\17á\9b\89TZâkäû´\16\bÀаÐPR0\91Ù\91\18b\ 6Ö>=ü\bñP \1f""Ï¡ÈÒ\82\9e2QÓ\91A1!.°)Óõ\1e\8a\1c\1a\ 4\16ÛÄf ?íiK\80\13\188\ 2µ?!\1fA{\12å\8a\89\ 2\82ÐI\a\14)¯,jåX©­\95\18CJ\ 5F\84|\14hDj0*\16ò/ªÜÉ\12/\84¬-¦Ú4\1fÆQ´A\89Ú\ 1\93Â)\87ü+ëöR%È Û\8ez\ 5¨q'VÚ\90\8a\a\19\fm\0È\15/\ 45¼Gñ\e1Ån¼+àY6±Ä²ì\8c\ 1\95fÏ»\17v\8bì\90ÓýÝ\98ñ\14²\91\b\86`\8f9Õb­\17q#\b\ 2ìåõ¶\14ê®Q×Z-j\82\9aÂJ¨gÝ+;È \9fR\18àX U*
-Åû½G4[i§Ðbî%ÄY\10{øÕÄO@\9b\r_\bÙ\88\15
-(@0a1¢WBKbò<³RC«Ð\87í\96öl\85¯\11d¯ãRJ=\14b\9eë'öÈó*ö»\17W?*\10î\92\e/(\14YÎ!.÷\93\9bvö{ëÃÛây¶\ eÖX\ 2\ 5¿8R\14\81줢²øeíW|îk\80ß5O'<\8aQçù"\19¬×zÔ©#²\1féÁ~yA¿\9e\8e\88c\979_a\b¥\80\94\10±\83¦3±ô++=¶k/2DU\18³P\89·\96\132î¢Gâ<\80¥ªbA-´d\98/?º\98*zð\fj¿y\87µü-\80NÃvüSH·K~³Ìt¶ñÅéy\ 6/\f3·)\89ó        D\\12û|\8f\94co\ 4îÃÎØìOñ\17Ú£~%½Ýý\83b\b\ 5\8dðR\8d¡\90À\16zVÓ\83\ fâõN¨:\9e\856s¿êV\8a\ 4®&\95PU\11\ 6\85\98¾À\1dª»¨\9c?M^O\bB¥ó\1d\90ɶ\95ÿmýlo° .q£§Ì©§+Uïøøäõ\bÌ:\1cK\ 1¹\96\99\97%\9a\90®÷ØÔ4\94\1aÈ4\1f\85£\8d\ 4xñüûd\ eÅ'\93$\8cX\96j\v\14(\9d\9bqSiìÑë¸4_¶\ 5îI×\94x3bä¢n9\9c\a4\ 3Ì\1e'\ ewk\89½\b¯x\99Øó\1a%-²+z[EÁ©\e7\1e\8fñ0¥\14ÚR\95°¸Ð\87;\0Û        \\a
+cÊ\84fúadaÎ\93ÞçÞo1\9e!\9dendstream
+endobj
+638 0 obj<</Type/Page/Parent 513 0 R/Contents 639 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+639 0 obj<</Filter/FlateDecode/Length 914       >>stream
+x\ 1\95VQ\8f\9b8\10~ϯ\98\87>\90\13¸@X \95úÀ&Ù*ÚmÚ&´÷PV+×8\enÁ¦\18²Êýú\e\ 3É]Ú,«S\14\89àñ7\9f¿ùf\9c\9f#\alü8\10¸0ñ\81\15#\9bØà{>qÁ\v\ 3|vñ[qض\vWW\ e     /-x¶Gü\8b\váïï¯ãÑÛ\9b)8\1eÄ[Lî\87ø\90\ 2&¶m\88\991%\98\9dÀ\8a×°áÕ\9e\ 1\1f\97b+Çñ_¸Ó\aÇévZn\80;\8d\95¬ù;Èù\9eç\90)¨w\1c\14-8ìiÞp 
+2Ѿ¬øÏ\86«\9at0Hà\ 4\13\12M¡Ïì\10Xw\91¿çó»À¯«å&^»Ýº×\ 3¡~\963Aá\10IuÄ\ 5Ò8\a±þ\eõu¹\8a'C(ÏYÍvÝÉÎI·0î\19m\94lÍU)\85ú%¥\r\96{äý¿\13\1eÅ>ãýíÓrþÇË\87/e&j,[-a³X\7f\1f\96«\9bO\ f\8eí\fhq1r@Ú\fý\0\89!E~\0\9a¦<\85l\v½ìíZYWÚ\rB
+ëo^Éd¬\93wºõjT¼n*\81\ e´Ð!iÆhÍ\15¨\861®ÔInt\986©5ñ\8e\1e       \b̪CYËÇ\8a\96»\8c\81ÊR\ er\v«\18沠趨A\13\8aZCfR\9c°zÃ[\13\e\9b¢õ[@Ðms¾ÍD¦#û´GÑuåZ\87Gi\9a\18\91cFnw\8c·7\97\94Y¢ê9ü8ÔȦJy\85\9a 2-°¦ÇdUµ\ 6I3ñ\b^\17ø\8c\91m\83Ъ¢\a\ 5\91\ 3\10õ®<29+ÿ"1nÍù\10\93ùb\ 3\8bÙ5pÁ´Rx2M ìR¦´¦0\87Fi\1aA÷î\89\1fàvÀ\1dy!\9f·\891\94ó\8e
+(ð»£j7\80$êW\91°\8e¯\80|þ³Ëp©
+Eê%FAÙ.\13ü¡¤Ji\89\93\7f\ fíR®hÚ\14%¼éc\be¬[.\9fõÂió\e|\9b\18­3h\9e\1fÚ\18\9d\16]q\1c3\1d`§M#2&S~Ú\9e\8cõg@\89h=C¦·æÝ\9397ï\90âËgÒ¡¿\14³¯"\965çâ±ÞÁ]
+8®vÐ\96R\97ûøþi\80Ãþ{A\88H\f3OÆ÷/çWÍ\ f\85w\0\82îa[É¢5\8d\82B\8f\18a\82l-¦E\82²\9b\ 5-\13ÝöØÑ\18ÓSÉ\a\98Ì°]^õµvþ÷\80\90À\fîÍö\87M\88\7f¯\9b\ 1ËÃdQ6z\86P`\88¦\a\0\1dJ\19g\ 5\96kH÷¾IY\83\9d+j¨qÃÐ\11\989ë'È%cöíÇòLcé.ïÇ%Û¡tXDd¾fæZ½;vê\85ÐÓ¹úDa\7fù9\9eKüé\14ÿ:àõ­gÛ&úx\1dáhÃKY\96¼Rð¡Á1©Ù[N\80\7f
+0Ö
+ìé¿×îK\17¾\17x$ðC\9cÁ\88z\15j\84E<ú2ú\a\16ra¡endstream
+endobj
+640 0 obj<</Type/Page/Parent 513 0 R/Contents 641 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+641 0 obj<</Filter/FlateDecode/Length 1362      >>stream
+x\ 1\95VÛrÛ6\14|÷W\9c§FN(V²e]<ÓÌ(LÒz\12_*Ñ\93\87(\ f0\b\99\8cIB\ 6À¨úûî\ 1E\99fÜN;\1a\8fu98\97Ý=\v>\1e\ri\80×\90&'t:&Y\1c\rÂ\ 1\9d\9e\9d\85S\1aM'x\7f\82?£hí\7f\98ÍÂQ÷ûwñѯ\1fg4\1cQ¼Fªñ\14o\12B\9aÁ\80\9b\85\93ð$¤\e£\9d\96:?\8e¿#|DÃa\1dÞ?\99 ¼\17õß.i¡\1e£TäA$iÙ\7f\eQd9z@ý\931Êr\14ýBK\92ºØTN\91UÖfº¤\aµ£O\96\ f«ÞÍ\97¯³0\1c\9e}\vê\ f\830\1c\7f\væI²êE2\88ìê\98_Ý´ç´\908\1f\19\85¸O\16\r¬\8eÉ·4¯\ªJ\97IáT\80 %B¹ÔS(R\ 6$¬UÆ­z\9c¦ý#ò \93\1f\ 6Ç¢ó}ááixÂó\1c\8e!eû\98o³ÓäuIßuVfå=¡%Jt!²Ò¿\95y\86\16i\9bå9é\8d\ 3$"Ïw$\9cSÅÆ\91Ó$SQÞ+Ê\9c¥\rjnµIH\94I;\91Ô¥3:Ï\95¡Bì:}\1aµ®¬âLÕ&\ 1\12ÈD\89Ú¨2áv@\81\99uf\aN\9cÃw6¤8ÍlÝ\93È­&-eeh«Ô\ 3·¶vÊl\85IlØ\992:\87f\80o\9c\15jÕch\17òU\eï\85|\13\1fØY*óC\99\9býHKå@Ñ« \96\7f\88\89ý
+9L\82!\14\91\17z»^õ\fP\80\9aö       ¸ \13ß\95\83¯ùfÈL\9e·¨F_-Òö\8d¡åNñ\98õÒÌS\vèùD\16\13ÕÙYô\v\8b       X+O\95l§Rs nÈë\11§:HÞB\91çt\v
+\úÄú\r>ÛTYæ2×÷¬ Ý\96Áª\97\952K '\91\13¨\16d+\99¢\15\82h\1e¬\13,/¯\9dZ\80\9dYu\91AuÉK\eö?h½Rî³¾×åR\14þ\7fÃêm\17Ú\9fy\1d\8e\83ÒyjoÀÄpì\97ó'ö\11µ\17@\13õ\9f\98í\fÛlo#\1f\8bÍq\0Ë¥\1aË\ 2h\97óË\9a¢g\12èðT;ÝÁy\9a7\aÍa\ 2ì\9eÉʵ^õ@\19à·Òd\e\17Ü^¼\ f\96\17ïm \9cß\88¶b ÍN·O\8eåK´òÿ\8bà9GÛÜû§ÃÚ\89ÙÕOC\8atQ@+Þ§_puxÖ:3Öý\93\1d\ê*OèN5ö\8e÷0\8ar§KE9ÌEyë\ 3ª\0\80\r°T\8e%ÉÒÄÇΰ\85\90i\86\83\r5\94"LÀ~`\91\ f¥Þ\96ôCä\95
\16Þ\9eû|Í\11¸\96QwZCÆlsÞU½ù±\9fµ\evºST\95Òì`¸W±_\90Ï\97hUÑVìh]\95\92\17Ç\92^\1fzÂJ¥\19ï\16n×C\9fê±ÊÐ\1ac\1aÒ¼Ü\11s\8f@¿­\16¢êÔ¼Sk\8dó\fH3\0\8f\14\9bò~\f\82¿ÃïáªõD©øáOeæ¥Ú¤þÚ@ÃIH×kðQ\19Û\ 5¸f`{(z\18\0 í\ fã\ 2B_øì«\82I Ñµû+F\b\98p:£\eJ îGf½\1f¼ç\99ìicô:Ë\1948\e_c¼\ 4ôZl6J\98×lhP\11\82\9c\92Lâ]÷6C+è\8b/.\945¨-jEÅÑ\rnJ%\1flUt\e\8dÑ \98ÀmS\8f\ 3',6\90\94¯¹/\99Ý\97à"yéèþ\8a¶¸1Y\87\v?jëÙB\eö\vF¡ñ<ÀñX)¬N-\92\v\92¢|å°N\98W0D\ 4âCúCo\157ÅW;ãÜ\91\aÐG(Nø%ñ\11¾ó'°±d\¶\9eí¥Ö\ fÌ^\7fù\88\ 5\9a^]Ç\f2æq¤=(ÈÑl¤á\8elv\87\8b~¿\12¬$ \88Ç\83úxs´² ¡Óò|\11ù»:(\12üg+ç;ÙßbO\8dîM\82Iô_
+èºY2LÜ|\8fÓõ¢óæÔðÎ/ý\90ÞÔðäÉO¬ýÓQcjÓ°\16\13«j\ 1Uqo\1d_\vÇüäæ%×Dù\15öÞ\92hY±!\ 2r\95\85¾Ô¾ÞtÿÈ;\9cLÃñlFãñ\0ÏØ\9cj~ùnNï\ 1Z®7\0\8e~¯p\ 1så~\13Û\9f\ff\1cú³ôh2
+'ã)ÆÀïg3>ö!>úóèo×Ü«:endstream
+endobj
+642 0 obj<</Type/Page/Parent 513 0 R/Contents 643 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+643 0 obj<</Filter/FlateDecode/Length 659       >>stream
+x\ 1\8d\95moÚ0\10Çßó)î%\95f7NB\12ö\ eÆZUjÓ­dê&!M^0#«±['\81òíwN\9a\96\81\b%àóïþ÷àËÓ\80\81\87\17\83Ø\87 \82|3ð¨\a\91\17Ò\11\84I\8cÏ>~\8d\80\10ø\8cÆÿ.L³ÁùE\b\8cA¶BV\94Ä\90-\ 19\9e\aY>\9cÀüj\ 6E     \A\9aÁ\äµ)ª=à\9f\8ba)\ 4Ìno~Z\93²2u^ÕF,Î(dk±\a\8e\8eõ
+ª5ú×fóñ,û3`4\f| ~L\13¼gË¡\11Û¢,´"iJæõ¯I]­Y÷àw\ f\ 1¥Ôî&\1e\10\16Q/\1a½Ûê=§\a\9fn\93\ 3ó\9f
+\fÊ\bUÉý\87\8d§\13fcgMD\80ú\88\15¨1\ 3\85À\94`\80\ f\14ð\12î\84äU±\15\98\99\12Ss\87\84U}~1\ 6\16¶é%\ 1ú¶âÇ4¡\88½\17R\92\96\81NËWó\97j`¢Þ\8cÑü\9bB\ f¦ä\12vÇ6F¯e$~ÔúIk)m      [rWgl\16Â\ 2ÚT`N\18ñ\88×\1at\ 4rhq¯\8d\ 1\88p\0®uÎ¥\eà;\ 1\9f\8cà\956p»SÂ`\86ݬà$Ö¥Ñõã      ,æ\bì½®¹0X\9d\13\90þ   ÈVÞÉÈÀ\81\\fS<`µ*\9eê¦=\17gîü\85í2vmÓ\86M/øÉaßúÔ\ e\83\93{0\83îØìÝ\9eG\8e(f\ 5\97õcÏ~âªV*ª\9d6\ f}\bWu¦¼Ê×}\0W-®T%\fÏí¤èü\94áè\91´}Qä½\88¨õq\141QZí7º.¯õo­\16CþÀAÙi!ío(Eiçr_¯\8cHìðñÅèç¾\92\93Ä\ 1hûÿ@áRox¡ ×ª2ZJ<n<Ïu­ª~¡.?\8baãÃ\ eï~Ð\88|'?ZÑÉË\19a¡O£ñ\18_\9f>e\81\9dÙóÉÍt\ 2\15R?âÌ\86˺X6\ 5#,N\1ac\12{ã·ñ~ì]\10Æ!\8d£\ 4ßËH\8c\9a\11û9\e|\1dü\ 5P\9d\b_endstream
+endobj
+644 0 obj<</Type/Page/Parent 513 0 R/Contents 645 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+645 0 obj<</Filter/FlateDecode/Length 553       >>stream
+x\ 1½UÛnÚ@\10}ç+æÑ\91X×ëËÚô¥22 K\Zl\94\17\85%qklâµÓôï;kLJb ­\82\ 2BÂÌÎ\993s\ e³\ f\1d
+\1a¾)Ø:\18\f\8e¦jÀ\f¦20\1d\e¿ëø)8lê\80Å,|<\110lGÕO\ 5(ÕÛ\81~Øù4d@)\84\e¬Î\1c\eÂ5`eM\83p¥,\95i\bY\9e\91*K\1e*\ e¾'\9677á\ fL2\9b$äJ¨\81ÈáZ  \b%\16Ñ\9e¨ETUÝ\9f;\80\93ã\83K¥_%iI\92\fÖù6N²K¨¢AÕµ=b\ f¨)éÖ\88\ 6Uña­ôTl[\85[\9e¦äg\96ÿÊ`î{ÁKª\1a\10]ö§¸2\b\89\80\18\9dÄUy\9f\17\e\1eã´â]\88\ 5ìâ¢\84|\ 3<)ïy\81\a\ 3ßëB^\0RÆ_`\15\v.ã£"¯v\12Nt\9fsdÜ\9b\91ïI\ 2Xö0 Q\16Õª¬
+¬Ñà,\82Á<ò§ÃYD¡\1d\1d\a.\ 4î\ 4Æù]\9e¡øb\97g\827\93Å94²\11Ý9\9e\ 2}=\a¨\ 4/Ä~\18ÖQ\16ÛgÕ=dñ\96\7f~9/EváúÓ¨&\89=F®7ñ§gq¾à«\ 5¡=¡\97\1aåNÔFÔv
+\1d\9ag\8bü;ÙÑb\10\84gq®HÖÚ\179«GË\97p']ó\ eAFóÙâkô¬Hãó\13ã½Z\97ú\ 5\rß\94ä/]é¤\ faKÏ
+ÿ\1flk\a}\b\r\v\19­¿t\9c\82Þá!wì»ÁU<ä4+\85âÕÃz=`Ìnî\ 3wÒwÁã\8f<Íw¸\81`T%k.[%\87³ÄÖz\97÷·i\9bªÍ\1c¼\9dps³Z×AØùÖù\ 3[ÞË_endstream
+endobj
+646 0 obj<</Type/Page/Parent 513 0 R/Contents 647 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+647 0 obj<</Filter/FlateDecode/Length 324       >>stream
+x\ 1½\95_KÃ0\14Åßû)îã|hL³4I}\91¬«£¸­µI\19>\15Ù2P÷ÏÉÔ\8fïu\9bø0ú \846\14B8çÞ\1f\17\16D@qE \19ô\ 5Ì×\ 1%\148#\ 2¸\92¸eøï\1d,\83\81\r®ïb\88"°Kt\b%Á.\0Õ\94\82\9d÷ª|xse_PÃÏ\9a\1ePÆèéìÏ\172A8:{£ýö°Û<­Ý\85mXLt>mô8צÁºMm²Ê´\16ºÅï¢\ 6ýB®öæ-´Qk\93\7fÐ\8eêÌØNp\99\ fܲ\98eUw#îû`ÖiZÔSÛ\14e'sæ>\98Í£±Ù¤+äØ\arYåÝ\rYø \1eèô¾.»\1a²ô\81\eå8Oµ-ªÖj\1e\13N\9d\9a¨sFGR\11\91$ â\18\13\1fSÙèÉ@ÃÐ}¸Õvçöï0:</Ü\8f)üÕ\86\92&?Ò\84\bÌÜj\15¾n¶\9f\eÀT=ÞG.9\91Bá+\812qL©Ì\ 6\ fÁ7%Û\88\0endstream
+endobj
+648 0 obj<</Type/Page/Parent 513 0 R/Contents 649 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
+649 0 obj<</Filter/FlateDecode/Length 1454      >>stream
+x\ 1­WMsÛ6\10½ûWìä\12%\13Ó\92¬Zv{\8aó1õ!\89Ó(m\ e\9eÑ\80 ("!       \1a\0-kúçû\16\0%[ö´\9d$ñdF$Èýxûöíòú`BcüMh>¥ã\13\92ÍÁ8\eÓ/gÓlJ³Ó9~Oñß**ÃÁññ#\aç\8b\83£·g4\1dÓ¢\84­\93ù)-
+\82\9d1îÈÑ«Jt^Y\9a\8c3ú$\9a\Ð¥Õ­×í\8a.Z\1c´¢vÏ\16_\83\8dÉ<Ú8<\9e!\80E1ÂK\93\8c^æÎ[!}|lF\93Izl:ÏNø±E¥¨ëmg\9c"S\92¯´£ÂȾQ­'üö\86:knt¡È\99F\91n\9d^U8jq\12\82zêðD
+«ì[éµA`ÚoH´\ 5!D\ 3\7fL\87\93ã\18\9c´:Wð\a»ª\11ÈJ:\ e@*ë\85n©TÂ÷V\85{\7fé¶0kG²Ö\1cÕà-{,÷YÊ}\9aí\81U
+       w\86þ\14V\9bÞѹ\90ßHµEBð\11h"ä½C\10\82¼Èë\80Ð\90"u\ 6I+\e rêF!æ\94½Ë\88a\1d.\19@oü¦cC D¡Jݪ\ 2\10rú1     \10i¨Ì\80QL³¼_¹\11¡\9e½dh`GÖ°\17\fÝ·2ÚBTí½\1e0\ 3]\ f§'Y\80Ê*o5¢\ f\95\90\ 6\19µ>\80."ÎtÝ«>\ 5)S\90\87óì\94Ù\ fú\MOætßG8ÜVº\13\00\18\ f1ý¨90\ 2ÔD=\82ÝâçÄX¨Zy6úÕäTZÓ\84x\7fJâÑf¬ôÏ      \96\11¨ý>\ 2\1cyòò\83q»>o4Ûg\93è\17îÐï,Ýáô4\9b\9cí¸öª·\16ôª7l\14\ 4æf0-_®Ye\92\86ä©1I7]­X\87\ 4K
+d)öÍ\ 3
+\vZ©VY-¡$\9e5dh<G¥±´6ö\eKæZû
\ 3Q\12¶ Ïï/¾ì|"i·q^5I\r¾\87ébpÿêóå'r\9d\92ºDL»`®FA]!ª!iÕ²¤ {Yu\15\85·j\9d\13\84\0ÕF
+\8fG\84'i\9aNס\11ïè¨×\8dºz\96\84ð~Ð\83\8cÜéÐ3\8aSb¨Ë,Í\0\8c\8aã$\97ô\91Û\9d\16¯Ï\9fþ\970¦±\0õ\aö¦@ªRÈ\8a\91\ es\ 4¥í}×û]C=©»kÎ\ 3j_<   ¥Á\9b¨\10®!ÍV       \87*³t\ 2!6õX²<\92 R¥^õ6(2Hï\14î\14xóC~ÃÒ\1eù\ 5ðÚ\15\86'c\e¬\11\83\15.kåXâ uä\9a¼\0\9a0\8c¬ºî5\vê\83y¥n\95DKHÓm8;$\92Ñïf\rÝ´/\82I!%\ 2\92át¯c8Þ¨ª\85v]-6ÁA\1af(tr^èF·ÚUª`9½ScÁd¨ëPdÜ\1e\84{\81¼jí\ 2áá;5\96éÐ
+÷d1Ö\12\10´\9cbiz\feüP·\82ý¡Z\1cî`È\17ù24â²Èw\93ÆÑÕh/(§\92*àÁe¥D\18BC\vg\92@Jz\19Å\9e\ 3ಥÐz78][Ñ\81\ 1Û\ eÙs±³öëJùmXË|Ó
+°~Ä.\18\84¡Á0Ì]Ø\18|\85~       \85-\f:©5À\b°PcÐR8l÷\1c½{ùeyùÇÅûÅòõù§å\87Ë7ïYJ\81\97*ÁNÏ"ØY\1eð¬\8a\98¸«A\10\9d² @$¸º­0éÂn&À&q#t\1d\bZ>ìÚ¸ýtÞX\90ö"¶\7fÛ79l\81\!Ö â©têV*U`Ï@²\8fÄZ\838þEL¸\84ïзwø\13ô\149\b\0\0ºX%£\ 6c.óz¶2\16ÂØ\84~l°yñöÅ\15\89]!  \b\8fp0É8+øZl\1c#·®´¬ðþ°Að Iô\83\1a\93%\ 4\14J\1cY\82-\12.REµE  \f\1e\b¹ïUm;«\ 5íí\87Ñ\7fè+l«Ø'\ 3rqB\ 6¹áqB\ 5:]ò,
+±0¶[ÿQP¨Q¾2\88u\1fPDU\89´1Å\fØv§å7dÖw\94oÐ]Jö\81\f\9eð%±\1eÓÙ°\89Ïâ&vô\1c¡Èº/`%,!Û\ 6¨èùÑ\90ý8ão\84\ 2ã\0\7fï\9dSú×éb\89\8dY\17¿\11ìGd Ü\92\15°\16ØW¡7[x\1ex\19¬\0"Â|\84£`\86s\8aã\12ÂPwWÏ®\90\18ü¯FÊ\18\a÷\ 4Æ9\7f\ 3p\17lY\1fîc\1e\ 6ÆECGoOw«1ö\89ðÑò\7f?\8cfóY6?9\8d«êÉ1côfqðñà\1f,n@Âendstream
+endobj
+650 0 obj<</Type/Page/Parent 513 0 R/Contents 651 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+651 0 obj<</Filter/FlateDecode/Length 1640      >>stream
+x\ 1\8dWÛnÛF\10}÷W\fò\12Ù°dIQ$')ZøZ¨õ%\8d\95&\ f\ 6\84\15¹²Ø\90»
+\97´â\16ù÷\9e\99Ý\95d9¶\13\ 3¡½$Ï\9c9så×­\ eµñÓ¡A\97^õ))¶\ eG[{§mzC£)nô÷ñKJíV»Ý¦QÒ ð¯Ê
+=®ÈUª¬ø÷w´·C\8b\996TÍ4ýc'þ\96NÉÍ­Í3sC;{Û£\7f¶ÚÔì´[û\0]beF\80ªÚ    
+\ 3\0\17\7f\92\9d\ 2.s\82÷èë.ûW¨à²z\1f\7fø·\ 3\19KSU>Ma®nô8±µ©"\8c!S\17\13]2\12ßuä\9eÁ9¼¼<ó\1eëTPfÊQVÑDC\19§áheE!Q\ 5ÈwºúíqZ\1e®\98@OAsº¢\8c5ñ^A\19EWç\87Oë3uUÉúO³\\e\15\10ñ\80j\878\81\98\90\12t¾õ8­\88\b\09ì|@7Ù-g\82\ 52Mî\ 41É3vÿÑ(FLp)£þL¬DV\81\19ç\19\93\f\9e?\vóµÖõÊ[ÀÜf\89^\ f'$©\0>µ%@\9f\8bÑøøäïáÑÉùåñ  í\98j\9cêÛ¦úÝFJ\7f\97\83½Ó\1eu:¾\80\9aÝ>çú\bÄ\93º,Y\83B\99lª9Å3kb\96Î\99\90¯\9b²NªºÄóÖT*3\1cäi¦ó4\90ÕôñbøYb\9e¥Tj<k Í´´\85èó"\9f\7f\8d´^µºl=±\ 5\8c¦/\bÿ\ 1íSfR»ðe5<¦ëÆ«nsÂY\8aäO\ 1\85\90½ÿ0\84Óç\a\9fÇ\7f\\1e\ e\8f¯·[ô\89«[\91\10õÖÝÒú\86½\10sf\ 2/\82íj¦*J-ªÈX\16¡JfàCú[æ*ÎOv>óýC¢÷ÒÑèøp\17&\ 3=~\0tÕÄÞjötÃè/;·Ê Èl¼¬è\8b±\v$\ f\8c.l\99\12b\dα¥\99.õί|r£\8d.\11\a\1c\82³JSþ\8dåe·ÇW£\83\ f£X±Yºa¯Ôs+I\897áh+Üîö[=Ö|\88Ð\96)R\fe\10\9c\8d\8e¬é\8f\b\16Nvú\12\83\\19\84j]åt\97\1I¹\18\90
+\865*taË;\96\aè\e´¼-©o[\16Þ¾\8a\99¯æóÒ"\82ªBù#õ-²*Xô\ 5ê6Ý\90¨×óÔ\8b\14Ã/\ 1
\16Y\9eÓ\\97Àó      8µyn\17¬¤«ôÜ!¿\90'SaÂ\yº,«£\132T²ª\95¼\95ëXàÇbU_7®·ýk±¨\1at½ý\96\8f0°P^^î£\99N¾°ÖNkî\91
+I\868{é\10éP|ù]Ì1\b\91h'3fé\1e«&¶¥öP«Ò¾\12\86\86;\eBóÃsÄÏU¶DÑ ,÷½k\9c]\1eý)3oï´\e<n\88\7fº\1cs\9bÜðªEÃ)\ 6Ì.§¶A\16K\99x\r¤®\11m      N\13âEÙ:-1\8a\93¥\10g\96u\0·¢®ô7\82\13È\94PW\9c\ 2\84\1a     °@®ei\8b\82~\.Ò\ f]\9d$Z£\eì\92Î\1d²EeùÒ<V\81´Ñ]Ù\8et®X
+1îy£ac7\809UÌ\97ÝËè\ 5%
+¢Rî+\9fu`§\ 4õÕCÔ\ f\1a\ 3\9a\ fá  oÒm¦è^\97¹\87ÕóXËuFdêù|\89\8b\f²V\83Ì\83îÃ@?ØUþ{ä<ÂmNçتw)\81\1dT\1dJ\11þKT6\87\88×5,^#V}{¢x`£\1df\88\ egË3¤\9e#\1d\r\9eYû¥\9eKüJ\9d\f\8d\L=G7¢\ 4Ú¹\aã¼á$ú \9a\11 ^+V\8c·'q>*ù³48k\9fÑ%\1a\8a×µbãY\13\97P\93ß=\ 3ôý\91ûr¾Ú\ 6|åJ\9a¿^Kó^×ïÃÇ:×\9c\8ec\8b½Ñ\ fCéò\\97
+µÅ£3\9c\87\vÏØ\1f\15R\7fÍBh²«ò\946\14j)¸¹²ÆÎ,ëqð\10fM&_ÇkE®n°±Ü\ 3Ø÷\0ÍîëU\8fº°ðSö\ 1D\17Í\99Û\15o;ÒqãÒ¿ô\e\ f\1c4ø8=ÃÀ\92\86Ʋ0\88Âæ¤ò¨Çr'\8aá :Üë\18ÒÔPéq\90\8c\0s\7fß\v\r\1eY8Ç\16úÄÂ\ 6¢ËUZ:!Æ¥õ{¦\8cxcM3ÕSUçÕ\ 6£cÍûé96J$»³     \ fè\94\16Y5\13·|¸\90\14-bz\11T&ï\84\93Â4M\8d)¼ü\0\vÛvf\92¼æ\8dN\91·°aV\f\86À_εyï·â\93o<tѤ\ 1)ã¢\9e8\8d¹h*\8cOWO\8a¬bzJ\9a\11Â\8f\a>öY        «ã¯\80\19Þ͵\8c5ÄfÃt`\98b\80ú\9c\16¦K¢ô4µ\92é¸JÚ
+­Öñ°'#\ e\17\1fÏÎ\84ûCË\ÚÜOqÇ\13×%VM,ôü\85ÀKý\83\10ðj|\87'$r\92/{§ûa¢w\ 6û­þ\9b\1f\fü®}up~xÀrëÜb+rô{\9d¥â}3>Û\1c´ù«ºq4Ssþ\bÁ\a1]©b¢H\ 2ÀB\ eùëĨܱl½A¯5èïû\ 1ÙïñÑÉh믭ÿ\ 1\82¸¯\10endstream
+endobj
+652 0 obj<</Type/Page/Parent 513 0 R/Contents 653 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
+653 0 obj<</Filter/FlateDecode/Length 1508      >>stream
+x\ 1¥Wïo\1aG\10ýî¿b>Õ$5gÀ\ 4pÔTJ\88\89Ü*àâ\93¢ªTÑr·\98M\96[²{gìþõ}³»\8711\91\97"Î7óæÍ\9b7÷£6µð»Mý\ e\9dõ([\1dµ\92\16õzgø·;èãß\ eþZI\8bð ÕþþÁ»ôètÔ¥v\9bÒ\ 5\ 6}JsB\9cV\8bÒ¬1)ô=\15¦hær!*]Ò{y«2I\1fM.I ´+\8d\959mT¹¤µUEI_ÌÜ\91*¨\ÊøÉ·JV\92Ò÷ï\12\9aàS»QN\9eøç!Ú\8bôËQ\8b\9aí³¤\83ä\r\1f[92óR¨\ 2Á\17Ö¬\1eÂI\8b'_dVÒf)C\9aL+\89ÌʹJ:\12ôA\96\7f\98ù¬¡å­Ôôæ\ruf/À\ 3p¸2ál§£sj£R.¹yÖMº\9c·ÝJº  \r\97¢¸\91\97ïé\17\1a\86°C\91-UqCfAW\!\0\\16\vcW¢T¦\bá\1e\18lvúI\8fÃý\93\1a\9a\83{¥5j\0!ZàÕ\7f\7f\94þUB\9fT\91\9b\8d£qzÚùs\9b/\80¢±)Õâþ`ÆOÌÇÆد\8cÖwä!Ú¯\14Hr'¤\98)Z\eçÔ\\ 3 ± ,ôÎI{\8bòJC\95\93\1aò\7f\9d,r\12î¾È\96Ö\14¦r\f`§_\99g\f*\ 18\95yR\bÄ\17¥ã·cZ\9f&\93\96[\1a\92!\8f@à­hH\94¥Uóª\94.¡t       \88\99(\98A@YTzÛíýì¡I\85\94¹Ï÷µ0\e\88E\94\90\e\96#-\85\90\1c½\0*\16g\90e(ÿF\ 1ð\16\17\18ñ\11ø§r\8bG6°´\97ÚCdzmøÀD\9ep£d\1d\ 2\85àOn
+IàDY\89\892¶\\9a\eS\bí)\82ÀPæ:\87@\0T8`4\0Ëø÷RnÕ¹Ó5 \b\ 3á¥\8dÆtzAÐ)¢"\9aÊÐÂ\92å\8b\86\1e;æÓs Vk-W<8Ou\10Ã͹á+ÛxS¹B]#(t¤¬+ã0\ 4HA\9a\17w4kÐt4º\1a\8e\82\ 3\9c\8e²è.Í~2`ÇÂlÌ:½>\85§õäø\87[\ fxH5\96w?Ê4~n&.g¨\8d\93O\94\83ZFÃç&\98ʵ¾\9f¬e\11\13<\87\14DÚÅú\8cP\ 6s6\95\v+Ýò\89Â}\17¡\96\9fmb³3HÚç\ f\8a\99\989ÅF       ­³¡`\16Ä­PZ°÷`\12\ 5ÄɦsB\18}~ZÀ;l\10éüÞ\ fjíbnm\8cÆ3~\ 1Kè5\97ÿH\9f¡(\90\14K\9a5~N\83ûðy\80̺¨Vaüµæ!\82)\ 4oÄ(ñ\ 6Äfô[
+¾¦\8aLW¹<µëì³\aë\²d\94;CY\173N\1f\1fK\901Wÿ       \8b¨+     \87\80\r,¼ý²¡¯ývýÞewL\96}\93\97®É¤Ãþ\ÄÔõbµòF9ì \8e\16Ìñ©Á\87\9bçh\r÷É¡n­±\8eBàãá1\7fÌÖ\137.\e8ø ãëí\93ÐÍ\84Þj½\97^ZËo\9a"èÁÁ7oaPìËR«\95*`\7fy\Ï-:\8fÛ¹\13·óð5ù_\13\7f\15à]\8f\12\ 2ò¼°\aú½Åhâ'uúV2`Ï    ¯S\94\eÝ*á¡»\12\91\84ÍigD/îX9Ø?Z×\9e\8aãÀG¹\8e\12\rFõ~Í
\15Zå; \82!×­o\87\8b .áÚ/ÔÚ&ã]\12"\ 5ø¸±°fyOÄ\13è@)\91\ 4\8f\ 2\ 3\v³\86\0òè÷\v-nb¿Â\8e\ ekù@4p¹2\85ÂAwÂdÎ\1asD\12t5½\1c§\17ÓÏãIz9úûóä*½\9c\8c¯qøÙ*+«°%ø\1aØ£\19}æ]ÏZã¢|f\f\bÄ\13î&\96mL\97\90×í&\9c>\aÐÕÃÏËÖðUê\85\83[\93ÝÃï3>Y<èC=K\81ã·\97¸:\8c§j\85{Ñ_JÆæ/\7fÇ Ë\82\8fG>\1aÒá\158Äc¬aàä\ 2¢âg\8drY9\7fL*\1e¤\ 3\9c8°õý\830¸e\86\97#Pç\rÏÏ×FjÍ,CI|fmO«=2\ 5ío\11/ÐZ:\8f îW_«\8e«\8fEÀõY¼®Vo=BõPñõôp|1¹\aÊô§ahí#cZ\81;q\83Cnï½zz\18K`\ 1L®qÁ9rUæ]+Ö\12o\88Ý£\9dMto\928N\94\rÕ\ 2\89\96å\9b\16£Ä!\9d\8eøZØ\83TÛÂ\ e\97\vYfËÐô
+^\8c\ 3    ãÍß,àÆÜØ([\99\1f\bµsÈòO\9c\8e\ 6ñ\ 2\aIïü\1cß²b\1d×o?¾{Ëß©¤\86ü¬£\ f\95ÊýÝÕ¬\7f¶ÙoÁ
+\9fóí¤Ûï&ýÞ \^½W\fé"=úëè\7f{¦_êendstream
+endobj
+654 0 obj<</Type/Page/Parent 513 0 R/Contents 655 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
+655 0 obj<</Filter/FlateDecode/Length 1693      >>stream
+x\ 1¥X]oÛ6\14}ϯàÓæ\0\8db»©íô-qæ5@\97d\89\81¡\98\a\83\96h\9b­Dª$\95Ôûõ;\97¤,Ù\89\a4i_\12\1fçÞ{νù~Ôc]üï±a\9f½\1f°´8º\9c\1e\9dNºì\9cM\97x0\18á\87\8cu\93n·Ë¦içá#óÿ¦kÁ¬0\8fÂ0#Ê\
\9e¤[3®\187\86oØÃÝííçùÍíôzòe~}3¹\9d_]L/\8e§_\8fºì¤×MF0Û   ¶\18³ÎT©«\f¬Ì:©V\8eK%2&a칡æíÙq\12\rö{É\80\f\8ecx×Kæ\10aºæj%\98ÒN.eÊ\9dÔ\8aá£,\17LZ&Bô¹à\16Î\16\eúÊ\81\0Sd¨\1c{\94\1c\11MÆwã\e¤ý½\12Ö½ó\8e"\14V¨Ìâ\8d{@²\19çÚ\8a;#\95\13\99\1d\1f0\1dí°\ 5O¿1§CÜÁÝR\1aë\12Æ>é'\1f\9d2MùI{À¤â\84%[\1a]´Í!e½t\ 2 *@\9bÕ\80¸5wþµÒ\88G©«\83VÛ("\1eàñÄ-\81Ë
+nì\9aç9`Lµ1"uù&\ 2\1a»ä@¤Ú\0­R\8aTPJ\19wÜÛ|2Z­êÚÖÍòBë¥\ 4±õÁ{\98\15Ïÿ§æ\ab\98uîn?_\8f¿Ì?Ý\Í\8e\ 1NÆ2\r«\94\18\15\14\9flز2è\ eó\92õ\ 3f=B\88m·¢HØã]\86¾`øý«^øTO'g¬×\vcwÒ÷íLS\96V\0\14XçÒ:\ 2\99£\13[\95¥6.tñ\ 3/\16\9c¥(ò\ 2= +d\80Þ\16?x!\95T«]´\1c_äÈUª:\8b÷I\9f\ 6É\9aǹ-µÎ­\9d+\97¤ô\18ü\80¸\923z\1eã\9fûh6soæï\7fè­ÓI\1aÓ8\19&#¢\17¼>ë\ f\86,<­\93ô\ fOzÑ\1f@x\83­\93þ(é\9d7Ñýµ\ e]\1eºT§À\90º\ 4}\9eê*\a\1e\82\15ZI§\8dÈÞ1[,2_i\1aÝBXËÁ\19¨\9btVäKÆ\17º
+\ 3\12è$aT\96X\8e\9a¢Ã\853\ÙB:ª\vÇ<\82/ª-Ñ\ 4¯¥Ñ)\1czïumZ\11ÐDRíQK\r²Ê5Ϩ\ 5¦W\97{~+\1f3µ.º\14Õ\ 4åÐ,Ô¦0ùèdDz
+m·ò®\7f\89\as­K\90®\11Kt7\92ö\85ÅK§¡²Iê\a\82¬.+\95\12\83nù¡n\15ÌHÓ+D\12\9bþ¼°+â<ÿeo²®.MÔ<Æeý+-\16\8fÍEøf"\95\96ø\1aù>­\ 5\ 204,4\94\14Ldv$\86\98\81µO\ f?B<\14è\87\88Ès(²´ §LÔtdPL\88\vlÊt½\87"\87\ 6\81Å6±\19ÈO{Ú\12à\ 4\ 6\8e@íOÈGÐ\9eD¹b¢\80 tÒ\81\1c/EÊ+\8bZ9Vjk%Æ\90R\81\11!\1f\ 5\1a\91\1a\8c\8a\85ü\8b*w²Ä\v!k\8b©6Í\87q\14mP¢vÀ¤pÊ!ÿʺ½T       2ȶ£^\ 1\89\956¤âA\ 6C\e\0\vA\rïQüFL±\eï
+x\96M,±,;c@¥Ùóî\85Ý";ät\7f7f<\85ld\94-\82!ØcNµXëEÜ\b\82\0{y½-\85ºkÔµV\8b\9a ¦°\12êY÷Ê\ e2ȧ\14\ 68\16h\95\8aBñ~ï\11ÍVÚ)´\98{   q\16Ä\1e~5ñ\13ÐfÃ\17B6b\85\ 2
+\10LX\8cè\95Ð\92\98<ϬÔÐ*ôa»¥=[ák\ 4Ùë¸\94R\ f\85\98çú\89=ò¼\8aýîÅÕ\8f
+\84»äÆ\v
+E\96s\88Ëýä¦\9dýÞúð¶x\9e­\835\96@Á/\8e\14E ;©¨,~Yû\19\9fû\1ap\11õ\ 6Ë­\17Õγ\10\82õZ\8f:uDö#=Ø//è×Ó\11qì2ç+\f¡\14\90\12"vÐt&\96~e¥ÇvíE\86¨
+c\16*ñÖrBÆ]ôH\9c\a°TU,¨\85\96\fóåG\17SE\ f\9eåé7ï°\96¿\ 5Ð)l\87ï\1f\86t»ä7ËLg\e_\9c\9e\92a·)\89ó        D\\12û|\8f\94co\ 4îÃÎØìOñ\17Ú£~&½Ýý\83b\b\ 5\8dðR\8d¡\90À\16zVÓ\83\ fâõN¨:\9e\856s¿êV\8a\ 4®&\95PU\11\ 6\85\98¾À\1dª»¨\9c?M^O\bB¥ó\1d\90ɶ\95ÿnýlo° .q£§Ì©§+Uïøøäõ\bÌ:\1cK\ 1¹\96\99\97%\9a\90®÷ØÔ4\94\1aÈ4\1f\85£\8d\ 4xñüûd\ eÅ'\93$\8cX\96j\v\14(\9d\9bqSiìÑë¸4_¶\ 5îI×\94x3bä¢n9\9c\a4\ 3Ì\1e'\ ewk\89½\b¯x\99Øó\1a%-²+z[EÁ©\e7\1e\8fñ0¥\14ÚR\95°¸Ð\87;\0Û        \\a
 °\b\10\ 4°ï¯\15+\19£C1Ê\8c?
-\8càß\98\f\ar}TP\b\12\9b(\ 4\17+\80@\88\85Îp3#Gh#®3\ 2 \1d\15ù<iA\e\83§\83°Q¾xÖìÞ\ 3\1fúáöo\9d\ 4£Èѽ\ fÝäC÷\9c\r âþï\ 3\ f\17\7f^^°+\94\90kËþ¨0\92Þwo8J\ 6çØù\87ø\ 2.\f\\89g    \e#\8e\95¸¾ò=;\ e\98\87j\82)ã¾À®w%ælx\96\f\a£pª\fFdÿ÷éÑ_Gÿ\ 3V\19c\7fendstream
-endobj
-700 0 obj<</Type/Page/Parent 553 0 R/Contents 701 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
-701 0 obj<</Filter/FlateDecode/Length 305       >>stream
-x\ 15\90K\8f\820\14\85÷ü\8a³ÄDj\8bHa©¨\13\17óÊ0;6\bE:ÁâÐjâüú¹øHÓ\9b¦=÷ë¹ç×\13à´\ 4d\88y\8cêèqÆ\11ÇsªQ"©\86´\a\85Æ[åÞl\eA\bäͨ\8d\13\89¼\ 6é9G^ùy«`õ\9f\82¶PÚµj@á\97Å\ 4t\84u\836\a\1c\\vmðý¶ËÞ×\e4ýðx´SÒï\9fú\eÈ`\7fuÊ¢oî\10U\9d\aí®\93üÇã\bÄ\9c\85äÀ¯\95­\ 6}rý0\ 5Ñ
-¿"\b¿\91ëÒ\95¸\94ÝYY6vͶÕc\80@²Dà\89(ÂXâ.H\1e\ 2±àlÁS\84·?¾\96¯«%Öꢺþ¤\ 6\8b\97³®ÕØ\11\b\99°8M\11HR\93\1dÁYÄ\90µ¥9¨Ý\1a¥©\91uZ\19\87¬¬Ú1\ 5\1aç\83âp\94ÐÎP\0ÇÒéÞ\8c°HFLÆ       ¹'P\9c\8eW\9bÜûôþ\ 1\11\ 4wGendstream
-endobj
-702 0 obj<</Type/Page/Parent 553 0 R/Contents 703 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-703 0 obj<</Filter/FlateDecode/Length 1223      >>stream
-x\ 1\9dV[o"7\14~çW\1cå¥Ù6;\ 1B!Y\89\aÒÝTHmÒ&lû\90T\91\991àvÆ\9eØ\1eH¤þø~Ç\9e    \ 3)UÔ\Ä\8c±}Îù.Ç~êô¨\8bß\1e\8dút6¤´èt\13¼~?L\8648\1fá¹\8f\7f+iѹ\9cuN¯.¨ß¥Ù\ 2K\86£s\9ae\84é]\8c¤Ç?¬D饥^/¡;QÌ\ 5ý>½¾£©Æ \16¹û0û3¬ï\8dâú\8fg\83¤\8f\1d\8e±\0KÂä+¡r³\96\1d`¯zn\7f\84|0w¶\92\94VÖJíë ©Éä\8I¥qNò\1fy\9e$J1W¹ò/ä\rUø~iMU:2\8b\18ÊI\8b@<Yxr+\81\12\ 5¥¦(\8cæè]úØ;\8bùiQHW\8a\14\18\18K×Ò_Noî\88G\81ËR9o\85WF\93Ð\19\ 6\9cÉ+~M\88\8aBäT
-\8bé\8c\8e{Ñ^<\93ªáèÒESá \19p\85Tÿ0\1e\8fw_n\7fûrûøËävòs=>¦8H÷xà/f7·õÐãOÓ»\19ýѤßM\98 wlx´QÚQ\ 4äèÀê:h\93Ýëç\98&\9f?ßÞ\7f\9aM~<\14\98'¼Îo=\8cI\95\8f"Ë,ýM\8b§ì\15ö½¼±skÑöqL@^éåÁ\84\ep¶Køi\1cH\16\88ùðà¾;¸8à\1eðl/\7f\1fø§Wmå\ 6ÝNÈ©¢Ì%Ég\11>!CAk\91«\8c\83\ 4ïQÓ\7fèã~\99\9b¹È\ f\81ÝÞlL½\8b\e\9eÃ_ýÖó\19Wý/INu°\8e\³»\82/´!\86_9ÊäBi\99\91ÒÁ\ 5¢Q!ÞÙn9lpB®\98g$\9cSKèIð\1aQå>l\81z\8f¾=JhÂo\rêµÁ°=\f\9a±Q\83Ik)\ 6¯\8aèÍlÇwÑ\8dÞ,%bÛ\84¾\96°\9fóÂúª<!ÍYlT\9e\93ð^\16%j1µScgiy\9bs×ÒÏ\95qÑÑ ¤\92XíWd´¬3᪥HWäÅr\89DC\96I]E\7f\18\8d\9c\9aÜÊ1\87\98\8cöÒÔ\14úÛkÓ©SgdÝÊl\b\84®\8d\97\11\8b\9b\16`SÜ@\17Ü~B#Âû\1e|<7ÄÂfFç/4\7f\81Æ5³Ø´%|£\8d\a%^¦+­R´$+\9f*ee\81\92Ó«·½èÿjí\13xÁ!ò*¾³Ý\81~Òç\81Þ\ 1\19~\8dè­\904ÊX¨e\15\elì©r¨ì-µA\88\11áoÜ\8e^¶|¶Xx\vd 8rK\972\15L\0\83{Äå\1cÕÚ\  \90º1\8dFOê¨È4kÔ²   \19F*\ 2\8d\90ãJâ\80Ø#nçôx8Æá²=>\1e>\ 4\86¤\vêå,\16Êâ%ÖÇ\82\f\ 6\8d~ñª\80*M\15\99\84¼\e\1dVÍÙ\ 4\vç¹Ù°GÑ\96T.,N(\0j\91\83vn8\9c\90Ü\9a\95-vÑ]«ýÊ\18æ¦\1d\0\17\83üm}^\97Ö,q\18º7\ e}ª¤}  \19é%\1aå.S,Ý\96÷¨\82¶ó=8%L\8b0\82o\ 2Ê«5\1fÏ\ e\9d\ 1,²3æ^\84\ e\86ã>\97\ 2P\1a\rO\ 1ô°\17\a\ e7\ 2ZXS\10\92Ù        ÉÄÇ\r3\99í\85Ör\89;ÀZÂ|0<³\15®\a±$v\1axLhÊ=\9f¹\ 2SdRÜc\80\ 2#\eæE`])SµPi»~Ö\18_Rb~ñêÐêa\85°\7f\81\97\99\rta¨´±\87/*\e ©c\82o\90\11²\93ÏÛýb\a\ fxG9Eãy\91z\99%tÃ0Å\18{UsD)²\93\9aÙÐrC\9bÙz\13¶à}v
-à[Ô\9bÛÓéVú\ 1\ e\85{\1cO\ 4\9bÒ*\ 3\r-ö¢÷ºT(]yéêþu¾½.ö\86£Ø\94ßs)\1d\8c\ 6Éhx\8e+-nK£.\87ù2ëüÚù\a[0dþendstream
-endobj
-704 0 obj<</Type/Page/Parent 553 0 R/Contents 705 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-705 0 obj<</Filter/FlateDecode/Length 1629      >>stream
-x\ 1\8dWßO"I\10~÷¯¨·A\83\bèê\98Û\9c\87¹\ 3³÷`B\9a\99\ 2z\9dé\1e»{`ùïï«îAÉìær1A`ºëÇW_}U¼\9d\8ch\88¿\11Ý\8céò\9aòêä·ùÉÅÃ\17\1a\ fi¾Â\93ë\9bÏ4/h8\18\ eñMÞ»Û¨:°£Ñx@ó\rÓs\9dÛJ\9b5Ínÿ¤ÙÞ\a®Nçߣ\89ÑM2q~y5\18ÃH\ fwF\ 3\9aqÞ8\1dö¤\r\ 5\fïäv\96î]ÑhÔÞ\eß\f®åÞ\93a²«xx©×kö\81jg\97%W\9ev:l¨VÞ\17\9etÈðRÕxÆ&¨ ­\91«\99o\9df\ 3ºÍsö\9erk\82³¥\Â\19E\99rL{ÛH\14C:\1f\98\9dµ\81T\88Î++F3Z*¯}\9f\94\8f\93±b/ç:\88·é\9c\1e½\0\ 4d<\95ú\95©,TíU\85ã\ 5\ 5Kª((«ÔZçÙ\7f¹Î(ßpþê\amXãëÁ\95\8daľ",Ä¿e·'ÏNÛÆ\97{ÚmØÐ\8eÉ\aå\ 2\17´³î5E+p\vÚ>¸&\ f\r\12Æí\82½^\e9'PF\83¨\fjZôiål,ç\11 bcíl\83ä\9bz@\13\95o(We)IÉ3á\81\0ÃbþôÇd\1a\81zéé\159.y«Lx9ÅwH;UB\ 2p\ 4À\vÕóÄ\88\84\12(ùV\17\883\1a¯\95S\15\83\89}².V\ç: {ßÔu©ql¹\8fñØåwÎ\ 3-YH\9a<rÑ\85ó\ 1\87\12Þô\13~`BL+\91rH_\ e\9c¼J\ 5\98ÎgóÛùó\8cPÓÅ\9aÃ\ 2¦\ 1JX,÷\v\83È^z \ 4\88
-8\16wOÓùä\9f9\9d     çøGè\vY|8ä7\1cH\8bõ\0×ólòw\8bÙY
-u\11ì+\9b>5Ú\84Ëq\eÿ¢E¬µ\ 3\8a(Gg\85­\94\8eÕ\14E:!qõcD·wwOÏpøûíôþqBgâM¢\7f9Mù\1e7alÁ9*ÛF\ fX\fà¤éóã#½ôb\17xj< \17^\97¥ÝI=¬\v\17üCþI%<\87 \ 5hj\1a\1f\fµ-\14oÈ3a\914ã!\83\ 3\97\16´ôºjÊ \fG\8a§0AÊC;Hx  0Ä\0Àè¬j|8\930}͹^\81\10\ 3\9aZWÁGâ\ 5\ 2\8atÜ6±q!L\ e\1d¾\90gýÔ
-\92¬*½\15S\8aÖ¥]ª²\13`æ£ì¡USy»ä:
-®-\9cp\1c,®¡£ º\88\ 5Z\r\14\14\1d\13$ÚVòÜæäC³ZýÊlªù\85Ä+Å%Ñ0´½)\94\93-\90@ÛA\v¬AÚ\eµ\95wL-Uè\95¹\8eþ¤ïØx(\ 2\10Ù@îp¥°&\v\ 4jwÓmÌ[£Ê\88i&u\8f®=¨\80\832K~0"j\17uåè\12;Þû\97Ón>ß\18ú\0Q\8ab¼A\ e%\1fI\82­Õ[#¢\17\11C\9c±`3U-U\9f\96(\1f\0T\89âAÐÁ9\84~\ 1Þ\11Ä
-Üc¡\ed
-ú¼Ûè|Óɪu}hënpG5\8c\82,¨Á#0â\83Ð\88ðU¶hJN\93ѱò\b\ 4\13\ 2\a\r¦H<\9c©¥Ýr\16³@O³[©<Ê02K\15 Õ     -Ë7à4Õ\16ç\81ÈWª\91®¢\12&\91\f¯À\1cø0-4ª\91vi\96\89\94\ 2Xk\16Õ0\8cQ\11u\17B\8añ\88\84xk\98ÂÁ\98\99\ 4`\1aà&ÜÄ$)\0c¥½t»B½0It\1e§,\87\b\93\9c0\1a\84Ö\ 2\b¬¢qv\98÷øú0aÀQaJ\8eP1\9f\7f\ 5u\8b\9dXi[à\18u\ 13\11ä]å\8f \f\9eËU,Î\a_
-½Z±´vg7\90\85¡\93\80u\90\17\84F\ fÇ\83\ 1Õ¼½\9fõeK\10\11\940\84\1d\eBi\1d>\ekÎg³G\11\ 4\83á#IÒ\13\92qX\1drÈSá\7frÚv'tN\97PsÇo\r\86¢ì\e\9eÎ¥\93\f'\81-Yº8\8eéÚ\96\8b¦¶µOô\8b\8b\ac\ fÐ(\9bQh©(zÒý\1d·ï\92\86KtO&í\9bs\11\85@\94}mmq\98\8c"\96¤¶V\17Â\0ì\81?m%/½\87ÆI\9e\95u\984\1eûÒ{ÆTíQË\0å\80\12\81Ñ>6sÝxÙ9@\91\8d\12¢rþ£p\80À\ 6ð\85\1d\90MKÌy7   \9c\8f\e¨lXQF#8í8\axK¬2"GâFä\8a
\9bcWøi\8cÄe&)\ 1ÀN\14Ã?\885úX\9aÕ¨ò}m\ 1\\95кÈde\80¢¤Ù\97üd\10\9f,.>X=ñî A\ 2arÐÉ"ÃH\9eÌf\8bûÉôëä>v¥\14YÖÇV\90!íÂ8\85½·m+\18r\1a-]Ä=-æ×ò«]¥\ 4½m\94ôwþtܦé\98&âû¾\ 6\9e\8bPì[A\ 5}\13ò(\9dÝù\bqÖ®U\12Q\r\19\0O¡i±Ù!{\1a%.´\97\89ß\80)m\80\1d×\1fë\9fÁt΢\f\<|þXÿ?}J\8bÑÿüÉqus5¸¹þ\8cß,X¦nFâm2?ùëä_áê9vendstream
-endobj
-706 0 obj<</Type/Page/Parent 553 0 R/Contents 707 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
-707 0 obj<</Filter/FlateDecode/Length 1678      >>stream
+\8càß\98\f\ar}TP\b\12\9b(\ 4\17+\80@\88\85Îp3#Gh#®3\ 2 \1d\15ù<iA\e\83§\83°Q¾xÖìÞ\ 3\1fúáöo\9d\ 4£Hѽ\ fÝäC÷\9c\r âþï\ 3\ f\17\7f\^°+\94\90kË~¯0\92Þwo8J\ 6çØù\87ø\ 2.\f\\89g    \e#\8e\95¸¾b¿°q¸¡Ç<Ô\12<\19·\ 5v½+0gód8\18\85Ce0 ë¿M\8fþ<ú\ fM\9ab\ eendstream
+endobj
+656 0 obj<</Type/Page/Parent 513 0 R/Contents 657 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
+657 0 obj<</Filter/FlateDecode/Length 304       >>stream
+x\ 15\90ËnÂ0\10E÷ù\8a»ª@"Æ\ ei\1c\96\10 bÑ\97\9aî² \89C\\ 5\87Ú\ 6\89~}'<dydÙg\8egæ7\10à´\ 4d\84Y\82ê\10\91$3\8aq*)F´­B\13,ó`º\89!\ 4òf`\93T"¯A<çÈ«QÞ*8ý§ \1d\94ö­²(Fe1\ 6\1dá¼Õf\8fN\99½o¡\r¾ß¶Ùûj\8d¦·÷G7!~÷à¯"\83ÝÅ+\87¾¹ITu²Ú_ÆùOÀ\11\8a\19\8b¨\82Q­\eõÑ÷v\ 2²\15£\8a$üj®K_â\v'åØ\905ÝT÷\ 6BÉR\81\87¢\88\12\89\e\90Þ\ 1ñÌÙ3\9f#ºþñµx].°RgÕõGe\1d^NºVCF(dÊ\92ù\1c¡$\9aÊ\11\9cÅ\fY[\9a½Ú®ð\84¬ÓÊxdeÕ\ e3 f>h\18\9eæ³5Ôþ¡ôº7\83*\961\93IJµ\93&\91ÃÕ:\ f>\83\7f\ 5\1av8endstream
+endobj
+658 0 obj<</Type/Page/Parent 513 0 R/Contents 659 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+659 0 obj<</Filter/FlateDecode/Length 1223      >>stream
+x\ 1\9dVmOë6\14þί8â˸\e7´¥kË\95øPv/S¥\r6èÝ>À\84ÜÄi½%v°\9d\16¤ýø=ÇNhZÆ\84Æ\8b\9a¸¶Ï9Ï˱\1f\ fúÔÃo\9fÆ\ 3:\1dQZ\1eô\12¼~?JF4\9c\8cñ<À¿\95\94\1f\ fN.ÏhУy\8e%£ñ\84æ\19az\ f#éÑ\ f+Qyi©ßOèV\94\vA¿Ï®ni¦1¨Eá>Ìÿ\fëûã¸þãé0\19`\87#,À\920ùR¨Â¬¥\8ds\87Ø«\99;\18#\1fÌ\9d¯$¥µµRû&Hj2¹\10NRe\9c\93üG\9e'\89J,T¡ü3yC5¾_ZSW\8eL\1eC9i\11\88'\vOn%P¢ Ô\94¥Ñ\1c½G\1fû§1?-Jé*\91\ 2\ 3céJú\8bÙõ-ñ(pY*ç­ðÊh\12\803Eͯ q®XQ\8a\82*a1\9dÑqÏÚ\8b'R\r\1c=:k+\1c&C®\90\9a\1fÆãáöËÍo_n\1e~\99ÞL\7fnÆÏ)\ eÒ\1d\1eø\8bùõM3ôðÓìvN\7f´é÷\12\1d\e\1en\94v\14\ 19|cu\13´Íîåó\9c¦\9f?ßÜ}\9aO\7f|+0Ox\99ßy8'U=\88,³ô7å\8fÙ\vì{ycç΢íã9\ 1\97o&Ü\82³]ÂOç\81d\81\98÷÷î»7\17\aÜ\ 3\9eÝåï\ 3ÿ䲫ܠÛ)9UV\85$ù$Â'd(h-
+\95Q\a}\90à=jú\ f}Ü-\v³\10Å[`w7;§þÙ é\8f&ð× ó|ÊUÿK\923\1d¬#×ì®à\vm\88áW\8e2\99+-3R:¸@´*Ä;Û­\80\r\8eÉ\95\8b\8c\84sj =       ^#êÂ\87-Pïá·\87     Mù­E½1\18\87A36j0i#ÅàU\11½\99íø.ºÑ\9b¥Dl\9bÐ×
+ös^X_WǤ9\8b\8d*
+\12Þ˲B-¦qjì,\1dosîZú\852.:\1a\94Ô\12«ý\8a\8c\96M&\µ\14é\8a¼X.\91hÈ2iª\18\8c¢q§\98Ó\90[;æ\10\93Ñ^Ú\9aB\7f{i:Mê\8c¬[\99\r¡\f\99Ð\95ñ2\ 2ÏyqÓ\ 2l\8a\ehÎí'4"¼ïÁÇsC,lftñL\8bgh\3\8bm[Â7ÚxPâeºÒ*EK²ò±VV\96\98\15*9¹|Ý\8bþ¯Ö>\81\17\1c"/â;Ý\1d\18$\ 3\1eè¿!ï\11½\15\92F\19¹ZÖ±Á¶Ì\9aº\80Ê^S\e\84\18\11þÆíèeËg\87\85×@\ 6\8a#·t!SÁ\ 4\87\Îa£Í\95\0©\eÓjô¸\89\8aL³V-\9b\90a¤"Ð\b9®$\ e\88=âvN\8fû#\1c.ÛããþC`Hº ^Î"W\16/±>\16d0hô\8bW%TiêÈ$äÝjrï°jÏ&X¸(Ì\86=\8a¶¤
+aqB\ 1P\8b\1c\e\1ftsÃáÌé\87äÖ¬l±\8bîZíWÆ0·í\0¸\18äo\9bóº²f\89Ãнrèc-ísÈH/Ñ(w\99bév¼G5´]ìÁ)aZ\84\11|\13P^­ùxvè\f`\91\9d±ð"t0\1c÷\85\14\80Òhx
\87½8p¸\11PnMIè\81Hf'$\13\1f7Ìd¶\17ZË%î\0k óÁðÌV¸\1eÄ\92Øià1¡\19÷|æ
+L\91Iq\8f\ 1
+\8cl\98\17\81u\95LU®Òný¬1¾¤ÄüâÕ¡ÓÃJaÿ\ 2ýH/3\eèÂPec\ fÏk\e ib\82o\90\11²\93OÛýb\a\ fxG9Eãy\91z\99%tÍ0Å\18{UsD)²ã\86ÙÐrC\9bÙz\13¶à}v
+à[Ô«ÛÓÉVú\ 1\ e\85{\1cO\ 4\9bÒ*\ 3\rå{Ñû=*\95®½tMÿ\9a\8býÑ86å÷\J\87ãa2\1eMp¥Åmi4á0_æ\a¿\1eü\ 3[ue\ 5endstream
+endobj
+660 0 obj<</Type/Page/Parent 513 0 R/Contents 661 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+661 0 obj<</Filter/FlateDecode/Length 1633      >>stream
+x\ 1\8dW]O*I\10}÷WÔÛ¨A\ 4tõÞd_\Åìͺ\98]0w\1fLH3S@_gºÇî\1e\90\7f¿§º\a%ãÍfc\82Àt×Ç©S§\8a×£!\rð7¤ë\11]\Q^\1dý6;:¿ÿJ£\ 1Í\96xruý\85f\ 5\rú\83\ 1¾É\8foת\ eìh8êÓlÍôTç¶ÒfEÓ\9b?iºó\81«\93Ù\8fhbx\9dL\9c]\öG0r\8c;Ã>M9o\9c\ e\86\ 2,d\86·r;K÷.i8lï\8d®ûWrïÑ0Ùe<¼Ð«\15û@µ³\8b\92+O[\1dÖT+ï\8b\ 5iO:dx©j<c\13TÐÖÈÕÌ·N³>Ýä9{O¹5ÁÙR.á\8c¢L9¦\9dm$\8a\ 1\9d\r/RÌÎÚ@*Dç\95\15£\19-\94×¾GÊ\14ðGkåÉX±\97s\1dÄÛdF7·\ f^\0\ 22\9eJýÂT\16ªöªÂñ\82\82%U\14\94Uj¥óì¿\g\94¯9\7fñý6¬ÑUÿR ùÎ0b_\10\16âß°Û\91g§mãË\1dm×lhËä\83r\81\vÚZ÷\92¢\15¸\ 5m\1f\\93\87\ 6  ãvÁ^¯\8c\9c\13(£AT\ 65-z´t6\96ó\0\10±±r¶AòMݧ±Ê×\94«²\94¤ä\99ð@ Q\80a>{üc<\89@=\1fë%9.y£Lx>ÁwH;UB\ 2p\ 4À\vÕóÄ\88\84\12(ùF\17\883\1a¯\95S\15\83\89=².V\ç: {ßÔu©ql±\8bñØÅ\ fÎ\ 3-XH\9a<rÑ\85ó\1e6øM        oz      ?0!¦\95H9 ¯{N^¦\ 2üº\8f\97\ 69\9e̦³\9bÙÓ\94Pãù\8aÃ\1c®\0R\98/vs\83H\9f\8fA\10\10\17ðÌo\1f'³ñ?3:\15\ eò[è      y|ødqþ4\1dÿÝbx\9aB\9f\aû¦G\8d6ábÔæ3o\11\802ÊÑia+¥M¯c5E\91NH\½\18ÑÍííã\13êõûÍäîaL§âM¢\7f>Iù\1f6elÉ\19*ÝF\ f\98\fà¥ÉÓÃ\ 3=\1fÇ®ðÔx\94@x^\96v+õ±.\9có\9bü\93Êx\ eA
+ÒÔ4Ú\ej[*Þ\90gÂ*iÎ}\ 6mG.,hêuÕ\94A\19\8e\94Oa\82¤ûö\90ð\12`\88\ 1\80ÑiÕøp*aú\9a\ 4Aú4±®\82\8fÄ\13\ 4ì \1dé¸mb#C¨\1c:~.Ïz©5$YUz+¦\14­J»Pe'ÀÌG\19Dë¦òvÉv\10\[8á<X]CWA|\11\ f´\1e()º&H´­å¹ÍÉ\87f¹ü\99ÙTós\89W\8aK¢i\90\ 1S(\87\e \816\846X\83´×j#ï\98ZªÐ\vs\1dýI\1f²ñP\b ²\86üáJaM\16\bÔî¦Û\98×F\95\11ÓLê\1e]{P\ 1­À{¥\96ü`DÔ/êÌÁ%\9a~»óÏ'Ý|¾3ô\ 2"\15Åy\8d\1cJ>\90\b[«×FD0"\868cÁ¦ªZ¨\1e-P>d`\ 1¨\12\ 5\84À\83s\bý\1c¼#\88\17¸ÇB7È\16ôz»Öùº\93UëzßÖÝà\ ej\18\ 5ZP\83G`Ä{á\11!¬lÑ\94\9c&¥cå\11\b&\ 6\ e\1aL\95x8S\v»á,f\81\9ef·Ty\94ed\96*@ª\13Z\96¯Áiª-Î\ 3\91oT#]E%L"\19^\829ðaZhT#íÒ,\12)\ 5°Ö,ªa\18£#ê0\84\15ã\12½\90  ñV0\85\8313ùÜ       À4ÀM¸\89ÉR\0ÆJ{év\85za²è<N]\ e¹Ä&9aT\b­\ 5\10XEãl1ÿñõ~â\80£Â\94\1c¡b^ÿ\fê\16;±Ò¶À!ê\ 2f"È»ê\1f@\19<\97ËX\9c\ f¾\14z¹diíή \vD'ÙJ\ 1ë /\b\8dî\ f\a\ 5ªys7íÉÖ "(a\b¿Ô;6\84Ò:|6Ö\9c\ f"\b\ 6ÃH\92¤G$ã°Jä\90§Â\7frÚv'tN\97Psǯ\r\86¤ì\1f\9eΤ\93\f'\81-Yº8\8eíÚ\96\89¦¶µOô\8b\8b\bc/Ð(\9bQh©(zÒý\1d·ï\92\9aKtO&í\9bs\11\85@\94}em±\9f\94"\96¤6V\17Â\0ì\85\9f\94çãûÆI\9e\95u\984\1eûÓ{ÆTíPË\0å\80\12\81Ñ>6sÝxÙA@\91µ-£\12¢rþ£p\80À\ 6ð\85\1d\90MKÍY7     \9c\8f\e©l\QF#8íx\ax\v¬6"GâFä\8a
\9bcwø4Fâr\93\94\0`'\8aá\1fÄ\1a},ÍjTù¾Æ\0®Jh]d²B@QÒìK~2\88O\16\17!¬¢x·× \8109èd\91a$\8f§ÓùÝxòm|\17»R\8a,ëd+È\90va\9cÂ\1eܶ\15\f9\8d\96.âÞ\16ókùÕ®V\82Þ&Jú;\7f:nÓtL\13ñ}\7f\ 3ÏE(v­ \82¾        y\94În}\848k×,\89¨\86\f\80§Ð´Øì\90=\8d\12\17ÚËÄoÀ\94\8eë\8fuÐ`:gQ\ 6Îï¿|ü\1c¸üE\16­ÿù\ 3äòú²\7f\ 5¿`pçê«ø\1aÏ\8eþ:ú\17\11^<\87endstream
+endobj
+662 0 obj<</Type/Page/Parent 513 0 R/Contents 663 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 12 0 R>>/XObject<<>>>>>>endobj
+663 0 obj<</Filter/FlateDecode/Length 1678      >>stream
 x\ 1\8dVÑnÛ8\10|ÏWì\9b\92ÀVlÇ°\93¾¥Ms\17 íÝÕ>ô\1e\ 2\ 4\94DÙ¬)RGRqü÷7KÊNê\ 6Å¡-Ú\86Ôrwvfvÿ=\19Ó\b¿Æ4\9fÐå\8cÊæd\94\8fh6\1eå\13\9a^Íñï     þ8Iu<\98ήñß7\ eÆ8\98¾u0\9bþ\1céýòäânJã1-k<>»\9aÓ²"<<\1aѲ<ý¶\96\86v¶£ÌË\90\910d\8bï²\fôpZ
 ­\95Y\91\17Íc×V"ÈGQ\96¶3áá\8cÂZ\922A:#4U2\b¥=       ä.VB\19꼬rú(Ê5\95kaV\12\1f\88p¶ü~2¢áø\12i.«ÓµðTH¼ß\88
 \17l\fÚ?\7f8«µX­d5 o        ÷qK<YU\91\13¥¤Ò\9aJ\ 5e\8d\16Ï\9aÆVªV²ÂQÓZ#MðÈV\98êèíC\9c'eµ\b\§0;\92ÏÁ    ºùð     mø·SN6\1c\81\10\9a\v\16eè¸\\11\ 4ù`QíéV\e.NÒ§Û\9b?ÉK÷$ÝÃYÞ?7\99¡S(õN\ 1\eÐVÒZ<IZI#\9d*ñwxô²|¬¤/\1fNSª\88rôCg;¤(SùZÛ-'\9a°ç\\eaTÛq\19Öì_Þ\83¼\K/©²¤­Ýt-\10\17è\rW´¸¿\8d\97/î®i\fV0=\86\97Ó\94ðx\92OrZ\ 4 '4p¤ÚÙ\86þþrÿ\ f\9aQÃÉ<\9fq\8d\7fà\96­#\16­S\8dp;
@@ -1624,10 +1525,10 @@ RdQ
 °~\9e\8f9EÓôë8Ò\1a   ëL$Å`4 KßÒd6G/Æ\8bq58G<ì
 ç=(\89\\17we¿Ã\rçùÕ\98fqä>Lfsâ@/\ 39\9e\ eç×iÅÊ~èzzß¿£\ f\1d\ 4¤\ 4/H\1dx\99¸\11¤\87S`Û
 ï«\82g$\97Ìd\ 5¼À®«ë\87³\ 1\15\ 2»\v\84uT\ f\80ö¸§J\95\1e:h\1d½È*ivX6ÑRÞàz\¸_)\17\1e\14ÜmmË\rKÁá\9a«üÑ@ø\11\90ý¾ó
-\92ýZ3\9c\åãk\1aNûE\ 5»Í4§Ob\a½'ðp\13kZZ\80Fi\9b\89\97Æð·¶\85"ãjõ#ÐX\96&¼K\9fÆ\9e³ë\82K`VSð²*\1a\88\a\1e\8bê\98³<Çâ\90dù \1e\88§\8c»%7 v\9d7\9b¶*$öYò*@\98K¶B¶ìÈ\1d\baL\84\97Y\91æ\fÖ<^¤Ø·3ßÂ\14a{\ec·Ø$V2c×\89\ 2\85ä-\12A\9b\8b»«\9e^ãùU>»¾¦Ùe\\ñÈû\eºEþ\9a5áé·\ eã\883\19îo\ eç£kÆá×+ãt>Íç³+ì\98¸:\9fp\84\8fË\93¿Nþ\ 3ëû-\91endstream
+\92ýZ3\9c\åãk\1aNûE\ 5»Í4§Ob\a½'ðp\13kZZ\80Fi\9b\89\97Æð·¶\85"ãjõ#ÐX\96&¼K\9fÆ\9e³ë\82K`VSð²*\1a\88\a\1e\8bê\98³<Çâ\90dù \1e\88§\8c»%7 v\9d7\9b¶*$öYò*@\98K¶B¶ìÈ\1d\baL\84\97Y\91æ\fÖ<^¤Ø·3ßÂ\14a{\ec·Ø$V2c×\89\ 2\85ä-\12A\9b\8b»«\9e^ãùU>»¾¦Ùe\\ñÈû\eºEþ\9a5áé·\ eã\883\19îo\ eç£kÆá×+ãt>Íç³+ì\98¸:\1fq\84\8fË\93¿Nþ\ 3ëç-\8fendstream
 endobj
-708 0 obj<</Type/Page/Parent 553 0 R/Contents 709 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-709 0 obj<</Filter/FlateDecode/Length 1820      >>stream
+664 0 obj<</Type/Page/Parent 513 0 R/Contents 665 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+665 0 obj<</Filter/FlateDecode/Length 1820      >>stream
 x\ 1}W]oÛ8\10|ϯØ7'\85­ú+vronÓ;\ 4hp=Ô@_\f\14´DÙ¬%RGRv|¿þfIú£jîдIj\91»;;;;úûfDCü\19Ñ|L\93\19åõÍ0\eÒýl\8e\7f§\ füï\18\7f­¤2|0½¿Ï\1eÞú`2\99gÓ·>\18=>þzâÃòæýï\8f4\9aÒ²DôÙ\ 3~(\b\91\87CZæ·£q6ÍÆ\19}]¼Ð³öÒ\96"\97\1f84¥Ñ(\1e\1a\8cç8t»Ü*G\95ÜË\8azæ ]\8füVÒ^XeZG[¡\8bJ\92ó¶Í}k¥ë\87\8f7Ò¿wÒ\935­WZ:2\1aÿoÜõ\93\84£ÔX³W\ 5\1eàK\9bv]©\9có\18Ò`4ÉÆ\1c_\9dòËh\89gDÓà\19á\15n¬ÄQZªÅ\91\94V^\89\83\a¨\97\e\9cyõÈÔÐ\1a×
 çdÁ¿\88ªÂ£©Þsr}\92\152\13TÈR´\95ïw2p²*\a§\b\r¥\0tP¸\10\11\ËYÉ\82Sd´ÄÑ!±Ré"\16\86¤­i¬\12^ÒZä;\89ÊkS´@®46Ôî\85Ûõ\19\92Npo\15ÐÙK{\ 4Ö¶ m<W¢e¬¨nó-õvÚ\1c*Yld/£gOnkÚª \1f­ó'\80C\f+ÿn\95ÅA±FÃD\1e@Äe\8c}LÇu¢¯ee\ e!-\12Ö
 ½9'¬ì  tª\8c(\80J\96Î\8eg *\1a÷M\ 2'Σ1Ωuu$Q\14´øø\99ò­Ìw\8c£@- 0iÁ\1cthoTA\85\95\8dÐ9\17¯4©º©d-µ\8f\8d\86\88×<\1fLF1v ø$\12ü%\0\1d*{\93Þ\12½/\80(\80ÍM]·\9aé%Ñ[¿\rÈ\3®\0|¹¯\8e}\10\1a\ 5­\8f\ 4\96\83á\e\fDÕÆ\\19Í8\16\18\ 6æ8\8eHµÇC\1d\1dÒyG¥5u\buæfà:òJ\85\ 2|\89k\c4#\99\9a\80
@@ -1635,10 +1536,10 @@ x\ 1}W]o
 \1ae°0ÂTçè²ö}ì(åÅI;øz,P´G½Êb\80à\92\9e>¢«[\ 5uQ\9e\19\98·Öâd(\9d\89\ 1
 18b\ 3<\9cïÐì\9bÒã\1dÄÐrc¹\VÏØN`Q°\863¤®^gX\9e%zQIHO\8ct­+`\86ö-\86û\180\10¸ë¼?\90&\ 4J\16«»Nô?\e©C±1\81Àέi\0\17\ fMX1aUcJ19§d\90Hô-ì%@\v\0\1a §Å\13\83\91b\­³\ eáÏçQh<8ÎÆï'°s R\ 3af´«B4\89hP<Æ\ eu1\9cW]ý_u\9aeô"knç\8bÐb\13¶à\ed\8f\1aµ\ 4Æ=-\ f<á=ø\19¸6ÓðÞ$YB}|\9cY$\9eK«ÑLåÙÜD¦Â³%ÅqB\83\ 4?¯\àS\874:Ð×ç¤\82õ8\b\87°9,\1d4\81Á?`\93\ 6\17\0½[ÝâÓàXð=u\95YàÑn\93CÆ`Óú     \1e\17T@Cjã\ 3\9dȨ"º<t\ fY`\8f¬\7f`=AÑ\96\1cX%+
 #\11MCìp|(å\14M\1dÖÎyuuB¢\93!HXV\9dø\91V§Ú0QE\10xÞK \9e\rA\93ñE:1.zÉ\86-h\10F\f_¢bM\87\83=ÁÍ]ÑI\a3biî\87õÚ\89\1e¥¿Ï\13tr¡'DÃFä%U\1ec\ fÂzL\85ÃõÅéB?\ 24\88\17\94À\85\13\98®SÍÝ\ 1H,¼4\9cÓGÚ \95\0Á°Ãan\93Hò¬/¾<\aïÆ?_q2:-\16 ^S¬¿s\vV·«»\1ev$&°S%\eV8+\108x\11XÈê\0s\8d\fû\ 5æú¹ï\9ft['à!\9bì\99\¥6[\960\bG\89\ 4Y\bÙ\92\99\1cê\96êNÞ½\1395>\ 2xõâ\83+ ¯è\88ÃUh2[\17\10\1d\1d\93v £Iå\9dÊUËK>T¶:øm\87å\87\17%h/¾`©A[(OUu§\9b\1cö\ f\eÓ\12Ëùd*£¯Ç°¨\9c'
-ÕÄ÷&\96S]\1a\f7vP@8\1a\ e¨\r/@\90\10ªË/@Ы\1c/\13ôî]R\9e\87ôÒ7\9a?d³ÇG\9aÍ\1fãË\17däÃ\82\9e¢\8e°²ÿÑb´9×ÁéÙÁ|ø\98ìÑÛï\94Óù4\9bÏ\1e`º`¢æ\13>üiyó×Ϳðî®endstream
+ÕÄ÷&\96S]\1a\f7vP@8\1a\ e¨\r/@\90\10ªË/@Ы\1c/\13ôî]R\9e\87ôÒ7\9a?d³ÇG\9aÍ\1fãË\17däÃ\82\9e¢\8e°²ÿÑb´9×ÁéÙÁ|ø\98ìÑÛï\94Óù4\9bÏ\1e`º`¢æ#>üiyó×Í¿Ã\9cî¬endstream
 endobj
-710 0 obj<</Type/Page/Parent 553 0 R/Contents 711 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-711 0 obj<</Filter/FlateDecode/Length 1196      >>stream
+666 0 obj<</Type/Page/Parent 513 0 R/Contents 667 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+667 0 obj<</Filter/FlateDecode/Length 1196      >>stream
 x\ 1\8dVÑNëF\10}ç+æ¡RB\94\98$ä&\81\87J\ 1BË-\ 4µ1Ò}\88\14mì1l±½éî:\90¿ï\19Û\81
 !ÐÊ»;söÌ93üu4 >~\ 64\19Òé\98¢ì¨\1fôi4î\aC\1aM'X\ fñk\99\92rcr*»\1f¿_\84G'×#\1a\f(L\10j<\9dP\18\13Âôû\14Fíkc\89_U¶Mùü8ü\13gûtV\1dí\r\b\87Û\8bp\19ÎÂ\87%9\95­Sc\9e\8bíÚéxÕ\8eLî<-gwëËûE8ÿ\11R\a\9f<¿ú.U{\8bpý°\9cÿ±\ eï\7f\9b/$~\9fz\83~0\95°\1d\15EìÜÚ\9bgλ\14Înoï/×\97á\ fêd\9c­#ÿz\88ru\7f·^Þ\Q\aYñíIYêtr\95\11²Ð¹?\1dRÇï·¼:®ÞóþöÞp,yCõÌ\8e\94 \14¨ä\r©45\91òLþ\89©%\91[d\80éåI\7f\95\97Gök<È\14¹_oö_ä§\ 1ÿ\ 3[Ôà§~[MZÌN[\16\1aÔ\f5âI\ 4\ 1TÒ&e\9a]^Þ? Ë¯³ÅÕí\1c\aþ\93«YM\8cðõ¤ò8eÂ_rÞXp(lÕÔi\93¿\11\8a¥\7fR¾¾\10Ô \86ãJM7ØÔùsuD"$\ 6I^tþø5\ 1r^d\a¦Ý\174Øàä\7f9þ@&ub\93)\9d\97ì     û\831\81/\ feÚ´©¼Zx5\9fë\92öni\8d\ 3çóÅÃÝ;ãî@ù\19\ràH±fï´tÛ`\18L\ 2
 ÙyP"àÿißÞp\12T"®öI;Úi¯RÒ9*³§­æ\88É$äLâ_\94ånY°¥Ê6J\ eGl=Þ\94î)70~Ä[\8fÒ\ 5t\93\93Hê1GR)\90£\9c_\ eÔ\9d¢ÝÀ8®Ø¸½ó\9cÁ\18\8cêîà\17\85G\1e±\11ç®ÀJ{ÉÄÊi¤ñ\0*:ÕyÌ[Æ\9fÜ\v<S\88*\99¶Öx\13\99Ô5e\12\9a
@@ -1647,1088 +1548,986 @@ x\ 1
 kA\fjªe\dXKa\85& qµ"T\8a§Ç\10¢5;À~\13§Ô Ú\ 2W\r¼üºe<^\18ÍL\H\87\93±\8e^4À$\10\8e(
 ¯ð:*Re\ 1@\88Q\9bÏ/\98W\93L\18S\8fï\ 3í0ü0\0ª\1eô\93`8¹þV\8fÅ6mt~PFµõy
 þüÖßTìÎÓXmÏON\ 6gÃ`0\9e\ 6\83àl\]ü4nVíÒNR\ e颰Õ!P\178+»qùyvµ¬)\80ÿQ_)\Æ\1e¥\80P¥à­rJ¡|\98NIùE` ÄvÇöÐPþ\ry=´e°\11FÅìfAj\ 3BS.\85û±Ã\94ýeÕ¶\f¿ä\ 2\19F]\1d7ÅrÁ\91\ 2Í\15.y\14
\12 \8b\90f\97·´QP­\b\9d!\9d²\92\90º\fÝRQÒ-\1cê®\93\13äµÑÞ*»¯oWªJ\8cmh%7/¢\ 5äu0\7fÙ\8b\8cÚ0%Æ\93ëi]ÖÁd\1a\8cÏÎh<üV50@¼\98Ñ\15ï8\15C;ú¥@\ f\92\1c½ÃÙÞ¤\8f\7f\7fâö§.<\9a\8c\82Éx\8a>\8dÝÉH.Íãß\8fþ\ 6Åêþ¢endstream
-endobj
-712 0 obj<</Type/Page/Parent 553 0 R/Contents 713 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-713 0 obj<</Filter/FlateDecode/Length 1654      >>stream
-x\ 1\95W]o\e7\10|÷¯Xø%\ e Ë\96c[ÎSÑ|¸\rÐ8i­ )à\17ê\8eÒ1¾#/$Ï\8aÿ}g\97¼\93tv\v\14\ 1ùDrggggy?\ eft\8a\9f\19ÍÏèÕ%\15ÍÁéô\94.^½\9e\9eÓùÕ\1c\9fÏðç5­\ eÞ,\ eN®_ÓÙ)-VØr9¿¢EIX~\8a'ÅÑÛJµQ{\9a½\9aÒ\1fÊ~T\96\94-éfA\9fU\b\eçKzo\vÿØFãìËÅw9l6O\87\1d¿:\9f\9eá¸#ì\9e\83\8dÞ\95]±]zN³Y^z6\9f^òÒ¯&V\14+M¥~еk\em#¹U\ e®ÖÀÂ\0¾\1a[ºM` \85kZ\15ͲÖÔö\98ô\80\89VÎÓ­j\96jB&\92 dÝ\86\81\9eÒ1`        <Å{££\aU\9bREM]@\98ÂY«\ 5l cIÿTE¬\1f\ 5[P\8d¦\8dz$\15HíBC¬\1dd8åAûi\8evv     ö\91á¢\ 2\88Ò\15\9d¤VêPx³Ô\81\91Ão?¾y6\11\9d\a;\r\81ö{\ 4\ 6\r\9bJqN¡Ã~\90\86\8a\19©ÄN\82Eå\0v\8dõ\9a\97Ñ£ë\80\1fÌ"k$\vf¦ô7\9e\85Êuu    e¨\92Ù*pÚª«ëÇ     éÐêÂ(|\16\90­ò\91ÔÒu\91\82.:à\ 2\19\0\84ÓGä\1e~þëÓ­|÷öÓÍí!/g\ 1\b+¬¼]±\b?\\95\ e6J\87´\0\83óý%\89ë\19Å$Y\8a2vÊ\ e\8e\83\10\14Lcjå9Ù/7\1f¾=Çî\94\16Ð\*\183Âu]\19È\ 2*\88ÊX\907ÊKQ¥B¥KVM§Y¢Jtó"\fçó¡À\81ß\ 2\8cF¬]\82=uÏ\95\0QÃò\1a\ 1¢þ\19\87\8d\13\9a\b9JÕL\9c0\81#\0\1aZ@)£ïl\ 1ýó\99\8e\88\11\ 1\1fJlUY\8e\1fo¸½,J\9a\96e\84yWN\ 5xÁ@Éâ\8e\eG\17\97´4q\14üÝû[º×\8fXá(³\8eü_4jm\8a\17¤Íº\8a\12!\1d9á.l\18\8b¢\19\8e\ 3Â\1ckS\99¢b\86Bt>\13´-ÄÓ¤\8bÚÀ\10àE\1aÚer\13ûKM÷èk\98\93ô\ 1\1dæÚô\86p8nÂ\9d\17\rÊ
-ðàõG\aú¡êF\17\95²&4(\8a³Á\ 4¡\1aå.\9d$déã»sÑ\ 29ħ/Ö\14®\1cw\ 1| @õ,\93ÝÊg¿ÊePupÔ\8aG\8a\0{ª8\99\9chL\r\ f\13³Ç\1e\ e\89Sa^O²«4CIdÑÝѶE&\83?±/~Ecýæ]×\86íó×\17¬\9d-?w/ic t)uã:\98\86\1a\89\95Jo\1e4\82a7[\8a\v/        ®ó\85¾{)\ 6¼2>D<ü\ 1Ë\8aÜe[\9b\15\93°zí¢A³¤B\82\8dè
-W\8358\1dS\97\92\1a!`ëÉÍ»1\107\0ð¼\91\r^·lZ\ eÿ@/9²|\93pç}kmµ\97¸|\98j[mK6Yº\12½NÈã¹kF\81\93ü\8eÓÙ[\19c^0Ö½\0\83\94\1f'D¼\9a\87\e\87Ãç}ýBsu­íZ\1f&g\1aþ\1fÅÇÆÒ¬Vp~\9cÄ%eM<ö\95ßr;VÈb`\92\11Y&,\11>j\1cÔ³W¡¤\8apy`\81£¥{\90²&²Ð½â.\17\ 2ß
-#ıòZgS¡ÞF0_\14|\0Ý1\18\82\8e»0q\ 3\v¹(OÝå,ù_úb\14y\9faè²E?\83༬\9fÏY6<\86\v\14\81ð\ 1äp÷\ 6\1d»ö\e\18\15Ê<Õ|Ká\99\96F Ô´Æ\84Ó%ú\ 6å\10Ôù\94\88r\f»C\85Ù:\ 2ø_\87Mä¨>½\1e<\vÇ\ 3\95·[ïÌ]/\82ß\97à\94®÷Z{\14~è5Á\91ä 5f\1e\8a®Æ\90\81\83±â\9cÅÀ³´t\18&"\18Ì\9bg\8dMÄ-ËzÄh©'y\ f\19ôm\93©\9fÐÚ<È\ 4Ã\18êSO2\1c\17\8dõ¼×m¢j4Zï¦\\88'ÉL {>ßÀ\89xzä!\94\9a:gÔË?5Æ\98²þÂyw$w¦\95w\8d\14\8a×\9d
-.÷Û£Ð,e\14É\f?¹îo1Gé\8eq¼ÓT`Y{h\87]AÄÓ\eÁÞ\0\88\18¾-\1a>\87\e¡\1a<\94\87I²O±\1cX¢x¨E#é\ 2WHh$ \19MªÝ\1eÃéú\97Ê\ ekhTÄ\9e¤\89½u£ÐC)q4nn=ÀlHãª}\90À\18\16Ù[$J\7fÓ\16Å'\1fÍ\92¾·:]\91\vç=\9al¸/¥©ÃtíW+svÌY\8e\80\ e-k\1d.#K¼jl2ë\10x¬:è´Æ3¾\ 6\15\ 5Ú\1fÜ­0uq\13\13eIiä.\ 2ÿ-ù\v1ðT²1:Ôr\14\9d\9bH[³==\7fß{Ð\r\83\1a\9e°-;¼\ 4\93K\9eH6Õ¥¨5nå|\8fü\97f<¦ï\1d\86ï\ eO#XÙü\a§ç\89^¦"ò\e¯|?\11¾\ 6\98ýU\8b]ï¹*Hã\93 \1fE\8d\98¬¡1\91\98(É4­ÆÝÓß\13\8fV\14Ãà\85N+iÖ¾r"¦\93ë«\9dwÈËô>÷öÿ¾´\9eÏϧóË+¼ÿâýl~ÁøÞ/\ eþ<ø\a\11\1cendstream
-endobj
-714 0 obj<</Type/Page/Parent 553 0 R/Contents 715 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 5 0 R/F5 6 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R/Fa 11 0 R>>/XObject<<>>>>>>endobj
-715 0 obj<</Filter/FlateDecode/Length 1548      >>stream
-x\ 1µWÛnÛF\10}÷W\f\82\ 2\96\ 1\89\92|\91\b 4uaÀIÚZi\ÄyX\93+ik\92Ëì.¥\10èÇ÷Ì.EI´\r'\ fµa@Ö^æÌ\993\97ýz0¤\ 1~\874>¦\93\11ÅÙÁ \1aÐè|\12\9dÒéù\18\9f\8fñg$Í\ fÞÌ\ eú\97\13\1a\8ei6Ç\91Ñè,:§YB80\18Ð,î\f\93èhöÏA\87\96\92lv_\bk×     ÍU*y¡\7fyJÃa8ß;\1eG#\9cï\å¤M"\r͵¡\e\91Ý\vr\9a
-a\9c\8aU!\9c$\95\93Ã}â^¯$\15F;\1dë\94\94£¬´\8eîy%\95|(Õú\81ÊÂï\1e\8eè¾ÂᥰK\99ÐJ¤¥´\fb@= =fÓ\vµ\929      *-Ìç"\93\11\ 1Ã\959ì¦U\97\84õ\97}|\7fu\vHp\ 6PÃ]¤,\89Ôj\1c×¹¤µ¨¼)\9a\97\94Î鮣p\1fPª¶Y\95\15ÚZU\83\19\19û\18§\12\8eËo\8eôÜ\7fÁÐ\ eíÖv\80Ì[=&ö\8e·*ww\ 4´d%\88\1a°\eîwÜ\8e\84ÊU¾\80        ¸±¡ÊsÔ\90ú \v\17ÑLS\86­\99²\9ez`Î,­\95[2:|çÖ\1c«\9a\18¶e»´\90Îñåºt-Â\81ÔVyÜõ®y\a\82, @/\8bN_º¸ïïKö\ 5Ó!\91'þXëD£²ö~\ 6Ã\94\94N¥ÊUÝ°~¶±DÙCs4²ËÖé.\87\17R[©\ 4âq\9a\97w\18\È\z\9aÁø\9eÊint\ 6£?è\ecõ©\ 3\eÇ#ä\1eÄ       æ\e3\1cï§\fUº4\14 \7f\ f\85l\86Åîy\9cë4Õk\8eS¬³\fì^ì_´\ 3姰2¬¹\9bD'g¨\0À\18\vG;!£\7f[¬Òkê\97ÖôS\1d\8b´o9¹û\85Q+(´ßø\13.ßT\86\9e¿½aájNp\92\ 4J\90)s¯Yä\16h¯¬\93\19\1c\ 1\ 2xdéýÕM\97?ý¸\13UÁn\ 4Ñý\ f\1eÌ\965¦ï\94\1eËnaDÆ
-\9cë\12ª¯ë_¨\8d\16!\8f%%ÊÈØiSEô¦¢DÎE\99º\90W\r±¾î>.?\16Ç jÜú|Ä\7f4j;b\81¿¤×È\8fM      Û\8fHçÙ«÷uÐÙºHv©Ë4áJo¥ãBo´\86³\9b\8aPH\83údQt-j1_³\93ª(À\8f\8e\ fÎбî:Á`\13\96x\99é\84xé9\88-\84wGí\9c½V\ fr\8dRùt r\8bjâs¯Î\81']dîàkå\9d|ÆÇ'\82Ú¦h0zÞG^jTò¢S\1cP4Å\fIR7¥æìFa \93
-\9d\10-    \91B_]\eQ\14pe)\r\1aáU\13\aþV\18n­Ü8eîLE\ba8­Úñó%nß`tw\14@\ f\19&NCÑävÉ\8dü¢TÉÅí\v?/o`3¬¥\81\1fu:Tÿ|\9eÆ12\13
-ùåâú\97YïçTX×\8b\97"_È\9eS\99|}q­Q[\19Ì>øïd\14î\9b¦\ ea[ \83çiÅÂ\b;EÓ£6îìßЩ{ÙÎ>Õn\97\8f¶¼ÀÅmÛ\ 4}n\81Ùõ¹µù\vÿ¿\93sHÌÖajÓÓº\ 1\89í§&ÌT¨ôV-r5W±\0Å\9cäü\1dÏv\10\13D¸W\ ec\9d\9c\90Z\98¹ú\97£\86Ê¿®fÓëë¿Ûvy\163\8e\rùV\82\18À\16\92ïä\98\ eo\ f     \ 15"vÒ°¦Ý\9ae\8d-~ê9¼Ø[®Q\81æ­/½\16/|t+eö,Ôtv\ 2CU\9aÒ\¨\94\v\1cF1\95ð\1c'òʧ\88B\8bó\b\13M¹vÈ2L\8c\0ù\ 4@\0kÙÝnÂ@ÇÙ¬\f\ 6ç\1d¨¡×\18ïÛµÈ1\rl\87:\1e1ëz&19¢qp_
-{?©<Ñk4ßYËâ
-\8c¡\1e·ëã§eMàÞÈÈ7ÆFÂ]Ä\17$°êmð°ÙÇe\829\0\ 2«l\18\8f£´Û\r[\90ü¨\9b(\v\v\f\99\89\15q,->2µÀÀv#ò\18ë7\ 1×2±¥\ 2Ý'0Ñ\92FH{\8e\e""l¬TËöR~\13\89\8cU&RÔü\85r\16\15\9btiÚ»D\eá¨`,c\9d\83z\7f\ 3\1e]\85Á\97\18Õýs¢.½\9bY\9d£\ 2ºÂÈ\8eµ\0ø°ýÔØð×\ e\ 4\86Kn¥µ\9b\0îõ\94ïÌòw\1d\96\19\86\f\f\87\14Ì\ f\f\99 \9d²\8aëI\92§Ç\95
-\9d\18xS\81É$,³À0Óo\95×bdó\84¨\9dõO\1eÞÒ¿l\ 6ÙWï?ÐïÓ\9b\9bO\1fþ|û*¬m\86Ä\ eèó¤\f¯³¯¥vÒÖݸ\7fy^çüp|\1e\8d&\13¼fý<}3}÷fJoñÒJ5Ú\8d¥ßÐ#|ÅímvöÆ\ 34\94$¼d\9f\9e\8eO£ñè<\fÀã\11\ 3ûuvðÇÁ\7f£³»øendstream
-endobj
-716 0 obj<</Type/Page/Parent 553 0 R/Contents 717 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F5 6 0 R/F6 7 0 R/F8 9 0 R>>/XObject<<>>>>>>endobj
-717 0 obj<</Filter/FlateDecode/Length 838       >>stream
-x\ 1m\95[oÛF\10\85ßõ+Î[i@¢)Y!e\ 1-`7I\11 ¹´VÐ\ 2Q\1e\96äPd½Üu¹¤\18þûÌ,uq\14S\10 p×3g¾93þ\7f2GÄ\9f9\92\ 5nbdõ$
-#,_Åa\8cå*áß\vþ6\84br¿\99\¿]b>Ǧà?\89W  69øz\14a\93\ 5om\ 3ú¦ê'MS´\16\99&Õ -        OʹÞ69
-¾Ò9j\90Út\8a²rpuêOù¬Ò\ 42m3 ·\9dΡ­}\84®\1e        ë«Í\7f\9c:Âí\98y¶X\86\1dàðp¸õ<\8aÖ\1f>âÓÝÃÃ?\1fÿ~ýïKÏú¥\97Ïß­¿|>Æ\ 4¾®ÿü}3ãêü³¾·é/\ eE§5\8cªi}ÍYK{øáJÒz\94y&4»\89Ã\95è|W`°\1d\14cTZÛ¾2;ÏÁ       '\ 6â)\9dQd¶®\95ÉåÐQ+\87U\ 3Û\9b\13H7õñjŬ\94á\e\16»jO\92?Âl~\13.$«\90vxÆ\ 4\95©Ú\8a\15\fpVÂ\ eÈ-\8cmQª=\8b°Â\9f»£ðÔо²\9d;eD_\92AV*³\13ñ|uTe¨¿Èzjö6\90È\rI5drÊ·W!Þ\19°\118\87XA\98p$\8f\84ã±\1d\bñÕÁfÁÙ!?Ò\rX£Ý5ªFݹ\16)\93MÙ@\1c.³ÆPÖ^È\1a\15¿\10<¿\8c\9b+ª­\81\12\1dýÚWmÉ N8B¼1c>Q\9d\ ePyî¹°ÛueN\96=\96Á]YÄ£g\8d\18è\bÉáW\fä~\94ðìò¨\1a_vÚ¦J\7fe;dmÅâl!¨\84MÈå\16ãðl\ 3Ï\90\ 5õåàÏUj¹¯.#£\9aÊ\82O^hɧ\86
-j¸\9aazÁL\1a\93©\96¤Qãà:öFN\85êt{ªA\98§Ä¶\80P\9a\8aµ¤±?9ëÌ\8b\vð\11Ù\9f{j±úø´XN¨>XÎ}\18þãT\ 5Ø\br¿-\é\17\ 5÷\9e½Ð2\1aÊÁ\ 1\ad<i2¨C\88;3Xî\87o Ê2r~æ<(\1f#S\ 6ÛÀ\1f\93±Ý®¼`ðhl¯)ßÑ\91¹¤²\99Õn{\85\9dâªÏQ}Q\ fïï¹M¾0\96Ê{Sö\1a+nK\1e§Úò
-pd\1cÏ¡L\1cÏ\13\135¶©\95ß\1eϧ×Tß0¢áõìwnpMmv=îËñäLEÒ\1c\ e×çÉ*\8coo±XÎy\99óBx¸{\7f\7f\87×´'m\9fd7üÑU¹\1f¸Ùñî,\89xÉæ\ 1ï\90\9b\10¿I\ 1ç½$9$ï2Y\86I¼âÿ\ 1|3IäÕ\9bÍä¯Éwæb÷ìendstream
-endobj
-718 0 obj<</Type/Page/Parent 553 0 R/Contents 719 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-719 0 obj<</Filter/FlateDecode/Length 1214      >>stream
-x\ 1uV]oã6\10|ϯX\\vÄ\ ebÙ²\1dÛé=%m\ 3\ 4H{hãG\ 3\ 1%Q6\e\89T|FÑÿÞY\8aò\87b#\b\12QäîìîÌP߯B\1aá'¤ù\98&3\8aó«Q0¢»0\fîiº\98ãÿ1~+I©{1\99O\82ðÜ\8bñx~þÅ|\16\a\1e\97Wç{\1a\8fh\99"ùl¾ eBH<ÂJÜûu#J++
\ 1ý¡\93:\93¦¿üÇ\1d   çÍ\91Ád\1a\8c\87=a@\ fÉ\87(¬X·\e§\14\86~#pÍxãr#©\90\9b\80dvÆÊ\9c\90Å«Tg\99ÞªbMb\1fë\17Î\1a\ 6ÓÉ\98\ 6\b³À_\ eT\89Â\94¢\92\85¥L\8b\84Ïè\94\8c\15VÅ$\8a\84Ì\ 6o\93}¦U¯ÐH\8d\95TW$ÈÔ\91On5½\17zK"Òµm÷¯ú\9cvD\83p\16\8cfw\9còUåe&ÉÈLÆVé\82"i·R\16m&\97´Éß\96',źHÕºÆì¬Ê姠_ÊJ2þ6ï\17Ò¥\vÎ(U\11WR\18®­\94\15VrQÄÜ¥\8a\v\8d\0Æ'â°\83\13°\7f¢Xaì\8e~Jdª
-À¶u\9a¢1»\W\9fa<d\19E"~\97Eb\b}#ñ!TæR`4eV¯UAܤU\ f ²Úõ»L¢·,\11¥k7?Ø$júƼjH2ð\93\9bܵ\93\ 3\ 1½ø\99\1d\150|:C\98W\9d\ 3{;+\83\96\90\11y$¨6\92\12\95¦ÒQ Å\1e\10\18\867í3Å\82çDR\81^®k \87Ȳ\1deªx\a\19\10\ fów!ÛÙL\1aN3K\8e\9b |\eÀó\ 3 Ì^×Y\ 2\ 2\7f g\94ÖEC\r»Áè\91GoÑN?%NTɵ\ 2ã1Z\v\1e¥\ 1=éª\93\10̳['\88R\18\93DGù \14'\88áÓ\88î[qM\83)\13ôñÛ·\172yôÖfyk\8e¯z ¡\ 1\15¡\bº)D\8eà<.U(û¶\87ÌO·è\87¥\ fY\19ð{ÕÿÊÐNÇâU¬Ì¡Ö­bòH´:ËÐÑhç\90s8%2e Hhe\9f\ 6"e¥7s?×\92&'ø\83\9aØ\97\ 6\13P\88ËsÄ\81ͼ\9ehì3D\98Sc4­
-½Îc\9d\97
-.\86\81\0\96e»¸\0\12Åaú\fÓûI\e     G¤\887\87y0ßÐ\vå¬\91\ 5èÉ#¨\91\9d\e0íGª,¶\12\98\88\153\17L\õÒJçÔ\14\82KÀy¦\97\99\1c\11lNëì­ú\17i0¼i[Äåí;oèfÈA\18å(`¯ï\1d¼\81]³á\ 3\88Aÿ:zä;ó=s\8b+¤ûêÖXî\9d%\10\8ei¶M:ë0\ 3Ȫ³¸®¥±\87µÿN«\ 2´±'\18\8b¸å\8ciUvD2\89        ÁRyD­9pká
-       Ï\ 4êóÊÄ\99DÃÿ¶\e8uw\7fÛ\ f?µ=\1d@c\10 U\15hâB68/\91\12~özrÛ|.Ë\91ò\19\ 6|\84\97o#fc,++`DÞ´ Â=úx#ãwR`ªu\97¤Èp!$;È\rÕ´2ç\92\11\9a\8bó!xoqm;åu\ eÁ\9f\°Æi\ e\8dc9;7)+\1dÉ·F\ 2°\12g"ûÝ·ÞU|âU¿QD's;I²\95\82\0a\84îÎcı\86\ eâöÞ%'\85CKJa7\10ÈÏ/Ï\8f¿=ÿ=ܧ\1dú|\81Ñ\9cÒWï\ 6ÖIÍxEì,· k\7fì\9a¹\82QdÂlnÏ\14¹ê\9fAê-Ë!dä"2:«­$\ 6ÙÉjJ\19«T5\17Ì>kàw\8dg\8d£=¤\8c\8b\1dû´ÇHÏ_Dn^ò\87\8c\91$¹4%G\10±fþ\80&\8cËãl#t\90\1d\91\86ß\f\9f\16\87¯4þÒ\9c;\ 1^øø\9bΧÁ|¶\80+Ã=æ\v\ eðûò꯫ÿ\ 1@¦r7endstream
-endobj
-720 0 obj<</Type/Page/Parent 553 0 R/Contents 721 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F5 6 0 R/F8 9 0 R/F9 10 0 R/Fa 11 0 R>>/XObject<<>>>>>>endobj
-721 0 obj<</Filter/FlateDecode/Length 1265      >>stream
-x\ 1\95VïOãF\10ýÎ_1º~ÀHÁ$\10\b´_.Ü\85
\1cWlZ\9d\14ÉZÛ\9bd\ fg7çµ\81´êÿÞ·?l\1c\17z-\b\94س3ofÞ¼\9do{#\1aâwD\93c:9£l½7\f\874>95ÿÏ'ø\7f\8c¿\92Ó¾\18\8dOÂóþ\8bËxïèê\82F\13\8a\17ðuv>¢8'ø\19\ e\82Ñ8<       é÷RTB.i­òºàú þ\8aCc\1aÁÖ\1c:<\9e\84g8\16ÌX¶òF´b\9a\98$!q\94\15B³J(I\8bZfæCHWªlüQµb\151\0\152+ê\9cçô$ª\15i¶N\19^
-M\92­ñÖFF¼ÑIxlâí;$Ì#     t\9dê­®øz\17a\90ôìR\96=p\99÷­\fÖ}\87\8c?W¼\94¬h!Î\ 3\vòI\14\ 5IþÈKJ9¥µ(ªC!\aøT\91\92Å\96Ø#\13\ 5K\vN&\7f\7f|~`Bu\80ws"V<±­¦}\13>q%\ 6\8ayp-\91\8ciNjÑ"y¥F\ 3g¨äB,k\94Ñ\15\ 1E\ 4X\96Û<;Á\19ý\90ó\85\90°kê\95ø\8a$\ 6Ã<\98\1fؾy0æûü ¤\18`6¥ªTµÝ\80\1fà\ 1[ÓS\8d\ 6ýèj:¤\8b\86\1aãplZ%dµëóQ\89|~ðÓn\ f\f\97,\93bÓôÆ1é\95ª\8b\1c\95@>
-¸-u\90\97BWå.µ´CÚ?\òª.%I%\ fÿà¥\82\1f¤\9fe\÷IÅdN\8dÅ\ 2ÍDACß¾ã3\97\8cá.\7ffëMÁ\a´ÉÓ¤ÈÙæ¥v\99\92\15\13òß\8bÑ;æÊÑÐd\88AEÑþì}'üèu\9a¸¼y\99l\98Öy:\ fÞ\19\0\18\97w\ e\8ee\92\7f4 ÏÓ(úx\99\\7f\8agwWÓ\ f³ä·Ù]t}ûÉWß0ÃÇû®ÿDÖì\95\18æñÿ\8dcbù\9eÄw÷3K\84\ e\94¿\1c1 L \8f\15\99\13£LN\90F!E\15º\9e\1dE+ÈFN\9a\17Üê
-8F(¿\9b\83PHçeGª\8c\97HANÖ,+\15H»{\82\96\rP\8aÛ\99zd¥Pµ&70FÑ\10\fSSi¼ö¢%¹a\11+·ÍL4óW)zRåCÓD/Z\99*K\80\ri
-6{EuÎ<Í\ea¡tkⲺ¨ ¦\8f\0¤\8cè` \911>\eq0ø¬Úì{K?³ÚéX/tËY± C\ f\f,0×2\7fa±yÔ\89\80oM\88þ\10Ü:yJUU©µ\11¨nÝ\a\14Ý\&7·\1fï\7f\99Y=yÉÍL1\120úÁ;÷\ 5*ÛCk<D÷\97Ñ\97(\9eÝX'í\99V¸ú ¢-FïùM\15ê\82rÔ`N©úW\87\17°\97\9bÃêY°sq46\ 3Úu¥Ò¯è/-D{U¾e¹)ê%èg.7çâ-Ã6ßÿbk'#av\1e¾ãÖNÏ«¦/W\96×\86^7vSnñíÆsNvW\ 5+ïÓB«\ 1\ 6ðÁÜA\10\19¤³\8cöãA¹0S"\1e9&Mù
-c×±+Gp\83\93¦¾ÿ\98ðÀ\12âèª]    è}K¡$\8a§ñõ\87÷\ ec£  \81»&SÛ\81Î-YòMÁ²f\15a\84\15\ 6\82\w17¦½æ\81\19Ã\9d1\96ÜÍ'fµ\10ò\ 1_Ðcm»\ 2êo{\b;!;PÝäDoa\85rvÑ\19\b\86D-\1eG,[9³£äý1ù¢jZ×Hè¥\ 5æn\r3\9f\96Õ6\7f\8dµÚç\1eb§CbÙ\8aÉ%2\83D\85GíàÛ\1d®ä6¤K\eÈL¹;IîûZ%YÁ\99Üw\b*V.9$ñsihk\14bkv\1a¨Ï\1aFP$\80{\r\9bkåiC\v_e{\13'-'{;F`÷\b¬\94hS\ f\9b\13Ø6\ 1ß©sï~49\ fÏ..èôÔï4ÑôærJ\1f±\r\16jÃKM?×"·ù\1e\87\93!\94Ã_[¯íÑãÉ8\9c\9c\9dc\8b\86ÕäÂ\0\9aÅ{¿îý\rG\83¥3endstream
-endobj
-722 0 obj<</Type/Page/Parent 553 0 R/Contents 723 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F6 7 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-723 0 obj<</Filter/FlateDecode/Length 960       >>stream
-x\ 1\95Va\8fâ6\14üίxßÊ\9e \v\81\ 5¶=\9dtE½ªRO½\16Ô~Y     9\8e!î:vj;Ké¯ïØNn\81Û[µ»\ 2E\893oÞ¼ñ\98¿\ 6S\9aà\7f\9cf\vâõ`\92Mènq\97­h¾Zâ:ÇÇ
-ÚÇ\aùl\9aͯ\1f|¿\1dÜ~¸§|BÛ=°\16Ë\15mK\ 2Î\ 4wøp]±Æ\vKÓ»\8c~û´¦Oª=\1c\ 4}4e«\84»Ùþ\19\ 1¦Ë\ 40\9eͳ\1c\10C¼1Íè}aZ\9fÖÌi:íÖäËl\11Öl+é¨4¼­\85öT
-Ç­,\84£Ê\1cÉ\eªÙ£ Ö ò\95 -\8e/3 ½`¾µxÍìiÃê\82Ñ,\9bd\14ÀCå     \8d§³Ä\89Y^I/xXNGæ\88\95¥(C)©¹\15¬+U3©=>¬\90JúÓ3.SÊ\1c¥>$"²AM¼[\0ËØG\0\19}UÐ\89\86\85:ÑÞ\9a:6\12Ðiýû\86
-Ë4¯\ 2Q\ 1À\8ftÉN*EL9\83/\14Å\9bÒ\96\81Ï\93Ð¥±±6\1a¸*¹o5÷Òh\16©\83^\92ÄWÖ´\87\8a\1a\fp,µËÒPîé|pónpyF?
--,SôË\93°OR\1cÓò\17føG%41\1d%áàJ\18©\vãDiW\17å(~\93·2©¥\f+\89\91«\98\85bJB\ 5{¢â\94\86Ìj\91*ÁÖ½[úé\85µ\rß½m ¼ÆÂw\993\97´\86¡hÅt \7f\ 6Ï$>{\920\97\11N\7fãéQCÌÎ__¬Ô°:\84\8c>\18\e°ÏÌ\ 3Ñ<\ 6&Fôóæ}\84\86\7fà£\84R\86\16\ f;ÂÊ1ç¾ä\9aÅÉÃr\17R\ 4\95\eZ\ 5@AÊp¸§\84=C?\97ðgÔÞº`{k\8c\7fw\8b¢·\90éJ\98¬\9bB\1c\96÷¢n|ôOT(H%µô»:îiê-DG      ÛÅÒ\97$OÑ=g\ 4Ö\95à\8fIò.0\8c¦\84æho,®¡\94Ô¸¬Ypg\ f\90/\10IH\82\9fR\95\97X\8c"no\94N\9bÈ;¸!\98agÅA:ÌnÇM]cüîaøp\93\12à¹\19\8f4AÏIÆ3î{Óïjf\ f1\89Ü·½Ò÷}`Í\13\ 2½V\95\e\98\848¼Mo¸Ò~Dçw\9c}\1a\ 5äP|\82\8cFßôú_zÛyÛrO¬\91»îò\r¯K7\82 \9e\9cüG<Ü|\97\18/\9ewM\1e\136\90¸´\ 2\ e\8aÏy\18\ 6¿V2ìÖ°¡BÐ\85[Ấ ì%êøü]4ó:ð\ 6Á\81\93ã\7f\ 3\87Ö¾\8eÌ\10\19\90\18L\9få\bSe\1eÇE\13SÈØ\12Ù­H·u!RL~vtðM\87ÞkuÙ\15Ôüzñ(ND½&\80A\85\13#mÕ¾\83\88Ü;|#D´\8e\8b²ÜB¾`Û\8c#;Ë\17\1eì´Ç³°u\90\95uÈUñ7«\e\ 4\eZïò+\1d\8dÈÛnst\99¾:3Á<O'ß\7f:ÇçËy¶\¬ð3\0Î\M\82\ e?l\a¿\ eþ\ 5\ 4}\991endstream
-endobj
-724 0 obj<</Type/Page/Parent 553 0 R/Contents 725 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 5 0 R/F8 9 0 R/F9 10 0 R>>/XObject<<>>>>>>endobj
-725 0 obj<</Filter/FlateDecode/Length 575       >>stream
-x\ 1\85TK\8f\9b0\10¾ó+æ\98\ 1BB¨ÔK\1f¹µjUÔÓ^\f6Á]°½~d»ÿ¾\83!i\12µª¢\10ÉÌ|ó=Æy\8e2Hñ\93A\99Ãf\aí\18¥$\85ív\8bÏb_â3ǯáÐEïëh}¨ O¡î°eWî¡f\80å)\9e´«\ f\8e\eÈv\ 4¾(Ç-8\ 5\9a¶OôÈ\8d\7f\86î¬\9c»\93MArì_ayFà\a\96\b%\85\85\ 5dÙR\98\97d7\15~\1d8µ<\ 6\1d~ÁkF\1d\a×s8ÍÍ ýØ \ 1!a\ 6AY\ 1de\957-_\vÙ\ e\9eñõROúÛY«\89ðRs\8d\8b¤@uSm
-I¶\99i¿"äY\1d\81º\17\16\84¢\85\ 3ä)\90\a¢1a\1d¶{a{°\8eJF\r\ 3\86BãÅÀ,tF\8dÐzëÔ\98\84£\9b×wC\1fW\13 \11\8dwh\96EV\8eKdáÚþÌÅ>>\108(\ 3ü\17\1dѪ\18(\1c\95b\17\93^\94\1f\184üíÙ£êìsA\8aÉç%
-̽ªª7\e\92\12\9eæY²\85\ e\81?òFP9wWp\95ç\92fNà³b~àKæ\7f\89ò{p@ª\17è©\ 5ëµVÆ\ 5ð`Ád¸¦ÆM\ 2\17;°L\ fþ(¤½7[+kE3à&¨8@\\84kïîü\e\18Õ\80\12ÆWû<\æâ¾P°\s3-Ô²±1n\80\ f\99Nl0Ô«9ÈúıG*3RÄ     j\96><¼\9fÊ\10Z²°E\12n( \165/\ 2 ÀÑ\87\18ïuÓEy\fÆË\7f¦FÖ­\92\9d8z¼ªIò"\\9fØ\9e\1aÎ\92q\ eã\9dÑm|êlL½ëcÍ\9a¸Å÷\96\a¶ëÃþÏ\85\9b)Êÿßç¢,H¹Ûã\7f\ 1\96ï³ÉìOuô-ú\r®þY\94endstream
-endobj
-726 0 obj<</Count 19/First 727 0 R/Last 867 0 R>>endobj
-727 0 obj<</Parent 726 0 R/Title(Table of Contents)/Dest[556 0 R/XYZ 0 756 0]/Next 728 0 R>>endobj
-728 0 obj<</Parent 726 0 R/Count -1/First 729 0 R/Last 729 0 R/Title(SAMBA Developers Guide)/Dest[564 0 R/XYZ 0 786 0]/Prev 727 0 R/Next 730 0 R>>endobj
-729 0 obj<</Parent 728 0 R/Title(SAMBA Team)/Dest[564 0 R/XYZ 0 762 0]>>endobj
-730 0 obj<</Parent 726 0 R/Title(Abstract)/Dest[566 0 R/XYZ 0 786 0]/Prev 728 0 R/Next 731 0 R>>endobj
-731 0 obj<</Parent 726 0 R/Count -3/First 732 0 R/Last 734 0 R/Title(Chapter 1. Definition of NetBIOS Protocol and Name Resolution Modes)/Dest[574 0 R/XYZ 0 786 0]/Prev 730 0 R/Next 735 0 R>>endobj
-732 0 obj<</Parent 731 0 R/Title(1.1. NETBIOS)/Dest[574 0 R/XYZ 0 738 0]/Next 733 0 R>>endobj
-733 0 obj<</Parent 731 0 R/Title(1.2. BROADCAST NetBIOS)/Dest[574 0 R/XYZ 0 254 0]/Prev 732 0 R/Next 734 0 R>>endobj
-734 0 obj<</Parent 731 0 R/Title(1.3. NBNS NetBIOS)/Dest[576 0 R/XYZ 0 758 0]/Prev 733 0 R>>endobj
-735 0 obj<</Parent 726 0 R/Count -5/First 736 0 R/Last 740 0 R/Title(Chapter 2. Samba Architecture)/Dest[578 0 R/XYZ 0 786 0]/Prev 731 0 R/Next 741 0 R>>endobj
-736 0 obj<</Parent 735 0 R/Title(2.1. Introduction)/Dest[578 0 R/XYZ 0 762 0]/Next 737 0 R>>endobj
-737 0 obj<</Parent 735 0 R/Title(2.2. Multithreading and Samba)/Dest[578 0 R/XYZ 0 581 0]/Prev 736 0 R/Next 738 0 R>>endobj
-738 0 obj<</Parent 735 0 R/Title(2.3. Threading smbd)/Dest[578 0 R/XYZ 0 387 0]/Prev 737 0 R/Next 739 0 R>>endobj
-739 0 obj<</Parent 735 0 R/Title(2.4. Threading nmbd)/Dest[580 0 R/XYZ 0 786 0]/Prev 738 0 R/Next 740 0 R>>endobj
-740 0 obj<</Parent 735 0 R/Title(2.5. nbmd Design)/Dest[580 0 R/XYZ 0 487 0]/Prev 739 0 R>>endobj
-741 0 obj<</Parent 726 0 R/Count -5/First 742 0 R/Last 746 0 R/Title(Chapter 3. The samba DEBUG system)/Dest[582 0 R/XYZ 0 786 0]/Prev 735 0 R/Next 750 0 R>>endobj
-742 0 obj<</Parent 741 0 R/Title(3.1. New Output Syntax)/Dest[582 0 R/XYZ 0 762 0]/Next 743 0 R>>endobj
-743 0 obj<</Parent 741 0 R/Title(3.2. The DEBUG\(\) Macro)/Dest[584 0 R/XYZ 0 786 0]/Prev 742 0 R/Next 744 0 R>>endobj
-744 0 obj<</Parent 741 0 R/Title(3.3. The DEBUGADD\(\) Macro)/Dest[586 0 R/XYZ 0 786 0]/Prev 743 0 R/Next 745 0 R>>endobj
-745 0 obj<</Parent 741 0 R/Title(3.4. The DEBUGLVL\(\) Macro)/Dest[586 0 R/XYZ 0 567 0]/Prev 744 0 R/Next 746 0 R>>endobj
-746 0 obj<</Parent 741 0 R/Count -3/First 747 0 R/Last 749 0 R/Title(3.5. New Functions)/Dest[588 0 R/XYZ 0 786 0]/Prev 745 0 R>>endobj
-747 0 obj<</Parent 746 0 R/Title(3.5.1. dbgtext\(\))/Dest[588 0 R/XYZ 0 766 0]/Next 748 0 R>>endobj
-748 0 obj<</Parent 746 0 R/Title(3.5.2. dbghdr\(\))/Dest[588 0 R/XYZ 0 655 0]/Prev 747 0 R/Next 749 0 R>>endobj
-749 0 obj<</Parent 746 0 R/Title(3.5.3. format_debug_text\(\))/Dest[588 0 R/XYZ 0 543 0]/Prev 748 0 R>>endobj
-750 0 obj<</Parent 726 0 R/Title(Chapter 4. Coding Suggestions)/Dest[590 0 R/XYZ 0 786 0]/Prev 741 0 R/Next 751 0 R>>endobj
-751 0 obj<</Parent 726 0 R/Count -5/First 752 0 R/Last 773 0 R/Title(Chapter 5. Samba Internals)/Dest[594 0 R/XYZ 0 786 0]/Prev 750 0 R/Next 774 0 R>>endobj
-752 0 obj<</Parent 751 0 R/Title(5.1. Character Handling)/Dest[594 0 R/XYZ 0 762 0]/Next 753 0 R>>endobj
-753 0 obj<</Parent 751 0 R/Title(5.2. The new functions)/Dest[594 0 R/XYZ 0 621 0]/Prev 752 0 R/Next 754 0 R>>endobj
-754 0 obj<</Parent 751 0 R/Count -15/First 755 0 R/Last 769 0 R/Title(5.3. Macros in byteorder.h)/Dest[596 0 R/XYZ 0 758 0]/Prev 753 0 R/Next 770 0 R>>endobj
-755 0 obj<</Parent 754 0 R/Title(5.3.1. CVAL\(buf,pos\))/Dest[596 0 R/XYZ 0 683 0]/Next 756 0 R>>endobj
-756 0 obj<</Parent 754 0 R/Title(5.3.2. PVAL\(buf,pos\))/Dest[596 0 R/XYZ 0 624 0]/Prev 755 0 R/Next 757 0 R>>endobj
-757 0 obj<</Parent 754 0 R/Title(5.3.3. SCVAL\(buf,pos,val\))/Dest[596 0 R/XYZ 0 566 0]/Prev 756 0 R/Next 758 0 R>>endobj
-758 0 obj<</Parent 754 0 R/Title(5.3.4. SVAL\(buf,pos\))/Dest[596 0 R/XYZ 0 507 0]/Prev 757 0 R/Next 759 0 R>>endobj
-759 0 obj<</Parent 754 0 R/Title(5.3.5. IVAL\(buf,pos\))/Dest[596 0 R/XYZ 0 436 0]/Prev 758 0 R/Next 760 0 R>>endobj
-760 0 obj<</Parent 754 0 R/Title(5.3.6. SVALS\(buf,pos\))/Dest[596 0 R/XYZ 0 377 0]/Prev 759 0 R/Next 761 0 R>>endobj
-761 0 obj<</Parent 754 0 R/Title(5.3.7. IVALS\(buf,pos\))/Dest[596 0 R/XYZ 0 319 0]/Prev 760 0 R/Next 762 0 R>>endobj
-762 0 obj<</Parent 754 0 R/Title(5.3.8. SSVAL\(buf,pos,val\))/Dest[596 0 R/XYZ 0 261 0]/Prev 761 0 R/Next 763 0 R>>endobj
-763 0 obj<</Parent 754 0 R/Title(5.3.9. SIVAL\(buf,pos,val\))/Dest[596 0 R/XYZ 0 202 0]/Prev 762 0 R/Next 764 0 R>>endobj
-764 0 obj<</Parent 754 0 R/Title(5.3.10. SSVALS\(buf,pos,val\))/Dest[598 0 R/XYZ 0 786 0]/Prev 763 0 R/Next 765 0 R>>endobj
-765 0 obj<</Parent 754 0 R/Title(5.3.11. SIVALS\(buf,pos,val\))/Dest[598 0 R/XYZ 0 728 0]/Prev 764 0 R/Next 766 0 R>>endobj
-766 0 obj<</Parent 754 0 R/Title(5.3.12. RSVAL\(buf,pos\))/Dest[598 0 R/XYZ 0 669 0]/Prev 765 0 R/Next 767 0 R>>endobj
-767 0 obj<</Parent 754 0 R/Title(5.3.13. RIVAL\(buf,pos\))/Dest[598 0 R/XYZ 0 611 0]/Prev 766 0 R/Next 768 0 R>>endobj
-768 0 obj<</Parent 754 0 R/Title(5.3.14. RSSVAL\(buf,pos,val\))/Dest[598 0 R/XYZ 0 553 0]/Prev 767 0 R/Next 769 0 R>>endobj
-769 0 obj<</Parent 754 0 R/Title(5.3.15. RSIVAL\(buf,pos,val\))/Dest[598 0 R/XYZ 0 481 0]/Prev 768 0 R>>endobj
-770 0 obj<</Parent 751 0 R/Count -2/First 771 0 R/Last 772 0 R/Title(5.4. LAN Manager Samba API)/Dest[598 0 R/XYZ 0 423 0]/Prev 754 0 R/Next 773 0 R>>endobj
-771 0 obj<</Parent 770 0 R/Title(5.4.1. Parameters)/Dest[598 0 R/XYZ 0 273 0]/Next 772 0 R>>endobj
-772 0 obj<</Parent 770 0 R/Title(5.4.2. Return value)/Dest[600 0 R/XYZ 0 494 0]/Prev 771 0 R>>endobj
-773 0 obj<</Parent 751 0 R/Title(5.5. Code character table)/Dest[602 0 R/XYZ 0 786 0]/Prev 770 0 R>>endobj
-774 0 obj<</Parent 726 0 R/Count -2/First 775 0 R/Last 779 0 R/Title(Chapter 6. The smb.conf file)/Dest[604 0 R/XYZ 0 786 0]/Prev 751 0 R/Next 781 0 R>>endobj
-775 0 obj<</Parent 774 0 R/Count -3/First 776 0 R/Last 778 0 R/Title(6.1. Lexical Analysis)/Dest[604 0 R/XYZ 0 762 0]/Next 779 0 R>>endobj
-776 0 obj<</Parent 775 0 R/Title(6.1.1. Handling of Whitespace)/Dest[604 0 R/XYZ 0 476 0]/Next 777 0 R>>endobj
-777 0 obj<</Parent 775 0 R/Title(6.1.2. Handling of Line Continuation)/Dest[604 0 R/XYZ 0 312 0]/Prev 776 0 R/Next 778 0 R>>endobj
-778 0 obj<</Parent 775 0 R/Title(6.1.3. Line Continuation Quirks)/Dest[606 0 R/XYZ 0 705 0]/Prev 777 0 R>>endobj
-779 0 obj<</Parent 774 0 R/Count -1/First 780 0 R/Last 780 0 R/Title(6.2. Syntax)/Dest[606 0 R/XYZ 0 293 0]/Prev 775 0 R>>endobj
-780 0 obj<</Parent 779 0 R/Title(6.2.1. About params.c)/Dest[608 0 R/XYZ 0 718 0]>>endobj
-781 0 obj<</Parent 726 0 R/Count -9/First 782 0 R/Last 790 0 R/Title(Chapter 7. NetBIOS in a Unix World)/Dest[610 0 R/XYZ 0 786 0]/Prev 774 0 R/Next 791 0 R>>endobj
-782 0 obj<</Parent 781 0 R/Title(7.1. Introduction)/Dest[610 0 R/XYZ 0 762 0]/Next 783 0 R>>endobj
-783 0 obj<</Parent 781 0 R/Title(7.2. Usernames)/Dest[610 0 R/XYZ 0 647 0]/Prev 782 0 R/Next 784 0 R>>endobj
-784 0 obj<</Parent 781 0 R/Title(7.3. File Ownership)/Dest[610 0 R/XYZ 0 269 0]/Prev 783 0 R/Next 785 0 R>>endobj
-785 0 obj<</Parent 781 0 R/Title(7.4. Passwords)/Dest[612 0 R/XYZ 0 745 0]/Prev 784 0 R/Next 786 0 R>>endobj
-786 0 obj<</Parent 781 0 R/Title(7.5. Locking)/Dest[612 0 R/XYZ 0 511 0]/Prev 785 0 R/Next 787 0 R>>endobj
-787 0 obj<</Parent 781 0 R/Title(7.6. Deny Modes)/Dest[614 0 R/XYZ 0 786 0]/Prev 786 0 R/Next 788 0 R>>endobj
-788 0 obj<</Parent 781 0 R/Title(7.7. Trapdoor UIDs)/Dest[614 0 R/XYZ 0 619 0]/Prev 787 0 R/Next 789 0 R>>endobj
-789 0 obj<</Parent 781 0 R/Title(7.8. Port numbers)/Dest[614 0 R/XYZ 0 491 0]/Prev 788 0 R/Next 790 0 R>>endobj
-790 0 obj<</Parent 781 0 R/Title(7.9. Protocol Complexity)/Dest[614 0 R/XYZ 0 231 0]/Prev 789 0 R>>endobj
-791 0 obj<</Parent 726 0 R/Title(Chapter 8. Tracing samba system calls)/Dest[618 0 R/XYZ 0 786 0]/Prev 781 0 R/Next 792 0 R>>endobj
-792 0 obj<</Parent 726 0 R/Count -8/First 793 0 R/Last 829 0 R/Title(Chapter 9. NT Domain RPC's)/Dest[622 0 R/XYZ 0 786 0]/Prev 791 0 R/Next 832 0 R>>endobj
-793 0 obj<</Parent 792 0 R/Count -2/First 794 0 R/Last 795 0 R/Title(9.1. Introduction)/Dest[622 0 R/XYZ 0 762 0]/Next 796 0 R>>endobj
-794 0 obj<</Parent 793 0 R/Title(9.1.1. Sources)/Dest[624 0 R/XYZ 0 679 0]/Next 795 0 R>>endobj
-795 0 obj<</Parent 793 0 R/Title(9.1.2. Credits)/Dest[624 0 R/XYZ 0 569 0]/Prev 794 0 R>>endobj
-796 0 obj<</Parent 792 0 R/Count -3/First 797 0 R/Last 799 0 R/Title(9.2. Notes and Structures)/Dest[624 0 R/XYZ 0 447 0]/Prev 793 0 R/Next 800 0 R>>endobj
-797 0 obj<</Parent 796 0 R/Title(9.2.1. Notes)/Dest[624 0 R/XYZ 0 426 0]/Next 798 0 R>>endobj
-798 0 obj<</Parent 796 0 R/Title(9.2.2. Enumerations)/Dest[626 0 R/XYZ 0 771 0]/Prev 797 0 R/Next 799 0 R>>endobj
-799 0 obj<</Parent 796 0 R/Title(9.2.3. Structures)/Dest[626 0 R/XYZ 0 288 0]/Prev 798 0 R>>endobj
-800 0 obj<</Parent 792 0 R/Count -12/First 801 0 R/Last 812 0 R/Title(9.3. MSRPC over Transact Named Pipe)/Dest[646 0 R/XYZ 0 481 0]/Prev 796 0 R/Next 813 0 R>>endobj
-801 0 obj<</Parent 800 0 R/Title(9.3.1. MSRPC Pipes)/Dest[646 0 R/XYZ 0 419 0]/Next 802 0 R>>endobj
-802 0 obj<</Parent 800 0 R/Title(9.3.2. Header)/Dest[648 0 R/XYZ 0 620 0]/Prev 801 0 R/Next 803 0 R>>endobj
-803 0 obj<</Parent 800 0 R/Title(9.3.3. Tail)/Dest[656 0 R/XYZ 0 584 0]/Prev 802 0 R/Next 804 0 R>>endobj
-804 0 obj<</Parent 800 0 R/Title(9.3.4. RPC Bind / Bind Ack)/Dest[656 0 R/XYZ 0 460 0]/Prev 803 0 R/Next 805 0 R>>endobj
-805 0 obj<</Parent 800 0 R/Title(9.3.5. NTLSA Transact Named Pipe)/Dest[658 0 R/XYZ 0 601 0]/Prev 804 0 R/Next 806 0 R>>endobj
-806 0 obj<</Parent 800 0 R/Title(9.3.6. LSA Open Policy)/Dest[658 0 R/XYZ 0 193 0]/Prev 805 0 R/Next 807 0 R>>endobj
-807 0 obj<</Parent 800 0 R/Title(9.3.7. LSA Query Info Policy)/Dest[660 0 R/XYZ 0 545 0]/Prev 806 0 R/Next 808 0 R>>endobj
-808 0 obj<</Parent 800 0 R/Title(9.3.8. LSA Enumerate Trusted Domains)/Dest[660 0 R/XYZ 0 198 0]/Prev 807 0 R/Next 809 0 R>>endobj
-809 0 obj<</Parent 800 0 R/Title(9.3.9. LSA Open Secret)/Dest[662 0 R/XYZ 0 639 0]/Prev 808 0 R/Next 810 0 R>>endobj
-810 0 obj<</Parent 800 0 R/Title(9.3.10. LSA Close)/Dest[662 0 R/XYZ 0 354 0]/Prev 809 0 R/Next 811 0 R>>endobj
-811 0 obj<</Parent 800 0 R/Title(9.3.11. LSA Lookup SIDS)/Dest[664 0 R/XYZ 0 786 0]/Prev 810 0 R/Next 812 0 R>>endobj
-812 0 obj<</Parent 800 0 R/Title(9.3.12. LSA Lookup Names)/Dest[664 0 R/XYZ 0 301 0]/Prev 811 0 R>>endobj
-813 0 obj<</Parent 792 0 R/Count -5/First 814 0 R/Last 818 0 R/Title(9.4. NETLOGON rpc Transact Named Pipe)/Dest[666 0 R/XYZ 0 465 0]/Prev 800 0 R/Next 819 0 R>>endobj
-814 0 obj<</Parent 813 0 R/Title(9.4.1. LSA Request Challenge)/Dest[668 0 R/XYZ 0 718 0]/Next 815 0 R>>endobj
-815 0 obj<</Parent 813 0 R/Title(9.4.2. LSA Authenticate 2)/Dest[668 0 R/XYZ 0 326 0]/Prev 814 0 R/Next 816 0 R>>endobj
-816 0 obj<</Parent 813 0 R/Title(9.4.3. LSA Server Password Set)/Dest[670 0 R/XYZ 0 584 0]/Prev 815 0 R/Next 817 0 R>>endobj
-817 0 obj<</Parent 813 0 R/Title(9.4.4. LSA SAM Logon)/Dest[670 0 R/XYZ 0 218 0]/Prev 816 0 R/Next 818 0 R>>endobj
-818 0 obj<</Parent 813 0 R/Title(9.4.5. LSA SAM Logoff)/Dest[672 0 R/XYZ 0 406 0]/Prev 817 0 R>>endobj
-819 0 obj<</Parent 792 0 R/Count -2/First 820 0 R/Last 821 0 R/Title(9.5. \\\\MAILSLOT\\NET\\NTLOGON)/Dest[674 0 R/XYZ 0 786 0]/Prev 813 0 R/Next 822 0 R>>endobj
-820 0 obj<</Parent 819 0 R/Title(9.5.1. Query for PDC)/Dest[674 0 R/XYZ 0 711 0]/Next 821 0 R>>endobj
-821 0 obj<</Parent 819 0 R/Title(9.5.2. SAM Logon)/Dest[676 0 R/XYZ 0 786 0]/Prev 820 0 R>>endobj
-822 0 obj<</Parent 792 0 R/Count -2/First 823 0 R/Last 824 0 R/Title(9.6. SRVSVC Transact Named Pipe)/Dest[678 0 R/XYZ 0 758 0]/Prev 819 0 R/Next 825 0 R>>endobj
-823 0 obj<</Parent 822 0 R/Title(9.6.1. Net Share Enum)/Dest[678 0 R/XYZ 0 630 0]/Next 824 0 R>>endobj
-824 0 obj<</Parent 822 0 R/Title(9.6.2. Net Server Get Info)/Dest[680 0 R/XYZ 0 786 0]/Prev 823 0 R>>endobj
-825 0 obj<</Parent 792 0 R/Count -3/First 826 0 R/Last 828 0 R/Title(9.7. Cryptographic side of NT Domain Authentication)/Dest[680 0 R/XYZ 0 486 0]/Prev 822 0 R/Next 829 0 R>>endobj
-826 0 obj<</Parent 825 0 R/Title(9.7.1. Definitions)/Dest[680 0 R/XYZ 0 466 0]/Next 827 0 R>>endobj
-827 0 obj<</Parent 825 0 R/Title(9.7.2. Protocol)/Dest[682 0 R/XYZ 0 786 0]/Prev 826 0 R/Next 828 0 R>>endobj
-828 0 obj<</Parent 825 0 R/Title(9.7.3. Comments)/Dest[682 0 R/XYZ 0 348 0]/Prev 827 0 R>>endobj
-829 0 obj<</Parent 792 0 R/Count -2/First 830 0 R/Last 831 0 R/Title(9.8. SIDs and RIDs)/Dest[684 0 R/XYZ 0 758 0]/Prev 825 0 R>>endobj
-830 0 obj<</Parent 829 0 R/Title(9.8.1. Well-known SIDs)/Dest[684 0 R/XYZ 0 598 0]/Next 831 0 R>>endobj
-831 0 obj<</Parent 829 0 R/Title(9.8.2. Well-known RIDS)/Dest[686 0 R/XYZ 0 626 0]/Prev 830 0 R>>endobj
-832 0 obj<</Parent 726 0 R/Count -5/First 833 0 R/Last 837 0 R/Title(Chapter 10. Samba Printing Internals)/Dest[692 0 R/XYZ 0 786 0]/Prev 792 0 R/Next 838 0 R>>endobj
-833 0 obj<</Parent 832 0 R/Title(10.1. Abstract)/Dest[692 0 R/XYZ 0 762 0]/Next 834 0 R>>endobj
-834 0 obj<</Parent 832 0 R/Title(10.2. Printing Interface to Various Back ends)/Dest[692 0 R/XYZ 0 674 0]/Prev 833 0 R/Next 835 0 R>>endobj
-835 0 obj<</Parent 832 0 R/Title(10.3. Print Queue TDB's)/Dest[692 0 R/XYZ 0 414 0]/Prev 834 0 R/Next 836 0 R>>endobj
-836 0 obj<</Parent 832 0 R/Title(10.4. ChangeID and Client Caching of Printer Information)/Dest[696 0 R/XYZ 0 745 0]/Prev 835 0 R/Next 837 0 R>>endobj
-837 0 obj<</Parent 832 0 R/Title(10.5. Windows NT/2K Printer Change Notify)/Dest[696 0 R/XYZ 0 683 0]/Prev 836 0 R>>endobj
-838 0 obj<</Parent 726 0 R/Count -1/First 839 0 R/Last 839 0 R/Title(Chapter 11. Samba WINS Internals)/Dest[702 0 R/XYZ 0 786 0]/Prev 832 0 R/Next 840 0 R>>endobj
-839 0 obj<</Parent 838 0 R/Title(11.1. WINS Failover)/Dest[702 0 R/XYZ 0 762 0]>>endobj
-840 0 obj<</Parent 726 0 R/Count -7/First 841 0 R/Last 852 0 R/Title(Chapter 12. The Upcoming SAM System)/Dest[704 0 R/XYZ 0 786 0]/Prev 838 0 R/Next 853 0 R>>endobj
-841 0 obj<</Parent 840 0 R/Title(12.1. Security in the 'new SAM')/Dest[704 0 R/XYZ 0 762 0]/Next 842 0 R>>endobj
-842 0 obj<</Parent 840 0 R/Title(12.2. Standalone from UNIX)/Dest[706 0 R/XYZ 0 692 0]/Prev 841 0 R/Next 843 0 R>>endobj
-843 0 obj<</Parent 840 0 R/Title(12.3. Handles and Races in the new SAM)/Dest[706 0 R/XYZ 0 551 0]/Prev 842 0 R/Next 844 0 R>>endobj
-844 0 obj<</Parent 840 0 R/Count -3/First 845 0 R/Last 847 0 R/Title(12.4. Layers)/Dest[706 0 R/XYZ 0 251 0]/Prev 843 0 R/Next 848 0 R>>endobj
-845 0 obj<</Parent 844 0 R/Title(12.4.1. Application)/Dest[706 0 R/XYZ 0 231 0]/Next 846 0 R>>endobj
-846 0 obj<</Parent 844 0 R/Title(12.4.2. SAM Interface)/Dest[708 0 R/XYZ 0 786 0]/Prev 845 0 R/Next 847 0 R>>endobj
-847 0 obj<</Parent 844 0 R/Title(12.4.3. SAM Modules)/Dest[708 0 R/XYZ 0 649 0]/Prev 846 0 R>>endobj
-848 0 obj<</Parent 840 0 R/Count -2/First 849 0 R/Last 850 0 R/Title(12.5. SAM Modules)/Dest[708 0 R/XYZ 0 537 0]/Prev 844 0 R/Next 851 0 R>>endobj
-849 0 obj<</Parent 848 0 R/Title(12.5.1. Special Module: sam_passdb)/Dest[708 0 R/XYZ 0 517 0]/Next 850 0 R>>endobj
-850 0 obj<</Parent 848 0 R/Title(12.5.2. sam_ads)/Dest[708 0 R/XYZ 0 419 0]/Prev 849 0 R>>endobj
-851 0 obj<</Parent 840 0 R/Title(12.6. Memory Management)/Dest[708 0 R/XYZ 0 281 0]/Prev 848 0 R/Next 852 0 R>>endobj
-852 0 obj<</Parent 840 0 R/Title(12.7. Testing)/Dest[710 0 R/XYZ 0 542 0]/Prev 851 0 R>>endobj
-853 0 obj<</Parent 726 0 R/Count -3/First 854 0 R/Last 856 0 R/Title(Chapter 13. LanMan and NT Password Encryption)/Dest[712 0 R/XYZ 0 786 0]/Prev 840 0 R/Next 857 0 R>>endobj
-854 0 obj<</Parent 853 0 R/Title(13.1. Introduction)/Dest[712 0 R/XYZ 0 762 0]/Next 855 0 R>>endobj
-855 0 obj<</Parent 853 0 R/Title(13.2. How does it work?)/Dest[712 0 R/XYZ 0 621 0]/Prev 854 0 R/Next 856 0 R>>endobj
-856 0 obj<</Parent 853 0 R/Title(13.3. >The smbpasswd file)/Dest[714 0 R/XYZ 0 771 0]/Prev 855 0 R>>endobj
-857 0 obj<</Parent 726 0 R/Count -3/First 858 0 R/Last 862 0 R/Title(Chapter 14. Modules)/Dest[718 0 R/XYZ 0 786 0]/Prev 853 0 R/Next 864 0 R>>endobj
-858 0 obj<</Parent 857 0 R/Title(14.1. Advantages)/Dest[718 0 R/XYZ 0 762 0]/Next 859 0 R>>endobj
-859 0 obj<</Parent 857 0 R/Count -2/First 860 0 R/Last 861 0 R/Title(14.2. Loading modules)/Dest[718 0 R/XYZ 0 594 0]/Prev 858 0 R/Next 862 0 R>>endobj
-860 0 obj<</Parent 859 0 R/Title(14.2.1. Static modules)/Dest[718 0 R/XYZ 0 455 0]/Next 861 0 R>>endobj
-861 0 obj<</Parent 859 0 R/Title(14.2.2. Shared modules)/Dest[718 0 R/XYZ 0 309 0]/Prev 860 0 R>>endobj
-862 0 obj<</Parent 857 0 R/Count -1/First 863 0 R/Last 863 0 R/Title(14.3. Writing modules)/Dest[720 0 R/XYZ 0 786 0]/Prev 859 0 R>>endobj
-863 0 obj<</Parent 862 0 R/Title(14.3.1. Static/Shared selection in configure.in)/Dest[720 0 R/XYZ 0 517 0]>>endobj
-864 0 obj<</Parent 726 0 R/Count -2/First 865 0 R/Last 866 0 R/Title(Chapter 15. RPC Pluggable Modules)/Dest[722 0 R/XYZ 0 786 0]/Prev 857 0 R/Next 867 0 R>>endobj
-865 0 obj<</Parent 864 0 R/Title(15.1. About)/Dest[722 0 R/XYZ 0 762 0]/Next 866 0 R>>endobj
-866 0 obj<</Parent 864 0 R/Title(15.2. General Overview)/Dest[722 0 R/XYZ 0 647 0]/Prev 865 0 R>>endobj
-867 0 obj<</Parent 726 0 R/Count -2/First 868 0 R/Last 869 0 R/Title(Chapter 16. Notes to packagers)/Dest[724 0 R/XYZ 0 786 0]/Prev 864 0 R>>endobj
-868 0 obj<</Parent 867 0 R/Title(16.1. Versioning)/Dest[724 0 R/XYZ 0 762 0]/Next 869 0 R>>endobj
-869 0 obj<</Parent 867 0 R/Title(16.2. Modules)/Dest[724 0 R/XYZ 0 637 0]/Prev 868 0 R>>endobj
-870 0 obj<</Type/Catalog/Pages 553 0 R/PageLayout/SinglePage/Outlines 726 0 R/OpenAction[564 0 R/XYZ null null 0]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</S/r>>5<</S/D/St 1/P()>>6<</S/D/St 2/P()>>10<</S/D/St 6/P()>>12<</S/D/St 8/P()>>14<</S/D/St 10/P()>>18<</S/D/St 14/P()>>20<</S/D/St 16/P()>>25<</S/D/St 21/P()>>28<</S/D/St 24/P()>>32<</S/D/St 28/P()>>34<</S/D/St 30/P()>>69<</S/D/St 65/P()>>74<</S/D/St 70/P()>>75<</S/D/St 71/P()>>79<</S/D/St 75/P()>>82<</S/D/St 78/P()>>84<</S/D/St 80/P()>>85<</S/D/St 81/P()>>]>>>>endobj
\12 \8b\90f\97·´QP­\b\9d!\9d²\92\90º\fÝRQÒ-\1cê®\93\13äµÑÞ*»¯oWªJ\8cmh%7/¢\ 5äu0\7fÙ\8b\8cÚ0%Æ\93ëi]ÖÁd\1a\8cÏÎh<üV50@¼\98Ñ\15ï8\15C;ú¥@\ f\92\1c½ÃÙÞ¤\8f\7f\7fâö§.<\9a\8c\82Éx\8a>\8dÝÉP.Íãß\8fþ\ 6ÅÖþ endstream
+endobj
+668 0 obj<</Type/Page/Parent 513 0 R/Contents 669 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+669 0 obj<</Filter/FlateDecode/Length 1654      >>stream
+x\ 1\95W]o\e7\10|÷¯Xø%\ e Ë\96¿ä<\15Í\87Û\0\8d\93Ö
+\92\ 2y¡î(\1dã;òBò¬øßwvÉ;Ig·@a\e\90O$wvvv\96÷ã`F§ø\99Ñü\8cί¨h\ eN§§tyþjzA\17×s|>Ã\9f×´:x½88¹yEg§´XaËÕü\9a\16%aù)\9e\14Go*ÕFíiv>¥?\94ý ,)[Òí\82\10\97ôÎ\16þ±\8dÆÙ\97\8bïrØl\9e\ e;>¿\98\9eá¸#ì\9eMé½\8dÞ\95]±]zA³Y^z6\9f^ñÒ/&V\14+M¥~еk\em#¹U\ e®ÖÀÂ\0¾\18[ºM` \85kZ\15ͲÖÔö\98ô\80\89VÎÓ\9dj\96jB&\92 dÝ\86\81\9eÒ1`        <Å{££\aU\9bREM]@\98ÂY«\ 5l cIÿTE¬\1f\ 5[P\8d¦\8dz$\15HíBC¬\1dd8åAûi\8evv\ 5ö\91á¢\ 2\88Ò\15\9d¤VêPx³Ô\81\91Ãï>¼~6\11\9d\a;\r\81ö{\ 4\ 6\r\9bJqN¡Ã~\90\86\8a\19©ÄN\82Eå\0v\8dõ\9a\97Ñ£ë\80\1fÌ"k$\vf¦ô7\9e\85Êuu        e¨\92Ù*pÚª«ëÇ     éÐêÂ(|\16\90­ò\91ÔÒu\91\82.:à\ 2\19\0\84ÓGä\1e~úëã\9d|÷æãíÝ!/g\ 1\b+¬¼]±\b?\\95\ e6J\87´\0\83óý%\89ë\19Å$Y\8a2vÊ\ e\8e\83\10\14Lcjå9ÙÏ·ï¿>Çî\94\16Ð\*\183Âu]\19È\ 2*\88ÊX\907ÊKQ¥B¥KVM§Y¢Jtó"\fçó¡À\81ß\ 2\8cF¬]\82=uÏ\95\0QÃò\1a\ 1¢þ\19\87\8d\13\9a\b9JÕL\9c0\81#\0\1aZ@)£ïl\ 1ýó\99\8ef\17\88\11\ 1\1fJlUY\8e\1fo¸½,J\9a\96e\84yWN\ 5xÁ@Éâ\8e\eG\97W´4q\14üí»;º×\8fXá(³\8eü_4jm\8a\17¤Íº\8a\12!\1d9á.l\18\8b¢\19\8e\ 3Â\1ckS\99¢b\86Bt>\13´-ÄÓ¤\8bÚÀ\10àE\1aÚer\13ûKM÷èk\98\93ô\ 1\1dæÚô\86p8nÂ\9d\17\rÊ
+ðàõG\aú¡êF\17\95²&4(\8a³Á\ 4¡\1aå.\9d$déÃÛ\vÑ\ 29ħÏÖ\14®\1cw\ 1| @õ,\93ÝÊg¿ÊePupÔ\8aG\8a\0{ª8\99\9chL\r\ f\13³Ç\1e\ e\89Sa^O²«4CIdÑ·£m\8bL\ 6\7fb_ü\82ÆúÍ»®\rÛç¯.Y;[~¾½¤\8d\81Ð¥Ô\8dë`\1aj$\ 6±W*½yÐ\b\86Ýl)*¹.¼$¸Î\17úÛK1à\95ñ!âá\ fXVä.ÛÚ¬\98\84Õk\17\r\9a%\15\12lDW¸\1a¬Áé\98º\94Ô\b\ 1[OnÞ\8d\81¸\ 1\80ç\8dlðºeÓrø\a\91å\9b\84;ï[k«½ÄåÃTÛj[²ÉÒµèuB\1eÏ]3
+\9cäw\9cÎÞÊ\18ó\82±î\ 5P+\1e¤ü8!âÕ<Ü8\1c>ïë\17\9a«km×ú09Óðÿ(>6\96\82óã$.)kⱯü\96Û±B\16\ 3\93\8cÈ2a\89ðQã \9e½
+%U\84Ë\ 3\v\1c\83\945\91\85î\15w¹Üñ\17øV\18!\8e\95×:\9b
+õ6\82ù¢à\ 3è\8eÁ\10Ä\82\85\89\eXÈEyê.gÉÿÒ\17£Èû\fC\97\19\ 4çeý|βá1\ \b\84\ f \87»7èص_A  Æ¨Pæ©æ[
+Ï´4\ 2¥¦5&\9c.Ñ7(\87 Î§D\94\1d*ÌÖ\11Àÿ:l"GõéõàY8\1e¨¼Ýzgîz\11ü¾\ 4§t³×Ú£ðC¯    \8e$\a©1óPt5\86\f\1c\8c\15ç,\ 6\9e¥¥Ã0\11Á`Þ<kl"nYÖ#FK=É{È o\9b\84ÖæA&\18ÆP\9fz\92á¸h¬ç½n\13U£Ñz7åB<If\ 2Ýóù\ 6NÄÓ#\ f¡ÔÔ9£^þ©1Æ\94õ\17ÎoGrgZy×H¡xÝÉ\r®àr¿=
+ÍRF\91Ìð\93\9bþ\16s\94î\18Ç;M\ 5\96µ\87\15D<½\11ì\r\80\88áÛ¢ás¸\11ªÁCy\98\14Ë\81%\8a\87Z4\92.p\85\84F\ 2\9aѤÚí1\9c®\7f©ì°\86FEìI\9aØ[7
+=\94\12GãæÖ\ 3Ì\864®Ú{ \8ca\91½E¢ô7mQ|òÑ,é{«Ó\15¹pÞ£É\86ûR\9a:L×~µ2gÇ\9cå\bèвÖá2²Ä«Æ&³\ e\81Ǫ\83Nk<ãkPQ ýÁÝ
+S\1771Q\96\94Fî"ðß\92¿\10\ 3O%\e£C-Gѹ\89´5ÛÓó÷½\aÝ2¨aäí       Û²ÃK0¹ä\89dS]\8aZãVÎ÷È\7fiÆcúÞaøîð4\82\95Í\7fpz\9eèe*"¿!üÊ÷\13ák\80\8dÙ_µØõ\9e«\824>   úQÔ\88É\1a\1a\13ù\82\8c\89\92LÓjÜ=ý=ñhE1\f^è´\92fí+'b:¹¹Þy\87¼JïsoþïKëÅüb:¿ºÆû/ÞÏæç\8cïÝâàÏ\83\7f\0o\99\11\1aendstream
+endobj
+670 0 obj<</Type/Page/Parent 513 0 R/Contents 671 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 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+671 0 obj<</Filter/FlateDecode/Length 1549      >>stream
+x\ 1µWÛnÛF\10}÷W\f\82\ 2\96\ 1\89ºX\96\b 4uaÀIÚZi\ÄyX\93+ik\92«ì.­\10èÇ÷Ì.II´\r'\ fu\10Àæ^æÌ\993\97ýz0¤\ 1þ\ri:¢ã        ÅÙÁ \1aÐäô,\1aÓøt\8aßGøo$-\ eÞÌ\ fú\17g4\9cÒ|\81#\93ÉItJó\84p`0 yÜ\19\1eGÇÑÑü\9f\83\ eÍW\92lv·\16Ön\12Z¨Tò÷þÅ\98\86Ãp¼7\9aF\13\1cï\æ¤M"\r-´¡k\91Ý        r\9aÖÂ8\15«µp\92TN\ e÷\89;ý im´Ó±NI9Ê
+ëè\8eWRÉ\87R­ï©XûÝà       Ý\95\12v%\13z\10i!-\83\18P\ f@Glz©\1edN\82
+\vó¹ÈdD\1fsÀpE\ e»iÙ%aýe\1fß_Þ\0\12\9c\ 1Ôp\17)K"µ\1aÇu.i#Jo\8a\16E\1e;¥sºí(Ü\a\94ªmVekm­ª@\eé\8c\92ð\8c}\8cS      Çå7Gzá?0´C»µ\1d óV\8f\89½ã­ÊÝ\1e\ 1-Y     â\98³\ 6lÍý\8eÛ±Î\9dP¹Ê\970\ 17jª<G\r©÷rí"\9akÊ°5SÖS\ fÌ\99¥\8dr+F\87onñª\88a[¶KKé\1c\v×"\1cHm\99Ç]ï\9aw È\ 2\ 2ô²èô¥\8bûþ¾d_0\1d\12\8fµN4*kïg0LIáTª\Ù\rë'µ%Êî\9b£\91]µNw9¼\90Ú\83\1e§yy\87Á¥Ì¥§\19\8cï©\9c\16Fg0ú\83¾1V\9f9°1\9a õ N0ß\98áx?e¨Ô\85¡\0ý{(d3,vÏãB§©Þp\9cb\9deÌîùþM;X~
++Ã\8a¼³èø\ 4\15\0 cáh'fôo\8bVzMýÂ\9a~ªc\91ö-gw\7f\ 3$Úo\1c
+\97×¥¡çooh¸\\10¼$\81\12d\8aÜ\8b\16É\ 5ÞKëd\ 6O\80\0.Yz\7fyÝåß~Ü\89rÍn\ 4Õý\ f\1eÌW\15¦ïÔ\1eëniDÆ\12\ 2\81©
+`(\8e\161\8f%%ÊÈØiSFô¦¤D.D\91º\90X\r±¾ð>®?\16Ç jÜú|Ä\7f4j;b\81¿¤7H\90º\86íG¤óìÕû:èl]$»ÒE\9ap©·Òq¥7ZÃÙº$¬¥A\81²¨º\16Å\98¯ÙÉUTàGÇ\a'èX·\9d`°     K¼ÊtB¼ô\1cÄ\16ÂÛ£vÒ^©{¹A­|:\10¹E9ñÉWåÀ\93.2wðµôN>ãã\13AmS4\98<ï#/5*yÑ)\ e(ºb\86$©ºRs¶V\18Èä]©B+DOB¤ÐX7F¬×pe%\r:áe\13\aþ*\f÷Vî\9c2w¦$\840\9cVíøù\1a·o0º=
\atVO\13ãP5¹_r'?/Tr~óÂÏË\eØ\fkiàG\9d\ eU?\9fgq\8cÌ\84\14˵ür~õ˼÷s*¬ëÅ+\91/eÏ©L¾>¿Ò(®\ff\9faÜw<     ÷ÍR\87°-ÑÂó´Üén£ºKÕîìßÐéVE\7f»Oµûå£-ô\ 2\197\8fl|\ e_\1a#»N·6\7fá¿w\92\8e3³u\9aÚ\ 4µ®@jûÁ       c\15j½UË\-T,@2_Æßx¼\83\9c Ã½\82\18ëäQó\84ØÂØÕ¿\98Ô\Ò_\97óÙÕÕßm»<\8e\19Ç\86|3q,WN¿ã\11\1dÞ\1c\12BjDì¤aU»\r\v\e[üàsx¾·\¡\ 2Ï[_z-bøèVÌìY¨êì\ 4æª4¥\85P)\978Lc*áQNä¥O\12\85\11&\9a\90g\18\1a\ 1ò \80\0Ö²»Ý\84\99\8eóY\19ÌÎ;PC·1Þ·+\91c ØÎu<eV\15MbxDëàÎ\14ö~Ry¢7h¿ó\96Å\a0\86\8aÜ®\90\9fV\15\81{S#ß\18\e    w\11_\90Àº·ÁÃf\1f\17
\0\b¬²aÂ\<\8eÒn?lAòÓn¢,,0d&Vı´ø\95©\ 5\ 6\e\91ÇX=\v¸\9a\89-\15è?\81\89\964BâsÜ\10\11ac¥Z¶Wò\9bHd¬2\91¢ê/\95³¨\99\83ÞY\97\v4\12\8e
+&3Ö9¨÷7àÙµ6ø\88iÝ¿(ªâ[\8fë\1c\15Ð\15¦v¬\ 5À\87í×FÍ_;\10\98\99Vn\ 2¸×S¾3ÎßvXf\1830\1fÊ\1c\830¿1d\82\86Ê*®\86I\1e \1fTèÅÀ\9b
+Ì&a\99\ 5\86±~«¼\16#õ+¢rÖ¿zxKÿ¢\99e_½ÿ@¿Ï®¯?}øóí«°V\8f\89\1dÐ\87\97I\11\1eh_\ví¤­úqÿâ´Êùáô4\9a\9c\9dá=ëGêëÙ»73z\8bÇVªÑp,ý\86.á«s¯ÞÙ\9b\ eÐR\92ð\96\19;\9e\8e£éä4LÀÓ1ãúu~ðÇÁ\7ft\85ºïendstream
+endobj
+672 0 obj<</Type/Page/Parent 513 0 R/Contents 673 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+673 0 obj<</Filter/FlateDecode/Length 816       >>stream
+x\ 1m\95[oÛH\f\85ßý+ÎÛ*\80­È\8ek;\ 6ú\90ô²(°½ìÆ\8b-P÷a$Ñ\96\9aÑ0«\91ìêß/9ò%õF~14\ 3òðã!õï`\8cD~cÌ'¸\99\ 6÷«Áõû)Æc¬6r2[̱Ê\91ÄI\92`\95Eï¹\ 6ý4Õ\93¥!\1aFfÉÔh
\93ñ~Ïu\8e\8d\i=ÕH9\1d¢(=|\95\86S9+-\81\SwØsksXæGØò\91°¼Zý\90Ô  nûÌ£É4\9e\b\87GÂ-ÇI²üô\19\1e\1eþùü×Û¯/=Ë\97^>\7f·üö÷1&ð}ùÇ\9bÕHª\vÏò\9eÓß<6­µp¦¢åµd-øðÇ\17dm/óLht3\8b\17ªóÃ\ 6\1d·05ÁXËûÒm\ 3\a¯\9c\ 4H tF\91qU\19\97롧F\ fË\1a¼w'\90~\18âUFX\19'7\18ÛrG\9a?Áh|\13O4«\92öxÆ\ 4¥+\9bR\14tð¬a;ä\fÇ\r
\13\11¬ü¥;\ 6O5íJný)#ö\ 59d\85q[\15/W{U\8eö\17YOÍ^G\1a¹&­\86\Nùú*Æ\a\a1\82äP+(\13\89\14\90H<±\83\ 4í!¾:Ø,:;äWº\91hämm*T­o\90
+ÙT\f$á2v\8e²æBV¯ø\85àùeÜÜPÅ\ e\98¦÷ë¾l
+\ 1\11ã\9dëó©ê´\83ÉóÀEÜnKw²ì±\féÊdÖ{Ö©\81\8e\90<^£#ÿ«\84g\97{Õø¶µ\9c\1aû]ì\90\88ã\8d¢R6±\94»é\87g\1d\ 5\86"h_táܤ,}õ\199S\97\f9y¡%_jÚP-ÕtÃ\v\98Ì4¤\8dê\a×\8b7rÚ\98Ö6§\1a\94yJb\v(¥¡ZK\eû?g\9dyI\ 1!¢øsGuÜW?;-\96\13ªO,¹\ fÃ\7f\9cª\b+E\1e\85/¢\90Þ\8b\17\1aAC9$`\87L&M\aµ\8bqç:\96~\84\ 6\9a,#\1ff.\80
+12ã°\8eÂ19n·Å\ 5\83GÇ{Kù\96\8eÌ5\15glýú
+[#U\9f£\86¢\1e>ÞK\9bBa"\95z¥¢¸)d\9c*\96\15àÉy\99C\9d8\99'!긮LØ\1eϧ×\95?Ñ£\91-\1cvntMMvÝïËþäLE\8b9\90\\1c®\8fç\8bxv{\8bÉt\1cÏt!<Ü}¼¿Ã[Ú\91å'Ý\r¿·e\1e\ 6nt¼;\9a'²dóHvÈM\1cô\9f×\92¦Ð´Óù4\9eÏ\16ò     \90\8bóWúêÝjðçà?}\98ò£endstream
+endobj
+674 0 obj<</Count 16/First 675 0 R/Last 801 0 R>>endobj
+675 0 obj<</Parent 674 0 R/Title(Table of Contents)/Dest[516 0 R/XYZ 0 756 0]/Next 676 0 R>>endobj
+676 0 obj<</Parent 674 0 R/Count -1/First 677 0 R/Last 677 0 R/Title(SAMBA Developers Guide)/Dest[524 0 R/XYZ 0 786 0]/Prev 675 0 R/Next 678 0 R>>endobj
+677 0 obj<</Parent 676 0 R/Title(SAMBA Team)/Dest[524 0 R/XYZ 0 762 0]>>endobj
+678 0 obj<</Parent 674 0 R/Title(Abstract)/Dest[526 0 R/XYZ 0 786 0]/Prev 676 0 R/Next 679 0 R>>endobj
+679 0 obj<</Parent 674 0 R/Count -3/First 680 0 R/Last 682 0 R/Title(Chapter 1. Definition of NetBIOS Protocol and Name Resolution Modes)/Dest[532 0 R/XYZ 0 786 0]/Prev 678 0 R/Next 683 0 R>>endobj
+680 0 obj<</Parent 679 0 R/Title(1.1. NETBIOS)/Dest[532 0 R/XYZ 0 738 0]/Next 681 0 R>>endobj
+681 0 obj<</Parent 679 0 R/Title(1.2. BROADCAST NetBIOS)/Dest[532 0 R/XYZ 0 254 0]/Prev 680 0 R/Next 682 0 R>>endobj
+682 0 obj<</Parent 679 0 R/Title(1.3. NBNS NetBIOS)/Dest[534 0 R/XYZ 0 758 0]/Prev 681 0 R>>endobj
+683 0 obj<</Parent 674 0 R/Count -5/First 684 0 R/Last 688 0 R/Title(Chapter 2. Samba Architecture)/Dest[536 0 R/XYZ 0 786 0]/Prev 679 0 R/Next 689 0 R>>endobj
+684 0 obj<</Parent 683 0 R/Title(2.1. Introduction)/Dest[536 0 R/XYZ 0 762 0]/Next 685 0 R>>endobj
+685 0 obj<</Parent 683 0 R/Title(2.2. Multithreading and Samba)/Dest[536 0 R/XYZ 0 581 0]/Prev 684 0 R/Next 686 0 R>>endobj
+686 0 obj<</Parent 683 0 R/Title(2.3. Threading smbd)/Dest[536 0 R/XYZ 0 387 0]/Prev 685 0 R/Next 687 0 R>>endobj
+687 0 obj<</Parent 683 0 R/Title(2.4. Threading nmbd)/Dest[538 0 R/XYZ 0 786 0]/Prev 686 0 R/Next 688 0 R>>endobj
+688 0 obj<</Parent 683 0 R/Title(2.5. nbmd Design)/Dest[538 0 R/XYZ 0 487 0]/Prev 687 0 R>>endobj
+689 0 obj<</Parent 674 0 R/Count -5/First 690 0 R/Last 694 0 R/Title(Chapter 3. The samba DEBUG system)/Dest[540 0 R/XYZ 0 786 0]/Prev 683 0 R/Next 698 0 R>>endobj
+690 0 obj<</Parent 689 0 R/Title(3.1. New Output Syntax)/Dest[540 0 R/XYZ 0 762 0]/Next 691 0 R>>endobj
+691 0 obj<</Parent 689 0 R/Title(3.2. The DEBUG\(\) Macro)/Dest[542 0 R/XYZ 0 786 0]/Prev 690 0 R/Next 692 0 R>>endobj
+692 0 obj<</Parent 689 0 R/Title(3.3. The DEBUGADD\(\) Macro)/Dest[544 0 R/XYZ 0 786 0]/Prev 691 0 R/Next 693 0 R>>endobj
+693 0 obj<</Parent 689 0 R/Title(3.4. The DEBUGLVL\(\) Macro)/Dest[544 0 R/XYZ 0 567 0]/Prev 692 0 R/Next 694 0 R>>endobj
+694 0 obj<</Parent 689 0 R/Count -3/First 695 0 R/Last 697 0 R/Title(3.5. New Functions)/Dest[546 0 R/XYZ 0 786 0]/Prev 693 0 R>>endobj
+695 0 obj<</Parent 694 0 R/Title(3.5.1. dbgtext\(\))/Dest[546 0 R/XYZ 0 766 0]/Next 696 0 R>>endobj
+696 0 obj<</Parent 694 0 R/Title(3.5.2. dbghdr\(\))/Dest[546 0 R/XYZ 0 655 0]/Prev 695 0 R/Next 697 0 R>>endobj
+697 0 obj<</Parent 694 0 R/Title(3.5.3. format_debug_text\(\))/Dest[546 0 R/XYZ 0 543 0]/Prev 696 0 R>>endobj
+698 0 obj<</Parent 674 0 R/Title(Chapter 4. Coding Suggestions)/Dest[548 0 R/XYZ 0 786 0]/Prev 689 0 R/Next 699 0 R>>endobj
+699 0 obj<</Parent 674 0 R/Count -5/First 700 0 R/Last 721 0 R/Title(Chapter 5. Samba Internals)/Dest[552 0 R/XYZ 0 786 0]/Prev 698 0 R/Next 722 0 R>>endobj
+700 0 obj<</Parent 699 0 R/Title(5.1. Character Handling)/Dest[552 0 R/XYZ 0 762 0]/Next 701 0 R>>endobj
+701 0 obj<</Parent 699 0 R/Title(5.2. The new functions)/Dest[552 0 R/XYZ 0 621 0]/Prev 700 0 R/Next 702 0 R>>endobj
+702 0 obj<</Parent 699 0 R/Count -15/First 703 0 R/Last 717 0 R/Title(5.3. Macros in byteorder.h)/Dest[554 0 R/XYZ 0 758 0]/Prev 701 0 R/Next 718 0 R>>endobj
+703 0 obj<</Parent 702 0 R/Title(5.3.1. CVAL\(buf,pos\))/Dest[554 0 R/XYZ 0 683 0]/Next 704 0 R>>endobj
+704 0 obj<</Parent 702 0 R/Title(5.3.2. PVAL\(buf,pos\))/Dest[554 0 R/XYZ 0 624 0]/Prev 703 0 R/Next 705 0 R>>endobj
+705 0 obj<</Parent 702 0 R/Title(5.3.3. SCVAL\(buf,pos,val\))/Dest[554 0 R/XYZ 0 566 0]/Prev 704 0 R/Next 706 0 R>>endobj
+706 0 obj<</Parent 702 0 R/Title(5.3.4. SVAL\(buf,pos\))/Dest[554 0 R/XYZ 0 507 0]/Prev 705 0 R/Next 707 0 R>>endobj
+707 0 obj<</Parent 702 0 R/Title(5.3.5. IVAL\(buf,pos\))/Dest[554 0 R/XYZ 0 436 0]/Prev 706 0 R/Next 708 0 R>>endobj
+708 0 obj<</Parent 702 0 R/Title(5.3.6. SVALS\(buf,pos\))/Dest[554 0 R/XYZ 0 377 0]/Prev 707 0 R/Next 709 0 R>>endobj
+709 0 obj<</Parent 702 0 R/Title(5.3.7. IVALS\(buf,pos\))/Dest[554 0 R/XYZ 0 319 0]/Prev 708 0 R/Next 710 0 R>>endobj
+710 0 obj<</Parent 702 0 R/Title(5.3.8. SSVAL\(buf,pos,val\))/Dest[554 0 R/XYZ 0 261 0]/Prev 709 0 R/Next 711 0 R>>endobj
+711 0 obj<</Parent 702 0 R/Title(5.3.9. SIVAL\(buf,pos,val\))/Dest[554 0 R/XYZ 0 202 0]/Prev 710 0 R/Next 712 0 R>>endobj
+712 0 obj<</Parent 702 0 R/Title(5.3.10. SSVALS\(buf,pos,val\))/Dest[556 0 R/XYZ 0 786 0]/Prev 711 0 R/Next 713 0 R>>endobj
+713 0 obj<</Parent 702 0 R/Title(5.3.11. SIVALS\(buf,pos,val\))/Dest[556 0 R/XYZ 0 728 0]/Prev 712 0 R/Next 714 0 R>>endobj
+714 0 obj<</Parent 702 0 R/Title(5.3.12. RSVAL\(buf,pos\))/Dest[556 0 R/XYZ 0 669 0]/Prev 713 0 R/Next 715 0 R>>endobj
+715 0 obj<</Parent 702 0 R/Title(5.3.13. RIVAL\(buf,pos\))/Dest[556 0 R/XYZ 0 611 0]/Prev 714 0 R/Next 716 0 R>>endobj
+716 0 obj<</Parent 702 0 R/Title(5.3.14. RSSVAL\(buf,pos,val\))/Dest[556 0 R/XYZ 0 553 0]/Prev 715 0 R/Next 717 0 R>>endobj
+717 0 obj<</Parent 702 0 R/Title(5.3.15. RSIVAL\(buf,pos,val\))/Dest[556 0 R/XYZ 0 481 0]/Prev 716 0 R>>endobj
+718 0 obj<</Parent 699 0 R/Count -2/First 719 0 R/Last 720 0 R/Title(5.4. LAN Manager Samba API)/Dest[556 0 R/XYZ 0 423 0]/Prev 702 0 R/Next 721 0 R>>endobj
+719 0 obj<</Parent 718 0 R/Title(5.4.1. Parameters)/Dest[556 0 R/XYZ 0 273 0]/Next 720 0 R>>endobj
+720 0 obj<</Parent 718 0 R/Title(5.4.2. Return value)/Dest[558 0 R/XYZ 0 494 0]/Prev 719 0 R>>endobj
+721 0 obj<</Parent 699 0 R/Title(5.5. Code character table)/Dest[560 0 R/XYZ 0 786 0]/Prev 718 0 R>>endobj
+722 0 obj<</Parent 674 0 R/Count -2/First 723 0 R/Last 727 0 R/Title(Chapter 6. The smb.conf file)/Dest[562 0 R/XYZ 0 786 0]/Prev 699 0 R/Next 729 0 R>>endobj
+723 0 obj<</Parent 722 0 R/Count -3/First 724 0 R/Last 726 0 R/Title(6.1. Lexical Analysis)/Dest[562 0 R/XYZ 0 762 0]/Next 727 0 R>>endobj
+724 0 obj<</Parent 723 0 R/Title(6.1.1. Handling of Whitespace)/Dest[562 0 R/XYZ 0 476 0]/Next 725 0 R>>endobj
+725 0 obj<</Parent 723 0 R/Title(6.1.2. Handling of Line Continuation)/Dest[562 0 R/XYZ 0 312 0]/Prev 724 0 R/Next 726 0 R>>endobj
+726 0 obj<</Parent 723 0 R/Title(6.1.3. Line Continuation Quirks)/Dest[564 0 R/XYZ 0 705 0]/Prev 725 0 R>>endobj
+727 0 obj<</Parent 722 0 R/Count -1/First 728 0 R/Last 728 0 R/Title(6.2. Syntax)/Dest[564 0 R/XYZ 0 293 0]/Prev 723 0 R>>endobj
+728 0 obj<</Parent 727 0 R/Title(6.2.1. About params.c)/Dest[566 0 R/XYZ 0 718 0]>>endobj
+729 0 obj<</Parent 674 0 R/Count -9/First 730 0 R/Last 738 0 R/Title(Chapter 7. NetBIOS in a Unix World)/Dest[568 0 R/XYZ 0 786 0]/Prev 722 0 R/Next 739 0 R>>endobj
+730 0 obj<</Parent 729 0 R/Title(7.1. Introduction)/Dest[568 0 R/XYZ 0 762 0]/Next 731 0 R>>endobj
+731 0 obj<</Parent 729 0 R/Title(7.2. Usernames)/Dest[568 0 R/XYZ 0 647 0]/Prev 730 0 R/Next 732 0 R>>endobj
+732 0 obj<</Parent 729 0 R/Title(7.3. File Ownership)/Dest[568 0 R/XYZ 0 269 0]/Prev 731 0 R/Next 733 0 R>>endobj
+733 0 obj<</Parent 729 0 R/Title(7.4. Passwords)/Dest[570 0 R/XYZ 0 745 0]/Prev 732 0 R/Next 734 0 R>>endobj
+734 0 obj<</Parent 729 0 R/Title(7.5. Locking)/Dest[570 0 R/XYZ 0 511 0]/Prev 733 0 R/Next 735 0 R>>endobj
+735 0 obj<</Parent 729 0 R/Title(7.6. Deny Modes)/Dest[572 0 R/XYZ 0 786 0]/Prev 734 0 R/Next 736 0 R>>endobj
+736 0 obj<</Parent 729 0 R/Title(7.7. Trapdoor UIDs)/Dest[572 0 R/XYZ 0 619 0]/Prev 735 0 R/Next 737 0 R>>endobj
+737 0 obj<</Parent 729 0 R/Title(7.8. Port numbers)/Dest[572 0 R/XYZ 0 491 0]/Prev 736 0 R/Next 738 0 R>>endobj
+738 0 obj<</Parent 729 0 R/Title(7.9. Protocol Complexity)/Dest[572 0 R/XYZ 0 231 0]/Prev 737 0 R>>endobj
+739 0 obj<</Parent 674 0 R/Title(Chapter 8. Tracing samba system calls)/Dest[576 0 R/XYZ 0 786 0]/Prev 729 0 R/Next 740 0 R>>endobj
+740 0 obj<</Parent 674 0 R/Count -8/First 741 0 R/Last 777 0 R/Title(Chapter 9. NT Domain RPC's)/Dest[580 0 R/XYZ 0 786 0]/Prev 739 0 R/Next 780 0 R>>endobj
+741 0 obj<</Parent 740 0 R/Count -2/First 742 0 R/Last 743 0 R/Title(9.1. Introduction)/Dest[580 0 R/XYZ 0 762 0]/Next 744 0 R>>endobj
+742 0 obj<</Parent 741 0 R/Title(9.1.1. Sources)/Dest[582 0 R/XYZ 0 679 0]/Next 743 0 R>>endobj
+743 0 obj<</Parent 741 0 R/Title(9.1.2. Credits)/Dest[582 0 R/XYZ 0 569 0]/Prev 742 0 R>>endobj
+744 0 obj<</Parent 740 0 R/Count -3/First 745 0 R/Last 747 0 R/Title(9.2. Notes and Structures)/Dest[582 0 R/XYZ 0 447 0]/Prev 741 0 R/Next 748 0 R>>endobj
+745 0 obj<</Parent 744 0 R/Title(9.2.1. Notes)/Dest[582 0 R/XYZ 0 426 0]/Next 746 0 R>>endobj
+746 0 obj<</Parent 744 0 R/Title(9.2.2. Enumerations)/Dest[584 0 R/XYZ 0 771 0]/Prev 745 0 R/Next 747 0 R>>endobj
+747 0 obj<</Parent 744 0 R/Title(9.2.3. Structures)/Dest[584 0 R/XYZ 0 288 0]/Prev 746 0 R>>endobj
+748 0 obj<</Parent 740 0 R/Count -12/First 749 0 R/Last 760 0 R/Title(9.3. MSRPC over Transact Named Pipe)/Dest[604 0 R/XYZ 0 481 0]/Prev 744 0 R/Next 761 0 R>>endobj
+749 0 obj<</Parent 748 0 R/Title(9.3.1. MSRPC Pipes)/Dest[604 0 R/XYZ 0 419 0]/Next 750 0 R>>endobj
+750 0 obj<</Parent 748 0 R/Title(9.3.2. Header)/Dest[606 0 R/XYZ 0 620 0]/Prev 749 0 R/Next 751 0 R>>endobj
+751 0 obj<</Parent 748 0 R/Title(9.3.3. Tail)/Dest[614 0 R/XYZ 0 584 0]/Prev 750 0 R/Next 752 0 R>>endobj
+752 0 obj<</Parent 748 0 R/Title(9.3.4. RPC Bind / Bind Ack)/Dest[614 0 R/XYZ 0 460 0]/Prev 751 0 R/Next 753 0 R>>endobj
+753 0 obj<</Parent 748 0 R/Title(9.3.5. NTLSA Transact Named Pipe)/Dest[616 0 R/XYZ 0 601 0]/Prev 752 0 R/Next 754 0 R>>endobj
+754 0 obj<</Parent 748 0 R/Title(9.3.6. LSA Open Policy)/Dest[616 0 R/XYZ 0 193 0]/Prev 753 0 R/Next 755 0 R>>endobj
+755 0 obj<</Parent 748 0 R/Title(9.3.7. LSA Query Info Policy)/Dest[618 0 R/XYZ 0 545 0]/Prev 754 0 R/Next 756 0 R>>endobj
+756 0 obj<</Parent 748 0 R/Title(9.3.8. LSA Enumerate Trusted Domains)/Dest[618 0 R/XYZ 0 198 0]/Prev 755 0 R/Next 757 0 R>>endobj
+757 0 obj<</Parent 748 0 R/Title(9.3.9. LSA Open Secret)/Dest[620 0 R/XYZ 0 639 0]/Prev 756 0 R/Next 758 0 R>>endobj
+758 0 obj<</Parent 748 0 R/Title(9.3.10. LSA Close)/Dest[620 0 R/XYZ 0 354 0]/Prev 757 0 R/Next 759 0 R>>endobj
+759 0 obj<</Parent 748 0 R/Title(9.3.11. LSA Lookup SIDS)/Dest[622 0 R/XYZ 0 786 0]/Prev 758 0 R/Next 760 0 R>>endobj
+760 0 obj<</Parent 748 0 R/Title(9.3.12. LSA Lookup Names)/Dest[622 0 R/XYZ 0 301 0]/Prev 759 0 R>>endobj
+761 0 obj<</Parent 740 0 R/Count -5/First 762 0 R/Last 766 0 R/Title(9.4. NETLOGON rpc Transact Named Pipe)/Dest[624 0 R/XYZ 0 465 0]/Prev 748 0 R/Next 767 0 R>>endobj
+762 0 obj<</Parent 761 0 R/Title(9.4.1. LSA Request Challenge)/Dest[626 0 R/XYZ 0 718 0]/Next 763 0 R>>endobj
+763 0 obj<</Parent 761 0 R/Title(9.4.2. LSA Authenticate 2)/Dest[626 0 R/XYZ 0 326 0]/Prev 762 0 R/Next 764 0 R>>endobj
+764 0 obj<</Parent 761 0 R/Title(9.4.3. LSA Server Password Set)/Dest[628 0 R/XYZ 0 584 0]/Prev 763 0 R/Next 765 0 R>>endobj
+765 0 obj<</Parent 761 0 R/Title(9.4.4. LSA SAM Logon)/Dest[628 0 R/XYZ 0 218 0]/Prev 764 0 R/Next 766 0 R>>endobj
+766 0 obj<</Parent 761 0 R/Title(9.4.5. LSA SAM Logoff)/Dest[630 0 R/XYZ 0 406 0]/Prev 765 0 R>>endobj
+767 0 obj<</Parent 740 0 R/Count -2/First 768 0 R/Last 769 0 R/Title(9.5. \\\\MAILSLOT\\NET\\NTLOGON)/Dest[632 0 R/XYZ 0 786 0]/Prev 761 0 R/Next 770 0 R>>endobj
+768 0 obj<</Parent 767 0 R/Title(9.5.1. Query for PDC)/Dest[632 0 R/XYZ 0 711 0]/Next 769 0 R>>endobj
+769 0 obj<</Parent 767 0 R/Title(9.5.2. SAM Logon)/Dest[634 0 R/XYZ 0 786 0]/Prev 768 0 R>>endobj
+770 0 obj<</Parent 740 0 R/Count -2/First 771 0 R/Last 772 0 R/Title(9.6. SRVSVC Transact Named Pipe)/Dest[636 0 R/XYZ 0 758 0]/Prev 767 0 R/Next 773 0 R>>endobj
+771 0 obj<</Parent 770 0 R/Title(9.6.1. Net Share Enum)/Dest[636 0 R/XYZ 0 630 0]/Next 772 0 R>>endobj
+772 0 obj<</Parent 770 0 R/Title(9.6.2. Net Server Get Info)/Dest[638 0 R/XYZ 0 786 0]/Prev 771 0 R>>endobj
+773 0 obj<</Parent 740 0 R/Count -3/First 774 0 R/Last 776 0 R/Title(9.7. Cryptographic side of NT Domain Authentication)/Dest[638 0 R/XYZ 0 486 0]/Prev 770 0 R/Next 777 0 R>>endobj
+774 0 obj<</Parent 773 0 R/Title(9.7.1. Definitions)/Dest[638 0 R/XYZ 0 466 0]/Next 775 0 R>>endobj
+775 0 obj<</Parent 773 0 R/Title(9.7.2. Protocol)/Dest[640 0 R/XYZ 0 786 0]/Prev 774 0 R/Next 776 0 R>>endobj
+776 0 obj<</Parent 773 0 R/Title(9.7.3. Comments)/Dest[640 0 R/XYZ 0 437 0]/Prev 775 0 R>>endobj
+777 0 obj<</Parent 740 0 R/Count -2/First 778 0 R/Last 779 0 R/Title(9.8. SIDs and RIDs)/Dest[640 0 R/XYZ 0 181 0]/Prev 773 0 R>>endobj
+778 0 obj<</Parent 777 0 R/Title(9.8.1. Well-known SIDs)/Dest[642 0 R/XYZ 0 686 0]/Next 779 0 R>>endobj
+779 0 obj<</Parent 777 0 R/Title(9.8.2. Well-known RIDS)/Dest[644 0 R/XYZ 0 718 0]/Prev 778 0 R>>endobj
+780 0 obj<</Parent 674 0 R/Count -5/First 781 0 R/Last 785 0 R/Title(Chapter 10. Samba Printing Internals)/Dest[648 0 R/XYZ 0 786 0]/Prev 740 0 R/Next 786 0 R>>endobj
+781 0 obj<</Parent 780 0 R/Title(10.1. Abstract)/Dest[648 0 R/XYZ 0 762 0]/Next 782 0 R>>endobj
+782 0 obj<</Parent 780 0 R/Title(10.2. Printing Interface to Various Back ends)/Dest[648 0 R/XYZ 0 674 0]/Prev 781 0 R/Next 783 0 R>>endobj
+783 0 obj<</Parent 780 0 R/Title(10.3. Print Queue TDB's)/Dest[648 0 R/XYZ 0 414 0]/Prev 782 0 R/Next 784 0 R>>endobj
+784 0 obj<</Parent 780 0 R/Title(10.4. ChangeID & Client Caching of Printer Information)/Dest[652 0 R/XYZ 0 745 0]/Prev 783 0 R/Next 785 0 R>>endobj
+785 0 obj<</Parent 780 0 R/Title(10.5. Windows NT/2K Printer Change Notify)/Dest[652 0 R/XYZ 0 683 0]/Prev 784 0 R>>endobj
+786 0 obj<</Parent 674 0 R/Count -1/First 787 0 R/Last 787 0 R/Title(Chapter 11. Samba WINS Internals)/Dest[658 0 R/XYZ 0 786 0]/Prev 780 0 R/Next 788 0 R>>endobj
+787 0 obj<</Parent 786 0 R/Title(11.1. WINS Failover)/Dest[658 0 R/XYZ 0 762 0]>>endobj
+788 0 obj<</Parent 674 0 R/Count -7/First 789 0 R/Last 800 0 R/Title(Chapter 12. The Upcoming SAM System)/Dest[660 0 R/XYZ 0 786 0]/Prev 786 0 R/Next 801 0 R>>endobj
+789 0 obj<</Parent 788 0 R/Title(12.1. Security in the 'new SAM')/Dest[660 0 R/XYZ 0 762 0]/Next 790 0 R>>endobj
+790 0 obj<</Parent 788 0 R/Title(12.2. Standalone from UNIX)/Dest[662 0 R/XYZ 0 692 0]/Prev 789 0 R/Next 791 0 R>>endobj
+791 0 obj<</Parent 788 0 R/Title(12.3. Handles and Races in the new SAM)/Dest[662 0 R/XYZ 0 551 0]/Prev 790 0 R/Next 792 0 R>>endobj
+792 0 obj<</Parent 788 0 R/Count -3/First 793 0 R/Last 795 0 R/Title(12.4. Layers)/Dest[662 0 R/XYZ 0 251 0]/Prev 791 0 R/Next 796 0 R>>endobj
+793 0 obj<</Parent 792 0 R/Title(12.4.1. Application)/Dest[662 0 R/XYZ 0 231 0]/Next 794 0 R>>endobj
+794 0 obj<</Parent 792 0 R/Title(12.4.2. SAM Interface)/Dest[664 0 R/XYZ 0 786 0]/Prev 793 0 R/Next 795 0 R>>endobj
+795 0 obj<</Parent 792 0 R/Title(12.4.3. SAM Modules)/Dest[664 0 R/XYZ 0 649 0]/Prev 794 0 R>>endobj
+796 0 obj<</Parent 788 0 R/Count -2/First 797 0 R/Last 798 0 R/Title(12.5. SAM Modules)/Dest[664 0 R/XYZ 0 537 0]/Prev 792 0 R/Next 799 0 R>>endobj
+797 0 obj<</Parent 796 0 R/Title(12.5.1. Special Module: sam_passdb)/Dest[664 0 R/XYZ 0 517 0]/Next 798 0 R>>endobj
+798 0 obj<</Parent 796 0 R/Title(12.5.2. sam_ads)/Dest[664 0 R/XYZ 0 419 0]/Prev 797 0 R>>endobj
+799 0 obj<</Parent 788 0 R/Title(12.6. Memory Management)/Dest[664 0 R/XYZ 0 281 0]/Prev 796 0 R/Next 800 0 R>>endobj
+800 0 obj<</Parent 788 0 R/Title(12.7. Testing)/Dest[666 0 R/XYZ 0 542 0]/Prev 799 0 R>>endobj
+801 0 obj<</Parent 674 0 R/Count -3/First 802 0 R/Last 804 0 R/Title(Chapter 13. LanMan and NT Password Encryption)/Dest[668 0 R/XYZ 0 786 0]/Prev 788 0 R>>endobj
+802 0 obj<</Parent 801 0 R/Title(13.1. Introduction)/Dest[668 0 R/XYZ 0 762 0]/Next 803 0 R>>endobj
+803 0 obj<</Parent 801 0 R/Title(13.2. How does it work?)/Dest[668 0 R/XYZ 0 621 0]/Prev 802 0 R/Next 804 0 R>>endobj
+804 0 obj<</Parent 801 0 R/Title(13.3. The smbpasswd file)/Dest[670 0 R/XYZ 0 771 0]/Prev 803 0 R>>endobj
+805 0 obj<</Type/Catalog/Pages 513 0 R/PageLayout/SinglePage/Outlines 674 0 R/OpenAction[524 0 R/XYZ null null 0]/PageMode/UseOutlines/PageLabels<</Nums[0<</P(title)>>1<</S/r>>5<</S/D/St 1/P()>>6<</S/D/St 2/P()>>9<</S/D/St 5/P()>>11<</S/D/St 7/P()>>13<</S/D/St 9/P()>>17<</S/D/St 13/P()>>19<</S/D/St 15/P()>>24<</S/D/St 20/P()>>27<</S/D/St 23/P()>>31<</S/D/St 27/P()>>33<</S/D/St 29/P()>>67<</S/D/St 63/P()>>72<</S/D/St 68/P()>>73<</S/D/St 69/P()>>77<</S/D/St 73/P()>>]>>>>endobj
 xref
-0 871 
+0 806 
 0000000000 65535 f 
 0000000015 00000 n 
-0000000242 00000 n 
-0000001808 00000 n 
-0000001882 00000 n 
-0000001961 00000 n 
-0000002039 00000 n 
-0000002116 00000 n 
-0000002195 00000 n 
+0000000243 00000 n 
+0000001809 00000 n 
+0000001883 00000 n 
+0000001962 00000 n 
+0000002044 00000 n 
+0000002122 00000 n 
+0000002199 00000 n 
 0000002278 00000 n 
-0000002354 00000 n 
-0000002436 00000 n 
-0000002521 00000 n 
-0000002580 00000 n 
-0000002681 00000 n 
-0000002783 00000 n 
-0000002884 00000 n 
-0000002985 00000 n 
-0000003087 00000 n 
-0000003189 00000 n 
-0000003291 00000 n 
-0000003392 00000 n 
-0000003494 00000 n 
-0000003596 00000 n 
-0000003698 00000 n 
-0000003800 00000 n 
-0000003902 00000 n 
-0000004003 00000 n 
-0000004105 00000 n 
-0000004207 00000 n 
-0000004309 00000 n 
-0000004411 00000 n 
-0000004513 00000 n 
-0000004615 00000 n 
-0000004717 00000 n 
-0000004819 00000 n 
-0000004920 00000 n 
-0000005021 00000 n 
-0000005123 00000 n 
-0000005225 00000 n 
-0000005327 00000 n 
-0000005429 00000 n 
-0000005531 00000 n 
-0000005633 00000 n 
-0000005735 00000 n 
-0000005837 00000 n 
-0000005939 00000 n 
-0000006041 00000 n 
-0000006143 00000 n 
-0000006245 00000 n 
-0000006347 00000 n 
-0000006449 00000 n 
-0000006551 00000 n 
-0000006652 00000 n 
-0000006752 00000 n 
-0000006852 00000 n 
-0000007162 00000 n 
-0000007263 00000 n 
-0000007365 00000 n 
-0000007467 00000 n 
-0000007569 00000 n 
-0000007671 00000 n 
-0000007772 00000 n 
-0000007874 00000 n 
-0000007976 00000 n 
-0000008078 00000 n 
-0000008180 00000 n 
-0000008282 00000 n 
-0000008384 00000 n 
-0000008485 00000 n 
-0000008587 00000 n 
-0000008689 00000 n 
-0000008791 00000 n 
-0000008893 00000 n 
-0000008995 00000 n 
-0000009097 00000 n 
-0000009199 00000 n 
-0000009301 00000 n 
-0000009403 00000 n 
-0000009504 00000 n 
-0000009605 00000 n 
-0000009707 00000 n 
-0000009809 00000 n 
-0000009911 00000 n 
-0000010013 00000 n 
-0000010115 00000 n 
-0000010217 00000 n 
-0000010319 00000 n 
-0000010421 00000 n 
-0000010523 00000 n 
-0000010625 00000 n 
-0000010727 00000 n 
-0000010829 00000 n 
-0000010931 00000 n 
-0000011033 00000 n 
-0000011135 00000 n 
-0000011237 00000 n 
-0000011339 00000 n 
-0000011440 00000 n 
-0000011540 00000 n 
-0000011640 00000 n 
-0000011965 00000 n 
-0000012067 00000 n 
-0000012170 00000 n 
-0000012273 00000 n 
-0000012376 00000 n 
-0000012479 00000 n 
-0000012582 00000 n 
-0000012685 00000 n 
-0000012788 00000 n 
-0000012891 00000 n 
-0000012994 00000 n 
-0000013097 00000 n 
-0000013200 00000 n 
-0000013303 00000 n 
-0000013406 00000 n 
-0000013509 00000 n 
-0000013612 00000 n 
-0000013715 00000 n 
-0000013818 00000 n 
-0000013921 00000 n 
-0000014024 00000 n 
-0000014126 00000 n 
-0000014229 00000 n 
-0000014332 00000 n 
-0000014435 00000 n 
-0000014538 00000 n 
-0000014641 00000 n 
-0000014743 00000 n 
-0000014846 00000 n 
-0000014948 00000 n 
-0000015051 00000 n 
-0000015154 00000 n 
-0000015257 00000 n 
-0000015360 00000 n 
-0000015463 00000 n 
-0000015566 00000 n 
-0000015669 00000 n 
-0000015772 00000 n 
-0000015875 00000 n 
-0000015978 00000 n 
-0000016081 00000 n 
-0000016184 00000 n 
-0000016285 00000 n 
-0000016386 00000 n 
-0000016487 00000 n 
-0000016856 00000 n 
-0000016958 00000 n 
-0000017061 00000 n 
-0000017163 00000 n 
-0000017266 00000 n 
-0000017369 00000 n 
-0000017472 00000 n 
-0000017575 00000 n 
-0000017678 00000 n 
-0000017781 00000 n 
-0000017883 00000 n 
-0000017986 00000 n 
-0000018089 00000 n 
-0000018191 00000 n 
-0000018294 00000 n 
-0000018397 00000 n 
-0000018534 00000 n 
-0000018589 00000 n 
-0000018676 00000 n 
-0000018731 00000 n 
-0000018818 00000 n 
-0000018885 00000 n 
-0000018971 00000 n 
-0000019073 00000 n 
-0000019176 00000 n 
-0000019279 00000 n 
-0000019382 00000 n 
+0000002361 00000 n 
+0000002438 00000 n 
+0000002520 00000 n 
+0000002579 00000 n 
+0000002680 00000 n 
+0000002782 00000 n 
+0000002883 00000 n 
+0000002984 00000 n 
+0000003086 00000 n 
+0000003188 00000 n 
+0000003290 00000 n 
+0000003391 00000 n 
+0000003493 00000 n 
+0000003595 00000 n 
+0000003697 00000 n 
+0000003799 00000 n 
+0000003901 00000 n 
+0000004002 00000 n 
+0000004104 00000 n 
+0000004206 00000 n 
+0000004308 00000 n 
+0000004410 00000 n 
+0000004512 00000 n 
+0000004614 00000 n 
+0000004716 00000 n 
+0000004818 00000 n 
+0000004919 00000 n 
+0000005020 00000 n 
+0000005122 00000 n 
+0000005224 00000 n 
+0000005326 00000 n 
+0000005428 00000 n 
+0000005530 00000 n 
+0000005632 00000 n 
+0000005734 00000 n 
+0000005836 00000 n 
+0000005938 00000 n 
+0000006040 00000 n 
+0000006142 00000 n 
+0000006244 00000 n 
+0000006346 00000 n 
+0000006448 00000 n 
+0000006550 00000 n 
+0000006651 00000 n 
+0000006751 00000 n 
+0000006851 00000 n 
+0000007161 00000 n 
+0000007262 00000 n 
+0000007364 00000 n 
+0000007466 00000 n 
+0000007568 00000 n 
+0000007670 00000 n 
+0000007771 00000 n 
+0000007873 00000 n 
+0000007975 00000 n 
+0000008077 00000 n 
+0000008179 00000 n 
+0000008281 00000 n 
+0000008383 00000 n 
+0000008484 00000 n 
+0000008586 00000 n 
+0000008688 00000 n 
+0000008790 00000 n 
+0000008892 00000 n 
+0000008994 00000 n 
+0000009096 00000 n 
+0000009198 00000 n 
+0000009300 00000 n 
+0000009402 00000 n 
+0000009503 00000 n 
+0000009604 00000 n 
+0000009706 00000 n 
+0000009808 00000 n 
+0000009910 00000 n 
+0000010012 00000 n 
+0000010114 00000 n 
+0000010216 00000 n 
+0000010318 00000 n 
+0000010420 00000 n 
+0000010522 00000 n 
+0000010624 00000 n 
+0000010726 00000 n 
+0000010828 00000 n 
+0000010930 00000 n 
+0000011032 00000 n 
+0000011134 00000 n 
+0000011236 00000 n 
+0000011338 00000 n 
+0000011439 00000 n 
+0000011539 00000 n 
+0000011639 00000 n 
+0000011964 00000 n 
+0000012066 00000 n 
+0000012169 00000 n 
+0000012272 00000 n 
+0000012375 00000 n 
+0000012478 00000 n 
+0000012581 00000 n 
+0000012684 00000 n 
+0000012787 00000 n 
+0000012890 00000 n 
+0000012993 00000 n 
+0000013096 00000 n 
+0000013199 00000 n 
+0000013302 00000 n 
+0000013405 00000 n 
+0000013508 00000 n 
+0000013611 00000 n 
+0000013714 00000 n 
+0000013817 00000 n 
+0000013920 00000 n 
+0000014023 00000 n 
+0000014125 00000 n 
+0000014228 00000 n 
+0000014331 00000 n 
+0000014434 00000 n 
+0000014537 00000 n 
+0000014640 00000 n 
+0000014742 00000 n 
+0000014845 00000 n 
+0000014947 00000 n 
+0000015050 00000 n 
+0000015153 00000 n 
+0000015256 00000 n 
+0000015359 00000 n 
+0000015462 00000 n 
+0000015565 00000 n 
+0000015668 00000 n 
+0000015771 00000 n 
+0000015874 00000 n 
+0000015977 00000 n 
+0000016080 00000 n 
+0000016183 00000 n 
+0000016284 00000 n 
+0000016385 00000 n 
+0000016486 00000 n 
+0000016855 00000 n 
+0000016957 00000 n 
+0000017060 00000 n 
+0000017093 00000 n 
+0000017148 00000 n 
+0000017235 00000 n 
+0000017290 00000 n 
+0000017377 00000 n 
+0000017444 00000 n 
+0000017530 00000 n 
+0000017632 00000 n 
+0000017735 00000 n 
+0000017838 00000 n 
+0000017941 00000 n 
+0000018043 00000 n 
+0000018146 00000 n 
+0000018249 00000 n 
+0000018352 00000 n 
+0000018455 00000 n 
+0000018558 00000 n 
+0000018660 00000 n 
+0000018763 00000 n 
+0000018866 00000 n 
+0000018969 00000 n 
+0000019072 00000 n 
+0000019175 00000 n 
+0000019278 00000 n 
+0000019381 00000 n 
 0000019484 00000 n 
-0000019587 00000 n 
-0000019690 00000 n 
-0000019793 00000 n 
-0000019896 00000 n 
-0000019999 00000 n 
-0000020101 00000 n 
-0000020204 00000 n 
-0000020307 00000 n 
-0000020410 00000 n 
-0000020513 00000 n 
-0000020616 00000 n 
-0000020719 00000 n 
-0000020822 00000 n 
-0000020925 00000 n 
-0000021027 00000 n 
-0000021129 00000 n 
-0000021232 00000 n 
-0000021335 00000 n 
-0000021438 00000 n 
-0000021541 00000 n 
-0000021644 00000 n 
-0000021747 00000 n 
-0000021850 00000 n 
-0000021953 00000 n 
-0000022056 00000 n 
-0000022159 00000 n 
-0000022262 00000 n 
-0000022365 00000 n 
-0000022467 00000 n 
-0000022568 00000 n 
-0000022669 00000 n 
+0000019586 00000 n 
+0000019688 00000 n 
+0000019791 00000 n 
+0000019894 00000 n 
+0000019997 00000 n 
+0000020100 00000 n 
+0000020203 00000 n 
+0000020306 00000 n 
+0000020409 00000 n 
+0000020512 00000 n 
+0000020615 00000 n 
+0000020718 00000 n 
+0000020821 00000 n 
+0000020924 00000 n 
+0000021026 00000 n 
+0000021127 00000 n 
+0000021228 00000 n 
+0000021557 00000 n 
+0000021660 00000 n 
+0000021763 00000 n 
+0000021866 00000 n 
+0000021969 00000 n 
+0000022072 00000 n 
+0000022175 00000 n 
+0000022278 00000 n 
+0000022380 00000 n 
+0000022483 00000 n 
+0000022586 00000 n 
+0000022689 00000 n 
+0000022792 00000 n 
+0000022895 00000 n 
 0000022998 00000 n 
-0000023101 00000 n 
-0000023204 00000 n 
-0000023307 00000 n 
-0000023410 00000 n 
-0000023513 00000 n 
-0000023616 00000 n 
-0000023719 00000 n 
+0000023100 00000 n 
+0000023203 00000 n 
+0000023306 00000 n 
+0000023409 00000 n 
+0000023512 00000 n 
+0000023615 00000 n 
+0000023718 00000 n 
 0000023821 00000 n 
 0000023924 00000 n 
 0000024027 00000 n 
-0000024130 00000 n 
-0000024233 00000 n 
-0000024336 00000 n 
-0000024439 00000 n 
-0000024541 00000 n 
-0000024644 00000 n 
-0000024747 00000 n 
-0000024850 00000 n 
-0000024953 00000 n 
-0000025056 00000 n 
-0000025159 00000 n 
-0000025262 00000 n 
-0000025365 00000 n 
-0000025468 00000 n 
+0000024129 00000 n 
+0000024231 00000 n 
+0000024334 00000 n 
+0000024437 00000 n 
+0000024540 00000 n 
+0000024643 00000 n 
+0000024746 00000 n 
+0000024849 00000 n 
+0000024952 00000 n 
+0000025055 00000 n 
+0000025158 00000 n 
+0000025261 00000 n 
+0000025364 00000 n 
+0000025467 00000 n 
 0000025570 00000 n 
-0000025672 00000 n 
-0000025775 00000 n 
-0000025878 00000 n 
-0000025981 00000 n 
-0000026084 00000 n 
-0000026187 00000 n 
-0000026290 00000 n 
-0000026393 00000 n 
-0000026496 00000 n 
+0000025673 00000 n 
+0000025776 00000 n 
+0000025879 00000 n 
+0000025982 00000 n 
+0000026085 00000 n 
+0000026188 00000 n 
+0000026291 00000 n 
+0000026394 00000 n 
+0000026497 00000 n 
 0000026599 00000 n 
-0000026702 00000 n 
-0000026805 00000 n 
-0000026908 00000 n 
-0000027011 00000 n 
-0000027114 00000 n 
-0000027217 00000 n 
-0000027320 00000 n 
-0000027423 00000 n 
-0000027526 00000 n 
-0000027629 00000 n 
-0000027732 00000 n 
-0000027835 00000 n 
-0000027938 00000 n 
-0000028040 00000 n 
-0000028141 00000 n 
-0000028242 00000 n 
-0000028667 00000 n 
+0000026700 00000 n 
+0000026801 00000 n 
+0000027226 00000 n 
+0000027329 00000 n 
+0000027432 00000 n 
+0000027535 00000 n 
+0000027638 00000 n 
+0000027741 00000 n 
+0000027844 00000 n 
+0000027947 00000 n 
+0000028050 00000 n 
+0000028153 00000 n 
+0000028256 00000 n 
+0000028359 00000 n 
+0000028462 00000 n 
+0000028565 00000 n 
+0000028668 00000 n 
 0000028770 00000 n 
 0000028873 00000 n 
 0000028976 00000 n 
 0000029079 00000 n 
 0000029182 00000 n 
 0000029285 00000 n 
-0000029388 00000 n 
-0000029491 00000 n 
-0000029594 00000 n 
-0000029697 00000 n 
-0000029800 00000 n 
-0000029903 00000 n 
-0000030006 00000 n 
-0000030109 00000 n 
-0000030211 00000 n 
-0000030314 00000 n 
-0000030417 00000 n 
-0000030520 00000 n 
-0000030623 00000 n 
-0000030726 00000 n 
+0000029387 00000 n 
+0000029490 00000 n 
+0000029592 00000 n 
+0000029695 00000 n 
+0000029798 00000 n 
+0000029901 00000 n 
+0000030004 00000 n 
+0000030107 00000 n 
+0000030210 00000 n 
+0000030313 00000 n 
+0000030416 00000 n 
+0000030519 00000 n 
+0000030622 00000 n 
+0000030725 00000 n 
 0000030828 00000 n 
-0000030931 00000 n 
+0000030930 00000 n 
 0000031033 00000 n 
 0000031136 00000 n 
 0000031239 00000 n 
-0000031342 00000 n 
-0000031445 00000 n 
-0000031548 00000 n 
-0000031651 00000 n 
-0000031754 00000 n 
-0000031857 00000 n 
-0000031960 00000 n 
-0000032063 00000 n 
-0000032166 00000 n 
-0000032269 00000 n 
-0000032371 00000 n 
-0000032474 00000 n 
-0000032577 00000 n 
-0000032680 00000 n 
-0000032782 00000 n 
-0000032885 00000 n 
-0000032988 00000 n 
-0000033091 00000 n 
-0000033194 00000 n 
-0000033297 00000 n 
-0000033400 00000 n 
-0000033502 00000 n 
-0000033605 00000 n 
-0000033707 00000 n 
-0000033807 00000 n 
-0000033908 00000 n 
-0000034333 00000 n 
-0000034436 00000 n 
-0000034461 00000 n 
-0000034545 00000 n 
-0000034631 00000 n 
-0000034705 00000 n 
-0000034791 00000 n 
-0000034824 00000 n 
-0000034902 00000 n 
-0000034989 00000 n 
-0000035095 00000 n 
-0000035181 00000 n 
-0000035253 00000 n 
-0000035339 00000 n 
-0000035398 00000 n 
-0000035485 00000 n 
-0000035576 00000 n 
-0000035662 00000 n 
-0000035733 00000 n 
-0000035819 00000 n 
-0000035884 00000 n 
-0000035918 00000 n 
-0000035952 00000 n 
-0000039512 00000 n 
-0000039555 00000 n 
-0000039598 00000 n 
-0000039641 00000 n 
-0000039684 00000 n 
-0000039727 00000 n 
-0000039770 00000 n 
-0000039813 00000 n 
-0000039856 00000 n 
-0000039899 00000 n 
-0000039942 00000 n 
-0000039985 00000 n 
-0000040028 00000 n 
-0000040071 00000 n 
-0000040114 00000 n 
-0000040157 00000 n 
-0000040200 00000 n 
-0000040243 00000 n 
-0000040286 00000 n 
-0000040329 00000 n 
-0000040372 00000 n 
-0000040415 00000 n 
-0000040458 00000 n 
-0000040501 00000 n 
-0000040544 00000 n 
-0000040587 00000 n 
-0000040630 00000 n 
-0000040673 00000 n 
-0000040716 00000 n 
-0000040759 00000 n 
-0000040802 00000 n 
-0000040845 00000 n 
-0000040888 00000 n 
-0000040931 00000 n 
-0000040974 00000 n 
-0000041017 00000 n 
-0000041060 00000 n 
-0000041103 00000 n 
-0000041146 00000 n 
-0000041189 00000 n 
-0000041232 00000 n 
-0000041275 00000 n 
-0000041318 00000 n 
-0000041361 00000 n 
-0000041404 00000 n 
-0000041447 00000 n 
-0000041490 00000 n 
-0000041533 00000 n 
-0000041576 00000 n 
-0000041619 00000 n 
-0000041662 00000 n 
-0000041705 00000 n 
-0000041748 00000 n 
-0000041791 00000 n 
-0000041834 00000 n 
-0000041877 00000 n 
-0000041920 00000 n 
-0000041963 00000 n 
-0000042006 00000 n 
-0000042049 00000 n 
-0000042092 00000 n 
-0000042135 00000 n 
-0000042178 00000 n 
-0000042221 00000 n 
-0000042264 00000 n 
-0000042307 00000 n 
-0000042350 00000 n 
-0000042393 00000 n 
-0000042436 00000 n 
-0000042479 00000 n 
-0000042522 00000 n 
-0000042565 00000 n 
-0000042608 00000 n 
-0000042651 00000 n 
-0000042694 00000 n 
-0000042737 00000 n 
-0000042780 00000 n 
-0000042823 00000 n 
-0000042866 00000 n 
-0000042909 00000 n 
-0000042952 00000 n 
-0000042995 00000 n 
-0000043038 00000 n 
-0000043081 00000 n 
-0000043124 00000 n 
-0000043167 00000 n 
-0000043210 00000 n 
-0000043253 00000 n 
-0000043296 00000 n 
-0000043339 00000 n 
-0000043382 00000 n 
-0000043425 00000 n 
-0000043468 00000 n 
-0000043511 00000 n 
-0000043554 00000 n 
-0000043597 00000 n 
-0000043640 00000 n 
-0000043683 00000 n 
-0000043726 00000 n 
-0000043769 00000 n 
-0000043812 00000 n 
-0000043855 00000 n 
-0000043898 00000 n 
-0000043941 00000 n 
-0000043984 00000 n 
-0000044027 00000 n 
-0000044070 00000 n 
-0000044113 00000 n 
-0000044156 00000 n 
-0000044199 00000 n 
-0000044242 00000 n 
-0000044285 00000 n 
-0000044328 00000 n 
-0000044371 00000 n 
-0000044414 00000 n 
-0000044457 00000 n 
-0000044500 00000 n 
-0000044543 00000 n 
-0000044586 00000 n 
-0000044629 00000 n 
-0000044672 00000 n 
-0000044715 00000 n 
-0000044758 00000 n 
-0000044801 00000 n 
-0000044844 00000 n 
-0000044887 00000 n 
-0000044930 00000 n 
-0000044973 00000 n 
-0000045016 00000 n 
-0000045059 00000 n 
-0000045102 00000 n 
-0000045145 00000 n 
-0000045188 00000 n 
-0000045231 00000 n 
-0000045274 00000 n 
-0000045317 00000 n 
-0000045360 00000 n 
-0000045403 00000 n 
-0000045446 00000 n 
-0000045489 00000 n 
-0000045532 00000 n 
-0000045575 00000 n 
-0000045618 00000 n 
-0000045661 00000 n 
-0000045704 00000 n 
-0000045747 00000 n 
-0000045790 00000 n 
-0000045833 00000 n 
-0000045876 00000 n 
-0000045919 00000 n 
-0000045962 00000 n 
-0000046005 00000 n 
-0000046048 00000 n 
-0000046091 00000 n 
-0000046134 00000 n 
-0000046177 00000 n 
-0000046220 00000 n 
-0000046263 00000 n 
-0000046306 00000 n 
-0000046349 00000 n 
-0000046392 00000 n 
-0000046435 00000 n 
-0000046478 00000 n 
-0000046521 00000 n 
-0000046564 00000 n 
-0000046607 00000 n 
-0000046650 00000 n 
-0000046693 00000 n 
-0000046736 00000 n 
-0000046779 00000 n 
-0000046822 00000 n 
-0000046865 00000 n 
-0000046908 00000 n 
-0000046951 00000 n 
-0000046994 00000 n 
-0000047037 00000 n 
-0000047080 00000 n 
-0000047123 00000 n 
-0000047166 00000 n 
-0000047209 00000 n 
-0000047252 00000 n 
-0000047295 00000 n 
-0000047338 00000 n 
-0000047381 00000 n 
-0000047424 00000 n 
-0000047467 00000 n 
-0000047510 00000 n 
-0000047553 00000 n 
-0000047596 00000 n 
-0000047639 00000 n 
-0000047682 00000 n 
-0000047725 00000 n 
-0000047768 00000 n 
-0000047811 00000 n 
-0000047854 00000 n 
-0000047897 00000 n 
-0000047940 00000 n 
-0000047983 00000 n 
-0000048026 00000 n 
-0000048069 00000 n 
-0000048112 00000 n 
-0000048155 00000 n 
-0000048198 00000 n 
-0000048241 00000 n 
-0000048284 00000 n 
-0000048327 00000 n 
-0000048370 00000 n 
-0000048413 00000 n 
-0000048456 00000 n 
-0000048499 00000 n 
-0000048542 00000 n 
-0000048585 00000 n 
-0000048628 00000 n 
-0000048671 00000 n 
-0000048714 00000 n 
-0000048757 00000 n 
-0000048800 00000 n 
-0000048843 00000 n 
-0000048886 00000 n 
-0000048929 00000 n 
-0000048972 00000 n 
-0000049015 00000 n 
-0000049750 00000 n 
-0000049907 00000 n 
-0000050074 00000 n 
-0000050263 00000 n 
-0000052866 00000 n 
-0000053056 00000 n 
-0000056162 00000 n 
-0000056352 00000 n 
-0000059894 00000 n 
-0000060084 00000 n 
-0000061357 00000 n 
-0000061514 00000 n 
-0000061743 00000 n 
-0000061942 00000 n 
-0000063751 00000 n 
-0000063922 00000 n 
-0000066005 00000 n 
-0000066176 00000 n 
-0000068463 00000 n 
-0000068634 00000 n 
-0000068890 00000 n 
-0000069056 00000 n 
-0000070701 00000 n 
-0000070867 00000 n 
-0000072409 00000 n 
-0000072575 00000 n 
-0000074309 00000 n 
-0000074475 00000 n 
-0000076211 00000 n 
-0000076386 00000 n 
-0000077652 00000 n 
-0000077827 00000 n 
-0000079038 00000 n 
-0000079213 00000 n 
-0000080460 00000 n 
-0000080626 00000 n 
-0000081536 00000 n 
-0000081726 00000 n 
-0000083690 00000 n 
-0000083846 00000 n 
-0000085623 00000 n 
-0000085789 00000 n 
-0000087771 00000 n 
-0000087937 00000 n 
-0000088673 00000 n 
-0000088848 00000 n 
-0000089890 00000 n 
-0000090056 00000 n 
-0000091692 00000 n 
-0000091858 00000 n 
-0000092482 00000 n 
-0000092657 00000 n 
-0000093987 00000 n 
-0000094162 00000 n 
-0000095236 00000 n 
-0000095402 00000 n 
-0000096003 00000 n 
-0000096169 00000 n 
-0000097955 00000 n 
-0000098121 00000 n 
-0000099838 00000 n 
-0000100004 00000 n 
-0000101853 00000 n 
-0000102009 00000 n 
-0000103124 00000 n 
-0000103308 00000 n 
-0000104915 00000 n 
-0000105080 00000 n 
-0000105969 00000 n 
-0000106168 00000 n 
-0000107893 00000 n 
-0000108068 00000 n 
-0000109893 00000 n 
-0000110068 00000 n 
-0000110679 00000 n 
-0000110854 00000 n 
-0000111629 00000 n 
-0000111804 00000 n 
-0000112561 00000 n 
-0000112736 00000 n 
-0000113574 00000 n 
-0000113749 00000 n 
-0000114585 00000 n 
-0000114769 00000 n 
-0000115609 00000 n 
-0000115784 00000 n 
-0000116544 00000 n 
-0000116709 00000 n 
-0000117334 00000 n 
-0000117518 00000 n 
-0000118286 00000 n 
-0000118461 00000 n 
-0000119423 00000 n 
-0000119607 00000 n 
-0000120942 00000 n 
-0000121126 00000 n 
-0000122144 00000 n 
-0000122309 00000 n 
-0000122888 00000 n 
-0000123072 00000 n 
-0000124132 00000 n 
-0000124307 00000 n 
-0000125185 00000 n 
-0000125360 00000 n 
-0000126454 00000 n 
-0000126638 00000 n 
-0000127525 00000 n 
-0000127709 00000 n 
-0000128486 00000 n 
-0000128661 00000 n 
-0000129262 00000 n 
-0000129437 00000 n 
-0000130099 00000 n 
-0000130283 00000 n 
-0000131259 00000 n 
-0000131434 00000 n 
-0000132442 00000 n 
-0000132617 00000 n 
-0000133611 00000 n 
-0000133795 00000 n 
-0000134627 00000 n 
-0000134802 00000 n 
-0000135534 00000 n 
-0000135709 00000 n 
-0000136391 00000 n 
-0000136566 00000 n 
-0000137395 00000 n 
-0000137570 00000 n 
-0000138558 00000 n 
-0000138733 00000 n 
-0000140117 00000 n 
-0000140301 00000 n 
-0000141095 00000 n 
-0000141279 00000 n 
-0000141941 00000 n 
-0000142116 00000 n 
-0000142523 00000 n 
-0000142688 00000 n 
-0000142994 00000 n 
-0000143189 00000 n 
-0000144721 00000 n 
-0000144896 00000 n 
-0000146611 00000 n 
-0000146796 00000 n 
-0000148377 00000 n 
-0000148562 00000 n 
-0000150328 00000 n 
-0000150494 00000 n 
-0000150873 00000 n 
-0000151048 00000 n 
-0000152345 00000 n 
-0000152520 00000 n 
-0000154223 00000 n 
-0000154399 00000 n 
-0000156151 00000 n 
-0000156317 00000 n 
-0000158211 00000 n 
-0000158395 00000 n 
-0000159665 00000 n 
-0000159840 00000 n 
-0000161568 00000 n 
-0000161780 00000 n 
-0000163402 00000 n 
-0000163585 00000 n 
-0000164497 00000 n 
-0000164672 00000 n 
-0000165960 00000 n 
-0000166154 00000 n 
-0000167493 00000 n 
-0000167677 00000 n 
-0000168711 00000 n 
-0000168886 00000 n 
-0000169535 00000 n 
-0000169591 00000 n 
-0000169690 00000 n 
-0000169843 00000 n 
+0000031568 00000 n 
+0000031652 00000 n 
+0000031738 00000 n 
+0000031812 00000 n 
+0000031898 00000 n 
+0000031931 00000 n 
+0000032009 00000 n 
+0000032096 00000 n 
+0000032202 00000 n 
+0000032288 00000 n 
+0000032360 00000 n 
+0000032446 00000 n 
+0000032505 00000 n 
+0000032592 00000 n 
+0000032683 00000 n 
+0000032769 00000 n 
+0000032840 00000 n 
+0000032926 00000 n 
+0000032991 00000 n 
+0000033025 00000 n 
+0000033059 00000 n 
+0000036406 00000 n 
+0000036449 00000 n 
+0000036492 00000 n 
+0000036535 00000 n 
+0000036578 00000 n 
+0000036621 00000 n 
+0000036664 00000 n 
+0000036707 00000 n 
+0000036750 00000 n 
+0000036793 00000 n 
+0000036836 00000 n 
+0000036879 00000 n 
+0000036922 00000 n 
+0000036965 00000 n 
+0000037008 00000 n 
+0000037051 00000 n 
+0000037094 00000 n 
+0000037137 00000 n 
+0000037180 00000 n 
+0000037223 00000 n 
+0000037266 00000 n 
+0000037309 00000 n 
+0000037352 00000 n 
+0000037395 00000 n 
+0000037438 00000 n 
+0000037481 00000 n 
+0000037524 00000 n 
+0000037567 00000 n 
+0000037610 00000 n 
+0000037653 00000 n 
+0000037696 00000 n 
+0000037739 00000 n 
+0000037782 00000 n 
+0000037825 00000 n 
+0000037868 00000 n 
+0000037911 00000 n 
+0000037954 00000 n 
+0000037997 00000 n 
+0000038040 00000 n 
+0000038083 00000 n 
+0000038126 00000 n 
+0000038169 00000 n 
+0000038212 00000 n 
+0000038255 00000 n 
+0000038298 00000 n 
+0000038341 00000 n 
+0000038384 00000 n 
+0000038427 00000 n 
+0000038470 00000 n 
+0000038513 00000 n 
+0000038556 00000 n 
+0000038599 00000 n 
+0000038642 00000 n 
+0000038685 00000 n 
+0000038728 00000 n 
+0000038771 00000 n 
+0000038814 00000 n 
+0000038857 00000 n 
+0000038900 00000 n 
+0000038943 00000 n 
+0000038986 00000 n 
+0000039029 00000 n 
+0000039072 00000 n 
+0000039115 00000 n 
+0000039158 00000 n 
+0000039201 00000 n 
+0000039244 00000 n 
+0000039287 00000 n 
+0000039330 00000 n 
+0000039373 00000 n 
+0000039416 00000 n 
+0000039459 00000 n 
+0000039502 00000 n 
+0000039545 00000 n 
+0000039588 00000 n 
+0000039631 00000 n 
+0000039674 00000 n 
+0000039717 00000 n 
+0000039760 00000 n 
+0000039803 00000 n 
+0000039846 00000 n 
+0000039889 00000 n 
+0000039932 00000 n 
+0000039975 00000 n 
+0000040018 00000 n 
+0000040061 00000 n 
+0000040104 00000 n 
+0000040147 00000 n 
+0000040190 00000 n 
+0000040233 00000 n 
+0000040276 00000 n 
+0000040319 00000 n 
+0000040362 00000 n 
+0000040405 00000 n 
+0000040448 00000 n 
+0000040491 00000 n 
+0000040534 00000 n 
+0000040577 00000 n 
+0000040620 00000 n 
+0000040663 00000 n 
+0000040706 00000 n 
+0000040749 00000 n 
+0000040792 00000 n 
+0000040835 00000 n 
+0000040878 00000 n 
+0000040921 00000 n 
+0000040964 00000 n 
+0000041007 00000 n 
+0000041050 00000 n 
+0000041093 00000 n 
+0000041136 00000 n 
+0000041179 00000 n 
+0000041222 00000 n 
+0000041265 00000 n 
+0000041308 00000 n 
+0000041351 00000 n 
+0000041394 00000 n 
+0000041437 00000 n 
+0000041480 00000 n 
+0000041523 00000 n 
+0000041566 00000 n 
+0000041609 00000 n 
+0000041652 00000 n 
+0000041695 00000 n 
+0000041738 00000 n 
+0000041781 00000 n 
+0000041824 00000 n 
+0000041867 00000 n 
+0000041910 00000 n 
+0000041953 00000 n 
+0000041996 00000 n 
+0000042039 00000 n 
+0000042082 00000 n 
+0000042125 00000 n 
+0000042168 00000 n 
+0000042211 00000 n 
+0000042254 00000 n 
+0000042297 00000 n 
+0000042340 00000 n 
+0000042383 00000 n 
+0000042426 00000 n 
+0000042469 00000 n 
+0000042512 00000 n 
+0000042555 00000 n 
+0000042598 00000 n 
+0000042641 00000 n 
+0000042684 00000 n 
+0000042727 00000 n 
+0000042770 00000 n 
+0000042813 00000 n 
+0000042856 00000 n 
+0000042899 00000 n 
+0000042942 00000 n 
+0000042985 00000 n 
+0000043028 00000 n 
+0000043071 00000 n 
+0000043114 00000 n 
+0000043157 00000 n 
+0000043200 00000 n 
+0000043243 00000 n 
+0000043286 00000 n 
+0000043329 00000 n 
+0000043372 00000 n 
+0000043415 00000 n 
+0000043458 00000 n 
+0000043501 00000 n 
+0000043544 00000 n 
+0000043587 00000 n 
+0000043630 00000 n 
+0000043673 00000 n 
+0000043716 00000 n 
+0000043759 00000 n 
+0000043802 00000 n 
+0000043845 00000 n 
+0000043888 00000 n 
+0000043931 00000 n 
+0000043974 00000 n 
+0000044017 00000 n 
+0000044060 00000 n 
+0000044103 00000 n 
+0000044146 00000 n 
+0000044189 00000 n 
+0000044232 00000 n 
+0000044275 00000 n 
+0000044318 00000 n 
+0000044361 00000 n 
+0000044404 00000 n 
+0000044447 00000 n 
+0000044490 00000 n 
+0000044533 00000 n 
+0000044576 00000 n 
+0000044619 00000 n 
+0000044662 00000 n 
+0000044705 00000 n 
+0000044748 00000 n 
+0000044791 00000 n 
+0000044834 00000 n 
+0000044877 00000 n 
+0000044920 00000 n 
+0000044963 00000 n 
+0000045006 00000 n 
+0000045049 00000 n 
+0000045092 00000 n 
+0000045135 00000 n 
+0000045178 00000 n 
+0000045221 00000 n 
+0000045264 00000 n 
+0000045307 00000 n 
+0000045350 00000 n 
+0000046037 00000 n 
+0000046195 00000 n 
+0000046362 00000 n 
+0000046552 00000 n 
+0000049149 00000 n 
+0000049340 00000 n 
+0000052448 00000 n 
+0000052639 00000 n 
+0000056177 00000 n 
+0000056368 00000 n 
+0000056827 00000 n 
+0000056985 00000 n 
+0000057214 00000 n 
+0000057414 00000 n 
+0000059219 00000 n 
+0000059391 00000 n 
+0000061477 00000 n 
+0000061649 00000 n 
+0000063568 00000 n 
+0000063735 00000 n 
+0000065380 00000 n 
+0000065547 00000 n 
+0000067089 00000 n 
+0000067256 00000 n 
+0000068990 00000 n 
+0000069157 00000 n 
+0000070893 00000 n 
+0000071069 00000 n 
+0000072334 00000 n 
+0000072510 00000 n 
+0000073721 00000 n 
+0000073897 00000 n 
+0000075145 00000 n 
+0000075312 00000 n 
+0000076222 00000 n 
+0000076413 00000 n 
+0000078380 00000 n 
+0000078537 00000 n 
+0000080320 00000 n 
+0000080487 00000 n 
+0000082471 00000 n 
+0000082638 00000 n 
+0000083374 00000 n 
+0000083550 00000 n 
+0000084592 00000 n 
+0000084759 00000 n 
+0000086395 00000 n 
+0000086562 00000 n 
+0000087186 00000 n 
+0000087362 00000 n 
+0000088690 00000 n 
+0000088866 00000 n 
+0000089940 00000 n 
+0000090107 00000 n 
+0000090708 00000 n 
+0000090875 00000 n 
+0000092661 00000 n 
+0000092828 00000 n 
+0000094545 00000 n 
+0000094712 00000 n 
+0000096561 00000 n 
+0000096718 00000 n 
+0000097833 00000 n 
+0000098018 00000 n 
+0000099625 00000 n 
+0000099791 00000 n 
+0000100680 00000 n 
+0000100880 00000 n 
+0000102605 00000 n 
+0000102781 00000 n 
+0000104608 00000 n 
+0000104784 00000 n 
+0000105395 00000 n 
+0000105571 00000 n 
+0000106346 00000 n 
+0000106522 00000 n 
+0000107279 00000 n 
+0000107455 00000 n 
+0000108294 00000 n 
+0000108470 00000 n 
+0000109306 00000 n 
+0000109491 00000 n 
+0000110331 00000 n 
+0000110507 00000 n 
+0000111267 00000 n 
+0000111433 00000 n 
+0000112058 00000 n 
+0000112243 00000 n 
+0000113011 00000 n 
+0000113187 00000 n 
+0000114149 00000 n 
+0000114334 00000 n 
+0000115669 00000 n 
+0000115854 00000 n 
+0000116872 00000 n 
+0000117038 00000 n 
+0000117618 00000 n 
+0000117803 00000 n 
+0000118862 00000 n 
+0000119038 00000 n 
+0000119916 00000 n 
+0000120092 00000 n 
+0000121186 00000 n 
+0000121371 00000 n 
+0000122257 00000 n 
+0000122442 00000 n 
+0000123219 00000 n 
+0000123395 00000 n 
+0000123996 00000 n 
+0000124172 00000 n 
+0000124834 00000 n 
+0000125019 00000 n 
+0000125996 00000 n 
+0000126172 00000 n 
+0000127179 00000 n 
+0000127355 00000 n 
+0000128349 00000 n 
+0000128534 00000 n 
+0000129366 00000 n 
+0000129542 00000 n 
+0000130275 00000 n 
+0000130451 00000 n 
+0000131133 00000 n 
+0000131309 00000 n 
+0000132138 00000 n 
+0000132314 00000 n 
+0000133302 00000 n 
+0000133469 00000 n 
+0000134905 00000 n 
+0000135090 00000 n 
+0000135823 00000 n 
+0000136008 00000 n 
+0000136635 00000 n 
+0000136801 00000 n 
+0000137199 00000 n 
+0000137385 00000 n 
+0000138913 00000 n 
+0000139088 00000 n 
+0000140802 00000 n 
+0000140988 00000 n 
+0000142570 00000 n 
+0000142746 00000 n 
+0000144513 00000 n 
+0000144680 00000 n 
+0000145058 00000 n 
+0000145234 00000 n 
+0000146531 00000 n 
+0000146707 00000 n 
+0000148414 00000 n 
+0000148591 00000 n 
+0000150343 00000 n 
+0000150510 00000 n 
+0000152404 00000 n 
+0000152589 00000 n 
+0000153859 00000 n 
+0000154035 00000 n 
+0000155763 00000 n 
+0000155975 00000 n 
+0000157598 00000 n 
+0000157782 00000 n 
+0000158672 00000 n 
+0000158728 00000 n 
+0000158827 00000 n 
+0000158980 00000 n 
+0000159059 00000 n 
+0000159162 00000 n 
+0000159360 00000 n 
+0000159454 00000 n 
+0000159571 00000 n 
+0000159670 00000 n 
+0000159830 00000 n 
+0000159929 00000 n 
+0000160053 00000 n 
+0000160167 00000 n 
+0000160281 00000 n 
+0000160379 00000 n 
+0000160543 00000 n 
+0000160647 00000 n 
+0000160766 00000 n 
+0000160888 00000 n 
+0000161010 00000 n 
+0000161146 00000 n 
+0000161246 00000 n 
+0000161358 00000 n 
+0000161468 00000 n 
+0000161592 00000 n 
+0000161749 00000 n 
+0000161854 00000 n 
+0000161971 00000 n 
+0000162129 00000 n 
+0000162233 00000 n 
+0000162350 00000 n 
+0000162472 00000 n 
+0000162589 00000 n 
+0000162706 00000 n 
+0000162824 00000 n 
+0000162942 00000 n 
+0000163064 00000 n 
+0000163186 00000 n 
+0000163310 00000 n 
+0000163434 00000 n 
+0000163553 00000 n 
+0000163672 00000 n 
+0000163796 00000 n 
+0000163907 00000 n 
+0000164064 00000 n 
+0000164163 00000 n 
+0000164264 00000 n 
+0000164371 00000 n 
+0000164530 00000 n 
+0000164669 00000 n 
+0000164780 00000 n 
+0000164911 00000 n 
+0000165024 00000 n 
+0000165153 00000 n 
+0000165243 00000 n 
+0000165408 00000 n 
+0000165507 00000 n 
+0000165616 00000 n 
+0000165730 00000 n 
+0000165839 00000 n 
+0000165946 00000 n 
+0000166056 00000 n 
+0000166169 00000 n 
+0000166281 00000 n 
+0000166387 00000 n 
+0000166519 00000 n 
+0000166676 00000 n 
+0000166811 00000 n 
+0000166907 00000 n 
+0000167003 00000 n 
+0000167159 00000 n 
+0000167253 00000 n 
+0000167367 00000 n 
+0000167466 00000 n 
+0000167633 00000 n 
+0000167733 00000 n 
+0000167841 00000 n 
+0000167947 00000 n 
+0000168068 00000 n 
+0000168195 00000 n 
+0000168312 00000 n 
+0000168435 00000 n 
+0000168566 00000 n 
+0000168683 00000 n 
+0000168795 00000 n 
+0000168913 00000 n 
+0000169019 00000 n 
+0000169187 00000 n 
+0000169297 00000 n 
+0000169417 00000 n 
+0000169542 00000 n 
+0000169657 00000 n 
+0000169760 00000 n 
 0000169922 00000 n 
-0000170025 00000 n 
-0000170223 00000 n 
-0000170317 00000 n 
-0000170434 00000 n 
-0000170533 00000 n 
-0000170693 00000 n 
-0000170792 00000 n 
-0000170916 00000 n 
-0000171030 00000 n 
-0000171144 00000 n 
-0000171242 00000 n 
-0000171406 00000 n 
-0000171510 00000 n 
-0000171629 00000 n 
-0000171751 00000 n 
-0000171873 00000 n 
-0000172009 00000 n 
-0000172109 00000 n 
-0000172221 00000 n 
-0000172331 00000 n 
-0000172455 00000 n 
-0000172612 00000 n 
-0000172717 00000 n 
-0000172834 00000 n 
-0000172992 00000 n 
-0000173096 00000 n 
-0000173213 00000 n 
-0000173335 00000 n 
-0000173452 00000 n 
-0000173569 00000 n 
-0000173687 00000 n 
-0000173805 00000 n 
-0000173927 00000 n 
-0000174049 00000 n 
-0000174173 00000 n 
-0000174297 00000 n 
-0000174416 00000 n 
-0000174535 00000 n 
-0000174659 00000 n 
-0000174770 00000 n 
-0000174927 00000 n 
-0000175026 00000 n 
-0000175127 00000 n 
-0000175234 00000 n 
-0000175393 00000 n 
-0000175532 00000 n 
-0000175643 00000 n 
-0000175774 00000 n 
-0000175887 00000 n 
-0000176016 00000 n 
-0000176106 00000 n 
-0000176271 00000 n 
-0000176370 00000 n 
-0000176479 00000 n 
-0000176593 00000 n 
-0000176702 00000 n 
-0000176809 00000 n 
-0000176919 00000 n 
-0000177032 00000 n 
-0000177144 00000 n 
-0000177250 00000 n 
-0000177382 00000 n 
-0000177539 00000 n 
-0000177674 00000 n 
-0000177770 00000 n 
-0000177866 00000 n 
-0000178022 00000 n 
-0000178116 00000 n 
-0000178230 00000 n 
-0000178329 00000 n 
-0000178496 00000 n 
-0000178596 00000 n 
-0000178704 00000 n 
-0000178810 00000 n 
-0000178931 00000 n 
-0000179058 00000 n 
-0000179175 00000 n 
-0000179298 00000 n 
-0000179429 00000 n 
-0000179546 00000 n 
-0000179658 00000 n 
-0000179776 00000 n 
-0000179882 00000 n 
-0000180050 00000 n 
-0000180160 00000 n 
-0000180280 00000 n 
-0000180405 00000 n 
-0000180520 00000 n 
-0000180623 00000 n 
-0000180785 00000 n 
-0000180887 00000 n 
-0000180985 00000 n 
-0000181147 00000 n 
-0000181250 00000 n 
-0000181358 00000 n 
-0000181540 00000 n 
-0000181640 00000 n 
-0000181750 00000 n 
-0000181847 00000 n 
-0000181983 00000 n 
-0000182087 00000 n 
-0000182191 00000 n 
-0000182358 00000 n 
-0000182454 00000 n 
-0000182594 00000 n 
-0000182712 00000 n 
-0000182863 00000 n 
-0000182986 00000 n 
-0000183149 00000 n 
-0000183237 00000 n 
-0000183403 00000 n 
-0000183516 00000 n 
-0000183637 00000 n 
-0000183770 00000 n 
-0000183913 00000 n 
-0000184014 00000 n 
-0000184130 00000 n 
-0000184231 00000 n 
-0000184379 00000 n 
-0000184495 00000 n 
-0000184592 00000 n 
-0000184710 00000 n 
-0000184805 00000 n 
-0000184981 00000 n 
-0000185081 00000 n 
-0000185199 00000 n 
-0000185306 00000 n 
-0000185456 00000 n 
-0000185554 00000 n 
-0000185706 00000 n 
-0000185810 00000 n 
-0000185914 00000 n 
-0000186053 00000 n 
-0000186169 00000 n 
-0000186333 00000 n 
-0000186426 00000 n 
-0000186530 00000 n 
-0000186678 00000 n 
-0000186776 00000 n 
-0000186871 00000 n 
+0000170024 00000 n 
+0000170122 00000 n 
+0000170284 00000 n 
+0000170387 00000 n 
+0000170495 00000 n 
+0000170677 00000 n 
+0000170777 00000 n 
+0000170887 00000 n 
+0000170984 00000 n 
+0000171120 00000 n 
+0000171224 00000 n 
+0000171328 00000 n 
+0000171495 00000 n 
+0000171591 00000 n 
+0000171731 00000 n 
+0000171849 00000 n 
+0000171998 00000 n 
+0000172121 00000 n 
+0000172284 00000 n 
+0000172372 00000 n 
+0000172538 00000 n 
+0000172651 00000 n 
+0000172772 00000 n 
+0000172905 00000 n 
+0000173048 00000 n 
+0000173149 00000 n 
+0000173265 00000 n 
+0000173366 00000 n 
+0000173514 00000 n 
+0000173630 00000 n 
+0000173727 00000 n 
+0000173845 00000 n 
+0000173940 00000 n 
+0000174103 00000 n 
+0000174203 00000 n 
+0000174321 00000 n 
+0000174427 00000 n 
 trailer
-<</Size 871/Root 870 0 R/Info 1 0 R/ID[<189abffedc06aaee73d71f659ae7c647><189abffedc06aaee73d71f659ae7c647>]>>
+<</Size 806/Root 805 0 R/Info 1 0 R/ID[<37e21dd5bf11a0bb7770129df9f0d2ea><37e21dd5bf11a0bb7770129df9f0d2ea>]>>
 startxref
-187413
+174907
 %%EOF
index 8cbf9dbcd48e5138270bbb55ffc3e1f6bf0fcd70..449b529f392dadf513acf6ca317bb09c86d1216d 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:20030403163314-0200)/Title(SAMBA Project Documentation)/Creator(Modular DocBook HTML Stylesheet Version 1.7)>>endobj
+1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20030328000013-0100)/Title(SAMBA Project Documentation)/Creator(Modular DocBook HTML Stylesheet Version 1.7)>>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
@@ -20,48 +20,48 @@ endobj
 16 0 obj<</Type/XObject/Subtype/Image/ColorSpace[/Indexed/DeviceRGB 53<0800001000001800002100002900003100004200004A00005200005A00006B00007300007B00008400008C0000940000947B7B9C52529C5A5A9C7B7BA50000A53939A54A4AA58484A59494A5A5A5AD0000AD3131AD9494B50000B52929B59C9CB5A5A5B5B5B5BD0000BDADADC60000C61010C61818C6C6C6CE0000CE2929D60000D62929D6D6D6DE0000DEDEDEE70000E72121EF0808EFEFEFF70000F7F7F7FFFFFF>]/Interpolate true/Filter/FlateDecode/Width 24/Height 24/BitsPerComponent 8/Length 223       >>stream
 x\ 1UQ\87\12\820\f5âÀ\8dâ\ 4\1c8@\ 5\8b´öÿ\7fÍÚ4¥¦w\1do%w\95R\17+©8\ 2¸çóC\8c+N\1c"]×\82\ 4ÏW\r,D¶1\8e|áÂ\8aØi"%õ~öÄ0íÈ)ûÜ\81\81\1elN!3\80\8e1\88ìTÆ4HÔ\86ÞË<ê <\10~õZ>y\15nõ¯.\8cHãê«>L\1dÜê\85\ fK\a·ùbØ\8e\1c¼Ñ\9f'4¦øË\1fû\8e\9eY}\ 4Íü\8f-?f&tïA¿Â{\11\10\93»\817L}\17On4\ 6\9eïà\aKùIÿ\88\9fä    õP\86B\87hïG]áz\98\10$>\97ÐÔ\16³å\17.mcoendstream
 endobj
-17 0 obj<</Subtype/Link/Rect[72.0 684.0 223.5 697.0]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 734 0]>>endobj
-18 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[1496 0 R/XYZ 0 696 0]>>endobj
-19 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[1498 0 R/XYZ 0 734 0]>>endobj
-20 0 obj<</Subtype/Link/Rect[72.0 618.0 175.0 631.0]/Border[0 0 0]/Dest[1506 0 R/XYZ 0 734 0]>>endobj
-21 0 obj<</Subtype/Link/Rect[72.0 591.6 131.9 604.6]/Border[0 0 0]/Dest[1508 0 R/XYZ 0 734 0]>>endobj
-22 0 obj<</Subtype/Link/Rect[72.0 565.2 277.3 578.2]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 734 0]>>endobj
-23 0 obj<</Subtype/Link/Rect[108.0 552.0 264.4 565.0]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 696 0]>>endobj
-24 0 obj<</Subtype/Link/Rect[108.0 538.8 211.9 551.8]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 595 0]>>endobj
-25 0 obj<</Subtype/Link/Rect[126.0 525.6 262.9 538.6]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 506 0]>>endobj
-26 0 obj<</Subtype/Link/Rect[126.0 512.4 184.7 525.4]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 705 0]>>endobj
-27 0 obj<</Subtype/Link/Rect[108.0 499.2 328.6 512.2]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 528 0]>>endobj
-28 0 obj<</Subtype/Link/Rect[108.0 486.0 282.2 499.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 360 0]>>endobj
-29 0 obj<</Subtype/Link/Rect[108.0 472.8 478.0 485.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 193 0]>>endobj
-30 0 obj<</Subtype/Link/Rect[108.0 459.6 253.9 472.6]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 652 0]>>endobj
-31 0 obj<</Subtype/Link/Rect[126.0 446.4 199.0 459.4]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 511 0]>>endobj
-32 0 obj<</Subtype/Link/Rect[126.0 433.2 190.2 446.2]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 426 0]>>endobj
-33 0 obj<</Subtype/Link/Rect[72.0 406.8 435.9 419.8]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 734 0]>>endobj
-34 0 obj<</Subtype/Link/Rect[108.0 393.6 175.5 406.6]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 565 0]>>endobj
-35 0 obj<</Subtype/Link/Rect[108.0 380.4 523.2 393.4]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-36 0 obj<</Subtype/Link/Rect[108.0 367.2 313.1 380.2]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 189 0]>>endobj
-37 0 obj<</Subtype/Link/Rect[108.0 354.0 326.2 367.0]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 536 0]>>endobj
-38 0 obj<</Subtype/Link/Rect[108.0 340.8 187.1 353.8]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 357 0]>>endobj
-39 0 obj<</Subtype/Link/Rect[108.0 327.6 425.7 340.6]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 520 0]>>endobj
-40 0 obj<</Subtype/Link/Rect[108.0 314.4 232.3 327.4]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 161 0]>>endobj
-41 0 obj<</Subtype/Link/Rect[72.0 288.0 250.1 301.0]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-42 0 obj<</Subtype/Link/Rect[108.0 274.8 181.6 287.8]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 696 0]>>endobj
-43 0 obj<</Subtype/Link/Rect[108.0 261.6 268.7 274.6]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 449 0]>>endobj
-44 0 obj<</Subtype/Link/Rect[126.0 248.4 295.0 261.4]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 402 0]>>endobj
-45 0 obj<</Subtype/Link/Rect[126.0 235.2 334.7 248.2]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 269 0]>>endobj
-46 0 obj<</Subtype/Link/Rect[108.0 222.0 246.4 235.0]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 163 0]>>endobj
-47 0 obj<</Subtype/Link/Rect[108.0 208.8 169.1 221.8]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 362 0]>>endobj
-48 0 obj<</Subtype/Link/Rect[108.0 195.6 149.2 208.6]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 273 0]>>endobj
-49 0 obj<</Subtype/Link/Rect[108.0 182.4 156.0 195.4]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 198 0]>>endobj
-50 0 obj<</Subtype/Link/Rect[126.0 169.2 207.9 182.2]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 165 0]>>endobj
-51 0 obj<</Subtype/Link/Rect[126.0 156.0 207.9 169.0]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 573 0]>>endobj
-52 0 obj<</Subtype/Link/Rect[126.0 142.8 265.9 155.8]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 734 0]>>endobj
-53 0 obj<</Subtype/Link/Rect[126.0 129.6 405.0 142.6]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 622 0]>>endobj
-54 0 obj<</Subtype/Link/Rect[126.0 116.4 293.8 129.4]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 251 0]>>endobj
-55 0 obj<</Subtype/Link/Rect[126.0 103.2 307.8 116.2]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 438 0]>>endobj
-56 0 obj<</Subtype/Link/Rect[126.0 90.0 276.9 103.0]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 247 0]>>endobj
-57 0 obj<</Subtype/Link/Rect[126.0 76.8 351.5 89.8]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 543 0]>>endobj
-58 0 obj<</Subtype/Link/Rect[126.0 63.6 345.0 76.6]/Border[0 0 0]/Dest[1544 0 R/XYZ 0 533 0]>>endobj
+17 0 obj<</Subtype/Link/Rect[72.0 684.0 223.5 697.0]/Border[0 0 0]/Dest[1493 0 R/XYZ 0 734 0]>>endobj
+18 0 obj<</Subtype/Link/Rect[108.0 670.8 174.9 683.8]/Border[0 0 0]/Dest[1493 0 R/XYZ 0 696 0]>>endobj
+19 0 obj<</Subtype/Link/Rect[72.0 644.4 112.9 657.4]/Border[0 0 0]/Dest[1495 0 R/XYZ 0 734 0]>>endobj
+20 0 obj<</Subtype/Link/Rect[72.0 618.0 175.0 631.0]/Border[0 0 0]/Dest[1503 0 R/XYZ 0 734 0]>>endobj
+21 0 obj<</Subtype/Link/Rect[72.0 591.6 131.9 604.6]/Border[0 0 0]/Dest[1505 0 R/XYZ 0 734 0]>>endobj
+22 0 obj<</Subtype/Link/Rect[72.0 565.2 277.3 578.2]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 734 0]>>endobj
+23 0 obj<</Subtype/Link/Rect[108.0 552.0 264.4 565.0]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 696 0]>>endobj
+24 0 obj<</Subtype/Link/Rect[108.0 538.8 211.9 551.8]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 595 0]>>endobj
+25 0 obj<</Subtype/Link/Rect[126.0 525.6 262.9 538.6]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 506 0]>>endobj
+26 0 obj<</Subtype/Link/Rect[126.0 512.4 184.7 525.4]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 705 0]>>endobj
+27 0 obj<</Subtype/Link/Rect[108.0 499.2 328.6 512.2]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 528 0]>>endobj
+28 0 obj<</Subtype/Link/Rect[108.0 486.0 282.2 499.0]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 360 0]>>endobj
+29 0 obj<</Subtype/Link/Rect[108.0 472.8 478.0 485.8]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 193 0]>>endobj
+30 0 obj<</Subtype/Link/Rect[108.0 459.6 253.9 472.6]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 652 0]>>endobj
+31 0 obj<</Subtype/Link/Rect[126.0 446.4 199.0 459.4]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 511 0]>>endobj
+32 0 obj<</Subtype/Link/Rect[126.0 433.2 190.2 446.2]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 426 0]>>endobj
+33 0 obj<</Subtype/Link/Rect[72.0 406.8 435.9 419.8]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 734 0]>>endobj
+34 0 obj<</Subtype/Link/Rect[108.0 393.6 175.5 406.6]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 565 0]>>endobj
+35 0 obj<</Subtype/Link/Rect[108.0 380.4 313.1 393.4]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 734 0]>>endobj
+36 0 obj<</Subtype/Link/Rect[108.0 367.2 326.2 380.2]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 412 0]>>endobj
+37 0 obj<</Subtype/Link/Rect[108.0 354.0 187.1 367.0]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 234 0]>>endobj
+38 0 obj<</Subtype/Link/Rect[108.0 340.8 425.7 353.8]/Border[0 0 0]/Dest[1521 0 R/XYZ 0 388 0]>>endobj
+39 0 obj<</Subtype/Link/Rect[108.0 327.6 232.3 340.6]/Border[0 0 0]/Dest[1523 0 R/XYZ 0 705 0]>>endobj
+40 0 obj<</Subtype/Link/Rect[72.0 301.2 250.1 314.2]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 734 0]>>endobj
+41 0 obj<</Subtype/Link/Rect[108.0 288.0 181.6 301.0]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 696 0]>>endobj
+42 0 obj<</Subtype/Link/Rect[108.0 274.8 268.7 287.8]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 449 0]>>endobj
+43 0 obj<</Subtype/Link/Rect[126.0 261.6 295.0 274.6]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 402 0]>>endobj
+44 0 obj<</Subtype/Link/Rect[126.0 248.4 334.7 261.4]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 269 0]>>endobj
+45 0 obj<</Subtype/Link/Rect[108.0 235.2 246.4 248.2]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 163 0]>>endobj
+46 0 obj<</Subtype/Link/Rect[108.0 222.0 169.1 235.0]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 362 0]>>endobj
+47 0 obj<</Subtype/Link/Rect[108.0 208.8 149.2 221.8]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 273 0]>>endobj
+48 0 obj<</Subtype/Link/Rect[108.0 195.6 156.0 208.6]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 198 0]>>endobj
+49 0 obj<</Subtype/Link/Rect[126.0 182.4 207.9 195.4]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 165 0]>>endobj
+50 0 obj<</Subtype/Link/Rect[126.0 169.2 207.9 182.2]/Border[0 0 0]/Dest[1531 0 R/XYZ 0 573 0]>>endobj
+51 0 obj<</Subtype/Link/Rect[126.0 156.0 265.9 169.0]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 734 0]>>endobj
+52 0 obj<</Subtype/Link/Rect[126.0 142.8 405.0 155.8]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 622 0]>>endobj
+53 0 obj<</Subtype/Link/Rect[126.0 129.6 293.8 142.6]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 251 0]>>endobj
+54 0 obj<</Subtype/Link/Rect[126.0 116.4 307.8 129.4]/Border[0 0 0]/Dest[1537 0 R/XYZ 0 438 0]>>endobj
+55 0 obj<</Subtype/Link/Rect[126.0 103.2 276.9 116.2]/Border[0 0 0]/Dest[1537 0 R/XYZ 0 247 0]>>endobj
+56 0 obj<</Subtype/Link/Rect[126.0 90.0 351.5 103.0]/Border[0 0 0]/Dest[1539 0 R/XYZ 0 543 0]>>endobj
+57 0 obj<</Subtype/Link/Rect[126.0 76.8 345.0 89.8]/Border[0 0 0]/Dest[1541 0 R/XYZ 0 533 0]>>endobj
+58 0 obj<</Subtype/Link/Rect[108.0 63.6 163.3 76.6]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 708 0]>>endobj
 59 0 obj[17 0 R
 18 0 R
 19 0 R
@@ -104,48 +104,48 @@ endobj
 56 0 R
 57 0 R
 58 0 R]endobj
-60 0 obj<</Subtype/Link/Rect[72.0 684.0 250.1 697.0]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-61 0 obj<</Subtype/Link/Rect[108.0 670.8 163.3 683.8]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 708 0]>>endobj
-62 0 obj<</Subtype/Link/Rect[126.0 657.6 248.2 670.6]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 674 0]>>endobj
-63 0 obj<</Subtype/Link/Rect[126.0 644.4 207.3 657.4]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 576 0]>>endobj
-64 0 obj<</Subtype/Link/Rect[126.0 631.2 371.9 644.2]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 514 0]>>endobj
-65 0 obj<</Subtype/Link/Rect[126.0 618.0 330.5 631.0]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 364 0]>>endobj
-66 0 obj<</Subtype/Link/Rect[108.0 604.8 151.7 617.8]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 226 0]>>endobj
-67 0 obj<</Subtype/Link/Rect[72.0 578.4 177.1 591.4]/Border[0 0 0]/Dest[1550 0 R/XYZ 0 734 0]>>endobj
-68 0 obj<</Subtype/Link/Rect[72.0 552.0 131.9 565.0]/Border[0 0 0]/Dest[1552 0 R/XYZ 0 734 0]>>endobj
-69 0 obj<</Subtype/Link/Rect[72.0 525.6 268.1 538.6]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 734 0]>>endobj
-70 0 obj<</Subtype/Link/Rect[108.0 512.4 213.4 525.4]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 523 0]>>endobj
-71 0 obj<</Subtype/Link/Rect[108.0 499.2 234.2 512.2]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 197 0]>>endobj
-72 0 obj<</Subtype/Link/Rect[108.0 486.0 210.7 499.0]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 626 0]>>endobj
-73 0 obj<</Subtype/Link/Rect[126.0 472.8 266.5 485.8]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 537 0]>>endobj
-74 0 obj<</Subtype/Link/Rect[72.0 446.4 267.7 459.4]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 734 0]>>endobj
-75 0 obj<</Subtype/Link/Rect[108.0 433.2 256.2 446.2]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 668 0]>>endobj
-76 0 obj<</Subtype/Link/Rect[126.0 420.0 241.5 433.0]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 553 0]>>endobj
-77 0 obj<</Subtype/Link/Rect[126.0 406.8 245.8 419.8]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 310 0]>>endobj
-78 0 obj<</Subtype/Link/Rect[126.0 393.6 249.4 406.6]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 734 0]>>endobj
-79 0 obj<</Subtype/Link/Rect[126.0 380.4 256.2 393.4]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 213 0]>>endobj
-80 0 obj<</Subtype/Link/Rect[126.0 367.2 242.7 380.2]/Border[0 0 0]/Dest[1566 0 R/XYZ 0 448 0]>>endobj
-81 0 obj<</Subtype/Link/Rect[72.0 340.8 390.1 353.8]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 734 0]>>endobj
-82 0 obj<</Subtype/Link/Rect[108.0 327.6 219.2 340.6]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 672 0]>>endobj
-83 0 obj<</Subtype/Link/Rect[108.0 314.4 181.0 327.4]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 584 0]>>endobj
-84 0 obj<</Subtype/Link/Rect[108.0 301.2 316.1 314.2]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 692 0]>>endobj
-85 0 obj<</Subtype/Link/Rect[108.0 288.0 430.0 301.0]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 626 0]>>endobj
-86 0 obj<</Subtype/Link/Rect[126.0 274.8 351.2 287.8]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 613 0]>>endobj
-87 0 obj<</Subtype/Link/Rect[126.0 261.6 380.5 274.6]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 718 0]>>endobj
-88 0 obj<</Subtype/Link/Rect[126.0 248.4 297.4 261.4]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 509 0]>>endobj
-89 0 obj<</Subtype/Link/Rect[108.0 235.2 261.4 248.2]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 160 0]>>endobj
-90 0 obj<</Subtype/Link/Rect[108.0 222.0 243.6 235.0]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 565 0]>>endobj
-91 0 obj<</Subtype/Link/Rect[108.0 208.8 292.9 221.8]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 283 0]>>endobj
-92 0 obj<</Subtype/Link/Rect[126.0 195.6 350.0 208.6]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 335 0]>>endobj
-93 0 obj<</Subtype/Link/Rect[72.0 169.2 414.8 182.2]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 734 0]>>endobj
-94 0 obj<</Subtype/Link/Rect[108.0 156.0 219.2 169.0]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 672 0]>>endobj
-95 0 obj<</Subtype/Link/Rect[108.0 142.8 181.0 155.8]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 597 0]>>endobj
-96 0 obj<</Subtype/Link/Rect[108.0 129.6 359.1 142.6]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 225 0]>>endobj
-97 0 obj<</Subtype/Link/Rect[126.0 116.4 382.3 129.4]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 734 0]>>endobj
-98 0 obj<</Subtype/Link/Rect[126.0 103.2 269.0 116.2]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 609 0]>>endobj
-99 0 obj<</Subtype/Link/Rect[108.0 90.0 391.8 103.0]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 524 0]>>endobj
-100 0 obj<</Subtype/Link/Rect[108.0 76.8 268.1 89.8]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 323 0]>>endobj
-101 0 obj<</Subtype/Link/Rect[126.0 63.6 327.6 76.6]/Border[0 0 0]/Dest[1594 0 R/XYZ 0 541 0]>>endobj
+60 0 obj<</Subtype/Link/Rect[72.0 684.0 250.1 697.0]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 734 0]>>endobj
+61 0 obj<</Subtype/Link/Rect[126.0 670.8 192.0 683.8]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 674 0]>>endobj
+62 0 obj<</Subtype/Link/Rect[126.0 657.6 248.2 670.6]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 576 0]>>endobj
+63 0 obj<</Subtype/Link/Rect[126.0 644.4 207.3 657.4]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 478 0]>>endobj
+64 0 obj<</Subtype/Link/Rect[126.0 631.2 371.9 644.2]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 417 0]>>endobj
+65 0 obj<</Subtype/Link/Rect[126.0 618.0 330.5 631.0]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 266 0]>>endobj
+66 0 obj<</Subtype/Link/Rect[108.0 604.8 215.9 617.8]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 129 0]>>endobj
+67 0 obj<</Subtype/Link/Rect[126.0 591.6 192.0 604.6]/Border[0 0 0]/Dest[1547 0 R/XYZ 0 734 0]>>endobj
+68 0 obj<</Subtype/Link/Rect[126.0 578.4 181.0 591.4]/Border[0 0 0]/Dest[1547 0 R/XYZ 0 649 0]>>endobj
+69 0 obj<</Subtype/Link/Rect[72.0 552.0 177.1 565.0]/Border[0 0 0]/Dest[1549 0 R/XYZ 0 734 0]>>endobj
+70 0 obj<</Subtype/Link/Rect[72.0 525.6 131.9 538.6]/Border[0 0 0]/Dest[1551 0 R/XYZ 0 734 0]>>endobj
+71 0 obj<</Subtype/Link/Rect[72.0 499.2 268.1 512.2]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 734 0]>>endobj
+72 0 obj<</Subtype/Link/Rect[108.0 486.0 213.4 499.0]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 523 0]>>endobj
+73 0 obj<</Subtype/Link/Rect[108.0 472.8 234.2 485.8]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 249 0]>>endobj
+74 0 obj<</Subtype/Link/Rect[108.0 459.6 210.7 472.6]/Border[0 0 0]/Dest[1557 0 R/XYZ 0 679 0]>>endobj
+75 0 obj<</Subtype/Link/Rect[126.0 446.4 266.5 459.4]/Border[0 0 0]/Dest[1557 0 R/XYZ 0 590 0]>>endobj
+76 0 obj<</Subtype/Link/Rect[72.0 420.0 412.8 433.0]/Border[0 0 0]/Dest[1559 0 R/XYZ 0 734 0]>>endobj
+77 0 obj<</Subtype/Link/Rect[72.0 393.6 390.1 406.6]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 734 0]>>endobj
+78 0 obj<</Subtype/Link/Rect[108.0 380.4 219.2 393.4]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 672 0]>>endobj
+79 0 obj<</Subtype/Link/Rect[108.0 367.2 181.0 380.2]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 584 0]>>endobj
+80 0 obj<</Subtype/Link/Rect[108.0 354.0 316.1 367.0]/Border[0 0 0]/Dest[1565 0 R/XYZ 0 734 0]>>endobj
+81 0 obj<</Subtype/Link/Rect[108.0 340.8 430.0 353.8]/Border[0 0 0]/Dest[1567 0 R/XYZ 0 665 0]>>endobj
+82 0 obj<</Subtype/Link/Rect[126.0 327.6 351.2 340.6]/Border[0 0 0]/Dest[1569 0 R/XYZ 0 665 0]>>endobj
+83 0 obj<</Subtype/Link/Rect[126.0 314.4 380.5 327.4]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 734 0]>>endobj
+84 0 obj<</Subtype/Link/Rect[126.0 301.2 297.4 314.2]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 524 0]>>endobj
+85 0 obj<</Subtype/Link/Rect[108.0 288.0 261.4 301.0]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 175 0]>>endobj
+86 0 obj<</Subtype/Link/Rect[108.0 274.8 252.8 287.8]/Border[0 0 0]/Dest[1575 0 R/XYZ 0 565 0]>>endobj
+87 0 obj<</Subtype/Link/Rect[108.0 261.6 243.6 274.6]/Border[0 0 0]/Dest[1577 0 R/XYZ 0 560 0]>>endobj
+88 0 obj<</Subtype/Link/Rect[108.0 248.4 292.9 261.4]/Border[0 0 0]/Dest[1581 0 R/XYZ 0 283 0]>>endobj
+89 0 obj<</Subtype/Link/Rect[126.0 235.2 350.0 248.2]/Border[0 0 0]/Dest[1583 0 R/XYZ 0 283 0]>>endobj
+90 0 obj<</Subtype/Link/Rect[126.0 222.0 424.2 235.0]/Border[0 0 0]/Dest[1585 0 R/XYZ 0 504 0]>>endobj
+91 0 obj<</Subtype/Link/Rect[108.0 208.8 431.0 221.8]/Border[0 0 0]/Dest[1593 0 R/XYZ 0 415 0]>>endobj
+92 0 obj<</Subtype/Link/Rect[72.0 182.4 512.6 195.4]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 734 0]>>endobj
+93 0 obj<</Subtype/Link/Rect[108.0 169.2 219.2 182.2]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 672 0]>>endobj
+94 0 obj<</Subtype/Link/Rect[108.0 156.0 181.0 169.0]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 597 0]>>endobj
+95 0 obj<</Subtype/Link/Rect[108.0 142.8 359.1 155.8]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 225 0]>>endobj
+96 0 obj<</Subtype/Link/Rect[126.0 129.6 382.3 142.6]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 734 0]>>endobj
+97 0 obj<</Subtype/Link/Rect[126.0 116.4 269.0 129.4]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 609 0]>>endobj
+98 0 obj<</Subtype/Link/Rect[108.0 103.2 391.8 116.2]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 524 0]>>endobj
+99 0 obj<</Subtype/Link/Rect[108.0 90.0 268.1 103.0]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 323 0]>>endobj
+100 0 obj<</Subtype/Link/Rect[126.0 76.8 327.6 89.8]/Border[0 0 0]/Dest[1601 0 R/XYZ 0 541 0]>>endobj
+101 0 obj<</Subtype/Link/Rect[126.0 63.6 282.4 76.6]/Border[0 0 0]/Dest[1601 0 R/XYZ 0 390 0]>>endobj
 102 0 obj[60 0 R
 61 0 R
 62 0 R
@@ -188,46 +188,50 @@ endobj
 99 0 R
 100 0 R
 101 0 R]endobj
-103 0 obj<</Subtype/Link/Rect[72.0 684.0 414.8 697.0]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 734 0]>>endobj
-104 0 obj<</Subtype/Link/Rect[126.0 670.8 282.4 683.8]/Border[0 0 0]/Dest[1594 0 R/XYZ 0 390 0]>>endobj
-105 0 obj<</Subtype/Link/Rect[72.0 644.4 282.8 657.4]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 734 0]>>endobj
-106 0 obj<</Subtype/Link/Rect[108.0 631.2 218.6 644.2]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 668 0]>>endobj
-107 0 obj<</Subtype/Link/Rect[108.0 618.0 239.4 631.0]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 444 0]>>endobj
-108 0 obj<</Subtype/Link/Rect[108.0 604.8 253.4 617.8]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 127 0]>>endobj
-109 0 obj<</Subtype/Link/Rect[126.0 591.6 218.6 604.6]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 734 0]>>endobj
-110 0 obj<</Subtype/Link/Rect[108.0 578.4 224.7 591.4]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 649 0]>>endobj
-111 0 obj<</Subtype/Link/Rect[108.0 565.2 228.1 578.2]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 560 0]>>endobj
-112 0 obj<</Subtype/Link/Rect[108.0 552.0 152.9 565.0]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 485 0]>>endobj
-113 0 obj<</Subtype/Link/Rect[72.0 525.6 329.3 538.6]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 734 0]>>endobj
-114 0 obj<</Subtype/Link/Rect[108.0 512.4 299.9 525.4]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 672 0]>>endobj
-115 0 obj<</Subtype/Link/Rect[108.0 499.2 307.9 512.2]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 494 0]>>endobj
-116 0 obj<</Subtype/Link/Rect[72.0 472.8 206.8 485.8]/Border[0 0 0]/Dest[1604 0 R/XYZ 0 734 0]>>endobj
-117 0 obj<</Subtype/Link/Rect[72.0 446.4 131.9 459.4]/Border[0 0 0]/Dest[1606 0 R/XYZ 0 734 0]>>endobj
-118 0 obj<</Subtype/Link/Rect[72.0 420.0 351.9 433.0]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 734 0]>>endobj
-119 0 obj<</Subtype/Link/Rect[108.0 406.8 267.8 419.8]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 672 0]>>endobj
-120 0 obj<</Subtype/Link/Rect[72.0 380.4 418.2 393.4]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-121 0 obj<</Subtype/Link/Rect[108.0 367.2 450.2 380.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 672 0]>>endobj
-122 0 obj<</Subtype/Link/Rect[108.0 354.0 324.6 367.0]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 537 0]>>endobj
-123 0 obj<</Subtype/Link/Rect[108.0 340.8 236.6 353.8]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 383 0]>>endobj
-124 0 obj<</Subtype/Link/Rect[108.0 327.6 297.7 340.6]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 718 0]>>endobj
-125 0 obj<</Subtype/Link/Rect[126.0 314.4 232.0 327.4]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 485 0]>>endobj
-126 0 obj<</Subtype/Link/Rect[126.0 301.2 257.1 314.2]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 241 0]>>endobj
-127 0 obj<</Subtype/Link/Rect[108.0 288.0 306.9 301.0]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 734 0]>>endobj
-128 0 obj<</Subtype/Link/Rect[108.0 274.8 397.6 287.8]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 302 0]>>endobj
-129 0 obj<</Subtype/Link/Rect[108.0 261.6 389.7 274.6]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 203 0]>>endobj
-130 0 obj<</Subtype/Link/Rect[72.0 235.2 252.6 248.2]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-131 0 obj<</Subtype/Link/Rect[72.0 208.8 466.2 221.8]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 734 0]>>endobj
-132 0 obj<</Subtype/Link/Rect[108.0 195.6 207.9 208.6]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 672 0]>>endobj
-133 0 obj<</Subtype/Link/Rect[108.0 182.4 250.4 195.4]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 718 0]>>endobj
-134 0 obj<</Subtype/Link/Rect[108.0 169.2 275.8 182.2]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 603 0]>>endobj
-135 0 obj<</Subtype/Link/Rect[72.0 142.8 210.7 155.8]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 734 0]>>endobj
-136 0 obj<</Subtype/Link/Rect[108.0 129.6 187.1 142.6]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 696 0]>>endobj
-137 0 obj<</Subtype/Link/Rect[108.0 116.4 194.5 129.4]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 317 0]>>endobj
-138 0 obj<</Subtype/Link/Rect[126.0 103.2 233.2 116.2]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 127 0]>>endobj
-139 0 obj<</Subtype/Link/Rect[126.0 90.0 317.9 103.0]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 531 0]>>endobj
-140 0 obj<</Subtype/Link/Rect[126.0 76.8 310.8 89.8]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 734 0]>>endobj
-141 0 obj<</Subtype/Link/Rect[126.0 63.6 374.4 76.6]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 363 0]>>endobj
-142 0 obj[103 0 R
+103 0 obj<</Subtype/Link/Rect[72.0 684.0 282.8 697.0]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 734 0]>>endobj
+104 0 obj<</Subtype/Link/Rect[108.0 670.8 317.6 683.8]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 551 0]>>endobj
+105 0 obj<</Subtype/Link/Rect[108.0 657.6 319.4 670.6]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 444 0]>>endobj
+106 0 obj<</Subtype/Link/Rect[108.0 644.4 197.8 657.4]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 267 0]>>endobj
+107 0 obj<</Subtype/Link/Rect[108.0 631.2 239.4 644.2]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 580 0]>>endobj
+108 0 obj<</Subtype/Link/Rect[108.0 618.0 253.4 631.0]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 264 0]>>endobj
+109 0 obj<</Subtype/Link/Rect[126.0 604.8 218.6 617.8]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 202 0]>>endobj
+110 0 obj<</Subtype/Link/Rect[108.0 591.6 224.7 604.6]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 734 0]>>endobj
+111 0 obj<</Subtype/Link/Rect[108.0 578.4 228.1 591.4]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 645 0]>>endobj
+112 0 obj<</Subtype/Link/Rect[108.0 565.2 152.9 578.2]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 570 0]>>endobj
+113 0 obj<</Subtype/Link/Rect[72.0 538.8 329.3 551.8]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 734 0]>>endobj
+114 0 obj<</Subtype/Link/Rect[108.0 525.6 299.9 538.6]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 672 0]>>endobj
+115 0 obj<</Subtype/Link/Rect[108.0 512.4 288.0 525.4]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 494 0]>>endobj
+116 0 obj<</Subtype/Link/Rect[108.0 499.2 307.9 512.2]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 405 0]>>endobj
+117 0 obj<</Subtype/Link/Rect[72.0 472.8 198.2 485.8]/Border[0 0 0]/Dest[1615 0 R/XYZ 0 734 0]>>endobj
+118 0 obj<</Subtype/Link/Rect[72.0 446.4 131.9 459.4]/Border[0 0 0]/Dest[1617 0 R/XYZ 0 734 0]>>endobj
+119 0 obj<</Subtype/Link/Rect[72.0 420.0 354.3 433.0]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 734 0]>>endobj
+120 0 obj<</Subtype/Link/Rect[108.0 406.8 167.0 419.8]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 672 0]>>endobj
+121 0 obj<</Subtype/Link/Rect[108.0 393.6 333.2 406.6]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 439 0]>>endobj
+122 0 obj<</Subtype/Link/Rect[126.0 380.4 200.6 393.4]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 311 0]>>endobj
+123 0 obj<</Subtype/Link/Rect[126.0 367.2 227.1 380.2]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 441 0]>>endobj
+124 0 obj<</Subtype/Link/Rect[126.0 354.0 218.6 367.0]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 303 0]>>endobj
+125 0 obj<</Subtype/Link/Rect[126.0 340.8 238.7 353.8]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 157 0]>>endobj
+126 0 obj<</Subtype/Link/Rect[108.0 327.6 387.9 340.6]/Border[0 0 0]/Dest[1627 0 R/XYZ 0 339 0]>>endobj
+127 0 obj<</Subtype/Link/Rect[126.0 314.4 279.1 327.4]/Border[0 0 0]/Dest[1629 0 R/XYZ 0 266 0]>>endobj
+128 0 obj<</Subtype/Link/Rect[126.0 301.2 247.6 314.2]/Border[0 0 0]/Dest[1631 0 R/XYZ 0 734 0]>>endobj
+129 0 obj<</Subtype/Link/Rect[126.0 288.0 211.2 301.0]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 459 0]>>endobj
+130 0 obj<</Subtype/Link/Rect[126.0 274.8 218.0 287.8]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 361 0]>>endobj
+131 0 obj<</Subtype/Link/Rect[126.0 261.6 224.1 274.6]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 224 0]>>endobj
+132 0 obj<</Subtype/Link/Rect[108.0 248.4 528.7 261.4]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 670 0]>>endobj
+133 0 obj<</Subtype/Link/Rect[108.0 235.2 503.4 248.2]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 126 0]>>endobj
+134 0 obj<</Subtype/Link/Rect[126.0 222.0 376.8 235.0]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 734 0]>>endobj
+135 0 obj<</Subtype/Link/Rect[126.0 208.8 442.5 221.8]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 484 0]>>endobj
+136 0 obj<</Subtype/Link/Rect[126.0 195.6 356.0 208.6]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 132 0]>>endobj
+137 0 obj<</Subtype/Link/Rect[108.0 182.4 187.1 195.4]/Border[0 0 0]/Dest[1641 0 R/XYZ 0 263 0]>>endobj
+138 0 obj<</Subtype/Link/Rect[72.0 156.0 418.2 169.0]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 734 0]>>endobj
+139 0 obj<</Subtype/Link/Rect[108.0 142.8 450.2 155.8]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 672 0]>>endobj
+140 0 obj<</Subtype/Link/Rect[108.0 129.6 324.6 142.6]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 537 0]>>endobj
+141 0 obj<</Subtype/Link/Rect[108.0 116.4 236.6 129.4]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 369 0]>>endobj
+142 0 obj<</Subtype/Link/Rect[108.0 103.2 297.7 116.2]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 705 0]>>endobj
+143 0 obj<</Subtype/Link/Rect[126.0 90.0 232.0 103.0]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 471 0]>>endobj
+144 0 obj<</Subtype/Link/Rect[126.0 76.8 257.1 89.8]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 228 0]>>endobj
+145 0 obj<</Subtype/Link/Rect[108.0 63.6 306.9 76.6]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 718 0]>>endobj
+146 0 obj[103 0 R
 104 0 R
 105 0 R
 106 0 R
@@ -265,56 +269,54 @@ endobj
 138 0 R
 139 0 R
 140 0 R
-141 0 R]endobj
-143 0 obj<</Subtype/Link/Rect[72.0 684.0 210.7 697.0]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 734 0]>>endobj
-144 0 obj<</Subtype/Link/Rect[126.0 670.8 265.6 683.8]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 184 0]>>endobj
-145 0 obj<</Subtype/Link/Rect[108.0 657.6 225.6 670.6]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 692 0]>>endobj
-146 0 obj<</Subtype/Link/Rect[126.0 644.4 237.8 657.4]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 590 0]>>endobj
-147 0 obj<</Subtype/Link/Rect[126.0 631.2 304.7 644.2]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 466 0]>>endobj
-148 0 obj<</Subtype/Link/Rect[126.0 618.0 245.8 631.0]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 381 0]>>endobj
-149 0 obj<</Subtype/Link/Rect[126.0 604.8 258.0 617.8]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 283 0]>>endobj
-150 0 obj<</Subtype/Link/Rect[108.0 591.6 176.8 604.6]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 397 0]>>endobj
-151 0 obj<</Subtype/Link/Rect[126.0 578.4 213.4 591.4]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 363 0]>>endobj
-152 0 obj<</Subtype/Link/Rect[126.0 565.2 283.7 578.2]/Border[0 0 0]/Dest[1646 0 R/XYZ 0 429 0]>>endobj
-153 0 obj<</Subtype/Link/Rect[126.0 552.0 267.7 565.0]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 665 0]>>endobj
-154 0 obj<</Subtype/Link/Rect[126.0 538.8 318.8 551.8]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 485 0]>>endobj
-155 0 obj<</Subtype/Link/Rect[126.0 525.6 242.1 538.6]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 734 0]>>endobj
-156 0 obj<</Subtype/Link/Rect[126.0 512.4 262.9 525.4]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 394 0]>>endobj
-157 0 obj<</Subtype/Link/Rect[126.0 499.2 261.1 512.2]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 718 0]>>endobj
-158 0 obj<</Subtype/Link/Rect[126.0 486.0 241.8 499.0]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 633 0]>>endobj
-159 0 obj<</Subtype/Link/Rect[126.0 472.8 228.4 485.8]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 535 0]>>endobj
-160 0 obj<</Subtype/Link/Rect[72.0 446.4 242.2 459.4]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 734 0]>>endobj
-161 0 obj<</Subtype/Link/Rect[108.0 433.2 187.1 446.2]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 696 0]>>endobj
-162 0 obj<</Subtype/Link/Rect[108.0 420.0 290.8 433.0]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 463 0]>>endobj
-163 0 obj<</Subtype/Link/Rect[108.0 406.8 240.0 419.8]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 276 0]>>endobj
-164 0 obj<</Subtype/Link/Rect[108.0 393.6 277.0 406.6]/Border[0 0 0]/Dest[1670 0 R/XYZ 0 546 0]>>endobj
-165 0 obj<</Subtype/Link/Rect[126.0 380.4 253.7 393.4]/Border[0 0 0]/Dest[1670 0 R/XYZ 0 404 0]>>endobj
-166 0 obj<</Subtype/Link/Rect[108.0 367.2 330.4 380.2]/Border[0 0 0]/Dest[1674 0 R/XYZ 0 177 0]>>endobj
-167 0 obj<</Subtype/Link/Rect[108.0 354.0 349.4 367.0]/Border[0 0 0]/Dest[1682 0 R/XYZ 0 362 0]>>endobj
-168 0 obj<</Subtype/Link/Rect[108.0 340.8 289.3 353.8]/Border[0 0 0]/Dest[1684 0 R/XYZ 0 527 0]>>endobj
-169 0 obj<</Subtype/Link/Rect[72.0 314.4 431.7 327.4]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 734 0]>>endobj
-170 0 obj<</Subtype/Link/Rect[108.0 301.2 170.0 314.2]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 672 0]>>endobj
-171 0 obj<</Subtype/Link/Rect[108.0 288.0 187.1 301.0]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 544 0]>>endobj
-172 0 obj<</Subtype/Link/Rect[108.0 274.8 239.1 287.8]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 231 0]>>endobj
-173 0 obj<</Subtype/Link/Rect[126.0 261.6 211.8 274.6]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 560 0]>>endobj
-174 0 obj<</Subtype/Link/Rect[108.0 248.4 227.5 261.4]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 409 0]>>endobj
-175 0 obj<</Subtype/Link/Rect[126.0 235.2 312.1 248.2]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 294 0]>>endobj
-176 0 obj<</Subtype/Link/Rect[126.0 222.0 319.4 235.0]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 734 0]>>endobj
-177 0 obj<</Subtype/Link/Rect[126.0 208.8 254.3 221.8]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 635 0]>>endobj
-178 0 obj<</Subtype/Link/Rect[126.0 195.6 312.4 208.6]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 194 0]>>endobj
-179 0 obj<</Subtype/Link/Rect[126.0 182.4 292.8 195.4]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 560 0]>>endobj
-180 0 obj<</Subtype/Link/Rect[126.0 169.2 226.5 182.2]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 383 0]>>endobj
-181 0 obj<</Subtype/Link/Rect[108.0 156.0 265.4 169.0]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 245 0]>>endobj
-182 0 obj<</Subtype/Link/Rect[126.0 142.8 213.4 155.8]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 143 0]>>endobj
-183 0 obj<</Subtype/Link/Rect[126.0 129.6 220.1 142.6]/Border[0 0 0]/Dest[1696 0 R/XYZ 0 533 0]>>endobj
-184 0 obj<</Subtype/Link/Rect[126.0 116.4 244.6 129.4]/Border[0 0 0]/Dest[1696 0 R/XYZ 0 264 0]>>endobj
-185 0 obj<</Subtype/Link/Rect[108.0 103.2 183.5 116.2]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 555 0]>>endobj
-186 0 obj<</Subtype/Link/Rect[108.0 90.0 182.9 103.0]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 335 0]>>endobj
-187 0 obj[143 0 R
+141 0 R
+142 0 R
+143 0 R
 144 0 R
-145 0 R
-146 0 R
-147 0 R
+145 0 R]endobj
+147 0 obj<</Subtype/Link/Rect[72.0 684.0 418.2 697.0]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 734 0]>>endobj
+148 0 obj<</Subtype/Link/Rect[108.0 670.8 397.6 683.8]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 287 0]>>endobj
+149 0 obj<</Subtype/Link/Rect[108.0 657.6 389.7 670.6]/Border[0 0 0]/Dest[1651 0 R/XYZ 0 652 0]>>endobj
+150 0 obj<</Subtype/Link/Rect[72.0 631.2 466.2 644.2]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 734 0]>>endobj
+151 0 obj<</Subtype/Link/Rect[108.0 618.0 207.9 631.0]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 672 0]>>endobj
+152 0 obj<</Subtype/Link/Rect[108.0 604.8 250.4 617.8]/Border[0 0 0]/Dest[1655 0 R/XYZ 0 148 0]>>endobj
+153 0 obj<</Subtype/Link/Rect[108.0 591.6 275.8 604.6]/Border[0 0 0]/Dest[1657 0 R/XYZ 0 705 0]>>endobj
+154 0 obj<</Subtype/Link/Rect[72.0 565.2 407.8 578.2]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 734 0]>>endobj
+155 0 obj<</Subtype/Link/Rect[108.0 552.0 184.7 565.0]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 672 0]>>endobj
+156 0 obj<</Subtype/Link/Rect[126.0 538.8 184.7 551.8]/Border[0 0 0]/Dest[1661 0 R/XYZ 0 652 0]>>endobj
+157 0 obj<</Subtype/Link/Rect[72.0 512.4 210.7 525.4]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 734 0]>>endobj
+158 0 obj<</Subtype/Link/Rect[108.0 499.2 187.1 512.2]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 696 0]>>endobj
+159 0 obj<</Subtype/Link/Rect[108.0 486.0 194.5 499.0]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 317 0]>>endobj
+160 0 obj<</Subtype/Link/Rect[126.0 472.8 233.2 485.8]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 127 0]>>endobj
+161 0 obj<</Subtype/Link/Rect[126.0 459.6 317.9 472.6]/Border[0 0 0]/Dest[1667 0 R/XYZ 0 531 0]>>endobj
+162 0 obj<</Subtype/Link/Rect[126.0 446.4 310.8 459.4]/Border[0 0 0]/Dest[1669 0 R/XYZ 0 734 0]>>endobj
+163 0 obj<</Subtype/Link/Rect[126.0 433.2 374.4 446.2]/Border[0 0 0]/Dest[1669 0 R/XYZ 0 363 0]>>endobj
+164 0 obj<</Subtype/Link/Rect[126.0 420.0 265.6 433.0]/Border[0 0 0]/Dest[1671 0 R/XYZ 0 184 0]>>endobj
+165 0 obj<</Subtype/Link/Rect[108.0 406.8 225.6 419.8]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 692 0]>>endobj
+166 0 obj<</Subtype/Link/Rect[126.0 393.6 237.8 406.6]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 590 0]>>endobj
+167 0 obj<</Subtype/Link/Rect[126.0 380.4 304.7 393.4]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 466 0]>>endobj
+168 0 obj<</Subtype/Link/Rect[126.0 367.2 245.8 380.2]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 381 0]>>endobj
+169 0 obj<</Subtype/Link/Rect[126.0 354.0 258.0 367.0]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 283 0]>>endobj
+170 0 obj<</Subtype/Link/Rect[108.0 340.8 176.8 353.8]/Border[0 0 0]/Dest[1675 0 R/XYZ 0 397 0]>>endobj
+171 0 obj<</Subtype/Link/Rect[126.0 327.6 213.4 340.6]/Border[0 0 0]/Dest[1675 0 R/XYZ 0 363 0]>>endobj
+172 0 obj<</Subtype/Link/Rect[126.0 314.4 283.7 327.4]/Border[0 0 0]/Dest[1677 0 R/XYZ 0 429 0]>>endobj
+173 0 obj<</Subtype/Link/Rect[126.0 301.2 267.7 314.2]/Border[0 0 0]/Dest[1679 0 R/XYZ 0 665 0]>>endobj
+174 0 obj<</Subtype/Link/Rect[126.0 288.0 318.8 301.0]/Border[0 0 0]/Dest[1679 0 R/XYZ 0 485 0]>>endobj
+175 0 obj<</Subtype/Link/Rect[126.0 274.8 242.1 287.8]/Border[0 0 0]/Dest[1681 0 R/XYZ 0 734 0]>>endobj
+176 0 obj<</Subtype/Link/Rect[126.0 261.6 262.9 274.6]/Border[0 0 0]/Dest[1681 0 R/XYZ 0 394 0]>>endobj
+177 0 obj<</Subtype/Link/Rect[126.0 248.4 261.1 261.4]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 718 0]>>endobj
+178 0 obj<</Subtype/Link/Rect[126.0 235.2 241.8 248.2]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 633 0]>>endobj
+179 0 obj<</Subtype/Link/Rect[126.0 222.0 228.4 235.0]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 535 0]>>endobj
+180 0 obj<</Subtype/Link/Rect[72.0 195.6 242.2 208.6]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 734 0]>>endobj
+181 0 obj<</Subtype/Link/Rect[108.0 182.4 187.1 195.4]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 696 0]>>endobj
+182 0 obj<</Subtype/Link/Rect[108.0 169.2 290.8 182.2]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 463 0]>>endobj
+183 0 obj<</Subtype/Link/Rect[108.0 156.0 240.0 169.0]/Border[0 0 0]/Dest[1689 0 R/XYZ 0 276 0]>>endobj
+184 0 obj<</Subtype/Link/Rect[108.0 142.8 277.0 155.8]/Border[0 0 0]/Dest[1701 0 R/XYZ 0 546 0]>>endobj
+185 0 obj<</Subtype/Link/Rect[126.0 129.6 253.7 142.6]/Border[0 0 0]/Dest[1701 0 R/XYZ 0 404 0]>>endobj
+186 0 obj<</Subtype/Link/Rect[108.0 116.4 330.4 129.4]/Border[0 0 0]/Dest[1705 0 R/XYZ 0 177 0]>>endobj
+187 0 obj<</Subtype/Link/Rect[108.0 103.2 349.4 116.2]/Border[0 0 0]/Dest[1713 0 R/XYZ 0 362 0]>>endobj
+188 0 obj<</Subtype/Link/Rect[108.0 90.0 289.3 103.0]/Border[0 0 0]/Dest[1715 0 R/XYZ 0 527 0]>>endobj
+189 0 obj[147 0 R
 148 0 R
 149 0 R
 150 0 R
@@ -353,54 +355,54 @@ endobj
 183 0 R
 184 0 R
 185 0 R
-186 0 R]endobj
-188 0 obj<</Subtype/Link/Rect[72.0 684.0 311.7 697.0]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 734 0]>>endobj
-189 0 obj<</Subtype/Link/Rect[108.0 670.8 202.7 683.8]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 696 0]>>endobj
-190 0 obj<</Subtype/Link/Rect[126.0 657.6 376.8 670.6]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 265 0]>>endobj
-191 0 obj<</Subtype/Link/Rect[126.0 644.4 411.1 657.4]/Border[0 0 0]/Dest[1716 0 R/XYZ 0 639 0]>>endobj
-192 0 obj<</Subtype/Link/Rect[126.0 631.2 388.8 644.2]/Border[0 0 0]/Dest[1716 0 R/XYZ 0 288 0]>>endobj
-193 0 obj<</Subtype/Link/Rect[72.0 604.8 226.6 617.8]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 734 0]>>endobj
-194 0 obj<</Subtype/Link/Rect[108.0 591.6 210.1 604.6]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 696 0]>>endobj
-195 0 obj<</Subtype/Link/Rect[126.0 578.4 283.0 591.4]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 495 0]>>endobj
-196 0 obj<</Subtype/Link/Rect[126.0 565.2 281.8 578.2]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 318 0]>>endobj
-197 0 obj<</Subtype/Link/Rect[126.0 552.0 310.8 565.0]/Border[0 0 0]/Dest[1722 0 R/XYZ 0 734 0]>>endobj
-198 0 obj<</Subtype/Link/Rect[126.0 538.8 277.9 551.8]/Border[0 0 0]/Dest[1722 0 R/XYZ 0 594 0]>>endobj
-199 0 obj<</Subtype/Link/Rect[126.0 525.6 292.2 538.6]/Border[0 0 0]/Dest[1724 0 R/XYZ 0 256 0]>>endobj
-200 0 obj<</Subtype/Link/Rect[126.0 512.4 275.1 525.4]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 613 0]>>endobj
-201 0 obj<</Subtype/Link/Rect[126.0 499.2 454.1 512.2]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 528 0]>>endobj
-202 0 obj<</Subtype/Link/Rect[126.0 486.0 226.8 499.0]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 324 0]>>endobj
-203 0 obj<</Subtype/Link/Rect[126.0 472.8 243.0 485.8]/Border[0 0 0]/Dest[1728 0 R/XYZ 0 314 0]>>endobj
-204 0 obj<</Subtype/Link/Rect[72.0 446.4 354.3 459.4]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 734 0]>>endobj
-205 0 obj<</Subtype/Link/Rect[108.0 433.2 333.2 446.2]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 348 0]>>endobj
-206 0 obj<</Subtype/Link/Rect[126.0 420.0 200.6 433.0]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 220 0]>>endobj
-207 0 obj<</Subtype/Link/Rect[126.0 406.8 227.1 419.8]/Border[0 0 0]/Dest[1734 0 R/XYZ 0 349 0]>>endobj
-208 0 obj<</Subtype/Link/Rect[126.0 393.6 218.6 406.6]/Border[0 0 0]/Dest[1734 0 R/XYZ 0 211 0]>>endobj
-209 0 obj<</Subtype/Link/Rect[126.0 380.4 238.7 393.4]/Border[0 0 0]/Dest[1736 0 R/XYZ 0 734 0]>>endobj
-210 0 obj<</Subtype/Link/Rect[108.0 367.2 387.9 380.2]/Border[0 0 0]/Dest[1736 0 R/XYZ 0 248 0]>>endobj
-211 0 obj<</Subtype/Link/Rect[126.0 354.0 279.1 367.0]/Border[0 0 0]/Dest[1738 0 R/XYZ 0 190 0]>>endobj
-212 0 obj<</Subtype/Link/Rect[126.0 340.8 247.6 353.8]/Border[0 0 0]/Dest[1740 0 R/XYZ 0 652 0]>>endobj
-213 0 obj<</Subtype/Link/Rect[126.0 327.6 211.2 340.6]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 384 0]>>endobj
-214 0 obj<</Subtype/Link/Rect[126.0 314.4 218.0 327.4]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 286 0]>>endobj
-215 0 obj<</Subtype/Link/Rect[126.0 301.2 224.1 314.2]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 148 0]>>endobj
-216 0 obj<</Subtype/Link/Rect[72.0 274.8 268.2 287.8]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 734 0]>>endobj
-217 0 obj<</Subtype/Link/Rect[108.0 261.6 231.7 274.6]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 696 0]>>endobj
-218 0 obj<</Subtype/Link/Rect[108.0 248.4 253.4 261.4]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 463 0]>>endobj
-219 0 obj<</Subtype/Link/Rect[108.0 235.2 216.8 248.2]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 734 0]>>endobj
-220 0 obj<</Subtype/Link/Rect[108.0 222.0 241.5 235.0]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 381 0]>>endobj
-221 0 obj<</Subtype/Link/Rect[126.0 208.8 336.8 221.8]/Border[0 0 0]/Dest[1750 0 R/XYZ 0 734 0]>>endobj
-222 0 obj<</Subtype/Link/Rect[108.0 195.6 245.8 208.6]/Border[0 0 0]/Dest[1754 0 R/XYZ 0 332 0]>>endobj
-223 0 obj<</Subtype/Link/Rect[108.0 182.4 315.8 195.4]/Border[0 0 0]/Dest[1756 0 R/XYZ 0 388 0]>>endobj
-224 0 obj<</Subtype/Link/Rect[108.0 169.2 290.1 182.2]/Border[0 0 0]/Dest[1758 0 R/XYZ 0 407 0]>>endobj
-225 0 obj<</Subtype/Link/Rect[108.0 156.0 270.5 169.0]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 718 0]>>endobj
-226 0 obj<</Subtype/Link/Rect[108.0 142.8 281.8 155.8]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 300 0]>>endobj
-227 0 obj<</Subtype/Link/Rect[108.0 129.6 276.6 142.6]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 520 0]>>endobj
-228 0 obj<</Subtype/Link/Rect[108.0 116.4 221.7 129.4]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 432 0]>>endobj
-229 0 obj<</Subtype/Link/Rect[72.0 90.0 407.8 103.0]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 734 0]>>endobj
-230 0 obj<</Subtype/Link/Rect[108.0 76.8 184.7 89.8]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 672 0]>>endobj
-231 0 obj<</Subtype/Link/Rect[126.0 63.6 184.7 76.6]/Border[0 0 0]/Dest[1766 0 R/XYZ 0 652 0]>>endobj
-232 0 obj[188 0 R
-189 0 R
-190 0 R
+186 0 R
+187 0 R
+188 0 R]endobj
+190 0 obj<</Subtype/Link/Rect[72.0 684.0 431.7 697.0]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 734 0]>>endobj
+191 0 obj<</Subtype/Link/Rect[108.0 670.8 170.0 683.8]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 672 0]>>endobj
+192 0 obj<</Subtype/Link/Rect[108.0 657.6 187.1 670.6]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 544 0]>>endobj
+193 0 obj<</Subtype/Link/Rect[108.0 644.4 239.1 657.4]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 231 0]>>endobj
+194 0 obj<</Subtype/Link/Rect[126.0 631.2 211.8 644.2]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 560 0]>>endobj
+195 0 obj<</Subtype/Link/Rect[108.0 618.0 227.5 631.0]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 409 0]>>endobj
+196 0 obj<</Subtype/Link/Rect[126.0 604.8 312.1 617.8]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 294 0]>>endobj
+197 0 obj<</Subtype/Link/Rect[126.0 591.6 319.4 604.6]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 734 0]>>endobj
+198 0 obj<</Subtype/Link/Rect[126.0 578.4 254.3 591.4]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 635 0]>>endobj
+199 0 obj<</Subtype/Link/Rect[126.0 565.2 312.4 578.2]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 194 0]>>endobj
+200 0 obj<</Subtype/Link/Rect[126.0 552.0 292.8 565.0]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 560 0]>>endobj
+201 0 obj<</Subtype/Link/Rect[126.0 538.8 226.5 551.8]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 383 0]>>endobj
+202 0 obj<</Subtype/Link/Rect[108.0 525.6 265.4 538.6]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 245 0]>>endobj
+203 0 obj<</Subtype/Link/Rect[126.0 512.4 213.4 525.4]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 143 0]>>endobj
+204 0 obj<</Subtype/Link/Rect[126.0 499.2 220.1 512.2]/Border[0 0 0]/Dest[1727 0 R/XYZ 0 533 0]>>endobj
+205 0 obj<</Subtype/Link/Rect[126.0 486.0 244.6 499.0]/Border[0 0 0]/Dest[1727 0 R/XYZ 0 264 0]>>endobj
+206 0 obj<</Subtype/Link/Rect[108.0 472.8 183.5 485.8]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 555 0]>>endobj
+207 0 obj<</Subtype/Link/Rect[108.0 459.6 182.9 472.6]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 335 0]>>endobj
+208 0 obj<</Subtype/Link/Rect[72.0 433.2 268.2 446.2]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 734 0]>>endobj
+209 0 obj<</Subtype/Link/Rect[108.0 420.0 231.7 433.0]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 696 0]>>endobj
+210 0 obj<</Subtype/Link/Rect[108.0 406.8 253.4 419.8]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 463 0]>>endobj
+211 0 obj<</Subtype/Link/Rect[108.0 393.6 216.8 406.6]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 734 0]>>endobj
+212 0 obj<</Subtype/Link/Rect[108.0 380.4 241.5 393.4]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 381 0]>>endobj
+213 0 obj<</Subtype/Link/Rect[126.0 367.2 336.8 380.2]/Border[0 0 0]/Dest[1749 0 R/XYZ 0 734 0]>>endobj
+214 0 obj<</Subtype/Link/Rect[108.0 354.0 245.8 367.0]/Border[0 0 0]/Dest[1753 0 R/XYZ 0 332 0]>>endobj
+215 0 obj<</Subtype/Link/Rect[108.0 340.8 315.8 353.8]/Border[0 0 0]/Dest[1755 0 R/XYZ 0 388 0]>>endobj
+216 0 obj<</Subtype/Link/Rect[108.0 327.6 290.1 340.6]/Border[0 0 0]/Dest[1757 0 R/XYZ 0 407 0]>>endobj
+217 0 obj<</Subtype/Link/Rect[108.0 314.4 270.5 327.4]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 718 0]>>endobj
+218 0 obj<</Subtype/Link/Rect[108.0 301.2 281.8 314.2]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 300 0]>>endobj
+219 0 obj<</Subtype/Link/Rect[108.0 288.0 276.6 301.0]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 520 0]>>endobj
+220 0 obj<</Subtype/Link/Rect[108.0 274.8 221.7 287.8]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 432 0]>>endobj
+221 0 obj<</Subtype/Link/Rect[72.0 248.4 241.6 261.4]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 734 0]>>endobj
+222 0 obj<</Subtype/Link/Rect[108.0 235.2 267.8 248.2]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 696 0]>>endobj
+223 0 obj<</Subtype/Link/Rect[108.0 222.0 211.3 235.0]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 385 0]>>endobj
+224 0 obj<</Subtype/Link/Rect[126.0 208.8 181.0 221.8]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 351 0]>>endobj
+225 0 obj<</Subtype/Link/Rect[126.0 195.6 190.8 208.6]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 215 0]>>endobj
+226 0 obj<</Subtype/Link/Rect[126.0 182.4 193.8 195.4]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 560 0]>>endobj
+227 0 obj<</Subtype/Link/Rect[108.0 169.2 282.1 182.2]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 430 0]>>endobj
+228 0 obj<</Subtype/Link/Rect[126.0 156.0 211.5 169.0]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 315 0]>>endobj
+229 0 obj<</Subtype/Link/Rect[126.0 142.8 184.0 155.8]/Border[0 0 0]/Dest[1767 0 R/XYZ 0 734 0]>>endobj
+230 0 obj<</Subtype/Link/Rect[72.0 116.4 252.6 129.4]/Border[0 0 0]/Dest[1769 0 R/XYZ 0 734 0]>>endobj
+231 0 obj<</Subtype/Link/Rect[72.0 90.0 255.6 103.0]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 734 0]>>endobj
+232 0 obj<</Subtype/Link/Rect[108.0 76.8 190.8 89.8]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 696 0]>>endobj
+233 0 obj<</Subtype/Link/Rect[108.0 63.6 197.8 76.6]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 449 0]>>endobj
+234 0 obj[190 0 R
 191 0 R
 192 0 R
 193 0 R
@@ -441,52 +443,52 @@ endobj
 228 0 R
 229 0 R
 230 0 R
-231 0 R]endobj
-233 0 obj<</Subtype/Link/Rect[72.0 684.0 241.6 697.0]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 734 0]>>endobj
-234 0 obj<</Subtype/Link/Rect[108.0 670.8 267.8 683.8]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 696 0]>>endobj
-235 0 obj<</Subtype/Link/Rect[108.0 657.6 211.3 670.6]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 385 0]>>endobj
-236 0 obj<</Subtype/Link/Rect[126.0 644.4 181.0 657.4]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 351 0]>>endobj
-237 0 obj<</Subtype/Link/Rect[126.0 631.2 190.8 644.2]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 215 0]>>endobj
-238 0 obj<</Subtype/Link/Rect[126.0 618.0 193.8 631.0]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 560 0]>>endobj
-239 0 obj<</Subtype/Link/Rect[108.0 604.8 282.1 617.8]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 430 0]>>endobj
-240 0 obj<</Subtype/Link/Rect[126.0 591.6 211.5 604.6]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 315 0]>>endobj
-241 0 obj<</Subtype/Link/Rect[126.0 578.4 184.0 591.4]/Border[0 0 0]/Dest[1772 0 R/XYZ 0 734 0]>>endobj
-242 0 obj<</Subtype/Link/Rect[72.0 552.0 207.1 565.0]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 734 0]>>endobj
-243 0 obj<</Subtype/Link/Rect[108.0 538.8 187.1 551.8]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 696 0]>>endobj
-244 0 obj<</Subtype/Link/Rect[108.0 525.6 255.3 538.6]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 621 0]>>endobj
-245 0 obj<</Subtype/Link/Rect[108.0 512.4 247.6 525.4]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 405 0]>>endobj
-246 0 obj<</Subtype/Link/Rect[108.0 499.2 203.6 512.2]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 150 0]>>endobj
-247 0 obj<</Subtype/Link/Rect[108.0 486.0 242.1 499.0]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 596 0]>>endobj
-248 0 obj<</Subtype/Link/Rect[108.0 472.8 212.5 485.8]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 290 0]>>endobj
-249 0 obj<</Subtype/Link/Rect[72.0 446.4 213.5 459.4]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 734 0]>>endobj
-250 0 obj<</Subtype/Link/Rect[108.0 433.2 272.0 446.2]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 696 0]>>endobj
-251 0 obj<</Subtype/Link/Rect[108.0 420.0 219.5 433.0]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 397 0]>>endobj
-252 0 obj<</Subtype/Link/Rect[72.0 393.6 144.7 406.6]/Border[0 0 0]/Dest[1780 0 R/XYZ 0 734 0]>>endobj
-253 0 obj<</Subtype/Link/Rect[72.0 367.2 255.6 380.2]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 734 0]>>endobj
-254 0 obj<</Subtype/Link/Rect[108.0 354.0 190.8 367.0]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 696 0]>>endobj
-255 0 obj<</Subtype/Link/Rect[108.0 340.8 197.8 353.8]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 449 0]>>endobj
-256 0 obj<</Subtype/Link/Rect[108.0 327.6 175.2 340.6]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 189 0]>>endobj
-257 0 obj<</Subtype/Link/Rect[108.0 314.4 175.8 327.4]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 639 0]>>endobj
-258 0 obj<</Subtype/Link/Rect[108.0 301.2 174.6 314.2]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 458 0]>>endobj
-259 0 obj<</Subtype/Link/Rect[108.0 288.0 174.6 301.0]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 383 0]>>endobj
-260 0 obj<</Subtype/Link/Rect[108.0 274.8 177.0 287.8]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 215 0]>>endobj
-261 0 obj<</Subtype/Link/Rect[108.0 261.6 189.3 274.6]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 734 0]>>endobj
-262 0 obj<</Subtype/Link/Rect[108.0 248.4 188.7 261.4]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 605 0]>>endobj
-263 0 obj<</Subtype/Link/Rect[108.0 235.2 196.0 248.2]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 530 0]>>endobj
-264 0 obj<</Subtype/Link/Rect[72.0 208.8 181.1 221.8]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 734 0]>>endobj
-265 0 obj<</Subtype/Link/Rect[108.0 195.6 162.7 208.6]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 655 0]>>endobj
-266 0 obj<</Subtype/Link/Rect[108.0 182.4 178.9 195.4]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 408 0]>>endobj
-267 0 obj<</Subtype/Link/Rect[108.0 169.2 160.2 182.2]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 293 0]>>endobj
-268 0 obj<</Subtype/Link/Rect[108.0 156.0 260.5 169.0]/Border[0 0 0]/Dest[1794 0 R/XYZ 0 228 0]>>endobj
-269 0 obj<</Subtype/Link/Rect[108.0 142.8 152.3 155.8]/Border[0 0 0]/Dest[1796 0 R/XYZ 0 734 0]>>endobj
-270 0 obj<</Subtype/Link/Rect[126.0 129.6 262.3 142.6]/Border[0 0 0]/Dest[1796 0 R/XYZ 0 700 0]>>endobj
-271 0 obj<</Subtype/Link/Rect[72.0 103.2 271.5 116.2]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 734 0]>>endobj
-272 0 obj<</Subtype/Link/Rect[108.0 90.0 215.5 103.0]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 668 0]>>endobj
-273 0 obj<</Subtype/Link/Rect[108.0 76.8 182.0 89.8]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 461 0]>>endobj
-274 0 obj<</Subtype/Link/Rect[126.0 63.6 514.3 76.6]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 427 0]>>endobj
-275 0 obj[233 0 R
-234 0 R
-235 0 R
+231 0 R
+232 0 R
+233 0 R]endobj
+235 0 obj<</Subtype/Link/Rect[72.0 684.0 255.6 697.0]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 734 0]>>endobj
+236 0 obj<</Subtype/Link/Rect[108.0 670.8 175.2 683.8]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 189 0]>>endobj
+237 0 obj<</Subtype/Link/Rect[108.0 657.6 175.8 670.6]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 639 0]>>endobj
+238 0 obj<</Subtype/Link/Rect[108.0 644.4 174.6 657.4]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 458 0]>>endobj
+239 0 obj<</Subtype/Link/Rect[108.0 631.2 174.6 644.2]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 383 0]>>endobj
+240 0 obj<</Subtype/Link/Rect[108.0 618.0 177.0 631.0]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 215 0]>>endobj
+241 0 obj<</Subtype/Link/Rect[108.0 604.8 189.3 617.8]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 734 0]>>endobj
+242 0 obj<</Subtype/Link/Rect[108.0 591.6 188.7 604.6]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 605 0]>>endobj
+243 0 obj<</Subtype/Link/Rect[108.0 578.4 196.0 591.4]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 530 0]>>endobj
+244 0 obj<</Subtype/Link/Rect[72.0 552.0 266.9 565.0]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 734 0]>>endobj
+245 0 obj<</Subtype/Link/Rect[108.0 538.8 190.6 551.8]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 696 0]>>endobj
+246 0 obj<</Subtype/Link/Rect[108.0 525.6 200.6 538.6]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 423 0]>>endobj
+247 0 obj<</Subtype/Link/Rect[126.0 512.4 223.8 525.4]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 734 0]>>endobj
+248 0 obj<</Subtype/Link/Rect[126.0 499.2 243.6 512.2]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 635 0]>>endobj
+249 0 obj<</Subtype/Link/Rect[126.0 486.0 219.8 499.0]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 564 0]>>endobj
+250 0 obj<</Subtype/Link/Rect[126.0 472.8 195.4 485.8]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 492 0]>>endobj
+251 0 obj<</Subtype/Link/Rect[108.0 459.6 216.8 472.6]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 328 0]>>endobj
+252 0 obj<</Subtype/Link/Rect[72.0 433.2 207.1 446.2]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 734 0]>>endobj
+253 0 obj<</Subtype/Link/Rect[108.0 420.0 187.1 433.0]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 696 0]>>endobj
+254 0 obj<</Subtype/Link/Rect[108.0 406.8 255.3 419.8]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 621 0]>>endobj
+255 0 obj<</Subtype/Link/Rect[108.0 393.6 247.6 406.6]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 405 0]>>endobj
+256 0 obj<</Subtype/Link/Rect[108.0 380.4 203.6 393.4]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 150 0]>>endobj
+257 0 obj<</Subtype/Link/Rect[108.0 367.2 242.1 380.2]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 596 0]>>endobj
+258 0 obj<</Subtype/Link/Rect[108.0 354.0 212.5 367.0]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 290 0]>>endobj
+259 0 obj<</Subtype/Link/Rect[72.0 327.6 213.5 340.6]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 734 0]>>endobj
+260 0 obj<</Subtype/Link/Rect[108.0 314.4 272.0 327.4]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 696 0]>>endobj
+261 0 obj<</Subtype/Link/Rect[108.0 301.2 219.5 314.2]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 397 0]>>endobj
+262 0 obj<</Subtype/Link/Rect[72.0 274.8 144.7 287.8]/Border[0 0 0]/Dest[1791 0 R/XYZ 0 734 0]>>endobj
+263 0 obj<</Subtype/Link/Rect[72.0 248.4 181.1 261.4]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 734 0]>>endobj
+264 0 obj<</Subtype/Link/Rect[108.0 235.2 162.7 248.2]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 655 0]>>endobj
+265 0 obj<</Subtype/Link/Rect[108.0 222.0 178.9 235.0]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 408 0]>>endobj
+266 0 obj<</Subtype/Link/Rect[108.0 208.8 160.2 221.8]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 293 0]>>endobj
+267 0 obj<</Subtype/Link/Rect[108.0 195.6 260.5 208.6]/Border[0 0 0]/Dest[1797 0 R/XYZ 0 228 0]>>endobj
+268 0 obj<</Subtype/Link/Rect[108.0 182.4 152.3 195.4]/Border[0 0 0]/Dest[1799 0 R/XYZ 0 734 0]>>endobj
+269 0 obj<</Subtype/Link/Rect[126.0 169.2 262.3 182.2]/Border[0 0 0]/Dest[1799 0 R/XYZ 0 700 0]>>endobj
+270 0 obj<</Subtype/Link/Rect[72.0 142.8 271.5 155.8]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 734 0]>>endobj
+271 0 obj<</Subtype/Link/Rect[108.0 129.6 215.5 142.6]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 668 0]>>endobj
+272 0 obj<</Subtype/Link/Rect[108.0 116.4 182.0 129.4]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 461 0]>>endobj
+273 0 obj<</Subtype/Link/Rect[126.0 103.2 514.3 116.2]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 427 0]>>endobj
+274 0 obj<</Subtype/Link/Rect[126.0 90.0 519.5 103.0]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 734 0]>>endobj
+275 0 obj<</Subtype/Link/Rect[126.0 76.8 470.9 89.8]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 523 0]>>endobj
+276 0 obj<</Subtype/Link/Rect[126.0 63.6 440.7 76.6]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 408 0]>>endobj
+277 0 obj[235 0 R
 236 0 R
 237 0 R
 238 0 R
@@ -525,55 +527,51 @@ endobj
 271 0 R
 272 0 R
 273 0 R
-274 0 R]endobj
-276 0 obj<</Subtype/Link/Rect[72.0 684.0 271.5 697.0]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 734 0]>>endobj
-277 0 obj<</Subtype/Link/Rect[126.0 670.8 519.5 683.8]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 734 0]>>endobj
-278 0 obj<</Subtype/Link/Rect[126.0 657.6 470.9 670.6]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 523 0]>>endobj
-279 0 obj<</Subtype/Link/Rect[126.0 644.4 440.7 657.4]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 408 0]>>endobj
-280 0 obj<</Subtype/Link/Rect[108.0 631.2 248.2 644.2]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 151 0]>>endobj
-281 0 obj<</Subtype/Link/Rect[126.0 618.0 333.5 631.0]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 118 0]>>endobj
-282 0 obj<</Subtype/Link/Rect[126.0 604.8 332.5 617.8]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 626 0]>>endobj
-283 0 obj<</Subtype/Link/Rect[126.0 591.6 316.3 604.6]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 475 0]>>endobj
-284 0 obj<</Subtype/Link/Rect[126.0 578.4 282.1 591.4]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 377 0]>>endobj
-285 0 obj<</Subtype/Link/Rect[126.0 565.2 296.5 578.2]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 292 0]>>endobj
-286 0 obj<</Subtype/Link/Rect[108.0 552.0 206.7 565.0]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 207 0]>>endobj
-287 0 obj<</Subtype/Link/Rect[108.0 538.8 267.8 551.8]/Border[0 0 0]/Dest[1804 0 R/XYZ 0 626 0]>>endobj
-288 0 obj<</Subtype/Link/Rect[72.0 512.4 246.2 525.4]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 734 0]>>endobj
-289 0 obj<</Subtype/Link/Rect[108.0 499.2 291.9 512.2]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 655 0]>>endobj
-290 0 obj<</Subtype/Link/Rect[126.0 486.0 213.4 499.0]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 621 0]>>endobj
-291 0 obj<</Subtype/Link/Rect[126.0 472.8 273.9 485.8]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 510 0]>>endobj
-292 0 obj<</Subtype/Link/Rect[108.0 459.6 337.1 472.6]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 494 0]>>endobj
-293 0 obj<</Subtype/Link/Rect[108.0 446.4 226.9 459.4]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 353 0]>>endobj
-294 0 obj<</Subtype/Link/Rect[126.0 433.2 372.0 446.2]/Border[0 0 0]/Dest[1810 0 R/XYZ 0 613 0]>>endobj
-295 0 obj<</Subtype/Link/Rect[108.0 420.0 256.8 433.0]/Border[0 0 0]/Dest[1812 0 R/XYZ 0 734 0]>>endobj
-296 0 obj<</Subtype/Link/Rect[126.0 406.8 265.0 419.8]/Border[0 0 0]/Dest[1812 0 R/XYZ 0 579 0]>>endobj
-297 0 obj<</Subtype/Link/Rect[126.0 393.6 313.3 406.6]/Border[0 0 0]/Dest[1814 0 R/XYZ 0 734 0]>>endobj
-298 0 obj<</Subtype/Link/Rect[72.0 367.2 204.0 380.2]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 734 0]>>endobj
-299 0 obj<</Subtype/Link/Rect[108.0 354.0 187.1 367.0]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 696 0]>>endobj
-300 0 obj<</Subtype/Link/Rect[108.0 340.8 188.0 353.8]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 423 0]>>endobj
-301 0 obj<</Subtype/Link/Rect[108.0 327.6 190.5 340.6]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 282 0]>>endobj
-302 0 obj<</Subtype/Link/Rect[108.0 314.4 195.4 327.4]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 613 0]>>endobj
-303 0 obj<</Subtype/Link/Rect[108.0 301.2 267.8 314.2]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 260 0]>>endobj
-304 0 obj<</Subtype/Link/Rect[108.0 288.0 166.4 301.0]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 159 0]>>endobj
-305 0 obj<</Subtype/Link/Rect[72.0 261.6 225.7 274.6]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 734 0]>>endobj
-306 0 obj<</Subtype/Link/Rect[108.0 248.4 187.1 261.4]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 696 0]>>endobj
-307 0 obj<</Subtype/Link/Rect[108.0 235.2 190.2 248.2]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 529 0]>>endobj
-308 0 obj<</Subtype/Link/Rect[108.0 222.0 156.0 235.0]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 199 0]>>endobj
-309 0 obj<</Subtype/Link/Rect[126.0 208.8 186.2 221.8]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 165 0]>>endobj
-310 0 obj<</Subtype/Link/Rect[126.0 195.6 186.2 208.6]/Border[0 0 0]/Dest[1822 0 R/XYZ 0 734 0]>>endobj
-311 0 obj<</Subtype/Link/Rect[126.0 182.4 186.2 195.4]/Border[0 0 0]/Dest[1822 0 R/XYZ 0 530 0]>>endobj
-312 0 obj<</Subtype/Link/Rect[126.0 169.2 186.2 182.2]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 626 0]>>endobj
-313 0 obj<</Subtype/Link/Rect[126.0 156.0 186.2 169.0]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 475 0]>>endobj
-314 0 obj<</Subtype/Link/Rect[126.0 142.8 186.2 155.8]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 351 0]>>endobj
-315 0 obj<</Subtype/Link/Rect[126.0 129.6 186.2 142.6]/Border[0 0 0]/Dest[1826 0 R/XYZ 0 734 0]>>endobj
-316 0 obj<</Subtype/Link/Rect[126.0 116.4 186.2 129.4]/Border[0 0 0]/Dest[1826 0 R/XYZ 0 371 0]>>endobj
-317 0 obj<</Subtype/Link/Rect[126.0 103.2 186.2 116.2]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 705 0]>>endobj
-318 0 obj<</Subtype/Link/Rect[126.0 90.0 197.2 103.0]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 515 0]>>endobj
-319 0 obj<</Subtype/Link/Rect[126.0 76.8 197.2 89.8]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 377 0]>>endobj
-320 0 obj<</Subtype/Link/Rect[108.0 63.6 226.9 76.6]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 239 0]>>endobj
-321 0 obj[276 0 R
-277 0 R
-278 0 R
+274 0 R
+275 0 R
+276 0 R]endobj
+278 0 obj<</Subtype/Link/Rect[72.0 684.0 271.5 697.0]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 734 0]>>endobj
+279 0 obj<</Subtype/Link/Rect[108.0 670.8 248.2 683.8]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 151 0]>>endobj
+280 0 obj<</Subtype/Link/Rect[126.0 657.6 333.5 670.6]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 118 0]>>endobj
+281 0 obj<</Subtype/Link/Rect[126.0 644.4 332.5 657.4]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 626 0]>>endobj
+282 0 obj<</Subtype/Link/Rect[126.0 631.2 316.3 644.2]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 475 0]>>endobj
+283 0 obj<</Subtype/Link/Rect[126.0 618.0 282.1 631.0]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 377 0]>>endobj
+284 0 obj<</Subtype/Link/Rect[126.0 604.8 296.5 617.8]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 292 0]>>endobj
+285 0 obj<</Subtype/Link/Rect[108.0 591.6 206.7 604.6]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 207 0]>>endobj
+286 0 obj<</Subtype/Link/Rect[108.0 578.4 267.8 591.4]/Border[0 0 0]/Dest[1807 0 R/XYZ 0 626 0]>>endobj
+287 0 obj<</Subtype/Link/Rect[72.0 552.0 246.2 565.0]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 734 0]>>endobj
+288 0 obj<</Subtype/Link/Rect[108.0 538.8 291.9 551.8]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 655 0]>>endobj
+289 0 obj<</Subtype/Link/Rect[126.0 525.6 213.4 538.6]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 621 0]>>endobj
+290 0 obj<</Subtype/Link/Rect[126.0 512.4 273.9 525.4]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 510 0]>>endobj
+291 0 obj<</Subtype/Link/Rect[108.0 499.2 337.1 512.2]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 494 0]>>endobj
+292 0 obj<</Subtype/Link/Rect[108.0 486.0 226.9 499.0]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 353 0]>>endobj
+293 0 obj<</Subtype/Link/Rect[108.0 472.8 256.8 485.8]/Border[0 0 0]/Dest[1813 0 R/XYZ 0 613 0]>>endobj
+294 0 obj<</Subtype/Link/Rect[126.0 459.6 265.0 472.6]/Border[0 0 0]/Dest[1813 0 R/XYZ 0 458 0]>>endobj
+295 0 obj<</Subtype/Link/Rect[126.0 446.4 313.3 459.4]/Border[0 0 0]/Dest[1815 0 R/XYZ 0 639 0]>>endobj
+296 0 obj<</Subtype/Link/Rect[72.0 420.0 204.0 433.0]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 734 0]>>endobj
+297 0 obj<</Subtype/Link/Rect[108.0 406.8 187.1 419.8]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 696 0]>>endobj
+298 0 obj<</Subtype/Link/Rect[108.0 393.6 188.0 406.6]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 423 0]>>endobj
+299 0 obj<</Subtype/Link/Rect[108.0 380.4 190.5 393.4]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 282 0]>>endobj
+300 0 obj<</Subtype/Link/Rect[108.0 367.2 195.4 380.2]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 613 0]>>endobj
+301 0 obj<</Subtype/Link/Rect[108.0 354.0 267.8 367.0]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 260 0]>>endobj
+302 0 obj<</Subtype/Link/Rect[108.0 340.8 166.4 353.8]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 159 0]>>endobj
+303 0 obj<</Subtype/Link/Rect[72.0 314.4 225.7 327.4]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 734 0]>>endobj
+304 0 obj<</Subtype/Link/Rect[108.0 301.2 187.1 314.2]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 696 0]>>endobj
+305 0 obj<</Subtype/Link/Rect[108.0 288.0 190.2 301.0]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 529 0]>>endobj
+306 0 obj<</Subtype/Link/Rect[108.0 274.8 156.0 287.8]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 199 0]>>endobj
+307 0 obj<</Subtype/Link/Rect[126.0 261.6 186.2 274.6]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 165 0]>>endobj
+308 0 obj<</Subtype/Link/Rect[126.0 248.4 186.2 261.4]/Border[0 0 0]/Dest[1823 0 R/XYZ 0 734 0]>>endobj
+309 0 obj<</Subtype/Link/Rect[126.0 235.2 186.2 248.2]/Border[0 0 0]/Dest[1823 0 R/XYZ 0 530 0]>>endobj
+310 0 obj<</Subtype/Link/Rect[126.0 222.0 186.2 235.0]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 626 0]>>endobj
+311 0 obj<</Subtype/Link/Rect[126.0 208.8 186.2 221.8]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 475 0]>>endobj
+312 0 obj<</Subtype/Link/Rect[126.0 195.6 186.2 208.6]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 351 0]>>endobj
+313 0 obj<</Subtype/Link/Rect[126.0 182.4 186.2 195.4]/Border[0 0 0]/Dest[1827 0 R/XYZ 0 734 0]>>endobj
+314 0 obj<</Subtype/Link/Rect[126.0 169.2 186.2 182.2]/Border[0 0 0]/Dest[1827 0 R/XYZ 0 371 0]>>endobj
+315 0 obj<</Subtype/Link/Rect[126.0 156.0 186.2 169.0]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 705 0]>>endobj
+316 0 obj<</Subtype/Link/Rect[126.0 142.8 197.2 155.8]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 515 0]>>endobj
+317 0 obj<</Subtype/Link/Rect[126.0 129.6 197.2 142.6]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 377 0]>>endobj
+318 0 obj<</Subtype/Link/Rect[108.0 116.4 226.9 129.4]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 239 0]>>endobj
+319 0 obj[278 0 R
 279 0 R
 280 0 R
 281 0 R
@@ -613,54 +611,54 @@ endobj
 315 0 R
 316 0 R
 317 0 R
-318 0 R
-319 0 R
-320 0 R]endobj
-322 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
-323 0 obj<</Subtype/Link/Rect[185.6 631.0 289.8 644.0]/Border[0 0 0]/A 322 0 R>>endobj
-324 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
-325 0 obj<</Subtype/Link/Rect[72.0 617.8 148.4 630.8]/Border[0 0 0]/A 324 0 R>>endobj
-326 0 obj<</S/URI/URI(mailto:jelmer@samba.org)>>endobj
-327 0 obj<</Subtype/Link/Rect[160.3 617.8 246.8 630.8]/Border[0 0 0]/A 326 0 R>>endobj
-328 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
-329 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 328 0 R>>endobj
-330 0 obj<</Subtype/Link/Rect[78.4 499.0 170.1 512.0]/Border[0 0 0]/Dest[1504 0 R/XYZ 0 271 0]>>endobj
-331 0 obj<</Subtype/Link/Rect[116.2 485.8 259.9 498.8]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 734 0]>>endobj
-332 0 obj<</Subtype/Link/Rect[160.5 472.6 302.9 485.6]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 696 0]>>endobj
-333 0 obj<</Subtype/Link/Rect[160.5 459.4 248.5 472.4]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 595 0]>>endobj
-334 0 obj<</Subtype/Link/Rect[160.5 446.2 367.0 459.2]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 528 0]>>endobj
-335 0 obj<</Subtype/Link/Rect[160.5 433.0 316.3 446.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 360 0]>>endobj
-336 0 obj<</Subtype/Link/Rect[160.5 419.8 503.0 432.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 193 0]>>endobj
-337 0 obj<</Subtype/Link/Rect[160.5 406.6 287.8 419.6]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 652 0]>>endobj
-338 0 obj<</Subtype/Link/Rect[116.2 393.4 410.5 406.4]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 734 0]>>endobj
-339 0 obj<</Subtype/Link/Rect[160.5 380.2 211.5 393.2]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 565 0]>>endobj
-340 0 obj<</Subtype/Link/Rect[160.5 367.0 526.6 380.0]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-341 0 obj<</Subtype/Link/Rect[144.0 353.8 173.9 366.8]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-342 0 obj<</Subtype/Link/Rect[160.5 340.6 348.1 353.6]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 189 0]>>endobj
-343 0 obj<</Subtype/Link/Rect[160.5 327.4 360.7 340.4]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 536 0]>>endobj
-344 0 obj<</Subtype/Link/Rect[160.5 314.2 220.1 327.2]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 357 0]>>endobj
-345 0 obj<</Subtype/Link/Rect[160.5 301.0 458.7 314.0]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 520 0]>>endobj
-346 0 obj<</Subtype/Link/Rect[160.5 287.8 268.4 300.8]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 161 0]>>endobj
-347 0 obj<</Subtype/Link/Rect[116.2 274.6 237.6 287.6]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-348 0 obj<</Subtype/Link/Rect[160.5 261.4 218.2 274.4]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 696 0]>>endobj
-349 0 obj<</Subtype/Link/Rect[160.5 248.2 302.9 261.2]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 449 0]>>endobj
-350 0 obj<</Subtype/Link/Rect[160.5 235.0 280.6 248.0]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 163 0]>>endobj
-351 0 obj<</Subtype/Link/Rect[160.5 221.8 205.7 234.8]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 362 0]>>endobj
-352 0 obj<</Subtype/Link/Rect[160.5 208.6 184.0 221.6]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 273 0]>>endobj
-353 0 obj<</Subtype/Link/Rect[160.5 195.4 190.8 208.4]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 198 0]>>endobj
-354 0 obj<</Subtype/Link/Rect[160.5 182.2 196.9 195.2]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 708 0]>>endobj
-355 0 obj<</Subtype/Link/Rect[160.5 169.0 185.2 182.0]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 226 0]>>endobj
-356 0 obj<</Subtype/Link/Rect[82.1 155.8 170.4 168.8]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 87 0]>>endobj
-357 0 obj<</Subtype/Link/Rect[116.2 142.6 252.5 155.6]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 734 0]>>endobj
-358 0 obj<</Subtype/Link/Rect[160.5 129.4 248.2 142.4]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 523 0]>>endobj
-359 0 obj<</Subtype/Link/Rect[160.5 116.2 269.6 129.2]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 197 0]>>endobj
-360 0 obj<</Subtype/Link/Rect[160.5 103.0 247.9 116.0]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 626 0]>>endobj
-361 0 obj<</Subtype/Link/Rect[116.2 89.8 253.8 102.8]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 734 0]>>endobj
-362 0 obj<</Subtype/Link/Rect[160.5 76.6 293.4 89.6]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 668 0]>>endobj
-363 0 obj<</Subtype/Link/Rect[116.2 63.4 367.1 76.4]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 734 0]>>endobj
-364 0 obj[323 0 R
+318 0 R]endobj
+320 0 obj<</S/URI/URI(http://www.samba.org/)>>endobj
+321 0 obj<</Subtype/Link/Rect[185.6 631.0 289.8 644.0]/Border[0 0 0]/A 320 0 R>>endobj
+322 0 obj<</S/URI/URI(mailto:jerry@samba.org)>>endobj
+323 0 obj<</Subtype/Link/Rect[72.0 617.8 148.4 630.8]/Border[0 0 0]/A 322 0 R>>endobj
+324 0 obj<</S/URI/URI(mailto:jelmer@samba.org)>>endobj
+325 0 obj<</Subtype/Link/Rect[160.3 617.8 246.8 630.8]/Border[0 0 0]/A 324 0 R>>endobj
+326 0 obj<</S/URI/URI(http://www.fsf.org/licenses/gpl.txt)>>endobj
+327 0 obj<</Subtype/Link/Rect[72.0 565.0 223.3 578.0]/Border[0 0 0]/A 326 0 R>>endobj
+328 0 obj<</Subtype/Link/Rect[78.4 499.0 170.1 512.0]/Border[0 0 0]/Dest[1501 0 R/XYZ 0 205 0]>>endobj
+329 0 obj<</Subtype/Link/Rect[116.2 485.8 259.9 498.8]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 734 0]>>endobj
+330 0 obj<</Subtype/Link/Rect[160.5 472.6 302.9 485.6]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 696 0]>>endobj
+331 0 obj<</Subtype/Link/Rect[160.5 459.4 248.5 472.4]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 595 0]>>endobj
+332 0 obj<</Subtype/Link/Rect[160.5 446.2 367.0 459.2]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 528 0]>>endobj
+333 0 obj<</Subtype/Link/Rect[160.5 433.0 316.3 446.0]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 360 0]>>endobj
+334 0 obj<</Subtype/Link/Rect[160.5 419.8 503.0 432.8]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 193 0]>>endobj
+335 0 obj<</Subtype/Link/Rect[160.5 406.6 287.8 419.6]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 652 0]>>endobj
+336 0 obj<</Subtype/Link/Rect[116.2 393.4 410.5 406.4]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 734 0]>>endobj
+337 0 obj<</Subtype/Link/Rect[160.5 380.2 211.5 393.2]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 565 0]>>endobj
+338 0 obj<</Subtype/Link/Rect[160.5 367.0 348.1 380.0]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 734 0]>>endobj
+339 0 obj<</Subtype/Link/Rect[160.5 353.8 360.7 366.8]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 412 0]>>endobj
+340 0 obj<</Subtype/Link/Rect[160.5 340.6 220.1 353.6]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 234 0]>>endobj
+341 0 obj<</Subtype/Link/Rect[160.5 327.4 458.7 340.4]/Border[0 0 0]/Dest[1521 0 R/XYZ 0 388 0]>>endobj
+342 0 obj<</Subtype/Link/Rect[160.5 314.2 268.4 327.2]/Border[0 0 0]/Dest[1523 0 R/XYZ 0 705 0]>>endobj
+343 0 obj<</Subtype/Link/Rect[116.2 301.0 237.6 314.0]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 734 0]>>endobj
+344 0 obj<</Subtype/Link/Rect[160.5 287.8 218.2 300.8]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 696 0]>>endobj
+345 0 obj<</Subtype/Link/Rect[160.5 274.6 302.9 287.6]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 449 0]>>endobj
+346 0 obj<</Subtype/Link/Rect[160.5 261.4 280.6 274.4]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 163 0]>>endobj
+347 0 obj<</Subtype/Link/Rect[160.5 248.2 205.7 261.2]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 362 0]>>endobj
+348 0 obj<</Subtype/Link/Rect[160.5 235.0 184.0 248.0]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 273 0]>>endobj
+349 0 obj<</Subtype/Link/Rect[160.5 221.8 190.8 234.8]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 198 0]>>endobj
+350 0 obj<</Subtype/Link/Rect[160.5 208.6 196.9 221.6]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 708 0]>>endobj
+351 0 obj<</Subtype/Link/Rect[160.5 195.4 250.6 208.4]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 129 0]>>endobj
+352 0 obj<</Subtype/Link/Rect[82.1 182.2 170.4 195.2]/Border[0 0 0]/Dest[1547 0 R/XYZ 0 539 0]>>endobj
+353 0 obj<</Subtype/Link/Rect[116.2 169.0 252.5 182.0]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 734 0]>>endobj
+354 0 obj<</Subtype/Link/Rect[160.5 155.8 248.2 168.8]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 523 0]>>endobj
+355 0 obj<</Subtype/Link/Rect[160.5 142.6 269.6 155.6]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 249 0]>>endobj
+356 0 obj<</Subtype/Link/Rect[160.5 129.4 247.9 142.4]/Border[0 0 0]/Dest[1557 0 R/XYZ 0 679 0]>>endobj
+357 0 obj<</Subtype/Link/Rect[116.2 116.2 392.8 129.2]/Border[0 0 0]/Dest[1559 0 R/XYZ 0 734 0]>>endobj
+358 0 obj<</Subtype/Link/Rect[116.2 103.0 367.1 116.0]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 734 0]>>endobj
+359 0 obj<</Subtype/Link/Rect[160.5 89.8 257.0 102.8]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 672 0]>>endobj
+360 0 obj<</Subtype/Link/Rect[160.5 76.6 217.0 89.6]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 584 0]>>endobj
+361 0 obj<</Subtype/Link/Rect[160.5 63.4 353.3 76.4]/Border[0 0 0]/Dest[1565 0 R/XYZ 0 734 0]>>endobj
+362 0 obj[321 0 R
+323 0 R
 325 0 R
 327 0 R
+328 0 R
 329 0 R
 330 0 R
 331 0 R
@@ -693,63 +691,61 @@ endobj
 358 0 R
 359 0 R
 360 0 R
-361 0 R
-362 0 R
-363 0 R]endobj
-365 0 obj<</Subtype/Link/Rect[160.5 721.0 257.0 734.0]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 672 0]>>endobj
-366 0 obj<</Subtype/Link/Rect[160.5 707.8 217.0 720.8]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 584 0]>>endobj
-367 0 obj<</Subtype/Link/Rect[160.5 694.6 353.3 707.6]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 692 0]>>endobj
-368 0 obj<</Subtype/Link/Rect[160.5 681.4 467.3 694.4]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 626 0]>>endobj
-369 0 obj<</Subtype/Link/Rect[160.5 668.2 299.2 681.2]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 160 0]>>endobj
-370 0 obj<</Subtype/Link/Rect[160.5 655.0 280.9 668.0]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 565 0]>>endobj
-371 0 obj<</Subtype/Link/Rect[160.5 641.8 326.4 654.8]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 283 0]>>endobj
-372 0 obj<</Subtype/Link/Rect[116.2 628.6 391.2 641.6]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 734 0]>>endobj
-373 0 obj<</Subtype/Link/Rect[160.5 615.4 257.0 628.4]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 672 0]>>endobj
-374 0 obj<</Subtype/Link/Rect[160.5 602.2 217.0 615.2]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 597 0]>>endobj
-375 0 obj<</Subtype/Link/Rect[160.5 589.0 396.4 602.0]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 225 0]>>endobj
-376 0 obj<</Subtype/Link/Rect[160.5 575.8 430.3 588.8]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 524 0]>>endobj
-377 0 obj<</Subtype/Link/Rect[160.5 562.6 304.1 575.6]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 323 0]>>endobj
-378 0 obj<</Subtype/Link/Rect[116.2 549.4 266.6 562.4]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 734 0]>>endobj
-379 0 obj<</Subtype/Link/Rect[160.5 536.2 210.6 549.2]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 668 0]>>endobj
-380 0 obj<</Subtype/Link/Rect[213.4 536.2 266.2 549.2]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 668 0]>>endobj
-381 0 obj<</Subtype/Link/Rect[160.5 523.0 210.6 536.0]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 444 0]>>endobj
-382 0 obj<</Subtype/Link/Rect[213.4 523.0 305.8 536.0]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 444 0]>>endobj
-383 0 obj<</Subtype/Link/Rect[160.5 509.8 291.3 522.8]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 127 0]>>endobj
-384 0 obj<</Subtype/Link/Rect[160.5 496.6 260.7 509.6]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 649 0]>>endobj
-385 0 obj<</Subtype/Link/Rect[160.5 483.4 262.3 496.4]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 560 0]>>endobj
-386 0 obj<</Subtype/Link/Rect[160.5 470.2 188.3 483.2]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 485 0]>>endobj
-387 0 obj<</Subtype/Link/Rect[116.2 457.0 308.7 470.0]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 734 0]>>endobj
-388 0 obj<</Subtype/Link/Rect[160.5 443.8 335.3 456.8]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 672 0]>>endobj
-389 0 obj<</Subtype/Link/Rect[160.5 430.6 345.7 443.6]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 494 0]>>endobj
-390 0 obj<</Subtype/Link/Rect[85.7 417.4 197.0 430.4]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 61 0]>>endobj
-391 0 obj<</Subtype/Link/Rect[121.8 404.2 328.9 417.2]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 734 0]>>endobj
-392 0 obj<</Subtype/Link/Rect[166.0 391.0 302.0 404.0]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 672 0]>>endobj
-393 0 obj<</Subtype/Link/Rect[121.8 377.8 394.0 390.8]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-394 0 obj<</Subtype/Link/Rect[166.0 364.6 483.2 377.6]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 672 0]>>endobj
-395 0 obj<</Subtype/Link/Rect[166.0 351.4 360.0 364.4]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 537 0]>>endobj
-396 0 obj<</Subtype/Link/Rect[166.0 338.2 270.2 351.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 383 0]>>endobj
-397 0 obj<</Subtype/Link/Rect[166.0 325.0 332.5 338.0]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 718 0]>>endobj
-398 0 obj<</Subtype/Link/Rect[166.0 311.8 341.7 324.8]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 734 0]>>endobj
-399 0 obj<</Subtype/Link/Rect[166.0 298.6 438.5 311.6]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 302 0]>>endobj
-400 0 obj<</Subtype/Link/Rect[166.0 285.4 428.8 298.4]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 203 0]>>endobj
-401 0 obj<</Subtype/Link/Rect[121.8 272.2 236.3 285.2]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-402 0 obj<</Subtype/Link/Rect[121.8 259.0 437.7 272.0]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 734 0]>>endobj
-403 0 obj<</Subtype/Link/Rect[166.0 245.8 243.3 258.8]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 672 0]>>endobj
-404 0 obj<</Subtype/Link/Rect[166.0 232.6 286.4 245.6]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 718 0]>>endobj
-405 0 obj<</Subtype/Link/Rect[166.0 219.4 309.9 232.4]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 603 0]>>endobj
-406 0 obj<</Subtype/Link/Rect[121.8 206.2 198.8 219.2]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 734 0]>>endobj
-407 0 obj<</Subtype/Link/Rect[166.0 193.0 223.8 206.0]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 696 0]>>endobj
-408 0 obj<</Subtype/Link/Rect[166.0 179.8 231.1 192.8]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 317 0]>>endobj
-409 0 obj<</Subtype/Link/Rect[166.0 166.6 260.4 179.6]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 692 0]>>endobj
-410 0 obj<</Subtype/Link/Rect[166.0 153.4 213.4 166.4]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 397 0]>>endobj
-411 0 obj<</Subtype/Link/Rect[121.8 140.2 229.0 153.2]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 734 0]>>endobj
-412 0 obj<</Subtype/Link/Rect[166.0 127.0 223.8 140.0]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 696 0]>>endobj
-413 0 obj<</Subtype/Link/Rect[166.0 113.8 325.6 126.8]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 463 0]>>endobj
-414 0 obj<</Subtype/Link/Rect[166.0 100.6 277.2 113.6]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 276 0]>>endobj
-415 0 obj<</Subtype/Link/Rect[166.0 87.4 314.8 100.4]/Border[0 0 0]/Dest[1670 0 R/XYZ 0 546 0]>>endobj
-416 0 obj<</Subtype/Link/Rect[166.0 74.2 367.1 87.2]/Border[0 0 0]/Dest[1674 0 R/XYZ 0 177 0]>>endobj
-417 0 obj<</Subtype/Link/Rect[166.0 61.0 382.9 74.0]/Border[0 0 0]/Dest[1682 0 R/XYZ 0 362 0]>>endobj
-418 0 obj[365 0 R
+361 0 R]endobj
+363 0 obj<</Subtype/Link/Rect[160.5 721.0 467.3 734.0]/Border[0 0 0]/Dest[1567 0 R/XYZ 0 665 0]>>endobj
+364 0 obj<</Subtype/Link/Rect[160.5 707.8 299.2 720.8]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 175 0]>>endobj
+365 0 obj<</Subtype/Link/Rect[160.5 694.6 288.8 707.6]/Border[0 0 0]/Dest[1575 0 R/XYZ 0 565 0]>>endobj
+366 0 obj<</Subtype/Link/Rect[160.5 681.4 280.9 694.4]/Border[0 0 0]/Dest[1577 0 R/XYZ 0 560 0]>>endobj
+367 0 obj<</Subtype/Link/Rect[160.5 668.2 326.4 681.2]/Border[0 0 0]/Dest[1581 0 R/XYZ 0 283 0]>>endobj
+368 0 obj<</Subtype/Link/Rect[160.5 655.0 459.7 668.0]/Border[0 0 0]/Dest[1593 0 R/XYZ 0 415 0]>>endobj
+369 0 obj<</Subtype/Link/Rect[116.2 641.8 485.4 654.8]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 734 0]>>endobj
+370 0 obj<</Subtype/Link/Rect[160.5 628.6 257.0 641.6]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 672 0]>>endobj
+371 0 obj<</Subtype/Link/Rect[160.5 615.4 217.0 628.4]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 597 0]>>endobj
+372 0 obj<</Subtype/Link/Rect[160.5 602.2 396.4 615.2]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 225 0]>>endobj
+373 0 obj<</Subtype/Link/Rect[160.5 589.0 430.3 602.0]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 524 0]>>endobj
+374 0 obj<</Subtype/Link/Rect[160.5 575.8 304.1 588.8]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 323 0]>>endobj
+375 0 obj<</Subtype/Link/Rect[116.2 562.6 266.6 575.6]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 734 0]>>endobj
+376 0 obj<</Subtype/Link/Rect[160.5 549.4 356.7 562.4]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 551 0]>>endobj
+377 0 obj<</Subtype/Link/Rect[160.5 536.2 357.9 549.2]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 444 0]>>endobj
+378 0 obj<</Subtype/Link/Rect[160.5 523.0 233.2 536.0]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 267 0]>>endobj
+379 0 obj<</Subtype/Link/Rect[160.5 509.8 274.2 522.8]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 580 0]>>endobj
+380 0 obj<</Subtype/Link/Rect[160.5 496.6 291.3 509.6]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 264 0]>>endobj
+381 0 obj<</Subtype/Link/Rect[160.5 483.4 260.7 496.4]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 734 0]>>endobj
+382 0 obj<</Subtype/Link/Rect[160.5 470.2 262.3 483.2]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 645 0]>>endobj
+383 0 obj<</Subtype/Link/Rect[160.5 457.0 188.3 470.0]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 570 0]>>endobj
+384 0 obj<</Subtype/Link/Rect[116.2 443.8 308.7 456.8]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 734 0]>>endobj
+385 0 obj<</Subtype/Link/Rect[160.5 430.6 335.3 443.6]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 672 0]>>endobj
+386 0 obj<</Subtype/Link/Rect[160.5 417.4 322.8 430.4]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 494 0]>>endobj
+387 0 obj<</Subtype/Link/Rect[160.5 404.2 345.7 417.2]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 405 0]>>endobj
+388 0 obj<</Subtype/Link/Rect[85.7 391.0 190.2 404.0]/Border[0 0 0]/Dest[1613 0 R/XYZ 0 641 0]>>endobj
+389 0 obj<</Subtype/Link/Rect[121.8 377.8 331.4 390.8]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 734 0]>>endobj
+390 0 obj<</Subtype/Link/Rect[166.0 364.6 202.4 377.6]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 672 0]>>endobj
+391 0 obj<</Subtype/Link/Rect[166.0 351.4 367.4 364.4]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 439 0]>>endobj
+392 0 obj<</Subtype/Link/Rect[166.0 338.2 420.2 351.2]/Border[0 0 0]/Dest[1627 0 R/XYZ 0 339 0]>>endobj
+393 0 obj<</Subtype/Link/Rect[166.0 325.0 532.1 338.0]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 670 0]>>endobj
+394 0 obj<</Subtype/Link/Rect[144.0 311.8 173.9 324.8]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 670 0]>>endobj
+395 0 obj<</Subtype/Link/Rect[166.0 298.6 536.9 311.6]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 126 0]>>endobj
+396 0 obj<</Subtype/Link/Rect[166.0 285.4 223.1 298.4]/Border[0 0 0]/Dest[1641 0 R/XYZ 0 263 0]>>endobj
+397 0 obj<</Subtype/Link/Rect[121.8 272.2 394.0 285.2]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 734 0]>>endobj
+398 0 obj<</Subtype/Link/Rect[166.0 259.0 483.2 272.0]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 672 0]>>endobj
+399 0 obj<</Subtype/Link/Rect[166.0 245.8 360.0 258.8]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 537 0]>>endobj
+400 0 obj<</Subtype/Link/Rect[166.0 232.6 270.2 245.6]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 369 0]>>endobj
+401 0 obj<</Subtype/Link/Rect[166.0 219.4 332.5 232.4]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 705 0]>>endobj
+402 0 obj<</Subtype/Link/Rect[166.0 206.2 341.7 219.2]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 718 0]>>endobj
+403 0 obj<</Subtype/Link/Rect[166.0 193.0 438.5 206.0]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 287 0]>>endobj
+404 0 obj<</Subtype/Link/Rect[166.0 179.8 428.8 192.8]/Border[0 0 0]/Dest[1651 0 R/XYZ 0 652 0]>>endobj
+405 0 obj<</Subtype/Link/Rect[121.8 166.6 437.7 179.6]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 734 0]>>endobj
+406 0 obj<</Subtype/Link/Rect[166.0 153.4 243.3 166.4]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 672 0]>>endobj
+407 0 obj<</Subtype/Link/Rect[166.0 140.2 286.4 153.2]/Border[0 0 0]/Dest[1655 0 R/XYZ 0 148 0]>>endobj
+408 0 obj<</Subtype/Link/Rect[166.0 127.0 309.9 140.0]/Border[0 0 0]/Dest[1657 0 R/XYZ 0 705 0]>>endobj
+409 0 obj<</Subtype/Link/Rect[121.8 113.8 386.0 126.8]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 734 0]>>endobj
+410 0 obj<</Subtype/Link/Rect[166.0 100.6 221.3 113.6]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 672 0]>>endobj
+411 0 obj<</Subtype/Link/Rect[121.8 87.4 198.8 100.4]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 734 0]>>endobj
+412 0 obj<</Subtype/Link/Rect[166.0 74.2 223.8 87.2]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 696 0]>>endobj
+413 0 obj<</Subtype/Link/Rect[166.0 61.0 231.1 74.0]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 317 0]>>endobj
+414 0 obj[363 0 R
+364 0 R
+365 0 R
 366 0 R
 367 0 R
 368 0 R
@@ -797,63 +793,63 @@ endobj
 410 0 R
 411 0 R
 412 0 R
-413 0 R
-414 0 R
-415 0 R
+413 0 R]endobj
+415 0 obj<</Subtype/Link/Rect[166.0 721.0 260.4 734.0]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 692 0]>>endobj
+416 0 obj<</Subtype/Link/Rect[166.0 707.8 213.4 720.8]/Border[0 0 0]/Dest[1675 0 R/XYZ 0 397 0]>>endobj
+417 0 obj<</Subtype/Link/Rect[121.8 694.6 229.0 707.6]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 734 0]>>endobj
+418 0 obj<</Subtype/Link/Rect[166.0 681.4 223.8 694.4]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 696 0]>>endobj
+419 0 obj<</Subtype/Link/Rect[166.0 668.2 325.6 681.2]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 463 0]>>endobj
+420 0 obj<</Subtype/Link/Rect[166.0 655.0 277.2 668.0]/Border[0 0 0]/Dest[1689 0 R/XYZ 0 276 0]>>endobj
+421 0 obj<</Subtype/Link/Rect[166.0 641.8 314.8 654.8]/Border[0 0 0]/Dest[1701 0 R/XYZ 0 546 0]>>endobj
+422 0 obj<</Subtype/Link/Rect[166.0 628.6 367.1 641.6]/Border[0 0 0]/Dest[1705 0 R/XYZ 0 177 0]>>endobj
+423 0 obj<</Subtype/Link/Rect[166.0 615.4 382.9 628.4]/Border[0 0 0]/Dest[1713 0 R/XYZ 0 362 0]>>endobj
+424 0 obj<</Subtype/Link/Rect[166.0 602.2 324.1 615.2]/Border[0 0 0]/Dest[1715 0 R/XYZ 0 527 0]>>endobj
+425 0 obj<</Subtype/Link/Rect[121.8 589.0 405.0 602.0]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 734 0]>>endobj
+426 0 obj<</Subtype/Link/Rect[166.0 575.8 206.0 588.8]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 672 0]>>endobj
+427 0 obj<</Subtype/Link/Rect[166.0 562.6 223.8 575.6]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 544 0]>>endobj
+428 0 obj<</Subtype/Link/Rect[166.0 549.4 273.9 562.4]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 231 0]>>endobj
+429 0 obj<</Subtype/Link/Rect[166.0 536.2 260.4 549.2]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 409 0]>>endobj
+430 0 obj<</Subtype/Link/Rect[166.0 523.0 303.8 536.0]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 245 0]>>endobj
+431 0 obj<</Subtype/Link/Rect[166.0 509.8 218.9 522.8]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 555 0]>>endobj
+432 0 obj<</Subtype/Link/Rect[166.0 496.6 218.9 509.6]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 335 0]>>endobj
+433 0 obj<</Subtype/Link/Rect[121.8 483.4 253.1 496.4]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 734 0]>>endobj
+434 0 obj<</Subtype/Link/Rect[166.0 470.2 265.9 483.2]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 696 0]>>endobj
+435 0 obj<</Subtype/Link/Rect[166.0 457.0 290.1 470.0]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 463 0]>>endobj
+436 0 obj<</Subtype/Link/Rect[166.0 443.8 254.0 456.8]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 734 0]>>endobj
+437 0 obj<</Subtype/Link/Rect[166.0 430.6 278.1 443.6]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 381 0]>>endobj
+438 0 obj<</Subtype/Link/Rect[166.0 417.4 280.0 430.4]/Border[0 0 0]/Dest[1753 0 R/XYZ 0 332 0]>>endobj
+439 0 obj<</Subtype/Link/Rect[166.0 404.2 348.7 417.2]/Border[0 0 0]/Dest[1755 0 R/XYZ 0 388 0]>>endobj
+440 0 obj<</Subtype/Link/Rect[166.0 391.0 323.1 404.0]/Border[0 0 0]/Dest[1757 0 R/XYZ 0 407 0]>>endobj
+441 0 obj<</Subtype/Link/Rect[166.0 377.8 309.0 390.8]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 718 0]>>endobj
+442 0 obj<</Subtype/Link/Rect[166.0 364.6 318.5 377.6]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 300 0]>>endobj
+443 0 obj<</Subtype/Link/Rect[171.5 351.4 315.7 364.4]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 520 0]>>endobj
+444 0 obj<</Subtype/Link/Rect[171.5 338.2 257.7 351.2]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 432 0]>>endobj
+445 0 obj<</Subtype/Link/Rect[121.8 325.0 228.4 338.0]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 734 0]>>endobj
+446 0 obj<</Subtype/Link/Rect[166.0 311.8 305.6 324.8]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 696 0]>>endobj
+447 0 obj<</Subtype/Link/Rect[166.0 298.6 246.7 311.6]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 385 0]>>endobj
+448 0 obj<</Subtype/Link/Rect[166.0 285.4 317.5 298.4]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 430 0]>>endobj
+449 0 obj<</Subtype/Link/Rect[121.8 272.2 236.3 285.2]/Border[0 0 0]/Dest[1769 0 R/XYZ 0 734 0]>>endobj
+450 0 obj<</Subtype/Link/Rect[121.8 259.0 242.4 272.0]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 734 0]>>endobj
+451 0 obj<</Subtype/Link/Rect[166.0 245.8 227.4 258.8]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 696 0]>>endobj
+452 0 obj<</Subtype/Link/Rect[166.0 232.6 232.6 245.6]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 449 0]>>endobj
+453 0 obj<</Subtype/Link/Rect[166.0 219.4 210.6 232.4]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 189 0]>>endobj
+454 0 obj<</Subtype/Link/Rect[166.0 206.2 210.0 219.2]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 639 0]>>endobj
+455 0 obj<</Subtype/Link/Rect[166.0 193.0 209.4 206.0]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 458 0]>>endobj
+456 0 obj<</Subtype/Link/Rect[166.0 179.8 211.2 192.8]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 383 0]>>endobj
+457 0 obj<</Subtype/Link/Rect[166.0 166.6 213.1 179.6]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 215 0]>>endobj
+458 0 obj<</Subtype/Link/Rect[166.0 153.4 224.1 166.4]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 734 0]>>endobj
+459 0 obj<</Subtype/Link/Rect[166.0 140.2 222.8 153.2]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 605 0]>>endobj
+460 0 obj<</Subtype/Link/Rect[171.5 127.0 232.0 140.0]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 530 0]>>endobj
+461 0 obj<</Subtype/Link/Rect[121.8 113.8 255.0 126.8]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 734 0]>>endobj
+462 0 obj<</Subtype/Link/Rect[166.0 100.6 224.6 113.6]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 696 0]>>endobj
+463 0 obj<</Subtype/Link/Rect[166.0 87.4 233.5 100.4]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 423 0]>>endobj
+464 0 obj<</Subtype/Link/Rect[166.0 74.2 250.3 87.2]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 328 0]>>endobj
+465 0 obj<</Subtype/Link/Rect[121.8 61.0 196.3 74.0]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 734 0]>>endobj
+466 0 obj[415 0 R
 416 0 R
-417 0 R]endobj
-419 0 obj<</Subtype/Link/Rect[166.0 721.0 324.1 734.0]/Border[0 0 0]/Dest[1684 0 R/XYZ 0 527 0]>>endobj
-420 0 obj<</Subtype/Link/Rect[121.8 707.8 405.0 720.8]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 734 0]>>endobj
-421 0 obj<</Subtype/Link/Rect[166.0 694.6 206.0 707.6]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 672 0]>>endobj
-422 0 obj<</Subtype/Link/Rect[166.0 681.4 223.8 694.4]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 544 0]>>endobj
-423 0 obj<</Subtype/Link/Rect[166.0 668.2 273.9 681.2]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 231 0]>>endobj
-424 0 obj<</Subtype/Link/Rect[166.0 655.0 260.4 668.0]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 409 0]>>endobj
-425 0 obj<</Subtype/Link/Rect[166.0 641.8 303.8 654.8]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 245 0]>>endobj
-426 0 obj<</Subtype/Link/Rect[166.0 628.6 218.9 641.6]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 555 0]>>endobj
-427 0 obj<</Subtype/Link/Rect[166.0 615.4 218.9 628.4]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 335 0]>>endobj
-428 0 obj<</Subtype/Link/Rect[121.8 602.2 296.6 615.2]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 734 0]>>endobj
-429 0 obj<</Subtype/Link/Rect[166.0 589.0 237.5 602.0]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 696 0]>>endobj
-430 0 obj<</Subtype/Link/Rect[121.8 575.8 215.2 588.8]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 734 0]>>endobj
-431 0 obj<</Subtype/Link/Rect[166.0 562.6 246.1 575.6]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 696 0]>>endobj
-432 0 obj<</Subtype/Link/Rect[121.8 549.4 331.4 562.4]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 734 0]>>endobj
-433 0 obj<</Subtype/Link/Rect[166.0 536.2 367.4 549.2]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 348 0]>>endobj
-434 0 obj<</Subtype/Link/Rect[166.0 523.0 420.2 536.0]/Border[0 0 0]/Dest[1736 0 R/XYZ 0 248 0]>>endobj
-435 0 obj<</Subtype/Link/Rect[121.8 509.8 253.1 522.8]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 734 0]>>endobj
-436 0 obj<</Subtype/Link/Rect[166.0 496.6 265.9 509.6]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 696 0]>>endobj
-437 0 obj<</Subtype/Link/Rect[166.0 483.4 290.1 496.4]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 463 0]>>endobj
-438 0 obj<</Subtype/Link/Rect[166.0 470.2 254.0 483.2]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 734 0]>>endobj
-439 0 obj<</Subtype/Link/Rect[166.0 457.0 278.1 470.0]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 381 0]>>endobj
-440 0 obj<</Subtype/Link/Rect[166.0 443.8 280.0 456.8]/Border[0 0 0]/Dest[1754 0 R/XYZ 0 332 0]>>endobj
-441 0 obj<</Subtype/Link/Rect[166.0 430.6 348.7 443.6]/Border[0 0 0]/Dest[1756 0 R/XYZ 0 388 0]>>endobj
-442 0 obj<</Subtype/Link/Rect[166.0 417.4 323.1 430.4]/Border[0 0 0]/Dest[1758 0 R/XYZ 0 407 0]>>endobj
-443 0 obj<</Subtype/Link/Rect[166.0 404.2 309.0 417.2]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 718 0]>>endobj
-444 0 obj<</Subtype/Link/Rect[166.0 391.0 318.5 404.0]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 300 0]>>endobj
-445 0 obj<</Subtype/Link/Rect[171.5 377.8 315.7 390.8]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 520 0]>>endobj
-446 0 obj<</Subtype/Link/Rect[171.5 364.6 257.7 377.6]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 432 0]>>endobj
-447 0 obj<</Subtype/Link/Rect[121.8 351.4 386.0 364.4]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 734 0]>>endobj
-448 0 obj<</Subtype/Link/Rect[166.0 338.2 221.3 351.2]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 672 0]>>endobj
-449 0 obj<</Subtype/Link/Rect[121.8 325.0 228.4 338.0]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 734 0]>>endobj
-450 0 obj<</Subtype/Link/Rect[166.0 311.8 305.6 324.8]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 696 0]>>endobj
-451 0 obj<</Subtype/Link/Rect[166.0 298.6 246.7 311.6]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 385 0]>>endobj
-452 0 obj<</Subtype/Link/Rect[166.0 285.4 317.5 298.4]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 430 0]>>endobj
-453 0 obj<</Subtype/Link/Rect[121.8 272.2 196.3 285.2]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 734 0]>>endobj
-454 0 obj<</Subtype/Link/Rect[166.0 259.0 223.8 272.0]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 696 0]>>endobj
-455 0 obj<</Subtype/Link/Rect[166.0 245.8 292.5 258.8]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 621 0]>>endobj
-456 0 obj<</Subtype/Link/Rect[166.0 232.6 284.9 245.6]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 405 0]>>endobj
-457 0 obj<</Subtype/Link/Rect[166.0 219.4 240.3 232.4]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 150 0]>>endobj
-458 0 obj<</Subtype/Link/Rect[166.0 206.2 280.0 219.2]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 596 0]>>endobj
-459 0 obj<</Subtype/Link/Rect[166.0 193.0 249.7 206.0]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 290 0]>>endobj
-460 0 obj<</Subtype/Link/Rect[121.8 179.8 203.9 192.8]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 734 0]>>endobj
-461 0 obj<</Subtype/Link/Rect[166.0 166.6 311.1 179.6]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 696 0]>>endobj
-462 0 obj<</Subtype/Link/Rect[166.0 153.4 257.4 166.4]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 397 0]>>endobj
-463 0 obj<</Subtype/Link/Rect[85.1 140.2 138.6 153.2]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 178 0]>>endobj
-464 0 obj<</Subtype/Link/Rect[121.8 127.0 242.4 140.0]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 734 0]>>endobj
-465 0 obj<</Subtype/Link/Rect[166.0 113.8 227.4 126.8]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 696 0]>>endobj
-466 0 obj<</Subtype/Link/Rect[166.0 100.6 232.6 113.6]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 449 0]>>endobj
-467 0 obj<</Subtype/Link/Rect[166.0 87.4 210.6 100.4]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 189 0]>>endobj
-468 0 obj<</Subtype/Link/Rect[166.0 74.2 210.0 87.2]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 639 0]>>endobj
-469 0 obj<</Subtype/Link/Rect[166.0 61.0 209.4 74.0]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 458 0]>>endobj
-470 0 obj[419 0 R
+417 0 R
+418 0 R
+419 0 R
 420 0 R
 421 0 R
 422 0 R
@@ -899,46 +895,51 @@ endobj
 462 0 R
 463 0 R
 464 0 R
-465 0 R
-466 0 R
-467 0 R
+465 0 R]endobj
+467 0 obj<</Subtype/Link/Rect[166.0 721.0 223.8 734.0]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 696 0]>>endobj
+468 0 obj<</Subtype/Link/Rect[166.0 707.8 292.5 720.8]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 621 0]>>endobj
+469 0 obj<</Subtype/Link/Rect[166.0 694.6 284.9 707.6]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 405 0]>>endobj
+470 0 obj<</Subtype/Link/Rect[166.0 681.4 240.3 694.4]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 150 0]>>endobj
+471 0 obj<</Subtype/Link/Rect[166.0 668.2 280.0 681.2]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 596 0]>>endobj
+472 0 obj<</Subtype/Link/Rect[166.0 655.0 249.7 668.0]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 290 0]>>endobj
+473 0 obj<</Subtype/Link/Rect[121.8 641.8 203.9 654.8]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 734 0]>>endobj
+474 0 obj<</Subtype/Link/Rect[166.0 628.6 311.1 641.6]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 696 0]>>endobj
+475 0 obj<</Subtype/Link/Rect[166.0 615.4 257.4 628.4]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 397 0]>>endobj
+476 0 obj<</Subtype/Link/Rect[85.1 602.2 138.6 615.2]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 178 0]>>endobj
+477 0 obj<</Subtype/Link/Rect[121.8 589.0 172.2 602.0]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 734 0]>>endobj
+478 0 obj<</Subtype/Link/Rect[166.0 575.8 198.1 588.8]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 655 0]>>endobj
+479 0 obj<</Subtype/Link/Rect[166.0 562.6 213.7 575.6]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 408 0]>>endobj
+480 0 obj<</Subtype/Link/Rect[166.0 549.4 194.4 562.4]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 293 0]>>endobj
+481 0 obj<</Subtype/Link/Rect[166.0 536.2 296.5 549.2]/Border[0 0 0]/Dest[1797 0 R/XYZ 0 228 0]>>endobj
+482 0 obj<</Subtype/Link/Rect[166.0 523.0 185.9 536.0]/Border[0 0 0]/Dest[1799 0 R/XYZ 0 734 0]>>endobj
+483 0 obj<</Subtype/Link/Rect[121.8 509.8 257.1 522.8]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 734 0]>>endobj
+484 0 obj<</Subtype/Link/Rect[166.0 496.6 252.2 509.6]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 668 0]>>endobj
+485 0 obj<</Subtype/Link/Rect[166.0 483.4 217.3 496.4]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 461 0]>>endobj
+486 0 obj<</Subtype/Link/Rect[166.0 470.2 281.8 483.2]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 151 0]>>endobj
+487 0 obj<</Subtype/Link/Rect[166.0 457.0 241.6 470.0]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 207 0]>>endobj
+488 0 obj<</Subtype/Link/Rect[166.0 443.8 301.9 456.8]/Border[0 0 0]/Dest[1807 0 R/XYZ 0 626 0]>>endobj
+489 0 obj<</Subtype/Link/Rect[121.8 430.6 231.7 443.6]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 734 0]>>endobj
+490 0 obj<</Subtype/Link/Rect[166.0 417.4 325.5 430.4]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 655 0]>>endobj
+491 0 obj<</Subtype/Link/Rect[166.0 404.2 373.1 417.2]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 494 0]>>endobj
+492 0 obj<</Subtype/Link/Rect[166.0 391.0 262.9 404.0]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 353 0]>>endobj
+493 0 obj<</Subtype/Link/Rect[166.0 377.8 292.8 390.8]/Border[0 0 0]/Dest[1813 0 R/XYZ 0 613 0]>>endobj
+494 0 obj<</Subtype/Link/Rect[121.8 364.6 193.2 377.6]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 734 0]>>endobj
+495 0 obj<</Subtype/Link/Rect[166.0 351.4 223.8 364.4]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 696 0]>>endobj
+496 0 obj<</Subtype/Link/Rect[166.0 338.2 224.7 351.2]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 423 0]>>endobj
+497 0 obj<</Subtype/Link/Rect[166.0 325.0 225.9 338.0]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 282 0]>>endobj
+498 0 obj<</Subtype/Link/Rect[166.0 311.8 234.4 324.8]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 613 0]>>endobj
+499 0 obj<</Subtype/Link/Rect[166.0 298.6 305.0 311.6]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 260 0]>>endobj
+500 0 obj<</Subtype/Link/Rect[166.0 285.4 203.6 298.4]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 159 0]>>endobj
+501 0 obj<</Subtype/Link/Rect[121.8 272.2 213.7 285.2]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 734 0]>>endobj
+502 0 obj<</Subtype/Link/Rect[166.0 259.0 223.8 272.0]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 696 0]>>endobj
+503 0 obj<</Subtype/Link/Rect[166.0 245.8 224.4 258.8]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 529 0]>>endobj
+504 0 obj<</Subtype/Link/Rect[166.0 232.6 191.4 245.6]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 199 0]>>endobj
+505 0 obj<</Subtype/Link/Rect[166.0 219.4 263.5 232.4]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 239 0]>>endobj
+506 0 obj[467 0 R
 468 0 R
-469 0 R]endobj
-471 0 obj<</Subtype/Link/Rect[166.0 721.0 211.2 734.0]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 383 0]>>endobj
-472 0 obj<</Subtype/Link/Rect[166.0 707.8 213.1 720.8]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 215 0]>>endobj
-473 0 obj<</Subtype/Link/Rect[166.0 694.6 224.1 707.6]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 734 0]>>endobj
-474 0 obj<</Subtype/Link/Rect[166.0 681.4 222.8 694.4]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 605 0]>>endobj
-475 0 obj<</Subtype/Link/Rect[171.5 668.2 232.0 681.2]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 530 0]>>endobj
-476 0 obj<</Subtype/Link/Rect[121.8 655.0 172.2 668.0]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 734 0]>>endobj
-477 0 obj<</Subtype/Link/Rect[166.0 641.8 198.1 654.8]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 655 0]>>endobj
-478 0 obj<</Subtype/Link/Rect[166.0 628.6 213.7 641.6]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 408 0]>>endobj
-479 0 obj<</Subtype/Link/Rect[166.0 615.4 194.4 628.4]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 293 0]>>endobj
-480 0 obj<</Subtype/Link/Rect[166.0 602.2 296.5 615.2]/Border[0 0 0]/Dest[1794 0 R/XYZ 0 228 0]>>endobj
-481 0 obj<</Subtype/Link/Rect[166.0 589.0 185.9 602.0]/Border[0 0 0]/Dest[1796 0 R/XYZ 0 734 0]>>endobj
-482 0 obj<</Subtype/Link/Rect[121.8 575.8 257.1 588.8]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 734 0]>>endobj
-483 0 obj<</Subtype/Link/Rect[166.0 562.6 252.2 575.6]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 668 0]>>endobj
-484 0 obj<</Subtype/Link/Rect[166.0 549.4 217.3 562.4]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 461 0]>>endobj
-485 0 obj<</Subtype/Link/Rect[166.0 536.2 281.8 549.2]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 151 0]>>endobj
-486 0 obj<</Subtype/Link/Rect[166.0 523.0 241.6 536.0]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 207 0]>>endobj
-487 0 obj<</Subtype/Link/Rect[166.0 509.8 301.9 522.8]/Border[0 0 0]/Dest[1804 0 R/XYZ 0 626 0]>>endobj
-488 0 obj<</Subtype/Link/Rect[121.8 496.6 231.7 509.6]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 734 0]>>endobj
-489 0 obj<</Subtype/Link/Rect[166.0 483.4 325.5 496.4]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 655 0]>>endobj
-490 0 obj<</Subtype/Link/Rect[166.0 470.2 373.1 483.2]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 494 0]>>endobj
-491 0 obj<</Subtype/Link/Rect[166.0 457.0 262.9 470.0]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 353 0]>>endobj
-492 0 obj<</Subtype/Link/Rect[166.0 443.8 292.8 456.8]/Border[0 0 0]/Dest[1812 0 R/XYZ 0 734 0]>>endobj
-493 0 obj<</Subtype/Link/Rect[121.8 430.6 193.2 443.6]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 734 0]>>endobj
-494 0 obj<</Subtype/Link/Rect[166.0 417.4 223.8 430.4]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 696 0]>>endobj
-495 0 obj<</Subtype/Link/Rect[166.0 404.2 224.7 417.2]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 423 0]>>endobj
-496 0 obj<</Subtype/Link/Rect[166.0 391.0 225.9 404.0]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 282 0]>>endobj
-497 0 obj<</Subtype/Link/Rect[166.0 377.8 234.4 390.8]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 613 0]>>endobj
-498 0 obj<</Subtype/Link/Rect[166.0 364.6 305.0 377.6]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 260 0]>>endobj
-499 0 obj<</Subtype/Link/Rect[166.0 351.4 203.6 364.4]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 159 0]>>endobj
-500 0 obj<</Subtype/Link/Rect[121.8 338.2 213.7 351.2]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 734 0]>>endobj
-501 0 obj<</Subtype/Link/Rect[166.0 325.0 223.8 338.0]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 696 0]>>endobj
-502 0 obj<</Subtype/Link/Rect[166.0 311.8 224.4 324.8]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 529 0]>>endobj
-503 0 obj<</Subtype/Link/Rect[166.0 298.6 191.4 311.6]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 199 0]>>endobj
-504 0 obj<</Subtype/Link/Rect[166.0 285.4 263.5 298.4]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 239 0]>>endobj
-505 0 obj[471 0 R
+469 0 R
+470 0 R
+471 0 R
 472 0 R
 473 0 R
 474 0 R
@@ -971,52 +972,53 @@ endobj
 501 0 R
 502 0 R
 503 0 R
-504 0 R]endobj
-506 0 obj<</Subtype/Link/Rect[80.2 631.0 223.9 644.0]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 734 0]>>endobj
-507 0 obj<</Subtype/Link/Rect[124.5 617.8 266.9 630.8]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 696 0]>>endobj
-508 0 obj<</Subtype/Link/Rect[124.5 604.6 212.5 617.6]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 595 0]>>endobj
-509 0 obj<</Subtype/Link/Rect[168.8 591.4 279.1 604.4]/Border[0 0 0]/Dest[1510 0 R/XYZ 0 506 0]>>endobj
-510 0 obj<</Subtype/Link/Rect[168.8 578.2 199.0 591.2]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 705 0]>>endobj
-511 0 obj<</Subtype/Link/Rect[124.5 565.0 331.0 578.0]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 528 0]>>endobj
-512 0 obj<</Subtype/Link/Rect[124.5 551.8 280.3 564.8]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 360 0]>>endobj
-513 0 obj<</Subtype/Link/Rect[124.5 538.6 467.0 551.6]/Border[0 0 0]/Dest[1512 0 R/XYZ 0 193 0]>>endobj
-514 0 obj<</Subtype/Link/Rect[124.5 525.4 251.8 538.4]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 652 0]>>endobj
-515 0 obj<</Subtype/Link/Rect[168.8 512.2 216.4 525.2]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 511 0]>>endobj
-516 0 obj<</Subtype/Link/Rect[168.8 499.0 206.9 512.0]/Border[0 0 0]/Dest[1514 0 R/XYZ 0 426 0]>>endobj
-517 0 obj<</Subtype/Link/Rect[80.2 485.8 374.5 498.8]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 734 0]>>endobj
-518 0 obj<</Subtype/Link/Rect[124.5 472.6 175.5 485.6]/Border[0 0 0]/Dest[1518 0 R/XYZ 0 565 0]>>endobj
-519 0 obj<</Subtype/Link/Rect[124.5 459.4 523.3 472.4]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 734 0]>>endobj
-520 0 obj<</Subtype/Link/Rect[124.5 446.2 312.1 459.2]/Border[0 0 0]/Dest[1520 0 R/XYZ 0 189 0]>>endobj
-521 0 obj<</Subtype/Link/Rect[124.5 433.0 324.7 446.0]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 536 0]>>endobj
-522 0 obj<</Subtype/Link/Rect[124.5 419.8 184.1 432.8]/Border[0 0 0]/Dest[1522 0 R/XYZ 0 357 0]>>endobj
-523 0 obj<</Subtype/Link/Rect[124.5 406.6 422.7 419.6]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 520 0]>>endobj
-524 0 obj<</Subtype/Link/Rect[124.5 393.4 232.4 406.4]/Border[0 0 0]/Dest[1524 0 R/XYZ 0 161 0]>>endobj
-525 0 obj<</Subtype/Link/Rect[80.2 380.2 201.6 393.2]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 734 0]>>endobj
-526 0 obj<</Subtype/Link/Rect[124.5 367.0 182.2 380.0]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 696 0]>>endobj
-527 0 obj<</Subtype/Link/Rect[124.5 353.8 266.9 366.8]/Border[0 0 0]/Dest[1528 0 R/XYZ 0 449 0]>>endobj
-528 0 obj<</Subtype/Link/Rect[168.8 340.6 309.9 353.6]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 402 0]>>endobj
-529 0 obj<</Subtype/Link/Rect[168.8 327.4 353.4 340.4]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 269 0]>>endobj
-530 0 obj<</Subtype/Link/Rect[124.5 314.2 244.6 327.2]/Border[0 0 0]/Dest[1530 0 R/XYZ 0 163 0]>>endobj
-531 0 obj<</Subtype/Link/Rect[124.5 301.0 169.7 314.0]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 362 0]>>endobj
-532 0 obj<</Subtype/Link/Rect[124.5 287.8 148.0 300.8]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 273 0]>>endobj
-533 0 obj<</Subtype/Link/Rect[124.5 274.6 154.8 287.6]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 198 0]>>endobj
-534 0 obj<</Subtype/Link/Rect[168.8 261.4 226.5 274.4]/Border[0 0 0]/Dest[1532 0 R/XYZ 0 165 0]>>endobj
-535 0 obj<</Subtype/Link/Rect[168.8 248.2 226.5 261.2]/Border[0 0 0]/Dest[1534 0 R/XYZ 0 573 0]>>endobj
-536 0 obj<</Subtype/Link/Rect[168.8 235.0 282.7 248.0]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 734 0]>>endobj
-537 0 obj<</Subtype/Link/Rect[168.8 221.8 421.1 234.8]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 622 0]>>endobj
-538 0 obj<</Subtype/Link/Rect[168.8 208.6 309.9 221.6]/Border[0 0 0]/Dest[1536 0 R/XYZ 0 251 0]>>endobj
-539 0 obj<</Subtype/Link/Rect[168.8 195.4 325.8 208.4]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 438 0]>>endobj
-540 0 obj<</Subtype/Link/Rect[168.8 182.2 294.3 195.2]/Border[0 0 0]/Dest[1540 0 R/XYZ 0 247 0]>>endobj
-541 0 obj<</Subtype/Link/Rect[168.8 169.0 369.5 182.0]/Border[0 0 0]/Dest[1542 0 R/XYZ 0 543 0]>>endobj
-542 0 obj<</Subtype/Link/Rect[168.8 155.8 363.1 168.8]/Border[0 0 0]/Dest[1544 0 R/XYZ 0 533 0]>>endobj
-543 0 obj<</Subtype/Link/Rect[124.5 142.6 160.9 155.6]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 708 0]>>endobj
-544 0 obj<</Subtype/Link/Rect[168.8 129.4 269.3 142.4]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 674 0]>>endobj
-545 0 obj<</Subtype/Link/Rect[168.8 116.2 225.3 129.2]/Border[0 0 0]/Dest[1546 0 R/XYZ 0 576 0]>>endobj
-546 0 obj<</Subtype/Link/Rect[168.8 103.0 391.8 116.0]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 514 0]>>endobj
-547 0 obj<</Subtype/Link/Rect[168.8 89.8 350.3 102.8]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 364 0]>>endobj
-548 0 obj<</Subtype/Link/Rect[124.5 76.6 149.2 89.6]/Border[0 0 0]/Dest[1548 0 R/XYZ 0 226 0]>>endobj
-549 0 obj[506 0 R
-507 0 R
+504 0 R
+505 0 R]endobj
+507 0 obj<</Subtype/Link/Rect[80.2 631.0 223.9 644.0]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 734 0]>>endobj
+508 0 obj<</Subtype/Link/Rect[124.5 617.8 266.9 630.8]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 696 0]>>endobj
+509 0 obj<</Subtype/Link/Rect[124.5 604.6 212.5 617.6]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 595 0]>>endobj
+510 0 obj<</Subtype/Link/Rect[168.8 591.4 279.1 604.4]/Border[0 0 0]/Dest[1509 0 R/XYZ 0 506 0]>>endobj
+511 0 obj<</Subtype/Link/Rect[168.8 578.2 199.0 591.2]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 705 0]>>endobj
+512 0 obj<</Subtype/Link/Rect[124.5 565.0 331.0 578.0]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 528 0]>>endobj
+513 0 obj<</Subtype/Link/Rect[124.5 551.8 280.3 564.8]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 360 0]>>endobj
+514 0 obj<</Subtype/Link/Rect[124.5 538.6 467.0 551.6]/Border[0 0 0]/Dest[1511 0 R/XYZ 0 193 0]>>endobj
+515 0 obj<</Subtype/Link/Rect[124.5 525.4 251.8 538.4]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 652 0]>>endobj
+516 0 obj<</Subtype/Link/Rect[168.8 512.2 216.4 525.2]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 511 0]>>endobj
+517 0 obj<</Subtype/Link/Rect[168.8 499.0 206.9 512.0]/Border[0 0 0]/Dest[1513 0 R/XYZ 0 426 0]>>endobj
+518 0 obj<</Subtype/Link/Rect[80.2 485.8 374.5 498.8]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 734 0]>>endobj
+519 0 obj<</Subtype/Link/Rect[124.5 472.6 175.5 485.6]/Border[0 0 0]/Dest[1517 0 R/XYZ 0 565 0]>>endobj
+520 0 obj<</Subtype/Link/Rect[124.5 459.4 312.1 472.4]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 734 0]>>endobj
+521 0 obj<</Subtype/Link/Rect[124.5 446.2 324.7 459.2]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 412 0]>>endobj
+522 0 obj<</Subtype/Link/Rect[124.5 433.0 184.1 446.0]/Border[0 0 0]/Dest[1519 0 R/XYZ 0 234 0]>>endobj
+523 0 obj<</Subtype/Link/Rect[124.5 419.8 422.7 432.8]/Border[0 0 0]/Dest[1521 0 R/XYZ 0 388 0]>>endobj
+524 0 obj<</Subtype/Link/Rect[124.5 406.6 232.4 419.6]/Border[0 0 0]/Dest[1523 0 R/XYZ 0 705 0]>>endobj
+525 0 obj<</Subtype/Link/Rect[80.2 393.4 201.6 406.4]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 734 0]>>endobj
+526 0 obj<</Subtype/Link/Rect[124.5 380.2 182.2 393.2]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 696 0]>>endobj
+527 0 obj<</Subtype/Link/Rect[124.5 367.0 266.9 380.0]/Border[0 0 0]/Dest[1525 0 R/XYZ 0 449 0]>>endobj
+528 0 obj<</Subtype/Link/Rect[168.8 353.8 309.9 366.8]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 402 0]>>endobj
+529 0 obj<</Subtype/Link/Rect[168.8 340.6 353.4 353.6]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 269 0]>>endobj
+530 0 obj<</Subtype/Link/Rect[124.5 327.4 244.6 340.4]/Border[0 0 0]/Dest[1527 0 R/XYZ 0 163 0]>>endobj
+531 0 obj<</Subtype/Link/Rect[124.5 314.2 169.7 327.2]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 362 0]>>endobj
+532 0 obj<</Subtype/Link/Rect[124.5 301.0 148.0 314.0]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 273 0]>>endobj
+533 0 obj<</Subtype/Link/Rect[124.5 287.8 154.8 300.8]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 198 0]>>endobj
+534 0 obj<</Subtype/Link/Rect[168.8 274.6 226.5 287.6]/Border[0 0 0]/Dest[1529 0 R/XYZ 0 165 0]>>endobj
+535 0 obj<</Subtype/Link/Rect[168.8 261.4 226.5 274.4]/Border[0 0 0]/Dest[1531 0 R/XYZ 0 573 0]>>endobj
+536 0 obj<</Subtype/Link/Rect[168.8 248.2 282.7 261.2]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 734 0]>>endobj
+537 0 obj<</Subtype/Link/Rect[168.8 235.0 421.1 248.0]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 622 0]>>endobj
+538 0 obj<</Subtype/Link/Rect[168.8 221.8 309.9 234.8]/Border[0 0 0]/Dest[1533 0 R/XYZ 0 251 0]>>endobj
+539 0 obj<</Subtype/Link/Rect[168.8 208.6 325.8 221.6]/Border[0 0 0]/Dest[1537 0 R/XYZ 0 438 0]>>endobj
+540 0 obj<</Subtype/Link/Rect[168.8 195.4 294.3 208.4]/Border[0 0 0]/Dest[1537 0 R/XYZ 0 247 0]>>endobj
+541 0 obj<</Subtype/Link/Rect[168.8 182.2 369.5 195.2]/Border[0 0 0]/Dest[1539 0 R/XYZ 0 543 0]>>endobj
+542 0 obj<</Subtype/Link/Rect[168.8 169.0 363.1 182.0]/Border[0 0 0]/Dest[1541 0 R/XYZ 0 533 0]>>endobj
+543 0 obj<</Subtype/Link/Rect[124.5 155.8 160.9 168.8]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 708 0]>>endobj
+544 0 obj<</Subtype/Link/Rect[168.8 142.6 209.4 155.6]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 674 0]>>endobj
+545 0 obj<</Subtype/Link/Rect[168.8 129.4 269.3 142.4]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 576 0]>>endobj
+546 0 obj<</Subtype/Link/Rect[168.8 116.2 225.3 129.2]/Border[0 0 0]/Dest[1543 0 R/XYZ 0 478 0]>>endobj
+547 0 obj<</Subtype/Link/Rect[168.8 103.0 391.8 116.0]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 417 0]>>endobj
+548 0 obj<</Subtype/Link/Rect[168.8 89.8 350.3 102.8]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 266 0]>>endobj
+549 0 obj<</Subtype/Link/Rect[124.5 76.6 214.6 89.6]/Border[0 0 0]/Dest[1545 0 R/XYZ 0 129 0]>>endobj
+550 0 obj<</Subtype/Link/Rect[168.8 63.4 209.4 76.4]/Border[0 0 0]/Dest[1547 0 R/XYZ 0 734 0]>>endobj
+551 0 obj[507 0 R
 508 0 R
 509 0 R
 510 0 R
@@ -1057,118 +1059,116 @@ endobj
 545 0 R
 546 0 R
 547 0 R
-548 0 R]endobj
-550 0 obj<</S/URI/URI(http://samba.org/)>>endobj
-551 0 obj<</Subtype/Link/Rect[165.5 637.0 260.5 650.0]/Border[0 0 0]/A 550 0 R>>endobj
-552 0 obj[551 0 R]endobj
-553 0 obj<</S/URI/URI(http://www.openldap.org/)>>endobj
-554 0 obj<</Subtype/Link/Rect[169.5 721.0 285.9 734.0]/Border[0 0 0]/A 553 0 R>>endobj
-555 0 obj<</S/URI/URI(http://iplanet.netscape.com/directory)>>endobj
-556 0 obj<</Subtype/Link/Rect[223.9 707.8 387.9 720.8]/Border[0 0 0]/A 555 0 R>>endobj
-557 0 obj<</S/URI/URI(http://www.ora.com/)>>endobj
-558 0 obj<</Subtype/Link/Rect[112.6 681.4 202.0 694.4]/Border[0 0 0]/A 557 0 R>>endobj
-559 0 obj<</S/URI/URI(http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html)>>endobj
-560 0 obj<</Subtype/Link/Rect[125.1 615.4 267.5 628.4]/Border[0 0 0]/A 559 0 R>>endobj
-561 0 obj<</S/URI/URI(http://samba.idealx.org/)>>endobj
-562 0 obj<</Subtype/Link/Rect[243.7 602.2 287.3 615.2]/Border[0 0 0]/A 561 0 R>>endobj
-563 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-564 0 obj<</Subtype/Link/Rect[212.8 530.6 332.5 543.6]/Border[0 0 0]/A 563 0 R>>endobj
-565 0 obj<</S/URI/URI(http://www.padl.com/)>>endobj
-566 0 obj<</Subtype/Link/Rect[284.3 95.0 380.9 108.0]/Border[0 0 0]/A 565 0 R>>endobj
-567 0 obj[554 0 R
-556 0 R
-558 0 R
+548 0 R
+549 0 R
+550 0 R]endobj
+552 0 obj<</Subtype/Link/Rect[168.8 721.0 199.6 734.0]/Border[0 0 0]/Dest[1547 0 R/XYZ 0 649 0]>>endobj
+553 0 obj[552 0 R]endobj
+554 0 obj<</S/URI/URI(http://samba.org/)>>endobj
+555 0 obj<</Subtype/Link/Rect[165.5 637.0 260.5 650.0]/Border[0 0 0]/A 554 0 R>>endobj
+556 0 obj[555 0 R]endobj
+557 0 obj<</S/URI/URI(http://www.openldap.org/)>>endobj
+558 0 obj<</Subtype/Link/Rect[169.5 721.0 285.9 734.0]/Border[0 0 0]/A 557 0 R>>endobj
+559 0 obj<</S/URI/URI(http://iplanet.netscape.com/directory)>>endobj
+560 0 obj<</Subtype/Link/Rect[223.9 707.8 387.9 720.8]/Border[0 0 0]/A 559 0 R>>endobj
+561 0 obj<</S/URI/URI(http://www.ora.com/)>>endobj
+562 0 obj<</Subtype/Link/Rect[112.6 681.4 202.0 694.4]/Border[0 0 0]/A 561 0 R>>endobj
+563 0 obj<</S/URI/URI(http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html)>>endobj
+564 0 obj<</Subtype/Link/Rect[125.1 615.4 267.5 628.4]/Border[0 0 0]/A 563 0 R>>endobj
+565 0 obj<</S/URI/URI(http://samba.idealx.org/)>>endobj
+566 0 obj<</Subtype/Link/Rect[243.7 602.2 287.3 615.2]/Border[0 0 0]/A 565 0 R>>endobj
+567 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+568 0 obj<</Subtype/Link/Rect[212.8 530.6 332.5 543.6]/Border[0 0 0]/A 567 0 R>>endobj
+569 0 obj<</S/URI/URI(http://www.padl.com/)>>endobj
+570 0 obj<</Subtype/Link/Rect[284.3 95.0 380.9 108.0]/Border[0 0 0]/A 569 0 R>>endobj
+571 0 obj[558 0 R
 560 0 R
 562 0 R
 564 0 R
-566 0 R]endobj
-568 0 obj<</S/Launch/F(samba-patches@samba.org)>>endobj
-569 0 obj<</Subtype/Link/Rect[393.7 651.4 519.4 664.4]/Border[0 0 0]/A 568 0 R>>endobj
-570 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
-571 0 obj<</Subtype/Link/Rect[72.0 638.2 148.4 651.2]/Border[0 0 0]/A 570 0 R>>endobj
-572 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
-573 0 obj<</Subtype/Link/Rect[271.2 425.0 350.4 438.0]/Border[0 0 0]/A 572 0 R>>endobj
-574 0 obj[569 0 R
-571 0 R
-573 0 R]endobj
-575 0 obj<</S/Launch/F(#LDAPSSL)>>endobj
-576 0 obj<</Subtype/Link/Rect[108.0 260.6 141.3 273.6]/Border[0 0 0]/A 575 0 R>>endobj
-577 0 obj<</S/Launch/F(#LDAPSERVER)>>endobj
-578 0 obj<</Subtype/Link/Rect[108.0 247.4 156.6 260.4]/Border[0 0 0]/A 577 0 R>>endobj
-579 0 obj<</S/Launch/F(#LDAPADMINDN)>>endobj
-580 0 obj<</Subtype/Link/Rect[108.0 234.2 170.9 247.2]/Border[0 0 0]/A 579 0 R>>endobj
-581 0 obj<</S/Launch/F(#LDAPSUFFIX)>>endobj
-582 0 obj<</Subtype/Link/Rect[108.0 221.0 155.4 234.0]/Border[0 0 0]/A 581 0 R>>endobj
-583 0 obj<</S/Launch/F(#LDAPFILTER)>>endobj
-584 0 obj<</Subtype/Link/Rect[108.0 207.8 151.1 220.8]/Border[0 0 0]/A 583 0 R>>endobj
-585 0 obj<</S/Launch/F(#LDAPPORT)>>endobj
-586 0 obj<</Subtype/Link/Rect[108.0 194.6 147.4 207.6]/Border[0 0 0]/A 585 0 R>>endobj
-587 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-588 0 obj<</Subtype/Link/Rect[186.9 168.2 243.1 181.2]/Border[0 0 0]/A 587 0 R>>endobj
-589 0 obj[576 0 R
-578 0 R
-580 0 R
+566 0 R
+568 0 R
+570 0 R]endobj
+572 0 obj<</S/Launch/F(samba-patches@samba.org)>>endobj
+573 0 obj<</Subtype/Link/Rect[393.7 651.4 519.4 664.4]/Border[0 0 0]/A 572 0 R>>endobj
+574 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
+575 0 obj<</Subtype/Link/Rect[72.0 638.2 148.4 651.2]/Border[0 0 0]/A 574 0 R>>endobj
+576 0 obj<</S/Launch/F(jerry@samba.org)>>endobj
+577 0 obj<</Subtype/Link/Rect[271.2 425.0 350.4 438.0]/Border[0 0 0]/A 576 0 R>>endobj
+578 0 obj[573 0 R
+575 0 R
+577 0 R]endobj
+579 0 obj<</S/Launch/F(#LDAPSSL)>>endobj
+580 0 obj<</Subtype/Link/Rect[108.0 260.6 141.3 273.6]/Border[0 0 0]/A 579 0 R>>endobj
+581 0 obj<</S/Launch/F(#LDAPSERVER)>>endobj
+582 0 obj<</Subtype/Link/Rect[108.0 247.4 156.6 260.4]/Border[0 0 0]/A 581 0 R>>endobj
+583 0 obj<</S/Launch/F(#LDAPADMINDN)>>endobj
+584 0 obj<</Subtype/Link/Rect[108.0 234.2 170.9 247.2]/Border[0 0 0]/A 583 0 R>>endobj
+585 0 obj<</S/Launch/F(#LDAPSUFFIX)>>endobj
+586 0 obj<</Subtype/Link/Rect[108.0 221.0 155.4 234.0]/Border[0 0 0]/A 585 0 R>>endobj
+587 0 obj<</S/Launch/F(#LDAPFILTER)>>endobj
+588 0 obj<</Subtype/Link/Rect[108.0 207.8 151.1 220.8]/Border[0 0 0]/A 587 0 R>>endobj
+589 0 obj<</S/Launch/F(#LDAPPORT)>>endobj
+590 0 obj<</Subtype/Link/Rect[108.0 194.6 147.4 207.6]/Border[0 0 0]/A 589 0 R>>endobj
+591 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+592 0 obj<</Subtype/Link/Rect[186.9 168.2 243.1 181.2]/Border[0 0 0]/A 591 0 R>>endobj
+593 0 obj[580 0 R
 582 0 R
 584 0 R
 586 0 R
-588 0 R]endobj
-590 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-591 0 obj<</Subtype/Link/Rect[72.0 99.0 176.8 112.0]/Border[0 0 0]/A 590 0 R>>endobj
-592 0 obj[591 0 R]endobj
-593 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
-594 0 obj<</Subtype/Link/Rect[72.0 65.0 176.7 78.0]/Border[0 0 0]/A 593 0 R>>endobj
-595 0 obj[594 0 R]endobj
-596 0 obj<</Subtype/Link/Rect[80.2 631.0 216.5 644.0]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 734 0]>>endobj
-597 0 obj<</Subtype/Link/Rect[124.5 617.8 212.2 630.8]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 523 0]>>endobj
-598 0 obj<</Subtype/Link/Rect[124.5 604.6 233.6 617.6]/Border[0 0 0]/Dest[1556 0 R/XYZ 0 197 0]>>endobj
-599 0 obj<</Subtype/Link/Rect[124.5 591.4 211.9 604.4]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 626 0]>>endobj
-600 0 obj<</Subtype/Link/Rect[168.8 578.2 284.6 591.2]/Border[0 0 0]/Dest[1558 0 R/XYZ 0 537 0]>>endobj
-601 0 obj<</Subtype/Link/Rect[80.2 565.0 217.8 578.0]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 734 0]>>endobj
-602 0 obj<</Subtype/Link/Rect[124.5 551.8 257.4 564.8]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 668 0]>>endobj
-603 0 obj<</Subtype/Link/Rect[168.8 538.6 258.3 551.6]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 553 0]>>endobj
-604 0 obj<</Subtype/Link/Rect[168.8 525.4 262.5 538.4]/Border[0 0 0]/Dest[1560 0 R/XYZ 0 310 0]>>endobj
-605 0 obj<</Subtype/Link/Rect[168.8 512.2 265.6 525.2]/Border[0 0 0]/Dest[1562 0 R/XYZ 0 734 0]>>endobj
-606 0 obj<</Subtype/Link/Rect[168.8 499.0 272.3 512.0]/Border[0 0 0]/Dest[1564 0 R/XYZ 0 213 0]>>endobj
-607 0 obj<</Subtype/Link/Rect[168.8 485.8 257.0 498.8]/Border[0 0 0]/Dest[1566 0 R/XYZ 0 448 0]>>endobj
-608 0 obj<</Subtype/Link/Rect[80.2 472.6 331.1 485.6]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 734 0]>>endobj
-609 0 obj<</Subtype/Link/Rect[124.5 459.4 221.0 472.4]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 672 0]>>endobj
-610 0 obj<</Subtype/Link/Rect[124.5 446.2 181.0 459.2]/Border[0 0 0]/Dest[1568 0 R/XYZ 0 584 0]>>endobj
-611 0 obj<</Subtype/Link/Rect[124.5 433.0 317.3 446.0]/Border[0 0 0]/Dest[1570 0 R/XYZ 0 692 0]>>endobj
-612 0 obj<</Subtype/Link/Rect[124.5 419.8 431.3 432.8]/Border[0 0 0]/Dest[1572 0 R/XYZ 0 626 0]>>endobj
-613 0 obj<</Subtype/Link/Rect[168.8 406.6 369.2 419.6]/Border[0 0 0]/Dest[1574 0 R/XYZ 0 613 0]>>endobj
-614 0 obj<</Subtype/Link/Rect[168.8 393.4 400.6 406.4]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 718 0]>>endobj
-615 0 obj<</Subtype/Link/Rect[168.8 380.2 316.0 393.2]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 509 0]>>endobj
-616 0 obj<</Subtype/Link/Rect[124.5 367.0 263.2 380.0]/Border[0 0 0]/Dest[1576 0 R/XYZ 0 160 0]>>endobj
-617 0 obj<</Subtype/Link/Rect[124.5 353.8 244.9 366.8]/Border[0 0 0]/Dest[1580 0 R/XYZ 0 565 0]>>endobj
-618 0 obj<</Subtype/Link/Rect[124.5 340.6 290.4 353.6]/Border[0 0 0]/Dest[1584 0 R/XYZ 0 283 0]>>endobj
-619 0 obj<</Subtype/Link/Rect[168.8 327.4 368.0 340.4]/Border[0 0 0]/Dest[1586 0 R/XYZ 0 335 0]>>endobj
-620 0 obj<</Subtype/Link/Rect[80.2 314.2 355.2 327.2]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 734 0]>>endobj
-621 0 obj<</Subtype/Link/Rect[124.5 301.0 221.0 314.0]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 672 0]>>endobj
-622 0 obj<</Subtype/Link/Rect[124.5 287.8 181.0 300.8]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 597 0]>>endobj
-623 0 obj<</Subtype/Link/Rect[124.5 274.6 360.4 287.6]/Border[0 0 0]/Dest[1590 0 R/XYZ 0 225 0]>>endobj
-624 0 obj<</Subtype/Link/Rect[168.8 261.4 401.0 274.4]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 734 0]>>endobj
-625 0 obj<</Subtype/Link/Rect[168.8 248.2 287.0 261.2]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 609 0]>>endobj
-626 0 obj<</Subtype/Link/Rect[124.5 235.0 394.3 248.0]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 524 0]>>endobj
-627 0 obj<</Subtype/Link/Rect[124.5 221.8 268.1 234.8]/Border[0 0 0]/Dest[1592 0 R/XYZ 0 323 0]>>endobj
-628 0 obj<</Subtype/Link/Rect[168.8 208.6 345.7 221.6]/Border[0 0 0]/Dest[1594 0 R/XYZ 0 541 0]>>endobj
-629 0 obj<</Subtype/Link/Rect[168.8 195.4 300.5 208.4]/Border[0 0 0]/Dest[1594 0 R/XYZ 0 390 0]>>endobj
-630 0 obj<</Subtype/Link/Rect[80.2 182.2 230.6 195.2]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 734 0]>>endobj
-631 0 obj<</Subtype/Link/Rect[124.5 169.0 174.6 182.0]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 668 0]>>endobj
-632 0 obj<</Subtype/Link/Rect[177.4 169.0 230.2 182.0]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 668 0]>>endobj
-633 0 obj<</Subtype/Link/Rect[124.5 155.8 174.6 168.8]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 444 0]>>endobj
-634 0 obj<</Subtype/Link/Rect[177.4 155.8 269.8 168.8]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 444 0]>>endobj
-635 0 obj<</Subtype/Link/Rect[124.5 142.6 255.3 155.6]/Border[0 0 0]/Dest[1596 0 R/XYZ 0 127 0]>>endobj
-636 0 obj<</Subtype/Link/Rect[168.8 129.4 239.0 142.4]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 734 0]>>endobj
-637 0 obj<</Subtype/Link/Rect[124.5 116.2 224.7 129.2]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 649 0]>>endobj
-638 0 obj<</Subtype/Link/Rect[124.5 103.0 226.3 116.0]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 560 0]>>endobj
-639 0 obj<</Subtype/Link/Rect[124.5 89.8 152.3 102.8]/Border[0 0 0]/Dest[1598 0 R/XYZ 0 485 0]>>endobj
-640 0 obj<</Subtype/Link/Rect[80.2 76.6 272.7 89.6]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 734 0]>>endobj
-641 0 obj<</Subtype/Link/Rect[124.5 63.4 299.3 76.4]/Border[0 0 0]/Dest[1600 0 R/XYZ 0 672 0]>>endobj
-642 0 obj[596 0 R
-597 0 R
-598 0 R
-599 0 R
-600 0 R
+588 0 R
+590 0 R
+592 0 R]endobj
+594 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+595 0 obj<</Subtype/Link/Rect[72.0 99.0 176.8 112.0]/Border[0 0 0]/A 594 0 R>>endobj
+596 0 obj[595 0 R]endobj
+597 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
+598 0 obj<</Subtype/Link/Rect[72.0 65.0 176.7 78.0]/Border[0 0 0]/A 597 0 R>>endobj
+599 0 obj[598 0 R]endobj
+600 0 obj<</Subtype/Link/Rect[80.2 631.0 216.5 644.0]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 734 0]>>endobj
+601 0 obj<</Subtype/Link/Rect[124.5 617.8 212.2 630.8]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 523 0]>>endobj
+602 0 obj<</Subtype/Link/Rect[124.5 604.6 233.6 617.6]/Border[0 0 0]/Dest[1555 0 R/XYZ 0 249 0]>>endobj
+603 0 obj<</Subtype/Link/Rect[124.5 591.4 211.9 604.4]/Border[0 0 0]/Dest[1557 0 R/XYZ 0 679 0]>>endobj
+604 0 obj<</Subtype/Link/Rect[168.8 578.2 284.6 591.2]/Border[0 0 0]/Dest[1557 0 R/XYZ 0 590 0]>>endobj
+605 0 obj<</Subtype/Link/Rect[80.2 565.0 356.8 578.0]/Border[0 0 0]/Dest[1559 0 R/XYZ 0 734 0]>>endobj
+606 0 obj<</Subtype/Link/Rect[80.2 551.8 331.1 564.8]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 734 0]>>endobj
+607 0 obj<</Subtype/Link/Rect[124.5 538.6 221.0 551.6]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 672 0]>>endobj
+608 0 obj<</Subtype/Link/Rect[124.5 525.4 181.0 538.4]/Border[0 0 0]/Dest[1563 0 R/XYZ 0 584 0]>>endobj
+609 0 obj<</Subtype/Link/Rect[124.5 512.2 317.3 525.2]/Border[0 0 0]/Dest[1565 0 R/XYZ 0 734 0]>>endobj
+610 0 obj<</Subtype/Link/Rect[124.5 499.0 431.3 512.0]/Border[0 0 0]/Dest[1567 0 R/XYZ 0 665 0]>>endobj
+611 0 obj<</Subtype/Link/Rect[168.8 485.8 369.2 498.8]/Border[0 0 0]/Dest[1569 0 R/XYZ 0 665 0]>>endobj
+612 0 obj<</Subtype/Link/Rect[168.8 472.6 400.6 485.6]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 734 0]>>endobj
+613 0 obj<</Subtype/Link/Rect[168.8 459.4 316.0 472.4]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 524 0]>>endobj
+614 0 obj<</Subtype/Link/Rect[124.5 446.2 263.2 459.2]/Border[0 0 0]/Dest[1571 0 R/XYZ 0 175 0]>>endobj
+615 0 obj<</Subtype/Link/Rect[124.5 433.0 252.8 446.0]/Border[0 0 0]/Dest[1575 0 R/XYZ 0 565 0]>>endobj
+616 0 obj<</Subtype/Link/Rect[124.5 419.8 244.9 432.8]/Border[0 0 0]/Dest[1577 0 R/XYZ 0 560 0]>>endobj
+617 0 obj<</Subtype/Link/Rect[124.5 406.6 290.4 419.6]/Border[0 0 0]/Dest[1581 0 R/XYZ 0 283 0]>>endobj
+618 0 obj<</Subtype/Link/Rect[168.8 393.4 368.0 406.4]/Border[0 0 0]/Dest[1583 0 R/XYZ 0 283 0]>>endobj
+619 0 obj<</Subtype/Link/Rect[168.8 380.2 444.1 393.2]/Border[0 0 0]/Dest[1585 0 R/XYZ 0 504 0]>>endobj
+620 0 obj<</Subtype/Link/Rect[124.5 367.0 423.7 380.0]/Border[0 0 0]/Dest[1593 0 R/XYZ 0 415 0]>>endobj
+621 0 obj<</Subtype/Link/Rect[80.2 353.8 449.4 366.8]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 734 0]>>endobj
+622 0 obj<</Subtype/Link/Rect[124.5 340.6 221.0 353.6]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 672 0]>>endobj
+623 0 obj<</Subtype/Link/Rect[124.5 327.4 181.0 340.4]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 597 0]>>endobj
+624 0 obj<</Subtype/Link/Rect[124.5 314.2 360.4 327.2]/Border[0 0 0]/Dest[1597 0 R/XYZ 0 225 0]>>endobj
+625 0 obj<</Subtype/Link/Rect[168.8 301.0 401.0 314.0]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 734 0]>>endobj
+626 0 obj<</Subtype/Link/Rect[168.8 287.8 287.0 300.8]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 609 0]>>endobj
+627 0 obj<</Subtype/Link/Rect[124.5 274.6 394.3 287.6]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 524 0]>>endobj
+628 0 obj<</Subtype/Link/Rect[124.5 261.4 268.1 274.4]/Border[0 0 0]/Dest[1599 0 R/XYZ 0 323 0]>>endobj
+629 0 obj<</Subtype/Link/Rect[168.8 248.2 345.7 261.2]/Border[0 0 0]/Dest[1601 0 R/XYZ 0 541 0]>>endobj
+630 0 obj<</Subtype/Link/Rect[168.8 235.0 300.5 248.0]/Border[0 0 0]/Dest[1601 0 R/XYZ 0 390 0]>>endobj
+631 0 obj<</Subtype/Link/Rect[80.2 221.8 230.6 234.8]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 734 0]>>endobj
+632 0 obj<</Subtype/Link/Rect[124.5 208.6 320.7 221.6]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 551 0]>>endobj
+633 0 obj<</Subtype/Link/Rect[124.5 195.4 321.9 208.4]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 444 0]>>endobj
+634 0 obj<</Subtype/Link/Rect[124.5 182.2 197.2 195.2]/Border[0 0 0]/Dest[1603 0 R/XYZ 0 267 0]>>endobj
+635 0 obj<</Subtype/Link/Rect[124.5 169.0 238.2 182.0]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 580 0]>>endobj
+636 0 obj<</Subtype/Link/Rect[124.5 155.8 255.3 168.8]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 264 0]>>endobj
+637 0 obj<</Subtype/Link/Rect[168.8 142.6 239.0 155.6]/Border[0 0 0]/Dest[1605 0 R/XYZ 0 202 0]>>endobj
+638 0 obj<</Subtype/Link/Rect[124.5 129.4 224.7 142.4]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 734 0]>>endobj
+639 0 obj<</Subtype/Link/Rect[124.5 116.2 226.3 129.2]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 645 0]>>endobj
+640 0 obj<</Subtype/Link/Rect[124.5 103.0 152.3 116.0]/Border[0 0 0]/Dest[1607 0 R/XYZ 0 570 0]>>endobj
+641 0 obj<</Subtype/Link/Rect[80.2 89.8 272.7 102.8]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 734 0]>>endobj
+642 0 obj<</Subtype/Link/Rect[124.5 76.6 299.3 89.6]/Border[0 0 0]/Dest[1609 0 R/XYZ 0 672 0]>>endobj
+643 0 obj<</Subtype/Link/Rect[124.5 63.4 286.8 76.4]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 494 0]>>endobj
+644 0 obj[600 0 R
 601 0 R
 602 0 R
 603 0 R
@@ -1209,69 +1209,63 @@ endobj
 638 0 R
 639 0 R
 640 0 R
-641 0 R]endobj
-643 0 obj<</Subtype/Link/Rect[124.5 721.0 309.7 734.0]/Border[0 0 0]/Dest[1602 0 R/XYZ 0 494 0]>>endobj
-644 0 obj[643 0 R]endobj
-645 0 obj<</S/Launch/F(#PASSWORDLEVEL)>>endobj
-646 0 obj<</Subtype/Link/Rect[72.0 683.4 153.0 694.4]/Border[0 0 0]/A 645 0 R>>endobj
-647 0 obj<</S/Launch/F(#USERNAMELEVEL)>>endobj
-648 0 obj<</Subtype/Link/Rect[72.0 672.6 147.6 683.6]/Border[0 0 0]/A 647 0 R>>endobj
-649 0 obj[646 0 R
-648 0 R]endobj
-650 0 obj<</S/Launch/F(winbind.html)>>endobj
-651 0 obj<</Subtype/Link/Rect[503.4 477.4 544.6 490.4]/Border[0 0 0]/A 650 0 R>>endobj
-652 0 obj<</S/Launch/F(winbind.html)>>endobj
-653 0 obj<</Subtype/Link/Rect[72.0 464.2 115.4 477.2]/Border[0 0 0]/A 652 0 R>>endobj
-654 0 obj[651 0 R
-653 0 R]endobj
-655 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-656 0 obj<</Subtype/Link/Rect[153.2 599.8 225.8 612.8]/Border[0 0 0]/A 655 0 R>>endobj
-657 0 obj[656 0 R]endobj
-658 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-659 0 obj<</Subtype/Link/Rect[318.5 632.6 423.3 645.6]/Border[0 0 0]/A 658 0 R>>endobj
-660 0 obj<</S/Launch/F(#NETBIOSNAME)>>endobj
-661 0 obj<</Subtype/Link/Rect[93.6 560.2 158.4 571.2]/Border[0 0 0]/A 660 0 R>>endobj
-662 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
-663 0 obj<</Subtype/Link/Rect[93.6 549.4 142.2 560.4]/Border[0 0 0]/A 662 0 R>>endobj
-664 0 obj<</S/Launch/F(#OSLEVEL)>>endobj
-665 0 obj<</Subtype/Link/Rect[93.6 517.0 136.8 528.0]/Border[0 0 0]/A 664 0 R>>endobj
-666 0 obj<</S/Launch/F(#PERFERREDMASTER)>>endobj
-667 0 obj<</Subtype/Link/Rect[93.6 506.2 180.0 517.2]/Border[0 0 0]/A 666 0 R>>endobj
-668 0 obj<</S/Launch/F(#DOMAINMASTER)>>endobj
-669 0 obj<</Subtype/Link/Rect[93.6 495.4 163.8 506.4]/Border[0 0 0]/A 668 0 R>>endobj
-670 0 obj<</S/Launch/F(#LOCALMASTER)>>endobj
-671 0 obj<</Subtype/Link/Rect[93.6 484.6 158.4 495.6]/Border[0 0 0]/A 670 0 R>>endobj
-672 0 obj<</S/Launch/F(#SECURITYEQUALSUSER)>>endobj
-673 0 obj<</Subtype/Link/Rect[93.6 452.2 136.8 463.2]/Border[0 0 0]/A 672 0 R>>endobj
-674 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-675 0 obj<</Subtype/Link/Rect[93.6 419.8 185.4 430.8]/Border[0 0 0]/A 674 0 R>>endobj
-676 0 obj<</S/Launch/F(#DOMAINLOGONS)>>endobj
-677 0 obj<</Subtype/Link/Rect[93.6 387.4 163.8 398.4]/Border[0 0 0]/A 676 0 R>>endobj
-678 0 obj<</S/Launch/F(#LOGONPATH)>>endobj
-679 0 obj<</Subtype/Link/Rect[93.6 355.0 147.6 366.0]/Border[0 0 0]/A 678 0 R>>endobj
-680 0 obj<</S/Launch/F(#LOGONDRIVE)>>endobj
-681 0 obj<</Subtype/Link/Rect[93.6 322.6 153.0 333.6]/Border[0 0 0]/A 680 0 R>>endobj
-682 0 obj<</S/Launch/F(#LOGONHOME)>>endobj
-683 0 obj<</Subtype/Link/Rect[93.6 311.8 147.6 322.8]/Border[0 0 0]/A 682 0 R>>endobj
-684 0 obj<</S/Launch/F(#LOGONSCRIPT)>>endobj
-685 0 obj<</Subtype/Link/Rect[93.6 268.6 158.4 279.6]/Border[0 0 0]/A 684 0 R>>endobj
-686 0 obj<</S/Launch/F(#PATH)>>endobj
-687 0 obj<</Subtype/Link/Rect[93.6 225.4 115.2 236.4]/Border[0 0 0]/A 686 0 R>>endobj
-688 0 obj<</S/Launch/F(#READONLY)>>endobj
-689 0 obj<</Subtype/Link/Rect[93.6 214.6 142.2 225.6]/Border[0 0 0]/A 688 0 R>>endobj
-690 0 obj<</S/Launch/F(#WRITELIST)>>endobj
-691 0 obj<</Subtype/Link/Rect[93.6 203.8 147.6 214.8]/Border[0 0 0]/A 690 0 R>>endobj
-692 0 obj<</S/Launch/F(#PATH)>>endobj
-693 0 obj<</Subtype/Link/Rect[93.6 160.6 115.2 171.6]/Border[0 0 0]/A 692 0 R>>endobj
-694 0 obj<</S/Launch/F(#READONLY)>>endobj
-695 0 obj<</Subtype/Link/Rect[93.6 149.8 142.2 160.8]/Border[0 0 0]/A 694 0 R>>endobj
-696 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
-697 0 obj<</Subtype/Link/Rect[93.6 139.0 153.0 150.0]/Border[0 0 0]/A 696 0 R>>endobj
-698 0 obj<</S/Launch/F(#DIRECTORYMASK)>>endobj
-699 0 obj<</Subtype/Link/Rect[93.6 128.2 169.2 139.2]/Border[0 0 0]/A 698 0 R>>endobj
-700 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
-701 0 obj<</Subtype/Link/Rect[108.0 62.6 200.6 75.6]/Border[0 0 0]/A 700 0 R>>endobj
-702 0 obj[659 0 R
+641 0 R
+642 0 R
+643 0 R]endobj
+645 0 obj<</Subtype/Link/Rect[124.5 721.0 309.7 734.0]/Border[0 0 0]/Dest[1611 0 R/XYZ 0 405 0]>>endobj
+646 0 obj[645 0 R]endobj
+647 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+648 0 obj<</Subtype/Link/Rect[153.2 599.8 225.8 612.8]/Border[0 0 0]/A 647 0 R>>endobj
+649 0 obj[648 0 R]endobj
+650 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+651 0 obj<</Subtype/Link/Rect[318.5 674.2 423.3 687.2]/Border[0 0 0]/A 650 0 R>>endobj
+652 0 obj<</S/Launch/F(#NETBIOSNAME)>>endobj
+653 0 obj<</Subtype/Link/Rect[93.6 601.8 158.4 612.8]/Border[0 0 0]/A 652 0 R>>endobj
+654 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
+655 0 obj<</Subtype/Link/Rect[93.6 591.0 142.2 602.0]/Border[0 0 0]/A 654 0 R>>endobj
+656 0 obj<</S/Launch/F(#OSLEVEL)>>endobj
+657 0 obj<</Subtype/Link/Rect[93.6 558.6 136.8 569.6]/Border[0 0 0]/A 656 0 R>>endobj
+658 0 obj<</S/Launch/F(#PERFERREDMASTER)>>endobj
+659 0 obj<</Subtype/Link/Rect[93.6 547.8 180.0 558.8]/Border[0 0 0]/A 658 0 R>>endobj
+660 0 obj<</S/Launch/F(#DOMAINMASTER)>>endobj
+661 0 obj<</Subtype/Link/Rect[93.6 537.0 163.8 548.0]/Border[0 0 0]/A 660 0 R>>endobj
+662 0 obj<</S/Launch/F(#LOCALMASTER)>>endobj
+663 0 obj<</Subtype/Link/Rect[93.6 526.2 158.4 537.2]/Border[0 0 0]/A 662 0 R>>endobj
+664 0 obj<</S/Launch/F(#SECURITYEQUALSUSER)>>endobj
+665 0 obj<</Subtype/Link/Rect[93.6 493.8 136.8 504.8]/Border[0 0 0]/A 664 0 R>>endobj
+666 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+667 0 obj<</Subtype/Link/Rect[93.6 461.4 185.4 472.4]/Border[0 0 0]/A 666 0 R>>endobj
+668 0 obj<</S/Launch/F(#DOMAINLOGONS)>>endobj
+669 0 obj<</Subtype/Link/Rect[93.6 429.0 163.8 440.0]/Border[0 0 0]/A 668 0 R>>endobj
+670 0 obj<</S/Launch/F(#LOGONPATH)>>endobj
+671 0 obj<</Subtype/Link/Rect[93.6 396.6 147.6 407.6]/Border[0 0 0]/A 670 0 R>>endobj
+672 0 obj<</S/Launch/F(#LOGONDRIVE)>>endobj
+673 0 obj<</Subtype/Link/Rect[93.6 364.2 153.0 375.2]/Border[0 0 0]/A 672 0 R>>endobj
+674 0 obj<</S/Launch/F(#LOGONHOME)>>endobj
+675 0 obj<</Subtype/Link/Rect[93.6 353.4 147.6 364.4]/Border[0 0 0]/A 674 0 R>>endobj
+676 0 obj<</S/Launch/F(#LOGONSCRIPT)>>endobj
+677 0 obj<</Subtype/Link/Rect[93.6 310.2 158.4 321.2]/Border[0 0 0]/A 676 0 R>>endobj
+678 0 obj<</S/Launch/F(#PATH)>>endobj
+679 0 obj<</Subtype/Link/Rect[93.6 267.0 115.2 278.0]/Border[0 0 0]/A 678 0 R>>endobj
+680 0 obj<</S/Launch/F(#READONLY)>>endobj
+681 0 obj<</Subtype/Link/Rect[93.6 256.2 142.2 267.2]/Border[0 0 0]/A 680 0 R>>endobj
+682 0 obj<</S/Launch/F(#WRITELIST)>>endobj
+683 0 obj<</Subtype/Link/Rect[93.6 245.4 147.6 256.4]/Border[0 0 0]/A 682 0 R>>endobj
+684 0 obj<</S/Launch/F(#PATH)>>endobj
+685 0 obj<</Subtype/Link/Rect[93.6 202.2 115.2 213.2]/Border[0 0 0]/A 684 0 R>>endobj
+686 0 obj<</S/Launch/F(#READONLY)>>endobj
+687 0 obj<</Subtype/Link/Rect[93.6 191.4 142.2 202.4]/Border[0 0 0]/A 686 0 R>>endobj
+688 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
+689 0 obj<</Subtype/Link/Rect[93.6 180.6 153.0 191.6]/Border[0 0 0]/A 688 0 R>>endobj
+690 0 obj<</S/Launch/F(#DIRECTORYMASK)>>endobj
+691 0 obj<</Subtype/Link/Rect[93.6 169.8 169.2 180.8]/Border[0 0 0]/A 690 0 R>>endobj
+692 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+693 0 obj<</Subtype/Link/Rect[108.0 104.2 200.6 117.2]/Border[0 0 0]/A 692 0 R>>endobj
+694 0 obj[651 0 R
+653 0 R
+655 0 R
+657 0 R
+659 0 R
 661 0 R
 663 0 R
 665 0 R
@@ -1288,130 +1282,135 @@ endobj
 687 0 R
 689 0 R
 691 0 R
-693 0 R
-695 0 R
-697 0 R
-699 0 R
-701 0 R]endobj
-703 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
-704 0 obj<</Subtype/Link/Rect[72.0 242.6 138.6 255.6]/Border[0 0 0]/A 703 0 R>>endobj
-705 0 obj[704 0 R]endobj
-706 0 obj<</S/Launch/F(#ADDUSERSCRIPT)>>endobj
-707 0 obj<</Subtype/Link/Rect[420.0 623.0 486.9 636.0]/Border[0 0 0]/A 706 0 R>>endobj
-708 0 obj[707 0 R]endobj
-709 0 obj<</S/URI/URI(http://www.tcpdump.org/)>>endobj
-710 0 obj<</Subtype/Link/Rect[349.4 188.6 455.4 201.6]/Border[0 0 0]/A 709 0 R>>endobj
-711 0 obj<</S/URI/URI(http://www.ethereal.com/)>>endobj
-712 0 obj<</Subtype/Link/Rect[424.5 175.4 536.6 188.4]/Border[0 0 0]/A 711 0 R>>endobj
-713 0 obj[710 0 R
-712 0 R]endobj
-714 0 obj<</S/URI/URI(http://samba.org)>>endobj
-715 0 obj<</Subtype/Link/Rect[233.5 311.8 308.1 324.8]/Border[0 0 0]/A 714 0 R>>endobj
-716 0 obj<</S/URI/URI(http://www.skippy.net/linux/smb-howto.html)>>endobj
-717 0 obj<</Subtype/Link/Rect[144.0 259.0 346.1 272.0]/Border[0 0 0]/A 716 0 R>>endobj
-718 0 obj<</S/URI/URI(http://bioserve.latrobe.edu.au/samba)>>endobj
-719 0 obj<</Subtype/Link/Rect[179.7 232.6 342.3 245.6]/Border[0 0 0]/A 718 0 R>>endobj
-720 0 obj<</S/URI/URI(http://samba.org/cifs/)>>endobj
-721 0 obj<</Subtype/Link/Rect[282.1 219.4 378.7 232.4]/Border[0 0 0]/A 720 0 R>>endobj
-722 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/ntdom/)>>endobj
-723 0 obj<</Subtype/Link/Rect[241.5 206.2 408.5 219.2]/Border[0 0 0]/A 722 0 R>>endobj
-724 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/developr/drg/CIFS/)>>endobj
-725 0 obj<</Subtype/Link/Rect[277.5 193.0 469.1 206.0]/Border[0 0 0]/A 724 0 R>>endobj
-726 0 obj<</S/URI/URI(http://samba.org)>>endobj
-727 0 obj<</Subtype/Link/Rect[358.2 140.2 432.8 153.2]/Border[0 0 0]/A 726 0 R>>endobj
-728 0 obj<</S/URI/URI(http://www.samba-tng.org/)>>endobj
-729 0 obj<</Subtype/Link/Rect[298.4 100.6 422.8 113.6]/Border[0 0 0]/A 728 0 R>>endobj
-730 0 obj[715 0 R
-717 0 R
-719 0 R
-721 0 R
-723 0 R
-725 0 R
-727 0 R
-729 0 R]endobj
-731 0 obj<</S/URI/URI(http://lists.samba.org/)>>endobj
-732 0 obj<</Subtype/Link/Rect[132.8 351.4 227.8 364.4]/Border[0 0 0]/A 731 0 R>>endobj
-733 0 obj<</S/URI/URI(http://lists.samba.org/mailman/roster/samba-ntdom)>>endobj
-734 0 obj<</Subtype/Link/Rect[306.3 338.2 328.0 351.2]/Border[0 0 0]/A 733 0 R>>endobj
-735 0 obj[732 0 R
-734 0 R]endobj
-736 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
-737 0 obj<</Subtype/Link/Rect[210.4 613.0 317.8 626.0]/Border[0 0 0]/A 736 0 R>>endobj
-738 0 obj[737 0 R]endobj
-739 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-740 0 obj<</Subtype/Link/Rect[191.8 573.4 264.4 586.4]/Border[0 0 0]/A 739 0 R>>endobj
-741 0 obj<</S/Launch/F(#SECURITY)>>endobj
-742 0 obj<</Subtype/Link/Rect[166.4 547.0 216.8 560.0]/Border[0 0 0]/A 741 0 R>>endobj
-743 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
-744 0 obj<</Subtype/Link/Rect[143.5 494.2 207.4 507.2]/Border[0 0 0]/A 743 0 R>>endobj
-745 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-746 0 obj<</Subtype/Link/Rect[222.0 415.0 316.8 428.0]/Border[0 0 0]/A 745 0 R>>endobj
-747 0 obj<</S/Launch/F(#PASSWORDSERVER)>>endobj
-748 0 obj<</Subtype/Link/Rect[186.0 375.4 279.2 388.4]/Border[0 0 0]/A 747 0 R>>endobj
-749 0 obj[740 0 R
-742 0 R
-744 0 R
-746 0 R
-748 0 R]endobj
-750 0 obj<</S/Launch/F(net.8.html)>>endobj
-751 0 obj<</Subtype/Link/Rect[218.7 694.6 247.7 707.6]/Border[0 0 0]/A 750 0 R>>endobj
-752 0 obj<</S/Launch/F(#SECURITYEQUALSSERVER)>>endobj
-753 0 obj<</Subtype/Link/Rect[275.2 408.2 351.3 421.2]/Border[0 0 0]/A 752 0 R>>endobj
-754 0 obj<</S/Launch/F(winbind.html)>>endobj
-755 0 obj<</Subtype/Link/Rect[151.1 355.4 219.5 368.4]/Border[0 0 0]/A 754 0 R>>endobj
+693 0 R]endobj
+695 0 obj<</S/Launch/F(smbpasswd.8.html)>>endobj
+696 0 obj<</Subtype/Link/Rect[72.0 295.4 138.6 308.4]/Border[0 0 0]/A 695 0 R>>endobj
+697 0 obj[696 0 R]endobj
+698 0 obj<</S/Launch/F(#ADDUSERSCRIPT)>>endobj
+699 0 obj<</Subtype/Link/Rect[420.0 638.2 486.9 651.2]/Border[0 0 0]/A 698 0 R>>endobj
+700 0 obj[699 0 R]endobj
+701 0 obj<</S/URI/URI(http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp)>>endobj
+702 0 obj<</Subtype/Link/Rect[139.8 492.2 387.6 505.2]/Border[0 0 0]/A 701 0 R>>endobj
+703 0 obj[702 0 R]endobj
+704 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE)>>endobj
+705 0 obj<</Subtype/Link/Rect[285.2 615.4 540.0 628.4]/Border[0 0 0]/A 704 0 R>>endobj
+706 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE)>>endobj
+707 0 obj<</Subtype/Link/Rect[230.8 575.8 505.8 588.8]/Border[0 0 0]/A 706 0 R>>endobj
+708 0 obj<</S/URI/URI(http://www.tcpdump.org/)>>endobj
+709 0 obj<</Subtype/Link/Rect[349.4 183.8 455.4 196.8]/Border[0 0 0]/A 708 0 R>>endobj
+710 0 obj<</S/URI/URI(http://www.ethereal.com/)>>endobj
+711 0 obj<</Subtype/Link/Rect[424.5 170.6 536.6 183.6]/Border[0 0 0]/A 710 0 R>>endobj
+712 0 obj[705 0 R
+707 0 R
+709 0 R
+711 0 R]endobj
+713 0 obj<</S/URI/URI(http://samba.org)>>endobj
+714 0 obj<</Subtype/Link/Rect[233.5 311.8 308.1 324.8]/Border[0 0 0]/A 713 0 R>>endobj
+715 0 obj<</S/URI/URI(http://www.skippy.net/linux/smb-howto.html)>>endobj
+716 0 obj<</Subtype/Link/Rect[144.0 259.0 346.1 272.0]/Border[0 0 0]/A 715 0 R>>endobj
+717 0 obj<</S/URI/URI(http://bioserve.latrobe.edu.au/samba)>>endobj
+718 0 obj<</Subtype/Link/Rect[179.7 232.6 342.3 245.6]/Border[0 0 0]/A 717 0 R>>endobj
+719 0 obj<</S/URI/URI(http://samba.org/cifs/)>>endobj
+720 0 obj<</Subtype/Link/Rect[282.1 219.4 378.7 232.4]/Border[0 0 0]/A 719 0 R>>endobj
+721 0 obj<</S/URI/URI(http://mailhost.cb1.com/~lkcl/ntdom/)>>endobj
+722 0 obj<</Subtype/Link/Rect[241.5 206.2 408.5 219.2]/Border[0 0 0]/A 721 0 R>>endobj
+723 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/developr/drg/CIFS/)>>endobj
+724 0 obj<</Subtype/Link/Rect[277.5 193.0 469.1 206.0]/Border[0 0 0]/A 723 0 R>>endobj
+725 0 obj<</S/URI/URI(http://samba.org)>>endobj
+726 0 obj<</Subtype/Link/Rect[358.2 140.2 432.8 153.2]/Border[0 0 0]/A 725 0 R>>endobj
+727 0 obj<</S/URI/URI(http://www.samba-tng.org/)>>endobj
+728 0 obj<</Subtype/Link/Rect[298.4 100.6 422.8 113.6]/Border[0 0 0]/A 727 0 R>>endobj
+729 0 obj[714 0 R
+716 0 R
+718 0 R
+720 0 R
+722 0 R
+724 0 R
+726 0 R
+728 0 R]endobj
+730 0 obj<</S/URI/URI(http://lists.samba.org/)>>endobj
+731 0 obj<</Subtype/Link/Rect[132.8 351.4 227.8 364.4]/Border[0 0 0]/A 730 0 R>>endobj
+732 0 obj<</S/URI/URI(http://lists.samba.org/mailman/roster/samba-ntdom)>>endobj
+733 0 obj<</Subtype/Link/Rect[306.3 338.2 328.0 351.2]/Border[0 0 0]/A 732 0 R>>endobj
+734 0 obj[731 0 R
+733 0 R]endobj
+735 0 obj<</S/Launch/F(Samba-PDC-HOWTO.html)>>endobj
+736 0 obj<</Subtype/Link/Rect[210.4 613.0 317.8 626.0]/Border[0 0 0]/A 735 0 R>>endobj
+737 0 obj[736 0 R]endobj
+738 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+739 0 obj<</Subtype/Link/Rect[191.8 573.4 264.4 586.4]/Border[0 0 0]/A 738 0 R>>endobj
+740 0 obj<</S/Launch/F(#SECURITY)>>endobj
+741 0 obj<</Subtype/Link/Rect[166.4 547.0 216.8 560.0]/Border[0 0 0]/A 740 0 R>>endobj
+742 0 obj<</S/Launch/F(#WORKGROUP)>>endobj
+743 0 obj<</Subtype/Link/Rect[143.5 481.0 207.4 494.0]/Border[0 0 0]/A 742 0 R>>endobj
+744 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+745 0 obj<</Subtype/Link/Rect[222.0 401.8 316.8 414.8]/Border[0 0 0]/A 744 0 R>>endobj
+746 0 obj<</S/Launch/F(#PASSWORDSERVER)>>endobj
+747 0 obj<</Subtype/Link/Rect[186.0 362.2 279.2 375.2]/Border[0 0 0]/A 746 0 R>>endobj
+748 0 obj[739 0 R
+741 0 R
+743 0 R
+745 0 R
+747 0 R]endobj
+749 0 obj<</S/Launch/F(net.8.html)>>endobj
+750 0 obj<</Subtype/Link/Rect[218.7 694.6 247.7 707.6]/Border[0 0 0]/A 749 0 R>>endobj
+751 0 obj<</S/Launch/F(#SECURITYEQUALSSERVER)>>endobj
+752 0 obj<</Subtype/Link/Rect[275.2 319.8 351.3 332.8]/Border[0 0 0]/A 751 0 R>>endobj
+753 0 obj<</S/Launch/F(winbind.html)>>endobj
+754 0 obj<</Subtype/Link/Rect[151.1 267.0 219.5 280.0]/Border[0 0 0]/A 753 0 R>>endobj
+755 0 obj[750 0 R
+752 0 R
+754 0 R]endobj
 756 0 obj<</S/URI/URI(http://www.linuxworld.com)>>endobj
-757 0 obj<</Subtype/Link/Rect[425.7 90.0 482.8 103.0]/Border[0 0 0]/A 756 0 R>>endobj
+757 0 obj<</Subtype/Link/Rect[438.0 668.2 495.1 681.2]/Border[0 0 0]/A 756 0 R>>endobj
 758 0 obj<</S/URI/URI(http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html)>>endobj
-759 0 obj<</Subtype/Link/Rect[121.7 76.8 239.0 89.8]/Border[0 0 0]/A 758 0 R>>endobj
-760 0 obj[751 0 R
-753 0 R
-755 0 R
-757 0 R
+759 0 obj<</Subtype/Link/Rect[72.0 655.0 186.6 668.0]/Border[0 0 0]/A 758 0 R>>endobj
+760 0 obj[757 0 R
 759 0 R]endobj
-761 0 obj<</Subtype/Link/Rect[85.8 631.0 292.9 644.0]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 734 0]>>endobj
-762 0 obj<</Subtype/Link/Rect[130.0 617.8 266.0 630.8]/Border[0 0 0]/Dest[1612 0 R/XYZ 0 672 0]>>endobj
-763 0 obj<</Subtype/Link/Rect[85.8 604.6 358.0 617.6]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 734 0]>>endobj
-764 0 obj<</Subtype/Link/Rect[130.0 591.4 447.2 604.4]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 672 0]>>endobj
-765 0 obj<</Subtype/Link/Rect[130.0 578.2 324.0 591.2]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 537 0]>>endobj
-766 0 obj<</Subtype/Link/Rect[130.0 565.0 234.2 578.0]/Border[0 0 0]/Dest[1614 0 R/XYZ 0 383 0]>>endobj
-767 0 obj<</Subtype/Link/Rect[130.0 551.8 296.5 564.8]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 718 0]>>endobj
-768 0 obj<</Subtype/Link/Rect[174.2 538.6 251.2 551.6]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 485 0]>>endobj
-769 0 obj<</Subtype/Link/Rect[174.2 525.4 276.3 538.4]/Border[0 0 0]/Dest[1616 0 R/XYZ 0 241 0]>>endobj
-770 0 obj<</Subtype/Link/Rect[130.0 512.2 305.7 525.2]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 734 0]>>endobj
-771 0 obj<</Subtype/Link/Rect[130.0 499.0 402.5 512.0]/Border[0 0 0]/Dest[1618 0 R/XYZ 0 302 0]>>endobj
-772 0 obj<</Subtype/Link/Rect[130.0 485.8 392.8 498.8]/Border[0 0 0]/Dest[1620 0 R/XYZ 0 203 0]>>endobj
-773 0 obj<</Subtype/Link/Rect[85.8 472.6 200.3 485.6]/Border[0 0 0]/Dest[1624 0 R/XYZ 0 734 0]>>endobj
-774 0 obj<</Subtype/Link/Rect[85.8 459.4 401.7 472.4]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 734 0]>>endobj
-775 0 obj<</Subtype/Link/Rect[130.0 446.2 207.3 459.2]/Border[0 0 0]/Dest[1626 0 R/XYZ 0 672 0]>>endobj
-776 0 obj<</Subtype/Link/Rect[130.0 433.0 250.4 446.0]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 718 0]>>endobj
-777 0 obj<</Subtype/Link/Rect[130.0 419.8 273.9 432.8]/Border[0 0 0]/Dest[1630 0 R/XYZ 0 603 0]>>endobj
-778 0 obj<</Subtype/Link/Rect[85.8 406.6 162.8 419.6]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 734 0]>>endobj
-779 0 obj<</Subtype/Link/Rect[130.0 393.4 187.8 406.4]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 696 0]>>endobj
-780 0 obj<</Subtype/Link/Rect[130.0 380.2 195.1 393.2]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 317 0]>>endobj
-781 0 obj<</Subtype/Link/Rect[174.2 367.0 254.3 380.0]/Border[0 0 0]/Dest[1632 0 R/XYZ 0 127 0]>>endobj
-782 0 obj<</Subtype/Link/Rect[174.2 353.8 337.1 366.8]/Border[0 0 0]/Dest[1636 0 R/XYZ 0 531 0]>>endobj
-783 0 obj<</Subtype/Link/Rect[174.2 340.6 331.3 353.6]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 734 0]>>endobj
-784 0 obj<</Subtype/Link/Rect[174.2 327.4 386.9 340.4]/Border[0 0 0]/Dest[1638 0 R/XYZ 0 363 0]>>endobj
-785 0 obj<</Subtype/Link/Rect[174.2 314.2 287.3 327.2]/Border[0 0 0]/Dest[1640 0 R/XYZ 0 184 0]>>endobj
-786 0 obj<</Subtype/Link/Rect[130.0 301.0 224.4 314.0]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 692 0]>>endobj
-787 0 obj<</Subtype/Link/Rect[174.2 287.8 255.8 300.8]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 590 0]>>endobj
-788 0 obj<</Subtype/Link/Rect[174.2 274.6 327.6 287.6]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 466 0]>>endobj
-789 0 obj<</Subtype/Link/Rect[174.2 261.4 263.8 274.4]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 381 0]>>endobj
-790 0 obj<</Subtype/Link/Rect[174.2 248.2 276.6 261.2]/Border[0 0 0]/Dest[1642 0 R/XYZ 0 283 0]>>endobj
-791 0 obj<</Subtype/Link/Rect[130.0 235.0 177.4 248.0]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 397 0]>>endobj
-792 0 obj<</Subtype/Link/Rect[174.2 221.8 232.0 234.8]/Border[0 0 0]/Dest[1644 0 R/XYZ 0 363 0]>>endobj
-793 0 obj<</Subtype/Link/Rect[174.2 208.6 302.9 221.6]/Border[0 0 0]/Dest[1646 0 R/XYZ 0 429 0]>>endobj
-794 0 obj<</Subtype/Link/Rect[174.2 195.4 287.0 208.4]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 665 0]>>endobj
-795 0 obj<</Subtype/Link/Rect[174.2 182.2 339.2 195.2]/Border[0 0 0]/Dest[1648 0 R/XYZ 0 485 0]>>endobj
-796 0 obj<</Subtype/Link/Rect[174.2 169.0 260.7 182.0]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 734 0]>>endobj
-797 0 obj<</Subtype/Link/Rect[174.2 155.8 282.7 168.8]/Border[0 0 0]/Dest[1650 0 R/XYZ 0 394 0]>>endobj
-798 0 obj<</Subtype/Link/Rect[174.2 142.6 279.7 155.6]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 718 0]>>endobj
-799 0 obj<</Subtype/Link/Rect[174.2 129.4 259.8 142.4]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 633 0]>>endobj
-800 0 obj<</Subtype/Link/Rect[174.2 116.2 246.4 129.2]/Border[0 0 0]/Dest[1652 0 R/XYZ 0 535 0]>>endobj
-801 0 obj<</Subtype/Link/Rect[85.8 103.0 193.0 116.0]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 734 0]>>endobj
-802 0 obj<</Subtype/Link/Rect[130.0 89.8 187.8 102.8]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 696 0]>>endobj
-803 0 obj<</Subtype/Link/Rect[130.0 76.6 289.6 89.6]/Border[0 0 0]/Dest[1654 0 R/XYZ 0 463 0]>>endobj
-804 0 obj<</Subtype/Link/Rect[130.0 63.4 241.2 76.4]/Border[0 0 0]/Dest[1658 0 R/XYZ 0 276 0]>>endobj
+761 0 obj<</Subtype/Link/Rect[85.8 631.0 295.4 644.0]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 734 0]>>endobj
+762 0 obj<</Subtype/Link/Rect[130.0 617.8 166.4 630.8]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 672 0]>>endobj
+763 0 obj<</Subtype/Link/Rect[130.0 604.6 331.4 617.6]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 439 0]>>endobj
+764 0 obj<</Subtype/Link/Rect[177.0 591.4 243.0 604.4]/Border[0 0 0]/Dest[1623 0 R/XYZ 0 311 0]>>endobj
+765 0 obj<</Subtype/Link/Rect[177.0 578.2 282.6 591.2]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 441 0]>>endobj
+766 0 obj<</Subtype/Link/Rect[177.0 565.0 269.4 578.0]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 303 0]>>endobj
+767 0 obj<</Subtype/Link/Rect[177.0 551.8 295.8 564.8]/Border[0 0 0]/Dest[1625 0 R/XYZ 0 157 0]>>endobj
+768 0 obj<</Subtype/Link/Rect[130.0 538.6 384.2 551.6]/Border[0 0 0]/Dest[1627 0 R/XYZ 0 339 0]>>endobj
+769 0 obj<</Subtype/Link/Rect[174.2 525.4 294.6 538.4]/Border[0 0 0]/Dest[1629 0 R/XYZ 0 266 0]>>endobj
+770 0 obj<</Subtype/Link/Rect[174.2 512.2 261.3 525.2]/Border[0 0 0]/Dest[1631 0 R/XYZ 0 734 0]>>endobj
+771 0 obj<</Subtype/Link/Rect[174.2 499.0 226.8 512.0]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 459 0]>>endobj
+772 0 obj<</Subtype/Link/Rect[174.2 485.8 233.5 498.8]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 361 0]>>endobj
+773 0 obj<</Subtype/Link/Rect[174.2 472.6 238.4 485.6]/Border[0 0 0]/Dest[1633 0 R/XYZ 0 224 0]>>endobj
+774 0 obj<</Subtype/Link/Rect[130.0 459.4 528.8 472.4]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 670 0]>>endobj
+775 0 obj<</Subtype/Link/Rect[130.0 446.2 500.9 459.2]/Border[0 0 0]/Dest[1635 0 R/XYZ 0 126 0]>>endobj
+776 0 obj<</Subtype/Link/Rect[174.2 433.0 393.6 446.0]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 734 0]>>endobj
+777 0 obj<</Subtype/Link/Rect[174.2 419.8 455.6 432.8]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 484 0]>>endobj
+778 0 obj<</Subtype/Link/Rect[174.2 406.6 377.1 419.6]/Border[0 0 0]/Dest[1639 0 R/XYZ 0 132 0]>>endobj
+779 0 obj<</Subtype/Link/Rect[130.0 393.4 187.1 406.4]/Border[0 0 0]/Dest[1641 0 R/XYZ 0 263 0]>>endobj
+780 0 obj<</Subtype/Link/Rect[85.8 380.2 358.0 393.2]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 734 0]>>endobj
+781 0 obj<</Subtype/Link/Rect[130.0 367.0 447.2 380.0]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 672 0]>>endobj
+782 0 obj<</Subtype/Link/Rect[130.0 353.8 324.0 366.8]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 537 0]>>endobj
+783 0 obj<</Subtype/Link/Rect[130.0 340.6 234.2 353.6]/Border[0 0 0]/Dest[1643 0 R/XYZ 0 369 0]>>endobj
+784 0 obj<</Subtype/Link/Rect[130.0 327.4 296.5 340.4]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 705 0]>>endobj
+785 0 obj<</Subtype/Link/Rect[174.2 314.2 251.2 327.2]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 471 0]>>endobj
+786 0 obj<</Subtype/Link/Rect[174.2 301.0 276.3 314.0]/Border[0 0 0]/Dest[1645 0 R/XYZ 0 228 0]>>endobj
+787 0 obj<</Subtype/Link/Rect[130.0 287.8 305.7 300.8]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 718 0]>>endobj
+788 0 obj<</Subtype/Link/Rect[130.0 274.6 402.5 287.6]/Border[0 0 0]/Dest[1647 0 R/XYZ 0 287 0]>>endobj
+789 0 obj<</Subtype/Link/Rect[130.0 261.4 392.8 274.4]/Border[0 0 0]/Dest[1651 0 R/XYZ 0 652 0]>>endobj
+790 0 obj<</Subtype/Link/Rect[85.8 248.2 401.7 261.2]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 734 0]>>endobj
+791 0 obj<</Subtype/Link/Rect[130.0 235.0 207.3 248.0]/Border[0 0 0]/Dest[1653 0 R/XYZ 0 672 0]>>endobj
+792 0 obj<</Subtype/Link/Rect[130.0 221.8 250.4 234.8]/Border[0 0 0]/Dest[1655 0 R/XYZ 0 148 0]>>endobj
+793 0 obj<</Subtype/Link/Rect[130.0 208.6 273.9 221.6]/Border[0 0 0]/Dest[1657 0 R/XYZ 0 705 0]>>endobj
+794 0 obj<</Subtype/Link/Rect[85.8 195.4 350.0 208.4]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 734 0]>>endobj
+795 0 obj<</Subtype/Link/Rect[130.0 182.2 185.3 195.2]/Border[0 0 0]/Dest[1659 0 R/XYZ 0 672 0]>>endobj
+796 0 obj<</Subtype/Link/Rect[174.2 169.0 202.1 182.0]/Border[0 0 0]/Dest[1661 0 R/XYZ 0 652 0]>>endobj
+797 0 obj<</Subtype/Link/Rect[85.8 155.8 162.8 168.8]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 734 0]>>endobj
+798 0 obj<</Subtype/Link/Rect[130.0 142.6 187.8 155.6]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 696 0]>>endobj
+799 0 obj<</Subtype/Link/Rect[130.0 129.4 195.1 142.4]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 317 0]>>endobj
+800 0 obj<</Subtype/Link/Rect[174.2 116.2 254.3 129.2]/Border[0 0 0]/Dest[1663 0 R/XYZ 0 127 0]>>endobj
+801 0 obj<</Subtype/Link/Rect[174.2 103.0 337.1 116.0]/Border[0 0 0]/Dest[1667 0 R/XYZ 0 531 0]>>endobj
+802 0 obj<</Subtype/Link/Rect[174.2 89.8 331.3 102.8]/Border[0 0 0]/Dest[1669 0 R/XYZ 0 734 0]>>endobj
+803 0 obj<</Subtype/Link/Rect[174.2 76.6 386.9 89.6]/Border[0 0 0]/Dest[1669 0 R/XYZ 0 363 0]>>endobj
+804 0 obj<</Subtype/Link/Rect[174.2 63.4 287.3 76.4]/Border[0 0 0]/Dest[1671 0 R/XYZ 0 184 0]>>endobj
 805 0 obj[761 0 R
 762 0 R
 763 0 R
@@ -1456,57 +1455,57 @@ endobj
 802 0 R
 803 0 R
 804 0 R]endobj
-806 0 obj<</Subtype/Link/Rect[130.0 721.0 278.8 734.0]/Border[0 0 0]/Dest[1670 0 R/XYZ 0 546 0]>>endobj
-807 0 obj<</Subtype/Link/Rect[174.2 707.8 274.2 720.8]/Border[0 0 0]/Dest[1670 0 R/XYZ 0 404 0]>>endobj
-808 0 obj<</Subtype/Link/Rect[130.0 694.6 331.1 707.6]/Border[0 0 0]/Dest[1674 0 R/XYZ 0 177 0]>>endobj
-809 0 obj<</Subtype/Link/Rect[130.0 681.4 346.9 694.4]/Border[0 0 0]/Dest[1682 0 R/XYZ 0 362 0]>>endobj
-810 0 obj<</Subtype/Link/Rect[130.0 668.2 288.1 681.2]/Border[0 0 0]/Dest[1684 0 R/XYZ 0 527 0]>>endobj
-811 0 obj<</Subtype/Link/Rect[85.8 655.0 369.0 668.0]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 734 0]>>endobj
-812 0 obj<</Subtype/Link/Rect[130.0 641.8 170.0 654.8]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 672 0]>>endobj
-813 0 obj<</Subtype/Link/Rect[130.0 628.6 187.8 641.6]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 544 0]>>endobj
-814 0 obj<</Subtype/Link/Rect[130.0 615.4 237.9 628.4]/Border[0 0 0]/Dest[1688 0 R/XYZ 0 231 0]>>endobj
-815 0 obj<</Subtype/Link/Rect[174.2 602.2 230.5 615.2]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 560 0]>>endobj
-816 0 obj<</Subtype/Link/Rect[130.0 589.0 224.4 602.0]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 409 0]>>endobj
-817 0 obj<</Subtype/Link/Rect[174.2 575.8 330.7 588.8]/Border[0 0 0]/Dest[1690 0 R/XYZ 0 294 0]>>endobj
-818 0 obj<</Subtype/Link/Rect[174.2 562.6 334.9 575.6]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 734 0]>>endobj
-819 0 obj<</Subtype/Link/Rect[174.2 549.4 269.9 562.4]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 635 0]>>endobj
-820 0 obj<</Subtype/Link/Rect[174.2 536.2 330.4 549.2]/Border[0 0 0]/Dest[1692 0 R/XYZ 0 194 0]>>endobj
-821 0 obj<</Subtype/Link/Rect[174.2 523.0 312.0 536.0]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 560 0]>>endobj
-822 0 obj<</Subtype/Link/Rect[174.2 509.8 244.5 522.8]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 383 0]>>endobj
-823 0 obj<</Subtype/Link/Rect[130.0 496.6 267.8 509.6]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 245 0]>>endobj
-824 0 obj<</Subtype/Link/Rect[174.2 483.4 232.0 496.4]/Border[0 0 0]/Dest[1694 0 R/XYZ 0 143 0]>>endobj
-825 0 obj<</Subtype/Link/Rect[174.2 470.2 237.5 483.2]/Border[0 0 0]/Dest[1696 0 R/XYZ 0 533 0]>>endobj
-826 0 obj<</Subtype/Link/Rect[174.2 457.0 261.3 470.0]/Border[0 0 0]/Dest[1696 0 R/XYZ 0 264 0]>>endobj
-827 0 obj<</Subtype/Link/Rect[130.0 443.8 182.9 456.8]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 555 0]>>endobj
-828 0 obj<</Subtype/Link/Rect[130.0 430.6 182.9 443.6]/Border[0 0 0]/Dest[1712 0 R/XYZ 0 335 0]>>endobj
-829 0 obj<</Subtype/Link/Rect[85.8 417.4 260.6 430.4]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 734 0]>>endobj
-830 0 obj<</Subtype/Link/Rect[130.0 404.2 201.5 417.2]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 696 0]>>endobj
-831 0 obj<</Subtype/Link/Rect[174.2 391.0 394.9 404.0]/Border[0 0 0]/Dest[1714 0 R/XYZ 0 265 0]>>endobj
-832 0 obj<</Subtype/Link/Rect[174.2 377.8 427.9 390.8]/Border[0 0 0]/Dest[1716 0 R/XYZ 0 639 0]>>endobj
-833 0 obj<</Subtype/Link/Rect[174.2 364.6 406.2 377.6]/Border[0 0 0]/Dest[1716 0 R/XYZ 0 288 0]>>endobj
-834 0 obj<</Subtype/Link/Rect[85.8 351.4 179.2 364.4]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 734 0]>>endobj
-835 0 obj<</Subtype/Link/Rect[130.0 338.2 210.1 351.2]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 696 0]>>endobj
-836 0 obj<</Subtype/Link/Rect[174.2 325.0 298.6 338.0]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 495 0]>>endobj
-837 0 obj<</Subtype/Link/Rect[174.2 311.8 297.4 324.8]/Border[0 0 0]/Dest[1720 0 R/XYZ 0 318 0]>>endobj
-838 0 obj<</Subtype/Link/Rect[174.2 298.6 325.2 311.6]/Border[0 0 0]/Dest[1722 0 R/XYZ 0 734 0]>>endobj
-839 0 obj<</Subtype/Link/Rect[174.2 285.4 292.8 298.4]/Border[0 0 0]/Dest[1722 0 R/XYZ 0 594 0]>>endobj
-840 0 obj<</Subtype/Link/Rect[174.2 272.2 306.6 285.2]/Border[0 0 0]/Dest[1724 0 R/XYZ 0 256 0]>>endobj
-841 0 obj<</Subtype/Link/Rect[174.2 259.0 289.4 272.0]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 613 0]>>endobj
-842 0 obj<</Subtype/Link/Rect[174.2 245.8 468.5 258.8]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 528 0]>>endobj
-843 0 obj<</Subtype/Link/Rect[174.2 232.6 241.8 245.6]/Border[0 0 0]/Dest[1726 0 R/XYZ 0 324 0]>>endobj
-844 0 obj<</Subtype/Link/Rect[174.2 219.4 258.6 232.4]/Border[0 0 0]/Dest[1728 0 R/XYZ 0 314 0]>>endobj
-845 0 obj<</Subtype/Link/Rect[85.8 206.2 295.4 219.2]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 734 0]>>endobj
-846 0 obj<</Subtype/Link/Rect[130.0 193.0 331.4 206.0]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 348 0]>>endobj
-847 0 obj<</Subtype/Link/Rect[177.0 179.8 243.0 192.8]/Border[0 0 0]/Dest[1732 0 R/XYZ 0 220 0]>>endobj
-848 0 obj<</Subtype/Link/Rect[177.0 166.6 282.6 179.6]/Border[0 0 0]/Dest[1734 0 R/XYZ 0 349 0]>>endobj
-849 0 obj<</Subtype/Link/Rect[177.0 153.4 269.4 166.4]/Border[0 0 0]/Dest[1734 0 R/XYZ 0 211 0]>>endobj
-850 0 obj<</Subtype/Link/Rect[177.0 140.2 295.8 153.2]/Border[0 0 0]/Dest[1736 0 R/XYZ 0 734 0]>>endobj
-851 0 obj<</Subtype/Link/Rect[130.0 127.0 384.2 140.0]/Border[0 0 0]/Dest[1736 0 R/XYZ 0 248 0]>>endobj
-852 0 obj<</Subtype/Link/Rect[174.2 113.8 294.6 126.8]/Border[0 0 0]/Dest[1738 0 R/XYZ 0 190 0]>>endobj
-853 0 obj<</Subtype/Link/Rect[174.2 100.6 261.3 113.6]/Border[0 0 0]/Dest[1740 0 R/XYZ 0 652 0]>>endobj
-854 0 obj<</Subtype/Link/Rect[174.2 87.4 226.8 100.4]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 384 0]>>endobj
-855 0 obj<</Subtype/Link/Rect[174.2 74.2 233.5 87.2]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 286 0]>>endobj
-856 0 obj<</Subtype/Link/Rect[174.2 61.0 238.4 74.0]/Border[0 0 0]/Dest[1742 0 R/XYZ 0 148 0]>>endobj
+806 0 obj<</Subtype/Link/Rect[130.0 721.0 224.4 734.0]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 692 0]>>endobj
+807 0 obj<</Subtype/Link/Rect[174.2 707.8 255.8 720.8]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 590 0]>>endobj
+808 0 obj<</Subtype/Link/Rect[174.2 694.6 327.6 707.6]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 466 0]>>endobj
+809 0 obj<</Subtype/Link/Rect[174.2 681.4 263.8 694.4]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 381 0]>>endobj
+810 0 obj<</Subtype/Link/Rect[174.2 668.2 276.6 681.2]/Border[0 0 0]/Dest[1673 0 R/XYZ 0 283 0]>>endobj
+811 0 obj<</Subtype/Link/Rect[130.0 655.0 177.4 668.0]/Border[0 0 0]/Dest[1675 0 R/XYZ 0 397 0]>>endobj
+812 0 obj<</Subtype/Link/Rect[174.2 641.8 232.0 654.8]/Border[0 0 0]/Dest[1675 0 R/XYZ 0 363 0]>>endobj
+813 0 obj<</Subtype/Link/Rect[174.2 628.6 302.9 641.6]/Border[0 0 0]/Dest[1677 0 R/XYZ 0 429 0]>>endobj
+814 0 obj<</Subtype/Link/Rect[174.2 615.4 287.0 628.4]/Border[0 0 0]/Dest[1679 0 R/XYZ 0 665 0]>>endobj
+815 0 obj<</Subtype/Link/Rect[174.2 602.2 339.2 615.2]/Border[0 0 0]/Dest[1679 0 R/XYZ 0 485 0]>>endobj
+816 0 obj<</Subtype/Link/Rect[174.2 589.0 260.7 602.0]/Border[0 0 0]/Dest[1681 0 R/XYZ 0 734 0]>>endobj
+817 0 obj<</Subtype/Link/Rect[174.2 575.8 282.7 588.8]/Border[0 0 0]/Dest[1681 0 R/XYZ 0 394 0]>>endobj
+818 0 obj<</Subtype/Link/Rect[174.2 562.6 279.7 575.6]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 718 0]>>endobj
+819 0 obj<</Subtype/Link/Rect[174.2 549.4 259.8 562.4]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 633 0]>>endobj
+820 0 obj<</Subtype/Link/Rect[174.2 536.2 246.4 549.2]/Border[0 0 0]/Dest[1683 0 R/XYZ 0 535 0]>>endobj
+821 0 obj<</Subtype/Link/Rect[85.8 523.0 193.0 536.0]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 734 0]>>endobj
+822 0 obj<</Subtype/Link/Rect[130.0 509.8 187.8 522.8]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 696 0]>>endobj
+823 0 obj<</Subtype/Link/Rect[130.0 496.6 289.6 509.6]/Border[0 0 0]/Dest[1685 0 R/XYZ 0 463 0]>>endobj
+824 0 obj<</Subtype/Link/Rect[130.0 483.4 241.2 496.4]/Border[0 0 0]/Dest[1689 0 R/XYZ 0 276 0]>>endobj
+825 0 obj<</Subtype/Link/Rect[130.0 470.2 278.8 483.2]/Border[0 0 0]/Dest[1701 0 R/XYZ 0 546 0]>>endobj
+826 0 obj<</Subtype/Link/Rect[174.2 457.0 274.2 470.0]/Border[0 0 0]/Dest[1701 0 R/XYZ 0 404 0]>>endobj
+827 0 obj<</Subtype/Link/Rect[130.0 443.8 331.1 456.8]/Border[0 0 0]/Dest[1705 0 R/XYZ 0 177 0]>>endobj
+828 0 obj<</Subtype/Link/Rect[130.0 430.6 346.9 443.6]/Border[0 0 0]/Dest[1713 0 R/XYZ 0 362 0]>>endobj
+829 0 obj<</Subtype/Link/Rect[130.0 417.4 288.1 430.4]/Border[0 0 0]/Dest[1715 0 R/XYZ 0 527 0]>>endobj
+830 0 obj<</Subtype/Link/Rect[85.8 404.2 369.0 417.2]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 734 0]>>endobj
+831 0 obj<</Subtype/Link/Rect[130.0 391.0 170.0 404.0]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 672 0]>>endobj
+832 0 obj<</Subtype/Link/Rect[130.0 377.8 187.8 390.8]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 544 0]>>endobj
+833 0 obj<</Subtype/Link/Rect[130.0 364.6 237.9 377.6]/Border[0 0 0]/Dest[1719 0 R/XYZ 0 231 0]>>endobj
+834 0 obj<</Subtype/Link/Rect[174.2 351.4 230.5 364.4]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 560 0]>>endobj
+835 0 obj<</Subtype/Link/Rect[130.0 338.2 224.4 351.2]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 409 0]>>endobj
+836 0 obj<</Subtype/Link/Rect[174.2 325.0 330.7 338.0]/Border[0 0 0]/Dest[1721 0 R/XYZ 0 294 0]>>endobj
+837 0 obj<</Subtype/Link/Rect[174.2 311.8 334.9 324.8]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 734 0]>>endobj
+838 0 obj<</Subtype/Link/Rect[174.2 298.6 269.9 311.6]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 635 0]>>endobj
+839 0 obj<</Subtype/Link/Rect[174.2 285.4 330.4 298.4]/Border[0 0 0]/Dest[1723 0 R/XYZ 0 194 0]>>endobj
+840 0 obj<</Subtype/Link/Rect[174.2 272.2 312.0 285.2]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 560 0]>>endobj
+841 0 obj<</Subtype/Link/Rect[174.2 259.0 244.5 272.0]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 383 0]>>endobj
+842 0 obj<</Subtype/Link/Rect[130.0 245.8 267.8 258.8]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 245 0]>>endobj
+843 0 obj<</Subtype/Link/Rect[174.2 232.6 232.0 245.6]/Border[0 0 0]/Dest[1725 0 R/XYZ 0 143 0]>>endobj
+844 0 obj<</Subtype/Link/Rect[174.2 219.4 237.5 232.4]/Border[0 0 0]/Dest[1727 0 R/XYZ 0 533 0]>>endobj
+845 0 obj<</Subtype/Link/Rect[174.2 206.2 261.3 219.2]/Border[0 0 0]/Dest[1727 0 R/XYZ 0 264 0]>>endobj
+846 0 obj<</Subtype/Link/Rect[130.0 193.0 182.9 206.0]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 555 0]>>endobj
+847 0 obj<</Subtype/Link/Rect[130.0 179.8 182.9 192.8]/Border[0 0 0]/Dest[1743 0 R/XYZ 0 335 0]>>endobj
+848 0 obj<</Subtype/Link/Rect[85.8 166.6 217.1 179.6]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 734 0]>>endobj
+849 0 obj<</Subtype/Link/Rect[130.0 153.4 229.9 166.4]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 696 0]>>endobj
+850 0 obj<</Subtype/Link/Rect[130.0 140.2 254.1 153.2]/Border[0 0 0]/Dest[1745 0 R/XYZ 0 463 0]>>endobj
+851 0 obj<</Subtype/Link/Rect[130.0 127.0 218.0 140.0]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 734 0]>>endobj
+852 0 obj<</Subtype/Link/Rect[130.0 113.8 242.1 126.8]/Border[0 0 0]/Dest[1747 0 R/XYZ 0 381 0]>>endobj
+853 0 obj<</Subtype/Link/Rect[174.2 100.6 354.8 113.6]/Border[0 0 0]/Dest[1749 0 R/XYZ 0 734 0]>>endobj
+854 0 obj<</Subtype/Link/Rect[130.0 87.4 244.0 100.4]/Border[0 0 0]/Dest[1753 0 R/XYZ 0 332 0]>>endobj
+855 0 obj<</Subtype/Link/Rect[130.0 74.2 312.7 87.2]/Border[0 0 0]/Dest[1755 0 R/XYZ 0 388 0]>>endobj
+856 0 obj<</Subtype/Link/Rect[130.0 61.0 287.1 74.0]/Border[0 0 0]/Dest[1757 0 R/XYZ 0 407 0]>>endobj
 857 0 obj[806 0 R
 807 0 R
 808 0 R
@@ -1558,42 +1557,50 @@ endobj
 854 0 R
 855 0 R
 856 0 R]endobj
-858 0 obj<</Subtype/Link/Rect[85.8 721.0 217.1 734.0]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 734 0]>>endobj
-859 0 obj<</Subtype/Link/Rect[130.0 707.8 229.9 720.8]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 696 0]>>endobj
-860 0 obj<</Subtype/Link/Rect[130.0 694.6 254.1 707.6]/Border[0 0 0]/Dest[1746 0 R/XYZ 0 463 0]>>endobj
-861 0 obj<</Subtype/Link/Rect[130.0 681.4 218.0 694.4]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 734 0]>>endobj
-862 0 obj<</Subtype/Link/Rect[130.0 668.2 242.1 681.2]/Border[0 0 0]/Dest[1748 0 R/XYZ 0 381 0]>>endobj
-863 0 obj<</Subtype/Link/Rect[174.2 655.0 354.8 668.0]/Border[0 0 0]/Dest[1750 0 R/XYZ 0 734 0]>>endobj
-864 0 obj<</Subtype/Link/Rect[130.0 641.8 244.0 654.8]/Border[0 0 0]/Dest[1754 0 R/XYZ 0 332 0]>>endobj
-865 0 obj<</Subtype/Link/Rect[130.0 628.6 312.7 641.6]/Border[0 0 0]/Dest[1756 0 R/XYZ 0 388 0]>>endobj
-866 0 obj<</Subtype/Link/Rect[130.0 615.4 287.1 628.4]/Border[0 0 0]/Dest[1758 0 R/XYZ 0 407 0]>>endobj
-867 0 obj<</Subtype/Link/Rect[130.0 602.2 273.0 615.2]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 718 0]>>endobj
-868 0 obj<</Subtype/Link/Rect[130.0 589.0 282.5 602.0]/Border[0 0 0]/Dest[1760 0 R/XYZ 0 300 0]>>endobj
-869 0 obj<</Subtype/Link/Rect[135.5 575.8 279.7 588.8]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 520 0]>>endobj
-870 0 obj<</Subtype/Link/Rect[135.5 562.6 221.7 575.6]/Border[0 0 0]/Dest[1762 0 R/XYZ 0 432 0]>>endobj
-871 0 obj<</Subtype/Link/Rect[85.8 549.4 350.0 562.4]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 734 0]>>endobj
-872 0 obj<</Subtype/Link/Rect[130.0 536.2 185.3 549.2]/Border[0 0 0]/Dest[1764 0 R/XYZ 0 672 0]>>endobj
-873 0 obj<</Subtype/Link/Rect[174.2 523.0 202.1 536.0]/Border[0 0 0]/Dest[1766 0 R/XYZ 0 652 0]>>endobj
-874 0 obj<</Subtype/Link/Rect[85.8 509.8 192.4 522.8]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 734 0]>>endobj
-875 0 obj<</Subtype/Link/Rect[130.0 496.6 269.6 509.6]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 696 0]>>endobj
-876 0 obj<</Subtype/Link/Rect[130.0 483.4 210.7 496.4]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 385 0]>>endobj
-877 0 obj<</Subtype/Link/Rect[174.2 470.2 199.6 483.2]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 351 0]>>endobj
-878 0 obj<</Subtype/Link/Rect[174.2 457.0 208.8 470.0]/Border[0 0 0]/Dest[1768 0 R/XYZ 0 215 0]>>endobj
-879 0 obj<</Subtype/Link/Rect[174.2 443.8 212.4 456.8]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 560 0]>>endobj
-880 0 obj<</Subtype/Link/Rect[130.0 430.6 281.5 443.6]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 430 0]>>endobj
-881 0 obj<</Subtype/Link/Rect[174.2 417.4 231.4 430.4]/Border[0 0 0]/Dest[1770 0 R/XYZ 0 315 0]>>endobj
-882 0 obj<</Subtype/Link/Rect[174.2 404.2 202.0 417.2]/Border[0 0 0]/Dest[1772 0 R/XYZ 0 734 0]>>endobj
-883 0 obj<</Subtype/Link/Rect[85.8 391.0 160.3 404.0]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 734 0]>>endobj
-884 0 obj<</Subtype/Link/Rect[130.0 377.8 187.8 390.8]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 696 0]>>endobj
-885 0 obj<</Subtype/Link/Rect[130.0 364.6 256.5 377.6]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 621 0]>>endobj
-886 0 obj<</Subtype/Link/Rect[130.0 351.4 248.9 364.4]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 405 0]>>endobj
-887 0 obj<</Subtype/Link/Rect[130.0 338.2 204.3 351.2]/Border[0 0 0]/Dest[1774 0 R/XYZ 0 150 0]>>endobj
-888 0 obj<</Subtype/Link/Rect[130.0 325.0 244.0 338.0]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 596 0]>>endobj
-889 0 obj<</Subtype/Link/Rect[130.0 311.8 213.7 324.8]/Border[0 0 0]/Dest[1776 0 R/XYZ 0 290 0]>>endobj
-890 0 obj<</Subtype/Link/Rect[85.8 298.6 167.9 311.6]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 734 0]>>endobj
-891 0 obj<</Subtype/Link/Rect[130.0 285.4 275.1 298.4]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 696 0]>>endobj
-892 0 obj<</Subtype/Link/Rect[130.0 272.2 221.4 285.2]/Border[0 0 0]/Dest[1778 0 R/XYZ 0 397 0]>>endobj
-893 0 obj[858 0 R
+858 0 obj<</Subtype/Link/Rect[130.0 721.0 273.0 734.0]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 718 0]>>endobj
+859 0 obj<</Subtype/Link/Rect[130.0 707.8 282.5 720.8]/Border[0 0 0]/Dest[1759 0 R/XYZ 0 300 0]>>endobj
+860 0 obj<</Subtype/Link/Rect[135.5 694.6 279.7 707.6]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 520 0]>>endobj
+861 0 obj<</Subtype/Link/Rect[135.5 681.4 221.7 694.4]/Border[0 0 0]/Dest[1761 0 R/XYZ 0 432 0]>>endobj
+862 0 obj<</Subtype/Link/Rect[85.8 668.2 192.4 681.2]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 734 0]>>endobj
+863 0 obj<</Subtype/Link/Rect[130.0 655.0 269.6 668.0]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 696 0]>>endobj
+864 0 obj<</Subtype/Link/Rect[130.0 641.8 210.7 654.8]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 385 0]>>endobj
+865 0 obj<</Subtype/Link/Rect[174.2 628.6 199.6 641.6]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 351 0]>>endobj
+866 0 obj<</Subtype/Link/Rect[174.2 615.4 208.8 628.4]/Border[0 0 0]/Dest[1763 0 R/XYZ 0 215 0]>>endobj
+867 0 obj<</Subtype/Link/Rect[174.2 602.2 212.4 615.2]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 560 0]>>endobj
+868 0 obj<</Subtype/Link/Rect[130.0 589.0 281.5 602.0]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 430 0]>>endobj
+869 0 obj<</Subtype/Link/Rect[174.2 575.8 231.4 588.8]/Border[0 0 0]/Dest[1765 0 R/XYZ 0 315 0]>>endobj
+870 0 obj<</Subtype/Link/Rect[174.2 562.6 202.0 575.6]/Border[0 0 0]/Dest[1767 0 R/XYZ 0 734 0]>>endobj
+871 0 obj<</Subtype/Link/Rect[85.8 549.4 200.3 562.4]/Border[0 0 0]/Dest[1769 0 R/XYZ 0 734 0]>>endobj
+872 0 obj<</Subtype/Link/Rect[85.8 536.2 206.4 549.2]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 734 0]>>endobj
+873 0 obj<</Subtype/Link/Rect[130.0 523.0 191.4 536.0]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 696 0]>>endobj
+874 0 obj<</Subtype/Link/Rect[130.0 509.8 196.6 522.8]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 449 0]>>endobj
+875 0 obj<</Subtype/Link/Rect[130.0 496.6 174.6 509.6]/Border[0 0 0]/Dest[1771 0 R/XYZ 0 189 0]>>endobj
+876 0 obj<</Subtype/Link/Rect[130.0 483.4 174.0 496.4]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 639 0]>>endobj
+877 0 obj<</Subtype/Link/Rect[130.0 470.2 173.4 483.2]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 458 0]>>endobj
+878 0 obj<</Subtype/Link/Rect[130.0 457.0 175.2 470.0]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 383 0]>>endobj
+879 0 obj<</Subtype/Link/Rect[130.0 443.8 177.1 456.8]/Border[0 0 0]/Dest[1773 0 R/XYZ 0 215 0]>>endobj
+880 0 obj<</Subtype/Link/Rect[130.0 430.6 188.1 443.6]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 734 0]>>endobj
+881 0 obj<</Subtype/Link/Rect[130.0 417.4 186.8 430.4]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 605 0]>>endobj
+882 0 obj<</Subtype/Link/Rect[135.5 404.2 196.0 417.2]/Border[0 0 0]/Dest[1775 0 R/XYZ 0 530 0]>>endobj
+883 0 obj<</Subtype/Link/Rect[85.8 391.0 219.0 404.0]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 734 0]>>endobj
+884 0 obj<</Subtype/Link/Rect[130.0 377.8 188.6 390.8]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 696 0]>>endobj
+885 0 obj<</Subtype/Link/Rect[130.0 364.6 197.5 377.6]/Border[0 0 0]/Dest[1779 0 R/XYZ 0 423 0]>>endobj
+886 0 obj<</Subtype/Link/Rect[174.2 351.4 241.8 364.4]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 734 0]>>endobj
+887 0 obj<</Subtype/Link/Rect[174.2 338.2 262.2 351.2]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 635 0]>>endobj
+888 0 obj<</Subtype/Link/Rect[174.2 325.0 236.6 338.0]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 564 0]>>endobj
+889 0 obj<</Subtype/Link/Rect[174.2 311.8 212.7 324.8]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 492 0]>>endobj
+890 0 obj<</Subtype/Link/Rect[130.0 298.6 214.3 311.6]/Border[0 0 0]/Dest[1781 0 R/XYZ 0 328 0]>>endobj
+891 0 obj<</Subtype/Link/Rect[85.8 285.4 160.3 298.4]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 734 0]>>endobj
+892 0 obj<</Subtype/Link/Rect[130.0 272.2 187.8 285.2]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 696 0]>>endobj
+893 0 obj<</Subtype/Link/Rect[130.0 259.0 256.5 272.0]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 621 0]>>endobj
+894 0 obj<</Subtype/Link/Rect[130.0 245.8 248.9 258.8]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 405 0]>>endobj
+895 0 obj<</Subtype/Link/Rect[130.0 232.6 204.3 245.6]/Border[0 0 0]/Dest[1785 0 R/XYZ 0 150 0]>>endobj
+896 0 obj<</Subtype/Link/Rect[130.0 219.4 244.0 232.4]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 596 0]>>endobj
+897 0 obj<</Subtype/Link/Rect[130.0 206.2 213.7 219.2]/Border[0 0 0]/Dest[1787 0 R/XYZ 0 290 0]>>endobj
+898 0 obj<</Subtype/Link/Rect[85.8 193.0 167.9 206.0]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 734 0]>>endobj
+899 0 obj<</Subtype/Link/Rect[130.0 179.8 275.1 192.8]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 696 0]>>endobj
+900 0 obj<</Subtype/Link/Rect[130.0 166.6 221.4 179.6]/Border[0 0 0]/Dest[1789 0 R/XYZ 0 397 0]>>endobj
+901 0 obj[858 0 R
 859 0 R
 860 0 R
 861 0 R
@@ -1627,230 +1634,231 @@ endobj
 889 0 R
 890 0 R
 891 0 R
-892 0 R]endobj
-894 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE)>>endobj
-895 0 obj<</Subtype/Link/Rect[249.2 467.8 504.0 480.8]/Border[0 0 0]/A 894 0 R>>endobj
-896 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE)>>endobj
-897 0 obj<</Subtype/Link/Rect[170.7 428.2 445.7 441.2]/Border[0 0 0]/A 896 0 R>>endobj
-898 0 obj[895 0 R
-897 0 R]endobj
-899 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
-900 0 obj<</Subtype/Link/Rect[490.3 90.2 531.2 103.2]/Border[0 0 0]/A 899 0 R>>endobj
-901 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
-902 0 obj<</Subtype/Link/Rect[72.0 77.0 98.3 90.0]/Border[0 0 0]/A 901 0 R>>endobj
-903 0 obj[900 0 R
-902 0 R]endobj
-904 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
-905 0 obj<</Subtype/Link/Rect[353.4 681.4 416.3 694.4]/Border[0 0 0]/A 904 0 R>>endobj
-906 0 obj<</S/Launch/F(#FORCESECURITYMODE)>>endobj
-907 0 obj<</Subtype/Link/Rect[421.5 641.8 520.5 654.8]/Border[0 0 0]/A 906 0 R>>endobj
-908 0 obj<</S/Launch/F(#FORCECREATEMODE)>>endobj
-909 0 obj<</Subtype/Link/Rect[353.4 562.6 445.1 575.6]/Border[0 0 0]/A 908 0 R>>endobj
-910 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-911 0 obj<</Subtype/Link/Rect[72.0 325.0 144.6 338.0]/Border[0 0 0]/A 910 0 R>>endobj
-912 0 obj[905 0 R
-907 0 R
-909 0 R
-911 0 R]endobj
-913 0 obj<</S/Launch/F(#OBEYPAMRESTRICTIONS)>>endobj
-914 0 obj<</Subtype/Link/Rect[235.4 557.4 332.9 570.4]/Border[0 0 0]/A 913 0 R>>endobj
-915 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
-916 0 obj<</Subtype/Link/Rect[306.0 478.2 416.7 491.2]/Border[0 0 0]/A 915 0 R>>endobj
-917 0 obj[914 0 R
-916 0 R]endobj
-918 0 obj<</S/URI/URI(http://imprints.sourceforge.net)>>endobj
-919 0 obj<</Subtype/Link/Rect[143.7 544.6 280.3 557.6]/Border[0 0 0]/A 918 0 R>>endobj
-920 0 obj<</S/URI/URI(http://msdn.microsoft.com/)>>endobj
-921 0 obj<</Subtype/Link/Rect[218.6 518.2 341.1 531.2]/Border[0 0 0]/A 920 0 R>>endobj
-922 0 obj<</S/URI/URI(http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP)>>endobj
-923 0 obj<</Subtype/Link/Rect[72.0 333.4 355.9 346.4]/Border[0 0 0]/A 922 0 R>>endobj
-924 0 obj[919 0 R
-921 0 R
-923 0 R]endobj
-925 0 obj<</S/Launch/F(#WRITELIST)>>endobj
-926 0 obj<</Subtype/Link/Rect[89.1 445.0 131.9 458.0]/Border[0 0 0]/A 925 0 R>>endobj
-927 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-928 0 obj<</Subtype/Link/Rect[162.7 431.8 264.1 444.8]/Border[0 0 0]/A 927 0 R>>endobj
-929 0 obj<</S/Launch/F(#GUESTOK)>>endobj
-930 0 obj<</Subtype/Link/Rect[160.6 405.4 228.6 418.4]/Border[0 0 0]/A 929 0 R>>endobj
-931 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
-932 0 obj<</Subtype/Link/Rect[501.3 291.5 536.7 304.5]/Border[0 0 0]/A 931 0 R>>endobj
-933 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
-934 0 obj<</Subtype/Link/Rect[94.2 278.3 174.1 291.3]/Border[0 0 0]/A 933 0 R>>endobj
-935 0 obj[926 0 R
-928 0 R
-930 0 R
-932 0 R
+892 0 R
+893 0 R
+894 0 R
+895 0 R
+896 0 R
+897 0 R
+898 0 R
+899 0 R
+900 0 R]endobj
+902 0 obj<</S/Launch/F(ENCRYPTION.html)>>endobj
+903 0 obj<</Subtype/Link/Rect[174.0 562.6 270.6 575.6]/Border[0 0 0]/A 902 0 R>>endobj
+904 0 obj<</S/Launch/F(#PASSWORDLEVEL)>>endobj
+905 0 obj<</Subtype/Link/Rect[72.0 300.6 153.0 311.6]/Border[0 0 0]/A 904 0 R>>endobj
+906 0 obj<</S/Launch/F(#USERNAMELEVEL)>>endobj
+907 0 obj<</Subtype/Link/Rect[72.0 289.8 147.6 300.8]/Border[0 0 0]/A 906 0 R>>endobj
+908 0 obj[903 0 R
+905 0 R
+907 0 R]endobj
+909 0 obj<</S/Launch/F(winbind.html)>>endobj
+910 0 obj<</Subtype/Link/Rect[503.4 161.0 544.6 174.0]/Border[0 0 0]/A 909 0 R>>endobj
+911 0 obj<</S/Launch/F(winbind.html)>>endobj
+912 0 obj<</Subtype/Link/Rect[72.0 147.8 115.4 160.8]/Border[0 0 0]/A 911 0 R>>endobj
+913 0 obj[910 0 R
+912 0 R]endobj
+914 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
+915 0 obj<</Subtype/Link/Rect[490.3 75.0 531.2 88.0]/Border[0 0 0]/A 914 0 R>>endobj
+916 0 obj<</S/Launch/F(#SECURITYMASK)>>endobj
+917 0 obj<</Subtype/Link/Rect[72.0 61.8 98.3 74.8]/Border[0 0 0]/A 916 0 R>>endobj
+918 0 obj[915 0 R
+917 0 R]endobj
+919 0 obj<</S/Launch/F(#CREATEMASK)>>endobj
+920 0 obj<</Subtype/Link/Rect[353.4 655.0 416.3 668.0]/Border[0 0 0]/A 919 0 R>>endobj
+921 0 obj<</S/Launch/F(#FORCESECURITYMODE)>>endobj
+922 0 obj<</Subtype/Link/Rect[421.5 602.2 520.5 615.2]/Border[0 0 0]/A 921 0 R>>endobj
+923 0 obj<</S/Launch/F(#FORCECREATEMODE)>>endobj
+924 0 obj<</Subtype/Link/Rect[353.4 523.0 445.1 536.0]/Border[0 0 0]/A 923 0 R>>endobj
+925 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+926 0 obj<</Subtype/Link/Rect[72.0 259.0 144.6 272.0]/Border[0 0 0]/A 925 0 R>>endobj
+927 0 obj[920 0 R
+922 0 R
+924 0 R
+926 0 R]endobj
+928 0 obj<</S/URI/URI(http://rsync.samba.org/)>>endobj
+929 0 obj<</Subtype/Link/Rect[118.1 89.0 222.3 102.0]/Border[0 0 0]/A 928 0 R>>endobj
+930 0 obj[929 0 R]endobj
+931 0 obj<</S/Launch/F(#OBEYPAMRESTRICTIONS)>>endobj
+932 0 obj<</Subtype/Link/Rect[235.4 659.0 332.9 672.0]/Border[0 0 0]/A 931 0 R>>endobj
+933 0 obj<</S/Launch/F(#ENCRYPTPASSWORDS)>>endobj
+934 0 obj<</Subtype/Link/Rect[338.7 579.8 449.4 592.8]/Border[0 0 0]/A 933 0 R>>endobj
+935 0 obj[932 0 R
 934 0 R]endobj
-936 0 obj<</S/Launch/F(#PRINTERADMIN)>>endobj
-937 0 obj<</Subtype/Link/Rect[448.5 680.0 515.8 693.0]/Border[0 0 0]/A 936 0 R>>endobj
-938 0 obj[937 0 R]endobj
-939 0 obj<</S/Launch/F(rpcclient.1.html)>>endobj
-940 0 obj<</Subtype/Link/Rect[233.6 664.6 379.3 677.6]/Border[0 0 0]/A 939 0 R>>endobj
-941 0 obj<</S/Launch/F(#SHOWADDPRINTERWIZARD)>>endobj
-942 0 obj<</Subtype/Link/Rect[108.0 254.6 253.8 267.6]/Border[0 0 0]/A 941 0 R>>endobj
-943 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
-944 0 obj<</Subtype/Link/Rect[451.1 228.2 558.1 241.2]/Border[0 0 0]/A 943 0 R>>endobj
-945 0 obj<</S/Launch/F(#DELETEPRINTERCOMMAND)>>endobj
-946 0 obj<</Subtype/Link/Rect[186.6 109.4 305.2 122.4]/Border[0 0 0]/A 945 0 R>>endobj
-947 0 obj<</S/Launch/F(#ADDPRINTERCOMMAN)>>endobj
-948 0 obj<</Subtype/Link/Rect[197.9 83.0 304.9 96.0]/Border[0 0 0]/A 947 0 R>>endobj
-949 0 obj[940 0 R
-942 0 R
-944 0 R
+936 0 obj<</S/URI/URI(http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp)>>endobj
+937 0 obj<</Subtype/Link/Rect[72.0 586.6 183.5 599.6]/Border[0 0 0]/A 936 0 R>>endobj
+938 0 obj<</S/Launch/F(#HOSTMSDFS)>>endobj
+939 0 obj<</Subtype/Link/Rect[342.3 507.4 398.6 520.4]/Border[0 0 0]/A 938 0 R>>endobj
+940 0 obj<</S/Launch/F(#MSDFSROOT)>>endobj
+941 0 obj<</Subtype/Link/Rect[357.9 494.2 412.3 507.2]/Border[0 0 0]/A 940 0 R>>endobj
+942 0 obj[937 0 R
+939 0 R
+941 0 R]endobj
+943 0 obj<</S/URI/URI(http://imprints.sourceforge.net)>>endobj
+944 0 obj<</Subtype/Link/Rect[143.7 544.6 280.3 557.6]/Border[0 0 0]/A 943 0 R>>endobj
+945 0 obj<</S/URI/URI(http://msdn.microsoft.com/)>>endobj
+946 0 obj<</Subtype/Link/Rect[218.6 518.2 341.1 531.2]/Border[0 0 0]/A 945 0 R>>endobj
+947 0 obj<</S/URI/URI(http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP)>>endobj
+948 0 obj<</Subtype/Link/Rect[72.0 333.4 355.9 346.4]/Border[0 0 0]/A 947 0 R>>endobj
+949 0 obj[944 0 R
 946 0 R
 948 0 R]endobj
-950 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
-951 0 obj<</Subtype/Link/Rect[448.6 721.0 555.0 734.0]/Border[0 0 0]/A 950 0 R>>endobj
-952 0 obj<</S/URI/URI(http://imprints.sourceforge.net/)>>endobj
-953 0 obj<</Subtype/Link/Rect[297.8 632.6 437.4 645.6]/Border[0 0 0]/A 952 0 R>>endobj
-954 0 obj[951 0 R
-953 0 R]endobj
-955 0 obj<</S/URI/URI(http://www.linuxprinting.org/printer_list.cgi)>>endobj
-956 0 obj<</Subtype/Link/Rect[72.0 322.2 267.3 335.2]/Border[0 0 0]/A 955 0 R>>endobj
-957 0 obj<</S/URI/URI(http://www.linuxprinting.org/show_printer.cgi?recnum=75104)>>endobj
-958 0 obj<</Subtype/Link/Rect[72.0 243.0 348.6 256.0]/Border[0 0 0]/A 957 0 R>>endobj
-959 0 obj<</S/URI/URI(http://www.linuxprinting.org/show_driver.cgi?driver=ljet4)>>endobj
-960 0 obj<</Subtype/Link/Rect[72.0 190.2 330.9 203.2]/Border[0 0 0]/A 959 0 R>>endobj
-961 0 obj[956 0 R
-958 0 R
-960 0 R]endobj
-962 0 obj<</S/URI/URI(http://www.linuxprinting.org/cupsomatic)>>endobj
-963 0 obj<</Subtype/Link/Rect[72.0 631.0 252.9 644.0]/Border[0 0 0]/A 962 0 R>>endobj
-964 0 obj<</S/URI/URI(http://www.linuxprinting.org/execution.cgi?driver=ljet4&printer=75104&.submit=Show+execution+details)>>endobj
-965 0 obj<</Subtype/Link/Rect[72.0 485.8 546.7 498.8]/Border[0 0 0]/A 964 0 R>>endobj
-966 0 obj<</S/URI/URI(http://www.linuxprinting.org/cups-doc.html)>>endobj
-967 0 obj<</Subtype/Link/Rect[72.0 298.1 268.0 311.1]/Border[0 0 0]/A 966 0 R>>endobj
-968 0 obj<</S/URI/URI(http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/)>>endobj
-969 0 obj<</Subtype/Link/Rect[72.0 245.3 371.4 258.3]/Border[0 0 0]/A 968 0 R>>endobj
-970 0 obj[963 0 R
-965 0 R
+950 0 obj<</S/Launch/F(#WRITELIST)>>endobj
+951 0 obj<</Subtype/Link/Rect[89.1 445.0 131.9 458.0]/Border[0 0 0]/A 950 0 R>>endobj
+952 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+953 0 obj<</Subtype/Link/Rect[162.7 431.8 264.1 444.8]/Border[0 0 0]/A 952 0 R>>endobj
+954 0 obj<</S/Launch/F(#GUESTOK)>>endobj
+955 0 obj<</Subtype/Link/Rect[160.6 405.4 228.6 418.4]/Border[0 0 0]/A 954 0 R>>endobj
+956 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
+957 0 obj<</Subtype/Link/Rect[501.3 291.5 536.7 304.5]/Border[0 0 0]/A 956 0 R>>endobj
+958 0 obj<</S/Launch/F(#MAPTOGUEST)>>endobj
+959 0 obj<</Subtype/Link/Rect[94.2 278.3 174.1 291.3]/Border[0 0 0]/A 958 0 R>>endobj
+960 0 obj[951 0 R
+953 0 R
+955 0 R
+957 0 R
+959 0 R]endobj
+961 0 obj<</S/Launch/F(#PRINTERADMIN)>>endobj
+962 0 obj<</Subtype/Link/Rect[448.5 680.0 515.8 693.0]/Border[0 0 0]/A 961 0 R>>endobj
+963 0 obj[962 0 R]endobj
+964 0 obj<</S/Launch/F(rpcclient.1.html)>>endobj
+965 0 obj<</Subtype/Link/Rect[233.6 664.6 379.3 677.6]/Border[0 0 0]/A 964 0 R>>endobj
+966 0 obj<</S/Launch/F(#SHOWADDPRINTERWIZARD)>>endobj
+967 0 obj<</Subtype/Link/Rect[108.0 254.6 253.8 267.6]/Border[0 0 0]/A 966 0 R>>endobj
+968 0 obj<</S/Launch/F(#ADDPRINTERCOMMAND)>>endobj
+969 0 obj<</Subtype/Link/Rect[451.1 228.2 558.1 241.2]/Border[0 0 0]/A 968 0 R>>endobj
+970 0 obj<</S/Launch/F(#DELETEPRINTERCOMMAND)>>endobj
+971 0 obj<</Subtype/Link/Rect[186.6 109.4 305.2 122.4]/Border[0 0 0]/A 970 0 R>>endobj
+972 0 obj<</S/Launch/F(#ADDPRINTERCOMMAN)>>endobj
+973 0 obj<</Subtype/Link/Rect[197.9 83.0 304.9 96.0]/Border[0 0 0]/A 972 0 R>>endobj
+974 0 obj[965 0 R
 967 0 R
-969 0 R]endobj
-971 0 obj<</S/URI/URI(http://www.cups.org/software.html)>>endobj
-972 0 obj<</Subtype/Link/Rect[157.8 460.9 314.9 473.9]/Border[0 0 0]/A 971 0 R>>endobj
-973 0 obj[972 0 R]endobj
-974 0 obj<</S/URI/URI(http://www.cups.org/software.html)>>endobj
-975 0 obj<</Subtype/Link/Rect[246.1 231.6 403.2 244.6]/Border[0 0 0]/A 974 0 R>>endobj
-976 0 obj[975 0 R]endobj
-977 0 obj<</S/URI/URI(mailto:jtrostel@snapserver.com)>>endobj
-978 0 obj<</Subtype/Link/Rect[197.9 199.0 310.1 212.0]/Border[0 0 0]/A 977 0 R>>endobj
-979 0 obj[978 0 R]endobj
-980 0 obj<</S/URI/URI(http://samba.org/)>>endobj
-981 0 obj<</Subtype/Link/Rect[151.1 372.2 262.3 385.2]/Border[0 0 0]/A 980 0 R>>endobj
-982 0 obj[981 0 R]endobj
-983 0 obj<</S/Launch/F(winbindd.8.html)>>endobj
-984 0 obj<</Subtype/Link/Rect[306.3 157.8 363.4 170.8]/Border[0 0 0]/A 983 0 R>>endobj
-985 0 obj<</S/Launch/F(#WINBINDSEPARATOR)>>endobj
-986 0 obj<</Subtype/Link/Rect[99.0 87.8 190.8 98.8]/Border[0 0 0]/A 985 0 R>>endobj
-987 0 obj<</S/Launch/F(#WINBINDUID)>>endobj
-988 0 obj<</Subtype/Link/Rect[99.0 66.2 158.4 77.2]/Border[0 0 0]/A 987 0 R>>endobj
-989 0 obj[984 0 R
-986 0 R
-988 0 R]endobj
-990 0 obj<</S/Launch/F(#WINBINDGID)>>endobj
-991 0 obj<</Subtype/Link/Rect[99.0 712.2 158.4 723.2]/Border[0 0 0]/A 990 0 R>>endobj
-992 0 obj<</S/Launch/F(#WINBINDENUMUSERS)>>endobj
-993 0 obj<</Subtype/Link/Rect[99.0 690.6 196.2 701.6]/Border[0 0 0]/A 992 0 R>>endobj
-994 0 obj<</S/Launch/F(#WINBINDENUMGROUP)>>endobj
-995 0 obj<</Subtype/Link/Rect[99.0 679.8 201.6 690.8]/Border[0 0 0]/A 994 0 R>>endobj
-996 0 obj<</S/Launch/F(#TEMPLATEHOMEDIR)>>endobj
-997 0 obj<</Subtype/Link/Rect[99.0 658.2 185.4 669.2]/Border[0 0 0]/A 996 0 R>>endobj
-998 0 obj<</S/Launch/F(#TEMPLATESHELL)>>endobj
-999 0 obj<</Subtype/Link/Rect[99.0 647.4 174.6 658.4]/Border[0 0 0]/A 998 0 R>>endobj
-1000 0 obj[991 0 R
-993 0 R
-995 0 R
-997 0 R
-999 0 R]endobj
-1001 0 obj<</S/URI/URI(http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp)>>endobj
-1002 0 obj<</Subtype/Link/Rect[319.6 346.6 550.9 359.6]/Border[0 0 0]/A 1001 0 R>>endobj
-1003 0 obj<</S/URI/URI(http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp)>>endobj
-1004 0 obj<</Subtype/Link/Rect[72.0 333.4 85.8 346.4]/Border[0 0 0]/A 1003 0 R>>endobj
-1005 0 obj[1002 0 R
-1004 0 R]endobj
-1006 0 obj<</S/URI/URI(http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp)>>endobj
-1007 0 obj<</Subtype/Link/Rect[72.0 586.6 183.5 599.6]/Border[0 0 0]/A 1006 0 R>>endobj
-1008 0 obj<</S/Launch/F(#HOSTMSDFS)>>endobj
-1009 0 obj<</Subtype/Link/Rect[342.3 507.4 398.6 520.4]/Border[0 0 0]/A 1008 0 R>>endobj
-1010 0 obj<</S/Launch/F(#MSDFSROOT)>>endobj
-1011 0 obj<</Subtype/Link/Rect[357.9 494.2 412.3 507.2]/Border[0 0 0]/A 1010 0 R>>endobj
-1012 0 obj[1007 0 R
-1009 0 R
-1011 0 R]endobj
-1013 0 obj<</S/URI/URI(http://www.css.tayloru.edu/~elorimer/databasefs/index.php)>>endobj
-1014 0 obj<</Subtype/Link/Rect[97.1 272.5 360.6 285.5]/Border[0 0 0]/A 1013 0 R>>endobj
-1015 0 obj<</S/URI/URI(mailto:elorimer@css.tayloru.edu)>>endobj
-1016 0 obj<</Subtype/Link/Rect[84.8 246.1 144.7 259.1]/Border[0 0 0]/A 1015 0 R>>endobj
-1017 0 obj[1014 0 R
-1016 0 R]endobj
-1018 0 obj<</S/URI/URI(http://www.openantivirus.org/)>>endobj
-1019 0 obj<</Subtype/Link/Rect[97.1 691.0 233.0 704.0]/Border[0 0 0]/A 1018 0 R>>endobj
-1020 0 obj[1019 0 R]endobj
-1021 0 obj<</S/URI/URI(http://www.unicode.org/)>>endobj
-1022 0 obj<</Subtype/Link/Rect[340.5 505.0 422.1 518.0]/Border[0 0 0]/A 1021 0 R>>endobj
-1023 0 obj[1022 0 R]endobj
-1024 0 obj<</Subtype/Link/Rect[85.8 670.6 206.4 683.6]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 734 0]>>endobj
-1025 0 obj<</Subtype/Link/Rect[130.0 657.4 191.4 670.4]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 696 0]>>endobj
-1026 0 obj<</Subtype/Link/Rect[130.0 644.2 196.6 657.2]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 449 0]>>endobj
-1027 0 obj<</Subtype/Link/Rect[130.0 631.0 174.6 644.0]/Border[0 0 0]/Dest[1784 0 R/XYZ 0 189 0]>>endobj
-1028 0 obj<</Subtype/Link/Rect[130.0 617.8 174.0 630.8]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 639 0]>>endobj
-1029 0 obj<</Subtype/Link/Rect[130.0 604.6 173.4 617.6]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 458 0]>>endobj
-1030 0 obj<</Subtype/Link/Rect[130.0 591.4 175.2 604.4]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 383 0]>>endobj
-1031 0 obj<</Subtype/Link/Rect[130.0 578.2 177.1 591.2]/Border[0 0 0]/Dest[1786 0 R/XYZ 0 215 0]>>endobj
-1032 0 obj<</Subtype/Link/Rect[130.0 565.0 188.1 578.0]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 734 0]>>endobj
-1033 0 obj<</Subtype/Link/Rect[130.0 551.8 186.8 564.8]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 605 0]>>endobj
-1034 0 obj<</Subtype/Link/Rect[135.5 538.6 196.0 551.6]/Border[0 0 0]/Dest[1788 0 R/XYZ 0 530 0]>>endobj
-1035 0 obj<</Subtype/Link/Rect[85.8 525.4 136.2 538.4]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 734 0]>>endobj
-1036 0 obj<</Subtype/Link/Rect[130.0 512.2 162.1 525.2]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 655 0]>>endobj
-1037 0 obj<</Subtype/Link/Rect[130.0 499.0 177.7 512.0]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 408 0]>>endobj
-1038 0 obj<</Subtype/Link/Rect[130.0 485.8 158.4 498.8]/Border[0 0 0]/Dest[1792 0 R/XYZ 0 293 0]>>endobj
-1039 0 obj<</Subtype/Link/Rect[130.0 472.6 260.5 485.6]/Border[0 0 0]/Dest[1794 0 R/XYZ 0 228 0]>>endobj
-1040 0 obj<</Subtype/Link/Rect[130.0 459.4 149.9 472.4]/Border[0 0 0]/Dest[1796 0 R/XYZ 0 734 0]>>endobj
-1041 0 obj<</Subtype/Link/Rect[174.2 446.2 279.7 459.2]/Border[0 0 0]/Dest[1796 0 R/XYZ 0 700 0]>>endobj
-1042 0 obj<</Subtype/Link/Rect[85.8 433.0 221.1 446.0]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 734 0]>>endobj
-1043 0 obj<</Subtype/Link/Rect[130.0 419.8 216.2 432.8]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 668 0]>>endobj
-1044 0 obj<</Subtype/Link/Rect[130.0 406.6 181.3 419.6]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 461 0]>>endobj
-1045 0 obj<</Subtype/Link/Rect[174.2 393.4 533.6 406.4]/Border[0 0 0]/Dest[1798 0 R/XYZ 0 427 0]>>endobj
-1046 0 obj<</Subtype/Link/Rect[174.2 380.2 536.9 393.2]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 734 0]>>endobj
-1047 0 obj<</Subtype/Link/Rect[174.2 367.0 490.2 380.0]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 523 0]>>endobj
-1048 0 obj<</Subtype/Link/Rect[174.2 353.8 459.3 366.8]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 408 0]>>endobj
-1049 0 obj<</Subtype/Link/Rect[130.0 340.6 245.8 353.6]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 151 0]>>endobj
-1050 0 obj<</Subtype/Link/Rect[174.2 327.4 351.5 340.4]/Border[0 0 0]/Dest[1800 0 R/XYZ 0 118 0]>>endobj
-1051 0 obj<</Subtype/Link/Rect[174.2 314.2 351.2 327.2]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 626 0]>>endobj
-1052 0 obj<</Subtype/Link/Rect[174.2 301.0 332.5 314.0]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 475 0]>>endobj
-1053 0 obj<</Subtype/Link/Rect[174.2 287.8 301.4 300.8]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 377 0]>>endobj
-1054 0 obj<</Subtype/Link/Rect[174.2 274.6 316.3 287.6]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 292 0]>>endobj
-1055 0 obj<</Subtype/Link/Rect[130.0 261.4 205.6 274.4]/Border[0 0 0]/Dest[1802 0 R/XYZ 0 207 0]>>endobj
-1056 0 obj<</Subtype/Link/Rect[130.0 248.2 265.9 261.2]/Border[0 0 0]/Dest[1804 0 R/XYZ 0 626 0]>>endobj
-1057 0 obj<</Subtype/Link/Rect[85.8 235.0 195.7 248.0]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 734 0]>>endobj
-1058 0 obj<</Subtype/Link/Rect[130.0 221.8 289.5 234.8]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 655 0]>>endobj
-1059 0 obj<</Subtype/Link/Rect[174.2 208.6 232.0 221.6]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 621 0]>>endobj
-1060 0 obj<</Subtype/Link/Rect[174.2 195.4 290.0 208.4]/Border[0 0 0]/Dest[1806 0 R/XYZ 0 510 0]>>endobj
-1061 0 obj<</Subtype/Link/Rect[130.0 182.2 337.1 195.2]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 494 0]>>endobj
-1062 0 obj<</Subtype/Link/Rect[130.0 169.0 226.9 182.0]/Border[0 0 0]/Dest[1808 0 R/XYZ 0 353 0]>>endobj
-1063 0 obj<</Subtype/Link/Rect[174.2 155.8 388.8 168.8]/Border[0 0 0]/Dest[1810 0 R/XYZ 0 613 0]>>endobj
-1064 0 obj<</Subtype/Link/Rect[130.0 142.6 256.8 155.6]/Border[0 0 0]/Dest[1812 0 R/XYZ 0 734 0]>>endobj
-1065 0 obj<</Subtype/Link/Rect[174.2 129.4 282.4 142.4]/Border[0 0 0]/Dest[1812 0 R/XYZ 0 579 0]>>endobj
-1066 0 obj<</Subtype/Link/Rect[174.2 116.2 333.8 129.2]/Border[0 0 0]/Dest[1814 0 R/XYZ 0 734 0]>>endobj
-1067 0 obj<</Subtype/Link/Rect[85.8 103.0 157.2 116.0]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 734 0]>>endobj
-1068 0 obj<</Subtype/Link/Rect[130.0 89.8 187.8 102.8]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 696 0]>>endobj
-1069 0 obj<</Subtype/Link/Rect[130.0 76.6 188.7 89.6]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 423 0]>>endobj
-1070 0 obj<</Subtype/Link/Rect[130.0 63.4 189.9 76.4]/Border[0 0 0]/Dest[1816 0 R/XYZ 0 282 0]>>endobj
-1071 0 obj[1024 0 R
-1025 0 R
-1026 0 R
-1027 0 R
-1028 0 R
-1029 0 R
-1030 0 R
-1031 0 R
-1032 0 R
-1033 0 R
-1034 0 R
-1035 0 R
-1036 0 R
-1037 0 R
+969 0 R
+971 0 R
+973 0 R]endobj
+975 0 obj<</S/Launch/F(#ENUMPORTSCOMMAND)>>endobj
+976 0 obj<</Subtype/Link/Rect[448.6 721.0 555.0 734.0]/Border[0 0 0]/A 975 0 R>>endobj
+977 0 obj<</S/URI/URI(http://imprints.sourceforge.net/)>>endobj
+978 0 obj<</Subtype/Link/Rect[297.8 632.6 437.4 645.6]/Border[0 0 0]/A 977 0 R>>endobj
+979 0 obj[976 0 R
+978 0 R]endobj
+980 0 obj<</S/URI/URI(http://www.linuxprinting.org/printer_list.cgi)>>endobj
+981 0 obj<</Subtype/Link/Rect[72.0 322.2 267.3 335.2]/Border[0 0 0]/A 980 0 R>>endobj
+982 0 obj<</S/URI/URI(http://www.linuxprinting.org/show_printer.cgi?recnum=75104)>>endobj
+983 0 obj<</Subtype/Link/Rect[72.0 243.0 348.6 256.0]/Border[0 0 0]/A 982 0 R>>endobj
+984 0 obj<</S/URI/URI(http://www.linuxprinting.org/show_driver.cgi?driver=ljet4)>>endobj
+985 0 obj<</Subtype/Link/Rect[72.0 190.2 330.9 203.2]/Border[0 0 0]/A 984 0 R>>endobj
+986 0 obj[981 0 R
+983 0 R
+985 0 R]endobj
+987 0 obj<</S/URI/URI(http://www.linuxprinting.org/cupsomatic)>>endobj
+988 0 obj<</Subtype/Link/Rect[72.0 631.0 252.9 644.0]/Border[0 0 0]/A 987 0 R>>endobj
+989 0 obj<</S/URI/URI(http://www.linuxprinting.org/execution.cgi?driver=ljet4&printer=75104&.submit=Show+execution+details)>>endobj
+990 0 obj<</Subtype/Link/Rect[72.0 485.8 546.7 498.8]/Border[0 0 0]/A 989 0 R>>endobj
+991 0 obj<</S/URI/URI(http://www.linuxprinting.org/cups-doc.html)>>endobj
+992 0 obj<</Subtype/Link/Rect[72.0 298.1 268.0 311.1]/Border[0 0 0]/A 991 0 R>>endobj
+993 0 obj<</S/URI/URI(http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/)>>endobj
+994 0 obj<</Subtype/Link/Rect[72.0 245.3 371.4 258.3]/Border[0 0 0]/A 993 0 R>>endobj
+995 0 obj[988 0 R
+990 0 R
+992 0 R
+994 0 R]endobj
+996 0 obj<</S/URI/URI(http://www.cups.org/software.html)>>endobj
+997 0 obj<</Subtype/Link/Rect[157.8 460.9 314.9 473.9]/Border[0 0 0]/A 996 0 R>>endobj
+998 0 obj[997 0 R]endobj
+999 0 obj<</S/URI/URI(http://www.cups.org/software.html)>>endobj
+1000 0 obj<</Subtype/Link/Rect[246.1 231.6 403.2 244.6]/Border[0 0 0]/A 999 0 R>>endobj
+1001 0 obj[1000 0 R]endobj
+1002 0 obj<</S/URI/URI(mailto:jtrostel@snapserver.com)>>endobj
+1003 0 obj<</Subtype/Link/Rect[197.9 199.0 310.1 212.0]/Border[0 0 0]/A 1002 0 R>>endobj
+1004 0 obj[1003 0 R]endobj
+1005 0 obj<</S/URI/URI(http://samba.org/)>>endobj
+1006 0 obj<</Subtype/Link/Rect[151.1 372.2 262.3 385.2]/Border[0 0 0]/A 1005 0 R>>endobj
+1007 0 obj[1006 0 R]endobj
+1008 0 obj<</S/Launch/F(winbindd.8.html)>>endobj
+1009 0 obj<</Subtype/Link/Rect[306.3 157.8 363.4 170.8]/Border[0 0 0]/A 1008 0 R>>endobj
+1010 0 obj<</S/Launch/F(#WINBINDSEPARATOR)>>endobj
+1011 0 obj<</Subtype/Link/Rect[99.0 87.8 190.8 98.8]/Border[0 0 0]/A 1010 0 R>>endobj
+1012 0 obj<</S/Launch/F(#WINBINDUID)>>endobj
+1013 0 obj<</Subtype/Link/Rect[99.0 66.2 158.4 77.2]/Border[0 0 0]/A 1012 0 R>>endobj
+1014 0 obj[1009 0 R
+1011 0 R
+1013 0 R]endobj
+1015 0 obj<</S/Launch/F(#WINBINDGID)>>endobj
+1016 0 obj<</Subtype/Link/Rect[99.0 712.2 158.4 723.2]/Border[0 0 0]/A 1015 0 R>>endobj
+1017 0 obj<</S/Launch/F(#WINBINDENUMUSERS)>>endobj
+1018 0 obj<</Subtype/Link/Rect[99.0 690.6 196.2 701.6]/Border[0 0 0]/A 1017 0 R>>endobj
+1019 0 obj<</S/Launch/F(#WINBINDENUMGROUP)>>endobj
+1020 0 obj<</Subtype/Link/Rect[99.0 679.8 201.6 690.8]/Border[0 0 0]/A 1019 0 R>>endobj
+1021 0 obj<</S/Launch/F(#TEMPLATEHOMEDIR)>>endobj
+1022 0 obj<</Subtype/Link/Rect[99.0 658.2 185.4 669.2]/Border[0 0 0]/A 1021 0 R>>endobj
+1023 0 obj<</S/Launch/F(#TEMPLATESHELL)>>endobj
+1024 0 obj<</Subtype/Link/Rect[99.0 647.4 174.6 658.4]/Border[0 0 0]/A 1023 0 R>>endobj
+1025 0 obj[1016 0 R
+1018 0 R
+1020 0 R
+1022 0 R
+1024 0 R]endobj
+1026 0 obj<</S/URI/URI(http://www.css.tayloru.edu/~elorimer/databasefs/index.php)>>endobj
+1027 0 obj<</Subtype/Link/Rect[97.1 272.5 360.6 285.5]/Border[0 0 0]/A 1026 0 R>>endobj
+1028 0 obj<</S/URI/URI(mailto:elorimer@css.tayloru.edu)>>endobj
+1029 0 obj<</Subtype/Link/Rect[84.8 246.1 144.7 259.1]/Border[0 0 0]/A 1028 0 R>>endobj
+1030 0 obj[1027 0 R
+1029 0 R]endobj
+1031 0 obj<</S/URI/URI(http://www.openantivirus.org/)>>endobj
+1032 0 obj<</Subtype/Link/Rect[97.1 691.0 233.0 704.0]/Border[0 0 0]/A 1031 0 R>>endobj
+1033 0 obj[1032 0 R]endobj
+1034 0 obj<</S/URI/URI(http://www.unicode.org/)>>endobj
+1035 0 obj<</Subtype/Link/Rect[340.5 505.0 422.1 518.0]/Border[0 0 0]/A 1034 0 R>>endobj
+1036 0 obj[1035 0 R]endobj
+1037 0 obj<</Subtype/Link/Rect[85.8 670.6 136.2 683.6]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 734 0]>>endobj
+1038 0 obj<</Subtype/Link/Rect[130.0 657.4 162.1 670.4]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 655 0]>>endobj
+1039 0 obj<</Subtype/Link/Rect[130.0 644.2 177.7 657.2]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 408 0]>>endobj
+1040 0 obj<</Subtype/Link/Rect[130.0 631.0 158.4 644.0]/Border[0 0 0]/Dest[1795 0 R/XYZ 0 293 0]>>endobj
+1041 0 obj<</Subtype/Link/Rect[130.0 617.8 260.5 630.8]/Border[0 0 0]/Dest[1797 0 R/XYZ 0 228 0]>>endobj
+1042 0 obj<</Subtype/Link/Rect[130.0 604.6 149.9 617.6]/Border[0 0 0]/Dest[1799 0 R/XYZ 0 734 0]>>endobj
+1043 0 obj<</Subtype/Link/Rect[174.2 591.4 279.7 604.4]/Border[0 0 0]/Dest[1799 0 R/XYZ 0 700 0]>>endobj
+1044 0 obj<</Subtype/Link/Rect[85.8 578.2 221.1 591.2]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 734 0]>>endobj
+1045 0 obj<</Subtype/Link/Rect[130.0 565.0 216.2 578.0]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 668 0]>>endobj
+1046 0 obj<</Subtype/Link/Rect[130.0 551.8 181.3 564.8]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 461 0]>>endobj
+1047 0 obj<</Subtype/Link/Rect[174.2 538.6 533.6 551.6]/Border[0 0 0]/Dest[1801 0 R/XYZ 0 427 0]>>endobj
+1048 0 obj<</Subtype/Link/Rect[174.2 525.4 536.9 538.4]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 734 0]>>endobj
+1049 0 obj<</Subtype/Link/Rect[174.2 512.2 490.2 525.2]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 523 0]>>endobj
+1050 0 obj<</Subtype/Link/Rect[174.2 499.0 459.3 512.0]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 408 0]>>endobj
+1051 0 obj<</Subtype/Link/Rect[130.0 485.8 245.8 498.8]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 151 0]>>endobj
+1052 0 obj<</Subtype/Link/Rect[174.2 472.6 351.5 485.6]/Border[0 0 0]/Dest[1803 0 R/XYZ 0 118 0]>>endobj
+1053 0 obj<</Subtype/Link/Rect[174.2 459.4 351.2 472.4]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 626 0]>>endobj
+1054 0 obj<</Subtype/Link/Rect[174.2 446.2 332.5 459.2]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 475 0]>>endobj
+1055 0 obj<</Subtype/Link/Rect[174.2 433.0 301.4 446.0]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 377 0]>>endobj
+1056 0 obj<</Subtype/Link/Rect[174.2 419.8 316.3 432.8]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 292 0]>>endobj
+1057 0 obj<</Subtype/Link/Rect[130.0 406.6 205.6 419.6]/Border[0 0 0]/Dest[1805 0 R/XYZ 0 207 0]>>endobj
+1058 0 obj<</Subtype/Link/Rect[130.0 393.4 265.9 406.4]/Border[0 0 0]/Dest[1807 0 R/XYZ 0 626 0]>>endobj
+1059 0 obj<</Subtype/Link/Rect[85.8 380.2 195.7 393.2]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 734 0]>>endobj
+1060 0 obj<</Subtype/Link/Rect[130.0 367.0 289.5 380.0]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 655 0]>>endobj
+1061 0 obj<</Subtype/Link/Rect[174.2 353.8 232.0 366.8]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 621 0]>>endobj
+1062 0 obj<</Subtype/Link/Rect[174.2 340.6 290.0 353.6]/Border[0 0 0]/Dest[1809 0 R/XYZ 0 510 0]>>endobj
+1063 0 obj<</Subtype/Link/Rect[130.0 327.4 337.1 340.4]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 494 0]>>endobj
+1064 0 obj<</Subtype/Link/Rect[130.0 314.2 226.9 327.2]/Border[0 0 0]/Dest[1811 0 R/XYZ 0 353 0]>>endobj
+1065 0 obj<</Subtype/Link/Rect[130.0 301.0 256.8 314.0]/Border[0 0 0]/Dest[1813 0 R/XYZ 0 613 0]>>endobj
+1066 0 obj<</Subtype/Link/Rect[174.2 287.8 282.4 300.8]/Border[0 0 0]/Dest[1813 0 R/XYZ 0 458 0]>>endobj
+1067 0 obj<</Subtype/Link/Rect[174.2 274.6 333.8 287.6]/Border[0 0 0]/Dest[1815 0 R/XYZ 0 639 0]>>endobj
+1068 0 obj<</Subtype/Link/Rect[85.8 261.4 157.2 274.4]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 734 0]>>endobj
+1069 0 obj<</Subtype/Link/Rect[130.0 248.2 187.8 261.2]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 696 0]>>endobj
+1070 0 obj<</Subtype/Link/Rect[130.0 235.0 188.7 248.0]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 423 0]>>endobj
+1071 0 obj<</Subtype/Link/Rect[130.0 221.8 189.9 234.8]/Border[0 0 0]/Dest[1817 0 R/XYZ 0 282 0]>>endobj
+1072 0 obj<</Subtype/Link/Rect[130.0 208.6 198.4 221.6]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 613 0]>>endobj
+1073 0 obj<</Subtype/Link/Rect[130.0 195.4 269.0 208.4]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 260 0]>>endobj
+1074 0 obj<</Subtype/Link/Rect[130.0 182.2 167.6 195.2]/Border[0 0 0]/Dest[1819 0 R/XYZ 0 159 0]>>endobj
+1075 0 obj<</Subtype/Link/Rect[85.8 169.0 177.7 182.0]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 734 0]>>endobj
+1076 0 obj<</Subtype/Link/Rect[130.0 155.8 187.8 168.8]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 696 0]>>endobj
+1077 0 obj<</Subtype/Link/Rect[130.0 142.6 188.4 155.6]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 529 0]>>endobj
+1078 0 obj<</Subtype/Link/Rect[130.0 129.4 155.4 142.4]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 199 0]>>endobj
+1079 0 obj<</Subtype/Link/Rect[174.2 116.2 203.6 129.2]/Border[0 0 0]/Dest[1821 0 R/XYZ 0 165 0]>>endobj
+1080 0 obj<</Subtype/Link/Rect[174.2 103.0 203.6 116.0]/Border[0 0 0]/Dest[1823 0 R/XYZ 0 734 0]>>endobj
+1081 0 obj<</Subtype/Link/Rect[174.2 89.8 203.6 102.8]/Border[0 0 0]/Dest[1823 0 R/XYZ 0 530 0]>>endobj
+1082 0 obj<</Subtype/Link/Rect[174.2 76.6 203.6 89.6]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 626 0]>>endobj
+1083 0 obj<</Subtype/Link/Rect[174.2 63.4 203.6 76.4]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 475 0]>>endobj
+1084 0 obj[1037 0 R
 1038 0 R
 1039 0 R
 1040 0 R
@@ -1883,27 +1891,9 @@ endobj
 1067 0 R
 1068 0 R
 1069 0 R
-1070 0 R]endobj
-1072 0 obj<</Subtype/Link/Rect[130.0 721.0 198.4 734.0]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 613 0]>>endobj
-1073 0 obj<</Subtype/Link/Rect[130.0 707.8 269.0 720.8]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 260 0]>>endobj
-1074 0 obj<</Subtype/Link/Rect[130.0 694.6 167.6 707.6]/Border[0 0 0]/Dest[1818 0 R/XYZ 0 159 0]>>endobj
-1075 0 obj<</Subtype/Link/Rect[85.8 681.4 177.7 694.4]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 734 0]>>endobj
-1076 0 obj<</Subtype/Link/Rect[130.0 668.2 187.8 681.2]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 696 0]>>endobj
-1077 0 obj<</Subtype/Link/Rect[130.0 655.0 188.4 668.0]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 529 0]>>endobj
-1078 0 obj<</Subtype/Link/Rect[130.0 641.8 155.4 654.8]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 199 0]>>endobj
-1079 0 obj<</Subtype/Link/Rect[174.2 628.6 203.6 641.6]/Border[0 0 0]/Dest[1820 0 R/XYZ 0 165 0]>>endobj
-1080 0 obj<</Subtype/Link/Rect[174.2 615.4 203.6 628.4]/Border[0 0 0]/Dest[1822 0 R/XYZ 0 734 0]>>endobj
-1081 0 obj<</Subtype/Link/Rect[174.2 602.2 203.6 615.2]/Border[0 0 0]/Dest[1822 0 R/XYZ 0 530 0]>>endobj
-1082 0 obj<</Subtype/Link/Rect[174.2 589.0 203.6 602.0]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 626 0]>>endobj
-1083 0 obj<</Subtype/Link/Rect[174.2 575.8 203.6 588.8]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 475 0]>>endobj
-1084 0 obj<</Subtype/Link/Rect[174.2 562.6 203.6 575.6]/Border[0 0 0]/Dest[1824 0 R/XYZ 0 351 0]>>endobj
-1085 0 obj<</Subtype/Link/Rect[174.2 549.4 203.6 562.4]/Border[0 0 0]/Dest[1826 0 R/XYZ 0 734 0]>>endobj
-1086 0 obj<</Subtype/Link/Rect[174.2 536.2 203.6 549.2]/Border[0 0 0]/Dest[1826 0 R/XYZ 0 371 0]>>endobj
-1087 0 obj<</Subtype/Link/Rect[174.2 523.0 203.6 536.0]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 705 0]>>endobj
-1088 0 obj<</Subtype/Link/Rect[179.8 509.8 214.6 522.8]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 515 0]>>endobj
-1089 0 obj<</Subtype/Link/Rect[179.8 496.6 214.6 509.6]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 377 0]>>endobj
-1090 0 obj<</Subtype/Link/Rect[130.0 483.4 227.5 496.4]/Border[0 0 0]/Dest[1828 0 R/XYZ 0 239 0]>>endobj
-1091 0 obj[1072 0 R
+1070 0 R
+1071 0 R
+1072 0 R
 1073 0 R
 1074 0 R
 1075 0 R
@@ -1914,831 +1904,836 @@ endobj
 1080 0 R
 1081 0 R
 1082 0 R
-1083 0 R
-1084 0 R
-1085 0 R
+1083 0 R]endobj
+1085 0 obj<</Subtype/Link/Rect[174.2 721.0 203.6 734.0]/Border[0 0 0]/Dest[1825 0 R/XYZ 0 351 0]>>endobj
+1086 0 obj<</Subtype/Link/Rect[174.2 707.8 203.6 720.8]/Border[0 0 0]/Dest[1827 0 R/XYZ 0 734 0]>>endobj
+1087 0 obj<</Subtype/Link/Rect[174.2 694.6 203.6 707.6]/Border[0 0 0]/Dest[1827 0 R/XYZ 0 371 0]>>endobj
+1088 0 obj<</Subtype/Link/Rect[174.2 681.4 203.6 694.4]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 705 0]>>endobj
+1089 0 obj<</Subtype/Link/Rect[179.8 668.2 214.6 681.2]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 515 0]>>endobj
+1090 0 obj<</Subtype/Link/Rect[179.8 655.0 214.6 668.0]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 377 0]>>endobj
+1091 0 obj<</Subtype/Link/Rect[130.0 641.8 227.5 654.8]/Border[0 0 0]/Dest[1829 0 R/XYZ 0 239 0]>>endobj
+1092 0 obj[1085 0 R
 1086 0 R
 1087 0 R
 1088 0 R
 1089 0 R
-1090 0 R]endobj
-1092 0 obj<</S/URI/URI(http://www.thursby.com/)>>endobj
-1093 0 obj<</Subtype/Link/Rect[91.9 621.8 131.3 634.8]/Border[0 0 0]/A 1092 0 R>>endobj
-1094 0 obj<</S/URI/URI(http://www.umich.edu/~rsug/netatalk/)>>endobj
-1095 0 obj<</Subtype/Link/Rect[72.0 503.0 109.3 516.0]/Border[0 0 0]/A 1094 0 R>>endobj
-1096 0 obj<</S/URI/URI(http://www.cs.mu.oz.au/appletalk/atalk.html)>>endobj
-1097 0 obj<</Subtype/Link/Rect[130.7 503.0 154.8 516.0]/Border[0 0 0]/A 1096 0 R>>endobj
-1098 0 obj<</S/URI/URI(http://www.eats.com/linux_mac_win.html)>>endobj
-1099 0 obj<</Subtype/Link/Rect[72.0 476.6 258.1 489.6]/Border[0 0 0]/A 1098 0 R>>endobj
-1100 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/warp.html)>>endobj
-1101 0 obj<</Subtype/Link/Rect[325.6 367.8 544.5 380.8]/Border[0 0 0]/A 1100 0 R>>endobj
-1102 0 obj[1093 0 R
-1095 0 R
-1097 0 R
-1099 0 R
-1101 0 R]endobj
-1103 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/)>>endobj
-1104 0 obj<</Subtype/Link/Rect[72.0 661.0 319.2 674.0]/Border[0 0 0]/A 1103 0 R>>endobj
-1105 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/lanman.html)>>endobj
-1106 0 obj<</Subtype/Link/Rect[340.6 661.0 538.7 674.0]/Border[0 0 0]/A 1105 0 R>>endobj
-1107 0 obj<</S/URI/URI(ftp://ftp.cdrom.com/pub/os2/network/ndis/)>>endobj
-1108 0 obj<</Subtype/Link/Rect[173.1 538.6 363.5 551.6]/Border[0 0 0]/A 1107 0 R>>endobj
-1109 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/fix.html)>>endobj
-1110 0 obj<</Subtype/Link/Rect[220.2 450.2 429.3 463.2]/Border[0 0 0]/A 1109 0 R>>endobj
-1111 0 obj[1104 0 R
-1106 0 R
-1108 0 R
-1110 0 R]endobj
-1112 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-1113 0 obj<</Subtype/Link/Rect[218.7 321.4 274.9 334.4]/Border[0 0 0]/A 1112 0 R>>endobj
-1114 0 obj[1113 0 R]endobj
-1115 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
-1116 0 obj<</Subtype/Link/Rect[493.6 487.4 549.8 500.4]/Border[0 0 0]/A 1115 0 R>>endobj
-1117 0 obj[1116 0 R]endobj
-1118 0 obj<</S/URI/URI(http://samba.org/)>>endobj
-1119 0 obj<</Subtype/Link/Rect[258.0 683.8 325.3 696.8]/Border[0 0 0]/A 1118 0 R>>endobj
-1120 0 obj<</S/URI/URI(http://samba.org/samba/cvs.html)>>endobj
-1121 0 obj<</Subtype/Link/Rect[343.3 525.8 489.7 538.8]/Border[0 0 0]/A 1120 0 R>>endobj
-1122 0 obj<</S/URI/URI(http://samba.org/cgi-bin/cvsweb)>>endobj
-1123 0 obj<</Subtype/Link/Rect[135.9 333.4 283.2 346.4]/Border[0 0 0]/A 1122 0 R>>endobj
-1124 0 obj<</S/URI/URI(http://www.cyclic.com/)>>endobj
-1125 0 obj<</Subtype/Link/Rect[391.6 225.8 498.2 238.8]/Border[0 0 0]/A 1124 0 R>>endobj
-1126 0 obj[1119 0 R
-1121 0 R
-1123 0 R
-1125 0 R]endobj
-1127 0 obj<</S/URI/URI(ftp://pserver.samba.org/pub/unpacked)>>endobj
-1128 0 obj<</Subtype/Link/Rect[72.0 434.6 238.8 447.6]/Border[0 0 0]/A 1127 0 R>>endobj
-1129 0 obj<</S/URI/URI(http://rsync.samba.org/)>>endobj
-1130 0 obj<</Subtype/Link/Rect[452.6 421.4 543.4 434.4]/Border[0 0 0]/A 1129 0 R>>endobj
-1131 0 obj[1128 0 R
-1130 0 R]endobj
-1132 0 obj<</S/Launch/F(samba@samba.org)>>endobj
-1133 0 obj<</Subtype/Link/Rect[311.8 650.2 398.3 663.2]/Border[0 0 0]/A 1132 0 R>>endobj
-1134 0 obj<</S/URI/URI(mailto:samba-technical@samba.org)>>endobj
-1135 0 obj<</Subtype/Link/Rect[126.4 637.0 258.8 650.0]/Border[0 0 0]/A 1134 0 R>>endobj
-1136 0 obj<</S/URI/URI(http://samba.org/samba/)>>endobj
-1137 0 obj<</Subtype/Link/Rect[161.5 439.0 270.3 452.0]/Border[0 0 0]/A 1136 0 R>>endobj
-1138 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
-1139 0 obj<</Subtype/Link/Rect[185.0 337.4 229.3 350.4]/Border[0 0 0]/A 1138 0 R>>endobj
-1140 0 obj[1133 0 R
-1135 0 R
-1137 0 R
-1139 0 R]endobj
-1141 0 obj<</S/URI/URI(mailto:samba@samba.org)>>endobj
-1142 0 obj<</Subtype/Link/Rect[164.2 180.2 250.8 193.2]/Border[0 0 0]/A 1141 0 R>>endobj
-1143 0 obj<</S/URI/URI(http://samba.org/samba)>>endobj
-1144 0 obj<</Subtype/Link/Rect[233.0 167.0 338.7 180.0]/Border[0 0 0]/A 1143 0 R>>endobj
-1145 0 obj[1142 0 R
-1144 0 R]endobj
-1146 0 obj<</Dests 1147 0 R>>endobj
-1147 0 obj<</Kids[1148 0 R]>>endobj
-1148 0 obj<</Limits[(16)(winbind)]/Names[(16)1149 0 R(17)1150 0 R(3)1151 0 R(33)1152 0 R(4)1153 0 R(8)1154 0 R(9)1155 0 R(ads)1156 0 R(advancednetworkmanagement)1157 0 R(aen1013)1158 0 R(aen103)1159 0 R(aen108)1160 0 R(aen111)1161 0 R(aen1127)1162 0 R(aen1150)1163 0 R(aen1180)1164 0 R(aen1184)1165 0 R(aen1192)1166 0 R(aen1195)1167 0 R(aen1198)1168 0 R(aen1201)1169 0 R(aen1206)1170 0 R(aen1223)1171 0 R(aen1227)1172 0 R(aen1238)1173 0 R(aen1249)1174 0 R(aen1260)1175 0 R(aen1264)1176 0 R(aen1272)1177 0 R(aen1277)1178 0 R(aen1280)1179 0 R(aen130)1180 0 R(aen1302)1181 0 R(aen1356)1182 0 R(aen1374)1183 0 R(aen1388)1184 0 R(aen139)1185 0 R(aen1416)1186 0 R(aen1420)1187 0 R(aen1431)1188 0 R(aen1451)1189 0 R(aen1466)1190 0 R(aen1480)1191 0 R(aen1487)1192 0 R(aen149)1193 0 R(aen1509)1194 0 R(aen1563)1195 0 R(aen1619)1196 0 R(aen163)1197 0 R(aen1668)1198 0 R(aen1673)1199 0 R(aen168)1200 0 R(aen1699)1201 0 R(aen1721)1202 0 R(aen1729)1203 0 R(aen1764)1204 0 R(aen1780)1205 0 R(aen179)1206 0 R(aen1791)1207 0 R(aen1821)1208 0 R(aen1829)1209 0 R(aen1833)1210 0 R(aen1843)1211 0 R(aen1846)1212 0 R(aen1850)1213 0 R(aen187)1214 0 R(aen1872)1215 0 R(aen1874)1216 0 R(aen1890)1217 0 R(aen1899)1218 0 R(aen1907)1219 0 R(aen1935)1220 0 R(aen1946)1221 0 R(aen1958)1222 0 R(aen1961)1223 0 R(aen1964)1224 0 R(aen1984)1225 0 R(aen1989)1226 0 R(aen2044)1227 0 R(aen2083)1228 0 R(aen2090)1229 0 R(aen21)1230 0 R(aen2160)1231 0 R(aen2249)1232 0 R(aen2264)1233 0 R(aen2326)1234 0 R(aen2330)1235 0 R(aen2343)1236 0 R(aen2350)1237 0 R(aen2354)1238 0 R(aen2359)1239 0 R(aen2363)1240 0 R(aen2366)1241 0 R(aen2382)1242 0 R(aen2390)1243 0 R(aen2394)1244 0 R(aen2397)1245 0 R(aen2402)1246 0 R(aen2415)1247 0 R(aen2429)1248 0 R(aen244)1249 0 R(aen2440)1250 0 R(aen2459)1251 0 R(aen2492)1252 0 R(aen2508)1253 0 R(aen251)1254 0 R(aen2519)1255 0 R(aen2559)1256 0 R(aen2561)1257 0 R(aen2581)1258 0 R(aen2591)1259 0 R(aen2597)1260 0 R(aen26)1261 0 R(aen2614)1262 0 R(aen2647)1263 0 R(aen2654)1264 0 R(aen2664)1265 0 R(aen2678)1266 0 R(aen2692)1267 0 R(aen2704)1268 0 R(aen2719)1269 0 R(aen2722)1270 0 R(aen2733)1271 0 R(aen2761)1272 0 R(aen2769)1273 0 R(aen277)1274 0 R(aen2778)1275 0 R(aen2786)1276 0 R(aen2793)1277 0 R(aen2829)1278 0 R(aen283)1279 0 R(aen2837)1280 0 R(aen2840)1281 0 R(aen2847)1282 0 R(aen2870)1283 0 R(aen2874)1284 0 R(aen2877)1285 0 R(aen2880)1286 0 R(aen2885)1287 0 R(aen289)1288 0 R(aen2975)1289 0 R(aen2991)1290 0 R(aen3007)1291 0 R(aen3018)1292 0 R(aen3026)1293 0 R(aen3038)1294 0 R(aen3050)1295 0 R(aen3055)1296 0 R(aen3063)1297 0 R(aen3068)1298 0 R(aen3071)1299 0 R(aen3090)1300 0 R(aen3095)1301 0 R(aen31)1302 0 R(aen3103)1303 0 R(aen3112)1304 0 R(aen3117)1305 0 R(aen3152)1306 0 R(aen3171)1307 0 R(aen3189)1308 0 R(aen3199)1309 0 R(aen320)1310 0 R(aen3208)1311 0 R(aen3226)1312 0 R(aen3229)1313 0 R(aen3243)1314 0 R(aen325)1315 0 R(aen3278)1316 0 R(aen328)1317 0 R(aen330)1318 0 R(aen3302)1319 0 R(aen3311)1320 0 R(aen3313)1321 0 R(aen3321)1322 0 R(aen3358)1323 0 R(aen3365)1324 0 R(aen3369)1325 0 R(aen3377)1326 0 R(aen3391)1327 0 R(aen3394)1328 0 R(aen3401)1329 0 R(aen3410)1330 0 R(aen3417)1331 0 R(aen3426)1332 0 R(aen3440)1333 0 R(aen3449)1334 0 R(aen3486)1335 0 R(aen3492)1336 0 R(aen3499)1337 0 R(aen350)1338 0 R(aen3504)1339 0 R(aen3509)1340 0 R(aen3512)1341 0 R(aen3517)1342 0 R(aen3521)1343 0 R(aen3525)1344 0 R(aen3528)1345 0 R(aen3568)1346 0 R(aen3574)1347 0 R(aen3578)1348 0 R(aen36)1349 0 R(aen3607)1350 0 R(aen3613)1351 0 R(aen3615)1352 0 R(aen3633)1353 0 R(aen3642)1354 0 R(aen3644)1355 0 R(aen3659)1356 0 R(aen3668)1357 0 R(aen3672)1358 0 R(aen3682)1359 0 R(aen3684)1360 0 R(aen3689)1361 0 R(aen3694)1362 0 R(aen3698)1363 0 R(aen3703)1364 0 R(aen3706)1365 0 R(aen3722)1366 0 R(aen3749)1367 0 R(aen3751)1368 0 R(aen3756)1369 0 R(aen3759)1370 0 R(aen3764)1371 0 R(aen379)1372 0 R(aen3792)1373 0 R(aen3798)1374 0 R(aen3826)1375 0 R(aen3838)1376 0 R(aen384)1377 0 R(aen3845)1378 0 R(aen3855)1379 0 R(aen3865)1380 0 R(aen3894)1381 0 R(aen3917)1382 0 R(aen3927)1383 0 R(aen3933)1384 0 R(aen3950)1385 0 R(aen396)1386 0 R(aen3960)1387 0 R(aen3963)1388 0 R(aen398)1389 0 R(aen3986)1390 0 R(aen3991)1391 0 R(aen4)1392 0 R(aen4001)1393 0 R(aen4003)1394 0 R(aen4009)1395 0 R(aen4015)1396 0 R(aen4030)1397 0 R(aen4035)1398 0 R(aen4041)1399 0 R(aen4049)1400 0 R(aen4075)1401 0 R(aen4092)1402 0 R(aen4100)1403 0 R(aen4106)1404 0 R(aen4111)1405 0 R(aen415)1406 0 R(aen443)1407 0 R(aen448)1408 0 R(aen468)1409 0 R(aen50)1410 0 R(aen538)1411 0 R(aen546)1412 0 R(aen548)1413 0 R(aen558)1414 0 R(aen575)1415 0 R(aen58)1416 0 R(aen580)1417 0 R(aen588)1418 0 R(aen597)1419 0 R(aen626)1420 0 R(aen633)1421 0 R(aen639)1422 0 R(aen64)1423 0 R(aen642)1424 0 R(aen668)1425 0 R(aen671)1426 0 R(aen681)1427 0 R(aen685)1428 0 R(aen690)1429 0 R(aen716)1430 0 R(aen724)1431 0 R(aen728)1432 0 R(aen73)1433 0 R(aen745)1434 0 R(aen772)1435 0 R(aen777)1436 0 R(aen8)1437 0 R(aen817)1438 0 R(aen859)1439 0 R(aen89)1440 0 R(aen902)1441 0 R(aen943)1442 0 R(aen952)1443 0 R(aen967)1444 0 R(appendixes)1445 0 R(browsing-quick)1446 0 R(bugreport)1447 0 R(compiling)1448 0 R(cups-printing)1449 0 R(diagnosis)1450 0 R(domain-security)1451 0 R(groupmapping)1452 0 R(improved-browsing)1453 0 R(install)1454 0 R(integrate-ms-networks)1455 0 R(introduction)1456 0 R(msdfs)1457 0 R(optional)1458 0 R(other-clients)1459 0 R(pam)1460 0 R(passdb)1461 0 R(policymgmt)1462 0 R(portability)1463 0 R(printing)1464 0 R(profilemgmt)1465 0 R(samba-bdc)1466 0 R(samba-howto-collection)1467 0 R(samba-howto-collection.html)1468 0 R(samba-pdc)1469 0 R(securing-samba)1470 0 R(securitylevels)1471 0 R(servertype)1472 0 R(speed)1473 0 R(type)1474 0 R(unicode)1475 0 R(unix-permissions)1476 0 R(vfs)1477 0 R(winbind)1478 0 R]>>endobj
-1149 0 obj<</D[1604 0 R/XYZ 0 734 0]>>endobj
-1150 0 obj<</D[1606 0 R/XYZ 0 734 0]>>endobj
-1151 0 obj<</D[1506 0 R/XYZ 0 734 0]>>endobj
-1152 0 obj<</D[1780 0 R/XYZ 0 734 0]>>endobj
-1153 0 obj<</D[1508 0 R/XYZ 0 734 0]>>endobj
-1154 0 obj<</D[1550 0 R/XYZ 0 734 0]>>endobj
-1155 0 obj<</D[1552 0 R/XYZ 0 734 0]>>endobj
-1156 0 obj<</D[1596 0 R/XYZ 0 734 0]>>endobj
-1157 0 obj<</D[1612 0 R/XYZ 0 734 0]>>endobj
-1158 0 obj<</D[1580 0 R/XYZ 0 565 0]>>endobj
-1159 0 obj<</D[1514 0 R/XYZ 0 652 0]>>endobj
-1160 0 obj<</D[1514 0 R/XYZ 0 511 0]>>endobj
-1161 0 obj<</D[1514 0 R/XYZ 0 426 0]>>endobj
-1162 0 obj<</D[1584 0 R/XYZ 0 283 0]>>endobj
-1163 0 obj<</D[1586 0 R/XYZ 0 335 0]>>endobj
-1164 0 obj<</D[1590 0 R/XYZ 0 672 0]>>endobj
-1165 0 obj<</D[1590 0 R/XYZ 0 597 0]>>endobj
-1166 0 obj<</D[1590 0 R/XYZ 0 225 0]>>endobj
-1167 0 obj<</D[1592 0 R/XYZ 0 734 0]>>endobj
-1168 0 obj<</D[1592 0 R/XYZ 0 609 0]>>endobj
-1169 0 obj<</D[1592 0 R/XYZ 0 524 0]>>endobj
-1170 0 obj<</D[1592 0 R/XYZ 0 323 0]>>endobj
-1171 0 obj<</D[1594 0 R/XYZ 0 541 0]>>endobj
-1172 0 obj<</D[1594 0 R/XYZ 0 390 0]>>endobj
-1173 0 obj<</D[1596 0 R/XYZ 0 668 0]>>endobj
-1174 0 obj<</D[1596 0 R/XYZ 0 444 0]>>endobj
-1175 0 obj<</D[1596 0 R/XYZ 0 127 0]>>endobj
-1176 0 obj<</D[1598 0 R/XYZ 0 734 0]>>endobj
-1177 0 obj<</D[1598 0 R/XYZ 0 649 0]>>endobj
-1178 0 obj<</D[1598 0 R/XYZ 0 560 0]>>endobj
-1179 0 obj<</D[1598 0 R/XYZ 0 485 0]>>endobj
-1180 0 obj<</D[1518 0 R/XYZ 0 565 0]>>endobj
-1181 0 obj<</D[1600 0 R/XYZ 0 672 0]>>endobj
-1182 0 obj<</D[1602 0 R/XYZ 0 494 0]>>endobj
-1183 0 obj<</D[1604 0 R/XYZ 0 696 0]>>endobj
-1184 0 obj<</D[1612 0 R/XYZ 0 672 0]>>endobj
-1185 0 obj<</D[1520 0 R/XYZ 0 734 0]>>endobj
-1186 0 obj<</D[1614 0 R/XYZ 0 672 0]>>endobj
-1187 0 obj<</D[1614 0 R/XYZ 0 537 0]>>endobj
-1188 0 obj<</D[1614 0 R/XYZ 0 383 0]>>endobj
-1189 0 obj<</D[1616 0 R/XYZ 0 718 0]>>endobj
-1190 0 obj<</D[1616 0 R/XYZ 0 485 0]>>endobj
-1191 0 obj<</D[1616 0 R/XYZ 0 241 0]>>endobj
-1192 0 obj<</D[1618 0 R/XYZ 0 734 0]>>endobj
-1193 0 obj<</D[1520 0 R/XYZ 0 189 0]>>endobj
-1194 0 obj<</D[1618 0 R/XYZ 0 302 0]>>endobj
-1195 0 obj<</D[1620 0 R/XYZ 0 203 0]>>endobj
-1196 0 obj<</D[1626 0 R/XYZ 0 672 0]>>endobj
-1197 0 obj<</D[1522 0 R/XYZ 0 536 0]>>endobj
-1198 0 obj<</D[1630 0 R/XYZ 0 718 0]>>endobj
-1199 0 obj<</D[1630 0 R/XYZ 0 603 0]>>endobj
-1200 0 obj<</D[1522 0 R/XYZ 0 357 0]>>endobj
-1201 0 obj<</D[1632 0 R/XYZ 0 696 0]>>endobj
-1202 0 obj<</D[1632 0 R/XYZ 0 317 0]>>endobj
-1203 0 obj<</D[1632 0 R/XYZ 0 127 0]>>endobj
-1204 0 obj<</D[1636 0 R/XYZ 0 531 0]>>endobj
-1205 0 obj<</D[1638 0 R/XYZ 0 734 0]>>endobj
-1206 0 obj<</D[1524 0 R/XYZ 0 520 0]>>endobj
-1207 0 obj<</D[1638 0 R/XYZ 0 363 0]>>endobj
-1208 0 obj<</D[1640 0 R/XYZ 0 184 0]>>endobj
-1209 0 obj<</D[1642 0 R/XYZ 0 692 0]>>endobj
-1210 0 obj<</D[1642 0 R/XYZ 0 590 0]>>endobj
-1211 0 obj<</D[1642 0 R/XYZ 0 466 0]>>endobj
-1212 0 obj<</D[1642 0 R/XYZ 0 381 0]>>endobj
-1213 0 obj<</D[1642 0 R/XYZ 0 283 0]>>endobj
-1214 0 obj<</D[1524 0 R/XYZ 0 161 0]>>endobj
-1215 0 obj<</D[1644 0 R/XYZ 0 397 0]>>endobj
-1216 0 obj<</D[1644 0 R/XYZ 0 363 0]>>endobj
-1217 0 obj<</D[1646 0 R/XYZ 0 429 0]>>endobj
-1218 0 obj<</D[1648 0 R/XYZ 0 665 0]>>endobj
-1219 0 obj<</D[1648 0 R/XYZ 0 485 0]>>endobj
-1220 0 obj<</D[1650 0 R/XYZ 0 734 0]>>endobj
-1221 0 obj<</D[1650 0 R/XYZ 0 394 0]>>endobj
-1222 0 obj<</D[1652 0 R/XYZ 0 718 0]>>endobj
-1223 0 obj<</D[1652 0 R/XYZ 0 633 0]>>endobj
-1224 0 obj<</D[1652 0 R/XYZ 0 535 0]>>endobj
-1225 0 obj<</D[1654 0 R/XYZ 0 696 0]>>endobj
-1226 0 obj<</D[1654 0 R/XYZ 0 463 0]>>endobj
-1227 0 obj<</D[1658 0 R/XYZ 0 276 0]>>endobj
-1228 0 obj<</D[1670 0 R/XYZ 0 546 0]>>endobj
-1229 0 obj<</D[1670 0 R/XYZ 0 404 0]>>endobj
-1230 0 obj<</D[1506 0 R/XYZ 0 696 0]>>endobj
-1231 0 obj<</D[1674 0 R/XYZ 0 177 0]>>endobj
-1232 0 obj<</D[1682 0 R/XYZ 0 362 0]>>endobj
-1233 0 obj<</D[1684 0 R/XYZ 0 527 0]>>endobj
-1234 0 obj<</D[1688 0 R/XYZ 0 672 0]>>endobj
-1235 0 obj<</D[1688 0 R/XYZ 0 544 0]>>endobj
-1236 0 obj<</D[1688 0 R/XYZ 0 231 0]>>endobj
-1237 0 obj<</D[1690 0 R/XYZ 0 560 0]>>endobj
-1238 0 obj<</D[1690 0 R/XYZ 0 409 0]>>endobj
-1239 0 obj<</D[1690 0 R/XYZ 0 294 0]>>endobj
-1240 0 obj<</D[1692 0 R/XYZ 0 734 0]>>endobj
-1241 0 obj<</D[1692 0 R/XYZ 0 635 0]>>endobj
-1242 0 obj<</D[1692 0 R/XYZ 0 194 0]>>endobj
-1243 0 obj<</D[1694 0 R/XYZ 0 560 0]>>endobj
-1244 0 obj<</D[1694 0 R/XYZ 0 383 0]>>endobj
-1245 0 obj<</D[1694 0 R/XYZ 0 245 0]>>endobj
-1246 0 obj<</D[1694 0 R/XYZ 0 143 0]>>endobj
-1247 0 obj<</D[1696 0 R/XYZ 0 533 0]>>endobj
-1248 0 obj<</D[1696 0 R/XYZ 0 264 0]>>endobj
-1249 0 obj<</D[1528 0 R/XYZ 0 696 0]>>endobj
-1250 0 obj<</D[1696 0 R/XYZ 0 126 0]>>endobj
-1251 0 obj<</D[1698 0 R/XYZ 0 614 0]>>endobj
-1252 0 obj<</D[1698 0 R/XYZ 0 210 0]>>endobj
-1253 0 obj<</D[1700 0 R/XYZ 0 632 0]>>endobj
-1254 0 obj<</D[1528 0 R/XYZ 0 449 0]>>endobj
-1255 0 obj<</D[1700 0 R/XYZ 0 485 0]>>endobj
-1256 0 obj<</D[1702 0 R/XYZ 0 353 0]>>endobj
-1257 0 obj<</D[1702 0 R/XYZ 0 327 0]>>endobj
-1258 0 obj<</D[1704 0 R/XYZ 0 292 0]>>endobj
-1259 0 obj<</D[1706 0 R/XYZ 0 272 0]>>endobj
-1260 0 obj<</D[1706 0 R/XYZ 0 206 0]>>endobj
-1261 0 obj<</D[1510 0 R/XYZ 0 696 0]>>endobj
-1262 0 obj<</D[1708 0 R/XYZ 0 652 0]>>endobj
-1263 0 obj<</D[1710 0 R/XYZ 0 692 0]>>endobj
-1264 0 obj<</D[1712 0 R/XYZ 0 555 0]>>endobj
-1265 0 obj<</D[1712 0 R/XYZ 0 335 0]>>endobj
-1266 0 obj<</D[1714 0 R/XYZ 0 696 0]>>endobj
-1267 0 obj<</D[1714 0 R/XYZ 0 265 0]>>endobj
-1268 0 obj<</D[1716 0 R/XYZ 0 639 0]>>endobj
-1269 0 obj<</D[1716 0 R/XYZ 0 396 0]>>endobj
-1270 0 obj<</D[1716 0 R/XYZ 0 288 0]>>endobj
-1271 0 obj<</D[1718 0 R/XYZ 0 467 0]>>endobj
-1272 0 obj<</D[1720 0 R/XYZ 0 696 0]>>endobj
-1273 0 obj<</D[1720 0 R/XYZ 0 495 0]>>endobj
-1274 0 obj<</D[1530 0 R/XYZ 0 402 0]>>endobj
-1275 0 obj<</D[1720 0 R/XYZ 0 318 0]>>endobj
-1276 0 obj<</D[1722 0 R/XYZ 0 734 0]>>endobj
-1277 0 obj<</D[1722 0 R/XYZ 0 594 0]>>endobj
-1278 0 obj<</D[1724 0 R/XYZ 0 256 0]>>endobj
-1279 0 obj<</D[1530 0 R/XYZ 0 269 0]>>endobj
-1280 0 obj<</D[1726 0 R/XYZ 0 613 0]>>endobj
-1281 0 obj<</D[1726 0 R/XYZ 0 528 0]>>endobj
-1282 0 obj<</D[1726 0 R/XYZ 0 324 0]>>endobj
-1283 0 obj<</D[1728 0 R/XYZ 0 705 0]>>endobj
-1284 0 obj<</D[1728 0 R/XYZ 0 611 0]>>endobj
-1285 0 obj<</D[1728 0 R/XYZ 0 543 0]>>endobj
-1286 0 obj<</D[1728 0 R/XYZ 0 475 0]>>endobj
-1287 0 obj<</D[1728 0 R/XYZ 0 314 0]>>endobj
-1288 0 obj<</D[1530 0 R/XYZ 0 163 0]>>endobj
-1289 0 obj<</D[1732 0 R/XYZ 0 348 0]>>endobj
-1290 0 obj<</D[1732 0 R/XYZ 0 220 0]>>endobj
-1291 0 obj<</D[1734 0 R/XYZ 0 349 0]>>endobj
-1292 0 obj<</D[1734 0 R/XYZ 0 211 0]>>endobj
-1293 0 obj<</D[1736 0 R/XYZ 0 734 0]>>endobj
-1294 0 obj<</D[1736 0 R/XYZ 0 248 0]>>endobj
-1295 0 obj<</D[1738 0 R/XYZ 0 190 0]>>endobj
-1296 0 obj<</D[1740 0 R/XYZ 0 652 0]>>endobj
-1297 0 obj<</D[1742 0 R/XYZ 0 384 0]>>endobj
-1298 0 obj<</D[1742 0 R/XYZ 0 286 0]>>endobj
-1299 0 obj<</D[1742 0 R/XYZ 0 148 0]>>endobj
-1300 0 obj<</D[1746 0 R/XYZ 0 696 0]>>endobj
-1301 0 obj<</D[1746 0 R/XYZ 0 463 0]>>endobj
-1302 0 obj<</D[1510 0 R/XYZ 0 595 0]>>endobj
-1303 0 obj<</D[1748 0 R/XYZ 0 734 0]>>endobj
-1304 0 obj<</D[1748 0 R/XYZ 0 381 0]>>endobj
-1305 0 obj<</D[1750 0 R/XYZ 0 734 0]>>endobj
-1306 0 obj<</D[1754 0 R/XYZ 0 332 0]>>endobj
-1307 0 obj<</D[1756 0 R/XYZ 0 388 0]>>endobj
-1308 0 obj<</D[1758 0 R/XYZ 0 407 0]>>endobj
-1309 0 obj<</D[1760 0 R/XYZ 0 718 0]>>endobj
-1310 0 obj<</D[1532 0 R/XYZ 0 362 0]>>endobj
-1311 0 obj<</D[1760 0 R/XYZ 0 300 0]>>endobj
-1312 0 obj<</D[1762 0 R/XYZ 0 520 0]>>endobj
-1313 0 obj<</D[1762 0 R/XYZ 0 432 0]>>endobj
-1314 0 obj<</D[1764 0 R/XYZ 0 672 0]>>endobj
-1315 0 obj<</D[1532 0 R/XYZ 0 273 0]>>endobj
-1316 0 obj<</D[1766 0 R/XYZ 0 652 0]>>endobj
-1317 0 obj<</D[1532 0 R/XYZ 0 198 0]>>endobj
-1318 0 obj<</D[1532 0 R/XYZ 0 165 0]>>endobj
-1319 0 obj<</D[1768 0 R/XYZ 0 696 0]>>endobj
-1320 0 obj<</D[1768 0 R/XYZ 0 385 0]>>endobj
-1321 0 obj<</D[1768 0 R/XYZ 0 351 0]>>endobj
-1322 0 obj<</D[1768 0 R/XYZ 0 215 0]>>endobj
-1323 0 obj<</D[1770 0 R/XYZ 0 560 0]>>endobj
-1324 0 obj<</D[1770 0 R/XYZ 0 430 0]>>endobj
-1325 0 obj<</D[1770 0 R/XYZ 0 315 0]>>endobj
-1326 0 obj<</D[1772 0 R/XYZ 0 734 0]>>endobj
-1327 0 obj<</D[1774 0 R/XYZ 0 696 0]>>endobj
-1328 0 obj<</D[1774 0 R/XYZ 0 621 0]>>endobj
-1329 0 obj<</D[1774 0 R/XYZ 0 405 0]>>endobj
-1330 0 obj<</D[1774 0 R/XYZ 0 150 0]>>endobj
-1331 0 obj<</D[1776 0 R/XYZ 0 596 0]>>endobj
-1332 0 obj<</D[1776 0 R/XYZ 0 290 0]>>endobj
-1333 0 obj<</D[1778 0 R/XYZ 0 696 0]>>endobj
-1334 0 obj<</D[1778 0 R/XYZ 0 397 0]>>endobj
-1335 0 obj<</D[1784 0 R/XYZ 0 696 0]>>endobj
-1336 0 obj<</D[1784 0 R/XYZ 0 449 0]>>endobj
-1337 0 obj<</D[1784 0 R/XYZ 0 189 0]>>endobj
-1338 0 obj<</D[1534 0 R/XYZ 0 573 0]>>endobj
-1339 0 obj<</D[1786 0 R/XYZ 0 639 0]>>endobj
-1340 0 obj<</D[1786 0 R/XYZ 0 458 0]>>endobj
-1341 0 obj<</D[1786 0 R/XYZ 0 383 0]>>endobj
-1342 0 obj<</D[1786 0 R/XYZ 0 215 0]>>endobj
-1343 0 obj<</D[1788 0 R/XYZ 0 734 0]>>endobj
-1344 0 obj<</D[1788 0 R/XYZ 0 605 0]>>endobj
-1345 0 obj<</D[1788 0 R/XYZ 0 530 0]>>endobj
-1346 0 obj<</D[1792 0 R/XYZ 0 655 0]>>endobj
-1347 0 obj<</D[1792 0 R/XYZ 0 408 0]>>endobj
-1348 0 obj<</D[1792 0 R/XYZ 0 293 0]>>endobj
-1349 0 obj<</D[1510 0 R/XYZ 0 506 0]>>endobj
-1350 0 obj<</D[1794 0 R/XYZ 0 228 0]>>endobj
-1351 0 obj<</D[1796 0 R/XYZ 0 734 0]>>endobj
-1352 0 obj<</D[1796 0 R/XYZ 0 700 0]>>endobj
-1353 0 obj<</D[1798 0 R/XYZ 0 668 0]>>endobj
-1354 0 obj<</D[1798 0 R/XYZ 0 461 0]>>endobj
-1355 0 obj<</D[1798 0 R/XYZ 0 427 0]>>endobj
-1356 0 obj<</D[1800 0 R/XYZ 0 734 0]>>endobj
-1357 0 obj<</D[1800 0 R/XYZ 0 523 0]>>endobj
-1358 0 obj<</D[1800 0 R/XYZ 0 408 0]>>endobj
-1359 0 obj<</D[1800 0 R/XYZ 0 151 0]>>endobj
-1360 0 obj<</D[1800 0 R/XYZ 0 118 0]>>endobj
-1361 0 obj<</D[1802 0 R/XYZ 0 626 0]>>endobj
-1362 0 obj<</D[1802 0 R/XYZ 0 475 0]>>endobj
-1363 0 obj<</D[1802 0 R/XYZ 0 377 0]>>endobj
-1364 0 obj<</D[1802 0 R/XYZ 0 292 0]>>endobj
-1365 0 obj<</D[1802 0 R/XYZ 0 207 0]>>endobj
-1366 0 obj<</D[1804 0 R/XYZ 0 626 0]>>endobj
-1367 0 obj<</D[1806 0 R/XYZ 0 655 0]>>endobj
-1368 0 obj<</D[1806 0 R/XYZ 0 621 0]>>endobj
-1369 0 obj<</D[1806 0 R/XYZ 0 510 0]>>endobj
-1370 0 obj<</D[1806 0 R/XYZ 0 425 0]>>endobj
-1371 0 obj<</D[1806 0 R/XYZ 0 317 0]>>endobj
-1372 0 obj<</D[1536 0 R/XYZ 0 734 0]>>endobj
-1373 0 obj<</D[1808 0 R/XYZ 0 494 0]>>endobj
-1374 0 obj<</D[1808 0 R/XYZ 0 353 0]>>endobj
-1375 0 obj<</D[1810 0 R/XYZ 0 613 0]>>endobj
-1376 0 obj<</D[1810 0 R/XYZ 0 345 0]>>endobj
-1377 0 obj<</D[1536 0 R/XYZ 0 622 0]>>endobj
-1378 0 obj<</D[1810 0 R/XYZ 0 244 0]>>endobj
-1379 0 obj<</D[1812 0 R/XYZ 0 734 0]>>endobj
-1380 0 obj<</D[1812 0 R/XYZ 0 579 0]>>endobj
-1381 0 obj<</D[1814 0 R/XYZ 0 734 0]>>endobj
-1382 0 obj<</D[1816 0 R/XYZ 0 696 0]>>endobj
-1383 0 obj<</D[1816 0 R/XYZ 0 423 0]>>endobj
-1384 0 obj<</D[1816 0 R/XYZ 0 282 0]>>endobj
-1385 0 obj<</D[1818 0 R/XYZ 0 613 0]>>endobj
-1386 0 obj<</D[1536 0 R/XYZ 0 251 0]>>endobj
-1387 0 obj<</D[1818 0 R/XYZ 0 260 0]>>endobj
-1388 0 obj<</D[1818 0 R/XYZ 0 159 0]>>endobj
-1389 0 obj<</D[1536 0 R/XYZ 0 221 0]>>endobj
-1390 0 obj<</D[1820 0 R/XYZ 0 696 0]>>endobj
-1391 0 obj<</D[1820 0 R/XYZ 0 529 0]>>endobj
-1392 0 obj<</D[1496 0 R/XYZ 0 696 0]>>endobj
-1393 0 obj<</D[1820 0 R/XYZ 0 199 0]>>endobj
-1394 0 obj<</D[1820 0 R/XYZ 0 165 0]>>endobj
-1395 0 obj<</D[1822 0 R/XYZ 0 734 0]>>endobj
-1396 0 obj<</D[1822 0 R/XYZ 0 530 0]>>endobj
-1397 0 obj<</D[1824 0 R/XYZ 0 626 0]>>endobj
-1398 0 obj<</D[1824 0 R/XYZ 0 475 0]>>endobj
-1399 0 obj<</D[1824 0 R/XYZ 0 351 0]>>endobj
-1400 0 obj<</D[1826 0 R/XYZ 0 734 0]>>endobj
-1401 0 obj<</D[1826 0 R/XYZ 0 371 0]>>endobj
-1402 0 obj<</D[1828 0 R/XYZ 0 705 0]>>endobj
-1403 0 obj<</D[1828 0 R/XYZ 0 515 0]>>endobj
-1404 0 obj<</D[1828 0 R/XYZ 0 377 0]>>endobj
-1405 0 obj<</D[1828 0 R/XYZ 0 239 0]>>endobj
-1406 0 obj<</D[1538 0 R/XYZ 0 339 0]>>endobj
-1407 0 obj<</D[1540 0 R/XYZ 0 438 0]>>endobj
-1408 0 obj<</D[1540 0 R/XYZ 0 247 0]>>endobj
-1409 0 obj<</D[1542 0 R/XYZ 0 543 0]>>endobj
-1410 0 obj<</D[1510 0 R/XYZ 0 161 0]>>endobj
-1411 0 obj<</D[1544 0 R/XYZ 0 533 0]>>endobj
-1412 0 obj<</D[1546 0 R/XYZ 0 708 0]>>endobj
-1413 0 obj<</D[1546 0 R/XYZ 0 674 0]>>endobj
-1414 0 obj<</D[1546 0 R/XYZ 0 576 0]>>endobj
-1415 0 obj<</D[1548 0 R/XYZ 0 514 0]>>endobj
-1416 0 obj<</D[1512 0 R/XYZ 0 705 0]>>endobj
-1417 0 obj<</D[1548 0 R/XYZ 0 364 0]>>endobj
-1418 0 obj<</D[1548 0 R/XYZ 0 226 0]>>endobj
-1419 0 obj<</D[1550 0 R/XYZ 0 696 0]>>endobj
-1420 0 obj<</D[1556 0 R/XYZ 0 523 0]>>endobj
-1421 0 obj<</D[1556 0 R/XYZ 0 197 0]>>endobj
-1422 0 obj<</D[1558 0 R/XYZ 0 626 0]>>endobj
-1423 0 obj<</D[1512 0 R/XYZ 0 528 0]>>endobj
-1424 0 obj<</D[1558 0 R/XYZ 0 537 0]>>endobj
-1425 0 obj<</D[1560 0 R/XYZ 0 668 0]>>endobj
-1426 0 obj<</D[1560 0 R/XYZ 0 553 0]>>endobj
-1427 0 obj<</D[1560 0 R/XYZ 0 310 0]>>endobj
-1428 0 obj<</D[1562 0 R/XYZ 0 734 0]>>endobj
-1429 0 obj<</D[1562 0 R/XYZ 0 437 0]>>endobj
-1430 0 obj<</D[1564 0 R/XYZ 0 459 0]>>endobj
-1431 0 obj<</D[1564 0 R/XYZ 0 213 0]>>endobj
-1432 0 obj<</D[1564 0 R/XYZ 0 129 0]>>endobj
-1433 0 obj<</D[1512 0 R/XYZ 0 360 0]>>endobj
-1434 0 obj<</D[1566 0 R/XYZ 0 448 0]>>endobj
-1435 0 obj<</D[1568 0 R/XYZ 0 672 0]>>endobj
-1436 0 obj<</D[1568 0 R/XYZ 0 584 0]>>endobj
-1437 0 obj<</D[1498 0 R/XYZ 0 734 0]>>endobj
-1438 0 obj<</D[1570 0 R/XYZ 0 692 0]>>endobj
-1439 0 obj<</D[1572 0 R/XYZ 0 626 0]>>endobj
-1440 0 obj<</D[1512 0 R/XYZ 0 193 0]>>endobj
-1441 0 obj<</D[1574 0 R/XYZ 0 613 0]>>endobj
-1442 0 obj<</D[1576 0 R/XYZ 0 718 0]>>endobj
-1443 0 obj<</D[1576 0 R/XYZ 0 509 0]>>endobj
-1444 0 obj<</D[1576 0 R/XYZ 0 160 0]>>endobj
-1445 0 obj<</D[1778 0 R/XYZ 0 178 0]>>endobj
-1446 0 obj<</D[1518 0 R/XYZ 0 734 0]>>endobj
-1447 0 obj<</D[1816 0 R/XYZ 0 734 0]>>endobj
-1448 0 obj<</D[1806 0 R/XYZ 0 734 0]>>endobj
-1449 0 obj<</D[1654 0 R/XYZ 0 734 0]>>endobj
-1450 0 obj<</D[1820 0 R/XYZ 0 734 0]>>endobj
-1451 0 obj<</D[1600 0 R/XYZ 0 734 0]>>endobj
-1452 0 obj<</D[1624 0 R/XYZ 0 734 0]>>endobj
-1453 0 obj<</D[1746 0 R/XYZ 0 734 0]>>endobj
-1454 0 obj<</D[1510 0 R/XYZ 0 734 0]>>endobj
-1455 0 obj<</D[1732 0 R/XYZ 0 734 0]>>endobj
-1456 0 obj<</D[1504 0 R/XYZ 0 271 0]>>endobj
-1457 0 obj<</D[1764 0 R/XYZ 0 734 0]>>endobj
-1458 0 obj<</D[1602 0 R/XYZ 0 61 0]>>endobj
-1459 0 obj<</D[1798 0 R/XYZ 0 734 0]>>endobj
-1460 0 obj<</D[1626 0 R/XYZ 0 734 0]>>endobj
-1461 0 obj<</D[1528 0 R/XYZ 0 734 0]>>endobj
-1462 0 obj<</D[1714 0 R/XYZ 0 734 0]>>endobj
-1463 0 obj<</D[1792 0 R/XYZ 0 734 0]>>endobj
-1464 0 obj<</D[1632 0 R/XYZ 0 734 0]>>endobj
-1465 0 obj<</D[1720 0 R/XYZ 0 734 0]>>endobj
-1466 0 obj<</D[1590 0 R/XYZ 0 734 0]>>endobj
-1467 0 obj<</D[1496 0 R/XYZ 0 734 0]>>endobj
-1468 0 obj<</D[1496 0 R/XYZ 0 734 0]>>endobj
-1469 0 obj<</D[1568 0 R/XYZ 0 734 0]>>endobj
-1470 0 obj<</D[1774 0 R/XYZ 0 734 0]>>endobj
-1471 0 obj<</D[1560 0 R/XYZ 0 734 0]>>endobj
-1472 0 obj<</D[1556 0 R/XYZ 0 734 0]>>endobj
-1473 0 obj<</D[1784 0 R/XYZ 0 734 0]>>endobj
-1474 0 obj<</D[1548 0 R/XYZ 0 87 0]>>endobj
-1475 0 obj<</D[1778 0 R/XYZ 0 734 0]>>endobj
-1476 0 obj<</D[1614 0 R/XYZ 0 734 0]>>endobj
-1477 0 obj<</D[1768 0 R/XYZ 0 734 0]>>endobj
-1478 0 obj<</D[1688 0 R/XYZ 0 734 0]>>endobj
-1479 0 obj<</Type/Pages/Count 175/Kids[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
-1670 0 R
-1672 0 R
-1674 0 R
-1676 0 R
-1678 0 R
-1680 0 R
-1682 0 R
-1684 0 R
-1686 0 R
-1688 0 R
-1690 0 R
-1692 0 R
-1694 0 R
-1696 0 R
-1698 0 R
-1700 0 R
-1702 0 R
-1704 0 R
-1706 0 R
-1708 0 R
-1710 0 R
-1712 0 R
-1714 0 R
-1716 0 R
-1718 0 R
-1720 0 R
-1722 0 R
-1724 0 R
-1726 0 R
-1728 0 R
-1730 0 R
-1732 0 R
-1734 0 R
-1736 0 R
-1738 0 R
-1740 0 R
-1742 0 R
-1744 0 R
-1746 0 R
-1748 0 R
-1750 0 R
-1752 0 R
-1754 0 R
-1756 0 R
-1758 0 R
-1760 0 R
-1762 0 R
-1764 0 R
-1766 0 R
-1768 0 R
-1770 0 R
-1772 0 R
-1774 0 R
-1776 0 R
-1778 0 R
-1780 0 R
-1782 0 R
-1784 0 R
-1786 0 R
-1788 0 R
-1790 0 R
-1792 0 R
-1794 0 R
-1796 0 R
-1798 0 R
-1800 0 R
-1802 0 R
-1804 0 R
-1806 0 R
-1808 0 R
-1810 0 R
-1812 0 R
-1814 0 R
-1816 0 R
-1818 0 R
-1820 0 R
-1822 0 R
-1824 0 R
-1826 0 R
-1828 0 R
+1090 0 R
+1091 0 R]endobj
+1093 0 obj<</S/URI/URI(http://www.thursby.com/)>>endobj
+1094 0 obj<</Subtype/Link/Rect[91.9 621.8 131.3 634.8]/Border[0 0 0]/A 1093 0 R>>endobj
+1095 0 obj<</S/URI/URI(http://www.umich.edu/~rsug/netatalk/)>>endobj
+1096 0 obj<</Subtype/Link/Rect[72.0 503.0 109.3 516.0]/Border[0 0 0]/A 1095 0 R>>endobj
+1097 0 obj<</S/URI/URI(http://www.cs.mu.oz.au/appletalk/atalk.html)>>endobj
+1098 0 obj<</Subtype/Link/Rect[130.7 503.0 154.8 516.0]/Border[0 0 0]/A 1097 0 R>>endobj
+1099 0 obj<</S/URI/URI(http://www.eats.com/linux_mac_win.html)>>endobj
+1100 0 obj<</Subtype/Link/Rect[72.0 476.6 258.1 489.6]/Border[0 0 0]/A 1099 0 R>>endobj
+1101 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/warp.html)>>endobj
+1102 0 obj<</Subtype/Link/Rect[325.6 367.8 544.5 380.8]/Border[0 0 0]/A 1101 0 R>>endobj
+1103 0 obj[1094 0 R
+1096 0 R
+1098 0 R
+1100 0 R
+1102 0 R]endobj
+1104 0 obj<</S/URI/URI(ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/)>>endobj
+1105 0 obj<</Subtype/Link/Rect[72.0 661.0 319.2 674.0]/Border[0 0 0]/A 1104 0 R>>endobj
+1106 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/lanman.html)>>endobj
+1107 0 obj<</Subtype/Link/Rect[340.6 661.0 538.7 674.0]/Border[0 0 0]/A 1106 0 R>>endobj
+1108 0 obj<</S/URI/URI(ftp://ftp.cdrom.com/pub/os2/network/ndis/)>>endobj
+1109 0 obj<</Subtype/Link/Rect[173.1 538.6 363.5 551.6]/Border[0 0 0]/A 1108 0 R>>endobj
+1110 0 obj<</S/URI/URI(http://carol.wins.uva.nl/~leeuw/samba/fix.html)>>endobj
+1111 0 obj<</Subtype/Link/Rect[220.2 450.2 429.3 463.2]/Border[0 0 0]/A 1110 0 R>>endobj
+1112 0 obj[1105 0 R
+1107 0 R
+1109 0 R
+1111 0 R]endobj
+1113 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+1114 0 obj<</Subtype/Link/Rect[218.7 321.4 274.9 334.4]/Border[0 0 0]/A 1113 0 R>>endobj
+1115 0 obj[1114 0 R]endobj
+1116 0 obj<</S/Launch/F(smb.conf.5.html)>>endobj
+1117 0 obj<</Subtype/Link/Rect[493.6 487.4 549.8 500.4]/Border[0 0 0]/A 1116 0 R>>endobj
+1118 0 obj[1117 0 R]endobj
+1119 0 obj<</S/URI/URI(http://samba.org/)>>endobj
+1120 0 obj<</Subtype/Link/Rect[258.0 683.8 325.3 696.8]/Border[0 0 0]/A 1119 0 R>>endobj
+1121 0 obj<</S/URI/URI(http://samba.org/samba/cvs.html)>>endobj
+1122 0 obj<</Subtype/Link/Rect[343.3 525.8 489.7 538.8]/Border[0 0 0]/A 1121 0 R>>endobj
+1123 0 obj<</S/URI/URI(http://samba.org/cgi-bin/cvsweb)>>endobj
+1124 0 obj<</Subtype/Link/Rect[135.9 333.4 283.2 346.4]/Border[0 0 0]/A 1123 0 R>>endobj
+1125 0 obj<</S/URI/URI(http://www.cyclic.com/)>>endobj
+1126 0 obj<</Subtype/Link/Rect[391.6 225.8 498.2 238.8]/Border[0 0 0]/A 1125 0 R>>endobj
+1127 0 obj[1120 0 R
+1122 0 R
+1124 0 R
+1126 0 R]endobj
+1128 0 obj<</S/URI/URI(ftp://pserver.samba.org/pub/unpacked)>>endobj
+1129 0 obj<</Subtype/Link/Rect[72.0 434.6 238.8 447.6]/Border[0 0 0]/A 1128 0 R>>endobj
+1130 0 obj<</S/URI/URI(http://rsync.samba.org/)>>endobj
+1131 0 obj<</Subtype/Link/Rect[452.6 421.4 543.4 434.4]/Border[0 0 0]/A 1130 0 R>>endobj
+1132 0 obj[1129 0 R
+1131 0 R]endobj
+1133 0 obj<</S/Launch/F(samba@samba.org)>>endobj
+1134 0 obj<</Subtype/Link/Rect[311.8 650.2 398.3 663.2]/Border[0 0 0]/A 1133 0 R>>endobj
+1135 0 obj<</S/URI/URI(mailto:samba-technical@samba.org)>>endobj
+1136 0 obj<</Subtype/Link/Rect[126.4 637.0 258.8 650.0]/Border[0 0 0]/A 1135 0 R>>endobj
+1137 0 obj<</S/URI/URI(http://samba.org/samba/)>>endobj
+1138 0 obj<</Subtype/Link/Rect[161.5 439.0 270.3 452.0]/Border[0 0 0]/A 1137 0 R>>endobj
+1139 0 obj<</S/Launch/F(Diagnosis.html)>>endobj
+1140 0 obj<</Subtype/Link/Rect[185.0 337.4 229.3 350.4]/Border[0 0 0]/A 1139 0 R>>endobj
+1141 0 obj[1134 0 R
+1136 0 R
+1138 0 R
+1140 0 R]endobj
+1142 0 obj<</S/URI/URI(mailto:samba@samba.org)>>endobj
+1143 0 obj<</Subtype/Link/Rect[164.2 180.2 250.8 193.2]/Border[0 0 0]/A 1142 0 R>>endobj
+1144 0 obj<</S/URI/URI(http://samba.org/samba)>>endobj
+1145 0 obj<</Subtype/Link/Rect[233.0 167.0 338.7 180.0]/Border[0 0 0]/A 1144 0 R>>endobj
+1146 0 obj[1143 0 R
+1145 0 R]endobj
+1147 0 obj<</Dests 1148 0 R>>endobj
+1148 0 obj<</Kids[1149 0 R]>>endobj
+1149 0 obj<</Limits[(16)(winbind)]/Names[(16)1150 0 R(17)1151 0 R(3)1152 0 R(32)1153 0 R(4)1154 0 R(8)1155 0 R(9)1156 0 R(ads)1157 0 R(aen103)1158 0 R(aen108)1159 0 R(aen1104)1160 0 R(aen111)1161 0 R(aen1130)1162 0 R(aen1149)1163 0 R(aen1157)1164 0 R(aen1165)1165 0 R(aen1173)1166 0 R(aen1180)1167 0 R(aen1216)1168 0 R(aen1229)1169 0 R(aen1232)1170 0 R(aen1242)1171 0 R(aen1278)1172 0 R(aen1282)1173 0 R(aen1290)1174 0 R(aen1293)1175 0 R(aen1296)1176 0 R(aen1299)1177 0 R(aen130)1178 0 R(aen1304)1179 0 R(aen1321)1180 0 R(aen1325)1181 0 R(aen1343)1182 0 R(aen1350)1183 0 R(aen1360)1184 0 R(aen1375)1185 0 R(aen1385)1186 0 R(aen1389)1187 0 R(aen139)1188 0 R(aen1397)1189 0 R(aen1402)1190 0 R(aen1405)1191 0 R(aen1427)1192 0 R(aen1482)1193 0 R(aen1485)1194 0 R(aen1503)1195 0 R(aen1517)1196 0 R(aen153)1197 0 R(aen1539)1198 0 R(aen1555)1199 0 R(aen1571)1200 0 R(aen158)1201 0 R(aen1582)1202 0 R(aen1590)1203 0 R(aen1602)1204 0 R(aen1614)1205 0 R(aen1619)1206 0 R(aen1627)1207 0 R(aen1632)1208 0 R(aen1635)1209 0 R(aen1647)1210 0 R(aen1657)1211 0 R(aen1685)1212 0 R(aen169)1213 0 R(aen1693)1214 0 R(aen1710)1215 0 R(aen1717)1216 0 R(aen1722)1217 0 R(aen1727)1218 0 R(aen1748)1219 0 R(aen1752)1220 0 R(aen1763)1221 0 R(aen177)1222 0 R(aen1783)1223 0 R(aen1798)1224 0 R(aen1812)1225 0 R(aen1819)1226 0 R(aen1841)1227 0 R(aen1905)1228 0 R(aen1926)1229 0 R(aen1970)1230 0 R(aen1977)1231 0 R(aen1997)1232 0 R(aen2032)1233 0 R(aen2058)1234 0 R(aen2080)1235 0 R(aen2088)1236 0 R(aen21)1237 0 R(aen2123)1238 0 R(aen2139)1239 0 R(aen2150)1240 0 R(aen2180)1241 0 R(aen2188)1242 0 R(aen2192)1243 0 R(aen2202)1244 0 R(aen2205)1245 0 R(aen2209)1246 0 R(aen2231)1247 0 R(aen2233)1248 0 R(aen2249)1249 0 R(aen2258)1250 0 R(aen2266)1251 0 R(aen2294)1252 0 R(aen2305)1253 0 R(aen2317)1254 0 R(aen2320)1255 0 R(aen2323)1256 0 R(aen234)1257 0 R(aen2343)1258 0 R(aen2348)1259 0 R(aen2403)1260 0 R(aen241)1261 0 R(aen2442)1262 0 R(aen2449)1263 0 R(aen2519)1264 0 R(aen26)1265 0 R(aen2608)1266 0 R(aen2623)1267 0 R(aen267)1268 0 R(aen2685)1269 0 R(aen2689)1270 0 R(aen2702)1271 0 R(aen2709)1272 0 R(aen2713)1273 0 R(aen2718)1274 0 R(aen2722)1275 0 R(aen2725)1276 0 R(aen273)1277 0 R(aen2741)1278 0 R(aen2749)1279 0 R(aen2753)1280 0 R(aen2756)1281 0 R(aen2761)1282 0 R(aen2774)1283 0 R(aen2788)1284 0 R(aen279)1285 0 R(aen2799)1286 0 R(aen2818)1287 0 R(aen2851)1288 0 R(aen2867)1289 0 R(aen2878)1290 0 R(aen2918)1291 0 R(aen2920)1292 0 R(aen2940)1293 0 R(aen2950)1294 0 R(aen2956)1295 0 R(aen2973)1296 0 R(aen3006)1297 0 R(aen3013)1298 0 R(aen3023)1299 0 R(aen3033)1300 0 R(aen3038)1301 0 R(aen3046)1302 0 R(aen3055)1303 0 R(aen3060)1304 0 R(aen3095)1305 0 R(aen31)1306 0 R(aen310)1307 0 R(aen3114)1308 0 R(aen3132)1309 0 R(aen3142)1310 0 R(aen315)1311 0 R(aen3151)1312 0 R(aen3169)1313 0 R(aen3172)1314 0 R(aen318)1315 0 R(aen3190)1316 0 R(aen3199)1317 0 R(aen320)1318 0 R(aen3201)1319 0 R(aen3209)1320 0 R(aen3246)1321 0 R(aen3253)1322 0 R(aen3257)1323 0 R(aen3265)1324 0 R(aen3320)1325 0 R(aen3326)1326 0 R(aen3333)1327 0 R(aen3338)1328 0 R(aen3343)1329 0 R(aen3346)1330 0 R(aen3351)1331 0 R(aen3355)1332 0 R(aen3359)1333 0 R(aen3362)1334 0 R(aen340)1335 0 R(aen3410)1336 0 R(aen3420)1337 0 R(aen3443)1338 0 R(aen3447)1339 0 R(aen3450)1340 0 R(aen3453)1341 0 R(aen3458)1342 0 R(aen3539)1343 0 R(aen3542)1344 0 R(aen3549)1345 0 R(aen3558)1346 0 R(aen3565)1347 0 R(aen3574)1348 0 R(aen3588)1349 0 R(aen3597)1350 0 R(aen36)1351 0 R(aen3626)1352 0 R(aen3632)1353 0 R(aen3636)1354 0 R(aen3665)1355 0 R(aen3671)1356 0 R(aen3673)1357 0 R(aen369)1358 0 R(aen3691)1359 0 R(aen3700)1360 0 R(aen3702)1361 0 R(aen3717)1362 0 R(aen3726)1363 0 R(aen3730)1364 0 R(aen374)1365 0 R(aen3740)1366 0 R(aen3742)1367 0 R(aen3747)1368 0 R(aen3752)1369 0 R(aen3756)1370 0 R(aen3761)1371 0 R(aen3764)1372 0 R(aen3780)1373 0 R(aen3807)1374 0 R(aen3809)1375 0 R(aen3814)1376 0 R(aen3817)1377 0 R(aen3822)1378 0 R(aen3850)1379 0 R(aen3856)1380 0 R(aen386)1381 0 R(aen388)1382 0 R(aen3884)1383 0 R(aen3894)1384 0 R(aen3923)1385 0 R(aen3946)1386 0 R(aen3956)1387 0 R(aen3962)1388 0 R(aen3979)1389 0 R(aen3989)1390 0 R(aen3992)1391 0 R(aen4)1392 0 R(aen4015)1393 0 R(aen4020)1394 0 R(aen4030)1395 0 R(aen4032)1396 0 R(aen4038)1397 0 R(aen4044)1398 0 R(aen405)1399 0 R(aen4059)1400 0 R(aen4064)1401 0 R(aen4070)1402 0 R(aen4078)1403 0 R(aen4104)1404 0 R(aen4121)1405 0 R(aen4129)1406 0 R(aen4135)1407 0 R(aen4140)1408 0 R(aen433)1409 0 R(aen438)1410 0 R(aen458)1411 0 R(aen50)1412 0 R(aen528)1413 0 R(aen536)1414 0 R(aen538)1415 0 R(aen544)1416 0 R(aen554)1417 0 R(aen571)1418 0 R(aen576)1419 0 R(aen58)1420 0 R(aen584)1421 0 R(aen586)1422 0 R(aen592)1423 0 R(aen600)1424 0 R(aen629)1425 0 R(aen635)1426 0 R(aen64)1427 0 R(aen641)1428 0 R(aen644)1429 0 R(aen705)1430 0 R(aen710)1431 0 R(aen73)1432 0 R(aen748)1433 0 R(aen790)1434 0 R(aen8)1435 0 R(aen833)1436 0 R(aen874)1437 0 R(aen883)1438 0 R(aen89)1439 0 R(aen898)1440 0 R(aen946)1441 0 R(aen990)1442 0 R(appendixes)1443 0 R(browsing-quick)1444 0 R(bugreport)1445 0 R(compiling)1446 0 R(cups-printing)1447 0 R(diagnosis)1448 0 R(domain-security)1449 0 R(groupmapping)1450 0 R(groupprofiles)1451 0 R(improved-browsing)1452 0 R(install)1453 0 R(integrate-ms-networks)1454 0 R(introduction)1455 0 R(msdfs)1456 0 R(optional)1457 0 R(other-clients)1458 0 R(pam)1459 0 R(passdb)1460 0 R(portability)1461 0 R(printing)1462 0 R(samba-bdc)1463 0 R(samba-howto-collection)1464 0 R(samba-howto-collection.html)1465 0 R(samba-pdc)1466 0 R(securing-samba)1467 0 R(securitylevels)1468 0 R(servertype)1469 0 R(speed)1470 0 R(type)1471 0 R(unicode)1472 0 R(unix-permissions)1473 0 R(vfs)1474 0 R(winbind)1475 0 R]>>endobj
+1150 0 obj<</D[1615 0 R/XYZ 0 734 0]>>endobj
+1151 0 obj<</D[1617 0 R/XYZ 0 734 0]>>endobj
+1152 0 obj<</D[1503 0 R/XYZ 0 734 0]>>endobj
+1153 0 obj<</D[1791 0 R/XYZ 0 734 0]>>endobj
+1154 0 obj<</D[1505 0 R/XYZ 0 734 0]>>endobj
+1155 0 obj<</D[1549 0 R/XYZ 0 734 0]>>endobj
+1156 0 obj<</D[1551 0 R/XYZ 0 734 0]>>endobj
+1157 0 obj<</D[1603 0 R/XYZ 0 734 0]>>endobj
+1158 0 obj<</D[1513 0 R/XYZ 0 652 0]>>endobj
+1159 0 obj<</D[1513 0 R/XYZ 0 511 0]>>endobj
+1160 0 obj<</D[1581 0 R/XYZ 0 283 0]>>endobj
+1161 0 obj<</D[1513 0 R/XYZ 0 426 0]>>endobj
+1162 0 obj<</D[1583 0 R/XYZ 0 283 0]>>endobj
+1163 0 obj<</D[1585 0 R/XYZ 0 504 0]>>endobj
+1164 0 obj<</D[1585 0 R/XYZ 0 307 0]>>endobj
+1165 0 obj<</D[1585 0 R/XYZ 0 133 0]>>endobj
+1166 0 obj<</D[1587 0 R/XYZ 0 575 0]>>endobj
+1167 0 obj<</D[1587 0 R/XYZ 0 439 0]>>endobj
+1168 0 obj<</D[1591 0 R/XYZ 0 734 0]>>endobj
+1169 0 obj<</D[1591 0 R/XYZ 0 171 0]>>endobj
+1170 0 obj<</D[1593 0 R/XYZ 0 734 0]>>endobj
+1171 0 obj<</D[1593 0 R/XYZ 0 415 0]>>endobj
+1172 0 obj<</D[1597 0 R/XYZ 0 672 0]>>endobj
+1173 0 obj<</D[1597 0 R/XYZ 0 597 0]>>endobj
+1174 0 obj<</D[1597 0 R/XYZ 0 225 0]>>endobj
+1175 0 obj<</D[1599 0 R/XYZ 0 734 0]>>endobj
+1176 0 obj<</D[1599 0 R/XYZ 0 609 0]>>endobj
+1177 0 obj<</D[1599 0 R/XYZ 0 524 0]>>endobj
+1178 0 obj<</D[1517 0 R/XYZ 0 565 0]>>endobj
+1179 0 obj<</D[1599 0 R/XYZ 0 323 0]>>endobj
+1180 0 obj<</D[1601 0 R/XYZ 0 541 0]>>endobj
+1181 0 obj<</D[1601 0 R/XYZ 0 390 0]>>endobj
+1182 0 obj<</D[1603 0 R/XYZ 0 551 0]>>endobj
+1183 0 obj<</D[1603 0 R/XYZ 0 444 0]>>endobj
+1184 0 obj<</D[1603 0 R/XYZ 0 267 0]>>endobj
+1185 0 obj<</D[1605 0 R/XYZ 0 580 0]>>endobj
+1186 0 obj<</D[1605 0 R/XYZ 0 264 0]>>endobj
+1187 0 obj<</D[1605 0 R/XYZ 0 202 0]>>endobj
+1188 0 obj<</D[1519 0 R/XYZ 0 734 0]>>endobj
+1189 0 obj<</D[1607 0 R/XYZ 0 734 0]>>endobj
+1190 0 obj<</D[1607 0 R/XYZ 0 645 0]>>endobj
+1191 0 obj<</D[1607 0 R/XYZ 0 570 0]>>endobj
+1192 0 obj<</D[1609 0 R/XYZ 0 672 0]>>endobj
+1193 0 obj<</D[1611 0 R/XYZ 0 494 0]>>endobj
+1194 0 obj<</D[1611 0 R/XYZ 0 405 0]>>endobj
+1195 0 obj<</D[1615 0 R/XYZ 0 696 0]>>endobj
+1196 0 obj<</D[1623 0 R/XYZ 0 672 0]>>endobj
+1197 0 obj<</D[1519 0 R/XYZ 0 412 0]>>endobj
+1198 0 obj<</D[1623 0 R/XYZ 0 439 0]>>endobj
+1199 0 obj<</D[1623 0 R/XYZ 0 311 0]>>endobj
+1200 0 obj<</D[1625 0 R/XYZ 0 441 0]>>endobj
+1201 0 obj<</D[1519 0 R/XYZ 0 234 0]>>endobj
+1202 0 obj<</D[1625 0 R/XYZ 0 303 0]>>endobj
+1203 0 obj<</D[1625 0 R/XYZ 0 157 0]>>endobj
+1204 0 obj<</D[1627 0 R/XYZ 0 339 0]>>endobj
+1205 0 obj<</D[1629 0 R/XYZ 0 266 0]>>endobj
+1206 0 obj<</D[1631 0 R/XYZ 0 734 0]>>endobj
+1207 0 obj<</D[1633 0 R/XYZ 0 459 0]>>endobj
+1208 0 obj<</D[1633 0 R/XYZ 0 361 0]>>endobj
+1209 0 obj<</D[1633 0 R/XYZ 0 224 0]>>endobj
+1210 0 obj<</D[1635 0 R/XYZ 0 670 0]>>endobj
+1211 0 obj<</D[1635 0 R/XYZ 0 126 0]>>endobj
+1212 0 obj<</D[1639 0 R/XYZ 0 734 0]>>endobj
+1213 0 obj<</D[1521 0 R/XYZ 0 388 0]>>endobj
+1214 0 obj<</D[1639 0 R/XYZ 0 484 0]>>endobj
+1215 0 obj<</D[1639 0 R/XYZ 0 132 0]>>endobj
+1216 0 obj<</D[1641 0 R/XYZ 0 523 0]>>endobj
+1217 0 obj<</D[1641 0 R/XYZ 0 377 0]>>endobj
+1218 0 obj<</D[1641 0 R/XYZ 0 263 0]>>endobj
+1219 0 obj<</D[1643 0 R/XYZ 0 672 0]>>endobj
+1220 0 obj<</D[1643 0 R/XYZ 0 537 0]>>endobj
+1221 0 obj<</D[1643 0 R/XYZ 0 369 0]>>endobj
+1222 0 obj<</D[1523 0 R/XYZ 0 705 0]>>endobj
+1223 0 obj<</D[1645 0 R/XYZ 0 705 0]>>endobj
+1224 0 obj<</D[1645 0 R/XYZ 0 471 0]>>endobj
+1225 0 obj<</D[1645 0 R/XYZ 0 228 0]>>endobj
+1226 0 obj<</D[1647 0 R/XYZ 0 718 0]>>endobj
+1227 0 obj<</D[1647 0 R/XYZ 0 287 0]>>endobj
+1228 0 obj<</D[1651 0 R/XYZ 0 652 0]>>endobj
+1229 0 obj<</D[1653 0 R/XYZ 0 672 0]>>endobj
+1230 0 obj<</D[1655 0 R/XYZ 0 148 0]>>endobj
+1231 0 obj<</D[1657 0 R/XYZ 0 705 0]>>endobj
+1232 0 obj<</D[1659 0 R/XYZ 0 672 0]>>endobj
+1233 0 obj<</D[1661 0 R/XYZ 0 652 0]>>endobj
+1234 0 obj<</D[1663 0 R/XYZ 0 696 0]>>endobj
+1235 0 obj<</D[1663 0 R/XYZ 0 317 0]>>endobj
+1236 0 obj<</D[1663 0 R/XYZ 0 127 0]>>endobj
+1237 0 obj<</D[1503 0 R/XYZ 0 696 0]>>endobj
+1238 0 obj<</D[1667 0 R/XYZ 0 531 0]>>endobj
+1239 0 obj<</D[1669 0 R/XYZ 0 734 0]>>endobj
+1240 0 obj<</D[1669 0 R/XYZ 0 363 0]>>endobj
+1241 0 obj<</D[1671 0 R/XYZ 0 184 0]>>endobj
+1242 0 obj<</D[1673 0 R/XYZ 0 692 0]>>endobj
+1243 0 obj<</D[1673 0 R/XYZ 0 590 0]>>endobj
+1244 0 obj<</D[1673 0 R/XYZ 0 466 0]>>endobj
+1245 0 obj<</D[1673 0 R/XYZ 0 381 0]>>endobj
+1246 0 obj<</D[1673 0 R/XYZ 0 283 0]>>endobj
+1247 0 obj<</D[1675 0 R/XYZ 0 397 0]>>endobj
+1248 0 obj<</D[1675 0 R/XYZ 0 363 0]>>endobj
+1249 0 obj<</D[1677 0 R/XYZ 0 429 0]>>endobj
+1250 0 obj<</D[1679 0 R/XYZ 0 665 0]>>endobj
+1251 0 obj<</D[1679 0 R/XYZ 0 485 0]>>endobj
+1252 0 obj<</D[1681 0 R/XYZ 0 734 0]>>endobj
+1253 0 obj<</D[1681 0 R/XYZ 0 394 0]>>endobj
+1254 0 obj<</D[1683 0 R/XYZ 0 718 0]>>endobj
+1255 0 obj<</D[1683 0 R/XYZ 0 633 0]>>endobj
+1256 0 obj<</D[1683 0 R/XYZ 0 535 0]>>endobj
+1257 0 obj<</D[1525 0 R/XYZ 0 696 0]>>endobj
+1258 0 obj<</D[1685 0 R/XYZ 0 696 0]>>endobj
+1259 0 obj<</D[1685 0 R/XYZ 0 463 0]>>endobj
+1260 0 obj<</D[1689 0 R/XYZ 0 276 0]>>endobj
+1261 0 obj<</D[1525 0 R/XYZ 0 449 0]>>endobj
+1262 0 obj<</D[1701 0 R/XYZ 0 546 0]>>endobj
+1263 0 obj<</D[1701 0 R/XYZ 0 404 0]>>endobj
+1264 0 obj<</D[1705 0 R/XYZ 0 177 0]>>endobj
+1265 0 obj<</D[1509 0 R/XYZ 0 696 0]>>endobj
+1266 0 obj<</D[1713 0 R/XYZ 0 362 0]>>endobj
+1267 0 obj<</D[1715 0 R/XYZ 0 527 0]>>endobj
+1268 0 obj<</D[1527 0 R/XYZ 0 402 0]>>endobj
+1269 0 obj<</D[1719 0 R/XYZ 0 672 0]>>endobj
+1270 0 obj<</D[1719 0 R/XYZ 0 544 0]>>endobj
+1271 0 obj<</D[1719 0 R/XYZ 0 231 0]>>endobj
+1272 0 obj<</D[1721 0 R/XYZ 0 560 0]>>endobj
+1273 0 obj<</D[1721 0 R/XYZ 0 409 0]>>endobj
+1274 0 obj<</D[1721 0 R/XYZ 0 294 0]>>endobj
+1275 0 obj<</D[1723 0 R/XYZ 0 734 0]>>endobj
+1276 0 obj<</D[1723 0 R/XYZ 0 635 0]>>endobj
+1277 0 obj<</D[1527 0 R/XYZ 0 269 0]>>endobj
+1278 0 obj<</D[1723 0 R/XYZ 0 194 0]>>endobj
+1279 0 obj<</D[1725 0 R/XYZ 0 560 0]>>endobj
+1280 0 obj<</D[1725 0 R/XYZ 0 383 0]>>endobj
+1281 0 obj<</D[1725 0 R/XYZ 0 245 0]>>endobj
+1282 0 obj<</D[1725 0 R/XYZ 0 143 0]>>endobj
+1283 0 obj<</D[1727 0 R/XYZ 0 533 0]>>endobj
+1284 0 obj<</D[1727 0 R/XYZ 0 264 0]>>endobj
+1285 0 obj<</D[1527 0 R/XYZ 0 163 0]>>endobj
+1286 0 obj<</D[1727 0 R/XYZ 0 126 0]>>endobj
+1287 0 obj<</D[1729 0 R/XYZ 0 614 0]>>endobj
+1288 0 obj<</D[1729 0 R/XYZ 0 210 0]>>endobj
+1289 0 obj<</D[1731 0 R/XYZ 0 632 0]>>endobj
+1290 0 obj<</D[1731 0 R/XYZ 0 485 0]>>endobj
+1291 0 obj<</D[1733 0 R/XYZ 0 353 0]>>endobj
+1292 0 obj<</D[1733 0 R/XYZ 0 327 0]>>endobj
+1293 0 obj<</D[1735 0 R/XYZ 0 292 0]>>endobj
+1294 0 obj<</D[1737 0 R/XYZ 0 272 0]>>endobj
+1295 0 obj<</D[1737 0 R/XYZ 0 206 0]>>endobj
+1296 0 obj<</D[1739 0 R/XYZ 0 652 0]>>endobj
+1297 0 obj<</D[1741 0 R/XYZ 0 692 0]>>endobj
+1298 0 obj<</D[1743 0 R/XYZ 0 555 0]>>endobj
+1299 0 obj<</D[1743 0 R/XYZ 0 335 0]>>endobj
+1300 0 obj<</D[1745 0 R/XYZ 0 696 0]>>endobj
+1301 0 obj<</D[1745 0 R/XYZ 0 463 0]>>endobj
+1302 0 obj<</D[1747 0 R/XYZ 0 734 0]>>endobj
+1303 0 obj<</D[1747 0 R/XYZ 0 381 0]>>endobj
+1304 0 obj<</D[1749 0 R/XYZ 0 734 0]>>endobj
+1305 0 obj<</D[1753 0 R/XYZ 0 332 0]>>endobj
+1306 0 obj<</D[1509 0 R/XYZ 0 595 0]>>endobj
+1307 0 obj<</D[1529 0 R/XYZ 0 362 0]>>endobj
+1308 0 obj<</D[1755 0 R/XYZ 0 388 0]>>endobj
+1309 0 obj<</D[1757 0 R/XYZ 0 407 0]>>endobj
+1310 0 obj<</D[1759 0 R/XYZ 0 718 0]>>endobj
+1311 0 obj<</D[1529 0 R/XYZ 0 273 0]>>endobj
+1312 0 obj<</D[1759 0 R/XYZ 0 300 0]>>endobj
+1313 0 obj<</D[1761 0 R/XYZ 0 520 0]>>endobj
+1314 0 obj<</D[1761 0 R/XYZ 0 432 0]>>endobj
+1315 0 obj<</D[1529 0 R/XYZ 0 198 0]>>endobj
+1316 0 obj<</D[1763 0 R/XYZ 0 696 0]>>endobj
+1317 0 obj<</D[1763 0 R/XYZ 0 385 0]>>endobj
+1318 0 obj<</D[1529 0 R/XYZ 0 165 0]>>endobj
+1319 0 obj<</D[1763 0 R/XYZ 0 351 0]>>endobj
+1320 0 obj<</D[1763 0 R/XYZ 0 215 0]>>endobj
+1321 0 obj<</D[1765 0 R/XYZ 0 560 0]>>endobj
+1322 0 obj<</D[1765 0 R/XYZ 0 430 0]>>endobj
+1323 0 obj<</D[1765 0 R/XYZ 0 315 0]>>endobj
+1324 0 obj<</D[1767 0 R/XYZ 0 734 0]>>endobj
+1325 0 obj<</D[1771 0 R/XYZ 0 696 0]>>endobj
+1326 0 obj<</D[1771 0 R/XYZ 0 449 0]>>endobj
+1327 0 obj<</D[1771 0 R/XYZ 0 189 0]>>endobj
+1328 0 obj<</D[1773 0 R/XYZ 0 639 0]>>endobj
+1329 0 obj<</D[1773 0 R/XYZ 0 458 0]>>endobj
+1330 0 obj<</D[1773 0 R/XYZ 0 383 0]>>endobj
+1331 0 obj<</D[1773 0 R/XYZ 0 215 0]>>endobj
+1332 0 obj<</D[1775 0 R/XYZ 0 734 0]>>endobj
+1333 0 obj<</D[1775 0 R/XYZ 0 605 0]>>endobj
+1334 0 obj<</D[1775 0 R/XYZ 0 530 0]>>endobj
+1335 0 obj<</D[1531 0 R/XYZ 0 573 0]>>endobj
+1336 0 obj<</D[1779 0 R/XYZ 0 696 0]>>endobj
+1337 0 obj<</D[1779 0 R/XYZ 0 423 0]>>endobj
+1338 0 obj<</D[1781 0 R/XYZ 0 734 0]>>endobj
+1339 0 obj<</D[1781 0 R/XYZ 0 635 0]>>endobj
+1340 0 obj<</D[1781 0 R/XYZ 0 564 0]>>endobj
+1341 0 obj<</D[1781 0 R/XYZ 0 492 0]>>endobj
+1342 0 obj<</D[1781 0 R/XYZ 0 328 0]>>endobj
+1343 0 obj<</D[1785 0 R/XYZ 0 696 0]>>endobj
+1344 0 obj<</D[1785 0 R/XYZ 0 621 0]>>endobj
+1345 0 obj<</D[1785 0 R/XYZ 0 405 0]>>endobj
+1346 0 obj<</D[1785 0 R/XYZ 0 150 0]>>endobj
+1347 0 obj<</D[1787 0 R/XYZ 0 596 0]>>endobj
+1348 0 obj<</D[1787 0 R/XYZ 0 290 0]>>endobj
+1349 0 obj<</D[1789 0 R/XYZ 0 696 0]>>endobj
+1350 0 obj<</D[1789 0 R/XYZ 0 397 0]>>endobj
+1351 0 obj<</D[1509 0 R/XYZ 0 506 0]>>endobj
+1352 0 obj<</D[1795 0 R/XYZ 0 655 0]>>endobj
+1353 0 obj<</D[1795 0 R/XYZ 0 408 0]>>endobj
+1354 0 obj<</D[1795 0 R/XYZ 0 293 0]>>endobj
+1355 0 obj<</D[1797 0 R/XYZ 0 228 0]>>endobj
+1356 0 obj<</D[1799 0 R/XYZ 0 734 0]>>endobj
+1357 0 obj<</D[1799 0 R/XYZ 0 700 0]>>endobj
+1358 0 obj<</D[1533 0 R/XYZ 0 734 0]>>endobj
+1359 0 obj<</D[1801 0 R/XYZ 0 668 0]>>endobj
+1360 0 obj<</D[1801 0 R/XYZ 0 461 0]>>endobj
+1361 0 obj<</D[1801 0 R/XYZ 0 427 0]>>endobj
+1362 0 obj<</D[1803 0 R/XYZ 0 734 0]>>endobj
+1363 0 obj<</D[1803 0 R/XYZ 0 523 0]>>endobj
+1364 0 obj<</D[1803 0 R/XYZ 0 408 0]>>endobj
+1365 0 obj<</D[1533 0 R/XYZ 0 622 0]>>endobj
+1366 0 obj<</D[1803 0 R/XYZ 0 151 0]>>endobj
+1367 0 obj<</D[1803 0 R/XYZ 0 118 0]>>endobj
+1368 0 obj<</D[1805 0 R/XYZ 0 626 0]>>endobj
+1369 0 obj<</D[1805 0 R/XYZ 0 475 0]>>endobj
+1370 0 obj<</D[1805 0 R/XYZ 0 377 0]>>endobj
+1371 0 obj<</D[1805 0 R/XYZ 0 292 0]>>endobj
+1372 0 obj<</D[1805 0 R/XYZ 0 207 0]>>endobj
+1373 0 obj<</D[1807 0 R/XYZ 0 626 0]>>endobj
+1374 0 obj<</D[1809 0 R/XYZ 0 655 0]>>endobj
+1375 0 obj<</D[1809 0 R/XYZ 0 621 0]>>endobj
+1376 0 obj<</D[1809 0 R/XYZ 0 510 0]>>endobj
+1377 0 obj<</D[1809 0 R/XYZ 0 425 0]>>endobj
+1378 0 obj<</D[1809 0 R/XYZ 0 317 0]>>endobj
+1379 0 obj<</D[1811 0 R/XYZ 0 494 0]>>endobj
+1380 0 obj<</D[1811 0 R/XYZ 0 353 0]>>endobj
+1381 0 obj<</D[1533 0 R/XYZ 0 251 0]>>endobj
+1382 0 obj<</D[1533 0 R/XYZ 0 221 0]>>endobj
+1383 0 obj<</D[1813 0 R/XYZ 0 613 0]>>endobj
+1384 0 obj<</D[1813 0 R/XYZ 0 458 0]>>endobj
+1385 0 obj<</D[1815 0 R/XYZ 0 639 0]>>endobj
+1386 0 obj<</D[1817 0 R/XYZ 0 696 0]>>endobj
+1387 0 obj<</D[1817 0 R/XYZ 0 423 0]>>endobj
+1388 0 obj<</D[1817 0 R/XYZ 0 282 0]>>endobj
+1389 0 obj<</D[1819 0 R/XYZ 0 613 0]>>endobj
+1390 0 obj<</D[1819 0 R/XYZ 0 260 0]>>endobj
+1391 0 obj<</D[1819 0 R/XYZ 0 159 0]>>endobj
+1392 0 obj<</D[1493 0 R/XYZ 0 696 0]>>endobj
+1393 0 obj<</D[1821 0 R/XYZ 0 696 0]>>endobj
+1394 0 obj<</D[1821 0 R/XYZ 0 529 0]>>endobj
+1395 0 obj<</D[1821 0 R/XYZ 0 199 0]>>endobj
+1396 0 obj<</D[1821 0 R/XYZ 0 165 0]>>endobj
+1397 0 obj<</D[1823 0 R/XYZ 0 734 0]>>endobj
+1398 0 obj<</D[1823 0 R/XYZ 0 530 0]>>endobj
+1399 0 obj<</D[1535 0 R/XYZ 0 339 0]>>endobj
+1400 0 obj<</D[1825 0 R/XYZ 0 626 0]>>endobj
+1401 0 obj<</D[1825 0 R/XYZ 0 475 0]>>endobj
+1402 0 obj<</D[1825 0 R/XYZ 0 351 0]>>endobj
+1403 0 obj<</D[1827 0 R/XYZ 0 734 0]>>endobj
+1404 0 obj<</D[1827 0 R/XYZ 0 371 0]>>endobj
+1405 0 obj<</D[1829 0 R/XYZ 0 705 0]>>endobj
+1406 0 obj<</D[1829 0 R/XYZ 0 515 0]>>endobj
+1407 0 obj<</D[1829 0 R/XYZ 0 377 0]>>endobj
+1408 0 obj<</D[1829 0 R/XYZ 0 239 0]>>endobj
+1409 0 obj<</D[1537 0 R/XYZ 0 438 0]>>endobj
+1410 0 obj<</D[1537 0 R/XYZ 0 247 0]>>endobj
+1411 0 obj<</D[1539 0 R/XYZ 0 543 0]>>endobj
+1412 0 obj<</D[1509 0 R/XYZ 0 161 0]>>endobj
+1413 0 obj<</D[1541 0 R/XYZ 0 533 0]>>endobj
+1414 0 obj<</D[1543 0 R/XYZ 0 708 0]>>endobj
+1415 0 obj<</D[1543 0 R/XYZ 0 674 0]>>endobj
+1416 0 obj<</D[1543 0 R/XYZ 0 576 0]>>endobj
+1417 0 obj<</D[1543 0 R/XYZ 0 478 0]>>endobj
+1418 0 obj<</D[1545 0 R/XYZ 0 417 0]>>endobj
+1419 0 obj<</D[1545 0 R/XYZ 0 266 0]>>endobj
+1420 0 obj<</D[1511 0 R/XYZ 0 705 0]>>endobj
+1421 0 obj<</D[1545 0 R/XYZ 0 129 0]>>endobj
+1422 0 obj<</D[1547 0 R/XYZ 0 734 0]>>endobj
+1423 0 obj<</D[1547 0 R/XYZ 0 649 0]>>endobj
+1424 0 obj<</D[1549 0 R/XYZ 0 696 0]>>endobj
+1425 0 obj<</D[1555 0 R/XYZ 0 523 0]>>endobj
+1426 0 obj<</D[1555 0 R/XYZ 0 249 0]>>endobj
+1427 0 obj<</D[1511 0 R/XYZ 0 528 0]>>endobj
+1428 0 obj<</D[1557 0 R/XYZ 0 679 0]>>endobj
+1429 0 obj<</D[1557 0 R/XYZ 0 590 0]>>endobj
+1430 0 obj<</D[1563 0 R/XYZ 0 672 0]>>endobj
+1431 0 obj<</D[1563 0 R/XYZ 0 584 0]>>endobj
+1432 0 obj<</D[1511 0 R/XYZ 0 360 0]>>endobj
+1433 0 obj<</D[1565 0 R/XYZ 0 734 0]>>endobj
+1434 0 obj<</D[1567 0 R/XYZ 0 665 0]>>endobj
+1435 0 obj<</D[1495 0 R/XYZ 0 734 0]>>endobj
+1436 0 obj<</D[1569 0 R/XYZ 0 665 0]>>endobj
+1437 0 obj<</D[1571 0 R/XYZ 0 734 0]>>endobj
+1438 0 obj<</D[1571 0 R/XYZ 0 524 0]>>endobj
+1439 0 obj<</D[1511 0 R/XYZ 0 193 0]>>endobj
+1440 0 obj<</D[1571 0 R/XYZ 0 175 0]>>endobj
+1441 0 obj<</D[1575 0 R/XYZ 0 565 0]>>endobj
+1442 0 obj<</D[1577 0 R/XYZ 0 560 0]>>endobj
+1443 0 obj<</D[1789 0 R/XYZ 0 178 0]>>endobj
+1444 0 obj<</D[1517 0 R/XYZ 0 734 0]>>endobj
+1445 0 obj<</D[1817 0 R/XYZ 0 734 0]>>endobj
+1446 0 obj<</D[1809 0 R/XYZ 0 734 0]>>endobj
+1447 0 obj<</D[1685 0 R/XYZ 0 734 0]>>endobj
+1448 0 obj<</D[1821 0 R/XYZ 0 734 0]>>endobj
+1449 0 obj<</D[1609 0 R/XYZ 0 734 0]>>endobj
+1450 0 obj<</D[1769 0 R/XYZ 0 734 0]>>endobj
+1451 0 obj<</D[1779 0 R/XYZ 0 734 0]>>endobj
+1452 0 obj<</D[1745 0 R/XYZ 0 734 0]>>endobj
+1453 0 obj<</D[1509 0 R/XYZ 0 734 0]>>endobj
+1454 0 obj<</D[1623 0 R/XYZ 0 734 0]>>endobj
+1455 0 obj<</D[1501 0 R/XYZ 0 205 0]>>endobj
+1456 0 obj<</D[1659 0 R/XYZ 0 734 0]>>endobj
+1457 0 obj<</D[1613 0 R/XYZ 0 641 0]>>endobj
+1458 0 obj<</D[1801 0 R/XYZ 0 734 0]>>endobj
+1459 0 obj<</D[1653 0 R/XYZ 0 734 0]>>endobj
+1460 0 obj<</D[1525 0 R/XYZ 0 734 0]>>endobj
+1461 0 obj<</D[1795 0 R/XYZ 0 734 0]>>endobj
+1462 0 obj<</D[1663 0 R/XYZ 0 734 0]>>endobj
+1463 0 obj<</D[1597 0 R/XYZ 0 734 0]>>endobj
+1464 0 obj<</D[1493 0 R/XYZ 0 734 0]>>endobj
+1465 0 obj<</D[1493 0 R/XYZ 0 734 0]>>endobj
+1466 0 obj<</D[1563 0 R/XYZ 0 734 0]>>endobj
+1467 0 obj<</D[1785 0 R/XYZ 0 734 0]>>endobj
+1468 0 obj<</D[1559 0 R/XYZ 0 734 0]>>endobj
+1469 0 obj<</D[1555 0 R/XYZ 0 734 0]>>endobj
+1470 0 obj<</D[1771 0 R/XYZ 0 734 0]>>endobj
+1471 0 obj<</D[1547 0 R/XYZ 0 539 0]>>endobj
+1472 0 obj<</D[1789 0 R/XYZ 0 734 0]>>endobj
+1473 0 obj<</D[1643 0 R/XYZ 0 734 0]>>endobj
+1474 0 obj<</D[1763 0 R/XYZ 0 734 0]>>endobj
+1475 0 obj<</D[1719 0 R/XYZ 0 734 0]>>endobj
+1476 0 obj<</Type/Pages/Count 177/Kids[1477 0 R
+1479 0 R
+1481 0 R
+1483 0 R
+1485 0 R
+1487 0 R
+1489 0 R
+1491 0 R
+1493 0 R
+1495 0 R
+1497 0 R
+1499 0 R
+1501 0 R
+1503 0 R
+1505 0 R
+1507 0 R
+1509 0 R
+1511 0 R
+1513 0 R
+1515 0 R
+1517 0 R
+1519 0 R
+1521 0 R
+1523 0 R
+1525 0 R
+1527 0 R
+1529 0 R
+1531 0 R
+1533 0 R
+1535 0 R
+1537 0 R
+1539 0 R
+1541 0 R
+1543 0 R
+1545 0 R
+1547 0 R
+1549 0 R
+1551 0 R
+1553 0 R
+1555 0 R
+1557 0 R
+1559 0 R
+1561 0 R
+1563 0 R
+1565 0 R
+1567 0 R
+1569 0 R
+1571 0 R
+1573 0 R
+1575 0 R
+1577 0 R
+1579 0 R
+1581 0 R
+1583 0 R
+1585 0 R
+1587 0 R
+1589 0 R
+1591 0 R
+1593 0 R
+1595 0 R
+1597 0 R
+1599 0 R
+1601 0 R
+1603 0 R
+1605 0 R
+1607 0 R
+1609 0 R
+1611 0 R
+1613 0 R
+1615 0 R
+1617 0 R
+1619 0 R
+1621 0 R
+1623 0 R
+1625 0 R
+1627 0 R
+1629 0 R
+1631 0 R
+1633 0 R
+1635 0 R
+1637 0 R
+1639 0 R
+1641 0 R
+1643 0 R
+1645 0 R
+1647 0 R
+1649 0 R
+1651 0 R
+1653 0 R
+1655 0 R
+1657 0 R
+1659 0 R
+1661 0 R
+1663 0 R
+1665 0 R
+1667 0 R
+1669 0 R
+1671 0 R
+1673 0 R
+1675 0 R
+1677 0 R
+1679 0 R
+1681 0 R
+1683 0 R
+1685 0 R
+1687 0 R
+1689 0 R
+1691 0 R
+1693 0 R
+1695 0 R
+1697 0 R
+1699 0 R
+1701 0 R
+1703 0 R
+1705 0 R
+1707 0 R
+1709 0 R
+1711 0 R
+1713 0 R
+1715 0 R
+1717 0 R
+1719 0 R
+1721 0 R
+1723 0 R
+1725 0 R
+1727 0 R
+1729 0 R
+1731 0 R
+1733 0 R
+1735 0 R
+1737 0 R
+1739 0 R
+1741 0 R
+1743 0 R
+1745 0 R
+1747 0 R
+1749 0 R
+1751 0 R
+1753 0 R
+1755 0 R
+1757 0 R
+1759 0 R
+1761 0 R
+1763 0 R
+1765 0 R
+1767 0 R
+1769 0 R
+1771 0 R
+1773 0 R
+1775 0 R
+1777 0 R
+1779 0 R
+1781 0 R
+1783 0 R
+1785 0 R
+1787 0 R
+1789 0 R
+1791 0 R
+1793 0 R
+1795 0 R
+1797 0 R
+1799 0 R
+1801 0 R
+1803 0 R
+1805 0 R
+1807 0 R
+1809 0 R
+1811 0 R
+1813 0 R
+1815 0 R
+1817 0 R
+1819 0 R
+1821 0 R
+1823 0 R
+1825 0 R
+1827 0 R
+1829 0 R
 ]>>endobj
-1480 0 obj<</Type/Page/Parent 1479 0 R/Contents 1481 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1481 0 obj<</Filter/FlateDecode/Length 94        >>stream
+1477 0 obj<</Type/Page/Parent 1476 0 R/Contents 1478 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1478 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
-1482 0 obj<</Type/Page/Parent 1479 0 R/Contents 1483 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 59 0 R>>endobj
-1483 0 obj<</Filter/FlateDecode/Length 3966      >>stream
-x\ 1Í[Ûr\eG\ e}÷WLåe\93ª\15=÷ËÓ\96lÙYU%vbqK/y¡(ÊbLr´¼Äößç\0è\ 60$\9d²\13ÉVRåâ\99\r Ñh4zôÿ'Y\92âÿ,iò¤¨\93éòI:JñDÿyó#=Iê²Ã¿Ë¤èFM\0\8bäâ\89\83ˤ©\a\9c\83Ë$«²Qå\eÖÔiQ\8dZtÚT£,\0êÔA4LóQçH\16&íF%Ú\95)Q\f¨\1dQU[°\9c\8dþæ\1e\15¡Q\ 3)å5¢\1c¤Á¨µ\91ÜcU\8fj\fVu\18¬b \83\15é(\17£dIÅ\80(\18%B4K\15\10ç ô.©Kmçà2ik\98Æ8\a!fÖÁ\98Fz\f\16f\81\12Ú­Ç`k²§c\1d^&yZ\8d
\164MUFÖ\84*9\8dÊ\80U1¸Lº\8eÚ)\a\98\f\8f\92\1e\93@\19ìëX\87Áv9¦ÚX\11\bÓD~#\ 210\81\ 2\97Á- º\92\1e£[Ì\11DR¶*ñrÙ¥<ÓM\8bÞ\ 5\ e¢aV ¡\91\1eS·4Û\8eu\18lSÀ\80\8eu\18,F÷=\8bHMÃ\9e.200\91\ 2\97e9<ºT\92MTÖ%»&\9bH\80\9a(rMFÂò\8bÜ©AH\93f\18ØH\8fÁb.kÏ:\f\16k
-\ 6Ô\8e=\16=\vÏBï\88É\ 1y&´­Ç`ó\9ald¬Ã`yq\1a+\86@àQç-\19\98!\ 2'\86PÎA\88\9bç0¤5ô\98T-iJµ©Ç`ë\94fÆX\87Ár¨r¬ÃP&£Øb¬(S\90e\83ã\97\fL\99À\89ôÊ9¨Ê(\19\94    -³²¦\990Öa´­Øó\8du\98\94a\7f1ÖaR\86çMY\8fiÞòÁ¸\1e\83í\86={\8cý\b\1e\0\9e=\ 6[U´®\8du\18¬¬*c\1d¦Í\85b\9fkË0/e3 ØW2°    \b\Cáß8\a\11Õ).\1aç L\8eï\94&'b°Ø\80}S\8fÅüX\18&\10¯¢\8c,\87m\86ã\19\ 3\ 6Ñ0mi\9d+é1\89D\91ßX\8eIE×B\92Э\0í6rYFï\18I;R\ 1W$çåíQ\0µs0ì\96Æñn\19ÛÁ£êР   µs\10\82B\ 1\8cÇ#\10é1X\ 4¤8>³\ e\83íJ¸\9fkë0Ü/¥uh¬Ç`ó\ e:9Öa°-[A¥ò\18v@öS¹¶\1e\83­i¹Yϼþ\8bª5÷\13@úp\90\8f\1cå0è\96ß$R\1a\96\15»\82¼ÉÀ\1a\ 6\ eù\1aì«\9c\83ä\b\14¤\8dô\18,\ 22ì«M=\ 6ÛÒþäX\87ɾl}më1ج\1a´õ\18\ e¤ò\18,4ÀÜXÏ\ e\83íÈ"\8eu\18ÖGÏ\98umë1ypFsc¬Ã\b\1cð}L\80²\1e\83Ån0è\99ÂJQÐ&\13âº\0\9b\9eÀ5\94\b\19ç Â
\90_¤v\ eÂüp`\88£¤Ç`KVÅX\87Áb)øA=&óSÆ`=\8b§!7Õý¶``ª\ 4NdWÎÁ¨\8ar¢Jh\17DWÒcUÅXQ%¶E\14\84\a\eë0TI\e2\92²\1e\83EÜÃ\9c)+\8a"UÖ½¸``\8a\ 6N4SÎÁ¨¨r¢hh\97ÁíaY%yÀ\1c©0\1fDh[\10 \ 3F®n±\\8cs\10):-Rã\1c\84í\10?}§\1e\83Åø­kê1X\84\9aA[\87Á"/Í|[\87ÁB'/°Ç°;ÜÒ·õ\98ܯÂ*4\85<\ 6\8b\98ä¥ò\18+\98\ f\8dÖÖc°Hm¼Tb~lä´\9br\bÍ\19\98ù\ 3\87=   c*ç \19\91V\9a\91\1e\83EjX8\96\1cb\8437¬À\80\r3r¼C\1aç \1f/1kÚ\ eÇË\bI\1a:B\19é1X,\8eÁ\90\14¤r\f¬\ e\f\108:eÕáM\96\95\e"G3Çe`\r\ 3\87\9c\ 2í\94s\10Òp\16b¤Ç`«\86,§M=\ 6ÛQQÂXÎ`r\1câ41\12@\ 2q\9e\1492H\89ý\87þ%Òct\vßàÆ:\f\16\80u\18\9e\99Ó´Z[\11\89Ó\8c\90TI\8ea"\ 5.\88ÀÈ\89\14Y\11ÁX\871hF!Ì:ö\98\16\v/CmË\ e\9fµîØ/\80Feÿ\8f\1cG4ã\1c\84\15r
-\90FzL6¢­ÅX\19\12'bu1:.·l{\192p\88\1f\1dZGÎA\848\8a5ÆI\9fXYê}´Ìj×gàÐIÎKP8i\87$Q×;e\90â\a"Kà\10´Q;3\8ea!'oö¦\8c\81Τ@(\8fÔ\ fJ(É.\90årR\95\86\f¬aàBC%¥!6/²\9a4d`\r\ 3\97a}4È\ 5èM"=\86<\bÙ0\80±\ e\83í(\155\96\aÅöAVå1ù·\ e\19\98\f\826\1d±©\83¢\7fê8\98#@\19Í·Ãà\ 1ÂO\91,ÖÖÎAZV)tÓñ\1c\ 4\87czé8\83äût^³v\ 6±\11 \b89Yq\ 4u\8d\1dü[\15\ f\fÍQ\91(å \94Ã\8e\9c:Π)N[\80µ3HÊe\98>åX\10´Õc\18ÿVA\ 2\93q QÊA\f\86ä\b\85\82ÝÁ 8N\94\8d3\bA \kíX\10>T\aWàß*H`ä4¨\94\83\18\f\8b\r\85Nr\0\16Ä \ 6Ãt£J\179\1e\f\82ª¯óo\1d,0\99\14Nè5îРiÍ\95\f\82C\12\8fã¶r\ 6I\10
-,Ê9\b\ eÛ½kÇBærLãÅÁ¿UÈÀÐù û\1d½ÆB\1a\8cB\1aÇBÆvp\ 1lgÚΠ)À\e¡r\ 6£%µ\9d\18\99#\96b?\8aí\9e\8d\9f<}\89D%MÆ7\b\fÈæQ·oÊd|Í·\ 2x<ý~<¹ZÌ\92þ&yÞ¯¶³ÕvóÃøw´ª\90GR«\93Ðì$§fß_\9cþüì\94Þ@\92Ðätá\80\87É/ëþ÷ÙtËÏQ\1d*»ðü¬\9fî\96ès²\9d÷+b)o)\84\1c}\9bÿ2Q\ fÛUP\ féy\ 5-\v¬\9e\10æ\82\1eãÙdIí\10xÛ¶ü¦ò\1fZ-hd\13\96æÉ   $åù:½Úl×\93058PT\8fLøCuøINÖ>)X`Õå|Ä.4Jóè_?ÎV³õdA\8fqQR\17aj\92ùj³\9d,\16êvXÈEÑ<2ÕkÖ\11wb6[ç«íº¿ÞMãr©ÚG&óþt5¬\ 3ÄÔIz~;¹ÛÎÖô\9c\ e7\b8\12"2\9e<,:\81ÿíßÓ+(rF\97L¶==ÁáµËB\88HÎe\1e¹3dµi|>Y]sëtT¶yèq<Ûp\0B¥Õ:Ðp\ 5÷øª+·%ù\9e¾´0SãªÒÅ\19T[Ä 5¢\8f\98äõÕv2_ÍWo©)Êõj\98 -JQ\a\1e\1eßÆ\19W\8d³\99,¯&l\1e\94\83£)÷'îÁ0+\8eM£´\98\8a"Ù¾®Øknæowë ?.{*]Ô^~Ýb\1eLÞÏèXTÂ\8dÎp\ 2QÏ`µ¼\ f¿¸\9eo\83NH®p²\fs»½\9dÑ\8c \8dFU$<Û,¯FSØ\81§\e\89qÜX\92\9bù"¾­Vù\f1ïç\950\7fø~@÷D\9a?\99A¯êÅåé\98DG)äQm*\1d   u\82D#\1f,·bß\ 5Çë\8f<%~U-æ\e\9d>\\15Ô1Z\1d\9d¾ÛÉzÆÉ\12ÝÎ\17qK\9aü1\99/(¥âiE\9d\10\92\0!ÏÐuý±ßq\9c\1cD¬Ílý\87\84O\?¤U\90à~æÖõ"VÂÁÊOsù96\82Ë®\90ëÅ\95\8bsn\16v©äý|{KjC¡"\8d\ f\8fÙn·\9a\7f8xqº\98#UäÇõ(F\ 3\ 3ý\14KP¡aè0Õ?4Æͺ\97\9c±\1c¡8\10Ö<ÇeÜ·ë\83³×\17ÿf\95©f-ûÀåÍå[~\86\bR\16Ñ\ 5/ç«î\83>.c\10ÁãWcyìw[<Îß\1d¾ýúâiÎOqB°ìv¶\9d¶,\ 5*1ytX7\1f¸¸\89\93ü\17³ \96,pØ\1c¬¼zß\90\97·\938ÍU\13G;ç8\88\ 3\8fÆ·p2Ya\b\8fêPgýê_±}\133\82Ë~ýî?¤\ 2ÊÌUèó/D½g*Kiè\13*f\ e÷\bÄ{1¬Ës.¦ý\1dG\a,ps\84ó3Ö\14\9b|Q\7f\8f\99\842à¾J\87{ÁOýô]Üö\1eM\9a-
\93,]@Â5ãÙèS©jÈVâÊûu7\9f¾c×BµHÓÍçë~Ã36\98Å\8bÝÕjÆÎ\89ÅÛèþñlÝ¿ß\ 4\ 3¡\ 4 3\9c<¥~Q\85Qç>Þ-y÷Ûu¿»ã×\9d\8b$\9fìùín~-^\ 6\9fÌ¿ð\1c\91ñùË¥¯\ 5\87Ç\98û ¡\89aël¾\99î6\9bpÐÇ\17\ e\8f*+\18\89J'X[\9a×ĬÆ)aÇ\12\8bÙW~ò\8aQ­ ÜÍnÅ'5v\83Ò3Ç2öÛpâÁ\97\ fÚ\83\1ey,º]Ïî\16=g&\88dö&γ!§@èÖ¬>96\10z\98­®ãë¨q·eÜ~>©Ê.z'ÖFÕ\86%\9c\èI\ 2_صûQ)+8è\95ødÍÅ{lýûñþ\7f\eIgqåTEoé%ÜûÃÞ±Dá»7³e¿\95\
-«¯\8aYÖéjÕÃú³ïxA Ë*cºq7YO\96³p\ 2ŵ  .Zd_=\16ãþñ³`\83\9c¿Óp\8eu\90I=\80\rxé³iPgÅ×Q!}¸ø¸\9a²Y\10\98òâSfi"ó\8fM°×AV²Wäø\8ap\180\ eò©Ï4Éåù«\vê\12\14!íÙ\eó[À gÓøxr\90ê\9cIMÃ\1fû^½\1e³:¸XÐ9Û\85\15\82\8b©x`O\96ýZâ·\7fq{;Yqk\1f\95¬/\7f\92ùíûì·\1fèM*ojFu·î·ý´_\10\81ê\8c\rvx8ù\99\8dN5\a=Ä"©¼Æ>F\8dqébE\96åd\8aLMÎB%ÂMö7f)«¨Û\93\ 2±xè6Í~4y\85åMïÒñ(&¥É\9bÙ¦_ì´l\86º\10ÊÕ¡¬²¾\ eç)Ü\17Ä}öë{\8c(è³\11\94ã?'\e       á4f#X5rhDF©\87Îùê¦_/­ÜÙ\8eº&6¸\9e\98\88\83avÊâ\eìË\19×       ]>Aß±ûy.\ eËa\aµÐo ÷'ÝD\14:Á·\0nëà   rßYÏ\97wýz;\91c-jz\96U¼Â¶ÆKi°\9f\9f^õ;I\1fÙ>âÁ\17³)*e[I
-pË\17+}\9f\94î>\89 )Ý1î©zx²9½þ\ 3ªNÞ\8ab(º×môÂ#ûýÅÏÏx\1dãú\³ê\17«éúã]\Çøp¯\8bëø>uÚï+\vE¯z\18|h>\ fÏ:_¦äª_\9dÌD©\19׬q:nó\98`ÝM6\9b÷ýúZb*\ e\ 6\ f\bêåø\86c0\85\a\89Ú8T)}¢\86*%KÉÂãû£R\ 3Ëó~¹\fù'Î4t­ÈîºoÜ\aÅqæðÝ÷@µ\83üë\97\ 5jëÁÝìøµ\9d}àÕæKë\ f\97t\9eI=\ 5\9fµ\fT;È£Æg²\8e¬Äð%£|\8dw\83&\b\98\7f\90.ýtvú\vM\12UT\1fS¸W#\ 5M(\17\1dLʱ:ÏÁ\ 6ÆÑåë¯\11\15\9e\7f\ 4\r\10\98õ¸\82\93ë\918÷8ÅÏ¥Ò¶/¾\84²ÁõÄî\8e¶^     º\88O\96\10©\93á@©Áì\82Ëî\1c\87ñ%Wõu/^s¾ÂÇ|\1cº\95\ 4²\81bÓÛÙ\92ëÈ\14ô4µ?V        x3\93+ðÍíü°rt¤öpì\ 4þæås\ e\9bøC\84\98QçEÊù\9c\97ê®ßÌ?\9cN§8\95sDÅ\1fþi®3tÀÏCÁ$ôÝÿ~Ì\90\0è\aÿ«ÛD­a\fÊ)Go*¢càd¡ÞòyÒþ½·â´\1f¤\1døÄ\96\13I¯c°m<}å]Ì!\8e\8fT+\14
-H\9c8l×HÎè\83\1c\9aR|k\9bµ\ f\e\82\ 6:ÉZwÍDÑF\ eu^½A\8eëO¦ÇÔã\ebïløæ¨zÈ2Ï`~£R(qîo\ 2íÁ´E\9fÂ-©\ 5\9bÍÝl:\9f,d\82\ 6\8bx»]ϯvád0()â\80\1c\1cç½\1d¸³\ 6\7fvzÏ综ä)Ì\91\87\ f6\8cî@Õ\17\1f&Ë»pï\89/ï´¸ñÓÙùKê\ 3%d»ü~\81/]æáú\14_¤jÕã\98\9a\a\97f^oê\19ßVÜ{Àι ñô%¾z\ e\1f\8aá/8Ê\fßYò\9f\ 4ÄOÅâ§oÉÁ§n\ 5*`%9H\93vôeÙ\9c$}1~òë\93?\ 1\19\bVªendstream
-endobj
-1484 0 obj<</Type/Page/Parent 1479 0 R/Contents 1485 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 102 0 R>>endobj
-1485 0 obj<</Filter/FlateDecode/Length 4006      >>stream
-x\ 1Õ[Ûr\eG\ e}÷WLíSöAôÜ\87³/[¾ÄYoE^'RÊûJS\94Í\84ä8\14\95Ä\7f¿ç »\ 1\fI¹,[\96½I\95¥Ãþ\0\r ÑèÖï\ f\8a,ÇÿEÖ\95YÕfóõ\83|\92ã\13ýçç\1føIÖÖ=þ]gU?)"Xeg\ f\1c\gM>â\1c\g]=\99ºv\ e®³¢ªF¤Ç`»é¨Ûªåtª\ 6M0d9i"àt\1c\g}1©<W³]YNZ´C\9f\98\8e\0¶s\10\ 3\16ý¤v¤Ç\9cl\83\1e¬©Ç\9cl;)\1dÛÈ 9;L\83
-°A#Çn0[%¥aÓ³·Ø0\0m\98¸"ï \8a\91\1ec>²l\8eu\18lßA\16Ç:¼ÎJL¦q¬Ç`\eêÁÚz\f¶ï'½c\838ÓJlH´Ý\b0q"W\145\aUÒcª\97=8Öa\8aCm;ÖaL©\98B\99Æz\f¶ª±F\8eu\98ÂNG³\12\elÚÞl0\0\8a#6\98¸®\9ft\99qô¤¦®Ä\1a
-\9ag\0læ ¼¬£öä\8bä\1c\gXA¬·r\ eB\ 3y\ 3_1RÆ+:Ñz#+"\80}\92ªû\¼A¼8\0\19\8e>\9e8ñbã\1cÄpâ)Fz\f¶* ¨c\1d\ 6ÛÒà\1dë0XX~\9a\83L\89N_w\9dhN4\1c\09\a×Ù4g¯òEr\ e¢S\18tïH\8fÁÖ2]m*k\·µx`\18C\80\r\199(±ËÂ\17É9\88N«1é1ضDïÖ4\fÙ\14\18Új\ 16däÂ\18Ê9È!§\9c\8f\92âz5L\88ñR\/\0vê \1a\16-Õ#ß$é1çZ\8fY\87ÁÂÕ0[m+Ö\ 5\93\vÖ%\80Ý:\18·\8cZ¹`]±Ý´¡r\94s\10±\9dâ\18ç gZ\8cH\8f\86êÑnEçUÏØ\10·\93\0\89CdÏ!\v¿(ª3\88éÔèÓ8\a1 v\99Ú\91\1es²T\95\18ì\94æg¬¬e\ 5Mp+\96Å\v@&Ä--qE^Â\ f\8cô\18ÝÂ*\vÏ:Ì)1î[Û0hG¥¦A\ 5Ø \91\96\r\95ô\98\83Ö\9c\92±\ e\83E$Çô\95\r\83"ìên]   °A#W\149U¤¤Ç\1ctJõ\1aë0\ae@16\fZ7b¶A½\ 2lÐÈ\ 5ר\94ô\18ÝÖb\ eÆ:\f6¬©²aÐ\8a\91 ©W\80\r\1a¹"¯¨^%=¦¤ÜO\1cë0%e\1c2V\8c\ e\9b\ 5\97T\1c²\12À1\1d\8cþi\9cøg\80\bµôOã\1c\8cþi\9cøgjW\14%­O\aô\98rÐ?\1dë0ØZ¬ÜÚ:\f\16i\ 3t`¬ÃØÄKÊk¬Ç`±ÿ\8cX\87¡#$\ f\125Ê>$\93²9\ 4@\ 5:\88)Izf¤Ç\14§\83\ e\8d\rÝ"i`Ü\fý\b°n#Ç­+ÏJ%CÃ6¤\8b¡¡\0k\18¹ØPI\8f1\1f¨\bó1Öa°\rÓ\12Ç:\fV¶lÇ:\fõÂ\a
-×6L¸           a\98°\0\9bpäú\8aí\94s\10CJ\92f¤Ç`\11Z+×ÔcL(¯\11[¬­Ç´\15Z\92c\1d\ 6\8bxR{Öa°0\8bQ[\87aIðâεõ\98vÆìÎÆõ\18,ÆÁª«2$t\94pX\8dÌ\ 1P\89\12¾\12W\14Ì\v\8dô\98ëJ\97s¬ÃTc7f\1d¦\1a§´   \99\ 3\87õ\18,\16hÄ:\f\16æ\vkÓ¶A\9c²µ\98_
-0q"Ç\0\vý+é1&\8cH\ 4a\8du\18,b\11th¬Ã\9c0÷wc=\ 6+\19\9fc\1dæÊò\90`l\10§\bÙ~X\ e\ 1&Nä
\84\96\94ô\18\13\96ÍÙ±\ e\83EZ\8fµ³¶\ e\83Å~
-a\8du\18ìT¢\8f±\ eCXø>\94¬lðØ\9c»m\8aM\ 2(NpàÈÉ¡µTÎA\fYçÔ\91\92\1e\aa°rÆB\98\849]ÆEceB\94\81É\90Ì \0\9dPâ`f\85\b\9b\87ÌÍ :E\18¨\1dé1X\98\89oê1X\89i6¨Ç`±Y¶¾g\87Áb%<\e\84\91$(       #À\84\89\9cäú!["ç §ÛqºÚÐcN\97Û\95c\1d\ 6\vE6\9eu\98Æ\90ÃD­­Ø6\ 3ª¦g\ 1pJbê\89+pP-%\14·¢|\8fÑmNû´¦\1e\83Å\ 4}[\8fÁb\1cß\96)\r7\0\9a§ä0\ 1pF\ eB¹Ì}\8ds0¦4ÆIJ\93ú,Jî`Fz\fõ!\14\8cX\871W\1c­*×Öc°åtÌ\ 2Cî(KÙ2\82ظ\1e\8cY\8fÁB\83S×6XYé\ e\98\85\0³²È\854ÅH\8fiI\f\1cÆ\86n%ÓIÆ+Àº\8d\È6Bg²0<Dá´D+\12\ f\96ßµYdÄ\7f\951\84\89`»ìB\alä 88Cå8\83\ 6Æ®]:ȵb\9a­\9c\83\©Q\9f\ e\82\93\92\8cµ3\b\ eÎTX\9fâ=Óp:\16o\91ß)\81!L\12g¸>SÊA
-ÇlÕ8\83àPN­\1dg\10\1câEë8\83\14\9cv¡}:HÁéXÆ\19\ 4'\95\fÂ\0q:«¬\9d\bÞ\86³¶\88*¿«à\91 ö¡\94\83\10\0\ 5¬>3Π\ 5\97jk:¡;\b\ e©\13
-³Ê\19¤R¸\87('Ö\8c\14\15ù]\8d22\b²¨åñ[2}Eè\ eç\ f\14ý\12å 8\9c#P½SΠ8l6(A*g\10\1c*E¾\9dAè_\82¨¶s\10\1cÎG¨$¦>\1d\ 4'ù±q\ 6ÁA<7\17\aÁÁhÜ\\1cäzKu2\8d'ªD]\8dù©ø·ü®ª\8c\f*+-*2ø\96¨R\11\8e\919f¡\8c!0-¾n\8c"ª8\94\7fbw\ eRÅô{mæ 8ø       ëM©\9d\9fîf\9cAprÎQ.d}®n\81`\1e¶>1xAh$¾­\94\83à°Yàd\92\9a9\b\ eç\10$tÊ\19\ 4\87\8d\ 2© r\ 6Á!j"ÅTΠÖ\13\92â¼\928\aÁÁ<Ü\\1e\9f?xø\fýäÙù¥¤\9e9n_º:;¿\90\e#|<ÿî|özµÈ\86ËìÉ°Ù-6»«¿\9fÿ\8aVÈ-
-¶:aÆ\8af'%\9b}÷äíìÝn±åw¸K\83@'\17ßeÕ\84\1f¡I\80¿\\85ï îtU\1f?\n.\87íz¶[\ e\e~\19.Ýw©ÁÅl7{=»Z\84Á±\7f\86ÁY\88(08b|Éq ±0\10+Wa¨Ó÷g?ý(óa:/\9f\9dÿÊ\96S;©º±\f\85HAí$1\9el\17ÐÌæ\r¿\8e¤»­ê(ßî­(\ 5FVôeüÌk\8b\97\rX\9bû\17<\8aÆM|o\85ÊCé\86ÍåòÍõ6
-Ø ðñõ×*
-0-Æk\13LÙ¯Í/WqÞ%\¡Læün5[ÂcþÚÉ\92\15*Qönvuõç°½\10OB@oº6®Û \8e\83\80×\17Uüh±\99oßÃ¥.¤\17,r\99\98ÔMì\1ew\8dw³ÈeÇ\1eáÏð©½\85«\ f\16î\87Å.Y%\v{ÉZ7Ãæd>¬®×\eö\ 5\9bd¯´M~ÈÌT\ 5¿Ü\ e\10\a-\eQ`%ö\8eæmýeÌ:)\0\ 5\96©È\ e7K2þ÷TÂ\8a3\84o'¬\84\99\ 4A\¬F}\9cK*\99\b¢åóçA&T\9aói´·ó÷ï\82~!è´KvyÉÅ\19Ùårsµ\9b­V\16­Q\19ªcüù6ôPN9é\13V\0`\97&ôf·\1d.®ç¶ÍÜ\8dÛ|!¡Ë^¤h¦&ÁM{lðNÝc_\fk\ 4\ f¬ÐõVV\14×@Uò\18ìç\a+z¶Øþ\11wnÔ¯ò´\97Р$R¡NUâIÉým$UÁ9>|¦»=S\r\17\91\10+ö}òl7ÛH¤ÄÁnª6ýh5l\82Q÷nãtò¢\88\ 5\ 5ß\9fdÇl%H+æ:\921l\96.î<\1dÖØX¨\1a\147mÏ?]¬_\87åCz\90\17É\9fMJnN_&`\1e\13gï³$\1d\12\:cÊ×p\85¸¿\847\88Çìs;¬VQD\9cð¾ú\8aMªR|\13·Rû2\1dæo\1f+\96¥¼êx´e$\88÷h\9eA0·qÀÌFAô¦\10ÔÄ\r%L6;\9b­_Ëf\8fÜ ¨ÓÆ9\93p\82[ÃFs%ñÛ\13õS\14Ûò*¥þfÁ8Ø´w\94äì\99çqXU\1f\ e@\10jßzõ`\83¢\93ú`\8cI(\ eXÚ~öv\16Â2V·ëÓF{µ\98#     Þ½\17ïF\ 1W\13¤Õâ\8fÅ\8a\9f"ïéî?7\ e\9a8a\rÎ\9b:\15phêGuð£
-àå=\eËÛW_'ëOâ\15µ\85&ÊvxP9¾l\1f!\1c\ eÃÍ}n\9eÉ¢U´ÑÖIá\ eÏ1ÎÓPÌL\87\92\8f\10\ ee¸:\1eKÒ¸÷ñ³ª%þò\ 5\8e?©P¸Ã\93Ê\r\ 1ø#¤Ã^\93\92ªû\90*\8cQ5Q¶C\8f\v\9d;²GOÏ$6¸zÁGÈÕNºü+¬\1a䫤êá÷\97ö#òÛö\137\97Ù\86ÊÁCÔªM6ýâ\L\aÙ\88íAñð\8d÷   z\ 2}µÜ\94¿±1*Ñz\80}¹]®g[     Ñ¸\8eQ71ûbþ¥;Û8oá\9daû¹:¯ä\80îòâ\12Ï"]R\85"Áþ¶ôr»Ø.~¿^^-w\92\b£\fXê¦óóbv\11\v\18¼.ÿJ6\91\+Hw\82w_\16\8bQ\ eÚ\97èñlþÛ\9bíp\1dÒýæëì\eiÎã\9fQ\ 2Ü\b\8f\16å Ó\85\15½Ì\18\8fUõ,\9bÂůÖúÌîFÇ\81±ÝÕ°\89\94\7f\8d'{7¨
-gí\12/\ 6}$Æ\ 5ÈþºÝXÇ<\9dÍß.Ã1\rÅw¼"\899äùöúJJh¨õ[rüh>ÇÚ\87b4®íÍ\98\8fåZÿ\1e\96\9bdàØ\1c\92"²'«e*h#µÔ*i¶\e$`ø²È±õp\9aG\8d5¿õî^\85£½¼\18\1aYJ:Øú\10\7f:Û\Ï$\ 3Ä%L\95ì=\vê\f\ 5óQYøÈ\ 1ÿ34Ì x·\aä:§\8eOp\11éÝ\1c+)\ 6ã%ÿÛ\7f6'PÿɳÕû¿±\r.kÌúïI~\9cG\9ax\1eù\1c\87©¥¢qRâRißM\ e³±\9b¬ö\98)\ 6K¦vpÊoÕÀooȨáb+þÒGͨ\a¼Qñ\8b\1f\ f\8fVa}2¬×Ñ´qÄNûRör; \b¼\96S$|ßj\97Ç|ÿûívØÊWq#¦÷Q\9f³\88·i\9b\ 4Åëýñ\82Ç\Æd}õv\16¢\1c>ÒSß\80µ\96+\ 1Ä>óù·\8bÕ;Yj\94Àu\e\98Ç,\a\8fhôÜù\ÜeRëeÂ\9bÅî\9fÒ\12ofú[Ç«Û\b~Ówk9R£þ\13\8a²©\ e\84Tt\7f£pÑÕ\97¹â¾F)\18\b5£ÃÕ!?ÃÃHS\1fÒ·\8báÏd'v§Òÿõðô{é\ 1U\8ddV7Íø.>¯c2Ï\87¸£H\8fg$\añ.¥\ 5ZZG5¤Ö\8bÐ稻oCõúê\1f\94\ 1\8fvq$\17\8fÍ^,v¸X\92\8c\87þ8¼\19\aìsw]\ 4¬÷\93ù²Cv       1Ó5ÃMÅ¢¸äZç9Z,b\9ew-æ\8eôfZ¤¬À¬ãCÙ6Î\85\9aGh,4;°\84Êg\ 5\1fîZÌ\ 6\ 5¹ò\13ݧ\96LÉ%ï|Àî\8d"\99\84«øþ\1feïA¼qö\8eK§}çþ\86³÷(Á8{Ç3±}\11\8e\ 6ìß\91£-/\97áÂd\94\8fI\19\14\7f\9e©gK3³\ fåíH,ÕõÃV\88\90©þ~,\15Ø\84\18 q\9eÏ\ 5ó;È[R\f\8cº)ù7+.\8eQ;\87qì_Ã\9ft\16¤rv ¾\18\82jP±17<PÍ+Ä0Ü.ê\r\1d\BÕv\89\98.Ýâ)\91jf\19\ e\ 2P\8d\17vMâ.¦çz\8d\10\14\84\97\9a)¦$!?åg\1dRùýÄ\8e\8a9Lh_½]lD\ 4\Èè^½\94ð\8cçu¹Þº\1e\97O\9f$¥j\96·Y,.\16\17"\ f\1e{h:ô)rܺM\14|ïf\ e\7f\86µï.OB~\82wǶl\16\7fý\81öµT(¸\96ºè\a\16âv\ 5\7f\1aº½Oé® jËb"åÇ\7fqN¥ãm¢¥RX\88\90JámCª\ 1ÝZ{±A²\1e\$\8dÝê #>îS29\17\16\ eò¾«\85ä\96(\81Y4     \9bª\8f&\aZ>¾>\8f\93ä8iÜkI;Ù\1aR\9bQða½7:\85FÆOTÔvñnµ\9cÏB\91\8cñ[_Û\1csÆ«õky\84#\ 1       \7fÅc\96}¹\-Ä<ðø©/¾ÐÝ]#Gè\87Ïð"<¼\86\9b¢ÊÓvxÁÇ?¬Àû\8e³G§\8f\1fñ¸ôëb¾Ë\9e\ eók¼\b°¸Z!YΫ*;éðt\b__.©ÅïÏ\1füôà\7f2tõôendstream
-endobj
-1486 0 obj<</Type/Page/Parent 1479 0 R/Contents 1487 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 142 0 R>>endobj
-1487 0 obj<</Filter/FlateDecode/Length 4015      >>stream
-x\ 1Í[Ms\eÇ\11½ëWì!\aç@\bû½8¤R\94hÙLY2c2QªR9\80\0$Â&\0\ 6\0%ûßç½\9e\99î^\0\94%J\90\93T%|x;3Ý===ݽ«ÿ>ɳ!þ\9bgm\91\95M6Y<\19\ e\86øEÿç§ïøKÖT#üï"+G\83<\82Ûìò\89\83\8b¬\1eö8\a\17YW\ f
-7ÎÁE\96\17Uo Ç`\9b\1dÖáEVäÍ t\13{\f¶èú,p\12\ 3lS\ e*?Öah:ì³\1e\83­\8aAçÆÖ\15\8dTÖøq\91µ\1d9\ 14\92\83\8bl4¢\ 4Ê9\bU\87õ q¤Ç`ó\11ÅÕ¡\1e\83-;\95\80\8bz\f¶Î{"y\f\15\13ÛÌ\ eÓÄÃÞºâ\ e\92ÜA\80¹CäÂþ+ç`r\aå\82;Äq£\96¢*ç $\1d6ÔRI\8fi\83ao¨Ç`\eº°\eëpÐÒ/[r¡zÔ`·àÙÅ \8e\80j:\bU\86p±ð 9\a)n\89ñFz\9c\94ñ¬_3¯\1a8\83±A ®\84XI \ 1&Pä\82\ 4Ê9¨\ 2)\19\ 5\8a#\835kÇ\8a@\89mZì¹±A \18\91.\1fL"À\ 4\8a\dzQ+ç \ 5\1aÒBJz\f¶ª¸¤±\ e\83íò\1e+g°®i¶x\ 6\ 3 @r\ 6\13\97ç\f\ 3FzÌEÅð2\ f\87\ 6=+F\83¤§\0Ó3r85\98U9\aqì[\84\1cÄ\82E3h\1dé1X\98Ö³A\1cxº9¦\0\13'r\1dc_­\1c ¤\8b\\8e3\rçRÒc.ÙPZeÃ\92yë\O\80-\199øÚ(«\95c¤¨F\)F\8a\0Ĩ¼G\12'¡Á8\ac¤0N"E\1a'¡Á8\a¡\83D
-#=¦ÉG\90ʱ\ e\83Epo=ë0ض\85%ÝX\87\19Gj8\8a±\1e\83­[l\8a±bÙ
-\13¨o\ 5 \96M\×R^y\90\9c\83T\95aÏH\8fÁ\8a³;Öa°Øj\88«\13{LU;\1aÂX\87©*Ï\9f±\1e\83-Z8\83±AU\Þê·\95\0S5r-\8f\9fq\ eÂ\exR\8cs\90f\10Ëë¤\1e\83-\19\8am¨Ç4CEam¬Ã`G\ 5\155Öa(:\143(ë1Xܪ~f9\13%¯8®JM\ 5Ð
-\ e.²F\94QÎAêRqÃ\95\949e3\10 F\N\0ç$UâÐhî\16\0)ÉÝ\12WS\14ã\1cÄrbX#=\ 6\8bÌ0wC=¦\8f\8c°c6Öc°-¥5V|¤l\99«@\13&4\ 1\88\8f\18D8¥FÆ9\b\81\10N+Gz\f\16Ïv\8e\15\ 3U4v\8c\03Pä\82E\94sP¼²FFÈI8\ e^\99 Í\93Ãï\8cô\18lSôY\87Áv\8cCn¬Ã0\1ebVZ\87Ëz\f¶jû¬Ã`åê´\99=\86\1d
-\ 6\14c=\ 6\8bûÑk\146­¤"iÓ\ 4ئEnÔÑÇ\94s\10ªâÒ(\1dé1ÍÄ$Ë\86z\f\18Ç:LCð\0\1aë1Ø\96©\9dc\1d¦\99\18ÿ\1cë0\f\81+\ 6\9e¯
-yL3\95½±\1e\83E$\85\11m,3­\12\87E²;qu\ 1fÄÈÁ\ 5°¦r\ eâT0G1ÎÁ``X_\aÒÀ        \83E\94JësI\8fÁÂ(éYa\1d\ 6\v\7fÇæØÌ\ e\83\85\140¿±\ eÃÀ8«~f\8fÁ"õñlð4D#\v\ f\ 2ÌH\91\v®¥\9c\83\10\b\15#TUÒc°\bãXRYY²@¼g\ e#\11)\0]2q²\86q\ e¦%\8d\f\919\8aÒaæX\871¶eõåX\87i¿\1aNf¬¤À\8cª\fgH´\v    ±1,\19Ä´C\96|áIÙR\87i\ 5\86EcôM(\86´\ 28ÒA\fDLÂ\9aJz\f\16\17\11\16U6\18·\8e%\8dXA\80\197rù\90\17f¡¤Ç\\94Í\ 5Ç:\f\16×$\16µ±\ e\83\85­\1aÏ:\fóâ¢\1d96\b\8c\8bS\1d°\10`\ 2G.\1fvÜ5%=¦HCî\9a±\ e\83E|Å¢Æ:\f\16§«Ç:\f\81qΠ\8e\8eõ\18\bìX\87Á¢`é±\ e#`Á¨\9e\r¦\90ã\9b\ e\86\03Eä¢êJz¬¦06\98"\8d\rª\eë°\9aÂØ`\8a86ª®¬ÇÜYV3!ÜPd\8fi
\10\8eu\18¦@èÄöéÌrV¤\8e\ 5Çd¨\10Ài\1d\84\95Ä\82Ê9\88³Ê»ÜÆ9H\e\95ô~\1dè1­À\ 2ËXJ\93·\1c\11¥       @¥I\9c,o\9c\83\98\13©h\17gá@\8fÁâfk<ë0XÄ\8eʳ\ eò\989w¬ÇÜ\15ÊmByÌ]a\88p¬ÃtоT\1eÓ\12\8c~6VÜ\97¢j\\ f\80ÚJ\98O\1cr\89Vtj$·s\10ª¢\ fU:Òc°\92ùÛ´aI¤aRë\89*\ 2lÉȱ\18Ç´J\12CöÄBkØWÙ0-\ 2\95¦_,\ f
-\916h\129\ 4\9ar\ erKé·Fz¬[ªC©\13D\88ó\16hraÓ\94\15\a\94\80\9d\1cP\809`ä\82Ç)ç ´Kj\98\97Q\9fãPÙ'H»2)3R\f\80íÕ\9d\94¿Õª\91¡\vç\99R2H\92à\18½äo\1d\14\99¼`vh\944y\99¸Å˵áß\1c$\97  È\87vö(SÊAZ\92Õ\80rr¯Bq&}2\85ü­\13F&µ§ð\18)\a1!î5´\8\85p\ 6¹\18\83\8aq\ 6q\96pA¹q\ e\82\93\8c\89\90¨b\18PDHù[\85\8cL^ð      ¥\1c¤E(\88ã\14R\ 1:«q\ 6ÁI"o\9cA*À­QÎApð\10'\8b(\80¤\8a\ e"
-Èߪ@dr\14\11ø\98XÒ \ 4A\84CxVΠ8Ä_Ï\19¤\ 2ìWØ8\83\102/x\91§9\1d\ 4\876\11"¾r\ 6Áµ\92í(g\10Ç\rFÁ½\95¸gWO\9e¾À\1aÃìê\r\f\8dâ¢Î\9a¶Ê®¦ò\82\a?O¾¹\1a_ßβÕ\9bìùj¹\9d\9b?_ý\8cQ8n9G\9dÄa'\ 5\87}óüf|·\9d­ù\f¯6Ì\87I¦ßdí\80?aH\80\97ãÅõX\1e¡«ÒCÏÆ\93_îïägìO>\8a\ f\9f­\16ãù\92?WØ\81"ýLyÖ«ÛÛ°\1a*\ 1ä-qÄv\15V\e\8còò\83+~xjNòô\ 5\ 2Yд@\f¬ æIÎN\11´BÐ\19\14¢\18Nt\9b´x>\16\1eU\9bô=çTH\19T\9ci\90\10\15`\1a¶½\99\8biÑ}kÔ"ãÛ[ÑÄ=÷~¾½áo\88<å°\8bÚýpvzñWþ\8a+%o¢Î\83#ÿ§\1erEç
-\ 5®»¢ÎN\90ø|Ð\19º\8fq\86\ 6\ e±î¸x\f"j2ÙéÙ¥XÂ\19\7fª¾\82#\8e\8b'Úg1[\\a?\81\v\15M4Û\91í3¨ó` õ ¦\174Pr n\90\aS°!\14OÆl\e\8e\0º£\9dîïo«{9S̱Óön\16×\83Éjù\86\83ql­\1e\98?({\82\Äë\17\8e\a*êO×ïél;yúËúºV-\11 Pr\ 6C= ÅÑ~Nê±~íí`¹»\83Ï׳ñvÆ])Ñ÷mâ¾noä'X\ 2ÍâøÛdµ¸»\8fÑ\12\8aQ\e\89ñd²º_ne\8ejP×1\8c\1cM¹ý\89\1d]\83¿úpw±Úlæ¸"DØ\10 \83'ÏÖëÕZ\ e1]¹\88\86Ø_ê«üR\17\94o×;«Ý½»\9amÄêÈU\1aÝ&=|¸\8f5\80ofëw!¢À#\9a"\ 5\9a\8d\1e_\ 4%|2!¦ø*\1aî.¢\1a×8{.âÔ\87t\9e/ßÊþ¡Y\94\ eêÁ{\ 61gr;G\16À§YÕ%#í®þ5°j(W\82S±ÙUñÕj;K\9e\18õû\1a\ 2\1aA\17w\97v\b£¿w\8f\8e\82\9e)É8\9cT}Ä=úêªâ~¢>¶»v%÷\r.*Ôm1*½\9e/\8b_ÄM\10\93Ò\8f\1fsáÖÍq\8c^\97\94ÆghÈdÕ\ f\90~îúÁßV󥹺%\9e!cë)ûê\8a\91c9\9b%\8bÈ-,\8a\1f<(¶\17è\f§C\92¡\91)³V\83²9z<\fÖ9ÉÑ*¡vfÙ»\93_ßüF±ø\95\95nvLF\91pwéV:\98¡^϶ñ\ 6C\94\ 6ÛÞÄ,Ø\aÒÍlr¿\9eoe1´×ê6]\8e\7fáò¨7Õ«Bt\r\19-\f\98\1fÇ\7fÒù¬ÅýÝáC[×Nßùùyð#\ 4RµÅéôÝx9\99M)8Ê\ 2ËÔP\95¼\99¿½_\8f·óÕ\92,\9aÙ]}\ù\93\1e\1füÿº¦4p\ 3\14Jp\87\14[ÎYDMï'IÜú+åÆ\1f\94õa²nD\v\1a<Tr¢)Æg]îùঽ\9am߯Ö\12Ûx©u)¢¾\1c/ÇË·³E¼ððfÅ|ö|ùfµ^è6£\93V~Ùº«\1eQ|\1fݪÂ\8e\8b¹XÊ&\7f\9a-pÍq\fzW#-=/5Qñéèét\81P¸Ù:?Eõß|Íä:ég\9d\ 4¼yw\9eùà¾î\85õ\7f¼:ÿ\97è\8d·Òé¨e\17³õb\8eÔ4\9cB´x,\f?\9b\87.\ 6²<\8bnã¥\1cf\96í]2)n¼éê½d\ ex±Ð6É/âå\80\16­Ö¦§\93Él#O¢E=\1a¦\19b\93B¤Cr¬éã\ f°}ÈHpâãò\98\89õ·\96\97ì\ah\9cÇ\17\1e;\ eòÏùì}¼ýP/6\1aê£æl<èo\13Äï·éa\[\1aª\9d­­ßr§¶\16\9dÐ\19´ÖÄý&N\83\88cñóP9tàÊ}ðÆ\98ÎÇ·«·ÉÞeõñ\15R°Ú   \87x[Å>NÚ·ïWï¹g½+Q»J¦Ü;\98tï¹7óP\rõ\92\87\a5      þ\89ÜC3oisàå»nÆádbs3^ËqGÞÖÕÇ:¹Ñ\E\8e\9c¯g°P÷\16É`\ f9×Ac¬Þ/gëÍÍ\z}8YUýeCçÃ÷Ç.\13Õã'@}õBiøHõBî\9c»rq:_Ï&ÛÕZr\1f|-¨}\81Ý£\83~×ñoàF\1aS'èÿ÷¶\14ù\9f\\99ü®3f,Ù\8bäÌHrRÎêbk:ïꬻ\ 6>>NÊà\93\f\9fçò\v·Ø\9dõú\9cõ6\ 2/b4TÛ\85\91\94*«ãoEß>I\17¼wï»c¨ÚÕ\1d_®¦ó7¿¥øìóÏÃçí3\1c\12\1fX\ f\8f[«4±73êß^¡\8aW\95\91¨ÎÖcËSqOëÖ\1d\ e]1\9b-.»ñ:¤í¨mò¸ÁÙá\10;ÑV\1e\9a<Ãa*\84\16ã\8dä\8aèÆZ\9eu7^\8f\17\18¼\aéÙgY-\1aE>0ë»Bx\95ò\87Úå \93\8d·Ûõü\1aý̽dg1¾»K¾
-£7ñÎè»þ' ¦ä\12®^+%Éÿý\8a`¯òýn½\8a/\9c\90´áÕ\8e¤a\99\97\17¥º¾\88úþÇ×W?ri¼ÿÄW÷\8fJÚ>AͽG\9bX¡\aþûºî÷¥ce\1aw\ 2¯èíýÈÅéKIc|    \8fò\86¿Á´VÖOY2È&Ë\11BVÝê;\16l½<ïß_MP9­ñ\12+\{¾Å½@iõ6ÖÏHû5\8f\1eßãÜ.·ó\89VVx+­[³g\12ÿC#µ¡+\98\16õg\a©¶Üozv\ e\9fúCùp2\10Þ¿<2[÷\92~îßAÓ\93\91¿¾ñf©¯ÜÙÎ^IÝ\1f\1cütßÈ\9f\15¬\1e§OÓÑ_Nr¾\92ëoÓNn\99\8cï\v\88ý>\v.*-zÃëb¤\0\96ª÷^\97\95\83²{\Ñõ\bU\83\9e.\ñ\83\18¦*©\aó`¥»÷~âb=ÇÙ\bÍz~Ú \19ÙåýÝÝj-\a\90æü£Þ\92\99u\9aÝîE\8e\7f\ 5ÑËÏR¶©§q¯\15õ\7fÐ5\8b
-\ 5mNÚÖåË)»Tù÷]RÞö>¦´7;~¡¿¢\ 2ø\17z½£F\1dös~y\83\99¼Ìw
-þ}GÿûÓ\7fxnñ9\97ºß\17\12ò\13¦\89úð_\9aì8\15ÂÜ^\11s\89&uÔ\87Ý\19½èÏÖs¼Ä\93\84\r\1fN´úýHºúp1iããÛ_\11OÓ$þ=§\9cÉ4\v>\1dO=âOÐæc\1fmcÝ6ò½\vîa\b\98¾Îq\ 1\81­ö$T¶×\¸\1d¯ß\866\ 2.sµÀò>}0\81fb©Mµ\95|m\80¸j/BÅ%\92ú\90å¸/=ÛX+ð\1fºø;\83F\bÑÒ\eát:M;æÞl¾\8a=\e¼îÒü\7fg\13\7f7\17\8bõÞÛ\1fª,|«\10U¥6ú\ e4µN/^ó\0¡·Ô\r?¾oõ!\1f       Vyú\ 2_YÆ\8f²Ðå\1få->æ\82§òS¥ËÓ\97ÏN³\8bõêg´!²³Õä\9eMmͱJ|kVÓ«Úá\88\8fÏçs\8aøíÕ\93¿?ù\1f\93lendstream
-endobj
-1488 0 obj<</Type/Page/Parent 1479 0 R/Contents 1489 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 187 0 R>>endobj
-1489 0 obj<</Filter/FlateDecode/Length 3658      >>stream
-x\ 1Í[Ûr\eG\ e}÷WÌc¶jÅÌ\953ó´¥H묷b¯V\92ËûJQ\94Ä\84ä(¼È\95¿ß\ 3 \eÀpè\8b\1cIÎnUJ\87\e@£Ñ\0füû«,Iñÿ,©ó¤\18'Óå«t\94â\17ýÏùÏôK2.[üw\99\14í(\v`\91\¼rp\99TÕhì8\a\97I[\8f*Ç9¸L²¢\19Õ\8e¬JZ°¨F\r\16lÊQ\1e\0-è \ 6fãQëH\8fiZ\96\87ç¡¡\1e\83\1d7£Â\8fu\18l[\90.:¶\18\93Hy\8e\1f¡g£\80æup\99Ô5IÄ\ f\12ç \89Û'=\ 6\92:T¬\90¶£R­ÀÀ¬\10¸,Ka©±\92\1ecÚ<%\89\8cu\18ì\98¬l,/ZµcØ<\98^\80.\1a¹,/1­\91\1e\93.5,åX\87Á6äK\8eux\99äE\ eo0VDj
-\f\89"10\91\ 2\97¥%|³RÒc,Zî±\ e\83­\vØÁÆÊ¢ãÖ\°b`\8b\ 6.,¢¤Çd\871¶Ï\86zLv ¯2\96\9d¬Â\10u2\ 1´(;Yäh\11HËO2I\a¦*\vs\15\ 1&mà²2#y\18ÙÀ"uÛÍÀ\ 6\ 6\8eÎ\ e¶[I\8f¡\bÎ\ e\ 40Öalh\96Ñ\86*+¶ÅY°\re`\8b\ 6N\1c¹RÒc,ZÖ\10Û±\ e\93Häö\8eu\98Ø\1a\87ß³\86Á¶\15  ¬ë\8aÀ)yHô@\ 6&pಬ!\91\94ô\18Ó\16\19\89d¬Ã`ë\94\165Öa°8"Ø8c\1d&\vç½\99=\ 6[\8eÉ[t,«S¶)»\19ÇS\ 1ªNä²4\87\95\8cô\18\15Bºc\1d&e[\98±\ e\8b²\99cE$\ 4K\8du%\ 3\13)pA\ 4%=V\91\8c\15\91âX¸@\9aØÄä"\11c,\fÒ:VD\1aÓí\136½d`"\ 5.KÉ\ f\8dô\18Óâ\16\84¦:Ôc°ØFÏÊ¢UfG£d`\8b\ 6\8e|i\9c\18é1¦åpd¬L[ÔæÀ%\ 3\9b6pAv%=&](\9aÙP6\1f\ e7m\1a'\ 2%\ 3\9aÕÁ\90\17\18Çy\81@X¶&\ 3è8\a±^ÞÐ\96(é1X\1c\10Ø]Y\8e\9eEK'0\Ñ\ 2H\1c\8e\9e\91Ë2Ú\12#e`S±ÑåI\ 660p\re\f\85r\ er~\83\ 4J9ä7\11\92\1e\94\88\18é1XdV\8dg\1d\ 6\v·,=ë0\1dü¦7VT©3ÞhQ\85\81©\128\1c\896)\94s\10\rÙGI\8fÁ\16\94c\1d\ 6Ë\91ßX\11\b\92è\95V00\81\ 2'ÆTÎAL\8að\ 6\e(é1Ø\92Å5Öa\12\88\82\9f\eë0ì\97Ò®\eË\a¥(+vi\ e\8d\ 2H\\aI$\8aÇFz\f\16é\ e¦åyh¨Ç`\eº\ f\8d\15\e!ë1Çe`6
-\Û\92ÿ)ç         DÑØH\8fI r        Ç:\fv\\90@:±Ç`Û¬?³Ãä\81\94\82ÛX\8fÁÂ9z¬Ã`±g0¢®+\86\80e)1\0\a\1320C\ 4.öÁ\12Jz,ÊÂ\14ÆBÙ\88Á"äBYc\1d&uè\967ÖcR'×\99H(\8fÁò=ccE\1d\88Ji\83¨ÃÀÔ     \\96³\8f*é1\ 4Fu\ 4\91\8cu\18,B=ìd¬Ã`\91É ò\18ë0)KY\8f±\14ÏóZ
-\ e\ eà\ 2H^\aC<7\8eãy\1c\87º)\ f\93Ð8\aI\13\8aØ6Ðc°\b8¥g\1d&Y)°ÛX\8fic¨bq¬Ã`qoÕ\9eu\18\9cʳ\ eã^ùòRy\f¶"g²uyËs\84\18\ 2tË#\87k
-¶æ\aÙ¼T\bä(\0Õó\ 5ظÀÉÝe¤,\88ÝQ\1fË\19ØÀÀ!z\8da&z\908\aayÜO\8d#=\ 6\8b\9s,ÇÈ\1c.K!\9d\83¢\800-¶!p$+\8cÃ\88H\8fÉ\19H\16cE\13\1c?Ê&ø´ÐÙ+YZ\a±dNâ(ç iBC\8cô\18,<\15;­CE\93ÔU?9\ 3Ó$pä¨\98VI\8fÅ@=\16\ 6\8b\98\1c\97îK\eë1Ø2%mtf\16)\83\ajm$@E\8a\9c\88`¤Ç$\12\ 5*Ç:\8cE\91±\96\8eõ\98Dê³"\12×Ça¿¥X6\91\ 2\97Á°E¨¤e¿\rC$n ÙP\8fÁb\eýXY\14 º:\19eëãè»94\14\8e\12_´¯\94ô\18Óâ\8eÌ<ë°\18\1fvб²(«\1f5e`\9a\ 6\8eÒâ\86\vPñO\8f±(<\1eÓêP\8fÁ"7\80¦Æ:\f\16AoìY\87!0z7~]\11\18wªÖ(\94\9dåÎJ\81\93°a¤Ç$RIÞ¢Cù(f¹T!|ö\ 4\90\1d\1cÄ@t\9e \v?);Ng)\8e\94tݱ\9cÎ+\8b«\ 1VÒ±¢\v\e6\1a\9f\81\19?pÒÃ\10\93³DÔüh)¼\85qü·\ e\v\8cd\89JñjÈôÞä¿uP`¨w\96&J9HF#ï6Πí"5
-\95c{"1ÖK\81ÿfÙ¹\93(L\86J\ 6-R\ 2Dñ \ 4\11øo\1d\14\18Ú\ 1ô\14è1¢~º|õãë\16\a<¹¼\81\84H\r0c]&\97×ÜÑÅÏÓ\1f.'W\8bYÒÝ$'Ýj;[m7\7f»ü\15£à\0\19\8d:
\8er\1aöÃÉÝä~;[Ó3\bØH´Ð,ÆÏpÑ\11ý\86ì/þr¶\9e¯¶óÕ-ý\8c6S3\1e\87G/v÷÷Ýz+Ë`Ëe\19êAÕ\19\96£\84\ 13bBÄ,\9e\94Ò\848ëÅdy5áÕaÒ6\ fSNV×¼:ê\8a¢\f¿ñúARÿì\19Öf\1dѱ,\9b0ÃèEþW\17$%,\8aü£ê©Z°¢yÔçònÆúàJ¬¢æo\96÷dQ\16\1d·D\9a·AÑË®[lflÏ\ 2-ã,ØùE4Ú_¤.YCnçû­,FÙ`+?ÜMXh\84Ǫ\8eÎ1gýàÅiS\aý¢âÿ ©Ñ¥-\8aÀì/þÜ8(G\a\13þØW/\1f¨w²\9eMÔÿq9}Ñ1O×ó\87à¯\bDÑ g\93éo\93Û\99l;jÂ,ø÷s)\e\95Dñ2PR¼Ô\1fÇG9êf¶\ e
-æ¨\c<x.E\ eÎ\eµC¹·¿\83\12À¾¨Üj³\9d,\16ØÙnEþXaKâ   =YÌ\11?éWÜlY\19~>(Çsü\18uC¿£¯\9bh¦Áåt>¹]u\e9iè\ 5#\14q\f\7f\ e\99\1e?g]q\ 4©ÐýÞ×b\18BÞ¬¶ëîz7ÕÝ@¥õ½µ       
-à]ξüÃ\18q:»ÚÝÞ\86K\12m      \v\12\1cëõöJ5>Þ¯;\×K \a\88\12\9d\1f\1eó®PÅ´\17\15\10\8f\a¡ï`d\ f\1a±äHf
-½Ø®;\9a\e÷~tÄä\rý\80¤9+Â\15p7y\98qø§\83U½ä\ 5W×¢82\98ýí\1c\ 6\8c\8bÙ6F|ÜÄ-2&I\8ev÷û\1a²1¦\13þ\9dÞv·ñ²;\94ÉðÃ4\ 3ªÙ*îx"ÑTÌ\89\12ø\19¯ýh\83\9f\9e¡H\18ìü¿»+V\15\13tµý{\10?Ïéû\ 2J\18W\83]ïvÛû]\f\9fÑ\17\1eç¦\7fúéº!A\8f2ܲþ~G5ñ'TÝl×\93Õ-gt¨©ª¬  &p
-·£öeSÑQÔ\14\1fyô5­\a\9a\9eO>òöᥢ\9eȳn³½\98®ç÷¼a¨^UþD\ e:'äè\8fj\89ð§÷æ+'¨[ÙB\9cÀA¨j\ 6º\1d_?LVÓ\19K\v-\8a2\9eÙ3W¾ \\95éKF\1dS5j3pÈv Êùl²\18ìÓµ¿a  ¦Õ¶ÄËý%ÊôjKTy\88«Ü!ù\u)\91ÆU\97'ïÏ.HY´{¨l\94\98â÷ìS%'ªÖ´
-'ðå4ç\95\9a\94$þñµÖ¼Y\91»Ã\87·\90¼§\9a¨\r²\9bï\9dÚ\98½D\95£ºîÉ/       \8eʯ{\84ú}\1c÷è\88l\80÷¸U<hçÇ\1fØkñîÇ¢\v\1d\15\1féÄD:¹¼[w»Û;ú\1d\ 5°åJo»k\ e®9Ü»\r)\83\89ú\f\7f\ 5íéÅ\9dO
\12ª¿\81\87ª£\83Fy=_\84¦
-\15ÃZù¢Ù2_É\r\8f`\16s\84gPèsS69\19\1cwDßW÷\8a\8a\83jñy\1cl£Ô¹¢\16Þ\b\14±\8fq(õ9\9d=̧Rü"\b·ñ¤\7fNÞ§á\9a\90\b KÝ«Cðöç@+ãõn½½\vÙ:\8e±\96ú|\15\86ô\1e\1fQØÎn¶³{¶\0>ïÓLéi$ÿªYT½¢w\80%Ìê\ 1þe¾\9cÇ\84\16ñÔ\ e1\94¥mE<δ\a·Ú-¯\82 |vßÝð\93øÔIO÷}ìgàÀZæ»CB+&Á9Òâ`:Yñx$\94\9a7±UÙ­2¤\17ÏS\ 1µ\1c«\8fÐaï\19HÒ@5Ч³\a¤G\eK\8f`'\8d\92\9f§±È¹YwKÖ
-\1e¦\1eôö"¨?Ö      >ÌW×ÝG6U\89O#ë'6@[Ò\8aGôn°\97?á¨ö£ÛñnÛ\1d\9dÎ\16³X}£WÝ\14\9aÜ\ e÷ý`\8cØÜ£}ÉjûÈw3_È©G£\ 6\1f+ÈýþU\9eýÍ\ fµÜxpÉ       ¿\99û\9aäD\9cÂ%'ïWó\9b¹ä\94½SÿKwÛ\85x\8e`\16\13þäj¶ý8\9b±\9fÓ)Ó\80è7\1am\1a½Bß]\ 6\9fÐÈ\91\84Ø\89÷\13ÚÒNÞ¿{ó?z\10--ë"ï6!\1cáì5Y\f½Xé
-^EOå
-\14z\8fì\bµ\&»Ô¦À\8b\9c^àÄ\11Øs\9f\8b¦|Íã\1cüur\eñ Ñè\b/\ 3ý\15\8fþR_\8b¿p\8e\164èåh\88Ì}ù\ f¶j¼;p¯;¦×ÝÃü:ÜÆø,$ö7¾ùÈ}ãÀ Ø \ f\r{\84\97\93õmx;âÚêï7¢\aÝ¿ÏÜQÿ²\96mH6ÒÁ\99Ù˲þÕI%îo\88OlÖ\87\eß\11tü¿K¯=è­Êñ[<ë5 ¦>°[oçÓu·én8, 9m7áùlÙm¥\89â2ÁälÝ¡|ß­\99éUð'èÓKB\81¯ãÓG\87´/o\9b>\11UÄç\9eý`Aï0C\bÆ]*§èÓ\1a\1e£\8fý \1aÂ+µå{:_ϦÛný\a\87g|@\97Æ×\84\17x¡¢é1þ\85E¼|U°§û£\r]\95^\ f\90¶pØý}7Y²\12xÉc9[\10\95\8dá\93þ\8b\8fóí\94K:ô\8aêò%ª·\9eQ¢^\94\8aîïÝ°Á{¶@»\9eÞ\97óVØ«\93\ 4¹Ð\1dÞý̧úb\bÉ\90ù.*Ô]HhP¹>﫯¨Ñ\ 1g\1cök\11\ 6ù]>u\965¿>T\88ý\8cÒ[ºÕ>\9bxsJ\86À«zKØ\8f\17\8bά\80wQÏé\95a+³T²uú¸·\97³\92\83\ e;·ç³Ín!y\87\8b\8dÉÉdz\17k5d\9d1\ 5ï¹Ë\8b\0U\87¾qì;å^\81öæ3o#\ fí">ñ¸\99ßîÖæ¥ø¼õ%/\aU\8d^zì«6¼»\aÙÕw\7f¿\17\15Ø{½\87Úå@¨?\9fý¾Cð^ƯjÆ|¿?2µ~B\97ËÒ\8cÎë\11jv\7f\ fǾUïÝ÷l\13+\7füS/l\95\^\97tB$­ÀçNi,öþ#ïmðýpY¾è\175b\9c¨\17Îì¾Wí\15ìÜÑ`ïg%ÜÛû'4ó7N\85V\ 6ïN-=qý\10
-×L?gÇ)\9e.PÈ\r¾@øÆ\85\9fpXÐáÇ×ø,\91¿ë§NM\81\7fW[\15ôÖïâøíOÇ\94²ý\8a\8c&9í¦;:\e\1a\8d
-|YÓRX¨ÑÕÁãó\a2È?/_ý÷Õÿ\ 1\19¬¢\97endstream
-endobj
-1490 0 obj<</Type/Page/Parent 1479 0 R/Contents 1491 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 232 0 R>>endobj
-1491 0 obj<</Filter/FlateDecode/Length 3971      >>stream
-x\ 1Å[]sSG\12}çWÜÇì\83\8dæ~IzÚ
-°l¨\8d!\8b\9d"¯²-À\89\92\fáßï9Ý3Ý}%\e\elLR\95ptîÌt÷ôôtÏ\fÿ{\94ª\11þMÕ¸®\9a¾:Y<\1aí\8fð\8býçõ¿ùKÕ·SüwQ5Óý\94Áyuø(ÀEÕuû}à\ 2\T\93ñ ]\80\8b*ui¿\v\r#\ 6Û\8f\ 6ÝF\fv2\1d²\ 1/ª:\8d\ 6ÃF\f\16Ò\8føMOE\9bn\7f\ 2\89\ 1*\1aà¢\9a6ìU>$\17 \ 4jFìÔÈ®e?u\r)a\85v¿Î\80\r\ 3DúÝ\9f\ 62b°mC\eI?l\1a1ØéhØ6`êI\95¼mÄ`ûñ~\13Ù\801ߣvÐVÕ\19M÷[SG\80«\93¹,¾\91\11\9b:Ϊz¥­\8aïlÀ¦\8e±Y\9dܶÆLÁþÎ\ 6\8c¶09¦ÎÙ\80¡l\92)06b°êìÆ\8a)ºi\8f)Í3«ÀLQ8UÝÉ\88\8b)\ 2+¦°¶¢z`\ 3\86:\10¦«\9c\8d\18,$l#\e0Øñ\14\92\87\ 1Ó\14=æÝYÆ\80®\9fÊÒ\10;( ®\ 1æ\18à\9cÄ\80Ò\ e¢§Ü      Û\ 5\b+@¶>\90²\16»®\97e#\8bO\ 1\e\ 6\88\86£Ä^åK\92\11\83m&\ 3\f\166÷í\ 4°¥¬F\85hX\8bu\8c\8c\18lKÁ¼iÄ°lJ´\96µÕA\11\17ÜQ\ 4ø \99Ë\83\18\191\aí8\9dÎ\ 6¬®\80       3V\aMcHR¼S\80\ f\9a¹\94¸\98;##V\ 3B\17gaÐ\82Á\8eÅÃ\9c\r\18"á[\88\8a4jÄ\89ÔÚ\ 2\¤Ìe½\8d\8cØìà¬Ú¡´\1d\8b\80Î\ 6L+u\b\94\9d±"R\vO´è¬ÀD*\9c\8aàdÄ\14\89þ\10Ø\809h\83\90älÄ`k:\86³*Òxì.Ú
-p\912\97E02bNM¢HÎ\ 6¬"¥Àê =·§ì-­\0\1f4s©N\94ÖÈ\881(\96æ\80\r\18ìtL\91¼mÀ\10    q¤\rlÄ`Ñ\13\ 4¶¶\11#ZÕÍ`Ü\88ÁNêA[U\16I\87-\8dV\80+\9b¹lQ##¶IwV'½´Å(\93Ê;ÖA\9b±;\7f\aÍ\\1eÄÈ\88uZG\957e\n\11o\18Ï$\10+`¯\ 1æ¸ì\9cÄåÒ.¡}\97{aÃ\881"B
-\14\911\84\r\98ò\8c\87m\ 3¦o\8bç[Û\88Á¶cÎ\9a³\ 1\83Ŭ5\81\95\1d¡\99ÒÁrv¦\80\8eP8ä\96\82\1f\92\v\90Êp]9\19\96\ 1\ 1\83Å\1e3h\e0\rÁ¼#´\r\18Ê4õ ç\88Áö\TÞV|¥\99tî 
-D\1d®QãDUùÐUÍíR=Ájó\86Ú)¢\0³[\89¾\8d\0ï´pÒ©s\ ei\83\ e\ej§0¿ÅÏF\80wZ8éÅ9\874;£§7ÔN%ª\17I\ 5\85\93^\9cs\88\9eóa¤º\ f¦ÁÝG\0;\85\98Ì©¿\18\17 :m¸yé\97l\181õè8¤5\8d\98\ 2É|8\e0Ø)3¹Ð6`8Hbôs6bºOcòSª\88\99ÉqËó¶j]lú\16ý\1a\ 1nÝÌ%¤þ\18ÔÈ\88©,CY`\ 3\ 6;fú\18Ø\80\88Õ ³*\12¶fwM\ 1.Ræ²\bFF\8cA1\8fX\eÎ\ 6L\91X\9e:+\83ÖÓP\98)°A\vÇ-nR9\191ºE\98m\ 2«Ý"\97\f\93\89v«¡\88kW!\1a"w\1feÄ1#\ 6\8b5\11\16>m\et-À¥Í\Ât'¸\ 4¿\94n\ 3\1d·Bg¹}p£¥áe¿PÀ\86\ 1æíÃ9Ù>J;N\ 2ì#½¨"\8e9"KÓÀ\ 6\f¶¯\87lÀ`¥¸ò¶²\86ë:\14\ 5
-8ª¬á©_8\191ºEm\ 3µ¥\1f5\91c
-ÌS\ 1guФ%\83\8e\aÍ\B\9a×a©òKµ\83ct\vûÀO\9c\r\98\832\ 5\rlÀ`'Üà\9dU\91FZP¨H\ 2\¤Ìa\13\84¢Æ\ 5\88N[\99&#¥Ó$á.ï¯
-¬Ó©\9eNFL=\19"\ 3\e0X\94\90]`Å­Ó8\94\ 4
-8¨ìQ\85K£        LàdÄ\1c4Á¸\81\r\18,6êqd\ 3\ 6;al\rm\ 3F¨BOPG$¤P\11\83í\98Á\ 46`ÆeZØYµ°\1cg\15\v\vp\vgn\9a°(ô\9c\8b\\80\10\17á\rÊXÃ\88Á¿`\bg\ 3\ 6\8b)\87¸Î\ 6\fV\94tVÅEXg$\13/cÌWß\ e\10Ça"®q\ 1\9a¸Ffqs¯<é\83\ 6\8c\b\ 6p\16g\ 3¦¸<N\blÀ°=ªoØÞÚª2\8d\168*½\0·}æTzã\ 24e\8cÌÊä\96Y\19gU\99ªðÎ\ 6lÊ8«Ê䶺Ý'cU\19lKÜÂU\19\ 1®Læ¦L!¹_\8d$"\ 5\88!kî·NF\f\16\892¬kM#\ 6\8bð\ 47s6`°Ø|0oÎ\ 6\f\16Q(²ª\f2\ 2;uM\ 2\\99Ì©ôÆ\ 5\88NU\19##\ 6ÛÖ´\83³\ 1\83\ 2C8\e0\1c      ÛtdEÜ)\ f«\16\85&òg
\bY++]c\1ca4\9c1N\9c
-\10\9cl=Ö,@ÊÁ1\8d\131d[ÈbÈ\9fM\8cÌè¾gT\804
-÷9ãä\80O+\ eÙù±Å«Ó8\82¯1\85\11b\0?7Æ\11ÆÁ¶Ø8\15 \15ftµf\ 1RaF|ã\ 2\ 4\87Ú&´\v\10\ß!¦x;\87à&}\94%@¤?Ø \83r\ 1\82\93\13tëS\8cßj%%ËOþl\ e\9b\99\94j\18Ø)^\ 4HM\96\8b\1aù3\eÉF\97\19mdÔ\93£G\8f\9f#}\1aUGoÅ=F¸\ 4\18·ÕÑ©\Ñàç\93\9f\8efÇçójù¶zº¼ØÌ/6ë\7f\1cý\89VXc\89­öèFh¶W³ÙOOßÏ>læ+~Ã\99\ 5\81NN\7fÂ*ØçoH\8dÊ/¿-ÏÏN>Ë\87H?Ƽ(â\87\a³\8bÙ»ù\ 2\ 3\91Â\16×ö\99Ùã\ f\18«Îø\97å'\91\ 5G©£z\9a\7f\9c]\9cò3\1c\93òá\9b÷\9fË\87mÓè\87û÷ÿOJ#\ eýø9\12  5\rOâ`\19l\925u\83\r\92X¡.\92\1d~^oæ\v\82\a \9eËJ\88iÎæ"4\9c¡é2qÿ2ߺǬÜ\1eª\9cm\8dT'\9e\f\17ù\9f®æ³ÍÙÅ;*ÖÂí\9bv8;(7ý7\99ðò1î\8a\8a²Õ\9b³\8bÓ<ÅH$¦)Ï\5ýûñÁ\l\16ýf`3\9cdOïa¢\8bÒ5\ ejÆÛj×2\95\ f§öË£\96\8aÎMq¸ù|.¦ÀþÔôe¡\84\95\85³5ûùùÙ¹º\14NÍpgòMë\0gw\14b\8f\17\ 6\93A\ e\ e9$}Æ\16Èu®\81Zäo1RËùÒ\802p\føWú6ÍËJÉ\16\b\ 1\90wY°\ 5ê½/GÀÉN\ 4\-ßbN(0r¯.M²Ä;!0Õão\9a­"ó\1dþ\8f\8c\9fò\85 \960\13\1eÕPß\f£ÚëålQ\164\8e\8e&Yøê7Õ·\84µ¾¿\87%z\aÕö³n{\13\9c"o+´\eÔ®ó¹\97\9e(],Ba§|{öîr\85 ¸¼ \8bd\9cÛª8ä]$¾¹mÑ\89'©;³´\e²®Sjú\87(Õï§iÙ«v\95B      4}\90\9dé\8b\86\1d(¥òsSýâÞ\83/uúâ.ËDggú\9añw\\82ÈÒiî½\84;\89\1dOlwÂêWLZ^rì\1d'ýMæá|sù\81¿bã\18\8f\1eh\1d\9a\9a,\r\17\wk5¯Xpo\96«¿Ö\e[n8&ñyG^,¾\8cE~·È\7fóâÛGHét&¥Z\eÆÈþ+4|\v2\94\92\9e\e\1fÎW\1f5·FÎkûýmäºÓ78ÐT¥ÚñVØפ>æ@\87ïg«\1cû±¦¦\96ÖoÅ~'\8eç\9bOó¹DI\14\f­e÷o,Íc\89cIaÎï\a\19$2#±×ã?~£\9c¨È|Ïùä\9e\ eÎ溼ÏÞd\93¢vÃ5²í®º\99Gͯ[\95W¸«¬v\94ð\ f³%\¥gÑ-ñ|v[·é­\1d\15^:ÊVÇ,ue§¿jÄïõ[JcNzÈÇxrÇùº1!S=CIú\ 2\ 5î;îÚZº`\võT;g¡x¶S\12Ë8á8\ 1îK\ 5{\ 1\8f¦×Q,\³x$út¶yÏ\1f\99\7f[Áz8[\1cÏø+\ e²»Ûºæm\8c\89\876j\18/GQF\r\1c\19\ 5ºLµÕ£/g\v-'PR[:úz¾^\9e_\96T\ 6Gq-J}Í­ÏdÝâ\86½\19\95äUt\81oÛ¾ûár¥}ântZRÁß/Îþ~üëÙÅ¥¤ë<¦/¾SÁvçZÃÃü¥\86¿\8d·ý&\ef\8fG^;æÈy_Þ\11\1fÏ7'\8fß/×zè\81ø\84ï\1f \89û²&EþñV²ÀÙÌ\19^\14\7fÅéû¸\7f\82¤\86þ\80ç\97Å\83¿<Ì÷`S-{ñÞNØ¡ì9\91\8b²Óô&y÷ý·ïëu.\92#\83ò]\9dRçô,J}±^c©\9f¼7ÉñVãÇØ\1c\87ä\9có=yä\13Ã<ÂØ-V¾¸\8e­|IJâþÕL¢\e\16¾\aÈËõ\\97m< `ÈÓ \81­Ò\8f"¾¢¤ÏÑ´\84d\84ö&W$×OÖ\97\99b\94\9aÇáÛFÙ­û\8eÞKøÂ;\ 5ÏB^Î7O^¼:¤mq\11äiõ\95ñóéìD»@ÒÖO\1e&\80¤ºÖ\89Ç\85ü¶\8a»UàU*þzðË«Ã#Qq\10\9eË\89\ 5îý-è\7fÙÞ÷ʦºQÅ0\1fÛ\8aíV\82¦\ 2®\9b,;©\82
-æ¾÷*äWt\86ÇÚ¢Ïö\19\ 4\17ènå÷ì¥L\b\9eòÛJüu¹üKK9Þß=\8cw]£\9fé"IR\f\93pÂÝ\9cò\85*ÃÀ`é}Ð\ 6çÞ\ fsºp¥6Y\97\98Vâ2  \1ewSV\89\9b\aNhÌ*\17\1f\8f\1a\1cQùú\89Êñ
-ÇÛå \f\89¢\1doZZ5µLkmi"Êø\92[])ùýþ\98j©ýâù\1fÂfXyÐw+\89|\85\1aõãÙü\13ÍÀü·Î{#î\90Ä2qÓ\18\98\0/yú\a9$»ÂDYOì\94É7x>\9d\1en\93\94á*ÄÒøõå\87\ fËÕ\86
-âÔÉV§Í¤ÅÊÊf\12·pvdx\85Dßç'Ó³m\ 6zjì´B\0å:nýäf
-\178~½¶\95\11à\8c\11öú\81\191NÆir$\94\92ÖZÌáýß-gnv²Z®×2q\98î&'\99Õúò\18©\87þ\8eÀzפã\9bfÓ´Kí`²ðpr'\9câ6\94:`kð\82ót\99/|bJfêòÎÈ\ 2¯ª+V\88·j\83õ\193\1dV¸2^ìä\9fü\ 5¯doyÀr{\9bà±1»ÞãM<ö¸8ͺ±\98ãâ`³\94ï(¨=~ê\16\89\9bX[\9a;\85ê\9b«6¤õàÈ­ù\8e\87À×X\ 3ïãEu¾\90\19j®ç\89ß ùµAì\8ahµk¥W¯ÿóïׯ~\97£6\94 vÅ\7f\8düwø\19ÏîtÖGxm:Ô]\ f\1e\1fZ÷g¯\ e~~ñ\922áá\97­\9d;hxSÓÔä4\1eïh\86\ 6ÐóG3ÀóåêäªcWÛl\ 6YÖfI\1d\ 6Ç6ÇZäào\9e\96ä¢ÚäÂ'^\ 2-fx° ¯;ÒC\9c§g\ 3áÕ§.\ 2\¤my\82\1eâ\99!\ ef\7f}\85\1d®Ððt¹\98å\8a5ìã\ 3½íeÉMÓw7Þ\94ÆÃÉ-¥ñ÷\8ei\8f\9a!AOâ^.7zÊ\16ãÿìxy)) >\1c¤\9d³Ó\13L¤82^VØ\99ûìô\14\eüZ7\r\1c\16\8e\8aYï¦ÈÍ­áty~Ç\83\92\9cÉeÎ.]Õ\83ËóÍÙ\a½7çë\92\906Ã7ßÎNLþ¾<?ºY\82ûÿ"ë\14+\88ü\8cäÆ\12BU\ e%Ä/8\a+n\8dK\12«
-$:ûáRupÆÝ}ùV§\16\ f!ûâ\1fÏÎÖ\9bÕÙñåFë\10^\83XîÊ\87!âNH\9aìÂ&<M
-/\90ªÍj®ßâѧu®\97ÜxyhwR\95\1f\ eö\e\ flR#\97i¡ö¨ñ×Vâ\91\rÞ\80n\15\1f/. çå    O«%wÃù\aÖÎ\ fÌP£ce\85ö`ýÁ\82¦\16»\19\1d\97´èPç\87=±«\1fóçÔäj\10OVå\89\e4\99àI]/\7f\a\ 5\ e\7f>xò3\1fzü9?ÙTÏ\96'\97|Ég\17³ü\eïmÂ-âx4å\8b¸\8f\7f\1d=úï£ÿ\ 3>eÛÄendstream
-endobj
-1492 0 obj<</Type/Page/Parent 1479 0 R/Contents 1493 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 275 0 R>>endobj
-1493 0 obj<</Filter/FlateDecode/Length 3033      >>stream
-x\ 1Õ[M\93\e·\11½ï¯\98C\ eÊa©Á|Ï)µ^EÑVY\91"®¬\Gä¬\96\16?Ö$W\92ýëóº\e\féd+)\93\8a]µæ\9b7h Ñ\8d\aþåÂ%)þuI\9d%y\95ÌV\17é$Å\93øçÝßèIR\15-þ®\92¼\9d8\ f\96ÉôÂÀUR\96\93Êp\ 6®\12\97\16\93Ì\90\16\83ÍêImY\83ÁVí@p^Ñ\80òrÒ`@e\13\ 1\rÈ@4t%\8d\96ß$Òb°y\ e     \865\18lKò\95\95\f#    \9d2ÐN=׶¤hä\f¤.ÛInȲ Á§í¤\80Ð\86g\88\ 1   5\10\rñ8¼É=Rò­Ð\95o( 6\f\9cs\rÔP\92{,\9b\1cÍCC\ 6ÚÐs.sÔ0\92¬\7f     KÄI\17À£!\e\ 4®I'­\a,T!Ô\80Ðð&\91\16\83­rL\84\8aµx\95d.\851\95\15\8a\rÂ\93U2PM<G\93^Â9éM\1e-Ï]A}\85)` \r=ç\F£\8d\83ÒÕøë×\81\0jÇë pìøÊ\19¸Jà\ e\98\1d\16\f$ï wUR¦<%/õ.W2`%xÊ='~­$7,ÚT}U@l\18¸\86\94QÎ@r¹\ 6£QÒb\19kkY\8c=`°p\9bÜ°2 ºæ)ç%Z0Ð\ 1yNF\109\ 3!4kHh$-\ 6[SôQVº¬hMùÉ+\18h\97\9e\93>"g ¬U ,i;\ 3i\ 6\1cu\18\eJ\87%9xè\90\81vè9é!r\ 6\86\ e#'\1dúv.#\a,"i1\86SPT4¬Á4;´x\94\95Á浺VÁ@\aë9\97Ò;JZL\9d¦XZÊò\0\9dc3ó\92(\18\90T\ 31=l«È\19H2\1dÉ\8c$\ f5o\e\808ÔÀ!\ 6\9fèEâ\f\84Ð4\85\1aJZ\f6oà¼\865\18lY\ f\ 4[\8c°\ 4É©i+ÃmJu\83\9c\81\ e×sX\9e\9c\814\Ú'\94´\18lQc\86\94å\ 1`UÑÎ\84\1d\ f£a@=\1a¸Â\16O=F\8e\9bå\19Ï+['g@Í\fôÆR\8e\8d%\10þÊÓ\1aÛ\19HC¡@«\r-\ 6\8b\10\ 1sŦ2oN²\f\ e\119\ 3\9d7ÏÉ\8e¦¤4LM6\90\86\9e\93\19\8e\9c\81\18MFíµ!\vÍZ³Û\v\88B\ 3\a-\8aD9\ 3!\14á93¤\b­e·g\153\ 6*Ôs¼\85*g \bm\12%Eh%\99\80\be B=W7p\9a,r\ 6\92PÒTI\11ZJ\96 B\19¨PÏ\89¾\9130
-\8d¤\b\85kÅí,c B=\87\ 5\ 2\r#g     %\aWR\84f\92\ 5ÈH\19¨PÏÉÐ"g \84b?Î\93,\92"ÔI\86 B\19¨PÏ\89\94È\19HB+,·,\92"\14Ñ\826$d:0\ 6\ 3\12j ÖT\8e\9c\81\10\9aÑ\9aR\92Ö°«%CÀ\849\ f\81~\rË\8b¬\ 4ÅßÐ\8e\82Ë !m$®2Ù\83\80¨}àx\ 5
-Rl¢¼\8agM\80¶ó\\93Q\7f\f\883\90ì[!\14+)Bs³\8d;\ 6*Ôs\rÅ}å¤\1d§\9ba0\f´\9dç°Å\16>/%Î@\9amr\ 1IR\89´\18,º,\r+]ò~\19ºd ]z\ eë9\87¢´±2G&E¿\14¾9\8fåßÄ(Bo8\9d\14ò\1a\ fE!8Ìvc8\85à`¥\9r\98JöRv\10þM\ 2\15yo\89\f\a\ 6Âp(
-[¬"ô\83\r\eç\9e@\19HcçÓKä\14\82CD2"\r¤±Sæ\1e\ 4c41Áâß<\85\9c\r\vC\13\9bQ\86\91òì\1a\b\81Èåé(à9\16\88t#\ 6\1d\ 5z\86Í\15\19E\10\87# r.\12À\8dxmÊ>̦CÂ*G\ eEh\84¼\1a[F \f\ 4\87\10d9\85à°U",Æv
-Á!)F¬\89\9cBJP8\9e\ 4Î@p99Glg 8\9cõ\8cL\ 3Á5\94ûj;\858\19\11¢B\7f\ 6\82ÃbEl\8b\9cBpEfu7\10\1cR   3N\ 3ÁU\ e\11Ce*\ 4×PhSNá*)P\91\19\b\ ec1ýýp{ñü%úH\93Û;,683¼².\92Û9\17Jðxöì¶û¸ì\93Í]r½Yïûõ~÷çÛ\9fÑ
-\ 1ÂQ«Kßì2£fÏ®ï»\87}¿¥wháA\1e\84Ì\9fa\ f\9aÐ3l\1dáÉtßÍ>\93lz^ â4µ\7f÷§\97Sz\86\18Uf­\7f¶ÚÌ\1f\97\8dÔ\1cY\82<\9f\9cò\1f\97×4®ç/\11:½îy\86        d\b:BEÇJf\99\1fôÍz¿Å¸gûÅfM-\91o#\90{²[Ïé\19Ê\18U|6Û¬ï\16\9f\1e·]h\ 1\9b×è\83çð\ 4ªz\rÙ¦å@31\9fÑl¶|\9c÷¬\ 1Â\ 4Ò\16¯\95±\13Î\1a%æéTc?:=A!$0õX!1\16\ 2E\16\²{\9c/öÞõÂãbOû0(\81\84\83\98Åê°íg¿ÎdQQ\ 2áU;í\80\ fz\v\1a ¦0Ö ç%c5X÷ûnß-?\93!r\1f\13\ e$\9eô\ 1\8eÑ4\98K$ì\98P»àeôqY\84È\95MZ\84C\89|fE r¥1¢u_ºÅ2Æ?l\11\95oÐ/wý×û~+\81\11G\86ÓLBPÒ!\8b8Ðòp­¼\80\8d>v»^b5»æ\99Wº·ÑÁJGx>ð±/»YÇ!9ó³~R\7f\19rIr2»³"\v#Kp²ôïöVñB»·ö³Çíbý\89\ 4\16È0ÒÆûÖ´[}ìxa!U\f\eîÑá\9câ!ªl¢rÜPÛÖ,/¤wl¸¸¼\ eöÓï#ºM&^\91˺\1e\f\7f´i¾ßy\93dH´b\1c¸ßìdÏA\815X$¡\95Å\9b+}/jCbô°Ýìû\98M\14'\v\rê\vAQ\87Î\a\e*ÊâC[\1dWv\81\14r{×Í$¶!qÈ\82g\1eè\96\15ùÉs\87¨\1e\8aÄ6Ðã\84ú\14íxe¡¦\1aó¹»Å¶ÿÚ-\97¼â\8aSEr5×\91_AET_\86\1a\96ÿ\95\867o¯ÿDÚ¡Ì\98Wa\aÛÝw²{ái\e\1eÎûõ¯ü&¾=\9d%-Dý\9dúÇöm\93v\14kG\8a?|Úvó\10<qT\8cË/\ 6O¬ß¶<½w\ e¬éµ±Û\ 5\9c\96Öä\7fÜ.Ä\97Ívñ~½\98mæýs\1cÞ¶»^Nx8Ù7íyã«+22\98=oáhk½\16\87î¡ñ>Üw\12Lqά\83çyg\84®ñç\91dfTÅAE\89cDzG\99\9f¿Ðh\90ÃUµ\ fZ\ 3\83ü!ÀOÁ¥«ð9c¨ùhs\89Î\89òIÕ\86\13è1m\ 6ª£¾\8cóþù2·hc­' \11\8e>|ó\13Û×\15\93\ e¦»zxè×óÅ7©\ 6àëw}\96\13ì\8dª\1cG\9c\1a§ø§,L   ÁfaªQñ\ 1½\bÇÔ\a\9bíª[Ë6\8a\1a»n£\8bÝîQ&\862\aÜ}9©i1Æñ\8a\1d'
-Pd¸d¯7«\87n»ØmÖ\ÝAyþ¼Q'ØÕër\89*¾]x8\1c\rÇ?ÝÌ>÷\1ct\ 6+oó@5\1cV      \15í\98\81\aégùoT©1i*6î¡BïúNRO0eð¹Ýâ7ÎÙ¨\\15\1cñ,:\8c;\r:!ùÐ\83y9Î×^wßÈ1Q¢k\9d߸\93o+_ì1\89÷XúY0n<pØ\18©4JÐ~Üðñ\ ew'\8a\18\1a\97ý\97\9e\93M[;=\8b\ eãN\7fG§QîuÔõ¶ÝW\9a\8eïÐó\8e\9a©\1e®¦\ fÛÅ\9eWÎà$§:\9d=\91´\96\8aVj\86§;\9c4\87ZM\97\e6Ê í¿^.Â÷\ 1\84¼9g^a´Â7W^N¸\8308²âlò\ 4¥°Ì\16>\8cÿ_è\84\9a\11G::ÀJ\ 1RÌÂ\ fqÝ4\ 4ïd\8f¬V*D(¾6!Ð\9by;ýOo){¦A\195&\83¿ûmI¢\88É\9bÞn¶¨N.\96\8b=\1f9q³ìÜg\19;\99®ð\95¾XöB\82hs\f\1cT\86\9eùêíû\7f\92\ 1M\99Ü
-<ïo¯Îe9:¢àæÎP\8béõ\eöB\9cÚ¢\17âè\19væ*|,<¯:Ò{P
-ßè\a\1agK/þ~æAxÿ>òV;{A\vÜq\1fúר\9cõ®\9f¿\92\833n\ ehÒ÷ãbý(Ö±\ 5Ëwýêã\16\aËýåÍ\rÙ\13ç\8f&\94~lç\7fÜoWrÝ\18\9f)QA\1c*6J\92®¼qN|\ ez\92ê\18=M\1fÂ\9bÉ\Q·ð\8b߬õdÚÿò\88­uÑqr\akºxÂ?\9a2]Ýû\1c\1eWyq/â\84\87\94\rámú\84\10.Y\93       áÇ\8f¾¾\9eAIo\13j\1c\9b=>\96q`±µòë\e\7f\8b\0·\91âç\8f\99ÉPp\997\1c\ 5\9ed®ÿé%W\1e\94²Æ\15\1dÜ\r\18\86Ë×Ý\fåòÍî\9et\eØÜ«Áõ(ºêS\9e¬\1eul\12¼n\97|!É®F\W\1ajôfʳ\80SX<\ f'&;Á\f\ 4·>ÖÏ\89\9f\ 5µF_ÝI)1\94] ¯|:\8c­-\16ÿý\17F\9c[R\17¾rHÀTÏKÂ\8d\ fù \822W\1aÜúÍô¹Ì\96­¬\7fè¶\ fÞÕµd\89\8b9k|\16¢ç¸s\13½:ÙðªÀõ5=ó>]hAâp±-d\91\1d\972\ 6Â\ e>w\88_\86ñ\ 5[&(VÑ3\ÙÖ\9a,/oq`<.\ e\1c8.\98&ܵÉp\eÔUø\9f©ø.1>\87N¯^ÿp\95¼Ýn~\86òÉ\8bÍìq\85\18\19¯Îä4Vڻ봥ë9_\164\88¿Þ^üãâ_ Y\131endstream
-endobj
-1494 0 obj<</Type/Page/Parent 1479 0 R/Contents 1495 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 321 0 R>>endobj
-1495 0 obj<</Filter/FlateDecode/Length 3868      >>stream
-x\ 1Õ[KsÛÈ\11¾ûWà¶vUD\13/\ 2È%%ËñÆ\87­8+%¾øBóaqM\12
-HÊÙ\7f\9f¯»gº\e\ 4eUR\92VÞ­²ùáÃ4¦\1fÓÝ3\80ÿý"MÆø?Mª,É'Élób<\1aã\8aþñëÏt%\99\14\rþÜ$y3J\ 3X'\97/\1cÜ$e9\9a8ÎÁMÒ\8cGµã\1cÜ$i\9a\8e2Gz\f\16Ï\88ϧGz\fv2é      ö\18\8cJ'¹,HT^bÈ&©\vz*\ 3\92ë \ 6\8eëQáH\8fÁf\93>ë0Ø<£)©`\8fÁVÕ¨ò¬Ã\9b$\eçd_\1dë1Ø|<Ê=ë0±5)kc\1d\ 6\19\8du\18n\1d\17½9{\f\16Ïñ¦ò\18,BÃÛÊc°\93rÔ¸Yy\f\16Ú{[y\f¶)zúz¼I\8a\93ì1Ø¢êYC\\9fe\bÑèz\ 6æúÀ¥p\ 1̨¤Çäú\9aLa¬Ã`\8b   MÉX\87ÉõY\7f¬Ãäz^\ 5:Öc°\19\eÊX\87ɹyO²Ç`«²§\91Ç0rÊFVÉ\1e\83Í
-r®±\ e\83\85\91\11\90Æ:\f\16!æmå1XY¹6Öa°Mݳ¤¸\ f\1e/Ô}\fÌ}\81\v+UI\8fÉ}\19­/c\1d\16çÂõ\8eå\15\15%\17\ 5­\c\1d&çr"2Öar.å\1c\eë1¹/£¼¤c=\ 6Û¤ä\ 2c\1d\86¡ÆUo¬Ç`\91\8bà \1dë1¹ îi\94O ªl&ð\1a²y­\80\8cì \94\1d\8eÜI¤Ç`S2\9bc\1d\16Ce\8e\96u\8e§\85\85)@=\e¹\149*Å´èNy¨a\88E\8eê±\ e\83E\16ªýX\87Á¢\98\92Iv\18öOKØÐX\8fÁNRRVÇ\8a:\93\ 6\8f\8bê00u\ 2\97Bl\95\94JzLêP\99p¬Ã`±²
-Ï:\f¶&§»±\ ecÂ(V\13ÇzLê\8cI\1d\9d\95¨SÒ\90¨\ e\ 3S'pi\9e\92X%=¦       ×d\7fc\1dÆC¹ê\19ë1X¬3¨£ceJEn© d`S
-\9c,}#=Æ\94P¶0a\1dê1Xq«±\ ecJ)\a\9b²2%®\92ÑJ\flJ\81\v1¬¤Çx(Z\1d,+c\1d&\e¦dCc\1d\ 6[\97\14ÿÆ:\8c        #míÊÊJO)uÄ\95Î\80&,+=pae+é1M\98Rb©¬\88\857)øE\ e\ 3\13\e¸ FI\8f!\16Å\rb\8du\18ì\84\ïX\87É\ e\1dë0Ø\86ó\80J¦Ö¶@\ fBU\85{Y\ 14_\aCkk\1c·¶q\=Æpã\1cDÛK+Ñ8\a1\17¬\98Ê\91\1e\83­¨=µ¡lÚbB\17\83i\ 5¨i#\87ÜÕ$Æ9\b¡\b\83\89#=\ 6\8b%\96zÖa\9a\10­\17\13ì1X6¬c\1d¦õB\81m,¯\97\ 2ñ«9_\0)Ã}xäÒ\82j\9f\912\10¹P³kÁÀ\ 6\ 6NÖº\91\1e\ 5ûE\87zLvÈISc\1d\86.èÓ \8b²â\186lt\f\ 3sLàÒ1\95×BI\8fñPt"ð·±\ eË\94zc1¥\88ÁÖTÇÝX\87\ 5MX%{\f\16QXzÖa°%%:7Öa°¨¢\9e\15S`7GË\89\97\7fÁÀL\118lË°,\94s\10Ê .bBJzL\86`e\94å\80 f\91\96\ 5\87\8e\0\r\88ÈQªJ¹­Ì¤{p\18b±°\1aÏ:Lö­ ß\ 4{\f+ ¸sÇzL6¢%kc=¦î\8d2\90±lÁ\1c©[ó²\0µ`ä°¼&\89q\ e\92\ 5©P\18é1Xl\v\vÏ:\f¶¤\9aàÆ:L\86 m¢±bý\8a\1e\17­ÏÀ¬\1f¸4ã))é1Äb\9b\84\87\1aë0Ø\86bÝXy(ÂK[\92\9c\81=4pTNKìBèN"=\86\8aà6c\1d\16Má6c%¶¢dôÈ\b&c\1d\86ËQ^*Çz\f\16)Í?\97\ 3\0m:\ 5\1cêÑ%F\1d\f%È8.A\ 21[N-Fz\f\16\ 2a@\13ËÖFÔZ\901° \v\1c-=¨©¤D'oeÂúÎ\19ØÀÀI8*ç f\93òã\95\19*#¹\13\16\1dcÃC@\85F\ egF©ã\1c$¡´å°\81"\14\15K3QÆÀ\84\ 6\ e\ 3\95s\10B3j4\8c\14¡Ø¦j      Î\18\98ÐÀIWg¤Ç4×\92ÄêP\8få¡PÓXL"b°hÏ1_c\1d\ 6\8bé×\8e\95  s©\88¦e`\13\ e\1cÎY0#åø\19¼M\b!){\ 4\1aÆ!)0\84¤q\1c\92\91Ãö·
-{\r\1aç YÀ\9e@¤Ç`1\ f?T´H¥ß\97\0a`Z\ 4NÂ5SR\ 6\9a¿\18ØÀÀQôdX¶t'\91<\90\92¼.\10\ 1:0rH
-8;å\e\99cXIûË     #e@\9c\83P\11Ñß \ 3Ñ\9dDzLæ¡\92a,'<ò¼&<\ 1&6pA\f#'6²"VY\11\8b\13\e=RI\19\98ØÀ\ 5±Jz¬³UVÄ¢ºjE¦Ò+\86\15#\ 4.\88QÒc\15«¬\88E\19Ñ\96\91j\88\9c\ 4\88ØÀ\ 51Jz¬b\95\15±8CÑ
-\9620#\ 4.\88QÒc\15«,\8bŪR\8fño\15\1a\18\91¡\94\83Q¢r,°\96Î\8aÕåß*00"A)\a£@åX Î\7fÔKü[\ 5\ 6F$(å`\14¨\1c\vD
-`ÿÐñ\aÿf\81\8ah\10é \94\83à²\12ÓQ\8e\ 5¢X²gH\ 4ÿV\81\81\11      J9\18\ 5*'ù@ú\ 6É#±30´IP\v\90o#cHæ\8eô\1a)zT\80à0ÛƸ7W/^¿\ 3\1e'WKp(µ8W¬\8aäjίVpyöòjúy½HÚerÑn÷\8bí~÷êê7\8c*a#\1au\16\86\9de4ìåÅõôf¿èè\1eÊÁ\90\a\97(O#º\86¢\1a¯\N7\9f§|\1fªw\11¯N·sº\96a³Zgal»¿\16\89´¿nªpõâý»K¾\15\8bb\\87\8b³õʦXè\14S¼êÈ+Ì\95Î\9f1\1d\bBóÂ3¢³\86øð¿µßX"Zð¼\88\12§[º\86Ô;NãSÞÓ\15¼[IóxS»]®¾\1cº\ 5\118\ajÆqî\7f¿|\9d±Ltq\93I¸ýã´»á\8bÕ(­éÍ\16Y(§+\bô8\99O/·í\9eï\82-ªx\17\9c°]Ìö\9f\89¨\ 2\854\8bRO>
-'\86|'\9a#\95\8cÆ\8e\ 6;_´ì0\ 4J£*e£ÿ\1cÝ´\fwaßSÅg²\13ÿB7Ò\e\9bh´Qø\ f%\92¨³\1c»ûª<2\7f>0ÿ¹Ø\8f¦\9a7Á*äz¶*ö\85\95^\9dn\7fçÉ!Æã3\13\8b\12\98º\8cV\ív\87Å\8e\10ÝY\14ûízÁnE÷`Ê\9c4à§\97áa´ÑÕà»]t»U»ýô\8aUǶV\99\15?\8c:\87:Fêa·\90 Æi´Úw*÷y\93ój¨\9cJ\12Íl^̾ÈB\10\ eÿV\83ãà\0îîÇ{10ø©x\9f·lYô6Ñ\84\83hÿ²à¸Dü¤M\8có\9bn\85ì ë\1e\ 6ȼ[ÁVÑþº\82æí·íº\9d²Y°\8b²åö­í¾®¶_جPYÍu*øNú+d\0\89I\1c\90TaÑ\ e\8d\8aÚ/\1f÷\8c\9aEe?®¶P\80\1dH\8bý»\93ü\b\85¾tíá\86o§ª\81¼É+þÄó\1fëRÔ+ÅÚê\87\ 5ºöAXüsÇ+\ e÷Öº\8eÖÓýb'é\b=¡¦£«\8b\ f¯ß\7f`oá5Á$f©Ý~:ûÊN÷kqÙµ\e¾èóë/«Y×îÚ%˦\93\91\a7OÔ\9fÎ\94\8e\12\11*ÂÀ\0o\17ëÅ\9em\80S¦"æºÑÍ·5O?\86Árµ\ e©\ 5ï\14t%L\97a\1d aX\1d¸\99îv\88m        xô\99\9a/f×Óí\17y\16Þù\15!A=d  æÓ´ÏN*?̨0®\96áÅ©ÆÀÇåGÖßW­;õ\82Zóµ­ät\12²áCj&²¢~t¼x\94ô\10N\ 3ç^L%¼QP,íøÙ¢\11ÓRÙ.Iã^a\8c\1aËòGG2\ e]ÀÃkæ%ª\96H!\ 3\81\96§Öð\1d\8bõD%\9a/\96ÓÃ\9a\97d\8e\ 5¢ÁzÓµûvÖò2ÀÉró\18kÕ+=R­QL}5\13·Þ\9b\90\7fjÊ×?55G-N?Ñ\ 2>xjéM÷^\10õ¡\97×ýD,.¼W#ìþǬ\ e'2é\1c/\17Ýíj&9\ 4YX»¤\ f1     ûHçn\14®\9b<B\9a½Cý´,iÊ~Ï\80\13 ¨Ïß#}oÓPs\»FÕ:\16mOöÒ°øFjÖnn\90\9bé¡Ø\84X\13qyþË\9bsºJ{­ô\11\1d\ 6\88\97ñæJ\fa;\13¬"\1f\au(Ç\1a\aç³ÙbÇ©\ 6\vÑÊ\89m\9ep\ 6©¥g×\1eº\10\a®nÍÚ9\9b\ 2't¥6`·+î6{=ÜÅ¿.iz8t¨ð\8dÝc¯\94`\8c3zOzl\82aOò~»ïÚùa¶G×M\93Ä;¿\98¤£u\9føï8ÿ\9a¶´\96\9bÈ\83Ã\8e"\9a\16+Q·ºw¸Vã9×]í\8e¶Ê£¶ã¶\18'Xy\13zóGW9*\89\ fSz:\8a\86GQ\1aª=&ØÄ\9e  Û7òV/ÌX\eº\8a­·5\98\12»\12é>\89\9d
-Ôn÷ûvÆ¡ê·oáè\0;uÛ\14.÷¼ÑÆ\91"^Ý?tHã%\14Mâ,£\8fëúö9Ú0¼9¬Öóh\1eÄ\876ʧìófµ\9dv+é,ñÒK·\96\8fîìÁ\ 3¢\82)\1d9\1f+8\£\17\9c\9aØ=Ä\14\9b\9cvù·Õþ\9a½\88·Ü\1aëçXâ·\92ºý>òíªÃ±GÛñ¾¿w²;ÜÜ´]ìUÆ\ fRÖð\1d\90x\16\9fÓ\1c)~Ôy\î§Ý>¶¹Èåºé?åÙÝæ³\1c\ 4 lõÆSa»\8d7RuxìDìÝ\8eÃ<V\9c>Së;\1c+hÐdÞ©üÉ\9dÞj»ØÏG3l/è\11ØõWÕ\13\96\fKêXµaÂ>_c\17·\9dR,þ\99¦K]·¶ÁØÞ\9aÓ\91¬âIÉ\8a£\10\9f\90éIß\89ÞzpÊ3\9f.6RÔp\86ö\88&ÁÛ\18Òĵa8f#/ßÛ\865Çmد\vZr!ìñ­\85µXo\ e_8\87Ó;Éx\80ë\ 3ì\89\7fãû8ÑY;.¼¥÷ÞÇ\195+§¥lÐh<í\ 2¼Û>A\95³Êï\84pTÚ\9fþÏ\8bí¢\9bÆ\rZ\89²-{\84ÕvÉ}2\ eÖñ Þ\93æ\94;UR\8d\9aþ\8aÄN­¯ÔÛÅç\83\1c   ú\92°^Ü.Ö\12løÊ\ 4o-\9e2Qþ\1fJ\1dU\ e\ 4\1ae\18q\15¾Ç\8f-Ó¢ëÚNÔB\8fû\84\19òN\95\84w\8dgøà§W\r\91\8e:ßãàï:v\0þ\÷DW;H\84Ýa»\8d¥\14\ 6ÑCF\9c:è&\bß$\94OrÞÂÖ\88\8aÓ;®~Ö\98ô\15ÿ0ÝÏ®CËf\ 5án\8b>-\13Ôp\99\1fY\90\8aà}\99\1f]\0¥O·\ 1¿\92\86\9e^Lk\acÝ]î\1a9Øcöu½\92Ccl¸ÿ¸¤\83\1dæQ\11 O0\9c?¡æ\8fS\ 5X\97^\15Àô\8fªÀ9Þzmnh¯Ì\89\ 4\1fÇÅ\1eåi\ 3oø´à\8b3¼°ö]\18T8ÊùWxÝ YÐNº\86âþ¸+Q\11ìý\ 6\8a\f;eÒ\86b\10ëÆ\8ek¸5Á×;åÿò\8aê15\8e:\95\8dmöÙ3Ãþø¤Bálñ9)T\90ÕÏ\ 6
-\r_{\9cT\88×ÚóòÐ\1d
-\rßs\9cT\88G?/\85ølxè¡á+\8d\93
-ñè\1fB!é\18(WÇ\9eü¤B|BüC($_ôÜ«\10\9f\91=/\85ØÆÃ\90\93·\r÷*ÄGC?\84B²o¿W!>òy^
-ÉÁê mã³\1aÊçtNòÝE\94òI\a¾ú*\9fEmÅËo.C\95ûª\ 4^Á·\17¡S¸W\1fn\15\9e\9d>uÝë\13\8e\97ûÕZ>\98Àf¡\89ßÎ]Ooã\1eÏ¿ºÂÛ\9d\ 3¾3Üñw;øz)~uñ\98íÎiÙÁY¯ßÕáóAþx\10ÿ:\99¿¾ÇÛJ~\8b\98|èÚßp"\9d¼mg\87\r¾9ÄQa8Äÿb.ó<9«Æ\r}Øw»Z\91óÿzõâ\1f\v"\93Õ\fendstream
-endobj
-1496 0 obj<</Type/Page/Parent 1479 0 R/Contents 1497 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1497 0 obj<</Filter/FlateDecode/Length 159       >>stream
+1479 0 obj<</Type/Page/Parent 1476 0 R/Contents 1480 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 59 0 R>>endobj
+1480 0 obj<</Filter/FlateDecode/Length 3822      >>stream
+x\ 1Í[Ûr\eG\ e}÷WLåe\9dª\15==WòiK¶l¯ª|'·ô\92\97\11EY\8cI\8e\96\17_þ~\ f\80n4\86Co\14[\92\95T¥tx¦»\ 14\1a@c&ÿ}ä\92\14ÿº¤Î\92¼J¦ËGé Å/ú\9f\ f\97¤*Føï2ÉG\83Ú\83E2~dà2©«\ egà2q¥\e\94v`E\93æå`\88Iërà< I\rÄÀ4\e\8c\fɤ£A\81qEJ\14\ 3\1aGT9ÌYÎZÿæ\19\15aP\r)å1¢\f¤Åht$yƲ\1aTX¬\1c\92\81.\96§\83L\8câ\92\92\ 1Q0J\80\18\96* Î@è]Ð\94:ÎÀe2¬`\9aÈ\19\b\bÆ\8c¤Å`a\16(¡ÓZ\f¶"{\1aÖàe\92¥å 7lNÛT:²&TÉhU\ 6¬J\84Ëd4¢qÊ\ 1f:Îág,©¤Å$\90\83}\rk0ØQ\86­\8e¬\b\84m"¿\11\81\18D\81<çà\16\10]I\8b1-ö\b")[\16\18¥¼Óõ\10³\v i\rÄ@\97c`$-¦ii·\rk0Ø:\87\ 1\rk0X¬ng\16\91ê\9a=]d`\10\9cs\19<ºP\92MTT\ 5»&\9bH\80\9a(pµ#aùA\9e4BH\93:,\1cI\8bÁb/+Ë\1a\f\16g
+\ 6Ô\89-\16=sËBï\80É\ 1y't¬Å`³\8al\14Y\83Áòá\8c¬\18\ 2\81G\9d·`\10\rá91\84r\ 6BÜ,\83!ã@\8b\82¶T\87Z\f¶Jig"k0X\ eU\865\18Ê8\8a-\91\15er²¬wü\82ATÆs"½r\ 6ª2JzeüHWT´\13\915\18cKöüÈ\1aLÊ°¿DÖ`R\86÷MY\8bi߲κ\16\83\1dug¶\18ù\b\1e\0\99-\ 6[\96t®#k0X9U\915\98\92\vÅ>3\96aVH2 ØW0\88\eà¹\9aÂ\7fä\fDT§¸\189\ 3es줴9\ 1\83E\ 2¶C-\16óã`D\81ø\14\1cÒ\fÇ3\ 6|Î#ÄÀtHç\I\8bI$\8aü\91å\98\94\8f\86\90ÄO+@§\r\9csôL$)#åpEr^N\8f\ 2h\9c\81>[F\8e³e\18\a\8fªü$4Î@\b
+\ 5°\1e¯@¤Å`\11\90ÂúÌ\1a\fvTÀýÌX\83á~)\9dÃÈZ\f6\eA'Ã\1a\fvÈVP©,\86\1d\94f¬Å`+:nqf>ÿy9\8cî'\80ôá \1f8ªa0-?I¤\f,Jv\ 5y\92A\1cè¹\9a2m®\9c\81ð[6\91r\ 6Â~°\10\16TÒb²½#="k°ØÞ.J{\11\87g\9d\19+ªä\14\90}\fÌ\19DU<'²+g`PE9QÅ\8fó¢+i±ª\12YQ%\8cÅ1\83\eEÖ`r£\9a\8c¤¬Å`q°àdÊ\8a¢¨ò4så\f¢¢\9e\13Í\9430(ª\9c(êÇ9G%w\9cT\16Dñ§Ù%g\10\17ô\5DF\8b\9c\81¨\ 1)èDÎ@Ø\ e\a\14úë¤\16\83Åú8F\915\18,|¹3Ö`°(| J\1ck0XÔ\8fV`\8bawXÜ\8eµ\98ܯ$×Õ\99-\ 6\8b*ÄJe1\8e/ßJâX\8bÁ"wZ©Øü\19\8b\ 6\85}\ 1jþÀ!èYÎ@2"\9d´8Ðb°¨=rÃRDΪ\8a\8f\12\87`\ 1´¢\81>"G\8e#r\18\87\vËÐOBã\f$i¨F\8f\ 3-\ 6\8bÃá\f+\ 6\80UÔá3\ 6Ñ\0\9e£2¾Ây¡'YVÊÊ\19$VÇ\15\10\az\ eI\vã\18\10g ¤á4\17I\8bÁ\965YN\87Z\fvD·ÞÈr\8a¤:\95\92\0ZÔ@\f\84\81
+®h+ÖÄb°ð=,ÊóÐP\8bÁ"¥tX\83á\99\19Y'\8e\15\91pqÑb c\10\9c\17AI\8bU¤È\8a\88~læ(\84Å\89-¦ÃBÇ0²²ß\9cZ}$\97¼J"q\8e\12\b\vRR\8a\9c\81\10(£x\15I\8bÉF\94J"ËKº¡¹Ê
+Ð%\ 3\87ø1B=K\ f²\85"D\88£X\139\99\13×8õ>ºã\ry\1c«!\10jÔ0Näd\1c\9ew:\9eâ\a2Îs\bÚhÎD\8e\17ÝI*m
+\91\93Ê:\81P\1eµ\ 5\94P\92]Àår'd7\14 .\108?\90\9fdËð\8a\99Ü¡d \838Ðs\ e®ZcKèI"-\86<\bÙ0@d\r\ 6;¢Z'²"-2&\99U\16e\10\17õ\9cý"G\ 1BOò¢\ 6\8b\11`½ÈÂ(\ 1Ë¢\9d±\10"`8,î¡\95\19k1\9d°\94\8c­3[\f\16\97²\ 6ÓQ û\81\19k0\15\85tv#˦@&ÕhÂ\7f«!<C»\96\r¡D!ôD\8eN\r\17\80\92B\1c\17!é谡ʱ È7êyü·
\19Ç¡G)\ 3±\18Ê¥:\89\\84àÐ,\1c\1a.B\b\ 2å\fÇ\82@  ½\82ðß*\88\ 2¢\94\81X\fÇo\98D.B,\86}GO\91¦§)y1¾4zGä¿u1Ï8¾«+e iMÎ\19¹\bÁáj\8b\8e\1ay%Mi  B¡F9\ 3ÁáNiƱ\90°¦\9e\16þ[\85ô\8c\83Ï¢gC\8fñb\11\ 6!#ÇB\86qØ141t\\84¤\0¥ÆÈE\18\9c\18ÖÏ\99!JÒ½ÒËÂá03W\eþ\9b¤\94\f\8c\85\9cG\7f\13ótòèÉ\v\94;i2¹DxA©\8cör]$\93\vn^ãçéãIs¾\98%íeò¬]mg«íæ÷É\9f\18\1a¥QG~ØQFÃ\1e\8f\8f_?=¦'\90éë\8cúâø1y·nÿ\9cM·ü;\9a\18ÅÈÿ~ÒNwKÌÙlçí\8aXª~r!\a¿æ\1f'ê!ôxõPä\97Ð2\873ïé\87Àéõ\98Ì\9a%\8d£>Ê°ø¥ò÷­æ5\8a\e\96\11$åý:>ßl×\8dß\1a\KÊ\a&|_\1dþ%#k\1få,°êr:`\17\1a¤Yð¯\97³ÕlÝ,ègôó«ÜoM2_m¶Íb¡n\87Ã\9fçõ\ 3S½b\1dñê&îÖéj»n/vÓp\Êá\ 3\93y\7f»jÖ\ 1bê&=»j®·³5ý\8e\10á\10p$D8Þ<\1c:\81ÿn¿Ð#èÅ\ 5\97L¶-ý\82+ðÈù\10\91\9cÊ>òd¨\8dÓð{³ºàÑé \18f~ÆÉlÃ\ 1\b\rÁ8\81\86+¸Ç½\9eÜ\11É÷äE\f3\15Þ¨\998\83\9e\8d\18¤Bô\11\93¼=ß6óÕ|õ\91\86¢«¬\86ñÚ¢[Øóðð4nÊj\9cM³<oØ<èZ\ 6SîoÜ\9daV\1c\881\15]Ç}]\91k.ç\1fwk/?ÞI\94z¨­ü\9abîLÞ\eL,*áÅCw\ 3Ñ\15aµ¬\ f?¿\98o½N(Èp\1fõ{»½\9aÑ\8e òFoÅÿ¶Y\9e\ f¦°\ 3o7Êê\90X\92Ëù"<­V¹\81\98·ó\88ß?¼æÖ\9cHû';hU\1d\9f\1dOHt4T\1ePRq)Ét\84:#ë\9c¶|ß\ 3'ëo¼#öP-æ\eÝ=4´«\10¬\ eîÞU³\9eq­Dï\90ó\90\91\9aÏÍ|A\15\15ï*îå¡\84\90ú\ae\86\1eëoí\8eÃd'`mfëÏ\12=Ñ$OK/Áíl­Îâ\8d\84\v\99Ýäâ&&\82îPé\85s\8b\8b¬ó9*ù2ß^\91ÖÐ'OÃ\8f\87L·[Í¿ö\1e\9c.æ(\14ùgôÛ¼9Uâ;úÃ\e\82z\ e]w)\7fÒ\16\97ëV
+Æb\80¦\81\1c\94ñNX\7f8y;þ'kLmoI\ 2g\97g\1fù7\84\8f"\ f\ ex6_\8d¾êÏE\88 øùÍD~¶©\16?g\9fúO¿\1d?ÉøW\\ fbi;ÛNa\\96\ 2M\99,¸«Ù\8erP\87=þî6xCæ¸\13v\8e]µodz«&lrY\87ÅN9\ 6â~\98êO\93\98\1c/\84Fu§\93\8f\ eÕÀY»þô/Ò\0\8dêÒÏù]Io\9dp\\7f\1fQ;´\9b\1f\10ëÅ®¦Æ\19OÛk\ e\r8ÝÑ\ fNOXS$ø¼ºwù\ f\19Äë\84Fâ¾Jý<ðª\9d~
+)ïÁ\94Ø¢\80½Åâ\9a\84{Ñ÷ÊT_©\84\83÷~7\9f~b×BSGKÍgëvÃ;ÖÙÅñî|5cçÄÙ­5y<]·_6Þ@h\19è\ e'Oh^tmÔ¹\ fOKÞýqÝî®ùqã"Éwgþ¸\9b_\88\97Á'³¿y\87p9-dJ×\1c\9em£c¨{PÌ\84¨u2ßLw\9b\8d¿äã%ü\ 3ª\bàߢÒ\11Î\96Ö4¡¢1Jüg#U\17^\93\94A±V"\93½\93\1cÊh¿}\98-Û­ä|8J\19ª\81ãժݭ¦³ßxïP\r\14!/^7ëf9ó\17%¼#À[\ 4É\0\87\8eãOÿæ
+\12à(ã·ÞÆ\ 6½ªè\ elÀ^ʦA\a\vß\9aøD7þ¶\9a²Yp\86²ü{f©\ 3óÓ&Ø\9b X\ 4ßdu}»W\ 5ÝÐ$g§oÆdd$×:÷     zoÍ_\ 1½\9eum]¿WÝ\9cÈÕÛÞNÞ¼\9d°:h\92ë\9eíü  ÁÛ\94p¯L\96íZB\8d}p{Õ¬x4¾FÑûN»\92óe+î?\1e»?~§'©\v§ÉÿzÝnÛi» \ 2M\84¸X¿\88~ÍF§«±ÞµPþ\ äÒ`¼S\88½\80e3EQ!5{\91\r\86î\a\954íQ\8e°Ñu\9b^¡ó\ 6Ç\9b\9e¥2>\94\87Ù¦]ì´»\83ö\ 5ºªþö¿¾ðu?Zá!%Ü¿Ç8îJÙÄ\89®ñM\12§\ f%!qâÔÈå\ 6Å\8f^\8eæ«Ëv½\8c]¹á`T\87\ 1\17Ͷ9oÄÁ°;Eþ\vR\88ãv\96I}ôU°Ýç¼ßµéµì~\81Üßu\13\b/¾MU\8e»Î~U~º¼n×ÛFî_h=Å;Ë\e¤5>J\88\1c\1e\9f·;©tØ>âÁãÙ\14\r\9d-_«Ñ¹E²¹Ã\8c¶¯²×\94^\9fí©Ú/Â\8f/>CÕæ£(\86Þp5\f^x ß\8f_?ås\8cwÅZ\0>_M×ß®Ã9.àÇá\1cïËu\9bØ\r9ø8ú eOÉ~Yþ÷\94\µ«£\99(5ãÖ*.rÃÌ\97óÉu³Ù|i×\17\12SQÃÞÉýÜ«\97á\83\85\8ev½"eâ\9bi¶PC3\8d¥dáñáK¡\81åY»\ú\ e*ÊozûÅîz\9b\eó\97s\85\9dÃW´\1dÕzÅÆ»\ 5ZÀÞÝâMa;ûʧÍv\80ÿrÍûzÀIÇ\10\9f_tTëÕ\18\93\139Gñ6|_\12Þt\1d¯       BH÷xõrû«\93ãw´IÔù{Há^\15õ\9aP-ÚÙ\94C-\89^\ 2ãèrÿgD\85ç?¼\ 6\bÌz]É\a\90¬×Qy\98âgÒ\86Þ\17_BY§\8b¾»¦Ô+A\17ñ)\16Dêd¸Pj0\es{\98ã0¾>*ï÷ý`æ;]þµlxeNû"\81¬£Øôj¶ä\8e'\ 5=-í\ f½Ëú0\93\9b«y¿É¡o\ 5c\13ðÐ\rüÃ\8bg\1c6ñYw¨¨³<åzÎJuÝnæ_\8f§SÜÊ9¢â\7f£ÒZ§ë\807CÞ$\19>ÅÙ\8f\19\12\0íâÿï¥×8¼´C\ f3^\99\ e¶Ô\83càf¡Þr3i\7fì©°í½²\ 3\9f\8e£·m¸}e£PC\1cÚø\97ÔÖ\12\ eHØ8¤k\14gôÝ\bm)>,uû\8d²YN\v\1d¹¡y\1fB^]÷ÔëÔ¸öfzH=~\91i\9d\r\9fÆ\94÷V\14\a¥Ð\8dÛO\ 2Ã\9e^Á§ð2/\ 6\9bÍõl:o\16²A\9dC¼Ý®çç;\7f3(`*½äã\82G¶ì\ç­\1d\1aÿ\13ß-ßï²\82·0C\1dÞI\18£\9eªÏ¿6Ëkÿ~\ eßVisãÕÉé\v\9a\ 3ÝÎø\8eö9>È\98û×|øüR»\1e\87Ôì½Þ±zÓÌø\ 4àÖ\ 3v&\r\89\f½µN¦\17×5ÝÍ×ßÆï_\91\14\88Þw{\9a~$Êd¾í\80ïEù³,ÄÓ\14\1f\8a\86/~v\16>3Kz\9f\95åhã\15äåu:¢¯¸æ¤èóÉ£÷\8fþ\an\93àéendstream
+endobj
+1481 0 obj<</Type/Page/Parent 1476 0 R/Contents 1482 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 102 0 R>>endobj
+1482 0 obj<</Filter/FlateDecode/Length 4352      >>stream
+x\ 1Õ[]o[Ç\11}÷¯¸ÈCá<\88¾ß$ûRÈJ\9cº°lÕRà>\ 4((\8a\92\98ðC!©8þ÷=gvwf.I\19\96mÉi\v8<<ܽ;³óµ³W¿?)²\1cÿ/²~\99Um6\9e?É{9¾Ñ\7fÞþÄo²¶\1eâßyV\r{E\ 4³ìô\89\83ó¬É;\9c\83ó¬_÷\ 6n\9c\83󬨪\ eé1Øþ ;mÍåT\r\86\ 1G
+àr\1cÄÀR\16®d#\ 3˲×ê@\ 160rE1ìÕY«¤Ç\m\83\19\1cë0WÛöJÇ\86\87æ\9c0­V\80=4r\9c¶ÊZ%e`3älq`\0:0qEÞ\87\ e\8cô\18ë\91}s¬Ã`\87}ÈâX\87çY\89Å4\8eõ\18lC=ØX\8fÁ\ e\87½¡c\838\83J\8cH¶©\11`âD®(j>TI\8f©^ÎàX\87)\ e·Ø±\ ecIÅ\0Ê4Öc°U\8d=r¬Ã\14vÐYUÕòAíP\8c°)É         8\ eγ\ 1íÔ8\a±ÜB\84Ñ\81\1e\83­+jPÙ Á¦5óm\ 4\98\ 6#\17ìÞÈ0\10³©       6\ 2l`ä
+ì7¤R\92îÓ\14}ü˵Â:\ 3à8\a\11\13ú\¨ü\90\9c\83ó\fæ\ 6ù\95s\10\r<ÛH>¯\1eæ"`Có      \80s
+ÕÖâ\f\12sj\ 1ò8F¤\0c\b2NBPâ\82\e\eé1\16S\15P\90c\1d\ 6ÛÒ;\1dë0X¸iZ\83,\89ÖQ7\85hNÌ!\0r\ eÂ:rÎ*?$ç µ#*PÒc°µ,WY1È\1aªgT\fÏ\10`\8f\8c\1côÛÏÂ\ fÉ9\88I«.é1ض\84þmhxdY\87ý¢\ fÔ\ 2ì\91\91\vÏPÎA>rÀõ()ÆZüÔX\ 3à¤\126\12W\14--D~IÒc®µî²\ e\83E\Àju,­«\82kj\82\v\80Ó\8a±%NÌÉ8\aÅÑ\91Ae\12\8eÃ\87\ 4ç\19¢êÀq\ er¥E\87ô\98+e\10°i=FTB\8aª\1cë1غìÌì1X\89\9c6³Çpi      MÆz\f¶Î;3\8bþ\10!\99X\83Â\ 4\98þ"\17\14¦\9c\83I\7fÊ\ 5ýÅqAaÊ9\b\r\15%|¯RÒc°Èª}Ï:\f¶fùàÆ:\f\169\bÚµ\99\1d¦î\19Ù\8dõ\18,âC\87u\98ÚeIccÅ\93ªº\11£\17ç\r\80
+t\10K\92\o¤Ç\14§O£\93yD÷\fCUE¯\8d1!\0\9b6r!ð\e\19Ö\83*\88\ e\11\16 À\ 6F.\ eTÒc¬\a*Âz\8cu\18lôáX\87ÁJHu¬Ã4í\9a
\99Ã\82\91N4úU\ 2\91\83;a\9cr\ eâ\91\92ñ\8dô\18lËXíX\87± \9caÐX\8fi+bIúX\8fÁÂÂj?Öa°Cñq\eë0,)¯hßÊzL;cöu¬Ã`ñ\1cØ\87\8e\95ÐËÇi}\1c\0\95(¡7qEÁ¼m¤ÇÜWº\9cc\1d¦\1aû]Öaªq\0\9b°±\1e\83Å\ 6uX\87Áö\87°6\e\eÄÁ\97\9a\8b:3q"WÀ\98j\19\1eH\8f±`D"\b«C=\ 6\8bX\94{Öa.\98\15§\8dõ\18¬\940\8eu\98\8aÓØ NëÎ\ 3¥\0\13'r¬"¡%%=Æ\82\91â!\8e±\ e\83\85½3Öa°}V4\8eu\18ì\80ÑDZ\ eCXø>\94¬3\8bÇ\96M8\ fH\88    @=6qr\ 22ÎA<\12y\b:\92Y8Ðã \fD5\16Â$ÌåÒ\18\8c\r\vBöÒ\10R
\ 5E\ ebµØYþ\90\9c\83\98T"\9c\91\1es¹²3:Ôc.\88IÕÆ\86\ 5\95¡Þ\ f\1a\12`\v\8a\1cL\13b)ç &E\\82\94JzÌå²nu¬Ã\.\83¬c\1d\ 6\8bì\r=ØÌ\ e\83\85ix6\b\ 3ˤ3\ 6a\ 4\980\91\93â°TÎA.·Ï\ 5)é1\97ËÈåX\87Áb\9f`*6ÖaZgN\9fQ68[\9eàãá»\14Àå\86P\189n!\8c^I\8f1m.\ e£¬Ç`±@?Öc°x\ e\9cMÇÊ\92(\ 5s²¬!\0]RâÂ\12\8cô8-ÉØ°¤46DXÇJ\84U\16åQ+\9aÌÅôK\871ó°@ìpc\1df*b-`¬ÇLET\85cY¹ð¬¯Î\18\80\9a\8a>³£\91\1eÓ
+YgyÖ0\16\8c¬\9c\9eÂ\89=\ 6\8bØR»±\1e\83ÅÌP\85¬PÆ:\1c\84õ3SØ\84ÁÂgü\9a=¦*XvÙ̬­YØÑq\10\8e\0>ÔA8\15ãºq\ eÂ\\987\8ds\10uw\v%\eç ô\97Ë>è\ 3=\ 6\8b*¶qC=\ 6\v)ýÄ\1e\83E=\fýÙÌ\ eC»¨I<ë1X)\14m¬Ç`¥aâX\87þ%}¦}K\98ûVª¶EÁ\ e\83Åj½\8a=F£\ 3\9eê×ì1XX\93g%\1e²ÀÔÒ<\0>UÂcâB\85o¤ÇP#\96\ 4¿\91ydÁ²_¥k<\14\ 2lÚÈ\85BÝÈ°\1e9]Äø\1c\1ed\ 3#'ÙÅ8\ai\10¬\1e\8cô\98\ 6ѧÙË<\9cÖã`\100&ca\10     cÛ\10\99\13âX\8fÁnÍì1XégÙÌ\1e\83EDŦês%Ì¢= 5°|æ3%æF¦ÈKx\94R\ eRN\1eC\8c3\b\ e\9dîÚq\ 6Á!×µ\8e3Hù¹¥:§\83\94\9eVd\9cAp\b&n\9d\ eÒØy Ñq"øÀõ]ä³
+\1e\99 (¥\1c\84\0èò\r\fRpvf\8d3\b\ eç\90Òq\ 6©\14&<\1d'fÚòçÑJå3\17)N\13\19él(c\bÓ!°ô3¥\1c\ 4\87p\86»\ 4NΠ    \1d\ 4\87`\86\e\ 1å\f\82C[Ì\8f3\býK\ 1 ã\1c\ 4\87ì9´9\1d\ 4'\87K\eg\10\1c\ 4rkq\10\1c\8cÆ­ÅAî7KV\9dST\89£\99\1eñ峪22¸Í@\8f\9f¿\12KP\84\9e\16Ó£2\86À0ð\e£\88*f¯K)\a©b:¼q\ 6ÁÁOйOËp\90ꧻ\19g\10\9c4\r\94\13\13\94E\85x³|\16Á¸õ\91   Î¬\94\83\98\10MÇ6ü0Ø\88BpRNØ8\83\$\8féÆ\19\ 4\87\18ÊF&V s\1aÄ~Bp4\88\13ç 8ÈåÖ"Â\95¡\a'ÂÉg\15.2¸\95AÉÉ_\911\84eHÎUÊAp0\1d\9c"Ò0\aÁá\8c\8b:U9\83àÐ\9eÆ\91F9\83àP\85 \98WΠDChrÏ{~öäÙ\v\94çyvv)GÔ¼ÉÚ~\9d\9d]È=%¾\1e?=\e\9dÏ&Ùò2;Z.6\93ÅfýýÙ¯\18\85¤QpÔ\ 1\18vPrØÓ£ëÑÍf²âoXD\81À$\17O³ªÇ¯0$À\9f×á7\b©ýj\18¿\9c..\97«ùh3].øcD«a?\r¸\18mFç£õ$<\1cåcx8¶tPàáÈb%\9f\ 3\15ò(Î\9c\1eþüv:»\98.®âªÒ÷½oý¿²å\8a\ eÐ\9dØ\12¡Ü\11áh5\81b\82\b¬xª:*ms-:\81û\14Ã2~ç\95Å;#l\8d¨ýQå\8dÂѤ·¤\v¶à7\b¦u9½º]E\ 1qÝVƽ{Ô%w\1f\16\ 5\18\14]óªwöæçu\w  O(\935ßÌFS8Ì\9f\eî1\ 2M\92\19­×ï\97«\vq$¤ª¦ßÆ}[\8aß \94\ f\8b*~5Y\8cW\1fàQ\172\v6¹LL\9a&N\8fûí¯³Ée_\8c\92Å\1c\96Üñ¬fGô\9f&\9bd\95ìÿ'\87[,\17\aãåìv¾à\päºIöJÛä\97,\97UðËÕr._"r}Ô²\11\ 4fbï\18ÞÖ\ fcÖI\ 1\88\8a\81È\ e7K2\9e`\e/ιj¦\92|\107ì?ǯD\12Ä!õÇ\9bÙíÕTT\81\9e\83®±=\1e\8aâ¡I×Ý^\1càw¶÷/\e8\aÔñNàD\15¹#ÂÏëÑU°\18\\87~û bû\\8a\f>\91â¨\ 4\87\93
+\18©ìåË`qx=@\8dëìÃM\90\ 5f8觨qIet¢Æt±Þ\8cf3K¥hSÔ1;Ø
+¾å§r(;È®)vÅ\84^lVË\8bÛ±Õ\0_'¨=\90¨U.R4\ 3\93à®\ 2\r-\80^/ç\bíØ¡Û\95ì(z)U\8ag(¶vvôt²ú#\96Uhuç)ÓÓ $\8f0°à-³ÇKóUÉ5>{¡¥\18ë@\97/\10É\83ýZÄ<Ý\8c\16\92ÇÐU\18¨M\1fÎ\96\8b`ÔCWÖ8yq\13\ 1\ 5?\9edûl%H{@síÈ\18â\8dË
+?,çHûT\rÊuË\0Ç\93ùyØ>\14oy\91\92\85IÉÒáaÒÙ>q¶¾KÒá`EgLÅtÝ\8bU»má\1dâñh°ZÎfQDt\16¾ù\8eõªJ|\13¯\16lË´\9bç>U,;\8f¨ãÑ\96«\18\8a·Ôú@0\bæ\13\an\96}\10½+\ 4\85òMCÐéh~.¥\18*·¢NeÍH    Ú³\8dV²â·\aê§8®äU:\97á\1c\97â\12:¼m\9aå\97§zÂCñ§á*ù?\ e¡\83\14ÂN¯G!\ 4ºÚ([OÆ8\rl>p\v;\1e3\9bü1\99ýò=¿G\1f£îÇjøÞª®j±\8e
+^êÒÏ]\9akc*\8e\19÷\9357\92H\80÷.«6Õø¯ÏäÉp5Sp¬ûñ\ 6\85\16¿ï¦\8bò7.\11ý<­\9dOVÓùh\15\94Röê4¥Y/U¥ÛÖuJ^"¶\9f«­¤ÞJ\ e¬.è\97¸Zu\11\ 3ç\93í \7f²\9a¬&¿ßN×Ó\8dDyôVÊa*]ÞNFz.Gñ\96\7féúÒ:?ï¿Aº\83¢p\85?N¢Û\12=\1f\8d\7f»Z-oC.kþJ5e\94\0\9dMÙ      ã»çm3Æ}\r\ 53xÜ\ 4ë±Æì®\93ëºvWÃ&Rpù¼mùø¨*\1eWq¡æÏ3è*oïÛ\9d-\94ãÑøz\1aj\10\9eÓµ\1fu¶º]Ëé\1d\91Æ"ÿáx\8c½\ fm0ÜÛ\9b1Çà\86f·ugþµ\9c.RãÉGÙ£Ù4µÒpzÔ\ 6M¶YÒçQË[Í¿o?\9cæÑÞÉï]÷Uáü$ï4u,%Um¾9s<ZÜ\8ef\12\8b\9aì=\vê\f­ºNGjOõú\ 5\1afPüºÕ_\15\8e\1e¸Ý±R\87æ²{vüîÍâ\0ê?x1ûð\1dåçUªZÿ#É\8fdÛÄdûqGø8[\87\93J\89fö¶\9bì¶ãî²Ú}¦\18,\99ÚA    Û&Oÿ\fCFû¨ýº\e½O#Q\ fx!Âo~¬\8c¬Î=ZÎçÑ´Q?¦¼\94\9d¬\96è?ÍCç\ eY]\ f1û|ÿÇÕj¹\92\9f¢\17¯\9dð}\8bz\88ï\92 ¸\19ènx¬eLÖÓ\ fëÍDÚo\9dBðd9\9b\8e§ñt\89Î\84ö\eöÉ
+Å\NgñÇ\b\8ey\bÉî\98³\96\ 3é\ 1^Êñ;ÛßÎ\ 2ï®G!¦C\ 1Ú\7f\²¥÷\8aHo\11îz2»\11ÃF¯QÝ~\1ck:ÜÍè1î¥\ 4\87^­]Û«Éæ\1f2\12¯\8e\fï\1d\9dï\10ð^_×áôÃÛa\7füÁ\95á¶B\.ñ'Ö\98Å)\ 5.4­~Å\15\r¿Ã{7¦>\14«\17Ë÷É+¬y=üóÙñ\8f2\ 3\ e\89î%Æ=\7f\7|ÚAÁ\97!;ym_s3\15AÚ%ÃÁ¦Ö\v§\97h¡­B#jýwÎ\8awc Ép}õz²A\a_êóNÅðjyµ\\88\1e\90Õ¿öy¾\ e·E%ZßÛÂí¦®/\10îÔõô}mr+Î\80æ\80ªáír4OwR\90W#\84\9eýpÈQ'é\84\bÉB÷oéÔ¡ØãßLt¶w¸cÔo\8e\ f_¾þïÑ\9b×goß¼êmÂ-\8c¼6\93\92L\16vÕu¢î2ã×gbñxSL\1dü\9eNó7\99ÀWuVQãÅ\90t\16þtko
+Îèz\0U0Om¤Þu\92\8dñ0\1dßÿ¹|Ï\89|¹§%¨ùñáXB&nò¬8ÞÓ'\90f\ 2\8eqÉKxP
+F\83óÁ H\17c¦»\8f\1dWñÚ¢\16â¡¡Æ\ ewºÉ̶\9fu\82>êLNƬ§u\9f\9dê;µ«¤\e\89×\98Íímq¸¾æUø\8e\916\12\19¸FSÐ;dº\81v]Áÿ£Cp\10¯{\bÆ«pÛ\ eö\17>\ 4G       º\87`¼!·-ÂÞJàw\1c\97±ìé\1ckÄâð\86z*m2g*{\12§õBíè\18*J\1fA÷UÔ\8b\90\80à\1f\9aå_¡üO\91%ê¦ä\9f\bJíìvE-8h=\97],C\91\87¿\8f3/ÛQÍ;$GÜ@é-\ e\BÕv\89bAb\ e\9a\80\9am§á<\rÕh³\0\8fÒVº»Z\1e'ß]\ 5\ 5\rzxýj×K\93À\9fúߦæ\9a\ e¶ÏGTÌnr}w=Y\88\bhÚk~\9bJÞÇû5\96\a÷íîÉ\ fG1â\9a¤\8bÉäbr!òàu\r=U|êÚ¿èwQð­Û\eäºmw9
+\85/Þç·m³ðêûBçÒèã^ê¦ïX\88Ë\r¾©p\7f\9fÒt¥jËb\85î\9f¿'\85c#B\8d\8e\ 6uj¥~®&\93õಡëV;\aËý>E\8bðaaç@±\9e\84\f\8c{\õ\99ÝzlGËû÷çy\92\1c\19®yÌÓI²5ÔÌ\9dà\83Ü,ÖæË\90ÏTÔjr\83cë(ô\9a\19¿õ}\99}θ\9e\9fËk4»u\0O³b\1e(z\86Å\ 3Ýï4ñ¸Â·\ 5·\14²\etöùß\8e\9d\\84þ¡«Ñ7×10¡-©Ý\19¼\e°mrï§\9bk   Lø³\ fmk¼úáð$\84%lÑ\17ß\1e|¢w\ 5­<{\81¿q\b/ù!        â\8f\eñb"ß\95Ä\9b\11§\87ÇÏ\ fÙ\8bùu2Þ \r\8foq\97nÙFþ&¤B\17 \8fW¢ðóé\94rýxöäßOþ\aêt¹¾endstream
+endobj
+1483 0 obj<</Type/Page/Parent 1476 0 R/Contents 1484 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 146 0 R>>endobj
+1484 0 obj<</Filter/FlateDecode/Length 4279      >>stream
+x\ 1Í[Ëv\eG\ eÝû+z\99YHf¿»\17sæø1\9eh\8eãdbe2[\8a¢-Æ"[á#Nþ~.PUÀm\92²\9dÈt\92\9c\93èöíz\0\85B\ 1¨æÏ\8fòl\82\7fó¬-²²ÉfËG\93ó   \9eØ\7f¾ÿ\97\9aªÇ\7f\97\9fç\11Üf¯\1f\11\fõdÄ\11\f]}^P;\82ˬoÏ;â\b.³|ÒØè2 c°ådÔ\941ØFæ\1cf®m      /³"\1f·-u ²F\87\10¥8¯³F\81´$\88é62¦q\ 41d^Ê\90F2\ 6\8b~*f \83íëÑ \8ceºù¨gÆ`«ú¼¡\9e\830E\81\87I\18\ 5.LäÂì\8d#hÂ\18\19\85\89-£0Î\ 6a\12\e\84q\96°     cl\14&¶-ªVÔdl\10fÒãa\12F\81\v\13¹¾\14\ 34\8e \84)de\9dÔNkÈ[¤N\ 3°N\13×MÎËÌ9\82ètR¢½\93\8cÁ6"\87³aÈN,$ÊQ+ð!#×UxÅ9\822äD\86´\86\8cÁV\95\fé,a°]>bk\1d\a»BL¾íð¿Z\81L\88 \1aæ\9d\fj$c\19´\81\9d9\eä¬åa\92S\81Ë\19¹¶\92^\8d#¨N!'\ eN!A\fX4ç-\91\8cÁÂ\10\99\rÓ©J7\9fZ\81O'r]'+m\1c f\17¹\1cÞ\ 22\1aÉX\86ldzÆ\86\9cܸ\14ø\90\91\835õYm\9c\1a6%ë¡®5\0iF\10J\15\1cÁèi\9dSO\9búT×ê\1cAÈ \9eÖIÆ¢ò^ä×¹Ét\18\83­TåÎ\12\ 6Û¶¢Ig      \8b/¨Å(\8de\f¶neQ\8cUÍV½,F´­\0\89ëZ¼â\1cA\11U\¿\93\8cÁª±\13K\18,\96ºâ¶\84\ e¶Gm \a·ÇmÅí%\f¶ha\fÞ6\88
+]\99Û«\14¸¨\91Ó%v\8e \88*Öä$c°\95N׺e,Â\948\90¨-a\11F\ eLgÃt\eÙÒie\14øt#×\8a\8c#\bã\95\8dí\1cA\11E\fÅIÆ`KqÅÄ\12\ 6\vW\aÝÚ \8cÁör.\13K\18\82Nt\95¬-c°8ë¹gÙÂU)\11\8d\8c*\92*Ð=ã\10\1aê¥\99q\ 4Ñ\ eþ\r²\18©}ª­¤v
+¤O¡J¬¸Åf\ 1\b¥\1e#qµ\8cí\1cA\f\87Þj"\19\83\85\98%\f\16¶3jKXLºÄzú°\8cÁâ\9cGÔ©³\97  3\ 6Û\15ØùΪ}\95\9a­;\91[\81´$\88\93C´á\h\877Ôch;\ 5Þ.rp\11hg\1cAQ\82lC'\19\83Å6\82\8a¬)c°ê!\88%,
+\94-H,a±®bÔ3c°M.
+´qõ</\11
+\8aÇ@Ô\0N\81\88J\10\9c\8aê\9cCL¨\10UyÃÐ)æ!û:ô¢À;M\9cöâ\9cCÑA\8d\13«42t\9a\87\9c"tªÀ;M\9cöâ\9cCtªqGidè\14^Bö^èT\81w\9a8íÅ9\87è´\11\17T\1a©æSÀ!\98ù\ 4 \9d\93,qªSç\b¢S8£.¾)\r\19\8b\1c5\86ô¦\8ceB²\1eÄ\12\ 6Û÷Ø\7fÄ\12\86\81àèÊ\89e,æ#¡¨·e\8cø\ 3Þ«'Vµ[´!
+Wí\ 6`ÚM\>©dP}S\85%,Â\8ao$\960X\9c\ 6#\960&<\91(ÐÛ\86)aÁÌ4\v\ 5>¥ÈÅ)\19É\18\83b\1d\vhCúÑ     \13\96)\89ët6\fZ\87(>èA\81\ f\1a¹¼\10_U\18É\18ÝÂ=\97Ä\86nñÐ\8c·PàÝF.G~\83U3\921ºÅ\9e`6t\8bóDÌ7ÌV\81w\e¹\1cË\rÝ\1aÉXTT\8cØ°+\90ìjl¢Û@\81t\evEäàÄÑ«q\ 4Ñ©¦dN2\ 6\8bl\ 3\96mM\19\83Õè\9cXÂb(¢Gg\19\83ÅÂ`½­gÆ`±`£¶\84Áê©Dm  cÏ °Ä\9e±\9e\19\83EOØçÎ\12\96x_\8e\18b  /³ª\90\ÍYÆ`q¤\8czV#ÐL\11\11\83.\8f\ 2_\9eÈiðU\18GP\96'\17Ã7\921XD,XYg   \83í+±ng  C\89y!j2\961ز\1a\8dË\18,\9cå¨-a°È\f°xÞ3a¨\18á\bLÊXÆ`±¥X"Æ`5U£¶\84±\0¥Ä\88Îê¶Ëõ\f\88Û.\0Ûv\89\v\9eÈIƲ\ 4\13K\18\v\84Á"®Ê\99%,\v$\87\1eõLX\16H\12Lg\19\83\85G,\98%\fEÁÝó\9c\83*\90:\98c\93¼¢SO«\ e)@L    V\81)\19É\18,*\19\10ÖYÂ`µøD,a\11V6<±\84!\ eR$\bk=3\16Uȱ@,a°°Õ\9eY¢(qCÔ\960X¨|Ô3a±FU£Í\8a1Øv\ 2\9e\83\92\9b\90\16\a­*p{\8b\\ eCm`9ò¦\90\8c¡($9%³\84ÁÂ=`ÂÞ\960ØN\ e4b       CXÌ°"\961XL\19Ko=ëñ"\91\82\1d/\ 1\98ÿJ\8¥\9c\94tHü\94¥C\ 1H;ÝÝ\89ÓüÇ9\82Ø®\8d¨V;Qõ9\84\90\95Z\92\91\8cE}\12%{SÆ¢ )\92\10K\18*@\81\85\87e\f\16º\18±\84E}â}¼gÆ°\95B|¢³\8cÁ"`à9\aÕ#Ð\92íªGG®ÀU\1f¹^ÂRç\bBÔ\ª6N2\165II\95XÂ`µ¸C,aQ\84¸\7fg\19\83m¥nO,aQ\93¤ZÄ\12\86"Pÿ\82\e0a\19\8b\9aäì&\960X$mP¢·\95ó\17G\9eå\fú·©02Xÿ<¼¥vf\b\ 4VÖÆQÐlã\94(6Bp(EÄa¥C\82à  nç\10\1c,¾¤>\1d\82Ãà=q\ e¡O\r\16m\9a\ 4ÁÁ\ 1ÓxjUj¥Ñ¨ôoSHdÔ\86\8cq\84ih±É(\82àà¤\9aÌ8\1d
+9\92\96¡$ôÑ¿m¨ÈhçÆ8JC\19\15\86\8a­$7¦\ e     ¢\1d\2n-d`Õ¾CÑ\94dxÆ©·\86Ï\11/¥ÎZÿ\96V\8eСæMF\11\14\99ÅÓ\19§\1dÂ5Ù\11«\7f[\87\91\91\9a-ÊJò\9aÎÐ!:ÔèÀ8U¢\16\ 2Rü(»]Z\85hR\90ÌPs¹D\11\ 4\a\91\11d\eç\10\1cª)\88´\8cs\b\ eg$¢Nã\1cB\8d\1a÷ôòÑã\17\12\vf\97o4\1e\9dàή­²Ëk½¿ÄãÙW\97Ó«Ûy6¼É\9e\r«í|µÝüíò'´\82\93È¥Õ\99\84±hvVH³¯\9eÝLï¶óµ¼#Ç\ 5\btrýUÖ\9dË#4    ðõty5Õ\97\10bU饩ö\8d ¦.úø¢¾\ 4\8bH¯<yþZ\9a!\96oÓ£ëa9]¬´3¼8)cËå|y\15&Rá\16¡éÂãó\13ÿS72\91Ç/p\98Dõ þÀìÏ\90³\14¢      \94\13\82*äP\fʸXm¶ÓÛÛÅê­´ETVNâl³íÍ\\9eaï¢Â\1a__Ï\7fÞ-Öók\95\18Å\84I"wÓ·sU"\9cë¤I\ 3¼\19tA\90\9fÖm\13{y>¿ZL\83Öà\9fêödê \1a9C\ 2ÉJ(þ\12Jø~~ýõt«\8aü3\94Pî+áÙ°¼[Üê\92Ãh\eÛ\18¾]\10\88ÔqYOlÉ\1fë>®k×ñ²Vû\12½\9eoww¢`\ÍtfÖ¿\r;µH$c}\9e6ìãùvöøÝúª>\9f\r«7Ò\ 6Áà$y\82\8fMçsóu+38S\8f?Ú¾õ¾\88ÏÖóéV×LRØ´¿\8eíÜ\19\96w\17½#¶9Ò\97¸\19§³Ù°[\ 5C¬Îë:ºÉÏ-Ó\aú3q÷d\rÎ\8aÝíwÃf³À\91 »\ 6î\a~?¸±ùz=¬ÕùÈZ\17Q\11\1f\18ó\94T\92'\9f°y6ûkw9ߨ֥Pc\ eö¨unæë_Âq"÷¸E2Ú\8dÙ7N$|\ 1¤ª8¥`÷ö]wÁ`Å˳Ìí1\99ãY\83\8eÑ÷\8bí\8dô\80=éçÏfy5»]àÔ\17\ 6g\8a)éÞi\9c\900  5\1e \135\ 6\17~¢¾\1a¶á\18\84%þ5¼å¾Z\82,\14Fu0Td\ 3\1f\f¢ú°\94\ f\ e¢^]VºÒ¨å%÷\9aÅ\10\ 1\85\9c2mè\1f\17«â\9d¼\88 ±N\ f?%ÚªSä±/õ\ 3qÝËl(¸*\10¹\9a\1d ÜÜ7õ\7f\ f\8b\95\9b:\ 5\9a\b!\99\vûêR\1f¡`b\aÒs\ e,=þ:ºQü\84FÖf\9e\ 4A\98ö\8a\90®9¹?\fÚ9\93*\1265©å Ö:>ÙéJCJ\x5l\ 2×Ãû\10Q¢NgªA\9dV%ã\83!¨+¼\8b\1aOóE\ e±F§q¦wÀ#¡\ f\1fo~\93µÀ\8c\17:[\94j']:\8a·7ñ!Ô`ñ×Õ|\e\8fm8\94Ö\8eííM\88 G§Çf>Û­\17[\1d\fi\99\7f\97á;ÄÚi+\85\1fò\18׺M~ZO\154E\1e\a¹ »\9c\8b\8b\8b°ypz\98.¾½Û.\86ÕôVf(iI\9e²2 Ð\16owë©ð¢\800é£\\ fÜä\ f\142!\ 4n,Ýj»\1e®w³4Ýú\ve\83\7fP\96¦T\11\8f\1e       °]y\17    bJö.\90¥¿\95\95       é$*\1c¾m¿y­/£\88\91Þ\86\8f·\r\8e\e°´i³Õ|û~X¿\v»\19Ù§y\ 4ó~|x¸CÁÓÏ«Üf?¡.äÚ\82¶º\´¨\ e\8a\94\a?y;_]§êB\8aoþàR\9c Y\90è\f\9fåí\89\11ü´\89ñjºÔ \eñæ$O\ 5\81ïç\9bávgv\8c\82\99Åß¡\ 6\82/\91<|S% ¾i«w·[\87>Qf77öÃjñëã\97\8bÕîW±\ e©\84\99\a\80\rÜê©\80âSß\9d\8dê(P«;ÐGXØ2\ 6Û\9a Þ\f\9bP\82By鯱¶Q\0Ô\83\ fæ\1fVt4ÿµ,à/\9eââ\ 6ë´~ÿ\83\16ÜÄ,W.tÇ{
+Y\80îªÑäEù6õ:\9e\ 6\1f\1càtd\9c:b-\v
\19âá´W\9b\rÜÖìƦ.\97\r\7f\92Ö\93Æ¥t<ÖxÐ÷\87·¿Z\8fm\7f\<¥-\90ÅÚiNÞ~·        EÂQ\95Eüw¬\96¢\96\94¢Ò,\9e\f\1côðÑÀ±_<\1aÒù29oË\a;\86&$¯\ 5jÉ{\9b\b1zXPµÐPi¸\8cUQÜ\r§bXöj¾}zñ­\9eo\9c§fG½è³é,t!¹|÷¥,¡Ñô\ 5\ 5s¹bc£Eiø\93d|ùÍ×ß¾¾T\19G^úM¬\19"õ7ß\7fº\8dw¤ç6Fáø\90p_²èEhõL\ 6\89\8eí¤!\19,^92Ò\17zÔæ\1a\81áW \aæ\18ý\v   ôü\95.    çB/\87á]¨{"wþ³\MÒU\12æ\88Ç    ÅLùõ\84\ 5\84\17A\1aùFÙ6\17\89\83\8bÎþKm\98$\0ÿ?
+#\9f-\8cM-¬\8b¹Ï¯\87÷²\84£tïj\8d\6ú­\91\93x³[in\10Â]*seÇ\92â\9bØ5×\f·\83\1c|]Ïïn\87\90\ 6rM\0w=±z\8ak8/6\1c\e\b=H$\e_\87Ûèª\94;Þ+Ê.       \88b\92ï.\vÐáðún\\8ahCÂT!Æd§\14LÃôù;\ e\88{3àAóIU2*\8f\\8e9¬<|¢\92S&ªQ-2\83ÞnÃLdÉ­­"sì*l3\9f/oç\9b°ø¸Û5³_¤T*$¹øF½Ìï9ê¢\12\90kl\97\10ôÀ¹ÿ°ÑùÂ]ú`¿CÁGjUG\8eÿP\9b\18\15¹¦;\K¬¶\8b\99'î¸C·;AªqÃ5\7f\9e[\88VK\8d¸\1dÆ\97\8a9<õ¾\99¾\vù \97Y\8e¯äAnã\17¾%ƲìfЫ$¤Ev¬`Sëfåòßô\7f¯ÅSµ\14\17\8c{\e\8fÝÚ\91¿£æÊü 1Â1\7f`R¸\9d×\92\bøxȬø\1eõ©¹\7fL-\9fn0HR?gQÅÌF
+øì\96Â\15\8e¹%\88\85Ï\eV*O\12ú\88:¿ô£¶\16#£z\e~üû      õ\9cà,¨\9eóë\8bÿIO£\ 3ù»ùz¹À=\pL\b\ 6ÝÃ=]\84üX¾°³è*\9e\8e­JY|Æñ=\97~¢wÁw:v9ðd6\8bþ\11?Ãp\17\v壮¦åAdã~\96½\Ä\1c\1d_\vçø\9cä\8f\\8aµûu\1f\89\10òý¢Ï\7f\17ó÷éhÇÕ¹U<\8e\9d«3Ômߦ\97Q£7\aHºÆÏ\ 3â½æ\9dé:\9a\98\aÙÙñÓöØÝï\11\9f}¿×XLo\87·:\1aô]V\9f^I\ fZ;\93&¬«½ÊÒ±ØèH\0ó\vT*\967\8a¡,Nç\9b\92{%        ö\893ÈóTé\91KRÇÝÓæf\1a+UøÒùd\95\86¨®\ 2.\96½\f¢8õ¯æeî3®£Ê\18Þ¯æëÍÍâN$E\8a^Õ±~õ¥=\10ʹ2\ 5\94Â¥:Ìö°\17+ÿ>ñ·D|\9e^ãs¤ÙvXk°\8b\1f.ÛG\10û[\a\89ïç<$\8e\8d\86>8Â9\87{\9f\83CóEJ\9c\11\88Y)Ä}kÚïæM\8e\ fxʧI\18ü\9an\14>\89<\87áÓóÑBp4|(TY\9d~)Æ\9aI² \14\1c\9bã~ª1\/Þü\96ü3\96&E\16Ùñýö\0\83Ä'õ\93q64\9eòÃQ«\95­Ç/ðýxø \10?\92ës|Ê\8aÏ2õ²ÿõ\93o\9e>ɾ[\ f?a\ f\87Ùn\89\10Ý\ 2td\1cçu\ fwÞâ\ 3:|?¸X,dSÿóòÑ\7f\1eý\1f*\82á×endstream
+endobj
+1485 0 obj<</Type/Page/Parent 1476 0 R/Contents 1486 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 189 0 R>>endobj
+1486 0 obj<</Filter/FlateDecode/Length 3969      >>stream
+x\ 1Í[Ûr\1cÇ\r}×WÌC\1e\9cªp=÷ËS\8a\12­D)KÅ\88t)U©<\f\97Krmî.³\17)þû\1c\0Ý\0fv)É\92\96vRåâÙ3Ý\r \ 14\1a3úï³,Iñÿ,iò¤¨\93éâY:Iñ\8bþçíßè\97¤.;üw\91\14Ý$\và>¹xæà"©ªIí8\a\17I[O*Ç9¸H²2\9bä\8eô\18l\9d\ fY\87Á¶ù¤ñc\1d^$yÞ\r\96õ\18\fY\87Á¶Ù¤t3{\f;äé¤u¬Ç`Ëz sQ\93 \8b
+C`¦V\ 1\99ÐA¨\93¶´(?I¤Ç`\8b\94\945Öa°X´ó¬Ãd¨\11ë0\94Í:Ú;\9dÙc2T;d\1d\ 6Û\94CÖa2\14{\85Î,¦Ès\f\89¦``¦\b\P]I\8fÕ\14Æ\8a)âXQÝX\87Õ\14Æ\8a)ÂØ º²\1eCÙ¢¡Ý3Öa2EMÛg¬Ã0EÖÐö)KqUuä)à(®\ 4h\E\8e\ 3É8\a¡KFNe¤Ç`Ë\ 2vv¬Ã`ë\14Ò:Öaè\82\99½H\1e\93\1d\8aÁº\1e\93\1dÈÇmf\8fÉ%\86RyL\96(a\11\eË\ e\ 5&\f\ e#@\1d&r\1d\ 5\87q\ eBÕ´\9b\14\8eô\18,¼³s¬,Yw\16®\15\ 3[2pY\96Ò´J\12\86ì\91\85\15`_eeÚª6ׯ\18Ø´\81k) \8cs\90\94=E\az¬[j¬li\987OyÓ\94e\a\98\ 320\a\f\9cx\9cr\ e.\92®¢\9dVÎA²zAæQÒc°UF.d¬Ãp!Î\84Æz\f6o\ac=\ 6[W´\r:³Ç`\11î^*\8fá~iJÆ×±\1e\83å<æXJì\15âÚ\9c\93\81mià²\8cÎ)y\92É\92\ 6ò~àpd\8fg@\9c\83°\92\fT\92ö¬l\1a8\16\85
+"T\80îYäx\93\8cs\10{Fç\9eq\ eb½¢\85 F²Ó\965I\18ÂO\80j\189Ê<\90\86\9fdiÈ4%öTM#À\ 6\ 6.CB\848\8c\98\94È«tX²-\ 4\10ç DÍK\84­\91\1e\83­©ª0¶âi1\84\ e\1e\99\87\81M\e¸,ki \92\1ecÚª E\8du\98\16¥\82ñ\ e\8bOû±äÓ\11\83-)\vÙX\118£*$
+ÌÀ\ 4\ e\\96\95JzLVb\91\1ck\98Ô¡\9duc\1d\ 6\8b$Z{ÖaR\877Ngö\18,\1cÉKÅê\14\1dÙ6¨#@Õ\89\\86Ò*\85\93Dz\f\91p\84U\9eu\18l\9b\ eY\87I\9d\1a¾ífv\18\ 2#Ò:Çz\f¶"\87´±\1e\83m(ã8ÖaÊ)96ÑX1EK\993\9a\82\81\99"pYFE[¡¤ÇP\aɨö¬Ã`ë\16\8du\98LAg°±\1cæEC\8e\14Â\\0\89Ä\15\90\11?H\9c\83\98\14ÉÎ\93\1e\83E¤`I\1d*VÀä\1a\90\ 5\ 3³BàèT\85é\95ô\18ÓÂ]°¨±\ e\83ÅQàÇÊ¢\884\rª\82\81-\1a8I&FzLº4¤\8b\ eõ\18lK\97%Ç:L\81AG\81±"\12~´À``"\ 5.KKdØBI\8f±h9b\1d\ 6ÛÐÑoceQTýæ\82\flÑÀ\85E\94ô\98ì@\ 5oa¬Ãd\a:\ 3\8c\15'KÝ5¨`@\8bbÿðhàh\11Hk$åî¼\93K\ 3çn\ 1*mäèêX\86'yV\1eØt¶Ý9\ 3\e\188)\ 1\8dô\18\8a v \80\ eõ\98\12G\86\r5\96m\9b×RØ\8b´\flÑÀ\89\93Dz\8cEq\1dÍQËÐ<Ì:L"\91Û;Öab\e\ 4¿g\r\83E\95\ 6\81uf\11\18á©Î\9030\81\ 3'G¡\91\1ecÚ"#\91t¨Ç`\eªÏ\1dë0X\84\b6ÎÆ:L\16¦Ôl¬Ç`q»k\1d+ê 8Ò\ 2"g`ê\ 4.C^\86\95\94ô\18"áæZyÖaR¶£Ý±±\ e\8b²\99cE¤\J\7fq  \ 6&Rà\82\bJz¬"\19+"űp\ 1x©±\ ec,ÎnØPY\11)+\h00\91\ 2\97¥ì\87Jz\8ciQYBSc\1d\ 6\8bmô¬,\8a\12[s]ÎÀ\16\r\1cùN\8d
+\83\9e$ÒcLËw*cyÚ¬\952\9cÍ+@§\8d\9cÈn¤Ç¤\ve3cÉ\9c\14gt@a{³\0hV\aq^Ò9,\ f\12ç \8e÷f0ÎA¬\87[Lç\ 6z\f\16\ 1\92;\96³'%\ 5:º8]
+à%)?EN*q#e`áJø\8c\81\r\f\K\15\83q\ eò\9d\ 1Âè8Ü\19"$=Ø\0Jz\f\167ÖÖ\rõ\18\126·±\ eSàS\11i¬¨\82zW/\15Tì¦ì"b\92Àq]b\9c\83X\12e7öR\az\f\16¢4\9eu\18,\9f\ 46V\ 4B\84hÝD.Õ:\81\ 2'ÆTÎAL\8aô\ 6\e(é1XtÛ ®±\ e\93@\94ü\1cë0ì\87#\14\8e¡c9PÐ`Ñ\92\8bÿ&Gਠ  L\86ó¼L\94r\10ë¡òI\1dg\10\1c\8dql\eî¢\ 6\7få¿Õë\ 2ÓQgF\19C\98\ e7ÊÊ(\aI\f*Uu\98\83àê\ 2b\18g\10\\97\ræ4HÎFÕ¶\8es\10\1c¼Às\ 6ÁÁóJ\eÇjÃMôÂÌ\7f«Ú\81É°3E¢\94\83¢\1cºåz\ 1\82®\ 1\82CFE\13Q9\83¤\0\15yÊ9H
+ÐeÍ8\83à\10\1eh[Æ9Y\ 1$1\8d1þ[\15\bL\86\93\ 4í\ez\8c(\a!$ßý\8c3\b\ e¹\e­\ f\1dg\10\1c
+\13ê|Å9\r\92rTÂ(÷üòÙ÷/q\9e¥Éå\r¼\ 1sB»¦L.¯ùå\ 5~\9e~wÙ_ÝÏ\92ÕMòbµÜÎ\96ÛÍ\9f/\7fƨ
+\9eE£N°\93\9c\86}÷â®\7fØÎÖô\fewÌ\87I®¿ÃÃ\13ú\rÎ\11\7fùéÍ«\7fñc¸\97TñÇóÙz1ßlæ«%Q\b´ºËÃ\fÏç²4e\9c¶  ?öËkz\10·\95²\8d\ f¾\9b/¯W\1fXLÔ4MM/gH\847\97,\ 1\92\85\9fN§ÓÙ\86\9fD'¶Kã\f¤ézuÏÒ!\88³"<þã|\13ÕG¦\11õsÄ|\9b×°C\ 1gÅ:дf]ó8Ý+ØmÝO·Q+\b«K}\98oïX\ 3\14Qi\eÖÙÞÍXÔz\92©ú\9b-tí׬n\8935\8b\ f\8b«\9eEEe¯\8fO׳~˳ s\91¦Ñ^\8b\v/\87.I\13\róЯûÅ\f2²%ªt\92Õ"Èä\8bþ×´´ÂI\8eìÜT\ 3»4¿¿]næ÷b[\ 4«îk¿Ý®çW;±\17ÜÖ\98Eÿð0_Þ\92Bdô:lé\17Ù\85\ 6µ)M墧à\888A\1aøxøäãð\81\8fÞÌowë \1d
+,4¦\83ÿ\9c\9f¾æMÆ\9b\92.îüÍ\8a\83\12ËÙo×ðgQ\9cÝ
+áÖè\1c0\aÍ\81Ò¡.ctN\11þëþþþW¶\aJ!\9d}Ñ/ûÛ\998'Î\e\r°~\a_^nçÓ>z?2U\87TÁ!ùQ3¶\99\98J#­À)éý)\9fHNÑ8;\1c    !E\90"EX7\89\ 6B¢D¶û´,\1f\15ô«IÑô¤ë\° \911\f\96³Ñ^á\81¸-§ûFþª\0þ2\85Ú\9cöë$C\9c@2K\87HlCM¢ñq\14h\1e\8fÞlnRNJMPó%»bæRäfq5\99"\ 4Ø\13ñ\82¤}²ml\vñK=\0é\85\10%ºOÆ°ØÁ\1d\81\7f_m¶!~)ëÄ°H8\9d£\90\88\eüz>]¯6«\e\8eH\14®U\1d\99±WÀ¦\1a{/Cª£ÃQMyñëf;[\90\ 6(P
+=w·ë\99\1c\168\ur9\84³rRÔÁ\9f\12\v1\X¿8\19¶¥\98PC;GÅ:8+\8aql¿Z"Uíø\f\95SÊüÿËÜõÛ\8e\12\8dNpõ\1dø>©!I\8a^\85ÅM{³ÚÎX        \94\r¿wîQ3´ÕÈ­©\8fFÊ|Ò­ËñÑt\8eC)ú5Z\89­yÏîáaµ\16/ÆäM(ÃT\86'ÿ£­G\8e\98¥¸|ùì\85vð0{¡\98[¯®Å\13ip\f¡'\97}\7fAÑæ¤i\öÅ!=\94\7f?Ó¢n\r\9e¹?åÓþ\12\14@Ûu\10E¤Ã~\14½ 
+×j3;Üÿý@þ÷§ÿÐîà\86©î÷´ºÐjA\1fº\96\8e\9c*\1eï>-\̶Q\1fº\8dèip¶\9e¿\ fµ9ÞM5E¼¼Ä\8a\ eõV\13óó\ fÿC\99pèHá\98\8c³à\85B<y\8f`\94\7f4        F~(çß@eK\bxUmå\0\1f\80x9¤\ 5Û}¿¾\95\ 3
+5ªZ`¹[\\85»¦?ÌV\\15à\1eÖi\85Ï.\11Õ\87?áC½#fÞ¶#ß;áÏê\86É\ 4-*\ eGo\84Óëë¸cì',Xòfö\81&ÁW>\95^õF\9bh7¸÷s¶\18J\v»0\1eºDú«1Z1j\9ep5öw¢Óów¼>\ 2(\r\17ůô\95`\15¼h\18ùEµg\12+3ü\9dö`%O±\1e|À?{\8esFÎX\14\92±5ð\95
+|æð\8eïxè\8bàª5ÜýQ!|\19®ùèìÆS$yµ`WeÑéÆ©ÕÜåju¿\99ñÙ\89ìP\7fÝ\15ý35yì±\8e¯f'üÉ\8b\15ú¨\13\ f¤éww=\v\8d2ÂÒÔ\9cõC\81¡yH\15ÿ+y\1dÞº\16E¸¹>&ı~\ fÊeÈ\1f£S\b\aå\9e§>z
+\85X%mÐ%´Æ\8cdsþ\19oYcÞ>刺à\ 2\8eÃ!;òu&*\89\9eå\9e\92ûiú79êf¶ÆqŹ\ 3MéXû\1d\ eÎ\eµC\a~\1c\80ûé÷ r¸m Ï¡·ÑÊn\eÉ\8bû9:\1a¬\1f^)ÄÞÈA9\8eñcÔ\8d®\81\83<*\9ai3älÞß.W\e\89\83þAj<±I'Í\ 2ô\1aG)2ÖÛþ\80Ü+¹ù\96uÄóû3ö-(\80o3Æ»°\9f#ÎfW»ÛÛpÆã5\84\955¡,        I"Õ2îa½BÓ}!é\0\89.J]A\92àäÂwXcµö³ÂÁÌ\1e4bÉ\a\1d\86ë\15Í\8d&ytÄä\15ý\80¾§V!wýû\19§\7f¼ÑÅéyÌ
+m´Ã])\8aã¶:Ö{?a<V§ï\1eÆ\1a²1¦=ÿN_\84j»ôP%Ã\ fÓ\fTòÅ\1dO$\9b\8a9q\v:â±\1fm0*ÛËÉ~yö\8fÕ\15«ê_¥l\90\14ÿ\12ÄÏóøja¹·ë«ÝöAZËØåè\v£í86ì¸×q\92á\94õå\vÞ6í\9dï\9f¯*úSýR.)¸uZÑî\14FëûiKÑIÔ\14ÿ*i¨©¼\8añYöm/\17\ e|$¤\11y\8e\ 6åÅt=\7fàó\ e_M¨ü\89\ 4:wüQßè\8b¾co]\9c¿ãÎ\rtâîÅP·vo\17O¯ß÷Ëix?\817 ¥¾\bp­*¤«2}ʬ\13u\99L¢6{\ eÙí©òvÖó\8bI|ïmûtíO\18l\93\96Õ¶ÄÓý%ʸw\üy4òê';\89\92i\\83üÅOç\17\94\1d\93µ°ÏÝ\9e=Ö^D;=­Â\eÒ§Ó\9c\1a\92øû\97ÚÜÎ\8aÜ\ 5\1fú漧Z¨íU7\7f\9cBMT\196\14Q\1a\få×=BGWßµ\9f\90\rð]V\15\ 3íí©´\13ð\91\87e\17ÚH>2PõÅB:¹¼[¯v·üR\1c\17\95^¯®¥\ 3\ 4÷îÂ\9bΣnmÐ\9e¾ÇñE\ 1¾8\19\1aàÐ\ 5â QðB&´*è2\1c;p    >\99\98\84G2\8b5ÂQUÛ\9f¼\v\91¯\8e.\15\aÕâxÜÛÆǺ\96\87J\9f³Ùû9>Ä 9\90\84µ­µ/å·ý\ 5\87\16-\89W\96£·Oø°ý@'ãån½½\v­&D±ö&ù$\8c\1d<ßÅÄ\9b\aV
+¹Z\e9ßV\85\8fÌfÚ\15\83ô#IVÓÏ\8fóÅ<v\8c\91M-\84¡+YgÐSü\r\r×ØÍÈýG\b;\94³b\11D\91ö¼¦ý\92WB9©­N6*ý\8aÏ}ðï\f\8fp\17À÷|¼û9¾~²ú\ 1_\ 4\f£ûñÒ\ 1µÑÆj#´^5\85ù\13
+u¿}\98q³^ñ»WüÃ'ó\9f×\17A{ûÐÂ÷iñï\1c¾í\8b2t¶Dq\1c\92\83k\1eºÏ#ÝwÛÕÉÙì~¦\1foàCÒ"~xt Í~0?l\1eкä­ôY\8f>ÄaW@\93\ 6\1f\1e\1ea\83\81ïAI\88ï_âCOùt\v\85R]ã3Àª ï¶.N_??MÎ׫\9fgÓmr¶\9aî\16¸Òh\v¨ ÷      Ô¬hà\8dx|þ\9efûáòÙ?\9fý\1fÁù{;endstream
+endobj
+1487 0 obj<</Type/Page/Parent 1476 0 R/Contents 1488 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 234 0 R>>endobj
+1488 0 obj<</Filter/FlateDecode/Length 3503      >>stream
+x\ 1Í[Ms\e9\ e½çWô1{°¦Ùß:m9É&ãÚI\9cµ\9dÍ^ÛRÛÖDR{ôa×üûy\0H\10-9\93¤*\96v¦*Ñë×$\ 1\10\ 4A°óÇ\v\97¤øß%u\96äU2Y¼HG)\9eè\1f\17ïèIR\15cü¹HòñÈy0O._\18¸HÊrT\19ÎÀE2ÎG\99á\f\$.O\a¤Å`k7*LS\8b\17\9aA[\8bÁæÕ\905\18lY\8djÓ³Å`\9bzTZÖ`ØÁ\95\ 3©,\ 6[\8e\a=cX\980/G\rLX6
\84\ 6ÂLCNÚe\19ì\1aÚ1\88í<ç \ eæEIi\98\8e!chÈ 6ô\SÐ\9c)g ,\9f\91À\91´\18lUÓ\90Ú´, V9&\83/\12ô\93y@C\1a\88\86\90µ6¤Å`áR\8daY\93²ÉÙûØV\ 2T\93À5\19Ä\89\9c\81¤I\ eKDÒb°ðÔÒ°¢IEr\ 4M\18DM<G\8e\8an\95´\18ÝÂ@\ 3Ö`rÜ\82¬ m-\ 6[¤¤\8d²"\12ü\95\1cA¬É \8aä9/\82\92\16\93H\19i\1aY\831hÊ\ 2+k1\894dE¤\82\f\eDb\10\9csù(OJ%-\86H\1cX\fk0XL£m+\83\b\832\88\83zÎå\8eÜQI\8bÑí\98Â\98a\r\16ãcâ´­\fêjvA1>\838¨ç\1c\f\bßUÒb\f\9a\ f\915\18lY\93¦\915\18,\82`eY\83!p\96\ eÆ\15\81ÓÜ80\83(°ç$l\94JZL"\15ä-ÊòR,Æi\8cF\ 2¨[^\99\81s.\85.\91$\9cyLvhFcË\1a\f\16[CaXÖ¥¨É÷ü\8c\vP]\ 2ç
+Ú'")\r+
+D¡!\83ØÐs®hà\f\85\92Ò°$ÿ      \r\19Ä\86\9es0{\9a\14JZLÖ#·7¬Á`k
\91\15Ûæä?>`\17\f¢m=ç\9cäDR\1af\14ÆCC\ 6±¡çh\12`v%Iö\1cû\r\99\87·q\ 1ÔÎ@ôI»zä\f\84\16i\ 1\81#i1Y\80F4¬Á`\11{\ 6¬Á`y#\89mYͼ)yRØÙ\ 4¨\9a\81#\11\\12I\8bÑ­£\9dØ°\ 6\93À´mGV\ 6ÅRÓIÉ\19ÄA=ç°FÊ$\92\16£[Ø3·¬Á4(-(ÓÖ`°\ryudE$\18@§;g\10\1cg\12\913\10\9d\16<mÚP:-(£ñ>\943\88\9dzÎ륤Ť'E\9cØÔb°ØÌ`#mËË,ϳ¸>\ 5Р\1cd\ 3çÒ\86LÀo\12i1\rêȸ\915\18,63Ìhd\r\ 6ÛÐÊ7¬Á\88ªè    êh[\8bÁ">#e\8e¬Á`\11Ml[±°\93\1c\1av\87\ f2\88\16öÜØÑ¢PÎ@\88\9b\14I\8bÁò6kX\83ÁbÊ!®vl1Ø\9agNY\11\17ÃEÇg\10Åõ\9cȧ\9c\81\92^\ßÒ!lB È\1a\8c\9c\98\18Ö`\12\97²#Ã\1a\fÛ#Ó\80íµgV&\e\9b$Z\80*\138\96>r\ 6\ 6e")Ê\84\96¢\8caY\19eYxÃ\1a\1c\941,+\13ÚÒyÆ%\91\15ej\93Øg\f¢2\9e\e\8c\9c\81\18\92\13ûHZ\f\16;\r\86Ôn-\ 6\8bð\94[Ö`°U\85EnÚ\1a\f\16QȲ¢\f^¡=\88WEÆ *ã9\91^9\ 3Ñ©(£¤Å`\8b\8cì\10Y\83Á"¯h,k0\1c        g\eË\8a¸ØÆ)1¨(âg\fH\\ 3\91\bÏ\913\10C"ïG§ÚÐb°¼\ 3\19Ö`\12\88¶ùÈ\8a@ØMh\99\8a\ 4\f¢@\9e\93M0SÒb²\11m{\91¥Ì Cô Ý\0\v\f¨W\ 3}f\10\fB;\1a!3\r\88YM#j·\16\83ÅN\ 15\95\155SÊ!\83\9b0\88nâ9I_3%-F·¼=\19Ö`°p*Ì\8b¶åA\1d¦\8e&\9b}S\80\ e\1a8\1c\1d2ì$ô"q\ 6Ò\90´óG\92÷<       ¶>µ\14@\r\v\9c\83ë¡*Ãa\99G¤Ãµ«$õ\967\19Ä\86\9es\88\17\8d\7f36ä£[\18\91Alè9\97Ñnç\94\14ýsI\9fE\7f\ 6Ü)m`Îs\r%y\ 2¸Ó\b¡?:\ro\12i1X¸la\9aZ\fgG¾ê\f+¶ã\ e\83&\f¢&\9e\97~h\96\96mÇG³Ð\90Alè9ç(VÈ¡\8dHZ\a\9c~ùeÀ¿\89àUà\19öze"ÂP$\862\11\91\ e¥\94\81à`Ï*r$\ 3:ÕÒ\eÿV\19<ã*\13\11êI|0¤öÔ&"\8cÃöÔF\ 6\92\f9dP\8e]\ 1§+M\ 6ø7uÈ~á\19ñ<¥dÑ\9a<\15§¼\8a¥\90@/\f$B\1c\bLD\90AÂz ^]½øåí\18ë3¹ºá(\99¢6W\17ÉÕ\94k\95x<yyÕ^Ï»¤¿I^÷ËM·Ü¬ÿqõ;ZÁ\17\1cµ:¡à\8af'\195{ùú®½ßt+z\87æ\13\ 4:\99¾\84W\8eè\19þ
+O>-g7³nÊo¢&ØÔþÍßúÛ~É\83@Ùq\93ùÇ×Ýæ±ë\96ô:¬\81°ê\9f\7f\9e-§ý#¿_ +­¨òJ\ 3~¸âñ°¦²ðj»äÑp¾,´ÛO\1fÎþÇ"`JË Úv=[ÞÒS\ 4ÔÆ\85æ\18é\1a\83±\ 4¨\9f\8cýH£ïü\ f[\125ýå-\16§X.ÇÒªa9\84ä\8cd\86q\1c[)\vJ\9f^¯7«v²a        i\97gݾsÀç~Í+t\82\189T"\e*q¶Ü¬úév²\99õ<}ÁÌÏ-ß7û\ f
+Ôõ`\ eò¡ø\9fïZ¶?êJe]E¯S_\807\ 6Çù¸ê\1ffÓN¼\17Ù$ÖÄ\11f,èEE\r\88fý+÷\1eFU¸ ôU»ºíÄÅp*\ e\1a~Z\8b\1a(~§GÑ"N\1f\12\ eZ\0'.Ý[/Åp®~í\1féMTc°uþýT}îW_d\9e°ò+¯u\1cóP¿¢n<#v® \ 4kgçêýl²ê×ý\rO\17â]Tó¢[ô\9b\8e\ 3\ 5Âf\1d <rÒM·+f\90\86äE°Ëëv>g\ 3ÀZMú\83Áì\aÌ£\1a¢Ì4tFdA? à)\ 2È\83(\b\97Ô\95øf¶ê&\9b~õ'©\8eãø8\rÁó²[=Ì&~1âì\907Ï´\18\12ÿÄ\960\9c@      %v\ 2\vÖ!æé¼@\89\97\94'\ fÅ\bÝÛ.\1fg\9bÉ\1d?ÎFu\91?\93ü_\99LU\8b\8e\15»3'\vÏjöq¾½½¥\\81'\ 2[q\88/§ÛÍ\1dò\86Ù¤\r;@\85Ó·®Ï÷Ø\eæ2K¸\9eÉ\9fq)ªBOxb¹ç\89\b\80\9cÆà\92«Ô\99ò)\ 4\8e\ 3\95*ðnÕoïy\92l\ e\86\1eáX\9a\87ý.9\9dÏûh\ 4ÔÇ\9fÏ%uJ\9d«I\8e\13*!ìì\ 58õî)}Ñ­·sÙ\vLXL^·\93;\9f\12QV\17T×Q\ eöCÕ¡\vê¡OÊ\fjêt¶\o\10áÔçJ\94D\83G>5\8bÈnof·Û\956À1ê û\82ª\967»Ë\r·Ð{3µ\97Uñü\1e!Ûй\ f
+4\94ãÛ8X>\11ç/º?¶\88Ü\8bp ¨xk?\9eø8gñ:\19g;¢ï\87ð«n½ \8b\ 1Ñ:8Õ\15­\10É(pE\95\86Ø~¾åå\84\eÈ¢ð;\93\0?\82^X³»^%«_\17Ìo³ÅlÃÞÏJ\98õr\01¿1\ 4.yyvj¤\fCߪya¨\12\939\8eoþ¤\11×ü7\ 68\0íu°'gºÀ\85:|cýwggQÒ\9c\9dÏ\16÷8iÈá\19eF\a¯å¥\93\¯p\16öÎIéa\11¼s¶äí\b÷ áL\92¬ÛÅuKOqÛ¢»ÙA\fÁ[\929\bS       ÁN+*åÃi=\7f \®ãä\9eÔÊ|*\84²DPË\85G\ 3\13 lV\1dëô\82ò+;-Ês&¦à~k¨Û+;eH\91µ\±ÞÞß÷+Ù\8cM\9cÑ\99\8c1Fg\125\9f"\18â\03)C¨\9eHPcØÇQc¨'N"H\ e\17d\12äy±*³êÖý|\eRC\df°×ñ6\ 28\97ì\ 4\1c\ 4\eDð¡F_\9d¹\96\ eiáp\19KUëíõ²\93ú\19Uyó#l\aQ;W\f&ë©ÃæS§éi¯e\81qð´DÕEu1¦»¢.\a\18Ô\15ôD:X\9f¨\88jìzÄ\89\9cÞ\1etòOz\82[\80\9f~vsÙ\98º>É°fv¦y'\93¼ì6ºßç&~JÒ\8fâ\9d¦\0\1cMé¤\19ÎØ\9fÏ>\²\ 1ìÉ\0ç
+\84\14÷\18¹¯{\1e\8e\90¿;V\9d® \87aw'%ø~Í¿º\14\9e\88VûV:¿ø÷»\8bóO\1fI*|Á£Uã\9fo\13\97g¬z\96î\1c\87\1d\ 3éþæüýéÙ\a\92\89\8a3á¨øó\15×\1eq-"\93\8f\8b\92áä7C\ 3¼íW\93\90æÚ\8a\92n68üÇ\92ù¦§^Qp\8c»Ò5W\ 2°>ô¼\98 \10À¯a\v×e¿h×áÂ\0g\0_lWq\9fí\a\84\12;à³\81\9dõ?\1e\1aâ}ûå\aìð\84\86Ó~ÑÊ:À·Ê\1a,\ 6\85ijéË\1d«Ò¸\ 2ÝQ\1a¹(Ù\ 3µ\9e\902~ðõÄA5µ½îå@\83\17ã\1c"¦·Ó   &\92º\18\14áÚé\14\e¼¯%\83ICªþ¼\8aR\90óEc|\1f\f\9bÛÄ\ 4^º£ê{\14=f÷¾t\85\9bB\936Ã7oZ_E\84üU¸Ñznù\9fêßëd\8f\10¨"\91vß<BÈâ6G\88ËM;ù¢å:Ü-é\ 5Ü\7fßò\9eEu/ÍE\17\83"\1d¾D9B\86ær>\ 4Ús\ 3R¨8±(*\ e\17î^\89\ 4.«[óS5 É^\r\b\11é\80i\9a×\90¯T­Ë"CÙÕ\f§Ü©?ÿÙÛP3O(#\95¸h<b&M\8bPÎí¸ù\1e¬ARh¿¤Õn§3\8e p=D§£Jn\96_P\ 2\1f\17íNÊþý\ 5.#þ\9cH ¡\1cÿÿC\8b \ 1>\9fÜÕ`¿¼\85#J\8bÊ)§âGHN\8dáÃO䩼U£l?Ø´\9aÝ#f\88\ 4\1cfE\f\8e\9díC;\9bküËâÅg7_w\8fw\9d¿1ÃçK\871BP\92þÙÌ\9e\96ûkå\ræèº]w\12«Ù5\8fº^\82øû+\1dk\99\83\97½+zXOÚ%ïÁG»x\rÎ\15þv9\1fûíÞú½å9É\17ÍÞ\1ao\84ìyqÑÞß\87Ò\1c®\85ô»\92_Ï?_\9d\84:\7fyè¢\0¾ëâÅå°§\7f3\8dÀ§3ô²QõR\8b\88\10^Ó¦{$MýjÑ.'\9cïã*\ 5Çl èÉl½Þú\1a\ 223ü\ 3É\83ú­+RÒÀ&\11(9ÙÍ      :îä\11¯ûÅ}»\9a­ýgIü½ËA\85\ e>ºó·×å\ 4ÿ\9aË\84uÈ¿\93-\ö\93\ 3\ fTzõàÕßSÑMÊTæÆbg\90ÃB\9d\1e|4É\1fIá«ó´ÉñQ\1a}\9b\8d\1aùåéûW§  j\89¿ãÖ?yÓO¶t\85¤\97v9.\\v\87ïyêtL¯?ÐdÿëêÅ\7f\ 5º]b\86endstream
+endobj
+1489 0 obj<</Type/Page/Parent 1476 0 R/Contents 1490 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 277 0 R>>endobj
+1490 0 obj<</Filter/FlateDecode/Length 3520      >>stream
+x\ 1Õ[Ms\e¹\11½ûWÌ!U±«Bj0ßsJiåØ«ªõGL9Þ\83/#rdq#r´\14e{óëóº\e@÷Ptì\1cB*IÕ\96Þ<¢\81F7\1a\8d\ 6üû\13\97¤ø¿Kê,É«d¾z\92NS|\89ÿy÷\92¾$UÑâ¿«$o§Î\83\9bdöÄÀUR\96ÓÊp\ 6®\926\9d6\863p\95¸²\88=\90P\8bÁ6ùHl^Ñ\8fó\12òÐe\13\ 1µ4p\95 ]á\7fH\9c\81\10\9aæÓÌ\90"4ËÐS\10Ê@\85z®I§mREÎ@\11
+%#)BÓ\16Ã\bB\19¨PÏÕÍ´LªÈ\19HBiPJ²Ð²­0|/T@\14\1a8ÖW9\ 3\83P%E(~B&æI,\19¨PÏ54íÊ\19HBK´WR\84\1aªd B='C\8b\9c\81\10êêi\9ehC\11ZVj¨\92\81
\9cH\89\9c\81\9aÖpW\92B\rEhAþ²\82\18%\ 3â\f\84\17çð~å\f\84Ð\8c¼XIZ5%F\1fW\8d\0î\8f\16Qàx\99(g úkámÊ\19\88þò\9clÁ=\90P\8bÁÖ)<Ä°\ 6\83m\8b\91`\99\0¬\89¸¦J\ 6$WÜÁsä\8d\18Q$-\86X×`F\95\ 5Öz\U\ 2¢ØÀ\89\18%-\86Ø,\85\ f\18Ö`b©Se9\98\14uÍÆl
\82\0êÔ@4LÉþJZLbÉ\1d\fk0ØÒa®\94\95N+ê\r\81\87;e \9dzÎ!pA\97HZ\f±µ£!EVÄ¢/r"\11Ë@ÅzÎ\155\8d'\92Ò0§\8f¡!\ 3mè9?Ó\91´8NBdÅ pt5(\ 3\12Ë~RxÎ\8b\89¤Å\10[\144ÚÈÒRÉÛ\86'\8fw\14\ 1$Õ@D&Ú`\943Ð/\15åx©\ 4\994ÉÎ4d5r\ 4¯\18î\ 4D5\ 2ç\1c7ä_òhhïÉa¤¸N\ 4hCÏ5´î\953\10Ú§\r\8d\86\7fI\r-\ 6\8b±¶\965\18,âXnXÑ\ 4S\1f\r\92\ 1yNF\109\ 3!\14+\bB#i1Ø\9ag=²ÒeQê®\963Ð.='}DÎ@X«@\0Öv\ 6Ò\fÐ"PR:Ì3v\ f\f\ 3\13Ë@;ô\9cô\109\ 3C\87\91\93\ e};\8a/V¨Å\18NÁF\8fM-¦ÙIÉ\98\91\95Á:I\96\f\9es)-Î<\92\16S§)v!ei\80Y+é      /       \ 1$Õ@¿B\94ã\15\12Ú¹ÂA¦\92<Ô¬6é\89\808ÔÀ!ðT\89r\ 6b )%vJZ\f6oàÌ\865\18lY\8f\ 4[¼J2H\86Ò<>Ö\93Ì\90U&ñ\11 Ãõ\1cö\9bÚÿ\908\ 3i¸-\]\eZ\f\16Q\143Är¨)\ f\0óK«\1d\91\0Ý3 ÊÀ\15rgê1rÜÌI6!Öa@Í\f\fÆ\8a\9c\18Ë·£\81¹$\8b¤\18\vS\12Ó>\9a\9f\8cÓ\17v3\81ptÖ>rÜÎñRð\99\9d\0\1a\f·\v\\93¡?å\f¤Y«`F%EhmÒ\ 5Ç@\85z®¡\98®\9c´«L>à\18h;Ïay\16\89r\ 6b0¼\11+i1XtY\9a¦Ò%ì\1asp2r¡ó&\10\9b\18\86£dÎåfC\17@Cå\8d8p\94va¬üK"-&¯ià=\865\18,\8c\85Nc[r\1c\89\ 3þ %\80IJã\ 4\8e=E9\ 3Ùþè\90\83\vµC\ f\ 1¢?çÈ\1e\91´\18\bý\8b&\8aÁbU\ 4\1aL\9a´4íQ2O;Ì\16·%þ\9bÚ±Óy\86~\9fÑ^ i¸\81\90\88\f¼T\8e\ 56NÍÈ\7fG\81\9ea#FF\11Ä9\9aÜHq~TIÆÁæä¿I\9c"4ÂN\8d#$ý\8cUV\b.«F\9cBpØ\ ep\10\8cí\14\82CfZ\eN!\85<:_Äv\ 6\82ËÉW\94S\b\ eg'#Ó@pÐ\19çÇ0\16\ 3ác\98\7f\9c¥\ 3g 8x¥\19\8b\81à\8aÌên 8L­\19§\81à*\878¢ý)\ 4×pe!\8eEá*)RJ\17b;\ 3Áa,¦?6,\16DL\98ùïhXÏ\88a#e`0¬rlØÐ\8e\9cÂ`XåØ°¾\9dX2r\ 6\ 6Ã*Ç\86\rí°_â0Jê\90
+\99B´+iy*§\10\93\89    ÃÙ0´3\10\1c:ÀÉ0r
+Á¡ÊS\18N!¸\8a\12Sm§\10\1c\94µý)\ 4\87õ\8d\13|ìO!\19\96\ f¸\813\90\fK\9bql''\1aɼy\8d"\9bixV\14Á\bXAe\12)\ 3É°ä\Ê)\ 4\87$¯5\9cB2,¥\9eÚN!\8c\90RD\8d\9c\81à2>\93\85a\1aHÆ£ú\93¶S\b\ e       ·ÑÁ@L¦£É\8cí\f\ 4\87ó\14N¬¡?\ 3Áa2m;\85àà9f,\ 6\82ã(¯2\15\82Ã\89ÍÌ\19\e\88ÏâþÄÉ\7fÇ\95ç\19Yj\912\90\fD9\88r
+ÅxHÍè Ã¡\18\7fyHÆ£ð \9cB2\1em[Ê)$ãQ5+r\ 6\92\812¬.å\14\82ki\1fRN!&\85Cjä\f\ 4\87p\81ä3è` MtcuøéâÉÉ\vdÎirq\85$\ 2+\1d\ 5ºH.\16\\9aÅçùÓ\8bîò¦O\86«älXoûõöîÙÅoh\85mØQ«\89o6ɨÙÓ³ëîvÛoè7\94K@\1e\84,\9e¢\8b)}CE,|\99u«Ë\8e\7f\87Ão\11¾Þö\9b«a³êÖó\9e8\94Ų¬ñ2\96ww÷½ï\1e¹\90ï\1e\95©¶n0\ erutEU\eî+Ë|»w}· a\19j"eèènù/î\81jI¡÷écø\1fÎd4ØIU\8dt*Æ:½ê¾²J¨\93¹ÜëùuµÜòG\14r\9aZ>>\ 6\8d`^·O¥r¬Ò/Ã'\1e}:-jº. ·¹é?÷7ü\15\ 17k\1f¿NÕX§½®·é¾\90J\8fÐóö\9a©\1e«ôa³ÜòÊÁ¾S·ÞÍ\12Õ©-½?>\ 6×\8b\9e\87°W\8eÖS3Öjv3°Q(F`å\89÷\9dÝ,CÀ£\98Ú\14\8fÃÿ\\91ñrBÍbG©ö\a\94Â2[®9\8aþ\7fè\84\13\15\a\0JÓ¬Yøc«Á;ÙÞ¯\97k\ e!È5\9b\10è\8fê\85ÞRv·Ä69á\ÿ?m\96\8eU6\9båÙ¦ï¶^;ä\1dY\w/7Ãý-M\ 5ê\ 3-dË\f½Ý\f7Ëù\1fü½2\9bÞ\8bå\8dl ÈypÙu8wFîD\839y¡û6®ÅFÞ릢uܶ?,×\8bá\v{*TÖmîÏ-o}(\8d\95\8fd\97óÚMPͲA\ 69ûx=~K£×\1749Hd\8a¸\97ótáè\1fLzL7\ eêQýqW?±\19\1dîÂê\9c-\17²= b¦!u»ì8%¤\vÑ躯\87­wF\T\1c1\ 5Cß4ý\93\96"\8c¦\91d=±\9fÕîU·^tÛaÃk\8bîÁ\Pñv3\\85å\85Ë\94¢ñéç!-\17\9bç]e$+¶Ê¬\86Ïýý]¿\99ö_%Ûvd`\ e!\87\1cuì+\f¿Ívì É¯\1dúË\9eS]Ê¡ò\10õfçÏy\1dá\9a)láQôQþ\búàb\ fËúÖΠå[\81\ 1Õöôä×·¤\15njòü¨I½×Ænf(\9e\92bßÝÏd\1d\99ýlÖÏï7º\9fi °§Âã\1fbP¨§¹7ÛVÛ\1a\8e0\ eðçëífXÜÏ·ËaM\r\1fE\12B®ï\15\99Ôõhø;ûÓû;o\92\f\95\80pÚJ®\87;^k\999V&\97Ý]/\87j{
+@\fÜöQ{ÜÉ6\87vÙ (\9cu¼Ya7\1aÛj¿²KÔ86W\9dT\1fP\90ÒêÃ\ 3ݲâð\a\9d¨\1eÞJØ\88\82\8fhÇõ\16Ü\86Æ\90yµÜô_º\e>b£\12\7fpsí ËAE¼z\1ak¸S.Øo¿\a\1a\9e¿=û\13-ÅÑÁîîºÛH\92\82bs8í-ú5ïêÈ\8dS\14\97\ e¿\rº¢¡\91b\9f°û\1fnãwL{ûiÓ-BðÄ\190fT1xbý\1eý\18îµ±Û\ 5\9c\96\12Èïn\17²RÍvñ~½\9c\ f\8bþ\ 4ÕÅÍ]/%HÔã\9bö\98Ù
+EÕvg{p¸\11±^\8b\8b¶±ñ>\w\12LQ\b­\83çyg\84® \95¯¹Q\15÷1J \ 1¥NG\99\ fN¾4?\7f%\ 2\89B\85\81Ü×OÁÄUÈ\96Ç\9aïl.Ñ9Qv¨\90áÉIu\9f6#Õñx\ e\ 5é\ 3i³7\1cy\ekÁ»@e6øðù?ؾ¸/icÑòôö¶_/\96_åtCçÜú\80Gí=:|ó\93+¥Ö\8cGb?´0e\931\vóí°Ùv\97Ë\9bå6\1c\88\8e½&­®®äB\99Iß ¨uRÜ=\8f\97çÏoßÿJ\8bÈ\1c5¬ÀãþíÕ\99à\92h´ÔP\ f\1ak1;{CJà¢\ ei\90_h\b¡áÆ 
+·2ÇUGz\ fJÑÅÔØ4;ùÚó×çl\1a\94\9d\8f\eõ÷ÍZÐ\ 27Ùc%vÒ²wýâgÙ\0ðÒD/£~Y®ïÅ:6ñ~ׯ.7\b\90ÛÉù9Ù\13\97aÍa\ f¶®Ì©cÜñ!\13\1e\93\8d\9d\1c¡è±Ï\1e£oø\87\1e¬EfoÔ°OûÅoÖz2ë\7f¿GÉ\7fÙqF\fkº¸Sí½Ê9½öw\8bxL\8aç\16\aܧ¼R6½jSÝ\97¾y\ f+v3!\÷e{\ fë÷e\¦ÆBV2l¯åfwtósvþbÆÑ\ 6Ï\10b½onnNp\8b\1dÊ\9a#³üO\80\98gBþ\83Ì$Ø=\16\9a_us\1cû\86»kRcds¯\ 6çUô4¬<X^µor¼n\13~ÀfW#ÊKã\ràÍ\8c7>\9cd´²"\97YÞRÑ­÷õsàoA-<NÙUêauùg\7fM\87­-\1ebçÝ\9aÔBF¬ÕX      \98êyÉ|X_-?Ý˱\8fî\13Ò\90\82¾\99\9dÈlÙ«¿\ fÝ\86¯Uàê\9a\ 5Ä\1aå\rê\f\8f\e¢W'\83\14·ñê,8zòãB96áÉPب;¾ñÀ\13J\15öàP+~¹kË\ 4/'x"p3\12Ï\16¼¼Å\81ñ¹xàÀaöó\ 6O\9ewç_ÜÊ\ 6È£Î?oFfª>>]\ fr\9a²o\ 6¼\95>>û\vM\ 6\15¡\10øå´±×*\88ÜüK¼\91\8fFpSîË\84É=6Φ¼g\9b\1f\0MpÚ°Æ\YÑ('9^÷\8cò\1f\92\ 1Ùé?\15ÿ¥¡æþL\91PT\96b\ 6Þ'ů\9d\143FÇD\ràö%\8c\19\95ý¾\÷¼¬pÒQoÚ;\81\1f\9fúÎ\10oôfòs¿¹C\19ôã3Ò\ f'X-S,ÅÃñR6Üß%¸\85\90j¢}Ïòã+\81ý\e£/²ïÖmâ\84ãAç\ 3\7f\97lÍNø>\7f_\f¼Êr2\98øÕ\83hóÉ_OàD\1f\13\88[\14¼ÃÓ(\94\98â
+]l\96\98+\12\1fï\93p÷¹¾\19äå\12Þ   j¸û2lþé«?£(´ÏùöÚk´«á_½þWÕ\ 2?\7f'/ðJÛ¿À¢\az\ e\ fgùßPàZ{vúê§Ó\ 4wп!X&Ï\87ùý
+9\15(\9eSl#_¯Ó\96\1eù|^\92î\7f»xò÷'ÿ\ 6ô\1ahýendstream
+endobj
+1491 0 obj<</Type/Page/Parent 1476 0 R/Contents 1492 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 319 0 R>>endobj
+1492 0 obj<</Filter/FlateDecode/Length 3077      >>stream
+x\ 1Õ[Ks\eG\ e¾ëWÌ-Ù\83¨y?ö²eËë¬\ f©r"íúLSC\8b1ÉÑò!×þûý\0t\ 3\18\92Z¥¶$YNª\12\7fóM£\ 14\1a@÷Ðÿ>Ë\92\14ÿfI\93'E\9dÌVgé$Å\13ýÏï¿Ð\93¤.;üw\95\14Ý$\v`\99\\9d9¸JªjR;ÎÁUÒ¥\93Öq\ e®\92,Ë&¹#=\ 6\8b9âü4¥Ç`ëz$Øc°]7©\9cä¢&QE\85!P·U@r\1dÄÀ4\9ftáM\9eÔa°YKbY\ e³\ e\83mj2GÙª¤yò\1cÎY%mI\1c\ 3\1aé MZ\92s\95ô\18l\91\8eY\87ÁÖd\94\eë0Ø\8e=l\92\1d^%yVM
+7Öc°uFÆêX1'í&¥\9aÃÀÌ     \\ 6±MR+é1\99Ó\8cY\87ÁV$ß\8du\18l\9b\93Â&Ùa(\9c×\14\87ÊzLæ¤d\8e²lNÕÑ\92\85Õ\11 æD.+2\885ÒcR¸\85ÿ\1dë0&M\v¬\9d±\1e\83-K\98c¬¨Ô\16\b\9b¨\12\ 3S)pYÚÂK\95\92\1eC%lY(l¬Ã`yY\1dë0TÊ(Ø\8c\15\95ê\8e7\ e\amÅÀT
+\9cĬ\91\1ecRìå.q¬ÃäÃ\8c\82=\ 6ÛV¤\92±\ eCá¼Ä²\1aË;½ª(\12ÂN\17@
+óN\8f\9cìt#=&\85KD©±"¶,8øE\ e\ 3\13\e¸ FI\8f!6§à¯\8cu\18lMò\1dë0ù¡!Km¬Ã`;Ê\ 3ÆR\86C\89\93µ\0Ò×Á\90»\8dãÜ\1dǵ)©ÃBx½\r"¯ÓN4ÎAè\82\1d\ 3+u Ç`\eJ\85Æ\8ak±Q47W\f̵\81CîB\f)ç \84"\f\10óJz\f\16ñ\80\102ÖaR\88÷\8b±\ e\83\15Ç\1aë0í\17\ eley¿\94¨r\9aó\ 5°ÿÈîÈee\ 6ç\1a)\ 3\9b\86\ 3\8c7ZÉÀ\ 6\ 6Nöº\91\1e\92Öű\ e\93\1f
+(æX\87aKJ\ e6\96\17¦¬Ië°\95\ 4èÂD.K©¼\1aé1&E\ 5\81Ý,\87\86z,*\8dÆB¥\88Á¶-"É\8du\98\14.Ia\95ì1XDaåY\87ÁV\94èÜX\87Á¢\8azV\\814E\99\99·\7fÉÀ\\11\1dp¿r\ eÂ\18ÔE(¤¤Çä\b6FY\99\12ÅQ·EÉÀ¦\f\1câ\11\9c\834%eV#=\ 6[P\19q¬Ã¤\10e\ fÇ:\f\161ê%Küò.\fµ«d@êJ8\a.ËY%%=\86Ø\92CÉX\87Áv\1c\1cÊʤ°Q[\92\92\81M\1a8ª?p½\92\1eClC}\90c\1d\16K\11¿6VÌ\89\92ÑA R\8cu\98"´ øUÖc°È\ 1~^ÊÙ\ 5ª\9böÛ\ 2È\1aÎÙ\91ã$m\9c\83Ð\96÷¢\91\1e\83-r\9d\83Å\92·\8b\86V$ĵ\0â8Ì#G±\9a\857m ^Ñ2[0°\81\81ãp4ÎAh\93ñô:\90C¾(+^N<\85j\fLhà\90\8cr\ e\92PêÑ\8d\14¡°[³XÁÀ\84\ 6\ eªaBå\1c\84Ð\9c\91"\14¹_óAÁÀ\84\ 6NÚ #=&]ÉVÇ:,\93ÂL\15LJD\f\16ý,ô5Öa°P¿u¬(\9cº\ 3PÁÀ\14\ e\W\92FÊÑ\1c9ê!m0\8eA\ 14ÌÁÐF\18Ç!\19ÇáXÔ\ 4!4ÎAò\80Í@¤Ç`Q\füP¶"ÇÉO×R\80Z\119 W#e \97\96\10ç9\ 3\e\188\8a\9e\1cÅ\81ò\f\912\10¦ê\ 6É\19ØÀÀ!)ÀSÆ1ä\ 3IH\87r\1a¡q\9c?\ 4ÂD¸º\vG\17"=&÷Põµ¡\9cðòLÚP\91ÃÀÄ\ 6.\88QÒc\15«¬\88MSö«\88e`b\ 3\17Ä(é±\8aU\96ÅRÛªç\19\ 1*6r"ÆH\8f£XcEl#\r#k\9b10±\81\vb\94ôXÅ*+b±\8b´u£-Vs\18È,\81\vb\94ôXÅ*+bK×Øe\fLÛÀ\ 51Jz¬b\95\15±8¥èñ\95\8e,¹Ó6pA\8c\92\1e«XeE,J´-\19\ 3Ó6pA\8c\92\1e«XeEl*ÍLK»)cÀb\rÒ@*æFz\f6¯`¢±,\16\19\8bW\8cÄð\9fUh`D\86R\ eF\89Êñvo¥\9fà\ 2Ä\7f&\81\86V     òa\96(cHÔo\8d¢©\ 2\ 4\am;ãÞ^\9f]¼ÇÎO\93ë98\94\12ÜN4er}Ã\97px<ûùzúyÙ'Ã<¹\1cÖ»~½Ûþåú\ f\8cªà&\1au\1e\86\9dç4ìçËÛéÝ®ßÐ;ÈCX\10Üïá1²Ù\84\9e¡ØÆ'WÓÕç)¿\87ª^ƧÓõ\r=ËqÌkó0vØÝ\8aD:¨vMxzùáý\15¿\8a\ 5MÛðp¶\\98\8aXà"n«Ú¢\81®\ 5\96\ eê@\9b\82õÉã\1c\9f\16ë\9bá\eÛ\86\v\91.+\82ÀùÀ¶P×ÜÔáÙ§aóõËfØßñë(3)æa3'/÷\ f\8e\93dýy\86â[\1dX\96±m0:\8fný綧·ñn[ÅgËé®ßîØ\85HÿM0!¹¾üxñá#=Æ%bSÇÇÛÝtö5¼\¨\8cùfXñC\\1e\16eðϯ\8bÙfØ\ es\96MW\ 5\b\8d'wO´\9fÎ[Í¡\ 3ò#\a¼ë\97ý\8e}\80\13X\19Wrr÷mÉêÇ0\98/\96=¯*²FÝŧÓy\bi\9c"»4>½\9bn·ß\86\rÇ+b&×È\9cÝN×_d®\1c¡Ý=\87ñ\r©}~Òx\89l¿úعóÅ\97ý\86uBö¶õû4ÿÄö7\93¬\8d+ý ]0ëf¹X\7f¡\11´¹ë°\15\9f>èqìcûèè\8d\18\1eïÛòhq/§\12Þ8\93Y\14zmqÆÑ­0ÌI4\92¢mòh±l\7f$\994lÿ§·ÌKT+\91B\8e¬\94|éWñÔ\1e~`³NÙ\92\91\8d7ý|º_ò\96,\90\ 55Xï6Ãn\98\r¼\rp~ï\9ec¯z£'ju;NȲ¬\8f\9fºê⧮å¨Å=\a²ú\93§\96\91º\8f\82h\ fÝâ\8fCU\96ðQ\8bò4MÙ\1cNdR.¯úÍýb&9\ 4\b9$ù\18\93°\8fô\9cFcéêgH³\ f\98\8f/\ e4©o\ 3\83ù8müï> æÝëú\80\7f\fß\ e­ß\rôd\14¾³au\87ÜLÏ\91zJ­ÏWo~}û\86\9eb\8b·Ù3¤Ú\a\1c\10\1f£û¡Ù/Þ»f\83®È-eáj\86MÖ8x3\9bõ[Þ Ø\88VN¬\1fÂÇ:-=Ûa¿      qàêÖl¸aWà0^e±÷¹_p;\ 5×f:üò_W¤\1eªY\83\ f¬Ï½S\823Îé\e¡\v\8e{\92\ fëÝf¸ÙÏv\8baMJâ><&éèÝ\17þ\7fÔ¿¥.u¼\82Ç\1dEt-v¢v¯\ f,­Æs¡\8dê\96ºßÉ°ábJ%¹\vmÙ³\9b\1c\8dÄGÛ\91\8dbáA\94\86j\ f\ 5»Ø3¡\19§Õ\1a\85\19[CO©ÑÖæPbW"Ý'±S\81ºÙþg=ãP\85ïµÓ\ e§\ 1Ü\87ÔÚ]Îww<?ü\1e[±§ó\19NÛ$ü<Ï\ f\1a\8fúðÀðv¿XÞD÷ ½ÐFù\94\7fÞ.ÖÓÍB:KÜoë!æé\14ÿ³\92¢\81|Ç4\ e\80\83\ 2\9bnv±ÛCJC¹\96ÚtÊÀíê³\9cÛ°zúâ©Õ[Ç\17)I>w>òNÁ'g^Yú%áÝǹéAãO\1ex\16ë~w3\99¡Ë¦)ðµ i^°\12\99e\88¬CÓ\8eóÖ\9b%\ e3ëénqßÿ\95Ô¥æS»A\9còlѱgãYqÁ\8d#~ePÇ4p¢ÅäòÓ¸­z3íW\92Ûé(ù|.Éjn\81\7B\97 pÅ£ÝHsØ\8düÞß\rê\ 1|\8e³Nãíþ\v§2º\85\8fW\13>À^øϨ±´z®ñÀw)¿ú8Ò\8dû\8e£zû²\eðaÿ\ 4\e\7f h&\a\ 5é\97~Ýo¦ñ\9cR¡zI:Z¬çÜ.âÊ\b¿ÒxÑ\9cò IjQ7Þ\91¨óã5y×\7fÞËy\1aßÄ´ì-ûû~)Á\86視\8f{ÉDù\7f\18uP9\10h\94ad©jë\1cúÍfØ\88Yhõ\9e/\1d<hÁ1\91Õ%W\ 5\1c\1dÞP\9dÆ\võf\87û¯ÛXïÑbk?r¢¹;J\84\9býz\1dK)\1c¢wm8|ëY\0_áª\17¹v`/DÃÑ\r\1ed\r9 i\1føqº\9bÝ\86ÎÅ
+±'¿Ï\93`\86ËüÈ\82T\ 4\1fÍüíaæ¿\96¾\96>\17h\ac}m1±Þ\1dþ\98}].äî\14çÎï\97tÐÃ\1f\14\ 1ù=\87\9d\1f¨
+°-ã*\80.ü`\1fn·ûÕ\1d\1d\199\91àç ±Gù>\ 1\86µ8ǧ\98Q\17Ö\1eæükܺK\16´\v\1f\13óýÿ\14\rÁ\11èÈ\90ãN\99¬¡\18\1c]\98\8dO®U¸\9bøîFE\9bªÎ\9dyie\8eûã\93\ 6\85+¶×d\90|þ92èøöÿ¤A\ 5­ÙëZ¡\a\f:¾î?i\10×ñ×e\90|Ã8Z¡ã\9bý\93\ 6q6ü!\f\92\8eÁ\7fª8i\10¯ï\ fa\90\9c
+\1f5\88×÷u\19Ä·òçG!'ÍΣ\ 6ñè\1f \8e»\82G\râ»ù×e\10«t¼Bø        \1aedº'\89\aÛ\93\9b(ãûÉ,\9fT¯¢¶fµØÓ¤\au\15\1f\9c=Ü*¼:{ÚvdÏÁ\ 1÷j·XÊï\ 6pXèâ÷\97Ûé}<ãù/8øȱÇ/h¶\7f#\7fà\97ðñÇ\a\13\85źx\8f_>ñ\ fcàö¶ ¿|E\7fS\ 5?\8bá\8fiÉÇÍðG?Û%ï\86Ù~\85_Óàª0\âáï-Uxÿ¼I;zý~± \9bþ~}öÛÙ\7f\ 1yøv\92endstream
+endobj
+1493 0 obj<</Type/Page/Parent 1476 0 R/Contents 1494 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1494 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
-1498 0 obj<</Type/Page/Parent 1479 0 R/Contents 1499 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 364 0 R>>endobj
-1499 0 obj<</Filter/FlateDecode/Length 2522      >>stream
-x\ 1}\99]SÛJ\12\86ïù\15S¹Ù\9cª ,É\9fçf\97\84M\ e[  \90Ø)ÎEnd[\80\12KòJr\bÿ~\9fî±5\8d9{*U\81×ïtOÏÛ\1f#\99ÿ\9eÄnÀ¿ØM\12\97\8eݪ<\19D\ 3>éÿûòá$\8eÓhìF³q4p¥KâI4Ý£\8d\9bËz7\9a&|VºÉ8\1aî\81PÓi\94ö\<\19\8a\9d®ìíR±.]<\8ae¥"áÄÍp<Tn8\8a\92=\10ÊÀÒͦQl¹¡,\1d\r4\96±\84é\81º\f\908gb§\v\853\90Xb\89)\90\16Ã&³~\ f1µXÎ1à\1cÆÖ`Øé$\9a\19\16yFn\98N\10\172\1d  ©H\1d\e,\8eG\12q`\r\86\9dÍD°À\1a\90ÕzöÛ&CL0EON«H·5\18\96\84\12bÏzÓ8F\ 2È\81\92\8aÔÔ`Øt,ú\aÖ`ØQ*Û\ 6Ö`ØéP¶\r¬Á\9c'Ѭ÷¬Å°ÃXN\eX\83a)*\e\95Å°3\15£·Õã¦\14\99Ö¨\1eÏ£pÜ\9e\1dM\bÙ°\ 6s *\8cþROjk0,Û\ e-k0AÑo±a-\96ã\ e©¸àÙ\87\8c\8e>C©"\13ò\81õ!\ 6Ö`ÉA,Û\ 6Ö`ag²­a\ 3\96\90ÇrÜ\9eµXB\9e\865\18\96\ 1ñÌÖàÒ¥ñ\94ì\ 6[\8baG\89$¡ß×bØ©4¶a\r.Ýp\90¢Y`-\86Mãg¶^æIì[7\96rM\15©Ì\ 6#U\92\815\18v4\161\ 2k°È\9cF\13Ë\1a,2\8f$äÞ\96R@¹ÑT\e{\92J\82\14HL\ 6âv\10\8bÛ\9e´\186\95Ñ`X\83a)]ëØb   Xæ\94±5X\ 2NE¨~_\8baÇ2ö\rk°d^®\88ÀZ\f\9bÊ,\r¬Ï\8fÞ\15\99\90\8aD\v\89oëX~¦\8a\ 2Æ\949\8bR\815\18\96\86&\ 1\815XN+s*°\16Ã\12\14Ùêm-\86åâ äÀ\1a\fKO<c\röJQR½­(uÀ¢\94\\8f\865\18\96ÞAå`k0]ÀäµZY\f;\1aöûhÉ©\90\88àG\91\8ceiש\v9\18\8c|\ 3\r¤fSE\9a\ 3\83Q9\9eI\ e\ 2k°$WîMÃ\1a\fË\ 5\86ÊÁÖ`tLäî\r¬Å°¬%\7f½­\96M2K´½b\rÑ£\10rÏj\88\86\10²a5äÞVC4¬Á\ 4¥å\1aX\8ba\87\ 3B6¬Á°\9c`bX\7f ½\8a\bÊ\1fH\91\81õ\a\b¬ÁØ2ÁÙ¶g½cÚ×ß\9bCÙU\91w\1c\94ÔÔ²\ 6\8bã1åhlÁÉ\1eÃêä3¬Á°3\99»\865Øë82¬èxÀ°ú\88\11l-\86\1dOû(äD\16\8bÊRéÆÖ`X\1eÍì\89,¦ý\86R]ÁÖbiÎñ3%½ÌÜyÚ`ܹl«He6\181\90\9f$\ 4Ö`\91J&o`õ"\91\81$\ f¦\1c\16N\81ø5\10Cî2\12ß\93\16˦ÒÞ\81õñ&²\17¤O¥"ñëI.\b}´¤#ȳ"=\8cÁâWw\r¬Á°t(1\ 5Ö`ô×\87áÀúm\aû×\90\81¼$$\8at[\83\81\1c\ 6ã\98þ±¬:\8eÉ\98O\8e\\8b\1e©cnî\ 3Æq*·|`½)7¶¾\17hÃÇ\8az\9d$\14\15Qç©G\81\1c\88<¶ÏÐYP ¹Ìµ+U\1f¹ê\aJòÒC@\89\7fuâÓd\ fÄÐ@\99òô\89_(\9c\81ú:6´\9cºAC=Ç@
-?V$\86±ÁHÀÎcË\1a\f\12]°5\18\96ç8BêY\95\7f½¡\vR§@7\r\10;Ê|b¸\0átèövê\92>ÖÚ¤d'N\81º\f\103Ú*6\\80p3\11¢·S\974\93&C}(\b.\ fÜDî·\9eÓÖä¢\95ª"Æ\99ÓßÅ* Òñt>
-L@DÁ\83\ 4¯èâ@·
-\10\8eàxC?p\1a!oO\87*\1cóV\ 5P3\8ar\ f1ãÙXÞ¸\ e\\80p\14*/Ä=\17 \1c\82\0é¦$&ÌÞÎ\ f¤ý\83­Î9ù½?5ÓZºAÏ©¿\v\13\10[ñpÏ<9\18\19\b§m\12¸\0áx¥æVèí\ 2\84#'Lò\9e\vP\86ÁDÆí\813\10\8e\96aP÷\\80p¼ù1»\ eÜÛÅÉÙ{Ö\ eÜâ\8e/iÆ\93©[¬õ»\19>Y½>_¶]\93­ºß\16ßYGûÄ~Ý)\ e\12V¾þ\98µ\9dûº]g]î×Ð\9dºæµûÝÝæk÷\9f¬¢"\84\e¸S\1dÅX-\1e\8aÖ-ëú\87ãgæVõf\93¯º¢®\}çþ¸¾]\óñz\8dyW»yV.3·®W»2¯ºÌ/û\997®{ÈÝS\9e5mä.]×<Éâ¼jwM\ e\95u.Ûlöûê$bß\fjµk\1aü¼qË]çں̻¢Ì[u¦Ál²æ\1eçßë¥x!¢*wÛ¼i        n\ 5\82 \8a*r\v¶/k\8eßä+\1c:Bj÷Gè8ßÑÖ\87øÕÉ2wwõ®Z;¢|èºíïgg\8f\8f\8fQ+'\8dêæþ\8c]5¢W\17öدÜ6»Ï#w³É³6wm\8e\87\9djOüõÑ\86ßó¦yúWïÒÕ\9c\94y\13>\8bþ*-\87@½ÐH².¨\81\ 2µH\a\85ÿpõÕ}È«¼É6îf·Ü\14+÷±@\aâúöúÃÍÇo¿õ\82$\91;'ÇÛ'É.I;
-\14S5c«¢Zmv\92öÇ¢{P\ 1|òÛz׬ò\10       2÷>%)½\9euuº)HX¦\15\1d2oT¾kïTãý¾íÙýv\13u¿\ e\16\87\1a\90\93Ð7\88\86\8e\12òÙ{nоþå\11C*9[nr9×»ºê¨\ 2Mû³N9Dp\19õz\15UÛQ\9cª°xæ[Ñ>Ð8r\7fÔ\8f\97~\95ËÈò"§Îæç\9fÞ\9e¿\\8fÅõRJ²¨îuñÞ½@Mÿ\91ÞÜ1\91\84{WÜï\9aÿ¿(¥Âé©\rÙ\97EÒlí\ 3\rDgþÌ\8a\8d?wå\9eH\r\95ØPý²Ï©Ñ\9cùê}¬êª\92þÆM\9fØ]Uür«M\81f/â\e½0»kê\92Aqq=\7fãnïnïù¿¨f¿ôÇÕB\7f$?Þ¸ëùYòÆåÝ*\8a"ãüyPãÈÝÊx¸¼£\85\89©u\17\8fÎÝÖÍ\8f\7fê\19l>Ðêó®Xýpï\9aºmÝ|·¬òνmêÇVÎs¶ÿ\\8cï\9b\rÔý®Xk­?wGº.\8avµkeX\1c\17S>ÿËÃ\ 6w»J'#²S\a\ f¾4ÖùvS?9ªHªO\b>a\1a(ìMw\12á\91¸ÚO/w%Ù_é\ß\9fîÕ\97¼¬»Ü\9dW\15Sj\95ËÜi2&åË\1có2ñ\97¦*PîæOÕêÈÚ\14\bïC½ñíåÕü(V\1e\0ЪvW×\v·#º²ö\93ÝÏäo¯cf̶©»\9aûC\ 6槹TÅ\9aÌ0¥W¤6?\1eÂI4\89Ü\15'q_ò¶Þìô.¹n\98i*\89M\94W¤a$ÝÕMé\87!·\¶dòÊâçkIêeÕ5õz§É::\bO\ 6ðå¶nº\8c\8bâ
-m[w¾¬¹\80æ9÷QÑé\801ÊðÍ\1a= -W.·YÛ>®éز$Ó\1aè³\95$àfCû».ï\87Øaèðe\18~.Þ¾\b\be?^\9cß¼ø\1c}>=Í?\7f|AL#÷ç'ýø\94¿ãôãê\92±¶xÚjéüÝX#È+îZæ{ÖÉ\ 5M¥Íuh¨µæÉ*:\8cPt\8eZkw¾\91\eØ/>><OÿR!r'»Oy¹än
-\v\8dH|ãÔ¯\93AÝÈ\ 3ÇË\9c£\95¿o2\1a]6?=ÞÜÆÈs\94Vo£\r8\97ÙÈ ôét\9büg®O\1f§Ö\ 4Õû\r¸¶®\16\96)Úä\87»i\8a2càî\8fó<̳÷ÓýÝ£þø\v\91Þ>öñlÈ;Êt:ä!\8ek)\11¥þ½8ù|ò?î\9ey%endstream
-endobj
-1500 0 obj<</Type/Page/Parent 1479 0 R/Contents 1501 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 418 0 R>>endobj
-1501 0 obj<</Filter/FlateDecode/Length 3205      >>stream
-x\ 1\8dZÑrÛF\12|×WìcîÁ4\ 1\82$øpu%Ûq¢«³ã³\98ó½B$$!\16\b\ 5\ 4íøï¯{\86ØmH¹$\95*%­ÆÌÎôÎÌ. üz\91\859þÉÂ:\ f\8bUص\17óÙ\1c¿\89?>þpQ\96³eX\95«Ù<´!+\96³Õ\19=\84ë\vÅ`Ë%\9eògɺé:\9f\95gS\90\86\12¹ÜÀ\9fû\ 5ihô;b°«l\96++\18ìf1Û(+¸\rù"\9feÂ*\ 6[f³\85°\1e\9a\15\fj1Ç¿W\86,(Á`×\19¥H¬`\ 6µ\9e²\82±l1\9f­ÅV1XÈ\80\84¢gÅ`7Ë©­à6,r
-\9al\15\83źêY1Øå\9aRÅu\15\83Å:\90*².Õb\81\9d¡T\19\90K\950¥ZrÙÄ
-¦TK.\9bXÁH7_sï#ëËæ(Q.\9b\15,NC¶¬`°È\16û\97XÁ`WV\18\89\15\f\9c£jÅV0Y\v
-FÈó\92éFÖC\9e¯¼\rò\15·Ï\90\85,\98A-¦¬`°ë\r· Ù
-¦Rù\84U\fvYP\8ch[\14\90u\89Vaû­W\bØ\ 1c\12\88\1c!%R1Ø%+JXÁTb\8e­M¬b°Y\86\90\84\15\f\16\11Nl\ 5\83-\99¬Ø
-F­f\14*±¶\ 3Kl¡µµÍ0G¶\ 3\82\91\90Ͱĺé\8aû\r\12\8fÎÃÒ\10M\9d\84²©\18\97\86̯\15£c
-Å*\17V0Xì3¤H¶\82)#GMb\15\83\85䥲\82Á®Ø"b+\982r\10     +\182æ¬\99Äzºè"\9bçsN\9a¥!KW0\95²ýI¬`\17\ 3\8e\13\v1Fìb ¨ÄZ\138\ 6»ÙÄgm]ÁHhÁ¹\9bl\153]6¡°\82ÁnJnQ\W1k*c¥GV1¥\9aÚ*\ 6»,Y\8fÑÖ\85Äd³³\ f\r\86¢2äu\930ÒÍ\97\f\82ÁâtC\e'V0Ø\82e+¬`°+kÝd+\98ìfj+\18R¡"!F´UÌMàhM¬Ï\1a´\ 3ÛÏ\87\8b\ 1f+°\rå\86µ\1a9\81\ 1\8a¢\88\9c@\ 4\8bY\8b]\8f¤b°K\9eçÂ
-\ 6»)&¶¾7ÈÏ\1a>ãa»4ä{\930L\17%M\13[Ø@\e\18êGÖ\1c\17øéÃ\82\8e\1c\915ÇÂ\9aã\91Íq\18\96\8e×\85·eÎÈ\vCæX0#^C
-a\ 5\83Åm\bA%[ÁØU\eª\89õeq\15³"¶î/\fÙ²\82¹l\8e\8d\15V0X\9c¼X6Ù
-fPå\84õe\8bÒ\8a)Ëy\80\15\86\84a\8aq½PV0ØÍ|ºãÅò¼ñ+\92\86èØJ¸À    Ëͳ\9au@Nà¹\84\13g%<ÚYÍ&N ¢\81ºØ\19[Á2\11\f\16\82Í\95\15\f\16\82¡ \92­`æÉ*\15V0{\95÷\91ĺ
-¸ÁØ\8cÇ\ 1\80b2äò&Ì XËÂ
-\ 6\8bÃlb+\98AåL7y\16ÌRãÙ\9fXÅ`q\aEºÑV1X\9c\16عÈZB¼¼ú¬åáåÈUN\18Aa\8cl\94\15Ìt9\9dÄV0X\
-&¶\82\99î\1cb\88­`\84\8c9ªQ)\ 6k²&[Å`×¼1&63\88Û\10g­½H,\f0[\81L\96w\99D\16\eÆ`S\1eÃ\96\17v\a4\14H\1d¦¤bÄ\83\12SÅ`1z'\8eyuZà\976\13ñî\82T\fyµ%L\81\84\15L\91øF\90\ 6\97\ e\96ñº¤¥\ 1ú\15Èlx+L¤b°¸K-\94\15Ì\90¬"¢cÅ\b       ç:\94\88¬b°¸0@ïÄ
-\ 6\8bäPk\89\15\f\16\1d<a\ 5ó*ÂY\91lq\f\ 1Ú{!Ó¥$\8eLcÁL\97\a·°\82Á¢\f\82\99\10û=Ù*\ 6\8bW\15\84lQp]Å\b\19¯%º®bO\b\9b\10m\99à¸\12\87zV\f\16ÃyÌ\9eë*nC\81;Ýè\89¬K\95\9d_ÿ³5\1d\e\ 4C\f߯Ä
\90\19¥J¬`°+Nda\ 5C*\17#Ú*\ 6\8bs\ 1\1d\94XÁÜ\ 4^C\85\15\f\167<\8dJ1XLJH\15\18óñ\ 5ßêÆ\90\89áu3²h7$\94XÁ¬\eë¿È\9aã\1c\13Ð\9aÞ\1c9J\8e#k\8e\84\15L\1dY®Â
-F>s\1eå\89UìZ,\85õ P-þ­\8a-\94\e² Ð\88#ææ²u\85\15\f\16ß\81\16Ê
-ƲvGM¶\8a\19\14'^b=(\1chvvÙ{*\8f·Uð x¦9¦\16k.\9bXÁ`Ë\ 5jYXÁX\16GA!¬b°H\ f*GÏ\8aÁ¢jt]Åh?;\8e\92­b°«Õ$*O\17#6½¦óå¶ÐtGÖÓK¬à\98nb=ݳí9½È*\8eé&ÖÓ\1fmq9ÞØ+·G\95\vfºK&\14m\15\83ÅÉ\86º\89,j\19\107p¾iàª\8db5ÀÍ\15\88t0ðà6\92\8a¹ó\ 5w ²î\16ÓØÚ\vÃ\ 4¤!+\1aÁ0Åg;\94Pb\ 5\83µ×Ea\ 5\83µë«°\82¡"ê\1c!GÏ\8a©ñ4*Å`í\8d^l\ 5³høæ\94X/\9aìüQ¾¦å\86,]ÁL\887\17a\ 5\83õF\8d¶æØ¿ãÒ\94\17\17GÞ|        {¶\85°nZú\v¯ßì3Cfj7{Çp\8cß/íç¹Ì\ 5\83µ#Vl\ 5cYì9\82\8a\9e\99\86\15\14ßß\1dpU¼\88\8c\10n!K)¤Ç\8b\92±³\8aCnn\8dç$^\80l2â\ e\99A\r"ºuÒÊ\ 6nÑíXÄ\90g\9a0Ø%/æÂ
-\ 6\8b9\ 2   £­;Îίyöþ\9b\19¢cOÔæ;:\87\aIfÀ\12M\90\11ñ­*\91\8a\19ÑzbjkâE$©` æ\89\8bãøV´à¥Ò%ÈPä¹C¸\pÓ\13\97 \97cÃ'.Apøì\88?ÃD\9f       b\9bí\93\ 4\82\83\88«dg\19 Aü]\87ê\eH\9b1r\ 5Ï\83Ä%\88\ f\12\97 \963\99#gËá\8e\1a\e\17\81-gª\8c\1c6\f\1fJ"\97 3ç\r-q  \8eËEÎW?ûÌír\1c9\v\ 5odöÕ\ 6ªã&C`¡$ÈMð7±\91KÐCÁ5&Ú!\943\ 4\87ñÆ÷»Ñ.An\10ÇYä\ 4r\83ø!4q \82[ûûæÙ§@pètÜäÆõ,=,c¥\89ï\88<\90\ 1\ 4\99\ 2\89KÐÃÄø\eí\18æ\192L\9e³\89K\10\1cÎVµK\90'\1eS\88v¯¶\17/ß®Ðva{Ë?*®ÊuØîí\ f\8aó°Ý}\87kþ,|èë¾þõÔ\1c\9b¡\ e\1fëjß\1cîþ¶ýåb\1e\0Ùîñ\>\v¯ªÝ绾;\1döÏØÅ,¼î\ e·ÍÝ©\87q\18îëp]µ7UxÓµUs 9ôÝÃCÝ?3-`Ú×Õ@»wÕî¾9ÔaÛ\9f\8eC¸Üí°Øp\fÕa\1fþÙ5\a>òú¡©ù»¡³UÜ?\9d¾\98\84»d@mÛ\1d\90]wóP·îåû¾ïúã³\18V³ðé¾\1aB\87Àûp_?<\86]u\bWá®\1eþñìéõìIZá¶ëçæ°ï¾\1eÃæ·\97ï¾·\80ð\17Ü( l\\10\8axz|â\0º0¡ß\93\8c\9e¦\8eþÚ\8eá\16ótÇT!\NÏ9ÿzª\1e\9aÛ¦\86@¿\13\15\ 4äf\1eêák×\7f\ 5>^Bg(å\91ßÔðñG   âÉ÷ÛðáÍks4\8d\a;öc÷5ì;È~¬\87\0\91ªQ³Ñ@\85(GE+F~ùæ\1a¦VkmÝÞx\9dM\1f\87n×õ\0·ßºS\1f¨ëË·8\1d­5¾;¶7³\1d\7f=v\8c\94\14^\99þÈþe=ì^~îo\96\7fæ\85\9dÂr¯M×]×>\9e\ 6ì~åµnu3Y\15\ 2ok4\83\ 5}¬û/x\18ò\9c\1eùèäI\bÈ'Ù$_\9bá> ¥\9d5Ës§¨÷÷ÝP[#¼P\956\13Qßo\8bà\95\9d\7fþcuq       \99Å\16õ]>w¾\85âå±\98Í\9f\ 4\8diÊ*ü\16\1a4ô=~ÜÔ\ 3Õ\18îáãXï0M\86oáïøOæíE\83)\16»êêêj\16.÷_ªÃ®ÞÇ       \84\1d¸\92f\86¹\98\9e|ïå\8cys¨\ ewu\8b\89\12®\ eèâöÿÙ"½\8fu\vÍPC¶\a\97û\16\ 3é8ôÑb"$>d\84\9fß_ý7|¨û¶9\1e\11QxÕ\9cgÙ8*Ð\v\98qõñ8ÎÇð/x´]\99\84\9eQÝÿ4õWî-\87á\ eúÜ\11Ø\12\8fq\89c8\1dùk¶,\9cG\ 5÷MõÐÝ=\9d{üØâM\87Ùó\ 5îÃmóP'+\84<vàñ¾êë'\9b\as\14ó\18\96\99v_\ fu\7f¼o¬8µ½ñ,
-yúl\1föM_ï\86®ÿ\16$\85ç« °ßuûæö\eSóuþ²-*ýê\80\92ªv,
-o\fªs\1c cÕïÏ\13fç-ÙVÇÏá±ê«¶\86\8d·\87ô\18²À\1cÿ+þ,Êj\18úæ\ 6í\1dÚêñ\11Á3µi\95@ÿ\1fp¢>\8eO\84\1f\7fú´ýé©\ 4ON×\ f\97ïìÄÙ³ül\81}À2a\872î«\87\87oðv¨îÐ\11Õ  ¹\1e\86f\17\8btRW\vÖ\95÷&«
-~\9f¯\8c\bßÈ:\97Ï<ª>x¡Àu\ 2á\8d\97\ 1[7à\ 2 óu*\ 1êâ\ 3.\r6·®O\8f\8f]?0\8aI øë\83éÞwû\93m¤)©+ãÊÏ\13߯ 1Ûé\13\88m\8b­¿j\1f¹Þ1l»î\ 1£ôiÎxa`ÎÕÝ¡;6ÏG$>)\84×?\7f¸þó¨qa|\1eµ\86\84ïag_/ÂÇËOî\111¢"îîYóÏZ\ e\7f?ó$,\82·Í\ 3§åë{\±\9e57>!i áMß`\86ú5èMý¥ÁÜy¦"¾\96Ì0\83ÚÆv\83}r8ñ0\rÝ-Úâ\ ew\84\13FñÑ.G&âSíð¦#cöC\87i¶ë\9bÇ!\89uÛwmxw=^\97èàå[¼ûÚ1\8c;ö¼ÄÿQS渥~w}ùîÕ%,»_0%p7Ù\9d8¨ãæ¾à'6>þb=ßðùË\e\8eã\9dmh\81·Ð²,ð?Ó\81Xp\95ï·\17ÿ¾ø\1f\19sèÿendstream
-endobj
-1502 0 obj<</Type/Page/Parent 1479 0 R/Contents 1503 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 470 0 R>>endobj
-1503 0 obj<</Filter/FlateDecode/Length 2523      >>stream
-x\ 1}YËrÛV\12Ýë+îb\16ÉB4ñ \1e«)[\1e'ª±d\8d(EÙ\82$$!& \ e\0Jò|ý\9cÓ\râ6D:\95ªT\8eÎí¾ý¾\ræ¿g\81\9bâ\9fÀ¥¡\8b\12·Ü\9cM'Süeø×íogy<\99º$Kðï\8d\v\92p\92õhíæg\16\83MãI`Y\837.\9cÆ\93Ø°\16\83\8d\82á\1e\18ì,\1ci\8es\9a\91Ò\98\8dËf\93Y\ f(i L
\93Ä\90\16\83\9då4Iô\88;\ 6Óàp¤Øb°A6I\8d¬Åt'£;\83f\8bÁ&Éè^\8bÁæÑXÖà\8d\8b¢1«ù\81á ó\13\ 4Ñ!%cÞFo\ 3FM\90'¡.$\89@Á`A\12
-\83Á&ïX\83að4\98äFVo\15\ 5\10\rRFQ\90(6\986¥Ì\8fg\r\ 6\9be\8cÓÀªâi"i\ fbQ,H\14\eL\8b\13¦Ç³\ 63=\12\8a\81\15Å3ÄY\82\88\båNÑ\10§Y6Õ *)\88¤Tâ,I%\88økâ\14\903\10\ 6ÅS\98íI\8b\19\a\96¿a\r\ 6\9bfcY\83Áæ¬5#k0\\rã\91Qêê\8cu\ 2Ñ0\9dDn&Hbh0Ø\84\9dåYõUü@×EèÈ\99\0ñÕC\bÆ,*Oê\9dЭ5\9aP« ¹3ò\18¢23<«w\ 6\1c\1d Ñ\91ðT\90\88\1a\f6`7\eÖ`°\18]¸ÖË\1aÌ\12\9e\8d4[Ì\18²\98¼¬Å`ejxV½EOh_\854J\90FØcz\e2P\9e5\18,b\f\93=k0Ø\9c5lX\83a\14\1c\85É\83¬Å`Ñ\r(qÏ\1a\f6\9f\8dl\16\87bô¢\96\f\1d\1d\1aØ\84\93Ù°\ 6Ó¡\10åfX\83q-r\10\1aÖb°\11\8bÑËZ\f\16\ fDnY\83é\10\9f/#k0&j\9c\8dî\95\92\8bQ\87|\à{ê\14Ð[\ 3á\ e\86<B!'%\14\ 6\83\85\1e+j1C\11 \7f¼¬Æ8  ú\16Éè\8d \83â\ 3\86èlJ{=k0XL±ÃÙÞb¸\ e\17¥\81`!HAFñ\81MgL\8fg\r¦Å    \8c3¬Á\b1\9eCø3Ȫ?È\994\ 1\9e%\88
-Òk=¦bvµgU4ä\1fAªÅ\82\8cÅ\a6åT\8e=k0lÂ|\87M\ 3«\8a§\9c¥P,£.\16$\8a\r\ 6\eKz<k0Ù\9c\812¬Ç`Ó\94\89÷¬Á4\8a}äY1*BÇÉl\14#\14\ 6V\8c0¬Á¸Vv4Ã\1a\f6ç¤7¬Á4\8aÍåY\8bÁ¦\1c\7f\9eU\93\915))5Y\901ùÀª\89\9e5x0Ù³jòAVMô¬Á\83É\ 3Û\9bÜË\86x?\ 3\17\r¬\9a\8ca¤åÈ©\e      Ò\9aò\18F%\11½õ¬Á`Ñ\13\1aL\87Ø\ 5FÖ`\9a\1c3\a\83f\8bÁFéH³\9a\17ï\88\85\1e    R\93=¦É|
-\fk0MfÅ\19Ö`\\eD#Y\8bÁbÝAa\f÷æ9a¬\8bw\10r\15U¤©÷\18×b,Á(9+¬Á`\91ÌIJ\ 6óZÉÁ «×\86\87%W\8c\10¤±ð\18\8a±ÿ#}\ 3+Ó<
-t\ 5Τ   \ 4PÒ@Lz¶ \1e$g \94\ e\82\16Ó\17nS^Ôb\ 68fÌ\ 6Y\8béiÊ(yÖ`°X,­Q\16\83Å\e\82¢ð²\ 6ãYýÖ*5rÚ¯û2Á"AôV¢\14æÜò%\12\11ÞL\82>\12\a\b_±¾O\ri1X\14JlX¹\93ãC&®|\7f(¢^ý\1e\19Ø\94\e°a\r\86«ø0I\f«\8aÑ\99ºQò\99     \ 5\89byh\14Ã&¼Ï©aU\14Å(Ó+`µ\84\82DÔ`º3C;\eÖ`°Ø³3Ë\1aÌÄr¤zY\8d0z\9c\13\b«\1a¼\11 \11ö\10j±°#Þ\9ed\1a¹ÅËs¨1\14$\92B\ 6ì4J²ÿBAâ\8cÁ`c~\9d\eÖ`°Ø<a®\975\18Îà\13̲\12Cmáõ\8aüµ\ 3\9bÄX9\fk0\14\aÜÛ<«\8a³~Ý\17û\ 3AFñ\81Å7\\84vçYa\r\86QI6bU1jJ\97r\ 6*\10d\14\1fXUäY\83¡\18_¨¡\955\18¬\98c4\e\foåí÷¬\1a\17k\14\f\8c\12$F\19\fŲDxVÊ\89)\95ÄÃBDQ\10EU/þ¨;\ 5\e9\10¤Îz\f½¨³Ø²\ 6óV¶®\915\18¬¬Ñ\865\18ÎF9êͳj\14ÖDÝ\1a¸R\ 4\82Ô(\8f¡\18®Ã\1fÏ\1a\f\16\13\1e&{\96\9f\9e\81|<l\1c>d\92\1e\84)×UR\96\ 1ùo2\1eñ>\ eÒ\812\10\9c¬\94\ 3'^Èç7(\8c\83Ø        F¡ðɬAg÷\v\ 6\b1üx\82ß<xp\10Ãç\8a\8e\84%\10\82í9lÂøuáÀÉm\b±Ô3\9e\0.w\0*6@Ü\ 61<\ 3\aNÄð9+Ã\ 4O\7f\8eÉ\b b\ 3¤\18ëbà>Ý\9d\82À\ 6îî\91¿\16&YêîVòKáÔÝ-\7fáØ\9c¸\8fû®>ÿ\®Ë®ª·®~t\17÷7s×îêzí\1e«uÙþz÷×Ù9~i<ÇÍ!\14ü\ 2ÃÝý¶z¬Ê\95ûZ?ÕÛÖ-Êîµ,·î¡Ú®ê×Ö]ß¹b»r÷×\97\7fº}[m\9fÈ,@RÙ;]\ 1lX´]S,;²ÓÑEáÄ]n»¦^í\97´ïø@4q\ fÏEwÐïn\9aú¥ZõV\8f\13÷{ý:\9c\9bïâÜøÔ\8c7¶]±^\17\12\11úqQo\1f«§}#\7f\ 1ñøZmªNh\8d×X'Â\f\15Ë5B¡>\8cã ú¦^WË\1fîªØ\16Oå¦Üvî\9cƶ\12Æ\87ç\1f¢u\14¸t\82ÀÍ\7f´]¹QéêTª2¨njæÑè>J\ 2\16à\89»­\8b\r\9f?\91÷\\92Q>1\ e8x5\1fò½Eþ\19N÷ZuÏn^l\16ÅÑ%\98,\13w]lJw[¶õz/Ñ­¶®p»}S²¢Þ>|­¶û7\aUk©\14\eE4C/Þxñ¢Ey¡\fy-T\1d[\ 4;iÈ(Þx\17Ýåf\87B\81ä¢A\94é\rÄÛSvã4ìþöR6/UùÊ\ 69\88¼+\ 4\1c\84\85\9f\ eúÚýnW7ÝH¯ñ\a§Qº\88õb\8d\ 4z\97\8e\95¢l\a¥Å²©ÛÖµû\ 5"þ¾x¡\12Å;/;ÉÎ~\87È>\^£\97azÙ\1c+FÙ\9aÃÃ\1d\92\92\87o·ÿþíöÛýͱ\18ªõ§b\9f¿]}¼¼¦ÌùØWÔá\97ºY2Ð\12e×Õ\18\1a®{.ݦ@\r\9f0\ fÕvU|7\128»ª7\ 5ìû\99\b6!w]w¥+\16õ¾c¢\8aÕ\12ê]±Z!ÄíñX`v\91Þ«ýº«vh\92j\v[\1e\8bå\89^
-qî÷º\95à\16îªb*êÇÎ}®0¼ªÅ¾C5}a£õMÙ5eé0ROv\ 3\94A\1d\a\93í¸Ýð\13\88\9bwÅò{\81\12q\7f|\99»\rÆ`?\90í(ÀAÑåǤL\8dåß\f-\88ÈdÅHZÁl£x\947üò7±7»â¥¨ÖbO¹nË×ç²)%Ù#s 3/\97û\86©;í<\1e\7f\19%?\9bëØ!aÞ½ôå3Bî\16\ 5»\1c\95§Þ\ 1\9cÇ¥z~Èàß\1eGSéñ\ 2\8f\S¾bÜ¿¯tü\8eë\ f]Þ\üõÏ\ 5\ 6ÕªÜþ8ªp|Ôàð\ e£q5r{<xxë¶ZÖ«òÃ\ 5tµ}\ f\8f¢\87\85¿\7fÒxÙ²?&\19Ý«ì?ß[\1a3Z\12iM¼Q}\8ew\7fx¸/ÿÀS»Û\95ÛUõ¦\ 5\99Ã\83\13ÐíÐ\ 2u³)¶K4DÛîO\9e\85\95\17õfW4U\8b\rà½Iø¸\83¶zù½ì\½ã¨?q\ 49»-\8b\95k«ÿI\19Ù\91\81-\8dýÿæÞð°\1ek\87­X=ܺ|)%q\1f¾`å\95E\a¿\ 1\bË\8eì*ó\8fW\9f>rÌþ\85Âq\9fëå\9e\8fëð\8e\9f\aøXçñót\9as·±\9bH\8cÿ\17\94e1þg+\88\986üëîì?gÿ\a')µHendstream
-endobj
-1504 0 obj<</Type/Page/Parent 1479 0 R/Contents 1505 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 505 0 R>>endobj
-1505 0 obj<</Filter/FlateDecode/Length 1460      >>stream
-x\ 1mWËrÛF\10¼ó+ææä 5Þ\8fSJ\92#[Uv¬\98t\9c+\bB\12,\10P\0P¶ÿ>=³\0vHª\%«ÕÛ³3½³\ fü·òÉÃ?\9fÒ\80Â\84ÊýÊ3\1eþ²üøò~\95GÆ£$KðsO¾\9f\9bhB\r­W\1a\83\rs\13(ÖJÓÀd,\r|&\ 5\89Ta°\91o|ÅZi\9c\9bDfÍ\98\14dgu\18Ò88b­4J\90(H_\86
-RÒ\99\8d\96,l\9e\9b\98\920D¢\9cpÎq\ 5Ù\84\1d\ 6\9bÀ%ÅF9G
\8f =\8fk\15ÄR\9b\92\97LF$\1cWÐBÆy8\95\9a"\ 5\8b\ e#.\J\15+qã̳¥\ 6\ 1þ·ÈÅMR[LÈ\83bA\12WaÄ\8d3\8cR¬Â{
-\82\88sZ´vÖ\98û\ 2R?49Å\828°ø\10Gìë\9e2ÉH\0s
-²GRËBj\f6H¹RÇ*Ìù²[\8aU\18l\16Ã`ÇÚ|\11@z)âÕ\8d\ 5\89\11
\94\17αVêGS/Å\9c\93 \91ú\ eC\1aÅ&T¬\95¢Hé¥0å\94\ 4\89Ta.'àÀ\8eU\18ö{ÜZ\8e\95ÀQ\96Yû%\90E.ðÂ&¼\81\1ck¥idûÐJ\ 5)éÌ&>FE\8eU\18\19ç)¦W¬ÂÜ0¼´\8eÕ\98Ù\1c\1dãXé\98\báyyÒ\10&ZÀ9)\88n\8a¸\18\19È\9c\82H\bÍ\1f(Rc68ç\84\16©õ!ʦ}\930)H|\b\1c¶ÒH³\b5cöÁ_\90h\15F¥h\10¸´DÖ\18lȽ¡X\85Á¢¥cÅÚ\94Ãض\13ö\ 5R\16$Ó*Ì)'l°c\15\ 6\8bÎA\ 1\8eU\98\17\87\9bñ\1a\83Å<:²Æ`qB å%²Æ`q\85\1cEVxO!\9aßWZ[.\16\98PV^\90\94«0\97Ë\87MäX\85y\85\85µ\81½\f\12\90¡t\8d \eØa°²p\91c\15\ 6\8b­\ 1\1f\1d«0OË'\94b\15f\97%åE+[ ÌcÙ\ 2y\ 2\17\9c\14DX¹4\15É\87p(ç*È\98·¬E¢\14\12G\80=\81ø\1a\ e\ 5Í¥Î\98¥|\ 29V\
-Ñ7b?6\84O\16\89Ta\96ò\ 5àX+\8d¦K_\f\ e\ 5ͳâ©1³ ß\ f\8eµR\1c\ frPã1\ 1\1f\ 4Y©Ã<+;¨X\85\99å«Z³\ e\83\85¥(ÖEV\18k\83\v\1f\9e.¬MÊ\9f\9e\13Ø£     \85\828)»p\9e}0À[\b\ 50§ æÄ\8b\0Õ,¤Æ`å^w¬Ì\19 sÅ~YV\8b8®%Óé1\81\85\8b(\10äÈd~LðY\15\br$\9c²/#¾Õ\ 3ALú¸×fÌ\19ñ»A±
\83þ2\96µW\9bÕÛ\9b\ 4o\ 1ÚÜó[2ÉRÚìä\1déѦü-@g\eúR\15\8b\1f¿o¾¯<ºÀÃ!À(&SCßúz¬^g3Cë¦ûA×M]µãp.ϧ\ 1\1f»\87º}\85÷=3\89i<´uûÀ!.ðàu9 ½»®\1f\8bmÝÔã/æOhßÐ\87»¯ÿ\8aR'\9f\98\0³_\7f¦¯mýó4µÄ\84\86Þýu+²cUÄ~ì>\14#}¬ÛÃO\80ý¶/ÚÝxq{ûÊ$±¡K\eæ8o8·.öÛ\82 ¥n|¬zº¾½YSé¼:*\ 4Ï\10C\9f\8a²nÇnx\9c\87ýq\9a8\16ßÐçu0ÙvN£®ou»ë~\ftßõô­ë\9f\1eúîð,î_èRS\83Rç±oòøí\9b<;\8f\87úæ1\81\87O\90uÕ¿ÔeEwEùD\81\18rT\a\ 3Zbì¨ìöÏuSÑúòÓÕ%\ f<\19\87z/˲\1a\86ɨ¡;ô\b\v»\8a\82®ÿYKx\9d3^ó
-ÝB°\95\ 6\8a\a\11öï¶\14ßïÇçÓ\8a2^ù«CÝìæ\0Wu[ôuun\10®c,âXôã<tØow\12¸Å/絣ݿTÏèV\1e\7fux\90\90GUã´3tÛ\8e}·;\94cݵg\15âR0ô¾j«¾h¨nï»Ó\ 2riÝj{x ¦z©\1a\99D{\84£Eæ¨ú\16!ª¾ïúWÆpß\8ecQ>Jm\1d\15Ô\1f\82ôÜw¼*çóòV,Æòq²J\17\86\8f\16Ú,\8b\81!åSS\ f#Ç8\19öJý*yÄá\ 5\1e\86Ãþ\99í9Í\ 2<\96oS\r\r\7f6ñjÕMC\8fÅ\8bT\85¾ß6Õ \9bèíM6\1d\83¸Í½\f\98¿;pÌI\7fÒ]ß}¯Ê\91Þuåa\8fÓ¬XVÇÇë\89\ 5\17©\97óøËí0öE)ÅEø,ɲ\b\9fê b.÷ÏÍêïÕÿwÒ\863endstream
-endobj
-1506 0 obj<</Type/Page/Parent 1479 0 R/Contents 1507 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1507 0 obj<</Filter/FlateDecode/Length 113       >>stream
+1495 0 obj<</Type/Page/Parent 1476 0 R/Contents 1496 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 362 0 R>>endobj
+1496 0 obj<</Filter/FlateDecode/Length 2505      >>stream
+x\ 1}YÉrÛH\12½ë+2|\19\82°réË\8cd\8dÝêÐf\93\ eÍÁ\17\10,R°°°±XÖßÏË,\ 2\95"=\13\8e°ôø*³rO\80úû$ \1fÿ\ 2\9a\86\14M(+O|ÏÇ'ã\7f_?\9f\ 4AäM(\99O<\9fJ
+\83©7Û£\82\16|\9e\92Y\88ÏJ\9aN¼x\ f\98\9aͼhä\82iÌrrr\94\8bXº¤   ø¤ æXM<\89\85\8b\13\ 3¦\14,i>ó\ 2ÍÅ|4ñÅ\96    \9bi\81¨t\10vÎYN\ e2§ l Ø&Gj\f6\9c\8fw°¨Æì\87\ f?\94¬Â`gSo®X\84'¡8\9a"¸ £\84IA¢XaV\9c°Å\8eU\18ì|Î\ 1s¬ÂH\18ª5ÛkÃ\18"\10E<á­ ¹Va°H(L\1cY+\1a\ 4\b\ 1H_HA"ª0ØhÂñw¬Â`\93\88¯u¬Â`g1_ëX\85áO(Y\1fY\8dÁÆ\ 1{ëX\85Á¢¨´U\1a\83\9dK0FYq7B\91I\8d\8a{\169wG6\99ÂdÅ*\f\87Paè/Ñ$²
+\83ŵ±f\15\86Qè·@±\1a³»1*Îi¶&#^Ü\8e6C\91 eòÀZ\13\1d«0ç àk\1d«0³s¾V±\ e³É\13vwd5f\93g¨xÅ*\f\16\ 3â\8d¬Â%EÁ\fÙu²\1a\83MBNÂx¯Æ`gÜØ\8aU¸¤Ø\8f\103Çj\f6
+ÞÈÚ0O\ 3Ûº\ 1\97k$H¬0B\15Fl²c\15\ 6\9bL8\18\8eU\98Ã\1cySÍ*ÌaNØäQ\16¥\80È%3iìiÄ  \12À6)\bµ~ÀjGRc°\11\8f\ 6Å*\f\16¥«\15\ 6ó\9c
+³Á\11\aj¼Wc°\13\1eû\8aU\983Ï+±\1a\83\8dx\96:ÖæGv\ 5;4gR\10ÇÂ\92Q¸ok\8eW$Èö\88Ã\10\ræ\1c)Ç*Ì\8ayf+Va°\18\9eÈ\87\93U\18Þ\86\1d«1X\9cE\1cGYk2\8a߶µ\98(H\99<°ÖDÇ*<\9aìXkò kMt¬Â\9c>\ e\19·Ü\8cø^\8dÁÆ>\9bìX\85ÁÂ\ 3\ 4rd­C~b\eÈ\17\87\ 4)\87\ 6Ö:àX\85á\10¦\a®\1dYQ\1cÎCi\82À\8fq«EV±Ã\10Å"\99iVaV<AÁ)Yàp\8fÁJ×)Va°sîyÅ*lã\98(\96ã8`°²Þ\9c¬Æ`'³Ñ
\81Â\1ce^~JVa°x,Ð\1ei\8c\16\8a9fNVc\1e\9e\937\91´a\965\ 6w1ïq­        ³Â`ÑÇH\82c\15æPq×;V\86\18\8f\ 2Þ¹p\ e\9c\0Ö« \ 41G\ 3EjÌ\97ri9Qk/ö\834\90M¥ ÖkIL\89áA\fy\16$ΠC\ 6ÌzåVÇ*ÌÎ\84l\93c\15FüåA̱öÚ\90ý\87¨Ï\ f¨¡ ¹Va¾Ögw\1c«0\14£\7f4k\15cØÊc\1a\ 4l\12$\8a\15\86â\887\8cc­¨¿\7f,\97\86\ f\ 5\8dq
+P      \12Dée\8b\1c\89=#AÄ#ã\1cMÂÈ\910Z\EæðÊ!H,R\18\16Å\1c\bÅ*\fvÊ®*\96\87\ e\8b°«XTá\1e°^\ 5±Á\13ô\98\9c\82ò\1a\11kNÔ@Ú>öqÓðNôÅ\93Àw\18æ\84\9c\17Å*\f\16\15\ 6ë\9c¬Â`ñü\ 1\93FVBÏ
+mtyúX$1BK\r\18¢è\92©f\15\ 6+SÛÉZŨ'\9b\19îF®6\9b\99\055`\88¢×`±c\15\ 6;g)Ç\8aâùþEBô\b°9eµ\ 37å=9rÒâ\98L\9c2\98:'ù\9d¥\1c*     O\98\89c\1c\82\19\8a\1d¥ 8\ 4u¢8\am\9b(9î\9a=\ 4\87u<ur
+\82Ã3Y 8\aÁa²«û\14D9J.GçÄm\8c0®*qT~\1fÝÞ3âèÈ8\ 4×ð\84\1aòH\1c
+q\84à¤ß\1cç 8¼\17&JÎAp\10\89\14ç \87\8bC2êT\10\1cúg®8\a9$<pF9)\92dÿB\82sø&\81\81\14\89\830\ 5\8f\8aø&aàD\fïnR³8Ço\8b\0,&\14¶¤{\7f\150hô±\ 6-7á\1as\9c\83¸Índ>(r\ eÂ\ 1<vab\ e\9c\82à\90NìÐ\81»\\9e\9c\7fÂêói¹Á×(\93é\8c\96kùö\ 4\9f\17«¶kÒ¬{¿ü\81sh\9dÀ\9e;\83\82\10'OoÒ¶£o»uÚ\19{\ 6sHÎ\9cÒ\1fôhÖôWZ¡Þ\99óéLÆ?¤\96OyK«º~&üL)«\8bÂd]^WToèÏûÇå=>^¯!ÞÕ´HËUJë:ëKSu©=öÓ4Ô=\19z5iÓztM]óÊ\87MÕö\8d\ 1\95v\94\16Åþ^Ù\1d¸7\ 5\95õM\ 3=\1fhÕwÔÖ¥éòÒ´¢L\8c)Òf\vå?ê\15k\81E\95¡\9diZ\18\97\ 1\96i\ e#òÊ£%®/k¸ß\98\f
+       &µ{\17:øwpõ`¿(Y\19ÚÔ}µ&XùÔu»?ÎÏ_^^¼\96=õêf{\8e[Å¢wWÚíw´K·Æ£\87¤­¡Ö@C/±\87ýõÁ\85?LÓ¼þkTI5|2Ei\1a÷\99÷»´\f\86Ú@#$ë\1c5\90#ZH\a\aþóÝ7úl*Ó¤\ 5=ô«"Ïè&G\1c`×÷ÓÏ\ f7ßß\8f\ 1    =º@\8e\9c]$íÀP\88\8a\18®Ê«¬è9í/y÷$\ 1°Éoë¾É\8c³\ 4a\1eurRÆxÖÕY\91#a©T,*nȼ\8aò¦ÝH\8c÷÷¶çÛ]áu¿\ 6\89¡F?>\19\ 3\82\868²Éç\9f°fÆúç\87\1e®ätU\18öëc]u¨\ 2\9bN\19,¸öÆxåUÛ¡8%¬\19ß[\8e\86\ 6\1eýY¿p)_ÛS\94"ËK\83:[\Ü^^\1c\9f\87Äý\8aK2¯¶rx¯\9e¡¤ÿ Þ\98)\1e\9b»É·}ó¿\ fE¨pôT\81ìó!n¶ö       \r\84Îü\99æ\85õ»¢W¤\ 6\95Ø úù\9e3\15óÀ\8b­\8e¬®*îo¨\19\13ÛWù/Ê\8a\1c1;²/9\12Û4u\89Aqu¿ø@\8f\9bÇ-þÏ«ù/ùq·\94\1fáó\aº_\9c\87\1fÈt\99çyJù[£&\1e=òx¸Þ \85aSKWuõ\8f\8e\1eëæù\9fâ\83Î\abõ¥Ï³gúØÔmK\8b~U\99\8e.\9bú¥e\7fÎ÷\9f³ð¶©û\9d£¶}¾\96Z\7f«\ eéºÊÛ¬oyX\1c\86\f_\1d\r=d;\85Þ}5eÝ\19º¨*Ì\8bÌð\ 4hR̬ãh\87\1e\eQ1ÕÐâµÊ\ e¤Uªðæ4
+?^ß-\ eR\82×;X]ÓÝý\92zXWÖvÆÚéøý4@·ï\9aº«1ÉytÝ.8?kÄ\bó2C\90Íá8\f=¤á\ e\9eÐWÓÖE/Sý¾Át9Ê\80u«ÁpØÔMiÇ\12öMºÂ\fäÃ:¼x·Á2¨º¦^÷²P\ e\1cÁ\13\aørW7]\8a\91}\87ضt±ª±
+\16\ 6\9b!ï¤ÕUdð-\14ª\91\8b¿\íÒ¶}Y£wÊ\12M)\86¾9\89\18>\14hDêÌ8N\86öÇ\17GÐsuyd\10âpsuñpôùÔ£Û×Å\97\9b#b\86[`ÈzEÿ¹½¡]Ños[Gø\vÈ8F®1n\96¯;)¤ÿ7n`ò\1dv ænÚñâDÝ-¤\99EZ²¦ã\es|\17\88Ý\9a.
\8cöða(ðþÁõ»\92nM¹ÂÎp\aUÈðÕïx\8e\a\ f\ 2Ç\15\80ÈÙ=\90¢\ 1ùò3{¹\1d;Ø7(ûFFß\82'\14Æ\91M%\15æ§)¾¿?\b!">ªÃò¸[Ƽ\1cQ°á3=4y\99bìí\8d\7fk\94\8e\ 4\9e¨\91\87Æ4æï>osôèW\93®1\12\8e.C(.ÓL¦\83-\1a\15\0¼\13½\9dÅ<f­q¿µàü\13Þ,e\a\9dq¶ñ·\1cÙBú1-Æ\eÃl\16ãa\ eë)dkþ½<ùrò_ \16i¥endstream
+endobj
+1497 0 obj<</Type/Page/Parent 1476 0 R/Contents 1498 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 414 0 R>>endobj
+1498 0 obj<</Filter/FlateDecode/Length 3569      >>stream
+x\ 1\8d\9a[o\e×\15\85ßõ+ÎSÑ>\98æex+P\14²\9d4*bYµ\94¦oÅ\88\1cIS\93\1ce8\8c­\7fßoïC\9e³\86
+\82 \80\9b¥5ûìû>\17é\97\8bQ\18ò¿Q\98\8fÃd\16\8bá`ÈOÒ?\9fÿq±X\f¦a¶\98\r\86a\eF\93á 8¢M¸½P\f;\1f\r
+\86]Îû¬àm\18\17ÃÁ\d\15ÃN\97\83¥²\82a\97Ó¾¬àm\98\8c\97\8aaÑ«++\86\9dÎ\a#Ñ«\18\16=\13ac¨æãÁÂC5"d3G1T\19[¨¦¦6³\82-TSS\9bYÁ¸;\9e\ fÆÂFµDdfjÇ#ÔÏ\1c¹ZÁ°3r«¬`3ji\vgYÁ¨\1dÍz+GµÅ\8c\82@tTX\998rµ\82a  2e\93YÁfÔؼͬ`ØÅÐÔfV°±\1e\va3Æäá¢\9cØhòd\82\97\88\8egV5\8eb¤26£&}V0,\91!óYV°%hÜc\15ÃN\v\vF\92\8dF\8d-1f±UÏÌ\91\19¥ØXO\90°\19Û®6³\82agÞÈ\99\15L)\ fÝùÄ*¶&ñ`dV°5ÉÔ\8a\82\10aNlQX\8d¡Î\9ad67o\1d\98·\ 2·\81\90R\15\89\13¸\rË\99U[â\ 4\92\e\82\849\89T\f;\9a[n2+\18v:éË
+\86]\8e\92í^1\82       p,ê´²bKÎÈÂ\90\96\1cïËÌ
+\86]\8e{V)&À㢷²bX\ 6Ë)Þf³âm(F\13«Å¤×kqº\9cÄQRLùÿ\88Ü]Á\ 4caYÏl\14¥9}\1cð)¤#\13\8d$éõÆóÙ0uäë
\14Øì\13V0,mX(+\98@\rm\ 3ʲ\8a-\ 56I\84\15l)°  &¬`X\\99++8¦@­\8aîÒç¾gR\8f\18åÈÝ\15\8cC\855­°\82c0X8Ë\12\8c\13\8eÁÀ¨Ìú\8c\8a\18v¹Lߺ^Á84±Ý8Ë*6w­?\85\15\f»\X\8a\92\ 4c4bèfV±\85ª/«\18vºèE#\ 6\92Æò\1dudm0u\14ë&cÜ\1dOÍäÌ
+\86\9d\8c©=a\ 5Ã\16V\99Â
+\86¥\19q(¯,ØX\9bÁÊfL¨¨H\95UlI°\9d/Ëúl\9c²½ÛN>\9f\99¤\ 3óVà6,\96\89\13Èl´y\9b9\81\18Ë\18&ëIP1ìÔ6sa\ 5Ã.\8b\9e\r½ë\rÏv\86¨#Ï\8d`D\vo\81Ì
\85\87\96ôÌ
\18M,\ e\89U\fËJD"³\82a\176\1a3\eM&%>\86¢\89\8eÄä\13\eM̬àdrf£ÉGÙ£\89\89U\9cLÎl4ù$ËXÅÝĺÉ\ 5ÿú(¡y¦!"7Y0FÍ̱ÌFÑyql\1e;#\17\8e\t\94\93\ 5¹\15V0\16s(aá$\e\17FÛéÀ        é(ÚäV\9cXÆL¡¬`Ô.lS\14YÁ¨\1dÙ!+³Qm±\88\ 5çS´päj\ 5\9b?c\vTf\ 5[ Æ¦6³\82ͨE\8f\8dj'¶\8dB\8emo,\1cEo3\86eÛÃâÌ
+\86õ"Él\\98³¢§\96Ó5¢\8ela\1f\ 5\ 5çW\9b|Þû\11\18'ð8
+2ç£à$ç½\9f9\81XCtÉ\8ckpO\ 4Ã\12°¡²\82a     ØBYÁæ§\17S^Y0Y\9dØI3ëõ(ØM*\16\93\9d\ e#\8aáÍØ\8c²6\10V0,ûQOV°\195Æ]\91\15l¥V0\88\18\96\vÄBYÁ°ìº\13a£C\vS\87Z®_\18å(:\941,{
+FeV0ìbB\11\v+\18µÄ\17µIV1¬\9fm2\e\8dò­\8a\85G¶¡N\1cÅÔgl&Ûv'¬`Ø\89\r\a\ 5Ãr¨ëÉ
+\86¥\ 1ì¡Á6H×+\18\93Ù\95Ô*Å°1×IV1ìÜ.(²²C¶/k-ÎL3N\16\ 6L«@L\1a-̤D2\8b±\813\98\1f8\98\9b#·W°\89Z\ 3   +Ø"a\13HXÁØ;´óqf\15[$¬E\84\15\fËý\õ²-³\94?r Ö\1fh"2\93#Él\89Åè=àÈýaÚ°Ò\89å¹\81PdV0\vÇâˬ`XnBÄ-³\82±\98îÂ\9fÄ*\86\9dÙAGXÁ°L\86\93\8dÙ¡áé
\ e8\12\87N,Å\82Q\99\15l\ eÙÁ[XÁ¨%A\ 4#É*\86\93ÜÌ
+\86åÞ\8dC\99\15l\ eY!
++\98\ 30\9b\92êõü\8dé\93¸GÌQ\e\91»ËÝõ\84qÈ·\7fa\ 5\9bC\ 5îfV1¬okÂ
+\86e3\9a«¬`Xo\1e\91\15\fËä\19ª¬`»+ØûZ\96U\fËV¡6+\86e«[¨¬`n¶\9cîN±±X)\86å\b¯z)u\8cd_\8dmogö\88RÉÙ\94÷\1d\8aÛMá3\7f\16g\98`rÀ\9e\83VÿÖ3$غÄ\8eûÂ
\1cØ%$³\8a-\aöä!¬`XæìLYÁ°s{\ 6\13YÁÄ\91\\13Çd³bX²©z\15Ã\128õHq|] \7fie{m8aËAѳ*\96\96\8f*\9eGXØ\91§ÏsÍáÑ\ ea\98\1c\18'\90\18û\0̤bË\8f]5\84\15\fË\80À×´°b¢Èõ\93\18'V1,Gq¢\98\96\9fQoeÅ°\1c\90T¯bË\8f\17gZ9Æ\89G\1f\1f      \9cËPëÈ\vN°¹ëéɬ`XFkOV°9dÇ©¼²bX\9eã09­¬\18\93yP"{\89U\1c\1d"   \99ÅÁ\93&X6z]Y1,=J§fYÁVpvºÊl\f\95\9fvp7NKG\1e*Á°1_\99\15l\81´ým\9cYÁ°<¥R\19\99\15L¨b0\12«\18\96S\ 3½\99\96\ 4{-\11V0,SL­R\f\e'mZÙ\83\11\7f     \83É^'\11åºI¬_v\85\15\8c,å:æ_\e9&\e\17æª\1d\1f\ 2¬ G\8e\13\e\17ʬ`\8b£\95«È
\1fß\923«8Æb*²Ñ(~\ 1å·6\8e\9aË\91\e%\18µ<:arf\ 5Ãòó\89²\82Që/\ fYV±\19µdãÌl4\8aå½uý9Õ\94Çs©]\1egn\8c³LpÔfV0FùéKXÁ¨åé«\10YÅ°¬I\94ÓÊ\8a\1aÕ«\98öc\82ãP\92U\fËÉ\8d\1c$6ºËaÁwÕè\9e£\98\ 3w÷ÄF÷2+8¹\9bÙèîQöè^b\15'w3\eÝ?Éò¨±ä\1ef6\9aUcÁæ®\9dó2«\18\96­\91ºI²Ô2pr|\16¡ë\89£#wW0\ eùÏ\85\15\fëÏ\8fÂ
+\86õk¼°\82q\97\82Ää¤W±\ 5£o\95bX\7f!\16\96]{1ÊlÌ.÷§xµ°+\8bݦ\8ax,ò+KÄæ\90=j  +\186vT\92\8d\v\9b¨Ý\ eF\8ebÙd\1c½¥Ò\13ë¢\9cªâiÙîI\ e\Яg'\8e        4\15.C\8b¯m\8bY.Cô±\v/3ç\19çøaõͯ¹&v2\89u\94\11\ f²Vè\89ÉÈ\9c³SN¢\ 4\9a\19¶Ãg.Ãèö4s1Çþ)\1cŲ\10.C8ºJL\11\bÇÛ[!r\19Z\1fôlqS¨\ 6?\ f\13\ 3~\9ffÀ¢ì\11á\94a5Áy\9c\87qûoc2Â7ª\83·ú\13åëñ\8eà£ÚwV\a\14_{B¹øÚaó8/ßÝ]¼ý\9e\819
+w\ fö\a\f³Å<Ü­ý\8f\17\86ánõgî¼\83ð¾­Ê®Þ=\86\8fåê©ÞUá®=ì»p¹Z5\87\ fån\1dþÙÔ;ûäý¦®ìg]\13º§*|h¶e½ûËÝÿ.Þ\fÃ\e\ 6ß\98åYuʪÍvÛìÂMÛÜoªm\延mÚ½}Þûz6\b·/û®Ú\86\9bfS¯ê*~\8dèC½©^\7f?\1f\84\9f\9fÊ.4\98Ð\86§jó\1cVå.\\85Ǫûû«Õ\17\83£\99\98´ëÚf\13\1e\9a6ü\ïÖÍ×}X~{ûñ»×\ e,\11úôñòêú¿ï?]ß}þôã ûÖ\85¿&±ë»óEÿ\14nËí}éKñw")\18\18ûCóÕ\ 2v¹êB\89ká]¹úrx>[`\83\ eöæÐV\9b\97¸ÚÉäMµ\96\97\1f\r\brÕV¿\1cê}ÝUásU®IÕY\1c¸\15\f\ñcKV×ç\1eÓ\98Ç þr(7õ\83çà7,$£\96÷]Õ}mÚ/çÁæ\1d\9bÄ\93
+\ fE¸¯~ÏY"Â\97\ 4òæÃ{_HK\88K{\8cÛº!¯ûª\v\ 4¬<®ûî$ \81 ÍQ«\87øòÃmX{q\86mµ½¯Zs¸ÿ9q»Úí»r³±Â6¯<\86-¡~&Aå#eh\95ò¡º¯ËW5Îñî\ fÊ\7f®Ö?\94ÝY:8@x\8b<SàÑîW\1f\10ÊÛªÃí\97æÐ\86·U·zû¥½\9f\ eVÍîáÕÇÖpÖÆ\95;²j¶Ï\87\8e\82*c\ fÛç\1a]\8eâ\83pWÑä¾ö¾j\7fåc¢|x~µ2õk_Z\8c¾ÖÝSØoïW>\ 4^/J
\9b.6ì\e\r6Ý$¹¹¾+BìÀñ\97ßO\12³l\90FO,\968q¢)qMþ\1aáÌh¦dRÈì:µúxÈßmEùó\99Â|¶ò\7f  5£í\89\7fî«Îâ×=¡u_­\ emݽ\84¿ñ\9f\16©X­\8cÓÔäWWW\83ð鹫\9b]¹      \96¡úñÐ2U\e/\1c\8d\ 5w\rꮫ\1e\8d¶¡{\9b\f<vÕ^¼3ÏΤ       Éåcµ[û¨\919ʸ}]nm\ 4ì\9bÍÁ´Ç\91òÌH     ?íêoo\7f¬w\87o\81ÞÝø\bè\8b\13\ 3\17o³8ÍtØÓ\11\96z¦Ókc\8f\93\vC¨]\ez÷-#Ö\9c|8ìVfN\1cìOq\1e®«çMó\12hAv\bßeø\899f0\89\1el\81³\ 4{âÏ~\86V\9a@\fLik</=Õ§\f\1d{Ïû|_U[v\9b=!;f'&¯\1f#\1a\87mdµÁ,Ü1\ez\95Îå:üt}õ\9fpSµÛzo\1f\85wõq\13=\15"3\8fÍÕT±\94ïH?ÖûÎ\17ëå\9a\83Ï ü»®¾Z\bm\17^Q\8e\8f\ 6\ÅsRaI²\1fÛ\10cñäùº.7Íãy±Û\ 3\94~eù`Ûl\96ÂäÓ¤Ý?\95mu\1ehîzÙ,\17m¾îªvÿTûôè\95\ 2ç¥óoÛ°®ÛjÕ5íK\10\17^k±t6ëúáÅ\\8bzþ°,i²&kK/»ØP\16\1d\8a\8d\ 2k×Çy´\8a3s[î¿0ô[z\a\99\98UM;¿\81ýcë¹\95e×µõ=ó7lËçg\8c\7f]%Ä\9fÔû\900çn.?z     ®)\83\ e,\10V\9cµZ6¨\17VÚ±!­CyÀ\8b]W¯~{¶ð6 \93\8fuÏÃÊ3\12G\eÑsùjEõ\9c÷\7f\8e\17\98w2×õÚTa\1fH[Q¿\ 5\90ø¡\89;F\19>Ö«¶Ù7\ f]Oé÷¾íÅ3_×VU æRS÷z`b\1eÙ>Ý\1eâ\ 4y\1dL*즥i-\92·\87çç¦õݶ·\f¿ºô\f¶Í:®ã˨§¼ä夤è¾ý\9eëª\9f\9e¹\93\f\17ö\97¬~Ľ½üøîÒ\ e·ÿ£\92ÙTV\87-iIboì\97|öù\9bùpiGâË{< \18MmÁßE-\16\ 5\7fT\f\9f|wwñ¯\8bÿ\ 3\bëendstream
+endobj
+1499 0 obj<</Type/Page/Parent 1476 0 R/Contents 1500 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 466 0 R>>endobj
+1500 0 obj<</Filter/FlateDecode/Length 2428      >>stream
+x\ 1}YMWãH\12¼ó+궳\aÔú²d\1diXzx;4½Ø½ÌUØ\ 24m[^I\86Þýõ\e\91)©Ò\98\997ïõ\9bp(³"?*«$þs\16¹\10ÿE.\8f]\92¹Õö,\fBü2ýsÿå¬H\83Ðeó\fÿn]\14%A< \8d[\9cY\fv\96\ 4\89e\r\ 6;\9f\a©aÕq\1e\as:N#\92\82è8-ðs6+\82\fä\1c\82\ 6@Î@**h(Oª"\8f©(?2Õ5Ó\f&$#."\88¦J&\8c\10d\9c2\16\17\18\91\8fl\92rUÏ\1aLÇ¢Þ³\ 6\83\9dÏ\82ÈÚ\1a¼uq<£¨ÉÖb°ÈhfX\95\1c3?p¬Å\11¤©\90b\8dl\9a\ 43\97yÖ`Øæ\11Ãõ¬ÁX6\9c\89ÕeÃLK§\99\12d25²¨$\14{Ö`æ\82}eX\83§e'ÛAÆà9NÙ:ÞVDÍ
+&\b\8eQ\90Ð)\12Q\ 6\83\9d\85\88Ç°\ 6«¨Ì²\105b°E\1e\14\965\98åË\90GïÙb\96/>f\r\ 6\9b\87G\9e-\ 6[°m¼g\r\17{AZ9\rI
+\92p\rf@9JoX\83U2\ 2\9al)yÄ\94Ì\15\fk0ØL\92ám\rÞº$\92\80&V%ã\11Ù`\19Ë7\13$\92\r\86ä<e@\9e5\18Ë\86Ü~\9eµ\18l\12±ö\93­Å\f(>ò,\93f6c»`ÒÌ\98(\ 1Ôd $¡ýÑ\ 6\13i1XìqHò¬Á\14\1c\1f\18l4\ frck1Ã\993\9cɳÅ`3\ e\1a\f\16ÛáÈÖ`Ô\aSƲZ\1f´\8eLdÝ1\82\98\v%ã\·\97\8cÎ\99 OF¬\8a&
+n\ 5Ieen(\ 6\9bqZ\19Ö`\b\ e#6ßd««âGi\99HúX\9086\98\15 ¶\99g\r\ 6\8fgÅq\8a\1fer¦t¬H\1c\e\19ÊcX\83Y\1e\9e"\9eUÇhW=Ö¸\97RAS\9eÒ,Ò$âä\ 1)\88¤tb\9aò\94Ü:¸Á\9a\ 2\ 6Ã\11B\10:"5¤Å`ág|V\83ñ\98y\88ÐþG\8eC\97&\9cïê\18\8a\ 4\89)\16\1a1X\99\92\865\18,Zk|vP\fÇq¬    VG\82\8cã\91Íg\18\8bú¬°\ 6S1ǯa\rFú±w\10ÏäYÓ\1fΧ\1e\86© ]6¥«\91\9dS\9cgÅ4Á\98Õ\ 3\84¡+ò\8a'\16£:µ¬Álâ\f\9a¼­:Æjº;r\ 4\9b\b\12ÇØD#F°¸\aÁÔ³\ 6\93-¦gÅÖ`°y\8eÂ\e[\83)\8a½îY\15\95\15Zx\15\88\1aY\15áY\83µ>pìY9Ã\15\83Åñ\88ð<k0EqàzÖb°97\9egUòl¸\8aªdAFòȪDÏ\1a<Iö¬J\1emU¢g\r\9e$Oì y°\8d1\18Q¿\89UÉrSÁ²I\8cl'\82D²Á`³\84ÑzÖ`°Ø\13Ȳg\rf@Ü\ 5\865\98\92y\97õ¬Å`\13Þ\91\92c½zG\894º \95ì1%sö%\9e5\98\92¥ã<k0\96ÅmÕÚZ\f\16³\11\8d\16\ 5a4\Üc\9e[\8a´ô\1ecY\8c%8\96g\855\18,\8a\99YÖ`.+5\98luÙpx%HD\84 Í\85Çp\8cË\ 2Ê7±2ÍãB¯æ\18*       \ ec\ 2Z\1a\bC\9cb¡!-f4\8cÙ\98ò¢Â\8d\8b\1cÃ\8a4TÖcbq\87\1f\9f\15Ö`\96\9d7eo+e\8fÑs:ýx (ÒP=\86&\9cg¹aÕ\14i\96ù\161\ fzm\14S\83\19\ e\865\18lÁ¹mX\83Y\1c\ e\vÏj\86ѽ<ºp¬A°\0®j Üât\80áDZ\f6ãîð¬ºÅK\8d\\b9´c\ 1âÖC\18b¦XÒb°r$xSM\12nÄZ¸\19M\ 5ѯ\90Ú\9a\94Ë8\15I\ 6\r¦\^C=«¦óáê%oÃ\91 15\18¦8\85a:±j\8a®ÐË\15ß\ø\1e\18K\8f\ 4#VS|(\98X5\9d\r×'lå\ 2¥%ÒU=¦i\8eX=«¦épAR\81\82\8cà\91Å\8e\8b\91g>KVMqá\92\1e\8d)5\12\ 6cU\19ø\9eUS\\16´G9.#AºªÇ0\957\ 4Ϫ©¼\ 2\83\94ûF$È\98\8e¬Ì\1aÏÊü(\86;\10\86\ 4¨Ü       Â«\\82'NZ\10Ó\92­R0Zù\7fZy\ 4#\8cA|ºácêp\82\8ca\8eäxÎCps\8eË\89\93ð²ñÖ\93Ã¥\0q\89Ò\r\90.c(\9981ÃO\92OyN\807\e\bä9\ fá\12ç\ 5Þ·èD\82ã\9e\93\92\83\12\97\ 2¼Ë\91\83v\9c\rrºaõV ùÁ\vì0g\99;Ap(\9f)&êóòìÓ56Cä\96Oüü\95Ís·\˧¯Ð-W¿à\r$  Üò¥r7Û}[ïúÎ-\9bfÓUýß\97\7f\9c\85î\>¶,×|0\rÜU]>ï\9a®îÈ\9eã[\9açg\81»üþmá¾ÑK½{v\8bÃ~ß´âçÝ\83Qànv}Û¬\ f«¾nvïWÂ\f\1e|\9d»û\8b\aõ\b\8dmsx~q·Íº:µ\18\82\10\ 5×õ¦¯ZwùRÖ;\11jÃÀ@²BÝU[¿VmçÊÝÚ]U¯õªÒØ\8em\10Üoõ¶\96¸z$kwØ>b\89æÉíËçªs\87\8e>VåÎI\12Oõe\81»X¿\96»Uµvß\9a®ïVm½ï}²\9eÚfën\17î¡Þ­\9b·\8f$äðpè\9bó«jS1k\\Âíö(\98{ª7\83ò£dcÝï»ú©Æ²¿5ÏÍ®s\8fUÿVU»q%÷u)±\7fÿzó;Â`á á\112\18Ä;_(ÜÅc×·åê¤=2\16í¯ª\8a1\e¸\87\97²\1fý#øæµ^\7f\90o\\ 5\ 2÷kó6=ùд?N*\89\9b\13Wìúr³)%#¬áe³{ª\9f\ f­üò¾\ e\1a
+)ôi\9aq\11Gw4»Õ\ 6©ÐÎ<îrÐÜ(Í+\12úØ¢RLX½s]¹},O2\86±\12¸;ô×k]½±`£É{a8Ü\ 3÷yô×éÎ9òkû\11¯\1a\ 1³÷¸©¶®­ºfsøh\1fá<2NËUÛt\9dë\ e\8f»ª?I&>\f\ 4nQõÒá\87½+ÝÃÍ×\85C[Cý©Z¤Ñ<<        G"`xwÿÏ/÷wß¿\9d\9a!{\7fjvuw{qó\956çDZÎ\ 3wÝ´+&Z²ìú\ 6Mì¸\r·e\87\9d~ºN\11¸Ûò\87±À³ëf\8byð§&¸£¸¯M_¹ò±9ô,T¹^Á½+×k¤¸û MQ]\94÷ö°éëý¦Bµ å©\1c\aÈÑÖA\f\8b¾\ý(Q2÷ïë\85Ûbø\r\eöÝ\83ï\86£lÎÕ_55N@î\ 3´ì\1aMi\1c\1få\11GI`WvåkYoDO\85qÿöRµ2V\8fÛ\1d\89ü\82±»GÚö{æó×»\87åÝ»\84ã»\97[°ÿÝ\1e     hÚ-Ç\9c«»î I³\ 1âY\ 4xÙl÷e[w\98G§¾\10Í¢Yý¨z×ìÙÖ\1f<\82Pî«ríºú\7fïÏ\ 2,\80®¿-\7fº\9f\98קÞ9É\9bg·©^«\rY\9b$Ø¢±Ås[¾\9dÚ¢}\1fÚ\1a=ò!Ë\1ao0´.7u\85sôÔ\1cÉ\94\a°þéÁÄÄ \8fjìúÃ\ eÙ\16}GÙcîÚ
\v¥ÐÂ`\flêÕ\7f\1d\ e½\ f²\8d·thÖ3Åý­øy\12\96þ\ 1\1c\ 5é{Ùø{\89\7f \ eÃðÓï²±\8fú\ 4/\1eØØ«\ 3\8e~\9cûã(üt=\1f.\1e¼\9f\86sþÍ,Æíã\97ÅÅíç\v\ e°?ªUï®\9aÕa\8b\8cM\13û<Â7m>~\9e\87\ 5\9f·gN\8aÏìóy\8a\81\10µÿX\9eýëìÿ\09J\9aendstream
+endobj
+1501 0 obj<</Type/Page/Parent 1476 0 R/Contents 1502 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 506 0 R>>endobj
+1502 0 obj<</Filter/FlateDecode/Length 1701      >>stream
+x\ 1}XÛnÛF\10}×WÌC\81´\ f¦y¿<\15¶Ó$\ 6\9aÆ\8d\94´¯\14E[L(R%)'ùû\9e\99%¹CÉ-\ 2\189>s\9fÙÙ¥ÿYyäâ\9fG\89OALÅaå:.~3ÿøøv\95\85\8eKq\1aãç\81¼ÈsÒ\11Õ´\1eÉÄÇ/Aú\ 1\8b
+bRc°aèx\9aU\18,´"Í*| ßw\17¬\89\9cغ\15¤ÜNl\1c:\19Å\96U\18\86=\7fÁ\1aÃaì\84Ö° exb\ 3Ï       (¶¬ÂÈ'N\17¬1\1c\ 4\8eo\r\vR\86\18²¬Â0\1c\11[Va°i\88Ð\15«0²uSnЬk\82Bm¥µaĤ  JaîOâ$\8a\r3\9e\ 376\8dG\84¨± V\15»Q\16\8cíaû\ 6\99d-\86Ý AÀ\8aU\98½²\ 3Å*\f6ã¡T¬ÂH6È0o\965A¥îØÚ\18éD\82LP\16Ã0RÏ4«0Ø4â\90­nÀ~bnË\81â\18I\eÀv¥LQÄG\b\8a®\v\19\83l\99Bw<<1\9b\11dI?15ô\12Ì\7f$HÂU\98Ãõ8\99\995\99z<      }\9f£\15díº\9e\19Ä\80Ë\11  \12»
+C5J9^Ë*Ìg2ä\98fV¼\86)O\18\0\154\88\rK\1dÂ$\94TS\8eÈ\0æ\14\84"ì%\8aÔ\98\93á)´ª\1as¼<q\8aU\18,Úæ)ÖÄ\e{¦À!\9fÌP\90\14BaVåÆYÖ¨\86©)°\17qL\82DUa¨bt\ 2Å\1aÕ \1aË\9fpH\82D\15Ã?aNÇgÃ\96U\98Ï2\9f\1aÃh¶\94ß\18\12¤\fOlÌ\8b3\9c\8aÝ Kܨ
+Rª\13\8b
+Á«e\15FÄY\ 2÷\8aU\98\aFZ;ëjÌlÆ\133³21A\16I{\92\0E4\80cRð@Øp±â\14D@È\117\9bX\91d\14æ\ 2g(°e¥\ e\81\8c#«òF0ȨZlTCÍÂÔ\84ÁfÞ\8cDWad\8a\ 1q\95®Æ`±K\11²DÁº\1a\83ÅHG\8a5!£\9fr­`y dAâVa\ e9F\81\15«0X\1c\$`u\15ææðɵ¬Æ`áG[Ö\18,6#B\9e-k\f\16\ f\8b\85e\85\ f\14`\exJפ\8bÀÍ\90\ 5\81Å\9c.ïÕÀ²
+s\87\995\86Ãñ\1d\13ÈÔ\b2\86-\86ª\9côÀ²
+\83Å\8eC\1d-«0»å\r¥X\85¹Ê\12ò¬k\8e\0Î\ 5¿rp·¡\8a\ 28&\ 5a\16'\v3cI¾o\ 2o|ÅÈ\93Í Ñ\14Ò\1d_"H\15U\124¥:aØ\95\8dcY©\92\8fÒIùq@<2HT\15fU¾\0,kTåú\ 6)\ 5ö\ 5M^}2\18lÌ÷\83e\8dj<¾&p«G\98)FFÕböÊ\15T¬ÂÌò\8b\16\83EI\13Í*\8cÞàÑä*Ö\ 4\ 5órÇâÌÆ8\9b\8c8(i\9c\8fE*/\82\8c\15\ 50\87s0AøÄ\8b\0Ṳ̀Æ`å^·¬ñ\89£(å\97¶òAtŧ!½ñ1\81Æ¡\84\82Ø©\90¼\9då½ìñ®2È\92òP\84O<\14"l\ 3\9eb&5æ\888'Å*\f\16kNëÞnV×ob\98¤Í#\7faÄiB\9b\9d|]¸´)~Æ2ö\1cºo\86®Ý\9d\8a¡j\9b_6_V.]áñàC\92\ 5|\87>õUóDû¶\1fh\9b÷å\8e\8e];\94ÿ!\1fLòU3\94Ýc^\94ÿ+\1eNâ9=V]ù-¯ëË\18"+tÿp÷\13õû¼+iW6?Xöj\19p\fáãS\97ï8èu~Øæ"\84¯+\9b\16\aÙTE»+¯ï`«/\87\9e\85ÎdP\9b¿öù@ì¬\18Å(ovt2º¿\9eG\8aª9Æ¥\88M:â\1få\9fýß\7fvèæx,\9b]õ½¼ô\8c\9a<´Ý\90o«º\1a$ÅE`ø\8asèÝç¿Å®N>\14ÿw\1f8¹ïçÁ\85\ e²~ýǽ¨-µàðc¹{\87T\7f¯\9aÓw\80öC¢ÃÕýý\v\8e\ecæj\11\18~/õ\96äÛa_vtwÿfME]\95Í\v\15ÆsС÷y\81Iiûý$vQU<Õ\1cú°öéNì\9cç\85ç\1dúT5»ö[O\8fmG\7fµÝק®=\1d¥²\8béÀw\83\95}\95Eׯ²ôÒ\1eò\98ìù.¾Æ×e÷\a\8e\1fòâ+ùR\90\98¸wí7\1aZ*ÚñªKZß¼¿½aÁ39ä{S\14\8f\85êÛS\aÃ<\88ô\åt÷y-æu{bNßhñD£¬ÔóT\93QîE±ë\7f4\85Ôýq8\9eg\14s\85nOU-G\82\rÜVMÞUfô\16\ 5Â\8d\85&\ ey7̾\ eÛ\9d\18\9fËÜ\13\1e\9d\95åoOO\97Ó\8c\17õå\8eY8ÅJsèmÙ\94]^SÕ<¶ç   $2ºåöôDuù\ÖâD×\b\9f°â£ì\1a\98(»®í^\90á¹\1d\86¼ØKn-åÔ\9d\9a\86\ 1\16\1awåÒ/Zû\90\ fÅ~,Õ¢\9d©C\9b¹\19\10)¾ÖU?°\8d\17ò×Áã\e\ f\81õýépä\15|\11\ 5þ\8e\ 1OeoNÐRSºUÕ5íógÉ
+s¿­Ë^\ eÑõ\9btÜýx\7f»i\80/T¾µ±×e>é¡k¿`\8dÓë¶8\1dpBóé\ 6¸òðdd\85«ÄÍXþfÛ\ f]^Hr!¾ÅÒ4Ä_­@D\9cîo\9bÕ\9f«\7f\ 1!Ñ:3endstream
+endobj
+1503 0 obj<</Type/Page/Parent 1476 0 R/Contents 1504 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1504 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
-1508 0 obj<</Type/Page/Parent 1479 0 R/Contents 1509 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 549 0 R>>endobj
-1509 0 obj<</Filter/FlateDecode/Length 2647      >>stream
-x\ 1\85YËrÛÈ\15Ýë+ºf\13O\95\ 5\13/\ 2\¥$KvTeIc\91)e1\e\88\ 4%D\ 4À\0 mý}ιMt_\92ʤ¦ÆöÑá}?º\9búÏYh&ø/4Ydâ©YÖg\93`\82\9f¸?\1e¾\9eåAdÒÙ4\98\98ÚÄa\90ïÁÆÌÏ\14¬M\12\a¡â\14¬M\96@Ü*¡\9c\82µ\99ÅÎ\09\ 5k\13\86I\10+A\8dÁ¦a0Sl\1a\ 5©Ió\b>Bí\8c\9c\0Që!ÕÎè«#5\ 6;\8d\83
-\83\9d%\a\8a­Ñé,\98Âh8\991PA´ª1ØdB\a\1d\8b¤"\9bé\14Ö@"\99pX\90\88*LÑ\9c\1e{Va°³      ÓäY`\14m¯9\9ad\a²Ö,ê\13Ñl\94ÑcA4kÃ\89Ñ\ 1 3ñW\09\ 5!8\99Ð{Gj\f6\14µ\9eU\18,¼G"<«0ØYD\7f=«pm¢IÊ<9Vc°Q~à\95Æ`S)\8f\93µÁ\86\18¬\0\1fì\9e\v£\90\ e;Rc\86\13\9e\95lZ\f\16FÑN\9eU\18l\1e2XÏ*Ì`ó\ 3ÍÖáI,ÍfË!À;¼çö\ e:Rc:\9cÒ¨g\15¦Ã\12\8eg\15¦ÃÒ[\9eU\18\ e\87\11\9a5\ 6\9b\97NVc°\98GTÖ³
-sõLY\ 2Çj\f6\91\rãY\85ÁN3v\85g\15\ 6;K9\ 2\8e\95$'\18!\8eeÆNµ@\92ìamò\fþzNA¤)\9a \11\9eÔ\98\ 5È\82
-\83Ífp×ËÊÀ&Y¶\1fØ\94¤ z\14F\1eSq\ 2·=kE§L\ eÈ\98«+\11DQnö$å\18#    \19\1aÍ\ 2R
-Öf\9aÒYù 9\ 5±fsÚs\9c\82t\86\8däI\8dÉr       kÖc°\b\10\89w\8a5F«`\84µY\8dÁfé\81]\8d\11é\84Ç\84×lË\8d\80í\ 2\8fI
-b¬\96\8c\98\ 2\ fÁD\09\ 5á/\8e\14\91\1a\83\9dòPR¬Â`ÑèÈ\84\97U\18Ñ 1Q'Çj\f\16'$\1cö¬Â`1p\a¬Â6OèQ/\8b¼\8d\18,\ e:í³ÆÈ"V6jëd5æHE\a©Ò\187\850wv\98H\8dÁâT×\9am ÂPº?\8bXw\ 1R\ 2\ f1\8e1+à8\ 5÷·\ 1ÏÉåÀB¤\1fÇ2\12ì\ 45\ 6;\vé¬g\15f\82',\9dcÅÙ\18S Ç'½³À9;râ\9dç\14Ü;ë9qv\94³ÎyRc8+=©X\85áì$\81³\9eÕ\18,|Ï\14kCÉÙ\ 4h}   E\80\ feÏYß\1d§ \1cÂy\0\93\8e´J3¦\14{%§A\ 1Tª rÀ\81ñ\9c\82TÊë\8e'5\ 6\e³\8b\15«0Ø\94K[±
-\83E¾RÍ*\fV."JVaä/\8eÐF\9eÕ\98\8dÂk\8bb\15\ 6\8b\8eHcn,^\11½¬Æ`±#u\1am\8aSîeÌÄ\84V\ 5
-2Q"èH\8dÁN¹b\95(\83\83Ó¼4"RP\ 2¨UA9\14QpÇáP\1c!tF¼&{Òº
-q9\9dPU\98\10\96ĪØßæÁ        \87\91\18\8a\rGj\f\16·`xàY\85ÁÊmÞ³r^ƸbÊa §\8f\1a*\fQìp(\96Ï
-«0Ø|Ê\8azVaö\8at¡cÅl\84v\92\97\80\98±È\9b\98Q¬Âc\13zÖ6á(\eár\99`±Ó\ e5K\8a#Ü6XTÌa\8e£\93\80\9c\82\88\ 6{~ªH\8dÁb;hÖª\9dÚ'#\14\86èo\ 2Që!\86\9c· ÏY9ü)\e\87\12ÜI¹r5¶Ï,\9c\8fpU\0uÚìEûwTÊ\ 31\12äÉpÿÚ±¤ Oâ%#\r\88»\13Ü\11D\92\113HÞ\12\15«0ò\8eæ\1d\14³\a\18J\18ód²H\14+\f\16×k<Áå³Â*LÅ<\r=«1Ø\88\99W¬Âl\ 6\ e\8fb\15\ 6\8bÆI4«0X\19\%«0\16\80ÜÝ<+\15\b3û.±ï\a\8bÆ\80\10ÂÈ"P\84+HX\85a\16oU¤Ê±\1a\8e\8dg­YYTÌ2oÍvmÙ,{Ì,³ñ\14«0X¹ë(Va\98EE´fk\16Wvy@ãxIq\87 ²f=¦Y\9e\9f\8aU\18\8aQ.dÆÉZŸ¥K;ÊË\9cwv;9ö¥n1\14ã\16\1e!fÇ*\fÅhGDëX\8di\96\17zÅ*\f\16S\89\80\9c¬u
\19ÛʼÚð1cÇ2DK\8dØ9åYëÔ(\8b­\r³\9eU\98.óÒîY\8dé2ïå\8aU\98\11íYY$!Z\89[<ÏÙ3\ 2X\1f    \aå\95M\vï§F\80-\9d\83cå<'\85\eå\90¢ØË\89J¬Vi\ay,\vpÖp±±\ 5åKM\80X\93\87ÛÈáE:Q\9c\87Ì\f_ÍNNAæ\85#î9\ fÁák¶\99â<Ä\0ã¹¢ä$\ 2\89\10\81ã\ 4ÆC\9b}k\93â 8¹üzÎCº\19Ã\9cã\14\ 4\87ÁÅw £N\ 5Á!cøÊÀq\1e2\ 4ùþc䤮\89½<Ê\ 3XþM/¹ÁåÛÈ\ 4{
-k\1aÿw¥Y\9f].Î>}\99\98Å\1a_tN³Ü,Vòý&~²üpÓ\f]»Ú-\87ªm~_ü\e\9fÅF\fígÏ\91Ë\b\9fþ°x©z³-ºÁ,Ûf(ª¦7ÏeSvÅÆTͺ5mc^Ú\9ffh\ 1û¡ØlL_ÔO\85)\9aÕH@p]=ïàÒðR\8a®Þ´ëýçÞÚ\9dùYA¬nû\81^L̹\9cP°½©^ËÍ\9biÊr\15\98?¾]_̯\11\82\9eª\ f¬Ë\98)ç2Ï@º\<mJZø\f\8fËfèí'qT\8c\9f\1c\r\84\81ù\87uþfï<Ý^\94ý`æ\17·\97\17\14Ä7ÃÎ!\fZ`î\9f\98\86ªy\96\18÷Q\13JàG!`.\ 2ú!   8øС^ܦ\ 2s½ª\ 6~\86iêë§\80\893ëjS¾£\14\8f\17\v\87ªâÀ,º7³©z¯ì¥èÊÞ\14?\8ajc\93Ó\18$¾3}Ùý(»\13õ\89U\ 1ûM\89ö\80K?«áEüÚ5Õ/³ÜTÈë\89Xz"¶îÚÚ\14æê~þÑ<®\1f\9fñgÕÌ~É_w\vù+zýhîç\9f¢\8f¦\1c\96A\10(åçª\17Ð÷\81y|)\ 6s³6hÊæ¹7Wmó·Á<¶ÝëßéËa\1apñE\8a\96í¶47WÒ\ 2\90Áoíò\15\9a$\89ø%\80«3¨ï»jùj>wmß\9bùî©)\asÙµ?{&ãÓþç´üܵ»­§\9ewÕJÊ¥\9d\91â^Uýr×÷ûYÓ¡áådûði4°Þ52\95(\99\1f£U¹Ý´o\ 6CÆö&\81\9f\94ÍJ \13Ý\89\87sÎàQ}pÚ\ 6æ\9f½L\ 6;ì·\87²n\87Ò\4M\v{åo\1cÍ¢.\87\93\86ÀUé]IIHiæoÍò¯\84Ñ\16\8f7wó\13¯P׫ÖÜÝ/Ì\ eÎÕ­ì\89¢Áf)Í\9f\1fÂ?\7f7Û®\1dÚe»á²¹\9d³\85\84©\8b%ú \94Ú\1eæ3\vÌ\1d"1\ feßnvÜoæ¾[Ù¸\ e¦Åf¤\93UÖÕ\85|rU ÃE\7fREü\86'0Ç;Sõ\14.ÙàëmÛ\rE3\98;ä¶7\17\ eˤ\îºjx;îR\8a@éÅê\a$\8ag|\1e[k~{i®\9be÷¶\1d\17ó\91\11\989\94hÚæ¼´\12å
-Uìû\9fm·²yÑ}\88g6&Ô.\17ùÔ
-«©®ÑJGEÁ¯\80°p7Xsf(\7f\1d\ f:.#Psuy"\84J~»ºøã4J\99Å¿L\1d\ eùÿ\93\¼(1Ï»-ó\8b(i\byåú:\1en\9c¨ô\7f¾|)k{\10=\94\e©mÿRmyT±ý\1f¾|ÆÉ<É̶í«_\17Ë%\86à4R|#r¸¿e²ì:\1cc=(Ï\94{j¯Í\8eïWn\bvk\83
-ק{\93î¢aÇ\1e\91É\96£ä\7fû\94ÛD\9b~[.«b\ 3;ÃÐUO;vܺÅZçø\8fN¼S¦\19Î\9a_E½Å\1eùvuó\ 5í\ 6ñ½lq Má£\89\81¯·oóïßNË\8co"\90,\9cÐîàѳt\90&<\18\ eòzâ$î\98\\e\·[6"ûз¶A\90§\1dÿ\8e\12ôÁ×r\10\7f8%X"»º1tËÈÙÄN\90\85úN Èò¿n%ÌO_ð\8c\91Ë\83ä"á»\13\17\8dã\8e\rS\9e'¸j\81̨ñzqöýì¿K\9bñ$endstream
-endobj
-1510 0 obj<</Type/Page/Parent 1479 0 R/Contents 1511 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 552 0 R>>endobj
-1511 0 obj<</Filter/FlateDecode/Length 1359      >>stream
+1505 0 obj<</Type/Page/Parent 1476 0 R/Contents 1506 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 551 0 R>>endobj
+1506 0 obj<</Filter/FlateDecode/Length 2556      >>stream
+x\ 1\85YÛrÛÈ\11}×WtíK¼U+\98¸\90 \9fR\92e;ª\92¯dJyØ\17\88\84\ 4À\0 mý}Îé\ 1g\9a¤³©­\92÷è /Ó·i@ÿ¹\88e\82ÿbÉ\13Ig²®/&Ñ\ 4¿ñ?¾¾¿\98G\89L\17³h"µ¤q4\1fÁV\96\17\ 6Ö\92¥Ql8\ 3kÉ3\88;%\94\96\r\90\968΢Ô\bZ\fv\1aG\vÃN\93h*Óy\ 2\1f¡vAN\81ª\r\90j\17ôÕ\93\16\83\9d¥QfY\83Á.²#ÅÎèl\11Í`4\9e,xPE´j1ØlB\a=\8b "\9aÓ\19¬\81D0á°"\155\98¢sz\1cX\83Á.&\fS`\81\91´Qs2É\8fd\9dYä'¡Ù$§Ç\8a\1d'E\ 5\80ÌÕ_\ 5ä\f\84àdBï=i1ØXÕ\ 6Ö`°ð\1e\81\b¬Á`\17 ý\r¬Áµ$\93)ãäY\8bÁ&ó#¯,\ 6;ÕôxYwØ\98i8\1cVA8ìÈÅIL\87=i1\8f\93\81Õh:\f\16FQN\815\18ì<æa\ 3k0\ f;?Òì\1c\9e¤Zl.\1d
+\82Ã#7:èI\8béð\94F\ 3k0\1dÖã\ 4Ö`:¬µ\15X\83áp\9cÀ· Ùb°Ù\8cuée-\ 6\8b~Df\ 3k0GÏ\8c)ð¬Å`3\9d0\815\18ì,gU\ 4Ö`°\8b)[À³\1aä\f-ĶÌY©\ eh\90\ 3¬e\9eÃßÀ\19\880%\13\ 4"\90\163\ 1y\94[Ö`°ù\ 2î\ 6YmØ,ÏÇ\86\9d\92TD\8fâ$`*Îàv`\9dè\8cÁ\ 1\99rte\8a(ÊÉ\9eMÙÆ\bB\8eBs\80\94\81µÌ¦tV\1f$g Æì\9cö<g \9da!\ 5Òb²\1cÂ\96\r\18,\ e\88À{Å\16£TÐÂÖ¬Å`óé\91]\8bqÒ   ¯\89 Ù¥\e\av\ 3<%©\88gud ¢\16\12\1aU@Î@ÔBÊ\18yÎÀñ*
+\9cÞL\ e2
+l§@Z\fv\11³\8a¼Z\8bÙN\13FгÎÙ8Ö:qÞ)\bÎ\8e\9cóÎs\ 6\1e\9cõ\9csv\94\e\9dó¤ÅL\19\97\84\ 6ÃÙIFg=k1Xø\8eøyV\8f\92¢\9aô\1a\1dðG9pê{à\f\84C\18\11tJç\99\16ül\ e\83©\ 2*5\10
+\118\ 3©\94wm -\ 6\9bN\91\1a\f\89aX\83Á"^SË\1a\fVoA#k0â\97&Èz`-f¡ðÎ4¬Á`±ßØ\13YÌvá~\12d-\ 6\8b\ 6µat!ÎYµè\89    ­*`\88\rd TÐ\93\16\83\9d±¿\8d(\ f7å¨\81\ 6\ 5Ôj Nd$Üs\98È\a\b\9d w´@:W\11  ]\83\90U\98PD­\8e\84\1fz\0\9c\ 2r\ 6R«Úð¤Å`±\82Á\83À\1a\fVWÉÀê°Ncn0\14å`v\88V-\ 6;ÓÒÖg\955\18ì|Æ\8c\ 6Ö`Ö\8aV¡g\9dY¬U:\0\9dYEÆì\81uf\ 2k°/BÏ\8eE8Ê&Øl\90SÏj\88\13\8eV¾X8@«(\8b\ 3Äi0àf\86´\18,\ 6\9de\9dZÜ L+þ\89q\1d\10¨Ú\0\91U^Á\81sr3÷\9e£\93+Q@9Çá'\13£o\r\9cWsÕ©ÑKÒqÿ\9ffha\87(èÈdÜð\1d©(\90ñ¸\87ãâ\86;\8aHò"?`\1e\92+\8aa\rFÜQ¼\87g\83bìçîÒçÍ\94(RÅiÀP\8cÝ\ e\8a\ 3k0\15Ǩ£ÀZ\f6ÑÈ{Y\8bY\f¬c#k0X\14NfY\83Ájã\1aY\831\0tq\b¬\ 6\99%ïÚ\86ÃÌ!=®.¯\9eÅSxÝÕg\955\18fñ¢\94\eÖb\1e\88m\13d\9dÙÜíâ1
+`\8e4\11¹(\aÌ(³ð\fk0X\8c\81#Y\83a\16\a°¬3«ó\11¢¸^¦ã´tf\ 3¦YU¬ÏºX\ 4\fÅH\1f"åY§\18\8bhx-ä\9aê:ǽ&:\fÅX\ 1\13¬.\9e5\18\8aQ\8e8­g-¦Yn\93\865\18\12\aò²Î)ì­®\94¹\ fp\8b\9d\8cA\ eØ;\15XçÔA\16S\ef\ 3k0]æÆ\18X\8bé2\97\1aL\97ù\ 6\17X\1d\16\÷uXÌY3
+\98\ 1w\1c\94\99\8eZ\14T\86÷h"O"÷\9c\871ºe&
+\^=<¤5p\9aå\83\1câ\97\ 6\87¹«)ÕNPà­aëÑÀê;\84\ 2µ\16 ÃÊ7ùÀ\ 5È°ñ}Îs\ 62hìÿÀ\ 5\b\ e\1f\80\16\86\v\10Ý\8do3FNO 'dPô\ 3\ f\8bØ\ 5ÅCpº)ë\83Ê\ 5H7S\98ó\9c\81à4     \81\v\10\1c"\86\97Ù\83=\ 3y\ 4}3?p\9aôl\{\18\7fz\82Ñ5"8\89y\8aw7>¦N\ 6\b.ã4õ\9c\9e\e1sÅÀBQ@±ëÕÅëw\vL+Y=âãÝ,\9fËj£ßìð\9bõ«ÛfèÚÍ~=Tmóûêßx\16E\16»g/¡$ÁÓ¯VÏU/»¢\edÝ6CQ5½<\95\15\9aÇVÚF\9eÛ\1f\80ýPl·Ò\17õC!E³9\10\10\9eö])Ãs©ºzi\1fÇç^Ú½ü¨ V·ý@/&r©w\elo«oåöE\9a²ÜDòùîíÕò­te±\81\9eª\8f\9cËhUï2oOº\<lKZx\ 3\8fËfèÝ\93³ðäÁ@\1cÉ?\9có·£ót{Uö\83,¯>\_Q\10_;½CèßH>=0\fUó¤g\1cOM¨\a?9\ 2:*¢\1f\1a\80£\87\8eõbI\8bäí¦\1aø\fÃÔ×\ f\11\ 3'\8fÕ¶ü\85R¨]Þ_­È\\1e«J#Yu/²­ú ì¹èÊ^\8aïEµuÁi\ 4\81ï¤/»ïew¦>s*`¿)Q\1epéG5<«_û¦ú)ëm\85¸\9e\89MÏÄ\1e»¶\96Bn>-ÿ\90ûÇû'ü¬\9aÅOýçãJÿI¾ý!\9f\96¯\93\1cÖQ\14\19å\97¦\16Ð
+\91Ü?\17\83Ü>
+\8a²yêå¦mþ6È}Û}û;}9\ e\ 3öi\84hÝîJ¹½Ñ\12\86\bÞµëoФAÄ\87m\9fgP_öÕú\9b¼éÚ¾\97åþ¡)\a¹îÚ\1f=\83ñzü=-?uí~\17¨§}µÑtYg4¹7U¿Þ÷ýØkÆ\17¼\8fEòÏ^+\96\99ÿíkY·C)WMÓî\9b\e[¦¨Ëá,Q¸\96\7f\8e\96²|iÖ\7f%\8c,\8ffïo?.O²\89\89\19!ÀòñÓJöp®nµ\7f\8b\ 6\1d\9f¯â?\7f\97\ eíºÝr\b|X2µ\eDHêb\8dü\94\1as\9bB\8c­H>â$òµìÛí\9esG>u\ew®£*vçêtÄtu¡On\8a¡x(ú³è⯠    \91\9cÎ2\13_¬Íàë]Û\rE3ÈGĶ\97«\87v\8f&/×û®\1a^N«\87"Pzµù\ e\89â      Ïc\9a,?\ËÛfݽì\ e\ 3óÄ\bÌ\1cK4msY:\89r\83,öý\8f¶Û¸¸ØúÀ"\8aÎqM¯Om02ê\1a³è$)øs\ 3\ 6á\16ãG\86òçi\ 3\80\9a\9bë3!\84ýîæêóù)µGþ2t¸¶ÿOpñ\ 2\89>Ûï\18_\9c\92\86\10W\8e\95Ó¦Ã\1dIÿ\97ëç²v\17Ä×r«¹í\9f«\1d¯\10\96ÿ×wop×NrÙµ}õój½F\13\9c\9f\14\1f@\8eçêRo\1d\1dS\87³\1e¥gÆâ\eµa\12bÌ¿gç²Z\ed¸>\9fgt7\87»c\8d¨\8c\8eøÿíÓÜ\ 5Zú]¹®\8a\fCW=ìYq\8f-Æ-\9d<8ñ\8b4-p\aü,ê\1d®¯»\9bÛw(7\88\8f²Å\914\85O:\ 6¾~xY~¹;O3><Dr½¯¶\9b\1dE\ 6»9B\89{Õ_\17¶ÓN\1eE®Ímvv\ 4¬\1f\1c*\1c\92;\96)«4\14¾ \ 4çýð\v%ÈíûrP\7fØC\181ûº\11º%z£°N0\fÜÅx\12\ 6äà3:mó ÿúp\a/öO\95n7Ç\r\87?\92\1d\87äõ;¼;é&qÉ\9b\0\9f\80t\978m\8e\fߦæó\fÛ\14\16\8d\9c®¿]]|¹ø/@\91¦\99endstream
+endobj
+1507 0 obj<</Type/Page/Parent 1476 0 R/Contents 1508 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 553 0 R>>endobj
+1508 0 obj<</Filter/FlateDecode/Length 190       >>stream
+x\ 1=\8fÏnÂ0\fÆïy\8aïÈ\ eõ\92´sÜc«\rÄa\12\eÙ\ 3 P¦Uk+Jy\7f\9c       &Ë\96ÿü>[>\e\a«æ\10<JF\1a\8c\9dÿð¹15\93\80\85Éb\80ó\81ø^ýb\9fqp`ò¨$hîÕç\ e'ÓFó¼f8\87xÊÛY\ 2âño³EL«\92\84<áërøî\9eb¯°Üáú\85¬\94ð^ùÕ¾yo\eìæ©ïÒ\82×)]\87n\\ eËÏ4fUáX¯*]\ 4[g~;.ót¼¦\aP\89%\91J\7fÔ¡dÉ[4\1fæ\ 6Ul:Çendstream
+endobj
+1509 0 obj<</Type/Page/Parent 1476 0 R/Contents 1510 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 556 0 R>>endobj
+1510 0 obj<</Filter/FlateDecode/Length 1359      >>stream
 x\ 1\95V]OãF\14}ϯ¸Ú\97\ 6       \9c8      I¨Ô\87\ 5Á6j\81\16\82Z´TÕØ\1e;ÓØ\1ewÆ&äß÷Ü\19;\84\14¶*+±$s¿Ï¹gæï^HCü\vi6¢ñ\94â¢7\f\86øf÷ëîKïl\1c\9cÒt8
 \86TP8<\vfí§\9cî{û\9fq:\19îlÝéÞg\9cÎçoN\91\85N§§Á\9c\19þæ\fFRÊ5Ðd6\v\1d\84ãQ0:<8_ö\ 6Wg4\1aÒ2E?ÓÙ\9c\96\89k\ 3ßÄý\8b\95¨ji(\fèG½¡ZÓ¢´µÈs\12eBKikºÿ|}þùhù\97\8b\13Î|\9c\93ñ\ 4¹\96I?\fàz\eÕB\95ªÌ\9c\97ò\11ø£\15E$¼ï\84°õ\1dÍ\82\9e«R\98-U"^\8bLZÒ©w \81fU\19çM"\13üA"/4*\11å\96~VeóBÚÐC©^(Q¶6*jj¥Ë\80\96+       Gv\16¹Õdu!9÷\90N±¯v\97J<\v\95\8b(\87iMõJ¶\89Wp©PKë6\9abÒ(t\91ÒV7TJ\94\83\11ź¨\14\]w\94\1a] WcbyLñJÆk\17PT\95Ñ\95Q¢F\8eª\92e\82zc?îà½qºLa0
 èB\97©Ê\1aóß\13¼çù~gQ\91÷\10<\bR\96\8d\9f\9d\88\ 2\14e\1f£<4ÝØ\ 60oÁ+«\12\f\1fcöU\81ô\ e¨þ@ÖñÀõ8°m\0oÑAÙ\a\ eo}öF=h¬\19ä:\16y\e#WÑGq\ 2zÄxcQ\92T¨×\90L\14Ã\82F¸b\1e¾±2O\19÷D\13Î\1aËÃÑ¥dÒÀ\85ËØK^0U2#ª\95B\ 1ÀLçÖ·íØÑ\81\7f\89W$øLÒFF'\91°nlØ\89\80x#êv`(fÇÉ\rÊôð¿B      üxÃNÆ¡'\rC\89ݸD+\ë¿px;K8\8e°[I\7f¹#1F_¡ù·Øò<\1cX\1cO¾8\13ÀÝD\8922\ 6ê[F\92\ fßîÆ\ 26\19\96¬vL6R\80É+Y\1cÌ-ÆxÒ\86i\81ýaÊ3&VJZ±8 ¨®\98a\962\8d¡f\12_\19ÎW\19\11×*\96\ 1ÝÃ\98\r\81\0\16;\83h\ 1\93=o73n¸]¯%ì­âfQ^c¹\82wº¦\8d\84"ØbKA\ e\f5WkN§ì÷\1d\ fÏ:\8d\99x\14¨ýù\9aå:\12ù\1f]ÃC\88+¦Ý\1dãÿ\8d6ëÌ覢\1fèúñËÝíÃ/­ñ(ôzµgü\95\95Â~#\1a\86ûÑkÄ+õÇyaéàÐ%ÆÞ\99\ e®º%cFM}±\e°yÕ\8e\ 1#\ 5$àF  Ô\1d\96\ 5\92W±\13ó\17\9b\12%xBXi\9e¥9nw§Ý4À¢\få:\ 3\8a¥(\80°[idí4ó\93kõS·%\1c\ 5H;ã\80\9eú7\1a\ 2ç\14eÑÊ®ô\8aú:Owê¤\8a¥©\12\ 6\9e*çw·¿Ý/n¾\ 4õKÝ\8d¨Õj&N"q±äöé¨C¢eÌ.)\7f?¸:í$\v´\ 3\vÈ\9fusìc, a©ëî\9cÄ¡â}$s¼t^£vW\0 CßP¢N\9b\ eI}Í\95Ø\ 6\97\11ïQÕ´×̾\12w\9b\8aE\97Tå¬7lk+\19«TíäÛ÷±\93e\ eÌ\ 5\1d¶÷Ôç\15Kd*\9a\1c=BÓ4pÕk¶Û\83\93Ç\8a²ß\91û÷\ 4û ÉÓÑa\9bW\bWà®A@D.ü\ 5$"\8d\8cq\87ÕÐ\12\ 4BÌaÌE¶ÛCvÅr\8c½\87êb     R\88      \8avmè¸)dyÈ\89\87\9bÅï\7fÞ_^<Ü-\96\8fÌ\99WùÝ=.æûò\v\ 1v\8f\18F©Õ\14\7f¥¸\1d©±  £SÁ7\e×)Ó¢Æå
 eÒ¦\16X$Gd\86\88\1d]\9dÏ"W\10ø-_C.Ç\ 1XßbT»\88ÜnW\b\84TãÚ*\ 2Â\93c÷¥iJ{\80âíO\9c\1eW}íi\9dã!ä
-ʵàGS»¥Ö\ 5r\9co\r\8c÷\b.Zc\189i-Dú\10ÔWî">g'äã\a¡\e\0\17ÜÅw\fcý²ºtÏ©H\ 2d`jt\8c×\12Po\11\9a¿>ÿ&s/§ÿçí9\99C°ç\13ܯ\10í9\ fãrÙûµ÷\ fäf\8c¬endstream
-endobj
-1512 0 obj<</Type/Page/Parent 1479 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 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R>>/XObject<<>>>>>>endobj
-1513 0 obj<</Filter/FlateDecode/Length 1378      >>stream
-x\ 1\9dV]oÛ6\14}ϯ¸+6Ì\ 5bÙ²]ÇÎÃ\80t]\80\0ýÚâ!\18æ=Ð\12\91H\95¤âúß÷\Rrl'\19\86%Hk\8bÒý8÷\9csõõ,¥!~Sº\18ÑxJYu6L\86\98&#\9aÌ.ðy\84?+i\1d\ e&ó9¾>s0\1e§Éä¹\83t:Nf§\ao\17g\83ë     ¥)-ÖÈ>\9d]Ð"'d\1e\ ei\91õ®Ê­Ø9²\8d&/\9d¯\85­Hl\84Ò´-¤¦\9di(+\84ÞHz½ø\82H¨?Dê¹j\95dF¯ãå.Aï\87ø}Né$&ì\87j\17y/MFø¥Û»«Åñ3Cê\8f¸¨\1e\1f\91r$h+Wý\95p2'¥½´k\91\85ðTȲv±*äV\9b\ 6p9Q­D\fL\95Ú\14\9e´ñ´\92$\1e\84*Ū\94\88\82ÇÛ;99R¦cÀ\8e¤µÈî\ 5Ú3¡YKu)üÚØê\9cV\8dç\a\ 59YK+¼¤öÞ\84>\97\12ÕaV"\8f\81·¨­\12ºn#e¦ªU©ôæ\1c\11\9c\17%\7f>I,tN\f 7\81Sr\1ccmMEÎ46\93I{ÿh\8ai£Ð\85¡R4:+\ 2\84ô¥q>\8c\r#²´\16\ fÆ*\94\bäheÍÖIK\9c¡6@\90\94'\ 4\7fUx__\ e\ 6¥ÉDY\18ç/çÃtð*¡?$ºÎd\1c\8bè&LûûâA7ã\ 3ð¶Ê\17\ 1\0-*@¸\ e\9f¹ù\ 6S\vc\12\18\10È¥C\87<(\ 6Z­_>\13\94«õZZ\89²»H'Èa\94í°ÚNO¡úh\80DàKà¯À\10½\17\9b\b^\80\1dÝ|æ\19h\99yp­Â-JË0øö*\97\1doÆ°+\ eÛÞtR\12øð \ 31m\17P¡QS£R$­\85s[csr\1aÍqPáö\17\1dmUY2a\1d7Ýr5CHKæ\ 182u·ÊFF\f®¡-È\85ÅÜ\1fO"7Òd\9cÐÂî¨TÎsøÀö\ 2àCM{\15t\14\a7\106\ eµÓs\10a2e¢ý\18\96\aódü\ 6¹p\0Ég¥â\1aûïã=«=W\98\85L)&B<ëèÒ\ f\ 1ú\1d\8dÿ\82£¸Â4eN\e      \99B~\90\18×Íüqÿ^sB7\91:¹Ñ?{îRC-\95ô\98Û\86­CéÌX\8bq\96; é\9bº£F'÷Gjà\19Gü¨\81\ e\99"¥3<\84\86m\a3s\12¨³çt5\81ÉGX\1a¤·ô^è\ fBC÷\18|\0ÇѲç\1a\90M8\ 6â@-wë»ÍòuWQ\aHÛQV\18\ 3KAvK¥|\90%
-Èà\f~\17Ûd&WbG`\ f{\ eêº\rr²òk\ 3ãf×ܳl%á`p=\1f\99\15ÀE±'åľ`\9ch´=\1d\¿ÙOt?íãqöØç\90
-\96\89$\94K\ f\93u       \9aî´\86Ë°k$\a\88\ eD6\f\ 3_=,vwR\97Èó\8e¦ö,£þ\9f?q0\14É\96\80ü9\ 2k   Êó\f\83zØò¡°{|\83%i£û\11\9eÈu·|\1d»xV;\93¨\9d\ 3Éï}­Ñê[;×\18à\7fé%>ú(\96ÁàP.\ 3¬\12û :ÿ}A7\8b]­`Ûàõ~V\8fN}\18.&ë¢ô\80
-k\rÄfø\ e}\9aåÊ[\1eLáѵ\8bJæ1À\11\11Úkû \8cü\93uñ|\e½°Ñõé\90Û\96\ 2Þ "\81Ùaá\87B\8fÑ~ém\ 3j(\99\ 6p>\86 ª'ôØ®\98°%C|A\7f\17p
\ fë*°Jéã$\aJ}áåæTº×\10\80ü&ª\9a_1\82\ 4fL\80\16Ô\A¢*ìáP^i6p÷X\9fÃ^A»\8c|\9c\90ßÕòòIE\9d\aS\1e\f\ 1Ç\8dq:¶·\16ü¸-Þ<a|»äÞ}º='ö)ü«ôü[øïãâ\9cãñ\8a\18Æ}\83³Ñý9}º\1d\8cÎIú,I\92#\95tD9Ø*<£Ê4:¬§\¹{x\86ܼÜð¯\97ËåÝÍÇw\9fîn\97Ë_b?ÝJ\9a¥É¼ÝI\1a;\ 4\9eIù%-ñ\13åÎ\bÇÏOU\15\9fݯ#.«Æû\17\97uPЬµÁt\8a÷òÙ\98¦Óy\\8e·W\1fÞ^Ñgk¾\80EôÎdM\85\85(\98P\c¿{ \7f1\9cóÎ<yë\9dÌ\86Él6\89ûtÎOü¶8ûýì;1¢°4endstream
-endobj
-1514 0 obj<</Type/Page/Parent 1479 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 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1515 0 obj<</Filter/FlateDecode/Length 1777      >>stream
-x\ 1\8dW]oÛ6\14}ϯ¸ËKS Vldz\93\ 2Ý\906\r\16`]ÚÆ\9b1À(@ITÌY"U\91ªê\7f¿sIÊq\94\8a\15®%Þ\8fsÏ9\97þr4¡1þLh1¥ó9eÕÑ8\19Ó|z\9eÌhv±Àç)þo$\15þÁìb\9aL¿÷àürñüÄ\9båÑÙ\r\82OhY ÉübAË\9c\90`<¦evòöÕz½ºýãúnu¿^ÿòrù\ fÞ\9eÄ·/&ÉåÏ8³ÌO´tÔZIeí&¯h\8dÿ¬l¾ÊF\8bJâsmLÉ_¨L\86\10}ÂQ\881\9aÎQ\19âü`ººQÚQ¡JÉ  BÈY¬êYHYÊ´\11N\9e\92iÈJ\9dS%IPÚ>\0³Ú4î§\10à\92\9dA\18\9dÏB9\93d\9eÐj#\1cÝ\16´Ü(ý`éÚè\17\8eV¦Ùþú41ÎM\17É\9cÛXn¤¦\9di©R\ f\e\874"'·Á\80P1ýv·ZÞQ¶\11µ\93\r]+ñ \8dU\96\ 4\97n®>&\9c\8fÏ\vLÕ:U\96ø»Í¶ü\\93kvü\81³#çä\1cÓFÎJ¨\12\ 5R©¬ãNµììCcÚ\9aÖ'¥1[R8\89ð\9fÞ]]¿\7fG\ 5^É¥Ã!»~\99н¨RA\ea)\95HaÛ,\93Ö\16mYîpÐ:Q\962'á\ 6IÝÆ´\16\85[2\ 5Y夥Î4eÞ©\1cx[C\95Ø¥hÁTÒhI\12,ðI6Êq\7f\rÕ\8dIKYùæ9»\ 1i2¼MÊ%ô7\10ÈL[æ\83¬¢Dd¦\e÷³Z­|fr\86l&4¥\ 2@)k[\14\83ªø\1dËÝ\8drõ ­Kb°\9er«~V\85úæ_\8e%ñkg7óȪ\13ªK)ì\80k'\81\1eµu\ e\92íSæ&k+©\9dpÊh\8c\80¹\87\863\89\8er¹~Éå2$¡ÂA\83O\ f\88£´l\10½ñ5ò\90}#g7 -¤\13h;y¤í\ 43ÍL-éöÚ\86Vz\81x\9e2cÞìÀ\80B´¥\8bã\a¤ !¥¥Ð[`\19N'L|\vÍ\b\8d\87\9f[§tn:°Å|Ã\99ª\ 5çüT6â«\17×c\88Ak·×{rC\16L¯N@Ë@\83\a*H\e=zZ\07\1cÔÔ±\10´\ 4\11ãë<Û\17ð\9eT\19\e
-~A¶J\93Ìèb\90×Ô<\88\84®ú\ e\ 5W\ f\ 3úÒ#[@\19é\1cË\89\18\0¤\ 4µ·¨\9er\832YÖ`*f\9cï±²ÿ?\93iB¿\9bl\8b°ÿ1\91;\10\ 2\92\17ÔmT¶ñ²qª\ 2À\99ð³qÐ3ä\ 2vS\19\ 2\rÙ¼ÜHX\ 6Û\86ë\f¹]\1d\18\19ß\8eq{\b¡ÌZ6è°\ 2¤é\ eèß¿\7f\83ÎÙ¹yìlX\r&\8btÇÜl\93÷i\8f\aè\86z1Næ\84 ¬T >CÆ\89ñE#ô\83çzºc\8dÀ\8a\ 4\81^Ú;bHe\91\0P2ÒH|\9cK½£
-R±Çø\ 2\ eì­°\96\99*\94\1c\1a\f\11Á^\11\80#\ f\81ùô¤~4Y\81v*³Ôê\1c6ü§\86úq\14\9dC\15ª(\0\98ÆT~Î\8f­Ç\ 3« \80\84þ\82,Á,\16þ\0\94à©©\ 4À\12+z
\838\\83ú\ f        ¬a\11ø¾È´+×'p\86\96k±;ëà\8b\19+\ e
+ʵàGS»¥Ö\ 5r\9co\r\8c÷\b.Zc\189i-Dú\10ÔWî">g'äã\a¡\e\0\17ÜÅw\fcý²ºtÏ©H\ 2d`jt\8c×\12Po\11\9a¿>ÿ&s/§ÿçí9\99C°ç\13ܯ\10í3\1eÆå²÷kï\1fäp\8c­endstream
+endobj
+1511 0 obj<</Type/Page/Parent 1476 0 R/Contents 1512 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R>>/XObject<<>>>>>>endobj
+1512 0 obj<</Filter/FlateDecode/Length 1379      >>stream
+x\ 1\9dVkoÛ6\14ý\9e_qWl\98\vIJe»~äÃ\80l]\80\ 2}mñ\10\fó>Ð\12\91H\95¤âúßï\Rrl'\19\86%Hk\8bÒ}\9c{ιúz\91Ò\10¿)ÍF4\9eRV]\f\93!MgÓdD\93ù\f\9fGø³\926á`²Xàë3\aãq\9aL\9e;H§ãd~~ðóòbp3¡4¥å\ 6Ù§ó\19-sBæá\90\96YïºÜ\89½#ÛhòÒùZØ\8aÄV(M»BjÚ\9b\86²Bè­¤×Ë/\88\84úC¤\9e«ÖIfô&^î\12ô¾\8bß\17\94NbÂ~¨v\99÷Òd\84_º½»^\9e>3¤þ\88\8bêñ\11)G\82vrÝ_\v'sRÚK»\11\99$_\bO\85,k\17«Bnµm\0\97\13ÕZÄÀT©máI\eOkIâA¨R¬K\89(x¼½\93\93#e:\ 6ìHZ\8bì^ =\13\9aµT\97Âo\8c­.iÝx~P\90\93µ´ÂKjïMès)Q\1df%ò\18x\87Ú*¡ë6RfªZ\95Jo/\11ÁyQòç³ÄBçÄ\0r\138%Ç16ÖTäLc3\99´÷\8f¦\986
+]\1a*E£³"@H_\1açÃØ0"K\eñ`¬B\89@\8eÖÖì\9c´Ä\19j\ 3\ 4IyBðW\85÷õÕ`P\9aL\94\85qþj1L\a¯\12ú]¢ëLƱ\88nÂt¸/\1et3>\ 2o§|\11\0Т\ 2\84\9bð\99\9bo0µ0&\81\ 1\81\:tÈ\83b Õæå3A¹Úl¤\95\8bt\86\1c\ e«íô\1cª\8f\ 6H\ 4¾\ 4þ
+\fÑ{\ 1ä¼\89à\ 5\98\85ÞÓ»Ï<\ 3-3\ f®U¸Ei\19\ 6ß^å²ãÍ\18vÅaÛ\9bÎJ\ 2\1f\1ed ¦í\ 2*4jjT\8a¤µpnglNN£9\ e*Üᢣ\9d*K&¬ã¦[®f\biÉ<\0G¦îNÙÈ\88Á\r´\ 5¹°\98ûãIäF\9a\8c\13ZÚ=\95Êy\ e\1fØ^\0|¨é \82\8eâà\ 6ÂÆ¡vz\ e"L¦L´ïãIÚò`\91\8cß \17\ e ù¬T\cÿ}¼g}à
\90)ÅD\88g\1d]ú!@¿£ñ\9fp\14W\98¦Ìi+!SÈ\ f\12ãº\99?îßkNè]¤Nnô\8f\9e»ÔPK%=æ¶eëP:3Öb\9cå\1ehú¦î¨ÑÉý\91\1a\11?j C¦Hé\f\ f¡aÛÁÌ\9c\ 4êì9]M`ò    \96\ 6é-½\17ú\83ÐÐ=\ 6\1fÀq´ê¹\ 6d\13\8e\818RËÝæn»zÝUÔ\ 1Òv\94\15ÆÀR\90ÝR)\1fd\89\ 228\83ßÇ6\99É\95Ø\13ØÃ\9e\83ºn\83\9c¬üÚÀ¸Ù5\ f,[K8\18\ÏGf\ 5pQìY9±/\18'\1amO\a7o\ e\13=Lût\9c=ö9¤\82e"    åÒÃd]\82¦;­á2ì\1aÉ\ 1b\97º\ 3\91\rÃÀW\8f\8bÝ\9fÕ%ò¼£°©=˨ÿÇ\ f\1c\fE²% \7f\8eÀZ\82ò<à\1e¶|(ì\1eß`IÚè~\84'rÝ­^Ç.\9eÕÎ$jçHò\a_k´úÖÎ5\ 6ø_z\89\8f>\8ae08\96Ë\0«Ä>¨Î\7f_ÐÍr_+Ø6x}\98Õ£S\1f\87\8bɺ(= ÂZ\ 3±\19¾c\9ff¹ò\96\aSxtí¢\92y\fpB\84öÚ!(#ÿd]<ßF/lt}>ä¶å\90¹\80w\82H`vXø¡ÐS´_zÛ\80\1a\ 1\9c\8f!\88ê    =¶+&lÉ\10_Ð_\ 5\9cÂýͺ
+¬Rú4É\91R_x¹9\97î\r\ 4 ¿\89ªæW\8c`L(\81\19\13 \ 5\90¨
+{8\94W\9a-Ü=Öç°WÐ.#\1f'ä÷µ¼zRQç\12ÿÁ\94\a\83\90nÀqc\9c\8eí­\ 5?n\8b7O\18ß.¹·\9fn/\89}
+ÿ*½ø\16þû¸¼äx¼"\86qßàlt\7fI\9fn\a£K\92>K\92äD%\1dQ\8e
+Ϩ2\8d\ eë)Wî\1e\9e!·/7üËÕju÷îãÛOw·«ÕO±\9fn%ÍÓdÑî$\8d\1d\ 2Ϥü\8a\89rg\84ã秪\8aÏ\1eÖ\11\97Uãý\8bË:*hÞÚ`:Å{ù|LÓé".ÇÛë\ f?_Ógk¾\80EôÖdM\85\85(\98P\c¿{ ?\e.xg\9e½õNf\93d6\9dÇ}\9a\ eù\91_\97\17¿]ü\ 3á¾°`endstream
+endobj
+1513 0 obj<</Type/Page/Parent 1476 0 R/Contents 1514 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1514 0 obj<</Filter/FlateDecode/Length 1777      >>stream
+x\ 1\8dW]oÛ6\14}ϯ¸ËKS Vbdz\93\ 2Ý\904\r\1a`]ÚÆ\9b1À(@ITÌZ"U\91ªê\7f¿sIÊq\94\8a\15®%Þ\8fsÏ9\97þz0¦Sü\19Ó|Bg3ʪ\83Óä\94f\93³dJÓó9>Oð\7f#©ð\ f¦ç\93dò£\ag\17óç'®\16\a'7\b>¦E\81$³ó9-rB\82ÓSZdGo^­VËÛ?¯ï\96÷«Õo/\17_ðö8¾}>N.~Å\99E~¤¥£ÖJ*k7~E+ügeóM6ZT\12\9fkcJþBe2\84è\13\8eB\8cÑd\86Ê\10ç'ÓÕ\8dÒ\8e
+UJN\10BNcUÏBÊR¦\8d\98LCVê\9c*I\82Òö\ 1\98Õ¦q¿\84\0\174Fï\fÂèl\1aÊ\19\84\96ká趠ÅZé\aK×F¿p´4Íæ÷§\89qn2OfÜÆb-5mMK\95zX;¤\119¹5\ 6\84\8aéÝÝrqGÙZÔN6t­Ä\836VY\12¨\8c_º¹ü\98p>>/0UëTYâï6ÛðsM®Ùò\aÎ\8e\9cã3L\e9+¡J\14H¥²\8e;Õ²³\ f\8dikZ\1d\95ÆlHá$Â\7fz{yýþ-\15x%\97\ e\87ìêeB÷¢J\ 5­\85¥T"\85m³LZ[´e¹ÅAëDYÊ\9c\84\e$ukÓZ\14\14d\95\93\96\94y§ràm\rUb\9b¢\ 5SI£%I°À'Y+Çý5T7&-eå\9bçì\ 6¤Éð6)\97Ð?@ 3m\99\ f²\8a\12\91\99nÜÏr¹ô\99É\19²\99Ð\94
+\0¥¬mQ\fªâw,w7ÊÕ\83´.\89ÁzÊ-ûY\15ê»\7f9\96į\9dÜÌ"«\8e¨.¥°\ 3®\1d\ 5>q{ÔÖ9H¶K\99\9b¬­¤vÂ)£1\ 2æ\1e\1aÎ$:Êåê%\97Ë\90\84
+\a\r>=\8cÉ"\8eÒ²AôÆ×ÈCö\8d\9cÜ\80\90N íø\91¶cÌ43µ¤Ûk\e\ 5âyÊ\8c¹Ú\82\ 1\85hK\17Ç\ fHACJK¡7À2\9cN\98ø\16\9a\11\1a\ fÁD?·NéÜt`\8bù\8e3U\vÎù©¬Å7/®Ç\10\83Ön¯wä\86,\98^\9d\80\96\81\ 6\ fT\906zô´\0n8¨©c!h       "Æ×y¶/à=©26\14ü\82l\95&\99ÑÅ ¯©y\10       ]ö\1d|x\ 3®î\aô¥G¶\802Ò9\96\13ëÄ1\0H        joP=å\ 6e²¬ÁTÌ8ßaeÿ\7f&\93\84þ0Ù\ 6aÿc"w \ 4$/¨[«líeãT\ 5\803ágã gÈ\ 5ì¦2\ 4\1a²y±\96°\f\r×\19rÛ:02¾\1dãö\10B\99µlÐa\ 5HÓ-п\7f\7f\85ÎÙ¹yìlX\r&\8bt\87Ül\93÷i\ f\aè\86z1Næ\84 ¬T >CÆ\89ñE#ô\83çzºe\8dÀ\8a\ 4\81^Ú;bHe\91\0P2ÒH|\98K½¥
+R±\87ø\ 2\ eì­°\96\99*\94\1c\1a\f\11Á^\11\80#\ f\81ùô¤~4Y\81v*³Ôê\1c\97\86úq\14\9dC\15ª(\0\98ÆT~Î\8f­Ç\ 3Ë \80\84þ\86,Á,\16þ\0\94à©©\ 4À\12+z\ 2ç\838\\83ú÷   ¬a\11ø¾È´+WGp\86\96k±[ëà\8b\19+\ e
 þÃ~Â\8e\89¡\r\8a\1adN¥ëØÆ\1f\e     µ\84¹Ø(i6Kæ1h\10\8c\1e\13Æ\98\1då-Ê\84\9bJ !J^_\16\rÆ1ùJ\ 2)xP\85È\9e/\ 5\1e\17E\84z2\0\8fÐ|ä\ 5Ó!\92\ 3\8b
-9§\9fϧlrÓÏóÙ)ì  \93ÌY\86ðPÎ\16\89uwï\8b\19tíqë\99n4¬Å¶5/xØÔ>\ f\ 6Þ'b\8b\ 4²\9eß\8cCm¬U,/Ô\11¡à\18\18\8f-X\1c¾æF~Áb\19¶,R,..\1e\9b(AP\8c9\8c\7fõ\83ÀR=ExÞ\8bx\84\9e½\1c ð©!iÃÔ\98:|9\bIöL°\ 3\ e f&\89\93~e\aè\980q\az\9e\97;\ 6ó\80\8cÅ\0ÈG´BÏ^\7f\aðG\f,\b]c@Þ\e\v&*ö\14L\as
-z\1f\8f\18\91Óýå\82ï     ÞKc\0\18\a¹c\0¯Ç \81àÙ\ 6a\e_\ e»á\9e¸\96i\ eëò-\ 1ÓNì\9e\81\bÅe\ e \1cÚ\eYÜ\Ê\1c×0   \83b\93çéòíÇ«\95\99¿câ\ 3u ß5¸Ú\ 4-\82\88Áh\12x\ 6Þu-ôË\90wÊm¸÷A?(è@Ú¼A"\ 6þª\82=\ 3Ëô9pSò·\1fë\1aܼ\ 2\8au\96pY9¦äYêW¬(+ã×-B³}iÉW5\81z\85ßô\aw¨÷à\9d¬\ 5\eÔ\aïòÊ\ 2=Py%¶`aØ'¾É=\f\f\0dÛ#À\1f\19aRÅþ}5Ì  ~\ 2\95¸Ó\81G\95г\8b\86\17'§Ýï±\98×\e¹üV\97*S~dv\e*öÛ)´s\8a«;Ðð\17ä\ 1ØXÚt\f\01ï}\81¯i\17v\b\88\ 2­û\95¿ï8Ì\9f5ÁF\v\ f×ô½Ñ\ f)å/¦ ¡\9fG®¬`×@\89\81ö{(\1fõØZÎqÜ?y\rß=\8e.\f_Än\87\ 1Ç«\ 6f\ 4rbÛ1\a\9e]¸sÿë#úÚ¾GÐ7<ð\9b\1d]®Op\83ß\80\10\94åXaþ\8a\7fË\16\8al\19®±Q\92\85\1f\81\17¬tm£ýÝ\947Y\1f\99ñ=»¹\88\97àÉ\1c?6/Îi¾ð¿rî¯Þ¿¹¢\ f\8dù\87\97Æõá\85\97Ï\8dú×G\8bñ%ß7\7fà×Ôl1K\16ó\8bð£r2æ0ï\96G\1f\8fþ\ 5ØCÞ¯endstream
+9'\9fÏ&lr\93ϳé1ì  \93ÌY\86ðPÎ\16\89uwï\8b\19tíqë\99n4¬Å¶5/xØÔ.\ f\ 6Þ'b\8b\ 4²\9eß\8cCm¬U,/Ô\11¡à\18\18\8f-X\1c¾æF~Åb\19¶,R,..\1e\9b(AP\8c9\8c\7fõ\83ÀR=FxÞ\8bx\84\9e½\1c ð©!iÃÔ\98:|9\bIvL°\ 3\ e f&\89\93~e\aè\980q\az\9e\97[\ 6s\8f\8cÅ\0ÈG´BÏ^\7f{ðG\f,\b]c@Þ\e\v&*ö\14L\as
+z?\1d1"Ç»Ë\ 5ß\13¼\97Æ\00ÒN\ f\0^\8fA\ 3Á³\rÂ6¾\1c\1dq-Ó\1cÖå[\ 2¦\9dØ>\ 3\11\8aË\1c@Ù·7²¸¹\949®a\12\ 6Å&ÏÓåÛ\8fW+3\7fËÄ\aê@¾kpµ Z\ 4\11\83Ñ$ð\f¼ëZè\97\94[sï\83~PÐ\9e´y\83D\füU\ 5{\ 6\96ésà¦äo?Ö5¸y\ 5\14ë,á²rLɳԯXQVƯ[\84fûÒ\92¯j\ 2õ
+¿é÷î\84QïÁ;Y\v\ fÞå\95\ 5z òJlÀ°O|\93;\18\18\0ȶG\80?2¤\8aÝûj\98\13ü\ 4*q§\ 3\8f*¡g\17\r/NN»Ûc1¯7rù½.U¦üÈì&Tì·Shç\18Ww á/È\ 3°±´é\10\0bÞ»\ 2_Ó6ì\10\10\ 5Z÷+\7f×q\98?k\82\8d\16\1e®éG£\1fRÊ_LAB?\8f\YÁ®\81\12\ 3íwP>ê±µ\9cã°\7fò\1a¾{\18]\18¾\88Ý\ e\ 3\8eW\rÌ\bäĶc\ e<»pçþ×Gôµ]\8f oxà7;º\\1dá\ 6¿\ 6!(˱Âü\15ÿ\96-\14Ù2\c£$\v?\ 2/XéÚFû»)o²>2ã{rs\1e/Áã\19~l\9e\9fÑlî\7fåÜ_¾¿º¤\ f\8dùÂKãzÿÂËçFýë£ùé\ 5ß7\7fâ×Ôt>Mæ³óð£r<æ0o\17\a\1f\ fþ\ 5ØMÞ°endstream
 endobj
-1516 0 obj<</Type/Page/Parent 1479 0 R/Contents 1517 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1517 0 obj<</Filter/FlateDecode/Length 420       >>stream
-x\ 1]R]o\9b0\14}çW\1cõe\9d´PH\10°§\89,DªÖ%[\8b\14íirÌe¸16ÃÎ"þý.\8c½T\bÉÆ÷ø|ñ;\88\11ñ\13#[c\93BvA\14FHã(\#É3^¯ù\1d\bM°­\82\87}\828FÕ0$Í3T5x<\8aPÉ{)´vð\16\9e´\86Ô\8a\8cç}+<è\ f\r£o\95ù\ 5åpü\12¾¯^\83\b«u\1a&|Ç}Õ\12\1cIkjÆ  ç`\eh+/\vÀóñ]MfDgkrw!\18à\b\82e9ò8\8f\10\ 6¢ïµ\92Â+kpkÉ@yØ\9e\8c\83@£4±´\856Þ°9¦­ÉÓÐ)C<Ï*ýØÓL-¤$\16áZ{Õ5ÎL¤µ½Q\r§º«öÂ\90½:=â¦|Ë,\8ca\9a\10Åb\1a\9d`Aî\82Æ\ eo\18wåáÇÏÃñP~À¼|.\8bݲ<=?V%ìðï xz\9a]²ÃÉ¥ÐÎÂõ$\95àhm׳ͳÒÊ/\91¼¡\99ª`¹3Åþó\96ÓY6»ãË\9cýÃ>_z\8cSî8ߠϧD^\8a¯Û\ 2ß\ 6ûJÒcgåµã\16çL'\8aÕÿéU\16}\9cæã0\rq\9aÂ{l¸\14îË1ʼó8ÙáòiÂ$Y\12fiÎ?Ì4\1fO\9fÊ*ø\1eü\ 5³$¿Uendstream
+1515 0 obj<</Type/Page/Parent 1476 0 R/Contents 1516 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1516 0 obj<</Filter/FlateDecode/Length 420       >>stream
+x\ 1]R]o\9b0\14}çW\1cõe\9d´PH\10°§\89,DªÖ%[\8b\14íirÌe¸16ÃÎ"þý.\8c½T\bÉÆ÷ø|ñ;\88\11ñ\13#[c\93BvA\14FHã(\#É3^¯ù\1d\bM°­\82\87}\828FÕ0$Í3T5x<\8aPÉ{)´vð\16\9e´\86Ô\8a\8cç}+<è\ f\r£o\95ù\ 5åpü\12¾¯^\83\b«u\1a&|Ç}Õ\12\1cIkjÆ  ç`\eh+/\vÀóñ]MfDgkrw!\18à\b\82e9ò8\8f\10\ 6¢ïµ\92Â+kpkÉ@yØ\9e\8c\83@£4±´\856Þ°9¦­ÉÓÐ)C<Ï*ýØÓL-¤$\16áZ{Õ5ÎL¤µ½Q\r§º«öÂ\90½:=â¦|Ë,\8ca\9a\10Åb\1a\9d`Aî\82Æ\ eo\18wåáÇÏÃñP~À¼|.\8bݲ<=?V%ìðï xz\9a]²ÃÉ¥ÐÎÂõ$\95àhm׳ͳÒÊ/\91¼¡\99ª`¹3Åþó\96ÓY6»ãË\9cýÃ>_z\8cSî8ߠϧD^\8a¯Û\ 2ß\ 6ûJÒcgåµã\16çL'\8aÕÿéU\16}\9cæã0\rq\9aÂ{l¸\14îË1ʼó8ÙáòiÂ$Y\12fiÎ?Ì4¿\9e>\95Uð=ø\v³.¿Vendstream
 endobj
-1518 0 obj<</Type/Page/Parent 1479 0 R/Contents 1519 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1519 0 obj<</Filter/FlateDecode/Length 1665      >>stream
+1517 0 obj<</Type/Page/Parent 1476 0 R/Contents 1518 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1518 0 obj<</Filter/FlateDecode/Length 1665      >>stream
 x\ 1\95WMoÛ8\10½çW\fzi\v4Nì¸qvo\9bv\ 3\ 4ئéÚ\8b\z¡%ÚbC\91Z\92\8aë\7f¿oHêÃJ/\8b @"\91óñæÍ\9bÑ¿gsºÄÏ\9cV\vºº¦¢>»\9c]ÒÇ«\8f³\eZÞ¬ð÷\ 2¿NÒ.½\98Ï\96Óç·\9b³\8b»ßhqI\9b\1dL]¯nhS\12Ì\âIñîS%\9a \1dìзV\15ÏôÉYïiÝn\8d\ftëìÁ+³§\8bôüýæÇÙ%\9d/\96°ñîɺ罳m3\1cÛ·ª\94|èânIóyry¾¸\99-ø¦R\9eJ[´µ4\81|e[]ÒV"~Q\922TXó£5EPÖÐA\85j°+LIµ8òá \9e¥!á)TH[ø@Á Ä\1d]S°9ÄùUò©êFKöÇYl»tD\11³ô1KOlþ\82¬£üüÐeæéû;<.m-\94ñßßÏèéþaMH\83½o%{·VÓκ\89_'½ÕmLÅîèA\86Ûû¯k2¢\96¸kéþ\91DYJï¥\1fl>|Ý\0\86\17«_dÄ#\86+I+¸©\10£æ\1cäÏB6\81¶G:\88ãÄ)<±\av\0ë\bÁ\ 3µ¦ÁµY>¹¸\ 6CP\8a\a\eäïôeMOÊ\94¨1ø\ 1>0\ eZ0\1d
 a\18lTd§ö­C<°i\eéð6Õæák\9f\95\8dͧÇ\8bûÇ\19­E½\15çW\93È\ 6ËB{K¾m\1aë\ 2Ã\b,k[JBìÉ>ª\1f£eÖÎW\99BWË\14÷b6\9fÑgå\8bÖ{\1cd/§T[Í®9¿;å|ÐÇ\ f\1e§ Rsq\19H8Þ
 \8fÌÀ¶õ\97[Tz-\1d\ 5¸\89½¤[m\8bçïïó)\14\ eO\19J>=I¯\7fÙ±´§\1dì·±\83:
@@ -2748,50 +2743,41 @@ a\18lTd
 äå>½zQb\1c1(¢j¥\85ãt =\13̺ sAüÑ\14ã8ÑZ}d#\92\8dËWXÍ\9cB+$¶fL\19­)®k\89\14K\ e\ 4\92\r"\83\ 19|O\87Jb\18E èD2\82ÏýåSw\ 5YTÆj»\87\80ñi¦E\83\91£¶\1a\86êm\99\aÃ$ÅS1B\9cÖH´ì\1cýY\8b¢Rø/Ï\84¨ÐÉ\19\97\90õ\ 5\93
 $\85\90%²2\90ýH\98¸\93æE9k\12\9fïw¸YT]\9a]\95\91\89¥Â[Oö\0Ea\19LÓ"Å\12ëÆ\80\98\8fPï×\ 4ÚcææÑ\94\98ÐÇÇa³rEÙ\ 2\9b£¦°±®ö\1dµÞD\15\1f¿\19³b\92fÏåHÆ£mÝÀ\94\9dÒrZ{ \11\83gðG8sPhç\92ç Ü\13\8f[ð nuPç\99Ó=z\b\80\e¬úãPû$&qòø\18\9f\e§44¤ïv
 \1e¤ \8c\91\ 5\8b¶;NÓø\ 35Úu\93*%âd£!#±\ 5x2HV\a\ 6<\ e\88¤\ 5ÛV?w\11\17<³*Pn+\91NaëZ\85 Ë\ f´\85°\83j>(­'Y\18)Kfch1F»1ÇëT\1eÊ\7f«}\15ÈØ\ 3ù\81\ 5w\8d\85Å431ÍÎ#ô£\88;\9eKax¤\8aÀ­eÀÓ\10Ç\ 46´DG\84+&1\8d«\b\84cÕ ÷±Ê\80\90\v\1d\9brDt¶rR}t#\17\0´Êb\añ* ðJ¼ÈH\8d\89ÛH\rlf¯ûÄG\12aãhM)Lqä\r\fAdõÀ\ 6\ 2 x7EãgV°f¡J]#\8c¹1ñÊ\17ºc=Õ¸³~1Ð\ 6EÌK!o\12\9d>c\8aòP\88\15&B_h\15\85ýðºö\11и\14\ 2\10,\16B§e\10\e
-\82ª[`~*q\88\8a\eä3ÖMüÙÝL\v\1f\17+C\ 1\ 3\8c¯_\8c¤î"\17(-\9d¼\16¢2¹ó\12®Ì\1ay\8cÓÐK®ú©ýÌ/ð TBw0\1d\1dÆ@\r}ÄÐ̤\9f.\ f,\9e`9J\13\19Ó`M\ fh1Í¢éñ\9d\90\9a\0õUXE¡\1aoÕ.®kR#ï\9dPÚ¿%_H#\9c²X½s-»fù\v#?NC\88;\a\94«1\1aj )è,àNkÌ`\1enHº5Nj%xÚàìÉv\ 3TbEù\1aºKb×EìaB"e0û_°Æ²5F¢¶8\8f\8b\86æ\1f©V\ 6ÛC\\1e\0T=t$4\81i\11¿_(¨´¥ã\ 3\ 2\91(_!ÌQä\91\13¸\80ídâ\9c¿~\bE\0%\96½3þ\8f\r)X\92\1fX\ f\813vDl\vÝ\17ÍtÁ\88h^ÜÝ\f\1f\8bôÁôÿ>\bé©ûT\1a>Öú\8fÀåj9[]ßà«\13\eù|Á©ü¹9ûvö\1fí\1eñ\83endstream
-endobj
-1520 0 obj<</Type/Page/Parent 1479 0 R/Contents 1521 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1521 0 obj<</Filter/FlateDecode/Length 1800      >>stream
-x\ 1\9dWÛnÛ8\10}ÏW\fú\94\ 2\8e|IÖI\vìC²iÑ\0ÛË®]ôa³((\89²ØH¤KJqü÷{\86¤dE1P`[ô*\893sæ\9c\9f's\9aáç\9c.\17t¾¤¬>\99%øçr\96,èâê\12\7f\97\95T\9cܬO¦ïßÐü\92Ö\ 5>Y^Íi\9d\13^\9fÍh\9d\9d.\92EB\1fÌ\8eRkvNé\r\15­Î\1ae´#¡s*ñ¨1\94Ëmeöä\1a\91V\92\1f¼^ÿ8\99ÑÙb\96\à¼S<\97\ fû\83Z\7fÜJÔ©à·§ï/h\8eà\9cÅÙâ2Yòw×\8eÏldN"5\8frB\1fWôMé\1c¹P-²RiéPÇF¹FZjJ©,}\92ÍÍÝç\15iQãáý©Jdò\96\9fu_ø'T\18K\12GÄLççÀ\ 6\11\9d´\8f*\93Ôì·\92\94\95Vp½÷¯ÉhÎÆ6Ôn\13º®\9c\99\90\18'Èqä\93È\1aªeS\9a\9cÒ=íJ\95\95È@¹\10:$\1c\8e\1d\85\ 3\92ÞV\ 2)àõ\¢®\1aUÆsp$êDæÚ4¾¤\ 1\1eY¥¤n¦\\0Þ)\91Y*¥¦\8dzÄï\82¾Ý}ZQx8\8a)òÜJç&ÈóÙù\7f~üðyµ^QeÌC»åt¤æ\16æ\13Î@\15t\8b\13\19Æ!âè\863UË\88=ûB6Y\12ã.\96\81\14\97\90    '94èÈÕùºµ\19æK¢ª^"\a\ 2:ÚI<Â\9fÜì\98\1f\87äFKÆþëí\97Q¹  È\11´IhÍ-QÈ\17\14ë{Ó§\ f^s7+\93\89\8a\\9bjÙL¨Õ\15°¢\ e\e|ß:t\aïV a\9fiPÇÝ8v\84\84P½kA\v§\9aÖ\13Ì\91×\ 2m­yT9ò\11 \90\80Î\ 6\f\92äX/±\8f¡êZìÑinD¦Òj?ªVé\1f2c\ 1)\1dëñ\ 2DY\9c®)\10ÅÊÚ4r(-Tº3ö\ 1â   "e\18^Å×\84Ö\ 6\16 _ÑVX \ e\82Þ¿\1e·ö\9boä3Ò1\e\18ªÉqÞÒN¡\93x\81;\ 6\94\15w\88aíÕ½S\r\8bH\ e\99ÑÅíÔ»bD·"{\90\8d£Lh\ 6Æ\9aÖ\e\bܪ)[\17>\a£ØC<m\ 6\8cE¼ÎßHdÖ Óñó\b\89ë"v$¾m-»"çå½\ 1BA\ 3\bÂË
-à³\14|u,î¨m\ 4ʬ\ 4í\80\7f X\8dz¡ÛÐ\1d//fpn\98\98\10»¨ðz>î®|B\17\13ú\8cH°²\83\10cÿø\84h\93!\ 3ÀáS
-\8c=\94ê|\ 1¹©\ 5,ïy&A%#VÅ7{/g·A\96ðc@\81q`\10\ eÝ\82;9\99\ 1¡f\8fÿó\87gF7ÖTÌ\7fÔ+"\1d\8eF\1eÅôÞ\15\12Å\ 1\92¹Ë\87Áj9ª¯ÿ(\92÷§\ 5\bë\r\a~×[!|«°¦î\94\f{?\8c­\8eNò)+\85Þð7CÕpXX-Dì\rd\a\ 1Jxî~\84\\80\1cO4\14^U{2iÃø
-ä]o+(ç Âª\1aUÛO·¦\14è>\1c\r,b\96E"&ôÎ\87\9cÏÏæ¿\11F\ 4\9crÐ[)+oMý\18\89£hÈ\89Q\0\84£\8c9p³\ fÁEÓr*\85ÿWÏî\f\1d\96V\89\81À\ f!¢jKµ)%$Ýn\eUc\92\ 3\7f\ 4\1a\rÞpR+<\85\8c\1a\93\99\8a\83\86ü'à\18DÒÅÃÈb×Ø\ 1TNºÏ\al<ʨ±xÿð#\13SD¹\8eº±Ï|\ç\82\96\9dÉ\97\rXÙ:'\94¶¬Jç\97\1f,7]\7fÄ£P\95HUŤ÷\1cµ\16&0*ô\88ñpHXÑ\96\1dãQÒÝ\17\8aÓbz\98\1añ\94Î|®õ\9e5P¨M\e¶    À\0¶¤°\8a\87\97æ\ 6~O\81k/ZL\ 4x\97S\19\ 3Àc\14ξçB-¯\ e\99à\92\91\14ö\17<\1då_
\b¥o\ 1\ 2,Ï«\9d\ef!G?l:\ 4ðN<§Ç\93\85\8c\15ë\85\95\86ñçÚíÖXØ· \ 2\ 6Ét\v\12\b\8eÍc\ e\ 1Ü^g¥ÑÊùÑÉ8\ f\ 4\8ao\8fz72ñ\ 6õ\82vÝl\8bgðá\83ñÆk 7ÇÕiÂhS¡*\19µïQê&7\9bzp$ÿþ17\1aÁ\bM÷ó·£\e¯Õ8ÉÊ\9f-ëePW¨ÚöeÇ\1cdQ\ 4ÎÀbR«ò\r\8c\0ó»Ã\9b-3XÈ(¸\93<Á¹]Ø0ü\98³ÞÒ\0\8eã¾\9b{p\ 4Ï\r\920ö0§Â\16E)ö·üÅ$\ 5ÑØfG!\8f¾\e¤¤ üÒ´0,X\10f       Îôy3ò¿èO¿1\r°\1a\ 5ö|9 Ggìö!\0\ 4\9d
\9a0\11¼6Ñ\81(;\16eÜh'þFàëÇ~\94ceæõ7p-,\88£°>!ϹÁb\91\19ï\bè\16jFtì
-\18\11
-KfhTÀòh\ 2Ø\by")W3J±îüè\88\99u¨>¡±³O\88³\9c¾Ç\8dÐß·N§XΧ%¬×\85\aÝEì\14÷\e \ 4\8b3Ú[çð¦xv~\11ÖøEr\9eÐ×Î\1eѬ¿Ã>yýrQ|~üà\9e·\1e4ùÈ\82ÉúîÕ\17×:¸\8a×I·÷ârâ\86f\ 10åa!òwAVÛ¨A\9dè6\12f\1e\13öÇ\8e\18Ã\ 2öX8\9e 8вûð\99g¸·\1dÊoºKm\ 4\8câ\8fÑBM¿\93Hà0INÿȤH6Iù/%I\ 4¾ë       \83æ¯Æß\8dý\1e"\Å>Î\97¸Ù_\9dÓry\1enÏ«ë\8f7×ôÅ\1a¾\ 2ЭÉÚ\1a\8eÉ_\9eu\1f\9c\90cþ¿/û|ýÿÕõþâò"¹\^ár\8f@ós\8eÿn}ò×É\7f£d\9bÍendstream
-endobj
-1522 0 obj<</Type/Page/Parent 1479 0 R/Contents 1523 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1523 0 obj<</Filter/FlateDecode/Length 1767      >>stream
-x\ 1\95WÛnÛ8\10}ÏW\fòÒ\14¨\15Ûq\9c´À>$èe\83Í¥[»\b\16\9bEAK´ÅF"]R²ë¿ï\99¡d;JP`ÛÆu$q.gÎ\9c\19ý8\18P\1f\7f\at6¤\931¥åA?éÓiÿ\f\9f£sþ\1câÇk\9aË\8d\93áy2îÞ¸\9c\1e\1c\7fìÓ[\9aÎaj|\8e/\19ÁL¿OÓô\88\9a?^\97®Ò¤¬uµM5ýA*\99%i\92\1dßß}ùëÓ\97»¯\9fé_\9dÌ\93E\92ï.ýGI\92¼\9e~\87\87\11\r\ 6ÑEo8\86\8b£u®½~\17o\8e÷o&#¾Ý\98\87Ç\8c\1a»O\r!ßÞà$\19òÃ&\906\15\f\12>èúæ\92\1e\8e®]ª
-ºQ¡ÂåKïÖAû\87×tõ\99T\96y\1d\ 2¹øøÌ;\95¥¡Ú]\9f\8b\99&e««µó\8f\92F\7fÏ¥~·u\ 6÷ª¢ÁÛa2\18\9f'\83\7fÓ\1ao}¥®.2\9aiZ\98\95¶¤ÂÞãÃÓS\124Ä ü\95*<\92  \9cï\9eG\15B]ê\8c*Çv\86#\9a\99* Q\1c\9fþÃë\84îsx` :E+µ­`\96J\95i¶Â\8fÄä\ 1R×Y\8bÑKX\90^i¿¡Ü\ 1´µ)
-8J5ò"Wû-EØ[Hh\9aÃ#þYgÂFªÉuÒsç5»ìí%XÛL\aãÕ¬@\u\8587\9c©\85ñ\10\14\1c\9a9­5e\8enï¦ôhÝZRدè\93\83\86|-¿zû¤Ù\12÷·¼rËÊ8\v&1\11Se9¢\86k\9c­[[bz,¼«\97±è \82{\12GË º\9aÓÆÕT\aÀ\9fKú{Ùï¬XU\ 2Ê\97Lð1+(ßêêòên\ 2\8cÒÜX\80\843!\16C#PÄR8÷hì\82
-óØu\ 5+\8cláp[x\80\90·îßÀ\89\90d\83t9T       \a\rã\8a\9a¡ ¥w¨P     ÎÃQÈ[b«\953\99Î\1aÄßÒà\8cÛ]\10?\19Å\9e\1e\84¾Âd\93Üá\97¨*±;i²±é!-\95G.hÚ§e\ 1RÃ3¨\17º}
\1e\ 6\7fÑØ\14\9e\1ee\a¡\84>9;gò!\ré\9b­|!ke\1dpð¢\16U\ e\ 4\f\18W?k\ 4\9c{g\r¼\98êU \16y\81¥0Ò\ 2U.E\99¨r¦Ø`BW\11Ñ@w·×ÿ0qá\8bâ}è\10Ú\a\17à3\87\10\9dî\8b¤ãÈ\83)ë¢RV»:\14\e±Âò\862H0\rµ(è\ 5÷[+RÃq\ 4\9c\91B\ 2\95ú¹\85ü÷¸\99Ð(òv ô\86\9e\1fÜ\r\81ç¥ÚI|;(8\9b=\91þ]×r\1fé\82\ 1gtX\ 1D\82wbÕ\91ê\ ezM¤û\98\1c\7fl            \1eíèxº¥ãýÕíäy\16\rá\1aÊò3ÐÛ&\89XL¹öÍùot3¡{c3Ð\91n§4\89EæÛ\18:È#7\8b\1c\ 5\84\12¥âN¡\ f\9dà[zµ\8díõ\ 2\1cÓ\1e"Êì\13ÖUn¡\85»k\f=Rrñ[µYjZ©¢Æ´gü \f\tî\ 4\96k(\18?\81©Ç\17üÊ`\88\9b®ê3\1dÕJ\99\8258!½xÇD~)\84Ì \93
-       ñ       ª­ù\ 1¿\ fG\-       ¤ÿ³\7f\82Ä9\i\ 6U\ 4÷¢!´Æ³0\0\97¯­eõb\83\85²¥²j\81¦\ 1xKU\19\9e\10M\eµ¹<\1cµM^ªGÜÍ\15$K$jé\8d\15\0·\99±èIów°\87\ 5\1f\10õ\8cë\14aoch¼=Ép\88i\e3lì´mw\81\91ØÖ\91\11@\1cØÁ Éð;8¥\14±©4ÖÔR¡í¢ÊyPF©m\vé\8d\fB`\81\1d\17\83Áê\8e\12òW6ÝÉ \87\eu Ôk \ 4ø\14\r°\16¶þ\9ar\Ø\8d|ó,{\10\99Üy\84ÿÛn\80\ 1\82\85ka©0\8c\9bå¡ã{p
-2n}%d°!½\8cÄ~L\ 1\83
-\81>\1c\19\9b\16uÖâ͹E$\8c\ 5\9dK¤ã,\96\9b\ eÒÒ~<\95C\85\85\82Q\81\9b\97D\ 1¡\bÉ\86Ð7ÛÒr\a^PZ\18^\8b\ 4\8aµÂÊÂÉ\15n\ 1\89Å\17\819ªO'[vÊk\1a?!Q4\fáÞS\18º\98\v(\93\ 2\13"\ 3\1a¹Ç\92ÔR\8bk\8aàʵ[@Ð[&oS\8fËSÇoP+\14`»¶QåÕ|nRaú\82Ë\8e\9eÔ?\97:3\15\9eC"qbó
-\ 5l\13\9a\0ç½µ/\12aoºs^\98\8cX\ f:\8e¥½Tê\1d6çV\90\e\89epA#i|$½W1Ù\98\9cELX\9b°8¬xE \95Q\113\11Nþ-T(0öõ¢+\87<ÁÍ¢ö8uX\94¼q\86C\9a\9b\82IÈìå\89\rD\ 3ìòPd¼cE¡\97q      V³ 9e\ 4Æuz\91A¢NR@6\8bHk¿t`\12Π\9e)\93²Y4¤°»\9d@hÉzÁ\8e1\98_aã\95ÿb`»\a»hÂ\8bñO\8cJ\7f±ó÷òú\92¹R!\ 3¼
-pgFïüþÂK\97ð-×Å2FË\v\ 1¸
-\bleæX\93yPÀJB\97]83=7ÖÈ\1a'%\93í\9dW?\80\87"q\fp\8az ehìv)Lè\96_ÿ\ 4r\8eñÅèd\9bÁjþçÕí§\ ey\10\1eÖvIqÝ\88\ eÞ\ 1´çºâ\1e\ f\11Û\99 ï\ 5\80¨\8b\85b\10X
-Qk\1c\93\82ò94MZ{SI\9eÇ\1fÏ\9b÷ÈÁ\18ï¾ç'x\9bÅÊÉ+ãäâæò\82>{÷\1dS\8bÞ»\14oRX\8b\18\b\8e´×\1eè\9dõùý÷èÿoª£³Qr6>Ç+4\8e\ fFlõÃôàï\83\17\ e\eendstream
-endobj
-1524 0 obj<</Type/Page/Parent 1479 0 R/Contents 1525 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1525 0 obj<</Filter/FlateDecode/Length 1635      >>stream
-x\ 1\9dWÛnÛF\10}÷WLýR\a\90iÝ,É\ 1ú`'Na \96Ü\88i\124E±$\97ÒÆ䮺»´¢¿ï\99%)[´\e\14\85o2É\9d9sfæÌðï£\ 1õñ5 é\90F\13JË£~Ô§ñÅ \1aÓx6Åç!~¬¤<Ü\18\8c\ 6Ѭ{ã*>:{7¦Á\80â\1c¶&³)Å\19ÁN¿Oqz"õ\83²F\97R{Ú®U!ɯ%½½½\82Ù\ZGÞ\84+¥p^ZJ\8döÖ\14\ 5>æÆRbÍÖI*\94ó¤4®\94Â+£Éèb\17½\8a¿\1dõét8\ 1Ú8;ù\88\aMN\9fnæKÚª¢ ­±÷0h­L}±\vgHåtýûõ\87/\94\16\8a!ÅoîÎnîhc\8d7©)Èy\91ÞÓZ8J¤Ô\f'W«ÊÊ\8cqVð\0ô\8dßÁ(\1a²ßàÐIû í\99\8bèRïZã~-|°¥\8dÿ\81½\1arm¡FÎ,(]Á[í\94Ãíx\ 53"KA\1a\ 1\9e\16¥\ 4¥+0ek\8e\1c\13\v\0\ 1_)v4çÈi%=\9b½×fK"1\15\88õ\11Ýh\12\f\1c¶zT\8at­´Dnp¾ãw-\1e$q<µ/ÉÔl\95_\93x\1eF.TQ\ 3\83C\91eV:G\851÷Õ\86\84÷²Üxð\8cÌ\80T¤>dÄ\ 1\a[,\8a\8ec~F¢\ 2$@r"8»ÈV(\a\91¦lZZk¬ëÖEl\1eÓHKQ&\82\90ÞC¸ß*\10     \84t¼UÚ\91«6\ec=ýB;é\8eÛ\12ue\12qAPÎeüǪ0\89\9fäP_(Êÿà\174´´½DZ\17E¨)\80\10\11\1cGY\0²3\95¥\ 3$\1d\9e^Æuön²oÑ}Ǽ]Ð|\11\87\86`#\8fm|\12J=A^þ\8d\10T\11ç,d¾áì\19Ú\8d°^¥U!,º\8fK¦rJ¯Pn?»\ ef³Õ\84.lJ$¢åF¦*ßñÓ\ 1Dhç:íºLB/¢\16B;\1anYë\7fª\ 3¸ \ 1ä\87uèt4®ea\18M"zkB¤|¢ä\12Ba³\88Húz2øúê±ý!-·Kú¤t\ 6Ýi@\ eûµ¡¶+\ e©b\ 1\9aF\13\16\82K\82\ 4 \87LYÂN\r\17\82\144\8cC\81È$\85,\1djÀU\ 5J?·¦\84¬!\80¢à\a\ e¡í5      Æ\80övÙ!­AÙvk·ü®\ 3\98¹ôW7\8b\10yq\8f¾æÌÀ1\9a\0NBë\0§,¸\8e\ 1\ 3\99¥÷\10è¯'Ü\8a\90j0$\83µÁ9\95Ð%/YçP÷\1e\82ÛAU[áø­\82 +AÊq5\85¤e\12\97\1e\ 2Æf(!xÞ@¡U&u\8aA\ 3ÑG\vê\1a\a\8eîí5HÙq\93\89\8eg[ÕÇê\16\87\9d\96 y\1cô\ 4
-L\89
-bÙJ#GZ\1a´¾«\94\17HNkº>\0\\99JùÆ\8eA\ 5eòëª-\8cv\0\ 5îr]\13f\97ìf"\86\97n\18ÌÊqnªÕ\1a\1c\98\18\12jy#Å=\19\90Ý0ÞæOK\1fÆ\99Ò`0\17©\f\92ÍøY²\99DÑ¡£\8dþâû>¨ý<
-MÕ\8c>ÎñÍÝç¶\ e\91(¾Â\13°õ-5S\93Õ°ÂѶ4»L0\9e}¤¡iÁy\16\92ûâq$Ó\ 1»Ç¤]\8bÍFj×ã       Íf^\80\ fÊø\ e\ fCîÝN¼A\8a\ eÑñãz_Î<\ 2\ 1g\8bÚÄ7[j\ 3Ü\93Z\87È·\98\916JèQ\98\1a/\ f%\8d\89\ 5¡i¸\0x¾<Á\1f\88@\9b\87\87Éë°\vÕ{\ f7\9aB;=º¨Q§\92óêM'ʼÒaØ\84\11¦\83GN\17WåÁ²d6²Y\ 3X=°\f\ eäµJVW9OéP²/Î\88}\1cç=º\98ñ\ fo\b·\88\112\1aV¸f9ZI\8dvOákw\18\7f\93|Îãq\8f\86X\ e\19\8a\ fìøgÔ\89\92\91Ñ6   \bfp=øåÆ\81\9f§þÁ9'\ exÑï¹(U±ëQ\12Ö\erkS\15\19g\1fJcVZ\ 5=z¾Ü0®\80éóÝ\19ÃBS`\eÍ*\b\93\96Û}A\90ü\8e\92u\98ùõ\8aÔh=Ü\97ÜÄ\89\fKR¦r,¸X2\ 14(ý³ÉÒ
-\b8\89èWæ\8fÙë¡6p\ eâܬ\84\99\81dó n×\12\8e\13xX<¡\13\8c%C{¶Lõ\98\a\10\15Ê.çÜ'¼Ó\ 2\18®w\88\86çý¹zqz\\ 2\9e¬Ö1\1c:\91K(¥­Pß,7°\v\939vu,\92
-;å\1aýyJ\1f\97×´\98¿ÿ\82_×t÷a\11/Þ,Þÿh:O#\9aóîúA:STa\9d[ð``¤\87`\9a1ûäAàh{\98÷_dÃ<Ù#ð\7f\8aÁÉ#\8f6\ 54³Y@\ 4éªLêÑSb\8f1Y]\{e©³Ú¡\8aM\81â\a\fª\ 3§\7fùÝF¢P\1e_NP¡¯ù0Þ¢Fð\1eÌð·ySx\1dª4a*½1EÃ̬YÎ\ 6\93óhr> Éä\ 2\87G|hyy{uIwÖ|ÃxÆ"\93Vü.\15ö^vr:\98à=m6¢Óiÿ\82\9fÿÿûN;'\82ª\8f§ãh:\99a\93\82ÍÁ9»º\8e\8f~;ú\a\87À\98\8bendstream
-endobj
-1526 0 obj<</Type/Page/Parent 1479 0 R/Contents 1527 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1527 0 obj<</Filter/FlateDecode/Length 728       >>stream
-x\ 1\9dTMoÛ0\f½çW\109¹@ãØùpÜ\ 2;´è\8a\1d\96¶C\ì\12 Pd9V+\8b\99$7Í¿\1f%7]»¤;,\89\ 3C"\1fÉÇGþê¥\90Ð7\85Ù\bÆ\19ð¦\97Ä   ½åñ\18\8cÞGô\18\ 1Uï²è\r¯'\90¦PT\90Æ\93ñ\b²|\1a\1c\8a\12È-I àÑ÷ù·ÛE±8\aiÁ:æ$\a¦K¨\99)Á!4LjGO|R<ö\12\18¤Y\9cdSB\88.\r²\923ëΡµÂÂýÕ]ðäL\83FGIXTÏ\ 24kè\96q\83ÖÒa\83N\80\15ëFhg\ 3ê Kn0\9aÅ9%IÐ\17Ê       £)\17ro\ 4Ó\16°
-8\1dhë$j\90\9a«¶\14öÜgv\01\14\8e\ fk´Î¾«ìô ¬Ó\90²büÉ\86\0\ f\11\ 4]áA½W7\1dI\fÖ\88\1a%\17°j\1dtîÂZ*I2õ\17Ð'5Î\99Þ\81\95\8e¸Ù2í<×Ä\983\92; P \10\9fÚ\r\11GÍØ\e°g\94%¬öÄ\1f\f«*Éc(j\ 1}Oü¾\8aq\1c\88Ý÷\ 4M)L\1f\90\r\9bO\14¯\8d`\ ej¡6ôgD\87cw$\80\17\7fíö¨o½=\82\13Ú1¼NàÌë\8e\143\9aÄ\13ßT\9fÎGGø\ 2[IÍUMh\14¬¼\9aÀ¿û´ÿ\88×\83d\1eâ\ 1ÍCwõ?ð\10>ËH(ÙHR\171ßE\fz§¨Ë\93Oâz:KQ±V9bêß\15\1e\94èëy-±+7\ 4ý$R\f[Ï<ô½W\9f°*al Þ\93ÿ6\12®ÆÒú±#5ìÂõ½\96/`wÖ\89ÆKI6\e\88\85˵ \aëV;ß\83eÔÕé\87ùU\16U«y\98\94ò]'9ÐO£iè`\a\1cµ3¨T\17\81n³Do\93\16\93Yõ±®è\14\8eYkk·Òñú\98\87\17üG\9fw\89\86X\9d\88\8fù\86Q\e^çû¥\97ÑBÌÇ0\1e\9dÅù\94ôXF\8b\8bùå\ 5Ü\19|\14\90·\9e$Ú4¨}PZo\9dË`\96\ 4ûQ\9cÅd\ 6\85§\e\1a¤æ¸\9aV\1cj\ 1Ë(]\9eÀÆ C\8e\8a\8e\80\9fR\97¸µ´9y-µ°\1ew2\9bÄ3Z¼´qË(ÍüÑ×¢÷£÷\eªóȬendstream
-endobj
-1528 0 obj<</Type/Page/Parent 1479 0 R/Contents 1529 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
-1529 0 obj<</Filter/FlateDecode/Length 1794      >>stream
+\82ª[`~*q\88\8a\eä3ÖMüÙÝL\v\1f\17+C\ 1\ 3\8c¯_\8c¤î"\17(-\9d¼\16¢2¹ó\12®Ì\1ay\8cÓÐK®ú©ýÌ/ð TBw0\1d\1dÆ@\r}ÄÐ̤\9f.\ f,\9e`9J\13\19Ó`M\ fh1Í¢éñ\9d\90\9a\0õUXE¡\1aoÕ.®kR#ï\9dPÚ¿%_H#\9c²X½s-»fù\v#?NC\88;\a\94«1\1aj )è,àNkÌ`\1enHº5Nj%xÚàìÉv\ 3TbEù\1aºKb×EìaB"e0û_°Æ²5F¢¶8\8f\8b\86æ\1f©V\ 6ÛC\\1e\0T=t$4\81i\11¿_(¨´¥ã\ 3\ 2\91(_!ÌQä\91\13¸\80ídâ\9c¿~\bE\0%\96½3þ\8f\r)X\92\1fX\ f\813vDl\vÝ\17ÍtÁ\88h^ÜÝ\f\1f\8bôÁôÿ>\bé©ûT\1a>Öú\8fÀåj9[]ßà«\13\eù<~\12ü¹9ûvö\1fí(ñ\84endstream
+endobj
+1519 0 obj<</Type/Page/Parent 1476 0 R/Contents 1520 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1520 0 obj<</Filter/FlateDecode/Length 1414      >>stream
+x\ 1\9dWïOÛH\10ýÎ_1ê\97\ 3©Yì$$)Ò}\0]{BW ×¤B§ã\846ö&Þb僚6iþû¾YÛÁ\18\8aÔ+E
+öîüxóæÍäÛAL\11~b\9a\ ei4¡¤8\88DD£ÙH\8ci<\9bâó\10¿NÑ*¼\18F'ø³÷â|qpüá\1dÅSZ¬`k2\8bi\91\12ìD\11-\92á\18
+úâ\15Ù\15\95\99¢7\9fUaKEgÆØÊ$ê\r\93\85*\95;Z|\85©1Å°À¦\ 6é\98ÀØá\82ï¹ú\9e|~\8fMûb)\12kV\94HCKE\95W)\95\96VÖ%z\99ïH\19_!\912\93%É<\ f±\©òüâzN\ 6þ=YC\92C\80ãx$\86ìبrkÝ=­\15.5\8e\83Y       PB\1aÍ    A\1c£ß\99R~ßgúJÄÚ\9fÖÙFô®Mv\fÐá\93\9a\7f½Ûô;I\81\1cEJÿ*±\12k\91ýGB\88ç \ 5Èûß\1e\8eo®?ÿõççë/\9fö¾\1e\1f½æu\9b\9aÌ&\9d:NêÔÚ\ 4¤I©Éáiøàà\1e{íIi0Æ\85R}¼<§ÛÃ\8f6\919]J\ f¶Ð¹³[¯Üí\11]|"\99¦Ny\14±>¾tV¦\89GÕÚç5ûzUcï\9drkuºw\ 6÷`Jün(âÉLÄ"\8eÞ¶Æ[\9b\89­ò\94ɶÖ\ f
+äñ\9dãÃ\93\13
+h\ 4\83`I!ý=ißó(½¯\8a\9a©°3\1cÓR\97\1e\89âºh\7f£Û#A7\19<pÿôhQ(SÂ,\152\ 5¹m8R'\ f\90úÎ^Ã\82Ô\83r;Ê,@Ûj4\88S\89B^d+·ç>{óÌuxÄ\7fcµßá%Z\82\v\8f^SìrÐ\81´2©òÚÉe®hY\95\88\88\19\18÷^¡^ÑVQjéêzA÷ÆnC
\8a\1cxÐP¾å× K\9a=q9\8eG-é\1eAÜvSjkÀ$\ e½\11\8c\86k\9c­Ý\1aâ¶_;[mê¢\83
+\8d\18D\17+ÚÙ\8aõ\86\ 3ï!þh\85%æe\13\ 4\94[9*d\92i\ 3\90\82,\85b(\ 4\8aXrkïµYS®ïû®`\85\91Í-^\a\1e ä½û·p\12H²Cº\1cj\b\a\r\8a¡ \8d³¨P\ 1ÎÃ\91ÏZbË\a«S\956\88·"\1f\10\1f5r5\14£\17õ½îN\9aïLò«\12\ fþ¢±YM»W\9f¨<\92i\15¾ÕeÎZ\1aËL$V\8b ô\1a\8c«\9e5\ 2\9c5\1a^tù\9b§\16ù\0K®C\v\94Y(Ê\\16\ 6\ 5\88zº¾úø\ f\13\17¾¨~\ f\1dBûÔ>3\b\ 1ÃÝãBM:n\e¯\8b*/¥Q¶ò\98Ll\85\ 3F\19B0ÍH!¯ÖÜo\ 1|\1e\86\8d\88.~:h~\82Û+³¦!sçâã\98yÚA!\0\1eOµ¨µJ\8el:"ýZ×r\1f©\9c\ 1gtX\ 1êÑ
+ßPj\88UOª{è5\91v1én\1d\83G:\8e÷t¼¹¸\9a?Ï¢Ù)¾ \14´4\9f\81Þ6IÔÅ\fÏx\80Òå\9cn´IAGºZм.2¿ÆÐA\1e\99^g( \94Ò\16(\15w
+½g\19í\ 5ßÒ«ml§Öà\98r\10Qf_`]i±d0w·\18z$Ãûr·Qô ó
+\e\18ã\aaà yßa¹\86\82ñ \b\1a?p\ f:a>÷\9c3\1då\83Ô9k° µ>e"¿\14\91I\89\84ø\ 6UF\7f\83ßÛC®V\b\1e\8d\908\87\e\9aAæÞ¾h\b­ñ,\fÀå*cX½Ø`.M!\8d\#a\80·\91%\964´|\8dp\9bËíaÛä\85¼ÇÛLB²\82Dm\9c6\ 1À}fÜþ¡ù{éÃ\82ó\88zÉuªaoch¼=Ép\88i[gØØiÛî\f#±­##\808°NB\93á7>¡\ 4±É¤®©¡\\99u\99ÕK!\1fn\vét\18\84À\ 2;D=ö\19\fVw\94\90?òé^\ 6\ 3¼¨<%N\ 1%À')ƪÞúkÊqfvá\13ÎBøá\0"îxKÂߦ\1f ÇÎ\1dü\a®ù\8dÄ0®\87Fßw|\ 22î}      â\rée$º1y\f*\ 4z{¨M\92Wi\8b÷#\12Ú\80Î\ 5Ò±\ 6Ë\rç{üaÖì\8bñ\ 4ß;f#\9aL"1cÅ\99\9f]\9e\9fÑ'g¿\82\9dô\87M°1aÏæË|sÐ^\18L#ìÒé¯~ã\18OÇb:\99áû\ 6îÆc6ù~qð÷Á\ f3ä#Wendstream
+endobj
+1521 0 obj<</Type/Page/Parent 1476 0 R/Contents 1522 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1522 0 obj<</Filter/FlateDecode/Length 1901      >>stream
+x\ 1\9dXïSÜF\12ýÎ_Ñç/!U X~ó!\1f ¶sT\ 5Ì\1d{\17§â\94k$\8dvÇH\9a½\99\11\9býïï½\96´\80Bª®®l0¬fº_¿î~Ýò\7fvfr\88?39?\92ã3)\9a\9dÃìP\8eO/³\139¹8ÇÏGø
+Vª\9dëùÎÁÇ\13\99Íd^áÊÙŹÌKÁñÃC\99\17»¿ÜÜ=HaZ\89Éã|ZÚhe\ 6\93K\13L\91l\90Ö46\8a\89\91\85M°»p\11\8fl\99É\95\14µ³mÂS\93dmÚ\84\83^j¿\10ßâ\a\\92Ö¦µ\ f\8fßÏ¿í\1cÊþì8;\ 2\84]:5ñQO(\8a\13üU>\88\91\1a\1eÄWbêz@ \ e\96æɾð¯\97ïlúÙ/<B\80\ 1\1f\10\7fM\9b\95Íd¾tqâ7ÂD\94<xS\16\ 6NR0Uå
+1m)\8b`Mª7bÿXÙÒ%\9cC °¼
+¾°1ºv\91É\83káãù>½\ 1Rôu\97\1cÎ2®Ö'ÉíÄq\17m)¦\b\91\12@^4`\8fä:|\ 3f\ 6íZ\90Ð\98­9ß\ 2Sn   ãÉ\95°òä\8c(g_}øª¿Å\84ã\ 5ØÚL¼\16¾­Ü¢C²ä]Ý,}Lñ\9dT®FlÊhÓ\81\ 3À\87]dLùî3\1a\ 1Cù5y´\f\19Àè3\e\1c\1c\9d¡Ø\90GÅaêè\95\7f5\v¤]XyT\12î \94\ 2Ä\91±5>ÑÄÆM[,\83o]ì\83Ì7êøçÛëïb&ú\8f(°ç\83S6QX.¼2ºvi©\80ßß^Ë\97ÝÒ7\ 6\114È1ªª÷\1e¾|¯yVÌK[¯H\82¥C\16-(h\93«6âÒwQ`%\93ë)\9d¥­\ë43\9a²µC\81²ºA\1e\92D\fpj\84µR[}²\b¾[erç\13û\v]B\97\93%ÚìîÓüï7w?MÒ\bx¥Wó²¦\rTK°\95\rÌ+\9eá\1eÊîöA~qm   \9eån.ï\95\0ö\0X7$\ 1\97L\7fM\13Ê{HZÑ\ 5\97¦qÚöÉ!A,N8D¹l\99U·à­ïí\81^TY
+¾®\87þ}\99ë\97ÅL\8e¦õó¯¾L4%Ïl\16\1e¡\15ìEåÕUòáß\1fþùë¨6ó\1fï\ fnîÙ\10É\17¾\86z\99âQéË­E\ f>\17=p¢ñ\88~¨:ì5ç\0EwÕnFã\83Ò Kµ\8dÿÊ^ß\81\83j)r²àÚ\ eÞz§\84
+f\ 6ÝÉ\rõ`P\ f
+jè{\ 1\8d¤\0\14_c6rÇÈUxaö±õk1¹ïP\ 2)\93\eÔ\1a\81ÃÖ\1eJ½@ñ\r\8d=ñ«ÂÉx\9eÅ»¯¦AH^\86Q\19×\8b®VVYB\1d(\84þ±[\89IÉ6+\b\16\83Ô0\90Æú+a±®'\8eyÆB\ 3,@2\11ì\15\15+\8aMAU\15\ fqZ\17sÿ\9cFy0Mn´Ê_±þ\8dâeJHÛÚµQb·Zù\90ä\aÙX¨\1cè\82w\89M\9e± Tõä·EísÈÕï¬|öñÿà\17\86FÚÞ"m\8a¢\9fc?\88Éà8+\15ÈÆwá5\92   Ooã:øx¶\1dÝû£â¾ÿD\91Ð\86 \91çñ¾«¥\9e#/\7fE\bÆ7s¦R9pö'´+\130JºÚ\ 4t\1fK¦£\98©(N0ûu+èB$\80%\82Ѹ²\ 5ôSÕ\9e ú¦Ð´·M®B\85ZÐvÄ´Hðó·>\80K\99a-á~²\7f\8f\95£ì4\83\84i¤¼Ñôë Tη\16ò>\83\94\1fµô¬}\ 3È£ÃÞÐØ\15¯©\82§£óì\8c\ 3ìJ°v \87|Óèø¦7Ì-Õ0\86\ 2/ym\e
+nìj\94~\15|\83á\88\0ê\9a\a^C{      J5yBÚ¨Ð\ 3®iù}P0Øi®o>=\8c--É<¢¯\99\19NeCLÚ:ÀikÖ1`°Ö9ɾì²\151¾À\90Uk³Si KØg¸°E¬p¾\9a ê­0~\f\ 3\e°_`X\80      MZiñ\11,ôCÀ\87\12%\ 4Ï+(4g&v\ 3.mhÁ¶Ç\81«[{\ 3R:\1e"\9ex\ e]\7f­oqØ\19  Â\bÓ\ 2Ââ\93;\15ËQ\1a\19i\83M\ 6\rï\92ArFÓý\ 5à*]Á\a\1cÈTHD±ì¦\8b\89\v\82\ e{Ì.;ÍÄ\1c^¦a\90\95w\95ï\16KpØ¥wBH¨å\95\0¸¾ö\8c\8fù\eV_$\r\fV¦ÀJ
+É&~J6I4\13:Æè/ÿØ\ 6µ\9dGÚÙÃècP7÷\9fÇ:D¢ø\89.\10CíØ\96Ô\94=,½:\96æ\94       âÙF:r^jrß¼\8edF`O\98\8cK³ZÙ6î &4ͼ\ 1\1f\94ñ\89Îqôî$^\95¢×èx¼'\89åÌ\11\88\12X£6ñ\97\96Fr·¤ö!ò\11\19\19£\84\1eéÔx{(µ\98\0\v\v\80óå\ 5~%\ 2mÎ7\11\97tòFìBýPá\1dGÉÛºèQ\17\96yM~\12eÕµ:l\86E\8d·Çª|µÃú\95\1dÖ\0ÄÊw\9f!ÛJÞ¨d}\95sJkɾ9#¶q\9cîÉå\ 5¿¸!Ü"FLâ\97\9bã¶hw}sx\1d\7f¿8\8evîæ'{r\84\97Æ=ù\fÅG©á\97ãI\94TÎAFÇ$\80¢¹¾Sª_6\ e\9aò¥\7f\1cÀ\ fú½2\8d«7{\92ëz#q黺dö¡4~\81×\ 5ê\11Öß\89_âRL\9fï\ f\b\8bí\16|Ùñ]Ю·\ 5\81×:\94lÄ̧O,ÑýF\ 2÷\r\9b8·º$\95®Â^\8d½\17@Uéÿ4YÆ7Xp\92ÉOä\8fï]{¨\rÜÓ\95Z_dK\ fÉæ \1e×\12Æ    <\14\ 4±ð]ndj\8f<\80@-»\8a¹Ï¹ÓöKÌ$`xÞÞë\17§\83\8f\17â0;Ãûÿű\9cáÿ\ 6\1e®n¯¯ä>øo\18\13\18¨EÇ\9d^WM\1aÝ\1f\8fï\9f\1f^òüÿ?wG½Ru99?ÉÎÏ.0ÑasvJW\1fæ;ÿØù/.¨\86Æendstream
+endobj
+1523 0 obj<</Type/Page/Parent 1476 0 R/Contents 1524 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1524 0 obj<</Filter/FlateDecode/Length 867       >>stream
+x\ 1\9dUmOÛ0\10þÞ_qãS\91h\9a¤!)Hû\0\ehH@Ù\1a4MBBnâ4\1e\8eÝÙ\ e¥ÿ~wN\ve\94MZÛ¤ií{î\9eç^ü«\17A\88ï\b²\18F)\14M/\fBH³4\88!\19\1cãe8T~!>\f\83ìÏ\85Ó¼7<O \8a ¯\10+\1dg\90\97\808a\byÑÏk\ e\96UÜ:0­ä +`R\82ÓPi)õ\12\84\ 3W\v\v\ 3¸\9d\9eÁäúò\aÞÎàæÛ$\9f|\9a\~ØÏ\7f¢\83#\88\10\97\1c\fFI\90 \8b~\1c¤\ 1\86Ã7nµl\9dÐ
+&¦ä¦3y\89i\10gAJ&[\e1\8ekîN/&SP\88a)¢\8b\e`ei¸µø»`
+\1c{à°\90¬àÐZ¡æÀ@µÍ\8c\e¢ÑpWëÒ\ 6@\14µ\92\11\1c\ 5\80\91F#Ô\11Ý\12ÔÂèGQòWNïÝjÁA¨J\9b\86ùð\99áÇd\1c\ 5É(\ 6\8a{\8cß\bñýâzz\8cØ\1cf$¥ÓZzeÈK\1a\84é!mº¼ú2\99æ¸\ få´\ e\11\v\84\9a\99\92è5L(\87W°   ïÙðÔhV\16̺cä\89\1cn?£\12hI\81+\8d\99#\81\1fùZ)V\18m-þÙh\87Éåó\86+g=êàMà'Òq£0\164o8S\96¤#Å;Ð.kB\15²-¹ÝÍ}È]1¬µuv\8bÙÁ\eZ\a>dLÖ\83õ\ e^Ô}Ã÷3\89\89"1\98k\8d4k-0ųÖAgN\15 \9c\ f w8^1µ\ 2+\1c*·d\8a²Cä\9c\11\85\ 3t\ 5\87v\81îPÒÍ\ 6ö¨E  ³\8dðo$q\86U\95(ºêÚ#Á6,ÖEµÉ\89¦\8aß\83\ 5\aµ&^(ñÜpæ ær\817Ã;\1c»Â\ 2x¢eª$\8fú\9cÛ\1d8>\1dÃó\10\8eÖ­\17¯[ï%\7f\98Uo\b\1fa)0¹²ñ\89\82\19U\13Ð3\85½= \ 6±oÅ{mÿ\81\aÿºës)\1a\81Õ\85Êw\1e}½£×»ýwüR³\96¼b­t¨Ôß\19¾Ö\ 6)\12\9f\8e®wú\8e§\0\96¤<ì\91Õ\1ebUÜÐxàþzn      ?D¨í°\1aV~éV\89'°+ëxC¥$\9a\85äÔb~qNSǺÙ\8arp×ïxnÍ\9aªU\85\1f%\ 5\8eYÊ:\96\ 3~\14\8d\18\893ªÐÊ\19\9c¼\9d»M\ 6ºéÝ\7fî´\0·U¯yõ\ f`×neíR¸¢ÞeA\ 5ÿÚf+Pï«+â]¶¾Õ\86çãõÁ\12¥x\1a\8dG\90$Yp\18ûù?=¹:=\81\e£\7frê3]´$\92\9f£ä\14çbg2ÈB¬ß\7f\9d\17I\96\ 4Y:Æ\ 3\ 6·F)!\9c彯½ß\89¿/9endstream
+endobj
+1525 0 obj<</Type/Page/Parent 1476 0 R/Contents 1526 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
+1526 0 obj<</Filter/FlateDecode/Length 1794      >>stream
 x\ 1\8dWÛnÛ8\10}ÏW\fúÒ\14p\14ßj§\ f\8bE/\el\81Æi\11\17Ù\ 5úBK\94ŵD*$\15W\7f¿gHɱU/°(\8a\18\129\973gÎ\8c\9e.&4Æ¿ -§4[PZ]\8c\931ͧãdAó\9b%~OñßJÊ/\9eh²L¦ñ8ÿ\98$7xÂGpëúódA\9f\f}»ø°¾¸¾}GÓ1­s\1c^,oh\9d\11¬\8eñ$½üX\88ÚKK³\84¾;üU:7¶\12^\19M\99ðb#\9c|³þ'Ø\98\8d«Ù\1cþÖÙå,\99$ôY{k²&å+ñä\9c&\93îät\89Àqò¾Ìh¯tfö\8eÒRIí\1d9©3ªK¡4yùÓS-\9cÛ\e\9b92Ï\88Ä\17\12W¬LèAT\eA©Ð\94\162Ýñ\e'\8f\8eoZJm[{¥·\1cÀ\98®&³\18 NV$à&5U-,\ eðå\8a¼    æ\vá
 rÞX\99!ñð¨Ñê'5\8cD\9f}ÒÙ\9c.\929§²\92{¼=\9b\8cÔ!\ eX{ÉåÇ¥3W©(K<ý"t\85,8 Õ\9aØ»t?Þ\9c¦;B$ÎK\91\rR1ùY¬\12Z\ 3'\8d\98\9c? »WeIF\97mÄø\X\1c\83\9592e0\ 6¥\18¸>$3¢F\97Ò9FJYÜß*çmK
 OöRìd6\ 4\vÁ\9d\94
@@ -2805,8 +2791,8 @@ cFK\ 5G<
 ½í*\9cÉ\4¥\ f\83\19\9c¬T$#\89\ 6Ñ¡­º¹\89\86\a\90\ 40OTè0Ë®o\17\87é\12Ä\8b¯\1e\ f\11¬c@\9bU\8d\99\10\97à5~9S6a3G\83ö wEÄ\13\a<QVü:ì\1fÃ\98\ e\ev\80>\96\83·\8e\fìfWGØ\1c\96;سòJêÐÝg²Â~\1e\aêÀY?^Ùèj\9dx,J¼ád\12=T\ 6\1dŬáh³\98Ì\90Ì÷\bÈÒ\9dJ­q&\a\1e(\ 1F5ÈÒS"Ò8è¯üY¨MH\82ç\ 5´æYÁ\97ÒiÙd2ôÝ\15OÑn\85\a\96è}àë0FB×Þ=\1crG8açjj\9eÐ\947hèÌT¬\87èÑ0\9eC7\9aÔ\94\18\98¢ì\ 4\ 2á¶Ô-X\ 3(ÐþaE\8cV¤~VÖh^=\12ºç\95\96£¹çuý(\8c¿¾Ò\9fX=ã\88ZݯÉu\ 1\84\ 5Ð&É\1c\1d¡#;Ì|º\7f U7f;U\9f\81í¡îp\88\99êT
        \88\83\18\1f@\10ò\14\83\10\98amä¯\95>\87E2^¼å\ f\9f\9e\1cè´\83\993\ 6\9a\1a\8aÌ+×\91\9dë[|\9b\86o«é,YÌæt5Ã_|Ofÿû\v\9c'ËÅ\r¾aqi²äðþX_|»ø\17%\ 1\14 endstream
 endobj
-1530 0 obj<</Type/Page/Parent 1479 0 R/Contents 1531 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1531 0 obj<</Filter/FlateDecode/Length 1464      >>stream
+1527 0 obj<</Type/Page/Parent 1476 0 R/Contents 1528 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1528 0 obj<</Filter/FlateDecode/Length 1464      >>stream
 x\ 1\9dW]Sã6\14}çWÜ·ÍÎ\10\93/\92Ð7\16BËLùX\9cÝíN·\ f\8a-'ZdË\95d ÿ¾çÊv\ 2\ 6:\9d\ e\96t?Ï9Wùû`H\ 3ü\fi6¢ñ\94\92ü`\10\rh<\eG#\9aÌgø<Â\9f\95\94\85\85ÑdðöÂp<\8e¦Ý\13\9f\96\aG\17\13\1a\ ei\99Ñ\b\eÆ\13\9aÎ'Ñp|LË\94ài0 eÒû¦\8aÔ<::\99Ó\9fNþõqùó`@ýá4\1aLyãnýJ¾»ôÇ-ýfò°Þ\1fF\93ñ\88ú£Y4Ç\7f\9c_n\10¿ÑÚ<ªbM\ fÒ:e
 G&£«\98ZçY¥õ\96\U\96ÆzJM.TAN&\95U~K¥5Þ$F»\88Cxå¡5r½¤qtüôn\98X\9fD\ 3^î¿\99á\88+rkM&\1dÇ(ô»\96°ó\89bi\91ÍÑiú \8aD¦Íó»gP¤®í£\8b\9f×e»6^Ò/lmßÅÞ©Ö\84\9aXYxÀBKád(¤J¬q&ó\14_}::»¼\88
 \9bÜ®¤¢ò\e¼P\89ðH\8d\1e\94 ¼àýmÀ\f:´ël#´\96ÅZ\1eÝIW¢S\92r\99lD¡\N©t\89U+$»\91VF´(ÄJs[\13ÄbÉË'O\1d\91\8e
@@ -2815,8 +2801,8 @@ G&
 mÂ\9a6k\18eW\99/wdØ]\7f`\95É[[`|\85Ã?zíq/5È×\9eGUëþC\ fÑ\96·Hl\82$\ 2\f8vH@)om@\97w\ 4\89áÇ(P\81XµKZ©5\ 6±h5\rM\9b\ 5\19j\9bv¼W¡q\r;\97¯BIR:3y\8eT_\8a\ f\8fÎ\19.\90Íem¿»òõ`\ 6$\ 5µ\ fNåJó°\ fb_[:n®1½ºô\1dû=2¶»o[Ö\11½\8c\ 4ç­Y[\91»ÀO¾\ 5züÕ\1a\87¹F¸R®¶¾;¢\9eõ[ê\14\14ªç"¿NW´\12    \ 6\\1a\0stÑ\86úì¾°K¸\e\f\ fÒ`M4\97\92~#0¬ |K\06\95gö{\91à²ÅJ¡M" 5ù*å
 Õ\ 3?,°\9e|p{l¾R\12\ 5\v+\89ëWVÏ}Ú\0\9d²067\15¯\142ã-}\ 6m}¡ny;oÊ?\9câ;Ã|LÓÙI4\9eáâ\9föâÓ«O§|ñüÉó÷Ü$U\8eI\1d.\81\9c-îùõ\91þlpÂûÿãä\9aÌ&Ñl:Ç\97\17\9c\19ÎÙÔbyðùà\1fí\92\12ïendstream
 endobj
-1532 0 obj<</Type/Page/Parent 1479 0 R/Contents 1533 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1533 0 obj<</Filter/FlateDecode/Length 1421      >>stream
+1529 0 obj<</Type/Page/Parent 1476 0 R/Contents 1530 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1530 0 obj<</Filter/FlateDecode/Length 1421      >>stream
 x\ 1\85V]oÛF\10|÷¯X\14\ 5¢\0\16-Z²d\17E\81¤n\80\0\8dã6
 Ò\a¿\9cÈ\93y1u§Ü\1d­ðßwv\8f¤%ÅI`ØHÀÛÝÙÙÙ\8f/'9Mð\93Óâ\9c¦s*6'\93lBÓé\14\7fg\97\vü=ǯ״\96\ fç³Y6\7fîC>¿ÊfÇ\1f^/OÎÞ\P\9eÓr\8d óË\ 5-KB\80É\84\96Å(lV[\15®|¹ü\8c\87³îá\88*\15(V\9a
 µU+S\9bØRtTTÊÞk\12\13çË@ÎÒ'cK·\vt³¤ ý£ö\81îF±2ü±niçüC ]¥-ûã0\13\1açÓì\1c8F^\7fit\88\84ÇAÛÈ!8(\Ýz³Q¾¥k·QÆÒ\9fÎFïêZ{2kj]C
@@ -2826,8 +2812,8 @@ rt
 \95àzÁÊÆ\ 6Új)8ô\81Ì\ 3\ 6°ÇöÚè\1a\9bspµ6µ¦\ 4²ß2£3\1d\8b3Asö]\r¡\bÏZ}g£gô\89§ÒÐ\fàзÒÒPã\11ÄÒ\ 4µªuyÊ\8b\84\13\94\ 5\9dæ$Ú\13ùý\88ý\8b\8c\96×ÒùO\aÅ\1eíi&\15(ºª\ 3ú\8eÝ&Nyó¦høF¿ÀÉ/8%\96Þ<\1a\8c\9dë\8ehìsúÈj\83\11úh¥\8a\a\rêy0Ø\17¼\ e¿4\ 6\1e\95m\8f²Re      \rÉ\b+\9c]\9bûÆKU\ 1\11|zÍÒ\87×n/ð\ 606D$.\16©ýJ·\1fïïëW·?be\9e\11?I%\83jq\89$ÕN\92\1a§Ù<Ë3zËwNÙ\14\f4½íW\9dP(ç\v£-]!C\98çHáÍ
 K®â\95àX\95<®9\18\95\0Á­\f\9ayK\15\10q«¢p\r\9eÈ\8fX\8b^õ´±ª\93\búYÕkíntq÷\92XÉÈ@Î9Ü\ eÀ\87éÆó\9c{ØkÅí¦jþG+÷¥Bñ\82\ 1Ñ\1eìZì»{ôá\11\ 2É\ 4\15+ô6bp£Ö|\9c*\99\9a\94$\ 4\84v\1ebt%ê¥adí%ÊÇk_\92½þT¾ÀY\ 5Ú\1a\ fR9ÜuÇ¢Ñá\94¶µæn?\98`k\¦i\9b\ 4X¦yyöæ²»\fó9nøË)Íç\934 >¼z÷ú\15.\÷\19Qpµ¦J\8a²8uÜ4É`¼\98\qÁ\9f\19h³Å,[Ì/ÓÁ\99_±Ù_Ë\93\7f\a.!×,endstream
 endobj
-1534 0 obj<</Type/Page/Parent 1479 0 R/Contents 1535 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 567 0 R>>endobj
-1535 0 obj<</Filter/FlateDecode/Length 2094      >>stream
+1531 0 obj<</Type/Page/Parent 1476 0 R/Contents 1532 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 571 0 R>>endobj
+1532 0 obj<</Filter/FlateDecode/Length 2094      >>stream
 x\ 1\9dXËnÛÈ\12Ýû+
 Þ\8c\fH\94¨·\a¸\vM<\931à$º±ps\17ڴȦÔc\92Ít7­èïçT7)Ór2@\ 6\89\rSý¨×9§\8aúz\15Ó\bÿbZ\8ci2§¤¸\1aE#|rþõùýÕí"\9aÑ|9\8fFTÐ8\9eD·ÍSN\8fWñ,æçÅ8Zbu\12ÏÎO¼:\1dEs\9aOçÑ\14\8bËQ4n\1ex­óXP<\81ÉÎâl\12Å4Ã\16>\18ßÎàAxò6\17q´ Ù|\81ûØ£Y4i\9ex\95/\9aM§X\9b.\17ø{\8c\1f#)»\8aáÍ\92¦¸lÎ\97.c\98\bOþÒÎ3.\1dßb×Ëj÷\19«\93åëÕÎ3Vç#¸Û9\e\8fá >äüMFKÎ\10?´ÎNØË\v_\7fÛ\\rÿ\98R\1cÓ&ãÂÌ\97\vÚ¤¾.#Ú$½O\95,\1fîVk\1aÐÁ¹ê×áðx<F\1a\9f橨"möÃ\9bÍ_¸#iî\18,¢%×z\93ö¶ãù\82ÂjkÁ/\ ePÚ1oPë\\94ÒÑ\9d22qÚ\9cèQ\9agi^\8c©Êï\88°Ë&¢\92\8baÚnÿ\19Ë\83ñ2\8aoi0f\8cÀöGí$¹\83pôé\97ÏRåù\89Öõ.Wö Ê=)KGm\9eøO]\92 }­Rl×äs\91iC\8f'ëdA«´P¥²Î\bø\8fC\a\95\1cè ,ΰë¥LÙÉ\11\9dc62\97ÂJJ\ 5ìë\8c¤00më¢\90¦OãÑh\1c5'ZO7GM"M\95\14¨¥(v\ 2@³º6\89lM\16âD\95ÑÏÞÉ\9d¤\83Ì«¬ÎI\18Éס²çÈ7\a\19.\19¬ïÞ\r8 Á\9f\9f¾l>Q!Téð#SÚ\9dè~_\8aDiz§ëJ\8aÚ{õïÊÌ\ 6?n¨P{d      A\90M\8cª\9c¥Ìè\82îï~_=ü?\94\ 2ÞÒ\1e\19\81\aÈu!J±\97T[\89Ì\8a2¥½\81/¤pA\8d,\8b\8bÌúÄøxèNs,p½tFç9\10\95è2Sû:8ðÝXZPvP{K1°\92!u\ 1; û\9c±3\89æÑ8¢{¾=­\13\8e\89}y!\12ê=f\1eõ6F´\85ËO}ÀC\96gW\18\ײLÌ©rT  k\81¸ÔÒ\7fè$í5Gé\ 3úÅ6\14\82xz\92öl±\ 3\rÊìµÉ\1ee*\97}\9f-\12I¢ëÒ]$H\95\0\94ÀgÐúí¥(pðáÃ\10Ejý`\f\1f¤í¿|\90\1cD\89j8UðÇ\\8eÆ
 e¹Ø[\1c\0øvRúTt\0oA\fÔ\13ñ8à 8Ý\8dÅ[L·½Ùöæ{\11E\ 4ø\0\16\f\r+!\ e @ª¬H\9f\ 5Àº\a\ 1\80\14w\0aE\ 5\ 2\b\0\83éi\95cn(w \9c9Q.ÌÞ3¡ãYY\17;\86\16X\180¶íù´½xë\ eº¶\bÕno<f.i\94)c\1d\8b\85\17\12\91ç\94kýTW\96\8a\1a\vàa%\r'\1dWZùµ\96¥SØu\8aè½z\ 6\14ü1¤¥\89ÏGðM¡D\12\9aà\8eú¢\80íå¸\94Ò\0ñ\ïA¨mO\97è<\88[PÉ5ÎaÎZæ\1a\90RB\=í\9a\9a{\14\16\bÄ\ 1   KæéÂVjà!áÆÊ@\15¤ÙÞôC\9a9ÓmX¢LPsí\.aäÉ{\80LË}È\7fD_X`q¢\942å´2\8f\ 1\85T~\vÂ8è\94ã\¿ÀnË»Q\17\ f\1d¨¥ØA6íw©;á\1e
@@ -2841,8 +2827,8 @@ e
 2MV\97\8d\18Æø
 d´Äw\vó8¼¹?®>ü¶¢µÑ\7fa¶ÄëV\87+l}Ð\1e\18,F·ÿðÆ4]L£Å|\19¾.\18\8føèï\9b«ÿ^ý\rýo\8dNendstream
 endobj
-1536 0 obj<</Type/Page/Parent 1479 0 R/Contents 1537 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 574 0 R>>endobj
-1537 0 obj<</Filter/FlateDecode/Length 1818      >>stream
+1533 0 obj<</Type/Page/Parent 1476 0 R/Contents 1534 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 578 0 R>>endobj
+1534 0 obj<</Filter/FlateDecode/Length 1818      >>stream
 x\ 1\85WÛrÛ6\10}÷WìL3cyƦu³d÷©\8e\95\8bÛÄI-yÚÎè\ 5$! 1I°\0hE\7fß³\0)S\8c\9dÆ\91lJÀîÙÅÙ³\8b\7f\8f\ 6ÔÇÏ\80¦C\1aM(É\8fúQ\1f\9fìßî?\1c\8d\86\83hJ\93Á$\1aSNãñ\14¿ÃSFs^O\93þ(\1aâ»)/   \ fÍW\17W#|6¾\9c\10/#iu4¸ºÂúÑ\15ïÍi8½Ä\92ðÔl\eÂçewÛÛÅÑùû+\1a\8c\ 2èÉ%þH=Ö>-\92Þ(\9a\88æUYjãdJ\9ff×_i.Í\934ödñ\r\9bÇ4\18\84ÍgÃ)6÷\16\e\19\96Y\91§1%:\95¤
  \1dF#ZöD\91R&\9c\13Ú\b\94\ 5¥òIfº\84\ 3þÚI˾*«\8a59\98ûRÊÂ{æp­÷Î\v\19@\9fÎ\ 6\9c)8N2%\vG\99\8a\8d0JÚ\88\18
 PÈ\0Ânt\95¥pH"Î$9M[m\1ei«Ü\86\89(å±¥\9922qÚìê8=¤Úö|öGÔñúQo\ 1Þ\9cRZy\9b\99H\1eI¯|\10\8cßjZ   |\8d8pP\ 2¯XW\1c¤f$\89ÎK\ 5\18m¬w\15\0Ý\ 2|\80\h\87Å\1dÇ\e\95\95ú\1eÑí\8avºòæáP\15À[Èô\94ÊL
  É2P\8dÓ³ª\8a\84Ç\ 2\1e\97\12mxüÊvµ_&¢åBÕ«\8eÓv\15çâ\91sé8ÓVÕÓ](v>÷\80ï\85\82âô3¸S\8a+W'\9aõÙ§\9a3Úñù\8a\89»Û9ó\1aZÃÑ\16ÒùÁ\12dñB©\9aØ@\18\81`\ 1È'\ 4\ 1\184JS%\ e³ÙÏç¨\8b\88nt±RëÊp\96B@~reS\8cÒ\8f`\87\938\ f`<Q<\8fAImÃ\93-ìjT\fõÚ\14Ï"L\90\98¯¼:aò÷½\86c; v\18a8\87P\8fý\8c¾\17\8azR?\85(\18\88s¢Kß\8a:)õ\16£¶ì³(B\eRHð\ 1^Ú[®sÕHs\vºÑÚý\12\ 2»h¦<JÊ\80»ñâ\95Ü7·T\94çÁõù«Ù¸\93ß\1d\8a?\f\9cþ\80ÃÒÆ{¯\1dÁ¡\95\80~\18<}|\11G×ÙÀ¬\7f9ËX̬\ 4§¶ \91sF\81²²+µA]S\89Î\8d\vTÉu\83c3í¶Zß\8b\8e!ÇÇÏ\86XÚR¹â[\ 3\1fh'Ä\ 4³y!ëüu û\12\86\13þ¸%úÇ­¡ëu?Ì©\8e/8B\17Z\97¸aêâ\15\97Ü×#z\8bØüU\vw\18I^wÐÃê\93êÞ\ ec\89¦\1f
 ´ãðÿίfÛeͧÁ\ 4\17ïË\11M&\930lϯ?¿½¦¯Fó\15\80f:©x\90Ø\97ØY³álÚÇ% Ü\8b~z©\1eOÇÑtr\89û8V\ f\a\f÷ÝâèÏ£ÿ\0\9cK\12;endstream
 endobj
-1538 0 obj<</Type/Page/Parent 1479 0 R/Contents 1539 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 589 0 R>>endobj
-1539 0 obj<</Filter/FlateDecode/Length 1226      >>stream
+1535 0 obj<</Type/Page/Parent 1476 0 R/Contents 1536 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 593 0 R>>endobj
+1536 0 obj<</Filter/FlateDecode/Length 1226      >>stream
 x\ 1¥VMoÛ8\10½ûW\f\90\8b\ 3IJ%;\96|èÁýH\1a`7í&ÞÓz± $ÚaK\89\8a(Õñ¿ßG\8aú\88\9b\ 2»I\82\ 4¦\87óf8óÞ\90\8f#\9fføõ)\fh¾¤$\eͼ\19Íý\99\17Ð"
 ñ9À_Éig\fØÚý»»\1eÍ\97Æ\1e\zKÊèrá­ÜBÒýh°Ìh¹òæ\ 3[ãç\aÞ¢ó³\8bÞÏÙ¢\ 5 \83ÎfýüÕ
 ¹¹xÍ¢ókmÑ%¶ô¶Á2£U\84<{[\83\19\99\93´\98vÑc:[4Gº~gküÂÀ\8b:?»èý\9c-\y>ù\9d­ñ»\õ5óí¢÷s¶ðÒÄël¾oêëÏçöð~è\eT»2\9eï7£éÕ\8cV´Ù¡\9bË\b\1fRÛ«\19m\92ñÙ\19My\95LUÁs\99²bª%+R/Qùî|óm4£Ià#\9fMjvêä\81g\8cvBrMÛq¢Jî¹ï\84\ 6\13\1ekQò\94â#¥|ÇjYmÏ\1d\bH\13\19\10\91'²N9\r~NÂÛ\10Ó\ 1ôÏiä\9c§\b³S%i\96Ål\9d$ªÎ«W\87Ò"oÏñJ\f\0TªÜ\17¼Ô*w%y%\94=Ñs\88A\aê<QYÆó\8aª\a\94\"0\89\1d\1dUM\af¾U¤ë¢P¥ÙÀéîêC0\9f\85èÕíÍýöÜ5ð$34ö´-/ö$\17úå¼<ü\18Ìé\15Xé7<\9b\ 4\9647\15Yf4Y\9b®U\ f¬²ùfLä\15þH«\f\87ÈS\91\80UÊ­ÕÎ\1e Sº¢Zó]-%±ª*E\W\_àäß\8d\93Ý´SRª\83È÷íÁ\8c\10@6þIJBò\v[\95\ 2¤¡º ÍY      \8e\18xhÂ\r(D*þÆ\93*\91LkKq\96§T(­E,\8fæ\83xrd#XNÂYóu©\10\84i:p)·ç®.\9dü&Á\ 2Ò5j¢\ewb´¬-E\vèÄ\82Æ\f\ 5\12ýíãú«\19»';Q=þ4L\1eúâ\8f\80>-7\8aø\9f=¯pòâ\90³l;~A§\ 6°\16é@¨E\89Âw¨­¢ÍXp\8c\166fÅ¡\14é/\81a\e\0w\98\83L\87Dçº#9Ãu£!54û\97íè«7è\b$S
 ´ÔQ&Å J\80sl[uRг³¦¤¨Àm\9dż´év\89ö\87o¶íÿÛ¶$\1f\9cºoÐ)ZÆMÄ?]\8d\9a Ó+LøN[v\96ν¥\87ËÌ£\ f\18Öb_Û¢Ü\e6\9bÃ\9c\88±aÝ\ 63¡S\v\15¬d\19¯0´ÈÔ\95ý`B²XZ]é,¶\97\0\14\ 2æ\1fDõÐ\802\97Å\98&\13óíÄ\\1a Òó\90cL#Sk;ìSëN\18\ 1\85ÀÀ:U©ÍØê\ 4\8f\f\8c\8d&S\ 3KZË\ 67qQ'¡\17\99W        \ 4´\r\96!=\8fj\8d\13ß©¿Aàå\ f\11\84¥\19h\93æo\84Ñõn'\9eÞ\b\82»\17\r{#\88¹\1fþ\ fÄ$\88<\7fÕ7\a4\82$\rgR®\13Ìd\8cV'¬\967Ûñ%î\9b\8cå`Ù\1e{1Gµ\ 2\110ÆsUQÌ1Ú
 Î*x>p<#è³:p´ê\82\98\99È\18Û&A<?Úv¶Àöõaï~\\v\r³\10ÄÎÅ^Ôx\ fÈ\94X\81\b%\14Þ\9cõ\85!\8cÇO­Ë©T        \93S\84\8dÙT\8axÚÆjSp\13寽T1\93\7f\9f|m5­y\ 2\ 1VGzg®+Û \93¼ól¦G\9e\94Ç¢BA´>¨2ÕØ{ä6¹Á3ËnÅs"\16J\13\863Ç®ÍúþóæÓõ\97\97\ 2\ 3éûÞ^:ïèv}w{³nN\e9ÉøK¼Ô£9-ð¹\15ï׿¿_Ó×R\99\9b\8e>ª¤6ï        V       e       >i\1d&áÌ<\15ÇÍ\98ùyÈ4µ7\857\ 1\17áÂ\v\97Q£Í 0_}Ú\8cþ\18ý\vHJj\87endstream
 endobj
-1540 0 obj<</Type/Page/Parent 1479 0 R/Contents 1541 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 592 0 R>>endobj
-1541 0 obj<</Filter/FlateDecode/Length 1598      >>stream
+1537 0 obj<</Type/Page/Parent 1476 0 R/Contents 1538 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 596 0 R>>endobj
+1538 0 obj<</Filter/FlateDecode/Length 1598      >>stream
 x\ 1\95WÛnÛ8\10}ÏW\fRìÆ\ 1bùº¶³@\1eÒKÚ.\9aËÖ\ 6\8a\ 5üBK´ÍT"U\92\8a\9b¿ß3¤|\89à\16m\83&¶)Î\1cÎ\9cs8þvÒ£.~z4îÓ`DiqÒMº4ìN\92\11\r'c¼îã¿\95´\f\výÞ$é\1fY@\8c¤[ÿúü><:\1abcA£ËdLáuNÓ\93ý»\82zÝa2Ù/½\9e\9dtnºtI³%\0\8dÆ\9ch\96\85¸]\9a¥-â\7f¯(ÏD    <¹ð2£RXQH/­;\9f=\9et©Ýï\ 1÷,Û>\9cÉ¥Ò\92üZÒÛ;ò\86*'i³\96\9a\16JgJ¯ø3^Í\94\95©7ö\99\9c´Oûx½. îãÍðh)\9cÛ\18\9bÑÒXìU\8eCã·6\9e\1cB\0\96Òä\8aE\92\1a½L\88>\vd°¤|\8d±\11³¨\9c§\85Dbüy\ 6B\86u\86ý!QFí\rñÆÎ\8d\88µi9\99ZéËMü´®Xë\8c\8f\12òó\81\8e§â\88åÚ
 \14\ 1\10ùÜ1\96K|¶ ¥Ê%à~\\86\95ÓPh\91\15x2Ó§ô$òJnËÜ8Bº\16z%ÝE,Ç®@\e\95ç¤%
 \ 2h8¡\958cr\fÚ\8b\tE§©¾\9a\8ab!èVh±\92öÂTW¥4e./²ôÊñ\12¿0vuZÇkt\9e\)Sµ|\ egùôöú¡nì\99£µq^\8364o\81\1f¢Ê½c\80¹I\ 5/ÍÏ\7f\880r\ 3øÄZ,\92\80"\ 1\84ã\bÞî¹7\9d~"Szet$\1f\88¡A·cü;\96û\15\90\9e\99åòì\ 2¼ðÂzò¹Ã\eðïÌè³ý9æç?\ 3ïr ßí?\ eú@0¥áDQ25[ê::Ç'yY½\11Ì\83\85u\1c\7f$\93\v\b\8c>ý  Ê\90õ\8a\ 6\93Ëã\0\ fÛº`"7tí¤°é:TöPÖÇ`\ 5Ò¹j¹Tß\99r¿Ë°\95ÔÒ\8a<\8f\14«\99\14í)\82`AÁ\9aØ\eÌ×c\0j3«\1f\ 3\84yëÏy«RÙÕ\1f\15ZÙ2\8bG°$Í¡ÚHùë45\95\ 6Cçç\81ö\9d\9b\r£a¶\a=6ªA2Â\ fÕO:\12:£÷ÖT¥£"H©\90:\18QçfH=la³m÷Ǽ÷Ú±?Zl\8a\ 2Æ\1f·AÃk[\ 55\ 5Þ× è\0ã\ 5=\9b\8aÜÚTyF\85ÉX}ü\89ü®\1cs}[\82A0öV°\16¬X\11\84á\8dÉ\83\ e3)rÚ(¿¦\17\89\84÷V-*/ÝÖAú£\ 4gÏZ·\82\e.\7f\0;D
@@ -2872,13 +2858,13 @@ VǦq\14
 \82Ã\1eÑð\f£\86\fºõ\eCª`?\15 ^i\94\8e÷\9c\95\85,\16ð¥0\aeÊ¥\15\f\9dG¡8\ fÄt¨Êa6\ 2\ 2µc\8b\egÚMO¡­\9d\9bQí,¸\13Ú[\95Þ±\90^\82na"à¨OqBË\8b\87íhÅ5÷»w;é×C\b\19\84BA¨ÒR§ö¹äQððnªa¤5\8cö8\99ð\98\v¯\98÷Gãz\9cÚ\82\f\8bí^íJGa\82Ýf\ 3\16èv\9c\87¢KBöOJnBÝ~\19û/AÛ:s»?Iz\97û\1a¢¹\90Æn¾Z\v\87\ fB³S¨\ 6Ó¨üîI~«\14\8654\fK0\82\14\85Âð\ 5Ìa\ e\ 3%`ñFc~\ eÈù,ÁnMå)\93V=Õ\hôØXµR\1aÔ=H\ 5óÆÃ.\8a¤Àè\vz`*.¢Ò!L¦T&½P°v0êÓmçnÖÄ\7f\ 1\16À\1fÙÄðx#ë»»7\9fÿ{\98}¼¿#\f\99h´Ýê5ØEûÃý\97Ù}û\8dÉs\9e§\8cnúÊÌ z!³xI/\95\85Ócæ\8d\1cWÎU2ºÌn@9ÝMîû/\178Â~L´\_\96\98\86&¶ä\83éóLÔ\0?oE¾ÿUó°\15'\8ez
 \8akÛV·æçõè\1fk\16\12\98ÁP¸ítÅ^êE=9rm\e_[\12úÂ_nâw\b ¼/¥faÄ\\93\1aGo\84ïu\93\ 1\8d&0\19VÅôúöõ5=XÃó\ 6½5iÅSBè"ïlo7´Ç]|=û\8d!c8\1e&ãÑ$j¯?à`ïf'ÿ\9eü\ fJ\98\80áendstream
 endobj
-1542 0 obj<</Type/Page/Parent 1479 0 R/Contents 1543 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 595 0 R>>endobj
-1543 0 obj<</Filter/FlateDecode/Length 1829      >>stream
+1539 0 obj<</Type/Page/Parent 1476 0 R/Contents 1540 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 599 0 R>>endobj
+1540 0 obj<</Filter/FlateDecode/Length 1829      >>stream
 x\ 1ÅX[oÛF\16~÷¯8p\1fV)$Z\92\1dI\ eà\aÅ\8e\e\ 3\89ã\8dU$@µ\ f#r(1!gØ\99¡\15ýûýÎ\f\94ݦÝ"kÃÖ\85ÃsùÎwnüýh@}ü\ eh<¤Ó\11ÅÅQ?êÓËÁY4¤³É\18ï\87ø3\92\80£Û\7f\1f\7fñGOù|A\83þY4&ÿ!§û£×³£\93ë3\1a\fh\96Büh2¦YâoîÓ,î°L+Í\834]Ê\1ce\96Jmm¶È%9M\95ÅËJn_ï\9d0nöî\9eÞ]MïH~sR%2!]J#\¦\15\9f/s\11KÒ©?w\1fÑ\8dz1ûrÔ§Þà\14ÞÌ\92\8eÌ ÖP,¬ìÒFW$à\98uF«e¾¡$³±®\8cXB6¬ÀGá\rZÁ<+ãÊdnCó\ eË<¹~YûÖÉ\13Q\92µ9]@s\1a.6\8ewæ/¢Ú\84á(:c\13nµcç\84ó\16³C÷T\1aít¬sÆ!\91¥\91±p°\ 1^¥âA\eö\88áàÃ\ f§´Eã\10\88\88ÞêµdT[\8eóí\1fJ©<\80y¶0Âlàx\96ç¬ü!K$\¬ÊR\eG)4òy\9d'Àª\90\81uZC \96\14뢨T\ 6#\19û\85tk)\15Åy&\95³-ÅB%u m\e\89\19t\0VíOÔèzß«\10SËAÀ\17\ f\10KJ«\9eH\8aLe\b\17\14?xv\18K©Ñ\ 5­\ 4¨\ 4w`\)¬]k\93à;»\82W|½e\13;\97d@Ùi³\89hÆñ\8d\ 5{B\89V,\98\ 5ñ©Tç¹^ó§éå;\8e\aK:¹Fºx^wl.Ê$\82\ví¸¿j\ e\9e\aþ÷\86g!ü?ýD\82ezñÇ\9e;Þ-JÔ1\898\96ÖviQ9ð@m\88C¹a\93dneãE?\9a0\91ÂaÆH8gìE^ÜÕ®w\95kÞ¶î!þY\80éêâ8V\17÷¢X\b\9a2¬]]]\94R\97¹ì&ñ\ 5\12)S_´\7f¯Íò\98Öà~Û\80FØÏ\1c\1c\7fñäú\9c\ 6`9g|ï\14\10%\9dÓh\14\90¸¶\94q&rë\rÎà$\87\ad³lÆ4FîÕüÙ¯\1c½!W\8e\8e'ËÞ9Ò\8b/\b`\9cÃgN\ep\12\15\84\8b\95\18\9d l\e\94\10=T»^\93\95;ðBච      ü*dÞôöýôvÇ­Á¨·Ø \8f\99cH#m XÀ/\8aÁD\11\8dá<¶ nÈ\12\98%\9a`ÔÅh%¿!ïâ¬\109× °ÌgÈÉu\Ó«7\8e&\ 3jj×|8\1a·øç¯o}x\1cõ\1d\86\9dàÃílg¿·»qâ»í§=\8b[¾ü\13ö\97ëä\9d°î^º\83\18pô3åä\12Àº¬à\ fué@ÙÊ\14\8aþà|ܧõ
 u\88ó6\bئé³Ñ%.O­ÃÏÁ¸×Fv\94¢µD\a\ 1    \1dìqÿ[ü\90Ðî:\17K_B\1f\85/ ËÔ\ 6\14ã\8am\f\92\86{!\92Úþ^q;Cm\8f¿Jgé·ÿìHÈ%\fò9Ã(mtìyd«xÅ\fþ\15ý\rÝ×Ì_téÓ¼\83BúÕ\ 6\ 6ó7\9fç\1d\85\92ÜTXù­ÌB\ 3æ\8b\fåÕ¼Swͤî|\7f\9b͹^j5C¬\ fÈpS\13áAä\95$4\ e\83,Cû®\14,OÂñÇ)\84\91#é<\9b?M\82±Æ4ý¡*¿fñ×\1f­\13iv)ÔåJ¨å\8fÃ\16JßWÖý`­+]È+\83\80\15¥\19\1a\10\97\8b\84ÏP.\1d\17n4Ôõ*C:àM\81Ñ\8e\ füz{  Ú;Ôzna¸Ï'\9c\17¿\9d#XÇ^FqÉz$·\80ÿ<bìDÔS+Z`AÇ\9f_¡Ëb8\95ô\99û\19\rª;Z\10\16\8c\8aè£L½­¬µ·§\96ï;ö¹\13´\1fÃn#0Äát­Ï\16\v?²Ì;/ç/à¢Â\91%Ï:\18öÐÉp\8c-òmëÉ\82ÖôÌg\13êô<\1aqÆÙØd%F\11·:À\9fÑÙ]æ\19\14³<¦ë\ 6\9c\0\80\87¼v\9f«Ò¿,\ 5×­]\8a.ß_áÿ\9bÏoº¤M+\ 2Ñëé\8cÒ,\97<âù1\9f«`=è©*ÏÃ÷^     \1072\ fs% f\14\95tµ2ôtÈh\10÷\17k\88\83\1dÇ-Åÿ?Ä\81#;ü$ä;hEàríg\rl}k=\ e×µ5\fÅ\82\18­zFA¡G\10bÌ,bau\8e!îÀ{·âhà\\936O\83ÇÀÿuz¶´ýsd-\16oQ.Xü£ÞËÔy\94èßCV¾a·bl7*\86Ú\93®åDÝß\1fQó&\rj}i\ 2=1^ø\16»\1fÆýúÒmYiWºÊQ¦d\88\ 3kܯ\13\fþ\1eÿ\9bâ\84Pc\9dC×ßÆn7P£JÍñ\13Öv¼rZÌçíEê1sZ\8eîñèiN0p\7f\9d\13\7f\9a\8aôlÉz9\fK\15GèÓnè9`Ãvøª³\81\9e\1eB\9e¬\9bß7\85\98¬\1eaZ+H3þ\1eî\15\¬ê$ÞÖ0,\16Êq£2\18è>Þ\=3\8d}\9fI¥Á\8eb6¿`Ö,o®\ e0aý\7f ¸!P-\85\96,¦ùÒgD\90øÇ#[\83Fo8\89\ 6ç»Å\8dÓ³\10\7f6\13Z\ 5\1e\1em+0v2t4­x<äíÐo\baíENaSó\831onwW\97l\94À#\80\ 2Ë/`3u\8bå\82ßâ±\97ÐÃ-½·\1f>Í>ø\ 4\13\19\96[<\12Yñ~¯±\93ª4[V0 hô\eâ]\0\93®\82\9aK­ðø)ÏyäÞ\96\86\93ëI½\ 2\ eFx\ 279¥ÑØïü÷Ó÷¯§tg4ï¾\10\11WE³a²\85½æxoÜÇ\83\87¿¹}\9f\8dñ$o4Á\ e\ f  Ã3\16üfvôï£ÿ\ 2¶ë(^endstream
 endobj
-1544 0 obj<</Type/Page/Parent 1479 0 R/Contents 1545 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1545 0 obj<</Filter/FlateDecode/Length 1203      >>stream
+1541 0 obj<</Type/Page/Parent 1476 0 R/Contents 1542 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1542 0 obj<</Filter/FlateDecode/Length 1203      >>stream
 x\ 1µVïoê6\14ýÎ_qUi\12O*!    !       HýÀ϶Rû^·2mÓº\ f&1à6ØÌvJÙ´ÿ}×6)mÚ¾×îi ¤\10Û×ç\9e{î±ÿl\ 4àã7\80$\84N\fÙºá{>týÈ\8b!J\13|\ eñ'),\1aÃY£=\8d \b`¶À%q\9aÀ,\a\9cîû0Ë\9a\vQ\14bËø\12\16¢\94\96l^jª\80àrÁ\8b\1d(-$ÍaËô
 ô\8a\82"ë9\19d\99\ 6ʵÜ\ 1\91{R\94û\95\ðVN\17¤,4¸×ýO³Û\ 6\82m\85±\17!\86¦ZÏÏÄ\9a\9a×íi¶GØJ¼Ô$\87ã7a\9c\80\e­ðÛÁVÐñB\e \93l£¯\88^ý÷\18\85X
 þ}!V\98ÄX²û\ f
 g*[É4µ\ 4\1c\0º\9d]±jÀr&i\86>´«\f\a\8bú\88\15wT¨8¤\ 3\v%ð½ÄAâè­<è¦I½¥g+uùeøÛ¾J7\9f<\97b\ f\ 2ô$c\90­Nàì©ãÅ^Ï\83\89ë\11¸\18\9fOa\82\90Å\85@«|f\84.LåS\18&4>Û\9c\83Å\9arÀVÈ;\ 3Ô\ 6|4UƳ¢TLð=ó°\11\8a=T.+æ·\98~V`\9fZ\emO}èíñ\86\91Ã\9bó>\18Ý,Ñ\82ux\fÏ\94\83U`üVX\15¡x*v}/5(9\9a¨R\b,ïC\9a¤ãÔ\ f¢Ø\8fGãAØ\8b\93d\10E\93é èt;ÓQR[ºÙæ\97¥Ò#ä{Iû\10\ 6Q\12¥\9d8z1O²5\91»S)ÊÍù¸\ f\aµPÅú\80¢Û\r{~èw\82ád<éáî\83qg\18uºÃn\10ùÑdR[\8a(.\88Ò×Tcd\1f¿I/\b£Ú$ëM3¶F\98~mÈñ;²ü¾(«1Ì=QÈo\1f\1cÁµ\bw,»\13\8b\85\vÿ&\v$Ëô´ KÕ\87ß\7fþ\15ªÏ\1fµ`\ 6é7cI\83%èù~\[\8dd\8c\b¯*bS}z\ 3Àó÷uer'Iw¢\e\85£\1eQ§sì(ÛlÏÎ}s\0¼%Qú\ e\91fD¢Y|H¥_©_Î\14*|÷\19\ f§T\92"\87\91Ý¡ÆÍ÷hìÛ
 ~&£§ìÔP<\9b÷\94ÖÚ¼wÊÅ\1c|\87Öù;\93»\8dþg¸¹\fémúÓÝ_(¦Z\'cW\82\97C\9fËõ\9cÊ> ´ê}\92¡Ç|\95^±düzE\8b¢\ fí9ãí9Qörö¤\87Þ%î%Ë+\18Á\v\14ïëµW<!ìÔ\13zl¢ú\80½ÔU\87\ e&cþ·5f£éR´\97¯r÷Jã=É\eGßvÊö4ÝßE\82\18¯ïi\a/êû[îõàr8\80+)Ì\11\0c\91áM\8dk¢ñ¬0µkU\vZ\89\8fGBÞüø¹\85\96í%qênÝa×D\9dÌ\1a?6þ\ 5L\9c¨,endstream
 endobj
-1546 0 obj<</Type/Page/Parent 1479 0 R/Contents 1547 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fb 13 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
-1547 0 obj<</Filter/FlateDecode/Length 1521      >>stream
-x\ 1\9dWÛnÛF\10}÷WL\9f$\ 3\16%ên£}pì\1a5\90\ 4   ¬ (â X\91Kiã%Wæ\92qô÷=³K*\94D%F\9dÄ!È\993·33»Ïg!\rð'¤Ù\90FS\8aÒ³A0 él\1eLi<\9fáy\88\7f¹¤Ä}\98\8cùÕÁ\87g
-gÁÐãðC\18Ìi8\99á7àú÷á\94n\r}<{³8ëß\rè\92\16        d§s<Ä\ 4k\83\ 1-¢nV|\10Ö¾\98<¾¢ùl~;\1f\84ãé`zs{=¼\9cÎf×ãñ\9fw×áh2º»\99\9d\ 2ê\12f=Vo4\ 6Vw\14Ì\ 2z·}øøv'\80÷l¬7\1a \9eJ$\fè&\97¢PÙ\8a\8aµ¤X\14b)¬ôJc
-ÃJi\bø¸û\8f)I*\bæ\14\89\8c¬,¨ÜÐÖ\949\99\97\8c «%\89,&»\91\91\ e3QRÇ\94\89TZ*\fmâå¿éÖ>kzìZ)i)µy¡ÄäN82ºL36\ f\112\b³N÷ñ\9c SZé\1d\95\89(uáM\ 6´\80ï\89\82qï8\8aè\1cïÊï"Ýhiû°ÚwVýï .ÓÍ~\90]\8aLV\b\95ÁK E&ÏeT\1cxò\Ê\ù8"Î\9bw&\97Ï¥Êeì½±\ 1}ª¼\8cL\9ar:®¼©Ií\16ù\ 4ôJÿ~Y¿Gt9\a{(Þ[\1f\b®\8d-Z\ 5« v\88\9b\8aH¬ßÈh]ç6\8cß«$\86µWý\8d(ÖýÂô­H\97¢ÿ\8a\9c\82\8e\85Á\8e\90C°Íd\89Z\959\bçC:âØb­,mt¹R\19i\11=Y²&\95´2&¦ØDe*Q¥B\99ì\82\96eAà¢$h8!»6yA*K\8cË8\ 2\1eN½ùë8&áéh4\bç\boøÅa®9cñ\92\960-³xßÉ.}\13¹r,\87w\8e÷^`G8\9b.\ 3ð(9Ы\b°ëøÞpìýÚ·F\7fÐgÃíÕó      °_<S®T\8c¨\15:)?\14Ø7ä"æ\96á\86h(q·.¹5·d\vN>;OZ=É\v\12\96´Á\eü¯
-¤XÚ¬S\80ÿZ\ 3\80^Ðî.o?Ð,\99\84\9c\9bU\9dð"g?\1a\ 4ó\9fÑL\85È"4\f4v\8d\1fÐ}âì×S"E'+´iCÄ\1aBÄ®×\90éÎ~\9a:\17N]hHeRº"5lcÈð\98\88U\92\80\1c\19\b±Ë\9eý­ò³Á\vÅd\12\9aÌ\86\1f¬\9blÈÕJ}\93\18ië¼tá×\85õc\ 6\90ø¼Òf)ô\17\88\95\ 3_\8dã2ÿðàÊ·>70µýôÈ}âƼ ØO977;ÚDBóÇN\9dë\ 1Ö
-j}\ 4~Øô§äxÜ´ù@½}Ë®ï\7f\9e)G\88ÿ\v\9dÜö³\8f6\1a\r¦§Óá\17R\e\8a{×£÷H3s\93\8bé\85«%À-Âé±¾¢õ\94\1a\ e\83á ÄX\99\ 5ã\91ÛM\ f
-üvúuÖw»ÌWÚ%\99\aTaxETÌÙ£\93§3\86W\89E\99\8a'\8fÇ>Õbu\88ÕBt«\ eû'v£Èd\1a\9bÖ\r3ç3¼\11\ 5å%¸ì*Çë\11\ eà/\82³`\vû!\98³\98ÃÅ\16c\14Í\8f-õ¢´æ)\91¨ï\10°¦âs¯\11ôÜ\aÍis=Í>ú\95\r|î   \18qy|ìÞw¾aàÄ1 ¼\ 4\15Û\r¯NPø\87R\15ôZ@8Q¹-\1eÏOÎÊ\ 6ϵY\19\98S¨^\ 5Þ,r\ f¾\14\8fÝËÇó:oÇ\1dÀ\b        
\ eñ\1a\84'\15=\9d\86x\r\ 23\ 6;\ e\93\80OR\87®¼\1a\81\87\16Ù
-¼Ù\vçÕ\bi        \1fÚ ^\83À\ 4çqÕV     Â(ÁÊ\ 4tþØ\1dN&8Äõ¨ÌÔwGTÖ:]¡Ø¤8\8dµ£¶â¾_`{9\9dºç6\ 2CĸeÌûá\98\ 5X\ e?q¿Åwب\15N{\9e\94Z\9fÈH\vä\1d¤Ýñ\98\a\11\83\9f\ 6^óI(V8}»cr\93óxnÁþÄ©f-VâcÜil\96\88s,½Vð&¶+â-\ e¼\11FÚ¶Rbp\9cèåê\8a:\7f]u~Õz¸<D¹Ú¸s\ 6\ eü\8dH\9a\96*¼\11E´ö\8b\17c\ e\83\8dÐü\91V¼Ûy\9eÑË\1a«\1a\1d\8d
-ßN\a¹É\8d\9b\9dÎÛ£$¶\98þÀañáÅ+\9eF\16Q\84Ã\93´Ñ/ÓW\ 5õÀµ¼~¸¹¿§\8aTîöuÚ\ 2î\83O8NU\87\94C\ 2´øþwSÁµ\ 4O\8ajt\1a\14\v÷©÷\9fÞ¾u\vKhý³\9a\95ÙSÆW¼êôx\90º\16ãû
-\1cUÿn^Ý(Â)nÎó\11î½ØgÓ     \9fa\1e®ß½¹¦\ f¹ù
-Vá\8eÜ8ç³n¯VéÍ\ 6|W>¸ß\8egã`6\9dãv\8bOCw øsqöñì?æ\88Å:endstream
-endobj
-1548 0 obj<</Type/Page/Parent 1479 0 R/Contents 1549 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1549 0 obj<</Filter/FlateDecode/Length 1183      >>stream
-x\ 1¥WÛnâH\10}ç+ê\r"a\87[\80äe\95\99\f«HIfG!Ú]       iÔØmÜ\13»\9bô%\84¿ßªÆN\8c1dµ;£É\98¸ûÔ©S§ª\9b\97V\1fzø·\ f\93\ 1\fÇ\10å­^Ø\83Ñô"\1cáÏ >\ fð\9fæ\90ø\17Ãá(\1c7½è_ÒÚÚ\8e/óÖù¬\a\970O0Æx\8a\ f1 ~¯\aó¨#b.­H\ 4×W¹\93+\1eC,X\ 6\91Ê\.¡ò'\80W¦£\94éEgpq±8\83\0~;\9bÿjõ è÷Â)\82\9c\88\e0J¸\0\84´\8bÎ¥Gy\92â\r\9cá\1ano`ÑÁ\9d\8b³ãÀ«ÿ\ 2¼ÒÊ­\11\e7\9fÂö$̱\0\r\ 2<ÌwÄ\1fooN0öÁ\8fÁ6£î\b\9f\98Ì\99\8453¦Aè\ 6T.#½][,peëFéø8si\8fáS!OÆ(¶nN ¯3&\8e\84î7Xþ¶cu\9a:\8b"\8bºH«U\83\99÷ü\87T}ácfÙq-\9c|\96j#aØ 6iQ1t±ô8V¦VJb\9f½6\95n\1fëD\8b¥Êi\ 3\19\97\9f3:\81Ræuñ9ʧy\95X8Á\ eÆÇq\8dÎg#è÷wÓ)\18\8ci\90|{Å¡äX\96m»°U\ e"rº³À\b\18¥[t®pt°Äâа)\aÉr\ e*\ 1΢´\88Ý\85M*ð\93A\99²\18Ì\9aG"ÙúÕ\ 59«À­±è¼,Ô0\1cPðM\8a\92ú7B®ü\ 6Ë\96\19\ fáï\82 Ë\8cz\a\94ʦ´nÉñ¿¸ÄG\8e\ 1=Kÿ\vr\16$Zåþ\13ÎZ$´\11Y\ 6¸¹\16\vRqHoÎg\97Ð\1f\15Ú\fûx\1c Áa8    \87!<\19\8a\14\ 6\94\86\8fn§  QöʾÔ\13\ 2»\ 5\83="WÙ\16\ri"ô\14[qÏ\13\9b\824m\bÐ\85Tmø+×\1fÕ¡Å\98o~Uä3\18ï¸Þ&¾\80\e_\84L<ã*\94\1d\17\1an¡]9\91*\93ª(k\e\18ª\]³?¤Ú5=1Zûáéî®\8d\9eÙ\b\8bf°>¹\17§,7d¢\1a\9cçU\1d{mb\5\19=\17\16¢\ 1\83C¬ðI-tC\86¾¦x`ÖÔ!=\ e\vfº@zP¸j¾Í\ 4O&\19Â<\15\ 6\84©1$è\98'Ìeö´ÛF!üέ¥<¥\92A\91ý¾­}\93P\80&\93Y\f\ eke\8cÀN"ASö\8am«°¥±\r<\10\9e\ 5\9e\ föÊ\92¡ T\98\9c=SL£°½Û(¶±LÚv]Å\19ùý\8dåë\8c\7f\18²n¥Äe\99\1f\13;ò¾ªÞ¬ç³\8bbütàë÷\87¯×óEg&´±?iy·\ríî£ÓþÃîî°\9f_áóïØ\võ\90ØuÏÈØ
-$þn_Ìý ,\19ôP¹\ 2ù\91ïÚñ~ûøã\ eb\15¹\1c\87£G\85\ 4\15Þ\v±QV\8e\1a×\8b¤]dÍGE±Ïéæ\17à­±\98\1fÓ\10þºo\b9Ák%Î\ 4ï\96\ ek¥ù\8b\13\9aãA#\96oy6 âá\90\12T\8b,ã»1U±ô\1c\fQ¡Ù\11/\7fâ&_|\8d\ 6ÚÒ°ab\95Zd¾a:Fg*¬ÝZië]Ð¥Ùp \ fÂðXX\b8 ÚU"ðÐÃÚìKÖ¡\ eO¹®\8fór5\91 \83\95g\ 5=Ó;J\88Î\96Ò|\98Úû\1d±ìS$)ò\7fKRì\91\91Ó\1ak\16`\1e\7f\12cÏÃóªrD^\9a³Ý\91B\1dB[é²]\1cSþ<¡&© \97¹ VB\16\ 6\98\16îî\8fñ»Át\bãÑ`g\83Çëû/×ð\87V¿8Þ\95nªÆ¢PA¹!\98ôè+Ãÿ8vF\93Q8\19\83\b3\98\10ú·yëGë\1f\vSðêendstream
-endobj
-1550 0 obj<</Type/Page/Parent 1479 0 R/Contents 1551 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1551 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 -!)\1aF\16 #\C¸\ 2¹\0ù\a&èendstream
-endobj
-1552 0 obj<</Type/Page/Parent 1479 0 R/Contents 1553 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 642 0 R>>endobj
-1553 0 obj<</Filter/FlateDecode/Length 2781      >>stream
-x\ 1\9d\99Is\eÉ\11\85ïü\15\15s\92\ f\84Ð\v6_\1cZm9$Y\1eÒ¡3\b6EX\0\9aj4¥Ñ¿÷÷²º«\12¤,9\1c3¡àã«\*3++»øå¬\bSþ+¢\fÕ<lögÓÉ\94ߤ\7f~ÿëÙrR\86Ùj>\99\86}XT\93j\0»pqæà>,ëÉÜq\ eîCQÌ'\85#=\86­ëÉ̱³RpYN\96\98\NeÒ\80L:\88àt9Y8Òc©\9dÊõ$\1aÕÎW¸¹\ f«©$\r\83\bVSy\9bH\8f\856\9aبv6\9fÔI­\81¬và\8aj5Y\85Y&çlpVW8)\9bµHC\92ô\18\96hâQf\1dÞ\87²(åQb-cìA\19#\ 6¨5 µ\ eîùµâ\9c8\a±XÔl(\93\1eÃÖ3ù\9eE-c$Y\19[Ìå\8d\ 1\99t\90°ÏäNâ\1cDiY+Õ\89ô\18\96°{Q\8fa\97\9bd©Wü\9bV\96뢴 \18²Ø:¬½,\14\86Ì:,Ås9\95XS\S.ÊvQÎH^DQqÆ°³\82\1as¬Ã°è\9896*^,b5\94Êam(*ÎX\8akvçX\87¥X»ÎlT<¯­\1cbYÕ\86\95\88\12c|ʬÃ\94ÙTG1³QñljI/\8a\956kÈ\14;\8câz®ýdÖaX\927u¬íµZXî¬`k\ 3RëàP¿\99³ú\8dp\1fæ
-dæ\1c¤¥,©¤Ì9\88/S\vA2è1lU*\ 4\99u\18va    Ï¬Ã
-\9f\8e\7f\96õ\18v¶â\84gÖºJÍ\89°:C\94\94\1a²à:\8cÙz¥ð%6\8a\16E¬$\96B\1a\92¨\91Õj\19«ÁÈ\88F½Ó\90X«nÇ:\8cÕÙ\82í8ÖaX\8a£ð¬Ãl\96öQ96:EOSûXiÏ\95\ 1ùä j«\19\81ȤǰÖ\99\1dë°â_S¡\99õ\18¶¬´\9ddÖã\98\9d\13Y²5bX;qNÖá}¨°ë5{\f[\16
-T²ë1,v\bTbíÈU\94\95®°¢ªä\84\9eð\v\vUf\1d\86¥­áTf\1dV0\96r*±\1e+\18º\8c\1cë°\82¡\93\97Ùèòl\19\vy>\93¨!sÙaD§\vÊ2³\1eÃ\16KÅ"Éz,§tD\1cë0,\1dfæY\87\95\83å\89lt\99\1a\8d\17³î¶ÊP\8crÆıÖ\ 4âX\87\95\ 3s9Ë:¬\1c\98Ë\99uXÁÐ\15\9b5{\fËÈD¨\92l<At#Ýùܪp\ 6ì\ 4e\88Q\eB2é1,Q#?IÔcØ\95zJf£QÒb·þRa2 £ìt\84\br\ 4\89ô\18¶´^\91Y\87aÙ)qȬðܩ¸\94Y\87a\17¥ª<±Ña\ 2\9b&ÀÊ\80EI\ 3a\84ri\91\90%Ýa¹¤18\8bz\fk\13\83c\1d&q8C(²Y\r*åª\1c\8eG\91\90\99¥\81e¶dl\19\91X\8fQ<\7fÀ:\fKMO\a;\92Õ\15[.VVáv§F ÊA\9bå\16ÃBqÌr#d£\8c\88+Gz\fË\14QxÖaXºQíY\87ñ\96¹ÞËz\fËðP9Y\8fa\97JNÞ\8eå¼\9cÇï\97Â.Î\88´\1f\8fqÊ.ÒÌFQþU}k)\114$ÑHr\9aTKVí¥\ 1\v\93\8a?B\ 4\99\84ØL"=\86¥²\bDf\1d\86¥?Î=ë0[%\ 1\14D\92õ\18\96®6z!§<V\10u\e:Y\87\15DUif­#\96\9cË8õj\ e\8cÈ\82H]\8e\18\97í3ı\ eÃr>Ql\9aLÖaÌ\92wb\9cX\8fµ¡\85\9bY\87µ¡âTÖaØX¹YÖa]\0\96ÛÄÆí\16Ã\97\19\83\15q4\14·\9b1\eb\80&C\99uXÛµC\99Y\87aíJv²\ eãr¡¾\9dÙXpÌàÃ\878V\rÈ'>ÄG\88Ú©\9d\8fDz\fK9\92\81Ì:\fKL)\8bÌ:\f;¯Ne\1dÆaFçÑ\v9å1lÜzÒì1ì¼Ô!ɬð\ 4\86N\93Y\87\9e\ e\1aÙ³¬\85Q=zøTåõÃ\80\85Q]bä¸\8d\97\8es\90\eV\9f3YÎA\ 5XWR&=V\80Õ4\1dë0,#Ü\89¬Ã
-¿Âàd\1d\86Å\8b±VÄ\85U\86Ìê\8cF\14\8b8c\99Õ4áX\87\11jÏ:\fËûÊ\89f\87aùÒ\98yY\87U\13ê\ 6Ù®ÇʺæÛÌÆ\rq­Y\13\f
-C¶!\871KT\89cf\1d\86­Ôf\1cë0,\ f4sÏ:\fËP|"ë0,¥\87ËÙ®ÃlÈ:rfu   ëõAc¦Ýº\11h;\ e\ eß¹\99³ïÜQ\8e    \ 1\83¦Dr\ e\ e/r\99ã+\82}\röT\10\84>    z¬\18h"Îl<4V\15\vúö\89%#\93\ e"8ÕST&\v\ 6\1dÌ\f\92\96\rI4ªµ±fTk «\1d¸Am"\aµ#Ë'\aµ\90ب\96\8f ]ÍLú\984 µ\ eÊ[«¿Dz\fËtÍF3ë0¬Í\19\99µê´\8fU¸JíÅ\80l:\bÇSÄ4sæë2~«ÛYµ\9f-\0êé\ 3\83òYüYLF¨ãÒZdÊA8\94;ÎLÍã\97ÿRÁ±\9f-(        !Ä\9cSeÊA)Ô\v]\123\85öö4>Ój\1e1\85Ä\9cûWñ·J¶\9fEd4>ßh\95\98øz\13\8a\93LF\98Ñ\ 5\94\98\8c¬%ë\9dcÐF\88\ 6\14CÄsÙH)D\ 3\84ã\9eáe%q\19r\¹oxÒ\1a9Û-'XÝ\87ñ\88ùY?Ûn\13Røô\r\96(\aá\98ý\9d\98\83pö,\9cå2\84c¼ä\82\eÍ9\88\93\85M\18#ç úÍ\82t%¹ç\97gO_ë\1a\r\977<úÏ\17ËpymoýüfóäÍ¡ïÚëûM¿m\ f\7fºü7k9¸E\{\8e\92\92ÕO.Öû«uج\ f¡½kºuß\84í!|]wÛöþ\18.Þ=\ f\87¦ÿÖv\9f\8f\93py»=\86»u×\87M{è×ÛÃ\91µ7m·_ËBà\7f~\7f³ýtßm\ f\9fÂÑ\14C\8fÚäÂ4\9cÛè\84áæðuÛµ\87}sè\8f\93è\1eg3¹§É\94U\97ë«]\13Ú\9bð\ 2\93Z\1a\91Æ\95£¾z\12Þ·hÛìÖý}g2\17M÷µéÂå÷»Æäø\83H2Ï·Ì$\ôëÃux¶k\ fM\88\8b¥þÜyÉ­3  /Û=»\rï\9aý\15êòÂ\93uUZ'W»v·k:i;5ZÉì /¯Ë.\9eów\9bäã\f\ f-\8akR!WÏ\1fºê\95ó\103        ÿ:â¡6uq»&\bÇfC6úïa×|mv\ fÝ\91Ä(óV\vØ[\¯\95nwZH\1c¢Î_®$\12\7f¹\94¤\rÁøåR\82ñìåEx¼î$ds\172júýe\1d¨À\8fÛCù9|è¶ûu÷}´\98Ãÿ0.\8c]\13V7]óå~{Ür&~oÖ×\14õ\83°03NÂóõæ󧮽?\?b      \ 4\89èo©2Ëç£\ 2x$J`^t\r\a\8b\93ôn½¹ÝR¡\97Ýý±\ fÏ6\e\8cõGËòßÛíAK^ì¶:\1c¡o\83¬Dý\8f·eEÿn}¸_ï\ 6õ:·7ÿÅÂ\ f\9cb¿¿ýãp\8e\8dó×»ï¿ý\7fJ\bËè·\9c\8d¾?výÜ\177×¥\82¹ßãð\87®¥)ìc\ 4^u]ÛÙévõʼ7    \1fo×}h±Ð\85Ûfwg=îMøÔô\7fy´±E*á(\82ú\16UsÝ~;\86Õ\1fOß½z\1cÌ\85ªdÌol\81o\ eǾ\8b\r÷øçð>vÎð¶ýÔ\1eÌÅ\93RÅh¬\ 6UÐýÝã²TH~T/\ f]1Gþ\87re.ýI¹r³\f1ûBylo¶\r\ 1þ\81S$@Y\e®\ 5\8b¥O\94Ô\10\97¿µßÂuk*>êöèc\80n\biØR¨×±¥nR«|\98\14éÁÝ\8f·Í!píÈä\87\97/0Û\7׶ø¤>xs!\19\9cø\18°«\ 6ß\7f\16\rÒ\18U¹Úáo\87£ûá\r\r´\ fäf=¦j\108ݱuÞ¸cDºæn·Ýè&\95ÓÇýÕÝúxüv\1dn¶»æñ.\19f£ão\88  \12ìu½Û\85oÛþ6¼}ùìCôÏß
-˱n¸\15ÖÖ\13\87`îí~zX\1dL\1a\b4=»øÞÞwAüÓ×LÐv\81>Á¿  Y¸\89¿þÁ½Ê\9cð3ù§M¿yú¹»\9aýJ\8b\9a¡:Z\f˦ÝßÝ÷º«b;{ìµ\95Ñ\87öxÜj\ 2hÒ1?I;S\12sIC[´½qùéÂ'i÷wÒèÒÊWk\©viÑeç\ek\9bZéï|¾\944Kôqh8±·:\89ýÉíòÓ$ð`\98\9b^¬½Ø££+±h«É4f\81O\1fK\8e\99æ%Ë&¡\87Ó\½à½o¾dîcL*W\92|uyöϳÿ\0×J³Ýendstream
-endobj
-1554 0 obj<</Type/Page/Parent 1479 0 R/Contents 1555 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 644 0 R>>endobj
-1555 0 obj<</Filter/FlateDecode/Length 273       >>stream
-x\ 1UQMO\ 3!\10½ó+Þ±\1e\8aÀî\ 2{0¦\8d\1fñ`¢\96Äs¥4ÝÆÝ\8d\945é¿wÐÚÐ\90\90y¼yo\86\99/&!èH\18\85JÃ÷LpA/çëí\915\8a7ÐVs\81\1e¦æö\ 4>±b\ 5ìakÞ\16\\ 1{HQ\9d]²°ÄÄVòBZbb\9b\9a«Â¸ÄĶò¢¥\12÷PBQß\7fÝçº%&¶2Ü\14\eÚhªV[CqÖÆ\80-[:vý !%Ü6\ fJ[\ 3·ù\9d\93\80ó³\96+\8e÷Ý\11Ý\ 1iG×GH)D\8a×\ 3\ eÁO±KGÜP\18¿C¼½r{ò³'¿ü[a+(E\9e³Õây¹ÀK\1c÷Á'Ü\8d~êÃ\90Ö©\e\87,\9bKM\9dQöÜ\886ç?\r)\8e\9bÉÿ'Ô´\13£-m\95ÈJdͽc¯ì\aD\q\ 6endstream
-endobj
-1556 0 obj<</Type/Page/Parent 1479 0 R/Contents 1557 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1557 0 obj<</Filter/FlateDecode/Length 1566      >>stream
-x\ 1­WÛnÛ8\10}ÏW\fòä\0\8d\9d\14h\ 1·i°\ 5\9a4[»è\8b_h\89¶¹\91H/IÙõß÷\f))¶\92\16Ø\v\92\0\8eIÍí\9c93úû¬O=üôi2 á\98Òâ¬\97ôht=L®ht5Áç\ 1þ¬¤U8è\8f\ fÞÏϺ·×4èÑ|\ 5[ãÉ\15Í3\82\9d\1e¾I;\1f6b륥QB÷¦\90\85/aѬh&í\ e'óÃVº\8bù_03¢~?\9a¹\1c\%\ 3\18êL³Biç­ðÆ:~êN¥Ö8³ò¤¥ß\eûÈßz©\11æ
-Ö¼!¿\91\94J¯ñÙJI\99ZáLjO\1eÎØ\8a\v¾Ý\eö\8bÌ/\aãdÄîf^è\8c¦¹Ñ²\8a/F\96V\91\ 2\4\]\fÆ\13:\8d;\1c\87\eS\b¥éN\16K\ 4\16³ýÏÖ>\18í­ÉsiÛ¡?XU\b{ ÊíéÅîm\93A¿\9fô\86Ã:\87×½V\ eÕq\93Å{\91>\96ÛÿÛêôföïL^\ e\aÉd2¡×\ 3Pñe\14\98;ýkº\9c\W\14ª\99B\82ɤ*6Ñ~cH9Z\89BåJXÚ+¿aò8I`lá\88©À\97öÊá[¦V¡Ö`"Î\r\19K%nÎD±\14¸\91ç\8cG\8f\9aºí\ 5ÓÍУ6{X\11øçÈt!\85\ e\ eA\10Q\19I\ 1­üá\93È\91kêOª^\18\8e"9GI?¡_1ô¸w&É\98k3ßÄL¢ÁqEá\ e¹@r\11H\1e\e!Þ¨Mt\88ÃCÂUÔU·\84,ikÍNe\92r\93\8a\9cD\89¬´W©ðÊ \15TL¤©t\8e8\e\10\95V(\94xV\1d+\9d)-.F'\ 2\r+vBåb\99Cm¬)Hù\84>iZK--\1cù\r :\r\vÏpÝÑé(a\f\a\88\84\17Kádx¾0V¶\90ñ2ÝhD\f£\fó+¸:¶ü\14\1a\12BvT\88t£ \aÁ\99\ 4\ 3>\v\81*<\ 5\r «³Ù\1fÓ¯\1f©0YÛ1*\81[ßf\1f¿\86S`ÙÜ\f\95kNPð´´Ê\1f\88\v\93\99´\84rz\99Q©3NP¹´t\ e\ 5wP½µ°\19¤®\95äyc\82\ 39O\88Éà\8ae\ 2\V\fÎJ­Kp\99
-+
-\89bThÔÐ\9d\98àPÞÐ\93Ù·L\7f\81ÿÒõ[r\e<v\1e(\8dÞ¨UöÞ\90ÛÊT1\81Ò\10\ 2ÀÕRfHÑ\84ú\82z(¾¡ÔJî·\80+\88eJí]Õ\ 3\97Ç\ 4\12Ý\7f\997ô¬\86C+´Ü¬\91/s^\81\ 2ìqL ?+\9c«"ps\aÒÅ\ eiìK\vF\17`\\16å=\9a\\96\1eØ:/E\ 6;\8fmäÙ\98Ñù\81G\ fSênFß\95ÎÌÞ\81¸\1cÒ~£Ò\r«Qä12o]\v\93Î\a¼º1¢vQ£\12a\12fÈÀÐ2/1\rá\vlñJÇ2£O\94÷h1ð\10<\a\ 6\9eC
\ 4çâ\ 5i`æà\b¿K\99\8aX\95vz-\15¨\e\10\958p§Ä\9cÀ~$*à·0\804&ñ\8aä\ e³[­bÓs¼.(*dÆ\9b\14ú±\ 5-9Nµc<Ú\9eãå
-"ÄÈ\14\10\805\8c\dÖÀÔp\99É]«ì\11\ekÊuÐÿ ëxöazG\8bÎC^®×A\96¦§Zwg²2\97nq\11zW;\87ù\ 1\f\17\1dNB£¡j\9eQ<\91\16W_Ƞ蠣Ъ"\17\ f\18±ÖrÝtl\8c
-{ú\ e=2e\9eq}\81n\ e\81ÊBÃ@ká\ 5¥à0NM¶\9a¡6\15ð=\95Ö
-\84ª®\1cI\ 5|\85å7­~t?+]þ w\0ë\vh\b
-`lÖ¨oËÙ¢Ó\95\86khrKá_È\ 3\9a`q\81N¬|ÔJ\ e©ªî®\14øZ=\1eàî>\9d\99°\ 5\1dMÝnél7ð­\eïæjÙÝZµ\83\8a<=Ç\ e\11BãSÓç\9bé\ 3-±ê\10ú'\1c\ 6\94\b4à¹\86\86]¢g[yÕ¸|øt;ëÎîÞW¼\8e\840¿\9bë\83¤Þ\86\16ë±Ìlm&;\0fa\7fÚeÉ S¢\9e+½3ù.ÌÖº\9dê\19\16·â8º~×&­,ë¦\89Z\10¹²<P&Wا\82\80\87]\81¹\a¢`à\9f\8cé\8c×ê0Ý\ 5¥\98h\18ìÐÄ`E>+ì© Ì9U`¤Ï\9f±\9a\8e\ 2\9a)^1*\a\9aîçÃî\b\8av\bü1è\95J²Ã\ 2` ¼\87ÅE+ÑÈø@\0Þ
-¢~U+OÖX\9eF9ºQ\16Âd°sW\8d²è`¯E\97ÛRk\1e+èÛ#¥\1fð+\11h\877 ikõ®_\16Þ¡5¬x·è¿æ\88º·õ¶v$Q_xn\97\16£\ 4¡¹MÝýi.±¼6»Z«ô5§ñ\8c\93\10E# Q~^\88\15\ 6\18\ 4$«3\8aA\=½\8f\r'q\aý\aïs£É(\99\8c¯â\9bÆ°Ï&?ÎÏþ<û  àÁ©5endstream
-endobj
-1558 0 obj<</Type/Page/Parent 1479 0 R/Contents 1559 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1559 0 obj<</Filter/FlateDecode/Length 1418      >>stream
-x\ 1\85VÛnã6\10}ÏW\fòR\a\88\15ßb;}s6]´@7\9bÂ*ö%@AI\94Í\8dDjIÊ\8eÿ¾g(ÉqäM\8b\­ËÌ\993gÎðÇÅ\98\1aÓbBÓ9¥åÅ(\1aÑíÝ\ 2¿gKþ=Á\8f\95\9477FËhþ³\eãÛq4é߸\8f/n>Ïi<¦8G\92ùrAqFH0\1aQ\9c\ e\84M·ÊËÔ×\88ï¤ÝIK~+<)G®®*c½Ì(9ÐZ\94\89\88(ÞâF*4%\92þ|X=Ñó ·¦¤¯\95Ôüùùê\9a\8c¥u­\7f\9e
-¡¥Ç\95ü*þ~1¢áx
-\84q6x\94þ\9b\ae\91ÛXÄ\ f¹¯Iú4â\87o>Ï\8e \87\93y4ã×\9e
-)\9c\ 4\159Ã4@Ê S¯\8c&|ÿnö¸\98\1a\9d«\r×\130\93p$èɪR Í\83)\85ÒôÉhoMQ \8cÐ\19å\80\\1a+{(\95Æ\8dR\84ðVn\84Í\94ÞÐÖì9wj¥ð\12¡³&d)À¤Æ\8545µö!æÛMY&ÈÕ\12\fD{Y\14\8c\f    þ'éiN©ERȦlîÇ1w\13¾\83\0\rªdzZt\%.£ky]\14\87^Nok×öYù\96þ;\1aC*¬\99átÖÐ?\8b¦Ñ9\83çÝZ@\9fèÖ×FL\92\ eRXGU\9d\14*¥JÚTVÌ©\83.hÏb{ß\15ôW\0#Kp\v\8a¼x\91¡½P\9d(Jã<\95\açU*
\82\85\e\10\9f¨ë^\82V    \8e)±B§[R\1aµ\v|R2'\ 3X;%÷\1feGZ&.\87\9e\eî\ f\95\fX¡¬£jÎÄò¢Í^ÿÚ\90\ 1î ×\86»ñ\e\9f°G1G\7fÏ!^\99Nh8Y\86¿¬û\8fÔÛõq\1e\8dæ·Ìù½H_êªG(d~öàêaýó§\86]öE´\ 4
\8c·a0Þldðñ8½/dÀ^ðôð\89ªB\1c0\86\9a\96"0\1f\18?\89Æ\ 4®¿¬é\9bÒ\99Ù;z\8c§a$\1fãY\8b¯\83ÞZG;ºtê\×\94Ô\9e´\81m5\ 1K¡uçdÎ\10>\1eH¾V°
-¶0\1909)³¦Õ=ùeÂ\8b\ 4>ÓKü<\10T ëY7,\90\ e1\9cA9o\ fÏW\ 1¸ò]µô"\ fÍ\e\ e\10¢5Z¹ÆOÚ ÝxÖ\88¨YÓ<\18½Ä\1d\9e\9d\e>BÃÐup¹á4â¥ÑjW$ªPþÀwkø%\94\ fY\f%;\9d
\81\99Û\9a¢-ß\89\12\9e\ 2\19re\9c\8c\8d\89\1e8\7f(úL¬W_àûk\99Ö\96³¬ZÇû"´ØH\v\1e:ÄxÊÀ\12ÛZ;¢\ 2\b÷|Õ´\ 2Ù\13ÑÂçÀÍréQàÐ:\95+¬¢\9d\12\ 1\9b+\93\88\9d¾©\b}A\11\1e-¿¬\84s{¬,T\8c\82/COv¢P\19\99Öu\94N\8b:;Ó4"¶ïú,\ 1ª\1e\84"\13\15®\12:X\15µã\7fñw\83ÖÖZ½¶Ï¿m­A[]\17ô\9a\9a¨\ 1O\17«CÄ5oÅ\8e;uù\8f®Å%vo\9e«×\1e\ 4´\13SÂ"á\1d\80\1e>\1aú\eÉ»\ e8ÒÐtëóÍ~Ê"ú\ 3æ\89nZÚ\e\9b9à@g×a{0Ý{\85E\84µ\80À\12;<ãÑ<[×\9cäæO¥ëWè\18\9b¢ì¶\1cÂUÖìT\86´\82j\90\fÃÝ \9a£LæX\87P\1c\1f\ fö[\ 5\eæ|íz<\1e":\98\9d¶ãsÏù/k;á\9d-çþÍrÂ\10v^ÃûW¥ìé8\96\80\8e\17\12ï\ 6\ f\9bçG-\9dw¡y=ö9(êJ\14¬!\90,´Û\83ÖÂlpöèÞ$ØMè\r®\89c\1a'7%滹ÃKM\ 4\8c¼\95q6A`n
-\12ôRvÍ  K¯P/\12[\11"hÊ\90Çèï\11¼9\x½EÙ\15üþY4\ 6»\15É{\89ÛZ½Á\91¡v\aÌñVm¶(Ud<·«\80¾=\ 6B\0¥áÓ\ 3\90\85b ¹Æ!¹00\ 6&\8ap2âú¡\ÅvÃòý0ïiÈ\8e\9dÊÊ\9d\vt!*:\87\83W8\ 6\80\95L\9e`\0ú¾W®8\eÞ
\eõãÓã×\18~S\85C\15LJà$      mp{\82\a\9f\ f÷å\89ô¢çñ-\13yóyÙ\9e]Çs\1cß\97\9dÍ£»»p\86Å\10ܯ°@Íwl#¬¸´fe\1c}\7fؽ2\\8cîxû~|è\9a-fÑb¾Ä      \r\8fM'\9cù·øâ¯\8b\7f\ 17Îë\8dendstream
-endobj
-1560 0 obj<</Type/Page/Parent 1479 0 R/Contents 1561 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1561 0 obj<</Filter/FlateDecode/Length 1655      >>stream
-x\ 1\8dWMoÛ8\10½çW\f\ 3ÄNl'vºÀ\1eÚí\16(°ÛÅ"^ô\92\v-Q6\e\89TI*®ÿý¾\19J¶¬øP´I+\8b\9c\8f7oÞ\8c\7f\Íè\ e\7f\9aÓbIYuu7½£åâ=~ß?®ð{\8e\1f¯©\90\17\ fóûéüÒ\8bùãìò\8då\85\v\1f×W·\9fßÓü\8eÖ\ 5\9c/W\8f´Î      \8eïðI6þc§ê¨==LéIU\eE*ÐST6\9f|(\9dÕô¤ý«ö×ëï°rO³Y²2\99?"´u>þb)îL  ³h\1c? úƦ\aX¡ºñµ\v\9a\\91ì¿\vÉÖ²µ5æ«\8d7ñpîcL\95Ëu \ 58ðoæÍFçÓtæ=ÍVm\1c\8bûé=Çñ0\9dMé¿\80DØéÓ\8e¯u\86©Ô¯º<7\7fG\93ùjºä«\1fèéï\8f8ÌyRÔe\19$\8b¬4ÚFR\91BT>65íwx\18\9d[\1d\91\89\84ü}c­±Û)­w\1a®Ù}Ü;r5£\12pK"\92@F\1c  üÏ\16     B\ exÔpèéõ\94¾íL¶cÄ\80& cC\8ck\e\91×\99\fMQ\0õ\14í^\1dúgp\1cµð\ 6§¢#Õðs4\99\8azàÜÄ ËbJ_"å\ e§­Ã\7f\f\ÄòÐ: ç1Û°\aÚz\r\ 4ôÏ\bcÏ×â¯ó\9b¸Ó\82(\96:\9c`\9b^¬Ûã8p2Rþ^ö!ze·ú\866\r\80\8cT "2\96ö&îz\19ݶ¦U]{§\12:(\e\8c[)\1f\ fð`·\\rcM4H6\176dÎFïÊ\12\8f\eaYÏý       ×\e9ËÏ­«LYr\1600'z¡$\1eÀ\8bzU¦T\9b\12åF    ÷;\8dËÌ?R\89þ|¤,ݾÏ[\90\95»p²\98\9dxÛ1÷/¦)\1aîR;àÊ\1c\9cGýC0]CÐ\896'¶\17Æ\87\88l\0\ 3 \f¦ªKí\ 5¨K§O\0\0r\98\ e\1a¹(¦y\bÜÐA\83úCÊf®ª8ç\1eSXCØ\16Ê\13]æJ²zë¸\b0Â]\ 1\ eÊ \e\94ÄmU\95\90«U\b{çsi\9e\1eú\ 3ªj0\82ñÍ2]Gr\1e\1d<\85W\90\92Sc\83·\9d1x«6ƶþ¿º\88\83ø\9b\ 4+ª-\7ft,÷\ e\80YG&×J*<ð\9e\1ax\88\16*fc\83*\83%\1e?\8e\93´\12\95»¡\0s\91À£w\916\8a;\19îF)\81Û\14ý\b\14\ 3eZê:É\10qÚßØ=fÄd¾LDá«o\92äC\13h2\94<\1f\83\8cÇ£´ð¥
-Ýb ä\92=\7fÐÊ\88\14¤â\86)¼«Î,Í\93¥Éüáäÿ\8b¨QW\9d\94C\92\9e7Qq\9ai\12´®ôÏ:        \95£\r\1d\ 3¤*×°¾BW\12¶Ïã&p8\8acéµè(z\8d¨\13®`Ó\bÒÃêà \18\ 1\86Mq\90\95^ÔìèS\8a\ ebsÈ\ 1Bm¶;´\85p\9d\83\91\1c\ 6\1eßf\94ü\18(\b¤\89A\1cô\87\f&îѶZ\90Sé~0\0Ó/\18\0eU\87\97\9a2\1a4èРÈý£Ñ!\ 6\9e\ 6-\9a­.y\1djgsnoÚÊ @@\83\fºá\85Ábò\11£\8d\9c8YV§Ó4à\ 6G\1fHh\97Û(õdk\8e\15±B\as\17S\17ùÀóÀ:÷<\ 6\86Hºô\1d\ f\8cçñ7c?}\12\88\89b\89âyÇÑÕuÉ\83JBãÚÉ0á«Ï×ì\8aw\99Ù%\15\ 5iÓØÿ%\19ýçå\ 6ݾ\97Ì{³\19EIê+zyé\85T¿\83÷\84$Fg\1a¥°P+\8fÙ\ 3\8ak\1eVb¨ãH7÷Á\91¾âvìÅÌpè\ 2\99\7f\rÿ\81_\8aL:èùZø~\9cÞ >\04<¿\93\96\ f
\91;y\90\9a¸Z#âV¨û\ 2\91\9aè¼»\98LÒ8ÁeiÆ\9eB\95°n\ 6\ e\8dÍu\8d©ÂÛTÚiDÈÚ¡Pi\85\89 ä\v²\7f²\ eÃ\ 5\ 6Â\vq\8bËÖu\fº'`\984\e\81öÊ\82\rüâ\8e \83F´¼\1e\80h}dx\ e\9c$\15äq\18G<Ø´G^\98ÃÇ¥\10C´A\11\11××5Ïö¤÷\18Z    \80\81Û®\8eá4\1d\ 5 ÁFú \15O\96½#ßÒþ\93\10P%\9a$0H"NÔXósص!ÛéjØõXA°wB\16X{ÞN\8b\842¿ëñ6ç>\80\f·+êq~\8e:ºv\92ö7+u">¯û\97\ 4âqHælRÀ\1dÄâRÊ"-\a\95\fÐÖæ«*M>ÀôX~^\121¤;\8c»ï,ØW±?0Zpw<\f¿\8aJ\13\84v££\ ewï觭)±\81[\10Ä&ý\ 1<Ã)Ä8«\12\ 2¯röÌ+:\9c\8b;&\96l7-ÝSöøôÂ\96\80fF@ES²Z\füï\98\92iÇr¼ËcðñÖÅ\85à$\92·ÞLâ\ fé÷\11\85j3\85ð\16\88Æ¢\aÖ\b§C\8c©!i\81?ÙK{·ñvàYmyQ\93\16Áܸ\8c\1d6\ 2\85q\10Ñ\1a0Z`\9açÉ4§ß*$^\9c\91-ÍÛv_\13\86Ý~~<}«\=ð"óë_IïW÷ÓÕò1í?\8b\ 5'ñçúêß«ÿ\ 1\e¡endstream
-endobj
-1562 0 obj<</Type/Page/Parent 1479 0 R/Contents 1563 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1563 0 obj<</Filter/FlateDecode/Length 1889      >>stream
-x\ 1\85XÛnÛ8\10}ÏW\fü\94\ 2±b;\8eí,Ð\87ô\ 6,\90tw\11\17Å\ 2}¡%Úf#\91*IÅñ~ý\9e!)Ù\96[\14m\0Ç"çræÌ\99Q~\\8ci\84\7fc\9aOèfFyu1ÊF4\1d\19M\17s|\9eàÇJZ_¼[^\\7fº£ñ\94\96k\\99-ð¡ \1c\1f\8dh\99_Þfãì&£'i_¤¥\aù"Kü\927Vùý\9båwÜ\9dÒx\1cï\ e'sܽü¤´(Ë=\r\¼Tò¥\ 1¹t+£?5~ ö£  ù­$'ª\95h\9f[Y\eë\1dy\13\9eå¥\92Úã£ð¤ðß\91ÒÔÀ\16G2¢áø&\9bp\ 4§f3ZÂnwWj*\8ct$8@ç\94áh|S\ fH8*¤Ë­ZÉ\82¤°ðfãå\93 ¼xÆuÄÚóÊ\81hQÉëZ8·3¶\88\81rRɹ\93º\80c]\90ð^Vu̬4\e¤\91R\1ct\97#D\ 3\11\9f.\94Þ\90|\15¹\a²ç¾\11 \fHü$\0 µ1\9eÖÖT|3\ 5\832¬c\80©\16\a\14¿\18p\9eË\10ïYÚ]À°\r(CùÄátrç(7ZËÜ\ 3\14Þ@\12³\v@\9e\16\1dH\0Jx5°hééñ]¢C\ fo\94\8bÓ9C,Kç&³\8c¹|ù¯iÈmMS\ 2öÒ\19\82]\193\a\8dØ\ 2\98\r\8c½°\9eÌ\9a÷Ê]Ñ\ eîù$H\19éêeYF§© ;fbKì\ 4[ f/T¥¯\98°Áý\99\11µæg®©#×¥Îí¾\8e8¡Dx\14è\8a0t{\ eÄ<\rCù-ølÁ,Sõ\\ f\82µg¹\1f\9côÁN\854¹b WHº-dèª\14\ 5\1aaml\95\11\83¸\15/\80à\92U­Ê¶UwpÞóyH\81¤\16«\12Vp-e\18À¥µ\14¾±ò*\90k\7f\12J{ü \1f'ka\ 5\8aåªU\b\ eÁ°_öÈ´èyu~\8f\87\87À»|@õ \16\ 1 ³±¢Þª<H\94ªj\ 3     @\84¡ÿ\0 +Ùaè\95F«WÐâÈ(k\ 5\12ù\8dk\9cBZ¥\aå6[¦\ fH$ðã\fzt-\94E\a;x\86ÓJh±\91\15\8b\9aË·øà¸Ýw\b/\$¿c´\99¹+IÏhÀ^Ê\80ÉíuÞg<\84-*4½MÔ\1dP%\91\1c¢\ 1a\9fB\8f\1eikdsz
-¡9m£5K\ e<\fXب2\85\84\185`qî\9b\80\1e\ 3\8c\88ÍzÝ\v\8b[H4ÌX\ f \99Ê\985?\1aé¢àµ\9d}l8vXR\ 6>¬,L\vР(\14[\10%1\e\11L×ó=Ç©Oß\ eb¢µ\ 1\97\90V\9c\1eVÂF/¬\83[àòë\ 3\94#\12\94 \8d< øsßÆv\87é«BCBâ>/S\19®\98\ eÄ\14³¤\ 1\f\ 6ã\1eÇkî\11Ö\9esò¶]\13J\1c\ 6u7l\17QÞâ\84\1egôÞèµÚ`2£l±Äh]\fkY\95\98s\87`$Xe\9f1\85½D/0¶\9cÉé OÒùøÔ]k9R\89}\90çóPQ.Ç5\8a*Jù\164\90Znä5JY\eÍ\9a~J
-æTÙ\83ñÛ¥È\9e3\91\ 1´\87Ç\97ñ·7\84$Di4´\82±-1\98ÉËWt\8cçT\1d\vTÛOmËÓJ8\88Ω» \ 3i\10 \96\mõ\9f,zþC\87\ 4\85áRñð©­ñ&7<\15$òK³\1d=\12ø_\90áÍ\88\9fé\84¬\84>á+´N]²\92\85h\11d\aÙUè#Ì¡\9eï\15&\1e_cc\18¤gxµMÔï÷¯<\e:ë]\8c(\bd\aÝ\v$º/a\1cTߢT+\19n\81\8b8\0Ùa¯¡Õ\91ÚÁ\18\87\ 3\15Ú\89½û\83ÃÅ:9l'뽦Ç\ fS6¶eö²\81/\9fÿ|ÿ×\87\8fí¯\1d\±X©¿áàY\9b\1d\9a;\8e\aÛH\1cÏÓB9\9cg\vÞc1¿Mfsbï\a\96\86\87ÝÆ·\84ëÎ\17ÌcÙ@U|\1c<\98¬(G\ eJÄq\838Q\1a\b\v\1e£,Þ6\10©x\14kðjï¥K\81ƨY\ fùN¯Z\ 2f5Û\b\8d\179ñÏ_\1e\1e\98þ\16J)-«XA®.!¬P"\1e§\ 1ÑÛ\19­ðÕ\87\8fOPö}P©\84: ö4<Zh\a\95ب|@\8bà\84^DÙH\ e\91\9aÒsË\8fa\8fC\ fý\80péAèGÈÖ/\91m«ø\13p\87\93E6¾£áí$[0þG:pw\8b\86\90C\16N\953èù3\8d¯èè\ 4ª        ìy±vt\93½\86ôÓ\174ÅkÇÙõ\e Xöu\80WÀÔH,\13\8ckWà~_ßcÞt.qð(\98ÀöµáU\93k\b£ÝAm\b²²9{{h÷\94£æm=\87ñ\ȵ\0æý&<rÚjeX\98\ 4\85F\\855u͵j\95¢\ 2\87\82\86¥¦Ä~\15ºR\15\98\a¬kã\11UJ7\Vü\16Ãm\1d·o;¡û¹à¡y\8fß,\18C~ÀnÀÓÂbà\1cíáxv,\ 5!:YÄ\19\95\16\T\1aS\eãI9\80×k\06}Øêá\9eS\13h4¬2\ 5\9eÔû¾\f´¡·Ô\v¡?ªÜ\1a\9e{\ 6õà÷&\89\80ò¡èÌ\82«v\1cB\8fð²Æpâ8\ 3ÅNÙ=PæÛ\87Úõbn+\99\1aüh+¶\1f\95×Ê\8dBãïáºÝ7XQÚØ\fzn\18×ZF<\10ó ó­},Ñ}uç"\bÈ\ 1D\80\ap\1c\ 2Á«èRiÛê\bÖÄ\91\93WF+!\ 1ªàU\15Ì
-»<\16Ë\92ð*\81ì{)[Yñ\eÏiÓ¤\85$¾[`\12\1e\94¿Kå\1c+8\ 5$(\91Ò
-ï3{~§Bå7ÆôÇ©*¤à\8c\ f\98\1dJs¨mÛr\186®Áî\9b\1a(ÐåúÓ"\r\84ñ\f\7f¹XÜÐl6\8eïùO÷\8fïîéok¾ãÅ\92>\98¼áUº[i\86í\85á|tÇ2ö»?fLçÓl>[Ä\99s3e\1c?./þ¹ø\1f\1apÒ+endstream
-endobj
-1564 0 obj<</Type/Page/Parent 1479 0 R/Contents 1565 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 649 0 R>>endobj
-1565 0 obj<</Filter/FlateDecode/Length 1699      >>stream
-x\ 1­W]oÛ6\14}ϯ¸è\93\ 3Ô\8aí¸¶3 \ fÍÒl\ 5Ö´\9b\1dt\ 3\ 2\14´DÇl$Ò#)'þ÷;\97¤d[õÐ=¬mR[¢îǹçÜ{õ÷Ù\90\ 6ø;¤é\88.'\94Wg\83l\80+í¯?~á+4\19ϲ1U4\e¶_J\9aÇ[\97Ól\82[Ó7øo\12¾4·Æ\97\83lDãÙ\14\ f\8dðc%­Â3ÃÙ\18\87OܸºÊfÝë×\8b³\8bÛ1\r\87´X!ÖÉlJ\8b"\848 EÞ[¬aÕ\94¥yVú\91\8aJzi\1dåBÓRRídAÞг±O$¬©5¾â\19å\-ɬè\8bÒ\85yvtõBy©¤öTo6ÒâyÇ\16ñ¼Õ°éÎ\17ßÎ\ 6Ô\1f^"§EÑ\13°³\11ÎÁn\ 1?+\83ì¼\15ÚUÊ{~\10N*vÌÎæ\1f¯   v¶0û¼\96\1aFùD^JaÉË\17O¢Æ1íU.¼2:c_\17·\ 3º\8a9÷GcÀ\ f§ì0z,åV\96|¬Go)\1e\17ñxOi/\1f¥íÚ\18\ e\80-l4   Ñ\7f5±Ç¾?\9a°\85ë\1d\15r%êÒÓ\TKAϪ,       \15\88¨\ 1\a¤ÜºIØ\bïeµ\89È\18\1c6Oõ¦=HJ\87Ï\85ðb)\¨Kir\112<\0Ýí\1c¬\90ÈsÔÑ»\8c®e.à\89îï>üÙºDí\8dÞ2\9cF\8b²Ü\91Ñø\85k^ÀÏA\9cù\1atÉÁ\96×ì½A12­×\9aãë\a1´°íYÙÛó\ e¼"+¬\84C-e!\8bPK<>\9aÄ\12þ
-\98À\83×-y\1cÂ\8bñÇìð}åÁ\91J<\ 5\14\99£\95z\ 1\8bÁHImÌÈ~±\86·J\82t\88_xF\11lD\15ÀÆNÔ"¤Ã®Ä      Æ\83¦\80GËÜ3cE*kbì\ fÈz\12»F\19\9d(NbWÕγR\9d\fÞ\99<\95xQU]\91®«%Ò\ 1\ 2­&%x\v\90\8e5\9b¤îÐC\16uYÄ\8b\rm{$ g\b\rX\89\16õ\8cî\8cg¦2l]ms\b)ùOs\ 6\8eñ\rò.T$\15ݼ\9f\13Êè@1\ e/·»\8d\7fè=\9c\a4\0r\8c\815\80ìUwH\1fX\98E\15YéXW¨$W»\ 3\9fÒNj\87\10¶²M\ 4I9\ 4\v¬¬©ÚÚ²ü\1a\86\ 4y\8aÒ\19tàÆzi4z\ 4ÄðÈÒSèol'Êy-\\0ö\80ô\81 Õ¦\ e\90Á¹´UíC¯bº\ 6\f\9d·ÜݸAz»ã{\15x'iÉB\ 4¥¡Ë\12\95¨\84Ï×\\14\16º\a½\1f\12ôÚI:7ÕRéäk%TùpÞÕÔ\ 2ÅYJ°È Á  Ìá\ 2\9fÙ:>K-\96%*
-\ e\19ëY\1c¸\14*\ 6¯MØ\8e;3z8\8b\80§\ 1cÁ:ã;Pu'4¿¶\12\8a4z¥\1ek\e\8dqN-U\89*\ 1SöÕø\ 5N'Üþ\14\99\ e¸þ\88g-Úì\9bl\98aØdt\ fÙ\7f\9c·¥½[p©0Ý\8e\87Fbl4×\90ÿ ñ¤fáצ\0½¶¦Ü&Z\8b"²º­äÉqÊ4aYTË\8c\13¦\95*e\8aýû9EéOÊ÷\0ä·ô×~\94¦\89Ô\9cv2¯­ò;L´¨¾\ 6îι¦d\8dFßÒ«;é¯?|\9a\7fåIýÕ¬¾~¾ùùÕ     $\18Ö¶\98ä\9f±\16\88]È[\15</V;f.\88\80TÑv,i\83ÙÜN\82ÀéÖûF(t!\94b+JU¤Ó\19}b\8e§\96Ñ$\90v\ 6+7\98\vJ\83\15`?3ucÍ\16®\v®(v\1708\8a©SZÈÓ  (\15\v\8e59¾\846C&\84\19\9c}ã&Ê\92\93Ö"îÜ\14ò\94J°éè¾\83Çè\b\f¯p2t°#\16³pPí\15¦#> G\ 6"7õ±R8\83¡s0ýÑ\98Â^Õɸ\ 5+µSAKóX\a]\85­*\84Ü\l\ fs\1e*\ 2aeÅ}:=Îò\ f\92¶ò[\18V\88\11é\aS\1dÏGûY(\15\12\82fð¯Äøà\86\82.Úd\9fÊ\9fö/Æ#\145\16©í\ 3_b\1f ´àTã&ä\8es´´'25*\82Q\8e¦F¹´aùØ\ f4N\85ë~´øQÚ\92\18}x\r\8d{ß³9Sî\96O°ìºÕ½\8f[Sx®Éªc¼0P¼\95\7f×\8a\90\vº#&¯ ç\81\97À&{¯ÕK³_\85¢3\rØ13\ e!¥Õ«\93oÚµ\97\1c\1c\92\82Õ\8dE#Å.\8d\ 1ÃLáÞÏ\1e\99Lú°\99Å\95;fsq\8b.\88ÖÇk~ÿr¸ï\82ã\8cnLÅËÛo¼öÒ<\11\91£Ø\8fQîuünÐC\994¹°\99"b\83a\85:B;JÇ\aöëÂAÇ)\82\83c\8b½È\8f\88é~ÍbH"õ\13-10\81\0ªÆ.Ö\81È۠и¹bÖñ\0Ì×
-Í"Aúp\1eÄ\10j\1e\97ZÌÂ.?¸z\18tA\ 3(\1cÓ\8fñ^ã½æq͸#¶\8eã\14\16¯¿\16ïI¼\16Ä,ÿeä\8c1vRz!­J6;Øqå0\86\9aTSêÇàýhô\84±\13·'\ 6´3t \eÇ[\10ßúßfÎÅí,\8dÙá\ 4/¥³K\9aLùí\15\9c\99¿ûxý\8e>[\13úÊ\8dÉë
\rúç´úÍ\ 3ýé\0/eÍp\ 6\13ÃKÝ÷´\1cOÇÙt2\ 3\93qøò\rÛx¿8ûýì\1fÖOúlendstream
-endobj
-1566 0 obj<</Type/Page/Parent 1479 0 R/Contents 1567 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 654 0 R>>endobj
-1567 0 obj<</Filter/FlateDecode/Length 974       >>stream
-x\ 1}U]sÚF\14}çWÜáÉÍT\ 2     Y@gú@Bh=\13LZäÉKg:\8b´À:Ò.Ñ®Àüû\9eÝ\95p¬¦µ\8d\8c´÷ãÜsϽú6\88h\8cß\88¦1MRÊ«Á8\1cãÉíòço\83d\12\85   %I\8ckEÉ4\ eÓö®¤­µ§$\9e\87±=\9bXCws;\8aæöÙl
\18\9f\9aÓÞùL\92i8ë\1f¼Ï\ 6£Õ\98æ\94í\81*\9dáKáÀ\8c)Ëï¨ýÑ<oja®ô+\15ªbBþ\94=\ fÆ\14DcDÌ\8a\9bÝEÕ_\ fµjN0\1cJVqR{zÌZ§á\7fx\9d\98Öð,HóúÌkø¾³\96£UBQä\81\ 5qjódGN\8dvQ\r¾\ eß\r\89Õ\87¦âÒ\90Q4ìE\1aÒE\94%åÌúhVí\98µ*UÎ\f'\eÀ\17\92¦Ve\89ÜB\12£\v»vP' \19\89\99d¥:¨FÛ\0Ö\13&ø/4á¯P\12\ f\ 4n%­·ôEÈB]4ê\ e)kM\2¾gMihÇ\8fì,TS\87m\928EÃ\90äA\12X\0\88½ª}ð\8a\9b£*lNˬK¼ue´LIÎ\v\aéY!·Mò&?\bmûæ\v½áéUç
-`\1a\12È\7f±ÇÐ&H÷À6?\8aýoî\1a-äÁ\83ô\8d\\83\ 3êaE\ 1V+\96\83!N,ÏU\83\86ù*y\ fË÷õ9\82F«¼\95A\0ýF\14µ-ù+N§d\9d_uâÎo¨\1fù\8bù\99\94ÇþIÈæ\85ôU\e^\11\7f\ 1/\86»:G«û6ü\1déjç\14TPPÓçå\87¿\1f\17ë\8f\14<Ór³^<<º[\9fñ-$ÌJq÷\ 3<A<\v£ù+\8fO\9dt!\9aJ\15NǬAÛ¤\11Ф\0ÖBq\8d\91ýÖ\bÌ-NìUA2àO\e&\v\861y\92â¥Ï¢\1d\v§^¯ £z´bÄÄÁj»\11\ 58ɽþ»V\1cÑü\1dç8\7f\vÚY\8dsÀ©\14\ 6¦ÓõòC«£Î;g\12Þ½\84;\8cÙWÄ\0úSÍÏvBí\ 4I$º\92²\95!6\1c¿\13l^
-\989\ 3;K\aMºÉ\8f\ 4l\9a\e\ 5{!ϬD\rúÈ1Ú^õ¾'XªÝ¶è42â&\1fù\96z\9bn£Ü\112Õ×þ\ 4.À@ix-Ñ\8c³cÞófs?=,ݨu4Xµ\95\17#¯Ù\8aW;TÕ\8e&Z\8cº5Ò\80\84v8áºÃrè1µÁÎ;\v~¡üÈNHî­áÿûæK¶ÁrÂbÊ­8Úq\98S\84ua×uàÞ\13ÐÞ}\18\85÷!-\96\ 4®ñ*h\aÿmÕð\88§V«+,\18!1\80\95W\1dÛ©\ 6\e\14½Æ*Ü\8bCSûçêäDy*9\83tk¾·]ó\v\10\85Y\89bÃ8\13{kJîj\e­ÒÛHyjÐB´\ eðz¥/ÝË\84Ö\8e¹¶¼Yë\e¥x\83Í&4¹\1fû-´]¬ß/ès­\9e\91\93\96*w{ß\ 1µa\83Î!\98\8eí[ìÿII¦I8Mg \11\96\93Ô\ 6ø\98\rþ\18ü\ 3\vìN\90endstream
-endobj
-1568 0 obj<</Type/Page/Parent 1479 0 R/Contents 1569 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>/Annots 657 0 R>>endobj
-1569 0 obj<</Filter/FlateDecode/Length 1345      >>stream
-x\ 1¥VMs"7\10½ó+úè­
-\ 33|:7\7fÄ\89+eÇk\93J\ e¾\b\8d\0­gF³\92\80åßçµ4\83\ 1{+ñ¦\Æ\ 6FÝ­×ïõë¯\9d\94úøIi\92Ñ`L²ìô\93>>Ù¿<þÚ\99¦IF£ñ0\99RIéh\80¿ñ]AOü8\8dF#¼\ e§\13¼føµ\8a\16\9d¯\94Np.Dç\7fR\1c\e HÆIz·é\88®\r}î\Î:½\9bsÊú4[àáñdJ³<äÇ'òìj%j¯,\8d\13z\12å\\90p$*º\9f\rÉXúKWÙ\v=X]
-»û4ûÒéS7\e"ÀÙµ)\85®èÊTÞ\9a¢P\96¿åDé$&ê\ e¸\14<9NÒ\ 4!\94U_×Úi¯èQ\89\WËxbHiÚ\9cÈ&É\98O\ª\85Á\15wfM\12ñuµV¸r8CÈéWÚ\91\8cuÿDu¡\84ST\8a\17En\8dc~%|8+ðF\9a\12±¼\98\17\8a¶Ú¯8àB/×\16ùi.\9c\96Í­ÒA¬v¡\våÈ)»Ñ\12ÿ \9d+ç   \9f\ 2,9­Ì\96¼!U\85\88ü\89ÈK]iÇ\18Ö¹­±9¾\96vW{m*\ e\10pMh¶R\ e\11ýÖ B­¥;É\1cËÝ\0§<ÞRQD\bì  \b\9dµ\95<\9f\8d\9e?\1d£w\ 6\0ªZ,U\12??îCèØ8É\12º\14òeiͺÊ\8fÏs_\eôg\f¯°^K`fÖ¾Ð\15\97½\ 2¼^Õ\8e*\ 5`\1cø@@ö\bÏW\ 2ÑÃõUB·\9e\10êõy\0·\12\eE\82\80ÒKÃ\0dn±\8fç\19{\ 6Ój\84Ç\11]¢Å¥b\1e,C\19\88M\8bu%\19_Qh¿\vw\86¸ºÙ89$ga\96¦r¡L\1097[\a\10\ 2êA\ fýoøó÷\ 3¨i\16¸P\bF²ÐÈä\1a\14e\83|w\92LYÇàæs6\9e4}i\99\e¾Ü_â¡\10\92+m3\9es\9a;01FæÖ®qE*ÔF\15 \9a\ 4\17}ÐVïæGò=*oµÚpJA\ 5\88Hf\11\8esâf£i\vkJ|\1f\11f\0\ 1ìi\85=Fç\0\19fÈAwÞÃ)\92è¸ì¶\9bßEªíÒ£\11\90Î24\80U÷^°ÿ\86ù½\82ªìKïi\a\8a\96ô`
--õÇ\ 2vGÉùô<¨`:\bsë´¼\0gÌÐk\12RÝd\82^@ë|#*     õV±\9cýh°"\8c\82¨ú0\9fN =\94¾SµÀ\ 1Uìâ\14\80\82r#×,\80ÀÊn\96%Y?=¬\14\93\ 5$/
-³e8\ f¥\ 1\10Bi\95
-c\8bE\1c)0\b.\12FçÏ\Ì¡zZ^°V\90;Ìyo×Îÿ\8f\ e]ä<ñ\e^n´\b\93up'*\8c-\eT\1aMåCiºÙ4I¹o\8dôÿ\1d\8bû?f\18.f£s´j¾{\ 5ä\r\10O\17\9d\1ad\8a\r\f\ 6r\88\ e@|ã\83\8e\9eÏt¢\92\ 5£Ø\vî~vÒÿK\b\12Ã\8e-\87\9chÇû\ f\ 2³\91ç\ 1\9a¿O\8a\81÷Nµm±¿+;WÖÄ\99ÁÇ1¦¯µUÒ\e»{¿\9aïIó´#\ fÑ +\ 3ç\ fÞÜ"ØNÆ0\85\7f3åë\8cd=ày\ 2ëàìªDi\8eÇ\9ahéÈÎ\83\8dÀñxo,*\18ÚÁ¸j\17\85ÆÉ\82ÿÚ¸X°\fÀ\0o¤)\ 2ïܺ®±%ì±:ÿÖu~\aûkØß\18   ¯\1d\86Ý(¨3×\8b\ 5̺ò'Í\f£\96÷§\1eÇÃúäwõi¤°J =s¥*\l\81q%
-(¾)\ 4Ää\e:ÆÄë²5õñÁªÔÐýîi_4¬,\80¨r\1d7\ f¸\1d¨\1e\16\15Lû/\ 6\88ì\ 1ä\ 2r\83éÀ0×Ê\96\1ah\ 3\16X\13\ 3}tïÆ\f[»ãU¡É~{hÍ\87î"±B\86í*Üj\8eëë¨7]¡\94\ 1Í­\11yÜ'Þ\987VÊý\86ö:°àY\8cs\17«P \1evJ~\8f·{ç½\ 2#\ 2ïK!WXZ\98>°C!%ö\1d\1f©Í(°4Z7F5\9c#Þ÷(\ 1\96¥Ó\ 4Í\10cì°m\89%\aj\90
-\96Þf:\8a3\88qz7Óv\99ÈFÔ\1deI:\18ñBñ\81\ 5üí°áLÃÉ0\99\8c§\11\96Á\84?úeÖùÜù\aýGÄ\7fendstream
-endobj
-1570 0 obj<</Type/Page/Parent 1479 0 R/Contents 1571 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 702 0 R>>endobj
-1571 0 obj<</Filter/FlateDecode/Length 1462      >>stream
-x\ 1\95W[sÚV\10~çWìK§\8e'\b]@\82f2\1d'\8e\93<Ôvcf:\9d8\ fB\1c\8c\12I\87è\1cBÜ_ßo÷HH`\92\18\9e½|{;|\1d\ 4äã/ $¤(¦¬\1cø\9eOq\1cá}<Mð\1eâ¿V´b\ 6D÷o\1fÞ\ eÂqìMh2K¼\98J
-ãÐK\1aª »A\9f.)òc/èqû4¸aâMûÜ\1e\rî$ð¢\1e7\f`p\12\10f§±7n\b±*¼`\8c\87%%>D&Bìyã)GTR<\86EGt¼$\10\9d\81?åø\85ê\98±/Jg\ 1\1f\14¢ã\8dg\82\8183\16¢ã\ 5\89(u\ 6\85Øó¢){QR\10DÐí¨\8e9 ;\83\91\10\1d/ä<!      ìFBìy!òÆ        \99\ 6\10qDÇKb1(çB!:^\14uA\84BìyÁÌ\ 5?\8e\10\8b#:^â\82\17´\ 3!:^<íì\ 5Bt<d\90ýt:\85èxH\1a\ 3ãt
-Ññü±Ä.ñ\ 5Bìy3ö¯$\94dHò\9d9QÌ@8P\82p
-£B0ëÕ|0º\1a\ 3\7f\9a¯Ð\añ4¡ùRªÜ§yv6_+Ô~\8a\7f\95ʼÒ5-\95MóÂ\90ÙfkJ\rm\rX\9bZ¯òB\99çd\1e\8dU%mt\91g9?P6ó<\8fÞé\9dú¦êç\ 4UÆi­´¥JeÊ\98´Î\8bÇgóÏ\ 3\9f\86(\86\10n\9c\99\8dÊòU\9e\91Õ\94Ò]Z.Rº½|Í&ËÆ4T=\8a\7fµ*R«\96,úW^-õÎÐõ\1cºíN×_òê\812]ejc\8dÇFFW3
-\10*Ç<\8c¸Y`.ö"\8f^ëj\95?lk>\ 2å\8dÕK]¦yÅL[ë¢PµSÒ\ 17\14D¡d\8e3«¼6\96\0Â\86p(«UjY]J­/](¹a\8f·ÕRáHZÁ\7f\9cߤuZ*\8bG{p\1eY\93)\17\1eÂX\ 1J¤å\b¬\1d\10µÀ}cY£ú¾)Øã#uv\9dZ\81+ÓÈ\ 4àjDZÍT¦\15Ì?(A Ø\84<]\10\16\e$8\v¶ú\9e\96\9bB\91\83\0³Sjç¬Uq\88Ì\19­P0iæ\0ÀyNàoíÑY\93\81°ÉÀÇ\87B/ÒâS\e\9a\8f\1e\80qÂë\ 5½J\rJ\ 1¥\ 6ÏñaY¥aI\19\87à\11\17¹\ 6r\80\90¹gô²q5%±wv{óöæØ\83ö4gè¡ÖÛÍé£×\17\1f®ß_\1c\1c\1e:óò¾÷\15É0k½-\96\1c:×+çaé\8a\88³\è,-\06j¤¦E\8dju%u\18
-¢(Ð1EëK<æoÜ M¬\9bZ­TÍytªZÁG%Àô$\eÛÿ%Ö÷ëHÙÉ8\8dÊÐ*öq\9f\ fº?+·(~\19        {îK¡ï\9f±ÊÃ\10[\91Ö\18\9fãï'­©*«\1f7Üå\9bÔ\18¤j\89\82âù\84\ 5ýu\9bתT\95u\ 5ÇeöÔZ£ ;Þ\9am\0;iÕl7\e]Û6}\85~ÐÕ\89ºk\10îØ\x?Ó»\93Ù\8a^5V#\88\83!úûSßE1<·ëÖé{¼~¹¾¿o'/¨-óNFá¬q\a\8b¥_\r­u\89\9a\ 4j\19ìc\88¢,\9dPS¹¹¥\85¢Ro+F<µ?ôiYçßö­öN\9a»WyÎo6Ö÷\9bi×Ê?õÚm\08G\ fªR5úß©3Y\9dcÐÉl)
-\89è¸âÝаk\84,QË\82\80£t~~ysw~.Pò¨äÖü\88©!\9a?¡oQR?\82ßÙm\ 3\91\13^V.O þ¢7ºE¥8Û\14   \86xo\8fôÀêüxêA?õ£­©GÒ¬#ÃkqTä\8bQ\e\ 3\1fíéÄúY\92®Üví\15eOd\87\1eVTäƶ¡ñçèª\9d\98\95M\97Xýî¡ïÆèQ\95½pÀI\94\мð\ eJúÈ«\8fmÕÊ°?\1c
-\a\91b\93¡ûFX/£Ê6\87\8et=\89°ÒG\12²\83QÌ©ùÂ\1c\8f}ÿHªk\86\ 3ÁÄ      v÷¤6ô\98\97Ó\ÚØ\8d¡\f\8b\ 3\9bQ¯pùÉ++»\1d\ey\8dÍõ\ fÖ§[Çé\ 2»\97¯#rÏÀÕ@W²mñóc¿nß\9c\98t2WÑ\91ªJ\17\85Zzt\85ÍZòèhïcºBS︦\97\Ö9®^² ð¤\8d´¹Y½¹~ýáïÛùû\9bkomË¢¹\13eÍ.\1fâÇH@í-ì>\8c\93f\83N\e\81 Â­v\16áw\12ß3\ 1ÂÝÅ\1f¯.è¶Ö\9f1MèRg[\1eÅ\12\e[\1e\ 6\10ô§\11\r\13\1f;øÿ_µÆÉØKâ)nk8\1cMYç\9bùàÏÁ¿ò\ 6ÐÕendstream
-endobj
-1572 0 obj<</Type/Page/Parent 1479 0 R/Contents 1573 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1573 0 obj<</Filter/FlateDecode/Length 1956      >>stream
-x\ 1­XÛ\92Û6\12}\9f¯èò\93\%Q·\89¤ñ\9b<¶+Ù²\93ÙD»\9bT&µ\ 5\92\90\ 4\ fI0\09\1aí×ïi\(\89%W¼\9b\94my\86\ 2ÐݧO\9fnð÷\9b)MðgJË\19Í\17\94\957\93dBßÜ-ñy»âÏ\19þ\19\9b·\9b\9bñ\87[\9aNi³åµ\8bÕ\9269aýdB\9bl°ÙK²Ò<KCek\e²m]kÓP®K¡**ôNW\96D\95\93 ×\9bÏ8\fvÝa\83_+Ù¸ï\7fó_D+\ 3²{a¤\7f\98\85Õ£e²b¯7ùàq¶X\86³â\16÷åh:Of¼ ïS*©\81\9bÁ¥RØ\ 6Þ¦F\1fà8ÁImrü°Õ\86þ¥ª\1c\8f)+\94¬\1aj4\ 2ÈDã÷\870\ 5Âaß&Ô\19|w\9fÐC!\85\95\0m\8b³°\91->\v£tké{Ù\1c´y¢·lSU;¸\92µ%,\88
-.dE\9bË\9c\ eªÙc£²\94\18\95¶î{xÖ3\98ËF¨Â&×0\9a-\92Û/À4\9a­\92é\1d\8d¾\99%+^ò\93(SAsäZoá6\ 2£L\97u!\11±âÿO>ê-í\8cnk*E]s\b)b\92²ê û~ã\17ødÿ£R/=\9fÝvK\8f\ 3\17 b4R\14Å\91~o\15Ì9»\8a±Î\19=ùR\17Ì\1fü\15 \ 33ÊÖ"\93\8f¯CÌw4\ 5\11·`Äh~ë\ 3FÜ   ÝãÔ\86ýû$²½ª$m\fÓr\9deº­\1aïÜß´ªxɽ˲\85½àêlâOâܽs\ 4ö\0G\9aÁØl\99,\18º5\80ð\ 6\1ag@x\ 3\84¸\ 4y\ã£f/\1a~ÞZ\1f\9bhq~Õ¸`\19qϵxÜãÀ\b|\ f\ eí\ 5\a\8f]æñõÉÇHröÑÛñ¼Lè»S2@ðRU\1aÕu\1czBÁþS¥\ f8\91\1d|u\8f4·\\ 6\ 1\98äU\84 °g\83ãka-x\9b\83\1dØ\13\1d¼\8cWd\f*0ÄzW¶9ä 3²qõ\84\1f\b\92\15\aÌt\ f,?\87ø¬\96îuÕ\18]\14Ò$´áRp\88º\83Ts¤-ÒËG\82\91Ï\¥\80©­\18TmÔ\7f\0qt´³cE)¹\ 6ß~÷ÃOTñ/[£Ë\1e=?\aRp A)Xµv`!s\ 5É\94\96©\12¿ä¼\8c}I\84DÛä¬\18\864\9bL^\86ôó\ 3=\18½Å^\84.\8a\9eQ\9f{G\8dÎí\v\90 \ 2ݹw/4¦O\12\1f8÷[\8dHâ        ¹¦J7    }+«L\ e\91®(e¼¥gõÊ\ 1\8cr\ 58\r\ 1I¥,Süæ2\1fàHe&\105)Vw\89õº¡Z[˸|\81\1eÃ\9eeF´ÙC\11÷ L¥{\8cé\12\16\ff'*\84s¢¶­»ð\1eÞÝ\93\81?\12\ 5y\1dE\96\11ÎkÄäG¹c}=&´ö54\9a\13\1f$
\9dk\9d"Äj\83       `r½â+ès\19\95\1cHX\b\9aH\vI©È\9eF\12!ç¢Ácö\92)\ 2\8dw\85\v£p\8aË\ 3\fF\8f*Û¢Q\10Ý\1e\14ë*Ê\8b§k\18 å\e^;þ°8õçQ\84È\96)ê÷\90û\15\ 64rHxu\156S\8a
-¾:ïr¯Qé\11X\1aÈ\92!0\82\89k\99\bÎéP\94n\ fò³U»\16z\85%=¯uíjÝHÈ;'G\10·\84ñGUµ/d\8fhÁ%×\14\8b²\8bëý?ßÿø\v¡\9cÍ\11-BÉ7\94j\0ÅM\99+ÍM\10üKÈAÏZ¬@´\a/\1aο\83*
-\ 6Ö÷ð<°à\12²\ 1dD=£íôqÊáv\86\94±;¹Ü
-$\87\8bdÜZ3æ\ 3\8b1d%\15ãB¥ãp\ 4\ 6\89\9e_P»ÂE<\96Mæ7t\1dìr²\99ßù¾r6ÜĬúá&öl\9fW$ößUëæ\90ÓxÆÉu\92é¢gé¬rY\83\80\ 2 #\81N£=ô\a\95Ë\0\8c\f\9c{äW*Ë¡\8cÎ\84\90ú©µµÌÔ6ª{°óªBìÐü\97.ËFT;ù*îæRCËr\98\ 2ÌB:¢\9e\99ëât©¿\9eÊþDùG©üÚyé\12ù\98\9a&O\91ò>OF vª*\ 1¢p\99§<\ 42T\÷®óG×C\85y)ò§D;_AB7\bùªëÐ:\15þy\9e\×Î\13xÛsÕgøI\1eQ\13\95ÜBÆ]®À\93à¿×1¯\axêç\96ÆÉ\93s>®Óég\94FXÀâÅ\9d íë\16×d©\81    ZrÐßÆ\88\±.\88\82¼\ 2\ 5\93\9d\93*PÚ\99þ+\92t­6
\14æøh\8eWu|Lõ3ú¦\93W\a3Pæ\9b\0×\fÆ\19/ïÀK\98T!\fd;Ê\12£|ÆÛØ$¢$¹qG£\87{)äYÂ\ 1\eÅ\ f\13\ 5$Jä<ÿãç³\1a}\1c8ÕðùÄ\bÈn¹\92it\1cXc{êdÖmÿ\7fê1dè×]¡SÔæo<Å9\ 5÷õÜ\v\12\19KXý¿\9c°X4\7f¨gE.ê«eµ®èã»õ\ 3\8a\89çæ¨>¸hñlëØ'ý\ 2?ÿ2x\02\88\91Ì\13\92»7ħ¿\19{ÁÞkÛôâ@C   +0\11æ:)[Sï\8f\b-\94ù¥FG´¿\18Sì½!¦k,\1c]\vÊ\8fÄ\98\87.\ 5Ó÷N¾\83\rÑFÀÞ®P\1cs1LõÂñ
-å¿d>_-¥+QÄé Þ\ fcòÂtijÑ\90öúÀ\ 3âð+Ç­\ 3\ 6ta\1a\f°\18õ¶\18èQMn\ÁK\84nH\89\ 6B1\84³;½\0/B÷\86fð9®æ>\8aê\13D\87gI\:»K
-FÊ=\ 6\8dÇ\ 1®\1c\ 6\98\15GFçô¾á¬F;\1cý\8a\18þÀ\8f\ fñ^\15+4̸<ÄÀ$\À4TáâʵÖwà\7fEÜ÷öÈ\9b5nJðÝÖºÊY(xd\8aý\13Út¬ÑdùÊ|j%\97!\9e\vF/´\ 4À|hÝÕÉH÷ªÂ\82u\98\8f¸\9b<«ð\8eÃoºd}ÿ\9dË*\f\9bÓù*YÝÍi\81\97Hü.aýéí\9aï:Ü\ep{>{ÁÁ§\8e¦\v¼WZÍi´\9cÜñú?q[wÈ\9fîç·ËÛd¹Xù\97Có;¶ö~só÷\9bÿ\ 2-\95øxendstream
-endobj
-1574 0 obj<</Type/Page/Parent 1479 0 R/Contents 1575 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>/Annots 705 0 R>>endobj
-1575 0 obj<</Filter/FlateDecode/Length 1681      >>stream
-x\ 1\9dWkoÚH\14ý\9e_q7[        ZÅ\ 6\13\ 2\84oI³]uµm·\rUµR¤Õ`\ f0\8d=Cý\ba\7fý\9e;36\86¤I»JI\89=÷uî¹\8fùv\14Q\1f?\11\8d\at:¢8;ê\87}:\9b\9c\86\13\1aNÆø>À'\97´à\178Úüúô»=:è\8fÃ\11e4\1aá?÷GJ×Gß(\1a\87\ 3§\9b¿DÐ\17õ'8\ 3\13½·Ñ\88®\f}<º\9c\1dõÞ\f)\8ah¶`û£É\98f\89µÒ§YÜÕR&T\1a\8as)JI/g_q\1eîÚóÝ\9e,ãÞZ\14Å&qojM]\92ºÌ\95\9b\97ü&\80ê`0
-\87\9d­$â\11ø\94\eC\e±-Z\162\11¯\94Æ«¼*J\12ql*]\16SVÒÖñNèJ¤Î-etH\97¦\Q¹\92t-²¹ ¡\13\8aM\9eËbmt¢ô\92>ku_ë³Æ]H Í·´ÂñÐE\10ûØ\82q8áÔÀß\9bÁhì#¯ã³/\83è\14ÀâÀñ\a\1dÀt°H·Ç-\97\10§÷æÑ H\15$ªÒd¢T±HÓ­\aÙzä£(9$v¬O\8dµRe\80\aºãT\ 1eVóÕ\02\9b'~\9e\ 2$7Ý7&§BÆU®Êí     dp\14ÿøL.c\93eR'\10Ëd¹2       2E³\aÆ\9eÀ0\13[\9aÃ\vË\8cä \14\18Îl\8aÒí£ÀÖ\ha{N\11è±\0O&atNÁ\19@ftÁ\9a0
-Égü5\9bCÆÉ,ðÈqef¹rá¹âòXg
\r\98ÒÌ:Z¨\1c¤*J¹&¥\e\a}ÊÀ\11\81g\8fÐÏ\82f\ eÎû\1c<àØA¶<\83Ù\9e\a\8a'D"\90§Xh\ 681(\87ª\0\87\9d\82³ºúèN­7ûÑv       À£\12dN\1d\91$\10\93y\a\85\90!\19àÇJXºh\93g\96pxͬ9pÙ׺\96\9b½¢)Ø-`hÒÔl¸¢à"<\94÷"[§ü<\a~\7f*]ÝÓ\°bÇaxp's[À»ÎÁYñÝ 7¦üõ0²^Uä½b®4¾È\9c#    \96h_\10\97È»\9e®Ò\94\82ØÉÍ\eD\8eëüi\15ßj\91ÉãCÍAA=Ö»\10ia+«÷f'î¥ÿaÉ\ 3Á\17îï:{Ï\ 5à\9a"\ 5é¡\87Ï\9bh3×côAÓ«Ëë+*¶ànVøR~À\ f\9dxÅÆ;T\95*EÝÿ$òN\9a\ 2A\1eº\ 6\9d§<\9f¾\9a\b\9fþtÚÇÏ\17\93ß\16¥-Ô}\0\80[Ý5\9fÐ7mr<u,Ð&5K¥½K\8f ÄÌÜÏÐsÃiK\e\ 5\ e¥
-\1d\ 1\ 5ÓT>ç\1e¯0M\0Á\8bc\12ëµm\93'´1ºSbVÜax\91M°É\13<f5ü\94í·â\13dIZ¬$ÞsùiC+\ 3å\89B÷-M¾\r\89\et]@»æÃ.$ÔIÌz½íÀl\95&Þì\8f7\91\96#<\8a·\bô\96[\96\94\9c»-\13yèæ²µ÷bz?=ë\9fá\13\bw°ÛäË\97V\r·UÓm§ì ¾öÒÅ­øbnîä\89\93\17Mí>®¿\16îÖíPè-%²\88sµ.\15RaóÅÍ\87\93èFâ ©P\86't\896\84\19W¾6Ùº*eî'Qm²\ 5Qc»)ü\9d]1/L
-q\fè\8cw\12´d6õ^\96\97o?\;û\18F;ó¼ÍàÐãCy\ 6\15«: \fdj²±\8ag\8c b×`-ÿ´)íL_jõ¯K3   ´ç\86Õ{ë\94Å\81\13ïÛË{³\81\ 6\eÃ\83\89ÖlM+¨\9cK©ë\99Ï}\b    \90÷õLm/rüÊo1n0ó\848\88ØÚs[Llt\89­\85ç
-?Ý h\82[m6\1a\93S\95
\9eÏÑþfØÔá÷f&ksL«çf+íE6w\8dú¦;q\8bên\19\ 6áüØDÔÅ\8a=á½õ'Ûic\81;j\909O\9a\96ZÇÔ\1a85ïZéÙ°]'YS·û\84d·Þñ<`\9db\8f«n\8a\7fz{Å\e\14CÍs¾Æ¶ÙV
-ZJ\8dÉ[J»Ù·0[ä&³r\9fw*¾¿%ú\92«±\1f\fÂA?\ 2óÎÃÉ`Ľà\ f¬®V\9dßf=ñÝ\ eK
-;j¢àEºu\0´à\89&aÿ\fÍ'éºÕ°^ \99Bß!¾[£`\ e«\8bÛzk¬ä·JÝ\89\94÷iÀb7 «\87­¶\82¯qÚ+'Â6*è\8bÒ\89Ù\0ë\19ýuõº±\84j¿¶\e\10/°b)óctý\1aB»Ê\vÛ\a\82\96\95ÍJÅî2ÓÊG½g{\80¬èî G\8f{\8e[ð=\80ö\1e\84ëÍRÚÇ\aáì\86ØÖT¹¿80$wUÊÙ\9f\83=ly
-3¤J°V²\ 5F¦-`\97S@°C\9dçç\81-¦ZÁ³µÝ8Cº°h)Í\1c×%rh¡åôds\99\175I[áØ~g·J2\15®\88\8d^*ò%\86¬\æR²8o\90ð\1fÝ\87oZÈ\15"**\0ì0ÃZû·©Ü|µÍm#r\¦~aµ½7¸4Û«n4\1c\86\93É\0÷ã~8\98Xæ^_¼»\84÷¹ù\8ai\8eÛt\ñ¬iv\9e \1aáö>9¥`Ü·,ý?÷\98áx\18\8eG\13w\ f\1döÙ§ßfG\1f\8fþ\ 3³Âûhendstream
-endobj
-1576 0 obj<</Type/Page/Parent 1479 0 R/Contents 1577 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 708 0 R>>endobj
-1577 0 obj<</Filter/FlateDecode/Length 1502      >>stream
-x\ 1­Wko\1aG\14ýί¸r[\99HfaaÍCéC¶\13·®\9a>bª|¨ûaØ\1dÌ$»;df×\98\7fßsç\81    ¡VUE\96\110;÷yι\97\8f\9d\94\ 6øKi2¤Ñ\98òª3H\ 64\9eÎ\92\8c²é\ 4ï\87ø7\92\96|\80Gw/o\7fì\8c²)\ eϧüZáú8\19\87O%Ývö?ã\14Æ&û§{\9f+ÊÒ,\99í\9dr\10Ùd\96L\8f\ 4Aé(åãO£»\9cwú×3J3\9a/\91Ðx<Ååyá\ 2\1eÐ<ï\8e\93,\19&tò[ÝkV²w]nOèÊHÑ(]\93\e\91¯T-inZÛÐE\9eë¶nì\8bù{ØÍ(M½ÝÞp\ 2«ÝùJ\92\95¹®\vºë
\1a|¨*Y\17²¸{A\e±e\93¹3_ßS\15l7ζ\b¶IY²ªZ\97[j4\89²Ô\eBht+ª\85\80yó \rû\1fP/\1d%Cö\8bç\9c\ fV$,ÕRÂ'mV²v\97óRɺaÓï5Ò)Ø4\e-t%T\9d\ 4{CT\83íݪ:\97$\11^ðz4Rd÷±UFZ\12\94k\837kd®\90Ø\9fµz¤\90Ï\19N+Ù¬tAKmH´\r\6*GbÛ\834v\85áÈömpÜ­mù
-Ùv½F2ÅKÄ\8f¯w1 êKuß\9a]çØ\88(
-\\94\86lnÔº!½v}Uµo \10\1e\e\18Ki«E¦ü\ 3±ÃÝ\84æì-$\82wµn¢ïâ\8cVz#Ñ\96\97ÏÔ\ 1\97Ñ~QZM\v\19ÚU\1c\14 \12µKò°\1f\97\92A\0¯¢&ù(\80\r0\8f\8bIoeñ\93hh\f\1cü¢êö\91ìÖ6²r\ 6ú×\ 3\9aE|f¾³\7fÝ\97z!Ê¿£ã\81£C\97\88¾¢o\93$1\92ñP b\0êZ\18\81\8c¥±8ùþó+\87Õý\8eú­5}»P5ÞHÃç½\82ú\85|è×mYRï\9eR¨EÏR\9f\9f\1a\92zoè\9b\96\9f\98Ú\e¡3\85£ç(¡\9f\ 1Z\ 6\16÷ôÊC9\0ø\95\ 3°¿\1d»\ 5\ fO|\\e\9dË¢e­BÅ\18ýl\b\88ýÄ\8cç\ 1=\b£\80ç\8djVÎ\17zj\83\10¼CYôÆ\86Ê\8e\ 3\8e½È\9að\ 4\r\a\83Áç\ 1\ 5\8b\8c\94¥Ì\eËdäÀ\9c˧¸D`ç\19EËÈ¥Zãy×û:2\f¨(Ð+k7Ú\1c"ªY\ 1\1d\0ÎÚ¨\aUÊ{Ïü\9d³@\7fº\b<\17E\85úØ\86\0úxI\82\98©D&Ìd/Bñ{g}%\9c\1cîÉ\91Ñ ÇΣ%()7n_À \86\15\v\0]\92\ 6q­ðʤ\96`)°ã\88ºQ@ÍR¨\92Ô\92Á\8f\ 4U-ÌÖ\91:\ 22\88`\f
-ÙÞ#ø\9a)+wuq5s\8a\11\9f³+Ý\96\ 5G`eã¤\96
-µ\"
-\be,'â\81[\ 4uèÌZ\9d+Ñ nßê(%ݾlò¾»îzñ4%º\9c©Ù\9e¹H0%Z£\9a-4DX]{X1n\ 3L8t+­\ 3ß\aéÆ\ 6W&\94ÿx\97\ 4C      ÚÏ"Qçfëµ\8eo3^\90d\13(t\90Ë.WP\9e\9d\1c\15{_Í£G \vºô$jè·\9b¥Ë\12ÉêÃYÕ®\vW64T5ÐC\14 ØBÕ\80ºH®<\90«7I¦)æº\9bqwÃñ$Ô:\92Ï\1d÷ÒìÜOÁÈ\92_ç¾%Q\ ez{u½y&EÌg\e\85\19EðR\8c\f<zo
-´O-1¸\1c\80\8b{H\ 5\86{ë!|\ 4%AUj¨è\19\ 6\84v\83#_Éü\83«õB?Ò\89Û7À6º\ 2½[°!î\19\14\8b\rB7\1c\v\0\9e\v\v\8b\9fÃÒ\95\91»|¼Q¸       ÙqÃ\7f'\ 1»'\9f[\b\9e-\e¬BÀþ­ÿ_¨z¬q_¨la\ 6\1c°\80\91\1fúåF\86,<\99\16\1a\ 4\8aðbyß)âV·^ÈÜZ\82ù~\94¢ì\8aQ\18\97\8c(An=ó¢Î\vb\98-\aðOýÊÚÝ#\0Æ$öÍ%äb\9a¤3Ø=\ f\1a8NÎ\13FQ\ 5Ðþnô¢\94\15ëAA¯\8dÑ&¬­\91>nvM°\9ccÎÞ\0R5ï4Øüʶ`0\9e~}ÊøÃö\16ÖT\86q\b1Rk\8fY\17tºÿ »{×m¶k¿êAð=+ÿ\8bP\1e\b\11;ö3ÙG%Ök·R'tm¤¼¼}uÐJ¿{ktÔ\10NÃNd\7fà\15\קM\\96\85ß\rÝ´ßå\8b[ÊÐ^®\9f¶c4ó\ 5ÛëÆ4ÈU:B§f#\1a\ fg^\90n/Þ\^p\1fÞcÊÓ+\9d·P\8bÆé\87CD:Æ/©é\88z\93\ 1ö4¿ìü¿ß"Ù$K&ã)~áÀL\96²õ×óÎ\1f\9d\7f\0·AH¬endstream
-endobj
-1578 0 obj<</Type/Page/Parent 1479 0 R/Contents 1579 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1579 0 obj<</Filter/FlateDecode/Length 1920      >>stream
-x\ 1\8dXÛnÛ8\10}ÏWÌ\ 6]Ä]$ò%iìäa\17¹4\80Q4é6.\82\ 5\f\14\94DÛl$Q%©ºþû=CR\89ì&\8bm\80Ö¡ä¹\9c9sfØï{C\1aàgHã\11\1d\9fRVî]Îöú7'4\1cÒlÁG§\931Ír\1a$\83Á\80fYo¶\92T\e\9d\16²$eIWÅ\86TE.\1c/\8d(©±2'§©\14\8fÒ?\90\953\9b\9bI\1cæò\90\94£µ6\8f\96ji\162sÅ&¡{M\99\91ÂI\12ogßö\8e\ 6t4<NFðÞ\83ECkåVºqÞâÁ\9b\ 3\12UήøÝþÍ»\18q\8f~¨z\1dÎÚ,z\1c\8cÌá\93£\8cÁ\88<WÕ²5\96Ð\9di½óKë\95.â«Þï\93ÕNPjA\eÝP¡\1e\91\90ÏÕ6Fú3\84E\82\9aJ}o$}áà§×ô[\88ê4FÚ±4¥¥DpºÈiÿ\1f\98\14\ 5pÈ7´\12?ØN¦«
-\18)\r\98µ\8føZ\97BU    þì\93\7f%ªJ;ú¦Q\89Ü?;ôï\ 1Ï\1cù*QXvÞqi\9bº.\14ê\ 4ã\8bBe¨\aà\ 5¦$\7f\18\1a+\1dÛ_¯d\15 áC\81\95ªPXÓXG"ËtS¹d\eq8\1a\9d&'\ºÙ
-,Y\89º\96\95¥\b\19ØÀ\99´Õ~Ù$-\8c.}\16­Gå¬,\16¾îÛ\b±ó.]:\80Í{2Y&ð\80\0\8dú!çoÙ¹ »\12(×¼\a\0§\9f®Þà\98\ 1FñïE\99
-út}\95Ð\f¿.tQè5'\9fé²dÖ­UQìàid©¹XEA\95tÌíà¬S<{\1e@B»ùæê\80tu>\9f?Loogóù\9fá¥g>Ã\1cÓ\9cþ ~\1e\9eµ¼î\18¸i\f"7h¬Å6d\16\89¶`     :(e\99\82\8d\1a\ 6\\1aÝÔ\aø\8apÜÍ\9c½\15¥¤\8aÿ\12á \10j'_f>ÃÇ\94chæ½Tä¤r)\80#?d\8c\ 2­\99\0¥´V,eBW+Q-\83*0HÞ\7fð\86\9aX]J\ar-I\16V\1eî¸DÿæZZb¦\97Â9\96\ 4Ä}HF¦Zã_.\rSK,¹9\ 2VY\ 4ûh\9cL\864<y\17\ 4e>:\1dSx£íGÿÂÑðݤå- ØX\a\99ËÐ\15ì´ÐK\9f\1ah2ï]A\ f\aóËù[nÃ`ê\85ÂL=B¬\87\806 I¶É2à±h
-hg
-E\13\vN¦©¡\9eA\94\98\9e\95\ãð\874\96\e\1f\15c\v\81\9a\99Î%EÑXy\ 1ìtv\84ú\90ög\Íÿ\95Â!}*¤\0É\9eàcYA\eÙ¦p\9c³\89\86vJ"ò\12å·Î\b§M\94
-®LY{\ 5AI\81\99\ eµà\ 6Ý\12\ 5\9de\8d±A_:èÜC*-Ì\ 1³8W¬\84R8\9b¸<¥\8\91r¤ Uæ¹\94\87.-5Ô\88\eTW;Af\82ÛÇS>|\83íÆR°3Xò\1a×\89!пÊû@\81\8f¡à(Dàé¼\87\8eL\95\ 6\11Ñ$`»ÚÕÖ­¸ü\80\\8b xÚ\18\b¹7Ù\99¡\80ÉH\9f²\7f¢\8dZªJ\14Ý\18\11GT\18\84³\93_L%\83\9cWîY5ã17\85\91ܦ\ 1§Nâ%¢J%ûö\12ãû\ eC\0\89ú\9cË´\16Ö®½ètøÅ¡ÔYôÖ8U(§¤}¹Ý\8eýô~½ÙÚv\9c\ 1ãVå·æ
\97£ábë²n¸Md\bñI
-ü¼bºâ%îRL$4\97Â\82òzW>ðL\9b\ 3|?69å\88ÍSgµ²\15\r0\8e¼ÿ\ em§F\1cØë\81î'ô\0%;\0\11\8d®\96\7fÅ/ouK\87/\9eÐ9¥à\14\82Æ\9còycYà
-b®5
-=\82õ¥\rx\vÑ\84¦aoaõn,\7f\ 5VØcÿF<O¦vóÂ\9aÄÓ\aý\9f\19U»ð^«s=\0\84\9dÌ/{í0\ fû\80\9f\1c<M¹¹t\83ÅFU¹Êx¹\v³Æa'\bõâ1 ÑÄï!6\b)\ 6Ó\1dç-\93Ylb0AÕ¼qó\88\1c|©;\ 2sQ\80*\95p\18÷¼\9f>gìÃô8\85@ý:\bþ\ 2¬ªÁôö\98ú5 ®_\¹T¶+\90_\98|\13ccÝ©ñG^wc\ e\18§<\ 4ý\ 2ÇEòK'8\1cú?\90ú\95\ 2±:Ù¶÷h¡PÈ°\97ì¸ël)mEó<\ e\9a\96¢¡¾¼ÔaûåÆ\15\b\86\e
-GOµïx\ví\8cU\9d×Yö×-Ãsj\9cQëÂK%
-Ág-án¥»\9cÞÝ\a½\f{%ù\8d\9d·@\1f£æ\eÀ¼G*   ]ÚÑ\97¶Ñ¿²å7\84ùÊ[\18\98Qò¾     ½âtøBÁ@¥\1aKk_º¬\1f´*ì\0\be\eA¾\`¡©¥®\8b_òòE2²ÖÆyøx\15ªxöa°±¢Ú&å\1d¬\14\16÷\95\14Ë\1d³\81Ó\r\15\88³Á/\1f\9dQÔFo7ôêNé|[Ä\86Nh\87\8cqÅÝÙ\89\81\19ãs\8d¶Ù[pü²ð\9eMx÷~UxGÃaØ\83¢\10Æ\99Í{1\ 66pÅ\a\11ó»ö÷\890W\ 4Ò;é?\8c>\84Û\9bC\83éê0®"¸\1a\84-\8fDÊ÷´r³\93vK\99Tr\ 3æʲJå;*ýË\9að¢ða=¿ø\88ÉU@Q \84Í\92É\10ê1JFÉ\809\ 3\a\16\13\r~6Ä]\ f\18\9b\9dàì\ 6K\8b.yа\\81gM\85\80ã(       \97\ 5¾î\ 2\ 1\ f@ܤC\11p³  \94\88\87Vçæ°ãK\1aÃóª\8a\9bU\99æ    `?'æp\9e\82Ê%\7fJ²s|ú\1aQ\9b÷F§\13l\eÈû\9c¾Ü~¸½{¸¥÷\9f?ß}ö\83\88/\99þ~Ñé¤ßY¸\7fgßý\9bí=x|öË\1a<\89Ú?<\9e$\93³cz7\8e\17¸û\8b\8f\97\17ôÉèo¼º\ë¬)Ñ\15¾òlúhx:N\ 6\93c:\1a\ fÎ\98\1aP¦ý»ê\b0\1fÝ\14\9b}ºâ{}\c?ÆûãÌß\1f/â¼`S'ã\93d|:ÁÿGÀÌÉ\88\8fÞÏöþÞû\17\f\ 4Y\ 5endstream
-endobj
-1580 0 obj<</Type/Page/Parent 1479 0 R/Contents 1581 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 713 0 R>>endobj
-1581 0 obj<</Filter/FlateDecode/Length 1954      >>stream
-x\ 1\95W]oÛÈ\15}÷¯¸/\v)\80D}Z\92÷¥pâ¸\r°I·k\15A\ 1\ 3Å\88\1cR\93\90\99¡i£í\7fßsgHI¦w\8b6\8e\ 4I\1cÞ\8fsÏ=÷ò׫\ 5Íñ· í\92V\eJ««y2§ëÕu²£õn\8bÏK¼¬¤\9c/àèéí\97?_-·ÛdM\8bëU²¡\8aV»Õé[I\ fW«ëerM\8bõ\1c¿V´Þ¬q*~ã«ï÷W³{ܼ }Î\9e7»-í³`\7fNût|ë)WÖy:H\92Ú5\bÁ\e|\12\87\12\9f\8e\92\1a'­HSÓhï¨Uþønÿ\r&á1\98\1c\93«\ eµp®Íh*é\a>þC<Ò{\1dO`H9Â\7fml%Êò\852£å\84\8fMç4]¬\92%\82\1a·G©éÅ4\94Z)¼$¡©ó\9cðQ\9c\n\90$N~Òdl&-ÇÚ\1aû\9d\84E\80YôS[\83à+R\1a \ 2Ö   ¥Fçª\b¹\1de\fN\9câï\\fbæ{¼5%å¥(`*^F\ 5\17AϤOgµ¨\92læDu\10C;¹\ 2\90ÂQnÊÒ´îÇÞÐ\r\17\84SZÇ\94¨û×\85\ 3.üÚ(+³þw¸øg-m¥|âÌk'°²Ú\80H\fL\1e\0l\85ö\8c\8d\95\95\0\f\a\91~o\85Í\90TU\v¯\ eªTþ\85\ f\84\90\99{É3W\9aúèºâþ\17§¨ªò#G¢\8cá\@R\eçTà\8fùC£mvx\93Ç8¡ýQ\82\81\ 2/g*I\87¦\0obNÞ\86\88ÿ ÊF«ç·\ 6\11c¼YK\99qn\17Q2''¯i϶\99ó\95ACX\99J ø$­S\ 6|Ë#»¸\9e\81\8e³û\e\99rF\1f¯®\8e\9bd\93Ð×£ðd`ÊÒQ\965¥ ò'*¤ÿÓ\9bÊ-·èWTî\9cy%ô\vÒol*\1d»U:ç¶ñ\1c\85x\12ª\f½\89²r¨|\89\ f¡Î¥Ò\ 5\95Êy¤õËý\a®\rZ"3iS!\91p\7f\0x\80\ 3\ e8\98BÀ`\87\f-\1e,Gjd°gÕ¡  Þ¹'\98OÀä\85
-c2\92Ïu)t°\1db-¤\86\@x>¿\a½j\ 5Ó®I\8fh\80\81×\83E3 à\ eJHV¯P§&\ f \9e¨\90)QhÔ\85MzcJ\a@\19ÖP3C\99\ 4WBÜ\99 \9c/M\ 1¼ \ 5@1"\ 1y\ 1¯b)r¥ßòAV¿S\9eNqþªe¤\0H)Á\8es8]4(D\f¢à2t\1a\14\81e\ 1Íâd\99\ fÖ·>n\14p\9a\91©\19Ý\ 1@lï\0
-±¾f¡\92\9a?pÏÖ2Uù\vµ\³QL¼\94\1c\11~h\8f
-xsï7:¡\aÙ1\1a\1ekQ0¡t°øF|\83u&\fü%,\98L-t\ 2 »$ n\ f\1eC\961p\17XÕU \ 4\12\12´B\17à§5\15-\ 6¹=\8e\99º\99ÌESúÇw\1cíbN\8fã\ 5\0G\9e,\90z÷ø.0\85\ 5³«È­>7XÞ\94TI\7f\ 4\vç\01r`\9bU\8fU82ºaÚ1S8¨ËAV¤)M\8bøëiv\ 5ýç\ 4aªUe     0Ò²ÉÂÍ\17b\12«p     T×\9f\a¥\85\9d¡Åè3m\10hD%¼\17¨T\91\1d8F\ 6\ 4\15Ó\1c[¨ø\8cBE:\ 2'ôiH\90Ó\0|m\b\85\ e÷÷Ìg<ñÛ\97}\18\94.êÀ¤\eúP¤à\99ghw\89\83©Ä÷@\9bAÙÀ
--SæjB?[´\15\a\9bz[NEé§\99,e\18Ú\19¤\81¯d¦\85FÅÔº¦<\98g^\ 3\\93ç*U,¯\8fcp¶\94Âù  S³+Ë\ 5²q;ñ
-ÒÄ«Á7\98\ e!G\8b\91<QuØ9\8d~râ£nª½m\9c\97Ù]\10\ 37ê&\8bȽ´¼\8e@çÎ)\ fÒdù`\99ã\9a¡7±\93\9c\13\9f\84:â~+\ 1l\0    ï\81\18\86Ø÷\ 5E\92Î5Uä\9dðìïrïá¼\8eâIê\91'\87\8a\bÌ\9e°%¹£±ø\89û^e¼\8f\ 1\ 5ÓpÇ<\18\8c6\fvé[\89\0ëËj\80fЧP\8d\18®H}Ãö\ 6\97\9a#\82\19\ 4`!\ f±Õ&\ 1g\96(¦fG.f/«¿ÒM\9c~\1c\7fß\89\ f<7 ÃÜ\85±ÇÐq\98b\19Z\ 6 \1cáâ     \9a©
-Ì      ]\84\r\88'f\7f»ÇµZXQÑ¿\83Þp\98³û´\9b\bÓÅ"\99¯VX\950$\1f\97×ónGé;´»|Z"\81VZ\ 6jM\7f¢Ùì_Zú\832X=\ 5\82\848`?ÅøúÏÿç\84·´\9bÍö¼ªÞê0ââ\9e\9c½Z\12Ò:kª\9ai~\1eÖA\ 5\8fÞ×?ÎfmÛ&\9e\ fÕ\89±Å,¡\8f\81N¢äb\ 5I\eÔ)\fÚ\1a+\1c¨á´Êsl\15ÜÕ\7fÇÊ\13èøUéÕ\92\8e\18\8e\98ü\8P\91\9b¯4"Ã\ 29t\ e\9d\ 4}E     \95¯\86¢z\ f»\1eû~¤*ÞÃÀà~ù¬Rk\9cÉ=Á\1d¬;HÊ\84¾\80\80¼\7f\7f6ZyÜ\v¦\7f\17   \ 1ôÊhðô\15
-¿Ûßg»w<ÃÐoödõÃÝ\b\19±÷³O\8c4. 8\ 5Á\82\1e\7f¸ë[\12\15yÀ×Q\9cG\ 3\10/Ö¸\18\1cÌByÜQÕñ±&Ü\1d\ 4\9awuÌr\14\91Q\88À»S«ñr\86\9cÃPi &\ e9«$6Å\85la-ê@\94\8cF\0    ²"m.R\9e¨¼!TÊ¥\8di\1cX\9fI\f8Þ~ÏT\8a2\aÝ~\9b\rçw)"Fã±*Ä\ f\18\1c=\bß{GYYu±¹`³\854öÒ\\9a\14\v\eü°8s\9fc5\13Y
-E>Õ>\1c\19\0ê\9a\ 3,'ô\1e²\87g\v\96BàÙs9n\0RÄÍ¥µ
-âÜá\ ep±Ìr\0¼J»ÀÀ\8bvß&»\ 5\9eq\97ñyæq\89®cϳû~E\f\a¦«\9b°5ÿ\ 5ó43X\ 5{:\8c¾¼fä\88§
-Z\ 2ù}=+>\9e\1e¡²=©n\9e9÷n÷;éNðÓ©Î)\88]§J\8bÕ.Ùݬh³í\9e]\1fn?¿¿ÅT4ß\0.Ý].Ý¡R\8b\r\1eòw+\9ançxòËÆÿÃcÂz»N¶\9b]T¾õ\8aÍ|Ü_ýíê7Ë8&\91endstream
-endobj
-1582 0 obj<</Type/Page/Parent 1479 0 R/Contents 1583 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 730 0 R>>endobj
-1583 0 obj<</Filter/FlateDecode/Length 1906      >>stream
-x\ 1ÝXMsÛF\12½ëWô\1eRRR"H\90\14Hù²%\89\91£ZËö\9a̺RÅ\v\b\f\89\89\0\f\8c\19\88Òe\7fû¾n|\10¢R\897Þ=ì\96],\ 13Óßïu\ f¾\9cø4Â?\9ffc\9a\ 4\14e'#o\847Ýϧ·'~à{\174\9e\ 5Þ\9c2\1aO\ 2Ïo\9eRZ\9eÌÆÞ\88Æã)~±8\9bò¢<ñ¢?\9ay3ò/g^ «#oÒ<ñêØ\1fa·?\9fzS¬NF\ 1ï\95'9\e\B­?ó½1¯Bmû$gG\17ü|1\17½\13h\80$y\92Õy\80S>öÈÙ`\ 4Óë'Y\1d\aÐ\18\\88Q\93\v^\94\a^»^\9d\fo§äû´ÚrD\82ù\8c\ 4dD«èì.·.LS\9dï(W.39á\7f\98Óû\15íMù\80E§ñ¦T_*]*K!E¦*REfKÖ©Âz´J\14mM\9a\9a=K    K~*Iw\82¿_ýz2¢\81?\81ñ«øì}­æ\1f\880Â7½<§}¢£\ 4r3Èßk\97н\8eJcÍÖÑg\9dÇfoÙ\9c¥*\1fUI8vÎ6¾Ús¬fE\9f{\ eàXmiQ\9aHYK61U\1aÓF\91Õ\99NÃR¬6.\81\ eè±ì5|ì\190¤Út\8f~1Õ\91¶½NS\ 4PA D\10¤¼6ð¥\13ÔD\9en\16\88w,G\8e\fîmñ\1a}\92i\ 4ñ.×N#oÏôl*\ 4­ÕîL\ex:\85µ\9cBº7Ø\8c\8c¬\8cI\91@èºÚ©Ü\9dr\14ÙÐ.¶\b\90¡Øॶ¬\ få2h\15¾5\10½taéh\80T8\87\[üycrW\9a\94>\86¹JñÜ*åMå£F¨ñò*\8eYÞð6j
-qàûÞh2\ 1RáËz|1¢z½-Ôf¹«\99¥JUäÄÚ?v\8b=\8cR\1d\83§\1fþv*ÁûóÊoD\16\vê"ÖDö\85óߨ\ 5å \10\NH¯æ\ eEßå\15õ²OTN(ä¬p*þ7õ\ e@f\97Áì\80Ç+Vª-\15Fçµþ\ 6¡[\9d"{\r\93\ e64\89\ 2Å
\9c}·üe¹úñþÓ\87\ f«ïÖëå38!\9b\8c×ë\P¾^ÿàýð2µg¨²½áw=N°Õ&\ 6½D(S\r\9dµ²\10l ÒôüXe\11\96\b\95\8f\ 4w<\92»\10ì#¡Ì\15\83=,\9fiñîÝ©\15\8cóyf*\ eumæ\915E\18=(Gq\95\15ç\82\97ZQçs\14\16®\ 2\19¾²à5JÉ\941\b¥\aKA\M\81N\0\89"­ù¶\87þó\ 3¬·ºDà\85Z\8e¤´H`ë\ 6½`¶xoP¾E\9dÔeÕ£Ã\86\9dA>bóÿ\ 6Ò\e\87þ\9fðÝË9w¶ÿ\1aÈß\9b=\1alñ,\85P\ 3»«\8b\8eÿ\19Þ_\81gTó\11`¾æPÓlú\ es"-\80V¨2Ó\96;.Ú\93\95Ò\8f\95Ê\8e\94\84\ 5\18¯(uèê\ 1\ 3\8d¯DïvJúq¯\a\86q¦s°U\89ÑåQQ©w\89³\1du¯Ð¡\9f\18\90e\957ð?\86íêÐD\e*d\8cv´|ù$"Z\b54"­\16ó\93´Ú\90\e,u\11n     \1d'o\16Gn­ÏÖk±X8S(¡cÏïedÁ@\ 5z\ e1\83a\1f|\a-Sj"Ä!®Ç¥\ 3\91Q\Âe\8c2BÝMÈÑ0ô\96£z¤Y8Eç\18Ö²zÈÃþ\ 4u\82Ø4C\80\87öþºfB\99\f\99A\9bè4\91\10!\12Ë>\e­À²\87éP\1c\95l)Qi±­RúùÓ»z.©§/\f£\ fö\r\eÛ§¥\9f0\1eò@¶\f³M(y§Ä¹âÍphù\8d\9dG\9f\15%!r\1eR¦Ë\123O®0Øñ\88ô\17\96÷çg\0xQ\v\bÚÆG\võ¨RSdÈt½Ô\ e/g\b_Tñû¶èj\9bk\93,LCA\12¯ó\8c)e\8cÊÞ¤*óè\ eSµ9'-"{\9cÞ\9eA§pIX·é¸6\0­P\86n.@N
-dj'ixín;\83ÿÎÈÕ\ e|K\85\1a\96\91q\8eîUYò\90\89Y¹JQy\\8f×\8b\e\8cÏ\88·F Ãc\8b\9bäì÷{Ï>è¢xöÐk\87Èmõ4´Ùf\0ÙÎx\89ËÒo·õ*u\98æw  áî\86;W\ 2\12 ÓÌ o&a\8chX\8aÃg¦\96\90>.nÎi\ 1\9b\ eó\1cÁ\92áùA©B¸±\96\80]\9cÓ~\1d\17À4\ 4@d]u\em0\85<*\ fá@ö\94§âÊ\v«º\1ai\87aj'Ó\ 6Ð\920b\9fÕ\7f )÷ÚF$ø`\94ÞÜÝ.ÁÙ\a\0\1f\ 3b\18é­\1d~[å£;,L&\ 3\15_ë~ÎõS\e\ 2¼M\13\8b\87ëÛð\9féC\94\ es\17ãïoÓz»úXc\9cu\9a\94g¨åý5ÙBEö\rm\ 5÷øõ²ö¦(ú\eD\94øÜ\r9:_eÅ`2öf3\Õ§|½\96\v       æãÚþ\16î3oîcdÆå=à\1d?\ 1\18àÈ;Ú¡}1\8d\1d¸\9e\83¹g\92³\7f­¥´Ì\0@·ð\ 2¡\80×ù²\1cR^e\e\91\18b1½\10åÑ[ÜÌL\eû\8eôÎ\ fw\1d¡\12f<e\ 5\8dýòmø\90[.ÚEÞ\1dª\rÄ\97\87z\9c§eU\14¦|Åh\7f|Nhù7-\7f\19\83³ãn{\8b\f\7f©`²ô\7f\91Àñ\83«5m®Þ¿\ 5\9c\v¥°º\81ËwÌûCºc¤[°\11<ãO\15\90\86ø    S¾î{±ÉO1t0=\1cô\86\eS¹Zã\805B=âÄ)Èñ\9d\ 3­7kÌ\91¼\1eû\0Úæ&#2Ñ{øʱS,ÃäÒ´X\94\1c$|:   -Þm\84<DÇ¡;î*\1dóÆ\1cL#\r°ÇàR\81üÍG
-p=îJ\14_\82$wþdîÍ/'t\81\ f[S.ÒåÕýõ\15},ͯ|w^4=Iº4§dà\a3o4\9fÐ`6ºäý\81\17 \83rw©û°Ôu\84\8e#e.¥<Å÷°Y0¯ïíÓ)\8bùquò÷\93\7f\ 1¤?Í-endstream
-endobj
-1584 0 obj<</Type/Page/Parent 1479 0 R/Contents 1585 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 735 0 R>>endobj
-1585 0 obj<</Filter/FlateDecode/Length 2129      >>stream
-x\ 1­XÛrÛÈ\11}×Wt\9e$§H\88\17\89\94ò\92\92íõF\95ÒF\89XÙ¤¢<\f\81\ 19ö`\86;3\10Íýú=Ý\ 30\10\13míÖ¦l«\ 4`.ݧO\9fîö\ fgS\9aàÏ\94\963\9a/¨lÎ&Å\ 4o\8e?þöíÙbRÜÐ|º(®¨¡éõõñÉÒÓÙl~UÌi>\99\173|\9d]/\8aI÷Ä_q\ eÞͱãêfÉ¿ã_ÐT\9f½_\9d]~º¢é\94V5ß½¸YÒª\92{'´*/îì^\1d"Ö6ºYë@i«\12~hªô\8b¶~§C$\85\93^¼m]Òx\1cñç\83¼t>ÑN\99\8a\94«ò[\87]áÝêóÙ\84ÆS6uU]lZ\15\14ï¥äi\17\96\9a\146\86dÊÖª@µV©Å%¸úÕûd\1a\9d;\10ÿFÖ8\9d­9_ë\98hÓê\18Ïù¶ñà:¶\ 5\86m\8dÛPã\83.xÁ姲Ã`<\9d\16\93ù\9cf\f3¬{\9e]O(/éaêV\8cç·Å\82\97t\185Ú%ã\1dí\19\19ùÁ×\14U³Vtð­`ÒF¾\98\8d\90u\8c Jü*\1e\r\99\ 4´[çðê\ 4§ÖU:\14ôO\1c\14·¾µ\15\83µVk{\80çp\97£\12´Õ/\0\93¢.Ù\98È\ 6àê@±Y\17¥w5ÕÆê\11CiµÊ»N\11ò»¼Õ8ú×Æâ
-ûo\1cÎà×5\8e¥Ç\8f\1f(¶»\9d\ fé·\83wïHU\95\11ä\10\7fv¢ÃnDFl'¿N
-¡­èI\90|1\8a>üý\89\85\8d*i\0ª\9dàláØ©SåV\97_p\86IäÛ·ìî)ù3Aïy±
-à8¢Ø¨/:#ü\ 3è&n\94@6ÈÇu0º\1e\91õ\b*\ 2a½Û\8c\bQàlI0¦ß\12\13RÊj¼=       ûZ×`iN\1fδÒ7;^\87°\a­*ú\1d}ôî\1c\89æ\11Ímj,iWú
-§7 ¿Ú %\9e/:$KåÀ\fËA,½\ 5-NQòH6Ïô1?j¡"\1føüîÿ\10æ\1cJ0\9b¼Ó\fFÚú¨É\99:\1dèüþ¼Á{Úzk*èÍ9¾"\ 1â\7f\9e+HÑ(\ 3\1eY\ e\90*'X1ÁÍ\ 6ß 7\9e³\1cQ\88{ÈV£\fÔa#\89\12ßðæW\ 4?#^\ 6\1f£à^Ð÷>|abÁbSnÉDa²ÈPNNH\e\a\bf1k"ÔNò\7f«v;í \9a¦\80\94U\1cÉÓ\98ôûÖ\10­,&c\97*ßä\838%ÆI\97[gJe\vzP\90Ã\9döà\b)hÀ\vÀvb\fÛ\11\91¸ëX\ 6³fµ=A\8fÕ\10\11\ e\91\98Ͷ25\95\90QeÓ9å kº§\18¥½'p'\9f\0-\8e\ 5ý¥NÚ\9dú\12}£ùð½±V@PÇ#ø*\8eú\17\8e\13²t/\12\a;×:%\84°ÒÊâ­\ 1\bpH±\84ë0\92\93Nü@¾ìUÈ©îÀçÀùùFЯg¨\89?/ó\v\11y\96ÝÆl¶\89\8c+m[i¾ôòÓ¢+\e\17¹^)\9b_÷¥â\ 29¿\11É\ 5\97\83\81#0\9d«X¥×-èÈE\148d^DjZpGE\9aM
-zd}F\9dí)1(aQ\vV\1a\99\9e\fbÆw¬Á=í|»Ù2Ç6\1cw\8e\122"é¯Ð<N8l\b\81ÃÔ        Ã\e\98ü\8aDx¾xD\ e\18Ô çwt\9fs|«p·:ê\149\9d\1a¦`P¨ëÏ\17T\ap\97\8dAíã2×Û¶3;&åÀÎçw§üA )\8bX\87Àï\8b\ fw\8f\ 20ã¶×Öþv§:ä\85\8c¸-躵PÛN\88UJª\94î\ 1QôeËe(§5i\96\99\82> î\1aÔjP\ 2\ 5\ 1\ e²³}e>á*w9\11\94êü^ûêÐãÑE© \15¶ç&â\95\8cÑ\ 6XANhÛn ¤­ôg\88sNþ\11\8c\vf f!ñ\9cF*s\84vrÙëþ\0U\1f\v\r
-\988J\15\18V&\1f\ e\7fÌÔþ\ 5\8dR\9f\14ãÙUq»XÒ±Sú\93ßÃ,º\17Mñuæä+§ºKúü\ 1é\8f\ 5×\930K¬u,>hJý\v<\11B©ÿ\ 1Ѩ\83\88ñ\17¹ÚYæ \93hßE\8ds\ 5é\a~\9aÜ\14\fÒì[Áw\9bÒî\ f\97\97¢\9e\85\84¡ð\81˸5%$_:\8e\0\13è{c$ò\98!ÙûU\19»ë£Z<åþ)¿î½½\10I\87µoí\eö±OÒ\f\81Vh}¸\r\19\14¸\93S¡Åà¢\ e¨5Ð\7fÈ7\84Säk\80îPmr¥êE¢OÉ\\ f¢È3P\830wø\8f2 ¬è\9f[@ _j(M®\17\f¾Z#PlÕ\0]t}@\8c\9b\93ÖYþEZL´´%?Ôð\aûAF.\19\84Ê_\14\83A¯¾,n¦t;ë;uP-»~KS\8c15ÈsSLo1j\80D"ó\8bbY _\ 2Z\8eÓ4\ 5o¥@|o\å÷\91n¿^>|ó\1a>\ 6iÙ5ú ¯låð*T¨ðe\13\93Æ^\7f\85L\1cÉ\96G\fN'\1d\1aéÿ \84¼\87Ö\ 1wA\18rjW\ 6mu@Ó\86\8e¦CA\9d`U¡t£f·     Ý>Ðl\99"\18\8e08\80\7f\95Âk.\15Ø­bô¥\11FH¥d\89b\8bGâ%\86\ 2î\9bP.`\95*\ 5hQ\90Î0ÌR6úÑ\7f]\9eíCÙÊ[\ 2\97Á(:\8cXodx\93\86«\8d<\ e¢×\84}\at\1a²<\8bçÀf8°\81I`Jo\1d[\ 4\e­¿è÷\80'Âóñ\1c\8e \93\ 5¦\11\9e\89q\ 4\1aäÀ\ 3ÊêÃ\13õ\81ünu9ûs\7fÔQB@ŧ\87÷\9c\94\9cþ¸\15@ þà,ÖÑ.¸[\14\12ô@úë\ eº\97!\96Óyt\85^âZLSbjoE·±\9bÊ\18¥\9dtq\ 3/\8eÆ\ e\80àà\19\87þ¤\91[
-úî\84\1fT·NÆ8e\rºdh{¾\89íÃüØÓ\ f\90ão\95)!\rÈàb^\89ÏðÆæ!J\90Ã\9b¾ve\ f\14H{rBøcÙ¢¸£\9a\15t\8f\99 \ f\9d\b9z/]ñ\9c\ fÌ\8fËÍi3\9e|B±\81Ù\ 1­>â«,ÃÜ\85z0>r\82uÃö}\8c\18¢¸V
-\85±\pC\90¬\1eç\9d}\ e5\18q¬$^ggV\v!H7ü\16ÝÀØͪì2ç   ½åX4àýÁ\9d\81è\91w    ¯\19?æ5\ fÛ<:C\9aÐA\r\98Æ\8f\83PðúÁ×Û\7ft\822\b\1f\ f7<*ðdÃ^Öè%D%^¹\90µè¦«\eÓ\ 5þóæfN\8bÅUÖ³§»\87÷wô\18üg\9eé>ví\88\84\94w\8eû\rãåä\96ÛÜ_¬\7fWË«b¹¸Á\7fIa×Õ5\1föÍêì¯g?\ 1\10ïç\92endstream
-endobj
-1586 0 obj<</Type/Page/Parent 1479 0 R/Contents 1587 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
-1587 0 obj<</Filter/FlateDecode/Length 2112      >>stream
-x\ 1\9dXkoÛÆ\12ýî_1À½@\1dÀ¢%Ù\96䶸\80\9f­\80:qc¥i\ 1}Y\91+sc\92«p\97Vôïï\99Y®,Ñ.R4\ f@âcgæÌ\9933úz0 >þ\ eh<¤\93\11¥åA?éÓI\7f\94\8cèt2Æç!þ×\9a\96\a_i0N\86áqþ0H&48;Çm¼u<\1d\8cèÚÒï\a\97³\83ãÛS\1a\fh¶ÄãÉ\98f\19áÔ~\9fféáç\W¤*z¸»¤´0ºòdp\812[*|X\e\97kGÞRa\1fmEÆÓ¢¶*K\95ópãk£\9dw´´5^        O8]?ë:¡Y\ e'M\8dÇl¥qÀ»Ù\97\83\ 6'pu\96\1dÖzUlèQãm\8f'¿ØÅ\11ÜÈèY\15&S\1e6\r\94sk[gÔ8S=Ò:Ç\1d\9cN¥NsU\19WÊË\ fª\(RYipÉ×ÊÃ\9d\8eES9¯\8aBg   M\11$\ e·Î\99E¡i~¸h<áÜ\r9߬L6\7fÇ\11§µ\86¹\1d,r\ràÙÛ\ 6A\12¼T\vå4\1fUYO.WµÎh¡ýZëªc< â\8eÈ$:á36\84§I/\97:õæY\ 3\vÄùôXÛfEíÃ\88\b>y#¡ã\95Òéâ\19À(Æ\ 5×S³R\9eaÙI\18ãnº\91gº´\b\1eÀàíÜ®I58®Â   x\9f\93êèkc\10jfàOÍ\1cXÖ¶$F%-,Ìn`ãÙÂz\ 6Fø¼e\87KÚ(\87£ä\94\93ú)º
-T\96\0¯©apc\eJÁ°R=iþR·<s\8c¸Yn\18\rS·ìy6j'¥\ 1\88\9f«\81\9d\8eê\ 6üìÀ»P>ÍA7$sÍ\84\16\80\ 3\1f\91H|£
-i\ 1À±̮«\ 2$n-¯j-Q§\1aùÉ´{òv%Ï\81\aת¦\eè¥\ 6å5\15ª©Ò<¤ µ\93Úji\1e\e`-È2ì\r2\fü\91\1dÜðù:g_\vk\9fð¶ò!+ôÙTðÍÑù·ã»\9b\16¦N¤+]Ãt    \16\ 4Ä~äûP\8a^ÌÁ\fÁ¶\85¼­T\a\8a·þMïw
-Xe\192äÈ.\ 5#×,\0S릩P\ 5\8aÞkÿ\9bT~[ì\81` LÇ/Ǭimà\9dËé\87\aªT©éúÃÝÅôýÏ\83ô\7f\8489\15ñv¡6Q(Z\87ÓÜ\82mA\11\82vÀ½\15°Ó\1dk@²Ö©Fá\0V`\89ä\ 3x\ fÅ
-/G\13âA\eÝ®<±§(b®\1cö\88\11\85sxp\8e?\ f7\1fÿ¸ù()ïA6#°\83\84Ø\v\9d\9cC\8eÁ÷\1d¬qLÅ>T¨gÑK\ f­j+ù\88S\ 5\94+¤!³\Á¢·\88ÔièÍ\9f\f4¤ï\8d#ºqOï¯þ\e\84\ 6G\ 5M\fgy\98Æ9[§£Ì\ e_\9c\8eqt\9d\ e\1eqV>?\81ñ\9fPt{\19\8f\0×Ú×\ 6ê\e\10ÞE\96åð\a\17øØI\94Kk³ò¯Ü:ù¾[ûX
-k\82[¢³¡>µªSnOÜ\7f<tO®\9aeËà¥m\80*#Ëò³Ð \8cÊ\8e:\ eâ¥\18XxV\7fÓiãYÈE\99ÚZJèbé!úlåH8ÓR63në©\88&²øR4âë«èO¿\1f=Ê)ã\1aGV8!¿h?­\966vÜXhA\1fá\ fß    Ù\11ßÚ\84ä\16õ'.´9|\1d;\9e\ 4ñ,\88ÊP
-\90«Ú²\90º\84\1eL\95\86\86\17Ë0\1aþ\e·\84\v\ 1       \17#\95M\9aw\8c\96,\9c\fÒ\eNFÓâ\aÄðüÏm¯¸ûô0C\90ÎdÛªå\ 3 \9c\8813P\ 3týÍ\16êHö³\17¨ÿYѾá×[\Û>Öº\f~ðÄBhy\90 Ûø.Ïb\17t+\9d¶Mï5\ 2ÜÚUÈ\98Ô\17s\17=>Oè\16\f×ßT¹*ô\91\88THý|¾ÄÌ1\9f'[7¦KÆ»·3i1Ö[`yè\90º\10\12\87!Äð©èr ý+üFßÇïÍ
-x#¹\1c\fÒ´'\91ÝRa¨;|á\1e\19*üêÃûÛé/Éý\87ßB\ 5®l\81\19\88Ë\1ftÅPÇM\få\8c\7fm\84¡ßrÕ\aax#Ψ\93ã\10çñí9\r0Ê,ÑOϨwz\1at~\94\8c\13ÈÿÕ^o\9fîôö\1f¹Pe¾\10\8d\92æ¸;u÷\86<uK¿\90±:\ eZ(¯v^DÞﯯÄOµ3\a\ 4Qmû\b\97ÕîpÁJ¬<ãµ;\0ÜÇ\99YWi½YÅ    \8fË\92{8J%\93úú[3B\82ãÛ´Ý\19zãdÂ[        ü\9f\ fGci\82/±ÉÍíTÿÖ\0ã0-Ê\80Ìó6O\e¥â\99   "P7Ø\ eT\9aB§}\98%ÿ©ÕÞp\92\fÎ÷\86\1e\fqP\16,\11\14Ö\ 1Fsm\8a\82Tá,¬À\12\17×\8b\87{ж1\9fµ1\ f\87É°\8fF?<O&Ciõ\ e]¡6~C¥\85\ 21\97K¬@\10 \fYk\14c'åR\80\93¤\7fvÞæ\1duǵ§0\17¯\91Ç\92ëMæ\ 4\19\8b!\95Ør¸¿`Z5\10\17,\ 1,l ?¦\14î\ 5²Pá\0ì5 \ff\r\96VL«\98|5YLÒ\9d²áª7Î5¸¹ä\99\18ßkØ\90D\84º°Ol-RJ·° H×aù\ 3ß}m±2Õ<(í!\0\8dã\13_k\r:-_<¾Å\12++çá'ÌSáRÜB\ fÃvh+ì\15{§¶£\9c¤\8dù*\15\95!\ 6\86\ 5+_\85\8d¥\0\8b\95ÃLÈ\85Þ1õðëÅÇ\9b\8e-I\18_ÛÕÄh5VýÖÙ0­v\8fàtwMÉ\90Ø}PÈ\11\ fg\aák\81(¿\bÓ±ÜÖ&,\ 6\98\ 5\96\16V`¨*¶@\b\13!ß±\83]¤¾á3XóDÝ8§ø ´\8eÛ\198#m\9c³\1e9\81å}?í¡.Jv\ 5Ã\90<\1aò\1c\98̱ì´\8d\96×"\15¼\8as.Âz*\e\96Å"\12¶ÏÀ\98«\84>ËN\ 3r\95
-£SL\17¢\87µí®½G¹î\1a\17\9a\1a\17ªcvÏ\ f\95\f]\bÿ(Ô\19¯Z\9c\8cö×  \8cÕL\ 4.,¨/Æ\0\87}8õ0\19\ 5\16\9b,V4Ù¿æïâ\ 6ÆÔê\9a~´6#\f\17X?1\rÙ\84þÂÚêrÛ\14ܵJ].¸:y¦gà -\82\1faSîÄMç?\83\ 57\83í\ 2ô²\91ï\12\10 äs¤Ë\83\ 42mFi\8a\8b.\1c),Vô\90«kF¸Ý\ fã\13­°\86¸\1f\eüV³m'8=\90\13?
-I\1d\ eÐÌ&\93!~\0\1a\89hÚÃÅÝå\ 5Ý×ö\v¦'üZ\946¬JBP~·7\18á\a§É    õÆ}\91±\7fÕ\ 6OǧÉx4  \rätÄ\aßÌ\ e~?ø?\14Æ$\16endstream
-endobj
-1588 0 obj<</Type/Page/Parent 1479 0 R/Contents 1589 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1589 0 obj<</Filter/FlateDecode/Length 662       >>stream
-x\ 1mTÑjã0\10|ÏW\f\81\83\14RÕv\9cÄ=8\8e¦½BáZzÔp/yQl9V\13K©%7\97¿ï®c§%\1cÁ`9ÚÙ\99Ù\91Þ\ 6!\ 2ú\85\98G\98Ì\90U\83@\ 4\98Æ¡\98 Næô\1eÑS+\14\83E:¸º\8f\11\86H\vD\91\88\82\10³d*¦³\ 4i\ eª\v\ 2¤Ùèî\16Òäð¥ÂÝãBàÞÖ´Ð\8eP¤³f\fíA«wU\1f°×NÁ[dÖ\14zÝP\1f.{\91ÕJ\82qÜ    æ"}\1d\ 4¸\8cf"¦n£'»ÇJf\e\12í\£`\8b\13\926kÈO$ÚÖP+\89Êæ´\8fJ\98\944\18:\955µö\aüà\1dõPà¡è+»¦áDDÜ´´®¥~bK*;\s\84|y\\80@H\eH5)Ð\86^rnfñ.·:\97^µ}\98¨Q\99×Ö\901o\8d\8dY\8a!\7fÎú\92[\12\85Ì<Söp¶ê%T2+µ¡\95i]0Êïm½ÁrÄ\9e\fwÒ9Zç\1d¥áò\ 2\e\8eL §åÊ6þÈ¥u\82JÎú\1eçÀª\ 5®¯¿±½\8cëu¥\98*Ñ:ªî}\91Èm%I2ióµÝnU-À\93úê\82Ý©\9aM oÇÝgMÛ\ 1õCi\1dÁ\90E­kÛì\86ØÉZVÊ\93£UCÓX)\12\1cS`è¯\9eå_mrÖú\94ö¬\96£}©³\92û]R\94ú©Ê-\ 53? ¤´ýGÁ\18µ^\97þçò¢#ÚG0¥\f©\82\9dìóð5s+û\8fãÛÆ\986}"·#ì{®\ eÈU¡\8dnspdð̱¡J·!¼3s\18\89\9cmV[%p"0ÆÁ6p¥m¶9äv/\ fîÄéìD\91Qd\19O\91Î&\18N{×\19$¸ÙÕ}Ò\1dñ0\8eE\92D\b§S\11\ 3ðró¸¸Ásm_)¹¸³YS)ã%\93o]\rgtc$\13\83k>031\17¡ÀmwºÛ\8dx0Î×M\9b\1dO]d\7fÛµ5\8eQây,æt§Ðe\92\8fâ9\7fú\95\ eþ\f>\0O\1a}Yendstream
-endobj
-1590 0 obj<</Type/Page/Parent 1479 0 R/Contents 1591 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 738 0 R>>endobj
-1591 0 obj<</Filter/FlateDecode/Length 1481      >>stream
-x\ 1\95WÛnÛ8\10}÷W\fÐ\97\14°\15Ûql§@QäÒìö¡\97­\rx\81$\ f´DÛÜH¤"Rqý÷{\86¤lGI\17X\ 4\r*\89\9cË\993g&O\9d\ 1õñ3 É\90ÎÆ\94\16\9d~ÒÇ\9bý¯\9f\7ft\ 6gÓdDç\93iÒ§\82\86£ód\1a\9fr\9añy:\1fO\93!\8d¦\13ü\7f\88\7f\95¤\95ÿ0¸\18'ã·>L\a0Òºp5ï\9cÞ^аOó\15b\1aO¦4Ï|(x\93\9e\oDédE\93\84f¢X
\12éc]Ò\8d)\84Òtm´«L\9eã\843ïçÿtúÔ\e\8e`á$\9c~y\8c\ f°³Á$8ë\9d\8d\90\ 1\ eO\92AB?*YɧZYå$ý\94"Sz\1dn\8ch0\887\86\13¤\86\eWre\90ðÎÔ\94"\ 6¥k       \0ü\1dB\n£,¥!ö.\95¹\14VR!\1e\1a×ÜF8\7fWà!5\ 5l9±Ì%m\95Û°Á\95\15ü\93\88I\rÎB¤!­\1f7×$,eÒ¦\95ZÊ,¸\94\ 1¢\1e¾öþü¾\98\7fOÞJØ£3I\86\89\87r]\99Zg¿MsÁ\81"\15ñ\1aðOô%~*DºQ:fÅ\879\13gHh»Ear³6\1aà<ÕÒ:K«Ê\14´5Õ£uÂ)£-\aßNs¡tf¶\96¾Í£ã\84\16\e©å3ì ªm0ËWÙ\ f\1d\1d_\1c,w\813 =¼`dµL\11\ 4ßj!û\92*Ì(¡3 ühi£\10ñFÂ\1ah\ 6\93ì_\8b\13¥°\16>²ý\17r»2\94\849`ª
-\1e\13\9aã^pÑò{DáJ\96¹\926°@\08Gf\85\1cA\8fÂc\ 5hMíö\9eº\84/$\7f\89\ 2\fóoË\¤H\19\81\86g\8eÔRY\99\95    e[¾­\ 3\89³\80S8ºªó\9c|nðÜä\9aÐ%ÞzN\1f\a\83ô\82\81\86\96/M&Àf0>\18¶¦\97
-´¨g\19úsOå˯\9e Ü²ch\rº
- !pn
-·5ô\b\12XFàui\982L\8e\11wO      l\98ráØ\aºD+«BT»×\17[ùß\9f Wîßû:\1a0\18h\16ÜÖ¿\13\19K÷'W|#Ô\93Û\90»\1fJ\ 4J¡À\85°,V©)w\1c7¿\9a\1d²l\12ß39~§\rz\19\8c\84^è5@;.*JÉ©zXÃw¦#J\1a\103ÍüÕÆÐRR\86tZÉ¢ Ù!\82F=\7f\9bbèö\17-ÍJ\er\14^ãzFç»WI\82á¯øµ\15;RA%¢&0Åw\9clK\15|¯Õ\88\ fZ\9a
-\bp #ê\9c²tÆÀ98\8d®\10ÏBå,3   Ý\ 4\9dd\14Zù:\85\ eÕ\r¬\1eá\ 6pfXi¬eÚ\1c)K\ 30Â;>ÉXÒ\ 1½.\81Í\ 4\1a´ü¡Ï¥z\ e±6\96¼ØÅàÛd\9f)\8d^\85¢Y¨ &è0N8³Z©TÁÇ\ eâ,1\1a ôaÜyР¡à)Ç\90Ö\10\17íöòw\rõÐÎvÑ\8fi^7óë¨å\1a\9d\1cö1î\19ò¿\7f0\93\81ª\93¿\0«µu\ 1ýá\80£G@\ 16± dLå«K\9c÷¯ö"\9fò=P\14¼ê¶\10±\ 6\15(E\85Ûh\v/ôlún\9d\9b¥È\1fz\16ÊȹÇV±Å2áÙ\a\1a3\8cÞ\8d\95î\ 3[=½íÓE3\83GA-XÙy~\95ô1ÄÖ¸ïcÍ\80\9aÄ\14bS~¤\9dÜSäå\89\bëþÄéíñÄ÷ó~Æ£Gäd\90\0\ f\ 1ÌfK¹Â@\17t·A\9eö!Ì\vºÓÒy\83\ fd7L4\91[\ 3eØ1\90H\aÏ\ 6\83ÝOz<bu\80%®(C\13\95ºI$\ e}\bÜæX¤Ù\1fe\15\93\8d\8bèc²±\90\ 2\8e\1e\81·Ô èf;@\913\93¢¾Úý×^pÆý\80¡ÿT\8b\­x\1a½1û\9bn@ª\\84O¡BÇ Å5é3\ 2Ø!ùÖ\82ðZ\98÷\bÄ¢y®5zVɵòÂÊ\10}\93îêË÷\19\85Ê33[hù«ï\ 6i\80\98¯,¾|\9b\ 1ú
-Á0`§\0{\89rTFdP\17\fÙ \8c¹Á\9c¢\98ÓAá}ý\9a\10|s´\1cÖZa·Ù\aæ§g\fbùf\10Á¶?Ç»\ 2½\e,\83²aÌsÛWÒ\a\9b5 ´ü½ä5ÒØâ8T\89°       ³ü z<Q@\ 2¦)7RfâN¡wá]%s\88,v\16ìA\aÕE/vi\19\17\8c¯*­\8c5+×ò~\13¤HñÎÁd
-\8b\89ß\9c\11÷±vÄÆ\8b\ 1Æ\86\8eX[^\9f\1a^ðøC\99x2±³ÓÛéaá¾\18\86\85ûú\7fü!\10\854F\1a\17,¶<\9a\8c\92Éx\8a¿3 \ f£)¿ú<ïüÕù\17ÐW4\fendstream
-endobj
-1592 0 obj<</Type/Page/Parent 1479 0 R/Contents 1593 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1593 0 obj<</Filter/FlateDecode/Length 1666      >>stream
+1543 0 obj<</Type/Page/Parent 1476 0 R/Contents 1544 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fb 13 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
+1544 0 obj<</Filter/FlateDecode/Length 1444      >>stream
+x\ 1\9dWÛnã6\10}ÏWL\81\ 2q\80H\96\92 }È^\ 2\ 4è.v».Ðb³((\89²¹\91DG¤6ñß÷\f)9¶ã´A\9dÄ\11Èá\Ï\9c¡îOb\8að\13ÓlDã)eÕI\14F4\9dÍÃ)%ó\19\9eGøk$\15nc\92ðÒ\91\8d$¹x¾qOñ,\1cy\ 3ü\10\87s\8a'\17ø\86\9dáM<¥w\9a>\9f¼Y\9c\f¯#º E\ 1Ùé\1c\ f\8d(¢E6¨í'aÌ\83nòK\9aÏæïæQ\9cL£éÛwW£\8bélv\95$ﯯâñd|ývv¶ø\ eU\170ëu\ 5ã\ 4º\ 6ãp\16Ò\87Í\97Ï¿m\ 5°ÎÆ\82q\84@;\918¤7­*sU/½\BqÜÉ\8d 1\1f,4¥,Av%i]¶KU\9fSÓÖ^|Ò\89\ f¨\12w\92RU\ f×yúwµ1÷ehô¾Î\ 1©Ú©ñË(\81350ºm29<\14ÎU#3«\9b\ré\82\8c¨RA¹2¶Qik\95®C\96G8£iè"þ(\1fí9ez½¡]\17Èj\12õ\86J\9d     >F\eÝÒ\83¨mH7\ 4mº^\96\eT;ÓU%ë\1c.\1a\12    !eÙá\9f?ýþþúæÏa©RÒMg4\1e£¶Èΰ5\rï\f\9d\7f]\b(Æ6×±w\8eË1
+ém#á\ 4Ts2saE*\8cÜ\8f\9b#r\89ÿ\v~J\ 5Á\862Q\93\91\96Ú5{ß\90~@\1eEZJD\96\93YËL\15\e§³P\12¥ªE%\r\a¾M\ 4Ý\ e\8cD}d©\1f¨Ð\8d\13ÎtÙV®\900ÚGäÎÞ\9e!Tj\8dô\8eÊB´¥õ&CZÀ÷BÁ¸w|[Fù(ªu)\r#`è\10à¿Ã¼­ÖûA\ eP§Ú
+äºs¤áR\1fäö¾\95\8dòqd\9c7ïL#ï[\0\ 3\ 4\98\90þè¼ä\ 2r:.½©\1dd2\18)hýzÚ£\ eÑ5\1cì¡x°:\10\ic\8f
+vAm5®»¦åó;\19íë|LÇ/]\12ãÞ«áZØÕÐê\ eP¯Èé\vh\e\ 3mº.Ô²mþ¥¹WÊtMM¥Èî\f\19]IZj\9dS®³\16\1da]×\9c\83\ 4,\ 1\8b\92p \99\95n¸A
+í2¾Ó\89WyNÂÃQ\97\0\9c\ 3¼æ\85Ã\sÆò\94R\98FïùÝ\9e\81\ 6ôC4Ê¡\1c]èpï\ 5\803U\1a\ 2GÅÁ¹\ e\0[v\rF\89oÂ}kô+}ÕÜ^\81g5ó­ËÄå°ç
+®Ã¶\85@g\97*GB\14\9a¬9<»ï\83K\86cOôÊÎ!nä\94»vÃÔÃya6*Õ\9d<'aÀQXÁ\7f\10O®¥©O-ú\ 4\\94Kz\0\13¸\94>i3Ì\8b.\82Îq,\1cò\93ßv\9cVgè%\9cx
+\88n
+g¿'\90
+M®ÐÁ;"F\13"vm\88"\9cîgðôÜ\1d\17%¤j)]ývp\ fþa\ 6ÉUQ\075°²Í\9eù\89óµ\ f\19Åì,JÒk~0\8eô\90«¥ú!yj4­\v¿¯¹g n\9e|]\96:\15å7\90\1d\r;óu\8b\80'\ f.\1dA\11÷6\1dû\ 4~\8b\9crO\80\8eRO\19\1c%\9f;íb\88#LwÌ\82\ fùà%9f¢c>P°oÙÍ\98ÿ´ÚÓÍ3\8dÿKÛ\9a\9büØg_Ûx\1cM_N\87\9fUÇ´¸µ\80>"Í\8cM´c7غùÀ-Âé1ûý5\1a\85£(æI\19&c7\88¿(àÛ\9dï³¾\1ds¾Ò.ÉÌ]¸Q`ztÈÙ\83\93\873x­Å\f\19ç\ f|êÅú\10»é裂FSîXJ׸H\0ô|ÈY³+aùª\ 4£|{áÉ    \að\8bà\fÐÂ~\bÆ,(ÚnÀ°h~\f°\aU\96Ì\12\85z\84\80ÑÝU'Ø      zî\83æ´¹\9ef\93~\9aC?w\v\8c¸¤ß\ enN\7f\80\1cª¼\ 4ÙÍ\9a§* üt¨\vz% \¨ÆØÛ³\17it\aç¥^âFe\15ª×)ß-r\0_ìíàâö¬ÏÛó\ e`\r\ 5
+\7f\Åk4Ü©ìîe\15¯ÑÀ\88Áø\ 3\13ð%ëÐ\95Wk`rÏV¢^\ 2\87{á¼ZCÕÂ\87c*^£\81!Çtu¬\12\ 4*Á4\85êæv0\9aLp¿\v¨­Õ£\ 3*\9fz¹B¹®pQ;®õ¨Þ\8f\vL/w¦ï¹µ\0\89ènNã}È]ûã)Þ«æc¼ü$a4\9d0\83~¹úðæ\8a>5ú;x\1c/J;\17\10ö/è\8f\ 4³\88_\98\ e^r\92Y\12Φs¼â`käèèýâäóÉ?,\8e2£endstream
+endobj
+1545 0 obj<</Type/Page/Parent 1476 0 R/Contents 1546 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1546 0 obj<</Filter/FlateDecode/Length 1237      >>stream
+x\ 1¥WmOã8\10þÞ_1ßR¤6ô\8d¶ðå\ 4Ëö®\12°¬ZtwR¥\93I\9cÖK\1agm\87Ò\7f\7f3N\ 2\94Õ\1d\b5%\9egf\9eyõÏV\1fzøÛ\87É\0\86c\b¶­\9eß\83átê\ f`4\9dàó\0ÿ\14\87Ⱦ\18\f'þÈõâòÒ\9fÖÿ\7f³l\9dÏzp     Ë\bU\8c§ø\10\ 2Â÷z°\fÚ"ä\89\11\91àê*1\90\12¶å\10È8Û&PùéÂ+SÁ\86©U{pq±:\83.<,ß\ 5Î\96?Z=èö{¨\7f\19VQ£,\8e\7f\1dr\86§Á\1e\97\91\ 5o\ 6ÞH´3\14Êa+\9aí0÷)\11o@R$\942³iƦ\13¡\12¯."\ e±-\11·BñÀHµ/\84\b\1cVm¾¾\ 2ï\8f+ouÖ¬)\96k\99\80\ e\94Hͱ'\ e/n\98      6\10\89\98\83\91 ²\ 4P>\88\ 5\86\114F\13v\e\9e\0®E²ÆwͪS%-\8cµö(à\ eÕ\8fä\16Æ¥\10lFfA` ä:8öÈ\1d\9a\ 5Åòzñe>/\93
+BfX³\86\9dT/Ú0#d¢\8f\958lÿ³*@i\ e\ 1³4!{Èãª-\15<<ÝÝA\84\ f,\8eOÅ,K^\12¹Ã¨\19E\1cרs(?\14höj\9b%k\1ebR³¸\8eêæí·f¬L\84\ e\8c² » \12³j_Úôµ\85a9\99ß"\13(yÊûõ\7f\ 1^+\99¥\88\8d§°­\11\98ÅnË\1dÌ\16-\b\16óÛf*råM°nÔ\æ\14\92-¦PÊ´#\ 3\87'\81Ú§\ 6\ 3\\11ÅD\ e\9b\9anÀ§@:,ÿÐQ\88îN §1\13\8d\ e¸Ð­\80áo¹U§M·= \90\89\91Ì\aùW\f\9eOJ¾,¢¡39\ e\0\8b£Í¼æ]7\14¯®Ð¡ç\95â8Qb\e\99)\r1¶ÛZ\v°Uö«(¥_\17\9f£|êW\89\85+ÄÑ\0§|©øUÁ:\9f\8d ßÏ÷\83î`L\ 3üë+Î\93\fûà¾\ 3{\99Ùf\99f\ 6\18\ 1cË\µ¯°u°È`#5\eþ>²9Ãá\94ëîà$\12øM#Mq\b\81\88ööta\1cöÝ,Å>ÏË@\rqÝAåv\82Ù7Ô^    Þ°ç\98ûðwa        \8bµ|\aL¤Ùйg\8e\1fa\89\8f6vé\19»;ÊÓ0\81HÉ­ý\86Û\ e\1a´\13´jHSSþÌ\v£B\9fÞ\9cÏ.¡?*¸\19öqíB\ 3\87>î_><iÒ{\\14\1ap\86|T"UpY+\87TO\blNsD&ë\18·\a¡\ 3Ì)¶F\8fÑjì\86vÜR\99\1eT\9dîà\1e³ã¯\}D\87\ e£Ðöªðg0Îm\9dG6\80;\e\84X¼Øµ\81\ e;ìî\80æ\ 6¼ÊNXéTEX=`ÈrõÌa\93òj|b\90=\1a¬\1eæÌN\18L\ 6c\9dû\99IÃ5%Q\rî¨+y4 \89\8fr/¤ç"\85¨Á ;E\9eÔT;<´1ÅEµÆ\ eñq\1c\99ø uU\7fÝ\ 6\9e\87åFh\10ºf!A\87<bYlNgÛ\85\ f¿scÈÏD&ÝÂûô¶EB
+\IfP9¤Rk\81\95D\84n\18\98þ´ìäõ\81³ÀÚ\83µòÌ\90\10
\96½\90NMû\99\87dãÎ\95\18¯Îâ\8còý\8d\98\7f$d=\95j\17\ 1\eU\9b¬ç³\8b¢ý´áË·\87/×ËU{&\946ÿPÀ;\1ex\9dE¦ì\97|w8ô¯ÈóoX\vu\95Xuõ-Ñ­\96\12ô\98¹\ 2yÁór¼ß/¾ßA(\83l\8bÍÑî\9ev[ÜJ¼\98a¡¬3*\K\92Ê\ 2£?"\8auNw¯îpTö\8f©\ f\8fØ\16Âgøëþ\ eK1Ãm=7`ZpÑ\1fãµo:\84ñp\90ß©\16×÷7×ð¨ä\ f¼kÀmÕ\f\92ì\96\ 2ÝI\8f®xÿ£I\8d&#\7f2\9e¢Å\b3\98\10ú×eë{ë_Äòodendstream
+endobj
+1547 0 obj<</Type/Page/Parent 1476 0 R/Contents 1548 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1548 0 obj<</Filter/FlateDecode/Length 472       >>stream
+x\ 1\8dS]o\9b0\14}çW\9cG*\15\83      \ 3\92·FÛÞ&m\1aÓ^*M\ 6\9bÄ\1dàÔØjûïw\9d\105éúP!$K÷Ü{>®ý\18qdôqT9V%º1ÊX\86\92¯Y\8d¢®è\9cÓo\15úhÛDé×5x\81¦§\96²¦\83\ 4Á³\fM\17¯XÍ8ÃÖëAêiwÓ<\10¼\0ç'x\92W\ 4\8f\9b½\9e1\1aé\aES\1f½¶jÆ ÛçqÈá\fZ\ 5=ÍN\f\83\92,ÌÈ\90ä%\vTqCå0\1d\aÙþ¡\86[X?mND\9f\16¢\18£ø«Ðê)]Pl6×Zbb\80Û+H"ï\9c±/8\ 1(\86£Øx6Þv*}Óv\94s\99@²â'aÁzÎðk\16;uÝ\14Ô/¾\15|¨Ãôgý (\ eV9÷\82ÙY¡w{×\eû$¬d ¯êù`¬\83\14NÜR¯úÏ)\19TR;$GR¢â+\96\87 \ e\83ßéi\93úÙ¦\94m:\8b±\15\17ylz=¨I\8coÄƸ\8f\9fö*,{©\a\85\80\rÂÃ9Ô¦\ eÞ\9dR$}\94èýMp~½-=~Ô\81Æ\875\93]tÞZ5¹\84\12¸Î;Æï``\91rÎã];dÁ*!_=ôÖ\8c\10\93¼\9c~6J)ëi¹\0õrMxIÏ£^\81×kV\86Ø\7fÞ}ÛÞá»5\ ft­ðÙt~$\91Âi3\ 5Aɹ!©²uÀ¿ób\8aª`UYÓó¢z^\87¶/Mô#ú\a\96\14\12}endstream
+endobj
+1549 0 obj<</Type/Page/Parent 1476 0 R/Contents 1550 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1550 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 -!)\1aF\96 #\C¸\ 2¹\0ù\11&éendstream
+endobj
+1551 0 obj<</Type/Page/Parent 1476 0 R/Contents 1552 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 644 0 R>>endobj
+1552 0 obj<</Filter/FlateDecode/Length 3046      >>stream
+x\ 1\9d\99[o\eG\12\85ßõ+\1ayX8\ f¢9\1c^ó²ð-\e/"Ykiá\97\0\8b\119²¸&9ÊpdGÿ~¿S=ì.\8aI\10,,\18<<SÕÕuë\9aæ¯gE\18ò¯\b³Q(§a¹=\e\ e\86|\93þûø\8f³ù`\14&\8bé`\18¶aV\ eÊ\1elÂõ\99\83Û0\1f\ f¦\8esp\e\8ab:(\1cé1ìx<\988v2\12\9c\8f\ 6s\96\9c\ fµ¤\ 1-é \82Ãù`æH\8f¥v(Ó\93hT;]`æ6,\86\924 µ\ e"X\ eem"=\86\9d\16Úhb£ÚÉt0Nj\rdµ=W\94\8bÁ"L29e\83\93q\89\91Zs,Ò\90$=\86Å\9bX\94Y\87·aT\8cdQb-bìA\11Ã\a¨5 µ\ enùZ~N\9c\83¬X\8cÙP&=\86%b¬\98D=\86\9d\8d\8ee\1d\86]\14r}\96u\98½\8cÌ÷\89õ\18v2;Z×cX¼\82G\93¬ù\81ÌS\1aÅ\8d\eÈ~蹸ñÄ9¸\rÓ\99r(q\ e\92\9asù6q\ e²Ëa!ç&ÒcØr¤¬Î¬Ãò\9fy(³\ e³Ë¡¥Qb=\96\87\16Ê\94ÄÆì\1c\96¸MF)ù'\86\1c\86\1d/H\99Ì\9aè\98ÊPbKt\18"\92h$gòN"\r\1dôòð\81\1dMx*"c\1dF\96\90.<ë0,\8d§ð¬Ãlv<Á\8dYs4j:¶Ì_(\81Ç\ 6´ª\83¨-'8"\93\1eÃZ\85;Öaù\7fLþfÖcØQ©í¤e=\8eÑ9\92%Z\a\f»P\98\9c¬ÃÛP²®×ì1ì¨\90£Òº\1eò\ e\8eJ,^\9c\87ñdh¥Q\94¥\8c0dñq\18gÌÌU\99u\18v>\95Q\99uXÎ\98˨Äz,g¨©9Öa9C¹\95Ùhr©úW\84&\125d&;\8cèp¦\M¬Ç°Å\¾È¬Ã2J%âX\87\13ªÚ±\ e+\ 6ó#ÙhòHy\88É\94\86¢\973\86\1dë$s¬Ã°339Ë:\f;7\933ë°\9c1Q¬\13ë1,\8d\1cW%6VPQXY/&â\fX\ 5e¨í¨\veÒcX¼F|\92¨Ç°t|B\9bX[´\Ì­lñè<D E\1dD\10;\87\8eô\18Ö\ eÀ,ê1,\93\83W\1c\17µ\13\83¹fNlJ\ 3ZÔA\ 4©»±#=\96IjPYÔc\99¤\13ɱ\ eÃNä\aÇ:\fË©¹pl4\98£ \8d\ 1\v\8d¦\99\beÒ,!\91\1eË$ÍpYÔcXê÷\88u\98l¡TpE^Vm¤\9cèKDé\92\adË:\8c(çºg=\86\9d>c\1d\86¥\90\b»­c»µeéývöÄe\f¹e{¶_&±\1e£Ø:N\99Y\87e\94N&Ç:L±\17\1aL3ë1,ã\1c\19\954{\fKhI\9aÄÆÐÒ 4±\15\9e¡¸¡\8ca\99¹É\99Ì:\8cÉ\9cû\18\95X\8f\1e£2ë0ìÌ\92\ ec2=\95\14K¬Çr\86¦\ 3Ç:\fK^{YÍe%©¤¹¬´¤1 Í:ÈÌVÊK\89s\90¹l¨­$ÎA{KÁ\98Äá¡\ 3df+ä Ä9\88o\v\9d\e\99ô\18\84s¬Ãx/v\89¤ØcÅe"\ fdÖaØØÖ2ë0,/\fÞ*\8fa\99:\8f4;\8cwéÒÞf\8fa\19Ð(ç´nLCÎ\8b<+\96\86,\rmV\8c\18gج\98Y\13\1d-4÷CÚ¬\18\91D#9\93)}«\1d\19\10g­6B\ 5@ÇF&=\86¥¯\8d=ë0,#ÀÔ³\ e+\0jÄY³Ç
+\80ú¿c\1d\86¥iÏ<ëp\f\80·Ê\ eý\115lµL×+i$BæD\87\ e,Ç:\fKÕ 8Ë:̲¼ú\ e\1dë±64Óv\93¬ÇÚPq,ë0ìlªífY\87É\99\91*=³q»DXŬó\18?\1a\8aÛÍ\18\96\9eH\842ë°¶«#À±\ eÃÚÔéX\871\99r¨¤\99\ f\98Aî+\91)\7fV5`      \97!j\87ê\97\99ô\18\96t$\ 2IÔcX;f\1dë0ì´<\96u\18\83y;ôFy\f\e·\9eÖõ\18vªÃ#¯ë1,\8eYxÖaX*ôHÖaÅVo¥Yst#\ 3\8e\8a\9a,ÀÅ\ 6Ì\8d\19ÒT\17
+]â\1cä¢eJÙgÎA9X\ 3P&=\96\83õÂãX\87ayK9\92uXî77$\93<\86Å
\90Ø\98ÄE\7f\13\13\90«Ù\ 3KÒâ\87Ì:\8c\19È\98Ì:\fËU\14þͬÃ2Ê\9aPf\1dVNX7H¬Ç\8aº^á²æ¸¡a¼\ 2Ò1Fx\fÙ\86\1cfY¼\8a\1f3ë0lim&³\ eÃr4\91Æ\99u\18\969\11WeÖaXR\ f\933ë0\e\8a\1d\1a\194\9b¦«\9c\b´\1d»Ù9pvw\939\a\19\194\85dÎA2X­)s\ eb)       1v¤Çò\81^ú²¨\15\8d¦4\eÓubE Sy¥=@\ 4\89%\82öd\fKÆR;&W\1cë0,\9a\16\9eu\18ç¡yâX\8faíÕ2k\8e\ 63@©Ê£\85\ 6²Á=×\e\9cH\8f\93Á\99\8d\ 6\1f\81\99u8\19\9cØÞà^vĬÁf\13\e\r\1eÇ«'²\86­\1a0\833Ä$»hÊd\14´\82¥\9féæEGR<\99\1dDp¨\vÕLz\fËÑH6&Ѩ\96$Qrò¾
+g@ö8(µªáLz\fËë\0\16%Q\8façzmˬUxÁPn³Z©Ê\88ÈRÉaÙ«±6³f¯]\87õ\87£}\96\9cåbÏ°À$$&#ôÑ7g\99r\10\ eå\8e³¥\98±5øÍe«}6Ç$\84\10ób\99)\a¥Pu\90ÄLá´¿)Ðle\9fM!\8bðlj\10öYD¼ù\8dL¼ÚÕg1\19õÍ!ÉXoèµáx.Â\ f2\19ÙÑÆ}é\81ÁE=\8a.ÒÝ~¿\90\ÔC8ÎoÝÖ\1f¸\f)\ 4\1a\1e\aÎvËp¦\183×ëÎ\84϶Û\84ä>½8&ÊA8\86{'æ \9cý\12\91å2\84c.×\ 5N¿\9c\83ªV¥zâ\1c\84c\bârí g\e \95«µX)ØgÛ\80ê¤gâ\8d\1cÄ\10J\9bYN*$æ \8c´ó4q\19ÊH91ɽ¾9{ù#ÃÄ0ÜÜñ\83×t6\ f7+û\9d\8bo\96/ÞﺶY=.»u³ûþæ¿<K\9d\16ñÙs\94\8cxúÅuµ½­Â²Ú\85æ¡n«®\ eë]øZµëæq\1f®/^\87]Ý}kÚ/ûA¸¹_ïÃCÕvaÙìºj½Ûóì]Ón+­\10øãû»õçÇv½û\1cö¦\18ú M&\fù\1dö,\ï¾®Ûf·­wÝ~\10Í£Q$ó4\9fñÔMu»©Cs\17Þ°¤\1e\8dOÒÇ\ eO\1eô\8d\aá²AÛrSu\8f­É\×í׺\r7O\ fµÉñc`Z\9e[ÚA¸îªÝ*¼Ú4»:Ä\87¥þÜYÉ\181\bo\9b\r\17õö\16uùÁ£çÊô\9cLm\9bͦn¥íxQ^þ\7fç¹lâ9¿Y&\e'Xh^¬\b\85L=\8f¦îã¾~yño>\ 5máú¾bËûz\89ﻧ°©¿Ö\9b_¾×òÎÆ©SG¼/oÆ\81è|ZïF_ÂU»ÞVíÓa«\7f¼\ 5\ 1O×mýëãz¿&_>ÖÕ\8a\80\9f,\86ã^WË/\9fÛæq·:aq\17\8b¤léî\89\80íµwö±\ 5G» ÒoÚ\9a¤#Ë.ªåý\9aèÝ´\8fû.¼Z.Y¬Û\9bOþÙ¬wzäÍf­Ä    ]\13´JÔÿ<2¤\9b6vQí\1e«M¯^9}÷\a+\9cìÇ\12å»\ f»sÖ8ÿqóôÝÿ§\ 4·\1cì\96±ÑöSÓÏ}Vq¦É\99Û-\ 6\r\ 5³\8d\1ex׶Mk\99\7fä?åÁÓ¾«·áªÙ¬\97ë:>\8dèÝz\13+åèùÙ |º¯ºÐ`Q\eîëÍ\83õ\8b÷ásÝýýÄ\11óçù\1dÔ\ 3ȲUóm\1f\16¿½¼xwê|úrÎ\87ØNÞïö]\e\9b×þ\87p\19»Pø¹ùÜìN·D3ûsù뺳|y|\b\1f\9bj«¼°âñ\9b~æÔ\ 5\eùpñêýå\7fÞ|¸¼ùøáçA÷[\17~H[¹¼yV-áo1\85µ½#]8ð§æ\9b¢øjÙ\ 5\8a¹²ÊÀ\96\93dW÷­Â\15\rlóÔ\17\84Õ\1fäîì/\96$³å\9f\94$G\\1fç_)\81õ\9d¥Åï\18H\92)3ûcÁâï\93Qj\88¥ö»j\94\93N\8f.\ 6õ\8e4\bk\8aq\15[ê2µÊç\89$=\98ûé¾Þ\ 5\8e\1d-yõö\rËÖ«ze\ f?s±º\ 2]-6\91ÛúÏ|L ¬ÿIcTåò\9d\93ù`~xOKí\ 2qªz½¯{\81ã\1dó³\9d\13\aªJ'©\8cÞoo\1fªýþÛ*¨¸NwÉÄ\10\r\7f\8fO\90`¯Õf\13¾­»ûðóÛWWÑ>\7f*P`éT¨Â«·×\agní|z^\VZ*&Ô*íe\945ï¶^q\9a/¿T\9f  \93jôm}»®lRð' \95Ö_\92ÿX¯~ªºg\r\81ßøT\99Û\av\1fí>y\80ÈQ\9exù©ylÃ˺[¾üÒÞN\ 6$ÇÝÉÃjujþÑ»K\14?v:\ 4cç?ݼÅæªÙï×\1a$êÔ\11\8f²\87\97\9b\9a\13ÄLèÏWbÿøpb\0Ŭ'åJ\v\12\ 1^Ú  £'\8f\1dG¤.\9b.vÔ£õh-.\84G\aq_\18¿\1fK.\92óù\10S¸ï fJÔÉ\ f\ 3Ï\8cæ\8e:-Hý\1dz1sù°/ð~¬âuËÆ*3\96;Q\eÁ\9e\8f\91ã\197ÇÓ9\ 3'óYik½»9û×Ùÿ\0\1f¿|,endstream
+endobj
+1553 0 obj<</Type/Page/Parent 1476 0 R/Contents 1554 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 646 0 R>>endobj
+1554 0 obj<</Filter/FlateDecode/Length 273       >>stream
+x\ 1UQËNÃ0\10¼û+æX\ e5~$¶s@¨\15\ fq@\ 2j\89sI]5\15I\84ë õïYC©\Y²v<;³ëÝ/&!èHX\ 5mÐöLpA/çëí\91Õ\8a×0Îp\81\1e¶âî\ 4>±b\ 5ìá*Þ\14\\ 1{H¡Ï.YXbbµ¼\90\96\98غâª0.1±\8d¼h©Ä=\94PÔ÷_÷¹n\89\89Õ\96Û\82¥\7fÃXCÕ*g)ÎÚ\18°eKÏ®\1f\f¤\84ßæA\19gá7¿s\12ðí¬á\9aã}wDw@ÚÑõ\11R
+\91âõ\80Ch§Ø¥#n(\8cß!Þ^ù=ù¹\93_þ­p\1aJ\91çlµx^.ð\12Ç}h\13îÆvêÃ\90Ö©\e\87,\9bKC\9dQöÜ\8a&ç?\r)\8e\9b©ýO¨h'Ö8Ú*\91Zfͽg¯ì\aE\aq\bendstream
+endobj
+1555 0 obj<</Type/Page/Parent 1476 0 R/Contents 1556 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1556 0 obj<</Filter/FlateDecode/Length 1548      >>stream
+x\ 1­WÛnÛ8\10}ÏW\fú²\ eÐÈ×ÆI\81\16H\9b\ 6] I³µ\8b¾ø\85\96h\9b[\89ô\92\94]ÿý\9e!)_\94´À^\90\ 6\8dMj®ç\9c\19ýuÖ§\1e~ú4\1eÐð\92òê¬\97õht=Ì®ht5Æß\ 3üZI\8bp0\18ô²ËöÁ»éY÷î\9a\ 6=\9a.`ër|EÓ\82\87oòÎû\95X{ii\94Ñ\83©¤ÎKákX4\v\9aH»ÁÉt·\96î|ú'Ì\8c¨ß\8ff.\ 6\0\86:7E¥´óVxc\1d?u¯rk\9cYxÒÒo\8dýÎßz©\11æ\ 2Ö¼!¿\92p0\97J/ñ·\95\92
+µÀ\99Ô\9e<\9c±\15\17|»×ì\17\99_\f\11»\9b\vº)\8d\96\18Y\9e\18gW\4\\9d\r.Çt\1aw8¼è\ fcè·¦\12JÓ½¬æ\b,fû\9f­½7Ú[S\96Ò¶C\7f´ª\12vGÉíéÅîÝ>\83~?ë\r\87M\ e¯z­\1cÒñ>\8bw"ÿ^¯ÿo«7·\93\7fgòb8ÈÆã1½\1a\0£Ïw\81±Ó¿¦\8bñu\82P\83\14\12\f&\95ÐDÛ\95!åh!*U*ai«ü\8aÁã$\ 1±\95#\86\ 2_Ú*\87o\19Z\95Z\ 2\8987d,Õ¸9\11Õ\àFYr?z´¯ÛV0Ü\f}×f\v+\ 2\1f\8eLWRèà\10\0\11ÉH\8eÖÊ\1f>\8b\18¹¦þ8qa8\8aà\1c\8c~\86Ðcî\8cASÔfº\8a\99D\83\97        Â\1dr\ 1ä"\80<\12!ÞhLt\88ÃCÂ)êÄ\96\90%­­Ù¨BRirQ\92¨\91\95ö*\17^\19¤\82\8a\89<\97Î\11g\ 3 Ò\ 2\85\12Oªc¥3µÅÅèD\80°b#T)æ%ÔÆ\9a\8a\94ÏèwMK©¥\85#¿B«NÃÂ3\w0\1d%\8cá #\96
+áÅ\8\19\9e¯\8c\95­Îx\99¯4"\86QnóK¸:¶|\b\r    !;ªD¾RÐ\83àL\ 2\ 1\9f\95@\15\ e\91élòñæË\aªLÑv\8cJàÖ×É\87\14½Üß\f\95Û\9f àym\95ß\11\17¦0y\råô² Z\17\9c ryí\1c
+î zKa\vH]+É\17{\13\1cÈ\8b\8c\18\f®\9agèË\82\9b³PË\1aXæ®­\85\15\95D1R7\9aÖ\9d\98àP^ÓÁì\e\86¿}Á\81ÿÔõ\er+<ö"@\1aÜØ«l \r\b¬\9a\975\84\eñ!1¯t\1e¡D¥ò\1eh@ÉÐ\92µÌ=\vw`\12  \9eA1'\89\9bË\0;a´\15\\v°\rVÐÍ\1d75Â\b\8db0ÃoeÀöÈ\91\97$7\183j\11ñÉñº\90\a\18áM\ e¨¯QA\8eSm\9eó\1c/G[\1cãÃç)\Tq: 3\81F\87\81±/;÷¡\11\84£êMWÖÔË UA\82ðìãÍ=Í:\8fe½\\ 6\ 6Ý\9cÒòÞ\14u)Ýì<ÀL;\a©ËWx\82\93Ðè}HQåø?\9cH\8b«Ok\17)Ë]hU\91\8b\87\1e±,\ 4\110xÖ¦²eô\rÔ1uYp}ÑÝ\12\*X\19ÁÀÄk\ eãÔd«k±j©¿§*\90\9a\90êÊ\91¤Æ§^~ÕêG÷\93Òõ\ fr;çe\ 5¸£\0Æ\16{¡h9\9buºÒçÝp­`\9d\ f\1f\81äÂlgç/\ 3TØG#:`Uº»PÀkz<´»{83a`\1f\r\88níl7à­\eï\96jÞ][µÁ\809<Ç\ e\11B\93\17¦Æ§Û\9bG\9ac*\13ø\13\ e\ 3.7J\ 4\18°\ 4\7fSz®\9eðRèØ\97÷¿ßMº\93ûw©AQ¡O\0ó«\11\9aÁýÌbÓL\10Fë~\b\ 1ë¬A\87µ\8b\f\98\12¥Gé\8d)7a\f4tjä6.pQe\7fE\93\1aÒD-\88X\99ï¨\90\v\8cþ ,a¬1öXÀZ¸ÛO\94\827À0\88\ 4å\10_Ì 2Y\91mÁ;\85.K²ª0}¦OP\9d\8eB7slÃÉ\81¦\87é°;\82¢í\ 2~\f¸\92´ Ì*S\9aånvÞJ4">\0\80\aXÔ¯4\9d\8b½å\9b(G·ÊB\98\fÖÃD\94Y\a+\18Xnk­yQ\ 6oï'\f\1c\80Üa\9bÇö\ eØ\95À¢mÔ»Ùkß\82\1a\9dõ_qDÝ»f±8\92¨Ï<bj\v\92 4·jØ\9f\97\12{Ö~­hÕ­Á4\9e\f\16¢hÄ6h\94\9fw75¯y\14\16MF­²\b\8bi\8d²\85·\8c\94\b\18ºz½6\96\9f\ 6"&,ÞIRrð
\14¨5ë\ 4\7f\9f×RóçDÀI­\7fÃhy,\ 5^;PôEËí\83ôßxX\1f
+=      ¯\18\98\1a>O|:fGzßxDEP¥ãw\17t(N@´ä£Ù²P¦iÝl\9b\82ÇßO×ý ñ¼u5«O÷îêð^5\1cÇ]ò\1f¼\97\8dÆ£l|y\15ß\18\86\ 3NüÃôì\8f³¿\ 1¥ª\90\89endstream
+endobj
+1557 0 obj<</Type/Page/Parent 1476 0 R/Contents 1558 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1558 0 obj<</Filter/FlateDecode/Length 1297      >>stream
+x\ 1\8dV]Oã8\14}ﯸ⠤ièG¦-ûV\86EZiafÕ®ö\ 5iå$NkHì\8cí´äßï¹N\ 2%Àh\ 5(-±ï=÷Üãsýs4¥     ~¦´\9cÑ|Ai9\9aD\13ZÄWÑ\8aâÕ\12\9fgø³\92òðâëb\1aÅ\1f½\98Mb¬\eì¸Þ\8e.oc\9aNi\9b#Ébµ¤mFH0\99Ð6=W:7¶\14^\19\8d\f;a3¥w´7Gò\86R+\85\97$(3¥P\9aJ\91î\95Æ?ÒÔÔÚ\13\9e¼\94e"-9i\ fx\bGGY\14üĪ\8bíãhBãé<\9a!û»¤§9¥\16I!Éï%9Q&¯¹Ûð=\ 4 {4\80Äë:tBg\f:\ 1OuQ4\83\9cÞÖÎË\8c\92\86\94\8føååí\15\ 6Ó2\9eÇà\14Ðâh\1eÑM[î7£½5E!\ 3þS\16dze´àåß¹VÆÐHa\1dUuR¨\94*iSY1§\8eLNǽð\83\98àZ\0#)G{PäÅ\93Ô\84\16\bü\16¥q\9eÊÆy\95\8a\82´ðµ\95\ 1ñ  \85×\12´JpL\89\15\93Ò¨]à\9b\929\19À:(yü,;Ò2è\1cÅ\99#7Ü7\95\f\97\9aIX9àðI\9b£þí\85;\10ÖrÇzì¸\9b\1em9z»­W"¶Ìg4\9e­Â\13\9b\7fXU
\fxê¸çÂ\17Ñdñ\95Ó\\8bô©®þÇÂõÍæãUã>û2Z\ 1\ 5bn÷¡ÖËÛEwRÎé\97\80^ÅpN8\ 4?n¾QU\88Æq\ 3UY\19ë\ 5Î\aÄ#Ñ\98ÀõÝ\86þQ:3GG÷Û9ÖexÆ\1d¾\ 1Ï\9dðÐ\ 1\9c7/S\16À\17JjOÚø>`)´\ eâ\83¸\9cÁÙÔ\rÉç
+«#B9\ 1\93\932k[ýVÒ\94 /\12á\86\r~8\17T       ëY7,\90\1e1\9cA9o\9b\87\8b\0\ù¾Zz\92\ 3\ 6B´F+×úI\17¤?\9e5"jÖ4\1f\8cAÅ=\9e^æ³E+©{h\18ºÞ°\13\8cç\11ûb§]\91¨Bù\86ßÖ\8e=*\81\12´æ*ø\a\9b¢+\1fV\ 2O\81\f¹2NÆÆÄ\15r\ f\9co\8a!\13\9bõ\1d=\9codZ[βî\1cïNh±\93\16\88±ÊÀ\12»Z{¢\ 2\b÷pѶ"\18Y\a\9f\ 3§PI2ÌèÐ:\95+XÔA\89\80Í\95I\84ó\98·\15¡/(£åg\95\b+CÅ(ø,ôä 
+\95\91é\Gé´¨³w\9aFÄn¯Ï\12 \1at¡ÈD\85ÿ\12:X\15µã\8fxîÐÚZ«çný\89ô»êú _¨\8d\1aðô±zD\ó^\1c¸SgÿêZ\9c\91«ó\=\ f  \9d8%,\12\9e\ 1èὡ¿\91¼ï\80#\rMw>ßΧ,¢?`\9e覥£±\99\ 3\ etv\13¦\aÓ}T\18D\18\v\b,+\10ÆGÓä\83Ä\9cäòO¥ëgè\18\93¢ì§\1cÂUÖ\1cT\86´\82j\90\fÃÝ!\9a£Læ\18\87P\9c5%\^Á\869_7\1e]×çn\8cfCmoß{ί¬í\84\9cëWË     \87°÷\1a\9e¿*eO×Ò\83\8e'\12o\ e\1e&ÏÏZ:ïBó\ 6$pPÔ\95(XC Yhw\ 4­\85Ù\85ûA»\93í&ô\86\aÖK\1a'w%Îwû\86\87\9a\b\18ÙèD0#n
+\12\fRöÍ  C¯PO\12S\11"hË\90/Ñß"xu¸°½CÙ\17üv-\1a\83Ù\8aä\83Ä]­ÞàÊP»\ 6çx¯v{\94*2>·ë\80¾=©,\80Òðí\ 1ÈB1\90\90ìü`\fL\14áfÄõC¹\8aí\86åûiÞÓ\90\1c\84·UV\1e\94©] \vQÑ9ÜDÂ5\0¬dò\ 4\ 3Ð\ fõ´ælØ\15\92·êÇ·ûï[è°
+\97*\98\94H=k\83Û\13<øtâ}:/O¤\17=L¿2\91\97·«nRN\17¸¡®æ\14_ÅÑô*\\ 4p\b®×\18 æ\11Ó\b#.­Y\19\8fYÞn\19/'WýÅáãI\1d/ãh¹Xá\86\86!=\9fsæß·£¿Fÿ\ 1»\15\8eIendstream
+endobj
+1559 0 obj<</Type/Page/Parent 1476 0 R/Contents 1560 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1560 0 obj<</Filter/FlateDecode/Length 1880      >>stream
+x\ 1\95XMo\e7\10½ûW\ft\89\rز-;¶[ \87¤©\81\1c\92¢°\8a \80/Ô.%1Þ%7$×\8aþ}ß\f÷K\94{(\9a\ 2\96\96;\1foÞ¼\19êÇÉ5]á¿kº_ÐÍ\1d\15õÉÇåÉåã/´¸¢å\1aOîî\1fhYÒÕüê
\14§¿oU\13µ§÷szRõJ\91
\14\95-/>TÎj
+Ú¿âñóéßøëlùýä\8a.\16·0q\8a3ô´U\9eÏ\14­7qO\95~ÕÕó\19\1f»|¼¥ëëäóbñ0_ð+\1fèéËÇÞdÔU\15(n5\15\95Ñ6\92\8a\14¢ò±mh·Å\87Ù¡Ý\19\99H&\90o­5v3§åVÃ9\a\10w\8e\\13\8d³\ 1oIL\12ʬ\vøú&ùç\90g-\12I\91Îæômk\8a-¹5Ç\11\92¡ID^\17Ú¼ê@j½ÖELÑîÔ~\1a5\8e[\8aÞàTt¤Zþ\1cM¡¢Î\9c\9b\18\9eÓçH¥Ãiëð\87\81\8bXí;\a\80\99mØ=m¼\ 6\ 2úg\84±ç3ñ×ûMeêê"\96z\9c`\9b^¬Ûá8p2!\v D¯ìF\9fÓª\ 5\90\91Ö\88\88\8c¥\9d\89ÛIF\97\9diÕ4Þ©\84\ eÊ\ 6ãVÊ\87\1aû=<Ø\rWÃX\13\r\92-\11vI\85³Ñ»ªÂÇÕ>s?âz.gùsçªP\96\9c\ 5\fÌ\89I(\89\að¢^\95©ÔªB¹áe·ÕxÙãoR\ 5W\9d\ 3QUåvº\9cw^\17wsaéçw°XêPx³Ò4Ö~$íÚø\10\11\12r\ 1\1eÁÔM¥½dûÖé1\và\ 6ÓA# Å\\r\81#        \1aüÍyW¸ºæÀ'åæ\9ec[À8ºÂUdõÆ1\920ÂÔFF\f¦2 ´\92¸­ªSú\8d
+aç|)\1d0\810Ã[£¬\fRQè&\92óäõw\90\r^Á,N\8d\r^öÆà­^\19Ûùÿê"\9a\81\ fâ\9f°       \9d¹á¯\86\9am\ 1\98udJ­¤L\99÷Ô\859Zà\8e\8d-J\85R{üï8I+Q¹s
+0\17     dx\17i¥¸\1dán\96\12¸LÑÏÀ\13Ô½ã\9f\93\f\11§ý\95ÝCð.úºó«GIò¡\v¨\12\94¯<½\9e\13\7fÆÇ\8b^\1fø¥\1a\947\10\9e¿èÔI
+R3ë×ÞÕ\a\96\16ÉÒÅâýèÿ³HJ_\9d\94\8f£¨8MHÈèJÿl\92Ú8\ 2g\85ö@ªv-\8b$Ä!aû|Ú\ 6\ eGq,På>\89\1aQ'\Á¦\19ô\83[Ü¡ë\ 3\f\9bõ^^£¾ô"I\83O):\88Í!\a¨­ÙlÑ\16Âu\ eFrÈ<\1eg\94ü\18È\0ô\853Ëúã¨KEÙU\ 5\ 64\ e\8dÄ\9d¾\ 6eU\8f\97N«Û*\1a4hn\10äþÑê\10\ 3Kz\87f'.^\87ÆÙ\92Û\9b6¢æ\b(Ë \9f@\98\ e¦\9c1/\91\13\123J:78ú@B{»\8dROvæXÖjt0w1õ\91g\9e3ëÜóP}Ñeé;VýçÓoÆ~ú$*g1\14\14K\14\ f-\8e®i*\9e6\12\1a×N&\ 2¿\9aæ0\8fëN
+ÿ|9GÇî$úÉ\90\ 4°i|\8bæ½õ`ÊÍI¼\98ai¦ÁB£<\86\0Ú\9a«¦yj\88¡¾Î=71û¦ªÙ3\10âíÀd\19Dòò\11\87\81A\8aLºàùL8;\8cQ\90\17 \18\1e¤I\8f3\90{\82&\ f\82«k4"îÄvÚä©\11\ e;\84        !ä\ f®HÃn\fUÂ:Ï\1c\1a\ 6\93\81×\9a´\\88\18uÂ^k\ 5U\17\ 2\ 5Ù¹XKá\ 2¢þBܦ²þ\fAO\94\ 1Ób\ 5=ØÓNY\90$ºÌ/Þ\11d V\96ç4È2E\86µ|\94El|\ e#\85\87\93öÈ«\9alg\18\84-\8a\88¸¾.yÈ&ÍÆàI\0dnû:\86q   @\82\8dp9\15O\96²\81oi\11I\b¨
+D\ f\f\92\b\fµÖüÌ;/\14[]ç\9d\8b]\0\v Z\9bW\80cÅO(ó³±\8buÉ}\0)ívÅa\ 6Îzºö\1dó\85Õ653\0ysÒ\13\8f42\aj\ fwhø·R\16yØû¯e\bv6_UeÊ\fÓ¡ü¼­aÐö\18÷{:\16\0\8c\16Ü\r\87áWQe\82Ðn6hiÿ<ÈÊ{0m2· \88M\1a\ 2xòIÂ8\8b\92=»ä\Ü1±dCéè\9e²Ç·oLz43\ 2\15«Eæ\7fË\94L{\92ã¥\1aÃ\8b7'.\ 4'\11$¹É\á/é·\19\85z5\87x®ñÜ¢\a\96\b§G\8c©!i\81?ÅK÷nëmæYmxÙ\92\16\81ö¿\8d\1d¦º\82¤G´\ 6\8c®1\91Ëd\9aÓ\1f\17\85\ 3²¥\99Ùí\9Ã\1e±rñ6\84ù(÷¬tm\19Z$IòäÑð\84ÝRê\9daÎ5Î\8b(ȳ.\1aQ\99Ô\1eà\ 6£\95¥}Ø\93\aóK@\13\91=Zp9©~«.!ø\1eW8,ÍË<¨¨^RGg^9\90Ãý3ß·¸5xþ¢ö1êºI\99Un\834\84y\£n\13\ 6*\8cÞ\f\97\ eiSVo\8cI¹Y!\89Ì7P\eEph~\80\86\1a\ 1)¬á²âMPD\19¸Áñ¼Ã:u¸pï\10¿\14°¬ÜBºÌõ\10°@ÛIßxzÐ\9aq{cLáMn7bñ°è@\ 2QÀkZ\85Çëuæ\98\a\fjs\84XÎÇ\7f\\várm\ 5Øy\e\83ÝéE@\13_þÒ5]\16\10¹®\99pÎw2¾\88\13]\8f®÷2Ôú]#]À\93ng¡\1a{>èÌ\91\11\b-J\14Ú&q]ÛÂïåâ/%£nýaMNç@Ì\94\102\98\14á*\¦5~º:\8bµ\17½\87L.\91Êð\8a¤   \9bI¯ñ©/¤(}\17\ 5\94\ 5zVÏ\89AܪWÀÁ÷\9bº1ØÖR­Ù9§{ùø0þ:rs=çßdþßO1B´§ÿüùåöþv~\7f÷\90n:7·ìó\8fåÉ_'ÿ\ 2!\19,\aendstream
+endobj
+1561 0 obj<</Type/Page/Parent 1476 0 R/Contents 1562 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1562 0 obj<</Filter/FlateDecode/Length 606       >>stream
+x\ 1\85TËnÛ0\10¼ë+\ 6>%@¬H¶c¹\87\1c\92\ 1zhÑÂ*zÉ\85\96(\8b©D*|Äõßw(Û-b¤(\ 4\ 2\ 4¹Ü\99\9d\9dÕs\92\97£\98a¾DÕ'Y\9aá¦ÈÒ%\16«\82û\19\97\95h\92û2¹~X ÏQ6|²\\15(k0<ËPV\17RWv?xe4¤\16\9bNÖð\ 6.\f\83±\1e¾U\ e\8d\14>Xy\ 5¡kìM@+^d\8cê\85Ò\9e\v\ 2N\ eÂ
+/áúÍ \9cÛÕhT'±S¾Åúóýeù\94d\98æótFø\vç÷¼<b\13r|blíR|ò æHÊl­\18ZU\89®ÛCõ\83qN\91a\84öVh×EÀÆ\9a\1eA«_x\954\16ĸÿ@3\8aeu¾5aÛ²ZIÉ\ 4\973=3\ve ì\88LÐ^h±\95½Ô\1e®j¹qØì±#½ñ!üΠ2¡«±\91ø)\a\7fV2er{]¥ÇãÙ2]D%&NVÁ*¿Ç-E´/ÒNÐK\16G6Âc-ú\8d`#c7xD\88N\91ÂñV\8dZÙ µÒ[\10a\12\98\ 3½©å\ 4\9bà!*\1fFõ¢Àdl\9aæ\8c\16o!\ 2\9eB\8f>°ò9Hw\80\13ÚDU^%>ÐLQFsÄ`e\99\ 6u­b\ 6ѱ¡VôÒÇ\97§Þ\9e\ 1\1f²àvr(t0ôÒX!ñ\98\959Îhý\85¥.ÿ\ e@E&lÁ\89ù¨àÛØÆþ       Æ\ f¥k³søR\1eÛp\15í\80h1\vMa^$½P\89\bu|ü§©\19[|ý°:Î\¾ä<®æÈg\ 5§\93-_ß}¾¿ÃWk\9edåñÁT!ºjÔ>ò\9c\9e\1eL\8bì]\8c\7fß\8a!²¸I\8fv\10\ ekÏa\9cÞuFÓ¬£mðxñ\9d»qH×íhâ\93³:Iò\8f\971ù¢X¤ÅrÅ\1f\ 1\13ÏoâÑÇ2ù\96ü\ 6í\ro\0endstream
+endobj
+1563 0 obj<</Type/Page/Parent 1476 0 R/Contents 1564 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 649 0 R>>endobj
+1564 0 obj<</Filter/FlateDecode/Length 1347      >>stream
+x\ 1¥VËrã6\10¼ë+樭²h½%çæG6ÙJÙë¬\95J\ e¾@ (aM\12\\0\94V\7f\9f\1e\80ÔËÞªxS.Ë\16\fzzºç[g@}ü\fh6¤Ñ\94dÑé'}<Ù¿|ù­3\1f$C\9aLÇÉ\9c
+\1aLFø\eßåôÄ_§Éd\82×ñ|\86×!~­¢,|0\1eãäÙó\9bEçòã\15\rû´È\90y:\9bÓ"\r       ñDvo×¢òÊÒ4¡'Q,\ 5 G¢¤\87Å\98\8c¥¿u9|¡G«\vaw\1f\16_;}ê\rÇ\bн3\85Ð%Ý\9aÒ[\93çÊò§\9ch0\8b\89z#.\ 6ß\9c&\83\ 4!\94Ußjí´WôE\89T\97«xbL\83Asb8K¦|âFe\ 6\99\9a$âë²V¸c8CÈé×Ú\91\8cu_P\95\14\15âE\91«q̯\85\ fg\ 5ÞHS \96\17Ë\ÑVû5\aÌôª¶ÈOKá´ln5\18Åj3\9d+GNÙ\8d\96ø\aé\±Lø\14`Iim¶ä\r©2Dä'"-t©\1dcX      ç¶Æ¦øXÚ]åµ)9@À5¡ÅZ9Dô[\83\b\95\96î,s,w\ 3\9cÒxKE\11!Ð% Ôm+yîN\9e?\9c¢×\ 5\0e%V*\89ÏOû\10:6M\86    Ý\bù²²¦.ÓÓóÜ×\ 6ý\ 5Ã+¬×\12\98\99Úçºä²×\80׫ÊQ©\0\8c\ 3\1f\bÈ\9eày \10=ÞÝ&ôÉ\13B\1d¾\ fàÖb£H\10Pzi\18\80Ì-öñ<cÏ`Z\8dð8¢\v´¸PÌ\83U(\ 3±)«KÉø\8a\û]¸3¦©7\9c&áªi$gnV¦t¡L\1095[\a\18\13s\89\7fÇ\9f\7f\1eAM\93áB!\18É\#\93kP\94\rò½Y2çÁ\ 57\9f\87ÓYÓ\97\96¹áÃý%ª\H®´ÍxÅiîÁÄ\18\99[[ã\8a\94«\8dÊA4      .ú0[\97\1f\7f&\9fUÞjµá\94\82r\10\91L\16\1c§ÄÍFÓ2k
+|\1e\11f\0\ 1ìy\85\97\8cÎ\11\90£î¼\85S$ÑiÙm7\7f\88TÛ%k\ 4Fg\15á¨Ð\ 5\1e½·"þ7àÛëÄ\16÷\9cß\81¿n\aÒ\16T\99\Ký¾è½á<\19\\1dH\85ù\ 5\95òÜl¹èc\ 2"0\ 6F\81éA\1cxT"У ÎA ~á\8b\1dsô¸\j\bëmíüÿ\80à:e]mº¿Ñ"\8cË_̶{QB\1cl\98\85(ÝïJó~,\1e>/0Âf£SÈÙrw\0ä\15\10O×÷P÷
+\r\12A1\83L\1f£\ 3\10\8d£ç®NTrÂé Ç{Z?,Î\b|\ 3ÚCRXØ   
+ãD+¢?Éßk(\10O\1d\9a¿O
+Yy£Ú¶Ø?\94]*kâdòq\88á\9d¶JzcwoWó#î\9fwä1Ú`ià¯Á\ 1[\ 4[ý    Z÷»)\ eJ\14(k<\81uðOU 4Çâ!Z:²¾Ãw\1d\8bhc\ 4Á6\8eD¡µãÆ/\82ËÙhß<\ 6`\807Òä\81w®®*xñ\1e««ïÍ\90\9eÊ5\9b»aÍ÷*ßQª³\f\96Xú³f\ 6Aã-å\92ãaIñ»Jµ\85\1f\f\eíY*Uâb\19$@ä\88Ù\14\ 2\r\1dcâuÑZçôh!iüäþi_4\f#\80¨R\1dý\1d\9e\ 2ª\87u\0\9aúÕ\0\91=\80\@j \ eh\v\16\1ah\ 3\16\18\0\ 3}rïÆrZSaCn²\7f:6Àc\r\97XÔÂ\ e\13nµÄõu\9c7]¢\94\11-¡°itíW\16\89Åm¿\a\1d\ 4\vÎÀ8÷°p\ 4âasã÷x»÷·[0"ð¾\10r\8dÕ\80é\ 3Ó\11Rb«ð\91Ú\8c\ 2\8fFëy¨\86sÄû\9e$ÀJr\9e \11\ e;\8dXq \ 6©`\9c\93\18§7\9c\1cp[¬A\9c Ì\ 6Ù-ÁlÐîTy¡s¬xµ\óì\86\98­û\\9c\eÆ\ 5)/\93$AÓ·0l{Á\17A÷ÚÙi\97\e\9d·ëqk\7f®RR\83rì´ÇMCÊ¢I\8d\10ɪ\xÐ\11_mÇ\16.V*ì\8aaOâ-Kªj¿\97Ì\ f\14\9dLx+yÇ\16ÿZK\19Èñl\9c̦óØõÑ\94\1fýºèüÙù\17\8f¹Ú\ 2endstream
+endobj
+1565 0 obj<</Type/Page/Parent 1476 0 R/Contents 1566 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 694 0 R>>endobj
+1566 0 obj<</Filter/FlateDecode/Length 1494      >>stream
+x\ 1\95WYoÛF\10~÷¯\98\97¢\8aQQ<$Jn\10\14>â$\ fµÝX@QÄyX\91+\8b)\ fe¹²âþú~3K\8a\94¬¤¨\f\98\1aÎÎõ͵úz\12\90\8f¿\80¦!E1%Å\89ïùx³û÷ñÝI8\8e½      ÅÑ\99\17RAa\1c\86Êéþ¤O\17\14ù±\17ô¸}\1aÜpêÍúÜ\1e\rî$ð¢\1e7\f¼\98&q\f\91\82f±7n\b±*¼IìùàM}x6\11¢ã\85\11¤\v\8aÇ\10\9f\bÑñ\82Pt\ 6þ\fò\13¡:¦\1f\8aÒ³\80\ 5\85ØñÆxÉ\18\883\8eèx\93\99(\15\83c!:^ÈÞ\17\14\ 4\11\9ec¡vÌèlÜ\19tDÇ\8b9ND8Á#\12¢ã\85.!³\0â\91\10\1d/\98\89A''Ä\8e\17âå.\bGt¼È\ 5?\8ep$\14¢ã!\1f,'h\87Bt¼Àïì\85BìxA<\159Ñé\88\8e\87¤10¢3\10¢ã\8d9h\80Íñ\ 5Bt¼\88ÓZÐ\19«\ e\84`^Äõ\10;X\82p\ 6q!\98u1?\19]\9fQ0¥ù\12\ 5\1fÏ\ 2\9a§Rç>Í\93AìE\1e]Vå2{Ü\98¬|$»Òt¯\8a\85¢«ªPYÉLkª<×æÕü\vt\8d\91M§k\88*\8e¡m0\87Ì23µ¥Úê5A(1ZYV§h[\99¿ù\9bSzwuIYM¶¢M\99j\88¨2\15\9bkeT¡-^Q©\13]×Ê<³¦ºXx üóè½6\9a]ði\88r
+ÙðV\93²V\17\1aõ·uÎ\1es\b=uv¥,)£)©\9e "e­|¤ÕL\85*qþQ{\8dv)Shg\83ì,Øú\9b*Ö¹&\a\ 1Ò"\10\fZ\15ûÈ\fhY\19R\89\ 3\0ò\84¨\7fmEÏZðƨ\0Xùô\98W\v\95\7fn\8c£\86\9aðyM\17ªÎ\12ªµ\81çxXVYóI\99\11Ãöp©í"«\80\1c dî\80Þ4®*\12{\83»Ûw·\87\1e´Ò\9c¡GSmÖÇEoÎ?Þ|8ß\13\1e:óò\7fç+\92Q¯ªM\9erè¤\90d\80\9cº"â,çU¢r\80\8d\1a1´0Õ\16a±ÖýP\10\9ftÞú\12\8fù\eç¼\ 1fmôR\eΣSÕ\1e\ 2Lïdcû¿\8eõý:Pv4ÎZ'h\15û¼Ë\a=\f\8a\r\8a\7f\83\80ð²á¾\11úá\15«Ü\ f±=Ò\1ac9þ~Ô\9a.\13ó¼¶\bw­ê\1a©JQP¨KEF\7fÝdF\17º´®à¸Ì^Zk\14tâ­Ù\ 6°£VëÍz]\19Û¦/¯\1e«òHÝ5\bwl.¼\1féÝ®¸§Ð«µ­ðE\10[\9bj\99åºþí¥ï¢\18\9eÛUëô\ 3>?Ý<<´B 6Ì;\1a\85³Æ\1d,\96~®iU\15¨I \96Àþ3:;%w¨©ÜÌÒBSQmJF\Ùïú\94\9aìi×j凉{\95çüfc}¿\99v­üC¯ëµN²%\9c£G]j\83þwêêÄd\18t2[ò\":¬x74ì
+!KÔFç\18ÃO\9aNO¯nïOO\ 5J\86\9f\13¦\86\8c¾EI}\ f~g·\rD$¼¤H\8f þº7ºE¥8Û\14  \86xo\8fôÀêüxéA?õ£MmFÒ¬£\9a\17Ô(Ï\16£6\ 6\16íéÄúI©*óçÖí\97Óa\8b\1eÖ\94gµmÏðstÝNÌÒª´ÈJ÷Òwcô Ê^;à$J.h^s{%ÍÂ=¯>µU+Ã~\7f(ìE\8aM\86î\e\8c\b\1dèz\11aY\1d\9c\90\1d\8cbVõßÌáÖôcß?8Õ5ÃÞÁ©;Ø­û6ôváó\b\921\94`q`3VKZWYie·c#¯°¹þÁút»V-°{±\80Ý=\ 35Y\95²mqõ\1e¶ëöí\91I's\15\1d©KµÈuêÑ56kÁ£#ÕVey\8d$£©·\Ó)\97uVÿ\82Á\88\ 5\817m¤ÍeáíÍåÇ¿îæ\1fno¼\95-r±?ºN\9a]>Ä\r\95Ê],\1eÂxÚlÐö¾#ü\9d³s¾@¸µ,>\1e\1d\982_Ôá¥a¿Þ;\84\a]\e\1eº\85«Z:ø®O­Ó\87>\ 1·Þ
+vk°]¼\9c\18ì\12àÄóäϬL±\8f)É3Þ&\0\93û\fíÁòM\98Xèê\0Ñ«K\8fîr­j½Ã\$\9e\94ɪMM7ÚòÝ\82.xÙss¤U²á}%\ 5\0\17\92|\93bÎn3»\92Üa4×Öd\8b\r\17\b\ 6\ fÁhÃíá1k\92\18Dø-r\86ßR1_õ\81Ùýùï\17çtgª/\98ø¸Ñö̳ê!_ËýYDé\8f{Rú¿¯ÃãéØ\9bÆ3\¬!\1cMYçÛùÉ\1f'ÿ\ 20 þ÷endstream
+endobj
+1567 0 obj<</Type/Page/Parent 1476 0 R/Contents 1568 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1568 0 obj<</Filter/FlateDecode/Length 1847      >>stream
+x\ 1­XÛ\92\1a9\12}ï¯Èð\13\8e\80âÖ\v´ßpÛ\1d3\eöLï\f{\99\98ÞØPU \90]H\8c¤j\9aýú=)\95
+¨¥c.»á¶Ý\80*/'O\9eLñËÍ\98Fø3¦ù\84¦3*v7£lD³é,\9bÑíb\8eß'øk%­oÞ¯n\86\ f·4\1eÓjÍgg\8b9­JÂùÑ\88VE¯\94^¨ÊeoW_n\ 6ø|0\99e·8ÑûQìrASØ1ëµ´\8e\ 4\15f·¯¤\97¤øÿ\9dÔ^xe4\ eÐÆ\9azO;±ß+½¡\ú\83\94\9aþ®ti\ e\8e¾[Å\ 30¢Kú«V/ìnD\83ñ4\9b°³ð¸£§\9eß*Gø±RTÕ\91\15Ü\ 5¿ª\10^\96ä\rÉ\97}%\94\br[c=¹½(äÓÛ\90Åðá\8eÆHr\r\84\ 6ÓÛ\98\r\92Êè\1eV=Ç÷Y\14[¥%­lí<-\8bÂÔÚÇàþl\94æ#÷\95B~\ eþ\9aP'£hÉo%}0;\ 4À\1f\9c°\85³É\1cø#\9b%\80\88\ e|p ¢\ 3ÎKPÄ5½å·Âóûµ\8b¹\89\1aöµ\ fÉ2â!\8aÖÜSÏ
+|n     \8fqòxÊ>½=Å\98àä\18£\1f\1cx\966£oOÅðÒî\946\95Ù\1cû0\14ñþªÍ\ 1\169À7÷(s\8dS        \98ìM\82 ¡Æ
+æ÷¹\83±%\17\ 1^æ+
+\ 6\15\18â¼Û
+\8b\14\9d,¬ô´6\96\7f­AQ\14wWkN\98©tP~\eÎ\9f >£É½ÑÞ\9aªâ\8cVMä \0\eRþHk\94\97M\82#{+\9f\81#øFµfP\8dUÿ\86ÿT\98Ö\8f\13;IßIÿþÛï\7f$Í/ÖÖì:ôüÒ\90\82\13)Cí\ 3\91\ 1s\ 5Å\94\8e©\92>äº\fcK4\85vÙY3ôi2\1a½ôé\1f\8fôhÍ\1aÏ"uQu\9cÆÚ\aj´a_àëú\94×¾µ{÷BCú,ñ\ fì~c\90I²P\1aÒÆgô\8dÔ\85ì£\©/ù\91\8e×+\ 6\98\9f\1apZ<\89\0$íä.Ç«Pù\ 6\8e\\16\ 2Y\93òÀ@â¼ñ´7Î1.¯Ð£ßñÌÒà·µ£-(£M\871mÁ\1a\87Å\89
+\8d\9d$\Ë6½Ç\ f÷ä¼±\88G¢!¯£È2ÂuM\98ü 7Êy{Ìh\19{h0%6$*gBh­"¤n\83\v`r½ã5\98¾\8bÔ\8er\ 5A\13y%)\17Å×\81DÊ¥ð 0GÉ\14\ 1ûCãÂ)\82âö\0\83s\98¯+¯ º\1dÌ\92\15\17:*6³.ªº\ 4-ßñÙáÃì¤ý­¶»]\8eþ=\94ñD\9a\ e=\1a\ 4$¢º
+W(Ek\85XCteÔ¨ü\b,-dÉ\12\18ÁÄuL\84\10\94á\19Ôg­65ô
+G:Q\9b}èu+!ï\\1c\11FÂð\93Òõ\v¹£órÇ=Å¢\1còúø·\8f?üDhg{Ä\88\1då\ 6\88\85\17M\r:ÞR\ab<DÑ\bñ\1dTU1°\95\89s%²à\12²\1edD=cìtq*\11v\81\92q8¥\\v\14\87\9bdX;;d\83Õ\10²\92\8ba¥òac\82\8cíÄ\ 5µ«BÆCé\8bø@;Á\8a¦h\83\18Óô.Î\95§ÉlN\97!\86Ï\a\7f\9ad\v\1e<±®(ì¿t-ºA\ fβgÑ×¥Ü\83\80\ 2 £\80A£#ô\a\ 6Øf22pá­xR9¶=8\13æÄCê\96Öíe¡ÖIÝ\e?o4r\87æ¿´U¶Boä\9bô4·\1aFVÀ\14`V2\10õÌ]\9bg(ýõR6@aK
+«Oï×JÙì\ e\97È'My\15ùT\1a_æ(ù\7fC.(WZ\80(Üæ¹\80B2TÜ÷aò§Ð\9b\ eû\83$\fÊ\12»®EëÔøçu
+S»Ì\10m'ÔXá¯ò\88\9eÐr\r\19\ fµ\ 2O\9aø£\8eE=À»qoñA\9eBðé\9cÉ¿ 5\9a\ 3,^<        ò®nqOî\f0ÁH\8eIc²\88R±.\88\8a¢\ 2\82Í.H\15(\1d\ÿ?\8at­7*õ\15k\ 3¯)É\1d\9f\98\9bgÌÍ ¯\ 1f Ìk-?\80u&Ê;ð\126WH\ 3ÕN²Ä(\9fñ6\r\89$IaÝ1\98áQ
+y\97\bÀ&ñÃF\ 1\89\12e\19\97ó\1e\ 5Õ\88õÄ
+Èa\85\96ñ&-¬i<µ2\e\1eÿ#ýØTèçMerôæ?yã
+
+\1eû¹\93$ ÌXý_/Xj\9aW»*éYU\8aýÕ¶Zjúôaù\88fâ½9©OF\8f¼Û\ 6öÉx î¿¼\9a\ 1ÈF\8cd\99\91ܼ#¶þn\18\ 5{k\9cïä\81\81Ò\9cÀFX\9alWÛýö\88Ô\9a6¿T\8a\84ö«9%)irºÆÂÁµ¤âJ\8c}èR0ãìä;X\1fc\ 4ì½d.\96©N:Q¡\ 2­\ 5óùj+]É"m\a\83É"\eßáFÕ\f£f;âݨO[sà\ 5±ÿ\e×­\ 3\16ta=\16X¬zk,ô覰®\9c_@\93\83¦\19\1aÛ­^\80\17Íô\86\9dÐs\9f\84þ\fÑá]\12\97Îö\92\82\95r\8bEã©\87\9b\82\ 5\91Ñ\19>¤épÖ£-\8eñDJ¿\17×\87t¯J\1dÚ츼ÄÀ%BÀ6¤qqå^ë\ 6ð{\11\8f³=ñf\89\9b\12bw{£y»\v+S\9a\9fЦã\1eC\96¯Ì§Qr\99â¹`tRË\0ÌC\1d®NVV\12=åÀ:ìG<M\9e\15T\9aóá\87Îg\89\96Q\95\82\ 2Êî¸=\93§\8e·°È)鲧·ñ\93_m¤T\83.\ 5WaCƽ\92<\18u\10GH²\89\8aüÊB\1eY6|X4[Áx\86/K\16S\9aá\8b\14þÎcùùý\92ïd<ÃpË/êöK\8e\90}:>\98\8fîøüÿð­B`Èé\92{;¿Íæ³\ 5¾²\80Ùé\82½}\Ýüåæ?«ú§1endstream
+endobj
+1569 0 obj<</Type/Page/Parent 1476 0 R/Contents 1570 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>/Annots 697 0 R>>endobj
+1570 0 obj<</Filter/FlateDecode/Length 1636      >>stream
+x\ 1\9dWkoÛ6\14ý\9e_q\97\15°[D²å8¶ãoI³\f\1dÖvm\\14\ 3\ 2\f´DÛl$Ò¡¤8ޯ߹¤$Ën\92uCâÀ\91x_ç\9eûàýQD}üD4\1eÐé\88âì¨\1föit:
+G4\9c\8cñ}\80\8f\95´à\178Úüùü«;:\18õÃ!e4b    ÿOJ7G÷\14\8dÃ\81×Í_¢pBÑ(ÂQ\98è½\8bFteè\937v\1e\9e\1eÚº\9c\1dõ®\87\14E4[°_£É\98f\89³Þ§YÜ}/t)R\8a­\14\852:¤KS¬¨XIº\11Ù\\90Р      ÅÆZ\99¯\8dN\94\17­\1eIı)uA\ 2\ 19Y\99Ð|K+\1c\ f_ϾÁf\Ù\fÆá\84¡\99%ÝÛÁhLþmí\91{\19\b\f\a\8e\0¦\83Eº=n¹4k¼ÉD¼RZRaË\1cÆ+'TN¢,L\86\bb\91¦Û¶GU\14\ 5\87ĦûÔX+T\ 6\1d§J"\16¨ùf =¡Â¸ç T*@rÛ½6\96r\19\97V\15Û\13¼ÃQü²¬\95±É2©\13\88e²X\99$¼}MðøÀØ\v\18fbKó\1d\8cû¡ÀpæR\94n\9f\ 4v0\ 2\13ö±=§\b\8f\16\14\f&atNÁ\19@æ#8\19F!U\19\7f[e\9cÌ\ 2\8f<¬3\aë\85\875ßÏ\14\80\e0uº\88\8d\16Ê\ 2ÿ¼\90kRºq°J\198"ðì\99L\ 1Û: *O>\aßqì\0À&Ùº¢\10\91ºÛ\93EÜ[\8b<ß$û.wC$\ 2y\8a\85f\80\13\ 3æ\9498ì\8f\9dÕ
+èA­7\a¢\ 4àQ      ÒRG$    Ä¤í \10\ e\84£\8b66s\84ÃkfÍ\81˾0HËÍ^Ñäì\1604ij6\Qp\11\1eÊG\91­S~n\81ßïJ\97\8f4\17¬Øs\18\1e<H;õ~ÖÁsV*\ 6Xc\8a\9f\ f\95¹íås¥ñEZ\8e$XR\84ö\13$ÔKäCO\97iJAìåæ\r"Çuþ´\8aï´Èäñ¡æ §\1eë]\884wdï]ïÄ+é¿Xò@ð\95ÿÿG\ 3ðy¥ =ôðßMÔ=¦\85ÑGMo.o®(ß\82»Y^\95òwüp\8cìÄ+6Þ¡²P)êþ?"ï¥)\10TA× ó\92çÓ7Ó¨\1fáÓ\9fNûøùjì]^¸Ö¼\ f\0\82ª»æ\vú¦M\8e§\9e\ 5Ú¤f©tåÒ\13\b13÷3ôB}\11Ú¦ÝÒF\81C©BG@Á4\95ϹÇ+L\13@ðê\98ÄzíÚä    m\8cî\14\98\15\ f\12¯\\82\8d\98ÕðS¶ß\8aO\90#i¾\92xÏå§\r­\f\94'
+Ý·0v\e\127èº\80\87]H¨\93\98õzÛ\81Ù2M*³?ÞDZ\8eøhSuÇcCå\r!ιÛ2Ë\86¾\17;{¯¦\8fÓ³þ\19>QuP\90;ØmòU\95V\r·\7fÛNÙA}í¥\8b[ñÅÜ<È\13//\9aÚ}Z\7f-Ü­Û¡Ð[Jd\1e[µ.\14RáòÅÍ\87\93èGâ       ©P\86't\896\84\19W¼5Ùº,¤­&Qm²\ 5Qc»)ü\9d]1ÏM
+q\fè\8cÇ7Z2\9bú \8bËw\1fo¼}\f£\9dy\9eÃ8ôôP\9eA\94iŪ\ e\b\ 3\99\9alõ(\7fÁ\b\rÖñO\9bÂÍô¥V\7fû4\93@{nX½·y8\1c8ñU\vþ`6p\1f³ÁÅðÝDk\16\96\15TÎ¥Ôõ¢Â}\b     \90\8fõLÅnaÚÓ±Úbª}\aI:\88¸\85Ylt\81­\85ç
+?Ý h\82;m6\1a\93Z\15
+»^\95£\83%ª®Ãçf&kóL«çf+íy6wòÉmwrûÚ\1fÛ%¾\1e\9b\88:_±'\18«²©\1e?Å[(>9È\1a\vÜQ\83Ì\9bhZj\1dSkàÔæ[\8a7l×KÖÔí¾ Ù­w¼
+°N¾ÇU?Å?¿»â\rÊçoSkk2\8dѾ\94\1a\93·\90n9ia¶°&sr_v*\9eß\12«\92«±\1f\fÂA?\ 2óÎÃÉ`Ľà7¬®N]µÍîí°¤°£&
+^¤Ûýì°C\93°\7f\86æ\93T\97\81z\81f
+=C|¿FÁ\1câó[o\8d\95¼/Õ\83Hy\9f\ 6,þZÁzØj+ø§9h4\f~U:1\e`=£?®Þ6\96Pí7n\ 3â\ 5V,¥=Fׯ!t«¼p} hYÙ¬Tì/3Íö\88m\90\17_·®9¸\9cèî`\85\1e÷\1c¿àûK\80¿\aáz³\94îñA8uñ\9cÐÖ\94\16\9b&_\1c\18\92\872åìϱ×!!Øò\14&f\99`­d\v\8cp[À-§\80`\87:ÏÏ\ 3[Lµ\9cgk»§\85táÐR\9a\väÐu*NO6\976¯IÚ
+Çõ;·U\92)q\9bb;môRa\97\18²ri¥dqÞ á?º\ fß´\90+D\94\97\0Øc\86µöOSúùê\9aÛFX\¦~bµ½k\Zݶ\1e\r\87ád2 Ñ`\1c\ e'\8e¹7\17ï/á½5ß0Íq\9b\8dK\9e5ÍÎ\13D#Ü\9e\14\8cû\8e¥ÿç\1e3\1c\ fÃñhâçìÓ/³£OGÿ\0»\8bÒ\14endstream
+endobj
+1571 0 obj<</Type/Page/Parent 1476 0 R/Contents 1572 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 700 0 R>>endobj
+1572 0 obj<</Filter/FlateDecode/Length 1493      >>stream
+x\ 1­Wko\1aG\14ýί¸r[\99\85\ 5ÌCéC¶\13·®\9a>bª|¨ûaØ\1dÌ$»;df×\98\7fßsç\81    ¡VUE\96\11°3÷yι\97\8f\9d\8cúøËh2 á\98òªÓOûøf÷òöÇÎp4Mû4î\ fÓ\ 1U85NÇáSI·\9dýÏx:\9d¤\93ý§{\9f+\1ae£t¶÷\14nh4;çW\9cëÓ\0ÿFÒ\92\83 l4\86Ã\83\a\97óNïz\86g4_"îñ\14o
+\17n\9fæyw\9c\8eÒAJ'¿ÕI³\92Éu¹=¡+#E£tMzIoD¾Rµ¤¹imC\17y®Ûº±/æïauDYæ­&\83      ¬vç+IVæº.è®+ðjð¡ªd]Èâî\ 5\96MæÎ|}OU°Ý8Û"Ø&eɪj]n©Ñ$ÊRo\b¡Ñ­¨\16\ 2æÍ\834ì¿OIÆ\ 5\86_\9csF%\1f¬HXª¥\84OÚ¬dí.ç¥\92uæßk¤S°i6ZèJ¨:\rö\ 6¨\ 6Û»Uu.I"¼àõh¤Èîc«\8c´$(×\ 6oÖÈ\!±?kõH!\9f3<­d³Ò\ 5-µ!Ñ6pÙ¨\1c\89m\ fÒØ\15\86#Û·Áq·¶å+dÛõ\1aÉ\14/\11?¾ÞÅ\80ª/Õ}kv\9dc#¢(pQ\1a²¹Që\86ôÚõUÕ¾\81\80Ll`,¥­\16)\9bò\ab\87»)ÍÙ[H\ 4ïjÝDßÅ\19­ôF¢-/\9f©\ 3.£ý¢´\9a\162´«8(@%j\97äa?.%\83\0^EMòQ\0\e\80<\17\93ÞÊâ'Ñ\10ãþ\17\8fd·¶\91\953лîÓ,âsä;û×}©\17¢ü;:î§Sn8\11}Eߦij$ã¡@Å\0Ôµ0\ 2\19Kcñäûϯ\1cV÷;êµÖôìBÕx#\r?O
\15ò¡W·eIÉ=eÐ\8aÄR\8fÏ,Q\r\eú¦%_ï'\9e&Ct¦pô\1c¦ô3@ËÀâ\9e^y(\a\0¿r\0ö·c·àá\89\8fk£sY´,\12¨\18£\9f\r\ 1±\9f\98ñ< \aa\14ð¼QÍÊùBOm\10\82w(\8bÞØPÙq@\ e\140\89¬   'hÐï÷?\ f(Pë]d¤\83¥,eÞX&#\aæ\>Å%\ 2;Ï(ZF.Õ\1aç]ïëÈ0 ¢@¯¬Ýhs\88¨f\ 5t\08k£\1eT)ï=ówÎ\ 2ýé"ð\\14\15êc\e\ 3èã%    b¦R\992\93½\bÅï\9dõ\95pr¸'GF\83\1c;\8f\96 ¤Ü¸}\ 1\83\1aV,¨ \ 2tI\1aĵÂ+\93Z\82¥À\8e#êF\ 15K¡JRK\ 6?\12Tµ0[Gê\bÈ \821(d{\8fàk¦¬ÜÕÅÕÌ)F<gWº-\v\8eÀÊÆI-\15j¹D\14\10ÊXNÄ\ 3·\bêÐ\99µ:W¢AܾÕQJº=Ùä=wÝõâiJt9S³=s\91`J´F5[h\88°ºö°bÜ\ 6\98pèVZ\a¾\ fÒ\8d\r®L(ÿñ.       \86\12´\9fE¢ÎÍÖk\1dßf¼ É&Pè \97]® <;9*ö¾\9aG\1f\81.èÒ\93¨¡ßn\96.K$«\ fgU».\ÙÐPÕ@\ fQ\80b\vU\ 3ê"¹ò@®d\92N3Ê\86nÆÝ\rÆ\93PëH>÷8ÉFç~
+F\96ü:÷-\89r\90ìÕõæ\99\141\9fm\14f\14ÁK12ðè½)Ð>µÄàrȼ\ 2.î!\15\18î­\87ð\11\94\ 4U©¡¢g´h\e\10Ú\r\8e|%ó\ f®Ö\výH'nß\0Ûè
+ônÁ\86¸gPÐ\ 4/ré   Ýp,\0x.,,~\ eKWFîòñFá&dÇ\rÿ\9d\ 4ìN>·\10<[6X\85\80ý[ÿ¿PõXã¾PÙÂ\f8`\ 1#?ôË\8d\fYx2-4\84\90       \14áÅò¾SÄ­n½\90¹µ\ 4óý(EÙ\15£0.\19Q\82ÜzæE\9d\17Ä0[\ eà\9f\8cÞ#\0Æ$öÍ%äb\9af3Ø=\ f\1a8NÏSFQ\ 5Ðþnô¢\94\15ëAA¯\8dÑ&¬­\91>nvM°\9acÎÞ\0R5ï4Øüʶ`0\9e~}ÊøÃö\16ÖT\86q\b1Rk\8fY\17\7fÐݽë6Ûµ_õ ø\9e\95ÿE(\ f\84\88\1dû\99ì£\12ëµ[©Sº6R^Þ¾:h¥ß½5:j\bOÃNd\7fà\15\קM\\96\85ß\rÝ´ßå\8b[ÊÐ^®\9f¶c8ó\ 5ÛëÆ4ÈU6D§fC\1aóo\r\17o./¸\vï1ãé\95Î[hEãÔÃá!\eã\aÌtHɤ\8f-ͯ:ÿï\97Èh2J'ã)~ÝÀÌÈí\1e¯ç\9d?:ÿ\0\ 4,B\90endstream
+endobj
+1573 0 obj<</Type/Page/Parent 1476 0 R/Contents 1574 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1574 0 obj<</Filter/FlateDecode/Length 1954      >>stream
+x\ 1\8dXmOÛH\10þί\98C=\91\9e\82ó\ 2%\81\ fw¢PîPÕÀA*tR¤ÓÚÞ$.¶×·»&Í¿¿gv×à¸pºV*©½\99\97gæyf\96\7föF4Äß\11MÆttBI±÷q¾7¸:¦Ñ\88æK~t2\9dÐ<¥a4\1c\ ei\9eôækI\95Vq.\vÊ\f©2ßRV\92õ\8fWZ\14T\e\99\92UT\88Gé^ÈÒêm\1fg\13\89\87©ìSfi£ô£¡Jê¥Ll¾\8dè^Q¢¥°\92Äûù·½Ã!\1d\8e\8e¢1¼÷`QÓ&³kU[gñàÝ\ 1\892eW|vpõ!DÜ£§¬ÚøgM\16=\ eF¦ðÉQ\86`D\9afåª1\16Ñ\8dn¼ó¡ÍZåá¨óûlµ\15T¶¤­ª)Ï\1e\91\90ËÕÔZºg\b\8b\ 4ÕeöO-é+\a\7f}I?ù¨NB¤-K×´\92\bNå)íÿ\ 5\93"\a\ eé\96Öâ\89í$ª,\81\0³r\11_ªBde\84?û¤4í_\88²T\96¾)T"uïúî\1cðL\91o&rÃÎ[.M]Uy\86:Áø2Ï\12Ô\ 3ð\ 2S\92ß3c\19\1a#-Û߬eé¡á\87\ 2\99&ë¬Daum,\89$Qui£]Äáh|\12\1dséæktÉZT\95,\r\ 5ÈÐ\r\9cISí×MÒR«ÂeÑx̬\91ùÒÕ}\17!vÞn\97\16`\8b\9e\8cV\11\80\94R\9d=ÉÅ{v.Ȭ\ 5ʵè\ 1ÀëÛ\8bwxÌ\0£ø÷¢\88\ 5Ý^^D4Ç\7f\97*ÏÕ\86\93OTQp×m²<ïà©e¡¸XyN¥´ÜÛÞY«xæÌ\83\ 4º9rµ@º8[,\1e®g³ùbñ«?ôÒÏ0ÇmN¿Ð õï\9a¾n\19¸ª5"× Ör\172\83D\e°\ 4\1d\14²\88Ñ\8d
+(:\ 2®´ª«\ 3|EXf3goD!©ä\7f\84\7fà\eª\93/w>ÃÇ-ÇÐ,z±H)K¥\0\8eü\921òmÍ\rPHcÄJFt±\16åÊ«\ 2\83äü{o¨\89Q\85´h®\15ÉÜÈ~Ç%ø\9b*i\88\10Ö²$ î>i\19+\85\9f\\1an-±brx¬\92\0öá$\9a\8ehtüÁ\vÊb|2!\7f¢á£;p8ú0mú\16Pl\8d\85Ì%`\ 5;ÍÕÊ¥\866Yô. \87ÃÑéÇÅ{¦¡7õJa®\1d\87\80Ö#I¦N\12౬shg\fE\13KN¦® \9e^\94¸=K¹ÁÃ'©\r\13\1f\15c\v¾5\13\95J
+¢±v\ 2Øbv\80ºOûs®æÿJ¡O·¹\14h2\a\1f1~¬+à\91©sËIë`©S\13\91\16¨¿±ZX¥\83Vpi\8aÊI\bj
\94/\ 63tG\15T\92ÔÚx\81iÁs\ f­40\aÐ\10\86G¶áL¯\ 2\831"\ 6\ f7w\9f\7f¿»ùz\eáø.ú=îäÄõY\1aÑ\15ò\90ßEQå?4\14·ià-»_f\90\90·öB@SÄ\1dâõHÔ\162k³\ 4\84ß\ 6!cª¡hP\11ôù\8dv­Â\141\e\88\ f7u,\92GפK\ 5¶v\90\8c¡\1a\12J\e
+nh\1c\r£I\9fæ³ß}c#Â?>\9d_R¬E\99¬Q\eôÀ¢Ç}©%\v\93,S\99¢\e\9df¹±¼\11\1d?\89Ò8ïGak\8e£RZ:Ô]\9f)\9d­²RäMËrM\0d\v­ÐË       \86Hi\9fµºã,\1cbbjÉRñ:+\8fÜ\90\7f\9b\93\rk¹¡\9ba°3~ Ñ\1aqsÝUQÕÌ&\89q\86\1fÏ\8aáÆ\1aç\80C\f\1a\ 6\178\98a\8fy\9b¼\ f<ú®\1d)\80\8f\9b®­>}&`£n\9eqM\80a2þwh\1d¼8°·\ 3Ý\8fè\ 1\82w\0ÊhU®~\v_ÞáT«¤\89ÀØH)F\13\07\8c3\977v
+îE\8c¿:³\ 2é¿\8ehD×~½á\ e®\r\7f\ 5VØãàJ¼\f°fAÃ6ÅC
+*\91謲þ\#\87=\0\84ÕÍí\84ÍÌ÷k\83\e0<tQ\94\8dª±ÿde
+Ra\aô#Ébuðõâi!ÁçO\90$\84\14\82iOý¦ÙX\92B0^ü\9c\88\1c\©[2t\9e£UJðøIò\1aû\92±\vÓáä\ 3u[c\86á\83ù_;Î#\0·-\84-\8d+\173\7f}\82¼W9\9ea±íÔø\voÅ!\aL]\16!·çq\91ÜnÚ|5tÎ\e\ 5bm\842UÂ\98MêµË¯/\1dw­e¦©h
+¡`\0\9bå-Ô\97w?,ÉLs\81·L(<z®}Ë[m³<³Øèyëe\7fí2¼¤Övá\16
+\14\82\9f5\f\99IûñúæÞ\8f\7f¿~\92[ìyYt1*¾(, è\91gikÌ5Dÿ\9b-¿£ |è\8c\82×Ò\98\95<À    b\85Ýv m2\bx¹U\ 1¡ì"Èw\10ì=\95T\98\16ݼ\\91´¬ Ý\ e\98J\9e\90\18\7f,\81¦\8eyU+\84Áµ¦QsN×W\0ä\80´?KùlNA:\9d]ÏÕNé\1c-\ 2¡#êô\r,ó%\ 3 ·b`\19\ 6Û\9c¦wüºð\9eNyE\7fSxÇ£\91_\97\82\10\86ÉÎë3Æ:pÅ\a\11ò»t×\ e?\b\ 4ÍæÇ\83\87ñg\7fɳ \98*ûacÁ\rÂ/\83$b¾Î\15ÛNÚ\8d\92        \98f\86U*í¨ô\ fËÄ«Â\87-þü\vFO\ eE\81\12Ö+f\8d¯Ç8â\ 1\8ba\89¦t/\f\1d§p\82ß\8d\81±î\ 4g¶XmTÁ\83\86å
+}V\97/£Äß)øV\f\ 4\1c\0aáöEÀ\ 5Èß0\82T¹¡Õº`t|I­y^\95aÿÂ\1a\12\ 1ö3â\1eNc´rÁ\9f¢ä\f\9fþ\ e¨-zã\93)Vpä}F_g\9fg7\ f3útwwsçä\84ï¢î\1aÒbÒÏ,Ü?³ïÁÕîº<9ýa[\9e\ 6í\1f\1dM£éé\11}\98\84{Þýù\97\8fçt«Õ7Þ..URc#ñ\95\87£\93I4\9c\1eÑádxÊM\87¯\ 1eÚ¿)\ f\ 1óáU¾Ý§\v¾þ\87m÷K¸fÎÝ5ó<Ì\v6u<9\8e&'SüÚ\ 2f\8eGüèÓ|ïϽ\7f\ 1\1cD\\ 2endstream
+endobj
+1575 0 obj<</Type/Page/Parent 1476 0 R/Contents 1576 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 703 0 R>>endobj
+1576 0 obj<</Filter/FlateDecode/Length 1953      >>stream
+x\ 1\95X]sÛ¶\12}÷¯Ø\97\8eÔ;6m}X\1fy¹ã4É­§M\9aÖêdî\1dÎÜ\81HPBM\ 2,@FÖ¿ïY\80\94!:É´¶å\11\ 5pwqöìÙ¥þ¼\98Ð\r~'´\9cÒlAYuq\93ÜÐíì6YÑ|µÄû)^VRÁ\vØzú÷Û\7f.\16KÞu»L¦TÑd6MfÝUI\ f\17ñ5V\17ëóÕè\1a«ð´\8eï\8d®+\9aNo\93Ûh5¾Æêlq\8a\82ýÆ×X]M\92e|ot\8dÕõ:\99Ä«ÑuE³Ém²\88V_o.®ßÍi2¡MÁ`-VKÚä\1e\92\eÚdã»\86
+e]C[IR»\16¨5\ 6ïĶĻ½¤ÖI+²Ì´ºqtPÍþûÍ\1f0yÛ\99\1c\93«¶µpî\90Ó\95¤ïxûwaKïu|      CÊ\11þ´±\95(Ë#åFËKÞvuCW\93\19\92±ÉÇ\87½Ôt4-eV\8aF\92ÐÔyNx+vN\17É\9cwÞk26\97\96c=\18ûHÂ"À<ø©­Að\15)\r\1e\80       \97\94\19\9d?Û^\86àÄ)þÎÅ f¾§±¦¤¢\14;\98
+Ë \9d\a2
+úZ6Ùu-ª$¿v¢Ú\8a¡\9dB\ 1Há¨0ei\ eîUohÍ  á#ÍÃ\91¨ûéÂ\ 1}ÿl\95\95yÿ9\ü¿\96¶RMâ̹\13Xñ|b`
+\ fàAè\86±±²\12\80a+²Ç\83°9\ eUÕ¢Q[UªæÈ\e|È\.É\13g\9aúèÂ1Çßp\8a¬ªfäH\94!\9c\b\92Ú8§<\7fÌW\8d\1eòí\8bs\8c\13Úì%\18(ðr¦\92´mwàM8Sc}Ä_\89²Õêé¥AÄ\18nÖRæ|¶(Jæäå9íÙ6s¾2(\b+3       \14?Kë\94\ 1ß\8aÀ.Χ§ãõ»5MPL\ 5£\8fW\97ÇE²Hèáè\1a0ð£)U¦$@\ 27?ZÃ÷º\17¹\9b.Q±ÈÝû6Û\a7\12\84+¸T\1aö¬\11\88s"\1c_U5¸Í\81}ÉÇoæ³Ò;ú\1dExòÇu è¡çf\84@n<;P\97|hPÁ\13µÙ\vh\82±trÅ&±\ 3àø=
+GCVØê'¥s\90\9a>lh\ eÉ\r\ 6\13ú/jØíM[æ@Q¼\ 4^Òa\ f+T\v0\9aîû#±\9f\1e¥\0Y\8f\1f\9c\r\\89ÏB\95
+k*z¯2k\9c)\9a¡RüxÆ'\91ç\8a1\15%å²\81\85¾\1e\17Ï
+y\12\99O\f\84Ø\9a\89\9dû\9c\1eé-\f\19ûï\97Éì\14jcz\15\ 3\92\12\9b\87¥¥\9b JImÊs+c_ÂU\v\ eö\84\ 4¾\ fÒ\82\8a\81R½{¯ ±\16Ã\16ûJäS's'\rfÄA/åé\17q@é¬lsÈ\fK;ç±ó³m\9b\10U\8fÌ\18âÝð\86OÐ[×xj\ eâîË\17\84\12ç\81\12h,p3¨\ 2Ã\10\8eÐ\f¼\8b(\18ת&ä\14 ù&\0J\fÃx\13XÛ×Ö\8b\18Þµ\16\97\ 6\1cÜí=»{ú¬o\a\91eè2[\8fV\14\88Ò8a  ,}àzpìë\80\11\v `+K\8f\8coC=\88ÈC(ü­ÌD\9fD+wʱ\8a=J(\19ÈÅ¡ÇýÏË\9eD+æeT\a\eÁ[\89ú@;t    ýh\ e\12$à~\8aá\86Å\84<ûùò9u>$ÛjÚ\8bºVh¶R{\188\a¾\8fE\aå\94\84ze\85\1cr4¢\137Ѫ2:\11y5\80Ü\97jø¬ï\8fã\83ÒºùÂÞ\84î}îÁýÏR+Ö1t¡\1a\9cà34\aßÙ¢øþÅ6º£B\ 4\ 6^²Wiê=¥)\ 4s\18VÏxP\9fE\80\1dl\95f\1dõ\b\95Æ<z\9dÃBE­\ 6\9a\10B\ 3Í2øÄ\1e\94\v:\1fEóÁðT\82\86\a\ 6ÿ/G\93Π\ 5G¦ôh¯ò\êÑP\856ðÝ3\10\89ê2Ë¥Ê:\e\9a(\145.E\ e\97y¦2I\1fÑ¿iFé\98û\bsÁ¦ßûÐ\9fmòá£H¡Æ     ½}j0º\ 5h\ 3[Zw*¨h\80\v^j8ÑÜ\ 3®\9f\ 6H\82è\89LüqG]ûz¾ûC3wõB`ÇÓ\17nõQºî\18ì\81\16ÂË\ 4»\88¹\7f\ 6É?Ñ5\86\84±Â\bj2\ 5lpÙULÇ\9btìY\ 4Ⱥ\9eÄ£n\80\ 6\9b1\9a\1ddYvÄ\1c\86å\93\1dÏ3hwº4\82\15\93½\ ej´/Jdõ\97¢@êÖK_\1d;Tµ@\ 5ÕǾÁ\9f\9d·§K?\bßAjAAXï\ 6©Òda\16\0W¼Æ°ïÿIkè.¯\94fY       ë?A\92¢Ö\88\80\83R\9c÷ÉëwY×÷®ðT4¡ÉzÅ\83H:],»RëÕß/_M'\930©ÿ\0Ñ\ 4÷ ¦¹9M9_o\86÷AN=b;Lêu\8fÛ\1eÙ+qP\1e7ØÞ\93W\ 3\ 5\9a`O´\133TB?sÁBÄøì¼yE?¼AÑ\ 4²öÊ\13Õ@\9a\94.M­t\8fªIS\8d\96Ïp¥)Ðçâ\eð\1c\1cè\ 2=w\1dºW\88/+½hm\8f|oä,7-&Þ+,g\8f\9cG5ö\ 6á5y©S|°\1dhQx¦°Hïxfgº´\98õ<aTÕ\r\91Nb6,ºã×ðå\80Ô \94óà\13ú\9dgɦը\r4\ 3ÿ(ÆbÏbÇã/?\8añ    ¹³\1c»,T"Û+|ì\15\ eýË\85d\f\1cy\ esjðÓ-\9d\1eÐ\8aAúØÍ\bí\92\1fÖØ¡\955\82räÚÝN:¼A\894\f\1cg·­s_Èé\98ÇÇWþ.¬¡\82O8æh»8Ö "äÈÏ£ë'/2]\f\83UvgÅv\8bÂõ=Ó?·ys>ö\17¥0Yá     ý[Å\80ï
+x\1d=\99\8bà\9e\ f@#?y¿\17Zì¤\1dù\84\8eº\81ªÿ\90#~~"g        ì1{@\ 3\900\14\90òý\98\1ea'jï ½6\87KÚÇ\8e\19µ3群¨äF~`\b\8eÏ\v¾w\1dUüªS\84É\f\0¬g´\98óW\158èÃÝû×w<\9fÿ\81~GoLÖòcÈi\ e¼\9aà\9b\95\9bÕ\8c®\967x¶ÍÇ\7fëAh¾\9c'ËÅ
+\ f¸c>å\18ßn.~½ø\vf#mÚendstream
+endobj
+1577 0 obj<</Type/Page/Parent 1476 0 R/Contents 1578 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 712 0 R>>endobj
+1578 0 obj<</Filter/FlateDecode/Length 1893      >>stream
+x\ 1¥WÛrÛ6\10}×Wì\9b\9c\19\89ºP7÷¥\93Äv\9b\19;i#¥igü\ 2\91 \85\98\ 4T\0´ìiûï=\v\92\12­´3½\8cÇ´yÁb÷ìÙ³\8b_{\13\1aãgBË)Å\vJÊÞ8\1aãÉñòñ»Þt\12GS\9a¯ÆÑ\8cJ\9a-VѸ¹+hÝ\9bÌWÑ\8aæ³1®x\eÇÇ;~\vC4\8f'¸ÎVK\§øµ\92²Þt¹\84¹É\8c\17\97\14¯âã\1d/\8bçÓhN\93x\1e\963ü­ïøí\9bMot\83Å\13Údìõbµ¤M\1a\9c\1eÓ&¹è¯¥}\94\96î\84\16¹´ýo_m¾ô\86c\1aN\17Øe\93^Ü©Ä\1ag2O©rÞªmå¥#AXä\94Ñd2ò;é$yc
+G\89(
+\99\92\96O\95£ÌXRÚy<\13>|¬é³Ò©98º\9c\93{v^\96.â-±c\80\ e;nv­1'=Ö'E\95\1fÁÿ£_/ýæ·£\9b¤\89s8\ 1\8aq\8cdÁÜýt>¦ú}\8bCóú¸ã'wB 8}eJ\ 1Çÿ\9fÕëG©=ý¤äAÚ\7fgi8\9dE\97\8bå     \92·\85J\1eh'A\ao\bøéÂ\88\94\81'a\93\9dz\ 4ä\99*@\16¿ÿf4Â5*Û¼E\89)Gk$°PÛÑÝúöæÝíõzôþúçOëèúçkö¬\93n\ 6¿MÑû\rÍÀÁ\97\99¦þß¡Õ'¡S:'\14\1c\84\93\8fB\15b[Èf·6Õ\995%\9d\18ö¨\ 4G@áñ?\ eeýñ§Í\87\ f·ÇhF7\974\ 1Ë3\1a2aâYMäE´\8cèóNx2ÀÍ\ 2Íb\ fºjzG¹ô\81÷§JaD\96\9a\8e\1c\ 1~K¡\9fÉ\99Ê&¨\0ð^i\10¼¬\99}\8c\10OC^ø\15\7f\ 4"\15JçT zÜ\80>Þ¼í£|\0Tj\92ª\ 4CÂú\88\0ü\198øÀÁ\14\1cF\ 6%\1d\94ß\ 5ËN\94[qªF®«ÄÀ\ e6Fª\9e)7&%ù´/PÒ\uÁ×\ji\ 5\14áî\r(´W0íªdG"\90¼S}[\8bê\84á*G7Ð\92V:\8e¥\17@d@\1cû\95*\91kã<\9b¬5à]\80µ
+\9a@©ÜVyð;\rEE\85ÉáñÞ\1a X#q\bÄ®S\91A\1eÎp@¶Ê¿HO£O\1f´l4\88¶Ò±Jµî4Þ°\b\ 5'rN\ 3ö\ 5\rKGÊÑ:\0©¼\93E\16Ñ/¦:ù\8d*\18¦dö\8cß\99;lo\v
+\91+·iȤæ\7fP\97n/\13\95\81sÖ¯\ 3/ä£,P\19\1eO\15ðÆg¶Ò\11­%J\19»\80\87ò"I:X\1cðv,Àm\8d\ 4ëL\18ì\87ZÖYP¨Ò\0ÿ.\ 1±ü\14eí¸\v¬j2\10\1c  \ 1Z¡s(\ 5\97Þä,¶û\vö)\95\99¨
+\7fÿ\8a½\9d\8céþb\82>w\86£pî`lêî_µúÝv\8c×úT`YUP)ý\ e\8cD-\9c\1c\ 4ú°\r^ïYµjFWL;\ 6\85\9d\1aÝ §\ 5æ]P\9e$4Ì맭\84_PV\88\9c\ 3\84©\83*\8a¶Q\9cETg¡\vTS\9f\85UÜÊ\0-\1a\949Ð3\18\0¯\84÷\ 2\99ÊÓ-ß1 È\98fßBÆG\14\108¢wç\ 4\ 1*\90\97¯\f!Ña}Ë|Æ\13Ï ²Àñ\ 1M\92¹6\80\8c\18\8a\14vî¼b\8b¥x\b´9\v\12¬Ð2áõ\11ý`QVìlâm1\14\85\1f¦²\90\1e
+\868sÃo¸\7f´¡5E¹5O\\11®Ê2\95(î[÷\17àl!\85ó\ 3¦f\93\96\ e/kG½\82\ 40p_`:¸\[¬ÉS«\ eoNý['®uUnl\85®\9f6\1d\1f(j¥È¼´\83ó\90ÏÂä\9eÌ2Ç9CmÊ {Mà\83\10\1f¼´\12À\ 6\90p\rÄØrì/±o\13\8a \9d«Ê\9awÂó~ÝÒã¸v\ 2m¼ï\89g\11\81y\fTA\13Ø\19\8bG\÷*\ 5\81\19\ 5SqŬÍ\80;ÀVú\83\84\83ûn6@3èSÈFí®H|ÅöÎâôÏ{ö\b\80\85<Ô¥6\b8³L25\e\96rVYý\95®d(Äîì¶f}\86\ es\15Ö5\86\8a\83â¤(\19\ 4°Ã\16\8fÐL\95\83{:ÿ\86Ýè\8eX\18ôü^XQÒïÄzÃïÿû\90\ 5´\92"PkxK£ÑoZú­2\8e´\80\93\10\aÌ`h_\7fü»M¾\9a\94^ëÐâ¤æi#}1»$û´*÷LóS³\ e*¸óaj:\1c\ e\91ç\8fö\91±ù(¢ë@'Qp²\82¤\9då)4Ú½H\1e@\r§U\96¡ì¹ª?iõ\14è\88A*\9eÒ\ eÍ\11\9d\9f\13\a*¶Ã\eOl,Á\9dÍ¡\93 ¯(xb;\17Õ\eØõV$5Uq\r\r\ 3\v:ãÓin\eÐ{\10\10²BwF+\8fµ`ú\83\880\97ûÒhðô\ 5
+\7fYߧ±ì\8a{\18êÍ\1e­¾½ê#"Þý´'ZZ8I4\ 3?½½jK\12\19Yã¶_÷£3\10;Óeí\1cÌByÜNíYØAR^\1d\ 4º>Pp\12\19\85\1axw,5\1eÎ\10sh*8£X\87\98UT\17EG¶0\165 JF#\80\ 4Y\916\13        wT\9e\10\92Êà\0S\9aT¢Áñpv¢R-sÐí¯\ 3f½áøº"b4\ 4£n0\80\9e\93ÁÞ\83ðíîH+«.&\17\v\11\a/\9a®S\18\1c¦¸?°8s\9dc4\13i\ 2E>æ>|r\ 6¨«¶°\1cÑ\eÈÞ\81§´\80gËåz\ 2\908<°Å\83U\10ç\ 6wP\17Ã,;ÀG\89úXÖ)÷e´\9aàð9Å!4\9cªp>á\9dO#bø`\18_\86©ù{ôÓÔ`¶néÐ\7fÿ\92\91}î*(   Ä÷ùÔÿ\88\9bâ\91T\97O\1c{3û\1d\ fwa\9fæhwtbÕL\v\93\18§äË\98\16ËàæúõÝ\9b×è\89æ\v ¥«îÈ\1dò4Yऽ\8a\1c_rXÿà\900[΢åbU\1f.g1\9b¹Þô~ìý        \96>\13§endstream
+endobj
+1579 0 obj<</Type/Page/Parent 1476 0 R/Contents 1580 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 729 0 R>>endobj
+1580 0 obj<</Filter/FlateDecode/Length 1906      >>stream
+x\ 1ÝXMsÛF\12½ëWô\1eRRR"H\90\14Iù²%\89\91£ZËö\9aȺRÅ\v\b\f\89\89\0\f\8c\19\88Òe\7fû¾n|\10¢R\897Þ=ì\96],\ 13Óßïu\ f¾\9cø4Â?\9fæc\9aÌ(ÊNFÞ\b\9fOoOü\99ï]Ðx>ó\16\94Ñx2óüæ)¥ÕÉ|ì\8dh<\9eâ\17\8bó)/Ê\13/ú£¹7'ÿrîÍduäM\9a'^\1dû#ìö\17So\8aÕÉhÆ{åIÎÎ.¡Ö\9fûÞ\98W¡¶}\92³£\v~¾X\88Þ        4@\92<Éêb\86S>öÈÙÙ\b¦×O²:\9eAãìB\8c\9a\ð¢<ðÚup2¼\9d\92ïS°å\88Ì\16s
+b      È\88\82èì.·.LS\9dï(W.39á\7f\98Óû\80ö¦|À¢ÓxSª/\95.\95¥\90"S\15©"³%ëTa=
+\12E[\93¦fÏRÂ\92\9f\9dàï\83_OF4ð'0>\88ÏÞ×jþ\81\b#|ÓËsÚ':J 7\83ü½v       Ýë¨4Öl\1d}Öylö\96ÍY©òQ\95\84cçlã«=Çj\ 2úÜs\0ÇjK\8bÒDÊZ²\89©Ò\986\8a¬Ît\1a\96bµq        t@\8fe¯ácÏ\80!Õ¦{ô\8b©\8e´íu\9a"\80
+\ 2!\82 åµ\81/\9d &òt³D¼c9rdpo\8b×è\93L#\88w¹v\1ay{¦gS!h­vgÚÀÓ)¬å\14Ò½Áfd$0&E\ 2¡ëj§rwÊQdC»Ø"@\86b\83\97Ú²>\94Ë UøÖ@ôÊ\85¥£\ 1\1crmñç\8dÉ]iRú\18æ*Ås«\947\95\8f\1a¡ÆË«8fyÃÛ¨)Ä\81ï{£É\ 4H\85/ëñÅ\88êõ¶P\9bå®fV*U\91\13kÿØ-ö0JuôÀ\ e\9e~øÛ©\ 4ïÏ+¿\11Y,¨\8bX\13Ù\17Î\7f£\16\94\83Bp9!½\9a;\14}\97WÔË>Q9¡\90³Â©øßÔ;\0\99]Îæ\a<^±Rm©0:¯õ7\bÝê\14Ùkp¢\9e´u°¡I\14(V\18åì»Õ/«àÇûO\1f>\ 4߭׫gpB6\19¯×¹ |½þÁûáejÏPe{Ãïz\9c`«M\fz\89\1a:ke!Ø@¥éù±Ê",\11*»^\1f      îx$w!ØGB\99+\ 6{X>ÓòÝ»S+\18çóÌT\1cêÚÌ#k\8a0zP\8eâ*+Î\ 5/µ¢Îç(,\\ 52|eÁk\94\92)c\10J\ f\96\82¸\9a\ 2\9d\0\12EZóm\ fýç\aXou\89À\vµ\1cIi\91ÀÖ\rzÁlñÞ |\8b:©ËªG\87\r;\83|Äæÿ\r¤7\ eý?á»\97sîlÿ5\90¿7{4ØâY
\ 6vW\17\1dÿ3¼¿\ 2Ϩæ#À|Í¡¦Ùô\1dæDZ\0­Pe¦-w\´'+¥\1f+\95\1d)    \v0^QêÐÕ\ 3\ 6\1a_\89Þí\94ôã^\ f\fãLç`«\12£Ë£¢Rï\12g;ê\ eС\9f\18\90e\957ð?\86mph¢\r\152F;Z¾|\12\11-\84\1a\1a\91V\8bùIZmÈ\r\96º\b·\84\8e\937Ë#·ÖgëµX,\9c)\94бç÷2²` \ 2=\87\98Á°\ f¾\83\96)5\11â\10×ãÒ\81È(.á2F\19¡î&äh\18zËQ=Ò,\9c¢s\fkY=äa\7f\82:Al\9a!ÀC{\7f]3¡L\86Ì Mt\9aH\88\10\89e\9f\8d\ 2°ìa:\14GRi%[JTZl«\94~þô®\9eKêé\vÃè\83}ÃÆöié'\8c\87<\90­Âl\13JÞ)q®x3\1cZ~ã\99rçÑgEI\88\9c\87\94é²ÄÌ\93+\fv<"ý\85åýù\19\0\ 2fm㣥zT©)2dº^j\87\973\84/ªø}[tµÍµI\16¦¡ \89×yÆ\942FeoR\95yt\87©Ú\9c\93\16\91=NoÏ S¸$¬Ût\\e\80V(C7\17 '\ 5\934¼v·\9dÁ\7fgäj\a¾\95B,Q\r«È8G÷ª,yÈĬ\¥¨<®Çëå\rÆgÄ[#Ðá±ÅMröû½g\1ftQ<{èµCä¶z\1aÚl3\80lg¼Äeé·Ûz\95:Ló»\84pwÃ\9d+\ 1\89\84ifÐ7\930F4,Åá3SKH\1f\977ç´\84Í1]\87y\8e`Éðü T!ÜXKÀ.Îi¿\8e\v`\1a\ 2 ²®º\8d6\98B\1e\95\87p {ÊSqå\85U]\8d´Ã0µ\93i\ 3hI\18±Ïê?\90\94{m#\12|0JoînWàì\ 3\80\8f\ 11\8côÖ\ e¿­òÑ\1d\96&\93\81\8a¯u?çú©\r\ 1Þ¦ ¢ìE\eßÃõmøÏô!J\87¹\8bñ÷·i½\r\18g\9d\19ju\7fM¶P\91}C[Á=~½¬½)\8aþ\ 6\11å0.wC\8eÎWY1\98\8c½ù\1cWõ)_¯åB\82ù¸¶¿\85ûÜ[ø\18\99qy\9fñ\8e\9f\0\f\1díо\98Æ\ e\ÏAáÜ3ÉÙ¿ÖRZf\0 [x\81PÀë|Y\ e)¯²\r\1cìÈ­T\f±\98^\88òè-nf¦\8d}Gzç\87»\8eP     3\9e²\82Æ~ù6|È-\17í"ï\ eÕ\ 6âËC=ÎÓª*
+S¾b´?>'´ü\9b\96¿\8cÁÙq·½E\86¿T0Yú¿HàøÁÕ\9a6\83÷o\ 1§\9eëB)¬nàò\1dóþ\90î\18é\16l\ 4ÏøS\ 5¤!~Â\94¯û^lòS\f\1dL\ f\a½áÆT®Ö8`\8dP\8f8q
+r|ç@ëÍ\1as$¯Ç>\80¶¹É\88\1e¾rì\14Ë0¹4-\16%\a       \9fNB\8bw\e!\ fÑqè\8e»JǼ1\aÓH\ 3ì1¸T \7fó\91\ 2\\8f»\12Å\97 É\9d?Yx\8bË    ]àÃÖ\94\8btuu\7f}E\1fKó+ß\9d\97MO\92.Í)\19ø³¹7ZLh0\1f]ò~|®B\aåîR÷a©ë\b\1dGÊ\Jy\8aïaóÙ¢¾·O§,æÇàäï'ÿ\ 2¤xÍ.endstream
+endobj
+1581 0 obj<</Type/Page/Parent 1476 0 R/Contents 1582 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>/Annots 734 0 R>>endobj
+1582 0 obj<</Filter/FlateDecode/Length 2188      >>stream
+x\ 1­XÛrãÆ\11}çWt\9eÄM\91\10ï\92ò\92Ò^£\aiå%\93­T\94\87\ 10$g\ 5Ìpg\ 6âÒ_\9fÓ=\80L1\91Ë.§lË$0\97îÓ§Owó{oL#ü3¦\8b    M\17TÔ½Q6Â\93ç?_>õ\16£ì\92¦ãE6£\9aÆóùó·\8a\96½Ét\96Mi:\9af\13¼\9dÌ\17Ù¨ýÆoq\ e\9eM±cvyÁ\9fñ\9f×´î}§ñ\ 5vÈÝüa\8c%ã«9^Ã\84ó\9bñ\9cÞ;ú©÷vÕ;ÿ8£ñ\98Vk6qqyA«RÌ\eѪè_W{u\b8²Öu®=Å­\8aø£©ÔOºr;í\ 3)\øäªÆF\8d¯\ 3~}\90\87ÖEÚ)S\92²ezj±Ë¿Y}ë\8dh8f\8fVe\7fÓ(¯x/EG;ïʦФ°ÑGS4\95ò´Ö*6¸\ 4W¿x\1eM­3º¶\aâOT\19«\935g¹\ e\916\8d\ eá\8co\e\1e]ǶÀ°­±\eª\9d×\19/8ÿX´\18\fÇãl4\9dÒ\84£\ 1ë\1e\11¥%\1d\8aáô*[ð\92\16£ZÛh\9c¥=C\ 47\ 3\7fqk
+ªÎ\15\1d\#\984\81/f#d\1d#¨"?
+\87\10uM&\ 2íÆZ<:Á©±¥ö\19ý\13\a\85­kª\92ÁÊU^\1dà9Üå¨x]é'\80IA\17lL`\ 3pµ§PçYáì\9aÖ¦Ò\ 3\86²Ò*í:EÈíÒVcé_\9b
+WTÿÆá\fþz\8dcéþý;
+Ínç|üãàÝXRei\ 4\9f\9d\e\90\11ÛÉåQ!´%-\ 5É'£èÝ?\96Ôá-lTQ\ 3Pm\ 5ç
+\8e\9d:Uluñ\883L$×¼fwGÉ_     zÇ\8b\95\aÇ\11ÅZ=ê\84ðwÐMÜ(\80¬\97\97¹7z= Ê!¨\bDåìf@\88\ 2gK\84\96@\e\1d\91R\95ÆÓ\93°çz\r\96¦ôáL+\½ãu\b»×ª¤?!\91í\19\12Í!\9aÛXW¤máJ\9c^\83þj\83\94xè·H\16Ê\82\19\15\a±p\15hq\8a\92C²9¦\8fùY\v\15ùÀ\877ÿ\870§P\82Ùä¬f0âÖ\ 5MÖ¬ã\81ÎnÎj<§­«L       ½9Ã[$@ø%¤ì¹\82\14\r\12à\81å\0©r\82\15\13Ülð\ erã8Ë\11\85°\87lÕÊ@\1d6\92\15o~Gð\13â\85w!\bî\19}uþ\91\89\ 5\8bM±%\13\84É"C)9!m\1c \98Ŭ      P;Éÿ­Úí´\85h\9a\fRVr$OcÒíË!ZIL\866\96®N\aqJ\f£.¶Ö\14ªÊèVA\ e\81#¤ \ 1O\0Û\8a1lG@âæ¡ð&gµ=A\8fÕ\10\11\ e\91\98Ͷ25\95µî\90PeÓ9å kº£\18Ž#p'\9d\0-\ e\19}^GmO}        ®Ö|øÞT\95\80 \9e\8fà«8ê\8f\1c'dé^$\ evæ:F\84°ÔªÂS\ 3\10à\90b  ×~ '\9dø\81|Ù+\9f\82Ï\9eóó\95 Ï'¨\8b¿.ó\v\11y\96ÝÚl¶\91\8c-ª¦Ô|éùÇE[6ú©^©*=îJE\1f9¿\11É\ 5\97½\81#0\9d«X©ó\ 6tä"
+\1c\12/\ 2Õ\r¸£\ 2MF\19ݳ>£Îv\948*aA\vV\1a\99\1e\rbÆwäà\9e¶®Ùl\99c\e\8e;G  \19\11õ\ fh\1e'\1c6xÏaj\85á\15L~G"<ôï\91\ 3\ 65èá\rݤ\1cß*Ü­\9eu\8a¬\8e5SÐ+Ôõ\87>­=¸ËÆ öq\99ëlÛ\99\1d\93òÈÎ\877§üA )\89X\8bÀ\9f³w×÷\ 20ã¶×UõÇ\9dj\91\172â6¯×M\ 5µm\85XŨ
\1e\10EW4\\86RZ\93f\99Éè\1dê®A­\ 6%P\10à ;ÛUæ\13®r\97\13@©ÖïÜ\95\87\ e\8f6J\19­°=5\11/d\8c
+rBÛf\ 3!m¤?C\9c\ f`ÜÉ]0\ 35\v\89g5R\99\93Ë^ö\a¨úXhPÀÄQ*Á°":\7føk¢öoh\94º¤\18NfÙÕâ\82\9e;¥¿¹=Ì¢\eÑ\14·N\9c|áT{I\97? ýsÁu$Ì\12k-\8b\ f\9a\ 4O\84\7f@4h!büE®v\15s\90I´o£Æ¹\82ô\ 3?Mj
+\8eÒì\93à»\8d\97ósQÏLÂ\909Ïe¼2\ 5$_:\ e\ f\13è{m$Ã\92\98!Ù»U     »ù³Z,Sÿ\94\1ewÞöEÒaíkû\8eûØ¥4C \15Z\1fnC\8e
+ÜÉ©ÐbpQ{Ô\1aè?ä\eÂ)òu\84î±Ú¤JÕ\89D\97\92©\1e\ 4\91\ 6anñ\1f$@YÑ¿5\80@Þ¬¡4©^0ø*G Øª#tÑõ\ 11nN\1a\ai1ÑÒ\16üe\r\7f°\1f\92A¨üY\96%=8êÕ/²Ë1]MºN\1dTK®_aøá\81f8¹ÌÆW\185@"\91yü/C¿\ 4´,§iô®\92\ 2ñÕØÒí\ 3]ý8¿ýð\12¾É$\9b\8cÆ8ê
+s\81\f,+x´vUåö\9cÜm§-J\8bc[\11oõÖy³1VUôþóíõÍ]\16!ÅÜ\80£u×OÆ5\ 1ºÒÖ\13\f\ 4¨m' I\90QÔ¹.´GÖ\88·78\12=F\8e
+Q2\a¥\97\10N\1fI\89{L\9etéاåN\17¼õCj¸\aôw\99\96\97\aüý\98\81¾ µáºÄß]\1a\9c\86Ïð \16     \9ek¤¸\0ÌI PÇýãÆ»f'ã\8fþ\81¦\ 4N?§d\1aÄXt´¯¥KF½à=\94{D\ 4\b'\ 1,\r\86\ f\8fÖ\16}_Ë\15u\ 2V\89\ 6\a\9dM\131\13\81s\r'\12FH\8cW@¨TxÌ\ 5\15»U\b\ e8pÞH?ÁBÎ\16\ f\84\v\b(w\97(ª°J\15BGÑÙÖ0L\9cUp\82Ï\11\9d;ûPÜÓ\16D~\viçj\85\8cØÈ\88+mi\13xhFG\ eû\ eèÇdy*1G6Ã\81\rÓI\9a\85\84',\82#Øýß3ôCÿnÕ¾\11\r\91æ¨\1d)\8fhòË¢v~\83\r\ 6Í'Jgéxvî¦Â$.«»Oh¢÷mÿ\7f¤\16\9c\ 1ËÛ·¬n¬£0\f\90#\8a\\90Úøoq,¼×?Àº\98¢ 9ο\ 1 ðÀ}\8c¥â\rç9¾v\eÛñ\96\81ÜI;|\843/\v¬þGXq|\8d\87ÜÀç\8cîN(DëÆÊ<¬*\83q\ 3\99\94LdûÀ\81\8e¡\88
+þ-\13\93\98Wâ5¼©\10\97¤Mo¿|þº¼¹ûÄy\9dÑ\ræ¦4\98#àèOuÉ¿\85\0Ó\8eÉÂ\\17Q\82a\83Ç\0\84x"\e\81Y\eÚ\17C5~¯\91_eÆ\vü°s9¥Å|\96Í\16sîV\97×·o¯éÞ»o<ʽo»\10q^Ò¶Û2¼\18]ñúß,{³\8bYv±¸ÄÏFØ5\9bóa\1f\9fzÿ\ 1¹Åã«endstream
+endobj
+1583 0 obj<</Type/Page/Parent 1476 0 R/Contents 1584 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
+1584 0 obj<</Filter/FlateDecode/Length 1970      >>stream
+x\ 1\9dXÛnÛF\10}÷WÌC\81º\80EK²,ÉiQÀNâV@\9d¸±ÒäÁ/+rimLr\19îÒ\8eþ¾gf\97²D;HÑ\ 4A$^vfÎ\9c3\17}=\18Ñ\10\7fG4\eÓÉ\94Òò`\98\fi|z\92Ìi2\9fñgük4å\a_i4KÆáqþ0Â#£á\14\9fðÖñb4¥7\96þ>¸X\1e\1c_Nh4¢e\8e\87§ó\19-3©Ã!-ÓÃ\85s­v8±P^gä-ùµ&gª»B\ f
+{g+ª´\7f´Í=\95\ 5)\18Ï\8cK[çð¼©ð¼qätê\8d­\12ºQåJ\91këÚ6ÞQfKeª_\96_\ e\864\18\9dÀ¹ev(Ǻ£íÁÁ\8cK\eS{\VUF­Ó\rÕ\8dÍM\ 1ïrÛÐÕ\r}2Uf\1fÃWöè®±míäù\9d»g\9f\8f¯Þö,¦\85Ñ\15Üy\\9btM\8f¦(h¥%ÒÜ"\12²ù~\18ñõñ4\99°Ã\9fÖº\82\19º¹º p\14\a®bt8Ï­á%°\v\91\18O«Æª,UÎ\ 3Ù¯\0\18¶9\b\15\9f@t\ fºIh        ¬sÓà1[Á\1fÛs»Ñu±¡;\8d·9+_ì* ó 
+\93!_\8e\fnÕÊ9ÀÁ !m\88\11wp:\95:]«Ê¸R^\ e\89QYipÉ7ÊÃ\9dµr=\8b¦r^\15\85Î\12ZxBbkë\9cY\15\9an\ fW­'\9c»!çÛÚd·¿pÄi£an\a\8bµ\ 6AØ[I!¼T+å4\1fUYOn\rþd\0ß?jÝçE@\ 5\f0\89\8c\8d°Mç9³ëA\ 3\8bmÚÁ8\86\10ÙÏð\9f7\12:^)\9d.\1e\0\8cb\p=5µò\fËNÂ\18\8f<Ó¥Eð\0\ 6o¯í#©\16ÇU8\ 1ïC\ 5\bàkk\10jfàO\83;\947¶$F%-,Ìn`ãÁÂz\ 6Føud\87Kzdúع
+Tr\80×60¸±-¥`X©î5\7fi"Ï\1c#nò\r£a\9aÈ\9e\a£vR\1a\80ø5¼Ú\11½iÁÏ^nWÊ\83ü¬(p\ 4\84\16\80\ 3c£ì;¥³\ 2¡´ª\0\89£åºÑ\12\91\9fL»{okQ\1eøÒxp­jû\81^hP^S¡Ú*]\87\14D;©­rs×\ 2kA\96ao¥~pî\85vȳ_C­ðµ°ö\1eo+\1f²²­\ 2gß ó\bS/ÒZ70]\82\ 5\ 1±W|\1fåtР   z       ~F!o\95ê@ñèßâzGÀ*Ë\90¡X#P\1aÛ\15`\8an\9a
+*PôNû¿¤TF±\a\82\812=¿\1c³&ÚÀ;\17\8b÷7T©RÓ\9b÷Wç\8bw¿\8dÒß       q"1|¤Ü.Ô¦+\14ÑátmÁ¶P\11\80{5¸«{Ö\80d£S\rá\0ÖPù\0¼G=\ e/w&Ä\ 3©\80\f6Wü@)ö\14"\ e5\1e\\ 5¢p\ e\ fÞâÏÍÛ\ fÿ¼ý )\1f ·tÀ\8e\12b/pepr\96L¹xî`\8dÀ*\82\ f\15ô,õÒ£VEkGl\e(WHCfYÁRo\11©Ó¨7\9f\19hÐò\85#úq/®_ÿ\14
+\r\8e
+51\9cåa\1açl\9dîúÑøÉé.\8e¾ÓÁ#Îʧ{0þ#\10ÚËx\ap£}cP}\ 3»Èr9üÙ\ 5\80{\89
+\9dï\99['?vk\1fKaMpKêlЧVMÊí\89û\8fôj\86Ñä\91Á¹mñ\95/qùASD=Ï\8ez\ e¢öu\81\85gõ7\9d¶</¬¤2E-%t\9e{4\1e¶r$,\8e\94åy¡Ëº\14MdñI4âë³è'?\8e\1erÊXãÈ
+'ä\ fí\17Un»\8eÛ     -\90\19þð\9d\90\1dñ-&dm¡?q!æðyìxR&#'P
+\90Ýh\82\81ÇTihx\9d\f;ÃßqK¨Ä½\10\90°\18©lÓuÏhÉ\85\93AzÁÉδø\81\91èìó¶W\}¼Y"Hg²­jù\0\14\98\19T\ 3týÍ\16ê\8eì§OPÿ7Ѿà×K\Û>\16]\ 6?xb!´<\94 Ûú>Ϻ.èj\9dƦ÷\1c\ 1\980y\90\10}1wÑã×   ]\82áú\9b*ëB\1fI\91
+©¿½Í1sÜÞ&[7\169ã=Ø\19I\19ë-°<â\8a.\84Äa\b1|*º\1cHÿ\f¿é\8fñ{Q\ 1/$\97\83A\9a:±<õ\8a\9e¬{|á\1e\19\14þúý»ËÅ\1fÉõû¿\82\ 2k[`\ 6bù£\97\8b\83.\14\1d#\fý\96U/)|)ήNÎB\9cÇ\97g4Â\\9c£\9f\9eÒ`2       u~\9aÌ\13\94ÿ×{½}±ÓÛ_±Py\80#    F\9aãîj2\18ój"ý\82\97\86í \ 5yÅy\11y¿~óZüT;sÀ~×\ 2x»Ã\ 5Wbå\19¯Ý\ 1àº\9b\99u\956\9bº\9bðX\96ÜÃ!\95Lôõ]3B\82ãË4.V\83Y2çÕ\rþß\8e§3i\82O±ÉÍíúÓ­1»\ 3\foJ2 ó¼ÍÓF©xfB\11hZl\a*MQ§}\98%ÿ«ÕÁ\18       9Û\ez0Ä¡²`\89\88{\1a£)Û\90*\9c\85\15Xbq=y¸\am\8cù4Æ<\1e'ã!\1aýø,\99\8f¥Õc\vl\eã7²*J\9aJ¬@(@\18²\1e!Æ^ÊE\80ódxz\16ó\ eݱö\14æâG\94Ç\92õ&s\82\8cÅ \ 4\1cî/XR\r\8aKM\8e\v\eÈ\8f)\85{\81,T8\0{\r(\83Y\83K+¦UL¾\9a,&é\9elXõ\86\17`\9ej0\13ã{\ 3\e\92\88 \v{ÏÖ:Jé\b\9b\80ôFV[æ»o,V¦\86\a¥=\ 4PãøÄçµ\ 6\9d\96/\1e_bÓ\97½üð#æ©p©[Õ\ fÃvh+ì\15{§ÆQNÒÆ|\15Ee\88\81aÁÊWac)Àbå0\13òÚÒ3uóçù\aÙ\8f\9føy(       ëûÙYíT¿u6L«=w%Ý}S2$ö\1fäß\11\9eB\92Ù\ 2\86¾\bÓéA5&,\ 6\98\ 5\96\16V`¨*¶oE&â\a\ f\81o\84\1a4\9f\8fiz\8a\9f?æBÅ\9bó«\8bsºnì\174=ü\12\92¶L&9Wâ\1cMñcÊü\84\ 6³¡°ï\7fU¯Él\92̦ó ûÉ\94\ f~»<øûà_¯$Ápendstream
+endobj
+1585 0 obj<</Type/Page/Parent 1476 0 R/Contents 1586 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R/I15 15 0 R>>>>>>endobj
+1586 0 obj<</Filter/FlateDecode/Length 1834      >>stream
+x\ 1\9dWioÛF\10ýî_1uaT\ 6$Z¤eI\ eP\14>âÖ@í\1cV\90\16Q\10¬È¥¸1ÉU¸K+ú÷}³KJ2\93¢E\1cØѱ;Ç\9b7o\86_\ eB\1aâ_H\93\88\14\17\aÃ`H£ÉYpJ£é\ 4¯#üV\92Ò\83/\14N\82È\1fç\17a0¥Q4\fB¾ur\e\8eéZÓ\ew?\9aLññÿ¸\1fF§päï\9fíî\87Ã\11GñÜÿåìàäfDaH³\94¢(\88\86!\8d§gÁÙxJ³\84\10÷pH³¸w\11ÛZäù¦O6S\86\941µÄ_\12¹Ñ\14çÚÈ|CVÉ\84¬Æ\11I\89\\b+I\97´Î$>¨HWTjK\ f¢X\b*jci!ýQ]\bUR!\8c\95ÕñìóÁ\90\ 6á)À\98%½E¥×\ 6\97SÜVÖÐZW\8fËJ×+6[\92^ÉJXU.I \16º¾
+è}¦r\84fa\ f\11É8+UÌ\91³·\956F-ð5\82\8cu\99ªe\8d*\88\8eOø{\82KX4u\9cѼ'R\ 4\86Tó>¹x\9c¿2¡Ä\a\9eë¥.á\1e¦ìZS¢\f"\8a-\&*Me%KKi\8dO\14\8eÍ\8fû\1c\1c c0º®\97Z'¤\12)8B£\ 3ú[×d2]ç     øRÈb\81@l&¬\ 3îúÊãXÉ%|ºo$]¿º»¸½ÿ9\н´\97·¯\1e¨\14\85\fh\86ºq¢\83=t\11\ 5×\8a\ fPmP¼Å\86Þ«2\ 1æ(ªBà8 )×1×\92\8f:\84;'\12írñy/ke2`m×\12õÁ\95®O\ 4-\80\9d3vw\19Ð\r*ë8UIatÙ¢\83
+lh­L§V|Í3\88íøð¯a¦)a4\ eFL\9b{½¦\85\88\1f[6z¾êt[uWÂ\9d%$\89üÁ B' -¼8\98K:42®+e7ô+\9f¨\ e\ 3ºMqÎÅÐáM¦Ái@ºe\96k\ 6g\17µf\93\ fw\97Ô°\vY#\ 3Ð^W  ;Óô$r\950Îì\87\8d\94ÒQ\ 6\85ÿRKc\r÷\1e0U¶ã\97Û\90R\113)À\f£QMï¯\10q¦J×\85\f\\89ª \7fÀh~w¸\12Æà}Ò\84t8?¦Ç\92K_hî\8a\85®­\8f\ 5f·¥Üc\8f¯\ 3g\1dÐùù\11\ 1^¶kU!\e\99ðQ´¸\88¶a\90\9b­t\9eË* ®Ô>
+¾£ÑÀesº\93¬+P[\14\87\b\1dnEá\90\ 2\99¹\17Z\851\12¸xMr<o¢li~?k£\9a÷Ö\99\8a3ö·ß#"\a1\93\reNa\9a\96ßeЧJ-3ûÛü¸     ´¥à\f\ 5\97\90-¹åÃ>ç\16úk+YN۶ظ\12¶>Ñ\8e\89LU©X:\9a\b^3mPqó\b{\1dpX%\81l\r\89ã\86o\ 2èÓf§""_\8bÍ\1eG]ɶ\1d\ 5 \1aQFSmE×'ízìäæ\9cB´XJ\83fZ\fN£`zêÄz\1cL\83( «FY!Ì\88ú¶4¶ª½ø½ \ai\9d\CÀßjQ0$ï\98î¯+\9d\9dB\9dÜ\8c\9f\ f¤A4\rFÞÅý«ÙË\9f8ëÝÔêm-­\1a#ÐíÕJW®\19÷$\18à êç\7f9ýÁ«û\99Ki\97\b\86o\84A\98ô.}á hq\8d\89\81 3Ð\14à îÍШ\9aè[\9f­n¡yÓ:ç³FJw­ã³\15ÖNéT±Ê!ð\18\15è!HQ*\85Åp2]eóÖZq6\12R*Xé\19Åߥ½-SÝ
+FKûFq\10Ò\92{\ 1
\8b¡6v/ð(V@\7fèµ\84ôºÆêD\88`V\18`\18íZúé\95\89'I\95ÖECa#¹ý `ß\18¦TÉ<éc\1dà5a\17AÆZe2\8cN? ¨\90\ 2£\94\9b ãÝç½5ÌÃ\16\ 1ÙJÅÖ/\1d\vÉu\82ltÍ'ª\82\90êjó\1d(ÑýßBùpq÷'\8ftzûúªÅ²\8f}\ 3âÀ\ 4°XV \91¢Üø¬ Ë\18÷y\9d°\7f\81²7 ¸\94\19\99N&\1c\9f\9b¨Ü\1d\8d\1au
\r\18[Fs\87oA\80\fü7½]Ǻõ\ eÒÍ\8dÄ\ 4÷\9d\1ab[jf9\80xÖ¶\1có®Åøf3Yg vÓ]¸»Ã\8fApÐ\7fXæz!ò\8f\0Â\8f/¤h\8aEÀ­\83Ï<\ 1S¨¿^3`ó\1e§$¿
+æÿüø\85w<¤sÖ\18ö;ò\11»%\vòn3Lâ9~Z\14ܲ¶{Ë\Ú¾ããóùÑ»ù\9cGZs\83?üNz\fË\f¥\81à\8a:ÇÆÆZÊ»®^9\1dÃ+v{tï\r6Æúny\ 2©ù;ë­ï¶ù\9c\ 3g\e\8cSdwîþ\88m\0\8cêIÅnAÚ\9bªð\13câ0«Em±aÚv\7fõ\9dó\81{Æ0¼î¶ÛGXß¹#j§Uà Û±}$M"»¦ôãà\13ÏÇO\1dj\16âѯy®%ɬd¬@c¬¤¾¶{Eð\8b¹àIÃFÚa\10MÚað!\7f\8cs\8aÆ¢^\9e\8fi@k¨!ë\ 5\8bª\86Äp~LeX(x\99Gø-\19Û\96\8c±vð£\ 1w\1c\ e\83AíJ\ 4-C\eu¢ß"Ã\1cà\90Û-\14a£e=þÏ\ f¹%\ 13\85­5Ó\1aó\ f¥s)»øx,9Þ\ 5\1f=k0\0];mçFtÞæìÛ
+#°Í\ 4ÃæGÚ
\1a\f|±\\98\88Ê5Ø¡¯\ 2Ó`oß     \9ae\96×\14,qÈ\1d«bª¾"\13<¡¹­â\10û_\a2Ø<ñ\86ø\ eïQ¼Y Vü¬Ãkº²\18\ 5ZcË\91x\1e@3x"üK\f\1e i\ 3P8Æ£îô\94Æã(\bñ?\1a\fÒzyÁÃþ3Ä\ 1\8f¦qÍ#Ï-
+|wÐ^\19L\86\10\80\9e\ 3\eÅh2
+&x¢Å£lÒ\eMØÕËÙÁ\9b\83\7f\02\80\156endstream
+endobj
+1587 0 obj<</Type/Page/Parent 1476 0 R/Contents 1588 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
+1588 0 obj<</Filter/FlateDecode/Length 1801      >>stream
+x\ 1¥WaoÓH\10ýÞ_1\17é\14\90\127qÓ$EâC¡W    \1d\148Rq'\82ÐÆ^'KloØ]7DâÇß\9b];n]N:Ý\81*JìÝ\99yóÞ\9bÉ·\931\8dðwL³\98Φ\94\14'£hDç\93i4¥É|\86ßcü\18IÙÉ7\1aÏ¢8¼Î¿\8c£9Mâ\11^Ä©ÓWãsºÒôÞ\9f\9f\8cGÑy÷ü\8bÅÉéõ\84ÆcZd¸e:\9fÑ"%\84\e\8dh\91<yq ÊªrMn#)×k]ÒF\17\92\88B:i\ 6\15     äb¤uF%N¦ä4í*çøÜGU^üI;£3\95KKªô7UV\9a¾\rW¥ÊÈÄis\88\9e\9e\8ch8>C\1d\8bôÉ\8bÊÑ^(÷\v-6\12\ 1\94%A\1cbëc&¢Dn2¢W\99ÿ¿\95Îß\9dé<×{\8e]\aû´ÎõJä\9fÉ"\8eB\ 5Ú\1f0d\8bU\94è2#Îí\19G?½\1eÑE@b\18O¢      §q¯êç´Ä\9f__ãçv¹\8c\9aªÂÉ\16Äa<å\83\80¬äÌL\rB\92+Y:K{\95ç\94VNeU\9e\1f\18)Î[\19j^@Þ\82lµ:"sÌØcß~\9c\88<\97i\a¶cZ´D
+\95¥Blë\ e\16´Qi*ËåÓ\ 6ëx\1a\8a¼Ñ\8et\89lÜF¸\ 1­\90S¿\ 4 \0ø\94\83öCÖ"·\9aöÚlñ\8aL\ 4\9erj\822)\Å-*C­h\8a\ 3!
+}\87\9e\8bò@mÎÖUYÖIYg\99o\9d,S¾\8f¹Ö©\14\ 4\13¸\b\8f9Iĵþ-ÐèN\1aÿÀn\98\84;m¸Å\11(#\1c\183 åÀ[½µ\94«­ävtbÛ\9dLT¦ÀÚ¶·\94iC½¶ñ=\ f×éõÅQ'Ãx\1e\80\9bFó(\8e΢ºÇ\9c"(\7f³ \97 \96ZWFp>?aH8þ\17ÄÃD¶Õ\8eSo\85Â\19¬´Û<º·!Éê\0>\a\8dù÷\18´û){PÂ\a\9d\8awÂmz­\82mD×\b&¿\8bb÷¿eÀò\1dÁ\82\8eºá`Ôê¦\91\f+è!(q\1cÅ£1\rãY49óú\7fE\eq'©\ 45\93\8dL¶hÑ\9e»Ú\10\93jf¦\1al\80¬\ 1ú\9e\0\ 5\98\ 6\e\83\0\rW`c§\91Ã&êÙY4\8fá\81é\93ÐÐ\89ohª÷\96`_ï\82\aéªÝôQp£¡\8f\1c\09\r\1cÅX&ÞÚ[\1e\92\ 3)êÛ\ 6\9e¹l9þÕèêrÁÖ\96\80áðÎ\81O\15L\86\8d¥ÒXê}p\ 2Äx#˪7èt²w%íÖé]o@=ä¸\86'Û^hü\8dt\e­Ó\1e+AB¦\8d\0\95\17$,:8\8e.]ëI+I\854kÆY¡k̨\Ãc:Q¡8\vN\ 3X¸6^\86è\93gË%,\97+\.Û\1e3\14\ 4w\a~få·
\18\16UB\9aîhLThÀ\85\8f\v\92"ÙD\ 4yt\82{ó,%ÂbÈ°ÿp\96G\87×;V\e@Ûa\1a±7@\xç9\1d¤e\90ì&\88ìñÃ\80\9a\7fÛÊÒ*§pøy'x©{\­6è\fÇ/\84*\1d~\10\9cÈ)\87"¹iøÈ\87J*ø=þÃ\16X\e[\8dNÓß®\11£[--<I0¡8\ 6\b\8c±ÁÕ2ª\18\9e(1ÃX,\13      \ 5×3p¯,ú¦I\96ð\8f\18\ 1ù\11ùÞË\ 3àì\9b\82»\94éTÈw{FúÐ\ 1b\13½¹¼\ 1/am\98\1d<"dA{£\1cîO\10\1dV¬ñ!8Ì\87|AXZ\8e²x\eFþQ\0ç\80-Ù¨R\ eh\8ds\9a\9dÒ\19\9dÓ;QÊ\9c~à_k1cR\9e\1c)
+È1¶}á·H®Ñ"\82\8aU\ 4EòÓN\11\f\92\ 1×°X¤hÉ\1dn\ 5\ 4F\8b\82çà=("ÜÆù¿ý=\8c¼TÓ\17ØÍ\17\86Zï}ÌD\17\18СÝF®´v¾À!\16¦fO\19GÄ        à\93ÿ^3äÊc\15Õ¿ô[\82\9f@oTb´Õ\99£ú±¥\1f\1cixoIB\ 1-\v\ 2\1aÔ\7f­×,9`\vO¼ÒLÓ¾7\82r\0jX\9eÔ<ç}\81ï\8c*\849\10Îà\b\9aØo3è\ 6{\9c\10®m!ävy\1e8\ 5Íÿ+\f\eï\8c\ 3\86Ãø\9c\86çq\18 ·%ˬåÍ í=\8fz\98M\99k\91¢ÇÞ1¸ë\ f\8a9ªÂ\8f\91G\8f\1dÞÜ«\9cn0, ·\ 6ø¾wíÀäÆß<=áeln\89Q;l«¼ÙÁE»©ù%°¾ñ\83_Y\1aÙ7\1cªõû\8f\99R¿ÁÁ÷é§é4Ñ» x\ foDGÃNÑ\82VX\91Ä\9a-&0\ 2\86\93HTó@3a\7fÇ:\15\96ma·\98\15M\15M\17y\9b        \ 6\rõd\98\a\1eS\87\19\ak\éït´¸Oì?\ 3ì&Á\ 1\ 6@\92Éû\19\1ej\9d\14~;üZÙ®à;Ç>\83ë\87\9dßF¹ëV\14+6B^\15á\9báJò\16¸|\82ÍÇ\9b3^4Í£m       jy\eý®l½\r¯¤0È¢\ 3\1e\få^\8d\9cü\91\ 3¢Â\95¥S    Oõ{øBau\ 6,\97#\97º\94Q\88\v¬½LÃû\9dÐ5ñÂ\ 2\8f\985nùtà'D(\90cpZ</jP»M{\8bn{'ðéo°)­$\16\19[yo\ fßQîD®Ò°\9e\r\17/\8e^\1eÊV<v
+ÿmÌ'Þ_àåãµpV®áôz^¯Ñã)¾ÊÎÏh:\8b£Éù\19o_\1f.ß¼¸d\9d\7feÓ¿ÒIU\0Äã\ e=l\8e\fg#|Ok¶µ\87Ë6½\ 2YLå¿ëÙg¼´ùo¢Õ\8eþ¨GÀ-7
+Ax^y\13\98Ì&Ñl:Ç\17`Ü9\99s\9a¿-NÞ\9fü\r\v²endstream
+endobj
+1589 0 obj<</Type/Page/Parent 1476 0 R/Contents 1590 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1590 0 obj<</Filter/FlateDecode/Length 1764      >>stream
+x\ 1\95W]o\13I\10|ϯhù%A²\1d;\1fNÂË)\84p\87.   \1c\98C\88Eh¼;k\ fÞÝ13³qüï¯z>Ö\8e\ f\9dt\ 2\14\aïLwWWWõþ<\18Ó\b\7fÆtqB§\13Êë\83ÑpD\97\13:»¼ÀÇ\13ü3\92Ê\83\83ã7g4\1eÓ´Ä\89Éå\ 5M\vÂÓ£\11Mó£JÏç² ÝÐL\96ÚÈC\12MAÂ.-mtKªô?ÖÊ.Èi²âQ\92[Hj­4\87\96VF\96ÒÈ&\97ö7ú(+\99;:ÜH{8|1ýq0¢ÁÉdx\86xGïð\88?øY5\85^[º:§¼R²q\94ëZZjW´V\ eApy!íÒéUß\87\vÝV\ 5²#1«p\87&ù$jÕ\84ërÝ8\bI\97|4F\1d\9f\ 2\aD-\94AFÚlÈ®d®J\85JUãcôP8\8a^ ·èqõ\1c×\8az&\b\95=JãaÀOUnð\9dpáÐë\90Y¯O½\8fN\18G÷²i{ý½°½÷FÏ\8d¨mÏßÒ{\90n¡uÑ£RW\854\96\16\fãLÊ\86r#\85\93Å>\Ó\85´h^||­ª\8a\ 1ÈE¾@\ 5\95ÎEUmRÖ\ 1ƾ\ fÕ®
\8eÖ\vÜÍ%q\9fp`Î\0\95\94\1dÅ~r\ 2Í¡£Z\14û\98áT\ræ\88\e\ 4\99qù¸ìå {1¤/ \84ϦD\e\ 3.¸±\v\14ª±T¶\ 6ÿgº\ 2´!´Ñ¸AÞ:Û\ fçøPH}\ f=\7f\7f-Í<txet©Ðø®Ó OSi$\8e2\13cº/\ 3\rÀËphK\0QqM\1dh\1eýÀ        H'\96ª\99ûª\1a¹\96Öuuðhl\v¡Òè\9a$\9a\ 2θý\16¾\r\93ã[Í0ûûRG\8f\89k²;8ÿ\82\82\f\14\90ç1ô\98Ì¥#i\8c\ 6\81|dFp}u¾WE\8d|x:pa 8'Í\9fZ\a\8eXR\8e\84s²^ah0L[ =$\9eE|±\91µv2\ 19¤WÂ*O»~Ò\ 4®l/¶h6)C#Wh8z\14\bÄ\89\82m>µ>\81ÆùÒ\ 3ò©QO\1e\vZIS+k\95n¬O\ 2]ƨ,Ô\8a\8c\9a/xÂ\ 3£ck÷"o\e\9d¨ÐO\av§ú¿\9a\84\8b!0µ\r\fðÃ\13ã\81¶Ü\88\4\80\ 6íöÙG\15\fÈEÕ
+Sê¡\ 6UÖ¬«\95^§ÀI\99>\87\ 1U\10>\9ePßèF>¹0«ªñ½ß\84¾cò\1d\94\0\ f\ 5\19Ú\90\80²£¥sN\12\83pû|JeÀV§jÙó\ 1á\f\9d\ 2«Æ:L\0\våÎѶ\81 ù³_9\91>\ 4ÑÚµ6E\9f
+]\vÕ|£B \1cÀ7¨Û\92´¹XI\7fû\0\9e\ 2\ f)\8eÆCâvà×AªÏ´¡[FÂ]\94\eÊ'Ï%VÅ T\95ÖKäþ2ö1ùÄ\1f\7fÞ~ù~÷îæúîûýõÍ\1fo\1fn³,ZF\96Ý´\ 6^ãþ\ 6/@\93,{\1f¦üNY·wM73^§Ð3\1c3\9b>\ 6Ù\84\81\rÅ\ 2\8bxÇ{øÀ\90\1e\98òÌþD¢`+èÒRn \9e\95ZJh"Æfæ©?\80Ã¥\8aó\97\ eæ\96e\894YÆ\81\1aQËìE\1cç\ 2.\19£ð¥;ñ}vaö~¶p®Âs#1'!ôõö     #\1c\1e\9b£r\98\e#¬Í·®)W'ÁtOB_\8eßL¢ýû\ e\8dÎ\87\13îÚçë\ f\ fo\1f~gä¶\vÂ\11\rP\e/\ 2pa$\9a\84ð9 ø²sÖ
+9 Õh«»ådGn\ 1èðw\1f·ÿ\a\e\96\11®·fáÁÏM°OÖ\1aU³È\b,\11AN-`@.A)\94I\8b\ 4¡ëª\89\14IýÂMxÂz\17¯áâÃPð¯ú¿[îó\ 2ë`\15\82f"_b\85A\86\9cWt!\9fÔ^X\1eÝFJ¸\17ü\94¿c\ e¥ÞN\19/¯õÞ6¸É²,y©Â\8d¬È\8f©\1fAr²£­Q/TQÀ-ì\ 6í¨=\1eÙ\8b@ ××ÓØ\1eeö²\89<ݶÓëÖZbß\80Upü\10¨\17Å\8d\17\9f&n3ø¸E/n:¸/.>Ñé:N^\\85\95ìt«\15\89¦V
+\ 3\ fM"Æ\13\83Õrøþó]§F\ 3^}¸v¿
+D®íLܳ\ 2àwqÈ <\1eâ$TgÛà\89\ 6\906\80\ev\988¾ÛÝôùéó\7f\9fÞ\1aÙþ\80$dyÁ\84rX)éÙÊ @s£f`«\98éG/\ flÔ;êÀ8\f¹wÚwmWküW÷×\ f\ 1\8e]àú0Y¿½ìRÒÈ ']9©øI¨hprN\83Ó« \vØ[°]\92¬x\ 1\15ª\82ñ©\86\17;üî­\14½)ä¬\9d³\8dP%\1fñdPD·æ\8döÔ»÷x\14\98g\8fÍ@ \97ù\92\b¼
+D¢ìÑѶà\ 1\13/_\15m½â³`[­\eö\8f\1dßà\8a»]\ 3\83Á*`}u;ô»\80\89\1co(>MxÁÃ4îøQ\91\83k²§c\82\8dæ\97\8byZ|Â.â«@&¨\98×\93¸\89t÷¤È    Ö{±ÄÛʳ\82±\8dÀyv^\øó
+kí.*ü>\85\11ï6Û.@(\9d\8e\1ep\85\82L\84÷0¿\1ct\8b1wþQTü\9e\15ö \ f¿OøøÍe²\85    Þ\18/Oi2öÆðñúþÕ5\eÓ\ fV\9e×:o¡\8fN8xn\98¦øøàbtÅF2\19^\ ea57º)Õ¼5þAz\8buô9\1f²/ñjè¼\95\0à\ f\11àO wr?Ë÷\9e]\9c\r/&\97a¥8»âÿº\9d\1eüuð\ fÜIæ*endstream
+endobj
+1591 0 obj<</Type/Page/Parent 1476 0 R/Contents 1592 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I15 15 0 R/I15 15 0 R>>>>>>endobj
+1592 0 obj<</Filter/FlateDecode/Length 1923      >>stream
+x\ 1\8dWïOÛH\10ýÎ_1\8atºVJÜ$@\ 2\9cú\81\96V\87T8ZrªªRE\8b½ILl¯»»&Í\7f\7fofm'\18*]+Ú\10{çÇ\9b7of\7f\1e\8ch\88¿#\9a\8eépBq~ð\93FÓh\1c¾å\ f£è\84&£Ãè\88\1f¾¹\1c\1dÓ\85¡Ï/¾v8\9cD§O_\eF0~4\8e\8eéèd\8aÏcüXM\8b\ 3~0\19E\87ÝïßÍ\ eÞ|<¥Ñ\88f\v\ 419\99Ò,!¼=\1cÒ,~5\89N"X\8bèkZ$fãèzF_\8d];¯|j
+:\8a\86¯g\ f0qÔ\9a\18\8c'\b~\96¼úºÒ\ 5\9c¶´H­ó\94\99¥£´ oðýË\16ûäW\9aJk\16i¦á\8dOG\17ç3J\1dÅV+¯\93\88f»WØû\90\ 6\0lÌ>3\13\87ÀbUн¦ÂlÈ\95:N\17©N`Ú\9a\12\17=\ 4\83\ 4JåW=ükU®=\±½ñ8\1a\ fG4\18\93C1û=[Ç\19\8d\86ªZ\9eNi@)yË\ 6\9dö>-\96!fXâÌîðÇ©ü^\r\10ú£¶ww+\93kwwW'Õ'U$\94¤.6xª\13ö8ØKÁ¯\94\87Aä»Piæ\90\80\ 2\10»Wñz\89\fp\1c¶bí\1cå*-<~\9c\84\10\9b¢Ð±\14\ 6\810\90ßÅ÷\8f\ eJn¥@\8aÍ*\8dW\94\18íh^\18?§83ð\832\17\¤{í7\1a\15\94ú\ 1,8\89hk*Z©GÍ\89òÿ\1dÃÏsÿãÓ^â\9b\15\12\ e\ 6\91\1eÇÇÆ\v@ßÔ\96\16Öäû\91\93ÄúCê2x^\180\ 1\16aLíj\88ã@\10ßqñÕ#@T÷àÒÂXvG\9b\14u\ 2\8do\ 2ÇÜ\19ÕTHlú¨{Ì.\9cu+Se  S\b5æl{«³^'[\18\96\f\12±$§Cmwgá/a,Q\98\87ª\b\95\11ÿ\9c{¡7\8dk®R\97\85 DÓIÈ\92táíV\92à³\88\1f­×ö\89\00OR\8bê\e»\9d#u\ f\87B·àý\95ÎJbÆ×yS\ e\93èa.\ 4ðR d}¼\93&\eÏ\9ciK$        (\8an.nIÿòºp°\12Üp9ûL,à\rÊ\803K¤ß§¼B÷\vo66õèomóÔñ9\866ôµT}QeYÇ}\1d¯t*ݽâæa\ 4\16&K\0{\8bæÓpî^Óó\9e]HëÔýUS\8eC0\v±È\16:¾[H¤\17u\12ê»R\ba?l°*WE¥²,TH+4V\8d\ 5³M\81N:ËÈÅ6-}$pö!"¥Õ®Êu\9fî«\0OÇ=WÑk\aÍcY\14Y@â\80¨)b\0\ 5Sï-\14Z\vÙ\1f\18p\ 5±\95F`êoN\8fû\94TÒ¹\8c\1f\ 2.\80\1fÈ\19t\0ßm;î\95÷:/\85ý\9d\12\7f&1\82
+)"-bÍx
+\ 2¬­ ~^\9a\ 2Tû«©óÓ¯Ckï\91ý\12\9c@|MÙÛ\12ô\99ô!\ eè\9eá©&\14\10þ\16t\8a!uéÛ\17zçe\99¥õ0¸P^õDv¥W\1dÊèhÃ\15\93sïB»µ7e¯O½kíWÆ$üñÖ+ëéJ\17U°Ó\83z,13\9cèÅ.ÚÔ;\9d-X|\1c\1a14\7fèýY&b¶§ø×\88\8a;E\95¥V\16ù\18Ñ\9dÖ\0Ã!ôÞÃ\82Û\0Ψ¬lɪ\r\8fqe-p\ 6\a«b\rí+\1a?\8d\8c|\83xó\d\15d\9b·[\14,§÷\ 6Òb2ºQ\85Î\84ئÜ\82³<KwLÃK<µe²A\13y²¡\e\9d\16-ú»£-g\88­\ 3l«"ª\14\86\82$X
+8íª\94hb\83ðc^\12êª\81\9a¿\8d\92\19\8dYt÷º\957     A\96\ 6\16«\8eó§R\a\94\9e÷Ö\v$Wÿvu~M¾²ÐEÌ\94z\ fÁ\90åäÑ3\89b\81\85\8eêÿ½* \8bSt\8540(¼¿>yp\10\1f\86fåù\9b\19\95\b\bd.\ 2þ\f3-K\8buSÛfñÁh\ 5X\16^\04c\1dû G\f\1cD\86E }«\1e\9b\ e\83\87§Ó"]V6lNÐå
+o£C¶\98|5\95\82þtQUkì\ e\9d\94æÌåõ<¤ËÎ9Z\89(\ 4\ fäÂo9Ë\v\ 2\16²C\bMö¨\93gj\10T|Ün^jÁ\87\ 2\v\93t qDø \8e\83È$¬>È\13\1eX|¡\ fX\95\82d+\14\81á\91TmÞ
+j]à®
+ KX{¡©\        ´q\ 3?ïu\rû«"ã\15¬ç4:/õ[z+nk\81@,v\vñ,\95s\ec\13\87Ç[ízuÓ \9a\ e\9aÂÝ\ f×ï¿|»\99]þs\1dù_\1eS\fEÛw\10\1a¯vÑ\98n\ 2zKi\19©$\ 1\1aXÕÌ"B\87ØëY{Æv]\ 2%lÓ\1f\0M\98\82\90\ 6S\86µ`\93²@fÌ8®#ê\8c<ÚÍ\9f\e"\96\1d\94\1f>\91\85Ê1w?\9d_s\86û«-úG-áªÆ\ 6¸6)@\92y\92\eÌA6'åCÓ±ÌÈ\92\82\85Ææ2_­þYaQÁj¶í\86\ 4Qè`\1ag\10Ô\81Ç\96²óô;\8a\1d7˽Ì\16\8c-\16\r\87ÛS¬±\17&¤î9: Ðp\ 6s\ f¡ro5\eD#\17óÀm7\8fä\15®l'°9Ïì9\13\f\1a\9bÁú\9e\14\19¬P¬oûzS[æ\19ÈØD\10©\90Çîò¶Û\8eO\9bkK¸½M\9eÜÞnEº9\9c\17/m3PA\1a\94\e\86Ë\88:c\94\95²ù\87\9bÔV\94    \8b¯\fr\91\16dé:,Ù\8cJ+â`\15\aìþla\13Ŷ\1a\19¢Wq°\83L,{wí ðÕ[O\ 3-/äa0bq{:\8eDáv\vùíÕ»º1DÌ2\83d jb\11Ï:nC\93\90«ÊÒX\94ý\ 5\8a\8aä¾ùxRßtG\13\°O\ eir\88[ø!_>oϯÞ\9dó½â\81çØ\85\89±ÛávÆÝÄÞ\ 6Í\89ÁtxÊï\87òðüÝ\93ßËÂy[ÉU\ 1W\93Ûú\82\89\19ùÅ\84¡õ/Bm//l÷hz\14M''¸½Ãæ±ÜÇ?Ì\ e>\1fü\a¡ßbÚendstream
+endobj
+1593 0 obj<</Type/Page/Parent 1476 0 R/Contents 1594 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R/I15 15 0 R/I16 16 0 R>>>>>>endobj
+1594 0 obj<</Filter/FlateDecode/Length 1889      >>stream
+x\ 1}WkSãÊ\11ýίè¢*        [\85\85\a\ 3{½7!¹<.\98âC\9cÚ\1aK#<\17iF;3Â8¿>§G²0\82»û*¯\91¦»Ï9}ºçÇALCü\8ei\9aÐhBiyð\83âi\944ßò\878\9aÑd<\8a\86üÃ\93ËxBsC¿\7fúØé(\89âö±qóØ\10ï\8df\93è\94NgS|Nð×JÊ?}\7f\80ïÂ|]\1c\9cüzFqL\8b\1c9MfSZd\84S\87CZ¤G\93h\16%Ñ4¢ûµ°J?Ñ­5¹*¤£\95ô\e)5=\9e\8d\8c®\17ôhì³óÂ+£é4\1a~Yü\81³ÇíÙI\12\98\ 6ÉY4K8ÈÑ­ñR{%\8abK¦ö\99ð2#cIéÔX+SO%¾²x\80rS\14\9a\13O»l\añ,\1a\8eÏø°Kòk¥\9fù_Gø\83Sie\9ejwL«ÚÓZ¼HÒÆS&\vÉq\94\8fhyt§RÔ\95\85ê*¹üÂ\ 1\ 6]¦Óh6JøðÅZâÅ\Ô\85§Â<¡¼Jø5\87Yâ×_®ñ÷!ê#°QHAx/ËÊ\937\94Z\89rHP¦¸8c·\1cmH\83x\ 4R\10å\90\ fs¢\\89\81\93öEÚå²Æ\a-J\19ÝÎï\ fIå´55¹J¦*ߢT¹\9f\8d\93\13\ e\902¿s½è\ 5~@\14º\12Z<I\e\11\8aµ27V\1e\87\f-\ 1\19\85^\1eá\ 1\92¯¢¬
+Àö³ÀËeÕHæ0 Ôêb¯ì?Áé'µtG\ 6X\8e\ 6\8dÌF\89¬©PÏ\12\8aâlë4EâQ[nÂ]ÂRi`\ 4\14\9a6B\ar\1c\ 3: @Ò½\17ÖÓ\95Ô5\9dÐ\ºgoª\ 6@Èý'¸\1cî©ãï=\94ÿ\9cÝ®\9eCúOñ\9c\16\14\ fEýt6mļ\ 6±Ê;ʬجDúìÎIµbÊ &·6Ö§\908
+ö²ÐÒGòU\1e÷\827\10µjtü¬­5åÖ\94¡èô|¹Ü(­=\ 4¸u\90,tßÉ4jòèþÏH\9bÕ\8b\ 3ε~\ 3\¾*ç   í!zá\1f\95>\e\ f\8cÆókãü\7fû\94,ãqËJhÔÐÄNzª+j½ ØîÁ\9e+\18\8e\93\95°ÜQÜ$ÑübÑÚP÷ßƧ\94~£µUb/¹®°\90ÕÇîo8IÆ\r'\ 3>\ eZa½8\ 3­(çjø!C*\9d)à3¡Ó2³Ñ\85\11\19\9b¦ÉÙ\1cÚèp$|Z\89U#ÒÌp:\83w\rÁ\8dªJyÂ\96HpÔ²r\11H\ fØä¦Fñ~-<Îìj\ 5%ZÂ2\80Xë£MÙ\9b=K\169Ü´W;ûA®,Xã\80ͱÊ3é©TÓôüLaRØðþim5\1fd\82W\ 1yj´·\82\8f5´AËôÂn\ 2\84\bô=3Ò}'<«]\8eôOÚ\ 2:°ÞøoD\13\86\15ÆG\8eIÒN\94ÑxçÓ\93è,¢ùÍÕÅåõ÷_n®\17w7¿EþÕÓ9A\80 Ä1\rsS
+dø\vgh\8a6±dØxÃ_é\9e\r\98¿ý8ºFq4L&l!·Æ9Å\ 4ÞìæÖU;ª\9a7w#*ÐÚͨ\ 5Ï&QURgê\15Ö\836²êIé0\ 1EíÑÉ@|µ¥\7f\99µ¦\7fÒBÚÊ\ 1\1aÖ\ f\93\10R÷¢\fR\ fH§E\9dá%Ƴ\871;t\85\ 4õÛ í\93_'íèì°Kº\19w}³øFçïÓ?âa\0W±%\1d¾\87­\90ö0$\81¤\9d\84ò\vÔ\1fF\ 4HÅø\0\95`ÞhÈ7L+\95R)ñ,\ 6|N\*Oþ4¬
+½´\83²S¡a,\99´\80\18\1fﯾR\16h\ 3½ïèC\1e\ eZQ¨\15ñöX¾\ f\13\94\976Ü®èÌ\0í\vÖ\18\18W/hjÊJh\856æUf%\1cjá)oÕ\vê æâ°Ö\846g*~»¸ÞML¬\1ËÕ\9bÔ\14Ñ~\ e\8a\15\96Õ©Ìzá®Tj\8d\1ftèlÄ\16rÈÑN`\aeaßàHÜâ=Ä\b-.8I¬eR¶\82\ f\9bÊ|Z/ìÚlZ\r1¾pOP °ÉÀÃ4/^í\86ò\866¶¼\1d\14a@bÞ¼£®K\84\96%à3Hù£Ç \1a\97²OÏÅU\7f\ 6ìÿ´!\8f³\qr°À¢\0\18\89-\86\ 1¡ªà.f\8f\ f\9c\81*Lr`Å&¸<z¼¹û÷?în\1enßy\96é§Ö<\8f\ 5\ 6ÕãpLÓæ\80 Â=\80\82§½W\1e\824N\ 3a\97+i\8f±\1a«RØíN¡Á\ 2±·"\9f\ fq¿b\8ec¶µ'¾=¹ü\12ö/
+K\búÛÛ\1aþ\8cänîO\12z\14\ 2ã\â1Íá\1c\80\85\89\ 6_\ e0\ 4üÉ©R\15¢_,4
+1zÌ\1f^\8e¡µf)øD\v½JEa Æ0ÕÞHêÓ·0X×õ\96*i°\132ßð\ 5\ e\8c\92\86G\94\99×\ eº>F7\12Öð¿q\81aSK\v)ÐÁÐ\88\7fò7Ô»Ý\17O³¢\80\80ýy\ 4\90:6ye\12°¡'n¦m§Ò\ 6Ûîk\86\1d\1a\82¦Ð§ÜûÌz¯e2éR´c¨\aBT|]Qÿk®8J\83\19\QøºÃ\1c\9c\82JqÖò\88«\91?j8H\81\0\8c÷\83\86íÏ\85,a$Ð\\10\19¯a\8c\8c\17zÑßÐF\8e\1a]â¨^\19¢\0\9a\9fÖÂû ® UU´V\vÜs¿áÍ¥\19À°L^¥zQ³-®\1cx\83ïe¼Á`Sá­zea\9d-J\9c+p\95<Ê0±\8d\8eè\12 \88Ô\1fó\8fÞ ÿ<¯\1dªí\85nÖN¥x\82\eìl\84Kh\f\98½¿¸úzÁWÎ?ø687iÍõwSc°{a0\1d\86K`s[åÑ\9e«§\1aË!Ss   û°Ð=Û÷9ÚÇ\akE÷Ý\19\94        a?\80´î^ËX\9cNO£éd\86ë0r\18ÇüÕ·ÅÁï\aÿ\a)n(\ 1endstream
+endobj
+1595 0 obj<</Type/Page/Parent 1476 0 R/Contents 1596 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1596 0 obj<</Filter/FlateDecode/Length 1455      >>stream
+x\ 1\8dWÁnÛ8\10½û+æ²Ø\14p\9cÄI\9c4\87\ 5\924\ 5r¨ÛMT\14\ 5t¡$*f#\8a*IÙÕßï\eR²Um\ eE\10Ç\92(ÎÌ\9b÷\1e'?ggt\8a\9f3ºZÒù\8ar=;]àòü\12\9f\17×Wø\â×J*gwÉìäã\ 5\9d\9dQRâ\95Õõ\15%\ 5aùé)%ù\91ÜJÛù\8dª_Èo\84'Q÷WZtTKY\907ôZ\9b\1dÿUµ\97\9evÊo°^"\84ódÊðÝuÎK½x\97ü\98\9dÒñrµ¸@¤£$¬zQÎÛ\8eJUIG¹¨)\93T\99\x\ 405G¥oª.ÌÎÑ:!-rd$)ëÈ4²æä\ 4åFkQ\17ÔX£\eN\14©u\r\9eÝpÄ\93\8f¨¿¯q\1fûþ&M¿=®×I\9aþ\13\17\r@\1cQ¡,ýõ\1cR~2Æÿ\95¦ñâ|\99¦¹©KõòF!²Þ*kj-kO[a\95È*ùÛ.¸[µr¨Ðd^ \8e\82\vùã\§\99Ê|c~\8bñF^è\89ÚJj\84õnh\87\95=衯\9di\ 1kG;\81ÔÑJà_
+­*%lì¦\0[¸£C\8bªJ\167TÈR´\95\9fSlî¼\8f}v¾Xrs\9d\ eoâ¹Ð¡%Næ­U¾\9bÒà\11M¦ÂhàA#\14çôIåÖð>c\ 2ô\vÑ\ao\r2±.Ô¦rÕ\802à!\88×T
+üQ`OÏ¿çÛO\93ô\98\ f÷_\9f\1e\93ï}aÎô<¯*0ê°=3\1aÛ2\ 2\8d\0¢`ªü\ 5\8eT\81®#$¿×\80\98%IÐtZ'ÓýÍ\92"\80¤\1cA      mî[\v^ôQ\ 5\r°\916\85¬b\8aNtî\90¬hö\ 5;FzRª\93v«r\88K·P¤hQHÈ\16há«v²Úâa&K\13ûÜ\ 5\8eF\82R#­VÎ1\96\15P8d$jñ"-\93¦0´\83ILBcÿ\ e\ 5À\aÚ@­Â¼\ 5ÊHÞ_\91,\15Â\8bL8@\¡'ð\11àë\ 6@°%nEþ.(Ù\05æöÐéáQè \18Å0Ij±íßn\92ܾ\8cؾRI;§\8dÑh³²2÷Ævsz±¦mHK\9d\81i\eÕ¸9\88ï^½iØmX\11óHn\ 3³\9a\16÷À\ e:&oßéôhgì«ó\91£\ 2µIp\ e\7f¹UÒ¦ïP,n\ 4\9a)\96í\8eY=Ô<\82ë9¬\9f\16\16TÍ \8cDñ!êë¹×à@ð\18\ 3ò\e \ fïƶmX÷ >»+Ú\7f\f\0gÇÝ^\7fN&xr\96\10\ 5¼ZÂ\99Y\12T¶(cÈü\10\12.\8bW\0\9fãý¾\1d\10    $¦¦bCè+\9c"\9b ©¿s\ 5<\80\0áL¡á\10<¥GûjosðßѧÈW໯\97}\0¯\82 \ 5A\0 \\15Ø2©m¤\1a\96¨eá¥\83¦zÓ     Çá1S$\ 4\9e¼\9e\1e©\85\°ldí v¤\8có\95\89Ê\ 4\80V§Ñáá\1c5d\86\969`ú³Åù\8a¤\99ÿ¬QÏ\17#«ª\14îõ\8e\8fÍ£\ 2\90\90Ú\82³/Ò¥ïÞÂôYèL\90\97°ìÀ>\14P´9vFl\8f#Áã´â\ù\9c.ZÝ\84¤Ç\84\ 4î¨Ý\90ÓY#\9cÛ\ 5Tµð7(mZÖÃúþéû\97äñózá\7f\81,\80_ÕøÄò\0c=Ú\85ûtÒ´Ù     N\93L\9c\10\1d àô²\98FÀU\98[L_+k±\17v\9aà\18¬ \96Ñ[G)òXUä\0øJ\19¬
+åÕÆóI(\85SpøÀ\ f\94¥tSÉpÆ3ÃÆ'\r\1eÆèQãn\8aî\0\12WÉ\\ fÆ\ 27\19î¿¿\8cF2\cÖù\9f$z1\ 4ô'ú\16\93R{½ï=®w\9eÐ<\96Êp¾\85\ 1d\14\93      ÈgjX\18(\90\1e\12\81D\1c\80ø\88\1a*\1cNüÛJ\eô \8c\8dÃIyð±Ïë\aúb\95\16pÄ>¹û!       \v­~ùp\ fJÒ£gFÃb\95\r\13\83OÓñ\8e\93Zãqì©B³p\10`:¼\13ù+lû­8w!N¿Ãx\12E\ 2Áɱ ¸\ýgsÅÁJ\86ù!d;   \8dYt\92ô¾\7f°É\ 3J\90\15ò\ 6\97`P\92\98cpß\ 6%\85Ua\ eaU\ f\96\1aZpòñº\9foÏV\98ï¯ÏérÕ\ faØàî\16°\9b\1fh\1eàÈ[æn\90\17§s<¼p|uú\9e\87¶Õâz±\\10\1a\83!·µQ\87\8fu\1cK Iw\ 3\9e§n¤ùd0&âk0b\ 4     ó!ï{qu±¸Z]ã\7f
+ìy¹ä[\ fÉìßÙ\7fê\ e:zendstream
+endobj
+1597 0 obj<</Type/Page/Parent 1476 0 R/Contents 1598 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 737 0 R>>endobj
+1598 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¢qzÂ.|\9dwþîü\a\99ôB\92endstream
+endobj
+1599 0 obj<</Type/Page/Parent 1476 0 R/Contents 1600 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1600 0 obj<</Filter/FlateDecode/Length 1666      >>stream
 x\ 1\9dWËnÛH\10¼û+\1aØC\12À¢õ²$ç\12ø\91 >¬\93\85µ\b\16ðeD\8e$Æä\8cÂ\19YÖ~ýVÍ\902MÛ»À"0"i\86ý¨®®nþ:\1aH\1fÿ\ 62\1dÊh"iyÔOúr:ë'C\19Ϧø<Ä_¥e\19\ eÆg§Éøµ\83áÙøå\13\17ó£\93/g2\18Ë|       '\93\19>d\ 2\aý¾ÌÓ÷Ód\94\f\12ùjw\92YíDÉ\ f[Ý;¯|n\8d,s\93\1dÎJ\95\eI­ñ\95-
 ]}ú0ÿ  Ãc\19\f¢áÞp
 ÃïÏåf.»\96       <å׺1p{þûÅ9~P^vÊÀ°\92¦ª\90­Ó\95x+\v-j\8b\a\8cÏSåu&kåø{\88äÉ\10½÷¥7\18!ax}\8aK\96\92à%\91k\1fsòëÜÉb\8f/¹YÁã\8dö\17×ßnŨR˯­®öá)Z_Uv»\89\aÁÈo\83\94v:î\94\12`\85<´J×b\97\12\9fs\83\93ÜËJ#½\85JïeYÙ2\1cÓWÎSæý\ 2RQ\0;U\ 6ÿ»\1dÐ(ìÊ\9a\8eçJÃ\86ó.\91¹\15c½Ø\8d6âtº­r¿\97µ-`~aý:øk×\81Æ\99¡Ó\85N       ìÝûù·«o\1f\11\10Ï®.%][§ÍÝ\87\8eßW\82mUI"\ 60Q%r¾ô,%KL\9bí\18`9\8b\9eXîwNÒJg,µ*\1câa\99X\93\8eoF¾\ 1ä°\94Ý} \19h÷EDÇ¢Ü=\vL\ 6¨Í¦²\ fªHh«ÍÿÞh\80æ\ 1eHüa"?@5Ö\83&¿#\7f£\11\16»y[? =\15       \e9\8c\88Òµ2+-Ì      õ\186ñµæ/x\9d\ 5MU»
 %<Ð\1a¾ù@7÷6zu\7f¾ÁÞ\9a®\vÂ\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"\97è\83[U.TP\ 4¹@\1f¡1¯¢\f]\1ed\88lÀÍ\9by\9dÅ°\1fm\0Î×j\98LXú\1f\ 3Ut\94¸a2<F'Åd\rdïASÂ\90?\14wSP\85x\rtò6µàéZá\ 6[o¯=\82\ 3}\96[&\9f\97\9bB\97`³Î\82±\ e®1\99¹V%éƺ²D°¼5\19Bñ`yP'
 nc)\16\11\10\ 1ø\96mU[\bäb(\f£ã\ fÌÊÝ\1a}Îvh%\ep\aÚÃIDê\19\18£¤\1fX\18âcp\a)y\1d\v¶¦\12·Í½Z\14Ð\16o+\856(5û!we\b\10ѯ*í\9cÎ\8e;1òqg!Â\88±¤\86ÞÌÇr\81.tÛÍÆV\9eHéÇMÔ+g­é\ 6O\96\Si\ 3#\17hÎ%§\15,©`gÇJ\aä?É_\9aª B\86IViå\90\1fÁy\ 6w|\ e\83Ê\vµÈ\vè*FÀ²\13\ 1QÊcmëNC\ 3R\90-r{ö{\90\80C´ 2\88\v\r|ÈS\1d\85\1el\8bÒ.»Fdà£ã\95
 \85Ø2»\8bP\ 4e{Ù?§Í@\a8µ;U\a\ 3tßn\8c[j\e\861\bfV5Ó\11g­]\1f\19\fö\93\ 3u\bf-÷×W-¥#8\8eÃ\15\b7@±Öü\8c\0X\ 6d\81\19\80\9f\82y\12\a_ê]a\99\17ÝÄ7Uþ\80uàä÷ó˯×7\9f\13ø«­ð21a\e`\9c\84\9dA\99}  \83âr\ 3xc\15ÐçÉ© ÜÈÑ``UE\8eiÕÁ÷ÆîT¦öQàZ©ÁþË\10Ñ\961(T»Â°O|¶Hä\96\aemÚ·uÞñwØ\fXX@Q\ 3\ 4T1Æ\99\11u\82\8a~8ÙÙm\91\81ñ\ 6\85òØ\950°vBô\ 3\93=¦;¸o2úéµ\16$\8bÂVy¦\83\9dVb¡A\82\9eÐ\ e[\8fÈÖQ6\121· §Çæ\ 2ác\84­ç\9f%À¹\vh\1f\99\85\ egq¹\11ÕåmÁq\8cÛØ]|(w;Þw\ 6]RmÒ°EåÙ»\86Id\ f£;ù\92Ö\9bgo\9aÌ\ 6r6\8cjv7\9cL%^hVÓpÞ\eôO£øÏ\91À\9f&\7f\8c\ 3<SP.å0¹ã\9aÉþÜ\9bt]Y\93ÿMñlV·ç\ 5ª¹Wj¬j\80\ 4«N#\94]àO´OOÂ\b\84\ 5Â÷¸e\86A\12ùߨë\7fzäzX·c]¤f\ 5.\95\89Cø \1fq'\81\92\ 1ýReú\98ìgýj\15i\94\81ËèÍõ-î\84\9d\80ªÄ\rç©_É?ÕqÇ\a\ÁQ\18ï\ 3\11
-Z\94¶Øæá1Ì\ 2¸çí\14\rgÈh\128\ e-ÑÆnWë\97\ 4ï8«o\87\19\ 3ÀT\9ab\9c\84÷\92ðÚp("ßPXÌ ÿÌr       \rßVÍ®ñ\9c2§ÃdÆmàMÊL²@¾D\ 59,2m\7fÄ3HÐA\fÊE]î'Jý{y;É>  $T\aë\ f\1a\a½\97Þï\8f\81ol@£\1f=¾¤ÜL^m\87\86\14­Üfu¿\fF³dv6\92É$¬Áam\94ï\95ý      sدR¼Ø`É£eÆÕ\eLðþ9\eIoÚ?kÖæÿý¾8\9e\8e\93éd\86e\ f¸\8fÏèàóüè\8f£\7f\0®Ö¾Ùendstream
+Z\94¶Øæá1Ì\ 2¸çí\14\rgÈh\128\ e-ÑÆnWë\97\ 4ï8«o\87\19\ 3ÀT\9ab\9c\84÷\92ðÚp("ßPXÌ ÿÌr       \rßVÍ®ñ\9c2§ÃdÆmàMÊL²@¾D\ 59,2m\7fÄ3HÐA\fÊE]î'Jý{y;É>  $T\aë\ f\1a\a½\97Þï\8f\81ol@£\1f=¾¤ÜL^m\87\86\14­Üfu¿\fF³dv6\92É$¬Áam\94ï\95ý      sدR¼Ø`É£eÆÕ\eLðþ9\eIoÚ?kÖæÿý¾8\9e\8e\93éd\86e\ f¸\9f\8eéàóüè\8f£\7f\0®¯¾Õendstream
 endobj
-1594 0 obj<</Type/Page/Parent 1479 0 R/Contents 1595 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1595 0 obj<</Filter/FlateDecode/Length 1126      >>stream
+1601 0 obj<</Type/Page/Parent 1476 0 R/Contents 1602 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1602 0 obj<</Filter/FlateDecode/Length 1126      >>stream
 x\ 1\95V]oã6\10|÷¯X \ fÉ\1db\9d¥8¶óp(ò\89\ 6hÓ´6P\14MQP\12eñN"\15\92\8aëûõ7KINâó\15(\82 Nø±³³3Ã<\8db\9aà+¦yB§3ÊêÑ$\9aÐY\1cG\v\9a.æø\9càÛJ*ÂÂé,Ư\a\16\92ù,Jö\17.W£\ f·S\8acZ\15|ûl1§UN¨0\99Ð*;¾Ð[ÒÒWfm4¹R L)\1cyC©DͦR\99ð2§Â\9a\9a|)éáú\8aWùãåõUD«R9Ê\84æý¹Ñ\92j¡[QUÛw«O£     \8dãS\80ZåÇ\9bRjù,-¡\94B©ÌªÆ;â\82Y)ôZæ'd,)ÿæ2ÑzS\v\ f\10¸\11\12\85-m\94/\ 3\ 4\8dpn\93ïUs[\9d\95Öhõ\ 5\87\8d\8exùÃmÖó0\9eG\8b\98\92Y4ed\8fÉlNÝ\86\81¨q²\88âs\1a\9f%\98\ 1¶Ü*Í\0N\86¶_qT\98\94\ 2\1c\18Ù\18ûÙùPÒ\1d \ 6»\9cô^éuWnBç<\16°\94L;,|ÁÚ\9a¶¡\8fäD\9d\8a¡¯I\a$\a\e\16Î\83\86\8f¤Íá\ra\9e\ e\e¶Ò½m\8d\8b͸'\Ã\90ÿZW&\15Õßc'3¦\8aL10\eeF\17Ãï/îÅg  \85t\ 2 £1\18+×* â¿jQKZ^üryñC\9c\rð\ 6\15\f\83ûãî~      2,\14Ñ\13\ 5\19iC\8d5i%kb\rîßEØ"è^úË»_\97ÔÑ\14\8aùRx^¬¥Ð\1e*Ù+\1a\94Ü\ 1\84\921\84Ú@u8\84f\83`³RiÉ0$5Â\ 2>\93{ô-×GT\18\9b½j^\e.·k\7f¯nÏAJ\9bRe%·$¨Õê©\95»&\ 2| ·2p\ 1\9fÁ\ 3Üø\83Uµ°[ºî\ 6~e´·¦ªÀV7Îs\8a!Þ \9dÓ¸ÓÎ<:\8bâ\88~2\e\18\91î^Ü\e.Ü9\85
 UÉ\1f»[\ 6½³(8\17\8e\7fï\1dÿV\b\9dÅÂA¦ÙIí\94WÏ ìο²B°ÿÎç\9d«C\94pC #\98½\16¹\f=¼Ê\86\e¨`K-(8r\98\0üllÞÇ\ 2\17\f\17÷z}Û\a       \98ï``½Î¨å¾"\86`\83\13\ f\90C\ 1\8e)¼Ô\]K\8cÜa\18\ 3ì!8.:\8dî!\82i<<\8aF*¶ª\97ÿú\97\9eäS«\9eE%µw'\9cuuë<dï9=A«\87>¤Îì¶áÌ5\1c\97ÌÝFÙo8c±¦\12§7\82\83\91\83\85\10\e/`v=ÂÓßIoî\ eGA|(ÓzU)\ f7szFÝ\ fNã=Yóvçz={+´k\8cõQø\9bòNVÅ\10á=&\94\10Y&\eOï9-Þ÷7\87£E\9fæ¦õ\10,رÃLX\ e\8cÎo\e¹\87\býo7$\11]Áäwì\aÏï\14B¼{;~¾¾xø\9e\a\98Y§ê¦\92P\97Û\0\ 5Nþy³\8c\89Ì\12ÍÓ\7fª\4\94\99\1c\86        p\94*\9d\aôèwp\1fq¥>èN\82Z7
- Dåö5YÀÞ°®\95 Äb=l¶\92/\r4\0U\1fûª`é\84ÇTK\99\87\19r(£jmrUð\93Í\ 6fòp*\17^¤ÂÁ­\8fÇ÷ÆÖ\a\1eg\84;ê!\14­\14Ð\1d\86tB®ç,àe\89\9a,k-\9e\ 3Øâñ]Oü¢\7f\19þOY\9cÒ4      \8f}H>d\98ù\84G\ 5\19\96µ5Ä\1dPñ(ÇÃöñ|\82\170?þßÑ5\9dO£ùl\81§\13§Ï&|éÍjôÛè+ÛÙòIendstream
-endobj
-1596 0 obj<</Type/Page/Parent 1479 0 R/Contents 1597 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1597 0 obj<</Filter/FlateDecode/Length 1243      >>stream
-x\ 1\95VÛn\e7\14|÷W\1cø¥Jà¬u³$\a(PÇV\81 \89ÝÚ
+ Dåö5YÀÞ°®\95 Äb=l¶\92/\r4\0U\1fûª`é\84ÇTK\99\87\19r(£jmrUð\93Í\ 6fòp*\17^¤ÂÁ­\8fÇ÷ÆÖ\a\1eg\84;ê!\14­\14Ð\1d\86tB®ç,àe\89\9a,k-\9e\ 3Øâñ]Oü¢\7f\19þOY\9cÒ4      \8f}H>d\98ù\84G\ 5\19\96µ5Ä\1dPñ(ÇÃöñ|\82\170?þßÑ5\9dO£ùl\81§\13§ÏÎøÒ\9bÕè·ÑWÜ\vòNendstream
+endobj
+1603 0 obj<</Type/Page/Parent 1476 0 R/Contents 1604 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1604 0 obj<</Filter/FlateDecode/Length 1014      >>stream
+x\ 1\95U]OãF\14}ϯ¸R\1f\1a¤f\88\1d'1\95ö!\90¬\16Á\96mH[­\84T\8dã±=\8d=\93õ\a)ÿ¾ç\8em\ 24¬Z\ 1
+±ïÜ\8fsÎ=ómàÑ\18?\1eÍ}\9aÌh[\fÆbLSß\13\17\14\84süïã¯T\94¸\17\81\17\88Ù©\17þ$\14ÁÛ\17\97\9bÁùÇ\vòÇ´IPd6\ fi\13\13
+\8cñd;¼Êä¾V%\85\82îe\11I\92\15IZ,ï)¶\85Ô\86
+UDª<Ûü\854\ 1y^\9b\87ÂG¢á&Ó\15áWRi\9b4£´Ñ±¢ÚR¥êZ\9b\94\9a}\97x\82\19\ eºÎh§Jd´8ÓÔ\992µÞÊZ[C2E½ªFª?´\89í¡ò¹Ç\9bå\95àêc\1aù3\8c\87\9a_´Úª\8a\9elCF©\98"\95X Ãß#\95jó3Ç{"\98ø83\17!>qê9-°@ÞJ\95\8fªt©GÈíÍÄx6å¸ÊÁÀÝÚ\922\9df]Ô« 4N\9f¯7ÇYbõ¨r»/0\ få:*e©ÑâÃPabÀË\83É<§¤´\ 5ña\19ÙGE\95mJ\1e\ 5\95\9a
+\ fi/·;\99ª\873A\eDeJ\17±Ìy\1e×ä¤\ 5ýXà \91ÔØ\9a\ e¶Üõ8\1dgáJw{en\97\8b/t²Ew\86\ 5âÍ\99ÙQ\aÛdÚÃ\16
+OÐuÛ>óÉ)Kõ­Ñ%\90ïÚ­\b\ 4ÐREZ\9a\7f+e\ eµ\ 2×;ÓE\1c\89\83Lz`8mbóÜ\1e¸H\9f÷4\93\18\7fWFÓ\11\ 6ê\94q\9cؽ\0\96\9db¿7\97ÿ\1fçZ«ø\93¬¿7W\e\ 1\b\85\92¦Õf\95Ù&\8f)\93 ZB\15JVõé\81\ÓÌ DâVáaÈ\80î´ÑõÃÙé\19\ 1\ 2ë\8bãrm\10\9aºíz/Ü\91\8føHm%K\8d\97Ebi¶¶Øk$H[i¶\82l\93ôZ8®\10ì@Ʊv-\82\f\1d\9bX\96ñ+u)ó¨Kkx\19zMö»û\8b­a\ f\19ðÀi\96<z`ý>ça# \ eÐN\1c?\11\8e\vùÔ®<ª§Êå(È& ]-ý7JƺN\82Ö/B1\11\ 6\19½KæuÂu\0}ïQÇUãN\19\0´kFÏíæ¶s/\8c\18­]²\ 1\ 2)\87ÐÖ\9a\rNÛ=#×ÓÙíòhĦ8b    |X^¯ßâµHØ\9d\99­²1`«ÏUÈ\1dÀç¬\ eLm¶y\13«ó6@d¤k\0dT)kØ\v\9eÖì­¬\14|Í5βX\9d\1aÏ?\8eé¢wõ\ e±\1fb\95 \94>-~_ýy³¾\9c\92×·=\16|\81\f_E8{q\11¯ï\b·÷\80\14ÍÄVUæGÇØË1b\1d;úQÍ1\fä\ 1Ä\v\a\85¼\1d!y,÷ÇÇ\82n­Ý1\1dÝÀ¹\853Yj\81î[í\10\rì1{r"Jôßèæ-È\eæ®Ý\ 4(\12\9dô®ô|%6U#sA_ÁCÑà\8ernÝí´cùè]\93\8eg\\8b\86ª"\12Üâ»H\134#ó\82>Ð×»ßÖâfµ¾\­ïîÅzµ¸ýÜÊ4|qëú"`£\8eÿϽ\1dÌ\ 31\9f\85¸üqn:㤫Íà×Á?>»\95¸endstream
+endobj
+1605 0 obj<</Type/Page/Parent 1476 0 R/Contents 1606 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1606 0 obj<</Filter/FlateDecode/Length 1296      >>stream
+x\ 1\85Vmo"7\10þ\9e_1âK¹SØ°¼ßI\95J.\9c\14]óÒÀ©:5ý`v\r8ìÚ{¶7\14Uýï}Æ»\10\96\88hYÛ3ó<3ó\8c¿\9fÅÔÆ_LÃ\ eu\a\94ägí¨Mý~\1cõ¨7\1aâ¹\83¯\95´\b\v\9dn\1f?O,ÄÃîé\85Ñ(ê\1c\1f¸\9c\9d]|nÓ\a\9a-à{0ÂCJðÛnÓ,i\129\99\94Vù-ýLã«é»ÙÓY\9bZq;\1aa\1f\96¥Nì¶ðT\bç6Ʀ\ eû¶Òñ¾\8bÏ=\8aãÊn«3àý×\9a\12á$9\91Ï\ 5\1eõO\9e\16jY\ 2\93)=mMiIÀ\86\93öYZ*\9dÒËê­\95"ËI\8b\\9eãµ$¿\92\95\8f~í£ypðµ÷&\99Â+£Iéj\ 1\14ïÂ\8a»`\ 4\81¹|\1e%F/\8eN~Ü\1d¨éiuzÈE\0~\10&\10#ðh-í\Zã¢*úצ@ZEÁ7SRjè½6þ=i)S\12\ 4ï\81¿\14dd\0(tJ&KÁ@\92)©½£\8dÊ2\9aK\12%\80\12áù¤#µ ÆA\8aR\93\v¥\eçì\9cóTÃ\13\99_\99r¹"åic\98u\84 ô\96VÂæÁ\9dÈ2³q\f\84¼ÁëgI\99IDÆd[G\88\16ô1ë8É."º&ùW!\13\8f\97\82ÿ!¸¹y\ eY9ðlå÷RYÄZå F\92¬\84\f\f²²\ 1 ÚHZJ\ f\84Þ\ 3µH¼B\0)\ e&ÞØ-\{¹´\82³\18U¼~ xX\97V·ÎÉ(êE4\95¾,ª\92¹\90>¹XÛyÿDf9\1dÃ(Ôä\f\91çJ«\1c\ 4¸\1c\83'Z\18Kûó¤Ü\ f«á\8fP\9dîÏ\1dëûî úv÷õ!ú2y¸\9c<ÜM£\87Éø×\etÈß'v\12>ë4áþùA51­\a¦ÿ©\98xÓd3éêVªàÐ|\8b¤q'    j¬\81ÔÓ×éäáv|3ù%\ 4Ô\b\15\90\v¬-Éq3\86\94r\18û¾\ 6|¤%\91\ 5ên\17|]\0ÏÙÿ]é\ e«Æ\97«O!GLñ ê\96Û»Ùä#1ÑU\eç%"D5\97E!-\vÂñ\ 1n\12\919Ca§Ô¯\82\bõ\vkP   \88ÁÕí\14ÕjÖÈ<
+\8a\83¹¾\87\1c¤V:GfQ\95\ 3ÇEc\18=\ f;XJ\8e\80Ô\85\f¤;õÑ\\14\8eÛ¢\8a\81åðÙ\91\96\f\1a\ 4æØ\15¿\83'zl*\19\85_+ã|XÝà \1a©n #ßÂ{\91¬dúø\8ePuH\11\83DÛJ«Q\8cÏ2Û\9eô¸0Ü·h¯:   \81ßc6g\88I
+§¸.6\ 2Ù2\90í@)·;÷\9d_1hµ\¡Ë\ 3R\90\87j    \1dÄñ;\1cðèC\10Qp\910ÊÓ\14Ãø\112\85Ó\87,A9BFÀ\ 3\vÑ\91{XÖA\85\82âñ"\8a¶R"i­±\8dJ/8p\ e\bP\9ePÚ! \93Øá\vÒVY\14:ÀÛé4J½(\8c\rÂ\ 6\ 5®¤\96-U\ 1p\ 2ÜZ\15ä¼\15\81\1a8s^\16ÔG\167\90\1a~î2aF#=¬åoz\ 3òÌ¡nØõ\e¿¬/p\f¦¡÷\e¥çJ§é\7fé[?¢O@é«ÒKL^\94\95\&¦Ô\9ey\7f=sk\85\e£u\83\8e\ 3\1c¤z\85±±ÁH\97\84îË\95s<\eë¾\99\86Á\XõÌ^^\ 4ø±Yº\12DnÉ\1aãQ¤¶Ôµ\1c¾\f`d9\faÎH\15\fT\1aã\92/\16­.ßb09GQ?\8a#º7ð;ÏP\98\9cÕú¾0x\19Ì\1d¨{ÚlàʱO\13Ï Æ\8c\11\99b"4^ãÅ\85i?î*\14;\95Á\10©e\1dç\1e\9b\18SµÔG      w\1dðp
+xcmþ±  9ĦL\866ÌàÏyàç\9d\væ\1ceÂþ[¬Éµ\ eîó\9b©9\18\87Á\95\14\18âx\86¤Ö\ 6ä.Á£\1ak\fbÚ£.\rb\¸Òæt|s9¦{k\9ex´^\99¤ÌÑza\1e\ 5\7fñ\0÷@lo\rÛ|S\ 3\9dÿ7ôzÃ^4\1c\8c\90\ 3\ fÙÊdvöÛÙ¿ùË:xendstream
+endobj
+1607 0 obj<</Type/Page/Parent 1476 0 R/Contents 1608 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1608 0 obj<</Filter/FlateDecode/Length 651       >>stream
+x\ 1}\94_oÚ0\14Åßù\14çml\1a\1e\81\90¤OU[:i\ fí6\91i\9a4      \99Ä!.ÁÎü§\8co¿ë\ 4: Ó\88P\12Å÷ÞsÏïÚ¿\ 6\11ÆtEH'\98&(¶\831\e#\89\126A\9c¥ô<¡¿\11¨º\ f³8¢×\7f|\88§W,¾üp\9b\ f>|¼B\94"¯¨H\92EÈKP\81ñ\18y1ÌXÂ\90\vë°×ÞÀ
+ó,ÂÍùömþD¡1"\8a\b¡£IÊ\12
+\1e~Vàø.U©w\16\93\90¨h¤P\ eÎìû Ù!h\b%\1c¼\15x\87\9fôëÓÓ½æF\9cç\1f2üÐ\1e¶Ö¾)±\12hôz-JH\85\9dt56¬\84Ѷ{ÓÞ\85\14MÉ$Ò¤\84(¥ZÃil\94Þ\91À\96[»Ó¦døTÁÕҢⲱô(\14\8cW\97J7\8d$\17\9c,6ÂÙWÚæ²\f\ eaMýðÃ*TÚ\84t\a×®1×ÂB^J«ù³\0W\10ªÐ½Æ}+ +Ìï\17£»Û»ÑÃ|\86ë¾â_P£iL0©³\8c¥=¡Ð^g\85Ý®zÃÏU\9e\13êp.øvÅ\8fP\89\87|%Oé¡cØá;P§n^Gy\eê¾\94¤FÊ\17\16,\b8\81ð\8d@\9f¬´DÞóæ=VÞÁ¶¢\90\15) ¿F\eèÖIÝÉ(j­)î\85\81\10qàaEWât\80O|É\18\1eµ\13\17°Nl\b\ 3µõDµ¨¹Z\13\84r+\15Q6ÜQ¯Ç\ 1\ 1wh\ 4§eZ\15´¨r´\ 3æw4yÖñ\86ä\93W\85\11Ü\89\91ëÚ\9dÃì\14\84ºI\8fl7Ù ¤YPo¨o!¶\17\19\96Ç^ÙÒ\97mçè²)yË\96®hÃÀ\93\ 1Ò \14\15÷\8d³\98?.ú\1dÉðÀ÷´5*ù»Û\19\17ö\a\8c\92:hy±±\87\81Ê\ e;1Jè\1cɦ\98Ì2\96\85±ZÜ<ÜÞà\8bÑO¢p4¹\85ß\92ë\9dç!íè\180JÇWý\18þ÷ \88Ó\98¥IFÇ\ 4å\9ee!Å}>ø:ø\ 3\80\1fyFendstream
+endobj
+1609 0 obj<</Type/Page/Parent 1476 0 R/Contents 1610 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R>>/XObject<<>>>>/Annots 748 0 R>>endobj
+1610 0 obj<</Filter/FlateDecode/Length 1399      >>stream
+x\ 1­WaoÛ6\10ýî_qÀ0À\1d\1aÕ²e;\1e°\ f\f\19Ðt«½\15ò\ f´DÛl%Ñ%©¸þ÷{GR±"·X\a\f\r\9a\1dßݽ{Ç~\1a¤4Â\9f\94æc\9aÌ(¯\ 6£d\84/\8f\7f½ûy\90¦\8bä\92¦\93Ë$£\8aÒÅ\18¿Ãª¤å`\91ñ2\1d'#Þ\9cL\93I\ñfw\8dÝ,cGþ,ïÎÓdJY6\v¦ãi²\88+oÚY\aÇYww
+\88@<\83Cì^.\924®¼mg]ÑØ_\eÎúÝ4cÛñ<\19³í,c[¿ò»\9d5v\17ódÞÝí¬áyÄ>N¶/W\83\177\v|¦Õ\ 6Y\9dÍ/iUødâK>|µ\13{'\r-\12Z\8aj-HX\12t·ÊH\ez¯êñG*t%Týlõa0¢\8bq\ 6óa%«µ4ü\89}§óàûb\92ájl#ò\84~ѪVõ\96D\rwtí\9dÐA¹]¼h\92\8c\82\83\8cÒ4:@Ä3vpemSI:ê\86vâA\ 2Q\0\a\e²Ò<\0°÷\ 4¤Ò½¼}»¤Zà¼ÞPp öx\97Ãåëw\7f¤O¯\19\ 2QAÂHúpBø\18ìÝ\8aO#Ðt\12b ÑS.ÊR\16}÷×oßô\9c?§ÃNå;Àæ<þzýê\e\81Â\13\ e÷\9cy¤î i-ò\8fÍ>V\82r];£\81ÇØ\1eX\9f\94nJì\17\10¿¼~õÅ\94\84Ë\1fS\aD89îCJâ\95ã\19z\f¥ºQƺòøÜ\17«j¬#Y(Ç+Ó¿ÛVë\ 4Ø7÷Ãéý³¾ß\8d*%9MN\96 ¼§"ÜØ\9d\82j} ÆÊ6\ 1\8dQîØÇ\ 22×[I÷C\94S\14Åý3\ f#Ü$ZJ\80\9a~êc(U-IÕäv\92þÚ\96z-Ê¿ù¸Sºfrù Ú(\18¬\91¢ø1x\99vX\1cSsº¨ÓC/nZ¾\ fÑbOm\87\1dl\bÀW·{¾\90{Y\17ÜTÀ£6\1e'SLÙ¶cMSû¦»\ 2fô͵2@¯Í\91ïé\90ÚH»ç°\1eʳ\1cÞÉÏ\8eò\90Hä!\0<%ï ÍÇ­Ñ ã\7fËÞ¿&«ã\98ÎÚ\8a\85'&\15}åv\b\18?\¦¶ïùß±U\ fÐ\8bSw÷9ò'4ÅÓT\94V\auaÛ½0P\10(a?`Yçæ¸w8`-0\9e\17ÅJÇT\bv\8fÝs\94\ 3±`\ féÚ\80\9e\9eJ ´A\18\9aD\ 3\fµS¹pÜ\ 4½j1>H(*Ý\ fæFÕÐ%4\1fØ\1eh_éBm\8e`¾è\aÒ\ 6Ð
+èÿ\¿3÷\E&gÐ\914þîéI§°«\9dD\87så|=\8cª\849z\ 5üªúE\9d8(H\86pNV¨\13²Éú(rÇ\9d\1c\12ÞËp/½¾
+íøó¾\1c.îø\91\ 2\82\8eö\a\fó\a\ 4\8cÞ\9f\13x\84rR%\8et\10µ\87\0a0Æ\8b\91'k© \8b­Aïz\d÷,$¤\eØ¢Ö\1d6°ð\94\1a{¢Òhûv\18\9d\ 6@\9f\11W%8\\vî~æ\ 5D\82¡yX\10®"\92\rÃ\98É\ 6êPÁ¤¯Xøøj\ f\14¡ÆqÝ\994lÉ\12\fòö\ 2x
+7\ e\ 2äÂ7\ 6·ª\97U\98¯%}],ÏùóC`p+\97\ 2¯èÖ\9d.@ý²Ô\a\e©\10AÊϨ?\82ã\90,¿\f\92¦l\85OÂq7\15\84V\8c/x"\89·      ºsm\90ï\X×\1f®èZ$\80ÇúûÛ»%\15Â\89µ@FÚºr\866
+o\8bó*Å´\9fz\lñ¤²®_½Û.cs×ø
+ñ3ÅG\12üv&-Ô\1e\e\88 ×U\85WMÌn+B\9d\8c\19­Ýw!\9fi\1cTx\16ϧx\11b\86×\900\7fËŲíÚ\8bßÃéu;6¯
+\90\ 446\ 2óäû¶ZOKt\11|vµú©\18wÂà\8bÂû\ 65b\9d`UôÅ\89é»\1frõt\8d2VhÀÀPÔ\8e_V\aL\7fôI\9eKËúÉ(\10lûdc»èdyõæ±P\10E¤*¨\12Wþl¶}K\88Ãvð\94z\8b²øñÃïÉ6!_ê\8f\9a\91ê\ 6Êpz\e2ÆZ2~V¹½Q\ fxÿàí\ 2\ e±\96Ç\88ýp8\85\93Ð-«\10¢À\8fm|ø\9b¦\f-Î"h¥\ fª\97\8b\8aoÙÊÈ\8eËÎC%\vÏíoþO\0Z¥}øgó,\99Ï.\ 3\81¦\v.ÁëÕà·Á?5¢\14\85endstream
+endobj
+1611 0 obj<</Type/Page/Parent 1476 0 R/Contents 1612 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 755 0 R>>endobj
+1612 0 obj<</Filter/FlateDecode/Length 1734      >>stream
+x\ 1\8dWÛn\e7\10}÷WL\9fì\0öêjI.P\14¹¹HQ§®­6-à\17j\97²\98ì.7$×\8aþ¾g\86\Y^;E\11ÄÐ^È9sæÌáì×£\11\rñoDó1Mf\94WGÃl\88;û?7¿\1c\8d¦³lN³ó\8blF\15\8dæçû«\92nù}\9aÎÎùïb\8e¿cüw\9aÖò`2\9faQïÁx8ÉÆ4^L³\ 5ö\eO\87Ø/^ñ~\87×üô¢÷ôñ\1a\17Ùä`-.G4\9e0\ 4\0\1d\ f³iºâ\8d\ f¯ñt:ÏÎ\ f\9e¾Y\1e\r.AÄ\88\96k\102[ÌiY\b\ fCZæ'¿ZSë\82
+[)Sӻ߯²WËÏX1M+NÈ:\8a·ºMº5Ç·ïoþ\1a\1dS°àE\95\15\1d_ýsóþõoWÇO·\18ÒÙx\ 6ÄËâ\ 4!v¶u\14´«L­JÚ\9aº°Û\8cnµ¦°ÑTëpw²¸{E\95ª©Q÷à\eñ+\vâ\v\1d\94)½à;Ør¹1\9e\1agsí=}F6^6òÚ=h\ 4²|\95²Û\9a°±m \8dz0õ=?Ë\ 1<ÄÈ\95Ê7 \82\82k} \95維\ 3ÙZv»~÷\96sBØ\11\97\18\99¬4\80é\8dª\8b\17\ 1å¶B\ 6\ 5Ý[Íx\9cmï7²S\17¦\vÐ(ï·Ö\15\94c/¤\8bL\82ÍmyÊo×´u&È\ e\96îN\1cvµÕÝ«\1e\9cïnËô\ 5¦èVU+E\89\16S#yEkSjBM\98y¯*pl\9cÎ\83u;¾»Ý\98|C¨\83¯V\ 2³\90\ 5½È[Û\96\ 5­°\ 1ÖAIgT[W©²ÜÑ\8fQ\a\9dn\ e\8a6h½\e\946Wå\0qWjÐ8ó\80J\f¼FI\82ÏB±\8a\8b;\1d\1e,\96\8aGè>U°\0Ì\82ì\96¥¼Ú\91³\16\1dä]ã'ª\¨\15rÅ3UïÈ"aG-ÈÈèCà·\98\81/z\97ô\92Úá¬Ô\ fºìå\v\84-\8a²\13a\8a\98ýÎ\a]\9dJ@\ f\81E:\82H\vÀ\80Q9½n\99\11\ 6\e\ 5ÍCÝ©ò\9cJ_D\97Ü\1dåî\14Ð}P.Ķ\895,\94®,d.úÒ1»\b'/\8d®\ 3²±(È=JØz\16z\92\7f\87ü\87Èì\ 5\1c/zÂÙd\1aÛó"\e£\15E(¼ù'iNOã!\9có\9d8\84\7f^\959\8c\10\rqÅÄ6Ú6 \19\r¦\91ë\17TÃé{å
+i7\16Yàv³ë\18ä\189¬LÉd\ 2q\834Mn\1a~\ 3ÐÕKá;\9aº.\8cX'°EÔP*̺ÎQ|&ºÒÕ
+uN\9aGÔÞ\9e\89\17Ûh§\ 2CDØÊ|\ 3j4M\8d[È¢²Å¾8]Ô¥d¢\e\ ei9Ó¦Am\99t\b\8b>.§R\9a\ 4÷àòEÊ'\19}Ú áX\84ø³Ò\ 1î\88ßÜx\9dÖ~JIüü]ú߶Ρö,\99^¹9«$\1c\98Q}\1chíà¶\90.~Øê¹\eJ_Ò\9fµù&-"rrº\81\12\11\80;¥×\11ÜG "\ 4qPñÕØ\17\19I¿VZ\893+´Ûº\83È+û\87\v\8e »; ,\9e¦z\92\ 2°\19ÚØ\r½<{¨bʱöb¦8Bj­\8bÔ\1dÐB/O¦¥àÍ\ fs\ 5\\ 1     \ eÙ"\84\14î×Øó)7#]qp8àäÙ\917\95)Uw\ 4\91-\v$Û¡J\1eÂêz^åSX¯\ 6Üør4Xv\v\1f$½lU\vx5ú\aªÅ\99åô×\16ÆÁÙ<jþã²k\85\94\8dgËߪdK\9d^/ÎYþû«EZÔ\v(¨ºvì\8e÷ëR+¯\11
+\96£\977ZÁGÐÞh31MSãPª"P`\85!\8a\81
+Ø6Àf8\8dè\96ÞÜ×ôçÇ\ f\7fSkP9q<þ\11l\ fN\a\179F£JÒ\95\15 ­ñ©V93Îfñ\80aB\1c\ 3d\14ìó¶©Xß+\9c°ù\ 62³5\e\b\1e.ÀÏN{AW\98%¶¦,ùô«`\ 4I=\91\84ý>ÞÚºO\14;\88*\1eT\1d\ 1SQËñÀy\14\84xB\82Ы0£\16G~a\rk\ 5`pÈ\88j{¨\ f6ÂK7×oeô¨uÉF¡¿Á=ÙÌØâ:yÀ\8bø8\85³u\ 2\8a\9a,,\99ð¤¿;yóìÕo\8aZμ'\1e\9f:8\8e\N\97¢   ¿1pÖïaÙcðÈ\ fó\90Étv*f\96\ 3¡*\8aØ5½\9c£\rð®Ò\11°2L¡9æ\9d8ö²JäÌâ´\ føáVJdâ\97¸¥\82º\9f.Æl(Ò­{1»  /ÅÀk}\15|\10À\86;\16-\8fá\94w\18\\9eïGïgþ\1f_èf¢\13\82ná4\91õ8\16ðĺ\1fó68\ 6\91ð\17­\eÜÌm]cºã¤päA\1aÒ }Ô\aF\82\131\12'm\8b½J\8b[¼'\v"Å+\95Ǽ\16M\9eKP8þ\90`"\ fâu\9cqW\ 1É\95É\9dõv\1dzÁ÷Å\95\15¬\17
+c ®\ 5\e\1fâûÎ}\f\0\0\9fþ\9b¿X\85\1e\7f§´±[æP\ e\88\17\95Ó\r[)V"\8dPÍÁ\e\14^L\82\ 3vеà\19\9f#
+µa½=R\1a?5øD\89ã"hbÆlÃ\84õÈxÌ\8eѵ\18#1ôáHåA\855÷ø|/Éøq4¸\$\ 5\8dføp]Lh6\eâ\93\14CÚíë«7¯éÚÙÏ\10\ 2\9c2oÙפí8úY·àl>¼à÷ÿç@8\9dO³ùl\81ÏK¬\99\ry«÷Ë£?\8eþ\ 5`\91öËendstream
+endobj
+1613 0 obj<</Type/Page/Parent 1476 0 R/Contents 1614 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 760 0 R>>endobj
+1614 0 obj<</Filter/FlateDecode/Length 460       >>stream
+x\ 1]RËnÛ0\10¼ë+æè\ 21­W)¹7§N\8a\0\8d\9bÖ\ 2|¦%Êf \92®\1eMÚ¯ï®-\e\80Ð>fgvÈßA\84\90¾\bY\8cD¢´A(BÊÜ\8e\82DJ\11B&\89\88a\91Æ\89\88ƨÁ\96û!c>-âL|\1e\ 3.MBÂ%"\9bÔ&¡E\1e\89å¤6   -¢(\15rR¼/\82ÅcJi\145)\97y\86¢:\v\ eQ\94³\95«P\e§\9aæï\1d\ew\80\8f\1a\9d²\1aV9§[¨\ eÊaS Óí\1f\8e\aêp½)Õ\19Ñ{(¼¬¿Âjå:B«\9e!'Õöð5OûT¼\ 6\11\9bRT³)Þ;´úÄü̺Uv¯®4\aÝó4\8d\81xa*¦¬Ï¤\ 42®ö­%\ 1ôß\rå\91\19o½Û§õe^c:Öð\81\9f69´~8M\10{Ýxw \84¿\83îKÁ\88Å£¼97\8f¥HYûæGñðåR½ú:Ã3\v¸¬\8a^¿\8fk\9b\ e\95/\aKºñFòjÓ\92\9aÓ°'UG]]\9dÞé=\19}Pÿ\8cÓønÜð¾ómS]\17"\17MÙ|´píù®xáÍÓvA\v\9d\9d\eeç£ìHf"Ì\13ä9+ß®\9eïWxiý«.{¬Geg\ay\9fùµ{\9e\85Kî_\8aX\8c\17¢è\9dì\8c«ü[\878¤'¿öV\19×1.ÍR\91É\9c^\17adÄ©\87\19ü\aþ§è\95endstream
+endobj
+1615 0 obj<</Type/Page/Parent 1476 0 R/Contents 1616 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1616 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\11È\14×\10®@.\00B)¢endstream
+endobj
+1617 0 obj<</Type/Page/Parent 1476 0 R/Contents 1618 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 805 0 R>>endobj
+1618 0 obj<</Filter/FlateDecode/Length 2872      >>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`°ö\94°^ÖÞaÁbÛ®0\99\9c=\93\15\f»sî\91ÀúT ívlÍ)Ä"¬¼¨`ï\14\14\a\16N\ e\18l² âÀ
+¦ËÜ\8dÂ
+\86SXW\bw\94õNá\16`'À\9cÿÆ\86,\1eÁ4Ë\13^XÁ`í\ 5WXÁ`ñ>\ 1§\82fÁ¬\10û8°\8aÁÂYµ«\18,îJ\bhÔ¬\18ã\8e7\ 6Ô~d}¸h&;=|x\86\81õá\ 5\18n`}¸\83¬\ f\82ÇpG¶\ f·\97\8dñ2µFJè#½RÌpy\81\13V0ÂÅ¥\13}2ÊÚw\98\18?ÙéX,H£\ 1ê\15\88ÉäÜ\aN Bµ{h \15\83Å\e\eò?ªU\f\16Í\aw\ 3+\98\89\98º¤\18¬½      \a\fu=±ë+\8b÷\1e;ñø^\18\e`¨öñÇC¸\84ª#¿#©\18¬\9f¥\91\11\8e\1f\eZܽÖèe"k\18Á>ÖTX/ºì?yð-?2@IûÐå!\ 4S&)\90\8aÁÚ\19,¬`$i\1eÑ¥Q12½BMü\97\a\+\93\1eШÀ\ 3¾\8d¡âþAã\ 2\84I¬ïHHÅt\88ï\16AT1X«°°\82á.zið\8ff\15\83Å\88©S\8aÁâv\83\1cZl&+\18,ì¨WÞIL¥-y¤\ 5\990DQ\7fñ\8d\92ás\ 6ï"\1e\19k9´QB\9e8<\91\ 1r\ 215\9c6áÌ\83yÿ­Âî\ 4\91!\13$i÷Lä\b\1fÇ"\ f\827¸m\98«)oÿ\ 6\8c\v\10rvç\ e\9c\1d\1caï}hÜÌ\19\0Y\136Ià\ 2¤N¾î\a.@ä\14\8b$  \9c@p\19{$È\99/öå\a:±oññ\8f×\ fïË\bÁ¡Ù#á\ 2¤\9f\8c\ 5\b{\985|n\1ct
\9fÜA\81\v\10\1c\1a\1d_\f\a9_ù´\7fãÁ[8ßà\918ïç\bá\väø\86>p\ 1\82Ã'\12~\17\18¸\0é§}\10\198\81àp\1añ½¾\97\13\b\ e#ÌÏ#\ 3\17 8\1c\1füJ1p\ 1b\ fÂ\9eúâ/(ýë\11\1a\1c«\8eÀÇ7BÆ\97¢ß\ 2\17 8\ä±?G¹\0\19\9f]>\ 6îÝÝÕ\9b\8f\§îî\ 1\7f\15È\96+w·µ?\ 6à7\9bW\9fª®©·§MWÖÕ_ïþ\83g1Á\91\7fö5\fÄxúÕm~¸ÏÝ.o][|/\9a\1e\8a¼;5Eëº]Þ¹çúä\ eåã®sOyÕ¹ºéQU÷¿éjwj\8b\99»Û\15n³Ë\8f]Ñ´®¬ ]¶î\987\9d+òÍÎmjh§\17s÷ÚN$Ø®«ÂµÇbS>\94\9bÁìÌ{º\14Oy\18ãé»ü~_¸úÁ½¯«®¨ºÖ?\89\9d5Ä4èE·:\ 4_<6yWV\8fîË­ûZVÛú©uUÑ=ÕÍ·Ö=\95ÝÎYðT\83¿¥\8c^A:\9a¹·\8fEµÍÏ\1c\ 6\15ÏÜu~(ܯE[ïOL-\83ÍÝ\11)s¿Uå\8f7\9fËêôÃÁÊ~{A5.[3ç=Çj3Ï_½)ºÍ\9b]ÝþqH¸Û_\96D­êý÷Ù¦®\1e¼âË)ÁEî²<-ÿ      éô²tÕ¶ÈåfwAÃ보¾åÎ\1cö¹Cß¡{¶V\ eäñe¥P¿\v
\1dw]tï>ýrëõ¾G£\15|Zz\f%Ã!â\1fþüåç_nïnÝC¹¿ø\18ü\9b>ðú\\11rðáúÖ}®ëo§ã%K\8b\99ûúiòÄy\12 âçúÉÝ7hG6çé²      m]^mÝ\ e\14&j[\1c÷õ³k;ëy\12ø\r\e\92#0\8a\9eLÁØÄSgá\89d³-6§¦ì\9e]}dÏN\8c±qÊGö¯_\ 6\ f\18ò¶(\ eû¢å$÷säwÈYEq\fÍÜom¡¦®ï\1cª\9ac(NÝ\ esZn0\85\18\93¶hú\15p\96V|\14\80¯ù·Á~î\ eÅá¾h8ëP#Q@õ\18ȶ>ä¥íµó¸QF¬\88IHÿÏ¡³°2Ó°Ù#ÁÈ\15ë<­"\83¾þôOwS4\87²åCî]Ùù¤\ e\9b\ 6¾¾Ýl\98B޻Ïe?á\13køSÂÌý£,\9eØ\f¬4\96hõH`&\8e£       N
+\7f\8d¤ºI"Ê|_?\9a\97\9a  Üh|§¡\9d¾C½u}H\1f\Îûz·»¼y1\ f¸½\ 6·80®~ª°Úw¥õý¤\84ø\80|þlã¶eSlººyv\12Â\8bQ¦(âÿH\ 3!\9b\17\82Á\81\89Ù\eu\9e={^\1e6\7f½-\1f\9emÂÌû?ðè,\18T\9f§G\93Û\ú\93\82IÇ4b\ 2\9bm\9f¶M\83\83²p\87¼ýÆs\ e\87\ 2\8f¾ó¥\80ËÑ\9fSg9λ®)ïO¦öx\84ó/{\ fi\18º\9bÁݼýâ8°[4\97\17Ý:(p\eL\1eNóý3\1c¬òG¬Øé8¾¨\84\1dL~\ 1°\v¡÷<\14;\80>\88\9d·\93\ 1\7fù8:\88î\rîú5\80\1eîÇÓbZ9n`\9cF\f,w_ÊMS·õC\87º\87à¬Un\9fÛ®8¸®)Ð\97Õï\9cãvH|ª êï@V\9bÉìñ       tßuÝ\15F¾ÆÿV\11î\ 1\9b\ 6û\8fÞÜ\9e\8eǺé^dͺ\17Ý2¹hé\18ZßN2pA\87åþ=û\89¶þu¤Õ¿üû<¡T\85êß\16\9d=ö¡)±O[«þO?\90!k\a\8a^hCÊ"¹}\18Hî>o\1e\vW\9d\86Ek6\7fG\10\89x»ÝRý5ö\88å\84\86¿\97¹-#Ýx7_/y\8dq\94Îò.º\eäÓ²þæ#^äì&dù·¿)á¾w\9eÕ\14o$Ël\85\8b.È,¡\9d\9fî®þ~õ?î\91
+>endstream
+endobj
+1619 0 obj<</Type/Page/Parent 1476 0 R/Contents 1620 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 857 0 R>>endobj
+1620 0 obj<</Filter/FlateDecode/Length 2545      >>stream
+x\ 1\85YÛrÛÈ\15|×WÌc¶*Ââ\ eò)%K±£de+\12]Î+DB\12vI\80\v\80RåïÓ}\ e\809¤¸\9br\95­vϹ_fHý~\11¹\10\7f"WÄ.ÉÝzw\11\ 6!þgþëáËE¶\bB\97/rü½sE\11Ä#غÇ\v\ 3w.\8a\8a 1¤Å`³8H-\eÆTUÄÁ\ 2z£x1#*¶\18l² f9+¬Á`\17   t\18V5gË §æ4\r"\97\v\12Y\83Á\16\v\9c2¬Á;\17GaP\18Öb°Yv,«vÓ\1cqBs\1c\ 5\99Ë\ 5iD\1e\83Í=\12Ö`°Ë\88\11yYÕ\9c$ÈѬY\90Ñ<±EÆzyÖ`ø\1c¦ôyfµ¸1
+NÅaÆ\12  \12Åj6̵D9Oå\82<\9b-\13Ms\96\ 4K§HX\83¡yÁ¾1¬Áp*       \8feÅn¶\bÇD²5\14\1eCs\9eÁ;Ã\1a\f¶`\13\18Ö`zŦ6¬Á,>\13iXõ*g$\90MXüL\90xe0Øt\89\865¬Á´{Â\1aÌ\12±%½¬ÅÌU\8c\964¬Á`áÏ\91]õ9Kµ¾¨,j$H3é1}æ \18Ö`°Yq,k0#ZÐ+¯Yí¦¡v\8eÚ\15dìN¬Úñ¬ÁÐ\8c\8aÁgÏ\1aÌ\1aq@\r«vãB{2f³g\82Ô®ÇÔ\9c0^Ï\1aÌ*\14ÔìYÕ\1c¥Ú\93é\ 2ÿf\82D³ÁÌFÁ\9eô¬Ê\86Ñ8¾\19ûY\90zå1½¢\ 5Ãr·¥H/\a\14\99        G@I\ 3w\ eK05\9c\81P\8a]d\ 5eêSX\92Õ\8b>\87       AÔª$ö\11·'\f'.\15@\ e0\1eáÎ-\99\ 3Ï\19H\8bâ÷,h1X\8cCdD-\ 6\8bq\80C^Ö`\96\9cÅõ¬º+ù\1f¯§T\0Ý\95ëI!Ô¢¢\19RH¯IZ\f\16ó\8bH=k0Ø|ÉÀgV\8dâ\bW\81æH\80ÏÑÈE\11×c:\93\16CmÆ\95jX\83g£^V\9d\185Dz\88\8d¬4Y\1aÇÒ)Q"\ e\v\92`\r\86f$\ 6¥ó¬Ál}ÞÌ\9eÕ`±\95Ø-¨2<\16\ 6B-:\1e\823i±\ 6\8bTx\16ÁN\98ÁF\98\1a\fv\19²:^Ö`¶D~ÄZ\f6I\8f4[\f\16\ f\ 3´â¬Y\82M\96\î0\8bÛ2r\8a´e<f@¼Ã\rk°º¼´,\\9e0]æ\98{Y\8bé2\93aX\83ÁbT-«./ø¼\82Ù\98·u"H\6\18,\1eN\bȳ\ 6\83Í9\e\865\98\ 1ñ>4¬Á\f(?ÑL7¤c±·\96L\94\0úd ¦\87;Ùs\ 62\18.5OZLwó#µ\16\83E\90\85\955\18î¢Ç\11Ìì\92ÅÌ?\9f\1e\865\18,®¾#Y\83Á.\8fY­N¦Ïg\19\97D\0\13¡\:>\81e\ f'\82<\19ë+\16i\81I\ 1ä\fd\96\8eI\8b\99¥\8cÝ2\8bF2Ý        Ê%í\82áH\9c"*\8e\f\86,\1cDáä¬w)ÔgèBº_\80¸ä!]âõ\91̤ÅTË^5¬¸\14c@ä\15\9aòöT$.\19\fY\l\99e\rfáXt/k1\vÇW\8ag5\15q1¾oÕ\8e cwbñÁ Äèñ¬°\ 6C3\1a\15^ͬÅ`ó\18%ðìh7\1f_Îh.x%H4\e\8cxå=kX\83Á¢Ù ÙËj&±Y¥¸ø7FÔD¢Ù`x\85\8b\14y\9eY\8b5W©aG\9f\93ñõ\8b­\ 2V\90h6\18^¥\\9f\865\18,.\9bȲ\ 63"ö\91\915\18\1d\88*x»\1a¯\f\0dQ}È
+ÒLzL»\1e\91\95áã\ 3R\1fAbV\90\88F\1e\94ȳ\ 6Óe> T\93È\8aS,\8dÜ!ò±I\91a1ÁR"\943CS\13\19\18\9f\8a\b4\85ãDÂ\1aÌ\80B$Ò°\ 6\83\95\ f\15\9e\95p9Ð2c\be)ã\1d\8ab%ñ\9eÔ\\b)H­â¿#\A\f\a'\8b\11\903\10&\11\95\93S0\13\ 6\8b§\90\15µ\18,z\ 4Á̲êQÄ\vI\15Ã]A\93â      S1\9f\1d\865\18¬|Pñ¬*Æ']ù\14\a\8f¡H\90Q<±x4%\965\98\8aù~1²\ 6\83Åu\83xfÍbv©\8f\ 2¹\93\9fiÓ#Há#\7fè)\11¢\91ª\88«\ 2¼§\13\87­\9d:Ïy\b\95Ò\15\9e\93æD×IoÆì\\ 1¢ÓCºÂJ{ÎCêL\8f8\ f1¢x\97òû\16\18 N\ 39¾|Ù{ÎCpPÂob&9\ fÁ!\99FNÒ"w\bÞ£\11J$?K.g\ 4'\91{~¾Cf4a3\ 4\87^4b\ 6\bÁy9\ f\198+8sâ\88¼¬GGäçÙ\91\91QGfÊ@(DÓàbçc]\9cô\10\1c\9eÀ¸\9bgÎCrò¤òÜ\f\99en«YN\9cÄ~æÜK¶äçÙÉ\91Q¯fÊÀÉIÏ\89\93\93\9cxå9\ f''\rG'G9~»\82[\80\95\8b\9f?c\9a"·zÆÃ\vß\13\16\91/"C·Zÿ\ 5#\9d\ 4nõZ¹Ûݾ«\9b¡w«¶ÝöÕðÓê×\v\b\¢¢1Dôd\14¸\1f¯åàê~>ÿ7\1e¼\fO\ eÆ\81»îªr¨\9b\17wO½Uçnºú\rÿÜ\97ëßÊ\97ª§Ü©Ø©/}ÕAäÜÉtôºé\87\85¡¶q×ÛºjÄñË\13Ïqú¦._\9a¶¯Åî\a\1a\81Ý6C×n\ ekªúh\11«\10:ª§ÃË\vc\92\!\98}×>m«Ý\99`$±\92¬ñlï6­»u¯å[u.gØ4\81\ 6IÙa¯\16ÖåÞ\95ÍF\81Ól\9cµ\95\ 5î\9fí\13N4Ã_]Óºö0ì\ f\9a\8aã\1cc\19Ø£ýÐ\95ÍKeÎ\9f\1e/\ 2÷P¾»û¶\1f\1e×]½\1fÆØ7çr´\bÜÕæ­lÖÕFË\8e\\9d\84ҪܺÍ\94P\1eºÄ\97å¾Ý\10Ñõ÷ûÇY\8d{<ì÷m÷±/Ñï\7f^<\I£®K÷põC5¢ç»öðòêîÚM%ÖmàøÎBûK\ø\oٿׯeÝ|È>¾Úµ\9e\8e]ÞKÙnª·z­\9d~Ôq\94\81Ó\9f\ fÝð*M\84\ 1aWõCµ\17\ 3Çý\8b§Là~©wµ\1c\82\88k\ e»'\b¶ÏnÏQr\a´FïÖe£Å9M9\96¿-\fJÙk)e4iù¹kwîîÑý¨\9bMû~&H´ÁÕah/oªm%Ã\ 6Û\92\9c~\8f\9eë­Æyì9Ì~oêç\1aíðKûÒ6½{ª\86÷ªj&CîëJ2õýëí\7f\10\ 5]\81\v\821\1c%\r×\1f|xbÇ®?vvÎ"ÿÙ\bã«\8cqy\8d\ 6Ð\aí[½9S\1e\1e\85­UÙ½T\83ûÞ\9f\8f\feÿGû>¹ë~´Ýo\92·\13§¥Òwõºkûöy@ÛïÚ¡¢mÌÈ¡«Ü5Ö\97ÖÜ6 >\ 60 /w\85½ôVa\8buÕzh»ÿbUtss\9dJ"Ò¯å®\9aθÇ÷zX¿\9ev\ 5\88û-vZ\89\ 2¿b\81Ôk]§\98\8cÃXÕS\ 3èG¤¥\93Ò}Á\1cíÝí\8d»Ún[\15=g   ­ðPõ\87í\80\88ׯã^8í\16è½µ\e\9d»ïºm\9eë\97C'N\9dé\8aÿ;ÿø6\83¹|¨~? {;Dø¡¿y\84\13_õ2b+ú×»oã\ 6=©("\91a\14\87Ψ¨Àçõ\16í¬7Éq\94 y׶o\18\8a§\ eÃƦ¯\e×\97»§òC|øL\17¸o¸\ 4ßêê\9d\ 3?\89\9cæ\18\1f \ 3÷iÒ×ë²<Òk\8b\88_g òzy¹®êÛíáܽ\87\8fIFiÉ&î]\7fxj*ÍáQfx\18Îr(6-\96\92==»íÞ1'N/À\13i\14ßÜ\7f¥ûqûõq¼ó>\ 6\8b"\98ÃsÜÈ#\ 4¿=üëË÷ï÷\1fÅ\90ü?\14»ùvwuû\952?\7fÆ\a3y2ñ\83S¸ào_å\11ôxu÷é\8a\15SènÚõ\81í4wæe\84ß\13ñøe\11.ùh:]Hüm@\91/ð«a\90yJ[\7f_]üûâ\7fu»×Ïendstream
+endobj
+1621 0 obj<</Type/Page/Parent 1476 0 R/Contents 1622 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 901 0 R>>endobj
+1622 0 obj<</Filter/FlateDecode/Length 1756      >>stream
+x\ 1}XÉrÛF\10½ó+æ\90ª$\a\97\96#ÇUñ\12\93\8es\85\0HBL\12\f\0jÉ×ç½\1e\10Ó$\15\97«Tõøºßô6=¤ÿY\ 4ÆÇ¿Àd¡\89RSm\16¾çã\93ùÏç·\8b$÷|\93æ)þnL\91\ 4Öf¹Ppc\820ó2Ej\f6*f\1dºj\f6  ½@û*\f6ͽH³
+oLè\aGÊ6à,ôr\ 6\1c{±I\ 5\ e\ 46\8eÔ\18l\1cRvvÕ\18l\96\1dû*\8c\90\ 2ßK\94o\1a\11&\85\97"¤<£®\0\86¤ d\83\98²3©1Ø4\80\82b\15f\1d¤þ³¯=4NQ\0¸ú\12\82 )¿Â`ã\82­slÄ(¢\bÍÞ\18\b¢ø\ 2è© r\91ÒÏ\9c\82\10\r}Ö~&m_ð!\a)\b¤ö\82$\1e\85ÁF    käX\85Á\16\19Ë0³VØO\113\1a^pB\ 5PWAÊæLs&\ 3?\84qRDÒ\17Îk:!["asfA_ê'\82\14\9bfR£ ¦U"\88¬\84\94$±ä\9a±¸\16\90S\10²A\81Áw¤Æ`SN±b\15\v\8c\95bm:\b\85\85\bÐ(\84$H\ 5,I2\1dö!\11$,;\9e\98k\9c°,\ 2È)\88\8e§<sæ\14\84hÈ{êÈ@Dq=9F2\\89\0\11å\Z\bG?\99\91\8dÕaÆÊ°\9c«\147ι\97\80±±\88®\96Ìx\8d\10,\v\14\v § \83\8dÑnGZG¹Qp\8c(*@\1c\1dd°!\1dgÒ:Æ9<àè£\ 2±\0qtÐ:ú\8a´\8e\18m\96\aû£0±\0:*HÇ\80á̤u\f¹\9f\ e¡
+p¡N\1co}hâ\99´\8e~n\8bÃ\83c\ 1âè OL0\96\8e\14ǨHä¢äÜÕ\16\88£\83p\fÒ#Ò:ÂC\8a#\96\ 2\9cãÄÙM\17ͤl¯(åmÆ¥\8e(*\80\8e
+âDôÑW¤\f]\94Ø÷*aÄ\16ÐQA\14.£¨\18J4\ eR\94\91\1a\83\8d¹Â\1dk\93Ä{!÷\ eÍ\82® ê²y\a\83\88fÖº\86öe\98L\ 5\ 3\ed\98­È±
+3â\ 4³®XY\ 6\11Ú!Û+\8c0^\16\89²ÂÌ\87£¤X\85Á¢î¹f­²\8c\16ØD\94\ 5\89²Â`\v^\80ȱâ\eâS¹»)¯ E6_V=Ìì&çûQLÈÆì0cö±U­-Y)d\88©á\13k\vi\91\15f\ ff\16éE\13\12\96k*Lì\9e\97\11±@d9@\a\ e+\a~bè\8e\8c¦\17@\1e°P\90#e6eÔ|\13
+ 'O¾\85\8c5gl3©1X<;\89f\15\ 6\9bÇG¬-\ 2¾|Èòã\90ò\9bHnÜ¡\13ÇM\8dÚΤÆ\90E\a4+²öÕ\9dr±`\96=pX\10Ñô<\93S\90\99°êÎÑ\8a"\ 1Ù\f\8c\95ÙÄ.V\vqùEtæ\14\84hÈÇÅ9j\fVö°b\15f\96\9czÇÚ\802ûZ\ 5x[A
+b*\1aS8Àð)\96\13\14\88\80Ä[L\80\9eV6\9e\1e$îª@\80\14ÏA\88Ê\96w¤Æ<\92\8dT¬Â`SÞ(Å*Ì/
\9f\8eµ!Eü2\89py\8f\ 2\ 1Ò3\a\19R\81Ap¤Æ\f\89O¯c%\ 44$Çs,³\87\90úÆÜ.^¯\16\97×)Þ\ 6³ºåï\8c4Ï̪\96\9f\19¾YU?a\91å\9e¹îúªÝÞ\99¡ÜÜ\94fìÌMcÆûÆlÊalú\9fW\7f/|s\81í\1eÂ\97.\85\97ß\94\alënS¶ÛÿuÁ¼\9b\ fÝØ\98ò¦Û\8fæ¦ïʺ\82¼)ëºo\86¡\19xÌÅñ9A\80\83öë±Ý­\eÓn\11ËmYM\96\85\84\1c\96cY}+o`øçõÒlºz¿¶\96'\86\90\1d{ðÕØv[SnkSuÛÛönß\97üä4ÝÜ\véR­÷uS\7fG\18/¬gÊ}Ý\8e/)@£oªçjݼÄF\9eÙ6c9\96ëoR\86\93\98A«¤LùP¶kIµY\ fÍã}Ó\8bè\99\13ây\ 3Í\9brh®\97çÇ¢\9f\9ey\18ªRR¾À\ fQWPtømßíwèçnÇFÿöñëêã\89\ 6^  ³\94\91Ù¡3]¿)·\15ú4\fûóÊÃ\16á\u\9b]Ù·C·\95v«n\83G4Ë®úÖ\8c¦Û±\11/\98 \10\9f\9b²6Cûïi\1d!\10s,\9fÌÓæ¬\ 5 \13ÏüÞÝ\99uóЬÏóH'á¾|<'3Ï|í[Ìî\8b,goÝ=\9a«uÛlÇ\17\82F-Å\0Ç·/%Å«a\9d͸ߢØ\8càBw\137Û\õ\rÆ\13\9d°}ùÔwë¶z6×í\vc\ e{x|m·u÷8\98\1f\8b§Ó\9c°i\1dÿaeb\1a\9c\9c(ó¼lëÆÜ\94½Ü]ÉM_Q>\ 1Tz\8fKT\8e]ÿlv}w{\88Hw\97\86hÞ¦{höCÓ{Í\93ôïL\f-|\8b\ 1X¾{óR\11 pH*ô}ÿò¯OçV\9c¢¦Ú÷,\95\fçYj\92\98Þ\ 1´ÐÁJN_\ 6*ÜwXQ¼@5S\e\eÙ\19çö\bÌÚÏKê»æÈÒ\9a\97æ¶í\9bÇr}6\92!\aö`ôîÓÕ\ ff¸/±Òëfû|~>Æ÷Ëî®/룬\8fg\881nÛª«\9bË+H\r\8d\9dÕ£®ã±B\89ïK¬e\9cUMf²#1\99ôýåôpÙ"v\vÈ*UÒ\97×x6ååáKåçø\81\8a¯71\1f\91å«÷¯_\19\fñß(©yÓUû\r.ϼ\7f/\ 2ü\9e§ÃEæ\17´?m\17\7f<fi\8eÿA\ 3\99&\fê×Õâ\8fÅ\7f¦ý]êendstream
+endobj
+1623 0 obj<</Type/Page/Parent 1476 0 R/Contents 1624 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1624 0 obj<</Filter/FlateDecode/Length 1286      >>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Ó=ód¾Û^ýzõ\rf\ 3}\1cendstream
+endobj
+1625 0 obj<</Type/Page/Parent 1476 0 R/Contents 1626 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1626 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\97+~ôÇæêï«\7f\ 1\18/¹Aendstream
+endobj
+1627 0 obj<</Type/Page/Parent 1476 0 R/Contents 1628 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1628 0 obj<</Filter/FlateDecode/Length 1607      >>stream
+x\ 1\9dW]o\e7\10|÷¯X(\ fuP[_v%%H\vØi\9c\1a\8dl7R\90\17\ 3\ 5uGI\8c\85äYÖ¿ï,y\94äkÔ6µaXº#wggwgɯG=êâ·GÃ>\9d\r([\1duÛ]:ëuÛ}:\1f\rñ¹\8f?+i~t9=ê\ué\15MçØ1\18áCNXÝíÒ4;¦úç\ 5Ý\88\95¤\89´\8f*ÃÿµòÙ\922£çjQYá\95Ñ4W\85l¿\9c~9êÒ)<\8d`h·¿~Þïµ\aûÏKáÜ:\7f\9dÜÀâª\14þ\90\11º(¼´\1aî\1e%Ií­\92\8eæÆR0clN¢òK¼PY\84$¬|}ÐØsßÑs\bÂ\91V\8e\8a\\94´Vz¦t~À\86[\8aܬÿ#ú\855U¹[û<Ô&/Kã¼Û[ÌÜFX¹v\aм8H\ f[#Í    ´Ò\99¢
+éúGn\9eû\8fÞá9\10\ 3r~¤%\f©\9còY\1dÇ\96®Cè´ôkc\1f¶A1Å[»uDM\16$\92i·;(x\ f{\ e0PZãMf\8a´eëãÀz[f{\1cÿ»}\17Ë?\99\7f\8e§suN½^l£Ó~¨òÛ9Ø©¬\93'$\ 5úÅÌ \119I+\99-\ 5Э\1c2òµRH\vÞ\bϯI\94\88£´Jxô§ÈT¡<×¹Ðy\a¥\9e0\10ò\aëÖÊÌ\17\9b\14à\19\1a\1cm\97\1aSæ©!û\83ö9¿¹öä\96¦*r\9aIÒÆË<:®4
+\fN¨ÎSÀ%\9dï¬ðX,\0¹B\ra\8fC{\9dÐôí]çú.-Æ>\80q¨Qíۨ¢\ 1§^\8d\16[UºîMìq®\82uøD°:S¥(\98!WJñ ô\82\8c.6´F;ÃMÆ(ì¦\19ÍÄ\vëy-ôhI\8f(\16\16¢~\9bÕÍ\89ÕLÐR8ú tõD®*Kc}Ð\vùä¥æµ Ý\ 4ÒCwÔÜ\92\8bò¦ôÜ
+çm\95ùÊÊFL\8e÷!cE0\9e\15
+±;à(
+fIÌ
+ɦÍÌ\v¥÷Û\ e\11\8e\19¢bÖ\8en¤¿¼¾\9d\84æ\fX@êE\9e£\1e\9ctm\9a\9a\86×\ 5[óKî\9dJgÜÇ\ 2屡I\bVK\99\a+@Àz\86\84ä\91\9aý\9a\12v\ 1Þ\19m\1dûJ<\84õ+\94\18Ý\1f«¨\99\9d«\9fvõÜ«\v+,ÕÐlÖÿN¡føü'DÒµ]\80ºk\82ãû\97À\8frF,U\11\92\84å\16IL\ 5\88Z×Ì\15v{Q0Ô\10\9b$\8e\99gRì¦cv\13\1f¥\ 6\1c-\93y\ 3c\8c\19\96\1a\18S\vsÁBõ03PB;jD\9esÙÇÄ·¢Ôµ8\91\8c%TC\13\81ôY'EÝææjâaUBås\ 3#7¥QÚ\93Úα\9a¼T\1c¥qNÕ\ 5Rrõ
+½Ù/\8a\15´\82ÁÌ6°ñîHÒs®Õ\13B\ 1\16\867#\8f\\88é­Ú*ðÖ-@ŸX\81Ã\1câè×K\ 5M\9a\19t\ eËNì\97d¥¦õ\9b°$û\r­Ø¹zE½a­ygçQb0ûÏÚñ¼°?n\1cU®.G Ùõ@\9d¹~7î®õ\a´<ç\18\87\8aþ0\1e\1ev{\93\01\89Ì»\95\vÜ\88\99©¢\9c\86Î\ eò\9bbÃÊ\ 5N\10\9aë\13\9fÃ\ 2ü\7fÐf­éQXe*÷7I½?fJ S\10\rå \1fPÝû\97\91}I-n·*\14\1a\92Ó:¡VrÆÖùû.®à°~4S&\ 2àï\93ñeMFj·°9(*Á6¦ÅJ\8a\98Id\v\ 2\83¼ÖÚÇ\19\94O\99,Ãl\87È°Ã\9dõ:Ù\19vC
+ «¢`\ 1Ûi_Ãq\9cT´«\17L\1ev\91\9b\15+\10ã\8aÝ\1daµ¶\v[¡![q\1d¾`.X\89îÞÐ\17\1e \ 2SbÅþÙBÃgÐðX\94ì*\11\88Ì`R\98\8cça\1e¹x®\9aìC>       \1e\83ÔÃaw\89¦Ï\80Ëq7c$-ü2bí\rü²ás»\98Ë\aÕ\8a\ 1ÏN0%ñ=Ô+8r\10\1aH:\ 6\12÷$¦ò£(*f\1f]\a\1d\ f\15çÒ`\86ÇGYà9Î¥«ú`\1cÉk¸Þ\ f¢¶Å\10\16\\¨cDº\9d\ e\89
+&\8d\81\81\1e+a\9f¹Mëã\ãSF\9ab~SF\90\rÇ0\80\ 3Æ£b\11\84Ä0×q|uBø¶9d§X07Ea ©\90\ex\85e\ 4]lñ1®°\99ï\ 6ÁmÄ\15/\ 6.\1cÁ÷.\19§ýZ)Ò±ÿ\93V_Ahbä\ 6æâ¦oÜ$Ò\9eñÅÛß®oÞÝ\\8cß½év\7f¡\9fÃå\ 4J?©ï(\9cÐJkÆ\8c3ÁÞòDGã\8aòMÃglø½ÔÒª\8cƵ.3>ÌÉ\ 4\97£¿\7fù\1d\ 1î\a¡ÇhG\86\vÔ)iÿ\17õçÛ\8f¿¿ÿxûéîMoÆ\98\7f\8d\8d:Æù\ 5Ö/-\ e\eÒÖ\18\9bÇì÷|3      \82\9dR5ªgoo\80»âè\8c\ 6ÃQTçÉÅøò\82î¬ù\82ñ\v'Y8I\842gã§iÃé°Ë\17Éãï\9c\ 5{zÎæÎ\87çíá`\84{)L\rFüèÝôè\8f£¿\0\90Tendstream
+endobj
+1629 0 obj<</Type/Page/Parent 1476 0 R/Contents 1630 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1630 0 obj<</Filter/FlateDecode/Length 2027      >>stream
+x\ 1\95XÛrÛ8\12}÷WtùÉ\99\8adÉòÊÎÔìTÙ\893«ZßÆR*û\90\17\88\ 4EÄ$Á\0 dýý\9eÆE\92éªÌLbË*
+@w\9f>}º¡\1fGc\1aáÿ\98.Îh2¥¬>\1a\rGt6¹Àëù%¿\9eá×H*ü\a\93Éð¼ÿüzqtúyD\1fhQà¤é%Þä\84SF#Zd'Ôû÷õáé¿\7f<=|yüm4ù\9dþM\7fÈF\1a\95ѽ¨%ì¬\94uÒÈ\9c\96[\12UEµ¬\97ÒXÒ\ 5ív¾[|?\1aÑ`<\1a^ÂÔO,\8c3¶ðI×B5ôQ7ÎèªâÓNé^ºJ¯tCsiÖxô÷ÏÌùÌ[\9d\89\8aî\ 4;K×Foì?:Cò\19³\ 6\9b\eéBèOÒê*yrúù\9cÆã\0èàlÊQÎ\1cÙRw\15\90\91Ôh\a\88\)\9c\a  Á\Ï\1eæT\8b¬T\8d´;\1c±D*CzÓP\ 3|- K-<Æc\12\96CZ\94Ê\12ÿ4´F8     \87Éð\8c­f\f\1a\1e\93Ó´øøx:{ÄBë\90\19á\94n,mJd\8b°&Wü\0\1flýév\vhj\12\1a¤Ô\b§\rm\142\9aK\84\8d§\92M²#§Òe§¥¶\ eY6=ûqɧû9åÂ\89¥°\12&\11v\f\a\85µ:S\82\ 1Ù(W\92\ 4\b\ 4?E\9e\eií0\9ex6\ 5s\11Ñ\ 3\f\17\9d\81aC­V\8dcje\950ªP\99\ fª\8fó{ï%\1fÃ4\ fi9Ù;\1d>Hù:¡BUpªáôHbÇ\8dÌ´É-å\9aóF­Ñk\95Ë^ ¼8¥\91c#·m\19¡B\9b:xå³}7§¯ªÉÁ7ø¬d\ 3ÌrÙJX\ 3\95\91£
+¼tØ\8cÓü\ 1\88\rÌ\«\8c\9f\89~vk±õl\922\97ù\90®\1a\92/¢ná?ö¹H\f\ fw)ZXñén\10\1c½ñ\836\82\9dÙ» \10/×]/ÎPtì\934C\ 2©\v\84\13l%G\13\1c²;Â\aâ¹\8bôG\10A[ÇJ\ 1N3PªYa]¥õs×Ò·\93µ\12$zö\13ÆK£E\9e\81ÙßÞ\11\92lºZ\82¥à°·ÆÒ\93ªÉ#_\8aõ+}b\88÷\89úå7h\r\10\84q\88JϦ\91?:\89\1aB\95aW\83@À: ÕcªÏ\10/2Òu\10\86<\15\rO*Ô\12û·ÇFÚ!}-\158/\ 1iÏr\f\ 1 \eì3²\ 5\13à\8c\14\90dä8¢}z@\997µ³H1\1fo´y^\19ݵǨY:\ e©>\86\ 5/\0\19\18\ 2\95\82x\14\9då£ñâ\19(Q¾\1e\85\ 2EDV­\1a_z¼B\17½\0@\ e_\958Ãó0@\b\ 4³Î(\87\16a xNf\0,\92V\1er\13êÊ\9e²Ê¡\0 ;tèy<Ü#ò¦6ØÃÖ¨Z\98-ò|x~<\14\94Y+£\9b\9a³éý\ 2/=Q[)ÍÀé\ 1ÿEyr\84 :êfßÂX¶{¡îè&\10
+\94«\85¼ª%j\91é      o¢\8e§Ðß{\8dYq÷ô\98Û\ e\14H\1f²?\95ª\81\fjKS\aØáÙ÷\ e\17D\vý\ 4F9êå¹áF\81\161ÿÏÕÓ\rÝ=|ºÙ\9døí\9d\ f¡\86L#e®KòÏ\8aû*Þ\88N"\14\9bkl*\9bR37¸\e\1f\ 4\8bßw    « C[Ò­¯\14Ï\99FAÐø¼\80 ÔVÛ\0\15bõK¿Ìo\9e¼ÿ=\8c÷ø¼ÎÆA*Yí;®Á\1f\9d2\1cE\ 4\e\13J\9e\15J@\1f\1c·Û\15%\bû­æ@$\ fPñT\81\85\16SNj\85»,¥\82\rí\8d3\8fäzU¯|¾\8d¬Ñú\934õ¢C\83·b\ 5Ú"¥ð+°\1eõít\ 6¤á>\14\ 5}\ 3'âÝÜK0ÝÅ=×è\1cÏàÀüî\1a\8a\18$\18\8bù\87\e\ 2\93\1c\9bB5\83\8c=Ë÷q\0Ù\19ûv\82G\zt-,¦»YÓv\8e\1e\7fæ~6`F¥}Q0d\93\89Öv\98-v¶no?«[½\82\fô+æV5Ïi¬\83Ó;ã\ 3\16Î\8d×D(|è\86(¨®r>[  \90=\16ìÆÍ\97\19\f½öúæÅA&eÞ\8bö\v\13ÁOo\85Èd?\ eQYÍêg:t\12H2´ú\7f89M{\f
+»ñ(²gÌ~7/Y)\9a\15NÙû\8f
+ôÉZn{\86ïq\1eè\0'¿B$\82\ 2 \ 1Fôv\ 6ã \96ð°ôÏ\ 1¹^ôL\83\89\8cÒ"\f\96\aN\1f_0÷\13òï*\eQ¡n2Í\8cz\81v\eÌ\1fÐ%ßF\91 ]u¾ÿÖ\921Q¶Fk\9bûαÁ>¨bÐcUõq\81\98d<JÇ        0Æï\a\98\1c\ 5\83\815vv¤ü@\16ý\ 2\9c+¼ï§\9f\18#"_b\ 6\93q\98\16\98\fÇ¡\92RÐ÷<\9e}Äpà«àõ¨~Á#æ\15rtPû»ð%âÖèY\ró\13\17\e\8dÖ²ì\8a\ 2\1cÙ\11\16\1eZ\8cÊ\b\85\eP2\19ä\80«röØKL\1csÑÄ\92ZH°Ö`\12O*Á\r\1fzé_\92¾\94à\18òPw\r·×\ 4\9cO§o|<ò\8fG\83ñ¿\bCUçxÈ\98õ§G¸\8a\10\ 2\933Ï¢ÜjôÒaèã\18÷#Jð,¹C\85ѵ\8f\8e\87Õ
\ 5\92ì\1d\8dTÓJã\ 1Æ\8bUéõï­àðh¡VhúùÏØ\13¡J£ÿ\8c§È\84\0\9a\10Øè©\87@à2Ç\1d\ f\83[\8cÓRòÌVB¸0wó`\ 3 \83¨ø\85¥à+\19\96È\97VÁ¡~~\90´¢êl    Ww\91ûÃ})y¨\84Ã])t:\19õ\80=\8dÒìo5¯²ç;$$ÆvËï\98}\80{ϨSµ\1chöXVb\8bä©¡\1cþ\8a\14Ú~ÄÑ\13H\96x\83d\1c¤C?î²\f×\84÷ ,Si×\82X|zÆù\92\13æ\17Ü)üõ2
+Ta0\80p%Bþ\98¬\90\ 3ÜÅ\aþÈ\90z\88C)\8cÈ@`\fºè\eP\aÏǨÙ}\91\91\83J\83|T<\15z°Ðæø\9aÄ7\1a\85\ 1.\ eö|ÚaUEú\81\ 2±/\1e7K\87\v®;\ eE?\17õ²?2ñh°\16\153ÞûÇü9Ø_/\ 3pÇQV.ã\9dq<Å×)\97\13\9aNÏÃ\17\17ó«»ë+z4Ú'ñ\93Îp\ 5i`\1a®2¤\83´ap1âïTNþZ\8cÎ/Î\87\17ÓK(\18\96O?ð)7\8b£?\8fþ\ fJ6ÝXendstream
+endobj
+1631 0 obj<</Type/Page/Parent 1476 0 R/Contents 1632 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1632 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ààÅ\88\9f\9f&\a\7f?ø7\aNå#endstream
+endobj
+1633 0 obj<</Type/Page/Parent 1476 0 R/Contents 1634 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1634 0 obj<</Filter/FlateDecode/Length 1606      >>stream
+x\ 1\95WÛnÛ8\10}ÏW\f\92\87M\81Ä÷ÚI\81}ÈÅÝ5\90¸ÙXÝ¢\80\80\ 5-Ñ1\e\89TEÉNþ~Ï\90\92o\88\ 4        l\8a\1cÎ\9c9sfôó¨K\1düviÔ£þ\90¢ô¨ÓêРßiõhp1Âç\1eþrI\v÷ ßï½ý {9h\r\ fO\\aGíÏ\1dº¤`\81;\86\17ø\10\13ìw:\14D§Tý\9cP\18v^´&m
+Q(£©0d3\19©Å+    ZÊ\17Z\89¤\84\v&Çwmôy\96+](ýDÑRä"*dÞú\10ü8êÐy·ÓºÀ-[ãMë\14,Ùb\92\985\e\92/"Í\12I*IJ[ä¢\90\96D\92\90YP±\94VbC!µ\85wöS\93ɦuêvz­\8f\83\16 º\1c¹ ó¥Ò¦\8e\9fN\1e\1eÇtrûåþ\93\96ÅÚäÏì\10\9dà\v=å¦Ì~³t{ó\ eã¸\86m\1e\8b,Ó"\95äpí\ e\8e7\17í|8q\0\8b\84°\99¬ÌW2\7fÏ\r½>ÛÈLV&"ß1çcØ[°¦Ì#ù\v¶»\ e\9bÄD"±ùjÇ\96Ãgç;C#c\19;B ;¤t\94\94±l
+ i\9dN®Ç\7fL¦ÿ\Ý\ 5ãÇéU0nÞ8\99ÞÜ}½\1d\ 3Ñ0¬=\fì\9c'*ÂJº4¶°ï;îrÿ\vgÇÓÛÿ÷°ñê    ª       \b\89¹Y1\87\1dÉÏÜRM\93ã*E\14\19]\b¥Á{_}"i´º);@Oª°Ä|«ÌVä8&¡c:®ÁÚÜÂ;qEÞ\98-Êr\99\18\81ü\9e9\13ìþ±\ 3\ 6)[\89\84\ 2\13¬\81\e\14     MsI¥\95q£ëÐ\96\ 4Õ\9dÓI\9dSA\91Ô(ù$y¥\14\00\b0Y%\95\16\8aeÁÉÀN8\8döí«-dÊÞ\95\84JÄ<\91¿®NSSH¤I\14.Wë¥\81\13Þ\13K\99È\11aÅz§\82&M\11\82%h§\14Ñ\92\12c\9eËì¬ÙICÏRf|\96áÕe:\a"к¨¶\ 4\98\ 4¥J«´Li\rU$\95f9\93(\939\848\15:j\ e\8bÅ5\97Ø\ 6ä
\ 2ÒN"^)Ëh8}\879à-â\ 3 9\13
+\ 4\ 1\17\rûÖ\18\82\ 4»\9c8Ã:\ 3ã n\7f¾¤îÀ·\9bó~\97\e\ 1\1aB\1f¿ôç\97Y0s;Ùdûó\80ºxÎ}é¼7â\8dÁ²²ärgKÇ\a¦oá°¦û\19}S:6kKÓ\80\ 6è\8ahG=îe¨\ 1o\13}ÔÙ<½ù\14\86ß&Ói\10\86³ï³`|ßï\85áíãäïñã,\fÇ\81Só­\ f§Lô:Ò>\1a,ÜÙT#'hò@Wq\9cK\8bÊAÜÕ\12\8b\8e\13z8\90\8a"ZÂÑL¨Ü¶h²W\f4\7fõyæ®\0+&)¹Ï\1eܨô"\17è}eT\94\9c\13ò\19Å2\ 3äÌ\18\90liÖÎ`póÐ\86oR¯Tn4s\90Á\83ë\võ\ 4\eq\vDØA\15&%\1aÍëÁÅkáÝ\93?K\85NÏV|Û¥¯Z½´ï\94._\ e\11nË"joTw\17Ê&2´À\8b\8a\ e\83\16ÝNgtçªÄ§îm:D"\13s\95¨âu?.\ 6\87\93PÅoeQf¬i¢~P5ò\r\14~®Y\88È\19C~\16\0\8dk!FB\ fà\90\90\fÃ\13\88\9d|A¨\7f\96\12uÇÎøÑ\ 5çÙ\ fHf¤0¤háR\aôÖK\ 5\1dPÖ§M0¤\1a\8b\95\9eLeq=ù2;¸xjb\84ô\9aÁ\1e¦ªT²Jî¥\13\85Û¢+ÚîÃE\1dJ¥@Ó\80èRe\96æ9ô;\ 2\97(<\85däôõöáà®Í\96ð\83\8b\ 6¬-\9cp×Rë\88í\ 4\10.p\8c\9cÿ\90\91£\ 6\86@f²W9>Îò²0%J£JLí ï;¸9\82@J\97\ 1g}\ 1\89v\17hæÄY¥\13\ew÷^3\90\992zf>#qÈ6+Ø\16\85\v×ù4\ 4óm\Áâ\ 30\98ؼä\83·Ìx/w\ 4Õ\98ÑÌÍc¼dæÜ\8d\8auîEuëéYíæFì+ý\808m0®O\ 3\8doIåNu|ly/þ³<®ü\9eð´ÖÄ\89\ 6]4 \99rj|\ 4\b\8fGKå\19ËIô%¾Sáù"êv:Ý6þõvúùôzzÈÎð´NêÞ\rLH\a\9a\1f\16è:\9e1\9c|/\98Ð(t\1aÖO÷\bUÀIÍå\93\86N±@\8a\ fù\92(§k~\ 2Ø«ø¥°\987¤¦'µÂ\7f\98M$³Þh¹\97È­|;è¹å\f\81ÙH\ 4@\13é\pÖ1ÃÀ\efB\15\14C·}WÙV'ÏÁ\88Õ\9f\88y$ÆgÞÌ1ð«WÕ\8fl:o±*ûåZëN];t¯3;¯iç½\81÷­\9e¸ñ~\84Q«Ì2\93\17ô;}\97nÐÝJ®\vÇuÐ7\83aaxW4n*¤j´¯ê¸v|×Ó\8b*ªî\10¯§\17}\1a\ e\969»º¿¾¢\87Ü8\9d¸5QÉ\1dÉI/\a~^\1f8\1fuøM´a4\18\8c\ 6­Ñð\ 2Â\86-£.\9f\1c\aG\7f\1dý\vÁ?r°endstream
+endobj
+1635 0 obj<</Type/Page/Parent 1476 0 R/Contents 1636 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1636 0 obj<</Filter/FlateDecode/Length 1773      >>stream
+x\ 1\9dXËnÛ8\14Ýç+.f\95\ 2\8el'®\9d\ e0\8bdÒ \ 1¦\8f\81=è&\eJ¢-6\12©\8aT\1cÿý\9cKR²¢\18S`\12$\rÌÇ}\9dsîe\7f\9eÍi\86ï9­.éjIYu6Kf´\Ì\93\ 5-®Wøû\12?\8d¤­_øÀ\9f\8c>¿Ý\9cMïgô\816[Ü´¼Æ\1f\96Ù\8c6Ù9ů½Ò\96l[צqô\a}1ï6?Îft1\9f%×80Ú'\9bgÙ`ÛËËK2øá3Óû\ 5ÍçÁØÅå\92Ïî\vÙÈ°&âÚù\7f\1f='eÉ\15\92\1e¾\91ÈóFZKfë?ùþðeMÖ;\90\84;?Ð|\15í]-\90\17X\84×\8b\84>\99\8dÙ[¥w´muæ\94A\94BçT`É\19Êe]\9a\ 3Y'ÒRòB\8cú\12çù\1e¬K\9dûÅþ¢Ö_·\16U*ÞÆ»J|Ä7È¥\13Næ$Ró,'ôyMß\95Îá\vU"+\94\96\16UÛ)ë\90G\ 4ª\1aú"ÝíÃ×5iQaññ\%2ùÝ\87\1c\15Ú\9a\86\88\9eί\92\943¢2IîPKR\9aL-\eÁñ>¾#£Ù\eÔµ­\13º)­\99\90\18;ÈÉ\96/"sTIW\98\9cÒ\ 3í\v\95\15ð\0µ`§¢ÃáÚ\91y'\9eàt]
\80í¹D\\15¢\8c÷àJÄ  Ïµq>¤A>²RIí¦¡¤TÀ³TJM;õ\8cß\82\ 6õ\1eÙ\8cÀ\98ÀÏW÷ÿõùÓ×õfM¥1OmÍîHÍ%Ì'ì\81ÚÒ\1d\10Äi\1cf\1cÁYS¶\9c±W'¤Ë<Ì@\85Ëe\0Å\83ö!dÂJ6\ròqt>nm\86þ\92(Ë·\99\ 3\0-í%\96ð¯Ïkp\14\9fã\92ÜhɹÿçîÛ(\\0Pä0ê\12ÚpI\14ü\ 5ÄúÚôî\ 3×\ÍÒd¢\ 4¥S-Ý\84Z]2\89ºÜà|kQ\1dì-\ 1ÂÞÓÀ\8e\87±í\98ji\13Bô¶\ 5,¬r­\a\98\ 5ª\eó¬rø#\0!\ 1\9e\r\10$É2_"oCÔ\958 Ò\\88L¥åa\14­Ò?dÆ\ 4R:Æã       \88°Ø]h\81@Å*ãä\90Z\88to\9a'\90'\90\94Óð[Ü&´6\90\0ù\eÕ¢\ 1\9a\ 1ÐÇwãÒ~÷\85|\ 5:F\ 3§jr\1a·´W¨$6pÅ\90\15â´öìÞ+Ç$\92Cdtv;ö®9£µÈ\9e¤³\94     Í\89iLë\ 5\ 4\8aÖ\86ã@\14kH¤ã°ä\9d¾\91È\1a\83JÇã1%¶³Ø\81ø®mX\15Ù/¯\r 
 
-£î\ 3µKi\19í\92\e\92kU(úï\9dC®,ë\12\ 1µ-Á\12\97ç2gfÈï'\1djã·CÃ.õ\ 6\94\96'í¤M\83Þ%Þû£!Þ»xYI³°Ðï\\1c\1c%\83C\ez\83ýï?LNÎ\7f½¤n\9b&3ä\1e\fG4É\byÛø&m]ç¢òÒÒ(¡\aQN\ 5     G\82®n\1e(3¥P\9aJYN¥}3ù\860}êtb\98wÝQÒE Ö$W\8eð'È\9az\9eÓ¼V\99$oÈIï\95\9eS]5\81{èe©|N\vi\11Ñ`Oís©½J\85WF\93\98#\9fó\bõ\87Ò\99Yº.×øéæ:\89Ù/©3l²÷úI\9f³\8f\92\ eê\96\1eIV¦¶\14\1fì4\ f¶\9MR£gûÕ\ f\ 1\14ö?\9a\9aÊ\1a9k'Ix*¤À\aTE3S\14\rôÈT\\1fÚÔ´\8eø>\86lÓå\1a\8f¦"ÂøDQÒÏôx÷õ>ù4¾ÿ0¾¿{HîÇW\9f¿ð¦6½ë´\13\1eB\8b\0RZ[åWx\1c\90ï-K\9dÚUå©\12Î-\8dÍ\1c\9e[I·ßNh棦T \ f\17æ\98
\93§\99\9a×à\93©}\ 4\86\93ö\19\13¯\1dw\17`\8b%kQʳ\80\ 4\0\889.\9a\81·h³q;{«A\aàÄ\ 5Ð{Í\91N/rd\rÚÎÎ#\18n²qÇ\98l²&M\12«ß\ e\ 5L»/óÌ\f½ÕÆ¿%-e\ 62!{À/\ 3\18\ 5\1a\14:#Sd@ -\14èçÀÊ¢ )\b°á#ïÄÀgtújDQ\11§g\9c\9cÇØ´'
-\9f\aî+OKè£\ 4¡W\94\v[\86t\82¹ä¸\11VF.\9e%\15&\15\ 5\83m\1d¡Zæ\16Ó.¦Hè#É¿+\992\17AK^\11\1c¦ò*³\95ßkeQë\9a¡¡\934\17z\ e\1a\18hj        \81ÑRÒ\ztèYé"õ
-\ 5\98zcWHíåÜ\ 6\r\1eSZ÷\98ÒÎ¥OÏ\17vzq\o\134R*­JôÎÂdvFñÏ\8c¥\97ý0\94\1f\92ãÏ@V÷×z\b/Z¢C\8a\ 3}þ9ð$ág\91¥Gȵ%S¢\7f\7f\89\84_\ 4\rÅvhºÂ\fYX\82N\17èÔÓ×\87ñýíÕ\97ñ/Á\ 2N\ 3!J\81µ99Öf\98p\b±\96yðÓ4\950æl]|Ã5\84g2À ·Ì1\b ZâíÝdü\9e\18è¨ê`o w]UÒ²?\84\19¿Úð\bV\8aÂ\99h\84Ro\15\ 5\81Î\88\ 6Ó\80»ÜÜ>\80¼f\ 1Ë\ 5¿¸\98\8f¿Á\1d2+\9d#3\8b`°iÓ\15\82\9e\85'ØYv\1aix\8d\93c\1d¸ Z\8aʱJBÝ\12ç\ 5(\8bò9\91\96~ªpnp8NÅß!\13\94L§Ü8\1fVÃA£M£§\9dÜÂ{\91æ2{zC`\1dFÄMBÅÒj\90ñY\16«\83\19ã\91\0µ5C\bøî¢9AM8D\14ób)0-C\r¤¬~\96¡ç\13Óªy\ eÑ\87N\ 1\1eØ\12\14Äõ;lð\90%\80¨\98$Üåa\88\11|§3\85ݯQ\82\91\84\89\0\aö¥\9dô\88¬\83)\ 5ÛàE\906\1a\93´ÖØÓh\1f\8\17\84\81Ú¡ \83½#\17\9c.F\14:´·¶mP½ª\8c\r>\aC\8eÎË\91b\ 1<\0·P\159oE\80\ 6É\9c\97\15\1d\97p\1eþ¿Ç\80\19\8dñ°µïi\ 3nÍ¥.9õ^^ö\17$\ 6Ò°\7f\9cëS\1²cv×Kè\1a]úH½Ô\94U\1dÝ35µö\8cûö}¨¹Q\ñU\88m\1dÍÁ¹s\9c"K\9cð\92 ¾R9Ç\17\9dF7ñ¾UYõÌY6~üÔª]\r W¸R\19\ f\92ÚZ7v¸9\8f1åp&óDb1£ÍÁÛ\1fF/ø\1f\97»þ°\9f\f\a\10q1¹èpÈñää÷\93ÿ\0\ 2¦J\8dendstream
-endobj
-1598 0 obj<</Type/Page/Parent 1479 0 R/Contents 1599 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1599 0 obj<</Filter/FlateDecode/Length 794       >>stream
-x\ 1uT]oÚ@\10|çW¬úRZÕW\8c\8d!OQ\12\ fiS\85ªª\84\84\8eó\1a_°ïÜû(Í¿ïÞÙ4\81¦ \84ávvggvïç(\85        ½S\98O!+@´£       \9b@\91\ 5ä\8b9=Oéc\10ªx0ËR\96¿t\90Ï
-6}é \9bå¬8?¸^\8dÞ\7f¼\804\87UEÕ\8b\ 5=\94@\95'\13X\89ñ\82e,ep§­\95Û\ 6\ 1\8dÑƾY=\10ª\804íQÉtN¨ñ««å=XßuÚ8PÚ\81Ðm'\e,AªW=&\1f0Ô`\92\93`÷¼Ýrh½u°EjPhUÉ\9d7\84[\8f\r¶ú\17R¦ð\1f\13\Ô¸~\ 3\\951pH¿\1e·|OA\rr\ 5¼i¨\9e\1d"+\87\ 6\\8d¡~2yªºG³E£-4rkcÂ\1ay\89\86\9eIã!\ 1\96¬çM
-Q\8b\15$\81x\96\93òD|Ár\ 6+$Þ\8fÚ\e°h~Q-\8bÎw§ÝRÙé\9c´'Ì\17"\bߥ*õÁÂ4¨,\1a\89Ê\813\8f=h6H4\ 6\85\ e¼Ex\vkzõéé»&\82§ùÇ\f~h\ f¶Ö¾)\83\88\8dÞí¢ìp\90®\86¿½\86_Ú»\80~&\85B,¥Ú\81Ó°Wú@\ 4;níA\9b\92Á§\8aÄ\93\16*.\e\etT`¼:gºo$©à¤Ø£\e¦ãè4q[Ê2(\ 4\87\ fQPéhË Ú%,5Z\90çÔjNæ\93©¨\84î9>v\bº\82å\87ûäæú&¹]Îಧsô\88:{rhÖ;\14Ú\8bRØvÛ\v~ªà©CÑÎ~,\a\9d \ fé*Ux\88\1e\86\0êæ_\94·¡îß\92\8e^ÄÁzfÂ72úY¤%ç=oÞÁÖ;°\1d
-Y\11\83\1a\83î\9cÔ\91\86¨µ&Ü1'p\1f\1c"\1fx\888\9bÝ\13]
-\ 6\9fµÃ3³\9eÉ\10\ 6*¹Ú\91      e+\15¹l¸£^\8f\ 3\ 2Ü\ 1m\1d\99¯\95  ¸mË\9bãþ¼\vZ   \83Üa$oä®v§fF\ 6¡nÑ/Õaº\87\92fA½¦¾\11Û³\f\9bc¯lãË.*ºiJÞ±\8d\13\1d\95\r\81\12\egaù\99®¤°\91\fnù#­F%\7fÇÍ8Û\81`£¤\ e:.öv\18¨Å°\89iA·ï"\83,Ïú%¾¿º½¾\82\1fP8\9a\á[R=j\1eÒ&G@2\9f\17ÅÿnÑ|\9e³y± \9b\97î\86Ù4 ?¬F_G\7f\0¼óÔÑendstream
-endobj
-1600 0 obj<</Type/Page/Parent 1479 0 R/Contents 1601 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fb 13 0 R>>/XObject<<>>>>/Annots 749 0 R>>endobj
-1601 0 obj<</Filter/FlateDecode/Length 1348      >>stream
-x\ 1­WaoÛ6\10ýî_qÀ0À\1d\12Õ²åØ\1e°\ f\f\19Ðt«½\15ò\ f´DÛl%Ñ%©¸þ÷{GR±¢¤X\a\f      \92Ðä\1dßݽ{Ç|\1e¤4ÂWJ³1M.(¯\ 6£d\84O\1e~¼ÿy\90¦\8bdNÓÉ<ɨ¢t1Æï°*i9Xd¼LÇÉ\887'Ód\12W¼Ù]c7ËØ\91?Ë»³4\99R6]$c6\1dO\93E\yÓÎ:8κ»S@¤É\9c\7fbw¾HÒ¸ò¶\9duEc\7fm8ëwÓ\8cm³Q\88ç"c[¿ò»\9d5</fɬ»ÛYÃóh\ 6ì'ÛW«ÁËë\ 5>¦Õ\ 6\98ÍiUødâ\93|øz'öN\1aZ$´\14ÕZ\90°$èv\95\916ôAÕãOTèJ¨úÅêã`Dçã\fæÃJVkiø#ö\9dÎ\82ïóI\86«±\8dÈ\13úE«ZÕ[\125ÜÑ\95wB\aåvñ¢I2
-\ e2JÓè`<K.ØÁ¥µM%é¨\eÚ\89{  D\ 1\1clÈJs\ fÀÞ\13\90J÷êæÝ\92j\81ózCÁ%Øã]\ e\97oÞÿ\91>¾f\bD\ 5        #éã     áC°·+>\8d@ÓI\88%DO¹(KYôÝ_½{Ûs~F\87\9dÊw\80Íyüõêõ7\ 2\85'\1cî9óHÝAÓZä\9f\9a\ 4åºvF\ 3\8f±=°>)Ý\94Øg\10¿ºzýlJÂå\ f©\ 3"\9c\1c÷!%ñÊñ\ 5¨\8aR]+c]y<óŪ\1aëH\16ÊñÊôï¶Õ:\ 1öÍÝpz÷¢ïw£JIN\93\93%(ï©\b7v§\9b² Z\1f¨±²M\80\95yc\94;ö±\80ÌõVÒÝ\10å\14Eq÷ÂÃ\b7\89\96\12 P°¦\9fú\18JUKR5¹\9d¤¿¶¥^\8bòo>î\94®\99\>¨6
-\ 6k¤(~\f\1d\16ÇÔ\9c.êôÐËë.ßãÉ[ùÅQ\1eÐãò>â\836\9f¶F\83\ 1ÿ\rò¿"ì8¦'\æn\8fø@f·S\96ð͹i\9b\8dÿ\8eýq@\93\9eZª_\98?ÑÈ\9e\e¢´:´4Ûî\85AÛB~ú\ 1Ë:7ǽÃ\ 1k\81±ð<?en\88¢8Î\7f°{ ìQ>9\88\1e\ 1'|ýÀ#\8304\89\ 6\18j§rá\98yì«Ó÷\8c\ fº\85¦ì\as­j\88\ 1\18\ f\8a\ 5®UºP\9b#è&ú\81´\ 1´ªõ?×ï\89{®"\8bNhÞ4þî5q§°«\9dD[qå|=\8cª\849zÙùªäÄæ<(ô©pNV¨\13²É¢$rÇí\13\12ÞËp/½¾
-íÌñ¾\1c.îø\91\ 2*\8a\9e\ 3\f¢\ f\ 2Fïg\ 4\1e¡\9cT\89#\1dDí! \e\8dñ
-àÉZ*\88Qkл\1e\17Ù=w/é\ 6¶¨u\87\rÜí¥Æ\9e¨4\ 6X;\ 1NªÛgÄe        \ eש{ɼP^)\ 2,¨E\11É\86       Èd\ 3u¨`ÒW¬6|µ\a\8a\8cìÈ;[²î\81¼½\0\1eÃ\8dê\8b\øÆàVõZ\ 6󵤯+ÔSþü\10\18ü\8cF­Ø+ºu§\vP¿,õÁF*D\90ò\vê\8fà8$Ëã¸\92,iÊVøH8î¦BK\9b\13I<\bÐ\9dk\83|çºþDC×"\ 1<K?ÜÜ.©\10\ 52ÒÖ\953´Q\18èO«\14Ó~êq±Å;ƺ~õnº\8cÍ]ã+Äo\ 3\1fIðÛ\19o¦á\rä"×U\85§DÌn+B\9dæ2Z»ïB>Ó8\1dð\16\9d\fÃà¬!af\9fûW\b\9d/ÛÎ=ÿ=X¬ÛyuY\80( ²\11N\9bïÛ\8a=.ÓyðÛÕëÇ\82Ü  \85/
-\ f\vÔ\89µ\82\95Ñ\17(¦ðnÈ\15Ô5JY¡   \ 3KQ?~Ò\1c0vÑ+y.-k(£èift²¼|ûP,\b\15\94\89«ÿd¾}K\88Ãvø\94z\8bÒø\11Ä\ f¹6!ÏõHÍHu\ 3u8=Ê8¶Z2~Vº½Q÷xxàÑ\0\1e±\9eÇ\88ý\80à£!\9c\84nX\89\10\ 5¾mãÃß4¥W /^Vú z¹¨ø\96­\8c\f\99\9f^\b\93\19þé\0\a¾ùõ\8d^j_ÜÙ,Kf\17ó@¢é\84Kðf5ømð\ fH\9dë<endstream
-endobj
-1602 0 obj<</Type/Page/Parent 1479 0 R/Contents 1603 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I15 15 0 R>>>>/Annots 760 0 R>>endobj
-1603 0 obj<</Filter/FlateDecode/Length 1841      >>stream
-x\ 1\9dWÛrÛ6\10}×Wl\9fìÌØÔýÖ\99\89ã\8e;qêØJÝÎø\ 5"!                  (\0hYýú\9e\ 5H\89¦\93>t2\91        \ 2Ø=»{öÂo\9d>õð¯OÓ\ 1\r'\94\16\9d^ÒÃ\9bÃÏÝo\9dþh\92Li2\9e'\13*¨?\1d\1fV9Ýóy\1aMÆü;\9bâw\80ÿVÒª3è\r\13\b\9dòoA\83Q\ f×â\8a¯5×¼;oí\1e×Ø\9dÎ\93aã.\96}\1a\ e\88ñ\84¿qÅ\82\9b\8e¦É¸:Ë»ß\80\1fx\82ÍüÐOf\ 4Ý3¶¼{Ý\1fÓ¥¡O\9dáx\b8c6ª Q¿\87ý°`       \ 1é\88ï\15\ 4 sìã\99w\8e«\82æ\13@<ì\1cW@4\1cÁ\98ÃVc\89½        {ð°÷vÑé^!8}Z¬\0y2\9bÒ"\v±éÑ"=ýÝ(-3ÊL!\94¦Ë?n\927\8b/¸1ªn\9c\92±\14_ÕBê;'÷ïïþì\9f\907\88\95È\v:¹ùûîýÅ\87\9b\93\97"zt>\98ÀÍ\8bì\14*ö¦´ä¥-\94\16\94ÎÌ.¡{)Éo$ié\1fOg\8f\10\9a¶b\r\ e@\7fa@\86Lz¡r\17ð5D.6ÊÑÖ\9aT:G_`\8d\v\82\9c´O\12\8a\f¯*ëvÊoLéi#\9e\94^ó^
-à>j.Dº\81+ÈÛÒy\12ijJíÉè íöò\1dÛ\ 4µ}f",YJ\0\93\e¡³ï\ 2JM\ 1\v2Z\eÉx¬)×\9b ©VS+Ø
-çvÆf\94B\16Ì\85%Þ¤&?ãÓ\9avVù \81]³£ÇS\v©¦x|Ó\82óC±ì>Ï.º\17ÅRPå\16¥a¼ \95Ê%!&ìy'
-øXY\99zc÷üv·Qé\86\10\aW,\ 3Ì,\hiÞ\992Ïh   \ 1¸\a&\9d\93\10y¾§\9f#\ fjÞ4\82Ö-\9díæ&\15y\17z\97¢»µê      \91è:\89\90x\97øl\19/×<l\\ e\11\8fÐ]\15Á\f032;¦òrOÖ\18\84\10o`·Æ#¢\9c\89%lÅ\9eÐ{20ØR   g$tíù\14{à«ÜW|©Òá<\97O2oÙ\v\84%\82²\ fÄ\fdv{çeq\16\14:\10,ºÃ\aj\ 1\180
-+W%{\ 4\vÄ`#Ày°»\8a<\9bÒ&Ñ\15gG¾?\ 3\85õ1mb\f3!\v\ 3\9a\a~Éh]\84\93æJj\ fk\f\ 2²F\bKÇD¯è_#ÿ)zv\8e*\16kÂ9ªIHÏy2Hèa\83è³Gð³\94\1e©\8agfAmø/\15\8b~}\1d¡)ª;\92ã]i-\80\96næUe\ 52C\9fxZY¤>ü\88\aS¼NÍ@\12ú¬Õs\88W°ÍÊ-Ü\ 2\ 5\1c¶Vx8¨p\8d÷!\9dC\92Ç \85z\90P O!E(\13\ 2±_Õ\10ùf»Ò¡\1e>>\ 2aöÒÔÓJ\ 1\89¡iÙÙB\15M\8eÉ\172\eõLK\99\ 2)Zv²[2\16Þ´\15p\ 3È*c\83S\98<\91\80\95mʵt£\fîÉ©B墮\87\fÆÖ¨*B\17&C\16·£|\86\ 17\1e\8eÙÎÔ\85ï\ fU­¥Q\94\88\8bö*\15\80Zù­\ 4\8bÙ\1aA\ f¡à;ú¸8Ö"\ ec¬?;QåH}l>æþsXͪK-\85\ 1U;\85ns)\9c\84ö\1538ô\ 1\16´\ 4\0äÞ\16/¹6*\8dß"\ 2\ 5VdgÈæ\0¶ôè\8alFL]§Ö\9a>\7f¼þ\8bJ\85È\85ôã\aoZpj¸°ñ2öÕ\8a\95Ü\10à´­«b\95²Ç\91fâ      \9d-\14(\846ã¢c¶\ 5ó{\89r\9fn@3£¹z\ 4£\eòÞYKé\12\8dm§ò\9cKqa\9ejöD'\1cä8ctÛQ\vx_dOB{î·ðTär¬~GB\84\9aPAhE\98Q\aC¿s\87¹\ 20¨x¡Ï´P7\ 4áÐÝí»Ð\aµÌ¹PÈg\91¢\88¼¤\aj\11×ö\ 6\81"'3CÊ¿Èï\9aÞ<\b´\93B\87\ 2l\11\µå    à`AÕÿ­Ì\ 3'ÜFmÝ\ f±\1cHì`\1f\9a³Jdr\16\8aY
-\84"ËbÖ´l\8ee\80¥\86\8c@)ÃH\94¢ùF®0¯0¡Ä©¤á\1fN¥Ê\99x
-ÕRp{xq\19\83J ®né¬Ç\8dJ\a\8eµYp\1d\0+ÎX¤<&%\96н\1a\1fæÀW\95!\1e¨\eô)\81·¨4Ñë±Gñøt\9896h~0ø«\94[¼L\8dÖ\185Ø(³Å \13\13´\8dºQHÐÇ¢ãBÚBVnð\8ae2!*}¹p\18\1eb\91ç\10d\96§Z./\r}µÏ8«\80äF¥Ö8³ò-å\87à\86LO\ 5r\18\fc ¶\ 4\9bY52÷¨\0\0\1eþÛ\7f1
--ÿ\9dÑÆìØ\87¡A|\979uç¯tUN#D³û\16\81\ fE\82\8bZÃ;ÈZø\19³±@l\98oG\97F\86qi\8a³\v\17mxÌlÙa-g\1c­ct%f\1aL h©<^0ç\8eû\a\9aÔ/@ìU=× ³ùn\15\1dÇÃ'\ 6f\8dª\fð/Ò»\81¸\9aÚEPÙh⸲å!        \ 1y\r½y\1f\ 1GCå¹\849Ñ,\10´ÆØ\19ÞÆ\16\9bq\ 3[Õ-¬Ù%\ÉSqãìýõe\94\97+t9³j¹\ e<\8aEÿ(}\89\ 2¯×\9c\ eg$}\1aRq0H\ 6½>>\95¦Él\18>1nXQ4   \1f\95y\bhfÒ2´\87\1d\94\85Öm¹\84v|éÔ\1e}\90K8t-þáo\9a\ fJ\97Ï\ fÆb2\8dÀ[\10á;\95b<¾Äç\13F&¸æãõ}\17À\83\87\ 2¼îÕ¬ª\ 4ýÑ(\99Í\ 64\99L\92ÁpÈóÞýÅÍÛ\vºµæ\vR\1aR"¼P@YÓyø$\9d\ré|Ú\9bóùÿ1g\8e¦£d:\99á\v\16÷Ç#\16û~ÑùÔù\17è\8b=+endstream
-endobj
-1604 0 obj<</Type/Page/Parent 1479 0 R/Contents 1605 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1605 0 obj<</Filter/FlateDecode/Length 118       >>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Á1¥,1/95EÁ9?/-3½´(±$3?O3$\v¨ÕBÁÐ\10¢U\17¢\97\90\16\13s\13=s3\v ]!)\1a¦¦ S\C¸\ 2¹\0\ 4[)\ 4endstream
-endobj
-1606 0 obj<</Type/Page/Parent 1479 0 R/Contents 1607 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 805 0 R>>endobj
-1607 0 obj<</Filter/FlateDecode/Length 2564      >>stream
-x\ 1\8dY]oãÆ\15}÷¯\98\87>¤@\97!E\8a\92\9e\ 2g7\9b¸ènܵR\17(ú@K´Ä®Hª$e×ÿ¾çÜKÍ\Êζ\b\90øèÌýþ\98\91òï«ÄÅø'q\8b\99Ks·©¯â(Æ'þ__~¾JÒhéæ«<\8a]\8dÿF«\11\1cÜÝ\95\81µ[M9\ 3k\97äó(7\82\16×n6\8b§j\9706_Î`\18jÓh1\ 2\9a4\10jgóhfH\8bÁ®2¯\87¢\1a\82'µËf\94\14@Î@\98Ì¢Ìp\ 6Bi\92E©!-\ 6\9b¦Ñܲ\ 6\83]äÌ\827j1ÝeÀ\865\989\9aO4[\f6\9fMY\83Á.Y½ y.ù\9dç\88\12Áæ´*@ò\e \83Í£Ä\90\16\83Eù­¨Å`\97KfØ+¶\18.e\92(ÏZ\fv\11OìZ¬áXÍ\fï\8ck\97Æ\92
-¯Ùb°\19\9aÛxe1Ø\85ô\93\97ÕDÁÕ\19\12µL\98b\ 1L\94\81\94Îs\ 62\89s¦É\93\16\83Mgì\89À\1a\fV\13\11X\83\99â\94s\13X\83ÁÂ\v\14\ 6#\89³lâ\95Å`ç3¦ÉËj"RæîÜ1\ 2\8c\\82!C8\9e´\18.¡-Q)ϪZ4\99\fºt\9e\80 väF5\9e´\18jgÒ¦\815\98FW4\1aX\835\ f(k`Ñ>8\1d3\fj\9e\b¢S\16\83]\88æÀ\8a\8a\92l\81¸\14\89¬Á°\es\8f\ 4VR\91-\16ÒjIÌ\81U$¢\ 6«SP,gÏN\9d1ØtNÅ\815\98./á\9ca\r\86SXW\vêS9×(DcnÎL\90:\150Í&4\eX\83Á"ö¹e\r\ 6»\Ñ© k0+Ä>\ e¬Å`Ñ©Ö®Å`\91\ 6\ 4ä5[\8cqG#Z¯4Üy,í8\86\84{f5¼À\1aìÃ\r¬\86{\96Õð\ 2\ f׳c¸£ì,]bä³À\1aÌpW\f\ 6#\\³è\13ÏÊ}\98¥\véô\8c\9bO\ 1£5\10\9b/§V9HÎ@\84:[2ÿ\9eT¥X.¼[°­À   \81Ø"|\11\ 4Î@(M\12\ 5-\ 6\9b',j`\r\ 6\8b\8e\86·\815\98Ù\9dºd1Ø<e#zY\8b\99¿ÕÄ®¶\8b¸\8apbr\ 2\18ª\81p   \93\83¢yÒb°: \9e\15µé\8aw4È\84O#EÔk±Æ\9a\19VE\97Üì¨\1acI\ 5\ 2\84`Æ$\ 5Òb°r±\eÖ`$)Nè\92W,\15O\17\89´Ñ\9c\ 2\1a5PR´´\1c#Lá2;E/EE"(¤t!ÈY\8a\r\90
-\92\9eMqSJ\8a²\8c¬ a\r\86,\9e\91©eU6Yê\90#÷¹K\ 5\89¬Á\90EP\88\ 6S3w\9aa\rf£å´ëe-f£Íé³g\13õ*¦7Ð\9còa\95
-R¯\ 2\ 6\8bÚA6°\ 6ÓgÉF`\r\86\13\9a³\16Óg\ e\96a\r\ 6\8b.@D^V}\9eáU!\ 5Ly}+R\9f\ 3\86W\90M,k0ØÕ\ 2y6²\ 6ÓgF\14X\8bÁb\87§\965\18ì\82]od\r\ 6\8bÅ\9b[Ö`\8c;ìN¼\92\1aqÅò5\98¤Â
-Òx\ 3\19NéYa\r\ 6\8b§ñ²\ 63^^àAV\86z\96ë\170¹Ö\15\81P\9b,(('ŨÁt\89\85\86\83O¹,¸Æá° \915\18,n\19h\ e¬Á`±iPúÀªf4±4³\8cãL\90h6\18²ØÎ(A`\rf*¸U\ 3k1Ø9Ç%°cCbð¤!Ѽs\19ÃÌiD\ 1Ã.î\8c        k0ØUÂ\88D\93ÈjDØtRzÕ,Èh>³ø\ e\11Ãs\9e\15Ö`ø\8cg\1f|ö¬\16\87u\82ÙB\89\ 4\ 5³       î[)QÎS\8a\f\8b\8e\964cÕ®\90N"a\rf\89ø°4¬Áp
-33\91\95p\13ØÓD²5\14\89fi\rÏb\93--k0ËË&0²\ 6Ó+6µa\r\99HêWxJéü±ø|W\8ei\96Í­\18\9a3î*Ã\1a\17¬Á,\11[2ÈZÌ\ñ\e\81a\r\ 6\9bs\ 4\ 3«-É]!7\95üΡH3)y?³2\18\865\18>Ϲ#\rk0#âF1¬æJ\1e|`Õ® c÷̪\9dÀ\1a\fYT\fv\ 3k0kÄ\ 15¬Ú\8dõM\99à!\85L
-R»\ 1S3ouÃ\1aÌ*ðånXÑ,?Å@\14W^¦?Ó\88Þ\0Á¡µ\97\86\139|Y×Éå+W\80úã!Ýá\9b5pÜi¹>Â\90\90Xÿ¦T@ã\eKN\91\91\17×(\93`I\18!\99s\\ 22Èã\ f\ 2\0\94\12*Óç\13Ê\88\a3ÿ\16}\1c¼\91Á{\10/Ó3\13\10\1cÇë\bÏú3e \13Å{7p\ 12Q|U\ 4.@Ö\95\15ô\9cn)}©é\95ÿéb@P\88\92\9e)\ 3ÁÉ#7p\ 1\82\93\9eûq}õýG\¼±[?âÇÉ|±të­ü&\89O6ßÝ4C×nO\9b¡j\9b?®ÿ\85³\19n>=ûNVÓzûÝ]Q?\14n_ô®/\9fÊ®8¸Ç²\18N]Ù»a_\fî¥=¹ºÚí\a÷\4\83\115íøÉкS_Fn½/Ýf_\1c\87²ë]Õ@ºêݱè\ 6W\16\9b½Û´ÐN/b÷Nv:l·Méúc¹©\1e«ÍÙl¤\9e¢¡½§¼¥pz]<\1cJ×>º÷m3\94ÍÐëI\8cÍùäY/FÍ]o\9f\8afSnÝçrxn»¯îSÑ\14Í®¬!én\9aǶ«\8bsbð\83®÷ ²Iä¾\94u;\94î®ìà5tÕUSõCç%ÞMD ðÛç\9b¿»Û²««¾GºÝ\8fÕл¢ÙºûªÙ¶Ï½û¼v×\9bMÙ÷â~×\1eÜ_ Qb¸Ð\ 5m\7f«ÊçªÙ\89\ 2ä´Ù\11\88\89£7Ñ#íüx@Þ¡¼/7§®\1a^ܶ*\ eíN\14\9bTó;Sä~i\9f\1dêõ\ 4õî±B6½\14\.\9cöB¿/ºò¢R\10O\83["Ú>7¨ô¾:ò軩©ìòl\a·ºr3´Ý\8b3!Pô"z¼`#÷\91¾\85\11\f\1e\8d\91ûàu^\9c½,Ï<r\9fÚmõøÂ\84©÷ßðè"\98<B¿ «\v\19$÷\\r{Iz? ¾E·\1dÓ¶é07¥«\8bþ+Û¾¨KNÂë<.þ?uâe1\f]õp\12µÇ#\9c\97\O2\864üܵ§#\fË       ÷˯÷ë_/Í¢x\98\9aÇj\87\1eA
-n¯?9L\0\8a\82¦\16\ 3[\a3n\83áÀ
-8¼@[Sì0=Å      ýÕ\fÕÆ·þÄ:î¥h\8c\9fÍ\ e½¯-K¡\82\9dëW\1amï¤ì3ºwvWìr\9fôõC´A\f¯S\80n»EX\ 3#»;\1d\8fm7ðÐÄQi«Ë\85h\rKCM\8c¾¡\ 3?¯!\91,4mýãH«\7føçeÈT\85 ïÊA\8e}è*,\91^\12þÓ\7f\90\0Eßè\ fÊ"\ 3c\18\98ÉCÑíJ×\9cê\a,",?±ù;\82HÄõvKõ\9f\92\13\1a
-iX»\8anïßò\1as¢;@\8a©.º[äSúx:UøQV\97þM->õnݶ\87¾|+÷Ò&÷¼Np'\9cÏÿ@\ f&³F\95H\9c\18\81Ó\fºÛbó\15Mùj¦(véK/\9bûu\8cø\92;zÝ`~\ f\am¯÷\87
-M.þ\t\rN\7f¨\8a]Óö\95Ø}E£!¾ÝVº©Ê\87ÓN¶øX?Ô±ÅuV¿\11\8c$V\925\9eíݶu7¸£\9fÊ·r\86ÇXh6,\ 2\91Ú\14G¹=\ 4`Íó\1e\16Jþçö\ 1'\9aáO®i]{\1a\8e'MÅt<ð µGy\eâ:5ç/\8fcÑ})Ð\86m?Ümºê8\8c½»}]\15¼öÌ\8d};\ eó[çV¼\9bñHÙ\9e\13*EÃÿ\94\r\178"zÿÛíÝÿÞ     øaéÛÅÃ\9bwÔõÎ}¹¾W\8dxè`ßîö¼Qä\9a\9c´0~\90Ðþ\12\17p\8faÈÝû}Q5\92ýï?â\e <Wd\98ð3©<m.;(Ã\v{\91/ñ¦Ã»g\9e\9fÖW\7f½ú/\82&   \endstream
-endobj
-1608 0 obj<</Type/Page/Parent 1479 0 R/Contents 1609 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F2 5 0 R/F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 857 0 R>>endobj
-1609 0 obj<</Filter/FlateDecode/Length 2598      >>stream
-x\ 1\8dYËrÛÆ\12Ýë+f\99»\10\857É¥m]'ª²d]\93.{KQ\90\84\84$\14\10\94ì¿Ï9Ý\0º!²|S©JåäL¿\1f3 þ>\8bC\84\7fâ0MBZ\84õö,\9aDø?ÿ¾ü~\96Ï&Q(f\ 5þ½\r³Ù$íÀ&,Î\0\93\81\8bãtR8Òãm\88shõ¬Ã`\8bù \89\8a\86$*&3/\e%<=Mð\7f!\9b\8a¬ \91u\18ìt:ɺ³Â:Lͦ\89¬\ 6\9bÏ\11È6Ì%r\ 1ä\1c\84Ú8£\v\ 3é1X\ 4\87T\18ë0Ø"\9eÌ=ë0ØyÄ\1c\9b¬Ãp8.F¬Ç`Ól¤Ùc°Ð\19\1alV ?0\ee$\ 5I\9e\1cf@ñ$÷¬Ãê2\ 22Y¸Ücº\9c±\ 2\ 3ë1]\96d\18ë0Ø©\ 44°êr\9a"÷0\9bH[\b\12\97\1d\ 6\9bÎ\18\90±\ e\83-ftÊX\87\19PÎf5Öa\ 6T¼ÑÌîLØßÛ\90Í\99(\ 1ôÉALOÆ®\188\a\19LJ\87\ 6Òcº[\8cÔz\fv\96L¦^Öa¸\8b\1eG0\83f\8f\99ÿhd×c°ùt,ë0Øù\98ÕêÈ°öÓ#\80\89\10.\9fsEÀá8GÊ\14\199£'\92¥(ä\ 2È!K=d\96\f\91ô\98YÊÑw&\1aËtçÅTÛ\ 5Ã\91\ 6E"ë0dá`îXõ7§9¸ÄîÏ\ 5\88K\ 6éR\8c\98\8cô\98j\13\ 4åXu)\8btueSæA\90¸ä0dg)Í\1aë0\vÇ¢\eë1\v7\e±]*\92©æ_í\brv{vÊÅ\97\eë04£QáÕÀz\f¶HX\82\81íìÊ
-@Dh6ø,HK`\18\87l\18ë0X4\e4\e«\99\8cb-.6l\12rA¢Ùax\15K\9e\aÖcÍ\15j4°ês\86Ë\8dµç\96É\82"Ñì0Ø,GF\1dë0X\6±g\1dfDì#'ë0¼BÝ#ÏJ¼\19\16¢^z e\ 5i&\rÓ®!²ÒÌ\19®\19\1d>1+HDcÃ\10\95\12éYUÌ\12\r²X\84³\ e    «Ne\¦\90-ÄeA\8eMs-\11Ê        \97\ 596áv¢]ÞÓ\99 µk\98\ 1EL¤±\ e\83\9dÍ1ÙÆj¸ÑL3\15ó2Ê\ 4\90)âÐ\\90T¤V!\93b}2\9c\8cëZ\ 19\aa\12×c\7fR\ 4\1d\ 6\8bý\169Q\8fÁf|¸\98b\8fÁb\82\ e\83EWz§4\1ay=aåÆHC*\80>9\bÁ\84\17\93\91Úäi®ïº\18ÁÅA\91\84ã0]âÝäX\879\bV4QÖc\ e\17o\7f\93õ\18,¶ûÔ³\ eoC\8az£:\83æÎgI\1f¼R\1f\ 59\9f{V}4ÖáÁç\81í|îd;\1f\8dÕ\18zvÊë?5Öaø\1cñùf¬Ç`ñºñ²\1e\83Íy\7f\99l\17/*'½ªñ
-rñö¬Æg¬ÃC¼\ 3ÛÅÛÉ&       G%5ÖaÈNã1ë0Ø9;ÈÉ:ÌxùL6\16\9f\b0\84÷\93Ì\17\97£\ 2Æ\83\87(nÄKÛHíó¨{ø!ÇèeA\92        \87!*\ f=Ïò\8d\9fàM*{\ 6\v\90fÑ0;\9d»PÏ
-ë0bÅê/<+Û/Aýe%«fANsÏb7®±\ eSs\8e\948V5£\86RyyÖ'\82D³Ãð\19Ý\89ø\8cu\18,\16FìY\87a7gF\9d¬ÚÅå)û\#\12ä"êY\8dÀX\87aW\9ez\89±\ e3^>\80\1c«vq\aÈÃ^í
-rv{Vkb¬ÃÐ\1c\ 3ë1Xd\ e\15\1cX\9d°D^\95ðYí
-rv{V¾\81õ¬°\ eÓ.ï+ÇjD¸|úoTÄ+Hdñ\8dÚcØ\95oRÇ:LÍ\ 5k4Èz\f\16;\ 3\11\19ë0Xù~r¬Ã\9cÎ)»}\90õ\18,&Ù³\9a+>Ãt\eqn\14\ 6VjâX\87\11/®¨\99\97\95\ÅØýÖu\8a\9cæ\9e\vt5Ïj&©
-+\89\8d\83¯$ü\9a!\80\9c\83xÃó\ e3ÎA8\84ÁÎ\1d鱺ëÕÒý\1e\83Åb\99zY\87Q\0ù¬3³²Çø­!\9f\15Ü\83
-è."ë!Ô¦¬º\91\1e\83Ų\84âGsd\18,z\0I1Öa°xÎÃac\1d\86ÃxÿÍ\1dë1»m>ø(v#>tx\13K\97#ó=r,î<v\fû\f\95\13äXÌ«T\1d}\85è\ 59\16úYX¦\11\11        "+ÎÏõå(i\93ÿ&c\889¤Ô@9È\fò\87\14ã\f\82\93'\94q\ 6ÁÍù\8e2Π#,\90»\81s\10\1c¶cä8\83\98´\987Ô §\83\86ªHNñy\99\a\ 1\92\16\83ô\93=m\9cAúÉ[Û8\83Ìf\82J\18\87׹̵\18\10`özN>+\8c3\b\ 67NtÊÇ/8ÜÈü \84³¢Ó 8ÜVøè\e8\91\93_ðÀáVÄs\81?ï©/\ 3\ 4'\eÅ8\91Ã\18ë·\ 4GR\80Ú\e å8e\ 3÷~yvñ\11]\19\87å\ 3\7f\ 2-fÓ°¼\97_@£°\ÿ\86\87|6   \1f¾Þ.ÂmSíÚpÙT/e³\ f«Ý}¸,_ªu¹ÿÏòÏ3\88\9eãq\93@XeâIøxhÚ§²  Ï\14¬v\8f\96ÏrúüÍñ|\12>UÛJ\ eA$ì\ eÛ;\bÖ\ fáyõXîÃaO\93ëÕNuÑ`4²WL»û\97Õn]Þ\87Ûzßî×Mõܪ˴üÐÔÛp½\bߪÝ}ý*>\8c\15L¡àÐÖç\97å¦l«zGÛ\12õþ¹®7á¡Úh\9ccÏaöë®z¨`õSýXïöá®l_Ër×\e
-7KÉÔ×\9b«ï\88\82®À\85;xq\944<ªáÃݾmVë\96ì¹÷\10Ëp\12®vmSß\1fÖtðm\ e\93ðíiÕö\ 6\10|ýRÝ\9f(\ f\8fÂÖrÕ<\96møº?\1d\19ÊþGý:hûV7\7f\1dW\1a½DU×Õº©÷õC\e¾\94Ûº-i\e¥84eø°Úl´æãpðfórï\10ÔK\19.«¦\·uó3,Êfh®·\92\88ôfµ-û3añZµë§ã\8cà\8e\9c\84ÛÍáñqu·)Yà§\12\9d¸^I\85¯\91Ê®ªo\r \1f\91\96FJ÷{S\1f\9eÃÕex·ÙÔ*zÊ\12ZáK¹?lZD¼~B¡¥\84£>Ç\1dË\1aî[¤D]à\10}¨w\ fÕã¡\91ÿC¡#\19$ø×\95Ç\1d\7f\1f\90½-"<êoZFÒ\96å^FlIÿöáóAûì\8dAD"Ã(\ e\9dP\85Q\81Ïë\rÚYÛp<\13 oëMµþ\19®W;L/\1d
-çì%]\1aß\9e~\1e÷\11>}&añ\13\vb«ÒÕ\89¾å!\1cûÐ\94p\r\93Äì\89\8dn¬8Ùaþãâ\1aýG\ f:\1d£9¢\ e$ë×:n\96YX´?Ñ2]$\1fûñ÷\8dBUHêiU¶kðûsôcì\10þÚdËr\86|55\17\8cKØQ\1fàQ\8f\12׫-cíÎ\1f§\91§p®Ûr\>GÝå#àq$£?>ÿþÿ\8fsÉT;\9cdòñ_ÿÆ\ 4\86Ð\99è\83]\94íáùí$Ñ#\fI\7f\1cÚeï´:.ø1ú\94\0\1aÖ\ 4.$ÝÜ\1eesê0Úsñ´Â\8ddi´¥­ÍÃÐÐ\ 2¢éâûmxåêS\17\8eÆ\81\ e£\82f?d§¬Îí\bü\8b \95§ÎG\8d\803\18óò\91\9b\0Þ¹\ eÚáR¡\ f\ 1{î),VÛ»\15ÅGs\8b?mu[\11k¨Þ\1cdÅU»°
-Ï\ø¦~\|ªv\87\1f\fgs|ýP\1e\1a¨÷â#\1eÞò øí¢l×\17O¼P\95è_
\8b(\89.:%ÙÐ\95\97É\1a+î×òh«Sò´ü/¤Ñ`§¤wû½\\f'4\8cW\16\1eX]îÄaÍÝJ\9e\1d÷\92säñ¸\1c(\12­¾©BÂ,.ñ\86¹)Û÷W\9f\17zSñN(yz\9c8<{õð§ë?>/\96\vyg\9c:\86ü\8c\ f\8c\96\1aýG\ e.o\16x\86Ô\7f\1d\8f\15\ fp¬®F'.>â\93BêÌ?ïÍø\87my¿-Þ]¿\7fÇ%ó'îâpY¯\ fÜá2\82ôí<Æ\1f\94xü|\1aÍùÞ{{9ñWùi1Ã\1fÖAæSÊüwyö¿³\7f\0.p\1djendstream
-endobj
-1610 0 obj<</Type/Page/Parent 1479 0 R/Contents 1611 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 893 0 R>>endobj
-1611 0 obj<</Filter/FlateDecode/Length 1714      >>stream
-x\ 1}XËrÛF\10¼ó+ö\90Cr\10\8c÷ã\94²­(Q¥d9¦\1c\9fA\0²h\91\84\82\87TþûtÏ\82Ø\81H»\eW«wz{gf\a+ÿ·
-\8c\8f?\81ÉB\13¥¦Ú¯|ÏÇOæ¿>ý¹
-"/7i\9ez¾Ù\9b$÷²   ìÌz¥àÞ\ 4~èÅ\8aÔ\18,tt¨Æ`ãÄ\vT,\84}\93f!¶¶ÂÅ\84¸+\85\8f\98±\17jVa°I6¯\9d\1cC8)¼Ô        \vRÂG6*¼hZ+¬Â\14ö¡a\95\84U\18l\1eò<³²=O\9c"A{Sä\8c\14ÀH\ 5\11\88\1fÃàLÚÀ(Â\11\83\vR~\8fl\143ÿ\8eU\18±\99OG\8e\85\16Ò\16¢ÖT\ e\13VY\90(+LSRvÇ*Lå\98\95u¬Â{\13ú)÷\9dY\8dÁÆÅb_\8dÁB        \99
-\83E\8eµg\9b*lÇ\9e)\ 2ÖN\80äØA\18ö¥ÙfRc°hT\1dª1S\11ð°.Va¦"dõfV,%E$Ý&\96,\98-\1d9kÁ\91\1aC\16½å\eÅ*\f6åá\14«0ÙÂK\16¬ÃÌ¿\8fã¸Xk8÷m\9f\8a®\0gxâ&\833©ñlرÖð1Ö\1at¬Â³aÅ\8aá)6\fX»df­á4\93ûQ¤ø'\11 \86\1d\84l\98ñ¤3©1XÜmdر
-ó8¼Í\8aU\98\86sæßÅ*\8c\fûÁBÙ\1aNbü\10\e\9b\b\10Ã\ eÒ0¯¤#5\ 6\e³Ó\14«0Ø,[Æ*\fK\81Ï\96\98·M#Bt\ 2/N\9eQW\0-)\bY\8cVX\9aI\8dÁ¢\8c©f\15f\1e$ÿs¬Ý\14\83X,\bâ®\81ï0ÏZ°t\8eå\17)\81\17\ eÓD\9aT\0#\15\ 4Ç1o\17
-ç De\b8Rc°¶L³¬Æ`³\9c\19s¬ÂLo0ûã¶\1a\83\8d$Ks¬Æ`ñ\1dDG8Va°Ø\aÅ\99Yk\12\r&\1f\a\99[\89 \9bC\ eø8g\b,G\1cÿ\16        Ë\1cÆ\98§¬9ò\14M`ÊÓ\11¢\1fؾv!9\ 5!\8aÉ\1c+RüÄRv\90¸©ØB\90ì¨0ý$Ôu¬Â`\vö\85c­0¾:òù,x.\ 1Ô-\1c¤,¿T\8eä\17\13\8b!.)\92\16²H,Y6äUb,?\1d± Åú¹ä(@çâ¬\82È\8a¥¨H¤\7f36¨\ 5ä\14\84lP ó\8eÔ\18\8f\98b\15FÁ}Î>Å\8aá\b\1f>&"@Ýbc\913\1caàËaQq\1f¯:"aYñ(\99Þqôm\81\1cÆAT\9cãLql \bãE\9ebRD\8b$PÈÐ>§dVD\ 2È)\b¯H\1c²0\93\1a\83EêqNÇ*\f6\8f\17¬M}`\1fSv\17\ 1\89\vÂ\1c\8f¿h&5\86l\96.X+\8bÉÃìYY\ 1NvâPt$hæ\14äIÂ\ 5)¢aa_Y"jÁ,zäDÅq
-B4ä\15w¤Æ`å*(Va\9e\92ÝíXk\bG\97r¢¿@
-¢£@a
-ó­£XvP\88ÁÍ\91\r\83Å\ 4\18ieñ\99gc¢^P\15 çt\10¢\18P±"5æ\96ü
-¹P\8dÁ¦Ì£b\15æe\89Ðb\8eµ\96¢éiÀwN(\80\96P\90#¤¥\82g\99I\8di\89·Ì±b\ 1\83\ 4ÃÀÖ\13\96ºÆܯÞÝ­Þ\¥¸ïæî\1e¿T¥yfîjù]Ê7wÕ¯\98\95æzÿÔµÏMm6]ûÒo\ f_Íö`úr¿)\7f»û¶Âo`\17\18â!¸:ðÌísÓ=o\9b\17ÓÞÏ!\é/\16\86\9eywÔëǧ§¶\e\16ºËÕ\91g>víf×ìa»owã°m\ f§¢±\12-«®í{Ó\8f\9bC3ôg¬Æ4ûWûbê¶é\8d^=Û6/m÷h~gðÅ«\83&\9eY7ÃÀt\8cO¦4_®?¬M\8f\937Ý©¯t±x>7ò\88ÀÛO\7fÿùéöóÇÓ°ì'a\97·7o¯?\9cÆä\9e¹j»\8a¾¤Ffhͦ1ÃCcöe?\9csWxæ¦|T\11X[·û\12ö~\14\82Ç\98ùÐ\ e\8d)7í80_e]AÞ\94u\8d\ 2õ\8d$übYD<1Ì͸\e¶O»\ 6µ\86\97û²\9aV.²+ué%·¥¹Ù²4íý`.·ýÐm7ã\80^¼ÚBcý\1d\aÚ\9b¡k\1aÓ\1eÌúlO\ 6,óõ\ 1¡cÅ®9m\ 5®À\1a\9eÇÚÆ\7f\9eF£®\87²z,Ñ}æß«µÙ·õ¸³+\17®ñÜæFC\a^v2å¡6U{¸ß~\1d»ò\Çâ;Ï\90j7Ö8Ó\8f\85\1cëíðºàT\80F×Tß«]s\8eÅÕÁ\ 5(\87r÷HzÙÇ\98û\9e>\94)\9fËíN\8eÚìúæå¡éDôÕA1³<s    ÍMÙ7WëÓm1\10<óÜW¥\Ò\8bEB±ãº©Æ\8e\rw¾d"¯3ùz\ 3\91ÿ,³è¡E×ÑFm0¦\86F2\7fº\1e\9bÚõsßýt9\ 6\89]^\9aûm×¼\94»Ý©&FÀqÑõÇ÷¿\98þ¡ÄL­\9bÃ÷Óµ\98\0\9f\9f¾ve½8õ²\18Üô°­Úºyó\1eRý¹±%CëËC\89\9b\86½ªi\99tÚhceZé\8b\87ÿiBÆy7lC*é7Wù4ú\ 3¼ðý\9c/h~Ë0Ë×ooÞ½åÐý\86\94\9a˶\1a÷Í\ 1m4ÍÝ\8b\0¿:2à"ó\v®\7f].¾¾³4Ç7\ 5d\923#\7fÜ­þYý\ fV·z\ 3endstream
-endobj
-1612 0 obj<</Type/Page/Parent 1479 0 R/Contents 1613 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 898 0 R>>endobj
-1613 0 obj<</Filter/FlateDecode/Length 622       >>stream
-x\ 1\9dTMoÛ0\f½ûWð\96\ ehäÏZv/C\97&[\80$Åb·ëa\17ÅV\1a­¶ÔYJ²þûQ\8eݤÅ0t\83a'&ÅÇÇGÒ?\1d\1f<¼| \ 1\841\14µã\11\ f-/\8fågǧ\94\ 4\10\85\ 1I n\7f½î­\82ÌI\13B!LC<RCHÃ\977ëD\1c\b\93\90D\10%\14ÿ\ax7\1cÖΧÜq')\ 4\1eäkÌ\1fÓ\ 4ò²M\8b\96âl´aO\867à{\ 4®Ê\1d\93\ 5/aÁÍ^5\8f0g\92É\a^si>ä?\1c\ f\86A\84ÑgS¹VMÍ\8cPÒÚ-¾O\ føÃ0B~x\ 6\ 1}\ 2K^+Ã!ãÍ\ e\93\\95µ\90B\9bæ$4\ 6ßïB\ 3Jb\eúEí¡T0\85\an`p«1Ò2yàÍ\0\98,aÐÁõÆ\ 3\87è\ 4(F\1d\10(\13X\ eâ\94J\ e\fH\8e¥\19\ 5«í3ÂÀ"ïi\8d®Aªý9lNó\9a\r\7f\9d\e°f¸V5\13R\ fΡõ\1f\88tÚø¶3\98µ§õ±×¬c3\17E£´Z\e\ 6bµ5\\ 3\ 3TF£\92 Ö\16Tsä¨*\r\ 5«*$,ù¯­nsc^\83¶V;Àóß\84,Õ^Cz\ 1úY\e^k\ 29²nÃßpÒ¨$\8aQmK®/­\ fGp\18ô2\1dºÓñ¶^wRtj\ e)Iìäb]ß\83\98ÂÁÛkÝ:\87}á§\9d:Uëÿ\11Ç;\1c\13\9b\7fA\19\ 6  ñÓc\85£J\14\8f°á¸\118\0¨\9a¬\14Ãa@µXSlÄ\ e\85^\8b
-÷Å<]º.>IÝw\8b\14ªv3l[%Vî<\9bM¦³qæ.Æ÷·\19\19ß\8f--»\18\9d\96\ 1}cpÂ"\Ã×ýýËPýq¸\91 \92Ü1Q±\95%بºKÙË~\9c«\9d\82öÐûKÉ\96wùÍÍì¥\1aw\92\1cW)L»}~ï\87\ 2Þ|\1c"\1a\11\1a'\87\11ºH-÷qî|u~\ 3¨özlendstream
-endobj
-1614 0 obj<</Type/Page/Parent 1479 0 R/Contents 1615 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1615 0 obj<</Filter/FlateDecode/Length 1673      >>stream
-x\ 1\95WÛRã8\10}ç+ºxÊTA\báºûÆP°;[S0;d.\ f¼(¶\82µcK\1eÉ!\9b¿ßÓ-ù\12\ 3SµEA\85XîëéÓG?÷\8ei\86\9f\98ÓÉ9eÕÞl:£³ÙåtN§\97\17ø<ǯ״\92\a'g'ÓËñ\83÷\8b½£Ûßh>£Å
-¶Î/.i\91\13ìÌðM6¹.TÝhOÇÇSúr÷á;}Ò¾2!\18gé½i\ 2)\9bÓ7cs·   t·x·øgoF\87óS\18\99\e\99\ e\81®\9dm¼+飠      Mà\ 3ìïø"ú;<9E°8\f\apñÕè\8d±Ob5+\94\7fÄoÝù\r´\ eüuSè\81ÇÙT|\ 6\9d­½i¶\94\eUº§äï\14ñ'\7fó\8bé9ûëc¦¬4Ú"\95LY\98ÖlØx²ª1Ï\9a:\83A7\rÜ\86d\99\96î_j\1c=#b       ·r¹Ym%ªµÍµ/·8\9dêq|\12\93\1cg2mëu\1e£¿s\r»W\rþ\18ÔviJÎ\ 5\1f3åõj]\92uxæ(sUí\1d\1a!ÑöAº\95\ 4 ~
-\17\1azPÕR±\ 1¿¶\96«æì\81\84\e\1aS\96£ðÜRoáµ,ÅÈÊ\94\9aú²ÃB©C\8cN%»*¯\8cE[½j\9c\97ú¡J\92Ô¸ÇÒ\1côx>¥?ݦ+\9cøèJ\f\96C\81\84#X^iÞ-rG\16hÿéÑ\1cH=úþ)uñ\80\18\e¥>DS³\1f´1M!ÉxóT4T9îïrÝ4pÅÞì\96$\ 4D\9f\e¯3¤\81rwa\8cê\83×m£sÊ=#£\ 4 0\19xõËÝ5Õª)¦ô­ÐVüUÚ®©vu8\×\a\1c\e\82\81C@+&u\9e\109¡OÞ¡È\8dÑ#¬N\b D4\ 2\ 6\ 4í\10tE±Áã¸àlJ\v\86ÌÒ\vF×µD\11[Ø9\18@wJ×\83\98¨QËq\\ fi\92â÷m\13&\ 2\9e­[£´ÀIÐ\f@\8f¿±¨á`×\f¸ Å~O\1cãDGïLèj\9d\e\9eµ\91k\ 1î®ý      Ýo¬ö¡0õè0×ãE­ß0Ü"BRÊ\14cD\ 38h.0¦½G\8b+0\99zÒt\ 5:ý¹Ö\ 10`\87\83üj\80\ 2\13\833h\ 3\8fi¡Ë\9c\96\91\11"Å0ìU]kåÉÄA\85+|\8eçá\10\80¦«áL\1d0¼TÛ·Ma²\ 2ÇG\9e\r@ ÆÉÅ|Yb¼\10ö\8e\19y\92ç¤Ra%      à\1d(\ 5ïqTq\fFQ\81@\9f`\96\a\85\a\7f@·mSw¼$\b\8dYÙÃÕÚf\r\85*ã0î\fx\ 47òoL¥ÑÞèÅÙrËDÌ|\17auÐ\ fÎYOå}\10Ò\8b£Û\1e¤iÄ¥¡Ü\v,\ 5\8f\a\17ìÆ\ 5¢\12´ÅÓÄ\1d\90\12,\99ëµý%{\9dô\e*ÒÆëàã\r\98Ö\8cLYäÝ\979Lh¿\83ïþ\b¿-&û\81î` \9bG\97%\9b\95I,\1c¹\8d\8dÅ{\ 25Yé¦L\0?Ð~\ 4\18«*\1dç\17\95±r¾¢ßc\10\83\1aÏÓfÚ\7f¸ùüõæó㣠öqòÑÁ9Ûy|7\8a\9c\93O/\81\r[\12W\1dßECãl\19\ 3\f0ݼÿpÿ \96ÛÈâ
-C\9b\9eµOTÑ[ãpÞ°%\91JªÃ­(ßn
-7*IW?îë\80hzO;9¿á2×!ó¦\8e¡a*&\93\ 3w\10\ 6ü\993Lõ³(7 \88õ\83\9d\92óÊá\87\7fÜ\ß?\8c"[\19æ\91a
+\981F`^\96H>SÁGÇä\8eÜF`Y#\ 1;ä?\0¬B¼àv¨\8e§\17#87\fL\90]\94Ø\9e\8f«+_PÅ\84¾Â\12¤ìHÄX?¾¡\13\ 1Òá]
+\88=\86\1a\9aDn*\ 1É{íI`É\bUqg¯å¬6ð\12z\8c\1d\18\ 4\8cjA\9d¬Ì\90!wÀgþòÌh×\98\92ñ\8fxE\84ÃIË#\9b\82£¸@2vù2H-[õñ\9fÌäãù\16\80õ\ 2\13ïõR\bÝÚ6¦ê\98\fy?¶­\ eNò%+\84Þñ\99!kØ,¤\16\ 2²\a\ 1%úøa\94¹Pt¬h0¼,\ fdRÇù\15ð»ªK0çH²\1cEÛw7W\bT\1f\8a\ 6\141Ê"\10\13úèMÎç\17ó÷\84\16\ 1\90¿\86\1cøVÈÒKSßFb+\1abbd\17\ba+c\fÜ\1e\82qáZv%\8c\10=º3TX6J\f\b~4\11Y[¨]!Aé¶vªB'Gþahd½2Øa¥VX\ 5\8d\9cÉLI\88Ó\82\b0\ 6\92töвX50syïz\7f\80Æ\93\88\1a\93÷Oß2ÑE\94í \eë<È4r\ 1Ú²2ù°\91V\96Π   ¥-³Òúá\aÃMW\1fñ,T)RU2è=F\9b\ 6"0
\84ð°I4Ï\9a\15ãy8±M\8f]#ÞÒ\89Ï\8d>0\a¶j×\86i\ 2i\0ZRHÅÓ[q\ 3¾§ÈkOZt\ 4h\97U\19'\80Û(\94ýÀ\816<:d\82C\86S\98_°:ò¿\10p\11\91\ 4H\9eg;\17¬\ 1\1d}³é2\80\9e\ e¹¾yaÄz#¥¡ýÅÙ\99Ûß\16\ 2Ép\v\14\b\8aÍm\ e\ 6ìAg\85ÑÊúÖÉy\1e\10\14gOj7<ñ\ 2õ\ 6v]o\8bwðå\83öÆc \17ÇViÂÙ¦­*eä¾ÏR×¹YÔ\83"ùý§Ôh\94Fpºï¿]Óå±\1a75ògË|\19Ä\15¢nú°£\ f\r\98\81Ĥ\8dÊw\10\ 2ôï.ß,\99ABFÆ­ä\ eÎåÂ\84áÛ\ã%\r ÇéØ\a\16xl\90\84°\87>\15¦(J1¿åo:)\80Æ2;2yro \92\ 2ñ\vÓB° Aè%¸ÓûÍ\99ÿE}ú\89i\90«\91a\8f\97cæè\82Õ>\18\0¡s\10ZáY\13:\82ç&*Ð=\98\8e\13íÄ¿\b\98\8fr;ñãoÀZ\18\10Gf½C\1e\7f8\ 1#^\11P-Ä\fë\98\15Ð"\14\86ÌP¨\90Ë\93\ e`"ä\8e¤lÅY\8aqç'[ôqgÖeõ\19
+\8d\99}Bì%¿eÃûò|\8aá|Z@zmXè\1e\9eçxß K\908£½tNïO¿\11ß'Ãé±où\ 6R?z(vjÕ  \7f÷@\fÜçÇ\84\95²ò#6äIî\8e\8f¤éýuôw¾Äëüú\8a\96ïý\eq}óùö\86¾5\86\a]º3Y[!\9d^\178\9c\8bnûÅjÆOöÿÿ¦åWî¯^±\8bÕ"Y-¯ñ\1f\ 4°´ºd\a>nÎþ>û\17\87òendstream
+endobj
+1637 0 obj<</Type/Page/Parent 1476 0 R/Contents 1638 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 908 0 R>>endobj
+1638 0 obj<</Filter/FlateDecode/Length 1956      >>stream
+x\ 1\8dXQsÛ6\12~ׯØé\932cÑ\92,KòÍô!¾Ä×ÎÄIï¬N®3~\81HÈBM\ 2,\ 1ZÖýúûvAB
+ã»v\9a:& ì.öûöÛEþ\18Íh\8aÿf´\9aÓÕ\92òj4ͦx\93~üë\1f£Ùt\9eMéz¾Ê\96TÑl±Ìnº§\92\1eFçÏøz³Æª¸\96¿Â\10Í\97ײs=K\ féÓõ"[Ãè\8aWÌå¡ÿ´Xe\vZ¬W¼\aÿ7\9av£ÛÍèònA³\19mv\88z¹^Ѧ\90`§´ÉÇ÷\ fôÕØÂ\1d<å¥Ñ6xªÔ\91Z¯IÛ¼9ÖA\17T+ï\ f®)<)\8f\87&\90Û\91¢|¯ÊR[ý¤/\eíkg±Iµa\ f+&WÁ8K\95+tùnóûhJ\93ÙU6\87ïñãXeÏ\99ÊèóæÓýËìñ\1d¹\86T鬾àßòR«\86\82~\räCcì\93§\1d^{SÕ¥N¡ÐVyDö­»\8c~Ʀ½kË\82\1açW¥ù\8f.\ 6þÃ^\ 5:\98°'\84J\ f÷·T7.¸Ü\95ò¢?,\19>«g/îE#",¶: \ fϤ±\e¯\8c¥ºTø)Ñ"È\94²\vÚ¶\81¬\v\ 3ß[\a·¼\ 1Ƽª¾ËW£ÿhuðY·m¾\ 4 HÙWäôd<%\ 1x\0c`\85\97°\8dóí\81ÔVË® \e\1eÅ)\16#n\7ff\8c£98:¨£ÿ\e»\ 5¥'½ß÷\96î?,ØØ\9e!ç¨\7fýüóß¿|øØ?¦lE¬2Úìa\1d\7f\9e­;Xæ\voú¼\11\er¬Ë»¼cãd\95­¹\96\98\13óå\8aØû\89«ò1\91f\ 3\17ÌçÎ\ 2\14&gpÔÖ5N\95\83\11\17¤,^qºjU\14\8c\1d\90kZÐ1.\9d-\90\89 }\17h\8c\9aãå=\ 3°\14ÌZ¶!d¹\8e\eùà\9f\7fýô\89Ùߨ\1cÉ\ 5
+ðéëÒ\ 4\ e\ 6d­$£×KÚâÕ\87\8f\ fô¬\8fðàú¬\93bO\93³\9aø¡RO&ÿ\81Öâ\84^TÙj\ e\91IìÛ2 \fh\ 6{\1cº\94\ 3Â¥OÊÞ+û¿3Û£øFr'óu6»¡Éõ\1cZ\82üÿæÚ¾p\1a½c¶;\ 1î\97®òéc\14\ 3®i\1c\1cª ì\ f\föO_¾n¾\0\10hA.EÏåZ90³ÐA\99Ò\136q¼ÆZÝ\frÌåÄ5Þ½îC>\93¥\9bkÔ§\9e\80·/&g\12äÏ4» ³\15`\17¸à\11\9b§«ìUàè^Ð\ 2:øÝö+ Z\ eeI$/Ö5«\16ã\9c\b7\94\99÷eyr\89\85gÁHõí\90\fwàCC\12SlÖ\11Tîé»\1cxð×ATÏ´¤÷\8c">"\8d;\ 5\ e\fEáÌi/Ý{õ\ 2I\ 1#\98x\88«h\]3wzáªÀi\91ÔN$°\TÂ\14ÐVÆm6¥ÊØ\96i\86§\18nï¸\17pQ#\ 6TÄD\85 «\1a}\83\v\11Çå\ fì\ 6uS4\ 6\ ePª¶cÆ·Ò$ÑéâB¶Ä#\80î\13í\83Ú\96Æ#y\ 3²°é3k­ç£¡\ f©|\ fo¹«\8fCYêCïy%¡ß\9b¼qÞí\ 2S\19x\88`ôY>\81Î,\90Ø\80\0ç\11ëz¤8Sì\95ý#Í\1c×  ¼AÐ=\94\9dâTZ\81¦\92\88\ 3Ë\14ïmô\93\81\12\1dá»AS\90â\82ÄõÁ9É\8aER$åÂÌSÛéíCu\87Ý\86QPÐ' Ãu\16\9b\92xUéH\1d\1cÆFC\80L\ 1Í\84\15Ú¡\90ÉÄ£6ºrøômQ\fNÍå
+\8d(\1c\88\846\982\97:dÊs/Åg\89\81
+ho¬    º<\8a\ 5EOÎ\15d
+­ø@L\14IÉÀñ      \87ä!9G«óm¾ï'\9d!96\80"V.ã\9a°\0\12PYÌ\13`·´\e\19\ 1TãÚØj\10«oE/úIêæµsqêLl\91ËÅ\ 2ß!­¹}ô(Â\ fÈ\85*j@\93Ê\ 4Q~p\ 4-%*2Ï+]r\ 5ÉX\ 4gCÓ·°È\19/ï¦t\13ç¿É|\11G
+v(C\1d\95ú%Îhcú±ëÁ*.\1f\e\e\89f\9fÛ\98Mc×è\ fô\97M\9cæP\8c\18Üwn\93ºÑ\83ª¶*\92\rÚÙõs)\8fä¦ËMGUN)\92R:÷ÜÖia?]\81½\8agD®\96Òåj(÷þè¡[¤ò\1c8bâ¢[\9d+xâ\ 1çß'¨Xo^x u\16Ã.ôÅâ\aÞ¡±YØMq¦i@\14\839yy§º9g\9cÌ\r¸\9a2\7f\9azÆ'Þq\r4\18ðà\10\bYh¸Æ02$íO\88\ 1\95vqb\10º­\9c!\9e\10\vØ]©ç¤\1e\95ye½ä줸ß*C\8b\1eP\0 \96;\19YÎ&\16\ 6\85\e»J÷\87\13ë\81J'Ó\f\90ê íXû'\84}3\7f©:ÞÈØYLUë\ 3\17ª×2\89±´VêÕTmE¶­¶\1cðîT\92\1a´Eïjè°7ù>B¶L\90\81\16¥Ü\1cα\89\82ÊÀ\9cæmÜcX\rEÑñ\ 1N\a(wçþòÀ4\90\ 5\85\89\9c\92ù°\9fV\10\9eܹ\1eÇ\8fï$\11Èï\90Kÿ/\17c>à:\16Q\1c\1c¹\1c\18èAL\ 6w5ë\11\ 2úsoPnw\9eï\f»ÆU       V\ 6º'\a\8fM¸ªy\96_\1eKÙz\9c\11ð×\13\1e\82\81¼ñÔ\1f«\99/\ e\ 3ÏÂ\8dªÆ\84!%\8bÁ½j\83\\16\99©ñ]?tvÓ¹\8côè\8e"\83¸&òLÄ\7f¡nÑ\94\140\ e\10\9eë\9cçüÇ1\13ö»       /wÕÖØÎ\177´ÇwÃjÚ\802[\f äj\19e\99¾\ 5~gëø=v\9cÔO¸.Þhh \14®\\´M\97\aìF\1a\v\99èñ\ 5E=ÌʾÑ2ÛìÌSÛÄ»sí¼7[\83k\85ANÙW?~ Oo¸\95ÛÛåݺ£ðl\89\7f\aX_ÑòºSë\87÷÷·ïé\97Æý\8ei\8c>¸¼­ lâ\8b£\99ô\e&«)\9aE1\86Ê/2\82¾Ð¶Á¿\ f°ÜîZ+#~¼òìyÄuèÓué\8e¸¬Ë\80Â`á\r.Nò\98¶Æ²\17Z°·Åj\91­\96ëxû[]ñ«\8f\9bÑ?Gÿ\ 5Ò\14°oendstream
+endobj
+1639 0 obj<</Type/Page/Parent 1476 0 R/Contents 1640 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 913 0 R>>endobj
+1640 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¤D\83úendstream
+endobj
+1641 0 obj<</Type/Page/Parent 1476 0 R/Contents 1642 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1642 0 obj<</Filter/FlateDecode/Length 1199      >>stream
+x\ 1\9dV[SÛF\14~çW\9c\81\99H²%ãKÚt\86\84$}\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òôÀëô$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ÑÍÕ\eú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*©üÙW8êß\89ûáÐÌêóômúaö~6=Öû\92é\ 2\9dDJÖ|]°\86\88\f\8a\91Ú(Íë#9\eÎr\92¢2SظQí\12,\88mv\f\0ã\ 4\88\ 6\1f\8b\99'\19h\83A\7f%F\1fEù@.\15±,\93­Ð$8\a\ 6xgÎ)C&Ís\e\81³¬°3\7fALÑ\9aW\95ùkb\9b']¥     d\81ίoéS)r¹V4M£Ø0½Æ[¥à!¥{tVºi3Ý\82=vÜßÚ²áyhÂEï&[Í\ 4ñر\18\b\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ÿÛ{Do\85\91ÿ\8d×äKúy¹þÅ\aíØý\18\14\ 6äã\ 6ìûC\1fàmhäÑ\8eCÚ#\14];.Ñ¥ãìq\1a\80k0<\ 3\1dµ\9c\ 5\17ä¬\ f´Ã\0sCfFÞ8঺1\ 6×\84ôû\13·\fà\96\81sK`Ú\8dÚS`×\b¿\ 3Ú\ 5«P°Á6ç«H´PÙ©WÎ_\ 2¾\7fzw÷C\97ñ\18¸Áÿ9³\87\9daÐ^6\93Êâ\82\95evW\90Ø]\ 2\\86\91"«Z\85\f\0#g\81nÆ^ufÂ\8b\8a?\94ó\8acã1x3|F.y\ 3\97\ 1\0ah'\86Å\f\vët|«!´\80URp\ 2ÑW e@SIjɳ\12:cn  \ 1Fã\\0RBvÆð 1Dw\16¶ç\ 6\9d Ý4=~.\85\ 2\13h:K·~!¸¶\9eiW\8a­£Ì¸za»0zö\ 6c-\ e]\19»\ 1«\9cíúª]D\93.0ûÔçCó QýÈ=\97aÞj,_ì\08};r\eÍZ¾¿\10ì\bÂ\9dX\17%\f\1ac¨¤±\1f´\8e9\1c4·sÈt£43\v<r\ 5z¶fÞt\ 3\}ú\94L\1c\8ewñpd¯\ 2\8fnk\9f\a\17±»\17\\8a\ 3\8d&áC4Àej»±½¶j^Ï¡+Ǭýd¸\ eåçG3u\13C&VÁ\9d\ 4\8a_aÄÒ\98éNgÓ\94ºÜWî\1e\0¢vrþ/iÇ~\ 2ýd\1c\8e'      \rû~ùÜ^^¿¾¤\9bF~ÁÒ +\99µ¸\1a¸\19ZXûCÜ Ç  \ 5£\1en_[û2BY\94÷f\a89\18«A\13-\0\12\1aËÂÞ¢\1c\b&Î`4\bGÃ1ä\86\18£\vó¯·éÉo'\7f\ 3®\91%9endstream
+endobj
+1643 0 obj<</Type/Page/Parent 1476 0 R/Contents 1644 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1644 0 obj<</Filter/FlateDecode/Length 1698      >>stream
+x\ 1\95WMoÛ8\10½çW\frr\81Äu\1c7Îî-\r\92Ý\ 2EÚmÜv\ f¹Ð\12\1dq+\91*)Çë\7f¿o\86\94%ËN\81E\90À±¨ù|óæñçÉ\ 5MðsAó)]^QV\9d\13z7¹\1eOiv=Çç)~½¦\95\9cMÆWÃ\aï\17'oï\7f£é\84\16+غ\9a_Ó"'Ø\99à\9blt[¨ºÑ\9e..ÆôõáÃßôYûÊ\84`\9c¥÷¦ ¤lNß\8dÍÝ&ÐÃâÍâ\9f\93 \9dOg02ºÉ2\1d\ 2Ý:ÛxWÒG\13\9aÀ\aØßÅ<ú;¿\9c!X\1c\86\ 3¸øfôÆØg±\9a\15Ê>ó?â·Þù\r´\ eüuSè\9eÇÉX|\ 6\9d­½i¶\94\eUºçäo\86ø\93¿é\1c5\80¿\a½!cÅÈ£ª\96\8aK\ 5\13^\97Z\ 5M&È#µ4%[[9ßË\92²Òh\8bä\e\87X4\9f4\9e¬jÌ\8b¦]\ 4A7\râ\94\10P\93\8bË\98h\f\8c\96î_~ý\ 5     K¶\95ËÍj+N×6×¾Ü\1eK}Ü\16ø*¦ûà\1a\1aüAÈm¸ø\98)¯Wë\92¬Ã3G\99«jïÐ9\89\vÒ­Ä¥\94¸p¡¡X\f\18ðkk9\ 4gÏ$ÀÐ\98²LîÛ\ÜRoáµ,ÅÈÊ\94\9aº>ÁB©¹\8c\88N%»*¯\8c\ 5\ e¼jPÑLYDÒHRCPH7\ 1\8aé\98þt\9b]©ÄÇ®Ä\0ak9\14H8¢ëH·ï\91\0^h\86\91\88ý;#ÆQ©Ïñoö\836¦)$\ fo\9e\8b\86*Ç­]®\9b\ 6\91\ 5\f8C\ 4\9e\e¯3d°e\bµ\11à\ 5Ûè|P¢Ü3(J`\ 1S\84W¿>ÜR­\9abLß\v\1dñWi»¦ÚÕá|]\9fql\b\ 6\ e\81ª\98ÏUBï\88>{\87ú6F\ fp="À\11Ñ\b\ e\10´CÐ\15¥Þ²ù\167mã\16\8c\96¥gxÒº\96¬­ó\95*c\8a\80\93æ\88ázÆÅ\88UêO\8c\0o\ 3lP¡\90©"\vD7j     X¸8¥\83\8a4®¦Jù\1f±Toï»ô\1eÓðî·q4¦Û®&\88[\8c\83v¶n\8dpà8hFµÇßØ®pvP¸\8e=\ 6Æ\ f\8eÞ¬sÃs;<ÇC04ûicµ\ f\85©\a\87\ fË}ÐÊWÜ´\80\93¼2Å\10ÔÀ%°\ 3ôjï\81 
+¤ª\9e\80¬~®u\0æ¨\ 6Ê\80M|\8búðÈ\17ºÌi\19ù$¢\1d#ÄQö\98HÕµV\9e\0¸Âçøv¤VºéOë\19£WµxØ\14&+ø¸\ 1æÁW9O(\88\0£\8a@÷^\94'ùp.T*³$\81q\ 2J#¡ª\bÁATàòg8á9\8cÌ\8cIÞó2&ÁtbWÉÃ\9e¯Ö6k°ªÔ\90¸dÖÛÁ\15ê\88³\83÷\1aSi0^ôâl¹e\8ag&\8dØ:ëæòÝn.obzoï[ê\19íõ\91\e\82µä\91"Ì¥*Q        \1eÄ\8c\ e\9aÂm\80oGK^%Úþ\92\1c\8d\19©é8\1ey#§µ'\93\14iýX"§;D\9f\ e Ý&Ô\91Æ\ e\v²ÊtY²Y\99ÉÂ\91ÛØXÁgÐ\9f\95\96r\87À\9e\1câ g«*\1d'\19I'ÖÂÆ­è÷\18D[hÎ#-¾ÓÇ»/ßî¾<=      l\9fF\1f\99kØÎÓ\9bAä½\97À¸í\8eP»ÞECÃl\19\b¬/tóþçG±ÜF\16É\ fmzÑ>±Gg\8dÃyÅ\96D*©ö\97®|»)\86³¹«\1f÷U\16p´ÚyÚËù\15\97¹\ e\997uÔ%\rÓ=\99\1c(\84ÒàÏ\9caª_d\7f s\85-\96·Êè\8f»ÛO\8fl»Ç\1a+ÃÔÒO¡V!l\9cÏ)W f¨§§7{\94\9d¸¯íâ\btîBúò``\80|\90\81Ã&\91Å\12ç¹åÓ¶û\1f"eÕÊ£ãX¬ÃÚX(\8e\f{a]×Î7G\8a\ 3ÕÁ3\16\9f@A\8b:\1c­Ty\18\17\8a\14×t7a;¬\86\ 2}j¹\ 2\8cÔu¿M¶W¸Ó;\0fë¬\1e\0t4Ì\ ec\12\ 3k\8d\8ch¡~hút|º\ f¹&2\f\8f"r\14\19\1dU\9fÌ\1e¯«Ø>`\rÂ!\9cõA\97+z\1a\89þH\fa¤v½\1cd-å&Ô¥\ 2\91µË\80      \80\ 5f© î\ 4WI\88\b¸8\ e\1e\ 3îÈ\1c\9e\16I\91±"d²\J\ 1z~\ 5\95\f\ 6øP\ 1\8b\805¹`Df\15\1ew\17\ 6¶¹\97k»S U»U     \10Cä@´Ã\16d\1cK`\19ç\9e[õ¢L©\96,úx\11Äpco:Õâ\9d;\80\18'>¦\eÈpV.©\9a\12l\12\94²ÚùÆÄF\15ÄaUG\9dÎ\97\9e#ÝRìµ\17YÛ8N5­\968Ê©¶XËÃÚ\8a{i \97\18\ 3\9b$oä3éXZ\7fG\0\89þáaTÐ\99 \1e\r¯øò'ú^Ì\1e\98ÄÓvÙ  \12dëîmí®\e\83ü2g-$vÒ\15éö\10¯h\91yyê¸ò¿\828\17)°f\80 .ÐúÒeP¸\ f\8bûG\ 1~ØB;A&\ f×\11ó\ f®UIÏÇóÀZ¬\93èù$6¸";\84 \1eð\11otÆô\10$\90¶¥YÆo;ÎCûww\19
+\1a~\83ë+$\15Ä[<}\9dØ  Í\9f¾\8b·¾ÿy)§×.â³ùl<¿ºÆµ\1f\17âù\15û»[\9cüuò\1f\e\15"\9fendstream
+endobj
+1645 0 obj<</Type/Page/Parent 1476 0 R/Contents 1646 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1646 0 obj<</Filter/FlateDecode/Length 1688      >>stream
+x\ 1\8dXMSÛH\10½ó+º|Á©2\ e&^\eö²\ 5\ 4¶ØJ\ 2\e¼É\1e¸\8c¥\11\9aEÒhgF\bï¯ß×3\92-Éä£R¤lfÔ\1f¯_¿nñïÁ\8c\8eñoFË\13z· (?8\9e\1eÓb¹\98\9eÐüt\89Ï'ø1\92\12\7f0\9f\9fL\17¯\1dÌÎΦóáÁÅêàíõ\9cf3Z%p²8]Ò*&88>¦U4þC\1a\99oè<Ë\94Õ\ 5é\84\*é^äkA+)ò \89g¡2±ÎàÞèÜ\1fçB\15Í\9dÄ\95d\95\93Ó7«\7fàè\8cf°Ï\8e\8eÞÍ\11Ì*\1eÏfÓù\94¾(Y«â\91\12\ 5CÚP¬\8c\8c\9c6\e*¥É\95µJ\176ØØ\ 5{t²D¦°±BL.U&¦uå\1câT\96\ 3    ÷\7fi\92\eÓèngkÔ76n\9e\9cÒe¦¢'\ e\ 5f`ÓÒÚà\9b¥ª$\81°D¦\1fi­_p&\1cÙT׸¡]ÚúCf³w(\f¢êDN¢\88ù\ 6ýõéæoÒu!M\8bå^ÆSâtÂ\1d¸\8f\95-3±\911\ 1T6\91h\93Ó¯ýÜàõd\11ð\1cÝ_}þrõùᡲpò0þ \91K!rùðf\90s硯)ê\1cL\8a-\ÁÐ\10§\0-}\92îâæöÞ[nS  ´\80Ûgi&Ck\1cÎ7lùH9ÄÖ\90GÉÿ¶N5?ÔA\15Àøâzª\80~E<ôÔËù\e.ci#£J§\9e%YÇ\15&\15Ë©dÃ\9f\19ç\ 6¿\ 2p\8b\0÷
+El\8aðûÕåíý ²DÉ,î¥P
+kk\rZÆÂ\89µ°¨\81o\84\ eò7¡£Ja\90¿k!Ú\15¡p$¢\8clU\96Ú¸W²±Ò\91Ó\14\12¾\91Ç\89ÈlSж_Æ\9cUC!ße\9e\85µÊ2Z\ 3\ 40¹ \11 ý´òÙ\a\9bmÿtj0ºB\85\90\ 3F\8d·<ïr\7fÏ\ 5Ì\8f®+ø½Ô\853:\e\r\ 6èZ\bÈö\9a!VI\ 2Î\16ÎWÆx6Xï¾\95\ e\84¬¦\9bCx
+õF\9e\ÙZ \9a\fAÇÇ \96\ 2rºë¼D\19ëv\12\ 6Ý
+\12\ 6éÚJØlJ×lón§1ýjqÑY\½ZY\aâ
+0cKõ·\8fFWå[Ð\ 5$\ 2#KØjU#ÒÆH[ê"fr\8e\8c\14ñhB£Ú@Yù\83|\91Q\85\8fßI(X\ 4BH,\17e        =Yo\1a\91V\ 5\b$\0\8d\91\92d&sÀJ(Òùå\aªUÐ6:4\87\13:¬ñ\1fGuørHkålkË\9b\0\ 3\18û\81Ãd\añ s>ÿ\90tç¬\efk\9a\1e\16\19\aæ¡ú&;[röá\1fOÐÁY¦ë\90\03Íq¿ö\1c7W ²¡6>¶N¬A\98\19\83m\14\9dÎè\99êq\b­%
+\ 4ß\ f{Üi´]£ª\bÃ\87]¼úD¦#À°õ¾\eßcò\ f2U0<!m¾7^ÍyP§^Ø\1d\ 4\18¥-C}DÞí°_Ï\99\aÅ&\ÝÙ"h\13\ 6\98.\ e\1dó\ 4Ú     \9eE:Ï\91\1dªÈ\8ao¡lQ
\19Â\12H>,áÞ­(\15Åã¾\féfÔ´Ú\85Ù\9f@p\ 6Y\ 3e/?\ 3/A'+[yÙg\bv)Y4D\10ÌÒÈD½ìÈÄ:¿\9fÅ=*\81\9d\81ΣHZ»'\97Í4\ 1\18\8dØxN\ eὨ\1cÕ¼n¤Ü¸\18\7f*\f\r¯a)\88Uè^\88\88ÛÓ\9c9,\b£Å©¨ÊDCh?×|\19
\87¢@]Ðö\ 3\84\e,}&Æ&Á\12ÁviÔ÷6â\13\1e \12Ã\859\9bkh³\ 20@®]\ 35æE¦EÜ\8e\97½:®ÄÓP;ny>ÙT\95{¨±.   \aEö'±âÔ©\ 2\87\1a r)
+?Î\v\877>(#y|¢\ 5\99\7f!Õ mýd\ 6é\ 3ÚT<·\vÁ~ï\8en÷b\83(2íY00¯jX\88Rm\ 1\ 4t&Ò\95±\18A\1aÝð$        73­\9fPr|\11ô\9f4zBmøüm\10M\87\85Sú¨Y]¤ÃòmêÊ_#Å\8b\91*T¯¯-_\1f¡\a|\82\12þ`\92\9dLéývý¾ûá8kïbÞr ^²ÐÞ×÷aÆÚ\8du2g\1c\91y­Aôfp\auèËoÐY?nùx(ÎÊ7XGn¹9\99\rþnØmÚñ¿\ 1¾VfÉ$À\80\1d½\9bëíFÍã}ë\ f\13²\80]\8bt\9aó°\ 2îqöó×Aõ;\81¡£­Ûd²áÁw2¢\bãÜõÇ1É\17\11ñfÃùY^\8cyeñ\8dÎËèO,/\93íÆ\83!²Fû\85±Ý[¡\9aìZûCÕY±o   \8d\8c[hvÐv¨Øö\1d²È¶ìmLûÑѽ\eÔ\86U\ 2\r\899\ 5¤_)é\1eÒªÀû v\9dx\0ø¸'{þ\8d\8cÇ\90×Å\16V^`|8>÷ö­²Ö\15Ö¬Æî0óæ=fãi \98\b\9e\ fíuÔª\9b\13«,Ê\8dmÊHW\19/>(Uè\ 3&'\17q\80\ 4\8bäPïBøTȺ\9fÀvMCsù\8e¶)/q!\ 3ä#ÑØMG\9f6ëÿl\81¿
+\9c¾ã¿\11ðÂy\7fþñâ\9cî\8cþ\ak\ 1½×QÅ\e\9ep\90
+\86ú¨½~´<>Ûî³?ÿJ>_ΧËÅ)^êák¹d\93\83?\ fþ\aLÙ@»endstream
+endobj
+1647 0 obj<</Type/Page/Parent 1476 0 R/Contents 1648 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 918 0 R>>endobj
+1648 0 obj<</Filter/FlateDecode/Length 1633      >>stream
+x\ 1\95WÁrÛ6\10½û+vt\892cÓ\92-KroJÝ´\994vk«Ó\1e|\81HPBL\12\f@\9aÖß÷-\0J\14é\1e:\19k\18\12X¼Ý}ûvñãlJ\13ü\9bÒâ\8a®ç\14çg\93hBóåm4£Ùr\81ç+ü\19I©ûpu³\88\96ï|\80\8dh\12~\1e\7f=\9bM\97Ñ5ÍØTN³\9bÛèÊÿ'£'of\ e+9]ͱ
+?Kâ\ f\9fÖg\97\9foiº u
+Hóù\r\13gyBëx<\9dF7\11\89J÷ªØRª2IÚP¢\8c\8c+möTJ\93+k\95.ìÇõw\98\9bÑtêÍ]\-¢9Ì\8d{ûE\91¼o\80\94%aɪ¼Ä1x\8aw¢Øò¹ÕNb\8b-3±\97I÷LREø(2½¥\8d~;g\18\13º\98^#\ 48\9cO\8b3\15¿\ 4;\1eåM@9¦\87¯§¸Ç´©«J\17\11ý¦\eù*Í9\1f\80t\büe*W\95¨Ø[¼\15\15        ª­4TH\99à\8d¦\rÖ5¼R§çÄG\8bÌê\1e"UTÒ\88Ø[iTµs\1eØ
\85IèIä\eÑñ\91ra_\10\18\18ËEY²\e:¥»\87'\12Ue\14ÐÊ\0\86Q0\b>\13HzÇVâE\16\88\17/\88c]\17U\14V\80\ f3\ eÕ\97Ô!)\85\11¹\ 4F\1f\18q\bU\ 1\7fã\8cl]\96ÚTþk\9bî1'ÏÊ\8aÏ÷_@qG\84q
+<\ eÌ\91\1cc>¨\80O{vBæ¥ÛÇÛ­\8ck£ª\13bQ£²\8cR¡2<!\¢ð'´Iìd{´\8aci-ÝÉBÉdÔÇ\98ã\9bØʾãkÐ+UÆ\ 2ÅÎÑDS¡+É.¹,\ 3ìé\89c\1a­\92¡yÏ\1c\ f\17\ 6PÄUmà&x\ 3ÛÈ\1a\93Å2g}\92\88üóXU~ÏV½\82?λ\8e\18\94\\80\ e+\ 3(\fßÈ\9c\11\97FÇ2©AÀX\84\98\81\13Ì\9dD%ì\14É7D¸\92ýÐ<\7f\8c\83ù\14-¹÷º\86\99\82t\91íùÐ\ e¦\\14ª¬3\81#\11\1c\8c\ 4=Ø¿Ë­ÑuyÙh\93\9d\96*\a\ 1`\ 6\15\e\ eFEÔÀ¼'ì\ 4ß\7fÔ
\e\99e½£¡\v8Òú\82äÃ\19^§^BÎþºÿò\ fè\1a\84í'\1dl?)3Ô\12ËÎóX\82c¨iöå\9c\9c3ç¬yΡç\8fL
+\ eö+\I\8dÎ\9dÿm~;jØúy¿FèY\9czn°TñÞ\82\1aþÁÓ ¯\ f_ûY
+ÚÄ\18J\ 3.s8\ 3wXyÊ2\ 3ëY9G\85î\86d\84 9 .*V%2"ø\8f\ 4÷P9@¯J6nu×\1d±\15!s\ 3ÛÈ<:\81+R@\90Â0\ 2X¢ûõЧ\81Ki&¶ÐJK\89´1ôL&=Lb\83`·$É2ÝX\ 6î\84.9eØFÄ/îý;\8dJ\17±tûv\ 2EÖf\10(s\9fFÑ;5Ð!Öy©\vxاÏÊ\92\ f¦WCëiÈ^\8fÌè\9cFÍÈ\95ÝèmD\eUá3èV "´úùw\ e\ e¤8%\8d\aÃ/\ f²×Ñt[ÇÐ:×V;\95\93\19Ä\995\1c\ 4À!¨u\8bW1×\96³\8b\9f\90\rpBm\vmðÅ\91¬%H \83\17\1c]®ïÞß\8c\10\82\1evy\80½¢Ó¾q\18\83×P\18\96oxÙ]\fió¼ë-\ 1è\ 2;­´¾ 6}}Id*ê\fý&PÚu5ô\0Ì\1fÖ5\ 1g\17\rø0\898BC¾!¯Ö ]Ãý\99\89Ò\b(\13?ä5T¸.â\9dd\9a¼Sp\8f\12\13FÜo\9c]\87à½|\83\8eqT\1c\98\ 1\9d\9du\14÷ þÑ\91S¤â0\8c\fKcPîý¤ø\92\85ÿ\163\83\ e$F»ÏN\82îTÉ\ f&'Z| ²§\89\8b\88ØS\90»\9dÚî2üq\ fìGà¸\93;\89\9b¦ÚU\97\9fÛ.\8c\9eøètq\10\12ß\16\9d\88º       \ 1\949Z\84\1fNÀ]Y:6\952\86`\ e³ÆüÒ«Ñ\87¦@?Ý©rpä1g\10ôãäè«é\ 4óÃ`/(y\b\86L\\ eºSòÅõÌ\8fK\18\8eç`Ýq\9asÄäÀPo\98\8b\8däNÉ\83\ðà\8a\e?F®Ã¬õßÓó=÷u7\86¸áç89ÜðQ \14+@ªk\9eB\e:\1ad\86 .+£3,äº8"e5m[èO>Òí\98\a©içÁ\83(u\81\87Y\11T\86\9e\1eWè¤MN»ûP\99\9dU\9d\0\9cØyom°x\1c\1a\1eXÌÃìíè\18Â×áâ;Í\93E\ 4z²w):2Ä\86i\fÓµo[<\86\15'%å§æÁxÓ££¹l.ß(4\ e0Ýß\0\90$ôx\9e`\ fÂã/6På.\bD\14\e\96ëµn\1a\95¾ypÙx%=MÖø\10Û\1e\946cÇè\8d\8fÔ\88h\85ÁÛu%Ï+f\91»k¹\16Â×\1a¼àaÑ\95«¦\ fÓ\ fþx\9e;ÚÛ\81¿\10É\14«3tÈVïØ\ 1\ fr\19.\0Ó9.µËk\q§þJö´úöiE\7f\18ý\1d]\8bît\çh\aîZÅ;/Ú\r\17\8bÉ-\17Éÿ¾\85Î\16³h1_âJ\8bÝ\8b%\eýe}öçÙ¿"'à0endstream
+endobj
+1649 0 obj<</Type/Page/Parent 1476 0 R/Contents 1650 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 927 0 R>>endobj
+1650 0 obj<</Filter/FlateDecode/Length 1305      >>stream
+x\ 1ÅWßoÛ6\10~÷_qoq\81T\91\1cÇv\ 6ì!Å\9a¡\ f\1d¶Å\8f}¡%*f+\89®HÕõþú}Gê\a­hI»b\18\ 28 È;Þ}w÷Ýñó,¡\18\7f        ­\17t½¢´\9cÅQ\8c/ýÏ\9f¿Î\16\9b$ZÒj\81\8fTÒur\83ÿ~UÐÃ,\cw¹\8c®ÃÝåmtC7«u´`Ùõ\1a²~åd\83uIËds¶\e®±»Üô\9aXÖ[µÜ°\f\9bè\96üÊi\ eÖlÕ\ 2²Án°f«®£$Øe?\17\8b¥Ó»^D«vÁjßlgW÷KJ\12Úæ\80mµYÓ6shÅ´Mç\aY\97Ê\18¥+\13½Ú~\9cÅôz±\ 2vÛlþÖ\18YY%\8aâtI\7fÉZÓNYCª"»\97|öê^´zçddÚÔÊ\9e¨\14æ\93ßì.\9d»oø9ÑN\92­¥°2#aH@Ê\92ν^(¥ÆÈ\9a\94ñò«^y¥íX%¬ÒG¨±\9aw`ur\8dxÁêt/ªGyI¢ÊHWÒë\165.Þkÿý-4è /5Fà]N¸ÚY)¿\1e
+\95*[\9c B\19:\88Z\94Ò:sÝ\ 1«\9dn\83¯ôE\14\8dd\ f'\80J\9dÿ\930\r:¡ìPë/*s8\87Þéò ¬Ú©\82±>*»§\a\ 4\18Q;î¥ó\94\rì\ 3Û:G¹H[1X¦*[ë¬Ie\16ÑV{(\10\10\17\80'\98\96:Sù\89\ fõø]=Öº9\\1du]dÁ]\ 6\98CM®
+\84\80£;\ 2\v\8eÅk\94P\e´.Õ~\93_mëHº\97é'\87\k÷¹ú\×­~\12\8fBU\86¯h£Ì÷Mg'¤R     {º\1cÕ\1eØ°0ú\ 4ê£\10Ñ]\85\94å\9c·{aéÈØúDAÞñ\97T×µ4\a\8dT\83cî¤óYÓEráM9K\15NCg\8a\16Ù1\14gU׫ü\97\83<}¹þ\84½ä\fªF\15壯ªÇ\ 1À È}Aí¹¢\8b£8\19\1fx\0"éBW\17c\ fÿ\8bªò\ 1îjëIxC\1c~´¶d\90îÿSiù¯4!ûl­RËôíQ?ç&.·8\1e\a\9dô\r*õô;Ðý\8b\ 5\15 \8e´@Þ\8b\ 3\bÔ\11¶+X_Gpàs\ 3\1f|­ ¢t\9dÉzlォùLÕ2µº>µDqT #°\1cL)\9dJG½\1a_@\90\8c\aò1\93&­Õ\8eÛÍN\7fqÅ×±\87ü\9aÊ\83\ 5áqb·<\1d\10\ 2\a3\ 6:\99hyÌLR \ 5åc\ 5Ï\89¹¶5\16ðXOÝû$ϧ\1c\0¶ÿdÊ7Dq\1c\8b\89Ü\99²l\ 2\91\1e\9d\10\98\4\ 5âÞ\93\ 5óÈ\8bÍs¸jjÌèo`\ 4\ 3(x\14h#\1c\8e\81k\90Í?`ýèÂ\91\95 Ùvª\1a\ 6§Þ#î/íD\80®óM3ÀK<5º>\18\bÚ\9d®9¿ã\81\ f\81\ 2µ·¥'+ç\8aïÒÁ qFG®C
+L\ 3Y©*\ 5\9e\12(^Jñ\85{¤ë ~t1{ð\ 3w\1eU\18\ 5¡3\96«Ü\rj\§<\9eàVMíDÂI\13ÜïÚ%\ fE®]\82N\ 2\83Æ\89\8c.tÒ\r\9cª0AhgSs\098kà0¤Ýµ¦½4o`Hªyl*\98®\86®8e\ 4ÜÃgU»I\b\194p¬Ëd%Ý.eZ\9aêÂúñ\0çOܹ­J\9bBÔí\fâ\1a*cÇMõ\92õ{(ùþ\ó<Ì\10õ)s>©ãÁÔ¾\0úAÇ\94»\b\ eå\1fæ7\1f^qÌ\87qhîìîYÙcb\ e2U¹J\81\95ë8ô\93\17êº\ 2¼ëRæ\8cãèg7ó\8d²j\82{øàèT\aÓ\89/\1d\1e\18Ï©\9c\12AiuÊ\a'\ 3\82VqÉn\87\8bo7î\9bg¼îÆ\8f\96ü\ 2ýÞÙn¿/ôM\e\94\ 4\8fÍx\83Gèj\13\11óp÷þÍ\1dý^ë\8f\80\9a~ÑiSâ)æú\1a\ 3ôº\13\8eoù|\92D7\11½wc:'\ 1Ïßè¥4`1T\89{]-×Ëh½ÚàA\béõ-+}»\9dý1û\e\ 1ùÄ\fendstream
+endobj
+1651 0 obj<</Type/Page/Parent 1476 0 R/Contents 1652 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1652 0 obj<</Filter/FlateDecode/Length 814       >>stream
+x\ 1\9d\95OoÛ0\fÅïù\14DO)иv\92%é±ûS`\18¶n\98\87íÐ\8b"+µV[Ê$¹A¾ý\1e%;KÒ]6\14\ 5\92\98"\1f\7f|\94\7f\8d
+ÊñWÐrJ³\ 5Év\94g9-¦³lNóÕ\12\9f§øw\8a6ñÁl5Í\16ç\ f^\97£ë;AEAå\ 6¹\16«%\95\15!O\9eS)Ç\95vJ\ 6ëöÔ
+ÿtYþ\1cå4\99.P ¬Æ\e뤢£\10[)\ e¹¾\9b\1f\12\1e\82w
+B:¯*ÒÆ\a%*²\e
+µ¢­p¢UA9\8fT^v\9ecjDg)×\r\15ÐÄâ&³y*\\14Ù2£÷\ 6\87\84\fÚ\1aÚéPÇl>\bS       WÑWÑ®\ 5mt£H\84àôº\vQ\1cëÏS\9aVl·Ú<¾\94¼\ 4\97R Ê\93·­\1a\ 4¿½ÿú'%­uðô0ö\9d¬Ixºp±5Óì/\1e.Ñj°QÖ·Oï\7fÐV¹V{\ f½\9es%u\19\95µö=Ùb\96M¹r«\ 4b@\a̤0´F\13$­Ù4Z\ 6|\v;¥L¢wÈ\99\94x\15èY\8bÄBÉÎé°\aWÑØG\ 2\99¿\9d9«Í\19Öû\18xJ\ f\16\88¼â\\8elpo\14í\ 4\9fÐ>ªõµÝQ·%|ÕC\9bT\ 3\8e±\14ADFBJå=ÁD±\96Ý\19åH\a\8c²ihHqJ\14<ÏIJ\81\ e#?\95\v~b½\86\97\19}3¨\15:#\82jzµ=\18\b\8d\89àC²è&Ô"0î àÕô¨GyV^#%D\81¬åaqÅs:ß9×\ 1\r\ f\96¹Ä
+\80ÃeSç²\16æQ¥jÇF\81\81\0(B[¯\9a\1cóë<,Ì\ fϤùÓá_\91\84w\9e¢Ñ®ï^õû9¦\8bû\ f\17|òÏÎ\8e   %\1fÙ\ 4B>ñgÖx`|Ø%(\15ë\9eíÕ`-ó\ fU°µLáLv\9aÈ\15\175ô©ìÝ\05¬"\ eø\18Π\91\81L,\96\ e\9b\bË$º\9ev\89ýÑ\r\80M\ eÑ_ð+æö\12[ªÿp\99Ö\92\86\fÅ\ 6×\ra;\ 2\ 3?VÁ{\15é\1e.\93\7fæ{\84µ÷äÞvgh°\13]SÁ\rX6Oµ\8eèNfùF\18©\9a\17ót\ 2\96\89¸>'Gþ>~e|\87«'r\84\10G\83;\ 5~\85×É>+çtU)\13ý~}·ê\1dU,ðÞYÍhV¼ê/ÑÛ\8f¯oé³³?ñ"¡·Vv­Âbñ­ÍýM\86\ 3\93e~ÃWßÿÞíÃíÄIçËy¶\¬ðÊ@ÂUÎ?½+G_F¿\ 1\a\82BÂendstream
+endobj
+1653 0 obj<</Type/Page/Parent 1476 0 R/Contents 1654 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1654 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üÍ\9cc\7f\\9eýqö\ f5ÿ\93Wendstream
+endobj
+1655 0 obj<</Type/Page/Parent 1476 0 R/Contents 1656 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 930 0 R>>endobj
+1656 0 obj<</Filter/FlateDecode/Length 1633      >>stream
+x\ 1ÕXÛnÛF\10}÷W\fP\14Q\0\8bºX¶\9c\0}pà¦\bP\ai­¾\ 5hWäRÜ\84ä2»KÉê×÷Ì.)Q\94\15¨)
+´      \12Øârv.gæ\9cÑ\97\8b    \8dñwBó)]ÝP\\\8c#ü:y\15Íhv;ÇÏSü3\92R~\80£»ÿ~ýébv\13Mèz\86\ 3\ 5M®ÇÑUø%§Ç\8b7\8b\8bÑÛ\19\fÑ"\85ý\9bÛ9-\12ÿö\98\16ñÀn­\93\ 5UÂÚ\8d6  %Â\89¥°\92>\ e^.>áUö\81_\1d\8c¤\8bGþ\\12\9e´F\a\97ôÜQ\9b\89DoÎ:º2º®z'?¾¤\8dr\19¹LR¡\93:\97\87\97\8ci8¹\8a¦\bfP\89âw[,Ù·Èê\9e\1dÚd*Ψ¶Òz[\8f¢X\8a}\98ái¬K'T\19N<¨Øh«SG\ f÷3\92el¶\95\93É.G|AçöLØLÚ\88\16\99²{»øÙ:mð\9a*I"\10i\8e²T[3Êu,ò\91e§F\95Qkáä¨\89es\94ç\93\19ðµ  FN¾LÚ°/\876BUý\9bQrúbJd%ËD\95+Òå>\8d½L¨¢Êe!\91J§p,Å\85[]\eú­TO£\9fUY?Q\80\e'Kö=ùz\15\ 3\ 4\b\8c\ 4\89]n)\14s-\8dÅ\85=o¦Ñ\14M\ 1\1fräÔDôÎQ,JZJ\8auQ©<X°\95\8cUºåÈP£\90\9cë\16ò4\1c2\ 6\87\1d×Â\89\1dôIW\1c«\ 5ÊdI¦.K¶äÝzaÃÙ¶\81:\90\ 1ÜRµªMsßÞ\9a\8d\8dª\Doáv\ 1ô `Èb\11òÙdþÐj\17ü}ßBÎ.ÉJék\96è¸Þ\97\aXØEü\8c\8f\16\95\8b%\1a~×[}ó\8922\ 6Æ·¤Ó=&(¼H\89²Î¨eÍé\89Z\9f_\85!4\9cÎ0Õйß}ÿáîa8\89Æ|\80\134\8enýç\1e x\86Z\85T5\90BÙ<®à9ý\91ë\95*_ <³V±Ïe×DϤ¨1L:\7f\8cüR#\80¤ý¨\13(\86\b\95:\91¹Øö\8dı®K×¾\83\rF0\89\18®ÿÌÈn`7fÎ÷¤Ë\ 6Ãé\r§\9b»1Õy®7\8c\18§÷+Ù\17\98\85Æ©¸Î\85¡ãÆNd*ê\1cí¦12ü(àéÛb e¢\83ñ]m\92åñìþ\97pãÇÝ7àæ Ç£\-GVƵQnëÛ¤\89\81Ê\1a\99üÜ"\88\ 2\ f\92¨\91\8bÓp:Ó¶·Ò\9aîYëàêLkÏ\83¼\ 3­3í4!\16Éu(r;ÐÐ\8e\ 1\ 2iì1&\9f\ 4\93E\18K\98À¾!À¤\18Ï\98£\85HðH3iû\13;NÛó«\ã\1c3\fÄ\8a\8aÉ\97´ÍG#\v¸ãAF*ö³#¢Ç\1a:\0Ôß^\87\13\12\1d¤àïd\83\8cý s\98jVF\14\846þ´Ëj\8bWÐ)|®wáÞÍ6\85è$o<ÎD¹Â¬©mC4½\eþ_@oâ<kL\9e\89 ÿ\16®\8f\ 3$|ÄTôÃ^i\ 5½\14ñ§'Pÿ^;ùÚÏQ\8f\18V\84"þÌ\b\0a\1e¢\93
\18\80\92\84\föÀ¬4¸bÉ\8d¢=d\ e\ 5Á\92E«ô2±£.X²\80Üu\19fx£\9c\\ 6\91½\82\9eÖ\1eá¥|r\8d®fUØ\ e|ïaD\1frÉ;\80\91)dkóÆ¡z@§ôÐï¥^\87\17\9aÍâ\19Q\98\9d[\98_     ãE%_\1f\94\18z9\16\95\1cÌ\ 1É\8eL1\11y\17\95ç\90N¤²\+£KÖ4ho]È\86\8cøÎ\9dÐi3\19\8f4Ô«\15=ABqi\8e\19¨M\91Ë\84\v}ïÛ¿\17\96MÏ·"ϯ\0\82¸õQÈ\18Î\1a\91S
+)sZ\a\9fòFºL'Ä\83Òr¸P¾[\f´5\80ÖGA\98µPÆ­bçAÉÌ\8e@Ô.\16\1ex(µB\99ER(\0\10ÎyÉFw\10µ@\12G\r\1aÅ@\15r\95òLf(]\12\86°¿?Ìï^R
\99W.\83Y>Ôij¡C5ï\ 3\98´[Ú\b¨(&\ 1àw\a¾#\84QZ\e@ÃP&ó*­áÇ^\ e7#ó\15M°Ðòf;¼jDå\84\95?Ý·ú\13c÷î\80  Bõ»\1c5\8fv2HXW;ÙM\ 62´QÈ\81\91"W\7fB(\19]Àå6\97\f],\14KU6*=ý[\8bÍeðf¿r@\82ÁVr´û1      \1d\9eí4\82±Û2>\8ck\80\r\9e\85\7fæ\õz4ò'"O\93\91\91\11Õ\8eËH¢÷\97¹²\19w\8e\9fP-Vó-jV
+\10Øå^Ö\1f\ 1\ edmÂ÷\ 3\aß#xÀñâÕ\12-ÎùÝ\8dqÅ­ýq W¯CãÂ)±\11X{\1aâE¯\81yEUå\r\897k6GÚ\89^\18Ãôêýæ\9b2±f
+o\15*ܯР\bJ$kà\ e\81X¿\ 3â&ð:c\9c\8bÈb\ 3Óf¿ýßÅNÁÐ}»æ\84üÞ6Ëáä\ 6ßÉÜ^á\v\95qØe\1eï\1eÞÜÑ\a£?a+¢ûî®Åo\ eÛ\17\86ó1Ö dp\ eLgóY4¿¹\ 5ºñÂí\94íü¸¸øåâ/¬
+¶¬endstream
+endobj
+1657 0 obj<</Type/Page/Parent 1476 0 R/Contents 1658 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 935 0 R>>endobj
+1658 0 obj<</Filter/FlateDecode/Length 742       >>stream
+x\ 1\95TMs\9b0\14¼ûW¼[\9d\99\9a\98\8f\0\a§i{J'­\99É%\17\19\84Q*$W\12qýï»\ 2\9c\97\8eÇ\1e\8b÷±ûö­ø=\vi\89OHYDqJe;[\ 6KJ³4\88(É3ü\8fð5\9cj\1f@êËÏÏo³0\8d\83\84Ò(AJK!ÒÓñ$i=\9b\9e[\8a\96×A<\89\88¦Ëàz\1aMÓ £«$ rt\8e\97\11p\86\93ï<=#z\15\ 2\7f\12\9d\9c\11\93èä\8ch\96\9dtö¹I\1e½\1dþ¦\98]~M(\f©¨¡W\9agTT½\1aK*Êù\9a\9bgQrz\9c¯n×\8f\17$\14YM53Ä,Ô«ºÒ      ­H×´\17\15'f8#ÅÝ^\9b_Ä:×påDÉú\1cgX]\8b2¸(\9e\0yM!\90<ä"N@µ¨æa\14Ä\ 1ݯîè³VµØvf(ô\98í&(ñp¨}¥»\88üjP[4\1c»\14\96\18Èìz¼I\19\95LJ^\91Þð\ 3íX\væÖ\19Ñs·\ 1¡\98j-¥Þ\vµõMj£[\ 2yÒj!\85âÔp¹C\8aÁCa= Ð\ ec¨    èW¸õêø8F£t\18ê\ 1\12Ð\9aµ\e\ 6ÃE¾¹\9fÃ\ fÇÉiâ\8am$ï\87¶Ýn§\8d\83Ô"à\ 1\r£ÂÁýfæ\8bÅ^¸f\ 1ò§\1aÌ\1f/Þ÷¬0\97a-wÜ`\15Rz\18g´<#»o8æ2\84Q\94v#1ÛèN\8eê@þwP±,u§\1cÔ¬Èrký\8e[¦Ø\96·Ø(UÂp\88÷ÌGñ*^³N:Úð\86=\vmÎ@14Fíì0§\97±\94\1c\16\ f N]¢\95<ô°¨\10[¥!\13Sx2\12Bí[>\ 1\ er6Ì\9d!\ fÂ3¹g\a;¶³½Ø\9eÄ\192üâW^2ð\84\9f¹*Íaç «µ°seé\13\1d\8e\ 3Ãæ\16\92øÁÞ\82z\a·ºê$Dz\99ò:\1f\ 3\8cjË/áÂ\9dV\80;cÒò²aJØ\16W\89WðíHm\87\ 2ÐòôÎç¼»y!zd\8e\9dõw\rV=\9añvØÓ\a_}ùõêè­\7fß\vÌ«ô\90\99\8f\99a\8a\17g\1eS\14ö\97n½º»YѽÑOp\ 3Ýê²óîè/­¯[\1cÓ\17Ùòú?.x\92%A\96æx5àvå±oõ¥\98ý\98ý\ 5P¦¹þendstream
+endobj
+1659 0 obj<</Type/Page/Parent 1476 0 R/Contents 1660 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 942 0 R>>endobj
+1660 0 obj<</Filter/FlateDecode/Length 1411      >>stream
+x\ 1­VM\8fÛ6\10½ûW\fÐC\1dÀÖús½\e \ 5v\93ºÉ!(Úu\11\14u\ f\94D[L$Ò%);þ÷}CJ²£dQ\ 4h\ 2$\909\9c\997\9c÷fþ\19Li\82¿SZÍh~KY5\98$\13üÒýóû/ü\v-\97Óä\96*ZÌ\93EóQÒÓàê³¢ét\9a\ eg«I2§Åj\86+\15Íî\17ɬùâ«×ß\15Íg·ð\1fmÃéÝ2¹§Åò\1ewp:½cOá\8bO¯¿qº\bqºÓÇÍàf}O³        mvÀv»º£M\1e á\97løº\10\a/-Mç   ½5Î+½'AïUf\8d3;Oo\94óV¥µ\979­U)_l>\ e&4\9e-àeøtv^Vä­\94d4=\89*\15\ 1§«\18p<g¤0F\84iBï4üÕ\99WF»hº@©\1aÓÙ
+°aº)äW\81©       ¶\1d\1aKovnû\82\ eÖ\1cU.\1d\12®¤Ð\8eÌ\8e\9c<\b+\ 2\f\ f/¥Ù«L\94tTòÄÇ;@\80½Î)WVfÞX%C\1eÀ\84\ 4C¢¾\10\9ej'­\837I;k\0\11¾Dæk¸:\14g\17|\96&C à`Ç0p\92¬t¦¶\19\1c|GK\7f\13p{\12eiN\8evÈ¿PûBÚ¦\96m\q\14ª\14©*\95?\8fÈUÆÀ\83%\87$Å^\92ü|\0\e\ 1\95È)\15¥Ð\19¿\97ôYBk¸­\8c\95¤4"T!3\12©©ñ\86;7Bj;8ó¦\17ôòÒ¹ÉêJj\1fn&\8d\19\1a1¼ô¦P\8eZ\v\14
\vs\82Küç\0\8fãt½ è\ f­>S%²BiIÛ!Ã\86ÁX\9c\ 4\92ÌJ\85P07\94ZTEâ9k\a0½ôBK}\95\8c!©EZJzzÿ8N\85Co¾Y?\85Ê\86\v\8cÞ©}ÍåðtR¾à×`ß7kÑôÛ\90Æc>\19W.ßõzqHæÀO\9bЯ:\93\94Öªô# ì:üª]Ð(GT6\13\9aR À9:%\94¢9HÏh#ßuä¾4x9J\8d)ѳý\94B%¿\99\10·u%\99ª*¶V¼
 µ
-aã<ö\90\ 2\80\1eìÒy\8c®íâ\ 4TïÂh\99NZ|aøÁ\ 3\ eûL$G\1cÞ±.ù\10ÙªV\1e\1dÇÒ\8b\ eúÚØ\86T\86m°®kç\9bW\8a\ 3YÀ4\13\9f\8a\1a\9b¬Tù2.Ô!\16£\9f°\ e«¡@\9fZ\9a\0WöÝo\93\1d\10òþ\r\0³uV\8f\0:\19g·h\17EkdB\võC¿¹ZÚÒuì\129\85G\119\8al\8d²Lf\8fwSl\1f0.9á\10Îú Ë\15=ND\e$\860R»A\ eâ"7¡.\15¨«Ý\ 3L\0¬\0K\ 5õ%¸J"AÀÅq@<\r8¯ãqxf\98¡ri!Aò2=.\ 5\1d\ 3¿\82J\86\15j\ 3\80\1d\0\86\88\18\91Y\85ÇN ³Í\9d\Ûu\ 21IÝ^\ 4\88!t ªa\vxg\8d*ã<p«\9e\95\12ºSv@\f7\82¦\17LÞ¹\17\10ãħt\ 5\9d̪&US\0\9d6\81lu¾¡È¶\83p«ê(¤ù\92ñJ·\14{\1dDÖ6\8eSMË$\8erª-vð¸¶â¾Ã\b\ 66ÉÑÈg­ÆçÍ÷
- Ñ?\94Y$.ę̂GÃ+¾lÉõ@̾0\89§íz\13$\88úÝYÑ}7FùeÎZÈß$"\92¼\8f\9cËóÆ5ÿ\15¸¹<\81\85\ 2djÁÛÕeXøw\8bÛ\a\81|ØB0A¼\8e\17\113\ fn<­®\96ó@Y¬\90¨ì¤)¸\16\1d6\10\ f\98H¶7Ú1\86\atki\92\9aí\ 5\ 1\1aß]3ðØ+(ë\r.\8aPNÐh£bü\85µUmé
-+\96\81\9f¸7FµÐªÂ~è\82YñU\84QQa\18S䫦Æ5¤\89}=º½ì%Ëü,^ôþçµ\9aÞºJ\9f^\9cN/Î/qqÇ\95ö|ÆyÜ,öþÞû\ ffT\10Gendstream
-endobj
-1616 0 obj<</Type/Page/Parent 1479 0 R/Contents 1617 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1617 0 obj<</Filter/FlateDecode/Length 1653      >>stream
-x\ 1\8dWMSÛH\10½ó+º|Á©2\ e6`\93½l\ 1\81-ª6\81\rÞd\ f\ÆÒ\18M\90\99Q\84÷×ïë\19\8d-Éä£((\9b\19õÇëׯ[ÿ\1e\18?\13\9aOédFÉúàx|L³ówãS:=\9fãó\14¿FÒÊ\1f\9c\9e\9d\8dÏ_;\98N¦ãÙk\a'gû\96.\17\aooÞÑdN\8b\15\9cÏflt\91\12\\1f\1fÓ"\19N&ãÓ1}V²VÅ\13­T.I\eJ\95\91\89ÓfC¥4ke­Ò\85}³ø
-c§4\99\ 4cGÓ9\ 2Y¤ÃE&Éeʤ´¬\9cÓ\ 5)\8bï2Ü?kî\ fip¿³5è\1a\e6O\8eé*WÉ3\87\ 23°iiiðÍRU\92@X"×O´Ô/8\13\8el¦kÜÐ.\8bþ\8eéhr2\9erT­ÈI\14)ß ¿?ÞþCº.¤!½òÿÙËxL\9c\ 3÷©²e.62%Å\ 1¡:Ú¬é·nnð:\9d\ 1|x\1d<\\7fú|ýéñ±²pò8üS#\97B¬åã\9b^έ\87¾dÒ4p\89-\ÁP\1f§\0-}\94îòöîÁ[\8e©<\88õR\10Ü~\93f\14\9eÛYãp¾cËGÊ!FC\1e%ÿß:ÓüP\vU\0ã\8bë©2b`û\9e:9\7fÇe*mbTéÔ7IÖq\85I¥²pjµáÏ\8cs\83_\ 1¸E\9eo\80{\85"6Eøãúêî¡\17ÙJÉ<í¤P
-kk\rZ¦Â\89¥°¨Á¸y(\96ë6° \14\ 6ù»\bÑ\ e¶Â\91Hr²UYjã^ÉÆJGNS8AwûÞ\18®Dn\9b\82Æ~\19rV\r\85|\97y\16Ö*Ïi  \10Àä\82D\80öãÂg\1flÆþiÕ`p\8d
-ot!{\8c\1anyÞæþ\9e\v\98\1fÜTð{¥\vgt>è\83Â\rж\10\90í4CªV+p¶p¾2ƳÁz÷Q:\94´#²\9an\ fá)Ô\eyrek\81j2\ 4-\1fMYbï
-Èà®óVÊXç\83ôZ\86>c-;:\81tqËy \9b\8cé\86mÞï4¦[-n7¨`P+ë@\\ 1fl©þöÉèª|\vº\80D`d    [Q5\12m\8c´¥.R&çÀH\91\ eF4¨\8dr\92\17\99Tøø\83\84\82\84ÄÖ¢,¡'Ë\r\85\8eU\ 5\b$\0\8d\91\92d.×\80\95\8b«?©VAÛèÐ\1c\8eè°Æ\1f\8eêðå\90\96ÊÙhË\9b\0¶=\18»\81Ãd\vñ s>ÿ\90të¬\1df4MO¹^\8a\9c\ 3óP}\97\9d\91\9c\87#tp\9eë:dÎ<È\95uܯ\1dÇÍ\15¨l¨\8d\8f­\15k\10fÆ`\eE«3:¦:\1cBk\89\ 2ÁwÃ\1e\1amר*Áða\17¯>\91ë\ 40l½ï&â\90ü\83L\15\fOH\9bï\8dWsîÕ©\13v\v\ 1FiËP\1f\91wÛï×\væA±       Ww¶0
\90T\17\87\8ey\ 2í\ 4Ï\12½^#;T\91\15ßBÙ\92\fºÓ\87%\90¼_½[I&\8a§}\19Òͨ\89Ú\85Ù¿\82àô²\ 6Ê^~z^\82NV¶ò²Ï\10ìR²h\88 \98¥\91+õ²#\13ëü~\16\ f¨\ 4v\ 6ºH\12\9e\6Ó\ 4`4bã9Ù\87÷²rTóº\91qãbü©Öê\90\81X\85î\84\88¸=Í\99Ã\820Z\9cJª\4\84ösÍ\97\91\17­Ðz(
\ 5mßCèwº-p+Å&Á\12ÁviÐõ6à\13\1e \12Ã\859»ÖÐf\ 5`\80\Ñ(\8cƼȵHãxÙ«ãB<÷µã\8eç\93ÍT¹\87\1aë\92pP4l{\12+N\9d)p¨\ 1b-EáÇyáéøøÆ\ae$\8fO´ ó/¤\1a¤­\9bL/}@\9b\89oq!ØïÝÁÝ^l\10E¦=\v\ 6æU\r\vI¦-\80\80Î$º2\16#H£\e\9e%áf®õ3J\8e/\82þ\93F\8f(\86ÏßzÑ´X8¦\ f\9aÕE:¡r\eVUþ\9a(^\94Q\8e\12~}\8d|}\82\1eð   Jø\93I6\1dÓûíú}ÿÓq\16ïbÞr ^²ÐÞ7\ faÆÚ\8durÍ8"óZ\83èÍà\ eêÐ\95ß ³~Üòq_\9c\95\96Ürs2\eüÝ°ÛÄñ¿\ 1¾Væ«Q\80\ 1Å\88\1d½\9bëq£æñ¾õ\87     YÀ®E:ÍyX\ 1÷8ûéK¯ú­ÀÐÑÖmrÙðà\a\19Q\82qîºã\98ä\8bHx³áü,/Ƽ²øFçeô\17\96\97ÑvãÁ\10Y¢ýÂØî¬PMvÑ~_u\16ì[B#Ó\bÍ\ eÚ\16\15cß!\8b|ËÞÆ´\1f\1dí»AmX%Ð\90\98S@ú\95\92î!­
\9f`×I{\80\ f;²çßÈx\fùÝ.ÂÊ\v\8c\ fÇç\1eß*k]aÍjìö3oÞc6\9e\ 6\8a\89àù\10¯£Ví\9cXeQnlSFºÊxñA©B\1f09¹\88=$X$ûz\17§BÖÝ\ 4¶k\1a\9aËw´Íx\89\v\19 \1f\89Æn:ú¼Yÿ'3¼Í\9f\9fàm{ê߶\87\ f\17\1f./èÞè¯X\fè½N*Þñ\84\83X0ØGñ\81£ùñ»íFûë/å§óÓñ|v\8e\9d\18ëílÂ&¯\17\a\7f\1dü\ fÀ`'4endstream
-endobj
-1618 0 obj<</Type/Page/Parent 1479 0 R/Contents 1619 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 903 0 R>>endobj
-1619 0 obj<</Filter/FlateDecode/Length 1612      >>stream
-x\ 1\95WMsÛ6\10½ûWìè\12\96-Y\96\9cÞ\94ºi3ùp\e«Ó\1e|\81HPBL\ 2\f@\9aÖ¿ï[\0\94\9di'#\99\11\81ÅÛÝ·o\17?Φt\85\7fSZÎèzAIqv5¹¢Ùò\1aßóÛ%?ãc%eü\ 2K\ f_ß~=\9bOo'×ts3\99QAó\9bwøëÿ\93Ó\8373ç½\ 5Í\16\9fùÅûõÙå\87w4]Ò:ÃÉ\8bÛ)­So÷\8aÖÉx:\9dÜLè\8bIU¶WzK\99Ê%\19K©²2©\8cÝS)m¡\9cSF»·ëï06§)l°±\8bÙr²\80¹qo¿Ðéë\ 6H9\12\8e\9c*J\1c\83§d'ô\96Ï­v\12[\\99\8b½L»g\92Òñ¥ÈÍ\966æå\9caàðé5\ 2\80Ãù´$WÉS´\13PÞD\94cºÿt\8a{L\9bºª\8c\9eÐo¦\91ÏÒ\9eó\ 1\88¹À'W\85ªDÅÞâWQ\91 ÚIKZÊ\14¿\18Ú`]Ã+MvN|´È\9dé!Rº\92V$ÁJ£ª\9d÷ÀUX.lJ\ f¢Ø\88\8e\8fT\b÷\84ÀÀX!Ê\92Ý0\19ÝÝ?\90¨*«\80VF0\8c\82\99@Ò;¶\12OR#^¼ IL­«I\\ 1JÌ9T\1f3\8f¤\14V\14\12\18C`Ä!T\1aþ&9¹º,\8d­ÂÛ6ÝcN\9e\93\15\9f\1fÞ\80Ç\9e\bã\fx<\98#9Æ|\90\86O{vB\16¥ßÇÛ\9dLj«ª\13bQ£ò\9c2¡r<!\B\87\13Ú$v²=Z%\89t\8eî¤V2\1dõ1\16x'¶²ïø\1aôÊ\94u@±ó41¤M%Ù%\9fe\80==qL£U:4\1f\98\13àÂ\0*µª-Ü\ 4o`\eYc²8ælHòãXUaõV=\839\9a¤µÆǽãS\ 4\8dý\ 3\10\fÜÊ\82±\96Ö$2­A½DÄh\81\rÌ\9aT¥ì\ eÉ\17Ķ\92ý <¾\9dÐz\aW\v)ZZïM\r3\9a\8cÎ÷|h\17\8dЪ¬s\81#\11\16B¶¬\ 41س˭5uyÙ\18\9b\9f\16\ f0\83Z\8d\a£\16j`Þ\13v\82é?j\ 5ã\8dÌóÞÑP\ 4\1céB)òá\f¯S)1[\7f~ýø7\88\1a\84ë§\e<?)0T\11\vÎãX\82]¨föå\9c¼3ç¬vÞ¡Ç·L\a\ eö3\ɬ)¼ÿmf;:Øúùu\8dг,õÜ`\91â½\9a\1aþÂÓ ¯÷\9fúY\8aªÄ\18J\v\16s8#wXsÊ2\aßY3GÚtC2B\90<P\1f\15§R9!ø\8f\ 4÷Py@ÏJ6~u×\1d±\151s\ 3ÛÈ<z\80/O@\90Â2\ 2X¢¯ë¡O\ 3\97²\l¡\92\8e\12(\99L{\98Ä\ 6ÁnI\92ç¦q\fÜK\zÊ°\8dH\9eüﯴ(£\13é÷í\ 4\8a¬Í P\16!\8d¢wj¤Cb\8aÒhxاÏÊQ\bfÐA\17hÈ^\8fìè\9cFÍÈ\97ÝèeD\eUá5è¦\11\11Zýü\99\83\ 3\11ÎÈàÁò\8f\aÁ먹«\13¨\9c\9dÊ\eÝÉ\1c²Ìê\r\ 2à\10ÔºÃO   ×\96·\8b¯\98\rpBmµ±xãIÖ\12$\92\ fh\8eþÖwï/F\b)®X      »<À^ÑiÜ8\8cÁ\e(\f\v7¼ì.\86´\ 5Þõ\96\0´ÆN'](¨M__R\99\89:G§\89\94öý\fê\8fÉÃyù÷vÑz\ f3\88'4\84\eÂê¼Ð5Ü\99\99(\8d\802ñCQC\7fk\9dì$Óä\95\82û&1[$ý\96Ùu\bÞË\17è\18\83\19ÐÙ[Gq\ fê\1f½8C*\ ecÈ°4\ 6åÞOJ(Yøï0-\98Hb4úü$è^\95ÂHr¢Å\a*\a\9aø\88\88=E¹Û©í.Ç\87»_?\ 2Ç\9dÜIü\1cÕ®ºüÐö_tÃo^\17\a!  \rÑ\8b¨\9f\r@\99£Eøá\ 5Ü\97¥gS)\13\bæ <kL.½\1a½o4:éN\95\83#\8f9\83 \1fgÆPM'\98ï\a{AÉC0dêsÐ\9d\8e/®çaPÂX¼\0ë\8es\9c'&\a\86zc\b%wJ\1eá¢\a³«`ã0eýûܼ>Ì\9d\99©-\1dw0\ 5Px\9559Èv\98&ÿ\v\8a\8e\15\16Ö¶\9bþ\14\82ÞÎzP\9dv(<èS×\8780\82Õ\90Öã
-\93¶yjw\1f\8a´³ª\13\8b\13;¯­\8d\16\8f\93c\aÙ=ëz\1cÀ=3c$;´|¥\8f²\9e@Zö>[G²¸8\92\ e\1d\8c'2}R]at\1eL:=fÚËæò\85b\ f\ 1éÃ5\0Ô@»ç1ö Aáv\ 3\81î\82@Dá\92¿fù¶ëGR\19ú\bWP\10ÕÓd\8d\ f±íAi3v\8cÞø\98þ  ­0}û\ 6ågÜ\86ï8þÂå» ßmð\ 3Ï\8d¾r\r½\99¾    Çó\bÒ^\11­HfX\9d£Y¶ÒÇ\ eôÀt¼\8c\85u\e/\bÓ\ 5n¶·×´Xò\9d\15÷\90\87Õ\97÷+úÝ\9aïèmtg\92º@Óð×.6zÑn¸X^½ãõÿû\96:_Î'ËÅ-î¨Ø½\98±Ñ_Ög\7f\9cý\ 3ùÔç?endstream
-endobj
-1620 0 obj<</Type/Page/Parent 1479 0 R/Contents 1621 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 912 0 R>>endobj
-1621 0 obj<</Filter/FlateDecode/Length 1474      >>stream
-x\ 1µWÁnÛF\10½ë+\ 6¹X\ 6l\9a\94dI.Ð\83\83Ä\85\ fMÚZ\ 1zðeE.­MH®Â]FV¿¾ovI\8a¢\98¸uQ\18\16@.wvæÍ\9b7³_G\11\85ø\8bh1¡é\9câ|\14\ 6!Þ´?\7fü2\9a,£`FóÙ\1c¿9M£ë ¬\9f2z\18u\9f±:\9b\ 5Óîêì&¸¦y8\ f\96¼w±à½îÉíí<ç4\8b\96G«Ýg¬Î\96­%Þ뽺\9e,\829[\ e\97Á\rù'g¹óÌ^M°·³Úyf¯¦AÔYEð4¹áß\1c°À¼\7f`³ü2ZÌðn¶äP&ø/%¥£·«ÑÕÝ\8c¢\88V)ð\9c/\17´J\1c\8c!­âñ{cda\95Ȳý\ 5ý%KMke\r©\82ìF\9e¯>c³¨7\8fÉȸ*\95ÝS.Ì\17¿ØX\1e»wøÙÓZ\92-¥°2!aH`\97%\9dz»0J\95\91%)ã÷Ï[ã\85¶}\93ðJï`Æj^     é2\9a\ 6\13¸?\8e7¢x\92\17$\8a\84t!½m\81xíF\eþmO¡\83\rò»\82ÚÖ\84Y\ 3[÷)áhç¥|Þf*V6ÛÃ\84\15¥È¥uîº\ f¬v¶\rÞÒ7\91U\92#\1c\0*vñ\ fÂÔÚ\fh¥½wÀÈar\12\13\95îù£6¤«§RWÛ«\9d\84¶²Ì\951J\17\ 60ÀLª2 Â\80÷ü\87ãá\ 2\9cîÅþA>[z\10ùZ\0\1c\19\7fqÁÔ8\1d\9bOuYÛ'ñ$Taø\88\1ax>o\98\15KøÓÐF'5§\1aÚtrÚ\ 1æ¶\0\8b\98\86v#,í$\12ës\a\9bX\97¥4[\8dì#0÷¥\8bYÓYtæ]9Ê\1e3ùâ¿g\8fl\1f\8a£BhM¾2¬q\87:/\97\84°\17´ÛÈ¢Gr\9f}U<\1d\0ì$¹åø\86\8b\89½ñ\89\a \92ÎtqÖ\8fðÿ ºOpC÷\93ôvpèÒ½\17hM~z\15Ýi§ì\ 6\15\fµ3¶T±uÕð\9d\12\bÃ>(«\7f©rP\1cö¾«\8a/\92¼\83\ 2R\ 5.\8a-tÆé\9a+"Ïm\ 4ðµB\f\9e¿`¹.\13Yöý½su\98¨RÆV\97ûºxw
-\12\ 15\80+¹3é\14\8dðx\80#\894q©Ö¬ÊkýÍ\15DSÑò9\96[\v\11b²Õr6T\99ýÈ\ fn\1cJ| 3°ZH\ 1¥Nû\ 6~´Í©{\7f\83ÇzèÜ\13î\r\ 5\0l¿çÊ?Èb?\17\ 3Ü\19òl\0\91Vëh½GbRQeÈ{[À\Û/ö\98ÃQCݸ=\81\11ì@Á\1d³Îð)\87\ f&\ f\899ÁµÃæÿà}/\91=/¡\ 4½FÑ9µ\9f\86{\9eU\0\1e$°.\aY8ó¾\9b\1d\9aä±D¸N"Ð5\93\\15
-Ú!PP\14ã\r\8b\87SZß\19Í\ 6
-­2ãF\94\ e\9cÆrå¹\19\83k\87\95\f§êFÊ8\91\9dó][a½rm\ 5%ÞѬ\93¨RÚë
-A\15è´ÚùTmQ°Î\e\ 4\8cÝîXS\1f\9aVp$Ö\85-uÆ\12\1eCN <¼V¥\9b\18 J^Õ:\815TPÒ­R¢¥)άo£ø~Ï\1dΪ¸ÊDY÷j×x\18;n>\17lßCÉç§\9aG9\86¨%æñ\90\89éµ\9ePÛ!Ïäë\0\ 1¥\8fãëÇs/\ 4ÍØ0v~·Jé11[\19«TÅÜ.Yõè§cõ@tÍÌw 7\8a\93~v³QMÁæ\93\ 1\ f{_50íùÐÃlü#\93C[@÷ÆøÕÝ\r\ 6y?¬_Ng~F\8d¢`\11Ð}\81QTøØ\×cd\8dEòD\99ÔÔç    \90\84E'\WÖÕ\10\87\1dz39\1a\ frp\8c%¯óU\ 5£°ç;¾\82\12i\8c¸\98Úù\88w\1f\1f\ e&}²\1fǦ\8a7<ý¾Á¨ËCx¶\7fóx\8e\8c\80«¼çÓ\87û?;ÔÇ|\9aÖÝ\ 6\83\0ªµÆ±\19ès)0Ãb#\8fz(A\8c0\18I\91|Ìã\16Ov'Á&6Ü/'&Ü7%ÜZ\9b\83\ 4\17\1aýä®\a\ 3{zg³\ 5È0\7fx\8c\1eæw\87W¿4?âÆÁbãTÇ   ÆFï\bÕ   \11RM\98Äs\19Æ\12\a\84ÃHı4\86\9d¥w\ 5_,0ß²\84\98ÚÄ1¢À³ç,{Ù¦üØ]à'ÖÜß}ô\ 1}b\19´U\81«Xs£©\81\81£Î\10ßcøþTOÕ\85åÉÞ/Õtö\YÖÕ\19Íq·\â\1a\8dK9óåö×··ô[©?£âè\9d\8e«\1c\97I7rð¾ËæóËExÃß¿\96ÆM"Øè\f\97ÜÅ|\89«,\fΧüêýjôûèo\8e?
-\1cendstream
-endobj
-1622 0 obj<</Type/Page/Parent 1479 0 R/Contents 1623 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1623 0 obj<</Filter/FlateDecode/Length 505       >>stream
-x\ 1\9dSMoÛ0\f½ûW\10=¥ÀâØ\89k»Çv[\80\17j`\97^\18Y\8eÕÊR&É5òïGÚI\96v=t\83aY\16)ò齧_Q
-       =)\14KXå º(\89\13¸º.hÌJ\1e\97ô:   Mt[E\8bu\ 6i
-UC[ò²\80ª\ 6JO\12¨ÄL\99Æ\822\80Æ\86V:\b¸\89\87(\81ù2\8f\9dýl1@h\95\a\81\ 6:I\ 3Í\ 3¯ª\86¾\12ì`h«hÑl%G$ì¤ë\94÷Ê\1aú·\80\81\ 3\9d\97ú\89r\9cÄ\1aP\bé=ô^\99-\a\ f}ÓU¼ä¾^\8aÞ©°\87Z¡¶Ûw ´\12\8f\9e³\16ë«Ã\89fpñíóÅ´v<å\8c[ne\80\r\8aG\9e3"\1fÐÔè¨k\bNmúÀHqs*NQÎ3ÿÐÅ\1aÚ\81á\ 5ì#Ú±Ø×
-\ 6¥5xBÃ(\1a¥\9f\93s\84È\84Ì­Ñ{¸\9fá\91]\ fÃĽ<GíÃX\11÷¬\e\15}µÿýe\f\15kÆz\1dêa\13H&\82\12\98ðs\89øð#»\14øO~Ïh\9d\18\80½í_@ó­í5) \aÜ{hÕHÝ3-ߣ\11Rÿ¥§C:'\99\93\1cöFxÒø\9eü?º\94\80üq'Ò*y\1dì\93tNÕµ4£ß\17ëòà¨4§ûS® MÒÉ\87w7_no໳\ fR\ 4ø`EßI\130\90¹\19Ìü¸a^$×ìÛ4\8d\8b\18>\19"\e\ 5g\91\ 5B;Ê\7f\1dv\e\9cÜp"\ e:Üí\ e\ 2dE\16\17yI\17\96
\19÷ùXE?¢ß%ý6>endstream
-endobj
-1624 0 obj<</Type/Page/Parent 1479 0 R/Contents 1625 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1625 0 obj<</Filter/FlateDecode/Length 1419      >>stream
-x\ 1\95WÛnÛF\10}÷WLó"\19\90h\89¾Æ/E\eÇmÑ4i\11\15A\ 1¿¬È\95¸6Éew\97\96õ÷=³\97\98"\7\85aÃ"wvfÎ9sÑßGKZàgI\979\9d^PÑ\1c-2|\,²\9cή.ñ\7f\8e_#isôãêèäö-å\vZm`rqyE«\92p|\81'Åô]%:'\r\8c~2ºï¨\11]§Ú-ýüéËêÓñê\1eæg´\\ 6óy~\ 5\17«rúÙ       ãøØN¹\8a>\8bf-è\14>EÝU\82ò\19     jå\8e\aWnú¶pJ·¤,\89G¡j±®eF«JRÑ\e#[G\8dt\95.énZ«\aYïÉi\ eaAóåip\T¢ÝÊ»c¼A¨­ØJr°÷\8e¬¿Ø;.t\83·%\15¢®e\19Ò8\8fiLÉ6ko Kå\ eS\9cfÑ_~\91\9d\1cÜF\19ëH5\rÎ\v'\ 1¬°È\ 2\11ôvàþ+tx'è÷\9bw3\8eÇUÂq\88ã\18\b\85\83e\83¿>\9aQ$¤7á   \98Mð'\14\90@Vè6\1eHüLÙ_«\ 1»n=®øØ        #\0*(Þ   Ëñ\96\1c÷V=\86Àke\1d\1eá¹±TkÀ\15#2j[9K\9cf%\95\89¨$ÿ;m\1e¬\13L¦Íè\17ç/·º\91À`«
-²®ßlBêV5\1d\88d\v8Z÷\8eJU¶\13G\16Î$=J\83\97²®i£\r\81¶®\96Od¥ë;;æâ\83d\81\90|êj\86®B¦
-®9\16\ eôãêäKþë\8có«\84Ï\ fù\87x6¢\94$vb\9fÑ\97JB\80-¢¯k\16p°b{1J\92\83é\81\1cn\84\b¢   \80ì\8cÞ\ 2T* \ 3'-ù¼\ 3\82,¹ Å\8c>j\a}CÂ0\9eüÀ4\ 3k#\9c6v\12\ e¡Jø<¸°#×HÁëÆß\15\1ctF=ªZná\90kÃ_+ÖªV\8e«\84B]ø§%k\94ov
-h\ 1U¼~P@X´{\ e¾\90Ö¢Â\18îZ³\80µ¾;\1e\ 5`ú¶et\ 2ÿQ\19\8d(*\15\945Niâ%\14ê¯\91Í\1a0i\16ÀøÜaê®êÇ\99OT[I£Üä\15c$\91°\80ø6(¶É½\96Ï!\ 4bJ\8fÁZ\82\ 1á\f¢\1ae{HÏWv­\15êF>\89ÂE.-ê\89byàÕÈv¬Y/7\91T\16\11d\9cî5 ôÅ((ô\82\19\95½aÐ=õè£V\ 6é½¹  ½âE\11E\9cG\19¡ûx2Ê2øøw&\12O\83\92Îè½/Ë\0\19j+2ùr\18#ÏA²\874¦fò\9a"hÇ\85Yëív »aPÑOjÌ\7fé\9e\ 4F\1c÷»\9dnK\88\ 6ÐqO\80Ü\e\81
-ñu\89Ø÷º7\ 4Ö0¢\18\96P©/ç6Êe\fø÷\98UÂM,O\80\1a\1cØ{Â1\84ç)° >(®oÕS(tT[o{o\82¾ÅNNnSW\9f\9eHW\9c¼4\0î\8egTKvÇS\8c[\1dë¤lØ~\8e\91\80\ 1^N\97\99¿\ f\1f¿\8eHQzY¹
-*\vl0û!m/­¦Ç8[K:L/£[´\ 4(\9d[0)\8f\eú:\862\8akv¯+tH4\95F\98ýl\84\93G\18ã\e­ü\7fä\87Ý\ 1iÕZ?ø\8ev\9dpyË»Æ\1c3??\v38¤}ýt}¾È¯S03\ e$\98¤ùÇ \9c^f\17\8c\vö\19~ɸ\9c/Â5¿\89\ e¥\ 5PÂ}        \enµ¯Ngߢ\9e· i4\ï)uIÆ7n\1c1\8b´kp\16q\93\18.\1d4/è ªí\e\9a÷\ 3~\9fÝqRé\8aÓ\90Ô<?GVyÆ«Ü\14u0A\19`bÎ<Qø3`Ê\97\bç\v\9dÁ\f¢ï"\89éò\ fiªÜ\fºMTÐ\8c\8b\b2lA\7fçç\880k\85i\ 6Æÿ|\969*\8fgÌÇU\80(#\ 4ç­DmCQF\9fi\8fàÓ\ 3ûÔ        \93ù@\903?¡c§LÍ<µÓ»)"K\83Ü ôBµc©A\1f\e¹L\9cíT»VmÉEƹít_\97q²ÆýH\14~RrRTHã\18ÃR\19Y`\84û\99;\18ü»
-§@Ãó\94\19o\13¡\121OámÐ\8ePuµ\88-?\1cÁL9Ä\81\9e\95ö­ê
-Í'Ü7wqÿMe2Ðdâ\87×@?p\1f\85\8f¬c\9föë\1f\93î¿\13\10k\8c¥´\81¨X\1aÿ©öG&áäöj°ÉBÖPï7|ÿ8»<Ë./®B»»8ç\9bÞ¯\8eþ8ú\a\18+)bendstream
-endobj
-1626 0 obj<</Type/Page/Parent 1479 0 R/Contents 1627 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1627 0 obj<</Filter/FlateDecode/Length 1530      >>stream
-x\ 1\95WÛn\e7\10}×W\fâ\16U\80xuµä\ 4èCn\ 6\ 24@\ 2«o\ 6\j\97\92XsI\85äZV¾¾gÈ]i¥J®»\ 6l\8b"gÎ\9c93ÃýÑ\19P\1f?\ 3\9a\ ei4¡¼ìü Á4\e¦Uþg\90]Óxô6\eó\97½/\83+údé{çìӻyKÃ>Í\16Ø<\99^Ó¬ ~Öïc%ï~\\89u\90\8e\ 6£\8c>Z³PËÊ)³¤oï¿ÒÂ:*\94\ fNÍ« \vÂï׳¿;}º\1c\8e\9bK\13\9cÐzK¥0b\89\1d¢
-+,ª\\ 4e\rofß\83iò}9\1a\ 3'\ eÂÙ £[QÎ\ 5    S°³´wL\83A½w8Í&¼÷=\99ª\9c\ 3¡]Ð\9fF=\91ßú KOw]¹|G·\95¡[«\85Sþîõ\e\12\9e6Rkþ\v\84çÃí'Z\88R\ 1&ûúC\99êé\r\19»¡*(­~JÞYÇ\ 5`\11à7]-\97b®%½?\88\88¾Ú¢Ò\92\9d\ 3óÝk\18Îa#l)XZ;û¨
-I`ä\88\bà\82\19ëÔÏÈKÄᤷ\95Ë\8f\16\9cZM^ºG\95K\9fÑ7§\90\aØç\80\14\7f[T9ÓË\8c\0\ 5\8cS!såy       Û*\ f\b\ 6(\90V\ 3\7f\8f\b0\1dNÌÑZx¿±®8\8a¹\10\ 5\ eßuS2 ¶\98\8cnO\86¼\17OÅ3½\9b&M]0°±\95.ÈÉ\1f\95r\91ÊÄCD\ 3\80-\18>
-\8aÙ\ 1SK'\90ð\12\9b\97\17¶G¸öLÜVù
-Áæ+\vfjÇÊ<Z\8d\10#ù'\9d"xÏ\awN\85\7f\97\ 2¼j\ 2$m\97ª\96ë.¶7Ç\9bN2ð¯]@·9i
-eÓÈ\v|fu\94à     
-\162çz«\ 5ä\11c)ó\95\97\89"T!\84ad\1e¢®\91¤\86¬}X\vgy·¤Ê\14Òé-ªø\88ÉÃêì\1djR\99\85\13¨uh«r\12²\ 3 å       ncO@qK\ 5ëPâÊÙj¹"k$-\14J$ñt¬\962ã£é»\86Ó\16\ 5wÝVÕBßó-ÉB\ 5n=Ê\14
-\85T     \1dí×*\11P\97¶h,@¢ÌY§Ç
-\8d<\ f\87Ù°?@Û\9af×£Xà_\16\91*\ eò\90\15*c\85£\b´\15El\ 1Z\99\aÒjî\84ÛFDP=\98i\81\v¹\10\95\ ei9\96":!©\80­LÂe+vc\ 3!\97Ò{¶Èú\£~\17ø\17vÖ"¬2ú\82\87\9cë\11UT7­\93~\0å8\ 3\0Ûk\ 4r\98\81.LÇÐy¹\ 5©\8eº\15\96\853N6ZI\13\1aV\12\88\9e¿¥9\84\18±+nþM]õémÓÄÇIÝT?ܱ_1áõçºm\14éc/ú¼gëh7å=Ô(ÌRÞ'p\99·¯\ e\83¹lò:ºÎ\86)¯3\90¶°ZÛMT\12\90|\12åú\19\9d\16½Så¿S~jÙ¬ô\8cf+0ÔØ[        Ä\8cnf×Ü\8d\90±ð[´V&·e\89\89È¢õ\«sHj\8bé\13Ч£º0© \12\1fDþày\8enÙ1WB2\89\19\1c'J
-\b\8d\8ce³¨4vqPõ\1c8Ê&ë$ÆÄ\1eù@F\9f½çÁ\1c§5\83n9ÉÁ\11\12\89\1eÃ\80\19BDÍ\1cÂVI¶
-\b;\97ëPËRk\94¥Méh*¿\157go½)æÈÙaʺ±\1e{7ç%rñ+\8aòr\90õ\9b\98ú¸× A6\12º@\12dìNMkÚ'(\ e\18\ eþ¯\18ýoÍ\14=gêÌzK Ñë¡J     %
-mò°\92!lë\109ø#¤/1clDzÞÈEìOMðÔ\fÚºb\12\96\ 2i­Ö/·\91\ 4\8böZ?\1cO)\94>oá%¡Ôù&\8fºÀåª,®ÎÐ\8b\90òÜV&Ôî#½^\ 5Ù\82\13T)\9f\81spþ4)-ù\9dÈ\8dGQp\93n\9eS)~ÞÂ\ 5ÄÕ¶q\8aT\8d\81\8aü\9e\ fäbw\19K@NÁÈ\1dZ\ 3::¬ ûÁm\7f\1f\9d!¶¹Ø½ ¨£,í¯tàj\18ïÝq4r#õñF\89!ääZ\8b<6­Ô\91ÑVf+Ë×ÍG¨'~\ 1J\ 5ùÔoëë¦2¹®
-Yß¹Î\17þ/Ô\9b+ÓCcé\1dϯ\13     dÍBFÜÛÀ\v\1e^X\ 4®\82&ü´¦U©B³)NÊ3ÖL¾¾g\9dG\vlÍ!¶à\ f×0\92ö.\9f³ÖÎZĶĭ©\8d\8e=h¼\ÅÁ\12A\9fÍjy¿o\13u¤ÎÚ`\1föÁ²µÀÍ}·ô\8cµB\9aý>>©¼¯¸Ü\1aæx­n\bõÒ3ÖÖÒ\81áú4\9fl·F>\1e±¥zþok»^Ö\9cÜ×P:\1c±=¬l\89ë¢\8b^\19[ïæºõê8É\ 6£+\1e\1aÿóí\96^òF;\9e\8e³éä\1aïÒp0\99°÷ϳÎ÷Î?j\7f­Jendstream
-endobj
-1628 0 obj<</Type/Page/Parent 1479 0 R/Contents 1629 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1629 0 obj<</Filter/FlateDecode/Length 1592      >>stream
-x\ 1ÝXßoÛ6\10~Ï_qÀ04\ 5jÙrÜ8{ØCÚ®@\81\ 5hQï­@G\8b\94ÅV\12UR\8aãÿ~ß\91¢,;q\9aaÅ0¬y¨@S÷ó»»ïôí,¥\19þRZÎéâ\92²êì\e¥Ëd\1eNù!M®(\9d§É\82\7f\9c¾K_Ò\eC\1fÎ^­Î¦ogô\v­rܽ¼Â\83¤Y2\9bÍh\95\9dSÿ¯\11Õçf+×\89\84\ f\¡ÊÒ\rGÄg]­ïö'ÏW_Îf4Igн\92\aÒT}»¿Ço\96R4û\13òÒ*ÓÊýÙ#Ò¬\90º\8b¦xÛªu#\<     ÒضÏ"ËZ/ò\11iÛB©2ê\8d^}\16][ô\87Ã\19ëز\89\8f\9c²CäøÍ­°u\94ÎÑ\1c¤9å\9c\e\8b\9b¾]P\9a\86¼Læ\97\1cÀU¡(7ei¶ºÞ\90º\13USò\89¥\16¿\94f£kj¬ÙXQ\91UM)2åüO°\81\1f\83h@Å\8b>gå}f\ f\95\9eSed\añÛBg\ 5A\82\17\15\1d½\0¤`\91Û¹VUp\ 1q0V\92\14­X\vhût~¤hªÚl\1aâu¤è\ 5=tÕ\15B\9aí\93®n¬é\9a£\9b\9f\9eÓV·\85w98r¨\84aÙûÀ!p\ 3^\8eä\1c¹O\1f\16{7Cp2S·B×!Ö7:³Æ\99¼¥\9b7\vRufwM«ä\10#V0Ò^\bÔ\91KhUh·\97\8b\1a\8b×\90R\ 5G\94½\17¥ÎÙii2QN\1d\e5m¬¾\15­\9aö¾lå\91+/NFÀç&\b9ù2\ 1e°åPÆùþÍD\9eVLR5ª\96\fZSû\94ø0\1eEB3\9a+\85P¶¨\ 2\ fë\9dé,ý\81º\9dþ®ëî\8e\ 2Ü8XêØ\92dzØc\19aE}Üj\89À®w}2o\95å²;²f\9eÌ\93\94\9d.\11S\9bл\962QÓZQfªF\97A\82kT¦ó\1d{\86\1c\85à¼\8cµE\93      cp22-Ü\88\85}N¦a_\1dP¦j²]]³$\1f\9cg.Ü\8d\95:\82\fà\96ëMg{}{i.³ºi\13z\v³+ \a    Cs¨B<ûÈ\1fJõõßçüض\10³\17ä\94ò9\93&ëöé\ 1\16\ 6\8f\1f°Ñ!s\99\ fµu,^j«2`|\17;\93w\9bÂ\8b$µk­^w\1c\9e$ÚÜO©É|\8116\1a(?ýüþúf\92&3¾øÀÀùÉ\ 3\ 6w\90»\10º\1ebHãÐ>ÿôýó\19ܵ·:ó±}HÔ \15<\1dúaéÿ³ê[\a\ae<\e\ 5\82{\7fm¤*Åî\94°,3]ÝÆwÑËÿ\81°~ªü\18aC£ïÅ=ݲï\8e3Ô&\0E\8fdI \87ÚVg]),Ýo\bRå¢+Q¦\ 6­Æ·\10\1eZ\11;Ã(\1d·ý\87'ß¿\847ßp\7f\0Þ\ er0-õzêTÖYÝî|ùEÞVw \ e_#ò(ÌW\12\1dbõ}\18>Q\87\97\16U\9c\90:Âã\13¥>^,#H>Q^ïz%_\ 6\ 6\8ar\ f<ë]\18R÷©\16\ 3T¢ãó¼ Ln\8c\ 3ôíJHtHÃ\1cÉCx\98¡ûy®nq\8f\89\1aÈ\91Îȧ>Ƨ§!ÜA0ütæ{SB\1f;Ð.P\8d¨\ e\94$Jt\ f\f!¯32¿@«\ 6ê'jI[\7f»-:\87W@\18\1e\8d\91½\991\84¨@/<+D½Aïê\?Ø\ 2y\ 1\87 äòÿU }\1cþV[~"ÒþÛõpßqÂ\11\8fÈ_\8fy]§\87Õ2\aC\9a¥(\99e²¸ðË\0·n\ f6&¯"ûêù^\8e\163\ 66U\8aá¥]\ 5Ò\vR\85¶ï1Ý\18,?kÌc@\90ñxÈ]Ö̯\95g´#\ 4\ 2\ f1u\18\e=Ék\vì\ 3\eP\7f㫱VwmÜe\ 2iñ3Æ[\98ÐûRñºbU\ e\86Ý¿q@tØéÉH'×\9c§¥£YÔoA\ f\10X©`xé \7f#¬'ÀÜB\ 2kD\1fÈD#ֺĴÂv\85\ 5\8d#èmÔ~n\8dÔb_ÖÖÔÌ¿Ð\1aL¥ú\ 1È:\aR\16C\19(®÷>ä,\12´@÷87÷\96Ìaßk\vÑÆ4"\9b\8fv©Ø/"!õë\8a n\eÈd\ 6c­()\aÍ:ÍÙOY£ÚÂHßd\1d»\v\96>Ð¥¾cJukx³
-}\1a,>n\17Üd\99\11=øÂ\89C®5ò,d¥\81@\18çé%]\83\80ó²\bw\81G×!\19ÈB©sîç\8c%¿:\8dQ\80~\ eâ:ôæJ|åõ\18\9f!ÔÄä¹\ 3i6\8c\12´é\1dm\ 5¨\1c/ë@°Ï       gù\0c~2ä\9d\ 56,á«J\93wÇq\1f1ù¾ûâs\8e_áÓÅ"¹º\9aÓåò"¹
-\85øñúæÕ5½·æ\v\186¾ó\8c\87sz¹LfW\174YÎø{ÏùëB`Eµ\ 4jD¯û\rñ²¡\1c\81\8cóÒÓ\81a\85Ä\96;øW\v\9e\14\875ÎJ\16ËE²¼¼ÂG%(¸\òÑo«³\ fg\7f\ 1ª\87°yendstream
-endobj
-1630 0 obj<</Type/Page/Parent 1479 0 R/Contents 1631 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 917 0 R>>endobj
-1631 0 obj<</Filter/FlateDecode/Length 1017      >>stream
-x\ 1\85UMoã6\10½ûWÌ­\ e\10+þPd{\8b\1e\9c¦ÛKSlk\ 3{       P\8c$Úâ®Dª$\15¯ûëûF\92»\8a\12 0,\88"ùæÍ\9b7äß\93\ 5Íñ[ÐzI«\84²j2\8fæ\94l¶QLñf\8d÷%þNѱ\9d¸_ÇQòÎ\ 40¢yÿøó×É"Yaÿýr\89gE\và$ý¨¤ýd8®h9ßF«Áìp\8cÙd\1em\87³«\18|âx\15-\81¼L¶Ñ¦\1f    òp\Ñj±\ 1r·Vf\87cÌ.ׯg\acÌÆq´\1eì\15UV\9bùÛä\1f\ e\93»\8f[Z¬ép\84\90Ir\ fF\87¼ÕcN\87\0Õ\88\1eµ\ fN§MP9í\9aP(\13tÆA[ssø\ 2\84\98\16\8b\ ea\ 6\1e       \10¦\87B\11û\80-Äy¥\8d p°\8eκ,Q\12.õ?¨\8b³\15\85B{<8à¡(³UªM\vNöH]\0Ô¸\r0­¹úËWiÍÞGÞ¾\8e>½íÆ÷×Å\88e\80\95çãuÄ&'\96¯s\9aI\8aÂ8\1f$)øyJ)g_\95ÉoÉ7Y\81t¨Ì¹¾íR಴ç\96±ò\81ÓRû¢\82\99\9bÃ\8a\vUlø¤\01\80\1f\ 5n¼rw\12ñl]N9\ 3\8d½ê\14ÉØ\10\97ÞRª\bërJ/\18\97ôi÷DÏSuú@¿iÓ|{¾!>3\8c^;{r\ù.ú.û:ù\88\ e\90y\14\99\9dcsR-o\89\v Ø¡ºMÉ\ eôk\e$)Î_Ø\ 4$â¥>X\ 1&g\1d\8a6\7fð\92¬\9ft欷Ç@»,h\0=j§2\94ü2\8aºWîEg
-üw\8f{0×\86\90à\91\9d(\fä\ 6Û­\11ȳÎa\1f\98\85\8c
-Pç+ñ+÷\11D>\1eu\16I\84¡\91gh´X\8a\8a⮢V­\9f­9êS\ 3\13
-¸Ä¬Ò(ÃÇnïû\16\86¢ð&\94±õx\e\ 3d°©\82L\\81¹4I˽U\eî¶â\11mN\ 2Ò[\1dR\99\8d¢B\955\968hø¦0ßÃí?ï\ e\ 2.\93.©Ïh@Ús\95²\0K\ e\92\18¸\ 4KÊÀ\8bªÍØ7um]\80Î:RѸ\93f3)à\fÌ_\v0}¾¹m)\89\11¸RAõ=\8b8ÁÙ\92Î\85B\9fº\9eÓµ{\90\87±¡gå\vÛ\94½4pê\ f\900Ël#FBãyå½Ô k\8dÖ|yk\15\98¦W.WGnÊ\0×Ã\92\1aØrBXé\80QXé\ 3Ñ0+\15ü\13Ô7\84xm\11k`c \8býúd,JÊ\ 6_zBØû\96OD¿Ã÷]\a¶:\8f¢ryæ\8bïá|+¶\90\18E\86ÇÚ\ 3M\9a\19fV&s\97:@Ö®Ó=ýD\97kÂð¸\17\a\1a\85¬lÞ\94Ò~lDçkmÛ\0\858\11}|\a\vÖÖ Ü\88I¥²\82q\ 4Wè#\95Ã(=µ\1a\e@«¥·\7fz\18\85¼\12½2GÍÚFÃ\99yuâcW§\ f²óîã÷\83÷ݦ@¾¦?²7ý\11½HpIoV¸ìúkc¿{zØÑ'g¿àè G\9b\8fÿ®\9aÙuÃl=ßöýý¿÷S\8ck\7f\9dlp¿á@H6Âõ\97Ãä\8fÉ¿\ 2ª\84Ùendstream
-endobj
-1632 0 obj<</Type/Page/Parent 1479 0 R/Contents 1633 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>/Annots 924 0 R>>endobj
-1633 0 obj<</Filter/FlateDecode/Length 1649      >>stream
-x\ 1\95WÛRÛH\10}÷Wô\ 3Ukª°d    ãKÞ\b    »ì\ 2!±SyXça,\8dð$\92Æh${\9d¯ßÓ£\19c\1c³\97\ 2\X\1aõåôéÓ­§ND}üD4\8aé|HIÑé\a}\Ù}|úµ3\8a\82\11]ô'Á\90
-\8aûãàÜ}ËiÚ\89\ 6C\\1f\8cÏ\83\98ï\ e'Aä¾ñ]Ø¡x2\ e\ 6|\ fg&îÛîÞxl\9f\1eñ9üU\92²Î\13E#X³qñ?Q0¦8\9eà\13á\85\90ÞiúhmÃ4»{ñøÛY'¼\86£>Í2\18\19\8eÆ4KmF¸\92\96bUË\8a¢A@\ f\95*kU>Ò´Y­tU\9fξÙg£Qûlï|\0ÿ³´\8bÃQ@7e]é´Ij¥Ëöè\80¢È\1d\8d\ 4GßÊGU\96lt£ê%ÕK\89ÌÚÜr)\8c<£©(\16\82LëÒØ\13¥¨ÕZÒ\17U¦zcè~F+\1fZ!\93¥(\95)\f©b\95ËB\96µLÙ}\9fz\11Ã\ e§k%ènÚûôpEó®
-d`­N\1f>|¸\9d\14\85Li¥Vr~ÊI˵Ò\8d¡µ¬\f21¤3\17\93.ó­\ f\f\8aòN\94»P\ e|&"ÏMà.ÆCÔ\18\81Ì\90®HSÅ\10\89\9c²¦´h\89\Õ[\18Òk\95ÂðbÛf-7äctp\90*\93¼I¥yÃ\86ÁÈ\9e·ìJD\99®\b \95¹\16)£l\81B=Ó
-\bV\94©\\ 2S½Ãrr\11NÆáý,\8cû v\92+àg¨Yé\92RY\882µ)\84×\89+eo\14\8c¹)\90Ì<\1e\8e\88ã\b¯}¡íÍ\1dì\9fW>
-@ø2\10À\8b\9apõ÷\8az\99¦-ç\10è\17õCT)Êuùðe~JÈ\8a\ fß\14Ö\fg s2ÒRr¯Ðón%3<\8d\ 4\97u½z\13\86 \ 5\ 4F7U"\ 1Ï£\fJY£Ômè/\13ó\8cy5·cxsd\8e¢\8eeÖ'ÃoY\0Î$K\12\86¦µ¨êw:yà\90duFï˦ø]/̼;?=#Y'A\10 ç©\94\9c®#\8f\8fénúî\1eµM\1aæ8:\ 2%\12µÏ³0i\19\14*©´ÑY\1d\b-\17
-\rÑP%ò.ÚGð\94\83ý<~\8d»\97\ f7óÓcðøì_\85ç\9ce\10Üا#Úõ2I¤1t¥Y"rºU\ 6$Cm¯n¹¶®\87P7½ø&\93Ú\1csýß(Ç\ 4Ñkô\90o\18î\a[\rX\7fjd#        ¤V«&oѨ\97\95n\1e[\1dj\8cä^GKÛêp\83¦¢\16\v¨\92±X\9a\15\93¸|Ó\8b}\80\8fÅî+x\ 4¶^\f\8d\9e\ 37[J\14l   ²,¤,Éè\82Ë\aÁ@4\89\865\89ÄB75m\96¨?d\ 6\ 5U\86
-) VèX\\97(1Ь¨Ô5)üâ\ 6¦ÇS£*«\90\9cÎ\ 1»<H­PX\8dX°kSÃ\ 3\0e¯N\a\97ÚÀd     ûiÛk\1eì\1dí³J\17»Îv¢\12Ð%Ga q\a®\11äN÷S\r°9j®\ 6²À§\8f\b\1eE¹¥\8d\80<j\14U[N¹¢´Ê\16\10ðÛ\92\0\84M­rõ\ 3\81£Y\905\94»\95Õ\ 3ß>8wÙ\13\1cf\80Q\9eë\rwñÝ\94þx\v«µJrDZ \ 2`\ 3®Øò,e¾"\95ÑV7Ös*¡ç~ÀyyÛ\97W+ÞáõÐIj\97\e¤t\10Ù\9e\1a\9avXÞkúl\808\ 6­¬\84\9d\1c\\86}\17lãY\8e¡\8c>!'\87®R\aJá®\86ß\17¡KÒ\84\1f£ñ$\8cÂþEp9}hÍN°y<O~;Ð0ùã\80û:S\8fMe{ª={á\92\8b1Ýû\11ø\1d\ 5ýØJÃ\9f\96%'_im\ 2j¿ÈêäëËÈ{,êã \7f1a5ù\87\99\IH\1d\ 4\91ç&z\ 3°\83bK&@;Ö\9f\1d07Ð\a|\19\1c\ 2ÁÅw4\98e*xÆî÷\ 6\89ë\86\13Ì\98\12II%\ 5\16\v&\91Ç{ò×n^¢ã¸=|\ f±y\eD\1aì\9fö·Ù&\96\8b\ 3\97"\a³\rZ\1f\9bÎÎÔs\0\9b¥Â\10q;\82A3\8b´g\17\12Ñj+ÏÓ\12m!\8cÙ 1\8fõ';´ÀºµÈÇãv\ 3¿6ü´µ\80\9e\12\ 1\9fÙÁáÅh·m¹IĽ\ 2|Xo\11½¨\0\91
-mmÅ\8eï\a\8es\9dì1Çï\12]îr´\19\84àp\9f³Z´\82õ¶ÒPh\14\16§ÍJ&*k·'o\94Û\14õ}¹\0\ 1$\9d([P·\86BI]TÐ)è\ fôó >ÿ+§6ãçTv»\9dp:\8d¨R\99\ 1L0\96Ã;\80IJ´Íß@À89GÒý\ 2¶âå\16\19t'Z2CËû\96\8b\831f<úÇv)6ô+&1{ô=ø2L\96\v4xÚ½9¢í\1cdóúB×êï\99\15Á¢Á|ÈT\85O\1e\fLiÞ=\8fôæÉW¿%û19\83+\v\80-\1d\96\19ÿ ±SØäf\87ðÙ7\85_°ø³\1eb\ã \85©}\18ÇAÚ-¿\16àÝE\0Äy×¢|Âã\90Óq½Ý\820vì\ 4\bçx­\1a[àþímh0\1a\ 4£á¸Ý\87\87\13¶ô~ÖùØù\eZ\9bqLendstream
-endobj
-1634 0 obj<</Type/Page/Parent 1479 0 R/Contents 1635 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R/I16 16 0 R>>>>/Annots 935 0 R>>endobj
-1635 0 obj<</Filter/FlateDecode/Length 1815      >>stream
-x\ 1\8dWkoÛF\16ý®_q[\14°\ 3D\14õ\96Ö(PDZ»\ 66®b©h\8b\18\91c\91       ÉafH+\ 2úã{îÌ\90bT%X%H4\1cÞ×¹ç>ô©7¤\10\7f\864\1fÑxFQÞ\v\83\10\7f\1e\7fî\rçÁ\90&C<£\9c&ã`â\ f\19­{\9dcNÓe°ìÜ-Ã`Nãå,X@n8\99áÒ\9dX°{Æíl\11̺·\9d3n\97#xp\94\97ç!<Áåp
-\ 3c{²\8a;gÜ\8eC\16=ÞvÎ|»\f\10wçöxÆítÆNµ·\9f\bH\8c\1c^üeÈvG\13|\ 3l\83ûá\94Þ*zß\9b\8c\96Á\98F\10\9e2^Ó\11^s'\v\8cÛÙ\ 4\18\1doG#h\e\ 1Ô1\8b²yw°\92Ç# \9e²\9c}\91ï:Ç\9cæs\0s¼ë\1c\11SÈP\1e/ÏÆ´\80ç.¤\99\véͦ7¸\9b\0jÚ<#þÙbN\9bØ\92$¤MtY\e\19Óö@¿¥E¬ö\86\1e6Tê´¨ÈHý"µ¡Já\81zIcI¦.K¥+zVÚ½$5Å:Åk\ 4Ù"S"~z\15¼Ú|è\85Ô\1fÍ\10É&¾üCÕd\12Ug1å*N\9f\ fT%Peµ_\182ù6\88TñLÏi&Ù\98\88cûÆ.S[\91Q)´ÈeÅ\9e\88\ 27\8a"-E\85W¡åYe\99Ú§ÅÎJ{ÃÃ1ò\0Ã&\11ZÒÓ¥z¦HÕÚÈ×dT. g\96m\15Ó\8bÈjip[G            C\17¥¨\92\vbi¡·i¥\85>Xã>\8c­$-ËLD@n\9f\89]Q\ 2/`ÈN:Õ\16°\ 3\93VòéÕ¿Xbp\17ÒÒå¤\ f"Z¬þtAÿ·Ñ\18\82~\88\84ð¹¢\æ[\86Áû_T"ÎÓ\82vZÕe\830\\13ÛL\9e\95÷غ\8494\8d¬ÚD²ÓRW©4g¥µR\15¥\86Ò¼ÌÒ(­2@\ 2¤\98*H¿uåâ\8cà\17\8fô\93wÛ¿:\1a¢L\10á\9fö½\1fÎ\ 5ÎÉ\80à 6z\90©Hd\ 3#ò­\18xÍç¼Ý!\9d\15©\8f\10;\9c\rg«AuÉH}õ\15\90,&U Ì¯)¹B6\8b\88\89\bX\1cÙð\85¹\9cîj\rn\80\96×̹\82ö\92
-)ã3@]1\9c{\r~P\96\9aê" ºIdôÑñ\9c\1cL%sB\92òÔ\98T\15¶6sññ|º\r|p¾\89\büGEG¢\80{åÁ\16\8b\15\95Èe\ 2k÷\\16é98¯8ï 
-hÆ\1c¢B\15}K\a¯ØÇ\96¢g¸:\17\99Q$?#\8có\81\82|ÿ\au\8e\ 5\ro^³aÖÚíiè5L¢Mb\91\18Ü  ßí.é¨ãK\99K\ eɶ>\8e\88\9b\88£0\Ö¢BG£L¾È\8c_\ 1¹\1d~\16±DàÎiÅciP\10\ 5)\1dã5hªË\98«\9e[Y\v¤ïFª°\99´<     h-]\ 3kºßÓåôé\15åHP)vÜ×4\9a\97\16ø\9aÃ#\88ãoC®¦ã9Ú\99Ó\96\v À¼Ouªe.\91xèpáO[`þY"G@/)\96¥,b TÂh\ 2pÚæŸ5^È8`Ö0F\ 6\8d\bígW£a£'\80ÿ\95jÒï1°à!Æ\86\90\1e\935×3Ì\98Ê3ÉV\14\f\81ìµ´!\ eî\9a\0\86C\f\99e°pÉ¿®«Di\f\94\aUy\1a4C¯\8fi4\\ 4á\14íÖ²Ä2تåpªD ³=3\r\\9c\9dQèbãIðE\\1c¨\80A\80\9bFȸ\9d \L6\94\93¨Ý¨Ã jæ\8bÀ´Ì\ 5xã:º\9f\85n¼A\a&°¥]\82þ!2î \aØCóÀ0I\99_­µ·VÍ\89¹\eUT\1as\11\8cìR3S;\86[Y\16v"D2\8dÊ0\94\8e\18\r·\r ªÐ²\98é\98\82\ 1ýÒ\ eÓ\13³°%h¯ôG7\8f\92jUXúí\13       \0A!úP£/ïA\ fvÄÏ*þj{¹\9d¥ªÆ\v\ 3S\lùhÀ¬\ 3[³yôTjk\92\97\ 2\1a\9dóàChùy¬8[QÝÐ\ 2Â^r\81\8ccìm1\b\ e­[Ø?ØØ\91k\97¨Kî|'\ 1;m?Ò\eÌ\89_\91c'Ôp\ e\rÆ\15|3ÒÙI[ÆÈê^fY@ïй±sxhê\ 2=ÄT\1cÎ\9e    ikรÄê\1f\1de+Q×\12\a¨Ð|Áÿz\97\ 4Ôï\7f\90\0Ð"ÖÖÉ<X\8cíVtß´+î1âkk\1f'¥Ùö\98×ÍzǦ°\7fø¥Ïö9^\1eó:«Ò\123*ÊRÔÄ RBG     æZT!V¬Yp5g\1eø=ÎÔÛ\18\8d\94ÆîaIÐ@ç\97\ 2[ )&í>I±¡E \874èLv\e\94\ 2\8fÜJtbÖû\8frq^a\99ëø\81\1e\8e[!¹\v \15`AEÓo2äõ5\8bì\83üÜ:m1ñ^c¡Õhç[ÉS\84/\9aeÆ/\ 5\f´õ²kß\96Ã>5I\aißãά\85\1e\88>\7f\9a(;»!ï\87\7fõ\7f\e\8f~_Ìø»ÿ\Ñ÷\9dBÿ¼\98}ÿuÙû\87IØÈñÿ\1dÙåt°\|Ct<ºþÏêß×­tG\14­ì:+\13ñ¿ëßWßÔðî~µn\15t\8dCÃã$\fÃoJ¯V7Gá\13é\95ÚK½º±òÇ\9anëb\19LüüØln\1f6÷¿<|G\8f·ï\7f½\7f¼}K«ÛÇw÷ë5\1e®\19¹ÁÝÂÏÏád\12,\16#\9aÍfÁxbW÷õõ»7×´Òê\ 3¨\8c_^QͽÏNn\96í\ fgó \\8c©?\ fí\18ºIDÉ\9bóp\12@
-[4\97ÖÚýÀb\81É\1c¿.g\vübÃÌ\9a\87üèvÓ{ßû\e\85'ºDendstream
-endobj
-1636 0 obj<</Type/Page/Parent 1479 0 R/Contents 1637 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 938 0 R>>endobj
-1637 0 obj<</Filter/FlateDecode/Length 1715      >>stream
\19º*M\18uü¹%Õ0t|[À¶Óþ45\817j¯\85çl]Áo"\98\86\16\9d\17_#ôp<-åQ>\9bvÈ8Üë\87ïÒNèáâ¼%ß\99ͯjÙ\8aHè(\17ìK¥?¹\163wv`ù¹JM©2\8a§\81±\a£´ç\86jh\13\9eÅEbÈÏ¢:\94\92\9fÐ5W{\91Ù\11Åä»\92~¬u\10ªñO\ 1ßË\86\89Óí6\94dÚÇÚ<L¬W\a\91u\ 3\95E¯³ª¡¼­Û\84>\142tÀU\ 5¾¦\88ðÐØC@&2HKtÔ:       \15\18±ï3ñ#Z\19\ 3\83\12(\ 5\87lõ£\95+p1$
+Bg Î¨W\88-þô\81n_´\1dÔê\ 1ã`Ù\ fB\17XA¬s\91j\10:\ 6Ú£º\15zÏj\15ôô\83Ò9\8báý\92Ó\9cM&\93~\84·ÒÊ\1fYª¡6áñ¢ºG"Õ\87¦UÛÑÓP\13Lc2\ 6_7ë        Ý·\83e\11\aÚpE\1aª\ 4n¼lñO\12\9e\8cÿ"AÿîýLÍ\1f\b\8c#\r2Ò+zzxÿøð\8cé\85˸û\8aÎÝ \99ñöÀ¡ò\9d{.ÎA@³^Ñ\r¤ÖX\7f\ 3Kfå3\91.ô»Ä¹Y·\1a\80î\9aßFpï¢tô¼v³ðL'TG\82ü\aÂ\1c#Dm\19Ö£U\7f¾qb\ðË(o\ 6\agýC<\9d6§óe²Zb\15A\ 5²ü[\b/\8eÆÑvܶÝ\7fxÃ8ÒQ½z\b¿Lï{½V&§Õrù\7f¦Zj\1a;úBV\1e\ 2óX\89\1f\9bMª­é÷%ý\85ÿÀ\89ÇÎý(\92äu÷C\b\97Æ\1aµMÓ\ fÇ#Ã\15¦.ó¶AX[\ eÒVÊñR\12\97\1fkS¡Ð>a%ºê,¨`Ø-/:\18Æ\8c«3\9eÍظ\8c.ûã \9bQy³\8fñ\90ͬÄÔ\1aa\80\95\18\87\14Ö\9e\íÎAì"\13ÂTÀÀ)\9d!m`\14\ 2\83Ê3u±ÚE0\18Ù\90+Æ~%ÂØÓ¤eqL \17ÐÉRU*îE\10#,ÄÀ\80¥G\1c±\80ðÊKâh\14ôÖ\9e\ 3\1f×\86ïc\ f©R\85)\e*\84K{\90\vXù¼Ë¥Q«»\vyæs&Ç÷®æí\86Üjb·¬,V\8bdu{\17)w·`°?o\ 6¿\rþ\ 5Ç\86õ\9cendstream
+endobj
+1661 0 obj<</Type/Page/Parent 1476 0 R/Contents 1662 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1662 0 obj<</Filter/FlateDecode/Length 689       >>stream
+x\ 1u\94AoÛ0\f\85ïù\15¼-\ 5j7vÒØ=¶ërÛ°¡\19vÉE\91\98Zm,y\92\1cÃÿ~O¶Ó­A\97 \80a\89äãÇÇü\9ee´À7£"§å\9ad=[¤\vZçËtE«²Às\8e\9fc:\f\a·Y\9eæ\97\a\ fÛÙÍ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èIÔ{\91^m_f\vJò5ÔnÕü§gçÉ\1az<øDt\b&yÔl\82')\f\19ÛÑÞÙÎóP\ 5\97(8æ\18\10«\ e)¡Ò\9dØ\91\b´ÃÇÇ2»\9d\94î¥dïµy\1eUOµ³%\80 vìD\90uÃá\9evó®Ò²"Ñ4,\90Î\93Ò\8ee°N££©ÏQÜî\8a\82xÅÛv\90\ 3¯é\1228Û8-\ 2¸\8d@FÁ\17\ 2&h\ 3\93\9bÍ\1de@\12Ç\91\91\ e\94føÒ7\eØÇà¿CÃä\93<NmþK\e\ 5BoÜ\f³\8a\f\13ì-B\15é\ 3     j\1c\9f´m=\84Ö¶5ñ½±&\ 1©Q%iOµP\8c«ñ\9dCh¤sÒ\92\ 4ÂÎèÀÛ\vðE\91\10À¾\13}\8cFUxÂYÕÊ\98Åp7e\8e.¨A\8c4\1c\83Á\9dóO­ËÉ\89I\91\96\19\9d\8bìòuAï»\1eÎßÌó¹u\ eV\89à+vüÉ£&Ü\17\9c\96A\ fÄá\89Ú\ f\röu\1c7\19Qcl¾²íQ\11<\1e)\1dmÇN
\1fªÁB¨ù\7f¥\9cµn\0ʳl\9d\ e=5­k¬g\7f=ö:¹¨'\ 1Yð"\9c\15\19\8c|\ fÃóãÙØ\93²J\9c`òÎ\0\9b¸D\17ÖiØÕ\1aÖ¶\ 6Ý`K}\Ctk\rh(öúÙÀ}j2h\¥Ú*}\18H]î²\1e\97éìöþC\fçFÿ!QNSË\96eZÞ-)+ò´\8c´\9eî¿>ÜÓwg_°>ôhe[cL"Îd0R¶Æ¿T¹¤¤XÜÅûÈýÞæ«b\95\16ë\12«\80Óò6\ 6}ÙÎ~Ìþ\0±[\8b\1fendstream
+endobj
+1663 0 obj<</Type/Page/Parent 1476 0 R/Contents 1664 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<</I16 16 0 R>>>>/Annots 949 0 R>>endobj
+1664 0 obj<</Filter/FlateDecode/Length 1649      >>stream
+x\ 1\95WMSÛH\10½ûWô\81ª5UX²\ 4Ørn\84\84]v\81\90Ø©\1cÖ9\8c¥\11\9e\18\8dd/ùõûz4c\8ccö£\0\17\96FýñúõëÖc/¢!~"\1aÇt:¢´ì\r\83!®l?>ýÚ\e\98Î\87\93`D%ÅÃ$8uß
+\9aö¢³\11®\9f%§AÌwG\93 rßø.ìP<I\82\873\13÷m{/IìÓc>\87¿ZRÞ{¤h\fk6.þ'
+\12\8aã    >\11^x\1d\8dè\9d¦\8fÖ6L³»\17\8f¿\9dõÂ+8\1aÒ,\87\91Ñ8¡Yf3Â\95´\7f¹\14«FÖ\14\9d\ 5t_«ªQÕ\ 3MÛÕJ×Íñì\9b}6\1a\ eNÏà\7f\96õq8
+èºjj\9dµi£tÕ\1d=£(rGã12ÁÑ·òAU\15\eݨfIÍR"³.·B
+#Oh*Ê\85 Ó¹4öD%\1aµ\96ôEU\99Þ\18º\9bÑÊ\87VÊt)*eJCª\\15²\94U#3v?¤AÄ°ÃéZ   º\9d\ e>Ý_Ò¼¯\ 2\19X«Óû\ f\1fn¦SªD)3Z©\95\9c\1fsÒr­tkh-k\83L\féÜŤ«âÉ\a\86'nDu+ªm({>SQ\14&p\17ã\11j\8c@fHWd\99b\88DAy[Y´D¡\9a'\18Òk\95Áðâ©ËZnÈÇèà U¥E\9b\86\r\83\91\ 3\95\88r]\13
+-2FÙ\ 2\85zf5\10¬)W\85\ 4¦z\8båä<\9c$áÝ,\8c\87 vZ(àg¨]é\8a2Y\8a*³)\84W©+å`\1c\14Hf\1e\8fÆÄq\84W¾Ðöæ\16öÏ+\1f\ 5 |\19\bàEM¸ú;E½È²\8es\bô\8bú!ê\f庸ÿ2?&dÅ\87¯Kk\86\ 5\19i)¹Sèy¿\969\9eF\82˦Y½     C\90\82©b\ 2£Û:\95\80çA\ 6\95lPê.ô\97\89yƼ\9aÛ!¼92GQÇ2ë\93á·,\0gÒ%    CÓFÔÍ;\9dÞsH²>¡÷U[þ®\17\9f\1f\9f\90lÒ \b\90óTJN×\91ÇÇt;}w\87Ú¦-s\1c\1d\81\12\89ÆçY\9a¬
+J\95ÖÚè¼ R]\86\96\v¥\86
+y\97Ý#xÊÁ~\1a¿ÆÝ\8bûëùñ!x|ö¯ÂsÊ2\bnìÒ\11íz\91¦Ò\18ºÔ,\11\ 5Ý(\ 3\92¡¶\977\[×C¨\9b^|\93ic\ e¹þo\94c\82è5zÈ7\f÷\83­\ 6¬?¶²\95\ 4R«U[th4ËZ·\ f\9d\ eµFr¯£¥mu¸A3Ñ\88\ 5TÉX,Í
+¬ûI\¾éÅ.À\87\15<\0Û \86FOhà\81\9b-%
\ 4Y\16RVdtÉå\83\9aTWyË\9aDb¡Û\866KÔ\1f2\83\82*C¥\14\10+t,®K\94\18hÖTé\86\14~q\ 3Óã±UµUHNg\8f]\1e¤N(¬F,صià\ 1\80²W§\83Km`²\82ý¬ë5\ fö\96öy­Ëmg;Q   è\82£0\90¸=×\br«û\99\ 6Ø\1c5W\ 3YàÓG\ 4\8f¢z¢\8d\80<j\14U[N¹¢tÊ\16\10ð{"\ 1\bÛF\15ê\a\ 2G³ k(w'«{¾}pî²'8Ì\0£¢Ð\eîâÛ)ýñ\16V\e\95\16\88´D\ 4À\ 6\±åYÊbE*§'ÝZÏ\99\84\9eû\ 1çåmW^­x\87W#'©}úMo\90Ò^d;jhºay§é³\ 1â\18´²\16vrp\19v]°\8dg9\86\84\9c\1cºJí)\85»\1a~_\84.I\13~\8c\92I\18\85Ãóàbzß\99\9d`óx\9eüv aòÇ\ 1÷u®\1eÚÚöTwöÜ%\17\ f#ð;
+\86±\95\86?-K\8e¾ÒÚ\ 4Ô}\91õÑ×\97\91\ f\93`x>a5ù\87\99\KH\1d\ 4\91ç&z\ 3°\83bK&@7Ö\9f\1d07Ð\a|\19\1c\ 2ÁÅw4\98e*xÆîw\ 6\89ë\86\98z­RIi-\ 5\16\v&\91Ç{ò×v^¢ã¸=|\ f±y\eD\16ì\9eö·Ù&\96\8b=\97¢\0³\rZ\1f\9bÎÖÔs\0\9b¥Â\10q;\82A3\8bl`\17\12Ñi+ÏÓ
+m!\8cÙ 1\ fõ';´ÀºµÈÇãv\ 3¿6ü´µ\80\9e\12\ 1\9fØÁáÅh»m¹IĽ\ 2|Xo\11½¨\ 1\91
+]mÅ\96ï{\8e\v\9dî0Çï\12}îr´\19\84`\7f\9f³Z´\82õ®ÒPh\14\16§ÍJ¦*ï¶'o\94Û\14õ}¹\0\ 1$\9d*[P·\86BI]TÐ)è\ fôs¯>ÿ+§.ãçT¶»\9dp:\8d¨2\99\ 3L0\96ÃÛ\83IJ´Ëß@À89GÒÝ\ 2vâå\16\19t'Z2GËû\96\8b\83\ 43\1eýc»\14\eú%\93\98\1e|\19\ 5\1a<ë_\1fÐv\ e²}}¡ëô÷Ä\8a`Ùb>äªÆ'\8f,V\ 6¦4ï\9e\azóè«ß\92ý\98\9cÁ\95\ 5À\96\ e¥íÊ\8c\7fÐØ\19lr³Cøì\9bÂ/XüY\ f1®qÐÂÔ=\8cã í\13¿\16àÝE\0Äyߢ|Äã\90Óq½Ý\81\908v\ 2\84S¼V%\16¸\7f{\e:\e\9f\ 5ãQÒíÃÉ\88\9fõ>öþ\ 6Z\93qKendstream
+endobj
+1665 0 obj<</Type/Page/Parent 1476 0 R/Contents 1666 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R/I16 16 0 R>>>>/Annots 960 0 R>>endobj
+1666 0 obj<</Filter/FlateDecode/Length 1816      >>stream
+x\ 1\8dWkoÛF\16ý®_q[\14°\ 3D\14õ¢¨5
+Ôqì®\81\8d«X*Ú¢^,FäXdBr\98\19Ò\8a\80þø\9e;CR\8cª\ 4«\ 4\89\86Ãû:÷Ü\87>\rÆäãÏ\98\16\13\9a\ 6\14å\ 3ßóñ¤ûçñçÁxá\8di6Æ3Êi6õfÍ!£õ wÌi¾ô\96½»¥ï-hº\f¼\10rãY\80KwbÁþ\19·Aè\ 5ýÛÞ\19·Ë        <8Ê\86öå\85\ fOp9\9eÃÀÔ\9e¬âÞ\19·S\9fE\8f·½3ß.=ÄÝ»=\9eq;\ fØ©îö\13\ 1\89\89Ã\8b¿\8cÙîd\86o\80mt?\9eÓ[Eï\a³ÉÒ\9bÒ\ 4ÂsÆk>Ákîd\ 1ë\9dq\eÌ\80Ññv2\81¶  @\9d²(\9bw\a+y<\ 2ê9ËÙ\17ù®wÌi±\00Ç»Þ\11\fåñòlL!<w!\ 5.¤7\9bÁèn\ 6¨ió\8cø\83pA\9bØ\92ħMtY\e\19Óö@¿¥E¬ö\86\1e6Tê´¨ÈHý"µ¡Já\81zIcI¦.K¥+zVÚ½$5Å:Åk\ 4Ù"S"~zå½Ú|\18ø4\9c\ 4\88d\13_þ¡j2\89ª³\98r\15§Ï\aª\12¨²Ú/\f\99|ëEªx¦ç4\93lLı}c\97©­È¨\14Zä²bOD\81\eE\91\96¢Â«Ðò¬²LíÓbg¥\eÃã)ò\0Ã&\11ZÒÓ¥z¦HÕÚÈ×dT.     g\96í\14Ó\8bÈjip[G            C\17¥¨\92\vbi¡·i¥\85>XãM\18[IZ\96\99\88\80Ü>­\92\13»¢\ 4\90\9dtª-`\aø@&­äÓ«\7f±ÄèΧ¥ËÉ\10D´Xýé\82þo«Ñ\aý\10        ásE¹Ì·\f\7fQ\898O\vÚiU\97-ÂpMl3yV¾ÁÖ%Ì¡idÕ%\92\9d\96ºJ¥9+­\95ª(5\94æe\96Fi\95\ 1\12 ÅTAú­+\17g\ 4¿x\81\9f\1a·\9bW'c\94      "üÓ¾÷ùÀ9\19\10\1cÕF\8f2\15\89ldD¾\15£Fó9owHgEê#Ä\ egÃÙjP]2R_}\ 5$\8bI\15\bókJ®\90Í"b"\ 2\16G6|a.§»Z\83\e R§å5s® ½¤BÊø\fPW\fç^\83\1f\94¥¦ºð\88n\12\19}t<çÚ0\a\9c\90¤<5&U\85­Í\|<\9fn\ 3\1f\9co"\ 2ÿQÑ\91(à^y°Åb\85m%r\99ÀÚ=\97Ez\ eÎ+Î;¨\ 2\9a1\87¨PÅÐÒ¡QÜÄ\96¢g¸:\17\99Q$?#\8có\81\82|ÿ\au\8e\ 5-o^³aÖÚïiè5L¢Mb\91\18Ý\89¦Û]ÒQÇ\972\97\1c\92m}\1c\117\11Ga¸¬E\85\8eF\99|\91\19¿\ 2r;ü,b\89À\9dÓ\8aÇÒ  
+R:ÆkÐT\971W=·²\ eȦ\e©ÂfÒòÄ£µt\r¬í~O\97ó§W\94#A¥Øq_Óh\96È_Zàk\ e\8f \8e¿-¹Ú\8eçhgN[.\80\0ó>Õ©\96¹Dâ¡Ã\85\80ùg\89\1c\ 1½¤X\96²\88\81P  £       Àé\9a\17ãÖz!c\8f\18\194Â,#´\9f]\8d\86\8d\9e\0þWªM\7f\83\81\ 5\ f\84l0Ys=Ã\8c©\1a\8a\82!G5\90½\966ÄÑ]\e\0ÏZ\7f\8c!³ôB\97üëºJ\94Æ@yPUC\83\r1\8dÆ¡çÏÑn-K,\83­Z\ e§J\ 4:Û3ÓÀÅÙ\e\85.6\9e\ 4_ÄÅ\81
+\18\ 4¸i\84\8cÛ        ÊÅdC9\89Ú\8d:\f¢v¾\bLË\\807®£7³Ð\8d7èÀ\ 4¶´KÐ?DÆ\1dä\0{h\1e\18&)ó«³öÖª91w£\8aJc.\82\91}jfjÇp+ËÂ^\84H¦Q\19\86R\83½#FËm\ 3¨*´,f:¦ G¿tÃôÄ,l   Ú+ýÑÍ#Y¼¤Z\15\96~ûD\ 2@P\88>ÔèË{Ð\83\1dif\15\7fµ½ÜÎRUã\ 5¥õ\81).¶|4`Ö\81­Ù<6Têj\92\97\ 2\1a\9dóÐ\84ÐñóXq¶¢ú¡y\84½ä\ 2\19ÇØÛb\10\1c:·°\7f°±#×.Q\97ÜùN\ 2vÚ~¤7\98\13¿"ÇN¨å\1c\1a\8c+øv¤³\93\8c\91Õ½Ì2\8fÞ¡scçh ©\vô\10Sq8{&¤­\81ã\8e\12«\7ft\94­D]Kp\85¡Bó\ 5ÿë]âÑpøA\ 2@\8bXW'\v/\9cÚ­è¾mWÜcÄ×Ö>NJ»í1¯Ûõ\8eMaÿh\96>ÛçxyÌë¬JK̨(KQ\13'H  \1d%\98kQ\85X±fÁÕ\9cyÐìq¦ÞÆhTQ¥4v\ fK\82\16ºf)°\ 5\92bÒî\93\14\eZ\ 4zH\83Îd·A)ðÈ­D'f\eÿQ.Î+,s=?Ð\83mÛq+$w\ 1´\ 2,¨húm\86\1a}í"û ?wN[L\1a¯±Ðj´ó­ä)Â\17í2Ó,\ 5\f´õ²oß\96Ã>5I\ fé¦Ç\9dY\v\e \86üi£ìí\86¼\1fþ5üm:ù=\fø{ó¹¢ï{\85þ9\f¾ÿºìýÃÌoåøÿ\9eìr>Z\86ß\10\9dN®ÿ³ú÷u'Ý\13E+»ÎÊDüïú÷Õ75¼»_­;\ 5}ãÐð8ó}ÿ\9bÒ«ÕÍQøDz¥öR¯n¬ü±¦»ºXz³f~l6·\ f\9bû_\1e¾£ÇÛ÷¿Þ?Þ¾¥Õíã»ûõ\1a\ f×\8cÜè.læçx6óÂpBA\10\99]Ý××ïÞ\ÓJ«\ f 2~yE5÷>;¹Yv8\ e\16\9e\1fNi¸ðí\18ºIDÉ\9bóxæA
+[4\97ÖÚýÀb\81Ù\ 2¿.\83\10¿Ø0³Â\ 5?ºÝ\fÞ\ fþ\ 6\85xºLendstream
+endobj
+1667 0 obj<</Type/Page/Parent 1476 0 R/Contents 1668 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 963 0 R>>endobj
+1668 0 obj<</Filter/FlateDecode/Length 1715      >>stream
 x\ 1\9dW]oÛF\10|ׯX\b\ 5¢\0\16-ɲ$÷¥°ã¤\b\10;n¤ (ê>\9cÈ\93t1ÉSx¤\15õ×wvïHS²S´A`Çä\91û1;;»üÚ\19Ò\0ÿ\864\1dÑÙ\84â¬3\88\ 6¸Óüúôkçl:\89Îi2>\8f\ 6\94Ñx8\88fá*¥y§}\8dÓñÙÁ)\fÑù`\18Mi<\9bâï\11~
 M+vC³Itq|ÿjÑ9}7¦á\90\16+\1a\8d¢Ñ`H\93Ùyt>\99Ñ"\91À\ 6´\88{ïs²E¢\v*-ÅUQè¼L÷¤\92\84\14åzGIa\1eýéÞV4WÙRÑƺò\84l®É®¨ÜáE\9b'¦46w\94U®Ä\ 3iBeQé\9f_/¾t\80G\7f4\89ÆðÛ[l4©8¶U^Rå4\9e\92·s\1d\97üg\89ã'\1fÁ\98zÄ;T\99\84Ý\rè¾g"\1dáNamY\e»\7fÍ\9eNßÅ!ãþ4\9aqIàò~4\99\92?­ñ\90Ãþð,\1aý`LK\8e(ÓÙ\12Ð0\ 6\eí\1d¨à¾GÛÂä%NU\92\99üÐû\80\1aשqeôRäul/\ 4ß\1fÍ¢á\ 5õÏ.¢      \87ÿq\ 5ü«Âé\13\81\ fµ`4\ 1m\8d³\94Ä\95&Mik\9dÓÎñ\11ÿ\aĹÒ+\93j¹`ø]µLL\ 1\v¶0Úql­x\97:תÜÐ\9f\92ÞO\7fEôI\a\18Ê\8dB5à\83­\91Û¨\ 2\8b\9c\96Ò¾*´B\ 5ótÿ\8a\96{JôJU©O¾/ü\1c\81%(Ì\99Ôäc\1ekbÆm¸ú1Þå\8c8¾B\7f­\10_ÒÄ\0\aÅ£Áã*GÎÎÙØÈÃ\87\89\9c\90\16ÔNí\1aQ´¹v\94#\9bCá*gòuͲû\9e-|\99þS\85{÷¯\eôW\85Í`æw\93'vçèvAãhp:z 85h¶\88>nuNÝ[\8dF*\1e\8eb¹Õf½Y¢º\ek\93.:\95º7{
 ÏÒ]ªPÆ®$¾,`\1d\82\80G\ e\9b\b\ e\ e°LmÜ`éS=9r\9a«G³Æ3uCvï<\97]\14E]xH!\17\11ý\81â¸\8d­ÐéN3ødrh\80J\89IÍØ¡1B\17\80\8eL\95ñ\86\99\862Öýá\89r\14\ 1Èar\94ØæÌ\81¢%        ¡Y.h\b9a5è\9f\r½²\fÇ\11T.¢¹.Åûµ\b\97\13DÞ~\v\99øZÖr\0+£i­\ 4ÿ\96\85É\8fÀ}å¨6\19\80¡\1d÷\99°6· +ð¨S\rR
 \vOY\9f\1aD\99øû\17Gð÷\96\87zþÖ´|¿
 %r(È\13\ 3\ eS÷­ãû\8f¸\9d\94´\9bÛ;´\9e#Ë`#:¨h·5)¾Í&Ý\93'\ 2äZ'G­\ 3\87¬\ 1R\939f.\1a£K¥ZÖªPGÑ"±§V­\ 1u\16\97ÎUØTÖâÍ\ fÝf\91\10®\1dî[­¨Tê,7¡Zbîg61«}Èç\ 5ç®\8a7G)@>.ß|À®\0®'G-î\87°W\17ß\11KûíYè´\ 2\eãÔÊÄ\8em\96¡E<àò¦\ 3\9b\9e\90AË;Ù\81\fÇ
 Â\1eÌe   W¶      ®\85õ"\1erpÂ/ô\9d_æZòÀÐß\85\ 1ÙÌ\0\11F^~XfdÄA\9aüb\9bXè(ßÎÔ\ 3\17\8e\85\93\ 4\19Ñ\95ìF2\858f6/âT\ar\84\1e\18ïeØ[\875µcÇüSbQ×áX6±F\b\81yØРÈ^\9cðñ"ß
-=\97-#,\91+\7f»\9e\91½g¨#\a&­¬¹ÚO|g\12IY3Î2ò[d\ eÃ\87\12+é×´\9dß\5Ò#1\9d\10Ô\84Рl\1d\1a\7f\94°¯\92_Q¹£!]ù¾±À5\r\81µ\ó\aKXènæýOwoÂ\94\ 5x~uæ½±Â\0òAÃóKN¹;B\aû\99\87\5ïѪ\90\0\1e±ø®a\83\85\10U+tf±D\89oYQyxã~(d\18U~\r&(Bf°\18à\13êÈu3F±4·Râ¼kS´Æ7\1aÇ\ ea\16*vÛö\18"9z\8bµv\8f¯¶.ít\9aö\1f0\98rZ\17¶ÚJmOßÍ\ 2\ 5\86\13|bÎÎh2\1cF£É9oFóË\9b«KðÜ~a\r¾¶1ÐÊK\88\98\95úôëWúÓÁ\ 5?ÿ¿·±ñt\1cMñm*ª;\1d2\bo\17\9dß:ÿ\0\7fªðÀendstream
+=\97-#,\91+\7f»\9e\91½g¨#\a&­¬¹ÚO|g\12IY3Î2ò[d\ eÃ\87\12+é×´\9dß\5Ò#1\9d\10Ô\84Рl\1d\1a\7f\94°¯\92_Q¹£!]ù¾±À5\r\81µ\ó\aKXènæýOwoÂ\94\ 5x~uæ½±Â\0òAÃóKN¹;B\aû\99\87\5ïѪ\90\0\1e±ø®a\83\85\10U+tf±D\89oYQyxã~(d\18U~\r&(Bf°\18à\13êÈu3F±4·Râ¼kS´Æ7\1aÇ\ ea\16*vÛö\18"9z\8bµv\8f¯¶.ít\9aö\1f0\98rZ\17¶ÚJmOßÍ\ 2\ 5\86\13|bÎÎh2\1cF£É9oFóË\9b«KðÜ~a\r¾¶1ÐÊK\88\98\95úôëWúÓÁ\ 5?ÿ¿·±ñt\1cMñm*ª;\9b1\bo\17\9dß:ÿ\0\7fûðÈendstream
 endobj
-1638 0 obj<</Type/Page/Parent 1479 0 R/Contents 1639 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 949 0 R>>endobj
-1639 0 obj<</Filter/FlateDecode/Length 1800      >>stream
+1669 0 obj<</Type/Page/Parent 1476 0 R/Contents 1670 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 974 0 R>>endobj
+1670 0 obj<</Filter/FlateDecode/Length 1800      >>stream
 x\ 1µXmOÛH\10þί\18¡;5\95\88±\9d\90\ 4¤\9e\94
 zåÔ\ 2GÒö¤¤\1f\16{CÜÚ^\9f×!p¿þ\9eÙõ&K
 º\9eÔ\82@lvwæ\99g^\97¿÷"
 i\9at`E\1cô\ 2\9a¬ªJÕ\r ÊE}+©\\157²&µ ªÎÊFÖúåô\v$õá<+©\e\ f!©sYJÊ´^Ij\96¢¡¥Ð$êLË\92Ò\15nÞâcI©¼\93¹ª
 Y6Tá\88\13\bDV\8cûæT)eJ\8d"ÝbIëì\ e\18Rµ.s%R\83 ¤®        sh^¨\9a¢0|¡}\94\ 1}ÐN맬Ä]M\17S\1a_}b-Z\15rÍ0ÅúëZÔV\9bx0ÚóL7\ 1\9d/¨P\88t\18S\92*%[íélÉ\80\89\92V\eEZ\14°Ñ =`Y\96*D\9a¡ªCu\95$y\ 6ã\81U˦µ+QE!Êô1¯\1dJ ø\86¥·dÈÆÀk/    ­U\92\89F\9a{\1e²uÖ,    W³R7"ÏqÙÞ\bh
 \a,T\9e«5\13\ 3\16ä½(ªÜø`©Ö\90\8eÏ\12µÊSÖ+\12àª@ÆR¦'\16[HÇÎå\1cî þ\17â\9dÎÆ.ªÔ­¢î\aª\95j~Õ2©\81º\9bоD\1cY\1cz\9f¯0à\10Y\ 6\19§ª\10Yùjv1¾¾8\1f\7f¦ËÉ«Ù\872»ÿL\13YÃï¯f\9b\0      Â®È\117½Ï­\8c\98ë\1edÌ<\17ß\8f\ 6nÛ©¸²¡K§6\90ÎË\85¢È\18åá þjO\À\91'4{{Eï\10¤õ\1f°\ 25"dD\99Ôt5q\1a\1c\80\1f¡!F\10ÿ\\rýIv\88\9f÷\7f=aÁÿr¥«\ 5\97ÎYÆ\ f\8b\Üê\93Yx?\ 2íaèè~t¦d'Íæøººüýr>_V]\83ëÉéÔI\9dUM¦Ê\93\99=¿{ïàâ\92N¯Ï?\9e]ÓøãøüÝøõ»3zsyMÓ·ç\13ºº>¿\98\9e]\1f<)\9dS\18i}2s»..¾\8bÕù|'%~³ie2g['\9c}4\9fï?\1f\99Øü\19^\99¬\92Dj½Xåù\ 3×.Ú A¡¶\99\83
-Ø@¿ýt{(\89©í:ý\80ÆiÊ5éB®©Í$Mw\990\ 5ÏKmTo+è\9bîóú\ 1½e!VysÐö\13µX Y\11J ë\¤\97\9a\ ff%êbV\1a\9a\ fß`º²\ 5Z\177A¢ÊÅc%\1d>ÉÝkßa\v\82`\9fKi*k`ϵB)E×0eµt¾ä\8e\ e\13MUµg]\7fó-JSg1}ÊþáV\94\ 1\81-ÖܬÖ\19\f@9Ö\¡U ò3\ 3\ f£`7\1eØ*Ì\85\1d\97J\99 \1dpèY\93¸Ai7]Ôó\9c¼\97ɪAu/é²\92ekÐÙý¼Ãy\84\9b(¸ó\97ÐÊM$-²\12fÕ¢Aÿe³º^\9fAªÝe¹¼\ 5¡óN\16ÈÀÔ|Rµ%O8N7ì\eq;ÌÎ_¶\91\91´Ç»Ã`\849­ån\1e\ f\86­\8f\9c<³¿±Ü°"À!Ððp\ 2à\86ÃWô w\ 6\95\ e\13Û0yF3f¡´ã©u\81Ö\8d15\1fo)?ÇPPÃýL07Ë\96kpo"\85=·K=Ã\14\e Ø\15m¤ZÖ½\81ÁÙÚ\81\v¶¦=9&x\ e)V\9aÇ®; Ù\84ø\9dÈWð\f\aHU«ÛZ\14´Tê+\99³ÚOiÖÄô8"\81\8f\97úA7²h=l\9dç²ÅS}(\9bäÐÜLDµãbðD¢\82vìc\¡\ 5\82F#Ä0ñ|wú-\b±\8dê#ê\a\13/PíbÿÓ\12\13æv\ 2\17µ*À\81\9d´\ e\90\12î\16[2M)ÀD\89è-UcÓ÷À"ß\8ek(\aßLe&\1f]\16\81!{ç\91Çø#\8f\1cÇè\93þ\83\8bÁC-+QsèXÒ­LÇs繪Ä!ÔÀ;\15\ 6CE¹J\98^vZ\892ê´\1aCÍ8kÜÉ\15Ð\fÀ\rêÊ\ eP&¢­\8d\a\ d]Ãw\18Ð÷Ǧ\82Щ,3\99îó}Ìu«\9a\8bh\vÙ\92\1dÐ\852\180Y?ÍÍ\ 6W\e\8eÖT\97e¨´»Ã}K5ÊZiÒ\ræ¡Ô5ò¾adlÓãÊw`üéÂ%C½\14¶0ñ<»*\9bÝø\99.¥e\ 4\ 1Ãó®ä>\8e8³À¶~Me.a\9a£õ\19gòS¤\96\85ºãV\0AfZ4ñÈH\9fì\1f­\13\<\ 3Ïã!\9d\1daçô]HÿY\1c:dg\1e¸\1f/\9d4µ¯+?\19\1dÄFYá.æ¼ð}\94Û\ 1G\99\89\9bí\v\90\vk\82W\12\1e\8bæå\87\880O«\aµB$Ê´Íu\e1hK\94£û²ó^\9câ]õ\ 2\87³dÉ1Å\87\11QàÐ\82Á\eÜ´åh\80ÿ<\8cð_\89\16&ã÷¯Çh\9bê\v:\1e\9dªde\9cƳ\1dßìº\vÝa\88\aK;e|÷Û¶\8fgøp0Â\e\19W\871K<\9bîý¹÷/÷ñ!&endstream
+Ø@¿ýt{(\89©í:ý\80ÆiÊ5éB®©Í$Mw\990\ 5ÏKmTo+è\9bîóú\ 1½e!VysÐö\13µX Y\11J ë\¤\97\9a\ ff%êbV\1a\9a\ fß`º²\ 5Z\177A¢ÊÅc%\1d>ÉÝkßa\v\82`\9fKi*k`ϵB)E×0eµt¾ä\8e\ e\13MUµg]\7fó-JSg1}ÊþáV\94\ 1\81-ÖܬÖ\19\f@9Ö\¡U ò3\ 3\ f£`7\1eØ*Ì\85\1d\97J\99 \1dpèY\93¸Ai7]Ôó\9c¼\97ɪAu/é²\92ekÐÙý¼Ãy\84\9b(¸ó\97ÐÊM$-²\12fÕ¢Aÿe³º^\9fAªÝe¹¼\ 5¡óN\16ÈÀÔ|Rµ%O8N7ì\eq;ÌÎ_¶\91\91´Ç»Ã`\849­ån\1e\ f\86­\8f\9c<³¿±Ü°"À!Ððp\ 2à\86ÃWô w\ 6\95\ e\13Û0yF3f¡´ã©u\81Ö\8d15\1fo)?ÇPPÃýL07Ë\96kpo"\85=·K=Ã\14\e Ø\15m¤ZÖ½\81ÁÙÚ\81\v¶¦=9&x\ e)V\9aÇ®; Ù\84ø\9dÈWð\f\aHU«ÛZ\14´Tê+\99³ÚOiÖÄô8"\81\8f\97úA7²h=l\9dç²ÅS}(\9bäÐÜLDµãbðD¢\82vìc\¡\ 5\82F#Ä0ñ|wú-\b±\8dê#ê\a\13/PíbÿÓ\12\13æv\ 2\17µ*À\81\9d´\ e\90\12î\16[2M)ÀD\89è-UcÓ÷À"ß\8ek(\aßLe&\1f]\16\81!{ç\91Çø#\8f\1cÇè\93þ\83\8bÁC-+QsèXÒ­LÇs繪Ä!ÔÀ;\15\ 6CE¹J\98^vZ\892ê´\1aCÍ8kÜÉ\15Ð\fÀ\rêÊ\ eP&¢­\8d\a\ d]Ãw\18Ð÷Ǧ\82Щ,3\99îó}Ìu«\9a\8bh\vÙ\92\1dÐ\852\180Y?ÍÍ\ 6W\e\8eÖT\97e¨´»Ã}K5ÊZiÒ\ræ¡Ô5ò¾adlÓãÊw`üéÂ%C½\14¶0ñ<»*\9bÝø\99.¥e\ 4\ 1Ãó®ä>\8e8³À¶~Me.a\9a£õ\19gòS¤\96\85ºãV\0AfZ4ñÈH\9fì\1f­\13\<\ 3Ïã!\9d\1daçô]HÿY\1c:dg\1e¸\1f/\9d4µ¯+?\19\1dÄFYá.æ¼ð}\94Û\ 1G\99\89\9bí\v\90\vk\82W\12\1e\8bæå\87\880O«\aµB$Ê´Íu\e1hK\94£û²ó^\9câ]õ\ 2\87³dÉ1Å\87\11QàÐ\82Á\eÜ´åh\80ÿ<\8cð_\89\16&ã÷¯Çh\9bê\v:\1e\9dªde\9cƳ\1dßìº\vÝa\88\aK;e|÷Û¶\8fgøp0Â\e\19WGÇ,ñlº÷çÞ¿øB!.endstream
 endobj
-1640 0 obj<</Type/Page/Parent 1479 0 R/Contents 1641 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1641 0 obj<</Filter/FlateDecode/Length 1149      >>stream
+1671 0 obj<</Type/Page/Parent 1476 0 R/Contents 1672 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1672 0 obj<</Filter/FlateDecode/Length 1149      >>stream
 x\ 1­VkOã8\14ýÞ_q·¤#VÛ&Mú\ 4©He\0\rZ`»\10i5Ò~\187v©g\12;c;\14¤ýñ{í$\ 5¥Ãc\87-\8f6ö½Çç>ê{¾·BèãO\b\93\b\ 6cH²VßÇÇÑÈ\1fÂp:ÁÏ\11þ)\ 6«ÖqÜ
 Î\86\10\86\10¯Ðe<\9d@L\ 1Íû}\88\93}³f°YË\94A®d´\ 6#a#Õ7ÿ×ø+zöá tìEC\ 4\8féþÞ/Á\92\8b@¯­A\1fzQè\8fÝ:Ü$\8açÆ\ 2\992@@°\r\ 2sa\98\ 2&\8czÀ-ÜwK        ÉýT&$­\80¾?u@ÍgðÂî\16E\90\8cu¡Ð\8c\ 2A²H\9f\ eæw\fìî®{Ô\ 5½&\98\8e\9a\9cÝ\81\95TpÁEq¿\v1@\ 6\12Cúñ\ 1Ã.P\85ç«göG]°\91\1a.EÅÝ\1eU\92¿ã      \9e̱\ 2\96*J»\1cÆ]Øpqp¿ÅªL¶\15Øq¹$ß\18è\ 2#ß0\9b3\87_3Á\a\9aÑOø\86\9bÚÅï*²Í6e+Ý@]\\9f\1fç\8bYÀL\12¼XÉ\93y|:ûB\89að[çs'ëÐ^çSç²só¥\81\98¥ycíúô&\9e_dz6¶\92ËQ\9aSlim\882íÊv\e9üÎX\8eý\96Èü¡\81\93äàÕ\9c\1f\9e%×0Ý\839¥Ok`{yëÜ0fÉZB»\rÿõutô
 ¤\17ýã\85\87\7fãëíà¯\82\ 2\1cj:\vî\88
 t.e\1a`6\ 3/zñ\98·\80f÷³þa\96â?½~\11¬NÓ[@Ó|\16\14Z\ 5®\17\ 3M²%qÌ]³\ 5ÞÈÏ\958|LÎ\ f ëÆ0²HÖÐ~\15­\r\b\12\98,/\e\9aPê{\1eDG\1fÂFÕ±è\e\ 1ÞÅâÿ\0­Yfß(W°S\9c\9d£3Ia\82÷öë\965É×,÷\\17\rÿ\rYj0ª¼£wy\ fÞå=|\97÷è]Þã\9fóöª\9bíç¼÷àJ\9aòNçv^p\rø+\18£\8c6ÊS6ÿNï§|\19èlé'R¬\1a\1e{Ígø,\v\anoBÅL¡\ 4Þ²w$-p\b/\v\ 3ç@2\10\8d\9d(Ü@Æ\88ÐNA @xn®\97\17è\89\14¬¾ÎkKv\8f\18}Ë%8;\80\10e\87\95\ 1j\18º\1f\ eýÈ\1fùpc¯\ 5 \82¢\12\18\v\1cÐnZ=\15<½È
 \9eý¿¸ r£á*\ e"+}ÜU\ 2v´0¥QIh\99p;§H9æ7ܬ\81\11¼;\9c!S>Äk\86\ 3TH\95\914}\0cG«\9dà8É3;º/\16qxØ­\138ð#{ìÇ?.q\11ÎÎ/Nñ\r\a¦ï×̳B£BJµÄbæN[X4,JÂPD! ]{B\8dâðGRH°\f×\87ã\aÔ>+R¤¦\vR¤ÛÁW\9d\8d\89­m\1d\89\13
 í2sO³ÖFn÷\ãqÒÖW?hò\9a(\95(\rl\89\15s\91W)â\ 2¤¢(y\8cl\ 4í\bvA\11\fHÙvÀ\ 6%èý½à\8ae(\ 3mtuA\92\94ãʶY¢q©2±Émz±\9dJ¶[\12Ï$«ý\18\8eL¹¸m[¡É\94p\8c\19&®,aùmÙ¬\99\r3\95·ü\89ü¬ÒV¥×\91Ö\9aß
-T\9aØü\19¦\99çV'WeA\80ºô©$\14\96$%"Á£1-°"<\ 5\89½UÉèi%ÀÃ1\8aóé\0ex¿\8cóf~y<Ç\ e\96_YbàD&\85M\90S\8a6«½Ú¡7é£\10\7f\ f'C\7f2\9eâ7\ 6í'\ 3\vs\1a·þlý\vð\99\86Lendstream
-endobj
-1642 0 obj<</Type/Page/Parent 1479 0 R/Contents 1643 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 954 0 R>>endobj
-1643 0 obj<</Filter/FlateDecode/Length 1596      >>stream
-x\ 1¥WËrÛ8\10¼ë+æ(×F´\1eÔÃ{ÙÊË\89kóð&Le\ f¾@$$!!\ 1\86\ 4­(_¿=\ 4@S²]®ÚT6Ù\12      `\ 6Ý==Ã\1f\83        \8dñgBË)Í\16\94\16\83q4Æ\93î\9fOo\ 6³å"ZÐbµ\88ÆTP<\9bDKÿ+§Ï\83þo¼]Í°Ê­å·8\88\16\v~\16¯\96øw\8a¿\95¤Í`:\9dG+\9a_,qt\81Ðó(ö¿Â¶ùb\82g'Ûø¼xÆ'=ðb6\9f\87^Lçñý\17/\92ÁùeL\93     %\e@°X-)ÉÚ\9b\8f)I\87W\e:\98\ 6Éþh\142¶;a©hr«Ê\Ri*[ÓZR&7JË\8c6¦¢Ú\14\12ëEmô3:K¾áx Û\1e\8bu\94\1a½q\8fCÔ!\ eªkÉÿ\91p¯DØAR7\85\8b\93\9a¢\10:;Þ;¦Ñd\86[%Ùp¿Sé\8eR¡9£¦F:ÖøÌ\b\ fåO++-r*+³­Dáî²\95ZVÂrdÊUm\95Þ\92Ùø\9b\19\8d§õ¡¶²\88\v\9a\0\1f\ 6j4\8bÁ\vÂNâh\16\93tU\94\95Ò@$1&¯¥½\97é\94\96£Å\16\8b      «9¯[\95µ\99|ùpõ/1ä·"\97ÚrF\16\ 1¾*\9d\99}M\1f\12z\9eetÍÑd\85Ç¿D\95Et    ô\ 1\12\98±\92c÷°Q\1aÔ\14Â*&\ 5\v\1c\19\18ñÑ]î{¹¦ZYI zgmùçù¹ò÷\8ajÓT©ÄI[\19iiÏIÔ´\97yÎÿÇ!'13\936\ 5²o£\92ÒiÞd e¯ì®\r\19\8e\85bøXÊ\0\7f¥Ö\r\80ª\1a°¤ü\v{\10Äèü\10@\ 2/ëJÉVHG×´\95É\1a·Éßl#\85m*À
-\10Ã-ïØ\ 4\85\8eM®²Àæ$¢¯,td\10vüõ\0\99¼>¼çµ\ 2èç¹O\99)c\19¸\9ahJÖ0\8b\8bÁÞ\1a\81\17¦Í\1ev3\9a.\ðëV\ 1¼
-G\ 1¹
-j­$\8aCYS\1d\0aG"\1eoÁ9/í\89\ 2ÕA\17óó\8b\15`rÒÈ*u\v\92K\91~\17[Y»K¤¾¸FËhÅÆ\87kÜL\17K_¬¡*Û\97]qÝ¥Æ\17p7Ó2EÑ
-d\86¼(EÍw7ì`y$\11OÀïe\82¢Vº¶"Ï\9dÄÒ\q±8\1fp\92Y[¡PÄÀů<A\ 6,h`Y\18\bþ³(Ö\82×\9eè¸\apì¶C\97\15\1f¼E°£\1e¤p\8dVg£é*\9a\Ð(\8e\9d\ f´Ö1\8dèe\80.Tô+GÛõ\11m\81\18è}Ê&ÝÚ\bL\83I`qw\ 4<\829Kt-\ f\ 6`0\87ujJé\9c\ 5/B±ÒÍ°ó\85@bd\7fZ\82bÍ    0÷KÚAØ/äV\1a\85Aëè©÷æ,¢+Mõ\ e\8c½9D¢c½º¢ÚþRe)OY±¢Z\83y\94\1c\1cFéPZþ\80\8dÊeý\fÌB\1að\9c«\ f\97ä\1f±\16¸PQ]ð]~HZJ6¦õÁÙÒ}I=a\17§öïÔñ\88a$}³u+ù\9aP@\ e{\13\94       +ÖlÏþ\9dë¸âÀMíG#az\19Ý*´%\8b\9bÀ\ 2èm\92\S!Ó\9dЪ.ê\88^\8btwÂTP\ 4{
-ûH{Ñ.Ò\ eö\r\12D]\9bTµx}ùô®%\8eu"RÛÀ\87ÐxtnDk9ìmxã]ÅE\f¿N"³´ÔVq\91\1eÐW¶<%púotsýÆ\97êIËFe©\rs\ 1\aö!ºèØ\8d\13]J8\90³0ú´ñ´\ 2®x©»è\9dº<¶P\1f\9b»chÑ\8d\1aÚ\9c´ì!há©CjÖG\9b\90õm©©\94=Pº\93é÷v\0RµXç2{B)±\1f\14ú\12{ÙºÖ#jy\7fR9H(ø>ß½»ÙC>È@Ý
-\95sb\1e
-\17%\8cc½Æ\19\ e\1a¹lFo?~M>F¥\87(8ÏÐÕËýºWaòñ­<(Ã\8b!ô·ä©\94\ 16\1a5Ó¶7,@È\99\8fè÷H(\1f³\12Û\9d\e\a1µiIײÂ\10\95Vª´¿Ñä Ëäï?\88Ë/#Ì\88%&JH¿m¥\e\81\11Å\8f\14G¡Ëÿ\19:4\83>8\ fÑx3\ 4\1ek\83¡©\ 5äæ,Ì@<p\14RèÖüÙ\1a\ eÁ\ 4\ 3\9b÷Ì\84ût;a÷¨ÇT\98îx'\8f¿\fìw\8dRïúda2\99\93\16LLoÜ\v¡yÄöÎpÔfY\9dÎ\8b{-ÖË!tÈ®áög\98Öª\8e\1a,÷;? ±\80À\8eJÁI¯ñ\87&\bÅ\ 3«\rÆIØ£,\910̾å'Å-Ø9ö \15½\84De\9að)1ï\f\0\9f'n\86pur'{?\14\9c_Þ­­ÊôÁµÞ\ 1Ætá'Ë©ÿN\0ö\12Î\8c\ 6[»i°M\ 3Ð[L\8c\18P[Ã\15´ÅÀ¦=t7g.\91\95Ïp²À'ßj\86\8f´¹ûäùüüý\8bçø\ e0ßp\ 6½ê\ fܼs\146\8c\96c¤óÔ·J¼\8c£åbå&ÂeÌ'¼N\ 6ÿ\fþ\ 3Ø^¼\8bendstream
-endobj
-1644 0 obj<</Type/Page/Parent 1479 0 R/Contents 1645 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1645 0 obj<</Filter/FlateDecode/Length 1505      >>stream
-x\ 1\85WÛn\e7\10}×W\füä\0ÖêbÙ\92\ 3\14\85ãÄ\8dѸqk\ 5)\10õ\81Ú¥$ÚÜå\9aäJ\16\8aþ{Ï\90»¶´VÑ\ ËrngÎ\1c\8e\9e:\ 3êãï\80ÆC:=§4ïô\93\8d\93  \8d&c¼\1fâ¿\95´è|\98vz×}º é\ 2\16ç\13¼É\b§û}\9a¦Ç\7f¿\9b>túÔ\1dôa9Í\8e\89ÿ\f\12"[¦©V²ðïé\17éɯ$\89²´¦´JxIU©\8dÈ(SV¦ÞØ-\1dòþL\11l­Ì\rÌ\9c´ki\ f\9d\1d"¦ËçMÌoÑ?\87ͬ\82\r-\94\96î\90åé~¶7ÎUÒ\91(è2Ëî¬*¼´\1f\83\8bÙñì\1dÝÞwÿ¸»jùù§þ<\1c\8cÂè\80Ë}\8f\9f\9e\917$R_ ­·-Ï\fAj%CƵ\0\87\ fõ®G4\18Ä®t\87!ì×B\92\aÍ\ËÜ\91,RS±\8dÌh³\92\ 5©¼Ä\ 34F\15Ëpô&\ f^\1d²0\1a\b\b|@´Bä\80¼\14©$\15Q\99K¿\91²h\92<M\86\îZXe*G®*Kc="Å6\90°éJyt¸²Ò%tm,ÉgÁ      \9cÐwUdfãè·)©"ÕUÆ 7ÍâÈ\19\1d]\96
-öE\80\ 4ß-ÜZº¹\81ù\9f´>\e$\93#\0\9c½x½8£\14p:RÞ\11Úï\14\88\14°Q®       \12ÝÓ[\87GuÈáy2âú¦\ 1ù\0(\80 \95ÙpÇ\1e\v¼nVÂ7ÕF¢á¹XK\9a\ 3¦\9aå¨d\81ÊEÓ½\84.Qªó\15\9a\8aÖf(d£´nÕ      ÆË|\8eg\9eCp;v\10«yIw\18(i½\ 2v\99\12Ú,1/zû
-hl\1eG7àFÍ\9e¦~\ 6\19¹´â>U*}$mÌ#Ü´ã\8e 
-në¼Ì\91ùR9\8fÉ\15\9e=°FìÐ1\ 2÷ù×/·³Ù}0\98Í®*kÁ»+Sxkô½ôø*¾\9fÍBA³Ù§b­¬)\98\9eÑé\1eÇ£SÆ
-Ñ×Rè\88Í\ e.BoÄÖQå\0\bC\ 6rÕã\1f\8b\9d®Ð?üCqàø[C+Q>¸\1a\1c·\80A\17´DÛÚ\98ì±ë\rÈ\bVÂ!
-Jè³Ù m{B÷"\9f\83ë\ 6\81
-ã#a\90n+`\9d\f\83\81V\80ï\ 5\vDB £\95è)\86\88©\98Bª¶¦â¢\ fÔLj\118\8br9\94Ð̸m¤§*\9c\87K\99ý\GÞ%<\80ä\81q
-\83éeYF¹@9ZåÊ\vÏ\ 3\85O\18\84\80\19\ 2hzQ\94\16á $\8fb\89¢ë\81§¹ñ+ιUø\r\8aÕ{ÝÁd_\9cõ.&-
-³Lg1îk§\91ÔKaP}ë|Âþ{×\174\18×zy:\8a\\1aà5¡\8fJ,\vãT¸\1eÂ9\8c=ßvÝÓ~\14ôp\ e×\1a2³&«R®>:Ý%(¼³Xp\ 2¬en\ 51$À\97ZU\ 6¼\80g-\1e\99\9cWËX\r\ 3\8b\8b1ÊõF\ 1\91@\ fî3ÜDó9@Ûµl\ 1¶o\1ePg¯\vkräq\7fû¡\91(¾hjöÅ«ô$°\82G\ 5­`!B×\85Å\8d\91E¹æ'<k\16är2\10¬\15»\16t×{     ûr©\aÜ\81bC«¯\8f'äL ëF\80ÔÈ&\18ñ\9bý´bê`µ¥»«ÀøØIô\9a\v\17\12º
-C¤\8aì<\13\ 1p±X¶\12l\r[sÑbüÀ\9eík\ fpSH½8Á\8dA\ f\15Æ\1c\a\91Y®²\fw&款ÿ8\ 1ά\81\95\83óW­Èß
-õüêßUó(\9d\ 1¬>\12«IT*^ObÕ\f9\㥠R¸FÊÂ\81\0\94|\8eZ@G\ 1½VÐÔäÈ4;Jè;_\1c\11àúË\0\1cë\ 4\90ªJF\ fY·»4EüÍÊ \9d\0v s\1au\1aR\ 1\99á\ e\98@h\9e4Þº\12<_Ä6å\ 6ÐY©å\9a\1c\9b\1doV*]\85ø\18\8bJgá\86\8e\94ê+§ñI\fz      ÍÀæ%¬|Ï\ 6;ÛhwXÏ1¯ID?\96ÚÌ\85þ«q»»\93âñ>\14\ 5§Ñ:\11\96ÃÈBWb\v:¼bÂ@\97OÔ`É\ eØÅ\12\eS°¢§JV\18\13\88cupÓÄq]Ú|ßC\17\ 6\e\83 \a3?\98ú\8f\909Xþ\9f\95   ¨ÆOÔÃ"Ö\v©ôt\99õ\1cß2\11±]\95
-«"7ya´6\eî& ¥BaÍ\ 3#ÂZ#æ¦òÿ\836ÅzKÁ\84z\ 5\ 5\98zS¢\9a:iÂò\11\91\ fðÄ|&õ®0À/\8eþä\14?+êUòþòöÃ%¯5\ fØ\1aé£I+¾þÂmÃ\96ÝÆ ;îó\ f\91ã\ 3\ 2>\1a\8f\92ñù\ 4ò\8dçã36û4íüÞù\17*{!êendstream
-endobj
-1646 0 obj<</Type/Page/Parent 1479 0 R/Contents 1647 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1647 0 obj<</Filter/FlateDecode/Length 1472      >>stream
-x\ 1¥WmOÜF\10þί\98\92Ð\12)ç{\rGhA""QS©
--WU\15ðamï\9d\17l¯Ù]s9Uýï}f×6\87\ 3mÔr/Ø·;óÌË33ë»\9d1\8dð\1aÓ|BÓ\ 3J\8a\9dQ4¢Ùh\14Mhv8Çõ\ 4\1f#i¹ón±3ü0¢·´XBâà\10\17)a÷hD\8bd\9f\9a¿»ZÖÒH[\17\92\12]\14¢L\89\ 6d\9d0\8e\ 4UF\95N\1aÒ&\\92ßÿjq\ 3Ý3\1a\8f\83òÁä\0Ê÷ß\7f\16E\95Ë£°ÜA\ f&³hÆë-¦WÚ¡\1dÓ°¶f\18«r\98W\86\ 6x\9fïU´gYÍ\88\ 6ãQt¸-\9dWw\9d,Ñ#é;Fø7iS<\88?\92ÆB+}ó\f¶÷¾\12µ}\bV£Â\ 6û\93\0o\9d®þ·
-d Dò\8b@_\88"\16d3]ç)Yé\90pau)â\R*\97¢Î\9d¥%ræ2    SSYÉ2Uå\8atI\e]\e²\eëdAnSÉ×\14×\8e\14Þ¶üÎQ\92\veîõF\94\8fü+\95ÚÛÁ©\98\82fHd]2U Ìe±FÊĽ$§É­¥¸m`Ù\80\'"G¼\ 1ï\94.mD\8b¬\8b\9dm]\10ùZllP²¬ó|ÓÆ®Á³\95LÔRÉ\94*á²R\14Ò¾&a\19\87l\91ÆT\88\r\9bÙ\98á\11\8c\91\89£óÓÅ\8ft/òZÚ¨Q:9\blü=\93>\1a\b 8/èFÇìA\88-.bÙ°?}ÍáY«<\aέÄVÄ®ÒF\98\r<«6¤\97>~\1c\ e\ 4[1°ÆÚ\83Õªì9Ä\e/\9bÚ²×° áèDÄÕ\a¬&³l\814J§
-AÌ\ 1\96KQ"\bºFn8\8eM½è\8a¥A\ 2ÐÓ"ó>+\fÑÙÙ\83÷VC»\91\85¾\87B±ä\1a÷ö\80%ßÓÇewCK¡r\1fé\10¬B­2GK\ 5Cs¹t\107¸Ë¥%Åþ\83.]\0\90"ïN\ fük\9c\vI@\99¥>¦Û%\8f̤\12æ\16ª\84\83pr\97\13WÖE,Í.HaÕ\8acät\ fÖó>t\1e\16\887^ØVZçÒô¹ÁÁÝ;É¥\ 3Ð\ f$ÐOw\v\91\18mw!\ 5ʯPsé\ 6Dl2cd\95\8b\ 4°kå2\12Ue4 \84\93\r÷hÍd\83µ\e¯\8c\1dó\19ìÙ¸gY³E^¶Õ±\93Ìyæ\19_{\9b\831!X      z\80C\1a8æ¼\v\9fuõ°Y¦ad ×ÞÍs
-\1eE|\9d©$ã\8e
-ì¥Ñh*PÄ        \ 3K+\10\95a\86\1fÞÒ\18#\80\aÑ`:\ eõ7ÆT\88&\11\9dɸ^­¸;5ðø¯ÑÉ
-?\0\1e\8f\999w\9fOH<ú\ 5\17kʲ\ f\m\ 5¹ka5\f1d:Ä\93!`ÜVïöÙ²\99DeÛĨª­\1dT°6>\8c½         ³Â ,±¯\r3Z\9bó?4É  \fã\8a\88è\94¬â\81H2\fÆ\90@ØvËåã\ 5`\93¥PSñ\7f\18\9c®¨\86\16­7 nOÍÉ8ò3\99\8boütí6¶Nm\rÖ\17´\96¡»Ù\1al÷$Ç/Ì|ΧñU\ fÚ\9a'd»ñ­R\1aTt2d«ð\89¼UO\bx0S\87\1e:8 l¡Ç\93Æ`x\80RV¬äS\a\81\17m\8døí­\ e\9fO¶W\83"ÛUÈ£hkð=aSçDw\ 6y9¦\97\13\9a\9c\9c|û¥C\8f\ 3½hÇIÈ\85\b\ 5êi\82Yà;-\13P¡uÿ\81\81É\13ËwÑ®Y\a9\7f RÊÔS\18M\9aÏ\12\15Z\vú+H\89vËÌ\96²õ¡\19\91ìu\90\ 5ë]\1d\b\1aú»\ f\11zÞ³ç²lvD\7fÎ&\7fÑ\1eÉ$Ó\94©&\89\99jQ\1aª\84\9dSÞi\8b\15¨Oá\9fò\99¶n\98¯g=\11\91¦ÞxtÒ%Z$©ê\18':~Í(N\84uííäÍ\e*\vao\8fq\15µ\9fQOÝ9:ü\1aq8¢ÞÂ\99.\84*\8f/O/\16§¿.®éÓÅñåo¥ú|M\17Ò`J\1d_\86>\89óq4¿î       Ã\99#ºº:  ­\84|¿p\1eÝÌq
+T\9aØü\19¦\99çV'WeA\80ºô©$\14\96$%"Á£1-°"<\ 5\89½UÉèi%ÀÃ1\8aóé\0ex¿\8cóf~y<Ç\ e\96_YbàD&\85M\90S\8a6«½Ú¡7é£\10\7f\ f'C\7f2\9eâ7\ 6í\ fÜ×è4nýÙú\17ð\91\86Kendstream
+endobj
+1673 0 obj<</Type/Page/Parent 1476 0 R/Contents 1674 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 979 0 R>>endobj
+1674 0 obj<</Filter/FlateDecode/Length 1594      >>stream
+x\ 1¥WMsÛ6\10½ëWìQ\9eF´¾%÷ÒÉw=m\127a&=ø\ 2\91\90\84\84\ 4\18\ 2´£üú¾%\0\9a\92íñL3iÒ\11        `\17ï½}»ü>\98Ð\18\7f\9aÒlIY9\18'c<éþùøv0[-\93%-×ËdL%Íg\93d\15~\15ôiÐÿ\8d·ë\19Vùµü\16\aÑrÉÏæë\15þ\9dâo-i;\98N\17É\9a\16\17+\1c]"ô"\99\87_qÛb9Á³\93m|Þ|Æ'=ðb¶\98\87^L\17óû/^¤\83ó7s\9aL(Ý\ 2\82åzEiÞÞ|Li6¼ÜÒÁ4Hö{£\90±Û\vGeS8U\15\92*S;K\eI¹Ü*-sÚ\9a\9a¬)%Ö\vkô3:K¿âx Û\1e?´å&É\8cÞúÇ1ê\10\aY+ù?\12þ\95\88;Hê¦ôq2S\96BçÇ{Ç4\9aÌp«4\1fÞîU¶§LhΨ±HÇ\99\90\19á¡üád­EAUmvµ(ý]vRËZ8\8eL\85²Né\1d\99\99Ñxj\ fÖÉ2ña/h\ 2|\18¨Ñl\ e^\10v2Of  ¥{I\97eU+\rDRc
++ݽL§L3¶\1c-vXLXÍyݨ¼ÍäóûË\7f\89!¿\11\85Ô\8e3r\bðEéÜÜZz\9fÒó<§+\8e&k<þ)ê<¡7@\1f \81\19'9v\ f\e¥AM)\9cbR°@Xæh\8bÍÀ\88\8fîr¿\95\e²ÊI\ 2Ñ{çªßÏÏU¸WbMSg\12'íd¢¥;'aéV\16\ 5ÿ\1f\87\9cÄÌMÖ\94Ⱦ\8dJJgE\93\83\94[åömÈx,\14ÃÇR\ eøkµi8I\ 6TYÀ\92ñ/ìA\10£\8bC\ 4   ¼lj%[!\1d]ÓÕ&oü¦p³­\14®©\ 1+@\8c·¼c\13\14z6¹Ê"\9b\93\84¾°Ð\91AÜñÇ\ 3dòúø\9e×
+ _\14!e¦\8ceàk¢©XÃ,.\ 6{g\ 4^\986{ØÍhºôÁ¯Z\ 5ð*\1c\ 5äj¨µ\96(\ eåL}\0\84\1d\89\ 3ç¼´'
+T\a],Î/Ö\80ÉK#¯Õ\rH®DöMì¤õ\97ÈBq\8d\9a\8d\ f׸\9e.W¡XcU¶/»âºK\8d/ào¦e\86¢\15È\fyQ\86\9aïnØÁòH"\81\80\ 4E­´u¢(¼Ä²Bq±x\1fð\92Ù8¡PÄÀ%¬<A\ 6,h`Y\1a\bþ\93(7\82×\9eè¸\aðÜo\87.kÀj\1f¼E´£\1e¤p\8dVg£é:\99\Ðh>÷>ÐZÇ4¡\97\11ºXѯ<mWG´Eb ÷)\9btk#0\r&\81ÅÝ\11ð\bæ,Ñ\8d<\18\80Á\1cÚÌTÒ;\v^Äb¥ëaç\v\91ÄÄýp\ 4Å\9a\13\97´\87°_È­4J\83ÖÑSïõYB\97\9aì\1e\8c½9F¢c½ú¢ÚýTU%OYq¢Þ\80y\94\1c\1cFéXZá\80­*¤}\ 6f!\rxÎåû7\14\1e±\16¸PQ]ð]~HZJ6¦ÍÁÛÒ}I=a\17§öïÕñ\88a¤}³õ+ù\9aP@\ 1{\13\94\v'6lÏá\9dï¸âÀMí{#az9Ý(´%\87\9bÀ\ 2èÏ4½¢Rf{¡\95-mB¯E¶?a**\82=\85}¤½h\17i\ fû\ 6        ÂZ\93©\16¯Ï\1fÿn\89c\9d\88Ì5ð!4\1e]\18ÑZ\ e{\eÞ\ 4\11ã¯\93È,-µS\¤\aô\95\1d\9cþ[Ý\½\r¥zÒ²QYjË\À\81C\88.:vãD\9f\12\ eä,\8c>m<­\80k^ê/z§®\80-ÔÇæî\19Zv£\866'-{\bZxê\90\9aõÑ&äB[jjå\ e\94íeö­\1d\80\94\15\9bBæO(e\1e\ 6\85¾Ä^¶®õ\88\9dT\ e\12\8a¾Ïwïnö\90\ f2P7B\15\9cX\80ÂG\89ãX¯qÆ\83F>\9bÑ\9f\1f¾¤\1f\92*@\14\9dgèëå~Ý«8ù\84V\1e\95\11Ä\10û[úTÊ\0\e\8d\9ai»5,@È\99\8fè÷H(\1f³\12Û\9d\1f\a1µiIW²Æ\10\95Õªr¿Ðä Ëô¯ß\88Ë/'Ì\88\15&JH¿m¥[\81\11%\8c\14G¡«ÿ\19:6\83>8\ fÑx=\ 4\1e\e\83¡©\ 5äú,Î@<p\94RèÖüÙ\1a\ eÑ\ 4#\9b÷Ì\84ût;a÷¨ÇT\98íy'\8f¿\fì7\8dRïúdirY\90\16LLoÜ\8b¡yÄ\ eÎpÔfY\9dÞ\8b{-6È!vÈ®áög\98Öª\8e\1a,÷»0 ±\80À\8eÊÀI¯ñÇ&\bÅ\ 3«-ÆIØ£¬\900̾å'Ã-Ø9nA*z     \89Ú4ñSbÑ\19\0>Oü\fáëäNöa(8\7fs·¶®²\a×\ 6\a\18ÓE\98,§á;\ 1ØK83\1a¬õÓ`\9b\ 6 w\98\181 ¶\86+h\87\81M\aè®Ï|"ë\90ád\89O¾õ\f\1fi\vÿÉóéù»\17Ïñ\1d`¾â\f\1f¸yç(n\18­ÆHç©o\95ùj\9e¬\96k?\11^Lø\84×éà\9fÁ\7fØV¼\8aendstream
+endobj
+1675 0 obj<</Type/Page/Parent 1476 0 R/Contents 1676 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1676 0 obj<</Filter/FlateDecode/Length 1505      >>stream
+x\ 1\85WkoÛ6\14ý\9e_q\91O)\10Ë\8f¸±S`\18Ò´Y\835k¶¸è\80z\1fh\89\99P¢BRV\8caÿ}ç\92Rb«\1eÖ\aü\10ïëÜs\ f¯\9f\8e\864Àß!MFtvNi~4H\ 6x7I¦4\9eNð~\84ÿVÒòèýì¨\7f\v\9a-aq>Å\9b\8cpz0 Yzò÷\9bÙÃÑ\80\ 1,gÙ    ñ\9faBdË4ÕJ\16þ\1dý"=ùµ$Q\96Ö\94V /©*µ\11\19eÊÊÔ\e»¥C~Ø\97)\82­\95¹\81\99\93v#í¡³#Ätù¢\8dù5úç°\99U°¡¥ÒÒ\1d²<ÛÏöƹJ:\12\ 5]fÙ\9dU\85\97öCp1?\99¿¡ÛûÞ\1fwW\1d?ÿ4\9fGÃä\9cQ\18\1fp¹ïñãó\8e\86Dê+¡õ¶ã\99!H­dȸ\16 Çùð¡þõ\98\86ÃØ\95Þ(\84ýRH2Ëæ Yh\99;\92Ej*¶\91\19ÕkY\90ÊK<@cT±
+GoòàÕ!\v£\81°§Zà\ 3¢\15"\aä¥H%©\88ÊBúZÊ¢Mò,\19\ea\95©\1c¹ª,\8dõ\88\14Û@¦kåÑáÊJ\97е±$\9f\ 5'pJßT\91\99ÚÑo3REª«\8cAo\9bÅ\913:¾,q´\13ì³\0       ¾Y¸µts\ 3ó?ióv\98L\8f\ 1pöâõâ-¥\80Ó\91ò\8eÐ~§@¤\80\8drm\90è\9e~txÜ\84\1c\9d'c®o\16\90\ f\80\ 2\bZ\9b\9a;öXàµ^\vßV\e\89\86çb#i\ 1\98\1a\96£\92%*\17\12ºD©ÎWh*Z\9b¡\90ZiÝ©\13\8c\97ù\ 2Ï<\87àvì Öð\92î0PÒz\ 5ì2%´Ya^ôö\15ÐØ<\8e\8d\86=mý\f2réÄ}ªTúHÚ\98G¸éÆ\1dC\15ÜÖy\99\95r\1e\93+<{`\8dØ¡c\ 4îÓ¯\9foçóû`0\9f_UÖ\82wW¦ðÖè{éñU|?\9f\87\82æó\8fÅFYS0=£Ó=\8e\8c\15¢o¤Ð\11\9b\1d\\84®ÅÖQå\0\bC\ 6r5ã\1f\8b\9d­Ñ?üCqàø\8f\86V¢|p58î\0\83.h\89¶u1Ùc×\ f #X  \87((¡O¦FÚö\94îE¾\0×\r\ 2\15ÆG ÝNÀ&\19\ 6\ 3­\0ß\v\16\88\84@G+ÑS\f\11S1\85TmMÅE\1f¨\99Ô2p\16år(¡\99qÛHOU8\ f\972û¹\89¼Kx\0É\ 3ã\14\ 6Ó˲\8cr\81r´Ê\95\17\9e\a
+\9f0\bM\9e\ 13\ 4Ðô¢(\1dÂAI\1eÅ
+E7\ 3O\vã×\9cs§ð\e\14«÷º\83ɾxÛ¿\98v(Ì2\9dŸ¯\9dFR/\85Aõ­ó       ûï__ÐpÒèåÙ8ri\88×\84>(±*\8cSáz\bç0ö|ÛõÎ\ 6QÐÃ9\kÈÌ\9a¬J¹úèt\97 ðÎbÁ  °\96¹5Ä\90\0_jU\19ð\ 2\9e\8dxdrQ­b5\f,.Æ(×µ\ 2"\81\1eÜg¸\89æ\v\80¶kÙ\ 1lß< Î^\97ÖäÈãþö}+Q|Ñ4ì\8bWéi`\ 5\8f
+ZÁB\84®\v\8b\e#\8brÍOxÖ,Èåd X'v#è®ÿ\12öåR\ f¸\ 3Å\96V_\1e\99@ÖZ\80ÔÈ&\18ñ\9bý´bê`µ¥»«ÀøØIô\9a\v\17\12º
+C¤\8aì<\13\ 1p±Xv\12ì\f[{ÑbüÀ\9eík\ fpSH½<Å\8dA\ f\15Æ\1c\a\91Y®²\fw&欹ÿ8\ 1ά\85\95\83óW\9dÈ_\võüêßU\8b(\9d\ 1¬>\12«IT*^ObÕ\f9\㥠R¸VÊÂ\81\0\94|\8eZ@Ç\ 1½NÐÔäÈ4;Nè\e_\1c\11àæË\0\1cë\ 4\90ªJF\ fYw»4Cüzm\90N\0;\909\8d:\r©\80Ìp\aL 4O\1ao]       \9e/c\9br\ 3è¬ÔrÃ\1dn\8fÍOêµJ×!>Æ¢ÒY¸a:©#¥æÊi}\12\83^B3°y     +ß±ÁÎ6Ú\e5sÌk\12Ñ÷\956\v¡ÿjÝîî¤x¼\ f\ 5\eôÀi´N\84å0²Ð\95Ø\82\ e¯\980Ðå\13µX²\ 3v±ÂÆ\14¬è©\92\15Æ\ 4âX\1dÜ4q\\976ß÷Ð\ 3Z¹ÁÆ èÁ,\ e¦þ=d\ e\96ÿge\ 2ªñ\13õ±\88õC*}]f}Ç·LDlW¥ÂªÈM^\1a­MÍÝ\ 4´T(¬y`DXkÄÂTþ\7fЦXo)\98P¯ \0SoJTÓ$MX>"ò\ 1\9e\98Ï´Ù\15\86øÅ1\98\9eágE³JÞ_Þ¾¿äµæ\ 1[#}0iÅ×_¸mز×\1aô&\ 3þ!rr@ÀÇ\93q29\9fB¾ñübÄf\1fgG¿\1fý\v*s!éendstream
+endobj
+1677 0 obj<</Type/Page/Parent 1476 0 R/Contents 1678 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1678 0 obj<</Filter/FlateDecode/Length 1472      >>stream
+x\ 1¥WmOÜF\10þί\98\92Ð\12)ç{\r\a´ \11%QS©
+-WU\15ðamï\9d\17l¯Ù]s9Uýï}f×6\87\ 3mÔr/Ø·;óÌË33ë»\9d1\8dð\1aÓ|BÓ\ 3J\8a\9dQ4¢Ùh\14Mhv8Çõ\ 4\1f#i¹óv±3ü0¢#Z,!qp\88\8b\94°{4¢E²OÍß]-ki¤­\vI\89.
+Q¦D\ 3²N\18G\82*£J'\ri\13.Éï\7fµ¸\81î\19\8dÇAù`r\0åûï?\8b¢ÊåqXî \a\93Y4ãõ\16Ó+íÐNhX[3\8cU9Ì+C\ 3¼Ï÷*Ú³¬fD\83ñ(:Ü\96Ϋ»N\96è\91ô\1d\9b´)\1eÄ\1fIc¡\95¾y\ 6Û{_\89Ú>\ 4«Qa\83ýI\80·NWÿ[\ 52\10"ùE /D\11\v²\99®ó\94¬tH¸°º\14q.)\95KQçÎÒ\129s\99\84©©¬d\99ªrEº¤\8d®\rÙ\8du² ·©äk\8akG
+o[~ç(É\852÷z#J\17ÑGþ\95JííàTLA3$².\99*Pæ2áX#eâ^\92ÓäÖRÜ6°l@®\13\91\80wJ\976¢EÖÅζ.\88|-66(YÖy¾ic×àÙJ&j©dJ\95pY)
+i_\93°\8cC¶Hc*Ä\86ÍlÌð\bÆÈÄÑùÙâGº\17y-mÔ(\9d\1c\ 4\9eI\1f\r\ 4\10\9c\17t£cö Ä\16\17±lØ\9f¾æð¬U\9e\ 3çVb+bWi#Ì\ 6\9eU\eÒK\1f?\ e\a\82­\18XcíÁjUö\1câ\8d\97MmÙkX\90pt"âê\ 3V\93Y¶@\1a¥S\85 æ\0Ë¥(\11\ 4]#7\1cǦ^tÅÒ \ 1èi\91y\9f\15\86èììÁ{«¡ÝÈBßC¡Xr\8d{{À\92ïéã²»¡¥P¹\8ft\bV¡V\99£¥\82¡¹\:\88\eÜåÒ\92bÿA\97.\0H\91\aþ5Î\85$ ÌR\1fÓí\92GfR   s\vUÂA8¹Ë\89+ë"\96f\17¤°jÅ1rº\aëy\1f:\ f\vÄ\e/l+­siúÜààî\9dæÒ\ 1è\a\12觻\85H\8c¶»\90\ 2åW¨¹t\ 3"6\991²ÊE\ 2صr\19\89ª2\1aPÂÉ\86{´f²ÁÚ\8d\8eù\fölܳ¬Ù"/ÛêØIæ<ó\8c¯½Í>èÁ\98\10¬\ 4=À!\r\1c\85\16úϺzØ,Ó02\90kïæ9\ 5\8f"¾ÎT\92qG\ 5öÒh4\15\84\81¥\15\88Ê0Ã\ fG4Æ\bàA4\98\8e\8d1\15¢IDïd\¯VÜ\9d\1axü×èd\85\1f\0\8fÇÌ\9c»Ï'$\1eý\82\8b5eÙ\a®¶\82ܵ°\1a\86\182\1dâÉ\100n«wûlÙL¢²mbTÕÖ\ e*X\e\1fÆ^\90\84YaP\96Ø×\86\19­Íù\1f\9aä\ 4\86qEDtFVñ@$\19\ 6cH l»åòñ\ 2°ÉR¨©ø?\fNWTC\8bÖ\eP·§æd\1cù\99Ì\13ñÅ7~ºv\e[§¶\ 6ë\vZËÐÝl\r¶{\92ã\17f>çÓøª\a\13²ÝøV)\r*:\1d²UøDÞª'\ 4<\98©C¿l\ f\1d\1cP¶ÐãIc0<@)+Vò©\83À\8b¶FüöV\87Ï'Û«A\91í*äQ´5ø\9e°©s¢;\83¼\1cÓË     MNO¿ýҡǬô\81^´ã$äB\84\ 2õ4Á,ð\9d\96      ¨ÐºÿÀÀä\89å»h׬\83\9c?aP)eê)\8c&Íg\89
\ 5ý\15¤D»efKÙúÐ\8cHö:È\82õ®\ e\ 4\rýÝ\87\b=ïÙsY6;¦?g\93¿h\8fd\92iÊT\93ÄLµ(\rUÂÎ)ï´E\9cä
+Ô§áÐOùL[7Ì׳\9e\88HSo<:é\12-\92Tu\82\13\1d¿f\14'ºövòæ\r\95\85°·'¸\8aÚϨ§î\1c\1d~\8d8\1cSoá\9d.\84*O.Ï.\16g¿.®éÓÅÉåo¥ú|M\17Ò`J\9d\\86>\89óq4¿î      Ã\99cºº:\r­\84|¿p\1eÝÌq
 ¹¸Û-|
-ÉÔ`<\7f3\9dÑÕ>\1fÆo㡽z\85\e\90Ù\80¾|æn~|\ eÕ'®·8\1eÍÞrñÒÔ\7f7_-Vosg\7f"ÊDæĽ-ï}I\85õ\9cÝà)èA\8eнS\98Ù\13ø
-\9d?µ*\1aµ2}NÇS\1ev\0ò³jNº\87Í#Åø\0\8f2\87S<µ4\8f\ e\17§?¿;¥s£oøTw¦\13ß\86\ 5\9f{\18
-\fæ#~ÎÙÿºá2\9bÏ¢ùÁ!¦\12\a¬éýbç\97\9d¿\ 1US#7endstream
-endobj
-1648 0 obj<</Type/Page/Parent 1479 0 R/Contents 1649 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1649 0 obj<</Filter/FlateDecode/Length 1429      >>stream
-x\ 1\8dWkoÛF\10üî_±ßè\0\16õ´ä\18\b\8a\ 4­\e\ 3\r\9a6*\8a\ 2\ 6\8a\13y\94Î&yô\1diEE~|g÷Hêa»M\ 2Û$ÅÛÛ\9d\9b\99]=\9e\8di\84ÿcZLh:§¤8\eÅ#\9aOçñ\9cfW\v\Oðã4eòÁìò2¾zé\83é(\9e\9c>ÿ°<\eÞÌh<¦e\86=æW\v\84ø£\11-\93óåFS\94ØTÓ("S¦&QµöToT\8d_\9aîí\8a¶ÊcóÂ>é4&^\90Ø¢ÐeM«\9d¼ã\8bU\92\e~`<)Z\99\9a
-ãs­RS®É\96xÉøøÍòþlD\83ñ\149.Óó¿lC\89*É®¼vOZ\ 2q\U¦d\9bºjjâKäPÊEní\ 3µI\rë¢â\9f¸r\ 6»f&ÇzK^kÚv\89\9b¼F>N¿¶õcc\92\87|\87õaO2\99¤Q9»ÊuÁÕlM½¡\9dm\1cÉV\\8fßùZ\17\9aÕH­Ò¶Âî\e\85\12Úuí*dnÜIÑC]'C\89\94¨*äm\11Z;àå\8d-=£õ¤\9c±\8d\ f;Òc£\e\1dÐ\eÞ¼¥ñ,\9cã`:\8eq\99\9e\8fgñ,\9eÆô'\17.¡µó\94\95¤~à\f\ e      0\980\ 1\e\1f \8fpêuåJ\1fq\19
-F4Ùèä¡\83¶G\a\98kG¥*4CÃ\b\19\1a\0ætb×¥ùG§Ì\8e/ªX©SøoP²þª
-àv!\ 1\98\ 6Èã:¤:¢·m\89\13\94ƹ\12þuéu%Ò\11\94Ï\8b\9cóBÙ^X¶Ö 'ØÐcoÊ̺BÕ\0\9d2g\vðVh\84ÜÚÛ\16\86\98:¦Ö.Ð=³yn·\oË9\9côÉ9\87Ød\ 3\9fô×Ú©¤\ 6$\a»~_µ\ 3õzÁ\10Ód\f\878Eè`Môm¸2å\10\9aî+\8f\ 2VGLâ\10£YL_t]smMÕ/\11ý        r\90\18´êüs¼{R\15jG¥F­\ 2NÍq¼\ 5S:ä=\ 1\9c ©p<AOü:8\10Ó­¸\88¯\9d-×Ð&ó\89Í&å\88Lq0î\ 4ì\8eÂ\99JLnj\ 3ûÂÙ=\19^Ò:T\9b|em\ eæî3\vâÚ×Ǫ<8£\8e¹\93y bHØi\18\aì\85\ 1áÚ#âµ,æ½zR\9d\e Õ\97~\14\1aF
-¹t¨\1c~\ 4ݲ\ 1¿Ì©ÿ \r\vò\9bÊ\8dòãðg\12Çñµ­\98ãï\9eTÞèk<x~t \16¥Ê\vëa»y\1eòÚ»\9d¿h\8d1H?â­"*\1a¼½\92vPY\ f´m\89\13\ 3éU^mTÙ\14Ú\99\841ip|Î'\16F\11ý-\ 4<h\ 4ÉF\89:\9c\aù\98)\81\10pîÜ[NÆni³«Ð\a\9dG\83èî\r\ 1 ­Îó\98Þ£9pÅÒyø\1aÎTBÕpcñ'æ\1a \fõhwÁG}B\1f\98O\b!^¯ÈW*Ñ8\ fø\ 5G\ 5»RÞOq\9b\94\17\91Z¡C\1dÆ\rm±?ÌNþ\ 2=*Øq\14\ eqw\87\16v²?§\a~3n¹)¹÷ZØ#z\8b4¿=Cð¸@G3ÜnäÅSv~ÔÀ\97ÍXôÖ:,:J¶\8fÁ\16ç\85B\183\ 6\1d­+G÷|\94\92\7fëì\9cä\0C\ 3\86\ 4xCL|\8fÛ¾}W.pìh\91\bIÀ<Z>yqù§\1d}æöÝ       ¤Ý\18G$\aÚáÞ\82~\14\10íîy>×~s\r|¡Q ÀÊâ\aIñNZ\aSYnð\ 6·\12Ü\1fE\84ñ½\18ñÿ½\14ë2Ä\1aL.÷\10wΡR\91öþD\ eÜ\ 6³\v\ 6\8aÌ8\1c\85¯\95\80\1dfÒ"\võ\0\9dATk\10\ 4Üì9}âX¢Ó\92K9P\187iÑ*¦\ 2^Ø7°gL\90m|\ 3\ eõ\ 3 \90\ 2¢\bÖ        A¨-s,´6\f\ fmRA\ 1¿|þ\1d\8e.\9cçý¢¼J`ä\ e\ 3á3ñ·\13\1fÈ-ɵs"3¯\e\14\ fÈ×\11ö\854%ÁvXº \8cY1~\7f5lg\10\92\8cg\9c
-<\b\1d\ 5\8f\¯d~\82¡Ô!ã\10j\19d\91ÌÀ2 ¾\9eù\ 1ï»Ìy\96(ah~c\9b<E;Er\8a¾Üþüñ\8fÏäͺT9ë\9fwÃTÍ/p¿åGR\ 2,)àø*\ 1Ä\14zá¶B\19Þ\µ_\0Æ3|\93¸\9aÒ|~%\ 3ÒûO\1fÞC\86ö\9eAùÑ&ðì²\96©(Èc\8e/\1fx}°\18a(û¾as¶\98Å\v\84\17çX,8ÎO˳ßÎþ\ 5#H\1c·endstream
-endobj
-1650 0 obj<</Type/Page/Parent 1479 0 R/Contents 1651 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1651 0 obj<</Filter/FlateDecode/Length 1591      >>stream
-x\ 1\85W]OÛJ\10}çW\8cÔ\a¨\14L\ 2!¡¼ÑR¤^µ\94\v\95Ð\95\1ao±½fwM\1a\89\1f\7fÏÌÚĵÚÞ~H\8e³;\1f\9c\99<îÌh\8a¿3Z\1eÒÑ\82Òjg\9aLñt\9cÌi~²Äó!þ;MùÎÛÛ\9d\83\8b74\9bÓm\8e+\8b\13<d\84ãÓ)ݦ{³y2O\8e\13úË®Èë:L¨¶dÛдáõíw\\9dÓl\16¯î\1f.quï¶0\9eð/\14\9a\ 3å®õÁ©`ê{j\94\vdsj\9c©ùEBßlK\95ÚP¡\9e´x\90\8bßíjBOÚ\99Üè\foTè_ÓZyÊ­[+\97élÂALi\7fv\94\1c²s¯\ 3µ\r)Z;Õ4Ú\91r¶­Ù\82¦ÔV\95âgË~â»Ü\94zB«VÌ\ 3\ f\92 "·\95\\95pµK:o\87\và\bo\17Æy \92\16:}`³\95z@\ e-ìü\14ñõû³\8f\1f¿1&÷:\b\f\119s_\84\88\ 5=¶ºÕ        }Èi\ 3D\14\9e\11Sôöæ\9c¬\e%úñê\9aád\18É7Ö\96ÚMäfªj
-ºj¬SÎ\94\eòÁ6Û\1cØ"à\a¼^jê\89Ïû`Ê\92V\1cûª2!\0×\1e\93\r­ñÝÈym\ 3\9f\8e¨d       }ñú\94\8f\1c\LéMO\ 6\10\871"*\9b\94ö¯:\b%\9exvÈ\9c\ 5\1f½´ë.\ 2d\1dSC $5+t\r@4í\96ÍãÖÚn,¦&\93K\8e|\9cÙ\a\b\0o4±\ 5Ö\ 4þ\92\83\1f\1e\18å&Çùz-prö\91\9b¨Yn@\e\90\9fÖÅ\86¶ÖVZ
-\95¦º\ 1tLÎè\9aùÝYï\19\7f\800\aæüZ¡z°ûB ¯AÁ\9eì°S\81÷(\17'é9­J\94\14$Mè«  \85|¡¼7>¨:ÕýQ¿ñ`À(/\95U¦ÆA4"âã\b¸òOF¯ÅÊKå\85\eÈ´ÔpÒ7§PÃ\ 1OÏÝØ\ 1Ñs\1cUaºv¸rø#×ìlmÛ2#ý£ÑiL\19\99ôUV«\12J$ÙF\97\1c\19\17\9bóþrùá\1fÚåxv©\r\ 6LÝp\ 4\99\ eÚ!£\ 1^@hä¸CP¥¡\15à\8cÿ\ 3M\89Ò\8c\ e\9e\94;\90~:(\9bì '-Ñ«Øe\94\19\87\f¬Û¼¨\98\0Ö;\9e&'\91ô ½§ßþy\15©Ä5\15¤\7fq\9dßS\96\9fM§³jS@GùÌÏr+MÃ%ò\85 ;\92\1fÀÞ\11\11:èÛ\ 6\92\10X\96Ñ\ 3\1d0\9f¯ñ\11\14\93\93\915ô3O
-è¡©A¯²DåU\1fg§¶»±Ã\10*\8a\81^d[Ò0©­!ÞQ³%\11TLõ^!ÌÎâ¦
-Rõè½CZúe8\8fö\8ffQGd\10-\86\83\88¹\ß\83õ\7f\9aF\9f¹/\98\802_úF\12ohÏ\81drÃ#O\ 4½¶Îm¤£WÜë@\95? Ýc¶µIu¹\197ö-¨*Ó\8e§\8c­qÖ\82Õ\15\v\ eZÞAÏÔ½öL\9a\18î)­T]£0ñ=*±*UýÐ}ìÆ\1d¦ÔØÏ`>ôÃdh¨\1f\99#:pî\92\1a²M0\88²W*ÄѽA¼(^nî1ŲQ¹Á\1a\1e\8eÑ\1fÔ¡\8bE\90í\ 4\e¶'\91b0Ä\1eO}Aw{Ì>§½§B«\8c\9d¹aúw¯;ï±û#\9bG¾_Ê\97Û²´k©\88\vÅ;êüj\ 2żµ;¥$I8¤ßôÒ0!é\93\ e\14F\93%.ÎÉ_ã\8edq\ 2Y+\1cs\16\8cI\v\11åm\87u\1cÇ¡Qr÷\1aL\88\v\12ÌT2A\98³ª\r\16#À¤¬^CpƵí)ÐmU\1cFf<ëj\1cG/µßî0ýÆ$ëZë£@:ýØBà|·{\f®ae
-X¬¼Í\ 36/4\1dãnS\9d\81'^Ô¥äMm\ 5qîy\86:cßjs\96_·uÜ\8fÂ\ e\89     ?h\92m\8ftLJEÜ0\82²\16#Áö­å!5\18\81¢]"¤2@&\1c\99Ù.Q[hG\98_ARoRg\9a \ 2>\81Ì¥h|\1eOHU¶44\88Xïë\969\ 3U#¼æ\1c?\99ÔÙ\eàA)R¯CB\17\7f¨ªá\9d\12['Î~5õ\9bã\91g\î\99\12ùõ\87¡tÅ\15ÕÎ?w\ ft©*ý|·w-\9bã»Ò¤\ fw¯¯ §P[£q\fYyÉêù,{bþeÏ¿!»ð\12IJk/\ 2   dÓÂZ\8c]À§è]påþ¹\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\93îÇÍl\81ßL'G´X.â\80¿9ûôö\8c\0üw&̹MÛ
-\14@«Ú\9a}í÷\17ö\97S,ÄÙÿý\8c\9a/çÉrq\82ß_8»<a\13ïowþÞù\ f\8dÚ\82Mendstream
-endobj
-1652 0 obj<</Type/Page/Parent 1479 0 R/Contents 1653 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1653 0 obj<</Filter/FlateDecode/Length 671       >>stream
-x\ 1\85TÑn\9b@\10|÷W¬*UI¥\98\82M\0?:J#õ¡UÚÐ\87>\9eam\93À\1då\96¤ôë;wà¸r\93V¶%ÃÞÍÌÎìÝ\8fYD!>\11¥\vZ&T4³0\b)ÉVALq\96âÿ\ 2¿\8ei;\16Â8H^*\\86ÉË\85xy  \80\13¨«|öþfEQLù\16ìI\92\ 5\19å%\81;\f)/Σ8\88\834 ¯ê\89n\8d\95»¢«Z¡¶«´pù.¿Çþ\98¢hÜ?_¤Ø}\9eï+Kø*¬3\9b\9a\e\92½\12÷¦·½ªë\81
-Õ[.i3\10W²ç\ e\vx\ 4\1aSWzGv°\82­m/â\1e+½5]£¤2\9a\0æ6XQ\9d\90Ù:\19!Í£e°pôG¬{³\19©\eõÀöHâ      +ýà߸E^¬ðO¡mUó\ 5\99\8e\ 6ÓwS\9f\1dÙªi!»4@ÑFÈömk:9!>\1a\14ÐwÓS£\ 6Ò\8c\10k\ 5'èlÝ\8bq]\14tãÛ¡k\16.\Wg\84Îþd\rF{\8fñÌ\97\11¦\ 1\1dúT²\80Öå£Ò\ 5\bn]\1e\95@>\eáÑ\bàÃ|\8d\9aÆyÎ"\ 3\94î Hö\80°.\95Þ:˽\98ÊÕôèû\13Âò\9e½ñ\ 3@\85i\1a¥Ë7dZ×Á\89\1d¨\8c$vÏuMÖ\8f\8e\rèÚ8ð\11A\15\85é½t\97\ 1+;8úVY/À%ùöÛ\84î\t\13\85N\ fÄä\91OhG\9e1\ 1\80×%ñ#k´øà<8\8cÙ$\9dJo¿/ÈÐ2¦\89L/\18:rò+±Èþ\17û\aËþ\8d×ñW¯-F\1dÚ\14\8cö\12¹ûO|+\1c*V5\ 4\1d\1c~-»\8f[/NmÌ#\8f\8bIªÖ"A}&\ 4\v·À58lØeö<s\e\ e\8e\a\0\vízm/\ e\aK:U \1eÐ\1dó\89\85ùT\12\1c\b¿\1dÙ\94U\8795Ý0õ\95M§>Jp9eKZ$Óñ»[\7fºZc"Í=Ö#ì¢oX\8b\1f G3?l\98§áêy\98ÿyÅÄ)î $Ã\ 5\85ÙOW\ eåC>û2û\r@\a\9e·endstream
-endobj
-1654 0 obj<</Type/Page/Parent 1479 0 R/Contents 1655 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1655 0 obj<</Filter/FlateDecode/Length 1743      >>stream
-x\ 1\9dWMoÛF\10½ûWLuh\9cÀ¢,Ù\91\94\0-à¤5â¢IÔXi\ eu\ fKr)mJr\99Ý¥\15ýû¾\99%e\99-\8a \b\82(äî|¼yóføådJçø3¥Å\8c\94U'çÉ9]^\$Kº\.ð{\86¿NSqòj}2¹~A³sZ\17¸2_,i\9d\13\8e\9fãIvúz«\9a \1dM\9f'ôúãê\96VÎÔÁÔ\eºm\9bƺðtýY\fL\17ÑÀøâ2\99ÁÄ)nL\13º©\83³y\9b\ 5cëxô\92¦Óîèl\91Ìùèz«éµ­*[ÓÇÚ|\8d>èvï\83®èî\94ýÞ=¥­ò\94êÌV\9aîµÛSc\9b¶Tî\8cÒ6P°T©zO&\90ñ¤â\89
-\16L¦J¼µeÂîÏi<½\88ñÁ)\0\90Ã\e§U \ã¤-¨­3í\82B\9a{@´Q.çt%yUç´µ;ö²³î/\9f\10\87î´oKñëµ®ÉÔð\8fÀ6\9aê¶J\ 1\9e-\ 6¾\e\8bÀ`\14  \a\18ðªJ\15â7%?,\8d\ f\9eô×\ 6v=?(\ë\83S\f!í¶ððö\96>\99:·;O\r\97C;¤Ü4Z9ª­`ÁÑÑÎ\84íÀ±\8ay¤*ûË\8du\9d'4i\94S?ÞM\9fw'góä2Ö\ 4ÐDt¬Í)\18À\ e\90\e\v\7fd\818ã  dªF]¨õ:'\ 6\ 5\98@(·\1a\0É\11Ø©,Ð\ e[\9cý\8cl\80\90D>\bÏ7(\14§ìcíÇ\87z¢ìM©\83î\13æj«\8d®4¢é\ eÃx 9g´\97äéÍz½\92\98nV+Ü´Áf¶DP7BÛ#2t9D£9*ZÙ Ë=Ý\e\85Pw:¥Ô\ 1\923Dr|A2@Þ\1cð6\84&¾k\9a#O\ 3P#\89Ê\92+\a03æ\1dW\15¬ûpõ©ÏÍ\83óF¿¤wï©0%\9aÔº
\81\ 2µ/å\ 2º\ 1Í°ÓeÉÿÞ¾½ú°\1e\\1e\0+\8e¹ \8f,f¶F'y\8e\0f\9cþÒ\1a\87\9fвãÖÝSnãØ^;µGä[ÔscîaMìzS\19ð}à2S\8dJÁèÀÕ@²Lô!qÁ\8aÚ\ 4\v\ e÷%Oè}\81"¶Îë32\ 5ímK
+ÉÔ`<\7f3\9dÑÕ>\1fÆo㡽z\85\e\90Ù\80¾|æn~|\ eÕ'®·8\1eÍ\8e¸xiê¿\9b¯\16«·¹³?\11e"sbáÞ\96÷¾¤ÂzÎnð\14ô ÇèÞ)Ìì    |\85Î\9fZ\15\8dZ\99>§ã)\ f;\0ùY5'ÝÃæ\91b|\80G\99Ã)\9eZ\9aG\87\8b³\9fß\9eѹÑ7|ª{§\13ß\86\ 5\9f{\18
+\fæ#~ÎÙÿºá2\9bÏ¢ùÁ!¦\12D\8e¦¬éýbç\97\9d¿\ 1UK#6endstream
+endobj
+1679 0 obj<</Type/Page/Parent 1476 0 R/Contents 1680 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1680 0 obj<</Filter/FlateDecode/Length 1429      >>stream
+x\ 1\8dWkoÛF\10üî_±ßè\0\16õ´ä\18\b\8a\ 4­\9b\0\rê6*\8a\ 2\ 6\8a\13y\94Î&yÌ\1diYE~|g÷Hêa»M\ 2Û$ÅÛÛ\9d\9b\99]}=\eÓ\bÿÇ´\98ÐtNIq6\8aG4\9fÎã9Í®\16¸\9eàÇiÊä\83Ùåe|õÒ\aÓQ<9}þay6¼\99ÑxLË\f{̯\16´L        ñG#Z&çË\8d¦(±©¦QD¦LM¢jí©Þ¨\1a¿4ÝÛ\15m\95Çæ\85}ÔiL¼ ±E¡Ë\9aV;yÇ\17«$7üÀxR´25\15ÆçZ¥¦\\93\92ññ\9båýÙ\88\ 6ã)r\¦ç\7fÙ\86\12U\92]yí\1eµ\ 4⸪LÉ6uÕÔÄ\97È¡\94\8bÜÚ\aj\93\1aÖEÅ?qå\fvÍL\8eõ\96¼Ö´í\12wÚ7y\8d|\9c~më¯\8dI\1eò\1dÖ\87=Éd\92Fåì*×\ 5W³5õ\86v¶q$[q=~çk]ÄôkV#µJÛ
+»o\14Jh×µ«\90¹q'E\ fu\9d\f%R¢ª\90·Ehí\80\977¶ô\8cÖ£rÆ6>ìH_\eÝè\80Þðæ-\8d\1c\aÓq\8cËô|<\8bgñ4¦?¹p  ­\9d§ÔÒ'Iê\aÎà\90\0\83  \13 \87¿ñ\ 1ú\b§^W®ô\11\97±vª`D\93\8dN\1e:h{t\80¹vTªB34\8c05\9e¡\ 1`N'v]\9a\7ftÊìø¢\8a\95:\85ÿ\ 6%ë'U\0·\v     À4@\1e×!Õ\11½mK\9c 4Î\95ð¯K¯+\91\8e |^ä\9c\17Êö²µ\ 6\86\1e{SfÖ\15ª\ 6è\949[\80·B#äÖÞ¶0ÄÔ1µv\81î\99Ís»åz[Îá¤OÎ9Ä&\eø¤\9f\92\1a\90\1cìú}Õ\ eÔë\ 5CL\931\1câ\14¡\835Ñ·áÊ\94Chº¯<
+X\1d1\89C\b\8ff1}Ñu͵5U¿Dô'ÈAbЪóÏñîIU¨\1d\95\1aµ
+85Çñ\16\90÷\ 4p\82¤Âñ\ 4=ñëà@L\9fÄE|íl¹\866\99Ol6)Gd\8a\83q'`w\14ÎTbrS\eØ\17ÎîÑð\92Ö¡Úä+ks0w\9fY\10×¾>VåÁ\19\9dÌ\ 3\11CÂNÃ8`/¤a\ e\b×\1e\11¯e1ïÕ\93êÜ\0­¾ô£Ð0RÈ¥Cåð#è\96\røeNý\amX\90ßTn\94\1f\87?\938\8e¯mÅ\1c\7f÷¨òF_ãÁó£\13\ 6±(U^X\ fÛÍó\90×ÞíüEk\8c\11o\15QÑàí\95´\83Êz mK\9c\18H¯òj£Ê¦ÐÎ$\8cI\83ãs>±0\8aèo!àA#H6JÔá<ÈÇL     \84\80sçÞr2vK\9b]\85>àéî<\1aDwo\b\0mu\9eÇô\1eÍ\81+\96ÎÃ×p¦\12ª\86\e\8b?1×\0e¨G»\v\13úÀ|B\bñzE¾R\89ÆyÀ/8*Ø\95ò~\8aÛ¤´½\88Ô
+\1dê0nh\8býavò\17èQÁ\8e£p\88»;´°\93ý9=ð\9bqËMɽ×Â\1eÑ[¤ùí\19\82Ç\ 5:\9aáv#/\9e²ó£\ 6¾lÆ¢·ÖaÑQ²}\f¶8/\14Â\981èh]9ºç£\94ü[gç$\a\18\1a0$À\ebâ{Üöí»r\81cG\8bDH\ 2æÑòÉ\8bË?ïè\96Ûw'\90vc\1c\91\1ch\87{\vúQ@´»çù\ûÍ5ð\85F\81\ 2+\8b\1f$Å;i\1dLe¹Á\eÜJp\7f\14\11Æ÷bÄÿ\v÷R¬Ë\10k0¹ÜCÜ9\87JEÚû\139p\eÌ.\18(2ãp\14¾V\ e\r\ 3v\98I\8b\ 3t\ 6Q­A\10p³çô\89c\89NK.å@aܤE«\98
+xaßÀ\9e1A¶ñ\r\ f\80B
+\88"X'\ 4¡¶Ì±ÐÚ0<´I\ 5\ 5ürû;\80n\1d]8ÏûEy\95ÀÈ\1d\ 6Âgâo'>\90[\92kçDf^7(\1e\90¯#ì\viJ\82í°tA\18³bü~2lg\10\92\8cg\9c
+<\b\1d\ 5\8f\¯d~\82¡Ô!ã\10j\19d\91ÌÀ2 ¾\9eù\ 1ï»Ìy\96(ah~c\9b<E;Er\8a¾|úùã\1f·äͺT9ë\9fwÃTÍ/p¿åGR\ 2,)àø*\ 1Ä\14zá¶B\19Þ\µ_\0Æ3|\93¸\9aÒ|~%\ 3ÒûÏ\1fÞC\86ö\9eAùÑ&ðì²\96©(Èc\8e/\1fx}°\18a(û¾as¶\98Å\v\84\17çx;ã8?-Ï~;û\17#@\1c¶endstream
+endobj
+1681 0 obj<</Type/Page/Parent 1476 0 R/Contents 1682 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1682 0 obj<</Filter/FlateDecode/Length 1590      >>stream
+x\ 1\85W]OÛJ\10}çW\8cÔ\a¨\14L\ 2!¡¼ÑR¤^µ\94\v\95Ð\95\1ao±½fwM\1a\89\1f\7fÏÌÚĵÚÞ~H\8e3»3sæÌ\99ÉãÎ\8c¦ø;£å!\1d-(­v¦É\14OÇÉ\9cæ'K<\1fâ¿Ó\94ï¼½Ý9¸xC³9Ýæ8²8ÁCF0\9fNé6Ý\9bÍ\93yr\9cÐ_vE^×aBµ%Û\86¦\r¯o¿ãè\9cf³xtÿp\89£{·\85ñ\84\7f¡ÐTY\1f(w­\ fN\ 5SßS£\ \9bSãLÍ/\12úf[ªÔ\86
+õ¤Å\83\1cünW\13zÒÎäFgx£Bÿ\9aÖÊSnÝZ¹Lg\13\ ebJû³£ä\90\9d{\1d¨mHÑÚ©¦Ñ\8e\94³mÍ7hJmU)~¶ì'¾ËM©'´jåzàÁ\97¿$\88Èm%G%\í\92ÎÛá\ 28ÂÛ\85q\1e\88¤\85N\1føÚJ= \87\16÷ü\14ñõû³\8f\1f¿1&÷:\b\f°å\88\9c¹/BÄ\82\1e[Ýê\84>ä´\ 1"
+w´\9e\11Sôöæ\9c¬\e%úñê\9aád\18É7Ö\96ÚMädªj
+ºj¬SÎ\94\eòÁ6Û\1cøFÀ\ fx½ÔÔ\13Ûû`Ê\92V\1cûª2!\0×\1e\93\r­ñÝÈym\ 3[GT²\84¾x}Ê&\a\17SzÓ\93\ 1Äa\8c\88Ê&¥ý«\ eB\89\ e\99³`ÓK»î"@Ö15\ 4JR³B×\0DÓnÙ<noÛ\8dÅÔdrÉ\91Í\99}\80\0ðÆ+¶À\9aÀ_rðC\83QnbÎÇk\81\93³\8fÜDÍr\ 3Ú\80ü´.6´½m¥¥Piª\e@Çä\8c®\99ßÝí=c.õ\ f\10\86\9c_+T\ f÷¾\10ÈkP°';î©À{\94\8b\93áÔ\9cV%J
+\92&ôÕ\84B¾PÞ\e\1fT\9dêÞÔo<\180ÊKe\95©a\88FD|\1c\ 1WþÉèµÜòRyá\ 62-5\9côÍ)ÔpÀÓs7v@ô\1cGU\98®\1d®\1cþÈ5;[Û¶ÌHÿht\1aSF&}\95Õª\84\12I¶Ñ%GÆÅ漿\~ø\87v9\9e]j\83\ 1S7\1c\83vÈh\80\17\10\1a\10Tih\ 58ãÿ@S¢4£\83\ e¤\9f\ eÊ&;èIKô*v\19eÆ!\ 3ë6/*&\80õ\8e§ÉI$=hïé·\7f^E*qM\ 5é_\1cç÷\94ågÓé¬Ú\14ÐQ¶ùYn¥i¸D¾\10tGò\ 3Ø;"B\a}Û@\12\ 2Ë2z \ 3æó5>\82bb\19YC?ó¤\80\1e\9a\1aô*KT^õqvj»\e;\f¡¢\18èE¾K\1a&µ5Ä;j¶$\82\8a©Þ+\84ÙY\9cTAª\1e½wHK¿\fçÑþÑ,ê\88\f¢Åp\101\97ë{°þOÓè3÷\ 5\13PæKßHâ\rí9\90Lnxä\89 ×Ö¹\8d\8a{\1d¨ò\a´{̶6©.7ãƾ\ 5UeÚñ\94±5l-X]±à å\1dôLÝkϤ\89á\9eÒJÕ5
+\13ߣ\12«RÕ\ fÝÇnÜaJ\8dý\fæC?L\86\17õÃ\885sD\aÎ]2HUC¶  \ 6QöJ\858º7\88\17ÅËÍ=¦X6*7XÃÃ1ú\83:t±\b²\9d`ãîI¤\18.b\8f§¾ »=f\9fÓÞS¡UÆÎÜ0ý»×\9d÷Øý\91Í#ß/åËmYÚµTD\14ú\85â\1du~5\81bÞÚ\9dR\92$\1cÒozi\98\90ôI\a
+£É\12\17çä¯qG²°@Ö
+fÎ\821i!¢¼í°\8eã0\1a%w¯Á\84¸ á\9aJ&\bsVµÁb\ 4\98\94Õk\bθ¶=\ 5º­\8aÃÈ\8cg]\8dãè¥öÛ\1d¦ß\98d]k}\14\1f[\b\9cïv\8fÁ1¬L\ 1\8b\95·yÀæ\85¦cÜmª3ðÄ\8bº\94¼©­ Î=ÏPgì[mÎòë¶\8eûQØ\81\r41á\aM²í\91\8e\88\eFPÖb$ؾµ<¤\ 6#P´K\84T\ 6È\84#3Û%j\ví\bó+HêMêL\13DÀ'\90¹\14\8dÏã      ©Ê\96\86\ 6\91ÛûºeÎ@Õ\b¯9ÇO&uö\ 6xP\8aÔë\90Ð\ 5\1fªjx§ÄÖ Û¯¦~s<ò\8cÃ=S"¿þ0\94®¸¢Úùçî\81.U¥\9fïö®es|W\9aôáîõ\15ä\14jk4Ì\90\95\97¬\9eϲ'æ_öü\e²\v/A,»ö"\90@6-¬ÅØ\ 5|\8aÞ\ 5\9f\v¡±H#\19\19ü°\17¸\12ê×|Åkú\ 6íÌ\v5·%\ fg;!\f\ eÑC\19¦x?\ 2!N\e®!ï\ 1C\9ec\ 2¡Ûèßs¾\89\81æ]}°\ 4!º¸zñ
+\90òÂ\ 5WÛjrd\90â¶\f\ 6uàk°i\8d\9c§\8a·\v°\ e®°QØZ\95"¼[êubrÒý¸\99\9béä\88\16ËE\1cð7g\9fÞ\9e\11\80ÿÎ\849·i[\81\ 2hU[³¯ýþÀþr\8a\858û¿\9fQóå<Y.Nðû\v\910ïowþÞù\ f\8dÒ\82Lendstream
+endobj
+1683 0 obj<</Type/Page/Parent 1476 0 R/Contents 1684 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1684 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Âì¯\13\87ò!\9b}\99ý\ 6?ÿ\9e¶endstream
+endobj
+1685 0 obj<</Type/Page/Parent 1476 0 R/Contents 1686 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1686 0 obj<</Filter/FlateDecode/Length 1743      >>stream
+x\ 1\9dWMoÛF\10½ûWLuh\94À¢,Ù\91\9c\0-à¤5â¢IÔXi\ eu\ fKr)mJr\99Ý¥\15ýû¾\99%e\99-\8a \b\82(äî|¼yóføådFgø3£å\9cÎ\17\94U'gÉ\19]\9c\9f'\97tq¹Äï9þ:MÅÉ«õÉôú\ 5ÍÏh]àÊbyIë\9c\fO²ñë­j\82v4{\9eÐë\8f«[Z9S\aSoè¶m\1aëÂÓõg10[F\ 3\93ó\8bd\ e\13\98%tS\agó6\vÆÖñè\ 5ÍfÝÑù2YðÑõVÓk[U¶¦\8fµù\1a}ÐíÞ\a]ÑÝ\98ýÞ=¥­ò\94êÌV\9aîµÛSc\9b¶Tî\94Ò6P°T©zO&\90ñ¤â\89
+\16L¦J¼µeÂîÏh2;\8fñÁ)\0\90Ã\e§U \ã¤-¨­3í\82B\9a{@´Q.çt%yUç´µ;ö²³î/\9f\10\87î´oKñëµ®ÉÔð\8fÀ6\9aê¶J\ 1\9e-\ 6¾\e\8bÀ`\14  \a\18ðªJ\15â7%?,\8d\ f\9eô×\ 6v=?(\ë\83S\f!í¶ððö\96>\99:·;O\r\97C;¤Ü4Z9ª­`ÁÑÑÎ\84íÀ±\8ay¤*ûËMt\9d'4m\94S?ÞÍ\9ew'ç\8bä"Ö\ 4ÐDt¬Í)\18À\ e\90\e\v\7fd\818ã  dªF]¨õ:'\ 6\ 5\98@(·\1a\0É\11Ø©,Ð\ e[\9cý\8cl\80\90D>\bÏ7(\14§ìcí'\87z¢ìM©\83î\13æj«\8d®4¢é\ eÃx 9g´\97äéÍz½\92\98nV+Ü´Áf¶DP7BÛ#2t9D£9*ZÙ Ë=Ý\e\85Pw:¥Ô\ 1\923Dr|A2@Þ\1cð6\84&¾k\9a#O\ 3P#\89Ê\92+\a03æ\1dW\15¬ûpõ©ÏÍ\83óF¿¤wï©0%\9aÔº
\81\ 2µ/å\ 2º\ 1Í°ÓeÉÿÞ¾½ú°\1e\\1e\0+\8e¹ \8f,f¶F'y\8e\0f\9cþÒ\1a\87\9fвãÖÝSnãØ^;µGä[ÔscîaMìzS\19ð}à2S\8dJÁèÀÕ@²Lô!qÁ\8aÚ\ 4\v\ e÷%Oè}\81"¶ÎëS2\ 5ímK
 Ìé\88«ò{\9b©\80wübgÛ2\1f¸U\e×
-ÑÂ\81\ eh\91ï8     \96\88L±m\90  ¥C¿ì\10Ľ\96V´Üu%\13\95Émk\8d¤qÞÖ\85Ù´x*Ù\ 2\9d\81KéÀBe\9c\ 5÷Ü?ÓÌJ\ 3¢z¡Ó-7»\88\11ëî±lJßA6g]×\8c\85\14+îpè\8c³í\ 6¦m®Ùýäú_tô\13\8b\83\ 4Ù\95\ e²\80°\ f      ÄÒ\1e\986\ e\9dÑ
+ÑÂ\81\ eh\91ï8     \96\88L±m\90  ¥C¿ì\10Ľ\96V´Üu%\13\95Émk\8d¤qÞÖ\85Ù´x*Ù\ 2\9d\81KéÀBe\9c\ 5÷Ü?ÓÌJ\ 3¢z¡Ó-7»\88\11ëî±lJßA6ç]×L\84\14+îpè\8c³í\ 6¦m®Ùýôú_tô\13\8b\83\ 4Ù\95\ e²\80°\ f      ÄÒ\1e\986   \9dÑ
 FÉ6ºÓ\98¨¡\/(Pcko¤\8e{¦)\9e\ e²\97|(fÈu.Ú\12\8dã .è\166\12Ûä³MAkæ3È+\12ÙÓZäÂ\93oMPi¤;å bÆ\92\\82fÐú\8e?]ZÌÇA\14ÂI®lÌ\7f\1aïÞ¯!BRó\18Ãq7\1dq\9fŲ\9f\ e\ fò×\97\e\113åÑ\80µFs \12\88]f\1d\a\88D=xÄ\rè
-\8e\aèqRd\18%x\19K\86\89\ f#yÜ;\9aè\90M²¶ñ\93
-\12\9b\84}£}<\9du§Ç\8bdÉó\1c\83òn6_Ðc[òò0Ô\ 6Ö8Éo²Ö\93i<[&Ó\17\ fѽ² 3¬ð8$PØI33\18\15«8Ë~\rÉe\19\8eØ(\16·\18á¼\8bÿ\94±\89\8fz7§\11ª\ 3å\86è_\eç\ 1î\19£­ka\85Ð:E\81óH(n¶ÂÙ\8a"ÿ\98h\85eçüÂ6,«\18:]\90Ñ\ 6\84»fÝpä«4á®à¨\8e¦\80ðã\8fMiSUú?QZY[¤xÇ%\93
\9b\1f\84l1µÿ®V\9føãj\89!èäÿ04,\94´>@@\ 3ð@¯0*y)@÷ûFg¦0\\9eC3Æö\12\ 5\a$=\1aèÏ£©Â/d/1Áë²@×JS¥Ãþ7\9b\1a\8a\99ój¦°\ 3t\97ält\83\15RG}\94ZöâcÂ\13Ù^Jlj2\f1§7ÈàèÒÝéÕê\ 6\ 1\8cÉÛAÉJ\8b\f\94\8a\b\11ä5\0\8d\8be\84õXü\95&u
-Rrw\8a_Üp0èã\ e\v=)º¸Ù\ 2ëFÊ\9b\oeàóÁfw\9f\91íÖ\818\ 3 >\f\ 5\ 3Þm±¿ÓÕúû5[Ä\8e\91\8bj\88\19\1c\89üyè\96±uªk¡\9e\1d£\a\81¨6Xl\ 6¼â\ 2äFÅu±\ 3vØS¯\91r<ÍuænÆ2\96\1d·S\ex\Cl;E\ 6\91°ê\ 1\19\ 5CÃK\187»T\8a\11ì6X\81\7fÂg\ 6!be\82\80Ë.HÏ°\9c>#\95ó\9a¸§\ 2»\ f\86*\96Ì\ 2Ó]Z\ fk\ 56"ÉEÖÚ\9cF\80b\94Ð\e»Ó0sØ\b
-\13»´*ïX\9d;\1e\13¬Ã\ 3÷\\81~UîF\94\88\ 6?\97\8cb|gÝ\16Ç\8f\r\ 4\89®\18Q\aÉY\íxü!ÆÎ\e\8a\10÷?5p<º¶\11ì\11­V?AÈ`yõ˯´Õ\bÚ±\10}i5>\ 2\80\1fì¨\12yç{Æ\ 6\19u\98>\8e\e!`\ 5\84\15ÙÄå3\0ÿ\exí#ÃRe\ 4Ç\8d®yªw0­ðÙq\9b9Ó`²ª\80Í\16L\8cuÅw\b¯M#áÞ\88w=Ü\93ªÕO\ 2\8a"+\92$\8f$Øéäzyô\1d7\8f\9fTßô±x¹¸L\16óe\1chËs6öóúä·\93¿\ 1¥hº=endstream
-endobj
-1656 0 obj<</Type/Page/Parent 1479 0 R/Contents 1657 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R/I15 15 0 R/I15 15 0 R>>>>>>endobj
-1657 0 obj<</Filter/FlateDecode/Length 1980      >>stream
+\8e\aèqRd\18%x\19K\86\89\ f#yÒ;\9aê\90M³¶ñÓ
+\12\9b\84}£}<\9du§'Ëä\92ç9\ 6åÝ|±¤Ç¶äåa¨\r¬q\92ßd­'Ód~\99Ì^<D÷Ê\82ΰÂã\90@a'ÍÌ`T¬â,û5$\97e8b£XÜb\84\8b.þ1c\13\1fõnÆ\11ª\ 3å\86è_\eç\ 1î)£­ka\85Ð:E\81óH(n¶ÂÙ\8a"ÿ\98h\85eçüÂ6,«\18:]\90Ñ\ 6\84»fÝpä«4á®à¨\8e¦\80ðã\8fMiSUú?QZY[¤xÇ%\93
\9b\1f\84l1µÿ®V\9føãj\89!èäÿ04,\94´>@@\ 3ð@¯0*y)@÷ûFg¦0\\9eC3Æö\12\ 5\a$=\1aèÏ£©Â/d/1Áë²@×JS¥Ãþ7\9b\1a\8a\99ój¦°\ 3t\97ält\83\15RG}\94ZöâcÂ\13Ù^Jlj2\f1§7ÈàèÒÝøju\83\0&äí d¥E\1dx\ 6J¨qE\84\bò\1a\80ÆÅ2Âz,þJ\93:\ 5\eã\177\1c\fú¸ÃBO\8a.n¶Àº\91ò&×[\19ø|°ÙÝgd»u Î\0\88\ f\80w[ìïtµþ~Í\16±cä¢\1ab\ 6G"\7f\1eºeb\9dêZ¨§Í¸cô \10Õ\ 6\8bÍ\80W\\80ܨ¸.vÀ\ e{ê5R\8e§¹ÎÜÍXƲãvj\ 3\8fk\88m§È \12V= Ã+·`hx ãf\97J1\82Ý\ 6+ðOùÌ D¬L\10\ 5é\19\96Óg¤r^\13÷T`÷ÁPÅ\92Y`ºKëa­ÀF$¹ÈZ\9bÓ\bP\8c\12zcw\1af\ e\eÁVab\97\1d«sÇc\82uxà\9e+ЯÊÝ\88\12Ñàç\92Q\8cï´Ûâøñ\88¹\81 Ñ\15#ê 9\8d«\1d\8f?ÄØyÃ/^\11âþ§\ 6\8eG×6\82=¢Õê'\b\19,¯~ù\95\1aA;\16¢/­ÆG\0ð\83\1dU"ï|ÏØ £\ eÓÇq#\ 4¬\80°"\9b¸|\ 6à\7f\ 3¯}dXª\8cà¸Ñ5Oõ\ e¦\15>;n3g\1aLV\15°Ù\82\89±®ø\ eáµi$Ü\eñ®\87{RµúI@QdE\92ä\91\ 4;\9d^_\1e}Ç-â'Õ7},^,/\92åâ2\ e´\17K6öóúä·\93¿\ 1¥¹ºEendstream
+endobj
+1687 0 obj<</Type/Page/Parent 1476 0 R/Contents 1688 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R/I15 15 0 R/I15 15 0 R>>>>>>endobj
+1688 0 obj<</Filter/FlateDecode/Length 1981      >>stream
 x\ 1\95XÑrÛ8\12|÷W̲*u\8eˤDJ\96d×ÞV9Þ8\95½x£\8d\95»{ð\vLB\12b
 `\0Ò\8aîë¯\a d\9aöíÖU\1e$\8b 0Ó=ÓÓÈ÷£\94\86ø\97Ò4£Ñ\84òÍÑwJ§I\16~å/i2£ÉÙ(\19òÃÁÇô\8c~5ôǫ˲ñ09ÿëeéø,ñG=íönq4¸\1eS\9aÒb\89£'³)-
 \1a&Ãá\90\16ùñZ\8aBZ\12º J8'\1dÕkIKUJ\8a\84#å"ª\r©ÚQe\95®±47\9bM£U.je4Ý\8büAê"y»øv\94eI6L)ΦÉl\94á\98ãß?/Þ_\90,T­ô\8a\94ö\9bG\eµ\91Inô#6ç\83ùÄðc½«$~ôÇ\17\ 6ÁhSÓ\89ÔKcsyB\91\15Û(\ 4\82ýN\11\16\19]îøìxHq:\ 2¨8õD\94¥Ùº\13<÷qÅ/\ 3\9bs2þ\1cNXÔ$¬U\8f\9a\rÝÜÒ¿\94.°Åá,<g@\9aÚÄ\1cc\11Ñý\8e®¾Îo\13\95\8a\80\eM.\9d#³ä¨:A\15\12àm\94f °¨\ 2\92µ\95¢ÞH\ 4²]3à->\1ehúÞÈF\92Û¹Zn|\16¨¡8\9b$cÎð\1aË\1d­¤\96VÔ²à`æW\9f¨à\1c\ 1¨\85²2çgHn~õ\8f=}ü\16²=$BÂq \83kTj["\a\1cEU\95\ 3\83½êØqÈ\9bð¾¦\8e\13úª\1f´ÙêÀ\e¸ÚàLO%\89Ò\99þ\89[U¯\ 1:P«Åʧ6¸ÎÛÓc\94NJ{"ï²É\94\9e\9fæ\9fÿ\19\ e\82æÆÕ.·ªª[@^àñl;®\99á\ e.\85¬P×Ì\96Ñ=*¹^ýJæÔc¼Á\91ä\1aU\8b{ðxóñæ½Ï\1fà^ð»]êN¨\vku\885¤yÀ!M\93áh\84\86\ 5ÛwÙÙ°\aCûø@Õó]\1fÑ\90yS¹øÿÛ>\1eeÉt:¥³\fÂäÏ}\ 1\7f\9cÍ\92ô\9câéyhµèõd¸\85- Yq\ f×kÛ\84\1e¯\mªÐ߬$wÇÛµ\ 4ê\8cg%V\12ÒÒh¯\14\À"?üY\8b\aéË´ÓOU)ry÷\96ûO\92ijÈ\92¤­*KºÇßË\ e    Ïb|\ 5\9a\11\82\83ôph(s44\87Ñ@\13{ü+Ö#Ô8ë\9f\17\fN`>ÿÕ¯WÚI\v¹Ä{6F£?ª\ 2Mh*^\r=ÕPS¿\1cÄß\86"eµKè\12Ç\ 1\0¼\8dÎ×¹<åe½\83CpØ\8e_a´J¨¶qNÝ\97;Z\vè\97ÐÔè­\80P\174ÿí\13\ 5y÷M\ 6ìöòñ\f\91§\1a\89\ eøA@[qôÍ*(JÀÛ)>\84ò\1f\92itÍr©~\90±¬_ùº\8dÀë ²m\ 5äka\ 5zÄöR\81\92\84ÞòdEo~\8ax\9fèçáø\97\9fÆû\1a\83!pFŵ±\0ÉZ´\82Ú\9e\15}ºüýÃ×Ë\ fïÿ>ÿ|»¸½úòq¾\88P\84æElj£JaéQXåYƦ¬Y\85Z.Q¯Ðë\TèõRýÇ?¾{»\97îPõgi\ 6E®¥;õ\15á5°\eOÄ̸\86G\80tتOsn
@@ -3450,778 +3601,611 @@ x\ 1
 \8d¾7Çxä\9d\15\83h\8b\1etsak</\8a\98[\ 1\12ÎØ{ÖOJ7?¼7\ 3u\89±+?"]\93¯[\ 2î÷\16#_aà\81Ðü\811ÞpKò\0Û@FË>YhL6ɸ¸ìèÃúà¾öÖy\10ª%0c\ 5_\\8c\16%µUî õ^ηÆ>У
 bÉúè--x\17p!wÇ+c0óû¢p/\8a\9f°Á÷\ 6\93\83ÓÞóï !Ü_\87SPÜ\1d*¸wù\9a\83\ 6~\94h\ f\94\19ÒD«åM\8dLiõ\94F\ f^¾ª¡ÌK¥±\ e\96\9c/:\ eBz¸jx*\9f\1a\ 4ÃZ\81\87àÊ"Í&§,w¸\ 1¢l»äwu±wdØ\8c¶Þ\9b<(P¢tBOÙ\0÷¸½h>\89+\8cÅ\83*´`SÁgyÚ}_z{å£\14[\ 1\ 4t¿\82¬\8c\ 2Ld\88Ë\ 6wYÐ\8c\96_\\ 4\92P´°\94Ð'6(
 ³ù^æ\ 2
-ëO\84Ò´zÉùt{\8e\ f\8f?Ç7,úñ¡+b¶{®\92¹Z*\19L>_¡ÎÃ%;ÎÆá\9eFD'\9cûµ× \vúË\11\ 4Ãÿ\84Uı\f®gíÝ(\1d\8f\93Ù,£Ét\94\9cOüM÷öòæÝ%Í­ù\86{\bþ÷ oø:éåÃç\91N¦Ép6\82_\1f"´âøj-*¶·éY\8bÈ\9c\87\12kãmSUÆz \1dOÇÉt2\vw\8f\e½_\1cýqô_\87\8fg!endstream
-endobj
-1658 0 obj<</Type/Page/Parent 1479 0 R/Contents 1659 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1659 0 obj<</Filter/FlateDecode/Length 1581      >>stream
-x\ 1­WÛn\e7\10}÷W\f\94\179Ю.\96%§@\1fÜÔj\1dØ\8d[«-
-\18\b¨]®Äx\97Ü\90\)\ 2úñ=C®\14UÎ¥ j#\8e´"çvÎ\9c\19½;\19Ò\0¿C\9a\8eèlBYu2H\a4\1aOÓ3\1a_Lù5þYIÅÉ\ fó\93þlLÃ!Í\v\1a\8dÒÑ`H\93\8bóô|rAó\9cpo0 yÖ\9d¯\94£RiIµ´®\11¹tôò÷»{ò\86VBçäW0§JÉ\ f²¦v¦\12^e=2:\93¤<\ e9rM\96\8a¦,·\94\19½\96ÖË\9c?Å%\188\9d¿=\19P2<KGpÞ½½¾½"¿­%uD]\97*\83E£ûk\9d§ì!©\8dó.³ªö\9d\94B\80ѦÃ)Ú¨²$mØq]KM\85±ôÊ,\1c     kÕZé%\15ÖTG\1eÿT:7\eG\9b\95ÊV8)I4Þ$\1cCþï Læ¥O\9c·RT\9d\1e¼ùU(\81È2cs6\9f¡,KTIé#'\9d¾ôY\9f3èWª\92)[w\1d\9c£º\14\99LùxÒB\91\8c¦éÅY¨F¨6@ب\Æò\15jÙX±@Í\19\80¢\94ï\15ÞôH®\91¯\95K\11\ 3QÞ12^Z\ e«\92\1c\98rUJ\97(ÏJZÚ\18û(¬i`äI°ÀQ\92S¾   µ\87\949-\ 2Ì+±\ 6´\9a>\91\90ÔÞ*\14\0À\17¦,Q×ï8µþl@/\98m@z4NÇ\8c4\11\1d\ 1X|°û9<°§\80\15\e\82!Jv5\1e¤ÌÛc\83ûó\87\96¿lðCgp¬\136\1ch\16\8bP[.´'\ 1¢Ýí©\18\9a\0\19\83\(SàY¨=\bôе\82\vÞc¦l#C\97L|Û\ 4î¬\95E\9dKêh4HD¬³Ë«m\89\\ 23\98
-|ë$\9d\87Ó=ó\19\17£Á\f\80Ó8\89&\v\9cG\8bÖ\0\1eè»\94®\vÚ\9a\866\ 2a£åÂ\a\84\13\99É%.£_trpáȹÐÄ\98n\ f\10ÅÍ\96\ fÑåç\10\7f¾Ã\12ÿ\7f\99ç±ø²(dæÕ\9a[ÁI<~\ e\18\9e·Å\8fjB\v\91=òG\,Óx*\1a\eø^[Ã2\ 4lB¯\ 5l#\ fo\84óå¶\17\8a\143\v\1cÇ­\96Â\8cg¨Áç\12ýhjÿ\99yÕöÍÝ«\9b7\90\16U×ð÷&2!¶ÎN©÷|ü\8bá\fR'A\v$¾±ÊC\10¨ó        ;\1dÐp\ f\9a ·\92e\19Eôá\14,\14\9eja\1dÚ\96\93fZß\a\85e\89\83\95\95\a\eÍ\9cB\ 4\b½edÄI·aA\99¡À\15G\18\84,&E\18#j©\11R%\14¸Û\83le\12¨\ 6\85\va\1cùE|¢\92\1d³5Þ÷è­Y$*ï1ùíþ\89W\9e%135¤¨×2ÞÔ<H L \apq\90ÍmÈ\17QI¾Êmuí#Õ\8e¼£»\94v\1elC¶\906\88'\1a\97\83\16£×\f$±q¶_ªEÔù\98­ëw\82Ë\80\17ìdÑÈb\e
-\9e\84R\ 3\9dЮ$\8e\\7fÍ<l¯\8e&\91Ø¡æ\19\1a\98g5\ 6F'1¡^+Sæ    Ü©ò{\8c>Y(\röì¦é£\94\ 1JËBÏ\94x×È\ 6÷!\16|\17G¹NLÀV{\8eb\8eÚ\93SSãF%4ë\9b\95¥\14N\12\12g\8b­<\91Áf!¼±-\7f\ 4\8e¾k\14\88Æ:\8b\0``K\9d\8c;0ØA'ç\r\1cÏØ\\82%\9e¯9\9eÎ\10\89Bnö^\1c\e\13K\f2\84\80ü\1c\99\82V\98\81Væá5Ó\b/4\85\11¸P\18\9d"[a\ 3ÚÙÓæ(W¾A\1c6\ f»Ø\8dA>rd\90aN\84å'\ 5Ùçp¹Ë\96}yÌë]£\94FÄe
-¹¡ èFþ\e¶ \85D\v\8dÖÐ\85\9cÆ0®k5§Å\90qõ¤ã¶D©+a\1f¥g\ 1ãU\88\8f£ç°Ñ-±0ø,\ 5åÙb\7fö\82\86Óv<\9fµãyx\9e\9e1*2\12u\16\ 6\1a½\¡g]¼t¨KÓ´\9d\94\87¢\99+±DÛ:Ä´\96Àne6ÑX$dÛÊ\ 1\886\8e§[³ÿëgWºvYxvü¾íG\1dº\15´À\ 6%K°\ 3íîy\ f~è.¥\ 6YKHf+dXªÀÏ\87îËË»ëùåÍ\13\8b¥ôA±x§\9c]ß\%³×¿Ý^Îï     Xìû\1a\ 2\1572>Õj\ 6l\ 6\9f*T\1aº\ f\90Ã\8aó\8c¼E'2\98ØD\92a\8aßs&1¿\ecÓÇvÍ\9bp sè\7f\96»«û;ºã}àÎ\9a\87Ó0Å\ em>\89\9b\1fôg"nlÝû×·Wó\9f\7fù)>m\11ê&\9cPÌçÉý0ñÿþªÇ\7f|ôtt¹\v\84{\12e\89]°ß(»ÞÔOËô­!ôg\17í÷¢á\ 4ß\99.Îh2\ 5·'ç¼\aÞ_Þþp\89J\9a·ÜÚ?\9a¬a±   K2G\9aì®$Ó\ 1\96ݼû¥\16\1aOÇé\14ß¹ðe+ï^\8cØÆÕüä×\93\7f\0
-3IØendstream
-endobj
-1660 0 obj<</Type/Page/Parent 1479 0 R/Contents 1661 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1661 0 obj<</Filter/FlateDecode/Length 687       >>stream
-x\ 1ÅVÝoÚ0\10\7fç¯8ÁKª-iR\18°J} i`\91\88Ç\13/nb\9a´$ÎlS\84Ô?~ç\ 4¶Â@¬êÇ\9cÈJξ;ßï¾ü³æ\80\8d\8f\ 3\9d3h¶!Êj\97¤vÚ·á+\90\19.´»ø\11\83mÙ¶\r$2\1aÐ\v\82kßí\11\7f4<\rF!        Ý±\1f\90\13r_³Átl«\8bûq[9\9e^D\9eìÝ]HÅ\v¹w   ^+ÿ¹-\93á\95åþ\bBó£\8c\12T*&\10§\ 6P 2I\8b\82Å°LU\ 2ú\1c\9f!ÍcV0\9cr\ 53Á3 ù
-\ 6      \97JFi¡\ e@R!_Î\r\14!\15\9dÏ©Jy\ eøª\84\81\¡Þì ÷Ô¸\80z±Q\82\12ð\90\85`8ק'\a¸ö\93ÿöç^¼Ç½\90xãý"^ë`\rC\85³âZÃi\9fV\91mH\9e1\95¤ù]E^\a¼\ 105f\16³`\90f\85\19\b4\1f\1c­\97\90Ñ\15Ü2(æ\8b»;ôT\9a\ 4;\b
-ª.±\û9\16éã[`\18\8en<òÍ\1f\ eÌ+oâ»\9e\19\ 6\9eë÷}÷ý\10¼¥Ñ\ 3Æá®\82cÿà\85\ 1\94\10\ 6\82\83\1cA\a\96'4\8f\10Àú\8b<Sÿí\a\14\14ñ¬ \ 2eTnݪ<UòÐ<\ 6:\97\1ch©u\99P\ 5èRÁ\1fµf]T*í\e±ÖQk\86\9d?\8f\v­¢´\88cZ   h\8aØ\f¨P+³¿\ e\98©1O\1f\18\90\85¸å%\ eÓ\93}\a.sµÌyÌðx\e5\1dl&FÚR\87Ú\vC9\95\90sÅ⣦5Þh¬!<k\95\8d\846\8e:\86$h)¾      _B=Z\14è\13,xQ]G    Ã\95\qLZº:ß\95\ 4\17ÿ:v9wÿA\13þ\14\97*G\87\83\8aº©-fß¿öú£ñMïýÚåö9\ e\14¹\8f\1fÐGÿãÝ\0Ì\9dñ©\82¾\v\8e£¯NN»cÙÝ&^ \1cëLçCØ»¹ìa9ä÷,RpÅ£E\86\8d½ìÌ\9aÓÜ0\98\1d[_¹\fç\8bÕ´\80`ÃÖ\ 5\rª\9a\ 2nB±§k\86V§euÚ]¼£áænS\93<Rû^û\ 5\e&a¤endstream
-endobj
-1662 0 obj<</Type/Page/Parent 1479 0 R/Contents 1663 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1663 0 obj<</Filter/FlateDecode/Length 1030      >>stream
-x\ 1µW]sâ6\14}çWÜq^H\17\e\b4Ð̤3,\81¬g\12pÁÍ\13\16X\eÛr%±lvòã{%C\ 2þÈWSg\86زttuîѹò?µ6´ð¯\r½3è\9c\83\1f×¾ºµæ¸\ 5\7f\80»Â\17ç}¼   eµZ-pýú        èë1û÷\96ßÇS÷{­\ 5f»eõ\11ê\ 3\b\bwo\99]÷ñ7©`±'©_\86\94
-ɸ'$á¯\ 3.ê>K\84ä\e_
-ðY\9cFÔ÷$        Êp\ 1\90¥Eý\12\8c\94      )|\9aJ    N\93r\82¿Æâôp¾ëPwâª\17\ 2Ç^\12D4!\95À\87c_¸\97\f""A\86\ 4V4"°¬@|;\99)g>\11\82\ 4°|\0¯\10ßÀqnìáÀµ§\93æÝäÊ\1aþíÌÍÙ`î\8efea\1a¦¸\1aÝÙÃÑ¥Bj\8e½LxuaÉÐÊ\9avZ¬\e\85¹4àÛ¥è{QdYÖâô¿\ 2A\85¦ßNb9B¦BÉrT°\98È\90&ëc:ÊØÌÚ*ö\8b&Jëq§ö\80Ó\1fÏ:übV]_>À×#\1c
\93°eü\1eÉ·ÊW\ eð"wÕ9.fb>½\1d¹ßìɵ\99   Ë\9c;£¡=¶\87O\84ýVµPó#+}\82Õ7Åx²æã^/=U ¼ÈÏ1^)ÂÒóïI\12À\9f\95\8b?xQÅC\85\10Ê\9bKeè~\e\813³'h\aùQ¯=Ã\84IÒ@+C5=;:\18÷4H¼T\18ÚäR\8e\16«\9dÎ[)GGãËã\82QêQÎtîÎ\873Ç5@HoM\0\1d\18\ 2ò\83¢¿\v ÊC9Û¬Ã\ 2\9còVírä'Î\98xQ\ 3Ä\ 3\96\93xK\ 3\r(\96\ eô ,D,i }¦\9e\10¸¯Ë\83|.K\86²nµ\98E\1dçâdÅ8x\91\bY\fÙÖ6³­-
\1aï²\18£¡I\b\91     ¡ÙÍFÓ_hþ\9aã\80râËè\ 1°Ììi(̹S\1eîýü«üóaZ©\80\84I\88\10\vÍ\1e]e\84D,%\X`cA\15\18"\96Õ\80¤¨n\92È"&K$§Ë\8d"]Å©\15¢Xß!Å8¨ñ4OJX\8aerÅY\@º¡Éæç~¸ÅøÚÂ\8c\b\82JQÉ\b¥L/\9aÍívk)uª÷Muc\86$J­PÆQ±ð\14¦\98LÝÑ\ 5\Ó85\1d¥dÍ?\9e]\b0\95zèðÀt<.\1f̱\96\84À\b"zOÀÝð%ÓCðX\91U\90â\99KKDC\8eæ\ eèÞ\ eGF¢ÍÚ¤  l\95¸à]
-Qüc\9aHðjnO>éÚQvÖÕgÉO\ 2=É'"ÿ\f\ 34\ 3,Âh\ 4\ 2B¶U~ *\9a\0µ\19\8fØTÒ\81®Õ¹(`\¾ÿÊcä\9fA5<\9f\9a²Ú7¹ÎZ÷\a'slß\8cÆÓÙíÀ-\8cϪӻ\9aK}=\17\88\92\99E²´èI\9f\12¡¥ï\9cÜvþÇå*wþÈZ\9aã>´ÛêÛª}Þ³Zý\ e~aµ­3%æùàöë\0w%û\8e\9e
-WÌß(kÒÅBåÇÜ\ f0{-õMVoÿnu,pwÕ\a2C\80aèa\99Q\ 3º½®Õ;ïãG\1cvîwUÓÈ­ýUû\17A\93D,endstream
-endobj
-1664 0 obj<</Type/Page/Parent 1479 0 R/Contents 1665 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1665 0 obj<</Filter/FlateDecode/Length 745       >>stream
-x\ 1½Vßs¢0\10~÷¯Ø±/tn@¨­z\9dé\83µè1Ó*'\9cO¾ ¤B\8b\84\1cgúÇß&ô\87EhéÔ6:\f        É\97ì·ÙýöoÃ\0\1d\7f\ 6tO Ý\ 1\7fÕ¸t\e­¡\ e?Á½Å\ f\9d\1e¾\ 4 kº®\83ë+G Ûìؽkè \1aºÖÃï8Ü·íkkÐw­É¸5\e_i\83?¶£Ú\13Çu\ 6SËv÷æK\98\87\ f\rïo*@\96,\8bÒ
-\1c\80¹r\ 1Í\942Îü(å\10%\9cdiFðÙ\9c\1fW¬*\1fÞß½ÔäißqÍi9Ä!ÌÍ<\86\87çTìÐ\1a\9f\14FW\84\87Q²Ì\87\1fݧ\bûo5¢Á(Z¥ª\9d¡ùp\eÅ\bÀ`åmaA \8d×Ë%   \90\19\bIF*IA¦%\97ùþ\10dÑ¿CpèLnL÷\975\1e©WæÌ\1a\98ªc\9b\ 3kh\r¾\8eÁ\85çß\93$(nPìÃxâ\9aç»ÌyI\0\82\1c©\82v\16¨¶\97ñ­:|¤t®ÄÑ=\ 1w\9d-¨${~\f¹§^\85\8a¼ú \ 2\ 4\ 4¤éØ gÛ\19\95îPÑ\17\eá\fø\98³#\ 6     å$Ð\8a¦\14ûG\aj\8f¸'§2\ 5\1c\bô¨xÚb\1fÜ\10\7fH7Ðô×)úÄã\91ß\84\r\ 1øÂExÓ\ 5\99xÇ7\11\ f_q|¾\axñÉV\ 4\ fbÂKðæ10\1eå£O±«\ e­ks8\99Þô¿.y¾>GE\12á4eE\8bò+üÙ|¶\9b@¿A*Rö=¦\94È\1f¨\85ö£\82Ñ\9cØ:Ï*òë¬Íçì+\9a\1c\9fÕFx\89½2k¤0×Ä\9a+>M\18ÏÖ>g"\80Ó8ò=Lee¸\0\ fïèúP\8a\b\\0¯0ãÆQB*\81w×¾ñ\8eÙ%&\1cP\b\84 \12TÒrÄúd¦\19õ     c(Å\8b-x{h»±ò|Áòb£ì\98M\95å\82z!\90^r\rÓx(õá¹ÆS\9a{{I@$¹fó½8Ö4í­Ò¡&RÅ\9d®O"H\84Ö°\a\86!
-X£ÓÕô^\eËXC;\11*åôo.û(·ô\8eø\1c®¨¿^\91\84£|ÐDР>-P»º(|\15ãLkk¨8$×ë\éa\10zQ"\93âi÷TëvzX)ãäÞ\99À0ÝÆïÆ\7f\8aÂendstream
-endobj
-1666 0 obj<</Type/Page/Parent 1479 0 R/Contents 1667 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1667 0 obj<</Filter/FlateDecode/Length 742       >>stream
-x\ 1½W_S£0\10\7fï§ØÑ\97zN\10¬¶=g¼\19DZ\99Ñ\96+¹>ù\82\14\ 5µ\84\v©\9d\9bé\87¿@´RH\1c¸Ñ\v\9dN²Ùýí.dÿäwÇ\0\9d?\ 6\f\8e¡×\87`Ù¹À\9d£\91\ eß\ 1ßó\8dþ\90O\16 kº®\ 3\ eºûÀ\aõ3\16RF\ eð#çõ\ 5o7#Ë\90Eqò È¯\10Ý\@>æ9£\ eÈе!W"°\ 16\9cû¶{\ e{B\r,hü\12Ò½Û\ 3\81r\88TãP\8d'7\80S70\8eHƲ\80Æ)\ 3\9fÁ\9aÐ'\8d\ fØÈÑæJ¨\ 2Mµ[Gó¦76¾r&ctiÏ\1dËF\9ek[Îȱ¶\10ßT\8e¢\7fñt\v[Lêö\bò.×G+\ 5Â\87ïg\17O\8a\aOa²\80\1fJçK\eª÷ ÿtR}\0Òc\88¯lpgÎ\ 4Û³*Xu\r\93)¶Ï`\1c/SäÒ8áÇ\88Û\9fG\ 3\10\16\85\14zt\81\\9f²?h\14?óÀÉøñ~\8e\9fBÀ+zG
-\11~¸E8ÕÃ\ 1¬_®W@Ú\9e\v\ 5·K    ¤Ï«\a\14'°æ\1aÂ\96\11\19g\90\10\16.´ª+Õõþ'\8dWÜã\93"Ì?       t¿jmu\r&ÿ\ e<#eÀ\7f\11YC,Â;\83{BÅk½§d    \86Æ\9fÓ³\9aøy«Q\15¯®!'¼gK\11þ\93± ¾%K4r®íÑtvcâ\9a¼\bÐVdéÑ®\18¢HÛ\8c¤Y+]\8d£ËtÝkÇ2±3\9d\1c¹S\ f{ÖÌq¿ÐÝ4û?¾Ì'\97Z\1e«èÝ©"U)\92Ôn.¬­\14¯³Ì'©\84/¥ä(\9960e· \96Õ©æ\r\94
-f\97Þ\bô¶»\8eY´+øáª\11ê\1eÊDE>\ fVi¶í;ÔÀ\8dPÕâò\9dV E»\94\16}LÞÆð\1a\14Ò\94\86ü¿j~+X¹euj\ 3Ð/9«uKT]\9b\84³Lª;PNRÛÀ\9e\99\1eï\a¶­\89"\9aê`\85*\ 5Y\9e¢ÛtØõ\96AÙA·JèuË\94-k\8e{4\1a\82aä·\ 6£?Ðôa\8fß\1d\fí8¯ø\9eysaòÖ\85<\86\ 1\83K\12¬\96aÂ|\16\93$\97Do\ 2h ç·\8d®qªõ4ÀQ(\8a´è\9aÀ\8aü8)jÒÉàD\eô\87üzÂ\99\87ý\1cÃÆ\9d\9f\9d¿4¤¤<endstream
-endobj
-1668 0 obj<</Type/Page/Parent 1479 0 R/Contents 1669 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1669 0 obj<</Filter/FlateDecode/Length 1087      >>stream
-x\ 1½W[sÚ8\14~çW\9cq\1e\96\81$\rlw²34\81,3\rÐàæ\89\17a\8bX\89±\IN\86\99üø=\92\f\18\13\ ft\9b®\99Áº~ç|:7ùG­\ 5Müµ }
-g\17\10,j_üZ£ß\84\9fãÄE\a\e!4½f³       ~P?\ 2ó¼~ð\1fkMp[M¯\83ó{\86ïß\=#Á\13MÂòܾ>\fG~ï3H\96\ 4\14\9e©\90\8c'Ðòð÷      ®¾\8f'àðLI\9e\89\80\86\ e¨\88B*\15\17D** \15< R\82âe1\96\17ÜD\*\19\b\96*\ fn\86ß\8b\ 3\90P\1aê½0CP¢\82\88\86º\17\91$\8c©\16U\ 1\12ôGÆ\ 4]ÐDý\ 5½Éx\v9"\88\e1       ³\8cÅ\8a%\1e\f\12 É\12\ 2"éI\ 5¬ó Á\8d\9c\8dZ2â/\90¥@À ²T:\10Òg\16P¯x\ 2(#ÁU¤\ 23 qÌ\92\a\94\r$ÅÓJ\ 5#\8a\82\11%¯{÷\83«Þ¥Æö<Ï\81\80/\16\9a;K\90=\87°êPµ\11\1eù\fI)xaq\fh¡4Sà \88\98\ 5D¡       \eÏIè!²k-å\9cÀKÄ\82Ȭ¯Ð\15­0g  *¼\Ù\15í1["}{àÖä¡`è%àX\køF\9fX\a¯K¾ xðÉ\83\96±öûºS!rÈñ04\9d\90ÍçTPí\83ÈÜ\1c7_ \91`Kqø\98põ1§[\ 1©uÍI\9f ù\15ªoX­}\9bÏ­\17\v\96¨9\8bé        \bJÂ¥õÃ
-P\89\17\18÷×\e©ð@ÛÍ*        $\96Ú^T&\7f(Ȥåd\9d¦\ 2ѺÒ\82\87\14XRô]«4G\17È\15\rb"%Z5ÎÝOïÑþâ\95\91Ëý<²oØ"uÇZiôÂ\10´\85\80#\11\ 1g"tÇD¨¥ÛÇ(ÁÐ\87i=fO\14üL̸Ù2ý\80´w\80mp\e¯Ð\90:úÌê±à\90ÆÙ\83\8b\94^P\ 2\85\9fò\120Á¤h¸\97ÚÑ;=9³Ós\93tß       ô¨|^å>tñÐLzBÂ:Ç0\8cc.\9e$̹°Á6\17|\91ga\8c\¦¢¢·aª\8e³\90\86\9fw\80/ßé)\ 3\97û \a6Q?\19Ýöü\7f\867v4/vu·?øÚë\8fîn»þÎþw«zÛ\8a\1fÅSù{Tè\8eÇ_\aW]\7f0\1a6Æ£\89?¹º\e\8c\7f#]]{ÿ\ f.÷ÃkÏdÒ\r)W?Ço\1fc^í«^\15×\9bâòc\ 3¿õ÷¼ÕÛé\1c Êk1±®¤á=ds)\ 1bCOçS½à\0M_\v{V\98àaê4a긫²¾\9e;\105\a(l\ 3\84-<%W÷Tdòd¡Ê®\16\1fÄb£©¹Ü`¦/É[¡­Þ\a¡®\16\17Þ[$
-ã¦y\10è´nj\8dTXm\88\b\8dª«³\99Ö7uØNX\11\a\ 1\97µÁþ¯k»\ 6\9dÖ/ÁI×\17`,ôXdSAñß)ªz\98×­a7\8d_Õu\7fÐ\95\80 Û¨·n½®[¦q\80i¶7Ø]Ûc» Å\¼Î_wÝ\89ß»\83¿óôq¼\ fä-QÛ{vz»\9aüW\90F¿\ 3­\96þRl]´½fç\f¿\17[Þ©¾\9cLº·_ºxËâ\8f4PpÍ\83L\7fù\98«¾Î\vîj\83Ûnê/Ìzë\93\81\8fWk\13\82\aW\11a\89)\85çís¯}ÑÁOR\Üik\8c\9e_ûVû\17ª£u«endstream
-endobj
-1670 0 obj<</Type/Page/Parent 1479 0 R/Contents 1671 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 961 0 R>>endobj
-1671 0 obj<</Filter/FlateDecode/Length 1578      >>stream
-x\ 1­WÛnÛF\10}÷W\f\98\a+©Iê.ÙEZ¸¶ä¨hbµRR\140\10¬È\95Ä\98ä²»K+*òñ=³¤|Qì\ÐÊ°-r9³3gÎ\9cYþ}Т&~Z4hS§OQvÐ\f\9aÔkõ\83>u\87\ 3|oãWKZº\85Π\17t\1fY\80\8f YÿùãÂ=Ú\86u\9b2j\1d÷\82\ eUW)ͪµæ\10^3j\ fx\9f¶»Ú­µz=g×î\r\83cª®xí\97ùA8nÒ1Í\97\b¸?Ä\97ØíÚ¤yÔxFîó®ú÷\8d\7f?=\9f\7f8h\92ßj\ 6Cx«\9dha¬ÔVñb8\16Õ\8e\r£2i×I¾ªn×\814¾´Óãîé\13\1a/É«6¢X'7R{WÏ\9fðõ\ 57OX<rû 'ÿ\15¯ÙåëÑüÕäÍ\85\7f>z79\eù³éèl2\9e\9cÑOþ\13\9f\1f\1e\ 5\9d\9e\bð\89Ûï\1e\10ѵÌãýµ¯]Ó\9bËùè\84.\92¬ð§:É-\89<&.8)»\96\9a::ö§BÛ­?NRpà~ir-i^ê\85r&¨^Å\98ÏèDtöv:s.G³)¹§§ZQ\91\96+?Éi\83\1d$}\1fé\12C¹²2\ e¾\96Ú³ÿëÃ\e\85côã ê?¿Óå\8eiA\ e\82
-¹sGfãÒ=\977I$MeÚ¥V«6m\ fÐô0v¸\98uR\18Ú$vM+¥\0{Y\14J[Z*M¯¦ô\9b0Rÿ*-Ùm!©àê\0ÿ\80þR%E"§$7V¤)¡Nu#\9100NSµ1'¼5TÍo÷¡ZØ1-D\9c\ 1s¿ \94\1d\7f\90\8b:\18òo¨\10\1a\8edz\12Æò&L\v\14rD~vû`P\14\8eYá8ªSñ\aÁ\90å\13\8e¯Úý\ 1=LÔo\ f\83ÖñÝÞW\8d9bôüÌ#\83t£5\92FàZZ\9dÈ\eé2ðvQñf\1e-µÊÜ}ä\98ÇBÇxºP&±Jo\1d\81¿\95\164r(HÐtzn\8e8\10æa\aB\8aà6ë\ 4»9´\81b\12!Í-\198\91\ 6øÕac\ 6¸ú4ÂÒèЬ\85\96aT\16&ÌT,Ó\87©5\ 2:å>È\85\85t¥Û#Ú¢\1c\99ØRi8Åé^\0¡X\18\95\96V\86Ë$\95f\v}ÍÂBØuhUèø\1fr\9fÉ01!\12\báM;\ 4®\9e;\86;â¡\80,ü~§UÕÒQ¯\15иԮI\1d7 ÏÈL\16\8f\91\8e¡8M7b\vv¦FQ¤rS¦`\16SGX±\0#Hå\94&yùqç-Pzå f\92i\19©,\83 o\18\93X¨Ò¢\81\19ÞJÅ     \9d¹\90Æ2\10·:T\97\81\19-\ 5\1e­YìØ\89\84vä\[[\9c\84áf³ >\v!¬mÞ§\89±A´Jj\84w¶ \16DÄÈTF\96\8b¡É\95͵a\94&Ñ5'æÍÖjã¹Þ9D6Bs¯\92\80Ü\81ü+\89Ä\8de\09Õ*\1d4¦Ò×|Ï5(;Þ+­Û& j\7fGhQA¼\90ôBåòEÅ\9cþ\8e]w\18\84ã\9d04\10¢\84'P\esÖð\15-\13\8dti\92W9E\¡«\86w_\17º4E\ 3czî³\1eÁÞË\92ñù.À\r°z_£Î\80ÿ\8câçeörÐk5»\9f£\7f?¯{\ðR\96\18`>±´\860        f×5F\85c\9dC\9d\14tOîL­Rß\1fmU3\17lõõ¥óyÕêíÅ{\99W¤wZ}h\õ]\ f3`Ë\ 4Ã\ f£\10",êQ\18K+и¸\9d/UÍzÀÃipÃÛ58Tó\9fy\ 2\84n\84NTé:ñ\9e\18\89\e¸\12\8b\14l-\94J\1f\88ùJæR\v\vN\12dÀµ\1d«\96£\97»\83\96E$Üy\b\94÷x< §xêÚ\81ͪ`\7f\84\v\10-1G [ÄÎj\15=º¥½Õ"7\98\f2·ÐÌ]©\90´&ßgR2b*ÇZ.\81\ f\0\89ÖJ\19¹×%PZÖ?\88Æ\11À.`m\92\7f$I\e\ 5w"¿\91\v\9f5(&HLI Å­þ;\1eR\9c\88T­èâíäÁ"k\12Æ\ 3\88%\83`w"Ø      Ã㥮\82¼«\1fD\e\80û\97þk([äqFðæ ¯k\82h
-­VZd\ 1Íöef/[>=U¢ã]ì*êê  \ e¡\15þ\K×ÏdIJ\1a{¢($È\ 2\999\9d\9dM&dåG\1c\0ðô\11Å*?tjJ^TÚÃü°ÀéÜ\83\b \99\12\v\r/Ó}\9dÅ\84\82g\¤´.\vË=\a°ó\18;\80:\88\ ebo \18´\80\915\13¬\84\ 6øy<\12\99@´Ð8BH\8dþàz m~\ 6{
\97¯\17òY±\1ah*wÓëþ ãÅjÈe[?\17\99ôÁ#\1fßwê³\9e]\86ãa-\93­>Þ¼\86\1d¼åt«7\93Ùéë_NqvT\1fXàÏUT"&ëÆ\10[ú;\ 3\7fÐä÷¢o>\97u\aÝ`Ð\1fV\87\98á\90}\8dæ\a¿\1fü\v\9e;\ejendstream
-endobj
-1672 0 obj<</Type/Page/Parent 1479 0 R/Contents 1673 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R>>>>/Annots 970 0 R>>endobj
-1673 0 obj<</Filter/FlateDecode/Length 1608      >>stream
+ëO\84Ò´zÉùt{\8e\ f\8f?Ç7,úñ¡+b¶{®\92¹Z*\19L>_¡ÎÃ%;ÎÆá\9eFD'\9cûµ× \vúË\11\ 4Ãÿ\84Uı\f®gíÝ(\1d\8f\93Ù,£Ét\94\9cOüM÷öòæÝ%Í­ù\86{\bþ÷ oø:éåÃç\91N¦Ép6\82_\1f"´âøj-*¶·éY\8bÈ\9c\87\12kãmSUÆz \1dOÇÉt2\vw\8fó\19oô~qôÇÑ\7f\ 1\87àg)endstream
+endobj
+1689 0 obj<</Type/Page/Parent 1476 0 R/Contents 1690 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1690 0 obj<</Filter/FlateDecode/Length 1581      >>stream
+x\ 1­Wko\1aG\14ýî_qE¾`\8b]\1eÆ`Wê\a75­#»¡5mUÉR4ìÎÂÄËÌff\16\82Ô\1fßsg\16Bq\1eMT[q`\99¹¯sî¹\97w'}êá·Oã\ 1\9d\8f([\9dôÒ\1e\r\86ãô\9c\86\97c~\8d\7fVRqòÃì¤;\19R¿O³\82\ 6\83tÐëÓèò"½\18]Ò,'Üëõh\96µgKå¨TZR%­«E.\1d½ü}ú@ÞÐRè\9cü\12æT)ùAVWά\84WY\87\8cÎ$)\8fC\8e\\9deÒ¹¢.Ë-eF¯¥õ2çOq      \ 6NgoOz\94ôÏÓ\ 1\9c·ïoïoÈo+I-QU¥Ê`ÑèîZç){H*ã¼Ë¬ª|+¥\10`´ép\8a6ª,I\ev\URSa,½2sGÂZµVzA\855«#\8f\7f*\9d\9b\8d£ÍReK\9c\94$jo\12\8e!ÿw\10&óÒ'Î[)V­\ e¼ùe(\81È2cs6\9f¡,\vTIé#'­®ôY\973è®ÔJ¦lݵp\8eªRd2åãI\ 3E2\18§\97ç¡\1a¡Ú\0a£r\19ËW¨EmÅ\1c5g\0\8aR¾WxÓ!¹F¾V.D\fDyÇÈxi9¬\95äÀ\94[¥t\8dò,¥¥\8d±OÂ\9a\1aF\9e\ 5\v\1c%9åëP{x7u\99Ó<À¼\14k@«é\13       Ií­B\ 1\0|aÊ\12\8eSëNztÅl\ 3Ò\83a:d¤\89è\10á\ fÀâ\83ÝÏá\81=\ 5¬Ø\10\fQ²«q/eÞ\1e\eÜ\9f?´üe\83\1f:\83c\1d±á@³X\84Êr¡=    \10mº§bh\ 2d\fr¡L\81g¡ö ÐcÛ
+.x\87\99²\8d\f]0ñm\1d¸³V\16u.©¥Ñ \11±Ö.¯¦%r Ì`*ð­\95´\1eO÷Ìg\\8c\ 63\0Ní$\9a,p\1e-Z\ 1x ïRº-hkjÚ\b\84\8d\96\v\1f\10Nd&\97¸\8c~ÑÉÁ\85#çB\13cº=@\147\e>D\97\9fCø¬{¶Ã\12ÿ\7f\99ç±ø²(dæÕ\9a[ÁI<>\ 3\fgMñ£\9aÐ\dOü\11\17ËÔ\9e\8aÚ\ 6¾WÖ°\f\ 1\9bÐk\ 1ÛÈÃ;á|¹í\84"ÅÌ\ 2Çq«¡0ã\19jð¹D?\9aÚ\7ffÞjûfúêî\r¤EU\15ü½\89L\88­³Sê=\1fÿb8\83ÔIÐ\ 2\89o¬ò\10\ 4j}ÂN\v\83&È-eYF\11}<\ 5\v\85§JX\87¶å¤\99Ö\ fAaYb\8eè`åʬ\9b\83µfN!\ 2\84Þ02â¤\9b° ÌPà\15G\18\84,&E\18#j¡\11ÒJ(p·\ 3ÙÊ$P\r\8aV    \17Â8ò\8bøÄJ2¡wÌÖxß¡·f\9e¨¼Ãä·û'^y\96ÄÌT\90¢NÃxSñ \812\81\1cÀÅA6·!_D%ù*·Õ­\8fT;ò\8eîRÚy°\rÙBÚ \9eh<ù^fµ\ fZ\8c^3\90ÄÚÙn©æQçc¶®Û
+.\ 3\93E#óm,\89*x\12J\rtB»\928rý5ó°¹:\18Eb\87\9agh`\9eÕ\18\18­Ä\84z-M\99'p§Êï1úd¡4س\9b¦ORV\91\a(-\v=Sâ]-kÜ\87Xð]\1cå:1\ 1\eí9\8a9jONu\85\e+¡Y߬,¥p\92\908[lä\89\f6\vá\8d\83Q'pô]­@4ÖY\ 4\0\ 3[jeÜ\81Á\ e:9¯!\ 3æxÆæ\12,ñ|Íñt\86èrO\14r³÷âØ\98X`\90!\ 4äçÈ\14´Ä\f´2\ f¯\99Fx¡)\8cÀ¹Âè\14Ù\12\eÐÎ\9e6G¹ò\râ°yØÅn\fò\91#\83\fs",?)È>\83Ë]¶ìËc^ï\1a¥4".SÈ\r\ 5A7òß°\ 5Í%ZH\92­µ\86.\1c9ç4úq]«8-\86\8c«'\1d·%J½\12öIz\160^\85ø8z\ e\eÝ\ 2\v\83ÏRP\9e-v'WÔ\1f7ãù¼\19Ïý\8bô\9cQ\91\91¨\930Ðèå\12=ëâ¥C]\1a§Í¤<\14Í\\89\ 5ÚÖ!¦µ\ 4vK³\89Æ"!\9bV\ e@4q<ß\12^ü_?»Ò5ËÂ\8bã÷M?êЭ \ 56(Y\82\1dhwÏ{ðc{!5ÈZB2\e!ÃR\ 5~>¶_^Oog×wÏ,\96Ò\aÅâ\9drr{w\93L^ÿv\7f={ `±ïk\bTÜÈøT£\19°\19|ªPiè>@\ e\vò\16\9dÈ`b\13Iú)~/\98Äün\88M\1fÛ5oÂ\81Ì¡ÿYîn\1e¦4å}`jÍãi\98b\876\9fÅÍ\ fº\13\117¶öÃëû\9bÙÏ¿ü\14\9f6\bµ\13N(æóì~\98ø\7f\7fÕã?>z:ºÜ\ 5Â=\89²Ä.Øo\94moªçeúÖ\10º\93Ëæ{Q\7f\84ïL\97ç4\1a\83Û£\vÞ\ 3\1f®ï\7f¸F%Í[ní\1fMV³Ø\84%\99#MvW\92q\ fËnÞþR\v\rÇÃt\8cï\ø²\95·¯®ØÆÍìä×\93\7f\0
+\84Iàendstream
+endobj
+1691 0 obj<</Type/Page/Parent 1476 0 R/Contents 1692 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1692 0 obj<</Filter/FlateDecode/Length 687       >>stream
+x\ 1ÅVÝoÚ0\10\7fç¯8ÁKª-i\ 2-e\95ú@ÓÀ"\15È\88×'^ÜÄ4iI\9cÙ¦\bi\7füΠl\85\81\18êÇ\9cÈJξ;ßï¾ü£æ\80\8d\8f\ 3\17Mhµ!ÊjפvÚ³á\v\90).´;ø\11\83mÙ¶\r$2\1aÐ\r\82[ßí\12\7f4<\rF!        Ý±\1f\90\13òX³Átl«\83ûq[9~\1eE¾Û¹»\90\8a\17\12¼VþK[î\867\96û=\bÍ\8f2JP©\98@\9c\1a@%È$-
+\16Ã"U   ès|\864\8fYÁpÊ\15L\ 5Ï\80æKè'\*\19¥\85Ú\ 3I\85|97P\84Tt6£*å9à«\12\ 6r\89z³½Ü\13ã
+êÅZ    JÀC\16\82á\\9f\9cìáÚMþÛ\9f\1ewCâ\8dw\8b\835\f\15Î\8ak\r§=ZE¶!yÆT\92æ\ f\15y\15ð\ 6ÀÄ\98\82~\9a\15f Ð|\98¦3´^BF\97pÏ \98Í\1f\1eÐSi\ e    \13l/(¨ºÄråçX¤Ïo\81a8\1axä«?ì\9b\9dïzf\18x®ßóÝ÷Cð\9eFO\18\87Û
+\ eý\83\17\ 6PB\18\b\ e\89\ er\ 4\1dX\9eÐ<B\0ëGy¦þÛ\ f((âYA\ 5ʨܺQyªä¡y\ft&9ÐRë"¡
+Ð¥\82?kͺ¨TÚ×b­\83Ö\fGÄ»|\19\17ZEi\11Ç´\12Ð\12±\19\96fo\150\13c\96>1 sqÏK\1c&'»\ e\æj\99ó\98áñ&j:ØL\8c´\85\ eµ#C9\95\90sÅâ\83¦5Þh¬ l\9e\95\8d\846\ e:\86$h)¾        _@=\9a\17è\13,xQ]G    Ã\95\qLZº¼Ü\96\ 4Wÿ:¶9·ÿA\13þ\14\97*G\87ý\8aº®-fÏ¿õz£ñ û~író\1c{\8aÜÇ4Ô\ fè£ÿñn\0æÖøTAß\ 1ÇÑW'§}aÙ\9d\16\1c«©ó!ì\ e®»X\ eù#\8b\14Üðh\9eac/;³æ4×\fæ\85­¯\\86snµ, Ø°uA\83ª¦\80\9bPìé\9aá¬Ý±ÚçM¼£éͶ­i\1e©}«ý\ 2{ïaÅendstream
+endobj
+1693 0 obj<</Type/Page/Parent 1476 0 R/Contents 1694 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1694 0 obj<</Filter/FlateDecode/Length 1030      >>stream
+x\ 1µWQSê8\14~çW\9c©/¸\97\96"^d\9dqg¸\bÞÎ(t¡ë\13\r4׶é&árÝñÇïI
+
+´UtÝ:\83m\9a|9ùÎ\97ï¤\7f×Z`ã_\v.ΠÝ\81 ©}ójÍ¡\r¿\83·À\17\9d\84`[¶m\83\17ÔO@_Où¿c~\9f\1f5\eÌ\96mu\11ê\ 3\b÷å\b÷ÇÌ®û\ 4«L°Ä\974(CÊ\84\17\92ð·\ 1\80¥BòU \ 5\ 4,Éb\1aø\92\84\0ÈÒ¬~\ 5\84\14\ 1Í$Ð\14§É8Á_cvº;ßM¤;qÕ\v\81\13?\rc\9a\92Jàݱ¯ÜK\ 61\91 #\ 2\v\1a\13\98\1eOfÆY@\84 !Ì\1fÁ/Ä×sÝ[§ßó\9cñ¨y?º¶ú\7f¹SsÒ\9bz\83IY\98\86\a÷N\7f\90\9aC?\17^]X2²ò¦\8d\16ëFa.\r\14\ 3?\8e\9a\9dþW ¨Ðôñ$\96#ä*\94ì\80
+\96\10\19Ñt¹OG\19\9by[Å~ÑDi=nÔ\1erúóE\87_̪ëË\aøz\82]Aû\12Ö\8c? ùVùÊ\ 1^å®:ÇÅLLÇw\ 3ï»3º1sa\99SwÐw\86Nÿ\99°ßª\16j~d¥Ï°ú¦\18OÞ¼ß뵧
+\84WùÙÇ+E\98ûÁ\ 3ICø£rñ;/ªx¨\10Bys©\f½ï\ 3p'Î\bíàpÔ[Ï0b\924ÐÊPM/\8e\ eÆ\ 3\rS?\13\86\8c£Åj§ó\17ÊÑÑø\ eqÁ(õ(w<õ¦ý\89ë\19 ¤¿$\80\ e\f!ùIÑß\ 5På¡\9c­\96Q\ 1Ny«v9ò\vgLý¸\ 1â\11ËI²¦!ÙÛ\ 6\14K\az\10\16"\966Ð>3_\bÜ×åA¾\94%CY·Z̬\8esq²`\1cüX°}\84<\86|k\9bùÖ\16\85X\8dwY\8cÑÐ$DÈ\84Ðìæ£é?hþ\9aã\90r\12Èø\11°Ìli(̹Q\1eîýÃW\87Ï»i¥\ 2R&!ñ\91C,4[t\95\11\12³\8cpa\81\83\ 5U`\88XVC\92¡ºI*\8b\98,\95\9cÎW\8at\15§V\88b}\83\94à Æó<\19a\19\96É\ 5gI\ 1é\96¦«_Ûá\16ãK\v3"\b*E%#\922»l6×ëµ¥Ô©Þ7Õ\8d\19\918³"\99ÄÅÂS\98b4ö\ 6\97pC\93Ìt\95\925ÿxv!ÀTê¡ÍCÓõ¹|4\87Z\12\ 2#\88é\ 3\ 1oÅçL\ fÁcE^A\8ag.-\11\r9\98º {»\1c\19\89WK\93¦°Vâ\82w)Dñ\8fi"á\9b¹=ù¤kCÙÙ¹>K~\12èÉa"\ e\9f¡\87f\80E\18\8d@@ÄÖÊ\ fTE\13 6ã\1e\9bJ:pnµ/\v\18Wï¿\ e1\ e\9fA5¼\9c\9aòÚ7ºÉ[·\a'sèÜ\ e\86ãÉ]Ï+\8cÏ«Ó»\9aK}ý \10\923\8bdYÑ\93>%\84]Kß8¹ãþ\8fËUîü\91µ4\87]hµÔ·U«saÙÝ6~aµ¬3%æiïî[\ fw%û\81\9e
+×,X)kÒÅBåÇÜ\ e0/lõMVo}µÚ\16x\9bê\ 3¹!@?ò±Ì¨\ 1ç\9d®Õùz\86\1fqª³ÝRm\ 3¯ögí_\84ãDMendstream
+endobj
+1695 0 obj<</Type/Page/Parent 1476 0 R/Contents 1696 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1696 0 obj<</Filter/FlateDecode/Length 745       >>stream
+x\ 1½Vßs¢0\10~÷¯Ø±/tn@ÐÖz\9dé\83µè1Ó*'\9cO¾ ¤B\8b\84\1cgúÇß&ô\87EhéÔ6:\f        É\97ì·ÙýöoÃ\0\1d\7f\ 6\9cµ¡Ó\ 5\7fÕ¸t\e­¡\ e?Á½Å\ fÝ\1e¾\ 4 kº®\83ë+G Ûìؽkè \1aºÖÃï8Ü·íkkÐw­É¸5\e_i\83?¶£Ú\13Çu\ 6SËv÷æK\98\87\ f\rïo*@\96,\8bÒ
+\1c\80¹r\ 1Í\942Îü(å\10%\9cdiFðÙ\9c\1fW¬*\1fÞß½ÔäißqÍi9Ä!ÌÍ<\86\87çTìÐ\1a\9f\14FW\84\87Q²Ì\87\1fݧ\bûo5¢Á(Z¥ª\9d¡ùp\eÅ\bÀ`åmaA \8d×Ë%   \90\19\bIF*IA¦%\97ùþ\10dÑ¿CpèLnL÷\975\1e©WæÌ\1a\98ªc\9b\ 3kh\r¾\8eÁ\85çß\93$(nPìÃxâ\9aç»ÌyI\0\82\1c©\82N\16¨¶\97ñ­:|¤t®ÄÑ=\ 1w\9d-¨${~\f¹§^\85\8a¼ú \ 2\ 4\ 4¤éØ gÛ\19\95îPÑ\17\eá\fø\98³#\ 6     å$Ð\8a¦\14ûG\aj\8f¸í\13\99\ 2\ e\ 4zT<m±\ fn\88\96â?¤\ehúë\14}âñÈoÂ\86®ã\0|á"¼é\82L¼ã\9b\88\87¯8>ß\ 3¼ød+\ 2¾×\a1á%xó\18\18\8fòѧØU\87Öµ9\9cLoú_\97<_\9f£"\89p\9a²¢Eù\15þl>ÛM ß \15\1eSJä\ fÔBûQÁhNl\9dg\15ùuÖæsö\15M\8eÏj#¼Ä^\995R\98kbÍ\15\9f&\8cgk\9f3\11Ài\1cù\1e¦²2\\80\87wt}wÓQ(Å\1fk\ 4.\80W\98qã(!\95À»kßxÇì\12\13\ e(\ 4BP       *i9b}2Ó\8cú\841\94âÅ\16¼=´ÝXy¾`y±Qv̦ÊrA½\10H/¹\86i<\94úð\ã)ͽ½$ \92\³ù^\1ck\9aöVéP\13©âN×'\11$BkØ\ 3Ã\10\ 5¬Ñ=Óô^\aËXCk\v\95rú7\97}\94[zG|\ eWÔ_¯HÂQ>h"hP\9f\16¨gº(|\15ãTëh¨8$×ë\éa\10zQ"\93âI·§uOÛX)\8bÉz[\80\98nãwã?\ 5Ø\8aãendstream
+endobj
+1697 0 obj<</Type/Page/Parent 1476 0 R/Contents 1698 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1698 0 obj<</Filter/FlateDecode/Length 742       >>stream
+x\ 1½W_S£0\10\7fï§ØÑ\97zN\10Z­=g¼\19DZ\99Ñ\96+¹>ù\82\14\ 5µ\84\v©\9d\9bé\87¿@´RH\1c¸Ñ\v\9dN²Ùýí.dÿäwÇ\0\9d?\ 6\9cö ?\80`Ù¹À\9d£\91\ eß\ 1ßó\8dÁ\90O\16 kº®\ 3\ eºûÀ\aõ3\16RF\ eð#çõ\ 5o7#Ë\90Eqò È¯\10Ý\@>æ9£\ eÈе!W"°\ 16\9cû¶{\ e{B\r,hü\12Ò½Û\ 3\81r\88TãP\8d'7\80S70\8eHƲ\80Æ)\ 3\9fÁ\9aÐ'\8d\ fØÈÑæJ¨\ 2Mµ[Gó¦76¾r&ctiÏ\1dËF\9ek[Îȱ¶\10ßT\8e¢\7fñt\v[Lêö\bò.×G+\ 5Â\87ïg\17O\8a\aOa²\80\1fJçK\eª÷ ÿtR}\0Òc\88¯lpgÎ\ 4Û³*Xu\r\93)¶Ï`\1c/SäÒ8áÇ\88Û\9fG\ 3\10\16\85\14út\81\\9f²?h\14?óÀÉøñ~\8e\9fBÀ+zG
+\11~¸E8ÕÃ\ 1¬_®W@Ú\9e\v\ 5·K    ¤Ï«\a\14'°æ\1aÂ\96\11\19g\90\10\16.´ª+Õõþ'\8dWÜÞq\11æ\9f\ 4º_µ¶º\ 6\93\7f\a\9e\912à¿\88¬!\16á\9dÁ=¡âµÞS²\ 4CãÏÉYMü¼Õ¨\8a\90\13Þ³¥\bÿÉXPß\92%\1a9×öh:»1qM^\ 4h+²ôhW\fQ¤mFÒ¬\95®ÆÑeºîµc\99Ø\99N\8eÜ©\87=kæ¸_èn\9aý\1f\93K-\8fUôîT\91ª\14Ij7\17ÖV\8a×Yæ\93\97Rr\94L\e\98²[\10ËêTó\ 6\96nJ\95U\ 5³Ko\ 4zÛ]Ç,Ú\15üpÕ\bu\ fe¢"\9f\a«4Ûö\1djàF¨jqùN+Т]J\8b>&ocx\r
+iJCþ_5¿\15¬Ü²:µ\ 1è\97\9cÕº%ª®MÂY&Õ\1d('©m`ÏL\8f÷\ 3ÛÖD\11Mu°B\95\82,OÑm:ìzË ì [%ôºeÊ\965Ç=\1a\rÁ0ò[\8318Õôa\9fß\1d\f­\97W|ϼ¹0yëB\1eÃ\80Á%  VË0a>\8bI\92K¢7\ 1tªç·\8d®q¢õ5ÀQ(\8a´è\9aÀ\8aü8)jÒñ`¨\rNzüz\923ëý\1cÄÆ\9d\9f\9d¿Ø\ 2¤]endstream
+endobj
+1699 0 obj<</Type/Page/Parent 1476 0 R/Contents 1700 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1700 0 obj<</Filter/FlateDecode/Length 1087      >>stream
+x\ 1½W[oâ8\14~çW\1c¥\ fËL\9b4ôÊΪ+1-t\91¦\94-\99>õÅ$¦q\eâ\8cí´Bê\8fßc;\81\10\1aÁît6HÄ×ï\9cÏçæühuÀÇ_\aÎ\8fàø\fÂyëkÐ:\1cøð;\ 43\9c8ëb#\ 2ßó}\1f\82°½\aæyû\14<µ|p;¾×Åù-Ã÷ï®\9e\92ð\99¦Q}n[\1fF·Aÿ\vH\96\86\14\90\8c§Ðñðw
+\97ßÇ\13px®$ÏEH#\aTL!\93\8a\v"\15\15\90        \1eR)Añº\18Ë\v®c.\95\f\ 5Ë\94\a×£ïÕ\ 1H)\8dô^\98"(QaL#Ý\8bI\1a%T\8bj\05j  ú#g\82Îiªþ\80þd¼\86\1c\13Ä\8d\99\84\12ÅR\ f\86)\90t\ 1!\91ô \ 1Öy\94àÆÎJ-\19óWÈ3 à\84y&\1d\88è\v\v©W=\ 1\94\91â*Ò\80\19\92$aé#Ê\ 6\92áie\82\11\88\92WýûáeÿBc{\9eç@ÈçsÍ\9d¥È\9eCÔt¨Ú\bO|\8a¤\14¼²$\ 1´P\96+pPDÂB¢Ð\84\87/iä!²k-å\1cÀkÌÂجoÐ\15­0c)*¼(í\8aö\98.\90¾=pkòH0ô\12p,®5üá\80X\aoK>§xðé£\96±ôû¶Ó rÄñ04\9d\88ÍfTPí\83ÈÜ\1c7\9f#\91pMqø\9crõ¹ Û\0©u-H\1f ù\15ªoX-}\9bϬ\17\v\96ª\19\ 1\b\85õÃ\ 6P\89\17\18÷×\e©ð@ÛÍ*     $\91Ú^T¦¿)È¥åd\9d¦\ 1ѺÒ\9cG\14XZõ]«4G\17(\14\r\13"%Z5)ÜOïÑþâÕ\91ëý"²¯Ù<sÇZiôÂ\b´\85\80#\11\ 1Ç"rÇD¨\85;À(ÁÐ\87\87\9e)\ 4¹\98r³åá\13ÒÞ\0¶Ám¼BCêè3«Ç\82C\96ä\8f.RzE     \14þ\95\97\80   &E£­Ôö>è)\98\1d\9d\98¤ûA {õóª÷¡\87\87\13\12Ö9\86a\1csñ,aÆ\85\r\99àó"\vcä2\15\rSu\92G4ú²\ 1|ñAO\1d¸Þ\a\8aúÉíM?øktmG\8bb×v\aÃoýÁíÝM/ØØÿaUo]\91\86ô£x&\7f\8d
+½ñøÛð²\17\foG\87ãÛI0¹¼\e\8e\7f!]]{ÿ\ f.÷£+ÏdÒ\15)W?ûï\1fcQí\9b^\r×\9bêò}\ 3¿ö÷²ÖÛèì Ê[5±\96Òð\1e²º\94\0±¡§ó©^°\83¦o\95=%&x\98:M\98:nYÖ\97s;¢\16\0\95m\80°\95§æê\9e\8aM\9e¬TÙrñN,V\9a\9aË\r\9a¼\12­|ï\84Z.®¼×HTÆMs'Ð\87¶©5Raµ!"2ª\96góÐ^Õa;aEì\ 4\ 6û?¯í\12ô¡}\ 1N¶¼\0c¡Ç"\9b        \8aÿNUÕݼn        »jü¬®Û\83®\1e\83;\ 4ÝJ½eëmÙ2\8d\1dL³¾ÁîZ\1fÛ\ 4©æâeþºëM\82þ\1düY¤\8fým ï\89Zß³ÑÛÔä¿\82\1c\ eºÐéè/ÅÎÙ¹çw\8fñ{±ã\1déËɤwóµ\87·,þDC\ 5W<Ìõ\97\8f¹êë¼à\96\eÜs_\7fa¶;§Þ±\a\ 1^­MèØ\v\1e\84¥¦\14\9e\9cu½³Ó#ü$Õ\8bý\13\rÒ\ fZ\7f·þ\ 1\1f~uÌendstream
+endobj
+1701 0 obj<</Type/Page/Parent 1476 0 R/Contents 1702 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 986 0 R>>endobj
+1702 0 obj<</Filter/FlateDecode/Length 1578      >>stream
+x\ 1­WÛnÛF\10}÷W\f\94\a+©I\8aºÛEZ¸¶ä¨hbµRR\140\10¬È\95Ä\98ä²»K+*òñ=³¤|Qì\ÐÊ°-r9³3gÎ\9cYþ}\10R\v?!\rÚÔéS\94\1d´ü\16õ¾ߧîp\80ïmüjIK·Ð\19ôüî#\vðá·ê?\7f\¸GÛ°nSFáqÏïPu\95Ò¬Zk\rá5£ö\80÷i»«ÝZØë9»voè\1fSuÅk¿Ì\ f\82q\8b\8ei¾DÀý!¾Än×\16Í£æ3r\9fwÕ¿oüûéùüÃA\8b¼°å\ fá­v¢\85±R[Å\8bÁXT;6\8dʤ]'ùªº]\aÒüÒN\8f»§O°¹j¾¤Fµ\11Å:¹\91ºqõü   __pó\84Å#·\9fpò_ñ\9a\1eÍ_MÞ\xç£w\93³\917\9b\8eÎ&ãÉ\19ýä=ñùáQÐé\89\0\9f¸ýîQ'\v\11]Ë<Þ_ûÚ5½¹\9c\8fNè"É
+oª\93Ü\92Ècâ\82\93²k©©£co*´Ýzã$\ 57\fê\97\92æ¥^(g\82êU\8cù\8cNDgo§3çr4\9b\92{zª\15\15i¹ò\92\9c6ØAÒ÷\91.1\94++cÿk©=û¿>¼Q0F?\ eªþó:]î\98\10ràW    VÈ\9d;2\e\97î¹¼I"i*Ó.\85amÚ\1e éaìp1ë¤0´Iì\9aVJ\ 1ö²(\94¶´T\9a^Mé7a¤þUZ²ÛBRÁÕ\ 1þ>ý¥J\8aDNIn¬HSB\9dêF"a`\9c¦jcNxk¨\9a×îCµ°cZ\888\ 3æ^A);þ m\17u0äÝP!4\1cÉô$\88åM\90\16\88¼ìöA¿(\1c³\82qT§â\rü!Ë'\1c_µû\ 3z\98¨×\1eúáñÝÞWÍ9blxY\83\fÒ\8dÖH\1a\81kiu"o¤Ë ±\8b\8a7kÐR«ÌÝG\8ey,t\8c§\ve\12«ôÖ\ 1\ 4\12x[iA#\87\82\ 4M§çæ\88\ 3a\1ev ¤\bn³N°\9bC\e(&\11ÒÜ\92\81\13i\80_\1d6f\80«O3(\8d\ eÌZh\19Dea\82LÅ2}\98ZÓ§Sî\83\XHWº=¢-Ê\91\89-\95\86S\9cî\ 5\10\88\85Qiie°LRi¶Ð×,(\84]\aV\ 5\8eÿ\ 1÷\99\f\12\13 \81\0Þ´Càê¹c¸#\1e
+ÈÂïuª\96\8ez¡OãR»&uÜ\80>#3Y<F:\86â4Ý\88\99\1aE\91ÊM\99\82YL\1d\ 2\8c \95S\9aäåÇ\9d7_é\95\83\9aI¦e¤²\f
+\83¼aLb¡J\8b\ 6fx+\15'tæB\1aË@ÜêP]\ 6\14x´f±c'\12Ú\91smmq\12\ 4\9bÍÆÿ,\84 ¶y\9f&ÆúÑ*©\11ÞÙ\82Z\10\11#S\19Y.\86&W6×\86Q\9a\9cXc¶V\9b\86ë\9dCd#4÷*       È\1dÈ¿\92HÜX\ 6\90S­ÒAc*}Í÷\\83²ã½Òºm|ªöw\84\16\15Ä\vI/T._TÌéïØu\87a\85O0Þ   C\13!Jx\ 2µ1g\r_Ñ2ÑH\97&y\95\15ºj6îëB\97¦h`LÏ}Ö#Ø{Y2>ß\ 5¸\ 1VïkÔ\19ð\9fQü¼Ì^\ eza«û9ú÷óºÇ\85\12\ 3Ì'\96Ö\10&ÁìºÆ¨p¬s¨3-\98\82îÉ\9d©Uêû£­jæ\82­¾¾t>¯ÂÞ^¼\97yEz§Õ\87ÆUßõ0\ 3¶L0ü0
+!¢\1e\85±´\ 2\8d\8bÛùRÕ¬\a<\9c\ 67¼]\83C5ÿ\99\14NèFèD\95®\13ï\89\91¸\81+±HÁÖB©ô\81\98¯d.µ°à$A\ 6\Û±j9z¹;hYDÂ\9d\87@y\8fÇ\ 3z\8a§®\1dج
+öG¸\0Ñ\12s\ 4²Eì¬VÑ£[Ú[-r\83É s\vÍÜ\95
+Ikò<&%#¦r¬å\12ø\0\90\94\91{]\ 2¥eý\83h\1c\ 1ì\ 2Ö&ùG\92´\91\7f\e¹ðX\83b\82Ä\94\ 4ZÜê¿ã!Å\89\8a.ÞN\1e,²&a<\80XÒ÷w'\82\9d0<^ê*È»úA´\ 1¸wé½\86²E\rÎ\bÞ\1cäuM\10M¡ÕJ\8b̧پÌìe˧§Jt\1a\17»\8aºz\82Ch\85?×Òõ3\19±¬Æ\9e(
+       ²@fNgg\93 Yù\11\a\0<}D±Ê\ f\9d\9aR#*ía~XàtÞ\80\b \99\12\v\r/Ó}\9dÅ\84\82g\¤´.\vË=\a°ó\18;\80:\88\ ebo \18´\80\915\13¬\84\ 6ø5x$2\81h¡q\84\90\1aýÁõ@Úü\fö\14v/ßFÀgÅj ©ÜM¯û\83\8e\17«!\97m½\dÒ\ 3\8f<|ß©\vÏzv\19\8c\87µL\86}¼y\r;xËéVo&³Ó׿\9câì¨>°À\9f«¨DLÖ\8d!¶ôv\ 6Þ ÅïEß|.ëö\87~¿×®\ e1aË       Åh~ðûÁ¿¸Å\e\8bendstream
+endobj
+1703 0 obj<</Type/Page/Parent 1476 0 R/Contents 1704 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R>>>>/Annots 995 0 R>>endobj
+1704 0 obj<</Filter/FlateDecode/Length 1608      >>stream
 x\ 1\95WÉnÛH\10½û+
-:\ 4²cn²6\a\b\ 6É8   \82$\ 3e¬9\fàK\8bl\8am\93l¦»)YóõóªI-#g\ e±\ 1A\º\96W¯^\95~\$\14ã?¡Ù\88\94V\17q\18ãÎáãÏO|\87&·S|V\94Ìãð¶¿*éÞ?\eOâp\8egãÙ8\9cQwÅÏ~P2\vG\9d\92à­\9bé\ 4và&ú\9cLèNÓwob4½ \136ïÝtW{ó£$\ eoðlt{\e\8e©»âgï\97\17ÑÇ1%   -s8\99Îg´Ì|ä1-Óá²\905©Ú:Q\96ä
-I\8d\93æÍåò\11\acºíÎ\ 5£1Ì.³!áoP6"«TMAC¥°Ò<J7nÊÖR°¡F\18Ø\92å\9b(\93\9b¨lb
->P° ÈêJF\8dpE¤ëh§[\13åª\94vg\9d¬üÃm!\8d\8cª]P\8bJ\ 6¹6\ 1¾÷ñ\84M\93\rº\98\8eÉ\ 4£)\87ô\87\1aÁ\vG8DûL\ 6\1fµ®\84Si°XÜÙ\ 1åFWôUÕí³·©êu¨Íú\9a\10
-ÎXMµ\94\19 ²\8dL\95(iðû_\8b{B\8c\80c@\1c\ 1 \9fä\ 6u\82ãAÚ6È\8a}\fBú$\9d\14NZG\ei¬Ò5é\9cNßóaxtah4í@-\9ckÞDÑv»\rËó\0££\93ÞýþÔ²PÖ\amÉiZIJu£\90\ 2.öÕëÊ>\8cZk¢R­¼-\86\1d)\9dÙ=\92dH¢ÎØ\%2I[mÊ\8cä³L['V¥\f\89Ý\9e\ 1ÑY¤>\9c.\ 4#\ 5Ð\84%\91:j\e ÁôêÁ-w$ëTgxu_%D_U²vö\9a\92\19?\ 3Å\ e\9cd²\\9fùÝ\16*-ü[­©I\18I­í¼§\1a\9c6-\?\f\9d\11µ\ 5-a\1c~\99"(9\13Æ¿n\1e.ýW¸oJ\95¢x\19­\vm\9dM\8dj\9c\ f\8bÓ@aä\99{&\fÞî-\9a}ïD\99Q¨>\9f\é°?³/Úß`[*j*ÄF\82l¥ÖO\ 4âîI«\e\aÒXo\93\ 3üô2\12\ e\84lÛ4Úp¬«\1d§spî!ç\93%7åYÀ}`8²Öà?3\85_µ2e¯4øàËÌ_3é\84*íà\1a\ fK~\8c·½\9b
-E+\ 1ê×¾ïiL\vt>@d\90R øÄïêúÌõà¾ÐÛ\9e\ e:>ÑVA\7f\9e\82 @¥­\ALÖò\97\9a¥#*\1c\84éZýÖåûÖCñªW\92·³I\12\8f_\85¶]Uʽå°^\1fN½îó>+Ú\12 !4Y+\r\91Ct\b\13\11zÉa\03\81Þ\0 |óI2iZÃt\vésÎ\b\83\98x"hÕ®!(Ï][@w«Æè\8d\13«£\17@8:\83îÔC'W\1e-QnÅÎÒº\97\9d
-\94Ýûõ\ e éèWÿ5\97µF\ 6\86ÛåH\82\\97¥Þr2ì\ 2\9c7v&¹\vÐ\8d$V\88Ô\93y4
-Gq\ 2ñ\9a\85ó\e¯\83K.Þ\17Q5\8d\84°tBû\rt0âIÞëÜqò\99'\1c\88/\9fS\89ù\80\94\1fõ\8a<6\1d\8eZS.·ÔHÝpØÀLlñy\ 6\86ÎC°ï^\93ʽr£áI9¨¬\93õ5á$\97ÁJp±P\15 ¯1\1cÈ¢È\9c¦g°h\1aÃ
\94\7f¸ô)\ 5?É      \88ôJÎÄ^Cμ¬\9fÖ¬\ 6£\91\8b¾g!õÖaÎ0qɪ\7f$\ f\9eÃPÒ\88­§!øÍâu\96ÝÞ\94r>®\93\11ñ\9f\19âñL[&\ e\18þR\93ðD 2\9d\86\85«Ê3ª\7fÓ\0~? ÉµN\e\1e\86ªÎ5\ 6Â\8eçB®[\86÷W½>5¹Ty)#?\83¿è\1a\98Z;\8aãQ´ìÝDgÁ\9cLö+(ä\95çéa`tD¶PfP7\83ä¼\9cî 
-\17\89K®Eêû\96©>\80±À©J\82$ëÂï\15'c½n1\7f\f\ fî\ 4\v^|Ðâ£æz\11ô\9açG\ eSë¸7tÃ\90ï¥\85À\ 4SõF\97\e¾>\11ók\12ÿßk~ì\9dÔø\9c\v÷mU      ³£\80x\9að\14òåOÂ1úñ¤/ßÑ ïw ×\8clôQô\8bà\90åÆëXw\7f¿S\r\a\84e\89I\8d¾Á\88Öíºà)á \ 1\91v\ 5ù­èa¸jÑÖ¾³¯t-¯XË0\8f\ 4Ú\9a\a)nÕîá²/g\82­x:á\8diÉà\1f\17\1aô\86ßE¨\9fµ\ fÃ\854%f     \10è\ 2ÃÒí7×\9f®0Öó帹\ 4\83/6űWP!\bã~S#ÓÖ/â:©\f\92©èu\ 5H¤ \v\v \8f7];\ 3ÑÄ%f(3 h\9d,RÝÈçè\ 5A\9cÙ{\ e\90XvØ¥\8f¯ß\1d{\19ðLz¹0D\1fç}â     ~
-L'     M§Hì\16XdÃûwßÞ¿£\85Ñ\8f\18ÌøuР \81×3ï%\99ÎÂx~CÁ,Æö\9e\r\93I8\ e»º-x»§;¿\9f` !¥;¹Q©ô\ô¿L¦süJÀ¡ù-Ûú°¼ø~ñ/;\83.,endstream
-endobj
-1674 0 obj<</Type/Page/Parent 1479 0 R/Contents 1675 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R>>>>/Annots 973 0 R>>endobj
-1675 0 obj<</Filter/FlateDecode/Length 1816      >>stream
-x\ 1\9dW]oÛÊ\11}ׯ\18ð%r*R\1f\96d9@páÄr*4¶\95HnPÀ@±"WÒÚ$\97á.¥¸\ f÷·÷Ì.eSº½-Ð\18\91DrwçÌÌ\99\9f­>õðק\8b\ 1\9d\8f)ÎZ?©\7f\11\rü]þÑ\8f&4ê\ f£\11?ìÎú#ºÖô­Õ\8bzØøúñýKk2ÂÊá`\14]RF\83á\0ßþ*¥\ 5/§þp\12õi8¹Àï\ 1þ\97\92Ö­OËV÷fHý>-×°5<\1fÐ\18'\8dÆ\13Z&Î@\8f\96qûËV\ekâR\15\96Þg\95±ï;\94ÈBæ\89Ê7¤s²[II©v²ìf:\91i\87b\9d[¡r2UQèÒÒZ\97$(\96¥»\e$r§b\19Ðc[\182[½ÏiõBÁÆ\9c-\9fZa\8fÂþ9¼_&íp\e<\9e¹\9b\1e^8\1aF\ 3ÀÄ£\99·\e\v#I¯\1d\86`[¨'\13ÔX:ô¢+Ê¥L`ºé\ 3p\1a¥ó\ eí·*ÞÒ\16\18\ 2·Od:ß\18\ 2\95G\8eÍ\1e¬\83Ö@\ 6ç\80\97\0\13(\1eÆ_ÖZgª8èÀþN¤*¡M#\92±Î2\91'©Ê%íu\95\92H\8bpAMÕ³\84KÊ|`ç»7=ºä\1cÁþ`\18\rÙ}òÿ\18ÂO
-\93OWËÏ\7fÅ÷üêûÕÝýìzqu3ý\8eëo\ f³é\12ßw÷ó«\87Å\94Bs=ýûìóô#\1c®\8fx|d\eìZ\ f$z;Ú?\ eÍìÉ,d\89 }táõ\80\84\aÔ\9e\8b\8d\7fÉ#\98m\18¼®\8aTþúx¼Úßä{\ 30ñr0\81G0xˤ99á\b\xXþ'\18Ëc3ߥÑie\91ããC;óÅ\87[\99(1×Fñã\13x³¼¨ì"Õöx\e¼A\f\1e\8c¼¯,\16Ü\Óÿ
-Y½P¥òcH¡?íPg\83A4èõ\91È\vWppÿN[ÙA¶\85¥½²[úü0_\10¨Ñàô\e\99h>\87ýv\91V\86æ²Lݸ*\8c'Ûã\99c}¢ówÖq\9f\8d7hk58\96Él%Kǯ\88þ\81"\89ENñVk\94\12ײؠ \95\8aU*©(UnI\17\1c,\83geŵô0«\1fÔ\1c\ 6\1e\89©`\93\16\ 1­K\9dÑt1\7f
-Y&ËX\894}iÔ×\9cmÌKMF¯í^\94\88\ 5Ôâo×Sl   \9e\1d\ 2\88póËÝý-nÿÁ\90}fSXÀèUîÅI\ 2yð«(  \87G.²{¹Â\1a+˵\88\94 m\85J\f¹ö\9cÓI©\8b0\81\9d¦\1a\19\99Ê\98CA\99Ì+\13¹ç\8d|NjeZ»\1cT\88f\0Ï\9bÚã$/5\9a*\80ôp¿Ì¿v\10N½S Ä\ 628\15æ\85\16u,\b\81IªØ\1a&\88¤L<C¼XïØ\95ÎI \18sªk/\à·Ö\16\1fºÝý~\1f1G"]nº\870G[\9b\ e3H5\v³·Ïv y2Õ\85·ub\ 5\8aUýri\81üó\89\8fg^j\91:ÚT¢\14\b.\8e\ 2Õ¶bÇù \ e\85\83\8fFBUau"\98ò«j\13®Õ/\99tHæ[\91ÇØż7\96ópb¶Vmö]ÐM)e3®Ð`{h:¯ÚíºÎïçè\95µ\84³âK¤ÙP\91rwÚ\89\¥)\b}÷Ð<ìÄ0Zæ\b]\ e\9cåNñû ×s\89g-\1e{-\9eù\84×ÅÂ+5DÝ\91ÍJx\@$;¾\128
\ 4d\87\ 1+w\9c±å\vÇÍ\9f\a9r\8aÂ{;E9qjT´\09¨î\17\92\9eô\8aö\80\99#\81%\19Ô\80ë u÷\84æÔ\1cý\8c\8açöè-\ 5\88x\9e\882   ø\0ó\ 6Õù\90\89x\vrüv\88Ë8ê\8dG¬ÛWH8;ô¶çG\r\8cbý@\90\8f£\92Cý¸s\1fÛ5=S\1d\8b\94\87ñy¿ûxæ,uoÆõdâJðÕè-sHe<V\80hu\7f<\88k\9b\8c>\ 3\ 6\13Åy\878øá\84\98 ìte\1a\83Ë\ 1r\9c*DË8Ûá\1fâuPÉ:A\eiÁÂLãÀD¢tR07\91àó\86OVùZs%\ei-_\a_õæ+W\94_\13`\ 1Ç\92Ûº\9f½\1aéìJ\ew¹VÝG\12a\92Zûů>v á!2\86¹\8a\17ú\9a\ e$Q\e\14\16\1d\1fÞîîDÙMõÆ\1f+ËR\97ÿÄåÉ©®Z\90,¾ÝÀã+f¥+°\f\11EøJªC\16êRÁ_Ì8ðÑ\85\9a\89ð\9fù¶ç´$Zr\13\81,\8aÊêо\14Ø\19\80¼¨\16#^~«\a2U/º\9dÝN \8b0(úZ\ 2\v\9f\rá±(1m²U'r\8ea\9ex\f¾©Øͤ²S¯,b*`\1f>\83µJÑ\f\82F×ãi\95\87/zEàYñßO ²J%O\9frí¤\14Ü\ fÞ²\99©Lr2wXñ'çwo.1ÿó\9cwàß9ÆzßSú\18Ë#úª2Ì-ð\9b]Î+×Å\99æÐ\17Ã"\8bÖÀ­Üåâ8½\80\8eâ\1fsÕ.±w-\85­êjØ£\8c8¨o]³\1eé¡\94i-\10¦Z\99\17ceÆ\ 4x\87\8d®\84"Z\88l%Ч\v&#'&Ý\8b\17¤\8f§\8c\8dà\84M\8c\9b%
-1\aâ×ìÕiÂ\1cá\93\81jz¯Ë÷è\92\87kôp\16J4\89\ 4ã9iV7XqYrîrT^Q\9e
-ôý\1aÍ¡*ùM\ 1TÃOLÛÁVÄÏ\ 1\9f\80\99ß\ f^x\b_ømÄ¿íø\ eß½\99\1c^\91Æè\ 5\93s\1a\8fúÑEßÍÊ\8b«ÛOWܤ\9f0\19àí,®0\1aX\94\84\9f=Á8¿%¼èa\82OÚÿ_\1e\87\17Ãè\ 2oenZ¾ìqP§ËÖ·Ö¿\ 1Í\83k\16endstream
-endobj
-1676 0 obj<</Type/Page/Parent 1479 0 R/Contents 1677 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1677 0 obj<</Filter/FlateDecode/Length 1670      >>stream
-x\ 1\95WmOÜF\10þί\98úK\ 1\vÇA"¥R\bAÊ[EÄEm%¤hÏÞ»Û`{\1dï:æò¡¿½ÏÌÚ\a5!UC$\12{vgæ\99g\9e\19\7fÝ\9bÐ\18?\13:\9dÒñ\9cÒbï|±7º\9cÑdB\8b\15ÞÌÏNi\91Ñ8\19\8fÇ´H÷Ï\eO~£kMÆÑ«OW×t³ÿÊ\16\85-éSiîèª6¥7å\9a®·Îëâæ        V®©*[{GÑ×Æzå¢\84>Ê?(U%-5-\95Ó\19á\1ag¾kw°ø²7¦xr\9cLá~ß®è\8b]:²5[À?\95M±Ôøß\8a*µÖòfiýæ\88T\99\91Bx®ReÉ\81¨rKÞ\14\9a*]\e\9bÑÖ6ÔªÒ'\9d\8fé<\99±\8fÅ\ 6\19á/ÂÑwª¨rM)\12ãû6¶¥ÚZO­mò\8c\9cö¤¨âLI²!SJ\96ðî\S\ 4¯¸Å8\81B,\11
-\9d\r2\vpt\16Ñs~;º\1cÓ³\80~<\9d\85à\88òJe¸\99â*øì/\8d-C\13K\1cqHñÅ|<;C¹ºW·qn
-ã_LÆÓYÿ\8cAÛ=\1e\a¯÷E\8f§ó\1d"!e¹\81ô7]oQ r\rp\1a\87\94¼íp\98Àß®\12âéÝ9W'S^\81"íƤ\e\98¢\+S;\7fs@­ñ\e$\85\8a\ e\95ó\84<\12NÄéÔ\96\99Ã=ô\ 2\mµ¾\ 5±º\13}ý.A\ e!$bJm\83Ú¤¶®uêóí\91PF\10[\19\84^j\8dÛ8vÔKÞÉÁ¨rÞV.Bt¹×õ\11\81Pºn\8d\ 3Ù=ç\vrP\945E±\8d\ 6á\ 6\87È7\9a\80Ù×È1àÂî\1ce¶üÕ\ag¸èf_¯\9f\93)P\ 2ö¤\1dpX\86¶b$,Ü1\81\vë\10:ÒeX\ 3ýAåVm\13\ e\ 2P¹³ThUº#x¶ÈU{\85beµ\ 1ê\0\1cèpßàá\1aôíÙS7¡Iº®Js£\ 5¸¢j\80\07C& \8e®U±T|C9pì*ksf<Þ!ò\90°B\9fת\8d\90«ItB¹Vß:\9b\82P\1aÛ\80\rÙ\11\95è©\0vÿöæà\b¤Ès\96\ 4\ 1\15¢À·Mb\86¡vCཱུ¿\f\88ð\17\1a\9c\ 5v\1a    \\ 1Éë´6\15\9cÕ¶\10\1cB¦L)        \108 ¶\ f\f\ 3nlZkÔ\87áÛìr t£Ê\14`Z\ 2\98\ 3@T*qsB¨;\92\7f³\12\8f=ä,1H¼\8c\1fx+l¦ó#\91¦>ò\1cU\12VfV\8e£ÉÙ\1f\1a\ 1õ\14\r\16¬\aÎaÑ)S\k\95m9ðB!ï\1f\96?0i\87wkë[\ e\9b\8dÓ\ 6½S2\ 1ÿ\9e\88ögfµ\ 2\16`G\97ÈÀ³¤\0ò9-­üc\11\8d÷ÕóѨmÛ\ 4´iîä6xMl½\1euW\7fΡ\9cIº6ìãá4ê\84é\#D-ðÄ\93\ 4?s\86\8eg\ 3âµ\957 s\vÖ\0\rt­À÷2³`Ô\ 3È/¤1úqò\87)3Û:êhÁÀ\f\15É6\1e\9a\ 6ÉBO\87óì\86Y¬rt¦\93\1egæmêFÜ\ e$¥wÇ\85íZÊ\99L\87©%\cìqç\0\öÐwÃNÕÀ]\1c!ÔÙ!_\84ä7¨4\ 4Æ®¼Æ \88cÊt\85\ 6à\9av\r\1e]]]Dè-~\ 4h²`e2jkã¡;\ 3¿ÑÕÛ÷Q¼\ 1\93 ÜÐi´\ f\b \10\88ãü!¢¢ñTÀv§ÃîÖT\82CPV\91\93µ¥Ì°.c,\vµ\87>Ù¶\86üë:"çÑõ?Ðznc\ 6±/¿-[U\87ÙÎûD_õH:èqÕ\19å¾ä¿/FÓw£?¯úÚ\8bh\ 1Ça\r\10É\1a\80\85i\85ÖnËÜ*Ù5\14\80×iS9¡3+\17\97(â'±c   í\ 2N ÃÉú{\ 4¤·!EzÃNé\10µ>\1c@ò°1\11ö³»Ñ\87×}¸     ñJf¼¬\ e\93dv<¥xz\9a\9cá7\96\9aß@\87u£jì;\1a\83\b\803\95ºb\97\84òvÕí=Î\93ñü\84O>:\88]\ 6²Ìª"eì\16:\10\1f$À5¡íÐ\f¼äìP
-M\ 2ÒɤG\98ØÔÚ2\f*v\19ó\92÷\94O Çã\84Ö\96éú\7fzJ×\10ÉÿNI¶ 0ºï»\8a\v&:ľ%ÆG¨ò\84a\9a      \18\ 5K\91ZB\1e¤ÖX\ e\9b\12Øv\96¦T¢H\1ds°QÊDg\ e
-1T\96¹bÉ´\13ýªjÌQt\19¯F}
\1a,l6%\9a"Ïy|\8a}§Ô\ 1\b\92ø¸k\162¡y·à\1cÑïE·Âçv\8dÕ7,Ö\11\a÷\19\ 6\7f­|\87üî\90\93\90üd[\85ÐãÏaø\1cèVß>\99qrÆ\ 4\v&lô\897IæÍ\93\16o1üÞ\<ùzÁë=¢êgÉ\93\86R[äÐ}>üÔîþ\v\95¹ÿ$y\14¾¢%:\83)jÊ\15V\ e\8f\ f\835WS\ 6\91Êo\ eØÏèò¬û¨\9aÌO\93ñÙ1ÍO§Éô\ 4\9b\7fýòÃùK\80e¿@\17é¦M\ 1
-\bmø,Z$\1c\89OÇb?9IN\12zÏk}h\8d>#A\ 1     :\96@ìoÌRA\85¯\99\9dÎ\92Óù\19¾êàòÙ\84\1f½^ì}Üû\aI\88u\9cendstream
-endobj
-1678 0 obj<</Type/Page/Parent 1479 0 R/Contents 1679 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 976 0 R>>endobj
-1679 0 obj<</Filter/FlateDecode/Length 1675      >>stream
-x\ 1µW]oÛ6\14}ϯ¸Ð\1e\9af\91\8e\9däeh×nË°vYã¢\eÖ¡ %Úb#\91*IÅu\7fýÎ¥$'M\8amÀÐ$Nb\99¼\9fç\9cK~8È(ÅwF\8b\9c¦s*\9a\834IñdÿëÕ\8f\aÙb\96d\94\9dÍ\93954\9dfI>¼«éêàéò`òÃ\8c²\8c\96kX\9a\9f.hY\ 6\ 3)-\8bÃ\9f¤\95¤\1c       Mò£·¢ðdÖÔìèû×\97W䤽\91ö\91£Vlä»Úlh­jIÞ\90ªëÎa½Ç»JÒÚØFxX)Ié¢îJ\89\7f¼lÜùãå{\ 4\90ÒYï?ÎgÉ\f\11\1cÒð¥ôÚxY¼»¸ÊÓ|A×\9dõ4KéÏ<\9f¼47\93<Móólz\9e\9d\9e§Sú6ÍÒô/\94#'ú¦\11öZz¥7ì"¥8K\93Óÿk9ÿj\96§_Íòì«Y>ùj\96ç\ f-ßEi\9cϹ\93Ë
-ÈÜ
-G?\9b\15]<£h\96FÇÔZ¥=ðe4E\9f£'¢Õ\8e:\80\96\11Ö
-\9aÇ\8c]z\ f\vãF¥á½0­\92\8cû\92V\0³,G\14MA\1fø\ 6Æ£[\88EI\92\f\vòy\ fà7\15\0¿®ÅÖ\91±ä*c}a\1aÀ\11FÁ)°ÂÊïxO\96̦9Åù"9Å_6\rÂ\18\rçZ4ÈC¬Ì\8dä\851\83x\9e¤ó\13^\15\bh¥¨ë\1d\82í´w\81i!\11däh%á\8c\8eZk
\9ccÆirfí·ð\7fDo\ f7\86\17øÊvagôêâ2zû\98@ZÄ\86Gà<þÛ{\1e\12\9dS\85¨\91\92\94pêº\82í¯;\ e¤\96â¦7*ûrò\9bRÞ¨BR\1c\93Z³ÅAQè½hh[±`\84Ê\8fûN|ÕÛ&Ó±Ú\f\ 6ÿ`x\1aÚÂeâlY\9dV¨.\12D{ùißH{\1cÞD¡¿¡B\11mÑJr>ü®Ì6,X«M\87\90 kÁ4¤
-\8fÑ;Ø\1e\8b\8e\87Îx`nh"94\89õ\8dø3\ 6\97CiµAëåG\ 5è(\8f \fmÔM/\85+ã°\99*µá*\acì/Ô\9a\8aZÚkô\0û]׶Èê~ùÙÓÆ\9a®uûOöÑaW#\85\ 6\10\f\ 1\19 \0
\ 5):k¥ö´\12µÐh\ 5lD\bµ\8c»6"Ý5+D\82üÇe!¨\87¹÷Ô©ú\ eóvêZ:;\e\81Ð\17pÈèN¡W\12ýé§\82\93 \13S*t\bUÈ0¨Ò¡ÛC½?G¹è\9döX.¥VL\88Ðö\95,\ 4\82à¸\ 5\8f\1dP\14é\fîK#\9d~äi#1tBQ\80.@\94¤µH¾\ 1`\99õkk\9a0ÉÆd\a\8c\19Fiß\95¨¨\15J\17\87\8d±6>nÑ@\85\84¢Àøø\ 1}\9f\86¢\ 3\95øá⯤óäv\ eãnl\bà6ÔºÞ%ô\ 4\ 5a\87¨\13^U\87ÀT\ 3ÚÞÈ\ 6\9e\1duºD4`\91¬MË\8fÂÐ|à÷\16ç̤Ð\80\r\ 6±\ 6\188\8ch%\8akÔßEÀ'\1e t^Ô×T*+\v\ fî\ eë\ 6ò\846\ 5#\18Ø\0\13/g$±Ò\ 4!Ùéâ^Õ¶
-ÌåE8%t\10\88\a    b\ 5@ïÀz°\8b×Ý2=8\82\10\ 6k\9c7-;Ù{DFo\1f\8fîöx\1f\98\186\ 3e Q       \14PcPÆ\9e\8e7}\ e)D³\ 2 \83T`á¸{à[ rOc\84¢ô\87\ eõá@\148#\8a^i#\ eN\947L¦\a\aûÎ@3\ 6\90\19\98 ®\8c\ 2Æ\f&O(íChý\8a8n\95\10ÊÅ`\ 6\11¸^a.Ü\ 1Ë1]Pi\98\f×\1a\8a'ônðÌ
\8b½\89\99E\1e\18\17\15íL7æ4Ð\ 1I×%Z¯\9d\ 2\12ï\ fº?LG\ 5ô«4[]\en!¢(-ôÎ\86ã ëiVyß\9eO&Ûí6) ^\89±\9bÉ8\8d\92Ê7uB\17@\16\93­\b\16\90Ýó\14fïÅ\15R]14GC½C\b¿ØlX)\1cEaQ\96à{No\94F\94\8e^.'ùõä÷Kº\fg\ 5\86\rWO^<}Â\14\116Ù|:¾ç2;Ë¡ÏQBK$É\87]\9eÑ\fÚ}öÈ â\ 4c\f\86\95@\ fÙsÒ[þ×-Î%à\90°ñ¤Ó\9fT\e·LWå{ Z°\1cÔy\98+ûúÇÓò­ÏDi ¢®ÇÐoϽwÖÔ\18ÉÚí+úÅ5\8c\90æß\964Ãéäó\13ö\1dO.Lª/\1eßX\840OX#¥Æ%"t»D%\ 6!y~u       ­öbü\bç¨áüBÑóË\17C\e\8eÆ\84\83f\1d%VrL\ 3ö ©c\1d\ 64;\88\11\8e/|\16(¬jýñ\0ýÐ\97\8f\12\8cé·\87=%ÐS(\7fÅ\8d\92uPBà]\0e6\16¶¨\0uÌì0×:èµÂ\vdñA¼Y\7f9\0¾ã\8c\97¬x<ËL:g'®B\8c\13.ؤg\8d\9bô\eÆ[Ù!3ã\8eI\9e\12Ó>½áút:\98Îæ\8b$=\9dÒ|\81Á:ã\9bÜa\ fçKkÞCåé\99):\9e Â+£Ù\v\ e\94ý\96x\91â
-V\1ef'ÉIB¿¨FñÕ)pùö\80À#\ 6ó(\1cr\98òAáÙÌ\fwÌÅü\14\17H\988ËùÑóåÁo\a\7f\ 3ìì\87\89endstream
-endobj
-1680 0 obj<</Type/Page/Parent 1479 0 R/Contents 1681 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<</I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R>>>>>>endobj
-1681 0 obj<</Filter/FlateDecode/Length 1901      >>stream
-x\ 1\8dWkO#Ç\12ýί(\8d®´\10áñ\v\eC¤{Å®!Y%\vDö½D
-ùÐ3ÓÆ\1dÆÓNw\ f\8eÿý=ÕÝcÆfÙDH\bfzêqê\9cªê?\8fúÔÃO\9fÎ\a4\1cS¾:ú\93úçé <å?úé\84ÆÃ!~ãe÷s\7fDSM¿|õØht\96öÿþØp4\84Ý¿µ6ì÷þ\89ÓÁhôO\9c^\fÓ\8b}\9f\1fçGÝ\9b\1e]Ð|\81\13üQP/íõz4Ï\8f\89(¯×¶0/&-ÊòdþÇQ\8f:>¤yѼ­ÕûïÒe¹æ¯º7gÔï³\93Á \1dôúÔ\19\9c§gÃ\ 1¼\1d_Íç×·óÏw·\97\92\9c&AYýDº\92ôé¿÷32²\94ÂJZ×Î\92[J
-\16Q0oñ\98C|ëè\98T\ 5[\ag»µ5]»\14Fv\v£^¤±Ýýø8?®\f\ 2S\95uR\14¤\17ß°ÂÎß1u\9cÒ\ÓF\9bg\12F×U\81à\95=¥\¯·Ý\95~A®Hf¡JIbá¤!SW\95ª\9eø1\aÕiÅ\92¤]öÔ±b\95\89\94#\13e\99\90Í\8dZ;Z\89ªÆÿ[\ 6\8fm\1aõ´t´.E./\e\0b\89;\83³ô\8c³Cm¹¼kú
-$\r¢íwßH\14q\ e&éd<b»säH\95Ü\84ÚÝkëf!È\807ám^\e#+\87x3U      ³íèªÜ\9e¢è\8e\16FJª4Y]\9b\\ 2ªBò\17k£_T!\vz<ÞJ÷x\ 2d\ 3F-\88\fH¢+>Í0_\92\14\962)+*ä\8b\1a\ 66Ê-=FKY®¹´\8c×\17\95\emõÂÑÔ\93\82¦ñ¼¡\9f`æñx:ýéñ\84DU0\9a-\9f¹^­Q¿höÕÌÿ\94EAhæêBi\1a§ôÙq`\95v\94\83̦)TĤ    ÏXR>¢-\18\ 3V\94¥ÞÀ¸Ó\an\ve\9dQÀ+Ph³ÔàPÌ¥\8d\1cÒ¿a@gHm\ 3\8b\b\83`ý)§½\ 5\18eI¥z\96(E£2Æ#)Ôb\91@@\a~Û¶ÁgP\96Oÿpÿó)
-\ 6\99.Ø* \16°\9bË
-²E\ûp\0\ 6¤Á\7f\86D3Ä\1f²l\93>¢K\vmh©VÝ%ä*ËE\1a£\1a\8c\ 3\93ï*0e«k\94\e\9a\82\88|TQ#\8dD\1e\8fÙíZ[«2d»S\fë\90\85\89¤\eÖ'A\93oPOZJÙSCòxâ\ 1¥W\8a\83\8c@\ 2rDvè[¡\17ÍX¼\1f,ý¶6èMÿú\9d|#\ 2½6K\95/\ 1\94\ 3UWb\r\ 6\1fV<éJ\97w½úwÝ&aBB"\95\13H\16\90Ú:+\14jÂ%÷Exø|{Öó§\1e\86\83_'cÊ\8c¨ò¥´\1cp\86\9a\87\86Ãx¶q÷H\88¢°«,At\16æD\89\ 2'@Í\ f\84æ\1d\17Æ·è~\8a\9f1ëò·©®>@ÇÚ<IÇ\0pöF\83ø¾\1d\ 3èCN­²µ°vS\ 4Ô_£¢\ 4þÃ+4º¥®ËÂW9\14\18j
-´GkÈeQC.\1c\r\17\8c\85\92éïÄä8ðÈgb¥¸ù\ 29|¬\ 2köK\13eÂïÛ\ 5-ô¦*µà~Ä\15\88\7f\b\9e\8d?\ 4á´!½\9dw\aÏÝ_ï!\7f\85Ögw\1c¾H\a¡oÞÞͯ©\7fÉ\1fÓÅ_Ý/×ÍQL\10FÔÏ\91ؽ\90|H ¥\9b\904t\ 6\ 5|(È:Öt%}Û \1aÏßB~5½ûxý]ú]4\ 2\0¸ÃÊ\17¥k[n}h\1cû`?¶Áe«\8ba\82®xT¡]±_è.8æô\ fÌûºZtv½Úy9¨HDP8¥AäX\8a÷åF`¹Ì\9d6[?\aü´aA\ 6Z\82±ÞWÃÉ\ 3_¾ç\89Úé\15Üå~jF\94(ÁØ\92Öqãóó\15\18F\9e4\12E\aò\80Æ1\13\17\94p\b¢z§ªÃK\9aíøk|\85#\rBËZbÉ`à4\18¾\ 3/R\13üò\98\16\1a\9däÍ4µ\9c\\9bg»ÈcC\8aLmóÔ£ÜL\8bo\fj\96\13È\b²[ÚÑ\97Ñ;\0t!TI\ 2\92gÙí\10\88½ùuîÉJ×O\18½h#\ 5\16:'\13\9f\98o\85\18$èÏa¹ÛS¦/V`\16Ò\7f\96Øu¢Æ\1a\0Y\80FvPB\bqq\10\1a\ f\ 5g|\1fÆ\99\88MÛ­ß$4\8b\9b·'îXFù\85ï\15ó½x°_ð\9bèü\94°Rø'\a~\93{nð\98V\18%(ªOo7z^\94 dæ\84qÔéü\9bfÒ9(Éú\7f\99\e]Ò½¨dé\9fì,qËö{]\aÞóg¬ÇaÙ;d@t\98\89üù)l\9d\f\11æ&\14\ 3¿Ò`üÓ½AäÆ)i\93\94®¼\80
-%J\8d­\e\19Ùï\9bó\9cl2\r\8b2ê%²ïá\97!8H¸ÄBÒþ&\82ÆøoDåç@(z\18Y1\ 1\8fe2\8dlÀ:ãt\95\82       ~\85ô¥çÅ0t¾°\17q£ö\9coí`¼-\ 2@l\10\r\97J\89M.ÌTð\82i\ 5\ 1¸Êë\12ËW\8c®Óñó¤é\95;Z\82\v\8d)\8b\ e\1a6òà¶-µh¥éV»B5%\ fzx<\89P½vÓý}ÅÖy.­]ÔÌÀÖdaèýl}#zÖ\90\88\1c<õ)ä\98ËØ~\15,X\8c\bì\12Èá D\11\1cÞ-\0\b&\b߯ &??eÁYB\81\85ä+E\ 61ÉÒÊ\8dïwM\86~}¡\1fï\1eæwôI\97L(ôkÐBS¾\14ÕÓ!)D\ 34w\12\8eð/°\84ýÄP i]\b'áBøÀåâ\99Ë\10\92\v\85\8b_\1c}àã;¨|­_aEÂu\ 3K:Ìñ\1eíM^q/=@'\14Óþ\87\1fwo&ñjÙ\1f\9f§½É\90Æçãt8\99ðõfvõåã\15ëç\ fÖÓTçõ
-óÜ÷Tþ¶Ó|Ò9ïñ]ú¸?JG)ý¬VʧÎ)Uõ*\83\ 6±\17¯Å\13è  \8ebñç\1az`ØÌÙùYz>\9eàJ\ e\13\17C~t=?úåèÿ+\8fH\10endstream
-endobj
-1682 0 obj<</Type/Page/Parent 1479 0 R/Contents 1683 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1683 0 obj<</Filter/FlateDecode/Length 2148      >>stream
-x\ 1­Xïo\e¹\11ýî¿b*à\0ÙðÊ\96äHvû¡\88c·ÍÕΩ°\82Þ\a\ 1\ 5µKI\8cwÉÍrײú×÷Í\90\15û\8a\1e\8aÃ%\88\8f7oÞ\fõýhHçøoHÓ\11\8d'\94\16\83s\1a\8fÇøóâr\8a?Gø¿Ò´:º\9e\1f\9dýå\82\86C\9a¯øìärJó\8cpþü\9cæiß:Ú(ïsM[So¨Þhú\98¹¥¦Û¯w\1f\8fçßp;\8d·\93éà\92\1dϳþb4\99Rø¶µ-_&Ãñ`Ä\aÞ0û½Ñ¾6ÎRo»Ñ\88-sô\99Öº\ e>o~¹¾=\19\9cPV\99']ÑÊäÚÓªrÅ\9f{¿?\8a\97l\82YO\8b~¦Km3c×\84Pø@Y\19[ÃålvC@Â¥FÕ:ÛÃQ,\8eÉ­jm©ljR4ûù\8e6Ze¸a,\87\96\9cÓ>m\ 4lk\1c\17éC\963çë\87´2eM¥ªöß\89\12\9bÆË\rÎ\9a|\8ds>ø\8f¹«X\81þðú5èý\9f\92áh|ñá×\1e¹\8a¿êÄrxWûT\95úÝûÆú\1aiqð½\9fþ0{è-\8e\a\18O9>F|NBüôuö@\99Ò\ 5ÐSMíê]ÉX2\90ªBíø\1f\9cÆA0Ê\ 3:I:©`n'gNɺ\1a4ýÞ\18Ô`Í'P\0ت\1a1Ø+}íJßãÃ\! åÈ\97Z=RÁØÖ:ÝX\93ªü\94LM\88\14æØo·"\95^«*C=\11\ 1\a¹ÖVW&¥ûÏ÷·\84à5õTYæ°ÂÜ<+Q./åê\9dÒ\92\v\1e®\89\ 6\97»\aI¾²\94\1f<Ù,é\98\\1c\9fÒvcRé³J¯8   \95\1aâR­ñq\9aºÆÖ\fK Y·²gOª:ËÝú\8c\9d\9cñù\7fá_½\bgªC\198]ý¬Ò\9a\8a¦X\ 2?\94\96Ïú?Ád(6\1fÉ\9a¢ØÉ\17dåÜAVL\88a\8fá\85\8f5\904¨<³Ôf@\96¼®\9brqÌ\97\ e¥âj4¸ømµ8ÿ0\98ð  \8e#ÈNì\7fhR¨±+¹.B¿^a|\92:»2ë¦Ò=)g§½¤²ÒºË\1dóaÑÏÍ#ÚI×\ 1E¡F\aEcU\ 6©A¯ç;fwï\17¸*Ì¿¡\9a®¢\87\f\1ch\91b\14^\1d\98¹ªVK\93\9bz\87c¡ª(Y\9eI1að\0Fi\9c¥æ\826V-ÑèðYV.Õ ¼©ßFp4ù/\b\8e¯^\0\14\ f\1d@"\94®©Y¹¼\862\ 1\99\7f\1a\9b¹­§47øD\80eôå²×\15\8bïÖä9a\ 4¬\eU)h#j\1eÒé6\16¾çþO¸\87¤»þ\97ÎbÅ\ 3êÜî\fȾã%\8a¶í\ f\0\8c"\0Ú  \11Ã=MPÙJ\83ã\81»{\8e3K9¯¶9¤¨\9d¦b3ß\eWCs\9a
--ªý[\fþ\7fàï\9b²\ 4W\82\8e 
-aö¬He\99anCPÂ4h©\8e"qä(\14}\99\9f\8d\1eÏ~\9dql]ðcñNÉ7\10\13ô\8aUE\vH¨dÛ\9eKe!x¡ïÑ\12`6ÛN\e(k\81      ¨=ll\84¶ø|ÇUgÆ«<×Ù\ 1þ*Ljô\88f\94#»À%\9b;\95±´5±\98\91M=Æ>ÉÕRç\18OÒÇp\16ÛQÑ7·L\90¸«ÐA\84r\1c¸k\ fr¸>Ýè¬AHÔz\17Ä8ãE\7f¿·\ 4\17ÜV\11ò.Ä\8d׫&§Ï³\19;&U×\95\81¾\87²¿R\ 5\ 1hÕÔÐ\18\8cÀ·Xña4¸üM]\9bìEí\9d\9e|Å    cÓ\1cÐa \ 2VN×ê-õNXÛ\7fv˹I\1f\ 3Ï\8bB\1a6Ôá\0­¥^\ek\r\96\9a`¢#\ 3²T\0&\99;A¡Peà!JÎþB²¡CÐù\1ele;K\8cÊ\95\91\89§\9f±\0q\88Ò%\1d¸â\ e\158g2\1d\86fð%2Â\13>3\1eh\ 2t»#\a\87\15uFn\98°hÀ ;a^³~\83Õê Ë\88\ 1³\85¼)JH\88Y[\9e¢, oÖª\15Èw7Ö¶\98\fÄ;Õjõ\90\8f`õ{ÙâÀ(\84°\ 21y.Êm&XèNÁ3ªíA\1em[3WQ\8bJcÅâzx\a<\17}L\85%&\ 4º"wví\ 1kऩ|M×\1a\9a\15o\88\vq;\1c\8cÞ\ 1 ÝÈ;\0\10\8f\80\15%£ËÁð\8a\92\8bi\18"CLã\ 1æð\93²)¢a\ e\85]\88f¼#s»ñFN÷\ fí\14      ÝÑ>\ 1À\8bQ4u\17÷úvÚ|\8aÓ\ 6´ã\1dúe)\8e2\ 2 2\9dËê_:Ð%úÅÇ\fºWÅ2®\8f\10\10\99Q\8bþ7h\18É\88\a¯\ e\0¾3¶yÆJL_­y¦à\9c¶"s²oq\18\9d X2 Ì\\ eq'.ÂDæ\9câ\10¾WX'ø{1ºW ß,ý\ eëTÁ×\ 3ó\1f$^6\19T\9f\15\a\8b\vo\eb\0\1dïD¯;1p\9b¶Óø \e\8bÝô)>T¸ä\ 5$ ö9Þ
\84\92`tÅï\9b\90%X5ûtGfE;×à\85\87ëÊÒßfíÉ\1f\92ûâ¶íiÅ[éªR\ 6\80lDm°û\ 5³\82y¡a*h½¢\93¿\86\85ú¤\8bg,*ïQ\8cW\9c\1aovöp9zàfÖÏg7\rÿ\85\18é\90\9bSiu<&K<]`¬R;J7ΤQh89+ûÉ&à\8f¼ÛÝ
-\ 3\84\9a2ÎVT\0\93NF\ 5\ 1¾\1c#\86T\ eÁ\ 1        PB_s-\01ìcv\86\a¢ÿcÂ÷\86\83\8bñH\88~\89¿±»~\81Â\95\ e\8b\fïta\18Uj?Ú}é\Î\9d\138"ú)\93|28\9f|àû×XÎ\90Ü
-\19£åãd@ûa\r\90Ön¥\e\9cõÔÃ+UÞC\81+\19\1eu\98c\90%\94\ fô\ 3ÉêÊå\82º\84\1dç.\9eÒ?¼\ f;Üã´­³Iç£L?\ 1e Â\1d6\18\88¶&?ä\1e\ 4sv\83s ÍÖU\8f\9cêK6\90³V\ 1Z\12l7\8e\87O\÷»\1eååÏ\14\8e´á1È\ e\ eªõÃ\95®ÐÊÆôwlLüzmE'\15¾JïJ\93\82\19 \ 6W\9d\e34½©XK8z\ 6ã\r·2\ 48p¾\87\8d\13\8f,\14\89\r´{\e\f\15­D,úh¿ä\94n\1f>\9dÍ\12\97°\13ü¢\109\ 5Ú\85Þôñ\19¬3Aº£:\9fC\v\88s¨r\9cCè¬\8faP\8b&ðÊ\ 5\16àå¸_\929\9fÎâ\8b»a3\ eµÛ+ñ\ 1ʱ\85Ñùìl\89\9fnbã¡>KìpÜ\8d\eàÊß\86\97\e\96Éý\bº\8c?X\f'ø1êr\8c_\9dÆ\83é\98Ùþðñþú#æ\89ûÆKû\8dK\eÞjäñÍ\11\8ddz~Åç\7fßLº\98^\f¦\93ËðcÕÕ\ 5\9d\1fýãè?\80\1f1\90endstream
-endobj
-1684 0 obj<</Type/Page/Parent 1479 0 R/Contents 1685 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
-1685 0 obj<</Filter/FlateDecode/Length 1692      >>stream
-x\ 1\9dWkoÛF\10ü®_±`\vÔ\ 1,êiÉ6P\14v\#.\9aD±e¤EÝ\ f'òh2:ò\98»£\15ýûÎÞ\91\89Â&ER\ 4\ e\1e»3³³Ë÷\83   \8dñoBË)Í\16\94\94\83÷4YÆÓð\94?LâSZÌÎð?~\1cÝL\16t¥éÍ`\1c\8fi~¶\8c\974?]âó\14\7fFR6¸\\ fF×s\9aLh\9dá\94Åé\92Ö)aùxLëäè&£½nh'*GNS)¶\92\.)5Å\934\96R½«\94\16©Ø(\9c¦\8dÿ1Q\85¬\9cåÏ\15EIS[\91¦¶ÜDTX>ÎPf°"\8déÆÑ®P\8a¬tMýlýn0¦ád\864Öé\11_óWm\8aÊýø7Ù\ \]ùóïD¹\11\94këcÚHd"Ò=Çg¥y
-\ 1v1pL\82¢Zã\1c\12UJþĨM\80\8aÊ:¡\94p\85®b\ e`:\8d§ã      \r§Ëøtæãx\9b\vGÖ!\90GK\1c\85pN$¹L\7fáõÃnÃ\fÈO\81bz´Î%¯Â\9fÕ¥\8cé²qÇô\b¼Bô6\97ÒÐóÕ=Õz\87O\8co"*Ú4{ªô\ eXîí1çiex\8e¼\81u\82³H
-[¨}L¸¢\87V\eàyûxº\88ç\1cË[©Ô1\15\99Çíùýên\14À³E*\ 3ô¹`ÄtÀ%p\íÃ7&\98\11Eæ`\1eO\e|Cl\1cqmô\ 6¤ïÃ!\95\94i/ Ï\86£¦\ 6üV&\1aÐ{v\f=\1cíò"É}r©&Ñ8]\82\80\84XH´\11JT  _¹+\îãÎ
-\ 3ªu%\8f©V\rH T>\1a  \2ÊD¡\86\8cOïúR&¹¨
-[><\8bé¹®°Âñ¡¬ª¢\ 2\98üe\ 5    Ý%¦¨\1d½Ó\ed\16A%ÒÔFòÚ\88\17\97\95®\86\a\8b½\86\18\8aÞ¥¢Ô\8d\17¾ö÷ì´Ùr\8cÐßíÍ*Bâ·Ââ|º)Å£¤\95Ñ\89´V\9b\87g¨£\8aã\82b2·\83t\98b\14\8b\91ï\9bÂHK¥\86\9cX3\90pïÒÛ\8b\97¸\r\ 2êʯdùEFìÈÖZ«\90\89°ÛPzIc\fª\13d ä¸ ­VÌ°/F\94\ 2°­Q\9b¶+6ñ$\fGûï\8bk)¶A(\8c¥'\8fÑmY¶¹n\14èÄNö\ 6È\ 11¦Jú*\e]\9fÁ·\82å\fgó ÕÉI¼\8cé\ 2r\18^I\ 5
-Pî@\8fU\e2¡¬PÒrú\87\96Å¥º`­\ae{nÂJª\85e\172\r¹\9d¦ÈÃ\81Ò\a¢\89Ó° \eÓkàþ\99&º_÷,y$\8e\14öä\8f>\ 6\81@\8däã9¨ê±ÀgDµ\80b\7f¦\11 \eùËF\96­ª»\12\16À\1cóÒ`l\90\10¬\rÁ´©F0É\18¥\92E¬Ú»P5 ÈÃÊ\~\8c}ß»\1e8yc½\7fuóG[ʶÙØ=äVÆt\r\13ô0\16\8e\19¯´)Áô\9e¢\83HÙ¦GÑ1      ®yÇIó­ü4õ!µW#\87ÞÕÑ-D*­»ÕÚ\1d¦Î[#Ï6L½ó£\e\12\87ü\1a\83r\ eFÀÚï\12èà\a\95²\ eÉ{â\91\87Ñ%öÀ\8fÙ\82¬ØÃÚ|F%÷\ 2Ul%\92â°=_½8ka\?\1c\ 6\86×{pxA0·RÀ×Ú\96\a:l£\9c7ÖÑõ\98ÎZÕN[Õ\12Qî\}>\1a)\9d\bÅ]é|1\9b0óqîJõÃ
-õËmé7½¹fý\1e\18}\1aÊý\9e3^\14\16ÚÝÿ\9fS^\8a\ f\bâ\v\ 5äËgý±m1"Ð\0{ :¼´pÈ\rê\80ýÅ\8bÌ£\95
-Yꪣ0ñÅ®Ð\87¹Òa¯5
-\18{`«m-2é\e\89#{´¤\ê2í3\13\1dÀÖ¥ü§´\11\r\87­.¸¹":\87\ 6\0³Ê¼\83syyÉþ\ 4Ë,ÐrÐkÐ\ 1Y%\9fÄ\14%\93él~\12õÝ;<_D$]\12·Q·åzàA\9d@¡½ ^nad\8b²PÂø|QA\8c Vé0\136Gm\ 3\88Ë»«áï««^ò\10\973(k¯o®yïúlÊ(A\0\19ù\94q ·¼L@\87ÿ\85S\90×ç(q$\9fHÀ·ÒJõ\ 4\15~\13RéW\90òÏ¿\19©8\8e¿\94Û+\1d±Ûp\84AQ_É°\95-\9d\8cÇ\9e\9d1ÐÀ\8eÚb\18\ e\87¢l`1M¹A£íd\81þ\88é\ fmq+Ñë\91z     ñ\1a\fR¯«Äû\7f\8f\97ÞvÌ\97\18øÂ\r
-LÃ&Z\86á{=µ#¶\8f\13\8d7Ùº1ÜE2ö.Þ\15L9LZÛ¾\99\1a\8dU]#¯ä\8e§\1etfÌ\10P1²á\ 3\98\12« w?d:\9e ¹gs\eæq\17ý$LÁ¡×ð1,\ 1?iûiù\1dZΧ\92ë\ 6î»Pòþ\8e\ eGhp\f¬-÷pÎ\1fÙeMå\e\96P\85\v£h§ÍÎ4¸Ç\8cûB}8\98\8b\85²(\9a4-¸ñ   ?þ\a³áÌ£\96ï\954÷0Nh\ 4u|ðpů\ 4xîUÕòÖµ\17ös\89Qo\8fHyØÓäg0. ªÂl\96È48<\ f¬üs\98~s\1e\16ÛúüiûF4YàmétF\8b\ 5ìþdæÇ\8c\8b\97\97\17<¼1\8ax»J\9a\12ó\94\7f\83àh\86Ý\96ár\8c^\91\1e}ÇX3_Îãåâ\14\90cßÙ        \1f÷ëzðfð\ fê\14\83®endstream
-endobj
-1686 0 obj<</Type/Page/Parent 1479 0 R/Contents 1687 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1687 0 obj<</Filter/FlateDecode/Length 941       >>stream
-x\ 1uUmoÛ6\10þî_qÐ\164\ 6,Y\92ßWìCÚ,@\81mM\11ïÃ\0£(%Ò6\e\89TDÊ\9e\87ýø='Ùµël\b\1c\8b\14ywÏË\9d_z      ÅøKh\96ÒhJyÙ{¡d\16¥Ý.?$Ñ\9c¦É<\8aùåðC2¡{K\9fz16F³E\94Ðx>Ãs\8aO­hÝ{·ì\r\1fÆ\94$´\ãòx\94Òt>\89&Ó9-%áZ\1cÓ2¿\15ô$ÊL\84®Ì$í·:ß\92v\94Û²Ò\85\92$6B\eç)(t\967\95\vhuû~«òg²\86~Õ¦ù\8b²\ 3Õ\8d1ÚlpJJúÒEá\80_\82U¿¿üÚ\8b)L¦Q<\9d õeÆ(·fMNyÏ·í\9a\82ªÖ¦]üLmº×·\8dõ[U\9f«þ\9f\18¹¨è"F\1aG³é\82Ât\11¥]\19¿[¯\ 6ä·Â\936øfÔÂ)\12EA]\8aR\98\ 6«\ 3\17H§ÂÂZ\15Â\83\19P\84\ 3Ò\81\90B?«cé§í`pª|\ 4í\80:(ª\97óK0UÕå÷ëJ4H\7f\f\e\90­ÛCÊ5åywÕ'\ 1uõÆØZÉ«\14¨\ 68\14êÝÚ¦\90\843e[ÿVì\14VÀ¹.\1aer\ 5¡\85\ f\9d\rÕ\ eTBÉ\83mêo\10#\8e\e¦i\94Æ       \18\9bEsx\a\10>¬ù\1cí\85ñä-Iˬ\99\8d£\13Q\ 38¯*\ 4â£\8c×Z²S.\ 5Î\9c\f"ZnÕ1ÿ)\fó}\ 5í\eÙ¥8ÐÞÖÏ`\9dQ\997(E9Ö\83\15\aÄ,\88+5à\84¢¢PÒÍ#ݸ·\ 4êo`e\ e\ 6\14L\ 6#»Êi\94\92-\15po:\8dÆLÁ\9fÀ¿¶õƶ\f\94
-^\ 5{\8cöý\1f\8fO\ 46\1do Ø\eÈÔ8Ð\13Ñ\917©eë¤#iMEÂ\91T.¯u\86ú[\13\92*±QîÚ@HÒejû\95\emAk4©;é\9d)\84+\14È\88è#\8e×{\rCißâÄKAY\83r>^\14ì´D\13°ª9ò¢\e}m\8b+\1e\18]¦À¶f\93|W³ÈìN]st\84Û\9a®\84Má+\9b\15ªt\ 3ª,F    Ç³\8d¯\1aÏ\1d\8fÕÙõî'Î=|\88iÁS\8b\89\1f\13Ñ\ 6æ¢pG\9f\7f ¡òù\90çCûOv#à\9fó\89\1fO\10b\fMÈö\1f·\1dO½!\86ÔëËt\8e\14|~\et%\9d&ik\ 6\8e¹º\15RT\18\fÂo\1dÓÂ~QrÕo-}\81\89\9c0Úë¿»®è\14c\93æL\0\87*+\7f B\e¨Éﺧ½öÛ\13\92ã\18áF\80ë\98ËÚî´ä¹É\ 1\ 2#\9ea¢ã(\85·a'Áä\12¹GË\1eZ\95\86\ fóÓ\ fÂ\14?\16ó\11\8d\92E\14OÀ¶¼}ºûíÝ\1d=Öö«Â\95{\9b\18/Øá\\ 4&xw%\9cÅíùd\12Í"ºk¼\rïÙvl|\bÚ6Â\85;ùîx6Æø\9dCPäYLyë\97eïSï_?\b-\93endstream
-endobj
-1688 0 obj<</Type/Page/Parent 1479 0 R/Contents 1689 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1689 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^¯ùèçÍÙ¯g\7f\ 1ìÇÍ\17endstream
-endobj
-1690 0 obj<</Type/Page/Parent 1479 0 R/Contents 1691 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1691 0 obj<</Filter/FlateDecode/Length 1670      >>stream
-x\ 1\85WÁrÓH\10½ç+º8\85ªÄ±\13ã\98£!K-\87\84,q
-\ 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ÀÓ)­ÓÓG¯\9c'k¨.\14=Þ}ýI\15§\856\8aR\ e\ f\r5^ÑÝZþrÄ&£ÜÙfK\86\89½\1cÜSk\9b2\vo¾3\ë\9dz\17/\voMÞ¯\7f\9dLé|v\85ôÖÙéZNÈõia[C\e]â&oq\13×ñ:\ 6\bøHe\94ì%vf+Ö!\13\91Ú)C¥Íñ¬\96s£Ô%K×\98QX\8e)ý<ÿ¡Mf[òÊ{\8dÊQ\ 3\1fGèÓ½\\0å\98.\0*÷d\93\9d\8d'\1c×)ª\f¨!eÜ\97à\19iO\89Ò&\17\1cÂÿBAoâVó³
-yo¬«FyÞ|»]}½{z\1a\ eö\ f\ 2ð\13Z\17\b\84ßF¥¨\80Ý^*Ð5qYÚÖ\ fÙ\0\98LÕÊUÒÌ\90\89S\99v*\8d\89[âQÜ\ eäÔ\9aÚÙ²D·\11¤eS£\18¤  \90¶ìj\9d6%;\80o\9fÁ\ 2Aº-tZPí\1a/ov·\fX8µQN\99Tec\WY¦%\17ä½?\eÒÞ:»Ó\99P\v\9diÐZ\83\90\11l\10p§Ó®\98\ 2    H+ºþß\97M\9esR*Z½84ªñÖf\8d°íéô~uûô\9eü\1eIWB¢.î8æN3
-?P\10o²Ù\13N\932\12/#ÞnË.E\1f»3
-\9aò\96\13]êz\ f\96\97;\84\17Æ" \8eWd7Ȥ\85³Fÿ#ìÙ²÷­u\99°©n\15\98\1e³\84F4p\94>\1f½#RñµEo\ 1Æ«\9eâD\ eLJÛAøtÚIýU³\9fÞ\87þ\|ùH3Ð^¼â\1cÎ\14\140[L®&3ÔÆ.W5=B9RⱯ\9c_\8a¯\9c\1e\ e/\v>5$\9b\vm\94êñ¨à\1dJ1¤þÖ¾\96²\81qÂ"\9c\9eAfãØ\83ViÝ ÆÐé\8e\8f\11Ä­ö  ºØ =q1\0øìë. È+Ü\81ÓM\ 6\9eµ\1a0\ 6ÉH7`q£\1cE=ÛÒîÃuãhÇ\97·º.,¢ )\ 3I\88WÕâW\8c°Ð\fר4Mmcj\94q\U'æÜ)®a0^W ÒFG\86\8c\82r\ 6%\ 3+\\a\7f%\8br
\99ð'f*Ñ_×\1ep\v\f\8eè\1e\97ùJ\91Æ\ 2\vè\1e\9aw*¶¥å½\10+"ß*ôk\v\v\19`D¹\89\1a\f/Xi
-É:\16\8e:t~\13s\8aÁ\83T\18$ö}è~&¬DDá\93H\8f^\8e2\1c\82Ël\1d²
-m\84\ 5\80C\96nuꬷ\9bºã\8d\81Z¤1\14Z\8b¬\82\1dàE\18éQ¾#Xû@^q\ 5g\b\96¢r\ 1\19JAö"Õ!íÈBy\14Iz\90\fØ\1f%3\1f$3\9fÐ\9f\183½$~Hn\12|$\9bÉ¢\1f2m7G:S\82\85Â\au.c\901saµLi©\ 1ïE¤3\1ecV×è\a\14\15t\ e\ e\19p!\86úÐMþS \12¦Tö2\85SÊXU(µ\ 4µ\94         \1e\8dj|Ð\8dÍN\95ަϰ\80\96\88%sÁ©ß\rÈ\12zÂÎ\81\9cBk\91Ôð\89\98\8c\12)\84\99.\10Þ=<\84ÎÂKG=\89\bÈÄ&eÌá\98\978\98\ 62/zú\1cÏhàP\18+[\ 1ø\81\9egB\12Q\94ªp¬¯\1f\98¡{ʧN'x\ 5ÔÆ\94d]\82Æ\18\9f\87\86¾á\81sñÀ\ 3ë¾\ 37(û^\12ÌÄ¢>#³·:,ýý\ 6¹\ 6.\95ð4Ú¨\96ö\8a\9d?#µ\ 1\86\0/øa"n\8fF+'²Ãî³c\17V\8e\a®\12¦58J\95ª\12ÙÙP\¦R\9b©þ¥\11\88ìE¨X\97"\87ÿ'oLÄÛ\87ï÷\9f\87\99ØYÓ\81\8b\ 1QéweQA'¶QL§ÊÐa»\95VCA\87\19\ 6\19`éòbóÝ\86)RKË&\13\1e¹\88\86óЮ3é v\8e\17Ã\\b1\8aØÙÂÖÚ\12÷@\ 3¥¸q^àn0T¨\ 2Ôe\8f\81úÀZHÊÊ:\84)®Á\ f°p È ø{§+ÙªnâÒùyØ\87F¡±CÜ\b^\9bÆ\84\9d\8aÃ\84\a¡B³Îd%+Ä\10K¬¶{­Ê\ftcJl\86MrC¡sÑUe\15îMT\0\8e&¼mÜÖbÒ\8e©Þû    ðñ}ë)ô\ e;5\b(Å)ÓTAlý0\15\9eÂ\12\19ÿ\89\17m\12\ 6U\94@\90\ 3\12¨\ 2\14£j9\91!'«/Ö³\ 6ö\1e¯DºñÆ     }\ 3\9cîE&Ç\85        ä\87f\86o\14\9d¥\1cr«í(hZ°ÉÃxq\87\95gB\9fö\147Yt\17\9eàöB!\16§\r\14C[\821ÉÅÁCâ7\16\8cÞ¾¶³Á\r\8e=/xÓúxb÷Çð5\0e\84\19;ºûð=çâ˲³ÜÙ\ 2\96\98\ 1\1e\9f\16¿d~ÞØ\14\9a *\91ªÏû×ϯ§\1fåýÿXºæ×óÉõb\89õ\fï|\ÊÑ?Ö'\7f\9dü\vbèÇ\8cendstream
-endobj
-1692 0 obj<</Type/Page/Parent 1479 0 R/Contents 1693 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1693 0 obj<</Filter/FlateDecode/Length 1761      >>stream
-x\ 1\95X]oÛ6\14}ϯ¸ÈK3 QlÇu\92¾¥Í
-\14[¼lv±½\r´DÙl(Q%©xޯ߹$åÈr\8av(\ 2$\92x?Î=÷ÜË~=\19Ó\bÿÆt=¡«\19åÕÉ(\eÑl4Ëf4½¹Æï\13üXIex1\9e½Í¦Ã\17ï\97'\97\1foi<¥e       [³\eüR\10ì\8cF´ÌÏƳl\9aM2zP¹5Î\94\9eîr¯\9e%Ý++soì\8e\16Ò>«\º\9f\96_`jJãq4u1¹\86©³\85ªsIZxI\93Ñh|N\v\ 4m\84£µPµ,Èo$\89\95ÒÊïÈ\e\97\9e¶Êoz\8eÿTua¶\8e­\8c¨uª^\93ò\8eÞÌ\ 5\aÄÞGt1¾Ê&ìõÁ\14ò\r5Öx\93\eíÎÉ
+:\ 4²cn²\16;@0HƱ\11$\19(cÍa\0_ZdSl\9bd3ÝMÉ\9a¯\9fWMj\199s\88\r\bâÒµ¼zõªôã,¡\18ÿ      ÍFt5¥´:\8bÃ\18\1f\7fÞó\1d\9aÜLñYQr\1d\877ýUI\ fþÙx\12\87×x6\9e\8dÃ\19uWüì\a%³pÔÙç/ Þº\9aN`\an¢ÏÉ\84n5}÷&FÓ«0aóÞMwµ3?Jâð
+ÏF77á\98º+~öqq\16Ý\8d)Ih\91ÃÉôzF\8bÌG\1eÓ"\1d.
+Y\93ª­\13eI®\90Ô\18U;iÞ\9d/\9ep0¦\9bî\0\1aÃì"\e\12þ\ 6e#²JÕ\144T
++Í\93tã¦l-\ 5kj\84\81-Y¾\8b\8eÊ&¦à\13\ 5s\8a¬®dÔ\bWDº\8e¶º5Q®Ji·ÖÉÊ?Ü\14ÒȨÚ\ 6µ¨d\90k\13à{\1fOØ4Ù \8bé\90L0\9arH\7fh'/\11¼p\84C´Ëdp§u%\9cJ\83ùüÖ\ e(7º¢¯ªn_¼MU¯BmV\97\84PpÆjª¥ÌH\90mdªDI\83ßÿ\9a?\10b\ 4\1c\ 3â\982\ e\0ù$W¨\13\1c\ fÒ¶AVìc\10Ò½t\1eÁR8i\1d­¥±Jפs:~Ï\87áÑ\85¡Ñ´\ 3µp®y\17E\9bÍ&,O\ 3\8c\ eNz÷»S\8bBY\1f´%§i))Õ\8dB
+¸ØU¯+û0j­\89Jµô¶\18v¤tb÷@\92!\89:cs\95È$m´)3\92/2m\9dX\962$v{\ 2Dg\91úpº\10\8c\14@\13\96Dê¨m\80\ 4Ó«\a·Ü\92¬S\9dáÕ]\95\10}UÉÚÙK\92ÕRfü\f\14Ûs\92ÉryâwS¨´ðoµ¦&a$µ¶ó\9ejpÚ´pý8tFÔ\16´\84qøe\8a äL\18ÿºy<÷_á¾)U\8aâe´*´u65ªq>,N\ 3\85\91\990x»·hv½\13eF¡ú|r©ÃþÌ®h\7f\83m©¨©\10k       ²\95Z?\13\88»#­n\1cHc½M\ eðþu$\1c\bÙ¶i´áX\97[NgïÜCÎ'KnÊ\93\80ûÀpd¥Á\7ff
+¿jeÊ^iðÉ\97\99¿fÒ  UÚÁ%\1e\96ü\18o{7\15\8aV\ 2Ô¯}ßÓ\98æè|\80È ¥@ð\99ßÕõ\89ëÁC¡7=\8f\8e\1dt|¢\8d\82þ,¡=+p\ 5A\81J\e¹\84\98¬ä/5KGT8\bÓ\95ú­Ë÷½\87âM¯$ïg\93$\1e¿      m»¬\94{Ïa½Ý\9fzÛç}R´\ 5@Bh²V\1a"\87è\10&"ô\92Ã\0f\ 2½\ 1@øæ³dÒ´\86é\16Òç\9c\11\ 61ñDв]AP^º¶\80îV\8dÑkɬ'VG/\80pt\ 2ݱ\87N®<Z¢Ü\88­¥U/;\15(»óë\1d@Óѯþk.\85k\8d\f\f·Ë\81\ 4¹.K½ádØ\ 5t¸9mìLr\17 \eI,\11©'óh\14\8eâ\ 4â5\v¯¯¼\ e.¸x_DÕ4\12ÂÒ      í7ÐÁ\88gù sÇÉg\9ep ¾|I%æ\ 3R~ÒKòØt8jM¹ÜP#uÃa\ 33±Áç     \18:\ fÁ¾\aM*÷Ê\8d\86'å ²NÖ\97\84\93\\ 6+ÁÅBU\80¼Æp \8b"s\9a\9eÁ¢i\f+<Sþñܧ\14ü$' Ò+9\13{\ 59ó²~\³\1a\8cFj}/ú\9e\85Ô[\879ÃÄ%«þ\91<xöCI#¶\9e\86à7\8b×Iv;SÊù¸\8e\7ff\88Ç3m\998(\rcøKMÂ\13%Èt\1a\16®*O¨þM\ 3øÝ\80$×:mx\18ª:×\18\b[\9e\v¹n\19Þ_õúÜäRå¥\8cü\fþ¢k`jí(\8eGÑ¢w\13\9d\ 4s4Ù/ \90\17\9e§û\81Ñ\11ÙB\99\f\92ózº\83*\$.¹\16©ï[¦ú\0Æ\ 2§* \92¬
+¿W\1c\8dõºÅü1<¸\13,xñ^\8b\ f\9aëEÐk\9e\1f9L­ÃÞÐ\r\97\16\ 2\13LÕk]®ùúHÌ/Iü\7f¯ù±wTãS.<´U%Ì\96\ 2âiÂSÈ\97?      ÇèÇ£¾ü@\83¼ß\81Þ2²Ñ\9dè\17Á!Ë\8d×±îþn§\1a\ e\bË\12\93\1a}\83\11­ÛUÁSÂ\13\ 2
+ò[ÑãpÙ¢­}g_èZ^°\96a\1e     ´5\ fRܪÝãy_Î\ 4[ñtÂ\eÓ\82Á?,4è\r¿\8bP?k\1f\87siJÌ\12 Ð\ 5\86¥Ûo®?]a¬çËas   ¸\88{_l\8ac¯ B\10ÆݦF¦­_ÅuT\19Pf)SÑë
+\90HA\16\16@\1eoºv\ 6¢\89KÌPf\12Ð:Z¤º\91ÏÑ\v\828³÷\1c ±ì°K\1f_¿;ö2à\99ôza\88î®ûÄ\13ü\14\98N\12\9aN\91Ø\r°È\86\ f\1f¾}ü@s£\9f0\98ñë \13\ 2¯gÞK2\9d\85ñõ\15\ 5³\18Û{6L&á8ìê6çí\9ený~\82\81\84\94nåZ¥Òsq<½\86+þ)Â\87â)\eû´8û~ö/hÎ.Mendstream
+endobj
+1705 0 obj<</Type/Page/Parent 1476 0 R/Contents 1706 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<</I15 15 0 R>>>>/Annots 998 0 R>>endobj
+1706 0 obj<</Filter/FlateDecode/Length 1816      >>stream
+x\ 1\9dWïoÛ8\12ý\9e¿b /uº\96ü#¶ã\16(\16iãô\8ck\12·v®X À\82\96h\9b\89$ª"e×ûaÿö{CÊ\89ì½½\ 3®AmK"9ofÞ¼\19ý8ëQ\17\7f=ºìÓÅ\88âìì\aõ.£¾¿Ë?zÑ\98\86½A4ä\87\9dioH×\9a¾\9eu£.6¾||û|6\1ebå ?\8cÞQFýA\1fßþ*¥9/§Þ`\1cõh0¾Äï>þ\97\92Vg\1f\17g\9d\9b\ 1õz´XÁÖà¢O#\9c4\1c\8di\918\ 3]ZÄ­Ï\e\89KUXz\9bUƾmS"\v\99'*_\93ÎÉn$%¥Úʲ\93éD¦m\8aun\85ÊÉTE¡KK+]\92 X\96în\90È­\8ae@\8f-aÈlô.§å\9e\82µ9_<\9d\85]
+{\17ð~\91´ÂMðxînzxáp\10õ\ 1\13\8f¦Þn,\8c$½r\18\82\9eLPciÓ^W\94K\99ÀtÓ\aà4JçmÚmT¼¡\r0\ 4n\9fÈt¾6\96\94\ 5*\8f\1c\9b=X\a­\81\fÎ\ 1/\ 1`D'P<\8c_VZgª8hÃþV¤*¡u#\92±Î2\91'©Ê%ít\95\94H\8bpAMÕ³\84Kʼgç;7]zÇ9\82ýþ \1a°ûäÿ1\84\1f\14&\1f¯\16\9fþ\81ïÙÕ·«»ûéõüêfò\r×_\1f¦\93\ 5¾ïîgW\ fó    \85æzò¯é§É\a8\\1fñøÈ6ص.Hôz´\7f\1c\9aé\93\99Ë\12AûàÂë\ 1   \ f¨5\13k9W\7fÈ#\98-\18¼®\8aTþüp¼Úßä{}0ñ]\7f\f\8f\96IsrÂ\11¸ð°üo0\96Çf¾I£ÓÊ"ÇÇ\87¶gó÷·2Qb¦\8dâÇ'ð¦yQÙyªíñ6x\83\18<\18y_Y,¸¹¦ÿ\15²z¡Jå\87\90B\7fÚ¡Îúý¨ßí!\91\97®ààþ\9d¶²\8dl\vK;e7ôéa6'P£ÁéW2Ñl\ 6û­"­\fÍd\99º\85qU\18O¶ÇsÇúDço¬ã>\eoÐÖjp,\93ÙR\96\8e_\11ý\86"\89ENñFk\94\12ײØ
+\95\8ae*©(UnI\17\1c,\83geŵô0­\1fÔ\1c\ 6\1e\89©`\9d\16\ 1­J\9dÑd>{c 
+Y&ËX\894Ý7êkÆ6f¥&£Wv'JÄ\ 2jñÏë     ¶\ 4Ï\ e\81,QD¸ùùîþ\16·ÿbÈ>³),`ô*÷â$\81<øY\14P\90Ã#\17Ù\9d\b\8d\95åJÄ\92¶JЦB%\86\{Îé¤ÔE\98@\94ØNS\8d\8cLeÌ¡ Læ\95\89ÜóF>ǵ2­\\ e*D3\80çMíq\92\97\1aM\15@z¸\9fg_Ú\b§Þª\ 4b\ 3\19\9c\b³§y\1d\vB`\92\86      ")\13Ï\10/Ö;v¥}\12\bÆ\9cêÚ\v\17ø\8dµÅûNg·ÛEÌ\91H\97ëÎ!ÌÑÆfNªÃ\fRÍÂìí³\1dh\9eLuám\9dX\81bU?]Z ÿ|âã¹\97\8eÖ\95(\ 5\82\8b£@µ\8dØr>\88Cáà£\91PUX\9d\b¦ü²Z\87+õS&m\92ùFä1v1ï\8då<\9c\98­U\9b}\17tSJÙ\8c+4Ø\1e\9aÎ\8bv»®óç\ 5ze-á¬ø\12i6T¤Ü\9d¶"Wi
+Bß=4\ f;1\8c\969D\97\ 3g¹SüÙïv]âY\8bG^\8b§>áu±ðJ\rQwd³\12\1e\17\10ɶ¯\ 4\8eÂ1\ 1ÙaÀÊ\1dgl¹ç¸ù\93\ 4ä GNQx¯§('N\8d\8a\16 \aÕýBÒ\93\ e0s$°$\83\1ap\1d¤î\9eÐ\9c\9a£\9fPñÜ\1e½¥\0\11Ï\13Q&\ 1\1f`^¡:\1f2\11o@\8e_\ fq\19EÝÑ\90
+       g\87^÷|¯\ 1o\95\1f\b2/ø~Tr¨\1fwîc«¦gªc\91rk|?ºèu\1eÏ\9d¥Îͨ\9eL\ ¾\18½e\ e©\8cÇ
+\10­î\8f\aqmÑw\96ÑgÀ`¢8ï\10\a?\9c\10\13\94\9d®Lcp9@\8eS\85h\19g;üK¼\ e*Y'h--X\98i\1c\98H\94N
+æ&\12|^óÉ*_i®d#­åëà\8b^\7fá\8aòk\ 2,àXr[÷³W#\9d\1d\ eתûH"LR+¿øÅÇ6$<DÆ0WñB_3*ß\82$j\8d¢ãÃ[\9d­(;©^ûceYêòw\\9e\9cêª\ 5ÉâÛ\r<¾b\96º\ 2Ë\10Q\84¯¤:d¡.\15üÅ\8c\ 3\1f\99\bÿ\99o;NK¢%7\11È¢¨¬\ eí¾ÀÎ\0äEµ\18±ÿµ\1eÈT½èvz;!, èk    ,|6\84ǢĴÉV\9dÈ9\86yâ1ø¦b7\93ÊN½°\88©\80\fV*E3\b\1a]\8f§U\1e¾è\ 5\81\7f?\81Ê*\95<}Ê\95\93Rp?xÍf¦2ÉÉÜbÅß\9cß¹y\87ù\9fç¼\ 3ÿ.0Öû\9eÒÃX\1eÑ\17\95an\81ßìr^¹.Î4\87¾\18\16\ 6nå.\17Çé\ 5t\14ÿ\88«v\81½+)lUWÃ\ eeÄA}í\9aõH\ f¥Lk\810ÕÒì\8d\95\19\13à\r\12\8ah.²¥@\9f.\98\8c\9c\98t'öH\1fO\19±Ä\eÁ      \9b\187K\14b\ eÄ/Ù«Ó\849Â'\ 3ÕôV\97oÑ%\ f×èá,\94h\12        ÆsÒ¬n°â²äÜ娼 <\15èû\15\9aCUò\9b\ 2¨\86\9f\98\83\8d\88\9f\ 3>\ 13¿\1f¼ð\10¾ðÛ\88\7fÛñ\1d¾s3>¼"\8dÐ\vÆ\174\1aö¢Ë\9e\9b\95çW·\1f¯¸I?a2ÀÛY\a4°(        ?{\82q~KxÙÅ\ 4\9f´þ¿<\ eFãh4ä\17C>¢{ÉQ\9d,ξ\9eý\e8(k@endstream
+endobj
+1707 0 obj<</Type/Page/Parent 1476 0 R/Contents 1708 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1708 0 obj<</Filter/FlateDecode/Length 1671      >>stream
+x\ 1\95WmOÜF\10þί\98úK\ 1\vp\"¥R\bAÊ[EÄEm%¤hÏÞ»Û`{\1dï:æò¡¿½ÏÌÚ\a5!UC$\12{vgæ\99g\9e\19\7fÝ\9bÐ\18?\13:\9bÒñ\8cÒbï|±7º<¡É\84\16\99ÍÏh\91Ñ8\19\8fÇ´H÷Ï\eO~£kMÆÑ«OW×t³ÿÊ\16\85-éSiîèª6¥7å\9a®·Îëâæ        V®©*[{GÑ×Æzå¢\84>Ê?(U%-5-\95Ó\19á\1ag¾kw°ø²7¦xr\9cLá~ß®è\8b]:²5[À?\95M±Ôøß\8a*µÖòfiýæ\88T\99\91Bx®ReÉ\81¨rKÞ\14\9a*]\e\9bÑÖ6ÔªÒ'\9d\8fé,9a\1f\8b\r2Â_\84£ïTQå\9aR$Æ÷mlKµµ\9eZÛä\199íIQÅ\99\92dC¦\94,áݹ¦\b^q\8bq\ 2\85X"ØR\15:\ed\16àè,¢çüvt9¦g\ 1ýxz\12\82#Ê+\95áf\8a«à³¿4¶\fM,qÄ!Å\17³ñÉ\1cåê^Ýƹ)\8c\7f1\19OOúg\fÚîñ8x½/z<\9dí\10        )Ë\r¤¿éz\8b\ 2\95k\80Ó8¤äm\87Ã\ 4þv\95\10Oïι:\99ò
+\14i7&ÝðqÆ\14åZ\99Úù\9b\ 3j\8dß )Tt\80\9c\91p"N§¶Ì\1cî¡\17àj«õ-\88Õ\9dèëw    r\b!\11Sj\eÔ&µu­S\9fo\8f\842\82ØÊ ôRkÜƱ£^òN\ eF\95ó¶r\11¢Ë½®\8f\b\84Òuk\1cÈî9_\90\83¢¬)\8am4\b78D¾Ñ\ 4̾F\8e\ 1\17vç(³å¯>8ÃE7ûzý\9cL\81\12°'í\80Ã2´\15#aá\8e       \X\87Ð\91\1aè\ f*·j\9b\10Su\10\80Ê\9d¥B«Ò\1dÁ³E®Ú+\14\rP\aà@\87û\ 6\ f× oÏ\9eº      MÒuU\9a\e\15U\ 3\ 4¸\192\ 1ut­\8a¥â\eÊ\81cWY\9b3ãñ\ e\91\87\84\15ú¼Vm\84\M¢\13ʵúÖÙ\14\84ÒØ\ 6\8e¨DO\ 5°û·7\aG E\9e³$\b¨\10\ 5¾m\123\fµ\e\ 2ï­ýe@\84¿Ðà\a.°ÓHà
+H^§µ©à¬¶\85à\102eJI\80À\ 1µ}`\18pcÓZ£>\fßf\97\ 3¥\e\0Ó\12À\1c\0¢R\89\9b\13\91ü\9b\95xì!g\89AâeüÀ[a3\9d\1f\89\91ç¨\92°2³r\1cMÎþÐ\b¨§h°`=p\ e\8bN\99âZ«lË\81\17
+yÿ°ü\81I;¼[[ßrØl\9c\9d\92    ø÷D´?3«\15°\0;ºD\ 6\9e%\ 5\90Ïiiå\1f\8b\18\11m¼¯\9e\8fFmÛ& Ms'·Ákbëõ¨»ús\ eåLÒµa\1f\ f§Q'Lç\1a!j\81'\9e\991t<\e\10¯­¼\ 1\9d\ 6h k\ 5¾\97\99\ 5£\1e@~!\8dÑ\8f\93?L\99ÙÖQG\v\ 6f¨H¶ñh
+Ö4H\16z:\9cg7Ìb\95£3\9dô83oS7âv )½;.l×RÎd:L-á\1ac\8f;\aà²\87¾\e\ 6îâ\b¡Î\ eù"$¿A¥!0vå5\ 6E\1cS¦+4\0×´kðèêê"Boñ#@\93\ 5+\93Q[\e\ fÝ\19ø\8d®Þ¾\8fâ\r\98\ 4å\86N£}@\0\81@\1cç\ f\11\15\8d§\ 2¶;\1dv·¦\12\1c\82²\8a\9c¬-e\86u\19cY¨=ôɶ5ä_×\119\8f®ÿ\81Ös\e3\88}ùmÙª:ÌvÞ'úªGÒA\8f«Î(÷%ÿ}1\9a¾\eýyÕ×^D\v8\ ek\80\0,L+´v[æVÉ®¡\18\91\a¼N\9bÊ       \9dY¹¸D\11?\89\1dKh\17p\ 2\1dNÖß#\10\r\evJ\87¨õá\0\92\87\8d\89°\9fÝ\8d>¼îÃM\88W2ãeu\98$'ÇS\8a§gÉ\1c¿±Ôü\ 6\eUcßÑ\18D\0\9c©Ô\15»$\94·«nïq\96\8cg§|òÑAì2\90eV\15)c·Ð\81ø \ 1®        m\87fà%g\87Rh\12\90N&=ÂĦÖ\96aP±Ë\98\97¼§|\ 29\1e'´¶L×ÿÓSº\86HþwJ²\ 5\85Ñ}ßU\0Ñ!ö-1>B\95'\fÓLÀ(X\8aÔ\12ò µÆrØT;\95À¶³4¥\12\98\83\8dR&:sP\88¡²Ì\15\9dèWUc\8e¢Ëx5êSèÖ`a³)Ñ\14yÎãSì;¥\ e\0\8bE\90ÄÇ]³\90   Í»\ 5ç\88~/º\15>·k¬¾a±\8e8¸Ïx\825\b\11þkå;äw\87\9c\9câ\85ä'Û*\84\1e\7f\ eÃç@·úöÉ\8c\939\13,\98°Ñ'Þ$\997OZ¼Åð{sñäë\ 5¯÷\88ª\9f%O\1aJm\91C÷ùðS»û/\8cÔVæþ\93äQø\8a\96è\f¦¨)WX9<>\fÖ\M\19D*¿9`?£Ëy÷Q5\99\9d%ãù1ÍΦÉô\14\9b\7fýòÃùK\80e¿@\17é¦M\ 1
+\bmø,Z$\1c\89ÏÆb?9MN\13zÏk}h\8d>#A\ 1     :\96@ìoÌRA\85¯9\99Í\93Ùé\14_up9\19ÏùÙëÅÞǽ\7f\0¾£uÆendstream
+endobj
+1709 0 obj<</Type/Page/Parent 1476 0 R/Contents 1710 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 1001 0 R>>endobj
+1710 0 obj<</Filter/FlateDecode/Length 1675      >>stream
+x\ 1µW]oÛ6\14}ϯ¸Ð\1e\9af\91\8eóñ2´k·eX»¬qÑ\rËPÐ\12m1\91H\95¤âº¿~çR\92\93&Å6`h\12'±LÞÏsÎ%?ìe\94â;£ã\9c¦s*\9a½4Iñd÷ëÍ\8f{Ùñ,É(;\9d'sjh:Í\92|xWÓåÞóÅÞä\87\19e\19-V°4?9¦E\19\f¤´(ö\7f\92V\92r$4É\8fÞ\8aÂ\93YQ³¥ïß^\\92\93öVÚ'\8e\96ïk³¦\95ª%yCª®;\87õ\1eï*I+c\eáa¥$¥\8bº+%þñ²qgO\17×\b ¥ÓÞ\7f\9cÏ\92\19"اáKé\95ñ²x\7f~\99§ù1ÝtÖÓ,¥?ó|òÚÜNò4ÍϲéYvr\96NéÛ4KÓ¿P\8e\9cè\9b\eé\95\8b\94â,MNþ¯åü«Y\9e~5˳¯fùè«Y\9e?¶|\1f¥q>çN.* s#\1cýl\96\82¢Y\1a\1dRk\95öÀ\97Ñ\14}\8e\9e\88\96\0Z\8a\18GX+h\1e3vé\1a\16Æ\8dJÃ{aZ%\19÷%-\ 1fY\8e(\9a\82\r\8cGw\10\8b\92$\19\16äó\1eÀï*\0~U\8b\8d#cÉUÆúÂ4\80#\8c\82S`\85\95ßñ\9e,\99Ms\8aóãä\ 4\7fÙ4\bc4\9ckÑ \ f±4·\92\17Æ\fây\92Î\8fxU  \95¢®·\b¶ÓÞ\ 5¦\85D\90\91£¥\843:h­)¤s\8e\19§É\99\95ßÀÿ\ 1]í¯\r\95íÂÎèÍùEtõ\94@ZÄ\86Gà<þÛy\1e\12o«­S\85¨\91\92\94pêº\82í¯:\ e¤\96â¶7*ûrò\9bRÞªBR\1c\93Z±ÅAQèZ4´©X0BåÇ}G¾êm\93éXm\86ºf\83\7f0<\rmá2q¶¬NKT\17 ¢½ü´o¤=\fo¢ÐßP¡\886h%9\1f~Wf\13\16¬ÔºCH\90µ`\1aR\85Çè\1dl\8f®wEGµéCg<074\91\1c\9aÄúFü\19\83Ë¡´Ú õò£\ 2t\94GP\86Öê¶\97Â¥qØL\95Zs\95\83\17jME-í\rz\80ý®k[dõ°üìimM׺Ý'»è°«\91B\ 3\b\86\80\fP\0\ 5ä\82\14\9dµR{Z\8aZh´\ 26"\84ZÆ]\e\91î\9a%"Aþã²\10ÔãÜ{êT}\87y;u-\9d\9e\8e\v8dt¯ÐK\89þôSÁIÐ\89)\15:\84*d\18TéÐí¡Þ\9f£\ôN{,\97R+&DhûR\16\ 2ApÜ\82Ç\ e(\8at\ 6÷¥\91N?ñ´\96\18:¡(@\17 JÒZ$ß\0°Ìú\955M\98dc²\ 3Æ\f£´ïJTÔ
\8bÃÆX\e\1f·h BBQ`|ü\88¾ÏCÑ\81Jüpñ\97Òyr[\87q76\ 4p\ej]o\13z\86\82°CÔ       ¯ªC`ª\ 1moe\ 3Ï\8e:]"\1a°HÖ¦åGah>ò{\87sfRhÀ\1a\83X\ 3\f\1c\14Å\rêï"à\13\ fP:/ê\e*\95\95\85\aw\87u\ 3yB\9b\82\11\fl\80\89\973\92Xi\82\90luñ j\e\ 5æò"\9c\12:\bÄ\8eÕ\83\ 4±\ 2 w`=ØÅëî\98\1e\1cA<P\b\83\9b\96\9dì<"£«§£»\1dÞ\a&\86Í@\19HT\ 2\ 5Ô\18\94±§_½åM\9fC
+Ñ,\ 1È \15X8î\1eø\16¨ÜÓ\18¡(ý¡C}8\10\ 5Î\88¢WÚ\88\83\13å-\93éQTÿÁ¾3Ð\8c\ 1dÆÔ,&¨+£\801\83É\13\18Z¿"\8e;e\1e1\84r1\98A\ 4®W\98\v÷ÀrHçT\1a\8d\86â   ½\1d<³Blcobf\91G\18,ÆEE[Ó\8d9\rt@Òu\89Ök§\80Ä\87\83î\ fÓQ\ 1ý*ÍF×\86[\88(J\v½³á8èz\9aUÞ·g\93Éf³I
+¨Wbìz2N£¤òM\9dÐ9\90ÅÚèd+Âѱ\ 5dw<\85Ù\aq\85T\97\fÍÑPï\10Â/ÖkV
+GQX\94\9eÓ;¥\11¥£×\8bI~3ùý\82.ÂYÁÒ\8b!\hÃå³WÏ\9f1E\84\9f\ e\1f¸ÌNsès\94Ð\ 2Iòa\97g4\83v\97=2\88\18\83a)ÐCö\9côÖ°ïm\8bs     8$l<éô'ÕÆ-ÓUù\1e\88\16,\au\1eçʾþñ´|ç3Q\1a\88¨ë1ô»sï½55F²v»\8a~q\r#¤ù·%Íp:ùü\84\93\v\93ê\8bÇ7\16\13ÖH©q\89\bÝ.Q\89AH^^^@«½\18?Â9j8¿PôòâÕÐ\86\831á Y\a\89\95\1cÓ\80=HêX\87\ 1Í\ eâ\8aq\84ã\v\9f\ 5
+«Z\7f8@?ô¥Wí\83\ 4cúj¿§\ 4z
+寸Q²\ eJ\b¼\v ÌÆÂ\16\15 \8e\99\1dæZ\a½Vx\81,>\887ë/\aÀw\9cñ\92\15\8fg\99IçìÄU\88\ 5\9bô¬q\93~Ãx+ÛgfÜ3ÉSbÚ§7\\9fN\ 6ÓÙü8IO¦4?Æ`\9dñMn¿\87ó\855×Pyza\8a\8e'\88ðÊhö\82\ 3e¿%>Nq\ 5+÷³£ä(¡_T£øê\14¸|w@à\11\83y\14\ e9Lù ðlf6?IæG9.\90l"=åg/\17{¿íý\rt\ 2\87³endstream
+endobj
+1711 0 obj<</Type/Page/Parent 1476 0 R/Contents 1712 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<</I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R/I15 15 0 R>>>>>>endobj
+1712 0 obj<</Filter/FlateDecode/Length 1902      >>stream
+x\ 1\8dXkoã¶\12ý\9e_1\10.°I\11˯ØqRà^d×I»h7Iaß\9b\ 2M?P\12\1d³\91E\97¤âúßß3$åÈÎf[\ 4X$"5\8f3çÌ\8cöÏ£>õðÓ§ó\ 1\rÇ\94¯\8eþ¤þy:\b\97~:¡ñp\88\7fqØýÜ\1fÑTÓ/_½6\1a\9d¥ý¿¿6\1c\ra÷o­\rû½\7fât0\1aý\13§\17ÃôbßçÇùQ÷¦G\174_ Ûñ\ 4¿\14ÔK{½\1eÍóc"Êëµ-Ì\8bI\8b²<\99ÿqÔ£\8e\ fi^4§µzÿ,]\96k~«{sFý>;\19\fÒA¯O\9dÁyz6\1cÀÛñÕ|~};ÿ|w{IE-Éi\12\94ÕO¤+I\9fþ{?##K)¬¤uí,¹¥¤`\11\ 5ó\16\8f9Ä·\8e\8eIU°up·[[ÓµKad·0êE\1aÛÝ\8f\8fóãÊ 0UY'EAzñ\r+ìü\1dSÇ)Í5m´y&at]\15\b^ÙSÊõzÛ]é\17ä\8ad\16ª\94$\16N\1a2uU©ê\89\1fsP\9dV,IÚeO\1d+V\99H92Q\96      Ùܨµ£\95¨jü½eðئQOKGëRäò²\ 1 \96¸38KÏ8;Ô\96Ë»¦¯@Ò Ú>ûF¢\88s0I'ã\11Û\9d#Gªä&Ôî^[7\vA\ 6¼  §ym\8c¬\1câÍT%̶£«r{\8a¢;Z\18)©Òdumr    ¨
+Éo¬\8d~Q\85,èñx+Ýã \90\r\18µ 2 \89®ø6Ã|IÊÑRXʤ¬¨\90/²Ôk\18Ø(·ô\18-e¹æÒ2^_Tn´Õ\vGSO
+\9aÆû\86~\82\99Çãéô§Ç\13\12UÁh¶|æzµFý¢ÙW3ÿS\16\ 5¡\99«\v¥i\9cÒgÇ\81UÚQ\ e2\9b¦P\11\93&<cIù\88¶`\fXQ\96z\ 3ãN\1f¸-\94uF\ 1¯@¡ÍR\83C1\976rHÿ\86\ 1\9d\r,¦ô#\f\82õ§\9cö\16`\94%\95êY¢\14\8dÊ\18\8f¤P\8bE\ 2\ 1\1dømÛ\ 6\9fAY¾ýÃýϧ(\18àÙfº`«\80XÀn.+È\16qíÃ\ 1\18q\fH\83ÿ\f\89f\88?dÙ&}D\97\16ÚÐR­ºKÈU\96\8b4F5\18\a&ßU`ÊV×(74\ 5\11ù¨¢F\1a\89<\1e³Ûµ¶VeÈv§\18Ö!\v\13I7¬O\82&ß \9e´\94²§\86äñÄ\ 3\14\a\19\81\ 4ä\88ìзB/\9a±x?XúmmÐ\9bþõ;ùF\ 4zm\96*_\ 2(\aª®Ä\1a\f>¬xÒ\95.ïzõïºMÂ\84\84D*'\90, µuV(Ô\84\8bððùö¬ço=\f\a¿NÆ\94\19QåKi9à\f5\ f\r\87ñlãî\91\10EaWY\82è,Ì\89\12\ 5N\80\9a\1f\bÍ\19\17Æ·è~\8a\9f1ëò·©®>@ÇÚ<IÇ\0pöF\83ø¾\1d\ 3èCN­²µ°vS\ 4Ô_£¢\ 4þÃ\11\1aÝR×eá«\1c
+\f5\ 5Ú£5䲨!\17\8e\86\v¹PƵZÉôwbr\1cxä;±RÜ|\81\1c^V\815û¥\892áóvA\v½©J-¸\1fq\ 5"Óð\17\82\ fA8mHoçÝÁs÷×{È_¡õÙ\1d\87/ÒAè\9b·wókê_òËtñW÷Ëus\15\13\84\11õs$v/$\1f\12Hé&$\r\9dA\ 1\1f
\8e5]Iß6¨Æó·\90_Mï>^\7f\97~\17\8d\0\0î°òEéÚ\96[\1f\1aÇ>Ø\8fmpÙêb\98 +\1eUhWì\17º\v\8e\ 3ó¾®\16\9d]¯v^\ e*\12\11\14Ni\109\96â}¹\11X.s§ÍÖÏ\ 1?mX\90\81\96`¬÷ÕpòÀ\97ïy¢vz\ 5\9f\9a\11%J0¶¤uÜøü|\ 5\86\91'\8d\81< qÌÄ\ 5%\\82¨Þ©êð\92f;þ\1a_áH\83в\96X2\188\r\86ïÀ\8bÔ\ 4¿<¦\85F'y3M-'×æÙ.òØ\90"SÛ<õ(7Óâ\e\83\9aå\ 42\82ì\96vôeô\ e\0]\bU\92\80äYv;\ 4bo~\9d{²Òõ\13F/ÚH\81\85ÎÉÄ'æ[!\ 6   úsXîö\94é\8b\15\98\85ô\9f%v\9d¨±\ 6@\16 \91\1d\94\10B\\1c\84ÆCÁ\19ß\87q'bÓvë7     Íâæí\89;\96Q~á{Å|/\1eì\17|\12\9d\9f\12V
+ÿäÀorÏ\r\1eÓ
\ 4EõéíFÏ\8b\12\94Ì\9c0\8e:\9d\7fÓL:\a%YÿÇ'4s£Kº\17\95\93\9d%nÙ~¯ëÀ{þ\8cõ8,{\87\f\88\ e3\91??\85­\93!ÂÜ\84bàW\1a\8c\7fº7\88Ü8%m\92Ò\95\17P¡D©±u##û}s\9f\93M¦aQF½Dö=ü2\ 4\a \97XHÚïDÐ\18ÿ\8d¨ü\1c\bE\ f#+&à±L¦\91\rXg\9c®R0Á¯\90¾ô¼\18\86Î\17ö"nÔ\9eó­\1d\8c·E\0\88\r¢áR)±É\85\99
+^0­@Ï5\0Wy]bù\8aÑu:~\9e4½rGKp¡1eÑAÃF\1eܶ¥\16­4ÝjW¨¦äA\ f\8f'\11ª×nº¿¯Ø:Ï¥µ\8b\9a\19Ø\9a,\f½\9f­oDÏ\1a\12\91\83§>\85\1cs\19Û¯\82\ 5\8b\11\81]\ 29\1c\94(\82û\ 5\0Á\ 4áï+\88ÉÏOYp\96P`!ù\93"\83\98diåÆ÷»&C¿¾Ð\8fw\ fó;ú¤K&\14ú5h¡)_\8aêé\90\14¢\ 1\9a;  Gø\17XÂ~b(aд>\b\83ð\81ËÅ3\97!Èd%\17
+\1f~qô\81\8fï òµ~\85\15  \9f\eXÒa\8e÷hoò\8a\ 1\98ö?ü¸{3\89\9f\96ýñyÚ\9b\fi|>N\87\93  \7fÞÌ®¾|¼býüÁz\9aê¼^a\9eû\9eÊïv\9aW:ç=þ\96\8fÒQJ?«\95ò©sJU½Ê AìÅkñ\ 4z\82£Xü¹\86\1e\186s6\9e¤ã\11ÿ\a\ 4\9bè÷øÙõüè\97£ÿ\ 3rÃH1endstream
+endobj
+1713 0 obj<</Type/Page/Parent 1476 0 R/Contents 1714 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1714 0 obj<</Filter/FlateDecode/Length 2149      >>stream
+x\ 1­Xïo\e¹\11ýî¿b*à\0ÙðJ\96dËvû¡\88c·Í5Ω°\82Þ\a\ 1\ 5µKI\8cwÉÍrײú×÷Í\90\15û\8a\1e\8aÃ%\88\8f7oÞ\fõýhDgøoD\97c\9aL)-\8eÎ\ 6g4\99LðçùÕ%þ\1cãÿJÓêèf~4üË9\8dF4_ñÙéÕ%Í3Âù³3\9a§}ëh£¼Ï5mM½¡z£éCæ\96\9aî¾~þp<ÿ\86Ûi¼\9d\\ e®Øñ<ë/ÆÓK
+߶¶åËd4\19\8cùÀ\ef¿7Ú×ÆYêm7\1a±e\8e>ÑZ×Áçí/7w'\83\13Ê*ó¤+Z\99\{ZU®øsï÷Gñ\92M0ëiÑÏt©mfì\9a\10
+\1f(+ck¸\9cÍn      H¸Ô¨Zg{8\8aÅ1¹U­-\95MM\8af?\7f¦\8dV\19n\18Ë¡%g´O\e\ 1Û\1aÇÅpê\90åÌùú!­LYS©ªýwâT²DHõ¦ñr\83³&_ã\9c\ fþcî*V ?ºy\rzÿ§d4\9e\9c_üÚ#WñW\9dX\ eïj\9fªR¿{ßX_#-\ e¾÷Ó\1ff\ f½Åñ\80æ\eã)ÇÇ\88ÏI\88\1f¿Î\1e(Sº\0zª©]½+\19K\ 6RU¨\1dÿ\83Ó8\bFy@'I'\15ÌíäÌ)YW\83¦ß\e\83\1a¬ù\ 4
+\0[U#\ 6{¥¯]é{|\98+\ 4¤\1cùR«G*\18ÛZ§\ekR\95\9f\92©      \91Â\1cûíV¤ÒkUe¨'"à ×Úêʤtÿéþ\8e\10¼¦\9e\1cV\98\9bÃ\12åòR®Þ)-¹àá\9aø\83k\90#\7f¹{\90ä+KiSúÁ\93Í\92\8eÉÅñ)m7&\95>«ô\8a\93P¹w¯!.Õ\1a\1f§©klÍ°\ 4\9au+;|RÕ0wë!;\19òù\7fá_½\bgªC\198]ý¬Ò\9a\8a¦X\ 2?\94\96Ïú?Ád(6\1fÉ\9a¢ØÉ\17dåÜAVL\88Q\8fá\85\8f5\904¨<³Ôf@\96¼®\9brqÌ\97\ e¥âz<8ÿmµ8»\18\ 4Ç\11d'ö?4)ÔØ\95\\17¡_¯0>I\9d]\99uSé\9e\94³Ó^RYiÝå\8eù°èçæ\11í¤ë\80¢P£\83¢±*\83Ô ×ó\1d³»÷\v\\15æßPMWÑC©u\ 6\ e´H1
\ eÌ\U«¥ÉM½Ã±PU\94,Ϥ\980x\0£4ÎRsA\e«\96htø,+\97jPÞÔo#8\9eþ\17\ 4'×/\0\8a\87\ e \11J×Ô¬\^C\99\80Ì?\8dÍÜÖS\9a\e|"À2úrÙë\8aÅwkò\9c0\ 2Ö\8dª\14´\115\ fét\e\vßsÿ'ÜCÒ]ÿKg±â\ 1unw\ 6dßñ\12EÛö\a\0F\11\0í\84\88á\9e&¨l¥ÁñÀÝ=Ç\99¥\9c\1cRÔNS±\99ï\8d«¡9M\85\16Õþ-\ 6ÿ?ð÷MY\82+AGP\850{V¤²Ì0·!(a\1a´TG\918r\14\8a¾Ì\87ãÇá¯3\8e­\v~,Þ)ù\ 6b\82^±ªh\ 1   \95lÛs©,\ 4/ô=Z\ 2ÌfÛi\ 3e-0\ 1µ\87\8d\8dÐ\16\9fï¸êÌx\95ç:;À_\85I\8d\1eÑ\8crd\17¸ds§2\96¶&\163²©ÇØ'¹Zê\1cãIú\18Îb;*úæ\96  \12w\15:\88P\8e\ 3wíA\ eק\e\9d5\b\89\82\18g¼èï÷\96à\82Û*BÞ\85¸ñzÕäôi6cǤêº2Ð÷PöWª \0­\9a\1a\1a\83\11ø\16+.Æ\83«ßÔµé^ÔÞéÉW\9c06Í\ 1\1d\ 6*`åt­ÞRï\84µýg·\9c\9bôQ×=ð¼(¤aC\1d\ eÐZêµ±Ö`©     &:2 K\ 5`\92¹\13\14
+U\ 6\1e¢äì/$\e:\ 4\9dïÁV¶³Ä¨\\19\99\19\v\10\87(]Ò\81+îP\81s&Óah\ 6_"#<á3ã\81&@·;rpXQgä\86  \8b\ 6\f²\13æ5ë7X­\ e²\8c\180[È\9b¢\84\84\98µå)Ê\ 2úf­Z\81|wcm\8bÉ@¼S­V\ fù\bV¿\97-\ e\8cB\b+\10\93ç¢Üf\82\85î\14<£Ú\1eäѶ5s\15µ¨4V,®\87wÀsÑÇTXbB +rg×\1e°\ 6N\9aÊ×t£¡Yñ\86¸\10·£Áø\1d\0Ú\8d¼\ 3À5\8dð\bXQ2¾\1a\8c®)9¿\fCd\84i<À\1c~R6E4Ì¡°\vÑ\8cwdn7ÞÈéþ¡\9d"¡;Ú'\0x1\8e¦>ǽ¾\9d6\1fã´\ 1íx\87~Y\8a£\8c\0\88Lç²ú\97\ et\89~ñ1\83îU±\8cë#\ 4DfÔ¢ÿ\r\1aF2âÁ«\ 3\80?\eÛ<c%¦¯Ö<SpN[\919Ù·8\8cN\10,\19\10f.\87¸\13\17a"sNq\bß+¬\13ü½\18Ý+\90o\96~\87uªàë\81ù\ f\12/\9b\fªÏ\8a\83Å\85·\r1\80\8ew¢×\9d\18¸MÛi|\90\8dÅnú\14\1f*\ò\ 2\12\10û\1co\ 5~BI0ºâ÷MÈ\12¬\9a}üLfE;×à\85\87ëÊÒßfíÉ\1f\92ûâ¶íiÅ[éªR\ 6\80lDm°û\ 5³\82y¡a*h½¢\93¿\86\85ú¤\8bg,*ïQ\8cW\9c\1aovöp9zàfÖÏÃÛ\86ÿB1r\8ctÈÍ©´:\1e\93%\9e.0V©\1d¥\egÒ(4\9c\9c\95ýd\13ðGÞín\85\ 1BM\19g+*\80I'£\ 2³í\0_\8e\11C*\87à\80\ 4(¡¯¹\16\80\18ö1;Ã\ 3Ñÿ1á{£Áùd,D¿ÂßØ]¿@áJ\87E\86wº0\8c\1fí¾t.çΠ       \1c\11ý\94I>\1d\9cM/øþ\r\963$·BÆhù8\19Ð~X\ 3¤µ[é\ 6g=õðJ\95÷PàJ\86G\1dæ\18d        å\ 3ý@²ºr¹ .aǹ\8b§ô\ fïÃ\ e÷8mëlÒù(ÓO@\19\88p\87\r\ 6¢­É\ f¹\aÁ\9cÝâ\1cH³uÕ#§ú\92\rä¬U\80\96\ 4Û\8dãá\13×ý®Gyù3\85#mx\f²\83\83jýp¥+´²1ý\1d\e\13¿^[ÑI\85¯Ò»Ò¤`\ 6\88ÁUçÆ\fMo*Ö\12\8e\9eÁxí\f\ 1\ e\9cïaãÄ#\vEb\ 3íÞ\ 6CE+\11\8b>Ú/9¥»\87\8fÃYÂJô\12v\82_\14"§@»Ð\9b>>\83u&HwTçShá-\16q\ eU\8es\b\9dõ1\f\ 4^¹À\ 2¼\1c÷K2çÓY|q7lÆ¡v{%>@9¶0:\9f\9d-ñÓMl<Ôg\89\1d\8e»q\ 3\ùÛðrÃ2¹\1fAWñ\a\8bÑ\14?F]Mð«Ódp9a¶?|¸¿ù\80yâ¾ñÒ~ëÒ\86·\1ay|s\ 4I{#¹<»æó¿o&\9d\ 6Ó\8bqø±j4\1a±é»ùÑ?\8eþ\ 3°Ò1±endstream
+endobj
+1715 0 obj<</Type/Page/Parent 1476 0 R/Contents 1716 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R>>>>>>endobj
+1716 0 obj<</Filter/FlateDecode/Length 1692      >>stream
+x\ 1\9dWkoÛF\10ü®_±`\vÔ\ 1,êeK¶\81¢°\93\1auÑ$\8a-#-ê~8\91G\93Ñ\91ÇÜ\1d­ðßwö\8eL\146)\9a"p Q÷Ø\9d\99\9d\1fÍh\8a\7f3ZÍi±¤¤\1c½§Ù*\9e\87§üa\16\9fÑrq\8eÿñãäf¶¤\17\9aÞ\8c¦ñ\94NÎWñ\8aNÎVø<Ç\9f\91\94\8d®6£Éõ      Íf´ÉpÊòlE\9b\94°|:¥Mrt\93\eÚ\8bÊ\91ÓT\8a\9d$\97KJMñ$\8d¥Tï+¥E*¶
+§iã\7fLT!+gùsEQÒÔV¤©-·\11\15\96\8f3\94\19¬Hcºq´/\94"+]S?Û¼\eMi<[ \8dMzÄ×üY\9b¢rßÿE6\17\bWWþü;Qn\ 5åÚú\98\12\99\88´åø¬4O!À>\ 6\8eIPTk\9cC¢JÉ\9f\18u        PQY'\94\12®ÐUÌ\ 1Ìçñ|:£ñ|\15\9f-|\1cosáÈ:\ 4òh\89£\10Î\89$\97éO¼~ÜoX\0ù9PL\8f6¹äUø³º\941]5î\98\1e\81W\88ÞæR\1az¾¾§Zïñ\89ñMDEÛ¦¥Jï\81ek\8f9O+Ãsä\r¬\13\9cERØBµ1á\8a\ 1Z]\80\17Ýãù2>áXÞJ¥\8e©È<nÏï×w\93\0\9e-R\19 Ï\ 5\ 3.\81ãª\rß\98`F\14\99\83y<mð\r±qĵÑ[\90Þ\86C*)ÓA@\9e\rGM\rø­L4 ÷ì\18z8ÚçE\92ûäRM¢qº\ 4\ 1        ±\90h+\94¨\12¾r_¸ÜÇ\9d\15\ 6TëJ\1e\1a\90@©|4\12¸d\94\89B\8d\19\9fÁõ¥LrQ\15¶|x\16Ós]a\85ãCYUE\ 50ùË\1a\12ºKLQ;z§·È,\82J¤©\8däµ\11/.½ª+]\8d\ f\16{\r1\14\83KE©\e/|íïÙk³ã\18¡¿Û\9bu\84Äo\85ÅùtS\8aGIk£\13i­6\ fÏPG\15Ç\ 5Ådn\ fé0Å(\16#ß7\85\91\96J\r9±f áÁ¥·\97/q\e\ 4Ô\97_Éò\8b\8cØ\93­µV!\13aw¡ô\92Æ\18T'È@ÉqAZ­\98a_\8c(\ 5`[£6m_lâI\18\8eö\9f\17×Rì\82P\18KO\1e£Û±lsÝ(Ð\89\9dì\r\90\ 3bL\95ôU6¹>\87o\ 5Ë\19/N\82Vg§ñ*¦KÈaüB*P\80r\az¬Ú\90   e\85\92\96Ó?´,.Õ%k=(Ûs\13VR-,»\90iÈí5E\1e\ e\94>\10M\9c\86\ 5Ù\98^\ 3÷Ï4ÑÿÚ²ä\918RhÉ\1f}\f\ 2\81\1aÉÇ\vP5`\81Ï\88j\ 1ÅþH\13@6ñ\97M,[U\7f%,\809æ¥ÁØ !X\e\82éR\8d`\921J%\8bXµw¡j@\91\87\95¹ü\18{;¸\1e8yc½\7fuó{WʶÙÚ\16r+cº\86   z\18\vÇ\8c\94`º¥è R¶éItL\82kÞqÒ|+?M}HÝÕÈaput\v\91Jënµv\87©óÖȳ\rSïýè\86D\89û!¿Æ \9c\83\11°öû\ 4zøA\ eí¤¬Cò\9exäat\89=ðc¶ +ZX\9bϨä^ \8a\9dDR\1c¶çk\10g-\8c\e\86ÃÀðz\ f\ e/\bæV
+øZ×ò@\87m\94óÆ:¹\9eÒy§Úy§Z"Ê\9d«/&\13¥\13¡¸+],\173f>Î]©¾[£~¹-ýª·×¬ßÃJ\9a¢OC¹ßrÆ/\85\85vÛÿsÊKñ\ 1A|¡\80|ùl>¶-F\ 4\1a`\ fD\87\97\16\ e¹E\1d°¿x\91y´R!K]õ\14&¾Ø\15ú0W:ìµF\ 1c\ flµ«E&}+qä\80\96\94K]¦Cf¢\ 3Øú\94ÿ\906¢ñ¸Ó\ 57WDçÐ\0`V\99wp.//Ù\1f`\99\ 5Z\ ez\r: «ä\93\98¢d6_\9c\9cFC÷\ eÏ\97\11I\97Ä]Ô]¹\1exP/Ph/¨\97[\18Ù¢,\940>_T\10#¨U:Î\84ÍQÛ\0âêîÅø·õ\8b\10\973(k¯o®yïúlÊ(A\0\19ù\94q ·¼L@\87ÿ\86S\90×ç(q$\9fHÀ·ÒJõ\ 4\15þ'¤Ò¯ å\9fÿg¤â8þRn¯tÄnÃ\11\ 6E}%ÃN¶t:\9d\1dwÆ@\ 3;j\87a8¨\14\1f\8a²\81Å4å\16\8d\97\ 5ú#¦?´Å\9dD¯Gê%Äk0H½®\12ïÿ\ 3^\ 6Û1_bà\v7(0\r\9bè\18\86ï\rÔ\8eØ>N4ÞdëÆp\17ÉØ»xW0å0ií\86fj4Võ\8d¼\92{\9e\991C@ÅÈ\86\ fØaJ¬\82Üý\90éx\82æ\9eÍm\98Ç]ô\930\ 5\87^ÃÇ°\ 4ü¤í§åwh9\9f\1f¸ïBÉû;z\1c¡Á)°¶ÜÃ9\7fd\975\95oXB\15.\8c¢½6{Óà\1e3\1d
+õá`.\16Ê¢hÒ´àÆ'üø\1fÌ\863\8f:¾×ÒÜÃ8¡\11ÔñÁÃ5¿\12à¹WUÇ[ß^ØÏ%F½\16\91ò°§ÉÏ`\@U\85Ù,\91ipx\1eXùç0ýæ<Lú-¶óù³î\8dh¶ÄÛÒÙ\82\96KØýéÂ\8f\19\97/¯.yxc\14ñv\954%æ)ÿ\ 6ÁÑ\8cû-ãÕ\14½"=ú\86±ædy\16/Oùm\8e÷Íæ|ÞÏ\9bÑ\9bÑßló\83Ïendstream
+endobj
+1717 0 obj<</Type/Page/Parent 1476 0 R/Contents 1718 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
+1718 0 obj<</Filter/FlateDecode/Length 943       >>stream
+x\ 1uU]\8fÚF\14}çW\¹]eWÂÆ6` Q\1f6Ù®\14©m6ZúP     E\19{\ 6\98¬=ãõ\8c\97RõÇ÷\\e\ 2a[!Àóq?ιç^?\ f\12\8añIh\96Ò8£¢\1a<S2\8bÒ~\97\1f\92hNY2\8fb>\1c}H¦tgéÓ ÆÆx¶\88\12\9aÌgxNñm\14­\aï\96\83Ñý\84\92\84\96k\18OÆ)eói4Íæ´\94\ 4³8¦eq-èQT¹\b]\95KÚmu±%í¨°U­K%Il\846ÎSPê¼hk\17ÐêúýV\15Od\rýªMû\17å{jZc´Ùà\96\94ô¥÷Â\ e¿\ 4«\9b\9bå×ALa\92Eq6Eèó\88QaÍ\9a\9cò\9e­í\9a\82ºÑ¦[üL]¸×ÖÆú­jNYÿ\8f\8fBÔtæ#\8d£Y¶ 0]Di\9fÆïÖ«!ù­ð¤\rþ\19µp\8aDYR\1f¢\12¦ÅjÏ   Ò1±°Q¥ð`\ 6\14á\82t ¤ÔOê\90úq;\18\1e3\1f£v@\1d\94õóé\10LÕMõýº\16\1fÜ\ 6d\9bî\92rmuÚ]Ý\90@uõÆØFÉ\8b\10È\ 68\14òÝÚ¶\94\84;U\97ÿV¼(¬\80s]¶Ê\14
+\85\16>t6T/ \12\95ÜÛ¶ù\ 61b¿a\9aFi\9c\80±Y4\87v\0áÃ\9aïÑN\18\92´Ì\9aÙ8:\125\84òêRÀ?Òx]KVÊy\81s'\83\88\96[u\88\7ftÃ|_@ûFv%ö´³Í\13XgTæ\rRQ\8eëÁ\15\f\89Y\10\17Õ\80\12Ê\9aBIW\ ftåÞ\12¨¿\82\94Ù\19P0\19\8cì"¦QJvT@½i\16M\98\82?\81\7fm\9b\8dí\18¨\14´
\18íû?\1e\1e        l:Þ\80³7(Së@OD\aÞ¤\96\9d\92\ e¤µ5  GR¹¢Ñ9òïD¨\98KªÅF¹K\ 1!H\1f©ëWrµµ%­Ñ¤îXï\Á]©@FD\1fq½Ùi\b\ e'\ e\ 5å-Òùx\96°Ó\12MÀU-\10\17Ýè\e[^ðÀèr\ 5¶5\8bä»\9cEn_Ô%G\a¸\9dè*È\14º²y©*7¤Úb\94°?ÛúºõÜñX\9dTï~âØ£û\98\16\98øIO<\11m .
+_èó\ f4R¾\18ñ|è~d?\ 2þ9Ýøñ\b!ÆÐDÙþÃÚñÔ\eaH½6¦\93§àóÛ Oé8I;1°ÏÕµ\90¢Æ`\10\98\16Ö\8b\92«\9bNÒg\98È       £½þ»ï\8a¾b,Ò\82     À\97ùPUí÷Tj\83jòYÿ´Ó~{Dr\18\bP\1dsÙØ\17-yn²\83À\88'\88è0J¡mÈIð0©EáѲû®J£ûùñ\85\90áe1\1fÓ8YDñ\14lËëÇÛßÞÝÒCc¿*\98ÜÙ\ 2\83ÇxÁ
+ç$0Á{\93p\16\93i4\8bè¶õ6¼cÙ±ðQЮ\11ÎÔɶ\93l\1eeS~\99!N\92\8c\97åàÓà_k¼-´endstream
+endobj
+1719 0 obj<</Type/Page/Parent 1476 0 R/Contents 1720 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1720 0 obj<</Filter/FlateDecode/Length 1619      >>stream
+x\ 1¥WMoÛF\10½ûW\frrP[±dYvzK\82\ 60Ð8n­ =ä²"\97âÖä.Ã%Å(¿¾ïí\92\12M\a-ÚÂ6l\93»óñæÍ\9bÑ×\93¹\àk.×\v¹\IR\9e\Ì.äj~5[Êòæ\1a\7f/ðSkÉÂ\8bÅÅb¶\9a¾x»>yõþµ,.d\9dÁÖêúFÖ©ÀÎ\ 5\9e$§ïrU5º\96ùj&\9f¬É\8cNåW·uÖËF7\9dÖV>\e\9bºÎËÝúåúÏ\93\v9_,aâTÙT>ÝÝþ!­7vËS\e\1cä\11ú\9b_G\7fç\97ËÙ\82Çá`>\937\eßÔ*iâ±¥Ìçý±Å5BDZ[Ûèm­\1a㬸,: §\ f\9dwY3
+G\9a¼ví6\17%m\1fzÁÐ%W\8c\1e¡'ÈäºFRJ^ä®Ø\v\8c\9bâE\9fÉü2\ 6gpG\ 3\ 6·ÕV»ÖãbYµ\róÒvgjgKm\e/\99«a¨pxÞ\98RÏä³\96ªÖ\1e/cF«>£SéÆx\f\89\9e\9eá:m;\8b+L°Éµ<¨r£&\11ùÖ4\9a\a*\ 4U«Ò\vrRâ]\81°\90bãÂÕ§yãì¦Ð%Â\8aÎQ\1aÍ[¡L¦¬ð\ en\ap'\1e\8f\bÿ~ÿN\12U\14þLî\8bv»U0*oZ\84j\e\93Äë\1f\16\1a'X\1c&q§Jd¢ë\9dIð»3M\923H\98qݨf\13§©+\15ÀG\9cµ\ fÇ«J+`\f£®Òà\81fÞ=Íx\ 6©÷ù\94\8dE\rÖ¹ñR)\1c\97Tû¤6\e\90F%\0k\87Zû½oty&ú[UÀ7kÌÃYk\13
+ÓìÅ4\ 4~\aî Å\1c\19à\ 1¼\80O\99Ù¶àSL¼\7fÓ¹úÑ\8b\ 1ukÜ/ö³H\86§]\10\9a\ 6\98        H^\ 3¿à/\1e\1d\bÂî\1a:!xìtQÈ£u\1dJ\9e«æ\1f\1a"W;-©É2P\1eü*]ª\8bÈÚZ÷<e¾\84\9b\18O\8a±E7UH\ 3,/c\95Y\a\1c\1e\99lt\92[\8763\0\99íp U\ f\17
+\92¡ËC#\96\84\8fa\99¤-\1aÔyâ\98ȱéu¨DÓ9\89E"¦$=\82ñ´çê½\94ÊZ]\a\84  Ö
+R\bÙøh5ûª\ 4=\ e-\12y\ 5o©Ú\1f%\ 1\9cLjM_(nà3
+&\16ì\r©\ 2\97$q-\9b\1d¶6®\ 1\8bÁ\8eÀÀç\88¡Ï\824\ eá\ exñJèjyÞÇ\b §\96d\ 6\8dÅ;U\r\b\ 4Ua÷\1c\95\97f\80Æ\90ìÀà\80ï1MÔ\ 1-\93Õ®\14ô@¦\89»ëôN× )Ú?MY\1aº\ 1\et\10µØoC\82^3Û\fÐ\86\8e¢\7f`Iå\98Ô)É\1d\86\r-\85\1aõ×*å=: Åy¼­õ×ÖPp\ 3v°Úå\ 6R\90(+\85V¸ÉâÚ\ 4ÊmÍ÷Ȳ^¶\9eä=ñ<à\7fP\921âìJ\f!¤CB\86Ü\ 6È\ 6~@§SÃv\ eÕü¡j\86ËÁÏ\ 1\a\14\852[k-¾Dc£k\86X\7ff\80\98ÉG\ 6n\9a^M\ 6RÜ­\ f\8d\86©3i-^\7fõ>éÇÅùõì\86³\1eLþ²X]K|;\88BxyЯ±\10£®\13oþ¿\e¾ïë(I®ì\96\9c!\9cÿÇþùâf6\7f}Äè6Õ\94G\ eAàè+PÕ@°\ eT\ ehëÉ0ï\11\97εEÚkÁ\9es%\94Rm\1c,\1c\87è7¹kÃ8\1e\89~ÚVÅ0ºÀɱÆ\816\87\ e?T\9e\1cï-E¹\b-\84N\8a#B\1aå¡øÄ\87w#\19\89üÈ¥JKL\17®;Ð-t\ 1Ö\11κ\81\ 5é'p#È\8dFìàX4G\1d=Ì°þÙ \1c\1cê>(ï\ fd\1cM¾U\94\93Ñ®\10á"\91GP\ 1\bFÿÃnøÛ\11v\89\r\83Ã\bÜàÎ'÷ý¨|JÛÑ,\e\ eFWý@gî#võºK\81WÛ°¨È&ÔÙu\ 1ü¨Á\e÷\8d\12\12\15
+(dmQL\80/u¹\ 1\8aÈNag\95¸bÌä£ÅbÒpWÀw\8a\ 5ìXv\1aí\f\18å\ 1P߶\80øX\eȨ       `í¥ÃhŸ q'~G[Êñ*¸Î\r\88\19\10ëC<1      
+DÊ!W¶\\97H%®QqÆá\7f`|wûð\13#æÉ\89C\12\14wé÷ÜYL±ñ®:U@\92I##l«\9cÁ°\18Ì\93\97\1c\15ÈvOvq×ääc,c1Ä$\ 1áù4îeL(ò\94\99\14Î=buÀ\1e\8e\196\89\12ä\8fêÇ\19{\16L|m5&y@|Ã\89\ 1¦î81Pnÿø\1c*è;ö¥ ¿\87\8e\83\ f\ 6\89 ÒéZÁhcd3y«\13\85à\ e\94Í\11qXÙâ\1eý,) ÏE¿ÃÐÚéB¾\9cî\8c
+±ß=<\84m!\86\1d\96ñIÂغ¸\1a³¬\8cà\9d\14fS«zÿå%þ\aî\18\8e\18\90aù#v<s¤Å(W\1ce³bdkÔ\16:b}\85    k\9b¾7o\8e\9f\9e\96W3~¬ûw\9fæ\ 2Á{Ò\12ô¾I\99Íru3[]-âD\9aÏ\97|öËúä·\93¿\0¹\rÍ8endstream
+endobj
+1721 0 obj<</Type/Page/Parent 1476 0 R/Contents 1722 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1722 0 obj<</Filter/FlateDecode/Length 1670      >>stream
+x\ 1\85WMsÓH\10½çWtq2U\89cçÃ1GC\96Z\ e     Yb
+\ e¹´¤±4D\9a\113\92µÞ_¿¯g$ÛQ²µ\ 5\ 4\905Óݯß{Ýþ}2§\19~Íéæ\82.\17\94V'³é\8c®/çøyµ¼ÁÏ\vüq\8a\83ËålzñÖ\a\17\8bëéÕ[\1f,\97¯\ f|\\9f\9c\7f¾¢ù\9cÖ\e\ 4_,oh\9d\11\ 2Ïf´N'ß½r\9e¬¡¦PôýþËOª8-´Q\94rxh¨õ\8aî×ò\97#6\19åζ5\19®\94'örpG\9dmË,¼ùÎp£·ê]¼,¼5}¿þu2£³ù%Ò[g\93µ\9c\90ëÓÂv\866ºÄMÞâ&nâu\f\10ð\91Ê(ÙIìÌV¬C&\92¬#µU\86J\9bãY#çF©K\96®5£°\1cSúyöC\9bÌvä\95÷\1a\95£\ 6>\8e0¤{±\0Ê1]\0TîÈ&[m[O8®ST\19PCʸ/Á3Ò\9e\12¥M.8\84ÿ\85\82ÞÄ­ág\15òÞXW\8dò¼ýz·úrÿô´?8<\bÀOi] \10~\e\95¢\ 2v;©@7Äei;¿Ï\ 6ÀdªQ®\92f\86L\9cÊ´SiLÜ\12\8fâö §Ö4Î\96\8d \1d\9b\ 6Å M\80T³ktÚ\96ì\0¾}\ 6\v\ 4é®ÐiA\8dk½¼Ù߲ǩ\8drʤ*\eãºÊ2-¹ ïÝé>íÚÙ­Î\84ZèL\8bÖ\1a\84\8c`\83\80[\9döÅ\14H@ZÑ÷ÿ¡ló\9c\93RÑêÅ¡Q\8dw6k\85mO\93\87ÕÝÓ{ò;$]  \89ú¸ã\98[Í(ü@A¼ÉfG8MÊH¼\8c¸®Ë>E\1f»3
+\9a\89.u³\ 3ËË-Â\vc\11\10Ç+²\edaÒÂY£ÿ\11öÔì}g]&lj:\ 5¦Ç,¡\11\r\1c¥ÏGï\88T|cÑ[\80ñª§8\91\ 3\93Òö\10>Mz©¿jöÓûÐ\9fóÏ\1fh\ eÚ\8bW\9cÁ\99\82\ 2æ\8béåt\8eÚØ媡ïP\8e\94xì+g\17â+\93#)4áeÁ§\81dsFu¡\8dR=\1e\15¼E)\86ÔßÚ7R60NX\8430Èl\1c{Ð*mZÔ\18:ÝS\rþ1\82¸Ó\1e\14D\17[¤'.\ 6\0\9f\a\ 4y\85;pºé\9eg\9d\ 6\8cA2Ò\rXÜ(GQO]Ú]¸n\1cíøòN7\85EX\14$e   ñªFü\8a\11\16\9aá\ 6\95¦©mM\832\8e«êÅ\9c\r\fÆë
+TÚèÈ\90QPΠd`\85ëà¯dQN¡8\13þÄL%úëÚ\ 3n\81Á\11Ýã2_)ÒX`\ 1ÝCóNŶt¼\13bEä;\85~Õ°\90=\8c(7Q{Ã\vV\9a\8e\85£\ e\9dßÄ\9cbð \15\ 6\89ý\10z\98     +\11Qø$Òc\90£\f\87à2µCV¡\8d°\0pÈÒ\9dN\9dõvÓô¼1P\8b4\86Bk\91\ 3¼\b#=Êw\ 4ë\10È+®à\fÁRT. C)È^¤ºO;²P\1eE\92\1e$\ 3öGÉ\í%s5¥?1f\ 6\90Ü$øH6ÓÅ0dº~\8eô¦\ 4\v\85\ fê\Æ cæÂj\99ÒR\ 3ÞóHg<ƬnÐ\ f(dJ+è\1c\1cÀä3àB\fuÝOþ  P       S*{\99Â\842V\15J-A-eB\82\1a\1fôc³W¥·é3, cX7bÉ\pêw\v²\84\9e°s §ÐZ$µÿDL*WF\89\14ÂL\17\bï\1f\1fCgᥣ\9eÄ"e\ 4db\932æpÌK\1cL\ 3\99\17\ 3}\8eg4p(\8c\95­\0ü@Ï3!\89(JU86Ô\ fÌÐ=åS§\13¼\ 2jcJ².Ac\8cÏCCßðÀ+ñÀ\ 3ë¾\ 17(ûA\12ÌÄ¢>!³·:,ýý
\ 6.\95ð4Ú¨\8ev\8a\9d?%µ\ 1\86\0/øa"n\8fF+'²Ãî³e\17V\8e\12¦58J\95ª\12ÙÙP\¦R\9b©á¥\11\88ìE¨X\97"\87ÿ'oLÄ»Ço\ f\9fö3±·¦\ 3\17\ 3¢ÒïÊ¢\82^l£\98N\95¡Ã¶\96VCA\87\19\ 6\19`éòbóý\86)RKË6\13\1e¹\88\86óЮSé v\8e\17Ã\\b1\8aØÛBmm\89\81RÜ8/p7\18*T\ 1ê²Ç@}`-$ee\1dÂ\14×à\aX¸'È^ñ\ fNW²UÝÆ¥óÓ~\1f\1a\85Æ\ eq+xmZ\13v*\ e\13\1e\84
+Í:\95\95¬\10C,±Úî´*3Ð\8d\19\r\85ÎEW\95Ux0Q\ 18\9apݺÚbÒ\8e©>ø   ðñCë)ô\ e;5\b(Å)ÓVAlÃ0\15\9eÂ\12\19ÿ\89\17m\12\ 6U\94@\90\ 3\12¨\ 2\14£j9\91!'«/Ö³\16ö\1e¯DºñÆ)}\ 5\9cîE&Ç\85    ä\87f\86o\14½¥\1crkì(hZ°ÉÃxq\87\95gJ\1fw\147Yt\17\9eàvB!\16§\r\14C[\821ÉÅÁCâ7\16\8cÞ¡¶Ó½\eT\\8f=/xÓúxb\ fÇð5\0e\84\19;ºûð=çüó²·Üù\ 2\96\97´\98ÏÄ\ 1\1eWw\1f\16¿d~ÞÚ\14\9a *\91ªÏ\86×Ïnf\1fäýÿXº®\16Ëéâú\ 2ë\99¼3¿\96³\7f¬Oþ:ù\17)¢Ç­endstream
+endobj
+1723 0 obj<</Type/Page/Parent 1476 0 R/Contents 1724 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1724 0 obj<</Filter/FlateDecode/Length 1761      >>stream
+x\ 1\95X]oÛ6\14}ϯ¸ÈK3 QlÇqÒ¾¥Í
+\14[¼lv±½\r´DÙl(Q%©xޯ߹$åÈr\8av(\ 2$\92x?Î=÷ÜË~=\19Ó\bÿÆt3¡«\19åÕÉ(\eÑl4Ëf4½½Áï\13üXIex1\9e]gÓá\8b÷Ë\93Ë\8foi<¥e       [³[üR\10ì\8cF´ÌÏƳl\9aM2zP¹5Î\94\9eîr¯\9e%Ý++soì\8e\16Ò>«\º\9f\96_`jJãq4u1¹\81©³\85ªsIZxI\93Ñh|N\v\ 4m\84£µPµ,Èo$\89\95ÒÊïÈ\e\97\9e¶Êoz\8eÿTua¶\8e­\8c¨uª^\93ò\8eÞÌ\ 5\aÄÞGt1¾Ê&ìõÁ\14ò\r5Öx\93\eíÎÉ
 ¸±ð%êàp¾\9cÒ\1f\8f\1fÈ¥è3ú\1cLþz\7f÷H¢.è\17iW\129\9f\93 ÂT\b\95*Yá\11Ù¶®á}àq«ê\15\1c\ edÝVÈ\ 1)·°ï\82½µ5mã\90\1dÉ\7f\90\9dF®ÈÛ\89JÒVì\bp\bB\8a\93'ʵ\925Ò7­.à\1d6qÈ\19Dqì\15\19\ 2øQÕæ\eª\fª-ËRåÁ\ 4\9fÅ_(\14\97¬\8bPU\8d\96\15\\08Sg±n/\14¸¸\1a\83&À0Ôþ*£9Ç\98ªL\vT%ß|£ÖKdôÊ×çd,Í\17\8bsR\9ce)\85o\11'jáùIc¥ã\84\19aQïèóüÓ_d\1a\ 6\90\8bìvÎËÊeôÉ\93Ð\1a\14\18 \1f?ÀñÒØ*äD\8eÁ\0¤\eã|\8dðQETPã¼\12\82pi\ e\ e\81{+\89vqF?\83\96¥5\15\15
 ðYD7ôiZ\vÎgô\11©¡ \f)3Åy`.´©eLckì\13\9e\88`×YOI\1d¸\ fþ`AZ\85\bMI%\9afà¶T\1aï\1cú\ e\ 1Â$SH\9b\h
 o\ 2R\19ÝQ-={ÆGÃ\0Je\1d\80´ñÜn)ßW"\1aúf<zÎ"5\11AM¹©]«a\96æ\9f\16T\b/V\80\99P\8fÐ\0\a\99 ûù"t\1e\1fue\1axìU4°\14ý=\81\1e17\ 3Ó\16\v\12M£U\1eñE/¬­¨ª \f,"¥\80òDÊìÉ\8f\8c÷|óNê2v\9e\võdÔ#\9b¾\1d     m9ã\88\1a{
 le.\ 5\9eõZ=ãv\ e\92\80·\ e¥\ 2Õ\83¶qX]_ï);phV>\8acb\ 5L\ 5ñ\9b/;Ü¢\ 2>,XÄ@\0\r\ f\9cZ'\aµÜB3\98¤\9c\94ÈsÓ¢Å:aêú¾§\98Qþ"\7fm\11ÓÒje\ 5$>ØG\17\83Õ\87òÆü;\928ðRÄó\95È7\90øï(&«\94\93¡RÇÆ 
 `Õ²\93àF·Ü½\10OÛB\16\8aî9zÝoL»ÞpKìh\8b\9eM\\rá\rÐe\8fQ\8f_ãUcU\15²6µ·&¶V )$\8cõ\8a\8d]~ÄÜ\r\83îìRúü²v.\bc\86V(ã\aÝ$<\ 3\11\982        \93>c+ñÄb\ 46}m%ÚÒ\9b\85Á[mÌSÛ\84^ÿ@]Iøa\98&ÿ7\9a\90  \8cr]¶\eÅCC@Ñ\ 3C1\8fâ8$¿k$Ôðxà¤P%&\13wn\92¾\10Üi#\80Bqzh\ 4\80¡\ 4\10\80\8bÁà\80O©cB©\f\8bUÛd´ä>a\14ÕpÂ\86\90]#1Û\
-ýp\94\ 5Õ\fS¥KÃ\81\13º`Y÷PÕ¢\e¦[\9e\16Òbª\94\18{r\1cÐ\19\94B¹w\11ê·½\r'©Q<ü.\8ap\87IüºcAO»\82drç¼Ts«4ó\8c¥Y\e\8181É\8bVs»i\8d¸\87E\ 6\v\ 3Öý\1d\84?s\819/ë×\19ªÃ³\12gWqÓ\88\ 6\ f\rõÚ\9fÍu&SQ\8f\8dru\8eÂ.v¨#4Xc¥  ÁKt=\8b\ e\10\88~\ 3U1õÑ\ 6è=þ\98#éùOc\bó ­±®` \84ý\ fíÏHuF q\1e\e[ü6q2£ßxÕì=ánÝÏs~¾GüÈ;ÇÆ\1a\12\16\0\9e
-\7fõÚõX+`>hÂ~Ø$ýå\9e~\96\bT
-\a1ÂÜç^éÆ\ 1,oн<\f¢\8fá®\83   \ e:\ 4"×R\16¬ì\83xAè\82Õ\18\ 1ÀFÓú!C\129ÒÊw\I8\1f\1e       \f\88üèH{Æ\10 dEA§ÉÔi\f;~÷ã\1a\88\8dc\90B\ 2×\1aÈ-oÊ\8dÆX|\95`!\ 6¦L\1fÁnm        \8a²×ó()ßYi§\19=êv½\16+4Ø]Ëæ}·C<\84¶ûÖ]æ{Ç0Õ5\16õ§Úl\81\9a£Ç»\87´ó¦\1d\95i VÎóý\86\97\a\1dy\f\ f\8cUÿÆ\rÇË|S\emÖP@^/p?\12ì¤S\v\15÷iã\9câÜ@\8d \97åîe\8f\1dº¬$\1c\80b\88làz¿úv«a¯\15bs\1aðn#\9e9\11¸Â}ÐT\r\16T&\r\1a¿ÿ9\10G\94`kÀ\a5+[èÝ\91˽\9c\a\11\16\85iµ°Ô\18¬y±\8d\ e 9^ÀÃ\ e\fÊb\rT\f4vå°y\9b\1aú\ 4\12\99í O^^\r¢fX!\ 1aábVí÷ì¤Aqõ\rR\8fÑ\11´\9eV@àÅpÚ^ö\8a\93v·þN<ð\rØà\96\9bÑ@/\82à¤Õ=qø&\r\9bñ\f×ù\9b+\9a½½\8e\17ÜÅÝÃû;z´æ\vnwtorÜ8Ó\8d\8e}\t\a.®G·ûËÜ\8f_ä§×Óìzv\83ÿ\11À²}{Ë&\7f^\9eü~ò\1f\81\9bj\0endstream
-endobj
-1694 0 obj<</Type/Page/Parent 1479 0 R/Contents 1695 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 979 0 R>>endobj
-1695 0 obj<</Filter/FlateDecode/Length 1837      >>stream
-x\ 1\8dXQS\e7\10~çWì[È\f\1c\ 1CÞJ Ii\9b\84&ÎÐ\87Ìtä\93l\vî$GºÃøß÷ÛÕ\9d¹\b2í08øNÒî~ûí·«|ß\eÓ\b?c:\9bÐñ\94ÊzoT\8cèôx\8cÏ\93ó3|Nð\e\f-äÅñéqqþÒ\8bÉxZL^x\81Ã\8bQ÷ñùýÞxrZ¼¡ñô\ 4\87Ö49>/ÆÝ·\8a¾\88\85ñø¤\98æ\a½\9dí\1d½;¡ñ\98f\vx;=?£\99\96\93G4+÷o­\9b[§©\8d&R³2¤Z|ºÆ\96ª±ÞQ­\9cZ\9a\1aOHaÙZŸñA\ f\9fß\| ë\1a\13\16ª4Ôxù²\fª1¯gw{#:\1c\1f\99f[Úo"}\9c±¹\10y¡'E_?^ÿMq\e\eS\174[ÙHªªxá³\rX^ù%ö±\99nc­Ê\95up\1cîÍs\93\83h\8c&µTÖEDB±µ\8d\9aW\86n\82­UØÒ\95¯ñ\8e.½k\82¯*\13Ø\13\13Mçi©\1c\9c\8a\9eÊ\95rKD¹26ìÐ\80ÃNgÁ®Ô\ 3/C0ý\16uoÈ,\16¦lHÛ\80\7fª-\ 1a\ 6ýç^t§N¦Å      C(XãHï\16\ 6Ä4ßÒ:ø\a«­[òsv\9f\16¶B:\19&\1c\9e\8cy\ 4É\87\1d½\ 3e\85\fûG¦)\8fÖª.ôQzÓÓd\9f\16>\90\ 1°ä\17r\ 6Òõ`K¡\88j²H\83ùÞ"\9e\8c9\ 5Ý\82G\0&{\8e\82øÞ\1a$\ 1ÈÔJ\e\ e\80\17­×UÏ9A\ 4¤*=^wA\fF+;\ f\9c·ÊûûHíº\83z\10?SD\eвfvlVª¡Úë\96\81\11\1a)-+¼Ä7à ³¾\\99ò^\18\ 5ó¼5³\8e
-H\fA\10OÔ¯\91aPAK*\149³Écï`\14xûÊ{0\bè¸=`ÚÃ\e\8cÑâæ3Bk\8f``U\961P)s»\9c"\9dÿlRM\17ѧ\97OiM\0ðþÒ¯-Ø\ 3\ 3\8e\80ìQ4e\el³}Æ\v.²§ô\fÉ\ 6Æd \ 5S\99\a\ 5áØ\91G\81%íZC\19IJTy\ eÑ\83\a@_\8c\94\1a1íµ/[Ö¡¤KLÐÚ\87¼Þ\91pe«X¤  \97¨\1a\96½C¨²\14\10´ö¤8-è+\9c\92\ 4¿\ f\1eì¹¾¢\vhN\12½\1fQÃæ kæ~â³\b\ 2ÁúR62\94ÁHD­\ 3)\86\9aÅä\80ؤsY~È!\82\0\9a\82
-\81@"¬fµ]Xlý¶ÿùúêÛë¤\81\19\988+Vv¹bÑÐ\16*\12X\92\91>\11ÏÍÊ¢VW
-죠\ 2\85º\85±9«¬PE \8f        ÷Îä6i\eh×%5ªÚ¤í¹q.\ 2\0{»Í\12\7f,èZJ¹KÙ«Hw~Îë E`vC\bI\98,~Z½ó\8a\8d²¤\10VE\95Ô"3Û\9d\99èº\13<@
-0\96ÀÎA\80\93(1À}\ 5.R\s/b\eêù¢.sý*ër»}¬±\ 1Ã\86\19Mm\8b\8fÝE¿\80\85Û\1f\e\eû\17LôÕ\ 3ðf¢rÅ,l\80è5¶6\aÌ
-\e3£O4áÕÎ<6)µ\bf\11|-gHj¥1\91ä
\ fMFÒY<!=lkàKïã'@\9c,g6{\807\16Â#\r«ÆQÌT|\1f\1c\94\87½ã]\a·ô¿¾ tª>.\9b®iÍ\10\10ðh«&¦d\ 1\1f\1d\8by)0c¶\0\11,\86\0Ç\1c\87î¢+ ,û\85P\r5WhÈ+SiyM\8d\9eSÿø'ec\D\97ìj@¨È\ 6»(ûêa\86²=ælç\ 1mÔö?DdZÐg     \8a.e\ 2Y2¸ÃQ«\93\8d\v\9c\J©§\11\87x\96X\1agxB\82ÑÊ\v\85\ 5Ê\1d³Èq-rskר±\99\a\80ºåñJÈÑ`\ 6»\87»`Tb\7fÌ\85°ÛÚK)\97:\8bC\99\88\ e\a\ 3\f¨î\87\90/\10ÙÈÍÙÁN\12\ fÌIB-\1930¶i\99\922\16uC\af&xú\95\vðI\1d\1d(Y'Å\ e¦i\83\839nøtsu)u\r\7fÒ£\9e\8bªò ÅÆ6+¬ÊÜÉ\fË@6<\96ÁÁÁI@óÍlÎ:\8857\91ds@ñ\r\86\15Ãu¢\ÒÅ]\10\99Q;\b\89yì¡Æè¤ÐAV\ 2Æ\17\ 2\9a:ë±y\c6Ò\a\92¸,\9c¤\132\raÏ®Ê\19\1a\10!³[ú\1aj\87\10ËÁæ\avR8ôB\1c{amD2É\81{HO¹\12ÿd\Ìͦ\80²¨µ\8d¥Â\f\ 4\85<}aÖb:gëºY\ fëv\13ï0̧
-C\83MmúdצѤ¯1¬C\8a\12\7fØÒe7÷Ê\13ö4«7\\7fШ?p\ eÑõ\1c&C8ö»_9\9a\ 5\14\8b©è\ eó1ÿñKtjÍ\83  æ8@+Òù4G3^¿}º\9d}êä\e\89ÆHÄ\17"qù\amû´T\9bX\ 6;G\9d­ü\86\r/M³«?6%\ 34ÀâHBë\1cë\1f\96\ 3\95Hb\8e·\83q´»\81diÁ\8cºõm ?­k\1f\1fQàr\1c\1cï+ig2õnDÉïPW(ô·\17¸\9còO\ 2ñåAé´\18s\ e\80\18¤\87\83\7f\ 1qÆ[®l9\ 6\f¡ô'-\ 2\fý\91\99o\88I\ 6\ 5bª·ÐTý\e&à3Ün»+a\16:\8aVn¬À½Tk¹Ä\81öO¹{\19F\99êûÛÁ Mv÷>V_î\12\98é\96\10\1e\87;jf6í\99ü!ÊÅ\8döU0˶Rá\15¨\91r{\0¹Ä\90\84ª\aÁ\1c\92\8f\81\ fuݬ1bEÚ\184UÞ\98àï7u\198ï.eã)þãàü\98¦ÓóT       iõMðw|q¼\1a\ eÁìáa¿áðlô\86\93ñ\7f\aÜ\13\18\98\9eN0\eó¦Ñ\88\ fûu¶÷×Þ¿Ï\8d|Üendstream
-endobj
-1696 0 obj<</Type/Page/Parent 1479 0 R/Contents 1697 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 982 0 R>>endobj
-1697 0 obj<</Filter/FlateDecode/Length 2029      >>stream
-x\ 1\85XMsÛ8\12½ûWô\9e¢TIÔ\97-Ùµ\87-'\13ï¤R\8e½\89¶rñ\ 5$!\11c\12Ð\10¤¹ú÷ûºAÒ\14ãÌT*¶e\0\8dîׯ_7üçÅ\92\16ø·¤í\8aÖ\eJ\8a\8bE´ «Åe´¡Ëë-~^á\7f©iÏ\vØÚ\7fùöï\8bíM´¤õz\e­¨ åb\1dÝ´\9frú~1ü\8cÕË«h;\\1d|Æêf\13]\ fW\a\9f±z³\88Ö\83Uöpµ¾Â×\9f\9bmt9þý\87ÝÅüî\92\96KÚí\11ìæzK»TBYÐ.\99ì2ãé÷\87\1f»\aÊ\94§XkKMiª
-ß÷¥+HÑ»o:ý]U³DÛª4É;:êÒ\1fuR\99\17=%ïÈìéäjR@ªöÆ\1eHYWeº¤Ôx\9c\88ëÊ8;}¿ûãbA³å\1a\88íÒ    \9f(Ô     ·¾hª\1c\15.5û\13á\1c\19\8bc5ì;ëa¿ÐM¦*Þ³7ø\86\r\rÎáüù\ 5Ô¸òÙG|ÍünÓ\ 6\8c´ÎV\e \82\e\7fd'ò\99«ó\94>³µ
-¡ÿ+l\7fŧß-À¨<w\8d\97;¿ßÞ\7f¸%\95\16ÆrTªr%\e)u~"ge\8bªá\9c­L¢Øu*t\92)l.|·áënþÃØÕ\97\11\14\8f¿}¤=\9bCh#\enO©+\94akE\fÜ#ê\8c\0k|&ë(wö\0´­Ö)»$\88z}TpRóU³\ 1ì*I\m«Þ¥\10\16,½è²Å.i±\9bm£ë%]­ÀN ÷´Úlé\1c\Y\9fm6\ 1\81\ek ¢R&\ 2C\8c\0\92º\0.\7f\83u !ï×Þ\1c,baLüÉW\1a,\1câ\ e\10>¿RÎ\14Ç\³}¾0\84\ 3ð\15È\92\83àC\98 gJ\8dñ\19\83õ4Ù+S"\87Zy\93\9f\9eÞ\83}\95>0t¤ÿ\87L³Õ\11äR\17Â?Î\9c³Â¥ñ]C`§\ 1\88>B\ e\fç#Ú1±½2é\14\94T\ 5'óë\8e°úx{\8fëQh\95TXW,{\ 3×Õ\88>±Fµ\96|\8acÀO\\1eð\89S\rl$ÐL{T\99ò}\81\9c'9äp\90â\e\88\16\vÆlu\1d-oh&Ê\ 2\16,7ÑU´\8aè\9bþ³6¥Àî\ 3)\86\123iS$lT\b²\88\15%ÎîÍ¡\ 6º\ \9c\ 3\b8>\96\8f¤.Kd\12é\10!\89¢Q9OèÃíÇ/ôyGÿ}üÇù½\93\96\13¯\94É\99\85§\11X(\1aÏè\8a\1c½êÄ\84b\95<S}\94"\f\96Wm\1dLæºJæGUDiXèÄe\ 2\81\83®<qd\90ÌÊÿÂ+)Jû®"\15¼\82ô¥(v\8a\9d«X&\9f\7fòçþö˧\91ï\ f_?Ñ×\87\1f£+ÀïNáîµ\17ýmL\ 5rCMàô\e\98{J\14\ 4E=Cj+È\86bþ£\8c\1c\9c\12\96\94\ 3
-\81\7fb\9e\17\8cÕ\81¯ï<5Ù\18VN`£¬¨4ê_µf$<A\16U\15lá^1ÆæÙYÜÇBÆú\8fs w©=\10ÕAà\ 3àèÑÒ¾~ÊDGº\90¾\11\901p¥9\18«rò\15\175~u¢Fã\ 28Ðv®\83®Ðìj\91uèN\ f\9f\14\12"?xaçÁáÇ\88þ9{zß^Õ\ 1¿Ã=9¬û\8a £\9eÉ\rå\ e\12ð4é~µF×F\8fÅ\8aè"·Y\18|z?EÝ7p'Ékh\1fKWm¥ûa\15ÎØ\18U\9fRªtá¬\14Ä@Ò\1es\14=\vî\1e\18\11K¿\b\977:\ 6  \ e\8cÂ\14Í]\84â¤!*\9cVJr\87r¨ZG\vS\96¬¸\ 6(±B\9dµagG覮±¹ëd^£O×e\82
-F\1a;\1f{t EÜHé·ÐÊBãâܨØä¦êÔ
-ìm]ñ\19Ô\0H\80\ e,\12~ʸ5:ÏùûÑq¥\19\98\85\15¸\8cöe\12-J4ÀæXº\17\93"¡q;.\ 4LZ\ 2NEd\9f&Ǽ>\1c\84°£Þ\vFÖ¸\e\05\80\1eî© \100\vaæË­À8\ 2¦/\96Ï A\99\86´°\12\aµÃô\12\8c\92\8b®w\ 6µ¬\88³\1af\1d.áÜÄ¥*\r\10\ 1*\88\buööÝ¡[Ft\87ôA\99xc\18ÞÚ>êÑï¶ÑrÚçWÙD3\ 1E\85\v­0pq8ó»¾äpÿl\11m/g«UXék.\\133\81àV\9dW\b\ 5zbÆiÈt~Ü×¹´¤\9cÇE\8cwH\9e\14gª_tî\8eܾÁÓä\19Tõ\\98o8![\7fåJØßu-p`½\fC\9f4¬5\94\vnr9a¬ãr~¨«óhXE¥m}Ðà>R]©\92\ f´!qÒc\90ä\ 4\1apb\1c=\e\84àö{¦¶\84\12È\85y\10:ÐU+\12V[Ë÷¶ù\12ªbÒ¢/íqöb@Y\18\v~]u\92\88Û¾Ó#ß6\8b×=ö\8d=\=c[\9d\98\9cÇ>áèP>Ü\1a\ 3\110@ð\14\17|\ax\8e5ZÚ&3\1e\f\9dÜK\1fñ50ã³£xxw\98ðQíÀÔ¦ªL¥ðÚló\0\ 6²\ 6\96¢Ô\9aÌ$\19ùú\88ÁEÜÑc.\8c»q\8fÊ \e\87÷\ 3|\12¤\ 6ø\ 6\91å\84°üpmµUؾ^\82X0çUÃ\ 3I§,\98ÂÀÔ\12]ä¬\1e¡K\90(6\15\10í«f^ûr\8eÁw\ft\9f\93nçÀ79S(\11Ú×'Û\84P\e\8c\13n\8f\bo\bn        \14×&g]\12UGÑ\ 4\ 6¢§µ±Í¤dººB ¨\83\ 2Ôi'ÔÝ\9bLÞ<]bú~ÄÖ2\8cRP2\11cyh\0(\14A'k¯\80)N\x\0aLg\1d\92r\87ÌL©8µy\1e\91¤\9dñåý     A\1fcÉÆßV A\7f\84<ïþ+© o\8f÷,1¢A-\ 4ó;(Gû@æ\89W\9e\8b­r,#úØN­a>éb\16´ÏóË"Ò>6w\0í|Úe¦\84³aúí\a\ 4<y\8e%\92\88×)Þ\95æ\90UÈ4Ø\97¢ð`eoJi\ 5¥æ
-ÒG/Ïf¼°\91ù\11\90\16\92ï½Â8\9aꣶò\ 4«\8f\90\9e&ÓÈ¢¼\11ø`_\95¸÷Ÿڳ®   \998×ßeT\aäå\bGæw×-@Ë\rþ.r½¦Íæ:¼\v\ 3é\1e\a&atøðÖ\93\10Ù»Yw`¶]Üð³àW/\88K\18Ü\­ð'
-Þ´XòáO»\8bÿ\ü\1f\vÍqäendstream
-endobj
-1698 0 obj<</Type/Page/Parent 1479 0 R/Contents 1699 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 989 0 R>>endobj
-1699 0 obj<</Filter/FlateDecode/Length 1361      >>stream
-x\ 1\9dW[oÛ6\14~÷¯8@\1fâ¢1uñ%j±\rH×µÈCÚmñÛ:\f\94DÙl(Ñ\13¥¸\ 1öãw\ e/¶lÇë\9a\ 4ql\91üÎwnß¡ÿ\1e%\10ão\ 2W)L\17PÔ£\98Å0Ïæø:Ë®ð5Å¿V@e\17\92,yr\ 11Xì_~ÿ0J§36\85$MY\ 65¤¯\13\9f\14Ü\8dR\82\9d»µ$Ép\8fý°[\9a&,ÅcÙ\ 2OÙ÷´òv9\8aÞÇð\1a\96\15ò]dø¦´FcX\16ãVëîÅËå\17Ü\93¸=Ó\14OãZ9æ}§\vÝTnÙCLìú$\89Ñ:îù¯ó5¿\17P(Á\9bç"´5\10\ 1¹b\ 5/Öâ¹0,r(}ûl\bòå¹æm\1cdc:®\94ÃÀ¤&\94\ f\1fÌtA¡\®¥\81­Tê\12òG(EÅ{Õ]\82?\bw×·o¯ñ\13\ 4\1a\ eb\1cõ¦\8d\94\8a\f¯s~haÌàN\bèÖ\ 2j\8e\87\1d\8b¾\16MÇ;©\e\90\15\9eÎÅ0I¦XCÈfË\9b\ e:}dÞèZl×\ 2ËZ(#\18Üt\961pe4ä½T¥5µ\95M.\9b²\ 4ñU\14}Çs%\807%(\99·¼\95Â0Çòµ\8f\ 3ÚM3,;´\9b\9c!\a\ 6?ÛÌcμÇ\89ß<n\8cÙÊ®X³}q\ 6 ±5CÞz
-{\93\87q!\8bÔ&6îb¿\v\1a!J\81^hhû\86\9cqçæÁx\0.\ fñÆPrQc0»u«ûÕ\1a\ 2I\vHp9ö\82ÞH\87\8d¸²\85M«7¢% Aà)\95\94\16s       F;#(3¶\\ 6¤\a}·§Vl\801W\ 5\91Ñ}[\88\880ôøþ/\1f\16\86é¢G\87N\fðo\J+ÝcÚd\87^\14Â\18Þ>\92+¶ )È\95VJ#ä
-Ìc\9dk%\v\8cdsÿæûh«\ 6&ÆÒ9Ãòô1KÏ2¿nJj\1a[\87\ 57\ 2t\ 5w\98\15\96\9ey\1e7Ûc2?%\ 2®ý\9eZbÉa\18¦        Î\86øÊië\93ù³\81 C\93°w×\8eçÍì\19\1cæ÷Ø|:KX\16§ß2¿\87\18Ë,À\9c2;2\7f>C\1fõö\12¸\ 1\8a\ 1)Ï®ED\89\95v\18´q$ºbWÅ\83\8e\ f\12\82DaÕ[è\8dhmÿ¯°\ 57\80úFRã{ïA\1aI2Tµº>mëAÿ\ 5ír<öf\\7f3¸}ü~\8a\95DËJë{l\ f\9c\89\1d)=¯:¤K.cÿìªÒ\8féI:sâ\ 4þgÃQôÊ7ö\13¡Ñ¤°\1aK4\89½\9fÇa¿YóRo\87ûÏl´±rûà\ 48z\1fü·ÒpV-q^\r5×K!Í2\92=ºGÔ¨i8¢Ô#¥\ 5ç\a\8aJ\83\89{B_Ué\86õqüí\rÀ\9aiÄ×.xã§U'kA¥Ô¢\10\99NÔxñʱºPCó¾#ýÂ\80W\1cWZø<¦IDeWêæ\82\94Í˽=ñù¥\1f\87¸JçjÞôD{\97 ÿ§Ä\91Áù\17\ 5W`ò\0ÿÀª\15\9b\8e\82\e\86\112%}5ÇUvØ\8eÇÑá\ f\*;g1ª¡\84m3\88\r伸\a\ ex\89Âÿ¸\ 5ýÿæ\f\9e\ eg°©ó'ºo01îÄ\83\82\roy-0ÒXâ8»ý<õ\82\1cPl©\11\ fÌu×jeó\9a\8b5\7f\90ºEÅvîí'[ðèÈí\ 1A·2\98\94á"\13L\1e\1d\85åZàp \8a¥0E+s[\93Pkû¤Ãp\86)\12\8c\7f\1egX\1eX\11èã
-/?§JpÎ\96íÿ-7Äa 5µ.eåo\ 4²)T_º\9bÚ~¬\ 6\róáûc¥tÎÕ\9f`DAw\84]U\1eËFØ\18\f\ eÕá\aÆØOO-¼@XÊ^\87\86E\9bÔ)¤ª\rf\14«ª[ÃÅ«\8bK'bï>Ý^ß||\15\96   0½Ú\v\91\ fZ\80Ôö\9a3\86\1fá\15í\9c\f·ZÍzA\86 \97%6*It\12ã\ fUHjßTX\16\9e\14\91\1cb\ 4s\b@ødÈ"Lìqz\14½Ïü5*\99áw®l
-\8b«\85û\12ã.Å¿¶ú\v\86\15Þ\r\96l²À/^x`r\15Ó·§pG\85¥0$ÞXJøjàSoei¶ÈØbî\am\12Û9øËrôÛè_Oö\17\endstream
-endobj
-1700 0 obj<</Type/Page/Parent 1479 0 R/Contents 1701 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1000 0 R>>endobj
-1701 0 obj<</Filter/FlateDecode/Length 1374      >>stream
-x\ 1­VkoÛ6\14ý\9e_q×¢\88\8bŲ,?â\16\18\86¤I\8a\fhÓ-.\8a\ 1ýBK´­T"UR²g`?~ç\92\94í*m\81¢ËðDò>Î=÷ð~>\19R\8cß!\9d'4\9aRZ\9eÄQ\8c\8f¿^\9f$çQLÓóó(¡\92fÓh\1c\1e
\ fk\93I4ÅÚ0\19cÏÔ=\1d\16Çãhæ\16_`ÓÔ=\1d\16\93\91³:\1c\8eج{:,\ e\13¼\84Ù8á\93î\89\17\11\1c\11>Ç3\ e-Á¿\91´t\vcx\9fu\17.ç'\83\9b\98^Ð|\89d§3|É\\8e1ÍÓ\1eñÏSj¬¤U\9eYZ\1aÍNñCµ¦Ä}YjC\99.E®hetSÙçó\a$Oýa\fwó¬·ÍÕ"W\19[à¥\1eýæMôÝy~Õ?Þ\1e|\8a¢Ð[\92ª)¥\11\15é%µ¦\10\90±$Øèw]òq\8eÞ¸ ØóNº¯ñãðÜÞ\83¹£Í_\vo\95od7\1c@-
-²kY\14ô±§U±#%e&3Ê\97T¯å\8eÖ\ 2§jY(Y\93HSiíÇç]¸jYV\85¨%­u)³Ü´\98\røy\0\ 4T=xv5xö\9e\17\8eòØ\9fs\ 1ìO\ 1úÁBØ5¿\18ܼ á\90KíRJ\y\86Óh\12\81c\11ý¡QCÄI÷\17o./\b°m¤áBó»wW¯B\99½¥q°\84\b\12&>
-}­jÞ\8fÍKÍÕËÕ\8aR]\96\'X)Å'$ß5ÿÐ:=88£íZ\1aéý\88à§GWwo.nß~é½G¹u6\95\ 1\ 6\84\e\aá\80/;Ý\18ú\0òé­mI\8a\96/²2W¹­A4íð\1eÜ´é9\a¢=ËTBp\1a\85\ 4ý\ e§\98\f\95É7y!WÒ\92\87\91½\1c\85ã{$ò¾¡+®\ e\19­ë§~u²ÏyÐX3(t*\8a\81\15åB\f¸\9cÌ\1e\a[ÿÞ\95¥ÿ\9e¾\93Á\91\8b9À¯\8c®\90\84\91¶Ò
-}\1dÊÛÖÉ®uSd´\90/é ó\ 1äå\92ù໸}µ"O~°z\£\ eTÞ.qM\ 3^-o9\99\99g[àí$¢ûZ\98\9a\9aÊE\1a$"£LÈ\12ªáÈ'mMyý\8b\8f¿-í\11\e©ê\ 6\92³;cΠ±ÑÂ[¡jÇ[\9dåË\9dç\92-\17\1d¼ÙÔä\95Û!\9a\1a\ 2Xç(\13z>W\e\1d\98Þ   ¦\93&XîûM\ 3bC\15ÌZV¹Ð~ìæ\8c\16\r\87Î4¯´µù¢ð%ã\8c4\96\1e\1a
-\ 5WØe\9cZ.scë\88æÚÇ\vxºÞ\83,s\9bç\90¢3\88í·û\17|g\82¾ô\10þ\14}[P¾Y\8d\ f\8cR¡Há\16\10\85Õd\1aÅ\8du\9a¡NmqK\9dÉS$¹\ 6<®fNc\0\17oFÈ   Ó\9deVZÞ\ 5abTüV¡ìVv\99\87\ 2¢5>7\807Üv\8cm*Òµ<\ 3Ì\8de\15c]kû\aê£)-r`\87\ 3Â\ 2AïÉ×Ô\ 5ÕT\19ëùÞ\12äÑÉd§ ðjvØ%|A}¨,4®ÆÞ!.\93\b;\ 15ÅJ2YjÎÝ\89 Î\1d¢\ 2Iw|Å4Ð4é\9a@ð \10\ 2ü[7\1dç\fµT\82éÕ\ 5\98\16°\94e\9cõiÿò´£\18\ 54âÿd\ 5õ/¿I\8cÛÓ\12\8a\1d\9aA\18¡t\9e¹Ô\8a\9cû-Ü0¶A¢\8cu\10\0`Ã÷2\1a\13¤PÈ"\8a~P\84+K}!é_\f\e²j\e-\"_\11\13ÇÆ\8e\9e\82\86Y\93¢`M]¡k}À¨ÜY\18\r\8e\83õQ\86ú´wë(N&ô;ÅñK÷÷E\14GBöVo\91^K0\97\r\v\1d©\99[\9aV¸;,\ 6      ´\12XÈ¢Å\1a¹`)aÌü`\85WîæÄ\95ìkñsý\8e;k©©ï(w¸Y\8f¢v\88\85\9bG¦¸^\17"ýD\ 20±Ê-;QA\1eÜ}þ(Ö\88nÐXò\1f\81\ 1
-ízë\92å¬öãH\87ôm»ìù\eÆà>¦u7Ѽº¾ûõÑÕ\8aÀÛÑ\96×\17\8dÉ0ñµ¦ÃÐË+¯YF<\80³p£\ f§\18Ëg#\fÚafòZÿÎè\a\99Öt¥SÌ»èm.\v\9fì·\aúç1\8fæ½pëÑ\1c¦¹#\ 1\9dZYºk\9c£ñt\16M'       &yÞ\1a\8fØÄõüäÏ\93ÿ\0IÈÓÚendstream
-endobj
-1702 0 obj<</Type/Page/Parent 1479 0 R/Contents 1703 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1703 0 obj<</Filter/FlateDecode/Length 1162      >>stream
-x\ 1½V[oâF\14~çW\1c¥H°Z°¹\85\90\95VU\12ÂnÔM \8bÛªÒ¾\8cí1LbÏ°3ã°¨\7f¾gfl æ¢JU\e\14\84=gÎíûÎå{­\v\1dütáª\aý!DY­ãu ß\exC\18\8c®ðw\ fÿ%\85¤v\eÔüI\a®!HðÆp\84?b@éN\a\82¨yw?}ÿ¬Û$~\17<×:Ðîv¼\11
-Ø÷/2Ô\v}ä P\ f\SÉ©þMQi\ 4üÉ\0º]g¢Ý\e\1a\rÓð\95\89\9b\16\92¼Rà$£1d\e\88EF\18\87\ 6\1ao\0áæ\9dSB
-%MX3\1e2<QtE$Ñ¢b¥        LAã}Ã+¼ë\r½\811ú§È!"\1c-\80^RPh\11\94\90\1aD\82/\18_\80\16° \1a\16Rä+`<\112#\9a        \ e\89\14\99½4\eß}pîl³ÖÆÄZýR\bý\93;ìº\94ö{x\82©\8c\9b~®¤\9f\8a\88¤>Ú\r\89\8f\ 1øküJ\ 4´\17o4¶í­7É\1e»\9cÜÄ\19ãª\88j\1f\8câÜ$üÌñ§\9c*}æüNd«\1c¡;+µ\14iz\è\8eb2gy\982µ<.1\8f\964#p2\90{C\9d\95d\8a\9e\96ùdÑ\99\89\94E\e¸\93Ô\10\0¦k^X<¶\0ÑNr\1eY(\e\880åºa©ÀÅ\1aB
-¹Bî\15àç\9c%\f\1f1\b­\f5B¡\97`¡³tD\ 6\18y©ì\93¥\8aò \90\eÃ\8f\12\9b¾×3¨'\98*\81l]@$²\fɼåÎ^=\1c\90çrKtç*¬\88Rk[\84\95àv¼VK\91§±e/±®£7D£ÛâEáó\v\85\8dÈ%\94Dsæ\9b\91\7fL{Óépþc2B\e]Y\9b.ü5ü`ÌL\ 2§ëJä9\8bU\v\16ö{)°Ðb&i\84H1ê\12\17Ó\84ä©\ 6dJ\9aªj©\1aÄl}ºº4U\8b\82#\90\88¶Ë:ö\ 1çA\99Ý·ÑaÃ*+\7f¯2\ f\92ku¹\9b×{mjärÛ\1dz\97\ez0a?l\a`\9ci\ f{\8f&Rc\97P\91d+WUþäºì¤Û\9e°½ßõà\vãù\ fgé !bÀîdç_Ñå*¸7!&4Ã\96Ä)\8d\95!­õ\ 4Ð\15\92\94,ô';M*\v\ f´ \19«\ 6ù\111g\f!Ãq!sÎ\91ËHv\ 1$BF¯L¡£A¶í\18\ 5ï5Q/-Ã8ë¥q2\131K\1c\89*\993%f¹©6JÓ\fµ/éÆÚ35§\91|Ècç*Î4;F\1co\1d\10>\ 6÷6§Øþ¹yc\ 6VáÏW\1a\7fF-f\9a\9cÓd\1aó¡.\18Ó\90\11î\15P\9bhH\1c\97\9c³\100þ*°ÄL&Jxp\84amÀJ\8a\95\9b\82{î(ú=§<¢\1e<n*Dr\8f
-át\8e\9c\ 5±U\959\82`ËD]\95;E­í\98s\17vù>2½\9cÈ\1e\91Ëd\97\95\8e£ÜÖ|º±\98\ 2ßØuâ"E®\82ö[\95Éã¶S\16»É¶¢¬\96oÍoïà/ãÂÞZ\ 2Åß/\ f\8f\17óÇÛ\8b\13\ 24ZâÔåP¿\98\9b*6ý¹n.áB!_YDÕ\a8uµ(¾£ãÜ\94\19ÔÑîx:\v\1e¦Oó\13æ¿Þ\a¿ß|ùXÿùĹqïÄ\91\víé\7f\ fÍ\10\vêh÷\1f\85Öû\17±ýáv»Sùÿ\8f Û/\88#\8cr\88õ\8b°üɨhDÝ!nÓ£>.ÎÅf<¿y¼½\81\99\14Ï8ì`,¢<Ã]Ãî\90\ 6Ñvy¡}Õ1«v³\18\ f\10àffh\18\985TÁ4·\9bõ`8ò\86\97=·Av;\ 3£â>¨ýZû\e6õc;endstream
-endobj
-1704 0 obj<</Type/Page/Parent 1479 0 R/Contents 1705 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1705 0 obj<</Filter/FlateDecode/Length 912       >>stream
-x\ 1½VmoÓH\10þ\9e\90D4=Õ¯IÝ\80\14\9dZA¥\8a\ 3îht÷¡á\84coðR{7x×\rÕ\95ÿÎìÚ.i®.\b!\12åÅ»óòÌìÌ3û±\17À§w\80£\10ã\bIÑó]\1fa4v'\98L\8fÌ\7fú\94\f«Þɼç\9dúx\82ù\8a4¢)ýIAÒ¾\8fy2BóbI&÷ç\1fz>\9cÀw§$s»u\81á\9bçó¿\8fÿ\80Ã>\92    'n\17Âÿ­\8c\9b\95·xü\18ZVI\ 6ï*.½\&\97\9eª\96êZyªXâæ\ 6\8bE\87?BTû\9b\ 5\1d\12%ÓU)Z\14;B\9fͳw:A\10Ô!;adÂ9[áZVØÈ*O\91óKFøPV\ 2\e.\96\¤)¸@ZÅ9Ò\98\15\90); \1c®ó8!á\8c\91\96`µõÛ|:á\84\95­FÙ«\94\8d:Î=\15\17ËØ#\17^ë©\ 3!ù7^ا¸Xç\fñR^1B§³§?Ã)\9c\93\ e¿®Y§s\r£:\949\81ØSZ®÷°ªD¢9%#\8b\15b$²,\99ZK\91\1eLèòÚdQe\95F*75~ÅÊ+\9e0\92\17\94h)/U\93î\8c«ÎH\8c»Åh±\8fÿ\1a0»UøâìÕ³YÿüåI¿CÀT0\1cª\8aþ9ÁÑ\ 6 \8544\9ahA=E\97þ%Ïóu)\13P}¦\1d>\9aº\1cþÞ±ÿ@\17Õø_ý\ 2üâ[øÃÙ\8f\aðOÝ,]Iüi\87°Ý*÷pR}\10ãî@~\98´Ê\ 2Îê^ÒzàÌÑïJÈ÷PÕ\93\96\9c\e¦
-"÷Ð\1d»\91\eº8\97y\re|ßÃi¯\ 5T-p`ÉM0\96\9a\86$êâ+jMjäZ\93F\85\91ÇtâqÁµ\9bÖÄä\9aÎ`å]\a#(\1d\97ºZC%%_k\17g\1a\95"r̯!\ 5}Ù}\vË\9cÎØ\r\r\a\9aα]oJ\10K"\ 5\95\15rSk|%[-%Y­99\8b\89è,M\12\a\93å<§0¸¸\v}ËÏ}äº\13À\81\r\89G\13\v!\91BÇd\9d\12V0\9d\19\87ÀC¬4\18\18³[õ7\18Ô8·²vg·\11\ f\ 3×Î\1c¾Â\ 5\1eÁIa!Ó\fÀÛ\1d\8btF¢\1dÂÛ¿\ 3«\ 2!5\9df%4ëâ$ö\89ë\1d\9b\83£å¶\9aaïº1{6Y".(í\86\ 2\99R\8b\11S\8bý\1d»­â\9a§³wmDÞZÑÐÇM\87¬Õ¹\95}Oã\14Î\ 6Ãà;\15\14A"ë{Êû\17øÍóö\9a'¸æá]\87Ó\vô\87\ 4²\8fG3jMØÛ\88\8dÓ¬\1a\1dïtÚtD\10Ñmi:Ft4­§ßùñË\93cüYÊ\ f,Ñx&\93ª A\17\9b)h4\9dVÁ9òÍUjÔt+æLÙ¡37µ¥ðº²§2\89¦nt\18ÒµÉ\88ú\87ÆÄóyï¯Þ\17êþ\95ãendstream
-endobj
-1706 0 obj<</Type/Page/Parent 1479 0 R/Contents 1707 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1707 0 obj<</Filter/FlateDecode/Length 1057      >>stream
-x\ 1\9dV]oÛ6\14}÷¯¸H\aÔ\1dlʲ\1dÙm\1f\86dn\80=dí\16\ fÃ\80\0\ 3-Ñ6c\89TIÉF°õ¿÷\90\94lÇζt\b\9c8"ï×¹çÜ«Ï\9d\98\ 6ø\89i2¤QBiÑ\19°\ 1\rÇ#ü\1eO'î;>FÐÒ\1fÄ\93    \e\9f\1e\Ï;ÑÍ\80ÞÒ|    WÉ\14_2\82\9bÁ\80æi÷Ë\9bùCg@ýaÌ\12\1ct_Ñ]ÅM\15ÙJ\97T\1a\9d
-k\85E\88ϵ4"£¥6dy±àd\85Ù
-sb\9er+èâ»ø\82¤:9zm\9dã×÷o\9açñ\80M}ÄÓÿéC&+ªÖ\ 2®r©\10½Òdk<{Ôµ\81c8Ês^I­è¾[òjm{´Óf³2º.{´Ö¶úÏ("]ëPªT+º»½\9e\9d¤ADQmM\94ë\94ç\91/9ZH\15Ùb\91Q\7fF}K÷÷ç60{Æ\10F,ÕjÙÜoÁ~\9aÄÏ/OBµIäß\90Ä\96»jV.ó³Ê^\94àïR\ 1\81\8cf\\14ºmoÛÆçÊvxí\82Qv\ eÕû÷'p\80!º<'\b<od\9e;2\92+üÜÓþØ5ç_\8e¿!\97ïÏ\18\844|¿.~³|%ÞQ$ª4\92JV,\vô`A\11ô\17y¦Óßø\v\11}¹8Ïh_z\8b\9e°<u×¢\9b1Åq\90j\7fè\15yµâRõH.\1dýÁó:Ï \8b\8dpª0µjÔ(\15e5Ï)ó½¡Bg¢\aÕ\969OEp¼\1f\ 1ýá\18S\ 2Z\7f\9eI\b¡ N²©\91eE|¡·\82v²Z¿û¿q¨\7f\1dL߶Sª)=NØ%\e±\ 4\1fúUxT¡Ö\7fÀé§\0\90       ÷\\8aáâe\ 3h\97Zv\1cjêöNï´\ 4;¾C\yVE7\a_ÇT:ºÛào\89»  &-\95Zªªç[g×¾w\v\ 1Ìrß>\8c\ 4%RÜÔmº\98Äñ\88\r]w\8e§,qx¤L\17 \ 2\15¢X\bC\ fµ\ 5úvO\f\815ÀÉ\8f+ªAEÖbzàÓ4ô½\81uÂèGÌ$¹ªaÙj\e¥Ò§«Ûg0\ e\rÊk\8e¦\17<\13äG5
-]r\13ÊÜ(½C9\0 ÅÈá×Ð\94#\94\eÕnèVz%Ð%èqºãÊc\81ì]ü#,\1aO\ e(\8c\81­D\^ÃVU2\r\8bÀí%í¼ù½$±¶z´\11¢\84\ 6x\86h\8cæàlÉ\vrsØÕÜØÉ\1c\vF   ¬68_\9c\ 6æy\ 5\3,\9dÐN[\89\92aëÌdæ{jDÓ\r\18\17\1c¢\ðtS\97\96´g#r2r%\15\84\19\10Å.÷êîúé\81tXìVö]Zº\8c~p\98(\ræd\1a\10\9fÀ\ 1\84Ù~>\r\93Ð\99?ÜtÀ\9c\fÅp_+Æ@\1d¨\ 6L\ fýpju\8có§\989\94ÐËÆÌ{\ 3]S]\94HªAa?Nö¼j\19ËXd±¡S\11)k\11#]?¥Q\972¼C¤\956\8f´x\ 4¦[\1d\88\80ΠF±\97Y\8b\92{/iª3ZW¯\82»\83\b=âm¬\bhþÙ\10\85Y\1dîN\e¼ã\ 4/KÓ\11^\7fâ ®»«Ûë+údô\83\13àL§u\ 16yN8Ë~kÐ\9f\fÜ\vS·Ñ\fÍ1^\1cy\81\93ZYúXûÞ\8c\93)K.\87x¿rW\a\89sñaÞù¥ó\15E²Þÿendstream
-endobj
-1708 0 obj<</Type/Page/Parent 1479 0 R/Contents 1709 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1709 0 obj<</Filter/FlateDecode/Length 1426      >>stream
-x\ 1­X]o\1a9\14}ϯ¸Ò¾P)\19 IIºR\1eZu«\8d´U»\e\1e+UfÆ\ 47\1e\9bÚ\9eRþý\9ek\8fa\98LË~@\94(\82ñý:çÜ{Í׳)Mð3¥\9b\9aQY\9fM\8a      Í.¯\8akº¾½Áÿ\97øu\92\96goægãw×4\9dÒ|\89#³Û\e\9aW\84Ç'\13\9a\97£¥³5\85\95¤\17ó/x\10\83£¢\18{Û¸R¦÷³\81\11UÊÉ2X·-hþüØZÔ\9f7Ê,\94©
-oûg\97JKò+Ûè\8a\16\92J»V²¢`c\0Ú\96"(kÈ.i\v×d\11\96c\13\13º\98^\15\97\88{\ 4ûäeÙ8\15¶TÛªÑÒ\17ôÁP½¥¿dõ»\bä·>Èú\1c6\95§\8dðCÙ\8dµZ\8c³\9d~\94\9d\faøÁjá\94g{\92à¾\17P6\92\83Aѽª$)Ó¯è¸ñîg~\8b\14GF\0I_Î\0'\92\86_Ò§/3>T®\891\12õB´H\8d\8d÷\e\15ÊÕø\10\ 5\1aðú\8a^%>ì\9cLgÅË⪸)¦\ 5ý¡Ló}üÎIùæáí\85_ËR-UI\1f_¿\aff©\1e\e\17¡:¬\\8c\98ã\1dàÅX\86\92Ã*ª\14òáÉ\11EfTVz26\90\91\89\16Ì\91\950\8f²*è\9e¾4>\90\96Ë\90 å#@W\ 5\ 6ù×\¼]Zשv¢      +ÂËɯ\r\98[ñÿü:¨I,\98\ f¢|\ 2iÁ/÷M\95ò.\11é\82-°ufᤸå\ 4EYÚÆ\84\13\18íJ\13PäêEêç@\98Áàõ=S\f8¤Ò\b­í&r²ñ\92%Óª\8eP\12a\88\83\96&¨VRmJ´\91è  Ldc]-tN«\15\97\8f -\14ÈO\0ho!×O#ëHP\90®VFh\ 4å=Túé\ 5\14\91\80\84\8fA ÂT´\fë\1c\831WIÇ
-\97F,`\r\96\11n\e\8e\ 5\0ÙS-¶`\83\ 3Ô\99\ 5\89\ 21(¤ä\14H2 .&Øw\85xª¢JdØ÷¬\98Cz3Ëk\14\19\99\9egN÷\8e|zQä~\ 2E\10jì{±Æ*Ê\re\9fä\83kÊÐ8yÎáÅîS
-$ËI\r¤¢áûh"ãTâ^p\éÃl:\1d\95\83\1ao\9a\v@Ò?ÏM?\eè\v¦\ 5ê\ e\149<¶\93wh?\98ì{H+¶ÝÙm*×\0»ß\81M\1d\92\80Û\966Ö=ÑÚÙµtz{\1e\v¶QZ\93ÐPc.\9dT¨¸£\95øÆ͵RßTÕ\80\8e¹Y3+\96°Í°T¶\16\80\0 ¹>jB;)ª-¼\81\87PpKv&¤tç kÛp¢\9d\95­a,Ï;н^k\11@b\vA<J#]'\0°\96\85\82°\93{.^\a\96\18L\1c\99 D       \85¢·¡})½\85\1a\ 2bUæ1:͸´sØ×\8bb\80\9fô¨í\ 2ÞY\10Ûtd?\1av\81r\ 2\88ÿ\10ÇQ\1c4\11ÍÔ"ç(YÏk§]\ fÑ\87Çx\9b\9fcMbKÊ}\88AF\9fD·`9\bèÚ `äU­0Pùy\86*Î/vÞ)\15\82ÞoÿCP<î;\11ik\9fH«'î;êø\8cÀX8\18\13Ïg\84V>Äð@L\852ß1¬\0ÐxyWIÃ\9dKË»X=ä\1f1\aŤsw¾A-d\94\9a\aI;\9dàÙ7KÌXŤ\1c\9aN\87KÕ°\89#Áÿ\9b\ 1·\8fë\98Ñ\95ÔÚ·»^7¬vDþ\9fÌö&\8e\ 5ñÏGw;¾\10Ö1¬\8f\95k ¹ý\IqNö´\98\16\9f\9e\96\8c\14h\84Y\1f\12û\r\96í{\fDL|¦´?)§ã\ 6+CØ\ e\80¸§Á  èyÄDcÔw^¿ \9aÏq\ 1ø¼\16~׿\9f\væt\9cÈ;âqN\18\eA\1c¨Ô\9e«GÒü±\90÷&N\97\1a\97\10ã\95×ÞÓ\19=\9d\86:\r£cÔ®ù\1e\88éƯçM¸ÝL[\10\ 6dxßY¿Î±7\8bªâ¥yÕÞe÷\832\ 2ßÁ빯C´ö¾F\90 ïo\987\v\89Á\8f¥oÑ\84´±üÀ\1dçÚ.Ú;(ø¢Ö×_×\89XX^w\ 2vm\8bMħ­\9fï\83íÖMø<-=Ø|y\8fâ\8b\9bR\14\9b}ÊûlÓ'·í\85r:÷\ 6·Wø~ ^9\1f^¿\7fó\9a>:û\ 5\97}zk˦ÆdÚ]ú.òã\177\13,\90Õ¨½=Ò\úÀ\9bÌ|\85¿\9e>4\81Ý\Ïn\8bÙËK|ýÀ\8fNnø½ßæg\7f\9eý\rH\80;pendstream
-endobj
-1710 0 obj<</Type/Page/Parent 1479 0 R/Contents 1711 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1711 0 obj<</Filter/FlateDecode/Length 1008      >>stream
-x\ 1µWÛ\8eâF\10}ç+JK\1e\18\ 5\18\ 3oa\93¬\84¢Q&\v\8a\14       iÔ´Û¸Wv··/;ë|}ª\8dmÀ°\19fÃ2\1a\v\9bîS§N]\ý¹\17B\80\7f!LG0\8e\80æ½À\v \8aÆx\9d̦x\1dá¿b\90ôÞ¯{þ\87\a\bCX'¸%\9aMa\1d\ 3.\ f\ 2\81\9fñ­¯\19µ\8a\9bÒ/Hþl\ 5ÿêi  V³ç\84+m\9e\v¢õÝú\13âLj\9c\ 1d\0 \89a
-LÊö¿6V\ 6ðÂÅ\96\8b\18a.î3\12\80â1È\ 4\88\10²äb\a±´Û¬Â
-`\18\8e½\112\1d\14\85Ñ\90H\ 5\8eÈ\8bT±öö°s\98ï½\1a\8e"oâV\87\91÷à\8d½©7ò`%3¢¸\1eê\82Q\9ep
-T\8a\84ï¬"\86KqJ\f\r\8e"\a°N\19øÌP'\85ç6\80`,Ö\80\94·\fhJÄ\8eÅ\1e,\9b¯è=Gr<c\80\9a\99\94\18ÈKøUæ\84\v'¡Ò@\89\80Lî¤\80­4)~¥$ËJ \95¦G\9e¾°,ç`X&\98ñ\1c\93Df\99D1w@0\98(tm\16\179KKÈI̼¿¥­\8c\8dÌù?û\95­\ 3\159Ä-0V¥´Êy~dV±Ï\96+\963aôýÖ\1a秶h\ eCcR©\ f\8c\12t      Ð3G\ 5\r\1avO\f\86\1cÙg\8c|a\95\11Ð¥6,Gõ\88ÊÊ\8eI\9e\17Rk\8eÁ®t\95ÒÔ\ 1\r\ e\ 1\9dì\ 3Úo¶\ 6ÞÌŧÏc$
-ðîçÍ ¿¹k\9d\ 4\b½p\ 2ø\99Ïý`î\87\11¬\1e\97ﺻ»÷ð\8b,JÅw©\81Í\80nî \9cÏ£!^æ÷°²\ 2\1e9Urï\8a¾\87¥ \15Q§^Ã\a\16è÷G\87 á#Ã\80\7fÁüè\9aéÞÃÓâñ<\1d\8faÏv,,j.\f§Uöbà\ 5ÙUAë®ìÜcæa¼\0\bîÇ\8ePÅ:Æ{ßju^ü§\85{Dèz\98\9f\96«Åq#ñB0ª<j%ðÝ\f\98\93ìÙy\84\1dæUün
-©Ú\97J\11m\13l\rÜåÔ\e\15¹\1e¦¥­°\9c\8c>\10ï\bq\82ø\9f¡j\11ëf}¦A\a¹+Alö\1aüO        N`~(a¥SWÛWdq+Í+bc+Æ~X#~\7f\16\9cÀüP   ú° TZLÔ·×~½ñÈÍJÍ7f|Û\ 3j¸Ê]Í\r«À.µ\94C0dÆô¾X;©y\11T1×¢ªÏ9Ç\16ô\90ü\1dÌo¦ûmthÓþ\96:\\ 4½±\ em²ÞF\87.ÜMòá"è\8duèÃ\8aáü\81\13ÙÕ¥ÔÐÒõÆ£R¿Y\9aöá©\1ep¯çÕo\885³1Îní\eÍ1;¯\1f\7fó=\7f\ 6×qô\1cîõr\8cM£Úé\10r\rÖ+\95\8d\91´E!\95©Î\a¿3µe8¯Á_\ fÕ\9bâh^Ú\f¬ 2wS®\9b\18Û¬ÞÜ9#þ\87Y}¸ #<@ÍÆxTªg¼Õâñý\ 2\9e\94üĨÁÙ\9eZ\aÓ\9e"\86Í\86á4ÀóH{\b\815ÓÆÍîë\14¯\1aþ°Æ\19\9aD3/z\18áYÌ-\rfîÙoëÞ\9f½\7f\ 1à0K¶endstream
-endobj
-1712 0 obj<</Type/Page/Parent 1479 0 R/Contents 1713 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1713 0 obj<</Filter/FlateDecode/Length 1258      >>stream
-x\ 1µVÛnã6\14|÷W\1c\90\ 2±,_âKß²I\ 3\18Ø\ 4iì¢}(\10Ð\12esW"µ$e¯ÿ~çPR\9ch] \ 56¹Ú&y.sf\86úÚ\eR\8cï!ÍF4\9eRRôâ(¦«Ñ4\1aÑd>Ãë\11~­¤,,\8cã«h~na\14O~<ñqÝ\eÜÅ´ u\86\1cÓ9^¤\84øqLëäâïëϽ\98úÃ\18!×éÅ\a\9b\9b­Ò$*¿#Sze´È\89hP9;ÈÕfàdRYå\8f\83_\96«ëA)\8aç/vs\159\13\rÉÛãs¦¬óÏ¥p®\e¹\ eü\1e\91SßÄF¡øz\87Ú\8dßIû.\91»µ'\89©´?Aÿ_\80ï"ÝVû\13c9é\1c¸ðSêbr\1c\8cMÿ_°3ì\1aÜMh8¬\89Ý\1fM\99¿K\12¹3$ÒT¦$:g(WZ\92È<f\89\81ÒAé\8dÒ)È[¯xC[éÉ*\94\96\91ÐÚ\1c\95ÞRjªM.©´¦(½£ÌØ\16ð1ä\86¤mC.j\16 Ü /<\98\ 3dë¼°\9e\8e¦²´\12ÅF rÊ\95Qb´\96\89ç\1c~gMµÝÕ»DYæ*\11,>,\88p\967gj[Yô\ 5}rù\10\9f\86¬\83»\ 5\rg\r\16ãI\9d\7f8\8d¦\11}R\85ò!ZÐä[ÔfQÀí¯\1a
-Ú      \aØtUl\80\11@ÈOg9­Bÿп\95 ¨\95¹\14\ eåì¥\rÜ\b¥\1e$íL)    X\1a,$¦\90|0«<JïàÖDp¿ñç0>Ì°®»­F½dË\8fd4þ\88½P¹àq`\f\ 1\85OJWß.iera±\9f±]>-ÿ\ 6¹¤EÓÀÖ\1d\9d\97\85»\ 45ü. \\1aë_ü©\19"\17\1cTþÃA\12°ÞDZ/\14\97P\1aH\ 1\15Dt\87\12\\95ìð\11âqË\eÔ\ 5Pxù\92\0\85\95_+\85Ó<®\9bN÷pS+À\ 2 ÌË         \93¯\9b\9d£ºªä\f\83\0 +i÷*Áÿ\83òHÏ=?æÕvËÀt²\ÃÈ1­\96N÷&­réZL"Zï\0\1a~6\12£b´
-ÃÝ\9a¢\0ù@\86\87Õª\8e\7f}O[\0Ð\16ÓI#°}K\7f>\0ø½Ô©±µ\16\ 6wI£Ðþ,\9a\ fq§Õ×Ì?£é\8c\89\8ca½?\rl\\ 3\8f\ 2*@=\8eñ\ 1\1fRs@1kzZÞ\ 6¤C*\95\86ÚµñØ\9eBÚùÖàrÚ\15h7g¶\0\98T\96(\ba\82h:eÃ\85ÀstuØ)\0YiÎ
-JW\ e\9c&\8cw\vY\96`\150qRjÚ\1c_\\83\96\9cõÈ3OU\96©¤Ê1"\83\99'Ì|\9eV'Ûë\96Ød°¹i£í\96TM\86L\81áÐ6S®¶\a\9e\92\ 6ç\8bÚ\16ð61ÖV¥Gµ¨3\85ËXs\94ic\ 6oaouõ¯°\8f\17µ\rÜÔÚ\ 6tLÉÆ\1fé\11³/\ 2\85 \ fãíÅ\17\166Z\10Í5Óê\82àí_àyÁ¾x\ 2¸\9c\19|Utñ`k´
-\ 6h4fÊF×à¹a¨\1dÔÀ"\7f5ü0\96Kl­9«4\84-0­\92¡ä\8a\1fooø¥d¤\12y\16\8ba£÷WX´ÎÙ\1fÍ£á\82ú\93Æ\14a\9f³\88n\8c\8a\1dî-añÔ4j62_[°j·á"kGç²Pw+ó3ú½<\89\97ÎË\15Ö¥Ó\ e\99@TkJ«\84\97\12k\9cÉ<==Þ\10sßÁÉ÷,\88Ü\1c\ 2\9f\19\16\1cØ+ÈÄIQÀ\ 4\98Q^nÙ%1\1fÈì\14æ\84y'kj
-6\81F\1fp\88\9aÁuÓì&ìy\8e\95\80\11     ÈGbª¸³ª0eV\1aã!RX\8dÂð\91\1aU&ÆÁø2²\95\ el\17T¨o²Ûp\90
-ó      . ¥g\965\ 3\9e7\1e3\9câYy>¦É"ܾ«ëû\8f×ôhÍg\²tk\92ª\80\13\86n¹«~»½?\8bù¡øâìm9\99ΣéÕ\b\8fμ#^ðÉß×½?zß\ 1~²ÄNendstream
-endobj
-1714 0 obj<</Type/Page/Parent 1479 0 R/Contents 1715 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1005 0 R>>endobj
-1715 0 obj<</Filter/FlateDecode/Length 1914      >>stream
-x\ 1\95WßoÛ6\10~Ï_qØK] \91#DZ\9d\97\ 2]Ú´Ãæ´k<\14ú\a\9a¢m.\92è\89T\ÿ÷ûî(É\8a\8a\ 2+\8aƦIÞÏï¾;þ{\96Ò%þ¥4\9fÐÕ\8ctqv\99\97îϧwg\93é<\99ÑU\9aâo\81ÏI\92\9c\1eÎúkìNo\9eïöÖØ\9dÍ\93yÿno]Ðôò:¹êíö×ØMg\9d\15¬·¿Æî,M®ûw{kìÎ\17ÉMo\17îÑäf\91LáOz\95,\9a\ 5\8b\95­«kü6]Ìù\18þW\866g?¯ÎÆw74¹¤Õ\ 6\11\9bÍ\17´Ê$PøE\8fnwj\1fLEé<¡\8f.·úHKUª­)L\19è\82Þ»\83'Ufôywô/Wÿ\88°t\1e\85]\M\93  Ä\8dp;Mèáè\83\18k\9aÓSJÓæô\84ó\81Ó\7f\94\194.\1fè³-3\96¿ÏUظªðç´WU°ºÎU\95\1f\9c\87\ f.ÏÝÁ\96\r\9cÊ\8d¯nÓ\97p¿\9a\8a\95Ë\a¶ñ\92.\10\1e±¬Uqsýå%Ù@\16Ú\9c÷v\9d\e
-\8eteT0¤(\1c÷"scyc§\ 2\1d\\9dg´6l\9d6\19ÙRôß¿]ýöáÝ\87{ò;\85\0Ã\fE\99+\94-\a\9aµ+C\ 5ÓM\95Ðk/wun9ª¹Ûz®\93\1fK\13\ e®zÄwØ&êñ   ³2q\88]fI¸ça\82\r\96íÕ;Un\r\84F\11\95ÙZ\1fªãÀ\ 2Ø&×£ÖBé\9d-MB«N\91âÀú¾4¸[¨LB\13\83Ïù\80±QR«\ab\11 µÙ\18\1d¨ö¦òç\ 3ÕÛÊÕ{¹\17·ÉU\10,\ 6ø¤9;\99\ 1È\80Ã\1döz`¸ù:^r
-Úh\14µ\ f\9c\ 6\rk\91\ 6¾<¾Cé\vªF·®ÜØmòñÃoq£\85ÛH¢W¨#_Ý\9aÒT\88[\ 6c\19GH·sy#ñ¹À\1e\ eúlHÌW3\90}\ e¡\81«æ±t\87\92TÌnS>oqÇ!ç+d\ e"¸¢X\f\9c<àà¾rO6\83%.©Ãç\82uô´ÛÒ\a\82ÅÉÛ7PY\aʬ÷j¿7@\1eà±\ 5èè`ÃNÒl\19nY­åÂóê@<¿\8c\96\16ñ+m]\10[\b©_^&tW¹b X»\82k\1fXÄ^?1-PUV\0\88À\9b\82S\0e[*Ñ°\88\rI\9f\ 4ym´*¸Â\18I-\90¾[¦°ô\93ñ®®´¡_\11ûƶ\16*=\98pÅ?\98ê      Y@LÙo®\ f\9d×\8cÞ]\93±Y\v\93gÜt\94\b¸j\90\85\97ºË-ÆzIy\bpââÕÇÊm+Uø\8bW¯O±°O\86V\80Õ\80÷F\84\88\92)\10îçPoY\vY\86\e\91\1däzOåÿ-\84ûÕwKa\18Å{sø_°\99\¢¥2h\99E\96VWλMè÷\a¨ô¨\12®îåò¶¡\16\0S¨e\96Q²b\8585\j8{Âe\\95\8c×*òðI]aÀD\19à\b%Å©5\ 1á\1d µ6^ºÔ@­7º®l8&ô\16\9a\8e¢ÿ$¸\81\r\e\1f\8cÞ\95\ e¼|$oL!ÄêÖì\1aÈ\96-wh\ 5U\9d\83\17\82vÛj\13§\8c\974>T8´\a\14Ó>7_\85oâÝÆ\1dÄÊ\9d\ 2$\8c\92F)Á×z»;\8f!_Þ¢µ°N)yV\v2S\84\1fx\8aà\1cT\95E\96°\ 5³\f\18bS\97B\a*G\10Ø\16\96\ 5â¦-·=Ô\8dÕf\b\8e\9f\rd\192ÅZU\8f\9c\96\86¨Ð\84@´5\8a\9e     ©\1f}øêcç\17ºCço\1aíÎnwèâ*{²^5\rW\1a[Sb½\80eN×Ì:QºzR6\97\e\91\83Zè!L\a³&\8fb\8aìô\vG\97ﱡ¨Jn\9f1ÌBÆbJÙ\8d\19÷«AÔ¦\18\92¾§\8bÁl\10\b
-ج¶Hu]¬\81X8ßÚË\9c\ 3\a#¡r\82¤\\19-®dä Ê\1e\19ͳ\81f\95{If×ç\85{<J'\83b@Õ\83ã¹]vñ?áö\14\ 2 ÷§wÜi»\99ë§a:?³    q\82\82­\88\rI% \91è\1ac\10R)\rÄ\ 3\e´3ù~SçTº`¼ø\ fï\80\86"f\85A%­Kâ\ 2Y [\817²q1ðïèj\89\1c@Y\9aL\8câ)4EÃç)ôâ*\8d½_\ 6G\8c\8e·\f\96+G\ 6P^tÍQF\826¥¬j|×6z\b\9b`\1cÍF\7fBei\80z®WܼYP/6-çs\8e¼        íV\v\19\840²ÿ3\95      ý\120%\94\v\e\87\ 3ÈêÀQVö¡²[[ª\1cõ\96çm7jL\18´ñFKt¡m0#fL?®\8c\7f´a\fV\93\ e;F51%<ww\94\10\88ýÆ\18d%\8e8l×ë,\e\7f2\ 5¨\80kC:\16m\94¶Â\ 6Âc;SrÛÑ\8fm\95¿xÏôüÆúÇ\17\14Ôz\88¦?0x³äï\ 4\9b¦\85\b\8eq\9a\8dE°7Ún¸\1eùzîtG#<\1fr̺Ò\1d3\1fãРFËátû¦¡\8coú­  :\ 1\9bM\8c\15\84\95äÙ/|\83\ 3H?C-\96n´ñGgKñ\89Á&\9d\ 2èèÞ\bßd\ 4/\16çºÁç¯öùðw|?\0a\eB±T-\Ð\b\1a¢e$;~+ 7B,\86\1e\14X\99ÞÈkã\\ 6/Ìt\ 3\8dª\ eØÇ\e
-Ãã1¾#N#\ 4'½Þgü\84à\10s\95Hiu\83\8d7\9aQ\1dßÁ\1eÀ\14¬\0ÂÙ\92!"îê
-\17\80Z\9b\83_¤é\81c`~Óåc-öǺ\8e>\ 5\ 5C\911"8ÃDÄ\1fÒ\16aÅA\1d¥1\96Ä\83\ 3\81\8añ2:ùq@<0P\18\0\9aÝ@\936[\1e\0Ú¹³ó\93\ 3Á\87\aÁC       b¦ÅÅ\80VÓáD\9a\10Ë[+ýx\ 1ªÐnÿ­HX)\97ùiG\ 6o\9d\93YÝÓë½)µ9ç\84Gt/z\8fã\e¼ÝAc?ü \9fÎ\16Éìz\ 2VÅí4½dÉoWg¿\9fý\a$þw£endstream
-endobj
-1716 0 obj<</Type/Page/Parent 1479 0 R/Contents 1717 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1717 0 obj<</Filter/FlateDecode/Length 2041      >>stream
-x\ 1¥X]SÛÈ\12}çWô[\9c\7f@\8cÙ7\96À&µ|Ý\8b·²{KU[cilÏ"Íx5#\8cÿý\9eî\91\90§­$@diºûôéÓGü}4¦\11þ\8cé|B§SÊÊ£Q2¢éx\94Lèlv\8e\9f'øWiZÊ\a§S¾ôÎ\a\93O\17ÉYÿ\83\9fçGÃ\9b3\1a\8fi¾D\90éì\9cæ9!ÀhDól°5EA.Ë\947Ϊ¢Ø\91uÁd\9aÂÚØ\95§l­ì
-?ÑBeÏ\14\1c®kr\95Á5U\90×!ðmÉÇù_G#:\99L\91À<\1f|µ>à0¹yU¹zC\eW\98lG8-/tEKWÑ7c/^ùÈ\8dÁѸçàN£}B·Î=\93³r
-ß<£«Ïd,Ç\1aÞ\0¯¦¤\93ñ)\80BÔ4\rÎ\15>M+í\9fMHS«\83ÊKcÓ\14áunB|´Ec\90P\9bèÛÐ\1cT5ùe\85Ñ6ÐbG¹«\17\85\85ì\19Eÿ0\r9\v\ 1\13c\97ß\ 5¼u+rË%\ 1\a\89²R\86ceÀ¨\0°K
-¦Ô^>öZ\93YJ\1a3ÁÈ¿\ 3\12\a\0ð-\ 4¿Y \e\82F+ÑCOVëÜ3Ì\v\8d\12,\82XÒ/ºÚÅ\ 2\87w\9aJ\95¡ÛÜs\15¨ö\88ÿ\16\ fiïðæ\82Æè.³èät\1c\e=>OÆÉ$¡«J+f\82$~§¬\12Πi¹Ûzº\9f\9fÑSØ¡ÀÇH\83\eShÿ\16\ef\ fSs0w\94ñiL3â¦Ñ[¤\a6dÎ.Í*\ 1ÆoÏ\18ÐÎÕTÖ^ª\10ÞÜÏéIW(·\r}\8d\13]u\1c\1füÔ\90hÀüäX\89~Õý3·k\93­  H\1a\9b\15u®s¾á\0ó­    ëXb\f´¨\e\9eM÷§c¦p\a}sÕ3\ 6#`ÔzA\12\9a¯5&\1cQÔÛL#\17\19Á\83§       1\bÈp{q´¯MPàf/1\1e2\81rÏÖ.£Ï®dæI?0lߥsSW\98ôê\98T\11Ö®^­Û)\94\86^|ê%\99)Ëü2qîuä¶eTz9\1d\141\8c\8d9æBD\86¸\94- Âÿ\ 4Q\8a³\a%øâ¶LÙcIbÉä¡eåÊ^\87å\90ª¶P\99ÍÆ\14»^hm¥\ e\9emÉì\10о\80ý\ 1\1eñàô¹w@\93c\fmY:\9b@bzðÉ\14Äk­LAh­\rïÜ\v\r\92>\82Ó/Ú\8aÖ°$¢¿¬´aëè?ü\14Ū£ú\1d\90\8foêEÊ~JS\89\96¦ß+\10å¦Ò\19&`G{^o\85z|Ò\ 2ªÎ\9fðR(X}\99Bø ¤Ú\ 2t\96\91\ 2½Å\95jk¼NèÞaNUá]\ fkQ\12ùÒÅ\13²V¥,\99\ fk\93çÚ~èã>G\12\9dj´[\83'\13\89ðp Ô~\ e#O8of\12/­G^R§\94\ eX^\vhH\95~lwM£Dt\96\8cÚ¨­j^¿\86Je\11ñ\88sí÷3Ói\84\8fQ6\bbU©iøÚë;¨\9c\0\14®ûC3RÝÓ÷áÌo¦
-w¼¾ó¨dÙ\ 4 \8e@S%¢ð\16\83\9en\1d\10á\80\99½¬\84\8d\8c\92òÞe\ 6¨ä\14t¹a|\1a\ 3!\19Àò\18\18³¬#(¸YyÚê¢h\99*=Ø8ï\r$\a\8cèµ\1e8ÛÂ)è¤0\18yñâï\ 5d^=,\97èÙŹä·ÒAÖàf'K\10Ù6\ fÆÞ't   u\0íp9\ 6îE-\&ºÊ$\11ùà\82ÿ¯+G\97ì\0\8cG\87YwéW¨\8dzQ¦`Á\14ÔÛ\84£¤Ü\99¬rÞ-\83\90D\96^ë3&³7Ko\9cÐÿô\8aOÞÑ\\ 5x\8f\9e\8còJk\fÑ·vGxY\83UûÜByàÔ\94*^K{h.¸[­4Ùº\ d¸\82Öh\91Â\92`\9dTu\80\82éÉ8U¬\8e|\12Z\85Â{Ø`£W\18g¸98\8f\84\9e°Çx×ëîT\99Ô­, h·îçWqÇ>>Ü
-GÀ\0D\86®Â\ e¡±Ñ\a6Þ¨±\ f½¨û\1ay\16%\0?\r&Äg×æEÓ³ÞÑ\97_¯ÿøóöáêòöϻ˫/_ﯥÈ\8d\86TX¶^µ\r¦\0\1d\11:3\ 1'HµÚçý1\9e³ÝÁßg\v
+ýp\94\ 5Õ\fS¥KÃ\81\13º`Y÷PÕ¢\e¦[\9e\16Òbª\94\18{r\1cÐ\19\94B¹w\11êëÞ\86\93Ô(\1e~\17E¸Ã$~ݱ §]A2¹s^ª¹U\9ayÆÒ¬\8d@\9c\98äE«¹Ý´FÜÃ"\83\ 5\97ø\ 1ëþ\ eÂ\9f¹À\9c\97õë\fÕáY\89³«¸iD\83\87\86zíÏæ:\93©¨ÇF¹:Ga\17\11\1a¬±Ò\84à%º\9eE\a)b\bD¿\81ª\98úh\ 3ô\1e\7fÌ\91ôü§1\84yÐÖXW0PÂþ\87ög¤:#\908\ f\8d-~\9b8\99Ño¼jö\9ep·îç9?ß#~ä\9dcc\r        \v\0Ï2v\85¿zíz¬\150\1f4a?l\92þrO?K\ 4*\85\83\18aîs¯tã\0\967è^\1e\ 6ÑÇp×Á\ 4\a\1d\ 2\91k)\vVöA¼ tÁj\8c\0`£iý\90!\89\1ciå;®$\9c\ f\8f\ 4\ 6D~t¤=c\bP²¢ Ódê4\86\1d¿ûq\rÄÆ1H!\81k\rä\967åFc,¾J°\10\ 3\8f`·¶\ 4EÙëy\94\94הּÓ\8c\1eu»^\8b\15\1aì®eó¾Û!\1eBÛ}ë.ó½c\98ê\1a\8búSm¶@ÍÑãÝCÚyÓ\8eÊ4\10+çù~ÃË\83\8e<\ 6\aƪ\7fã\86ãe¾©\8d6k( ¯\17¸\1f     vÒ©\85\8aû´qNqn F\90Ër÷²Ç\ e]V\12\ e@1D6p½_}»Õ°×
+±9\r\11Ï\9c\b\á>hª\ 6\v*\93\ 6\8dßÿ\1c\88#J°5à\83\9a\95-ôîÈå^Î\ 3\b\8b´ZXj\fÖ¼ØF\a\90\1c/àa\a\ 6\ 6*\ 6\1a»rؼM\r}\ 2\89Ìv\90'/¯\ 6Q3¬\90\80°p1«ö{vÒ ¸ú\ 6©Çè\bZO+ ðb8m/{ÅI»[\7f'\1eø\ 6lpËÍh \17ApÒê\9e8|\9b\86Íx\86ëüí\15Í®oâ\ 5wq÷ðþ\8e\1e­ù\82Û\1dÝ\9b\1c7Ît£c\1f\17Ý\81\8b\9bÑÛýeîÇ/òÓÙm6»\9eà\7f\ 4ø"8\9e±Í\9f\97'¿\9fü\aê¹j!endstream
+endobj
+1725 0 obj<</Type/Page/Parent 1476 0 R/Contents 1726 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1004 0 R>>endobj
+1726 0 obj<</Filter/FlateDecode/Length 1837      >>stream
+x\ 1\8dXQS\e7\10~çWì[È\f\1cØ\80!o%Ф´MB\13gèCf:òI¶\ 5w\92#Ýaüïûíêξ\b2í08øNÒî~ûí·«|ß\eÑ1~Ft>¦\93     \95õÞqqLg'#|\9e^\9cãs\8cß`h./NÎN\8a\8b\97^\8cG\93büÂ\v\1c^\1cw\1f\9fßï\8dÆgÅ\e\1aMNqhMã\93\8bbÔ}«è\8bX\18\8dN\8bI~ÐÛéÞÑ»S\1a\8dh:\87·\93\8bs\9aj9ù\98¦åþ\9du3ë4µÑDj\96\86T\8bO×ØR5Ö;ª\95S\vSã        ),[©\18×>èáóÛË\ fd]cÂ\\95\86\1a/_\16A5æõô~ï\98\ eG'\88oªÙ\96öëH\1f§l.D^èIÑ×\8f7\7fSÜÄÆÔ\ 5M\976\92ª*^øl\ 3\96W~\81}l¦ÛX«ri\1d\1c\87{³Üä \1a£I-\94u\11\91Plm£f\95¡Û`k\156tík¼£+ï\9aà«Ê\ 4öÄDÓyZ*\a§¢§r©Ü\ 2Q.\8d\r[4à°ÓY°KõÈË\10L¿E=\182ó¹)\eÒ6à\9fjC@\98Aÿ¹\17Ý©ãIqÊ\10
+Ö8Ò»¹]´\ 11Í6´
+þÑjë\16ü\9cݧ¹­\90N\86 \87'c\1eAòaGï@Y!Ãþ\91iÊ£\95ª\v}\94Þô4Ù§¹\ fd\0,ù¹\9c\81t=ÚR(¢\9a,Ò`¾·\88'cNAwà\11\80É\9e£ ¾·\ 6I\02µÒ\86\ 3àE«UÕsN\10\ 1©J\8f×]\10W\99ÑÊÎ\ 2ç­òþ!R»ê \1eÄÏ\14Ñ\ 6´¬\99\1dë¥j¨öºe`\84FJË
+/ñ\rx¬/\97¦|\10FÁ<oͬ£\ 2\12C\10Ä\8eú52\f*hI\85"gÖyì\1d\8c\ 2o_y\8f\ 6a\18\157\aL{x\ 3G\9d1ZÜ|Fhí\11\f¬Ê2\ 6*en\9bS¤ó\9fuªé"úôr\97Ö\ 4\0ï/ýÊ\82=@";à\bÈ\1eES¶Á6\9bg¼à"Û¥gH60&\ 3)\98Ê<*\bÇ\96<
+,iW\1aÊ \96¥Ês\88\1e­¢>\0úb¤Ô\88i¯}Ù²\ e%]b\82Ö>äõ\8e\84+[Å"\ 5\ 5¹DÕ°ì\1dB\95¥\80 µ§ÅYA_á\94$ø}ð`ÏÍ5]Bs\92èý\88\1a6\8fY3÷\13\9fE\10\bÖ\17²\91¡\fF"j\1dH1Ô,&\aÄ&\9dËòC\ e\11\ 4мB\15T\b\ 4\12a5«íÜbë·ýÏ7×ß^'\rÌÀÄY±²\8b%\8b\86¶P\91À\92\8cô\89\97\16µºT`\1f\ 5\11(Ô-\8cÍXe\85*\ 2}L¸w&7IÛ@».©QÕ&mÏ\8ds\11°\ 5ØÛn\96øcA7RÊ]Ê^Eº÷3^\a)\ 2³\eBHÂdñÓê­Wl\94%\85°*ª¤\16\99ÙîÌD×­à\ 1R\80±\0v\ e\ 2\f\v\9dD\89\ 1î+p\91â\8a{\11ÛPÏ\17u\99ëWY\97Ûíc\8d\r\186Ìhj[|ì6ú9,ÜýØØØ¿`¢¯\1e\817\13\95+fn\ 3D¯±µ9`VØ\98\19ÝÑ\84W;óÔ¤Ô"\98yðµ\9c\95ÆD\92+\b?4\19Igñ\84ô°­\81\8f\9f\0\9cÙì\ 1^[\b\8f\1aG1Sñ}pP\1eö\96w\1dÜÒÿú\82Щú¸lº¦5E@À£­\9a\98\92\ 5\10w,æ¥À\8cÙ\ 2\18\ 2\1cs\1cº\8b®\80²ì\17B5ÔL¡!/M¥å55zFýã\9f\94\8dq\11]²«\ 1¡"\eì¢ì«\87\19Êö\98³\9d\a´V\9bÿ\10\91IA\9f%(º\92       dÁà\ eG­N6.qr)¥\9eF\1câYba\9cá          F+/\14\16(·Ì"ǵÈÍ­]¡Æ¦\1e\0ê\96Ç+!G\83\19ì\ 1î\82Q\89ý1\17Ânk/¥\ê,\ eer\95":\1c\f0 º\1fB¾@d#7g\a;I<0'  µdÌÀئeJÊXÔ\r\1d\98\99àéW.À\9d::P²N\8a\1d\ 6\asÜðéöúJê\1aþ¤G=\17UåA\8bµm\96X\95¹\93\19\96\81lx,\83\83\83\93\80æ\9bÙ\9cu\10kn"Éæ\80âk\f+\86ëD¹¤\8bÛ 2£v\10\12óØC\8dÑI¡\83¬\ 4\8c\86\ 54uÖcó´Âl¤\ f$qY8I'd\1aÂ\9em\9534 Bf·ô5Ô\ eëú!\96\83Í\ fì¤pè\858öÂÚ\88d\92\ 3÷\90\9er)þɸ\98\9bM\ 1eQk\eK\85\19\bÞ@\vyú¬ÅtÎÖu³\1eÖm'Þa\98»
+C\83MmútۦѤo0¬C\8a\12\7fØÒU7÷Ê\13ö4«7\\7fШ?p\ eÑõ\1c&C8ö»_:\9a\ 6\14\8b©è\1eó1ÿñKtjÅ\83  æ8@+Ò¹\9b£\19¯ß>ÝM?uò\8dDc$â\v\91¸ü\83¶á]ZªM,\83\9d¡Î\96\86\17¦ÙÖ\1f\9b\92\ 1\1a`q$¡u\8eõ\ f˺ú\81J$1ÇÛÁ8ÚÝ@²´`FÝø6Ð\9fÖµO4óO(p9\ e\8e÷\95´5\99z7¢äw¨+\14úÛK\Nù'\81øò tV\8c8\a@\fÒÃÁ¿\808ã-W¶\1c\ 3\86\93\16\ 1\86þÈÌ7Ä$\83\ 2\ehªþ\r\13ð9n·Ý\950\v\1dE+7Và^ª\95\â@û]î^\86Q¦úþv0h\93ݽ\8fÕ\97»\ 4\ 5\84Çá\8e\9a\99M{Æ\7f\88rq£}\15Ì¢­Tx\ 5j¤Ü\1e@.1$¡êA0\87äcàC]7+\8cX\91Ö\ 6M\957&øûM]\ 6.ºKÙh\82ÿ8¸8¡Éä"UBZ}\eü=_\1c¯\87C0{xØo8<?~ÃÉø¿\ 3î)\fLÎÆ\98\8dyÓè\9c\ fûuº÷×Þ¿ÏÞ|äendstream
+endobj
+1727 0 obj<</Type/Page/Parent 1476 0 R/Contents 1728 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F2 5 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 1007 0 R>>endobj
+1728 0 obj<</Filter/FlateDecode/Length 2027      >>stream
+x\ 1\85XMsÛ6\10½ûWlOQf$êË\96äé¡ã¤q\9bÉ8v\13urñ\ 5$!\115        ¨\ 4iUÿ¾o\17$M1N;\99Ø\96\ 1,vß¾}»ðß\17s\9aáß\9cÖ\vZ®().fÑ\8c®f\97Ñ\8a.7kü¼ÀÿRÓ\8e\17°µûòå·\8bõu4§år\1d-¨ ùl\19]7\9frúzÑÿ\8cÕË«hÝ_í}Æêj\15mú«½ÏX½\9eEËÞ*{¸X^áë÷\1eÒõ:º\1cþþÝöbz{Ió9mw\bvµYÓ6\95Pf´MFÛÌxúýþÛö\9e2å)ÖÚÒ±4U\85ï»Ò\15¤èÍ\17\9dþ®ªI¢mU\9aä\r\1d\ f:©Ì³\1e\93wdvtr5) U{c÷¤¬«2]Rj<NÄue\9c\1d¿Ýþu1£É|   Ä¶é\88O\14ê\84[\9f5U\8e
+\97\9aÝ\89p\8e\8cű\1aö\9dõ°_èc¦*Þ³3ø\86\rG\9cÃùó\vèèÊ'\1fñ5ÓÛU\130Ò:Y¬\80
+nü\96\9dÈg®ÎSúÈÖ*\84þKØþ\82O·[\80Qyî\8e^îüzs÷î\86TZ\18ËQ©Ê\95l¤Ôù\89\9c\95\86s¶2\89bשÐI¦°¹ðí\86ÏÛé7c\17\9f\ 6P<üú\9evl\ e¡\r\1d¥®P\86­\151p\8f¨5\ 2¬ñ\99¬£ÜÙ=жZ§ì\92 êõAÁIÍWMz°«$qµ­:\97BX°ô¬Ë\ 6»¤Án²\8e6sºZ\80\9d@ïq±ZÓ9¸²>Y­\ 2¸®\ 57Ö@E¥L\ 4\86\18\ 1$u\ 1\aë@BÞ¯½Ù[ÄÂ\98ø\93¯4XØÇ\1d ||¡\9c)\ e¹fû|a\b\aà+\90%\97è{Á\870AÏ\94\8eÆg\fÖãh§L\89\1cjåM~z|\vöUzÏÐ\91þ\a\99\ 3È¥.\84\7f\9c9g\85KûúÀ\8e\ 3\10]\84\1c\18ÎG´eb{eÒ1(©
+Næç-aõáæ\ e×£Ð*©°¶Xv\ 6®«\ 1}b\8dj-ù\14Ç\80\9f¸<à\13§\1aØH \99ö¨2å»\ 29OrÈa/Å×\10-\16\8cÉb\13ͯi"Ê\ 2\16ÌWÑU´\88è\8bþ»6¥Àî\ 3)ú%Ä\123jR$lT\b²\88\15%Îî̾\ 6º\ \9c\ 3\b8>\96\8f¤.Kd\12é\10!\89¢A9\8fèÝÍûOôqK\7f>üt~ï¨áÄ\verfái\0\16\8aÆ3º"G/:1¢X%OT\1f¤\b\83åES\a£©®\92éA\15Q\1a\16Zq\19AàJè +O\1c\19$³ò?ðJ\8aÒ¾©H\ 5¯ })\8a\9dbç*\96ɧïü¹»ùôaàûýç\ fôùþÛà
+ð»U¸;íE\7f\8f¦\ 2¹¡&pú\15Ì=%
+\82¢\9e µ\15dC1ÿQF\ e§cN       KÊ\1e\85À?1Ï\v\95dÆêÀ×7\9e\8eÙ\10VNàQYQiÔ¿jÌHx\82,ª*ؽb\8cͳ³¸\8f\85\8cõ\1fç@ïR{ ª\83À\aÀÑ£¥}}\97\89\96t!}\ 3¸p!càJ³7Våä+.jüêDG\8d\và@Ó¹öºB³«EÖ¡;\1d|RH\88\85\9d{\87\1f#úyòø¶¹ª\ 5~\8b{rX÷\15AG=\93\eÊ\1d$àqÔþj\89®\8d\1e\8b\15ÑEn³0øøv\8cº?Â\9d$¯¡},]µ\95î\87U8ccT}J©Ò\85³R\10=I{ÈQô,¸;`ØD,ý"\~Ô1H°g\14Æhî"\14'\rQá´R\92;\94CÕ8Z\98²dÅ5@\89\15ê¬\r;;@7uG\9b»Væ5út]&¨`¤±õ±C\a\8d\94~\r­,4.Î\8d\8aMnªV­ÀÞÆ\15\9fA\r\80\ 4èÀ"áÇ\8cÛQç9\7f?8®4\ 3\93è¼°\ 2\97ѾL¢E\89\1cJ÷lR$4nÆ\85\80ICÀ±\88ìãè\90×û½\10vÐ{ÁÈ\1aw£%\14 \ 6ÐÃ=\15\14\ 2f!Ì|¹\15\18\aÀtÅò\11$(Ó\90\16Vâ v\98^BF\99ñl_rÑöΠ\96\15qVìÃ%\9c\9b¸T¥\ 1"@\ 5\11¡Î^¿;tË\88n\91>(\13o\fÃ[ÓG=úÝ:\9a\8f»ü*\9bh& ¨p¡\15\ 6.\ egzÛ\95\1cî\9fÌ¢õåd±\b+]Í\85kb&\10ܪó
+¡@OÌ0\r\99Î\ f»:\97\96\94ó¸\88ñ\ eÉ\93âLõ³ÎÝ\81Û7x\9a<\81ª\9e\vó\15'dë\8f\   ûÛ®\ 5\ e,çaè\93\86µ\84rÁM.'\8cu\Î÷uu\1e\r«¨´­w\1aÜGª+Uò\81&$Nz\f\92\9c@\ 3N\8c£'\83\10ÜnÇÔ\96P\ 2¹0\ fB\aÚjEÂjkùÞ&_BULZô©9Î^ô(\vcÁ¯«VòÈ\17qÓw:ä\9bfñ²Ç¾²\87«gh«\15\93óØG\1c\1dÊ\87[c \ 2\ 6\b\9eâ\82ï\0ϱFKÛdÆ\83Á\88¹\95{é#¾\ 6f|v\10\ fï\ e\13\1d\98ÚT\95©\14^\93m\1eÀ@ÖÀR\94Ú13IF¾>`p\11\90\vÃnÜ¡ÒëÆáý\0\9f\ 4©\1e¾Ad9!,?\[M\15\97 \16Ìyuä\81¤U\16La`j\89.rV\8fÐ%H\14\9b
+\88vU3­}9Åà;\ 4ºËI»³ç\9b\9c)\94\bíË\93mD¨\r©}Æ       ·G\847\ 4·\ 4\8ak\93³.\89ª£h\ 2\ 3ÑÓ\9aØ&R2m]!aPÔ^\ 1ê´\15êöM&o\9e61]?bk\19F)(\99\88±<4\0\14\8a \95µ\17À\14'.<\800¦³\ eI¹CfÆT\9c\9a<\ fHÒÌøòþ\84 \ f±dã¯+\90 ?@\9ewÿ\97\97\87;\96\18Ñ \ 6\82é-\94£y óÄ+ÏÅF9æ\11½o¦Ö0\9f´1\vÚçùe\11i\1e\9b[\80v>í2SÂÙ0ýv\ 3\ 2\9e<\87\12IÄë\14ïJ³Ï*d\1aìKQx°²3¥´\82Rs\ 5é\83\97g3^ØÈü\0H\vÉ÷^a\1cMõA[y\82Õ\aHÏ1ÓÈ¢¼\11ø`W\95¸÷Ù¸Ú³®     \998×_eT\aäå\bG¦·\9b\ 6 ù
+\7f\17Ù,iµÚ\84wa ÝCéþÂ$\8c\ e\1fÞz\12"{7i\ fLÖ³k~\16üè\ 5\83««\ 5þDÁ\9bæ\e>üa{ñÇÅ¿\f\1eqìendstream
+endobj
+1729 0 obj<</Type/Page/Parent 1476 0 R/Contents 1730 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1014 0 R>>endobj
+1730 0 obj<</Filter/FlateDecode/Length 1362      >>stream
+x\ 1\9dW]oÛ6\14}÷¯¸@\1fê¢1eÉ\8e£\14Û\80t]\8b>´Ý\16¿­Ã@I\94Í\86\12=R\8a\e`?~÷òÃ\96íx]\93 \8e-\92ç\9eûu.ý÷(\85)þ¦p\95Ál\ 1e3\9a²)\æ\97ø:ϯð5Ã?# v\vi\9e\80\18l\1a^~\7f7Êfs6\834ËX\ e\rd×)\9b\87O
+nG\19Á^úµ4Íq\8fû°[\9a¥,Ãcù\ 2O¹÷´òz9JÞNá\1a\965ò]äø¦rF§°,ÇFëîÙ\8bå\17Ü\93ú=³\fOãZ5æ}§KÝÖ~9@LÜú$\9d¢uÜó_ç\e~' T\82·OE0\r\10\ 1¹b%/×â©0,ñ(½y2\ 4ùòTó.\ e²µ\1dWÊc`RSÊG\bf¶ P.×ÒÂV*u\ 1Å\ 3T¢æ½ê. \1c\84Û\9b\ f¯oð\13D\1a\1eb\9côÖ$J\97\%\967\ 5?´0fp+\ 4tk\ 1\rÇÃ\1e¥Òeß\88¶ã\9dÔ-È\1a\1etOç¦0IgXCÈfËÛ\ e:}dÞêFl×\ 2ËZ(+\18¼ï\1ccàÊj(z©*gj+ÛB¶U\ 5â«(û\8e\17J\0o+P²0ÜHa\99gy\1dâ\80\1cË\ eí¦\v\90\ 3\83\9f]æ1gÁã4l\1e·ÖneW®Ù¾8#ÐØ\99!o\ 3\85½Éø\90Ej\13\17w±ß\ 5­\10\95@/4\98¾%gü¹Ëh<\ 2W\87xc¨¸h0\98ÝÚè~µ\86\ 1\12\\81½ 7Òc#®4°1z#\f\ 1\r\ 2O©¤´Ø\v°Ú\eA\99qå2 =è»=µr\ 3\8cù*H¬îM)\92H#ÁÐãû¿BX\18¦\8b\1e\1d:1À\7fïSZë\1eÓ&;ô¢\14Öró@®¸\82¦ ×Z)\8d\90\ f\95,1\92íݫZ\98XGç\fËÓÇ,;Ëü¦­¨i\\1d\96Ü
+Ð5Üb*­VXzöiÜ\\8fÉâ\94\bøö{l\89¥\87a\98¥8\e¦W^[\1fÍ\9f\v\ 4\1d\9aĽ»v<ofÏà0¿Çæ³yÊòiö-ó{¸\93\8aqÌ"Ì)³#óç3ôQo/\80\18\90òìZDTXi\87A\e'¢+wU<èø(¡c*H\14\85Þ
+ãú\7f\85\ 1Ô7\92\9aÐ{÷ÒJ\92¡Úèæ´­\aý\17µËóØ\9bñýÍàÃÃ÷S¬%ZVZßa{àLìHéyÝ!]r\19ûgW\95aLO²¹\17'\b?\e\8e¢W½r\9f\b\8d&\85ÓX¢IìÃ<\8eûí\9aWz;Ü\7f\8b\95ß\a'ÀÉÛè¿\93\86³j\89ój¨¹A
+i\96\91ìÑ=¢AMÃ\11¥\1e(-8?PTZLÜ#úª*?¬\8fãïn\0ÎL+¾vÑ\9b0­:Ù\b*%\83Bd;ÑàÅ«ÀêB\r\8eô\v\ 3^s\1ðyL\93\88Ê®ÒísR¶ ÷îÄç\17a\1câ*\9dkxÛ\13í]\82þ\9f\12'\16ç_\12]\81É=ü\ 3+#6ì\1d\ 57\ e#dJúj\8f«ì°\1d\8f£Ãï¹TnÎbTc        »f\10åZ[(xy\a\1cð\12\85ÿq\vúÿÍ\19<\eÎ`Û\14\8ftß`bÜ\8a{a¸\82\r\11\18i,q\9cÝa\9e\ 6A\8e(®Ô\88\aæº3Z¹¼\16bÍï¥6¨ØÞ½ýd\8b\1e\1d¹= èW\ 6\932^d¢É££°\\v\1c\ e\12¶4²p5      \8dvO:\fg\9c"Ñøçq\8eå\81\15\81>®ðòsª\ 4çl¹þßrK\1c\ 6RÓèJÖáF ÛRõ\95¿©íÇjÔ°\10¾?VJ\17\ý    V\94tGØUå±lÄ\8dÑàP\1d~`\8cýôØÂ3\84¥ìu\18\12lX´I\9dBªÚbF±ªº5<\7fùüÂ\8bØ\9bO\1f\7f|\19\97     0»Ú\vQ\bZ\84Ôî\9a3\86\1fá%í\9c\f·:ÍzF\86 \97\156*It:Å\1fª\90̽©±,\ 2)²è"9Ä\88æ\10\80ðÉ\90C\98¸ãô(y\9b\87kT:Çï\ù\f\16W\vÿ%Æ_\8a\7f\v\86\15Þ\f\8elºÀ/^x`r5¥oOñ\8e
+KaI¼±\94ðÕ§ÞÉÒ|\91³Åe\18´izM\10¿,G¿\8dþ\ 5PG\17dendstream
+endobj
+1731 0 obj<</Type/Page/Parent 1476 0 R/Contents 1732 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1025 0 R>>endobj
+1732 0 obj<</Filter/FlateDecode/Length 1374      >>stream
+x\ 1­VkoÛ6\14ý\9e_q×¢\88\8bŲ¬Ø\8e\13`\18\92&)2 M·¸(\ 6ô\v-ѶR\89TI)\9e\81ýø\9dKR¶«$\ 5\8a.\ fÃ\12Éû8÷ÜÃûõ`H1~\87t\92Ðñ\84Òò \8eb¼Ù~üõö 9\89b\9a\9c\9cD     \954\9dD£ðPÐ]X\e\8f£   Ö\86É\b{&îi·8\1aES·x\8aM\13÷´[L\8e\9dÕáð\98ͺ§Ýâ0ÁK\98\8d\13\9ex\11ÁÑ$>ÆçhÊ¡%ø7\92\16na\ 4ïÓîÂÅì`p\1dÓ)Í\16Hv2Å\97Ìå\18Ó,í\11ÿ¼¤ÆJZæ\99¥\85Ñì\14?TkJÜ\97\856\94éRä\8a\96F7\95}=»GòÔ\1fÆp7Ëzë\Ís\95±\ 5^êÑoÞDß\9dçWýýíÁ§(
+½&©\9aR\1aQçZ\91^Pk
+\ 1\19K\82\8d~×%\1fçè\8d\v\8a=o¤û\1a?\ eÏíÝ\99ÛÛüTxËüAvÃ\ 1Ô¢ »\92EA\9f{Z\15\eRRf2£|AõJnh%pª\96\85\925\894\95Ö~~Ý\85«\96eU\88ZÒJ\972ËM\8bÙ\80\9f\a@@Õ\83W\97\83W\1fya/\8fí9\17Àö\14 \1fÌ\85\8bÁõ)\r\87\j\97RâÊ3\9c\b\1c\8bè\ f\8d\1a"Nº;\7fwqN\80íA\1a.4¿ûpù&\94Ù[\1a\ 5K\88 aâ£ÐWªæýؼÐ\½\-)ÕeÉu\82\95R|Aò]ó÷­Ó\9d\83#Z¯¤\91Þ\8f\b~ztyûîüæý·Þ{\94[gS\89Ò\1d`@¸q\10\ eø²Ñ\8d¡O \9f\96¤\88¦kù<+s\95Û\1a\ eïÁu\9b\9es Ú³L%\ 4§QHÐow\8aÉP\99ü!/äRZò0²\97½p|\8fDÞ7tÅÕa\ f=£uýÒ¯\8e·9\ f\1ak\ 6\85NE1°¢\9c\8b\ 1\97\93Ùã`ëß¹²ô?Òw2Øs1\ 3ø\95Ñ\15\920ÒVZ¡¯CyÛ:Ù\95n\8a\8cæò\8c^0\1f@^.\99\ f¾\8bÛ\93\15\83Õã\1au òv\89k\1aðjyËÉL=Û\ 2\11ÝÕÂÔÔT.Ò \11\19eB\96P\rG>ikÊë_|ümi÷\80¹z\90ªn 9\9b\f\1a\e\16ªv¼ÕY¾Øx.ÙrN\96ÝÁ\9bMM^¹\1d¢©!\80u\8e2¡çsõ \ 3Ó;ÁtÒ\ 4Ë}¿i@l¨\82YË*\17Ú\8fÝ\1cѼáÐ\99æ\95¶6\9f\17¾d\9c\91ÆÒ}\83/\¡à
\8cSËEnl\1dÑLûx\ 1O×{\90enó\1cRt\ 4±}¾\7fÁw&è\99\87ð§èÛ\82òl5>ùÈ2J\85"\85[@\14V\93i\147Öa\86:µÅ-u&\ f\91ä
+ð¸\9a9\8d\ 1\19!'Lw\96Yiy\17\84\89Qñ[\85²kÙe\1e
+\88ÖøÚ\0ÞpÛ1¶©HWò\b07\96U\8cu­í\1f¨\8f¦´È\81\1d\ e\b\v\ 4½'_S\17TSe¬ç[K\90G'\93\9d\82À«Ù`\97ð\ 5õ¡²Ð¸\1a{\87¸L"4û\ 3¨)\96\92ÉRsîN\ 4qn\17\15Hºá+¦\81¦I×\ 4\82\a\81\10àߺé8g¨¥\12L¯.À4\87¥,ã¬\ fû\17\87\1dÅ( \11ÿ'+¨\7fñ,1n\ eKpa-6h\ 6a\84ÒyæR+rî·pÃØ\ 6\892ÖA\0\80\rßËhL\90B!\8b(úA\11®,õ\85¤\7f1lȪm´p\89<!&\8e\8d\1d=\ 5\r³&EÁ\9aºB×ú\80Q¹£0\1aì\aë£\fõiïÖã8\19Óï\14Çgîï\9b\84ì½^#½\96`.qÌ\e\16:R3·4-qwX\f\12h%°\90E\8b5rÎRÂ\98ùÁ
+¯ÜÍ\89+Ù×âçú\1dwÖBSßQnw³îEí\10\v7\8fLq½ÎEú\85\ 4`b\95[t¢\82<¸ûüQ¬\11]£±ä?\ 2\ 3\14ÚõÆ%ËYmÇ\91\ eéÛvÙò7\8cÁ}Lën¢ysuû룫\15\81·£-¯Ï\e\93aâkM\87¡\97WÞ²\8cx\0§áF\1fN0\96O\8f1h\87\99Éký\a£ïeZÓ¥N1¹,|²ß\1eè\9fÄ<\9a÷­G3\98æ\8e\ 4tjié¶q\8eF\93i4\19'\98äyk\12³\89«ÙÁ\9f\aÿ\ 1IÀÓÙendstream
+endobj
+1733 0 obj<</Type/Page/Parent 1476 0 R/Contents 1734 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
+1734 0 obj<</Filter/FlateDecode/Length 1162      >>stream
+x\ 1½VmoâF\10þί\18¥Hp:°1\10BN:UI\bwQ/\81\1en«J÷e±×°\89½Ëí®Ã¡þùÎîÚ@À JU\e\14\84½³óö<óò½\16@\a?\ 1\u¡7\80(«u¼\ eôº}o\0ýá\15þî⿤\90ÔnÃ\9a?îÀ5\84      Þ\18\fñG\f(Ýé@\185ïî'ï\9fu\9bÄïÂçZ\aÚAÇ\e¢\80}ÿ"çz¡+\ eBõÀ5\95\9cêß\14\95\1f÷!\b\9c\89vw`4Læ¯Lä*Ý´à\ 1\96ä\95\ 2'\19\8d!Û@,2Â84Ðx\ 3\b\9c\12R(iÂ\9añ9Ã\13EWD\12-\ e¬4\81)h¼ox\85\81×7Fÿ\149D\84£\ 5ÐK
 
-\14Ò\15L²P\97wÔZ!*à0®\86·uÖë¿k\r8<¬ÑÖ\9e \97Z\95ÝÀtÔ\ 1_ÅW,úàò\98h]"­\f½YÖ\85´\aE\82\91\8d\8e«\85)L\90âQ\95Bo\19ÿÖwÁuqË!W\94ãkǼwíÖé\8fìÖÝÓ^;'£Ñë\ f\96;³R\8cV§³pg;\8f  \8dD\84\1d\80Î\16\1aÚ1\ 3÷íܨ
\87\ññFg\ 6CÌ=e\92\81ºb\1c£\7fÅzÄ\1aÃÕ\1e1ÒAÃ\eÞõ\8d\1dò\90\9eÈ\11°¬ÔL{f« ÄÞ'\8eM.¦\ 5\f®aÈ\9a¡a½\8e\v«³\ e\1d\10½Ð\80eDCúý±µ\16²PZ\1eµÃz¯·\Qw
-És{eÀ\ 2
-\95Ëë\8c\a\ e6aÛ¤\87|\ f|3Ûo4\96½*\17£àÒÀi \8aºziej\13    ÂÐ3l`R\1ee¬+^ê\95÷¢\87Å\vó·ØE?Ä/=\f¿\8cec\9dÁ®\92G!7KDÇ\14ATd\fûô-5«\8eñ0\18¼a±\15t\89ÛÙÊ·g\94\8cvÔ¦ýȵPÍÁbX\ 2\10·KtÏ\94\ 3q\13N¡µíh2\0Ã\9bÎ\8e\1e\8a4&tÞ¬§\9e \ e\80|¿-Ãß\1f{hþ"/\9c\8fqï<,þ\82Ýñ°\ 4¿<>\80eq§ÆYkü<zÓM'÷çEE}ð:«+\9eZî¡YÕq\83\80ä\9aß²²>\94_-È\8eWNº\86
-\98,*\f\11¾·ê\rËȯÓÐQô\ 2-\16+\ 6¡Â\18\86î2H\1f(Ç;lp\e$\1eÓDG~\92qØoºH£\ eÅ\ 33p·£Ï.«¹\93ßA\18\rN:Ø\e³ô#È\11W<\7fgrÃÇ\9bL2\8aÞ\10\aÕ°éºäå
-o\b
-t\89Ëâ)¨*`jmÍø^Ú^?T\ eû&¿]\90YYâÝ®\ 6\15ÀNÖÀ\ 3ìKõ\8cÿïw3¦\0û­Æ*$ÞÇ[^}­fÉ"\8a\e_Þm»{{Á\ 5MÆ{\bzGqjäuÖ¼\9d\8dù×)³S\9aNgÉ\8c_@\9f.ï~¾¤ÇÊ1sö8îßÚNÚ\aNÎG\17|ÿ¿}\a>Cà駠       ^«ù°ñ\98\9e\1fý÷è\1f¦sÓ\87endstream
-endobj
-1718 0 obj<</Type/Page/Parent 1479 0 R/Contents 1719 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1719 0 obj<</Filter/FlateDecode/Length 1899      >>stream
-x\ 1µXÛn\13I\10}ÏW\94xJ${âKp\f\ fH!@\84\968\81\18v\91òÒ\99iÛMf¦\87î\1e\1cï×ï©êñm\1cí®VZ¡\b'}©ªS§NUûçQ\9fzøקó\ 1\rG\94\16G½¤GgÃq2¢³ñ9>\ fðã4Í\8e~Rÿ<\19Äíü¡\9f\8c©?\1cá\13N\9d~쿤w\96>ËùW½äeûøÛéÑé\873ê÷i:Ã%£ñ9M3\82µ^\8f¦éñ\17]èâA»×4\99\9eQes\93®hfríIÁ|©
-\9dÑÉô\a.\81»rÉñdziË\99\99'·7\9fâÒúþcRe&\a\ e'MIa¡ÉY\eÈÎäóäýôÓÍÕÍ\84ü\ 2\16ø|\8fºý!â\99fÇ6îÏl¡p4µep6ϵ󠠠    ]Ðï¦ÌìÒ\8b§µ×\8et\19°D\8aø7vµ\83Ï\95ò~i\1dÜ\80+^ç:\r^\f7\97ò¾\96Õ`i¹0éB¶åv\ e/\96&ÏI\85 \8b*\10Ö\83zÔTå*Õ ½«\9d)ç;\9b+gSí£\9547p\8b
-\95.L\89ȵÊd¡er\17\9b\16Ï\0D\r\ 6\90e0©
-l\1c\ 1ÿÒ®C\85ÍÌÌ [\fsnS\95ÃäÜøàV-\8b¿T^sVÓ\14à\88ÿ\88
-\87¼\ e\8f¹2^¼I\9aÃ\83QrÆyYC?ø\8d®no"7`\1fTÑ*Ô \8a\ 3| M\17z%é\9fÜLi\9f\ 2ûiï\90S0î\90-'ÌP-o7\ 6{½§]Z\12\1cÜ¿ø"\ræ\97¦wÆ!Ó\16.\99\80¬Ï$ý\1c\9fÝÚÙ;«"\ 13º?\ 6SZæ\9d®P       *èìþ\84~Ù¼.4\ 1Û\1c\94æ;ï¾ß}»ùD3\9bgÚqØ\f\9büÂþUN{æ\02\87#tà`$bËâ\1eק°!È\84\85
-ÿ>dØÞqrîl]­±ãëQR@üþøêöòþ¤Ó²ÏÕ¡ý\8dÙ-(\11ºµ±\ 6\rX\7f\12AG6îÙçBÊ\81gË*;3½?9¤[XH\99Çj\8a÷í\88\13\95%IÖO:­\91)ª+ nË\1c\14\84\v\1a\15\80²\98ãÏ\Ä\88¯Ô\ 1êð\98Ðõ]Ë\97CÊq]±
-\165®* hP$\84¡\9f¨»-\83¦øa_´¯\ 2qøs \96\12ø\0ª×UËèýñZ)|¥S\94r*\19\0ëø¶%J^¼\16¹C\1cþ \90íòÞ\ 5\8c\90\8a¾$ô±ü\87h}XåH}TÿB\95j\8e\0\ 6\v\86k\aáЩu\11ÒB­è\ 1ÚQ?ü@Õ±@ªrEeÍ­\ 4
-\12äK!\12eàÔ°S©z\80=)¼µ\97\88¸±\ fAòÂÒ\e\ ff\1c\96\ fj\8a»\0'Se\85)Yì\14*_¼È½eEk9\80\86&\9dÂB³äàÖ\94h_B\13\1cã,ë\9fµ\81Rrð©ªÔ\83ÉMX\91~\82\11\8f¦ÐÐr\ f\96ÂàÓ\ f¯6\8d¶;\18GéD÷î'CüÐÅÖ[ÃL\9dqG\83¢Þ2îà\1a;½Û«»kõýXúÀlÇ\89Ú¯[O°6_Wà\v\16\8c»\15v\15ñ¶\15½Ï\f0yÑaÊ\16R\14\8d\9aÆ\1a\10Þt\9cXA\9c\93\16nÜ+9-| Á.ÈÆ\96ø)*\90Ë\8e\89\1a9\83\12\14÷\14]\9bÔYog\81®·lº´¥Ç]°|}\r\ 5"_ªªkÊ\96M\94\94\9aW0\1dmp¸B    Ç*Þ«ÕSúã\96À׺=¨ÜqÉußÜ:;wªðÝ7\92\ 1o\98/Ü3¦\80°\85ºL0-\8fâ\10\81ãk·7Ø\1fèûW4gT\1f\84\@\9a\9c\7fÁW\9e~H\eztÏ\93q\1fS\\1c\a£óÆõõ %ë\9b¸ïd\8a\11\a\9a!\ 6l·n®Jó'"±%º~]JNo¾\ 2\1a+[\83°\1eC\8dmÒÓá\eJ´êùBÔ)}ä5[E\8di\ 5Í\rC?a\90a\g\]Ü\8a¬Ô{§\99«Ä#è_¥]`­4à_S\bÿ1Ò\89]R®A\e\88'Ükf\9f+édR&+Lb\ f\87\e'zÉëèÈ«
-ê ãkã<+ÿ²\15#\98ÍãnD
-\9d:2úÿ\88\80«\91=cÀ¹ u\99jA\ f%[y¸¦3T\12/JQÉ\12\ 6­g]ÁÜ\9e\1d\19V\9cþ«mµ\ ¢&B$\13ózÍ´gá©ø¿ØÚ8Í2bs÷\aÌó8\ 4£ß°Ú4Çwd\96ËfÝË1\94Cw°S\14°\85íBa§¢\ 4g!\9fA\97\1e6;ô\80q\8c'M~m Ò\97\1a\7füå ¤\13\97Ü~\17v©eØ\85¸4°ÉµÏ\99åý\13\f\9f\86\9f\ 6éB\95síF±\1cÅ\97\ 3×å®-       \82x6q|ÊÙ¬Æ0Ï%\83\86\ 6>5\13.àÚ¸Û
-UÂãüez\86v$\18o\9a\aê\ 2\rX\868    öA¯,<àîåST\ eÃ\1cx~Ìl\8a)\13S\9a\9c\a\15ô\13&&\0\83ð\99\19¨3V±\96í-\10\9dm\95òå\92³(u(^\99\97fÚñ\9b\f\86­D¯Ñø¢½­\1d\10þ\r\92GaÄ       Ý¤u®\Ë4RÂ9å\0®ïÖ\90
-c\a\83dÐë\83\89\90±¡¼ëÀ\93\9dM4à×ç\9e9æ!\82\ 5ÊðoÛØæ``\81\97&z\ fç      a4«%\8f\1f`i{pGpØ\ f¢\ 3\81ȲÃ\97\16²\8cyeí1;ó\847\ 5O@\r`\1d}{ÿå;ôÝéY\9d\1cywç\99Ê\8aÁ%"\89«@OÇ\eÙµ\84ns­°\84³<kD¬ñ \88È>\ 2Y0«V9w9G\9b\99­ö\98¹Z\0\9b\12[
-áC#\ 4xùË\13¼\7fv\96\8cÇ\ 3\1aõð=ÀpÈ\82pwqýö\82Ðêd {·K&ñ¾?·
-ã!uÏ{¯x\7f3\96Ð%\v\ eÏ\14\\17Ò¬ù\97mB#<·;#ÊÙ\bßR¼äo$ø\9aþ\80¯\7f?=ú|ô\17k4mMendstream
-endobj
-1720 0 obj<</Type/Page/Parent 1479 0 R/Contents 1721 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I16 16 0 R/I15 15 0 R>>>>>>endobj
-1721 0 obj<</Filter/FlateDecode/Length 1397      >>stream
-x\ 1\95WaoÛ6\10ýî_q\r\10Ô\ 5\92\1dÛ\19°\ fK×­ÅZ¯m\l@=\14´DY\$Ò\15©¸ù÷{GJ¶ãtk\97 \80,\1fÉ»wï½c>÷b\1aá7¦YBã)¥Uï3ų(   où!\8eæ4\1dÍ#ÿåÅ«xJ?\e\eE#\9aL§Ñ%Mæ3<'ø«%å_]?Æú\987ÇúËÃúd>\8f®N×óÆÓ8\1a\9f¾¿^ö.~¹¢dDË\1cÙMgsZf\84è\11Þ¤ýç\85Ø:YS<\8fèmmrUJz#´ØÈJj÷lù·_\1dÏÂêáx\82Ò\96Y\1fáqDï\8d¨\94Þt\vm\b\9fR\1csx\92DÉ(¦ar\15\8dÆ~Õâ÷å\8b'!hÒ\ 6õ÷\9blÃé\96l³Ý\9aÚ\91²\94©<\975\12¡ÜÔô\87ÒW\7f\92Ð\19?-\96\11ï4ìN\19\ 3ð\ 4çfýk\89`\89µ6m¬åü
-³#g(5:W\9b\ 6ßÕmâÝ\99\ 3Rþ¼Æʼ)9ÖJé\97\9d\9cIi©\90\8e¯tDÃx\1càPÕ¶ô\80\91+¤E;¥p8Çú\14\11\97L£ §\16vk÷À\19(EÐBº\ fVÖ¿J÷Jç\ 6løÜHë8     l\86 ú\ eýÁ§\8dÄK¼A\92õSK]îT\9aT8etD/ÍN"xÀa\fÎQ\86Hfk4RË\8c´¤\8d£BÜ1\10¦òØ
-\1c´\15µpòñÆ\94+Yf\ 32º¼?Π0\15ò+D-#Z\16hW%\85\88\10\9e8G§\87º÷\19c\ 5Ê´®V©\93\19׶\96Ü'¥\1fm\9f©Z¦ÎÔ÷_\81r±ìÚq\ 4åÍOo^\9b\8dÑôþíó\ eË\ 1í
-\95\16L\0'\14\84¾\ fUY´^§e\93ñùG ø\92\19\99\13\1c¹\ 1\1dàdòã|»ò\1e\81±g4\93¸\8bú>z³tcP\87¥;\ 4Å=\8b¼ø ? \9a\99\9d%à𼥶'ÂC\851ý ß¬¿\ 4«[iaå\ 1<FÀ×ñqS\9aµ(ÿ\ 2\9a)\13\8aë³Õ:bÝà]`_nÊÒì\18­U\9fë\91_\ 4\93\7fõì\87\88®Út\93IH·ôíØ
-WÐ\8f´ÂO\a\81göá#\13iÿ\89ÃW«ó\ f«U\ 51·+øåã⦾8ô%\93¹hÊà\15\8eùh¶¾\f<ñ±ç\8b°a»Ù\80´¨$\18ÍßYQ­E\90ÚjÅ\ 2ãïöÉpG¥\8f[\9có\1e\0£¾Sé©ÆpNZCù ´h\9c©Ð\8cT\948a\1d\91\ 5c\19^¿:¢W9Ý\9b\86X\ e\8d7*\10\90\13ñ\11\10=ãË\84ë\0\eøðOUcݧ\13^VâVúX¯G²[\99*p8ëz{Ô\84u\rÒH±.¥×Tg É,\9a\a\9b~ssD­\8bä·½Ê\ 4( P\ 2LÄ[\b[¬Ñ\1al\81tÚ'æ\r\ 4½¯a-ÝNJ\rÑ@\94\165³ÑròÃ#\7f\80ÆM\85\81\93\ 5\9c`\97ãzB»»\91Ò\87'ãü\87\1cèÃw\9c\18¶¨ú®\92\80?
\90V¡-\80Á¬ð\8d+|é\au\1dÆHÒ¡àU\96\1cT\86ÑóÿU\86E­Û\87ÞqëºÒè,4\85K:ãtA9\8câ\88n<\a
-Ô 1¸Ö\8c^®¾\0\1aË#\ 1M8ÓòÔa\19®\8b°\13\99úÖ2
-;Y\96\ 3?3\95Ã\0f\0\f\838\82èÿ%\89\96^Ý຾o\19\1aü\8fý\95\ f;d\1dÊ{lìÛÆ96\8b\93      ð=Nß\r×ëÆÑN(÷\84U\b©@f\82xvÜz9¤B3¢{5=6ªÿ°7ȯ>x\1cß~¾ac¾ê`cç¯\83\9fD\9d<\1fÒ\92}×[\13 Ó\9ciw\81éÆÿN\95%e\8dS¸rÀ$\80\14\13\1dcXº\90Q³ÞÏ@¦³ßÈgqxÍ.#³¶e\1dlû´`Ô®hxèÝr'pFE\85Ê2©WÏN§ê\ 2\17\83\vðe\8d\9c\9e\82l\f°g×SòY\8b\12Td\8e!D¦\82É\87ÔDwïáÌ}ýÜkY\99;\10\8egî!gë\9a<?IÙäa ò½¨UîI¥ \98ðlöIâ\¾nì/I|5\fþÇ\17H\7f%Z²^\14Oy\a\v2\10E©à\94@ñäì\83cúYá{ë\røX ­kÌÛË+Z<Ã\ 5~\9eð\ 4úöMz2Å¿\ 3\97ü?\ 2ÂãxÌ\19¼XöÞõþ\ 1µ\89ðÊendstream
-endobj
-1722 0 obj<</Type/Page/Parent 1479 0 R/Contents 1723 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1723 0 obj<</Filter/FlateDecode/Length 1754      >>stream
-x\ 1\9dWkoÛ8\10ü\9e_±0pp
-تí8¯\ 2Å¡½\\81âúD]ô\ euQÐ\12\91H\95¤â\ 6è\8f¿YR´\1d¥=\14\97À\88#\89ÜÝÙÙáèëÑ\94\9dÒù\8cNÎ(¯\8f¾Òô<\9bÅ«üe\9a]Ðéùi6á\9b\ f\9fOOéÊÐÛ£    .\9c\9eͳK\9a_\9cãû\f\1f+©<zº8zøì\92¦sZ\94Øåì\ 2_
-Âã\93    -òãéE6ÍN2ú ôåß$tÁß^-è\ f£Kµn­ðÊè\a\8b/ØdNÓiÜd<;Ç&Çÿ\98\96r¡ÉµMc¬§Æ\9aRUÒQi,­\8cßÜÛ5¯\94ÔÞÑê\96\9cô^éu|Îo$\r*³6\9a\96\83\90H¼À±'4\9e\9e vÄl\84ß\f¨\11VÔÒKë2z\86\9b¨\9bJ>\8a\89Nè2å9ϸÜãýÖô\98\96øùí\ 5\97Ë,å\9cÂL\0ïn\ 1\a;X\90\9eå¥w!\99ͲÙdJÀ%\9b\9f\84<\9fÓFÜHÒÆS¾\91ùµ,h»\11\9e\86Zzj\9d¤\87\90
-\ 3¼P6 ßn¤¾\8b\82r\f\13 Gbend\16\83¦f\8e\93³ìb\86Ö\14±\9bóÐÍÂl\1d¡¥obSè\9dôms7kÀ\1a\eù\81#\vNËR©¬ó\ 4À\1c\99\81\ fÝ^#â>q\8bãÙÕ\93\ 5!ÅÜJáe1
-y2çLU 34xç\ 5XñRêv0Jøvm\1c\IwíM3\18Ñ\0\19®ÑN×uý\95ô\ec\8aAF\8b\8d\ 4P\85²2÷Æ*\0ÅüD\ eÊRn´\ fTÚªª¢\95¤ZÚ5\83¬Ð2N³2¹¨zQo\90\16è\f\1f\1eF\81ù£år\e+\.÷\rf(4(Æ\0¸våä×\16Ñ\18\16¥\1dp\10×Ì]\8eS\eÀ\85\fùviMMRä\9b\8c0\e½à!Q-\11Ö\9bÀ\0^ýq]\99\95¨>\91ixÐ\0ZcQ´\ 5ur\81â\1fÓ­t\f\92ÛÄ     »\7f3ÎJxÚIí\94WXü¸\17\\9bAh§Eg8~-\94öø J£¼¨¨Â8rÓp)\84Ê[\8c\11ú\96L\19*íÐIý\rld
-\9dÅ\19\1c\86-Ð"\90\84{\84\18h\eZÄÕòí¡\83NÈRZ©s\89ñ}^Ò-td«\1cúfHj\88G.ÁFf>"\1f<<\ 2Ρ)ØKÙ^\85wCG\88möòÉ+ð\12¬)$
-Áº\9a¶Vyì\9f#ºã\88~\ 3\ es¾¡ \88×:d½\e\80\96o\94\96#Zc\9da\91ôÖTôFhYÑwüunkl\11\89êd\ 5â\86-Þ£ð4\89\b*V\19æ\91ïö\8a`\90\ 6Ê\17\rv\ 5\ 4Ö\88\9aév\0E\86Ý8ÿ×\7f\8dhÕzÈ\b}\86Ö|f¨Í6ÄÌMÝ´è)'jåÊ\18\1f
-\1c\93\98N3â\ 4påÿ×\8cqEÉרþ\8f îAü_ªÜ\1agJOÝmGß9Òø@ÉQÀ\9e\ 5\11\r\1a¾0k\1e\fA¼2LÓa\10\ 2=\ 25\\vyñ,£\fÔ\e«jao        k°\ 4M\1cî3è\a»\9f\10¶ÝC\18u\ 5[x\85\99ÿ%\f\13íg\11Ãñì\94Ƨ³xz¼×<f{Þ\8cö½\17¨\0rª+#
-ô8(ƽbvS\11Î\90{·!´=Þ\1cTN¯pR`Þ\12ðàÚ\91ÉIßÂD@ËXÜr«\1a\8fñÃ\12¨h?5\8c¦M;¾cY²iì\13\87ºùýi¦4L8\84>ý0\9d\14½\ fJÐð4t4î\15-h¥p8®Yb"# 8¹D5wf&z\92\11©(4Â]ã¬HU¤.²\95\89\ 2\8dé)q\1eìiv\9f:Ì8HãÊ|\vÇP\90¸\8f¬?#\18\93¨\0# Éäý\ 4\ru^\8a\82súÒºþÀ÷\96}\ 2×o\eÉÂË]w¢^±\102îÐ͸%\ 5       \\1eÃö\ 4\836ݺ֠\16O\8fü¦\9c\8fÒ°\92ÂbÃ\1ex\10\94\83\1a\1d\aD\8b-µW9\9fê\aøb<º\fx\v\êSF!.°\ ec\1a\9fï\85î\88\17ªJÞ\11g\8d_>\18\85\13"\16È18->/:PûM{\8dn\a\9c\eؤ\95\84\91qmÐö²­ª[º\11\95*¢=aD\13\17/wZ\1eËV|ìÔá$
-\89\ f\17xx·-\94õ~\rì60@+\89\950r\9c/¸åÂ\1e\1d×Ò¡æØ
-røTÐ^ú~ï\ e\ 2\1aâ \1fþ´Â\83¼£\87\ 6ój\18¢¶Aþ\9dã)¢¥\1a\85\fp\88·UÁ#-Vðk\81\12|\8aÄ<vî        ¬D^½â\92ã\82Iod®J\85J;Fv&=ºp\16ê\1eK\ 3\f`«*ù´í\84úÐìý\97'|óc#\98\fGtÔ¡Å\9dåìÃ\85¦Á3%ÿ\99T%Ç¡\8d
-\82\98\80\11\11Æh\ eÚ&P$:ðÔ§è\81MYÒò¸ë'\8b\9c\1ez(RÑÇ\f«j\1c³¢\18\e\8d xÁÁ\15M\8fÆË\aÁ\fF\9aí\95%LHG±X\rLHk±\b\16¼3Ð\98ðàÅÆlÆXÆ;<c꽦\85j\83 \ eMIfm×é\831Ý1fw3Ò ÍôÎrßâ(ä\9av ýÈT' \ f\96[   INuðhì\vÙ»d¶x¡\85\ f\9f]tï\96Ó3¼¼^\9cÐÙéI\86\ f¿Ó¼{òòé\13>@¿°\9bº2y[C\9dvï¥ã´d|>Ák_÷\ eô+o´ó³\vÄàWk^5\9d\7f.\8eÞ\1eý\và#\11jendstream
-endobj
-1724 0 obj<</Type/Page/Parent 1479 0 R/Contents 1725 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1725 0 obj<</Filter/FlateDecode/Length 1844      >>stream
-x\ 1\95WÑnÛH\12|÷W4ô²6 Ñ\92lËvÞ\9c8¹5.öú6Ú5\ eQ\10\8cÈ\918\11ÉÑÎ\90\92õ÷WÝáde\ f¸Ã"\vY\9aawWUW7ÿ:\19Ñ\10ÿ\8dèzL\17\13\93a2¤ñø:¹¤Ë\9b\8c\7fNÓâäýôäüÓ%\8dF4]àÊäæ\9a¦\19áøpHÓôôaA;ÛP®6\9aJ\95iªsܲE¦\9d§sZ\98B{<He\ 3[\15\95\1cðª\9c+òÚm´ëó7\95<ek\8a\82\96º&í\9cÅý\85³¥\9cßÞ^\9dM\7f\9c\fi0ºHÆHà´Tin*Í\ f\12ÿWU&\9f\9aºOÊ\93©IÕµ.×µ§ÚR©Ý2äVØT\15r\9a3uº´µ¦µ³\9ciBï\957ø½ØõÉì+;\8a­ª]ÌÐéµuµÎh¾\8b\89\ 2\ 6I­Oi®Ó\95|ýGe^\ 5\vZkW\1aï\8d­¼$a·\15\90ÊÍ\9a\9cYæH¶E¨Íè(rf\9cNkëv\94ÚªÖUíûñÂ!¤I{m<\ 1\9f\0ë\90$<x^èÒS
-VjS-©\ 1\ f\11\ 1<\8féLU\ 5h<\98`\90øÀ/\1eè2r\99ö«Ú®q\ 4å    Ô>G\11\85ÝÆÀ\91¥\17f¶Î\8d\ fA\84èJ¿ÖÌ\14\84û\1d ïsð\ 3Ýà¸\92°;R\10 \ e.9ISQoa\9dä³0Îã\88)uO\ 2\83Xª©|\rµ\91]\1c^m*èQî~åbú´VÞo­Ëú\94ÙR\99ê\eeF!\16~AÝ\9e´OÕZËÓ\a\90\9e\9d\8e\12b\ñg§B×\ 4=;½Ô\99©\13ý*ZZ:U\ 2\1aQ¤]!÷wG\84üúÏ\8fÿþþù·\ fw\9f¿?Þ}øõáéãlöbªÌnýlö¡q\ eÔþ     ]@&³Ùs\10çgãë£Ç0U\82Ý\ 2w\11\8fpÍAº\f\94\ 6?\82:\14² ö\19ϪÎ\13zbÉ3±QD|BXZé\1dÍN\v³ÒèU´Í\sÄÁAߥïf³mÌ´\15)rfT+UêÙYÛÎ\99.t\e\85\1fz\10\v½÷W\ 3=g\92eTNäñëÇW´p8¶Då\90<#lÝ·\8e\94ÛqP÷8ðrþiÒº\9404¼J&ÌÚËÝïO\ fOÿà:ö>vJ\ 3Ô\ 6\98\8cDYa?\ 3\82\1f»~+\90\ 3R\85\fùÜa9³S\81\ e\1a?Æíÿ\83Myñ\8a\92\8d\a1vÁSÙkLÉ&£ªºµS\ f\18\90Kp
-ãº\96\ 4ë¦j%\12;\10O  _+WÃ\ 4«& \ 5ÿ\1dÿ\87å¾-°T+FHÑ\¥«fÍ\19r^¢\1a¸={üQXnÝJëLg³³@\18À\88ÜNÙ\10D·26\18P½XÀØø\89ìÈ\9bÈG°\9cÙé~\80ä&Ëà)~\a:J  =;\v\ 2º¿\9b¶ô\18w\94M«Ó=\9dâ[[\8di\83QÁñC ^kn½>õ*]çÖfüq\8f^O\9aº\87çq\8bû^\9ct\9d&¯oÃxºØ{E\94©×Ê¡%£\89µ¦\9a<¿|îÜhÀ¦Êµ3¤Qk\a\1d÷¦\0t|Ûd0\1e.¸3ªË}ð(\ 3X\eÀ\15a\ 1y1\1aº½¢´0°\8c··¯~¾½\1fdo\1d£\e\9c¨ Îá\1c^kê!\16¤ÉßôX\9a©3s¨UÍíFì\81mñÀ\1d\18\87\84¹³ÂÚ¡×ÈO\8fwO\ 1\8eCàú\18²?IÒéà']9±øI¨h0¾¢ÁÅm°\ 5\8cD\8c\85\87\80\95)0øLÅ#\11\7fË(ÅÀËô¼Yò\18¡Bop28b½Õ\10à\85(a4\f6\7f\8eì\89\87\81BÝé\8aç¦Si7\v\8eäè\eè\80\85\97®³¦\ó]¨­´\15Ï\8f\83¹Á\15\ 6\1a\83]ÀKu\aÍt8ÛU\9aòð\82qc\16<Mß.XajòLG\a;«J\16\19a\17\91*\90\89\10Øm"Ýsbä\bë£Zé£\821k0y^ùÙÁaøó\1aZ>DÅsÔ\8d\817@\8a\90M\17 \94Î\1aÚ¶;À\11p\99\81M`6¢JY\ eäºØ\a\98ߨ\ 2Z\ eä\ 5ø%áóO·4Â\16ÄËëàb\14FÆè&\19%\10z;s9\85\17ëVhô\1a#\97.\93!GÞÏ\vÆ\9b÷ÞSYhTØf\ 2 \0\8b7\19\ 1ý¿<OFb\84\1a±:ÉÃ\ 6e\vÓYBS¸PËÆQÕìM\92\16oeØ\92*»%¿Ö©Y\18@XçÎ6Ë\\ìMë­\15,
-3ØEÞöö\v\f       ±Y¬í\19\ÇÖ\85ïøáj\83\86\12Ŭ\90mÇÓsXEü»Øå\993\elaÈ\1e\b6Xà\90¢l\8e\96zù»ÞQ1­¤-XÃàâÛ-ëÝ]Ä\939\v«ùÑT©TÞ\11]ém\f\9d\7fû
-þ¦Ê°\ eu\8e\v\92Al\ 49\0ð½\9bðßQ:Þ\19Äk\ 2\e8\9fë\ 2í       3këæ\11Ê  ñÐ\0^joÈGe2º\85·\91Þ\0 ¢äùþ\vú\ 3\9b;¯v!\f«¡\ fųåCLí¶\v\87k°äÊ\80Ü:Ãï(Ý\9b\ 3k-èFX_4Eq\14¾Í\17è\88-³år\9b\84÷²\90\fÿý6\9d\16\ ehêF4\879\r¢ \16l\ fü~ÂäFÉÎÎÚ¨QX\ fa9\8aÁ;hûÜ_á\96§\92\97®ø\82\b\14+Ì¡\84\1eêî@ïn½.ð\12&Äß«Z\85¡+\8a\81KÃ7ÛÁ}Tsï>¼\99ðÄ~Ú\ fï/²ú<bõi\8774\1c\86÷\9b\9eC\85^\17\vVE»^¡§\83\1a\ e:¶u\94\9b¸hNðª|sA\93ëËà+_î\1eßßñvø\83·\99{\9b6,\18)\85³\1d\8cÚ\v\83ëá­¼RüO>t9¹I&Wãö-d$¯Â\1f§'ÿ:ù\ f ï$gendstream
-endobj
-1726 0 obj<</Type/Page/Parent 1479 0 R/Contents 1727 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1727 0 obj<</Filter/FlateDecode/Length 1666      >>stream
-x\ 1¥WßOÛH\10~ç¯\18ñ\12*\81\13'!   ¼Q(*ª ô\92ªW\89\97\8d½N\l¯»»&ä¿¿oÆv\b¾r=Ý        \ 1\81]Ï|óÍ7?üó ¤\ 1¾B\9a\ ei4¡(?\18\ 4\ 3:\9d\8d\82\19\8dgS|\1eâÛjJä`|v\86?\7fq0<;\rÆÝ\83\9f\14N\83\80?\8c¦°\1a\8eÆ\818êß\84§teèËÁûÅAÿzLaH\8b\ 4·'³)-b\ 2\90Á\80\16ÑÑ\9dñë´X\91*K­¬#oh©ÉycuLiA~­)¸¿\9aS\9cZ\1dáßÛcR\ 5\8e¼£²²¥q\9aRGQe­.|¶¥ªx,̦\bÞ-~\1c\fèd8\ 1ôE|ôÝT\14©\82*Üg\9bó­ó:§KSxk2ºW\85ÎØydÊ-)ÊL¤2*­IÒL\13.\19üÓ©|\89\9fÚ>iK\ fGNkº[ÐG\9d\95¸Ñ^vçÀÖ8\ f\ 6Î\ 1Pe\ eÆU©\96l/¡$µ\1cvU
-\9aÈ\0~äÅ­Oa¬\89ü\97(\13cikª\87w\ 1-\10I\vA\90²\9b\8eó\1c¼À$¨]+\8fl\17*gÏw\vPa\83«\8b\ 5\87Ýüu{qG¾²¸¬Úx\0E\82ÏÁºbþ\11«î²Ë8"\ 5j\11\19³Û\12\87À]º*Ò$\ 5÷¾Æ+8óÊyN4XÎ\90è=0Æ\1e\13G¨èÅccî¸\13Ù\vhÁÓ¿>£\10Éf\99\9d\8cÂ:ïá,\b\83I@ßÒ"6\e\aOýá`ðLsÉ"\eÜWçÉ\90Õy\84pP\15\0_4ê\ 4\ 3\90dÉ´\93+u\94&[\11m±¥RùuM-\1ffé#Ê   ð\99\ 5\16\91d\13¬0Ù®×\12ã\84
-«qS\1f³ÕNd\91©²¸õT[ߧõ¥B \95׺<&æ\ e¸\80\1c*\9dß¾o\ 4\8b²q@Ä¥ÖH\ 1g\1d·\8d´]U\96Æ¢Àt\11Ùmé\91 R9·16v¿az\1aÐ|­DÚ÷uñ8¤Ùo´.èÛÙsÿVKõÞ-Æ\92\86þ\9f÷\ 4³\8fÎ\v\8d|´&Ác¬Ý#g¢\91Ä\9eõ&Á¨M'rGúî>/ øÈä¨\81\ 1]u\9fVȳ*:4è'\93=q~˵.\f\9ee\96Ñsv>9Á\99òàwç\rÐnç;\95EY\8aªC\15Å1%Z¡¤tCz®¶\QÚ&\90XÇï&\85\94Ð\ 5ñðï,\a\ 4z\97h&[QZ\ e\1d¡=\89WD¬\1c\10sU#þ<}~\ 1\ e\vtý"LHcµâ\98M\92 Ø.\f.ì½øX\8c&\8b\ 1\13Täh+8nØA\aEx\1c<\87j@ÐƦ¾\ejZÔ\ f\93¾´Ô¬MÀ3\12P¡7/\1c "We\9eÑ¡/fƹ}\7fû¦\1aß´á\88Ä.×]'\D
-\ 3HéJÁ\9c\90Îñ¼vù*Þn»»I¤\13à)<\8fÆƨ\1dd_\8f\16\8c      Ì\17¯¬§[]TÔßÉN|Õe U\ fçY\ 6Ç(0¶P7\16\144+ÖtU¹ë&¬>\ 6Üʱn«._\ 6\b\1fyP\16\0 °Fq­yî¶b\97\0\94)é_O\9a±|ÄÙ\a#ÜËê\93v`\1f±ð\7f}y\8dÊè\~\83§µzbfx\18hÏ#¯\19w\19f97Ma!Aýâ\9cÑ{-íRf\13×ÝÞtàááÚé(D7,0\12´ývâî¶\ 5\81ôöd\98íO\ 6\1a¿\8e\87×\a\99\a_Y­¾*\80\8c13ù\7fhg*\e\94zàI\f\8f\v\f\19\80\1ds\v\96!Sg4\8dº¼|lÆ\8b¢\9fU\1a=ÒªJc}Îα¦íV\96Ï\ 5³cÅâ\95ÉY¬Íº\92i\fI\9b®Ö\9eÐi`\0¹ëÝnq\9c\97\15\13\8c\ 5èÌx«`¼^-ѲPe<n{_ÿ^\15è'Bn¯a,j´q\82½.ÄbWo2\ fÃÉ\94^³$ç;ÐóÚ¥\92\f\12­³Ü\14J\9e®$Å\9cÙ\1dúÔ\8bÛá0\18\ eB¦=\98\8dduº!\95Ã\16×¾\84¡mN\87\8d\89\ 5HI@ß\9bõ®YßÚ^\84ª\8aÐ\ e!(E+kª²#\93æÞËó«T¤Z\v\90z\1fо¶Øwz5Û»öÔÚgõ\8aKQ·7m¢[º\16¼rA\18\eþÍ\97Ûb\8cÍ16£\ 2ú\91\14×\9be\'\19÷±wð\ 2¤ó%º Z\91bÜ'{úö\96\17(«1\85xØ­Ó²ndb\8d%x\7fuÙMä\bK7ÖðÉ4\18×ܾ\99Ì\19Þ\v&§¼ ]\8a¼\98ùÞ%oÆ\vÓ£e彩\17ìþõk\99\8f\8fÞ4Û²rýYÓÒ<ïIRÌ7"D7ìÉì\94\98¥3\1d\93^\9d7âÃ[\8d¼P\1c\ f\ fXäË\87\87Ä` J¯ÿo¨êPQI\82MbÜ\87·VÅ
-:@\11òùá=\84\98z^\8d 1\f\99C\ e§Ë¸\94Æ¿ãä\95w\91ê¾ú¸Và¶h
-æó'îùÐI\84a(\9b\ 5ò\13­ù]\88ç\1dRô¿°Ü\99Í\8b£ºØÿ9Íxñ\93l\84£Y0;\eAb§Á°\16Ðüâöý\ 5/+?¸\13]\99¨â÷\11Q­h:\84\1c\a³\11\9dL\ag,\9eßïëãÉ,\98\9cò\9b'_\ f'læÃâàËÁ_\87\1c¦/endstream
-endobj
-1728 0 obj<</Type/Page/Parent 1479 0 R/Contents 1729 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
-1729 0 obj<</Filter/FlateDecode/Length 1525      >>stream
-x\ 1¥W]oÚJ\10}ϯ\18õ\85T\ 2\a\f\ 1Ò7\9a¤·(!M\83{s+Yª\16{\81ml¯ë]Jù÷÷Ìú\ 3\82\12UjU¥qìõ|\9c9gfüã¤G]üëÑȧþ\90¢ô¤ëui8\1az>\rÆ#\ûø)$-Ý\83óqÏ\e¿ø ×\7fùÁ`pþò\ 3\7f\r\8eMý Þ\b\9e]H|Ñ\1fáå\11ûDdgÓÞ9]iú|ò>89û0 ^\8f\82%\ e\ fÇ#
-bBäÝ.\ 5Ñé\a\9d$zKv-I,ôO\ 4¯\v\92?e±£¼ÐK\95HÚé\reRÆd5¥jU\b+½·Áw\98½hÌvü1"\fâÓÞØC\bø¡¹\8a%-DAwÚJS¾°\8f£ã\ fË\17¾ÂºYëM\12\93^X¡2\17Ë|zEzÉ®ñ~0 X§xä\11\9f\8eDF\e#ɤ\8b\\18³u\81Å\1aï)ãÑ\83\14¸\81tR\1cËŪ\8cµK\8dÃGe×4\17éBtú\1eWP$ùZP¤\11.§ÊæU\9aëÂâIâní# \11Ez\93Y\83\bT¶r\8e2iÉ\88Ôì²\88Ri×:vðÀ%
-í3(\ 1"£­Ø5ö\vé2uéÕ0\ei-L\1a\128+á\19¿«\0
-η0¿EÝ÷h&²XX½/ßëÈ\aMÍ˨]æ\vɾ\1c¤Q!QjÆñÈ"Â2Ú£@\ 3´\fT\ 1P´*ô&o(£2pEì_åê\1fàѤ\f\9c\93\1d%:bG\´»à\v2õ®&\ 19îUt\88\10\1e"\82Î2\91JR\96iY½6\9bÜý\16£¾G)xÎ\80\97|\95\97\8cΣ\7fã|Jc\94ÎD\ 2§\ 6\8c\8c$=Áï\1a\ 5:4õÜ0Ek\91­¤qi\19\19m
-ewÌiѤ±,tz\84\8cÎ\1cþ\ 5'%2\rH
-\0Íô\ 1\15ô¶´Vq°\12\ 5\1f-}µñJ|\ 6ý2\92\9c 9\88\9aç¿ÅfàÑ? 3Ä÷*,µ\0!î̪åÎùbµ.v\95$`\ 1\7f3¶Ä        º\ 3\8f*\8b9ú»\80æ²\0eh\0á=ÔhÞ([K¦n\v\aoðQ\ 3JWX2[\92\ 6C\95¡a¥Â¢>T\91¥\90+e,\14°Ébxb0\96®Ë±`\9fäîÝ\11æ\1fo®¿~»ýt9¹ý6\9b\~\9cÞ]\87áüÓ\87àqò\80«\99\8a
-môÒ\86á>¦0¼Ü\14` ý\17²\84ë0¼/\9bå-<WæëL¾4Q\1c\9cá8Ú\1c\1aÆÅVAìÐ\9dÙ,p׸¢Å¸\8b6ű\ 3Lü©\8b\8aî°Ö \1fzu¢W+È\ 2©£ÆÜþ\8e2\8bt\9ao,S(<\r4\14\ 5Ý°\99ZG\87àq߯]°\a4X\87\19\89h} >n\92[\919á1ÿÛÎð\91ë*r7Nöfë\9c\ e8²±*\812¼ð-M3Ã3£ÊUä\b3/\14·\ 6&sËT\bµ]\e\19\89±\ 5r\14(íQ\0?E²\91\15\96\15ðÓ\14ãà^Øõ^\b\98Y<\15;ýÞÁøºð¨.µ\8f1yöß=Û>\9c¢\1d\9f§è)\8b\18\v\0
-ü_wÃC\88\9d\ 4D      e\83;ª%jõÖµà"¢4³yã{«\8b'cKj\8bãÒ\96\8c6\8eËXF\9aév«WÌ\a´&¶æXMÏ\fÅ©ÊX\1e<$*\1c¢j\8cw°Að\8e\83ÌB\7f8¢çY»\87ÍH{P«52NTôäø\ag­Ù\8e.+Ƶh
-4Údd"#K-T Ç PÒ´J«\7fâóò\997\1e\14TUÖ´È\8aÅ\9f[\9e\97a\1e\16α\\19hp?æÂÓ&aô\7f\9dE2|ûçN\9f¥³ØX\8bºµ.u¾Ãdý\v\94¦%\91ÞÜË"UÖ\96³\1c\ 2zC\vý«}T²K7¤ZTºÿ\v><K¦u«õ\13Úñ\e\12Ø!ÀDa)\ 1éJR¦h'
-s\8e\87S\e­Ffå^äªë:"Àuò\ 6g°êå$\18äÎÁ\ 2\8a{>ròè\99órUä²m×**{h-2'V´ZLP\9eé\8b¤Ü\ e}ßó»=\88\b\1cï»\8d\8d\95íB¨\17_´Zæ¹âù\8dëÒ3q\80X\ 5s\8f®Wïп\9cè@ü\8cI/Ju\1e\84=\9b^]O\1e\82\8faXhmÛXO±¾ê"~G鮾>®A\1f+*\96÷ó\81ç\97¡½*ÍáØ\e\ fÏݾ\89E]<\95\eU\9dz$r\81|¹».$OBP"æ©-²\1do\1dµR¯y÷Ç\8d¿``Y\8eO7¼¹`~9mUµ*A\8d\12\8c\97ãD_l>ãª5õúHî¢\8f¯-|c\95IÎ'³÷\13n\0ß\19ì+\1dmR\fd×.\1d]zC|\92\8dûÔ\19u/\18\94êˤi¯ØE\ 6|p\0Ü\86çü!Å\87z#¾w\1d\9c|>ù\1f#e9Ëendstream
-endobj
-1730 0 obj<</Type/Page/Parent 1479 0 R/Contents 1731 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R/I15 15 0 R>>>>>>endobj
-1731 0 obj<</Filter/FlateDecode/Length 1221      >>stream
-x\ 1­WÛnÛF\10}÷W\fô\12\a\88h\91Ö\85ÎKáka¤v\1c\9bA[@/kr%nLî2Ü¥\15ý}Ï,ÉXQ\95
-Û°Ä\9d\9dÛ\99\993üz\10Ò\b?!Í":\9eRZ\1e|¥p\16DíSþ\10\ 61M£ià\ f\8f®Ã     ]\18ú´Sl\12\8f\83\90\88\8d\ 2(\9fÆÁ     \8dã\19>Gø«%-\ eÎ\92\83£«1\85!%\v¶<\8dg\94d\ 4ùÑ\88\92ôðÖ¬(-TúDF\93Ë%½ùøô\86\1e\eçø»¡´\96ÂI\7fRÕf¡
-Iª\15¬\84Ëim\1aÒ¦T\1aBYð6ù\ 2kigm8\vb\ e\ eçÑtFíiïË0\8a\83ð\84\86\byÌ"\17\80þöúV\94\8bgI\82z\93.\17\8eR¡éQ\92Ì\94\831j¬ÒKï\98\15å£\18\1e\a\9c\84î\86\85ï¦ð\ eEQ\10\8dB\18\82\11\9bú¬3YÓmr\14}ð÷\e+É,¨\14:3ÎÔë\17%\v\12º\90\97Nèæ\81.¿¥¹ÐKI\16Â\ 2ÿý]UP&\9cð&G4\f\8f\81)l%ìù\93\94\95¥LÚ'gª\17í\8d\15\8f\85ô7\80Ìp\1c\ 5ã餽¤,áW\90\95iS+·¦4\97ÀHË\15\83ò§\82§+K\7fÝÑüÐÔð|\8dÄ\18]¬7\8f¬¬\9fU*©\12¸\19Îß\ 6\18\83\rïº\94fÊ{\92ѳ\120º¬M\ 37\rÊbÍh\9f¦N\ 1\8e\v\94ó\13P\82\84ôçö}§´GrpnʪqHñ¹Ñ\vµljá\94Ñóùi\86BQÖñwèKdY\15¨\e;\9f?¬­\93å|þ\19>Ó][gx\8c\ eÐ\ 6ÀûØ\81\ 5\83Po\85`VZÖ6W\15Ãpo\ 4L,{\15te
-@m\a|g\88¸{\17\83 \0ؤ\1cÙÜ4EÆue¥ãÜ\ e.5£\92\r\ 24`\87=§ý\19z\10\ 5[ñõÖ\95迳³å\9fТ0ËFþF׸iÞq1iß7@\8dí²56ìí¿äÕå@a\99C\Y_"\9bþC\15w\1eàãüðÍ\rÌ\14¼\ 6jÞË_6W\98T\14¨\1fD(E\9ao\ 5\91âþì\f¯\84öÉrh\16v°3\93\19ß*\vS\14fÅ8Ì\ fo\833Ü¢Ìè7è\ 3\8diÃ8Ú\ 6ÃÉ75ߦ\95*\8a\1e¢¾qV¦~êG\rB\91´Bº\ 4÷DfJ\81ø6"^Ïßú"Ü\9e=áxÒvá\8eùã\87Ó0\9cÄíøùØ\ e5t\14\e¶Î\97,\ 19öa¥0ê0}6
-\18A\8845\8dv\1e\9cmË?\9bz\9dÕn8\9cóà}O\83\a'j7xG\83ûFûZ}\9dºd]Ih+Ët\ f%½O\1f?ì¡ä\94nTZ\ek\16\8e\ 1KYJT\fæ\815¨ö®éDUIQï\9f¿+°\12\92w\9aeG÷²4\18-\ fZTC¥Ñæ\9cU\1cì\11Ë\85iСÃ>/¿ûáxç\87ã\1eZ{uW<\11söò¼0Vþ\ f\1a÷\ 2îºm\ 3\8cð\16©{cÜ\0õÏ|³³Å~­Ð/¿U\98·¨Í?xÌ \ e:\82èÒÈÑ÷\8f\8cÁ;\1e\v¯ë\ 6À¾\9bn8Ù-áð§\1f(g\8fôo\95ÉNê¢ÿ"«×GºÉr¯ËÕ\83,@íÀ§'¿×;Ó\15ö^Uè[ÁSÉ*çy\91¶ÕØ®\87 \19&=-±\ 32mò¦È\v\1a\81s,HÇ\93J-\17 l\16áÓNÅw)\ epc\11ÂJ\92\0%uË-÷7\13)Ó¬_FÛ\9d\1aµ+7=ký\94húÍã^>¢¥v©Ø[£Ã\10/\ 5'\11Mx\81=\89y?|8½9;å%ç\v\9a\926<^=e±æa8Å;@|LÃÙè\84åC¬ÚA\1c|_\ eo\13\1a³à\18o\fÓ       ¿\84°P\18ó³ËäàÓÁ?Õ\80 "endstream
-endobj
-1732 0 obj<</Type/Page/Parent 1479 0 R/Contents 1733 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R/I15 15 0 R>>>>>>endobj
-1733 0 obj<</Filter/FlateDecode/Length 1531      >>stream
-x\ 1­WßoÚH\10~Ï_1\8fD
-\ 6\ 3     poihtHùÑ\ 6r=\9dxYì\ 5öbvé®MÂ\7f\7fßìÚ\ 4»©Ô;]+T×ÌîÌ|óÍÌÇ÷³\98ºø\eÓ°Gý+J¶gß)\1eF½ð\96\1fâhD\97\97=<áËÎ4¾¤\89¡¯\1f\9a\rp²_7ëF]êÇ£hL\83Ñ\10Ï=|¬¤Õ\19\7f\11\8f»?~ñi~Ö¹\1dS¯Kó\15¢¸\1a\8eh\9e\12Ì»x\93´n6b\97K\8b³\11Mu.×VäJ¯é~Fß\94NÍ«#-óWc_\1c½ª|s>ÿû¬KíÞ\0·´fb»\14ü¦s; 8\ e\1eÚ½\11\92÷ó\8dräd\92+£)\95"\v\83Ì?M\1fgdöð;¿ùÒ\99~!-¶\92rCx\14ij¥sHË\99¬àÃ\88lE\aSðÇ\9eF\96dJêÜ\951ÅýàW\0\90\87Ç9%F¯Ôº°2å\9b\v\87·\1fxÎ7RS^\vÕH$mr\12»]và³Þ¯Ò.\17Y\ 6xÞ#²\rק6¤ôÞd{ÜÅ®Íê\17½oÅ\8162Ûù\84áÛð\97U\15P\9b\86Ï\9d5ËLn]Äï{ V7F}\86Ѩï«ðQÎ\eá\13Üp¡á"5¾´>ÀÏÏÓ¨z Ô¯vüάU"2ºSú¥\11Å\8dѹ5\19-Zww7\8bó\88\1e5mM*­®"w¤r¾q£Ö\eÀ*Ò½r¡4\,[è£[\ 1è³\fa\98\âÉ\19Ô\aïP)+\en9ÂGrE²á\1a"\1ddÆ!#\8d\1a¿Ú|\9aä\9br¹Ô\89/\87?$\bðå&Aä¸J\803Û]&Ù­N©ÈÑ\19ì°\rÆWìÚ*×\ 6\ 4o\1c\eü\88ûL±\1föª\18\99´\b}\0\1e\9c´V\8f»0À²3Î)\14\92\vÂ`\9cXéÐ\80\9c\1e· )<\16\1a\80Ôê\15\9a+Ô³Ùq ¥£çÉ\17Ú\19\9b\1fÒÊØc¹}?¾w`\80\83OàÊ\86Çòü¸v\1e¦\f\ eÚßîU"]D߸Ï>\88\8eqO\95\13H=%\9c8ÉÛ£\83B4\1c¢\ 518ÊÞg\84\81Q\b-$3\18\\ 2¨,£¥d\90R\1f}-U®îÑ<î\8f\839zþ'Mä\83/\1c\9a\8a>8 V\8bæ\82ÔÇ}îy:?&z\11Âfv\84<\1a)úèylÔ¢^´*ü\1ex\Î\ 2\17¡E^´yÕL\7f¾´
-\92\ 5}èô\0\99æØú6}\98-Î/ê\90\?LÞ_0¤\8b\163D$y\81\11°R *ø³à7åV¬V*Aãs&í\1fÛá\97ÊÏ¡\97Ãrò0cf\80F\98ðJ`\1aÜ\e\87ùq2\849U\8c\85\92<\15·\1aH\9e.\99ܤ\18®ì\0$»F?b¬N\94Å\862öPÁ\894¯'@#"ü\83éû½\80\85£É\ 1\12⸸     +ó\86»',­Â¢ñ\9fdblêpÛìé\ fzzZ\9c{´üÑ©N¬Ü"/àø\97Ñ\92æVh·\92\96ͧ\7fÞÂ8¢ç°4&¿\83Õþ\14\87£\9a»\ eÁ\9b-®J\99å<ÀV\85\ 5\8a\96\12WòÖÙ
\a\1fæn\ 2\9f\16\19ý°öà\ 4\ 2\92_ñ¹ßnÕÄ>nаó8U\96\12ñ°\ôýAäe\0´C\8c\9cäüÃÒF©\10Î\ eë\97\9eµzë`g\14oì%óý\W\fÃè*(\ 6I/òP÷ë©æð\ er\ 1YâÚڶƶÿ-D\ 6\ 1ä%\btW»w\15BëÈ<élÀ\1c\ f\ç6)mÚØ\8f,Õ S\16½«!Õoð_\1e'¾¿ÃÏÂ}Ä\9a"Øþç\9b8\9aÿã\1eí\1cx\91l~ù.T\ eåZ\ 1\9cQ\14\8f©Ý\8f\87\ 2\86¼âÒªÕ\84îTá\81\ 1i\8bW>\88Ŭ\832ÊÑ\1c\19Ö+s\ e*î:¨8t\ e\ f ô\ eï\0¹>\96j\\89Å\92CTþ\89¡\ N£¸ü\7ff 8\182:>Eþ)5Ìl\8e\99\97s\17ª\1a!\1do\19÷¢ø
-i\96÷,ÕziÞ"\\ 5E"\80Ø6X\86÷\84   ª\84\eÀ$`p\9aê\91\98 2v´\97\ eÁªâÛO\91\ 4Ã:\87ÄØ«\14ã2È\O%/lÑ¥ÉFhå¶T\89\1cL'ìCãõ§\96à{nª\1cKyË£c»D\8b¿ke`[\1aU¼Ç¢à\86¦\9dH^d^NJ\16Æ<N\832âa»Û\1c\9cWtØ\11Þ\1eãA;¿Ñ3qà-\8béRh\98@\12±$Þ+QóKË"oÆ'ü\0
\92\9dÜË\14§®\13È\0G\95N,Uþ\ 5\96\11Ý_ßTª\1fR¿Æ\1dD\9c\14Ö"h,x\bÚ¥B2\18\ 1\99Ôëðc¤s;:ùé1\8ez\81\9bÿòg\r\1d\7fÊ\f@\9b«KþÁ\ 6>Åñ\98³û<?ûzö\ fvý?\80endstream
-endobj
-1734 0 obj<</Type/Page/Parent 1479 0 R/Contents 1735 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1735 0 obj<</Filter/FlateDecode/Length 1774      >>stream
-x\ 1\8dWÛnÛ8\10}ÏW\fú²)PË\96í:\8e÷)½\ 4(°m³­\8b\v-Q6\e\89tI*\8eÿ¾gHÑ\17%\ 56MÐD&çvÎ\9c\19ýºÈi\84\7f9]\8di2£¢¹\18e#\9aä×Ù\9c¦ó+ü>Æ\8f\95T\85\ fòù8\e¿ôÁdöüù»åÅðvJyNË
->fó+Z\96\ 4û£\11-\8bK¡K\12°ì÷[U\88ºÞÓÖJ'µ\97xî¨2­¥ûËéýk*e¡\1aQ\93n\9b\95´\8eüFøpÕÉ­°\82/¬ö$¨4\1e7\8c¥­´Ê\94÷¯3\92ë\ 5å³y\96_\8f³<Ë_/\7f^\8ch0\9eeSÄrùùæ=Ý\94%Ü:é¨u\12©ÑJy\17ÍÌ`ÖK\87\b\9eÇjåY´~g¨Tkåi#\9fD/àÎk>A\8dàõ,êÂÔF»\18èt´\98ËÅH,òñb2]¼\9dõÂýø(í\9e´\843û@
-\95²\95\15\85¤¦up,\1e%\ 2%NJĤ2ºqÎ\14*\94h§ü\ 6E:ù\18\85\94\0 \11{ZI2\1a\17kcpàÓ]2(\11é2\R\8e¾|\ 51já\15\12ب-lø\9d\94\9ac8Þ\88¥;õú\86\06¹¶@4Ωµn\80¹ëùeb\b\v(\ 42\ 6¢¥r\85\95ì\8a\1f(MZøÖJ$è9\vj\f\12N\15TËGY\a\1f©R\85i\9aV\83d!Tòâ\ 1hok®\ë\94^÷|\9fT\b\1ffô]i\9c<y\8aÛ¡â(Úº6«À]ØÿÕJä\ 6V¯¥\966<µ²\11J\83Ìê     $­\90\88Ðû\9e;PØ«¢­\85í E\oBRÇò\90©zemB\12h\17\90¶²¦\ 1²)ÝFh±\96\Un\ 4·\95\85W\8f2ë¹ýÌÈ¢\93t\0þ\ 4°\ 2\8f\90Yt\8e¨aã4ù\8c¾\82(\1dÁ\ eu`\f\16]
-t\8e¶8\rÕ\87\16ÌáÓÉBhæ\9d\ 2\14\10·VÃ)\10æC7ßîðl[ïSô©sÿÛ0Ѹe-ÓCÀ¹)ÐÆ´\13 \13yCGÐ%Eêk\ 3\93\16t/6
-)Ä\90\8d7hARͶ\ e%\v\1c!\94\15ìêG\1eBåk¯\92\r-\1aù\8a\ 3xµa\ 2Æ?\91 î\9aú\11\90óv@b\ 2!h0\ 4\11@Çpº0Ú[S×8\ f\1d\83\83\1eTË÷wC\14\15Ç*µn!xh\83t       Ôª»®\f¿\12ß\1dÞBÒ\83ì^\ e¥/\86\1c\Hæ¨Ç\97ì\98[>4"\ey±Ä\9cí\11O¦!?)¥ó
-\1dÈqD\19â^Ú@µW,\0¥\8425¨1\84\9c\81\89%f\8dÇ\13@:üƸÂ?àã\12õÒU%¨«ªP\89Sæ%ïÐ\84µDá\82þÁ1D\0æ\9cGëñØ°IÒé\e£Ð\86(ïº(b\83µè9]Y#ÊB\0DcU\1cB\8dô\e\83ø\18%DêèÇ\87;\f\86\1f̹\ fÂ\8bµ\15\r\18\12À\1aýÈ9[    -\80)F\1fÄ>DÊ\15\7f\ 1ßÚ 6\87öur\1dz7HS(7ÛÈÿr§µÈèËÙ\18@\19\90\13:\1aåæ¸\9aPXæáÖ $\ 4\82¡ÑKù\Ñ\8c®÷\7f³;\85\8eÚi\8a\82vhSÖ5\86>µmU-οÃ`\88ÍJ[Q<\0¡¨K\9aáé¹N\ 5
-}Ïô\87J\ 6ó'1\ 5)e\97Ïu% ,ÑÇÇÒöÙ»ÄEvú¿Z\81éÏ|ÄΡË@kàÑ\81÷C«§á?J·OÔõ!\ 4Ý\ 3\92p\ eEgÄñ\1f\81ðmÓ6\10\eÀÕåÔK\9b³      `\aµà\9bçÐ\1f\88rÒs\8ckWûT\b\96\19´Ú\9ev\e\85\1aÀ*¶\1f`ÿ \198\16;¥ÿä9É\1fÃÅ\19\eYo\83\83N\18ÛfK\ e¬ «ÖÙd\85\ 6p\0QãbwñÈ\90O\8aG°D\ 3öõ\v3\8f\8d\82\89\95\84`s®\8fBÕbÕÉÑðö\9ar¬j¼?\ e&yÜÚ°\9cæÙ8ëàÍ»\ 3Qé¢ðf,\95\11ýãþ9\18óþyyLÛ˺\8e³¨\9fO­VV@\ 6Ü\82\8d`/>l\8cL«p:)¡á\ 1Ï\9`\91*\8cZ`µ[wº[t\82<¸Êæ¼s#\92ûñìªK"E\19>\1c¤E19»¿ä\1d\14\1e¹\90eðÈqC\96ÜÆ´5¦\ 6ú²õø\0\8b\ 4\98¹\87\ e        [l \ 1;\9e\93Þî±Èp\90Ý\BsÿjE­*%Ë\1eQ\ es,\10\ 2Ô\82\1c\1c\a@¬éy.)Ú?¦\93fvJ\87çåÑdÈ+\81N\1fb=¿0Á¾K\8b\85·Ë´[R\85{\88Ê\86­\ 4Lk"\18ÏFHR)o\85v±SÑjæ¡Ý¾\bÇ\v)$Þ\rÆüò@\83é4\9b1h\81|\93\97Éǵ;¡^\9aÁüÂ\11¨w\98Å'\87\12òa\1e£Ü\aµk$B?kr ê1v×\10=
-¦NÈ\ eÒ\85%^T\15Ö=Yfô)¬\16ý1WX\158Ò[&Âü?Q\ 4\96/l$±;\8c-1ñ\ erÓo\16ö\8c©SÈ\12\93\981î^èzÄrÞ¶\ 5ïì\10ÚÐV¬Ì×]k\8f§±µ©û\8a.ÃÚòf¥ô\81¤#¼\96\ 2\84t¬ik¯0S#-S)Ã\v\1e\1fC9±ÊByÒÔ\82¾\1c;&í\9a\19ÝÕR`\8d¶²â¥\8cE\8f_\8a4ÆØ\1aË5Øz\06üUµ\16'ðN"1¶j\17&ÏðvÞ5x>Ã[ó|B³YxÙû~óùÝ\ro   ?\81\vè]´<ÜÃìà¨\aéøàj\84btü\82¸õ\ 1æÃS¼ÈÎÞ\8e£zäã\11?û¸¼ø÷â7mÀ\12&endstream
-endobj
-1736 0 obj<</Type/Page/Parent 1479 0 R/Contents 1737 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1737 0 obj<</Filter/FlateDecode/Length 1546      >>stream
-x\ 1\8dWÛnã6\10}ÏW\fÜ\87zÑD¾$ëd÷-i»À\ 2ÝKa\ 3}      PÐ\12mq#\91*IÙñß÷\f\8e6î6Ab[\1eÎ\9c9\9c9Cþs1£)~gt;§ë\ 5åõÅ4\9bÒ|ö\ eÿoînù=þ¬¤ÍÅÃêbòá\1dÍnhµÁ\92Å\1dÞ\14\ 4óé\94\18KfÙMFoVß`7Kvã\89ôùD;·W>/³ÜèM4¸¡Ù,:º\9aßÂÑxU*G\eUI\82\91·¦räKI"÷­¨H\8bZ\ 2\863Uë\95Ñä\85ÝJï2ZÁ&¬ò\87F墪\ eT
-\17MwÒ\92Y\7f\93¹'×È\m`À«\1d     Ç(¦t5»Îæ\1c}cªÊìÝû\bnJï:l7\19§9¦ôó\13½\9e\10»\9afw/L»\10Ãçô\99\93YJ»S9^\ 33\9côFm[\e\0\86\8c²sëÓóù,[\9cÆk\ 4X.ÞwHá±n\84\84î+/­F¸\9d$ Â\95\ 4ýÆRpclA¢\ 5ÿÚ'ÎHX\19Øy-Ó¸¨\8f\1d#\87$\1cilkU\88\86öJ¯\95\0r¥(Ìþ\7f¢ßZÓ6GÛ\97©\ ey)\8dóîÄ\98«%Â*t_\ 6ßíÑ9zØÛwÕø\9fܼ\8c\1f£#r \ 6äüB%ÊZ\15T¬S\1e=]çÐié÷Æ>õI1Žß3Õ!±\99¶_A!zXsf?\1ak¼ÉÑ\85\89¹>Æ\19{Ûä'\1cÿØ¿\8båß¹\7f\89gòáT\1eB\95\7fÙ\80\9dÖ:yIRä%\99\rË\83\93T˼\14@WsÓÿÓ*\88\ 4¾\11>ªG\83<\1a«\84\87J\88\UÊs\9d\v]LPê\1d\ 6®mx·\16JQ\1dº\ 4\932t\8d)\8b®!ç\8b¨       \1f!+¥i«\82Ö\92´ñ²\88\81[\8d\ 2C\10\14pIç'5\1e\8b- ·¨!¬qh¯KZýúuòñkg\8cu\0ãP£ÚghÒj\0'Y£ÅêV\9fè\99\1d1\91¬ÎU\ 3É\ 4CP=ñ¤ô\96\8c\86.îÑÎ\b\933
-{\18\84¤z¶\85\1e\95\ 4ét¬³ó\8cõß\89z-\82®þ¡tûL®m\1ac}Ð\vùì¥f[Ðn\ 2éA«\13·\14\85\9f\94ÞXá¼m!çV\ err¼\ e;V\ 5çy¥\90»\ 3\8eªb\96Ä\1a3\ 1®ÍÚ\v¥O\87\02ü´¤¿ *\90nú,ýÃÇ/ËÐ\9c\ 1\vH½/
\83\93<(Ì ê\96½ù0uZ\9dó\\10(\8f\ 3-C²ZÊ"x\ 1\ 2Ö3lH\11©\11'5\85)\ 4Þ\19mʽ\16OÁ¾F\89ÑãXEÍ\9c|x{\1cwÝÈ     ¦Ýd\9cTj\8d÷\7fC$]æ\ 2Ôc\13\8c\1fßÄA\87\Ú*l\12Ì-6±+@Vjæ
-«=f  \86Üd\9aÆ\18ðaØ\8e9\fÓpâ\9b
-´Lî\r\9c1fx\1að4bL#H¼ÅØÂÌ@  \1d©\11EÁe\1f7~\14¥nÄ\eÉXB5ÄpG\ 4?8\ f\8cãì£{n`èZc\94ö¤ú9\96º²+\8eÆ8§R\814\½B\1fN\8b¢\86V0\98õ\ 1>~>\16\9c\92P\80\95áÅØG.Äî[Õ+p\1f\16 b^¬Àa\ eqöûRA\93Ö\ 6\9d\ 3\ 2S¿t^\12­¯Â\92\1c7´b8[á$Äg««ëtìÀ¡j\9eÅóÂÉá\a0[\97Ê\11h\8e=\90vn>\8d\ 2\95ô\a´¼Üs\ 4\98ßÆÃÃqm'@L"óneÁò\820bmÚ(§¡³\83üv¹Ár\8b\13\84æúÄû`\80×'mö\9avÂ*Óºï$õqÌ\94@§ \1aÊA> º\8fo"û\92FÜnm(4lÎè\92F]0öÎ\9f\8fy\85\80éÑZ\99\b\80?/?=\fÊ8,\ e\8a\8diQK\11w\12ê\ 6\81Á¾&íã\1d\94ϹlÂI\13\ 1\8fÞÓfçX\r)\80®\8a\8a\ 5ì¨}\83ÀqRѱ^0y8DajV Æ\15»;Â\1aõ\86£Ð\90£h\87\ f\98\vV\86\13î7\1e \ 2S¢æøìa\103hx,J\ eÕ\11\88\9dÁ!Ñä<\ f\8bÈÅKÕä\18ò\19gn¸\9dá:P¢ésàrÜÍ\18I[_F¬³\85/\a1{c.\1fT+\ 6<\aÁ\94ÄçP¯àÈAh é\18\93\98Ê;QµÌ>º\ e:\1e*Îu\83\19\11w²Âs\9cKët0\8eä\rB\9f&\91|1\84-\17\17ê\18\99öÓ¡£\82Ic` ÇJøgn;û8×ø\94ÑM1\."ÈA`8À\ 1c§X\ 4!1Ìu\1c_\93\90¾\1d\ eÙ\15\fâU#h\15¢¦kK\8f\8fq\85Å|7\ba#®x1è.(wIÐg\v\Ñî®q\19K-¿¼ÿôpO_­  ·\9eßL\1eÆSà\8e¡_u\v®n§¸â\14ý­íõ[ÍÍâ.[¼\9dC\91Øt>c\17¿¯.þ¼ø\17\95\85kWendstream
-endobj
-1738 0 obj<</Type/Page/Parent 1479 0 R/Contents 1739 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1739 0 obj<</Filter/FlateDecode/Length 1978      >>stream
-x\ 1¥X]S\e;\12}çWtå\89l]\eÛp\rÙÊn\15\10\92ëZ\f\l*ûÀ\8b<#Û
-3ÒDÒ`ø÷{ºgd\9bIÕ½Im>ÀØR\7f\9c>}º\87ï\aC\1aàï\90NGt<¦¬<\18ôñãxØ?¡\93³S¼\1eá¿×´<¸\98\1f\1c}\1eÐ\a\9a/qc|\86\179áô`@óì\90Ú?\ fÖ|¯5Ýèx1¹\9dÑ\8d*uøçûù·\83\ 1õ\86\83þ\19.mϦ;ÓóË?&7W7çÓ«\8f\83Á¿é_4ÓþY{ùf2M&\90¯­5vEÎÒÞñ_1|Ì\86¿h«½Éhª²µ±\88\13ñÑãa
-×âÇÇ÷¿`u$á^+;U6E\1d\10üÿ\13õ×Ûûÿ|¹¿}¸û8\pÌ\9f\fÒV!\ 2\93\vï6ðÐÆ8\1aöÇû\90~ñ®®~\ eõ\9d\9bÁ\eh\ 4\12¯W\86Ýé\9c\16¯¤\8a\82J].´\ fä\96´½ù7@mÏ}\1cf{\89\:\e½+
-¶vÄL)Ü
-emj\1e~ÞfÎ6¯]¦\8a\ e6¿`C³\8d\89E¦VÇ\86\r÷:¸\ 2ì\13+G\9fOh8l(ß\e    Ô\93Haíê\ 2Èh².\ 2¢¸VQ@J<*\ez\81¶-\8e\8d'·±Ä\1c\v¤\ 2U¨&Þ&µpϺOó5hÎÿ,=£Ô        \87ãþ\88\v\9c1hx\9b¢£ùåÝÑä\ e\aCDeT4Î\ 6Ú¬Q-Â\99Üð\eøàU¬\87WÔ±$\95\97Æ¢¤^EçicPÑ\#m¼\8bþ²rôHÇìhíBD\95\13Á\86­ÿöȧ\9b\19å*ª\85
-\1a.\91v\9b\ e\10\f\14\ 3²1qM\1a \10âTyîu\býDÙ1´\ 5\19ÝÂñ²ö@ÀSå\8c\8dL­¬PÞ,M&IuqþM¢d3,DMY\ ewA7\1f¤z\1dÒÒ\14\bÊry4qà^gÎç\81rÇu£Ê»g\93ë\ eÐ|8\95\91s£øZ1BKçË&*©ötF_\8dÍÑ\8b\88Ùh\vÌr]ix\ 3\95\ 2¼\8c¸\fkb\0¹%]àû\1d§¥z\156i\9dë¼Oç\96ô\8b*+Ä\8f{±%\86À½V\15¼H¹-\92£\1fâ \8dâ`v!(äË\ 2ÒqÙ4\1dǤ}\9f@ê%Òi|¥@\13\1ar8J\12\11î¢ü-\88 md¥\0§\19(Vj\ 5\fÜ\13ÔèñðÙ(R\1dÿ        ã\85w*ÏÀìÇ÷\84«¤m]j°\14\1c\16o,=©\9b\ 4ùµzÖÛ¾\92æC\en\võ\ fÖ\1a \bç\10\95\8eO¯1\9bÐCè2\14Æ"\11°\ eHu\98\8a\ f\91\19\ f\1d\1dk\bC\9e\1a\86w
\12Ç·ÃF\87>}]\ep^\ 3Ò\8eç6\ 5\80ìqÏë
-\9ci\83\0g\ 2\ 1¦\ 6IF\8eI³+\ f\ f½3Ç ÉùÝÆù§\15\8bþ;ô,½kJý\ e\1eD\020\ 4*\ 5ñXÖ\81\væ)\1c }\ 5\85\ 6EFÁ¬¬´\1e\9fpËN\ 2 \87t%l\b\ f\e\b\81`V{\131"<\ 6\19\0kI«÷¹       uåHYåà\1e²Cû\91·Æ\ 5\91\1fz\83#¬¼)\95\7fEÎûö[£ Ì³ñÎ\96\M\89\vÕ\13¢VZû^t=þ\8eöä\fAuôÍn\84±lwRÝÒM!\15(W\ 5y5\vô"Ó\13Ñ´:\9eRÿM4fÅ\8b\85`\1ejP }Èñ\14¦\ 42è-G5`Gdßj\90 Û\10\15ô\13\18åè\97\83\ 2#böÇùý\15Mo?]m->¾\97\14JÈ4J\16ë$ÿ¬¸oòmÑI\84\82ëf¤ñ"Ö\8aúfí\98\e<\8d÷\12Ûæ/S"\18èÐ+¹J:E8cÝ6\1a\ 2ÔÈZ\ 4\ 4©V.4P!W9ú0»º\97ø;\18ïðy[\8d½R²Ú×Ü\83ßkã9\8b\16<Å/|C\7fV(\ 5}\88¼Í­(AØ\1d5{"¹\87\8aP\ 5\1e*l9i\14\94\1a\19o\y¤)ª^H½½.1ú\934u²Ã\80\ fj\ 5Ú¢¤\88«a=ú;º\fH#|(
\ 6,âÕ¬Ùu§í\9d\vL\8e'p`6½\80"6\12\8cÃü\8f\a\ 2\93\1c\97\9an\ 6\19;\9eoÚ½{ëLv[n=ºP\ 1\8bïÄVu¤Û:ò·\99ì\ 6̨t¯\15\fm3U\85\1a»ÅÖ×õõ%¢ºv+È@·c®\8d}¢v­CÐ[ç=\16Î\8dh"\14¾\99\86h¨º\88\ 4È\ e\v\ eãêa\ 2Gxµ\17õÕK\84Lê¼\93í\ 3\13A¶·¥Ê°¸¿ÍC\15Á±úáÑ\81°aáäÝ\7fa9m{l\9eøSÙ\13v¿«\97l­ì
-Vvñ£\ 3¥X\8b×\8eã\eØ\ 3\1d\10äW\88\0\18\80-z[\87í¢\96ð\bôë\80\Ì;®ÁDFiÞ,Cü\92\9f³$¿ÆÝ_\90\7fÛÙÈ
-}\939fÔ\v´Ûcÿ\80.ÉHA\81\QËü-5cbB\89Ñ6\93ɱÁ=¨b£Ç¦èâ\ 21Éx\95n7À6\7fY`r4\f\16Öv²£ä{²(\a`WIìG\9f\10+"?fö\8eùI\14ÛâðC\7fÔ\1f6\9d\94\92¾á©\7f\89å@ºàíª~Ê\97ÎQ£½Þߦ¯\91·Ã̲ÌO<Ø8\8c\96E½\\82#[Â"Â\80U\19©ð\0J.\e9à®\9cÜu
-Ó®¹\18bI-4Xë±\89'\95à\81\ f½\94/I_Öà\18êPÖ\96Çk\ 2NÊ)\83\8fWþá 7ü\9d°TÕ\91\97\8cIw{D¨HA\93^bsæ]\94G\8d[D,}\9cãnEi"KáÐÒ»R²ãeµ\0{\81$G\aX\9aAêhåð\ 6Ö\8bÕZôïGÁáÕ¬0ôó¿bO\vÕ¨]ý'¼E&\ 40\84ÀF¡\1e\12\9cw\13\91¼Ù\84Å8-4ïlk\b\17ön^l\0t#*rp­ø\91\fGôKe\10P·>(Ú²¨Ã\1a¡n3\17ãÒJ\ 2\95\8axVj&\9d\80#m¥Y\9ejÞTO&$$&Ô\8boØ}\80;;=ú|Ö>\9d\fÇø\15ÊÙ1\8dOO\1a\1aÏΧ\17çtç\9d\1cÿä2,»6Ê\fç\9b½t¡w:à߯ü\ 4íOÆgýñï#ô
-\1f\1f\8dØÌÕüàÏ\83ÿ\ 1µM½Vendstream
-endobj
-1740 0 obj<</Type/Page/Parent 1479 0 R/Contents 1741 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1741 0 obj<</Filter/FlateDecode/Length 1763      >>stream
-x\ 1\95XkoÛ6\14ý\9e_qá|I\81ص\9d,M\8aa@\1eÎf q³X[Q@À@KTÌE"U\92Jâýú\9d\8eãAíÚ @+\89÷qι\ fæëÞ\88\86ø\19Ñ\871\1d\9dPVí\r\aC:\19\1f\r\8eéøô\ 3þ=Æ_+©Ø»HöÞ_\1fÓhDI\81#'§\1f(É   \9f\ f\87\94d\a^U²o\1aO¹,ÅÊ\rH\räà#M½#-*IÊ\91Òä\97\922\91-å!9C"¾²Ò\99²ñÊh*\8dyljzVeI®É2)óCZÀ*\1f¬pPi6 ß%\7fï\r©?:\1a\8c\11Å\816\1eAºÚè|@É\12¾ð\r-\10¶m\9c·Â+ý@\85±Ô8i\1dõ\83Iå9(AÙRX\91yi\95ó*#S\ 4gµ5Þd¦\1c´®Æ'\80\ 4®\12\ 4r;§ÏJçæÙ\11Â.\95\88ð$Ê\92\9fÉ\17Q)\r§H¨µ6\93þbúi\1eó\r\0°ï\f\adN=½ðÎ\vßãØ%ÍEµ\10;     Ê¯\8dz\12¥Ô>Zd4·ÎW\8b\b\/Dûþú\8cF\b\96\1f\8dbÜ£³Á\18?ÁÃÍío\9fæÉ\9c
-UJv´Ík\7f̼"MØç÷ì§q\r"]\81\9dLx\ 4\f"· \98%t\f\91\0Ý1k\ 1/£MÈ*håàòc\9a~\9eÎfI\9aοÌ\93ÉíÑ8M¯î§\7fNîçi:I.ßÆp@Bç;ùgF{¡´\vÔLïè<ÏÁ7ØÓù\eiD©iHÅCd9ÕBYh\91aÝ ªÅ`×uH¹\96\16\1cmÓ¶\13\917\848D\eG%ê\9a5f¬\ 2G2ßUÍ\14
-^Õ\8a    g\18Í££R=Ê\8fë ÎZ¶ÆÇ\91-jÿìÓ¥©WV=,=¥\a\8eFgg§t«2k\9c)<^Ûzíl4\1c\9c2w\9bÃë\90w\9fÇ\12\ 1±\82\9c¨j\90¼­\b.\92\9c\16¬iH}ã      \8awtYr~\b¥E¦Ó\83y\92\96\92Ë»÷Ó;\ 4\rug\8f¡\0Ûº9;í:Ùõ<Æ\1cèy#\86\16yÇuñJ\88\84R\fA\99\99©ê\ 6µÍÂp\9d¶7ù Öðå\80h\82nCHÖ®È-MS\ 2\12I\8f²F\ 5\ e:ÏÕ\93ÊQ\19 RËN\12\82ø^#Û2V\97"\8bÕÄH\17PªG¼eSi@Å­dCCgà\99±mßcõm'\eE¿ÖçºNø\8b\16\8dN\9b¯Ù:Y£5rÅC\rèo¥\14\bÑ \ 5»\1a¡sÉ{±\88\9ezû½×NÚi\e\9a{\90ZÚP\aAg )\97èß2È\rB±¡Å¡-\9bª\8aZs2¾\94/\19àGWí&r!\ 1[ú®\93\8cÎÀÞô;F      í{\81ÂxV~¹U\ 47ç3º\15Z<@ÝãÁK«p*«¥q¾;,\96mlV¦(x\ 2\ 5Â\ 3ÇÌ\9b|ñR;N,4\ 4\1el»%Û\19x(öý»ûÉw¾¸útûñçÜT袿|çÓéìòæ\8f«        ýÌas9|ïÀÅä×éì¯ó\9bdr?;O¾\17Édvõ\7f¿MÓá\8bÖh7Úè~m\95\ e\83|3°±"Ôµ±>}×\95Q×sºÞ\80/ôª-óv?    =&ðÎ,m\9c9ê1̽¸\9cd\ 2êí´Î\a\80¼Ñ6j\v]\8a<\14;\9eðë0©Â&0 \8b\15\10\ fÃ1Åb±ÝæyÝÙ\98\8cû\11>Ç°³Ü¹\8dÆ\8c\11\ 5Ê\9cò\15Ü`§     Î¶Ö¬B¨Òýx\91l\83Öæ·Á©·¿­°\1e\1aÃCDJ8g2\85.Âiw"\16ÑÚX\8bBE\9b\91\99*Tl@kõr¿áÙ\85JÊ°].Íó7-/,v2`Á-°4\ fhÞøß\93Ê\80ñB.Å\136\1c½®c©\9f\945\9aû\ eo\rf\8drgØÌ$\97~Dx\93j\1eû\ 6C\12q:¤¸mj  ¿N`¦@\ 6¢ä\1d8Ïi³ííV=±âøSö\13¦L\98&k$ÂþZ>cÝ^\a
-¤Dé1®\1e\96ì1ìÑPKgüÐ&Úý³¦ç¥\8cÛù«.Ùú\93\92\98B?®\94y nÅÍ­·ÿß~Ò\16\11\96,L\11Îíþúr³la\18_$Ý%\8d\8b\9fYïÀ\ 5£á1\18xUÊk×
-\94\87¢`,\ 4Væ"\80"¿QZ¼â\96\83­ÖÇ(¼\8e,A\7fÌ.û\vÁuÆH\1dÆ\9d\9fóì&1cq\8b\83Cí¤\88«5\12\0\ 1Ü\92y¹Å[Þ,\82<¥íÄ\1cW*\8eéüæóù\17\(¶\ 5\85;\v6\12     \eë}\94ï<\8cïÖþ\11o$\9d\8aàâ@µ ÙòѨ¼5\83må­\8dW¸[ñ²\18<\ 4¥æÊ¢&ÕÓ7¶¡)RÌóp7âÀ\1c._\92zu³(UÖãRä§|\83âµ4\8cs
-~\0T|Ù\19ù\8dÐ\18Íó\18\7f\89Ë\1c¯\84½YS\96\1c¦ë\9c}¹àÄØ\1cI2:YÜhÛ»%¯\8d\9d\ e\10\82à\9d\0¨X)âÅã\r\9fáÆê\\ 1\97«\16«G¹b¶\1a\r\7f\9d\86Ó´u\9f¦n弬Ò4k°ØiÏ«®5¥\93\1e¯Ú¶\95¦¥Ð\95Ð\91©4å\1d­\92h÷.M5\»\98m@¶{%i\91¶ò\ 1HY\84;W\80\1c\83\ 3ýhCGË\7f\0³0H\82Ù±\91Ý÷קí\ 5ot\82_\14\9c\1eáW\ 2?\r\ 22?¿½8§;kþ\86\1aèÊd\rwÔp!f\fúë\ 3ý\ fC\|ò\83oÝM\8fON\a'?\8dq\95å\ fÇGl`\92ìý¾÷/å!îÝendstream
-endobj
-1742 0 obj<</Type/Page/Parent 1479 0 R/Contents 1743 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1743 0 obj<</Filter/FlateDecode/Length 1635      >>stream
-x\ 1\95WmOÛH\10þί\18Á\87£\12ä\9d\0ý\ 6$ÜE\82\94#îU'Yª6ö\86l±wÍ®\räßß3k;oª{´\14\94¬wgg\9e\99ñËA\97:øéÒy\8fúC\8aÒ\83N«Cý³AkH\83\8bs|îá×JZø\a½³áÏ\1f\97Ø·wâ:8hßvè\92\82\ 5î\18^àCL°ßéP\10\1dSõïèSðã C§ÝNë\ 2\e\14,%\1d]\8fÿ\9cL¿\93Ð1\1d\8d§£ïWwÁøqz\15\8céY®Þ\8c\8d\1d\89$1o\94\16I®²\ 4G&Ó\9b»¯£q£]\97\8b\¦Rç\8erCsIOÖ\14\99\8cñíIæKi[t¥Wä\94~\829WD\91tnQ$¤t\94\14±l4ü¦\92\84"Q8I0S\9aå+¼     \19·\9a\ e6­Ó­Ò\bnuBÚèÓÌ*\9dÃ'\8a\96Â\8a(\97Öá2Í\ 1Èt.ã\18\11(M©È2ìr4_5Ú](ër¸e\11¸\8eÙ&û;\95ùõäË\8c´H%[z)\f\90RF»\13~®©`Høc£á0ì¼k\r\83>øLFj±"AKùN¯")À&cñýçAý>J\ 1|_\18&\ 1»'ßEÊ4@.
-\97[¤Ú3\84Ì\82=Gjä{.µã°>7ÅÑ´NÝN¯\85â¸ÄÿsÏ_»TÚÔT¦£\87Ç1\1d\8d¾Ü\7fÖ2\a9\9fÙ!:Â\97\92\f\7f8\1aÝ|À8®a\9b\87H¥O\ 61®ÝÁáú¢­\ fG\8e\ 1\16      a39i_¥ýÈ\r½>ÛÈLV$Ân\99+cØYp¦°\11
-áö»\1e\9bÄD"qöuË\96Çgë;C#\99·L\bdçÿ*¬1°J&Öâм±\12\a \1a\86µ\87a\98\15óDEXI\97ÆåîcÇ}î\7fãì\8e|5]Ñ´N\13í\11\12sóÊ\1cö$÷u¹¦Éa\95"\8a\8cÎ\85Òà=Uäh´ºÖ\12.x\ 5Ed¾Uf+r\1czñ=¬ÁZßÂ;q\85mV\83ÌÊÄ\bä÷Ä\9bà\ 4\1fzÐvl\90\9b\v\ 5&8\ 37j]\83\92Æ\8d®CX\13T·]\v\8d ê\96%\132\bµÄ/LVI¥\85bYð2@\9bp\1aí»\95C\9b
--^\85JÄ<\91¿¯NS\93s;\10¹OßÛÒÀ\89Ò\13G\99°\88°b=kEdÒ²1\19MRDKJ\8cy.²\93f'\rú dÁ÷æu\81N`YëÖ\96\0\93 Ti\95\16\ e¥ÒÌ2\892iQw©ÐQsXÜ\84­Ä6 \973\16\90v\12ñ«r\8c\86×w\98\ 3Þ"Þ\ 3\9a3¡@\10pÑ°o\8d!H´v/ΰÎÀx\88Û·\97Ô\1d\94\93Ãi¿Ë\83\ 1F\8c^«ß¢¿¾Ì\82\99ßÉ&Û·\ 3êâ9\8f\18§½sÞ\18,+K>w®ð|`úæ\1e\9fÑ7¥cóæh\1aÐ\0\83\vÔ§Çc j ´\89\91ÈÛ<¾ù\1c\86ß&Ói\10\86³\7fgÁø¾ß\vÃÑãä\9fñã,\fÇ\81\8d\ fÇLô:Ò~«Ç\91ù?y «8¶\18(Ö%\81%\16\9dºë¦"\8f\96p4\13hÒ-\9aì\14\ 3\9az\99gnÑ°b\92\82\eôÞ\8dJ/¬@ï+¢¼àÄé­\90O(\96\19 gÆ\80dKLNìWpóÐ\86#R¿*k4s\90Á\83ë\võ\ 4\eq\vDØB\15&%\1aÍz¨B}\13¥{ò¥Pèôl¥l»ôU«÷ö\9dÒÅû>Âm\99GíµênCÙD\86\16xQÑaТÑtFw¾J~E\87Hdb®\12\95¯vãbp¶âw2/2Ö4Q?¨\1aù\1a
-?\10ÑBDÞ\18ò³\0h\\v1\12º\97\a     É0<\81\94#Õ&_\10ê\97B¢îØ\99rtÁyö\ 3\92\19)\f)ZøÔ\ 1½·¥\82\ e(W¦M0¤\1a\8b\95\9eT3ÛÞÅS\13#¥«\fö0*¦\92Ur'\9d(\\f¹´Ù\87\8b:\94J\81¦Áãke\96æ\16ú\1d\81K\14\1eC2,}\1d=ìݵÞ\12~òÑøÑ\92\85»\96ZOl/\80p\81ctÅü\87\8c<50\ 42\93K\95ãã,/\v\1eJkükOxßÞÍ\11\ 4\f\vH´¿@3'N*\9dà\17\87»ûR3\90W\fÏ2zf>#qÈ6+Ø\ 6\85\8b\155\0{7\82Å{`0±y©\fÞ1ãK¹#¨Æ\8cf~fâ%3çn\ 4)®b\9d\97¢ºñô¤vs-öUQA\9cÖ\18ק\81\14Cü3©Üª\8e³VéÅ/ËãªÜ\13\1e×\9a8Ñ \vhOSNM\19\ 1ÂãñO\95\8cå$\96%¾Uáv\11u;\9dn\e\7fz[ý|z=\9dí¡\18\1e×Iݹ\81    éA+\aMr9ºNÉ\18N~)\98Ð(t\1aÖOÿ\bUÀIµòI¡YC§X E-ï{÷F\89òºVN\0\95â\95\15¿\14x_\92xÅyR¯ø\v³\89\e-w\12¹\91ï
\8bªQt\87xY¾èÓpèÅivu\7f}E\ fÖx¢\8fLT°¤zí`§Nëí§ç\1d~+nèm\83áEkxÖCeò\96Þ\80\8f\8e\83\83¿\ fþ\ 3\96rendstream
-endobj
-1744 0 obj<</Type/Page/Parent 1479 0 R/Contents 1745 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fa 12 0 R>>/XObject<<>>>>>>endobj
-1745 0 obj<</Filter/FlateDecode/Length 359       >>stream
-x\ 1\9dRËn\830\10¼ó\15\a\^qH¥\1c\12µUsh\9a
-¤ªG\aLB\14p\8a¡Éçw\rAJÕ\87ªbY²\96\99Ý\99Ý}³<¸t<\8c}\ 4\1cii¹ÌÅ\88\87\8c#\8cÆôöéÖ\12¹5O¬ëû\10\9e\87$'
-\8fÆH2\10Üu\91¤v¢\90ª*/6-¡cQ®\ 5\1a\85µ\84ÀËb\19CËú]Öh¶\94Kí÷êXT\e\1cD-JÙP¼\92\ 3#ËdfÞ\ 6|\95ì¨.IìêÚº\3S§\ f\ frläÅ^Þ\fØI/ÑñC\16\92H\eç\8fjjèöpPu\83)^¥þ\9cÆ\85ãsCøÞL«ÿèFCP\13\8c%òQT\9d\8fAø¿\94.\95\11Jò<\97E_\1dõ­\9dât:±\8bû\83¹ãVÖ²ÿ'\86¶þNµQÐlh\18\8b\15D\96ÕRk¨¼\8b\96õ9£sN\8fÓúD\ 1¼  e¢¦Æ³Çù\f«ZídÚàV¥m)«F4\85ª\fÓ\19\bÎØ¥\ 1f¶7a>\v\18\1e\9eâ$îÚf`!\8f\18\1fù´\81\ 6â\8fLì.±\9e­\ f+@Ê×endstream
-endobj
-1746 0 obj<</Type/Page/Parent 1479 0 R/Contents 1747 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1747 0 obj<</Filter/FlateDecode/Length 1598      >>stream
-x\ 1\8dWQOÛH\10~çW\8cx)HÁ\90\84\ 6Ú7(W       é\9arÂR\1f\ eé´±×ñ^í]ß®\9d4ÿ¾ßÌÚ!1<\9c*J\88í\99o¾ùæ\9bõ\7f'SºÂ¿)ÝÌh¾ ¬>¹J®èz>Onéúö\ 6\9fgøñ\9a
-¹°¸MfãïïÓ\93˯\9fhvEi\81P\8b\9b[JsB\98+|\93\9d})UÓj\8fë  =Ö\8dw\e\9dÓÊ»m0vMÆRPõJ\9d§ÿJ\94éM\8cr1¿F¦4?ÃcÓ\84¾o´ß\18½%Wì\9f\8d\8f\ÓtÚ?2»I\16üÈó·{²ºÝ:ÿ\93SpJ\93ë@\8aj\9d\95Ê\9aPÓjGÛÒd%e\95Ѷ\r\94)K*Ëtàû*\13ZNU«¬4\16\8f\ 2¦\1abNHÐ^ÑÅt\1e1\ 6w\91©ªB]§R\98\96\0§      ¥¥      1Xæl«\8c\r¯!ÛRµ¤À¬×*ßQë\90°\0O\85©4)\9b_:\ fèƶ\14¸v \93{ÚR{®ü ý\1eåÖ´\80K¸eÀÊ\10:Ào)w\b`]\8bR²ªËõ+\90È\ 3\90Ø\ f-e\9dÇ\87¶Ú\91Z\ 1\aPåN\0\0Y«ÂÏ\90\8c\92§HvP4¡àR«\8dA\84.p§\11©ª\88{ÒS\9dÐ\17g\v³î¼j\8d³Ì3_ÝK¢T\81VZ[n\1c0Ô¸+£Â\8d«\ e®ÖôÌÚáD>L\90×f\80Ì\9cç.ëjÔ1 \9d-\92k\96Æ·gúal\ eñA\8fÐ'x¦JA\9ehj æ/\86¼\98\1f^bm¬4¡\87\ 2\eU\81\17æ\12\89i©ÛûÇïÏ\ 4]{J¿<]>>\rY\a\0²£§\19âVí¸/ødêF3\17\e\ 6\ fQX\85ʼ\ e®ê\84 \97³Nfåaù|ùçÃÝÓåÝÃóËyD\84neèÖ¨)\aH¹B7ÄOè~\18¼­AW\96ßSâ1!S¼ÉZxWKczyÉ\r¢ÁǧQ:\95ç\80\e °½Ê\8aÎf\ 2>s=Ä\81\94¡\15 \ 5â\7f\87=¦D[\96_.\ 4C\1f\8a~<.\9f\a\1dâziÖ%\14\86â]\8d>ç±%Ê 3Ðã\ 1\18a\1d\12¾°M\80E&»¯\8aöu$1\1f\84ËJñºv­Fö5Kj\90±Lã\8a\87z_\ 4Çú§Ý5z\94ÓXÈ\97u\fµK\87YPÌ=DÕ»S\1c\14»#Ç\ 3\ e£Rð
-T>Ò\82\90Èn{è\93¢løäì ½¡k\1açyÚ\ fýõ=³\94  *Tf*Ób\120{½DØ;úÙ\16§\ eÔ\a\8dSmëU.C\82v¨*8\16\9dØ \86Þ5\®8'*\1a\11\12êUÂ\1a\8df÷r\164èí¿{9ûørþr\9eô³\1d}\19N)¾ìà³\83ÝÔ*ð^\ 1µÐ\a«xí]×\b$\16\81ZqE»÷\9cCJÆ\b\ f$å®æ6VnÍ\88ybBæM\83­\80Ú¬Û\92Ú(S±"Ç"\8eþ#\18\99\ 2\95õ@û\88=Daô-Ô~?Ä^\8b\a2\97\19hD/du\ 4âI\1c\11X½%\82©FM \ 2Ë\8e\17Ë~a\rsÃ[\r;\18\8eëó\1eMDv(i\99\1dq",\918\e¥\1eûK\rï*à£,/ñ[\ e=éíìh(ÙÏVÐtT¡p»s\9dßgd\a=\9aî1ÃK\1e=!\aÏQ(]Wå2;A·½DP5\ 6\89{~LûX\19\12\85·\vß\8aSG,P\94eGü.Sz\10Q|&̬Æ1à-­\13bDuÇG\ 5\v3Ò¼\0J\ 5î\9c\1dC\19\14\0#~\95êd\94ÔëµòyÅG\10Lþ¶ÔÀé{R\97餯\96å¾÷      6\e¾ù¸ð¨¥Ð{\v\ f¯4©?G\8c\19þû\95b\99é·ÛNfïÀ\81'´ê`-²¼x\rZÍç&åå\14\13\1a\9d\99Âð\81H\8e\0\ 3Ó5^â\aA\13:XÎËô\1aõâÜ\ 3\ 2Pð]¾QØíùð\95ìn|\8fßs9¹\1dogà\15\91\11ÇÌ\81ö2\ 58\ e\9a_\88¹L/9\1eÿ7\1fFE<@lBÛ\8dñÎ\8aóC
-Ð*\8f×\1d\8f\17V       ÛÎ;º\1f%ÝË\97ÕÎâûf2ï\82+Ú£½\96©&\9a\96Ñ¡G(gã\8b(¯W ïdDXÕ\8eÒ²<9#ËQ\8e\ 1¬Rþ#ºV¤\82å¿'«/\7f¬\90ÔÑ\1aÓ6,\ 6Þ|rjà\ 4VÇÝë;Kq%\ 4$íT\15E"v6Ü3\94\7fºwëÓ~OÀHFà\87uÀÉúÍ\82\91\80\9bì\9fíËXñ\19\0kKQ£°ð\1F\1f«\95\15ÅÃ/ÇÅ¢«\86ÌÑ%\8e(AÊx\167mÐ\15\14¤¶/\9eE\0Ñóh\86ne5[*OÂ\bÿ\e\17\94\11\8c[\91×\8aô\14\84ä\12ýCg\85´\ fÔt¾q8J}F\16ëp\8aÒ,=ÜÏ£ÀÚ\81Ëk\8f´\93w6\9bþ¥ê\ 6[
-s¢é´?·\fqN£[¿nZ¼\ 2à\90­Öq«]~½}}\95ºùħåÿÿêv\8d\17ÃÅÇ\19^ÿðØt¶`2þHOþ:ù\r©\fÂfendstream
-endobj
-1748 0 obj<</Type/Page/Parent 1479 0 R/Contents 1749 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1749 0 obj<</Filter/FlateDecode/Length 1710      >>stream
-x\ 1\8dW]sÛ6\10|÷¯¸ñt¦ö\8cDëÃ\96ì¼ÅNÒú!\8e\e©M\1eü\ 2\91 \84\98$X\ 2´ª\7fß½\ 3¨0\8c§ÓÄÉÈ\12\bìíîíA\7f\9fLi\82¿SZÎh¾ ´<\99$\13\9a\92\19]^/ñz\86\7f\8d¦\>¸yåýÛõÉÅ\87\e\9a.i\9dc«Åõ\94Ö\19a\9bÉ\84ÖéÙl\92Ì\13zlì¦Ð%vr¶h½±Õùú\e\9e»¤)\96ósãÙ2Yàɳû\9c\9c-µß\99jK\99Õ®úÕÓÞ6Ïäwº¢\9d­uÞ\16Å\81\7f¥Ân\93ªÜPn
-M{S\14´ÓEM\aÛ\92oTú\8c\rö\95¬¬\ 3\82\84ÖÍ\81\14ezÓn\19\ 3N\9eÎQ-N.ô\8b.Èæ4#ÛÐ\9c\9f\9b*c ñq\97ÐÛÂYª¬×ØVyÙ;m\9bFW\9e6\8dÝ;\802ÎSëZÅ(·Ú;rÞ6:#\ 3\1fÏ\e\97ü\8b\1a\0\90*R<\86µa¯$S>\89«f\8bä\92a>\1cÏ69\19ÿ#G\8c\19Õ\8f\18W%<¸\9dm\8b\f\10\98\9d\8d&\ 5!È[ò\87\9aKÐätó¢\eªT\89\ f\1d=áÏêýç¿Þ\7f\ 6ÄW\0\96ªR[¬\ fjà|T\8e_U\95\89
-ÝÇñØ̸ºPQ,æ\ 5ôª\17e
-\81áv
-\8e\18\16¸\82üTk[\ 3\1f¸`\15r<èPDªZð\f\ 4\aTÏþØ©\97P̶°\eUÐé¶Õ8L¥©m+\7f\8a\1a¡\94\85î/ª0Y÷~wpg\80ϺÔåFj\8bÊÞ?ÞýB©­*\9d²iq$>`}] Nð\93q\f\93sGÂ\86ßµN\14([@\11\84Ýù²jÀmÄ*\98.>,z\8d\11uÿ¸¢/`\ 3\16£\197\173ÞÖ{Õd\10í\fÊí\8dßÑJ\95\eõtN©ªXm`ÏͶe÷¡~¨\ 1wÙ=\9eµÕ¡´\0øtfô\eú\8déz\1d\10ö\ 24íP1L\ 3¿\b'¢\B÷\91\92T9-\9e£\ 1Ê\8b¯\8f\17@;§R¥èhp\ 4"¡$ડ»V\1fo/îî?¬(-\f·\93ôs\14\13æa\ 4±ßÐ]èÿmh,¬\83'-ýÝj4ø\10g\ fÕÍ×A\9dá4àAÌ¡¯\8f\r\92\90\96y\16-\ 5Ïçu¿\8bbËÇ\1eâxk\e\90\15UìÇ[T\91ã\ 3þ\0\85hs>\eI!Ôl\8c÷èÝM¨"\ 6\ f÷\8d·\164V\aªU\83fE×9\12O²Ì%>É`MP\8c¥ÈÄlP&ò\ 6\1fú,aK \ 6¹4ß\18d$¿\90HCh!\ ej\85\ 2P£ßkÀ`&m-æ\ fD 5»ãa\1e½}Cãl\86­\9d×*ã³Ç\19Í\9eÎG\83ãåáï§ð¶ã[ávü\10\ f@¸>è=!\8c\1cz\rµ\85:¢0{t\7fC%\82\14U>k\1e\0\16u#yS\8f_$(\90|Íà\\b¤2Ø\13º\82\1f\10 £De\19´r#\8c\1a\ eâÒâsö°´5H\80\1e\1c+\95Ö\99κ\98è\ 2\94 \80\866æ8\19ºÀ\92>gFãp0Xõ\1dBw,p\94Ê=ó\9c¹\7f¤\88\86\85Ø7\16Ýñtæj\9d\9aÜè¡\8aÒãLÞ©áØÍY«ÓN TâÊ\8d\bütÎ<ô\aóx~\19æ\a&òeB·<«¤\13ÓÆ¢¹]»\ 1(\17\9eêû6\8eå\95©Ò\10±\8d.4¨by$lh\9aÜ$Ó%"¨¨wj\8a¼\boïÐã\e¶P[c\8a\85\0Ò\95ä>¦\ 6Äsm]Û&\8cÐF×\85I\95øÌæ?kØÍU´c\1f/m\90ï\99j\fZNÌ\93Ú\fêAéàY\17rW`\80å\0\82\93\b£^º;6\82\vù>87Ó.mÌ\ 6®Ø!3\191\8f\11n\9c\+\8fPEil\9fÌä¹\96\e\0\16p\ fÿ4ÒÖü¬î_\10¢CÐm\15­ï\1e/`\83(\81DrÒY\15Êhn8&\10\91ÐØVú^ì\15f_­ ßÑc\83\12p\vÊs\93B\14¾\13É$â"\80\9b\a\19tD
-!2¾Ü?¬p\10_\ 4\98\91\1fÞàÈ\ 6íø¡wXÅ7\8c\aíoï?­$\94ÝO\9dÎ\13\86\9dÕ_Åìõ\9c\ eX\95+\82Üø\ 4\83J\ 6(
-̬\98\12\9crcÇ8\87ÕØó\ 3\94FÜÚ»ÀA\18ÙæÅ(¾âÉ\ e íÏw\8fȬô\19u#.ÅrÓù\92\11\r\86T  \ 1;XÏõªþÑhÓ!ÉÜë\8c]çª-<â\1dW­ÿY}\87\19\8f\1f5\84¿\1a[
-:\19gÌH\9c\9f]\16uW\16\89ñR\83M,\a\8a¸L\ 6\ 3\v\e<\15F)\ f·Þ\ 5PîâñÚÄ\97?     Üþó¸$\80 &î1¨\99\83\b^ÄÈ\bzõµ\89K»¼ì®U#á\12\16<,\87Dó1Ò\ 3\8d\1d \11C\a\9cÃñ\12ts5:¾~X\ f]\bÕB\f\ 5W»àýã=±çE\98ëG}·æ\85\a\9fØ£d]aüßïÐ\9fÒ\1f#\ e\89y\8b\eþ\80\95îº\15\9cýtÆæÁ¥íæJ2       ¯\0\14U@tþ Ó5v?¾"ÕºñH²\11!ÓÀ;\1c$\8c\82&æý¤¬Á¹\83-») 7òx\17¹\8e7Êé\ 2_ë®ç´\98È×­ÕÛ\8f·oùûÙ7n·w6mKܽ\ 4?\9f\96\8f\97\93\eþöñ_ßç.\17×Éâj\86osX8\9d-y\83÷ë\93?Nþ\ 5pþ¶Gendstream
-endobj
-1750 0 obj<</Type/Page/Parent 1479 0 R/Contents 1751 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1751 0 obj<</Filter/FlateDecode/Length 1571      >>stream
-x\ 1­XÛnã6\10}ÏWÌ[\1c¬­XvÖÉö¥°\93\rº@\93m\93\0}1PÐ\12ms#\8b®(Å\b\90\8fï\19^dY\8eR´¨\ 3È´H\ eçræÌ0\7f\9dÄ4Ä_L\97#\1aO(Ù\9cÌ\9eNÎo¿P|AOKÌL®0Hi\18\r\87CzJz£at\11Å\11ý¢w\94ji()´1dªE.KZ\14zgT¾¢\9d.\9eé糧\1f\10vAqì\84\rF\97\10Ö»~w\8b2$(Ñ\9b\12\94R\91\8fWy)TÎR7UVªm&i£_ø÷V\14¥\89è[Ika¨\14Ï2§;Å\1aéeÉ\87\ fi\10\8f£\11\1f\8b,DF¯R\14X«i\ 5}˵\84üTb J\12ÉZa\15f×P&ÑE!\93²O"OéQl\16\822±2´\90k\857*'£7\92D!\ 5tp\v\94i\9d\9a\88­X@a½ìrÔ\1a:ÃÄ¥ZU\ 5\8cö§f¯\91\974\9aD\1c\81ÞµÎ\8dJe\ 1'ÁÓÖ¿\ 6\16T[\82éK\9deð<ýä<>¤/Áá\17n7ýógÞ»¹\9bÍÏ\82\ 1Ãè\8a\8f=Øw\1fÿ9u/0\9a\85)\8c¯ý\18Ã\9bÆë¯\1f        £·°\92\9aÃ渱\82Þ:e\rþÛ§SÞ\81:\1eØñ^×\83Q·V\9f Õ§\83µ\9d?ìÒNuÞ\1ebøäAW%\82ÿ\8e\1e~f\ 4ño\ f£\ füô¿ità N«üD·\87¬\18ï_Ö¾ññoÇûWÇbº£îwu/ØÏ\1cyÝA®ùl\ 2ÒJ®QY\ f\ e\96\1ciz?â¬Á\13\19\83
-¾ê<á\9fc\9fW\18ø´Â($\15OßÐ\91¦ÞÊÆ×¼÷Ç·ûG\97Â\87´;©\19Ä\94L\9c £±çlCó^ܧQ\9fÆó3f¢\1c¤\a"Z¼\12X\86
-\8b;^ô\80U\ f\190m\1a  ú§\\97 að?\88\890LÇ\8f®\16ÄAcOÀLÑ\9fiÃ$\9b\83cuN
-äZÇ\9f§/êézbl©}?\11ÑÔ\98
-¼»Ô\85¥ï\rH8g&g\ 2Ï2§[ëèúP\90u\93lQ\ 5\16\92\99\9cë\80\11\90ʼº\82Í[\18Ì'\18\91*\15T6(0ó³\88î\9c\rd\89\ fvx\eb:¦ÿ=±Ã¼\e½A!Ãvé<ãZ\89ïyOÉ\b¾ \9d\82ú       \98\1cÕÏjd«©¤LÁ­µ½µ\86\a\9a\0O-\9bm\ 5«Ë
-Ngl\10\ eD\19´%Í;\8b4\8c/jÇs=k¹¨\90+h\805X¨
\97åìÛ÷GÊá/\ 3¥Ëuûä²]»¦(í!4\87'-´f°UÛ>É\fÀS¨rÖÔ\8ds\92s\ 1
-¶u\ eWxÚf"AAÍI"\f\8cd\ e^¹.¤léáÂ\ 2@zÄX\88x(¸Øí\14Nk\ 4°ï²´õ\1a©Á-\80ÍÂÖÔ\98\ 6­C¡\f\0pϹÞå\¥3\9d \ 1i[æ\81\fÏr;£\92*\13À\9dÍ¡È©É©! !}\11h\85V\8cØÖ©PË6HXÈÞxï ¦\9d¬\f\0\a\88ì[\88wÁÙ\ eä÷w¼\1eÚ\11Óß\9bí²ñ\bIz¹\ 4\8cÌZ\14LB\8cE\95X\f\ 1\1c5\83À\ 2¤2Ìxm\19ÉÈ´\12x³ós\10\11ÑÓ\af[ ø$µ8B_'Õ\8bM2\ 4«>\99½\9cÒ³\94è©Zgc\87\80¶¥H<ã°·\ 3¤àÎZ=\11¬cÍ0Á9Ì»\9d\1c\ 5j!\8cÝe£ÖH÷\88nuÑRÁ5¥Â %\ 6ã2\ 569/h\ 1\eºÜ\1eÜm´ÍÆ\1a£Ö%àA$\ 2\9bãÔh\1dÎú·Á\0\15]\ eú~´o·waÏ*\e:W\18\8dJcûYdÿ©¨Êµ.T)JDåÔæ\7f`'Ç2ªÝÍû\b\1azQhËm^Õaô.Ç\19\v\99\88
-\11\16Á;\88
-Úm.m]payG\12[ÎØT\bæÞa¶p\ 4Ë>Ê@FW¹®lô\ 5\9d\96\ 5äÈôÔ¢î\14´¬\96\8a/\v§@\89ÑU\91Èàñp\87¹k\14OGÛþXF\93K\9aws\1føí\a\f²@5§\9d»rp\9dñ\99\ 4îi\80Ï ä¾´É\94\82\9d\97*ø¾Ì^\9d+C/\10pmÁ\87ØqTs\9d\ f\ e#\eì     w\9a)g\11â´ÕÊ\96ð\0>_ò2­\9f\9b·\9by\ faãp\ 2á\8dÄ3ôª+Tî*KY)®çxQ\ 4^j\ 5/\97jµ^èb­5.qK»\97\ f\82ÆØ\bVD\1a\88&\15\87È\16ØW¢ãÙ¡ð²ÌóÛãkÖ£k}ö=ÙÌ\16ùPò\89~E\1e\ 5\85ü\rË5£û-´ïN1Â{þÝÚãÎi\\ 6\1aw0+    ¿§¨f¸¥Ùçµ}Þا½\94\9dß^ù[y<¹\8c\86Wc\9a\91m\13\1f§w³)ýVè\1f\883z\96\ 4T\83²Ã¥\99µ\18\84\r\83Ë!n\99é¿ÿ\8fÀÅä*\9a|\1eá\9f\vØ\1d\8f®Xêק\93ßOþ\ 6N°Ñ\ fendstream
-endobj
-1752 0 obj<</Type/Page/Parent 1479 0 R/Contents 1753 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1753 0 obj<</Filter/FlateDecode/Length 1240      >>stream
-x\ 1íWÛnÛF\10}×WÌ£]H\f/®¬\14E\vÉrZ#\8dìÆ
-übÀàem1\96¸\ ewiÕýú\9e\99%E\9aU\82À@\81\0©l\90ËËÎ}Î\19~\1a\ 4äã/ ã\90¢1¥\9bÁl9xõƧ״¼Å\83ñ\ 4\8b\8c|Ï÷}Z¦\a\97UR(\eÒî·\bof»\v,p=\1dòq&Ç\13\ f\97\1f\a>\8dÂÀ\eC\-%j÷-¢\9by{\ 5)\91H\89DJtÃRð\ 6Kyõæ\88\82À\197
-EÚB[Ev\15[¿]å\86\1et^àj½Æ¥"#6\e\8aK¬ÕC\ÆV\r©Ð´\89ÓU^(Â\ e£TAqZj\83÷\8a'Ò·Ý­^cÿØ;bû\17zKê¯xÃ\9b\9dt
-=\9aB\8cÖ\10\7fZa\91¨ToØ:Ek\9dÆkè4V\95\94\94zkpÎ-îë{C·º¤\98æz\13çEýR­4\88¼\90\956[¬&óT¤«R\17ùß0ÞB\8bH£un,ms»òèÌR¦\95qáH\9eèS¥Ê§¼¸\13K®Î\16\97ð¸|\84\ 1×\aÈÕüúP\f`3Ï.zzã,+\15\87Å\18\9dæ\88]&:DÒBÙÙÙù%\151\9c¼:\7fÿö·÷ç\1f.~    f?{´äLÈ\83-\ 2Qª;X§Ê\8c`\rëq®ötõ¢\ 3ã\82\9b\13\18ÇNýËtHmâ\8d\92\14²~¶Î\8b\8cÜ\17\88ºÈi\9cªóü,îÝäXµ^\eÎ\92Ô\17\1cúl&\91À\9e3Me°ÇF\15\19\87?¦wR\0Ó¢Ð\15ìÚ(\14êC\9cÞ+Ô+bL\1fæ\17(ßÒR\10\a\92Mè-ºy7.&°,yêéÍPý¬        É¹\94$\9f\16Õ&$TߺÎ\8aóªÍBm\14Íêªä\12\83Áì÷®\89\¹p>%\1e\12Ê\9eâ8Ñ\95õHâͳn5ï¢ZªTå\8fR\9bê\vÑ\80n\93®TV­ñjÜÓÔ6@ls´\©Pà(~\18Î\8aÙxÔ¶$\17\98àâ\8b\ 6½\95ÖÓ¨¥\9e\0h\08d\1aýÌû;ýdz\9a¹[Ñh÷\8a~â'\1d¨\1c\85G\ e\1d\1cFvàÌ\85µ       2Ñ\1fè\84F¬ïM¸¹Gòëìq7ê#îóª·Çé       ÚMÜ,í\15P4\10\14\r\ 4\f(\1aÜÌåx:¤\9e´îƽkFöë\83\1f®\ f\ 5Ògíò¤]ÎeYK~\8eö/å\8c \8eÐ^\9bº7ÙÛÆ\12¸Ü.wöÁùöîéçM}\111uéMz¥îÐ\18\10\8b Q,Å\87êÚH­\15º\18Å\95]é2·¨áG%Pi\ 4»öpÜô\19³U\0o#ÄÁ\9d\ eÂ\80ؼ$0óV\97÷8çw«D\97+­3Bw8 2`y\90L\bà\01\82ðz½møÕ\ 4Í1l*£&\1e§m'\87¢Z\82e9ºX3º¹¾q\9c"\82\9cEzÛhï\83ò\92Û\94YÃpë2B£[Õ#à\901\16M«Ó´*Á5L\8c<N\80°·î¦#K(ØO©\1dC{\8e\80N0E\\1fztÅhÊ\bÓ\12é3\16­sÇ:ö\83\98\14i\85\90\14̨Âï»\18ô4í2\a\8eµ¶\ 5\19\19vh\ 3×\9b\18!\85"\13\11O\10\1d\13\956çÍ\8fy\1a\8f@â&fÍ=\95]\f\93R\11Ôªëk7ßý\ fZ<ý\bª5ñûj¼Á\8cÚÀ        \ 6Õv¹Ã\e.6\16]Kþîðð¿\85î\1dL}uÂ^L`ß2\9e7h¼\1fÏ1¾5u]£¹©\8a\ 4\805¤>¬7ÄðEXo©\84\ 1(\1cRRY ³¥¨F\96Iýu\16\8c\8f=\7f\12Ñ\18g÷Í7}7\9bÒE©?ªÔbúO+\9e}e|c\v\86ѱÏ\9f\9c\a¡ï\1dy\81G¿\ 3öåSÆ}\9c9\ 3Ü\84Æä'\84÷+K8\1aO¼ñ\8f!>Z±;\b_ó½ÓåàÏÁ?\8a<8\8eendstream
-endobj
-1754 0 obj<</Type/Page/Parent 1479 0 R/Contents 1755 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1755 0 obj<</Filter/FlateDecode/Length 1492      >>stream
+-\82\12R\83\ 5ã\vÐ\ 2\16TÃB\8a|\ 5\8c'BfD3Á!\91\97¦£»\ fÎ\9dmÖÚ\98X«_
\7fr\87\81Ki¯\8b'\98ʸéçJú©\88Hê£Ý9ñ1\0\7f\8d_\89\80öâ\8dƶ½õ&Ù#\97\93\9b8c\\15\83Q\9c\9b\84\9f\94S¥Ï\9cß\89l\95#tgE¸\96"M«\85î(&s\9aÏS¦\96Õ\12³hI3\ 2'\ 3¹7ÔYI¦èi\99O\16\9d©HY´\81;I\r\ 1`²æ\85Å
\85\88v\92óÈBÙ@\84\rK\ 5.Ö0§\90+ä^\ 1~ÎYÂð\11\83ÐÊPc.ô\12,t\96\8eÈ\0#/\95}²TQ\1e\84rcøQbÓóº\ 6õ\ 4S%\90­\v\88D\96!\99·ÜÙ«\87#ò\n\89î\\85\15Qjm\8bð ¸\1d¯ÕRäilÙK¬ëè\rÑè¶xQøüBa#r       %Ñ\9cù¦OuäWio:\1dÎ\7fLÆÜFWÖ¦\v\7fÍ0/\183\93Àéú ò\9cŪ\ 5\vû½\14Xh1\934B¤\18u\89\8biBòT\ 32%MÕa©\1aÄl}ºº4U\8b\82#\90\88¶Ë:ö\ 1çA\99Ý·ÑaÃ*+\7f¯2\8f\92ku¹\9b×{mjèr\e\f¼K¯ç\r<\18³\1f\ 30δ\87½G\13©±K¨H²\95«*\7f|]vÒmOØÞ\ f<øÂxþÃY:j\88\18°;ÙùWt¹\ 3Ü\9b\10\13\9aaKâ\94ÆÊ\90Öz\ 2è
+I°xJ\16úã\9d&\95Í\8f´ \19\ f\rò
+1g\f!Ãq!sÎ\91ËHv\ 1$BF¯L¡£A¶í\18\ 5ï5Q/-Ã8ë¥q2\131K\1c\89\ e2gJÌrSm\94¦\19j_Ò\8dµgjN#ù\90ÇÎU\9civ\8c8Þ: |\fîmN±ýsóÆ\f¬Â\9f¯4þ\8cZÌ49§É4æc]0¢sF¸W@m¢!q\rÎBÀø«À\123\99(áÁ\11\86µ\ 1+)Vn
+î¹£è÷\9cò\88zð¸9 \92{T\b§sä,\88­C\99
+\ 4[&êC¹SÔÚ\8e9wa\97ï\8aéåDö\88\&»¬t\1cå¶æÓ\8dÅ\14\1a\16øÆ®\13\17)r\15´ßªL\1e·\9d²ØM¶\15eµ|k~{\a\7f\19\17öÖ\12(þ~yx\1a\98=Þ^\9c\10 Ñ\12§.\87úÅÌT±éÏus     \17
+ùÊ"ª>À©«EñU\8esSfPG»£É4|\98<ÍN\98ÿz\1fþ~óåcýç\13çƽ\13G.´§ÿ=4C,¨£Ý\7f\14Z÷_Äö\87ÛíNåÿ?\82n¿ *\18å\10ë\15aùãaÑ\88\82\ 1nÓÃ\1e.ÎÅf<»y¼½\81©\14Ï8ì`$¢<Ã]Ãî\90\ 6Ñvy¡}Õ1«v³\18\ f\10âffh\18\9a5TÁ$·\9bu\7f\ 6\97]·A\ 6ÝÀ¨¸\ fk¿Öþ\ 66íc:endstream
+endobj
+1735 0 obj<</Type/Page/Parent 1476 0 R/Contents 1736 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1736 0 obj<</Filter/FlateDecode/Length 912       >>stream
+x\ 1½VmoÛ6\10þî_ñÔ6\1ag\88^í*n\ 1cHÐ\ 6\bº¶Û"l\1fâ\ e\95%ºb#\91®HÅ\r\96ý÷\1d))s¼(+\8ab6ü"ò^\9e;Þ=ÇÏ\83\0\ 3\1c\87\98FHË\81ïú\b£©;Ãl~lþÓ§bX\ f\81wæã9â5iDsú\93\81¤}\1fq:Aûbi.\ fãO\ 3\1fNà»s\92¹ÛºÄø×Wño'?Áa\9fÉ\84\93t\vá¿V¦íÊ{<}
+-ë4\87w\9dT^!Ó+OÕ+u£<U®p{\8bå²Ç\1f!jü-\82\1e\89\8aéº\12\1d\8a=¡¿Ì³w6C\104!;adÂ9_ãFÖØʺÈPð+FøPÕ\ 2[.V\d\19¸@V'\ 5²\84\95\94\19\1cn\8a$%á\9c\91\96`\8dõ»|:á\8c\93­VÙ«\95\8d:)<\95\94«Ä#\17^ç©\a!ù7^Ø\97¤Ü\14\fÉJ^3B§ó\17ßÃ)\9cÓ\1e¿®Y§s\r£&\94\98@\1c(-7\aX×"Õ\9c\92\91'
+       RYULm¤È¸ø\b&tuc²¨òZ#\93Û\ 6¿bÕ5O\19É\v\94WªMwÎUo$ÆÝr²<Ä\9f-\98ý*|}þöåbxñætØ#`*\18\ eUÅð\82àh\ 3ÐB\1a\eMt ^ Oÿ\8a\17Ŧ\92)¨>³\1e\1fm]\8e\7fìÙ\7f¤\8b\1aüoÿ\aüâ¿ð\87\8bo\ fà÷¦Yú\92øÝ\ ea·U\1eà¤æ ¦ý\81|3iU%\9cõ\83¤õÈ\99\97\90¯¡ªç\1d9·L\15Dî3wêFnèâB\16\95ñý\0§½\13P\8dÀ\91%7ÁXf\1a\92¨\8b¯©5©\91\eM\1a\15\96\r'\1eÓ©Ç\ 5×nÖ\10\93k:\83\1dL tRéz\ 3\95V|£]\9c\8aȱ¸\81\14ôe÷-,s:S74\1ch:Çv½)A¬\88\14TnéVÈm£ñ\ fÙj)ÉjÃÉyBDgi\928\98,\17\ 5\85ÁÅ}è;~\1e"×½\0\8elðkN<\9aZ\b©\14:!ë\94°\92éÜÐC3\ 4\1ec¥ÑÈ\98Ý©¿Ñ¨Á¹\93µ{»­x\18¸væð5.ñ\ 4N\ 6\v\99f\0ÞïY¤3\12Ý\10Þý\1dY\15\b©é4k¡Y\1f'±/\ïÙ\ó=\1c\1d·5\f\8dÙ³É\12IIi7\14È\94ZN\98Z\1eîÙí\147<[|è"ò6\8a\86>n{d­Î\9dìG\1a§p¶\18\a_© \b\12Y?PÞ\1fÀ\ f\9ewÐ>Á5\ f\1fz\9c^b8&\90C<YPkÂÞFl\9cfÕèxgó¶#\82\88nKó)¢ãy3ý.NÞ\9c\9eàçJ~b©ÆK\99Ö%\rºÄLA£ét
+αo®R\93¶[\113e\87NljKá]mOe\16ÍÝèYH×&#\1a\86ÆÄ«xðËàoêö\95âendstream
+endobj
+1737 0 obj<</Type/Page/Parent 1476 0 R/Contents 1738 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1738 0 obj<</Filter/FlateDecode/Length 1057      >>stream
+x\ 1\9dV]oÛ6\14}÷¯¸H\aÔ\1dlʲ\1dÛm\1f\86di\80=dí\16\ fÃ\80\0\ 3-Ñ6c\89TI*F°õ¿÷\90\94lÇζt\b\9c8"ï×¹çÜ«Ï\9d\94\ 6øIi:¤Ñ\84²²3`\ 3\1a\8eGø=\9eMýw|\8c e8H§S6>>¸\9cw\92ë\ 1½¥ù\12®&3|É n\ 6\ 3\9agÝ/oæ÷\9d\ 1õ\87)\9bà û\8an\1d7.±NWT\19\9d  k\85E\88ϵ4"§¥6dy¹àd\85y\10æÈ<ãVÐÙwé\19IutôÚzǯïÞ4ÏÓ\ 1\9b\85\88ÇÿÓ\87\:rk\ 1W\85T\88î4Ù\1aÏ\1eumà\18\8e\8a\82\15Ýu+îÖ¶G[m6+£ëªGkmÝ\7fF\11ÙZÇR¥ZÑíÍåÕQ\1aD\94ÔÖ$\85Îx\91\84\92\93\85T\89-\179õ¯¨oéîîÔ\ 6\18Â\88eZ-\9bû-ØO\93øùåI¨6\89â\e\92xà¾\9a\95Ïü¤²\17%ø»T@ §+.Jݶ·mãse{¼¶Ñ(?\85êýû#8À\10]\9d\12\ 4\9e7²(<\19É\17~êiwì\9bó/Çß\90Ë÷'\fB\1a¡_g¿Y¾\12ï(\11.K¤\92\8eå\91\1e,*\82þ¢Àtú\e\7f!¢/g§\19íJoÑ\13\96gþZr=¦4\8d\ f\83"/V\ª\1eÉ¥§?x^\179d±\11^\15¦V\8d\1a¥¢¼æ\ 5å¡7Tê\ô Úªà\99\88\8ew# ?\1ccJ@ë/iÙ3       !\14ÄI63²rÄ\17úAÐVºõ»ÿ\e\87ú\97Ñôm;¥\9aÒÓ  ;g#6Á\87~\15\ 1U¨õ\1fpú)\ 2dâ=\9fb¼xÞ\0Ú¥\96\1dû\9aº½ã;-Á\ eï\10W\81UÉõÞ×!\95\ eî6ø[â~\82IK\95\96ÊõBëì:ôn!\80Y\11Ú\87\91 D\86\9bºM\17\938\1d±¡ïÎá\94%\ e\8f\94ë\12T R\94\va辶@ßî\88\ 68\85qE5¨ÈZL÷|\9až7°N\19ý\88\99$W5,[m£Tútqó\fÆѶAyÍÑô\92ç\82¨F¡Knb\99\e¥·(\a\0´\18\1a\9ar\84ò£Ú\ f]§W\ 2]2\8c\1a§[®\ 2\16ÈÞÇ?À¢ñä\81Â\18x\90\88ËkØ*'³¸\bü^ÒÞ[ØK\12k«G\e!*h\80ç\88Æh\ eÎV¼$?\87\8d\9d,°`\94Àj\83óÅq`^8à\9acéÄvZ'*\86­s%óÐS#\9anÀ¸ä\10å\82g\9bº²¤\ 3\e\91\93\91+© Ì\88(vyPw7L\ f¤Ã\1afµ²ïÒÒgô\83ÇDi0'×\80ø\b\ e Ìvói8\89\9dùÃO\aÌÉX\f\ fµb\fÔ\91jÀtß\ f¯VÏ8<{\8a\99G     ½lÌ\827Ð5Óe\85¤\1a\14vãdÇ«\96±\8c%\16\e:\13\89²\161²õS\1au)Ç;Dæ´y¤Å#0}Ð\91\bè\fb\94;\99µ(ù÷\92¦:£µ{\15ÝíE\18\10oc%@óÏ\86(ÌêxwÖà\9dNð²4\eáõ'\8d꺽¸¹¼ OFß{\ 1^é¬.Á¦À     oÙo\rúÓ\81\7faê6\9a¡9Æ\8b'/pR+K\1fëÐ\9bñdÆ&çC¼_ù«Ã\91wñaÞù¥ó\15EªÞþendstream
+endobj
+1739 0 obj<</Type/Page/Parent 1476 0 R/Contents 1740 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1740 0 obj<</Filter/FlateDecode/Length 1426      >>stream
+x\ 1­XÛnÛ8\10}ÏW\f°/\ e\90È\97¤Nº@\1eRt\8b\r°E»\e?\16(h\89\8eÙP¤KRuõ÷{\86\12mYQë½ØA\82À\16çvÎ\99\19úëÙ\94\99ÒÍ\8c®æ\94\97g\93lBóÙUvM×·7ø\7f\86_'iuöfq6~wMÓ)-V82¿½¡EAx|2¡E>Z9[RXK:_|Á\83°\19\1f\1ceÙØÛÊå²y?\19\18\9cÌ\83uuF\8b\97Ç6¢ü¼Uf©L\91yÛ?»RZ\92_ÛJ\17´\94\94Û\8d\92\ 5\ 5\e\ 3Ð6\17AYCvE5\\93EX\8eMLèrz\95Í\10÷\böÉ˼r*ÔTÚ¢ÒÒgôÁPYÓ_²ø]\ 4òµ\ f²¼\80Måi+üPvc­\96ãd§\1fe'C\18~´Z8åÙ\9e$¸ï\ 5\94\8c¤`Pt¯
+IÊô+:®¼û\99߬\89#!\80¤gsÀ\89¤\9dµá\97æÓW   \1fÊ7Ä\18\89r)Z¤ÆÆû­
+ùz|\88\ 2\rx}M¯\e\9cLçÙ«ì*»É¦\19ý¡Lõ}üÎIùæñí¥ßÈ\­TN\1fïß\ 33³RO\95\8bP\1dV.FÌñ\ eðb,CÎaeE\13òáÉ\11Ef\14Vz26\90\91\r-\98#ka\9ed\91Ñ\ 3}©| -W¡\81\96\8f\0]\15\18ä_Sñvi]7µ\13UX\13^N~­ÀÜ\82ÿç×AMbÁ|\10ù3H\v~¹o*\97w\r\91\ 2[g\16N²[NPä¹­L8\81Ñ®4\ 1Eª^¤~
+\84\19\f^?0Å\80CS\1a¡µÝFNV^²dZÕ\11J"\fqÐÒ\ 4ÕJªM\89\12=\81\89l¬+\85NiµâÒö     ´\85\ 2ù    \0í-äúid\1d        
\95Ê\b\8d ¼\87J?\9dC\11R\e        Hø\18\ 4"LA«°Ia\ 32\18s\85t¬piÄ\12Ö`\19á¶áø\8b^\0\90=\95¢\ 6\e\1c N,h(\10\83BJN\81$\ 3êb\82}W\88§È\8a\86\fû\9e\15shÞLò\1aEF6Ï3§{G>\9d\9f@\11\84\1aû^¬±\8arKÉ'ùàª<TN^px±ûä\ 2ÉrR\ 3©hø>\9aȸ)q/8®ôa6\9d\ e\19óJA\8d·Õ% é\9fç¦\9f\fô\ 5Ó\ 2u\a\8a\1c\1eÛÉ;´\1fLö=¤\15ÛîlÝ\94k\80ÝïÀ¦\ eIÀmK[ë\9eiãìF:]_Ä\82m\95Ö$4Ô\98J'\15*îh-¾qs-Ô7UT cjÖÌ\8a\15l3,\85-\ 5 \0\8f\9aÐN\8a¢\86\10
+nÉÎ\84\94î\ 2tm\eN´³¶%\8c¥y\aº\97\e-\ 2Hl!\88'i¤ë\ 4\0Ö²P\10\9e\8b×\81%\ 6\13G&(\91C¡èmh_J×PC@¬Ê<E§    \97v\ eûr\99\rð\93\9e´]Â;\v¢n\8eìGÃ.PN\0ñ\1fâ8\8a\83&¢Ù´È\ 5JÖóÚi×Côá1ÞæÐöçX\93Ø\92R\1fb\90Ñ'Ñ-X\ e\ 2º6(\18yU*\fT~\9e¡\8aó\8b\9dwJÅ\8d=£÷õ\7f\b\8aÇ}'"mí3iõÌ}G\1d\9f\11\18\v\acâå\8cÐÊ\87\18\1e\88©Pæ;\86\15\0\1a
+i¸siy\17«\87ü#æ \98tîÎW¨\85\8c²åTÓ i§\13<ûj\85\19«\98\94CÓép©\1a6q$ø\7f3àöq\1d\96Zûv×ë\86Õ\8eÈÿ\93ÙÞı þùènÇ\17Â:\86õ±r\r\9f+)ÎÉ\9e\16\9bŧ§%#\ 5\1a\87Ä~\83\ 1\ 3\11\13\9f)íOÊé¸ÁÊ\10ê\ 1\10÷48\ 1=\8f\98¨\8cúÎë\17Tó9.\0\9f7Âïú÷KÁ\9c\8e\13iG<Π       c#\88\ 3\95ÚsõH\9a?\16òÞÄéRã\12b¼òÚ{:£§ÓP§at\8cÚ\rß\ 31Ýøõ²      ·\9bi\vÂ\80\f\1f:ë×\ 5öfQ\14¼4¯Û»ì~PFà;x½ôu\88ÖÞ×\b\12äý\róf)1ø±ô-«Ðl,?pǹ¶\8bö\ e
+¾¨õõ×u"\96\96×\9d\80]Ûb\13ñÍÖÏ÷Ávë&|Þ,=Ø|y\8fâ\8b\9b\9a(DÓoö)ï³m>¹m/\94Ó9¾5¸½Â÷\ 3ñÊùxÿþÍ=}tö\v.ûôÖæU\89É´»ô]¦Ç/o&X \8bQ{{¤\85ô\817\99Å\1a\7f=}¨\ 2»¹\9eßfóW3|ýÀ\8fήù½ß\16g\7f\9eý\rHx;oendstream
+endobj
+1741 0 obj<</Type/Page/Parent 1476 0 R/Contents 1742 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1742 0 obj<</Filter/FlateDecode/Length 1007      >>stream
+x\ 1µWÛ\8eÚH\10}ç+J!\ f\8c4øÂÅÀ[ÈîFB«Qf\ 3Zi%¤QÓnCGv·Ó\97LÈ×oµ±\8d1d\87É\12FcaÓ}êÔ©\8b«¿tB\bð/\84É\0\86\11Ь\13x\ 1\10¯£é\ 4¯\ 3üW\f\92ÎûUÇÿ0\860\84U\82[¢é\ 4V1àò \80\15íù)ßø\9aQ«¸Ùû9É\9e¬àß<-Ájö\94p¥ÍSN´¾[}F\9cQ\89Ó\83\94\v\ 6$1L\81ٱï\95\95\1e<s±á"F\98\8bû\8c\84-3 x\f2\ 1"\84Üs±\85XÚMZ`\ 5Ð\ f\87Þ\0\99ör%³ÜhH¤\ 2GäYªX{\aØ\19Ì\ e\a\917r«ÃÈ\e{Coâ\r<XÊ\94(®û:g\94'\9c\ 2\95"á[«\88áR\9c\12C\83\83È\ 1¬v\f|f¨\93Âs\e@0\16k@Ê\e\ 6tGÄ\96Å\1e,ª¯è=Gr<e\80\9a\99\1d1\90íáw\99\11.\9c\84J\ 3%\ 2\95\ 26Òìð+%iº\aRhÚðô\99¥)>\ 5ÃRÁ\8cç\98$2M%\8a¹\ 5\82ÁD¡K³¸ÈYZ@Fbæý#ma\84ZmdÆ¿\1f\ e\14ä\107ÇXí¥UÎó\86YžX®XÆ\84Ñ÷\ek\9c\9fÚ¢9\f\8dÙI}´¹a\94 K\80\9e9*\18    mа{b0äÈ>eä++\8c\80ÞkÃ2T\8f¨tß2ɳ\jÍ1Ø\85®R\9a2 Á1 £C@»ÕÖÀ\9bºøty\8cD\ 1Þ¼[÷ºë»ÚI\80Ð\vG\80\9fÙÌ\ ff~\18Áòañ¦½»}\ f¿É|¯øvg`Ý£ë;\bg³¨\8f\97Ù=,­\80\aN\95<¸¢ïa!hAÔ©Wñ\819úýÉ!høÄ0à_1?ÚfÚ÷ð8\7f8OÇ&ìÙ\8e¹EÍ\85á´È^\f¼ Û"hí\95­{Ì<\8c\17\0ÁýØ\11\8aXÇxï[­Î\8bÿ´p\e\84®\87y»XÎ\9b\8dÄ\vÁ¨}£\95ÀO3¬¡cNÒ'ç\11v\98\17ñÛ)¤J_
+E´M°5p\97S¯Täz\98\9a¶Âr2úH¼%Ä        â\7f\86ªF,\9bõ\99\ 6-ä¶\ 4±9hð?%8\81ù¥\84\95Þ¹Ú¾"\8bki^\10\e[1öÃ\12ñç³à\ 4æ\97\859¥Òb¢¾¾öË\8d\r7\v5_\99ñu\ f
+w57¬\0»ÔR\8eÁ\90\87bm¥æEPÅ\\8b*>ç\1ckÐcò·0\7f\98î·Ñ¡Nû[êp\11ôÆ:ÔÉz\e\1dÚp7É\87\8b 7Ö¡\vK\86ó\aNdW\97REK\97\e\e¥~³4íÂc9à^Ï«[\11«fc\9cÝê7\9acv^?nÈÿá{þ\f®åè9ÜËå\18\9bJµÓ!ä\1a¬\17*\e#ió\*S\9c\ fþdjÃp^\83¿ÇÅ\9b¢1/­{VP\99¹)×Í\9cn\8c­V¯ï\9c\11ÿô<Ü\84\11\1e ¦C<*\953Þrþð~\ e\8fJ~fÔàlO­\83©O\11ýjC\7f\12ày¤>\84À\8aiãf÷Õ\ e¯\1a>Zã\f\8d¢©\17\8d\ax\16sK\ac÷ì\8fUç¯Î¿à(Kµendstream
+endobj
+1743 0 obj<</Type/Page/Parent 1476 0 R/Contents 1744 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
+1744 0 obj<</Filter/FlateDecode/Length 1257      >>stream
+x\ 1µVÛnã6\14|÷W\1c\90\ 2±|\8dìô-\9b4\80\81M\90Æ.Ú\87\ 2\ 1-Q2w%RKRñúïw\ e\89Ö\ 5Z`\93«m\92ç2gf¨¯\83     \8dñ=¡Å\94f1%å`\1c\8déb\1aGS\9a/\17x=ů\95\94\85\85Ùø"Z\9eZ\98\8eç?\9eø¸\19\8cnÇtI\9b\f9â%^¤\84øã1m\92³\ f¿n>\ fÆ4\9c\8c\11r\93\9e\85É\95&Qû\1d\99Ê+£EAD£ÚÙQ¡¶#'\93Ú*\7f\18ý²Z_\8d*Q>}±Û\8bÈ\99hBÞ\1e\9e2e\9d\7fª\84sýÈMà÷\88\9cú66
+Å×;ÔnüNÚw\89ܯ=IL­ý\11úÿ\ 2|\1fé®Ú\9f\18ËIçÀ\85\9fR\17\93colúÿ\82\9d`×èvN\93ICìá4fþ®H\14Î\90HS\99\92è\9d¡BiI"ó\98%\ 6J{¥·J§ o³â\råÒ\93U(-#¡µ9(\9dSjêm!©²¦¬¼£ÌØ\ eð\19ä\86¤]C.j\17 Ü9/Ü\9b=dë¼°\9e\ e¦¶´\16åV rÊ\95Qb´\96\89ç\1c~gM\9dï\9a]¢ª
+\95\b\16\1f\16D8Ë\9b3\95×\16}A\9f\>Ä\17ñ§!ëèö\92&\8b\16\8bÙ¼É?\89£8¢OªT>D\v\9a|\8bÚ"
+¸ýÕ@A;á\0\9b®Ë-0\ 2\bÅñ,§Uè\1fú·\12\14µ²\90¡\9cgi\ 37B©{I;SI\ 2\96\ 6\v\89)%\1fÌj\8fÒ{¸µ\11Üoü9\8c\ f3lêîªQ/Ù\8a\ 3\19\8d?âY¨Bð80\86\80Â'¥ëoç´6\85°ØÏØ®\1eW\7f\83\Ò¢i`ë\ eÎËÒ\9d\83\1a~\17\8cõ/þÔ\ e\91\v\ e*ÿá         Xo"­\17\8a\f¤\80
+"ºE    ®Nvø\bñ¸å-ê\ 2(¼|N\80ÂʯµÂi\1e×u¯{¸©\15`\ 1Pæe\90\84É×ÏÎQ]]q\86°í^\0е´Ï*Áÿ½òHÏ=?\14u\9e30½,W0rL«£Ó\9dIëBº\ e\93\886;\80\86\9f­Ä¨\18­Òp·¦,A>\90á~½nâ_ÝQ\ e\0ºbzi\ 4¶çôç=\80\7f\96:5¶ÑÂè6i\15:\DË     î´æ\9aùg\1a/\88C\1cÉ\18Ö\87q`ã\ 6x\94P\ 1êq\8c\ fø\90\9a=\8aÙÐãê& \1dR©4Ô®\8dÇö\14Ò.r\83ËiW¢Ý\82Ù\ 2`RY¡ \84      ¢é\95\r\17\ 2ÏÑÕ~§\0d­9+(];p\9a\1c²¬À*`â¤Ô´=¼¸\ 6­8ë\81g\9eª,SI]`D\ 63O\98ù<­^¶×-±É`sÛF×-©\86\f\99\ 2ám¦\c\ f<%\rÎ\97\8d-àmb¬­+\8fjQg
+\97±æ ÓÖ\fÞÂÞéê_a\9f]66pÝh\eÐ1%[\7f¤\a̾\fÄ\81\17\82<\8c·\17_XØhA´×L§\v\82·\7f\81ç\ 5ûâ     àrfðUÙÇ\83­Ñ*\18 Ñ\98)\e]\8bç\96¡vP\ 3\8büÕðÃXαµá¬Ò\10¶À´*\86\92+~¸¹æ\97\92\91JäI,&­Þ_aÑ9çpº\8c&\974\9c·¦\bû\DtmtRÔìpo   \8b§¦i»\91ùÚ\81Õ¸\r\17Ù8:\97\85º;\99\9fÐïùQ¼tZ®°.\9döÈ\ 4¢ZSY%¼¤;\95XãLæéñá\9a\98û\ eNþÌ\82(Ì>ð\99\81g\ 5\998)J\98\03ÊË\9c]\12ó\81Ì\8ea\8e\98÷²¦¦d\13\ 1\87h\18Ü4ÍnÂ\9eçX   \18\91\80|$¦\8a\ eSf¥1\1e"\85Õ(\f\1f©Qeb\1c\8c/#[ëÀvA¥ú&û\r\a©0\9fà\ 2ZzfY;àeë1\93\18ÏÊË\19Í/Ãí»¾ºûxE\ fÖ|Æ%K7&©K8aè\96»\1a\87\8b1?\14\9f\9d¼-çñ2\8a/¦xtæ\1dÓ\98Oþ¾\19ü1ø\ e~ªÄMendstream
+endobj
+1745 0 obj<</Type/Page/Parent 1476 0 R/Contents 1746 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1746 0 obj<</Filter/FlateDecode/Length 1599      >>stream
+x\ 1\8dWQOÛH\10~çW\8cx)HÁ\90\84\12Ú7(W       é\9arÂR\1f\ eé´±×ñ^í]ß®\9d4ÿ¾ßÌÚ!1<\9c*Jpì\99o¾ùæ\9bõ\7f'SºÂ¿)-f4¿¡¬>¹J®èz>Onéúv\81Ï3üxM\85|qs\9bÌÆ×ïÓ\93˯\9fhvEi\81P7\8b[JsB\98+\Éξ\94ªiµ§é"¡Çºñn£sZy·\rÆ®ÉX
+ª^©óô_\892]Ä(\17ókdJó3<6MèûFû\8dÑ[rÅþÙøÈ5M§ý#³ErÃ\8f<\7f»'«Û­ó?9\ 5§4¹\ e¤¨ÖY©¬      5­v´-MVRV\19mÛ@\99²¤²L\a¾¯2¡åTµÊJcñ(`ª!æ\84\ 4í\15]Lç\11cp\17\99ª*Ôu*\85i  p\9aPZ\9a\10\83eζÊØð\1a²-UK
+Ìz­ò\1dµ\ e        \vðT\98J\93²ù¥ó\80nlK\81k\a2¹§-µçÊ\ fÒïQnM\v¸\84[\ 6¬\f¡\ 3ü\96r\87\0Öµ(%«º\¿\ 2\89<\0\89ýÐRÖy|h«\1d©\15p\0\ 4\0\90µ*ü\fÉ(y\8ad\aE\13
+.µÚ\18\ 2w\1a\91ª\8a¸'=Õ       }q¶0ëΫÖ8Ë<ó·{I\94*ÐJkË\8d\ 3\86\1aweT¸qÕÁÕ\9a\9eY;\9cÈ\87        òÚ\f\90\99óÜe]\8d:\ 6´³\9bä\9a¥ñí\99~\18\9bC|Ð+ô   \9e©R\90'\9a\1a\88ù\8b!/æ\87_±6V\9aÐC\81\8dªÀ\vs\89Ä´Ôíýã÷g\82®=¥_\9e.\1f\9f\86¬\83>~\0ÙÑÓ\fq«vÜ\17|2u£\99\8b\r\83\87(¬Be^\aWuBÐËY'³ò°|¾üóáîéòîáùå<"B·2tkÔ\94\ 3¤\¡\eâ't?\fÞÖ +Ëï)ñ\98\90)Þd-¼«¥1½¼ä\ 6ÑàãÓ(\9dÊsÀ\r\10Ø^eEg3\ 1\9f¹\1eâ@ÊÐ
+\90\ 2ñ¿Ã\1eS¢-Ë/\17\82¡\ fE?\1e\97Ï\83\ eñ}iÖ%\14\86â]\8d>ç±%Ê 3Ðã\ 1\18a\1d\12¾°M\80E&»¯\8aöu$1\1f\84ËJñºv­Fö5Kj\90±Lã\8a\87z_\ 4Çú§Ý5z\94ÓXÈ\97u\fµK\87YPÌ=DÕ»S\1c\14»#Ç\ 3\ e£Rð
+T>Ò\82\90Èn{è\93¢løäì ½¡k\1açyÚ\ fýõ=³\94  *Tf*Ób\120{½DØ;úÙ\16§\ eÔ\a\8dSmëU.C\82v¨*8\16\9dØ \86Þ5\®8'*\1a\11\12êUÂ\1a\8df÷r\164èí¯½\9c}|9\7f9OúÙ\8e¾\f§\14_vðÙÁnj\15\80\83U¼ö®k\ 4\12\8b@­¸¢Ý{Î!%c\84\a\92rWs\e+·fÄ<1!ó¦ÁV@mÖmIm\94©X\91c\11Gÿ\11\8cL\81Êz }Ä\1e¢0ú\16j¿\1fb¯E\17ð\ 3\99Ë\f\17²:\ 2ñ$\8e\b¬Þ\12ÁT£&P\81\8be¿°\86¹á­\86\1d\fÇõy\8f&";\94´Ì\8e8\11\96H\9c\8dR\8fý¥\86w\15ðQ\96\97ø-\87\9eôvv4\94ìg+h:ªP¸Ý¹Îï3²\83\1e\98á%\8f\9e\90\83ç(\94®«r\99\9d Û^"¨\1a\83Ä=?¦}¬\f\89ÂÛ\85oÅ©#\16(ʲ#~\97)=\88(>\13fVã\18ð\96Ö 1¢ºã£\82\85\19i^\0¥\ 2\8e¡\f
+\80\11¿Ju2JêõZù¼â#\b&\7f[jàô=©ËtÒWËrßû\ 4\9b\rß|\xÔRè½\85\87W\9aÔ\9f\fÿýJ±ÌôÛm'³wàÀ\13Zu°\16Y^¼\ 6­æs\93òr\8a       \8dÎLaø@$G\80¡ó\81é\1a\83       \1d,çez\8dzqî\ 1\ 1(ø.ß(ìö|¸$»\e×ñ{.'·ãí\f¼"2\8e\989Ð^¦\0ÇAó\v1\97é%Çãÿæè\88\a\88Mh»1ÞYq~H\ 1ZåñºãñÂ*aÛyG÷£¤{ù²ÚY|ßLæ]pE{´×2ÕDÓ2:ô\bål|\11åõ
\9d\8c\b«ÚQZ\96'gd9Ê1\80\7f\8aT°ü÷dõå\8f\15\92:ZcÚ\86ÅÀ\9bON\r\9cÀê¸{}g)®\84\80¤\9dª¢HÄÎ\86{\86òO÷n}Úï        \18É\bü°\ e8Y¿Y0\12p\93ý³}\19+>\ 3`m)j\14\16\9e+Æècµ²¢xøå¸XtÕ\909ºÄ\11%H\19Ïâ¦\rºÂ\96\82Ôöų\b z\1eÍЭ¬fKåI\18á\7fã\822\82q+òZ\91\9e\82\90\7fè¬\90ö\81\9aÎ7\ eG©ÏÈb\1dNQ\9a¥\87ûy\14X;pyí\91vòÎfÓ¿TÝ`KaN4\9döç\96!Îitë×M\8bW\0\1c²Õ:nµË¯·¯¯R\8bO|Zþÿ¯n×x1¼ù8Ãë\1f¿²Í\16\1féÉ_'¿\ 1\84\7fendstream
+endobj
+1747 0 obj<</Type/Page/Parent 1476 0 R/Contents 1748 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1748 0 obj<</Filter/FlateDecode/Length 1709      >>stream
+x\ 1\8dWÑrÛ6\10|÷WÜx:S{F¢-É\96ì¼ÅNÒú!\8e\e©M\1eü\ 2\92 \84\98$X\80´ê¿ïÞ\ 1T\18ÆÓiâdd      \ 4öv÷ö ¿\8fft\8e¿3ZÍi±¤¬::OÎiq9OætqµÂë9þ9M\85|pýÊû7\9b£³\ f×4[ѦÀVË«\19mrÂ6çç´ÉNf«d\91Ð\83³i©+ìämÙµÆÖ§\9boxî\82fXÎÏMç«d\89'Oî
+ò¶ÒíÎÔ[Ê­öõ¯-í­{¢v§kÚÙF\17]Y¾ð¯TÚmRW)\15¦Ô´7eI;]6ôb;j\9dÊ\9e°Á¾\96\95M@\90Ðƽ\90¢\§Ý\961àäÙ\ 2ÕâäR?ë\92lAs²\8e\16TàÿÂÔ9\ 3\89\8fû\84Þ\96ÞRm[\8dmU+{g\9dsºn)uvï\ 1Êø\96:ß)F¹Õ­'ßZ§s2\80¢ÿiyã\8a\7fQ#\0RE\86Ç°6ì\95äªMâªù2¹`\98÷\87³MA¦ý\91\8cê'\8c«\16\1eüÎve\ e\bÌNªIA\bj-µ/\r\97 Ék÷¬\1dÕªÂ\87\9e\1eñgýþó_ï?\ 3â+\0+U«-Ö\a5p>*ǯªÎE\85þãxln|Sª(\16ó\ 2zÕ³2¥Àð;\ 5G\8c\v\C~j´m\0\94ù\ f
+\ 5\1eô("S\1dx\ 6\82\17TÏþØ©çP̶´©*éxÛi\1c¦²Ìvu{\8c\1a¡\94\85îϪ4yÿ~\7fpo\80ϺÒU*µEeï\1en\7f¡ÌÖµÎØ´8\12\1f°¾>P'øÉx\86!ìɹ\13a£Ýu^\14¨:@\11\84ýù²jÄmÄ*\98Î>,\a\8d\11uÿ¸¦/`\ 3\16£97\173Þ5{år\88v\ 2åö¦ÝÑZU©z<¥LÕ¬6°\17fÛ±ûP?Ô\80»ì\1eÏÚú¥²\0øxbô\eú\8déz\1d\10ö\ 24íQ1L\ 3¿\b'¢\Bw\91\92Ly-\9e£\11ʳ¯\ fg@» Jeèhp\ 4"¡$઱»Ö\1foÎnï>¬)+\r·\93ôs\14\13æa\ 4±ßÐ]èÿmh,¬\83'-ýÝi4ø\18ç\0Õõ×Q\9dá4àAÌ¡¯\ f\r\92\90\96y\16-\ 5Ïý§Í°\8bbËÇ\1eâxë\1cÈ\8a*\ eã-ªÈñ\ 1\7f\0¹ôB´9\9f\8d¤\10jRÓ¶èÝ4T\11\83\87û¦µ\164Ö/Ô(\87fE×y\12O²Ì\15>ÉaMP\8c¥ÈÄ|T&ò\ 6\1f¶yÂ\96@\fri­3ÈH~!\91\86ÐB\1c4
+\ 5 Æv¯\ 1\83\99´\8d\98?\10\81Öì\8f\87yôö\rMó9¶ö­V9\9f=Íiþx:\19\1d/\ f\7f?\85·\9dÞ\b·Óûx\0Âõ^ï      aäÑk¨-Ô\11\85Ù£û\1dU\bRTù¤y\0\8däÍZü"A\81äs£s!\90ÊaOè
+~@\80\8c\12\95çÐÊO0j8\88+\8bÏÙÃÒÖ \ 1zp¬ÔZç:ïc¢\ fà\rS\82\ 2\1c¥æ0\19úÀ\92>gFãp0Xõ\1dB\7f,pTÊ?ñ\9c¹{ \88\86\85Ø;\8bîx<ñ\8dÎLaôXEéq&ïØpì\16¬Õq/\10*ñU*\ 2?\9e2\ fÃÁ<]\\84ù\81\89|\91Ð\rÏ*éÄÌY4·ïR\80òá©¡oãX^\9b:\v\11ët©A\15Ë#aC³ä:\99­\10Ae³S3äEx{\87\1eOÙB]\83)\16\ 2\92û\98\1a\10ÏwMc]\18¡N7¥É\94øÌ\16?kØÏU´ã\10/¥È÷\9\83\96\13ód6\87zP:xÖ\87Ü\15\18`9\80à$¨\97î\8e\8dàC¾\8fÎ͵Ï\9c\8a\1d2\93\11ó\18áÆ)´j\11ª(\8dí\93\9b¢Ðr\ 3À\ 2îá\9f\86\9fÕÃ\vBt\bº­¦ÍíÃ\19l\10%\90HNz«B\19Í\rÇ\ 4"\12\9cí¤ïÅ^aö5
\1d<6*\ 1· ¢0\19Dá;\91L".\ 2¸y\90AG¤\10"ãËÝý\1a\añE\80\19ùá\r\8e\8e\1fz\87U|ø×íÍݧµ\84²ÿ©Óy°³\86«\98½\81Ó\ 1«öe\90\e\9f`PÉ\0E\81¹\15S\82Snì\18ç°\1a{~\84Ò\88[\a\178\b#Û<\eÅW<Ù\ 1´ýùî\ 1\99\95=¡nÄ¥Xn¶X1¢Ñ¦ý\90
+\14\83õ\¯\1a\1e\8d6\1d\93̽ÎØu¡º²E¼ãªõ?«ï1ãñ\83\86ð\97³\95 \93\8cÄùÙgQ\7fe\91\18¯4ØÄr \88Ëd0°°ÁSa\94òp\e\\0å.\1e¯M|ù\93À\1d>\8fK\ 2\brq\8f\1cDð"FFÐk¨M\Úçe\7f­\9a\b\97¨òµàa9$\9a\ f\91\1e\ 1M\18:à¼\1c.A×\97\93ÃëûÍØ\85P-ÄPpµ\ fÞ?Ü\13\a^\84¹~Ôwk\9e\89=*Ö\15Æÿý\16ý)ý1áÐÆ\9b\98·¸á\8fXé¯[ÁÙ\8f'l\1e\Ú®/%\93ð
+@Q\ 5\9f0]c÷ã+R£]\8b$\9b\102\r¼ÃAÂH\1f*hbÞOÊ\1a\9d;Ú²\9f\ 2r#\8fw\91«x£\9c-ñµîjAËsùºµ~ûñæ-\7f?ûÆíöÎf]\85»\97àç3¦ýòéêü\9a¿}ü×÷¹\8båU²¼\9cãÛ\1c/\9c\ 6ï7G\7f\1cý\ví\ 1¶Zendstream
+endobj
+1749 0 obj<</Type/Page/Parent 1476 0 R/Contents 1750 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1750 0 obj<</Filter/FlateDecode/Length 1570      >>stream
+x\ 1­XÛnã6\10}ÏWÌ[\1c¬­µì¬\93ô¥°\93\rº@\93m\93\0}1PÐ\12ms#\8b®(Å\b\90\8fï\19^dY\8eR´¨\ 3È´H\ eçræÌ0\7f\9dÄ4Ä_L\17#\1aO(Ù\9cÌ\9eN>ß^Q|NOKÌL.1Hi\18\r\87CzJzñEt\1eÅ\11ý¢w\94ji()´1dªE.KZ\14zgT¾¢\9d.\9eé糧\1f\10vNqì\84\rF\17\10Ö»~w\8b2$(Ñ\9b\12\94R\91\8fWy)TÎR7UVªm&i£_ø÷V\14¥\89è[Ika¨\14Ï2§;Å\1aéeÉ\87\ fi\10\8f£\11\1f\8b,DF¯R\14X«i\ 5}˵\84üTb J\12ÉZa\15f×P&ÑE!\93²O"OéQl\16\822±2´\90k\857*'£7\92D!\ 5tp\v\94i\9d\9a\88­X@a½ìrÔ\1a:ÃÄ¥ZU\ 5\8cö§f¯\91\974\9aD\1c\81ÞµÎ\8dJe\ 1'ÁÓÖ¿\ 6\16T[\82éK\9deð<ýä<>¤«àðs·\9bþù3ïÝÜÍægÁ\80atÉÇ\1eì»\8fÿ\9cº\17\18ÍÂ\14Æ×~\8cáMãõ×\8f\84Ñ[XIÍasÜXAo\9d²\ 6ÿíÓ)ï@\1d\ fìx¯ëÁ¨[«OÐêÓÁÚÎ\1fvi§:o\ f1|ò «\12Á\7fG\ f?3\82ø·\87Ñ\a~úß4:pP§U~¢ÛCV\8c÷/kßøø·ãý«c1ÝQ÷»º\17ìg\8e¼î ×|6\ 1i%ר¬\a\aK\8e\1fqÖà\89\8cÁ\93s\ 5_u\9eðϱÏ+\f|Za\14\92\8a§oèHSoeãkÞûãÛý£KáCÚ\9dÔ\fbJ&NÐÑØs¶¡y/îÓ¨Oãù\193Q\ eÒ\ 3\11-^ ,C\85Å\1d/zÀª\87\11Ö\f\986\8d\ 4ýS®K\90\1fÄ/ÒD\18¦ãGW\vâ ±'`¦è/´a\92ÍÁ±:'\ 5r­ãÏÓçõt=1¶Ô¾\9f\88hjL\ 5Þ]êÂÒ÷\ 6$\9c3\933\81g\99Ó­ut}(ȺI¶¨\ 2\vÉLÎuÀ\bHe^]Áæ-\fæ\13\8c²õH\95
+*\e\14\98ùYDwÎ\ 6²Ä\a\r1\1dÓÿ\9eØaÞ\8dÞ \90a»áT\9eq­Ä÷¼§d\ 4_ÐNAý\ 4L\8eêg5²ÕTR¦àÖÚÞZÃ\ 3M\80§\96Ͷ\82Õe\ 5§36\b\a¢\fÚ\92æ\9dE\1aÆ\17µã¹\9eµ\TÈ\15\1a,T\ 5ÝËröíû#åð\97\81Òåº}rÙ®]S\94ö\10\9aÃ\93\16Z3تm\9fd\ 6à)T9kêÆ9ɹ\0\ 5Û:\87+<m3\91  æ$\11\ 6F2\a¯\\17R¶ôpa\ 1 =b,D<\14\ìv
+§5\ 2ØwYÚz\8dÔà\16ÀfakjL\83Ö¡P\ 6©q\0¸ç\ïr®Ò\99\80´-ó@\86\9dQI\95       àÎæPäÔäÔ\10\90\90¾\b´B+FlëT¨e\e$,do¼wPÓNV\ 6\80\ 3Dö-Ä»àl\aòû;^\ fí\88éïÍvÙx\84$½\\ 2Ff-
+&!Æ¢J,\86\0\8e\9aA`\ 1R\19f¼¶\8cddZ ¼Ùù9\88\88èé\ 3³-P|\92Z\1c¡¯\93êÅ&\19\82U\9fÌ^NéYJôT­³±C\17i@ÛR$\9eqØÛ\ 1Rpg­\9e\bÖ±f\98à\1cæÝN\ e¼ï\ 2µ\10Æî²Qk¤{D·ºh©à\9aRaÐ\12\83q\99\ 2\9b\9c\17´\80\r]n\ fî6Úfc\8d\12ð \12\81Íqj´\ egýÛ`\80\8a.\a}?Ú·Û»°g\95\r\9d+\8cF¥±ý,²ÿTTåZ\17ª\14%¢rjó?°\93c\19Õîæ}\ 4\r½(´å6¯ê0z\97ã\8c\85LD\85\b\8bà\1dD\ 5í6\97¶.¸°¼#\89-gl*\ 4sï0[8\82e\1fe £«\W6ú\82\ 2rdzjQw
+ZVKÅ\97\85S ÄèªHdðx¸ÃÜ5\8a§£m\7f,£É%Í»¹\ füáÖ\ 3\ 6\9aÓÎ]9¸ÎøL\ 2÷4ÀgPr_ÚdÊ\95~ÁÎK\15|_f¯Î\95¡\17\b¸¶àCì8ª¹Î\a\87\91\rö\84\94³\bqÚjeKx\0\9f/y\99ÖÏÍÛͼ\87°q8\81ðFâ\19\15*w\95¥¬\14×s¼(\ 2\82\97KµZ/t±Ö\1a\97¸¥ÝË\aAcl\ 4+"\rD\93\8aCd\vì+ÑñìPxYæçÛãkÖ£k}ö=ÙÌ\16ùPò\89~E\1e\ 5\85ü\rË5£û-´ïN1Â{þÝÚãÎi\\ 6\1aw0+  ¿§¨f¸¥Ùçµ}Þا½\94}¾½ô·òxr\11\r/Ç4¹\88#Û&>NïfSú­Ð?\10gô,  ¨\ 6e\87K3k1\b\e\ 6\17CÜ2Ó\7fÿ\1f\81óÉe4ù2Â?\17x÷è\8a¥~}:ùýäo²\90Ñ\1cendstream
+endobj
+1751 0 obj<</Type/Page/Parent 1476 0 R/Contents 1752 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1752 0 obj<</Filter/FlateDecode/Length 1239      >>stream
+x\ 1íW[OãF\14~ϯ8\8fP%^_hH«ªUBØ\16µ\eè\92\15/HÈ\97\81xI<¬g\9c\94þú~ç\8c\1d\e7»Z!UªÔ\ 6d\8f/sîçû\8e?\r\ 2òñ\17ÐiHÑ\98ÒÍ`¶\1c¼yëÓw´¼Ç\83ñ\ 4\8b\8c|Ï÷}Z¦G×UR(\eÒþ·\bïfû\v,p=\1dòq&Ç39Î\8f\97\1f\a>\8dÂÀ\eC\-%j÷-¢»y{\ 5)\91H\89DJtÇRð\ 6Kyóö\84\82À\197
+EÚB[Ev\15[¿]å\86\9et^àj½Æ¥"#6\e\8aK¬ÕS\ÆV\r©Ð´\89ÓU^(Â\ e£TAqZj\83÷\8agÒ÷Ý­^cÿØ;aû\17zGê\8f\9b\9dt
+=\9aB\8cÖ\10\7fZa\91¨ToØ:Ek\9dÆkè4V\95\94\94zgpÎ-îëGC÷º¤\98æz\13çEýR­4\88¼\90\956[¬&ó\¤«R\17ù\9f0ÞB\8bH£un,ír»òèÂR¦\95qáH\9eéS¥Êç¼x\10Kn.\16×ð¸ÜÂ\80Û#äj~{,\ 6°\99\17W=½q\96\95\8aÃb\8cNsÄ.\13\1d"i¡ììâò\9a\8a\18NÞ\¾ÿõç÷\97\1f®~\ff?x´äLÈ\83\1d\ 2\aX§Ê\8c`\rëq®ötõ¢\ 3ã\82»3\18ÇNýÍtHmâ\8d\92\14²~¶.\8b\8c<\16\88ºÈi\9cªóü"îÝäXµ^\eÎ\92Ô\17\1cúl&\91À\9e3Me°ÇF\15\19\87?¦wR\0Ó¢Ð\15ìÚ(\14êS\9c>*Ô+bL\1fæW(ßÒR\10\a\92Mè-ºy7.&°,yîéÍPý¬   É¹\96$\9f\17Õ&$TߺÎ\8aóªÍBm\14Íêªä\12\83Áì÷¾\89\¹p>%\1e\12Ê\9eâ8Ñ\95õHâͳn5ï£ZªTå[©Mõ\85h@·IW*«Öx5îij\e ¶9Z®T(p\14?\fgÅl<j[\92\vLpñE\83ÞKëiÔRO\04\0\1c2\8d~æý\9d~2=ÍÜ­h´GEßó\93\ eT\8eÂ\13\87\ e\ e#;pæÂÚ\ 4\99è7tB#Ö÷&ÜÜ#ùuö¸\eõ\11÷yÕÛãô\ 4í&n\96ö
+(\1a\b\8a\ 6\82¢x\ 6\14\rîær<\1fROZwãÁ5#ûíÑ7·Ç\ 2é³vyÖ.粬%¿Dû×rFPGè MÝ\9bìmc      \n\97{ûà|{÷üó¦¾\8a\98ºô&½Rwh\f\88EÐ(\96âCum¤Ö
+]\8câÊ®t\99[ÔðV    T\1aÁ®\ 3\1c7}Ál\15ÀÛ\bqp§\830 6/  Ì¼Óå#ÎùÃ*ÑåJë\8cÐ\1d\ e\88\fX\1e$\13\ 28@\8c ¼^o\e~5As\f\9bʨ\89ÇiÛË¡¨\96`Y\8e\8cn®o\1c§\88 g\91Þ5Úû ¼ä6eÖ0ܺ\8cÐèVµ\ 5\1c2Æ¢iu\9aV%¸\86\89\91Ç        \10öÎÝtd  \ 5\87)µchÏ\11Р      ¦\88Ûc\8fn\18M\19aZ"}Á¢uîXÇa\10\13f\9a\10ò \98\82\19Uø}\17\83\9ef¸UæÀ±Ö¶`\889#Ã\ emàz\13%\19#¤Pd"â        ¢cbM¼Òæ¼y\9b§ñ\b$nbÖÜSÙÅ0)\15A­º¾öóÝÿ ÅÓ\8f Z\13¿¯Æ\ę\r\9c`Pm\97{¼ábcѵäÿ\1c\1eþ³Ð½\87©¯NØ«        ìß\8cç\r\1a\1fÆs\8coM]×hnª"\ 1`\r©\ fë\r1|\11Ö[*a\0
+\87\94T\16Èl)ª\91eR\7f\9d\ 5ãSÏ\9fD4ÆÙ}óMßͦtUê\8f\98þÓ\8ag_\19ßØÂQ³atêó'çQpê\9dx\81G¿\0öåSÆ}\9c9\ 3Ü\84Æä'\84÷\13K8\19O¼ñ·!>Zywäó½óåà÷Á_\8b¢8\8cendstream
+endobj
+1753 0 obj<</Type/Page/Parent 1476 0 R/Contents 1754 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1754 0 obj<</Filter/FlateDecode/Length 1491      >>stream
 x\ 1¥WÛnÛF\10}×W\fò\12¹\90h\91²e§@\1fìØ\ 6\ 2ÔJ\e\v-\8aº0VäRÚ\98ÜU¹Ë\18Ê×÷Ì./
 \1d4ujÃ4o;sæÌÌ\99åߣ\98\8dé,¡ù\82Òr4\8bf4\9fÍq<9?Ã1Á_%)\1f]®FÇ7'\14Ǵʱdq~F«\8cðúlF«t|£´(\8aý\84ÜVRaRQP)¬\93\15­+ódñ?7\15Ùz­¥£\84îÇËäáòþ\88\9eTQ\90Ýë\94ÄF(\8dk·õ62SòõÀ\bÖÅ\ f\8f\8eV\1fG3\9aÆó(\ 1\8c±ÐY°TÉTÉOÒ[(\95µJo\bÎ?Á¿Ô®RÒFÔ@¥)ñ2aI\10\80\8al\8f\7fÂI`S9i\ 3×éVi\89ç  \92¥ù$3â ¶µ\eø7y\8eX8ô\10-\15Ê:\e \15Æ<âúQÒ\8f¼êøfFo\ 2\87Óä$:aøw\81\16ê~.=gt\e\18\19æZ\97³è\9c×LýO·\82(Üh\8e¸Ïg\835ÁOÜ/b2û+"\_Løxé\8foýñÊ\1f¯'4°v¸ð«çHñÅýø\87û#\18àlw§oûÓ«púbÓóÞô¼7=Gm4^æ\ fÁtc9\89£EOuÒãedý\15(\0è\80×\1f\99\82äáêÅø@d\8b\ 4lö§\1d¾¸Á\aûñõ\7fáÅNþ\1f     ó>ì%Øê¯@\ 2,\ 3\18\98õG&\ 1\18ß÷\900y±\97ÿ\e\8då®\14¼.p\97Br\ 4Ú\1e\95J"gÍB'\97¾íµÑSQ»­©\14´AAY´(!"lêP\ e§I¨.\bÙ¶2Z}ÆËF[ZK÷$¥þ\17Ec\rú\9a^6ê\91\1aí\94®¡h\86L\9aÖÕ\84ÖÏäÇm\95\85,\99ºÈàq¨gV¹ÚÃñ¨¡\9aÉ"Èλ\9c$bG¼\95©9ì\ f1ëÛ\87\84
 ëAç¦(Ì\13˨Wj\ fÁë\18ÆEghÉ\9c\90É)5å\8e-áB\93\84~\92U\99ä'¬\8d\18\11i*!Êë\ 2<\82\19S=R^\89M      mnâ\ 5|Ö}\87?¨-Ï\f\8ahľ0@\ 3Ù\ 6\82\12Ô8i'0í=´FµT\9bíÚÔÕÖ\18ÐËbì\83\9fb|µ3#\8e¼ áN\17Ç\85s²Ü\ 1
\ 6ñZ¦\8eO\81Ý\ eÐ÷\81zZ\98/\9f\98\80ÂÓá\1fhã8#íôÈ+Sr4Ó\83ÙÅ̼\ 4\1c7\12itGsÏ(ª"­\1dèÏA³)=¸ßß-ï\9a\91\bÚ\\93V]ì}åpf\10qÈSó\9aO¦rÏÓÀC>Ltľ§:L[?˦Ê\9a\ 2Ã\14õX\19\91¥\18\94îòÝû;ßA`\ 4/ÔÜ$\11­À\80Ìs°\1df­U¥*\ 4ºÐ\f2ï¶\82£A¿xW\rJÆKW]T]¢Û2\9f\aÂ\8eoÞP\8cMK\8e|\9fÒtÑÌÑd\16\9dFt'\1dÚlCõ\ e\ e(zÞçga\8e\\87Æ\11t'ʵh÷
-Ü>X¯t\86=\ f-W°ë÷\1eÍV\ 2¯y\9a-ö@ì\89·\1e\aÎÀ\84\ 1ç\ ew½ÕAô­\11Äë\9bü`%íMMe\r\92E\96ù4÷}kvÌrSÇdËu\84ÒFA(¤\9aï\83|+\v\90\8fdµ.|\87\1fÔhÓ^\7fn
\16\85ý\v+RoµuW ]\ 3W§Ý\16±k+È\aä©ÞíLåè'ÚK_J\ 3ù\f\92ô\e´Ã\v\1c\98ÝU
-¤"æ8z\13!\7f\ 1¢²w¢B\9f±le2\17uá[\15¶#B;0\1f[\ 1¹\16zO¦Èð\16ö\80_\9a\1eÐ\v.°ªêz\11½Áªê ç\et\87­7\e\89}bæm×»M% l¾ö°é\84\80µ\ e\b\80\ 6ÄÂç\9e
-ÉÕÏyå[\1dì\81{Xz­ÍkN       6Òü*4§Ý\82\ e\95û¶Ý\9aúÙõêKæÇßâ{ü*tý£\94\î,\8fÜUìö°G-\9at\83g²BÐí¾¼\9c@\1c|«põ\ ebà&dÉþÂÊ\10û\1fHM3«\9a>0¬>ï\97×pÂ\85â[&¢+CË÷«\8e·ï\b²©|0Z\1alá¡\1e\9aur\0:\94YãµyÖJÇ*ôcP\85g]=ì__\19Z\82-$³\89\8dSÞ5ªJ%¾:¬\94¡Ò\96«\ 1\94̤5ÏB?­=\93\99Ä$,PÓK\83/\13¯\7f\aêâ\r\a\89\81Ò#ºJî
-\95òG\f\10øùk\0\0{\ 6ä6Lqf\82½\1eß\9c7\8d\1a\9dw>Ç\17]»E¾¸½¼ _*ó\91çßÕ!&^9m\17LÏfø\90ÉÆßVÐ\93Åy´8MðÙ\88×ãù\8cÍ\¯F¿\8eþ\ 1Ú×<~endstream
-endobj
-1756 0 obj<</Type/Page/Parent 1479 0 R/Contents 1757 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1757 0 obj<</Filter/FlateDecode/Length 1540      >>stream
-x\ 1\95W]oÓH\14}ϯ¸êSAIHÒ6mW\10©åcU¡\96.1âaÙ\87\89=N\fö\8cñØdóï÷ÜùH\1c×Õ
-!\ 4±gîǹçÞsýs0¥ þLérFgs\8a\8bÁd<¡³\8bëñ9\9d_]âÿ3ü­$¥\83ÛhðêÃ9M§\14¥¸2¿º¤(!\1c\9fL(\8a\8d\95¤ZÓJ\92\9155%e\8a\ 4ź(sù/\99f¥ðXª_Y¥U!U=¦\eC÷Y\i£Ó\1a~ÒÆX\v\89\8e\e>@õFâI%Ë<\8bE\9diõ"ú>\98Ðhz6\9eÁÿiYéZÇ:7´\14Å
\84Rº¦¸©*\ÏwT\8aªÎâ¬\14µäh\9eØ3cº«)3Tjc²U\1eNQÚÔ\r\12G^5\89\8eWëk´p.¿Þ=,Û\11R\88\89
-±c,\12\99fJ&Cö¿Ýdñ\ 6Q"©B;ó\ e6g«\10ñ\ 6g;îbÝäI\vUa\80ªukdõKV´jÚ)k\85¼¹\14Φ?c6ÖÊFüâ¤$\9dl3eP\93²ÔUMoh'ÍIÇ/°\13\85¬á\0å\1cû\97³9¸\ 1äoR~Á\96Ú\91l\10ÛJJ\85¢«4[\ 3Á\84vº¡¢1\ys\80\81\8fÍ\16Øï\8b\94©5B·fÁ\95­®~\90¨\9eâ±·½Íê\8d=-\92¤\92Æ\90\13ål\ 5\85
\1cDÕ~È%\17\1e!\1fÇ\90Ò\fQ9\96¸W\1d@üAº{¤àÏ\9f>y¬²BT;çbiËr\ 2{\12\85³!\ 1ð·ZÕ\95Î;6\1f\85\92ùhñà²\1d-\1e\ 3£G\8bèíãha\13 \ 6\93Läzm8Ư\99JôÖÐõ\ 5idæ\7f=Dc\8a\12\89ô²\16¥´\94áµÒð1¶Pã\f-²©Îs\r²¬)\a5¹¿ùîßë\¯Dþ\ fìÅÜ\97\9c¥\80SS¬Æ\ûN\96@V\1aú\83\9f¾úp±\9f"£À&GF\17Ú\eZ(ð\8eÓ:DøÚ]=\f ÃÕ\8dD#õ]á\1aK\10Äóô\1dúÔ\19f\8e\1có6T\16>³Ú´üviÿ 1HìP°4³\90Ü\7fYFôð)¢Û÷´|\1f\ 5\ 6\ 5(\98VÈÆ9=êI\ 1è\80+z¦\13O\a=\84$ó4ðØ\ e×\95öÄ·M{ÀôÔ!ÙnëcäNOH\97¶bB¹\ 2÷[\bµxÍ\90-\9e³\81¸\15©b\95t"Þr'¥"Ë\99/¦F\7fw\81\8clÙÐÜ\846?L_\13K%ªL\eJQ\vÌ\1d\8b\10¤\84E\82ç\95Õ\90U\ 5ê\ 3:\90\1d\85
-Ó%\915üáHÿ\9dN\80Á\ 2O\eAaÖ\80¹0¢¸(¡£®/\86~L0^áéCt\98^N"\90\88U\9eÃÜ\13¦ã\93Ç\9cí\93\99\80G\97\bzIÃÉÿdBíØ}äÌ \b\95\8f¿ã\17Á:/Æ\16áÕ\87k\9aB½YÆGgçn\9cÏ&ãù\98\96\aìn=ÄÌf¨Í§Ï\1fÿüüéË#\9b\ 1£ÙåxÎz\80©\ 3äYô{+õ,Î{\11\80\1f\\ 6\99Ç>\87\16\9eKË*\8c\92\90\1a&\9b\vâ\89þ9ÃÜg\ e\vº\17\86\15Ìæ\89\7f¿\9d¢|íÖÆðx\89¦~ÙñÊ\16\f\8f'«Âaì{\9b\88Ïe5Ä4¬!¹ë\8dMFѾ\b¶×­\850tÊ\ì \9bÜÑÐ\ai¾½°tè8æW\8e=ÞYá\12°l@\ 2\88\179b\17Êy×á0Ý\e\8cm\83\91\96Vº \Ç\82u×fî/B3Qa´«ÍÌöW\97¸\96[vs\10\81ö\1dÍFÁø:\vöºÒM9\ 6Å9}ð\1d\9a\11\12\ 5=ÃR`ÑK,÷}<\9dtCZ\12KBhûmX\84°kfFs¢ÉÁç\90\1a%x\83³,@\81Ô.xv9â70\ 6Tn\8aøͯã\97Ó(±J`Yñp\1fEéAåÍ\aýV\88\1f\90µ~Âï\17J\1e\10fw\10Þ\ 1}Èyh°ö~l1íwo\17*tJØa\9c¬\83un¨c\1aÙ\13¼\vv\12Ä%®I¿Ù\12èì\8b\12TÜ7Õ±3×\ 1½v\86\1d\9fÜ\94\fìa\97ð\1aäyÓ·Mðùc  }~}8\ eÂ.³\1cÁñ ò\8bk\ 4»Çç\ 3Õü\8a,r\ 3AÂÇ\88¬*ðÉîð\1cL_óX\95â\8dAoÕ\81\86ª\ 4HÖº\83\ 3/¼Ò.àèÖç@±ë\1d;ü-T&tíGúÌ\8fôã$÷ ð×Ód|Å3û(£¾\ 3\1e\ 5t\99\9f\19}\87 Õ9\92Êñ\111¿è\81ݪó û\8f$[m\1e«aV<]\8að\ 1e÷x|lýl²Jz1»òÛät\8eïÕ«3|\99N\9d"-oîoo\bûôw¬¨\98úî\93rÿ\159
-\17F\97\13@\97\9cþ\8e\ 4\9eϯÆó\8b\19\14\14\17§gSNû}4økð\1fÃn\ 1:endstream
-endobj
-1758 0 obj<</Type/Page/Parent 1479 0 R/Contents 1759 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1759 0 obj<</Filter/FlateDecode/Length 1313      >>stream
-x\ 1ÝW[OãF\14~ϯ8⥠\11ÇI    U©D\16hQE \9bH[©ôal\8f\13\87õØdóïû\9d\99±76\97v\1fúR!DÐ\Î\99s¾ËÉ\97Þ\90\fi:¢ñ\84¬ç{>\8d§3oB'³)>\8fð[H\8a{óUop}BÃ!­b\1c\99̦´\8a\bÛ}\9fVááB~-\8fi§*Ò\e\11É\W8XnDIR\84\eR1þ\91¤« \97¥¦På¥HrM\822,'¹Û\e\8a\9cDX\92à\95T\85"ź.eAA¡¶\1a\7fcU\1c­>÷|ê\ fÇÞ\bY\1cò½[U<®\vU=yt\91ïèvI\9f\92<        Z¬\ 6£ß\ 6\7fÜ\ fF¾?n\82¹4\ 3I"H\11[Q¤\90\8f9ô6IÓæ\82³¯\9dx.aM\ f\87"-ñÞõ\86ߦq\8dÌ#¾k-K\94-Pª\94\11e
-\85P1Ö\8eI+JÊ\1f4åªD)P\16Ak¥"J")ø`Å\97ðU\ fG\1e­\14Ò}D\86\9døK\91\ 5\82P\8bg\94ã\8d*idÀu\89U\9aªm\92¯I=\95\89\93Ü,ü¹NU Ò¿pOÈ\vM\83²ÀCsb\8a\13ÔåG\ e=¸öéÌö½?:ñN¸æ\91Êоº7çxP\9d¤ïÍxC«wç´\93º³á©\90±,
-.\90mðk\9b\94¦T>Ë\94Îirjsù\ 6ÂþhÂ\91.\95)§ë\1fãÃ\96\1cØë\0¬V½ðR\83G\vÄcÂnÔig[¾\15\ 5>\94\e\aY,\14¤¸ÊÛM\82f%Í\ejä)\ 2\82¸Î­ç:¨zîÅ£\89­Ù
\ eö7\1eÐ\93(D&\19Þ\82û¤]®@»$\06ø®n     \ f(\14@P7Ë<\v\f*Q\99\10hj\98$Óºõ9éR\14eõD\82\ 1Ìw×\95ßÏ\11 ª3Ü$\0½Ì\rö\ 1jÃó¤¬[ìÊãH\ 6øáÞÝ\8b¸º[ \9bØHÈF<#Í\1cÌmè\8a®qV¶i6\1a\8bÍ6Ñ Þ»Màs¹¹\96¥%J4ó½\93§\ 5H\¨\fí\fUÆty\83\ e\84)KÞÁ       }/½:\81õ\7f\17\ 2\ 5tz±§n8Ö|Nsp}FC¨<Ë}\7flH?ò½©GK÷~ eÎ\9a̵à\ eÓåÝíÅÍÂ\9eÝgé\14v\ 2\9eºî
-¨¡\88">µOLÍ}\14\8dè¢÷\97Vb\9aþe\95.­pBÛ\18ª­óÆ1:åm\8bTÍJ\9aï(\92±¨RXV+â}\91d¢ØÕ\91?À£
-è'ØÉ¢\82\aÚ\8crP\16Z\0Ê\1aäwÑäv½´-\8b[>\8d¸àYƤ\80çäkç8A!Å#%q÷i\85\'ì\81¨\110gïï<µ\13m!ËùÍÝ\92\ f\87¶3?\rç??\1cY\81ût³X¢k¸UDµôß_~è2ò\1aï®-[!8\8b%hÄi°²:\17¯ÙðÍr       w\19ÒeÂ\10\86ûÕî6\ÖHá»ï@\8d5z¥Ã"        d´ç\88­ËP®}Umtæ\9f\13úÿã\88\8eiµ:Z=m\97,\86~Û       ¡q\ 1c|ÍlS+.cÝÉ.+nÝOF\0<¢SBãÕû\8e\ 1NÃÖ\0\e³¢=Ã=eñ\ 2\ 6ñ\8d,Ëeeæ?\80ª\88°\19³b\93\87q\163\8f\19ivNÛ\89ÛF?f\1c3lî\88µ¦¨ò\1c\ 1=b,\9bY,\92\18=S\r\ 43û4\ 4Ýzx=       \1d\ß}üp³ø\85\96\17·ó\vZÝÑüª\13põë\15Ý^,WW\1f\ f`\19xb\97\ 5¦ô{´h?\8bÓËd\160³Ý|ì$\v©a ¨©gå\82\8bÅ'Ü`íf\96Nb"Ý\8a\9dæ©Ä½\9b¹úÂÿ\1c\16\8cã\95â\91û\81I¤d\19¯Çì\1a\16  ¤
-3\18&ðÆ\e;A_eß\9eS~¯KÒ«¾xÚ|ûÀà÷Ö\14ÚV\ 2¶9zÕüè¥ÝÍÜýà   ¾ùÌÆ4\99\9eZã²0¸/ÔgÌK\90ß°Ê$¾½ðÔÌ\85è×\aúS\1fcrtø¯mòd\82oZ§#\18,N\rÇ#¾íjÕû½÷7p6dDendstream
-endobj
-1760 0 obj<</Type/Page/Parent 1479 0 R/Contents 1761 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1761 0 obj<</Filter/FlateDecode/Length 1560      >>stream
-x\ 1\8dWÛnÛF\10}÷WLõä\0\8buñC\1fl4\ 1\8c6J\v©\10
-øeE®Ä\8dÉ]\95KZÑßçÌ,)Kk¥(\f;!¹\9c9sæÌ\85ÿ^\r¨\8f\9f\ 1M\874\9aPZ^õ\93>Mf÷É\1dÝͦøÿ\10¿\95¦\8d<\18N\a¸\8c\1e<.¯>~¾§Á\94\96\eØ\9aLÆÉ\8c\96\19ÁR¿OËôzØOf    }vUjì\96¼*×\8ajGkMu®©T¾ÖÕ\87å7X¹£Á X¹\1dN\93      ¬\¯r>\99ºR{9Þ\vçi]¹½×U\8f\8c§LÃBi¬Îh} eI\17\8d³´«\ª½§Æ³k¼£²\14þ|B\9fT\9a\1fϱ÷>Ý\ e\90}îTú¢kJ\9d­\95±\9e\14Ù¦\ë\8aÜ\86vªR%ûó´Ï\rl\1c\9dãZÕð¨S\9di\9bjz¾^\eå\9f?àýÜù\9a\9a"£\½j2\96£\89üv°\13z<ÀîF5EM\vá«ñ\88_Ñ«®\ eT¸ý©\ee3Øj<îó¡Î\bèrô­\81_µv\rþÚ\83³\1a\8f½NZ¿Ã  Ò\8cx\9f6tp\rí\95íÜáÕ= \9eØʵ\rÖ<\98á¼õ\1c<êW]ôh[¸µ*Èí\84s¼çËu\ 2ö6\f\ 1Á\9bm\ eò\ 2\87\9dï\8e맺\8bT\0÷\13ú[r5º£½ÐUª\17ÐU\v\1eU\14'\98\1cØ  \0%\ e\88\a\ 4ïú{ªwuw\97  \8c\98\ e'ý/Ï\1f"*\1eNãBº\87\11\8aµF\8eW\9bÕ\16|f´2ö~|CkÐk]M_\16|'\830i¾ü8ü\9d\16º\ 2¼\84\1eN\1eEHN\ fRæJ\bN\84W¹¢@H\92\99\8e».oK)\9fï¦lJê²Áõ0\1c\8f£°N3|,À\r*R\9f\95\v*Æתª\9bÝ\rç\18W]²!ë\8d®*TX¨¿ÿNz\14cï }/i\95¼7H¢\18\97BPä\vè\ 3úÌ^¡?µÕ$y\r\19ݹZÛÚ@\çeϽ\0\89PèLLü\11]ä8z\89µÅM\a\14\1dË\18ºªsJaé\86\94'\13JA Õ{'\85롨}®Ebø\83\ e\ 3·(\ fIôý\98\\85tG\9eqOxFõ\83T¼Å\97\1a%\9a"\16߬-\88]#FaX ô\8eA\1c)Fõ\bum2vº2.3°Pp\97ËD'Æ6|\1d¹\17\98Âôû$C`®Ê -\98\ f\9d\ 5\8cÅ\82»(#ôqE½Vºçï÷Zä(_p\8eÎèÊRÛ\f*\92ôqÓQ\85wBÂ[üQ,Ád\8fá¶l\0µBa´£DÂd\15´Á¨®\8cα\10\98\90@÷¹+ 2ItE\7f<ÌAGär\85\9bPB\80ͦ\ 5¥jÓ\17ÙE~MíÉííÛ\80A¸®P5\ 2\r¹~G¤\10²sÞ\9b5À 4n\97fÛ@Y,»P£\98oh\1fÒ\17U\8dÎ\86\96v\9e³\8b¤K \1d       \9dã®Ý.¡Ä\8d©x\1a\89ñ\90\880^\9b\1dT\8dâl\aóEãèe8Ѷ[\99L\1dHyõ\rfÄè\89Ð.Úmûø\98\9bZc@\ 3é!àÙ Ô\ 2N\85\H£?ñÌÊRE¥UvàôF~/;ãâ Õ¡LÁ®¸#TîÕd<e\9b\1am¸6)\ 4\9b56S6=ÜtÃ\e\1e(mÐ\b1*ÏlG~Ûõ\84\80\9f\9d®H·£»0x±\19Ý'ôE½\9c,FpðÎðÅÍ\b\ 4\9d\9f\f5æwÎ\ 6U±àS\8c\11Ä\82å\87\91\aTT\18¬@\\ 1%\16\f³\83\0\83J=¡\16¥2å ¿\95b\9br)"\8eãÓõ^ó\80\90V\86\83ZæÃ2®\83|U\8aÂáN\1dãÄ\92\86Á"¨¢¾ñ+ñ¨Àv\14¹ë\16\8a³ÍH\96\ 2¨1Ô>\9aÐ\19o\9dò»a9Ç(   ÁqÛiw±ù×¥4\9f\85\bJ\8aë\ 2^&Ra\11¨^¶\95C\95\bEy\e\9aôuËÍ\1d7T\f¤ßd¨ÇpV2^Å-Ä÷\9e£°Õuëq·î\86E\b1s
-A?#kÛ\91²Ö5X;Ñ`\91ÜçëReq1\0ü6Çì\b;\13\12X`\13m\v\ e\83jS¹òb\8b\83\ 2`ÄP\vù\96ñ\83\eaWáDã¢Dw\8aóv°i^9kЭOÅ\17³ñ³Áò\9e\17\ 4\1cÛ­F\17;\e!|úd-å½\934XÁ?HmP&:l\84\96'\8b3\16\ 1ô\a^}ÞfÒ¥\99ìh\8b3Aë°\8f\üt\9d\8aã}\13#¯´\b\ 2̶ÍþùÚØ´h²cKà\ f\b\1eö\85\91̶ÊE\93\ e\1f5\8aVOóEû:ÇYiÌ\1e$v®ëǧ¯\v\8eöãçYûe5\98à£n6¢ÉT6ÿÅÃ\97Ç\aú³rßðÁ\ 4¥¦\rË\a\rÃ\89\90o»ã·Óþ=\7f)üßO¹»É,\99\8c\87ø\1cÄK\83Ñ\88A|Z^ýuõ\ 3d\Ê(endstream
-endobj
-1762 0 obj<</Type/Page/Parent 1479 0 R/Contents 1763 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1763 0 obj<</Filter/FlateDecode/Length 938       >>stream
\ 6ñZ¦\8eO\81Ý\ eÐ÷\81zZ\98/\9f\98\80ÂÓá\1fhã8#íôÈ+Sr4Ó\83ÙÅ̼\ 4\1c7\12itGsÏ(ª"­\1dèÏA³)=¸ßß-ï\9a\91\bÚ\\93V]ì}åpf\10qÈSó\9aO¦rÏÓÀC>Ltľ§:L[?˦Ê\9a\ 2Ã\14õX\19\91¥\18\94îòÝû;ßA`\ 4/ÔÜ$\11­À\80Ìs°\1df­U¥*\ 4ºÐ\f2ï¶\82£A¿xW\rJÆKW]T]¢Û2\9f\aÂ\8eoÞP\8cMK\8e|\9fÒtÑÌÑø,:\8dèN:´Ù\86ê\1dl\1dPô¼ÏÏÂ\1c¹\ e\8d#èN\94kÑî\15¸}°^é\f{\1eZ®`×ï=\9a­\ 4^ó4[ì\81Ø\13o=\ e\9c\81     \ 3Î\1dîz«\83è[#\88×7ùÁJÚ\9b\9aÊ\1a$\8b,óiîûÖì\98å¦\8eÉ\96ë\b¥\8d\82PH5ß\aùV\16 \1fÉj]ø\ e?¨Ñ¦½þÜ\14f-
\17V¤Þjë®@»\ 6®N»-b×V\90\ fÈS½Û\99ÊÑO´\97¾\94\ 6ò\19$é7h\87\17Nd90»«\14HEÌqô&Bþ¶\82\ 3DeïD\85>cÙÊd.ê·*lG\84v`>¶\ 2r-ô\9eL\91á-ì\ 1¿4= \17\`UÕõ"z\83UÕAÎ7è\ e[o6\12ûÄÌÛ®w\9bJ@Ù|íaÓ     \ 1k\1dL|\11\0\r\88\85Ï=\15\92«\9fóÊ·:Ø\ 3÷°ôZ\9b×\9c\12l¤ùUhN»\ 5\1d*÷m»5õ³ëÕ\97Ì\8f¿Å÷øUèúG)¹ÜY\1e¹«Øía\8fZ4é\ 6Ïd\85 Û}y9\818øVáê\1dÄÀMÈ\92ý\85\95!ö?\90\9afV5}`X}Þ/¯á\84\vÅ·LDW\86\96ïW\1d\11dSù`´4ØÂC=4ëä\0t(³Ækó¬\95\8eUèÇ 
+ϺzØ¿¾2´\ 4[Hf\13\e§¼kT\95J|uX)C¥-W\ 3(\99Ik\9e\85~Z{&3\89IX ¦\97\ 6_&^ÿ\ eÔÅ\e\ e\12\ 3¥Gt\95Ü\15\8f\18 ðó×\0\0ö\fÈm\98âÌ\ 4{=¾9o\1a5^à;ï|\8e/ºv\8b|q{yA¿Tæ#Ï¿«CL¼rÚ.\98\9eÍð!\93\8d¿­ '\8bóhq\9aà³\91_\9fÇlæz5úuô\ fý#<\8bendstream
+endobj
+1755 0 obj<</Type/Page/Parent 1476 0 R/Contents 1756 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1756 0 obj<</Filter/FlateDecode/Length 1544      >>stream
+x\ 1\95WÛnÛF\10}×W\füä\ 4\92"ɶl\17\89\0;\97Â(ì¸\11\83<4}X\91K\89        ¹«î\92Qõ÷=³\17\89¢å\14q`8\12wçræÌ\9cá?½1\8dðoL\97\13:\9bRZõFÃ\11\9d]\\ fÏéüê\12ÿ\9fà×HÊ{·IïÕ\87s\1a\8f)ÉqezuIIF8>\1aQ\92\9eÖ+¡H+Iµ¦\85$+kjÖT(\12\94êj]Ê\7fÉ6\v\85¯¥úQ\18­*©ê!ÝXº/R£­ÎkøÉ\eë,d:mø\0Õ+\89o\8c\\97E*êB«\17É·Þ\88\ 6ã³á\ 4þO×F×:Õ¥¥¹¨\16ð%\94Ò5¥\8d1¸^ni-L]¤ÅZÔ\92£ybÏ\ e鮦ÂÒZ[[,Êx\8aò¦n\908òªIt¼:_\83\99wùåîaÞ\8e\90bLT\89-c\91ɼP2ë³ÿͪHW\88\12IUÚ\9b÷°y[\95HW8Ûq\97ê¦ÌZ¨
+\vT\9d[+Í\ fihÑ´SÖ
+ys)¼ÍpÆ®\9c\95\95øÁII:Ù\14Ê¢&ëµ65½¡­´'\1d¿ÀNT²\86\ 3\94s\18\1eN¦à\ 6\90¿Éù\ 1[jG²Bl\v)\15\8a®òb       \ 43Úê\86ªÆråí\1eÒ²\ 4>.[`¿+R¡\96\bÝ\99\ 5W6Ú|'a\9eâ±³½)ê\95;-²ÌHkIçø\88\82B\85s\ e´¿ä\92\8b\80P\88£Oy\81¨<Kü£\ e á Ý=Rô\17N\9f<\9a¢\12fë]Ì]YN`O¢p.$\0þV«Úè²cóQ(Y\ ef\ f>ÛÁì12z0KÞ>\ ef.\91h0+D©\97\96cüR¨Lo,]_\90FfáÓC2¤DS-\91ÈQÖ¢\94\8e2\¸V\1a\16j\9c¡C6×e©A\96%\95 &÷7ßýkYê\85(ÿ\86½\94û\92³\14pj«Å\90kßÉ\12ÈJK¿ñ·¯>\ì¦È ²É\93Ñ\87ö\86f
+¼ã´ö\11¾öW÷\ 3h\7fu%ÑHÇ®p\8d%\b\12\ e\r3G\ ey\e+\v\9fEm[~»´\7fÐ\18$n(8\9a9Hî?Ï\13\98Ðí{\9a¿O"\83"\14L+dã\9d\1eô¤\0\15\89§\83\1eB\92e\1e\86ëB\a⻦Ýczê\91l·õ!r§'¤×®bBù\ 2\1f·\10\9a!\9b=g\ 3q+RÕ"ëD¼áNÊEQ2_l\8dþî\ 2\99¸²¡¹   m¾\9f¾6\95J\98B[ÊQ\vÌ\1d\87\10¤\84E\82ç\95Ó\90\85\ 1õ\ 1\1dÈ\8e\85ÁtÉd\r\7f8rüN'Àh\81§\8d 8kÀ\\18Q\\94ØQ×\17ý0&\18¯øíC²\9f^^"\90\88S\9eýÜ\13¶ã\93Ç\9cë\93\99\82G\9f\bzIÃÉÿdBíØCäÌ \bU\88¿ã\17Áz/Ö\15áÕ\87k\1aC½YÆ\agç~\9c\8f/\87Ó!Í÷ØÝ\ 6\88\99ÍP\9b\8f\9fþøýÓÇÏ\8flº½\a\f&¸Èz\80©\ 3äYô\8fVêY\9cw"\0\fº@2\ f\1d²B=\97\96S\18%!5L6\1fÄ\13ýó\86¹Ï<\16t/,+\98Ë\13\7f¿\9e¢|íÖÆðx\89¦~ÙñÊ\16,\8f'§Âqì\a\9b\88/¥éc\1aÖ\90ÜåÊ%£hW\ 4×ëÎB\1c:ëRl!\9bÜÑÐ\ai¿¾ptè8æG\9e=ÁYå\13pl@\ 2\88\179b\17*y×á0ý\13\8cm\8b\91\96\e]Q©SÁºë2\ f\17¡\99¨0ÚÕeæú«K\Ç-·9\88\8ef£`|\9d\ 5{it³\1e\82â\9c\ eÍ\88\89\82\9eq)pèe\8eû!\9eNº1-\89%!¶ý&.BØ5\v«9Ñlï³O\8d\12¼Á9\16 @j\e\1cñ\19\18\ 3*?EÂæ×ñËi¬±J`Y       p\1fD\19@åÍ\aýV\89ï\90µã\84ß-\94<ÈÄ>Ìî ¼\ 3ú\90óØ`íýØazܽ[¨Ð)q\87ñ²\ eÖù¡\8eiäNð.ØI\10\97¸&ÇÍ®\81ή\88N-AÅ]S\1d\1dpÔN¿ã\93\9b\92\81Ýï\12A\83\ 2o\8em\13|þPB\9f_\1f\ e\83pË,Gp8¨Ââ\9aÀîáùHµ°"\8bÒB\90ð2"\8d\ 1\9fÜ\ eÏÁ\1ck\1e§R¼1è\8dÚÓ
\90É\80d­;8ðÂ+Ý\ 2\8en}\ e\14·Þ±Ã_BeD×a¤OÂH§ðs\98ì\ e\1c~\8b\1a\r¯xvÇ\93\a\19þì`@\aÝ\17fÉÏ\ eCËK$]â%czq¤,N=\9e-Jx\89rlà±\egÉÓ¥      /XnÏÇËØ?Mad\10»«°m\8e§x\9f½:Ã\9bëØ+Öüæþö\86°o\7fÃ
+\vUð¯\9c»·ÌA¼0¸\1c\ 1ÚìôW$ò|z5\9c^L °|ñlÂi¿Oz\7föþ\ 3}V\ 5Gendstream
+endobj
+1757 0 obj<</Type/Page/Parent 1476 0 R/Contents 1758 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1758 0 obj<</Filter/FlateDecode/Length 1325      >>stream
+x\ 1åWKoÛF\10¾ëW\f\rX\14\92\ 5¬Øn\8d²\e\11H\81º\87\94\18\93\\87KZÑ¿ï7»KF¢\1fm.½4A`\aû\98Ù\99ï1üÒ\e\92\8f¿C\9a\8eh<¡(ïù\9eOãéÌ\9bÐÉl\8aßGøWJJzó 7¸>¡á\90\82\ 4G&³)\ 51a»ïS\10\1d.ä×ê\98¶ª&½Vu\16\93,t\8d\83ÕZT$E´&\95à?\92t\1d\16²Ò\14©¢\12i¡IP\8eå´p{#Q\90\88*\12¼\92©HdX×\95,),ÕFãg¢Ê£àsϧþpì\8d\90Å!ß»QåãªTõ\93G\17Å\96n\97ô)-b\9c E0\18ý6øã~0òýq\eÌ¥\19J\12a\86Ø\8ab\85\ 4S}Ì¡7i\96µ\17\9c}íÄs kz8\14Y\85÷®Öü6\8dkd\11ó]+Y¡l¡R\95\8c)W(\84J°vLZQZý ©P\15J\81²\bZ)\15S\1a\a\84¯z8ò(PH÷\11\19vâ/E\1e
+B-\9eQ\8e7ª¤\91\ 1×%QY¦6i±"õT¥
+\ 5O\v³ðç*S¡ÈþÂ=\11\rÊC\ fÍI(IQ\97\1f9ôàÚ§3Û÷þèÄ;á\9a\93û\13«\1cmlzt\8e\875ÉúÞlwã^/Ïi+õ\e\e\9fJ\99ȲäÂÙÆ¿·YiÊä³Ìè\9c&§6×o í\8f&\9cÁ¥2åvýeüØ\96\0\9bx5\80·WOTÂàÕ\ 2õ\98°\euÜZHlD\89_ªµ\834\16JRÜ\85Í:E3ÓöM\r2\15\ 1\87½ç;({®\ 2£\89­i\80}\a»\e\ fèI\94"\97\f\7fÁ}Ô.W å]\92\0;|W·\94\a\14     ¬\9be\91\87\ 6µ¨L\ 4´µL\93Y\ 3\8d\82t%ʪ~"Á\0ç»\9bÊïæ\bÐ5\19®S\90B\16\86\e\0½Ñ\81´jZîÊãH\bxâÞí\8b¸º[ \9bÄHÌZ<#Í\ 2Ìné\8c®qV¶i6\1a\8bÑ&Õ æ»Màs\85¹\96¥'N5ëA'O\v\90¤T9Ú\19©\9céô\ 6ïÂ-\bUU¼\83\13ú^úu\ 2ëÿ\86\8co\92\v Ðìͽ\r °Ççg\f®Ïh\b\97`»è\8f\8dh\f§ÞÔ£¥«\ fÐ4gMçZ1\ 2èòîöâfaÏî²x
+;\ 2\8f\ 5ÔTÄ1\9fÚ%®æ>\8b\81\8dK+Mm\7fóZWVx¡\8d\få½óÆq:åß\17·\86µ4ßR,\13Qg°¼½\88÷e\9a\8brÛDþ\0\8f+¡¿`/\8b\ e\1eh3*@ih\ 5(m\98ÑE\9bÛõÒö,®ù4â\82\879\93\ 6\9e\9cc\85¥\14\8f\94&ݧ\95r\95²\87¢FÀ¤½¿óÔN´\85¬æ7wK2©>\1cÚÎü4\9cÿüpd\ 5ðÓÍb\89®áV\117Öq\7fù¡ËØk¼»±|\85à,¦ \19§ÁÊë¦\80\86-ß,\9bp\97!e.\f¡¸_ûÝ\86K\e©|÷\1d¨±F¯tT¦¡\8cw\1cuï2\94kWu[\1dú'\ fí\84þÿ8ªcb£®V\8f÷K\9a@ÿí\ 4Òº\881Îvvj\14\9b¹àd\9b\15»é7#\ 4\1eÓ)±ñú]Ç\ 1ça\8b\80\95\9eᦲx\ 2ÃøF\96õª6ó%@WÆØ\8cY´ÍÃ8\93\99÷\8c´;§îÄÝg\af(3Ìn\89µ¨¬\8b\ 2\ 1=b¬\9bY/\96\18m3\r\843;5\fÁÎ\0ͤup}÷ñÃÍâ\17Z^ÜÎ/(¸£ùU'`ðë\15Ý^,\83«\8f\a°\1c<±K,×\ 2\1dÚì?\8bÓËe\1e2óÝüí$\r©a h¨iå\84\8bÅ'Üàîf\9eNb"Û\88­æ©Æ½\9b¹üÂ?\1d\16\8ccVâ\91û\81I¦b\99oÆø\ 6\16 (¤\f3\1c&üÖ[;A_eç\8eÓ~¯ËÒ«¾zÚ~Ý`p´\13\99«V;\88\16\f·\9do\12¶CzÕ$é¥\1dÎÜýà   ¾¬fc\9aLO­±Y\18Ü\97ê3æ-ÈsTç\12_G<\95s!úÍ\81þÔÇ\18\1e\1fþk\e=\99àKît\ 4\ 3æSã1ßv\15ô~ïý\rZæpQendstream
+endobj
+1759 0 obj<</Type/Page/Parent 1476 0 R/Contents 1760 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1760 0 obj<</Filter/FlateDecode/Length 1558      >>stream
+x\ 1\8dWMoÛF\10½ûWLur\0\9bÑ·äC\ f6\9a\0F\e§\85T\b\ 5|Y\91+qcrWå\92Vôïóf\96\94¥µR\14\86\9d\90\μyóæ\83ÿ^\r¨\8f\9f\ 1Í\864\9aRZ^õ\93>MçwÉ\98Æó\19þ?Äo¥i#\ f\86³\ 1\a\ fË«\8f\9fïh0£å\ 6¶¦ÓI2§eF°ÔïÓ2½\1eÌ\92yB\9f]\95\1a»%¯Êµ¢ÚÑZS\9dk*\95¯uõaù\rVÆ4\18\ 4+·ÃY2\85\95ëUÎ'SWj/Ç{á<­+·÷ºê\91ñ\94iX(\8dÕ\19­\ f¤,éB§µq\96v\95Kµ÷Ôxv\8dwT\96Â\9f\93Jóã9öÞ§ÛÁ(\19²Ï\9dJ_tM©³µ2Ö\93\94k]\91ÛÐNUªd\7f\9eö¹\81\8d£s\«\1a\1euª3mSMÏ×k£üó\a¼\9f;_\93Ï]Sd\94«WMÆr4\91ß\ evB\ f\aØݨ¦¨i!|5\1eñ+zÕÕ\81
+·?u£l\ 6[\8dÇ}>Ô\19\ 1]\8e¾5ð«Ö®Á_{pVã±×Iëw8E\9a\11ïã\86\ e®¡½²\9d;¼º\aÄ\13[¹¶Á\9a\a3\9c·\9e\83Gýª\8b\1em\v·V\ 5¹\9dp\8e÷|¹NÀÞ\86! x³ÍA^à°óÝqýXw\91
+à~B\7fK®FcÚ\v]¥z\ 1]µàQEq\82É\81\r\ 2\ 2\80¨"\7f\80\94J𮿧zWww\99À\88épÒÿòü!¢âþ4.¤{\18¡XkäxµYmÁgF+cï&7´\ 6½ÖÕôeÁw2\b\93\9e\96\1f\87¿ÓBW\80\97ÐýÉ£\bÉéAÊ\  Á\89ð*W\14\bIò.4ÓhØq×åm)åóÝ\94MI]6¸\1e\86\93I\14Öi\86\8f\ 5¸AEê³rAÅøZUu³»á\1cãªK6d½ÑU\85
+\võ÷ßI\8f\1d´ï%­\92÷\ 6I\14ãR\b\8a|\ 1}@\9fÙ+ô§¶\9a$¯!£;Wk[\e\88ë¼ì¹\17 \11
+\9d\89\89\8b\1cG/±¶¸é\80¢c\19CWuN),Ý\90òdB)\b´zï¤p=\14µÏµH\f\7fÐaà\16å!\89¾\9b\90«\90îÈ3î    Ï¨~\90\8a·øR£DSÄâ\9bµ\ 5±kÄ(\f\v\84Þ1\88#Ũ\1e¡®MÆNWÆe\ 6\16
+îr\99èÄØ\86¯#÷\ 2S\98~\9fd\bÌU\19´\ 5ó¡³
\0í\9c±Xp\17e\84>®¨×J÷üý^\8b\1cå\vÎÑ\19]Yj\9bAE\92>n:ªðNHx\8b?\8a%\98ì1Ü\96\r V(\8cv\94H\98¬\826\18Õ\95Ñ9\16\ 2\13\12è>w\ 5D&\89®è\8fû'Ð\11¹\á&\94\10`³iA©ÚôEv\91_S{r{û6`\10®+T\8d@C®ß\11)\84ì\9c÷f\r0\b\8dÛ¥Ù6P\16Ë.Ô(æ\eÚ\87ôEU£³¡¥\9dçì"é\12hGBç¸k·K(qc*\9eFb<$"\8c×f\aU£8ÛÁ|Ñ8z\19N´íV&S\aR^}\83\191z"´\8bvÛ>>!\8cñ¦Ö\18Ð@z\bx6(µ\80S!\17ÒèO<³²TQi\95\1d\91ßËθxBu(S°+î\b\95{5\19OÙ¦F\e®M
+Áf\8dÍ\94M\ f7Ýð\86\aJ\e4B\8cÊ3Û\91ßv=¡\r;àg§+Òíh\1c\ 6/6£»\84¾¨\97\93Å\b\ eÞ\19¾¸\19\81 ó\93¡ÆüÎÙ *\16|\8a1\82X°ü0ò\80\8a
+\83\15\88+ Ä\82av\10`P©'Ô¢T¦\1cä·RlS.EÄq|ºÞk\1e\10ÒÊ\90®\7fPË|XÆu\90¯JQ8Ü©c\9cXÒ0X\ 4UÔ7~%\1e\15Ø\8e"wÝBq¶\19ÉR\05\86ÚG\13:ã­S~7,\9f0JBpÜvÚ]ìéëR\9aÏB\ 4%Åu\ 1/\13©°\bT/ÛÊ¡J\84¢¼\rMúºåæ\8e\e*\ 6þ´¤ßd¨ÇpV2^Å-Ä÷\9e£°Õuëq·î\86E\b1s
+A?#kÛ\91²Ö5X;Ñ`\91ÜçëReq1\0ü6Çì\b;\13\12X`\13m\v\ e\83jS¹òb\8b\83\ 2`ÄP\vù\96ñ\83\eaWáDã¢Dw\8aóv°i^9kЭOÅ\17³ñ³Áò\9e\17\b\1cÛ­F\17;\e!|úd-å½\934XÁ?HmP&:l\84\96'\8b3\16\ 1ô\a^}ÞfÒ¥\99ìh\8b3Aë°\8f\üt\9d\8aã}\13#¯´\b\ 2̶ÍþùÚØ´h²cKà\ f\b\1eö\85\91̶ÊE\93\ e\1f5\8aV\8fO\8böu\8e³Ò\98=Hì\93®\1f\1e¿.8Ú\8f\9fçí\97Õ`\8a\8fºù\88¦3Ùü\17÷_\1eîéÏÊ}Ã\a\13\94\9a6,\1f4\f'B¾í\8eßÎúwü¥ð\7f?åÆÓy2\9d\fñ9È/\8dÆ\fâÓò꯫\1f×ËÊ;endstream
+endobj
+1761 0 obj<</Type/Page/Parent 1476 0 R/Contents 1762 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1762 0 obj<</Filter/FlateDecode/Length 938       >>stream
 x\ 1¥VMoÛ8\10½ûW\fri
-Xª>\1cÛé­A·@\ eMwa\ 3¹äBK\94ÍF"µ"U5ÿ~ßP\92£(Ù\ 2Ea\18\96Mræͼ7\8fþw\11S\84WL\9b\84Ò5eÕ"
-#Z]Çá\8a\r\9e\13¼\eIE¿\10¥¼üz!M6áv¾p³_|ø²¢8¦}\81$ëí\86ö9!A\14Ñ>»Ô¢\926¤Û\82\9eLÛPV*©\9d%\81lF\97OÔZ¥\8fth\8cÈ3a\1d\7fq\ 6X¬)\7f\93îæöÛ\8e|\94\93Ôä:\83\al´Ô©²$\93emóñýþû\ 2µ\ 5É\1aEíóK\9f­4\99(©B\Ùp\8eÎÊf8u\90Ôjq(%§+\94ÎIPn*¡ôlÿ\92\84\86\\f\19GKc\1e\81\80\93F\14Äi\98pN\ 3p'^䬶=héBÞ\12 9ã\9e8$þ ¿\9c¡ª\ 2¹ûÆÐIÔµÔ\96A\1d¥£\93)s2¼Þc\v:\95Ë¡\12*\95u@ç¡·¨\8c\84s²ªÑ]\9c\16Y&-ú\8c\10Ö\91Ò3¨î$Ü\10`¬íEGF\ 2¸\9e)       \fÆ\9få°¯\8aKúâ\82ä\8a\82ô:\sSn\8b%0tò\87l\96t0îDVT\aáq¿\92\ 6A÷·w;BIþ\10³þÛüfF;\919OÈ$\1a§õ\8c\96\ 6J\ 3³=\98\13\9e\1ayDCe#ó¾BôEÙYÛF\1ef\1a\818P\17÷j\92jÙ+þ-\röbjd&\15Dî!¼\83Èj/\96\89 D\9e\83\b°È
-´oëóL¨ü\89ÂF\ e:\9e\9b³Æ\86¼,\8e?UUß©^\88ÊÍáûñü?"&Sþk\91qõ#[géaPæÜLøãf½Pí\99\1fôzF\12'÷ÓãÑb\bFS°\12ÞÀcòBêc\97\a©\7førM1\1c¯À8Côë\b\ 6    Ñ'Q\18G!Ý\19ÇñLë\9e\1d\8e\ 6R¥Ç?µÎ\0ö:\8cL/\1døGg\9aG\86Çd]D\17t\10\16ú<Ûå\18\8c\1e.\vÓ\90ü)ª\1a\96\ 6G\81z¥Î¡\e&>zxÏêÔ\1c¶×\9eu\8dz\943u×\8d\81!V°ë{\18\928è= \1c\eÓÖ,@\0ÑÆa4eÅ.cÛº6\8dã\14\10ð\ 4\16\9c\8bâ©O½ÍrKgy½3³ó³\97±Õ{\7få\84\9dÑï`½@àeþÜm\fIºê\9d\9e{\rÍ\7fmK§|ñ\1aC\\bØ\1f§y³Á;ï@Útc\ 1\16\ 3\9dáNAy^*Õ\18l¤@\9d\83\8ew\19\14\88Ù=o|Þð²Ó³Rµd{1L)ï£\8bçs\17dj§p\87\802[\1dB\f\ e¼Ö\10\7fªc\8b\v\13\aª\90vÐå¸þpy\ 5j\99¥\:¡J;´i;ÜÇñ\1a·û6¥t\13õÍÚ}úzó\89þnÌw  sül²¶Â},8/#\rÆ\ 3Á&ºþ-!¯ÖÛp}\95à\1f\0ä\1f§+\8eö×~ñÏâ?%h³\8cendstream
-endobj
-1764 0 obj<</Type/Page/Parent 1479 0 R/Contents 1765 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1012 0 R>>endobj
-1765 0 obj<</Filter/FlateDecode/Length 1412      >>stream
-x\ 1­VM\8fÛ6\10½ûW\f\90C\1dÀÖZþÜ\r\90\ 2»IÝä°(Úu\11\14q\ f\94D[L$Ò\15);þ÷}CJ²£dQ\ 4h\ 2$\909\9c\997\9c÷fþ\19Ä4Áß\98VS\9a-)-\a\93h\82\7fþø\95\7f¡Å"\8e\96TÒ|\16Í\9b\8f\82\9e\ 6W\9f%Åq\1c\ e§«I4£ùj\8a+%MïæÑ´ùâ«×ß%ͦKø\ f¶þôv\11ÝÑ|q\87;8\8d\93ÿâÓëo\9cÎ}\9cîôa3¸YßÑtB\9b\1d°-W·´É<$ü\92\ eßäâàdEÓ8¢wÆ:¥÷$èQ¥\95±fçè­²®RIídFkUÈ\97\9bO\83     \8d§sx\19>\9d­\93%¹JJ2\9a\9eD\99\b\80ñ*\ 4\1cÏ\18)\8c\11\ 11Þkø«S§\8c¶Át\8eR5¦Ó\15`Ãt\93Ëo\ 2S\13l;4\15½ÝÙíK:Tæ¨2i\91p)\85¶dvdåATÂÃpðR\98½JEAG%O|¼\ 3\ 4Øë\8c2UÉÔ\99JI\9f\a0ų\90¨Ë\85£ÚÊÊÂ\9b¤]e\0\11¾Dêj¸:ägë}\16&E à`Ç0°\92*iM]¥\b\81\1d-ÝÉT\9f\81Û\91(
-s²´Cþ¹Úç²jjÙÆ\15
-\91¨B¹ó\88li\f<Td\91¤ØK\92_\ eÀ\88x# \12\19\10:å÷\92.\8dh\r·¥©$)\8d\b¥Ï\8cDbj¼áÎ\8e\90Ú\ eÎ\9cé\ 5½¼tfÒº\94Úù\9bQc\86Fô/½É\95¥Ö\82S)\84\ 2ðÜ\9cà\12ÿYÀã8]/\búS«/T\8a4WZÒvÈ°a0\16'\81$ÓB!\14Ì\r%\15ª"ñ\9cµ\ 5\98^z¾¥¾IÆ\90Ô")$==>\8c\13\9bo×O¾²þÂ\88R£wj_s9\1c\9d\94Ëù5Ø÷ÍZ4ý6¤ñ\98OÆ¥Ív½^\1c\929ðÓFô\9bN%%µ*Ü\b\b»\ e¿j\17\11\95M\85¦D\ 2p\86Nñ¥h\ e\923ÚÈu\1d¹/\f^\8e\12c
-ôl?%_Éï&Äm]J¦ª
\15®B­<{\86¶L"F\1d~nI5ô\1dß\16°í´¿LMà\8dÚká8[\9bó\9b\b&\12¿a\85Î\v¯á{8\9c\16ò(\9fMÛgìïõÃwiGt\7f\92ïÌæWµlEÄw\94õö\85Ò\9fm\8b\99;Û³ü\&¦P)\85SÏØ\83QÚqC5´ñÏb\ 3\17Q\1e
-ÉOh\9b«½Èì\88Bò]I?ÕÚ\vÕøg\8fïUÃÄx»õ%\89ûX\9b\87     õê ²n ²èuV5\94·u\eÑ\87\ e¸ªÀ·\14\11\ e\1a{ðÈD
-i      \8eZ'¾\ 2#ö}&~ÄJ\86À \ 4JÁ![ýhå
-\ô\89\82Ð)¨3ê\15b\8b?} Û\97m\aµzÀ8Xö½ÐyV\10ë\ \1a\84\8e\81ö¨^       ½gµòzúAé\8cÅðnÁiN'\93I?Â;YÉ\9fXª¡6þñ\82º\a\87¦UÛÑÓP\13Lc2z_7ë      Ýµ\83e\1e\ 5m¸"\rU<7^µø'\11OÆáÇ@п{?Só\a\82\9e(cI\83\8cô\9a\9eî\1f\1fî\9f1½p\19w_Ó¹\e4\98\84~Ì}Ìvö¹8\a\ 1ÍzM7\90ZS¹\eX2+\9f\89t¡ß%ÎͺÕ\0t×l\19À½\ fÒÑóÚÍÂ3\9dP\1d   ò\1f\bs\8c\10µeX\8fVýùÆ\89qÁ/£¼\19\1c\9cõ\8bp\1a7§³E´Z`\15A±Óì{\b/\8eÆÁvܶÝ\7fxÃ8ÒA½z\b¿NïG½\96&£Õbñ\7f¦Zh\1a[úJVî=óX\89ï}Ñ\9bMª­é\8f\95\7fÏ\89\87Îý(\90äM÷\83\ f\97\84\1aµMÓ\ fÇ#Ãæ¦.²¶AX[\ e²*\95å¥$,U¨?Ö¦\¡}üJtÕYPA¿[^tÐ\8f\19[§<\9b±q\19]ôÇA7£²f\1fã!\9bV\12Sk\84\ 1V`\1c\92_{2µ;{±\vLðS\ 1\ 3§°\86´\81\91\ f\0å÷*ÏÔÅj\17À`dC®\18û\95\bcO\93\15\8bc\ 4½\80N\16ªTa/\82\18a!\ 6\ 6,=â\88\ 5\84W^\12G£ ·ÕÙ#\84úqmø>ö\902Q\98²¾B¸´\a¹\80\95Ï»\\1aµº½\90g6crüèjÞnÈ­&vËÊ|y\e-\17Ó@¹x¶`´¿l\ 6¿\ fþ\ 5¤ÂõÁendstream
-endobj
-1766 0 obj<</Type/Page/Parent 1479 0 R/Contents 1767 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>>>endobj
-1767 0 obj<</Filter/FlateDecode/Length 689       >>stream
-x\ 1u\94OoÛ0\fÅïù\14¼-\ 5j7¶SÇ=¶ërÛ°¡\19vÉE\91\99Zm,y\92\1cÃß~OþÓmY\97 \80a\89äã\8f\8fù¹Hh\85oB\9b\94²\9cd½XÅ+ÊÓ,^ÓºØà9ÅÏ2\1d\87\83Û$\8dÓË\83\87Ýâf»¦$¡Ý\11¹òbC»\92\90gµ¢\9d\n\95\16§SO\8e\rù\8aÉõõÁ\9c\94¤\93Ò¯\8e¼¡Æ(íÃC8Öì;c_ÉU²£Þ´Ô       í¯Iè\92\9c\17ÖÓ\93¨\ f"¾Ú½,V\14¥9ÔîÊåwÇÖ\91Ñôxt\91è\10Lò¤X{GRhÒ¦£\835\9dã¡
-.\91·Ì! T\1dRB¥=³%ái\8f\8f\veöûòèbº\97\92\9dSúyT=ÕN2\0AíÐ\89 c\87Ã\ 3í\97]¥dE¢iX \9d£RY\96ÞX\85\8e¦>Gqû+òâ\15oÛAþx\ f¼¦KÈ`Mc\95ðà6\ 2\19\ 5_\b\98 \rLn¶w\94\0I\18G\94%#\9d4\89Ã\97¾\18Ï.\ 4ÿ\1e\1a&\1f¥ajË\1fJ\97 ôÆM3\97\81a\82\83AhIêH\82\1aËgeZ\a¡µiux¯\8d\8e@jTIÊQ-JÆÕðÎ"4Ð9+É¡v\ 4a3:ðv\ 2|QÄ{°ïD\1f¢Q\15\9e°¦leÈ¢¹\9b2\a\17Ô F
-\8eÁàæüSërrb´\89\8b\84æ"û4ßÐß]\ fçoæùØZ\v«\ 4ð\15[þàP\13îóVI¯\ 6âðDí\86\ 6û:\8c\9b´¨16W\99öT\12<\1e(\9dLÇV
-ÇïªÁB\94ËÿJ\99µn\ 1ʱl­ò=5­m\8ccw=ö:¹¨'\ 1Yð"\9c\15\18\8c|\8fÃóãlìIY%Î0y§\81¹RMX¢\vë4lk\ 5k\e\8dn°¥.¬!º5\1a4JvêYÃ}ådаJµ)Õq u¹Ëj\¦Ùíý»\18æFÿ QLSK²".î2J6i\\ 4ZO÷\9f\1fîé«5/X\1fz4²­1&\11f2\18)Éñ/Ud\14mVwáþ?6_çE\9cߦX\ 5\9c&Y\1e¢>í\16ß\16¿\0\8bEendstream
-endobj
-1768 0 obj<</Type/Page/Parent 1479 0 R/Contents 1769 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1769 0 obj<</Filter/FlateDecode/Length 1138      >>stream
-x\ 1\8dV]oÛ6\14}ϯ¸\8f)\10K¶äØî\80>t[]äa\ 3¶x]\87u(h\8a\8aÙH¢JRqüïw.I%\8a\8b¡K\90D\11/ïǹç\9eë¯\17\v\9aã{Aë\82Ê\15Éöb\9eÍ©¼¾Î6´Ü¬ñ\àÇ*ªÃÁb³ÊÊó\83\1fw\17ùö5\15sÚÕðµZohW\11üÌñF^þt\10½W\96\8a"£[/ä½Ø7\8a>lo©5ÕÐ(÷j÷%8X¬£\83Y¹Ì
-¸¸Ä\8dEF7\9d·0\94^\9b\8eDW\914]­ï\ 6+øM¼¼¤Å"].ÖÙ\8a/ßêN*r¢Ý\v*³ùUztCß\eë\1d¹i*\9f.?hë\aÑÐV#¹Û\93óªýôjÌ\10\89\a?½pN9RB\1e\80É×A9OÞp
-s\9a\98µ\90R9Gþ hèô#ÕìÑ\ 5\8fxi\87\18Q©j\8aBF»\83v$\13ZÒ<(ëH4M°OPáYx\0Ð*:j\7f8\8bÌ!cÁÎ\f\16Õ3ZVÕÊ*`\81\94\f9¾ª\1eÑ\8f\ eÅ&¯YòS¬²%C÷\97\19¨\15':\88\aE½5èW\en#pÏÕ \90Sãí+\12@ó ,êiôÞ
\11\vÿr\9el^\85<\1aÝÝãQwTé:¤äÏÒ?\8a\93#ôøé<¡æ\18\1au"9X\14â\9b\94Ø^©\8e<ZÀ\ 1î\84îÐ\8c÷¿þ\91#Ðð\18BÞü~óñ¼¶\9d¡\ 1¹3T\13
-^\91´Jx \16+!§[Ý\bË\90±©é\14íUc\8e!\15Ò-sHt\9ezaE«\98Þè\1d,¹¤|{\9dèxI\ f5JÚ\7fQ2\14\9bo'D\1dùòìâxРV; \90ÞhxOÑÕ£\90\1cÊ\1f:\ 4#S\87\9c^@~JQ\80ÕÖXtX´}£®ØCcî\ 2\8d"/Ï0Ç9ó\13ý\ 2U\18\18\ 1ÂÈ\93D\93÷ºû!\963§×ãp-#C(~ý-\86\7fF\9fs\88\ 6è\93\ e\9fþ\80\ 6-úFoè-\9b£]y%¼@\9f\11Ê\e{úÎ}.\1c\97Ã¥ï\98>ÃÍ\17øbîM\1e²Ì\9cy~\93jÄ»ï8<Z$\1c\ 4ë\r\9d¢Tñ¨ÿG¥{k\8eîÌüEÏ\8b M`ó8<aN\80{\18\8cÀ4[\81Lx:\85#×+©k­ªs\1eo\a\v#K\95\91\ 3£\eÄ\90§\873ÖÝÝ\94ÝT\83\12QÁ¤è@d¼\18ÐoÌ"\87\8c'?«\a\10¼gÑy?èJ\85\80¬ëSY\ eò\0Y\86\94ßt²\19XÃÎU\1c\ 6få<
-q0\87\8e\87.0Ü/\11\81èW\97oyà@Øä\8ci\eÌ£x\8e\8a\1ag\11\94®\85Ô\8dö§8\91µi0\9d\7\97\10À\88\1a\ 4Ó;U\ 5"/²eYÐ\f\vb\83¿\88\1a&\883\9aqOWÙ|uͯ±_:\103¯´K\8f#I\9eL\9e¨Ëá:\97GõÈ­j!ÛßX\87\rÀ\86¹l\8cS0ã9Î\87\8e51\97\a \18q\ 1Ø\ 1½YJµ,ÆT\ 3\88@=\117\9aOĤH0¦ó\19\86\17b|?\ 2
-Yøó\0¹\fL\13Ý      \9b\89c\93äýrÔø\ 5R@q\14\ 6\96uTì(\f\Q5*Ñ$üdã=£Á"¬DÅ\12\ 5yævTª\81<~CßÛ¸\86áÙô¼Æ]\92\9aÕd\91§m\84\99þ\9câ~fM²ª7N\8fºñL&||yÚÁÛ\9b\8f¿¼\8b \8d\1egÓós\9f÷
-e[\95ä{Äuzcâq\93r\f\1eË2[,ñÙ£ú\7f\9fs\96«M¶º.0\1f¸±(×\9cã»ÝÅo\17ÿ\ 2³üé*endstream
-endobj
-1770 0 obj<</Type/Page/Parent 1479 0 R/Contents 1771 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1017 0 R>>endobj
-1771 0 obj<</Filter/FlateDecode/Length 1271      >>stream
-x\ 1­VMoÛ8\10½ûW\f\14°iK\8a?\9a\9b»m\16Å6E·ñ\16{(PÐ\12\91H\95¤ì¨\87ýíû\86\96[×èe\81 \88\13\8bäÌ\9b÷Þ\fõu\94Ð\f?       -SÊ\16\94\99\98Ñ<Kðy½Zâ3ůSTÆ\85ëÙL¼øÕBºZ\88ä\17\v\b.fÃÇ\87?Fé\1c»Òl)æÔPºZ\89Åð­¦ûQ\92\8a\15¥I\82-\re\19\12\1d¿ðÚÙ×\ 6XÅòl\8d\11¯R\84¼\0ür3\9aÞ.(IhS¢ÆÅjI\9b\99Ñ&¿Ú\97þ³Sy\9f×êóV\9b\9b½r^[ã\9fo¾àÜõp\ e¤L\92L¤8zuûæ\9f»×ÇåSØÉùúeÄ`»¼zºp\8d|ôú\9b\80ê1¯»âé\ 3~.´{:\94Æþ/e^PrÍ\82Geàc|)®ÒT¤"\13dT\90\ f\9bÑ$eo\­¿o Æ\16]­Æ\14*\19è ë\9a\94ô\8ar;Q\8fÚ\aerE¶$/\9b­$i\8a\1f'K]+ò\95tÚìÈ+·×¹ò\823r\9eÅ\11кØK\13äNy\84lZéTAÁ"\e¢ÖgÁ\8e0nø4JÉRF*Vø\v´:Pa\957¿\ 5Ê\11\80äÖvø×)\1985Ð\89uÛÖê\95í¶\80TZ÷àÇô¥ó\81\1e\94j=Y\83ôÚ\90ïMÎ\19&\0\98,Äl1\8fáQ\1dªPqG³\15¹5å\8f\84\16èqô§\f\86wWº@\19\8eö
-%Õ`kLÀ\1a\ 2fQ XÙ\ 5Û\0h.ëº?Ê\ 1å \ 2\94\e*Íæ§J!\1fÄûx{?ÈâI%\97¥j¯\ e\95r\176\8e\9a\80§M¥=\84È\ 3º\elGà\88\10\91\rDí¡\96íÀ\b\ 4p?%\8aúWr¯h«\94¡ÖBû\82¶ º°\91ùÎ9eBÝcHzÔ=è|\1a\19`\83\8f6ùýã=\ 5§¢\14L>\8eH\ fL6ÀAÇÔ\9f®\94Ø       ¦\v\98±Ú³l1D\ 3º\99\ 3«\11\11×\85U\86l\ f\86\10þ";'ûôüÒ{ï,y´\81jT\0\rÑ4\8c\11϶ºÖ¡ç\98eg"_2>\90¦\1f\98\87%l\a\83BGÝ´µ\ 6\17\18\91\16\1cÄÎ`=bÚéí©\1f!ÈY7f"\11ô
-½¸EWÝFÜ?fnÔ\8e\95ûûÃÛ\eªBho¦ÓÃá rïE\90}m]'TÑMÿUøW7ÊM\8b!Té§Ú\14êQ´U;\90qj¹\97=½v:§·Ç#\97¬¼9r\1aÛ\87ýyæ\ 2:T:¯bÁ Í0kTJí :7o­B\94²\98X\83GÜÿ¾\87M\1aAoÂÀI\88×
-÷×p\97h\ 3\ 1 \7fél\83\90§\1a\ 4ßÃpKÉ#ÿÒÅY³S°\ 1J9È\9e©G\vÙ\ 3\15º,A»\813\a2</n/-Ùy\94÷é
-,ì´áî£\ 2ÎÝ\19<e¯Y·\93F\7fãƸ{\9fyê@§Cp\\95\ 1g01<n5Æølí\ 2\9aÛ\8f\9fѳ{\8bý\7fªþ`]Á\ f\85\17\86\8c¶õ\9a\87§ÄhbûÀê\\ 2ì\87«\bà\1dw\18\12\ e5`\88¸\9e;A×=¬L\e\ 4¦Ç!×å¡ã!\ 5\ÀÇ\ 1\8f-w
-p\81\06Uu\19YdÓ\1fç+5ò\ 1\85\19àð¾kZVå¼5N±ÎòmUo1õ9\ 6L\8c9\84:\9cúÚ\81§H»ëÌ¥ÃÖè¢R©b+ó\a:\9cÚ\b<\80Z\8d~,nØNÑ`c\90¼Ãå\10\81\8c©\95\14\86÷\89Ö\12XCÅ\1añø\eSe[Uv¬%`4zW\85\8b²[\87[\94 =vE\99½m\14\8f >\ f\7f[\8cg\8f\14¬Å±\ 5 É^»ÐIìÿnÅ¡§WÃËQ²À\eâ*£E2\17Ë\8c;ö~}÷rMï\9dý\ 2»Ð+\9bw\O´9#Âõr<1YÎ^ðþ_]Ì×\v¼\17ÎS¼²aC\92­øàëÍè¯Ñ\7fëkJ\14endstream
-endobj
-1772 0 obj<</Type/Page/Parent 1479 0 R/Contents 1773 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1020 0 R>>endobj
-1773 0 obj<</Filter/FlateDecode/Length 401       >>stream
-x\ 1eQÁr\9b0\10½ó\15ïèÌ\ 4\81\ 4\96qnÉ´é%\9d¶6íô\90\8b\8cEQj\10\95\84iþ¾+ìv:í Á²zû\9eÞî\8f\84\87c#PH4}\92³\9c2\7f^»w\89X3\ e¹\96,G\ f.9}/\7f'ì#\1cëmÁJ\94Õ\86bAÛi´ÉC\9dd\8f\12uK
-²¢à¸\10ç¨\9b\95\10¬`\82áì\e5ÜÔ/\ 4.Áù\ 5\9c\8a\r\81W\9fwOwèB\18ï²l\9egfG=¨!\98³q\93gÖ}Ëba\8eTHÒ§\ 2¯ú\83J\17J\18\ f\85ÑYÛ¦´\1a;4z\fèíq:Ñõ¬Ã>\82o1w¦é0yí\11:\8d/\8f{<¯H!Lê\84Ö\10Ø¿ú ûç\e´Z\85É\11жWaN\1e¢ðÂEÞ\ 5û\99\15Ô\ 1u\1a\95áC\8bÆ\12÷íE\r\9d"\15\8b\83¦t?\12ù\11³     Ý¢ê§q´.0üíâ\9aôÿè\9d\95\8b¥\13\88-\1c´#ÃÃ1úî\95\19\ 2mb?¼b\17#\87'3|g\97FW×FsI\13«
-ð¼dÕbãþýÃ=>:û¢\9b\80\99zMLÁØeDéï\82t\93o#þ¿!\96²br-hÞtÊ\8bmÔ{['\9f\92_Ô/±mendstream
-endobj
-1774 0 obj<</Type/Page/Parent 1479 0 R/Contents 1775 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1775 0 obj<</Filter/FlateDecode/Length 1470      >>stream
-x\ 1\8dWMoÛF\10½ûWÌMIáÐ"¥ÈN\81\1c\924\ 1\f4M
\87\ 2¹¬È\95¸1¹Ëî.-óß÷Í,)ÉBâ\16\86\1d\89\1f;3oÞ{3ùç"§9~rº.h±¢²½\98gszý¦È
-ZÞ\ãs\81_¯i+7\16׫lõ£\ey\91gËó\eï×\17W\9fÞP1§õ\16AV×7´®\b\ 1æ¸R¾øP«.jOÅ"£;]öÞØ\1dÝ©v£^®¿Ë\9bùuzóÕb\89|ÖÕ\v<\9agtk£wU_FãlztIy>>Z\#C<º®M ë¢¦½
-¤bTe­+\8a\8eb­S\18ÔVd7¨®Ñ*hy\18O\ 62\91Jg£2\16/(K¦í\9c\8fÊF
-\92f\1chk\1e3Z×\9aÃÏéU¾Hù\19»u¾U\9cØÉ\11µ\ 6\80ªë\1a£\ 3' 5\92±!ª¦\91\87\11ÓÒN[íU\93ý¨úåX}\91Ñ_\81qª]\88´AÚ\15u\1eU>\ fÆ­¥VÙá,¦Û\8e©0";¯UÔ84Öü       é·È\16å\90ëc0\95¦Áõ\1eX´º2x\92¬\8e{çï3z?P¥·ªoâ\19\1a©Î½i\1aRe©;\81Õ¦Tq´w-Ð\1d¤\94KÚצ¬©ÕÊ\ 2£\1a    \98-G$ß[é\81\15ì5=h\1f\18ÞCòø,\849i\83\80\93\ e     T\19\8f\90ÍÀ\ráàG\12\80GÚ£\f\89S¢Ñ\eM:tº4èË@\ f\rÙ4ZZ\82ó\8b\15H\ en}±\9aã3l\ 1äh\1860\ 2\8d\91\89W2¡ð/ºÝã\13?9ã¬À¯¦qû\19Jª¦+\95¶Ã\8c\Ǭ\19O\98\b\1aÚM\86´·gÀò%³ë}"ÚÖ4\88àÈY$-Ç\vÜA¢KÓ\82ö\80mD\9c¤Â­)É+»\93B$³\8cÞYÒ\8f\8aë¡ÖìjðKÿ\9aÈ8§7\93¼\96   \ 2\92\8dåÐ[Ê¡;(;Ë)\87yä«\eHk~U@\98ã×\85|\9d
-\99Cw\0r:\85!À!|\0~®æ)ꩪGMCG\e÷\0M3©N
-¾ûü~ꯠ(ä\9a5®T\r\177£o/\ 4   ·ga¶]\8fÎ\7f{)]\90G¹A 3´d\1e@î)ÍQÖ#Õá\98BÞ<\96Fï8\1d\1câ\9fd!Y\82T^oÁ\82êÉ=øLpÌ]¦»¦\12æ`Ï\ 5\14´­Ø\8e \16ãÁ±N\95÷:\8añ¤3U\93\90@\8cVù{¶+´\84fð=jL\88Ú²W°\19\81\17¸kU«g¤½wþY\9b\81#'\9b1,\91­*õÿq\99£\11\8c¾ò3ésÙhø\b+D3\ 5I\9ae1qáx,Ñw@%-\97\r[H\ eaÎ%ÁVQ+0CÑíÝo\7f zÖ¨Çׯ_¿\9e\0?\r\80\83ö\ 1¾ýït#X¤ùÐû0\99Áäù2hZ\85r\0:\1a±ç,9\9d=&Æôðä\1c\7fã:;MY\8böÄ+6\1a\89\e6×^¬}r\82ÆÜ'çØ:ö\f\195\1e0\fÐ\91\8eõ/Ô¸\89Å\a±m\0ë\11m\ 6\18\8eñ\96\ 6\1d~*8ö0Ý4a\9a\14£Í$rÉx\18mUd\87\8e\9d$²7±F\ 3\98t\84Yç#\93Q.Î\90á\8cB\ fÇ\aañe~É\7fóË)åQx]Ó\v\rX!\8d\ 6\ 28F\98X\r\9dÏ\92($\94`Ïþ`uòzvàJw"&d(\rúr'=R\98Ì\82ú%\8e=\vÎA\93Ûܲ\89cw`\9dº¶Å\19\12\88\87ãG\\94\19¢*Ùf$Ýß\8dí\1fÏ[\7f\9bæÙ4\ eÒÉ<\ 6\ 2\ 3\1f÷\83V¡ñ\8a\9ez\1a\13\17\95ù4ùá\81\13·\ f\80\8fp\9cU1ëºn>ãÜy4é!\19Æ\ eSOÑúÃ\13iL6åu×\f¼fá\ 5Þ\ 4Òr42 tX\ 5À
-\99Ë8\84\87»XØY\×avJÇ\83È\17ê\f\90\a\1a8\11Ä\82\8a:\851uÊ Ñ\8d\1f\89]`Ï)uHúã½òt;\9cö£åd\\8a-Sï\91\1eçuõét\96\8c\eâgö N;\9e\95ã+\9c\99\8c$^[Ò\1cå\11jð%A"@VÎ΢¨\1c\83?T\87U  ÷\8d\9fü\8d©iDa'+ʸn(Þg\ 6Ú9\aaVZ]\ 2PxM¿«é\96ö®\aRØ^À9\90\al§Ø2\80Ù÷ÞÊÖ\97$\85\90#[[(ÉÁ>\ 3¯ºê|¦°:\98õãÖ\88¤õ\ 3\9a\92¶-ì\b#jÜbî\91B\b¸*S\9dy\8alTpV¸}õéæ¸v/\17i¢?¿Ô/±\17¬^\17øÏ\0\86\7f¾\949ÿq}ñçÅ¿kÐ\b\9aendstream
-endobj
-1776 0 obj<</Type/Page/Parent 1479 0 R/Contents 1777 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1777 0 obj<</Filter/FlateDecode/Length 1162      >>stream
-x\ 1\85VËnÛ8\14Ýû+î¢@S \96\99\ 2]¤é\14èb0\19Ô]MgAS´ÅF"5$\15Á\7fßsI¹~¤\9dÆ\88\81D\97÷qι\87úo\94Ó\14\9f\9cV\ 5Í\96$\9bÑ4\9bÒb¹Â÷|Íß\ 5~\9d¢]|P,ólþ³\aùjöòÄûÍhòqNyN\9b\1d\8a,×+Ú\94\84\ 2Ó)mäͧ\1d\1dlG\ 2Ù½
-A\9b=u-  Úi§zQ×\14*eb\88Qª¤`éÉØ\9eúJ\ 4Ú<<\920%}ùðH­uÁóc\9cÁsþ÷¶¶ò)£Ï¢Ù\8a7\9bo£)\8dóYV üMç\15\82+Ld9\1cUßrÄäã\94îR\9fãb\8e!\11\8aä\93|¶"ü\8c  ç\90÷@¦Ù\96Ç\94Ól}\8a[ÿ6\ eM#ßÝe\9c\7f\99\8fãæóÅÏãÎ\11\1d\17K®¿Á4µð\81¬Q¤=é\86!\11&\90ðÔ\bs [\97Ê\9d\80\ 5Ü]Ë\8f0\8e\r´U$z¦ÁîH\87[Úëg\0\1f\18çP!\1f\1e¹¬©\ fÇÙ\a8EY&n\18ÒÖÙ`¥­I\ehF*tpPÂù,!|G9\14ÀR\18Ï\ 6\88\8bY¶Èè\8b\ 5}z|xE¾âVJeb©ËqWY\1c\18Êárbk\9f\155*T¶ôQG<\8dït\10ÛZÝrLÒ\8f´]]B\1eÞR[\v\89\93ÔX\96]«¤Þi\19«aº\98õ¬\89\b\81öW#G%`Bn!MY\1f¨Ô^¢\e\a\92\9dÓá@\95­UF\e\860JÓG1C¨v·\ 3\1dBJå£p-R¹4¸\87¾u\9dæ\a(W¥OGb\97;g\e°\13\0´F\85\ 3u&¸Î\87\1e\84U\ß\87\84=\10/\96\eK¥Eï \97·/A\83\91\ 5DÿèV¾ú÷ØÊ zVgª0ìÝ;Êï\8a,_®³<_dÓI\81Í/à øä¿>Ë<Ó;6\ 5þL¦\1cyÉyd<ê°\8f4\ 6\ 5k\88\9b\9d¦\88HHk\8c\92A[s\12\1c|D\94°\ 5=@V´íXÕ\8a\0\12ÕÚ\a\ 4DM\³üõ\ 6\1e"jÆ0Z\8a ø7äµ5*|}\93ÑÃYM&õ\82Äت\ f\1a½òz±Õ¨2£ûä=g\1a\838pð\bаU¼hÃ"\f\1aD\8a^\1c0\\14\8d\86¾Ñ\955\87Æv\1e±iO\9d}Ö%ìÍÛ\ 6\8e \9eUÍ+Í[\99°!±\17Úð@!\bù¤\1c×\16áª8äÁ{\14ÍV°ï9#\1a5i\85÷\10\16ð´\8e¥ã"ûqµÏä5\98:N¥\9eÒvò\88\86d­¡T(|@%ù\8c ×\83¬¡\ 5­Ê×Xª\16#\81®¸c\18Îá\17ö>ì\vÈcü®º\8e¶ÁÛ\ 6a7J@\a\119x\ 3Z¹¨|´<Æ\10i·Îö\b\89çýmä\9a\8d\ 5¨ë\f\9bÉY}\ 6÷ªv¢Þ)\ fT°Ó×\98D\a\0Ï\\18\86a\9bF\19vÍÎÔl\0q\r\85á§\f\e\9b8Xc\8d¦¼G\83\eÔ\9a\\8fI\884;%¼5ÿë°K8l»w¢d\97ýq'^nÙà¬\8f\ 1¯JÉ'ôºïjáÀ\ 5¬±
-¡};\99ô}\9fy¾V3ëö\93¨\85®-E\80êøâ=»z0Pg¤Â¬0!úKJá±\9elSWèýðK§bõ´Á\8d(YâH\19øN«ô¾B#çð\81».\8e¥\ 6;\88\8a\11'ÿ}îj£\9cØê\9aÝø\85\8f\9f,{@o=¼ªäüú³\9eÑ¢X¤w\86Ï÷\7f¾¿§Gg¿a\8fè\83\95\1dO%Ønx\96ññÀx5Å;DyóÛ[m\ e\97\.
\84\88ÎçÑ\1fÿØ\8cþ\1e}\aÁÐÿ\19endstream
-endobj
-1778 0 obj<</Type/Page/Parent 1479 0 R/Contents 1779 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1023 0 R>>endobj
-1779 0 obj<</Filter/FlateDecode/Length 1337      >>stream
-x\ 1\9dV]oã6\10|÷¯XÜË)\85#ÛòW®EQäÒæ\9a\16¸k/.®\ f~¡%ÚV#\91:\91\8a\12 ?¾³$å\ f\ 5\8a \81C\93Ü\99ÙÙ]~\1eLh\8c\9f       -\13\9a.(-\aãx\8c\95Ã\9f\8fï\ 6Éâ*\9eÓl\89E*i:\1fÇ\93ð_A÷¼\1f'\97ñ\15Í®\96ø\9cà·\96´\1d¼]\rF·o(\19Ój\8b\10\8bå\15­2w3VÒèf/*+kJf1ý¡òTgr\84µÚHk.V\7f¹³\93¥?{9\9dÅ NGØ<\89éÓ^X\12\b\92\86ý$TF\8d¿ä\a\7fxF\93I8\9c\ 5\1f¾ÑeÕ ¤¡T\97%o\17VR®H5å\ 6Ë1Ý)²òÉ\9a!I\91îÃ:µyQÐF\92­\852\ 5Îdd5 ÜR×ÒTZe¹ÚQ!-î\8e\97\8c`L\97\93©\a]J¡x\87eØÝeÂ\98\ eWÉÚ\8a\ 3\12Êd%UfH\ 3\8f¿nt»\b\84"ÇZ¤¬\1d´ZGA\84õÅ9ñÈÇË\r5Ff1]÷P\85c\94
-Åä\8c\94\8a\84\ 1-+6\ 5È2Øp\98é\1eÈwjñ¢ç\fáÞk$\ 4*AØ 1\822v2¢ìëÑE^GØ\80,\9ee²Íí\9eÞɺ\ 4¬¦,DÃÙøETBIÜÈG\1duN\91\17ð\8ei\10ù\99óáÝ\0\10\8aÅ4\94Ì\17/\90îηû\1c9æä\18ÏÖX]s\9eüM^a\a\10åA\1a\92OXE,­$m\9e­\8cÃõÉ"\9e±Ã\90ûÀG\14Fw\80ºë\9bªÒµ%ù\b¥K\1dìÛ¡Ù4\b²×à¨$»¢ÍS¹\8et}ܾ¾àü\94\r@3R±ëëj*\91JgÀ \14\97\92ËoPÄ\ed~0\12ô¡oX%ú\9e\16óùÔ©5ºíJçÄi\90ÛË\ 5G8èÈ\1cì\82\8cW\1aFfÃ\1cSÓÓ\9cÅJuS\80Ô>W\ f¤·\ e#2Æ\12à\ eÐ-\9bÂæ¬èQ³u´\91©\b6zf\13\9f\12À&d1$§¤\17÷\0\b.éåé\1a\87Ð2D\9då¨\8d/£;ãûv2D\83Ø¢Ú\1fE^¸Âà\1anÛ8t\9bX×»\98ÞæpMö(à»\1d l\81Ö\19©\87è\v\96\1cÇ\15Ú³nÀ\0ÎrÉ\a\97ïHéà\ 4M%ÌG¦\ 1KÛÂU/ÖX'\1cò$U/.\92\15Ô>ô=Àë\8bò\ 1\19js\95é\16¦)r©`\1en\1d¬1«Ï\94
-yy\96¥!)ÔwF¯¹}W o^£0¨ÌÓZ\e½µ1ý¬[\18¾\1e\82\ 6\b\83gBaláv%wÚæ²|8q`\ 5\fhR\ e\ eÚ$\7f\rUµ¶:Õ\ 5\eª\81GYƽx\84N§¢ñ*{Í%¥\17ÛÝ\ 4
-\87@,\1fª½xp\b\90xE\1aÂxAÐèd\8b¾Ûɳ\8e>\ 5ÁÞ¯\86\94ü:¤?\7fC\99òñn\1c\91\ 6{\ 6Ü\vÜæµo\1f<#Oç\9ck$\98sIL÷¢Ü\b7ÛBk\v\83±+PÌ\98n¶]cXl¹ÙâÀ4\1e\ fÃGnîë\88§#Ï\9d¯AÃ\97\0\83é\87\99¢¸\99\1f\14\9b\ 1\17Û}-%A\13\1e\1e\95C¡ñ<2ßò·ÇqÅ\18CwDÉ<u:ûM\1d\11¼<\ eÓrµ\87G\]\1c\93\12òÞÁc\8b!©5éJÖÞ+æÙXYºÆ\82é¹\15è'¸ä\1cJD×÷7wwç¡£\93ζÍѪàBÞq:¿µ±ä\ 3\18W4Gv\97§ÈÑLªB<ÿ?\8a>uîuÀÅ\ 6\ 3W\18F\16óÉ\18®+~\v8Î&E*\14²\ 5L{×VwRA\ 6\9e\81üH 3\17³¢G#xpt{\1c\0_ÏHô¯D5:\84\1f¶çb\9eªñR\1e=Ið3®Mq+\vï0®67k\7füpï\1cß\15Ö\eXÆ7#GÙ    ÄõÕ#\17Ú1ëÆSI\9d\96é¹+ÎßV\1d\ f\1dx9 \0\83äÞ\½\90\1f\e×gOõ´ÒØJÔ%]>Òß´«eE¯²£X¯ÎÕÂ\v\rÓ\vuÕò[\8b\13wtîK±G·Wat{Ûͯüûòæ?^Ò3¼ß\17ó\ 4op<Q&³\84Qü´\1aü>ø\a\v\eendstream
-endobj
-1780 0 obj<</Type/Page/Parent 1479 0 R/Contents 1781 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1071 0 R>>endobj
-1781 0 obj<</Filter/FlateDecode/Length 2620      >>stream
-x\ 1}Y]sÛF\12|ׯطØU\11L|\92¸\97+Y9'ª\8a/>K\8eîÁ/\10   J8\93\0\ 3\80\96|¿þºg\ 1Ì\80T]¥*åf£ggçk\17Ð_\17¡[à¿Ð-#\17gn½¿X\ 4\vü2ýïó¯\17a\1c¬\\16§Aæö.É\82d\0;w{aàÞ\85\8btFZ\f6Nflº
-\16.\8b\b2ÌI
-¢]O.ò \ 2¹Ê\83Ôe\ 2È\19\ba\94À/%E\98æ\19lC\18è\a"THg#\b\95ôÂU\84½B¸\bb\97
-\10¡B/\\18Ò\v³\³\\ 6¹K\ 5Ph \85\99H/L\19ÐÑU\ 1êêÀ\85\8b\18qH'Ò\v\13þ\baJN\80\b\15rÅ4\b\ré\851²KaDN\80\b\15B\18f3Ò\vñ£\ 4G\9e\14 Â\81\vÃ\ 4Ϥ\13\99ÅH]
-ÿY;yL£\ 2(4\10+"\8f\88êDJÑ%ùB\82\93%Ø£\a\14\8a7 bËýã\91Ðy \1c\ 4²Å\10«'\ 2ÄS\85>6KCz£éÂo\91II\ 4¨ÑxéwÁ2N\ 4\90Ë\15r\17\11=\9dH\8bÁ®Vôgbý\92Ø8\v@J%\11@³,OX
-CÙd\98²t<\12Ö`Ø]21\865xï¢Å2ÀFÅ\92hÙÎqÎî\eÚÙ\ 3rÒÎ#\97¥Ð)g ¢\1eÎ8\ 3áNÈ@©Ðb°I\8e\84)+A\88W,\e\90ð\15\83H\90\8f\82bJY\aÊzé2ô\9d\97Ó#\ 1T.\15Òl\8e~VÒ\a7\86^fO\942"\82dQ\83ý¢\89eáÄ\88ÁJ\8d\18­Á`s        ¡Z6\18\89\89\16(\aÕZ\f6aÚ\fk0ØÕ\92Q\9c,[\f6ç42¬Á{\17K\91)k1X\94\96ÕZL6\9fÅÊb°Ë\88q\9e¼²\18,¦ê̲Á¨D¤ÞfÁb°\11g·Z¶\98U<÷yÈoÂY\88,ø|
-2ù\1dY\9fOe\r\9eò«¬Ïï¨õùTÖà)¿\13;äwÐ\ eùUÖçwdÓ\14\aI¬¬Á°\8c\ 6G4\945\18q\96!¤¬Å`±ÎÂh-\ 6\9bel±É²ÅÌ`Ä\9aTÖ`°Ø=²¯¬ÁÈ\11\ 6\10*vb-f~³\99e\8b\99ßd\16\8d!¿q$3,D\1f!V\82|~\15#\83\98\91²\ 6\83õ\96\955\18,\ e\17Ô¤²\ 6#\v¸³Øu-\ 6\8b\9dZ­ÅÌ ôÂdÙb°y4·l0â\1cËð\9d´\16\83MÂÙº\16\83Åþ\90\1a\fVÎTÃ\1a\f\16W\rÌ+Õ\1aÌü®æq\96\ 3,Ư2Ø}\ f
-2=8²1oxþYa\rf\ 6¥\17Tk03Èë\88Ñ\1aÌ\fòJjX\83\11gxeµ\163G<|Uk1¢\11ò\1a¥¬Å`a\19³nòÙb°\98"Ö+\8b\19ç%ûhÒb\9cb!\åx\87â%\12.\v\92P\19\f\16\17/¤WY\83Á.åèWVRÄbóÇ \ 3é\91O\91bh\93\15,\eÖ`°(\85\99Ö`\ 4\12¡J\8cÖb°q\8cbWË\163  ,\re}ëóW\19íÐÂ+A¾p\14Ã+\fMx¥¬Á\8c\ 6\a\83a\r\ 6\8b#sfÙ`x\85C"3Z\8b½Ï3Ë>Î\18­¼rñ\ 2\ 4­ ñÙ`zÅ\1c\19Ö`XFQÀ«Ik1Ø\8c\17
-e\87X¥þ\9d&\8c8ø#A>¿\8a±n¶b\16\945\18,\8ejìHY\83±nÄ\977Ãúý¢\89¥bq\1c!\v\82L]\8d\e>+k0£\11Òge\rƺ\8b\ 4\8d¢¬Å`\91#ËJ\eE8g¤Ø¥m<\12§\fƲ(+¤H\9e%ë¥x%\91\9aó\8f
-2Ò\91\95A\17)k0£,ûQÖ`F\99×E£5\18\97\90!ÕJ¡,üË\1cÞ)°W\ 1ôÉ@Læ\1573q\ 6â%Pz`â\fÄ\82¸sÁ\9d\89\94(\84x\84\ 3\1d\12\ e\13pA\ 3½01$\r\8d\18,ºpD\12?\83Á¢[ñ=b2l1X\8cïȲ\ 6#ãxñH-+uÈ\8e\92:DwÀ² \9f7¾a\85øÕO?v´GÂâ\92<búÌ÷\10Ã\1a\f\16½\82\92h\r¦W\9cßÊú0â\16æ\8b\89çq(È;¥\18\86åfcX\83é\14\a·a\r\ 6\8b\97Í\95e\rö­\93\e\96­3b°¸a`C\93W\16\83\95;°a\r\ 6\8b÷ÄÐhývñí\87³\ fo\9d\bª\0îÖ@8,\9f\ e\94´\98\9b\15\a\9fm\f\90\/ðÒ\ 2\87\ 5I\18\rf(x\9d2¬Á>\14pjÒ2\14#f(d]e\r\ 6\8b9\88\14(k0¯\bl\ fe}(ð\9e#\1fCØy|ßÍ|\ 3)d($³\13i1Ø\98ï­*µ\98\81¢IÃ\1aÌPðEÛ°Ò"ò\r\ 3dÂóC\80\ 4Q!8\\14\17\86S\88(Èù®:±¹\1a¿\°'\ 5øÄL\106!±\9cBf\853cÒ\19Èõx!TN!8ômd8\85à0mWÊa\92⻦ÿ\ e"'§ü\9b^*\1a¾¯M\8c¤\10¥(E\87uñ­\8b\80"¡pù\1e\92Ë\ f2\9aÛ\ 1aÏr#\9b(\11Eþ;\ 4f(ÎIþ\9bæ\14QÄÏ\8a\13õþîâÝ\aà\85»Ûâãm¶\¹»\8d|³Å/ë77\7f\ 6îêp(ëMõRvoïþ\83§1cBÿô%ÌDxþÍ]ñ°+]³u×MÝ\97u?<\89Ú\19\9f\94£\ 6\bs·Åþ¡p\87²Ý6í¾¨×¥«ºîèÍãÃñ¥y6\f`r\7f(Úªkj±º\98ñ\11¬5ëoeï\9aC_½úH\1c¸Ïe±q]õß\92\e\98\eH\ 2÷±xq/ûª?'áëïÍ£Û\95ßËÝ9\9b\r\86Ûâù\9c\\ 6î¾­úҽʮàö®yv×»j\8cÖÜ­|x\0ËW¯í\e]2\88]\7f¬«ú\91\1e\82\a÷>5m_<T»ªÿAþ\84Fl\7fûôåߢ´«cz`õë?Ü\97ºz9ÝY\16 \9e¿üóFds\15Bù¹ÜüVôî÷ª>¾\0ì\1fÚ¢Þô\9777çf\10Û+oåÄ-\8c|,_þuDdªbç\93\84\14\8a§øã\82\16\b¢ì\8b     Ë¸¦\7f*[w}óáÖ­5®3ëøÐÅ|¯«ºoº§ñ±¿\9fz\87ó4p\7fÜFC\88I\9f\98Á5\14ÑC\ 6×Eínܺ©·Õã±-¡z\17¹û¢=°\15êr\8dÂlÍ\8f\89+:W\f\v;Ô¿÷_<¸´á¤\vpâÿ/\11»¯oê¦\1f\97úúög¿\14ÆåÏ.Ä-\ eö£àåd\9dÓe\90Ð+xÎè\95®¨\7f\f\81ô=é\9e\9fÊÚ[ýú\86ä÷²íÐh_ߢiݱ+7vG¯ï\ 3\85Á}l\1a\11­zh\11\7f¤jÓV°\86ß\9fë]\83\ e}nÚo(eqWâ8¤Ñ[=É\0¼¾¯jh;yþ\1eÚǶ9\1edH\9c=\8bl}éJ·+ú²ëÝÝõ§w7\9f\17ëonÛ6{÷±Z·M×le\b\9c$\ 2Wu\94|¹+ÑÍÁáyç¶Õ®D\16·Üáè:ø½q맢~<\e0¸J³aP\vC}ÜoïU\ 3Éf76ï<-8± +àóø\10Çë¸ÚÙ$ä:è(îqØ\1cêlSn\8bã\8eñnúfÝÈ\b\9bÏ\88%W\19ÃøS\9e¾û)_\9d7\ 3\f\8fÏà\ 6¿@s¶ß+LíO\f_$]9\v\eóÝ7è\8bý\ 1Ár·W\1fß_\9dµÑ\8aMtµ^\97]7´q×\1c[\18^7\9bÒ}¯
-wýçí«*ènê¾m6Ç5§þ©Ë4\8c\9cA=\9a\87/\1dO\9d i_\19\958ÅFGX\7fè\ 4ÿ´óþtâKÛý¨×è\8f\8dÛö\aÙ´ÍØ\8ai~\7f¬v\9bÑÂûªÆ±õÊ©ÆG±\ 1\9ek\18ÍXO<sÏUÿ\ 4w{ô\84û¥j1:\9aö\87ë\8e\87\ 3¦¸¬w\12d¤î¶/Ú~\°Û? \19á_\8d\7f¼\12\84«N
-)ûª.ûMÀéu\1eBÜ}\10\94\1d\8a¼.èÔßØ/~µª÷M¿)ʽ\8fþål,ãôú\ÒmºöþøxÞ\93ø»Íy
-g}\87\8f2\81ûµ¬Ë\16g@Uo\9bS\ fñg\18¶åÃq8 e\91w\1fp#\95;\87\14º|LÀ­ãü\1a\93à\1a\96¥\11®< Ã$¦õ\7fÜ]üëâ\7f?¼Õíendstream
-endobj
-1782 0 obj<</Type/Page/Parent 1479 0 R/Contents 1783 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 1091 0 R>>endobj
-1783 0 obj<</Filter/FlateDecode/Length 700       >>stream
-x\ 1m\95Mo\9b@\10\86ïü\8a\a\93ý\80e9U\8eÚT9TJ\eÔ;Á¤vjÀ\ 5\õçw>øغȲ­×Ͼ3³ÃìúW¤AáKCfÀ:¨\9a
-\7fY>¾}\8eR\1f+pÞág\ 3¹\8bÍ$Îð\1c\ 5²\ 1m\\9c\ 4P\8c\99\89=\1aµ²q
-\8e\159C\8dT'¸* \81¦À6Ö!\r4R§â,¤\81F\9agTþ\92W\8aJóØÑnRür,¸&KE$´\8b\ 6¬%\1f\vb\81lðgÚËÂ\ 2\89        UJå,P\12¢ÝP\17tJ)XQT\81\ 6ûÍ\90ûÇj\85Êqÿ¼¥Þ²àR\95Á\80iny\1fÔ ;)¦\81ƤVã*Y\ex½â}N^V\81w¦â]©äu\99lGò°
-¼3\15ïJÅ\9b&²[ñ²
-¼3\15ïJÅ\9b(nÆT3«À;Sñ®T¼&\v{Å*ðÎT¼+\15/\8e#ÍÄ\94\97\9d©xW*^¥Ã^±
-¼3\15ïJÙ\9bx:{s^Q«w¡ì\r¨Ê°KIFG\8a¼~Qâ]5ÒÄ`Wd-Sñ:\9a\98ÅË*ðÎT¼\våaN\12Ï­Ê<\1e\11\11ä\f$\86ÕÔ\92\15\86\1ai\9aþc¥Ã\91XOez:Ë\ 6ß}\r¯Ñ}\11Ý=8\8c\ 6Å+Ý^ÎgP\1cøòRPTïL\1e'1<¶cÝ·å\19ê¾ïúá}ñ\16)Øi:\8fÅ\81Ö¤1ìDZ¬\8e§ö\a\8c\1d\94Ð_Û\96Ä¥ïªzØ°¸\18\9eʱ:ÖÌv\98{ hU\fű\86¡l^JÀ%ÕÏói\18)íÍ2͵õÝáZ\8d§®½)\fã\18,l\18®Í\85ðm\15È-fª\87\91ÉMl¼/\ 5\82þ?.n}\82f\vNaÁnAl(å\84d\vb'\19¦[\10{ÆÐmÁl\82Ù\16ô\13ô[0\9f\ 55=\f*W«M¼4\89»tû\1cq¯Ïãé|\86\9bg£ï®/çzø@±î\1eü4yt½*oÁðÿ\bÎÔóþËý\1e\9eúî­®FøØUצnÇr~È;\8d7"\19v\99Êi\ 6\1f¿ã\83¾\êöpú#\13\958\1c÷Ôà?3b\9dp³?\15Ñ×è/\1ed®æendstream
-endobj
-1784 0 obj<</Type/Page/Parent 1479 0 R/Contents 1785 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1785 0 obj<</Filter/FlateDecode/Length 1433      >>stream
-x\ 1\8dV]oÛ6\14}ϯ¸ÈS\v¤\8aí8Nö°\876k\82`kÒ-\ 6º\ 1\ 5\ 6J¢$6\92è\92\94]ï×ïÜKÚu\94ì\ 3A\12Ã\12ÉsÏ9÷\~=\9aÒ\ 4?Sº\98ÑÙ\82\8aîh\92Mh>\9bd\v\9a_^àó\f¿NS%\ f¦\8b\17\1e¼[\1e\9d^ÿ@³ -+쵸¸¤eIØg\82o\8aWW\8dZ\ 5íhv\9eÑ\83êrE+í*ë:Õ\17\9a\8c÷\83ö¯\97_d\8féEÜãÍÙ<\9ba\97WX4ÍèÊv+å\8c·}zsNÓizsv\ 1¨xsÙè´½×n\8dó\ 6¯=-¯>R°\14Tû(ÿñRÑ\1aÝ\87\8c\96ÍàÉT´µ\ 3)T\18ÜÖô5¿å5pUdÂ\ e©§\8dn[yÓ7vhKÆ;¡7Ó³\88ÒiÕ¶[*\ 4\ 6ÞeålíTç)4*0\1a|ÐäU§ùQ°\85m\19\84¦Îú\0\8aUi°\87Z+Óª¼\95\97âzpE\95Á7Á©ÞWÚ\8dNßïÏÅr%UX\11Ö¨ÞâD'\1cäÊë\92\1e>¼CqÌN\96ö\98-²9³w\eyب^°\a\rHªV¦Ç\7fo;\1d\1aæ¦5\8f\9a\14Ý-yûOÕ§:íÆ\95õBÏÆ\80§F­\ 1ÖRi¼T\ 2r(\1f\82\0±ý\b½6\ 2\12\7f\922¼w\ 2I÷ülcÀ\1d«Ô©m\14"×à\93\ 1)\1c\ 3mÁ[i*0\ 3a÷äÒçW~(\1aR\9eîtÈõ`>¿\ 6'cí¢hâ-9\0¤\11ö_«Ö\94c\96nt¯\9d\1cÇp¢\15 M_F\8d\9f¸Û\937\1d¤t\0\a.X\13ØÀ©Í^Fò+­Ë\8cnA±¸jg7ú:\98\0¢GLåðU¥<÷\12$ïéîúá\84T\e°¶nð\95ñ\ 4e·ÔqÕ¥^é¾ôdE\170ºÅÂn\Ð\83Æ
-Õâ`»\82ÁD¸Òö\90â{Ç\81\8d°ÑÐ7\96\a\ 6éήÑ\ f'\8c@\9c`ú»%êèÅ*TÀk>¾=ª 5>\9cÈrç0Ù       \99\9eĦÜ'\9a6Öyôæ-ù\ 1ì\140#¿hê\9a\rY©"À\1c¨\93E\8apÖà\19þ\8c{¤*ÅlX8:½Q®Üp\7fp  ¥3(Ýs_\96L\12\9f³FÆX\84BäÊgt\83wPTÔ\11ì¤õñä¤Y¡]@\9f@å|| \93¨\83   Ø\85Ë\14¹i\ 3¿?AëE\14NÐÃô\93®DúÍ\10\9a¶xÔ\81ì*\98ÿ\b\8d\7f©\1fº\1c\15È9\\8c2aÂ\ 2æ©\118\81ó\ 6m\93h>\8ce¬T\aÁ\91"\95û\7fDªp1¶Õ\12d¾tp$N\82\99qz\1d\82\ 4D\ e\aìD\0i\98\f\ 66\14²X\9a7÷©þ\136\1cÈ|.¯ïò¬°}%Yù\12¢ã§\90\8eq~Á\942M|Æ~\ 3\9c?pS¨Z£\8f\f¬J\8dEëòp\10S"\92\18e\rme&=\99\ 6\\ 3ºO\89`c(7¨Z\ 6Ís\92\9c©\9b(O§$iáü}²aXâx\ 4\8fÛå\ 4\ fÐ\131{ý}Ï\8e6Î"\1a!òHªRc\9e\942\9eò-}\198⽤E\9cC\85u\8e½À²\0 \17/I¢Ä0ápÝÅIk\v0Ô#\19¬{\1cWøL~vÒ\9fw÷?½ÿåí\1fܾÌ6§\8c¸\11Ó\96\87¤Eú¢f~´ëw\8ex¤Ò.ÚA\0\8fB\1e\97£Ê\12\ e\aÕowiæôÊ:\16\v\96WeÉ\9c\8f,@?\1e";¦Ò\ e\98¼\11\1f\ fäC¢GGJ\83D?K\94D
-9ÒH\7f[µª\17ñ\11d\92©¨±\17ð\92ÒÂ\0@q­\1fLᬷ\95LÇÓÛ\8fä\83*\1e\99$ßÂpf,¢\87¯Ä=Å\8aÞ^ýüïáq\96Ño\\867\7f\9e^ÿÃÅ)f\v\1dKÑüöq
-\86¤\15\Ð*\**\9eé\8frYñ§\e\87)\85«\11\aZRàÉ\13Äxl,ÕÙ\81½\83Õ*<\9bjZÊIW\e\874æ¨Ls)u&ß[R.x\8cõb\80Q{N/<\10\14'ûO¿K[â{.%ǸÅÐ7ã\ eÅT®wS4ÎMÕ\ eâ½8\bRÜåºÆ\ 5\bý\84\b\87yX..\0A\ f\1fJ\1f5h ô\8cF
\99¶i,_Ý !b¢r¶ãU#ë$®\ e\92LF&ós\80\e\93\91/"O\11à&\v\10\13\ e¾^í±1¢\9cÝÆõ\8f\ e\16<, 4ìéõå÷[ôù"Þ¢ÿïe}¾¸Ì\16ç3\÷qy\9cÎÏù¤÷Ë£_\8fþ\ 6\84y\fBendstream
-endobj
-1786 0 obj<</Type/Page/Parent 1479 0 R/Contents 1787 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1787 0 obj<</Filter/FlateDecode/Length 1324      >>stream
-x\ 1µVMoã6\10½çW\f|i²°µþ\94\9dC\ f        Ú\ 5\16èvÛÆ@Q \17J¢,n$R+RqÔ_ß7¤ìudoz(\8a$@ \893oÞ¼y\9c¯W3\9aâgFë9-bJ««i4¥x6\8dæ´Ü¬ñÿ\1c\7f\8d¤Ü¿XÎo£å¥\17\8bÕòò\89Ù&\8eâK'V\9bóç÷Û«÷\1f\964\9bÑ6\aªx³¦mF@4\9dÒ6½Þ\16Ê\92y\96M)êZé\1díMód)\91ÖѾ\90\9a\!ÉÖRfø,§LÙ'\12:#-\1d\7fI"M¥µ$P\8eU\95*E3¦B<s$\ 4í¨TÎ\95\92d\9eËÔÝl¿\Mi2[ ®mvý:>\877Z\12ðTmZЮ\91ÂÉ\ 6\0D@a\0¥\89ú\18ó\18¤!Æ\16ð2\99\8b¶tô,ÊÖ\9f\9fÅ\8bÍrLI\8bg§ ^jÙ¨Jj'\9c2\1a8¹PÔ\98qÞN:r\ 6Á\90´RxÀ\95\9bÚ©J\94!ôx\80\9fyP\8e\ 1\97êI\96\1dCE\f\1cóô\ 58{UòqPá\vÂW ¨ã¬¶³NVàNw{ÑEt×\17ÀÝ xµ\82v\10º6J\83Ak/$÷±SÑZ 7-£\17eiRÐF\95¬\fr¶ZKn\90hTÙyîÞ\7f¸¥\194Àb\98,\96\81Åù*ZFôI¼ÐK¥|\9bN53\99¯¡+\90}çÈ:Ѹ¶öU¦¥\ 2\97^\ eV6\8c\9dq\8aó\v\1aUâEUmE®\11Ú"ì\b
-ù[\8e!+\85ö\96P\8b³>\ e?æîk)\1að\83\1aèáÓý ÞÔT\15\b·\11ý\85RShÂrÃ@ö!\8f\ fã[ð ªD\90\e¢Ö²(ù\0\85Ò\8f4ò-\86\18\94\1e$´U\12¥Fç\11ýjPPß[t\ 4¿gi\81\1e\901Ô_[\9e\9c!
-\9e\92Ú\ 5Ejó
-ö0+sqÔÑ»@ñ»PK\88\12Ñ\165ôÜ\1fjoÐeõÌ3\88ã\0h¹1ÐC`"ai\1eÏ°lýóAêÂhÓ6\\1c\ 2øö\f\87í£;Ì\1a¾2½F\93ÎIK\8f×'\9c\84RÃpÔÆZ\95À\ 4|YÖT\a$\18\11f27MÅcÁã¾W® 1\80f1\83%{A/%èZ9\10ÑtÞhxî½=ñ\9cp\1aMóérs:\99\ 6\92á9±\12:\95T7\ 6\88*{V¡¦Ê \81©°\88È%\1dÌ¥ïº\9flv\ 5£ß\1c§UD¿\98\1d\95HWr1\17çécîçö äòp\0l\8aÒ\1azÒf¯    .5ÊdÒöÑF\8f7T¨\1d¼°¯\94aj\1f\88é´-¬¶ÁüÁ\8aw\80ß\98ú\Û=çB§\92å\84Úð\9bÈ@\11WÝÏs^¶¶è\89`t¹B\eEÎ}\92\ 2Cl\10È{éaªy.\13\19\WÂnµ\85*ß$*\8eè\ f)2jÄþ»<m\81h\84ëÀ\7fÅ\13ÛgeÔ\99´j§eÆ\82Dfä÷\9e­¬ÌÆT\9aý¤\84\1dé´\vØ}\90ãyöܾRP7Ð\Z\18\ 3Á ,O¬mëÚ40{Lqaö¬¢È;_\98°J<\81¦ÃGÐók¼,\17Q\82$\167¦"\91¬[©\ 5D\98Q2LÝkî\828Ãôxq\ 6\a\0\ 1Fÿàp\97é\f½9a   \b;ÚK\98)\ f¼H]\8b\19Â-\ 4×\ 4-èà\89\b(\98#\90ùá\81\ 2\86\90øØ7\a\85/>Ãa|U0=4æÈéÙH=\98 MH\16\99qQ2¥\ eØ\8eXaÃÚ\8cú{Dâ~À-Z`\1d\81\11ði¾Yü¾\11\11
-¡¸\881t\83V\13\bG\97\ 6\1d\14\bçO\8a\8dè³æË\1aFÍ]`É¢\ 4æÆ\81­7ź\8eèÏFá6øWµî\ f\9fý'¹\86(GnÿW½¾Bü¦`\a4ãvù\8e`\1fØë+\18\ 5Ö©`ö¹\82\16G'©lТ\97\9dÆ5\80]Ë¿\1dôúM\81½øho{e\v\16P
-ÁÃÞø®\1aÀyeÎ\9b\9dÅØ»7\v\8a\17·a\95y¸ût\7fG¿5æ\vöRúɤíq/äx\93Ã\81ÉzzË«Ïù\86´\8c±m¯æX£ðz¶\8cùØÏ۫߯þ\ 1Ù\8eÛ¶endstream
-endobj
-1788 0 obj<</Type/Page/Parent 1479 0 R/Contents 1789 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1789 0 obj<</Filter/FlateDecode/Length 1475      >>stream
-x\ 1\85V]oÚH\14}ϯ¸â¥©Ô¸\18\b\90\95ö!%t\8b\14\1268\8aº\9b}\18ì\ 1¦±=îÌ\18Ãþú=wl§\rͶÊ\87À\9eûuî9÷Î×\93\90ºø  iÔ£þ\90âì¤\eté|4\f\864\18\8fð¹\87?#i]¿è\86ÁàøÅ\87èäýÇ\v
-G\14­ák8\ e)J\b~º]\8aâÓÞy0\ eh\99ê\8a\92¹³o£/°\18P\88\83lqÖ\e!\\94\9cÞæ\92
-i¬Îi+,Â\16Ú8\99\90Û
-GV:§ò\r¾à\90ÑNÇ:%§ir{7]\ß/É\b¼2|8§ëË\9bùåM\8f6b'IPbD&\9c\8a92â\85ý Çñl!á]ep·\93\19R£ÇÓµÑ\19\85ݧ÷\96\9d\87çüéñmÐXö\86¨\1f\963²%¬cWç¶U\96\16\937\16öýñÐîÃ!­\84\95Éã[ª$Ð\13ö\89S_kC\99Æ÷D8Q'\8a\94\ f\14ë2M(ÞÊ* o\9e\ 5Y\95©T\98W³®mV\12H%´:<ÃÓ1\12\ f\8c¨èwÊu\87D\9eP'\13{ÚgÊáY¯;\18\91Ê­ã\83z\8d¸"ß\1c\16ÜBu­QH{¨\8eaÕ¿²C\99Úl\1d\89ÔjÚÊ´ðvßÓá¬?¨!\ 3\ f.\1a\1e\kÄû\7f\1ax®¤þ\f       F/Í´å\18\958XJJÉ\9dñ4\10ÖVÚxèb\8f°S\99\fèÞ¶\99\82u\12¦\85\111Ú/Rê\14­M*w2í\1ca[©4m \81\10pcA\9f\80>ë²i\94/Væb\95"\13°±sÿqB±9\14®Cºp
-ôU¹\7f3\17Or­RùSTÂnÐ(\83\\99#$çôº>ÖNæȧæ-X\8b\f2\8aÁwðÀ¡FÖJ\rMì¥\16P\84üêÏÌmðOîEV ñ\a\95'º²\9e\93\ fÚ<m\8c.\v0\9dÝ\1d\81¢}X\ e\88À^V\10\16M\16,X<ÉD\1e×e²\9e\e\95,¥¤\83.M\9bA¢ã:`"\9d\ 5Ûs*\84AkJðü\1dÈ¿eÁn¥@SM\99Á\162dõ3Î\ fë\87M\ 3°'ÏwJF"\ f³\9b«Û\87å쯩ç<\9e\7f̧7\91\7fÄ yßè¦0\eÉM\ 6'\b½úI\ 1\97Lë\;î3\8f \9dñ\80Ò\8c\9fw¶Ö%äõb<]ɵ(Sw\17ïj\84[*ü=_"¥\7f S0\11Q!<Ôt\84ôòó2\9aÎ\83ÙÍ\8c\986\ 4ï@Ù×\8d¾ö»\98Ò\eµ\93ÌÉ\95Ú´DåÉÅ\83#Ñù\eGO9&mµ=´
-n\9b1?\90®rô\1fõb\fÇ\92*·¥\1fÓm\0\9fÑF:ÊÊxÛ6û;\9c¨R°m¡Ü\89\14\9a|<\r\87ýñà¨"pÅãm0Cé\16\15\9b\17\0¾\1cñ"?xÍ\11Ʊ©ËµP0gä\95\b¢\80\1c¬\03lz\80Çç\8dq\14\17âο-\90V2\89Ñ\ 5#/h\8dæ#7|îw\81\16\ e\83`\15¯\0¿\0\80|\1c^ô~\rí\8c'\8c^a \1c(\91\85Ì\93fj0½¼\0¶ t\85YöÎs\93Éì\ e\85äðPü\9eVzÏç\1a\86Öl×\1e,øj¨B©Ê\9f\8e\9bº\0×h¢ã­\11@\82\97&H k¢:L>\9e\83È¡\99\0V%^Äü\94÷BÌ|n\ 6ÆZ§\80\9aßÄ:\8fÓÒ\82¤ö·\ 6Õ\96C3l\r\81 É\ 5<ô°\91Ë"\90\ e\98¬\1e¸ªª\82LÅF[L\8d\0\ 1x\ 4a;â\17
-,\vl>\9c\ 4òì\ 2á¬\8e\9f\b\9f3*\9dJ\95SòXßÕV\81\88ͦþ\99b':_«M\89­Ñ\ 4¸8ç)5[\80\f\ee\9d\94~¿³\9a^ð»\9ec\10Siùâ\80¶npwÀPLS\99\1cql\1eÝ/\17Óé\95\87 Î\10ªÑ\18*k/nÊ%t\19\81óp\85¿\9d0
-¼¥º³Ï¥Öý\ 5@\9e\12k#%h$v\18\90¼a¼\83£ÀíU¨\8eékàjW~Õ}\eÇõ}ÃÇö\8dÄ\ 5ïy4ÏÅ\1eéÓ\9dÌ 5v\7f\86Û\18îkÉi\18\10\7fÇ×ç{Ò\1dfëkG!\8dã£pzY:}¥lìE\8c\ f\8b\býWÍ>¤ Á'\9dÊ+éøbõ\9aåàGË\b\e\9f"M×ÜÉ©_ʾOÏõ\9cÿÂæ\8c>Ý.\96Ôï½Èqø£ÕÍÕ\8c&\ 2·4ZâæCÝ\17çGõù÷\1fÇ͵6\1càæ<îÓð|\10\8c\19×ååüÃ%-\8cþâ«ÓqÉs\e·Rí÷íY8Äu\e\ 6g£î\ 5\9f\7fýÞ<\18\8e\83áy¯iÕ`ÄIL£\93?Oþ\ 3\ 3ç³\1dendstream
-endobj
-1790 0 obj<</Type/Page/Parent 1479 0 R/Contents 1791 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
-1791 0 obj<</Filter/FlateDecode/Length 889       >>stream
+Xªd9¶Ó[\83n\81\1c\9aîÂ\ 6\85\96(\9b\8dDjEªjþý¾¡>¢(Ù\ 2Ea\18\96Mræͼ7\8fþw\11S\84WLÛ\15%\eJËE\14F´¾\8eÃ5­w[<¯ð®%åÝB\94ðòë\85\r\85\9bÃâÃ\975Å1\1dr$Ùì¶tÈ\b    ¢\88\ eé¥\16¥´!Ýæôd\9a\9aÒBIí,    d3ºx¢Æ*}¢cmD\96
+ëø\8b3ÀbMñCÒ\9dt7·ßöä£,É\9d¥&×\1a<`£¥V\15\ 5\994mê\8fï\ fß\17¨-XmPÔ!»ôÙ
+\93\8a\82\955çh­¬ûSGI\8d\16ÇBrº\é\8c\ 4\14JÏö/IXR®ÏÅ\90q´0æ\11\b8iDA\9c\84+Îi\0îÌ\8b\9cÕ6G-]È[\ 24gØ\13\87Ä?á\97\11ªÊ\91»k\f\9dEUIm\19ÔI::\9b"#Ãë\1d¶ U\99ì+¡BY\at\1ez\83ÊH8'Ë
+ÝÅi\91¦Ò¢Ï\ba\1d)=\83êÎÂõ\ 1\86Ú^td \80ë\99\92À`üY\ eûª¸UW\°º¢ ¹\ e\94Û|    \f­ü!ë%\1d\8d;\93\15åQxܯ$Ñ©AÐýíÝ\9eP\92?Ĭÿ6¿©ÑN¤Î\132\89Æi=£\85\81ÒÀl\aæ\8c§Z\9eÐPYˬ«\10}QvÖ¶\81\87\99\ eÔŽ\9a¤Zv\8a\7fK\83\9d\98j\99J\ 5\91{\bï ²Ê\8be"(\91\ 2\ 2íÛú\1cI\18\94?QØÀAËs3j¬ÏËâøSUu\9dê\84¨Ü\1c¾\1fÏÿ#b2å¿\16\19W?°5J\ f\832çfÂ\1f\85jG~Ðë\19I\9cÜO\8fG\8b!\18LÁJx\ 3\8fÉ\v©\ f]î¥þáË5Åp¼\1cã\fÑo"\18$D\1foÃ8
+éÎ8\8eg\1a÷ìpÔ\93*=þ©u\ 6°×~d:éÀ?ZS?2<&ë"º £°Ðçh\97C0z¸ÌMMò§(+X\1a\1c\ 5ê\95:\83n\98øèá=«SsØN{ÖÕêQÎÔ]Õ\ 6\86X®ïa\88pKâ ÷\80pªMS±\0\ 1D\e\87Ñ\94\8cmªÊÔ\8eS@À\13X0¥1\17\87ES\9f:\9bå\96Îòzgfçg/c«÷þÊ       [£ßÁz\81ÀËü¹Û\18\92dÝ9=÷\1a\9aÿÚ\14Nùâ5\868\17°?Nóf\83÷Þ\81´i\87\ 2,\ 6\9d\82ò¼TÊ!Ø@\81\1a\83\ ew\19\14\88Ù\1d7>oxÙéY©Z²½\18¦\94÷ÑÅó¹\v2\95S¸C@\99-\8f!\ 6\a^k\88?Õ©Á\85\89\ 3eH{èrX\7f¸¼\ 2µÌR&\9dP\85íÛ´ëïãx\83Û}\97\8dºfí?}½ùD\7f×æ»\849~6iSâ>\16\9c\97\91\ 6Ã\81`\e]ÿ\96\90×\9b]¸¹Zá\1f\0Ë?¹âh\7f\1d\16ÿ,þ\ 3Bå³\9fendstream
+endobj
+1763 0 obj<</Type/Page/Parent 1476 0 R/Contents 1764 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1764 0 obj<</Filter/FlateDecode/Length 1136      >>stream
+x\ 1\8dV]oÛ6\14}ϯ¸\8f)\10ëÓqÜ\ 2}趺ÈÃ\ 6lñº\16ëPÐ\14\15³\91D\95\94âøßï\\92J\14\17C\96 \89"^Þ\8fsÏ=×ßÏrÊð\9dÓUAå\8ad{\96%\19\95\97\97É\9a\96ë+<\17ø±\8aj\7f\90¯WIyzðÓö,ݼ¦"£m\r_««5m+\82\9f\foäùÏ{Ñ\ fÊR¾Nèf\10òNì\1aE\1f77Ô\9ajl\94{µýæ\1däWÁÁ¢\&\ 5\\9cãF\9eÐu7X\18ÊA\9b\8eDW\914]­oG+øM¸¼¤<\8f\97\8b«dÅ\97ot'\159Ñî\ 4\95Iv\11\1fÝØ÷Æ\ e\8eÜ<\95\1fµ\1dFÑÐF#¹\9b£\eTûåÕ\94!\12÷~zá\9c\84Ü\ 3\93ï£r\ 3\r\86SÈh\91\97!k!¥r\8e\86½¢±Ó\ fT³Gç=â¥\1dýIcD¥ª9
+       m÷Ú\91\8chIs¯¬#Ñ4Þ>B\85g1\0\80VÑA\ fû\93È\1c2\14ìÌhQ=£eU­¬\ 2\16\90ã«ê\ 1ýèPlô\9aD?Å*Y2t\9fÍH­8Ò^Ü+ê­A¿Z\7f\e\81\ 6\81\9c\9an_\90\0\9a{aQO£wVX\8d\97ódóÊçÑèî\ e\8fº£J×>¥á$ý\838:B\8f\1fÏ#j\8e¡QG\92£E!C\13\13Û)ÕÑ\80\16p\80[¡;4ãÃo\7f¦\b4>ø\90×\7f\\7f:­mkhDî\fÕ\8c\82\17\12\ 3\10\v\95\90Ó­n\84eÈØÔt\8avª1\a\9f
\969$º\81zaE«\98Þè\1d,¹¤ts\19éxN÷5JÚ}SÒ\17\9bnfD\9døòäâ°× V;¢\90Þhx\8fÑÕ\83\90\1cjØw\bF¦ö9=\83ü\18£\0«\8d±è°hûF]°\87ÆÜz\1a\ 5^\9e`\8esæ'ú\ 5ª00\ 2\84\91G\89&ït÷&\94\93Ñëi¸\96\81!\14¾þ\16\87\7f&\9f\19D\ 3ô\89\87\8f\7f@\83\16}£·ô\8eÍÑ®´\12\83@\9f\11j0öøÂ}.\1c\97ý¥\17L\9fàæ\v|1\1dLê³L\9cyz\13kÄ»\17\1c\1e,\12ö\82õ\96\8eAªxÔÿ£Ò\9d5\awbþ¬ç\85\97&°y\1a\1e?'ÀÝ\ f\86g\9a­@&<\1dý\91ë\95ÔµVÕ)\8f\85\91¥ÊÈ\91ÑõbÈÓÃ\19ëîvÎnªA\89 `Rt 2^\8cè7f\91C\86\93_Ô=\bÞ³è|\18u¥|@Öõ¹,{y\80,\17,˲\19YÃNU\1c\ 6\16e\16\84Ø\9bCÇ}\17\18îç\88@ô«ów<p ltÆ´õæA<'E\r³\b)eJ×BêF\ fÇ0\91µi0\9d\7\97àÁ\b\1a\ 4Ó[Uy"çɲ,h\81\ 5±Æ_Dõ\13Ä\19-¸§«$[]òkì\97\ eÄL+íâãD\92G\93Gêr¸Î¥A=R«ZÈö\ fÖ~\ 3°a*\eã\14Ìx\8eÓ±cMLå\1e\b\ 6\\0¶Go\11S-\8b)U\ f"P\8fÄ\ræ31)"\8cñ|\81á\85\18ßM\80B\16þÚC.=ÓDwÄfâØ$y¿\1c4~\81\14P\1c\85­\81e\1d\14;\b\ 3WTMJ4\v?ÛxOh°\b+Q±DA\9e¹\1d\95\8f?Ð÷&¬ax6=¯q\17¥f5[äq\ea¦¿Æ¸_Y\93¬ê\8dÓ\93n<\91     \1f_\1ewðæúÓ¯ï\ 3H\93ÇÅüüÔç\9dBÙVEù\9ep\9dß\98y\Ç\1c½Ç²Lò%>{TÿïsÎrµNV\97\ 5æ\ 37òrÅ9¾ß\9eý~ö/8ééGendstream
+endobj
+1765 0 obj<</Type/Page/Parent 1476 0 R/Contents 1766 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1030 0 R>>endobj
+1766 0 obj<</Filter/FlateDecode/Length 1271      >>stream
+x\ 1­VMoÛ8\10½ûW\f\14°iK\8a?\9a\9b»m\16Å6E·ñ\16{(PÐ\12\91H\95¤ì¨\87ýíû\86\96[×èe\81 \88\13\8bäÌ\9b÷Þ\fõu\94Ð\f?       -SÊ\16\94\99\98Ñ<Kðy½Zâ3ůSTÆ\85ëÙL¼øÕBºZ\88ä\17\v\b.fÃÇ\87?Fé\1c»Òl)æÔPºZ\89Åð­¦ûQ\92\8a\15¥I\82-\re\19\12\1d¿ðÚÙ×\ 6XÅòl\8d\11¯R\84¼\0ür3\9aÞ.(IhS¢ÆÅjI\9b\99Ñ&¿Ú\97þ³Sy\9f×êóV\9b\9b½r^[ã\9fo¾àÜõp\ e¤L\92L¤8zuûæ\9f»×ÇåSØÉùúeÄ`»¼zºp\8d|ôú\9b\80ê1¯»âé\ 3~.´{:\94Æþ/e^PrÍ\82Geàc|)®\92\95HE&Ȩ \83¬\1f~F7£IÊÞ¸Z\7fß@\8d-ºZ\8d)T2ÐA×5)é\15åv¢\1eµ\ fÊä\8alI^6[IÒ\14?N\96ºVä+é´Ù\91Wn¯så\ 5gä<\8b# u±\97\9dò\bÙ´Ò©\82\82E6D­Ï\82\1daÜði\94\92¥\8cT¬ð\17hu Â*o~\v\94#\0É­íð¯S2pj \13붭Õ+Ûm\ 1©´îÁ\8féKç\ 3=(Õz²\ 6éµ!ß\9b\9c3L\00Y\88Ùb\1eã:T¡â\8ef+rkÊ\1f   -ÐãèO\19tP\rï®t\812\1cí\15JªÁÖ\98\805\92¸\ 5Ì¢@±²\v\ 1Ð\Öu\7f\94\ 3ÊA\ 5(7T\9aÍO\95B>\88÷ñö~\90Å\93ÜK]K.KÕ^\1d*å.l\1c5Åx\ 1O\9bJ{\b\91\at7Ø\8eÀ\11!"\e\88ÚC-Û\81\11\bà~J\14õ¯ä^ÑV)C­\85ö\ 5mAta#ó\9d\84ºÇ\90ô¨{Ðù42À\ 6kz\1fmòûÇ{
+NE)\98|\1c\91\1e\98l\80\83\8e©?])±\13L\170cµgÙb\88\ 6t3åÀ\aV#"®\v«\fÙ\1e\f!üEvNöéù¥÷ÞYòh\ 3Õ¨\0\1a¢i\18#\9emu­CÏ1ËÎD¾d| M?0\ f\ e\ 6\85\8eºik\r.\8aN1"\8d`-8\88\9dÁzÄ´ÓÛS?B\90³nÌD"è\15zq\8b®º\8d¸\7fÌܨ\1d+÷÷\87·7T\85ÐÞL§\87ÃAäÞ\8b ûÚºN¨¢\9bþ«ð¯n\94\9b\16C¨ÒOµ)Ô£h«v ãÔr/{zítNo\8fG.Yysä4¶\ fûóÌ\ 5t¨t^Å\82A\9aaÖ¨\94ÚAtnÞZ\85(e1±\ 6\8f¸ÿ}\ f\9b4\82Þ\84\81\93\10¯\15î¯á.Ñ\ 6Âr\ 3@ÿÒÙ\ 6!O5\90\8c        ¾\87á\96\92Gþ¥\8b³f§`\ 3\94r\90=S\8f\16²\a*tY\82v\ 3g\ edx^Ü^Z²ó(ïÓ\15XØiÃÝG\ 5\9c»3xÊ^³n'\8dþÆ\8dq÷>óÔ\81N\87à¸*\ 3Î`bxÜj\8cñÙÚ\ 5\1f?£g÷\16ûÿTýÁº\82\1f¨\90\v\81ú/\f\19më5\ fO\89ÑÄö\81Õ¹\ 4Ø\ fW\11À;î0$\1c\10q=w\82®{X\996pê     L\8fC®ËCÇC
\80\8f\ 3\1e\14à\ 2\ 1lªê2²È¦?ÎWjä\ 3
+3Àá}×´¬Êyk\9cb\9dåÛªÞbês\f\98\18s\bu8õµ\ 3O\91\99K\87­ÑE¥RÅVæ\ ft8µ\11x\0µ\1aýXÜ°\9d¢ÁÆ y\87Ë!\ 2\19S+C^)\fï\13­%°\86\8a5âñ7¦Ê¶ªìXKÀhô®
+\17\ e·(Azì\8a2{Û(\1eA|\1eþ¶\18Ï\1e)X\8bc\v@\92½v¡\93ØÿÝ\8aCO¯\86\97£d\817ÄUF\8bd.\96\19wìýúîå\9aÞ;û\ 5v¡W6ï¸\9ehsF\84ëåxb²\9c½àý¿º\98¯\17x/\9c§xeã\rÙ\92\ f¾Þ\8cþ\1aý\aFRJ'endstream
+endobj
+1767 0 obj<</Type/Page/Parent 1476 0 R/Contents 1768 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1033 0 R>>endobj
+1768 0 obj<</Filter/FlateDecode/Length 401       >>stream
+x\ 1eQÁr\9b0\10½ó\15ïèÌ\ 4\81\0Ë8·dÚô\92N[\9bvzÈE\96EQj\10\95\84iþ¾+ìv:í Á²zû\9eÞî\8f\84\87cS \14P}\92³\9c2\7f^»wI±f\1cb-X\8e\1e\pú^þNØG8ÖÛ\92U¨ê\rÅ\ 5m§Ñ&\ fM\92=nÁ+4-)\88\9a\82ãB\9c£Q+^³\92\15\fg¯äpÓ¼\10¸\ 2ç\17pZl\b¼ú¼{ºC\17Âx\97eó<3;êA\ eÁ\9c\8d\9b<³î[\16\v\85 }*ð²?Èt¡\84ñ\90\18\9dµmJKÙAé1 ·ÇéD׳\ eû\b¾ÅÜ\19ÕaòÚ#t\1a_\1e÷x^\91B\98ä    ­!°\7fõA÷Ï7hµ\f\93# m¯Â\9c<Dá\85\8b¼\17ìgVR\aäiìäW\86\ f-\94%îÛ\8b\1a:I*\16\aMé~$ò#f\13ºEÕOãh]`øÛÅ5éÿÑ;Kg\88\17K'\10[8hG\86\87côÝK3\ 4ÚÄ~xÅ.F\ eOføÎ.\8d®¯\8dæ\82&V\97àyÅêÅÆýû\87{|töE«\807VM½&¦`ì2¢ôwAºÉ·\11ÿß\10+Q3±.hÞñ´¬£ÞÛ&ù\94ü\ 2Þ\96±vendstream
+endobj
+1769 0 obj<</Type/Page/Parent 1476 0 R/Contents 1770 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1770 0 obj<</Filter/FlateDecode/Length 1413      >>stream
+x\ 1\95WÛnÛF\10}÷WLó"\19\90h\89¾û¥hsi\8b¦I\8b¨\b
+øeE®ÄµI.»»´¬¿ï\99½D\14á¦)\f\e\16¹³3sÎ\99\8bþ>YÒ\ 2?KºÎéü\8a\8aæd\91áãb\91åtqs\8dÿsü\1aI\9b\93\1fW'gïn)_Ðj\ 3\93«ë\eZ\95\84ã\v<)¦¯+Ñ9ihy\9bÑOF÷\1d5¢ëT»¥\9f?~^}<]=Àü\82\96Ë`>ÏoàbUN?9a\1c\1fÛ)WÑ'Ѭ\ 5\9d稻JP>#A­ÜÑöèÊMß\16\96\94%ñ$T-ÖµÌhUI*zcdë¨\91®Ò%ÝOkõ(ë=9Í!,h¾<\ f\8e\8bJ´[y\7f\8a7\bµ\15[I\ eöÞ\91õ\17\85nð¶¤BÔµ,C\1a\971\8d)Ùfí\rd©Üq\8aÓ,ú˯²\vN\94\83Û(c\1d©¦Áyá$\80\15\16\82Þ\ eÜ\7f\81\ eï\ 4ýþæõ\8cãq\95p\1câ8\86R7Bá`Ùà¯\8ff\14 éMx\ 2f\13ü \ 5$\90\15º\8d\a\12?Sö×jÀ®[\8f+>vÂ\b\80
+\8awÂr¼%ǽUO!ðZY\87Gxn,Õ\1a\88\8cÚVÎ\12§YIe"*ÉÿN\9b\ 4\93i3úÅùË­n$0ت\82¬ë7\9b\90ºUM\a\ 2\8eÖ½£R\95íÄ\91\853IOÒ६kÚhC ­«å3YéúÎ\8e¹x/Y $\9f»\9a¡«\90©\82k\8e\85\ 3ý°:û\9cÿ:ãü*áóCþ!\9e\8d(%\89\9dØgô¹\92\10`\8bèë\9a\ 5\1c¬Ø^\8c\92ä`z \87\e!\82h\ 2 ;£·\0\95
+èÀIK>ï\80 K.H1£\ fÚAß\900\8c'?0ÍÀÚ\b§\8d\9d\84\12>\ f.ìÈ5Rðºñw\ 5\a\9dQOª\96[8äÚð×\8aµª\95ã*¡P\17þiÉ\1aå\9b\9d\ 2Z@\15¯\1f\15\10\16í\9e\83/¤µ¨0\86»Ö,`­ïOG\ 1\98¾m\19\9dÀ\7fTF#\8aJ\ 5e\8dS\9ax        \85úkd³\ 6L\9a\ 50>w\9cº«úqæ\13ÕVÒ(7ù\8a1\92HX@|\e\14ÛäAËC\b\81\98Òc°\96 \11p@8\83¨FÙ\1eÓó\85\9dpk\85º\91Ï¢p\91K\8bz¢X\1ex5²\1dkÖËM$\95E\ 4\19§\a\r(}1
+
+½`Feo\18tO=ú¨\95Az¯Þ\84^ñ¢\88"Σ\8cÐ}<\19e\19|ü;\13\89§AIgôÖ\97e\80\fµ\15\99|9\8c\91ç Ùc\1aS3ù\9a"hÇ\85Yëív »aPÑOjÌ\7fé\9e\ 4F\1c÷»\9dnK\88\ 6ÐqO\80Ü\e\81
+ñu\89Ø÷º7\ 4Ö0¢\18\96P©/ç6Êe\fø÷\98UÂM,O\80\1a\1cØ{Â1\84ç)° >(®oÕs(tT[o{o\82¾ÅNÎÞ¥®>=\93®8{i\0Ü\9fΨ\96ì\8e§\18·:ÖIÙ°ý\1c#\ 1\ 3¼\9c.3\7f\1f>~\19\91¢ô²r\15T\16Ø`öCÚ^ZM\8f\96t\9c^FïÐ\12 tnÁ¤<nèë\18Ê(®Ù\83®Ð!ÑT\1aaö³\11N\1ea\8co´òÿ\91\1fv\a¤Ukýè;Ú]Âå\96w\8d9f~~\11fpHûîùîr\91ߥ`f\1cH0Ió\8fA9¿Î®\18\97ü\80Ëå"\ó\9bèPZ\0\97°áVûÕéì[Ôa\v\9aFÃõ\9eR\97d|ãÆ\11³H»\ 6g\117\89áÒAó\82\8eªÚ¾¢y?à÷à\8e\93JW\9c\87¤æù%Í/ó\8cW¹)ê`\822ÀÄ\9cy¢ðgÀ\94/\11Î\17¼@:\83\19DßE\12ÓåïÓTy3è6QA3."È°\ 5ý\9d\9f#¬\15¦\19\18ÿó sT\1eÏ\98\ f«\0QF\bÎ[\89Ú\86¢\1c      \87O\ fìS'Læ\ 3AÎü\84\8e\9d25óÔNï§\88,\rr\83Ò\vÕ\8e¥\ 6}lä2q¶SíZµ%\17\19ç¶Ó}]ÆÉ\1a÷#QøIÉIQ!\8dc\fKed\81\11îgî`ðï*\9c\ 2\r\87)3Þ&B%b\9eÂÛ \1d¡êj\11[~8\82\99r\8c\ 3\1d\94ö­ê
+Í'Ü7wqÿMe2Ðdâ\87×@?p\9f\84\8f¬c\9föë\1f\93î¿\13\10k\8c¥´\81¨X\1aÿ©ö§P¨7\83M\16²\86z¿áûÇÅÕMvu\99Çvw~ËW½]\9düqò\ f\9by)\9dendstream
+endobj
+1771 0 obj<</Type/Page/Parent 1476 0 R/Contents 1772 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1772 0 obj<</Filter/FlateDecode/Length 1432      >>stream
+x\ 1\8dV]oÛ6\14}ϯ¸ÈS
\8aí¸Nö°\876k\8a`«Ó-\ 6º\ 1\ 5\ 6J¢$6\92è\92\94]ï×ïÜKÚu\94î\ 3A\12Ã\12ÉsÏ9÷\~9\99Ò\ 4?Sº\9aÑå\82\8aîd\92Mh>\9bd\v\9a__áó\f¿NS%\ f¦\8bï<x³:¹¸ý\81f\13ZUØkquM«\92°Ï\ 4ß\14g7\8dZ\aíð<£\aÕå\8aÖÚUÖuª/4\19ï\aí_¬>Ë\1eÓ«¸ÇËËy6Ã.gX4ÍèÆvkå\8c·}zsNÓizsv\ 5¨xsÕè´½×n\83ó\ 6¯=­n>P°\14Tû(ÿñRÑ\1aÝ\87\8cVÍàÉT´³\ 3)T\18ÜÎô5¿å5pUdÂ\1e©§­n[yÓ7vhKÆ;¡\97ÓË\88ÒiÕ¶;*\ 4\ 6ÞeílíTç)4*0\1a|ÐäU§ùQ°\85m\19\84¦Îú\0\8aUi°\87Ú(Óª¼\95\97âzpE\95Á7Á©ÞWÚ\8dN?ìÏÅr%UX\13Ö¨ÞâD'\1cäÊë\92\1eÞ¿AqÌN\96ö\98-²9³w\17yت^°\a\rHªV¦Ç\7fo;\1d\1aæ¦5\8f\9a\14-W¼ýÇêc\9dvãÊz¡gkÀS£6\0k©4^*\ 19\94\ fA\80Ø~\84^\e\ 1\89?I\19Þ;\81¤{~¶5à\8eUêÔ.
+\91kðÉ\80\14\8e\81¶à­4\15\98\81°\aréÓ\99\1f\8a\86\94§¥\ e¹\1ȩ\17àd¬]\14M¼%\a\804Âþ\eÕ\9arÌÒ;Ýk'Ç1\9ch\ 5\97Qã'îöäM\a)\1dÀ\81\vÖ\ 46pj{\90\91üZë2£;P,®ÚÛ\8d¾\f&\80è\11S9|U)Ͻ\ 4É{ZÞ>\9c\93j\ 3ÖÖ\r¾2\9e ì\8e:®ºÔkÝ\97\9e¬è\ 2FwXØ\8d\vzÐX¡Z\1cl×0\98\b\1eR|ë8°\11\1aúÆòÀ -í\ 6ýpÎ\bÄ  ¦_®PG/V¡\ 2^óñíQ\ 5©ñáD\96;\87ÉÎÉô$6å>Ñ´µÎ£7ïÈ\ f\80\19ùES×lÈJ\15\ 1æ@\9d,R\84³\ 1ÏðgÜ#U)fÃÂÑé\8d\96û\83K(\9d\9eû²d\92ø\9c\r2Æ"\14"W>£wx\aEE\1dÁNZ\1fON\9a\15Ú\ 5ô    TÎÇ\a2\89:\98\80]¸L\91\9b¶ðû\13´^Dá\ 4=N?éJ¤ß\f¡i\8bG\1dÈ®\83ù\8f\0äÚø\97ú¡Ëa\13[\81\9cãÅ(\13&,`\9e\1a\81\138oÐ6\89æãXÆJu\14\1c)R¹ÿG¤
+\17c[­@æ÷\ e\8eÄI03N¯C\90\80Èá\80½\b \r\93¡DÖÀ\86B\16Kóò>Õ\7fÎ\86\ 3\99Ïåõ]\9e\15¶¯$+¿\87èô)¤S\9c_0¥L\13\9f\0ç\ fÜ\14ªÖè#_8\ 3«RcѺ<\1cÄ\94\88$FYC[\99IO¦\ 1×\80îS"Ø\18Ê;T-\83æ9IÎÔM\94§S\92´pþ!Ù0,q<\82Çís\82\aè¹\98½þ¶gG[g\11\8d\10y$U©1OJ\19\8e>\ f\1cñ^Ò"ΡÂ:Ç^`Y\0Ð\8b\97$Qb\98p¸î㤵\ 5\18ê\91\fÖ=\8e+|&?;éÏåýOo\7f\a·/³Í)#nÄ´å!i\91¾¨\99\1fíû\9d#\1e©´\8fv\10À£\90Ç娲\84\ 3\1dû^õ»}\9a9½¶\8eÅ\82åUY2ç#\vÐ\8fÇÈN©´\ 3&oÄÇ\ 3ù\98èÑ\91Ò ÑÏ\12%\91B\8e4Ò_×­êE|\ 4\99d*jì\ 5¼¤´0\0P\ë{S8ëm%Óñâî\ 3ù \8aG&É·0\9c\19\8bèá+qO±¦×7?ÿ{x\fô\e\97áÍ_Ò·\17·ÿpq\8aÙB§R4¿}\9a\82!i\ 5\17´
+\97\8a\8agú£\VüÅÖaJájÄ\81\96\14\ 41\1e\eKuv`ï`µ
+Ϧ\9a\96rÒÕÆ!\8d9*Ó\J\9dÉ÷\96\94\v\1e\18\9eÓ\v\ f\ 4ÅùáÓïÒ\96ø\9eKÉ1n1ô͸C1\95ëý\14\8dsSµ\83x/\ e\82\14w¹®q\ 1B?!Âa\1e\96\8b\v@ÐÃ\87ÒG\r\1a\b\91\ 2q¦m\eËW7H\88\98¨\9cíxÕÈ:\89«£$\93\91Éü\1cáÆdä\8bÈS\ 4¸É\ 2Ä\9eì\84\83¯W\al\8c(g·qý£\83\ 5\ f\v(\r{q{ýí\16ýj\11oÑÿ÷²>_\g\8bW3\÷qy\9cÎ'|ÒÛÕɯ'\7f\ 3ßt\f$endstream
+endobj
+1773 0 obj<</Type/Page/Parent 1476 0 R/Contents 1774 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1774 0 obj<</Filter/FlateDecode/Length 1324      >>stream
+x\ 1µVMoã6\10½çW\f|i²°µ\96¿sè!A»À\ 2ÝnÛ\18(
+äBI\94Å\8dDjE*\8aûëû\86\94½\8eìM\ fE\91\ 4\b$qæÍ\9b7\8fóõ*¦)~bZÏh¾¢´º\9aFSZÅÓhF\8bÍ\1aÿÏð×HÊý\8bÅì6Z\z1_..\9f\887«huéÄrsþü~{õþÃ\82â\98¶9P­6kÚf\ 4DÓ)mÓëm¡,\99\94¢®\95ÞQg\9a'K\89´\8eºBjr\85$[K\99á³\9c2e\9f\8c´tü%\894\95Ö\92@9VUª\14Í\98
+ñÌ\91\10tO¥r®\94$ó\¦îfûåjJ\93x\8eº¶Ùõëø\1cÞhIÀSµiA»F
+'\e\0\10\ 1\85\ 1\94&êcÌV \r\80\97É\´¥£gQ¶þ|¼\9ao\16cJZ<;\ 5ñRËFUR;á\94ÑÀÉ\85¢Æ\8cóî¥#g\10\fI+\85\a\¹©\9dªD\19B\8f\aø\99\aå\18\9ed¹g¨\88\81c\9e¾\0§S%\1f\a\15¾ |\95\80:Îj÷ÖÉ
+Üé}'ö\11Ýõ\ 5p7hµ\B;\b]\e¥Á µ\17\92ûØ©h-Ð\9b\96Ñ\8b²4)h£JV\ 69[­%7H4ªÜ{îÞ\7f¸¥\18\1a`1Læ\8bÀâl\1a-"ú$^è¥R¾M§\9a\99ÌÖÐ\15Ⱦsd\9dh\[û*ÓR\81K/\a+\eF­åÎ8Åù\ 5\8d*ñ¢ª¶"×\bm\11v\ 4\85ü-Ç\90\95B{K¨ÅY\1f\87\1fs÷µ\14\røA\rôðé~Pojª
+\84Û\88þB©)4a¹a û\90Ç\87ñ-x\10U"ȳó\rQkY\94|\80\91ùBéG\1aù\16C\fJ\ f\12Ú*\89R£ó\88~5(¨ï-:\82ß³´@\ fÈ\18ê¯-OÎ\10\ 5OIí\82"µy\ 5{\98\95¹8êè] ø]¨%D\89h\8b\1a\ fµ7è²zæ\19Äq\0´Ü\18è!0\91°4\8fgX¶þù ua´i\e.\ e\ 1|{\86ÃöÑ\1df\r_\99^£ÉÞIK\8f×'\9c\84RÃpÔÆZ\95À\ 4|YÖT\a$\18t±'Ìdn\9a\8aÇ\82ǽS® 1\80f1\83%{A/%èZ9\10Ñì½ÑðÜ{{â9á4\9afÓÅæt2\r$Ãsb%t*©n\f\10Uö¬BM\95A\ 3Sa\11\91K:\98Kßu?Ùì
+F¿9NË\88~1;*\91®äb.ÎÓÇÜÏíAÈåá\0Ø\14¥5ô¤M§     .5ÊdÒöÑF\8f7T¨\1d¼°¯\94aj\1f\88é´-¬¶ÁüÁ\8aw\80ß\98ú\Û=çB§\92å\84Úð\9bÈ@\11WÝÏs^¶¶è\89`t¹B\eEÎ}\92\ 2Cl\10È{éaªy.\13\19\WÂnµ\85*ß$j\15Ñ\1fRdÔ\88î»<m\81h\84ëÀ\7fÅ\13ÛgeÔ\99´j§eÆ\82Dfä÷\9e­¬ÌÆT\9anRÂ\8e\ fØ}\90ãyöܾRP7Ð\Z\18\ 3Á ,O¬mëÚ40{Lqa:VQä\9d/LX%\9e@Óá#èù5^\96\8b(A\12\8b\eS\91HÖ­Ô\ 2"Ì(\19¦î5wA\9caz¼8\83\ 3\80\0£\7fp¸Ët\86Þ\9c°\ 4\84{ê$Ì\94\a^¤®Å\fá\16\82k\82\16tðD\ 4\14Ì\11Èüð@\ 1CH|ì\9b\83Â\17\9fá0¾*\98\1e\1asäôl¤\1eLÐ&$\8b̸(\99R\alG¬°amFý="q?à\16\8e@=Ø\bø4ß,~ß\88\b\1eT\85P\Ä\18ºA«    \84£K\83\ e
+¿t\84ó'ÅFôYóe\r£æ.°dQ\ 2sãÀÖ\9bb]Gôg£p\eü«Z»ÃgÿI®!Ê\91ÛÿU¯¯\10¿)Ø\ 1͸]¾#Ø\aöú
+F\81u*\98}® ÅÑI*\e´èe§q\r`×òoÇ0­~S`/>Ú[§lÁ\ 2J!xØ\eßU\ 38¯ÌyÓ/¾ñ
+{÷fN«ùmXe\1eî>ÝßÑo\8dù\82½\94~2i{Ü\v9Þäp`²\9eÞòês¾!-Vض\973¬Qx\1d/b>öóöê÷«\7f\0i6Û\98endstream
+endobj
+1775 0 obj<</Type/Page/Parent 1476 0 R/Contents 1776 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1776 0 obj<</Filter/FlateDecode/Length 1474      >>stream
+x\ 1\85V]sÚF\14}÷¯¸ÃK\9c\99XA\801îL\1f\1cLZf\8cM\8d<\9e´éÃ"­`cI«î®\10ô×÷Ü\95äÄÄMÆ\1f\ 3ÒÞ¯sϹwÿ9     ©\8f\9f\90.\ 64\1cS\9c\9fô\83>\9d_\8c\831\8d&\17ø<À\9f\91\946/úa0:~ñ!:yÿñ\92Â\v\8a\1aOB\8a\12\82\9f~\9f¢øtÐ\ f&\ 1­2]Ó4S²pömô\ 5\16#
+q\90\ 6\17\b\17%§w\85¤R\1a«\vÚ
+\8b°¥6N&ä¶Â\91\95Ωb\83/8d´Ó±ÎÈi\9aÞÝÏ\967\ f+2\ 2¯\f\1f.èæêvqu; \8dØI\12\94\18\91\v§b\8e\8cxá0\18p<[JxW9Üíd\8eÔèóijtNaÿé½eçá9\7fúü6h-\a\ fË9Ù
+Ö±krÛ*KËé\e\vûádl÷á\98ÖÂÊäó[ª%Ð\13ö\89SOµ¡\ã{"\9ch\12\a\8au\95%\14oe\1dÐWÏ\82¬ÊU&Ì«Y76k     ¤\12Z\1f\9eáé\19\89\aFÔô+\15ºG¢H¨\97\8b=ísåðlÐ\1fMzïH\15ÖñA\9d"®(6ÇÈv\ 5wPÝh\14Ò\1djbXõ¯ìQ®6[G"³\9a¶2+½Ý·t8\e\8e\1aÈÀ\83Ë\96\a7\1añþ\9f\ 6\9e+\99?C\82ÑËrm9F-\ e\96\92Jrg<\r\84µµ6\1eºØ#ìT.\ 3z°]¦`\9d\84iiD\8cö\8b\8czeg\93É\9dÌzGØÖ*Ë:B \ 4ÜXÐ'Ó. Oºj\eå\8b\95\85XgÈ\ 4lì=|\9cRl\ e¥ë\91.\9d\ 2}Uáß,Ä\93LU&\7f\88\ fZe\90«
+\84ä\9c^×Gêd\81|\1aÞ\82µÈ §\18|\a\ f\1cjd­4ÐÄ^j\ 1EȯùÌÜ\ 6ÿä^ä%\12\7fTE¢kë9ù¨ÍÓÆèª\ 4ÓÙÝ\11\87å\10U\81\bìe\r1BkÑtÉ\82Å\93\\14qS&ë¹UÉJJ:èÊt\19$:n\ 2&Ò      \95Y°½ R\18´¦\ 2Ïß\81ü[\16ìV
+4ÕT9l!CV?ãü\98>nZ\80=y¾Q2\12y\9cß^ß=®æ\7fÎ<çñd5ûm1»\8dü#\ 6ÉûF7\85ÙHn28AèÕ\ f
+¸bZ\17Úq\9fy\ 4é\9c\a\94fü¼³TW\90×\8bñt-SQeî>Þ5\bwTøk±BJ\7fC§`"¢Bx¨é\béÕ§U4[\ 4óÛ91m\bÞ\81²¯\e}\1dö1¥7j'\99\93kµé\88Ê\93\8b\a\8b7\8e\9e
+LÚz{è\14Ü5cq ]\17è?êÅ\18\8e%ÕnKߧÛ\ 2\8dt\94Wñ¶kö78Q­`ÛA¹\13\194ùù4\1c\ f'££\8aÀ\15\8f·Á\f¥;Tl^\0ørÄ\8bâà5G\18Ǧ)×BÁ\9c\91W"\b\8b\ 2
\ 2Ì°Ù\ 1\1e\9f7ÆQ\\88»øº@:É$F\97\8c¼ \14ÍGnø<ì\ 3-\1c\ 6Áj^\ 1~\ 1\ 1ù$¼\1cü\1cÚ9O\18½Æ@8P"KY$íÔ`zy\ 1lAè\1a³ì\9dç&\93Ù\1dJÉá¡ø=­õ\9eϵ\fmØ®=XðÕR\852U<\1d7u  ®ÑTÇ[#\80\ 4/M\90@6Du\98|<\a\91C;\ 1¬J¼\88ù)ï\85\98ùÜ\ e\8cTg\80\9aßĺ\88³Ê\82¤ö\97\16Õ\8eCsl\r\81      É\ 5<\ e°\91«2\90\ e\98¬\1e¸º®\83\ÅF[L\8d\0\ 1x\ 4a;â\17
+¬Jl>\9c\ 4òì\ 2á¬\8e\9f\b\9f\9cÊ\94SòXßõV\81\88í¦þ\91b§ºHÕ¦ÂÖh\ 3\\9eó\94\9a/A\86\8d²Î<oJ¿ßYM/øÝÌ1\88©²|q@[7¸;`(f\99L\8e\88\1eVËÙìÚCÐd\bÕh\f\95Ô\8b\9b
+       ]Fà<\áo'\8c\ 2o©éìs©M\7f\ 1\90§Dj¤\ 4\8dÄ\ e\ 3\927\8cwp\14¸»
+51}\r\íÚ¯º¯ã¸¹oøؾ\91¸à=\8fæ\85Ø#}º\979´ÆîÏp\eÃ}-9\r\ 3âïøú|OºÇl}í(¤q|\14N¯*§¯\95\8d½\88ñ\81«x\11aøªÙ\87\f$ø]gòZ:¾X½f9úÞ2ÂƧHÓ\rwræ\97²ïÓs=ç?±9£ßï\96+\1a\ e^ä8þÞêözNS\81[\1a­pó¡þ\8bó\17Íù÷\1f'íµ6\1cáæ<\19Òø|\14L\18×ÕÕâÃ\15-\8dþâ«ÓqÅs\e·Rí÷íY8Æu\e\ 6g\17ýK>ÿú½y4\9e\ 4ãóAÛª\91Oz\16\9düqò\1fq\84³\ 4endstream
+endobj
+1777 0 obj<</Type/Page/Parent 1476 0 R/Contents 1778 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R>>/XObject<<>>>>>>endobj
+1778 0 obj<</Filter/FlateDecode/Length 888       >>stream
 x\ 1mUMSÛH\10½ûWô\9eBjc1ú°lr\83\0[®]¶¼\85\ f9ä2\96F\96@\9aQfF8üû}=\92\89)(ªi=½÷úuó}\11\93ÀWLë\84Ò\9c\8an!"AY\12G\eÊ6kü\9eàÛ*ª\167ûÅå}FqLû
 \8fä\9b5íKB»\10´/.¶äm£Jzi¬\1fdÛ¾\12~\90©È×\8a\1a¯:G\9dÒ¾1\1aM\8d\ eåÒ\14\ 3\17Iê2\14\8cÆsè SÝ\145u²T$©lªJY¥\v\0åãþi!h\19§Q\ 2
 \17'éÂÃÎ\14ÏÊ\93éù%.¢­'?X~\9d\19<m\89û\ eÊ{eA«¢Sãkþ\83Ô¯¿ñgBMò(cÔ-(*\vÖ\90`^\94e5®W\8c\ 6MVj\aN\9f\18ð¤\94¦\17i\e38 ê«\15\15m\ 3Y.è\92tû5Yæ9%âá\86\9c²\0\v/'y&¤°²ï_éï»\84=-L×Kß\1cZX\0{L[Òöö\8eJÛ¼(úvñ§\82´\96Ç\13¥âÛÇ\88öðyæEVz\98\bÁVIg´d\94ÊX\8a\ 5\1d¤Sû\88_}y/èj\9cæ2ÉFÙ\8cR5ÇÁ*°·ê3½}vðê\7f\9f?`ö¬@ /0m\17Cç(\9eÒ/¦£BÚ2`d\89Xf\99x¾¹t#ÈJ\88å*   \85\9f@X}pð\f\ 2\ e$Ca5\16Î@n¿fËõ<\88ÉÒQLº\16Ëtó\ e$MQX½1y\1fòe\92\87,\ 4ÓBD\1dLV\ e)C<¦\10\90?\19xÖ²c\94E+LÙ«\1f>\94¦\ 4Äs\91ÛÆQÁà¡å\88XýÁ\ 3¿ÄÀµkJe\e}\9cÅL   ç\15ªáä   \13¡GÙ\1d$5\18í 5zA\85³þ\81ßΠ    ÂÖ\14u£Õ/2ÍÃ\1dú\12Ù8[Æ8ðLè`Íp¬=\9aÂF½)ä89ª,&ú4°zÎp,F\13±ÌÎtj\ e}\88\16Ös^¤kÒê4Ï\13´%íÒ4eµZ\15>\\f\89\1e8\1c\9c\98À¦\1e\ e¿\bõÄÂ×@:á(ÐÑ\98òó\99
 ±\98ØaP}Øò\92r!~\ f\ 1Dí¨ü9Ñ¿\8cyf?¥'ç±rLä~¿\83\13Á\15 |úÏ|I\87\ 6\ 1      lãìÅÐcF¥ã}Ü\92\eúÞp`j&
 Â\9d     \84\7f\1e0\bM'Ñ\85éöÖxS\98\16÷\ 5Ü\9b
-\a\14\86\r8\ 1à\1d¦cÂ\80Â\9aã\1e\8d4\15õÊV¦\93|)O¡ý èû\80ëË\8a\8eÇ\90­iõ7Ó%\8fs\ùMJÉz:|\8f×\ f7×´³æ        ã¡ÛéDã\12\19Í6/ç\a\96k\81ãQ^$«h\13Ñ#\9c /ãÙã¶,ßDù*Á?
-´ÄÙ\86kwûÅ?\8b\7f\ 1ô\að\88endstream
-endobj
-1792 0 obj<</Type/Page/Parent 1479 0 R/Contents 1793 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1793 0 obj<</Filter/FlateDecode/Length 1453      >>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奥Ñ4¡¥±^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Ä4\84©Xä\ 46HêÔÔ<Ù\f\ 2#h\r\ 6´ìC`\8f\12úgÑ2%Ì(¾m­\80#\847¬ç\ÄQ\ 4G\9dÎ\802[cfY\94Ì"\¡\ 3\11\r\10úy¨öÊï\ 2ÌWtÂhÌ^fÑ\95º\ 5\ 4\ f\ 1ä̤5O-Ö!&\ 3½Y\ 2¾f\ 6\ 5[µF'ÉÉgá\8fÀ5OX%\9cÛgëÞ\ 4ÚjàµôÜ2õ÷\ f\81£²ÆH \ eÚ¦)A«M\8e·\90HãG<8+dέ\94ϯ"O\90\84úB/[\8fäÝ\1dJ\82\92\95Ð0P\80K\85f/\8d\86')øõOMn\94ÐÝÕ-Ýkõ\8d\ 3¿výÆè\9a®\87Þh2EFOh\ fÛ+ì®ÝÍ\ 5êX¹8\90\96`\96gQb2Ê\8a\8f\16 \]-Ï\17K0èÓ\1dêã\11\8e'
-Vò¡ò]iÐt
-M'ô\17ZÍNÎ,\86íýçTG1¦ÆÚºò\94 /ÈãTrùÑá\8e~ÿBÏL\7f\b\17¢\ 5Ð\10Çýíõx~AWFk¤ç:¯­â\92éîÃ]B\v\94äH<AÇ\ 2ºGÿL\19h\80\9fû*q©IÀ\7f\9f2Åè\8d\rÇé\8b3\rAúѽ©6\192\89äsh^ûTx\9b|nÔŧ÷\8f\ e§qB×\9f\16ÿ\7f8ñÇ`N¢\1dÏ('\b
-òmÔÌÏÛø\1cÔ\bÁâÜðJ£?<­Ì   Zù]« ±¦9?:0Ц\ 3íÙ´
-\99{\1eO\96
-7/àº\82\9fo¬ÀñÈq\1dÄÞXyw Þ\87Á\ 1ÛñdlÔ²9P&sQ\17hµÌ\ 3T\ e]\8aÔ\1aútûåÝâº\9dê\90Î5]\ 4\ 4¥£\19&»Æ\1eÃ]¦£;\ 1\ 60K\1c³±6\ e'\0ºTì\18¸§\84¢Ùó\81-\176j\0\86.\8a\87Ýy\8b#Ïói³7ÏÇ\96\9dï\96¹2Ð÷W       \91¸\92\16vÎ~ÛN\13\9cG\96,9\86\96\e6:¾Êà\86@y­\83Tѵ\b]\93ÄÌÀÂD\16J)1\8e\9d:\11ÚÒ±\17à:\1c³ØU¢`ÌäÑ>^ÌL\15Æ\10u7ÆÉ÷\10\8aÞ\81[l¸1ö\1aU%á:wô\94Þ¯íºËöbÙ\·¨ù\97l\v\9c%D_\9a\b\ 1.ørµ¯C\1c\1e©æ}»½4Oò+\1e~\99ÌúÙ ³ùÅ"dÀ¢á`Ð\17?Y\15C\rûÙ0Â\9e¿¸\10\1dð'\17èÉt\9eL/F¸u\ 3øprÉ1Þ­Nþ<ù\ f\84+ÂPendstream
-endobj
-1794 0 obj<</Type/Page/Parent 1479 0 R/Contents 1795 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1795 0 obj<</Filter/FlateDecode/Length 893       >>stream
-x\ 1ÝV]oÛ6\14}÷¯¸Húà\ 2±"Ù\8eì\14ØC²´\98\81¦[\e?l@\81\82¦¨\88       Eº$UÏÿ~\87\94ä:Î\ 4ìy6\12KÔå¹\1fçÜK}\1fe\94â\9bÑbJ³\9cx=J\13Ü^/\93\9cæË\ 5®§ø³\82Êø`6Kæ§ë·ëÑå\87\94®i]\ 2)_⢠ ¤)­ù\98ºOm~¨p9ÿ:vÛ¯o/Xövý4Ji\92¥É\12;\ e\86Þ²m0<¿\1e0Øpî\82AöfÀà©\8e\0Ä\85µÆ\9e\18eoÞ\9d¬\ 4¬ðáÊÆ\b\8btÀÀz\17\9e\~\98S\96µÙN¦y\88}Ûxò\95t$5~Q,©\ 4µ¶(f´\1d;áE#\8bä\ 4c\1cÃ9*àd:G\8d\8f
-\92<*³Adß:\84\93èúå¡´Pxñ\1dé\9dÏ\17\17\83©õì\9cgizÁ\86
-p\80J/\8a!úz¤ÿ%ϬôÂ\12·\82\1f#Õl\83úFÂ\1díM\13Ö41çD½\81\ 6pWSã`ܪáêX9-ÍÌÑ\vi %¦ù\8bG\8f¯Usdä+æÉU¦Q\ 5m­)\1a\1eÝv!\r\88дë½\90ÇÄtño\82\r®Ol_¸F®!i-DAÞ\10+ðS    \87\bL¬ÎÇÕíÃ=)©Eß\1aw\9fV\7f"aî¥ÑdÊhõÀê\r£{ö,Bã$ô\97i,ýÜÚ\v~\96LC_ì¤Ra\9b&eÌ39S\vô\1eèPò9¤.Ý`Kµ\98¿Ä\82ÇÔ\ e¥74QúeQb¢Á!Âé\v\1cÝZ\11\1a!F\1e2\eôv^ \1fdþé÷oïWw\ 3à¥5u\84:-Lk\7f\18\1fRsÕ\14Â%Uûà\9a²E7\83fÝÀ\b²Iè\8b(~\83">JÝü\8d\9bzcÁ­\9f¬V¯\ 3X`È#¿Û=!RÖ(ßo>ÞFEcCu¥v\9e)\ 5å\838\10í \19\12ÚÛ} ûRx~Y\19ç±ì¨4J\99Ý0\ fqÞâ_6Å        \83o\16¨Ün\18\7f¦³\0¢Y-Î\92³ÂÔLêxó:ø\18ú:\f\1a'\1cµ*B,\ 1\8b"\98Ñ\9d\ e\ fðR£\83KÆ¡²5\ 6µ\15\r\90ØF-DɤÂ\82!nêºÑ\923/\82\7f\b"ë4È\8dµÐ°ÚÓNú*ò·3\16\1d\18ú\b"±¢4\96j¶§\0Öbõ;´x4^\ 2\93v\95i]\v\98º0Z6\16e\13P²óT\19U`   \88\87¶Ù¤3ìçǯm\94\12\89\r÷\8eî\84Â9\14\ 3n¹kG\1aB&$Püä¡;Ébë\82x\e\aÞ\81¯\96\8ee7Ͳ\1c4.g\94çóö,\7f¸¹¿½¡?¬yB\91èÎð¦\86·(\9d°sÒo\98,Òð¶0þ\ fÊ\9dçx%¹\9aâ\r\ 3öÙU<¢Þ¯G\9fGÿ\0{1m\ 6endstream
-endobj
-1796 0 obj<</Type/Page/Parent 1479 0 R/Contents 1797 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1797 0 obj<</Filter/FlateDecode/Length 255       >>stream
-x\ 1m\8f1o\830\14\84wÿ\8aS¦tÀµ     \18g$J+u¨Ô6\1eº:`RG\18\12\ 3\91úïû\10M§Ê²õ$\7fw÷îÊ$\ 4\1d\89"ÅF¡
-Lp\ 1%S®\90é\82æ\94nthØΰÇç-d\ 1Ó\90Di     S\83p!`ªuªxÎQ¾|>\98ó\ 2f\v\98l\ 4\99\99z!$ÇÁ]'×\8dÞ¶øp¶FùEï¢Ê Éu¶ORÊ©×{?Øcë»Óÿ*LÃü·º\85\1c\92\b±\82\ f\97ØßÜ\80Á\86£ÅÅŦ\8fÁv\95ÃàO\9do|eÛö\9b/\91ú7R*j«7Ðù²í¡|Ý\95x\8býÙU#ö}5\ 5\8e¾ïfarç\93BlÿÚÝûgJs\95§Ô\83:È\Î\8a'ÃÞÙ\ fº3c\1aendstream
-endobj
-1798 0 obj<</Type/Page/Parent 1479 0 R/Contents 1799 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 1102 0 R>>endobj
-1799 0 obj<</Filter/FlateDecode/Length 1655      >>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ÝaBS\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½Ï©\ eÕH\18å
-tjbê¢M\80 "\ 5OBrÚ7£ý\80>\18Ǿô3\13>ÿ\8728ïFíî\9c\a\1e\8eþ<ú\17\19û\17Eendstream
-endobj
-1800 0 obj<</Type/Page/Parent 1479 0 R/Contents 1801 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1111 0 R>>endobj
-1801 0 obj<</Filter/FlateDecode/Length 1609      >>stream
-x\ 1­WßoÛ6\10~÷_qÈËRÀ¡,ùG\92\ 2Á\90´É\9a¢I³Øk0,Ã@K´­V"5Q\8aë\97ýíû\8e¤bÇEÑ=¬iU[$ï¾ûî»ãåï^L\ 3üÄt\9cÐpBiÙ\e\88\ 1Þ<?î\7fá74I&x\96\94\8c\8eE\12¾\154í%\93\131y^\1dM&âxg5\1eÄ"¦ñ`\88=8{\1a\8bqøÆgÙîèt(Nhtr\8cÏ     þÕ\8a\16½xt\ 2'£x\8cgIÃñ±\18\86oݱáñ)\1f~y\8cíÅI\ 2_{\v\17³^tuJñ\88f\v\ 4;9Á\87ÌÅ8 Yz\98 $üÐ;³¦Tjº¦ÔèE¾l\ 1æã4JèAÖ\15\réñP\9b\86Þ\18­UÚ<¾êûÅX$}\8a\81ÐÔ¯f\9f{\ 3:\8a'\bi\96\1d&â+-LMSYÎåϼ\18]\8d(\8e=\8a£ä\987ýnZç´µ\8a\9a\15¢¯\95¢\9b\8d5\8b\86>\9cßÒ\8dÔr©jð\93¤ô¦È\95n\9c]\87mQ\9b²ó;\ 4_0¹hª×Q\84§(;;"5etÑÚéÆFÞ\82\8d`úæüV|\9c&\91 )¼®\1aw0\95µ)Ä:×V´ORè"ú§Pª]G\85Ô¥ÔbÕ\94\ 5ûßóZ\1aÐ\95k,\94²É\8d&ü]\81ÑÆà­mdQ\90Ô\19ù8sK©\vDе&IºmìJ\15E\9fT\967\9e\88¼Pôø\bx\9f.ïa½¬\8diöüfy\8dt\98zCfáö8ZæØH\95¬\9bÜaaÏ2ËÜz\91ke_ût\fè´ËÆH°*\ eiïO28³ªi+¡¾ªÎóÀçwo'a«VÍú\v\82\15vcÿÓî§,ëö¾\10Ç0hh®@¨¢\rTÒ±È*éÈ;/¬éSfôOM`\96s\90\16m¦2º½L\ 6¨å¬Î\9f \9e¹J%\93\ fzÁþ¼].7\82\8díù­\1dâ #H÷vºk\82µF[u¥\19¾;eUí<26\898|S\7f\89t\96ÛÈ\ 1V2\13\9eêmý\1d\rcϵ+¼¡ sD\b\14xJ\8d4òG`´­²´^)íëìñ\90\17\11\89\85¸\1e_q\10\b\aiµ$;à\814ÏÎ÷*î\81M2¡\99\81òn/gôéúò\ 1åûÌàÁ\15k\8f5sWç(6_1t¯¬iëTÑEmÖVÕ\a}ÒÆW7á+C#Ë\92\87Z:D\81ÊÙ\8a\15\8fÞ2G\85ç_\ 1\81óJ6é
-%\ fZ\7fT|\96\9bH\84³®þ\909dÍ\1f_ç(-Øíò¾ç\1a\95\90\r8\räq¡¸\9e\84âkHBB\ e\13xDãk+\84\8e\r>\vUmæ\85*m\9fl\v¤àºª\15Ç\9aë%\15\ 6\8f\ 5¨Ò²\f©Úómæ\9fQ\9b0\8cÔfµ\.\11¸\8b\96\0¥T\85\ 4\9fS.}n\14üÚ!\v|þ@:#ß³\91ÇkZ*Ô;g\vq\ 6Ågf­\v#3bM2`nÆ®;x\81Øï)ä*¯mÓ§´V \r¬Ø\15\a\90¢\85\ 1ÿ\1fw÷×·³·÷\9fþ\ 4\8a        ö\8bì\b»3  ¶\ 4®\88
-\vÞ\ 2\1cfÊz\9d\vº5°Ìç÷\18c\ 6Äåù_\8eWKek\e²MÈ°Uèh\80\84l\18§`\97\80
-äu7\88©óe®eñÜ0\9cã¾Ó3_`)£\83\14C?QÙ\1e\84\ e\12Û\1cahg\8d*;Uc\16p½ò:ôu\ 6};ëh_0{\8ekÇOH\8a\ 6
-îÂ\ e}M¶\9c£}è\85«\84\1a"Bòú\84\99*eEg\f\92Û\8b3îî¹ =¿¡»Y\ f\ f:WáÎàðÉV*Í\17¹+¼\97\ 6\ f\9f%¼g§Oì\9ecc}w·Ë6N÷6\88Ö\91ä\89c+<\ 4\ 4\90n\17êfa\8a\ 2]#Ü;ãm4\1d\99è3\81ywäÌñp°óê@\1cdê)G½ð\86\83oÐ*±\14¯éÝ\1d}\90¨Ð÷¨\87ñ\a\ 41½¼\7f\7f9\13/W\ 2ÌÎ{7\86¬ä\93\82ê\8a&ç>à½C\86²ª@\9d#\14\8d\8c\19ýF\v\v§H£\8bM Ûß,;Ì8Ü[\1d2³;\ 1õ\1dÕ^<²\81Ú*Ì\ 1\ 6M:\14±Û=\86]\11È´iQ\9f\9b\97û\83òç­\1f)vj\9fÜ©\86û\ e_\ 5[ã|¯p\95È'\99\17¾\9c?úÙÃ*hu¿X\ 2Ò>_«Î$÷\1a\16 Ì8¦¸×Û¼¬\0\8d[~\96q#Ú\v½k}L3\96\82ÛØz\95£çî\1aÞ\8b\1c\13\16[zÁÙ¶eb¼äi÷h\18&\eܶ¸k\1fr\rJY\8fµëÀË\1a-ßÍ*»#òÑp\801\9agX>\14\vú\r\93\ 3_"¨ìÙ\9b»èú\ e]I¦_|7\7f\1eW_j\12¾ý\8cË\87\19èw\r<Ï©\94{\19q/ÛEʬz¤!¾\93P@ñ\ 4¿9\9c\fi\82ÿ\1dàéùÍÅ9îmÃ7\ f½5i[b^v\13)£Ãpî\ f\1c\1d\ f0ú¹\0ÿ\9fá\1fãùþ¸?â_\8eÆ   \92\0GñxÈ\0.g½_{ÿ\ 2ô\81\17{endstream
-endobj
-1802 0 obj<</Type/Page/Parent 1479 0 R/Contents 1803 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1114 0 R>>endobj
-1803 0 obj<</Filter/FlateDecode/Length 1632      >>stream
+\a\14\86\r8\ 1à\1d¦cÂ\80Â\9aã\1e\8d4\15õÊV¦\93|)O¡ý èû\80ëË\8a\8eÇ\90­iõ7Ó%\8fs\ùMJÉz:|\8f×\ f7×´³æ        ã¡ÛéDã\12\19Í6/ç\a\96k\81ãQ^$Øý\88\1eá\ 4}\19Ï\1e·eù&ÊW    þQ %ÎR®Ýí\17ÿ,þ\ 5òïð~endstream
+endobj
+1779 0 obj<</Type/Page/Parent 1476 0 R/Contents 1780 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
+1780 0 obj<</Filter/FlateDecode/Length 1459      >>stream
+x\ 1¥W]sÛ6\10|÷¯¸ñ\8b\94\19\8b\12)Y\1fyKe;ñ$\91\9d\84\99N§î\ 3\ 4\82\12j\92PH0²þ}÷\0Ò\92Ùf&mÇc\9b\16\ 1ÜíÞÞ\1eüí,¤\11¾B\9aE4\9e\92ÌÏFÁ\88Æ\8bI\10Ñd>Ãs\84ïRQzö\8dÂ\19>uËùa<\væ\14E\vüĶámxIW\86\ 3\16a0ëîÿ%>\eÞ,(\1aQ\9câ\94élNqB\b7Â'²¿Ü\8a\9dU%Ea@ËR      «\8b\r½-M½£ûÒdZ\1eèFgªz\15ÿéΠ gþ\9cÁ\98s\8d\93>6b믺H̾¢Þâɯ\9cP\186+£Y0å\95¿\99\9a
\12²[Å\e\16ó6\90\8fs\9dhkJ²\86*eÛW¥I9<!\9fºH\90èI¤\80n-IQÐ\1aD\19¼&Sðá\9cÁ\88\ 6áØgxWê\8d.DFi\9de´+MRKÛ$ \8bÊ\8a,\ 3ll]^51<\ 4ÔÇAè[c²jXªêQÛa¡¬Hr]\fw&SÈø%Ü~@\f³9¶\93\88Ýj\0©\98a¦àM\92\f?«Ü|WLõ¦\14yE©\90:Óö@\ 2h°¨ \89\1a<6À¨÷N`õ\95®\1e{dÅ:h\ 2DÓ`Â\f\7f­\94;¹©_\97VÉõU$\b©sa\99\17\96ª\9d\92:Õà\99\13Ë\8cô\84\98\14é\82spæ«\80¬\86\",êpôñÐ\ 1{ed\9d«Â6ÊiõÐ'ee@\95­ÓÔsåPV\8c\vO\0\80â³\b+\90\88T]\8e\12%\82n:!\97¦Hõ&¸¿ûà_\1cC8L,5à1¬\8e]&$\ eÐE'I\ 6R\1ac    Hùù÷ÕuüáîíÝê\ fª¶¢TPXJ\aS;ÙA¯¨\9ftQë\92ul@Õ\ 6µÁ\ 3ïþ"òµ@7æB\17\17¤-íu\96u"\8aÚâ½Õ\fé\80\ e\17\f\1cëprÑë]ÂEâó¸G\9e\86\1f\91¢ÚèÊ\96\876Í\È­.\9aÚa3²\80Â9\93®"Þ@ñ\ e\eV¹ä¿+Î\1cÔ¶\ 1æôYU@(\15½GÊIS6'\80îi\9e\f¬¡\ 2\9cá\176¸ì÷âpÁ'\16¤\10à@\95AT\8b?\9f!0\15
+ZæȺ°jS²Ð\eæ\9f!2\aÿÀ\eº\ fæ\80\8d¶W\1d%\92\96&wç­\85|\1cÀ#¤ÙýýHdé6WÜF
\1dÓj\98\fè\9d*¤ºàZw
\127R\8a
+\16á\8a\ 6ì\1al\ 18«TnEáÈç\14X\12\fÏ´\96Ó\8a¹Ëd\8cE©É2³çºáXÔ8U¥Ókëp«x\18\8dFOm÷Q®á\11Ψ\ 6\8e\7fÄr\8d\8c\85\ 1+ï­\ 2äì\ 4Öq#I^ÝÁ\ 3
+Ú]ôÐ_Åm\17\99ìá\15R*i\15O\\\972\8f\8eSËw6\ 3Ë\8f\8e\96¿\8aiÂ1\867m\ 3Â{[ÏÿZàH[\17È'ó\12y)7\8d÷,L`æÀ \ e\93
+\98\eC\92]ÞÞA¾¼^з\9a}qSëD½æð\18£\83Ö\aï
+ß´|¢oG\ 2L\8by\96©ò\82P\9c-\ 6Gk¬½\8f\a¼Îw5æ`¯\91q¥2°çj \9f¥L¬\95³ \1e,¶ì0
+óvîØk\18\93ÍÜ\18`R\87ÔN¡\87h:k\1c¬åɽ\7f\8b\ f)^X.ã ½(\90\8ai\ 4\0\ 3G\8b<g¯­\v\eEA4
+\1dñó±\eÌ·$ò\93i\ 3p9\9d{\r©sXF\ 5\8c\aoÁ<C]ç`4x0\1cîy\lø:Ð\ 1ݬ;îßhïà>ýÞ5û\80)Tϳí\84Í\9dÑ\9eϸ\Hç\1fÖ´\85\8ay,¡Ð{þÍ\8býÍÁÀu.\b#\14\r\88OKª\9cç&Îsy=\e\93 \åkÌ-x\8bà¼\a\ 1\95E·ù\99_mõ\ evc·GÁÜ_-»\85\1cãº\84»Àt\16L<·?,æ\1c÷¶é%Ïâ¥\93\17Cî-Ù\94bÓ£ummãÑÃ\9b\972Áe,éÿðØ\96\95[ïÛkót"Iw|#BÔ­G"I<\9cBíi'ìö\82Ôæuw|Ê×\ f\ fVå»\87\87Ô\98µpªþoYy¨0\16Fë1\9e¦Ç\ 6 \1d43çü\1eBÔÖúù\89ëÅ9\ 1N\97\1a?ÇÉ\8bèNªt¢>î\15¤ÕÞ£îÞ\a\14ó¼\95h\80æºÓ\93[<;Ý¢Dÿ+\97\95Ù7\9d\89@¬¼\9f%t\10Í\83pqt°\e7\e\1c¡bÍ7Dvf?[O;¨m\8a¦­\9b\90óãÝ;\1cEÁåØ\vò_Üô'Óy0½äÿ: Êpâüý:>ûtö\17Ç\ 2ã°endstream
+endobj
+1781 0 obj<</Type/Page/Parent 1476 0 R/Contents 1782 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R>>>>>>endobj
+1782 0 obj<</Filter/FlateDecode/Length 1532      >>stream
+x\ 1¥W]oÚJ\10}ϯ\18õ\85T\ 2\a\e\ 2¤o4IoQB\92\ 6÷æV²T-f\ 17¶×õ®Kù÷=³k\13Âmnu[EM\1d¼;\1f\99\19¾\1eùÔÅ\8f\80z\ 3\8a³£®×¥Awà\r¨?\1aâ9À¿RÒÒ¾8í\9dâÏ\9f¼è\ fz^ÿg/\82³³\7f¿øJþÐ\v\9cg~è\r½\11\8d\ 2<!\80\93\89\7fJ\17\8a>\1c½\r\8f\9d\91ߧp\89Ã\83\11\1e\16\84\0»]
+ããÀ÷\ 2Ï÷h\96,$ÍEI7ÊHý:ü\82[}ò}w«\13\fqëø\93ªH¯U\95.HÍ\8dHr2kI³É\ 5©%mU\85Ûa\9f\16*Ã+\8føt,rª´$\9dÍ\v¡õfAFá\0î%Ú£{)ð\ 1Ld8V\88\95ôØq\97\0ùÂáCbÖ4\13Ù\tz\1e\83*Òb-(V\b\16þ¬ù$+Tið&µ\1f=E@"\8eU\95\e\8d\b\92|e\1dåÒ\90\16\99Þæ1eÒ¬Õ¢qé÷\80\1c\\86\88\8c6b»³_J\9b©M¯(Õ2I\91\8e4\ 6&5 \9c\95ð\8cÿë\0JηÔÖì>ð\9d\9eïr²\88\a\1eME¾\10F\95[ª­¾\84z\b\80Ä\}\ 3L6b\9bõ\²\1f\vg\Ja,\86\aö\10\92V\1e\85
+\80åß$\83D«RUEã\91\92\1cå\10\f¿»ZÃß`±K\17\18§[JUÌ\8e¸`7áGdé]\8c\80ÔT\88U\91 ¨æ\1eÌ\82ö¹È$%\86+__\9b\8eo~\81OÏ£\f\193\94\9eü._à##ó\10\Y\7fRëDå"\85C\r\92\1eás\8dÂì\ezn\96âµÈWRÛ\94´\8c«21[æ²Ø¥°,Uv\80\8aÊ-ö%'$r\ 58J\80Ì´\ 1\ 5ÔÆY«¹W\8b\81\8f:_m\Y\9c(\Fì\9c\1eYxvï\7f\81Kߣ¿@aHî\ 5H\1aÑAιI\96\87\15:ßÖ2À}üͨ\12'g\ f<$ù\82#¿        i&KP\85ú\10Û}\83äUb\1a\99<)sw\83\8fj\10¹Æ\91Y\92îðKò¥*3aP\e°Í:+å*Ñ\ 6¼¯ò\ 5<1\10KÅȱH\1fåöÍ\ 1Þï¯.?}¾¾=\1f_\7f\9e\8eÏßOn.£hvû.|\18ßãi\9aÄ¥Òji¢è)\8b(:¯J0Ïü\r)Âu\14Ý9å^Ãsm¾Éäã.\8a½3\1cG\9bCC×Þ$\108ô¦«9>Õ¶`\v|\8aÖı\ 3\9ci
+\8a\8e°V \1eô\9aªÕ
+r@ê¨/·¼\83Ìb\95\15\95aúDÇ¡\82\92 \176Óèg\1f<À¸sÁ\1eÐT-ÒÐe,âõ\9eê¸1nDn\ 5ÇÜo[Ã\a®ëÈ\81ü¾Ù&§=\8eT&I¡
+/zM\93\94¨s\15\ 5Â,Ê\84[\ 2\13¹¥k\84Ú¶uZÔ´Dë\ 29J\94ö \80o"­d\8de\rü$Ã\b¸\13fý$\ 2\8c\1d\9eZ\9d^\7f×<Ñ\1a\9aB\a\18b'ÿܱå\83i\85É[Ï«¬Ò\ 6\0\94øÝtÁ}\88­\ 4\84\83r\87;ª%\1aå6µà"¢4ÓÙÎûF\95\8fÚ8j\8bÃÒ:FkËeì\ 4»\89v­VÌ\a´%¶fYMÏ\f-²$gyðh¨q\88ë9ÜÁ\84çU\ 3\99EÁ`HÏó¶/;Më¾OVkd\9c&ñ£å\1f\9cµ¦[:¯\19×¢    Ðhc\90¥26ÔB\ 5
+\f\88\96³ú;>Ï\9f\ 1Aueu\8b\8c\98ÿ¾å\99\vs¿p\96å\89\86\ 6\9fÆ[t¼K\18½_å±\8c^ÿ¾ÓgéÌ+cP·Ö¹*¶\98¨\7f\80ÒÄ\11éÕ\9d,³Ä\187Ã! W4WßÛ\a%;·\ 3ªEÎý\1fðáY2­k¥\1eÑ\8e_\91Àî\0&
+C)HçH\99¡\9d$\98q<\98Úh52w»\90­®í\88\0×Ê\e\9cÁzW\90`\90;\90iÃ>G+îùÈÉ£gÎÝzÈeÛ¬\93ØõÐFdV¬hµ\98\9e<Ïç©Û\b\ 3lµ]\1f"\ 2Ç{vKã1gCÈ¥\ 3\10­\96y\9eðìƳóL\1c Ö¿Â£ËÕ\eô/+:\10?gÒ\v§Î½°§\93\8bËñ}ø>\8aJ¥L\e+)VVU.ÞP¶m\9e\ fkÐÃZ\8a5ù´ï\ 5\17¥9\18y£Á©Ý1\15V®G·I5©Ç¢\10È\97»ë\ò$\ 4%\16<µE¾å\8d£Qê%¦3\7fð\a\ft帽â­\ 5óËj«®\95\ 35N1^\ e\13ý\1fÍçFm\ ex|ûØpØêÕm¬ûr®w\83\ 2Ýß²-Wè\83\18-n??y÷ßýhTwH¿\a\8cÏz4\18ö\e¬gãéÛ1÷¡/\ó\v\15W\19ö\ 2Ûµ-ký\ 1¾ \8d\19vϸ6/\7f!ê£\80\83SþÆ\85c~ÿ\94¯_\86G\1f\8e~\0\ 4\8e@Üendstream
+endobj
+1783 0 obj<</Type/Page/Parent 1476 0 R/Contents 1784 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/Fc 14 0 R>>/XObject<</I15 15 0 R/I15 15 0 R>>>>>>endobj
+1784 0 obj<</Filter/FlateDecode/Length 1175      >>stream
+x\ 1­V]oÚH\14}çW\ñ²\89\14\1c\90¾¬È×*jÓ¦\81jw%^&ö\80§±g¨g\1cÊ¿ßsǶBØt\15\85U\12\99ûuνçþè\84ÔÇOHã\88\ 61%Eç\a\85ã ª\9fò\970\98P<\1a\ 4}~yz\13\8eèÒÐ××\8f\85ý`ôòX\1f÷³Q0 ád\8cï\11þJIËÎù¼sz=¤0¤ù\12ÎâÉ\98æ)áx¿OóäèÒh\19Ðߦ"m6\94\89'I\82Ö¥Yª\\92Ë\84£Dhz\90$Så\9cL©²J¯ðF\92\15Å\83è!`¸jnXrÆäÁñü{'\8a\82¨\1fR/\1a\a\93A\ 4\9fGßt*Kú<?\8d>úû\95\95d\96T\b\9d\1agÊí³\91¥)\13        [pÒ\1cº\9dÑÕÏ$\13z\ 5¿8,ðéïª\9c\84wÙ§^8@%ákÎ\91?J¹¶\94JûèÌúÙzeÅC.ý\r Ñ\eFÁ0\1eÕ\97\94
+²2©Jå¶\94d2y$-7H\8cþT\88tcé¯;Z\1c\99\12\91oQ\18£óíî++Ë'\95HZ\vÜ\f\17Ç\ 1Ý8.ÈNtMISå#IéI 8]\95¦B\98&WÉ\96\94¦iâ\14à¸T¥L¸>\ 1ÍQ\90ö½ýÐ\18\8dâ`ÈÑw/L±®\1cJ|aôR­ªR8eôb1M\v¥\95uü?ìÍe±Î\85\93\98\93Åbñ\r1Ó]\r:\1e\83\0x\9f;°`\10ʽ\14ÌFËÒfjÍ0Ü\e\ 1\17«Ö\ 4]\9b\1cPÛ.ßé!ï6Ä \b\06)G63U\9e2¯¬t\Ûî\95fTÒn\0Ú7ØsÙ\9f`\a\17Ï·\86¢ÿ®Î^|B\8bܬ*ù;Ýà¦9a2iÚ\82ç@\8dý²7vìý?×Õe@a\95Ḳ\9e"»ñÃ\14[\0|\\1f¾¹\83\99BÔ@ÍGùfw¹ID\ eþ C)\92l/\89\ 2\8f\14÷gãx#´/\96C³p\80\8d\9bÔøVY\9a<7\eÆaqô98Ç-J\8dþ\r}À­Í8Ú
+#Á75ߦ\8dÊó\16¢¶q6¦|ä4\9a\ 6\97´A¹\ 4÷Dj
+\81\17;\19o\17Ç\9e\84§×I3_zhö\90Âá¨îÂE\14\8f\89=<O \7f \17\8e&5i¿Ô\9eÐQìØ:OY\ 2r\1cÃF¹\8c0}v\b\8c$D\92\98J;\ fξg\8c´ôè×^\9báp\81\ e{ü@Ý\99\13¥ë\9eP÷¾Ò\9e«ï37ß®%¬\15Er\80\916¦/\1f\ f02¥[\95\94Æ\9a¥£[tÀJ\16\12\8cÁ<°\ 6lo\9aN¬×R\94\87×ï\1a\12\81âMÓôô^\16\ 6£e¦Åº§4Ú\9c«\8a\17\aäri*th¯­Ë\1f~8Þùáx\80ÕÖÜ5OÄ\8c£¼È\8d\95ÿ\83Å\83\80»©Û\0#¼FêÞ\18×\ 5ÿYo^m±·\11ýêç\1aó\16ÜüÄc\ 6<h\ 4¢)#gß>z¡\19Ý\93ºi_¶õÛ|\ 2ö×å\86\8b]\v\ e\7f{!9\a\94\7f\8f&¯J\17ý\97X½?Ó]\95{ßä\98É\1cÒ\ e|Zñ{\7f0\r±\ fb¡o\ 5?ù7\19Ï\8b¤fc½\1eBdXô´Ä\ eȲÉ\9b¢\17      é\1c4ÇBt¼¨\94r      Éæ#ü¶1ÁZéOq\82;\8b\10V\92\f«\a$©n\0¿Ü°\90²Ìúe´ÞùR¬Q¯Õ¦U­_\8eüvó¸\97\ fh©×Lì³zÒHY\18ÆA|\16Ѩ\1f\ 6ó        \vËlz{>å%ç;PÃ\9a\92T<^½d±å^\18\9e\f¨7î\9fñù(\f¢ \fh¦RI\ f\ 2»¯ÁÚÅG\87ñ$\88G¼üãX8\8cùÙÕ¼óµó\ f4íxgendstream
+endobj
+1785 0 obj<</Type/Page/Parent 1476 0 R/Contents 1786 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1786 0 obj<</Filter/FlateDecode/Length 1470      >>stream
+x\ 1\8dWMo\e7\10½ûWÌMIáÈÚµ"9\ 5rHÒ\ 40Ð4)¬\1e
+äBíRZÆ\rKr-ëß÷ÍpW\92\85Ä-\f;Ò~pfÞ¼÷fòÏEA3ü\14´,ézAU{1\9bÎèõ\9brZÒüf\89Ï%~\83¦\8dܸ^.¦\8b\1fÝ(Êb:?¿ñ~uqõé\r\953Zm\10d±¼¡UM\b\95êÅ\87FuI\a*Ë)Ýéª\ fÆméNµkõrõ]Þ,\96ùÍW×s䳪_àÑbJ·.\ 5_÷U2ÞåGçT\14ãå\12\19âÑUc"9\9f4íT$\95\92ª\1a]Sò\94\1a\9dà¶rz\83ê¬VQËÃx2\92ITy\97\94qxA92mçCR.Q\94\9e6æqJ«Fsø\19½*®s~Æm|h\15'vrD£\ 1 ê:ktä\ 4¤F2.&e­<\8c\98\8e¶Úé ìôGÕÏ\87ê\ 1Õ_\91qj|L´FÚ5u\ 1U>\ fÆ­£V¹ýYL¿\19RaD¶A«¤qhjø\13Òo\91-Ê!ߧhjM{ß\a`ÑêÚàIr:í|¸\9fÒû=Õz£z\9bÎÐÈuî\8cµ¤ªJw\ 2«Ë©âèà[ »\97R.i×\98ª¡V+\a\8c\1a$`6\1c\91Bï¤\aN°×ô Cdx\ fÉã³\10æ¤\r\ 2N>$Rm\ 2BÚ=7\84\83\1fI\0\1eé\802$N\85F¯5éØéÊ /{zè-7dmµ´\ 4ç\97\v\90\1cÜúâ4ÇgØ"Èa\1960\ 2\8d\89\89W1¡ð/ºÝã\13?9á¬À/kýn\82\92êñJ­Ý~B¾cÖ\f'\8c\ 4\8díz\8a´7gÀò%³íC&ÚÆXDðä\1d\92\96ã\ 5î(Ñ¥iQ\aÀ6 NRáÆT\14\94ÛJ!\92Ù\94Þ9Ò\8f\8aë¡Öl\eðKÿ\9aÉ8£7£¼æ\19\ 2\92\råÐ[* ;({ZP\ 1ó(\167\90Öìª\840\87¯×òu,d\ 6Ý\ 1Èñ\14\86\0\87ð\ 1ø¹\9a娧ª\1e4\r\1d­ý\ 34ͤ:)øîóû±¿\82¢\90kb}¥,\177¡o/\ 4    ¿ca¶]\8fÎ\7f{)]\90G¹A 3´d\1e@î1ÍAÖ\ 3Õã¡\98RÞ<\96Fï8\1d\1c\12\9ed!Y\82TAoÀ\82úÉ=øLôÌ]¦»¦
+æàÎ\ 5\14µ«Ù\8e \16\13À±NU÷:\89ñä3\95ÍH F«Â=Û\15ZB\13ø\1eY\13\93\15lFà\ 5î:Õê    é\10|xÖf®G\9b1,\91\8dªôÿq\99£\11\f¾ò3ésÙhø\0+D3\ 6É\9ae1qáx,Ów\8fJZ.\e\90\1dÂ\9cK\82­¢Q`\86¢Û»ßþ@õ¬Ñ\80¯_¿~=\ 1~\1c\0\aí\ 3|÷ßé&°Hó¡÷q4\83Ñóeд
\0t4bÇYr:;L\8cñáÑ9þÆuv\9aª\11í\89W¬5\127l®½Xûè\ 4ÖÜgçØxö\f\195\1e0\8cÐ\91NÍ/dýÈâ\83ØÖ\80õ\886\ 3\fÇxK{\1d\7f*8ö0mm\1c'Å`3\99\2\1e\ 6[\15Ù¡c'\89ìLjÐ\0&\1d\85Äd\94\8b\13d8¡ØÃñAX|\99]òßârLy\10^g{¡\ 1+Äzß­!\80c\84\91ÕÐù$\8bBB     öì\ fNg¯g\a®u'bB\86Ò /wÒ#\85É,¨_âسà\1c4»Í-\9b8v\aÖ©o[\9c!\81x8~ÄE\99\96mFÒýݸþñ¼õ·y\9e\8dã \9fÌc bÒz°5\85a?h\15\1a¯è©§1qQYÈ\93\1f\1e8rû\0ø\0ÇY\15\93®ëf\13Î\9dG\93ÞgÃØbê)Z}x"\8dѦ\82îì\9e×,¼À\9b@^\8e\ 6\ 6T\1e«\0X!s\19\87ðp\17\v;\8bë;ÌNéx\14ùB\9d\11òà,¼\85\13A,¨¨S\18\f\1aÜ\98çÿÑ\15¼Ø\ 5ö\9cJǬ?Þ+O·Ãq?\9a\8fÆ¥Ø2õ\ eéq^W\9fNgÉ°!~f\ fê´çyÇ]9¾Â\99ÉHâµ%ÏQ\1e¡\ 6_2$\ 2díÝ$\89Ê16;øC}X\95\84Ñß\98\9aF\14v²¢\fë\86â}fO[ï!ÌZ«K\0
+¯é·\rÝÒÎ÷@
\v8\aò\ eö\80í\14[\ 60ûÞ;Ùú²¤\10r`k\v%yØgäUW\9dÏ\14V\a³~Ø\1a\91´~@Sò¶\85\1da@\8d[Ì=R\b\ 1Weª3O\91\8d\8aÞ   ·¯>Ý\1c×îùu\9eèÏ/õsì\ 5\8b×%þ3\80á_Ì\97Ü\9b\8f«\8b?/þ\ 5A\ 6\b\9bendstream
+endobj
+1787 0 obj<</Type/Page/Parent 1476 0 R/Contents 1788 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1788 0 obj<</Filter/FlateDecode/Length 1162      >>stream
+x\ 1\85VËnÛ8\14Ýû+î¢@S \96\99\ 2]¤é\14èb0\19Ô]MgAS´ÅF"5$\15Á\7fßsI¹~¤\9dÆ\88\81D\97÷qι\87úo\94Ó\14\9f\9cV\ 5Í\96$\9bÑ4\9bÒb¹Â÷|Íß\ 5~\9d¢]|P,ólþ³\aùjöòÄûÍhòqNyN\9b\1d\8a,×+Ú\94\84\ 2Ó)mäͧ\1d\1dlG\ 2Ù½
+A\9b=u-  Úi§zQ×\14*eb\88Qª¤`éÉØ\9eúJ\ 4Ú<<\920%}ùðH­uÁóc\9cÁsþ÷¶¶ò)£Ï¢Ù\8a7\9bo£)\8dóYV üMç\15\82+Ld9\1cUßrÄäã\94îR\9fãb\8e!\11\8aä\93|¶"ü\8c  ç\90÷@¦Ù\96Ç\94Ól}\8a[ÿ6\ eM#ßÝe\9c\7f\99\8fãæóÅÏãÎ\11\1d\17K®¿Á4µð\81¬Q¤=é\86!\11&\90ðÔ\bs [\97Ê\9d\80\ 5Ü]Ë\8f0\8e\r´U$z¦ÁîH\87[Úëg\0\1f\18çP!\1f\1e¹¬©\ fÇÙ\a8EY&n\18ÒÖÙ`¥­I\ehF*tpPÂù,!|G9\14ÀR\18Ï\ 6\88\8b"[dôÅ3ù\82>=>¼"_q+¥2±Ô師,\ e\fåp9±µÏ\8a\1a\15*[ú¨#\9eÆw:\88m­n9&éGÚ®.!\ fo©­\85ÄIj,Ë®URï´\8cÕ0]ÌzÖD\84@û«\91£\120!·\90¦¬\ fTj/Ñ\8d\ 3\18^ÉÎép ÊÖ*£\rC\18¥é£\98!T»Û\81\ e!¥òQ¸\16©\\1aÜCߺNó\ 3\94«Ò§#±Ë\9d³\rØ \0Z£Â\81:\13\çC\ fÂ*®ïCÂ\1e\88\17Ë$ê\8d¥Ò¢w\90ËÛ\97 ÁH¿Ü\ 2¢\7ft+_ý{le\10=«3U\18öî\1dåwE\96/×Y\9e/²é¤Àæ\17p\10|ò_\9fe\9eé\1d\9b\ 2\7f&S\8e¼ä<2\1euØG\1a\83\825ÄÍNSD$¤5FÉ ­9        !b\ e>"JØ\82\1e +Úv¬jE\0\89\ 3\ 2¢&®Yþz\ 3\ f\115c\18-EPü\eòÚ\1a\15¾¾Éèá¬&\93zAblÕ\a\8d^y½ØjT\99Ñ}ò\9e3\8dA\1c8x\ 4hØ*^´a\11\ 6\r"E/\ e\18.\8aFCßèÊ\9aCc;\8fØ´§Î>ë\12öæm\ 3GPϪæ\95æ­LØ\90Ø\vmx \10\84|R\8ek\8bpU\1còà=\8af+Ø÷\9c\11\8d\9a´Â{\b\vxZÇÒq\91ý¸Úgò\1aL\1d§ROi;yDC²ÖP*\14\92|FÐëAÖÐ\82Våk,U\8b\91@WÜ1\fçð\v{\1fö\ 5ä1~W]GÛàm\83°\e\83\88\1c¼\ 1­\T>Z\1ec\88´[g{\84Äóþ6rÍÆ\18Ý\ 2Ôu\86Íä¬>\83{U;Qï\94\a*ØékL¢\ 3\80g.\fðM£\f»fgj6\80¸\86ÂðS\86\8dM\1c¬±FSÞ£Á\rjM®Ç$D\9a\9d\12Þ\9aÿuØ%\1c¶Ý;Q²Ëþ¸\13/·lpÖÇ\1aé\80W¥ä\13zÝwµpà\ 2ÖX\85о\9dLú¾Ï<_«\99uûIÔB×\96"@u|ñ\9e]=\18¨3RaV\98\10ý%¥ðXO¶©+ô~ø¥S±zÚàF\94,q¤\f|§Uz_¡\91søÀ]\17ÇR\83\1d\88\93ÿ>wµQNluÍnüÂÇO\96= ·\1e^Ur~ýYÏhQ,Ò;Ãçû?ßßÓ£³ß°GôÁÊ\8e§\12l7<Ëøx`¼\9aâ\1d¢¼ùí­6\87K.\17\ 5nBDçó5gùc3ú{ô\1d¹!ÿ\1dendstream
+endobj
+1789 0 obj<</Type/Page/Parent 1476 0 R/Contents 1790 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1036 0 R>>endobj
+1790 0 obj<</Filter/FlateDecode/Length 1337      >>stream
+x\ 1\9dVÛnã6\10}÷W\föe\95Â\91ï\97mQ\14ٴ٦\ 5\8d\8bí\83_h\89¶ÕH¤V¤¢\18èÇ÷\fIù¢Í¶@\11$ph\92\9933üÜ\eÑ\10?#Z\8ci2§¤è\rã!V\8e\7f>¾ë\8dçËxFÓ\ 5\16© Él\18\8fÂ\7f9=ð~\9c\ÄK\9a.\17ø<Æo%iÛ{»ê\rîÞÐxH«-BÌ\17KZ¥îf¬$Ñí^\94VV4\9eÄô\87Ê\12\9dÊ\ 1Ö*#­¹ZýåÎ\8e\16þìõd\1a\8fq:ÂæQL\9föÂ\92@\90$ì'¡Rªý%?øÃS\1a\8dÂáñ"\9eóá[]\945B\1aJtQðva%e\8aT]l°\1cÓ½"+\9f­é\93\14É>¬S\93å9m$ÙJ(\93ãLJV\93À-U%M©U\9a©\1dåÒâî\98V{É\b\86t=\9a\85\14\8awX\86Ý^&\8cÉvêx\95¬¬8"¡T\96\864ðøë\ 6wó@(r¬EÂÚA«u\14DX_]\12\8f|¼ÌPmd\1aÓM\aU8F\89PLÎH©H\18вb\93\83,\83\r\87\99î\91\16/zÎ\10î½FB \12\84\r\12#(c'#\8a®\1emäu\84\rÈâE&\9bÌîé\9d¬
+Àª\8b\9c\8d_D)\94Ä\8d|ÔQç\14Ùd}\ 5ï\98\1a\91\ f\9c\ fï\ 6\80P,¦¡ñlþ\ 2éö|³Ï\90cN\8eñl\8dÕ\15çÉßä\15vp2\vQ\1e¥!ù\8cUÄÒJÒæ`e\1c®\1fÏã);\f¹\ f|Dnt\v¨½¾.K]Y\92OPºÐÁ¾-\9aM\8d {\r\8eJ²+\9a,\91ëHW§íë+ÎOQ\ 34#\15»®®¦\14\89t\ 6\fJq)¹ü\ 6E¼AfG#A\1fú\86U¢ïi>\9bM\9cZ\83»¶tÎ\9c\ 6¹½\p\84\83\8eÌÁ.Èx©ad6Ì)5\1dÍY¬D×9Hí3õHzë0"c,\ 1î\0Ý¢ÎmÆ\8a\9e4[G\e\99\88\ 3\9bø,r\9b\06!\8b!9%\9d¸G@pI'O78\84\96!ª4Cm|\19Ý\19ß·\93>\1aÄ\16Õþ$²Ü\15\ 6×pÓÄ¡ÛĺÚÅô6\83kÒ'\ 1ßí\0e\v´ÎH\1dD_°ä8®Ð\ eº\ 6\ 38Ë%\1f\¾#¥\83\134\150\1f\99\1a,m\ 3W½Xc­pÈ\93T\9d¸HVPûØ÷\0¯+Ê\ad¨ÉTª\e\98&Ϥ\82y¸u°Æ¬>SÊåõE\96ú¤Pß)½æö]\82¼y\8d "K*môÖÆô³n`øª\ f\9e\\e ¬t\a\9e      \85±\85Û\95Üi\9b        ËòáÄ\91\150 I98h\93ü\8d)6TVÚêDçl¨\1a\1ee\19÷â :\9d\8bÆ«ì5\97\94Nlw\13(\1c\ 3±|¨öüÑ!@â\15i\bã\ 5\93\rún+Ï:ú\14\ 4{¿êÓø×>ýù\eÊ\94\8f·ã\884Ø3àNà&«|ûà\19y>ç\#Á\9c\eÇô \8a\8dp³-´¶0\18Û\ 2Å\8cigÛ\r\86Å\96\9b-\ eLâa?|äæ¾\8ex:òÜù\1a4|       0\98~\98)\8a\9bi{üQ±\19p±ÝWR\124á¡´íP9\16\1aÏ#ó-\7f{\1aW\8c1tG\94Ìs«³ßÔ\12ÁËã8-W{xÄÕÅ))!ï-<¶\18\92Z\91.eå½b\ eÆÊÂ5\16LÏ­@?Á%\97P"ºy¸½¿¿\f\1d\9du¶m\86V\ 5\17ò\8eóù­\8d%\1fÀ¸¢9±»>G\8efRæâðÿ(úÔ¹×\ 1\17\e\f\b\18YÌ'c¸®ø-à8\9b\ 4©PÈ\160í][ÝI\ 5\19x\ 6ò#%Ì\Ì\8a\ e\8dàÁÁÝi\0|=#Ñ¿\12Õè\10~Ø^\8ay®ÆKyô$Áϸ6Å­,¼Ã¸ÚܬýñÃ\83s|[Xo`\19ß\8c\1ce'\10×W\87\hǬ\eO%u^¦\97®¸|[µ<Ì©wàå\80\0<\95\8e\92{suB~¬]\9f=×ÓJcKQ\15týD\7fÓ®\92%½JOb½ºT\v/4L/ÔUÃo-NÜɹ/Å\1eÜ-Ãèö¶\9b-ýûòö?^ÒS¼ßç³1Þàx¢\8c¦o\18ÅO«Þï½\7f\0ðOÐ\1eendstream
+endobj
+1791 0 obj<</Type/Page/Parent 1476 0 R/Contents 1792 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F7 9 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1084 0 R>>endobj
+1792 0 obj<</Filter/FlateDecode/Length 2554      >>stream
+x\ 1}\99ËnÛH\16\86÷~\8aÚu\ 2t\18ñ"J\9aÍÀñLº\rLº=m§3\8blh\89²9\91H5Iåòöó\9dS"ëP2\ 6\ 1\8cüþyî\97\7f]ÅnÆ¿Ø-\12\97æn½¿\9aE3~3þøã\97«8\8d\96.OçQîö.Ï¢ä\ 4vîþj¾\8cf.O\92(\83[Í¢ø\ 4\ 27[!°wË8\9a»\\81p\ 6î]<\9bG\vCªÒù*G5\829º=\18\95Î\97     .a0\13N\81p\ 6¢\14§\12CZ\f»\âO\10õ&ó\95ƸXD+7W jã\99j\9a\8b#HÎc1ªHY\83a\179\9e\19Öà½Kf\v\ 25¬dv\9e¥\9a¡L\ 3U z\r\92 ÿ p\ 6\92\84\19\88\82\88\82 Å°Ù\8a\82\ 5Ö'!¥ø\12\92?E>\v\ 1\8b¨ôA`½h,ÁïÝb%\1e)\10I\ 3Eí*J\ryJî,ÕÌÇÉ\2¢H\8d\1aì\8d\92úÀâÄ\80a糩¬Á°+Ma\905\98Â$3i\87\91µ\186Ó²\ 5Ö`ØåB²\18X\83aWÒS\865xïÒ$D ñZ\fKkYY\8b\85]Mâµ\18v\91H\9eG¯,\86]Φ\9a\rÞ»\8cÒÛ*X\f\9b¤cÖÅg\8baó©Ï¾¾\19«A\87GëéQ¨ïÈj=\rkðP_Ãj}GY­§a\r\1eê\eX_ßAÖ××°Zß\91\9dÏY\a\865\18Í\fxfY\83ɳ.¡ k1,vfFÖbØ<gÄ\8c¬ÁRÁ\84!3¬Á°D\9fZÖ`j\14Çtl\90µXê\9bO4[,õÍ&Ù8Õ\97\95)[>f\8eÈ\95"_ß\80aÙiD\14X\83a½æÀ\1a\fK\a-­¬ÁT!^MìZ\f\9bÉV       v-\96
+Ê,\18Ö`ØU2Õl0yNeù\ 6Y\8ba³xb×bXâ\9bÈ\1a\f«y0\9a\r\86]ÎÙW\865Xê»\9cæY\ f\9c.v?\83\8aÌ\f\ e\12Í\815X*¨³\10X\83¥\82\89ôU`\r\96
+ÎeR\ 2k0yÆ++k±Ô(\96\88FY\8bÉF,GV`-\86E3õ\1de-\86e\8bX¯,\96</d\8eFY=æ2]<\ 44Ó1R¤\894\18\96ó\8fò\ 6Ö`Ø\85\1cý\86õ%Jå¸\86em\90\fE¾D\ 1ÃfKÑ\1cX\83ai\85\89¬Á$\92T\11î(k1l\9a\aÖ`)\82¶ÆÈ\9eF_\8f0ìò,^)R\9f\r\86eiâU`\r\86eiRÞÀ\1a\fË\919Ñl0^qHPÞQÖbïóD³Ï3\v\15\17 d\15©Ï\ 6\8bWZ£À\1a\8cf\86\f¯FÖbØ\.\14\81õ¹JWr]Fs"\8bß#_ß\80aó%U0¬Á°\1cÕÜÕU\93Ê\1a\8cÝdE}\r«ñ¦Ë\8cn\13»ÒG\1e\ 1ÃÒÝsË\1a\fË\bâ³jRY\83±;Ë\18\94ÀZ\fK\8d,«c\94¢@\9b]ÇÆ#Ul0fi£\9cm(Ï
+ëEù©×  ÿ¨"#:°ºèÒÀ\1a\8cb.*Ä\13X\83a\99\9a\85e\r\86\9c\18Yi\94\94](MÅ|\10«\ 2ñÉ@6óR\82\199\ 3õE\87º\8e\1cï=\ 3Ä w.Ü\19I¼Æ÷4᧾vÁ)\10\83\1c\8c\ 3ô\82ôÃH\8a¢\ 1Ã2\85\ 3Òü\19\f˼\ fV\945\18\96õ\8d\83A³ÁT\9c\17\ fz)°¾\ f\99\19íC¦\ 3Í\8aT³gy\rôÛO&:U¤,³=`ñY®\1a\865\18\96YÁn\905X¼Ò¼\8d¬¦QNxßLr\1e\9d
+\18Åz³1¬Áâ\94è0¬Á°¼l.-k°\1f\9d\95aet\ 6\fË\rcnY\83aõx  v-\86å=16²>\ª(mÊ\ 2Éu¥':W\ 6âp,ûBö½'-\96`ÕÁ\91õj¹\9dj3JÛ&
+$\89¼Ä\ fPÔj\96FÒbØT\86:\88Z,Fåh4¬Á°º\96\f«\r\95P\ 5m·L\96±GZY\83\91ÕÓÝ°\ 6\93C=0\rë5s+ÒVÅ\v4+RÍ\ 6£\99\ f\12\13Ö`4ónF¼£¬ÅbWnZ\865\18\96\91 ¯AÖ`XV\19å\e\80\93\97\83É\ 3ñØ@V\90\8ctà|a\91Ö³\12\aPªH\ 4=9ó\1f\v(3\9c\ 2á\f$\vzñ    ¤
+Ƭ7)\rË*¦z\ 2T0@\11\94ï0\81ô\82\1cÂ\92ym,9¡ý±` \82\1aj ½ \91ú1O)J¬HLÆ\94aÀbS:ß°\ 6\8bâTÜ\r²\ 6Ãòû\85e\r\86\19\1fd½S¼\ 1ê0Êæ\8b\15¨Or\9eÄ©¿¯s\0"§@8\ 3õk\1c¾\8f\1c\9d;@\f²æpg$½AÖ\96\8e\84VS\96\9aO¼'yï×®¦b\99~\02g®~\£E¤iõÿ>yòi\8c\8fyÚ!d#õ@¹\0q\86µ\95\e\88ÝìoC"§ È\r\9cÊ\ 5NåØ?\1a\83\1aP\10ä\ 6\ 2§r¼\8eùóEì)\br\ 3§r\81óÓ~ºm¨½D@\90S8Ä7rï\1e®Þ¾g|gîaËçÕ|±t\ f\eýªÊoÖ¯nÿ\8cÜõáPÖ\9bê{Ù½~ø/OSªØ?ý\ 65   Ï¿z(\1ew¥k¶î¦©û²îOOÒ)Ã\93:\8d<Éø»»¦í\8bÇjWõ?D#_sß\18:\8eܯw\1fÿ#Ì\9bÙ\84I"w\7fó»ûXWß\85\9d\92iäþñÛ­\8aM     \fþQn~-z÷¯ª>~\aì\1fÛ¢Þôono/ÕÌ\89×k9s\8b\ 3
+óå_G«\8a\1dj\8a\8d»~æ§zÊWé\10\ 4\8býcá0ã\9aþ¹lÝÍíû{·ÞUCr&ÚU÷\87b]Õ}Ó=\ f\8fýýÜ;v^ä~¿OÜ\8dê\11úL\r\97d²×|së¢v·nÝÔÛêéØ\96H½Mܧ¢=H\85êrÝ»¦5¿Ì\ѹâdØmáÔ\7fõ`R\ 4q\ 1'þ¿\89Ô}~U7ý`êóë\9f½)\86ïg\17ÓÑèO¢ïgvlÕÄ\f\ 5½ÆsÉ^I"\7f\9c\12YuݱìÜ·ç²öZ?¿\12òkÙvUS\7f~íªÎ\1d»rc#z9\ e\1aCâØ4dê©ìÝ¡%ÿ\94jÓVhã÷ßê]C\91¿5í\97ª~Rw5\8f§2z­g\15ÀëOU\8dl§Ï\7fBö©m\8e\a\9d\88\8bg©ÖÇ®t»¢/»Þ=Üܽ½½s]_¬¿¸mÛìÝ\87jÝ6]³íµÇ¦\19â°£åË]Ù\97.:|Û¹mµ#1ÅVb8\14]\87ß\e·~.ê§ò²\93X,\91\14èÔ\1f\9f\9f\82\f"\9b\1d\11¿h\94¬Ý\14ø<<$S?XӠϽd\18$ÆSpôÙ¦Ü\16Ç\9dä»é\9bu³S3g©ÁÊ\90Æ\9fVó·?­\96\97! xx\863{Æp¶_«uéî$}É¥ÖÜ×»o\98\8bý\81d¹ûë\ fï®åÁ\89õ\\86èz½.»î4Æ]slQ¼n6¥ûZ\15îæÏû\17¥\90»­û¶Ù\1c×=Íxî²(¦fH\ fêñ¥\93E\115­Ïö\99#<í\1d\91þc\12üÓÎûÓ©/m÷£^ë¢Ùö\a\rÚ\16 \972¿;V»Í á]U\17måwùd´9IY[}ÑöãÝþ\911b\85Õüç\85\803]\89\83\846lU\97ý&\92½s\19<\17AÂÙÑ\9euÑ3b\7f\93N÷ÖªÞ\8fë¦(÷>oo&\vu!;üÀ±!®½;>]N\13\7fÙ¸Lþ$>î/\91û¥¬Ë\96í]ÕÛæÜCÞ\86\1e\8fOnW~-w\17ݼ\90\fQ`    `çʶmÚ\17\9e\91\13¤g\84\9f5\8d\rkµ=Öµ\0\1a^\9aêÒ.\9dyWôëçSU&M°\8cÜÃXx\1eY\7fÙU\9dî\83³Ç^\88ßv\ 2'5\8e±<÷\aéÍ\v/\96\12ý\ 3kH\993Ý\&=éâsïE\ eÍ"é\87njT÷\8c\92éK\92$TÉì%\92L*9\17òí{.\9az\9bÐÖЯGÜ'./(\19w°|\9ep\99\81æOm"üÏ\87«\7f\ f]Q²\96endstream
+endobj
+1793 0 obj<</Type/Page/Parent 1476 0 R/Contents 1794 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F6 8 0 R/F8 10 0 R>>/XObject<<>>>>/Annots 1092 0 R>>endobj
+1794 0 obj<</Filter/FlateDecode/Length 375       >>stream
+x\ 1m\93]OÂ0\14\86ïû+Î¥^Pú±~ìÊ@\14ã\85\89Jã=\8e¡#cC\18Æ\9fïi»±\9a\9a¼<çi{ÚñM80|8\18\ 1RCq \8c2üå:¼=\12Î\ 4\15 ­¦\f\ eÀ\85¤²O5¬I\9a\91JNuJ£k\ 4µ£\e\ e4º#\8d®ÊqÆëº!%î@£;Òèf\9a\e\ e4º#e\ 6w«¥Ä®ýºö\9a¢;f¤\99ðý\86Ú@£+ð\0G7¤Ä\1dht¯TY\944Óá¨\8c¥ª\ fÞL".ʹ¿\90P\19¦M2R¥þ©~+*78fÖ\8f\ 2ßS   ;²td¾Ò8\e¸\9d¿\7fm\r¸m¸{\ 6®¸ÁÆ%Õ\14\yî@ߺ=a0ãþTÜ6BÓC3\ 5m\ fí\14Ì{\98OAÎzÊÙ$æ\ 3æ\1eÏð»M·\95QXwU]Ã×æ§j>¡;µ\97\8fº<ßùâùÊö\rû/\95Y      \9cùÃÄ\8eÖ\8bçå\ 2^Ní¾,:¸o\8bË¡lºMWµMX\86k<=\14f\86å¾þé\9dÂâx,\9bmõ[\9e}I¦-ÕJàÿ       1Waw\ f\8e¼\92?z/½\8cendstream
+endobj
+1795 0 obj<</Type/Page/Parent 1476 0 R/Contents 1796 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1796 0 obj<</Filter/FlateDecode/Length 1453      >>stream
+x\ 1}VaoÛ6\10ý\9e_qÀ>Ä\ 5\1cÅV\1cÛÙ>uI·\18X\e\ fq° óPÐ\12es\91H\95¤âúßï\1d)Å©ÚµE\0K"ïÞ½{÷ÈÏ'c\1aáÿ\98f)]L)«NFÉ\88¦ée2§É|\86ß)þ¬¤"|¸\98]áñ;\1fÒé$Iû\1f~]\9d\9cÿvEé\88V\ 5\92LgsZå\84\ 4#¼É\ 6×;Q{i)\9d$´4Ö\8b\8d*\95?¼Yý\8bm\13\1a\8f㶳t\8eЫ|p/ª\8d ½±O\8e\8c&üT¹$+ôV\92)¨.\85/\8c­\1cm\1aO~'Ii\84/D&I\94exs\S[óÌÛ\95#m<\16ìÅÁqê\11\9d\8d/bÂÌTµðjSÊ\84V;¬ÌZÄ\99Ñ^(í^r\9e¹ZfªP\19r2\ 6ìb\84\e\ 3$\1c\ 5\85é-        \9dSãø\97ãR\92\15\8dgm¥\17\93\95\82\91qB·Ë\87ÇoÉ\98%S^r»<u¤ªº\94\95\ 4\98\90\ f$¸¦î^Ù\ 3m­ij,sC\92v\88\99ó@!lNë\ 1\80ÒîàÀ\91ÊD\89&\vg´[¿áb%Z.ðç÷¦GJ\88I\85*%¢\9eK\9f\9dÇ7\\x,Í\16%ræ_\ 2ç\8eSTT         yXÜ8ò\86tSm¤u-\eÜ+f\8d1¢w½\84J+\1f\vY\ fÖo\18f\8e\18Ø\82~\ 3{Bï\8dóÔf\11yÅ}Ùï\f=i³\ f묩¥Ã\82
+Mxz\r\19@z\88{©×\83\1dS\15öåF:}ê\83þ\18\17Ê1ä|S«\9c\1a\96\9d!f\90©ì¡ß+(\91\15QB?¤
+\b9\88\97ë\89Eö \1cLs\8a>ðbÝGK;Á¥
+O\8a\1d\ 4\rR\91}\83îñ\8egQ\ 2Öâf\88e*ÛQ%\ 5Ø\81*yi$\87ǧ\97óïQ\92 S\9fÞ¿}ü\87\18Úg\9e\97õ`\81­à\12Ý\98b\96G\945ÖB\85å\81çòvyöðØ\ eLmeV69è?K\83ü§\97\97\17\93!gîål\\ 3\r\9ej³1ùá\94~\87PÂ|`\1cÓi\9c\8aEA`\83¤ÎLÃ\93Í 0\82Ö`@«!\ 4ö$¡\7f\16-SÂ\8câÛÖ
+8BxÃz.D\1cEpÔë\f\rf\96EÉ,Â\15z\10Ñ\0¡_\86j¯ü.Àü\8aN\18\8dÙË<ºR¿\80à!\80\9c\9b¬á©Å:Äd ·KÀ×Ì@-¶`«Ñè$9ù"ü\14\84Õ¹}¾\1eL ­\16^GÏ\1dSÿð\18\1a\8c\ 4ê m\96\11´Úæx\v\89´~Ä\83³BæÂJùò*ò\ 4y\ 2B¨/ô²óHÞÝ£$(Y       \r\ 3\ 5¸LhöÒhx\92\82_ÿÐäÒ\84î¯ïèA«/\1cøk×o\8d®ízè\8d&Sæô\8cö°½ÂîºÝ\ \8e\95\8b\ 3i fy\16%&£ªùh\ 1ÂÕõò|±\ 4\83>Û¡>\1eáx¢`%\1f\94\ 6MgÐtB\7f¡ÕìäÌbØ>|Iu\14cf¬mjO¹ð\82<N%W\1c\1dîè÷¯ôÌô\87p!Z\0\rq<ÜÝ\Ì/éÚh\8dô\ç\8dU\2Ýÿq\9fÐ\ 2%9\12Ïб\80îÑ?S\ 5\1aàç¾N\f\12ð?¤\1zcÃqúêLC\90atojL\8eL"ù\18\9a×=\95Þ&\1f[uñéý½Ãé"¡\9b\ f\8bÿ?\9cøc0'Ñ\8dg\94\13\ 4-\e\ 5ù¶jæçm|\ ej\84`qnx¥Ñ\1f\9e\ 4­ü¦U\90\9cï\1d\18\81ölZ¥,<\8f'K\85\9b\17p]ÃÏ7Vàxä¸\ ebo­¼?P¿\85Á\ 1ÛñdlÕ²9P.\vÑ\94hµ,\ 2T\ e]\89Ì\1aúp÷éÝâ¦\9bê\90ε]\ 4\ 4¥£\19&»Ö\1eÃ]¦§;\ 1\ 60K\1c³µ6\ e'\0ºRì\18¸§\84¢Ùó\81­\106j\0\86.Êa¬\87Ýy\8b#Ïói³7/Ç\96\9dï\97¹2ÐÃ\97¯\12"q--ì\9cý¶\9b&8\8f¬Xr\f­0lt|\95Á\r\81\8aF\a©¢k\11º&\89\99\81\85\89<\94Ra\1c{u"´¥c/Àu8f±«BÁ\98É£}¼\9a\99:\8c!ên\8d\93ï!\14½\ 3·Øpc\1c´ªJÂuîè)\83\9f»uWÝŲ½nQû/Ù\968K\88\11:Ä#\\86qåê^\878<Ríûn{e\9eåg<ü4\99\róQoó«EÈ\80EãÑh(~°*\86\1a\ fóq\84=\7fu!\9eÆ;à\ f\93é<\99^¦¸u\ 3øø2å\18ïV'\7f\9eü\aEªÂ@endstream
+endobj
+1797 0 obj<</Type/Page/Parent 1476 0 R/Contents 1798 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1798 0 obj<</Filter/FlateDecode/Length 893       >>stream
+x\ 1ÝV]oÛ6\14}÷¯¸Húà\ 2±"Ù\8eì\14ØC²´\98\81¦[\e?l@\81\82¦¨\88       Eº$UÏÿ~\87\94ä:Î\ 4ìy\16lKÔå¹\1fçÜ+}\1fe\94âÈh1¥YN¼\1e¥ .¯\97INóå\ 2çS|­ 2Þ\98Í\92ùéúíztù!¥kZ\97\978)\b(iJk>¦îS\9b\1f*\9cο\8eÝöëÛ\v\96½]?\8dR\9adi²Ä\8e\83¡·l\e\fϯ\a\f6\9c»`\90½\190xª#\0qa­±'FÙ\9bw'+\ 1+|¸²1Â"\1d0°Þ\85;\97\1fæ\94em¶\93i\1ebß6\9e|%\1dI\8d\7f\14K*A­-\8a\19mÇNxÑÈ"9Á\18Çp\8e
+8\99ÎQã£\82$\8fÊl\10Ù·\ eá$º~y(-\14^|GzçóÅÅ`j=;çY\9a^°¡\ 2\1c Ò\8bb\88¾\1eé\7fÉ3+½°Ä­`^êÇH5Û ¾\91pG{Ó\845MÌ9Qo \ 1\ÕÔ8\18·j¸:VNK3sôB\1ah\89iþâÖãkÕ\1c\19ù\8ayr\95iTA[k\8a\86G·]H\ 3"4íz/ä11]ü\9b`\83ë\13Û\17®\91kHZ\vQ\90
+üUÂ!\ 2\13«óquûpOJjÑ·ÆݧÕ\9fH\98{i4\992Z=°zÃè\9e=\8bÐ8       ýe\1aK?·ö\82\9f%ÓÐ\17;©TئI\19óLÎÔ\ 2½\a:\94|\ e©K7ØR-æ/±à1µCé\rM\94~Y\94\98hp\88\ 2G·V\84F\88\91\87Ì\ 6½\9d\17È\a\99\7fúýÛûÕÝ\0xiM\1d¡N\vÓÚ\1fÆ\87Ô\5\85pIÕÞ¸¦lÑÍ Y70ÂàHè\8b(~\83">JÝü\8d\8bzcÁ­\9f¬V¯\ 3X`È#¿Û=!RÖ(ßo>ÞFEcCu¥v\9e)\ 5å\838\10í \19\12ÚÛ} ûRx~Y\19ç±ì¨4J\99Ý0\ fqÞâ'\9bâ      \83#\vTn7\8c?ÓY\0Ѭ\16gÉYaj&u¼x\1d|\f}\1d\86.g\8d\13\8eZ\15!\96\80E\11ÌèN\87\ax©ÑÁ%ãPÙ\1a\83Ú
+\17Ò\ 6Hl£\16¢dRaÁ\107uÝhÉ\99\17Á?\ 4\91u\1aäÆZhXíi'}\15ùÛ\19\8b\ e\f}\ 4\91XQ\1aK5ÛS\0k±ú\1dZ<\1a/\81I»Ê´®\ 5L]\18-\e\8b²    (Ùyª\8c\ 4Ä\13çCÛlÒ\19öóã×6J  ±ÞÄ\86{GwBá9\14\ 3n¹kG\1aB&$Püä¡{\92ÅÖ\ 5ñ6\ e¼\ 3_-\1dËn\9ae9h\Î(Ïçí³üáæþö\86þ°æ     E¢;Ã\9b\1aÞ¢tÂÎI¿a²HÃÛÂø?(w\9eã\95äj\8a7\fØgW³\80ó~=ú<ú\atïm\ 5endstream
+endobj
+1799 0 obj<</Type/Page/Parent 1476 0 R/Contents 1800 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1800 0 obj<</Filter/FlateDecode/Length 255       >>stream
+x\ 1m\8f1o\830\14\84w~Å)S:àÚ\8e1d$J+u¨Ô6\1eº:`RG`\12\ 3\91úïû\10M§Ê²õ$\7fw÷î\9a\bp:\ 2¹ÄF£ê\12Î8´\90LC\15\92nth\92\9dI\1e\9f·\109LC\12]\b\98\1a\84s\ eS­¥b\19Cùòù`Î\v¨\160Ýp23õB\b\86\83»N.\8cÞ¶øp¶FùEï¢R\10ä:Û§\92rêõÞ\ föØúpú_\85i\98ÿV·n\9c\82C\1aÁWðÝ%ö77`°ÝÑââbÓÇÎ\86Êað§à\e_Ù¶ýfKdñ\e)4µ-6(²eÛCùº+ñ\16û³«Fìûjêhi;ú>ÌÂôΧ9ßþµ»÷Wº`:\93Ô\83:\88\8a'\93¼'?µ·c\17endstream
+endobj
+1801 0 obj<</Type/Page/Parent 1476 0 R/Contents 1802 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F8 10 0 R/F9 11 0 R/Fc 14 0 R>>/XObject<<>>>>/Annots 1103 0 R>>endobj
+1802 0 obj<</Filter/FlateDecode/Length 1655      >>stream
+x\ 1¥WÛn\e7\10}÷W\fôb\a\90VÖ]ÊKa»v+4¾4R.\ 5\f\14Ü\15%1æ\92\9b\8a^úí=C®$[   
+\ 4\85!AË%93gÎ\9c\19\7f=éÐ9þ:4êRoHY~r\9e\9cÓ°7Áw\7f<Âw\17\9f\92_`ëþëýo'\9dI2¡Áx\98\8c)§Á$éÕ\ f\9a\9aþp\8cÃ9õFx\15\1føÕ`\9c\8cêÇ\9cÆ]\9c>¼cëý~'\19âX\a7wê§ý\95½\ eï\7fíYwÐÃ\81^\8f¯Ê©?ê&\83úiw\fÎ}\17Ïåü¤}3¡î9Í\97\80`8\1aÓ|\11\ 2ÄJvvµ\16\85\97%u\a   ÍD\9e
+\12fAÖ¯±v5½\99\954Þ½\99\7fÁ=}êtâ=­î8é⦳ùZ9Êê[2k¼P\ 6\váTË\152SK\95\912K[æÂ+k\92\84:£úª^?éóUð¡\93ЭÈ\94ñÖ­w¦\7fùÞö\b@àÀ_Ò%4_W¥K·dì\86ÖâY\92\88\8e_\ 5\17¨M3Y>#\9aLh-\17ôëÅÇkj\91\93\92¯=§Vw\18­Ï×rK^:OÊ\93Xq\18\9e>)³°\eG\93Asÿûn\1e0r\ 1-\84E\99Í\v\84\96*­ü\96\94s\15ûuá   (\92W¹$»¤M©¼2«fmµÓ\8bð\ 5w6Â\91ð\ 4/\1d\0¢NrÎ@À¡ðó\9c¼\8dkT\15\vá%L\90x\16J\8bT#\<в\94\92à©ÑV,ðdó`|\87ÍF¦Gv\9dÂ=\8fgì!\92\ 4\àâ\12Á2P¶PÒ\ 1KG©\94\86\14^oI\9aµ0\99\4Cø8\89z\11ø¤ÕªµTßpD\99LW\v¹x|\13\92ü\ 2Ü\v\r\92\19\80ô\8cm-\ e­>ì76:¯òBË\1cT\v$qìÏE\81¥¹ÐOÄ(;        |\84¦'x\19^\7f¸\9b~¦\dk#]ðé8Äú@na\v9Êe\99)\`±? ë$\15¥]T\99\a\84Z\83?[[1Øee\0\ 6°u \8eÊà2\17EQ\82\97\87¥\18\rpñöÈð\81Á\15.\80o\eå×à'\89Å\ 2\ 6N¸ª(lé¡9_+U2þ&dl\7f\7f\ f\ f
+\1e\0\7fdõN\ 2:\80\15Ósuñ\90Ч5X\15«Ú.\97p\85ng{\1a×¾!\8f\8c\83È\9eÄ
+\81\86}\8c\ 1\1c\ 1J7\0>àÇ\ 5\f\1f\8fl¾>Ü\8c¶¢\ 3ï\94©¾\81a\a9á|µRá\10¬Û:/s÷øæE\1dî*bí}ñ¶ÝÞl6   xç\12d®­ù²¿\91ë¿7Ê$k\9fkv\84uíG"ÒMè~Ö¥(\0û\8d\90\18\16ÀVï<\8a\aÔ¦Ëeö;ò\9e     CSpÄ,Õª\ 2[îgí.}\12eAWÖ\18\99y\ 2\ e\87Å~(º\1d\16Ü\18 FQò\ 2U\ 3ä?\92-Þw\11\ 1eÑÐ\12E(\8cÛ ê\0¹g)ý
+ñ`\8e\ 4\9fRt$[± \eªqÉDiu\ 2\18\R=\8bÄèö?ZÊjÓ\ ezÔÞÀé\0Ðq\ 5^
+§X\ 2·ÍÀrÃ5ï×,\eì j\ 2"ÿ\96CB\7f\89\85ÀY|\bü¯eõñìtzyK\ fR\96§\8fo"ÈYÝ\1dZ£dÌ\r\17Á>v\87#\8aow½#¼lí²=¿zhO\1fÀ\93Ó©a\89\90¨°X\1aÿïZèZ\ 3\15q9½\9f\91\8f\86\1a´(¡A%\eÄÊåõ\87éOÚáÆ×\99\1c \9a¢M\0VH{¨ß¥*Ñ6¸l½]I\16ÉXýøEÌ}²\ 5T\8c;A]\ 4\9cZA©\16æi·\ 2\16Èo\85F\aB\8e\ 5\8epuëÈ\85©\84Nhº\8cTeÁ\16\1ab½ØFáæ\ e\16\9a^\13\1aícÚAö\8d\80\8c\81nõëà6pßØ\12Ò
+·"üM\82@ð»#«\8d\99Ô(\b\80Huè\81òÀº¾ A6ýÂ%S{Þ\98\85bG\eöUÑÀf\8d&sÌÎ\v(c\8dà\7f¦\rÐ\18ëi!]Vªô\0OÄ"ÐôK\85\ 4¤ÐGHsí\825ÈÏq \v\9bUû~\83áÇ\vÈñíÃ|\96\\7f¾nòð\91=qrîÿxñÐ\80\1eÔ\1añîâaÖ\b\16÷[\e\\12,\13G\98Ý]Ï\ 3\11ï?^¿ß\13\11¾\9d>\94ÖÛÌjwÊr\8fàØOnïÀÝ@'\9e¹H-\9d^Ue\89\ 2e5
+ÖC\8fÄ\99\98\vì\86ÎóÑãéâà\19æ<³\92dª<\95et\eÝ\1adA\92\84\89¡\1e4 âHn\10£\9d"\ 6{Ç9\ 3ï\98Õ±¿p§\94åã\19kz\9d$`\87~Z\92¶Ð\1dÐ*\ 5É¢ø°ÜÚ"vBd      m\91 \ 1Fäu§ÅB)\9d\ví\88m¸ãÜEk\80\89E\93+=\1c\9co4YªãÜ\89\9béÓôn\16zv¬ù\9d$\84\ 3ÁåS&        ç\8d%îýÍ\15FÀ2WÆj»Ú\1eæ\98\9d\q?|Õ\17xbÈ\ 5¦Ï §ö0\83!ÄzZãáå \96ìs
+%]1ì\80\88ý\87tKÒ\18W47\96\1f\94z\9fS\1dª\91\15èÔÄÔE\9b\0AD
+\9e\84ä´oÆ\87\ 1}8\89}ég&|þ\ fe8èFíî\f\ 6ÌãëùÉ\9f'ÿ\ 2Í \17>endstream
+endobj
+1803 0 obj<</Type/Page/Parent 1476 0 R/Contents 1804 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1112 0 R>>endobj
+1804 0 obj<</Filter/FlateDecode/Length 1609      >>stream
+x\ 1­WßoÛ6\10~÷_qÈËRÀ¡,ùG\92\ 2Á\90´É\9a¢I³Øk0,Ã@K´­V"5Q\8aë\97ýíû\8e¤bÇEÑ=¬iU[$ï¾ûî»ãåï^L\ 3üÄt\9cÐpBiÙ\e\88\ 1Þ<?î\7fá74I&x\96\94\8c\8eE\12¾\154í%\93\131y^\1dM&âxg5\1eÄ"¦ñ`\88=8{\1a\8bqøÆgÙîèt(Nhtr\8cÏ     þÕ\8a\16½xt\ 2'£x\8cgIÃñ±\18\86oݱáñ)\1f~y\8cíÅI\ 2_{\v\17³^tuJñ\88f\v\ 4;9Á\87ÌÅ8 Yz\98À\ f\9dYS*5]Sjô"_¶\0óq\1a%ô ë\8a\86ôx¨MCo\8cÖ*m\1e_õýb,\92>Å@hêW³Ï½\ 1\1dÅ\13\84\ e\13ñ\95\16¦¦©,çòg^\8c®F\14Ç\1eÅQrÌ\9b~7­sÚZEÍ
+Ñ×JÑM\9eÖÆ\9aEC\1fÎoéFj¹T5øIRzSäJ7ήö¨MÙù\1d\82/\98\4Õë(ÂS\94\9d\1d\91\9a2ºhítc#oÁF0}s~+>N\93\14^W\8d;\98ÊÚ\14b\9dk+Ú')t\11ýS(Õ®£BêRj±jÊ\82ýïy-\rèÊ5\16JÙäF\13þ®ÀhcðÖ6²(Hê\8c|\9c¹¥Ô\ 5"èZ\93$Ý6v¥\8a¢O*Ë\eOD^(z|\ 4¼O\97÷0á^ÖÆ4{~³¼F:L½!³p{\1c-sl¤JÖMî°°g\99en½Èµ²¯}:\ 6tÚec$X\15\87´÷'\19\9cYÕ´\95P_Uçyàó»·\93°U«fý\ 5Á
+»±ÿi÷S\96u{_\88c\1844W TÑ\ 6*éXd\95\9d\17Öô)3ú§&0Ë9H\8b6S\19Ý^&\ 3ÔrVçOPÏ\¥\92É\a½`\7fÞ.\97\eA3ÐÆöüÖ\ e\11¤{;Ý5ÁZ£­ºÒ\fß\9d²ªv\1e\19\9bD\1c¾©¿D:Ëmä\0+\99        Oõ¶þ\8e\86±çÚ\15ÞPÐ9"\ 4
+<¥F\1aù#0ÚVYZ¯\94öuöxÈ\8b\88ÄB\\8f¯8\b\84\83´Z\92\1dð@\9agç{\15÷À&\99ÐÌ@y·\973út}ù\80ò}fðà\8aµÇ\9a¹«s\14\9b¯\18ºWÖ´uªè¢6k«ê\83>iã«\9bð\95¡\91eÉC-\1d¢@ålÅ\8aGo\99£Âó¯\80=ßÀy%\9bt\85\92\a­?*>ËM$ÂYW\7fÈ\1c²æ\8f¯s\94\16ìvyßs\8dÊ\91\ 6\9c\ 6ò¸P\OBñ5$!!\87       <¢ñµ\15\ 6\9f\85ª6óB\95¶O¶\ 5Rp]Õ\8acÍõ\92
+\83Ç\ 2TiY\86Tíù6óϨM\18Fj³Z.\97\bÜEË\9a{\80RªB\82Ï)\97>7
+~í\90\ 5>\7f \9d\91ïÙÈã5-\15ê\9d³\858\83â3³Ö\85\91\19±&\1907c×\1d¼@ì÷\14r\95׶éSZ+Ð\ 6\8a\ 3HÑÂ\80ÿ\8f»ûëÛÙÛûO\7f\ 2®tÅ\ 4ûEv\84Ý\99\ 4[\ 2WDµa\85\ 5o\ 1\ e3e½Î\ 5Ý\1aXæó{\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\1dú:\83¾\9du´/\98=ǵã'$Å)V\ 3\ 5wa\87¾&[ÎÑ>ôÂUB\r\11!y}B#éL\95²¢3\86\17]ÉíÅ\19w÷\\90\9eßÐݬ\87\a\9d«pgpød+\95æ\8bÜ\15ÞK\83\87Ï\12Þ³Ó'vϱ±¾»Ûe\e§{\eDëHòı\15\1e\ 2\ 2\vu³0E\81®\11î\9dñ6\9a\8e\99À¼;ræx8Øyu \ e\94£^xÃÁ7h\95X\8a×ôî\8e>HTè{ÔÃø\ 3\9da\82\98^Þ¿¿\9c\89\97+\ 1fç½\eCVòIAuE\93s\1fðÞ!CYU Î\11\8a\8c\85\85S¤ÑÅ&\90ío\96\1df\1cî­\ e\99Ù\9d\80ú\8ej/\1eÙ@m\15æ\0\83&\1d\8aØmwWÙ\1eî\bdÚ´¨ÏÍËýAùóÖ\8f\14;µOîTÃ}\87¯\82­q¾W¸Jä\93Ì\v\1fýìa\15´º_,\ 1i\9f¯Ug\92{\r\v\10f\1cSÜëm^V\80Æ-?˸\11í\85Þµ>¦\19Ë hÁml½ÊÑsw\rïE\8e     \8b-½àlÛ21^ò´{4\f\93\rn[ܵ\ f¹\ 6¥¬ÇÚuàe\8d\96ïf\95Ý\11ùh8À\18Í3,\1f\8a\ 5ý\86É\81/\11TöìÍ]t}\87®$Ó/¾\9b?\8f«/5       ß~ÆåÃ\fô»\ 6\9eçTʽ\8c¸\97í"eV=Ò\10ßI( x\82ß\1cN\864Áÿ\ eðôüæâ\1c÷¶á\9b\87Þ\9a´-1/»\89\94Ña8÷\a\8e\8e\a\18ý\\80ÿÏð\8fñ|\7fÜ\1fñ/Gã\ 4I\80£x<a\0\97³Þ¯½\7f\ 1µ­\17rendstream
+endobj
+1805 0 obj<</Type/Page/Parent 1476 0 R/Contents 1806 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1115 0 R>>endobj
+1806 0 obj<</Filter/FlateDecode/Length 1632      >>stream
 x\ 1\9dWÛnÛ8\10}ÏW\fòR/\90È÷K
-ìCb;EÐÄñÆjÝ\ 5\ 2,(\89²ÙH¢+Rqü÷{\86\92\9cDÈ¢À¢¨#\8aä\Ï\9c\19ý:éR\aÿº4îQ\7fDazÒñ:4¼\18ãw0áß\1eþç\92b·1\18\8c¼ÞG\eýÁäÃ\r\b÷:ÕÏÃ\97\93\8f©7\19y\ 3J©×éy\17Õ*¡\95ÓÐ\eõ±÷\81êîxâ\8d\9a\eWþIûz@Ý.ù1Ü\18MÆäGNe\87ü°åo%I\91'\aò§ËöÍ\92\8c\15á\93¡­\88(ÑÖ\90\8e)(6ÆûÃÿyÒ¡ó\1eÛåG­;\15æÚèØâ¤\81÷\89\14FF$2RY\98ËTfV$Tì6¹\88$YMv+U^+é÷ί\94¥ï/3\8arõ,sã\11[\92\b+\8d­ÅQ\bq\81¬4wû\b\1f4ǺÈ"ÒY%1¶;2ÊJ\12\96ð쥵a^¨Ó3ø\10Bf\ 4«¨½\93¹Þ\99\83iïU\16é½iï\8a QaÛ\86;µkïã½í÷<ù"\9d-H¨2\rÕ0§ØE\90çÙ\17hS      <ÛJ\9c´[h\8f¤       s\15HÃ/i\97ë \91)/°·çS±z\91\91G\v¹ww\r\87*)\10\9eõÍbu?ýêÍnoÏ\1a*ýùíbî{ó\1fó3Z»CýÉè\8c¾/®|Ï=­WH\ùè?\Nç\ fÕaÜZù\97ÕBdQC.î×Û.µíë\vê"³\8c\91ó~·Lroì\1eÍ\90^DØÛí\93Êr\11[\99ÓN\18³×yDáVd\e\97¨·X;ï1ÖZëx½¡H#.\ 2é(Ì\81\80öÊn\8f\ 2\90þ\eHF^]´T\8ce)\93ÒÃñ\14']â\1a4s\84\8bL½P _H\97ëå´á#\1f2"fDÙ­Ê6\fÃH#­î¡ô\89ϼñ\v0á7\15@(R¹\f­Î\ f%<\97Sì$     \ 1Y»Dà¬\bta)Ó¶¡\99]q
+ìCb;EÐÄñÆjÝ\ 5\ 2,(\89²ÙH¢+Rqü÷{\86\92\9cDÈ¢À¢¨#\8aä\Ï\9c\19ý:éR\aÿº4îQ\7fDazÒñ:4¼\18ãw0áß\1eþç\92b·1\18\8c¼ÞG\eýÁäÃ\r\b÷:ÕÏÃ\97\93\8f©7\19y\ 3J©×éy\17Õ*¡\95ÓÐ\eõ±÷\81êîxâ\8d\9a\eWþIûz@Ý.ù1Ü\18MÆäGNe\87ü°åo%I\91'\aò§ËöÍ\92\8c\15á\93¡­\88(ÑÖ\90\8e)(6ÆûÃÿyÒ¡ó\1eÛåG­;\15æÚèØâ¤\81÷\89\14FF$2RY\98ËTfV$Tì6¹\88$YMv+U^+é÷ί\94¥ï/3\8arõ,sã\11[\92\b+\8d­ÅQ\bq\81¬4wû\b\1f4ǺÈ"ÒY%1¶;2ÊJ\12\96ð쥵a^¨Ó3ø\10Bf\ 4«¨½\93¹Þ\99\83iïU\16é½iï\8a QaÛ\86;µkïã½í÷<ù"\9d-H¨2\rÕ0§ØE\90çÙ\17hS      <ÛJ\9c´[h\8f¤       s\15HÃ/i\97ë \91)/°·çS±z\91\91G\v¹ww\r\87*)\10\9eõÍbu?ýêÍnoÏ\1a*ýùíbî{ó\1fó3Z»CýÉè\8c¾/®|Ï=­WH\ùè?\Nç\ fÕaÜZù\97ÕBdQC.î×Û.µíë\vê"³\8c\91ó~·Lroè\1eÍ\90^DØÛí\93Êr\11[\99ÓN\18³×yDáVd\e\97¨·X;ï1ÖZëx½¡H#.\ 2é(Ì\81\80öÊn\8f\ 2\90þ\eHF^]´T\8ce)\93ÒÃñ\14']â\1a4s\84\8bL½P _H\97ëå´á#\1f2"fDÙ­Ê6\fÃH#­î¡ô\89ϼñ\v0á7\15@(R¹\f­Î\ f%<\97Sì$     \ 1Y»Dà¬\bta)Ó¶¡\99]q
 !\8babÎPD@\ 1_6\1anl¤%\rÜ\93²g$\92DCã\86\ eº`ÓP;\95\8b\19 R\a¹Y\817±;\1féì\13°Ç\ 5\ 6ÇXB*\ eobé¢Ï\ 5\99\ 6(3\14hD\85©0ª\93è(þ\8cä³Dõ\96R-o¡B\ 5Á\84\86s:\93M[î\ 1\87\8c\9c*ç£Õ¨~p\8aÚd\1aÀ\17G-ÎÀ\r*\9e\85s\0\11b\91è\rçñ78ì{4ÕY¬6\ 5$BÕ«L\80/J\10?¶ó\ 3üù®D\11\1c\98\91k\10R
 bA"D\94¢\0ã\r\97|Å'  \80%Ræ\89\1e[îÏäñ\ f¦@\ 6ÅúzM}\ fDê6\8c´\0\ 5Ð\94\811!\rþØîIVó\1fËËÅ\8c.??>^Îîn\16Óë/¨å\7fh\8a\17¨úÙýzõngÎ4\88°D%\95\86\80J\fxCø³\12Î\8aÓ%|\10i#'w"\13\e\99\9fÒ)Øå\94îdV0dátí²\ 3\10@\f\82\13Úê½óË\85\10¨¨Á\86\82T\92\1d\15 ±\86®e]õS\11º²\926tV\ 2W®¬Ë<\f«\9eÓ"#Ã"Wö@\7f2ôòrû¿èf\80\95 ­\94Iåè\1f­*¯¾v³\9aaJ>wF¬uþ´Éu±3àj0~\ba\15#×v\a\121\ 55ȲH9s®?áM\8e\9aôè\e3ËQéÇm\88å\9eC\ 4z\ fÃÙnu±ÙÂö­\f\9f\¢L\1a \ 5eñck\b\f©\f:Sa\152ª³f\84j]\94 \b\93÷^¶Ø:³\93¡\8a\ f´çf\ 2fÌE\b\8ehö'#Ò@\90\81)¨^\9b\1føæ1\b¸\vd\85l\1fjå7Å6D\10\90\84j&@\87\8fd,\8aÄ2\9c¬\ euÃF\1e\f\1c×û0\15\1auÎ'UféW!\v\89\86ίj\8a{OPLY[Á!\84±ïtrÑ5õ\82õ£\12BÐY\8f\ 4L<\1e]£P\8cNY\9b0\bsEe\98L |!m \vEpå­Xä\9e­     p¥ÌÚÇVC\1aKæļQ\8bQ¢ãw\81˸Ҥ)R\14Ì\ 1Lã¸\10\83Ók\9c\11\9f²¹\ e\8eÍ\15X_WÐýt1l\7fº\98¼O½\v+F:n¢\9c¼Âp\bë+\17\9fßÑê¡ç\\8auÝFÊ\19\ 5|\a\90£\7fé\14ÓX\84\19\b\0À\9b\95\ 3     ì\r$KCÈ#gä\eÇ\96n\9a£Å½?\87\8eC\86^\878V]Ù±¼\88ctGGé:\v¹\ 6$òWkw9\r$Ì®(òUO=DúΠ63å\82¬oBeÙ\86Ñi\fñ(\89ª\81ý|Ú£¿\81\97Ò³Xæ9^\ 37lßëDº\96A9\122u\82÷\1ai\ 3\19å\90Éiz\16*a\86{U­Ù\1dàÈÕ\9b
-\89gSW³ñ\9b¸»xá[à8\r\7f\95y&\13úæ\86ÃÏôõaqûm9ã©\8du\9f£g`Ø\8eZ]\8fx\8då\11ºKÎÁµzùLË\9bÅ\97\8f.aþ*Q1©\bµ;À\aǤO£±\9bÄW\97wW\97\84®ð\93\931Óaá\86o\8eY©|\84o\14\1c?\1fw.Ø\88ÿ1Ô\rFø°\18ö*'\86\ 3\96;÷Oþ:ù\173`\13-endstream
-endobj
-1804 0 obj<</Type/Page/Parent 1479 0 R/Contents 1805 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1117 0 R>>endobj
-1805 0 obj<</Filter/FlateDecode/Length 1412      >>stream
-x\ 1\8dVÛrÛ6\10}×Wìä¥ò\8cDI´.NfòàXvë\99$V,¥íLÕ\a\88\ 4MÔ$À\12d\1cõë{\16\0e[\89\9b\85$v\17»çìYüÝ\9bÐ\18¯        -b:\9dSRöÆÑ\98\17ø\9c\9eñg\8cw-)ã\aXzø¸ý¹7\8d\9c¦³8\9aRIÓÅ":\vW\ 5­\9d£Ét\1cÅÇ\8eÞmz£«)M&´É8èülA\9bÔ¹\1eÓ&éß®.ès\95\8aF¾!ü¾Ý|^-£Ëß/O6\7fõ\86°Â¢´\7f\1a\11_ãr89E\fÜÚ\¬F׫\83é¯×«ï\19N¿5¼\95©ªeÒ\98úÑøvyû=ë\99·\1eÆ3\1aÆsä\8d¸ç\855\ 3R\19µVé;ú°¦\9b¶yoÌ=©\86\94¥TZU\8b]!©1¤´mDQP\93Kºy\7f\19bP¦¾F´É±\1a¿¨\14\8d©hoÚ\1aWI®´ätÇ\8fÙfµ))\17ú\8ecfغÐ$¿6R§2¥JÖʤô\90K¾©\1a^ÓmJè\94ýº \ 2['m\1a\95H\12\9dV\99J\84nÈVR¦mu\14Ô9\14I"­KUËæÁÔ÷¤¥ºËw¦Î\r\82ZY\7f\81?\e±íèê5M\0o\ 6Ô\86§S_°x\11¡\8e¿)\9d\9a\a\18¼Z{#Z\89ä\9eboÙQ\ 4\96°\98;\88s        .
-¼­ü"kQ kmöB#\1e=¨&?òº\8a#ºÑ\92L\86Z¨$'£\8b=\89ª\92¢\86\ 1\97Ç\83&h-Ê\9d8J\97S\91\96\eÛ`).ªÚdª@8Ü}\9eÂ*¦¤PR7\16\9cÝÓÔ\94\0¯°¶-Ù:\17\8d\8fÉ\149\ e\Êr\87XØ6óÄ;\18ЮmÜ5¶\06\95H\18D*Ô½DN&I@\15\90Ðs\ e\98ºúsí\ 2M¯5\99:õé\84Ä\ e¹ØÖa\9aµ\ 5\ýWbÛ¾+\1aÜ\93\ 1É\84c\96@\ 2´Z^lO\ 6ß-cÙ¢x¹øâ(<º\9a\85Öï\13x&\92\82l[U¦nè-¨ø\1cú>\89\94ù\8c-q!¸ðdsÆßÃ\99\e`ÂÅ\94T\eQ2Í»\9c"ºæ꡸øçý¦FËÁ\11À0ÔκÃÊ\93ñ\80¤/qbʪ\0\84$v\ 6\10°³\9däX]Sû\8ep\8eBxÚöÏ]Ii)µ\92éöä(2waRK\88\1c\95mѨ
-\99%¦RÈ\ 6¨\ 3D£)Uö\1e\8e\967\1fί?FÌ>¨ïd@ÏoÄ\ 3\92M\12EÑö$B\1fAeP\r[î¢ÄèlÛ\9f}\13º\84RTâ\ eå\84j\94\ 6ÅLe#T\81È\\f\94ËT\8d2`,+\e§Ë>AW8öð¼\84à1x\95¨E)\e\ 1\1c\12Ò\87þ£»ÂìDqT\92ÇÕ(u-\v)\18Û
-JæZÐ5(Æ\11¿\82eGí\r\14\85y`T¸\9f\b\P\88ÖÑÁ³æ\8dßà\98^\aE\8a\83"Qøû#À÷g·µ1F\1a$¾{Þ}W\ 2\96Fò+\13w\14¬~`ÔÁ-\80ê[\1aÏÇã\1f\18tSi\ f­ö6\8b\1fÚ¼ÐR<8^È\ 5$L½.~Û\7fN>\82ð\ 2\12\10f\8dcÉ®uµî¨Áz\17ßÓú±y\ 2\9f\1d\1f%äI5{\1e\86I­*\9eµÞ\91<@äZº+I\98éà0¨©}\8b{\ 6xíúÉÒúz9\80þ§®!9\88×I¾Ïb\8b~rj\8c¶*A­ \13\ 2¯Ï?¼;ßn\9d¤ÃÇQX¤Z¨\7f`\12&¸Ê2\f\1eÔö\90\84 å\98\98^\9e|Oz\87\11ý"1\91¸_\9e\17MÒ« \15©S\85WGa1\18,\1aó\98ÞïP6e!6Ìn8e«\97eÔ?í\86g\1f­\1e\9a0\88³×4\8b\83\82Û G-\94J`¿¶2Úº³J\bÅÜ       p|je½_\a,\97\8fP6µÐ\16ã\8fO6^\99\13qPæà\e\1an%\ 4\1f\14È\ 4$\8fÎ/Þ\1f\fÉ°â¨:¼^é¤hÁ¡ç%x2å\9eâ@¯®0Ðè\ 2\1cªMá\8a\9a\87éóÄæãÍæ\92Þøã\17\93:5@Þ\8d87T\9f\1c\13 /;\1c[x\1e\85n\ 6\9e¦å\91ï´S\86\91î\8e\vÌï¥\9býîäÐ\1d\88ÎÂ\ 6&s\1c¯ÏNi6s\12ã\bI«Úü\85\93\12\1c\13À}\16bNvØ-\1f.ÆP¯´ÿ¿\ eQÓùY4\9fÅþÈ<\99ÍØÓå¦÷©÷/f3¢õendstream
-endobj
-1806 0 obj<</Type/Page/Parent 1479 0 R/Contents 1807 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1126 0 R>>endobj
-1807 0 obj<</Filter/FlateDecode/Length 1507      >>stream
-x\ 1\8dW]oÛ6\14}÷¯¸ÈKS V,Ùq\9c<-íÖ®@[l\8dÛb@_h\89²XK¢FRöüïw.)Ù\8aÒbCá$2u¿Î9÷^öïIL3ü\8bé6¡ù\92Òj2\8bføæôãÓÛI¼ZF3Z.VÑ\8a*Jâet×=\95ô8\19>ãôf\1eÍ\a§pDËä\ 6\96\8bÕ-þNð1\92òIr\eãÅÅÝÌ;]Ä·Ñm÷ÄNÙl±\8aýÏ'f|0¿[FÉØßr\8e¬\92»U´ð9Æx#<õî\92Õ*Z\8e­æñ\1d¾\8cû,\12v\1c\9eØìÕzrý\ 6^g´Î\ 1ÒòvEëÌc\83oÒË×\85h\9c4\94¬"ú]\1fÈiJuÕ¨RÒãÃ\87W\ f/×ßa¿ 8\ eöS¼\98ÀÃå_º¥TÔ¤7N¨\9a\!É\8aj#ÈêÖ¤@ÇèjðíAn¬r2¢µîM\ 4er/KÝT²v´\97Æ*]_Ñ18æÀ3\9aÆó\10\87ºÔ"ë\82xﯿ<\926ÔZUoÉØc\9dF!Ý;\8ao»tç\v\80\89t\91v\1cÑC\9aJkéq\98hª3I{%\bîNæ°a´¦ó\19 íÍáà]í\8cÎÚÔ!ÕçРhv\19\9c+ÛW'3\ 2>\8cT#k\92õ^\19]sÉ\11ý\1aêGå(Br\ 2ôíòµ®ÓÖ\18ÆäKÀ\84Ë{<Z'«o/AÐ\b\99\8b´\90éNÕ\17°\15¥Õ´«\81\15   K\17`²Rî\ 2Vµ<ôÄp½Q\80à\85¥½0J·ÖÇÞ\18\99õ¼n$      \8f\16ò\a:£ ¢Öõ±ê\r\ 3\ 3,\ 1U[g\ 2<\f\0¤Q\86ú]\ 1DÒ 6Ï\12À\85R=7ëÁ\19á5A\95ÎT®8r@\80tîµôÄ}®Û:#á¨p®¹¿¾öò\8b´Ù\86¿®Ó½\8d
-W\95ÏI\8d\a\9aH"_{§\fÈÿäæ'ü®Qf%ÒBÕ\9dâ9$\99¶æÄ\9bvSª´<vØ©\rú\88i5²Ñп6GÊ!Ù\80,7\9bï\9bÐ1^\88(ÔB\15Fø´\a\rÐ\88t'¶Ò^\ 1ã´l3\16\85Oõ*H\1f
-Ëè»rhæM»E\9f\15\123Jàã\ e\1a     C\83\a\8cd\88Î\ e8:§g¥ALÒÜÇÊ\8e¸.´uçÆ\1aÌ\81sc%\83æêZ  \rÿ\1cÀ\8eð~vô0ðì\18\1e0\ 5\fåb\8f_\18\eôõëWÚ\18}@¢\\1a\8b¤,ñè§\ 5`\1cxJuíÐ<\é¨\10Ugj¯²V\94\94C\97\96û\92\11\18\90àú&\82ÏRë\1dË+¼²W<\9e\b¡=\8bübh/¼·õ°\8eÝ÷2ïGØ©jnRawA       \ 4¥çTÂ-\13²\91î 1&D}ô¼uú\87ÿqª½÷¾\89>c\80\9f?½§ûç-\91nÕt£jn\8a\133\18\93?a\13\10F%s\ 1\9bÿ¦Ò\17\15l8\8d1\9f\82jm* \ fg\94\96ÊÏ?OäVíA\ 5OýªM\v´>$Ë\1c\1a]\92fUò\11\88ÌLÓA¹âÇ\ 4\ e¥áÇ£n\1d\1d
-\8d\12sF"*³¸\93²a/\15µø­)\13Ð\e\97}Nx\14\9ay\87¥í\94\b1rÅ\8d\91¹ÄÜΨ\92®ÐÙ¹ÓHå¾\bnÆÓÒCa\1c½Ö\8e¾·Öá \15\96¥Ù˼\vÚó»Ffý\ eäp%Ò\84\19Ã9Àú\8a\1a­°9|ût\9ez\r?QÆáp\88Ò#\88H#\94s\1dùdøq\a©\8dêåp/ºËÁVú\98/ Øz\17F'êÏ\81&ÒÈÝ\81kÄXFulõöãgzûÇ{ÞLè¶nñ~{\19ÑG\r\90]\11º\8baÁçÇsokDS¨\14Àð 
-ʱàRA+\8dÑèg\ 6õü\16ª\97&\17¸\81\80KÎÁjð¡*°]!1\81©í\1d\9d8|\8fBÆ#/\98ZØô\ 1=w^ã{ì4ÁsÝßAºÝó\14Îqo\82»-\ fànJ±¸Î\v\94\19äíϹæ\9a§\9a\1fíN6\10Ø\e,\v\1eÉ$ÿ\11U\83 Êù\rim[Ai\1e\8f\83\0éã%\9dêæØoN¿*\86Jé}KÒ\88l\86\81¨\80\14Èú\eH\10«m7\98W®õ$r»B÷©\eɦÛXT\8b\11®æ§\95ÿ\ e÷\ 4Lp0\aC¾êô¹\ 2\rÌ\1e\9cpUFâ\9d#./|\87àõÚ¿ÅX\9d\a       a°      sô¨O1Òp±Í.qYã x<Ý!?µa\88výËÇ×on\ 6C°[Oìy\9aÑ}\13Öâ=\9e\7f
-îy\84\1a\8d¶ÅÜW¾UÎ÷c\8eÞ7,fh\88°ê"L\93\e\9aÞÜáÿ
-HïÿÜ»\17KÜöo\92®\9e\9b%»ûm=ùsò/¶'\ fîendstream
-endobj
-1808 0 obj<</Type/Page/Parent 1479 0 R/Contents 1809 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1131 0 R>>endobj
-1809 0 obj<</Filter/FlateDecode/Length 1290      >>stream
-x\ 1­VM\8fÛ6\10½ï¯\18¤\87:@%[\96¿vOÝm\926\87¢iÖhQ @@K\94ÅD"\15\92òÆÿ¾oHÉñ:I\ fI\11ÄX\8aä|¼yo\86\1f®2\9aá_Fë9å+*Ú«Y:£ÅjÉ¿\9b5~çøo%U¼\81£§\9f׿\86£ùõuº¢\96²Õ*ÝP\5t\7f\95ofø\9eoVé\ 2»ùuØ\r«°{¶ni1Ïq*\9eåÝó5v×Ù£]\ e\8dÍe\80wÛ«é\8b\ 5e\19m+NfµYÓ¶\f!Ïh[Lþ®¥&åI¸÷\8e\8e¦§ÊX\12Ô  ç\1e\8c\1f;IO·ï`%\e¬L\8a\83\8b_F»\93\94×3J²<\9dÃüäu¯É×\92
-Ó¶B\97ñôr¸\8fssF\0ç`\89\92\92n:'íAÚ\e¬\7fv¢Ý\89ÔØýÍ\14Kk\8c\87\19
-_\1f{MÎ\fmkåèA5\r\15V
-/\91B©¬,¼±G*DÓÈ2\9a\80\85ÒJïC\84\r\ e;?ì9ÓÛ\82£.%½\99¨T¦áÌoÏo\9f]$èÅ~\ f\93\1cÿÎ
-]Ôo\9e¦\14\82(zk¥ö\rÜ\1aüå:£KGÞ\ 4K9ÊTÊ\83lL×â\10y+eÀî<\97_þº\1f\8cJG\ 60Zâ\b\90\86¦\9d$³ãøá|w¤Þ\ryDdÄX!Jìc¬&\842Àu\153\17\84\ 4H\8b\16\19ÞR£\80\80©\ 6§\9fg\1a\ eºÑ\7fez\982±ÀO\9e}Êæ  X³G|UH5\14\8c\1eä\8e\9còÁ\r\93\ 1׬üÐ3ä(\987\17Îbnç\85\99\83PV6R¸X\97\11eÓ7@@Ri´|\84\ 4\bÜ4æ\81q\19Ø\17\0\9e¾ø.ú%\96îo\7f¿»};\7f;ÿ"\17!°l±\8cìÏÓ \18|J²å&2\9du\ 6¨lÐØ\83àÚ\e\ 5`*B901\90¯¨\85Þ£ú=²f\1d}\96\13UÖ´ ¼¯ãí\v\1c#ø'\ 5ÜD2|\ 5\81¾+Y1Ðaò*\1e\1cu\9d \85\9c[\19¤º\88IM_\S\86\16RAÄKJÖAÆóM:\a\91\8a\91\90\8f\14åè \ 4YwÔEàaå»Ç\8eXÉëègh\ 5é©\r\90h\9c!ù±3Ö\ 3\11Ý\89â=KÏt\8aõQQkÀ¦NðîÀ=V\10K\8b\84¿\0\ 6\9eo¦ÓÏ|L»~7=\99\ 4§\1cµÐF\1f[Ó»1þK\93!­/\1a\85³\93ÑiJ/Ad¦¤\84ù(Ü\88\88\15\1e5'\Ié\1e\91sÕãvmZ\19\84\85Î|\91Mk0\84\94®\fË1\9c\1e\eñØ`·0S*'Ê\ 3(w¦ÎS®\f\93\v\ 58YË#$E\1aM×õ\1dCN¢÷¦\15^\15\81®¬+ Ü\184U\1aiÚ¨÷ò"4.Ai¤KGØ\ 29ØQ(\17ºðAjÅ=0\f\1cÌ ­¼\82\9dG¿\1eD;\92\r\ 4É\17QI \e\ 4v׫¦\1c\9bø\9dÒÂ\82\r_%ÕÖpV\10\8bû\89*eÁ\17;L¨Î\9a½\15m¼9
-dBé\14\11VjßÛ\90ا\11:\19å:Ì\8a\93Æ\86ÆäêÐ\99N !\15\9e\ 4\90Ê8&ïyÔ\ 5\00y-\99N\82\v\9c\94;:/[P¦
-ý¢\16\a   æ÷®\a@ZJ\1e(<·y^·â\88>àjî'H*&\82ÇK\18øg\13\92\aé\ fqw\1cäù2]/ñÐ\81ºÏò¥$©es!Ð$\9e=\rî\b"\:põ\81©ã:YpýLç\95Ññ-Á\13Kj±kÐÿÁD,>Ê¢ç\f¿1ÌVD¢}ªÇe`ço\0`D»\81\1a)ý¡1Ú\95ÿÑ\81Ù\81\8cU\1fkÓv\8a\9f\a\f&\a\8c\9eû\1dÑ\8dü\8d&N\8dô\ 2>\07ð<\b}\f24G<\98¸Ì,y¨ç\9f!*\87\1e\0rH°ék7§x¹ár¼\19;Ìÿ\90\bbûï\Nï»Í@ºl\85'ò&§Õj\86÷(È\15&'½²æ\1d\1edôÌ\14=?~Àt\13L'ã\85d=»æóß8N\16«MºZÎ#¡³å\9aÃ~¾½úóê_f\84\94\18endstream
-endobj
-1810 0 obj<</Type/Page/Parent 1479 0 R/Contents 1811 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1811 0 obj<</Filter/FlateDecode/Length 1096      >>stream
-x\ 1\9dV[oÛ6\14~ϯ8k\1fæ\0\95\978\ 3öàÔ\r\1a¬]»Ä\180 À@\8b\94ÍZ"]\8aJ\9a\7f¿ï\90\92\9d[\8bb\b\82ÄÒá¹}\17úëQFCüdt\9aÓhJE}4L\874\99\8dÒ\19\8dg§ø?ǯST\86\17£l\92\9e¾ô"Ç\8bÉK/ÆÓçÏÏ\97G'\17(\9aѲDñéì\94\96\92Px8¤e1pÖú×ÇË/\bʺ \11ÊN\10º\94\83Zl\15iÓxQUµ01nÜÅ%10ɧé\98\83ÿ´^\91ß\bOº¤{Û\92À(íní\84ÔfM¥u$hçÔ­¶mC·Ê5Ú\1a²%]\8bz%Â\89Z¯7\9e*\8dªÞÒÖØ»\98Ðo\14ÙJö\87\1a\9câ^\86\94d£4çâ\1c±ÒF8­\1aºÓUE+\85U\1aQ+\89Ï~\83Ú¯RäxEê\9bW\86k§ô\ fº,\84¡µ¥\95(¶\\94\13=k\92\13Äá\ f\9bÜÏý\13+ÄÐÊù\1f¯¯[Z©\8dD\13ú°!AR7¢ñÊý\123\9cQ\86\853\9aÉ(\8b»Ïgé(ÍRzkë\9d®xÝMXj\98|^x}«h¡\9d*¼u÷Ô´»\9d\ f²åÌ\8dÁ%@qR9ÞF\11ò©GÙ\16×}\827\ 14£°bÄn\ 4\8atdÁ\13`\v\128jîÑzý\e·\8efG9\97IgøÛ¡öñrI[åVÊÙ\86$\16UÙ]­\fÓ`å"\9e7\ 3\ 5\0ÐQ\97\9dJgë\80T\83
-\ 5\10\a·ÚF1¿\0£X«\9bã\94\96@r£t-EÅÅ\93\al9¤\ eT1ÖÓ\9d\94ã8l\9a\ e§\93¾ÁO;e>,æ\9f_n.\9cI\9eMv\19\ e\93\1dJ²,´A¯Æ\9a\ 4Ò2R8I\95-\84gA`P\ 3æÖªÆJx¯B2!\14°0¥^·8mw\1cÙ7Û) I\18ìdëV\93ß\17\97Wý,½:ç%\b\14ðr­y\90+H¼á¬Aº\9côà\17\ 3m\8aª\95ê$ÖN;\11ô\ e0 íi­\8c\ 3\ 4\ 4y\ 1\88\80\9cÁÇ(c09`ÏIÏ:ÖæãÈÚ×R\81î\8aÞÏÿ~÷ï\1f\13Êú¡\86ðD\10äQD\0!D\9c\ô-°\ 6¦1\16+G;ÒªÆüêã\1a\ f+\93Zbß\9e\82¼\ 2/yQ\ f8\ 6\ 6\85Ç\95\14»Ãã\94>X»e¸º\rTvÍ\98D úf;\ 4l\v\1amî      \88\eº    \9c\@°\9dý&\10j0ËN°\90ìe´WÖ,£ìÔ×\16B\95=\93\9b`\9c\vµÒOý\97\ 5ÛYï'C1â\91 {µpÚÒV\95½ã"\9dB"*Ïx\v\9aòb\12\b±\9fn/\86ð\ 22s\91$ýT{ò\9fõ²î\86Ë\7fr¸+%ß\8b'îøx¸\18\81ýÀ\16k%@1`EÍƶ¸\14\82ïàÖ©\14Lòe\9f      \9d³Â!· ²\9b\ 1_G[m´¿9~yPl¢¡\18\a>#t\1dî\91ï\85\açBüJ\15\82­\88\ed¥G\aåÓÁ´¢aÅ$ûÅíý\90mAJ\1d} ÞE{\83xh\8dÊÜjg\rÛäS\9d\1fnaÀÎ\96\88\1e\98øû<°\18AÝB;\86¼   \94å\8ekqO½\9f¯UPQ\8d˶¤·\8b¼#ó¬#s6Å7\96Ù\88¦\93,\9dNF¬ÖëùÇó9}vö\v.\1aZØ¢å\ eÃÆyÇðÕx$9\1dÂ
-äà\7fßZãé\f5óø%%\9bÌ8û»åÑ_Gÿ\ 1/ÈÞ\ 1endstream
-endobj
-1812 0 obj<</Type/Page/Parent 1479 0 R/Contents 1813 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1813 0 obj<</Filter/FlateDecode/Length 1476      >>stream
-x\ 1\95WaOÛH\10ýί\18ør©\ e\9c8    !ô>Q\95Þ!µ\94+9U\95*\9d\9a,±½îî\9a\90\7f\7foví$\98Díµ*¢°;;óÞ\9b7\93\1fG1\rð7¦\8b!\8d&\94\14G\83h@çç\83hHãé\ 5¾\1fâ\9f\91\94ù_LFѸûów³£þ\87K\8a/h\96!Ôd\1aÓ,%\84\19\fh\96ô\86Óh\1cѽ\13Æ©ò\81ÜB\92-æ)\89\12ß¼\99=âþ\98b\ãûgÃ\8bh\82\b½oº¦¢¶\8e\92\85ÖV\92Ód9ÊËë$\15B\1a\12\96R!\v]ZÒ\86\8b\10ø¼  Ü#UJ×y­\17Ñ{]þæÈ\995ÇO5͵[\1cÓu\bºÖ5GARñ\b\80 ©D\94TÕ¸°\90\ 5"Rx\ 4\0úì{þ\8d(Ñeö²¬\9e/w!\9eP\ 6ßô\85È\94tI©,\18\8aùúWò=åâ\90\15q\1e\ 1\r\1fo[}'ß\ 6\1dÆÃC\9fèÂ?\97#S\8eõº\84¾tIß$Q®\13\91\0\8fÒW@\bB\95x\90\962DI¥\13*\aòå«G:ùèÊ)p\14ÑL,%"@\14I\9d\v\83\82 2P`¤H}\90¹r$æ\1a\16ÂQmA2W^Jà\86\83sÉÉk\93âç\e\8bb."º)9A\8fè\vî,òå\18^V\b`´vQ\93áp\ 2i\83á\19\ 4Z\b\84\16é\93(\1dj$\9d\ 5¬¡ß\0ÈVT,å\ eHLu÷Øk¡÷PQÛ\ fF2-²LQY\101\15Ò-tJÊ\ 2\vT\ f\92×´R¹'d§$#m¥¡\1e\9b«\87\85Ë×ThÀø£VÉ\12ÿ\ 1, I\95Ê)\91\13TYÊ\84á\aÈ?jiCé¾wQ¹ï½Q\1c@ðM\eï´­\17Ð!uû¦eìn?Ï®ÿ F0Óy®W\ gÍd¥*ˤ\91¥#\95y\12À(ÝÞÜ\9fò\97ßY\8b\1fß_ÝqΩ²Î¨yíà\14Ò<©\ 4¬\15¢²]¦>j½$\80\ 3FM·\11½\8aÛÛ\1d\82"úÊ\98\ 2ÛTf¨        ^ä¨Òp\96xtÙwI\ 5\ 1eTÂ\b8ÿ\9dc`\81e\81óäû'WKɱw\bÁ\1dû6¼\17ïXZ£-8Ð\i{fmÙ¾õ27F²9kU¡Ð\18 \91;,\1e]ôë´òÀÙ\85®ó\94¼\9b\80_@
-÷â\~þ0ܱ\89tðÝ[ùìH¦è¾\83¸\1eÒAp9\ 6È­´\87È\92Õ,e\ 6\923\84\90\fè²uüqP\1duþìÂ\ 5IH\ 1\ fK*0³\12H\8f\9b\97úµ5}oU}˽ß\9f«²ïç\8bÿÒ²3\88¦¬ÏN|xIà\ 3°¤\ f\ 6á\19â\9f\ 4çVö\83«\91ÜÎä\1aMÂ3Ü\0òY$\18Uk8È3\eHÀ{3(¼>\ fãø$\8c\82êçÒ­$4W\97êYÂ4[ÅC\88\ 4yÂù\98|>      ¿ÚFó\8a\11míÍäz¨U*»-Ä\rû\96îÁQó\ 6\89\9c\1dx\1dÔÕF÷Ô5`ý\v°¾÷Ð\1da\10Ôp-c\13ØÎ÷7\9cž:\ föá·WóÕ;s3´¼\bÿG<ö\90}Ç·À\84߶\8cõØl
-\9eC\80²`\7f´p\1eÔ¼\1f¥Ïa¨\80S\1c*\9aA"Ö\9b\81Ä~ÆÄ\9c¨ÒI\93    ØÖ      \85yÇÀ@\8f~1ðê\92\89Ê`Ð8~sÇ\96\ 2\9cÝ\8e\95ø\ 5IºBØ%\vÈwã6tD_ê2Ô³\9dF*ãÕC5Sj['Ö\ 3ß-\8dó¦~çY¢\8fÂlå4æF\8b4\11X·`xì8þ=pîÁè\7fh\1fÙIpßP\vjd\13\97\0¡\0ôÄs\1cÝZc7P\85<%\18;eíºÀö°\91w»\ØfLaR\9d8Ì)v\ f~ìd¯°\9bQ   \88`æ©·ì0`ÚM\ 1[\1dÛN\97Õããã¯W_nonÿÄwô  ûBÛ\ 3º\84ë\8a$\91\15R7\1a\12§sÞU\ 4\9e\82Ø÷­9{¤\7fPvX~\90N\87íB
-4\16@§`ï¼\95²¢lÅBÚ8\ 1SÕìP~¥\14æ¡Ææàìf3l¦\ 3ß\15d\13£*wê\8fnÖÅÎËá̯¯ÌÍõvN}\ 1AXã^I\11ÒénF§TI³À$§GÞë-6\1e¯\ eúë\9f;?s¹|?ÖT\89 yΣ\19\ 3\ eSPÁë\9e\80=o/ºY®[Iöö|\8e@oó°æ\80EÓ£\9d²¡Ñ%¯&ÞÏÑ +\99ç\8dÖ§Íä\8e\04\1dÑd4\ eÆ~\7fõéÝ\15Ý\19ý\b\85â£Câ±\17¼Sqô³öÂÙÅ\0³-ý¥Ï>ãÉ4\9a\9c\ fñÉ\a\17âóK\ et=;úûè?Ýë"\99endstream
-endobj
-1814 0 obj<</Type/Page/Parent 1479 0 R/Contents 1815 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1815 0 obj<</Filter/FlateDecode/Length 569       >>stream
-x\ 1\9dTM\8f\9b0\10½çWLÕ\vU\e¾B\b»·¬v#õÐÏ J=\1a3YØ`;µM\9aüû\1dcÒMÒöÐ\82\90\9byóÞ\e~L\12\88éN`\91Â,\a.&q\18C6_\84\ 5\82ÞSz4ÂfrWN¢Õ\r$\19\94\e\82ä\ 5½Ô@Çã\18J\1e¤E\98\85i\bË΢\96̶{¼\ 5c\99¶­|\84Ö\ 23À f(\94|S>Q­\f\92Ä×\9a¦\vª\15\94Ê\ 3À6\b\ 6õ\1eõ9
-\8eª\aÓ¨¾«\81kd\16© áºÝY0J m\§®Ý"\15h\r(\89ï`\87ºa;\ 3\9cu\9d\9bÓ̧æÉ,L]û\81¬\11Õ%» <\ 1nNd³Ð\8d\1eÀÕõúUTµ22\8d\ 3Ä0Mb\12ñ\ fç¢Þè¨SÄ(2LTÌ£DUÃô\1eþ\a+Ï°\17²ÎrÏ\80ô\94 \18       C>à\ 1yoYÕ!ülí@6ZÍG9\ 2à\8dP5¼=x+~\93\83æJs?ÿw²\833éÜ\92 ûÑÕ\97J\7fÑ\13ª#4LÖ ôÈe µÑJ\fÓG«\937A\84\96G\9a\87\83X\97\9cñ ØlÛ®s³\19¤ºÌ\7f\9aöQ²\ e¬\1aâ´Ó\8a£1h|\99\17\96N¼ËÒ\ 1\10»ëc$Äõ±!\18g<>~*\1fnáýfÈio\
-\11Öß¾f$å\91Ôn¥cx4\16\85×ÌåY°ã\18Y\ 5\9dR[`vÀùþ¿\94À\ 3\13»\ eMdö:\9b\ eÊö»KÚ.q§$û¥ Ñ\aÓ×.e°¡î­\1cä \1e\9eÇ\98íbt?Éiã\8b\19¤Yì-^/?Ü-á³VOÈ-Ü+Þ\v\94\96\96Ûïðô\ 4\98.bÚ\8eú\9f\7f\ 2Y^\84ù<¥ß        \81\93<v\13=\94\93/\93g\1f\95M\14endstream
-endobj
-1816 0 obj<</Type/Page/Parent 1479 0 R/Contents 1817 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1140 0 R>>endobj
-1817 0 obj<</Filter/FlateDecode/Length 1663      >>stream
+\89gSW³ñ\9b¸»xá[à8\r\7f\95y&\13úæ\86ÃÏôõaqûm9ã©\8du\9f£g`Ø\8eZ]\8fx\8då\11ºKÎÁµzùLË\9bÅ\97\8f.aþ*Q1©\bµ;À\aǤO£±\9bÄW\97wW\97\84®ð\93\931Óaá\86o\8eY©|\84o\14\1c?\1fw.Ø\88ÿ1Ô\rFø°\18ö*'\86c\96;÷Oþ:ù\17ö+\13$endstream
+endobj
+1807 0 obj<</Type/Page/Parent 1476 0 R/Contents 1808 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F6 8 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1118 0 R>>endobj
+1808 0 obj<</Filter/FlateDecode/Length 1413      >>stream
+x\ 1\8dVÛrÛ6\10}×Wìä¥ò\8cEI´nÉL\1e\1cËn=\93Ä\8a¥´\9d©ú\0\91 \89\9a\ 4X\82\8c£~}Ï\ 2 l+qS˺\90Äîb÷\9c=\8b¿{c\1aá5¦yLg3JÊÞ(\1aÑôõ\1c\9f\93\ 5\7fÆx×\922~\80¥\87\8fÛ\9f{\93x\1cÍh2\8d£ \954\99Ï£E¸*hí\1c\8d'£(>vônÓ\e^Mh<¦MÆAg\8b9mRçzD\9b¤\7f»º ÏU*\1aù\86ðûvóyµ\8c.\7f¿<ÙüÕ\eÀ
+\8bÒþYD|\8dËÁø\f1pks±\1a\ e¦¿^¯¾g8ùÖðV¦ª\96IcêGãÛåí÷¬§Þz\10Oi\10Ï\90\9e\17Ö\9c\92ʨµJßÑ\875Ý´Í{cîI5¤,¥ÒªZì
+I\8d!¥m#\8a\82\9a\ÒÍûË\10\832õ5¢M\8eÕøE¥Ø\93mLE{ÓÖ¸Jr¥%§;zÌ6«MI¹Ðw\1c3ÃÖ\85&ùµ\91:\95)U²V&¥\87\òMÕð\9anSB§ì×\ 5\11Ø:iÓ¨D\92 «î´ÊT"tC¶\922m«£ Î¡H\12i]ªZ6\ f¦¾'-Õ]¾3un\10ÔÊú\vüÙ\88m\87W¯i\fx3 68\9bø\82ÅÓ\buüMéÔ<X\8aGàÕÚ\eÑJ$÷\14\8e\8cç \1aC\9cKpQàmå\17Y\8b\ 2Yk³\17\1añèA5ù\91×U\1cÑ\8d\96d2ÔB%9\19]ìIT\95\145\f¸<\1e4AkQîÄQº\9c\8a¬\19¶ÜØ\ 6KqQÕ&S\ 5Âáîó\14V1%\85\92º±@\19åì\9e¦¦\14J\ax\85µmÉÖ¹h|L¦ÈqàR\96;Ķ\99'ÞÁ)íÚÆ]c\v`S\89\84A¤BÝKäd\92\ 4T\ 1    =ç\80©«?×.ÐôZ\93©S\9fNHì\90\8bm\1d¦Y[ÀÕ\7f%¶í»¢Á=\19\90L8f        $@«åÅöäô»e,[\14/\17_\1c\85\87WÓÐú}\ 2ÏDR\90m«ÊÔ\r½\ 5\15\9fCß'\912\9f±%.\ 4\17\9elÎø{8s\ 3\98\92j#J¦y\97SD×\=\14\17ÿ¼ßÔhyz\ 40\fµ³î°òd< éK\9c\98²*\0!\89\9d\ 1\ 4ìl'9V×Ô¾#\9c£\10\9e¶ýsWRZJ­dº=9\8aÌ]\98Ô\12"Ge[4ªBf\89©\14²\ 1ê\0ÑhJ\95½\87£åÍ\87óë\8f\11³\ fê;>¥ç7âS\92M\12EÑö$B\1fAeP\r[î¢ÄèlÛ\9f~\13º\84RTâ\ eå\84j\94\ 6ÅLe#T\81È\\f\94ËT\8d2`,+\e§Ë>AW8öð¼\84à1x\95¨E)\e\ 1\1c\12Ò\87þ£»ÂìDqT\92ÇÕ(u-\v)\18Û
+JæZÐ5(Æ\11¿\82eGí\r\14\85y`T¸\9f\b\P\88ÖÑÁ³æ\8dßà\88^\aE\8a\83"Qøû#À÷g·µ\11F\1at§{Þ}W\ 2\96\86ò+\13w\18¬~`ÔÁ-\80ê[\1aÍF£\1f\18tSi\ f­ö6ó\1fÚ¼ÐR<8^È\ 5$L½.~Û\7fN>\82ð\ 2\12\10f\8dcÉ®uµî¨Áz\17ßÓú±y\ 2\9f\1d\1f%äI5{\1e\86I­*\9eµÞ\91<@äZº+I\98éà0¨©}\8b{\ 6xíúÉÒúzy
+ýO]Cr\10¯\93|\9fÅ\16ýäÔ\18mU\82ZA&ðÐ\ 5^\9f\7fxw¾Ý:I\87\8f£°HµPÿÀ$Lp\95e\18<¨í!Y\88        AË11½<ù\9eô\ e#úEb"q¿</\9a¤WA*R§
\8eÂb0X4æ1½ß¡lÊBl\98ÝpÊV/˨\7fÚ\rÏ>Z=4a\10g¯i\16\a\ 5·A\8fZ(\95À~me´ug\95\10\8a¹\13àøÔÊz¿\ eX.\1f¡lj¡-Æ\1f\9fl¼2'â ÌÁ74ÜJ\b>(\90   H\1e\9d_¼?æ@\18\92aÅQux½ÒIÑ\82CÏKðdÊ=Å\81^]a Ñ\ 58T\9bÂ\15{x5\vÓç\89ÍÇ\9bÍ%½ñÇ/&uj\80¼\eqn¨>9&@_v8¶ð<
\f<MË#ßi§\f\1d\17\98ßK7ûÝÉ¡;\10\ 6Æ3\1c¯\17g4\9d:\89q\84¤UmþÂI\14v        \8e       à>\v1';è\96\ fæ#¨WÚÿ_\87¨Él\11ͦ±?2\8f§\vöt¹é}êý\vRÓ¢ôendstream
+endobj
+1809 0 obj<</Type/Page/Parent 1476 0 R/Contents 1810 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1127 0 R>>endobj
+1810 0 obj<</Filter/FlateDecode/Length 1507      >>stream
+x\ 1\8dW]oÛ6\14}÷¯¸èKS V,Ûqì<-íÖn@Wl\8dÛb@_h\89²XK¢FRÖüïw.)Ù\8aÒbCá$2u¿Î9÷^öïIL3ü\8bénN\8b\15%åd\16ÍðÍùÇÇw\93\8af´Z®£5\954\8fWѦ{*èq2|Æéí"Z\f\88Vó[X.×wø{\8e\8f\91\94Mæw1^\nfÞé2¾\8bîº'vÊfËuì\7f>1ã\83Åf\15ÍÇþV\vd5߬£¥Ï1Æ\eá©w7_¯£ÕØj\11oðeÜg1gÇá\89Í^o'7oáuFÛ\f ­îÖ´M=6ø&¹z\93\8bÚIC°¢_uKNS¢ËZ\15\92\1e\1f~\7fýðjû\röK\8aã`?\9d¯á~\9b^ý¥\eJDEzç\84ªÈå\92¬(w\82¬nL\ 2t\8c.\a߶rg\95\93\11muo"(\95GYèº\94\95££4Véê\9aNÁ1\a\9eÑ4^\84p©n«B\8b´\v⽿ùüHÚPcUµ'cOU\12\85t7\14ßué.\96\0\13颾8¢\87$\91ÖÒã0ÑD§\92\8eJ\10Ü\9dÍaÃhM\173@Û\9bÃÁo\953:m\12\87T\9fC\83 éUp®l_\9dL  ø0Rµ¬HVGetÅ%Gôs¨\1f\95£\bÉ   Ð׫7ºJ\1ac\18\93Ï\ 1\13.ïñd\9d,¿¾\ 2A#d^$¹L\ eªz\ 1[QXM\87
+X\91°ô\ 2L\96ʽ\80U%Û\9e\18®7
+\10¼´t\14FéÆúØ;#*8³\9e×\9d$áÑBþ@g\14TTº:\95½a`\80% *ëL\80\87\ 1\804\8aP¿Ë\81H\12ÄæY\ 2¸àÄs³\1d\9c\11^\13TêTe\8a#\a\ 4Hg^KOÜgº©R\12\8erçêû\9b\e/¿H\9b}øë&9Ú(weñ\9cÔx \89yäkï\94\ 1ù\9fÝü\80ß-Ê,E\92«ªS<\87$ÓT\9cxÝì
+\95\14§\ e;µC\1f1­FÖ\1aú×æD\19$\e\90åfó}\13\v\11\85Z¨Â\b\9fö \ 1j\91\1cÄ^Úk`\9c\14MÊ¢ð©^\aéCa)}S\ eͼköè³\bF       |\«\9104Ø\8a\93e$CtvÀÑ9=+\rb\92æ>VvÄu®­»4Ö`\ e\\1ak>h®®\95ÐðÏ\ 1ì\bïgG\ f\ 3Ï\8e\ 1\ 6ì\ 1SÀP&\8eø\85±A_¾|¡\9dÑ-\12åÒX$E\81G?-\0ãÀS¢+\87æáJG\85¨*UG\956¢ \fº´Ü\97\8cÀ\80\1c\ 6Ñ7\11|\16Z\1fX^á\95£âñD\bíYä\17C{á½½\87uì¾\97y?ÂÎUs\93
+{\bJ (=£\ 2n\99\90\9dt­Ä\98\10ÕÉóÖé\1fþÇ©öÞû&ú\84\ 1Â\99~úø\9eî\9f·D²WÓ\9dª¸)ÎÌ`Lþ\80M4ÅC\18\95Ì\ 5\9bJ_T°á4Æ|
+ª´)\81<\9cQR(?ÿ<\91{u\ 4\15<õË&ÉÑú\90,shtA\9aUÉGØ4#2SM­rù÷   \1c\8fGÝ8js\8d\12sF"*³x\90²f/%5ø­)\15Ð\e\97}Ix\14\9ay\87¥í\94\b1rŵ\91\99ÄÜN©\94.×é¥ÓHe¾\bnÆóÒCa\1c½Ò\8e¾5Öá \11\96¥Ù˼\vÚó»Efý\ eäp\ 5Ò\84\19Ã9Àú\9aj­°9|ût\9ez\r?QFÛ¶Qr\ 2\11I\84rn"\9f\f?\1e µQ½\1cîew9ØK\1fó%\14[\1dÂèDý\19ÐD\1a\99k¹F\8ceTÇVï>|¢w\7f¼çÍ\84\16ï×W\11\0Ùå¡»\18\16|¾?÷öFÔ¹J\0\f\ fª \1c\v.\15´R\e\8d~fP/o¡zi2\81\e\b¸ä\1c¬\ 6\1fª\ 4Û%\12\13\98ÚÞÑ\99Ã÷(d<ò\82©\85M\1fÐsç5~ÄN\13<×ý\1d¤Û=Oá\1c÷&¸Ûó\0î¦\14\8bë²@\99AÞþ\9ck¦yªùÑîd\r\81½Å²à\91\1f\bª\9cß\90Ö6%\94æ\11äþh\ 5H\1f/éDק~súU1TJï[\92Fd3<º\fD\ 5\ 4º¥@Öß@\82Xm³Ã¼r\8d'\91Û\15ºOÜH6ÝÆ¢J\94\92\8fp5?¯üßpOÀ\ 4\as0ä«N\9f+ÐÀìÁ      We$Þ9áòÂw\b^¯ý[\8cÕe\90\10\ 6\9b0'\8fú\14#\r\17Ûô
+\975\ e\8aÇó\1dòc\13\86h׿||óöv0\ 4»õÄ\9e§)Ý×a-Þãù§ó­à\9eG¨Ñh[Ì}å[år?æè}Ãb\86\86\bë.Ât~KÓÛ\rþ¯\80ôþϽ{¹ÂmÿvÞÕs»aw¿l'\7f\ 5H3\ fãendstream
+endobj
+1811 0 obj<</Type/Page/Parent 1476 0 R/Contents 1812 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R/Fa 12 0 R>>/XObject<<>>>>/Annots 1132 0 R>>endobj
+1812 0 obj<</Filter/FlateDecode/Length 1290      >>stream
+x\ 1­VM\8fÛ6\10½ï¯\18¤\87:@%[\96-{÷ÔÝ&is(\9af\8d\16\ 5\ 2\ 4´DÙL$R!)oüïû\86\94\1c¯\93ô\90\14A\8c¥HÎÇ\9b÷føá*£\19þe´\9aS^PÙ^ÍÒ\19-\8a%ÿ®Wø\9dã¿\95\ 6\8e\9e~^ÿ\1a\8eæ××iA-eE\91®)®\1aº¿Ê×3|Ï×EºÀn~\1dvÃ*ì\9e­[ZÌs\9c\8agy÷|\8dÝUöh\97\ 3Ìqc}\19àÝæjúbAYF\9b\9a\93)Ö+ÚT!ä\19mÊÉß{©Iy\12î½££é©6\96\ 4u¹\ac+òÇNÒÓÍ;XÉ\ 6+\93òàâ\97Ñî$åõ\8c\92,Oç0?yÝkò{I¥i[¡«xz9Üǹ9#\80s°DIE7\9d\93ö í\rÖ?;ÑnEjìîf\8a¥5ÆÃ\f\85¯\8f½&g\866{åèA5\r\95V
+/\91B¥¬,½±G*EÓÈ*\9a\80\85ÒJïB\84\r\ e;?ì9ÓÛ\92£®$½\99¨T¦áÌoÏo\9f]$èÅn\a\93\1cÿÖ
+]îß<M)\ 4QöÖJí\e¸5øËuFW\8e¼ \96r\94©\92\aÙ\98®Å!òVÊ\80Ýy.¿üu?\18\95\8e\f`´Ä\11 \rM[IfËñÃùöH½\eò\88È\88±B\94ØÇXM\be\80ë:f.\b \90\16-2¼¥F\ 1\ 1S\ fN?Ï4\1ct£ÿÚô0eb\81\9f\94Í\13°f\87øê\90j(\18=È-9å\83\e&\ 3®Yù¡gÈQ0o.\9cÅÜÎ\v3\a¡¬l¤p±.#ʦo\80\80¤Êhù\b    \10¸iÌ\ 3ã2°/\0<}ñ]ôK,Ýßþ~wûvþvþE.B`Ùb\19Ù\9f§A1ø\94dËud:ë\fPÙ ±\aÁµ7ÔJ\vÀT\84r`b _¹\17z\87ê÷È\9auôYNT[Ó\82ð~\1fo_à\18Á?)à&\92á+\bô]Å\8a\81\ e\93Wñà¨ë\ 4)äÜÊ ÕELjúâ\9a\90\1a"^R²
+2\86\9cç RYJ7\12ò\91¢\1c\1d\94 ë\8eº\f<¬}÷Ø\11+y\15ý\f­ =µ\ 1\12\8d3$?vÆz ¢;Q¾gé\99N±>jj\rØÔ  Þ\1d¸Ç
+bi\91ð\17ÀÀóÍtú\99\8fi×o§'Ó,\95à\94£\16Úèckz7Æ\7fi2¤õE£pv2:Mé%\88Ì\94\940\1f\85\e\11±"hÜ£æ\84+)Ý#r®zÜÞ\9bV\ 6a¡3_dÓ\1a\f!¥kÃr\f§ÇF<6Ø\rÌTÊ\89ê\0Ê\9d©ó\94+Ãä\82\16÷\ 2\9cÜË#$E\1aM×õ\1dCN¢÷¦\15^\95\81®¬+ Ü\184U\1aiÚ¨÷ò"4.Ae¤KGØ\ 29ØQ(\17ºðAjÅ=0\f\1cÌ ­¼\82\9dG¿\1eD;\92\r\ 4É\17QIH\r\ 2»ëUS\8dMüNiaÁ\86¯\92jc8+\88ÅýDµ²à\8b\1d&TgÍÎ\8a\1c\ 52¡t\8a\bkµëmHìÓ\b\9d\8cr\1dfÅIcCcrûÐ\99N !\15\9e\ 4\90Ê8&ïyÔ\ 5\00y-\99N\82\v\9c\94;:/[P¦\ eýb/\ e\12Ìï]\ f\80´\94<Pxnó¼nÅ\11}Àí¹\9f ©\98\b\1e/aà\9fMH\1e¤?ÄÝq\90çËtµÄC\aê>Ë\97\92d/\9b\v\81&ñìipG\10áÒ\81«\ fL\1d×É\92ëg:¯\8c\8eo       \9eXR\8bm\83þ\ f&bñQ\96=gø\8da¶"\12íS=.\ 3;\7f\ 3\0\ eÔHé\ f\8dÑ®ü\8f\ eÌ\ ed¬ûX\9b¶Sü<`09`ôÜï\88näo4qj¤\17ð\ 1¸\81çAèc\90¡9âÁÄefÉC=ÿ\fQ9ô\0\90C\82M_»9ÅË\r\97ãÍØaþ\87D\10Û\7fçrzß­\aÒe\ 5\9eÈë\9c\8ab\86÷(È\15&'½²æ\1d\1edôÌ\94=?~Àt\13L'ã\85d5»æóß8N\16Å:-\96óHè¬\98qØÏ7W\7f\vP\r\94\fendstream
+endobj
+1813 0 obj<</Type/Page/Parent 1476 0 R/Contents 1814 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F1 4 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1814 0 obj<</Filter/FlateDecode/Length 1462      >>stream
+x\ 1\95WïOÛH\10ýÎ_1å>\ª#v\9c@\12z\9f¨Z¤J=Ê\1d\91N\95*\9d\9al±wÝÝ5!ÿý½Ùµ    \18¸r ¢\ 4ïÎ\8f7oÞL~\1cd4ÁoF\8b)Íæ\94×\a\93dB'ËY²¤ãå\ 2ï§ø³\92Êðàxz\9a\1c\ f\1f¼_\1d¤ç°\91Ѫ\84­ùrA«\82`g2¡U>²Æø_Þ®¾ãPÖ\1d\9a\9d$\8b\13\1c]\15£ZÜHRÚyQUµÐñÜqwn\1c\ f\8e§sxÅá\vã%ù\8dð¤JÚ\99\96\ 4"k\9bk+
+¥¯©4\96\ 45VÞ*Ó:º\95Ö)£É\94t%êµ\b7ju½ñT)xõ\86n´ÙF\83~#ÉTE\7fÉá\16Ç2¡q6K¦ì\9c\95\16VIG[UU´\96@F\8bZ\16øì7ð}\98ÀÆ!É;/5ûNè+¢Ì\85¦kCk\91ß°S6ô$H6\10\93ß#y\9f÷+ DÒÒúÿ\86¯\ 3­Tº@\10j\8f\90 B9á¼´o¢\85SÊPD®æxv\1c±ç\1a$tå\85õ\8c5'áêuA\ 2Æ4Þ<v\8d\8bÓE2gÜ\18\81ºu\9eò\8d1.À\8ej[ÿø:I\0 Q?G\85\90µÑ¨\80¥Ò\9a:\1a>é(1\ 2\1fx\e%ôÁè_=y»c\84\v\80müæ\r}\8cFA\15¶ò \98\\92¦Å\85\8d¬a\91¢\93\1eúQð\91äF\a\12¤ç=!G!Ý\8d¸e\1aâfH\ 4å\aË
+       ú\16´Þ½&Þ#N\8e      ÌqD4\82½}ö\83x;t\18\8f\0}nêà®B¤lëi
+©ôyjó¤2¹¨bL÷Y \8e2d@0B\8d¸\ 6£¹y
\85ª\80¼~âd\10\8fi<èí\12Zqÿ6L\8a¼­\84EBhI\94ÀJÁ$ã\96ñ$Ö\ 6Xo¹q[\87"sæZ\ 27\1cD\13!xc\vü\1f\1f#\18¡_\13ú¤9À\80è£Ú9ÄË6\ 2­¸\v!1I\17\15+ø®\ 5L\8bâVh\8f\1cY\b\82yð7\ 2²'\15Sy\0\12\97zxì)ÑGȨï\a+¹,R\17È,\92\98jé7¦ ôZ\90-\0²\vÚÑ\ 5Ûk\8b\95®1`\8f«X\9eª\1dÕ\ 60þhU~\83\ f\80\ 5eRZy%*\ 2+µÌ\19~\80ü£\95\9e\9e£i¡\92±i³\aM\9b=hÛ@ \97Ø\1d\9a6èì\97ÕÇß\89\11,MU\99-'Ø+^¡ÊRBöî5\18\15¥\8bOWGüò\esñó\87³K\8e\19\9aâ­Z·Ðl\14ýVå¨Z-\1a7¬Ôgcn\bÔ@Eí°\11\ 3\8bûÛ\83\ 2%ôw\18\ 5P\f       M\ 3è0Ò\18(K6;M}Þ\80@%i\b\ 1Ç\8f\12ôÇP\ 5¦\ 5Îc\10 \7fx\1a\f
+Âòø.úë\87\16£ÓÍ!(ÐZ\197vN÷¾\1eÇöà¬SµBc \8cÜaÙl\91¶E\13Øë6¦ÅÄ j\82ú\ 2\17ÇòsÇPÇÎÒ\8b~/0\84H\16è¾\17q}\89\a\18 ¿5\ 1"GÎ0\95\19È8;÷øLè´cÝ´\e\154øy\b\17(!\ 54,oP\99­@xܼ\94¶Î¦AªRdz:ŤMÃ|        /}u&XK0R\ 6ö¡%±\1e\80¥À2P\13\13ãÜÊapu\94ëÅ\11¥\9bÍ£\en\0y'r\8cª\1d\14ä\8e\ 5$â}?(\ 2?_Æñ6n\vké·\12\9ckµº\93\10Í\9eñ "\81\9eP>.>ï\15Ы½µ¸Ðô¹wkÈu«
+9l¡\v4ì;ºB\8d:\1f$*Và]dWo=\94®\ 3ë\1f\80õm\84î\88\83 \85jY\97Cv¾½å(\9eËóÅ>üúd¾\ 6\86V áÿ°Ç\1aòÜñ=0ñi_±\11\8bMØ#\ 1eÍúè <Èùy\94¾Ä¡\82\9aâPÝ\r\12±»\1fH¬g\\98C¥±\10\95\ 2²uHqÞ10àcX\f°jd®J\b4\8e\7fºdI\81\90;\8e\ e,êµ=,HÒ×ÂÝ0\81B7îM'ôW«c>ûi¤J^=T7¥öyb=\bÝÒ-rEØyÂ\ e\ef+\87±¶F\149v9\16<V\9cà\ f5\ f`¤ç½\93\a\ 1>7Ô"\eYÄ%@¨\ 1\1cG·¶Ø\rT-\8f\bÂNe¿.°<ÜÓ»_.\7¦0©\ e\14«\a;;|\96Øݨ\ 4D¼ \ 6É\8eK~¿)`«cYî\12Yv\va6Ç·\94å\8cæó®A®Îþx\7fF\97Ö|\87\85y\8b\91ì\ 5\ fLÆyÜ_\18/&\10®bô\9aÅöx¾Læ'Óø\95%\9bglèãêàÏ\83\7f\ 1\96ü\a.endstream
+endobj
+1815 0 obj<</Type/Page/Parent 1476 0 R/Contents 1816 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1816 0 obj<</Filter/FlateDecode/Length 804       >>stream
+x\ 1\95UMO\e1\10½çW\fê¡©Jö3,\81\e\88~\1d \14¶­zt\9c       kðÚ[Û\väßwloÄ\12Z©$\8a´\89=3ï½y3ù=É!£w\ e\87\ 5\94\15ðv\92%\19Ty\96\140_\1cÒsA\1f\83°\ e\aeU&óÝ\83Óz\92~\9cC\9eC½¦\Õâ\10ê\15P\9e,\83\9aO÷öö~\9e\]|¹øDOpÎÔ\ 6z%\1eÑ\82Vr\ 3\8c\1c0£{µ\82\ 3è\98a-:4þ\1c\\83ÀuÛ2:\93B!\b\ 5ïê[*H CÁ)ýêV  ×j\1d\ f¶H¦ Ô\8d°þÇ\ffyI\8cêÕ´E¦,lt\ f¶Ñ½\©·\ ez\8b`;Æ Ò\12Ý\ 3b¬«;'4]öµ\99¹é[TÎî\836£ð\10ËÀr#:·\1f®ZÇ\8cóÀw*Ç;°6º\8d@\ f\f\88\14QØE?\84\17\15)NÀ¯0$þ\9fÐ}èÐ4¬³pÛ[\a\16\89\80 \89áó÷Ë\ 4¾¬\ 3þ\86Ý{5)©\94H\ 4\15 3R \81\9e\88\83\1e\ 4}©Úå.LOT\85\84\80B\f\17F\82;\rwBJð±À,< \94Idq\ 49Qó\9e\99\95ydéÙ&E\ 2'\92\1c \98\13÷x\f\81¸P7\81\ 4õ\ 3V\f\9e\vFI
+o¼i­c@ð\8eECt|ÝmÔ¸yÜ sHGCo¬&ç5¾\92\14wH      \847!>éÉI¬\b$\16ß\9apÄ7\80µíò9ºé@9\83£\81q1\8f\8caçõf/]
+\95ÚÆ'ðy³dáií\\83´·&\95\9a\10¥\96µK\16£¼È³³0"¯\8d\r\r\1abÇó<+«\88 tºe$\f\99     \1f\91÷\8e-%Â\83p\ 1lúñÉ)¼iõ
+Þ?ÆV¼\90Ã7kðõ/\1aENî\vÙM?tõ)Ó?ô\84å\ 6\1a?\994\8e\11K\80å§kwA¤èxjx\12ÄzÞ\96\11\ e²Mð)q\v\ 3ÃâW+n\14\93@.&\80Ð\19M[ÂbØ*c¾\7f\9b\fB\17«\8dȼ\1c `\8c\11\8e\8b¯õ\87ãí\90úÍäë^ÿ¸\9a\93\94\eR[(\8fpc\1d¶Q3¿ËüìEËj\90\ 1\v\ehW   |dm'ѦöÞÌgAÙ¾{¡ÈvU\ eCAÔCÓ¯½Ë`MÕ\85
+rP\8d\88cðöbØgyEÿ\e\8b\12Êr\1e\8ds}r~z\ 2\97Fß"wp¦yX¥4Üq\86\80ÙaFÓ±\9a¾v    Ì«ER\1d\14´G(8¯
+ÏèC=ù6ù\ 3ü;ûÂendstream
+endobj
+1817 0 obj<</Type/Page/Parent 1476 0 R/Contents 1818 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1141 0 R>>endobj
+1818 0 obj<</Filter/FlateDecode/Length 1661      >>stream
 x\ 1}W]\8fÛ6\10|÷¯X\ 4(z\ 1.ò·Ï\17 h\9b¦I\vô¡M\f\14\ 1òBK+\8b9JTIê|þ÷\9d%%\9f\ 6ÉÙú \97³³³CúßÉ\9cfø7§\9b\ 5-7\94×\93Y6Ã\93óÇÇ\ f\93Åò6ÛÒf¾Î\16TÓr±É\96ý\9d¡O\93õ*[Ñf¶Èfx9ßndh¼\93\97ÛÛlM«Ù*½¼Ýbfº\93\97X\84\96·+D]mop-!\1cS9\99Ï\97ò
-QV\12s}\83ién\98¶XË\88Ñ´·»Éôý--f´+\91ÓæfK»"¦\82'ùÕ¯\95j\ 3;ZÜfô\91\82n\ eô¶;ø\97»¯qæü&Í|µ\14P»â
-Cç\19ýÑ\ 4g\8b.\ fÚ6iè\8aæó~èâ&ÛÈÐ]ÅĵÒ\86TQ8ö\9eJëhß\1d\90\92¬\95î}P{ÃxdXyö¤=yUïÕÏñ3³î\90     ¢'s\94i+u\9e"\0
-\fE\84¾²\9d)è`)Ø\14êUà¼jt®ÌEÐ~\16\12°\7fÅå)¨;¦\0àA×ø°XD\15x\0\ 6Ì=#\a¦\93íÈwûZ\aR\17\19\8bñö\9aÚ\14Ì3\93.   \83*å)¯Tsà\ 2\919Òv\81zÈÿ\9a0ôÈT«\13F¦IR\14ÁôH\9d\91\94j´¯I\ 5òVà\ 2sö|^
-¸¨°\12¼îòJ¾%\87\5òí<\9bR²­Ø´\14\9cÊï0øØ\f«fôIJ"µA=\9b\80?Iä\84ä\v.@làbT\85\83³]K¶¤\96-è ceéÞ\9a® \fÁ!\e\8dOà½&\7f§\8dñ¤\9a\82¸\ 4»Ágô\8f\b"g}\ fí+Gµp\9e\94´·]\10F\ 3r\17\9e\90ÁhåÖz¯÷\ 6à\1a\7fd\87\ 5l̵R\88¦Rú\95>T\80!\ 4æ,(\11,\r\8f8\14\8aý ¥\8buf ë\0\90^\14|ÏƶìFK\96Nc\909½¸(\91 \fd\182Çä\18\19\1fÆ\15zg©±Ð\91÷\9dÔPfõ+#\13I4\15\1eÕ\91ËÜÖmÖ:\eln\8dÏ|½§\86\8f¾§;2\e\99\12\85\18\1dç# \88:\82å\11ì¨m\1dÐÎ}¦\9do9\8fÜ\86(\vÂBhÎZ
-\1f1Æüö¨\80\ 2\90¦Ô\87Î)ñ\80ó@@l¤<\98\0\9d\8b·H\13
-\83R3;\ 2  %eIq\aȱ\ 5ð
-5Wøûr%<\828,     ù|yIë\19üØÊ\bPËÎ\13\0$¶Ï      ÷í\13­eÐ5\8a9æþ3z@\86Æö0Zzß\92±ö\ eñlw¨"å¢Ä&<eU¹¼\82:ý5\84­¥\9f\0\14\8cÜs\ 3%\ 4\11_\9eÃñ CÈ+öÑ(õ\94ö\91÷Ôª\ 3l\ f9V!´¯§Ó³ï¥«iÄ,.~éÅѳàÅ\8b\8c>pÃN\19ÒM\19ù\9d¾\7fÆ\8bß&ßJ\9e\15]þÒ·Ð\b\8c\96\17'èë\1a­ÚC2'bç¬COþ)´èä\17àè\10\r1y¸Ýßk\v\95×HY²\19å\1ak\13Ø\98ØOñ\ e\88v¬µ\1ft\ 4C\11\13\83ÕB¹b\ 6®\ 3oìC«\-e\91ë§\10Å\90eKÉ­C\8d`\82'XÓøƿKßc½\14°\82/õu-´:4Ökÿ\13íÄàñÿ\9eÝ\89t-»\93j¾éÔ¾Mt\93\9b®`\14Î\85è\1dg6Ðd¡J\18\1f½Z4Ô\88\97û\ e"A"ªA/Á2¥%â\ 4~P¹hæ(½/Ha[<â°°ÂK\92\12åFT&\9a\91\ eJ6\1aýó2\90¼Â®Û\198\90\ 4ü®\8e\96\19½cÁlÄâúíÿ\19\1d\81\ 2\89+#eOSÍ)\15\fiaw\89Ù$eï\19~+\90ÁV*\8f4\85¸(:\164£­c¿9.;/ã\10\ 1Î
-\e\8eºB\97\vm#\12déGå\89£EãA\97ÇÍ2V\ f\8ePvFÒA´â\82´ÁËT\f\11ó\94êõÛ1-£èæ3Âùá\88iÏ,=D\18Ì¥Å\83Öi\94\12\e?õ{J
-|\10s\88ÛVÁØ.Í5(\13\v9\89c!W\9bö¡Bû;ò­Ê¿Ù·wb\9b©¾Åcad¶\0\9b¾_÷ç­«\8blÞ¤WCÙ®ÎÝ\9a\9eãL\e\8fhWØ42i»Ñð\8c>_Úa©\93k'B¥>\ 3 )ALS\ 2\\9caz\ 6¤%¿vhVÛÈ®\r£Ä·Èó\8e¹E\10ô\8d¨\1fQ\92{0\86\fã2BâPR<qaå×\ 3ôÛáp)gk\9c×Î\18è\rÍg\ 3\90\19\8eÚýËx\{CÓλ©±8ûõvjô\1e÷\87ì\87z4ihëÿ\993\90ÖO|ê²ñ¼+\82¥\1c\9b*\92K*¦\ 1}Oü³`Î\81{ªÒ\9cÇ"\1eãNø¢\7fûBlJú Q8-@¿¸\1e\12é\ fÀ½;D#Ñ\1e{\18\18\15 É±\1dÃá\1a\91\9bV¶ñæDÃú°ÑºF\99ÒÉð\bÿ»\8eî
-wªq\82\9e\91Ý7ªKí1\ 2\95T\84ò\8aÓÆíV\19c\8fi1 ä\a\1c«p\1e\84­E\17)tY´pë9ï\9c\ e\0\81kl¹h»xüéÍ\8a8äâ\8c\83æ\12Òíã\ f\92åMÒÌ÷\7fî¬6Ûl³^àg\12\144ßÌ%Ìo»Éß\93ÿ\0ðÆ\7föendstream
-endobj
-1818 0 obj<</Type/Page/Parent 1479 0 R/Contents 1819 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1819 0 obj<</Filter/FlateDecode/Length 1667      >>stream
+QV\12s}\83ién\98¶XË\88Ñ´·»Éôý--f´+\91ÓæfK»"¦\82'ùÕ¯\95j\ 3;ZÜdô\91\82n\ eô¶;ø\97»¯qæü&Í|µ\14P»â
+Cç\19ýÑ\ 4g\8b.\ fÚ6iè\8aæó~(\86ldè®bâZiCª(\1c{O¥u´ï\ eHIÖJ÷>¨½a<2¬<{Ò\9e¼ª÷êçø\99YwÈ\ 4Ñ\939Ê´\95:O\11\03z\ 5\86"B_ÙÎ\14\14l
+õ*p^5:Wæ"h?\v¥[ Ø¿âò\14Ô\1dS\0ð k|X,¢
+<\0ªR\ 3æ\9e\91\ 3ÓÉvä»}­\ 3©\8b\8c2úÅx{Mm
\99I\97\84A\95ò\94Wª9p\81\10áÈ\1ci»@=ä\7fM\18zdªÕ #Ó$)\8a`z¤N\9eÔHJ5Úפ\ 2y+p\819{>/\ 5\TX  ^wy%ß\92\1aùv\9eM)ÙVlZ
+Nåw\18|l\86U3ú$%\91Ú \9e\9f$rBò\ 5\17 6p1ªÂÁÙ®%[RË\16tб²toM×\ 4\86à\90\8dÆ'ð^\93¿ÓÆxRMA\\82Ýà3úG\ 4\91³¾\87ö\95£Z8OJÚÛ.\b£\ 1¹\vOÈ`´rk½×{\ 3p\8d?²Ã\ 26æZ)DS)ýJ\1f\10\ 2s\16\94\b\96\86G\1c
+Å~\90ÒÅ:3\90u\0H/
+¾gc[v£%K§1È\9c^\\94H\10\ 62\f\99cr\8c\17\90\8c\ fã
+½³ÔXèÈûNj(³ú\95\91\89$\9a
+\8fêÈenë6k\9d\r6·Æg¾ÞSÃGßÓ\1d\99\8dL\89B\8c\8eó\11\10D\1dÁò\bvÔ¶\ ehç>Óη\9cGnC\94\ 5a!4g-\85\8f\18c~{T@\ 1HSêCç\94xÀy  6R\1eL\80ÎÅ[¤        \85\99\1d\ 1\90\84\92²¤¸\ 3äØ\ 2x\85\9a+ü}¹\12\1eA\1c\96\84|¾¼¤õ\f~le\ 4¨eç      \0\12Ûç\84ûö\89Ö2è\1aÅ\1csÿ\19= Cc{\18-½oÉX{\87x¶;T\91rQb\13\9e²ª\^A\9dþ\1aÂÖÒO\0
+Fî¹\81\12\82\88/ÏáxÐ!ä\15ûh\94zJûÈ{jÕ\ 1\87\1c«\10Ú×ÓéÙ÷ÒÕ4b\16\17¿ôâèY0ÚEF\1f¸a§\fé¦\8cüNß?ãÅo\93o%Ï\8a.\7fé[h\ 4\8b\13ôu\8dVí!\99\13±sÖ¡'ÿ\14Ztò\vpt\88\86\98<Üîïµ\85Êk¤,Ù\8cr\8dµ      lLì§x\87¥~D;ÖÚ\ f:\82¡\88\89Áj¡\1\ 3×\817ö¡U®\96²ÈõS\88bȲ¥äÖ¡F0Á\13¬éa\ãߥï±^
+XÁ\97úº\16Z\1d\1aëµÿ\89vbðø\7fÏîDº\96ÝI5ßtjß&ºÉMW0
+çBô\8e3\eh²P%\8c\8f^-\1ajÄË}\a\91 \11Õ \97`\99Ò\12q\ 2?¨\4s\94Þ\17¤°-\1eqXXá%I\89r#*\13ÍH\a%\e\8dþy\19H^a×í\f\1cH\ 2~WGË\8cÞ±`6bqýöÿ\8c\8e@\81Ä\95\91²§©æ\94
+\86´°»Äl\92²÷\f¿\15È`+\95G\9aB\\14\1d\v\9aÑÖ±ß\1c\97\9d\97q\88\0g\85\rG]¡Ë\85\11  ²ô£òÄÑ¢ñ Ëãf\19«\aG(;#é ZqAÚàe*\86\88yJõúí\98\96Qtó\19áüpÄ´g\96\1e"\fæÒâAë4J\89\8d\9fú=%\ 5>\889Äm«`l\97æ\1a\94\89\85\9cı\90«MûP¡ý\1dùVåßìÛ;±ÍTßâ±02[\80M߯ûóÖÕE6oÒ«¡lWçnMÏq¦\8dG´+l\1a\99´ÝhxF\9f/í°Ôɵ\13¡R\9f\ 1\90\94 ¦)\ 1.Î0=\ 3Ò\92_;4«md×\86Qâ[äyÇÜ"\búFÔ\8f(É=\18C\86q\19!q()\9e¸°òë\ 1úíp¸\94³5Îkg\fô\86æ³\ 1È\fGíþe<®½¡içÝÔX\9cýz;5z\8fûCöC=\9a4´õÿÌ\19Hë'>uÙxÞ\15ÁR\8eM\15É%\15Ó\80¾'þY0çÀ=UiÎc\11\8fq'|Ñ¿}!6%}Ð(\9c\16 _\\ f\89ô\aàÞ\1d¢\91h\8f=\f\8c\8a\84äØ\8eáp\8dÈM+Ûxs¢a}Øh]£Lédx\84ÿ]Gw\85;Õ8Á%XÏÈî\eÕ¥ö\18\81J*ByÅiãv«\8c±Ç´\18\10ò\ 3\8eU8\ fÂÖ¢\8b\14º,aZ¸õ\9cwN\a\0=ùÀ5¶\´]<þôfE\1crqÆAs    éöñ\aÉò&iæû?wV\9bm¶Y/ð3    
+\9ao\96\12æ·ÝäïÉ\7f£X\7fîendstream
+endobj
+1819 0 obj<</Type/Page/Parent 1476 0 R/Contents 1820 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1820 0 obj<</Filter/FlateDecode/Length 1667      >>stream
 x\ 1\95WÁn\e7\10½û+¦ºT\ 6bY\92eÙ)Ð\83\83Ú\80\81&M\1dµ@\0_¸»Ü\15#.©\92\Éúû¾\99ݵܵ}(\82\0      \97ä̼yo\1eõÏÉ\8c¦ø3£«9],)¯O¦\93)]^_L®iq}\85\7fÏñ7h*åÃüb6Y¼õa6ÿøö\89Å\e\a>­NÎï\164\9bѪDðåõ\15­
 Bàé\94Vù¸VùÚ8=9]ý8\99ÒÙ|\89\90«b¼Zkâ¥ó;ä+GDZÎ&¹we»Üß8&íR8´\8b\97ý^²¾"«wÚÒ¯Ãý&R<8ï\ eµo"íMZSB´7¯)tÖTïÜ\93Ö*ÑZEÊ´vÔD]\90qäm¡\ 3\87D1³\8bÉ\9c\8bÙé\10\8dw\91|IßT\9d)R\ e\9bù¤q\15\0O
 \10\14Tú@\99Ê7{\15\8aH¹¯·*\99ÌX\93\ e\a\80Jcu\1c"v\13¹\8cÿ\81ÃNÙFs\16ÆåA+Îÿà\e\0b-RÊ}(HQ4\953¥É\95KöÐïä¤[P\90\95@Tñ\92q( FÊÞõÉõ\bÜ¡²ÚÇôb·ßê {£\84­Õ\81\9cOä4ò@\\9d\12ß¹6ÕZ\a\1c]Lè\8bV\ 1y(¤\88Æ\0#,g\9aR\0j|.\91\1a`ß_\84LgÓ\ f8\95øÀ6è­
-\1dä\8aþ¾}øNV\85JÓÎÛ¦Ö\f7S¨PII-çw\1fi\ 6æ2\85Ï.\16-I!\83Å\84î]ÒÁ)K:\ 4\1fâ\7féÆ\94¾\9a,\99\ 5÷¥\14Zi$I£û/«Û\87/7¿ÓíÃÃ\1f\ f#ªu\8c
+\1dä\8aþ¾}øNV\85JÓÎÛ¦Ö\f7S¨PII-çw\1fi\ 6æ2\85Ï.\16-IçW\93Å\84î]ÒÁ)K:\ 4\1fâ\7féÆ\94¾\9a,\99\ 5÷¥\14Zi$I£û/«Û\87/7¿ÓíÃÃ\1f\ f#ªu\8c
 ñA!t!Hté3\99\84\8f
 ì\11µü©\80\14Jo\9c~Úê<¡\10n\94²\83â÷k0\85\1c°D¦\89Û½\r>S\19£\b\94«\1a¼\976P©\1aË·\ 2F+½Êu`bbg\e_1æ\9c`\9bÃã¸qà¡´o\10w­v\18"|ß\ 1
        \ 5\b\rH\ 3t\17\93®)ú2ñÒãiw®W= b)öXä
 ô\1aýèÚÍÈ\82\93>¤^:=&ߡɸö\8då¾DßUCk¿§äùLðE\93C\ 3ÇÀ\1fÈ\94´õ1\1a¤1¡¯\92\ 3ÕjûP\ 6«Ý;á@\8b\8d\8aÊ\92\94\90¥\ 1)\84}
 S\89ý\81i¥¶[¨\11\ 6\10\9a?\baG\14\9b¬0\802y\0\ 5%qjÇ\85=\ 4­E
 \e­·Âö\ 1>Qf$ë¯\9dtm\13$(²çÛ\84\9f]\v\92÷VFçëF\0UtÐs³\18l\1eo\85\17\f\90çw½a¼p\9eªÈZºqAí®Þk^ìREÁ-\a\ 6Áo\83Q  ]Wi\8dì|{\9au$X¡e|%Oª\ eG]C\8aí0(¼û\99M\ 4ráM(\8dùt Q\91=\8d\98\r°a¿bÒ1¤lN\15¦#\97Ç\vPAÍqG\ 2ñ\88s©Àf\16\80\14¦Êhk[ÀGzªú<o\ 2\9aÉãLÈ9\b+¼éÉZCNCÂt\ 5m\1c\8b@90'F]ó\98±ÊU\r\8f6Äs\8c?ÈR\98\88ï£\9e\1cÁ7\98ö\9aÞÏ\8b\1eÇà´IìV¯f¼5YP@­¿¦\r$!8\85\16\9cãG¸D\ e\aaæ¦ÇS\99x\8c9ÐÚû°!äBúIålx¯\13\ 2\ 13ym\80\f½»Yï7Â\86$m\88@Ò7N\b\92û\ 2
-¼Ý¡räß\12\90[Î8\1d!\92\841\15\1a9ÓaÍ#§môq8\fºÒÙ_+\ 4éÈ{>u9¡\9b\ 4\12\80;\15WªzW`\ 6ä\98â¯\99ÞÙÖ_ìê©q 8\0\89\1e#¹qæIGn\89\ 3ëC2y\ 3ól¿ñ\ 4u\89¬qÍ\13m`\8cÚF\80\8cÙ ,Åüjê-Â\1fç\bpa&&\15\9c\1a\96\bç¯ÐªÆ\14\bØ\ etq\83Â#\ 5\19È\8f§"r\91Cÿ\9eC\9b"Òf\82u¦ÃØç2F»f+Á\83Áàð\9dI\ e¢wà@a\8cÛèy6|½ÿmÔ\91\83ïeOÇÒ³WAn©\89­~E\9d£\Ô\88ç+x\8eW\17«´K#W\0f\10\96\13\12\80\ 4¬6¸¬Y\ 3påÞ£ú;sÈU\82×ñ®£\91£eVH×ò\18#ðYçm¿ß~Ô,á\19|\9b~\9f\15+ÄÉ4\1et=ÊG\8e\8aQBÌb\18\9dÕEt¼4O?õs/j\0\80×7f&\87él\92¡jóêçò\18¾Q\96tÖ´Ëý \1eó¼ÇK³ÓÔ;ïmn¾\1c\8fÍ\96\9d\15³#} \ f\88ÂÞ`d¾\e-_\fÂMè3\9b'\84\15Z\17aSCrªÂ#        H\80Ó0Zy\1eðk¿\9bm|Ó\8bQ\11ñ¶\83Ysÿ-H\ 31É$8Î\e\14Õý\\90Æ!ÇÖ\9bÏï®»\1f7³%~©]_Ðòr\89_axX~»ùüé\86¾\ 6ÿ\ 3\96K¿ù\1c\ fØîQÇÑÏú\ 3gWÓ\8f¼ÿÝgëby=Y^ÎñÄÅ®ÙrΧoW'\7f\9eü\ví(\90\16endstream
-endobj
-1820 0 obj<</Type/Page/Parent 1479 0 R/Contents 1821 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1821 0 obj<</Filter/FlateDecode/Length 1323      >>stream
-x\ 1\8dVÛnÜ6\10}÷W\füR\17h´×ú\ 6äac¯\93\ 5ì]×R\9a\ 6E\1f¸\12åeM\89*Iy³\7fß3¤\94Úª\v\14\81\11[\1cÎåÌ\993üëhBcü\9bÐÙ\94\94WGãdLó\8b\8bä\9cæçgø}\8a\1f\f\a\93³q2}ë`v\9e\9c\ e¿\7fÈ\8eF7\174\1dSV"ÆéÙ9e\ 5Áÿ\18\93«\9dh¼´4\e'\94í$9Qm\ 5å;\99?iåü\8fÙ\9fáúä,^\7f7\9b#tV\9cÀ~\92ЪöÖ\14\95©£é\9c&\93Îtz\86l`\9aí\94£RiI¹©½Pµ#Aì\9cLI^:ïè`ZÊEM\8d´¥±\15yCÏB«BxÉg\96Ò\90\96\93öYZ\84õ$´3¸¬u¼¼ß   O\1eùkõ$õ\81s\19Ó»É,&\9b\8bÖÉ\10\r\16\8d5[-+BRª$å©\14
-^D} S÷V0w^6\ e±\82M#\9c\93\9a£à4æ\8dßkv\ 1_ìVlõ\81öÆ>©úq\90B©j\99tߦ§É\9c\81ù\8aªÝδº ÂÐâö6T\10<ÿDª\ e\7f\19[ ;°Ú×     }\91´\13Ï\bn\95,\18¤\XY¶\1a\9d1\9cÖ\ e\95\ 1\19\räl\97¤©ÿ\ 5\bÃ\91\8bFl\95V^¡0ÀªJvÚ\85\95ÂjÕ{\18æ\rH¸aNÖÅ\vÈ:êT@\13å\87\ 63ª$ù\v\ e\ füõ\18`\15Fºú\a\1f\80:\86E\11¼\85Âj\83v\18­Í\9eë\ 3o\ 6(26\8ct.\8b\16ã\10à\ f©D\14ùú\16\9dkmc\95\83\8bÀ\9d\98\0·û±6V\16¡\1c\9e\89\97¤\ e\r\ 1©§   -\9c\86)\1dÂ\8fnÞàôª\ e\`\ 2\83R\91\f\91\a J[ÅбYâ\15y\ 1»Ö8þ°ú\98.\1f~]>\ 4\0\ 4Ý_õ'\8b«ÛÕr\9dÑÖøÝ |4\87ÙõhMÛP¶L³\8f\ f\9bÏ÷Ãöd\91ä\1dF¨Û©Jia\81¬%8å¶\1e\1a4\1dÙçèríÝÐÅ*P:ÌØËz\9e\ f\ 5×¢
-\93\82ö\8a\17Ä\aì;°\91  \14PwÕ6Á¼\97\98 Ú+ÌMt\14ºÚ\9bº®æA\99Ǿj\8e\13úÚ\89\82(
-\bFøØ]ä!§í\81p¤â\16\84¿\fõ±/ÙñèfL\17½$Íãäý\8e\b\7fôQÇPYL#Ô©ª\0\ 6½G?«ÆXa\ f\1c\r-\eáw0\eÁËðÈJÁC\81\89|O\aù\ 6\81¢$~Z¦ËÐÁ\94\16iúùnI BºÚ¬i\96°öo\1eèv\91\81\1d\9b\eÊ>-)]Ü}XPúy\95-\13J7°¿ÚÜÝ-Ö×i\9f@'ué§Í\975]¯®i½ÉhùÛ*Íhµ¦åâ\ 1¬zè£ô·z%º×R@\12\1a\ 1\a\b ?ë\v#+­\ 5o*é\9cx\ 4ixܬ̥z\96A\1cY7_\99à\14àAÔ=kräBÐmVÉ­D\8b\ 6)·u    =«\v`ÆÎ;E,\95Ŭ\87EôÝ\13­î)PÏJgt\e²\84ÓÜXdäqßIOm\93\90|¼¤;\ 1\92@
\ 6\19Ä\1cI\9f\8f\82\97çÀÒ¸\9f\1a£0\f\x\88\12×MW\b\1aË:\v¡\96ß°»\86\13³À>\82hGe\84\11KQ\90´ëu\8a´xo\91Ès \18ÆpXE\13\eð¢\\86\1eåxà\15¯0\92\83*z\9eÇìQN«\91>&ð¸À\92\85N~c\1aÖ\ 6Ã\94ÁÝ\96Õs\8f\1eóæà\r\ f`Y\16\1d\ 6\14\84>f\19k\ 4Öoï÷\98ãý\97RÎà\94\97÷w\eH(¿0ÞAE\ 3Éñÿ\8c\1f lE\93höJJyê ¤\i¡¸\83\ 6\13Ç\1a·Sù.r\ 1\9fº\17@\9fS¨õ'²m¼ÈCË+ä\8däûÝÝó\11L\1dà\17xËýÅ\16\8fDíD\8b_*¥zl­\b\1c\v\8f\17ÀT
-\0|\18¶~m¼¼dµÂ\9eîï\87\e\15 Æ:Ò&Ç6æÕz\19\94\84\ 5)>\92N\ 2\rÃ\93ë5<'´±oÚ·Î\8eØ\9f\1e\85[#­¶ñæù?ï®ùE\14¹ÿñ´\9b\9fâÅøó\14]C+&§3öµÌ\8e~9ú\e\1d\9eO_endstream
-endobj
-1822 0 obj<</Type/Page/Parent 1479 0 R/Contents 1823 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1823 0 obj<</Filter/FlateDecode/Length 1623      >>stream
-x\ 1½W[OÛH\14~çW\1cùeA"&\ 1\1ah¥>\0¥+$\96eK´R%^Æö\98L±gÒ\19\9bÄÿ~¿sÆ\86`ØíÛ\16\9eÛùngòsgFS|Íèä\90\8eæ\94×;ÓtJ\1f¦3ü<>=ÁÏC|{MåÎùbçàëG\9a\1dÓ¢Ä\94ù)~)\bçSZä»GÓô(=Li¡CC\87{\8b\1f\18}L³Y\1c=9<ÁèÝo­¥f©)wu­lAÉÊØ\a:¿úýîòÛß\97ß\12*½«eÄí\ 5½\f8»¸¾º¼Yl½n­ÙPæ6)]\95Ô¹\96
-g\7fkèA7¼ó\94&3\1c\86wTô¤*S \84°r6h^Üò\fO\8b\8bÛ\83«[
-®lÖ
-%\9a@Ö58\9b÷:oª\8e\8c\r\8dª*]¤ý¢\87ó\94\8bÞ½q\r\1aÙzmª\8a¬Ö\ 55\8e0Ã7¤()\ \15ªY5 ­\8d\9a\,\1e¥a \a\14\ýxí¾\1eT\82Uj\1d\82\14TÇ@%K\a\90¥km\91\90ó\14Lm*å·êúrs÷R\14F\1cè&?à\99\81JS\ru\8epz©:è¦]\ 1×\86\ 1\10L\86\89\83ª3\85z\9a¥k\eâ\9d´m¼ÑX\1a;1µAû'í\85¼¼2x»O\19\86^\91
-¡­uOÖh÷¥zbQ\bðoVôºV\0\10\8bº\92·`\12!²0Fî\fÀ,1Êk\15\0õzÙ     ÀT\9b\87%\10S¦â\8a\8cèÅ\93@\89¿Á\83elKãõ\1al?C\97Òwèê\15¹^WjÃG\18\1dß·\15\10\0D\15X3\91åµó\8f\10Ccp\14<úÙâÈø}\9fVÚ/Õ*PÖ\11¶sÐÆ\ 3©<\aÓQýª/#´\99År÷»XàÚØ\967æó\87ÑæP¾¦'£\ 4}³*ת¨Yy\ f^Õéý\1e\8fÞöíäh\16E,\86\r{\14\87ýÚ°¡Î"­4¹Þ6n¯í\17_2x\ 1
-v%´\\19h\17\fª'0¡XSa        Û\8dËÉTþ8fö\95'´÷\90Úà\8cÜÙ\ 6ê`\10E}\10#\eå\\15´\82âÀ\ 2l\827ây\86%ÃÖ\1d\89à4d,R\ 5A½øFØ\8aáBä)Ù\8fþ\vThÛ\89÷\92\98--4\1f\12\14\b"@µ\84\vpJq¶r\9f=*O\1eX\ 1Ì4¬+Þb\1fË\ 2)],uþ8Ú{Ýç\8b§73Û E²\vVÊ×\89¸­ÑõÊyå\rÊ\83e\1c\1c¥l7\9cY¤6*\ 1\ 5Éþ£\8dûrpîÄØ7\15¾±Ý+r\12Ôl\91\9e¬z¯K,\ 5ø_g¯ÐTgÅ\90\14µê$Ò2=xñ9Ô\9f\ 3\98\fûjtNÀÝ\14\ 2ò;\ 4ëÂ4\9cÈ\fbL½\81âª{\7f}\ 5\9e©P@N\fl)gRâ
-¼ýX¨}pìǨ{\19Ëõád\99qa\12\ 2BÞ¡!°q-Ö¿¾º[\Þp\97@\aéiÄ`þ\9b&*ùOá'\ 1\19\11\81\954\91Hc|EÞ\ 2kÌÞ\1ex~\8eP\1dø\90ªQ\bzI \ 4öDï\88ã·:à\bâL³ÐZ["âmQAõ²\97A+y¶R¦s\ 5\9e%ØÅV\83h\86&/¾\80NU­\e\18Eº$ø\17g¨¡\7f\8d6.\15:¯ìQéZú\8dT\ 3£7\ 6/¤Ë¶+\8e\13\18­Hé¬
-®'LÌÆÖ3\1cê\88\99ûÝÁ\8c÷{Ò¦B\87ÌØ\90\ 4I\90ÅG»'#g±\88\18Ì'¸Ëµ\b\0ô\8a¼qÒ÷Ö\88\10nÐÜ\17\1fµF°3:\95C¨ã\82S9H\88O\11Ho\10\80c\82\172\9bo\1f\8al[g±ÉÅ\ e\16{êziò¥TIì\94È-\87\11ÄH\1c@øZ\17\88t\9cµæ«\ 2S\09»rT \8a\ 1c ÊU\88      n \1c©\ eÇ\88-\160\r­iÀ.bÙwûO¼ÞÁ×)}\1c®wDZ©Pÿ/^78(é3\9d]_\ fûOÓS¾@½\1e\84q\9bÍ&Ýú>èº\7f\99\96á:\80ÓCM¥BãD\ 1ȼÏô=6\93×÷Î9ïw\15{²Ê\90\8aûH\9b\98èÊæ\1a\9d\0­X£?ÔªÀ5\178pj\8e \85hY\ 3r\19Pmãjôõ\1cÇî¨ñÊ\86\8aÝ\8cö\ fX\87\13÷×Ïʹ\15w4R\85ZA1ø¿@\1c\ 6\9a\1dâr\8d¯\19Ø­Qx\90þξbÍçKeqó\8bL1Ñl\9cÿ\vw9^äxûJ X~qtóç\ 2á%\87£ä=2\124ßÞï¸\87±AàJÑïÚ\84%C5L\8fÆ\19Zu_õ\bD\90l*Ót\92\18½ß\9e¯!Ò>úËw\7f\8d\82é8#\10n\ 6\ 4\16ÙÃmÈU­´&<âÇq ?o}>¦î%9C\8a\f¹Á\9dÿ\93¤À/+.tir\ 4fÞõÅ#uã=\12\1d?\8a}kñ_
-'
-F\16@\8f\ 6}-8gï÷$M\ e¾\9eö\1f³fshêô\88æ'\1fã\87\9f»³?ÎÏèÖ»\1f\88+úâr\À\11}\f\ 1C<\19&LN¦0rñÎg¸ãùi:ÿp\88Ï{x=\9b\1fó´ËÅÎ_;ÿ\0ýæ¢Åendstream
-endobj
-1824 0 obj<</Type/Page/Parent 1479 0 R/Contents 1825 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1825 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'Ãl\92M3Ê%\80\98ÆÇ^I=\18\8fïº\18\92¹Ìø\1d"®6æ©[Óà\8a®n\7f¿¿¹ûûæ\8e\1e\1fïç\9f¯æ\8f\8f\87\19ýc:r+Óé\8a\96À\9eÇ\0D\12Ô<'¦T¯ïØ\99\93ö\19Â)Dù\14êFµ[&Ü\86ר2íQ\bÙ\12*  Tß\r\b\16ÔÓZV?b¯\8a\ f&cP\akU\9e0/¶#íÕ\16Ù»¯*FB+çe\90(\bßUë­LÏû\95ÿÙ\82
-ÖÖ\80¼\10¤\8b¹\0)×ÌêTÍ\1aßÈÖ\a\1d`À"4* ÎðÔZX\ 1\8f\90°\rX\ 2\1d\89F\80\8cnë^Õ°\93à0áQ¦-~\81\19Á]¼\84öL+\aü&¹Òª5C
-:Cà^\0Ã\10ߪåÊÓ^^î\9a\81\v\8f¾\1aË;\f;K\f\ 1ÃbÄ];ñ©³d®Ç<åW¾Í¯ÿ¸½ù\92ÓѯGßGK\96ñ\ 6û\16×n\9f\81\81^\0\8cy¸O¨\80\94V\98\ 1ì±ö\eV\7fÂzq\8d\99ñ@v\ 4롽Óc R|6¸ ¬Â'\9cj       »ã\1c-\ 6\99ö\ 1!ðÆ\9avÙ'\rªÛ6[\19\19Rè\8c~\96ô¬\ 4}ürÏ¡ZâÕÂ1¿\15Ø^'É\12Daðª\87Ôß\19×,\8dkö=Ào\19ÂOÆUÑø§\83Ê\99 ^\ 1\8b\r\b¹·?Ð\8ec\88`sÜÈÚÊge:üÁFUtpí×\87!bÆCìy:äȯU²\16\9dÆ\v[ÿíM,ùQFsj»¦\80íÀ\99¾H_(ãNóë\ 5\10]\19çwrÛÚ|r6LcmZ\fWh\ f¯[®âR\86X\83%C¿\9ewµÖ½´HÂÕÅ×\9d\84\9a\11\16+3À\81\9e¢¹`\aï±ÙII\87Ì!\ 1«qÊ+\f4PéßNZ\1c\f¡ '\ f©ÁF\13KÙßjA±NÂ`\85\8e­½Aºà\1a[Æ-9\85 §\1a¥\85å\f\fhÂ÷Û± §àÈI«Q\0;Qð\1eà\8d\1a\8f\89w&\ 2|l\0T\ 1|ÑyÓÀ\12KtU®D«\\ 3¯cÈ@\1e¬p\19D\9cf"ÿ[K\vBAÀ[]\1c;$³æ\e\ 3\88÷f\82C%Þ6h\rfÛaj/ì\85µZòe\ 1íÚ=\81\9d¼R*lf\10\83Ï\8b\f/Bál\9c\81ºl#ÉV\ 2ÍÓ\89\12\10d\9bØ(­©\95¼Ô±X\92¾±lSõø\10÷I Ñ»@F%\ 4¿N¼c+\8c ûõF9²ÄB\ 1¼ªD\ 1\1cø¾¢¸6q6öΩ]\ 5»õÎÚÄI\ 2øÒÑôp|'k¨\vu§û\8c/\96>9\83?=|\bE\9d~ºHö?\9aá\82¿\98Ðl2Æu\8es$\1c\19´°æ+\ e2úhÊn·2y¦\83í\v\83óá%?ÿý\8d3\9d]d³³1\ e!|=\9a\85­t\93\1füuð?Ò\14ï\0endstream
-endobj
-1826 0 obj<</Type/Page/Parent 1479 0 R/Contents 1827 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
-1827 0 obj<</Filter/FlateDecode/Length 1709      >>stream
-x\ 1}WmoÛ6\10þ\9e_q\10\ 5ê÷Äq\8b®@ÓµC\80µÍ\9alC\81|¡%Êf#\91*)Ùñ¿ßs$%ËN³\ 4\ 1\1c\8b¼\97ç\9e{îôãlJ\13üNérFó\ 5¥åÙd4¡ùùl´ óå%>Ïðg%ågWwgã\8f¯hzNw9®,\96ø\90\11\8eO&t\97\ eæ\93Ñ|t9¢;éjº|q÷\1d§Ïi:\r§\87³K\9c\1e|m4Õ\eI©)K¡³pê"\9e\1a\90+Wi¡¤®i<¾ºþãöÃ×\7f>|\1dß}º967\18Ñ7Ó\90Û\98¦ÈØ\9e¦\95¤Ê\9a²ªeF¹±$¨\12Îí\8cÍüY¾?¡át>\9aq\18ñfã¤\8f¦=J&÷ÿ\8b45\r\82ØÃ\89\85Y¯aWéÚøç\8dV\8f´2\8f´SõfD×¹?¹\13¸Â'\18\0~BB\e\ 4gO\9c·Ö}Ü"ó   Ððoz\e\1fhQÊ7dªZ\19\80\15<J\9dµÁEè¨PZ\8eH®_?\vâ\89ßñx¥ÖNÚ­´ãº¬àò»ÙèÌÈ` _«Å\88k;øljù\9a®kR\8e\9cZ\15\0Ì\90«dªòý1v¢0z\1dòæ
-\ 3\99\90p(HQ\98\9d{>R\94û(¶\93È»H\7fq2µ²~6à/:\95¾\16 \90´Çñq1cÝ×\12\85B\8c      øö6\89Äéê\98\19ý«\7f®Qxó@"\1c\96Ö\82W¥tN¬\ 1üu~\12¤ªÉ\89½£Dé­(TFZÖàß\ 31
-       û\vÔç
-(\84\99 \ 6  #\v\92 \1f¬\95i]ìÉɺ©@5NÃrC\8cR£óQt6\8b\95\ 1å:\7f+\91udïù)Ô\83\84½T \12\8eiìáG\8f\ f[#\8cÈFl%`\11\99Ùy#h\18\ 3\f\8açùÛY'·wµ,ï_Ъ©)S\19\ 3\ 5>V
-¼@È®©*ckß\80È·Äw' !\1fßôCèBÛ\8cÓ\11ñ)|Ó\8fÌR\12`d"¹\ 4nt®Ö\8d\15¾-\0\9bÒ\114¾Ìö BÙ`v0ÖÚïÒ\14TªGôq*Ð÷]ÏC\86<e\18     ÎGj\ 1\9a\87®LºS\85ÜÊ"i»\12\94\10´QëÍIzR\9bf½!\7f¸\r«\rc~\88¬-\80ç`% \14¿%¾\9f=\88±äL\8d\11½ßÈô\81\8bî\95\85\12¶l\9døÜÏ\ f\1e\9c{\9bP\97\8bÔ©Ý\ayé×ÑJQ\a=¼ýt\85\10\80èîå(ó\91Ã\8bàp8»8\94η \8a¥Ag\æ\0b×A¢\19Y\16\90Vx£\969¶:þx\98\ 3\99²ÄMZ5'½> Y§\981û*ªÖáÎF\16\15½\8d\16ß\ 4\8b­¦\r\98\92üUo\ 6(íjÛ¤L'w4O¤\977QpóxÐëM\94\0Qú±\80)\91[)Ñ\0î\ 1Z(ÐÌHq§¹b\91\93´ãvçäë'¡öb@\9e'\81úFï\8fÙá|\1aÄØÏ×e\9c¯Ëãk0\19æë\97 17ï½_/r\11\91\0\17Ô\89¶Jîè\1e?ݬ=6\eçìN\15\ 5Ô\8c{ÂPÆ\ 3   \89æ\98\9e\8bè{AIf0"ü\0NØF/Ç\9dÂ\8cÙ\1d!Ì¥]   ÐY\80õ\18\96\0Tl\85*<= F\16\82ų\ f\12\1dæÕOä\8f±e;ðÝ\17Z¯¦9Ê\94¡Y!bª\84YKA¼½\ 6ãôJ!Z?\9càÉ\14M+)¬Ä,ÙJ¯\813g©<5{Ù4®        Ì`YÍhµG\0È\e¼fµ#\r}ÃUC\ 6S\16ÈC\16Ã\1a\81\85\ 2«
-À3\1aª\1aÖ\8c0\16á\f\82Ëé\18\rÊE\9cO@L7Æ@´\ e\97!ÂOô<W\8f\18\1d\8c\1a\87\81p\\8dX½`²¹N#{\82ÛêD»\86\10>\ 2\15\14 §\8e\16í\1a\92 \98.Ö$ñ\e\10rf\87
-Ì^0$­Æª\8aS,Öð潯_çÿ'\1a\1d4
-|b®<­ÍV        úýó-#|ä\rë\80¯]\ 4´ïü(ã\9eöö3>Ê\ f\15°T\94\eãj°\9b'Ú3áG\99=R½¸\ 2FBþ|\ 3\0\1d\93þ¬\ e¤ìMlÇë\12\8aÈ㺪À\ 5¬NHwÏ\93\9d©'¼à\r&nÌÃ?a\8aWO±\ 2ù° h(·­UÚ \ 1^R)\1eÐM\r¶Y\9fh\12ò\ 4?Ì®\9d=\aõº\1f\eC\8d-\1dfÖÒÝ¿\88®Ûáõ®pæ%3\9a»\86éî\97\95¹Hyg\82jz\19d;ÜV £¯\96\95?\1a\ 4ê\93ã¹Î£¢·ë\ 2\86\95\88$\v\ 3¯(NÒ\16\90
->L{\1f#\85\e\89]ùÆöSr·QéÆ«pÜà\roð>ÿ\7f#ÓJ\91nü"ý\r\rØj\1ccuâÑ#çS\ 2 í\ 6/\1f¡^^ª¼ÍÛ~àaL3\ 6ò\91áðÅ\r\v1\16\8ev¦þ\8f°%aËVh*\b      &!\16Z(\12£\8dUQª-çÛBy$v\90\1c\96$¨é\1eûª@Çv\13\8c«\1e­\9c$\88\88ÓK0·\ezÉ×\0«*ÆcØ>\0\1eóB\ 5ùjmÙFk\8f=nì,\98\8b}í%Þ} @9¶H\16\14ü\87\85¢¶ûØÁì{üq\19ßû¦\v¼g.ç´¸\ò
-wûîÓÕ;º±æ;xA¿\9b´)q·'cñøðrò\8aÏ?}ñ<_,G\8b\8b\b§\8b\ 5»ûpwö×Ù\7fd4½ýendstream
-endobj
-1828 0 obj<</Type/Page/Parent 1479 0 R/Contents 1829 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1145 0 R>>endobj
-1829 0 obj<</Filter/FlateDecode/Length 1574      >>stream
-x\ 1\8dWÛnÛF\10}÷WLõ\12\ 5\88iQ\92%9\80Ñ:\8dmøÁ®k3\r\8aº\bVäRbBî²\Ò\8aþ¾gf©\eí^\12DY\91;÷3gF\7f\1d\854Àß\90¦C\1aM(.\8e\ 6Á\80&ÓI0¤ñl\8aó\10ÿ*M©¼\18ÏN\83Ùk/FãÙë\12Ãp\10L^\91\80Õ`Ð~<\\1f\9d\r!\1e\8eOñYP8\9dÁ\8aÿ\96ÓãQ8   áD8bW
-\1aN&Á´ýÆo?DG'Wc
-C\8aR\842\99M)JDû\80¢¸¿´®v\81Ês»¢4Ë\11\89­hm\9b\8aâ<Ó¦¦§>\1e¸fntý\8et\1d\aOoßF_¡ó\f.x\9dÇ£0À1é\8f\ 6Á(8\v(Ò®¦3\7fmgúxȦû\ f\8d¡z©)¶E¡Lâo\9d\ eö  v¨q\9a¾¿§'üùpsýxùðÛåÃÓSt{\7f¨²\1fÐï¶!·´M\9eÐ\SYÙ¢¬u"A(*\95s+[%lÎpPíUÖ2 ãp\84t¡\ 5,*êµþ°_e®Y\8bkâX;\976y¾îQ\81£Zè\80nR2¶Þ*­èþgr6­W
-@È\1ce&¶U¥ã:_ãìj$\17ÊlÕ1+IvÅ<\88­I\ fä\ 2*Ô7\róÐ'·zR%\92\bI#\8b\90P"Hf\vÊ3£Ù,mµ±'­\13Akv8ñ5º©ß8hr\96Jë\6GÉë¥\92pÈéê\99Õ*ó¦&dî\eÙ\ 6\a~\8d\92TdT\81Û\96í\1aÄ')U\ eõ¶\10Eì)Tq\ 2\1c'\87«\ 1íE'l\95H=Äiê\89Úsú\84\1aß]Ü^öX;ËþQ\17å\9fP\1a×\995dÓ]h+\ 4®©·\93h­±&ö¯cN²àJk\92Ì,6Ú·À`LÔëR'RUþ\96fÈ®D\91\91U\1cÍÂI¤\85Z\ 3\9d(%;¸1\87R\95%®tÌÚ\92\1d\7f\99{*²Å\12pãü\ 3°¬)V@»\94@jݶ\9d5@\8fÓ&q¤M\­\ 5Ö\e¿Q@xÉî.Õ³D|rµë öþ\16þ\8eÎ;Þ\19Ë\ fv´ÐgðøG \12a\8aþ\ 6K\9d\9b(vS\19Êj\9a«\18ø@/[$í»\84úϤ\0\9aó¬\10\ e\ e\15¢\ fÿ\1f-\14óÜÚoMIÇ·\14]>F×\ f¿|êò\ 1 ÊàؾޠQp\v\10\19Ö\8bÊB\11ç\9c\9dÙ£\ 2©À£*æjÓ\v\9cèÏÀ\84]9ô¹CÑr+@:à\1e¦\10É\a[¸¹'\80¼\ 2]0pùI¡\\8dö\99\82ÿA±\1d»Rþ­g/`\93\13Ëm }\9e?uÞv\aú\8ci
-Xp\94*p8ÐüY¡B
-h3M--Ûö'\9e¢_¾6àç¹æ\8epLü^gµ&µP\99\91^Ⱥ©qu\96ç¢\1fèK9\9c\rm\18âÊPË!\12$kö-à[\87a\8a\8cÂø\8e¤\ 2ºÝg¹W¡\V:ÕàR\99\12{uj\13zNkí\ eñÔg<j#Ü)\ e*CÛL!ô¥Æ¨\80« åªnÊÿ\82\81mxhf\vÛ+\8c\1c?81Ì0\1e\90\16ä\11>øbKù=­
-`0J÷ÑÕ\8e.P\88V\15'\87ÑÒJæ\19\8a\ 4\0 &s\e«¼\ 3\9a-^ü\8cfQkdb\90+u\9c¥\19¸j/áOo\ f0\vúQÂþ\96\12Ûð ÔÓ¶4TíõLÇ®\ fG(È\8fÎ\8d§n\89¹\83q\80\ 1ÉÜÔÎÕÌ<«<K¶tÔ#T\14;\ 5\ fåD(ß\9fypñÜ\80\8eÙª1\86q\85\8bĺ\a3 Ò8~±Kú¶{\ 5\ 1Ü\17\86AÑ¥QPo©æY\9eÕ@>ú\1cð@º\98Ù;¦sý¬s\9eFMÅw\v\9bð\1aÀÕ\82\88ð·Î\90~\14WKÛì³ñVê¼¥\14Ö½O½\17w\1fý£\1d\83ox¾\95xÁß-!}¹\8b¾Üª\18\13ª\9d\ 1\9b]Kø\p³aq\81è;,!H\83Týe6\1c]\E\97\ f²ÿ 'H(c§)K[u¹\80wÄ×\14<õ¥_¹\12\8cFîoÞ)\ 1<\1f!VF¬\80¼\86\1e\8fÆÛ\95q\1cУ\90\vXBê\bv\ 6\1cÝ\8f\87\99\92\96ò\8c\8d\16\83\81\ 2\12\1e\80ØOôÊ      ·K¤(¤ÜÒ\\1a­rj`\85ë\a÷\9cÉRÏÍí\96\82>çþIÓ,ÎpÕwi«\9fýØ#\1f±\86\1d\89\a8ôÆK´\193
-7öOò\19Øj\ 1\85<\18\ 1+Þ¡
-\v`«9\1f½jÆÛ\92©\17¾4s\17W\19¯\ 3>oÿfv©¹E¡\86ã÷ªVz\8eæZ@\7fM˺.ß\9f\9cl½ð§6\80Í
-xÁÛÇ>gûm2±±4\0k~\14\96*1â¡ø\a_\büæ\90Õ \9cà\87ÏlD\93ÁÐ×ðñâöÃ\ 5ÝWö+/\85\1f\14øå x\ 3bÉã\8dÀñtpöúÏ\84ñd\16LN\87\0\ 6ª\8bë,v\19\1dýzô7\8b\ f:óendstream
-endobj
-1830 0 obj<</Count 40/First 1831 0 R/Last 2110 0 R>>endobj
-1831 0 obj<</Parent 1830 0 R/Title(Table of Contents)/Dest[1482 0 R/XYZ 0 756 0]/Next 1832 0 R>>endobj
-1832 0 obj<</Parent 1830 0 R/Count -1/First 1833 0 R/Last 1833 0 R/Title(SAMBA Project Documentation)/Dest[1496 0 R/XYZ 0 786 0]/Prev 1831 0 R/Next 1834 0 R>>endobj
-1833 0 obj<</Parent 1832 0 R/Title(SAMBA Team)/Dest[1496 0 R/XYZ 0 762 0]>>endobj
-1834 0 obj<</Parent 1830 0 R/Title(Abstract)/Dest[1498 0 R/XYZ 0 786 0]/Prev 1832 0 R/Next 1835 0 R>>endobj
-1835 0 obj<</Parent 1830 0 R/Title(I. General installation)/Dest[1506 0 R/XYZ 0 786 0]/Prev 1834 0 R/Next 1836 0 R>>endobj
-1836 0 obj<</Parent 1830 0 R/Title(Introduction)/Dest[1508 0 R/XYZ 0 786 0]/Prev 1835 0 R/Next 1837 0 R>>endobj
-1837 0 obj<</Parent 1830 0 R/Count -6/First 1838 0 R/Last 1845 0 R/Title(Chapter 1. How to Install and Test SAMBA)/Dest[1510 0 R/XYZ 0 786 0]/Prev 1836 0 R/Next 1848 0 R>>endobj
-1838 0 obj<</Parent 1837 0 R/Title(1.1. Obtaining and installing samba)/Dest[1510 0 R/XYZ 0 762 0]/Next 1839 0 R>>endobj
-1839 0 obj<</Parent 1837 0 R/Count -2/First 1840 0 R/Last 1841 0 R/Title(1.2. Configuring samba)/Dest[1510 0 R/XYZ 0 647 0]/Prev 1838 0 R/Next 1842 0 R>>endobj
-1840 0 obj<</Parent 1839 0 R/Title(1.2.1. Editing the smb.conf file)/Dest[1510 0 R/XYZ 0 559 0]/Next 1841 0 R>>endobj
-1841 0 obj<</Parent 1839 0 R/Title(1.2.2. SWAT)/Dest[1512 0 R/XYZ 0 758 0]/Prev 1840 0 R>>endobj
-1842 0 obj<</Parent 1837 0 R/Title(1.3. Try listing the shares available on your server)/Dest[1512 0 R/XYZ 0 581 0]/Prev 1839 0 R/Next 1843 0 R>>endobj
-1843 0 obj<</Parent 1837 0 R/Title(1.4. Try connecting with the unix client)/Dest[1512 0 R/XYZ 0 413 0]/Prev 1842 0 R/Next 1844 0 R>>endobj
-1844 0 obj<</Parent 1837 0 R/Title(1.5. Try connecting from a DOS, WfWg, Win9x, WinNT, Win2k, OS/2, etc... client)/Dest[1512 0 R/XYZ 0 245 0]/Prev 1843 0 R/Next 1845 0 R>>endobj
-1845 0 obj<</Parent 1837 0 R/Count -2/First 1846 0 R/Last 1847 0 R/Title(1.6. What If Things Don't Work?)/Dest[1514 0 R/XYZ 0 705 0]/Prev 1844 0 R>>endobj
-1846 0 obj<</Parent 1845 0 R/Title(1.6.1. Scope IDs)/Dest[1514 0 R/XYZ 0 564 0]/Next 1847 0 R>>endobj
-1847 0 obj<</Parent 1845 0 R/Title(1.6.2. Locking)/Dest[1514 0 R/XYZ 0 479 0]/Prev 1846 0 R>>endobj
-1848 0 obj<</Parent 1830 0 R/Count -7/First 1849 0 R/Last 1855 0 R/Title(Chapter 2. Quick Cross Subnet Browsing / Cross Workgroup Browsing guide)/Dest[1518 0 R/XYZ 0 786 0]/Prev 1837 0 R/Next 1856 0 R>>endobj
-1849 0 obj<</Parent 1848 0 R/Title(2.1. Discussion)/Dest[1518 0 R/XYZ 0 617 0]/Next 1850 0 R>>endobj
-1850 0 obj<</Parent 1848 0 R/Title(2.2. How browsing functions and how to deploy stable and dependable browsing using Samba)/Dest[1520 0 R/XYZ 0 786 0]/Prev 1849 0 R/Next 1851 0 R>>endobj
-1851 0 obj<</Parent 1848 0 R/Title(2.3. Use of the "Remote Announce" parameter)/Dest[1520 0 R/XYZ 0 242 0]/Prev 1850 0 R/Next 1852 0 R>>endobj
-1852 0 obj<</Parent 1848 0 R/Title(2.4. Use of the "Remote Browse Sync" parameter)/Dest[1522 0 R/XYZ 0 589 0]/Prev 1851 0 R/Next 1853 0 R>>endobj
-1853 0 obj<</Parent 1848 0 R/Title(2.5. Use of WINS)/Dest[1522 0 R/XYZ 0 410 0]/Prev 1852 0 R/Next 1854 0 R>>endobj
-1854 0 obj<</Parent 1848 0 R/Title(2.6. Do NOT use more than one \(1\) protocol on MS Windows machines)/Dest[1524 0 R/XYZ 0 573 0]/Prev 1853 0 R/Next 1855 0 R>>endobj
-1855 0 obj<</Parent 1848 0 R/Title(2.7. Name Resolution Order)/Dest[1524 0 R/XYZ 0 213 0]/Prev 1854 0 R>>endobj
-1856 0 obj<</Parent 1830 0 R/Count -8/First 1857 0 R/Last 1879 0 R/Title(Chapter 3. User information database)/Dest[1528 0 R/XYZ 0 786 0]/Prev 1848 0 R/Next 1880 0 R>>endobj
-1857 0 obj<</Parent 1856 0 R/Title(3.1. Introduction)/Dest[1528 0 R/XYZ 0 762 0]/Next 1858 0 R>>endobj
-1858 0 obj<</Parent 1856 0 R/Count -2/First 1859 0 R/Last 1860 0 R/Title(3.2. Important Notes About Security)/Dest[1528 0 R/XYZ 0 502 0]/Prev 1857 0 R/Next 1861 0 R>>endobj
-1859 0 obj<</Parent 1858 0 R/Title(3.2.1. Advantages of SMB Encryption)/Dest[1530 0 R/XYZ 0 455 0]/Next 1860 0 R>>endobj
-1860 0 obj<</Parent 1858 0 R/Title(3.2.2. Advantages of non-encrypted passwords)/Dest[1530 0 R/XYZ 0 322 0]/Prev 1859 0 R>>endobj
-1861 0 obj<</Parent 1856 0 R/Title(3.3. The smbpasswd Command)/Dest[1530 0 R/XYZ 0 215 0]/Prev 1858 0 R/Next 1862 0 R>>endobj
-1862 0 obj<</Parent 1856 0 R/Title(3.4. Plain text)/Dest[1532 0 R/XYZ 0 415 0]/Prev 1861 0 R/Next 1863 0 R>>endobj
-1863 0 obj<</Parent 1856 0 R/Title(3.5. TDB)/Dest[1532 0 R/XYZ 0 326 0]/Prev 1862 0 R/Next 1864 0 R>>endobj
-1864 0 obj<</Parent 1856 0 R/Count -9/First 1865 0 R/Last 1873 0 R/Title(3.6. LDAP)/Dest[1532 0 R/XYZ 0 251 0]/Prev 1863 0 R/Next 1874 0 R>>endobj
-1865 0 obj<</Parent 1864 0 R/Title(3.6.1. Introduction)/Dest[1532 0 R/XYZ 0 231 0]/Next 1866 0 R>>endobj
-1866 0 obj<</Parent 1864 0 R/Title(3.6.2. Introduction)/Dest[1534 0 R/XYZ 0 626 0]/Prev 1865 0 R/Next 1867 0 R>>endobj
-1867 0 obj<</Parent 1864 0 R/Title(3.6.3. Supported LDAP Servers)/Dest[1536 0 R/XYZ 0 786 0]/Prev 1866 0 R/Next 1868 0 R>>endobj
-1868 0 obj<</Parent 1864 0 R/Title(3.6.4. Schema and Relationship to the RFC 2307 posixAccount)/Dest[1536 0 R/XYZ 0 675 0]/Prev 1867 0 R/Next 1869 0 R>>endobj
-1869 0 obj<</Parent 1864 0 R/Title(3.6.5. Configuring Samba with LDAP)/Dest[1536 0 R/XYZ 0 303 0]/Prev 1868 0 R/Next 1870 0 R>>endobj
-1870 0 obj<</Parent 1864 0 R/Title(3.6.6. Accounts and Groups management)/Dest[1540 0 R/XYZ 0 490 0]/Prev 1869 0 R/Next 1871 0 R>>endobj
-1871 0 obj<</Parent 1864 0 R/Title(3.6.7. Security and sambaAccount)/Dest[1540 0 R/XYZ 0 300 0]/Prev 1870 0 R/Next 1872 0 R>>endobj
-1872 0 obj<</Parent 1864 0 R/Title(3.6.8. LDAP specials attributes for sambaAccounts)/Dest[1542 0 R/XYZ 0 596 0]/Prev 1871 0 R/Next 1873 0 R>>endobj
-1873 0 obj<</Parent 1864 0 R/Title(3.6.9. Example LDIF Entries for a sambaAccount)/Dest[1544 0 R/XYZ 0 586 0]/Prev 1872 0 R>>endobj
-1874 0 obj<</Parent 1856 0 R/Count -4/First 1875 0 R/Last 1878 0 R/Title(3.7. MySQL)/Dest[1546 0 R/XYZ 0 760 0]/Prev 1864 0 R/Next 1879 0 R>>endobj
-1875 0 obj<</Parent 1874 0 R/Title(3.7.1. Creating the database)/Dest[1546 0 R/XYZ 0 740 0]/Next 1876 0 R>>endobj
-1876 0 obj<</Parent 1874 0 R/Title(3.7.2. Configuring)/Dest[1546 0 R/XYZ 0 629 0]/Prev 1875 0 R/Next 1877 0 R>>endobj
-1877 0 obj<</Parent 1874 0 R/Title(3.7.3. Using plaintext passwords or encrypted password)/Dest[1548 0 R/XYZ 0 567 0]/Prev 1876 0 R/Next 1878 0 R>>endobj
-1878 0 obj<</Parent 1874 0 R/Title(3.7.4. Getting non-column data from the table)/Dest[1548 0 R/XYZ 0 416 0]/Prev 1877 0 R>>endobj
-1879 0 obj<</Parent 1856 0 R/Title(3.8. XML)/Dest[1548 0 R/XYZ 0 279 0]/Prev 1874 0 R>>endobj
-1880 0 obj<</Parent 1830 0 R/Title(II. Type of installation)/Dest[1550 0 R/XYZ 0 786 0]/Prev 1856 0 R/Next 1881 0 R>>endobj
-1881 0 obj<</Parent 1830 0 R/Title(Introduction)/Dest[1552 0 R/XYZ 0 786 0]/Prev 1880 0 R/Next 1882 0 R>>endobj
-1882 0 obj<</Parent 1830 0 R/Count -3/First 1883 0 R/Last 1885 0 R/Title(Chapter 4. Nomenclature of Server Types)/Dest[1556 0 R/XYZ 0 786 0]/Prev 1881 0 R/Next 1887 0 R>>endobj
-1883 0 obj<</Parent 1882 0 R/Title(4.1. Stand Alone Server)/Dest[1556 0 R/XYZ 0 575 0]/Next 1884 0 R>>endobj
-1884 0 obj<</Parent 1882 0 R/Title(4.2. Domain Member Server)/Dest[1556 0 R/XYZ 0 249 0]/Prev 1883 0 R/Next 1885 0 R>>endobj
-1885 0 obj<</Parent 1882 0 R/Count -1/First 1886 0 R/Last 1886 0 R/Title(4.3. Domain Controller)/Dest[1558 0 R/XYZ 0 679 0]/Prev 1884 0 R>>endobj
-1886 0 obj<</Parent 1885 0 R/Title(4.3.1. Domain Controller Types)/Dest[1558 0 R/XYZ 0 590 0]>>endobj
-1887 0 obj<</Parent 1830 0 R/Count -1/First 1888 0 R/Last 1888 0 R/Title(Chapter 5. Samba as Stand-Alone Server)/Dest[1560 0 R/XYZ 0 786 0]/Prev 1882 0 R/Next 1894 0 R>>endobj
-1888 0 obj<</Parent 1887 0 R/Count -5/First 1889 0 R/Last 1893 0 R/Title(5.1. User and Share security level)/Dest[1560 0 R/XYZ 0 721 0]>>endobj
-1889 0 obj<</Parent 1888 0 R/Title(5.1.1. User Level Security)/Dest[1560 0 R/XYZ 0 606 0]/Next 1890 0 R>>endobj
-1890 0 obj<</Parent 1888 0 R/Title(5.1.2. Share Level Security)/Dest[1560 0 R/XYZ 0 363 0]/Prev 1889 0 R/Next 1891 0 R>>endobj
-1891 0 obj<</Parent 1888 0 R/Title(5.1.3. Server Level Security)/Dest[1562 0 R/XYZ 0 786 0]/Prev 1890 0 R/Next 1892 0 R>>endobj
-1892 0 obj<</Parent 1888 0 R/Title(5.1.4. Domain Level Security)/Dest[1564 0 R/XYZ 0 266 0]/Prev 1891 0 R/Next 1893 0 R>>endobj
-1893 0 obj<</Parent 1888 0 R/Title(5.1.5. ADS Level Security)/Dest[1566 0 R/XYZ 0 501 0]/Prev 1892 0 R>>endobj
-1894 0 obj<</Parent 1830 0 R/Count -7/First 1895 0 R/Last 1904 0 R/Title(Chapter 6. Samba as an NT4 or Win2k Primary Domain Controller)/Dest[1568 0 R/XYZ 0 786 0]/Prev 1887 0 R/Next 1906 0 R>>endobj
-1895 0 obj<</Parent 1894 0 R/Title(6.1. Prerequisite Reading)/Dest[1568 0 R/XYZ 0 738 0]/Next 1896 0 R>>endobj
-1896 0 obj<</Parent 1894 0 R/Title(6.2. Background)/Dest[1568 0 R/XYZ 0 637 0]/Prev 1895 0 R/Next 1897 0 R>>endobj
-1897 0 obj<</Parent 1894 0 R/Title(6.3. Configuring the Samba Domain Controller)/Dest[1570 0 R/XYZ 0 745 0]/Prev 1896 0 R/Next 1898 0 R>>endobj
-1898 0 obj<</Parent 1894 0 R/Count -3/First 1899 0 R/Last 1901 0 R/Title(6.4. Creating Machine Trust Accounts and Joining Clients to the Domain)/Dest[1572 0 R/XYZ 0 679 0]/Prev 1897 0 R/Next 1902 0 R>>endobj
-1899 0 obj<</Parent 1898 0 R/Title(6.4.1. Manual Creation of Machine Trust Accounts)/Dest[1574 0 R/XYZ 0 665 0]/Next 1900 0 R>>endobj
-1900 0 obj<</Parent 1898 0 R/Title(6.4.2. "On-the-Fly" Creation of Machine Trust Accounts)/Dest[1576 0 R/XYZ 0 771 0]/Prev 1899 0 R/Next 1901 0 R>>endobj
-1901 0 obj<</Parent 1898 0 R/Title(6.4.3. Joining the Client to the Domain)/Dest[1576 0 R/XYZ 0 561 0]/Prev 1900 0 R>>endobj
-1902 0 obj<</Parent 1894 0 R/Title(6.5. Common Problems and Errors)/Dest[1576 0 R/XYZ 0 213 0]/Prev 1898 0 R/Next 1903 0 R>>endobj
-1903 0 obj<</Parent 1894 0 R/Title(6.6. What other help can I get?)/Dest[1580 0 R/XYZ 0 617 0]/Prev 1902 0 R/Next 1904 0 R>>endobj
-1904 0 obj<</Parent 1894 0 R/Count -1/First 1905 0 R/Last 1905 0 R/Title(6.7. Domain Control for Windows 9x/ME)/Dest[1584 0 R/XYZ 0 335 0]/Prev 1903 0 R>>endobj
-1905 0 obj<</Parent 1904 0 R/Title(6.7.1. Configuration Instructions: Network Logons)/Dest[1586 0 R/XYZ 0 388 0]>>endobj
-1906 0 obj<</Parent 1830 0 R/Count -5/First 1907 0 R/Last 1913 0 R/Title(Chapter 7. Samba Backup Domain Controller to Samba Domain Control)/Dest[1590 0 R/XYZ 0 786 0]/Prev 1894 0 R/Next 1916 0 R>>endobj
-1907 0 obj<</Parent 1906 0 R/Title(7.1. Prerequisite Reading)/Dest[1590 0 R/XYZ 0 738 0]/Next 1908 0 R>>endobj
-1908 0 obj<</Parent 1906 0 R/Title(7.2. Background)/Dest[1590 0 R/XYZ 0 650 0]/Prev 1907 0 R/Next 1909 0 R>>endobj
-1909 0 obj<</Parent 1906 0 R/Count -2/First 1910 0 R/Last 1911 0 R/Title(7.3. What qualifies a Domain Controller on the network?)/Dest[1590 0 R/XYZ 0 278 0]/Prev 1908 0 R/Next 1912 0 R>>endobj
-1910 0 obj<</Parent 1909 0 R/Title(7.3.1. How does a Workstation find its domain controller?)/Dest[1592 0 R/XYZ 0 786 0]/Next 1911 0 R>>endobj
-1911 0 obj<</Parent 1909 0 R/Title(7.3.2. When is the PDC needed?)/Dest[1592 0 R/XYZ 0 662 0]/Prev 1910 0 R>>endobj
-1912 0 obj<</Parent 1906 0 R/Title(7.4. Can Samba be a Backup Domain Controller to an NT PDC?)/Dest[1592 0 R/XYZ 0 577 0]/Prev 1909 0 R/Next 1913 0 R>>endobj
-1913 0 obj<</Parent 1906 0 R/Count -2/First 1914 0 R/Last 1915 0 R/Title(7.5. How do I set up a Samba BDC?)/Dest[1592 0 R/XYZ 0 376 0]/Prev 1912 0 R>>endobj
-1914 0 obj<</Parent 1913 0 R/Title(7.5.1. How do I replicate the smbpasswd file?)/Dest[1594 0 R/XYZ 0 593 0]/Next 1915 0 R>>endobj
-1915 0 obj<</Parent 1913 0 R/Title(7.5.2. Can I do this all with LDAP?)/Dest[1594 0 R/XYZ 0 443 0]/Prev 1914 0 R>>endobj
-1916 0 obj<</Parent 1830 0 R/Count -6/First 1917 0 R/Last 1923 0 R/Title(Chapter 8. Samba as a ADS domain member)/Dest[1596 0 R/XYZ 0 786 0]/Prev 1906 0 R/Next 1924 0 R>>endobj
-1917 0 obj<</Parent 1916 0 R/Title(8.1. Setup your smb.conf)/Dest[1596 0 R/XYZ 0 721 0]/Next 1918 0 R>>endobj
-1918 0 obj<</Parent 1916 0 R/Title(8.2. Setup your /etc/krb5.conf)/Dest[1596 0 R/XYZ 0 497 0]/Prev 1917 0 R/Next 1919 0 R>>endobj
-1919 0 obj<</Parent 1916 0 R/Count -1/First 1920 0 R/Last 1920 0 R/Title(8.3. Create the computer account)/Dest[1596 0 R/XYZ 0 180 0]/Prev 1918 0 R/Next 1921 0 R>>endobj
-1920 0 obj<</Parent 1919 0 R/Title(8.3.1. Possible errors)/Dest[1598 0 R/XYZ 0 786 0]>>endobj
-1921 0 obj<</Parent 1916 0 R/Title(8.4. Test your server setup)/Dest[1598 0 R/XYZ 0 701 0]/Prev 1919 0 R/Next 1922 0 R>>endobj
-1922 0 obj<</Parent 1916 0 R/Title(8.5. Testing with smbclient)/Dest[1598 0 R/XYZ 0 613 0]/Prev 1921 0 R/Next 1923 0 R>>endobj
-1923 0 obj<</Parent 1916 0 R/Title(8.6. Notes)/Dest[1598 0 R/XYZ 0 538 0]/Prev 1922 0 R>>endobj
-1924 0 obj<</Parent 1830 0 R/Count -2/First 1925 0 R/Last 1926 0 R/Title(Chapter 9. Samba as a NT4 or Win2k domain member)/Dest[1600 0 R/XYZ 0 786 0]/Prev 1916 0 R/Next 1927 0 R>>endobj
-1925 0 obj<</Parent 1924 0 R/Title(9.1. Joining an NT Domain with Samba 3.0)/Dest[1600 0 R/XYZ 0 738 0]/Next 1926 0 R>>endobj
-1926 0 obj<</Parent 1924 0 R/Title(9.2. Why is this better than security = server?)/Dest[1602 0 R/XYZ 0 547 0]/Prev 1925 0 R>>endobj
-1927 0 obj<</Parent 1830 0 R/Title(III. Advanced Configuration)/Dest[1604 0 R/XYZ 0 786 0]/Prev 1924 0 R/Next 1928 0 R>>endobj
-1928 0 obj<</Parent 1830 0 R/Title(Introduction)/Dest[1606 0 R/XYZ 0 786 0]/Prev 1927 0 R/Next 1929 0 R>>endobj
-1929 0 obj<</Parent 1830 0 R/Count -1/First 1930 0 R/Last 1930 0 R/Title(Chapter 10. Advanced Network Manangement Information)/Dest[1612 0 R/XYZ 0 786 0]/Prev 1928 0 R/Next 1931 0 R>>endobj
-1930 0 obj<</Parent 1929 0 R/Title(10.1. Remote Server Administration)/Dest[1612 0 R/XYZ 0 738 0]>>endobj
-1931 0 obj<</Parent 1830 0 R/Count -7/First 1932 0 R/Last 1940 0 R/Title(Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists)/Dest[1614 0 R/XYZ 0 786 0]/Prev 1929 0 R/Next 1941 0 R>>endobj
-1932 0 obj<</Parent 1931 0 R/Title(11.1. Viewing and changing UNIX permissions using the NT security dialogs)/Dest[1614 0 R/XYZ 0 738 0]/Next 1933 0 R>>endobj
-1933 0 obj<</Parent 1931 0 R/Title(11.2. How to view file security on a Samba share)/Dest[1614 0 R/XYZ 0 590 0]/Prev 1932 0 R/Next 1934 0 R>>endobj
-1934 0 obj<</Parent 1931 0 R/Title(11.3. Viewing file ownership)/Dest[1614 0 R/XYZ 0 435 0]/Prev 1933 0 R/Next 1935 0 R>>endobj
-1935 0 obj<</Parent 1931 0 R/Count -2/First 1936 0 R/Last 1937 0 R/Title(11.4. Viewing file or directory permissions)/Dest[1616 0 R/XYZ 0 771 0]/Prev 1934 0 R/Next 1938 0 R>>endobj
-1936 0 obj<</Parent 1935 0 R/Title(11.4.1. File Permissions)/Dest[1616 0 R/XYZ 0 537 0]/Next 1937 0 R>>endobj
-1937 0 obj<</Parent 1935 0 R/Title(11.4.2. Directory Permissions)/Dest[1616 0 R/XYZ 0 294 0]/Prev 1936 0 R>>endobj
-1938 0 obj<</Parent 1931 0 R/Title(11.5. Modifying file or directory permissions)/Dest[1618 0 R/XYZ 0 786 0]/Prev 1935 0 R/Next 1939 0 R>>endobj
-1939 0 obj<</Parent 1931 0 R/Title(11.6. Interaction with the standard Samba create mask parameters)/Dest[1618 0 R/XYZ 0 355 0]/Prev 1938 0 R/Next 1940 0 R>>endobj
-1940 0 obj<</Parent 1931 0 R/Title(11.7. Interaction with the standard Samba file attribute mapping)/Dest[1620 0 R/XYZ 0 256 0]/Prev 1939 0 R>>endobj
-1941 0 obj<</Parent 1830 0 R/Title(Chapter 12. Group mapping HOWTO)/Dest[1624 0 R/XYZ 0 786 0]/Prev 1931 0 R/Next 1942 0 R>>endobj
-1942 0 obj<</Parent 1830 0 R/Count -3/First 1943 0 R/Last 1945 0 R/Title(Chapter 13. Configuring PAM for distributed but centrally managed authentication)/Dest[1626 0 R/XYZ 0 786 0]/Prev 1941 0 R/Next 1946 0 R>>endobj
-1943 0 obj<</Parent 1942 0 R/Title(13.1. Samba and PAM)/Dest[1626 0 R/XYZ 0 738 0]/Next 1944 0 R>>endobj
-1944 0 obj<</Parent 1942 0 R/Title(13.2. Distributed Authentication)/Dest[1630 0 R/XYZ 0 771 0]/Prev 1943 0 R/Next 1945 0 R>>endobj
-1945 0 obj<</Parent 1942 0 R/Title(13.3. PAM Configuration in smb.conf)/Dest[1630 0 R/XYZ 0 656 0]/Prev 1944 0 R>>endobj
-1946 0 obj<</Parent 1830 0 R/Count -4/First 1947 0 R/Last 1959 0 R/Title(Chapter 14. Printing Support)/Dest[1632 0 R/XYZ 0 786 0]/Prev 1942 0 R/Next 1969 0 R>>endobj
-1947 0 obj<</Parent 1946 0 R/Title(14.1. Introduction)/Dest[1632 0 R/XYZ 0 762 0]/Next 1948 0 R>>endobj
-1948 0 obj<</Parent 1946 0 R/Count -5/First 1949 0 R/Last 1953 0 R/Title(14.2. Configuration)/Dest[1632 0 R/XYZ 0 370 0]/Prev 1947 0 R/Next 1954 0 R>>endobj
-1949 0 obj<</Parent 1948 0 R/Title(14.2.1. Creating [print$])/Dest[1632 0 R/XYZ 0 180 0]/Next 1950 0 R>>endobj
-1950 0 obj<</Parent 1948 0 R/Title(14.2.2. Setting Drivers for Existing Printers)/Dest[1636 0 R/XYZ 0 583 0]/Prev 1949 0 R/Next 1951 0 R>>endobj
-1951 0 obj<</Parent 1948 0 R/Title(14.2.3. Support a large number of printers)/Dest[1638 0 R/XYZ 0 786 0]/Prev 1950 0 R/Next 1952 0 R>>endobj
-1952 0 obj<</Parent 1948 0 R/Title(14.2.4. Adding New Printers via the Windows NT APW)/Dest[1638 0 R/XYZ 0 416 0]/Prev 1951 0 R/Next 1953 0 R>>endobj
-1953 0 obj<</Parent 1948 0 R/Title(14.2.5. Samba and Printer Ports)/Dest[1640 0 R/XYZ 0 237 0]/Prev 1952 0 R>>endobj
-1954 0 obj<</Parent 1946 0 R/Count -4/First 1955 0 R/Last 1958 0 R/Title(14.3. The Imprints Toolset)/Dest[1642 0 R/XYZ 0 745 0]/Prev 1948 0 R/Next 1959 0 R>>endobj
-1955 0 obj<</Parent 1954 0 R/Title(14.3.1. What is Imprints?)/Dest[1642 0 R/XYZ 0 643 0]/Next 1956 0 R>>endobj
-1956 0 obj<</Parent 1954 0 R/Title(14.3.2. Creating Printer Driver Packages)/Dest[1642 0 R/XYZ 0 519 0]/Prev 1955 0 R/Next 1957 0 R>>endobj
-1957 0 obj<</Parent 1954 0 R/Title(14.3.3. The Imprints server)/Dest[1642 0 R/XYZ 0 434 0]/Prev 1956 0 R/Next 1958 0 R>>endobj
-1958 0 obj<</Parent 1954 0 R/Title(14.3.4. The Installation Client)/Dest[1642 0 R/XYZ 0 336 0]/Prev 1957 0 R>>endobj
-1959 0 obj<</Parent 1946 0 R/Count -9/First 1960 0 R/Last 1968 0 R/Title(14.4. Diagnosis)/Dest[1644 0 R/XYZ 0 449 0]/Prev 1954 0 R>>endobj
-1960 0 obj<</Parent 1959 0 R/Title(14.4.1. Introduction)/Dest[1644 0 R/XYZ 0 429 0]/Next 1961 0 R>>endobj
-1961 0 obj<</Parent 1959 0 R/Title(14.4.2. Debugging printer problems)/Dest[1646 0 R/XYZ 0 482 0]/Prev 1960 0 R/Next 1962 0 R>>endobj
-1962 0 obj<</Parent 1959 0 R/Title(14.4.3. What printers do I have?)/Dest[1648 0 R/XYZ 0 718 0]/Prev 1961 0 R/Next 1963 0 R>>endobj
-1963 0 obj<</Parent 1959 0 R/Title(14.4.4. Setting up printcap and print servers)/Dest[1648 0 R/XYZ 0 537 0]/Prev 1962 0 R/Next 1964 0 R>>endobj
-1964 0 obj<</Parent 1959 0 R/Title(14.4.5. Job sent, no output)/Dest[1650 0 R/XYZ 0 786 0]/Prev 1963 0 R/Next 1965 0 R>>endobj
-1965 0 obj<</Parent 1959 0 R/Title(14.4.6. Job sent, strange output)/Dest[1650 0 R/XYZ 0 447 0]/Prev 1964 0 R/Next 1966 0 R>>endobj
-1966 0 obj<</Parent 1959 0 R/Title(14.4.7. Raw PostScript printed)/Dest[1652 0 R/XYZ 0 771 0]/Prev 1965 0 R/Next 1967 0 R>>endobj
-1967 0 obj<</Parent 1959 0 R/Title(14.4.8. Advanced Printing)/Dest[1652 0 R/XYZ 0 686 0]/Prev 1966 0 R/Next 1968 0 R>>endobj
-1968 0 obj<</Parent 1959 0 R/Title(14.4.9. Real debugging)/Dest[1652 0 R/XYZ 0 588 0]/Prev 1967 0 R>>endobj
-1969 0 obj<</Parent 1830 0 R/Count -7/First 1970 0 R/Last 1977 0 R/Title(Chapter 15. CUPS Printing Support)/Dest[1654 0 R/XYZ 0 786 0]/Prev 1946 0 R/Next 1978 0 R>>endobj
-1970 0 obj<</Parent 1969 0 R/Title(15.1. Introduction)/Dest[1654 0 R/XYZ 0 762 0]/Next 1971 0 R>>endobj
-1971 0 obj<</Parent 1969 0 R/Title(15.2. CUPS - RAW Print Through Mode)/Dest[1654 0 R/XYZ 0 515 0]/Prev 1970 0 R/Next 1972 0 R>>endobj
-1972 0 obj<</Parent 1969 0 R/Title(15.3. The CUPS Filter Chains)/Dest[1658 0 R/XYZ 0 329 0]/Prev 1971 0 R/Next 1973 0 R>>endobj
-1973 0 obj<</Parent 1969 0 R/Count -1/First 1974 0 R/Last 1974 0 R/Title(15.4. CUPS Print Drivers and Devices)/Dest[1670 0 R/XYZ 0 598 0]/Prev 1972 0 R/Next 1975 0 R>>endobj
-1974 0 obj<</Parent 1973 0 R/Title(15.4.1. Further printing steps)/Dest[1670 0 R/XYZ 0 457 0]>>endobj
-1975 0 obj<</Parent 1969 0 R/Title(15.5. Limiting the number of pages users can print)/Dest[1674 0 R/XYZ 0 230 0]/Prev 1973 0 R/Next 1976 0 R>>endobj
-1976 0 obj<</Parent 1969 0 R/Title(15.6. Advanced Postscript Printing from MS Windows)/Dest[1682 0 R/XYZ 0 415 0]/Prev 1975 0 R/Next 1977 0 R>>endobj
-1977 0 obj<</Parent 1969 0 R/Title(15.7. Auto-Deletion of CUPS spool files)/Dest[1684 0 R/XYZ 0 579 0]/Prev 1976 0 R>>endobj
-1978 0 obj<</Parent 1830 0 R/Count -7/First 1979 0 R/Last 1995 0 R/Title(Chapter 16. Unified Logons between Windows NT and UNIX using Winbind)/Dest[1688 0 R/XYZ 0 786 0]/Prev 1969 0 R/Next 1996 0 R>>endobj
-1979 0 obj<</Parent 1978 0 R/Title(16.1. Abstract)/Dest[1688 0 R/XYZ 0 738 0]/Next 1980 0 R>>endobj
-1980 0 obj<</Parent 1978 0 R/Title(16.2. Introduction)/Dest[1688 0 R/XYZ 0 597 0]/Prev 1979 0 R/Next 1981 0 R>>endobj
-1981 0 obj<</Parent 1978 0 R/Count -1/First 1982 0 R/Last 1982 0 R/Title(16.3. What Winbind Provides)/Dest[1688 0 R/XYZ 0 284 0]/Prev 1980 0 R/Next 1983 0 R>>endobj
-1982 0 obj<</Parent 1981 0 R/Title(16.3.1. Target Uses)/Dest[1690 0 R/XYZ 0 613 0]>>endobj
-1983 0 obj<</Parent 1978 0 R/Count -6/First 1984 0 R/Last 1989 0 R/Title(16.4. How Winbind Works)/Dest[1690 0 R/XYZ 0 462 0]/Prev 1981 0 R/Next 1990 0 R>>endobj
-1984 0 obj<</Parent 1983 0 R/Title(16.4.1. Microsoft Remote Procedure Calls)/Dest[1690 0 R/XYZ 0 347 0]/Next 1985 0 R>>endobj
-1985 0 obj<</Parent 1983 0 R/Title(16.4.2. Microsoft Active Directory Services)/Dest[1692 0 R/XYZ 0 786 0]/Prev 1984 0 R/Next 1986 0 R>>endobj
-1986 0 obj<</Parent 1983 0 R/Title(16.4.3. Name Service Switch)/Dest[1692 0 R/XYZ 0 688 0]/Prev 1985 0 R/Next 1987 0 R>>endobj
-1987 0 obj<</Parent 1983 0 R/Title(16.4.4. Pluggable Authentication Modules)/Dest[1692 0 R/XYZ 0 247 0]/Prev 1986 0 R/Next 1988 0 R>>endobj
-1988 0 obj<</Parent 1983 0 R/Title(16.4.5. User and Group ID Allocation)/Dest[1694 0 R/XYZ 0 613 0]/Prev 1987 0 R/Next 1989 0 R>>endobj
-1989 0 obj<</Parent 1983 0 R/Title(16.4.6. Result Caching)/Dest[1694 0 R/XYZ 0 435 0]/Prev 1988 0 R>>endobj
-1990 0 obj<</Parent 1978 0 R/Count -3/First 1991 0 R/Last 1993 0 R/Title(16.5. Installation and Configuration)/Dest[1694 0 R/XYZ 0 298 0]/Prev 1983 0 R/Next 1994 0 R>>endobj
-1991 0 obj<</Parent 1990 0 R/Title(16.5.1. Introduction)/Dest[1694 0 R/XYZ 0 196 0]/Next 1992 0 R>>endobj
-1992 0 obj<</Parent 1990 0 R/Title(16.5.2. Requirements)/Dest[1696 0 R/XYZ 0 586 0]/Prev 1991 0 R/Next 1993 0 R>>endobj
-1993 0 obj<</Parent 1990 0 R/Title(16.5.3. Testing Things Out)/Dest[1696 0 R/XYZ 0 317 0]/Prev 1992 0 R>>endobj
-1994 0 obj<</Parent 1978 0 R/Title(16.6. Limitations)/Dest[1712 0 R/XYZ 0 608 0]/Prev 1990 0 R/Next 1995 0 R>>endobj
-1995 0 obj<</Parent 1978 0 R/Title(16.7. Conclusion)/Dest[1712 0 R/XYZ 0 387 0]/Prev 1994 0 R>>endobj
-1996 0 obj<</Parent 1830 0 R/Count -1/First 1997 0 R/Last 1997 0 R/Title(Chapter 17. Policy Management - Hows and Whys)/Dest[1714 0 R/XYZ 0 786 0]/Prev 1978 0 R/Next 2001 0 R>>endobj
-1997 0 obj<</Parent 1996 0 R/Count -3/First 1998 0 R/Last 2000 0 R/Title(17.1. System Policies)/Dest[1714 0 R/XYZ 0 762 0]>>endobj
-1998 0 obj<</Parent 1997 0 R/Title(17.1.1. Creating and Managing Windows 9x/Me Policies)/Dest[1714 0 R/XYZ 0 317 0]/Next 1999 0 R>>endobj
-1999 0 obj<</Parent 1997 0 R/Title(17.1.2. Creating and Managing Windows NT4 Style Policy Files)/Dest[1716 0 R/XYZ 0 692 0]/Prev 1998 0 R/Next 2000 0 R>>endobj
-2000 0 obj<</Parent 1997 0 R/Title(17.1.3. Creating and Managing MS Windows 200x Policies)/Dest[1716 0 R/XYZ 0 341 0]/Prev 1999 0 R>>endobj
-2001 0 obj<</Parent 1830 0 R/Count -1/First 2002 0 R/Last 2002 0 R/Title(Chapter 18. Profile Management)/Dest[1720 0 R/XYZ 0 786 0]/Prev 1996 0 R/Next 2012 0 R>>endobj
-2002 0 obj<</Parent 2001 0 R/Count -9/First 2003 0 R/Last 2011 0 R/Title(18.1. Roaming Profiles)/Dest[1720 0 R/XYZ 0 762 0]>>endobj
-2003 0 obj<</Parent 2002 0 R/Title(18.1.1. Windows NT Configuration)/Dest[1720 0 R/XYZ 0 548 0]/Next 2004 0 R>>endobj
-2004 0 obj<</Parent 2002 0 R/Title(18.1.2. Windows 9X Configuration)/Dest[1720 0 R/XYZ 0 371 0]/Prev 2003 0 R/Next 2005 0 R>>endobj
-2005 0 obj<</Parent 2002 0 R/Title(18.1.3. Win9X and WinNT Configuration)/Dest[1722 0 R/XYZ 0 786 0]/Prev 2004 0 R/Next 2006 0 R>>endobj
-2006 0 obj<</Parent 2002 0 R/Title(18.1.4. Windows 9X Profile Setup)/Dest[1722 0 R/XYZ 0 647 0]/Prev 2005 0 R/Next 2007 0 R>>endobj
-2007 0 obj<</Parent 2002 0 R/Title(18.1.5. Windows NT Workstation 4.0)/Dest[1724 0 R/XYZ 0 309 0]/Prev 2006 0 R/Next 2008 0 R>>endobj
-2008 0 obj<</Parent 2002 0 R/Title(18.1.6. Windows NT/200x Server)/Dest[1726 0 R/XYZ 0 665 0]/Prev 2007 0 R/Next 2009 0 R>>endobj
-2009 0 obj<</Parent 2002 0 R/Title(18.1.7. Sharing Profiles between W9x/Me and NT4/200x/XP workstations)/Dest[1726 0 R/XYZ 0 581 0]/Prev 2008 0 R/Next 2010 0 R>>endobj
-2010 0 obj<</Parent 2002 0 R/Title(18.1.8. Windows NT 4)/Dest[1726 0 R/XYZ 0 377 0]/Prev 2009 0 R/Next 2011 0 R>>endobj
-2011 0 obj<</Parent 2002 0 R/Title(18.1.9. Windows 2000/XP)/Dest[1728 0 R/XYZ 0 367 0]/Prev 2010 0 R>>endobj
-2012 0 obj<</Parent 1830 0 R/Count -2/First 2013 0 R/Last 2018 0 R/Title(Chapter 19. Integrating MS Windows networks with Samba)/Dest[1732 0 R/XYZ 0 786 0]/Prev 2001 0 R/Next 2024 0 R>>endobj
-2013 0 obj<</Parent 2012 0 R/Count -4/First 2014 0 R/Last 2017 0 R/Title(19.1. Name Resolution in a pure Unix/Linux world)/Dest[1732 0 R/XYZ 0 401 0]/Next 2018 0 R>>endobj
-2014 0 obj<</Parent 2013 0 R/Title(19.1.1. /etc/hosts)/Dest[1732 0 R/XYZ 0 273 0]/Next 2015 0 R>>endobj
-2015 0 obj<</Parent 2013 0 R/Title(19.1.2. /etc/resolv.conf)/Dest[1734 0 R/XYZ 0 401 0]/Prev 2014 0 R/Next 2016 0 R>>endobj
-2016 0 obj<</Parent 2013 0 R/Title(19.1.3. /etc/host.conf)/Dest[1734 0 R/XYZ 0 264 0]/Prev 2015 0 R/Next 2017 0 R>>endobj
-2017 0 obj<</Parent 2013 0 R/Title(19.1.4. /etc/nsswitch.conf)/Dest[1736 0 R/XYZ 0 786 0]/Prev 2016 0 R>>endobj
-2018 0 obj<</Parent 2012 0 R/Count -5/First 2019 0 R/Last 2023 0 R/Title(19.2. Name resolution as used within MS Windows networking)/Dest[1736 0 R/XYZ 0 301 0]/Prev 2013 0 R>>endobj
-2019 0 obj<</Parent 2018 0 R/Title(19.2.1. The NetBIOS Name Cache)/Dest[1738 0 R/XYZ 0 243 0]/Next 2020 0 R>>endobj
-2020 0 obj<</Parent 2018 0 R/Title(19.2.2. The LMHOSTS file)/Dest[1740 0 R/XYZ 0 705 0]/Prev 2019 0 R/Next 2021 0 R>>endobj
-2021 0 obj<</Parent 2018 0 R/Title(19.2.3. HOSTS file)/Dest[1742 0 R/XYZ 0 436 0]/Prev 2020 0 R/Next 2022 0 R>>endobj
-2022 0 obj<</Parent 2018 0 R/Title(19.2.4. DNS Lookup)/Dest[1742 0 R/XYZ 0 338 0]/Prev 2021 0 R/Next 2023 0 R>>endobj
-2023 0 obj<</Parent 2018 0 R/Title(19.2.5. WINS Lookup)/Dest[1742 0 R/XYZ 0 201 0]/Prev 2022 0 R>>endobj
-2024 0 obj<</Parent 1830 0 R/Count -11/First 2025 0 R/Last 2036 0 R/Title(Chapter 20. Improved browsing in samba)/Dest[1746 0 R/XYZ 0 786 0]/Prev 2012 0 R/Next 2037 0 R>>endobj
-2025 0 obj<</Parent 2024 0 R/Title(20.1. Overview of browsing)/Dest[1746 0 R/XYZ 0 762 0]/Next 2026 0 R>>endobj
-2026 0 obj<</Parent 2024 0 R/Title(20.2. Browsing support in samba)/Dest[1746 0 R/XYZ 0 515 0]/Prev 2025 0 R/Next 2027 0 R>>endobj
-2027 0 obj<</Parent 2024 0 R/Title(20.3. Problem resolution)/Dest[1748 0 R/XYZ 0 786 0]/Prev 2026 0 R/Next 2028 0 R>>endobj
-2028 0 obj<</Parent 2024 0 R/Count -1/First 2029 0 R/Last 2029 0 R/Title(20.4. Browsing across subnets)/Dest[1748 0 R/XYZ 0 434 0]/Prev 2027 0 R/Next 2030 0 R>>endobj
-2029 0 obj<</Parent 2028 0 R/Title(20.4.1. How does cross subnet browsing work ?)/Dest[1750 0 R/XYZ 0 786 0]>>endobj
-2030 0 obj<</Parent 2024 0 R/Title(20.5. Setting up a WINS server)/Dest[1754 0 R/XYZ 0 385 0]/Prev 2028 0 R/Next 2031 0 R>>endobj
-2031 0 obj<</Parent 2024 0 R/Title(20.6. Setting up Browsing in a WORKGROUP)/Dest[1756 0 R/XYZ 0 441 0]/Prev 2030 0 R/Next 2032 0 R>>endobj
-2032 0 obj<</Parent 2024 0 R/Title(20.7. Setting up Browsing in a DOMAIN)/Dest[1758 0 R/XYZ 0 460 0]/Prev 2031 0 R/Next 2033 0 R>>endobj
-2033 0 obj<</Parent 2024 0 R/Title(20.8. Forcing samba to be the master)/Dest[1760 0 R/XYZ 0 771 0]/Prev 2032 0 R/Next 2034 0 R>>endobj
-2034 0 obj<</Parent 2024 0 R/Title(20.9. Making samba the domain master)/Dest[1760 0 R/XYZ 0 353 0]/Prev 2033 0 R/Next 2035 0 R>>endobj
-2035 0 obj<</Parent 2024 0 R/Title(20.10. Note about broadcast addresses)/Dest[1762 0 R/XYZ 0 573 0]/Prev 2034 0 R/Next 2036 0 R>>endobj
-2036 0 obj<</Parent 2024 0 R/Title(20.11. Multiple interfaces)/Dest[1762 0 R/XYZ 0 485 0]/Prev 2035 0 R>>endobj
-2037 0 obj<</Parent 1830 0 R/Count -1/First 2038 0 R/Last 2038 0 R/Title(Chapter 21. Hosting a Microsoft Distributed File System tree on Samba)/Dest[1764 0 R/XYZ 0 786 0]/Prev 2024 0 R/Next 2040 0 R>>endobj
-2038 0 obj<</Parent 2037 0 R/Count -1/First 2039 0 R/Last 2039 0 R/Title(21.1. Instructions)/Dest[1764 0 R/XYZ 0 738 0]>>endobj
-2039 0 obj<</Parent 2038 0 R/Title(21.1.1. Notes)/Dest[1766 0 R/XYZ 0 705 0]>>endobj
-2040 0 obj<</Parent 1830 0 R/Count -3/First 2041 0 R/Last 2046 0 R/Title(Chapter 22. Stackable VFS modules)/Dest[1768 0 R/XYZ 0 786 0]/Prev 2037 0 R/Next 2049 0 R>>endobj
-2041 0 obj<</Parent 2040 0 R/Title(22.1. Introduction and configuration)/Dest[1768 0 R/XYZ 0 762 0]/Next 2042 0 R>>endobj
-2042 0 obj<</Parent 2040 0 R/Count -3/First 2043 0 R/Last 2045 0 R/Title(22.2. Included modules)/Dest[1768 0 R/XYZ 0 437 0]/Prev 2041 0 R/Next 2046 0 R>>endobj
-2043 0 obj<</Parent 2042 0 R/Title(22.2.1. audit)/Dest[1768 0 R/XYZ 0 417 0]/Next 2044 0 R>>endobj
-2044 0 obj<</Parent 2042 0 R/Title(22.2.2. recycle)/Dest[1768 0 R/XYZ 0 268 0]/Prev 2043 0 R/Next 2045 0 R>>endobj
-2045 0 obj<</Parent 2042 0 R/Title(22.2.3. netatalk)/Dest[1770 0 R/XYZ 0 613 0]/Prev 2044 0 R>>endobj
-2046 0 obj<</Parent 2040 0 R/Count -2/First 2047 0 R/Last 2048 0 R/Title(22.3. VFS modules available elsewhere)/Dest[1770 0 R/XYZ 0 483 0]/Prev 2042 0 R>>endobj
-2047 0 obj<</Parent 2046 0 R/Title(22.3.1. DatabaseFS)/Dest[1770 0 R/XYZ 0 368 0]/Next 2048 0 R>>endobj
-2048 0 obj<</Parent 2046 0 R/Title(22.3.2. vscan)/Dest[1772 0 R/XYZ 0 786 0]/Prev 2047 0 R>>endobj
-2049 0 obj<</Parent 1830 0 R/Count -6/First 2050 0 R/Last 2055 0 R/Title(Chapter 23. Securing Samba)/Dest[1774 0 R/XYZ 0 786 0]/Prev 2040 0 R/Next 2056 0 R>>endobj
-2050 0 obj<</Parent 2049 0 R/Title(23.1. Introduction)/Dest[1774 0 R/XYZ 0 762 0]/Next 2051 0 R>>endobj
-2051 0 obj<</Parent 2049 0 R/Title(23.2. Using host based protection)/Dest[1774 0 R/XYZ 0 674 0]/Prev 2050 0 R/Next 2052 0 R>>endobj
-2052 0 obj<</Parent 2049 0 R/Title(23.3. Using interface protection)/Dest[1774 0 R/XYZ 0 458 0]/Prev 2051 0 R/Next 2053 0 R>>endobj
-2053 0 obj<</Parent 2049 0 R/Title(23.4. Using a firewall)/Dest[1774 0 R/XYZ 0 203 0]/Prev 2052 0 R/Next 2054 0 R>>endobj
-2054 0 obj<</Parent 2049 0 R/Title(23.5. Using a IPC$ share deny)/Dest[1776 0 R/XYZ 0 649 0]/Prev 2053 0 R/Next 2055 0 R>>endobj
-2055 0 obj<</Parent 2049 0 R/Title(23.6. Upgrading Samba)/Dest[1776 0 R/XYZ 0 343 0]/Prev 2054 0 R>>endobj
-2056 0 obj<</Parent 1830 0 R/Count -2/First 2057 0 R/Last 2058 0 R/Title(Chapter 24. Unicode/Charsets)/Dest[1778 0 R/XYZ 0 786 0]/Prev 2049 0 R/Next 2059 0 R>>endobj
-2057 0 obj<</Parent 2056 0 R/Title(24.1. What are charsets and unicode?)/Dest[1778 0 R/XYZ 0 762 0]/Next 2058 0 R>>endobj
-2058 0 obj<</Parent 2056 0 R/Title(24.2. Samba and charsets)/Dest[1778 0 R/XYZ 0 449 0]/Prev 2057 0 R>>endobj
-2059 0 obj<</Parent 1830 0 R/Title(IV. Appendixes)/Dest[1780 0 R/XYZ 0 786 0]/Prev 2056 0 R/Next 2060 0 R>>endobj
-2060 0 obj<</Parent 1830 0 R/Count -10/First 2061 0 R/Last 2070 0 R/Title(Chapter 25. Samba performance issues)/Dest[1784 0 R/XYZ 0 786 0]/Prev 2059 0 R/Next 2071 0 R>>endobj
-2061 0 obj<</Parent 2060 0 R/Title(25.1. Comparisons)/Dest[1784 0 R/XYZ 0 762 0]/Next 2062 0 R>>endobj
-2062 0 obj<</Parent 2060 0 R/Title(25.2. Socket options)/Dest[1784 0 R/XYZ 0 502 0]/Prev 2061 0 R/Next 2063 0 R>>endobj
-2063 0 obj<</Parent 2060 0 R/Title(25.3. Read size)/Dest[1784 0 R/XYZ 0 242 0]/Prev 2062 0 R/Next 2064 0 R>>endobj
-2064 0 obj<</Parent 2060 0 R/Title(25.4. Max xmit)/Dest[1786 0 R/XYZ 0 692 0]/Prev 2063 0 R/Next 2065 0 R>>endobj
-2065 0 obj<</Parent 2060 0 R/Title(25.5. Log level)/Dest[1786 0 R/XYZ 0 511 0]/Prev 2064 0 R/Next 2066 0 R>>endobj
-2066 0 obj<</Parent 2060 0 R/Title(25.6. Read raw)/Dest[1786 0 R/XYZ 0 436 0]/Prev 2065 0 R/Next 2067 0 R>>endobj
-2067 0 obj<</Parent 2060 0 R/Title(25.7. Write raw)/Dest[1786 0 R/XYZ 0 268 0]/Prev 2066 0 R/Next 2068 0 R>>endobj
-2068 0 obj<</Parent 2060 0 R/Title(25.8. Slow Clients)/Dest[1788 0 R/XYZ 0 786 0]/Prev 2067 0 R/Next 2069 0 R>>endobj
-2069 0 obj<</Parent 2060 0 R/Title(25.9. Slow Logins)/Dest[1788 0 R/XYZ 0 658 0]/Prev 2068 0 R/Next 2070 0 R>>endobj
-2070 0 obj<</Parent 2060 0 R/Title(25.10. Client tuning)/Dest[1788 0 R/XYZ 0 583 0]/Prev 2069 0 R>>endobj
-2071 0 obj<</Parent 1830 0 R/Count -5/First 2072 0 R/Last 2076 0 R/Title(Chapter 26. Portability)/Dest[1792 0 R/XYZ 0 786 0]/Prev 2060 0 R/Next 2078 0 R>>endobj
-2072 0 obj<</Parent 2071 0 R/Title(26.1. HPUX)/Dest[1792 0 R/XYZ 0 707 0]/Next 2073 0 R>>endobj
-2073 0 obj<</Parent 2071 0 R/Title(26.2. SCO Unix)/Dest[1792 0 R/XYZ 0 461 0]/Prev 2072 0 R/Next 2074 0 R>>endobj
-2074 0 obj<</Parent 2071 0 R/Title(26.3. DNIX)/Dest[1792 0 R/XYZ 0 346 0]/Prev 2073 0 R/Next 2075 0 R>>endobj
-2075 0 obj<</Parent 2071 0 R/Title(26.4. RedHat Linux Rembrandt-II)/Dest[1794 0 R/XYZ 0 280 0]/Prev 2074 0 R/Next 2076 0 R>>endobj
-2076 0 obj<</Parent 2071 0 R/Count -1/First 2077 0 R/Last 2077 0 R/Title(26.5. AIX)/Dest[1796 0 R/XYZ 0 786 0]/Prev 2075 0 R>>endobj
-2077 0 obj<</Parent 2076 0 R/Title(26.5.1. Sequential Read Ahead)/Dest[1796 0 R/XYZ 0 766 0]>>endobj
-2078 0 obj<</Parent 1830 0 R/Count -5/First 2079 0 R/Last 2092 0 R/Title(Chapter 27. Samba and other CIFS clients)/Dest[1798 0 R/XYZ 0 786 0]/Prev 2071 0 R/Next 2093 0 R>>endobj
-2079 0 obj<</Parent 2078 0 R/Title(27.1. Macintosh clients?)/Dest[1798 0 R/XYZ 0 721 0]/Next 2080 0 R>>endobj
-2080 0 obj<</Parent 2078 0 R/Count -4/First 2081 0 R/Last 2084 0 R/Title(27.2. OS2 Client)/Dest[1798 0 R/XYZ 0 513 0]/Prev 2079 0 R/Next 2085 0 R>>endobj
-2081 0 obj<</Parent 2080 0 R/Title(27.2.1. How can I configure OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba?)/Dest[1798 0 R/XYZ 0 493 0]/Next 2082 0 R>>endobj
-2082 0 obj<</Parent 2080 0 R/Title(27.2.2. How can I configure OS/2 Warp 3 \(not Connect\), OS/2 1.2, 1.3 or 2.x for Samba?)/Dest[1800 0 R/XYZ 0 786 0]/Prev 2081 0 R/Next 2083 0 R>>endobj
-2083 0 obj<</Parent 2080 0 R/Title(27.2.3. Are there any other issues when OS/2 \(any version\) is used as a client?)/Dest[1800 0 R/XYZ 0 575 0]/Prev 2082 0 R/Next 2084 0 R>>endobj
-2084 0 obj<</Parent 2080 0 R/Title(27.2.4. How do I get printer driver download working for OS/2 clients?)/Dest[1800 0 R/XYZ 0 461 0]/Prev 2083 0 R>>endobj
-2085 0 obj<</Parent 2078 0 R/Count -5/First 2086 0 R/Last 2090 0 R/Title(27.3. Windows for Workgroups)/Dest[1800 0 R/XYZ 0 204 0]/Prev 2080 0 R/Next 2091 0 R>>endobj
-2086 0 obj<</Parent 2085 0 R/Title(27.3.1. Use latest TCP/IP stack from Microsoft)/Dest[1800 0 R/XYZ 0 184 0]/Next 2087 0 R>>endobj
-2087 0 obj<</Parent 2085 0 R/Title(27.3.2. Delete .pwl files after password change)/Dest[1802 0 R/XYZ 0 679 0]/Prev 2086 0 R/Next 2088 0 R>>endobj
-2088 0 obj<</Parent 2085 0 R/Title(27.3.3. Configure WfW password handling)/Dest[1802 0 R/XYZ 0 528 0]/Prev 2087 0 R/Next 2089 0 R>>endobj
-2089 0 obj<</Parent 2085 0 R/Title(27.3.4. Case handling of passwords)/Dest[1802 0 R/XYZ 0 430 0]/Prev 2088 0 R/Next 2090 0 R>>endobj
-2090 0 obj<</Parent 2085 0 R/Title(27.3.5. Use TCP/IP as default protocol)/Dest[1802 0 R/XYZ 0 345 0]/Prev 2089 0 R>>endobj
-2091 0 obj<</Parent 2078 0 R/Title(27.4. Windows '95/'98)/Dest[1802 0 R/XYZ 0 260 0]/Prev 2085 0 R/Next 2092 0 R>>endobj
-2092 0 obj<</Parent 2078 0 R/Title(27.5. Windows 2000 Service Pack 2)/Dest[1804 0 R/XYZ 0 679 0]/Prev 2091 0 R>>endobj
-2093 0 obj<</Parent 1830 0 R/Count -4/First 2094 0 R/Last 2100 0 R/Title(Chapter 28. How to compile SAMBA)/Dest[1806 0 R/XYZ 0 786 0]/Prev 2078 0 R/Next 2103 0 R>>endobj
-2094 0 obj<</Parent 2093 0 R/Count -2/First 2095 0 R/Last 2096 0 R/Title(28.1. Access Samba source code via CVS)/Dest[1806 0 R/XYZ 0 707 0]/Next 2097 0 R>>endobj
-2095 0 obj<</Parent 2094 0 R/Title(28.1.1. Introduction)/Dest[1806 0 R/XYZ 0 687 0]/Next 2096 0 R>>endobj
-2096 0 obj<</Parent 2094 0 R/Title(28.1.2. CVS Access to samba.org)/Dest[1806 0 R/XYZ 0 563 0]/Prev 2095 0 R>>endobj
-2097 0 obj<</Parent 2093 0 R/Title(28.2. Accessing the samba sources via rsync and ftp)/Dest[1808 0 R/XYZ 0 547 0]/Prev 2094 0 R/Next 2098 0 R>>endobj
-2098 0 obj<</Parent 2093 0 R/Count -1/First 2099 0 R/Last 2099 0 R/Title(28.3. Building the Binaries)/Dest[1808 0 R/XYZ 0 405 0]/Prev 2097 0 R/Next 2100 0 R>>endobj
-2099 0 obj<</Parent 2098 0 R/Title(28.3.1. Compiling samba with Active Directory support)/Dest[1810 0 R/XYZ 0 665 0]>>endobj
-2100 0 obj<</Parent 2093 0 R/Count -2/First 2101 0 R/Last 2102 0 R/Title(28.4. Starting the smbd and nmbd)/Dest[1812 0 R/XYZ 0 786 0]/Prev 2098 0 R>>endobj
-2101 0 obj<</Parent 2100 0 R/Title(28.4.1. Starting from inetd.conf)/Dest[1812 0 R/XYZ 0 632 0]/Next 2102 0 R>>endobj
-2102 0 obj<</Parent 2100 0 R/Title(28.4.2. Alternative: starting it as a daemon)/Dest[1814 0 R/XYZ 0 786 0]/Prev 2101 0 R>>endobj
-2103 0 obj<</Parent 1830 0 R/Count -6/First 2104 0 R/Last 2109 0 R/Title(Chapter 29. Reporting Bugs)/Dest[1816 0 R/XYZ 0 786 0]/Prev 2093 0 R/Next 2110 0 R>>endobj
-2104 0 obj<</Parent 2103 0 R/Title(29.1. Introduction)/Dest[1816 0 R/XYZ 0 762 0]/Next 2105 0 R>>endobj
-2105 0 obj<</Parent 2103 0 R/Title(29.2. General info)/Dest[1816 0 R/XYZ 0 476 0]/Prev 2104 0 R/Next 2106 0 R>>endobj
-2106 0 obj<</Parent 2103 0 R/Title(29.3. Debug levels)/Dest[1816 0 R/XYZ 0 335 0]/Prev 2105 0 R/Next 2107 0 R>>endobj
-2107 0 obj<</Parent 2103 0 R/Title(29.4. Internal errors)/Dest[1818 0 R/XYZ 0 665 0]/Prev 2106 0 R/Next 2108 0 R>>endobj
-2108 0 obj<</Parent 2103 0 R/Title(29.5. Attaching to a running process)/Dest[1818 0 R/XYZ 0 313 0]/Prev 2107 0 R/Next 2109 0 R>>endobj
-2109 0 obj<</Parent 2103 0 R/Title(29.6. Patches)/Dest[1818 0 R/XYZ 0 211 0]/Prev 2108 0 R>>endobj
-2110 0 obj<</Parent 1830 0 R/Count -4/First 2111 0 R/Last 2125 0 R/Title(Chapter 30. The samba checklist)/Dest[1820 0 R/XYZ 0 786 0]/Prev 2103 0 R>>endobj
-2111 0 obj<</Parent 2110 0 R/Title(30.1. Introduction)/Dest[1820 0 R/XYZ 0 762 0]/Next 2112 0 R>>endobj
-2112 0 obj<</Parent 2110 0 R/Title(30.2. Assumptions)/Dest[1820 0 R/XYZ 0 581 0]/Prev 2111 0 R/Next 2113 0 R>>endobj
-2113 0 obj<</Parent 2110 0 R/Count -11/First 2114 0 R/Last 2124 0 R/Title(30.3. Tests)/Dest[1820 0 R/XYZ 0 252 0]/Prev 2112 0 R/Next 2125 0 R>>endobj
-2114 0 obj<</Parent 2113 0 R/Title(30.3.1. Test 1)/Dest[1820 0 R/XYZ 0 231 0]/Next 2115 0 R>>endobj
-2115 0 obj<</Parent 2113 0 R/Title(30.3.2. Test 2)/Dest[1822 0 R/XYZ 0 786 0]/Prev 2114 0 R/Next 2116 0 R>>endobj
-2116 0 obj<</Parent 2113 0 R/Title(30.3.3. Test 3)/Dest[1822 0 R/XYZ 0 583 0]/Prev 2115 0 R/Next 2117 0 R>>endobj
-2117 0 obj<</Parent 2113 0 R/Title(30.3.4. Test 4)/Dest[1824 0 R/XYZ 0 679 0]/Prev 2116 0 R/Next 2118 0 R>>endobj
-2118 0 obj<</Parent 2113 0 R/Title(30.3.5. Test 5)/Dest[1824 0 R/XYZ 0 528 0]/Prev 2117 0 R/Next 2119 0 R>>endobj
-2119 0 obj<</Parent 2113 0 R/Title(30.3.6. Test 6)/Dest[1824 0 R/XYZ 0 403 0]/Prev 2118 0 R/Next 2120 0 R>>endobj
-2120 0 obj<</Parent 2113 0 R/Title(30.3.7. Test 7)/Dest[1826 0 R/XYZ 0 786 0]/Prev 2119 0 R/Next 2121 0 R>>endobj
-2121 0 obj<</Parent 2113 0 R/Title(30.3.8. Test 8)/Dest[1826 0 R/XYZ 0 424 0]/Prev 2120 0 R/Next 2122 0 R>>endobj
-2122 0 obj<</Parent 2113 0 R/Title(30.3.9. Test 9)/Dest[1828 0 R/XYZ 0 758 0]/Prev 2121 0 R/Next 2123 0 R>>endobj
-2123 0 obj<</Parent 2113 0 R/Title(30.3.10. Test 10)/Dest[1828 0 R/XYZ 0 567 0]/Prev 2122 0 R/Next 2124 0 R>>endobj
-2124 0 obj<</Parent 2113 0 R/Title(30.3.11. Test 11)/Dest[1828 0 R/XYZ 0 430 0]/Prev 2123 0 R>>endobj
-2125 0 obj<</Parent 2110 0 R/Title(30.4. Still having troubles?)/Dest[1828 0 R/XYZ 0 292 0]/Prev 2113 0 R>>endobj
-2126 0 obj<</Type/Catalog/Pages 1479 0 R/PageLayout/SinglePage/Outlines 1830 0 R/OpenAction[1496 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()>>19<</S/D/St 12/P()>>24<</S/D/St 17/P()>>35<</S/D/St 28/P()>>36<</S/D/St 29/P()>>38<</S/D/St 31/P()>>40<</S/D/St 33/P()>>44<</S/D/St 37/P()>>55<</S/D/St 48/P()>>58<</S/D/St 51/P()>>60<</S/D/St 53/P()>>62<</S/D/St 55/P()>>63<</S/D/St 56/P()>>66<</S/D/St 59/P()>>67<</S/D/St 60/P()>>72<</S/D/St 65/P()>>73<</S/D/St 66/P()>>76<</S/D/St 69/P()>>87<</S/D/St 80/P()>>104<</S/D/St 97/P()>>117<</S/D/St 110/P()>>120<</S/D/St 113/P()>>126<</S/D/St 119/P()>>133<</S/D/St 126/P()>>142<</S/D/St 135/P()>>144<</S/D/St 137/P()>>147<</S/D/St 140/P()>>149<</S/D/St 142/P()>>150<</S/D/St 143/P()>>152<</S/D/St 145/P()>>156<</S/D/St 149/P()>>159<</S/D/St 152/P()>>163<</S/D/St 156/P()>>168<</S/D/St 161/P()>>170<</S/D/St 163/P()>>]>>>>endobj
+¼Ý¡räß\12\90[Î8\1d!\92\841\15\1a9ÓaÍ#§môq8\fºÒÙ_+\ 4éÈ{>u9¡\9b\ 4\12\80;\15WªzW`\ 6ä\98â¯\99ÞÙÖ_ìê©q 8\0\89\1e#¹qæIGn\89\ 3ëC2y\ 3ól¿ñ\ 4u\89¬qÍ\13m`\8cÚF\80\8cÙ ,Åüjê-Â\1fç\bpa&&\15\9c\1a\96\bç¯ÐªÆ\14\bØ\ etq\83Â#\ 5\19È\8f§"r\91Cÿ\9eC\9b"Òf\82u¦ÃØç2F»f+Á\83Áàð\9dI\ e¢wà@a\8cÛèy6|½ÿmÔ\91\83ïeOÇÒ³WAn©\89­~E\9d£\Ô\88ç+x\8eW\17«´K#W\0f\10\96\13\12\80\ 4¬6¸¬Y\ 3påÞ£ú;sÈU\82×ñ®£\91£eVH×ò\18#ðYçm¿ß~Ô,á\19|\9b~\9f\15+ÄÉ4\1et=ÊG\8e\8aQBÌb\18\9dÕEt¼4O?õs/j\0\80×7f&\87él\92¡jóêçò\18¾Q\96tÖ´Ëý \1eó¼ÇK³ÓÔ;ïmn¾\1c\8fÍ\96\9d\15³#} \ f\88ÂÞ`d¾\e-_\fÂMè3\9b'\84\15Z\17aSCrªÂ#        H\80Ó0Zy\1eðk¿\9bm|Ó\8bQ\11ñ¶\83Ysÿ-H\ 31É$8Î\e\14Õý\\90Æ!ÇÖ\9bÏï®»\1f7³%~©]_Ðòr\89_axX~»ùüé\86¾\ 6ÿ\ 3\96K¿ù\1c\ fØîQÇÑÏú\ 3gWÓ\8f¼ÿÝgëby=Y^ÎñÄÅ®ÙRP¸]\9düyò/Êd\90\10endstream
+endobj
+1821 0 obj<</Type/Page/Parent 1476 0 R/Contents 1822 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1822 0 obj<</Filter/FlateDecode/Length 1324      >>stream
+x\ 1\8dVÛnÜ6\10}÷W\fö¥.\10k¯ñ\rÈÃÆ^'\vØ»®¥4\r\8a>p%ÊbM\89*)y³\7fß3¤\94Úª\v\14\86\ 1[\1cÎåÌ\993üëhJ\13üLélFóSJË£I4¡ÅÅEtN\8bó3ü=ï\95\94û\83éÙ$\9a½u0?\8fN\87ß?&Gã\9b\v\9aM(É\11ãôì\9c\92\8cà\7f\82/éñU!êFZ\9a\9dG\94\14\92\9c(w\82ÒB¦OZ¹æçäO\7f}z\16®\9fÌ\17\b\9ddÇ°\9fF´®\1ak²6m\94©\82é\82¦ÓÎtv\86l`\9a\14ÊQ®´¤ÔT\8dP\95#Aì\9cLN\8dt\8d£\83i)\15\15ÕÒæÆ\96Ô\18z\16Ze¢\91|f)öi9i\9f¥EØ\86\84v\ 6\97µ\ e\97÷\85h¨AþZ=I}à\&t2\9d\87dSÑ:é£Á¢¶f§eIHJå¤\1aÊ\85\82\17Q\1dÈT½\15Ì]#k\87XÞ¦\16ÎI\18iÍQp\1aòÆß\15»\80/v+vú@{c\9fTõ8H!W\95\8cºo³ÓhÁÀ|CÕ®0­Î(3´¼½õ\15xÏïHUþ?c3t\aVû*¢¯\92
\8càVÉ\8cAJ\85\95\115-\8cá´
+T\ 6d4\90³]\92¦ú\17 \fG*j±SZ5
+\85\ 1V\95³Ó.¬\14V«ÞÃ0o@Â\rs²Ê^@ÖQ§\ 4\9a(ß7\98Q%É_pxà¯#\80\95\19éª\9f\1a\ fÔ\b\16\99÷æ\v«\fÚa´6{®\ f¼\19 ÈØ0Ò©ÌZ\8c\83\87ߧ\12Päë;t®µµU\ e.<wB\ 2ÜîÇÊX\99ùrx&^\92Ú7\ 4¤\9eE´t®-k¦´\ f?¾y\83ÓëÊs\81    \fJ\ 52\ 4\1e\80(m\19B\87f\89\ 5ìZãøãúS¼zøuõà\ 1\10t\7fÕ\9f,¯n׫MB;Ó\14\83òÑ\1cf×£5mMÉ*N>=l¿Ü\ fÛ\93\ 4\92w\18¡n§J¥\85\ 5²\96à\94Ûz¨Ñtd\9f¢ËUã\86\9eÒ~Æ^ÖóT\99½/¸\12¥\9f\14´W<£½ >`/ÀF&\90\95»\bó\9ec\82h¯07Á\91ïjoêº\9a\ae\8e\9a²\1eEô­\13\ 5\91e\10\fÿ±»ÈCN»\ 3á\84IÅ-\b¬ñÿ\19êc_²ãñÍ\84.zIZ\84Éû\1d\11þè£N ²\98F¨SY\ 2\fú\80~\96µ±Â\1e¼l9\1aZÖ¢)`6\86\97á\91\95\82\87\ 2\13ù\81\ eò\r\ 2\ 5Iü¼\8a\831-ãøËÝ\8a@\85x½ÝÐ<bíß>Ðí2\ 1;¶7\94|^Q¼¼û¸¤øË:YE\14oa\7fµ½»[n®ã>\81NêâÏÛ¯\eº^_Óf\9bÐê·u\9cÐzC«å\ 3XõÐGéoõJt¯¥\80\ 2\986\r@\0ùY_\18Yi-xSJçÄ#HÃãfe*Õ³ôâȺùÊ\ 4§\0\ f¢Þ°&\a.xÝf\95ÜI´h\90r[åг*\ 3fì¼SÄ\Y̺_D?<Ñú\9e<õ¬tF·>K8M\8dEF\rî;ÙP[G$\1f/éN\80$\90\82°A\ 61DzIÇÞ˳giØOµQ\18\ 6.ÜG      ë¦+\ 4\8de\9d\85PËïØ]Ã\89Yb\1f\83\88¥ÈKÚõ&FZ¼·H¤)Pôc8¬¢\ e\rxQ.C\8fr\1aà\15®0\92\83*z\9e\87ìQN«\91>&p\94aÉB'¿3\r+\83aJànÇê¹G\8fysð\86\a°,\8b\ e\ 3
+B\8fXÆj\81õÛû\1dq¼ÿRÊ9\9còòþa\ 3 å\17ÆÉ|\12ö>ÔtÎ\8f\ 4¶¢i0{%¥<u\10R®4SÜA\83\89c\8d+TZ\ 4.àS÷\ 2èsòµ¾#Û\86\8b<´¼BÞH¾ßÝ=\1fÁÔ\ 1~\9e·Ü_lñ@ÔN´ø¥\92«ÇÖ
+Ï1ÿx\ 1\0À\87aë7¦\91\97¬VØÓý}\7f£\ 4ÔXGÚ¤ØƼZ/½\92° \85GÒ±§¡\7f\86ç\98¶öMûÖÙ1ûÓc\7fk¬Õ.Ü<ÿçݵ¸\b"÷?\9ev\8b\18ßÏÐ5´bzú\9e\92£_\8eþ\ 6ôúO\8bendstream
+endobj
+1823 0 obj<</Type/Page/Parent 1476 0 R/Contents 1824 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1824 0 obj<</Filter/FlateDecode/Length 1623      >>stream
+x\ 1½W[OÛH\14~çW\1cùeA\ 2\93\ 4\1ah¥>\0¥+$\96eK´R%^Æö\98L±gÒ\19\9bÄÿ~¿sÆ\86`ØíÛ\16\9eÛùngòsgJ\13|MédFGsÊë\9dI:¡\ f\93)~\1e\9f\9eàç\fß^S¹s¾Ø9üú\91¦Ç´(1e~\8a_
+ÂðÉ\84\16ùîì4=Jg)-thh¶·ø\81ÑÇ4\9dÆÑ\a³\13\8cÞýÖZj\96\9arW×Ê\16\94¬\8c} ó«ßï.¿ý}ù-¡Ò»ZFÜ^ÐË\80³\8bë«Ë\9bÅÖëÖ\9a\ren\93ÒUI\9dk©pö·\86\1etÃ;Oè`\8aÃð\8e\8a\9eTe
+\94\10\ 6Í\8b[\9eáiqq{xuKÁ\95ÍZ¡D\13Ⱥ\ 6gó^çMÕ\91±¡QU¥\8b´_t6O¹èÝ\e×ðBª\91­×¦ªÈj]Pã\b3|C\8a\92Â\ 5\9aU\93ÐÚØ­ÉÅâQ\1a\ 6z@ÁÕ\8f×îëA%X¥Ö!¨\aMAu\fT²t\0\97\ fYºÖ\16  9OÁÔ¦R~«®/7w/EaÄ¡nòC\9e\19¨4ÕPç\b§\97ª\83\15pm\18\90\95\vÁd\98Ô\9f8¨:S¨§Yº¶!ÞIÛÆ\e\8d¥±\13S\e´\7fÒ^ÈË+\83·û\94\15©\10ÚZ÷d\8dv_ª'\16\85\0ÿfE¯k\ 5\0±¨+y\v&\11"\vcäÎ\0Ì\12£¼V\ 1\97\9d\0LµyX\ 21e*®È\88^<     \94ø\e<Xƶ4^¯Áö3t)}\87®^\91ëu¥6|\84Ññ}[\ 1\ 1@T\815\13Y^;ÿ\b14\ 6GÁ£\9f-\8e\8cß÷i¥ýR­\ 2e\1da;\am<\90Ês0\1dÕ¯ú2B\9bY,w¿\8b\ 5®\8dmyc>\7f\18m\ eåkz2JÐ7«r­\8a\9a\95÷àU\9dÞïñèmß\1e\1c\88Å°G½a\8fâ°_\e6ÔY¤\95\ e®·\8dÛkûÅ\97\f^\80\82]       -W\ 6Ú\ 5\83ê L(ÖTXÂvãr2\95?\8e\99}å        í=¤68#w¶\81:\18DQ\1fÄÈF9W\ 5­ 8°\0\9bà\8dx\9eaÉ°uG"8\r\19\8bTAP/¾\11¶b¸\10yJö£ÿ\ 2\15Úvâ½$fK\vÍ\87\ 4\ 5\82\bP-á\ 2\9cR\9c­Üg\8fÊ\93\aV\03\rë\8a·ØDz@J\17K\9d?\8eö^÷ùâéÍÌ6H\91ì\82\95òu"nkt½r^y\83ò`\19\aG)Û\rg\16©\8dJ@A²ÿhã¾\1c\9c;1öM\85ol÷\8a\9c\ 45[¤'«Þë\12K\ 1þ×Ù+4ÕY1$E­:\89´L\ f^|\ eõç\0&þ\1a\9d\13p7\85\80ü\ eÁº0\r'2\83\18So ¸êÞ__\81g*\14\90\13\ 3\99\94¸\ 2o?\16j\1f\1cû1ê^Ær}8Yf\8\b\ 1!ïÐ\10ظ\16ë__Ý-.o¸K \83ô4b0ÿM\a*ùOá'\ 1\19\11\81\954\91Hc|EÞ\ 2kÌÞ\1ex~\8eP\1dø\90ªQ\bzI \ 4öDï\88ã·:à\bâL³ÐZ["âmQAõ²\97A+y¶R¦s\ 5\9e%ØÅV\83h\86&/¾\80NU­\e\18Eº$ø\17g¨¡\7f\8d6.\15:¯ìQéZú\8dT\ 3£7\ 6/¤Ë¶+\8e\13\18­Hé¬
+®'LÌÆÖ3\1cê\88\99ûÝÁ\8c÷{Ò¦B\87ÌØ\90\ 4I\90ÅG»'#g±\88\18Ì'¸Ëµ\b\0ô\8a¼qÒ÷Ö\88\10nÐÜ\17\1fµF°3:\95C¨ã\82S9H\88O\11Ho\10\80c\82\172\9bo\1f\8al[g±ÉÅ\ e\16{êziò¥TIì\94È-\87\11ÄH\1c@øZ\17\88t\9cµæ«\ 2S\09»rT \8a\ 1c ÊU\88      n \1c©\ eÇ\88-\160\r­iÀ.bÙwûO¼Þá×        }\1c®wDZ©Pÿ/^78(é3\9d]_\ fûOÒS¾@½\1e\84q\9bÍ&Ýú>ìº\7f\99\96á:\80ÓCM¥BãD\ 1ȼÏô=6\93×÷Î9ïw\15{²Ê\90\8aûH\9b\98èÊæ\1a\9d\0­X£?ÔªÀ5\178pj\8e \85hY\ 3r\19Pmãjôõ\1cÇî¨ñÊ\86\8aÝ\8cö\ fX\87\13÷×Ïʹ\15w4R\85ZA1ø¿@\1c\ 6\9aÎp¹Æ×\14láÖ(<H\7fg_±æ󥲸ùE¦\98h6Îÿ\85»\1c/r¼}%\10,¿8ºùs\81ð\92ÃQò\1e\19     \9aoïwÜÃØ p¥èwmÂ\92¡\1a¦Gã\f­º¯z\ 4"H6\95i:I\8cÞoÏ×\10i\1fý廿FÁt\9c\11\b7\ 3\82\99R\8bìá6äªVZ\13\1eñã8\90\9f·>\1f\92\9c!E\86ÜàÎÿIRà\97\15\17º49\ 23ïúâ\91ºñ\1e\89\8e\1fžµø/\85\13\ 5#\v G\96f\83¾\16\9c³÷{\92&\87_Oû\8fYÓ94uzDó\93\8fñÃÏÝÙ\1fçgtëÝ\ fÄ\15}q9.à\88>\86\80!>\18&\1c\9cL`äâ\9dÏpÇóÓtþa\86Ï{x=\9dÏyÚåbç¯\9d\7f\0¨Y¢Üendstream
+endobj
+1825 0 obj<</Type/Page/Parent 1476 0 R/Contents 1826 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1826 0 obj<</Filter/FlateDecode/Length 1405      >>stream
+x\ 1\85V]OÛH\14}çWÜå\ 5º"&_\84°o\81Ò\15RËfÁZi%$4¶Çñ\14Û\93Î\8cÉòï÷Ü\99IH]ZT\15Abß\8fsÏ9÷~;\18Ñ\10ÿFt>¦É\8còæ`\98\féìâ\1c?§sþ9Æ\7f#©ô_L§³düÖ\17\93ñ(\99¿õÅì,\99ö?¿L\ fN?Mi4¢´DòÙü\9cÒ\82\90x8¤4?^´ÚUÒP®\9b\94\8bÎJÒ%áCüâ6\9a¤1ÚXR\96*ñ¬Ú\15YÝHWño¢6R\14/dº¶å¿\11\8d£Ñäâ\84l\97W$,Ý\8b&\13\1fÒ¯\aC\1a\8c&è(-\8e\1f\8e\95ü\83l\93\15\1cwûzitCª\95®ØF~ø@Úì%¬Õ\93¤\8f\9c¨\8f,-\85«6Ú<Ù\84®*\99\8bîL\88\90äº-©Tµì¥Îd©\ 1±3/\±Ód\9d@ɾ\16T+¨\10\12H\9c\90r@£%ñ¬\15ê¡Z;Æ¥4\9duF8¥Ûßbäñ\f¨£©E[Ð\8bt$"¤km­Êj\19AEZ*\85ª;dG ôú>¥ ·¿©dËx\ 3±\fÍS#ì\13\82\14tÊÍgF\8b"\17\16q\8bÂHk{ýXé\1c:Aå\88«Ú\\e#s\97в\96\ 2\13Ì=.®\12Χ@|\ 6\f\ f:iJ\91KºYÒ"\ 4F¾Ë]²×ÏîCU_PÕ¯RÇľp\9fÎÏ\1d\9c±à\96¯©~! #\8bÈ-\15\9a®õ*i\9bÌ\8f\ 4§\9f.h\ 4@\99­\83É(`;\9e'\93d\9aP*\ 1Ä4<öJêÁ\98I}|×\85\90ÌeÆï\10qk­\9fº5\r.éòæÏûë»\7f®ïèññ~ñårñøx\98пº#[é®.h\ 5ìy\f@$BÍsbJõú\ e\9dYi\9e!\9cLäO¾nT»eÂ\8d\7f\8d
\1eù\90\12OõÝ\80\0\86jA½º\96ÅÏØ«B\18È\83ÉèÕÁZ\95\8bíH{µ\ 5öî«\8a\91¨\95uÒK\14\84ï\8aõV¦çýÊÿjA\99`\ 5k£A^\bÒ\86\\80\94kfuªf\8dodë¼\ e0`á\e\15\10§\7fj-\8c\80GHØ\ 6,\81\8e¤F\80\84nÊ^Õ°\13ï0þQ¦-~\81\19Á]\9c\84öt+\aü&Ùܨ5C
+:CàN\0C\1fߨUåh//wÍÀùG_\8då\1d\86\9dE\86\9dý\84a!â®\9dðÔY4×c\9eò+ß\16W\9fo®oS:úýèÇhÑ2Þ`ßòÊî3ÐÓ\v\801\ f÷     å\91ª\15f\0{,Ý\86Õ\1f±^^af<\90\1dÁzhïôè\89\14\9eõ.(\vÿ      §ZÁî8G\8bAÆ}@\b¼1º]õI\83ê¶Í\16ZúÔ0*]?KzV\82>ÞÞs¨\96xµpÌï\ 5¶×I´\ 4\91i¼ê õwÆ5\8bã\9aý\bð[\86ð\8bq\154þå R&¨SÀb\ 3Bîí\ f´c\19\1c7²6òYé\ e\7f°Qe\1d\ûõa\88\98ñ\10{\9e\ e9òk\85,EWã\85­ÿö&\16ý(¡\ 5µ]\93ÁvàL·ÒeJÛÓôj   D+mÝNn[\9b\8fÎ\86i¬u\8bá\8aÚÁëVUXÊ\10«·dè×ñ®®ë^Z$áêÂëVB¢AÍ\b\8b\95éá@OÁ\°\83÷Øl¥¤Cæ\90\80ÕXå\14\ 6ê©ô­\93\ 6\a\83/ÈÊCj°ÑÄJö·\9a\950XQ\87ÖÞ \9dw\8d-ãV\9cB\90U\8dª\85á\f\fhÄ÷û± 'ïÈQ«A\0;Qð\1eà\8d\1a\8e\89w&\ 2|\8c\aT\ 1|Ñ9ÝÀ\12st\95W¢U¶\81×1d \ fV¸ô"\8e3\91ÿ­¥\ 1¡ à­.\ ew[Ù\1e\92\8d\ 1Ä{3Á¡\12n\e´\ 6³í0µ\17öÂR­ø²\80\9eÀN^)å73\88ÁçÅ\e\17¡p6θÚ@]¶\91h+\9eæñDñ\b²MlT]S+y©c±D}cÙÆêñ!î\13O¢w\81\fJð~\1dyÇV\18\12öë\rrd\89ù\ 2xU\89\f8ð}Eamâlì\9d
+vë\9dµ\89\93\ 4ðÅ£éáøN\96P\17ê\8e÷\19_,}rz\7fzøà\8b:ý4\8fö?\9aá\82\9fOh6\19ã:Ç9â\8f\fZ\1aý\15\a\19}Ôy·[\99<ÓÁö\85Áùð\82\9fÿñÆ\99ÎæÉìl\8cC\b_ãq~í:=øûà\7fdZï\1eendstream
+endobj
+1827 0 obj<</Type/Page/Parent 1476 0 R/Contents 1828 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>>>endobj
+1828 0 obj<</Filter/FlateDecode/Length 1711      >>stream
+x\ 1}WïoÛ6\10ý\9e¿â `\98\vÔvì$\8e[t\ 5\9a®\1d\ 2¬mÖd\e
\v-Q\16\e\89TIÉ\8eÿû½#)Yv\9a%\bàXäýx÷îÝéÇÉ\8cNñ;£Ë9\9d-(­NN'§tv>\9f,è|y\89ÏsüYIùÉÕÝÉôã+\9a\9dÓ]\8e+\8b%>d\84㧧t\97\8eæËÉÙärBwÒ5tùâî;N\9fÓl\16N\8fç\978=úÚjj
+I©©*¡³pê"\9e\1a\91«Vi©¤nh:½ºþãöÃ×\7f>|\9dÞ}º947\9aÐ7Ó\92+L[flOÓJRmMU72£ÜX\12T\vç¶Æfþ,ß?¥ñìl2ç0âÍÖI\1fMw\94Lîÿ\17ijZ\ 4±\83\13\81ÜK³^îÒ\8dñÏ[­\1eie\1e\9abB×¹?¹\15¸Â'\18\0~BB\e\ 4g\8f\9cwÖ}Ü"ó Ðøoz\e\1fhQÉ7dêF\19\80\15<J\9duÁEè¨TZNH®_?\vâ\91ßét¥ÖNÚ\8d´Ó¦ªáò»)tfd00¬Õbµ\1d}6\8d|M×\r)GµqN­J\0fÈÕ2Uùî\10;Q\1a½\ eys\85\81­åLH8\14¤,ÍÖ=\1f)Ê}\10ÛQä}¤¿8\99ZÙ<\eð\17\9dJ_\vPHÚÃø¸\98±îk\89B!Æ\ 4|{\9bDâôuÌ\8cþÕ?×(¼y \11\ eKkÁ«J:'Ö\0þ:?
+R5äÄÎQ¢ôF\94*#-\eðï\81\18\85\84ý\ 5ês\ 5\14ÂLP\83\84\91\ 5\ fÖÊ´)wädÓÖ \1a§a¹!&©Ñù$:\9bÇÊ\80r½¿\95Èz²\ fü\94êAÂ^*P  Ç4öð£ÇÇ\9d\11\10\e   XDf¶Þ\b\1aÆÑý\b\99:\83âyþöÖÉí\#«û\17´j\eÊTÆ@\81\8fµ\ 2/\10²këÚØÆ7 ò­ðÝ\11HÈÇ7ý\18ºÐ5ãlB|
\f\94\ 4\18\99H.\81\e\9d«uk\85o\vÀ¦t\ 4\8d/³=¨P6\9aï\8duöû4\ 5\11}\9c
+ô}ßó\90!O\19F\82ó\91Z\80æ¡+\93þT)7²Lº®\ 4%\ 4\15j]\1c¥'µi×\ 5ùÃ]X]\18gûȺ\ 2x\ eÖ\ 2Jñ[âûÙ\83\18KÎÔès\9cÐûB¦\ f\t¯,¬1µ°UçÄç~¾÷Ð9åÜ»\84ú\¤Ní.ÈË°\8eV\8a&èáí§+Üò\87\0D\7f/G\99\ f\1c^\ 4\87ãùžt¾\ 5Q,\r:ã2\a\10»\ e\12ÍȲ\80\eµÌ±ÕéÇý\1cÈ\94%nÒº=êõ\11É&Å\8cÙÕQµöw
+YÖô6Z|\13,v\9a6bJòW\83\19 ´kl\9b2\9dÜÁ<\91^ÞDÉÍãAo\8a(\ 1¢òc\ 1S"·R¢\ 1Ü\ 3´P \99\91âVsÅ"'iËíÎÉ7OB\1dÄ\80<\8f\ 2õ\8d>\1c³ã³Y\10c?_\97q¾.\ f¯Ád\98¯_\82Æܼ÷~½ÈEDÂ\85=\P'Ú(¹¥{üô³öÐl\9c³[U\96P3î C\19\ f$$\9acÚz.¢ï\ 5%\99Á\88ð\ 38a\e\83\1c·
+3f{\800\97v%@g\ 1ÖcX\ 2\11ªôô\80\18Y\b\16Ï>Ht\98W?\91\96íÀ÷Ph½\9aæ(S\86f\85\88©
+f-\ 5ñö\1a\8cÓ+\85hýp\82'S¶\9d¤°\12³d+½\ 6Î\9c¥òÔ\1cdÓº60\83e5£Õ\ e\ 1 oð\9aÕ\8e\rW\r\19LY \ fY\fk\ 4\16
+¬*\0Ïh¨jX3ÂX\843\b.§c4(\17q>\ 21-\8c\81hí/C\84\9fèy®\1e1:\185\ e\ 3á¸\ 6±zÁds½F\ e\ 4·Ó\89n\r¹¾!|\ 4*(@N=-º5$A1]¬Iâ7 äÌ\ e\11\98½`HZOU\1d§X¬áÍ{_¿ÞÿO4:h\14øÄ\yZ\9b\8d\12ôûç[FøÀ\eÖ\ 1\bèÐùAÆ\ 3í\1df|\90\1f*`©¬
\1a°\9b'Ú3áG\99=P½¸\ 2FBþ|\ 3\0\1d\93á¬\ e¤\1cLlÇë\12\8aÈ㺮Á\ 5¬NHwÇ\93\9b©G¼à\r&nÌã?a\8aWO±\ 2ù° h(·mTÚ¢\ 1^R%\1eÐM-¶Y\9fh\12ò\ 4?̶\9b={õº\1f\eC\8d-\1dfÖÒÝ¿\88®»áõ®tæ%3\9a»\86éî\97\95¹Hyg\82jz\19d;ÜV £¯\96\95?Z\ 4ê\93ã¹Î£b°ë\ 2\86\95\88$\v\ 3¯,\8fÒ\16\rÖ\90\1a>Lw\1f#\85\e\89]ùÆöSr[¨´ð*\1c7xÃ\e¼ÏÿßÈ´J¤\85_¤¿¡\ 1;\8d\8e<zä|J\0¤Ûàå#ÔËK\95·y;\f<\8ciÆ@>2\1c¾¸a!ÆÂÑÍÔÿ\11¶$lÙ
+M\ 5!Á$ÄB\vEb´±*Jµá|;(\ fÄ\ e\92Ã\92\ 45Ýa_\15èØ~\82qÕ£\95£\ 4Q\87\ 6qz ævC/ù\1a`UÅx\fÛ\aÀc^¨ _\9d-Ûjí±Ç\8d­\ 5s±¯½Ä»\ f\14\16É\82\82ÿ°P4v\17;\98}O?.ã{ßl\81÷Ìå\19-.\97¼Âݾûtõ\8en¬ù\ e^Ðï&m+Ü\1dÈX<>¾<}åW¾'/\9eç\8bådq1\ f\eálá\87å\87»\93¿Nþ\ 3þµ¾\14endstream
+endobj
+1829 0 obj<</Type/Page/Parent 1476 0 R/Contents 1830 0 R/MediaBox[0 0 595 792]/Resources<</ProcSet[/PDF/Text]/Font<</F0 3 0 R/F4 6 0 R/F5 7 0 R/F8 10 0 R/F9 11 0 R>>/XObject<<>>>>/Annots 1146 0 R>>endobj
+1830 0 obj<</Filter/FlateDecode/Length 1576      >>stream
+x\ 1\8dWÛnÛF\10}÷WLõ\12\ 5\88iQ\92)9\80Ñ:\8dmøÁ®k+\r\8aº\bVäRbBî²\Ò\8aþ¾gf©\eí^\12D¡Hî\99Û\993£¿\8eB\1aàoH\93!\8d"\8a\8b£A0 h\12\ 5C\1aO'¸\1eâ_¥)\95\aãéi0}íÁh<}ýÄ0\1c\ 4Ñ+'`5\18´\1f\ f×GgC\1c\ fǧø,(\9cLaÅ\7fËéñ(\8cB8\11\8eØ\95\82\86Q\14LÚoüôÃìèäjLaH³\14¡DÓ      Í\12A\1fÐ,î/­«] òÜ®(ÍrDb+ZÛ¦¢8Ï´©é©\8f\e®\99\e]¿#]ÇÁÓÛ·³¯À<\83\v\1eóx\14\ 6¸LúÃi0
\ 2\9aiWÓ\99\7fmgúxȦû\ f\8d¡z©)¶E¡Lâß:m\1dì\13ìPã4}\7fOOøóáæúñòá·Ë\87§§Ùíý!d? ßmCni\9b<¡¹¦²²EYëD\82PT*çV¶JØ\9cá ÚW\19e@Çá\bé\84C\vXTÔkýa¿Ê\3\8akâX;\976y¾îQ\81KµÐ\ 1ݤdl½\ 5­èþgr6­W
+DÈ\1ce&¶U¥ã:_ãÚÕH.ÀlÕ1+IvÅ<\88­I\ fÎ\ 5T¨o\1aæ\81'oõ¤J$Uê\11\92F\16!¡D8\99-(Ï\8cf³´EcOZ'\82Öì0ò5º©ß8 9K¥u.\9b£äõRI8ätõ̰ʼ©      \99ûF¶Á\ 5?FI*2ªÀÛ\96í\1aÄ')U\ eõ¶8\8aØS@q\ 2\1c'\87«\ 1ô¢\13¶J¤\1eâ4õ\ 4ö\9c>¡Æw\17·\97=Fç³\7fÔEù'@ã:³\86\vm\85À5õv'Zk\8cÄþuÌI\16\iM\92\99Å\ 6}K\fæD½.u"Uåoi\86ìJ\14\1dYÅ¥Y8\89´Pk°\13¥d\a7æPª²Ä+\1d³¶dÇ_æ\9e\8a\ 4Ý8ÿ ,#Å
+l\97\12H­Û¶³\ 6ìqÚ$\8e´\89«µÐzã7
+\b/ÙÝ¥z\96\88O®v\1dÔ¾¿¥¿£ó\8ewÆò\8d\9d\99\16\84D\94¢¿áRçM\14»©\fe5ÍU\f\97-\92ö]BýgQ\80ÌyU\b\a\87\80èÃÿ'\vÅ<·ö[SÒñ-Í.\1f\ f¿|êê\ 1¨ÊäØ>Þ0Qx\v\12\99Ö\8bÊ\ 2\88sÎÎìI\81TàQ\15sµé\ 5Nôgp®\1cúÜ¡h¹\15"\1dh\ fK\88ä\83-ÜÜ\13H^A.\98¸|§P®FûÌ+ à\7fHlÇ®\94\7fëÙ\vÚ¤RëÄr[\ 2Ïë§ÎÛî@\9f±L\81\v\8eR\ 5\r\a\9b?+TH\81m¦©¥eÛþÄ]ôË×\ 6ú<×Ü\11\8e\85ßcVkR\v\95\19é\85¬\9b\1aWgy.ø`_ÊáldÃ\10W\86Z\r\91 \19Ù·\80o\1d¦)2
+ã;\91
+èv_å^¥rYéTCKeJìÕ©Mè9­µ;äS\9fù¨\8dh§8¨\fm3\85Ð\97\1a£\ 2®B\96«º)ÿ\8b¶á\86¶á¡\99-m¯0rüàÄ0Ãx@Z\90Gøà\8b-å÷²*\84Á(ÝgW;º !ZU\9c\1cfK{2ÏP$\10H8\99ÛXå\1dÒlùâg4\1fµF&\ 6¹RÇY\9aA«ö\12þôö\80³\90\1f%êo)±\r_AzÚ\96\ 6Ô^ÏtìúpD\82üèÜxê\96\98;\18\a\18\90¬Mí\Í̳ʳd+G=BE±S WýPNDòý5\ f.\9e\eðlÝ1[5Æ0¯Ð\8dw3±îÉ\f\8a4\8e\1fì\92¾í^a\0÷\85aRte\14Ò[ªy\96g5\98\8f>\a=\90.Vö\8eé\?ë\9c§QSñ»\85Mx\ràjá\88è·Î\90~\14WKÛì«ñöÔy+)\8c½/½\17w\1fý­\9d\82ot¾=ñB¿[Aúr7ûr«bL¨v\ 6lv-ÑsáÍFÅ\85¢ï°\84 \r\97Ùptq5»|\90ý\a9AB\99;MYÚª«\ 5¼#¾\ 6ðÔ\97~åJ0\e¹¿y§\ 4ñ|\84X\19±\ 2ò\1az<\1aoWÆq@\8f".P    ©#Ô\19tt?\1efJZ\ eË26¶\19·\18\f\14P;>á       \88ýD¯\9ch»D\8aBÊ[\9aK£UN\r¬pýà\9e3Yêµ¹ÝRÐçÜ?i\9aÅ\19^õ]Úâ³\1f{â#Ö°#ñ\0\an¼D\9b±¢pcÿ$\9f\81­\16\0äÁ\b\ eUX\10[ÍùÒC3ß\96,½ð¥\99»¸Êx\1dðyû7³KÍ-
+\18\8eßC­ô\1c͵\0~M˺.ß\9f\9cl½ðWm\0\9b\15ð\82·\8f}ÍöÛdbci\0F~\14\95*1â\ 1ü\83/\ 4~sÈj\10Føá3\1dQ4\18ú\1a>^Ü~¸ ûÊ~å¥ð£\8d\9b\ 2¿\1c\14o@|òxsàx28{ýgÂ8\9a\ 6Ñé\10Ä@uÃH~:\Î\8e~=ú\eQ£;\18endstream
+endobj
+1831 0 obj<</Count 38/First 1832 0 R/Last 2109 0 R>>endobj
+1832 0 obj<</Parent 1831 0 R/Title(Table of Contents)/Dest[1479 0 R/XYZ 0 756 0]/Next 1833 0 R>>endobj
+1833 0 obj<</Parent 1831 0 R/Count -1/First 1834 0 R/Last 1834 0 R/Title(SAMBA Project Documentation)/Dest[1493 0 R/XYZ 0 786 0]/Prev 1832 0 R/Next 1835 0 R>>endobj
+1834 0 obj<</Parent 1833 0 R/Title(SAMBA Team)/Dest[1493 0 R/XYZ 0 762 0]>>endobj
+1835 0 obj<</Parent 1831 0 R/Title(Abstract)/Dest[1495 0 R/XYZ 0 786 0]/Prev 1833 0 R/Next 1836 0 R>>endobj
+1836 0 obj<</Parent 1831 0 R/Title(I. General installation)/Dest[1503 0 R/XYZ 0 786 0]/Prev 1835 0 R/Next 1837 0 R>>endobj
+1837 0 obj<</Parent 1831 0 R/Title(Introduction)/Dest[1505 0 R/XYZ 0 786 0]/Prev 1836 0 R/Next 1838 0 R>>endobj
+1838 0 obj<</Parent 1831 0 R/Count -6/First 1839 0 R/Last 1846 0 R/Title(Chapter 1. How to Install and Test SAMBA)/Dest[1509 0 R/XYZ 0 786 0]/Prev 1837 0 R/Next 1849 0 R>>endobj
+1839 0 obj<</Parent 1838 0 R/Title(1.1. Obtaining and installing samba)/Dest[1509 0 R/XYZ 0 762 0]/Next 1840 0 R>>endobj
+1840 0 obj<</Parent 1838 0 R/Count -2/First 1841 0 R/Last 1842 0 R/Title(1.2. Configuring samba)/Dest[1509 0 R/XYZ 0 647 0]/Prev 1839 0 R/Next 1843 0 R>>endobj
+1841 0 obj<</Parent 1840 0 R/Title(1.2.1. Editing the smb.conf file)/Dest[1509 0 R/XYZ 0 559 0]/Next 1842 0 R>>endobj
+1842 0 obj<</Parent 1840 0 R/Title(1.2.2. SWAT)/Dest[1511 0 R/XYZ 0 758 0]/Prev 1841 0 R>>endobj
+1843 0 obj<</Parent 1838 0 R/Title(1.3. Try listing the shares available on your server)/Dest[1511 0 R/XYZ 0 581 0]/Prev 1840 0 R/Next 1844 0 R>>endobj
+1844 0 obj<</Parent 1838 0 R/Title(1.4. Try connecting with the unix client)/Dest[1511 0 R/XYZ 0 413 0]/Prev 1843 0 R/Next 1845 0 R>>endobj
+1845 0 obj<</Parent 1838 0 R/Title(1.5. Try connecting from a DOS, WfWg, Win9x, WinNT, Win2k, OS/2, etc... client)/Dest[1511 0 R/XYZ 0 245 0]/Prev 1844 0 R/Next 1846 0 R>>endobj
+1846 0 obj<</Parent 1838 0 R/Count -2/First 1847 0 R/Last 1848 0 R/Title(1.6. What If Things Don't Work?)/Dest[1513 0 R/XYZ 0 705 0]/Prev 1845 0 R>>endobj
+1847 0 obj<</Parent 1846 0 R/Title(1.6.1. Scope IDs)/Dest[1513 0 R/XYZ 0 564 0]/Next 1848 0 R>>endobj
+1848 0 obj<</Parent 1846 0 R/Title(1.6.2. Locking)/Dest[1513 0 R/XYZ 0 479 0]/Prev 1847 0 R>>endobj
+1849 0 obj<</Parent 1831 0 R/Count -6/First 1850 0 R/Last 1855 0 R/Title(Chapter 2. Quick Cross Subnet Browsing / Cross Workgroup Browsing guide)/Dest[1517 0 R/XYZ 0 786 0]/Prev 1838 0 R/Next 1856 0 R>>endobj
+1850 0 obj<</Parent 1849 0 R/Title(2.1. Discussion)/Dest[1517 0 R/XYZ 0 617 0]/Next 1851 0 R>>endobj
+1851 0 obj<</Parent 1849 0 R/Title(2.2. Use of the "Remote Announce" parameter)/Dest[1519 0 R/XYZ 0 786 0]/Prev 1850 0 R/Next 1852 0 R>>endobj
+1852 0 obj<</Parent 1849 0 R/Title(2.3. Use of the "Remote Browse Sync" parameter)/Dest[1519 0 R/XYZ 0 465 0]/Prev 1851 0 R/Next 1853 0 R>>endobj
+1853 0 obj<</Parent 1849 0 R/Title(2.4. Use of WINS)/Dest[1519 0 R/XYZ 0 287 0]/Prev 1852 0 R/Next 1854 0 R>>endobj
+1854 0 obj<</Parent 1849 0 R/Title(2.5. Do NOT use more than one \(1\) protocol on MS Windows machines)/Dest[1521 0 R/XYZ 0 441 0]/Prev 1853 0 R/Next 1855 0 R>>endobj
+1855 0 obj<</Parent 1849 0 R/Title(2.6. Name Resolution Order)/Dest[1523 0 R/XYZ 0 758 0]/Prev 1854 0 R>>endobj
+1856 0 obj<</Parent 1831 0 R/Count -8/First 1857 0 R/Last 1880 0 R/Title(Chapter 3. User information database)/Dest[1525 0 R/XYZ 0 786 0]/Prev 1849 0 R/Next 1883 0 R>>endobj
+1857 0 obj<</Parent 1856 0 R/Title(3.1. Introduction)/Dest[1525 0 R/XYZ 0 762 0]/Next 1858 0 R>>endobj
+1858 0 obj<</Parent 1856 0 R/Count -2/First 1859 0 R/Last 1860 0 R/Title(3.2. Important Notes About Security)/Dest[1525 0 R/XYZ 0 502 0]/Prev 1857 0 R/Next 1861 0 R>>endobj
+1859 0 obj<</Parent 1858 0 R/Title(3.2.1. Advantages of SMB Encryption)/Dest[1527 0 R/XYZ 0 455 0]/Next 1860 0 R>>endobj
+1860 0 obj<</Parent 1858 0 R/Title(3.2.2. Advantages of non-encrypted passwords)/Dest[1527 0 R/XYZ 0 322 0]/Prev 1859 0 R>>endobj
+1861 0 obj<</Parent 1856 0 R/Title(3.3. The smbpasswd Command)/Dest[1527 0 R/XYZ 0 215 0]/Prev 1858 0 R/Next 1862 0 R>>endobj
+1862 0 obj<</Parent 1856 0 R/Title(3.4. Plain text)/Dest[1529 0 R/XYZ 0 415 0]/Prev 1861 0 R/Next 1863 0 R>>endobj
+1863 0 obj<</Parent 1856 0 R/Title(3.5. TDB)/Dest[1529 0 R/XYZ 0 326 0]/Prev 1862 0 R/Next 1864 0 R>>endobj
+1864 0 obj<</Parent 1856 0 R/Count -9/First 1865 0 R/Last 1873 0 R/Title(3.6. LDAP)/Dest[1529 0 R/XYZ 0 251 0]/Prev 1863 0 R/Next 1874 0 R>>endobj
+1865 0 obj<</Parent 1864 0 R/Title(3.6.1. Introduction)/Dest[1529 0 R/XYZ 0 231 0]/Next 1866 0 R>>endobj
+1866 0 obj<</Parent 1864 0 R/Title(3.6.2. Introduction)/Dest[1531 0 R/XYZ 0 626 0]/Prev 1865 0 R/Next 1867 0 R>>endobj
+1867 0 obj<</Parent 1864 0 R/Title(3.6.3. Supported LDAP Servers)/Dest[1533 0 R/XYZ 0 786 0]/Prev 1866 0 R/Next 1868 0 R>>endobj
+1868 0 obj<</Parent 1864 0 R/Title(3.6.4. Schema and Relationship to the RFC 2307 posixAccount)/Dest[1533 0 R/XYZ 0 675 0]/Prev 1867 0 R/Next 1869 0 R>>endobj
+1869 0 obj<</Parent 1864 0 R/Title(3.6.5. Configuring Samba with LDAP)/Dest[1533 0 R/XYZ 0 303 0]/Prev 1868 0 R/Next 1870 0 R>>endobj
+1870 0 obj<</Parent 1864 0 R/Title(3.6.6. Accounts and Groups management)/Dest[1537 0 R/XYZ 0 490 0]/Prev 1869 0 R/Next 1871 0 R>>endobj
+1871 0 obj<</Parent 1864 0 R/Title(3.6.7. Security and sambaAccount)/Dest[1537 0 R/XYZ 0 300 0]/Prev 1870 0 R/Next 1872 0 R>>endobj
+1872 0 obj<</Parent 1864 0 R/Title(3.6.8. LDAP specials attributes for sambaAccounts)/Dest[1539 0 R/XYZ 0 596 0]/Prev 1871 0 R/Next 1873 0 R>>endobj
+1873 0 obj<</Parent 1864 0 R/Title(3.6.9. Example LDIF Entries for a sambaAccount)/Dest[1541 0 R/XYZ 0 586 0]/Prev 1872 0 R>>endobj
+1874 0 obj<</Parent 1856 0 R/Count -5/First 1875 0 R/Last 1879 0 R/Title(3.7. MySQL)/Dest[1543 0 R/XYZ 0 760 0]/Prev 1864 0 R/Next 1880 0 R>>endobj
+1875 0 obj<</Parent 1874 0 R/Title(3.7.1. Building)/Dest[1543 0 R/XYZ 0 740 0]/Next 1876 0 R>>endobj
+1876 0 obj<</Parent 1874 0 R/Title(3.7.2. Creating the database)/Dest[1543 0 R/XYZ 0 629 0]/Prev 1875 0 R/Next 1877 0 R>>endobj
+1877 0 obj<</Parent 1874 0 R/Title(3.7.3. Configuring)/Dest[1543 0 R/XYZ 0 531 0]/Prev 1876 0 R/Next 1878 0 R>>endobj
+1878 0 obj<</Parent 1874 0 R/Title(3.7.4. Using plaintext passwords or encrypted password)/Dest[1545 0 R/XYZ 0 470 0]/Prev 1877 0 R/Next 1879 0 R>>endobj
+1879 0 obj<</Parent 1874 0 R/Title(3.7.5. Getting non-column data from the table)/Dest[1545 0 R/XYZ 0 319 0]/Prev 1878 0 R>>endobj
+1880 0 obj<</Parent 1856 0 R/Count -2/First 1881 0 R/Last 1882 0 R/Title(3.8. Passdb XML plugin)/Dest[1545 0 R/XYZ 0 182 0]/Prev 1874 0 R>>endobj
+1881 0 obj<</Parent 1880 0 R/Title(3.8.1. Building)/Dest[1547 0 R/XYZ 0 786 0]/Next 1882 0 R>>endobj
+1882 0 obj<</Parent 1880 0 R/Title(3.8.2. Usage)/Dest[1547 0 R/XYZ 0 701 0]/Prev 1881 0 R>>endobj
+1883 0 obj<</Parent 1831 0 R/Title(II. Type of installation)/Dest[1549 0 R/XYZ 0 786 0]/Prev 1856 0 R/Next 1884 0 R>>endobj
+1884 0 obj<</Parent 1831 0 R/Title(Introduction)/Dest[1551 0 R/XYZ 0 786 0]/Prev 1883 0 R/Next 1885 0 R>>endobj
+1885 0 obj<</Parent 1831 0 R/Count -3/First 1886 0 R/Last 1888 0 R/Title(Chapter 4. Nomenclature of Server Types)/Dest[1555 0 R/XYZ 0 786 0]/Prev 1884 0 R/Next 1890 0 R>>endobj
+1886 0 obj<</Parent 1885 0 R/Title(4.1. Stand Alone Server)/Dest[1555 0 R/XYZ 0 575 0]/Next 1887 0 R>>endobj
+1887 0 obj<</Parent 1885 0 R/Title(4.2. Domain Member Server)/Dest[1555 0 R/XYZ 0 302 0]/Prev 1886 0 R/Next 1888 0 R>>endobj
+1888 0 obj<</Parent 1885 0 R/Count -1/First 1889 0 R/Last 1889 0 R/Title(4.3. Domain Controller)/Dest[1557 0 R/XYZ 0 731 0]/Prev 1887 0 R>>endobj
+1889 0 obj<</Parent 1888 0 R/Title(4.3.1. Domain Controller Types)/Dest[1557 0 R/XYZ 0 643 0]>>endobj
+1890 0 obj<</Parent 1831 0 R/Title(Chapter 5. Samba as Stand-Alone server \(User and Share security level\))/Dest[1559 0 R/XYZ 0 786 0]/Prev 1885 0 R/Next 1891 0 R>>endobj
+1891 0 obj<</Parent 1831 0 R/Count -9/First 1892 0 R/Last 1905 0 R/Title(Chapter 6. Samba as an NT4 or Win2k Primary Domain Controller)/Dest[1563 0 R/XYZ 0 786 0]/Prev 1890 0 R/Next 1906 0 R>>endobj
+1892 0 obj<</Parent 1891 0 R/Title(6.1. Prerequisite Reading)/Dest[1563 0 R/XYZ 0 738 0]/Next 1893 0 R>>endobj
+1893 0 obj<</Parent 1891 0 R/Title(6.2. Background)/Dest[1563 0 R/XYZ 0 637 0]/Prev 1892 0 R/Next 1894 0 R>>endobj
+1894 0 obj<</Parent 1891 0 R/Title(6.3. Configuring the Samba Domain Controller)/Dest[1565 0 R/XYZ 0 786 0]/Prev 1893 0 R/Next 1895 0 R>>endobj
+1895 0 obj<</Parent 1891 0 R/Count -3/First 1896 0 R/Last 1898 0 R/Title(6.4. Creating Machine Trust Accounts and Joining Clients to the Domain)/Dest[1567 0 R/XYZ 0 718 0]/Prev 1894 0 R/Next 1899 0 R>>endobj
+1896 0 obj<</Parent 1895 0 R/Title(6.4.1. Manual Creation of Machine Trust Accounts)/Dest[1569 0 R/XYZ 0 718 0]/Next 1897 0 R>>endobj
+1897 0 obj<</Parent 1895 0 R/Title(6.4.2. "On-the-Fly" Creation of Machine Trust Accounts)/Dest[1571 0 R/XYZ 0 786 0]/Prev 1896 0 R/Next 1898 0 R>>endobj
+1898 0 obj<</Parent 1895 0 R/Title(6.4.3. Joining the Client to the Domain)/Dest[1571 0 R/XYZ 0 577 0]/Prev 1897 0 R>>endobj
+1899 0 obj<</Parent 1891 0 R/Title(6.5. Common Problems and Errors)/Dest[1571 0 R/XYZ 0 228 0]/Prev 1895 0 R/Next 1900 0 R>>endobj
+1900 0 obj<</Parent 1891 0 R/Title(6.6. System Policies and Profiles)/Dest[1575 0 R/XYZ 0 617 0]/Prev 1899 0 R/Next 1901 0 R>>endobj
+1901 0 obj<</Parent 1891 0 R/Title(6.7. What other help can I get?)/Dest[1577 0 R/XYZ 0 613 0]/Prev 1900 0 R/Next 1902 0 R>>endobj
+1902 0 obj<</Parent 1891 0 R/Count -2/First 1903 0 R/Last 1904 0 R/Title(6.8. Domain Control for Windows 9x/ME)/Dest[1581 0 R/XYZ 0 335 0]/Prev 1901 0 R/Next 1905 0 R>>endobj
+1903 0 obj<</Parent 1902 0 R/Title(6.8.1. Configuration Instructions: Network Logons)/Dest[1583 0 R/XYZ 0 335 0]/Next 1904 0 R>>endobj
+1904 0 obj<</Parent 1902 0 R/Title(6.8.2. Configuration Instructions: Setting up Roaming User Profiles)/Dest[1585 0 R/XYZ 0 557 0]/Prev 1903 0 R>>endobj
+1905 0 obj<</Parent 1891 0 R/Title(6.9. DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba)/Dest[1593 0 R/XYZ 0 468 0]/Prev 1902 0 R>>endobj
+1906 0 obj<</Parent 1831 0 R/Count -5/First 1907 0 R/Last 1913 0 R/Title(Chapter 7. How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain)/Dest[1597 0 R/XYZ 0 786 0]/Prev 1891 0 R/Next 1916 0 R>>endobj
+1907 0 obj<</Parent 1906 0 R/Title(7.1. Prerequisite Reading)/Dest[1597 0 R/XYZ 0 738 0]/Next 1908 0 R>>endobj
+1908 0 obj<</Parent 1906 0 R/Title(7.2. Background)/Dest[1597 0 R/XYZ 0 650 0]/Prev 1907 0 R/Next 1909 0 R>>endobj
+1909 0 obj<</Parent 1906 0 R/Count -2/First 1910 0 R/Last 1911 0 R/Title(7.3. What qualifies a Domain Controller on the network?)/Dest[1597 0 R/XYZ 0 278 0]/Prev 1908 0 R/Next 1912 0 R>>endobj
+1910 0 obj<</Parent 1909 0 R/Title(7.3.1. How does a Workstation find its domain controller?)/Dest[1599 0 R/XYZ 0 786 0]/Next 1911 0 R>>endobj
+1911 0 obj<</Parent 1909 0 R/Title(7.3.2. When is the PDC needed?)/Dest[1599 0 R/XYZ 0 662 0]/Prev 1910 0 R>>endobj
+1912 0 obj<</Parent 1906 0 R/Title(7.4. Can Samba be a Backup Domain Controller to an NT PDC?)/Dest[1599 0 R/XYZ 0 577 0]/Prev 1909 0 R/Next 1913 0 R>>endobj
+1913 0 obj<</Parent 1906 0 R/Count -2/First 1914 0 R/Last 1915 0 R/Title(7.5. How do I set up a Samba BDC?)/Dest[1599 0 R/XYZ 0 376 0]/Prev 1912 0 R>>endobj
+1914 0 obj<</Parent 1913 0 R/Title(7.5.1. How do I replicate the smbpasswd file?)/Dest[1601 0 R/XYZ 0 593 0]/Next 1915 0 R>>endobj
+1915 0 obj<</Parent 1913 0 R/Title(7.5.2. Can I do this all with LDAP?)/Dest[1601 0 R/XYZ 0 443 0]/Prev 1914 0 R>>endobj
+1916 0 obj<</Parent 1831 0 R/Count -8/First 1917 0 R/Last 1925 0 R/Title(Chapter 8. Samba as a ADS domain member)/Dest[1603 0 R/XYZ 0 786 0]/Prev 1906 0 R/Next 1926 0 R>>endobj
+1917 0 obj<</Parent 1916 0 R/Title(8.1. Installing the required packages for Debian)/Dest[1603 0 R/XYZ 0 604 0]/Next 1918 0 R>>endobj
+1918 0 obj<</Parent 1916 0 R/Title(8.2. Installing the required packages for RedHat)/Dest[1603 0 R/XYZ 0 496 0]/Prev 1917 0 R/Next 1919 0 R>>endobj
+1919 0 obj<</Parent 1916 0 R/Title(8.3. Compile Samba)/Dest[1603 0 R/XYZ 0 320 0]/Prev 1918 0 R/Next 1920 0 R>>endobj
+1920 0 obj<</Parent 1916 0 R/Title(8.4. Setup your /etc/krb5.conf)/Dest[1605 0 R/XYZ 0 633 0]/Prev 1919 0 R/Next 1921 0 R>>endobj
+1921 0 obj<</Parent 1916 0 R/Count -1/First 1922 0 R/Last 1922 0 R/Title(8.5. Create the computer account)/Dest[1605 0 R/XYZ 0 317 0]/Prev 1920 0 R/Next 1923 0 R>>endobj
+1922 0 obj<</Parent 1921 0 R/Title(8.5.1. Possible errors)/Dest[1605 0 R/XYZ 0 255 0]>>endobj
+1923 0 obj<</Parent 1916 0 R/Title(8.6. Test your server setup)/Dest[1607 0 R/XYZ 0 786 0]/Prev 1921 0 R/Next 1924 0 R>>endobj
+1924 0 obj<</Parent 1916 0 R/Title(8.7. Testing with smbclient)/Dest[1607 0 R/XYZ 0 698 0]/Prev 1923 0 R/Next 1925 0 R>>endobj
+1925 0 obj<</Parent 1916 0 R/Title(8.8. Notes)/Dest[1607 0 R/XYZ 0 623 0]/Prev 1924 0 R>>endobj
+1926 0 obj<</Parent 1831 0 R/Count -3/First 1927 0 R/Last 1929 0 R/Title(Chapter 9. Samba as a NT4 or Win2k domain member)/Dest[1609 0 R/XYZ 0 786 0]/Prev 1916 0 R/Next 1930 0 R>>endobj
+1927 0 obj<</Parent 1926 0 R/Title(9.1. Joining an NT Domain with Samba 3.0)/Dest[1609 0 R/XYZ 0 738 0]/Next 1928 0 R>>endobj
+1928 0 obj<</Parent 1926 0 R/Title(9.2. Samba and Windows 2000 Domains)/Dest[1611 0 R/XYZ 0 547 0]/Prev 1927 0 R/Next 1929 0 R>>endobj
+1929 0 obj<</Parent 1926 0 R/Title(9.3. Why is this better than security = server?)/Dest[1611 0 R/XYZ 0 458 0]/Prev 1928 0 R>>endobj
+1930 0 obj<</Parent 1831 0 R/Title(III. Optional configuration)/Dest[1615 0 R/XYZ 0 786 0]/Prev 1926 0 R/Next 1931 0 R>>endobj
+1931 0 obj<</Parent 1831 0 R/Title(Introduction)/Dest[1617 0 R/XYZ 0 786 0]/Prev 1930 0 R/Next 1932 0 R>>endobj
+1932 0 obj<</Parent 1831 0 R/Count -6/First 1933 0 R/Last 1950 0 R/Title(Chapter 10. Integrating MS Windows networks with Samba)/Dest[1623 0 R/XYZ 0 786 0]/Prev 1931 0 R/Next 1951 0 R>>endobj
+1933 0 obj<</Parent 1932 0 R/Title(10.1. Agenda)/Dest[1623 0 R/XYZ 0 738 0]/Next 1934 0 R>>endobj
+1934 0 obj<</Parent 1932 0 R/Count -4/First 1935 0 R/Last 1938 0 R/Title(10.2. Name Resolution in a pure Unix/Linux world)/Dest[1623 0 R/XYZ 0 491 0]/Prev 1933 0 R/Next 1939 0 R>>endobj
+1935 0 obj<</Parent 1934 0 R/Title(10.2.1. /etc/hosts)/Dest[1623 0 R/XYZ 0 363 0]/Next 1936 0 R>>endobj
+1936 0 obj<</Parent 1934 0 R/Title(10.2.2. /etc/resolv.conf)/Dest[1625 0 R/XYZ 0 494 0]/Prev 1935 0 R/Next 1937 0 R>>endobj
+1937 0 obj<</Parent 1934 0 R/Title(10.2.3. /etc/host.conf)/Dest[1625 0 R/XYZ 0 356 0]/Prev 1936 0 R/Next 1938 0 R>>endobj
+1938 0 obj<</Parent 1934 0 R/Title(10.2.4. /etc/nsswitch.conf)/Dest[1625 0 R/XYZ 0 210 0]/Prev 1937 0 R>>endobj
+1939 0 obj<</Parent 1932 0 R/Count -5/First 1940 0 R/Last 1944 0 R/Title(10.3. Name resolution as used within MS Windows networking)/Dest[1627 0 R/XYZ 0 392 0]/Prev 1934 0 R/Next 1945 0 R>>endobj
+1940 0 obj<</Parent 1939 0 R/Title(10.3.1. The NetBIOS Name Cache)/Dest[1629 0 R/XYZ 0 319 0]/Next 1941 0 R>>endobj
+1941 0 obj<</Parent 1939 0 R/Title(10.3.2. The LMHOSTS file)/Dest[1631 0 R/XYZ 0 786 0]/Prev 1940 0 R/Next 1942 0 R>>endobj
+1942 0 obj<</Parent 1939 0 R/Title(10.3.3. HOSTS file)/Dest[1633 0 R/XYZ 0 512 0]/Prev 1941 0 R/Next 1943 0 R>>endobj
+1943 0 obj<</Parent 1939 0 R/Title(10.3.4. DNS Lookup)/Dest[1633 0 R/XYZ 0 414 0]/Prev 1942 0 R/Next 1944 0 R>>endobj
+1944 0 obj<</Parent 1939 0 R/Title(10.3.5. WINS Lookup)/Dest[1633 0 R/XYZ 0 276 0]/Prev 1943 0 R>>endobj
+1945 0 obj<</Parent 1932 0 R/Title(10.4. How browsing functions and how to deploy stable and dependable browsing using Samba)/Dest[1635 0 R/XYZ 0 723 0]/Prev 1939 0 R/Next 1946 0 R>>endobj
+1946 0 obj<</Parent 1932 0 R/Count -3/First 1947 0 R/Last 1949 0 R/Title(10.5. MS Windows security options and how to configure Samba for seemless integration)/Dest[1635 0 R/XYZ 0 179 0]/Prev 1945 0 R/Next 1950 0 R>>endobj
+1947 0 obj<</Parent 1946 0 R/Title(10.5.1. Use MS Windows NT as an authentication server)/Dest[1639 0 R/XYZ 0 786 0]/Next 1948 0 R>>endobj
+1948 0 obj<</Parent 1946 0 R/Title(10.5.2. Make Samba a member of an MS Windows NT security domain)/Dest[1639 0 R/XYZ 0 537 0]/Prev 1947 0 R/Next 1949 0 R>>endobj
+1949 0 obj<</Parent 1946 0 R/Title(10.5.3. Configure Samba as an authentication server)/Dest[1639 0 R/XYZ 0 185 0]/Prev 1948 0 R>>endobj
+1950 0 obj<</Parent 1932 0 R/Title(10.6. Conclusions)/Dest[1641 0 R/XYZ 0 316 0]/Prev 1946 0 R>>endobj
+1951 0 obj<</Parent 1831 0 R/Count -7/First 1952 0 R/Last 1960 0 R/Title(Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists)/Dest[1643 0 R/XYZ 0 786 0]/Prev 1932 0 R/Next 1961 0 R>>endobj
+1952 0 obj<</Parent 1951 0 R/Title(11.1. Viewing and changing UNIX permissions using the NT security dialogs)/Dest[1643 0 R/XYZ 0 738 0]/Next 1953 0 R>>endobj
+1953 0 obj<</Parent 1951 0 R/Title(11.2. How to view file security on a Samba share)/Dest[1643 0 R/XYZ 0 590 0]/Prev 1952 0 R/Next 1954 0 R>>endobj
+1954 0 obj<</Parent 1951 0 R/Title(11.3. Viewing file ownership)/Dest[1643 0 R/XYZ 0 422 0]/Prev 1953 0 R/Next 1955 0 R>>endobj
+1955 0 obj<</Parent 1951 0 R/Count -2/First 1956 0 R/Last 1957 0 R/Title(11.4. Viewing file or directory permissions)/Dest[1645 0 R/XYZ 0 758 0]/Prev 1954 0 R/Next 1958 0 R>>endobj
+1956 0 obj<</Parent 1955 0 R/Title(11.4.1. File Permissions)/Dest[1645 0 R/XYZ 0 524 0]/Next 1957 0 R>>endobj
+1957 0 obj<</Parent 1955 0 R/Title(11.4.2. Directory Permissions)/Dest[1645 0 R/XYZ 0 281 0]/Prev 1956 0 R>>endobj
+1958 0 obj<</Parent 1951 0 R/Title(11.5. Modifying file or directory permissions)/Dest[1647 0 R/XYZ 0 771 0]/Prev 1955 0 R/Next 1959 0 R>>endobj
+1959 0 obj<</Parent 1951 0 R/Title(11.6. Interaction with the standard Samba create mask parameters)/Dest[1647 0 R/XYZ 0 339 0]/Prev 1958 0 R/Next 1960 0 R>>endobj
+1960 0 obj<</Parent 1951 0 R/Title(11.7. Interaction with the standard Samba file attribute mapping)/Dest[1651 0 R/XYZ 0 705 0]/Prev 1959 0 R>>endobj
+1961 0 obj<</Parent 1831 0 R/Count -3/First 1962 0 R/Last 1964 0 R/Title(Chapter 12. Configuring PAM for distributed but centrally managed authentication)/Dest[1653 0 R/XYZ 0 786 0]/Prev 1951 0 R/Next 1965 0 R>>endobj
+1962 0 obj<</Parent 1961 0 R/Title(12.1. Samba and PAM)/Dest[1653 0 R/XYZ 0 738 0]/Next 1963 0 R>>endobj
+1963 0 obj<</Parent 1961 0 R/Title(12.2. Distributed Authentication)/Dest[1655 0 R/XYZ 0 201 0]/Prev 1962 0 R/Next 1964 0 R>>endobj
+1964 0 obj<</Parent 1961 0 R/Title(12.3. PAM Configuration in smb.conf)/Dest[1657 0 R/XYZ 0 758 0]/Prev 1963 0 R>>endobj
+1965 0 obj<</Parent 1831 0 R/Count -1/First 1966 0 R/Last 1966 0 R/Title(Chapter 13. Hosting a Microsoft Distributed File System tree on Samba)/Dest[1659 0 R/XYZ 0 786 0]/Prev 1961 0 R/Next 1968 0 R>>endobj
+1966 0 obj<</Parent 1965 0 R/Count -1/First 1967 0 R/Last 1967 0 R/Title(13.1. Instructions)/Dest[1659 0 R/XYZ 0 738 0]>>endobj
+1967 0 obj<</Parent 1966 0 R/Title(13.1.1. Notes)/Dest[1661 0 R/XYZ 0 705 0]>>endobj
+1968 0 obj<</Parent 1831 0 R/Count -4/First 1969 0 R/Last 1981 0 R/Title(Chapter 14. Printing Support)/Dest[1663 0 R/XYZ 0 786 0]/Prev 1965 0 R/Next 1991 0 R>>endobj
+1969 0 obj<</Parent 1968 0 R/Title(14.1. Introduction)/Dest[1663 0 R/XYZ 0 762 0]/Next 1970 0 R>>endobj
+1970 0 obj<</Parent 1968 0 R/Count -5/First 1971 0 R/Last 1975 0 R/Title(14.2. Configuration)/Dest[1663 0 R/XYZ 0 370 0]/Prev 1969 0 R/Next 1976 0 R>>endobj
+1971 0 obj<</Parent 1970 0 R/Title(14.2.1. Creating [print$])/Dest[1663 0 R/XYZ 0 180 0]/Next 1972 0 R>>endobj
+1972 0 obj<</Parent 1970 0 R/Title(14.2.2. Setting Drivers for Existing Printers)/Dest[1667 0 R/XYZ 0 583 0]/Prev 1971 0 R/Next 1973 0 R>>endobj
+1973 0 obj<</Parent 1970 0 R/Title(14.2.3. Support a large number of printers)/Dest[1669 0 R/XYZ 0 786 0]/Prev 1972 0 R/Next 1974 0 R>>endobj
+1974 0 obj<</Parent 1970 0 R/Title(14.2.4. Adding New Printers via the Windows NT APW)/Dest[1669 0 R/XYZ 0 416 0]/Prev 1973 0 R/Next 1975 0 R>>endobj
+1975 0 obj<</Parent 1970 0 R/Title(14.2.5. Samba and Printer Ports)/Dest[1671 0 R/XYZ 0 237 0]/Prev 1974 0 R>>endobj
+1976 0 obj<</Parent 1968 0 R/Count -4/First 1977 0 R/Last 1980 0 R/Title(14.3. The Imprints Toolset)/Dest[1673 0 R/XYZ 0 745 0]/Prev 1970 0 R/Next 1981 0 R>>endobj
+1977 0 obj<</Parent 1976 0 R/Title(14.3.1. What is Imprints?)/Dest[1673 0 R/XYZ 0 643 0]/Next 1978 0 R>>endobj
+1978 0 obj<</Parent 1976 0 R/Title(14.3.2. Creating Printer Driver Packages)/Dest[1673 0 R/XYZ 0 519 0]/Prev 1977 0 R/Next 1979 0 R>>endobj
+1979 0 obj<</Parent 1976 0 R/Title(14.3.3. The Imprints server)/Dest[1673 0 R/XYZ 0 434 0]/Prev 1978 0 R/Next 1980 0 R>>endobj
+1980 0 obj<</Parent 1976 0 R/Title(14.3.4. The Installation Client)/Dest[1673 0 R/XYZ 0 336 0]/Prev 1979 0 R>>endobj
+1981 0 obj<</Parent 1968 0 R/Count -9/First 1982 0 R/Last 1990 0 R/Title(14.4. Diagnosis)/Dest[1675 0 R/XYZ 0 449 0]/Prev 1976 0 R>>endobj
+1982 0 obj<</Parent 1981 0 R/Title(14.4.1. Introduction)/Dest[1675 0 R/XYZ 0 429 0]/Next 1983 0 R>>endobj
+1983 0 obj<</Parent 1981 0 R/Title(14.4.2. Debugging printer problems)/Dest[1677 0 R/XYZ 0 482 0]/Prev 1982 0 R/Next 1984 0 R>>endobj
+1984 0 obj<</Parent 1981 0 R/Title(14.4.3. What printers do I have?)/Dest[1679 0 R/XYZ 0 718 0]/Prev 1983 0 R/Next 1985 0 R>>endobj
+1985 0 obj<</Parent 1981 0 R/Title(14.4.4. Setting up printcap and print servers)/Dest[1679 0 R/XYZ 0 537 0]/Prev 1984 0 R/Next 1986 0 R>>endobj
+1986 0 obj<</Parent 1981 0 R/Title(14.4.5. Job sent, no output)/Dest[1681 0 R/XYZ 0 786 0]/Prev 1985 0 R/Next 1987 0 R>>endobj
+1987 0 obj<</Parent 1981 0 R/Title(14.4.6. Job sent, strange output)/Dest[1681 0 R/XYZ 0 447 0]/Prev 1986 0 R/Next 1988 0 R>>endobj
+1988 0 obj<</Parent 1981 0 R/Title(14.4.7. Raw PostScript printed)/Dest[1683 0 R/XYZ 0 771 0]/Prev 1987 0 R/Next 1989 0 R>>endobj
+1989 0 obj<</Parent 1981 0 R/Title(14.4.8. Advanced Printing)/Dest[1683 0 R/XYZ 0 686 0]/Prev 1988 0 R/Next 1990 0 R>>endobj
+1990 0 obj<</Parent 1981 0 R/Title(14.4.9. Real debugging)/Dest[1683 0 R/XYZ 0 588 0]/Prev 1989 0 R>>endobj
+1991 0 obj<</Parent 1831 0 R/Count -7/First 1992 0 R/Last 1999 0 R/Title(Chapter 15. CUPS Printing Support)/Dest[1685 0 R/XYZ 0 786 0]/Prev 1968 0 R/Next 2000 0 R>>endobj
+1992 0 obj<</Parent 1991 0 R/Title(15.1. Introduction)/Dest[1685 0 R/XYZ 0 762 0]/Next 1993 0 R>>endobj
+1993 0 obj<</Parent 1991 0 R/Title(15.2. CUPS - RAW Print Through Mode)/Dest[1685 0 R/XYZ 0 515 0]/Prev 1992 0 R/Next 1994 0 R>>endobj
+1994 0 obj<</Parent 1991 0 R/Title(15.3. The CUPS Filter Chains)/Dest[1689 0 R/XYZ 0 329 0]/Prev 1993 0 R/Next 1995 0 R>>endobj
+1995 0 obj<</Parent 1991 0 R/Count -1/First 1996 0 R/Last 1996 0 R/Title(15.4. CUPS Print Drivers and Devices)/Dest[1701 0 R/XYZ 0 598 0]/Prev 1994 0 R/Next 1997 0 R>>endobj
+1996 0 obj<</Parent 1995 0 R/Title(15.4.1. Further printing steps)/Dest[1701 0 R/XYZ 0 457 0]>>endobj
+1997 0 obj<</Parent 1991 0 R/Title(15.5. Limiting the number of pages users can print)/Dest[1705 0 R/XYZ 0 230 0]/Prev 1995 0 R/Next 1998 0 R>>endobj
+1998 0 obj<</Parent 1991 0 R/Title(15.6. Advanced Postscript Printing from MS Windows)/Dest[1713 0 R/XYZ 0 415 0]/Prev 1997 0 R/Next 1999 0 R>>endobj
+1999 0 obj<</Parent 1991 0 R/Title(15.7. Auto-Deletion of CUPS spool files)/Dest[1715 0 R/XYZ 0 579 0]/Prev 1998 0 R>>endobj
+2000 0 obj<</Parent 1831 0 R/Count -7/First 2001 0 R/Last 2017 0 R/Title(Chapter 16. Unified Logons between Windows NT and UNIX using Winbind)/Dest[1719 0 R/XYZ 0 786 0]/Prev 1991 0 R/Next 2018 0 R>>endobj
+2001 0 obj<</Parent 2000 0 R/Title(16.1. Abstract)/Dest[1719 0 R/XYZ 0 738 0]/Next 2002 0 R>>endobj
+2002 0 obj<</Parent 2000 0 R/Title(16.2. Introduction)/Dest[1719 0 R/XYZ 0 597 0]/Prev 2001 0 R/Next 2003 0 R>>endobj
+2003 0 obj<</Parent 2000 0 R/Count -1/First 2004 0 R/Last 2004 0 R/Title(16.3. What Winbind Provides)/Dest[1719 0 R/XYZ 0 284 0]/Prev 2002 0 R/Next 2005 0 R>>endobj
+2004 0 obj<</Parent 2003 0 R/Title(16.3.1. Target Uses)/Dest[1721 0 R/XYZ 0 613 0]>>endobj
+2005 0 obj<</Parent 2000 0 R/Count -6/First 2006 0 R/Last 2011 0 R/Title(16.4. How Winbind Works)/Dest[1721 0 R/XYZ 0 462 0]/Prev 2003 0 R/Next 2012 0 R>>endobj
+2006 0 obj<</Parent 2005 0 R/Title(16.4.1. Microsoft Remote Procedure Calls)/Dest[1721 0 R/XYZ 0 347 0]/Next 2007 0 R>>endobj
+2007 0 obj<</Parent 2005 0 R/Title(16.4.2. Microsoft Active Directory Services)/Dest[1723 0 R/XYZ 0 786 0]/Prev 2006 0 R/Next 2008 0 R>>endobj
+2008 0 obj<</Parent 2005 0 R/Title(16.4.3. Name Service Switch)/Dest[1723 0 R/XYZ 0 688 0]/Prev 2007 0 R/Next 2009 0 R>>endobj
+2009 0 obj<</Parent 2005 0 R/Title(16.4.4. Pluggable Authentication Modules)/Dest[1723 0 R/XYZ 0 247 0]/Prev 2008 0 R/Next 2010 0 R>>endobj
+2010 0 obj<</Parent 2005 0 R/Title(16.4.5. User and Group ID Allocation)/Dest[1725 0 R/XYZ 0 613 0]/Prev 2009 0 R/Next 2011 0 R>>endobj
+2011 0 obj<</Parent 2005 0 R/Title(16.4.6. Result Caching)/Dest[1725 0 R/XYZ 0 435 0]/Prev 2010 0 R>>endobj
+2012 0 obj<</Parent 2000 0 R/Count -3/First 2013 0 R/Last 2015 0 R/Title(16.5. Installation and Configuration)/Dest[1725 0 R/XYZ 0 298 0]/Prev 2005 0 R/Next 2016 0 R>>endobj
+2013 0 obj<</Parent 2012 0 R/Title(16.5.1. Introduction)/Dest[1725 0 R/XYZ 0 196 0]/Next 2014 0 R>>endobj
+2014 0 obj<</Parent 2012 0 R/Title(16.5.2. Requirements)/Dest[1727 0 R/XYZ 0 586 0]/Prev 2013 0 R/Next 2015 0 R>>endobj
+2015 0 obj<</Parent 2012 0 R/Title(16.5.3. Testing Things Out)/Dest[1727 0 R/XYZ 0 317 0]/Prev 2014 0 R>>endobj
+2016 0 obj<</Parent 2000 0 R/Title(16.6. Limitations)/Dest[1743 0 R/XYZ 0 608 0]/Prev 2012 0 R/Next 2017 0 R>>endobj
+2017 0 obj<</Parent 2000 0 R/Title(16.7. Conclusion)/Dest[1743 0 R/XYZ 0 387 0]/Prev 2016 0 R>>endobj
+2018 0 obj<</Parent 1831 0 R/Count -11/First 2019 0 R/Last 2030 0 R/Title(Chapter 17. Improved browsing in samba)/Dest[1745 0 R/XYZ 0 786 0]/Prev 2000 0 R/Next 2031 0 R>>endobj
+2019 0 obj<</Parent 2018 0 R/Title(17.1. Overview of browsing)/Dest[1745 0 R/XYZ 0 762 0]/Next 2020 0 R>>endobj
+2020 0 obj<</Parent 2018 0 R/Title(17.2. Browsing support in samba)/Dest[1745 0 R/XYZ 0 515 0]/Prev 2019 0 R/Next 2021 0 R>>endobj
+2021 0 obj<</Parent 2018 0 R/Title(17.3. Problem resolution)/Dest[1747 0 R/XYZ 0 786 0]/Prev 2020 0 R/Next 2022 0 R>>endobj
+2022 0 obj<</Parent 2018 0 R/Count -1/First 2023 0 R/Last 2023 0 R/Title(17.4. Browsing across subnets)/Dest[1747 0 R/XYZ 0 434 0]/Prev 2021 0 R/Next 2024 0 R>>endobj
+2023 0 obj<</Parent 2022 0 R/Title(17.4.1. How does cross subnet browsing work ?)/Dest[1749 0 R/XYZ 0 786 0]>>endobj
+2024 0 obj<</Parent 2018 0 R/Title(17.5. Setting up a WINS server)/Dest[1753 0 R/XYZ 0 385 0]/Prev 2022 0 R/Next 2025 0 R>>endobj
+2025 0 obj<</Parent 2018 0 R/Title(17.6. Setting up Browsing in a WORKGROUP)/Dest[1755 0 R/XYZ 0 441 0]/Prev 2024 0 R/Next 2026 0 R>>endobj
+2026 0 obj<</Parent 2018 0 R/Title(17.7. Setting up Browsing in a DOMAIN)/Dest[1757 0 R/XYZ 0 460 0]/Prev 2025 0 R/Next 2027 0 R>>endobj
+2027 0 obj<</Parent 2018 0 R/Title(17.8. Forcing samba to be the master)/Dest[1759 0 R/XYZ 0 771 0]/Prev 2026 0 R/Next 2028 0 R>>endobj
+2028 0 obj<</Parent 2018 0 R/Title(17.9. Making samba the domain master)/Dest[1759 0 R/XYZ 0 353 0]/Prev 2027 0 R/Next 2029 0 R>>endobj
+2029 0 obj<</Parent 2018 0 R/Title(17.10. Note about broadcast addresses)/Dest[1761 0 R/XYZ 0 573 0]/Prev 2028 0 R/Next 2030 0 R>>endobj
+2030 0 obj<</Parent 2018 0 R/Title(17.11. Multiple interfaces)/Dest[1761 0 R/XYZ 0 485 0]/Prev 2029 0 R>>endobj
+2031 0 obj<</Parent 1831 0 R/Count -3/First 2032 0 R/Last 2037 0 R/Title(Chapter 18. Stackable VFS modules)/Dest[1763 0 R/XYZ 0 786 0]/Prev 2018 0 R/Next 2040 0 R>>endobj
+2032 0 obj<</Parent 2031 0 R/Title(18.1. Introduction and configuration)/Dest[1763 0 R/XYZ 0 762 0]/Next 2033 0 R>>endobj
+2033 0 obj<</Parent 2031 0 R/Count -3/First 2034 0 R/Last 2036 0 R/Title(18.2. Included modules)/Dest[1763 0 R/XYZ 0 437 0]/Prev 2032 0 R/Next 2037 0 R>>endobj
+2034 0 obj<</Parent 2033 0 R/Title(18.2.1. audit)/Dest[1763 0 R/XYZ 0 417 0]/Next 2035 0 R>>endobj
+2035 0 obj<</Parent 2033 0 R/Title(18.2.2. recycle)/Dest[1763 0 R/XYZ 0 268 0]/Prev 2034 0 R/Next 2036 0 R>>endobj
+2036 0 obj<</Parent 2033 0 R/Title(18.2.3. netatalk)/Dest[1765 0 R/XYZ 0 613 0]/Prev 2035 0 R>>endobj
+2037 0 obj<</Parent 2031 0 R/Count -2/First 2038 0 R/Last 2039 0 R/Title(18.3. VFS modules available elsewhere)/Dest[1765 0 R/XYZ 0 483 0]/Prev 2033 0 R>>endobj
+2038 0 obj<</Parent 2037 0 R/Title(18.3.1. DatabaseFS)/Dest[1765 0 R/XYZ 0 368 0]/Next 2039 0 R>>endobj
+2039 0 obj<</Parent 2037 0 R/Title(18.3.2. vscan)/Dest[1767 0 R/XYZ 0 786 0]/Prev 2038 0 R>>endobj
+2040 0 obj<</Parent 1831 0 R/Title(Chapter 19. Group mapping HOWTO)/Dest[1769 0 R/XYZ 0 786 0]/Prev 2031 0 R/Next 2041 0 R>>endobj
+2041 0 obj<</Parent 1831 0 R/Count -10/First 2042 0 R/Last 2051 0 R/Title(Chapter 20. Samba performance issues)/Dest[1771 0 R/XYZ 0 786 0]/Prev 2040 0 R/Next 2052 0 R>>endobj
+2042 0 obj<</Parent 2041 0 R/Title(20.1. Comparisons)/Dest[1771 0 R/XYZ 0 762 0]/Next 2043 0 R>>endobj
+2043 0 obj<</Parent 2041 0 R/Title(20.2. Socket options)/Dest[1771 0 R/XYZ 0 502 0]/Prev 2042 0 R/Next 2044 0 R>>endobj
+2044 0 obj<</Parent 2041 0 R/Title(20.3. Read size)/Dest[1771 0 R/XYZ 0 242 0]/Prev 2043 0 R/Next 2045 0 R>>endobj
+2045 0 obj<</Parent 2041 0 R/Title(20.4. Max xmit)/Dest[1773 0 R/XYZ 0 692 0]/Prev 2044 0 R/Next 2046 0 R>>endobj
+2046 0 obj<</Parent 2041 0 R/Title(20.5. Log level)/Dest[1773 0 R/XYZ 0 511 0]/Prev 2045 0 R/Next 2047 0 R>>endobj
+2047 0 obj<</Parent 2041 0 R/Title(20.6. Read raw)/Dest[1773 0 R/XYZ 0 436 0]/Prev 2046 0 R/Next 2048 0 R>>endobj
+2048 0 obj<</Parent 2041 0 R/Title(20.7. Write raw)/Dest[1773 0 R/XYZ 0 268 0]/Prev 2047 0 R/Next 2049 0 R>>endobj
+2049 0 obj<</Parent 2041 0 R/Title(20.8. Slow Clients)/Dest[1775 0 R/XYZ 0 786 0]/Prev 2048 0 R/Next 2050 0 R>>endobj
+2050 0 obj<</Parent 2041 0 R/Title(20.9. Slow Logins)/Dest[1775 0 R/XYZ 0 658 0]/Prev 2049 0 R/Next 2051 0 R>>endobj
+2051 0 obj<</Parent 2041 0 R/Title(20.10. Client tuning)/Dest[1775 0 R/XYZ 0 583 0]/Prev 2050 0 R>>endobj
+2052 0 obj<</Parent 1831 0 R/Count -3/First 2053 0 R/Last 2059 0 R/Title(Chapter 21. Creating Group Prolicy Files)/Dest[1779 0 R/XYZ 0 786 0]/Prev 2041 0 R/Next 2060 0 R>>endobj
+2053 0 obj<</Parent 2052 0 R/Title(21.1. Windows '9x)/Dest[1779 0 R/XYZ 0 762 0]/Next 2054 0 R>>endobj
+2054 0 obj<</Parent 2052 0 R/Count -4/First 2055 0 R/Last 2058 0 R/Title(21.2. Windows NT 4)/Dest[1779 0 R/XYZ 0 476 0]/Prev 2053 0 R/Next 2059 0 R>>endobj
+2055 0 obj<</Parent 2054 0 R/Title(21.2.1. Side bar Notes)/Dest[1781 0 R/XYZ 0 786 0]/Next 2056 0 R>>endobj
+2056 0 obj<</Parent 2054 0 R/Title(21.2.2. Mandatory profiles)/Dest[1781 0 R/XYZ 0 688 0]/Prev 2055 0 R/Next 2057 0 R>>endobj
+2057 0 obj<</Parent 2054 0 R/Title(21.2.3. moveuser.exe)/Dest[1781 0 R/XYZ 0 617 0]/Prev 2056 0 R/Next 2058 0 R>>endobj
+2058 0 obj<</Parent 2054 0 R/Title(21.2.4. Get SID)/Dest[1781 0 R/XYZ 0 545 0]/Prev 2057 0 R>>endobj
+2059 0 obj<</Parent 2052 0 R/Title(21.3. Windows 2000/XP)/Dest[1781 0 R/XYZ 0 381 0]/Prev 2054 0 R>>endobj
+2060 0 obj<</Parent 1831 0 R/Count -6/First 2061 0 R/Last 2066 0 R/Title(Chapter 22. Securing Samba)/Dest[1785 0 R/XYZ 0 786 0]/Prev 2052 0 R/Next 2067 0 R>>endobj
+2061 0 obj<</Parent 2060 0 R/Title(22.1. Introduction)/Dest[1785 0 R/XYZ 0 762 0]/Next 2062 0 R>>endobj
+2062 0 obj<</Parent 2060 0 R/Title(22.2. Using host based protection)/Dest[1785 0 R/XYZ 0 674 0]/Prev 2061 0 R/Next 2063 0 R>>endobj
+2063 0 obj<</Parent 2060 0 R/Title(22.3. Using interface protection)/Dest[1785 0 R/XYZ 0 458 0]/Prev 2062 0 R/Next 2064 0 R>>endobj
+2064 0 obj<</Parent 2060 0 R/Title(22.4. Using a firewall)/Dest[1785 0 R/XYZ 0 203 0]/Prev 2063 0 R/Next 2065 0 R>>endobj
+2065 0 obj<</Parent 2060 0 R/Title(22.5. Using a IPC$ share deny)/Dest[1787 0 R/XYZ 0 649 0]/Prev 2064 0 R/Next 2066 0 R>>endobj
+2066 0 obj<</Parent 2060 0 R/Title(22.6. Upgrading Samba)/Dest[1787 0 R/XYZ 0 343 0]/Prev 2065 0 R>>endobj
+2067 0 obj<</Parent 1831 0 R/Count -2/First 2068 0 R/Last 2069 0 R/Title(Chapter 23. Unicode/Charsets)/Dest[1789 0 R/XYZ 0 786 0]/Prev 2060 0 R/Next 2070 0 R>>endobj
+2068 0 obj<</Parent 2067 0 R/Title(23.1. What are charsets and unicode?)/Dest[1789 0 R/XYZ 0 762 0]/Next 2069 0 R>>endobj
+2069 0 obj<</Parent 2067 0 R/Title(23.2. Samba and charsets)/Dest[1789 0 R/XYZ 0 449 0]/Prev 2068 0 R>>endobj
+2070 0 obj<</Parent 1831 0 R/Title(IV. Appendixes)/Dest[1791 0 R/XYZ 0 786 0]/Prev 2067 0 R/Next 2071 0 R>>endobj
+2071 0 obj<</Parent 1831 0 R/Count -5/First 2072 0 R/Last 2076 0 R/Title(Chapter 24. Portability)/Dest[1795 0 R/XYZ 0 786 0]/Prev 2070 0 R/Next 2078 0 R>>endobj
+2072 0 obj<</Parent 2071 0 R/Title(24.1. HPUX)/Dest[1795 0 R/XYZ 0 707 0]/Next 2073 0 R>>endobj
+2073 0 obj<</Parent 2071 0 R/Title(24.2. SCO Unix)/Dest[1795 0 R/XYZ 0 461 0]/Prev 2072 0 R/Next 2074 0 R>>endobj
+2074 0 obj<</Parent 2071 0 R/Title(24.3. DNIX)/Dest[1795 0 R/XYZ 0 346 0]/Prev 2073 0 R/Next 2075 0 R>>endobj
+2075 0 obj<</Parent 2071 0 R/Title(24.4. RedHat Linux Rembrandt-II)/Dest[1797 0 R/XYZ 0 280 0]/Prev 2074 0 R/Next 2076 0 R>>endobj
+2076 0 obj<</Parent 2071 0 R/Count -1/First 2077 0 R/Last 2077 0 R/Title(24.5. AIX)/Dest[1799 0 R/XYZ 0 786 0]/Prev 2075 0 R>>endobj
+2077 0 obj<</Parent 2076 0 R/Title(24.5.1. Sequential Read Ahead)/Dest[1799 0 R/XYZ 0 766 0]>>endobj
+2078 0 obj<</Parent 1831 0 R/Count -5/First 2079 0 R/Last 2092 0 R/Title(Chapter 25. Samba and other CIFS clients)/Dest[1801 0 R/XYZ 0 786 0]/Prev 2071 0 R/Next 2093 0 R>>endobj
+2079 0 obj<</Parent 2078 0 R/Title(25.1. Macintosh clients?)/Dest[1801 0 R/XYZ 0 721 0]/Next 2080 0 R>>endobj
+2080 0 obj<</Parent 2078 0 R/Count -4/First 2081 0 R/Last 2084 0 R/Title(25.2. OS2 Client)/Dest[1801 0 R/XYZ 0 513 0]/Prev 2079 0 R/Next 2085 0 R>>endobj
+2081 0 obj<</Parent 2080 0 R/Title(25.2.1. How can I configure OS/2 Warp Connect or OS/2 Warp 4 as a client for Samba?)/Dest[1801 0 R/XYZ 0 493 0]/Next 2082 0 R>>endobj
+2082 0 obj<</Parent 2080 0 R/Title(25.2.2. How can I configure OS/2 Warp 3 \(not Connect\), OS/2 1.2, 1.3 or 2.x for Samba?)/Dest[1803 0 R/XYZ 0 786 0]/Prev 2081 0 R/Next 2083 0 R>>endobj
+2083 0 obj<</Parent 2080 0 R/Title(25.2.3. Are there any other issues when OS/2 \(any version\) is used as a client?)/Dest[1803 0 R/XYZ 0 575 0]/Prev 2082 0 R/Next 2084 0 R>>endobj
+2084 0 obj<</Parent 2080 0 R/Title(25.2.4. How do I get printer driver download working for OS/2 clients?)/Dest[1803 0 R/XYZ 0 461 0]/Prev 2083 0 R>>endobj
+2085 0 obj<</Parent 2078 0 R/Count -5/First 2086 0 R/Last 2090 0 R/Title(25.3. Windows for Workgroups)/Dest[1803 0 R/XYZ 0 204 0]/Prev 2080 0 R/Next 2091 0 R>>endobj
+2086 0 obj<</Parent 2085 0 R/Title(25.3.1. Use latest TCP/IP stack from Microsoft)/Dest[1803 0 R/XYZ 0 184 0]/Next 2087 0 R>>endobj
+2087 0 obj<</Parent 2085 0 R/Title(25.3.2. Delete .pwl files after password change)/Dest[1805 0 R/XYZ 0 679 0]/Prev 2086 0 R/Next 2088 0 R>>endobj
+2088 0 obj<</Parent 2085 0 R/Title(25.3.3. Configure WfW password handling)/Dest[1805 0 R/XYZ 0 528 0]/Prev 2087 0 R/Next 2089 0 R>>endobj
+2089 0 obj<</Parent 2085 0 R/Title(25.3.4. Case handling of passwords)/Dest[1805 0 R/XYZ 0 430 0]/Prev 2088 0 R/Next 2090 0 R>>endobj
+2090 0 obj<</Parent 2085 0 R/Title(25.3.5. Use TCP/IP as default protocol)/Dest[1805 0 R/XYZ 0 345 0]/Prev 2089 0 R>>endobj
+2091 0 obj<</Parent 2078 0 R/Title(25.4. Windows '95/'98)/Dest[1805 0 R/XYZ 0 260 0]/Prev 2085 0 R/Next 2092 0 R>>endobj
+2092 0 obj<</Parent 2078 0 R/Title(25.5. Windows 2000 Service Pack 2)/Dest[1807 0 R/XYZ 0 679 0]/Prev 2091 0 R>>endobj
+2093 0 obj<</Parent 1831 0 R/Count -4/First 2094 0 R/Last 2099 0 R/Title(Chapter 26. How to compile SAMBA)/Dest[1809 0 R/XYZ 0 786 0]/Prev 2078 0 R/Next 2102 0 R>>endobj
+2094 0 obj<</Parent 2093 0 R/Count -2/First 2095 0 R/Last 2096 0 R/Title(26.1. Access Samba source code via CVS)/Dest[1809 0 R/XYZ 0 707 0]/Next 2097 0 R>>endobj
+2095 0 obj<</Parent 2094 0 R/Title(26.1.1. Introduction)/Dest[1809 0 R/XYZ 0 687 0]/Next 2096 0 R>>endobj
+2096 0 obj<</Parent 2094 0 R/Title(26.1.2. CVS Access to samba.org)/Dest[1809 0 R/XYZ 0 563 0]/Prev 2095 0 R>>endobj
+2097 0 obj<</Parent 2093 0 R/Title(26.2. Accessing the samba sources via rsync and ftp)/Dest[1811 0 R/XYZ 0 547 0]/Prev 2094 0 R/Next 2098 0 R>>endobj
+2098 0 obj<</Parent 2093 0 R/Title(26.3. Building the Binaries)/Dest[1811 0 R/XYZ 0 405 0]/Prev 2097 0 R/Next 2099 0 R>>endobj
+2099 0 obj<</Parent 2093 0 R/Count -2/First 2100 0 R/Last 2101 0 R/Title(26.4. Starting the smbd and nmbd)/Dest[1813 0 R/XYZ 0 665 0]/Prev 2098 0 R>>endobj
+2100 0 obj<</Parent 2099 0 R/Title(26.4.1. Starting from inetd.conf)/Dest[1813 0 R/XYZ 0 511 0]/Next 2101 0 R>>endobj
+2101 0 obj<</Parent 2099 0 R/Title(26.4.2. Alternative: starting it as a daemon)/Dest[1815 0 R/XYZ 0 692 0]/Prev 2100 0 R>>endobj
+2102 0 obj<</Parent 1831 0 R/Count -6/First 2103 0 R/Last 2108 0 R/Title(Chapter 27. Reporting Bugs)/Dest[1817 0 R/XYZ 0 786 0]/Prev 2093 0 R/Next 2109 0 R>>endobj
+2103 0 obj<</Parent 2102 0 R/Title(27.1. Introduction)/Dest[1817 0 R/XYZ 0 762 0]/Next 2104 0 R>>endobj
+2104 0 obj<</Parent 2102 0 R/Title(27.2. General info)/Dest[1817 0 R/XYZ 0 476 0]/Prev 2103 0 R/Next 2105 0 R>>endobj
+2105 0 obj<</Parent 2102 0 R/Title(27.3. Debug levels)/Dest[1817 0 R/XYZ 0 335 0]/Prev 2104 0 R/Next 2106 0 R>>endobj
+2106 0 obj<</Parent 2102 0 R/Title(27.4. Internal errors)/Dest[1819 0 R/XYZ 0 665 0]/Prev 2105 0 R/Next 2107 0 R>>endobj
+2107 0 obj<</Parent 2102 0 R/Title(27.5. Attaching to a running process)/Dest[1819 0 R/XYZ 0 313 0]/Prev 2106 0 R/Next 2108 0 R>>endobj
+2108 0 obj<</Parent 2102 0 R/Title(27.6. Patches)/Dest[1819 0 R/XYZ 0 211 0]/Prev 2107 0 R>>endobj
+2109 0 obj<</Parent 1831 0 R/Count -4/First 2110 0 R/Last 2124 0 R/Title(Chapter 28. The samba checklist)/Dest[1821 0 R/XYZ 0 786 0]/Prev 2102 0 R>>endobj
+2110 0 obj<</Parent 2109 0 R/Title(28.1. Introduction)/Dest[1821 0 R/XYZ 0 762 0]/Next 2111 0 R>>endobj
+2111 0 obj<</Parent 2109 0 R/Title(28.2. Assumptions)/Dest[1821 0 R/XYZ 0 581 0]/Prev 2110 0 R/Next 2112 0 R>>endobj
+2112 0 obj<</Parent 2109 0 R/Count -11/First 2113 0 R/Last 2123 0 R/Title(28.3. Tests)/Dest[1821 0 R/XYZ 0 252 0]/Prev 2111 0 R/Next 2124 0 R>>endobj
+2113 0 obj<</Parent 2112 0 R/Title(28.3.1. Test 1)/Dest[1821 0 R/XYZ 0 231 0]/Next 2114 0 R>>endobj
+2114 0 obj<</Parent 2112 0 R/Title(28.3.2. Test 2)/Dest[1823 0 R/XYZ 0 786 0]/Prev 2113 0 R/Next 2115 0 R>>endobj
+2115 0 obj<</Parent 2112 0 R/Title(28.3.3. Test 3)/Dest[1823 0 R/XYZ 0 583 0]/Prev 2114 0 R/Next 2116 0 R>>endobj
+2116 0 obj<</Parent 2112 0 R/Title(28.3.4. Test 4)/Dest[1825 0 R/XYZ 0 679 0]/Prev 2115 0 R/Next 2117 0 R>>endobj
+2117 0 obj<</Parent 2112 0 R/Title(28.3.5. Test 5)/Dest[1825 0 R/XYZ 0 528 0]/Prev 2116 0 R/Next 2118 0 R>>endobj
+2118 0 obj<</Parent 2112 0 R/Title(28.3.6. Test 6)/Dest[1825 0 R/XYZ 0 403 0]/Prev 2117 0 R/Next 2119 0 R>>endobj
+2119 0 obj<</Parent 2112 0 R/Title(28.3.7. Test 7)/Dest[1827 0 R/XYZ 0 786 0]/Prev 2118 0 R/Next 2120 0 R>>endobj
+2120 0 obj<</Parent 2112 0 R/Title(28.3.8. Test 8)/Dest[1827 0 R/XYZ 0 424 0]/Prev 2119 0 R/Next 2121 0 R>>endobj
+2121 0 obj<</Parent 2112 0 R/Title(28.3.9. Test 9)/Dest[1829 0 R/XYZ 0 758 0]/Prev 2120 0 R/Next 2122 0 R>>endobj
+2122 0 obj<</Parent 2112 0 R/Title(28.3.10. Test 10)/Dest[1829 0 R/XYZ 0 567 0]/Prev 2121 0 R/Next 2123 0 R>>endobj
+2123 0 obj<</Parent 2112 0 R/Title(28.3.11. Test 11)/Dest[1829 0 R/XYZ 0 430 0]/Prev 2122 0 R>>endobj
+2124 0 obj<</Parent 2109 0 R/Title(28.4. Still having troubles?)/Dest[1829 0 R/XYZ 0 292 0]/Prev 2112 0 R>>endobj
+2125 0 obj<</Type/Catalog/Pages 1476 0 R/PageLayout/SinglePage/Outlines 1831 0 R/OpenAction[1493 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()>>20<</S/D/St 13/P()>>24<</S/D/St 17/P()>>36<</S/D/St 29/P()>>37<</S/D/St 30/P()>>39<</S/D/St 32/P()>>41<</S/D/St 34/P()>>43<</S/D/St 36/P()>>60<</S/D/St 53/P()>>63<</S/D/St 56/P()>>66<</S/D/St 59/P()>>69<</S/D/St 62/P()>>70<</S/D/St 63/P()>>73<</S/D/St 66/P()>>83<</S/D/St 76/P()>>88<</S/D/St 81/P()>>91<</S/D/St 84/P()>>93<</S/D/St 86/P()>>104<</S/D/St 97/P()>>121<</S/D/St 114/P()>>134<</S/D/St 127/P()>>143<</S/D/St 136/P()>>146<</S/D/St 139/P()>>147<</S/D/St 140/P()>>151<</S/D/St 144/P()>>154<</S/D/St 147/P()>>156<</S/D/St 149/P()>>157<</S/D/St 150/P()>>159<</S/D/St 152/P()>>162<</S/D/St 155/P()>>166<</S/D/St 159/P()>>170<</S/D/St 163/P()>>172<</S/D/St 165/P()>>]>>>>endobj
 xref
-0 2127 
+0 2126 
 0000000000 65535 f 
 0000000015 00000 n 
 0000000247 00000 n 
@@ -4626,7 +4602,7 @@ xref
 0000006079 00000 n 
 0000006182 00000 n 
 0000006285 00000 n 
-0000006388 00000 n 
+0000006387 00000 n 
 0000006490 00000 n 
 0000006593 00000 n 
 0000006696 00000 n 
@@ -4653,20 +4629,20 @@ xref
 0000009060 00000 n 
 0000009163 00000 n 
 0000009266 00000 n 
-0000009368 00000 n 
-0000009470 00000 n 
-0000009572 00000 n 
-0000009675 00000 n 
+0000009369 00000 n 
+0000009472 00000 n 
+0000009574 00000 n 
+0000009676 00000 n 
 0000009778 00000 n 
 0000009881 00000 n 
 0000009984 00000 n 
-0000010086 00000 n 
-0000010189 00000 n 
+0000010087 00000 n 
+0000010190 00000 n 
 0000010292 00000 n 
-0000010395 00000 n 
-0000010498 00000 n 
-0000010601 00000 n 
-0000010704 00000 n 
+0000010394 00000 n 
+0000010497 00000 n 
+0000010600 00000 n 
+0000010703 00000 n 
 0000010806 00000 n 
 0000010909 00000 n 
 0000011012 00000 n 
@@ -4678,7 +4654,7 @@ xref
 0000011630 00000 n 
 0000011733 00000 n 
 0000011836 00000 n 
-0000011939 00000 n 
+0000011938 00000 n 
 0000012041 00000 n 
 0000012144 00000 n 
 0000012247 00000 n 
 0000013175 00000 n 
 0000013278 00000 n 
 0000013382 00000 n 
-0000013485 00000 n 
-0000013589 00000 n 
-0000013693 00000 n 
-0000013797 00000 n 
-0000013901 00000 n 
-0000014005 00000 n 
-0000014109 00000 n 
-0000014213 00000 n 
-0000014316 00000 n 
-0000014420 00000 n 
-0000014524 00000 n 
-0000014627 00000 n 
-0000014730 00000 n 
-0000014833 00000 n 
-0000014937 00000 n 
-0000015040 00000 n 
-0000015144 00000 n 
-0000015248 00000 n 
-0000015352 00000 n 
-0000015456 00000 n 
-0000015560 00000 n 
-0000015664 00000 n 
-0000015768 00000 n 
-0000015872 00000 n 
-0000015976 00000 n 
-0000016079 00000 n 
-0000016182 00000 n 
-0000016286 00000 n 
-0000016390 00000 n 
-0000016494 00000 n 
-0000016597 00000 n 
-0000016701 00000 n 
-0000016805 00000 n 
-0000016909 00000 n 
-0000017012 00000 n 
-0000017114 00000 n 
-0000017216 00000 n 
-0000017545 00000 n 
-0000017648 00000 n 
-0000017752 00000 n 
-0000017856 00000 n 
-0000017960 00000 n 
-0000018064 00000 n 
-0000018168 00000 n 
-0000018272 00000 n 
-0000018376 00000 n 
-0000018480 00000 n 
-0000018584 00000 n 
-0000018688 00000 n 
-0000018792 00000 n 
-0000018896 00000 n 
-0000019000 00000 n 
-0000019104 00000 n 
-0000019208 00000 n 
-0000019312 00000 n 
-0000019415 00000 n 
-0000019519 00000 n 
-0000019623 00000 n 
-0000019727 00000 n 
-0000019831 00000 n 
-0000019935 00000 n 
-0000020039 00000 n 
-0000020143 00000 n 
-0000020247 00000 n 
-0000020350 00000 n 
-0000020454 00000 n 
-0000020558 00000 n 
-0000020662 00000 n 
-0000020766 00000 n 
-0000020870 00000 n 
-0000020974 00000 n 
-0000021078 00000 n 
-0000021182 00000 n 
-0000021286 00000 n 
-0000021390 00000 n 
-0000021494 00000 n 
-0000021598 00000 n 
-0000021702 00000 n 
-0000021806 00000 n 
-0000021910 00000 n 
-0000022014 00000 n 
-0000022117 00000 n 
-0000022486 00000 n 
-0000022589 00000 n 
-0000022693 00000 n 
-0000022797 00000 n 
-0000022901 00000 n 
-0000023005 00000 n 
-0000023108 00000 n 
-0000023212 00000 n 
-0000023316 00000 n 
-0000023420 00000 n 
-0000023524 00000 n 
-0000023628 00000 n 
-0000023732 00000 n 
-0000023836 00000 n 
-0000023940 00000 n 
-0000024044 00000 n 
-0000024148 00000 n 
-0000024251 00000 n 
-0000024355 00000 n 
-0000024459 00000 n 
-0000024563 00000 n 
-0000024667 00000 n 
-0000024771 00000 n 
-0000024875 00000 n 
-0000024979 00000 n 
-0000025083 00000 n 
-0000025187 00000 n 
-0000025291 00000 n 
-0000025395 00000 n 
-0000025498 00000 n 
-0000025602 00000 n 
-0000025706 00000 n 
-0000025810 00000 n 
-0000025914 00000 n 
-0000026018 00000 n 
-0000026122 00000 n 
-0000026226 00000 n 
-0000026330 00000 n 
-0000026434 00000 n 
-0000026538 00000 n 
-0000026642 00000 n 
-0000026746 00000 n 
-0000026848 00000 n 
-0000026950 00000 n 
-0000027052 00000 n 
-0000027421 00000 n 
-0000027524 00000 n 
-0000027628 00000 n 
-0000027732 00000 n 
-0000027836 00000 n 
-0000027940 00000 n 
-0000028044 00000 n 
-0000028148 00000 n 
-0000028252 00000 n 
-0000028356 00000 n 
-0000028459 00000 n 
-0000028563 00000 n 
-0000028667 00000 n 
-0000028771 00000 n 
-0000028875 00000 n 
-0000028979 00000 n 
-0000029083 00000 n 
-0000029186 00000 n 
-0000029290 00000 n 
-0000029394 00000 n 
-0000029497 00000 n 
-0000029600 00000 n 
-0000029704 00000 n 
-0000029808 00000 n 
-0000029912 00000 n 
-0000030016 00000 n 
-0000030120 00000 n 
-0000030224 00000 n 
-0000030328 00000 n 
-0000030432 00000 n 
-0000030536 00000 n 
-0000030640 00000 n 
-0000030743 00000 n 
-0000030847 00000 n 
-0000030951 00000 n 
-0000031055 00000 n 
-0000031159 00000 n 
-0000031263 00000 n 
-0000031367 00000 n 
-0000031470 00000 n 
-0000031573 00000 n 
-0000031675 00000 n 
-0000031777 00000 n 
-0000032130 00000 n 
-0000032233 00000 n 
-0000032337 00000 n 
-0000032441 00000 n 
-0000032545 00000 n 
-0000032649 00000 n 
-0000032753 00000 n 
-0000032857 00000 n 
-0000032961 00000 n 
-0000033065 00000 n 
-0000033169 00000 n 
-0000033273 00000 n 
-0000033377 00000 n 
-0000033480 00000 n 
-0000033584 00000 n 
-0000033688 00000 n 
-0000033792 00000 n 
-0000033896 00000 n 
-0000034000 00000 n 
-0000034104 00000 n 
-0000034208 00000 n 
-0000034312 00000 n 
-0000034416 00000 n 
-0000034519 00000 n 
-0000034623 00000 n 
-0000034727 00000 n 
-0000034831 00000 n 
-0000034935 00000 n 
-0000035039 00000 n 
-0000035143 00000 n 
-0000035246 00000 n 
-0000035350 00000 n 
-0000035454 00000 n 
-0000035558 00000 n 
-0000035662 00000 n 
-0000035766 00000 n 
-0000035870 00000 n 
-0000035974 00000 n 
-0000036078 00000 n 
-0000036182 00000 n 
-0000036286 00000 n 
-0000036390 00000 n 
-0000036494 00000 n 
-0000036597 00000 n 
-0000036699 00000 n 
-0000036801 00000 n 
-0000037178 00000 n 
-0000037231 00000 n 
-0000037318 00000 n 
-0000037372 00000 n 
-0000037458 00000 n 
-0000037513 00000 n 
-0000037600 00000 n 
-0000037667 00000 n 
-0000037753 00000 n 
-0000037856 00000 n 
-0000037960 00000 n 
-0000038064 00000 n 
-0000038168 00000 n 
-0000038272 00000 n 
-0000038376 00000 n 
-0000038480 00000 n 
-0000038584 00000 n 
-0000038688 00000 n 
-0000038792 00000 n 
-0000038896 00000 n 
-0000039000 00000 n 
-0000039104 00000 n 
-0000039208 00000 n 
-0000039312 00000 n 
-0000039416 00000 n 
-0000039520 00000 n 
-0000039624 00000 n 
-0000039728 00000 n 
-0000039832 00000 n 
-0000039936 00000 n 
-0000040040 00000 n 
-0000040144 00000 n 
-0000040248 00000 n 
-0000040352 00000 n 
-0000040456 00000 n 
-0000040558 00000 n 
-0000040662 00000 n 
-0000040766 00000 n 
-0000040870 00000 n 
-0000040974 00000 n 
-0000041077 00000 n 
-0000041179 00000 n 
-0000041281 00000 n 
-0000041602 00000 n 
-0000041706 00000 n 
-0000041810 00000 n 
-0000041914 00000 n 
-0000042018 00000 n 
-0000042122 00000 n 
-0000042226 00000 n 
-0000042330 00000 n 
-0000042434 00000 n 
-0000042538 00000 n 
-0000042642 00000 n 
-0000042746 00000 n 
-0000042850 00000 n 
-0000042954 00000 n 
-0000043058 00000 n 
-0000043162 00000 n 
-0000043266 00000 n 
-0000043370 00000 n 
-0000043474 00000 n 
-0000043578 00000 n 
-0000043682 00000 n 
-0000043786 00000 n 
-0000043890 00000 n 
-0000043994 00000 n 
-0000044098 00000 n 
-0000044202 00000 n 
-0000044304 00000 n 
-0000044408 00000 n 
-0000044512 00000 n 
-0000044616 00000 n 
-0000044720 00000 n 
-0000044824 00000 n 
-0000044928 00000 n 
-0000045032 00000 n 
-0000045136 00000 n 
-0000045240 00000 n 
-0000045344 00000 n 
-0000045448 00000 n 
-0000045552 00000 n 
-0000045656 00000 n 
-0000045760 00000 n 
-0000045864 00000 n 
-0000045968 00000 n 
-0000046072 00000 n 
-0000046176 00000 n 
-0000046280 00000 n 
-0000046384 00000 n 
-0000046488 00000 n 
-0000046592 00000 n 
-0000046696 00000 n 
-0000046800 00000 n 
-0000046903 00000 n 
-0000047005 00000 n 
-0000047107 00000 n 
-0000047548 00000 n 
-0000047652 00000 n 
-0000047756 00000 n 
-0000047860 00000 n 
-0000047964 00000 n 
-0000048068 00000 n 
-0000048172 00000 n 
-0000048276 00000 n 
-0000048380 00000 n 
-0000048484 00000 n 
-0000048588 00000 n 
-0000048692 00000 n 
-0000048796 00000 n 
-0000048900 00000 n 
-0000049004 00000 n 
-0000049108 00000 n 
-0000049212 00000 n 
-0000049316 00000 n 
-0000049420 00000 n 
-0000049524 00000 n 
-0000049628 00000 n 
-0000049732 00000 n 
-0000049836 00000 n 
-0000049940 00000 n 
-0000050044 00000 n 
-0000050148 00000 n 
-0000050252 00000 n 
-0000050356 00000 n 
-0000050460 00000 n 
-0000050564 00000 n 
-0000050668 00000 n 
-0000050772 00000 n 
-0000050876 00000 n 
-0000050980 00000 n 
-0000051084 00000 n 
-0000051188 00000 n 
-0000051292 00000 n 
-0000051396 00000 n 
-0000051500 00000 n 
-0000051604 00000 n 
-0000051708 00000 n 
-0000051812 00000 n 
-0000051916 00000 n 
-0000052020 00000 n 
-0000052124 00000 n 
-0000052227 00000 n 
-0000052331 00000 n 
-0000052435 00000 n 
-0000052539 00000 n 
-0000052642 00000 n 
-0000052744 00000 n 
-0000052846 00000 n 
-0000053271 00000 n 
-0000053375 00000 n 
-0000053479 00000 n 
-0000053583 00000 n 
-0000053687 00000 n 
-0000053791 00000 n 
-0000053895 00000 n 
-0000053999 00000 n 
-0000054103 00000 n 
-0000054207 00000 n 
-0000054311 00000 n 
-0000054415 00000 n 
-0000054519 00000 n 
-0000054623 00000 n 
-0000054727 00000 n 
-0000054831 00000 n 
-0000054935 00000 n 
-0000055039 00000 n 
-0000055143 00000 n 
-0000055247 00000 n 
-0000055351 00000 n 
-0000055455 00000 n 
-0000055559 00000 n 
-0000055663 00000 n 
-0000055767 00000 n 
-0000055871 00000 n 
-0000055975 00000 n 
-0000056079 00000 n 
-0000056183 00000 n 
-0000056287 00000 n 
-0000056391 00000 n 
-0000056495 00000 n 
-0000056599 00000 n 
-0000056703 00000 n 
-0000056807 00000 n 
-0000057096 00000 n 
-0000057199 00000 n 
-0000057303 00000 n 
-0000057407 00000 n 
-0000057511 00000 n 
-0000057615 00000 n 
-0000057719 00000 n 
-0000057823 00000 n 
-0000057927 00000 n 
-0000058031 00000 n 
-0000058135 00000 n 
-0000058239 00000 n 
-0000058342 00000 n 
-0000058446 00000 n 
-0000058550 00000 n 
-0000058654 00000 n 
-0000058758 00000 n 
-0000058862 00000 n 
-0000058966 00000 n 
-0000059070 00000 n 
-0000059173 00000 n 
-0000059277 00000 n 
-0000059381 00000 n 
-0000059485 00000 n 
-0000059589 00000 n 
-0000059693 00000 n 
-0000059797 00000 n 
-0000059901 00000 n 
-0000060005 00000 n 
-0000060109 00000 n 
-0000060213 00000 n 
-0000060317 00000 n 
-0000060421 00000 n 
-0000060525 00000 n 
-0000060629 00000 n 
-0000060733 00000 n 
-0000060837 00000 n 
-0000060941 00000 n 
-0000061045 00000 n 
-0000061149 00000 n 
-0000061253 00000 n 
-0000061357 00000 n 
-0000061460 00000 n 
-0000061562 00000 n 
-0000061923 00000 n 
-0000061972 00000 n 
-0000062059 00000 n 
-0000062084 00000 n 
-0000062140 00000 n 
-0000062227 00000 n 
-0000062296 00000 n 
-0000062383 00000 n 
-0000062434 00000 n 
-0000062521 00000 n 
-0000062606 00000 n 
-0000062693 00000 n 
-0000062749 00000 n 
-0000062836 00000 n 
-0000062886 00000 n 
-0000062973 00000 n 
-0000063025 00000 n 
-0000063111 00000 n 
-0000063184 00000 n 
-0000063240 00000 n 
-0000063327 00000 n 
-0000063375 00000 n 
-0000063461 00000 n 
-0000063509 00000 n 
-0000063596 00000 n 
-0000063637 00000 n 
-0000063678 00000 n 
-0000063765 00000 n 
-0000063809 00000 n 
-0000063896 00000 n 
-0000063941 00000 n 
-0000064028 00000 n 
-0000064072 00000 n 
-0000064159 00000 n 
-0000064203 00000 n 
-0000064290 00000 n 
-0000064332 00000 n 
-0000064419 00000 n 
-0000064467 00000 n 
-0000064554 00000 n 
-0000064627 00000 n 
-0000064675 00000 n 
-0000064760 00000 n 
-0000064785 00000 n 
-0000064838 00000 n 
-0000064922 00000 n 
-0000064947 00000 n 
-0000065050 00000 n 
-0000065154 00000 n 
-0000065258 00000 n 
-0000065362 00000 n 
-0000065466 00000 n 
-0000065569 00000 n 
-0000065673 00000 n 
-0000065777 00000 n 
-0000065881 00000 n 
-0000065985 00000 n 
-0000066089 00000 n 
-0000066193 00000 n 
-0000066296 00000 n 
-0000066400 00000 n 
-0000066504 00000 n 
-0000066608 00000 n 
-0000066712 00000 n 
-0000066816 00000 n 
-0000066920 00000 n 
-0000067024 00000 n 
-0000067128 00000 n 
-0000067232 00000 n 
-0000067336 00000 n 
-0000067440 00000 n 
-0000067543 00000 n 
-0000067647 00000 n 
-0000067751 00000 n 
-0000067855 00000 n 
-0000067959 00000 n 
-0000068063 00000 n 
-0000068167 00000 n 
-0000068271 00000 n 
-0000068375 00000 n 
-0000068479 00000 n 
-0000068582 00000 n 
-0000068686 00000 n 
-0000068790 00000 n 
-0000068894 00000 n 
-0000068998 00000 n 
-0000069102 00000 n 
-0000069206 00000 n 
-0000069310 00000 n 
-0000069414 00000 n 
-0000069517 00000 n 
-0000069618 00000 n 
-0000069720 00000 n 
-0000070105 00000 n 
-0000070209 00000 n 
-0000070234 00000 n 
-0000070281 00000 n 
-0000070367 00000 n 
-0000070414 00000 n 
-0000070500 00000 n 
-0000070533 00000 n 
+0000013486 00000 n 
+0000013590 00000 n 
+0000013694 00000 n 
+0000013798 00000 n 
+0000013902 00000 n 
+0000014006 00000 n 
+0000014110 00000 n 
+0000014214 00000 n 
+0000014317 00000 n 
+0000014421 00000 n 
+0000014525 00000 n 
+0000014629 00000 n 
+0000014732 00000 n 
+0000014835 00000 n 
+0000014938 00000 n 
+0000015042 00000 n 
+0000015146 00000 n 
+0000015250 00000 n 
+0000015354 00000 n 
+0000015458 00000 n 
+0000015562 00000 n 
+0000015666 00000 n 
+0000015770 00000 n 
+0000015874 00000 n 
+0000015978 00000 n 
+0000016082 00000 n 
+0000016186 00000 n 
+0000016290 00000 n 
+0000016394 00000 n 
+0000016498 00000 n 
+0000016602 00000 n 
+0000016706 00000 n 
+0000016810 00000 n 
+0000016913 00000 n 
+0000017017 00000 n 
+0000017121 00000 n 
+0000017225 00000 n 
+0000017329 00000 n 
+0000017432 00000 n 
+0000017534 00000 n 
+0000017636 00000 n 
+0000017997 00000 n 
+0000018100 00000 n 
+0000018204 00000 n 
+0000018308 00000 n 
+0000018411 00000 n 
+0000018515 00000 n 
+0000018619 00000 n 
+0000018723 00000 n 
+0000018826 00000 n 
+0000018930 00000 n 
+0000019034 00000 n 
+0000019137 00000 n 
+0000019241 00000 n 
+0000019345 00000 n 
+0000019449 00000 n 
+0000019553 00000 n 
+0000019657 00000 n 
+0000019761 00000 n 
+0000019865 00000 n 
+0000019969 00000 n 
+0000020073 00000 n 
+0000020177 00000 n 
+0000020281 00000 n 
+0000020385 00000 n 
+0000020489 00000 n 
+0000020593 00000 n 
+0000020697 00000 n 
+0000020801 00000 n 
+0000020905 00000 n 
+0000021009 00000 n 
+0000021113 00000 n 
+0000021217 00000 n 
+0000021321 00000 n 
+0000021425 00000 n 
+0000021528 00000 n 
+0000021632 00000 n 
+0000021736 00000 n 
+0000021840 00000 n 
+0000021944 00000 n 
+0000022048 00000 n 
+0000022152 00000 n 
+0000022256 00000 n 
+0000022359 00000 n 
+0000022712 00000 n 
+0000022815 00000 n 
+0000022919 00000 n 
+0000023023 00000 n 
+0000023127 00000 n 
+0000023231 00000 n 
+0000023335 00000 n 
+0000023439 00000 n 
+0000023543 00000 n 
+0000023647 00000 n 
+0000023751 00000 n 
+0000023855 00000 n 
+0000023959 00000 n 
+0000024063 00000 n 
+0000024167 00000 n 
+0000024271 00000 n 
+0000024375 00000 n 
+0000024479 00000 n 
+0000024583 00000 n 
+0000024686 00000 n 
+0000024790 00000 n 
+0000024894 00000 n 
+0000024998 00000 n 
+0000025102 00000 n 
+0000025206 00000 n 
+0000025310 00000 n 
+0000025414 00000 n 
+0000025518 00000 n 
+0000025622 00000 n 
+0000025726 00000 n 
+0000025830 00000 n 
+0000025934 00000 n 
+0000026037 00000 n 
+0000026141 00000 n 
+0000026245 00000 n 
+0000026349 00000 n 
+0000026453 00000 n 
+0000026557 00000 n 
+0000026661 00000 n 
+0000026765 00000 n 
+0000026869 00000 n 
+0000026972 00000 n 
+0000027074 00000 n 
+0000027176 00000 n 
+0000027278 00000 n 
+0000027647 00000 n 
+0000027750 00000 n 
+0000027854 00000 n 
+0000027958 00000 n 
+0000028062 00000 n 
+0000028166 00000 n 
+0000028270 00000 n 
+0000028374 00000 n 
+0000028478 00000 n 
+0000028582 00000 n 
+0000028685 00000 n 
+0000028789 00000 n 
+0000028893 00000 n 
+0000028997 00000 n 
+0000029101 00000 n 
+0000029205 00000 n 
+0000029309 00000 n 
+0000029413 00000 n 
+0000029516 00000 n 
+0000029620 00000 n 
+0000029724 00000 n 
+0000029828 00000 n 
+0000029932 00000 n 
+0000030036 00000 n 
+0000030140 00000 n 
+0000030243 00000 n 
+0000030347 00000 n 
+0000030451 00000 n 
+0000030554 00000 n 
+0000030657 00000 n 
+0000030761 00000 n 
+0000030865 00000 n 
+0000030969 00000 n 
+0000031073 00000 n 
+0000031177 00000 n 
+0000031281 00000 n 
+0000031384 00000 n 
+0000031488 00000 n 
+0000031592 00000 n 
+0000031696 00000 n 
+0000031799 00000 n 
+0000031901 00000 n 
+0000032003 00000 n 
+0000032356 00000 n 
+0000032459 00000 n 
+0000032563 00000 n 
+0000032667 00000 n 
+0000032771 00000 n 
+0000032875 00000 n 
+0000032979 00000 n 
+0000033083 00000 n 
+0000033187 00000 n 
+0000033291 00000 n 
+0000033394 00000 n 
+0000033498 00000 n 
+0000033602 00000 n 
+0000033706 00000 n 
+0000033810 00000 n 
+0000033914 00000 n 
+0000034018 00000 n 
+0000034122 00000 n 
+0000034226 00000 n 
+0000034329 00000 n 
+0000034433 00000 n 
+0000034537 00000 n 
+0000034641 00000 n 
+0000034745 00000 n 
+0000034849 00000 n 
+0000034953 00000 n 
+0000035056 00000 n 
+0000035160 00000 n 
+0000035264 00000 n 
+0000035368 00000 n 
+0000035472 00000 n 
+0000035576 00000 n 
+0000035680 00000 n 
+0000035784 00000 n 
+0000035888 00000 n 
+0000035992 00000 n 
+0000036096 00000 n 
+0000036200 00000 n 
+0000036304 00000 n 
+0000036408 00000 n 
+0000036512 00000 n 
+0000036616 00000 n 
+0000036961 00000 n 
+0000037014 00000 n 
+0000037101 00000 n 
+0000037155 00000 n 
+0000037241 00000 n 
+0000037296 00000 n 
+0000037383 00000 n 
+0000037450 00000 n 
+0000037536 00000 n 
+0000037639 00000 n 
+0000037743 00000 n 
+0000037847 00000 n 
+0000037951 00000 n 
+0000038055 00000 n 
+0000038159 00000 n 
+0000038263 00000 n 
+0000038367 00000 n 
+0000038471 00000 n 
+0000038575 00000 n 
+0000038679 00000 n 
+0000038783 00000 n 
+0000038887 00000 n 
+0000038991 00000 n 
+0000039095 00000 n 
+0000039199 00000 n 
+0000039303 00000 n 
+0000039407 00000 n 
+0000039511 00000 n 
+0000039615 00000 n 
+0000039719 00000 n 
+0000039823 00000 n 
+0000039927 00000 n 
+0000040031 00000 n 
+0000040134 00000 n 
+0000040238 00000 n 
+0000040342 00000 n 
+0000040446 00000 n 
+0000040550 00000 n 
+0000040654 00000 n 
+0000040758 00000 n 
+0000040861 00000 n 
+0000040963 00000 n 
+0000041065 00000 n 
+0000041386 00000 n 
+0000041490 00000 n 
+0000041594 00000 n 
+0000041698 00000 n 
+0000041802 00000 n 
+0000041906 00000 n 
+0000042010 00000 n 
+0000042114 00000 n 
+0000042218 00000 n 
+0000042322 00000 n 
+0000042426 00000 n 
+0000042530 00000 n 
+0000042634 00000 n 
+0000042738 00000 n 
+0000042842 00000 n 
+0000042946 00000 n 
+0000043050 00000 n 
+0000043154 00000 n 
+0000043258 00000 n 
+0000043362 00000 n 
+0000043466 00000 n 
+0000043570 00000 n 
+0000043674 00000 n 
+0000043778 00000 n 
+0000043882 00000 n 
+0000043986 00000 n 
+0000044089 00000 n 
+0000044193 00000 n 
+0000044297 00000 n 
+0000044401 00000 n 
+0000044505 00000 n 
+0000044609 00000 n 
+0000044713 00000 n 
+0000044817 00000 n 
+0000044921 00000 n 
+0000045025 00000 n 
+0000045129 00000 n 
+0000045233 00000 n 
+0000045337 00000 n 
+0000045441 00000 n 
+0000045545 00000 n 
+0000045649 00000 n 
+0000045753 00000 n 
+0000045857 00000 n 
+0000045961 00000 n 
+0000046065 00000 n 
+0000046169 00000 n 
+0000046273 00000 n 
+0000046377 00000 n 
+0000046480 00000 n 
+0000046582 00000 n 
+0000046684 00000 n 
+0000047109 00000 n 
+0000047213 00000 n 
+0000047317 00000 n 
+0000047421 00000 n 
+0000047525 00000 n 
+0000047629 00000 n 
+0000047733 00000 n 
+0000047837 00000 n 
+0000047941 00000 n 
+0000048045 00000 n 
+0000048149 00000 n 
+0000048253 00000 n 
+0000048357 00000 n 
+0000048461 00000 n 
+0000048565 00000 n 
+0000048669 00000 n 
+0000048773 00000 n 
+0000048877 00000 n 
+0000048981 00000 n 
+0000049085 00000 n 
+0000049189 00000 n 
+0000049293 00000 n 
+0000049397 00000 n 
+0000049501 00000 n 
+0000049605 00000 n 
+0000049709 00000 n 
+0000049813 00000 n 
+0000049917 00000 n 
+0000050021 00000 n 
+0000050125 00000 n 
+0000050229 00000 n 
+0000050333 00000 n 
+0000050437 00000 n 
+0000050541 00000 n 
+0000050645 00000 n 
+0000050749 00000 n 
+0000050853 00000 n 
+0000050957 00000 n 
+0000051061 00000 n 
+0000051165 00000 n 
+0000051269 00000 n 
+0000051373 00000 n 
+0000051477 00000 n 
+0000051581 00000 n 
+0000051685 00000 n 
+0000051789 00000 n 
+0000051893 00000 n 
+0000051997 00000 n 
+0000052101 00000 n 
+0000052204 00000 n 
+0000052306 00000 n 
+0000052408 00000 n 
+0000052833 00000 n 
+0000052937 00000 n 
+0000053041 00000 n 
+0000053145 00000 n 
+0000053249 00000 n 
+0000053353 00000 n 
+0000053457 00000 n 
+0000053561 00000 n 
+0000053665 00000 n 
+0000053769 00000 n 
+0000053872 00000 n 
+0000053976 00000 n 
+0000054080 00000 n 
+0000054184 00000 n 
+0000054288 00000 n 
+0000054392 00000 n 
+0000054496 00000 n 
+0000054600 00000 n 
+0000054704 00000 n 
+0000054808 00000 n 
+0000054912 00000 n 
+0000055016 00000 n 
+0000055120 00000 n 
+0000055224 00000 n 
+0000055328 00000 n 
+0000055432 00000 n 
+0000055536 00000 n 
+0000055640 00000 n 
+0000055744 00000 n 
+0000055848 00000 n 
+0000055952 00000 n 
+0000056056 00000 n 
+0000056160 00000 n 
+0000056264 00000 n 
+0000056368 00000 n 
+0000056472 00000 n 
+0000056576 00000 n 
+0000056680 00000 n 
+0000056784 00000 n 
+0000056888 00000 n 
+0000057217 00000 n 
+0000057320 00000 n 
+0000057424 00000 n 
+0000057528 00000 n 
+0000057632 00000 n 
+0000057736 00000 n 
+0000057840 00000 n 
+0000057944 00000 n 
+0000058048 00000 n 
+0000058152 00000 n 
+0000058256 00000 n 
+0000058360 00000 n 
+0000058463 00000 n 
+0000058567 00000 n 
+0000058671 00000 n 
+0000058775 00000 n 
+0000058879 00000 n 
+0000058983 00000 n 
+0000059087 00000 n 
+0000059190 00000 n 
+0000059294 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 
+0000060334 00000 n 
+0000060438 00000 n 
+0000060542 00000 n 
+0000060646 00000 n 
+0000060750 00000 n 
+0000060854 00000 n 
+0000060958 00000 n 
+0000061062 00000 n 
+0000061166 00000 n 
+0000061270 00000 n 
+0000061374 00000 n 
+0000061478 00000 n 
+0000061581 00000 n 
+0000061683 00000 n 
+0000061785 00000 n 
+0000062154 00000 n 
+0000062258 00000 n 
+0000062283 00000 n 
+0000062332 00000 n 
+0000062419 00000 n 
+0000062444 00000 n 
+0000062500 00000 n 
+0000062587 00000 n 
+0000062656 00000 n 
+0000062743 00000 n 
+0000062794 00000 n 
+0000062881 00000 n 
+0000062966 00000 n 
+0000063053 00000 n 
+0000063109 00000 n 
+0000063196 00000 n 
+0000063246 00000 n 
+0000063333 00000 n 
+0000063385 00000 n 
+0000063471 00000 n 
+0000063544 00000 n 
+0000063600 00000 n 
+0000063687 00000 n 
+0000063735 00000 n 
+0000063821 00000 n 
+0000063869 00000 n 
+0000063956 00000 n 
+0000063997 00000 n 
+0000064038 00000 n 
+0000064125 00000 n 
+0000064169 00000 n 
+0000064256 00000 n 
+0000064301 00000 n 
+0000064388 00000 n 
+0000064432 00000 n 
+0000064519 00000 n 
+0000064563 00000 n 
+0000064650 00000 n 
+0000064692 00000 n 
+0000064779 00000 n 
+0000064827 00000 n 
+0000064914 00000 n 
+0000064987 00000 n 
+0000065035 00000 n 
+0000065120 00000 n 
+0000065145 00000 n 
+0000065198 00000 n 
+0000065282 00000 n 
+0000065307 00000 n 
+0000065410 00000 n 
+0000065514 00000 n 
+0000065618 00000 n 
+0000065722 00000 n 
+0000065826 00000 n 
+0000065929 00000 n 
+0000066032 00000 n 
+0000066136 00000 n 
+0000066240 00000 n 
+0000066344 00000 n 
+0000066448 00000 n 
+0000066552 00000 n 
+0000066656 00000 n 
+0000066760 00000 n 
+0000066864 00000 n 
+0000066968 00000 n 
+0000067072 00000 n 
+0000067176 00000 n 
+0000067280 00000 n 
+0000067384 00000 n 
+0000067488 00000 n 
+0000067591 00000 n 
+0000067695 00000 n 
+0000067799 00000 n 
+0000067903 00000 n 
+0000068007 00000 n 
+0000068111 00000 n 
+0000068215 00000 n 
+0000068319 00000 n 
+0000068423 00000 n 
+0000068527 00000 n 
+0000068630 00000 n 
+0000068734 00000 n 
+0000068838 00000 n 
+0000068942 00000 n 
+0000069046 00000 n 
+0000069150 00000 n 
+0000069254 00000 n 
+0000069358 00000 n 
+0000069462 00000 n 
+0000069566 00000 n 
+0000069668 00000 n 
+0000069770 00000 n 
+0000069872 00000 n 
+0000070241 00000 n 
+0000070345 00000 n 
+0000070370 00000 n 
+0000070418 00000 n 
+0000070505 00000 n 
+0000070530 00000 n 
 0000070578 00000 n 
 0000070665 00000 n 
 0000070710 00000 n 
 0000070796 00000 n 
-0000070829 00000 n 
-0000070877 00000 n 
-0000070964 00000 n 
-0000070989 00000 n 
-0000071037 00000 n 
-0000071124 00000 n 
-0000071169 00000 n 
-0000071255 00000 n 
-0000071298 00000 n 
-0000071384 00000 n 
-0000071425 00000 n 
-0000071511 00000 n 
-0000071560 00000 n 
-0000071646 00000 n 
-0000071692 00000 n 
-0000071778 00000 n 
-0000071823 00000 n 
-0000071909 00000 n 
-0000071961 00000 n 
-0000072047 00000 n 
-0000072097 00000 n 
-0000072183 00000 n 
-0000072229 00000 n 
-0000072315 00000 n 
-0000072358 00000 n 
-0000072444 00000 n 
-0000072488 00000 n 
-0000072574 00000 n 
-0000072617 00000 n 
-0000072703 00000 n 
-0000072748 00000 n 
-0000072834 00000 n 
-0000072872 00000 n 
-0000072958 00000 n 
-0000073000 00000 n 
-0000073086 00000 n 
-0000073129 00000 n 
-0000073215 00000 n 
-0000073253 00000 n 
-0000073339 00000 n 
-0000073381 00000 n 
-0000073467 00000 n 
-0000073511 00000 n 
-0000073597 00000 n 
-0000073644 00000 n 
-0000073730 00000 n 
-0000073778 00000 n 
-0000073863 00000 n 
-0000074056 00000 n 
-0000074105 00000 n 
-0000074191 00000 n 
-0000074216 00000 n 
-0000074263 00000 n 
-0000074350 00000 n 
-0000074375 00000 n 
-0000074430 00000 n 
-0000074517 00000 n 
-0000074573 00000 n 
-0000074660 00000 n 
-0000074693 00000 n 
-0000074741 00000 n 
-0000074828 00000 n 
-0000074902 00000 n 
-0000074989 00000 n 
-0000075057 00000 n 
-0000075144 00000 n 
-0000075198 00000 n 
-0000075285 00000 n 
-0000075353 00000 n 
-0000075440 00000 n 
-0000075514 00000 n 
-0000075601 00000 n 
-0000075649 00000 n 
-0000075736 00000 n 
-0000075793 00000 n 
-0000075880 00000 n 
-0000075961 00000 n 
-0000076016 00000 n 
-0000076103 00000 n 
-0000076184 00000 n 
-0000076271 00000 n 
-0000076304 00000 n 
-0000076357 00000 n 
-0000076444 00000 n 
-0000076469 00000 n 
-0000076517 00000 n 
-0000076604 00000 n 
-0000076646 00000 n 
-0000076733 00000 n 
-0000076776 00000 n 
-0000076863 00000 n 
-0000076913 00000 n 
-0000077000 00000 n 
-0000077048 00000 n 
-0000077135 00000 n 
-0000077192 00000 n 
-0000077235 00000 n 
-0000077322 00000 n 
-0000077376 00000 n 
-0000077463 00000 n 
-0000077508 00000 n 
-0000077595 00000 n 
-0000077652 00000 n 
-0000077738 00000 n 
-0000077834 00000 n 
-0000077919 00000 n 
-0000077976 00000 n 
-0000078079 00000 n 
-0000078183 00000 n 
-0000078286 00000 n 
-0000078390 00000 n 
-0000078494 00000 n 
-0000078598 00000 n 
-0000078702 00000 n 
-0000078806 00000 n 
-0000078910 00000 n 
-0000079014 00000 n 
-0000079118 00000 n 
-0000079222 00000 n 
-0000079325 00000 n 
-0000079428 00000 n 
-0000079532 00000 n 
-0000079636 00000 n 
-0000079740 00000 n 
-0000079843 00000 n 
-0000079947 00000 n 
-0000080051 00000 n 
-0000080155 00000 n 
-0000080259 00000 n 
-0000080363 00000 n 
-0000080467 00000 n 
-0000080571 00000 n 
-0000080675 00000 n 
-0000080779 00000 n 
-0000080883 00000 n 
-0000080987 00000 n 
-0000081091 00000 n 
-0000081195 00000 n 
-0000081299 00000 n 
-0000081403 00000 n 
-0000081507 00000 n 
-0000081611 00000 n 
-0000081715 00000 n 
-0000081819 00000 n 
-0000081923 00000 n 
-0000082027 00000 n 
-0000082131 00000 n 
-0000082234 00000 n 
-0000082337 00000 n 
-0000082439 00000 n 
-0000082541 00000 n 
-0000082910 00000 n 
-0000083014 00000 n 
-0000083118 00000 n 
-0000083222 00000 n 
-0000083326 00000 n 
-0000083430 00000 n 
-0000083533 00000 n 
-0000083637 00000 n 
-0000083741 00000 n 
-0000083845 00000 n 
-0000083949 00000 n 
-0000084053 00000 n 
-0000084157 00000 n 
-0000084261 00000 n 
-0000084365 00000 n 
-0000084469 00000 n 
-0000084573 00000 n 
-0000084677 00000 n 
-0000084781 00000 n 
-0000084885 00000 n 
-0000084989 00000 n 
-0000085093 00000 n 
-0000085197 00000 n 
-0000085301 00000 n 
-0000085404 00000 n 
-0000085508 00000 n 
-0000085612 00000 n 
-0000085716 00000 n 
-0000085820 00000 n 
-0000085923 00000 n 
-0000086027 00000 n 
-0000086131 00000 n 
-0000086235 00000 n 
-0000086339 00000 n 
-0000086443 00000 n 
-0000086547 00000 n 
-0000086651 00000 n 
-0000086755 00000 n 
-0000086859 00000 n 
-0000086963 00000 n 
-0000087066 00000 n 
-0000087170 00000 n 
-0000087274 00000 n 
-0000087378 00000 n 
-0000087482 00000 n 
-0000087586 00000 n 
-0000087690 00000 n 
-0000087794 00000 n 
-0000087898 00000 n 
-0000088001 00000 n 
-0000088103 00000 n 
-0000088205 00000 n 
-0000088630 00000 n 
-0000088733 00000 n 
-0000088837 00000 n 
-0000088941 00000 n 
-0000089045 00000 n 
-0000089149 00000 n 
-0000089253 00000 n 
-0000089357 00000 n 
-0000089461 00000 n 
-0000089565 00000 n 
-0000089669 00000 n 
-0000089773 00000 n 
-0000089877 00000 n 
-0000089981 00000 n 
-0000090084 00000 n 
-0000090188 00000 n 
-0000090292 00000 n 
-0000090395 00000 n 
-0000090499 00000 n 
-0000090603 00000 n 
-0000090707 00000 n 
-0000090811 00000 n 
-0000090915 00000 n 
-0000091019 00000 n 
-0000091123 00000 n 
-0000091227 00000 n 
-0000091330 00000 n 
-0000091434 00000 n 
-0000091538 00000 n 
-0000091642 00000 n 
-0000091746 00000 n 
-0000091850 00000 n 
-0000091954 00000 n 
-0000092057 00000 n 
-0000092161 00000 n 
-0000092265 00000 n 
-0000092562 00000 n 
-0000092644 00000 n 
-0000092731 00000 n 
-0000092816 00000 n 
-0000092903 00000 n 
-0000092936 00000 n 
-0000092982 00000 n 
-0000093068 00000 n 
-0000093114 00000 n 
-0000093197 00000 n 
-0000093230 00000 n 
-0000093274 00000 n 
-0000093361 00000 n 
-0000093412 00000 n 
-0000093499 00000 n 
-0000093548 00000 n 
-0000093635 00000 n 
-0000093683 00000 n 
-0000093769 00000 n 
-0000093818 00000 n 
-0000093871 00000 n 
-0000093958 00000 n 
-0000094008 00000 n 
-0000094095 00000 n 
-0000094128 00000 n 
-0000094191 00000 n 
-0000094278 00000 n 
-0000094336 00000 n 
-0000094423 00000 n 
-0000094517 00000 n 
+0000070839 00000 n 
+0000070925 00000 n 
+0000070966 00000 n 
+0000071052 00000 n 
+0000071101 00000 n 
+0000071187 00000 n 
+0000071233 00000 n 
+0000071319 00000 n 
+0000071364 00000 n 
+0000071450 00000 n 
+0000071502 00000 n 
+0000071588 00000 n 
+0000071638 00000 n 
+0000071724 00000 n 
+0000071770 00000 n 
+0000071856 00000 n 
+0000071899 00000 n 
+0000071985 00000 n 
+0000072029 00000 n 
+0000072115 00000 n 
+0000072158 00000 n 
+0000072244 00000 n 
+0000072289 00000 n 
+0000072375 00000 n 
+0000072413 00000 n 
+0000072499 00000 n 
+0000072541 00000 n 
+0000072627 00000 n 
+0000072670 00000 n 
+0000072756 00000 n 
+0000072794 00000 n 
+0000072880 00000 n 
+0000072922 00000 n 
+0000073008 00000 n 
+0000073052 00000 n 
+0000073138 00000 n 
+0000073185 00000 n 
+0000073271 00000 n 
+0000073319 00000 n 
+0000073406 00000 n 
+0000073599 00000 n 
+0000073648 00000 n 
+0000073734 00000 n 
+0000073759 00000 n 
+0000073806 00000 n 
+0000073893 00000 n 
+0000073918 00000 n 
+0000074033 00000 n 
+0000074120 00000 n 
+0000074145 00000 n 
+0000074227 00000 n 
+0000074314 00000 n 
+0000074399 00000 n 
+0000074486 00000 n 
+0000074541 00000 n 
+0000074628 00000 n 
+0000074684 00000 n 
+0000074771 00000 n 
+0000074820 00000 n 
+0000074868 00000 n 
+0000074955 00000 n 
+0000075029 00000 n 
+0000075116 00000 n 
+0000075184 00000 n 
+0000075271 00000 n 
+0000075325 00000 n 
+0000075412 00000 n 
+0000075480 00000 n 
+0000075567 00000 n 
+0000075641 00000 n 
+0000075728 00000 n 
+0000075776 00000 n 
+0000075863 00000 n 
+0000075920 00000 n 
+0000076007 00000 n 
+0000076088 00000 n 
+0000076143 00000 n 
+0000076230 00000 n 
+0000076311 00000 n 
+0000076398 00000 n 
+0000076431 00000 n 
+0000076484 00000 n 
+0000076571 00000 n 
+0000076596 00000 n 
+0000076644 00000 n 
+0000076731 00000 n 
+0000076773 00000 n 
+0000076860 00000 n 
+0000076903 00000 n 
+0000076990 00000 n 
+0000077040 00000 n 
+0000077127 00000 n 
+0000077175 00000 n 
+0000077262 00000 n 
+0000077319 00000 n 
+0000077362 00000 n 
+0000077449 00000 n 
+0000077503 00000 n 
+0000077590 00000 n 
+0000077635 00000 n 
+0000077722 00000 n 
+0000077763 00000 n 
+0000077820 00000 n 
+0000077907 00000 n 
+0000078003 00000 n 
+0000078089 00000 n 
+0000078122 00000 n 
+0000078225 00000 n 
+0000078329 00000 n 
+0000078433 00000 n 
+0000078537 00000 n 
+0000078641 00000 n 
+0000078745 00000 n 
+0000078849 00000 n 
+0000078953 00000 n 
+0000079057 00000 n 
+0000079161 00000 n 
+0000079265 00000 n 
+0000079369 00000 n 
+0000079473 00000 n 
+0000079577 00000 n 
+0000079681 00000 n 
+0000079785 00000 n 
+0000079889 00000 n 
+0000079993 00000 n 
+0000080097 00000 n 
+0000080200 00000 n 
+0000080304 00000 n 
+0000080408 00000 n 
+0000080512 00000 n 
+0000080616 00000 n 
+0000080720 00000 n 
+0000080824 00000 n 
+0000080928 00000 n 
+0000081032 00000 n 
+0000081136 00000 n 
+0000081239 00000 n 
+0000081343 00000 n 
+0000081447 00000 n 
+0000081551 00000 n 
+0000081654 00000 n 
+0000081758 00000 n 
+0000081862 00000 n 
+0000081965 00000 n 
+0000082069 00000 n 
+0000082173 00000 n 
+0000082277 00000 n 
+0000082381 00000 n 
+0000082484 00000 n 
+0000082586 00000 n 
+0000082688 00000 n 
+0000083057 00000 n 
+0000083161 00000 n 
+0000083265 00000 n 
+0000083369 00000 n 
+0000083473 00000 n 
+0000083577 00000 n 
+0000083681 00000 n 
+0000083785 00000 n 
+0000083889 00000 n 
+0000083993 00000 n 
+0000084097 00000 n 
+0000084201 00000 n 
+0000084305 00000 n 
+0000084409 00000 n 
+0000084513 00000 n 
+0000084617 00000 n 
+0000084720 00000 n 
+0000084824 00000 n 
+0000084928 00000 n 
+0000085032 00000 n 
+0000085136 00000 n 
+0000085240 00000 n 
+0000085344 00000 n 
+0000085448 00000 n 
+0000085552 00000 n 
+0000085655 00000 n 
+0000085759 00000 n 
+0000085863 00000 n 
+0000085967 00000 n 
+0000086071 00000 n 
+0000086175 00000 n 
+0000086279 00000 n 
+0000086383 00000 n 
+0000086487 00000 n 
+0000086591 00000 n 
+0000086695 00000 n 
+0000086799 00000 n 
+0000086903 00000 n 
+0000087007 00000 n 
+0000087111 00000 n 
+0000087215 00000 n 
+0000087319 00000 n 
+0000087423 00000 n 
+0000087526 00000 n 
+0000087630 00000 n 
+0000087734 00000 n 
+0000087838 00000 n 
+0000087942 00000 n 
+0000088046 00000 n 
+0000088149 00000 n 
+0000088251 00000 n 
+0000088353 00000 n 
+0000088778 00000 n 
+0000088882 00000 n 
+0000088986 00000 n 
+0000089090 00000 n 
+0000089194 00000 n 
+0000089297 00000 n 
+0000089401 00000 n 
+0000089505 00000 n 
+0000089609 00000 n 
+0000089713 00000 n 
+0000089817 00000 n 
+0000089921 00000 n 
+0000090025 00000 n 
+0000090129 00000 n 
+0000090232 00000 n 
+0000090335 00000 n 
+0000090439 00000 n 
+0000090543 00000 n 
+0000090647 00000 n 
+0000090751 00000 n 
+0000090855 00000 n 
+0000090959 00000 n 
+0000091063 00000 n 
+0000091167 00000 n 
+0000091271 00000 n 
+0000091375 00000 n 
+0000091478 00000 n 
+0000091582 00000 n 
+0000091686 00000 n 
+0000091790 00000 n 
+0000091894 00000 n 
+0000091998 00000 n 
+0000092102 00000 n 
+0000092206 00000 n 
+0000092309 00000 n 
+0000092413 00000 n 
+0000092517 00000 n 
+0000092621 00000 n 
+0000092725 00000 n 
+0000092829 00000 n 
+0000092933 00000 n 
+0000093036 00000 n 
+0000093140 00000 n 
+0000093244 00000 n 
+0000093605 00000 n 
+0000093653 00000 n 
+0000093740 00000 n 
+0000093787 00000 n 
+0000093873 00000 n 
+0000093920 00000 n 
+0000094006 00000 n 
+0000094047 00000 n 
+0000094092 00000 n 
+0000094179 00000 n 
+0000094224 00000 n 
+0000094310 00000 n 
+0000094343 00000 n 
+0000094389 00000 n 
+0000094474 00000 n 
+0000094520 00000 n 
 0000094603 00000 n 
-0000094644 00000 n 
-0000094687 00000 n 
-0000094773 00000 n 
-0000094821 00000 n 
-0000094908 00000 n 
-0000094949 00000 n 
-0000095036 00000 n 
-0000095080 00000 n 
-0000095167 00000 n 
-0000095211 00000 n 
-0000095297 00000 n 
-0000095354 00000 n 
-0000095400 00000 n 
-0000095487 00000 n 
-0000095512 00000 n 
-0000095561 00000 n 
-0000095648 00000 n 
-0000095702 00000 n 
-0000095789 00000 n 
-0000095840 00000 n 
-0000095927 00000 n 
-0000095981 00000 n 
-0000096068 00000 n 
-0000096118 00000 n 
-0000096203 00000 n 
-0000096260 00000 n 
-0000096310 00000 n 
-0000096397 00000 n 
-0000096461 00000 n 
-0000096548 00000 n 
-0000096581 00000 n 
-0000096658 00000 n 
-0000096744 00000 n 
-0000096834 00000 n 
-0000096920 00000 n 
-0000097009 00000 n 
-0000097095 00000 n 
-0000097136 00000 n 
-0000097207 00000 n 
-0000097293 00000 n 
-0000097425 00000 n 
-0000097511 00000 n 
-0000097585 00000 n 
-0000097671 00000 n 
-0000097768 00000 n 
-0000097854 00000 n 
-0000097903 00000 n 
-0000097968 00000 n 
-0000098055 00000 n 
-0000098080 00000 n 
-0000098145 00000 n 
-0000098232 00000 n 
-0000098257 00000 n 
-0000098319 00000 n 
-0000098406 00000 n 
-0000098431 00000 n 
-0000098480 00000 n 
-0000098567 00000 n 
-0000098592 00000 n 
-0000098640 00000 n 
-0000098727 00000 n 
-0000098777 00000 n 
-0000098861 00000 n 
-0000098905 00000 n 
-0000098989 00000 n 
-0000099030 00000 n 
-0000099074 00000 n 
-0000099160 00000 n 
-0000099210 00000 n 
-0000099296 00000 n 
-0000099346 00000 n 
-0000099432 00000 n 
-0000099481 00000 n 
-0000099567 00000 n 
-0000099614 00000 n 
-0000099700 00000 n 
-0000099758 00000 n 
-0000099874 00000 n 
-0000099963 00000 n 
-0000100079 00000 n 
-0000100166 00000 n 
-0000100202 00000 n 
-0000100322 00000 n 
-0000100410 00000 n 
-0000100454 00000 n 
-0000100543 00000 n 
-0000100587 00000 n 
-0000100676 00000 n 
-0000100721 00000 n 
-0000100811 00000 n 
-0000100899 00000 n 
-0000100963 00000 n 
-0000101051 00000 n 
-0000101087 00000 n 
-0000101149 00000 n 
-0000101237 00000 n 
-0000101264 00000 n 
-0000101320 00000 n 
-0000101409 00000 n 
-0000101436 00000 n 
-0000101540 00000 n 
-0000101645 00000 n 
-0000101750 00000 n 
-0000101855 00000 n 
-0000101960 00000 n 
-0000102065 00000 n 
-0000102170 00000 n 
-0000102275 00000 n 
-0000102380 00000 n 
-0000102485 00000 n 
-0000102590 00000 n 
-0000102694 00000 n 
-0000102799 00000 n 
-0000102904 00000 n 
-0000103009 00000 n 
-0000103114 00000 n 
-0000103219 00000 n 
-0000103324 00000 n 
-0000103428 00000 n 
-0000103533 00000 n 
-0000103638 00000 n 
-0000103743 00000 n 
-0000103848 00000 n 
-0000103953 00000 n 
-0000104058 00000 n 
-0000104163 00000 n 
-0000104268 00000 n 
-0000104373 00000 n 
-0000104478 00000 n 
-0000104583 00000 n 
-0000104688 00000 n 
-0000104793 00000 n 
-0000104898 00000 n 
-0000105002 00000 n 
-0000105107 00000 n 
-0000105212 00000 n 
-0000105317 00000 n 
-0000105422 00000 n 
-0000105527 00000 n 
-0000105632 00000 n 
-0000105737 00000 n 
-0000105842 00000 n 
-0000105947 00000 n 
-0000106051 00000 n 
-0000106155 00000 n 
-0000106258 00000 n 
-0000106361 00000 n 
-0000106802 00000 n 
-0000106907 00000 n 
-0000107012 00000 n 
-0000107117 00000 n 
-0000107221 00000 n 
-0000107326 00000 n 
-0000107431 00000 n 
-0000107536 00000 n 
-0000107641 00000 n 
-0000107746 00000 n 
-0000107851 00000 n 
-0000107956 00000 n 
-0000108061 00000 n 
-0000108166 00000 n 
-0000108271 00000 n 
-0000108376 00000 n 
-0000108481 00000 n 
-0000108586 00000 n 
-0000108691 00000 n 
-0000108796 00000 n 
-0000108985 00000 n 
-0000109041 00000 n 
-0000109129 00000 n 
-0000109198 00000 n 
-0000109286 00000 n 
-0000109362 00000 n 
-0000109451 00000 n 
-0000109522 00000 n 
-0000109610 00000 n 
-0000109690 00000 n 
-0000109779 00000 n 
-0000109842 00000 n 
-0000109925 00000 n 
-0000110013 00000 n 
-0000110089 00000 n 
-0000110178 00000 n 
-0000110252 00000 n 
-0000110341 00000 n 
-0000110420 00000 n 
-0000110509 00000 n 
-0000110563 00000 n 
-0000110612 00000 n 
-0000110701 00000 n 
-0000110728 00000 n 
-0000110777 00000 n 
-0000110866 00000 n 
-0000110893 00000 n 
-0000110943 00000 n 
-0000111032 00000 n 
-0000111096 00000 n 
-0000111185 00000 n 
-0000111249 00000 n 
-0000111338 00000 n 
-0000111393 00000 n 
-0000111482 00000 n 
-0000111536 00000 n 
-0000111605 00000 n 
-0000111693 00000 n 
-0000111749 00000 n 
-0000111838 00000 n 
-0000111874 00000 n 
-0000111923 00000 n 
-0000112012 00000 n 
-0000112077 00000 n 
-0000112166 00000 n 
-0000112222 00000 n 
-0000112311 00000 n 
-0000112359 00000 n 
-0000112448 00000 n 
-0000112502 00000 n 
-0000112557 00000 n 
-0000112646 00000 n 
-0000112701 00000 n 
-0000112790 00000 n 
-0000112826 00000 n 
-0000112862 00000 n 
-0000112898 00000 n 
-0000118585 00000 n 
-0000118630 00000 n 
-0000118675 00000 n 
-0000118720 00000 n 
-0000118765 00000 n 
-0000118810 00000 n 
-0000118855 00000 n 
-0000118900 00000 n 
-0000118945 00000 n 
-0000118990 00000 n 
-0000119035 00000 n 
-0000119080 00000 n 
-0000119125 00000 n 
-0000119170 00000 n 
-0000119215 00000 n 
-0000119260 00000 n 
-0000119305 00000 n 
-0000119350 00000 n 
-0000119395 00000 n 
-0000119440 00000 n 
-0000119485 00000 n 
-0000119530 00000 n 
-0000119575 00000 n 
-0000119620 00000 n 
-0000119665 00000 n 
-0000119710 00000 n 
-0000119755 00000 n 
-0000119800 00000 n 
-0000119845 00000 n 
-0000119890 00000 n 
-0000119935 00000 n 
-0000119980 00000 n 
-0000120025 00000 n 
-0000120070 00000 n 
-0000120115 00000 n 
-0000120160 00000 n 
-0000120205 00000 n 
-0000120250 00000 n 
-0000120295 00000 n 
-0000120340 00000 n 
-0000120385 00000 n 
-0000120430 00000 n 
-0000120475 00000 n 
-0000120520 00000 n 
-0000120565 00000 n 
-0000120610 00000 n 
-0000120655 00000 n 
-0000120700 00000 n 
-0000120745 00000 n 
-0000120790 00000 n 
-0000120835 00000 n 
-0000120880 00000 n 
-0000120925 00000 n 
-0000120970 00000 n 
-0000121015 00000 n 
-0000121060 00000 n 
-0000121105 00000 n 
-0000121150 00000 n 
-0000121195 00000 n 
-0000121240 00000 n 
-0000121285 00000 n 
-0000121330 00000 n 
-0000121375 00000 n 
-0000121420 00000 n 
-0000121465 00000 n 
-0000121510 00000 n 
-0000121555 00000 n 
-0000121600 00000 n 
-0000121645 00000 n 
-0000121690 00000 n 
-0000121735 00000 n 
-0000121780 00000 n 
-0000121825 00000 n 
-0000121870 00000 n 
-0000121915 00000 n 
-0000121960 00000 n 
-0000122005 00000 n 
-0000122050 00000 n 
-0000122095 00000 n 
-0000122140 00000 n 
-0000122185 00000 n 
-0000122230 00000 n 
-0000122275 00000 n 
-0000122320 00000 n 
-0000122365 00000 n 
-0000122410 00000 n 
-0000122455 00000 n 
-0000122500 00000 n 
-0000122545 00000 n 
-0000122590 00000 n 
-0000122635 00000 n 
-0000122680 00000 n 
-0000122725 00000 n 
-0000122770 00000 n 
-0000122815 00000 n 
-0000122860 00000 n 
-0000122905 00000 n 
-0000122950 00000 n 
-0000122995 00000 n 
-0000123040 00000 n 
-0000123085 00000 n 
-0000123130 00000 n 
-0000123175 00000 n 
-0000123220 00000 n 
-0000123265 00000 n 
-0000123310 00000 n 
-0000123355 00000 n 
-0000123400 00000 n 
-0000123445 00000 n 
-0000123490 00000 n 
-0000123535 00000 n 
-0000123580 00000 n 
-0000123625 00000 n 
-0000123670 00000 n 
-0000123715 00000 n 
-0000123760 00000 n 
-0000123805 00000 n 
-0000123850 00000 n 
-0000123895 00000 n 
-0000123940 00000 n 
-0000123985 00000 n 
-0000124030 00000 n 
-0000124075 00000 n 
-0000124120 00000 n 
-0000124165 00000 n 
-0000124210 00000 n 
-0000124255 00000 n 
-0000124300 00000 n 
-0000124345 00000 n 
-0000124390 00000 n 
-0000124435 00000 n 
-0000124480 00000 n 
-0000124525 00000 n 
-0000124570 00000 n 
-0000124615 00000 n 
-0000124660 00000 n 
-0000124705 00000 n 
-0000124750 00000 n 
-0000124795 00000 n 
-0000124840 00000 n 
-0000124885 00000 n 
-0000124930 00000 n 
-0000124975 00000 n 
-0000125020 00000 n 
-0000125065 00000 n 
-0000125110 00000 n 
-0000125155 00000 n 
-0000125200 00000 n 
-0000125245 00000 n 
-0000125290 00000 n 
-0000125335 00000 n 
-0000125380 00000 n 
-0000125425 00000 n 
-0000125470 00000 n 
-0000125515 00000 n 
-0000125560 00000 n 
-0000125605 00000 n 
-0000125650 00000 n 
-0000125695 00000 n 
-0000125740 00000 n 
-0000125785 00000 n 
-0000125830 00000 n 
-0000125875 00000 n 
-0000125920 00000 n 
-0000125965 00000 n 
-0000126010 00000 n 
-0000126055 00000 n 
-0000126100 00000 n 
-0000126145 00000 n 
-0000126190 00000 n 
-0000126235 00000 n 
-0000126280 00000 n 
-0000126325 00000 n 
-0000126370 00000 n 
-0000126415 00000 n 
-0000126460 00000 n 
-0000126505 00000 n 
-0000126550 00000 n 
-0000126595 00000 n 
-0000126640 00000 n 
-0000126685 00000 n 
-0000126730 00000 n 
-0000126775 00000 n 
-0000126820 00000 n 
-0000126865 00000 n 
-0000126910 00000 n 
-0000126955 00000 n 
-0000127000 00000 n 
-0000127045 00000 n 
-0000127090 00000 n 
-0000127135 00000 n 
-0000127180 00000 n 
-0000127225 00000 n 
-0000127270 00000 n 
-0000127315 00000 n 
-0000127360 00000 n 
-0000127405 00000 n 
-0000127450 00000 n 
-0000127495 00000 n 
-0000127540 00000 n 
-0000127585 00000 n 
-0000127630 00000 n 
-0000127675 00000 n 
-0000127720 00000 n 
-0000127765 00000 n 
-0000127810 00000 n 
-0000127855 00000 n 
-0000127900 00000 n 
-0000127945 00000 n 
-0000127990 00000 n 
-0000128035 00000 n 
-0000128080 00000 n 
-0000128125 00000 n 
-0000128170 00000 n 
-0000128215 00000 n 
-0000128260 00000 n 
-0000128305 00000 n 
-0000128350 00000 n 
-0000128395 00000 n 
-0000128440 00000 n 
-0000128485 00000 n 
-0000128530 00000 n 
-0000128575 00000 n 
-0000128620 00000 n 
-0000128665 00000 n 
-0000128710 00000 n 
-0000128755 00000 n 
-0000128800 00000 n 
-0000128845 00000 n 
-0000128890 00000 n 
-0000128935 00000 n 
-0000128980 00000 n 
-0000129025 00000 n 
-0000129070 00000 n 
-0000129115 00000 n 
-0000129160 00000 n 
-0000129205 00000 n 
-0000129250 00000 n 
-0000129295 00000 n 
-0000129340 00000 n 
-0000129385 00000 n 
-0000129430 00000 n 
-0000129475 00000 n 
-0000129520 00000 n 
-0000129565 00000 n 
-0000129610 00000 n 
-0000129655 00000 n 
-0000129700 00000 n 
-0000129745 00000 n 
-0000129790 00000 n 
-0000129835 00000 n 
-0000129880 00000 n 
-0000129925 00000 n 
-0000129970 00000 n 
-0000130015 00000 n 
-0000130060 00000 n 
-0000130105 00000 n 
-0000130150 00000 n 
-0000130195 00000 n 
-0000130240 00000 n 
-0000130285 00000 n 
-0000130330 00000 n 
-0000130375 00000 n 
-0000130420 00000 n 
-0000130465 00000 n 
-0000130510 00000 n 
-0000130555 00000 n 
-0000130600 00000 n 
-0000130645 00000 n 
-0000130690 00000 n 
-0000130735 00000 n 
-0000130780 00000 n 
-0000130825 00000 n 
-0000130870 00000 n 
-0000130915 00000 n 
-0000130960 00000 n 
-0000131005 00000 n 
-0000131050 00000 n 
-0000131095 00000 n 
-0000131140 00000 n 
-0000131185 00000 n 
-0000131230 00000 n 
-0000131275 00000 n 
-0000131320 00000 n 
-0000131365 00000 n 
-0000131410 00000 n 
-0000131455 00000 n 
-0000131500 00000 n 
-0000131545 00000 n 
-0000131590 00000 n 
-0000131635 00000 n 
-0000131680 00000 n 
-0000131725 00000 n 
-0000131770 00000 n 
-0000131815 00000 n 
-0000131860 00000 n 
-0000131905 00000 n 
-0000131950 00000 n 
-0000131995 00000 n 
-0000132040 00000 n 
-0000132085 00000 n 
-0000132130 00000 n 
-0000132175 00000 n 
-0000132220 00000 n 
-0000132265 00000 n 
-0000132310 00000 n 
-0000132355 00000 n 
-0000132400 00000 n 
-0000132445 00000 n 
-0000132490 00000 n 
-0000132534 00000 n 
-0000132579 00000 n 
-0000132624 00000 n 
-0000132669 00000 n 
-0000132714 00000 n 
-0000132759 00000 n 
-0000132804 00000 n 
-0000132849 00000 n 
-0000132894 00000 n 
-0000132939 00000 n 
-0000132984 00000 n 
-0000133029 00000 n 
-0000133074 00000 n 
-0000133119 00000 n 
-0000133164 00000 n 
-0000133209 00000 n 
-0000133253 00000 n 
-0000133298 00000 n 
-0000133343 00000 n 
-0000133388 00000 n 
-0000133433 00000 n 
-0000135057 00000 n 
-0000135218 00000 n 
-0000135387 00000 n 
-0000135580 00000 n 
-0000139621 00000 n 
-0000139815 00000 n 
-0000143896 00000 n 
-0000144090 00000 n 
-0000148180 00000 n 
-0000148374 00000 n 
-0000152107 00000 n 
-0000152301 00000 n 
-0000156347 00000 n 
-0000156541 00000 n 
-0000159649 00000 n 
-0000159843 00000 n 
-0000163786 00000 n 
-0000163947 00000 n 
-0000164181 00000 n 
-0000164384 00000 n 
-0000166981 00000 n 
-0000167165 00000 n 
-0000170445 00000 n 
-0000170620 00000 n 
-0000173218 00000 n 
-0000173393 00000 n 
-0000174928 00000 n 
-0000175089 00000 n 
-0000175277 00000 n 
-0000175480 00000 n 
-0000178202 00000 n 
-0000178405 00000 n 
-0000179839 00000 n 
-0000180056 00000 n 
-0000181509 00000 n 
-0000181706 00000 n 
-0000183558 00000 n 
-0000183718 00000 n 
-0000184213 00000 n 
-0000184383 00000 n 
-0000186123 00000 n 
-0000186302 00000 n 
-0000188177 00000 n 
-0000188365 00000 n 
-0000190207 00000 n 
-0000190395 00000 n 
-0000192105 00000 n 
-0000192274 00000 n 
-0000193077 00000 n 
-0000193306 00000 n 
-0000195175 00000 n 
-0000195372 00000 n 
-0000196911 00000 n 
-0000197108 00000 n 
-0000198604 00000 n 
-0000198827 00000 n 
-0000200996 00000 n 
-0000201199 00000 n 
-0000203092 00000 n 
-0000203306 00000 n 
-0000204607 00000 n 
-0000204839 00000 n 
-0000206512 00000 n 
-0000206725 00000 n 
-0000208629 00000 n 
-0000208837 00000 n 
-0000210115 00000 n 
-0000210354 00000 n 
-0000211950 00000 n 
-0000212138 00000 n 
-0000213396 00000 n 
-0000213557 00000 n 
-0000213747 00000 n 
-0000213959 00000 n 
-0000216815 00000 n 
-0000216990 00000 n 
-0000217338 00000 n 
-0000217527 00000 n 
-0000219168 00000 n 
-0000219356 00000 n 
-0000220849 00000 n 
-0000221028 00000 n 
-0000222758 00000 n 
-0000222938 00000 n 
-0000224902 00000 n 
-0000225115 00000 n 
-0000226889 00000 n 
-0000227111 00000 n 
-0000228160 00000 n 
-0000228405 00000 n 
-0000229825 00000 n 
-0000230039 00000 n 
-0000231576 00000 n 
-0000231774 00000 n 
-0000233805 00000 n 
-0000234070 00000 n 
-0000235826 00000 n 
-0000236039 00000 n 
-0000237616 00000 n 
-0000237823 00000 n 
-0000239818 00000 n 
-0000240050 00000 n 
-0000242079 00000 n 
-0000242291 00000 n 
-0000244272 00000 n 
-0000244485 00000 n 
-0000246689 00000 n 
-0000246919 00000 n 
-0000249106 00000 n 
-0000249266 00000 n 
-0000250003 00000 n 
-0000250197 00000 n 
-0000251753 00000 n 
-0000251933 00000 n 
-0000253674 00000 n 
-0000253863 00000 n 
-0000255064 00000 n 
-0000255261 00000 n 
-0000256579 00000 n 
-0000256767 00000 n 
-0000257636 00000 n 
-0000257868 00000 n 
-0000259291 00000 n 
-0000259526 00000 n 
-0000261442 00000 n 
-0000261603 00000 n 
-0000261796 00000 n 
-0000261999 00000 n 
-0000264638 00000 n 
-0000264822 00000 n 
-0000267495 00000 n 
-0000267670 00000 n 
-0000269459 00000 n 
-0000269663 00000 n 
-0000270360 00000 n 
-0000270567 00000 n 
-0000272315 00000 n 
-0000272513 00000 n 
-0000274241 00000 n 
-0000274454 00000 n 
-0000276141 00000 n 
-0000276354 00000 n 
-0000277903 00000 n 
-0000278072 00000 n 
-0000278652 00000 n 
-0000278840 00000 n 
-0000280334 00000 n 
-0000280554 00000 n 
-0000282159 00000 n 
-0000282369 00000 n 
-0000284036 00000 n 
-0000284239 00000 n 
-0000285331 00000 n 
-0000285595 00000 n 
-0000287319 00000 n 
-0000287565 00000 n 
-0000289455 00000 n 
-0000289678 00000 n 
-0000291468 00000 n 
-0000291691 00000 n 
-0000293566 00000 n 
-0000293745 00000 n 
-0000294969 00000 n 
-0000295201 00000 n 
-0000296872 00000 n 
-0000297051 00000 n 
-0000298631 00000 n 
-0000298810 00000 n 
-0000300357 00000 n 
-0000300536 00000 n 
-0000302040 00000 n 
-0000302219 00000 n 
-0000303885 00000 n 
-0000304055 00000 n 
-0000304801 00000 n 
-0000304999 00000 n 
-0000306817 00000 n 
-0000307050 00000 n 
-0000309105 00000 n 
-0000309294 00000 n 
-0000310950 00000 n 
-0000311120 00000 n 
-0000311882 00000 n 
-0000312052 00000 n 
-0000313157 00000 n 
-0000313327 00000 n 
-0000314147 00000 n 
-0000314317 00000 n 
-0000315134 00000 n 
-0000315304 00000 n 
-0000316466 00000 n 
-0000316689 00000 n 
-0000318342 00000 n 
-0000318568 00000 n 
-0000320251 00000 n 
-0000320496 00000 n 
-0000322387 00000 n 
-0000322556 00000 n 
-0000324301 00000 n 
-0000324485 00000 n 
-0000326235 00000 n 
-0000326491 00000 n 
-0000328467 00000 n 
-0000328666 00000 n 
-0000330889 00000 n 
-0000331100 00000 n 
-0000332867 00000 n 
-0000333068 00000 n 
-0000334084 00000 n 
-0000334273 00000 n 
-0000335966 00000 n 
-0000336145 00000 n 
-0000337890 00000 n 
-0000338078 00000 n 
-0000339914 00000 n 
-0000340108 00000 n 
-0000342020 00000 n 
-0000342251 00000 n 
-0000344355 00000 n 
-0000344567 00000 n 
-0000346003 00000 n 
-0000346217 00000 n 
-0000347666 00000 n 
-0000347873 00000 n 
-0000349110 00000 n 
-0000349289 00000 n 
-0000350276 00000 n 
-0000350464 00000 n 
-0000351596 00000 n 
-0000351784 00000 n 
-0000353285 00000 n 
-0000353473 00000 n 
-0000354556 00000 n 
-0000354745 00000 n 
-0000356078 00000 n 
-0000356282 00000 n 
-0000358271 00000 n 
-0000358468 00000 n 
-0000360584 00000 n 
-0000360805 00000 n 
-0000362779 00000 n 
-0000363010 00000 n 
-0000364482 00000 n 
-0000364693 00000 n 
-0000366522 00000 n 
-0000366701 00000 n 
-0000368620 00000 n 
-0000368850 00000 n 
-0000370591 00000 n 
-0000370812 00000 n 
-0000372412 00000 n 
-0000372634 00000 n 
-0000373930 00000 n 
-0000374171 00000 n 
-0000375777 00000 n 
-0000375975 00000 n 
-0000377824 00000 n 
-0000378021 00000 n 
-0000379642 00000 n 
-0000379821 00000 n 
-0000381874 00000 n 
-0000382053 00000 n 
-0000383891 00000 n 
-0000384070 00000 n 
-0000385780 00000 n 
-0000385959 00000 n 
-0000386393 00000 n 
-0000386563 00000 n 
-0000388236 00000 n 
-0000388415 00000 n 
-0000390200 00000 n 
-0000390379 00000 n 
-0000392025 00000 n 
-0000392194 00000 n 
-0000393509 00000 n 
-0000393697 00000 n 
-0000395264 00000 n 
-0000395452 00000 n 
-0000397067 00000 n 
-0000397255 00000 n 
-0000398643 00000 n 
-0000398813 00000 n 
-0000400448 00000 n 
-0000400618 00000 n 
-0000401631 00000 n 
-0000401845 00000 n 
-0000403332 00000 n 
-0000403512 00000 n 
-0000404276 00000 n 
+0000094636 00000 n 
+0000094680 00000 n 
+0000094767 00000 n 
+0000094818 00000 n 
+0000094905 00000 n 
+0000094954 00000 n 
+0000095041 00000 n 
+0000095089 00000 n 
+0000095175 00000 n 
+0000095224 00000 n 
+0000095279 00000 n 
+0000095365 00000 n 
+0000095390 00000 n 
+0000095443 00000 n 
+0000095530 00000 n 
+0000095580 00000 n 
+0000095667 00000 n 
+0000095700 00000 n 
+0000095819 00000 n 
+0000095905 00000 n 
+0000095948 00000 n 
+0000096035 00000 n 
+0000096078 00000 n 
+0000096165 00000 n 
+0000096206 00000 n 
+0000096269 00000 n 
+0000096356 00000 n 
+0000096414 00000 n 
+0000096501 00000 n 
+0000096595 00000 n 
+0000096681 00000 n 
+0000096722 00000 n 
+0000096765 00000 n 
+0000096851 00000 n 
+0000096899 00000 n 
+0000096986 00000 n 
+0000097027 00000 n 
+0000097114 00000 n 
+0000097158 00000 n 
+0000097245 00000 n 
+0000097289 00000 n 
+0000097375 00000 n 
+0000097432 00000 n 
+0000097478 00000 n 
+0000097565 00000 n 
+0000097590 00000 n 
+0000097639 00000 n 
+0000097726 00000 n 
+0000097780 00000 n 
+0000097867 00000 n 
+0000097918 00000 n 
+0000098005 00000 n 
+0000098059 00000 n 
+0000098146 00000 n 
+0000098196 00000 n 
+0000098281 00000 n 
+0000098338 00000 n 
+0000098388 00000 n 
+0000098475 00000 n 
+0000098539 00000 n 
+0000098626 00000 n 
+0000098659 00000 n 
+0000098736 00000 n 
+0000098822 00000 n 
+0000098912 00000 n 
+0000098998 00000 n 
+0000099087 00000 n 
+0000099173 00000 n 
+0000099214 00000 n 
+0000099285 00000 n 
+0000099371 00000 n 
+0000099503 00000 n 
+0000099589 00000 n 
+0000099663 00000 n 
+0000099749 00000 n 
+0000099846 00000 n 
+0000099932 00000 n 
+0000099981 00000 n 
+0000100046 00000 n 
+0000100133 00000 n 
+0000100158 00000 n 
+0000100223 00000 n 
+0000100311 00000 n 
+0000100338 00000 n 
+0000100401 00000 n 
+0000100490 00000 n 
+0000100517 00000 n 
+0000100567 00000 n 
+0000100656 00000 n 
+0000100683 00000 n 
+0000100732 00000 n 
+0000100821 00000 n 
+0000100872 00000 n 
+0000100958 00000 n 
+0000101003 00000 n 
+0000101089 00000 n 
+0000101134 00000 n 
+0000101179 00000 n 
+0000101267 00000 n 
+0000101318 00000 n 
+0000101406 00000 n 
+0000101457 00000 n 
+0000101545 00000 n 
+0000101595 00000 n 
+0000101683 00000 n 
+0000101731 00000 n 
+0000101819 00000 n 
+0000101882 00000 n 
+0000101972 00000 n 
+0000102060 00000 n 
+0000102124 00000 n 
+0000102212 00000 n 
+0000102248 00000 n 
+0000102310 00000 n 
+0000102398 00000 n 
+0000102425 00000 n 
+0000102481 00000 n 
+0000102570 00000 n 
+0000102597 00000 n 
+0000102701 00000 n 
+0000102806 00000 n 
+0000102911 00000 n 
+0000103016 00000 n 
+0000103121 00000 n 
+0000103226 00000 n 
+0000103331 00000 n 
+0000103435 00000 n 
+0000103540 00000 n 
+0000103645 00000 n 
+0000103750 00000 n 
+0000103855 00000 n 
+0000103960 00000 n 
+0000104065 00000 n 
+0000104170 00000 n 
+0000104275 00000 n 
+0000104380 00000 n 
+0000104485 00000 n 
+0000104590 00000 n 
+0000104695 00000 n 
+0000104800 00000 n 
+0000104905 00000 n 
+0000105009 00000 n 
+0000105114 00000 n 
+0000105219 00000 n 
+0000105324 00000 n 
+0000105429 00000 n 
+0000105534 00000 n 
+0000105639 00000 n 
+0000105744 00000 n 
+0000105849 00000 n 
+0000105953 00000 n 
+0000106058 00000 n 
+0000106163 00000 n 
+0000106268 00000 n 
+0000106373 00000 n 
+0000106478 00000 n 
+0000106583 00000 n 
+0000106687 00000 n 
+0000106792 00000 n 
+0000106897 00000 n 
+0000107002 00000 n 
+0000107107 00000 n 
+0000107212 00000 n 
+0000107316 00000 n 
+0000107419 00000 n 
+0000107522 00000 n 
+0000107963 00000 n 
+0000108068 00000 n 
+0000108173 00000 n 
+0000108278 00000 n 
+0000108383 00000 n 
+0000108488 00000 n 
+0000108593 00000 n 
+0000108698 00000 n 
+0000108779 00000 n 
+0000108835 00000 n 
+0000108923 00000 n 
+0000108992 00000 n 
+0000109080 00000 n 
+0000109156 00000 n 
+0000109245 00000 n 
+0000109316 00000 n 
+0000109404 00000 n 
+0000109484 00000 n 
+0000109573 00000 n 
+0000109636 00000 n 
+0000109719 00000 n 
+0000109807 00000 n 
+0000109883 00000 n 
+0000109972 00000 n 
+0000110046 00000 n 
+0000110135 00000 n 
+0000110214 00000 n 
+0000110303 00000 n 
+0000110357 00000 n 
+0000110406 00000 n 
+0000110495 00000 n 
+0000110522 00000 n 
+0000110571 00000 n 
+0000110660 00000 n 
+0000110687 00000 n 
+0000110737 00000 n 
+0000110826 00000 n 
+0000110890 00000 n 
+0000110979 00000 n 
+0000111043 00000 n 
+0000111132 00000 n 
+0000111187 00000 n 
+0000111276 00000 n 
+0000111330 00000 n 
+0000111399 00000 n 
+0000111487 00000 n 
+0000111543 00000 n 
+0000111632 00000 n 
+0000111668 00000 n 
+0000111717 00000 n 
+0000111806 00000 n 
+0000111871 00000 n 
+0000111960 00000 n 
+0000112016 00000 n 
+0000112105 00000 n 
+0000112153 00000 n 
+0000112242 00000 n 
+0000112296 00000 n 
+0000112351 00000 n 
+0000112440 00000 n 
+0000112495 00000 n 
+0000112584 00000 n 
+0000112620 00000 n 
+0000112656 00000 n 
+0000112692 00000 n 
+0000118297 00000 n 
+0000118342 00000 n 
+0000118387 00000 n 
+0000118432 00000 n 
+0000118477 00000 n 
+0000118522 00000 n 
+0000118567 00000 n 
+0000118612 00000 n 
+0000118657 00000 n 
+0000118702 00000 n 
+0000118747 00000 n 
+0000118792 00000 n 
+0000118837 00000 n 
+0000118882 00000 n 
+0000118927 00000 n 
+0000118972 00000 n 
+0000119017 00000 n 
+0000119062 00000 n 
+0000119107 00000 n 
+0000119152 00000 n 
+0000119197 00000 n 
+0000119242 00000 n 
+0000119287 00000 n 
+0000119332 00000 n 
+0000119377 00000 n 
+0000119422 00000 n 
+0000119467 00000 n 
+0000119512 00000 n 
+0000119557 00000 n 
+0000119602 00000 n 
+0000119647 00000 n 
+0000119692 00000 n 
+0000119737 00000 n 
+0000119782 00000 n 
+0000119827 00000 n 
+0000119872 00000 n 
+0000119917 00000 n 
+0000119962 00000 n 
+0000120007 00000 n 
+0000120052 00000 n 
+0000120097 00000 n 
+0000120142 00000 n 
+0000120187 00000 n 
+0000120232 00000 n 
+0000120277 00000 n 
+0000120322 00000 n 
+0000120367 00000 n 
+0000120412 00000 n 
+0000120457 00000 n 
+0000120502 00000 n 
+0000120547 00000 n 
+0000120592 00000 n 
+0000120637 00000 n 
+0000120682 00000 n 
+0000120727 00000 n 
+0000120772 00000 n 
+0000120817 00000 n 
+0000120862 00000 n 
+0000120907 00000 n 
+0000120952 00000 n 
+0000120997 00000 n 
+0000121042 00000 n 
+0000121087 00000 n 
+0000121132 00000 n 
+0000121177 00000 n 
+0000121222 00000 n 
+0000121267 00000 n 
+0000121312 00000 n 
+0000121357 00000 n 
+0000121402 00000 n 
+0000121447 00000 n 
+0000121492 00000 n 
+0000121537 00000 n 
+0000121582 00000 n 
+0000121627 00000 n 
+0000121672 00000 n 
+0000121717 00000 n 
+0000121762 00000 n 
+0000121807 00000 n 
+0000121852 00000 n 
+0000121897 00000 n 
+0000121942 00000 n 
+0000121987 00000 n 
+0000122032 00000 n 
+0000122077 00000 n 
+0000122122 00000 n 
+0000122167 00000 n 
+0000122212 00000 n 
+0000122257 00000 n 
+0000122302 00000 n 
+0000122347 00000 n 
+0000122392 00000 n 
+0000122437 00000 n 
+0000122482 00000 n 
+0000122527 00000 n 
+0000122572 00000 n 
+0000122617 00000 n 
+0000122662 00000 n 
+0000122707 00000 n 
+0000122752 00000 n 
+0000122797 00000 n 
+0000122842 00000 n 
+0000122887 00000 n 
+0000122932 00000 n 
+0000122977 00000 n 
+0000123022 00000 n 
+0000123067 00000 n 
+0000123112 00000 n 
+0000123157 00000 n 
+0000123202 00000 n 
+0000123247 00000 n 
+0000123292 00000 n 
+0000123337 00000 n 
+0000123382 00000 n 
+0000123427 00000 n 
+0000123472 00000 n 
+0000123517 00000 n 
+0000123562 00000 n 
+0000123607 00000 n 
+0000123652 00000 n 
+0000123697 00000 n 
+0000123742 00000 n 
+0000123787 00000 n 
+0000123832 00000 n 
+0000123877 00000 n 
+0000123922 00000 n 
+0000123967 00000 n 
+0000124012 00000 n 
+0000124057 00000 n 
+0000124102 00000 n 
+0000124147 00000 n 
+0000124192 00000 n 
+0000124237 00000 n 
+0000124282 00000 n 
+0000124327 00000 n 
+0000124372 00000 n 
+0000124417 00000 n 
+0000124462 00000 n 
+0000124507 00000 n 
+0000124552 00000 n 
+0000124597 00000 n 
+0000124642 00000 n 
+0000124687 00000 n 
+0000124732 00000 n 
+0000124777 00000 n 
+0000124822 00000 n 
+0000124867 00000 n 
+0000124912 00000 n 
+0000124957 00000 n 
+0000125002 00000 n 
+0000125047 00000 n 
+0000125092 00000 n 
+0000125137 00000 n 
+0000125182 00000 n 
+0000125227 00000 n 
+0000125272 00000 n 
+0000125317 00000 n 
+0000125362 00000 n 
+0000125407 00000 n 
+0000125452 00000 n 
+0000125497 00000 n 
+0000125542 00000 n 
+0000125587 00000 n 
+0000125632 00000 n 
+0000125677 00000 n 
+0000125722 00000 n 
+0000125767 00000 n 
+0000125812 00000 n 
+0000125857 00000 n 
+0000125902 00000 n 
+0000125947 00000 n 
+0000125992 00000 n 
+0000126037 00000 n 
+0000126082 00000 n 
+0000126127 00000 n 
+0000126172 00000 n 
+0000126217 00000 n 
+0000126262 00000 n 
+0000126307 00000 n 
+0000126352 00000 n 
+0000126397 00000 n 
+0000126442 00000 n 
+0000126487 00000 n 
+0000126532 00000 n 
+0000126577 00000 n 
+0000126622 00000 n 
+0000126667 00000 n 
+0000126712 00000 n 
+0000126757 00000 n 
+0000126802 00000 n 
+0000126847 00000 n 
+0000126892 00000 n 
+0000126937 00000 n 
+0000126982 00000 n 
+0000127027 00000 n 
+0000127072 00000 n 
+0000127117 00000 n 
+0000127162 00000 n 
+0000127207 00000 n 
+0000127252 00000 n 
+0000127297 00000 n 
+0000127342 00000 n 
+0000127387 00000 n 
+0000127432 00000 n 
+0000127477 00000 n 
+0000127522 00000 n 
+0000127567 00000 n 
+0000127612 00000 n 
+0000127657 00000 n 
+0000127702 00000 n 
+0000127747 00000 n 
+0000127792 00000 n 
+0000127837 00000 n 
+0000127882 00000 n 
+0000127927 00000 n 
+0000127972 00000 n 
+0000128017 00000 n 
+0000128062 00000 n 
+0000128107 00000 n 
+0000128152 00000 n 
+0000128197 00000 n 
+0000128242 00000 n 
+0000128287 00000 n 
+0000128332 00000 n 
+0000128377 00000 n 
+0000128422 00000 n 
+0000128467 00000 n 
+0000128512 00000 n 
+0000128557 00000 n 
+0000128602 00000 n 
+0000128647 00000 n 
+0000128692 00000 n 
+0000128737 00000 n 
+0000128782 00000 n 
+0000128827 00000 n 
+0000128872 00000 n 
+0000128917 00000 n 
+0000128962 00000 n 
+0000129007 00000 n 
+0000129052 00000 n 
+0000129097 00000 n 
+0000129142 00000 n 
+0000129187 00000 n 
+0000129232 00000 n 
+0000129277 00000 n 
+0000129322 00000 n 
+0000129367 00000 n 
+0000129412 00000 n 
+0000129457 00000 n 
+0000129502 00000 n 
+0000129547 00000 n 
+0000129592 00000 n 
+0000129637 00000 n 
+0000129682 00000 n 
+0000129727 00000 n 
+0000129772 00000 n 
+0000129817 00000 n 
+0000129862 00000 n 
+0000129907 00000 n 
+0000129952 00000 n 
+0000129997 00000 n 
+0000130042 00000 n 
+0000130087 00000 n 
+0000130132 00000 n 
+0000130177 00000 n 
+0000130222 00000 n 
+0000130267 00000 n 
+0000130312 00000 n 
+0000130357 00000 n 
+0000130402 00000 n 
+0000130447 00000 n 
+0000130492 00000 n 
+0000130537 00000 n 
+0000130582 00000 n 
+0000130627 00000 n 
+0000130672 00000 n 
+0000130717 00000 n 
+0000130762 00000 n 
+0000130807 00000 n 
+0000130852 00000 n 
+0000130897 00000 n 
+0000130942 00000 n 
+0000130987 00000 n 
+0000131032 00000 n 
+0000131077 00000 n 
+0000131122 00000 n 
+0000131167 00000 n 
+0000131212 00000 n 
+0000131257 00000 n 
+0000131302 00000 n 
+0000131347 00000 n 
+0000131392 00000 n 
+0000131437 00000 n 
+0000131482 00000 n 
+0000131527 00000 n 
+0000131572 00000 n 
+0000131617 00000 n 
+0000131662 00000 n 
+0000131707 00000 n 
+0000131752 00000 n 
+0000131797 00000 n 
+0000131842 00000 n 
+0000131887 00000 n 
+0000131932 00000 n 
+0000131977 00000 n 
+0000132022 00000 n 
+0000132067 00000 n 
+0000132112 00000 n 
+0000132157 00000 n 
+0000132202 00000 n 
+0000132247 00000 n 
+0000132292 00000 n 
+0000132337 00000 n 
+0000132382 00000 n 
+0000132427 00000 n 
+0000132472 00000 n 
+0000132517 00000 n 
+0000132562 00000 n 
+0000132607 00000 n 
+0000132652 00000 n 
+0000132697 00000 n 
+0000132742 00000 n 
+0000132787 00000 n 
+0000132832 00000 n 
+0000132877 00000 n 
+0000132922 00000 n 
+0000132967 00000 n 
+0000134609 00000 n 
+0000134770 00000 n 
+0000134939 00000 n 
+0000135132 00000 n 
+0000139029 00000 n 
+0000139223 00000 n 
+0000143650 00000 n 
+0000143844 00000 n 
+0000148198 00000 n 
+0000148392 00000 n 
+0000152436 00000 n 
+0000152630 00000 n 
+0000156208 00000 n 
+0000156402 00000 n 
+0000159997 00000 n 
+0000160191 00000 n 
+0000163343 00000 n 
+0000163504 00000 n 
+0000163738 00000 n 
+0000163941 00000 n 
+0000166521 00000 n 
+0000166696 00000 n 
+0000170340 00000 n 
+0000170515 00000 n 
+0000173018 00000 n 
+0000173193 00000 n 
+0000174969 00000 n 
+0000175130 00000 n 
+0000175318 00000 n 
+0000175521 00000 n 
+0000178152 00000 n 
+0000178327 00000 n 
+0000178592 00000 n 
+0000178795 00000 n 
+0000180229 00000 n 
+0000180446 00000 n 
+0000181900 00000 n 
+0000182097 00000 n 
+0000183949 00000 n 
+0000184109 00000 n 
+0000184604 00000 n 
+0000184774 00000 n 
+0000186514 00000 n 
+0000186702 00000 n 
+0000188191 00000 n 
+0000188370 00000 n 
+0000190346 00000 n 
+0000190525 00000 n 
+0000191467 00000 n 
+0000191696 00000 n 
+0000193565 00000 n 
+0000193762 00000 n 
+0000195301 00000 n 
+0000195498 00000 n 
+0000196994 00000 n 
+0000197217 00000 n 
+0000199386 00000 n 
+0000199589 00000 n 
+0000201482 00000 n 
+0000201696 00000 n 
+0000202997 00000 n 
+0000203229 00000 n 
+0000204902 00000 n 
+0000205115 00000 n 
+0000207019 00000 n 
+0000207227 00000 n 
+0000208505 00000 n 
+0000208744 00000 n 
+0000210263 00000 n 
+0000210451 00000 n 
+0000211763 00000 n 
+0000211951 00000 n 
+0000212498 00000 n 
+0000212659 00000 n 
+0000212849 00000 n 
+0000213052 00000 n 
+0000216173 00000 n 
+0000216348 00000 n 
+0000216696 00000 n 
+0000216885 00000 n 
+0000218508 00000 n 
+0000218696 00000 n 
+0000220068 00000 n 
+0000220238 00000 n 
+0000222193 00000 n 
+0000222353 00000 n 
+0000223034 00000 n 
+0000223247 00000 n 
+0000224669 00000 n 
+0000224883 00000 n 
+0000226452 00000 n 
+0000226650 00000 n 
+0000228572 00000 n 
+0000228837 00000 n 
+0000230548 00000 n 
+0000230761 00000 n 
+0000232329 00000 n 
+0000232536 00000 n 
+0000234565 00000 n 
+0000234797 00000 n 
+0000236825 00000 n 
+0000237038 00000 n 
+0000239006 00000 n 
+0000239218 00000 n 
+0000241199 00000 n 
+0000241453 00000 n 
+0000243716 00000 n 
+0000243946 00000 n 
+0000245991 00000 n 
+0000246222 00000 n 
+0000248131 00000 n 
+0000248342 00000 n 
+0000250218 00000 n 
+0000250387 00000 n 
+0000252226 00000 n 
+0000252448 00000 n 
+0000254446 00000 n 
+0000254697 00000 n 
+0000256661 00000 n 
+0000256830 00000 n 
+0000258360 00000 n 
+0000258554 00000 n 
+0000260133 00000 n 
+0000260313 00000 n 
+0000262054 00000 n 
+0000262243 00000 n 
+0000263444 00000 n 
+0000263623 00000 n 
+0000264712 00000 n 
+0000264909 00000 n 
+0000266280 00000 n 
+0000266459 00000 n 
+0000267185 00000 n 
+0000267417 00000 n 
+0000268891 00000 n 
+0000269094 00000 n 
+0000270903 00000 n 
+0000271087 00000 n 
+0000271622 00000 n 
+0000271783 00000 n 
+0000271974 00000 n 
+0000272186 00000 n 
+0000275133 00000 n 
+0000275308 00000 n 
+0000277928 00000 n 
+0000278103 00000 n 
+0000279934 00000 n 
+0000280132 00000 n 
+0000281493 00000 n 
+0000281691 00000 n 
+0000283380 00000 n 
+0000283568 00000 n 
+0000285250 00000 n 
+0000285429 00000 n 
+0000287531 00000 n 
+0000287710 00000 n 
+0000289483 00000 n 
+0000289662 00000 n 
+0000291343 00000 n 
+0000291532 00000 n 
+0000293380 00000 n 
+0000293593 00000 n 
+0000295624 00000 n 
+0000295837 00000 n 
+0000297389 00000 n 
+0000297578 00000 n 
+0000298852 00000 n 
+0000299059 00000 n 
+0000300832 00000 n 
+0000301030 00000 n 
+0000302793 00000 n 
+0000303006 00000 n 
+0000304714 00000 n 
+0000304917 00000 n 
+0000306297 00000 n 
+0000306486 00000 n 
+0000307375 00000 n 
+0000307563 00000 n 
+0000309089 00000 n 
+0000309292 00000 n 
+0000311000 00000 n 
+0000311203 00000 n 
+0000312020 00000 n 
+0000312233 00000 n 
+0000313719 00000 n 
+0000313899 00000 n 
+0000314663 00000 n 
+0000314927 00000 n 
+0000316651 00000 n 
+0000316897 00000 n 
+0000318788 00000 n 
+0000319011 00000 n 
+0000320801 00000 n 
+0000321024 00000 n 
+0000322899 00000 n 
+0000323078 00000 n 
+0000324302 00000 n 
+0000324534 00000 n 
+0000326203 00000 n 
+0000326382 00000 n 
+0000327962 00000 n 
+0000328141 00000 n 
+0000329688 00000 n 
+0000329867 00000 n 
+0000331371 00000 n 
+0000331550 00000 n 
+0000333215 00000 n 
+0000333385 00000 n 
+0000334131 00000 n 
+0000334329 00000 n 
+0000336147 00000 n 
+0000336380 00000 n 
+0000338436 00000 n 
+0000338625 00000 n 
+0000340281 00000 n 
+0000340451 00000 n 
+0000341213 00000 n 
+0000341383 00000 n 
+0000342488 00000 n 
+0000342658 00000 n 
+0000343478 00000 n 
+0000343648 00000 n 
+0000344465 00000 n 
+0000344635 00000 n 
+0000345797 00000 n 
+0000346020 00000 n 
+0000347673 00000 n 
+0000347899 00000 n 
+0000349582 00000 n 
+0000349827 00000 n 
+0000351718 00000 n 
+0000351887 00000 n 
+0000353633 00000 n 
+0000353818 00000 n 
+0000355568 00000 n 
+0000355824 00000 n 
+0000357801 00000 n 
+0000358000 00000 n 
+0000360224 00000 n 
+0000360435 00000 n 
+0000362202 00000 n 
+0000362403 00000 n 
+0000363421 00000 n 
+0000363610 00000 n 
+0000365304 00000 n 
+0000365483 00000 n 
+0000367228 00000 n 
+0000367416 00000 n 
+0000369252 00000 n 
+0000369447 00000 n 
+0000371359 00000 n 
+0000371591 00000 n 
+0000373693 00000 n 
+0000373906 00000 n 
+0000375343 00000 n 
+0000375557 00000 n 
+0000377006 00000 n 
+0000377213 00000 n 
+0000378450 00000 n 
+0000378629 00000 n 
+0000379616 00000 n 
+0000379804 00000 n 
+0000380936 00000 n 
+0000381124 00000 n 
+0000382625 00000 n 
+0000382813 00000 n 
+0000383895 00000 n 
+0000384084 00000 n 
+0000385416 00000 n 
+0000385586 00000 n 
+0000387260 00000 n 
+0000387439 00000 n 
+0000389223 00000 n 
+0000389402 00000 n 
+0000391047 00000 n 
+0000391216 00000 n 
+0000392530 00000 n 
+0000392718 00000 n 
+0000394284 00000 n 
+0000394472 00000 n 
+0000396091 00000 n 
+0000396279 00000 n 
+0000397679 00000 n 
+0000397849 00000 n 
+0000399482 00000 n 
+0000399652 00000 n 
+0000400665 00000 n 
+0000400862 00000 n 
+0000402073 00000 n 
+0000402277 00000 n 
+0000403623 00000 n 
+0000403809 00000 n 
+0000404285 00000 n 
 0000404473 00000 n 
-0000405686 00000 n 
-0000405890 00000 n 
-0000407236 00000 n 
-0000407422 00000 n 
-0000407898 00000 n 
-0000408077 00000 n 
-0000409622 00000 n 
-0000409801 00000 n 
-0000411038 00000 n 
-0000411242 00000 n 
-0000412654 00000 n 
-0000412849 00000 n 
-0000415544 00000 n 
-0000415720 00000 n 
-0000416495 00000 n 
-0000416665 00000 n 
-0000418173 00000 n 
-0000418343 00000 n 
-0000419742 00000 n 
-0000419912 00000 n 
-0000421462 00000 n 
-0000421631 00000 n 
-0000422595 00000 n 
-0000422774 00000 n 
-0000424302 00000 n 
-0000424490 00000 n 
-0000425458 00000 n 
-0000425628 00000 n 
-0000425958 00000 n 
-0000426154 00000 n 
-0000427884 00000 n 
-0000428098 00000 n 
-0000429782 00000 n 
-0000429977 00000 n 
-0000431684 00000 n 
-0000431897 00000 n 
-0000433384 00000 n 
-0000433579 00000 n 
-0000435161 00000 n 
-0000435384 00000 n 
-0000436749 00000 n 
-0000436937 00000 n 
-0000438108 00000 n 
-0000438305 00000 n 
-0000439856 00000 n 
-0000440044 00000 n 
-0000440688 00000 n 
-0000440892 00000 n 
-0000442630 00000 n 
-0000442818 00000 n 
-0000444560 00000 n 
-0000444739 00000 n 
-0000446137 00000 n 
-0000446316 00000 n 
-0000448014 00000 n 
-0000448193 00000 n 
-0000449674 00000 n 
-0000449853 00000 n 
-0000451637 00000 n 
-0000451841 00000 n 
-0000453490 00000 n 
-0000453549 00000 n 
-0000453652 00000 n 
-0000453817 00000 n 
-0000453899 00000 n 
-0000454007 00000 n 
-0000454130 00000 n 
-0000454242 00000 n 
-0000454420 00000 n 
-0000454541 00000 n 
-0000454701 00000 n 
-0000454819 00000 n 
-0000454916 00000 n 
-0000455068 00000 n 
-0000455208 00000 n 
-0000455386 00000 n 
-0000455541 00000 n 
-0000455643 00000 n 
-0000455743 00000 n 
-0000455952 00000 n 
-0000456053 00000 n 
-0000456241 00000 n 
-0000456384 00000 n 
-0000456530 00000 n 
-0000456646 00000 n 
-0000456813 00000 n 
-0000456925 00000 n 
-0000457099 00000 n 
-0000457202 00000 n 
-0000457375 00000 n 
-0000457496 00000 n 
-0000457626 00000 n 
-0000457752 00000 n 
-0000457867 00000 n 
-0000457975 00000 n 
-0000458122 00000 n 
-0000458227 00000 n 
-0000458346 00000 n 
-0000458475 00000 n 
-0000458634 00000 n 
-0000458768 00000 n 
-0000458905 00000 n 
-0000459037 00000 n 
-0000459186 00000 n 
-0000459318 00000 n 
-0000459466 00000 n 
-0000459580 00000 n 
-0000459698 00000 n 
-0000459852 00000 n 
-0000459983 00000 n 
-0000460077 00000 n 
-0000460201 00000 n 
-0000460313 00000 n 
-0000460490 00000 n 
-0000460599 00000 n 
-0000460724 00000 n 
-0000460870 00000 n 
-0000460972 00000 n 
-0000461148 00000 n 
-0000461292 00000 n 
-0000461404 00000 n 
-0000461531 00000 n 
-0000461659 00000 n 
-0000461787 00000 n 
-0000461898 00000 n 
-0000462097 00000 n 
-0000462208 00000 n 
-0000462323 00000 n 
-0000462467 00000 n 
-0000462675 00000 n 
-0000462809 00000 n 
-0000462963 00000 n 
-0000463088 00000 n 
-0000463219 00000 n 
-0000463350 00000 n 
-0000463511 00000 n 
-0000463632 00000 n 
-0000463835 00000 n 
-0000463946 00000 n 
-0000464061 00000 n 
-0000464254 00000 n 
-0000464397 00000 n 
-0000464513 00000 n 
+0000405961 00000 n 
+0000406131 00000 n 
+0000407638 00000 n 
+0000407808 00000 n 
+0000409207 00000 n 
+0000409377 00000 n 
+0000410926 00000 n 
+0000411095 00000 n 
+0000412058 00000 n 
+0000412279 00000 n 
+0000413813 00000 n 
+0000414034 00000 n 
+0000415641 00000 n 
+0000415863 00000 n 
+0000417113 00000 n 
+0000417292 00000 n 
+0000418837 00000 n 
+0000419016 00000 n 
+0000420253 00000 n 
+0000420457 00000 n 
+0000421869 00000 n 
+0000422064 00000 n 
+0000424693 00000 n 
+0000424869 00000 n 
+0000425319 00000 n 
+0000425498 00000 n 
+0000427026 00000 n 
+0000427214 00000 n 
+0000428182 00000 n 
+0000428352 00000 n 
+0000428682 00000 n 
+0000428878 00000 n 
+0000430608 00000 n 
+0000430822 00000 n 
+0000432506 00000 n 
+0000432701 00000 n 
+0000434408 00000 n 
+0000434621 00000 n 
+0000436109 00000 n 
+0000436304 00000 n 
+0000437886 00000 n 
+0000438109 00000 n 
+0000439474 00000 n 
+0000439671 00000 n 
+0000441208 00000 n 
+0000441396 00000 n 
+0000442275 00000 n 
+0000442479 00000 n 
+0000444215 00000 n 
+0000444403 00000 n 
+0000446145 00000 n 
+0000446324 00000 n 
+0000447723 00000 n 
+0000447902 00000 n 
+0000449600 00000 n 
+0000449779 00000 n 
+0000451259 00000 n 
+0000451438 00000 n 
+0000453224 00000 n 
+0000453428 00000 n 
+0000455079 00000 n 
+0000455138 00000 n 
+0000455241 00000 n 
+0000455406 00000 n 
+0000455488 00000 n 
+0000455596 00000 n 
+0000455719 00000 n 
+0000455831 00000 n 
+0000456009 00000 n 
+0000456130 00000 n 
+0000456290 00000 n 
+0000456408 00000 n 
+0000456505 00000 n 
+0000456657 00000 n 
+0000456797 00000 n 
+0000456975 00000 n 
+0000457130 00000 n 
+0000457232 00000 n 
+0000457332 00000 n 
+0000457541 00000 n 
+0000457642 00000 n 
+0000457785 00000 n 
+0000457931 00000 n 
+0000458047 00000 n 
+0000458214 00000 n 
+0000458326 00000 n 
+0000458500 00000 n 
+0000458603 00000 n 
+0000458776 00000 n 
+0000458897 00000 n 
+0000459027 00000 n 
+0000459153 00000 n 
+0000459268 00000 n 
+0000459376 00000 n 
+0000459523 00000 n 
+0000459628 00000 n 
+0000459747 00000 n 
+0000459876 00000 n 
+0000460035 00000 n 
+0000460169 00000 n 
+0000460306 00000 n 
+0000460438 00000 n 
+0000460587 00000 n 
+0000460719 00000 n 
+0000460867 00000 n 
+0000460968 00000 n 
+0000461096 00000 n 
+0000461214 00000 n 
+0000461368 00000 n 
+0000461499 00000 n 
+0000461645 00000 n 
+0000461746 00000 n 
+0000461844 00000 n 
+0000461968 00000 n 
+0000462080 00000 n 
+0000462257 00000 n 
+0000462366 00000 n 
+0000462491 00000 n 
+0000462637 00000 n 
+0000462739 00000 n 
+0000462911 00000 n 
+0000463110 00000 n 
+0000463221 00000 n 
+0000463336 00000 n 
+0000463480 00000 n 
+0000463688 00000 n 
+0000463822 00000 n 
+0000463976 00000 n 
+0000464101 00000 n 
+0000464232 00000 n 
+0000464365 00000 n 
+0000464496 00000 n 
 0000464671 00000 n 
-0000464828 00000 n 
+0000464806 00000 n 
 0000464959 00000 n 
-0000465080 00000 n 
-0000465257 00000 n 
-0000465367 00000 n 
-0000465497 00000 n 
-0000465667 00000 n 
-0000465761 00000 n 
-0000465888 00000 n 
-0000466015 00000 n 
-0000466111 00000 n 
-0000466297 00000 n 
-0000466423 00000 n 
-0000466556 00000 n 
-0000466683 00000 n 
-0000466795 00000 n 
-0000466985 00000 n 
-0000467091 00000 n 
-0000467297 00000 n 
-0000467456 00000 n 
-0000467604 00000 n 
-0000467732 00000 n 
-0000467913 00000 n 
-0000468023 00000 n 
-0000468138 00000 n 
-0000468283 00000 n 
-0000468447 00000 n 
-0000468597 00000 n 
-0000468728 00000 n 
-0000468946 00000 n 
-0000469051 00000 n 
-0000469183 00000 n 
-0000469304 00000 n 
-0000469470 00000 n 
-0000469574 00000 n 
-0000469731 00000 n 
-0000469842 00000 n 
-0000469987 00000 n 
-0000470129 00000 n 
-0000470279 00000 n 
-0000470396 00000 n 
-0000470560 00000 n 
-0000470671 00000 n 
-0000470811 00000 n 
-0000470938 00000 n 
-0000471055 00000 n 
-0000471194 00000 n 
-0000471300 00000 n 
-0000471434 00000 n 
-0000471566 00000 n 
-0000471711 00000 n 
-0000471838 00000 n 
-0000471970 00000 n 
-0000472100 00000 n 
-0000472225 00000 n 
-0000472333 00000 n 
-0000472504 00000 n 
-0000472608 00000 n 
-0000472743 00000 n 
-0000472871 00000 n 
-0000473045 00000 n 
-0000473147 00000 n 
-0000473297 00000 n 
-0000473447 00000 n 
-0000473572 00000 n 
-0000473778 00000 n 
-0000473878 00000 n 
-0000473996 00000 n 
-0000474161 00000 n 
-0000474252 00000 n 
-0000474413 00000 n 
-0000474539 00000 n 
-0000474682 00000 n 
-0000474809 00000 n 
-0000474949 00000 n 
-0000475085 00000 n 
-0000475193 00000 n 
-0000475367 00000 n 
-0000475473 00000 n 
-0000475593 00000 n 
-0000475705 00000 n 
-0000475822 00000 n 
-0000475924 00000 n 
-0000476107 00000 n 
-0000476238 00000 n 
-0000476376 00000 n 
-0000476536 00000 n 
-0000476676 00000 n 
-0000476844 00000 n 
-0000476976 00000 n 
-0000477094 00000 n 
-0000477226 00000 n 
-0000477363 00000 n 
-0000477495 00000 n 
-0000477629 00000 n 
-0000477759 00000 n 
-0000477927 00000 n 
-0000478047 00000 n 
-0000478156 00000 n 
-0000478348 00000 n 
-0000478520 00000 n 
-0000478624 00000 n 
-0000478748 00000 n 
-0000478870 00000 n 
-0000478982 00000 n 
-0000479164 00000 n 
-0000479280 00000 n 
-0000479404 00000 n 
-0000479522 00000 n 
-0000479640 00000 n 
-0000479745 00000 n 
-0000479922 00000 n 
-0000480034 00000 n 
-0000480165 00000 n 
-0000480289 00000 n 
-0000480456 00000 n 
-0000480573 00000 n 
-0000480703 00000 n 
-0000480843 00000 n 
-0000480980 00000 n 
-0000481116 00000 n 
-0000481252 00000 n 
-0000481389 00000 n 
-0000481501 00000 n 
-0000481708 00000 n 
-0000481836 00000 n 
-0000481921 00000 n 
-0000482092 00000 n 
-0000482214 00000 n 
-0000482374 00000 n 
-0000482473 00000 n 
-0000482588 00000 n 
-0000482690 00000 n 
-0000482851 00000 n 
-0000482955 00000 n 
-0000483054 00000 n 
-0000483218 00000 n 
-0000483322 00000 n 
-0000483455 00000 n 
-0000483587 00000 n 
-0000483709 00000 n 
-0000483838 00000 n 
-0000483945 00000 n 
-0000484111 00000 n 
-0000484233 00000 n 
-0000484343 00000 n 
-0000484457 00000 n 
-0000484632 00000 n 
-0000484735 00000 n 
-0000484855 00000 n 
-0000484970 00000 n 
-0000485084 00000 n 
-0000485199 00000 n 
-0000485313 00000 n 
-0000485428 00000 n 
-0000485546 00000 n 
-0000485663 00000 n 
-0000485769 00000 n 
-0000485930 00000 n 
-0000486026 00000 n 
-0000486140 00000 n 
-0000486250 00000 n 
-0000486381 00000 n 
-0000486514 00000 n 
-0000486615 00000 n 
-0000486793 00000 n 
-0000486903 00000 n 
-0000487057 00000 n 
-0000487226 00000 n 
-0000487414 00000 n 
-0000487595 00000 n 
-0000487751 00000 n 
-0000487917 00000 n 
-0000488049 00000 n 
-0000488196 00000 n 
-0000488335 00000 n 
-0000488469 00000 n 
-0000488593 00000 n 
-0000488714 00000 n 
-0000488833 00000 n 
-0000489003 00000 n 
-0000489165 00000 n 
-0000489271 00000 n 
-0000489388 00000 n 
-0000489539 00000 n 
-0000489704 00000 n 
-0000489829 00000 n 
-0000489985 00000 n 
-0000490103 00000 n 
-0000490233 00000 n 
-0000490397 00000 n 
-0000490501 00000 n 
-0000490619 00000 n 
-0000490737 00000 n 
+0000465104 00000 n 
+0000465329 00000 n 
+0000465440 00000 n 
+0000465555 00000 n 
+0000465748 00000 n 
+0000465891 00000 n 
+0000466007 00000 n 
+0000466165 00000 n 
+0000466322 00000 n 
+0000466453 00000 n 
+0000466574 00000 n 
+0000466751 00000 n 
+0000466885 00000 n 
+0000467033 00000 n 
+0000467151 00000 n 
+0000467281 00000 n 
+0000467451 00000 n 
+0000467545 00000 n 
+0000467672 00000 n 
+0000467799 00000 n 
+0000467895 00000 n 
+0000468081 00000 n 
+0000468207 00000 n 
+0000468342 00000 n 
+0000468475 00000 n 
+0000468602 00000 n 
+0000468714 00000 n 
+0000468906 00000 n 
+0000469004 00000 n 
+0000469190 00000 n 
+0000469294 00000 n 
+0000469418 00000 n 
+0000469540 00000 n 
+0000469652 00000 n 
+0000469848 00000 n 
+0000469964 00000 n 
+0000470088 00000 n 
+0000470206 00000 n 
+0000470324 00000 n 
+0000470429 00000 n 
+0000470618 00000 n 
+0000470841 00000 n 
+0000470980 00000 n 
+0000471143 00000 n 
+0000471280 00000 n 
+0000471383 00000 n 
+0000471589 00000 n 
+0000471748 00000 n 
+0000471896 00000 n 
+0000472024 00000 n 
+0000472205 00000 n 
+0000472315 00000 n 
+0000472430 00000 n 
+0000472575 00000 n 
+0000472739 00000 n 
+0000472889 00000 n 
+0000473107 00000 n 
+0000473212 00000 n 
+0000473344 00000 n 
+0000473465 00000 n 
+0000473672 00000 n 
+0000473800 00000 n 
+0000473885 00000 n 
+0000474051 00000 n 
+0000474155 00000 n 
+0000474312 00000 n 
+0000474423 00000 n 
+0000474568 00000 n 
+0000474710 00000 n 
+0000474860 00000 n 
+0000474977 00000 n 
+0000475141 00000 n 
+0000475252 00000 n 
+0000475392 00000 n 
+0000475519 00000 n 
+0000475636 00000 n 
+0000475775 00000 n 
+0000475881 00000 n 
+0000476015 00000 n 
+0000476147 00000 n 
+0000476292 00000 n 
+0000476419 00000 n 
+0000476551 00000 n 
+0000476681 00000 n 
+0000476806 00000 n 
+0000476914 00000 n 
+0000477085 00000 n 
+0000477189 00000 n 
+0000477324 00000 n 
+0000477452 00000 n 
+0000477626 00000 n 
+0000477728 00000 n 
+0000477878 00000 n 
+0000478028 00000 n 
+0000478153 00000 n 
+0000478359 00000 n 
+0000478459 00000 n 
+0000478577 00000 n 
+0000478742 00000 n 
+0000478833 00000 n 
+0000478994 00000 n 
+0000479120 00000 n 
+0000479263 00000 n 
+0000479390 00000 n 
+0000479530 00000 n 
+0000479666 00000 n 
+0000479774 00000 n 
+0000479948 00000 n 
+0000480054 00000 n 
+0000480174 00000 n 
+0000480286 00000 n 
+0000480403 00000 n 
+0000480505 00000 n 
+0000480682 00000 n 
+0000480794 00000 n 
+0000480925 00000 n 
+0000481049 00000 n 
+0000481216 00000 n 
+0000481333 00000 n 
+0000481463 00000 n 
+0000481603 00000 n 
+0000481740 00000 n 
+0000481876 00000 n 
+0000482012 00000 n 
+0000482149 00000 n 
+0000482261 00000 n 
+0000482432 00000 n 
+0000482554 00000 n 
+0000482714 00000 n 
+0000482813 00000 n 
+0000482928 00000 n 
+0000483030 00000 n 
+0000483191 00000 n 
+0000483295 00000 n 
+0000483394 00000 n 
+0000483525 00000 n 
+0000483700 00000 n 
+0000483803 00000 n 
+0000483923 00000 n 
+0000484038 00000 n 
+0000484152 00000 n 
+0000484267 00000 n 
+0000484381 00000 n 
+0000484496 00000 n 
+0000484614 00000 n 
+0000484731 00000 n 
+0000484837 00000 n 
+0000485015 00000 n 
+0000485118 00000 n 
+0000485274 00000 n 
+0000485382 00000 n 
+0000485508 00000 n 
+0000485628 00000 n 
+0000485729 00000 n 
+0000485836 00000 n 
+0000486000 00000 n 
+0000486104 00000 n 
+0000486237 00000 n 
+0000486369 00000 n 
+0000486491 00000 n 
+0000486620 00000 n 
+0000486727 00000 n 
+0000486893 00000 n 
+0000487015 00000 n 
+0000487125 00000 n 
+0000487239 00000 n 
+0000487400 00000 n 
+0000487496 00000 n 
+0000487610 00000 n 
+0000487720 00000 n 
+0000487851 00000 n 
+0000487984 00000 n 
+0000488085 00000 n 
+0000488263 00000 n 
+0000488373 00000 n 
+0000488527 00000 n 
+0000488696 00000 n 
+0000488884 00000 n 
+0000489065 00000 n 
+0000489221 00000 n 
+0000489387 00000 n 
+0000489519 00000 n 
+0000489666 00000 n 
+0000489805 00000 n 
+0000489939 00000 n 
+0000490063 00000 n 
+0000490184 00000 n 
+0000490303 00000 n 
+0000490473 00000 n 
+0000490635 00000 n 
+0000490741 00000 n 
 0000490858 00000 n 
-0000490994 00000 n 
-0000491093 00000 n 
-0000491248 00000 n 
-0000491352 00000 n 
-0000491469 00000 n 
-0000491619 00000 n 
-0000491719 00000 n 
-0000491833 00000 n 
-0000491947 00000 n 
-0000492061 00000 n 
-0000492175 00000 n 
-0000492289 00000 n 
-0000492403 00000 n 
-0000492517 00000 n 
-0000492631 00000 n 
-0000492747 00000 n 
-0000492849 00000 n 
-0000492963 00000 n 
+0000491009 00000 n 
+0000491136 00000 n 
+0000491292 00000 n 
+0000491410 00000 n 
+0000491540 00000 n 
+0000491704 00000 n 
+0000491808 00000 n 
+0000491926 00000 n 
+0000492044 00000 n 
+0000492165 00000 n 
+0000492301 00000 n 
+0000492400 00000 n 
+0000492555 00000 n 
+0000492659 00000 n 
+0000492776 00000 n 
+0000492926 00000 n 
+0000493026 00000 n 
+0000493140 00000 n 
+0000493254 00000 n 
+0000493368 00000 n 
+0000493482 00000 n 
+0000493596 00000 n 
+0000493710 00000 n 
+0000493824 00000 n 
+0000493938 00000 n 
+0000494054 00000 n 
+0000494156 00000 n 
+0000494270 00000 n 
 trailer
-<</Size 2127/Root 2126 0 R/Info 1 0 R/ID[<a983866acce042ac9242c95cbfc24752><a983866acce042ac9242c95cbfc24752>]>>
+<</Size 2126/Root 2125 0 R/Info 1 0 R/ID[<44d39a97f681ab9eaa30845c7407c375><44d39a97f681ab9eaa30845c7407c375>]>>
 startxref
-493959
+495224
 %%EOF
index 7310bdd73732d7a2a0d48cf3ee5dfd7beff3afb2..f5716556ba0455c53c05f6a940e8cfe79e08de6b 100644 (file)
@@ -1,6 +1,3 @@
-This document is out of date
-
-
                Announcing Samba version 2.2
                ============================
 
index dae5b81e7122953f6a73cd8909304b885195258b..ae24606caf76c4f6e2199d80ba1c59a0684f0956 100644 (file)
@@ -21,9 +21,7 @@ MANPAGES_NAMES=findsmb.1 smbclient.1 \
        smbpasswd.8 testprns.1 \
        smb.conf.5 wbinfo.1 pdbedit.8 \
        smbcacls.1 smbsh.1 winbindd.8 \
-       smbgroupedit.8 vfstest.1 \
-       profiles.1 smbtree.1 ntlm_auth.1 \
-       editreg.1
+       smbgroupedit.8 vfstest.1
 
 ## This part contains only rules. You shouldn't need to change it 
 ## if you are adding docs
@@ -85,9 +83,9 @@ $(TXTDIR)/Samba-HOWTO-Collection.txt: $(PROJDOC)/samba-doc.sgml
        $(DOCBOOK2TXT) -o . $<
        mv ./samba-doc.txt $@
 
-$(TXTDIR)/Samba-Developers-Guide.txt: $(DEVDOC)/dev-doc.sgml
+$(TXTDIR)/Samba-Developers-Guide.txt: $(PROJDOC)/samba-doc.sgml
        $(DOCBOOK2TXT) -o . $<
-       mv ./dev-doc.txt $@
+       mv ./samba-doc.txt $@
 
 # PostScript
 
@@ -95,9 +93,9 @@ $(PSDIR)/Samba-HOWTO-Collection.ps: $(PROJDOC)/samba-doc.sgml
        $(DOCBOOK2PS) -o . $<
        mv ./samba-doc.ps $@
 
-$(PSDIR)/Samba-Developers-Guide.ps: $(DEVDOC)/dev-doc.sgml
+$(PSDIR)/Samba-Developers-Guide.ps: $(PROJDOC)/samba-doc.sgml
        $(DOCBOOK2PS) -o . $<
-       mv ./dev-doc.ps $@
+       mv ./samba-doc.ps $@
 
 # Adobe PDF files
 
index 8680e5b5abd0b72074a9e260f9e399b82b705dc2..609c17ed87fb11ded9732e3bdf0d86e2c8f8b021 100755 (executable)
@@ -557,13 +557,10 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-if test "x$JW" = x; then
-   { echo "configure: error: "jw is required"" 1>&2; exit 1; }
-fi
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:567: checking for $ac_word" >&5
+echo "configure:564: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -595,13 +592,10 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-if test "x$PERL" = x; then
-   { echo "configure: error: "perl is required"" 1>&2; exit 1; }
-fi
 # Extract the first word of "htmldoc", so it can be a program name with args.
 set dummy htmldoc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:605: checking for $ac_word" >&5
+echo "configure:599: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_HTMLDOC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -633,9 +627,6 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-if test "x$HTMLDOC" = x; then
-   { echo "configure: error: "htmldoc is required"" 1>&2; exit 1; }
-fi
 
 DOC_BUILD_DATE=`date '+%d-%m-%Y'`
 
index 57482d134e5693fe028044fbb54d39afe4466a72..3a9ed51d163ab15a8a1a33581391ce2f6698a148 100644 (file)
@@ -1,18 +1,8 @@
 AC_INIT(global.ent)
 
-# Jade wrapper
 AC_PATH_PROG(JW, jw)
-if test "x$JW" = x; then
-   AC_MSG_ERROR("jw is required")
-fi
 AC_PATH_PROG(PERL, perl)
-if test "x$PERL" = x; then
-   AC_MSG_ERROR("perl is required")
-fi
 AC_PATH_PROG(HTMLDOC, htmldoc)
-if test "x$HTMLDOC" = x; then
-   AC_MSG_ERROR("htmldoc is required")
-fi
 
 DOC_BUILD_DATE=`date '+%d-%m-%Y'`
 AC_SUBST(DOC_BUILD_DATE)
index 5e1af3d3a0354acc8f1fddb2a9c9bb3cf09ffd59..e256dbe3a2cb62a2daf58cd1e073c360375eda67 100644 (file)
@@ -12,9 +12,6 @@
 <!ENTITY wins SYSTEM "wins.sgml">
 <!ENTITY sam SYSTEM "sam.sgml">
 <!ENTITY encryption SYSTEM "encryption.sgml">
-<!ENTITY rpc-plugin SYSTEM "rpc_plugin.sgml">
-<!ENTITY modules SYSTEM "modules.sgml">
-<!ENTITY packagers SYSTEM "packagers.sgml">
 ]>
 
 <book id="Samba-Developers-Guide">
@@ -69,8 +66,5 @@ url="http://www.fsf.org/licenses/gpl.txt">http://www.fsf.org/licenses/gpl.txt</u
 &wins;
 &sam;
 &encryption;
-&modules;
-&rpc-plugin;
-&packagers;
 
 </book>
diff --git a/docs/docbook/devdoc/modules.sgml b/docs/docbook/devdoc/modules.sgml
deleted file mode 100644 (file)
index 0bcdadc..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<chapter id="modules">
-<chapterinfo>
-       <author>
-               <firstname>Jelmer</firstname><surname>Vernooij</surname>
-               <affiliation>
-                       <orgname>Samba Team</orgname>
-                       <address><email>jelmer@samba.org</email></address>
-               </affiliation>
-       </author>
-       <pubdate> 19 March 2003 </pubdate>
-</chapterinfo>
-
-<title>Modules</title>
-
-<sect1>
-<title>Advantages</title>
-
-<para>
-The new modules system has the following advantages:
-</para>
-
-<simplelist>
-<member>Transparent loading of static and shared modules (no need 
-for a subsystem to know about modules)</member>
-<member>Simple selection between shared and static modules at configure time</member>
-<member>"preload modules" option for increasing performance for stable modules</member>
-<member>No nasty #define stuff anymore</member>
-<member>All backends are available as plugin now (including pdb_ldap and pdb_tdb)</member>
-</simplelist>
-</sect1>
-
-<sect1>
-<title>Loading modules</title>
-
-<para>
-Some subsystems in samba use different backends. These backends can be 
-either statically linked in to samba or available as a plugin. A subsystem 
-should have a function that allows a module to register itself. For example, 
-the passdb subsystem has: 
-</para>
-
-<para><programlisting>
-BOOL smb_register_passdb(const char *name, pdb_init_function init, int version);
-</programlisting></para>
-
-<para>
-This function will be called by the initialisation function of the module to 
-register itself. 
-</para>
-
-<sect2>
-<title>Static modules</title>
-
-<para>
-The modules system compiles a list of initialisation functions for the 
-static modules of each subsystem. This is a define. For example, 
-it is here currently (from <filename>include/config.h</filename>): 
-</para>
-
-<para><programlisting>
-/* Static init functions */
-#define static_init_pdb { pdb_mysql_init(); pdb_ldap_init(); pdb_smbpasswd_init(); pdb_tdbsam_init(); pdb_guest_init();}
-</programlisting></para>
-
-<para>
-These functions should be called before the subsystem is used. That 
-should be done when the subsystem is initialised or first used. 
-</para>
-
-</sect2>
-
-<sect2>
-<title>Shared modules</title>
-
-<para>
-If a subsystem needs a certain backend, it should check if it has 
-already been registered. If the backend hasn't been registered already, 
-the subsystem should call smb_probe_module(char *subsystem, char *backend).
-This function tries to load the correct module from a certain path
-($LIBDIR/subsystem/backend.so). If the first character in 'backend' 
-is a slash, smb_probe_module() tries to load the module from the 
-absolute path specified in 'backend'.
-</para>
-
-<para>After smb_probe_module() has been executed, the subsystem 
-should check again if the module has been registered. 
-</para>
-
-</sect2>
-</sect1>
-
-<sect1>
-<title>Writing modules</title>
-
-<para>
-Each module has an initialisation function. For modules that are 
-included with samba this name is '<replaceable>subsystem</replaceable>_<replaceable>backend</replaceable>_init'. For external modules (that will never be built-in, but only available as a module) this name is always 'init_module'. (In the case of modules included with samba, the configure system will add a #define subsystem_backend_init() init_module()).
-The prototype for these functions is:
-</para>
-
-<para><programlisting>
-int init_module(void);
-</programlisting></para>
-
-<para>This function should call one or more 
-registration functions. The function should return non-zero on success and zero on 
-failure.</para>
-
-<para>For example, pdb_ldap_init() contains: </para>
-
-<para><programlisting>
-int pdb_ldap_init(void)
-{
-    smb_register_passdb("ldapsam", pdb_init_ldapsam, PASSDB_INTERFACE_VERSION);
-    smb_register_passdb("ldapsam_nua", pdb_init_ldapsam_nua, PASSDB_INTERFACE_VERSION);
-       return TRUE;
-}
-</programlisting></para>
-
-<sect2>
-<title>Static/Shared selection in configure.in</title>
-
-<para>
-Some macros in configure.in generate the various defines and substs that 
-are necessary for the system to work correct. All modules that should 
-be built by default have to be added to the variable 'default_modules'. 
-For example, if ldap is found, pdb_ldap is added to this variable.
-</para>
-
-<para>
-On the bottom of configure.in, SMB_MODULE() should be called 
-for each module and SMB_SUBSYSTEM() for each subsystem.
-</para>
-
-<para>Syntax:</para>
-
-<para><programlisting>
-SMB_MODULE(<replaceable>subsystem</replaceable>_<replaceable>backend</replaceable>, <replaceable>object files</replaceable>, <replaceable>plugin name</replaceable>, <replaceable>subsystem name</replaceable>, <replaceable>static_action</replaceable>, <replaceable>shared_action</replaceable>)
-SMB_SUBSYSTEM(<replaceable>subsystem</replaceable>)
-</programlisting></para>
-
-<para>Also, make sure to add the correct directives to 
-<filename>Makefile.in</filename>. <replaceable>@SUBSYSTEM_STATIC@</replaceable>
-will be replaced with a list of objects files of the modules that need to 
-be linked in statically. <replaceable>@SUBSYSTEM_MODULES@</replaceable> will 
-be replaced with the names of the plugins to build.
-</para>
-
-<para>You must make sure all .c files that contain defines that can 
-be changed by ./configure are rebuilded in the 'modules_clean' make target. 
-Practically, this means all c files that contain <command>static_init_subsystem;</command> calls need to be rebuilded.
-</para>
-
-</sect2>
-</sect1>
-</chapter>
diff --git a/docs/docbook/devdoc/packagers.sgml b/docs/docbook/devdoc/packagers.sgml
deleted file mode 100644 (file)
index fb47c73..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<chapter id="Packaging">
-<chapterinfo>
-       <author>
-               <firstname>Jelmer</firstname><surname>Vernooij</surname>
-       </author>
-</chapterinfo>
-
-<title>Notes to packagers</title>
-
-<sect1>
-<title>Versioning</title>
-
-<para>Please, please update the version number in 
-<filename>source/include/version.h</filename> to include the versioning of your package. This makes it easier to distinguish standard samba builds
-from custom-build samba builds (distributions often patch packages). For 
-example, a good version would be: </para>
-
-<para><programlisting>
-Version 2.999+3.0.alpha21-5 for Debian
-</programlisting></para>
-
-</sect1>
-
-<sect1>
-<title>Modules</title>
-
-<para>Samba now has support for building parts of samba as plugins. This 
-makes it possible to, for example, put ldap or mysql support in a seperate 
-package, thus making it possible to have a normal samba package not 
-depending on ldap or mysql. To build as much parts of samba 
-as a plugin, run: </para>
-
-<para><programlisting>
-./configure --with-shared-modules=rpc,vfs,auth,pdb,charset
-</programlisting></para>
-
-</sect1>
-
-
-</chapter>
diff --git a/docs/docbook/devdoc/rpc_plugin.sgml b/docs/docbook/devdoc/rpc_plugin.sgml
deleted file mode 100644 (file)
index c83742a..0000000
+++ /dev/null
@@ -1,83 +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>
-       <author>
-               <firstname>Jelmer</firstname><surname>Vernooij</surname>
-               <affiliation>
-                       <orgname>Samba Team</orgname>
-                       <address><email>jelmer@samba.org</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 init_module function within
-the shared library. Check the chapter on modules for more information.
-</para>
-
-<para>
-In the init_module 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 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 db27102cdf2de1cc131983da11e5bc43a3b7a167..78f73252a235f11e84f904c9e53a2aa762e37ea4 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-Config">
+<chapter id="Config">
 <title>Configuration problems</title>
 
 <sect1>
@@ -8,18 +8,4 @@ When you have a user in 'admin users', samba will always do file operations for
 this user as 'root', even if 'force user' has been set.
 </para>
 </sect1>
-
-<sect1>
-<title>I have just installed samba and I'm trying to log in from Windows, but samba refuses all logins!</title>
-
-<para>
-Newer windows clients(NT4, 2000, XP) send encrypted passwords. Samba can't compare these 
-passwords to the unix password database, so it needs it's own user database. You can 
-add users to this database using "smbpasswd -a user-name".
-</para>
-
-<para>
-See also the "User database" chapter of the samba HOWTO Collection.
-</para>
-</sect1>
 </chapter>
index 97619ce704c2dbbda857454c428e44e8aa1345bc..6476ec064e4311f89bf254d517aad5e67b5f5f35 100644 (file)
@@ -1,4 +1,4 @@
-<chapter id="FAQ-errors">
+<chapter id="errors">
 
 <title>Common errors</title>
 
@@ -50,6 +50,7 @@ Windows NT in the chapter "Portability" of the samba HOWTO collection
 </member>
 </simplelist>
 </para>
+
 </sect1>
 
 <sect1>
@@ -63,6 +64,7 @@ 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 
 null password in the connection, so smbclient prompts for a password
index 66b05379cced73c029c262c8631abfeab6b6344d..bc1081e5c02eb1b63c98389a6b3b356d1c4165f4 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>
+
+<para>print it with:</para>
 
 <para><programlisting>
 for i in *
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>
 
diff --git a/docs/docbook/faq/printing.sgml b/docs/docbook/faq/printing.sgml
deleted file mode 100644 (file)
index 4a58c38..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<chapter id="FAQ-Printing">
-<chapterinfo>
-<author>
-       <firstname>Ronan</firstname><surname>Waide</surname>
-</author>
-</chapterinfo>
-
-<title>Printing problems</title>
-
-<sect1>
-<title>setdriver or cupsaddsmb failes</title>
-<para>
-setdriver expects the following setup:
-
-<simplelist>
-<member>you are a printer admin, or root. this is the smb.conf printer admin group, not the Printer Operators group in NT. I've not tried the latter, but I don't believe it will work based on the current code.</member>
-<member>printer admins has to be defined in [global]</member>
-<member>upload the driver files to \\server\print$\w32x86 and win40 as appropriate. DON'T put them in the 0 or 2 subdirectories.</member>
-<member>Make sure that the user you're connecting as is able to write to the print$ directories</member>
-<member>Use adddriver (with appropriate parameters) to create the driver. note, this will not just update samba's notion of drivers, it will also move the files from the w32x86 and win40 directories to an appropriate subdirectory (based on driver version, I think, but not important enough for me to find out)</member>
-<member>Use setdriver to associate the driver with a printer</member>
-</simplelist>
-</para>
-
-<para>
-The setdriver call will fail if the printer doesn't already exist in
-samba's view of the world. Either create the printer in cups and
-restart samba, or create an add printer command (see smb.conf doco)
-and use RPC calls to create a printer. NB the add printer command MUST
-return a single line of text indicating which port the printer was
-added on. If it doesn't, Samba won't reload the printer
-definitions. Although samba doesn't really support the notion of
-ports, suitable add printer command and enumport command settings can
-allow you pretty good remote control of the samba printer setup.
-</para>
-</sect1>
-</chapter>
index 2cc7d466fd59d30ad2ba9bfe10b33efe5f88bf4f..e9e5ed7a3c7743e3ff595bc640d000e485c51f03 100644 (file)
@@ -5,7 +5,6 @@
 <!ENTITY clientapp SYSTEM "clientapp.sgml">
 <!ENTITY features SYSTEM "features.sgml">
 <!ENTITY config SYSTEM "config.sgml">
-<!ENTITY printing SYSTEM "printing.sgml">
 ]>
 
 <book id="Samba-FAQ">
@@ -35,5 +34,4 @@ and the old samba text documents which were mostly written by John Terpstra.
 &clientapp;
 &errors;
 &features;
-&printing;
 </book>
index 5f89a97593e163356fbca9b91b5f419d937993d5..46745c277382ec3d4434f5e3edae4da002d3b02d 100644 (file)
@@ -6,7 +6,6 @@
 <!ENTITY email.jmoore  'jmoore@php.net'>
 <!ENTITY email.jerry   'jerry@samba.org'>
 <!ENTITY email.patches 'samba-patches@samba.org'>
-<!ENTITY email.jelmer  'jelmer@samba.org'>
 
 <!-- URL's -->
 <!ENTITY url.samba.cvsinfo 'http://pserver.samba.org/samba/cvs.html'>
@@ -31,9 +30,8 @@
 
 <!-- Misc -->
 <!ENTITY samba.pub.cvshost 'pserver.samba.org'>
-<!ENTITY percnt '%'>
 
-<!ENTITY stdarg.debug '
+<!ENTITY stdarg.debuglevel '
 <varlistentry>
 <term>-d|--debug=debuglevel</term>
 <listitem>
@@ -61,6 +59,13 @@ level</ulink> parameter in the <ulink url="smb.conf.5.html">
 </listitem>
 </varlistentry>'>
 
+<!ENTITY stdarg.help '
+<varlistentry>
+<term>-h|--help</term>
+<listitem><para>Print a summary of command line options.
+</para></listitem>
+</varlistentry>'>
+
 <!ENTITY stdarg.configfile '
 <varlistentry>
 <term>-s &lt;configuration file&gt;</term>
@@ -77,218 +82,7 @@ compile time.</para></listitem>
 
 <!ENTITY stdarg.version '
 <varlistentry>
-<term>-V</term>
+<term>-v</term>
 <listitem><para>Prints the version number for 
 <command>smbd</command>.</para></listitem>
 </varlistentry>'>
-
-<!ENTITY stdarg.logfile '
-<varlistentry>
-<term>-l|--logfile=logbasename</term>
-<listitem><para>File name for log/debug files. The extension
-<constant>".client"</constant> will be appended. The log file is
-never removed by the client.
-</para></listitem>
-</varlistentry>'>
-
-<!ENTITY popt.common.samba '
-&stdarg.version;
-&stdarg.configfile;
-&stdarg.debug;
-&stdarg.logfile;
-'>
-
-<!ENTITY stdarg.resolve.order '
-<varlistentry>
-<term>-R &lt;name resolve order&gt;</term> 
-<listitem><para>This option is used to determine what naming 
-services and in what order to resolve 
-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". 
-They cause names to be resolved as follows :</para>
-
-<itemizedlist>
-<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 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 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 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>
-</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>
-
-<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 methods 
-will be attempted in this order. </para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.netbios.name '
-<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
-line setting will take precedence over settings in
-<citerefentry><refentrytitle>smb.conf</refentrytitle>
-<manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.scope '
-<varlistentry>
-<term>-i &lt;scope&gt;</term>
-<listitem><para>This specifies a NetBIOS scope that
-<command>nmblookup</command> will use to communicate with when
-generating NetBIOS names. For details on the use of NetBIOS
-scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are
-<emphasis>very</emphasis> rarely used, only set this parameter
-if you are the system administrator in charge of all the
-NetBIOS systems you communicate with.</para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.workgroup '
-<varlistentry>
-<term>-W|--workgroup=domain</term>
-<listitem><para>Set the SMB domain of the username.   This
-overrides the default domain which is the domain defined in
-smb.conf.  If the domain specified is the same as the servers 
-NetBIOS name, it causes the client to log on using the servers local 
-SAM (as opposed to the Domain SAM). </para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.socket.options '
-<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
-options. </para></listitem>
-</varlistentry>
-'>
-
-<!ENTITY popt.common.connection '
-&stdarg.netbios.name;
-&stdarg.scope;
-&stdarg.workgroup;
-&stdarg.socket.options;
-'>
-
-<!ENTITY stdarg.nopass '
-<varlistentry>
-<term>-N</term>
-<listitem><para>If specified, this parameter suppresses the normal
-password prompt from the client to the user. This is useful when
-accessing a service that does not require a password. </para>
-
-<para>Unless a password is specified on the command line or
-this parameter is specified, the client will request a
-password.</para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.username '
-<varlistentry>
-<term>-U|--user=username[&percnt;password]</term>
-<listitem><para>Sets the SMB username or username and password. </para>
-
-<para>If &percnt;password is not specified, the user will be prompted. The
-client will first check the <envar>USER</envar> environment variable, then the
-<envar>LOGNAME</envar> variable and if either exists, the
-string is uppercased. If these environmental variables are not
-found, the username <constant>GUEST</constant> is used. </para>
-
-<para>A third option is to use a credentials file which
-contains the plaintext of the username and password.  This
-option is mainly provided for scripts where the admin does not
-wish to pass the credentials on the command line or via environment
-variables. If this method is used, make certain that the permissions
-on the file restrict access from unwanted users.  See the
-<parameter>-A</parameter> for more details. </para>
-
-<para>Be cautious about including passwords in scripts. Also, on
-many systems the command line of a running process may be seen
-via the <command>ps</command> command.  To be safe always allow
-<command>rpcclient</command> to prompt for a password and type
-it in directly. </para></listitem>
-</varlistentry>
-'>
-
-<!ENTITY stdarg.authfile '
-<varlistentry>
-<term>-A|--authfile=filename</term>
-<listitem><para>This option allows
-you to specify a file from which to read the username and
-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>Make certain that the permissions on the file restrict 
-access from unwanted users. </para></listitem>
-</varlistentry>'>
-
-<!ENTITY stdarg.kerberos '
-<varlistentry>
-<term>-k</term>
-<listitem><para>
-Try to authenticate with kerberos. Only useful in
-an Active Directory environment.
-</para></listitem>
-</varlistentry>
-'>
-
-
-<!ENTITY stdarg.help '
-<varlistentry>
-<term>-h|--help</term>
-<listitem><para>Print a summary of command line options.
-</para></listitem>
-</varlistentry>'>
-
-<!ENTITY popt.common.credentials '
-&stdarg.nopass;
-&stdarg.kerberos;
-&stdarg.authfile;
-&stdarg.username;
-'>
diff --git a/docs/docbook/manpages/editreg.1.sgml b/docs/docbook/manpages/editreg.1.sgml
deleted file mode 100644 (file)
index 22c3c3e..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="editreg.1">
-
-<refmeta>
-       <refentrytitle>editreg</refentrytitle>
-       <manvolnum>1</manvolnum>
-</refmeta>
-
-
-<refnamediv>
-       <refname>editreg</refname>
-       <refpurpose>A utility to report and change SIDs in registry files
-       </refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-       <cmdsynopsis>
-               <command>editreg</command>
-               <arg choice="opt">-v</arg>
-               <arg choice="opt">-c file</arg>
-               <arg choice="req">file</arg>
-       </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1>
-       <title>DESCRIPTION</title>
-
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
-
-       <para><command>editreg</command> is a utility that 
-       can visualize windows registry files (currently only NT4) and apply 
-       so-called commandfiles to them. 
-       </para>
-</refsect1>
-
-
-<refsect1>
-       <title>OPTIONS</title>
-
-       <variablelist>
-               <varlistentry>
-               <term>registry_file</term>
-               <listitem><para>Registry file to view or edit.  </para></listitem>
-               </varlistentry>
-
-
-               <varlistentry>
-               <term>-v,--verbose</term>
-               <listitem><para>Increases verbosity of messages. 
-               </para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>-c commandfile</term>
-               <listitem><para>Read commands to execute on <filename>registry_file</filename> from <filename>commandfile</filename>. Currently not yet supported!
-               </para></listitem>
-               </varlistentry>
-
-               &stdarg.help;
-               
-       </variablelist>
-</refsect1>
-
-<refsect1>
-       <title>VERSION</title>
-
-       <para>This man page is correct for version 3.0 of the Samba 
-       suite.</para>
-</refsect1>
-
-<refsect1>
-       <title>AUTHOR</title>
-       
-       <para>The original Samba software and related utilities 
-       were created by Andrew Tridgell. Samba is now developed
-       by the Samba Team as an Open Source project similar 
-       to the way the Linux kernel is developed.</para>
-       
-       <para>The editreg man page was written by Jelmer Vernooij. </para>
-</refsect1>
-
-</refentry>
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 f2b4ac5a05ad39c5b5077147f7fd435b519ca3ff..db920c79a1cb9aaafb69c3faa88ece2bafc5764a 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="nmbd.8">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="nmbd">
 
 <refmeta>
        <refentrytitle>nmbd</refentrytitle>
@@ -37,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 
@@ -60,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 
                than a file.</para></listitem>
                </varlistentry>
 
+               <varlistentry>
+               <term>-a</term>
+               <listitem><para>If this parameter is specified, each new 
+               connection will append log messages to the log file.  
+               This is the default.</para></listitem>
+               </varlistentry>
+               
                <varlistentry>
                <term>-i</term>
                <listitem><para>If this parameter is specified it causes the
                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>
 
-               &stdarg.help;
+               <varlistentry>
+               <term>-o</term>
+               <listitem><para>If this parameter is specified, the 
+               log files will be overwritten when opened.  By default, 
+               <command>smbd</command> will append entries to the log 
+               files.</para></listitem>
+               </varlistentry>
+               
+               <varlistentry>
+               <term>-h</term>
+               <listitem><para>Prints the help information (usage) 
+               for <command>nmbd</command>.</para></listitem>
+               </varlistentry>
                
                <varlistentry>
                <term>-H &lt;filename&gt;</term>
                <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>
 
-               &popt.common.samba;
+               <varlistentry>
+               <term>-V</term>
+               <listitem><para>Prints the version number for 
+               <command>nmbd</command>.</para></listitem>
+               </varlistentry>
+               
+               <varlistentry>
+               <term>-d &lt;debug level&gt;</term>
+               <listitem><para>debuglevel is an integer 
+               from 0 to 10.  The default value if this parameter is 
+               not specified is zero.</para>
+               
+               <para>The higher this value, the more detail will 
+               be logged to the log files about the activities of the 
+               server. At level 0, only critical errors and serious 
+               warnings will be logged. Level 1 is a reasonable level for
+               day to day running - it generates a small amount of 
+               information about operations carried out.</para>
+
+               <para>Levels above 1 will generate considerable amounts 
+               of log data, and should only be used when investigating 
+               a problem. Levels above 3 are designed for use only by developers 
+               and generate HUGE amounts of log 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">log level</ulink> 
+               parameter in the <ulink url="smb.conf.5.html"><filename>
+               smb.conf(5)</filename></ulink> file.</para></listitem>
+               </varlistentry>
                
+               <varlistentry>
+               <term>-l &lt;log directory&gt;</term>
+               <listitem><para>The -l parameter specifies a directory 
+               into which the "log.nmbd" log file will be created
+               for operational data from the running <command>nmbd</command>
+               server. The default log directory is compiled into Samba
+               as part of the build process. Common defaults are <filename>
+               /usr/local/samba/var/log.nmb</filename>, <filename>
+               /usr/samba/var/log.nmb</filename> or
+               <filename>/var/log/log.nmb</filename>.  <emphasis>Beware:</emphasis>
+                If the directory specified does not exist, <command>nmbd</command>
+                will log to the default debug log location defined at compile time.
+               </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">
+               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 
+               <filename>smb.conf</filename>.</para></listitem>
+               </varlistentry>
+
+
                <varlistentry>
                <term>-p &lt;UDP port number&gt;</term>
                <listitem><para>UDP port number is a positive integer value.
                won't need help!</para></listitem>
                </varlistentry>
 
+               <varlistentry>
+               <term>-s &lt;configuration file&gt;</term>
+               <listitem><para>The default configuration file name
+               is set at build time, typically as <filename>
+               /usr/local/samba/lib/smb.conf</filename>, but
+               this may be changed when Samba is autoconfigured.</para>
+
+               <para>The file specified contains the 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>
        </variablelist>
 </refsect1>
 
                <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 176050b9c8a2579c0f399b00097e88d69994f47c..33ae631ed96b2575f1a7cd5b18110bf674a8542c 100644 (file)
@@ -1,6 +1,4 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
 <refentry id="nmblookup">
 
 <refmeta>
@@ -38,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 
@@ -68,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>
                
@@ -88,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>
 
 
 
 
-               &popt.common.connection;
-               &stdarg.help;
+               <varlistentry>
+               <term>-h</term> 
+               <listitem><para>Print a help (usage) message.</para></listitem>
+               </varlistentry>
+
+
 
                <varlistentry>
                <term>-B &lt;broadcast address&gt;</term> 
                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>
 
                </varlistentry>
                
                
-               &popt.common.samba;
+               <varlistentry>
+               <term>-d &lt;debuglevel&gt;</term> 
+               <listitem><para>debuglevel is an integer from 0 to 10.</para>
 
+               <para>The default value if this parameter is not specified 
+               is zero.</para>
+
+               <para>The higher this value, the more detail will be logged 
+               about the activities of <command>nmblookup</command>. At level 
+               0, only critical errors and serious warnings will be logged.</para>
+
+               <para>Levels above 1 will generate considerable amounts of 
+               log data, and should only be used when investigating a problem. 
+               Levels above 3 are designed for use only by developers and 
+               generate HUGE amounts of 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 <filename>
+               smb.conf(5)</filename> file.</para></listitem>
+               </varlistentry>
+
+               <varlistentry>
+               <term>-s &lt;smb.conf&gt;</term> 
+               <listitem><para>This parameter specifies the pathname to 
+               the Samba configuration file, <ulink url="smb.conf.5.html">
+               smb.conf(5)</ulink>.  This file controls all aspects of
+               the Samba setup on the machine.</para></listitem>
+               </varlistentry>
+
+               <varlistentry>
+               <term>-i &lt;scope&gt;</term> 
+               <listitem><para>This specifies a NetBIOS scope that
+               <command>nmblookup</command> will use to communicate with when 
+               generating NetBIOS names. For details on the use of NetBIOS 
+               scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are 
+               <emphasis>very</emphasis> rarely used, only set this parameter 
+               if you are the system administrator in charge of all the 
+               NetBIOS systems you communicate with.</para></listitem>
+               </varlistentry>
+               
+               
                <varlistentry>
                <term>-T</term> 
                <listitem><para>This causes any IP addresses found in the 
                <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>
diff --git a/docs/docbook/manpages/ntlm_auth.1.sgml b/docs/docbook/manpages/ntlm_auth.1.sgml
deleted file mode 100644 (file)
index 08a7d4a..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="ntlm_auth.1">
-
-<refmeta>
-       <refentrytitle>ntlm_auth</refentrytitle>
-       <manvolnum>1</manvolnum>
-</refmeta>
-
-
-<refnamediv>
-       <refname>ntlm_auth</refname>
-       <refpurpose>tool to allow external access to Winbind's NTLM authentication function</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-       <cmdsynopsis>
-               <command>ntlm_auth</command>
-               <arg choice="opt">-d debuglevel</arg>
-               <arg choice="opt">-l logfile</arg>
-               <arg choice="opt">-s &lt;smb config file&gt;</arg>
-       </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1>
-       <title>DESCRIPTION</title>
-
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
-
-       <para><command>ntlm_auth</command> is a helper utility that authenticates 
-       users using NT/LM authentication. It returns 0 if the users is authenticated
-       successfully and 1 if access was denied. ntlm_auth uses winbind to access 
-       the user and authentication data for a domain. This utility 
-       is only to be used by other programs (currently squid).
-       </para>
-</refsect1>
-
-
-<refsect1>
-       <title>OPTIONS</title>
-
-       <varlistentry>
-       <term>--helper-protocol=PROTO</term>
-       <listitem><para>
-       Operate as a stdio-based helper
-       </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--username=USERNAME</term>
-       <listitem><para>
-       Specify username of user to authenticate
-       </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--domain=DOMAIN</term>
-       <listitem><para>
-       Specify domain of user to authenticate
-       </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--workstation=WORKSTATION</term>
-       <listitem><para>
-       Specify the workstation the user authenticated from
-       </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--challenge=STRING</term>
-       <listitem><para>challenge (HEX encoded)</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--lm-response=RESPONSE</term>
-       <listitem><para>LM Response to the challenge (HEX encoded)</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--nt-response=RESPONSE</term>
-       <listitem><para>NT or NTLMv2 Response to the challenge (HEX encoded)</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--password=PASSWORD</term>
-       <listitem><para>User's plaintext password</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--request-lm-key</term>
-       <listitem><para>Retreive LM session key</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>--request-nt-key</term>
-       <listitem><para>Request NT key</para></listitem>
-       </varlistentry>
-
-         &popt.common.samba;
-         &stdarg.help;
-       
-       </variablelist>
-</refsect1>
-
-<refsect1>
-       <title>VERSION</title>
-
-       <para>This man page is correct for version 3.0 of the Samba 
-       suite.</para>
-</refsect1>
-
-<refsect1>
-       <title>AUTHOR</title>
-       
-       <para>The original Samba software and related utilities 
-       were created by Andrew Tridgell. Samba is now developed
-       by the Samba Team as an Open Source project similar 
-       to the way the Linux kernel is developed.</para>
-       
-       <para>The ntlm_auth manpage was written by Jelmer Vernooij.</para>
-</refsect1>
-
-</refentry>
index fc9a212c1923466c332a0bbf6e69b5d359b0b8ec..3454b7d7faa90620b3b5631b255df073814ec3b0 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>
                <arg choice="opt">-e passdb-backend</arg>   
                <arg choice="opt">-g</arg>   
                <arg choice="opt">-b passdb-backend</arg>
-               <arg choice="opt">-g</arg>
                <arg choice="opt">-d debuglevel</arg>
                <arg choice="opt">-s configfile</arg>
                <arg choice="opt">-P account-policy</arg>
-               <arg choice="opt">-C value</arg>
+               <arg choice="opt">-V value</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 
 <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>
                
@@ -86,26 +86,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>
                
@@ -116,15 +116,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>
                
@@ -138,6 +137,8 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
                operations.</para>
                </listitem>
                </varlistentry>
+               
+
 
                <varlistentry>
                <term>-f fullname</term>
@@ -162,6 +163,7 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
                </listitem>
                </varlistentry>
                
+               
                <varlistentry>
                <term>-D drive</term>
                <listitem><para>This option can be used while adding or
@@ -206,10 +208,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>
                
@@ -270,18 +271,7 @@ retype new password
                <listitem><para>If you specify <parameter>-g</parameter>,
                then <parameter>-i in-backend -e out-backend</parameter>
                applies to the group mapping instead of the user database.
-
-               <para>This option will ease migration from one passdb backend to
-               another and will ease backing up.</para>
-               
-               </listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>-g</term>
-               <listitem><para>If you specify <parameter>-g</parameter>,
-               then <parameter>-i in-backend -e out-backend</parameter>
-               applies to the group mapping instead of the user database.
+               </para>
 
                <para>This option will ease migration from one passdb backend to
                another and will ease backing up.</para>
@@ -305,30 +295,31 @@ 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>
 
                <varlistentry>
-               <term>-C account-policy-value</term>
+               <term>-V account-policy-value</term>
                <listitem><para>Sets an account policy to a specified value. 
                This option may only be used in conjunction
                with the <parameter>-P</parameter> option.
                </para>
 
-               <para>Example: <command>pdbedit -P "bad lockout attempt" -C 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>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>
                </listitem>
                </varlistentry>
                
+               &stdarg.debuglevel;
                &stdarg.help;
-               &popt.common.samba;
+               &stdarg.configfile;
 
        </variablelist>
 </refsect1>
@@ -350,9 +341,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>
@@ -365,11 +356,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 39a1e512c00104ff6fdb00cfddac93cd10c808fb..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 
                <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>
-       </varlistentry>
+               <parameter>name resolve order</parameter></ulink> line from 
+               <filename>smb.conf(5)</filename>.</para></listitem>
+               </varlistentry>
+
+
+               <varlistentry>
+               <term>-A|--authfile=filename</term>
+               <listitem><para>This option allows 
+               you to specify a file from which to read the username and 
+               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>Make certain that the permissions on the file restrict 
+               access from unwanted users. </para></listitem>
+               </varlistentry>
+
 
 
                <varlistentry>
                <listitem><para>execute semicolon separated commands (listed 
                below)) </para></listitem>
                </varlistentry>
-
                
+                               
+               
+
+               &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. 
                above. </para></listitem>
                </varlistentry>
 
-               &popt.common.samba;
-               &popt.common.credentials;               
-               &popt.common.connection;
-               &stdarg.help;
-       </variablelist>
-</refsect1>
+               
+               <varlistentry>
+               <term>-l|--logfile=logbasename</term>
+               <listitem><para>File name for log/debug files. The extension 
+               <constant>'.client'</constant> will be appended. The log file is
+               never removed by the client.
+               </para></listitem>
+               </varlistentry>
 
 
-<refsect1>
-       <title>COMMANDS</title>
+               
+               <varlistentry>
+               <term>-N|--nopass</term>
+               <listitem><para>instruct <command>rpcclient</command> not to ask 
+               for a password.   By default, <command>rpcclient</command> will
+               prompt for a password.  See also the <parameter>-U</parameter>
+               option.</para></listitem>
+               </varlistentry>
 
-       <refsect2>
-       <title>LSARPC</title>
+               
+               <varlistentry>
+               <term>-s|--conf=smb.conf</term>
+               <listitem><para>Specifies the location of the all-important 
+               <filename>smb.conf</filename> file. </para></listitem>
+               </varlistentry>
 
-       <variablelist>
-               <varlistentry><term>lsaquery</term><listitem><para>Query info policy</para></listitem></varlistentry>
+                               
+
+               <varlistentry>
+               <term>-U|--user=username[%password]</term>
+               <listitem><para>Sets the SMB username or username and password. </para>
                
-               <varlistentry><term>lookupsids</term><listitem><para>Resolve a list 
-               of SIDs to usernames.
-               </para></listitem></varlistentry>
+               <para>If %password is not specified, the user will be prompted. The 
+               client will first check the <envar>USER</envar> environment variable, then the 
+               <envar>LOGNAME</envar> variable and if either exists, the 
+               string is uppercased. If these environmental variables are not 
+               found, the username <constant>GUEST</constant> is used. </para>
+
+               <para>A third option is to use a credentials file which 
+               contains the plaintext of the username and password.  This 
+               option is mainly provided for scripts where the admin does not 
+               wish to pass the credentials on the command line or via environment 
+               variables. If this method is used, make certain that the permissions 
+               on the file restrict access from unwanted users.  See the 
+               <parameter>-A</parameter> for more details. </para>
                
-               <varlistentry><term>lookupnames</term><listitem><para>Resolve a list 
-               of usernames to SIDs.
-               </para></listitem></varlistentry>
+               <para>Be cautious about including passwords in scripts. Also, on 
+               many systems the command line of a running process may be seen 
+               via the <command>ps</command> command.  To be safe always allow 
+               <command>rpcclient</command> to prompt for a password and type 
+               it in directly. </para></listitem>
+               </varlistentry>
                
-               <varlistentry><term>enumtrusts</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry>
-
-               <varlistentry><term>enumprivs</term><listitem><para>Enumerate privileges</para></listitem></varlistentry>
-
-               <varlistentry><term>getdispname</term><listitem><para>Get the privilege name</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaenumsid</term><listitem><para>Enumerate the LSA SIDS</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaenumprivsaccount</term><listitem><para>Enumerate the privileges of an SID</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaenumacctrights</term><listitem><para>Enumerate the rights of an SID</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaenumacctwithright</term><listitem><para>Enumerate accounts with a right</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaaddacctrights</term><listitem><para>Add rights to an account</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaremoveacctrights</term><listitem><para>Remove rights from an account</para></listitem></varlistentry>
-
-               <varlistentry><term>lsalookupprivvalue</term><listitem><para>Get a privilege value given its name</para></listitem></varlistentry>
-
-               <varlistentry><term>lsaquerysecobj</term><listitem><para>Query LSA security object</para></listitem></varlistentry>
-
-       </variablelist> 
-       </refsect2>
-       
-       <refsect2>
-       <title>LSARPC-DS</title>
-       
-       <variablelist>
-               <varlistentry><term>dsroledominfo</term><listitem><para>Get Primary Domain Information</para></listitem></varlistentry>
-       </variablelist>
-
-       <para> </para>
-
-       <para><emphasis>DFS</emphasis></para>
-       <variablelist>
-               <varlistentry><term>dfsexist</term><listitem><para>Query DFS support</para></listitem></varlistentry>
-               <varlistentry><term>dfsadd</term><listitem><para>Add a DFS share</para></listitem></varlistentry>
-               <varlistentry><term>dfsremove</term><listitem><para>Remove a DFS share</para></listitem></varlistentry>
-               <varlistentry><term>dfsgetinfo</term><listitem><para>Query DFS share info</para></listitem></varlistentry>
-               <varlistentry><term>dfsenum</term><listitem><para>Enumerate dfs shares</para></listitem></varlistentry>
-       </variablelist>
-
-       </refsect2>
-
-       <refsect2>
-       <title>REG</title>
-       <variablelist>
-               <varlistentry><term>shutdown</term><listitem><para>Remote Shutdown</para></listitem></varlistentry>
-               <varlistentry><term>abortshutdown</term><listitem><para>Abort Shutdown</para></listitem></varlistentry>
+               
+               
+               
+               <varlistentry>
+               <term>-W|--workgroup=domain</term>
+               <listitem><para>Set the SMB domain of the username.   This 
+               overrides the default domain which is the domain defined in 
+               smb.conf.  If the domain specified is the same as the server's NetBIOS name, 
+               it causes the client to log on using the  server's local SAM (as 
+               opposed to the Domain SAM). </para></listitem>
+               </varlistentry>
+               
+                                               
        </variablelist>
+</refsect1>
 
-       </refsect2>
 
-       <refsect2>
-       <title>SRVSVC</title>
+<refsect1>
+       <title>COMMANDS</title>
 
-       <variablelist>
-               <varlistentry><term>srvinfo</term><listitem><para>Server query info</para></listitem></varlistentry>
+       <para><emphasis>LSARPC</emphasis></para>
+       <itemizedlist>
+               <listitem><para><command>lsaquery</command></para></listitem>
                
-               <varlistentry><term>netshareenum</term><listitem><para>Enumerate shares</para></listitem></varlistentry>
-
-               <varlistentry><term>netfileenum</term><listitem><para>Enumerate open files</para></listitem></varlistentry>
+               <listitem><para><command>lookupsids</command> - Resolve a list 
+               of SIDs to usernames.
+               </para></listitem>
                
-               <varlistentry><term>netremotetod</term><listitem><para>Fetch remote time of day</para></listitem></varlistentry>
+               <listitem><para><command>lookupnames</command> - Resolve a list 
+               of usernames to SIDs.
+               </para></listitem>
                
-       </variablelist>
+               <listitem><para><command>enumtrusts</command></para></listitem>
+       </itemizedlist> 
+       <para> </para>
+       
 
-       </refsect2>
 
-       <refsect2>
-       <title>SAMR</title>
+       <para><emphasis>SAMR</emphasis></para>
+       <itemizedlist>
+               <listitem><para><command>queryuser</command></para></listitem>
+               <listitem><para><command>querygroup</command></para></listitem>
+               <listitem><para><command>queryusergroups</command></para></listitem>
+               <listitem><para><command>querygroupmem</command></para></listitem>
+               <listitem><para><command>queryaliasmem</command></para></listitem>
+               <listitem><para><command>querydispinfo</command></para></listitem>
+               <listitem><para><command>querydominfo</command></para></listitem>
+               <listitem><para><command>enumdomgroups</command></para></listitem>
+       </itemizedlist>
+       <para> </para>
 
-       <variablelist>
-               <varlistentry><term>queryuser</term><listitem><para>Query user info</para></listitem></varlistentry>
-               <varlistentry><term>querygroup</term><listitem><para>Query group info</para></listitem></varlistentry>
-               <varlistentry><term>queryusergroups</term><listitem><para>Query user groups</para></listitem></varlistentry>
-               <varlistentry><term>querygroupmem</term><listitem><para>Query group membership</para></listitem></varlistentry>
-               <varlistentry><term>queryaliasmem</term><listitem><para>Query alias membership</para></listitem></varlistentry>
-               <varlistentry><term>querydispinfo</term><listitem><para>Query display info</para></listitem></varlistentry>
-               <varlistentry><term>querydominfo</term><listitem><para>Query domain info</para></listitem></varlistentry>
-               <varlistentry><term>enumdomusers</term><listitem><para>Enumerate domain users</para></listitem></varlistentry>
-               <varlistentry><term>enumdomgroups</term><listitem><para>Enumerate domain groups</para></listitem></varlistentry>
-               <varlistentry><term>enumalsgroups</term><listitem><para>Enumerate alias groups</para></listitem></varlistentry>
-               <varlistentry><term>createdomuser</term><listitem><para>Create domain user</para></listitem></varlistentry>
-               <varlistentry><term>samlookupnames</term><listitem><para>Look up names</para></listitem></varlistentry>
-               <varlistentry><term>samlookuprids</term><listitem><para>Look up names</para></listitem></varlistentry>
-               <varlistentry><term>deletedomuser</term><listitem><para>Delete domain user</para></listitem></varlistentry>
-               <varlistentry><term>samquerysecobj</term><listitem><para>Query SAMR security object</para></listitem></varlistentry>
-               <varlistentry><term>getdompwinfo</term><listitem><para>Retrieve domain password info</para></listitem></varlistentry>
-       </variablelist>
 
-       </refsect2>
 
-       <refsect2>
-       <title>SPOOLSS</title>
+       <para><emphasis>SPOOLSS</emphasis></para>
 
-       <variablelist>
-               <varlistentry><term>adddriver &lt;arch&gt; &lt;config&gt;</term> 
-               <listitem><para>
-               Execute an AddPrinterDriver() RPC to install the printer driver 
+       <itemizedlist>
+               <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  
                <command>getdriverdir</command>.  Possible values for 
                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>
                
@@ -238,174 +247,133 @@ Comma Separated list of Files
                use of a bi-directional link for communication.  This field should 
                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></varlistentry>
-       
-               <varlistentry><term>addprinter &lt;printername&gt; 
-               &lt;sharename&gt; &lt;drivername&gt; &lt;port&gt;</term>
-               <listitem><para>
-               Add a printer on the remote server.  This printer 
+               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 
                will be automatically shared.  Be aware that the printer driver 
                must already be installed on the server (see <command>adddriver</command>) 
                and the <parameter>port</parameter>must be a valid port name (see
                <command>enumports</command>.</para>
-               </listitem></varlistentry>
+               </listitem>
 
 
-               <varlistentry><term>deldriver</term><listitem><para>Delete the 
+               <listitem><para><command>deldriver</command> - Delete the 
                specified printer driver for all architectures.  This
                does not delete the actual driver files from the server,
                only the entry from the server's list of drivers.
-               </para></listitem></varlistentry>
+               </para></listitem>
 
-               <varlistentry><term>enumdata</term><listitem><para>Enumerate all 
+               <listitem><para><command>enumdata</command> - Enumerate all 
                printer setting data stored on the server. On Windows NT  clients, 
                these values are stored  in the registry, while Samba servers 
                store them in the printers TDB.  This command corresponds
                to the MS Platform SDK GetPrinterData() function (* This
-               command is currently unimplemented).</para></listitem></varlistentry>
+               command is currently unimplemented).</para></listitem>
+
 
-               <varlistentry><term>enumdataex</term><listitem><para>Enumerate printer data for a key</para></listitem></varlistentry>
 
-               <varlistentry><term>enumjobs &lt;printer&gt;</term>
-               <listitem><para>List the jobs and status of a given printer. 
+               <listitem><para><command>enumjobs &lt;printer&gt;</command> 
+               List the jobs and status of a given printer. 
                This command corresponds to the MS Platform SDK EnumJobs() 
-               function </listitem></varlistentry>
+               function (* This command is currently unimplemented).</para></listitem>
+               
+
 
-               <varlistentry><term>enumkey</term><listitem><para>Enumerate printer keys</para></listitem></varlistentry>
                
-               <varlistentry><term>enumports [level]</term>
-               <listitem><para>
-               Executes an EnumPorts() call using the specified 
+               <listitem><para><command>enumports [level]</command> 
+               - Executes an EnumPorts() call using the specified 
                info level. Currently only info levels 1 and 2 are supported. 
-               </para></listitem></varlistentry>
+               </para></listitem>
 
 
 
-               <varlistentry><term>enumdrivers [level]</term> 
-               <listitem><para>
-               Execute an EnumPrinterDrivers() call.  This lists the various installed 
+               <listitem><para><command>enumdrivers [level]</command> 
+               - Execute an EnumPrinterDrivers() call.  This lists the various installed 
                printer drivers for all architectures.  Refer to the MS Platform SDK 
                documentation for more details of the various flags and calling 
-               options. Currently supported info levels are 1, 2, and 3.</para></listitem></varlistentry>
+               options. Currently supported info levels are 1, 2, and 3.</para></listitem>
 
 
 
-               <varlistentry><term>enumprinters [level]</term>
-               <listitem><para>Execute an EnumPrinters() call.  This lists the various installed 
+               <listitem><para><command>enumprinters [level]</command> 
+               Execute an EnumPrinters() call.  This lists the various installed 
                and share printers.  Refer to the MS Platform SDK documentation for 
                more details of the various flags and calling options. Currently
-               supported info levels are 0, 1, and 2.</para></listitem></varlistentry>
+               supported info levels are 0, 1, and 2.</para></listitem>
 
 
 
 
-               <varlistentry><term>getdata &lt;printername&gt; &lt;valuename;&gt;</term
-               <listitem><para>Retrieve the data for a given printer setting.  See 
+               <listitem><para><command>getdata &lt;printername&gt;</command
+               Retrieve the data for a given printer setting.  See 
                the  <command>enumdata</command> command for more information.  
                This command corresponds to the GetPrinterData() MS Platform 
-               SDK function. </para></listitem></varlistentry>
+               SDK function (* This command is currently unimplemented). </para></listitem>
 
-               <varlistentry><term>getdataex</term><listitem><para>Get printer driver data with keyname</para></listitem></varlistentry>
 
                
-               <varlistentry><term>getdriver &lt;printername&gt;</term>
-               <listitem><para>
-               Retrieve the printer driver information (such as driver file, 
+               <listitem><para><command>getdriver &lt;printername&gt;</command> 
+               - Retrieve the printer driver information (such as driver file, 
                config file, dependent files, etc...) for 
                the given printer. This command corresponds to the GetPrinterDriver()
                MS Platform  SDK function. Currently info level 1, 2, and 3 are supported.
-               </para></listitem></varlistentry>
+               </para></listitem>
        
 
-               <varlistentry><term>getdriverdir &lt;arch&gt;</term>
-               <listitem><para>
-               Execute a GetPrinterDriverDirectory()
+               <listitem><para><command>getdriverdir &lt;arch&gt;</command> 
+               - Execute a GetPrinterDriverDirectory()
                RPC to retrieve the SMB share name and subdirectory for 
                storing printer driver files for a given architecture.  Possible 
                values for <parameter>arch</parameter> are "Windows 4.0" 
                (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows
-               Alpha_AXP", and "Windows NT R4000". </para></listitem></varlistentry>
+               Alpha_AXP", and "Windows NT R4000". </para></listitem>
 
 
 
-               <varlistentry><term>getprinter &lt;printername&gt;</term
-               <listitem><para>Retrieve the current printer information.  This command 
+               <listitem><para><command>getprinter &lt;printername&gt;</command
+               Retrieve the current printer information.  This command 
                corresponds to the GetPrinter() MS Platform SDK function. 
-               </para></listitem></varlistentry>
+               </para></listitem>
+
 
-               <varlistentry><term>getprintprocdir</term><listitem><para>Get print processor directory</para></listitem></varlistentry>
                
-               <varlistentry><term>openprinter &lt;printername&gt;</term
-               <listitem><para>Execute an OpenPrinterEx() and ClosePrinter() RPC 
+               <listitem><para><command>openprinter &lt;printername&gt;</command
+               Execute an OpenPrinterEx() and ClosePrinter() RPC 
                against a given printer. </para></listitem> 
 
-               <varlistentry><term>setdriver &lt;printername&gt;
-               &lt;drivername&gt;</term>
-               <listitem><para>Execute a SetPrinter() command to update the printer driver
+
+               <listitem><para><command>setdriver &lt;printername&gt;
+               &lt;drivername&gt;</command>
+               - Execute a SetPrinter() command to update the printer driver
                associated with an installed printer.  The printer driver must
                already be correctly installed on the print server.  </para>
 
                <para>See also the <command>enumprinters</command> and 
                <command>enumdrivers</command> commands for obtaining a list of
-               of installed printers and drivers.</para></listitem></varlistentry>
-
-               <varlistentry><term>addform</term><listitem><para>Add form</para></listitem></varlistentry>
-               <varlistentry><term>setform</term><listitem><para>Set form</para></listitem></varlistentry>
-               <varlistentry><term>getform</term><listitem><para>Get form</para></listitem></varlistentry>
-               <varlistentry><term>deleteform</term><listitem><para>Delete form</para></listitem></varlistentry>
-               <varlistentry><term>enumforms</term><listitem><para>Enumerate form</para></listitem></varlistentry>
-               <varlistentry><term>setprinter</term><listitem><para>Set printer comment</para></listitem></varlistentry>
-               <varlistentry><term>setprinterdata</term><listitem><para>Set REG_SZ printer data</para></listitem></varlistentry>
-               <varlistentry><term>rffpcnex</term><listitem><para>Rffpcnex test</para></listitem></varlistentry>
-               
+               of installed printers and drivers.</para></listitem>
 
-       </variablelist>
+       </itemizedlist>
 
-       </refsect2>
 
-       <refsect2>
-       <title>NETLOGON</title>
+       <para><emphasis>GENERAL OPTIONS</emphasis></para>
 
-       <variablelist>
+       <itemizedlist>
+               <listitem><para><command>debuglevel</command> - Set the current
+               debug level used to log information.</para></listitem>
 
-       <varlistentry><term>logonctrl2</term>
-       <listitem><para>Logon Control 2</para></listitem>
-       </varlistentry>
-
-       <varlistentry><term>logonctrl</term>
-       <listitem><para>Logon Control</para></listitem>
-       </varlistentry>
-
-       <varlistentry><term>samsync</term>
-       <listitem><para>Sam Synchronisation</para></listitem>
-       </varlistentry>
-
-       <varlistentry><term>samdeltas</term>
-       <listitem><para>Query Sam Deltas</para></listitem>
-       </varlistentry>
-
-       <varlistentry><term>samlogon</term>
-       <listitem><para>Sam Logon</para></listitem>
-       </varlistentry>
-
-       </variablelist>
-       </refsect2>
-
-       <refsect2>
-       <title>GENERAL COMMANDS</title>
-
-       <variablelist>
-               <varlistentry><term>debuglevel</term><listitem><para>Set the current
-               debug level used to log information.</para></listitem></varlistentry>
-
-               <varlistentry><term>help (?)</term><listitem><para>Print a listing of all 
+               <listitem><para><command>help (?)</command> - Print a listing of all 
                known commands or extended help  on a particular command. 
-               </para></listitem></varlistentry>
+               </para></listitem>
                
-               <varlistentry><term>quit (exit)</term><listitem><para>Exit <command>rpcclient
-               </command>.</para></listitem></varlistentry>
-       </variablelist>
-       </refsect2>
+               <listitem><para><command>quit (exit)</command> - Exit <command>rpcclient
+               </command>.</para></listitem>
+       </itemizedlist>
+
 
 </refsect1>
 
@@ -419,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 
@@ -427,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>
 
 
@@ -455,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 2fbd27b934423148a4376959d7797c37b3ab9a62..7910b1ce8efcd6ad0a9589567ebca99d8f1f5cf1 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 
@@ -287,11 +288,11 @@ alias|alias|alias|alias...
                components (if there are more than one) are separated by vertical 
                bar symbols ('|').</para>
                
-               <note><para>On SYSV systems which use lpstat to determine what 
+               <para>NOTE: On SYSV systems which use lpstat to determine what 
                printers are defined on the system you may be able to use
                "printcap name = lpstat" to automatically obtain a list 
                of printers. See the "printcap name" option 
-               for more details.</para></note>
+               for more details.</para>
        </refsect2>
 </refsect1>
 
@@ -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 
@@ -684,7 +685,6 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="LOGONSCRIPT"><parameter>logon script</parameter></link></para></listitem>
                <listitem><para><link linkend="LPQCACHETIME"><parameter>lpq cache time</parameter></link></para></listitem>
                <listitem><para><link linkend="MACHINEPASSWORDTIMEOUT"><parameter>machine password timeout</parameter></link></para></listitem>
-               <listitem><para><link linkend="MANGLEPREFIX"><parameter>mangle prefix</parameter></link></para></listitem>
                <listitem><para><link linkend="MANGLEDSTACK"><parameter>mangled stack</parameter></link></para></listitem>
                <listitem><para><link linkend="MAPTOGUEST"><parameter>map to guest</parameter></link></para></listitem>
                <listitem><para><link linkend="MAXDISKSIZE"><parameter>max disk size</parameter></link></para></listitem>
@@ -728,9 +728,9 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="PREFEREDMASTER"><parameter>prefered master</parameter></link></para></listitem>
                <listitem><para><link linkend="PREFERREDMASTER"><parameter>preferred master</parameter></link></para></listitem>
                <listitem><para><link linkend="PRELOAD"><parameter>preload</parameter></link></para></listitem>
-               <listitem><para><link linkend="PRELOADMODULES"><parameter>preload modules</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTCAP"><parameter>printcap</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTCAPNAME"><parameter>printcap name</parameter></link></para></listitem>
+               <listitem><para><link linkend="PRINTERDRIVERFILE"><parameter>printer driver file</parameter></link></para></listitem>
                <listitem><para><link linkend="PRIVATEDIR"><parameter>private dir</parameter></link></para></listitem>
                <listitem><para><link linkend="PROTOCOL"><parameter>protocol</parameter></link></para></listitem>
                <listitem><para><link linkend="READBMPX"><parameter>read bmpx</parameter></link></para></listitem>
@@ -771,6 +771,7 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="UNIXPASSWORDSYNC"><parameter>unix password sync</parameter></link></para></listitem>
                <listitem><para><link linkend="UPDATEENCRYPTED"><parameter>update encrypted</parameter></link></para></listitem>
                <listitem><para><link linkend="USEMMAP"><parameter>use mmap</parameter></link></para></listitem>
+               <listitem><para><link linkend="USERHOSTS"><parameter>use rhosts</parameter></link></para></listitem>
                <listitem><para><link linkend="USESENDFILE"><parameter>use sendfile</parameter></link></para></listitem>
                <listitem><para><link linkend="USERNAMELEVEL"><parameter>username level</parameter></link></para></listitem>
                <listitem><para><link linkend="USERNAMEMAP"><parameter>username map</parameter></link></para></listitem>
@@ -806,7 +807,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>
@@ -882,6 +883,7 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="PATH"><parameter>path</parameter></link></para></listitem>
                <listitem><para><link linkend="POSIXLOCKING"><parameter>posix locking</parameter></link></para></listitem>
                <listitem><para><link linkend="POSTEXEC"><parameter>postexec</parameter></link></para></listitem>
+               <listitem><para><link linkend="POSTSCRIPT"><parameter>postscript</parameter></link></para></listitem>
                <listitem><para><link linkend="PREEXEC"><parameter>preexec</parameter></link></para></listitem>
                <listitem><para><link linkend="PREEXECCLOSE"><parameter>preexec close</parameter></link></para></listitem>
                <listitem><para><link linkend="PRESERVECASE"><parameter>preserve case</parameter></link></para></listitem>
@@ -890,6 +892,8 @@ alias|alias|alias|alias...
                <listitem><para><link linkend="PRINTABLE"><parameter>printable</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTER"><parameter>printer</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTERADMIN"><parameter>printer admin</parameter></link></para></listitem>
+               <listitem><para><link linkend="PRINTERDRIVER"><parameter>printer driver</parameter></link></para></listitem>
+               <listitem><para><link linkend="PRINTERDRIVERLOCATION"><parameter>printer driver location</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTERNAME"><parameter>printer name</parameter></link></para></listitem>
                <listitem><para><link linkend="PRINTING"><parameter>printing</parameter></link></para></listitem>
                <listitem><para><link linkend="PUBLIC"><parameter>public</parameter></link></para></listitem>
@@ -935,10 +939,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>
                
@@ -950,7 +954,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 
@@ -964,12 +968,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>
@@ -986,22 +990,16 @@ alias|alias|alias|alias...
                driver location" parameter is included for backwards compatibility
                only.  The remaining fields in the structure are generated from answers
                to the APW questions.</para>
-
+               
                <para>Once the <parameter>addprinter command</parameter> has 
                been executed, <command>smbd</command> will reparse the <filename>
                smb.conf</filename> to determine if the share defined by the APW
                exists.  If the sharename is still invalid, then <command>smbd
                </command> will return an ACCESS_DENIED error to the client.</para>
-
-               <para>
-               The "add printer command" program can output a single line of text,
-               which Samba will set as the port the new printer is connected to. 
-               If this line isn't output, Samba won't reload its printer shares.
-               </para>
                
                <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>
                
@@ -1014,7 +1012,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 
@@ -1068,10 +1066,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
@@ -1087,7 +1084,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 
@@ -1100,10 +1097,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 
@@ -1113,16 +1110,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 
@@ -1150,10 +1147,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
@@ -1166,7 +1163,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>
@@ -1182,13 +1179,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>
@@ -1199,13 +1196,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>
@@ -1228,7 +1225,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>.  
@@ -1252,9 +1249,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, 
@@ -1273,7 +1271,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 
@@ -1288,7 +1286,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>
@@ -1297,7 +1295,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>
@@ -1315,7 +1313,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 
@@ -1329,12 +1327,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 
@@ -1354,9 +1352,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 
@@ -1365,9 +1362,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> 
@@ -1377,9 +1375,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
@@ -1399,10 +1397,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>
                
@@ -1422,9 +1419,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>        
                
@@ -1438,19 +1435,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>
@@ -1461,7 +1466,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>
 
@@ -1472,7 +1477,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>
                
@@ -1483,7 +1488,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>
@@ -1491,12 +1496,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>
 
@@ -1509,7 +1514,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 
@@ -1559,8 +1564,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 
@@ -1577,7 +1586,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 
@@ -1601,7 +1610,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 
@@ -1619,7 +1628,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>
@@ -1663,14 +1672,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
@@ -1689,7 +1698,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 
@@ -1715,7 +1724,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 
@@ -1732,7 +1741,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 
@@ -1747,7 +1756,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
@@ -1760,7 +1769,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 
@@ -1776,7 +1785,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>
@@ -1785,7 +1794,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>
@@ -1793,7 +1802,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>
@@ -1805,7 +1814,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
@@ -1843,7 +1852,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>
@@ -1869,27 +1878,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 
@@ -1915,7 +1921,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>
                
@@ -1931,7 +1937,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>
                
@@ -1945,7 +1951,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 
@@ -1993,11 +1999,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
@@ -2015,13 +2020,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>
@@ -2032,7 +2037,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>
@@ -2061,7 +2066,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>
@@ -2070,7 +2075,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, 
@@ -2103,17 +2108,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>
@@ -2124,7 +2129,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>
@@ -2132,7 +2137,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>
@@ -2180,7 +2185,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>
@@ -2188,7 +2193,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 
@@ -2223,7 +2228,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>
@@ -2238,7 +2243,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
@@ -2259,7 +2264,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>.
@@ -2274,12 +2279,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 
@@ -2297,7 +2302,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
@@ -2312,20 +2317,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 
@@ -2350,7 +2355,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 
@@ -2369,22 +2374,22 @@ 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.
                </para>
 
-               <para>The default depends on which charsets you have installed. 
+               <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
@@ -2403,13 +2408,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 
@@ -2429,15 +2434,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>
@@ -2446,7 +2450,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 
@@ -2455,11 +2459,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 
@@ -2470,7 +2473,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.  
@@ -2496,7 +2499,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
@@ -2519,7 +2522,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>
@@ -2527,7 +2530,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 
@@ -2561,7 +2564,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 
@@ -2593,11 +2596,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 
@@ -2614,7 +2616,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 
@@ -2642,7 +2644,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 
@@ -2671,7 +2673,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>
@@ -2707,7 +2709,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 
@@ -2743,7 +2745,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 
@@ -2781,7 +2783,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 
@@ -2809,11 +2811,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
@@ -2826,7 +2828,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 
@@ -2840,7 +2842,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>
@@ -2848,7 +2850,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 
@@ -2878,16 +2880,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>
@@ -2898,7 +2896,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">
@@ -2914,7 +2912,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>
 
@@ -2924,7 +2922,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>
@@ -2962,7 +2960,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>
 
@@ -2972,7 +2970,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>
 
@@ -2981,7 +2979,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.
@@ -2992,7 +2990,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.
@@ -3003,10 +3001,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 
@@ -3019,8 +3017,8 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                that copes with different map formats and also Amd (another 
                automounter) maps.</para>
                
-               <note><para>A working NIS client is required on 
-               the system for this option to work.</para></note>
+               <para><emphasis>NOTE :</emphasis>A working NIS client is required on 
+               the system for this option to work.</para>
 
                <para>See also <link linkend="NISHOMEDIR"><parameter>nis homedir</parameter>
                </link>, <link linkend="DOMAINLOGONS"><parameter>domain logons</parameter>
@@ -3036,7 +3034,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>, 
@@ -3054,7 +3052,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 
@@ -3070,7 +3068,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>
                
@@ -3119,9 +3117,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>
@@ -3134,7 +3132,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 
@@ -3151,7 +3149,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.
@@ -3163,14 +3161,14 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                hosts equiv</parameter> may be useful for NT clients which will 
                not supply passwords to Samba.</para>
 
-               <note><para>The use of <parameter>hosts equiv
+               <para><emphasis>NOTE :</emphasis> The use of <parameter>hosts equiv
                </parameter> can be a major security hole. This is because you are 
                trusting the PC to supply the correct username. It is very easy to 
                get a PC to supply a false username. I recommend that the 
                <parameter>hosts equiv</parameter> option be only used if you really 
                know what you are doing, or perhaps on a home network where you trust 
                your spouse and kids. And only if you <emphasis>really</emphasis> trust 
-               them :-).</para></note>
+               them :-).</para>
                
                <para>Default: <emphasis>no host equivalences</emphasis></para>
                <para>Example: <command>hosts equiv = /etc/hosts.equiv</command></para>
@@ -3180,7 +3178,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>
@@ -3197,7 +3195,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.
@@ -3215,7 +3213,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">
@@ -3256,7 +3254,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 
@@ -3308,7 +3306,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 
@@ -3320,12 +3318,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>
 
@@ -3344,7 +3342,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 
@@ -3364,7 +3362,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 
@@ -3372,10 +3370,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.
@@ -3393,12 +3391,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>
@@ -3409,10 +3407,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
@@ -3427,15 +3424,15 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPADMINDN"/>ldap admin dn (G)</term>
-               <listitem><para> The <parameter>ldap admin dn</parameter> defines the Distinguished 
+               <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.</para>
+               <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink> man
+               page for more information on how to accomplish this.
+               </para>
                </listitem>
                </varlistentry>
        
@@ -3452,7 +3449,17 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="LDAPFILTER"/>ldap filter (G)</term>
+               <term><anchor id="LDAPDELONLYSAMATTR"/>ldap del only sam attr (G)</term>
+               <listitem><para> Inverted synonym for <link linkend="LDAPDELETEDN"><parameter>
+               ldap delete dn</parameter></link>.
+               </para>
+               </listitem>
+               </varlistentry>
+
+
+
+               <varlistentry>
+               <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>                
@@ -3466,7 +3473,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.
@@ -3488,7 +3495,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.
@@ -3505,7 +3512,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
@@ -3539,7 +3546,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>
                
@@ -3550,7 +3557,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>
                
@@ -3563,7 +3570,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>
@@ -3575,7 +3582,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
@@ -3599,7 +3606,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
@@ -3618,7 +3625,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>
                
@@ -3662,9 +3669,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
@@ -3689,7 +3696,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 
@@ -3709,7 +3716,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 
@@ -3722,9 +3729,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
@@ -3743,7 +3750,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>
@@ -3751,7 +3758,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>
@@ -3765,7 +3772,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
@@ -3784,7 +3791,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 
@@ -3798,7 +3805,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>
@@ -3826,7 +3833,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>
 
@@ -3840,7 +3847,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
@@ -3858,7 +3865,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>) 
@@ -3875,7 +3882,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>
@@ -3917,7 +3924,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 
@@ -3965,7 +3972,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 
@@ -4007,7 +4014,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>
@@ -4051,7 +4058,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>
@@ -4080,7 +4087,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>
@@ -4124,7 +4131,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>
@@ -4164,7 +4171,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>
 
@@ -4194,7 +4201,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">
@@ -4204,8 +4211,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>
@@ -4214,7 +4221,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>
@@ -4234,7 +4241,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 
@@ -4265,7 +4272,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>
                
@@ -4275,7 +4282,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 
@@ -4300,7 +4307,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>
@@ -4359,7 +4366,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
@@ -4374,7 +4381,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
@@ -4386,10 +4393,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 
@@ -4413,7 +4420,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 '~'
@@ -4430,7 +4437,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 
@@ -4450,7 +4457,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>
 
@@ -4465,7 +4472,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>
 
@@ -4480,15 +4487,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>
@@ -4536,7 +4542,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 
@@ -4556,7 +4562,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 
@@ -4583,7 +4589,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 
@@ -4599,7 +4605,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>
@@ -4611,10 +4617,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>
@@ -4630,11 +4635,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>
@@ -4646,7 +4651,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>
 
@@ -4684,15 +4689,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>
 
@@ -4705,9 +4709,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
@@ -4720,9 +4723,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
@@ -4738,7 +4741,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 
@@ -4753,7 +4756,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>
 
@@ -4763,13 +4766,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>
 
@@ -4814,7 +4817,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>
 
@@ -4822,7 +4825,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>
@@ -4831,7 +4834,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>
@@ -4849,7 +4852,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 
@@ -4867,7 +4870,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>
@@ -4891,9 +4894,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 
@@ -4906,7 +4908,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
@@ -4917,7 +4919,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>
 
@@ -4925,17 +4927,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>
@@ -4945,7 +4947,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.
@@ -4958,7 +4960,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 
@@ -5011,7 +5013,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 
@@ -5032,7 +5034,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
@@ -5051,7 +5053,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>
@@ -5060,7 +5062,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 
@@ -5093,7 +5095,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
@@ -5102,10 +5104,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                 This range of ids should have no existing local or NIS users within 
                 it as strange conflicts can occur otherwise.</para>
 
-                <note><para>These userids never appear on the system and Samba will never
+                <para>NOTE: These userids never appear on the system and Samba will never
                 'become' these users. They are used only to ensure that the algorithmic 
                 RID mapping does not conflict with normal users.
-               </para></note>
+               </para>
 
                <para>Default: <command>non unix account range = &lt;empty string&gt;
                </command></para>
@@ -5117,7 +5119,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.
@@ -5131,10 +5133,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>
@@ -5146,7 +5147,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
@@ -5163,12 +5164,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>
@@ -5178,7 +5178,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 
@@ -5199,7 +5199,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 
@@ -5227,7 +5227,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>
@@ -5236,7 +5236,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 
@@ -5254,15 +5254,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>
 
@@ -5278,7 +5278,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 
@@ -5306,16 +5306,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>
@@ -5323,11 +5320,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>
                
@@ -5347,7 +5343,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>
@@ -5360,9 +5356,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>
@@ -5371,7 +5368,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
@@ -5389,12 +5386,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>
@@ -5402,24 +5399,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.
@@ -5487,7 +5480,7 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                         for its own processing</para>
                         </listitem>
                
-                       <listitem><para><command>unixsam</command> - Allows samba to map all (other) available unix users</para>
+                       <listitem><para><command>unixsam</command> - (EXPERIMENTAL) Allows samba to map all (other) available unix users</para>
 
                        <para>This backend uses the standard unix database for retrieving users. Users included 
                         in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
@@ -5503,22 +5496,22 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </itemizedlist>
                </para>
 
-               <para>Default: <command>passdb backend = smbpasswd unixsam</command></para>
-               <para>Example: <command>passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam</command></para>
-               <para>Example: <command>passdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam</command></para>
+               <para>Default: <command>passdb backend = smbpasswd guest</command></para>
+               <para>Example: <command>passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd </command></para>
+               <para>Example: <command>passdb backend = ldapsam_nua:ldaps://ldap.example.com </command></para>
                <para>Example: <command>passdb backend = plugin:/usr/local/samba/lib/my_passdb.so:my_plugin_args tdbsam:/etc/samba/private/passdb.tdb</command></para>
                </listitem>
                </varlistentry>
 
 
                <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>
@@ -5540,8 +5533,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 
@@ -5563,10 +5556,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>
@@ -5574,12 +5567,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 
@@ -5602,7 +5594,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 
@@ -5640,7 +5632,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 
@@ -5683,7 +5675,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 
@@ -5704,10 +5696,10 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                the "LM1.2X002" or the "NT LM 0.12" protocol, and it must be in 
                user level security mode.</para>
 
-               <note><para>Using a password server 
+               <para><emphasis>NOTE:</emphasis> Using a password server 
                means your UNIX box (running Samba) is only as secure as your 
                password server. <emphasis>DO NOT CHOOSE A PASSWORD SERVER THAT 
-               YOU DON'T COMPLETELY TRUST</emphasis>.</para></note>
+               YOU DON'T COMPLETELY TRUST</emphasis>.</para>
                
                <para>Never point a Samba server at itself for password 
                serving. This will cause a loop and could lock up your Samba 
@@ -5778,7 +5770,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 
@@ -5809,7 +5801,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>
 
@@ -5821,9 +5813,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 
@@ -5839,7 +5830,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 
@@ -5864,7 +5855,23 @@ df $1 | tail -1 | awk '{print $2" "$4}'
 
 
                <varlistentry>
-               <term><anchor id="PREEXEC"/>preexec (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>
+
+               <para>This is most useful when you have lots of PCs that persist 
+               in putting a control-D at the start of print jobs, which then 
+               confuses your printer.</para>
+
+               <para>Default: <command>postscript = no</command></para>
+               </listitem>
+               </varlistentry>
+       
+       
+       
+               <varlistentry>
+               <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>
 
@@ -5873,12 +5880,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>
@@ -5890,7 +5897,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>
@@ -5901,7 +5908,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>
@@ -5930,7 +5937,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>
@@ -5939,7 +5946,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 
@@ -5955,24 +5962,9 @@ df $1 | tail -1 | awk '{print $2" "$4}'
                </listitem>
                </varlistentry>
 
-               <varlistentry>
-               <term><anchor id="PRELOADMODULES"/>preload modules (G)</term>
-               <listitem><para>This is a list of paths to modules that should 
-               be loaded into smbd before a client connects. This improves 
-               the speed of smbd when reacting to new connections somewhat. </para>
-
-               <para>It is recommended to only use this option on heavy-performance 
-               servers.</para>
-
-               <para>Default: <command>preload modules = </command></para>
-               
-               <para>Example: <command>preload modules = /usr/lib/samba/passdb/mysql.so</command></para>
-
-               </listitem>
-               </varlistentry>
 
                <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
@@ -5988,7 +5980,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 
@@ -6078,7 +6070,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>
@@ -6088,7 +6080,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>
@@ -6106,7 +6098,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>
@@ -6116,7 +6108,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
@@ -6142,22 +6134,22 @@ 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 
                that it's a comment.</para>
 
-               <note><para>Under AIX the default printcap 
+               <para><emphasis>NOTE</emphasis>: Under AIX the default printcap 
                name is <filename>/etc/qconfig</filename>. Samba will assume the 
                file is in AIX <filename>qconfig</filename> format if the string
-               <filename>qconfig</filename> appears in the printcap filename.</para></note>
+               <filename>qconfig</filename> appears in the printcap filename.</para>
 
                <para>Default: <command>printcap name = /etc/printcap</command></para>
                <para>Example: <command>printcap name = /etc/myprintcap</command></para>
@@ -6169,7 +6161,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 
@@ -6183,8 +6175,113 @@ print5|My Printer 5
 
 
 
+
+               
+               <varlistentry>
+               <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="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>
+               
+               <para>This option allows you to control the string 
+               that clients receive when they ask the server for the printer driver 
+               associated with a printer. If you are using Windows95 or Windows NT 
+               then you can use this to automate the setup of printers on your 
+               system.</para>
+
+               <para>You need to set this parameter to the exact string (case 
+               sensitive) that describes the appropriate printer driver for your 
+               system. If you don't know the exact string to use then you should 
+               first try with no <link linkend="PRINTERDRIVER"><parameter>
+               printer driver</parameter></link> option set and the client will 
+               give you a list of printer drivers. The appropriate strings are 
+               shown in a scroll box after you have chosen the printer manufacturer.</para>
+
+               <para>See also <link linkend="PRINTERDRIVERFILE"><parameter>printer
+               driver file</parameter></link>.</para>
+
+               <para>Example: <command>printer driver = HP LaserJet 4L</command></para>
+               </listitem>
+               </varlistentry>
+
+
+
                <varlistentry>
-               <term><anchor id="PRINTERNAME"/>printer name (S)</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="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>
+
+               <para>This parameter tells Samba where the printer driver 
+               definition file, used when serving drivers to Windows 95 clients, is 
+               to be found. If this is not set, the default is :</para>
+
+               <para><filename><replaceable>SAMBA_INSTALL_DIRECTORY</replaceable>
+               /lib/printers.def</filename></para>
+
+               <para>This file is created from Windows 95 <filename>msprint.inf
+               </filename> files found on the Windows 95 client system. For more 
+               details on setting up serving of printer drivers to Windows 95 
+               clients, see the outdated documentation file in the <filename>docs/</filename> 
+               directory, <filename>PRINTER_DRIVER.txt</filename>.</para>
+
+               <para>See also <link linkend="PRINTERDRIVERLOCATION"><parameter>
+               printer driver location</parameter></link>.</para>
+               
+               <para>Default: <emphasis>None (set in compile).</emphasis></para>
+
+               <para>Example: <command>printer driver file = 
+               /usr/local/samba/printers/drivers.def</command></para>
+               </listitem>
+               </varlistentry>
+
+
+
+
+               <varlistentry>
+               <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="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>
+
+               <para>This parameter tells clients of a particular printer 
+               share where to find the printer driver files for the automatic 
+               installation of drivers for Windows 95 machines. If Samba is set up 
+               to serve printer drivers to Windows 95 machines, this should be set to</para>
+
+               <para><command>\\MACHINE\PRINTER$</command></para>
+
+               <para>Where MACHINE is the NetBIOS name of your Samba server, 
+               and PRINTER$ is a share you set up for serving printer driver 
+               files. For more details on setting this up see the outdated documentation 
+               file in the <filename>docs/</filename> directory, <filename>
+               PRINTER_DRIVER.txt</filename>.</para>
+
+               <para>See also <link linkend="PRINTERDRIVERFILE"><parameter>
+               printer driver file</parameter></link>.</para>
+
+               <para>Default: <command>none</command></para>
+               <para>Example: <command>printer driver location = \\MACHINE\PRINTER$
+               </command></para>
+               </listitem>
+               </varlistentry>
+
+
+
+               <varlistentry>
+               <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>
 
@@ -6201,7 +6298,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>
@@ -6210,7 +6307,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>, 
@@ -6241,7 +6338,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>.
@@ -6255,7 +6352,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>
@@ -6264,7 +6361,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>
@@ -6273,7 +6370,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>
 
@@ -6302,7 +6399,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 
@@ -6337,7 +6434,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 
@@ -6352,7 +6449,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 
@@ -6374,7 +6471,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>
 
@@ -6393,7 +6490,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>
@@ -6416,7 +6513,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 
@@ -6443,7 +6540,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
@@ -6456,7 +6553,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>
@@ -6481,7 +6578,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;
@@ -6492,7 +6589,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 
@@ -6530,7 +6627,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>
@@ -6543,7 +6640,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>
@@ -6552,7 +6649,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>
@@ -6560,7 +6657,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 
@@ -6592,7 +6689,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 
@@ -6607,7 +6704,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 
@@ -6625,7 +6722,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>
 
@@ -6639,14 +6736,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>
 
@@ -6691,7 +6788,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 
@@ -6760,10 +6857,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> 
@@ -6787,27 +6884,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 
@@ -6825,42 +6919,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 
@@ -6871,6 +6950,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>
 
@@ -6878,17 +6965,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 
@@ -6923,7 +7009,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 
@@ -6967,7 +7053,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>
@@ -6983,7 +7069,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 
@@ -7012,7 +7098,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 
@@ -7032,7 +7118,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 
@@ -7067,7 +7153,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
@@ -7093,15 +7179,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>
 
@@ -7111,7 +7197,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>
@@ -7126,7 +7212,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>
@@ -7137,7 +7223,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 
@@ -7154,7 +7240,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>
 
@@ -7227,7 +7313,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>
 
@@ -7249,23 +7335,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>
 
@@ -7274,7 +7354,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>
@@ -7286,7 +7366,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
@@ -7310,7 +7390,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 
@@ -7330,7 +7410,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 
@@ -7338,8 +7418,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
@@ -7355,7 +7434,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>
@@ -7367,7 +7446,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 
@@ -7389,7 +7468,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 
@@ -7409,7 +7488,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>
@@ -7421,7 +7500,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.  
@@ -7437,10 +7516,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>
@@ -7450,7 +7528,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 
@@ -7464,9 +7542,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>
@@ -7475,7 +7553,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>
@@ -7486,17 +7564,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>
@@ -7505,7 +7582,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!
@@ -7517,19 +7594,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
@@ -7545,7 +7622,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. 
@@ -7566,7 +7643,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 
@@ -7597,7 +7674,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
@@ -7635,7 +7712,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
@@ -7653,7 +7730,27 @@ let "time++"
 
 
                <varlistentry>
-               <term><anchor id="USER"/>user (S)</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 
+               access without specifying a password.</para>
+
+               <para><emphasis>NOTE:</emphasis> The use of <parameter>use rhosts
+               </parameter> can be a major security hole. This is because you are 
+               trusting the PC to supply the correct username. It is very easy to 
+               get a PC to supply a false username. I recommend that the <parameter>
+               use rhosts</parameter> option be only used if you really know what 
+               you are doing.</para>
+
+               <para>Default: <command>use rhosts = no</command></para>
+               </listitem>
+               </varlistentry>
+
+
+
+               <varlistentry>
+               <term><anchor id="USER">user (S)</term>
                <listitem><para>Synonym for <link linkend="USERNAME"><parameter>
                username</parameter></link>.</para>
                </listitem>
@@ -7662,7 +7759,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>
@@ -7670,7 +7767,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>
@@ -7711,7 +7808,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>
@@ -7735,7 +7832,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 
@@ -7758,7 +7855,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 
@@ -7821,10 +7918,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>
@@ -7850,7 +7947,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
@@ -7867,7 +7964,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
@@ -7889,7 +7986,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
@@ -7906,7 +8003,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
@@ -7928,9 +8025,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>
 
@@ -7955,7 +8052,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 
@@ -8003,7 +8100,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
@@ -8029,7 +8126,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
@@ -8042,7 +8139,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 
@@ -8056,7 +8153,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>
@@ -8069,7 +8166,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>
@@ -8081,7 +8178,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 
@@ -8100,10 +8197,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>
 
@@ -8113,10 +8209,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
@@ -8134,10 +8231,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
@@ -8154,10 +8252,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>
 
@@ -8170,7 +8268,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 
@@ -8191,10 +8289,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>
 
@@ -8207,10 +8305,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>
@@ -8223,7 +8323,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 
@@ -8271,7 +8371,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 
@@ -8285,46 +8385,33 @@ 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
                multi-subnetted network.</para>
 
-               <para>If you want to work in multiple namespaces, you can 
-               give every wins server a 'tag'. For each tag, only one 
-               (working) server will be queried for a name. The tag should be 
-               seperated from the ip address by a colon.
-               </para>
-
-               <note><para>You need to set up Samba to point 
+               <para><emphasis>NOTE</emphasis>. You need to set up Samba to point 
                to a WINS server if you have multiple subnets and wish cross-subnet 
-               browsing to work correctly.</para></note>
-               
+               browsing to work correctly.</para>
 
-               <para>See the documentation file <ulink url="improved-browsing.html">Browsing</ulink> in the samba howto collection.</para>
+               <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>
-               <para>Example: <command>wins server = mary:192.9.200.1 fred:192.168.3.199 mary:192.168.2.61</command></para>
-               <para>For this example when querying a certain name, 192.19.200.1 will 
-               be asked first and if that doesn't respond 192.168.2.61. If either 
-               of those doesn't know the name 192.168.3.199 will be queried.
-               </para>
-
-               <para>Example: <command>wins server = 192.9.200.1 192.168.2.61</command></para>
-               
+               <para>Example: <command>wins server = 192.9.200.1</command></para>
                </listitem>
                </varlistentry>
 
 
 
                <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>
@@ -8337,7 +8424,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 
@@ -8353,7 +8440,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>
@@ -8362,7 +8449,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 
@@ -8394,7 +8481,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
@@ -8419,7 +8506,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. 
@@ -8435,7 +8522,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>
@@ -8444,7 +8531,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>
@@ -8456,7 +8543,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>
@@ -8476,8 +8563,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>
@@ -8492,22 +8579,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>
@@ -8520,11 +8607,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 03fcbd6fd859950917c09e1a96a900992380ffed..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>
                <command>smbcacls</command>
                <arg choice="req">//server/share</arg>
                <arg choice="req">filename</arg>
-               <arg choice="opt">-D acls</arg>
-               <arg choice="opt">-M acls</arg>
+               <arg choice="opt">-U username</arg>
                <arg choice="opt">-A acls</arg>
+               <arg choice="opt">-M acls</arg>
+               <arg choice="opt">-D acls</arg>
                <arg choice="opt">-S acls</arg>
                <arg choice="opt">-C name</arg>
                <arg choice="opt">-G name</arg>
                <arg choice="opt">-n</arg>
-               <arg choice="opt">-t</arg>
-               <arg choice="opt">-U username</arg>
                <arg choice="opt">-h</arg>
-               <arg choice="opt">-d</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 
 <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>
 </refsect1>
@@ -92,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>
                and masks to a readable string format.  </para></listitem>
                </varlistentry>
                
+               
+               
                <varlistentry>
-               <term>-t</term>
-               <listitem><para>
-               Don't actually do anything, only validate the correctness of 
-               the arguments.
-               </para></listitem>
+               <term>-h</term>
+               <listitem><para>Print usage information on the <command>smbcacls
+               </command> program.</para></listitem>
                </varlistentry>
-                               
-               &stdarg.help;
-               &popt.common.samba.small;
        </variablelist>
 </refsect1>
 
        <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 
@@ -171,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 
@@ -237,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 3.0 of the Samba suite.</para>
+       <para>This man page is correct for version 2.2 of 
+       the Samba suite.</para>
 </refsect1>
 
 <refsect1>
@@ -252,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 cd513398b9897fc7699e9a7659d42e79182940b1..43994a4529f399a56d3c02dc17774d2c8106809a 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbclient.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbclient">
 
 <refmeta>
        <refentrytitle>smbclient</refentrytitle>
                <arg choice="opt">-R &lt;name resolve order&gt;</arg>
                <arg choice="opt">-s &lt;smb config file&gt;</arg>
                <arg choice="opt">-T&lt;c|x&gt;IXFqgbNan</arg>
-               <arg choice="opt">-k</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 
 <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 
@@ -85,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>
                </para></listitem>
                </varlistentry>
                
+               <varlistentry>
+               <term>-s smb.conf</term>
+               <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 <filename>
+               smb.conf (5)</filename> manpage for the list of valid 
+               options. </para></listitem>
+               </varlistentry>
+
+
                <varlistentry>
                <term>-R &lt;name resolve order&gt;</term> 
                <listitem><para>This option is used by the programs in the Samba 
                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 
                messages. </para></listitem>
                </varlistentry>
                
+               <varlistentry>
+               <term>-i scope</term>
+               <listitem><para>This specifies a NetBIOS scope that smbclient will 
+               use to communicate with when generating NetBIOS names. For details 
+               on the use of NetBIOS scopes, see <filename>rfc1001.txt</filename> 
+               and <filename>rfc1002.txt</filename>.
+               NetBIOS scopes are <emphasis>very</emphasis> rarely used, only set 
+               this parameter if you are the system administrator in charge of all 
+               the NetBIOS systems you communicate with. </para></listitem>
+               </varlistentry>
+               
+               
+               <varlistentry>
+               <term>-N</term>
+               <listitem><para>If specified, this parameter suppresses the normal 
+               password prompt from the client to the user. This is useful when 
+               accessing a service that does not require a password. </para>
+
+               <para>Unless a password is specified on the command line or 
+               this parameter is specified, the client will request a 
+               password.</para></listitem>
+               </varlistentry>
+               
+               
+               
+               <varlistentry>
+               <term>-n NetBIOS name</term>
+               <listitem><para>By default, the client will use the local 
+               machine's hostname (in uppercase) as its NetBIOS name. This parameter 
+               allows you to override the host name and use whatever NetBIOS 
+               name you wish. </para></listitem>
+               </varlistentry>
+               
+               
+               <varlistentry>
+               <term>-d debuglevel</term>
+               <listitem><para><replaceable>debuglevel</replaceable> is an integer from 0 to 10, or 
+               the letter 'A'. </para>
+               
+               <para>The default value if this parameter is not specified 
+               is zero. </para>
+
+               <para>The higher this value, the more detail will be logged to 
+               the log files about the activities of the 
+               client. At level 0, only critical errors and serious warnings will 
+               be logged. Level 1 is a reasonable level for day to day running - 
+               it generates a small amount of information about operations 
+               carried out. </para>
+               
+               <para>Levels above 1 will generate considerable amounts of log 
+               data, and should only be used when investigating a problem.
+               Levels above 3 are designed for use only by developers and 
+               generate HUGE amounts of log data, most of which is extremely 
+               cryptic. If <replaceable>debuglevel</replaceable> is set to the letter 'A', then <emphasis>all
+               </emphasis>  debug messages will be printed. This setting
+               is for developers only (and people who <emphasis>really</emphasis> want 
+               to know how the code works internally). </para>
+
+               <para>Note that specifying this parameter here will override
+               the log level parameter in the <filename>smb.conf (5)</filename> 
+               file. </para></listitem>
+               </varlistentry>
+               
+               
                <varlistentry>
                <term>-p port</term>
                <listitem><para>This number is the TCP port number that will be used 
                </varlistentry>
                
                
-               &stdarg.help;
+               
+               <varlistentry>
+               <term>-h</term><listitem>
+               <para>Print the usage message for the client. </para></listitem>
+               </varlistentry>
+               
+               
                
                <varlistentry>
                <term>-I IP-address</term>
                </varlistentry>
                
                
+               <varlistentry>
+               <term>-U username[%pass]</term>
+               <listitem><para>Sets the SMB username or username and password. 
+               If %pass is not specified, The user will be prompted. The client 
+               will first check the <envar>USER</envar> environment variable, then the 
+               <envar>LOGNAME</envar> variable and if either exists, the 
+               string is uppercased. Anything in these variables following a '%' 
+               sign will be treated as the password. If these environment 
+               variables are not found, the username <constant>GUEST</constant> 
+               is used. </para>
+
+               <para>If the password is not included in these environment
+               variables (using the %pass syntax), <command>smbclient</command> will look for 
+               a <envar>PASSWD</envar> environment variable from which 
+               to read the password. </para>
+               
+               <para>A third option is to use a credentials file which 
+               contains the plaintext of the domain name, username and password.  This 
+               option is mainly provided for scripts where the admin doesn't 
+               wish to pass the credentials on the command line or via environment 
+               variables. If this method is used, make certain that the permissions 
+               on the file restrict access from unwanted users.  See the 
+               <parameter>-A</parameter> for more details. </para>
+               
+               <para>Be cautious about including passwords in scripts or in 
+               the <envar>PASSWD</envar> environment variable. Also, on 
+               many systems the command line of a running process may be seen 
+               via the <command>ps</command> command to be safe always allow 
+               <command>smbclient</command> to prompt for a password and type 
+               it in directly. </para></listitem>
+               </varlistentry>
+               
+               
+               <varlistentry>
+               <term>-A filename</term><listitem><para>This option allows 
+               you to specify a file from which to read the username, domain name, and 
+               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>If the domain parameter is missing the current workgroup name
+               is used instead. Make certain that the permissions on the file restrict 
+               access from unwanted users. </para></listitem>
+               </varlistentry>
+
+
+
                <varlistentry>
                <term>-L</term>
                <listitem><para>This option allows you to look at what services 
                </para></listitem>
                </varlistentry>
                
-               &popt.common.samba;
-               &popt.common.credentials;
-               &popt.common.connection;
+               
+               
+               <varlistentry>
+               <term>-W WORKGROUP</term>
+               <listitem><para>Override the default workgroup (domain) specified
+               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>
+               
                
                <varlistentry>
                <term>-T tar options</term>
                        
                <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>
                        
 
        <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>
 
        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>
 <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>
 
 
        
        <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 e19aabedc7a898e8a7aa3e0516b4d95b4d177816..166ef63e87fe649c4fccb3c7ee5e005341a4bae2 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbcontrol.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbcontrol">
 
 <refmeta>
        <refentrytitle>smbcontrol</refentrytitle>
@@ -18,7 +16,6 @@
        <cmdsynopsis>
                <command>smbcontrol</command>
                <arg>-i</arg>
-               <arg>-s</arg>
        </cmdsynopsis>
        
        <cmdsynopsis>
 <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>
 
 
@@ -47,8 +44,6 @@
        <title>OPTIONS</title>
 
        <variablelist>
-               &stdarg.help;
-               &stdarg.configfile;
                <varlistentry>
                <term>-i</term>
                <listitem><para>Run interactively. Individual commands 
@@ -59,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>
                
                <varlistentry>
                <term>message-type</term>
-               <listitem><para>Type of message to send. See 
-               the section <constant>MESSAGE-TYPES</constant> for details.
-               </para></listitem></varlistentry>
-               
+               <listitem><para>One of: <constant>close-share</constant>,
+               <constant>debug</constant>, 
+               <constant>force-election</constant>, <constant>ping
+               </constant>, <constant>profile</constant>, <constant>
+               debuglevel</constant>, <constant>profilelevel</constant>, 
+               or <constant>printnotify</constant>.</para>
+
+               <para>The <constant>close-share</constant> message-type sends a 
+               message to smbd which will then close the client connections to
+               the named share. Note that this doesn't affect client connections
+               to any other shares. This message-type takes an argument of the
+               share name for which client connections will be closed, or the
+               "*" character which will close all currently open shares.
+               This may be useful if you made changes to the access controls on the share.
+               This message can only be sent to <constant>smbd</constant>.</para>
+
+               <para>The <constant>debug</constant> message-type allows 
+               the debug level to be set to the value specified by the 
+               parameter. This can be sent to any of the destinations.</para>
+
+               <para>The <constant>force-election</constant> message-type can only be 
+               sent to the <constant>nmbd</constant> destination. This message 
+               causes the <command>nmbd</command> daemon to force a new browse
+               master election.</para>
+
+               <para>The <constant>ping</constant> message-type sends the 
+               number of "ping" messages specified by the parameter and waits 
+               for the same number of  reply "pong" messages. This can be sent to 
+               any of the destinations.</para>
+
+               <para>The <constant>profile</constant> message-type sends a 
+               message to an smbd to change the profile settings based on the 
+               parameter. The parameter can be "on" to turn on profile stats 
+               collection, "off" to turn off profile stats collection, "count"
+               to enable only collection of count stats (time stats are 
+               disabled), and "flush" to zero the current profile stats. This can 
+               be sent to any smbd or nmbd destinations.</para>
+
+               <para>The <constant>debuglevel</constant> message-type sends 
+               a "request debug level" message. The current debug level setting 
+               is returned by a  "debuglevel" message. This can be 
+               sent to any of the destinations.</para>
+
+               <para>The <constant>profilelevel</constant> message-type sends 
+               a "request profile level" message.  The current profile level 
+               setting is returned by a  "profilelevel" message. This can be sent 
+               to any smbd or nmbd destinations.</para>
+
+               <para>The <constant>printnotify</constant> message-type sends a 
+               message to smbd which in turn sends a printer notify message to 
+               any Windows NT clients connected to a printer. This message-type
+               takes the following arguments:
+
+               <variablelist>
+
+                   <varlistentry>
+                   <term>queuepause printername</term>
+                   <listitem><para>Send a queue pause change notify
+                   message to the printer specified.</para></listitem>
+                   </varlistentry>
+
+                   <varlistentry>
+                   <term>queueresume printername</term>
+                   <listitem><para>Send a queue resume change notify
+                   message for the printer specified.</para></listitem>
+                   </varlistentry>
+
+                   <varlistentry>
+                   <term>jobpause printername unixjobid</term>
+                   <listitem><para>Send a job pause change notify
+                   message for the printer and unix jobid
+                   specified.</para></listitem> 
+                   </varlistentry>
+
+                   <varlistentry>
+                   <term>jobresume printername unixjobid</term>
+                   <listitem><para>Send a job resume change notify
+                   message for the printer and unix jobid
+                   specified.</para></listitem>  
+                   </varlistentry>
+
+                   <varlistentry>
+                   <term>jobdelete printername unixjobid</term>
+                   <listitem><para>Send a job delete change notify
+                   message for the printer and unix jobid
+                   specified.</para></listitem> 
+                   </varlistentry>
+
+               </variablelist>
+
+               Note that this message only sends notification that an
+               event has occured.  It doesn't actually cause the
+               event to happen.
+
+               This message can only be sent to <constant>smbd</constant>. 
+               </para>
+
+               </listitem>
+               </varlistentry>
+
 
-       
                <varlistentry>
                <term>parameters</term>
                <listitem><para>any parameters required for the message-type</para>
        
 </refsect1>
 
-<refsect1>
-       <title>MESSAGE-TYPES</title>
-
-       <para>Available message types are:</para>
-
-       <variablelist>
-       <varlistentry><term>close-share</term>
-       <listitem><para>Order smbd to close the client 
-       connections to the named share. Note that this doesn't affect client 
-       connections to any other shares. This message-type takes an argument of the
-       share name for which client connections will be closed, or the
-       "*" character which will close all currently open shares.
-       This may be useful if you made changes to the access controls on the share.
-       This message can only be sent to <constant>smbd</constant>.</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>debug</term>
-       <listitem><para>Set debug level to the value specified by the 
-       parameter. This can be sent to any of the destinations.</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>force-election</term>
-       <listitem><para>This message causes the <command>nmbd</command> daemon to 
-       force a new browse master election. </para>
-       </listitem></varlistentry>
-
-       <varlistentry>
-       <term>ping</term>
-       <listitem><para>
-       Send specified number of "ping" messages and 
-       wait for the same number of  reply "pong" messages. This can be sent to 
-       any of the destinations.</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>profile</term>
-       <listitem><para>Change profile settings of a daemon, based on the 
-       parameter. The parameter can be "on" to turn on profile stats 
-       collection, "off" to turn off profile stats collection, "count"
-       to enable only collection of count stats (time stats are 
-       disabled), and "flush" to zero the current profile stats. This can 
-       be sent to any smbd or nmbd destinations.</para>
-       </listitem></varlistentry>
-
-       <varlistentry>
-       <term>debuglevel</term>
-       <listitem><para>
-       Request debuglevel of a certain daemon and write it to stdout. This 
-       can be sent to any of the destinations.</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>profilelevel</term>
-       <listitem><para>
-       Request profilelevel of a certain daemon and write it to stdout. 
-       This can be sent to any smbd or nmbd destinations.</para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>printnotify</term>
-       <listitem><para>
-       Order smbd to send a printer notify message to any Windows NT clients 
-       connected to a printer. This message-type takes the following arguments:
-       </para>
-       
-       <variablelist>
-
-           <varlistentry>
-           <term>queuepause printername</term>
-           <listitem><para>Send a queue pause change notify
-           message to the printer specified.</para></listitem>
-           </varlistentry>
-
-           <varlistentry>
-           <term>queueresume printername</term>
-           <listitem><para>Send a queue resume change notify
-           message for the printer specified.</para></listitem>
-           </varlistentry>
-
-               <varlistentry>
-           <term>jobpause printername unixjobid</term>
-           <listitem><para>Send a job pause change notify
-           message for the printer and unix jobid
-           specified.</para></listitem> 
-           </varlistentry>
-
-           <varlistentry>
-           <term>jobresume printername unixjobid</term>
-           <listitem><para>Send a job resume change notify
-           message for the printer and unix jobid
-           specified.</para></listitem>  
-           </varlistentry>
-
-           <varlistentry>
-           <term>jobdelete printername unixjobid</term>
-           <listitem><para>Send a job delete change notify
-           message for the printer and unix jobid
-           specified.</para></listitem> 
-           </varlistentry>
-       </variablelist>
-
-       <para>
-       Note that this message only sends notification that an
-       event has occured.  It doesn't actually cause the
-       event to happen.
-       </para>
-
-       <para>This message can only be sent to <constant>smbd</constant>. </para>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>samsync</term>
-       <listitem><para>Order smbd to synchronise sam database from PDC (being BDC). Can only be sent to <constant>smbd</constant>. </para>
-       <note><para>Not working at the moment</para></note>
-       </listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>samrepl</term>
-       <listitem><para>Send sam replication message, with specified serial. Can only be sent to <constant>smbd</constant>. Should not be used manually.</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>dmalloc-mark</term>
-       <listitem><para>Set a mark for dmalloc. Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>dmalloc-log-changed</term>
-       <listitem><para>
-       Dump the pointers that have changed since the mark set by dmalloc-mark. 
-       Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. </para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>shutdown</term>
-       <listitem><para>Shut down specified daemon. Can be sent to both smbd and nmbd.</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>tallocdump and pool-usage</term>
-       <listitem><para>Print a human-readable description of all 
-       talloc(pool) memory usage by the specified daemon/process. Available 
-       for both smbd and nmbd.</para></listitem>
-       </varlistentry>
-
-       <varlistentry>
-       <term>drvupgrade</term>
-       <listitem><para>Force clients of printers using specified driver 
-       to update their local version of the driver. Can only be 
-       sent to smbd.</para></listitem>
-       </varlistentry>
-
-</variablelist>
-</refsect1>
-
 <refsect1>
        <title>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of 
+       <para>This man page is correct for version 2.2 of 
        the Samba suite.</para>
 </refsect1>
 
 <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 b31d919a124d0ee6f652c89bde83756d2c3118c9..9fb80901be10411a5cec6300c520c8ac23c76a02 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbd.8">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbd">
 
 <refmeta>
        <refentrytitle>smbd</refentrytitle>
@@ -34,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. 
                </para></listitem>
                </varlistentry>
                
-               &popt.common.samba;
-               &stdarg.help;
+               <varlistentry>
+               <term>-h</term>
+               <listitem><para>Prints the help information (usage) 
+               for <command>smbd</command>.</para></listitem>
+               </varlistentry>
+               
+               <varlistentry>
+               <term>-V</term>
+               <listitem><para>Prints the version number for 
+               <command>smbd</command>.</para></listitem>
+               </varlistentry>
 
                <varlistentry>
                <term>-b</term>
                Samba was built.</para></listitem>
                </varlistentry>
                
+               <varlistentry>
+               <term>-d &lt;debug level&gt;</term>
+               <listitem><para><replaceable>debuglevel</replaceable> is an integer 
+               from 0 to 10.  The default value if this parameter is 
+               not specified is zero.</para>
+               
+               <para>The higher this value, the more detail will be 
+               logged to the log files about the activities of the 
+               server. At level 0, only critical errors and serious 
+               warnings will be logged. Level 1 is a reasonable level for
+               day to day running - it generates a small amount of 
+               information about operations carried out.</para>
+
+               <para>Levels above 1 will generate considerable 
+               amounts of log data, and should only be used when 
+               investigating a problem. Levels above 3 are designed for 
+               use only by developers and generate HUGE amounts of log
+               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">log
+               level</ulink> parameter in the <ulink url="smb.conf.5.html">
+               <filename>smb.conf(5)</filename></ulink> file.</para>
+               </listitem>
+               </varlistentry>
+               
                <varlistentry>
                <term>-l &lt;log directory&gt;</term>
                <listitem><para>If specified,
                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>
                compile time.</para></listitem>
                </varlistentry>
                
+               <varlistentry>
+               <term>-O &lt;socket options&gt;</term>
+               <listitem><para>See the <ulink 
+               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>
                <term>-p &lt;port number&gt;</term>
                <listitem><para><replaceable>port number</replaceable> is a positive integer 
                <para>This parameter is not normally specified except 
                in the above situation.</para></listitem>
                </varlistentry>
+               
+               <varlistentry>
+               <term>-s &lt;configuration file&gt;</term>
+               <listitem><para>The file specified contains the 
+               configuration details required by the server.  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. 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>
        </variablelist>
 </refsect1>
 
                <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 8c07ed2eb49858013f2f4ec5d5ec7f6a041ff9bd..55b66d5d25b3b7b926b9abe062ee1971b85a4f81 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbmnt.8">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbmnt">
 
 <refmeta>
        <refentrytitle>smbmnt</refentrytitle>
@@ -25,7 +23,6 @@
                <arg choice="opt">-f &lt;mask&gt;</arg>
                <arg choice="opt">-d &lt;mask&gt;</arg>
                <arg choice="opt">-o &lt;options&gt;</arg>
-               <arg choice="opt">-h</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 
@@ -41,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>
@@ -91,8 +88,6 @@
                </para></listitem>
                </varlistentry>
 
-               &stdarg.help;
-
        </variablelist>
 </refsect1>
 
        </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 12f64c7354a157b97cc3bbfd69df1fff11fa64d2..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
@@ -99,11 +100,6 @@ password = &lt;value&gt;
                </para></listitem>
                </varlistentry>
 
-               <varlistentry>
-               <term>krb</term>
-               <listitem><para>Use kerberos (Active Directory). </para></listitem>
-               </varlistentry>
-
                <varlistentry>
                <term>netbiosname=&lt;arg&gt;</term>
                <listitem><para>sets the source NetBIOS name. It defaults 
@@ -145,7 +141,7 @@ password = &lt;value&gt;
 
                <varlistentry>
                <term>dmask=&lt;arg&gt;</term>
-               <listitem><para>Sets the directory mask. This determines the 
+               <listitem><para>sets the directory mask. This determines the 
                permissions that remote directories have in the local filesystem. 
                The default is based on the current umask. </para></listitem>
                </varlistentry>
@@ -153,7 +149,7 @@ password = &lt;value&gt;
                
                <varlistentry>
                <term>debug=&lt;arg&gt;</term>
-               <listitem><para>Sets the debug level. This is useful for 
+               <listitem><para>sets the debug level. This is useful for 
                tracking down SMB connection problems. A suggested value to
                start with is 4. If set too high there will be a lot of
                output, possibly hiding the useful output.</para></listitem>
@@ -162,7 +158,7 @@ password = &lt;value&gt;
                
                <varlistentry>
                <term>ip=&lt;arg&gt;</term>
-               <listitem><para>Sets the destination host or IP address.
+               <listitem><para>sets the destination host or IP address.
                </para></listitem>
                </varlistentry>
 
@@ -170,30 +166,31 @@ password = &lt;value&gt;
 
                <varlistentry>
                <term>workgroup=&lt;arg&gt;</term>
-               <listitem><para>Sets the workgroup on the destination </para>
+               <listitem><para>sets the workgroup on the destination </para>
                </listitem>
                </varlistentry>
 
 
                <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.
+               <listitem><para>sets the TCP socket options. See the <ulink
+               url="smb.conf.5.html#SOCKETOPTIONS"><filename>smb.conf
+               </filename></ulink> <parameter>socket options</parameter> option.
                </para></listitem>
                </varlistentry>
 
 
                <varlistentry>
                <term>scope=&lt;arg&gt;</term>
-               <listitem><para>Sets the NetBIOS scope </para></listitem>
+               <listitem><para>sets the NetBIOS scope </para></listitem>
                </varlistentry>
 
                <varlistentry>
                <term>guest</term>
-               <listitem><para>Don't prompt for a password </para></listitem>
+               <listitem><para>don't prompt for a password </para></listitem>
                </varlistentry>
 
+
                <varlistentry>
                <term>ro</term>
                <listitem><para>mount read-only </para></listitem>
@@ -301,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>
 
@@ -323,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 f51b5eb34fe305d7249c6926aa2b057431daea39..c40609be4fd748405438f5bd75c40bbc500c9518 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbsh.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbsh">
 
 <refmeta>
        <refentrytitle>smbsh</refentrytitle>
@@ -31,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>
@@ -48,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>
            </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>.
                </para></listitem>
            </varlistentry>
 
-               &stdarg.configfile;
-               &stdarg.debug;
-               &stdarg.resolve.order;
+           <varlistentry>
+               <term>-R &lt;name resolve order&gt;</term> 
+               <listitem><para>This option is used to determine what naming 
+               services and in what order to resolve 
+               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". 
+               They cause names to be resolved as follows :</para>
+
+               <itemizedlist>
+                       <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 <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 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 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>
+               </itemizedlist>
+
+               <para>If this parameter is not set then the name resolve order 
+               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 <filename>smb.conf</filename> 
+               file, the name resolution methods will be attempted in this 
+               order. </para></listitem>
+           </varlistentry>
+
+           <varlistentry>
+               <term>-d &lt;debug level&gt;</term>
+               <listitem><para>debug level is an integer from 0 to 10.</para>
+
+               <para>The default value if this parameter is not specified
+               is zero.</para>
+
+               <para>The higher this value, the more detail will be logged
+               about the activities of <command>nmblookup</command>. At level
+               0, only critical errors and serious warnings will be logged.
+               </para></listitem>
+           </varlistentry>
+
+           <varlistentry>
+               <term>-l logfilename</term>
+               <listitem><para>If specified causes all debug messages to be
+               written to the file specified by <replaceable>logfilename
+               </replaceable>. If not specified then all messages will be 
+               written to<replaceable>stderr</replaceable>.
+               </para></listitem>
+           </varlistentry>
 
            <varlistentry>
                <term>-L libdir</term>
        <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 dabdcced01d75e61a6c47032e3d2dc9fdcb0ac87..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>
 <refsynopsisdiv>
        <cmdsynopsis>
                <command>smbspool</command>
-               <arg choice="req">job</arg> 
-               <arg choice="req">user</arg> 
-               <arg choice="req">title</arg> 
-               <arg choice="req">copies</arg> 
-               <arg choice="req">options</arg> 
-               <arg choice="opt">filename</arg> 
+               <arg>job</arg> 
+               <arg>user</arg> 
+               <arg>title</arg> 
+               <arg>copies</arg> 
+               <arg>options</arg> 
+               <arg>filename</arg> 
        </cmdsynopsis>
 </refsynopsisdiv>
 
 <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 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>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 98f7e864f6c604916d546555ac36863f95178096..99963a4bec6fec0ad8d51374ae261217ca228d3a 100644 (file)
@@ -1,8 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-
-<refentry id="smbstatus.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="smbstatus">
 
 <refmeta>
        <refentrytitle>smbstatus</refentrytitle>
@@ -34,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>
                <listitem><para>gives brief output.</para></listitem>
                </varlistentry>
 
-               &popt.common.samba;
+
+               <varlistentry>
+               <term>-d|--debug=&lt;debuglevel&gt;</term>
+               <listitem><para>sets debugging to specified level</para>
+               </listitem>
+               </varlistentry>
+
 
                <varlistentry>
                <term>-v|--verbose</term>
@@ -81,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>
                
                </listitem>
                </varlistentry>
 
-               &stdarg.help;
+
+
+               <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 <ulink 
+               url="smb.conf.5.html"><filename>smb.conf(5)</filename>
+               </ulink> for more information.</para>
+               </listitem>
+               </varlistentry>
+
 
                <varlistentry>
                <term>-u|--user=&lt;username&gt;</term>
 
 <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 0492a3a5747018a22d5c7ee117447857845504ed..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>
 <refsynopsisdiv>
        <cmdsynopsis>
                <command>smbtar</command>
-               <arg choice="opt">-r</arg>
-               <arg choice="opt">-i</arg>
-               <arg choice="opt">-a</arg>
-               <arg choice="opt">-v</arg>
                <arg choice="req">-s server</arg>
                <arg choice="opt">-p password</arg>
                <arg choice="opt">-x services</arg>
                <arg choice="opt">-X</arg>
-               <arg choice="opt">-N filename</arg>
-               <arg choice="opt">-b blocksize</arg>
                <arg choice="opt">-d directory</arg>
-               <arg choice="opt">-l loglevel</arg>
                <arg choice="opt">-u user</arg>
                <arg choice="opt">-t tape</arg>
+               <arg choice="opt">-t tape</arg>
+               <arg choice="opt">-b blocksize</arg>
+               <arg choice="opt">-N filename</arg>
+               <arg choice="opt">-i</arg>
+               <arg choice="opt">-r</arg>
+               <arg choice="opt">-l loglevel</arg>
+               <arg choice="opt">-v</arg>
                <arg choice="req">filenames</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 <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>
 
 
-               <varlistentry>
-               <term>-a</term>
-               <listitem><para>Reset DOS archive bit mode to 
-               indicate file has been archived. </para></listitem>
-               </varlistentry>
 
                <varlistentry>
                <term>-t tape</term>
                <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>
diff --git a/docs/docbook/manpages/smbtree.1.sgml b/docs/docbook/manpages/smbtree.1.sgml
deleted file mode 100644 (file)
index 3677695..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="smbtree.1">
-
-<refmeta>
-       <refentrytitle>smbtree</refentrytitle>
-       <manvolnum>1</manvolnum>
-</refmeta>
-
-
-<refnamediv>
-       <refname>smbtree</refname>
-       <refpurpose>A text based smb network browser
-       </refpurpose>
-</refnamediv>
-
-<refsynopsisdiv>
-       <cmdsynopsis>
-               <command>smbtree</command>
-               <arg choice="opt">-b</arg>
-               <arg choice="opt">-D</arg>
-               <arg choice="opt">-S</arg>
-       </cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1>
-       <title>DESCRIPTION</title>
-
-       <para>This tool is part of the <citerefentry><refentrytitle>Samba</refentrytitle>
-       <manvolnum>7</manvolnum></citerefentry> suite.</para>
-
-       <para><command>smbtree</command> is a smb browser program 
-       in text mode. It is similar to the "Network Neighborhood" found 
-       on Windows computers. It prints a tree with all 
-       the known domains, the servers in those domains and 
-       the shares on the servers.
-       </para>
-</refsect1>
-
-
-<refsect1>
-       <title>OPTIONS</title>
-
-       <variablelist>
-               <varlistentry>
-               <term>-b</term>
-               <listitem><para>Query network nodes by sending requests 
-               as broadcasts instead of querying the (domain) master browser.
-               </para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>-D</term>
-               <listitem><para>Only print a list of all 
-               the domains known on broadcast or by the 
-               master browser</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>-S</term>
-               <listitem><para>Only print a list of 
-               all the domains and servers responding on broadcast or 
-               known by the master browser. 
-               </para></listitem>
-               </varlistentry>
-
-               &popt.common.samba;
-               &popt.common.credentials;
-               &stdarg.help;
-               
-       </variablelist>
-</refsect1>
-
-<refsect1>
-       <title>VERSION</title>
-
-       <para>This man page is correct for version 3.0 of the Samba 
-       suite.</para>
-</refsect1>
-
-<refsect1>
-       <title>AUTHOR</title>
-       
-       <para>The original Samba software and related utilities 
-       were created by Andrew Tridgell. Samba is now developed
-       by the Samba Team as an Open Source project similar 
-       to the way the Linux kernel is developed.</para>
-       
-       <para>The smbtree man page was written by Jelmer Vernooij. </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 72b3cd65c8f30752e2ae2066730401fe4eeec407..c0052f3d53d4805b3896543d8256cd381af5bbf9 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="swat.8">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<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>
@@ -48,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.
                <para><emphasis>WARNING: Do NOT enable this option on a production 
                server. </emphasis></para></listitem>
                </varlistentry>
-
-               &popt.common.samba;
-               &stdarg.help;
-
        </variablelist>
 
 </refsect1>
 
        <title>INSTALLATION</title>
 
-       <para>Swat is included as binary package with most distributions. The 
-       package manager in this case takes care of the installation and 
-       configuration. This section is only for those who have compiled 
-       swat from scratch.
-       </para>
-
        <para>After you compile SWAT you need to run <command>make install
        </command> to install the <command>swat</command> binary
        and the various help files and images. A default install would put 
 
                <para><command>swat            901/tcp</command></para>
 
-               <para>Note for NIS/YP and LDAP users - you may need to rebuild the 
+               <para>Note for NIS/YP users - you may need to rebuild the 
                NIS service maps rather than alter your local <filename>
                /etc/services</filename> file. </para>
 
        </refsect2>
 
 
+       <refsect2>
+               <title>Launching</title>
 
-</refsect1>
-
-<refsect1>
-       <title>LAUNCHING</title>
-
-       <para>To launch SWAT just run your favorite web browser and 
-       point it at "http://localhost:901/".</para>
+               <para>To launch SWAT just run your favorite web browser and 
+               point it at "http://localhost:901/".</para>
 
-       <para>Note that you can attach to SWAT from any IP connected 
-       machine but connecting from a remote machine leaves your 
-       connection open to password sniffing as passwords will be sent 
-       in the clear over the wire. </para>
+               <para>Note that you can attach to SWAT from any IP connected 
+               machine but connecting from a remote machine leaves your 
+               connection open to password sniffing as passwords will be sent 
+               in the clear over the wire. </para>
+       </refsect2>
 </refsect1>
 
 <refsect1>
 
                <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 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><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 31a95494165c69f9a1e962d6aa1192c962869542..f34528a43d2495531c9ebcf04468cd63a7d42984 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="testparm.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<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>
                will prompt for a carriage return after printing the service 
                names and before dumping the service definitions.</para></listitem>
                </varlistentry>
-
-               &stdarg.help;
-               &stdarg.version;
+               
+               
+               <varlistentry>
+               <term>-h</term>
+               <listitem><para>Print usage message </para></listitem>
+               </varlistentry>
+               
                
                <varlistentry>
                <term>-L servername</term>
@@ -81,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>
@@ -97,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 3ff1d850557f4ef34fec562606b94ee6ff8b9107..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>VERSION</title>
 
-       <para>This man page is correct for version 3.0 of 
+       <para>This man page is correct for version 2.2 of 
        the Samba suite.</para>
 </refsect1>
 
 <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 8be9271679dc17419257b7ca5cf7ea63f85ffc85..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
@@ -50,6 +51,7 @@
                </para> </listitem>
                </varlistentry>
 
+               &stdarg.debuglevel;
                &stdarg.help;
 
                <varlistentry>
@@ -60,8 +62,6 @@
                </para></listitem>
                </varlistentry>
 
-               &popt.common.samba;
-
        </variablelist>
 </refsect1>
 
index 2e9a811bcb57e0b08c361fdbb915d7d29ddf4975..a6ca24424370fd804905b67466611a653256878e 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="wbinfo.1">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="wbinfo">
 
 <refmeta>
        <refentrytitle>wbinfo</refentrytitle>
@@ -19,8 +17,8 @@
                <command>wbinfo</command>
                <arg choice="opt">-u</arg>
                <arg choice="opt">-g</arg>
+               <arg choice="opt">-i ip</arg>
                <arg choice="opt">-N netbios-name</arg>
-               <arg choice="opt">-I ip</arg>
                <arg choice="opt">-n name</arg>
                <arg choice="opt">-s sid</arg>
                <arg choice="opt">-U uid</arg>
                <arg choice="opt">-Y sid</arg>
                <arg choice="opt">-t</arg>
                <arg choice="opt">-m</arg>
-               <arg choice="opt">--sequence</arg>
                <arg choice="opt">-r user</arg>
                <arg choice="opt">-a user%password</arg>
                <arg choice="opt">-A user%password</arg>
-               <arg choice="opt">--get-auth-user</arg>
                <arg choice="opt">-p</arg>
        </cmdsynopsis>
 </refsynopsisdiv>
 <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>
@@ -94,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>
                </varlistentry>
 
-               <varlistentry>
-               <term>--sequence</term>
-               <listitem><para>Show sequence numbers of 
-               all known domains</para></listitem>
-               </varlistentry>
 
                <varlistentry>
                <term>-r username</term>
                Windows 2000 servers only).
                </para></listitem>
                </varlistentry>
-
-               <varlistentry>
-               <term>--get-auth-user</term>
-               <listitem><para>Print username and password used by winbindd
-               during session setup to a domain controller. Username 
-               and password can be set using '-A'. Only available for 
-               root.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>-p</term>
-               <listitem><para>Check whether winbindd is still alive. 
-               Prints out either 'succeeded' or 'failed'.
-               </para></listitem>
-               </varlistentry>
-
-               &stdarg.version;
-               &stdarg.help;
-
        </variablelist>
 </refsect1>
 
        <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 e0489c43c483615fe971e3c1666ddc64bb160820..ccef2fa62316017b37aebc016b405d3a83545877 100644 (file)
@@ -1,7 +1,5 @@
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
-<!ENTITY % globalentities SYSTEM '../global.ent'> %globalentities;
-]>
-<refentry id="winbindd.8">
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<refentry id="winbindd">
 
 <refmeta>
        <refentrytitle>winbindd</refentrytitle>
@@ -31,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
@@ -130,8 +129,13 @@ group:          files winbind
                than a file.</para></listitem>
                </varlistentry>
 
-               &popt.common.samba;
-               &stdarg.help;
+               <varlistentry>
+               <term>-d debuglevel</term>
+               <listitem><para>Sets the debuglevel to an integer between 
+               0 and 100. 0 is for no debugging and 100 is for reams and 
+               reams. To submit a bug report to the Samba Team, use debug 
+               level 100 (see BUGS.txt).   </para></listitem>
+               </varlistentry>
 
                <varlistentry>
                <term>-i</term>
@@ -161,10 +165,15 @@ group:          files winbind
                as 2 threads. The first will answer all requests from the cache, 
                thus making responses to clients faster. The other will 
                update the cache for the query that the first has just responded. 
-               Advantage of this is that responses stay accurate and are faster.
+               Advantage of this is that responses are accurate and fast.
                </para></listitem>
                </varlistentry>
 
+               <varlistentry>
+               <term>-s|--conf=smb.conf</term>
+               <listitem><para>Specifies the location of the all-important
+               <filename>smb.conf</filename> file. </para></listitem>
+               </varlistentry>
        </variablelist>
 </refsect1>
 
@@ -199,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>
@@ -235,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> 
        
@@ -260,26 +271,28 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
        </command></para>
  
        <para>The next step is to join the domain. To do that use the 
-       <command>net</command> program like this:  </para>
+       <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
@@ -290,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 
@@ -308,14 +321,19 @@ 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>
 
+       <para>Client processes resolving names through the <command>winbindd</command>
+       nsswitch module read an environment variable named <envar>
+       $WINBINDD_DOMAIN</envar>.  If this variable contains a comma separated
+       list of Windows NT domain names, then winbindd will only resolve users
+       and groups within those Windows NT domains. </para>
+
        <para>PAM is really easy to misconfigure.  Make sure you know what 
        you are doing when modifying PAM configuration files.  It is possible 
        to set up PAM such that you can no longer log into your system. </para>
@@ -339,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>
@@ -380,21 +397,6 @@ auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
                root. </para></listitem>
                </varlistentry>
 
-               <varlistentry>
-               <term>$LOCKDIR/winbindd_privilaged/pipe</term>
-               <listitem><para>The UNIX pipe over which 'privilaged' clients 
-                communicate with the <command>winbindd</command> program.  For security 
-                reasons, access to some winbindd functions - like those needed by 
-                the <command>ntlm_auth</command> utility - is restricted.  By default,
-                only users in the 'root' group will get this access, however the administrator
-                may change the group permissions on $LOCKDIR/winbindd_privilaged to allow
-                programs like 'squid' to use ntlm_auth.
-               Note that the winbind client will only attempt to connect to the winbindd daemon 
-               if both the <filename>$LOCKDIR/winbindd_privilaged</filename> directory
-               and <filename>$LOCKDIR/winbindd_privilaged/pipe</filename> file are owned by 
-               root. </para></listitem>
-               </varlistentry>
-
                <varlistentry>
                <term>/lib/libnss_winbind.so.X</term>
                <listitem><para>Implementation of name service switch library.
@@ -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 a98fe14e31ab2fb4ae7eb1c5ecabcba32dcf944a..887ecd74c27036df36b2269ffcf7242e478edf50 100644 (file)
@@ -14,10 +14,67 @@ 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>
+<simplelist>
+<member>a Windows 2000 server.</member>
+<member>samba 3.0 or higher.</member>
+<member>the MIT kerberos development libraries (either install from the above sources or use a package). The heimdal libraries will not work.</member>
+<member>the OpenLDAP development libraries.</member>
+</simplelist>
+</para>
+
+<sect1>
+<title>Installing the required packages for Debian</title>
+
+<para>On Debian you need to install the following packages:</para>
+<para>
+<simplelist>
+<member>libkrb5-dev</member>
+<member>krb5-user</member>
+</simplelist>
+</para>
+</sect1>
+
+<sect1>
+<title>Installing the required packages for RedHat</title>
+
+<para>On RedHat this means you should have at least: </para>
+<para>
+<simplelist>
+<member>krb5-workstation (for kinit)</member>
+<member>krb5-libs (for linking with)</member>
+<member>krb5-devel (because you are compiling from source)</member>
+</simplelist>
+</para>
+
+<para>in addition to the standard development environment.</para>
+
+<para>Note that these are not standard on a RedHat install, and you may need 
+to get them off CD2.</para>
+
+</sect1>
+
 <sect1>
-<title>Setup your <filename>smb.conf</filename></title>
+<title>Compile Samba</title>
+<para>If your kerberos libraries are in a non-standard location then
+  remember to add the configure option --with-krb5=DIR.</para>
 
-<para>You must use at least the following 3 options in smb.conf:</para>
+<para>After you run configure make sure that include/config.h it
+  generates contains 
+  lines like this:</para>
+
+<para><programlisting>
+#define HAVE_KRB5 1
+#define HAVE_LDAP 1
+</programlisting></para>
+
+<para>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.</para>
+
+<para>Then compile and install Samba as usual. You must use at least the
+  following 3 options in smb.conf:</para>
 
 <para><programlisting>
   realm = YOUR.KERBEROS.REALM
@@ -36,13 +93,13 @@ In case samba can't figure out your ads server using your realm name, use the
 <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 required options will change soon when we get better
-  active directory integration.</para>
-
+  I expect that the above
+  required options will change soon when we get better active
+  directory integration.</para>
 </sect1>
-  
+
 <sect1>
-<title>Setup your <filename>/etc/krb5.conf</filename></title>
+<title>Setup your /etc/krb5.conf</title>
 
 <para>The minimal configuration for krb5.conf is:</para>
 
@@ -130,11 +187,12 @@ specify the -k option to choose kerberos authentication.
 <sect1>
 <title>Notes</title>
 
-<para>You must change administrator password at least once after DC 
-install, to create the right encoding types</para>
+<para>You must change administrator password at least once after DC install,
+ to create the right encoding types</para>
 
 <para>w2k doesn't seem to create the _kerberos._udp and _ldap._tcp in
    their defaults DNS setup. Maybe fixed in service packs?</para>
+
 </sect1>
 
 </chapter>
index adf20b7386f461a5b3e4016403593847702b2a6e..0a5cf72038dd013f75ef0930e093eeaf6a48a184 100644 (file)
@@ -84,81 +84,6 @@ minutes to stabilise, particularly across network segments.
 
 </sect1>
 
-<sect1>
-<title>How browsing functions and how to deploy stable and 
-dependable browsing using Samba</title>
-
-
-<para>
-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.
-</para>
-
-<para>
-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).
-</para>
-
-<para>
-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.
-</para>
-
-<para>
-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.
-</para>
-
-<para>
-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. 
-</para>
-
-<para>
-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.
-</para>
-
-<para>
-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, <filename>/etc/hosts</filename>, 
-and so on.
-</para>
-
-</sect1>
-
 <sect1>
 <title>Use of the "Remote Announce" parameter</title>
 <para>
index 60512c3cd152283e082a49d9539f19592bb02d89..aeb3b477c5e4d4c0b5549a2d7729b6b1db79acca 100644 (file)
@@ -534,10 +534,10 @@ options in the [global] section of the smb.conf file :
 
 <para>
 <programlisting>
-domain master = yes
-local master = yes
-preferred master = yes
-os level = 65
+        domain master = yes
+        local master = yes
+        preferred master = yes
+        os level = 65
 </programlisting>
 </para>
 
@@ -559,10 +559,10 @@ smb.conf file :
 
 <para>
 <programlisting>
-domain master = no
-local master = yes
-preferred master = yes
-os level = 65
+        domain master = no
+        local master = yes
+        preferred master = yes
+        os level = 65
 </programlisting>
 </para>
 
@@ -588,10 +588,10 @@ options in the [global] section of the smb.conf file :
 
 <para>
 <programlisting>
-domain master = no
-local master = no
-preferred master = no
-os level = 0
+        domain master = no
+        local master = no
+        preferred master = no
+        os level = 0
 </programlisting>
 </para>
 
@@ -619,10 +619,10 @@ file :
 
 <para>
 <programlisting>
-domain master = no
-local master = yes
-preferred master = yes
-os level = 65
+        domain master = no
+        local master = yes
+        preferred master = yes
+        os level = 65
 </programlisting>
 </para>
 
diff --git a/docs/docbook/projdoc/CVS-Access.sgml b/docs/docbook/projdoc/CVS-Access.sgml
new file mode 100644 (file)
index 0000000..98ef925
--- /dev/null
@@ -0,0 +1,157 @@
+<chapter id="cvs-access">
+
+
+<chapterinfo>
+       <author>
+               <affiliation>
+                       <orgname>Samba Team</orgname>
+               </affiliation>
+       </author>
+       
+               
+       <pubdate> (22 May 2001) </pubdate>
+</chapterinfo>
+
+<title>HOWTO Access Samba source code via CVS</title>
+
+<sect1>
+<title>Introduction</title>
+
+<para>
+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.
+</para>
+
+<para>
+This document is a modified version of the instructions found at
+<ulink url="http://samba.org/samba/cvs.html">http://samba.org/samba/cvs.html</ulink>
+</para>
+
+</sect1>
+
+
+<sect1>
+<title>CVS Access to samba.org</title>
+
+<para>
+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.
+</para>
+
+<sect2>
+<title>Access via CVSweb</title>
+
+<para>
+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.
+</para>
+
+<para>
+Use the URL : <ulink
+url="http://samba.org/cgi-bin/cvsweb">http://samba.org/cgi-bin/cvsweb</ulink>
+</para>
+</sect2>
+
+<sect2>
+<title>Access via cvs</title>
+
+<para>
+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.
+</para>
+
+<para>
+To download the latest cvs source code, point your
+browser at the URL : <ulink url="http://www.cyclic.com/">http://www.cyclic.com/</ulink>.
+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.
+</para>
+
+<para>
+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
+</para>
+
+<orderedlist>
+<listitem>
+       <para>
+       Install a recent copy of cvs. All you really need is a 
+       copy of the cvs client binary. 
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       Run the command 
+       </para>
+
+       <para>
+       <command>cvs -d :pserver:cvs@samba.org:/cvsroot login</command>
+       </para>
+       
+       <para>
+       When it asks you for a password type <userinput>cvs</userinput>.
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       Run the command 
+       </para>
+       
+       <para>
+       <command>cvs -d :pserver:cvs@samba.org:/cvsroot co samba</command>
+       </para>
+       
+       <para>
+       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. 
+       </para>
+       
+       <para>
+       CVS branches other HEAD can be obtained by using the <parameter>-r</parameter>
+       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.
+       </para>
+       
+       <para>
+       <command>cvs -d :pserver:cvs@samba.org:/cvsroot co -r SAMBA_2_2 samba</command>
+       </para>
+</listitem>
+
+<listitem>
+       <para>
+       Whenever you want to merge in the latest code changes use 
+       the following command from within the samba directory: 
+       </para>
+       
+       <para>
+       <command>cvs update -d -P</command>
+       </para>
+</listitem>
+</orderedlist>
+       
+</sect2>
+</sect1>
+
+</chapter>
index ac98f34a32ace1ab6fea0535043baeb216601f0a..49aafebec0c1ea141b95ad1a4390de08a9aad9f9 100644 (file)
@@ -217,64 +217,6 @@ on this system just substitute the correct package name
        </userinput></para>
        
        <para>if you find this version a disaster!</para>
-
-       <sect2>
-       <title>Compiling samba with Active Directory support</title>
-       
-       <para>In order to compile samba with ADS support, you need to have installed
-       on your system: 
-       <simplelist>
-       <member>the MIT kerberos development libraries (either install from the sources or use a package). The heimdal libraries will not work.</member>
-       <member>the OpenLDAP development libraries.</member>
-       </simplelist>
-
-       <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 <filename>include/config.h</filename> it generates contains lines like this:</para>
-
-                 <para><programlisting>
-#define HAVE_KRB5 1
-#define HAVE_LDAP 1
-                 </programlisting></para>
-
-         <para>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.</para>
-
-       <sect3>
-       <title>Installing the required packages for Debian</title>
-
-       <para>On Debian you need to install the following packages:</para>
-       <para>
-       <simplelist>
-       <member>libkrb5-dev</member>
-       <member>krb5-user</member>
-       </simplelist>
-       </para>
-       </sect3>
-
-       <sect3>
-       <title>Installing the required packages for RedHat</title>
-
-       <para>On RedHat this means you should have at least: </para>
-       <para>
-       <simplelist>
-       <member>krb5-workstation (for kinit)</member>
-       <member>krb5-libs (for linking with)</member>
-       <member>krb5-devel (because you are compiling from source)</member>
-       </simplelist>
-       </para>
-
-       <para>in addition to the standard development environment.</para>
-
-       <para>Note that these are not standard on a RedHat install, and you may need
-       to get them off CD2.</para>
-
-       </sect3>
-       
-       </sect2>
-                         
 </sect1>
 
 <sect1>
index 8ac3520384599ab7f12bf74581740f4ae3a984ee..b178bfd2c26165d81415700b95a6f2f02e1a4429 100644 (file)
@@ -45,7 +45,9 @@
        <parameter>security =</parameter></ulink> line in the [global] section 
        of your smb.conf to read:</para>
 
-       <para><command>security = domain</command></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>Next change the <ulink url="smb.conf.5.html#WORKGROUP"><parameter>
        workgroup =</parameter></ulink> line in the [global] section to read: </para>
@@ -84,7 +86,7 @@
        <para>In order to actually join the domain, you must run this
         command:</para>
 
-       <para><prompt>root# </prompt><userinput>net rpc join -S DOMPDC
+       <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 
        clients to begin using domain security!</para>
 </sect1>
 
+<sect1>
+<title>Samba and Windows 2000 Domains</title>
+<!-- FIXME: this section is partly obsoleted - jelmer@samba.org -->
+
+<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.
+</para>
+
+</sect1>
+
 <sect1>
        <title>Why is this better than security = server?</title>
 
        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>
 
-       <note><para> Much of the text of this document 
+       <para><emphasis>NOTE:</emphasis> Much of the text of this document 
        was first published in the Web magazine <ulink url="http://www.linuxworld.com">         
        LinuxWorld</ulink> as the article <ulink
        url="http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html">Doing 
-       the NIS/NT Samba</ulink>.</para></note>
+       the NIS/NT Samba</ulink>.</para>
 
 </sect1>
 
diff --git a/docs/docbook/projdoc/ENCRYPTION.sgml b/docs/docbook/projdoc/ENCRYPTION.sgml
new file mode 100644 (file)
index 0000000..f903d7d
--- /dev/null
@@ -0,0 +1,189 @@
+<chapter id="pwencrypt">
+
+
+<chapterinfo>
+       <author>
+               <firstname>Jeremy</firstname><surname>Allison</surname>
+               <affiliation>
+                       <orgname>Samba Team</orgname>
+                       <address>
+                               <email>jra@samba.org</email>
+                       </address>
+               </affiliation>
+       </author>
+
+       <author>
+               <firstname>Jelmer</firstname><surname>Vernooij</surname>
+               <affiliation>
+                       <orgname>Samba Team</orgname>
+                       <address>
+                               <email>jelmer@samba.org</email>
+                       </address>
+               </affiliation>
+       </author>
+
+       <pubdate>4 November 2002</pubdate>
+</chapterinfo>
+       
+<title>LanMan and NT Password Encryption in Samba</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. 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>
+
+       <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>
+
+</chapter>
index a2d16541ef399b6d814cc28453f3fc35ad0a841a..06c1d3a87ee14920e7092f5f871cae36b9671225 100644 (file)
@@ -6,7 +6,7 @@
        </author>
 </chapterinfo>
 
-<title>Configuring Group Mapping</title>
+<title>Group mapping HOWTO</title>
 
 <para> 
 Starting with Samba 3.0 alpha 2, a new group mapping function is available. The
diff --git a/docs/docbook/projdoc/GroupProfiles.sgml b/docs/docbook/projdoc/GroupProfiles.sgml
new file mode 100644 (file)
index 0000000..8bdf980
--- /dev/null
@@ -0,0 +1,289 @@
+<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 Prolicy Files</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
+Win9x/Me 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 Win9x/Me 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 Win9x/Me machine. Hence, you will
+occasionally notice things changing back to the original settings.
+</para>
+
+<para>
+The following all refers to Windows NT/200x profile migration - not to policies.
+We need a separate section on policies (NTConfig.Pol) for NT4/200x.
+</para>
+</sect1>
+
+<sect1>
+<title>Windows NT 4</title>
+
+<para>
+Unfortunately, the Resource Kit info is Win NT4 or 200x 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 8a5c0c40f2d2030689d550a80d7de2c02af55277..a4e79fd42bbc18e9b7b0567420e538a28c2285b9 100644 (file)
  
 <title>Integrating MS Windows networks with Samba</title>
  
-<para>
-This section deals with NetBIOS over TCP/IP name to IP address resolution. If you
-your MS Windows clients are NOT configured to use NetBIOS over TCP/IP then this
-section does not apply to your installation. If your installation involves use of
-NetBIOS over TCP/IP then this section may help you to resolve networking problems.
-</para>
+<sect1>
+<title>Agenda</title>
 
-<note>
 <para>
-       NetBIOS over TCP/IP has nothing to do with NetBEUI. NetBEUI is NetBIOS
-       over Logical Link Control (LLC). On modern networks it is highly advised
-       to NOT run NetBEUI at all. Note also that there is NO such thing as
-       NetBEUI over TCP/IP - the existence of such a protocol is a complete
-       and utter mis-apprehension.
+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.
 </para>
-</note>
 
 <para>
-Since the introduction of MS Windows 2000 it is possible to run MS Windows networking
-without the use of NetBIOS over TCP/IP. NetBIOS over TCP/IP uses UDP port 137 for NetBIOS
-name resolution and uses TCP port 139 for NetBIOS session services. When NetBIOS over
-TCP/IP is disabled on MS Windows 2000 and later clients then only TCP port 445 will be
-used and UDP port 137 and TCP port 139 will not.
+We will examine:
 </para>
 
-<note>
-<para>
-When using Windows 2000 or later clients, if NetBIOS over TCP/IP is NOT disabled, then
-the client will use UDP port 137 (NetBIOS Name Service, also known as the Windows Internet
-Name Service or WINS), TCP port 139 AND TCP port 445 (for actual file and print traffic).
-</para>
-</note>
+<orderedlist>
+       <listitem><para>Name resolution in a pure Unix/Linux TCP/IP 
+       environment
+       </para></listitem>
 
-<para>
-When NetBIOS over TCP/IP is disabled the use of DNS is essential. Most installations that
-disable NetBIOS over TCP/IP today use MS Active Directory Service (ADS). ADS requires
-Dynamic DNS with Service Resource Records (SRV RR) and with Incremental Zone Transfers (IXFR).
-Use of DHCP with ADS is recommended as a further means of maintaining central control
-over client workstation network configuration.
-</para>
+       <listitem><para>Name resolution as used within MS Windows 
+       networking
+       </para></listitem>
+
+       <listitem><para>How browsing functions and how to deploy stable 
+       and dependable browsing using Samba
+       </para></listitem>
+       
+       <listitem><para>MS Windows security options and how to 
+       configure Samba for seemless integration
+       </para></listitem>
+
+       <listitem><para>Configuration of Samba as:</para>
+               <orderedlist>
+               <listitem><para>A stand-alone server</para></listitem>
+               <listitem><para>An MS Windows NT 3.x/4.0 security domain member
+               </para></listitem>
+               <listitem><para>An alternative to an MS Windows NT 3.x/4.0 Domain Controller
+               </para></listitem>
+               </orderedlist>
+       </listitem>
+</orderedlist>
+
+</sect1>
 
 
 <sect1>
@@ -553,4 +555,381 @@ of the WINS server.
 </sect2>
 </sect1>
 
+
+<sect1>
+<title>How browsing functions and how to deploy stable and 
+dependable browsing using Samba</title>
+
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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. 
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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, <filename>/etc/hosts</filename>, 
+and so on.
+</para>
+
+</sect1>
+
+<sect1>
+<title>MS Windows security options and how to configure 
+Samba for seemless integration</title>
+
+<para>
+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.
+</para>
+
+<para>
+When encrypted passwords are used a password that has been 
+entered by the user is encrypted in two ways:
+</para>
+
+<itemizedlist>
+       <listitem><para>An MD4 hash of the UNICODE of the password
+       string.  This is known as the NT hash.
+       </para></listitem>
+
+       <listitem><para>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.
+       </para></listitem>      
+</itemizedlist>
+
+<para>
+You should refer to the <ulink url="ENCRYPTION.html">
+Password Encryption</ulink> chapter in this HOWTO collection
+for more details on the inner workings
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para><programlisting>
+       <ulink url="smb.conf.5.html#PASSWORDLEVEL">passsword level</ulink> = <replaceable>integer</replaceable>
+       <ulink url="smb.conf.5.html#USERNAMELEVEL">username level</ulink> = <replaceable>integer</replaceable>
+</programlisting></para>
+
+<para>
+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 <parameter>username level</parameter> parameter
+is rarely even needed.
+</para>
+
+<para>
+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 <parameter>password level</parameter> must be set to the maximum
+number of upper case letter which <emphasis>could</emphasis> appear
+is a password.  Note that is the server OS uses the traditional
+DES version of crypt(), then a <parameter>password level</parameter>
+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).
+</para>
+
+<para>
+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:
+</para>
+
+
+<sect2>
+<title>Use MS Windows NT as an authentication server</title>
+
+<para>
+This method involves the additions of the following parameters 
+in the smb.conf file:
+</para>
+
+<para><programlisting>
+       encrypt passwords = Yes
+       security = server
+       password server = "NetBIOS_name_of_PDC"
+</programlisting></para>
+
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+<sect2>
+<title>Make Samba a member of an MS Windows NT security domain</title>
+
+<para>
+This method involves additon of the following paramters in the smb.conf file:
+</para>
+
+<para><programlisting>
+       encrypt passwords = Yes
+       security = domain
+       workgroup = "name of NT domain"
+       password server = *
+</programlisting></para>
+
+<para>
+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.
+</para>
+
+<para>
+In order for this method to work the Samba server needs to join the 
+MS Windows NT security domain. This is done as follows:
+</para>
+
+<itemizedlist>
+       <listitem><para>On the MS Windows NT domain controller using 
+       the Server Manager add a machine account for the Samba server.
+       </para></listitem>
+       
+       <listitem><para>Next, on the Linux system execute: 
+       <command>smbpasswd -r PDC_NAME -j DOMAIN_NAME</command>
+       </para></listitem>
+</itemizedlist>
+
+<para>
+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 <filename>/etc/passwd</filename> entry.
+</para>
+
+<para>
+An alternative to assigning UIDs to Windows users on a 
+Samba member server is presented in the <ulink
+url="winbind.html">Winbind Overview</ulink> chapter in
+this HOWTO collection.
+</para>
+
+
+</sect2>
+
+
+<sect2>
+<title>Configure Samba as an authentication server</title>
+
+<para>
+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.
+</para>
+
+<para>
+This method involves addition of the following parameters to 
+the smb.conf file:
+</para>
+
+<para><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
+</programlisting></para>
+
+<para>
+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.
+</para>
+
+<sect3>
+<title>Users</title>
+
+<para>
+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.
+</para>
+
+<para><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;
+</programlisting></para>
+</sect3>
+
+<sect3>
+<title>MS Windows NT Machine Accounts</title>
+
+<para>
+These are required only when Samba is used as a domain 
+controller.  Refer to the Samba-PDC-HOWTO for more details.
+</para>
+
+<para><programlisting>
+       # useradd -s /bin/false -d /dev/null "machine_name"\$
+       # passwd -l "machine_name"\$
+       # smbpasswd -a -m "machine_name"
+</programlisting></para>
+</sect3>
+</sect2>
+</sect1>
+
+
+<sect1>
+<title>Conclusions</title>
+
+<para>
+Samba provides a flexible means to operate as...
+</para>
+
+<itemizedlist>
+       <listitem><para>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.
+       </para></listitem>
+       
+       <listitem><para>An MS Windows NT 3.x/4.0 security domain member.
+       </para></listitem>
+       
+
+       <listitem><para>An alternative to an MS Windows NT 3.x/4.0 
+       Domain Controller.
+       </para></listitem>
+
+</itemizedlist>
+
+</sect1>
+
 </chapter>
index c5e3b9b9f914e701d3b7777f16bb2a87ec8fce08..284333151957639bd86162bdd94847d2be8333de 100644 (file)
@@ -1,4 +1,5 @@
 <chapter id="unix-permissions">
+
 <chapterinfo>
        <author>
                <firstname>Jeremy</firstname><surname>Allison</surname>
                        </address>
                </affiliation>
        </author>
+       
+               
        <pubdate>12 Apr 1999</pubdate>
 </chapterinfo>
 
+
 <title>UNIX Permission Bits and Windows NT Access Control Lists</title>
 
 <sect1>
        <title>Viewing and changing UNIX permissions using the NT 
        security dialogs</title>
 
-       <para>Windows NT clients can use their native security settings 
-       dialog box to view and modify the underlying UNIX permissions.</para>
+
+       <para>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.</para>
 
        <para>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.</para>
-
-       <note>
-       <para>
-       All access to Unix/Linux system file via Samba is controlled at
-       the operating system file access control level. When trying to
-       figure out file access problems it is vitally important to identify
-       the identity of the Windows user as it is presented by Samba at
-       the point of file access. This can best be determined from the
-       Samba log files.
-       </para>
-       </note>
 </sect1>
 
 <sect1>
        <title>How to view file security on a Samba share</title>
 
-       <para>From an NT4/2000/XP client, single-click with the right 
+       <para>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 <emphasis>Properties</emphasis> entry at the bottom of 
-       the menu. This brings up the file properties dialog
-       box. Click on the tab <emphasis>Security</emphasis> and you 
+       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 <emphasis>Security</emphasis>. Click on this tab and you 
        will see three buttons, <emphasis>Permissions</emphasis>,       
        <emphasis>Auditing</emphasis>, and <emphasis>Ownership</emphasis>. 
        The <emphasis>Auditing</emphasis> button will cause either 
@@ -93,7 +89,7 @@
 
        <para>There is an NT chown command that will work with Samba 
        and allow a user with Administrator privilege connected 
-       to a Samba server as root to change the ownership of 
+       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 <emphasis>Seclib
        </emphasis> NT security library written by Jeremy Allison of 
        </command> message.</para>
 
        <para>The first thing to note is that the <command>"Add"</command> 
-       button will not return a list of users in Samba (it will give 
+       button will not return a list of users in Samba 2.0.4 (it will give 
        an error message of <command>"The remote procedure call failed 
        and did not execute"</command>). This means that you can only 
        manipulate the current user/group/world permissions listed in 
        <title>Interaction with the standard Samba create mask 
        parameters</title>
 
-       <para>There are four parameters 
-       to control interaction with the standard Samba create mask parameters.
-       These are :</para>
+       <para>Note that with Samba 2.0.5 there are four new parameters 
+       to control this interaction.  These are :</para>
 
        <para><parameter>security mask</parameter></para>
        <para><parameter>force security mode</parameter></para>
 
        <para>If not set explicitly this parameter is set to the same value as 
        the <ulink url="smb.conf.5.html#CREATEMASK"><parameter>create mask
-       </parameter></ulink> parameter. To allow a user to modify all the
-       user/group/world permissions on a file, set this parameter 
+       </parameter></ulink> 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.</para>
 
        <para>Next Samba checks the changed permissions for a file against 
 
        <para>If not set explicitly this parameter is set to the same value 
        as the <ulink url="smb.conf.5.html#FORCECREATEMODE"><parameter>force 
-       create mode</parameter></ulink> parameter.
+       create mode</parameter></ulink> 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.</para>
 
        by default is set to the same value as the <parameter>directory mask
        </parameter> parameter and the <parameter>force directory security 
        mode</parameter> parameter by default is set to the same value as 
-       the <parameter>force directory mode</parameter> parameter. </para>
+       the <parameter>force directory mode</parameter> parameter to provide 
+       compatibility with Samba 2.0.4 where the permission change facility 
+       was introduced.</para>
 
        <para>In this way Samba enforces the permission restrictions that 
        an administrator can set on a Samba share, whilst still allowing users 
        <para><parameter>force security mode = 0</parameter></para>
        <para><parameter>directory security mask = 0777</parameter></para>
        <para><parameter>force directory security mode = 0</parameter></para>
+
+       <para>As described, in Samba 2.0.4 the parameters :</para>
+
+       <para><parameter>create mask</parameter></para>
+       <para><parameter>force create mode</parameter></para>
+       <para><parameter>directory mask</parameter></para>
+       <para><parameter>force directory mode</parameter></para>
+
+       <para>were used instead of the parameters discussed here.</para>
 </sect1>
 
 <sect1>
index e4d7e3418504a800e881af92a1883f7ee6bde146..6ba04b01d3955104cf170085311adac90f44a666 100644 (file)
@@ -339,14 +339,4 @@ create accounts on the Samba host for Domain users.</emphasis></para>
 
 </sect1>
 
-<sect1>
-<title>Windows NT 3.1</title>
-
-<para>If you have problems communicating across routers with Windows 
-NT 3.1 workstations, read <ulink url="http://support.microsoft.com/default.aspx?scid=kb;[LN];Q103765">this Microsoft Knowledge Base article</ulink>.
-
-</para>
-
-</sect1>
-
 </chapter>
index f2a6fc06ac728cd559caefb76a18c807909d0e56..adcd059bc2ffc070e130e7cafac394d1a06238e0 100644 (file)
@@ -1,4 +1,6 @@
 <chapter id="pam">
 <chapterinfo>
         <author>
                <firstname>John</firstname><surname>Terpstra</surname>
                        </address>
                 </affiliation>
         </author>
         <pubdate> (Jun 21 2001) </pubdate>
 </chapterinfo>
  
-<title>PAM Configuration for Centrally Managed Authentication</title>
+<title>Configuring PAM for distributed but centrally 
+managed authentication</title>
 
 <sect1>
 <title>Samba and PAM</title>
@@ -37,19 +42,6 @@ PAM is configured either through one file <filename>/etc/pam.conf</filename> (So
 or by editing individual files that are located in <filename>/etc/pam.d</filename>.
 </para>
 
-<note>
-       <para>
-       If the PAM authentication module (loadable link library file) is located in the
-       default location then it is not necessary to specify the path. In the case of
-       Linux, the default location is <filename>/lib/security</filename>. If the module
-       is located other than default then the path may be specified as:
-       
-       <programlisting>
-       eg: "auth       required      /other_path/pam_strange_module.so"
-       </programlisting>
-       </para>
-</note>
-
 <para>
 The following is an example <filename>/etc/pam.d/login</filename> configuration file. 
 This example had all options been uncommented is probably not usable 
@@ -59,20 +51,20 @@ by commenting them out except the calls to <filename>pam_pwdb.so</filename>.
 </para>
 
 <para><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
+#%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
 </programlisting></para>
 
 <para>
@@ -81,19 +73,19 @@ sample system include:
 </para>
 
 <para><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
+$ /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
 </programlisting></para>
 
 <para>
@@ -118,13 +110,13 @@ source distribution.
 </para>
 
 <para><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
+#%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
 </programlisting></para>
 
 <para>
@@ -133,13 +125,13 @@ Linux system. The default condition uses <filename>pam_pwdb.so</filename>.
 </para>
 
 <para><programlisting>
-       #%PAM-1.0
-       # The PAM configuration file for the `samba' service
-       #
-       auth       required     pam_pwdb.so nullok nodelay shadow audit
-       account    required     pam_pwdb.so audit nodelay
-       session    required     pam_pwdb.so nodelay
-       password   required     pam_pwdb.so shadow md5
+#%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
 </programlisting></para>
 
 <para>
@@ -151,16 +143,17 @@ program.
 </para>
 
 <para><programlisting>
-       #%PAM-1.0
-       # The PAM configuration file for the `samba' service
-       #
-       auth       required     pam_smbpass.so nodelay
-       account    required     pam_pwdb.so audit nodelay
-       session    required     pam_pwdb.so nodelay
-       password   required     pam_smbpass.so nodelay smbconf=/etc/samba.d/smb.conf
+#%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
 </programlisting></para>
 
-<note><para>PAM allows stacking of authentication mechanisms. It is 
+<para>
+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 
@@ -171,7 +164,7 @@ authentication to be configured in a single central file. The
 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.
-</para></note>
+</para>
 
 </sect1>
 
@@ -181,9 +174,9 @@ PAM documentation for further helpful information.
 <para>
 The astute administrator will realize from this that the 
 combination of <filename>pam_smbpass.so</filename>, 
-<command>winbindd</command>, and a distributed 
-passdb backend, such as ldap, will allow the establishment of a
-centrally managed, distributed 
+<command>winbindd</command>, and <command>rsync</command> (see
+<ulink url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>)
+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 
@@ -203,7 +196,7 @@ The following is from the on-line help for this option in SWAT;
 </para>
 
 <para>
-When Samba is configured to enable PAM support (i.e. 
+When Samba 2.2 is configure to enable PAM support (i.e. 
 <constant>--with-pam</constant>), this parameter will 
 control whether or not Samba should obey PAM's account 
 and session management directives. The default behavior 
index 46e69e4ba9fea597513b06f3061589ce0666d3ca..e3bee32db01218cc2abfc81e8b1070e073c77863 100644 (file)
@@ -13,7 +13,7 @@
 </chapterinfo>
 
 <title>
-Samba Backup Domain Controller to Samba Domain Control
+How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain
 </title>
 
 <sect1>
index 7aabca948f25d6c99a8f42babc495f060f82150b..53dae21775a57362144479a323caae41d922b3ea 100644 (file)
@@ -68,33 +68,27 @@ PDC functionality.
 
 <itemizedlist>
        <listitem><para>
-       Domain logons for Windows NT 4.0 / 200x / XP Professional clients.
+       domain logons for Windows NT 4.0 / 200x / XP Professional clients.
        </para></listitem>
        
        <listitem><para>
-       Placing Windows 9x / Me clients in user level security
+       placing Windows 9x / Me clients in user level security
        </para></listitem>
        
        <listitem><para>
-       Retrieving a list of users and groups from a Samba PDC to
+       retrieving a list of users and groups from a Samba PDC to
        Windows 9x / Me / NT / 200x / XP Professional clients
        </para></listitem>
        
        <listitem><para>
-       Roaming Profiles
+       roaming user profiles
        </para></listitem>
        
        <listitem><para>
-       Network/System Policies
+       Windows NT 4.0-style system policies
        </para></listitem>
 </itemizedlist>
 
-<note>
-<para>
-Roaming Profiles and System/Network policies are advanced network administration topics
-that are covered separately in this document.
-</para>
-</note>
 
 <para>
 The following functionalities are new to the Samba 3.0 release:
@@ -593,17 +587,18 @@ version of Windows.
 
        <para>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 again or consult your 
+       can not log you on (C000019B), Please try a gain or consult your 
        system administrator" when attempting to logon.
        </para>
 
        <para>
-       This occurs when the domain SID stored in the secrets.tdb database
-       is changed. The most common cause of a change in domain SID is when
-       the domain name and/or the server name (netbios name) is changed.
-       The only way to correct the problem is to restore the original domain 
-       SID or remove the domain client from the domain and rejoin. The domain
-       SID may be reset using either the smbpasswd or rpcclient utilities.
+       This occurs when the domain SID stored in 
+       <filename>private/WORKGROUP.SID</filename> is 
+       changed.  For example, you remove the file and <command>smbd</command> 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.
        </para>
 </listitem>
 
@@ -680,6 +675,128 @@ version of Windows.
 
 </sect1>
 
+
+
+<!-- **********************************************************
+
+     Policies and Profiles
+
+*************************************************************** -->
+
+<sect1>
+<title>
+System Policies and Profiles
+</title>
+
+<para>
+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 <ulink url="http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp">Implementing
+Profiles and Policies in Windows NT 4.0</ulink> available from Microsoft.
+</para>
+
+<para>
+Here are some additional details:
+</para>
+
+<itemizedlist>
+
+<listitem>
+       <para>
+       <emphasis>What about Windows NT Policy Editor?</emphasis>
+       </para>
+
+       <para>
+       To create or edit <filename>ntconfig.pol</filename> you must use 
+       the NT Server Policy Editor, <command>poledit.exe</command>     which 
+       is included with NT Server but <emphasis>not NT Workstation</emphasis>. 
+       There is a Policy Editor on a NTws 
+       but it is not suitable for creating <emphasis>Domain Policies</emphasis>. 
+       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 <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
+       the binary will look for them unless told otherwise. Note also that that 
+       directory is 'hidden'.
+       </para>
+
+       <para>
+       The Windows NT policy editor is also included with the Service Pack 3 (and 
+       later) for Windows NT 4.0. Extract the files using <command>servicepackname /x</command>, 
+       i.e. that's <command>Nt4sp6ai.exe /x</command> for service pack 6a.  The policy editor, 
+       <command>poledit.exe</command> 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.
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       <emphasis>Can Win95 do Policies?</emphasis>
+       </para>
+
+       <para>
+       Install the group policy handler for Win9x to pick up group 
+       policies.   Look on the Win98 CD in <filename>\tools\reskit\netadmin\poledit</filename>. 
+       Install group policies on a Win9x client by double-clicking 
+       <filename>grouppol.inf</filename>. 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....
+       </para> 
+
+       <para>
+       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.
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       <emphasis>How do I get 'User Manager' and 'Server Manager'</emphasis>
+       </para>
+
+       <para>
+       Since I don't need to buy an NT Server CD now, how do I get 
+       the 'User Manager for Domains', the 'Server Manager'?
+       </para>
+
+       <para>
+       Microsoft distributes a version of these tools called nexus for 
+       installation on Windows 95 systems.  The tools set includes
+       </para>
+       
+       <itemizedlist>
+               <listitem><para>Server Manager</para></listitem> 
+               
+               <listitem><para>User Manager for Domains</para></listitem> 
+
+               <listitem><para>Event Viewer</para></listitem> 
+       </itemizedlist>
+
+       <para>
+       Click here to download the archived file <ulink 
+       url="ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE">ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE</ulink>
+       </para>
+
+       <para>
+       The Windows NT 4.0 version of the 'User Manager for 
+       Domains' and 'Server Manager' are available from Microsoft via ftp 
+       from <ulink url="ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE">ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE</ulink>
+       </para>
+</listitem>
+</itemizedlist>
+
+</sect1>
+
+
+
 <!-- **********************************************************
 
      Getting Help
@@ -978,28 +1095,37 @@ general SMB topics such as browsing.</para>
 <sect1>
 <title>Domain Control for Windows 9x/ME</title>
 
+<note>
+<para>
+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 <emphasis>Special 
+Edition, Using Samba</emphasis>, by Richard Sharpe.
+</para>
+</note>
+
 <para>
 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. Samba-3 does this
-now in the same way that MS Windows NT/2K.
+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).
 </para>
 
 <para>
 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 this documentation under the browsing discussions.
-It should be noted, that browsing is totally orthogonal to logon support.
+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.
 </para>
 
 <para>
 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 are the focus of this section.
+which will be the focus of this section.
 </para>
 
 
@@ -1159,6 +1285,594 @@ for its domain.
 </para>
 </warning>
 
+</sect2>
+
+
+<sect2>
+<title>Configuration Instructions:     Setting up Roaming User Profiles</title>
+
+<warning>
+<para>
+<emphasis>NOTE!</emphasis> Roaming profiles support is different 
+for Win9X and WinNT.
+</para>
+</warning>
+
+<para>
+Before discussing how to configure roaming profiles, it is useful to see how
+Win9X and WinNT clients implement these features.
+</para>
+
+<para>
+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.
+</para>
+
+
+<para>
+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.
+</para>
+
+
+
+<sect3>
+<title>Windows NT Configuration</title>
+
+<para>
+To support WinNT clients, in the [global] section of smb.conf set the
+following (for example):
+</para>
+
+<para><programlisting>
+logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath
+</programlisting></para>
+
+<para>
+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. 
+</para>
+
+<note>
+<para>
+[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.]
+</para>
+</note>
+
+</sect3>
+
+
+<sect3>
+<title>Windows 9X Configuration</title>
+
+<para>
+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.
+</para>
+
+<para>
+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:
+</para>
+
+<para><programlisting>
+logon home = \\%L\%U\.profiles
+</programlisting></para>
+
+<para>
+then your Win9X clients will dutifully put their clients in a subdirectory
+of your home directory called .profiles (thus making them hidden).
+</para>
+
+<para>
+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".
+</para>
+
+
+</sect3>
+
+
+<sect3>
+<title>Win9X and WinNT Configuration</title>
+
+<para>
+You can support profiles for both Win9X and WinNT clients by setting both the
+"logon home" and "logon path" parameters. For example:
+</para>
+
+<para><programlisting>
+logon home = \\%L\%U\.profiles
+logon path = \\%L\profiles\%U
+</programlisting></para>
+
+<note>
+<para>
+I have not checked what 'net use /home' does on NT when "logon home" is
+set as above.
+</para>
+</note>
+</sect3>
+
+
+
+<sect3>
+<title>Windows 9X Profile Setup</title>
+
+<para>
+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.
+</para>
+
+
+<para>
+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.
+</para>
+
+<orderedlist>
+<listitem>
+       <para>
+       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.
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       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.
+       </para>
+</listitem>
+
+</orderedlist>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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'.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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".
+</para>
+
+<orderedlist>
+<listitem>
+       <para>
+       instead of logging in under the [user, password, domain] dialog,
+       press escape.
+       </para>
+</listitem>
+
+<listitem>
+       <para>
+       run the regedit.exe program, and look in:
+       </para>
+       
+       <para>
+       HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
+       </para>
+
+       <para>
+       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.
+       </para>
+
+       <para>
+       [Exit the registry editor].
+       </para>
+</listitem>
+
+<listitem>
+       <para>
+       <emphasis>WARNING</emphasis> - 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).
+       </para>
+
+       <para>
+   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.
+       </para>
+</listitem>
+
+<listitem>
+       <para>
+       search for the user's .PWL password-caching file in the c:\windows
+       directory, and delete it.
+       </para>
+</listitem>
+
+
+<listitem>
+       <para>
+       log off the windows 95 client.
+       </para>
+</listitem>
+
+<listitem>
+       <para>
+       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.  
+       </para>
+</listitem>
+
+</orderedlist>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+
+<sect3>
+<title>Windows NT Workstation 4.0</title>
+
+<para>
+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.  
+</para>
+
+<note>
+<para>
+[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].
+</para>
+</note>
+
+<para>
+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.
+</para>
+
+<para>
+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].
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<note>
+<para>
+[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].
+</para>
+
+<para>
+[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].
+</para>
+
+<para>
+[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].
+</para>
+</note>
+
+</sect3>
+
+
+<sect3>
+<title>Windows NT Server</title>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+
+<sect3>
+<title>Sharing Profiles between W95 and NT Workstation 4.0</title>
+
+<warning>
+<title>Potentially outdated or incorrect material follows</title>
+<para>
+I think this is all bogus, but have not deleted it. (Richard Sharpe)
+</para>
+</warning>
+
+<para>
+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.
+</para>
+
+<para>
+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].
+</para>
+
+<para>
+
+If you have this set up correctly, you will find separate user.DAT and
+NTuser.DAT files in the same profile directory.
+</para>
+
+<note>
+<para>
+[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].
+</para>
+</note>
+
+</sect3>
+
 </sect2>
 </sect1>
+
+
+<!-- **********************************************************
+
+     Appendix - DOMAIN_CONTROL.txt
+
+*************************************************************** -->
+
+<sect1>
+<title>
+DOMAIN_CONTROL.txt : Windows NT Domain Control &amp; Samba
+</title>
+
+<warning>
+       <title>Possibly Outdated Material</title>
+
+       <para>
+       This appendix was originally authored by John H Terpstra of 
+       the Samba Team and is included here for posterity.
+       </para>
+</warning>
+
+
+<para>
+<emphasis>NOTE :</emphasis> 
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+To many people these terms can be confusing, so let's try to clear the air.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The registry files can be located on any Windows NT machine by opening a
+command prompt and typing:
+</para>
+
+<para>
+<prompt>C:\WINNT\></prompt> dir %SystemRoot%\System32\config
+</para>
+
+<para>
+The environment variable %SystemRoot% value can be obtained by typing:
+</para>
+
+<para>
+<prompt>C:\WINNT></prompt>echo %SystemRoot%
+</para>
+
+<para>
+The active parts of the registry that you may want to be familiar with are
+the files called: default, system, software, sam and security.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+</para>
+
+</sect1>
+
 </chapter>
index 239880160e044416d2e1cc3b957a624f202a0216..41b1c0ed2f7c8310af0d6e0987c04a4d0165ebf5 100644 (file)
@@ -44,13 +44,6 @@ discussions regarding "security mode". The smb.conf configuration parameters
 that control security mode are: "security = user" and "security = share".
 </para>
 
-<para>
-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.
-</para>
-
 <para>
 Samba tends to blur the distinction a little in respect of what is
 a stand alone server. This is because the authentication database may be
@@ -80,7 +73,7 @@ of a domain security context. This means by definition that all user authenticat
 will be done from a centrally defined authentication regime. The authentication
 regime may come from an NT3/4 style (old domain technology) server, or it may be
 provided from an Active Directory server (ADS) running on MS Windows 2000 or later.
-</para>
+>/para>
 
 <para><emphasis>
 Of course it should be clear that the authentication back end itself could be from any
index 7aa280f4ef6be3fd3d23106f46a96458e2e6770a..66b9be1dbd5a989d43d25dbee6c867ecc473c91a 100644 (file)
@@ -4,7 +4,6 @@
        <author><firstname>Alexander</firstname><surname>Bokovoy</surname></author>
        <author><firstname>Tim</firstname><surname>Potter</surname></author>
        <author><firstname>Simo</firstname><surname>Sorce</surname></author>
-       <author><firstname>John H</firstname><surname>Terpstra</surname></author>
 </chapterinfo>
 <title>Stackable VFS modules</title>
 
@@ -67,18 +66,6 @@ facility.  The following operations are logged:
 </para>
 </sect2>
 
-<sect2>
-<title>extd_audit</title>
-<para>
-This module is identical with the <emphasis>audit</emphasis> module above except
-that it sends audit logs to both syslog as well as the smbd log file/s. The 
-loglevel for this module is set in the smb.conf file. At loglevel = 0, only file
-and directory deletions and directory and file creations are logged. At loglevel = 1
-file opens are renames and permission changes are logged , while at loglevel = 2 file
-open and close calls are logged also.
-</para>
-</sect2>
-
 <sect2>
 <title>recycle</title>
 <para>
index 7e4b9bcbd021628737590259ad27d204dff5fe89..fa2d75bd342188ce492ce3a3668d8f76ffb5beab 100644 (file)
                        only things you can do to stop this is to use SMB encryption.
                        </member>
 
-                       <member>Encrypted password support allows automatic share
+                       <member>Encrypted password support allows auto-matic share
                        (resource) reconnects.</member>
                </simplelist>
        </sect2>
@@ -830,6 +830,18 @@ ntPassword: 878D8014606CDA29677A44EFA1353FC7
 <sect1>
 <title>MySQL</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>
 
@@ -850,7 +862,7 @@ contains the correct queries to create the required tables. Use the command :
 
 <para>Add a the following to the <command>passdb backend</command> variable in your <filename>smb.conf</filename>:
 <programlisting>
-passdb backend = [other-plugins] mysql:identifier [other-plugins]
+passdb backend = [other-plugins] plugin:/location/to/pdb_mysql.so:identifier [other-plugins]
 </programlisting>
 </para>
 
@@ -966,23 +978,35 @@ Or, set 'identifier:workstations column' to :
 </sect1>
 
 <sect1>
-<title>XML</title>
+<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 xml:filename</command>
+<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 xml:filename -e current-pdb</command>
+<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 7a8c4b6d06afb89f52ea7ee22d6d1717a4bab259..1a2e2855967ff8f6c53d3e710a1a203e303fa33b 100644 (file)
 <!ENTITY ADS-HOWTO SYSTEM "ADS-HOWTO.sgml">
 <!ENTITY Passdb SYSTEM "passdb.sgml">
 <!ENTITY VFS SYSTEM "VFS.sgml">
+<!ENTITY GroupProfiles SYSTEM "GroupProfiles.sgml">
 <!ENTITY SecuringSamba SYSTEM "securing-samba.sgml">
 <!ENTITY Compiling SYSTEM "Compiling.sgml">
 <!ENTITY unicode SYSTEM "unicode.sgml">
 <!ENTITY CUPS SYSTEM "CUPS-printing.sgml">
-<!ENTITY AdvancedNetworkAdmin SYSTEM "AdvancedNetworkAdmin.sgml">
-<!ENTITY PolicyMgmt SYSTEM "PolicyMgmt.sgml">
-<!ENTITY ProfileMgmt SYSTEM "ProfileMgmt.sgml">
-<!ENTITY NT4Migration SYSTEM "NT4Migration.sgml">
-<!ENTITY SWAT SYSTEM "SWAT.sgml">
 ]>
 
 <book id="Samba-HOWTO-Collection">
@@ -106,34 +102,30 @@ for various environments.
 </part>
 
 <part id="optional">
-<title>Advanced Configuration</title>
+<title>Optional configuration</title>
 <partintro>
 <title>Introduction</title>
 <para>Samba has several features that you might want or might not want to use. The chapters in this 
 part each cover one specific feature.</para>
 </partintro>
+&IntegratingWithWindows;
 &NT-Security;
-&GROUP-MAPPING-HOWTO;
+&Samba-PAM;
+&MS-Dfs-Setup;
 &PRINTER-DRIVER2;
 &CUPS;
 &WINBIND;
-&AdvancedNetworkAdmin;
-&PolicyMgmt;
-&ProfileMgmt;
-&Samba-PAM;
-&VFS;
-&MS-Dfs-Setup;
-&IntegratingWithWindows;
 &BROWSING;
+&VFS;
+&GROUP-MAPPING-HOWTO;
+&SPEED;
+&GroupProfiles;
 &SecuringSamba;
 &unicode;
 </part>
 
 <part id="Appendixes">
 <title>Appendixes</title>
-&SWAT;
-&NT4Migration;
-&SPEED;
 &Portability;
 &Other-Clients;
 &Compiling;
@@ -141,4 +133,4 @@ part each cover one specific feature.</para>
 &Diagnosis;
 </part>
 
-
+</book>
index e3d7c6ac1fb7e66612b3ed5fa177c57a10f758ab..00dcc6e83b6a48da22f4913891152a4207a0ef19 100644 (file)
@@ -8,15 +8,8 @@
                </affiliation>
        </author>
 </chapterinfo>
-<title>Samba as Stand-Alone Server</title
 
-<para>
-In this section the function and purpose of Samba's <emphasis>security</emphasis>
-modes are described.
-</para>
-
-<sect1>
-<Title>User and Share security level</title>
+<title>Samba as Stand-Alone server (User and Share security level)</title>
 
 <para>
 A SMB server tells the client at startup what "security level" it is
@@ -30,9 +23,6 @@ can only tell the client what is available and whether an action is
 allowed. 
 </para>
 
-<sect2>
-<title>User Level Security</title>
-
 <para>
 I'll describe user level security first, as its simpler. In user level
 security the client will send a "session setup" command directly after
@@ -63,11 +53,6 @@ maintain multiple authentication contexts in this way (WinDD is an
 example of an application that does this)
 </para>
 
-</sect2>
-
-<sect2>
-<title>Share Level Security</title>
-
 <para>
 Ok, now for share level security. In share level security the client
 authenticates itself separately for each share. It will send a
@@ -94,11 +79,6 @@ usernames". If a match is found then the client is authenticated as
 that user.
 </para>
 
-</sect2>
-
-<sect2>
-<title>Server Level Security</title>
-
 <para>
 Finally "server level" security. In server level security the samba
 server reports to the client that it is in user level security. The
@@ -133,204 +113,4 @@ That real authentication server can be another Samba server or can be a
 Windows NT server, the later natively capable of encrypted password support.
 </para>
 
-<sect3>
-<title>Configuring Samba for Seemless Windows Network Integration</title>
-
-<para>
-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 requests.
-</para>
-
-<para>
-When encrypted passwords are used a password that has been entered by the user
-is encrypted in two ways:
-</para>
-
-<itemizedlist>
-       <listitem><para>An MD4 hash of the UNICODE of the password
-       string.  This is known as the NT hash.
-       </para></listitem>
-
-       <listitem><para>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.
-       </para></listitem>      
-</itemizedlist>
-
-<para>
-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.
-</para>
-
-<para>
-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.
-</para>
-
-<para>
-When Microsoft changed the default password mode, support was dropped 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
-service connection 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.
-</para>
-
-<para>
-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.
-</para>
-
-<para><programlisting>
-       <ulink url="smb.conf.5.html#PASSWORDLEVEL">passsword level</ulink> = <replaceable>integer</replaceable>
-       <ulink url="smb.conf.5.html#USERNAMELEVEL">username level</ulink> = <replaceable>integer</replaceable>
-</programlisting></para>
-
-<para>
-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 <parameter>username level</parameter> parameter
-is rarely needed.
-</para>
-
-<para>
-However, passwords 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 <parameter>password level</parameter>
-must be set to the maximum number of upper case letter which <emphasis>could</emphasis>
-appear is a password.  Note that is the server OS uses the traditional DES version
-of crypt(), then a <parameter>password level</parameter> 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).
-</para>
-
-<para>
-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:
-</para>
-
-</sect3>
-<sect3>
-<title>Use MS Windows NT as an authentication server</title>
-
-<para>
-This method involves the additions of the following parameters in the smb.conf file:
-</para>
-
-<para><programlisting>
-       encrypt passwords = Yes
-       security = server
-       password server = "NetBIOS_name_of_PDC"
-</programlisting></para>
-
-
-<para>
-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.
-</para>
-
-<para>
-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.
-</para>
-
-<para>
-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.
-</para>
-
-</sect3>
-</sect2>
-
-<sect2>
-<title>Domain Level Security</title>
-
-<para>
-When samba is operating in <emphasis>security = domain</emphasis> mode this means that
-the Samba server has a domain security trust account (a machine account) and will cause
-all authentication requests to be passed through to the domain controllers.
-</para>
-
-<sect3>
-<title>Samba as a member of an MS Windows NT security domain</title>
-
-<para>
-This method involves additon of the following paramters in the smb.conf file:
-</para>
-
-<para><programlisting>
-       encrypt passwords = Yes
-       security = domain
-       workgroup = "name of NT domain"
-       password server = *
-</programlisting></para>
-
-<para>
-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.
-This is the default behaviour.
-</para>
-
-<para>
-In order for this method to work the Samba server needs to join the 
-MS Windows NT security domain. This is done as follows:
-</para>
-
-<itemizedlist>
-       <listitem><para>On the MS Windows NT domain controller using 
-       the Server Manager add a machine account for the Samba server.
-       </para></listitem>
-       
-       <listitem><para>Next, on the Linux system execute: 
-       <command>smbpasswd -r PDC_NAME -j DOMAIN_NAME</command>
-       </para></listitem>
-</itemizedlist>
-
-<para>
-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
-<filename>/etc/passwd</filename> entry. 
-</para>
-
-<para>
-An alternative to assigning UIDs to Windows users on a Samba member server is
-presented in the <ulink url="winbind.html">Winbind Overview</ulink> chapter
-in this HOWTO collection.
-</para>
-
-</sect3>
-</sect2>
-
-<sect2>
-<title>ADS Level Security</title>
-
-<para>
-For information about the configuration option please refer to the entire section entitled
-<emphasis>Samba as an ADS Domain Member.</emphasis>
-</para>
-
-</sect2>
-</sect1>
 </chapter>
index cd0ec2064d52a222a197720398824a006dd3ccab..f227556151d4174047cd33dfa7a75181395c7d15 100644 (file)
@@ -24,12 +24,16 @@ In 3.0, the following configuration options have been removed.
 </para>
 
 <simplelist>
-<member>printer driver (replaced by new driver procedures) </member>
-<member>printer driver file (replaced by new driver procedures)</member>
-<member>printer driver location (replaced by new driver procedures)</member>
+<member>printer driver</member>
+<member>printer driver file</member>
+<member>printer driver location</member>
 <member>use rhosts</member>
 <member>postscript</member>
-<member>client code page (replaced by dos charset)</member>
 </simplelist>
+
+<para>The first three options have been replaced by new driver procedures. 
+Please read the printing documentation.</para>
+
 </sect1>
+
 </chapter>
diff --git a/docs/docbook/smbdotconf/.cvsignore b/docs/docbook/smbdotconf/.cvsignore
deleted file mode 100644 (file)
index 0f8c6cb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-parameters.all.xml
-parameters.global.xml
-parameters.service.xml
-
diff --git a/docs/docbook/smbdotconf/README b/docs/docbook/smbdotconf/README
deleted file mode 100644 (file)
index e69d30a..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-DocBook XML 4.2 source code for smb.conf(5) documentation for Samba 3.0
-
-Author of the document: Alexander Bokovoy <ab@samba.org>
-
-Welcome to new smb.conf(5) documentation build system! This directory
-contains a new incarnation of Samba's smb.conf(5) Docbook XML 4.2
-sources. Note that the output might be unsatisfying untill all smb.conf(5)
-parameters will converted to new format (see Chapter 4 for details).
-
-Content
--------
-
-0. Prerequisites
-1. Structure
-2. XSLT stylesheets
-3. Usage
-4. Current status of converted parameters
-
-Prerequisites
--------------
-
-In order to compile smb.conf(5) documentation from Docbook XML 4.2
-sources you'll need:
-
-        - a working libxml2 and libxslt installation, together with xsltproc utility
-        
-        - a locally installed Docbook XSL 4.2 or higher
-        
-        - a working xmlcatalog to eliminate Web access for Docbook XSL
-
-The latter requisite is important: we do not specify local copies of
-Docbook XSL stylesheets in our XSLTs because of real nightmare in their
-location in most distributions. Fortunately, libxml2 provides standard
-way to access locally installed external resources via so-called
-'xmlcatalog' tool. It is working in RedHat, Mandrake, ALT Linux, and
-some other distributions but wasn't at the moment of this writting (Late
-March'03) in Debian.
-
-Structure
----------
-
-smb.conf(5) sources consist of a number of XML files distributed across
-a number of subdirectories. Each subdirectory represents a group of
-smb.conf(5) parameters dedicated to one specific task as described in
-Samba's loadparm.c source  file (and shown in SWAT).
-
-Each XML file in subdirectories represents one parameter description,
-together with some additional meta-information about it. Complete list
-of meta-information attributes
-
-attribute               description
--------------------------------------------------------------------
-name                    smb.conf(5) parameter name
-context                 G for global, S for services
-basic                   set to 1 if loadparm.c's description
-wizard                  includes appropriate flag for
-advanced                this parameter (FLAG_BASIC,
-developer               FLAG_ADVANCED, FLAG_WIZARD, FLAG_DEVELOPER)
--------------------------------------------------------------------
-
-Main XML file for smb.conf(5) is smb.conf.5.xml. It contains a general
-stub for man page and several XML instructions to include:
-
-        - a list of global parameters (auto-generated);
-        
-        - a list of service parameters (auto-generated);
-        
-        - a complete list of alphabetically sorted parameters (auto-generated).
-
-XSLT stylesheets
-----------------
-
-In order to combine and build final version of smb.conf(5) we apply a
-set of XSLT stylesheets to smb.conf(5) sources. Following is the
-complete description of existing stylesheets in smb.conf(5) source tree:
-
-1. [expand-smb.conf.xsl] Main driver, produces big XML source with all
-smaller components combined. The resulted tree is then feed to Docbook
-XSL for final producing.
-
-This stylesheet performs two main transformations:
-
-        - Replaces <samba:parameter> tag by <varlistentry> one;
-        
-        - Generates <term> and <anchor> tags for each <samba:parameter>.
-        
-The latter step needs some explanation. We generate automatically
-<anchor> and <term> tags based on meta-information about parameter. This
-way all anchors have predictable names (capitalized parameter name with
-all spaces supressed) and we really don't need to dublicate data.
-
-There was only one exception to the generation rule in smb.conf.5.sgml:
-"use spnego"  parameter had anchor SPNEGO which is now unified to
-USESPNEGO. This also fixes a bug in SWAT which was unable to find SPNEGO
-achnor.
-
-2. [generate-context.xsl] An utility stylesheet which main purpose is to
-produce a list of parameters which are applicable for selected context
-(global or service).
-
-The generate-context.xsl is run twice to generate both
-parameters.global.xml and parameters.service.xml which are included then
-by smb.conf.5.xml. This stylesheet relies on parameters.all.xml file
-which is generated by [generate-file-list.sh] shell script.
-
-The parameters.all.xml file contains a complete list of include
-instructions for XSLT processor to include all small XML files from
-subdirectories.
-
-3. [man.xsl] Our local copy of Docbook XML to man(5) transformer. It
-fixes some annoying errors in official Docbook XSL stylesheets and adds
-our tuned parameters. This file really belongs to upper level where it
-would occur later, as we'll move to Docbook XML completely.
-
-4. [split-original-smb.conf.xsl] This stylesheet isn't required anymore.
-It was used for initial split of SGML-based smb.conf.5.sgml onto a set
-of per-parameter XML files. I left it in source tree just for historical
-interest. :)
-
-Usage
------
-
-1. Generate [parameters.all.xml]:
-        sh generate-file-list.sh >parameters.all.xml
-
-2. Generate [parameters.global.xml]:
-        xsltproc --xinclude \
-                 --param smb.context "'G'" \
-                 --output parameters.global.xml \
-                 generate-context.xsl parameters.all.xml
-
-3. Generate [parameters.service.xml]:
-        xsltproc --xinclude \
-                 --param smb.context "'S'" \
-                 --output parameters.service.xml \
-                 generate-context.xsl parameters.all.xml
-
-4. Process smb.conf.5.xml (for example, to HTML):
-        xsltproc --xinclude expand-smb.conf.xsl smb.conf.5.xml | \
-        xsltproc http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl - > smb.conf.5.html
-
-Note that in step 4 we are not saving preprocessed smb.conf.5.xml to
-disk and directly passing it to the next XSLT processor (in this case --
-Docbook XML to HTML generator).
-
-For convenience, this sequence of commands is added into source tree as
-process-all.sh
-
-Current state of converted parameters
--------------------------------------
-
-Only 'base' parameters converted so far to serve as example of
-formatting.
-
-All undocumented parameters are listed in doc-status file in of Samba's
-docs/ directory.
-
-Any help is greatly appreciated.
-
diff --git a/docs/docbook/smbdotconf/browse/browsable.xml b/docs/docbook/smbdotconf/browse/browsable.xml
deleted file mode 100644 (file)
index 779571c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="BROWSABLE"/>browsable (S)</term>
-               <listitem><para>See the <link linkend="BROWSEABLE"><parameter moreinfo="none">
-               browseable</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/browseable.xml b/docs/docbook/smbdotconf/browse/browseable.xml
deleted file mode 100644 (file)
index c223d6c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">browseable = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/browselist.xml b/docs/docbook/smbdotconf/browse/browselist.xml
deleted file mode 100644 (file)
index f15e2ca..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               a client doing a <command moreinfo="none">NetServerEnum</command> call. Normally 
-               set to <constant>yes</constant>. You should never need to change 
-               this.</para>
-               
-               <para>Default: <command moreinfo="none">browse list = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/domainmaster.xml b/docs/docbook/smbdotconf/browse/domainmaster.xml
deleted file mode 100644 (file)
index cf2d504..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               collation. Setting this option causes <command moreinfo="none">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 moreinfo="none">workgroup</parameter></link>. Local master browsers 
-               in the same <parameter moreinfo="none">workgroup</parameter> on broadcast-isolated 
-               subnets will give this <command moreinfo="none">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>
-
-               <para>Note that Windows NT Primary Domain Controllers expect to be 
-               able to claim this <parameter moreinfo="none">workgroup</parameter> specific special 
-               NetBIOS name that identifies them as domain master browsers for 
-               that <parameter moreinfo="none">workgroup</parameter> by default (i.e. there is no 
-               way to prevent a Windows NT PDC from attempting to do this). This 
-               means that if this parameter is set and <command moreinfo="none">nmbd</command> claims 
-               the special name for a <parameter moreinfo="none">workgroup</parameter> before a Windows 
-               NT PDC is able to do so then cross subnet browsing will behave 
-               strangely and may fail.</para>
-               
-               <para>If <link linkend="DOMAINLOGONS"><command moreinfo="none">domain logons = yes</command>
-               </link>, then the default behavior is to enable the <parameter moreinfo="none">domain 
-               master</parameter> parameter.  If <parameter moreinfo="none">domain logons</parameter> is 
-               not enabled (the default setting), then neither will <parameter moreinfo="none">domain 
-               master</parameter> be enabled by default.</para>
-
-               <para>Default: <command moreinfo="none">domain master = auto</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/enhancedbrowsing.xml b/docs/docbook/smbdotconf/browse/enhancedbrowsing.xml
deleted file mode 100644 (file)
index cf8d3e5..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.  
-               </para>
-
-               <para>The first enhancement to browse propagation consists of a regular
-               wildcard query to a Samba WINS server for all Domain Master Browsers,
-               followed by a browse synchronization with each of the returned
-               DMBs. The second enhancement consists of a regular randomised browse
-               synchronization with all currently known DMBs.</para>
-
-               <para>You may wish to disable this option if you have a problem with empty
-               workgroups not disappearing from browse lists. Due to the restrictions
-               of the browse protocols these enhancements can cause a empty workgroup
-               to stay around forever which can be annoying.</para>
-
-               <para>In general you should leave this option enabled as it makes
-               cross-subnet browse propagation much more reliable.</para>
-
-               <para>Default: <command moreinfo="none">enhanced browsing = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/lmannounce.xml b/docs/docbook/smbdotconf/browse/lmannounce.xml
deleted file mode 100644 (file)
index 1551c09..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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
-               <constant>auto</constant>. The default is <constant>auto</constant>.  
-               If set to <constant>no</constant> Samba will never produce these 
-               broadcasts. If set to <constant>yes</constant> Samba will produce 
-               Lanman announce broadcasts at a frequency set by the parameter 
-               <parameter moreinfo="none">lm interval</parameter>. If set to <constant>auto</constant> 
-               Samba will not send Lanman announce broadcasts by default but will 
-               listen for them. If it hears such a broadcast on the wire it will 
-               then start sending them at a frequency set by the parameter 
-               <parameter moreinfo="none">lm interval</parameter>.</para>
-
-               <para>See also <link linkend="LMINTERVAL"><parameter moreinfo="none">lm interval
-               </parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">lm announce = auto</command></para>
-               <para>Example: <command moreinfo="none">lm announce = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/lminterval.xml b/docs/docbook/smbdotconf/browse/lminterval.xml
deleted file mode 100644 (file)
index cc17dc1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">lm announce</parameter></link> parameter) then this 
-               parameter defines the frequency in seconds with which they will be 
-               made.  If this is set to zero then no Lanman announcements will be 
-               made despite the setting of the <parameter moreinfo="none">lm announce</parameter> 
-               parameter.</para>
-
-               <para>See also <link linkend="LMANNOUNCE"><parameter moreinfo="none">lm 
-               announce</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">lm interval = 60</command></para>
-               <para>Example: <command moreinfo="none">lm interval = 120</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/localmaster.xml b/docs/docbook/smbdotconf/browse/localmaster.xml
deleted file mode 100644 (file)
index dffbd3c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               on a subnet. If set to <constant>no</constant> then <command moreinfo="none">
-               nmbd</command> will not attempt to become a local master browser 
-               on a subnet and will also lose in all browsing elections. By
-               default this value is set to <constant>yes</constant>. Setting this value to <constant>yes</constant> doesn't
-               mean that Samba will <emphasis>become</emphasis> the local master 
-               browser on a subnet, just that <command moreinfo="none">nmbd</command> will <emphasis>
-               participate</emphasis> in elections for local master browser.</para>
-
-               <para>Setting this value to <constant>no</constant> will cause <command moreinfo="none">nmbd</command>
-               <emphasis>never</emphasis> to become a local master browser.</para>
-
-               <para>Default: <command moreinfo="none">local master = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/oslevel.xml b/docs/docbook/smbdotconf/browse/oslevel.xml
deleted file mode 100644 (file)
index 927db32..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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> 
-               has a chance of becoming a local master browser for the <parameter moreinfo="none">
-               WORKGROUP</parameter> in the local broadcast area.</para>
-               
-               <para><emphasis>Note :</emphasis>By default, Samba will win 
-               a local master browsing election over all Microsoft operating 
-               systems except a Windows NT 4.0/2000 Domain Controller.  This 
-               means that a misconfigured Samba host can effectively isolate 
-               a subnet for browsing purposes.  See <filename moreinfo="none">BROWSING.txt
-               </filename> in the Samba <filename moreinfo="none">docs/</filename> directory 
-               for details.</para>
-
-               <para>Default: <command moreinfo="none">os level = 20</command></para>
-               <para>Example: <command moreinfo="none">os level = 65 </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/preferedmaster.xml b/docs/docbook/smbdotconf/browse/preferedmaster.xml
deleted file mode 100644 (file)
index 8098626..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PREFEREDMASTER"/>prefered master (G)</term>
-               <listitem><para>Synonym for <link linkend="PREFERREDMASTER"><parameter moreinfo="none">
-               preferred master</parameter></link> for people who cannot spell :-).</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/browse/preferredmaster.xml b/docs/docbook/smbdotconf/browse/preferredmaster.xml
deleted file mode 100644 (file)
index 53934fd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>If this is set to <constant>yes</constant>, on startup, <command moreinfo="none">nmbd</command> 
-               will force an election, and it will have a slight advantage in 
-               winning the election.  It is recommended that this parameter is 
-               used in conjunction with <command moreinfo="none"><link linkend="DOMAINMASTER"><parameter moreinfo="none">
-               domain master</parameter></link> = yes</command>, so that <command moreinfo="none">
-               nmbd</command> can guarantee becoming a domain master.</para>
-               
-               <para>Use this option with caution, because if there are several 
-               hosts (whether Samba servers, Windows 95 or NT) that are preferred 
-               master browsers on the same subnet, they will each periodically 
-               and continuously attempt to become the local master browser.  
-               This will result in unnecessary broadcast traffic and reduced browsing
-               capabilities.</para>
-
-               <para>See also <link linkend="OSLEVEL"><parameter moreinfo="none">os level</parameter>
-               </link>.</para>
-
-               <para>Default: <command moreinfo="none">preferred master = auto</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/domain/machinepasswordtimeout.xml b/docs/docbook/smbdotconf/domain/machinepasswordtimeout.xml
deleted file mode 100644 (file)
index 14e6d9c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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">
-               smbd(8)</ulink> process will try and change the MACHINE ACCOUNT 
-               PASSWORD stored in the TDB called <filename moreinfo="none">private/secrets.tdb
-               </filename>.  This parameter specifies how often this password 
-               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">
-               security = domain</link>) parameter.</para>
-
-               <para>Default: <command moreinfo="none">machine password timeout = 604800</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/expand-smb.conf.xsl b/docs/docbook/smbdotconf/expand-smb.conf.xsl
deleted file mode 100644 (file)
index 87b4898..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version='1.0'?>
-<!-- vim:set sts=2 shiftwidth=2 syntax=xml: -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:samba="http://samba.org/common"
-               version="1.1"
-                extension-element-prefixes="exsl">
-
-<xsl:output method="xml"/>
-
-<!-- Generates one big XML file for smb.conf -->
-
-<xsl:param name="xmlSambaNsUri" select="'http://samba.org/common'"/>
-
-<!-- This is needed to copy content unchanged -->
-<xsl:template match="@*|node()">
-  <xsl:copy>
-    <xsl:apply-templates select="@*|node()"/>
-  </xsl:copy>
-</xsl:template>
-
-
-<xsl:template match="//samba:parameter">
-  <!-- reconstruct varlistentry - not all of them will go into separate files
-       and also we must repair the main varlistentry itself.
-  -->
-      <xsl:message>
-        <xsl:text>Processing samba:parameter (</xsl:text>
-        <xsl:value-of select="@name"/>
-        <xsl:text>)</xsl:text>
-      </xsl:message>
-
-  <xsl:variable name="name"><xsl:value-of select="translate(translate(string(@name),' ',''),
-                  'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
-  </xsl:variable>
-  
-  <xsl:variable name="anchor">
-     <xsl:element name="anchor">
-        <xsl:attribute name="id">
-          <xsl:value-of select="$name"/>
-        </xsl:attribute>
-     </xsl:element>
-  </xsl:variable>
-
-  <xsl:variable name="context">
-     <xsl:text> (</xsl:text>
-     <xsl:value-of select="@context"/>
-     <xsl:text>)</xsl:text>
-  </xsl:variable>
-
-  <xsl:variable name="term">
-     <xsl:element name="term">
-          <xsl:copy-of select="$anchor"/>
-          <xsl:value-of select="@name"/>
-          <xsl:value-of select="$context"/>
-     </xsl:element>
-  </xsl:variable>
-
-  <xsl:variable name="content">
-       <xsl:apply-templates/>
-  </xsl:variable>
-  
-  <xsl:element name="varlistentry">
-     <xsl:text>
-</xsl:text>     
-     <xsl:copy-of select="$term"/>
-     <xsl:copy-of select="$content"/>
-     <xsl:text>
-</xsl:text>     
-  </xsl:element>
-
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/docs/docbook/smbdotconf/filename/casesensitive.xml b/docs/docbook/smbdotconf/filename/casesensitive.xml
deleted file mode 100644 (file)
index 622aea3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="CASESENSITIVE"/>case sensitive (S)</term>
-               <listitem><para>See the discussion in the section <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link>.</para>
-               
-               <para>Default: <command moreinfo="none">case sensitive = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/casesignames.xml b/docs/docbook/smbdotconf/filename/casesignames.xml
deleted file mode 100644 (file)
index 94bcb85..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="CASESIGNAMES"/>casesignames (S)</term>
-               <listitem><para>Synonym for <link linkend="CASESENSITIVE">case 
-               sensitive</link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/defaultcase.xml b/docs/docbook/smbdotconf/filename/defaultcase.xml
deleted file mode 100644 (file)
index f2bdf5d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">short preserve case</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">default case = lower</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/deletevetofiles.xml b/docs/docbook/smbdotconf/filename/deletevetofiles.xml
deleted file mode 100644 (file)
index 49a5e22..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">veto files</parameter></link>
-               option).  If this option is set to <constant>no</constant> (the default) then if a vetoed 
-               directory contains any non-vetoed files or directories then the 
-               directory delete will fail. This is usually what you want.</para>
-
-               <para>If this option is set to <constant>yes</constant>, then Samba 
-               will attempt to recursively delete any files and directories within 
-               the vetoed directory. This can be useful for integration with file 
-               serving systems such as NetAtalk which create meta-files within 
-               directories you might normally veto DOS/Windows users from seeing 
-               (e.g. <filename moreinfo="none">.AppleDouble</filename>)</para>
-
-               <para>Setting <command moreinfo="none">delete veto files = yes</command> allows these 
-               directories to be  transparently deleted when the parent directory 
-               is deleted (so long as the user has permissions to do so).</para>
-
-               <para>See also the <link linkend="VETOFILES"><parameter moreinfo="none">veto 
-               files</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">delete veto files = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/hidedotfiles.xml b/docs/docbook/smbdotconf/filename/hidedotfiles.xml
deleted file mode 100644 (file)
index 63e87d8..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">hide dot files = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/hidefiles.xml b/docs/docbook/smbdotconf/filename/hidefiles.xml
deleted file mode 100644 (file)
index 6f93a2a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Each entry in the list must be separated by a '/', 
-               which allows spaces to be included in the entry.  '*'
-               and '?' can be used to specify multiple files or directories 
-               as in DOS wildcards.</para>
-
-               <para>Each entry must be a Unix path, not a DOS path and must 
-               not include the Unix directory separator '/'.</para>
-
-               <para>Note that the case sensitivity option is applicable 
-               in hiding files.</para>
-               
-               <para>Setting this parameter will affect the performance of Samba, 
-               as it will be forced to check all files and directories for a match 
-               as they are scanned.</para>
-
-               <para>See also <link linkend="HIDEDOTFILES"><parameter moreinfo="none">hide 
-               dot files</parameter></link>, <link linkend="VETOFILES"><parameter moreinfo="none">
-               veto files</parameter></link> and <link linkend="CASESENSITIVE">
-               <parameter moreinfo="none">case sensitive</parameter></link>.</para>
-
-               <para>Default: <emphasis>no file are hidden</emphasis></para>
-               <para>Example: <command moreinfo="none">hide files =
-               /.*/DesktopFolderDB/TrashFor%m/resource.frk/</command></para>
-
-               <para>The above example is based on files that the Macintosh 
-               SMB client (DAVE) available from <ulink url="http://www.thursby.com"> 
-               Thursby</ulink> creates for internal use, and also still hides 
-               all files beginning with a dot.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/hidespecialfiles.xml b/docs/docbook/smbdotconf/filename/hidespecialfiles.xml
deleted file mode 100644 (file)
index 9a8c206..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               </para>
-
-               <para>Default: <command moreinfo="none">hide special files = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/hideunreadable.xml b/docs/docbook/smbdotconf/filename/hideunreadable.xml
deleted file mode 100644 (file)
index d25153f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">hide unreadable = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/hideunwriteablefiles.xml b/docs/docbook/smbdotconf/filename/hideunwriteablefiles.xml
deleted file mode 100644 (file)
index 9e28e8d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               </para>
-
-               <para>Default: <command moreinfo="none">hide unwriteable = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/manglecase.xml b/docs/docbook/smbdotconf/filename/manglecase.xml
deleted file mode 100644 (file)
index 170d77d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="MANGLECASE"/>mangle case (S)</term>
-               <listitem><para>See the section on <link linkend="NAMEMANGLINGSECT">
-               NAME MANGLING</link></para>
-               
-               <para>Default: <command moreinfo="none">mangle case = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/mangledmap.xml b/docs/docbook/smbdotconf/filename/mangledmap.xml
deleted file mode 100644 (file)
index abe6c03..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               documents with file extensions that differ between DOS and UNIX. 
-               For example, under UNIX it is common to use <filename moreinfo="none">.html</filename> 
-               for HTML files, whereas under Windows/DOS <filename moreinfo="none">.htm</filename> 
-               is more commonly used.</para>
-
-               <para>So to map <filename moreinfo="none">html</filename> to <filename moreinfo="none">htm</filename> 
-               you would use:</para>
-               
-               <para><command moreinfo="none">mangled map = (*.html *.htm)</command></para>
-
-               <para>One very useful case is to remove the annoying <filename moreinfo="none">;1
-               </filename> off the ends of filenames on some CDROMs (only visible 
-               under some UNIXes). To do this use a map of (*;1 *;).</para>
-
-               <para>Default: <emphasis>no mangled map</emphasis></para>
-               <para>Example: <command moreinfo="none">mangled map = (*;1 *;)</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/manglednames.xml b/docs/docbook/smbdotconf/filename/manglednames.xml
deleted file mode 100644 (file)
index 41592b3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 (&quot;mangled&quot;) and made visible, 
-               or whether non-DOS names should simply be ignored.</para>
-
-               <para>See the section on <link linkend="NAMEMANGLINGSECT">
-               NAME MANGLING</link> for details on how to control the mangling process.</para>
-
-               <para>If mangling is used then the mangling algorithm is as follows:</para>
-
-               <itemizedlist>
-                       <listitem><para>The first (up to) five alphanumeric characters 
-                       before the rightmost dot of the filename are preserved, forced 
-                       to upper case, and appear as the first (up to) five characters 
-                       of the mangled name.</para></listitem>
-               
-                       <listitem><para>A tilde &quot;~&quot; is appended to the first part of the mangled
-                       name, followed by a two-character unique sequence, based on the
-                       original root name (i.e., the original filename minus its final
-                       extension). The final extension is included in the hash calculation
-                       only if it contains any upper case characters or is longer than three
-                       characters.</para>
-
-                       <para>Note that the character to use may be specified using 
-                       the <link linkend="MANGLINGCHAR"><parameter moreinfo="none">mangling char</parameter>
-                       </link> option, if you don't like '~'.</para></listitem>
-
-                       <listitem><para>The first three alphanumeric characters of the final 
-                       extension are preserved, forced to upper case and appear as the 
-                       extension of the mangled name. The final extension is defined as that 
-                       part of the original filename after the rightmost dot. If there are no 
-                       dots in the filename, the mangled name will have no extension (except 
-                       in the case of &quot;hidden files&quot; - see below).</para></listitem>
-
-                       <listitem><para>Files whose UNIX name begins with a dot will be 
-                       presented as DOS hidden files. The mangled name will be created as 
-                       for other filenames, but with the leading dot removed and &quot;___&quot; as 
-                       its extension regardless of actual original extension (that's three 
-                       underscores).</para></listitem>
-               </itemizedlist>
-
-               <para>The two-digit hash value consists of upper case 
-               alphanumeric characters.</para>
-
-               <para>This algorithm can cause name collisions only if files 
-               in a directory share the same first five alphanumeric characters. 
-               The probability of such a clash is 1/1300.</para>
-
-               <para>The name mangling (if enabled) allows a file to be 
-               copied between UNIX directories from Windows/DOS while retaining 
-               the long UNIX filename. UNIX files can be renamed to a new extension 
-               from Windows/DOS and will retain the same basename. Mangled names 
-               do not change between sessions.</para>
-
-               <para>Default: <command moreinfo="none">mangled names = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/mangledstack.xml b/docs/docbook/smbdotconf/filename/mangledstack.xml
deleted file mode 100644 (file)
index 3e6099b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This stack is a list of recently mangled base names 
-               (extensions are only maintained if they are longer than 3 characters 
-               or contains upper case characters).</para>
-
-               <para>The larger this value, the more likely it is that mangled 
-               names can be successfully converted to correct long UNIX names. 
-               However, large stack sizes will slow most directory accesses. Smaller 
-               stacks save memory in the server (each stack element costs 256 bytes).
-               </para>
-
-               <para>It is not possible to absolutely guarantee correct long 
-               filenames, so be prepared for some surprises!</para>
-
-               <para>Default: <command moreinfo="none">mangled stack = 50</command></para>
-               <para>Example: <command moreinfo="none">mangled stack = 100</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/mangleprefix.xml b/docs/docbook/smbdotconf/filename/mangleprefix.xml
deleted file mode 100644 (file)
index 7dfd461..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               hash and therefore more name collisions. The minimum
-               value is 1 and the maximum value is 6.</para>
-               <para>Default: <command moreinfo="none">mangle prefix = 1</command></para>
-               <para>Example: <command moreinfo="none">mangle prefix = 4</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/manglingchar.xml b/docs/docbook/smbdotconf/filename/manglingchar.xml
deleted file mode 100644 (file)
index e6a9050..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 '~'
-               but this may interfere with some software. Use this option to set 
-               it to whatever you prefer.</para>
-
-               <para>Default: <command moreinfo="none">mangling char = ~</command></para>
-               <para>Example: <command moreinfo="none">mangling char = ^</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/manglingmethod.xml b/docs/docbook/smbdotconf/filename/manglingmethod.xml
deleted file mode 100644 (file)
index 11f9e9e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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, &quot;hash&quot; and
-               &quot;hash2&quot;. &quot;hash&quot; is  the default and is the algorithm that has been
-               used in Samba for many years. &quot;hash2&quot; is a newer and considered
-               a better algorithm (generates less collisions) in the names.
-               However, many Win32 applications store the mangled names and so
-               changing to the new algorithm must not be done
-               lightly as these applications may break unless reinstalled.</para>
-               <para>Default: <command moreinfo="none">mangling method = hash2</command></para>
-               <para>Example: <command moreinfo="none">mangling method = hash</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/maparchive.xml b/docs/docbook/smbdotconf/filename/maparchive.xml
deleted file mode 100644 (file)
index 18f3979..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               motivation for this option it to keep Samba/your PC from making 
-               any file it touches from becoming executable under UNIX.  This can 
-               be quite annoying for shared source code, documents, etc...</para>
-
-               <para>Note that this requires the <parameter moreinfo="none">create mask</parameter>
-               parameter to be set such that owner execute bit is not masked out 
-               (i.e. it must include 100). See the parameter <link linkend="CREATEMASK">
-               <parameter moreinfo="none">create mask</parameter></link> for details.</para>
-
-               <para>Default: <command moreinfo="none">map archive = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/maphidden.xml b/docs/docbook/smbdotconf/filename/maphidden.xml
deleted file mode 100644 (file)
index 2b0266c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Note that this requires the <parameter moreinfo="none">create mask</parameter> 
-               to be set such that the world execute bit is not masked out (i.e. 
-               it must include 001). See the parameter <link linkend="CREATEMASK">
-               <parameter moreinfo="none">create mask</parameter></link> for details.</para>
-
-               <para>Default: <command moreinfo="none">map hidden = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/mapsystem.xml b/docs/docbook/smbdotconf/filename/mapsystem.xml
deleted file mode 100644 (file)
index ead6299..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Note that this requires the <parameter moreinfo="none">create mask</parameter> 
-               to be set such that the group execute bit is not masked out (i.e. 
-               it must include 010). See the parameter <link linkend="CREATEMASK">
-               <parameter moreinfo="none">create mask</parameter></link> for details.</para>
-
-               <para>Default: <command moreinfo="none">map system = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/preservecase.xml b/docs/docbook/smbdotconf/filename/preservecase.xml
deleted file mode 100644 (file)
index 3be458c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">default case
-               </parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">preserve case = yes</command></para>
-
-               <para>See the section on <link linkend="NAMEMANGLINGSECT">NAME 
-               MANGLING</link> for a fuller discussion.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/shortpreservecase.xml b/docs/docbook/smbdotconf/filename/shortpreservecase.xml
deleted file mode 100644 (file)
index 1c8b363..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               to be the <link linkend="DEFAULTCASE"><parameter moreinfo="none">default case
-               </parameter></link>. This  option can be use with <link linkend="PRESERVECASE"><command moreinfo="none">preserve case = yes</command>
-               </link> to permit long filenames to retain their case, while short 
-               names are lowered. </para>
-               
-               <para>See the section on <link linkend="NAMEMANGLINGSECT">
-               NAME MANGLING</link>.</para>
-
-               <para>Default: <command moreinfo="none">short preserve case = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/statcache.xml b/docs/docbook/smbdotconf/filename/statcache.xml
deleted file mode 100644 (file)
index ee94081..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               speed up case insensitive name mappings. You should never need 
-               to change this parameter.</para>
-
-               <para>Default: <command moreinfo="none">stat cache = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/stripdot.xml b/docs/docbook/smbdotconf/filename/stripdot.xml
deleted file mode 100644 (file)
index ff87714..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">strip dot = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/vetofiles.xml b/docs/docbook/smbdotconf/filename/vetofiles.xml
deleted file mode 100644 (file)
index faef204..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               in the entry. '*' and '?' can be used to specify multiple files 
-               or directories as in DOS wildcards.</para>
-
-               <para>Each entry must be a unix path, not a DOS path and 
-               must <emphasis>not</emphasis> include the  unix directory 
-               separator '/'.</para>
-
-               <para>Note that the <parameter moreinfo="none">case sensitive</parameter> option 
-               is applicable in vetoing files.</para>
-               
-               <para>One feature of the veto files parameter that it
-               is important to be aware of is Samba's behaviour when
-               trying to delete a directory. If a directory that is
-               to be deleted contains nothing but veto files this
-               deletion will <emphasis>fail</emphasis> unless you also set
-               the <parameter moreinfo="none">delete veto files</parameter> parameter to
-               <parameter moreinfo="none">yes</parameter>.</para>
-
-               <para>Setting this parameter will affect the performance 
-               of Samba, as it will be forced to check all files and directories 
-               for a match as they are scanned.</para>
-
-               <para>See also <link linkend="HIDEFILES"><parameter moreinfo="none">hide files
-               </parameter></link> and <link linkend="CASESENSITIVE"><parameter moreinfo="none">
-               case sensitive</parameter></link>.</para>
-
-               <para>Default: <emphasis>No files or directories are vetoed.
-               </emphasis></para>
-
-<para>Examples:<programlisting format="linespecific">
-; Veto any files containing the word Security, 
-; any ending in .tmp, and any directory containing the
-; word root.
-veto files = /*Security*/*.tmp/*root*/
-
-; Veto the Apple specific files that a NetAtalk server
-; creates.
-veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
-</programlisting></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/filename/vetooplockfiles.xml b/docs/docbook/smbdotconf/filename/vetooplockfiles.xml
deleted file mode 100644 (file)
index 0c817c9..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="VETOOPLOCKFILES"/>veto oplock files (S)</term>
-               <listitem><para>This parameter is only valid when the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter></link>
-               parameter is turned on for a share. It allows the Samba administrator
-               to selectively turn off the granting of oplocks on selected files that
-               match a wildcarded list, similar to the wildcarded list used in the
-               <link linkend="VETOFILES"><parameter moreinfo="none">veto files</parameter></link> 
-               parameter.</para>
-
-               <para>Default: <emphasis>No files are vetoed for oplock 
-               grants</emphasis></para>
-
-               <para>You might want to do this on files that you know will 
-               be heavily contended for by clients. A good example of this 
-               is in the NetBench SMB benchmark program, which causes heavy 
-               client contention for files ending in <filename moreinfo="none">.SEM</filename>. 
-               To cause Samba not to grant oplocks on these files you would use 
-               the line (either in the [global] section or in the section for 
-               the particular NetBench share :</para>
-
-               <para>Example: <command moreinfo="none">veto oplock files = /*.SEM/
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/generate-context.xsl b/docs/docbook/smbdotconf/generate-context.xsl
deleted file mode 100644 (file)
index c9ca310..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version='1.0'?>
-<!-- vim:set sts=2 shiftwidth=2 syntax=xml: -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:samba="http://samba.org/common"
-               version="1.1"
-                extension-element-prefixes="exsl">
-
-<xsl:output method="xml" omit-xml-declaration="yes"/>
-
-<xsl:param name="smb.context" select="'G'"/>
-
-<!-- This is needed to copy content unchanged -->
-<xsl:template match="@*|node()">
-  <xsl:copy>
-    <xsl:apply-templates select="@*|node()"/>
-  </xsl:copy>
-</xsl:template>
-
-<xsl:template match="variablelist">
-     <xsl:element name="itemizedlist">
-        <xsl:apply-templates/>
-     </xsl:element>
-</xsl:template>
-
-<xsl:template match="//samba:parameter">
-      <xsl:message>
-        <xsl:text>Processing samba:parameter (</xsl:text>
-        <xsl:value-of select="@name"/>
-        <xsl:text>)</xsl:text>
-      </xsl:message>
-
-  <xsl:variable name="name"><xsl:value-of select="translate(translate(string(@name),' ',''),
-                  'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
-  </xsl:variable>
-  
-  <xsl:if test="contains(@context,$smb.context)">
-     <xsl:element name="listitem">
-        <xsl:element name="para">
-           <xsl:element name="link">
-              <xsl:attribute name="linkend">
-                 <xsl:value-of select="$name"/>
-              </xsl:attribute>
-              <xsl:element name="parameter">
-                 <xsl:attribute name="moreinfo"><xsl:text>none</xsl:text></xsl:attribute>
-                 <xsl:value-of select="@name"/>
-              </xsl:element>
-           </xsl:element>
-        </xsl:element>
-     </xsl:element>
-     <xsl:text>
-</xsl:text>     
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/docs/docbook/smbdotconf/ldap/ldapadmindn.xml b/docs/docbook/smbdotconf/ldap/ldapadmindn.xml
deleted file mode 100644 (file)
index f92e8ce..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LDAPADMINDN"/>ldap admin dn (G)</term>
-               <listitem><para> The <parameter moreinfo="none">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 moreinfo="none">ldap
-               admin dn</parameter> is used in conjunction with the admin dn password
-               stored in the <filename moreinfo="none">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.
-               </para>
-                </listitem>
-                </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapdeletedn.xml b/docs/docbook/smbdotconf/ldap/ldapdeletedn.xml
deleted file mode 100644 (file)
index f4a820c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LDAPDELETEDN"/>ldap delete dn (G)</term>
-               <listitem><para> This parameter specifies whether a delete
-               operation in the ldapsam deletes the complete entry or only the attributes
-               specific to Samba.
-               </para>
-       
-               <para>Default : <emphasis>ldap delete dn = no</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapfilter.xml b/docs/docbook/smbdotconf/ldap/ldapfilter.xml
deleted file mode 100644 (file)
index 6ddf8db..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>                
-               objectclass.  Note that this filter should only return one entry.
-               </para>
-       
-               
-               <para>Default : <command moreinfo="none">ldap filter = (&amp;(uid=%u)(objectclass=sambaAccount))</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapmachinesuffix.xml b/docs/docbook/smbdotconf/ldap/ldapmachinesuffix.xml
deleted file mode 100644 (file)
index e02bf9a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LDAPMACHINESUFFIX"/>ldap machine suffix (G)</term>
-               <listitem><para>It specifies where machines should be 
-                added to the ldap tree.
-               </para>
-               
-       
-               
-               <para>Default : <emphasis>none</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldappasswdsync.xml b/docs/docbook/smbdotconf/ldap/ldappasswdsync.xml
deleted file mode 100644 (file)
index ce94493..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               workstation, server or domain trusts) on a password
-               change via SAMBA.  
-               </para>
-
-               <para>
-               The <parameter moreinfo="none">ldap passwd sync</parameter> can be set to one of three values:
-               </para>
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">Yes</parameter>  =  Try to update the LDAP, NT and LM passwords and update the pwdLastSet time.</para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">No</parameter> = Update NT and LM passwords and update the pwdLastSet time.</para></listitem>
-
-                       <listitem><para><parameter moreinfo="none">Only</parameter> = Only update the LDAP password and let the LDAP server do the rest.</para></listitem>
-               </itemizedlist>         
-               
-               <para>Default : <command moreinfo="none">ldap passwd sync = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapport.xml b/docs/docbook/smbdotconf/ldap/ldapport.xml
deleted file mode 100644 (file)
index 97c256d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-                <term><anchor id="LDAPPORT"/>ldap port (G)</term>
-                <listitem><para>This parameter is only available if Samba has been
-                configure to include the <command moreinfo="none">--with-ldapsam</command> option
-                at compile time.
-                </para>
-
-                <para>
-                This option is used to control the tcp port number used to contact
-                the <link linkend="LDAPSERVER"><parameter moreinfo="none">ldap server</parameter></link>.
-                The default is to use the stand LDAPS port 636.
-                </para>
-
-                <para>See Also: <link linkend="LDAPSSL">ldap ssl</link>
-                </para>
-
-                <para>Default : <command moreinfo="none">ldap port = 636 ; if ldap ssl = on</command></para>
-                <para>Default : <command moreinfo="none">ldap port = 389 ; if ldap ssl = off</command></para>
-                </listitem>
-                </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapserver.xml b/docs/docbook/smbdotconf/ldap/ldapserver.xml
deleted file mode 100644 (file)
index 33d5652..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-                <term><anchor id="LDAPSERVER"/>ldap server (G)</term>
-                <listitem><para>This parameter is only available if Samba has been
-                configure to include the <command moreinfo="none">--with-ldapsam</command> option
-                at compile time.
-                </para>
-
-                <para>
-                This parameter should contain the FQDN of the ldap directory
-                server which should be queried to locate user account information.
-                </para>
-
-                <para>Default : <command moreinfo="none">ldap server = localhost</command></para>
-                </listitem>
-                </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapssl.xml b/docs/docbook/smbdotconf/ldap/ldapssl.xml
deleted file mode 100644 (file)
index d747d8f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               Samba's previous SSL support which was enabled by specifying the 
-               <command moreinfo="none">--with-ssl</command> option to the <filename moreinfo="none">configure</filename> 
-               script.
-               </para>
-               
-               <para>
-               The <parameter moreinfo="none">ldap ssl</parameter> can be set to one of three values:
-               </para> 
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">Off</parameter> = Never use SSL when querying the directory.</para></listitem>
-
-                       <listitem><para><parameter moreinfo="none">Start_tls</parameter> = Use the LDAPv3 StartTLS extended operation 
-                       (RFC2830) for communicating with the directory server.</para></listitem>
-           
-                       <listitem><para><parameter moreinfo="none">On</parameter>  =
-                       Use SSL on the ldaps port when contacting the 
-                       <parameter moreinfo="none">ldap server</parameter>.  Only
-                       available when the backwards-compatiblity <command moreinfo="none">
-                       --with-ldapsam</command> option is specified
-                       to configure.  See <link linkend="PASSDBBACKEND"><parameter moreinfo="none">passdb backend</parameter></link></para></listitem>
-               </itemizedlist>         
-               
-               <para>Default : <command moreinfo="none">ldap ssl = start_tls</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapsuffix.xml b/docs/docbook/smbdotconf/ldap/ldapsuffix.xml
deleted file mode 100644 (file)
index dae15f8..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">ldap user suffix</command> and <command moreinfo="none">ldap machine suffix</command>. It also used as the base dn for all ldap searches. </para>
-               
-               <para>Default : <emphasis>none</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldaptrustids.xml b/docs/docbook/smbdotconf/ldap/ldaptrustids.xml
deleted file mode 100644 (file)
index 8fe4a14..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               NIS (for example) and also ensures that Samba does not
-               present accounts that do not otherwise exist.  </para>
-               <para>This option is used to disable this functionality, and
-               instead to rely on the presence of the appropriate
-               attributes in LDAP directly, which can result in a
-               significant performance boost in some situations.  
-                Setting this option to yes effectivly assumes
-               that the local machine is running <command moreinfo="none">nss_ldap</command> against the
-               same LDAP server.</para>
-
-               <para>Default: <command moreinfo="none">ldap trust ids = No</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/ldap/ldapusersuffix.xml b/docs/docbook/smbdotconf/ldap/ldapusersuffix.xml
deleted file mode 100644 (file)
index e4fb681..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LDAPUSERSUFFIX"/>ldap user suffix (G)</term>
-               <listitem><para>It specifies where users are added to the tree.
-               </para>
-               
-       
-               
-               <para>Default : <emphasis>none</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/blockinglocks.xml b/docs/docbook/smbdotconf/locking/blockinglocks.xml
deleted file mode 100644 (file)
index ea5e90b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               to obtain a byte range lock on a region of an open file, and the 
-               request has a time limit associated with it.</para>
-               
-               <para>If this parameter is set and the lock range requested 
-               cannot be immediately satisfied, samba will internally 
-               queue the lock request, and periodically attempt to obtain 
-               the lock until the timeout period expires.</para>
-
-               <para>If this parameter is set to <constant>no</constant>, then 
-               samba will behave as previous versions of Samba would and 
-               will fail the lock request immediately if the lock range 
-               cannot be obtained.</para>
-
-               <para>Default: <command moreinfo="none">blocking locks = yes</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/cscpolicy.xml b/docs/docbook/smbdotconf/locking/cscpolicy.xml
deleted file mode 100644 (file)
index e5139bc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               are: manual, documents, programs, disable.</para>
-
-               <para>These values correspond to those used on Windows
-               servers.</para>
-
-               <para>For example, shares containing roaming profiles can have
-               offline caching disabled using <command moreinfo="none">csc policy = disable
-               </command>.</para>
-
-               <para>Default: <command moreinfo="none">csc policy = manual</command></para>
-               <para>Example: <command moreinfo="none">csc policy = programs</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/fakeoplocks.xml b/docs/docbook/smbdotconf/locking/fakeoplocks.xml
deleted file mode 100644 (file)
index 1688772..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               that it is the only one accessing the file and it will aggressively 
-               cache file data. With some oplock types the client may even cache 
-               file open/close operations. This can give enormous performance benefits.
-               </para>
-
-               <para>When you set <command moreinfo="none">fake oplocks = yes</command>, <ulink url="smbd.8.html"><command moreinfo="none">smbd(8)</command></ulink> will
-               always grant oplock requests no matter how many clients are using 
-               the file.</para>
-
-               <para>It is generally much better to use the real <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter></link> support rather 
-               than this parameter.</para>
-               
-               <para>If you enable this option on all read-only shares or 
-               shares that you know will only be accessed from one client at a 
-               time such as physically read-only media like CDROMs, 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. Use 
-               this option carefully!</para>
-               
-               <para>Default: <command moreinfo="none">fake oplocks = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/kerneloplocks.xml b/docs/docbook/smbdotconf/locking/kerneloplocks.xml
deleted file mode 100644 (file)
index 98513fd..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="KERNELOPLOCKS"/>kernel oplocks (G)</term>
-               <listitem><para>For UNIXes that support kernel based <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter></link>
-               (currently only IRIX and the Linux 2.4 kernel), this parameter 
-               allows the use of them to be turned on or off.</para>
-
-               <para>Kernel oplocks support allows Samba <parameter moreinfo="none">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>
-
-               <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.
-               You should never need to touch this parameter.</para>
-
-               <para>See also the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter>
-               </link> and <link linkend="LEVEL2OPLOCKS"><parameter moreinfo="none">level2 oplocks
-               </parameter></link> parameters.</para>
-               
-               <para>Default: <command moreinfo="none">kernel oplocks = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/level2oplocks.xml b/docs/docbook/smbdotconf/locking/level2oplocks.xml
deleted file mode 100644 (file)
index adae6d2..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LEVEL2OPLOCKS"/>level2 oplocks (S)</term>
-               <listitem><para>This parameter controls whether Samba supports
-               level2 (read-only) oplocks on a share.</para>
-               
-               <para>Level2, or read-only oplocks allow Windows NT clients 
-               that have an oplock on a file to downgrade from a read-write oplock 
-               to a read-only oplock once a second client opens the file (instead 
-               of releasing all oplocks on a second open, as in traditional, 
-               exclusive oplocks). This allows all openers of the file that 
-               support level2 oplocks to cache the file for read-ahead only (ie. 
-               they may not cache writes or lock requests) and increases performance 
-               for many accesses of files that are not commonly written (such as 
-               application .EXE files).</para>
-
-               <para>Once one of the clients which have a read-only oplock 
-               writes to the file all clients are notified (no reply is needed 
-               or waited for) and told to break their oplocks to &quot;none&quot; and 
-               delete any read-ahead caches.</para>
-
-               <para>It is recommended that this parameter be turned on 
-               to speed access to shared executables.</para>
-
-               <para>For more discussions on level2 oplocks see the CIFS spec.</para>
-
-               <para>Currently, if <link linkend="KERNELOPLOCKS"><parameter moreinfo="none">kernel 
-               oplocks</parameter></link> are supported then level2 oplocks are 
-               not granted (even if this parameter is set to <constant>yes</constant>). 
-               Note also, the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter>
-               </link> parameter must be set to <constant>yes</constant> on this share in order for 
-               this parameter to have any effect.</para>
-
-               <para>See also the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter>
-               </link> and <link linkend="OPLOCKS"><parameter moreinfo="none">kernel oplocks</parameter>
-               </link> parameters.</para>
-               
-               <para>Default: <command moreinfo="none">level2 oplocks = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/locking.xml b/docs/docbook/smbdotconf/locking/locking.xml
deleted file mode 100644 (file)
index aa27027..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>If <command moreinfo="none">locking = no</command>, all lock and unlock 
-               requests will appear to succeed and all lock queries will report 
-               that the file in question is available for locking.</para>
-
-               <para>If <command moreinfo="none">locking = yes</command>, real locking will be performed 
-               by the server.</para>
-
-               <para>This option <emphasis>may</emphasis> be useful for read-only 
-               filesystems which <emphasis>may</emphasis> not need locking (such as 
-               CDROM drives), although setting this parameter of <constant>no</constant> 
-               is not really recommended even in this case.</para>
-
-               <para>Be careful about disabling locking either globally or in a 
-               specific service, as lack of locking may result in data corruption. 
-               You should never need to set this parameter.</para>
-
-               <para>Default: <command moreinfo="none">locking = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/lockspincount.xml b/docs/docbook/smbdotconf/locking/lockspincount.xml
deleted file mode 100644 (file)
index 1ee1aab..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               Windows 2k servers do not reply with a failure if the lock
-               could not be immediately granted, but try a few more times
-               in case the lock could later be aquired.  This behavior
-               is used to support PC database formats such as MS Access
-               and FoxPro.
-               </para>
-
-               <para>Default: <command moreinfo="none">lock spin count = 2</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/lockspintime.xml b/docs/docbook/smbdotconf/locking/lockspintime.xml
deleted file mode 100644 (file)
index 4d3ea1b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">lock spin 
-               count</parameter></link> for more details.
-               </para>
-
-               <para>Default: <command moreinfo="none">lock spin time = 10</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml b/docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml
deleted file mode 100644 (file)
index 5e08200..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               break request, then the network client can fail and not respond 
-               to the break request. This tuning parameter (which is set in milliseconds) 
-               is the amount of time Samba will wait before sending an oplock break 
-               request to such (broken) clients.</para>
-
-               <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
-               AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para>
-
-               <para>Default: <command moreinfo="none">oplock break wait time = 0</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml b/docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml
deleted file mode 100644 (file)
index fd3b45d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               limit. This causes <command moreinfo="none">smbd</command> to behave in a similar 
-               way to Windows NT.</para>
-
-               <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
-               AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para>
-
-               <para>Default: <command moreinfo="none">oplock contention limit = 2</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/oplocks.xml b/docs/docbook/smbdotconf/locking/oplocks.xml
deleted file mode 100644 (file)
index 071786f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="OPLOCKS"/>oplocks (S)</term>
-               <listitem><para>This boolean option tells <command moreinfo="none">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 
-               the speed of access to files on Samba servers. It allows the clients 
-               to aggressively cache files locally and you may want to disable this 
-               option for unreliable network environments (it is turned on by 
-               default in Windows NT Servers).  For more information see the file 
-               <filename moreinfo="none">Speed.txt</filename> in the Samba <filename moreinfo="none">docs/</filename> 
-               directory.</para>
-
-               <para>Oplocks may be selectively turned off on certain files with a 
-               share. See the <link linkend="VETOOPLOCKFILES"><parameter moreinfo="none">
-               veto oplock files</parameter></link> parameter. On some systems 
-               oplocks are recognized by the underlying operating system. This 
-               allows data synchronization between all access to oplocked files, 
-               whether it be via Samba or NFS or a local UNIX process. See the 
-               <parameter moreinfo="none">kernel oplocks</parameter> parameter for details.</para>
-
-               <para>See also the <link linkend="KERNELOPLOCKS"><parameter moreinfo="none">kernel 
-               oplocks</parameter></link> and <link linkend="LEVEL2OPLOCKS"><parameter moreinfo="none">
-               level2 oplocks</parameter></link> parameters.</para>
-
-               <para>Default: <command moreinfo="none">oplocks = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/posixlocking.xml b/docs/docbook/smbdotconf/locking/posixlocking.xml
deleted file mode 100644 (file)
index 4f2e2d2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="POSIXLOCKING"/>posix locking (S)</term>
-               <listitem><para>The <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
-               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 
-               consistent with those seen by POSIX compliant applications accessing 
-               the files via a non-SMB method (e.g. NFS or local file access).  
-               You should never need to disable this parameter.</para>
-               
-               <para>Default: <command moreinfo="none">posix locking = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/sharemodes.xml b/docs/docbook/smbdotconf/locking/sharemodes.xml
deleted file mode 100644 (file)
index c789ed0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="SHAREMODES"/>share modes (S)</term>
-               <listitem><para>This enables or disables the honoring of 
-               the <parameter moreinfo="none">share modes</parameter> during a file open. These 
-               modes are used by clients to gain exclusive read or write access 
-               to a file.</para>
-
-               <para>These open modes are not directly supported by UNIX, so
-               they are simulated using shared memory, or lock files if your 
-               UNIX doesn't support shared memory (almost all do).</para>
-
-               <para>The share modes that are enabled by this option are 
-               <constant>DENY_DOS</constant>, <constant>DENY_ALL</constant>,
-               <constant>DENY_READ</constant>, <constant>DENY_WRITE</constant>,
-               <constant>DENY_NONE</constant> and <constant>DENY_FCB</constant>.
-               </para>
-
-               <para>This option gives full share compatibility and enabled 
-               by default.</para>
-
-               <para>You should <emphasis>NEVER</emphasis> turn this parameter 
-               off as many Windows applications will break if you do so.</para>
-
-               <para>Default: <command moreinfo="none">share modes = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/locking/strictlocking.xml b/docs/docbook/smbdotconf/locking/strictlocking.xml
deleted file mode 100644 (file)
index b67ae47..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               deny access if locks exist. This can be slow on some systems.</para>
-
-               <para>When strict locking is <constant>no</constant> the server does file 
-               lock checks only when the client explicitly asks for them.</para>
-
-               <para>Well-behaved clients always ask for lock checks when it 
-               is important, so in the vast majority of cases <command moreinfo="none">strict 
-               locking = no</command> is preferable.</para>
-
-               <para>Default: <command moreinfo="none">strict locking = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/debughirestimestamp.xml b/docs/docbook/smbdotconf/logging/debughirestimestamp.xml
deleted file mode 100644 (file)
index a5f40b7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               message header when turned on.</para>
-
-               <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter moreinfo="none">
-               debug timestamp</parameter></link> must be on for this to have an 
-               effect.</para>
-
-               <para>Default: <command moreinfo="none">debug hires timestamp = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/debuglevel.xml b/docs/docbook/smbdotconf/logging/debuglevel.xml
deleted file mode 100644 (file)
index 99153fa..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DEBUGLEVEL"/>debuglevel (G)</term>
-               <listitem><para>Synonym for <link linkend="LOGLEVEL"><parameter moreinfo="none">
-               log level</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/debugpid.xml b/docs/docbook/smbdotconf/logging/debugpid.xml
deleted file mode 100644 (file)
index 829e168..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               to the timestamp message headers in the logfile when turned on.</para>
-
-               <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter moreinfo="none">
-               debug timestamp</parameter></link> must be on for this to have an 
-               effect.</para>
-
-               <para>Default: <command moreinfo="none">debug pid = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/debugtimestamp.xml b/docs/docbook/smbdotconf/logging/debugtimestamp.xml
deleted file mode 100644 (file)
index 1265c1d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">debug level</parameter></link> these timestamps
-               can be distracting. This boolean parameter allows timestamping 
-               to be turned off.</para>
-
-               <para>Default: <command moreinfo="none">debug timestamp = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/debuguid.xml b/docs/docbook/smbdotconf/logging/debuguid.xml
deleted file mode 100644 (file)
index 9b0786d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               in the log file if turned on.</para>
-               
-               <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter moreinfo="none">
-               debug timestamp</parameter></link> must be on for this to have an 
-               effect.</para>
-
-               <para>Default: <command moreinfo="none">debug uid = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/logfile.xml b/docs/docbook/smbdotconf/logging/logfile.xml
deleted file mode 100644 (file)
index 6f176ef..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This option takes the standard substitutions, allowing 
-               you to have separate log files for each user or machine.</para>
-
-               <para>Example: <command moreinfo="none">log file = /usr/local/samba/var/log.%m
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/loglevel.xml b/docs/docbook/smbdotconf/logging/loglevel.xml
deleted file mode 100644 (file)
index 610dc96..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">smb.conf</filename> file. This parameter has been
-               extended since the 2.2.x series, now it allow to specify the debug
-               level for multiple debug classes. This is to give greater 
-               flexibility in the configuration of the system.</para>
-
-               <para>The default will be the log level specified on 
-               the command line or level zero if none was specified.</para>
-
-               <para>Example: <command moreinfo="none">log level = 3 passdb:5 auth:10 winbind:2
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/maxlogsize.xml b/docs/docbook/smbdotconf/logging/maxlogsize.xml
deleted file mode 100644 (file)
index 117410b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               a <filename moreinfo="none">.old</filename> extension.</para>
-
-               <para>A size of 0 means no limit.</para>
-
-               <para>Default: <command moreinfo="none">max log size = 5000</command></para>
-               <para>Example: <command moreinfo="none">max log size = 1000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/syslog.xml b/docs/docbook/smbdotconf/logging/syslog.xml
deleted file mode 100644 (file)
index ac098e6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               level one maps onto <constant>LOG_WARNING</constant>, debug level 
-               two maps onto <constant>LOG_NOTICE</constant>, debug level three 
-               maps onto LOG_INFO. All higher levels are mapped to <constant>
-               LOG_DEBUG</constant>.</para>
-
-               <para>This parameter sets the threshold for sending messages 
-               to syslog.  Only messages with debug level less than this value 
-               will be sent to syslog.</para>
-
-               <para>Default: <command moreinfo="none">syslog = 1</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/syslogonly.xml b/docs/docbook/smbdotconf/logging/syslogonly.xml
deleted file mode 100644 (file)
index a955306..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">syslog only = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logging/timestamplogs.xml b/docs/docbook/smbdotconf/logging/timestamplogs.xml
deleted file mode 100644 (file)
index 5f5f42d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="TIMESTAMPLOGS"/>timestamp logs (G)</term>
-               <listitem><para>Synonym for <link linkend="DEBUGTIMESTAMP"><parameter moreinfo="none">
-               debug timestamp</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/abortshutdownscript.xml b/docs/docbook/smbdotconf/logon/abortshutdownscript.xml
deleted file mode 100644 (file)
index 89fd918..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               should stop a shutdown procedure issued by the <link linkend="SHUTDOWNSCRIPT"><parameter moreinfo="none">shutdown script</parameter></link>.</para>
-               
-               <para>This command will be run as user.</para>
-
-               <para>Default: <emphasis>None</emphasis>.</para>
-               <para>Example: <command moreinfo="none">abort shutdown script = /sbin/shutdown -c</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/addgroupscript.xml b/docs/docbook/smbdotconf/logon/addgroupscript.xml
deleted file mode 100644 (file)
index 67441a1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common"><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
-                requested. It will expand any
-                <parameter moreinfo="none">%g</parameter> to the group name passed.
-                This script is only useful for installations using the
-                Windows NT domain administration tools. The script is
-                free to create a group with an arbitrary name to
-                circumvent unix group name restrictions. In that case
-                the script must print the numeric gid of the created
-                group on stdout.
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/addmachinescript.xml b/docs/docbook/smbdotconf/logon/addmachinescript.xml
deleted file mode 100644 (file)
index fdc69c9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-                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
-                Unix uid method of RID calculation such as smbpasswd.  This option is only
-                available in Samba 3.0.</para>
-
-               <para>Default: <command moreinfo="none">add machine script = &lt;empty string&gt;
-               </command></para>       
-
-               <para>Example: <command moreinfo="none">add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
-                </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/adduserscript.xml b/docs/docbook/smbdotconf/logon/adduserscript.xml
deleted file mode 100644 (file)
index 3afea23..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Normally, a Samba server requires that UNIX users are 
-               created for all users accessing files on this server. For sites 
-               that use Windows NT account databases as their primary user database 
-               creating these users and keeping the user list in sync with the 
-               Windows NT PDC is an onerous task. This option allows <ulink 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 moreinfo="none">security = share</parameter>
-               and <parameter moreinfo="none">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 moreinfo="none">%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 moreinfo="none">password server</parameter> and 
-               attempts to authenticate the given user with the given password. If the 
-               authentication succeeds then <command moreinfo="none">smbd</command> 
-               attempts to find a UNIX user in the UNIX password database to map the 
-               Windows user into. If this lookup fails, and <parameter moreinfo="none">add user script
-               </parameter> is set then <command moreinfo="none">smbd</command> will
-               call the specified script <emphasis>AS ROOT</emphasis>, expanding 
-               any <parameter moreinfo="none">%u</parameter> argument to be the user name to create.</para>
-
-               <para>If this script successfully creates the user then <command moreinfo="none">smbd
-               </command> will continue on as though the UNIX user
-               already existed. In this way, UNIX users are dynamically created to
-               match existing Windows NT accounts.</para>
-
-               <para>See also <link linkend="SECURITY"><parameter moreinfo="none">
-               security</parameter></link>, <link linkend="PASSWORDSERVER">
-               <parameter moreinfo="none">password server</parameter></link>, 
-               <link linkend="DELETEUSERSCRIPT"><parameter moreinfo="none">delete user 
-               script</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">add user script = &lt;empty string&gt;
-               </command></para>       
-
-               <para>Example: <command moreinfo="none">add user script = /usr/local/samba/bin/add_user 
-               %u</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/addusertogroupscript.xml b/docs/docbook/smbdotconf/logon/addusertogroupscript.xml
deleted file mode 100644 (file)
index fe8be5b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">%g</parameter> will be replaced with the group name and 
-               any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
-               </para>
-
-               <para>Default: <command moreinfo="none">add user to group script = </command></para>
-
-               <para>Example: <command moreinfo="none">add user to group script = /usr/sbin/adduser %u %g</command></para>
-               
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/deletegroupscript.xml b/docs/docbook/smbdotconf/logon/deletegroupscript.xml
deleted file mode 100644 (file)
index 02c4131..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common"><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 moreinfo="none">%g</parameter> to the group name passed.  
-               This script is only useful for installations using the Windows NT domain administration tools.
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/deleteuserfromgroupscript.xml b/docs/docbook/smbdotconf/logon/deleteuserfromgroupscript.xml
deleted file mode 100644 (file)
index bb1c513..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">%g</parameter> will be replaced with the group name and 
-               any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
-               </para>
-
-               <para>Default: <command moreinfo="none">delete user from group script = </command></para>
-
-               <para>Example: <command moreinfo="none">delete user from group script = /usr/sbin/deluser %u %g</command></para>
-               
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/deleteuserscript.xml b/docs/docbook/smbdotconf/logon/deleteuserscript.xml
deleted file mode 100644 (file)
index afb75db..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               </para>
-
-                <para>This script is called when a remote client removes a user
-                from the server, normally using 'User Manager for Domains' or
-                <command moreinfo="none">rpcclient</command>.
-               </para>
-
-               <para>This script should delete the given UNIX username. 
-               </para>
-
-               <para>Default: <command moreinfo="none">delete user script = &lt;empty string&gt;
-               </command></para>
-               <para>Example: <command moreinfo="none">delete user script = /usr/local/samba/bin/del_user 
-               %u</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/domainlogons.xml b/docs/docbook/smbdotconf/logon/domainlogons.xml
deleted file mode 100644 (file)
index 9a2f432..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">workgroup</parameter></link> it is in. Samba 2.2
-               has limited capability to act as a domain controller for Windows 
-               NT 4 Domains.  For more details on setting up this feature see 
-               the Samba-PDC-HOWTO included in the <filename moreinfo="none">htmldocs/</filename>
-               directory shipped with the source code.</para>
-               
-               <para>Default: <command moreinfo="none">domain logons = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/logondrive.xml b/docs/docbook/smbdotconf/logon/logondrive.xml
deleted file mode 100644 (file)
index d0aa4d7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">logon home</parameter></link>) 
-               and is only used by NT Workstations. </para>
-
-               <para>Note that this option is only useful if Samba is set up as a
-               logon server.</para>
-
-               <para>Default: <command moreinfo="none">logon drive = z:</command></para>
-               <para>Example: <command moreinfo="none">logon drive = h:</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/logonhome.xml b/docs/docbook/smbdotconf/logon/logonhome.xml
deleted file mode 100644 (file)
index ec19c54..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para><prompt moreinfo="none">C:\&gt; </prompt><userinput moreinfo="none">NET USE H: /HOME</userinput>
-               </para>
-
-               <para>from a command prompt, for example.</para>
-
-               <para>This option takes the standard substitutions, allowing 
-               you to have separate logon scripts for each user or machine.</para>
-
-               <para>This parameter can be used with Win9X workstations to ensure 
-               that roaming profiles are stored in a subdirectory of the user's 
-               home directory.  This is done in the following way:</para>
-
-               <para><command moreinfo="none">logon home = \\%N\%U\profile</command></para>
-
-               <para>This tells Samba to return the above string, with 
-               substitutions made when a client requests the info, generally 
-               in a NetUserGetInfo request.  Win9X clients truncate the info to
-               \\server\share when a user does <command moreinfo="none">net use /home</command>
-               but use the whole string when dealing with profiles.</para>
-
-               <para>Note that in prior versions of Samba, the <link linkend="LOGONPATH">
-               <parameter moreinfo="none">logon path</parameter></link> was returned rather than 
-               <parameter moreinfo="none">logon home</parameter>.  This broke <command moreinfo="none">net use 
-               /home</command> but allowed profiles outside the home directory.  
-               The current implementation is correct, and can be used for 
-               profiles if you use the above trick.</para>
-               
-               <para>This option is only useful if Samba is set up as a logon 
-               server.</para>
-
-               <para>Default: <command moreinfo="none">logon home = &quot;\\%N\%U&quot;</command></para>
-               <para>Example: <command moreinfo="none">logon home = &quot;\\remote_smb_server\%U&quot;</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/logonpath.xml b/docs/docbook/smbdotconf/logon/logonpath.xml
deleted file mode 100644 (file)
index 04a2777..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               nothing to do with Win 9X roaming profiles.  To find out how to 
-               handle roaming profiles for Win 9X system, see the <link linkend="LOGONHOME">
-               <parameter moreinfo="none">logon home</parameter></link> parameter.</para>
-
-               <para>This option takes the standard substitutions, allowing you 
-               to have separate logon scripts for each user or machine.  It also 
-               specifies the directory from which the &quot;Application Data&quot;, 
-               (<filename moreinfo="none">desktop</filename>, <filename moreinfo="none">start menu</filename>,
-               <filename moreinfo="none">network neighborhood</filename>, <filename moreinfo="none">programs</filename> 
-               and other folders, and their contents, are loaded and displayed on 
-               your Windows NT client.</para>
-               
-               <para>The share and the path must be readable by the user for 
-               the preferences and directories to be loaded onto the Windows NT
-               client.  The share must be writeable when the user logs in for the first
-               time, in order that the Windows NT client can create the NTuser.dat
-               and other directories.</para>
-
-               <para>Thereafter, the directories and any of the contents can, 
-               if required, be made read-only.  It is not advisable that the 
-               NTuser.dat file be made read-only - rename it to NTuser.man to 
-               achieve the desired effect (a <emphasis>MAN</emphasis>datory 
-               profile). </para>
-
-               <para>Windows clients can sometimes maintain a connection to 
-               the [homes] share, even though there is no user logged in.  
-               Therefore, it is vital that the logon path does not include a 
-               reference to the homes share (i.e. setting this parameter to
-               \%N\%U\profile_path will cause problems).</para>
-
-               <para>This option takes the standard substitutions, allowing 
-               you to have separate logon scripts for each user or machine.</para>
-
-               <para>Note that this option is only useful if Samba is set up 
-               as a logon server.</para>
-
-               <para>Default: <command moreinfo="none">logon path = \\%N\%U\profile</command></para>
-               <para>Example: <command moreinfo="none">logon path = \\PROFILESERVER\PROFILE\%U</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/logonscript.xml b/docs/docbook/smbdotconf/logon/logonscript.xml
deleted file mode 100644 (file)
index 842cf92..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               style CR/LF line endings. Using a DOS-style editor to create the 
-               file is recommended.</para>
-               
-               <para>The script must be a relative path to the [netlogon] 
-               service.  If the [netlogon] service specifies a <link linkend="PATH">
-               <parameter moreinfo="none">path</parameter></link> of <filename moreinfo="none">/usr/local/samba/netlogon
-               </filename>, and <command moreinfo="none">logon script = STARTUP.BAT</command>, then 
-               the file that will be downloaded is:</para>
-
-               <para><filename moreinfo="none">/usr/local/samba/netlogon/STARTUP.BAT</filename></para>
-
-               <para>The contents of the batch file are entirely your choice.  A 
-               suggested command would be to add <command moreinfo="none">NET TIME \\SERVER /SET 
-               /YES</command>, to force every machine to synchronize clocks with 
-               the same time server.  Another use would be to add <command moreinfo="none">NET USE 
-               U: \\SERVER\UTILS</command> for commonly used utilities, or <command moreinfo="none">
-               NET USE Q: \\SERVER\ISO9001_QA</command> for example.</para>
-
-               <para>Note that it is particularly important not to allow write 
-               access to the [netlogon] share, or to grant users write permission 
-               on the batch files in a secure environment, as this would allow 
-               the batch files to be arbitrarily modified and security to be 
-               breached.</para>
-
-               <para>This option takes the standard substitutions, allowing you 
-               to have separate logon scripts for each user or machine.</para>
-
-               <para>This option is only useful if Samba is set up as a logon 
-               server.</para>
-
-               <para>Default: <emphasis>no logon script defined</emphasis></para>
-               <para>Example: <command moreinfo="none">logon script = scripts\%U.bat</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/setprimarygroupscript.xml b/docs/docbook/smbdotconf/logon/setprimarygroupscript.xml
deleted file mode 100644 (file)
index c4b2aa1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common"><term><anchor id="SETPRIMARYGROUPSCRIPT"/>set primary group script (G)</term>
-               <listitem><para>Thanks to the Posix subsystem in NT a
-               Windows User has a primary group in addition to the
-               auxiliary groups.  This script sets the primary group
-               in the unix userdatase when an administrator sets the
-               primary group from the windows user manager or when
-               fetching a SAM with <command>net rpc
-               vampire</command>. <parameter>%u</parameter> will be
-               replaced with the user whose primary group is to be
-               set.  <parameter>%g</parameter> will be replaced with
-               the group to set.
-
-               <para>Default: <emphasis>No default value</emphasis></para>
-
-               <para>Example: <command>set primary group script = /usr/sbin/usermod -g '%g' '%u'</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/logon/shutdownscript.xml b/docs/docbook/smbdotconf/logon/shutdownscript.xml
deleted file mode 100644 (file)
index ac28639..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">smbd(8)</command></ulink> that
-               should start a shutdown procedure.</para>
-
-               <para>This command will be run as the user connected to the
-               server.</para>
-
-               <para>%m %t %r %f parameters are expanded</para>
-               <para><parameter moreinfo="none">%m</parameter> will be substituted with the
-               shutdown message sent to the server.</para>
-               <para><parameter moreinfo="none">%t</parameter> will be substituted with the
-               number of seconds to wait before effectively starting the
-               shutdown procedure.</para>
-               <para><parameter moreinfo="none">%r</parameter> will be substituted with the
-               switch <emphasis>-r</emphasis>. It means reboot after shutdown
-               for NT.
-               </para>
-               <para><parameter moreinfo="none">%f</parameter> will be substituted with the
-               switch <emphasis>-f</emphasis>. It means force the shutdown
-               even if applications do not respond for NT.</para>
-
-               <para>Default: <emphasis>None</emphasis>.</para>
-               <para>Example: <command moreinfo="none">abort shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f</command></para>
-               <para>Shutdown script example:
-<programlisting format="linespecific">
-#!/bin/bash
-               
-$time=0
-let &quot;time/60&quot;
-let &quot;time++&quot;
-
-/sbin/shutdown $3 $4 +$time $1 &amp;
-</programlisting>
-               Shutdown does not return so we need to launch it in background.
-               </para>
-
-               <para>See also <link linkend="ABORTSHUTDOWNSCRIPT"><parameter moreinfo="none">abort shutdown script</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/man.xsl b/docs/docbook/smbdotconf/man.xsl
deleted file mode 100644 (file)
index a7ae76b..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version='1.0'?>
-<!-- vim:set sts=2 shiftwidth=2 syntax=xml: -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version='1.0'>
-
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
-
-<xsl:param name="chunk.section.depth" select="0"/>
-<xsl:param name="chunk.first.sections" select="1"/>
-<xsl:param name="use.id.as.filename" select="1"/>
-<xsl:param name="base.dir" select="'../../manpages/'"/>
-
-<!-- 
-    Our ulink stylesheet omits @url part if content was specified
--->
-<xsl:template match="ulink">
-  <xsl:variable name="content">
-    <xsl:apply-templates/>
-  </xsl:variable>
-  <xsl:if test="$content = ''">
-    <xsl:text>: </xsl:text>
-  </xsl:if>
-  <xsl:if test="$content != ''">
-    <xsl:value-of select="$content" />
-  </xsl:if>
-  <xsl:if test="$content = ''">
-    <xsl:apply-templates mode="italic" select="@url" />
-  </xsl:if>
-</xsl:template>
-
-<xsl:template match="refentry">
-
-  <xsl:variable name="section" select="refmeta/manvolnum"/>
-  <xsl:variable name="name" select="refnamediv/refname[1]"/>
-  <xsl:variable name="base.dir" select="$base.dir"/>
-  <!-- standard man page width is 64 chars; 6 chars needed for the two
-       (x) volume numbers, and 2 spaces, leaves 56 -->
-  <xsl:variable name="twidth" select="(74 - string-length(refmeta/refentrytitle)) div 2"/>
-
-  <xsl:variable name="reftitle" 
-               select="substring(refmeta/refentrytitle, 1, $twidth)"/>
-
-  <xsl:variable name="title">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/title">
-        <xsl:value-of select="refentryinfo/title"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/title">
-        <xsl:value-of select="../referenceinfo/title"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="date">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/date">
-        <xsl:value-of select="refentryinfo/date"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/date">
-        <xsl:value-of select="../referenceinfo/date"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:variable name="productname">
-    <xsl:choose>
-      <xsl:when test="refentryinfo/productname">
-        <xsl:value-of select="refentryinfo/productname"/>
-      </xsl:when>
-      <xsl:when test="../referenceinfo/productname">
-        <xsl:value-of select="../referenceinfo/productname"/>
-      </xsl:when>
-    </xsl:choose>
-  </xsl:variable>
-
-  <xsl:call-template name="write.text.chunk">
-    <xsl:with-param name="filename"
-                   select="concat($base.dir, normalize-space ($name), '.', $section)"/>
-    <xsl:with-param name="content">
-      <xsl:text>.\"Generated by db2man.xsl. Don't modify this, modify the source.
-.de Sh \" Subsection
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.TH "</xsl:text>
-      <xsl:value-of select="translate($reftitle,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
-      <xsl:text>" </xsl:text>
-      <xsl:value-of select="refmeta/manvolnum[1]"/>
-      <xsl:text> "</xsl:text>
-      <xsl:value-of select="normalize-space($date)"/>
-      <xsl:text>" "</xsl:text>
-      <xsl:value-of select="normalize-space($productname)"/>
-      <xsl:text>" "</xsl:text>
-      <xsl:value-of select="$title"/>
-      <xsl:text>"
-</xsl:text>
-      <xsl:apply-templates/>
-      <xsl:text>&#10;</xsl:text>
-
-      <!-- Author section -->
-      <xsl:choose>
-        <xsl:when test="refentryinfo//author">
-          <xsl:apply-templates select="refentryinfo" mode="authorsect"/>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:with-param>
-  </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="informalexample|screen|programlisting">
-  <xsl:text>.nf&#10;</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>.fi&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="//emphasis">
-  <xsl:text>\fB</xsl:text>
-  <xsl:apply-templates/>
-  <xsl:text>\fR</xsl:text>
-</xsl:template>
-
-<xsl:template match="para|simpara|remark" mode="list">
-  <xsl:variable name="foo">
-    <xsl:apply-templates/>
-  </xsl:variable>
-  <xsl:choose match="node()">
-    <!-- Don't normalize-space() for verbatim paragraphs        -->
-    <xsl:when test="informalexample|screen|programlisting">
-      <xsl:value-of select="$foo"/>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:value-of select="normalize-space($foo)"/>
-      <xsl:text>&#10;</xsl:text>
-    </xsl:otherwise>
-  </xsl:choose>
-  <xsl:text>&#10;</xsl:text>
-  <xsl:if test="following-sibling::para or following-sibling::simpara or
-               following-sibling::remark">
-    <!-- Make sure multiple paragraphs within a list item don't -->
-    <!-- merge together.                                        -->
-    <xsl:text>&#10;</xsl:text>
-  </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/docs/docbook/smbdotconf/misc/addsharecommand.xml b/docs/docbook/smbdotconf/misc/addsharecommand.xml
deleted file mode 100644 (file)
index 233d3e7..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">add share command</parameter> is used to define an 
-               external program or script which will add a new service definition 
-               to <filename moreinfo="none">smb.conf</filename>.  In order to successfully 
-               execute the <parameter moreinfo="none">add share command</parameter>, <command moreinfo="none">smbd</command>
-               requires that the administrator be connected using a root account (i.e. 
-               uid == 0).
-               </para>
-               
-               <para>
-               When executed, <command moreinfo="none">smbd</command> will automatically invoke the 
-               <parameter moreinfo="none">add share command</parameter> with four parameters.
-               </para>
-               
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">configFile</parameter> - the location 
-                       of the global <filename moreinfo="none">smb.conf</filename> file. 
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">shareName</parameter> - the name of the new 
-                       share.
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
-                       directory on disk.
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">comment</parameter> - comment string to associate 
-                       with the new share.
-                       </para></listitem>
-               </itemizedlist>
-               
-               <para>
-               This parameter is only used for add file shares.  To add printer shares, 
-               see the <link linkend="ADDPRINTERCOMMAND"><parameter moreinfo="none">addprinter 
-               command</parameter></link>.
-               </para>
-               
-               <para>
-               See also <link linkend="CHANGESHARECOMMAND"><parameter moreinfo="none">change share 
-               command</parameter></link>, <link linkend="DELETESHARECOMMAND"><parameter moreinfo="none">delete share
-               command</parameter></link>.
-               </para>
-               
-               <para>Default: <emphasis>none</emphasis></para>
-               <para>Example: <command moreinfo="none">add share command = /usr/local/bin/addshare</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/autoservices.xml b/docs/docbook/smbdotconf/misc/autoservices.xml
deleted file mode 100644 (file)
index d137f65..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="AUTOSERVICES"/>auto services (G)</term>
-               <listitem><para>This is a synonym for the <link linkend="PRELOAD">
-               <parameter moreinfo="none">preload</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/available.xml b/docs/docbook/smbdotconf/misc/available.xml
deleted file mode 100644 (file)
index 025c1c0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="AVAILABLE"/>available (S)</term>
-               <listitem><para>This parameter lets you &quot;turn off&quot; a service. If 
-               <parameter moreinfo="none">available = no</parameter>, then <emphasis>ALL</emphasis> 
-               attempts to connect to the service will fail. Such failures are 
-               logged.</para>
-
-               <para>Default: <command moreinfo="none">available = yes</command></para>
-               
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/changesharecommand.xml b/docs/docbook/smbdotconf/misc/changesharecommand.xml
deleted file mode 100644 (file)
index 3fb494c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">change share command</parameter> is used to define an 
-               external program or script which will modify an existing service definition 
-               in <filename moreinfo="none">smb.conf</filename>.  In order to successfully 
-               execute the <parameter moreinfo="none">change share command</parameter>, <command moreinfo="none">smbd</command>
-               requires that the administrator be connected using a root account (i.e. 
-               uid == 0).
-               </para>
-               
-               <para>
-               When executed, <command moreinfo="none">smbd</command> will automatically invoke the 
-               <parameter moreinfo="none">change share command</parameter> with four parameters.
-               </para>
-               
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">configFile</parameter> - the location 
-                       of the global <filename moreinfo="none">smb.conf</filename> file. 
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">shareName</parameter> - the name of the new 
-                       share.
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
-                       directory on disk.
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">comment</parameter> - comment string to associate 
-                       with the new share.
-                       </para></listitem>
-               </itemizedlist>
-               
-               <para>
-               This parameter is only used modify existing file shares definitions.  To modify 
-               printer shares, use the &quot;Printers...&quot; folder as seen when browsing the Samba host.
-               </para>
-               
-               <para>
-               See also <link linkend="ADDSHARECOMMAND"><parameter moreinfo="none">add share
-               command</parameter></link>, <link linkend="DELETESHARECOMMAND"><parameter moreinfo="none">delete 
-               share command</parameter></link>.
-               </para>
-               
-               <para>Default: <emphasis>none</emphasis></para>
-               <para>Example: <command moreinfo="none">change share command = /usr/local/bin/addshare</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/configfile.xml b/docs/docbook/smbdotconf/misc/configfile.xml
deleted file mode 100644 (file)
index 3edf611..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">smb.conf</filename>). 
-               There is a chicken and egg problem here as this option is set 
-               in the config file!</para>
-
-               <para>For this reason, if the name of the config file has changed 
-               when the parameters are loaded then it will reload them from 
-               the new config file.</para>
-
-               <para>This option takes the usual substitutions, which can 
-               be very useful.</para>
-
-               <para>If the config file doesn't exist then it won't be loaded 
-               (allowing you to special case the config files of just a few 
-               clients).</para>
-
-               <para>Example: <command moreinfo="none">config file = /usr/local/samba/lib/smb.conf.%m
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/copy.xml b/docs/docbook/smbdotconf/misc/copy.xml
deleted file mode 100644 (file)
index a7945af..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="COPY"/>copy (S)</term>
-               <listitem><para>This parameter allows you to &quot;clone&quot; service 
-               entries. The specified service is simply duplicated under the 
-               current service's name. Any parameters specified in the current 
-               section will override those in the section being copied.</para>
-
-               <para>This feature lets you set up a 'template' service and 
-               create similar services easily. Note that the service being 
-               copied must occur earlier in the configuration file than the 
-               service doing the copying.</para>
-
-               <para>Default: <emphasis>no value</emphasis></para>
-               <para>Example: <command moreinfo="none">copy = otherservice</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/default.xml b/docs/docbook/smbdotconf/misc/default.xml
deleted file mode 100644 (file)
index c396d19..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DEFAULT"/>default (G)</term>
-               <listitem><para>A synonym for <link linkend="DEFAULTSERVICE"><parameter moreinfo="none">
-               default service</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/defaultservice.xml b/docs/docbook/smbdotconf/misc/defaultservice.xml
deleted file mode 100644 (file)
index 7aeedb1..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               given in the parameter value (see example below).</para>
-
-               <para>There is no default value for this parameter. If this 
-               parameter is not given, attempting to connect to a nonexistent 
-               service results in an error.</para>
-
-               <para>Typically the default service would be a <link linkend="GUESTOK">
-               <parameter moreinfo="none">guest ok</parameter></link>, <link linkend="READONLY">
-               <parameter moreinfo="none">read-only</parameter></link> service.</para>
-
-               <para>Also note that the apparent service name will be changed 
-               to equal that of the requested service, this is very useful as it 
-               allows you to use macros like <parameter moreinfo="none">%S</parameter> to make 
-               a wildcard service.</para>
-
-               <para>Note also that any &quot;_&quot; characters in the name of the service 
-               used in the default service will get mapped to a &quot;/&quot;. This allows for
-               interesting things.</para>
-
-
-               <para>Example:</para>
-               
-<para><programlisting format="linespecific">
-[global]
-       default service = pub
-        
-[pub]
-       path = /%S
-</programlisting></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/deletereadonly.xml b/docs/docbook/smbdotconf/misc/deletereadonly.xml
deleted file mode 100644 (file)
index 8e86b5b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para>This option may be useful for running applications such 
-               as rcs, where UNIX file ownership prevents changing file 
-               permissions, and DOS semantics prevent deletion of a read only file.</para>
-
-               <para>Default: <command moreinfo="none">delete readonly = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/deletesharecommand.xml b/docs/docbook/smbdotconf/misc/deletesharecommand.xml
deleted file mode 100644 (file)
index c3481c8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">delete share command</parameter> is used to define an 
-               external program or script which will remove an existing service 
-               definition from <filename moreinfo="none">smb.conf</filename>.  In order to successfully 
-               execute the <parameter moreinfo="none">delete share command</parameter>, <command moreinfo="none">smbd</command>
-               requires that the administrator be connected using a root account (i.e. 
-               uid == 0).
-               </para>
-               
-               <para>
-               When executed, <command moreinfo="none">smbd</command> will automatically invoke the 
-               <parameter moreinfo="none">delete share command</parameter> with two parameters.
-               </para>
-               
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">configFile</parameter> - the location 
-                       of the global <filename moreinfo="none">smb.conf</filename> file. 
-                       </para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">shareName</parameter> - the name of 
-                       the existing service.
-                       </para></listitem>
-               </itemizedlist>
-               
-               <para>
-               This parameter is only used to remove file shares.  To delete printer shares, 
-               see the <link linkend="DELETEPRINTERCOMMAND"><parameter moreinfo="none">deleteprinter 
-               command</parameter></link>.
-               </para>
-               
-               <para>
-               See also <link linkend="ADDSHARECOMMAND"><parameter moreinfo="none">add share
-               command</parameter></link>, <link linkend="CHANGESHARECOMMAND"><parameter moreinfo="none">change 
-               share command</parameter></link>.
-               </para>
-               
-               <para>Default: <emphasis>none</emphasis></para>
-               <para>Example: <command moreinfo="none">delete share command = /usr/local/bin/delshare</command></para>
-               
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/dfreecommand.xml b/docs/docbook/smbdotconf/misc/dfreecommand.xml
deleted file mode 100644 (file)
index c71ec8e..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DFREECOMMAND"/>dfree command (G)</term>
-               <listitem><para>The <parameter moreinfo="none">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, 
-               but may occur with other operating systems. The symptom that was 
-               seen was an error of &quot;Abort Retry Ignore&quot; at the end of each 
-               directory listing.</para>
-               
-               <para>This setting allows the replacement of the internal routines to
-               calculate the total disk space and amount available with an external
-               routine. The example below gives a possible script that might fulfill
-               this function.</para>
-
-               <para>The external program will be passed a single parameter indicating 
-               a directory in the filesystem being queried. This will typically consist
-               of the string <filename moreinfo="none">./</filename>. The script should return two 
-               integers in ASCII. The first should be the total disk space in blocks, 
-               and the second should be the number of available blocks. An optional 
-               third return value can give the block size in bytes. The default 
-               blocksize is 1024 bytes.</para>
-
-               <para>Note: Your script should <emphasis>NOT</emphasis> be setuid or 
-               setgid and should be owned by (and writeable only by) root!</para>
-
-               <para>Default: <emphasis>By default internal routines for 
-               determining the disk capacity and remaining space will be used.
-               </emphasis></para>
-
-               <para>Example: <command moreinfo="none">dfree command = /usr/local/samba/bin/dfree
-               </command></para>
-
-               <para>Where the script dfree (which must be made executable) could be:</para>
-
-<para><programlisting format="linespecific"> 
-#!/bin/sh
-df $1 | tail -1 | awk '{print $2&quot; &quot;$4}'
-</programlisting></para>
-
-               <para>or perhaps (on Sys V based systems):</para>
-
-<para><programlisting format="linespecific"> 
-#!/bin/sh
-/usr/bin/df -k $1 | tail -1 | awk '{print $3&quot; &quot;$5}'
-</programlisting></para>
-               
-               <para>Note that you may have to replace the command names 
-               with full path names on some systems.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/dontdescend.xml b/docs/docbook/smbdotconf/misc/dontdescend.xml
deleted file mode 100644 (file)
index 8136f29..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DONTDESCEND"/>dont descend (S)</term>
-               <listitem><para>There are certain directories on some systems 
-               (e.g., the <filename moreinfo="none">/proc</filename> tree under Linux) that are either not 
-               of interest to clients or are infinitely deep (recursive). This 
-               parameter allows you to specify a comma-delimited list of directories 
-               that the server should always show as empty.</para>
-
-               <para>Note that Samba can be very fussy about the exact format 
-               of the &quot;dont descend&quot; entries. For example you may need <filename moreinfo="none">
-               ./proc</filename> instead of just <filename moreinfo="none">/proc</filename>. 
-               Experimentation is the best policy :-)  </para>
-               
-               <para>Default: <emphasis>none (i.e., all directories are OK 
-               to descend)</emphasis></para>
-               <para>Example: <command moreinfo="none">dont descend = /proc,/dev</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/dosfilemode.xml b/docs/docbook/smbdotconf/misc/dosfilemode.xml
deleted file mode 100644 (file)
index e8aec3b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               is often confusing to  DOS/Windows users.  Enabling this parameter 
-               allows a user who has write access to the file (by whatever 
-               means) to modify the permissions on it.  Note that a user
-               belonging to the group owning the file will not be allowed to
-               change permissions if the group is only granted read access.
-               Ownership of the file/directory is not changed, only the permissions 
-               are modified.</para>
-               
-               <para>Default: <command moreinfo="none">dos filemode = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/dosfiletimeresolution.xml b/docs/docbook/smbdotconf/misc/dosfiletimeresolution.xml
deleted file mode 100644 (file)
index bc82582..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This option is mainly used as a compatibility option for Visual 
-               C++ when used against Samba shares. If oplocks are enabled on a 
-               share, Visual C++ uses two different time reading calls to check if a 
-               file has changed since it was last read. One of these calls uses a
-               one-second granularity, the other uses a two second granularity. As
-               the two second call rounds any odd second down, then if the file has a
-               timestamp of an odd number of seconds then the two timestamps will not
-               match and Visual C++ will keep reporting the file has changed. Setting
-               this option causes the two timestamps to match, and Visual C++ is
-               happy.</para>
-
-               <para>Default: <command moreinfo="none">dos filetime resolution = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/dosfiletimes.xml b/docs/docbook/smbdotconf/misc/dosfiletimes.xml
deleted file mode 100644 (file)
index d9b9f3b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">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 
-               timestamp as DOS requires.</para>
-
-               <para>Default: <command moreinfo="none">dos filetimes = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/exec.xml b/docs/docbook/smbdotconf/misc/exec.xml
deleted file mode 100644 (file)
index 34963c9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="EXEC"/>exec (S)</term>
-               <listitem><para>This is a synonym for <link linkend="PREEXEC">
-               <parameter moreinfo="none">preexec</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/fakedirectorycreatetimes.xml b/docs/docbook/smbdotconf/misc/fakedirectorycreatetimes.xml
deleted file mode 100644 (file)
index 8177360..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               reports the earliest of the various times Unix does keep. Setting 
-               this parameter for a share causes Samba to always report midnight 
-               1-1-1980 as the create time for directories.</para>
-
-               <para>This option is mainly used as a compatibility option for 
-               Visual C++ when used against Samba shares. Visual C++ generated 
-               makefiles have the object directory as a dependency for each object 
-               file, and a make rule to create the directory. Also, when NMAKE 
-               compares timestamps it uses the creation time when examining a 
-               directory. Thus the object directory will be created if it does not 
-               exist, but once it does exist it will always have an earlier 
-               timestamp than the object files it contains.</para>
-
-               <para>However, Unix time semantics mean that the create time 
-               reported by Samba will be updated whenever a file is created or 
-               or deleted in the directory.  NMAKE finds all object files in 
-               the object directory.  The timestamp of the last one built is then 
-               compared to the timestamp of the object directory.  If the 
-               directory's timestamp if newer, then all object files
-               will be rebuilt.  Enabling this option 
-               ensures directories always predate their contents and an NMAKE build 
-               will proceed as expected.</para>
-
-               <para>Default: <command moreinfo="none">fake directory create times = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/followsymlinks.xml b/docs/docbook/smbdotconf/misc/followsymlinks.xml
deleted file mode 100644 (file)
index 88526da..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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 
-               symbolic link to <filename moreinfo="none">/etc/passwd</filename> in their home 
-               directory for instance.  However it will slow filename lookups 
-               down slightly.</para>
-
-               <para>This option is enabled (i.e. <command moreinfo="none">smbd</command> will 
-               follow symbolic links) by default.</para>
-               
-               <para>Default: <command moreinfo="none">follow symlinks = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/fstype.xml b/docs/docbook/smbdotconf/misc/fstype.xml
deleted file mode 100644 (file)
index 566bccb..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               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
-               </constant> if required.</para>
-               
-               <para>Default: <command moreinfo="none">fstype = NTFS</command></para>
-               <para>Example: <command moreinfo="none">fstype = Samba</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/hidelocalusers.xml b/docs/docbook/smbdotconf/misc/hidelocalusers.xml
deleted file mode 100644 (file)
index d0468ea..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">hide local users = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/homedirmap.xml b/docs/docbook/smbdotconf/misc/homedirmap.xml
deleted file mode 100644 (file)
index 41e6ca5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="HOMEDIRMAP"/>homedir map (G)</term>
-               <listitem><para>If<link linkend="NISHOMEDIR"><parameter moreinfo="none">nis homedir
-               </parameter></link> is <constant>yes</constant>, and <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> is also acting 
-               as a Win95/98 <parameter moreinfo="none">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 
-               auto.home map format is understood. The form of the map is:</para>
-
-               <para><command moreinfo="none">username server:/some/file/system</command></para>
-
-               <para>and the program will extract the servername from before 
-               the first ':'.  There should probably be a better parsing system 
-               that copes with different map formats and also Amd (another 
-               automounter) maps.</para>
-               
-               <note><para>A working NIS client is required on 
-                               the system for this option to work.</para></note>
-
-               <para>See also <link linkend="NISHOMEDIR"><parameter moreinfo="none">nis homedir</parameter>
-               </link>, <link linkend="DOMAINLOGONS"><parameter moreinfo="none">domain logons</parameter>
-               </link>.</para>
-
-               <para>Default: <command moreinfo="none">homedir map = &lt;empty string&gt;</command></para>
-               <para>Example: <command moreinfo="none">homedir map = amd.homedir</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/include.xml b/docs/docbook/smbdotconf/misc/include.xml
deleted file mode 100644 (file)
index 81230d4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>It takes the standard substitutions, except <parameter moreinfo="none">%u
-               </parameter>, <parameter moreinfo="none">%P</parameter> and <parameter moreinfo="none">%S</parameter>.
-               </para>
-               
-               <para>Default: <emphasis>no file included</emphasis></para>
-               <para>Example: <command moreinfo="none">include = /usr/local/samba/lib/admin_smb.conf
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/lockdir.xml b/docs/docbook/smbdotconf/misc/lockdir.xml
deleted file mode 100644 (file)
index 2c29b9b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="LOCKDIR"/>lock dir (G)</term>
-               <listitem><para>Synonym for <link linkend="LOCKDIRECTORY"><parameter moreinfo="none">
-               lock directory</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/lockdirectory.xml b/docs/docbook/smbdotconf/misc/lockdirectory.xml
deleted file mode 100644 (file)
index 7945f19..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">max connections</parameter>
-               </link> option.</para>
-
-               <para>Default: <command moreinfo="none">lock directory = ${prefix}/var/locks</command></para>
-               <para>Example: <command moreinfo="none">lock directory = /var/run/samba/locks</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/magicoutput.xml b/docs/docbook/smbdotconf/misc/magicoutput.xml
deleted file mode 100644 (file)
index 8208d5b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">magic script</parameter></link>
-               parameter below).</para>
-
-               <para>Warning: If two clients use the same <parameter moreinfo="none">magic script
-               </parameter> in the same directory the output file content
-               is undefined.</para>
-
-               <para>Default: <command moreinfo="none">magic output = &lt;magic script name&gt;.out
-               </command></para>
-
-               <para>Example: <command moreinfo="none">magic output = myfile.txt</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/magicscript.xml b/docs/docbook/smbdotconf/misc/magicscript.xml
deleted file mode 100644 (file)
index 73abb50..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               executed on behalf of the connected user.</para>
-
-               <para>Scripts executed in this way will be deleted upon 
-               completion assuming that the user has the appropriate level 
-               of privilege and the file permissions allow the deletion.</para>
-
-               <para>If the script generates output, output will be sent to 
-               the file specified by the <link linkend="MAGICOUTPUT"><parameter moreinfo="none">
-               magic output</parameter></link> parameter (see above).</para>
-
-               <para>Note that some shells are unable to interpret scripts 
-               containing CR/LF instead of CR as 
-               the end-of-line marker. Magic scripts must be executable 
-               <emphasis>as is</emphasis> on the host, which for some hosts and 
-               some shells will require filtering at the DOS end.</para>
-
-               <para>Magic scripts are <emphasis>EXPERIMENTAL</emphasis> and 
-               should <emphasis>NOT</emphasis> be relied upon.</para>
-
-               <para>Default: <emphasis>None. Magic scripts disabled.</emphasis></para>
-               <para>Example: <command moreinfo="none">magic script = user.csh</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/messagecommand.xml b/docs/docbook/smbdotconf/misc/messagecommand.xml
deleted file mode 100644 (file)
index 199fab5..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This would normally be a command that would 
-               deliver the message somehow. How this is to be done is 
-               up to your imagination.</para>
-
-               <para>An example is:</para>
-
-               <para><command moreinfo="none">message command = csh -c 'xedit %s;rm %s' &amp;</command>
-               </para>
-
-               <para>This delivers the message using <command moreinfo="none">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 
-               your PCs may freeze when sending messages (they should recover 
-               after 30 seconds, hopefully).</para>
-
-               <para>All messages are delivered as the global guest user. 
-               The command takes the standard substitutions, although <parameter moreinfo="none">
-               %u</parameter> won't work (<parameter moreinfo="none">%U</parameter> may be better 
-               in this case).</para>
-
-               <para>Apart from the standard substitutions, some additional 
-               ones apply. In particular:</para>
-
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">%s</parameter> = the filename containing 
-                       the message.</para></listitem>
-                       
-                       <listitem><para><parameter moreinfo="none">%t</parameter> = the destination that 
-                       the message was sent to (probably the server name).</para></listitem>
-
-                       <listitem><para><parameter moreinfo="none">%f</parameter> = who the message 
-                       is from.</para></listitem>
-               </itemizedlist>
-
-               <para>You could make this command send mail, or whatever else 
-               takes your fancy. Please let us know of any really interesting 
-               ideas you have.</para>
-
-
-               <para>Here's a way of sending the messages as mail to root:</para>
-
-               <para><command moreinfo="none">message command = /bin/mail -s 'message from %f on 
-               %m' root &lt; %s; rm %s</command></para>
-
-               <para>If you don't have a message command then the message 
-               won't be delivered and Samba will tell the sender there was 
-               an error. Unfortunately WfWg totally ignores the error code 
-               and carries on regardless, saying that the message was delivered.
-               </para>
-
-               <para>If you want to silently delete it then try:</para>
-
-               <para><command moreinfo="none">message command = rm %s</command></para>
-
-               <para>Default: <emphasis>no message command</emphasis></para>
-               <para>Example: <command moreinfo="none">message command = csh -c 'xedit %s;
-               rm %s' &amp;</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/nishomedir.xml b/docs/docbook/smbdotconf/misc/nishomedir.xml
deleted file mode 100644 (file)
index 5a2980d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               server. </para>
-
-               <para>When the Samba logon server is not the actual home directory 
-               server, but is mounting the home directories via NFS then two 
-               network hops would be required to access the users home directory 
-               if the logon server told the client to use itself as the SMB server 
-               for home directories (one over SMB and one over NFS). This can 
-               be very slow.</para>
-
-               <para>This option allows Samba to return the home share as 
-               being on a different server to the logon server and as 
-               long as a Samba daemon is running on the home directory server, 
-               it will be mounted on the Samba client directly from the directory 
-               server. When Samba is returning the home share to the client, it 
-               will consult the NIS map specified in <link linkend="HOMEDIRMAP">
-               <parameter moreinfo="none">homedir map</parameter></link> and return the server 
-               listed there.</para>
-
-               <para>Note that for this option to work there must be a working 
-               NIS system and the Samba server with this option must also 
-               be a logon server.</para>
-
-               <para>Default: <command moreinfo="none">nis homedir = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/panicaction.xml b/docs/docbook/smbdotconf/misc/panicaction.xml
deleted file mode 100644 (file)
index 6de37c2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">panic action = &lt;empty string&gt;</command></para>
-               <para>Example: <command moreinfo="none">panic action = &quot;/bin/sleep 90000&quot;</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/piddirectory.xml b/docs/docbook/smbdotconf/misc/piddirectory.xml
deleted file mode 100644 (file)
index 81c1b13..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PIDDIRECTORY"/>pid directory (G)</term>
-               <listitem><para>This option specifies the directory where pid 
-               files will be placed.  </para>
-
-               <para>Default: <command moreinfo="none">pid directory = ${prefix}/var/locks</command></para>
-               <para>Example: <command moreinfo="none">pid directory = /var/run/</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/postexec.xml b/docs/docbook/smbdotconf/misc/postexec.xml
deleted file mode 100644 (file)
index 017177b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               systems.</para>
-
-               <para>An interesting example may be to unmount server 
-               resources:</para>
-
-               <para><command moreinfo="none">postexec = /etc/umount /cdrom</command></para>
-
-               <para>See also <link linkend="PREEXEC"><parameter moreinfo="none">preexec</parameter>
-               </link>.</para>
-
-               <para>Default: <emphasis>none (no command executed)</emphasis>
-               </para>
-
-               <para>Example: <command moreinfo="none">postexec = echo \&quot;%u disconnected from %S 
-               from %m (%I)\&quot; &gt;&gt; /tmp/log</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/preexec.xml b/docs/docbook/smbdotconf/misc/preexec.xml
deleted file mode 100644 (file)
index fc047e0..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>An interesting example is to send the users a welcome 
-               message every time they log in. Maybe a message of the day? Here 
-               is an example:</para>
-
-               <para><command moreinfo="none">preexec = csh -c 'echo \&quot;Welcome to %S!\&quot; |
-                /usr/local/samba/bin/smbclient -M %m -I %I' &amp; </command></para>
-
-               <para>Of course, this could get annoying after a while :-)</para>
-
-               <para>See also <link linkend="PREEXECCLOSE"><parameter moreinfo="none">preexec close
-               </parameter></link> and <link linkend="POSTEXEC"><parameter moreinfo="none">postexec
-               </parameter></link>.</para>
-
-               <para>Default: <emphasis>none (no command executed)</emphasis></para>
-               <para>Example: <command moreinfo="none">preexec = echo \&quot;%u connected to %S from %m
-               (%I)\&quot; &gt;&gt; /tmp/log</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/preexecclose.xml b/docs/docbook/smbdotconf/misc/preexecclose.xml
deleted file mode 100644 (file)
index c617a7f..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">preexec
-               </parameter></link> should close the service being connected to.</para>
-
-               <para>Default: <command moreinfo="none">preexec close = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/preload.xml b/docs/docbook/smbdotconf/misc/preload.xml
deleted file mode 100644 (file)
index 574ed1a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               visible.</para>
-
-               <para>Note that if you just want all printers in your 
-               printcap file loaded then the <link linkend="LOADPRINTERS">
-               <parameter moreinfo="none">load printers</parameter></link> option is easier.</para>
-
-               <para>Default: <emphasis>no preloaded services</emphasis></para>
-               
-               <para>Example: <command moreinfo="none">preload = fred lp colorlp</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/preloadmodules.xml b/docs/docbook/smbdotconf/misc/preloadmodules.xml
deleted file mode 100644 (file)
index 52b8c41..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-       <term><anchor id="PRELOADMODULES"/>preload modules (S)</term>
-       <listitem><para>This is a list of paths to modules that should
-       be loaded into smbd before a client connects. This improves
-       the speed of smbd when reacting to new connections somewhat. </para>
-
-       <para>It is recommended to only use this option on heavy-performance
-       servers.</para> 
-
-       <para>Default: <command>preload modules = </command></para>
-
-       <para>Example: <command>preload modules = /usr/lib/samba/passdb/mysql.so+++ </command></para>
-
-       </listitem>
-</samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/remoteannounce.xml b/docs/docbook/smbdotconf/misc/remoteannounce.xml
deleted file mode 100644 (file)
index e6de4bd..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This is useful if you want your Samba server to appear 
-               in a remote workgroup for which the normal browse propagation 
-               rules don't work. The remote workgroup can be anywhere that you 
-               can send IP packets to.</para>
-
-               <para>For example:</para>
-
-               <para><command moreinfo="none">remote announce = 192.168.2.255/SERVERS 
-               192.168.4.255/STAFF</command></para>
-
-               <para>the above line would cause <command moreinfo="none">nmbd</command> to announce itself 
-               to the two given IP addresses using the given workgroup names. 
-               If you leave out the workgroup name then the one given in 
-               the <link linkend="WORKGROUP"><parameter moreinfo="none">workgroup</parameter></link> 
-               parameter is used instead.</para>
-
-               <para>The IP addresses you choose would normally be the broadcast 
-               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> 
-               in the <filename moreinfo="none">docs/</filename> directory.</para>
-               
-               <para>Default: <command moreinfo="none">remote announce = &lt;empty string&gt;
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/remotebrowsesync.xml b/docs/docbook/smbdotconf/misc/remotebrowsesync.xml
deleted file mode 100644 (file)
index 8b0d863..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               server that is on a remote segment. This option will allow you to 
-               gain browse lists for multiple workgroups across routed networks. This 
-               is done in a manner that does not work with any non-Samba servers.</para>
-
-               <para>This is useful if you want your Samba server and all local 
-               clients to appear in a remote workgroup for which the normal browse 
-               propagation rules don't work. The remote workgroup can be anywhere 
-               that you can send IP packets to.</para>
-
-               <para>For example:</para>
-               
-               <para><command moreinfo="none">remote browse sync = 192.168.2.255 192.168.4.255
-               </command></para>
-
-               <para>the above line would cause <command moreinfo="none">nmbd</command> to request 
-               the master browser on the specified subnets or addresses to 
-               synchronize their browse lists with the local server.</para>
-
-               <para>The IP addresses you choose would normally be the broadcast 
-               addresses of the remote networks, but can also be the IP addresses 
-               of known browse masters if your network config is that stable. If 
-               a machine IP address is given Samba makes NO attempt to validate 
-               that the remote machine is available, is listening, nor that it 
-               is in fact the browse master on its segment.</para>
-
-               <para>Default: <command moreinfo="none">remote browse sync = &lt;empty string&gt;
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/rootpostexec.xml b/docs/docbook/smbdotconf/misc/rootpostexec.xml
deleted file mode 100644 (file)
index ed60646..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOTPOSTEXEC"/>root postexec (S)</term>
-               <listitem><para>This is the same as the <parameter moreinfo="none">postexec</parameter>
-               parameter except that the command is run as root. This 
-               is useful for unmounting filesystems 
-               (such as CDROMs) after a connection is closed.</para>
-
-               <para>See also <link linkend="POSTEXEC"><parameter moreinfo="none">
-               postexec</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">root postexec = &lt;empty string&gt;
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/rootpreexec.xml b/docs/docbook/smbdotconf/misc/rootpreexec.xml
deleted file mode 100644 (file)
index 29802b6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOTPREEXEC"/>root preexec (S)</term>
-               <listitem><para>This is the same as the <parameter moreinfo="none">preexec</parameter>
-               parameter except that the command is run as root. This 
-               is useful for mounting filesystems (such as CDROMs) when a 
-               connection is opened.</para>
-
-               <para>See also <link linkend="PREEXEC"><parameter moreinfo="none">
-               preexec</parameter></link> and <link linkend="PREEXECCLOSE">
-               <parameter moreinfo="none">preexec close</parameter></link>.</para>
-               
-               <para>Default: <command moreinfo="none">root preexec = &lt;empty string&gt;
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/rootpreexecclose.xml b/docs/docbook/smbdotconf/misc/rootpreexecclose.xml
deleted file mode 100644 (file)
index d21b0dd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOTPREEXECCLOSE"/>root preexec close (S)</term>
-               <listitem><para>This is the same as the <parameter moreinfo="none">preexec close
-               </parameter> parameter except that the command is run as root.</para>
-
-               <para>See also <link linkend="PREEXEC"><parameter moreinfo="none">
-               preexec</parameter></link> and <link linkend="PREEXECCLOSE">
-               <parameter moreinfo="none">preexec close</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">root preexec close = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/setdirectory.xml b/docs/docbook/smbdotconf/misc/setdirectory.xml
deleted file mode 100644 (file)
index 860632c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="SETDIRECTORY"/>set directory (S)</term>
-               <listitem><para>If <command moreinfo="none">set directory = no</command>, then 
-               users of the service may not use the setdir command to change 
-               directory.</para>
-
-               <para>The <command moreinfo="none">setdir</command> command is only implemented 
-               in the Digital Pathworks client. See the Pathworks documentation 
-               for details.</para>
-
-               <para>Default: <command moreinfo="none">set directory = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/socketaddress.xml b/docs/docbook/smbdotconf/misc/socketaddress.xml
deleted file mode 100644 (file)
index e77737f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               with a different configuration.</para>
-               
-               <para>By default Samba will accept connections on any 
-               address.</para>
-
-               <para>Example: <command moreinfo="none">socket address = 192.168.2.20</command>
-               </para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/sourceenvironment.xml b/docs/docbook/smbdotconf/misc/sourceenvironment.xml
deleted file mode 100644 (file)
index 07a8abc..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>If the value of this parameter starts with a &quot;|&quot; character 
-               then Samba will treat that value as a pipe command to open and 
-               will set the environment variables from the output of the pipe.</para>
-
-               <para>The contents of the file or the output of the pipe should 
-               be formatted as the output of the standard Unix <command moreinfo="none">env(1)
-               </command> command. This is of the form :</para>
-               <para>Example environment entry:</para>
-               <para><command moreinfo="none">SAMBA_NETBIOS_NAME = myhostname</command></para>
-
-               <para>Default: <emphasis>No default value</emphasis></para>
-               <para>Examples: <command moreinfo="none">source environment = |/etc/smb.conf.sh
-               </command></para>
-
-               <para>Example: <command moreinfo="none">source environment = 
-               /usr/local/smb_env_vars</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/timeoffset.xml b/docs/docbook/smbdotconf/misc/timeoffset.xml
deleted file mode 100644 (file)
index 0c97323..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               saving time handling.</para>
-               
-               <para>Default: <command moreinfo="none">time offset = 0</command></para>
-               <para>Example: <command moreinfo="none">time offset = 60</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/utmp.xml b/docs/docbook/smbdotconf/misc/utmp.xml
deleted file mode 100644 (file)
index 014b85d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               --with-utmp</command>. If set to <constant>yes</constant> then Samba will attempt
-               to add utmp or utmpx records (depending on the UNIX system) whenever a
-               connection is made to a Samba server. Sites may use this to record the
-               user connecting to a Samba share.</para>
-
-               <para>Due to the requirements of the utmp record, we
-               are required to create a unique identifier for the
-               incoming user.  Enabling this option creates an n^2
-               algorithm to find this number.  This may impede
-               performance on large installations. </para>
-
-               <para>See also the <link linkend="UTMPDIRECTORY"><parameter moreinfo="none">
-               utmp directory</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">utmp = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/utmpdirectory.xml b/docs/docbook/smbdotconf/misc/utmpdirectory.xml
deleted file mode 100644 (file)
index 9e5574f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               --with-utmp</command>. It specifies a directory pathname that is
-               used to store the utmp or utmpx files (depending on the UNIX system) that
-               record user connections to a Samba server. See also the <link linkend="UTMP">
-               <parameter moreinfo="none">utmp</parameter></link> parameter. By default this is 
-               not set, meaning the system will use whatever utmp file the 
-               native system is set to use (usually 
-               <filename moreinfo="none">/var/run/utmp</filename> on Linux).</para>
-
-               <para>Default: <emphasis>no utmp directory</emphasis></para>
-               <para>Example: <command moreinfo="none">utmp directory = /var/run/utmp</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/volume.xml b/docs/docbook/smbdotconf/misc/volume.xml
deleted file mode 100644 (file)
index f0a82c6..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <emphasis>the name of the share</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/widelinks.xml b/docs/docbook/smbdotconf/misc/widelinks.xml
deleted file mode 100644 (file)
index b3474ce..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               server are always allowed; this parameter controls access only 
-               to areas that are outside the directory tree being exported.</para>
-
-               <para>Note that setting this parameter can have a negative 
-               effect on your server performance due to the extra system calls 
-               that Samba has to  do in order to perform the link checks.</para>
-
-               <para>Default: <command moreinfo="none">wide links = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/misc/wtmpdirectory.xml b/docs/docbook/smbdotconf/misc/wtmpdirectory.xml
deleted file mode 100644 (file)
index bb14447..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               --with-utmp</command>. It specifies a directory pathname that is
-               used to store the wtmp or wtmpx files (depending on the UNIX system) that
-               record user connections to a Samba server. The difference with
-               the utmp directory is the fact that user info is kept after a user 
-               has logged out.
-               
-               See also the <link linkend="UTMP">
-               <parameter moreinfo="none">utmp</parameter></link> parameter. By default this is 
-               not set, meaning the system will use whatever utmp file the 
-               native system is set to use (usually 
-               <filename moreinfo="none">/var/run/wtmp</filename> on Linux).</para>
-
-               <para>Default: <emphasis>no wtmp directory</emphasis></para>
-               <para>Example: <command moreinfo="none">wtmp directory = /var/log/wtmp</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/addprintercommand.xml b/docs/docbook/smbdotconf/printing/addprintercommand.xml
deleted file mode 100644 (file)
index abff09c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               &quot;Printers...&quot; folder displayed a share listing.  The APW
-               allows for printers to be add remotely to a Samba or Windows 
-               NT/2000 print server.</para>
-               
-               <para>For a Samba host this means that the printer must be 
-               physically added to the underlying printing system.  The <parameter moreinfo="none">add 
-               printer command</parameter> defines a script to be run which 
-               will perform the necessary operations for adding the printer
-               to the print system and to add the appropriate service definition 
-               to the  <filename moreinfo="none">smb.conf</filename> file in order that it can be 
-               shared by <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>.</para>
-               
-               <para>The <parameter moreinfo="none">addprinter command</parameter> is
-               automatically invoked with the following parameter (in 
-               order):</para>
-               
-               <itemizedlist>
-                       <listitem><para><parameter moreinfo="none">printer name</parameter></para></listitem>
-                       <listitem><para><parameter moreinfo="none">share name</parameter></para></listitem>
-                       <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
-                       <listitem><para><parameter moreinfo="none">driver name</parameter></para></listitem>
-                       <listitem><para><parameter moreinfo="none">location</parameter></para></listitem>
-                       <listitem><para><parameter moreinfo="none">Windows 9x driver location</parameter>
-                       </para></listitem>
-               </itemizedlist>
-               
-               <para>All parameters are filled in from the PRINTER_INFO_2 structure sent 
-               by the Windows NT/2000 client with one exception.  The &quot;Windows 9x
-               driver location&quot; parameter is included for backwards compatibility
-               only.  The remaining fields in the structure are generated from answers
-               to the APW questions.</para>
-
-               <para>Once the <parameter moreinfo="none">addprinter command</parameter> has 
-               been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
-               smb.conf</filename> to determine if the share defined by the APW
-               exists.  If the sharename is still invalid, then <command moreinfo="none">smbd
-               </command> will return an ACCESS_DENIED error to the client.</para>
-
-               <para>
-               The &quot;add printer command&quot; program can output a single line of text,
-               which Samba will set as the port the new printer is connected to. 
-               If this line isn't output, Samba won't reload its printer shares.
-               </para>
-               
-               <para>See also <link linkend="DELETEPRINTERCOMMAND"><parameter moreinfo="none">
-               deleteprinter command</parameter></link>, <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link>,
-               <link linkend="SHOWADDPRINTERWIZARD"><parameter moreinfo="none">show add
-               printer wizard</parameter></link></para>
-               
-               <para>Default: <emphasis>none</emphasis></para>
-               <para>Example: <command moreinfo="none">addprinter command = /usr/bin/addprinter
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/defaultdevmode.xml b/docs/docbook/smbdotconf/printing/defaultdevmode.xml
deleted file mode 100644 (file)
index 9609038..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               server has a Device Mode which defines things such as paper size and
-               orientation and duplex settings.  The device mode can only correctly be
-               generated by the printer driver itself (which can only be executed on a
-               Win32 platform).  Because smbd is unable to execute the driver code
-               to generate the device mode, the default behavior is to set this field
-               to NULL.
-               </para>
-
-               <para>Most problems with serving printer drivers to Windows NT/2k/XP clients
-               can be traced to a problem with the generated device mode.  Certain drivers
-               will do things such as crashing the client's Explorer.exe with a NULL devmode.
-               However, other printer drivers can cause the client's spooler service
-               (spoolsv.exe) to die if the devmode was not created by the driver itself
-               (i.e. smbd generates a default devmode).
-               </para>
-
-               <para>This parameter should be used with care and tested with the printer
-               driver in question.  It is better to leave the device mode to NULL
-               and let the Windows client set the correct values.  Because drivers do not
-               do this all the time, setting <command moreinfo="none">default devmode = yes</command>
-               will instruct smbd to generate a default one.
-               </para>
-
-               <para>For more information on Windows NT/2k printing and Device Modes,
-               see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>.
-               </para>
-
-               <para>Default: <command moreinfo="none">default devmode = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/deleteprintercommand.xml b/docs/docbook/smbdotconf/printing/deleteprintercommand.xml
deleted file mode 100644 (file)
index 23f2ff7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               DeletePrinter() RPC call.</para>
-               
-               <para>For a Samba host this means that the printer must be 
-               physically deleted from underlying printing system.  The <parameter moreinfo="none">
-               deleteprinter command</parameter> defines a script to be run which 
-               will perform the necessary operations for removing the printer
-               from the print system and from <filename moreinfo="none">smb.conf</filename>.
-               </para>
-               
-               <para>The <parameter moreinfo="none">deleteprinter command</parameter> is 
-               automatically called with only one parameter: <parameter moreinfo="none">
-               &quot;printer name&quot;</parameter>.</para>
-               
-                               
-               <para>Once the <parameter moreinfo="none">deleteprinter command</parameter> has 
-               been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
-               smb.conf</filename> to associated printer no longer exists.  
-               If the sharename is still valid, then <command moreinfo="none">smbd
-               </command> will return an ACCESS_DENIED error to the client.</para>
-               
-               <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter moreinfo="none">
-               addprinter command</parameter></link>, <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link>,
-               <link linkend="SHOWADDPRINTERWIZARD"><parameter moreinfo="none">show add
-               printer wizard</parameter></link></para>
-               
-               <para>Default: <emphasis>none</emphasis></para>
-               <para>Example: <command moreinfo="none">deleteprinter command = /usr/bin/removeprinter
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/disablespoolss.xml b/docs/docbook/smbdotconf/printing/disablespoolss.xml
deleted file mode 100644 (file)
index dff1e63..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               Lanman style printing commands. Windows 9x/ME will be uneffected by
-               the parameter. However, this will also disable the ability to upload
-               printer drivers to a Samba server via the Windows NT Add Printer
-               Wizard or by using the NT printer properties dialog window.  It will
-               also disable the capability of Windows NT/2000 clients to download
-               print drivers from the Samba host upon demand.
-               <emphasis>Be very careful about enabling this parameter.</emphasis>
-               </para>
-
-               <para>See also <link linkend="USECLIENTDRIVER">use client driver</link>
-               </para>
-               <para>Default : <command moreinfo="none">disable spoolss = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/enumportscommand.xml b/docs/docbook/smbdotconf/printing/enumportscommand.xml
deleted file mode 100644 (file)
index b1111a5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ENUMPORTSCOMMAND"/>enumports command (G)</term>
-               <listitem><para>The concept of a &quot;port&quot; 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
-               a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
-               (i.e. LPD Port Monitor, etc...).  By default, Samba has only one
-               port defined--<constant>&quot;Samba Printer Port&quot;</constant>.  Under 
-               Windows NT/2000, all printers must have a valid port name.  
-               If you wish to have a list of ports displayed (<command moreinfo="none">smbd
-               </command> does not use a port name for anything) other than 
-               the default <constant>&quot;Samba Printer Port&quot;</constant>, you 
-               can define <parameter moreinfo="none">enumports command</parameter> to point to
-               a program which should generate a list of ports, one per line,
-               to standard output.  This listing will then be used in response
-               to the level 1 and 2 EnumPorts() RPC.</para>
-               
-               <para>Default: <emphasis>no enumports command</emphasis></para>
-               <para>Example: <command moreinfo="none">enumports command = /usr/bin/listports
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/loadprinters.xml b/docs/docbook/smbdotconf/printing/loadprinters.xml
deleted file mode 100644 (file)
index adaa8af..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               more details.</para>
-
-               <para>Default: <command moreinfo="none">load printers = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/lppausecommand.xml b/docs/docbook/smbdotconf/printing/lppausecommand.xml
deleted file mode 100644 (file)
index 34d7c7f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This command should be a program or script which takes 
-               a printer name and job number to pause the print job. One way 
-               of implementing this is by using job priorities, where jobs 
-               having a too low priority won't be sent to the printer.</para>
-
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with 
-               the job number (an integer).  On HPUX (see <parameter moreinfo="none">printing=hpux
-               </parameter>), if the <parameter moreinfo="none">-p%p</parameter> option is added 
-               to the lpq command, the job will show up with the correct status, i.e. 
-               if the job priority is lower than the set fence priority it will 
-               have the PAUSED status, whereas if  the priority is equal or higher it 
-               will have the SPOOLED or PRINTING status.</para>
-
-               <para>Note that it is good practice to include the absolute path 
-               in the lppause command as the PATH may not be available to the server.</para>
-
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: Currently no default value is given to 
-               this string, unless the value of the <parameter moreinfo="none">printing</parameter> 
-               parameter is <constant>SYSV</constant>, in which case the default is :</para>
-
-               <para><command moreinfo="none">lp -i %p-%j -H hold</command></para>
-
-               <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter 
-               is <constant>SOFTQ</constant>, then the default is:</para>
-
-               <para><command moreinfo="none">qstat -s -j%j -h</command></para>
-               <para>Example for HPUX: <command moreinfo="none">lppause command = /usr/bin/lpalt       
-               %p-%j -p0</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/lpqcachetime.xml b/docs/docbook/smbdotconf/printing/lpqcachetime.xml
deleted file mode 100644 (file)
index 6f351fd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">lpq</command> command being called too 
-               often. A separate cache is kept for each variation of the <command moreinfo="none">
-               lpq</command> command used by the system, so if you use different 
-               <command moreinfo="none">lpq</command> commands for different users then they won't
-               share cache information.</para>
-
-               <para>The cache files are stored in <filename moreinfo="none">/tmp/lpq.xxxx</filename> 
-               where xxxx is a hash of the <command moreinfo="none">lpq</command> command in use.</para>
-
-               <para>The default is 10 seconds, meaning that the cached results 
-               of a previous identical <command moreinfo="none">lpq</command> command will be used 
-               if the cached data is less than 10 seconds old. A large value may 
-               be advisable if your <command moreinfo="none">lpq</command> command is very slow.</para>
-
-               <para>A value of 0 will disable caching completely.</para>
-
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">lpq cache time = 10</command></para>
-               <para>Example: <command moreinfo="none">lpq cache time = 30</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/lpqcommand.xml b/docs/docbook/smbdotconf/printing/lpqcommand.xml
deleted file mode 100644 (file)
index ddcdf1e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">lpq
-               </command>-style printer status information.</para>
-
-               <para>This command should be a program or script which 
-               takes a printer name as its only parameter and outputs printer 
-               status information.</para>
-
-               <para>Currently nine styles of printer status information 
-               are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ. 
-               This covers most UNIX systems. You control which type is expected 
-               using the <parameter moreinfo="none">printing =</parameter> option.</para>
-
-               <para>Some clients (notably Windows for Workgroups) may not 
-               correctly send the connection number for the printer they are 
-               requesting status information about. To get around this, the 
-               server reports on the first printer service connected to by the 
-               client. This only happens if the connection number sent is invalid.</para>
-
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. Otherwise it is placed at the end of the 
-               command.</para>
-
-               <para>Note that it is good practice to include the absolute path 
-               in the <parameter moreinfo="none">lpq command</parameter> as the <envar>$PATH
-               </envar> may not be available to the server.  When compiled with
-               the CUPS libraries, no <parameter moreinfo="none">lpq command</parameter> is
-               needed because smbd will make a library call to obtain the 
-               print queue listing.</para>
-
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none">
-               printing</parameter></emphasis></para>
-
-               <para>Example: <command moreinfo="none">lpq command = /usr/bin/lpq -P%p</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/lpresumecommand.xml b/docs/docbook/smbdotconf/printing/lpresumecommand.xml
deleted file mode 100644 (file)
index fbb1ac7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This command should be a program or script which takes 
-               a printer name and job number to resume the print job. See 
-               also the <link linkend="LPPAUSECOMMAND"><parameter moreinfo="none">lppause command
-               </parameter></link> parameter.</para>
-
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with 
-               the job number (an integer).</para>
-               
-               <para>Note that it is good practice to include the absolute path 
-               in the <parameter moreinfo="none">lpresume command</parameter> as the PATH may not 
-               be available to the server.</para>
-               
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: Currently no default value is given 
-               to this string, unless the value of the <parameter moreinfo="none">printing</parameter> 
-               parameter is <constant>SYSV</constant>, in which case the default is :</para>
-
-               <para><command moreinfo="none">lp -i %p-%j -H resume</command></para>
-
-               <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter 
-               is <constant>SOFTQ</constant>, then the default is:</para>
-
-               <para><command moreinfo="none">qstat -s -j%j -r</command></para>
-               <para>Example for HPUX: <command moreinfo="none">lpresume command = /usr/bin/lpalt 
-               %p-%j -p2</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/lprmcommand.xml b/docs/docbook/smbdotconf/printing/lprmcommand.xml
deleted file mode 100644 (file)
index 7f59d6c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This command should be a program or script which takes 
-               a printer name and job number, and deletes the print job.</para>
-
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with 
-               the job number (an integer).</para>
-
-               <para>Note that it is good practice to include the absolute 
-               path in the <parameter moreinfo="none">lprm command</parameter> as the PATH may not be 
-               available to the server.</para>
-
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none">printing
-               </parameter></emphasis></para>
-
-               <para>Example 1: <command moreinfo="none">lprm command = /usr/bin/lprm -P%p %j
-               </command></para>
-               <para>Example 2: <command moreinfo="none">lprm command = /usr/bin/cancel %p-%j
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/maxprintjobs.xml b/docs/docbook/smbdotconf/printing/maxprintjobs.xml
deleted file mode 100644 (file)
index f0c7d83..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 &quot;Out of Space&quot; to the client.
-               See all <link linkend="TOTALPRINTJOBS"><parameter moreinfo="none">total
-               print jobs</parameter></link>.
-               </para>
-
-               <para>Default: <command moreinfo="none">max print jobs = 1000</command></para>
-               <para>Example: <command moreinfo="none">max print jobs = 5000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/os2drivermap.xml b/docs/docbook/smbdotconf/printing/os2drivermap.xml
deleted file mode 100644 (file)
index fdfba35..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para>&lt;nt driver name&gt; = &lt;os2 driver 
-               name&gt;.&lt;device name&gt;</para>
-               
-               <para>For example, a valid entry using the HP LaserJet 5
-               printer driver would appear as <command moreinfo="none">HP LaserJet 5L = LASERJET.HP 
-               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 
-               Printing HOWTO</ulink>.  For more details on OS/2 clients, please 
-               refer to the OS2-Client-HOWTO containing in the Samba documentation.</para>
-
-               <para>Default: <command moreinfo="none">os2 driver map = &lt;empty string&gt;
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printable.xml b/docs/docbook/smbdotconf/printing/printable.xml
deleted file mode 100644 (file)
index 22d4d73..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para>Note that a printable service will ALWAYS allow writing 
-               to the service path (user privileges permitting) via the spooling 
-               of print data. The <link linkend="READONLY"><parameter moreinfo="none">read only
-               </parameter></link> parameter controls only non-printing access to 
-               the resource.</para>
-
-               <para>Default: <command moreinfo="none">printable = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printcap.xml b/docs/docbook/smbdotconf/printing/printcap.xml
deleted file mode 100644 (file)
index 2f5e4af..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PRINTCAP"/>printcap (G)</term>
-               <listitem><para>Synonym for     <link linkend="PRINTCAPNAME"><parameter moreinfo="none">
-               printcap name</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printcapname.xml b/docs/docbook/smbdotconf/printing/printcapname.xml
deleted file mode 100644 (file)
index 0025624..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               /etc/printcap</filename>). See the discussion of the <link linkend="PRINTERSSECT">[printers]</link> section above for reasons 
-               why you might want to do this.</para>
-
-               <para>To use the CUPS printing interface set <command moreinfo="none">printcap name = cups
-               </command>. This should be supplemented by an addtional setting 
-               <link linkend="PRINTING">printing = cups</link> in the [global] 
-               section.  <command moreinfo="none">printcap name = cups</command> will use the  
-               &quot;dummy&quot; printcap created by CUPS, as specified in your CUPS
-               configuration file.
-               </para>
-
-               <para>On System V systems that use <command moreinfo="none">lpstat</command> to 
-               list available printers you can use <command moreinfo="none">printcap name = lpstat
-               </command> to automatically obtain lists of available printers. This 
-               is the default for systems that define SYSV at configure time in 
-               Samba (this includes most System V based systems). If <parameter moreinfo="none">
-               printcap name</parameter> is set to <command moreinfo="none">lpstat</command> on 
-               these systems then Samba will launch <command moreinfo="none">lpstat -v</command> and 
-               attempt to parse the output to obtain a printer list.</para>
-
-               <para>A minimal printcap file would look something like this:</para>
-
-<para><programlisting format="linespecific">
-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 
-               that it's a comment.</para>
-
-               <note><para>Under AIX the default printcap 
-               name is <filename moreinfo="none">/etc/qconfig</filename>. Samba will assume the 
-               file is in AIX <filename moreinfo="none">qconfig</filename> format if the string
-               <filename moreinfo="none">qconfig</filename> appears in the printcap filename.</para></note>
-
-               <para>Default: <command moreinfo="none">printcap name = /etc/printcap</command></para>
-               <para>Example: <command moreinfo="none">printcap name = /etc/myprintcap</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printcommand.xml b/docs/docbook/smbdotconf/printing/printcommand.xml
deleted file mode 100644 (file)
index c996ed6..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">system()</command> 
-               call to process the spool file. Typically the command specified will 
-               submit the spool file to the host's printing subsystem, but there 
-               is no requirement that this be the case. The server will not remove 
-               the spool file, so whatever command you specify should remove the 
-               spool file when it has been processed, otherwise you will need to 
-               manually remove old spool files.</para>
-               
-               <para>The print command is simply a text string. It will be used 
-               verbatim after macro substitutions have been made:</para>
-
-               <para>s, %p - the path to the spool
-               file name</para>
-
-               <para>%p - the appropriate printer 
-               name</para>
-
-               <para>%J - the job 
-               name as transmitted by the client.</para>
-
-               <para>%c - The number of printed pages
-               of the spooled job (if known).</para>
-
-               <para>%z - the size of the spooled
-               print job (in bytes)</para>
-
-               <para>The print command <emphasis>MUST</emphasis> contain at least 
-               one occurrence of <parameter moreinfo="none">%s</parameter> or <parameter moreinfo="none">%f
-               </parameter> - the <parameter moreinfo="none">%p</parameter> is optional. At the time 
-               a job is submitted, if no printer name is supplied the <parameter moreinfo="none">%p
-               </parameter> will be silently removed from the printer command.</para>
-
-               <para>If specified in the [global] section, the print command given 
-               will be used for any printable service that does not have its own 
-               print command specified.</para>
-
-               <para>If there is neither a specified print command for a 
-               printable service nor a global print command, spool files will 
-               be created but not processed and (most importantly) not removed.</para>
-
-               <para>Note that printing may fail on some UNIXes from the 
-               <constant>nobody</constant> account. If this happens then create 
-               an alternative guest account that can print and set the <link linkend="GUESTACCOUNT"><parameter moreinfo="none">guest account</parameter></link> 
-               in the [global] section.</para>
-
-               <para>You can form quite complex print commands by realizing 
-               that they are just passed to a shell. For example the following 
-               will log a print job, print the file, then remove it. Note that 
-               ';' is the usual separator for command in shell scripts.</para>
-
-               <para><command moreinfo="none">print command = echo Printing %s &gt;&gt; 
-               /tmp/print.log; lpr -P %p %s; rm %s</command></para>
-
-               <para>You may have to vary this command considerably depending 
-               on how you normally print files on your system. The default for 
-               the parameter varies depending on the setting of the <link linkend="PRINTING">
-               <parameter moreinfo="none">printing</parameter></link> parameter.</para>
-
-               <para>Default: For <command moreinfo="none">printing = BSD, AIX, QNX, LPRNG 
-               or PLP :</command></para>
-               <para><command moreinfo="none">print command = lpr -r -P%p %s</command></para>
-
-               <para>For <command moreinfo="none">printing = SYSV or HPUX :</command></para>
-               <para><command moreinfo="none">print command = lp -c -d%p %s; rm %s</command></para>
-
-               <para>For <command moreinfo="none">printing = SOFTQ :</command></para>
-               <para><command moreinfo="none">print command = lp -d%p -s %s; rm %s</command></para>
-
-               <para>For printing = CUPS :   If SAMBA is compiled against
-               libcups, then <link linkend="PRINTING">printcap = cups</link> 
-               uses the CUPS API to
-               submit jobs, etc.  Otherwise it maps to the System V
-               commands with the -oraw option for printing, i.e. it
-               uses <command moreinfo="none">lp -c -d%p -oraw; rm %s</command>.   
-               With <command moreinfo="none">printing = cups</command>,
-               and if SAMBA is compiled against libcups, any manually 
-               set print command will be ignored.</para>
-
-
-               <para>Example: <command moreinfo="none">print command = /usr/local/samba/bin/myprintscript
-               %p %s</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printer.xml b/docs/docbook/smbdotconf/printing/printer.xml
deleted file mode 100644 (file)
index 4cf90b0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PRINTER"/>printer (S)</term>
-               <listitem><para>Synonym for <link linkend="PRINTERNAME"><parameter moreinfo="none">
-               printer name</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printername.xml b/docs/docbook/smbdotconf/printing/printername.xml
deleted file mode 100644 (file)
index 25e6afa..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>If specified in the [global] section, the printer
-               name given will be used for any printable service that does 
-               not have its own printer name specified.</para>
-
-               <para>Default: <emphasis>none (but may be <constant>lp</constant> 
-               on many systems)</emphasis></para>
-
-               <para>Example: <command moreinfo="none">printer name = laserwriter</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printing.xml b/docs/docbook/smbdotconf/printing/printing.xml
deleted file mode 100644 (file)
index d49c0e2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">print command</parameter>, 
-               <parameter moreinfo="none">lpq command</parameter>, <parameter moreinfo="none">lppause command
-               </parameter>, <parameter moreinfo="none">lpresume command</parameter>, and 
-               <parameter moreinfo="none">lprm command</parameter> if specified in the 
-               [global] section.</para>
-
-               <para>Currently nine printing styles are supported. They are
-               <constant>BSD</constant>, <constant>AIX</constant>, 
-               <constant>LPRNG</constant>, <constant>PLP</constant>,
-               <constant>SYSV</constant>, <constant>HPUX</constant>,
-               <constant>QNX</constant>, <constant>SOFTQ</constant>,
-               and <constant>CUPS</constant>.</para>
-
-               <para>To see what the defaults are for the other print 
-               commands when using the various options use the <ulink url="testparm.1.html">testparm(1)</ulink> program.</para>
-
-               <para>This option can be set on a per printer basis</para>
-
-               <para>See also the discussion in the <link linkend="PRINTERSSECT">
-               [printers]</link> section.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/printok.xml b/docs/docbook/smbdotconf/printing/printok.xml
deleted file mode 100644 (file)
index 7900e91..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PRINTOK"/>print ok (S)</term>
-               <listitem><para>Synonym for <link linkend="PRINTABLE">
-               <parameter moreinfo="none">printable</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/queuepausecommand.xml b/docs/docbook/smbdotconf/printing/queuepausecommand.xml
deleted file mode 100644 (file)
index c991994..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This command should be a program or script which takes 
-               a printer name as its only parameter and stops the printer queue, 
-               such that no longer jobs are submitted to the printer.</para>
-
-               <para>This command is not supported by Windows for Workgroups, 
-               but can be issued from the Printers window under Windows 95 
-               and NT.</para>
-               
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. Otherwise it is placed at the end of the command.
-               </para>
-
-               <para>Note that it is good practice to include the absolute 
-               path in the command as the PATH may not be available to the 
-               server.</para>
-
-               <para>Default: <emphasis>depends on the setting of <parameter moreinfo="none">printing
-               </parameter></emphasis></para>
-               <para>Example: <command moreinfo="none">queuepause command = disable %p</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/queueresumecommand.xml b/docs/docbook/smbdotconf/printing/queueresumecommand.xml
deleted file mode 100644 (file)
index 7c0d609..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               previous parameter (<link linkend="QUEUEPAUSECOMMAND"><parameter moreinfo="none">
-               queuepause command</parameter></link>).</para>
-               <para>This command should be a program or script which takes 
-               a printer name as its only parameter and resumes the printer queue, 
-               such that queued jobs are resubmitted to the printer.</para>
-
-               <para>This command is not supported by Windows for Workgroups, 
-               but can be issued from the Printers window under Windows 95 
-               and NT.</para>
-
-               <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name 
-               is put in its place. Otherwise it is placed at the end of the 
-               command.</para>
-
-               <para>Note that it is good practice to include the absolute 
-               path in the command as the PATH may not be available to the 
-               server.</para>
-
-               <para>Default: <emphasis>depends on the setting of <link linkend="PRINTING"><parameter moreinfo="none">printing</parameter></link></emphasis>
-               </para>
-
-               <para>Example: <command moreinfo="none">queuepause command = enable %p
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml b/docs/docbook/smbdotconf/printing/showaddprinterwizard.xml
deleted file mode 100644 (file)
index 9bf5160..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 &quot;Printers...&quot; folder will 
-               appear on Samba hosts in the share listing.  Normally this folder will 
-               contain an icon for the MS Add Printer Wizard (APW).  However, it is 
-               possible to disable this feature regardless of the level of privilege 
-               of the connected user.</para>
-               
-               <para>Under normal circumstances, the Windows NT/2000 client will 
-               open a handle on the printer server with OpenPrinterEx() asking for
-               Administrator privileges.  If the user does not have administrative
-               access on the print server (i.e is not root or a member of the 
-               <parameter moreinfo="none">printer admin</parameter> group), the OpenPrinterEx() 
-               call fails and the client makes another open call with a request for 
-               a lower privilege level.  This should succeed, however the APW 
-               icon will not be displayed.</para>
-               
-               <para>Disabling the <parameter moreinfo="none">show add printer wizard</parameter>
-               parameter will always cause the OpenPrinterEx() on the server
-               to fail.  Thus the APW icon will never be displayed. <emphasis>
-               Note :</emphasis>This does not prevent the same user from having 
-               administrative privilege on an individual printer.</para>
-               
-               <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter moreinfo="none">addprinter
-               command</parameter></link>, <link linkend="DELETEPRINTERCOMMAND">
-               <parameter moreinfo="none">deleteprinter command</parameter></link>, <link linkend="PRINTERADMIN"><parameter moreinfo="none">printer admin</parameter></link></para>
-               
-               <para>Default :<command moreinfo="none">show add printer wizard = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/totalprintjobs.xml b/docs/docbook/smbdotconf/printing/totalprintjobs.xml
deleted file mode 100644 (file)
index 25784a3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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 moreinfo="none">max print jobs</parameter></link>.
-               </para>
-               
-               <para>Default: <command moreinfo="none">total print jobs = 0</command></para>
-               <para>Example: <command moreinfo="none">total print jobs = 5000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/printing/useclientdriver.xml b/docs/docbook/smbdotconf/printing/useclientdriver.xml
deleted file mode 100644 (file)
index 8327d0a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               a valid printer driver on the Samba host, the client will be required
-               to install a local printer driver.  From this point on, the client
-               will treat the print as a local printer and not a network printer 
-               connection.  This is much the same behavior that will occur
-               when <command moreinfo="none">disable spoolss = yes</command>.  </para>
-
-               <para>The differentiating 
-               factor is that under normal circumstances, the NT/2000 client will 
-               attempt to open the network printer using MS-RPC.  The problem is that
-               because the client considers the printer to be local, it will attempt
-               to issue the OpenPrinterEx() call requesting access rights associated 
-               with the logged on user. If the user possesses local administator rights
-               but not root privilegde on the Samba host (often the case), the OpenPrinterEx()
-               call will fail.  The result is that the client will now display an &quot;Access
-               Denied; Unable to connect&quot; message in the printer queue window (even though
-               jobs may successfully be printed).  </para>
-
-               <para>If this parameter is enabled for a printer, then any attempt
-               to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
-               to PRINTER_ACCESS_USE instead.  Thus allowing the OpenPrinterEx()
-               call to succeed.  <emphasis>This parameter MUST not be able enabled
-               on a print share which has valid print driver installed on the Samba 
-               server.</emphasis></para>
-
-               <para>See also <link linkend="DISABLESPOOLSS">disable spoolss</link>
-               </para>
-
-               <para>Default: <command moreinfo="none">use client driver = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/process-all.sh b/docs/docbook/smbdotconf/process-all.sh
deleted file mode 100755 (executable)
index 6d8c994..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-sh generate-file-list.sh >parameters.all.xml
-
-xsltproc --xinclude \
-                 --param smb.context "'G'" \
-                 --output parameters.global.xml \
-                 generate-context.xsl parameters.all.xml
-
-xsltproc --xinclude \
-                 --param smb.context "'S'" \
-                 --output parameters.service.xml \
-                 generate-context.xsl parameters.all.xml
-
-xsltproc --xinclude expand-smb.conf.xsl smb.conf.5.xml | \
-xsltproc http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl -
diff --git a/docs/docbook/smbdotconf/protocol/announceas.xml b/docs/docbook/smbdotconf/protocol/announceas.xml
deleted file mode 100644 (file)
index 1f31696..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               list. By default this is set to Windows NT. The valid options 
-               are : &quot;NT Server&quot; (which can also be written as &quot;NT&quot;), 
-               &quot;NT Workstation&quot;, &quot;Win95&quot; or &quot;WfW&quot; meaning Windows NT Server, 
-               Windows NT Workstation, Windows 95 and Windows for Workgroups 
-               respectively. Do not change this parameter unless you have a 
-               specific need to stop Samba appearing as an NT server as this 
-               may prevent Samba servers from participating as browser servers 
-               correctly.</para>
-
-               <para>Default: <command moreinfo="none">announce as = NT Server</command></para>
-               
-               <para>Example: <command moreinfo="none">announce as = Win95</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/announceversion.xml b/docs/docbook/smbdotconf/protocol/announceversion.xml
deleted file mode 100644 (file)
index 03ad429..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               need to set a Samba server to be a downlevel server.</para>
-
-               <para>Default: <command moreinfo="none">announce version = 4.9</command></para>
-
-               <para>Example: <command moreinfo="none">announce version = 2.0</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/disablenetbios.xml b/docs/docbook/smbdotconf/protocol/disablenetbios.xml
deleted file mode 100644 (file)
index ac97cdf..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Note that clients that only support netbios won't be able to 
-               see your samba server when netbios support is disabled.
-               </para>
-
-               <para>Default: <command moreinfo="none">disable netbios = no</command></para>
-               <para>Example: <command moreinfo="none">disable netbios = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/largereadwrite.xml b/docs/docbook/smbdotconf/protocol/largereadwrite.xml
deleted file mode 100644 (file)
index 9aa2859..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               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
-               Windows 2000 clients. Defaults to on. Not as tested as some other Samba
-               code paths.
-               </para>
-               
-               <para>Default : <command moreinfo="none">large readwrite = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/maxmux.xml b/docs/docbook/smbdotconf/protocol/maxmux.xml
deleted file mode 100644 (file)
index 51296e0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">max mux = 50</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/maxprotocol.xml b/docs/docbook/smbdotconf/protocol/maxprotocol.xml
deleted file mode 100644 (file)
index be859f8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Possible values are :</para>
-               <itemizedlist>
-                       <listitem><para><constant>CORE</constant>: Earliest version. No 
-                       concept of user names.</para></listitem>
-                       
-                       <listitem><para><constant>COREPLUS</constant>: Slight improvements on 
-                       CORE for efficiency.</para></listitem>
-
-                       <listitem><para><constant>LANMAN1</constant>: First <emphasis>
-                       modern</emphasis> version of the protocol. Long filename
-                       support.</para></listitem>
-
-                       <listitem><para><constant>LANMAN2</constant>: Updates to Lanman1 protocol.
-                       </para></listitem>
-
-                       <listitem><para><constant>NT1</constant>: Current up to date version of 
-                       the protocol. Used by Windows NT. Known as CIFS.</para></listitem>
-               </itemizedlist>
-
-               <para>Normally this option should not be set as the automatic 
-               negotiation phase in the SMB protocol takes care of choosing 
-               the appropriate protocol.</para>
-               
-               <para>See also <link linkend="MINPROTOCOL"><parameter moreinfo="none">min
-               protocol</parameter></link></para>
-
-               <para>Default: <command moreinfo="none">max protocol = NT1</command></para>
-               <para>Example: <command moreinfo="none">max protocol = LANMAN1</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/maxttl.xml b/docs/docbook/smbdotconf/protocol/maxttl.xml
deleted file mode 100644 (file)
index 04c6771..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="MAXTTL"/>max ttl (G)</term>
-               <listitem><para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
-               what the default 'time to live' of NetBIOS names should be (in seconds) 
-               when <command moreinfo="none">nmbd</command> is requesting a name using either a
-               broadcast packet or from a WINS server. You should never need to
-               change this parameter. The default is 3 days.</para>
-
-               <para>Default: <command moreinfo="none">max ttl = 259200</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/maxwinsttl.xml b/docs/docbook/smbdotconf/protocol/maxwinsttl.xml
deleted file mode 100644 (file)
index c8e2d9d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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">
-               <parameter moreinfo="none">wins support = yes</parameter></link>) what the maximum
-               'time to live' of NetBIOS names that <command moreinfo="none">nmbd</command> 
-               will grant will be (in seconds). You should never need to change this
-               parameter.  The default is 6 days (518400 seconds).</para>
-
-               <para>See also the <link linkend="MINWINSTTL"><parameter moreinfo="none">min 
-               wins ttl</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">max wins ttl = 518400</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/maxxmit.xml b/docs/docbook/smbdotconf/protocol/maxxmit.xml
deleted file mode 100644 (file)
index c16cf47..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               with a smaller value. A value below 2048 is likely to cause problems.
-               </para>
-
-               <para>Default: <command moreinfo="none">max xmit = 65535</command></para>
-               <para>Example: <command moreinfo="none">max xmit = 8192</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/minprotocol.xml b/docs/docbook/smbdotconf/protocol/minprotocol.xml
deleted file mode 100644 (file)
index 6b1d420..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">max protocol</parameter></link>
-               parameter for a list of valid protocol names and a brief description
-               of each.  You may also wish to refer to the C source code in
-               <filename moreinfo="none">source/smbd/negprot.c</filename> for a listing of known protocol
-               dialects supported by clients.</para>
-               
-               <para>If you are viewing this parameter as a security measure, you should
-               also refer to the <link linkend="LANMANAUTH"><parameter moreinfo="none">lanman 
-               auth</parameter></link> parameter.  Otherwise, you should never need 
-               to change this parameter.</para>
-               
-               <para>Default : <command moreinfo="none">min protocol = CORE</command></para>
-               <para>Example : <command moreinfo="none">min protocol = NT1</command>  # disable DOS 
-               clients</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/minwinsttl.xml b/docs/docbook/smbdotconf/protocol/minwinsttl.xml
deleted file mode 100644 (file)
index e67c253..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="MINWINSTTL"/>min wins ttl (G)</term>
-               <listitem><para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry>
-               when acting as a WINS server (<link linkend="WINSSUPPORT"><parameter moreinfo="none">
-               wins support = yes</parameter></link>) what the minimum 'time to live' 
-               of NetBIOS names that <command moreinfo="none">nmbd</command> will grant will be (in 
-               seconds). You should never need to change this parameter.  The default 
-               is 6 hours (21600 seconds).</para>
-
-               <para>Default: <command moreinfo="none">min wins ttl = 21600</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/nameresolveorder.xml b/docs/docbook/smbdotconf/protocol/nameresolveorder.xml
deleted file mode 100644 (file)
index a5dd893..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common"> 
-               <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 
-               separated string of name resolution options.</para>
-
-               <para>The options are :&quot;lmhosts&quot;, &quot;host&quot;, &quot;wins&quot; and &quot;bcast&quot;. They 
-               cause names to be resolved as follows :</para>
-
-               <itemizedlist>
-                       <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 <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 moreinfo="none">/etc/hosts
-                       </filename>, NIS, or DNS lookups. This method of name resolution 
-                       is operating system depended for instance on IRIX or Solaris this 
-                       may be controlled by the <filename moreinfo="none">/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 
-                       the IP address listed in the <link linkend="WINSSERVER"><parameter moreinfo="none">
-                       wins server</parameter></link> parameter.  If no WINS server has
-                       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 <link linkend="INTERFACES"><parameter moreinfo="none">interfaces</parameter></link> 
-                       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>
-               </itemizedlist>
-
-               <para>Default: <command moreinfo="none">name resolve order = lmhosts host wins bcast
-               </command></para>
-               <para>Example: <command moreinfo="none">name resolve order = lmhosts bcast host
-               </command></para>
-
-               <para>This will cause the local lmhosts file to be examined 
-               first, followed by a broadcast attempt, followed by a normal 
-               system hostname lookup.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/ntaclsupport.xml b/docs/docbook/smbdotconf/protocol/ntaclsupport.xml
deleted file mode 100644 (file)
index df0d8dc..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               This parameter was formally a global parameter in releases
-               prior to 2.2.2.</para>
-               
-               <para>Default: <command moreinfo="none">nt acl support = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/ntpipesupport.xml b/docs/docbook/smbdotconf/protocol/ntpipesupport.xml
deleted file mode 100644 (file)
index cab2032..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               clients to connect to the NT SMB specific <constant>IPC$</constant> 
-               pipes. This is a developer debugging option and can be left
-               alone.</para>
-
-               <para>Default: <command moreinfo="none">nt pipe support = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/ntstatussupport.xml b/docs/docbook/smbdotconf/protocol/ntstatussupport.xml
deleted file mode 100644 (file)
index 17dafa4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               debugging option and should be left alone.
-               If this option is set to <constant>no</constant> then Samba offers
-               exactly the same DOS error codes that versions prior to Samba 2.2.3
-               reported.</para>
-
-               <para>You should not need to ever disable this parameter.</para>
-
-               <para>Default: <command moreinfo="none">nt status support = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/protocol.xml b/docs/docbook/smbdotconf/protocol/protocol.xml
deleted file mode 100644 (file)
index 5161806..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PROTOCOL"/>protocol (G)</term>
-               <listitem><para>Synonym for <link linkend="MAXPROTOCOL">
-               <parameter moreinfo="none">max protocol</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/readbmpx.xml b/docs/docbook/smbdotconf/protocol/readbmpx.xml
deleted file mode 100644 (file)
index 0bc8f1d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 &quot;Read 
-               Block Multiplex&quot; SMB. This is now rarely used and defaults to 
-               <constant>no</constant>. You should never need to set this 
-               parameter.</para>
-               
-               <para>Default: <command moreinfo="none">read bmpx = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/readraw.xml b/docs/docbook/smbdotconf/protocol/readraw.xml
deleted file mode 100644 (file)
index b867816..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>If enabled, raw reads allow reads of 65535 bytes in 
-               one packet. This typically provides a major performance benefit.
-               </para>
-
-               <para>However, some clients either negotiate the allowable 
-               block size incorrectly or are incapable of supporting larger block 
-               sizes, and for these clients you may need to disable raw reads.</para>
-
-               <para>In general this parameter should be viewed as a system tuning 
-               tool and left severely alone. See also <link linkend="WRITERAW">
-               <parameter moreinfo="none">write raw</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">read raw = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/smbports.xml b/docs/docbook/smbdotconf/protocol/smbports.xml
deleted file mode 100644 (file)
index ed088ab..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="SMBPORTS"/>smb ports (G)</term>
-               <listitem><para>Specifies which ports the server should listen on
-               for SMB traffic.
-               </para>
-
-               <para>Default: <command moreinfo="none">smb ports = 445 139</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/timeserver.xml b/docs/docbook/smbdotconf/protocol/timeserver.xml
deleted file mode 100644 (file)
index eb1a720..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               clients.</para>
-
-               <para>Default: <command moreinfo="none">time server = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/unicode.xml b/docs/docbook/smbdotconf/protocol/unicode.xml
deleted file mode 100644 (file)
index 866dad2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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!
-               </para>
-
-               <para>Default: <command moreinfo="none">unicode = yes</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/unixextensions.xml b/docs/docbook/smbdotconf/protocol/unixextensions.xml
deleted file mode 100644 (file)
index d0adde9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               by supporting features such as symbolic links, hard links, etc...
-               These extensions require a similarly enabled client, and are of
-               no current use to Windows clients.</para>
-
-               <para>Default: <command moreinfo="none">unix extensions = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/usespnego.xml b/docs/docbook/smbdotconf/protocol/usespnego.xml
deleted file mode 100644 (file)
index 9e3c873..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="USESPNEGO"/>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>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/protocol/writeraw.xml b/docs/docbook/smbdotconf/protocol/writeraw.xml
deleted file mode 100644 (file)
index dbaad01..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Default: <command moreinfo="none">write raw = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/adminusers.xml b/docs/docbook/smbdotconf/security/adminusers.xml
deleted file mode 100644 (file)
index 2e1abaf..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>You should use this option very carefully, as any user in 
-               this list will be able to do anything they like on the share, 
-               irrespective of file permissions.</para>
-
-               <para>Default: <emphasis>no admin users</emphasis></para>
-
-               <para>Example: <command moreinfo="none">admin users = jason</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/algorithmicridbase.xml b/docs/docbook/smbdotconf/security/algorithmicridbase.xml
deleted file mode 100644 (file)
index 3c2bf86..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-                <para>Setting this option to a larger value could be useful to sites
-                transitioning from WinNT and Win2k, as existing user and 
-                group rids would otherwise clash with sytem users etc. 
-                </para>
-
-                <para>All UIDs and GIDs must be able to be resolved into SIDs for  
-                the correct operation of ACLs on the server.  As such the algorithmic
-                mapping can't be 'turned off', but pushing it 'out of the way' should
-                resolve the issues.  Users and groups can then be assigned 'low' RIDs
-                in arbitary-rid supporting backends. </para>
-
-               <para>Default: <command moreinfo="none">algorithmic rid base = 1000</command></para>
-
-               <para>Example: <command moreinfo="none">algorithmic rid base = 100000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/allowhosts.xml b/docs/docbook/smbdotconf/security/allowhosts.xml
deleted file mode 100644 (file)
index 7fd2f42..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ALLOWHOSTS"/>allow hosts (S)</term>
-               <listitem><para>Synonym for <link linkend="HOSTSALLOW">
-               <parameter moreinfo="none">hosts allow</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/allowtrusteddomains.xml b/docs/docbook/smbdotconf/security/allowtrusteddomains.xml
deleted file mode 100644 (file)
index 35dcd76..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ALLOWTRUSTEDDOMAINS"/>allow trusted domains (G)</term>
-               <listitem><para>This option only takes effect when the <link linkend="SECURITY"><parameter moreinfo="none">security</parameter></link> option is set to 
-               <constant>server</constant> or <constant>domain</constant>.  
-               If it is set to no, then attempts to connect to a resource from 
-               a domain or workgroup other than the one which <ulink url="smbd.8.html">smbd</ulink> is running 
-               in will fail, even if that domain is trusted by the remote server 
-               doing the authentication.</para>
-               
-               <para>This is useful if you only want your Samba server to 
-               serve resources to users in the domain it is a member of. As 
-               an example, suppose that there are two domains DOMA and DOMB.  DOMB 
-               is trusted by DOMA, which contains the Samba server.  Under normal 
-               circumstances, a user with an account in DOMB can then access the 
-               resources of a UNIX account with the same account name on the 
-               Samba server even if they do not have an account in DOMA.  This 
-               can make implementing a security boundary difficult.</para>
-
-               <para>Default: <command moreinfo="none">allow trusted domains = yes</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/authmethods.xml b/docs/docbook/smbdotconf/security/authmethods.xml
deleted file mode 100644 (file)
index 2e56955..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="AUTHMETHODS"/>auth methods (G)</term>
-               <listitem><para>This option allows the administrator to chose what
-                authentication methods <command moreinfo="none">smbd</command> will use when authenticating
-                a user.  This option defaults to sensible values based on <link linkend="SECURITY"><parameter moreinfo="none">
-               security</parameter></link>.
-
-                Each entry in the list attempts to authenticate the user in turn, until
-                the user authenticates.  In practice only one method will ever actually 
-                be able to complete the authentication.
-               </para>
-
-               <para>Default: <command moreinfo="none">auth methods = &lt;empty string&gt;</command></para>
-               <para>Example: <command moreinfo="none">auth methods = guest sam ntdomain</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/createmask.xml b/docs/docbook/smbdotconf/security/createmask.xml
deleted file mode 100644 (file)
index 9a197bf..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="CREATEMASK"/>create mask (S)</term>
-               <listitem><para>A synonym for this parameter is 
-               <link linkend="CREATEMODE"><parameter moreinfo="none">create mode</parameter>
-               </link>.</para>
-
-               <para>When a file is created, the necessary permissions are 
-               calculated according to the mapping from DOS modes to UNIX 
-               permissions, and the resulting UNIX mode is then bit-wise 'AND'ed 
-               with this parameter. This parameter may be thought of as a bit-wise 
-               MASK for the UNIX modes of a file. Any bit <emphasis>not</emphasis> 
-               set here will be removed from the modes set on a file when it is 
-               created.</para>
-
-               <para>The default value of this parameter removes the 
-               'group' and 'other' write and execute bits from the UNIX modes.</para>
-
-               <para>Following this Samba will bit-wise 'OR' the UNIX mode created 
-               from this parameter with the value of the <link linkend="FORCECREATEMODE"><parameter moreinfo="none">force create mode</parameter></link>
-               parameter which is set to 000 by default.</para>
-
-               <para>This parameter does not affect directory modes. See the 
-               parameter <link linkend="DIRECTORYMODE"><parameter moreinfo="none">directory mode
-               </parameter></link> for details.</para>
-
-               <para>See also the <link linkend="FORCECREATEMODE"><parameter moreinfo="none">force 
-               create mode</parameter></link> parameter for forcing particular mode 
-               bits to be set on created files. See also the <link linkend="DIRECTORYMODE">
-               <parameter moreinfo="none">directory mode</parameter></link> parameter for masking 
-               mode bits on created directories.  See also the <link linkend="INHERITPERMISSIONS">
-               <parameter moreinfo="none">inherit permissions</parameter></link> parameter.</para>
-
-               <para>Note that this parameter does not apply to permissions
-               set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
-               a mask on access control lists also, they need to set the <link linkend="SECURITYMASK"><parameter moreinfo="none">security mask</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">create mask = 0744</command></para>
-               <para>Example: <command moreinfo="none">create mask = 0775</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/createmode.xml b/docs/docbook/smbdotconf/security/createmode.xml
deleted file mode 100644 (file)
index 7e78ab0..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="CREATEMODE"/>create mode (S)</term>
-               <listitem><para>This is a synonym for <link linkend="CREATEMASK"><parameter moreinfo="none">
-               create mask</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/denyhosts.xml b/docs/docbook/smbdotconf/security/denyhosts.xml
deleted file mode 100644 (file)
index f50fb33..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DENYHOSTS"/>deny hosts (S)</term>
-               <listitem><para>Synonym for <link linkend="HOSTSDENY"><parameter moreinfo="none">hosts 
-               deny</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/directorymask.xml b/docs/docbook/smbdotconf/security/directorymask.xml
deleted file mode 100644 (file)
index 0844733..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>When a directory is created, the necessary permissions are 
-               calculated according to the mapping from DOS modes to UNIX permissions, 
-               and the resulting UNIX mode is then bit-wise 'AND'ed with this 
-               parameter. This parameter may be thought of as a bit-wise MASK for 
-               the UNIX modes of a directory. Any bit <emphasis>not</emphasis> set 
-               here will be removed from the modes set on a directory when it is 
-               created.</para>
-
-               <para>The default value of this parameter removes the 'group' 
-               and 'other' write bits from the UNIX mode, allowing only the 
-               user who owns the directory to modify it.</para>
-               
-               <para>Following this Samba will bit-wise 'OR' the UNIX mode 
-               created from this parameter with the value of the <link linkend="FORCEDIRECTORYMODE"><parameter moreinfo="none">force directory mode
-               </parameter></link> parameter. This parameter is set to 000 by 
-               default (i.e. no extra mode bits are added).</para>
-
-               <para>Note that this parameter does not apply to permissions
-               set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
-               a mask on access control lists also, they need to set the <link linkend="DIRECTORYSECURITYMASK"><parameter moreinfo="none">directory security mask</parameter></link>.</para>
-
-               <para>See the <link linkend="FORCEDIRECTORYMODE"><parameter moreinfo="none">force 
-               directory mode</parameter></link> parameter to cause particular mode 
-               bits to always be set on created directories.</para>
-
-               <para>See also the <link linkend="CREATEMODE"><parameter moreinfo="none">create mode
-               </parameter></link> parameter for masking mode bits on created files, 
-               and the <link linkend="DIRECTORYSECURITYMASK"><parameter moreinfo="none">directory 
-               security mask</parameter></link> parameter.</para>
-
-               <para>Also refer to the <link linkend="INHERITPERMISSIONS"><parameter moreinfo="none">
-               inherit permissions</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">directory mask = 0755</command></para>
-               <para>Example: <command moreinfo="none">directory mask = 0775</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/directorymode.xml b/docs/docbook/smbdotconf/security/directorymode.xml
deleted file mode 100644 (file)
index 9678cd9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="DIRECTORYMODE"/>directory mode (S)</term>
-               <listitem><para>Synonym for <link linkend="DIRECTORYMASK"><parameter moreinfo="none">
-               directory mask</parameter></link></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/directorysecuritymask.xml b/docs/docbook/smbdotconf/security/directorysecuritymask.xml
deleted file mode 100644 (file)
index 76d153f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               box.</para>
-
-               <para>This parameter is applied as a mask (AND'ed with) to 
-               the changed permission bits, thus preventing any bits not in 
-               this mask from being modified. Essentially, zero bits in this 
-               mask may be treated as a set of bits the user is not allowed 
-               to change.</para>
-
-               <para>If not set explicitly this parameter is set to 0777
-               meaning a user is allowed to modify all the user/group/world
-               permissions on a directory.</para>
-
-               <para><emphasis>Note</emphasis> that users who can access the 
-               Samba server through other means can easily bypass this restriction, 
-               so it is primarily useful for standalone &quot;appliance&quot; systems.  
-               Administrators of most normal systems will probably want to leave
-               it as the default of <constant>0777</constant>.</para>
-
-               <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE"><parameter moreinfo="none">
-               force directory security mode</parameter></link>, <link linkend="SECURITYMASK"><parameter moreinfo="none">security mask</parameter></link>, 
-               <link linkend="FORCESECURITYMODE"><parameter moreinfo="none">force security mode
-               </parameter></link> parameters.</para>
-
-               <para>Default: <command moreinfo="none">directory security mask = 0777</command></para>
-               <para>Example: <command moreinfo="none">directory security mask = 0700</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/encryptpasswords.xml b/docs/docbook/smbdotconf/security/encryptpasswords.xml
deleted file mode 100644 (file)
index d7ceb8d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               unless a registry entry is changed. To use encrypted passwords in 
-               Samba see the file ENCRYPTION.txt in the Samba documentation 
-               directory <filename moreinfo="none">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 
-               and maintain this file), or set the <link linkend="SECURITY">security = [server|domain|ads]</link> parameter which 
-               causes <command moreinfo="none">smbd</command> to authenticate against another 
-               server.</para>
-               
-               <para>Default: <command moreinfo="none">encrypt passwords = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forcecreatemode.xml b/docs/docbook/smbdotconf/security/forcecreatemode.xml
deleted file mode 100644 (file)
index 238340d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               the mode bits of a file that is being created or having its 
-               permissions changed. The default for this parameter is (in octal) 
-               000. The modes in this parameter are bitwise 'OR'ed onto the file 
-               mode after the mask set in the <parameter moreinfo="none">create mask</parameter> 
-               parameter is applied.</para>
-               
-               <para>See also the parameter <link linkend="CREATEMASK"><parameter moreinfo="none">create 
-               mask</parameter></link> for details on masking mode bits on files.</para>
-
-               <para>See also the <link linkend="INHERITPERMISSIONS"><parameter moreinfo="none">inherit 
-               permissions</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">force create mode = 000</command></para>
-               <para>Example: <command moreinfo="none">force create mode = 0755</command></para>
-
-               <para>would force all created files to have read and execute 
-               permissions set for 'group' and 'other' as well as the 
-               read/write/execute bits set for the 'user'.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forcedirectorymode.xml b/docs/docbook/smbdotconf/security/forcedirectorymode.xml
deleted file mode 100644 (file)
index 460a7fc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               mode bits of a directory that is being created. The default for this 
-               parameter is (in octal) 0000 which will not add any extra permission 
-               bits to a created directory. This operation is done after the mode 
-               mask in the parameter <parameter moreinfo="none">directory mask</parameter> is 
-               applied.</para>
-
-               <para>See also the parameter <link linkend="DIRECTORYMASK"><parameter moreinfo="none">
-               directory mask</parameter></link> for details on masking mode bits 
-               on created directories.</para>
-               
-               <para>See also the <link linkend="INHERITPERMISSIONS"><parameter moreinfo="none">
-               inherit permissions</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">force directory mode = 000</command></para>
-               <para>Example: <command moreinfo="none">force directory mode = 0755</command></para>
-
-               <para>would force all created directories to have read and execute
-               permissions set for 'group' and 'other' as well as the
-               read/write/execute bits set for the 'user'.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forcedirectorysecuritymode.xml b/docs/docbook/smbdotconf/security/forcedirectorysecuritymode.xml
deleted file mode 100644 (file)
index a01b297..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>This parameter is applied as a mask (OR'ed with) to the 
-               changed permission bits, thus forcing any bits in this mask that 
-               the user may have modified to be on. Essentially, one bits in this 
-               mask may be treated as a set of bits that, when modifying security 
-               on a directory, the user has always set to be 'on'.</para>
-
-               <para>If not set explicitly this parameter is 000, which 
-               allows a user to modify all the user/group/world permissions on a 
-               directory without restrictions.</para>
-
-               <para><emphasis>Note</emphasis> that users who can access the 
-               Samba server through other means can easily bypass this restriction, 
-               so it is primarily useful for standalone &quot;appliance&quot; systems.  
-               Administrators of most normal systems will probably want to leave
-               it set as 0000.</para>
-
-               <para>See also the <link linkend="DIRECTORYSECURITYMASK"><parameter moreinfo="none">
-               directory security mask</parameter></link>, <link linkend="SECURITYMASK">
-               <parameter moreinfo="none">security mask</parameter></link>, 
-               <link linkend="FORCESECURITYMODE"><parameter moreinfo="none">force security mode
-               </parameter></link> parameters.</para>
-
-               <para>Default: <command moreinfo="none">force directory security mode = 0</command></para>
-               <para>Example: <command moreinfo="none">force directory security mode = 700</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forcegroup.xml b/docs/docbook/smbdotconf/security/forcegroup.xml
deleted file mode 100644 (file)
index abfec79..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               that all access to files on service will use the named group for 
-               their permissions checking. Thus, by assigning permissions for this 
-               group to the files and directories within this service the Samba 
-               administrator can restrict or allow sharing of these files.</para>
-
-               <para>In Samba 2.0.5 and above this parameter has extended 
-               functionality in the following way. If the group name listed here 
-               has a '+' character prepended to it then the current user accessing 
-               the share only has the primary group default assigned to this group 
-               if they are already assigned as a member of that group. This allows 
-               an administrator to decide that only users who are already in a 
-               particular group will create files with group ownership set to that 
-               group. This gives a finer granularity of ownership assignment. For 
-               example, the setting <filename moreinfo="none">force group = +sys</filename> means 
-               that only users who are already in group sys will have their default
-               primary group assigned to sys when accessing this Samba share. All
-               other users will retain their ordinary primary group.</para>
-
-               <para>If the <link linkend="FORCEUSER"><parameter moreinfo="none">force user
-               </parameter></link> parameter is also set the group specified in 
-               <parameter moreinfo="none">force group</parameter> will override the primary group
-               set in <parameter moreinfo="none">force user</parameter>.</para>
-
-               <para>See also <link linkend="FORCEUSER"><parameter moreinfo="none">force 
-               user</parameter></link>.</para>
-
-               <para>Default: <emphasis>no forced group</emphasis></para>
-               <para>Example: <command moreinfo="none">force group = agroup</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forcesecuritymode.xml b/docs/docbook/smbdotconf/security/forcesecuritymode.xml
deleted file mode 100644 (file)
index 2db50f1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               box.</para>
-               
-               <para>This parameter is applied as a mask (OR'ed with) to the 
-               changed permission bits, thus forcing any bits in this mask that 
-               the user may have modified to be on. Essentially, one bits in this 
-               mask may be treated as a set of bits that, when modifying security 
-               on a file, the user has always set to be 'on'.</para>
-
-               <para>If not set explicitly this parameter is set to 0,
-               and allows a user to modify all the user/group/world permissions on a file,
-               with no restrictions.</para>
-               
-               <para><emphasis>Note</emphasis> that users who can access 
-               the Samba server through other means can easily bypass this restriction, 
-               so it is primarily useful for standalone &quot;appliance&quot; systems.  
-               Administrators of most normal systems will probably want to leave
-               this set to 0000.</para>
-
-               <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE"><parameter moreinfo="none">
-               force directory security mode</parameter></link>,
-               <link linkend="DIRECTORYSECURITYMASK"><parameter moreinfo="none">directory security
-               mask</parameter></link>, <link linkend="SECURITYMASK"><parameter moreinfo="none">
-               security mask</parameter></link> parameters.</para>
-
-               <para>Default: <command moreinfo="none">force security mode = 0</command></para>
-               <para>Example: <command moreinfo="none">force security mode = 700</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/forceuser.xml b/docs/docbook/smbdotconf/security/forceuser.xml
deleted file mode 100644 (file)
index 4747db1..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               as using it incorrectly can cause security problems.</para>
-
-               <para>This user name only gets used once a connection is established. 
-               Thus clients still need to connect as a valid user and supply a 
-               valid password. Once connected, all file operations will be performed 
-               as the &quot;forced user&quot;, no matter what username the client connected 
-               as.  This can be very useful.</para>
-
-               <para>In Samba 2.0.5 and above this parameter also causes the 
-               primary group of the forced user to be used as the primary group 
-               for all file activity. Prior to 2.0.5 the primary group was left 
-               as the primary group of the connecting user (this was a bug).</para>
-
-               <para>See also <link linkend="FORCEGROUP"><parameter moreinfo="none">force group
-               </parameter></link></para>
-
-               <para>Default: <emphasis>no forced user</emphasis></para>
-               <para>Example: <command moreinfo="none">force user = auser</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/group.xml b/docs/docbook/smbdotconf/security/group.xml
deleted file mode 100644 (file)
index afc410c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="GROUP"/>group (S)</term>
-               <listitem><para>Synonym for <link linkend="FORCEGROUP"><parameter moreinfo="none">force 
-               group</parameter></link>.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/guestaccount.xml b/docs/docbook/smbdotconf/security/guestaccount.xml
deleted file mode 100644 (file)
index ab15c44..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               guest ok</parameter></link> (see below). Whatever privileges this 
-               user has will be available to any client connecting to the guest service. 
-               Typically this user will exist in the password file, but will not
-               have a valid login. The user account &quot;ftp&quot; is often a good choice 
-               for this parameter. If a username is specified in a given service, 
-               the specified username overrides this one.</para>
-
-               <para>One some systems the default guest account &quot;nobody&quot; may not 
-               be able to print. Use another account in this case. You should test 
-               this by trying to log in as your guest user (perhaps by using the 
-               <command moreinfo="none">su -</command> command) and trying to print using the 
-               system print command such as <command moreinfo="none">lpr(1)</command> or <command moreinfo="none">
-               lp(1)</command>.</para>
-
-               <para>This parameter does not accept % macros, because
-               many parts of the system require this value to be
-               constant for correct operation.</para>
-               
-               <para>Default: <emphasis>specified at compile time, usually 
-               &quot;nobody&quot;</emphasis></para>
-
-               <para>Example: <command moreinfo="none">guest account = ftp</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/guestok.xml b/docs/docbook/smbdotconf/security/guestok.xml
deleted file mode 100644 (file)
index 2b7a8ce..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               guest account</parameter></link>.</para>
-
-               <para>This paramater nullifies the benifits of setting
-               <link linkend="RESTRICTANONYMOUS"><parameter moreinfo="none">restrict
-               anonymous</parameter></link> = 2</para>
-
-               <para>See the section below on <link linkend="SECURITY"><parameter moreinfo="none">
-               security</parameter></link> for more information about this option.
-               </para>
-
-               <para>Default: <command moreinfo="none">guest ok = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/guestonly.xml b/docs/docbook/smbdotconf/security/guestonly.xml
deleted file mode 100644 (file)
index ac7f62a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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">
-               <parameter moreinfo="none">guest ok</parameter></link> is not set for the service.</para>
-
-               <para>See the section below on <link linkend="SECURITY"><parameter moreinfo="none">
-               security</parameter></link> for more information about this option.
-               </para>
-
-               <para>Default: <command moreinfo="none">guest only = no</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/hostsallow.xml b/docs/docbook/smbdotconf/security/hostsallow.xml
deleted file mode 100644 (file)
index ea91b73..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="HOSTSALLOW"/>hosts allow (S)</term>
-               <listitem><para>A synonym for this parameter is <parameter moreinfo="none">allow 
-               hosts</parameter>.</para>
-               
-               <para>This parameter is a comma, space, or tab delimited 
-               set of hosts which are permitted to access a service.</para>
-
-               <para>If specified in the [global] section then it will
-               apply to all services, regardless of whether the individual 
-               service has a different setting.</para>
-
-               <para>You can specify the hosts by name or IP number. For 
-               example, you could restrict access to only the hosts on a 
-               Class C subnet with something like <command moreinfo="none">allow hosts = 150.203.5.
-               </command>. The full syntax of the list is described in the man 
-               page <filename moreinfo="none">hosts_access(5)</filename>. Note that this man
-               page may not be present on your system, so a brief description will
-               be given here also.</para>
-
-               <para>Note that the localhost address 127.0.0.1 will always 
-               be allowed access unless specifically denied by a <link linkend="HOSTSDENY"><parameter moreinfo="none">hosts deny</parameter></link> option.</para>
-
-               <para>You can also specify hosts by network/netmask pairs and 
-               by netgroup names if your system supports netgroups. The 
-               <emphasis>EXCEPT</emphasis> keyword can also be used to limit a 
-               wildcard list. The following examples may provide some help:</para>
-
-               <para>Example 1: allow all IPs in 150.203.*.*; except one</para>
-
-               <para><command moreinfo="none">hosts allow = 150.203. EXCEPT 150.203.6.66</command></para>
-
-               <para>Example 2: allow hosts that match the given network/netmask</para>
-
-               <para><command moreinfo="none">hosts allow = 150.203.15.0/255.255.255.0</command></para>
-
-               <para>Example 3: allow a couple of hosts</para>
-
-               <para><command moreinfo="none">hosts allow = lapland, arvidsjaur</command></para>
-
-               <para>Example 4: allow only hosts in NIS netgroup &quot;foonet&quot;, but 
-               deny access from one particular host</para>
-
-               <para><command moreinfo="none">hosts allow = @foonet</command></para>
-
-               <para><command moreinfo="none">hosts deny = pirate</command></para>
-
-               <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 access 
-               to see if it does what you expect.</para>
-
-               <para>Default: <emphasis>none (i.e., all hosts permitted access)
-               </emphasis></para>
-               
-               <para>Example: <command moreinfo="none">allow hosts = 150.203.5. myhost.mynet.edu.au
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/hostsdeny.xml b/docs/docbook/smbdotconf/security/hostsdeny.xml
deleted file mode 100644 (file)
index f37e2b7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="HOSTSDENY"/>hosts deny (S)</term>
-               <listitem><para>The opposite of <parameter moreinfo="none">hosts allow</parameter> 
-               - hosts listed here are <emphasis>NOT</emphasis> permitted access to 
-               services unless the specific services have their own lists to override 
-               this one. Where the lists conflict, the <parameter moreinfo="none">allow</parameter> 
-               list takes precedence.</para>
-               
-               <para>Default: <emphasis>none (i.e., no hosts specifically excluded)
-               </emphasis></para>
-
-               <para>Example: <command moreinfo="none">hosts deny = 150.203.4. badhost.mynet.edu.au
-               </command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/hostsequiv.xml b/docs/docbook/smbdotconf/security/hostsequiv.xml
deleted file mode 100644 (file)
index 084d826..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               </para>
-               
-               <para>This is not be confused with <link linkend="HOSTSALLOW">
-               <parameter moreinfo="none">hosts allow</parameter></link> which is about hosts 
-               access to services and is more useful for guest services. <parameter moreinfo="none">
-               hosts equiv</parameter> may be useful for NT clients which will 
-               not supply passwords to Samba.</para>
-
-               <note><para>The use of <parameter moreinfo="none">hosts equiv
-               </parameter> can be a major security hole. This is because you are 
-               trusting the PC to supply the correct username. It is very easy to 
-               get a PC to supply a false username. I recommend that the 
-               <parameter moreinfo="none">hosts equiv</parameter> option be only used if you really 
-               know what you are doing, or perhaps on a home network where you trust 
-               your spouse and kids. And only if you <emphasis>really</emphasis> trust 
-               them :-).</para></note>
-               
-               <para>Default: <emphasis>no host equivalences</emphasis></para>
-               <para>Example: <command moreinfo="none">hosts equiv = /etc/hosts.equiv</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/inheritacls.xml b/docs/docbook/smbdotconf/security/inheritacls.xml
deleted file mode 100644 (file)
index f70c0d9..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               The default behavior is to use the mode specified
-               when creating the directory.  Enabling this option
-               sets the mode to 0777, thus guaranteeing that 
-               default directory acls are propagated.
-               </para>
-
-               <para>Default: <command moreinfo="none">inherit acls = no</command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/inheritpermissions.xml b/docs/docbook/smbdotconf/security/inheritpermissions.xml
deleted file mode 100644 (file)
index 34fade3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               create mask</parameter></link>, <link linkend="DIRECTORYMASK">
-               <parameter moreinfo="none">directory mask</parameter></link>, <link linkend="FORCECREATEMODE"><parameter moreinfo="none">force create mode</parameter>
-               </link> and <link linkend="FORCEDIRECTORYMODE"><parameter moreinfo="none">force 
-               directory mode</parameter></link> but the boolean inherit 
-               permissions parameter overrides this.</para>
-               
-               <para>New directories inherit the mode of the parent directory,
-               including bits such as setgid.</para>
-
-               <para>New files inherit their read/write bits from the parent 
-               directory.  Their execute bits continue to be determined by
-               <link linkend="MAPARCHIVE"><parameter moreinfo="none">map archive</parameter>
-               </link>, <link linkend="MAPHIDDEN"><parameter moreinfo="none">map hidden</parameter>
-               </link> and <link linkend="MAPSYSTEM"><parameter moreinfo="none">map system</parameter>
-               </link> as usual.</para>
-
-               <para>Note that the setuid bit is <emphasis>never</emphasis> set via 
-               inheritance (the code explicitly prohibits this).</para>
-
-               <para>This can be particularly useful on large systems with 
-               many users, perhaps several thousand, to allow a single [homes] 
-               share to be used flexibly by each user.</para>
-               
-               <para>See also <link linkend="CREATEMASK"><parameter moreinfo="none">create mask
-               </parameter></link>, <link linkend="DIRECTORYMASK"><parameter moreinfo="none">
-               directory mask</parameter></link>, <link linkend="FORCECREATEMODE">
-               <parameter moreinfo="none">force create mode</parameter></link> and <link linkend="FORCEDIRECTORYMODE"><parameter moreinfo="none">force directory mode</parameter>
-               </link>.</para>
-
-               <para>Default: <command moreinfo="none">inherit permissions = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/invalidusers.xml b/docs/docbook/smbdotconf/security/invalidusers.xml
deleted file mode 100644 (file)
index 34e534f..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               your security.</para>
-               
-               <para>A name starting with a '@' is interpreted as an NIS 
-               netgroup first (if your system supports NIS), and then as a UNIX 
-               group if the name was not found in the NIS netgroup database.</para>
-
-               <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 
-               (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 
-               so the value <parameter moreinfo="none">+&amp;group</parameter> means check the 
-               UNIX group database, followed by the NIS netgroup database, and 
-               the value <parameter moreinfo="none">&amp;+group</parameter> means check the NIS
-               netgroup database, followed by the UNIX group database (the 
-               same as the '@' prefix).</para>
-
-               <para>The current servicename is substituted for <parameter moreinfo="none">%S</parameter>. 
-               This is useful in the [homes] section.</para>
-
-               <para>See also <link linkend="VALIDUSERS"><parameter moreinfo="none">valid users
-               </parameter></link>.</para>
-
-               <para>Default: <emphasis>no invalid users</emphasis></para>
-               <para>Example: <command moreinfo="none">invalid users = root fred admin @wheel
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/lanmanauth.xml b/docs/docbook/smbdotconf/security/lanmanauth.xml
deleted file mode 100644 (file)
index 851b1ae..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para>Default : <command moreinfo="none">lanman auth = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/maptoguest.xml b/docs/docbook/smbdotconf/security/maptoguest.xml
deleted file mode 100644 (file)
index 966260a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">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 
-               login requests that don't match a valid UNIX user in some way.</para>
-
-               <para>The three settings are :</para>
-
-               <itemizedlist>
-                       <listitem><para><constant>Never</constant> - Means user login 
-                       requests with an invalid password are rejected. This is the 
-                       default.</para></listitem>
-                       
-                       <listitem><para><constant>Bad User</constant> - Means user
-                       logins with an invalid password are rejected, unless the username 
-                       does not exist, in which case it is treated as a guest login and 
-                       mapped into the <link linkend="GUESTACCOUNT"><parameter moreinfo="none">
-                       guest account</parameter></link>.</para></listitem>
-
-                       <listitem><para><constant>Bad Password</constant> - Means user logins 
-                       with an invalid password are treated as a guest login and mapped 
-                       into the <link linkend="GUESTACCOUNT">guest account</link>. Note that 
-                       this can cause problems as it means that any user incorrectly typing 
-                       their password will be silently logged on as &quot;guest&quot; - and 
-                       will not know the reason they cannot access files they think
-                       they should - there will have been no message given to them
-                       that they got their password wrong. Helpdesk services will
-                       <emphasis>hate</emphasis> you if you set the <parameter moreinfo="none">map to 
-                       guest</parameter> parameter this way :-).</para></listitem>
-               </itemizedlist>
-
-               <para>Note that this parameter is needed to set up &quot;Guest&quot; 
-               share services when using <parameter moreinfo="none">security</parameter> modes other than 
-               share. This is because in these modes the name of the resource being
-               requested is <emphasis>not</emphasis> sent to the server until after 
-               the server has successfully authenticated the client so the server 
-               cannot make authentication decisions at the correct time (connection 
-               to the share) for &quot;Guest&quot; shares.</para>
-
-               <para>For people familiar with the older Samba releases, this 
-               parameter maps to the old compile-time setting of the <constant>
-               GUEST_SESSSETUP</constant> value in local.h.</para>
-
-               <para>Default: <command moreinfo="none">map to guest = Never</command></para>
-               <para>Example: <command moreinfo="none">map to guest = Bad User</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/minpasswdlength.xml b/docs/docbook/smbdotconf/security/minpasswdlength.xml
deleted file mode 100644 (file)
index 8e52b92..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="MINPASSWDLENGTH"/>min passwd length (G)</term>
-               <listitem><para>Synonym for <link linkend="MINPASSWORDLENGTH">
-               <parameter moreinfo="none">min password length</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/minpasswordlength.xml b/docs/docbook/smbdotconf/security/minpasswordlength.xml
deleted file mode 100644 (file)
index da1e65a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">smbd</command> will accept when performing 
-               UNIX password changing.</para>
-
-               <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter moreinfo="none">unix 
-               password sync</parameter></link>, <link linkend="PASSWDPROGRAM">
-               <parameter moreinfo="none">passwd program</parameter></link> and <link linkend="PASSWDCHATDEBUG"><parameter moreinfo="none">passwd chat debug</parameter>
-               </link>.</para>
-
-               <para>Default: <command moreinfo="none">min password length = 5</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/nonunixaccountrange.xml b/docs/docbook/smbdotconf/security/nonunixaccountrange.xml
deleted file mode 100644 (file)
index baa9a78..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-                the storage of passwords for users who don't exist in /etc/passwd.  
-                This is most often used for machine account creation. 
-                This range of ids should have no existing local or NIS users within 
-                it as strange conflicts can occur otherwise.</para>
-
-                               <note><para>These userids never appear on the system and Samba will never
-                'become' these users. They are used only to ensure that the algorithmic 
-                RID mapping does not conflict with normal users.
-               </para></note>
-
-               <para>Default: <command moreinfo="none">non unix account range = &lt;empty string&gt;
-               </command></para>
-               
-               <para>Example: <command moreinfo="none">non unix account range = 10000-20000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/ntlmauth.xml b/docs/docbook/smbdotconf/security/ntlmauth.xml
deleted file mode 100644 (file)
index a3b8caf..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               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 moreinfo="none">lanman auth</command> should 
-               be enabled in order to be able to log in.
-               </para>
-               
-               <para>Default : <command moreinfo="none">ntlm auth = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/nullpasswords.xml b/docs/docbook/smbdotconf/security/nullpasswords.xml
deleted file mode 100644 (file)
index 40b687f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>Default: <command moreinfo="none">null passwords = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/obeypamrestrictions.xml b/docs/docbook/smbdotconf/security/obeypamrestrictions.xml
deleted file mode 100644 (file)
index 92a6bce..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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 <link linkend="ENCRYPTPASSWORDS"><parameter moreinfo="none">encrypt passwords = yes</parameter>
-               </link>.  The reason is that PAM modules cannot support the challenge/response
-               authentication mechanism needed in the presence of SMB password encryption.
-               </para>
-
-               <para>Default: <command moreinfo="none">obey pam restrictions = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/onlyguest.xml b/docs/docbook/smbdotconf/security/onlyguest.xml
deleted file mode 100644 (file)
index 018fa1a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ONLYGUEST"/>only guest (S)</term>
-               <listitem><para>A synonym for <link linkend="GUESTONLY"><parameter moreinfo="none">
-               guest only</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/onlyuser.xml b/docs/docbook/smbdotconf/security/onlyuser.xml
deleted file mode 100644 (file)
index d0bbac7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">user</parameter> 
-               list will be allowed. By default this option is disabled so that a 
-               client can supply a username to be used by the server.  Enabling
-               this parameter will force the server to only use the login 
-               names from the <parameter moreinfo="none">user</parameter> list and is only really
-               useful in <link linkend="SECURITYEQUALSSHARE">share level</link>
-               security.</para>
-
-               <para>Note that this also means Samba won't try to deduce 
-               usernames from the service name. This can be annoying for 
-               the [homes] section. To get around this you could use <command moreinfo="none">user =
-               %S</command> which means your <parameter moreinfo="none">user</parameter> list
-               will be just the service name, which for home directories is the 
-               name of the user.</para>
-
-               <para>See also the <link linkend="USER"><parameter moreinfo="none">user</parameter>
-               </link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">only user = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/pampasswordchange.xml b/docs/docbook/smbdotconf/security/pampasswordchange.xml
deleted file mode 100644 (file)
index 8f0e91a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               changes when requested by an SMB client instead of the program listed in 
-                <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">passwd program</parameter></link>. 
-                It should be possible to enable this without changing your 
-                <link linkend="PASSWDCHAT"><parameter moreinfo="none">passwd chat</parameter></link>
-                parameter for most setups.
-               </para>
-               
-               <para>Default: <command moreinfo="none">pam password change = no</command></para>
-               
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passdbbackend.xml b/docs/docbook/smbdotconf/security/passdbbackend.xml
deleted file mode 100644 (file)
index 918c802..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-                Experimental backends must still be selected
-                (eg --with-tdbsam) at configure time.
-               </para>
-
-                <para>This parameter is in two parts, the backend's name, and a 'location'
-                string that has meaning only to that particular backed.  These are separated
-                by a : character.</para>
-
-                <para>Available backends can include:
-                <itemizedlist>
-                       <listitem><para><command moreinfo="none">smbpasswd</command> - The default smbpasswd
-                        backend.  Takes a path to the smbpasswd file as an optional argument.</para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">smbpasswd_nua</command> - The smbpasswd
-                        backend, but with support for 'not unix accounts'.  
-                        Takes a path to the smbpasswd file as an optional argument.</para>
-                        <para>See also <link linkend="NONUNIXACCOUNTRANGE">
-                        <parameter moreinfo="none">non unix account range</parameter></link></para></listitem>
-
-                       <listitem><para><command moreinfo="none">tdbsam</command> - The TDB based password storage
-                        backend.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
-                        in the <link linkend="PRIVATEDIR">
-                        <parameter moreinfo="none">private dir</parameter></link> directory.</para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">tdbsam_nua</command> - The TDB based password storage
-                        backend, with non unix account support.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
-                        in the <link linkend="PRIVATEDIR">
-                        <parameter moreinfo="none">private dir</parameter></link> directory.</para>
-                        <para>See also <link linkend="NONUNIXACCOUNTRANGE">
-                        <parameter moreinfo="none">non unix account range</parameter></link></para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">ldapsam</command> - The LDAP based passdb 
-                        backend.  Takes an LDAP URL as an optional argument (defaults to 
-                        <command moreinfo="none">ldap://localhost</command>)</para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">ldapsam_nua</command> - The LDAP based passdb 
-                        backend, with non unix account support.  Takes an LDAP URL as an optional argument (defaults to 
-                        <command moreinfo="none">ldap://localhost</command>)</para>
-
-                       <para>Note:  In this module, any account without a matching POSIX account is regarded
-                        as 'non unix'.  </para>
-
-                       <para>See also <link linkend="NONUNIXACCOUNTRANGE">
-                        <parameter moreinfo="none">non unix account
-                        range</parameter></link></para>
-                       
-                       <para>LDAP connections should be secured where
-                        possible.  This may be done using either
-                        Start-TLS (see <link linkend="LDAPSSL">
-                        <parameter moreinfo="none">ldap ssl</parameter></link>) or by
-                        specifying <parameter moreinfo="none">ldaps://</parameter> in
-                        the URL argument.  
-                        </para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">nisplussam</command> - The NIS+ based passdb backend. Takes name NIS domain as an optional argument. Only works with sun NIS+ servers. </para></listitem>
-                       
-                       <listitem><para><command moreinfo="none">plugin</command> - Allows Samba to load an 
-                        arbitary passdb backend from the .so specified as a compulsary argument.
-                        </para>
-
-                        <para>Any characters after the (optional) second : are passed to the plugin
-                        for its own processing</para>
-                        </listitem>
-               
-                       <listitem><para><command moreinfo="none">unixsam</command> - Allows samba to map all (other) available unix users</para>
-
-                       <para>This backend uses the standard unix database for retrieving users. Users included 
-                        in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
-                        able to login. The use of this backend is to always be able to display the owner of a file 
-                        on the samba server - even when the user doesn't have a 'real' samba account in one of the 
-                        other passdb backends.
-                       </para>
-
-                       <para>This backend should always be the last backend listed, since it contains all users in 
-                        the unix passdb and might 'override' mappings if specified earlier. It's meant to only return 
-                        accounts for users that aren't covered by the previous backends.</para>
-                       </listitem>
-               </itemizedlist>
-               </para>
-
-               <para>Default: <command moreinfo="none">passdb backend = smbpasswd unixsam</command></para>
-               <para>Example: <command moreinfo="none">passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam</command></para>
-               <para>Example: <command moreinfo="none">passdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam</command></para>
-               <para>Example: <command moreinfo="none">passdb backend = plugin:/usr/local/samba/lib/my_passdb.so:my_plugin_args tdbsam:/etc/samba/private/passdb.tdb</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passwdchat.xml b/docs/docbook/smbdotconf/security/passwdchat.xml
deleted file mode 100644 (file)
index 922f1a8..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PASSWDCHAT"/>passwd chat (G)</term>
-               <listitem><para>This string controls the <emphasis>&quot;chat&quot;</emphasis> 
-               conversation that takes places between <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> 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 
-               <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">passwd program</parameter>
-               </link> and what to expect back. If the expected output is not 
-               received then the password is not changed.</para>
-
-               <para>This chat sequence is often quite site specific, depending 
-               on what local methods are used for password control (such as NIS 
-               etc).</para>
-               <para>Note that this parameter only is only used if the <link linkend="UNIXPASSWORDSYNC"><parameter moreinfo="none">unix 
-               password sync</parameter></link> parameter is set to <constant>yes</constant>. This 
-               sequence is then called <emphasis>AS ROOT</emphasis> when the SMB password 
-               in the smbpasswd file is being changed, without access to the old 
-               password cleartext. This means that root must be able to reset the user's password
-               without knowing the text of the previous password. In the presence of NIS/YP, 
-               this means that the <link linkend="PASSWDPROGRAM">passwd program</link> must be 
-               executed on the NIS master.
-               </para>
-
-
-               <para>The string can contain the macro <parameter moreinfo="none">%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, 
-               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 
-               in them into a single string.</para>
-
-               <para>If the send string in any part of the chat sequence 
-               is a full stop &quot;.&quot;,  then no string is sent. Similarly, 
-               if the expect string is a full stop then no string is expected.</para>
-
-               <para>If the <link linkend="PAMPASSWORDCHANGE"><parameter moreinfo="none">pam
-               password change</parameter></link> parameter is set to <constant>yes</constant>, the chat pairs
-                may be matched in any order, and success is determined by the PAM result, 
-                not any particular output. The \n macro is ignored for PAM conversions.
-               </para>
-
-               <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter moreinfo="none">unix password 
-               sync</parameter></link>, <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">
-               passwd program</parameter></link> ,<link linkend="PASSWDCHATDEBUG">
-               <parameter moreinfo="none">passwd chat debug</parameter></link> and <link linkend="PAMPASSWORDCHANGE">
-               <parameter moreinfo="none">pam password change</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">passwd chat = *new*password* %n\\n 
-               *new*password* %n\\n *changed*</command></para>
-               <para>Example: <command moreinfo="none">passwd chat = &quot;*Enter OLD password*&quot; %o\\n 
-               &quot;*Enter NEW password*&quot; %n\\n &quot;*Reenter NEW password*&quot; %n\\n &quot;*Password 
-               changed*&quot;</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passwdchatdebug.xml b/docs/docbook/smbdotconf/security/passwdchatdebug.xml
deleted file mode 100644 (file)
index a5771b7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               <link linkend="DEBUGLEVEL"><parameter moreinfo="none">debug level</parameter></link> 
-               of 100. This is a dangerous option as it will allow plaintext passwords 
-               to be seen in the <command moreinfo="none">smbd</command> log. It is available to help 
-               Samba admins debug their <parameter moreinfo="none">passwd chat</parameter> scripts 
-               when calling the <parameter moreinfo="none">passwd program</parameter> and should 
-               be turned off after this has been done. This option has no effect if the 
-                <link linkend="PAMPASSWORDCHANGE"><parameter moreinfo="none">pam password change</parameter></link>
-                paramter is set. This parameter is off by default.</para>
-  
-
-               <para>See also <link linkend="PASSWDCHAT"><parameter moreinfo="none">passwd chat</parameter>
-               </link>, <link linkend="PAMPASSWORDCHANGE"><parameter moreinfo="none">pam password change</parameter>
-                </link>, <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">passwd program</parameter>
-               </link>.</para>
-
-               <para>Default: <command moreinfo="none">passwd chat debug = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passwdprogram.xml b/docs/docbook/smbdotconf/security/passwdprogram.xml
deleted file mode 100644 (file)
index dae24e2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">%u</parameter> 
-               will be replaced with the user name. The user name is checked for 
-               existence before calling the password changing program.</para>
-
-               <para>Also note that many passwd programs insist in <emphasis>reasonable
-               </emphasis> passwords, such as a minimum length, or the inclusion 
-               of mixed case chars and digits. This can pose a problem as some clients 
-               (such as Windows for Workgroups) uppercase the password before sending 
-               it.</para>
-
-               <para><emphasis>Note</emphasis> that if the <parameter moreinfo="none">unix 
-               password sync</parameter> parameter is set to <constant>yes
-               </constant> then this program is called <emphasis>AS ROOT</emphasis> 
-               before the SMB password in the <ulink url="smbpasswd.5.html">smbpasswd(5)
-               </ulink> file is changed. If this UNIX password change fails, then 
-               <command moreinfo="none">smbd</command> will fail to change the SMB password also 
-               (this is by design).</para>
-
-               <para>If the <parameter moreinfo="none">unix password sync</parameter> parameter 
-               is set this parameter <emphasis>MUST USE ABSOLUTE PATHS</emphasis> 
-               for <emphasis>ALL</emphasis> programs called, and must be examined 
-               for security implications. Note that by default <parameter moreinfo="none">unix 
-               password sync</parameter> is set to <constant>no</constant>.</para>
-
-               <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter moreinfo="none">unix 
-               password sync</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">passwd program = /bin/passwd</command></para>
-               <para>Example: <command moreinfo="none">passwd program = /sbin/npasswd %u</command>
-               </para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passwordlevel.xml b/docs/docbook/smbdotconf/security/passwordlevel.xml
deleted file mode 100644 (file)
index 408082f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               case when using the LANMAN1 protocol, but leaves them alone when 
-               using COREPLUS!  Another problem child is the Windows 95/98
-               family of operating systems.  These clients upper case clear
-               text passwords even when NT LM 0.12 selected by the protocol
-               negotiation request/response.</para>
-
-               <para>This parameter defines the maximum number of characters 
-               that may be upper case in passwords.</para>
-
-               <para>For example, say the password given was &quot;FRED&quot;. If <parameter moreinfo="none">
-               password level</parameter> is set to 1, the following combinations 
-               would be tried if &quot;FRED&quot; failed:</para>
-
-               <para>&quot;Fred&quot;, &quot;fred&quot;, &quot;fRed&quot;, &quot;frEd&quot;,&quot;freD&quot;</para>
-
-               <para>If <parameter moreinfo="none">password level</parameter> was set to 2, 
-               the following combinations would also be tried: </para>
-
-               <para>&quot;FRed&quot;, &quot;FrEd&quot;, &quot;FreD&quot;, &quot;fREd&quot;, &quot;fReD&quot;, &quot;frED&quot;, ..</para>
-
-               <para>And so on.</para>
-
-               <para>The higher value this parameter is set to the more likely 
-               it is that a mixed case password will be matched against a single 
-               case password. However, you should be aware that use of this 
-               parameter reduces security and increases the time taken to 
-               process a new connection.</para>
-
-               <para>A value of zero will cause only two attempts to be 
-               made - the password as is and the password in all-lower case.</para>
-
-               <para>Default: <command moreinfo="none">password level = 0</command></para>
-               <para>Example: <command moreinfo="none">password level = 4</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/passwordserver.xml b/docs/docbook/smbdotconf/security/passwordserver.xml
deleted file mode 100644 (file)
index b803816..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">security = domain
-               </command> or <command moreinfo="none">security = server</command> you can get Samba 
-               to do all its username/password validation via a remote server.</para>
-
-               <para>This option sets the name of the password server to use. 
-               It must be a NetBIOS name, so if the machine's NetBIOS name is 
-               different from its Internet name then you may have to add its NetBIOS 
-               name to the lmhosts  file which is stored in the same directory 
-               as the <filename moreinfo="none">smb.conf</filename> file.</para>
-
-               <para>The name of the password server is looked up using the 
-               parameter <link linkend="NAMERESOLVEORDER"><parameter moreinfo="none">name 
-               resolve order</parameter></link> and so may resolved
-               by any method and order described in that parameter.</para>
-
-               <para>The password server must be a machine capable of using 
-               the &quot;LM1.2X002&quot; or the &quot;NT LM 0.12&quot; protocol, and it must be in 
-               user level security mode.</para>
-
-               <note><para>Using a password server 
-               means your UNIX box (running Samba) is only as secure as your 
-               password server. <emphasis>DO NOT CHOOSE A PASSWORD SERVER THAT 
-               YOU DON'T COMPLETELY TRUST</emphasis>.</para></note>
-               
-               <para>Never point a Samba server at itself for password 
-               serving. This will cause a loop and could lock up your Samba 
-               server!</para>
-
-               <para>The name of the password server takes the standard 
-               substitutions, but probably the only useful one is <parameter moreinfo="none">%m
-               </parameter>, which means the Samba server will use the incoming 
-               client as the password server. If you use this then you better 
-               trust your clients, and you had better restrict them with hosts allow!</para>
-
-               <para>If the <parameter moreinfo="none">security</parameter> parameter is set to
-               <constant>domain</constant>, then the list of machines in this 
-               option must be a list of Primary or Backup Domain controllers for the
-               Domain or the character '*', as the Samba server is effectively
-               in that domain, and will use cryptographically authenticated RPC calls
-               to authenticate the user logging on. The advantage of using <command moreinfo="none">
-               security = domain</command> is that if you list several hosts in the 
-               <parameter moreinfo="none">password server</parameter> option then <command moreinfo="none">smbd
-               </command> will try each in turn till it finds one that responds. This 
-               is useful in case your primary server goes down.</para>
-
-               <para>If the <parameter moreinfo="none">password server</parameter> option is set 
-               to the character '*', then Samba will attempt to auto-locate the 
-               Primary or Backup Domain controllers to authenticate against by 
-               doing a query for the name <constant>WORKGROUP&lt;1C&gt;</constant> 
-               and then contacting each server returned in the list of IP 
-               addresses from the name resolution source. </para>
-
-               <para>If the list of servers contains both names and the '*'
-               character, the list is treated as a list of preferred 
-               domain controllers, but an auto lookup of all remaining DC's
-               will be added to the list as well.  Samba will not attempt to optimize 
-               this list by locating the closest DC.</para>
-               
-               <para>If the <parameter moreinfo="none">security</parameter> parameter is 
-               set to <constant>server</constant>, then there are different
-               restrictions that <command moreinfo="none">security = domain</command> doesn't 
-               suffer from:</para>
-
-               <itemizedlist>
-                       <listitem><para>You may list several password servers in 
-                       the <parameter moreinfo="none">password server</parameter> parameter, however if an 
-                       <command moreinfo="none">smbd</command> makes a connection to a password server, 
-                       and then the password server fails, no more users will be able 
-                       to be authenticated from this <command moreinfo="none">smbd</command>.  This is a 
-                       restriction of the SMB/CIFS protocol when in <command moreinfo="none">security = server
-                       </command> mode and cannot be fixed in Samba.</para></listitem>
-
-                       <listitem><para>If you are using a Windows NT server as your 
-                       password server then you will have to ensure that your users 
-                       are able to login from the Samba server, as when in <command moreinfo="none">
-                       security = server</command>  mode the network logon will appear to 
-                       come from there rather than from the users workstation.</para></listitem>
-               </itemizedlist>
-
-               <para>See also the <link linkend="SECURITY"><parameter moreinfo="none">security
-               </parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">password server = &lt;empty string&gt;</command>
-               </para>
-               <para>Example: <command moreinfo="none">password server = NT-PDC, NT-BDC1, NT-BDC2, *
-               </command></para>
-               <para>Example: <command moreinfo="none">password server = *</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/printeradmin.xml b/docs/docbook/smbdotconf/security/printeradmin.xml
deleted file mode 100644 (file)
index 7037fac..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               has admin rights.</para>
-
-               <para>Default: <command moreinfo="none">printer admin = &lt;empty string&gt;</command>
-               </para>
-               <para>Example: <command moreinfo="none">printer admin = admin, @staff</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/privatedir.xml b/docs/docbook/smbdotconf/security/privatedir.xml
deleted file mode 100644 (file)
index ca22089..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PRIVATEDIR"/>private dir (G)</term>
-               <listitem><para>This parameters defines the directory
-               smbd will use for storing such files as <filename moreinfo="none">smbpasswd</filename>
-               and <filename moreinfo="none">secrets.tdb</filename>.
-               </para>
-                               
-               <para>Default :<command moreinfo="none">private dir = ${prefix}/private</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/public.xml b/docs/docbook/smbdotconf/security/public.xml
deleted file mode 100644 (file)
index a1f6a1e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="PUBLIC"/>public (S)</term>
-               <listitem><para>Synonym for <link linkend="GUESTOK"><parameter moreinfo="none">guest 
-               ok</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/readlist.xml b/docs/docbook/smbdotconf/security/readlist.xml
deleted file mode 100644 (file)
index 15d135d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 linkend="READONLY"><parameter moreinfo="none">read only</parameter></link>
-               option is set to. The list can include group names using the 
-               syntax described in the <link linkend="INVALIDUSERS"><parameter moreinfo="none">
-               invalid users</parameter></link> parameter.</para>
-
-               <para>See also the <link linkend="WRITELIST"><parameter moreinfo="none">
-               write list</parameter></link> parameter and the <link linkend="INVALIDUSERS"><parameter moreinfo="none">invalid users</parameter>
-               </link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">read list = &lt;empty string&gt;</command></para>
-               <para>Example: <command moreinfo="none">read list = mary, @students</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/readonly.xml b/docs/docbook/smbdotconf/security/readonly.xml
deleted file mode 100644 (file)
index 0272193..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="READONLY"/>read only (S)</term>
-               <listitem><para>An inverted synonym is <link linkend="WRITEABLE">
-               <parameter moreinfo="none">writeable</parameter></link>.</para>
-
-               <para>If this parameter is <constant>yes</constant>, then users 
-               of a service may not create or modify files in the service's 
-               directory.</para>
-
-               <para>Note that a printable service (<command moreinfo="none">printable = yes</command>)
-               will <emphasis>ALWAYS</emphasis> allow writing to the directory 
-               (user privileges permitting), but only via spooling operations.</para>
-
-               <para>Default: <command moreinfo="none">read only = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/restrictanonymous.xml b/docs/docbook/smbdotconf/security/restrictanonymous.xml
deleted file mode 100644 (file)
index 4b09b7d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-                registry key does on NT/Win2k.  </para>
-
-               <para>Default: <command moreinfo="none">restrict anonymous = 0</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/root.xml b/docs/docbook/smbdotconf/security/root.xml
deleted file mode 100644 (file)
index f69c1a1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOT"/>root (G)</term>
-               <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
-               <parameter moreinfo="none">root directory&quot;</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/rootdir.xml b/docs/docbook/smbdotconf/security/rootdir.xml
deleted file mode 100644 (file)
index 1f543ae..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOTDIR"/>root dir (G)</term>
-               <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
-               <parameter moreinfo="none">root directory&quot;</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/rootdirectory.xml b/docs/docbook/smbdotconf/security/rootdirectory.xml
deleted file mode 100644 (file)
index 9efc11e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="ROOTDIRECTORY"/>root directory (G)</term>
-               <listitem><para>The server will <command moreinfo="none">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 
-               server will deny access to files not in one of the service entries. 
-               It may also check for, and deny access to, soft links to other 
-               parts of the filesystem, or attempts to use &quot;..&quot; in file names 
-               to access other directories (depending on the setting of the <link linkend="WIDELINKS"><parameter moreinfo="none">wide links</parameter></link> 
-               parameter).</para>
-
-               <para>Adding a <parameter moreinfo="none">root directory</parameter> entry other 
-               than &quot;/&quot; adds an extra level of security, but at a price. It 
-               absolutely ensures that no access is given to files not in the 
-               sub-tree specified in the <parameter moreinfo="none">root directory</parameter> 
-               option, <emphasis>including</emphasis> some files needed for 
-               complete operation of the server. To maintain full operability 
-               of the server you will need to mirror some system files 
-               into the <parameter moreinfo="none">root directory</parameter> tree. In particular 
-               you will need to mirror <filename moreinfo="none">/etc/passwd</filename> (or a 
-               subset of it), and any binaries or configuration files needed for 
-               printing (if required). The set of files that must be mirrored is
-               operating system dependent.</para>
-
-               <para>Default: <command moreinfo="none">root directory = /</command></para>
-               <para>Example: <command moreinfo="none">root directory = /homes/smb</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/security.xml b/docs/docbook/smbdotconf/security/security.xml
deleted file mode 100644 (file)
index 8e97d87..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               smb.conf</filename> file.</para>
-
-               <para>The option sets the &quot;security mode bit&quot; in replies to 
-               protocol negotiations with <citerefentry><refentrytitle>smbd</refentrytitle>
-               <manvolnum>8</manvolnum></citerefentry> 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>
-
-
-               <para>The default is <command moreinfo="none">security = user</command>, as this is
-               the most common setting needed when talking to Windows 98 and 
-               Windows NT.</para>
-
-               <para>The alternatives are <command moreinfo="none">security = share</command>,
-               <command moreinfo="none">security = server</command> or <command moreinfo="none">security = domain
-               </command>.</para>
-
-               <para>In versions of Samba prior to 2.0.0, the default was 
-               <command moreinfo="none">security = share</command> mainly because that was
-               the only option at one stage.</para>
-
-               <para>There is a bug in WfWg that has relevance to this 
-               setting. When in user or server level security a WfWg client 
-               will totally ignore the password you type in the &quot;connect 
-               drive&quot; dialog box. This makes it very difficult (if not impossible) 
-               to connect to a Samba service as anyone except the user that 
-               you are logged into WfWg as.</para>
-
-               <para>If your PCs use usernames that are the same as their 
-               usernames on the UNIX machine then you will want to use 
-               <command moreinfo="none">security = user</command>. If you mostly use usernames 
-               that don't exist on the UNIX box then use <command moreinfo="none">security = 
-               share</command>.</para>
-
-               <para>You should also use <command moreinfo="none">security = share</command> if you 
-               want to mainly setup shares without a password (guest shares). This 
-               is commonly used for a shared printer server. It is more difficult 
-               to setup guest shares with <command moreinfo="none">security = user</command>, see 
-               the <link linkend="MAPTOGUEST"><parameter moreinfo="none">map to guest</parameter>
-               </link>parameter for details.</para>
-               
-               <para>It is possible to use <command moreinfo="none">smbd</command> in a <emphasis>
-               hybrid mode</emphasis> where it is offers both user and share 
-               level security under different <link linkend="NETBIOSALIASES">
-               <parameter moreinfo="none">NetBIOS aliases</parameter></link>. </para>
-
-               <para>The different settings will now be explained.</para>
-
-
-               <para><anchor id="SECURITYEQUALSSHARE"/><emphasis>SECURITY = SHARE
-               </emphasis></para> 
-               
-               <para>When clients connect to a share level security server they 
-               need not log onto the server with a valid username and password before 
-               attempting to connect to a shared resource (although modern clients 
-               such as Windows 95/98 and Windows NT will send a logon request with 
-               a username but no password when talking to a <command moreinfo="none">security = share
-               </command> server). Instead, the clients send authentication information 
-               (passwords) on a per-share basis, at the time they attempt to connect 
-               to that share.</para>
-
-               <para>Note that <command moreinfo="none">smbd</command> <emphasis>ALWAYS</emphasis> 
-               uses a valid UNIX user to act on behalf of the client, even in
-               <command moreinfo="none">security = share</command> level security.</para>
-
-               <para>As clients are not required to send a username to the server
-               in share level security, <command moreinfo="none">smbd</command> uses several
-               techniques to determine the correct UNIX user to use on behalf
-               of the client.</para>
-
-               <para>A list of possible UNIX usernames to match with the given
-               client password is constructed using the following methods :</para>
-
-               <itemizedlist>
-                       <listitem><para>If the <link linkend="GUESTONLY"><parameter moreinfo="none">guest 
-                       only</parameter></link> parameter is set, then all the other 
-                       stages are missed and only the <link linkend="GUESTACCOUNT">
-                       <parameter moreinfo="none">guest account</parameter></link> username is checked.
-                       </para></listitem>
-
-                       <listitem><para>Is a username is sent with the share connection 
-                       request, then this username (after mapping - see <link linkend="USERNAMEMAP"><parameter moreinfo="none">username map</parameter></link>), 
-                       is added as a potential username.</para></listitem>
-
-                       <listitem><para>If the client did a previous <emphasis>logon
-                       </emphasis> request (the SessionSetup SMB call) then the 
-                       username sent in this SMB will be added as a potential username.
-                       </para></listitem>
-
-                       <listitem><para>The name of the service the client requested is 
-                       added as a potential username.</para></listitem>
-
-                       <listitem><para>The NetBIOS name of the client is added to 
-                       the list as a potential username.</para></listitem>
-
-                       <listitem><para>Any users on the <link linkend="USER"><parameter moreinfo="none">
-                       user</parameter></link> list are added as potential usernames.
-                       </para></listitem>
-               </itemizedlist>
-
-               <para>If the <parameter moreinfo="none">guest only</parameter> parameter is 
-               not set, then this list is then tried with the supplied password. 
-               The first user for whom the password matches will be used as the 
-               UNIX user.</para>
-
-               <para>If the <parameter moreinfo="none">guest only</parameter> parameter is 
-               set, or no username can be determined then if the share is marked 
-               as available to the <parameter moreinfo="none">guest account</parameter>, then this 
-               guest user will be used, otherwise access is denied.</para>
-
-               <para>Note that it can be <emphasis>very</emphasis> confusing 
-               in share-level security as to which UNIX username will eventually
-               be used in granting access.</para>
-
-               <para>See also the section <link linkend="VALIDATIONSECT">
-               NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
-
-               <para><anchor id="SECURITYEQUALSUSER"/><emphasis>SECURITY = USER
-               </emphasis></para>
-
-               <para>This is the default security setting in Samba 3.0. 
-               With user-level security a client must first &quot;log-on&quot; with a 
-               valid username and password (which can be mapped using the <link linkend="USERNAMEMAP"><parameter moreinfo="none">username map</parameter></link> 
-               parameter). Encrypted passwords (see the <link linkend="ENCRYPTPASSWORDS">
-               <parameter moreinfo="none">encrypted passwords</parameter></link> parameter) can also
-               be used in this security mode. Parameters such as <link linkend="USER">
-               <parameter moreinfo="none">user</parameter></link> and <link linkend="GUESTONLY">
-               <parameter moreinfo="none">guest only</parameter></link> if set are then applied and 
-               may change the UNIX user to use on this connection, but only after 
-               the user has been successfully authenticated.</para>
-
-               <para><emphasis>Note</emphasis> that the name of the resource being 
-               requested is <emphasis>not</emphasis> sent to the server until after 
-               the server has successfully authenticated the client. This is why 
-               guest shares don't work in user level security without allowing 
-               the server to automatically map unknown users into the <link linkend="GUESTACCOUNT"><parameter moreinfo="none">guest account</parameter></link>. 
-               See the <link linkend="MAPTOGUEST"><parameter moreinfo="none">map to guest</parameter>
-               </link> parameter for details on doing this.</para>
-
-               <para>See also the section <link linkend="VALIDATIONSECT">
-               NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
-
-               <para><anchor id="SECURITYEQUALSDOMAIN"/><emphasis>SECURITY = DOMAIN
-
-               </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 moreinfo="none">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><emphasis>Note</emphasis> that from the client's point 
-               of view <command moreinfo="none">security = domain</command> is the same as <command moreinfo="none">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 
-               the server has successfully authenticated the client. This is why 
-               guest shares don't work in user level security without allowing 
-               the server to automatically map unknown users into the <link linkend="GUESTACCOUNT"><parameter moreinfo="none">guest account</parameter></link>. 
-               See the <link linkend="MAPTOGUEST"><parameter moreinfo="none">map to guest</parameter>
-               </link> parameter for details on doing this.</para>
-
-               <para>See also the section <link linkend="VALIDATIONSECT">
-               NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
-
-               <para>See also the <link linkend="PASSWORDSERVER"><parameter moreinfo="none">password 
-               server</parameter></link> parameter and the <link linkend="ENCRYPTPASSWORDS"><parameter moreinfo="none">encrypted passwords</parameter>
-               </link> parameter.</para>
-
-               <para><anchor id="SECURITYEQUALSSERVER"/><emphasis>SECURITY = SERVER
-               </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 moreinfo="none">security =
-               user</command>. It expects the <link linkend="ENCRYPTPASSWORDS"><parameter moreinfo="none">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 moreinfo="none">smbpasswd</filename> file to check users against. See the 
-               documentation file in the <filename moreinfo="none">docs/</filename> directory 
-               <filename moreinfo="none">ENCRYPTION.txt</filename> for details on how to set this 
-               up.</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 from the client's point of 
-               view <command moreinfo="none">security = server</command> is the same as <command moreinfo="none">
-               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 
-               the server has successfully authenticated the client. This is why 
-               guest shares don't work in user level security without allowing 
-               the server to automatically map unknown users into the <link linkend="GUESTACCOUNT"><parameter moreinfo="none">guest account</parameter></link>. 
-               See the <link linkend="MAPTOGUEST"><parameter moreinfo="none">map to guest</parameter>
-               </link> parameter for details on doing this.</para>
-
-               <para>See also the section <link linkend="VALIDATIONSECT">
-               NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
-
-               <para>See also the <link linkend="PASSWORDSERVER"><parameter moreinfo="none">password 
-               server</parameter></link> parameter and the <link linkend="ENCRYPTPASSWORDS"><parameter moreinfo="none">encrypted passwords</parameter>
-               </link> parameter.</para>
-               
-               <para>Default: <command moreinfo="none">security = USER</command></para>
-               <para>Example: <command moreinfo="none">security = DOMAIN</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/securitymask.xml b/docs/docbook/smbdotconf/security/securitymask.xml
deleted file mode 100644 (file)
index 9ed0adc..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               dialog box.</para>
-
-               <para>This parameter is applied as a mask (AND'ed with) to 
-               the changed permission bits, thus preventing any bits not in 
-               this mask from being modified. Essentially, zero bits in this 
-               mask may be treated as a set of bits the user is not allowed 
-               to change.</para>
-
-               <para>If not set explicitly this parameter is 0777, allowing
-               a user to modify all the user/group/world permissions on a file.
-               </para>
-
-               <para><emphasis>Note</emphasis> that users who can access the 
-               Samba server through other means can easily bypass this 
-               restriction, so it is primarily useful for standalone 
-               &quot;appliance&quot; systems.  Administrators of most normal systems will 
-               probably want to leave it set to <constant>0777</constant>.</para>
-               
-               <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE">
-               <parameter moreinfo="none">force directory security mode</parameter></link>, 
-               <link linkend="DIRECTORYSECURITYMASK"><parameter moreinfo="none">directory 
-               security mask</parameter></link>, <link linkend="FORCESECURITYMODE">
-               <parameter moreinfo="none">force security mode</parameter></link> parameters.</para>
-
-               <para>Default: <command moreinfo="none">security mask = 0777</command></para>
-               <para>Example: <command moreinfo="none">security mask = 0770</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/smbpasswdfile.xml b/docs/docbook/smbdotconf/security/smbpasswdfile.xml
deleted file mode 100644 (file)
index 2efbd12..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-               
-               <para>Default: <command moreinfo="none">smb passwd file = ${prefix}/private/smbpasswd
-               </command></para>
-
-               <para>Example: <command moreinfo="none">smb passwd file = /etc/samba/smbpasswd
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/unixpasswordsync.xml b/docs/docbook/smbdotconf/security/unixpasswordsync.xml
deleted file mode 100644 (file)
index 41c6d98..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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. 
-               If this is set to <constant>yes</constant> the program specified in the <parameter moreinfo="none">passwd
-               program</parameter>parameter is called <emphasis>AS ROOT</emphasis> - 
-               to allow the new UNIX password to be set without access to the 
-               old UNIX password (as the SMB password change code has no 
-               access to the old password cleartext, only the new).</para>
-
-               <para>See also <link linkend="PASSWDPROGRAM"><parameter moreinfo="none">passwd 
-               program</parameter></link>, <link linkend="PASSWDCHAT"><parameter moreinfo="none">
-               passwd chat</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">unix password sync = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/updateencrypted.xml b/docs/docbook/smbdotconf/security/updateencrypted.xml
deleted file mode 100644 (file)
index 45c66e0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               they log on. This option allows a site to migrate from plaintext 
-               password authentication (users authenticate with plaintext 
-               password over the wire, and are checked against a UNIX account 
-               database) to encrypted password authentication (the SMB 
-               challenge/response authentication mechanism) without forcing
-               all users to re-enter their passwords via smbpasswd at the time the
-               change is made. This is a convenience option to allow the change over
-               to encrypted passwords to be made over a longer period. Once all users
-               have encrypted representations of their passwords in the smbpasswd
-               file this parameter should be set to <constant>no</constant>.</para>
-
-               <para>In order for this parameter to work correctly the <link linkend="ENCRYPTPASSWORDS"><parameter moreinfo="none">encrypt passwords</parameter>
-               </link> parameter must be set to <constant>no</constant> when
-               this parameter is set to <constant>yes</constant>.</para>
-
-               <para>Note that even when this parameter is set a user 
-               authenticating to <command moreinfo="none">smbd</command> must still enter a valid 
-               password in order to connect correctly, and to update their hashed 
-               (smbpasswd) passwords.</para>
-
-               <para>Default: <command moreinfo="none">update encrypted = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/user.xml b/docs/docbook/smbdotconf/security/user.xml
deleted file mode 100644 (file)
index 9c05020..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="USER"/>user (S)</term>
-               <listitem><para>Synonym for <link linkend="USERNAME"><parameter moreinfo="none">
-               username</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/username.xml b/docs/docbook/smbdotconf/security/username.xml
deleted file mode 100644 (file)
index 779f241..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>The <parameter moreinfo="none">username</parameter> line is needed only when 
-               the PC is unable to supply its own username. This is the case 
-               for the COREPLUS protocol or where your users have different WfWg 
-               usernames to UNIX usernames. In both these cases you may also be 
-               better using the \\server\share%user syntax instead.</para>
-
-               <para>The <parameter moreinfo="none">username</parameter> line is not a great 
-               solution in many cases as it means Samba will try to validate 
-               the supplied password against each of the usernames in the 
-               <parameter moreinfo="none">username</parameter> line in turn. This is slow and 
-               a bad idea for lots of users in case of duplicate passwords. 
-               You may get timeouts or security breaches using this parameter 
-               unwisely.</para>
-
-               <para>Samba relies on the underlying UNIX security. This 
-               parameter does not restrict who can login, it just offers hints 
-               to the Samba server as to what usernames might correspond to the 
-               supplied password. Users can login as whoever they please and 
-               they will be able to do no more damage than if they started a 
-               telnet session. The daemon runs as the user that they log in as, 
-               so they cannot do anything that user cannot do.</para>
-
-               <para>To restrict a service to a particular set of users you 
-               can use the <link linkend="VALIDUSERS"><parameter moreinfo="none">valid users
-               </parameter></link> parameter.</para>
-
-               <para>If any of the usernames begin with a '@' then the name 
-               will be looked up first in the NIS netgroups list (if Samba 
-               is compiled with netgroup support), followed by a lookup 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 '+' then the name 
-               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 
-               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>
-
-               <para>Note that searching though a groups database can take 
-               quite some time, and some clients may time out during the 
-               search.</para>
-
-               <para>See the section <link linkend="VALIDATIONSECT">NOTE ABOUT 
-               USERNAME/PASSWORD VALIDATION</link> for more information on how 
-               this parameter determines access to the services.</para>
-
-               <para>Default: <command moreinfo="none">The guest account if a guest service, 
-               else &lt;empty string&gt;.</command></para>
-
-               <para>Examples:<command moreinfo="none">username = fred, mary, jack, jane, 
-               @users, @pcgroup</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/usernamelevel.xml b/docs/docbook/smbdotconf/security/usernamelevel.xml
deleted file mode 100644 (file)
index a4deff3..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               username with the first letter capitalized, and fails if the 
-               username is not found on the UNIX machine.</para>
-
-               <para>If this parameter is set to non-zero the behavior changes. 
-               This parameter is a number that specifies the number of uppercase
-               combinations to try while trying to determine the UNIX user name. The
-               higher the number the more combinations will be tried, but the slower
-               the discovery of usernames will be. Use this parameter when you have
-               strange usernames on your UNIX machine, such as <constant>AstrangeUser
-               </constant>.</para>
-
-               <para>Default: <command moreinfo="none">username level = 0</command></para>
-               <para>Example: <command moreinfo="none">username level = 5</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/usernamemap.xml b/docs/docbook/smbdotconf/security/usernamemap.xml
deleted file mode 100644 (file)
index 37ee72c..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               that users use on DOS or Windows machines to those that the UNIX 
-               box uses. The other is to map multiple users to a single username 
-               so that they can more easily share files.</para>
-
-               <para>The map file is parsed line by line. Each line should 
-               contain a single UNIX username on the left then a '=' followed 
-               by a list of usernames on the right. The list of usernames on the 
-               right may contain names of the form @group in which case they 
-               will match any UNIX username in that group. The special client 
-               name '*' is a wildcard and matches any name. Each line of the 
-               map file may be up to 1023 characters long.</para>
-
-               <para>The file is processed on each line by taking the 
-               supplied username and comparing it with each username on the right 
-               hand side of the '=' signs. If the supplied name matches any of 
-               the names on the right hand side then it is replaced with the name 
-               on the left. Processing then continues with the next line.</para>
-
-               <para>If any line begins with a '#' or a ';' then it is 
-               ignored</para>
-
-               <para>If any line begins with an '!' then the processing
-               will stop after that line if a mapping was done by the line.
-               Otherwise mapping continues with every line being processed.
-               Using '!' is most useful when you have a wildcard mapping line
-               later in the file.</para>
-
-               <para>For example to map from the name <constant>admin</constant>
-               or <constant>administrator</constant> to the UNIX name <constant>
-               root</constant> you would use:</para>
-
-               <para><command moreinfo="none">root = admin administrator</command></para>
-
-               <para>Or to map anyone in the UNIX group <constant>system</constant>
-               to the UNIX name <constant>sys</constant> you would use:</para>
-
-               <para><command moreinfo="none">sys = @system</command></para>
-
-               <para>You can have as many mappings as you like in a username
-               map file.</para>
-
-
-               <para>If your system supports the NIS NETGROUP option then
-               the netgroup database is checked before the <filename moreinfo="none">/etc/group
-               </filename> database for matching groups.</para>
-
-               <para>You can map Windows usernames that have spaces in them
-                by using double quotes around the name. For example:</para>
-
-               <para><command moreinfo="none">tridge = &quot;Andrew Tridgell&quot;</command></para>
-
-               <para>would map the windows username &quot;Andrew Tridgell&quot; to the
-               unix username &quot;tridge&quot;.</para>
-
-               <para>The following example would map mary and fred to the
-               unix user sys, and map the rest to guest. Note the use of the
-               '!' to tell Samba to stop processing if it gets a match on
-               that line.</para>
-
-<para><programlisting format="linespecific">
-!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>
-               fred</constant> is remapped to <constant>mary</constant> then you
-               will actually be connecting to \\server\mary and will need to
-               supply a password suitable for <constant>mary</constant> not
-               <constant>fred</constant>. The only exception to this is the
-               username passed to the <link linkend="PASSWORDSERVER"><parameter moreinfo="none">
-               password server</parameter></link> (if you have one). The password
-               server will receive whatever username the client supplies without
-               modification.</para>
-
-               <para>Also note that no reverse mapping is done. The main effect
-               this has is with printing. Users who have been mapped may have
-               trouble deleting print jobs as PrintManager under WfWg will think
-               they don't own the print job.</para>
-
-               <para>Default: <emphasis>no username map</emphasis></para>
-               <para>Example: <command moreinfo="none">username map = /usr/local/samba/lib/users.map
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/users.xml b/docs/docbook/smbdotconf/security/users.xml
deleted file mode 100644 (file)
index e78d259..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="USERS"/>users (S)</term>
-               <listitem><para>Synonym for <link linkend="USERNAME"><parameter moreinfo="none">
-               username</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/validusers.xml b/docs/docbook/smbdotconf/security/validusers.xml
deleted file mode 100644 (file)
index 5155a5e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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;'
-               are interpreted using the same rules as described in the 
-               <parameter moreinfo="none">invalid users</parameter> parameter.</para>
-
-               <para>If this is empty (the default) then any user can login. 
-               If a username is in both this list and the <parameter moreinfo="none">invalid 
-               users</parameter> list then access is denied for that user.</para>
-
-               <para>The current servicename is substituted for <parameter moreinfo="none">%S
-               </parameter>. This is useful in the [homes] section.</para>
-
-               <para>See also <link linkend="INVALIDUSERS"><parameter moreinfo="none">invalid users
-               </parameter></link></para>
-
-               <para>Default: <emphasis>No valid users list (anyone can login)
-               </emphasis></para>
-
-               <para>Example: <command moreinfo="none">valid users = greg, @pcusers</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/writable.xml b/docs/docbook/smbdotconf/security/writable.xml
deleted file mode 100644 (file)
index 66ba44c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="WRITABLE"/>writable (S)</term>
-               <listitem><para>Synonym for <link linkend="WRITEABLE"><parameter moreinfo="none">
-               writeable</parameter></link> for people who can't spell :-).</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/writeable.xml b/docs/docbook/smbdotconf/security/writeable.xml
deleted file mode 100644 (file)
index b963410..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="WRITEABLE"/>writeable (S)</term>
-               <listitem><para>Inverted synonym for <link linkend="READONLY"><parameter moreinfo="none">
-               read only</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/writelist.xml b/docs/docbook/smbdotconf/security/writelist.xml
deleted file mode 100644 (file)
index 76ee56c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 linkend="READONLY"><parameter moreinfo="none">read only</parameter></link>
-               option is set to. The list can include group names using the 
-               @group syntax.</para>
-
-               <para>Note that if a user is in both the read list and the 
-               write list then they will be given write access.</para>
-
-               <para>See also the <link linkend="READLIST"><parameter moreinfo="none">read list
-               </parameter></link> option.</para>
-
-               <para>Default: <command moreinfo="none">write list = &lt;empty string&gt;
-               </command></para>
-
-               <para>Example: <command moreinfo="none">write list = admin, root, @staff
-               </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/security/writeok.xml b/docs/docbook/smbdotconf/security/writeok.xml
deleted file mode 100644 (file)
index 103c2be..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="WRITEOK"/>write ok (S)</term>
-               <listitem><para>Inverted synonym for <link linkend="READONLY"><parameter moreinfo="none">
-               read only</parameter></link>.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/smb.conf.5.xml b/docs/docbook/smbdotconf/smb.conf.5.xml
deleted file mode 100644 (file)
index edb9457..0000000
+++ /dev/null
@@ -1,685 +0,0 @@
-<?xml version="1.0" encoding="iso8859-1"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
-
-<!ENTITY % globalentities SYSTEM './../global.ent'> %globalentities;
-]>
-<refentry id="smb.conf.5">
-       
-<refmeta>
-       <refentrytitle>smb.conf</refentrytitle>
-       <manvolnum>5</manvolnum>
-</refmeta>
-
-
-<refnamediv>
-       <refname>smb.conf</refname>
-       <refpurpose>The configuration file for the Samba suite</refpurpose>
-</refnamediv>
-
-<refsect1>
-       <title>SYNOPSIS</title>
-
-       <para>The <filename moreinfo="none">smb.conf</filename> file is a configuration  
-       file for the Samba suite. <filename moreinfo="none">smb.conf</filename> contains  
-       runtime configuration information for the Samba programs. The <filename moreinfo="none">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>
-
-<refsect1>
-       <title id="FILEFORMATSECT">FILE FORMAT</title>
-
-       <para>The file consists of sections and parameters. A section 
-       begins with the name of the section in square brackets and continues 
-       until the next section begins. Sections contain parameters of the 
-       form</para>
-
-       <para><replaceable>name</replaceable> = <replaceable>value
-       </replaceable></para>
-
-       <para>The file is line-based - that is, each newline-terminated 
-       line represents either a comment, a section name or a parameter.</para>
-
-       <para>Section and parameter names are not case sensitive.</para>
-
-       <para>Only the first equals sign in a parameter is significant. 
-       Whitespace before or after the first equals sign is discarded.
-       Leading, trailing and internal whitespace in section and parameter 
-       names is irrelevant. Leading and trailing whitespace in a parameter 
-       value is discarded. Internal whitespace within a parameter value 
-       is retained verbatim.</para>
-
-       <para>Any line beginning with a semicolon (';') or a hash ('#') 
-       character is ignored, as are lines containing only whitespace.</para>
-
-       <para>Any line ending in a '\' is continued
-       on the next line in the customary UNIX fashion.</para>
-
-       <para>The values following the equals sign in parameters are all 
-       either a string (no quotes needed) or a boolean, which may be given 
-       as yes/no, 0/1 or true/false. Case is not significant in boolean 
-       values, but is preserved in string values. Some items such as 
-       create modes are numeric.</para>
-</refsect1>
-
-<refsect1>
-       <title>SECTION DESCRIPTIONS</title>
-
-       <para>Each section in the configuration file (except for the
-       [global] section) describes a shared resource (known
-       as a &quot;share&quot;). The section name is the name of the 
-       shared resource and the parameters within the section define 
-       the shares attributes.</para>
-
-       <para>There are three special sections, [global],
-       [homes] and [printers], which are
-       described under <emphasis>special sections</emphasis>. The
-       following notes apply to ordinary section descriptions.</para>
-
-       <para>A share consists of a directory to which access is being 
-       given plus a description of the access rights which are granted 
-       to the user of the service. Some housekeeping options are 
-       also specifiable.</para>
-       
-       <para>Sections are either file share services (used by the 
-       client as an extension of their native file systems) or 
-       printable services (used by the client to access print services 
-       on the host running the server).</para>
-       
-       <para>Sections may be designated <emphasis>guest</emphasis> services,
-       in which case no password is required to access them. A specified 
-       UNIX <emphasis>guest account</emphasis> is used to define access
-       privileges in this case.</para>
-
-       <para>Sections other than guest services will require a password 
-       to access them. The client provides the username. As older clients 
-       only provide passwords and not usernames, you may specify a list 
-       of usernames to check against the password using the &quot;user =&quot; 
-       option in the share definition. For modern clients such as 
-       Windows 95/98/ME/NT/2000, this should not be necessary.</para>
-
-       <para>Note that the access rights granted by the server are 
-       masked by the access rights granted to the specified or guest 
-       UNIX user by the host system. The server does not grant more
-       access than the host system grants.</para>
-       
-       <para>The following sample section defines a file space share. 
-       The user has write access to the path <filename moreinfo="none">/home/bar</filename>. 
-       The share is accessed via the share name &quot;foo&quot;:</para>
-
-<screen format="linespecific">
-<computeroutput moreinfo="none">
-[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 permitted is via calls to open, write to and close a 
-       spool file. The <emphasis>guest ok</emphasis> parameter means 
-       access will be permitted as the default guest user (specified 
-       elsewhere):</para>
-
-<screen format="linespecific">
-<computeroutput moreinfo="none">
-[aprinter]
-       path = /usr/spool/public
-       read only = yes
-       printable = yes
-       guest ok = yes
-</computeroutput>
-</screen>
-</refsect1>
-
-<refsect1>
-       <title>SPECIAL SECTIONS</title>
-       
-       <refsect2>
-               <title>The [global] section</title>
-               
-               <para>parameters in this section apply to the server 
-               as a whole, or are defaults for sections which do not 
-               specifically define certain items. See the notes
-               under PARAMETERS for more information.</para>
-       </refsect2>
-       
-       <refsect2>
-               <title id="HOMESECT">The [homes] section</title>
-               
-               <para>If a section called homes is included in the 
-               configuration file, services connecting clients to their 
-               home directories can be created on the fly by the server.</para>
-
-               <para>When the connection request is made, the existing 
-               sections are scanned. If a match is found, it is used. If no 
-               match is found, the requested section name is treated as a 
-               user name and looked up in the local password file. If the 
-               name exists and the correct password has been given, a share is 
-               created by cloning the [homes] section.</para>
-               
-               <para>Some modifications are then made to the newly 
-               created share:</para>
-               
-               <itemizedlist>
-               <listitem><para>The share name is changed from homes to 
-               the located username.</para></listitem>
-
-               <listitem><para>If no path was given, the path is set to
-               the user's home directory.</para></listitem>
-               </itemizedlist>
-
-               <para>If you decide to use a <emphasis>path =</emphasis> line 
-               in your [homes] section then you may find it useful 
-               to use the %S macro. For example :</para>
-
-               <para><userinput moreinfo="none">path = /data/pchome/%S</userinput></para>
-
-               <para>would be useful if you have different home directories 
-               for your PCs than for UNIX access.</para>
-
-               <para>This is a fast and simple way to give a large number 
-               of clients access to their home directories with a minimum 
-               of fuss.</para>
-
-               <para>A similar process occurs if the requested section 
-               name is &quot;homes&quot;, except that the share name is not 
-               changed to that of the requesting user. This method of using
-               the [homes] section works well if different users share 
-               a client PC.</para>
-               
-               <para>The [homes] section can specify all the parameters 
-               a normal service section can specify, though some make more sense 
-               than others. The following is a typical and suitable [homes]
-               section:</para>
-
-<screen format="linespecific">
-<computeroutput moreinfo="none">
-[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 
-               visible to all clients <emphasis>without a password</emphasis>. 
-               In the very unlikely event that this is actually desirable, it 
-               would be wise to also specify <emphasis>read only
-               access</emphasis>.</para>
-
-               <para>Note that the <emphasis>browseable</emphasis> flag for 
-               auto home directories will be inherited from the global browseable 
-               flag, not the [homes] browseable flag. This is useful as 
-               it means setting <emphasis>browseable = no</emphasis> in
-               the [homes] section will hide the [homes] share but make
-               any auto home directories visible.</para>
-       </refsect2>
-
-       <refsect2>
-               <title id="PRINTERSSECT">The [printers] section</title>
-               
-               <para>This section works like [homes], 
-               but for printers.</para>
-
-               <para>If a [printers] section occurs in the 
-               configuration file, users are able to connect to any printer 
-               specified in the local host's printcap file.</para>
-
-               <para>When a connection request is made, the existing sections 
-               are scanned. If a match is found, it is used. If no match is found, 
-               but a [homes] section exists, it is used as described
-               above. Otherwise, the requested section name is treated as a
-               printer name and the appropriate printcap file is scanned to see 
-               if the requested section name is a valid printer share name. If 
-               a match is found, a new printer share is created by cloning 
-               the [printers] section.</para>
-
-               <para>A few modifications are then made to the newly created 
-               share:</para>
-
-               <itemizedlist>
-               <listitem><para>The share name is set to the located printer 
-               name</para></listitem>
-
-               <listitem><para>If no printer name was given, the printer name 
-               is set to the located printer name</para></listitem>
-
-               <listitem><para>If the share does not permit guest access and 
-               no username was given, the username is set to the located 
-               printer name.</para></listitem>
-               </itemizedlist>
-
-               <para>Note that the [printers] service MUST be 
-               printable - if you specify otherwise, the server will refuse 
-               to load the configuration file.</para>
-               
-               <para>Typically the path specified would be that of a 
-               world-writeable spool directory with the sticky bit set on 
-               it. A typical [printers] entry would look like 
-               this:</para>
-
-<screen format="linespecific"><computeroutput moreinfo="none">
-[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. 
-               If your printing subsystem doesn't work like that, you will have 
-               to set up a pseudo-printcap. This is a file consisting of one or 
-               more lines like this:</para>
-
-<screen format="linespecific">
-<computeroutput moreinfo="none">
-alias|alias|alias|alias...    
-</computeroutput>
-</screen>
-
-               <para>Each alias should be an acceptable printer name for 
-               your printing subsystem. In the [global] section, specify 
-               the new file as your printcap.  The server will then only recognize 
-               names found in your pseudo-printcap, which of course can contain 
-               whatever aliases you like. The same technique could be used 
-               simply to limit access to a subset of your local printers.</para>
-
-               <para>An alias, by the way, is defined as any component of the 
-               first entry of a printcap record. Records are separated by newlines,
-               components (if there are more than one) are separated by vertical 
-               bar symbols ('|').</para>
-               
-               <note><para>On SYSV systems which use lpstat to determine what 
-               printers are defined on the system you may be able to use
-               &quot;printcap name = lpstat&quot; to automatically obtain a list 
-               of printers. See the &quot;printcap name&quot; option 
-               for more details.</para></note>
-       </refsect2>
-</refsect1>
-
-<refsect1>
-       <title>PARAMETERS</title>
-
-       <para>parameters define the specific attributes of sections.</para>
-
-       <para>Some parameters are specific to the [global] section
-       (e.g., <emphasis>security</emphasis>).  Some parameters are usable 
-       in all sections (e.g., <emphasis>create mode</emphasis>). All others 
-       are permissible only in normal sections. For the purposes of the 
-       following descriptions the [homes] and [printers]
-       sections will be considered normal.  The letter <emphasis>G</emphasis> 
-       in parentheses indicates that a parameter is specific to the
-       [global] section. The letter <emphasis>S</emphasis>
-       indicates that a parameter can be specified in a service specific
-       section. Note that all <emphasis>S</emphasis> parameters can also be specified in 
-       the [global] section - in which case they will define
-       the default behavior for all services.</para>
-
-       <para>parameters are arranged here in alphabetical order - this may 
-       not create best bedfellows, but at least you can find them! Where
-       there are synonyms, the preferred synonym is described, others refer 
-       to the preferred synonym.</para>
-</refsect1>
-
-<refsect1>
-       <title>VARIABLE SUBSTITUTIONS</title>
-
-       <para>Many of the strings that are settable in the config file 
-       can take substitutions. For example the option &quot;path =
-       /tmp/%u&quot; would be interpreted as &quot;path = 
-       /tmp/john&quot; if the user connected with the username john.</para>
-
-       <para>These substitutions are mostly noted in the descriptions below, 
-       but there are some general substitutions which apply whenever they 
-       might be relevant. These are:</para>
-
-       <variablelist>
-               <varlistentry>
-               <term>%U</term>
-               <listitem><para>session user name (the user name that the client 
-               wanted, not necessarily the same as the one they got).</para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%G</term>
-               <listitem><para>primary group name of %U.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%h</term>
-               <listitem><para>the Internet hostname that Samba is running 
-               on.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%m</term>
-               <listitem><para>the NetBIOS name of the client machine 
-               (very useful).</para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%L</term>
-               <listitem><para>the NetBIOS name of the server. This allows you 
-               to change your config based on what the client calls you. Your 
-               server can have a &quot;dual personality&quot;.</para>
-
-                <para>Note that this parameter is not available when Samba listens
-                on port 445, as clients no longer send this information </para>
-                </listitem>
-
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%M</term>
-               <listitem><para>the Internet name of the client machine.
-               </para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%R</term>
-               <listitem><para>the selected protocol level after 
-               protocol negotiation. It can be one of CORE, COREPLUS, 
-               LANMAN1, LANMAN2 or NT1.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%d</term>
-               <listitem><para>The process id of the current server
-               process.</para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%a</term>
-               <listitem><para>the architecture of the remote
-               machine. Only some are recognized, and those may not be 
-               100% reliable. It currently recognizes Samba, WfWg, Win95,
-               WinNT and Win2k. Anything else will be known as 
-               &quot;UNKNOWN&quot;. If it gets it wrong then sending a level 
-               3 log to <ulink url="mailto:samba@samba.org">samba@samba.org
-               </ulink> should allow it to be fixed.</para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%I</term>
-               <listitem><para>The IP address of the client machine.</para>
-               </listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%T</term>
-               <listitem><para>the current date and time.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%D</term>
-               <listitem><para>Name of the domain or workgroup of the current user.</para></listitem>
-               </varlistentry>
-               
-               <varlistentry>
-               <term>%$(<replaceable>envvar</replaceable>)</term>
-               <listitem><para>The value of the environment variable
-               <replaceable>envar</replaceable>.</para></listitem>
-               </varlistentry>
-       </variablelist>
-
-       <para>The following substitutes apply only to some configuration options(only those 
-       that are used when a connection has been established):</para>
-
-       <variablelist>
-               <varlistentry>
-               <term>%S</term>
-               <listitem><para>the name of the current service, if any.</para>
-               </listitem>
-               </varlistentry>
-       
-               <varlistentry>
-               <term>%P</term>
-               <listitem><para>the root directory of the current service, 
-               if any.</para></listitem>
-               </varlistentry>
-       
-               <varlistentry>
-               <term>%u</term>
-               <listitem><para>user name of the current service, if any.</para>
-               </listitem>
-               </varlistentry>
-       
-               <varlistentry>
-               <term>%g</term>
-               <listitem><para>primary group name of %u.</para></listitem>
-               </varlistentry>
-       
-               <varlistentry>
-               <term>%H</term>
-               <listitem><para>the home directory of the user given 
-               by %u.</para></listitem>
-               </varlistentry>
-
-               <varlistentry>
-               <term>%N</term>
-               <listitem><para>the name of your NIS home directory server.  
-               This is obtained from your NIS auto.map entry.  If you have 
-               not compiled Samba with the <emphasis>--with-automount</emphasis> 
-               option then this value will be the same as %L.</para>
-               </listitem>
-               </varlistentry>
-       
-               <varlistentry>
-               <term>%p</term>
-               <listitem><para>the path of the service's home directory, 
-               obtained from your NIS auto.map entry. The NIS auto.map entry 
-               is split up as &quot;%N:%p&quot;.</para></listitem>
-               </varlistentry>
-       </variablelist>
-       
-       <para>There are some quite creative things that can be done 
-       with these substitutions and other smb.conf options.</para>
-</refsect1>
-
-<refsect1>
-       <title id="NAMEMANGLINGSECT">NAME MANGLING</title>
-       
-       <para>Samba supports &quot;name mangling&quot; so that DOS and 
-       Windows clients can use files that don't conform to the 8.3 format. 
-       It can also be set to adjust the case of 8.3 format filenames.</para>
-
-       <para>There are several options that control the way mangling is 
-       performed, and they are grouped here rather than listed separately. 
-       For the defaults look at the output of the testparm program. </para>
-
-       <para>All of these options can be set separately for each service 
-       (or globally, of course). </para>
-
-       <para>The options are: </para>
-       
-       <variablelist>
-       
-       <varlistentry>
-               <term>mangle case = yes/no</term>
-               <listitem><para> controls if names that have characters that 
-               aren't of the &quot;default&quot; case are mangled. For example, 
-               if this is yes then a name like &quot;Mail&quot; would be mangled. 
-               Default <emphasis>no</emphasis>.</para></listitem>
-               </varlistentry> 
-       
-               <varlistentry>
-               <term>case sensitive = yes/no</term>
-               <listitem><para>controls whether filenames are case sensitive. If 
-               they aren't then Samba must do a filename search and match on passed 
-               names. Default <emphasis>no</emphasis>.</para></listitem>
-               </varlistentry> 
-
-               <varlistentry>
-               <term>default case = upper/lower</term>
-               <listitem><para>controls what the default case is for new 
-               filenames. Default <emphasis>lower</emphasis>.</para></listitem>
-               </varlistentry> 
-       
-               <varlistentry>
-               <term>preserve case = yes/no</term>
-               <listitem><para>controls if new files are created with the 
-               case that the client passes, or if they are forced to be the 
-               &quot;default&quot; case. Default <emphasis>yes</emphasis>.
-               </para></listitem>
-               </varlistentry> 
-
-               <varlistentry>
-               <term>short preserve case = yes/no</term>
-               <listitem><para>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 to be the &quot;default&quot; 
-               case. This option can be use with &quot;preserve case = yes&quot; 
-               to permit long filenames to retain their case, while short names 
-               are lowercased. Default <emphasis>yes</emphasis>.</para></listitem>
-               </varlistentry> 
-       </variablelist>
-       
-       <para>By default, Samba 3.0 has the same semantics as a Windows 
-       NT server, in that it is case insensitive but case preserving.</para>
-       
-</refsect1>
-
-<refsect1>
-       <title id="VALIDATIONSECT">NOTE ABOUT USERNAME/PASSWORD VALIDATION</title>
-
-       <para>There are a number of ways in which a user can connect 
-       to a service. The server uses the following steps in determining 
-       if it will allow a connection to a specified service. If all the 
-       steps fail, then the connection request is rejected.  However, if one of the 
-       steps succeeds, then the following steps are not checked.</para>
-
-       <para>If the service is marked &quot;guest only = yes&quot; and the
-       server is running with share-level security (&quot;security = share&quot;)
-       then steps 1 to 5 are skipped.</para>
-
-
-       <orderedlist continuation="restarts" inheritnum="ignore" 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 
-               username. Note that this includes the 
-               \\server\service%<replaceable>username</replaceable> method of passing 
-               a username.</para></listitem>
-
-               <listitem><para>If the client has previously registered a username 
-               with the system and now supplies a correct password for that 
-               username then the connection is allowed.</para></listitem>
-               
-               <listitem><para>The client's NetBIOS name and any previously 
-               used user names are checked against the supplied password, if 
-               they match then the connection is allowed as the corresponding 
-               user.</para></listitem>
-               
-               <listitem><para>If the client has previously validated a
-               username/password pair with the server and the client has passed 
-               the validation token then that username is used. </para></listitem>
-
-               <listitem><para>If a &quot;user = &quot; field is given in the
-               <filename moreinfo="none">smb.conf</filename> file for the service and the client 
-               has supplied a password, and that password matches (according to 
-               the UNIX system's password checking) with one of the usernames 
-               from the &quot;user =&quot; field then the connection is made as 
-               the username in the &quot;user =&quot; line. If one 
-               of the username in the &quot;user =&quot; list begins with a
-               '@' then that name expands to a list of names in 
-               the group of the same name.</para></listitem>
-
-               <listitem><para>If the service is a guest service then a 
-               connection is made as the username given in the &quot;guest 
-               account =&quot; for the service, irrespective of the 
-               supplied password.</para></listitem>
-       </orderedlist>
-
-</refsect1>
-
-<refsect1>
-       <title>COMPLETE LIST OF GLOBAL PARAMETERS</title>
-
-       <para>Here is a list of all global parameters. See the section of 
-       each parameter for details.  Note that some are synonyms.</para>
-
-        <xi:include href="parameters.global.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-</refsect1>
-
-<refsect1>
-       <title>COMPLETE LIST OF SERVICE PARAMETERS</title>
-       
-       <para>Here is a list of all service parameters. See the section on 
-       each parameter for details. Note that some are synonyms.</para>
-       
-        <xi:include href="parameters.service.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-</refsect1>
-
-<refsect1>
-       <title>EXPLANATION OF EACH PARAMETER</title>
-       
-        <xi:include href="parameters.all.xml" parse="xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-</refsect1>
-
-<refsect1>
-       <title>WARNINGS</title>
-       
-       <para>Although the configuration file permits service names 
-       to contain spaces, your client software may not. Spaces will 
-       be ignored in comparisons anyway, so it shouldn't be a 
-       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 
-       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>
-
-       <para>Use of the [homes] and [printers] special sections make life 
-       for an administrator easy, but the various combinations of default 
-       attributes can be tricky. Take extreme care when designing these 
-       sections. In particular, ensure that the permissions on spool 
-       directories are correct.</para>
-</refsect1>
-
-<refsect1>
-       <title>VERSION</title>
-
-       <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>
-</refsect1>
-
-<refsect1>
-       <title>AUTHOR</title>
-       
-       <para>The original Samba software and related utilities 
-       were created by Andrew Tridgell. Samba is now developed
-       by the Samba Team as an Open Source project similar 
-       to the way the Linux kernel is developed.</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/">
-       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>
-</refsect1>
-
-</refentry>
diff --git a/docs/docbook/smbdotconf/tuning/blocksize.xml b/docs/docbook/smbdotconf/tuning/blocksize.xml
deleted file mode 100644 (file)
index da42ca9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               sizes. By default, this reports a disk block size of 1024 bytes.
-               </para>        
-               
-               <para>Changing this parameter may have some effect on the
-               efficiency of client writes, this is not yet confirmed. This
-               parameter was added to allow advanced administrators to change
-               it (usually to a higher value) and test the effect it has on
-               client write performance without re-compiling the code. As this
-               is an experimental option it may be removed in a future release.
-               </para>
-
-               <para>Changing this option does not change the disk free reporting
-               size, just the block size unit reported to the client.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/changenotifytimeout.xml b/docs/docbook/smbdotconf/tuning/changenotifytimeout.xml
deleted file mode 100644 (file)
index 18c8b9a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="CHANGENOTIFYTIMEOUT"/>change notify timeout (G)</term>
-               <listitem><para>This SMB allows a client to tell a server to 
-               &quot;watch&quot; 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 
-               on each requested directory once every <parameter moreinfo="none">change notify 
-               timeout</parameter> seconds.</para>
-
-               <para>Default: <command moreinfo="none">change notify timeout = 60</command></para>
-               <para>Example: <command moreinfo="none">change notify timeout = 300</command></para>
-
-               <para>Would change the scan time to every 5 minutes.</para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/deadtime.xml b/docs/docbook/smbdotconf/tuning/deadtime.xml
deleted file mode 100644 (file)
index dbad06f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               effect if the number of open files is zero.</para>
-               
-               <para>This is useful to stop a server's resources being 
-               exhausted by a large number of inactive connections.</para>
-
-               <para>Most clients have an auto-reconnect feature when a 
-               connection is broken so in most cases this parameter should be 
-               transparent to users.</para>
-
-               <para>Using this parameter with a timeout of a few minutes 
-               is recommended for most systems.</para>
-
-               <para>A deadtime of zero indicates that no auto-disconnection 
-               should be performed.</para>
-
-               <para>Default: <command moreinfo="none">deadtime = 0</command></para>
-               <para>Example: <command moreinfo="none">deadtime = 15</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/getwdcache.xml b/docs/docbook/smbdotconf/tuning/getwdcache.xml
deleted file mode 100644 (file)
index c797bad..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               when the <link linkend="WIDELINKS"><parameter moreinfo="none">wide links</parameter>
-               </link>parameter is set to <constant>no</constant>.</para>
-
-               <para>Default: <command moreinfo="none">getwd cache = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/hostnamelookups.xml b/docs/docbook/smbdotconf/tuning/hostnamelookups.xml
deleted file mode 100644 (file)
index daad09d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               the <command moreinfo="none">hosts deny</command> and <command moreinfo="none">hosts allow</command>.
-               </para>
-
-               <para>Default: <command moreinfo="none">hostname lookups = yes</command></para>
-
-               <para>Example: <command moreinfo="none">hostname lookups = no</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/keepalive.xml b/docs/docbook/smbdotconf/tuning/keepalive.xml
deleted file mode 100644 (file)
index 746cda9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="KEEPALIVE"/>keepalive (G)</term>
-               <listitem><para>The value of the parameter (an integer) represents 
-               the number of seconds between <parameter moreinfo="none">keepalive</parameter> 
-               packets. If this parameter is zero, no keepalive packets will be 
-               sent. Keepalive packets, if sent, allow the server to tell whether 
-               a client is still present and responding.</para>
-
-               <para>Keepalives should, in general, not be needed if the socket 
-               being used has the SO_KEEPALIVE attribute set on it (see <link linkend="SOCKETOPTIONS"><parameter moreinfo="none">socket options</parameter></link>). 
-               Basically you should only use this option if you strike difficulties.</para>
-
-               <para>Default: <command moreinfo="none">keepalive = 300</command></para>
-               <para>Example: <command moreinfo="none">keepalive = 600</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/maxconnections.xml b/docs/docbook/smbdotconf/tuning/maxconnections.xml
deleted file mode 100644 (file)
index 24af886..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">max connections
-               </parameter> is greater than 0 then connections will be refused if 
-               this number of connections to the service are already open. A value 
-               of zero mean an unlimited number of connections may be made.</para>
-
-               <para>Record lock files are used to implement this feature. The 
-               lock files will be stored in the directory specified by the <link linkend="LOCKDIRECTORY"><parameter moreinfo="none">lock directory</parameter></link> 
-               option.</para>
-
-               <para>Default: <command moreinfo="none">max connections = 0</command></para>
-               <para>Example: <command moreinfo="none">max connections = 10</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/maxdisksize.xml b/docs/docbook/smbdotconf/tuning/maxdisksize.xml
deleted file mode 100644 (file)
index 8aebe91..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               size.</para>
-
-               <para>Note that this option does not limit the amount of 
-               data you can put on the disk. In the above case you could still 
-               store much more than 100 MB on the disk, but if a client ever asks 
-               for the amount of free disk space or the total disk size then the 
-               result will be bounded by the amount specified in <parameter moreinfo="none">max 
-               disk size</parameter>.</para>
-
-               <para>This option is primarily useful to work around bugs 
-               in some pieces of software that can't handle very large disks, 
-               particularly disks over 1GB in size.</para>
-
-               <para>A <parameter moreinfo="none">max disk size</parameter> of 0 means no limit.</para>
-
-               <para>Default: <command moreinfo="none">max disk size = 0</command></para>
-               <para>Example: <command moreinfo="none">max disk size = 1000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/maxopenfiles.xml b/docs/docbook/smbdotconf/tuning/maxopenfiles.xml
deleted file mode 100644 (file)
index 85b76a3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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>
-               
-               <para>The limit of the number of open files is usually set 
-               by the UNIX per-process file descriptor limit rather than 
-               this parameter so you should never need to touch this parameter.</para>
-
-               <para>Default: <command moreinfo="none">max open files = 10000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/maxsmbdprocesses.xml b/docs/docbook/smbdotconf/tuning/maxsmbdprocesses.xml
deleted file mode 100644 (file)
index e46f018..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="MAXSMBDPROCESSES"/>max smbd processes (G)</term>
-               <listitem><para>This parameter limits the maximum number of 
-               <ulink url="smbd.8.html"><command moreinfo="none">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
-               to handle connections to all shares from a given host.
-               </para>
-
-               <para>Default: <command moreinfo="none">max smbd processes = 0</command>   ## no limit</para>
-               <para>Example: <command moreinfo="none">max smbd processes = 1000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/minprintspace.xml b/docs/docbook/smbdotconf/tuning/minprintspace.xml
deleted file mode 100644 (file)
index acbb65f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               means a user can always spool a print job.</para>
-
-               <para>See also the <link linkend="PRINTING"><parameter moreinfo="none">printing
-               </parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">min print space = 0</command></para>
-               <para>Example: <command moreinfo="none">min print space = 2000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/namecachetimeout.xml b/docs/docbook/smbdotconf/tuning/namecachetimeout.xml
deleted file mode 100644 (file)
index 0500a75..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.
-               </para>
-
-
-               <para>Default: <command moreinfo="none">name cache timeout = 660</command></para>
-               <para>Example: <command moreinfo="none">name cache timeout = 0</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/paranoidserversecurity.xml b/docs/docbook/smbdotconf/tuning/paranoidserversecurity.xml
deleted file mode 100644 (file)
index d60f179..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.  
-               </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 moreinfo="none">paranoid server security = yes</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/readsize.xml b/docs/docbook/smbdotconf/tuning/readsize.xml
deleted file mode 100644 (file)
index 59c6848..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="READSIZE"/>read size (G)</term>
-               <listitem><para>The option <parameter moreinfo="none">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 
-               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.</para>
-
-               <para>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.</para>
-
-               <para>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.</para>
-
-               <para>Default: <command moreinfo="none">read size = 16384</command></para>
-               <para>Example: <command moreinfo="none">read size = 8192</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/socketoptions.xml b/docs/docbook/smbdotconf/tuning/socketoptions.xml
deleted file mode 100644 (file)
index 3acc259..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Socket options are controls on the networking layer 
-               of the operating systems which allow the connection to be 
-               tuned.</para>
-
-               <para>This option will typically be used to tune your Samba 
-               server for optimal performance for your local network. There is 
-               no way that Samba can know what the optimal parameters are for 
-               your net, so you must experiment and choose them yourself. We 
-               strongly suggest you read the appropriate documentation for your 
-               operating system first (perhaps <command moreinfo="none">man setsockopt</command> 
-               will help).</para>
-
-               <para>You may find that on some systems Samba will say 
-               &quot;Unknown socket option&quot; when you supply an option. This means you 
-               either incorrectly  typed it or you need to add an include file 
-               to includes.h for your OS.  If the latter is the case please 
-               send the patch to <ulink url="mailto:samba@samba.org">
-               samba@samba.org</ulink>.</para>
-
-               <para>Any of the supported socket options may be combined 
-               in any way you like, as long as your OS allows it.</para>
-
-               <para>This is the list of socket options currently settable 
-               using this option:</para>
-
-               <itemizedlist>
-                       <listitem><para>SO_KEEPALIVE</para></listitem>
-                       <listitem><para>SO_REUSEADDR</para></listitem>
-                       <listitem><para>SO_BROADCAST</para></listitem>
-                       <listitem><para>TCP_NODELAY</para></listitem>
-                       <listitem><para>IPTOS_LOWDELAY</para></listitem>
-                       <listitem><para>IPTOS_THROUGHPUT</para></listitem>
-                       <listitem><para>SO_SNDBUF *</para></listitem>
-                       <listitem><para>SO_RCVBUF *</para></listitem>
-                       <listitem><para>SO_SNDLOWAT *</para></listitem>
-                       <listitem><para>SO_RCVLOWAT *</para></listitem>
-               </itemizedlist>
-
-               <para>Those marked with a <emphasis>'*'</emphasis> take an integer 
-               argument. The others can optionally take a 1 or 0 argument to enable 
-               or disable the option, by default they will be enabled if you 
-               don't specify 1 or 0.</para>
-
-               <para>To specify an argument use the syntax SOME_OPTION = VALUE 
-               for example <command moreinfo="none">SO_SNDBUF = 8192</command>. Note that you must 
-               not have any spaces before or after the = sign.</para>
-
-               <para>If you are on a local network then a sensible option 
-               might be</para>
-               <para><command moreinfo="none">socket options = IPTOS_LOWDELAY</command></para>
-
-               <para>If you have a local network then you could try:</para>
-               <para><command moreinfo="none">socket options = IPTOS_LOWDELAY TCP_NODELAY</command></para>
-
-               <para>If you are on a wide area network then perhaps try 
-               setting IPTOS_THROUGHPUT. </para>
-
-               <para>Note that several of the options may cause your Samba 
-               server to fail completely. Use these options with caution!</para>
-
-               <para>Default: <command moreinfo="none">socket options = TCP_NODELAY</command></para>
-               <para>Example: <command moreinfo="none">socket options = IPTOS_LOWDELAY</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/statcachesize.xml b/docs/docbook/smbdotconf/tuning/statcachesize.xml
deleted file mode 100644 (file)
index fe7d3a7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <term><anchor id="STATCACHESIZE"/>stat cache size (G)</term>
-               <listitem><para>This parameter determines the number of 
-               entries in the <parameter moreinfo="none">stat cache</parameter>.  You should 
-               never need to change this parameter.</para>
-               
-               <para>Default: <command moreinfo="none">stat cache size = 50</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/strictallocate.xml b/docs/docbook/smbdotconf/tuning/strictallocate.xml
deleted file mode 100644 (file)
index 7b33ef3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               disk storage blocks when a file is extended to the Windows behaviour
-               of actually forcing the disk system to allocate real storage blocks
-               when a file is created or extended to be a given size. In UNIX
-               terminology this means that Samba will stop creating sparse files.
-               This can be slow on some systems.</para>
-
-               <para>When strict allocate is <constant>no</constant> the server does sparse
-               disk block allocation when a file is extended.</para>
-
-               <para>Setting this to <constant>yes</constant> can help Samba return
-               out of quota messages on systems that are restricting the disk quota
-               of users.</para>
-
-               <para>Default: <command moreinfo="none">strict allocate = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/strictsync.xml b/docs/docbook/smbdotconf/tuning/strictsync.xml
deleted file mode 100644 (file)
index b228f7c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               the process to be suspended until the kernel has ensured that 
-               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
-               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
-               performance problems that people have reported with the new Windows98
-               explorer shell file copies.</para>
-
-               <para>See also the <link linkend="SYNCALWAYS"><parameter moreinfo="none">sync 
-               always&gt;</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">strict sync = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/syncalways.xml b/docs/docbook/smbdotconf/tuning/syncalways.xml
deleted file mode 100644 (file)
index c5c3234..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               guided by the client's request in each write call (clients can 
-               set a bit indicating that a particular write should be synchronous). 
-               If this is <constant>yes</constant> then every write will be followed by a <command moreinfo="none">fsync()
-               </command> call to ensure the data is written to disk. Note that 
-               the <parameter moreinfo="none">strict sync</parameter> parameter must be set to
-               <constant>yes</constant> in order for this parameter to have 
-               any affect.</para>
-               
-               <para>See also the <link linkend="STRICTSYNC"><parameter moreinfo="none">strict 
-               sync</parameter></link> parameter.</para>
-
-               <para>Default: <command moreinfo="none">sync always = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/usemmap.xml b/docs/docbook/smbdotconf/tuning/usemmap.xml
deleted file mode 100644 (file)
index 46fa460..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               coherent cache, and so this parameter is set to <constant>no</constant> by
-               default on HPUX. On all other systems this parameter should be left alone. This
-               parameter is provided to help the Samba developers track down problems with
-               the tdb internal code.
-               </para>
-
-               <para>Default: <command moreinfo="none">use mmap = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/usesendfile.xml b/docs/docbook/smbdotconf/tuning/usesendfile.xml
deleted file mode 100644 (file)
index 5f2dcb7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               and ReadRaw) will use the more efficient sendfile system call for files that
-               are exclusively oplocked. This may make more efficient use of the system CPU's
-               and cause Samba to be faster. This is off by default as it's effects are unknown
-               as yet.
-               </para>
-
-               <para>Default: <command moreinfo="none">use sendfile = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/tuning/writecachesize.xml b/docs/docbook/smbdotconf/tuning/writecachesize.xml
deleted file mode 100644 (file)
index b54a0e4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               non-oplocked files). All writes that the client does not request 
-               to be flushed directly to disk will be stored in this cache if possible. 
-               The cache is flushed onto disk when a write comes in whose offset 
-               would not fit into the cache or when the file is closed by the client. 
-               Reads for the file are also served from this cache if the data is stored 
-               within it.</para>
-
-               <para>This cache allows Samba to batch client writes into a more 
-               efficient write size for RAID disks (i.e. writes may be tuned to 
-               be the RAID stripe size) and can improve performance on systems 
-               where the disk subsystem is a bottleneck but there is free 
-               memory for userspace programs.</para>
-
-               <para>The integer parameter specifies the size of this cache 
-               (per oplocked file) in bytes.</para>
-
-               <para>Default: <command moreinfo="none">write cache size = 0</command></para>
-               <para>Example: <command moreinfo="none">write cache size = 262144</command></para>
-
-               <para>for a 256k cache size per file.</para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/hostmsdfs.xml b/docs/docbook/smbdotconf/vfs/hostmsdfs.xml
deleted file mode 100644 (file)
index 0496fd7..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               --with-msdfs</command> option. If set to <constant>yes</constant>, 
-               Samba will act as a Dfs server, and  allow Dfs-aware clients 
-               to browse Dfs trees hosted on the server.</para>
-
-               <para>See also the <link linkend="MSDFSROOT"><parameter moreinfo="none">
-               msdfs root</parameter></link> share  level  parameter.  For
-               more  information  on  setting  up a Dfs tree on Samba,
-               refer to <ulink url="msdfs_setup.html">msdfs_setup.html</ulink>.
-               </para>
-               
-               <para>Default: <command moreinfo="none">host msdfs = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/msdfsproxy.xml b/docs/docbook/smbdotconf/vfs/msdfsproxy.xml
deleted file mode 100644 (file)
index 41b36cb..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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
-               this share, they are redirected to the proxied share using
-               the SMB-Dfs protocol.</para>
-               <para>Only Dfs roots can act as proxy shares. Take a look at the
-               <link linkend="MSDFSROOT"><parameter moreinfo="none">msdfs root</parameter></link>
-               and
-               <link linkend="HOSTMSDFS"><parameter moreinfo="none">host msdfs</parameter></link>
-               options to find out how to set up a Dfs root share.</para>
-               <para>Example: <command moreinfo="none">msdfs proxy = \\\\otherserver\\someshare</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/msdfsroot.xml b/docs/docbook/smbdotconf/vfs/msdfsroot.xml
deleted file mode 100644 (file)
index dc50ba5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               --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 moreinfo="none">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">&quot;Hosting a Microsoft 
-               Distributed File System tree on Samba&quot;</ulink> document.</para>
-               
-               <para>See also <link linkend="HOSTMSDFS"><parameter moreinfo="none">host msdfs
-               </parameter></link></para>
-               
-               <para>Default: <command moreinfo="none">msdfs root = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/vfsobject.xml b/docs/docbook/smbdotconf/vfs/vfsobject.xml
deleted file mode 100644 (file)
index d334552..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               with one or more VFS objects. </para>
-               
-               <para>Default : <emphasis>no value</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/vfsoptions.xml b/docs/docbook/smbdotconf/vfs/vfsoptions.xml
deleted file mode 100644 (file)
index 28f14a0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">
-               vfs object</parameter></link>.</para>
-               
-               <para>Default : <emphasis>no value</emphasis></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/vfs/vfspath.xml b/docs/docbook/smbdotconf/vfs/vfspath.xml
deleted file mode 100644 (file)
index 78c2730..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">vfs object
-               </command> will be prepended by this directory
-               </para>
-
-               <para>Default: <command moreinfo="none">vfs path = </command></para>
-               <para>Example: <command moreinfo="none">vfs path = /usr/lib/samba/vfs</command></para>
-
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/templatehomedir.xml b/docs/docbook/smbdotconf/winbind/templatehomedir.xml
deleted file mode 100644 (file)
index a931e9b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.  
-               If the string <parameter moreinfo="none">%D</parameter> is present it is substituted 
-               with the user's Windows NT domain name.  If the string <parameter moreinfo="none">%U
-               </parameter> is present it is substituted with the user's Windows 
-               NT user name.</para>
-
-               <para>Default: <command moreinfo="none">template homedir = /home/%D/%U</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/templateshell.xml b/docs/docbook/smbdotconf/winbind/templateshell.xml
deleted file mode 100644 (file)
index e0b9f1a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               uses this parameter to fill in the login shell for that user.</para>
-
-               <para>Default: <command moreinfo="none">template shell = /bin/false</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindcachetime.xml b/docs/docbook/smbdotconf/winbind/winbindcachetime.xml
deleted file mode 100644 (file)
index adbb8b1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               user and group information before querying a Windows NT server 
-               again.</para>
-
-               <para>Default: <command moreinfo="none">winbind cache type = 15</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindenumgroups.xml b/docs/docbook/smbdotconf/winbind/winbindenumgroups.xml
deleted file mode 100644 (file)
index 096c280..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">setgrent()</command>,
-               <command moreinfo="none">getgrent()</command> and
-               <command moreinfo="none">endgrent()</command> group of system calls.  If
-               the <parameter moreinfo="none">winbind enum groups</parameter> parameter is
-               <constant>no</constant>, calls to the <command moreinfo="none">getgrent()</command> system
-               call will not return any data. </para>
-
-               <para><emphasis>Warning:</emphasis> Turning off group
-               enumeration may cause some programs to behave oddly.
-               </para>
-
-               <para>Default: <command moreinfo="none">winbind enum groups = yes </command>
-               </para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindenumusers.xml b/docs/docbook/smbdotconf/winbind/winbindenumusers.xml
deleted file mode 100644 (file)
index 7935755..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 moreinfo="none">setpwent()</command>,
-               <command moreinfo="none">getpwent()</command> and
-               <command moreinfo="none">endpwent()</command> group of system calls.  If
-               the <parameter moreinfo="none">winbind enum users</parameter> parameter is
-               <constant>no</constant>, calls to the <command moreinfo="none">getpwent</command> system call
-               will not return any data. </para>
-
-               <para><emphasis>Warning:</emphasis> Turning off user
-               enumeration may cause some programs to behave oddly.  For
-               example, the finger program relies on having access to the
-               full user list when searching for matching
-               usernames. </para>
-
-               <para>Default: <command moreinfo="none">winbind enum users = yes </command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindgid.xml b/docs/docbook/smbdotconf/winbind/winbindgid.xml
deleted file mode 100644 (file)
index a8a9683..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               existing local or NIS groups within it as strange conflicts can 
-               occur otherwise.</para>
-
-               <para>Default: <command moreinfo="none">winbind gid = &lt;empty string&gt;
-               </command></para>
-
-               <para>Example: <command moreinfo="none">winbind gid = 10000-20000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindseparator.xml b/docs/docbook/smbdotconf/winbind/winbindseparator.xml
deleted file mode 100644 (file)
index 416adcb..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               is only applicable when using the <filename moreinfo="none">pam_winbind.so</filename>
-               and <filename moreinfo="none">nss_winbind.so</filename> modules for UNIX services.
-               </para>
-
-               <para>Please note that setting this parameter to + causes problems
-               with group membership at least on glibc systems, as the character +
-               is used as a special character for NIS in /etc/group.</para>
-
-               <para>Default: <command moreinfo="none">winbind separator = '\'</command></para>
-               <para>Example: <command moreinfo="none">winbind separator = +</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbinduid.xml b/docs/docbook/smbdotconf/winbind/winbinduid.xml
deleted file mode 100644 (file)
index ecd7848..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               existing local or NIS users within it as strange conflicts can 
-               occur otherwise.</para>
-
-               <para>Default: <command moreinfo="none">winbind uid = &lt;empty string&gt;
-               </command></para>
-               
-               <para>Example: <command moreinfo="none">winbind uid = 10000-20000</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/winbind/winbindusedefaultdomain.xml b/docs/docbook/smbdotconf/winbind/winbindusedefaultdomain.xml
deleted file mode 100644 (file)
index a6b7bcd..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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.  
-                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>
-               
-               <para>Default: <command moreinfo="none">winbind use default domain = &lt;no&gt; 
-               </command></para>
-               <para>Example: <command moreinfo="none">winbind use default domain = yes</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/dnsproxy.xml b/docs/docbook/smbdotconf/wins/dnsproxy.xml
deleted file mode 100644 (file)
index fd53ae7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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>
-
-               <para>Note that the maximum length for a NetBIOS name is 15 
-               characters, so the DNS name (or DNS alias) can likewise only be 
-               15 characters, maximum.</para>
-
-               <para><command moreinfo="none">nmbd</command> spawns a second copy of itself to do the
-               DNS name lookup requests, as doing a name lookup is a blocking 
-               action.</para>
-
-               <para>See also the parameter <link linkend="WINSSUPPORT"><parameter moreinfo="none">
-               wins support</parameter></link>.</para>
-
-               <para>Default: <command moreinfo="none">dns proxy = yes</command></para></listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/winshook.xml b/docs/docbook/smbdotconf/wins/winshook.xml
deleted file mode 100644 (file)
index e0c4a87..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               dynamic update of external name resolution databases such as 
-               dynamic DNS.</para>
-
-               <para>The wins hook parameter specifies the name of a script 
-               or executable that will be called as follows:</para>
-
-               <para><command moreinfo="none">wins_hook operation name nametype ttl IP_list
-               </command></para>
-
-               <itemizedlist>
-                       <listitem><para>The first argument is the operation and is one 
-                       of &quot;add&quot;, &quot;delete&quot;, or &quot;refresh&quot;. In most cases the operation can 
-                       be ignored as the rest of the parameters provide sufficient 
-                       information. Note that &quot;refresh&quot; may sometimes be called when the 
-                       name has not previously been added, in that case it should be treated 
-                       as an add.</para></listitem>
-
-                       <listitem><para>The second argument is the NetBIOS name. If the 
-                       name is not a legal name then the wins hook is not called. 
-                       Legal names contain only  letters, digits, hyphens, underscores 
-                       and periods.</para></listitem>
-
-                       <listitem><para>The third argument is the NetBIOS name 
-                       type as a 2 digit hexadecimal number. </para></listitem>
-
-                       <listitem><para>The fourth argument is the TTL (time to live) 
-                       for the name in seconds.</para></listitem>
-                       
-                       <listitem><para>The fifth and subsequent arguments are the IP 
-                       addresses currently registered for that name. If this list is 
-                       empty then the name should be deleted.</para></listitem>
-               </itemizedlist>
-
-               <para>An example script that calls the BIND dynamic DNS update 
-               program <command moreinfo="none">nsupdate</command> is provided in the examples 
-               directory of the Samba source code. </para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/winspartners.xml b/docs/docbook/smbdotconf/wins/winspartners.xml
deleted file mode 100644 (file)
index 840435a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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. 
-               WINS replication is currently experimental and unreliable between 
-               samba servers.
-               </para>
-
-               <para>Default: <command moreinfo="none">wins partners = </command></para>
-
-               <para>Example: <command moreinfo="none">wins partners = 192.168.0.1 172.16.1.2</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/winsproxy.xml b/docs/docbook/smbdotconf/wins/winsproxy.xml
deleted file mode 100644 (file)
index 31978d3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               to <constant>yes</constant> for some older clients.</para>
-
-               <para>Default: <command moreinfo="none">wins proxy = no</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/winsserver.xml b/docs/docbook/smbdotconf/wins/winsserver.xml
deleted file mode 100644 (file)
index ebdb301..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               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
-               multi-subnetted network.</para>
-
-               <para>If you want to work in multiple namespaces, you can 
-               give every wins server a 'tag'. For each tag, only one 
-               (working) server will be queried for a name. The tag should be 
-               seperated from the ip address by a colon.
-               </para>
-
-               <note><para>You need to set up Samba to point 
-               to a WINS server if you have multiple subnets and wish cross-subnet 
-               browsing to work correctly.</para></note>
-
-               <para>See the documentation file <ulink url="improved-browsing.html">Browsing</ulink> in the samba howto collection.</para>
-               <para>Default: <emphasis>not enabled</emphasis></para>
-               <para>Example: <command>wins server = mary:192.9.200.1 fred:192.168.3.199 mary:192.168.2.61</command></para>
-               <para>For this example when querying a certain name, 192.19.200.1 will 
-               be asked first and if that doesn't respond 192.168.2.61. If either 
-               of those doesn't know the name 192.168.3.199 will be queried.
-               </para>
-
-               <para>Example: <command>wins server = 192.9.200.1 192.168.2.61</command></para>
-               </listitem>
-               </samba:parameter>
diff --git a/docs/docbook/smbdotconf/wins/winssupport.xml b/docs/docbook/smbdotconf/wins/winssupport.xml
deleted file mode 100644 (file)
index 5ad886a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<samba:parameter xmlns:samba="http://samba.org/common">
-               <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 
-               not set this to <constant>yes</constant> unless you have a multi-subnetted network and 
-               you wish a particular <command moreinfo="none">nmbd</command> to be your WINS server. 
-               Note that you should <emphasis>NEVER</emphasis> set this to <constant>yes</constant>
-               on more than one machine in your network.</para>
-
-               <para>Default: <command moreinfo="none">wins support = no</command></para>
-               </listitem>
-               </samba:parameter>
index 7ccaa9b9b2f584dc2de8f0c8638a7dfb8537ce53..d4a7d976e539f6f9f663e531036084f4905853e4 100644 (file)
@@ -1,47 +1,58 @@
 If you'd like to work on any of these, please contact jerry@samba.org or jelmer@samba.org.
 
 Outdated docs:
-Manifest
+docs/OID/allocated-arcs.txt - does this file really belong here?
+docs/OID/samba-oid.mail - does this file really belong here?
 docs/announce - out of date (announces 2.2.0) - should it go away?
 docs/history - needs updating (is current up to 1998 - merge with 10year.html ?)
+docs/docbook/devdoc/* - most of these docs are outdated and need updates...
 docs/docbook/manpages/net.8.sgml - Still not finished
+docs/docbook/manpages/rpcclient.1.sgml - Command documentation might be outdated
 docs/docbook/manpages/samba.7.sgml - Listing of samba programs is not complete
+docs/docbook/manpages/smbclient.1.sgml - document -k (kerberos authentication)
+docs/docbook/manpages/smbcontrol.1.sgml - Document -s, samsync, samrepl, pool-usage, dmalloc-mark, dmalloc-log-changed, shutdown, change_id
 docs/docbook/manpages/smb.conf.5.sgml - 'restrict anonymous' isn't documented properly
+docs/docbook/projdoc/DOMAIN_MEMBER.sgml - Needs update to 3.0
+docs/docbook/projdoc/ADS-HOWTO.sgml - seems outdated (it says we require 'ads server' when in ads mode, though that's not true, according to the manpages...)
+docs/docbook/projdoc/ENCRYPTION.sgml - contains useless old info about smbpasswd
 docs/docbook/projdoc/Integrating-with-Windows.sgml - Should slowly go a way. Contains a little bit information about wins, a little bit about domain membership, a little about winbind, etc
+docs/docbook/projdoc/NT_Security.sgml - probably outdated
+docs/docbook/projdoc/Diagnosis.sgml - Needs extension
 docs/docbook/projdoc/PAM-Authentication-And-Samba.sgml
 docs/docbook/projdoc/Printing.sgml - Cups is not documented, smbprint, printing /to/ a windows server... - Kurt Pfeifle
 docs/docbook/projdoc/Samba-BDC-HOWTO.sgml - Needs update to 3.0
-docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml - Needs update to 3.0 ( http://www.unav.es/cti/ldap-smb/smb-ldap-3-howto.html )
+docs/docbook/projdoc/Samba-LDAP-HOWTO.sgml - Needs update to 3.0
+docs/docbook/projdoc/Samba-PDC-HOWTO.sgml - Needs update to 3.0
 docs/docbook/projdoc/Speed.sgml - contains outdated and invalid information
-docs/docbook/projdoc/UNIX_INSTALL.sgml - Merge locking part with oplocks.sgml
+docs/docbook/projdoc/UNIX_INSTALL.sgml - Needs a lot of updating (swat, ADS, PDC, etc)
 docs/docbook/projdoc/printer_driver2.sgml - Needs integration with printing.sgml, still up to date?
-docs/docbook/projdoc/upgrading-to-3.0.sgml - not finished yet
+docs/docbook/projdoc/security_level.sgml - information about ads and domain should be added (currently only contains pointers to the ads and domain_member docs)
 docs/docbook/projdoc/winbind.sgml - needs documentation for ADS
 docs/textdocs/CUPS-PrintingInfo.txt - needs to be converted to sgml - Kurt Pfeifle
 docs/textdocs/PROFILES.txt - needs to be converted to sgml
 docs/textdocs/README.jis - Seems to need updating - possibly obsoleted by a newer japanese howto?
-docs/docbook/manpages/ntlm_auth.1.sgml - Is very basic at the moment, parameters need better descriptions - abartlet
+docs/textdocs/RoutedNetworks.txt - still valid, but shouldn't this go into Other_clients.sgml ? This text originally comes from microsoft, what about copyright?
+
+These still need to be checked:
+docs/docbook/manpages/smbd.8.sgml
+docs/docbook/manpages/smbmnt.8.sgml
+docs/docbook/manpages/smbmount.8.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/wbinfo.1.sgml
 
 Stuff that needs to be documented:
-wrepld
+Merge the various docs about wins and browsing
 Windows NT 4.0 Style Trust Relationship
-Winbind in a samba controlled domain
 One Time Migration script from a Windows NT 4.0 PDC to a Samba PDC
 ldap passwd sync
+using rsync to get latest HEAD version
 
-Not release-critical:
-docs/docbook/devdoc/* - most of these docs are outdated and need updates...
-docs/docbook/projdoc/Diagnosis.sgml - Needs extension
-docs/docbook/manpages/rpcclient.1.sgml - Some commands could be documented more extensively
-
-Documentation for following smb.conf.5 parameters does not exist:
-acl compatibility        // protocol
-client signing           // protocol
-client use spnego        // protocol
-profile acls             // protocol
-client lanman auth       // security
-client NTLMv2 auth       // security
-idmap backend            // security
-kernel change notify     // tuning
-lpq cache time           // tuning
--valid                                  // misc
+http://www.unav.es/cti/ldap-smb/smb-ldap-3-howto.html
similarity index 84%
rename from docs/faq/faq-clientapp.html
rename to docs/faq/clientapp.html
index 3a85fb4f5a47fc27f43d95016d6580b429ff454f..d24e778b2af2bd39a41ef213985983caee528dcc 100644 (file)
@@ -5,16 +5,17 @@
 >Specific client application problems</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
 REL="PREVIOUS"
 TITLE="Configuration problems"
-HREF="faq-config.html"><LINK
+HREF="config.html"><LINK
 REL="NEXT"
 TITLE="Common errors"
-HREF="faq-errors.html"></HEAD
+HREF="errors.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -42,7 +43,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="faq-config.html"
+HREF="config.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq-errors.html"
+HREF="errors.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="FAQ-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="AEN178"
->4.1. MS Office Setup reports "Cannot change properties of '\\MSOFFICE\\SETUP.INI'"</A
-></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="AEN183"
->4.2. How to use a Samba share as an administrative share for MS Office, etc.</A
-></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
@@ -133,16 +128,16 @@ set the following parameters on the share containing it:</P
 ><P
 ><PRE
 CLASS="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</PRE
+>      [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</PRE
 ></P
 ></LI
 ><LI
@@ -160,9 +155,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN198"
->4.3. Microsoft Access database opening errors</A
-></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"
@@ -210,7 +203,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="faq-config.html"
+HREF="config.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -228,7 +221,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-errors.html"
+HREF="errors.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
similarity index 87%
rename from docs/faq/faq-errors.html
rename to docs/faq/errors.html
index 75f60aa326b3f088135e2d91f61c383a63ee2fa5..dd105396ba810356872e120eacd22fd66fec27c4 100644 (file)
@@ -5,16 +5,17 @@
 >Common errors</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
 REL="PREVIOUS"
 TITLE="Specific client application problems"
-HREF="faq-clientapp.html"><LINK
+HREF="clientapp.html"><LINK
 REL="NEXT"
 TITLE="Features"
-HREF="faq-features.html"></HEAD
+HREF="features.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -42,7 +43,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="faq-clientapp.html"
+HREF="clientapp.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq-features.html"
+HREF="features.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="FAQ-ERRORS"
-></A
->Chapter 5. Common errors</H1
+NAME="ERRORS">Chapter 5. Common errors</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN209"
->5.1. Not listening for calling name</A
-></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="AEN216"
->5.2. System Error 1240</A
-></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="AEN223"
->5.3. smbclient ignores -N !</A
-></H1
+NAME="AEN219">5.3. smbclient ignores -N !</H1
 ><P
 ><SPAN
 CLASS="QUOTE"
@@ -174,9 +167,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN232"
->5.4. The data on the CD-Drive I've shared seems to be corrupted!</A
-></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 +181,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN236"
->5.5. Why can users access home directories of other users?</A
-></H1
+NAME="AEN232">5.5. Why can users access home directories of other users?</H1
 ><P
 ><SPAN
 CLASS="QUOTE"
@@ -248,9 +237,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN249"
->5.6. Until a few minutes after samba has started, clients get the error "Domain Controller Unavailable"</A
-></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
@@ -259,9 +246,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN252"
->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</A
-></H1
+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
@@ -282,7 +267,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="faq-clientapp.html"
+HREF="clientapp.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -300,7 +285,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-features.html"
+HREF="features.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
diff --git a/docs/faq/faq-features.html b/docs/faq/faq-features.html
deleted file mode 100644 (file)
index 392820c..0000000
+++ /dev/null
@@ -1,538 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Features</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="Samba FAQ"
-HREF="samba-faq.html"><LINK
-REL="PREVIOUS"
-TITLE="Common errors"
-HREF="faq-errors.html"><LINK
-REL="NEXT"
-TITLE="Printing problems"
-HREF="faq-printing.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Samba FAQ</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="faq-errors.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="faq-printing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FAQ-FEATURES"
-></A
->Chapter 6. Features</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN257"
->6.1. How can I prevent my samba server from being used to distribute the Nimda worm?</A
-></H1
-><P
->Author: HASEGAWA Yosuke (translated by <A
-HREF="monyo@samba.gr.jp"
-TARGET="_top"
->TAKAHASHI Motonobu</A
->)</P
-><P
->Nimba Worm is infected through shared disks on a network, as well as through
-Microsoft IIS, Internet Explorer and mailer of Outlook series.</P
-><P
->At this time, the worm copies itself by the name *.nws and *.eml on
-the shared disk, moreover, by the name of Riched20.dll in the folder
-where *.doc file is included.</P
-><P
->To prevent infection through the shared disk offered by Samba, set
-up as follows:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
-  ...
-  # This can break Administration installations of Office2k.
-  # in that case, don't veto the riched20.dll
-  veto files = /*.eml/*.nws/riched20.dll/</PRE
-></P
-><P
->By setting the "veto files" parameter, matched files on the Samba
-server are completely hidden from the clients and making it impossible
-to access them at all.</P
-><P
->In addition to it, the following setting is also pointed out by the
-samba-jp:09448 thread: when the
-"readme.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}" file exists on
-a Samba server, it is visible only as "readme.txt" and dangerous
-code may be executed if this file is double-clicked.</P
-><P
->Setting the following,
-<PRE
-CLASS="PROGRAMLISTING"
->  veto files = /*.{*}/</PRE
->
-any files having CLSID in its file extension will be inaccessible from any
-clients.</P
-><P
->This technical article is created based on the discussion of
-samba-jp:09448 and samba-jp:10900 threads.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN271"
->6.2. How can I use samba as a fax server?</A
-></H1
-><P
->Contributor: <A
-HREF="mailto:zuber@berlin.snafu.de"
-TARGET="_top"
->Gerhard Zuber</A
-></P
-><P
->Requirements:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->UNIX box (Linux preferred) with SAMBA and a faxmodem</TD
-></TR
-><TR
-><TD
->ghostscript package</TD
-></TR
-><TR
-><TD
->mgetty+sendfax package</TD
-></TR
-><TR
-><TD
->pbm package (portable bitmap tools)</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><P
->First, install and configure the required packages. Be sure to read the mgetty+sendfax 
-manual carefully.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN282"
->6.2.1. Tools for printing faxes</A
-></H2
-><P
->Your incomed faxes are in:
-<TT
-CLASS="FILENAME"
->/var/spool/fax/incoming</TT
->. Print it with:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->for i in *
-do
-g3cat $i | g3tolj | lpr -P hp
-done</PRE
-></P
-><P
->g3cat is in the tools-section, g3tolj is in the contrib-section
-for printing to HP lasers.</P
-><P
->If you want to produce files for displaying and printing with Windows, use
-some tools from the pbm-package like the following command: <B
-CLASS="COMMAND"
->g3cat $i | g3topbm - |  ppmtopcx - &#62;$i.pcx</B
->
-and view it with your favourite Windows tool (maybe paintbrush)</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN291"
->6.2.2. Making the fax-server</A
-></H2
-><P
->fetch the file <TT
-CLASS="FILENAME"
->mgetty+sendfax/frontends/winword/faxfilter</TT
-> and place it in <TT
-CLASS="FILENAME"
->/usr/local/etc/mgetty+sendfax/</TT
->(replace /usr/local/ with whatever place you installed mgetty+sendfax)</P
-><P
->prepare your faxspool file as mentioned in this file
-edit fax/faxspool.in and reinstall or change the final
-/usr/local/bin/faxspool too.</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->if [ "$user" = "root" -o "$user" = "fax" -o \
-     "$user" = "lp" -o "$user" = "daemon" -o "$user" = "bin" ]</PRE
-></P
-><P
->find the first line and change it to the second.</P
-><P
->make sure you have pbmtext (from the pbm-package). This is
-needed for creating the small header line on each page.</P
-><P
->Prepare your faxheader <TT
-CLASS="FILENAME"
->/usr/local/etc/mgetty+sendfax/faxheader</TT
-></P
-><P
->Edit your /etc/printcap file:
-<PRE
-CLASS="PROGRAMLISTING"
-># FAX 
-lp3|fax:\
-        :lp=/dev/null:\
-        :sd=/usr/spool/lp3:\
-        :if=/usr/local/etc/mgetty+sendfax/faxfilter:sh:sf:mx#0:\
-        :lf=/usr/spool/lp3/fax-log:</PRE
-></P
-><P
->Now, edit your <TT
-CLASS="FILENAME"
->smb.conf</TT
-> so you have a smb based printer named "fax"</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN307"
->6.2.3. Installing the client drivers</A
-></H2
-><P
->Now you have a printer called "fax" which can be used via
-TCP/IP-printing (lpd-system) or via SAMBA (windows printing).</P
-><P
->On every system you are able to produce postscript-files you
-are ready to fax.</P
-><P
->On Windows 3.1 95 and NT:</P
-><P
->Install a printer wich produces postscript output,
-   e.g.  apple laserwriter</P
-><P
->Connect the "fax" to your printer.</P
-><P
->Now write your first fax. Use your favourite wordprocessor,
-write, winword, notepad or whatever you want, and start
-with the headerpage.</P
-><P
->Usually each fax has a header page. It carries your name,
-your address, your phone/fax-number.</P
-><P
->It carries also the recipient, his address and his *** fax
-number ***. Now here is the trick:</P
-><P
->Use the text:
-<PRE
-CLASS="PROGRAMLISTING"
->Fax-Nr: 123456789</PRE
->
-as the recipients fax-number. Make sure this text does not
-occur in regular text ! Make sure this text is not broken
-by formatting information, e.g. format it as a single entity.
-(Windows Write and Win95 Wordpad are functional, maybe newer
- versions of Winword are breaking formatting information).</P
-><P
->The trick is that postscript output is human readable and
-the faxfilter program scans the text for this pattern and
-uses the found number as the fax-destination-number.</P
-><P
->Now print your fax through the fax-printer and it will be
-queued for later transmission. Use faxrunq for sending the
-queue out.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN321"
->6.2.4. Example smb.conf</A
-></H2
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->[global]
- printcap name = /etc/printcap
- print command = /usr/bin/lpr -r -P %p %s
- lpq command = /usr/bin/lpq -P %p
- lprm command = /usr/bin/lprm -P %p %j
-
-[fax]
-    comment = FAX (mgetty+sendfax)
-    path = /tmp
-    printable = yes
-    public = yes
-    writable = no
-    create mode = 0700
-    browseable = yes
-    guest ok = no</PRE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN325"
->6.3. Samba doesn't work well together with DHCP!</A
-></H1
-><P
->We wish to help those folks who wish to use the ISC DHCP Server and provide
-sample configuration settings. Most operating systems today come ship with
-the ISC DHCP Server. ISC DHCP is available from:
-<A
-HREF="ftp://ftp.isc.org/isc/dhcp"
-TARGET="_top"
->ftp://ftp.isc.org/isc/dhcp</A
-></P
-><P
->Incorrect configuration of MS Windows clients (Windows9X, Windows ME, Windows
-NT/2000) will lead to problems with browsing and with general network
-operation. Windows 9X/ME users often report problems where the TCP/IP and related
-network settings will inadvertantly become reset at machine start-up resulting
-in loss of configuration settings. This results in increased maintenance
-overheads as well as serious user frustration.</P
-><P
->In recent times users on one mailing list incorrectly attributed the cause of
-network operating problems to incorrect configuration of Samba.</P
-><P
->One user insisted that the only way to provent Windows95 from periodically
-performing a full system reset and hardware detection process on start-up was
-to install the NetBEUI protocol in addition to TCP/IP. This assertion is not
-correct.</P
-><P
->In the first place, there is NO need for NetBEUI. All Microsoft Windows clients
-natively run NetBIOS over TCP/IP, and that is the only protocol that is
-recognised by Samba. Installation of NetBEUI and/or NetBIOS over IPX will
-cause problems with browse list operation on most networks. Even Windows NT
-networks experience these problems when incorrectly configured Windows95
-systems share the same name space. It is important that only those protocols
-that are strictly needed for site specific reasons should EVER be installed.</P
-><P
->Secondly, and totally against common opinion, DHCP is NOT an evil design but is
-an extension of the BOOTP protocol that has been in use in Unix environments
-for many years without any of the melt-down problems that some sensationalists
-would have us believe can be experienced with DHCP. In fact, DHCP in covered by
-rfc1541 and is a very safe method of keeping an MS Windows desktop environment
-under control and for ensuring stable network operation.</P
-><P
->Please note that MS Windows systems as of MS Windows NT 3.1 and MS Windows 95
-store all network configuration settings a registry. There are a few reports
-from MS Windows network administrators that warrant mention here. It would appear
-that when one sets certain MS TCP/IP protocol settings (either directly or via
-DHCP) that these do get written to the registry. Even though a subsequent
-change of setting may occur the old value may persist in the registry. This
-has been known to create serious networking problems.</P
-><P
->An example of this occurs when a manual TCP/IP environment is configured to
-include a NetBIOS Scope. In this event, when the administrator then changes the
-configuration of the MS TCP/IP protocol stack, without first deleting the
-current settings, by simply checking the box to configure the MS TCP/IP stack
-via DHCP then the NetBIOS Scope that is still persistent in the registry WILL be
-applied to the resulting DHCP offered settings UNLESS the DHCP server also sets
-a NetBIOS Scope. It may therefore be prudent to forcibly apply a NULL NetBIOS
-Scope from your DHCP server. The can be done in the dhcpd.conf file with the
-parameter:
-<B
-CLASS="COMMAND"
->option netbios-scope "";</B
-></P
-><P
->While it is true that the Microsoft DHCP server that comes with Windows NT
-Server provides only a sub-set of rfc1533 functionality this is hardly an issue
-in those sites that already have a large investment and commitment to Unix
-systems and technologies. The current state of the art of the DHCP Server
-specification in covered in rfc2132.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN338"
->6.4. How can I assign NetBIOS names to clients with DHCP?</A
-></H1
-><P
->SMB network clients need to be configured so that all standard TCP/IP name to
-address resolution works correctly. Once this has been achieved the SMB
-environment provides additional tools and services that act as helper agents in
-the translation of SMB (NetBIOS) names to their appropriate IP Addresses. One
-such helper agent is the NetBIOS Name Server (NBNS) or as Microsoft called it
-in their Windows NT Server implementation WINS (Windows Internet Name Server).</P
-><P
->A client needs to be configured so that it has a unique Machine (Computer)
-Name.</P
-><P
->This can be done, but needs a few NT registry hacks and you need to be able to
-speak UNICODE, which is of course no problem for a True Wizzard(tm) :)
-Instructions on how to do this (including a small util for less capable
-Wizzards) can be found at</P
-><P
-><A
-HREF="http://www.unixtools.org/~nneul/sw/nt/dhcp-netbios-hostname.html"
-TARGET="_top"
->http://www.unixtools.org/~nneul/sw/nt/dhcp-netbios-hostname.html</A
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN345"
->6.5. How do I convert between unix and dos text formats?</A
-></H1
-><P
->Jim barry has written an <A
-HREF="ftp://samba.org/pub/samba/contributed/fixcrlf.zip"
-TARGET="_top"
->excellent drag-and-drop cr/lf converter for
-windows</A
->. Just drag your file onto the icon and it converts the file.</P
-><P
->The utilities unix2dos and dos2unix(in the mtools package) should do 
-the job under unix.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN350"
->6.6. Does samba have wins replication support?</A
-></H1
-><P
->At the time of writing there is currently being worked on a wins replication implementation(wrepld).</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="faq-errors.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-faq.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="faq-printing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Common errors</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Printing problems</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/docs/faq/faq-printing.html b/docs/faq/faq-printing.html
deleted file mode 100644 (file)
index a806b15..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Printing problems</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="Samba FAQ"
-HREF="samba-faq.html"><LINK
-REL="PREVIOUS"
-TITLE="Features"
-HREF="faq-features.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->Samba FAQ</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="faq-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FAQ-PRINTING"
-></A
->Chapter 7. Printing problems</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN359"
->7.1. setdriver or cupsaddsmb failes</A
-></H1
-><P
->setdriver expects the following setup:
-
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->you are a printer admin, or root. this is the smb.conf printer admin group, not the Printer Operators group in NT. I've not tried the latter, but I don't believe it will work based on the current code.</TD
-></TR
-><TR
-><TD
->printer admins has to be defined in [global]</TD
-></TR
-><TR
-><TD
->upload the driver files to \\server\print$\w32x86 and win40 as appropriate. DON'T put them in the 0 or 2 subdirectories.</TD
-></TR
-><TR
-><TD
->Make sure that the user you're connecting as is able to write to the print$ directories</TD
-></TR
-><TR
-><TD
->Use adddriver (with appropriate parameters) to create the driver. note, this will not just update samba's notion of drivers, it will also move the files from the w32x86 and win40 directories to an appropriate subdirectory (based on driver version, I think, but not important enough for me to find out)</TD
-></TR
-><TR
-><TD
->Use setdriver to associate the driver with a printer</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-><P
->The setdriver call will fail if the printer doesn't already exist in
-samba's view of the world. Either create the printer in cups and
-restart samba, or create an add printer command (see smb.conf doco)
-and use RPC calls to create a printer. NB the add printer command MUST
-return a single line of text indicating which port the printer was
-added on. If it doesn't, Samba won't reload the printer
-definitions. Although samba doesn't really support the notion of
-ports, suitable add printer command and enumport command settings can
-allow you pretty good remote control of the samba printer setup.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="faq-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-faq.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
similarity index 93%
rename from docs/faq/faq-general.html
rename to docs/faq/general.html
index 15dce949c9d929c50515fb52ba9228595382d331..435a2282b4592c1ecffb03882e93368c680b818f 100644 (file)
@@ -5,7 +5,8 @@
 >General Information</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
@@ -14,7 +15,7 @@ TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
 REL="NEXT"
 TITLE="Compiling and installing Samba on a Unix host"
-HREF="faq-install.html"></HEAD
+HREF="install.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq-install.html"
+HREF="install.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="FAQ-GENERAL"
-></A
->Chapter 1. General Information</H1
+NAME="GENERAL">Chapter 1. General Information</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN12"
->1.1. Where can I get it?</A
-></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"
->1.2. What do the version numbers mean?</A
-></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
@@ -166,9 +161,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN28"
->1.3. What platforms are supported?</A
-></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"
->1.4. How do I subscribe to the Samba Mailing Lists?</A
-></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,9 +348,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN75"
->1.5. Pizza supply details</A
-></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
@@ -421,7 +410,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-install.html"
+HREF="install.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
similarity index 91%
rename from docs/faq/faq-install.html
rename to docs/faq/install.html
index 646b65bf7fa7c15927cb6fdff10315d53a5579a7..e647aef6d4f7d36aea8cc61831920a1393bcb526 100644 (file)
@@ -5,16 +5,17 @@
 >Compiling and installing Samba on a Unix host</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="Samba FAQ"
 HREF="samba-faq.html"><LINK
 REL="PREVIOUS"
 TITLE="General Information"
-HREF="faq-general.html"><LINK
+HREF="general.html"><LINK
 REL="NEXT"
 TITLE="Configuration problems"
-HREF="faq-config.html"></HEAD
+HREF="config.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -42,7 +43,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="faq-general.html"
+HREF="general.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq-config.html"
+HREF="config.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -69,17 +70,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="FAQ-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"
->2.1. I can't see the Samba server in any browse lists!</A
-></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"
->2.2. Some files that I KNOW are on the server don't show up when I view the files from my client!</A
-></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"
->2.3. Some files on the server show up with really wierd filenames when I view the files from my client!</A
-></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"
->2.4. My client reports "cannot locate specified computer" or similar</A
-></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"
->2.5. My client reports "cannot locate specified share name" or similar</A
-></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"
->2.6. Printing doesn't work</A
-></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"
->2.7. My client reports "This server is not configured to list shared resources"</A
-></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"
->2.8. Log message "you appear to have a trapdoor uid system"</A
-></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"
->2.9. Why are my file's timestamps off by an hour, or by a few hours?</A
-></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,9 +399,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN155"
->2.10. How do I set the printer driver name correctly?</A
-></H1
+NAME="AEN155">2.10. How do I set the printer driver name correctly?</H1
 ><P
 >Question:
 <SPAN
@@ -476,7 +455,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="faq-general.html"
+HREF="general.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -494,7 +473,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-config.html"
+HREF="config.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
index 600c966034d574504d2d9229658c9b68b4a4e058..ec46e078a34f2051f3d6275c70b02cb0928fe7af 100644 (file)
@@ -5,10 +5,11 @@
 >Samba FAQ</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="NEXT"
 TITLE="General Information"
-HREF="faq-general.html"></HEAD
+HREF="general.html"></HEAD
 ><BODY
 CLASS="BOOK"
 BGCOLOR="#FFFFFF"
@@ -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"
->Samba FAQ</A
-></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
@@ -63,261 +56,242 @@ CLASS="TOC"
 ></DT
 ><DT
 >1. <A
-HREF="faq-general.html"
+HREF="general.html"
 >General Information</A
 ></DT
 ><DD
 ><DL
 ><DT
 >1.1. <A
-HREF="faq-general.html#AEN12"
+HREF="general.html#AEN12"
 >Where can I get it?</A
 ></DT
 ><DT
 >1.2. <A
-HREF="faq-general.html#AEN16"
+HREF="general.html#AEN16"
 >What do the version numbers mean?</A
 ></DT
 ><DT
 >1.3. <A
-HREF="faq-general.html#AEN28"
+HREF="general.html#AEN28"
 >What platforms are supported?</A
 ></DT
 ><DT
 >1.4. <A
-HREF="faq-general.html#AEN71"
+HREF="general.html#AEN71"
 >How do I subscribe to the Samba Mailing Lists?</A
 ></DT
 ><DT
 >1.5. <A
-HREF="faq-general.html#AEN75"
+HREF="general.html#AEN75"
 >Pizza supply details</A
 ></DT
 ></DL
 ></DD
 ><DT
 >2. <A
-HREF="faq-install.html"
+HREF="install.html"
 >Compiling and installing Samba on a Unix host</A
 ></DT
 ><DD
 ><DL
 ><DT
 >2.1. <A
-HREF="faq-install.html#AEN84"
+HREF="install.html#AEN84"
 >I can't see the Samba server in any browse lists!</A
 ></DT
 ><DT
 >2.2. <A
-HREF="faq-install.html#AEN89"
->Some files that I KNOW are on the server don't show up when I view the files from my client!</A
+HREF="install.html#AEN89"
+>Some files that I KNOW are on the server doesn't show up when I view the files from my client!</A
 ></DT
 ><DT
 >2.3. <A
-HREF="faq-install.html#AEN92"
+HREF="install.html#AEN92"
 >Some files on the server show up with really wierd filenames when I view the files from my client!</A
 ></DT
 ><DT
 >2.4. <A
-HREF="faq-install.html#AEN96"
+HREF="install.html#AEN96"
 >My client reports "cannot locate specified computer" or similar</A
 ></DT
 ><DT
 >2.5. <A
-HREF="faq-install.html#AEN103"
+HREF="install.html#AEN103"
 >My client reports "cannot locate specified share name" or similar</A
 ></DT
 ><DT
 >2.6. <A
-HREF="faq-install.html#AEN112"
+HREF="install.html#AEN112"
 >Printing doesn't work</A
 ></DT
 ><DT
 >2.7. <A
-HREF="faq-install.html#AEN120"
+HREF="install.html#AEN120"
 >My client reports "This server is not configured to list shared resources"</A
 ></DT
 ><DT
 >2.8. <A
-HREF="faq-install.html#AEN124"
+HREF="install.html#AEN124"
 >Log message "you appear to have a trapdoor uid system"</A
 ></DT
 ><DT
 >2.9. <A
-HREF="faq-install.html#AEN132"
+HREF="install.html#AEN132"
 >Why are my file's timestamps off by an hour, or by a few hours?</A
 ></DT
 ><DT
 >2.10. <A
-HREF="faq-install.html#AEN155"
+HREF="install.html#AEN155"
 >How do I set the printer driver name correctly?</A
 ></DT
 ></DL
 ></DD
 ><DT
 >3. <A
-HREF="faq-config.html"
+HREF="config.html"
 >Configuration problems</A
 ></DT
 ><DD
 ><DL
 ><DT
 >3.1. <A
-HREF="faq-config.html#AEN169"
+HREF="config.html#AEN169"
 >I have set 'force user' and samba still makes 'root' the owner of all the files I touch!</A
 ></DT
-><DT
->3.2. <A
-HREF="faq-config.html#AEN172"
->I have just installed samba and I'm trying to log in from Windows, but samba refuses all logins!</A
-></DT
 ></DL
 ></DD
 ><DT
 >4. <A
-HREF="faq-clientapp.html"
+HREF="clientapp.html"
 >Specific client application problems</A
 ></DT
 ><DD
 ><DL
 ><DT
 >4.1. <A
-HREF="faq-clientapp.html#AEN178"
->MS Office Setup reports "Cannot change properties of '\\MSOFFICE\\SETUP.INI'"</A
+HREF="clientapp.html#AEN174"
+>MS Office Setup reports "Cannot change properties of '\MSOFFICE\SETUP.INI'"</A
 ></DT
 ><DT
 >4.2. <A
-HREF="faq-clientapp.html#AEN183"
+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="faq-clientapp.html#AEN198"
+HREF="clientapp.html#AEN194"
 >Microsoft Access database opening errors</A
 ></DT
 ></DL
 ></DD
 ><DT
 >5. <A
-HREF="faq-errors.html"
+HREF="errors.html"
 >Common errors</A
 ></DT
 ><DD
 ><DL
 ><DT
 >5.1. <A
-HREF="faq-errors.html#AEN209"
+HREF="errors.html#AEN205"
 >Not listening for calling name</A
 ></DT
 ><DT
 >5.2. <A
-HREF="faq-errors.html#AEN216"
+HREF="errors.html#AEN212"
 >System Error 1240</A
 ></DT
 ><DT
 >5.3. <A
-HREF="faq-errors.html#AEN223"
+HREF="errors.html#AEN219"
 >smbclient ignores -N !</A
 ></DT
 ><DT
 >5.4. <A
-HREF="faq-errors.html#AEN232"
+HREF="errors.html#AEN228"
 >The data on the CD-Drive I've shared seems to be corrupted!</A
 ></DT
 ><DT
 >5.5. <A
-HREF="faq-errors.html#AEN236"
+HREF="errors.html#AEN232"
 >Why can users access home directories of other users?</A
 ></DT
 ><DT
 >5.6. <A
-HREF="faq-errors.html#AEN249"
+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="faq-errors.html#AEN252"
+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
 >6. <A
-HREF="faq-features.html"
+HREF="features.html"
 >Features</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.1. <A
-HREF="faq-features.html#AEN257"
+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="faq-features.html#AEN271"
+HREF="features.html#AEN267"
 >How can I use samba as a fax server?</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.2.1. <A
-HREF="faq-features.html#AEN282"
+HREF="features.html#AEN278"
 >Tools for printing faxes</A
 ></DT
 ><DT
 >6.2.2. <A
-HREF="faq-features.html#AEN291"
+HREF="features.html#AEN288"
 >Making the fax-server</A
 ></DT
 ><DT
 >6.2.3. <A
-HREF="faq-features.html#AEN307"
+HREF="features.html#AEN304"
 >Installing the client drivers</A
 ></DT
 ><DT
 >6.2.4. <A
-HREF="faq-features.html#AEN321"
+HREF="features.html#AEN318"
 >Example smb.conf</A
 ></DT
 ></DL
 ></DD
 ><DT
 >6.3. <A
-HREF="faq-features.html#AEN325"
+HREF="features.html#AEN322"
 >Samba doesn't work well together with DHCP!</A
 ></DT
 ><DT
 >6.4. <A
-HREF="faq-features.html#AEN338"
+HREF="features.html#AEN335"
 >How can I assign NetBIOS names to clients with DHCP?</A
 ></DT
 ><DT
 >6.5. <A
-HREF="faq-features.html#AEN345"
+HREF="features.html#AEN342"
 >How do I convert between unix and dos text formats?</A
 ></DT
 ><DT
 >6.6. <A
-HREF="faq-features.html#AEN350"
+HREF="features.html#AEN347"
 >Does samba have wins replication support?</A
 ></DT
 ></DL
 ></DD
-><DT
->7. <A
-HREF="faq-printing.html"
->Printing problems</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="faq-printing.html#AEN359"
->setdriver or cupsaddsmb failes</A
-></DT
-></DL
-></DD
 ></DL
 ></DIV
 ></DIV
@@ -347,7 +321,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-general.html"
+HREF="general.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
index 142d9dc53779168971a84061187ab05c7ae10b9c..b90d99bf66f75135149786c36458fde5bdcb41bc 100644 (file)
@@ -5,7 +5,7 @@
 >SAMBA Developers Guide</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="BOOK"
 BGCOLOR="#FFFFFF"
@@ -24,8 +24,8 @@ CLASS="TITLEPAGE"
 CLASS="TITLE"
 ><A
 NAME="SAMBA-DEVELOPERS-GUIDE"
->SAMBA Developers Guide</A
-></H1
+></A
+>SAMBA Developers Guide</H1
 ><H3
 CLASS="AUTHOR"
 ><A
@@ -687,7 +687,7 @@ HREF="#AEN2925"
 ><DT
 >10.4. <A
 HREF="#AEN2959"
->ChangeID and Client Caching of Printer Information</A
+>ChangeID &#38; Client Caching of Printer Information</A
 ></DT
 ><DT
 >10.5. <A
@@ -810,92 +810,7 @@ HREF="#AEN3162"
 ><A
 NAME="SMBPASSWDFILEFORMAT"
 ></A
->&#62;The smbpasswd file</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#MODULES"
->Modules</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#AEN3225"
->Advantages</A
-></DT
-><DT
->14.2. <A
-HREF="#AEN3234"
->Loading modules</A
-></DT
-><DD
-><DL
-><DT
->14.2.1. <A
-HREF="#AEN3240"
->Static modules</A
-></DT
-><DT
->14.2.2. <A
-HREF="#AEN3247"
->Shared modules</A
-></DT
-></DL
-></DD
-><DT
->14.3. <A
-HREF="#AEN3251"
->Writing modules</A
-></DT
-><DD
-><DL
-><DT
->14.3.1. <A
-HREF="#AEN3262"
->Static/Shared selection in configure.in</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->15. <A
-HREF="#RPC-PLUGIN"
->RPC Pluggable Modules</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="#AEN3301"
->About</A
-></DT
-><DT
->15.2. <A
-HREF="#AEN3304"
->General Overview</A
-></DT
-></DL
-></DD
-><DT
->16. <A
-HREF="#PACKAGING"
->Notes to packagers</A
-></DT
-><DD
-><DL
-><DT
->16.1. <A
-HREF="#AEN3337"
->Versioning</A
-></DT
-><DT
->16.2. <A
-HREF="#AEN3343"
->Modules</A
+>The smbpasswd file</A
 ></DT
 ></DL
 ></DD
@@ -914,8 +829,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN24"
->1.1. NETBIOS</A
-></H2
+></A
+>1.1. NETBIOS</H2
 ><P
 >NetBIOS runs over the following tranports: TCP/IP; NetBEUI and IPX/SPX.
 Samba only uses NetBIOS over TCP/IP.  For details on the TCP/IP NetBIOS 
@@ -970,8 +885,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN35"
->1.2. BROADCAST NetBIOS</A
-></H2
+></A
+>1.2. BROADCAST NetBIOS</H2
 ><P
 > 
 Clients can claim names, and therefore offer services on successfully claimed
@@ -993,8 +908,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN39"
->1.3. NBNS NetBIOS</A
-></H2
+></A
+>1.3. NBNS NetBIOS</H2
 ><P
 >rfc1001.txt describes, amongst other things, the implementation and use
 of, a 'NetBIOS Name Service'.  NT/AS offers 'Windows Internet Name Service'
@@ -1053,8 +968,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN54"
->2.1. Introduction</A
-></H2
+></A
+>2.1. Introduction</H2
 ><P
 >This document gives a general overview of how Samba works
 internally. The Samba Team has tried to come up with a model which is
@@ -1088,8 +1003,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN65"
->2.2. Multithreading and Samba</A
-></H2
+></A
+>2.2. Multithreading and Samba</H2
 ><P
 >People sometimes tout threads as a uniformly good thing. They are very
 nice in their place but are quite inappropriate for smbd. nmbd is
@@ -1114,8 +1029,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN70"
->2.3. Threading smbd</A
-></H2
+></A
+>2.3. Threading smbd</H2
 ><P
 >A few problems that would arise from a threaded smbd are:</P
 ><P
@@ -1165,8 +1080,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN86"
->2.4. Threading nmbd</A
-></H2
+></A
+>2.4. Threading nmbd</H2
 ><P
 >This would be ideal, but gets sunk by portability requirements.</P
 ><P
@@ -1201,8 +1116,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN92"
->2.5. nbmd Design</A
-></H2
+></A
+>2.5. nbmd Design</H2
 ><P
 >Originally Andrew used recursion to simulate a multi-threaded
 environment, which use the stack enormously and made for really
@@ -1239,22 +1154,22 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN103"
->3.1. New Output Syntax</A
-></H2
+></A
+>3.1. New Output Syntax</H2
 ><P
 >   The syntax of a debugging log file is represented as:</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->  &#62;debugfile&#60; :== { &#62;debugmsg&#60; }
+>  &gt;debugfile&lt; :== { &gt;debugmsg&lt; }
 
-  &#62;debugmsg&#60;  :== &#62;debughdr&#60; '\n' &#62;debugtext&#60;
+  &gt;debugmsg&lt;  :== &gt;debughdr&lt; '\n' &gt;debugtext&lt;
 
-  &#62;debughdr&#60;  :== '[' TIME ',' LEVEL ']' FILE ':' [FUNCTION] '(' LINE ')'
+  &gt;debughdr&lt;  :== '[' TIME ',' LEVEL ']' FILE ':' [FUNCTION] '(' LINE ')'
 
-  &#62;debugtext&#60; :== { &#62;debugline&#60; }
+  &gt;debugtext&lt; :== { &gt;debugline&lt; }
 
-  &#62;debugline&#60; :== TEXT '\n'</PRE
+  &gt;debugline&lt; :== TEXT '\n'</PRE
 ></P
 ><P
 >TEXT is a string of characters excluding the newline character.</P
@@ -1324,8 +1239,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN128"
->3.2. The DEBUG() Macro</A
-></H2
+></A
+>3.2. The DEBUG() Macro</H2
 ><P
 >Use of the DEBUG() macro is unchanged. DEBUG() takes two parameters.
 The first is the message level, the second is the body of a function
@@ -1404,8 +1319,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN151"
->3.3. The DEBUGADD() Macro</A
-></H2
+></A
+>3.3. The DEBUGADD() Macro</H2
 ><P
 >In addition to the kludgey solution to the broken line problem
 described above, there is a clean solution. The DEBUGADD() macro never
@@ -1435,8 +1350,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN159"
->3.4. The DEBUGLVL() Macro</A
-></H2
+></A
+>3.4. The DEBUGLVL() Macro</H2
 ><P
 >One of the problems with the DEBUG() macro was that DEBUG() lines
 tended to get a bit long. Consider this example from
@@ -1503,16 +1418,16 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN179"
->3.5. New Functions</A
-></H2
+></A
+>3.5. New Functions</H2
 ><DIV
 CLASS="SECT2"
 ><H3
 CLASS="SECT2"
 ><A
 NAME="AEN181"
->3.5.1. dbgtext()</A
-></H3
+></A
+>3.5.1. dbgtext()</H3
 ><P
 >This function prints debug message text to the debug file (and
 possibly to syslog) via the format buffer. The function uses a
@@ -1529,8 +1444,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN184"
->3.5.2. dbghdr()</A
-></H3
+></A
+>3.5.2. dbghdr()</H3
 ><P
 >This is the function that writes a debug message header.
 Headers are not processed via the format buffer. Also note that
@@ -1546,8 +1461,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN188"
->3.5.3. format_debug_text()</A
-></H3
+></A
+>3.5.3. format_debug_text()</H3
 ><P
 >This is a static function in debug.c. It stores the output text
 for the body of the message in a buffer until it encounters a
@@ -1792,8 +1707,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN284"
->5.1. Character Handling</A
-></H2
+></A
+>5.1. Character Handling</H2
 ><P
 >This section describes character set handling in Samba, as implemented in
 Samba 3.0 and above</P
@@ -1811,8 +1726,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN288"
->5.2. The new functions</A
-></H2
+></A
+>5.2. The new functions</H2
 ><P
 >The new system works like this:</P
 ><P
@@ -1922,8 +1837,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN317"
->5.3. Macros in byteorder.h</A
-></H2
+></A
+>5.3. Macros in byteorder.h</H2
 ><P
 >This section describes the macros defined in byteorder.h.  These macros 
 are used extensively in the Samba code.</P
@@ -1933,8 +1848,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN320"
->5.3.1. CVAL(buf,pos)</A
-></H3
+></A
+>5.3.1. CVAL(buf,pos)</H3
 ><P
 >returns the byte at offset pos within buffer buf as an unsigned character.</P
 ></DIV
@@ -1944,8 +1859,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN323"
->5.3.2. PVAL(buf,pos)</A
-></H3
+></A
+>5.3.2. PVAL(buf,pos)</H3
 ><P
 >returns the value of CVAL(buf,pos) cast to type unsigned integer.</P
 ></DIV
@@ -1955,8 +1870,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN326"
->5.3.3. SCVAL(buf,pos,val)</A
-></H3
+></A
+>5.3.3. SCVAL(buf,pos,val)</H3
 ><P
 >sets the byte at offset pos within buffer buf to value val.</P
 ></DIV
@@ -1966,8 +1881,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN329"
->5.3.4. SVAL(buf,pos)</A
-></H3
+></A
+>5.3.4. SVAL(buf,pos)</H3
 ><P
 >      returns the value of the unsigned short (16 bit) little-endian integer at 
        offset pos within buffer buf.  An integer of this type is sometimes
@@ -1979,8 +1894,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN332"
->5.3.5. IVAL(buf,pos)</A
-></H3
+></A
+>5.3.5. IVAL(buf,pos)</H3
 ><P
 >returns the value of the unsigned 32 bit little-endian integer at offset 
 pos within buffer buf.</P
@@ -1991,8 +1906,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN335"
->5.3.6. SVALS(buf,pos)</A
-></H3
+></A
+>5.3.6. SVALS(buf,pos)</H3
 ><P
 >returns the value of the signed short (16 bit) little-endian integer at 
 offset pos within buffer buf.</P
@@ -2003,8 +1918,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN338"
->5.3.7. IVALS(buf,pos)</A
-></H3
+></A
+>5.3.7. IVALS(buf,pos)</H3
 ><P
 >returns the value of the signed 32 bit little-endian integer at offset pos
 within buffer buf.</P
@@ -2015,8 +1930,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN341"
->5.3.8. SSVAL(buf,pos,val)</A
-></H3
+></A
+>5.3.8. SSVAL(buf,pos,val)</H3
 ><P
 >sets the unsigned short (16 bit) little-endian integer at offset pos within 
 buffer buf to value val.</P
@@ -2027,8 +1942,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN344"
->5.3.9. SIVAL(buf,pos,val)</A
-></H3
+></A
+>5.3.9. SIVAL(buf,pos,val)</H3
 ><P
 >sets the unsigned 32 bit little-endian integer at offset pos within buffer 
 buf to the value val.</P
@@ -2039,8 +1954,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN347"
->5.3.10. SSVALS(buf,pos,val)</A
-></H3
+></A
+>5.3.10. SSVALS(buf,pos,val)</H3
 ><P
 >sets the short (16 bit) signed little-endian integer at offset pos within 
 buffer buf to the value val.</P
@@ -2051,8 +1966,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN350"
->5.3.11. SIVALS(buf,pos,val)</A
-></H3
+></A
+>5.3.11. SIVALS(buf,pos,val)</H3
 ><P
 >sets the signed 32 bit little-endian integer at offset pos withing buffer
 buf to the value val.</P
@@ -2063,8 +1978,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN353"
->5.3.12. RSVAL(buf,pos)</A
-></H3
+></A
+>5.3.12. RSVAL(buf,pos)</H3
 ><P
 >returns the value of the unsigned short (16 bit) big-endian integer at 
 offset pos within buffer buf.</P
@@ -2075,8 +1990,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN356"
->5.3.13. RIVAL(buf,pos)</A
-></H3
+></A
+>5.3.13. RIVAL(buf,pos)</H3
 ><P
 >returns the value of the unsigned 32 bit big-endian integer at offset 
 pos within buffer buf.</P
@@ -2087,8 +2002,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN359"
->5.3.14. RSSVAL(buf,pos,val)</A
-></H3
+></A
+>5.3.14. RSSVAL(buf,pos,val)</H3
 ><P
 >sets the value of the unsigned short (16 bit) big-endian integer at 
 offset pos within buffer buf to value val.
@@ -2100,8 +2015,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN362"
->5.3.15. RSIVAL(buf,pos,val)</A
-></H3
+></A
+>5.3.15. RSIVAL(buf,pos,val)</H3
 ><P
 >sets the value of the unsigned 32 bit big-endian integer at offset 
 pos within buffer buf to value val.</P
@@ -2113,8 +2028,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN365"
->5.4. LAN Manager Samba API</A
-></H2
+></A
+>5.4. LAN Manager Samba API</H2
 ><P
 >This section describes the functions need to make a LAN Manager RPC call.
 This information had been obtained by examining the Samba code and the LAN
@@ -2135,8 +2050,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN371"
->5.4.1. Parameters</A
-></H3
+></A
+>5.4.1. Parameters</H3
 ><P
 >The parameters are as follows:</P
 ><P
@@ -2229,8 +2144,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN406"
->5.4.2. Return value</A
-></H3
+></A
+>5.4.2. Return value</H3
 ><P
 >The returned parameters (pointed to by rparam), in their order of appearance
 are:</P
@@ -2282,8 +2197,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN420"
->5.5. Code character table</A
-></H2
+></A
+>5.5. Code character table</H2
 ><P
 >Certain data structures are described by means of ASCIIz strings containing
 code characters.  These are the code characters:</P
@@ -2347,8 +2262,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN451"
->6.1. Lexical Analysis</A
-></H2
+></A
+>6.1. Lexical Analysis</H2
 ><P
 >Basically, the file is processed on a line by line basis.  There are
 four types of lines that are recognized by the lexical analyzer
@@ -2406,8 +2321,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN472"
->6.1.1. Handling of Whitespace</A
-></H3
+></A
+>6.1.1. Handling of Whitespace</H3
 ><P
 >Whitespace is defined as all characters recognized by the isspace()
 function (see ctype(3C)) except for the newline character ('\n')
@@ -2443,8 +2358,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN484"
->6.1.2. Handling of Line Continuation</A
-></H3
+></A
+>6.1.2. Handling of Line Continuation</H3
 ><P
 >Long section header and parameter lines may be extended across
 multiple lines by use of the backslash character ('\\').  Line
@@ -2483,8 +2398,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN495"
->6.1.3. Line Continuation Quirks</A
-></H3
+></A
+>6.1.3. Line Continuation Quirks</H3
 ><P
 >Note the following example:</P
 ><P
@@ -2543,17 +2458,17 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN515"
->6.2. Syntax</A
-></H2
+></A
+>6.2. Syntax</H2
 ><P
 >The syntax of the smb.conf file is as follows:</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->  &#60;file&#62;            :==  { &#60;section&#62; } EOF
-  &#60;section&#62;         :==  &#60;section header&#62; { &#60;parameter line&#62; }
-  &#60;section header&#62;  :==  '[' NAME ']'
-  &#60;parameter line&#62;  :==  NAME '=' VALUE NL</PRE
+>  &lt;file&gt;            :==  { &lt;section&gt; } EOF
+  &lt;section&gt;         :==  &lt;section header&gt; { &lt;parameter line&gt; }
+  &lt;section header&gt;  :==  '[' NAME ']'
+  &lt;parameter line&gt;  :==  NAME '=' VALUE NL</PRE
 ></P
 ><P
 >Basically, this means that</P
@@ -2590,8 +2505,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN530"
->6.2.1. About params.c</A
-></H3
+></A
+>6.2.1. About params.c</H3
 ><P
 >The parsing of the config file is a bit unusual if you are used to
 lex, yacc, bison, etc.  Both lexical analysis (scanning) and parsing
@@ -2613,8 +2528,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN540"
->7.1. Introduction</A
-></H2
+></A
+>7.1. Introduction</H2
 ><P
 >This is a short document that describes some of the issues that
 confront a SMB implementation on unix, and how Samba copes with
@@ -2630,8 +2545,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN544"
->7.2. Usernames</A
-></H2
+></A
+>7.2. Usernames</H2
 ><P
 >The SMB protocol has only a loose username concept. Early SMB
 protocols (such as CORE and COREPLUS) have no username concept at
@@ -2676,8 +2591,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN552"
->7.3. File Ownership</A
-></H2
+></A
+>7.3. File Ownership</H2
 ><P
 >The commonly used SMB protocols have no way of saying "you can't do
 that because you don't own the file". They have, in fact, no concept
@@ -2703,8 +2618,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN557"
->7.4. Passwords</A
-></H2
+></A
+>7.4. Passwords</H2
 ><P
 >Many SMB clients uppercase passwords before sending them. I have no
 idea why they do this. Interestingly WfWg uppercases the password only
@@ -2734,8 +2649,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN563"
->7.5. Locking</A
-></H2
+></A
+>7.5. Locking</H2
 ><P
 >Since samba 2.2, samba supports other types of locking as well. This 
 section is outdated.</P
@@ -2774,8 +2689,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN571"
->7.6. Deny Modes</A
-></H2
+></A
+>7.6. Deny Modes</H2
 ><P
 >When a SMB client opens a file it asks for a particular "deny mode" to
 be placed on the file. These modes (DENY_NONE, DENY_READ, DENY_WRITE,
@@ -2797,8 +2712,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN575"
->7.7. Trapdoor UIDs</A
-></H2
+></A
+>7.7. Trapdoor UIDs</H2
 ><P
 >A SMB session can run with several uids on the one socket. This
 happens when a user connects to two shares with different
@@ -2816,8 +2731,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN579"
->7.8. Port numbers</A
-></H2
+></A
+>7.8. Port numbers</H2
 ><P
 >There is a convention that clients on sockets use high "unprivilaged"
 port numbers (&#62;1000) and connect to servers on low "privilaged" port
@@ -2848,8 +2763,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN584"
->7.9. Protocol Complexity</A
-></H2
+></A
+>7.9. Protocol Complexity</H2
 ><P
 >There are many "protocol levels" in the SMB protocol. It seems that
 each time new functionality was added to a Microsoft operating system,
@@ -3029,8 +2944,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN652"
->9.1. Introduction</A
-></H2
+></A
+>9.1. Introduction</H2
 ><P
 >This document contains information to provide an NT workstation with login
 services, without the need for an NT server. It is the sgml version of <A
@@ -3153,8 +3068,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN688"
->9.1.1. Sources</A
-></H3
+></A
+>9.1.1. Sources</H3
 ><P
 ></P
 ><TABLE
@@ -3187,8 +3102,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN695"
->9.1.2. Credits</A
-></H3
+></A
+>9.1.2. Credits</H3
 ><P
 ></P
 ><TABLE
@@ -3222,16 +3137,16 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN702"
->9.2. Notes and Structures</A
-></H2
+></A
+>9.2. Notes and Structures</H2
 ><DIV
 CLASS="SECT2"
 ><H3
 CLASS="SECT2"
 ><A
 NAME="AEN704"
->9.2.1. Notes</A
-></H3
+></A
+>9.2.1. Notes</H3
 ><P
 ></P
 ><OL
@@ -3282,16 +3197,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN717"
->9.2.2. Enumerations</A
-></H3
+></A
+>9.2.2. Enumerations</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN719"
->9.2.2.1. MSRPC Header type</A
-></H4
+></A
+>9.2.2.1. MSRPC Header type</H4
 ><P
 >command number in the msrpc packet header</P
 ><P
@@ -3332,8 +3247,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN739"
->9.2.2.2. MSRPC Packet info</A
-></H4
+></A
+>9.2.2.2. MSRPC Packet info</H4
 ><P
 >The meaning of these flags is undocumented</P
 ><P
@@ -3399,16 +3314,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN775"
->9.2.3. Structures</A
-></H3
+></A
+>9.2.3. Structures</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN777"
->9.2.3.1. VOID *</A
-></H4
+></A
+>9.2.3.1. VOID *</H4
 ><P
 >sizeof VOID* is 32 bits.</P
 ></DIV
@@ -3418,8 +3333,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN780"
->9.2.3.2. char</A
-></H4
+></A
+>9.2.3.2. char</H4
 ><P
 >sizeof char is 8 bits.</P
 ></DIV
@@ -3429,8 +3344,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN783"
->9.2.3.3. UTIME</A
-></H4
+></A
+>9.2.3.3. UTIME</H4
 ><P
 >UTIME is 32 bits, indicating time in seconds since 01jan1970.  documented in cifs6.txt (section 3.5 page, page 30).</P
 ></DIV
@@ -3440,8 +3355,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN786"
->9.2.3.4. NTTIME</A
-></H4
+></A
+>9.2.3.4. NTTIME</H4
 ><P
 >NTTIME is 64 bits.  documented in cifs6.txt (section 3.5 page, page 30).</P
 ></DIV
@@ -3451,8 +3366,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN789"
->9.2.3.5. DOM_SID (domain SID structure)</A
-></H4
+></A
+>9.2.3.5. DOM_SID (domain SID structure)</H4
 ><P
 ></P
 ><DIV
@@ -3505,8 +3420,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN814"
->9.2.3.6. STR (string)</A
-></H4
+></A
+>9.2.3.6. STR (string)</H4
 ><P
 >STR (string) is a char[] : a null-terminated string of ascii characters.</P
 ></DIV
@@ -3516,8 +3431,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN817"
->9.2.3.7. UNIHDR (unicode string header)</A
-></H4
+></A
+>9.2.3.7. UNIHDR (unicode string header)</H4
 ><P
 ></P
 ><DIV
@@ -3550,8 +3465,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN832"
->9.2.3.8. UNIHDR2 (unicode string header plus buffer pointer)</A
-></H4
+></A
+>9.2.3.8. UNIHDR2 (unicode string header plus buffer pointer)</H4
 ><P
 ></P
 ><DIV
@@ -3578,8 +3493,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN843"
->9.2.3.9. UNISTR (unicode string)</A
-></H4
+></A
+>9.2.3.9. UNISTR (unicode string)</H4
 ><P
 ></P
 ><DIV
@@ -3600,8 +3515,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN850"
->9.2.3.10. NAME (length-indicated unicode string)</A
-></H4
+></A
+>9.2.3.10. NAME (length-indicated unicode string)</H4
 ><P
 ></P
 ><DIV
@@ -3628,8 +3543,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN861"
->9.2.3.11. UNISTR2 (aligned unicode string)</A
-></H4
+></A
+>9.2.3.11. UNISTR2 (aligned unicode string)</H4
 ><P
 ></P
 ><DIV
@@ -3674,8 +3589,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN884"
->9.2.3.12. OBJ_ATTR (object attributes)</A
-></H4
+></A
+>9.2.3.12. OBJ_ATTR (object attributes)</H4
 ><P
 ></P
 ><DIV
@@ -3726,8 +3641,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN911"
->9.2.3.13. POL_HND (LSA policy handle)</A
-></H4
+></A
+>9.2.3.13. POL_HND (LSA policy handle)</H4
 ><P
 ></P
 ><DIV
@@ -3748,8 +3663,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN918"
->9.2.3.14. DOM_SID2 (domain SID structure, SIDS stored in unicode)</A
-></H4
+></A
+>9.2.3.14. DOM_SID2 (domain SID structure, SIDS stored in unicode)</H4
 ><P
 ></P
 ><DIV
@@ -3804,8 +3719,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN941"
->9.2.3.15. DOM_RID (domain RID structure)</A
-></H4
+></A
+>9.2.3.15. DOM_RID (domain RID structure)</H4
 ><P
 ></P
 ><DIV
@@ -3844,8 +3759,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN960"
->9.2.3.16. LOG_INFO (server, account, client structure)</A
-></H4
+></A
+>9.2.3.16. LOG_INFO (server, account, client structure)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -3906,8 +3821,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN987"
->9.2.3.17. CLNT_SRV (server, client names structure)</A
-></H4
+></A
+>9.2.3.17. CLNT_SRV (server, client names structure)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -3954,8 +3869,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1008"
->9.2.3.18. CREDS (credentials + time stamp)</A
-></H4
+></A
+>9.2.3.18. CREDS (credentials + time stamp)</H4
 ><P
 ></P
 ><DIV
@@ -3982,8 +3897,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1019"
->9.2.3.19. CLNT_INFO2 (server, client structure, client credentials)</A
-></H4
+></A
+>9.2.3.19. CLNT_INFO2 (server, client structure, client credentials)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -4031,8 +3946,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1040"
->9.2.3.20. CLNT_INFO (server, account, client structure, client credentials)</A
-></H4
+></A
+>9.2.3.20. CLNT_INFO (server, account, client structure, client credentials)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -4067,8 +3982,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1053"
->9.2.3.21. ID_INFO_1 (id info structure, auth level 1)</A
-></H4
+></A
+>9.2.3.21. ID_INFO_1 (id info structure, auth level 1)</H4
 ><P
 ></P
 ><DIV
@@ -4149,8 +4064,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1100"
->9.2.3.22. SAM_INFO (sam logon/logoff id info structure)</A
-></H4
+></A
+>9.2.3.22. SAM_INFO (sam logon/logoff id info structure)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -4212,8 +4127,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1127"
->9.2.3.23. GID (group id info)</A
-></H4
+></A
+>9.2.3.23. GID (group id info)</H4
 ><P
 ></P
 ><DIV
@@ -4240,8 +4155,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1138"
->9.2.3.24. DOM_REF (domain reference info)</A
-></H4
+></A
+>9.2.3.24. DOM_REF (domain reference info)</H4
 ><P
 ></P
 ><DIV
@@ -4310,8 +4225,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1177"
->9.2.3.25. DOM_INFO (domain info, levels 3 and 5 are the same))</A
-></H4
+></A
+>9.2.3.25. DOM_INFO (domain info, levels 3 and 5 are the same))</H4
 ><P
 ></P
 ><DIV
@@ -4368,8 +4283,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1208"
->9.2.3.26. USER_INFO (user logon info)</A
-></H4
+></A
+>9.2.3.26. USER_INFO (user logon info)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -4620,8 +4535,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1365"
->9.2.3.27. SH_INFO_1_PTR (pointers to level 1 share info strings)</A
-></H4
+></A
+>9.2.3.27. SH_INFO_1_PTR (pointers to level 1 share info strings)</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -4691,8 +4606,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1388"
->9.2.3.28. SH_INFO_1_STR (level 1 share info strings)</A
-></H4
+></A
+>9.2.3.28. SH_INFO_1_STR (level 1 share info strings)</H4
 ><P
 ></P
 ><DIV
@@ -4719,8 +4634,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1399"
->9.2.3.29. SHARE_INFO_1_CTR</A
-></H4
+></A
+>9.2.3.29. SHARE_INFO_1_CTR</H4
 ><P
 >share container with 0 entries:</P
 ><P
@@ -4806,8 +4721,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1445"
->9.2.3.30. SERVER_INFO_101</A
-></H4
+></A
+>9.2.3.30. SERVER_INFO_101</H4
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -5019,8 +4934,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN1571"
->9.3. MSRPC over Transact Named Pipe</A
-></H2
+></A
+>9.3. MSRPC over Transact Named Pipe</H2
 ><P
 >For details on the SMB Transact Named Pipe, see cifs6.txt</P
 ><DIV
@@ -5029,8 +4944,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1574"
->9.3.1. MSRPC Pipes</A
-></H3
+></A
+>9.3.1. MSRPC Pipes</H3
 ><P
 >The MSRPC is conducted over an SMB Transact Pipe with a name of 
 <TT
@@ -5089,8 +5004,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1588"
->9.3.2. Header</A
-></H3
+></A
+>9.3.2. Header</H3
 ><P
 >[section to be rewritten, following receipt of work by Duncan Stansfield]</P
 ><P
@@ -5260,8 +5175,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1649"
->9.3.2.1. RPC_Packet for request, response, bind and bind acknowledgement</A
-></H4
+></A
+>9.3.2.1. RPC_Packet for request, response, bind and bind acknowledgement</H4
 ><P
 ></P
 ><DIV
@@ -5330,8 +5245,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1688"
->9.3.2.2. Interface identification</A
-></H4
+></A
+>9.3.2.2. Interface identification</H4
 ><P
 >the interfaces are numbered. as yet I haven't seen more than one interface used on the same pipe name srvsvc</P
 ><P
@@ -5347,8 +5262,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1693"
->9.3.2.3. RPC_Iface RW</A
-></H4
+></A
+>9.3.2.3. RPC_Iface RW</H4
 ><P
 ></P
 ><DIV
@@ -5375,8 +5290,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1704"
->9.3.2.4. RPC_ReqBind RW</A
-></H4
+></A
+>9.3.2.4. RPC_ReqBind RW</H4
 ><P
 >the remainder of the packet after the header if "type" was Bind in the response header, "type" should be BindAck</P
 ><P
@@ -5447,8 +5362,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1744"
->9.3.2.5. RPC_Address RW</A
-></H4
+></A
+>9.3.2.5. RPC_Address RW</H4
 ><P
 ></P
 ><DIV
@@ -5475,8 +5390,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1755"
->9.3.2.6. RPC_ResBind RW</A
-></H4
+></A
+>9.3.2.6. RPC_ResBind RW</H4
 ><P
 >the response to place after the header in the reply packet</P
 ><P
@@ -5553,8 +5468,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1799"
->9.3.2.7. RPC_ReqNorm RW</A
-></H4
+></A
+>9.3.2.7. RPC_ReqNorm RW</H4
 ><P
 >the remainder of the packet after the header for every other other request</P
 ><P
@@ -5595,8 +5510,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1819"
->9.3.2.8. RPC_ResNorm RW</A
-></H4
+></A
+>9.3.2.8. RPC_ResNorm RW</H4
 ><P
 ></P
 ><DIV
@@ -5642,8 +5557,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1842"
->9.3.3. Tail</A
-></H3
+></A
+>9.3.3. Tail</H3
 ><P
 >The end of each of the NTLSA and NETLOGON named pipes ends with:</P
 ><P
@@ -5672,8 +5587,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1854"
->9.3.4. RPC Bind / Bind Ack</A
-></H3
+></A
+>9.3.4. RPC Bind / Bind Ack</H3
 ><P
 >RPC Binds are the process of associating an RPC pipe (e.g \PIPE\lsarpc)
 with a "transfer syntax" (see RPC_Iface structure).  The purpose for doing
@@ -5802,8 +5717,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1898"
->9.3.5. NTLSA Transact Named Pipe</A
-></H3
+></A
+>9.3.5. NTLSA Transact Named Pipe</H3
 ><P
 >The sequence of actions taken on this pipe are:</P
 ><P
@@ -5901,8 +5816,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1939"
->9.3.6. LSA Open Policy</A
-></H3
+></A
+>9.3.6. LSA Open Policy</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -5917,8 +5832,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1943"
->9.3.6.1. Request</A
-></H4
+></A
+>9.3.6.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -5957,8 +5872,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1962"
->9.3.6.2. Response</A
-></H4
+></A
+>9.3.6.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -5986,8 +5901,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN1973"
->9.3.7. LSA Query Info Policy</A
-></H3
+></A
+>9.3.7. LSA Query Info Policy</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6002,8 +5917,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1977"
->9.3.7.1. Request</A
-></H4
+></A
+>9.3.7.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6030,8 +5945,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN1988"
->9.3.7.2. Response</A
-></H4
+></A
+>9.3.7.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6071,16 +5986,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2001"
->9.3.8. LSA Enumerate Trusted Domains</A
-></H3
+></A
+>9.3.8. LSA Enumerate Trusted Domains</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN2003"
->9.3.8.1. Request</A
-></H4
+></A
+>9.3.8.1. Request</H4
 ><P
 >no extra data</P
 ></DIV
@@ -6090,8 +6005,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2006"
->9.3.8.2. Response</A
-></H4
+></A
+>9.3.8.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6131,16 +6046,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2025"
->9.3.9. LSA Open Secret</A
-></H3
+></A
+>9.3.9. LSA Open Secret</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN2027"
->9.3.9.1. Request</A
-></H4
+></A
+>9.3.9.1. Request</H4
 ><P
 >no extra data</P
 ></DIV
@@ -6150,8 +6065,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2030"
->9.3.9.2. Response</A
-></H4
+></A
+>9.3.9.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6199,16 +6114,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2054"
->9.3.10. LSA Close</A
-></H3
+></A
+>9.3.10. LSA Close</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN2056"
->9.3.10.1. Request</A
-></H4
+></A
+>9.3.10.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6229,8 +6144,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2063"
->9.3.10.2. Response</A
-></H4
+></A
+>9.3.10.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6254,8 +6169,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2071"
->9.3.11. LSA Lookup SIDS</A
-></H3
+></A
+>9.3.11. LSA Lookup SIDS</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6270,8 +6185,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2075"
->9.3.11.1. Request</A
-></H4
+></A
+>9.3.11.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6322,8 +6237,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2102"
->9.3.11.2. Response</A
-></H4
+></A
+>9.3.11.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6377,8 +6292,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2130"
->9.3.12. LSA Lookup Names</A
-></H3
+></A
+>9.3.12. LSA Lookup Names</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6393,8 +6308,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2134"
->9.3.12.1. Request</A
-></H4
+></A
+>9.3.12.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6451,8 +6366,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2165"
->9.3.12.2. Response</A
-></H4
+></A
+>9.3.12.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6507,8 +6422,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2193"
->9.4. NETLOGON rpc Transact Named Pipe</A
-></H2
+></A
+>9.4. NETLOGON rpc Transact Named Pipe</H2
 ><P
 >The sequence of actions taken on this pipe are:</P
 ><P
@@ -6607,8 +6522,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2232"
->9.4.1. LSA Request Challenge</A
-></H3
+></A
+>9.4.1. LSA Request Challenge</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6639,8 +6554,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2240"
->9.4.1.1. Request</A
-></H4
+></A
+>9.4.1.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6679,8 +6594,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2259"
->9.4.1.2. Response</A
-></H4
+></A
+>9.4.1.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6704,8 +6619,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2267"
->9.4.2. LSA Authenticate 2</A
-></H3
+></A
+>9.4.2. LSA Authenticate 2</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6736,8 +6651,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2275"
->9.4.2.1. Request</A
-></H4
+></A
+>9.4.2.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6776,8 +6691,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2294"
->9.4.2.2. Response</A
-></H4
+></A
+>9.4.2.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6807,8 +6722,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2306"
->9.4.3. LSA Server Password Set</A
-></H3
+></A
+>9.4.3. LSA Server Password Set</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6847,8 +6762,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2316"
->9.4.3.1. Request</A
-></H4
+></A
+>9.4.3.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6875,8 +6790,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2327"
->9.4.3.2. Response</A
-></H4
+></A
+>9.4.3.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6900,8 +6815,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2335"
->9.4.4. LSA SAM Logon</A
-></H3
+></A
+>9.4.4. LSA SAM Logon</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -6917,8 +6832,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2339"
->9.4.4.1. Request</A
-></H4
+></A
+>9.4.4.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -6939,8 +6854,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2346"
->9.4.4.2. Response</A
-></H4
+></A
+>9.4.4.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -6991,8 +6906,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2359"
->9.4.5. LSA SAM Logoff</A
-></H3
+></A
+>9.4.5. LSA SAM Logoff</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7008,8 +6923,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2363"
->9.4.5.1. Request</A
-></H4
+></A
+>9.4.5.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -7030,8 +6945,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2370"
->9.4.5.2. Response</A
-></H4
+></A
+>9.4.5.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -7062,8 +6977,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2382"
->9.5. \\MAILSLOT\NET\NTLOGON</A
-></H2
+></A
+>9.5. \\MAILSLOT\NET\NTLOGON</H2
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7080,8 +6995,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2386"
->9.5.1. Query for PDC</A
-></H3
+></A
+>9.5.1. Query for PDC</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7096,8 +7011,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2390"
->9.5.1.1. Request</A
-></H4
+></A
+>9.5.1.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -7160,8 +7075,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2425"
->9.5.1.2. Response</A
-></H4
+></A
+>9.5.1.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -7225,8 +7140,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2460"
->9.5.2. SAM Logon</A
-></H3
+></A
+>9.5.2. SAM Logon</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7257,8 +7172,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2468"
->9.5.2.1. Request</A
-></H4
+></A
+>9.5.2.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -7345,8 +7260,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2519"
->9.5.2.2. Response</A
-></H4
+></A
+>9.5.2.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -7405,8 +7320,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2550"
->9.6. SRVSVC Transact Named Pipe</A
-></H2
+></A
+>9.6. SRVSVC Transact Named Pipe</H2
 ><P
 >Defines for this pipe, identifying the query are:</P
 ><P
@@ -7434,8 +7349,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2562"
->9.6.1. Net Share Enum</A
-></H3
+></A
+>9.6.1. Net Share Enum</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7458,8 +7373,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2568"
->9.6.1.1. Request</A
-></H4
+></A
+>9.6.1.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -7522,8 +7437,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2603"
->9.6.1.2. Response</A
-></H4
+></A
+>9.6.1.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -7565,8 +7480,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2623"
->9.6.2. Net Server Get Info</A
-></H3
+></A
+>9.6.2. Net Server Get Info</H3
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -7581,8 +7496,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2627"
->9.6.2.1. Request</A
-></H4
+></A
+>9.6.2.1. Request</H4
 ><P
 ></P
 ><DIV
@@ -7609,8 +7524,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2638"
->9.6.2.2. Response</A
-></H4
+></A
+>9.6.2.2. Response</H4
 ><P
 ></P
 ><DIV
@@ -7647,16 +7562,16 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2654"
->9.7. Cryptographic side of NT Domain Authentication</A
-></H2
+></A
+>9.7. Cryptographic side of NT Domain Authentication</H2
 ><DIV
 CLASS="SECT2"
 ><H3
 CLASS="SECT2"
 ><A
 NAME="AEN2656"
->9.7.1. Definitions</A
-></H3
+></A
+>9.7.1. Definitions</H3
 ><P
 ></P
 ><DIV
@@ -7732,50 +7647,35 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2699"
->9.7.2. Protocol</A
-></H3
-><PRE
-CLASS="PROGRAMLISTING"
->C-&#62;S ReqChal,Cc
-S-&#62;C Cs</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->C &#38; S compute session key Ks = E(PW[9..15],E(PW[0..6],Add(Cc,Cs)))</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->C: Rc = Cred(Ks,Cc)
-C-&#62;S Authenticate,Rc
-S: Rs = Cred(Ks,Cs), assert(Rc == Cred(Ks,Cc))
-S-&#62;C Rs
-C: assert(Rs == Cred(Ks,Cs))</PRE
+></A
+>9.7.2. Protocol</H3
+><P
+>C-&#62;S ReqChal,Cc S-&#62;C Cs</P
+><P
+>C &#38; S compute session key Ks = E(PW[9..15],E(PW[0..6],Add(Cc,Cs)))</P
+><P
+>C: Rc = Cred(Ks,Cc) C-&#62;S Authenticate,Rc S: Rs = Cred(Ks,Cs),
+assert(Rc == Cred(Ks,Cc)) S-&#62;C Rs C: assert(Rs == Cred(Ks,Cs))</P
 ><P
 >On joining the domain the client will optionally attempt to change its
 password and the domain controller may refuse to update it depending
 on registry settings. This will also occur weekly afterwards.</P
-><PRE
-CLASS="PROGRAMLISTING"
->C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc)
-C-&#62;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-&#62;C Rs',Ts
-C: assert(Rs' == Cred(Ks,Rs+Tc+1))
-S: Rs = Rs'</PRE
+><P
+>C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C-&#62;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-&#62;C Rs',Ts C: assert(Rs' == Cred(Ks,Rs+Tc+1)) S: Rs = Rs'</P
 ><P
 >User: U with password P wishes to login to the domain (incidental data
 such as workstation and domain omitted)</P
-><PRE
-CLASS="PROGRAMLISTING"
->C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc)
-C-&#62;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()</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->S-&#62;C Cred(Ks,Cred(Ks,Rc+Tc+1)),userinfo(logon script,UID,SIDs,etc)
-C: assert(Rs == Cred(Ks,Cred(Rc+Tc+1))
-C: Rc = Cred(Ks,Rc+Tc+1)</PRE
+><P
+>C: Tc = Time(), Rc' = Cred(Ks,Rc+Tc) C-&#62;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()</P
+><P
+>S-&#62;C Cred(Ks,Cred(Ks,Rc+Tc+1)),userinfo(logon script,UID,SIDs,etc) C:
+assert(Rs == Cred(Ks,Cred(Rc+Tc+1)) C: Rc = Cred(Ks,Rc+Tc+1)</P
 ></DIV
 ><DIV
 CLASS="SECT2"
@@ -7783,8 +7683,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2709"
->9.7.3. Comments</A
-></H3
+></A
+>9.7.3. Comments</H3
 ><P
 >On first joining the domain the session key could be computed by
 anyone listening in on the network as the machine password has a well
@@ -7814,8 +7714,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2716"
->9.8. SIDs and RIDs</A
-></H2
+></A
+>9.8. SIDs and RIDs</H2
 ><P
 >SIDs and RIDs are well documented elsewhere.</P
 ><P
@@ -7846,16 +7746,16 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2724"
->9.8.1. Well-known SIDs</A
-></H3
+></A
+>9.8.1. Well-known SIDs</H3
 ><DIV
 CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
 NAME="AEN2726"
->9.8.1.1. Universal well-known SIDs</A
-></H4
+></A
+>9.8.1.1. Universal well-known SIDs</H4
 ><P
 ></P
 ><DIV
@@ -7918,8 +7818,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2761"
->9.8.1.2. NT well-known SIDs</A
-></H4
+></A
+>9.8.1.2. NT well-known SIDs</H4
 ><P
 ></P
 ><DIV
@@ -8007,8 +7907,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN2812"
->9.8.2. Well-known RIDS</A
-></H3
+></A
+>9.8.2. Well-known RIDS</H3
 ><P
 >A RID is a sub-authority value, as part of either a SID, or in the case
 of Group RIDs, part of the DOM_GID structure, in the USER_INFO_1
@@ -8019,8 +7919,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2815"
->9.8.2.1. Well-known RID users</A
-></H4
+></A
+>9.8.2.1. Well-known RID users</H4
 ><P
 ><B
 >Groupname: </B
@@ -8052,8 +7952,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2829"
->9.8.2.2. Well-known RID groups</A
-></H4
+></A
+>9.8.2.2. Well-known RID groups</H4
 ><P
 ><B
 >Groupname: </B
@@ -8097,8 +7997,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="AEN2847"
->9.8.2.3. Well-known RID aliases</A
-></H4
+></A
+>9.8.2.3. Well-known RID aliases</H4
 ><P
 ><B
 >Groupname: </B
@@ -8224,8 +8124,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2896"
->10.1. Abstract</A
-></H2
+></A
+>10.1. Abstract</H2
 ><P
 >The purpose of this document is to provide some insight into
 Samba's printing functionality and also to describe the semantics
@@ -8237,13 +8137,13 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2899"
->10.2. Printing Interface to Various Back ends</A
-></H2
+></A
+>10.2. Printing Interface to Various Back ends</H2
 ><P
 >Samba uses a table of function pointers to seven functions.  The
-function prototypes are defined in the <VAR
+function prototypes are defined in the <TT
 CLASS="VARNAME"
->printif</VAR
+>printif</TT
 > structure declared
 in <TT
 CLASS="FILENAME"
@@ -8305,8 +8205,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2925"
->10.3. Print Queue TDB's</A
-></H2
+></A
+>10.3. Print Queue TDB's</H2
 ><P
 >Samba provides periodic caching of the output from the "lpq command"
 for performance reasons.  This cache time is configurable in seconds.
@@ -8355,7 +8255,7 @@ struct printjob {
 for the UNIX job id returned from the "lpq command" and a Windows job
 ID (32-bit bounded by PRINT_MAX_JOBID).  When a print job is returned
 by the "lpq command" that does not match an existing job in the queue's
-TDB, a 32-bit job ID above the &#60;*vance doesn't know what word is missing here*&#62; is generating by adding UNIX_JOB_START to
+TDB, a 32-bit job ID above the &lt;*vance doesn't know what word is missing here*&gt; is generating by adding UNIX_JOB_START to
 the id reported by lpq.</P
 ><P
 >In order to match a 32-bit Windows jobid onto a 16-bit lanman print job
@@ -8375,12 +8275,14 @@ TYPE="1"
 ><P
 >Check to see if another smbd is currently in 
        the process of updating the queue contents by checking the pid 
-       stored in <CODE
+       stored in <TT
 CLASS="CONSTANT"
->LOCK/<VAR
+>LOCK/<TT
 CLASS="REPLACEABLE"
->printer_name</VAR
-></CODE
+><I
+>printer_name</I
+></TT
+></TT
 >.  
        If so, then do not update the TDB.</P
 ></LI
@@ -8452,8 +8354,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2959"
->10.4. ChangeID and Client Caching of Printer Information</A
-></H2
+></A
+>10.4. ChangeID &#38; Client Caching of Printer Information</H2
 ><P
 >[To be filled in later]</P
 ></DIV
@@ -8463,8 +8365,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN2962"
->10.5. Windows NT/2K Printer Change Notify</A
-></H2
+></A
+>10.5. Windows NT/2K Printer Change Notify</H2
 ><P
 >When working with Windows NT+ clients, it is possible for a
 print server to use RPC to send asynchronous change notification
@@ -8534,7 +8436,7 @@ C:        Send a RFFPCN request with the previously obtained
        to monitor, or (b) a PRINTER_NOTIFY_OPTIONS structure
        containing the event information to monitor.  The windows
        spooler has only been observed to use (b).
-S:     The &#60;* another missing word*&#62; opens a new TCP session to the client (thus requiring
+S:     The &lt;* another missing word*&gt; opens a new TCP session to the client (thus requiring
        all print clients to be CIFS servers as well) and sends
        a ReplyOpenPrinter() request to the client.
 C:     The client responds with a printer handle that can be used to
@@ -8612,9 +8514,9 @@ information</P
 ></LI
 ></UL
 ><P
->A <VAR
+>A <TT
 CLASS="VARNAME"
->SPOOL_NOTIFY_INFO</VAR
+>SPOOL_NOTIFY_INFO</TT
 > contains:</P
 ><P
 ></P
@@ -8631,9 +8533,9 @@ in the SPOOL_NOTIFY_INFO_DATA array</P
 ></LI
 ></UL
 ><P
->The <VAR
+>The <TT
 CLASS="VARNAME"
->SPOOL_NOTIFY_INFO_DATA</VAR
+>SPOOL_NOTIFY_INFO_DATA</TT
 > entries contain:</P
 ><P
 ></P
@@ -8689,8 +8591,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3033"
->11.1. WINS Failover</A
-></H2
+></A
+>11.1. WINS Failover</H2
 ><P
 >The current Samba codebase possesses the capability to use groups of WINS
 servers that share a common namespace for NetBIOS name registration and 
@@ -8699,7 +8601,7 @@ resolution.  The formal parameter syntax is</P
 ><PRE
 CLASS="PROGRAMLISTING"
 >      WINS_SERVER_PARAM       = SERVER [ SEPARATOR SERVER_LIST ]
-       WINS_SERVER_PARAM       = "wins server"
+       WINS_SERVER_PARAM       = &quot;wins server&quot;
        SERVER                  = ADDR[:TAG]
        ADDR                    = ip_addr | fqdn
        TAG                     = string
@@ -8716,7 +8618,7 @@ CLASS="PROGRAMLISTING"
 ></P
 ><P
 >In the event that no TAG is defined in for a SERVER in the list, smbd assigns a default
-TAG of "*".  A TAG is used to group servers of a shared NetBIOS namespace together.  Upon
+TAG of &quot;*&quot;.  A TAG is used to group servers of a shared NetBIOS namespace together.  Upon
 startup, nmbd will attempt to register the netbios name value with one server in each
 tagged group.</P
 ><P
@@ -8730,7 +8632,7 @@ CLASS="PROGRAMLISTING"
 ></P
 ><P
 >Using this configuration, nmbd would attempt to register the server's NetBIOS name 
-with one WINS server in each group.  Because the "eth0" group has two servers, the 
+with one WINS server in each group.  Because the &quot;eth0&quot; group has two servers, the 
 second server would only be used when a registration (or resolution) request to 
 the first server in that group timed out.</P
 ><P
@@ -8757,8 +8659,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3054"
->12.1. Security in the 'new SAM'</A
-></H2
+></A
+>12.1. Security in the 'new SAM'</H2
 ><P
 >One of the biggest problems with passdb is it's implementation of
 'security'.  Access control is on a 'are you root at the moment' basis,
@@ -8774,7 +8676,8 @@ accessed.</P
 >For example, when you call </P
 ><PRE
 CLASS="PROGRAMLISTING"
->NTSTATUS sam_get_account_by_name(const SAM_CONTEXT *context, const
+>&#60;
+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)</PRE
 ><P
@@ -8831,8 +8734,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3071"
->12.2. Standalone from UNIX</A
-></H2
+></A
+>12.2. Standalone from UNIX</H2
 ><P
 >One of the primary tenants of the 'new SAM' is that it would not attempt
 to deal with 'what unix id for that'.  This would be left to the 'SMS'
@@ -8850,8 +8753,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3075"
->12.3. Handles and Races in the new SAM</A
-></H2
+></A
+>12.3. Handles and Races in the new SAM</H2
 ><P
 >One of the things that the 'new SAM' work has tried to face is both
 compatibility with existing code, and a closer alignment to the SAMR
@@ -8893,16 +8796,16 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3086"
->12.4. Layers</A
-></H2
+></A
+>12.4. Layers</H2
 ><DIV
 CLASS="SECT2"
 ><H3
 CLASS="SECT2"
 ><A
 NAME="AEN3088"
->12.4.1. Application</A
-></H3
+></A
+>12.4.1. Application</H3
 ><P
 >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
@@ -8914,8 +8817,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN3091"
->12.4.2. SAM Interface</A
-></H3
+></A
+>12.4.2. SAM Interface</H3
 ><P
 >This level 'owns' the various handle structures, the get/set routines on
 those structures and provides the public interface.  The application
@@ -8934,8 +8837,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN3095"
->12.4.3. SAM Modules</A
-></H3
+></A
+>12.4.3. SAM Modules</H3
 ><P
 >These do not communicate with the application directly, only by setting
 values in the handles, and receiving requests from the interface.  These
@@ -8952,16 +8855,16 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3098"
->12.5. SAM Modules</A
-></H2
+></A
+>12.5. SAM Modules</H2
 ><DIV
 CLASS="SECT2"
 ><H3
 CLASS="SECT2"
 ><A
 NAME="AEN3100"
->12.5.1. Special Module: sam_passdb</A
-></H3
+></A
+>12.5.1. Special Module: sam_passdb</H3
 ><P
 >In order for there to be a smooth transition, kai is writing a module
 that reads existing passdb backends, and translates them into SAM
@@ -8975,8 +8878,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="AEN3103"
->12.5.2. sam_ads</A
-></H3
+></A
+>12.5.2. sam_ads</H3
 ><P
 >This is the first of the SAM modules to be committed to the tree -
 mainly because I needed to coordinate work with metze (who authored most
@@ -8997,8 +8900,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3107"
->12.6. Memory Management</A
-></H2
+></A
+>12.6. Memory Management</H2
 ><P
 > 
 The 'new SAM' development effort also concerned itself with getting a
@@ -9053,8 +8956,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3121"
->12.7. Testing</A
-></H2
+></A
+>12.7. Testing</H2
 ><P
 >Testing is vital in any piece of software, and Samba is certainly no
 exception. In designing this new subsystem, we have taken care to ensure
@@ -9073,9 +8976,9 @@ it particularly valuable.</P
 ><P
 >Example useage:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$</SAMP
+>$</TT
 > <B
 CLASS="COMMAND"
 >bin/samtest</B
@@ -9111,8 +9014,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3147"
->13.1. Introduction</A
-></H2
+></A
+>13.1. Introduction</H2
 ><P
 >With the development of LanManager and Windows NT 
        compatible password encryption for Samba, it is now able 
@@ -9130,8 +9033,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3151"
->13.2. How does it work?</A
-></H2
+></A
+>13.2. How does it work?</H2
 ><P
 >LanManager encryption is somewhat similar to UNIX 
        password encryption. The server uses a file containing a 
@@ -9195,11 +9098,11 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="AEN3162"
+></A
 >13.3. <A
 NAME="SMBPASSWDFILEFORMAT"
 ></A
->&#62;The smbpasswd file</A
-></H2
+>The smbpasswd file</H2
 ><P
 >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.
@@ -9228,26 +9131,30 @@ CLASS="FILENAME"
 CLASS="FILENAME"
 >/etc/passwd
        </TT
-> file use the following command:</P
+> file use the following command :</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$ </SAMP
-><KBD
+>$ </TT
+><TT
 CLASS="USERINPUT"
+><B
 >cat /etc/passwd | mksmbpasswd.sh
-       &#62; /usr/local/samba/private/smbpasswd</KBD
+       &gt; /usr/local/samba/private/smbpasswd</B
+></TT
 ></P
 ><P
 >If you are running on a system that uses NIS, use</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$ </SAMP
-><KBD
+>$ </TT
+><TT
 CLASS="USERINPUT"
+><B
 >ypcat passwd | mksmbpasswd.sh
-       &#62; /usr/local/samba/private/smbpasswd</KBD
+       &gt; /usr/local/samba/private/smbpasswd</B
+></TT
 ></P
 ><P
 >The <B
@@ -9287,27 +9194,37 @@ CLASS="COMMAND"
 ><PRE
 CLASS="PROGRAMLISTING"
 >username:uid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:
-       [Account type]:LCT-&#60;last-change-time&#62;:Long name
+       [Account type]:LCT-&lt;last-change-time&gt;:Long name
        </PRE
 ></P
 ><P
->Although only the <VAR
+>Although only the <TT
 CLASS="REPLACEABLE"
->username</VAR
+><I
+>username</I
+></TT
 >, 
-       <VAR
+       <TT
 CLASS="REPLACEABLE"
->uid</VAR
->, <VAR
+><I
+>uid</I
+></TT
+>, <TT
 CLASS="REPLACEABLE"
->      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</VAR
+><I
+>      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</I
+></TT
 >,
-       [<VAR
+       [<TT
 CLASS="REPLACEABLE"
->Account type</VAR
->] and <VAR
+><I
+>Account type</I
+></TT
+>] and <TT
 CLASS="REPLACEABLE"
->      last-change-time</VAR
+><I
+>      last-change-time</I
+></TT
 > sections are significant 
        and are looked at in the Samba code.</P
 ><P
@@ -9332,9 +9249,9 @@ CLASS="EMPHASIS"
 ><P
 >To set a user to have no password (not recommended), edit the file
        using vi, and replace the first 11 characters with the ascii text
-       <CODE
+       <TT
 CLASS="CONSTANT"
->"NO PASSWORD"</CODE
+>"NO PASSWORD"</TT
 > (minus the quotes).</P
 ><P
 >For example, to clear the password for user bob, his smbpasswd file 
@@ -9385,374 +9302,6 @@ CLASS="FILENAME"
 > file.</P
 ></DIV
 ></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="MODULES"
-></A
->Chapter 14. Modules</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3225"
->14.1. Advantages</A
-></H2
-><P
->The new modules system has the following advantages:</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Transparent loading of static and shared modules (no need 
-for a subsystem to know about modules)</TD
-></TR
-><TR
-><TD
->Simple selection between shared and static modules at configure time</TD
-></TR
-><TR
-><TD
->"preload modules" option for increasing performance for stable modules</TD
-></TR
-><TR
-><TD
->No nasty #define stuff anymore</TD
-></TR
-><TR
-><TD
->All backends are available as plugin now (including pdb_ldap and pdb_tdb)</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3234"
->14.2. Loading modules</A
-></H2
-><P
->Some subsystems in samba use different backends. These backends can be 
-either statically linked in to samba or available as a plugin. A subsystem 
-should have a function that allows a module to register itself. For example, 
-the passdb subsystem has: </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->BOOL smb_register_passdb(const char *name, pdb_init_function init, int version);</PRE
-></P
-><P
->This function will be called by the initialisation function of the module to 
-register itself. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3240"
->14.2.1. Static modules</A
-></H3
-><P
->The modules system compiles a list of initialisation functions for the 
-static modules of each subsystem. This is a define. For example, 
-it is here currently (from <TT
-CLASS="FILENAME"
->include/config.h</TT
->): </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->/* Static init functions */
-#define static_init_pdb { pdb_mysql_init(); pdb_ldap_init(); pdb_smbpasswd_init(); pdb_tdbsam_init(); pdb_guest_init();}</PRE
-></P
-><P
->These functions should be called before the subsystem is used. That 
-should be done when the subsystem is initialised or first used. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3247"
->14.2.2. Shared modules</A
-></H3
-><P
->If a subsystem needs a certain backend, it should check if it has 
-already been registered. If the backend hasn't been registered already, 
-the subsystem should call smb_probe_module(char *subsystem, char *backend).
-This function tries to load the correct module from a certain path
-($LIBDIR/subsystem/backend.so). If the first character in 'backend' 
-is a slash, smb_probe_module() tries to load the module from the 
-absolute path specified in 'backend'.</P
-><P
->After smb_probe_module() has been executed, the subsystem 
-should check again if the module has been registered. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3251"
->14.3. Writing modules</A
-></H2
-><P
->Each module has an initialisation function. For modules that are 
-included with samba this name is '<VAR
-CLASS="REPLACEABLE"
->subsystem</VAR
->_<VAR
-CLASS="REPLACEABLE"
->backend</VAR
->_init'. For external modules (that will never be built-in, but only available as a module) this name is always 'init_module'. (In the case of modules included with samba, the configure system will add a #define subsystem_backend_init() init_module()).
-The prototype for these functions is:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->int init_module(void);</PRE
-></P
-><P
->This function should call one or more 
-registration functions. The function should return non-zero on success and zero on 
-failure.</P
-><P
->For example, pdb_ldap_init() contains: </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->int pdb_ldap_init(void)
-{
-    smb_register_passdb("ldapsam", pdb_init_ldapsam, PASSDB_INTERFACE_VERSION);
-    smb_register_passdb("ldapsam_nua", pdb_init_ldapsam_nua, PASSDB_INTERFACE_VERSION);
-       return TRUE;
-}</PRE
-></P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3262"
->14.3.1. Static/Shared selection in configure.in</A
-></H3
-><P
->Some macros in configure.in generate the various defines and substs that 
-are necessary for the system to work correct. All modules that should 
-be built by default have to be added to the variable 'default_modules'. 
-For example, if ldap is found, pdb_ldap is added to this variable.</P
-><P
->On the bottom of configure.in, SMB_MODULE() should be called 
-for each module and SMB_SUBSYSTEM() for each subsystem.</P
-><P
->Syntax:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->SMB_MODULE(<VAR
-CLASS="REPLACEABLE"
->subsystem</VAR
->_<VAR
-CLASS="REPLACEABLE"
->backend</VAR
->, <VAR
-CLASS="REPLACEABLE"
->object files</VAR
->, <VAR
-CLASS="REPLACEABLE"
->plugin name</VAR
->, <VAR
-CLASS="REPLACEABLE"
->subsystem name</VAR
->, <VAR
-CLASS="REPLACEABLE"
->static_action</VAR
->, <VAR
-CLASS="REPLACEABLE"
->shared_action</VAR
->)
-SMB_SUBSYSTEM(<VAR
-CLASS="REPLACEABLE"
->subsystem</VAR
->)</PRE
-></P
-><P
->Also, make sure to add the correct directives to 
-<TT
-CLASS="FILENAME"
->Makefile.in</TT
->. <VAR
-CLASS="REPLACEABLE"
->@SUBSYSTEM_STATIC@</VAR
->
-will be replaced with a list of objects files of the modules that need to 
-be linked in statically. <VAR
-CLASS="REPLACEABLE"
->@SUBSYSTEM_MODULES@</VAR
-> will 
-be replaced with the names of the plugins to build.</P
-><P
->You must make sure all .c files that contain defines that can 
-be changed by ./configure are rebuilded in the 'modules_clean' make target. 
-Practically, this means all c files that contain <B
-CLASS="COMMAND"
->static_init_subsystem;</B
-> calls need to be rebuilded.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="RPC-PLUGIN"
-></A
->Chapter 15. RPC Pluggable Modules</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3301"
->15.1. About</A
-></H2
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3304"
->15.2. General Overview</A
-></H2
-><P
->When an RPC call is sent to smbd, smbd tries to load a shared library by the
-name <TT
-CLASS="FILENAME"
->librpc_&#60;pipename&#62;.so</TT
-> to handle the call if
-it doesn't know how to handle the call internally.  For instance, LSA calls
-are handled by <TT
-CLASS="FILENAME"
->librpc_lsass.so</TT
->..
-These shared libraries should be located in the <TT
-CLASS="FILENAME"
->&#60;sambaroot&#62;/lib/rpc</TT
->.  smbd then attempts to call the init_module function within
-the shared library. Check the chapter on modules for more information.</P
-><P
->In the init_module function, the library should call 
-rpc_pipe_register_commands().  This function takes the following arguments:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->int rpc_pipe_register_commands(const char *clnt, const char *srv,
-                               const struct api_struct *cmds, int size);</PRE
-></P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->clnt</DT
-><DD
-><P
->the Client name of the named pipe</P
-></DD
-><DT
->srv</DT
-><DD
-><P
->the Server name of the named pipe</P
-></DD
-><DT
->cmds</DT
-><DD
-><P
->a list of api_structs that map RPC ordinal numbers to function calls</P
-></DD
-><DT
->size</DT
-><DD
-><P
->the number of api_structs contained in cmds</P
-></DD
-></DL
-></DIV
-><P
->See rpc_server/srv_reg.c and rpc_server/srv_reg_nt.c for a small example of
-how to use this library.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PACKAGING"
-></A
->Chapter 16. Notes to packagers</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3337"
->16.1. Versioning</A
-></H2
-><P
->Please, please update the version number in 
-<TT
-CLASS="FILENAME"
->source/include/version.h</TT
-> to include the versioning of your package. This makes it easier to distinguish standard samba builds
-from custom-build samba builds (distributions often patch packages). For 
-example, a good version would be: </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->Version 2.999+3.0.alpha21-5 for Debian</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3343"
->16.2. Modules</A
-></H2
-><P
->Samba now has support for building parts of samba as plugins. This 
-makes it possible to, for example, put ldap or mysql support in a seperate 
-package, thus making it possible to have a normal samba package not 
-depending on ldap or mysql. To build as much parts of samba 
-as a plugin, run: </P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->./configure --with-shared-modules=rpc,vfs,auth,pdb,charset</PRE
-></P
-></DIV
-></DIV
 ></DIV
 ></BODY
 ></HTML
diff --git a/docs/htmldocs/Samba-HOWTO-Collection.html b/docs/htmldocs/Samba-HOWTO-Collection.html
deleted file mode 100644 (file)
index 73bc3eb..0000000
+++ /dev/null
@@ -1,19719 +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.7"></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"
->SAMBA Project Documentation</A
-></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
-> : Wed Jan 15</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
-> or 
-<A
-HREF="mailto:jelmer@samba.org"
-TARGET="_top"
->jelmer@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="#INTRODUCTION"
->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="#AEN26"
->Obtaining and installing samba</A
-></DT
-><DT
->1.2. <A
-HREF="#AEN31"
->Configuring samba</A
-></DT
-><DT
->1.3. <A
-HREF="#AEN64"
->Try listing the shares available on your 
-       server</A
-></DT
-><DT
->1.4. <A
-HREF="#AEN73"
->Try connecting with the unix client</A
-></DT
-><DT
->1.5. <A
-HREF="#AEN89"
->Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></DT
-><DT
->1.6. <A
-HREF="#AEN103"
->What If Things Don't Work?</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="#BROWSING-QUICK"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#AEN130"
->Discussion</A
-></DT
-><DT
->2.2. <A
-HREF="#AEN139"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></DT
-><DT
->2.3. <A
-HREF="#AEN149"
->Use of the "Remote Announce" parameter</A
-></DT
-><DT
->2.4. <A
-HREF="#AEN163"
->Use of the "Remote Browse Sync" parameter</A
-></DT
-><DT
->2.5. <A
-HREF="#AEN168"
->Use of WINS</A
-></DT
-><DT
->2.6. <A
-HREF="#AEN179"
->Do NOT use more than one (1) protocol on MS Windows machines</A
-></DT
-><DT
->2.7. <A
-HREF="#AEN187"
->Name Resolution Order</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="#PASSDB"
->User information database</A
-></DT
-><DD
-><DL
-><DT
->3.1. <A
-HREF="#AEN244"
->Introduction</A
-></DT
-><DT
->3.2. <A
-HREF="#AEN251"
->Important Notes About Security</A
-></DT
-><DT
->3.3. <A
-HREF="#AEN289"
->The smbpasswd Command</A
-></DT
-><DT
->3.4. <A
-HREF="#AEN320"
->Plain text</A
-></DT
-><DT
->3.5. <A
-HREF="#AEN325"
->TDB</A
-></DT
-><DT
->3.6. <A
-HREF="#AEN328"
->LDAP</A
-></DT
-><DT
->3.7. <A
-HREF="#AEN546"
->MySQL</A
-></DT
-><DT
->3.8. <A
-HREF="#AEN588"
->XML</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->II. <A
-HREF="#TYPE"
->Type of installation</A
-></DT
-><DD
-><DL
-><DT
->4. <A
-HREF="#SERVERTYPE"
->Nomenclature of Server Types</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#AEN626"
->Stand Alone Server</A
-></DT
-><DT
->4.2. <A
-HREF="#AEN633"
->Domain Member Server</A
-></DT
-><DT
->4.3. <A
-HREF="#AEN639"
->Domain Controller</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#SECURITYLEVELS"
->Samba as Stand-Alone Server</A
-></DT
-><DD
-><DL
-><DT
->5.1. <A
-HREF="#AEN668"
->User and Share security level</A
-></DT
-></DL
-></DD
-><DT
->6. <A
-HREF="#SAMBA-PDC"
->Samba as an NT4 or Win2k Primary Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#AEN772"
->Prerequisite Reading</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN777"
->Background</A
-></DT
-><DT
->6.3. <A
-HREF="#AEN817"
->Configuring the Samba Domain Controller</A
-></DT
-><DT
->6.4. <A
-HREF="#AEN859"
->Creating Machine Trust Accounts and Joining Clients to the Domain</A
-></DT
-><DT
->6.5. <A
-HREF="#AEN967"
->Common Problems and Errors</A
-></DT
-><DT
->6.6. <A
-HREF="#AEN1013"
->What other help can I get?</A
-></DT
-><DT
->6.7. <A
-HREF="#AEN1127"
->Domain Control for Windows 9x/ME</A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#SAMBA-BDC"
->Samba Backup Domain Controller to Samba Domain Control</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#AEN1180"
->Prerequisite Reading</A
-></DT
-><DT
->7.2. <A
-HREF="#AEN1184"
->Background</A
-></DT
-><DT
->7.3. <A
-HREF="#AEN1192"
->What qualifies a Domain Controller on the network?</A
-></DT
-><DT
->7.4. <A
-HREF="#AEN1201"
->Can Samba be a Backup Domain Controller to an NT PDC?</A
-></DT
-><DT
->7.5. <A
-HREF="#AEN1206"
->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="#AEN1238"
->Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
-></DT
-><DT
->8.2. <A
-HREF="#AEN1249"
->Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
-></DT
-><DT
->8.3. <A
-HREF="#AEN1260"
->Create the computer account</A
-></DT
-><DT
->8.4. <A
-HREF="#AEN1272"
->Test your server setup</A
-></DT
-><DT
->8.5. <A
-HREF="#AEN1277"
->Testing with smbclient</A
-></DT
-><DT
->8.6. <A
-HREF="#AEN1280"
->Notes</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#DOMAIN-SECURITY"
->Samba as a NT4 or Win2k domain member</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#AEN1302"
->Joining an NT Domain with Samba 3.0</A
-></DT
-><DT
->9.2. <A
-HREF="#AEN1356"
->Why is this better than security = server?</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->III. <A
-HREF="#OPTIONAL"
->Advanced Configuration</A
-></DT
-><DD
-><DL
-><DT
->10. <A
-HREF="#ADVANCEDNETWORKMANAGEMENT"
->Advanced Network Manangement Information</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#AEN1388"
->Remote Server Administration</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="#AEN1416"
->Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></DT
-><DT
->11.2. <A
-HREF="#AEN1420"
->How to view file security on a Samba share</A
-></DT
-><DT
->11.3. <A
-HREF="#AEN1431"
->Viewing file ownership</A
-></DT
-><DT
->11.4. <A
-HREF="#AEN1451"
->Viewing file or directory permissions</A
-></DT
-><DT
->11.5. <A
-HREF="#AEN1487"
->Modifying file or directory permissions</A
-></DT
-><DT
->11.6. <A
-HREF="#AEN1509"
->Interaction with the standard Samba create mask 
-       parameters</A
-></DT
-><DT
->11.7. <A
-HREF="#AEN1563"
->Interaction with the standard Samba file attribute 
-       mapping</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#GROUPMAPPING"
->Group mapping HOWTO</A
-></DT
-><DT
->13. <A
-HREF="#PAM"
->Configuring PAM for distributed but centrally 
-managed authentication</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#AEN1619"
->Samba and PAM</A
-></DT
-><DT
->13.2. <A
-HREF="#AEN1668"
->Distributed Authentication</A
-></DT
-><DT
->13.3. <A
-HREF="#AEN1673"
->PAM Configuration in smb.conf</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#PRINTING"
->Printing Support</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#AEN1699"
->Introduction</A
-></DT
-><DT
->14.2. <A
-HREF="#AEN1721"
->Configuration</A
-></DT
-><DT
->14.3. <A
-HREF="#AEN1829"
->The Imprints Toolset</A
-></DT
-><DT
->14.4. <A
-HREF="#AEN1872"
->Diagnosis</A
-></DT
-></DL
-></DD
-><DT
->15. <A
-HREF="#CUPS-PRINTING"
->CUPS Printing Support</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="#AEN1984"
->Introduction</A
-></DT
-><DT
->15.2. <A
-HREF="#AEN1989"
->CUPS - RAW Print Through  Mode</A
-></DT
-><DT
->15.3. <A
-HREF="#AEN2044"
->The CUPS Filter Chains</A
-></DT
-><DT
->15.4. <A
-HREF="#AEN2083"
->CUPS Print Drivers and Devices</A
-></DT
-><DT
->15.5. <A
-HREF="#AEN2160"
->Limiting the number of pages users can print</A
-></DT
-><DT
->15.6. <A
-HREF="#AEN2249"
->Advanced Postscript Printing from MS Windows</A
-></DT
-><DT
->15.7. <A
-HREF="#AEN2264"
->Auto-Deletion of CUPS spool files</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="#AEN2326"
->Abstract</A
-></DT
-><DT
->16.2. <A
-HREF="#AEN2330"
->Introduction</A
-></DT
-><DT
->16.3. <A
-HREF="#AEN2343"
->What Winbind Provides</A
-></DT
-><DT
->16.4. <A
-HREF="#AEN2354"
->How Winbind Works</A
-></DT
-><DT
->16.5. <A
-HREF="#AEN2397"
->Installation and Configuration</A
-></DT
-><DT
->16.6. <A
-HREF="#AEN2654"
->Limitations</A
-></DT
-><DT
->16.7. <A
-HREF="#AEN2664"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#POLICYMGMT"
->Policy Management - Hows and Whys</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#AEN2678"
->System Policies</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="#PROFILEMGMT"
->Profile Management</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#AEN2761"
->Roaming Profiles</A
-></DT
-></DL
-></DD
-><DT
->19. <A
-HREF="#INTEGRATE-MS-NETWORKS"
->Integrating MS Windows networks with Samba</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#AEN2975"
->Name Resolution in a pure Unix/Linux world</A
-></DT
-><DT
->19.2. <A
-HREF="#AEN3038"
->Name resolution as used within MS Windows networking</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="#IMPROVED-BROWSING"
->Improved browsing in samba</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#AEN3090"
->Overview of browsing</A
-></DT
-><DT
->20.2. <A
-HREF="#AEN3095"
->Browsing support in samba</A
-></DT
-><DT
->20.3. <A
-HREF="#AEN3103"
->Problem resolution</A
-></DT
-><DT
->20.4. <A
-HREF="#AEN3112"
->Browsing across subnets</A
-></DT
-><DT
->20.5. <A
-HREF="#AEN3152"
->Setting up a WINS server</A
-></DT
-><DT
->20.6. <A
-HREF="#AEN3171"
->Setting up Browsing in a WORKGROUP</A
-></DT
-><DT
->20.7. <A
-HREF="#AEN3189"
->Setting up Browsing in a DOMAIN</A
-></DT
-><DT
->20.8. <A
-HREF="#AEN3199"
->Forcing samba to be the master</A
-></DT
-><DT
->20.9. <A
-HREF="#AEN3208"
->Making samba the domain master</A
-></DT
-><DT
->20.10. <A
-HREF="#AEN3226"
->Note about broadcast addresses</A
-></DT
-><DT
->20.11. <A
-HREF="#AEN3229"
->Multiple interfaces</A
-></DT
-></DL
-></DD
-><DT
->21. <A
-HREF="#MSDFS"
->Hosting a Microsoft Distributed File System tree on Samba</A
-></DT
-><DD
-><DL
-><DT
->21.1. <A
-HREF="#AEN3243"
->Instructions</A
-></DT
-></DL
-></DD
-><DT
->22. <A
-HREF="#VFS"
->Stackable VFS modules</A
-></DT
-><DD
-><DL
-><DT
->22.1. <A
-HREF="#AEN3302"
->Introduction and configuration</A
-></DT
-><DT
->22.2. <A
-HREF="#AEN3311"
->Included modules</A
-></DT
-><DT
->22.3. <A
-HREF="#AEN3365"
->VFS modules available elsewhere</A
-></DT
-></DL
-></DD
-><DT
->23. <A
-HREF="#SECURING-SAMBA"
->Securing Samba</A
-></DT
-><DD
-><DL
-><DT
->23.1. <A
-HREF="#AEN3391"
->Introduction</A
-></DT
-><DT
->23.2. <A
-HREF="#AEN3394"
->Using host based protection</A
-></DT
-><DT
->23.3. <A
-HREF="#AEN3401"
->Using interface protection</A
-></DT
-><DT
->23.4. <A
-HREF="#AEN3410"
->Using a firewall</A
-></DT
-><DT
->23.5. <A
-HREF="#AEN3417"
->Using a IPC$ share deny</A
-></DT
-><DT
->23.6. <A
-HREF="#AEN3426"
->Upgrading Samba</A
-></DT
-></DL
-></DD
-><DT
->24. <A
-HREF="#UNICODE"
->Unicode/Charsets</A
-></DT
-><DD
-><DL
-><DT
->24.1. <A
-HREF="#AEN3440"
->What are charsets and unicode?</A
-></DT
-><DT
->24.2. <A
-HREF="#AEN3449"
->Samba and charsets</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->IV. <A
-HREF="#APPENDIXES"
->Appendixes</A
-></DT
-><DD
-><DL
-><DT
->25. <A
-HREF="#SPEED"
->Samba performance issues</A
-></DT
-><DD
-><DL
-><DT
->25.1. <A
-HREF="#AEN3486"
->Comparisons</A
-></DT
-><DT
->25.2. <A
-HREF="#AEN3492"
->Socket options</A
-></DT
-><DT
->25.3. <A
-HREF="#AEN3499"
->Read size</A
-></DT
-><DT
->25.4. <A
-HREF="#AEN3504"
->Max xmit</A
-></DT
-><DT
->25.5. <A
-HREF="#AEN3509"
->Log level</A
-></DT
-><DT
->25.6. <A
-HREF="#AEN3512"
->Read raw</A
-></DT
-><DT
->25.7. <A
-HREF="#AEN3517"
->Write raw</A
-></DT
-><DT
->25.8. <A
-HREF="#AEN3521"
->Slow Clients</A
-></DT
-><DT
->25.9. <A
-HREF="#AEN3525"
->Slow Logins</A
-></DT
-><DT
->25.10. <A
-HREF="#AEN3528"
->Client tuning</A
-></DT
-></DL
-></DD
-><DT
->26. <A
-HREF="#PORTABILITY"
->Portability</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="#AEN3568"
->HPUX</A
-></DT
-><DT
->26.2. <A
-HREF="#AEN3574"
->SCO Unix</A
-></DT
-><DT
->26.3. <A
-HREF="#AEN3578"
->DNIX</A
-></DT
-><DT
->26.4. <A
-HREF="#AEN3607"
->RedHat Linux Rembrandt-II</A
-></DT
-><DT
->26.5. <A
-HREF="#AEN3613"
->AIX</A
-></DT
-></DL
-></DD
-><DT
->27. <A
-HREF="#OTHER-CLIENTS"
->Samba and other CIFS clients</A
-></DT
-><DD
-><DL
-><DT
->27.1. <A
-HREF="#AEN3633"
->Macintosh clients?</A
-></DT
-><DT
->27.2. <A
-HREF="#AEN3642"
->OS2 Client</A
-></DT
-><DT
->27.3. <A
-HREF="#AEN3682"
->Windows for Workgroups</A
-></DT
-><DT
->27.4. <A
-HREF="#AEN3706"
->Windows '95/'98</A
-></DT
-><DT
->27.5. <A
-HREF="#AEN3722"
->Windows 2000 Service Pack 2</A
-></DT
-></DL
-></DD
-><DT
->28. <A
-HREF="#COMPILING"
->How to compile SAMBA</A
-></DT
-><DD
-><DL
-><DT
->28.1. <A
-HREF="#AEN3749"
->Access Samba source code via CVS</A
-></DT
-><DT
->28.2. <A
-HREF="#AEN3792"
->Accessing the samba sources via rsync and ftp</A
-></DT
-><DT
->28.3. <A
-HREF="#AEN3798"
->Building the Binaries</A
-></DT
-><DT
->28.4. <A
-HREF="#AEN3855"
->Starting the smbd and nmbd</A
-></DT
-></DL
-></DD
-><DT
->29. <A
-HREF="#BUGREPORT"
->Reporting Bugs</A
-></DT
-><DD
-><DL
-><DT
->29.1. <A
-HREF="#AEN3917"
->Introduction</A
-></DT
-><DT
->29.2. <A
-HREF="#AEN3927"
->General info</A
-></DT
-><DT
->29.3. <A
-HREF="#AEN3933"
->Debug levels</A
-></DT
-><DT
->29.4. <A
-HREF="#AEN3950"
->Internal errors</A
-></DT
-><DT
->29.5. <A
-HREF="#AEN3960"
->Attaching to a running process</A
-></DT
-><DT
->29.6. <A
-HREF="#AEN3963"
->Patches</A
-></DT
-></DL
-></DD
-><DT
->30. <A
-HREF="#DIAGNOSIS"
->The samba checklist</A
-></DT
-><DD
-><DL
-><DT
->30.1. <A
-HREF="#AEN3986"
->Introduction</A
-></DT
-><DT
->30.2. <A
-HREF="#AEN3991"
->Assumptions</A
-></DT
-><DT
->30.3. <A
-HREF="#AEN4001"
->Tests</A
-></DT
-><DT
->30.4. <A
-HREF="#AEN4111"
->Still having troubles?</A
-></DT
-></DL
-></DD
-></DL
-></DD
-></DL
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="INTRODUCTION"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->I. General installation</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN21"
-></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="#AEN26"
->Obtaining and installing samba</A
-></DT
-><DT
->1.2. <A
-HREF="#AEN31"
->Configuring samba</A
-></DT
-><DD
-><DL
-><DT
->1.2.1. <A
-HREF="#AEN36"
->Editing the smb.conf file</A
-></DT
-><DT
->1.2.2. <A
-HREF="#AEN58"
->SWAT</A
-></DT
-></DL
-></DD
-><DT
->1.3. <A
-HREF="#AEN64"
->Try listing the shares available on your 
-       server</A
-></DT
-><DT
->1.4. <A
-HREF="#AEN73"
->Try connecting with the unix client</A
-></DT
-><DT
->1.5. <A
-HREF="#AEN89"
->Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></DT
-><DT
->1.6. <A
-HREF="#AEN103"
->What If Things Don't Work?</A
-></DT
-><DD
-><DL
-><DT
->1.6.1. <A
-HREF="#AEN108"
->Scope IDs</A
-></DT
-><DT
->1.6.2. <A
-HREF="#AEN111"
->Locking</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->2. <A
-HREF="#BROWSING-QUICK"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#AEN130"
->Discussion</A
-></DT
-><DT
->2.2. <A
-HREF="#AEN139"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></DT
-><DT
->2.3. <A
-HREF="#AEN149"
->Use of the "Remote Announce" parameter</A
-></DT
-><DT
->2.4. <A
-HREF="#AEN163"
->Use of the "Remote Browse Sync" parameter</A
-></DT
-><DT
->2.5. <A
-HREF="#AEN168"
->Use of WINS</A
-></DT
-><DT
->2.6. <A
-HREF="#AEN179"
->Do NOT use more than one (1) protocol on MS Windows machines</A
-></DT
-><DT
->2.7. <A
-HREF="#AEN187"
->Name Resolution Order</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="#PASSDB"
->User information database</A
-></DT
-><DD
-><DL
-><DT
->3.1. <A
-HREF="#AEN244"
->Introduction</A
-></DT
-><DT
->3.2. <A
-HREF="#AEN251"
->Important Notes About Security</A
-></DT
-><DD
-><DL
-><DT
->3.2.1. <A
-HREF="#AEN277"
->Advantages of SMB Encryption</A
-></DT
-><DT
->3.2.2. <A
-HREF="#AEN283"
->Advantages of non-encrypted passwords</A
-></DT
-></DL
-></DD
-><DT
->3.3. <A
-HREF="#AEN289"
->The smbpasswd Command</A
-></DT
-><DT
->3.4. <A
-HREF="#AEN320"
->Plain text</A
-></DT
-><DT
->3.5. <A
-HREF="#AEN325"
->TDB</A
-></DT
-><DT
->3.6. <A
-HREF="#AEN328"
->LDAP</A
-></DT
-><DD
-><DL
-><DT
->3.6.1. <A
-HREF="#AEN330"
->Introduction</A
-></DT
-><DT
->3.6.2. <A
-HREF="#AEN350"
->Introduction</A
-></DT
-><DT
->3.6.3. <A
-HREF="#AEN379"
->Supported LDAP Servers</A
-></DT
-><DT
->3.6.4. <A
-HREF="#AEN384"
->Schema and Relationship to the RFC 2307 posixAccount</A
-></DT
-><DT
->3.6.5. <A
-HREF="#AEN396"
->Configuring Samba with LDAP</A
-></DT
-><DT
->3.6.6. <A
-HREF="#AEN443"
->Accounts and Groups management</A
-></DT
-><DT
->3.6.7. <A
-HREF="#AEN448"
->Security and sambaAccount</A
-></DT
-><DT
->3.6.8. <A
-HREF="#AEN468"
->LDAP specials attributes for sambaAccounts</A
-></DT
-><DT
->3.6.9. <A
-HREF="#AEN538"
->Example LDIF Entries for a sambaAccount</A
-></DT
-></DL
-></DD
-><DT
->3.7. <A
-HREF="#AEN546"
->MySQL</A
-></DT
-><DD
-><DL
-><DT
->3.7.1. <A
-HREF="#AEN548"
->Creating the database</A
-></DT
-><DT
->3.7.2. <A
-HREF="#AEN558"
->Configuring</A
-></DT
-><DT
->3.7.3. <A
-HREF="#AEN575"
->Using plaintext passwords or encrypted password</A
-></DT
-><DT
->3.7.4. <A
-HREF="#AEN580"
->Getting non-column data from the table</A
-></DT
-></DL
-></DD
-><DT
->3.8. <A
-HREF="#AEN588"
->XML</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="AEN26"
->1.1. Obtaining and installing samba</A
-></H2
-><P
->Binary packages of samba are included in almost any Linux or 
-       Unix distribution. There are also some packages available at 
-       <A
-HREF="http://samba.org/"
-TARGET="_top"
->the samba homepage</A
->
-       </P
-><P
->If you need to compile samba from source, check the 
-       appropriate appendix chapter.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN31"
->1.2. Configuring samba</A
-></H2
-><P
->Samba's configuration is stored in the smb.conf file, 
-       that usually resides in <TT
-CLASS="FILENAME"
->/etc/samba/smb.conf</TT
-> 
-       or <TT
-CLASS="FILENAME"
->/usr/local/samba/lib/smb.conf</TT
->. You can either 
-       edit this file yourself or do it using one of the many graphical 
-       tools that are available, such as the web-based interface swat, that 
-       is included with samba.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN36"
->1.2.1. Editing the smb.conf file</A
-></H3
-><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
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN50"
->1.2.1.1. Test your config file with 
-       <B
-CLASS="COMMAND"
->testparm</B
-></A
-></H4
-><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
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN58"
->1.2.2. SWAT</A
-></H3
-><P
->      SWAT is a web-based interface that helps you configure samba. 
-       SWAT might not be available in the samba package on your platform, 
-       but in a seperate package. Please read the swat manpage 
-       on compiling, installing and configuring swat from source.
-       </P
-><P
->To launch SWAT just run your favorite web browser and 
-       point it at "http://localhost:901/". Replace <VAR
-CLASS="REPLACEABLE"
->localhost</VAR
-> with the name of the computer you are running samba on if you 
-       are running samba on a different computer then your browser.</P
-><P
->Note that you can attach to SWAT from any IP connected 
-       machine but connecting from a remote machine leaves your 
-       connection open to password sniffing as passwords will be sent 
-       in the clear over the wire. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN64"
->1.3. Try listing the shares available on your 
-       server</A
-></H2
-><P
-><SAMP
-CLASS="PROMPT"
->$ </SAMP
-><KBD
-CLASS="USERINPUT"
->smbclient -L 
-       <VAR
-CLASS="REPLACEABLE"
->yourhostname</VAR
-></KBD
-></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="AEN73"
->1.4. Try connecting with the unix client</A
-></H2
-><P
-><SAMP
-CLASS="PROMPT"
->$ </SAMP
-><KBD
-CLASS="USERINPUT"
->smbclient <VAR
-CLASS="REPLACEABLE"
->      //yourhostname/aservice</VAR
-></KBD
-></P
-><P
->Typically the <VAR
-CLASS="REPLACEABLE"
->yourhostname</VAR
-> 
-       would be the name of the host where you installed <B
-CLASS="COMMAND"
->      smbd</B
->. The <VAR
-CLASS="REPLACEABLE"
->aservice</VAR
-> 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
-><SAMP
-CLASS="PROMPT"
->$ </SAMP
-><KBD
-CLASS="USERINPUT"
->smbclient //bambi/fred
-       </KBD
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN89"
->1.5. Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></H2
-><P
->Try mounting disks. eg:</P
-><P
-><SAMP
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
-CLASS="USERINPUT"
->net use d: \\servername\service
-       </KBD
-></P
-><P
->Try printing. eg:</P
-><P
-><SAMP
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
-CLASS="USERINPUT"
->net use lpt1:
-       \\servername\spoolservice</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
-CLASS="USERINPUT"
->print filename
-       </KBD
-></P
-><P
->Celebrate, or send me a bug report!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN103"
->1.6. What If Things Don't Work?</A
-></H2
-><P
->Then you might read the file HOWTO chapter Diagnosis 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 <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->please</I
-></SPAN
-> send some 
-       updates of the documentation (or source code) to one of 
-       the documentation maintainers or the list.
-       </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN108"
->1.6.1. Scope IDs</A
-></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="AEN111"
->1.6.2. Locking</A
-></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
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="BROWSING-QUICK"
-></A
->Chapter 2. 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
-><P
->Note: MS Windows 2000 and later can be configured to operate with NO NetBIOS 
-over TCP/IP. Samba-3 and later also supports this mode of operation.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN130"
->2.1. Discussion</A
-></H2
-><P
->Firstly, all MS Windows networking is based on SMB (Server Message
-Block) based messaging. SMB messaging may be implemented using NetBIOS or 
-without 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 for an entire multi-segment network then
-the use of the "remote announce" and the "remote browse sync" parameters
-should NOT be necessary.</P
-><P
->As of Samba-3 WINS replication is being worked on. The bulk of the code has
-been committed, but it still needs maturation.</P
-><P
->Right now 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="AEN139"
->2.2. How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></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="AEN149"
->2.3. Use of the "Remote Announce" parameter</A
-></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
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN163"
->2.4. Use of the "Remote Browse Sync" parameter</A
-></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="AEN168"
->2.5. Use of WINS</A
-></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.
-Specifying both will cause nmbd to refuse to start!</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN179"
->2.6. Do NOT use more than one (1) protocol on MS Windows machines</A
-></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 takes 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
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Windows 95, 98, 98se, Me are referred to generically as Windows 9x.
-The Windows NT4, 2000, XP and 2003 use common protocols. These are roughly
-referred to as the WinNT family, but it should be recognised that 2000 and
-XP/2003 introduce new protocol extensions that cause them to behave 
-differently from MS Windows NT4. Generally, where a server does NOT support
-the newer or extended protocol, these will fall back to the NT4 protocols.</I
-></SPAN
-></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="AEN187"
->2.7. Name Resolution Order</A
-></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
-></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
->Alternative means of name resolution includes:</P
-><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
->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="PASSDB"
-></A
->Chapter 3. User information database</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN244"
->3.1. Introduction</A
-></H2
-><P
->Old windows clients send plain text passwords over the wire. 
-       Samba can check these passwords by crypting them and comparing them 
-       to the hash stored in the unix user database.
-       </P
-><P
->      Newer windows clients send encrypted passwords (so-called 
-       Lanman and NT hashes) 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. </P
-><P
->Next to a differently encrypted passwords, 
-       windows also stores certain data for each user 
-       that is not stored in a unix user database, e.g. 
-       workstations the user may logon from, the location where his/her 
-       profile is stored, etc.
-       Samba retrieves and stores this information using a "passdb backend".
-       Commonly
-       available backends are LDAP, plain text file, MySQL and nisplus.
-       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="AEN251"
->3.2. Important Notes About Security</A
-></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 data stored in whatever 
-       passdb backend you use (smbpasswd file, ldap, mysql) 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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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
-> These versions of MS Windows do not support full domain
-               security protocols, although they may log onto a domain environment.
-               Of these Only MS Windows XP Home does NOT support domain logons.</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->MS DOS Network client 3.0 with 
-                       the basic network redirector installed</TD
-></TR
-><TR
-><TD
->Windows 95 with the network redirector 
-                       update installed</TD
-></TR
-><TR
-><TD
->Windows 98 [se]</TD
-></TR
-><TR
-><TD
->Windows Me</TD
-></TR
-><TR
-><TD
->Windows XP Home</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-> The following versions of MS Windows fully support domain
-               security protocols.</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Windows NT 3.5x</TD
-></TR
-><TR
-><TD
->Windows NT 4.0</TD
-></TR
-><TR
-><TD
->Windows 2000 Professional</TD
-></TR
-><TR
-><TD
->Windows 200x Server/Advanced Server</TD
-></TR
-><TR
-><TD
->Windows XP Professional</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><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
-><P
->MS Windows clients will cache the encrypted password alone.
-               Even when plain text passwords are re-enabled, through the appropriate
-               registry change, the plain text password is NEVER cached. This means that
-               in the event that a network connections should become disconnected (broken)
-               only the cached (encrypted) password will be sent to the resource server
-               to affect a auto-reconnect. If the resource server does not support encrypted
-               passwords the auto-reconnect will fail. <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->USE OF ENCRYPTED PASSWORDS
-               IS STRONGLY ADVISED.</I
-></SPAN
-></P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN277"
->3.2.1. Advantages of SMB Encryption</A
-></H3
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Plain text passwords are not passed across 
-                       the network. Someone using a network sniffer cannot just 
-                       record passwords going to the SMB server.</TD
-></TR
-><TR
-><TD
->WinNT doesn't like talking to a server 
-                       that SM not support 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.
-                       </TD
-></TR
-><TR
-><TD
->Encrypted password support allows auto-matic share
-                       (resource) reconnects.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN283"
->3.2.2. Advantages of non-encrypted passwords</A
-></H3
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Plain text passwords are not kept 
-                       on disk, and are NOT cached in memory. </TD
-></TR
-><TR
-><TD
->Uses same password file as other unix 
-                       services such as login and ftp</TD
-></TR
-><TR
-><TD
->Use of 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.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN289"
->3.3. The smbpasswd Command</A
-></H2
-><P
->The smbpasswd utility is a utility similar to the 
-       <B
-CLASS="COMMAND"
->passwd</B
-> or <B
-CLASS="COMMAND"
->yppasswd</B
-> programs.
-       It maintains the two 32 byte password fields in the passdb backend. </P
-><P
-><B
-CLASS="COMMAND"
->smbpasswd</B
-> 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
-> 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
-><SAMP
-CLASS="PROMPT"
->$ </SAMP
-><KBD
-CLASS="USERINPUT"
->smbpasswd</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->Old SMB password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;type old value here - 
-       or hit return if there was no old password&#62;</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->New SMB Password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;type new value&#62;
-       </KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->Repeat New SMB Password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;re-type new value
-       </KBD
-></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
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN320"
->3.4. Plain text</A
-></H2
-><P
->Older versions of samba retrieved user information from the unix user database 
-and eventually some other fields from the file <TT
-CLASS="FILENAME"
->/etc/samba/smbpasswd</TT
->
-or <TT
-CLASS="FILENAME"
->/etc/smbpasswd</TT
->. When password encryption is disabled, no 
-data is stored at all.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN325"
->3.5. TDB</A
-></H2
-><P
->Samba can also store the user data in a "TDB" (Trivial Database). Using this backend 
-doesn't require any additional configuration. This backend is recommended for new installations who 
-don't require LDAP.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN328"
->3.6. LDAP</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN330"
->3.6.1. Introduction</A
-></H3
-><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-3-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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN350"
->3.6.2. Introduction</A
-></H3
-><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. <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
-> or
-<VAR
-CLASS="PARAMETER"
->--with-tdbsam</VAR
->) requires compile time support.</P
-><P
->When compiling Samba to include the <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
-> 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 <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
->
-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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN379"
->3.6.3. Supported LDAP Servers</A
-></H3
-><P
->The LDAP samdb code in 2.2.3 (and later) 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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN384"
->3.6.4. Schema and Relationship to the RFC 2307 posixAccount</A
-></H3
-><P
->Samba 3.0 includes the necessary schema file for OpenLDAP 2.0 in
-<TT
-CLASS="FILENAME"
->examples/LDAP/samba.schema</TT
->.  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
-<CODE
-CLASS="CONSTANT"
->STRUCTURAL</CODE
-> 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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN396"
->3.6.5. Configuring Samba with LDAP</A
-></H3
-><DIV
-CLASS="SECT3"
-><H4
-CLASS="SECT3"
-><A
-NAME="AEN398"
->3.6.5.1. OpenLDAP configuration</A
-></H4
-><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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><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="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN415"
->3.6.5.2. Configuring Samba</A
-></H4
-><P
->The following parameters are available in smb.conf only with <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
->
-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 <VAR
-CLASS="REPLACEABLE"
->secretpw</VAR
->' 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 = "(&#38;(uid=%u)(objectclass=sambaAccount))"</PRE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN443"
->3.6.6. Accounts and Groups management</A
-></H3
-><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 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).</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN448"
->3.6.7. Security and sambaAccount</A
-></H3
-><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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN468"
->3.6.8. LDAP specials attributes for sambaAccounts</A
-></H3
-><P
->The sambaAccount objectclass is composed of the following attributes:</P
-><P
-></P
-><UL
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->lmPassword</CODE
->: the LANMAN password 16-byte hash stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->ntPassword</CODE
->: the NT password hash 16-byte stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdLastSet</CODE
->: The integer time in seconds since 1970 when the
-       <CODE
-CLASS="CONSTANT"
->lmPassword</CODE
-> and <CODE
-CLASS="CONSTANT"
->ntPassword</CODE
-> attributes were last set.
-       </P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->acctFlags</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->logonTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->logoffTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->kickoffTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdCanChange</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdMustChange</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->homeDrive</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->scriptPath</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->profilePath</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->smbHome</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->userWorkstation</CODE
->: character string value currently unused.
-       </P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->rid</CODE
->: the integer representation of the user's relative identifier
-       (RID).</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->primaryGroupID</CODE
->: 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 <VAR
-CLASS="PARAMETER"
->logon home</VAR
-> 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 <VAR
-CLASS="PARAMETER"
->logon home</VAR
-> 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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN538"
->3.6.9. Example LDIF Entries for a sambaAccount</A
-></H3
-><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
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN546"
->3.7. MySQL</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN548"
->3.7.1. Creating the database</A
-></H3
-><P
->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 <TT
-CLASS="FILENAME"
->examples/pdb/mysql/mysql.dump</TT
-> 
-contains the correct queries to create the required tables. Use the command :
-
-<B
-CLASS="COMMAND"
->mysql -u<VAR
-CLASS="REPLACEABLE"
->username</VAR
-> -h<VAR
-CLASS="REPLACEABLE"
->hostname</VAR
-> -p<VAR
-CLASS="REPLACEABLE"
->password</VAR
-> <VAR
-CLASS="REPLACEABLE"
->databasename</VAR
-> &#60; <TT
-CLASS="FILENAME"
->/path/to/samba/examples/pdb/mysql/mysql.dump</TT
-></B
->&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN558"
->3.7.2. Configuring</A
-></H3
-><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] mysql: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
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->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.</P
-></TD
-></TR
-></TABLE
-></DIV
-><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: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</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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN575"
->3.7.3. Using plaintext passwords or encrypted password</A
-></H3
-><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:plain pass column' to the name of the column containing the plaintext passwords. </P
-><P
->If you use encrypted passwords, set the 'identifier:plain pass column' to 'NULL' (without the quotes). This is the default.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN580"
->3.7.4. Getting non-column data from the table</A
-></H3
-><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="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN588"
->3.8. XML</A
-></H2
-><P
->This module requires libxml2 to be installed.</P
-><P
->The usage of pdb_xml is pretty straightforward. To export data, use:
-
-<B
-CLASS="COMMAND"
->pdbedit -e xml: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 xml: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
-><DIV
-CLASS="PART"
-><A
-NAME="TYPE"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->II. Type of installation</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN597"
-></A
-><H1
->Introduction</H1
-><P
->Samba can operate in various SMB networks. This part contains information on configuring samba 
-for various environments.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->4. <A
-HREF="#SERVERTYPE"
->Nomenclature of Server Types</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#AEN626"
->Stand Alone Server</A
-></DT
-><DT
->4.2. <A
-HREF="#AEN633"
->Domain Member Server</A
-></DT
-><DT
->4.3. <A
-HREF="#AEN639"
->Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->4.3.1. <A
-HREF="#AEN642"
->Domain Controller Types</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->5. <A
-HREF="#SECURITYLEVELS"
->Samba as Stand-Alone Server</A
-></DT
-><DD
-><DL
-><DT
->5.1. <A
-HREF="#AEN668"
->User and Share security level</A
-></DT
-><DD
-><DL
-><DT
->5.1.1. <A
-HREF="#AEN671"
->User Level Security</A
-></DT
-><DT
->5.1.2. <A
-HREF="#AEN681"
->Share Level Security</A
-></DT
-><DT
->5.1.3. <A
-HREF="#AEN685"
->Server Level Security</A
-></DT
-><DT
->5.1.4. <A
-HREF="#AEN724"
->Domain Level Security</A
-></DT
-><DT
->5.1.5. <A
-HREF="#AEN745"
->ADS Level Security</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->6. <A
-HREF="#SAMBA-PDC"
->Samba as an NT4 or Win2k Primary Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#AEN772"
->Prerequisite Reading</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN777"
->Background</A
-></DT
-><DT
->6.3. <A
-HREF="#AEN817"
->Configuring the Samba Domain Controller</A
-></DT
-><DT
->6.4. <A
-HREF="#AEN859"
->Creating Machine Trust Accounts and Joining Clients to the Domain</A
-></DT
-><DD
-><DL
-><DT
->6.4.1. <A
-HREF="#AEN902"
->Manual Creation of Machine Trust Accounts</A
-></DT
-><DT
->6.4.2. <A
-HREF="#AEN943"
->"On-the-Fly" Creation of Machine Trust Accounts</A
-></DT
-><DT
->6.4.3. <A
-HREF="#AEN952"
->Joining the Client to the Domain</A
-></DT
-></DL
-></DD
-><DT
->6.5. <A
-HREF="#AEN967"
->Common Problems and Errors</A
-></DT
-><DT
->6.6. <A
-HREF="#AEN1013"
->What other help can I get?</A
-></DT
-><DT
->6.7. <A
-HREF="#AEN1127"
->Domain Control for Windows 9x/ME</A
-></DT
-><DD
-><DL
-><DT
->6.7.1. <A
-HREF="#AEN1150"
->Configuration Instructions:   Network Logons</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->7. <A
-HREF="#SAMBA-BDC"
->Samba Backup Domain Controller to Samba Domain Control</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#AEN1180"
->Prerequisite Reading</A
-></DT
-><DT
->7.2. <A
-HREF="#AEN1184"
->Background</A
-></DT
-><DT
->7.3. <A
-HREF="#AEN1192"
->What qualifies a Domain Controller on the network?</A
-></DT
-><DD
-><DL
-><DT
->7.3.1. <A
-HREF="#AEN1195"
->How does a Workstation find its domain controller?</A
-></DT
-><DT
->7.3.2. <A
-HREF="#AEN1198"
->When is the PDC needed?</A
-></DT
-></DL
-></DD
-><DT
->7.4. <A
-HREF="#AEN1201"
->Can Samba be a Backup Domain Controller to an NT PDC?</A
-></DT
-><DT
->7.5. <A
-HREF="#AEN1206"
->How do I set up a Samba BDC?</A
-></DT
-><DD
-><DL
-><DT
->7.5.1. <A
-HREF="#AEN1223"
->How do I replicate the smbpasswd file?</A
-></DT
-><DT
->7.5.2. <A
-HREF="#AEN1227"
->Can I do this all with LDAP?</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="#AEN1238"
->Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
-></DT
-><DT
->8.2. <A
-HREF="#AEN1249"
->Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
-></DT
-><DT
->8.3. <A
-HREF="#AEN1260"
->Create the computer account</A
-></DT
-><DD
-><DL
-><DT
->8.3.1. <A
-HREF="#AEN1264"
->Possible errors</A
-></DT
-></DL
-></DD
-><DT
->8.4. <A
-HREF="#AEN1272"
->Test your server setup</A
-></DT
-><DT
->8.5. <A
-HREF="#AEN1277"
->Testing with smbclient</A
-></DT
-><DT
->8.6. <A
-HREF="#AEN1280"
->Notes</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#DOMAIN-SECURITY"
->Samba as a NT4 or Win2k domain member</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#AEN1302"
->Joining an NT Domain with Samba 3.0</A
-></DT
-><DT
->9.2. <A
-HREF="#AEN1356"
->Why is this better than security = server?</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SERVERTYPE"
-></A
->Chapter 4. Nomenclature of Server Types</H1
-><P
->Adminstrators of Microsoft networks often refer to there being three
-different type of servers:</P
-><P
-></P
-><UL
-><LI
-><P
->Stand Alone Server</P
-></LI
-><LI
-><P
->Domain Member Server</P
-></LI
-><LI
-><P
->Domain Controller</P
-><P
-></P
-><UL
-><LI
-><P
->Primary Domain Controller</P
-></LI
-><LI
-><P
->Backup Domain Controller</P
-></LI
-><LI
-><P
->ADS Domain Controller</P
-></LI
-></UL
-></LI
-></UL
-><P
->A network administrator who is familiar with these terms and who
-wishes to migrate to or use Samba will want to know what these terms mean
-within a Samba context.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN626"
->4.1. Stand Alone Server</A
-></H2
-><P
->The term <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->stand alone server</I
-></SPAN
-> means that the server
-will provide local authentication and access control for all resources
-that are available from it. In general this means that there will be a
-local user database. In more technical terms, it means that resources
-on the machine will either be made available in either SHARE mode or in
-USER mode. SHARE mode and USER mode security are documented under
-discussions regarding "security mode". The smb.conf configuration parameters
-that control security mode are: "security = user" and "security = share".</P
-><P
->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
-><P
->Samba tends to blur the distinction a little in respect of what is
-a stand alone server. This is because the authentication database may be
-local or on a remote server, even if from the samba protocol perspective
-the samba server is NOT a member of a domain security context.</P
-><P
->Through the use of PAM (Pluggable Authentication Modules) and nsswitch
-(the name service switcher) the source of authentication may reside on 
-another server. We would be inclined to call this the authentication server.
-This means that the samba server may use the local Unix/Linux system
-password database (/etc/passwd or /etc/shadow), may use a local smbpasswd
-file (/etc/samba/smbpasswd or /usr/local/samba/lib/private/smbpasswd), or
-may use an LDAP back end, or even via PAM and Winbind another CIFS/SMB
-server for authentication.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN633"
->4.2. Domain Member Server</A
-></H2
-><P
->This mode of server operation involves the samba machine being made a member
-of a domain security context. This means by definition that all user authentication
-will be done from a centrally defined authentication regime. The authentication
-regime may come from an NT3/4 style (old domain technology) server, or it may be
-provided from an Active Directory server (ADS) running on MS Windows 2000 or later.
-&#62;/para&#62;&#13;</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Of course it should be clear that the authentication back end itself could be from any
-distributed directory architecture server that is supported by Samba. This can be
-LDAP (from OpenLDAP), or Sun's iPlanet, of NetWare Directory Server, etc.</I
-></SPAN
-></P
-><P
->Please refer to the section on Howto configure Samba as a Primary Domain Controller
-and for more information regarding how to create a domain machine account for a
-domain member server as well as for information regading how to enable the samba
-domain member machine to join the domain and to be fully trusted by it.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN639"
->4.3. Domain Controller</A
-></H2
-><P
->Over the years public perceptions of what Domain Control really is has taken on an
-almost mystical nature. Before we branch into a brief overview of what Domain Control
-is the following types of controller are known:</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN642"
->4.3.1. Domain Controller Types</A
-></H3
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Primary Domain Controller</TD
-></TR
-><TR
-><TD
->Backup Domain Controller</TD
-></TR
-><TR
-><TD
->ADS Domain Controller</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Primary Domain Controller</I
-></SPAN
-> or PDC plays an important role in the MS 
-Windows NT3 and NT4 Domain Control architecture, but not in the manner that so many
-expect. The PDC seeds the Domain Control database (a part of the Windows registry) and
-it plays a key part in synchronisation of the domain authentication database. </P
-><P
->New to Samba-3.0.0 is the ability to use a back-end file that holds the same type of data as
-the NT4 style SAM (Security Account Manager) database (one of the registry files).
-The samba-3.0.0 SAM can be specified via the smb.conf file parameter "passwd backend" and
-valid options include <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> smbpasswd tdbsam ldapsam nisplussam plugin unixsam</I
-></SPAN
->.
-The smbpasswd, tdbsam and ldapsam options can have a "_nua" suffix to indicate that No Unix
-Accounts need to be created. In other words, the Samba SAM will be independant of Unix/Linux
-system accounts, provided a uid range is defined from which SAM accounts can be created.</P
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Backup Domain Controller</I
-></SPAN
-> or BDC plays a key role in servicing network
-authentication requests. The BDC is biased to answer logon requests so that on a network segment
-that has a BDC and a PDC the BDC will be most likely to service network logon requests. The PDC will
-answer network logon requests when the BDC is too busy (high load). A BDC can be promoted to
-a PDC. If the PDC is on line at the time that the BDC is promoted to PDC the previous PDC is
-automatically demoted to a BDC.</P
-><P
->At this time Samba is NOT capable of acting as an <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ADS Domain Controller</I
-></SPAN
->.&#13;</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SECURITYLEVELS"
-></A
->Chapter 5. Samba as Stand-Alone Server</H1
-><P
->In this section the function and purpose of Samba's <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->security</I
-></SPAN
->
-modes are described.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN668"
->5.1. User and Share security level</A
-></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
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN671"
->5.1.1. User Level Security</A
-></H3
-><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
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN681"
->5.1.2. Share Level Security</A
-></H3
-><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
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN685"
->5.1.3. Server Level Security</A
-></H3
-><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
-><P
->"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
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN690"
->5.1.3.1. Configuring Samba for Seemless Windows Network Integration</A
-></H4
-><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 requests.</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
->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, support was dropped 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
-service connection 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
-> = <VAR
-CLASS="REPLACEABLE"
->integer</VAR
->
-       <A
-HREF="smb.conf.5.html#USERNAMELEVEL"
-TARGET="_top"
->username level</A
-> = <VAR
-CLASS="REPLACEABLE"
->integer</VAR
-></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 <VAR
-CLASS="PARAMETER"
->username level</VAR
-> parameter
-is rarely needed.</P
-><P
->However, passwords 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 <VAR
-CLASS="PARAMETER"
->password level</VAR
->
-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 <VAR
-CLASS="PARAMETER"
->password level</VAR
-> 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
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN716"
->5.1.3.2. Use MS Windows NT as an authentication server</A
-></H4
-><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
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN724"
->5.1.4. Domain Level Security</A
-></H3
-><P
->When samba is operating in <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->security = domain</I
-></SPAN
-> mode this means that
-the Samba server has a domain security trust account (a machine account) and will cause
-all authentication requests to be passed through to the domain controllers.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN728"
->5.1.4.1. Samba as a member of an MS Windows NT security domain</A
-></H4
-><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.
-This is the default behaviour.</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
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN745"
->5.1.5. ADS Level Security</A
-></H3
-><P
->For information about the configuration option please refer to the entire section entitled
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Samba as an ADS Domain Member.</I
-></SPAN
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SAMBA-PDC"
-></A
->Chapter 6. Samba as an NT4 or Win2k Primary Domain Controller</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN772"
->6.1. Prerequisite Reading</A
-></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.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN777"
->6.2. Background</A
-></H2
-><P
->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.</P
-><P
-></P
-><UL
-><LI
-><P
->      Domain logons for Windows NT 4.0 / 200x / XP Professional clients.
-       </P
-></LI
-><LI
-><P
->      Placing Windows 9x / Me clients in user level security
-       </P
-></LI
-><LI
-><P
->      Retrieving a list of users and groups from a Samba PDC to
-       Windows 9x / Me / NT / 200x / XP Professional clients
-       </P
-></LI
-><LI
-><P
->      Roaming Profiles
-       </P
-></LI
-><LI
-><P
->      Network/System Policies
-       </P
-></LI
-></UL
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Roaming Profiles and System/Network policies are advanced network administration topics
-that are covered separately in this document.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The following functionalities are new to the Samba 3.0 release:</P
-><P
-></P
-><UL
-><LI
-><P
->      Windows NT 4 domain trusts
-       </P
-></LI
-><LI
-><P
->      Adding users via the User Manager for Domains
-       </P
-></LI
-></UL
-><P
->The following functionalities are NOT provided by Samba 3.0:</P
-><P
-></P
-><UL
-><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
->      Acting as a Windows 2000 Domain Controller (i.e. Kerberos and 
-       Active Directory)
-       </P
-></LI
-></UL
-><P
->Please note that Windows 9x / Me / XP Home 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 / Win2k type domain logons and has been officially supported for some 
-time.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MS Windows XP Home edition is NOT able to join a domain and does not permit
-the use of domain logons.</I
-></SPAN
-></P
-><P
->Implementing a Samba PDC can basically be divided into 3 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
-><LI
-><P
->      Adding and managing domain user accounts
-       </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.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN817"
->6.3. Configuring the Samba Domain Controller</A
-></H2
-><P
->The first step in creating a working Samba PDC is to 
-understand the parameters necessary in smb.conf. Here we
-attempt to explain the parameters that are covered in
-<A
-HREF="smb.conf.5.html"
-TARGET="_top"
-> the smb.conf
-man page</A
->.</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
-> = <VAR
-CLASS="REPLACEABLE"
->POGO</VAR
->
-    <A
-HREF="smb.conf.5.html#WORKGROUP"
-TARGET="_top"
->workgroup</A
-> = <VAR
-CLASS="REPLACEABLE"
->NARNIA</VAR
->
-
-    ; 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
-> = <VAR
-CLASS="REPLACEABLE"
->ntadmin</VAR
->
-    
-; 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
->Samba 3.0 offers a complete implementation of group mapping
-between Windows NT groups and Unix groups (this is really quite
-complicated to explain in a short space).</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN859"
->6.4. Creating Machine Trust Accounts and Joining Clients to the Domain</A
-></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, 200x, XP Professional clients use machine trust
-accounts, but Windows 9x / Me / XP Home clients do not.  Hence, a
-Windows 9x / Me / XP Home  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-3 PDC also has to stoe machine trust account information
-in a suitable back-end data store. With Samba-3 there can be multiple back-ends
-for this including:</P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->smbpaswd</I
-></SPAN
-> - the plain ascii file stored used by
-       earlier versions of Samba. This file configuration option requires
-       a Unix/Linux system account for EVERY entry (ie: both for user and for
-       machine accounts). This file will be located in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->private</I
-></SPAN
->
-       directory (default is /usr/local/samba/lib/private or on linux /etc/samba).
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->smbpasswd_nua</I
-></SPAN
-> - This file is independant of the
-       system wide user accounts. The use of this back-end option requires
-       specification of the "non unix account range" option also. It is called
-       smbpasswd and will be located in the <TT
-CLASS="FILENAME"
->private</TT
-> directory.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tdbsam</I
-></SPAN
-> - a binary database backend that will be
-       stored in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->private</I
-></SPAN
-> directory in a file called
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->passwd.tdb</I
-></SPAN
->. The key benefit of this binary format
-       file is that it can store binary objects that can not be accomodated
-       in the traditional plain text smbpasswd file.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tdbsam_nua</I
-></SPAN
-> like the smbpasswd_nua option above, this
-       file allows the creation of arbitrary user and machine accounts without
-       requiring that account to be added to the system (/etc/passwd) file. It
-       too requires the specification of the "non unix account range" option
-       in the [globals] section of the smb.conf file.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ldapsam</I
-></SPAN
-> - An LDAP based back-end. Permits the
-       LDAP server to be specified. eg: ldap://localhost or ldap://frodo.murphy.com
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ldapsam_nua</I
-></SPAN
-> - LDAP based back-end with no unix
-       account requirement, like smbpasswd_nua and tdbsam_nua above.
-       </P
-></LI
-></UL
-><P
->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="AEN902"
->6.4.1. Manual Creation of Machine Trust Accounts</A
-></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
->  <SAMP
-CLASS="PROMPT"
->root# </SAMP
-><B
-CLASS="COMMAND"
->/usr/sbin/useradd -g 100 -d /dev/null -c <VAR
-CLASS="REPLACEABLE"
->"machine 
-nickname"</VAR
-> -s /bin/false <VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
->$ </B
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><B
-CLASS="COMMAND"
->passwd -l <VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
->$</B
-></P
-><P
->On *BSD systems, this can be done using the 'chpass' utility:</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><B
-CLASS="COMMAND"
->chpass -a "<VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
->$:*:101:100::0:0:Workstation <VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
->:/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:<VAR
-CLASS="REPLACEABLE"
->machine_nickname</VAR
->:/dev/null:/bin/false</PRE
-></P
-><P
->Above, <VAR
-CLASS="REPLACEABLE"
->machine_nickname</VAR
-> can be any
-descriptive name for the client, i.e., BasementComputer.
-<VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
-> 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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><B
-CLASS="COMMAND"
->smbpasswd -a -m <VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
-></B
-></P
-><P
->where <VAR
-CLASS="REPLACEABLE"
->machine_name</VAR
-> 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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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="AEN943"
->6.4.2. "On-the-Fly" Creation of Machine Trust Accounts</A
-></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="AEN952"
->6.4.3. Joining the Client to the Domain</A
-></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="AEN967"
->6.5. Common Problems and Errors</A
-></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
->      <SAMP
-CLASS="PROMPT"
->C:\WINNT\&#62;</SAMP
-> <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 again or consult your 
-       system administrator" when attempting to logon.
-       </P
-><P
->      This occurs when the domain SID stored in the secrets.tdb database
-       is changed. The most common cause of a change in domain SID is when
-       the domain name and/or the server name (netbios name) is changed.
-       The only way to correct the problem is to restore the original domain 
-       SID or remove the domain client from the domain and rejoin. The domain
-       SID may be reset using either the smbpasswd or rpcclient utilities.
-       </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 <VAR
-CLASS="PARAMETER"
->add user script</VAR
-> 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 
-       <VAR
-CLASS="PARAMETER"
->account</VAR
-> 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="AEN1013"
->6.6. What other help can I get?</A
-></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="AEN1127"
->6.7. Domain Control for Windows 9x/ME</A
-></H2
-><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. Samba-3 does this
-now in the same way that MS Windows NT/2K.</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 this documentation under the browsing discussions.
-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 are 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="AEN1150"
->6.7.1. Configuration Instructions:    Network Logons</A
-></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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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 <CODE
-CLASS="CONSTANT"
->USER</CODE
->.  The only security mode 
-which  will not work due to technical reasons is <CODE
-CLASS="CONSTANT"
->SHARE</CODE
->
-mode security.  <CODE
-CLASS="CONSTANT"
->DOMAIN</CODE
-> and <CODE
-CLASS="CONSTANT"
->SERVER</CODE
->
-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
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SAMBA-BDC"
-></A
->Chapter 7. Samba Backup Domain Controller to Samba Domain Control</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1180"
->7.1. Prerequisite Reading</A
-></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="AEN1184"
->7.2. Background</A
-></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="AEN1192"
->7.3. What qualifies a Domain Controller on the network?</A
-></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="AEN1195"
->7.3.1. How does a Workstation find its domain controller?</A
-></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="AEN1198"
->7.3.2. When is the PDC needed?</A
-></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="AEN1201"
->7.4. Can Samba be a Backup Domain Controller to an NT PDC?</A
-></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
->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.</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="AEN1206"
->7.5. How do I set up a Samba BDC?</A
-></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="AEN1223"
->7.5.1. How do I replicate the smbpasswd file?</A
-></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
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN1227"
->7.5.2. Can I do this all with LDAP?</A
-></H3
-><P
->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).</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 rough guide to setting up Samba 3.0 with kerberos authentication against a
-Windows2000 KDC. </P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1238"
->8.1. Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
-></H2
-><P
->You must use at least the following 3 options in smb.conf:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  realm = YOUR.KERBEROS.REALM
-  security = ADS
-  encrypt passwords = yes</PRE
-></P
-><P
->In case samba can't figure out your ads server using your realm name, use the 
-<B
-CLASS="COMMAND"
->ads server</B
-> option in <TT
-CLASS="FILENAME"
->smb.conf</TT
->:
-<PRE
-CLASS="PROGRAMLISTING"
->  ads server = your.kerberos.server</PRE
-></P
-><P
->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 required options will change soon when we get better
-  active directory integration.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1249"
->8.2. Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
-></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 for smbd and winbindd.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1260"
->8.3. Create the computer account</A
-></H2
-><P
->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="AEN1264"
->8.3.1. Possible errors</A
-></H3
-><P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><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="AEN1272"
->8.4. Test your server setup</A
-></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="AEN1277"
->8.5. Testing with smbclient</A
-></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="AEN1280"
->8.6. Notes</A
-></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 or Win2k domain member</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1302"
->9.1. Joining an NT Domain with Samba 3.0</A
-></H2
-><P
->Assume you have a Samba 3.0 server with a NetBIOS name of 
-       <CODE
-CLASS="CONSTANT"
->SERV1</CODE
-> and are joining an or Win2k NT domain called
-       <CODE
-CLASS="CONSTANT"
->DOM</CODE
->, which has a PDC with a NetBIOS name
-       of <CODE
-CLASS="CONSTANT"
->DOMPDC</CODE
-> and two backup domain controllers 
-       with NetBIOS names <CODE
-CLASS="CONSTANT"
->DOMBDC1</CODE
-> and <CODE
-CLASS="CONSTANT"
->DOMBDC2
-       </CODE
->.</P
-><P
->Firstly, 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"
->      <VAR
-CLASS="PARAMETER"
->security =</VAR
-></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"
-><VAR
-CLASS="PARAMETER"
->      workgroup =</VAR
-></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"
->      <VAR
-CLASS="PARAMETER"
->encrypt passwords</VAR
-></A
-> set to <CODE
-CLASS="CONSTANT"
->yes
-       </CODE
-> 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"
->      <VAR
-CLASS="PARAMETER"
->password server =</VAR
-></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, 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
->In order to actually join the domain, you must run this
-        command:</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->net rpc join -S DOMPDC
-       -U<VAR
-CLASS="REPLACEABLE"
->Administrator%password</VAR
-></KBD
-></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 <VAR
-CLASS="REPLACEABLE"
->Administrator%password</VAR
-> 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
-><SAMP
-CLASS="COMPUTEROUTPUT"
->Joined domain DOM.</SAMP
->
-       or <SAMP
-CLASS="COMPUTEROUTPUT"
->Joined 'SERV1' to realm 'MYREALM'</SAMP
->
-       </P
-><P
->in your terminal window. See the <A
-HREF="net.8.html"
-TARGET="_top"
->      net(8)</A
-> man page for more details.</P
-><P
->This process joins the server to thedomain
-       without having to create the machine trust account on the PDC
-       beforehand.</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/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
->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="AEN1356"
->9.2. Why is this better than security = server?</A
-></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 <CODE
-CLASS="CONSTANT"
->DOM\fred
-       </CODE
-> 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. </P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-> 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
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="OPTIONAL"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->III. Advanced Configuration</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN1374"
-></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="#ADVANCEDNETWORKMANAGEMENT"
->Advanced Network Manangement Information</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#AEN1388"
->Remote Server Administration</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="#AEN1416"
->Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></DT
-><DT
->11.2. <A
-HREF="#AEN1420"
->How to view file security on a Samba share</A
-></DT
-><DT
->11.3. <A
-HREF="#AEN1431"
->Viewing file ownership</A
-></DT
-><DT
->11.4. <A
-HREF="#AEN1451"
->Viewing file or directory permissions</A
-></DT
-><DD
-><DL
-><DT
->11.4.1. <A
-HREF="#AEN1466"
->File Permissions</A
-></DT
-><DT
->11.4.2. <A
-HREF="#AEN1480"
->Directory Permissions</A
-></DT
-></DL
-></DD
-><DT
->11.5. <A
-HREF="#AEN1487"
->Modifying file or directory permissions</A
-></DT
-><DT
->11.6. <A
-HREF="#AEN1509"
->Interaction with the standard Samba create mask 
-       parameters</A
-></DT
-><DT
->11.7. <A
-HREF="#AEN1563"
->Interaction with the standard Samba file attribute 
-       mapping</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#GROUPMAPPING"
->Group mapping HOWTO</A
-></DT
-><DT
->13. <A
-HREF="#PAM"
->Configuring PAM for distributed but centrally 
-managed authentication</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#AEN1619"
->Samba and PAM</A
-></DT
-><DT
->13.2. <A
-HREF="#AEN1668"
->Distributed Authentication</A
-></DT
-><DT
->13.3. <A
-HREF="#AEN1673"
->PAM Configuration in smb.conf</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#PRINTING"
->Printing Support</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#AEN1699"
->Introduction</A
-></DT
-><DT
->14.2. <A
-HREF="#AEN1721"
->Configuration</A
-></DT
-><DD
-><DL
-><DT
->14.2.1. <A
-HREF="#AEN1729"
->Creating [print$]</A
-></DT
-><DT
->14.2.2. <A
-HREF="#AEN1764"
->Setting Drivers for Existing Printers</A
-></DT
-><DT
->14.2.3. <A
-HREF="#AEN1780"
->Support a large number of printers</A
-></DT
-><DT
->14.2.4. <A
-HREF="#AEN1791"
->Adding New Printers via the Windows NT APW</A
-></DT
-><DT
->14.2.5. <A
-HREF="#AEN1821"
->Samba and Printer Ports</A
-></DT
-></DL
-></DD
-><DT
->14.3. <A
-HREF="#AEN1829"
->The Imprints Toolset</A
-></DT
-><DD
-><DL
-><DT
->14.3.1. <A
-HREF="#AEN1833"
->What is Imprints?</A
-></DT
-><DT
->14.3.2. <A
-HREF="#AEN1843"
->Creating Printer Driver Packages</A
-></DT
-><DT
->14.3.3. <A
-HREF="#AEN1846"
->The Imprints server</A
-></DT
-><DT
->14.3.4. <A
-HREF="#AEN1850"
->The Installation Client</A
-></DT
-></DL
-></DD
-><DT
->14.4. <A
-HREF="#AEN1872"
->Diagnosis</A
-></DT
-><DD
-><DL
-><DT
->14.4.1. <A
-HREF="#AEN1874"
->Introduction</A
-></DT
-><DT
->14.4.2. <A
-HREF="#AEN1890"
->Debugging printer problems</A
-></DT
-><DT
->14.4.3. <A
-HREF="#AEN1899"
->What printers do I have?</A
-></DT
-><DT
->14.4.4. <A
-HREF="#AEN1907"
->Setting up printcap and print servers</A
-></DT
-><DT
->14.4.5. <A
-HREF="#AEN1935"
->Job sent, no output</A
-></DT
-><DT
->14.4.6. <A
-HREF="#AEN1946"
->Job sent, strange output</A
-></DT
-><DT
->14.4.7. <A
-HREF="#AEN1958"
->Raw PostScript printed</A
-></DT
-><DT
->14.4.8. <A
-HREF="#AEN1961"
->Advanced Printing</A
-></DT
-><DT
->14.4.9. <A
-HREF="#AEN1964"
->Real debugging</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->15. <A
-HREF="#CUPS-PRINTING"
->CUPS Printing Support</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="#AEN1984"
->Introduction</A
-></DT
-><DT
->15.2. <A
-HREF="#AEN1989"
->CUPS - RAW Print Through  Mode</A
-></DT
-><DT
->15.3. <A
-HREF="#AEN2044"
->The CUPS Filter Chains</A
-></DT
-><DT
->15.4. <A
-HREF="#AEN2083"
->CUPS Print Drivers and Devices</A
-></DT
-><DD
-><DL
-><DT
->15.4.1. <A
-HREF="#AEN2090"
->Further printing steps</A
-></DT
-></DL
-></DD
-><DT
->15.5. <A
-HREF="#AEN2160"
->Limiting the number of pages users can print</A
-></DT
-><DT
->15.6. <A
-HREF="#AEN2249"
->Advanced Postscript Printing from MS Windows</A
-></DT
-><DT
->15.7. <A
-HREF="#AEN2264"
->Auto-Deletion of CUPS spool files</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="#AEN2326"
->Abstract</A
-></DT
-><DT
->16.2. <A
-HREF="#AEN2330"
->Introduction</A
-></DT
-><DT
->16.3. <A
-HREF="#AEN2343"
->What Winbind Provides</A
-></DT
-><DD
-><DL
-><DT
->16.3.1. <A
-HREF="#AEN2350"
->Target Uses</A
-></DT
-></DL
-></DD
-><DT
->16.4. <A
-HREF="#AEN2354"
->How Winbind Works</A
-></DT
-><DD
-><DL
-><DT
->16.4.1. <A
-HREF="#AEN2359"
->Microsoft Remote Procedure Calls</A
-></DT
-><DT
->16.4.2. <A
-HREF="#AEN2363"
->Microsoft Active Directory Services</A
-></DT
-><DT
->16.4.3. <A
-HREF="#AEN2366"
->Name Service Switch</A
-></DT
-><DT
->16.4.4. <A
-HREF="#AEN2382"
->Pluggable Authentication Modules</A
-></DT
-><DT
->16.4.5. <A
-HREF="#AEN2390"
->User and Group ID Allocation</A
-></DT
-><DT
->16.4.6. <A
-HREF="#AEN2394"
->Result Caching</A
-></DT
-></DL
-></DD
-><DT
->16.5. <A
-HREF="#AEN2397"
->Installation and Configuration</A
-></DT
-><DD
-><DL
-><DT
->16.5.1. <A
-HREF="#AEN2402"
->Introduction</A
-></DT
-><DT
->16.5.2. <A
-HREF="#AEN2415"
->Requirements</A
-></DT
-><DT
->16.5.3. <A
-HREF="#AEN2429"
->Testing Things Out</A
-></DT
-></DL
-></DD
-><DT
->16.6. <A
-HREF="#AEN2654"
->Limitations</A
-></DT
-><DT
->16.7. <A
-HREF="#AEN2664"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#POLICYMGMT"
->Policy Management - Hows and Whys</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#AEN2678"
->System Policies</A
-></DT
-><DD
-><DL
-><DT
->17.1.1. <A
-HREF="#AEN2692"
->Creating and Managing Windows 9x/Me Policies</A
-></DT
-><DT
->17.1.2. <A
-HREF="#AEN2704"
->Creating and Managing Windows NT4 Style Policy Files</A
-></DT
-><DT
->17.1.3. <A
-HREF="#AEN2722"
->Creating and Managing MS Windows 200x Policies</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->18. <A
-HREF="#PROFILEMGMT"
->Profile Management</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#AEN2761"
->Roaming Profiles</A
-></DT
-><DD
-><DL
-><DT
->18.1.1. <A
-HREF="#AEN2769"
->Windows NT Configuration</A
-></DT
-><DT
->18.1.2. <A
-HREF="#AEN2778"
->Windows 9X Configuration</A
-></DT
-><DT
->18.1.3. <A
-HREF="#AEN2786"
->Win9X and WinNT Configuration</A
-></DT
-><DT
->18.1.4. <A
-HREF="#AEN2793"
->Windows 9X Profile Setup</A
-></DT
-><DT
->18.1.5. <A
-HREF="#AEN2829"
->Windows NT Workstation 4.0</A
-></DT
-><DT
->18.1.6. <A
-HREF="#AEN2837"
->Windows NT/200x Server</A
-></DT
-><DT
->18.1.7. <A
-HREF="#AEN2840"
->Sharing Profiles between W9x/Me and NT4/200x/XP workstations</A
-></DT
-><DT
->18.1.8. <A
-HREF="#AEN2847"
->Windows NT 4</A
-></DT
-><DT
->18.1.9. <A
-HREF="#AEN2885"
->Windows 2000/XP</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->19. <A
-HREF="#INTEGRATE-MS-NETWORKS"
->Integrating MS Windows networks with Samba</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#AEN2975"
->Name Resolution in a pure Unix/Linux world</A
-></DT
-><DD
-><DL
-><DT
->19.1.1. <A
-HREF="#AEN2991"
-><TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></A
-></DT
-><DT
->19.1.2. <A
-HREF="#AEN3007"
-><TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></A
-></DT
-><DT
->19.1.3. <A
-HREF="#AEN3018"
-><TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></A
-></DT
-><DT
->19.1.4. <A
-HREF="#AEN3026"
-><TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></A
-></DT
-></DL
-></DD
-><DT
->19.2. <A
-HREF="#AEN3038"
->Name resolution as used within MS Windows networking</A
-></DT
-><DD
-><DL
-><DT
->19.2.1. <A
-HREF="#AEN3050"
->The NetBIOS Name Cache</A
-></DT
-><DT
->19.2.2. <A
-HREF="#AEN3055"
->The LMHOSTS file</A
-></DT
-><DT
->19.2.3. <A
-HREF="#AEN3063"
->HOSTS file</A
-></DT
-><DT
->19.2.4. <A
-HREF="#AEN3068"
->DNS Lookup</A
-></DT
-><DT
->19.2.5. <A
-HREF="#AEN3071"
->WINS Lookup</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->20. <A
-HREF="#IMPROVED-BROWSING"
->Improved browsing in samba</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#AEN3090"
->Overview of browsing</A
-></DT
-><DT
->20.2. <A
-HREF="#AEN3095"
->Browsing support in samba</A
-></DT
-><DT
->20.3. <A
-HREF="#AEN3103"
->Problem resolution</A
-></DT
-><DT
->20.4. <A
-HREF="#AEN3112"
->Browsing across subnets</A
-></DT
-><DD
-><DL
-><DT
->20.4.1. <A
-HREF="#AEN3117"
->How does cross subnet browsing work ?</A
-></DT
-></DL
-></DD
-><DT
->20.5. <A
-HREF="#AEN3152"
->Setting up a WINS server</A
-></DT
-><DT
->20.6. <A
-HREF="#AEN3171"
->Setting up Browsing in a WORKGROUP</A
-></DT
-><DT
->20.7. <A
-HREF="#AEN3189"
->Setting up Browsing in a DOMAIN</A
-></DT
-><DT
->20.8. <A
-HREF="#AEN3199"
->Forcing samba to be the master</A
-></DT
-><DT
->20.9. <A
-HREF="#AEN3208"
->Making samba the domain master</A
-></DT
-><DT
->20.10. <A
-HREF="#AEN3226"
->Note about broadcast addresses</A
-></DT
-><DT
->20.11. <A
-HREF="#AEN3229"
->Multiple interfaces</A
-></DT
-></DL
-></DD
-><DT
->21. <A
-HREF="#MSDFS"
->Hosting a Microsoft Distributed File System tree on Samba</A
-></DT
-><DD
-><DL
-><DT
->21.1. <A
-HREF="#AEN3243"
->Instructions</A
-></DT
-><DD
-><DL
-><DT
->21.1.1. <A
-HREF="#AEN3278"
->Notes</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->22. <A
-HREF="#VFS"
->Stackable VFS modules</A
-></DT
-><DD
-><DL
-><DT
->22.1. <A
-HREF="#AEN3302"
->Introduction and configuration</A
-></DT
-><DT
->22.2. <A
-HREF="#AEN3311"
->Included modules</A
-></DT
-><DD
-><DL
-><DT
->22.2.1. <A
-HREF="#AEN3313"
->audit</A
-></DT
-><DT
->22.2.2. <A
-HREF="#AEN3321"
->recycle</A
-></DT
-><DT
->22.2.3. <A
-HREF="#AEN3358"
->netatalk</A
-></DT
-></DL
-></DD
-><DT
->22.3. <A
-HREF="#AEN3365"
->VFS modules available elsewhere</A
-></DT
-><DD
-><DL
-><DT
->22.3.1. <A
-HREF="#AEN3369"
->DatabaseFS</A
-></DT
-><DT
->22.3.2. <A
-HREF="#AEN3377"
->vscan</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->23. <A
-HREF="#SECURING-SAMBA"
->Securing Samba</A
-></DT
-><DD
-><DL
-><DT
->23.1. <A
-HREF="#AEN3391"
->Introduction</A
-></DT
-><DT
->23.2. <A
-HREF="#AEN3394"
->Using host based protection</A
-></DT
-><DT
->23.3. <A
-HREF="#AEN3401"
->Using interface protection</A
-></DT
-><DT
->23.4. <A
-HREF="#AEN3410"
->Using a firewall</A
-></DT
-><DT
->23.5. <A
-HREF="#AEN3417"
->Using a IPC$ share deny</A
-></DT
-><DT
->23.6. <A
-HREF="#AEN3426"
->Upgrading Samba</A
-></DT
-></DL
-></DD
-><DT
->24. <A
-HREF="#UNICODE"
->Unicode/Charsets</A
-></DT
-><DD
-><DL
-><DT
->24.1. <A
-HREF="#AEN3440"
->What are charsets and unicode?</A
-></DT
-><DT
->24.2. <A
-HREF="#AEN3449"
->Samba and charsets</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="ADVANCEDNETWORKMANAGEMENT"
-></A
->Chapter 10. Advanced Network Manangement Information</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1388"
->10.1. Remote Server Administration</A
-></H2
-><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
-></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="AEN1416"
->11.1. Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></H2
-><P
->Windows NT clients can 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
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1420"
->11.2. How to view file security on a Samba share</A
-></H2
-><P
->From an NT4/2000/XP 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 file properties dialog
-       box. Click on the tab <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Security</I
-></SPAN
-> 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="AEN1431"
->11.3. Viewing file ownership</A
-></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 <VAR
-CLASS="REPLACEABLE"
->SERVER</VAR
-> is the NetBIOS name of 
-       the Samba server, <VAR
-CLASS="REPLACEABLE"
->user</VAR
-> is the user name of 
-       the UNIX user who owns the file, and <VAR
-CLASS="REPLACEABLE"
->(Long name)</VAR
->
-       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 <VAR
-CLASS="PARAMETER"
->nt acl support</VAR
->
-       is set to <CODE
-CLASS="CONSTANT"
->false</CODE
-> 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 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="AEN1451"
->11.4. Viewing file or directory permissions</A
-></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 <VAR
-CLASS="REPLACEABLE"
->SERVER</VAR
-> is the NetBIOS name of 
-       the Samba server, <VAR
-CLASS="REPLACEABLE"
->user</VAR
-> is the user name of 
-       the UNIX user who owns the file, and <VAR
-CLASS="REPLACEABLE"
->(Long name)</VAR
->
-       is the descriptive string identifying the user (normally found in the
-       GECOS field of the UNIX password database).</P
-><P
->If the parameter <VAR
-CLASS="PARAMETER"
->nt acl support</VAR
->
-       is set to <CODE
-CLASS="CONSTANT"
->false</CODE
-> 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="AEN1466"
->11.4.1. File Permissions</A
-></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="AEN1480"
->11.4.2. Directory Permissions</A
-></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="AEN1487"
->11.5. Modifying file or directory permissions</A
-></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 <VAR
-CLASS="PARAMETER"
->nt acl support</VAR
->
-       is set to <CODE
-CLASS="CONSTANT"
->false</CODE
-> 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 (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="AEN1509"
->11.6. Interaction with the standard Samba create mask 
-       parameters</A
-></H2
-><P
->There are four parameters 
-       to control interaction with the standard Samba create mask parameters.
-       These are :</P
-><P
-><VAR
-CLASS="PARAMETER"
->security mask</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->force security mode</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->directory security mask</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->force directory security mode</VAR
-></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"
-> 
-       <VAR
-CLASS="PARAMETER"
->security mask</VAR
-></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 <VAR
-CLASS="PARAMETER"
->security mask</VAR
->
-       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"
-><VAR
-CLASS="PARAMETER"
->create mask
-       </VAR
-></A
-> parameter. 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"
->      <VAR
-CLASS="PARAMETER"
->force security mode</VAR
-></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 <VAR
-CLASS="PARAMETER"
->force security mode
-       </VAR
-> 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"
-><VAR
-CLASS="PARAMETER"
->force 
-       create mode</VAR
-></A
-> parameter.
-       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 <VAR
-CLASS="PARAMETER"
->security mask</VAR
-> and <VAR
-CLASS="PARAMETER"
->force 
-       security mode</VAR
-> 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 <VAR
-CLASS="PARAMETER"
->      directory security mask</VAR
-> instead of <VAR
-CLASS="PARAMETER"
->security 
-       mask</VAR
->, and <VAR
-CLASS="PARAMETER"
->force directory security mode
-       </VAR
-> parameter instead of <VAR
-CLASS="PARAMETER"
->force security mode
-       </VAR
->.</P
-><P
->The <VAR
-CLASS="PARAMETER"
->directory security mask</VAR
-> parameter 
-       by default is set to the same value as the <VAR
-CLASS="PARAMETER"
->directory mask
-       </VAR
-> parameter and the <VAR
-CLASS="PARAMETER"
->force directory security 
-       mode</VAR
-> parameter by default is set to the same value as 
-       the <VAR
-CLASS="PARAMETER"
->force directory mode</VAR
-> parameter. </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
-><VAR
-CLASS="PARAMETER"
->security mask = 0777</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->force security mode = 0</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->directory security mask = 0777</VAR
-></P
-><P
-><VAR
-CLASS="PARAMETER"
->force directory security mode = 0</VAR
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1563"
->11.7. Interaction with the standard Samba file attribute 
-       mapping</A
-></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="GROUPMAPPING"
-></A
->Chapter 12. 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="PAM"
-></A
->Chapter 13. Configuring PAM for distributed but centrally 
-managed authentication</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1619"
->13.1. Samba and PAM</A
-></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
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->      If the PAM authentication module (loadable link library file) is located in the
-       default location then it is not necessary to specify the path. In the case of
-       Linux, the default location is <TT
-CLASS="FILENAME"
->/lib/security</TT
->. If the module
-       is located other than default then the path may be specified as:
-       
-       <PRE
-CLASS="PROGRAMLISTING"
->      eg: "auth       required      /other_path/pam_strange_module.so"
-       </PRE
->
-       </P
-></TD
-></TR
-></TABLE
-></DIV
-><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
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->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
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1668"
->13.2. Distributed Authentication</A
-></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 a distributed 
-passdb backend, such as ldap, 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="AEN1673"
->13.3. PAM Configuration in smb.conf</A
-></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 is configured to enable PAM support (i.e. 
-<CODE
-CLASS="CONSTANT"
->--with-pam</CODE
->), 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="PRINTING"
-></A
->Chapter 14. Printing Support</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1699"
->14.1. Introduction</A
-></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="AEN1721"
->14.2. Configuration</A
-></H2
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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 <VAR
-CLASS="PARAMETER"
->printer driver location</VAR
-> 
-to be used on a per share basis to specify the location of 
-the driver files associated with that printer.  Another 
-parameter named <VAR
-CLASS="PARAMETER"
->printer driver</VAR
-> 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="AEN1729"
->14.2.1. Creating [print$]</A
-></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"
-><VAR
-CLASS="PARAMETER"
->write list</VAR
-></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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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"
-><VAR
-CLASS="PARAMETER"
->printer 
-       admin</VAR
-></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 <VAR
-CLASS="PARAMETER"
->printer admin</VAR
->) 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="AEN1764"
->14.2.2. Setting Drivers for Existing Printers</A
-></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="AEN1780"
->14.2.3. Support a large number of printers</A
-></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"
-> 
-<SAMP
-CLASS="PROMPT"
->$ </SAMP
->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]
-                                 
-<SAMP
-CLASS="PROMPT"
->$ </SAMP
->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:[]
-                                 
-<SAMP
-CLASS="PROMPT"
->$ </SAMP
->rpcclient pogo -U root%secret \
-<SAMP
-CLASS="PROMPT"
->&#62; </SAMP
-> -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="AEN1791"
->14.2.4. Adding New Printers via the Windows NT APW</A
-></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 <VAR
-CLASS="PARAMETER"
->printer admin</VAR
->).
-       </P
-></LI
-><LI
-><P
-><A
-HREF="smb.conf.5.html#SHOWADDPRINTERWIZARD"
-TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->show 
-       add printer wizard = yes</VAR
-></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"
-><VAR
-CLASS="PARAMETER"
->add 
-printer command</VAR
-></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 <VAR
-CLASS="PARAMETER"
->add printer 
-command</VAR
-> 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 
-<VAR
-CLASS="PARAMETER"
->add printer program</VAR
-> 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"
-><VAR
-CLASS="PARAMETER"
->delete
-printer command</VAR
-></A
-> for removing entries from the "Printers..."
-folder.</P
-><P
->The following is an example <A
-HREF="smb.conf.5.html#ADDPRINTERCOMMAN"
-TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->add printer command</VAR
-></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="AEN1821"
->14.2.5. Samba and Printer Ports</A
-></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"
-><VAR
-CLASS="PARAMETER"
->enumports 
-command</VAR
-></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="AEN1829"
->14.3. The Imprints Toolset</A
-></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="AEN1833"
->14.3.1. What is Imprints?</A
-></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="AEN1843"
->14.3.2. Creating Printer Driver Packages</A
-></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="AEN1846"
->14.3.3. The Imprints server</A
-></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="AEN1850"
->14.3.4. The Installation Client</A
-></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="AEN1872"
->14.4. Diagnosis</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN1874"
->14.4.1. Introduction</A
-></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 %&#62;letter&#60; 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="AEN1890"
->14.4.2. Debugging printer problems</A
-></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="AEN1899"
->14.4.3. What printers do I have?</A
-></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="AEN1907"
->14.4.4. Setting up printcap and print servers</A
-></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="AEN1935"
->14.4.5. Job sent, no output</A
-></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="AEN1946"
->14.4.6. Job sent, strange output</A
-></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="AEN1958"
->14.4.7. Raw PostScript printed</A
-></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="AEN1961"
->14.4.8. Advanced Printing</A
-></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="AEN1964"
->14.4.9. Real debugging</A
-></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="CUPS-PRINTING"
-></A
->Chapter 15. CUPS Printing Support</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN1984"
->15.1. Introduction</A
-></H2
-><P
->The Common Unix Print System (CUPS) has become very popular, but to many it is
-a very mystical tool. There is a great deal of uncertainty regarding CUPS and how
-it works. The result is seen in a large number of posting on the samba mailing lists
-expressing frustration when MS Windows printers appear not to work with a CUPS
-backr-end.
-/para&#62;&#13;</P
-><P
->This is a good time to point out how CUPS can be used and what it does. CUPS is more
-than just a print spooling system - it is a complete printer management system that
-complies with HTTP and IPP protocols. It can be managed remotely via a web browser
-and it can print using http and ipp protocols.</P
-><P
->CUPS allows to creation of RAW printers (ie: NO file format translation) as well as
-SMART printers (ie: CUPS does file format conversion as required for the printer). In
-many ways this gives CUPS similar capabilities to the MS Windows print monitoring
-system. Of course, if you are a CUPS advocate, you would agrue that CUPS is better!
-In any case, let us now move on to explore how one may configure CUPS for interfacing
-with MS Windows print clients via Samba.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN1989"
->15.2. CUPS - RAW Print Through  Mode</A
-></H2
-><P
->When CUPS printers are configured for RAW print-through mode operation it is the
-responsibility of the Samba client to fully render the print job (file) in a format
-that is suitable for direct delivery to the printer. In this case CUPS will NOT
-do any print file format conversion work.</P
-><P
->The CUPS files that need to be correctly set for RAW mode printers to work are:
-
-<P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/cups/mime.types</TT
-></P
-><P
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->/etc/cups/mime.convs</TT
-></P
-><P
-></P
-></LI
-></UL
->
-
-Both contain entries that must be uncommented to allow <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->RAW</I
-></SPAN
-> mode
-operation.</P
-><P
->Firstly, to enable CUPS based printing from Samba the following options must be
-enabled in your smb.conf file [globals] section:
-
-<P
-></P
-><UL
-><LI
-><P
->printing = CUPS</P
-></LI
-><LI
-><P
->printcap = CUPS</P
-></LI
-></UL
->
-
-When these parameters are specified the print directives in smb.conf (as well as in
-samba itself) will be ignored because samba will directly interface with CUPS through
-it's application program interface (API) - so long as Samba has been compiled with
-CUPS library (libcups) support. If samba has NOT been compiled with CUPS support then
-printing will use the System V AT&#38;T command set with the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-oraw</I
-></SPAN
-> 
-option automatically passing through.</P
-><P
->Cupsomatic (an enhanced printing utility that is part of some CUPS implementations) 
-on the Samba/CUPS server does *not* add any features if a file is really
-printed "raw".  However, if you have loaded the driver for the Windows client from
-the CUPS server, using the "cupsaddsmb" utility, and if this driver is one using
-a "Foomatic" PPD, the PJL header in question is already added on the Windows client,
-at the time when the driver initially generated the PostScript data and CUPS in true
-"-oraw" manner doesn't remove this PJL header and passes the file "as is" to its
-printer communication backend.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->NOTE: editing in the "mime.convs" and the "mime.types" file does not *enforce*
-"raw" printing, it only *allows* it.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Print files that arrive from MS Windows printing are "auto-typed" by CUPS. This aids
-the process of determining proper treatment while in the print queue system.
-
-<P
-></P
-><UL
-><LI
-><P
->      Files generated by PCL drivers and directed at PCK printers get auto-typed as
-       <TT
-CLASS="FILENAME"
->application/octet-stream</TT
->. Unknown file format types also
-       get auto-typed with this tag.
-       </P
-></LI
-><LI
-><P
->      Files generated by a Postscript driver and directed at a Postscript printer
-       are auto-typed depending on the auto-detected most suitable MIME type as:
-
-       <P
-></P
-><UL
-><LI
-><P
->* application/postscript</P
-></LI
-><LI
-><P
->* application/vnd.cups-postscript</P
-></LI
-></UL
->
-       </P
-></LI
-></UL
-></P
-><P
->"application/postscript" first goes thru the "pstops" filter (where the page counting
-and accounting takes place). The outcome will be of MIME type
-"application/vnd.cups-postscript". The pstopsfilter reads and uses information from
-the PPD and inserts user-provided options into the PostScript file. As a consequence,
-the filtered file could possibly have an unwanted PJL header.</P
-><P
->"application/postscript" will be all files with a ".ps", ".ai", ".eps" suffix or which
-have as their first character string one of "%!" or "&#60;04&#62;%".</P
-><P
->"application/vnd.cups-postscript" will files which contain the string
-"LANGUAGE=POSTSCRIPT" (or similar variations with different capitalization) in the
-first 512 bytes, and also contain the "PJL super escape code" in the first 128 bytes
-("&#60;1B&#62;%-12345X"). Very likely, most PostScript files generated on Windows using a CUPS
-or other PPD, will have to be auto-typed as "vnd.cups-postscript".  A file produced
-with a "Generic PostScript driver" will just be tagged "application/postscript".</P
-><P
->Once the file is in "application/vnd.cups-postscript" format, either "pstoraster"
-or "cupsomatic" will take over (depending on the printer configuration, as
-determined by the PPD in use).</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->A printer queue with *no* PPD associated to it is a "raw" printer and all files
-will go directly there as received by the spooler. The exeptions are file types
-"application/octet-stream" which need "passthrough feature" enabled.
-"Raw" queues don't do any filtering at all, they hand the file directly to the
-CUPS backend. This backend is responsible for the sending of the data to the device
-(as in the "device URI" notation as lpd://, socket://, smb://, ipp://, http://,
-parallel:/, serial:/, usb:/ etc.)</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->"cupsomatic"/Foomatic are *not* native CUPS drivers and they don't ship with CUPS.
-They are a Third Party add-on, developed at Linuxprinting.org.  As such, they are
-a brilliant hack to make all models (driven by Ghostscript drivers/filters in
-traditional spoolers) also work via CUPS, with the same (good or bad!) quality
-as in these other spoolers. "cupsomatic" is only a vehicle to execute a ghostscript
-commandline at that stage in the CUPS filtering chain, where "normally" the native
-CUPS "pstoraster" filter would kick in.  cupsomatic by-passes pstoraster, "kidnaps"
-the printfile from CUPS away and re-directs it to go through Ghostscipt. CUPS accepts this,
-because the associated CUPS-O-Matic-/Foomatic-PPD specifies:</P
-><PRE
-CLASS="PROGRAMLISTING"
->   *cupsFilter:  "application/vnd.cups-postscript 0 cupsomatic"</PRE
-><P
->This line persuades CUPS to hand the file to cupsomatic, once it has successfully
-converted it to the MIME type "application/vnd.cups-postscript". This conversion will not
-happen for Jobs arriving from Windows which are auto-typed "application/octet-stream",
-with the according changes in "/etc/cups/mime.types" in place.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->CUPS is widely configurable and flexible, even regarding its filtering mechanism.
-Another workaround in some situations would be to have
-in "/etc/cups/mime.types" entries as follows:</P
-><PRE
-CLASS="PROGRAMLISTING"
->   application/postscript           application/vnd.cups-raw  0  -
-   application/vnd.cups-postscript  application/vnd.cups-raw  0  -</PRE
-><P
->This would prevent all Postscript files from being filtered (rather, they will go
-thru the virtual "nullfilter" denoted with "-"). This could only be useful for
-PS printers. If you want to print PS code on non-PS printers an entry as follows
-could be useful:</P
-><PRE
-CLASS="PROGRAMLISTING"
->   */*           application/vnd.cups-raw  0  -</PRE
-><P
->and would effectively send *all* files to the backend without further processing.</P
-><P
->Lastly, you could have the following entry:</P
-><PRE
-CLASS="PROGRAMLISTING"
->   application/vnd.cups-postscript  application/vnd.cups-raw  0  my_PJL_stripping_filter</PRE
-><P
->You will need to write a "my_PJL_stripping_filter" (could be a shellscript) that
-parses the PostScript and removes the unwanted PJL. This would need to conform to
-CUPS filter design (mainly, receive and pass the parameters printername, job-id,
-username, jobtitle, copies, print options and possibly the filename). It would
-be installed as world executable into "/usr/lib/cups/filters/" and will be called
-by CUPS if it encounters a MIME type "application/vnd.cups-postscript".</P
-><P
->CUPS can handle "-o job-hold-until=indefinite". This keeps the job in the queue
-"on hold". It will only be printed upon manual release by the printer operator.
-This is a requirement in many "central reproduction departments", where a few
-operators manage the jobs of hundreds of users on some big machine, where no
-user is allowed to have direct access. (The operators often need to load the
-proper paper type before running the 10.000 page job requested by marketing
-for the mailing, etc.).</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2044"
->15.3. The CUPS Filter Chains</A
-></H2
-><P
->The following diagrams reveal how CUPS handles print jobs.</P
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# CUPS in and of itself has this (general) filter chain (CAPITAL
-# letters are FILE-FORMATS or MIME types, other are filters (this is
-# true for pre-1.1.15 of pre-4.3 versions of CUPS and ESP PrintPro):
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#     <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#     pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT
-#      |
-#      |
-#      V
-#     pstoraster   # as shipped with CUPS, independent from any Ghostscipt
-#      |           # installation on the system
-#      |  (= "postscipt interpreter")
-#      |
-#      V
-# APPLICATION/VND.CUPS-RASTER
-#      |
-#      |
-#      V
-#     rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->  (f.e. Gimp-Print filters may be plugged in here)
-#      |   (= "raster driver")
-#      |
-#      V
-# SOMETHING-DEVICE-SPECIFIC
-#      |
-#      |
-#      V
-#     backend
-#
-#
-# ESP PrintPro has some enhanced "rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->" filters as compared to
-# CUPS, and also a somewhat improved "pstoraster" filter.
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-#########################################################################</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# This is how "cupsomatic" comes into play:
-# =========================================
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#    <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#    pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT ----------------+
-#      |                                          |
-#      |                                          V
-#      V                                         cupsomatic
-#    pstoraster                                  (constructs complicated
-#      |  (= "postscipt interpreter")            Ghostscript commandline
-#      |                                         to let the file be
-#      V                                         processed by a
-# APPLICATION/VND.CUPS-RASTER                    "-sDEVICE=<VAR
-CLASS="REPLACEABLE"
->s.th.</VAR
->"
-#      |                                         call...)
-#      |                                          |
-#      V                                          |
-#    rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->                          V
-#      |    (= "raster driver")     +-------------------------+
-#      |                            | Ghostscript at work.... |
-#      V                            |                         |
-# SOMETHING-DEVICE-SPECIFIC         *-------------------------+
-#      |                                          |
-#      |                                          |
-#      V                                          |
-#    backend &#62;------------------------------------+
-#      |
-#      |
-#      V
-#    THE PRINTER
-#
-#
-# Note, that cupsomatic "kidnaps" the printfile after the
-# "APPLICATION/VND.CUPS-POSTSCRPT" stage and deviates it through
-# the CUPS-external, systemwide Ghostscript installation, bypassing the
-# "pstoraster" filter (therefor also bypassing the CUPS-raster-drivers
-# "rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->", and hands the rasterized file directly to the CUPS
-# backend...
-#
-# cupsomatic is not made by the CUPS developers. It is an independent
-# contribution to printing development, made by people from
-# Linuxprinting.org. (see also http://www.cups.org/cups-help.html)
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-#########################################################################</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# And this is how it works for ESP PrintPro from 4.3:
-# ===================================================
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#     <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#     pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT
-#      |
-#      |
-#      V
-#     gsrip
-#      |  (= "postscipt interpreter")
-#      |
-#      V
-# APPLICATION/VND.CUPS-RASTER
-#      |
-#      |
-#      V
-#     rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->  (f.e. Gimp-Print filters may be plugged in here)
-#      |   (= "raster driver")
-#      |
-#      V
-# SOMETHING-DEVICE-SPECIFIC
-#      |
-#      |
-#      V
-#     backend
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-#########################################################################</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# This is how "cupsomatic" would come into play with ESP PrintPro:
-# ================================================================
-#
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#    <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#    pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT ----------------+
-#      |                                          |
-#      |                                          V
-#      V                                         cupsomatic
-#    gsrip                                       (constructs complicated
-#      |  (= "postscipt interpreter")            Ghostscript commandline
-#      |                                         to let the file be
-#      V                                         processed by a
-# APPLICATION/VND.CUPS-RASTER                    "-sDEVICE=<VAR
-CLASS="REPLACEABLE"
->s.th.</VAR
->"
-#      |                                         call...)
-#      |                                          |
-#      V                                          |
-#    rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->                          V
-#      |   (= "raster driver")      +-------------------------+
-#      |                            | Ghostscript at work.... |
-#      V                            |                         |
-# SOMETHING-DEVICE-SPECIFIC         *-------------------------+
-#      |                                          |
-#      |                                          |
-#      V                                          |
-#    backend &#62;------------------------------------+
-#      |
-#      |
-#      V
-#    THE PRINTER
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-#########################################################################</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# And this is how it works for CUPS from 1.1.15:
-# ==============================================
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#     <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#     pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT-----+
-#                                     |
-#                  +------------------v------------------------------+
-#                  | Ghostscript                                     |
-#                  | at work...                                      |
-#                  | (with                                           |
-#                  | "-sDEVICE=cups")                                |
-#                  |                                                 |
-#                  |         (= "postscipt interpreter")             |
-#                  |                                                 |
-#                  +------------------v------------------------------+
-#                                     |
-#                                     |
-# APPLICATION/VND.CUPS-RASTER &#62;-------+
-#      |
-#      |
-#      V
-#     rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->
-#      |   (= "raster driver")
-#      |
-#      V
-# SOMETHING-DEVICE-SPECIFIC
-#      |
-#      |
-#      V
-#     backend
-#
-#
-# NOTE: since version 1.1.15 CUPS "outsourced" the pstoraster process to
-#       Ghostscript. GNU Ghostscript needs to be patched to handle the
-#       CUPS requirement; ESP Ghostscript has this builtin. In any case,
-#       "gs -h" needs to show up a "cups" device. pstoraster is now a
-#       calling an appropriate "gs -sDEVICE=cups..." commandline to do
-#       the job. It will output "application/vnd.cup-raster", which will
-#       be finally processed by a CUPS raster driver "rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->"
-#       Note the difference to "cupsomatic", which will *not* output
-#       CUPS-raster, but a final version of the printfile, ready to be
-#       sent to the printer. cupsomatic also doesn't use the "cups"
-#       devicemode in Ghostscript, but one of the classical devicemodes....
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-#########################################################################</PRE
-><PRE
-CLASS="PROGRAMLISTING"
->#########################################################################
-#
-# And this is how it works for CUPS from 1.1.15, with cupsomatic included:
-# ========================================================================
-#
-# <VAR
-CLASS="REPLACEABLE"
->SOMETHNG</VAR
->-FILEFORMAT
-#      |
-#      |
-#      V
-#     <VAR
-CLASS="REPLACEABLE"
->something</VAR
->tops
-#      |
-#      |
-#      V
-# APPLICATION/POSTSCRIPT
-#      |
-#      |
-#      V
-#     pstops
-#      |
-#      |
-#      V
-# APPLICATION/VND.CUPS-POSTSCRIPT-----+
-#                                     |
-#                  +------------------v------------------------------+
-#                  | Ghostscript        . Ghostscript at work....    |
-#                  | at work...         . (with "-sDEVICE=           |
-#                  | (with              .            <VAR
-CLASS="REPLACEABLE"
->s.th.</VAR
->"        |
-#                  | "-sDEVICE=cups")   .                            |
-#                  |                    .                            |
-#                  | (CUPS standard)    .      (cupsomatic)          |
-#                  |                    .                            |
-#                  |          (= "postscript interpreter")           |
-#                  |                    .                            |
-#                  +------------------v--------------v---------------+
-#                                     |              |
-#                                     |              |
-# APPLICATION/VND.CUPS-RASTER &#62;-------+              |
-#      |                                             |
-#      |                                             |
-#      V                                             |
-#     rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
->                            |
-#      |   (= "raster driver")                       |
-#      |                                             |
-#      V                                             |
-# SOMETHING-DEVICE-SPECIFIC &#62;------------------------+
-#      |
-#      |
-#      V
-#     backend
-#
-#
-# NOTE: Gimp-Print and some other 3rd-Party-Filters (like TurboPrint) to
-#       CUPS and ESP PrintPro plug-in where rasterto<VAR
-CLASS="REPLACEABLE"
->something</VAR
-> is noted.
-#
-##########################################################################</PRE
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2083"
->15.4. CUPS Print Drivers and Devices</A
-></H2
-><P
->CUPS ships with good support for HP LaserJet type printers. You can install
-the driver as follows:
-
-<P
-></P
-><UL
-><LI
-><P
->      lpadmin -p laserjet4plus -v parallel:/dev/lp0 -E -m laserjet.ppd
-       </P
-></LI
-></UL
->
-
-(The "-m" switch will retrieve the "laserjet.ppd" from the standard repository
-for not-yet-installed-PPDs, which CUPS typically stores in 
-<TT
-CLASS="FILENAME"
->/usr/share/cups/model</TT
->. Alternatively, you may use
-"-P /absolute/filesystem/path/to/where/there/is/PPD/your.ppd").</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2090"
->15.4.1. Further printing steps</A
-></H3
-><P
->Always also consult the database on linuxprinting.org for all recommendations
-about which driver is best used for each printer:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/printer_list.cgi"
-TARGET="_top"
->http://www.linuxprinting.org/printer_list.cgi</A
-></P
-><P
->There select your model and click on "Show". You'll arrive at a page listing
-all drivers working with your model. There will always be *one* 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->recommended</I
-></SPAN
-> one. Try this one first. In your case
-("HP LaserJet 4 Plus"), you'll arrive here:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/show_printer.cgi?recnum=75104"
-TARGET="_top"
->http://www.linuxprinting.org/show_printer.cgi?recnum=75104</A
-></P
-><P
->The recommended driver is "ljet4". It has a link to the page for the ljet4
-driver too:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/show_driver.cgi?driver=ljet4"
-TARGET="_top"
->http://www.linuxprinting.org/show_driver.cgi?driver=ljet4</A
->&#13;</P
-><P
->On the driver's page, you'll find important and detailed info about how to use
-that driver within the various available spoolers. You can generate a PPD for
-CUPS. The PPD contains all the info about how to use your model and the driver;
-this is, once installed, working transparently for the user -- you'll only
-need to choose resolution, paper size etc. from the web-based menu or from
-the print dialog GUI or from the commandline...</P
-><P
->On the driver's page, choose to use the "PPD-O-Matic" online PPD generator
-program. Select your model and click "Generate PPD file". When you safe the
-appearing ASCII text file, don't use "cut'n'past" (as it could possiblly corrupt
-line endings and tabs), but use "Save as..." in your browser's menu. Save it
-at "/some/path/on/your/filesystem/somewhere/my-name-for-my-printer.ppd"</P
-><P
->Then install the printer:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->    "lpadmin -p laserjet4plus -v parallel:/dev/lp0 -E -P /some/path/on/your/filesystem/somewhere/my-name-for-my-printer.ppd"</PRE
-></P
-><P
->Note, that for all the "Foomatic-PPDs" from Linuxprinting.org, you also need
-a special "CUPS filter" named "cupsomatic". Get the latest version of
-"cupsomatic" from:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/cupsomatic"
-TARGET="_top"
->http://www.linuxprinting.org/cupsomatic</A
-></P
-><P
->This needs to be copied to <TT
-CLASS="FILENAME"
->/usr/lib/cups/filter/cupsomatic</TT
->
-and be made world executable. This filter is needed to read and act upon the
-specially encoded Foomatic comments, embedded in the printfile, which in turn
-are used to construct (transparently for you, the user) the complicated
-ghostscript command line needed for your printer/driver combo.</P
-><P
->You can have a look at all the options for the Ghostscript commandline supported
-by your printer and the ljet4 driver by going to the section "Execution details",
-selecting your model (Laserjet 4 Plus) and clicking on "Show execution details".
-This will bring up this web page:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/execution.cgi?driver=ljet4&printer=75104&.submit=Show+execution+details"
-TARGET="_top"
->http://www.linuxprinting.org/execution.cgi?driver=ljet4&#38;printer=75104&#38;.submit=Show+execution+details</A
-></P
-><P
->The ingenious thing is that the database is kept current. If there
-is a bug fix and an improvement somewhere in the database, you will
-always get the most current and stable and feature-rich driver by following
-the steps described above.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Till Kamppeter from MandrakeSoft is doing an excellent job here that too few
-people are aware of. (So if you use it often, please send him a note showing
-your appreciation).</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The latest and greatest improvement now is support for "custom page sizes"
-for all those printers which support it.</P
-><P
->"cupsomatic" is documented here:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/cups-doc.html"
-TARGET="_top"
->http://www.linuxprinting.org/cups-doc.html</A
-></P
-><P
->More printing tutorial info may be found here:</P
-><P
-><A
-HREF="http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/"
-TARGET="_top"
->http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/</A
-></P
-><P
->Note, that *all* the Foomatic drivers listed on Linuxprinting.org (now
-approaching the "all-time high" number of 1.000 for the supported models)
-are using a special filtering chain involving Ghostscript, as described
-in this document.</P
-><P
->Summary - You need:</P
-><P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->A "foomatic+<VAR
-CLASS="REPLACEABLE"
->something</VAR
->" PPD is not enough to print with CUPS (but it is *one* important component)</TD
-></TR
-><TR
-><TD
->The "cupsomatic" filter script (Perl) in <TT
-CLASS="FILENAME"
->/usr/lib/cups/filters/</TT
-></TD
-></TR
-><TR
-><TD
->Perl to make cupsomatic run</TD
-></TR
-><TR
-><TD
->Ghostscript (because it is called and controlled by the PPD/cupsomatic combo in a way to fit your printermodel/driver combo.</TD
-></TR
-><TR
-><TD
->Ghostscript *must*, depending on the driver/model, contain support for a certain "device" (as shown by "gs -h")</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
->&#13;</P
-><P
->In the case of the "hpijs" driver, you need a Ghostscript version, which
-has "ijs" amongst its supported devices in "gs -h". In the case of
-"hpijs+foomatic", a valid ghostscript commandline would be reading like this:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->       gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=ijs       \
-             -sIjsServer=hpijs<VAR
-CLASS="REPLACEABLE"
->PageSize</VAR
-> -dDuplex=<VAR
-CLASS="REPLACEABLE"
->Duplex</VAR
-> <VAR
-CLASS="REPLACEABLE"
->Model</VAR
->        \
-             -r<VAR
-CLASS="REPLACEABLE"
->Resolution</VAR
->,PS:MediaPosition=<VAR
-CLASS="REPLACEABLE"
->InputSlot</VAR
-> -dIjsUseOutputFD \
-             -sOutputFile=- -</PRE
-></P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Note, that with CUPS and the "hpijs+foomatic" PPD (plus Perl and cupsomatic)
-you don't need to remember this. You can choose the available print options
-thru a GUI print command (like "glp" from ESP's commercially supported
-PrintPro software, or KDE's "kprinter", or GNOME's "gtklp" or the independent
-"xpp") or the CUPS web interface via human-readable drop-down selection
-menus.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->If you use "ESP Ghostscript" (also under the GPL, provided by Easy Software
-Products, the makers of CUPS, downloadable from
-<A
-HREF="http://www.cups.org/software.html"
-TARGET="_top"
->http://www.cups.org/software.html</A
->,
-co-maintained by the developers of linuxprinting.org), you are guaranteed to
-have in use the most uptodate, bug-fixed, enhanced and stable version of a Free
-Ghostscript. It contains support for ~300 devices, whereas plain vanilla
-GNU Ghostscript 7.05 only has ~200.</P
-><P
->If you print only one CUPS test page, from the web interface and when you try to
-print a windows test page, it acts like the job was never sent:
-
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Can you print "standard" jobs from the CUPS machine?</TD
-></TR
-><TR
-><TD
->Are the jobs from Windows visible in the Web interface on CUPS (http://localhost:631/)?</TD
-></TR
-><TR
-><TD
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Most important:</I
-></SPAN
-> What kind of printer driver are you using on the Windows clients?</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
->
-
-You can try to get a more detailed debugging info by setting "LogLevel debug" in
-<TT
-CLASS="FILENAME"
->/etc/cups/cupsd.conf</TT
->, re-start cupsd and investigate <TT
-CLASS="FILENAME"
->/var/log/cups/error_log</TT
->
-for the whereabouts of your Windows-originating printjobs:</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->what does the "auto-typing" line say? which is the "MIME type" CUPS thinks is arriving from the Windows clients?</TD
-></TR
-><TR
-><TD
->are there "filter" available for this MIME type?</TD
-></TR
-><TR
-><TD
->are there "filter rules" defined in "/etc/cups/mime.convs" for this MIME type?</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2160"
->15.5. Limiting the number of pages users can print</A
-></H2
-><P
->The feature you want is dependent on the real print subsystem you're using.
-Samba's part is always to receive the job files from the clients (filtered
-*or* unfiltered) and hand it over to this printing subsystem.</P
-><P
->Of course one could "hack" things with one's own scripts.</P
-><P
->But there is CUPS (Common Unix Printing System). CUPS supports "quotas".
-Quotas can be based on sizes of jobs or on the number of pages or both,
-and are spanning any time period you want.</P
-><P
->This is an example command how root would set a print quota in CUPS,
-assuming an existing printer named "quotaprinter":</P
-><PRE
-CLASS="PROGRAMLISTING"
->  lpadmin -p quotaprinter -o job-quota-period=604800 -o job-k-limit=1024 -o job-page-limit=100</PRE
-><P
->This would limit every single user to print 100 pages or 1024 KB of
-data (whichever comes first) within the last 604.800 seconds ( = 1 week).</P
-><P
->For CUPS to count correctly, the printfile needs to pass the CUPS "pstops" filter,
-otherwise it uses a "dummy" count of "1". Some printfiles don't pass it
-(eg: image files) but then those are mostly 1 page jobs anyway. This also means,
-proprietary drivers for the target printer running on the client computers and
-CUPS/Samba then spooling these files as "raw" (i.e. leaving them untouched, not
-filtering them), will be counted as "1-pagers" too!</P
-><P
->You need to send PostScript from the clients (i.e. run a PostScript driver there)
-for having the chance to get accounting done. If the printer is a non-PostScript model,
-you need to let CUPS do the job to convert the file to a print-ready format for the
-target printer. This will be working for currently ~1.000 different printer models, see</P
-><PRE
-CLASS="PROGRAMLISTING"
->     http://www.linuxprinting.org/printer_list.cgi</PRE
-><P
->Before CUPS-1.1.16 your only option was to use the Adobe PostScript
-Driver on the Windows clients. The output of this driver was not always
-passed thru the "pstops" filter on the CUPS/Samba side, and therefor was
-not counted correctly (the reason is that it often --- depending on the
-"PPD" being used --- did write a "PJL"-header in front of the real
-PostScript which made CUPS to skip the pstops and go directy to
-the "pstoraster" stage).</P
-><P
->From CUPS-1.1.16 onward you can use the "CUPS PostScript Driver
-for Windows NT/2K/XP clients" (it is tagged in the download area of
-http://www.cups.org/ as the "cups-samba-1.1.16.tar.gz" package).
-It is *not* working for Win9x/ME clients. But it:</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->&#62;it guarantees to not write an PJL-header</TD
-></TR
-><TR
-><TD
->it guarantees to still read and support all PJL-options named in the driver PPD with its own means</TD
-></TR
-><TR
-><TD
->it guarantees the file going thru the "pstops" filter on the CUPS/Samba server</TD
-></TR
-><TR
-><TD
->it guarantees to page-count correctly the printfile</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->You can read more about the setup of this combination in the
-manpage for "cupsaddsmb" (only present with CUPS installed, only
-current with CUPS 1.1.16).</P
-><P
->These are the items CUPS logs in the "page_log" for every single *page* of a job:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      * Printer name
-       * User name
-       * Job ID
-       * Time of printing
-       * the page number
-       * the number of copies
-       * a billing info string (optional)</PRE
-></P
-><P
->Here is an extract of my CUPS server's page_log file to illustrate
-the format and included items:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 1 2  #marketing
-       infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 2 2  #marketing
-       infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 3 2  #marketing
-       infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 4 2  #marketing
-       infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 5 2  #marketing
-       infotec_IS2027 kurt 40 [22/Nov/2002:13:18:03 +0100] 6 2  #marketing</PRE
-></P
-><P
->This was Job ID "40", printed on "infotec_IS2027" by user "kurt", a 6-page job
-printed in 2 copies and billed to "#marketing"...</P
-><P
->What flaws or shortcomings are there?</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->the ones named above</TD
-></TR
-><TR
-><TD
->      CUPS really counts the job pages being *processsed in software*
-       (going thru the "RIP") rather than the physical sheets successfully
-       leaving the printing device -- if there is a jam while printing
-       the 5th sheet out of 1000 and the job is aborted by the printer,
-       the "page count" will still show the figure of 1000 for that job
-       </TD
-></TR
-><TR
-><TD
->      all quotas are the same for all users (no flexibility to give the
-       boss a higher quota than the clerk) no support for groups
-       </TD
-></TR
-><TR
-><TD
->      no means to read out the current balance or "used-up" number of current quota
-       </TD
-></TR
-><TR
-><TD
->      a user having used up 99 sheets of 100 quota will still be able to send and print a 1.000 sheet job
-       </TD
-></TR
-><TR
-><TD
->      a user being denied a job because of a filled-up quota doesn't get a meaningful
-       error message from CUPS other than "client-error-not-possible".
-       </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->But this is the best system out there currently. And there are
-huge improvements under development:</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->page counting will go into the "backends" (these talk
-       directly to the printer and will increase the count in sync with the
-        actual printing process  -- a jam at the 5th sheet will lead to a stop in the counting)</TD
-></TR
-><TR
-><TD
->quotas will be handled more flexibly</TD
-></TR
-><TR
-><TD
->probably there will be support for users to inquire their "accounts" in advance</TD
-></TR
-><TR
-><TD
->probably there will be support for some other tools around this topic</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->Other than the current stage of the CUPS development, I don't
-know any other ready-to-use tool which you could consider.</P
-><P
->You can download the driver files from
-<A
-HREF="http://www.cups.org/software.html"
-TARGET="_top"
->http://www.cups.org/software.html</A
->.
-It is a separate package from the CUPS base software files, tagged as "CUPS 1.1.16
-Windows NT/2k/XP Printer Driver for SAMBA (tar.gz, 192k)". The filename to
-download is "cups-samba-1.1.16.tar.gz". Upon untar-/unzip-ping it will reveal
-the files:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->   cups-samba.install
-   cups-samba.license
-   cups-samba.readme
-   cups-samba.remove
-   cups-samba.ss</PRE
-></P
-><P
->These have been packaged with the ESP meta packager software "EPM". The
-*.install and *.remove files are simple shell script, which untars the
-*.ss (which is nothing else than a tar-archive) and puts its contents
-into <TT
-CLASS="FILENAME"
->/usr/share/cups/drivers/</TT
->. Its contents are 3 files:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->   cupsdrvr.dll
-   cupsui.dll
-   cups.hlp</PRE
-></P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->ATTENTION: due to a bug one CUPS release puts the <TT
-CLASS="FILENAME"
->cups.hlp</TT
->
-into <TT
-CLASS="FILENAME"
->/usr/share/drivers/</TT
-> instead of
-<TT
-CLASS="FILENAME"
->/usr/share/cups/drivers/</TT
->. To work around this, copy/move
-the file after running the "./cups-samba.install" script manually to the right place:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->      cp /usr/share/drivers/cups.hlp /usr/share/cups/drivers/</PRE
-></P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->This new CUPS PostScript driver is currently binary-only, but free
-no source code is provided (yet). The reason is this: it has
-been developed with the help of the Microsoft Driver Developer Kit (DDK)
-and compiled with Microsoft Visual Studio 6. It is not clear to the driver
-developers if they are allowed to distribute the whole of the source code
-as Free Software. However, they will likely release the "diff" in source
-code under the GPL, so anybody with a license of Visual Studio and a DDK
-will be able to compile for him/herself.</P
-><P
->Once you have run the install script (and possibly manually moved the
-"cups.hlp" file to "/usr/share/cups/drivers/"), the driver is ready to be
-put into Samba's [print$] share (which often maps to "/etc/samba/drivers/"
-and contains a subdir tree with WIN40 and W32X86 branches), by running
-"cupsaddsmb" (see also "man cupsaddsmb" for CUPS 1.1.16). [Don't forget to
-put root into the smbpasswd file by running "smbpasswd" should you run
-this whole procedure for the first time.] Once the driver files are in the
-[print$] share, they are ready to be downloaded and installed by the
-Win NT/2k/XP clients.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->NOTE 1: Win 9x/ME clients won't work with this driver. For these you'd
-still need to use the ADOBE*.* drivers as previously.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->NOTE 2: It is not harming if you've still the ADOBE*.* driver files from
-previous installations in the "/usr/share/cups/drivers/" directory.
-The new cupsaddsmb (from 1.1.16) will automatically use the
-"newest" installed driver (which here then is the CUPS drivers).</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->NOTE 3: Should your Win clients have had the old ADOBE*.* files and the
-Adobe PostScript drivers installed, the download and installation
-of the new CUPS PostScript driver for Windows NT/2k/XP will fail
-at first.</P
-><P
->It is not enough to "delete" the printer (as the driver files
-will still be kept by the clients and re-used if you try to
-re-install the printer). To really get rid of the Adobe driver
-files on the clients, open the "Printers" folder (possibly via
-"Start --&#62; Settings --&#62; Control Panel --&#62; Printers"), right-click
-onto the folder background and select "Server Properties". A
-new dialog opens; select the "Drivers" tab; on the list select
-the driver you want to delete and click on the "Delete" button.
-(This will only work if there is no single printer left which
-uses that particular driver -- you need to "delete" all printers
-using this driver in the "Printers" folder first.)</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Once you have successfully downloaded the CUPS PostScript driver
-to a client, you can easily switch all printers to this one
-by proceeding as described elsewhere in the "Samba HOWTO
-Collection" to change a driver for an existing printer.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->What are the benefits with the "CUPS PostScript driver for Windows NT/2k/XP"
-as compared to the Adobe drivers?</P
-><P
-><P
-></P
-><UL
-><LI
-><P
->      no hassle with the Adobe EULA
-       </P
-></LI
-><LI
-><P
->      no hassle with the question "where do I get the ADOBE*.* driver files from?"
-       </P
-></LI
-><LI
-><P
->      the Adobe drivers (depending on the printer PPD associated with them)
-       often put a PJL header in front of the core PostScript part of the print
-       file (thus the file starts with "<VAR
-CLASS="REPLACEABLE"
->1B</VAR
->%-12345X" or "<VAR
-CLASS="REPLACEABLE"
->escape</VAR
->%-12345X"
-       instead of "%!PS"). This leads to the CUPS daemon autotyping the
-       arriving file as a print-ready file, not requiring a pass thru the
-       "pstops" filter (to speak more technical, it is not regarded as the
-       generic MIME type "application/postscript", but as the more special
-       MIME type "application/cups.vnd-postscript"), which therefore also
-       leads to the page accounting in "/var/log/cups/page_log" not receiving
-       the exact mumber of pages; instead the dummy page number of "1" is
-       logged in a standard setup)
-       </P
-></LI
-><LI
-><P
->      the Adobe driver has more options to "mis-configure" the PostScript
-       generated by it (like setting it inadvertedly to "Optimize for Speed",
-       instead of "Optimize for Portability", which could lead to CUPS being
-       unable to process it)
-       </P
-></LI
-><LI
-><P
->      the CUPS PostScript driver output sent by Windows clients to the CUPS
-       server will be guaranteed to be auto-typed as generic MIME type
-       "application/postscript", thusly passing thru the CUPS "pstops" filter
-       and logging the correct number of pages in the page_log for accounting
-       and quota purposes
-       </P
-></LI
-><LI
-><P
->      the CUPS PostScript driver supports the sending of additional print
-       options by the Win NT/2k/XP clients, such as naming the CUPS standard
-       banner pages (or the custom ones, should they be installed at the time
-       of driver download), using the CUPS "page-label" option, setting a
-       job-priority and setting the scheduled time of printing (with the option
-       to support additional useful IPP job attributes in the future).
-       </P
-></LI
-><LI
-><P
->      the CUPS PostScript driver supports the inclusion of the new
-       "*cupsJobTicket" comments at the beginnig of the PostScript file (which
-       could be used in the future for all sort of beneficial extensions on
-       the CUPS side, but which will not disturb any other application as those
-       will regard it as a comment and simply ignore it).
-       </P
-></LI
-><LI
-><P
->      the CUPS PostScript driver will be the heart of the fully fledged CUPS
-       IPP client for Windows NT/2k/XP to be released soon (probably alongside
-       the first Beta release for CUPS 1.2).
-       </P
-></LI
-></UL
-></P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2249"
->15.6. Advanced Postscript Printing from MS Windows</A
-></H2
-><P
->Let the Windows Clients use a PostScript driver to deliver poistscript to
-the samba print server (just like any Linux or Unix Client would also use
-PostScript to send to the server)</P
-><P
->Make the Unix printing subsystem to which Samba sends the job convert the
-incoming PostScript files to the native print format of the target printers
-(would be PCL if you have an HP printer)</P
-><P
->Now if you are afraid that this would just mean using a *Generic* PostScript
-driver for the clients that has no Simplex/Duplex selection, and no paper tray
-choice, but you need them to be able to set up print jobs, with all the bells
-and whistles of your printers:-</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Not possible with traditional spooling systems</TD
-></TR
-><TR
-><TD
->      But perfectly supported by CUPS (which uses "PPD" files to
-       describe how to control the print options for PostScript and
-       non-PostScript devices alike...
-       </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->CUPS PPDs are working perfectly on Windows clients who use Adobe PostScript
-drivers (or the new CUPS PostScript driver for Windows NT/2K/XP). Clients can use
-them to setup the job to their liking and CUPS will use the received job options
-to make the (PCL-, ESC/P- or PostScript-) printer behave as required.</P
-><P
->If you want to have the additional benefit of page count logging and accounting
-then the CUPS PostScript driver is the best choice (better than the Adobe one).</P
-><P
->If you want to make the drivers downloadable for the clients then "cupsaddsmb" is
-your friend. It will setup the [print$] share on the Samba host to be ready to serve
-the clients for a "point and print" driver installation.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->What strings are attached?</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->There are some. But, given the sheer CPU power you can buy nowadays,
-these can be overcome easily. The strings:</P
-><P
->Well, if the CUPS/Samba side will have to print to many printers serving many users,
-you probably will need to set up a second server (which can do automatic load balancing
-with the first one, plus a degree of fail-over mechanism). Converting the incoming
-PostScript jobs, "interpreting" them for non-PostScript printers, amounts to the work
-of a "RIP" (Raster Image Processor) done in software. This requires more CPU and RAM
-than for the mere "raw spooling" task your current setup is solving. It all depends
-on the avarage and peak printing load the server should be able to handle.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2264"
->15.7. Auto-Deletion of CUPS spool files</A
-></H2
-><P
->Samba print files pass thru two "spool" directories. One the incoming directory
-managed by Samba, (set eg: in the "path = /var/spool/samba" directive in the [printers]
-section of "smb.conf"). Second is the spool directory of your UNIX print subsystem.
-For CUPS it is normally "/var/spool/cups/", as set by the cupsd.conf directive
-"RequestRoot /var/spool/cups".</P
-><P
->I am not sure, which one of your directories keeps the files.  From what you say,
-it is most likely the Samba part.</P
-><P
->For the CUPS part, you may want to consult:</P
-><PRE
-CLASS="PROGRAMLISTING"
->   http://localhost:631/sam.html#PreserveJobFiles and
-   http://localhost:631/sam.html#PreserveJobHistory and
-   http://localhost:631/sam.html#MaxJobs</PRE
-><P
->There are the settings described for your CUPS daemon, which could lead to completed
-job files not being deleted.</P
-><P
->"PreserveJobHistory Yes" -- keeps some details of jobs in
-cupsd's mind (well it keeps the "c12345", "c12346" etc. files
-in the CUPS spool directory, which do a similar job as the
-old-fashioned BSD-LPD control files). This is set to "Yes"
-as a default.</P
-><P
->"PreserveJobFiles Yes" -- keeps the job files themselves in
-cupsd's mind (well it keeps the "d12345", "d12346" etc. files
-in the CUPS spool directory...). This is set to "No" as the
-CUPS default.</P
-><P
->"MaxJobs 500" -- this directive controls the maximum number
-of jobs that are kept in memory. Once the number of jobs
-reaches the limit, the oldest completed job is automatically
-purged from the system to make room for the new one. If all
-of the known jobs are still pending or active then the new
-job will be rejected. Setting the maximum to 0 disables this
-functionality. The default setting is 0.</P
-><P
->(There are also additional settings for "MaxJobsPerUser" and
-"MaxJobsPerPrinter"...)</P
-><P
->For everything to work as announced, you need to have three things:</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->      a Samba-smbd which is compiled against "libcups" (Check on Linux by running "ldd `which smbd`")
-       </TD
-></TR
-><TR
-><TD
->      a Samba-smb.conf setting of "printing = cups"
-       </TD
-></TR
-><TR
-><TD
->      another Samba-smb.conf setting of "printcap = cups"
-       </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Note, that in this case all other manually set printing-related
-commands (like "print command", "lpq command", "lprm command",
-"lppause command" or "lpresume command") are ignored and they
-should normally have no influence what-so-ever on your printing.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->If you want to do things manually, replace the "printing = cups"
-by "printing = bsd". Then your manually set commands may work
-(haven't tested this), and a "print command = lp -d %P %s; rm %s"
-may do what you need.</P
-><P
->You forgot to mention the CUPS version you're using. If you did
-set things up as described in the man pages, then the Samba
-spool files should be deleted. Otherwise it may be a bug. On
-the CUPS side, you can control the behaviour as described
-above.</P
-><P
->If you have more problems, post the output of these commands:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->   grep -v ^# /etc/cups/cupsd.conf | grep -v ^$
-   grep -v ^# /etc/samba/smb.conf | grep -v ^$ | grep -v "^;"</PRE
-></P
-><P
->(adapt paths as needed). These commands sanitize the files
-and cut out the empty lines and lines with comments, providing
-the "naked settings" in a compact way.</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="AEN2326"
->16.1. Abstract</A
-></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="AEN2330"
->16.2. Introduction</A
-></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="AEN2343"
->16.3. What Winbind Provides</A
-></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="AEN2350"
->16.3.1. Target Uses</A
-></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="AEN2354"
->16.4. How Winbind Works</A
-></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="AEN2359"
->16.4.1. Microsoft Remote Procedure Calls</A
-></H3
-><P
->Over the last few 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="AEN2363"
->16.4.2. Microsoft Active Directory Services</A
-></H3
-><P
->                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.  
-                </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2366"
->16.4.3. Name Service Switch</A
-></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="AEN2382"
->16.4.4. Pluggable Authentication Modules</A
-></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="AEN2390"
->16.4.5. User and Group ID Allocation</A
-></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="AEN2394"
->16.4.6. Result Caching</A
-></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="AEN2397"
->16.5. Installation and Configuration</A
-></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
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2402"
->16.5.1. Introduction</A
-></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="AEN2415"
->16.5.2. Requirements</A
-></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="AEN2429"
->16.5.3. Testing Things Out</A
-></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="AEN2440"
->16.5.3.1. Configure and compile SAMBA</A
-></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"
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->autoconf</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->make clean</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->rm config.cache</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->./configure</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->make</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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="AEN2459"
->16.5.3.2. Configure <TT
-CLASS="FILENAME"
->nsswitch.conf</TT
-> and the 
-winbind libraries</A
-></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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->ln -s /usr/lib/libnss_winbind.so /usr/lib/libnss_winbind.so.1</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1</B
->
-<SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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="AEN2492"
->16.5.3.3. Configure smb.conf</A
-></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="AEN2508"
->16.5.3.4. Join the SAMBA server to the PDC domain</A
-></H4
-><P
->Enter the following command to make the SAMBA server join the 
-PDC domain, where <VAR
-CLASS="REPLACEABLE"
->DOMAIN</VAR
-> is the name of 
-your Windows domain and <VAR
-CLASS="REPLACEABLE"
->Administrator</VAR
-> is 
-a domain user who has administrative privileges in the domain.</P
-><P
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/net join -S PDC -U Administrator</B
-></P
-><P
->The proper response to the command should be: "Joined the domain 
-<VAR
-CLASS="REPLACEABLE"
->DOMAIN</VAR
->" where <VAR
-CLASS="REPLACEABLE"
->DOMAIN</VAR
-> 
-is your DOMAIN name.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2519"
->16.5.3.5. Start up the winbindd daemon and test it!</A
-></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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/winbindd</B
-></P
-><P
->Winbindd can now also run in 'dual daemon mode'. This will make it 
-run as 2 processes. The first will answer all requests from the cache,
-thus making responses to clients faster. The other will
-update the cache for the query that the first has just responded.
-Advantage of this is that responses stay accurate and are faster. 
-You can enable dual daemon mode by adding '-B' to the commandline:</P
-><P
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/winbindd -B</B
-></P
-><P
->I'm always paranoid and like to make sure the daemon 
-is really running...</P
-><P
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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 <VAR
-CLASS="PARAMETER"
->winbind
-separator</VAR
-> is '+'.</P
-><P
->You can do the same sort of thing to get group information from 
-the PDC:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->getent group</B
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2559"
->16.5.3.6. Fix the init.d startup scripts</A
-></H4
-><DIV
-CLASS="SECT4"
-><H5
-CLASS="SECT4"
-><A
-NAME="AEN2561"
->16.5.3.6.1. Linux</A
-></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
->If you would like to run winbindd in dual daemon mode, replace 
-the line 
-<PRE
-CLASS="PROGRAMLISTING"
->        daemon /usr/local/samba/bin/winbindd</PRE
->
-
-in the example above with:
-
-<PRE
-CLASS="PROGRAMLISTING"
->        daemon /usr/local/samba/bin/winbindd -B</PRE
->.</P
-><P
->The 'stop' function has a corresponding entry to shut down the 
-services and looks 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="AEN2581"
->16.5.3.6.2. Solaris</A
-></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
-><P
->Again, if you would like to run samba in dual daemon mode, replace 
-<PRE
-CLASS="PROGRAMLISTING"
->   /usr/local/samba/bin/winbindd</PRE
->
-
-in the script above with:
-
-<PRE
-CLASS="PROGRAMLISTING"
->   /usr/local/samba/bin/winbindd -B</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2591"
->16.5.3.6.3. Restarting</A
-></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="AEN2597"
->16.5.3.7. Configure Winbind and PAM</A
-></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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <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
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->cp ../samba/source/nsswitch/pam_winbind.so /lib/security</B
-></P
-><DIV
-CLASS="SECT4"
-><HR><H5
-CLASS="SECT4"
-><A
-NAME="AEN2614"
->16.5.3.7.1. Linux/FreeBSD-specific PAM configuration</A
-></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="AEN2647"
->16.5.3.7.2. Solaris-specific configuration</A
-></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 and 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="AEN2654"
->16.6. Limitations</A
-></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, Solaris and IRIX operating systems, 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, this is
-               instead up to the PDC to enforce.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2664"
->16.7. Conclusion</A
-></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="POLICYMGMT"
-></A
->Chapter 17. Policy Management - Hows and Whys</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2678"
->17.1. System Policies</A
-></H2
-><P
->Under MS Windows platforms, particularly those following the release of MS Windows
-NT4 and MS Windows 95) it is possible to create a type of file that would be placed
-in the NETLOGON share of a domain controller. As the client logs onto the network
-this file is read and the contents initiate changes to the registry of the client
-machine. This file allows changes to be made to those parts of the registry that
-affect users, groups of users, or machines.</P
-><P
->For MS Windows 9x/Me this file must be called <TT
-CLASS="FILENAME"
->Config.POL</TT
-> and may
-be generated using a tool called <TT
-CLASS="FILENAME"
->poledit.exe</TT
->, better known as the
-Policy Editor. The policy editor was provided on the Windows 98 installation CD, but
-dissappeared again with the introduction of MS Windows Me (Millenium Edition). From
-comments from MS Windows network administrators it would appear that this tool became
-a part of the MS Windows Me Resource Kit.</P
-><P
->MS Windows NT4 Server products include the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->System Policy Editor</I
-></SPAN
->
-under the <TT
-CLASS="FILENAME"
->Start-&#62;Programs-&#62;Administrative Tools</TT
-> menu item.
-For MS Windows NT4 and later clients this file must be called <TT
-CLASS="FILENAME"
->NTConfig.POL</TT
->.</P
-><P
->New with the introduction of MS Windows 2000 was the Microsoft Management Console
-or MMC.  This tool is the new wave in the ever changing landscape of Microsoft
-methods for management of network access and security. Every new Microsoft product
-or technology seems to obsolete the old rules and to introduce newer and more
-complex tools and methods. To Microsoft's credit though, the MMC does appear to
-be a step forward, but improved functionality comes at a great price.</P
-><P
->Before embarking on the configuration of network and system policies it is highly
-advisable to read the documentation available from Microsoft's web site from
-<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.
-There are a large number of documents in addition to this old one that should also
-be read and understood. Try searching on the Microsoft web site for "Group Policies".</P
-><P
->What follows is a very discussion with some helpful notes. The information provided
-here is incomplete - you are warned.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2692"
->17.1.1. Creating and Managing Windows 9x/Me Policies</A
-></H3
-><P
->You need the Win98 Group Policy Editor to set Group Profiles up under Windows 9x/Me.
-It can be found on the Original full product Win98 installation CD under
-<TT
-CLASS="FILENAME"
->tools/reskit/netadmin/poledit</TT
->.  You install this using the
-Add/Remove Programs facility and then click on the 'Have Disk' tab.</P
-><P
->Use the Group Policy Editor to create a policy file that specifies the location of
-user profiles and/or the <TT
-CLASS="FILENAME"
->My Documents</TT
-> etc.  stuff. You then
-save these settings in a file called <TT
-CLASS="FILENAME"
->Config.POL</TT
-> 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 Win9x/Me registry
-of the machine that is logging on.</P
-><P
->Further details are covered in the Win98 Resource Kit documentation.</P
-><P
->If you do not do it this way, then every so often Win9x/Me 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 Win9x/Me machine. Hence, you will
-occasionally notice things changing back to the original settings.</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/Me machine that uses group policies.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2704"
->17.1.2. Creating and Managing Windows NT4 Style Policy Files</A
-></H3
-><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 NT4 Server
-but <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not NT Workstation</I
-></SPAN
->. There is a Policy Editor on a NT4
-Workstation 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 NT4
-Workstation/Server, it will not work with NT clients. However, the files from
-the NT Server will run happily enough on an NT4 Workstation.</P
-><P
->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  the <TT
-CLASS="FILENAME"
->c:\winnt\inf</TT
-> 
-directory which is where the binary will look for them unless told otherwise. Note also that that
-directory is normally '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
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2719"
->17.1.2.1. Registry Tattoos</A
-></H4
-><P
->With NT4 style registry based policy changes, a large number of settings are not
-automatically reversed as the user logs off. Since the settings that were in the
-NTConfig.POL file were applied to the client machine registry and that apply to the
-hive key HKEY_LOCAL_MACHINE are permanent until explicitly reveresd. This is known
-as tattooing. It can have serious consequences down-stream and the administrator must
-be extreemly careful not to lock out the ability to manage the machine at a later date.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2722"
->17.1.3. Creating and Managing MS Windows 200x Policies</A
-></H3
-><P
->Windows NT4 System policies allows setting of registry parameters specific to
-users, groups and computers (client workstations) that are members of the NT4
-style domain. Such policy file will work with MS Windows 2000 / XP clients also.</P
-><P
->New to MS Windows 2000 Microsoft introduced a new style of group policy that confers
-a superset of capabilities compared with NT4 style policies. Obviously, the tool used
-to create them is different, and the mechanism for implementing them is much changed.</P
-><P
->The older NT4 style registry based policies are known as <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Administrative Templates</I
-></SPAN
->
-in MS Windows 2000/XP Group Policy Objects (GPOs). The later includes ability to set various security
-configurations, enforce Internet Explorer browser settings, change and redirect aspects of the
-users' desktop (including: the location of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->My Documents</I
-></SPAN
-> files (directory), as
-well as intrinsics of where menu items will appear in the Start menu). An additional new
-feature is the ability to make available particular software Windows applications to particular
-users and/or groups.</P
-><P
->Remember: NT4 policy files are named <TT
-CLASS="FILENAME"
->NTConfig.POL</TT
-> and are stored in the root
-of the NETLOGON share on the domain controllers. A Windows NT4 user enters a username, a password
-and selects the domain name to which the logon will attempt to take place. During the logon
-process the client machine reads the NTConfig.POL file from the NETLOGON share on the authenticating
-server, modifies the local registry values according to the settings in this file.</P
-><P
->Windows 2K GPOs are very feature rich. They are NOT stored in the NETLOGON share, rather part of
-a Windows 200x policy file is stored in the Active Directory itself and the other part is stored
-in a shared (and replicated) volume called the SYSVOL folder. This folder is present on all Active
-Directory domain controllers. The part that is stored in the Active Directory itself is called the
-group policy container (GPC), and the part that is stored in the replicated share called SYSVOL is
-known as the group policy template (GPT).</P
-><P
->With NT4 clients the policy file is read and executed upon only aas each user log onto the network.
-MS Windows 200x policies are much more complex - GPOs are processed and applied at client machine
-startup (machine specific part) and when the user logs onto the network the user specific part
-is applied. In MS Windows 200x style policy management each machine and/or user may be subject
-to any number of concurently applicable (and applied) policy sets (GPOs). Active Directory allows
-the administrator to also set filters over the policy settings. No such equivalent capability
-exists with NT4 style policy files.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2733"
->17.1.3.1. Administration of Win2K Policies</A
-></H4
-><P
->Instead of using the tool called "The System Policy Editor", commonly called Poledit (from the
-executable name poledit.exe), GPOs are created and managed using a Microsoft Management Console
-(MMC) snap-in as follows:</P
-><P
-></P
-><UL
-><LI
-><P
->      Go to the Windows 200x / XP menu <TT
-CLASS="FILENAME"
->Start-&#62;Programs-&#62;Adminsitrative Tools</TT
->
-       and select the MMC snap-in called "Active Directory Users and Computers"
-       </P
-><P
->      </P
-></LI
-><LI
-><P
->      Select the domain or organizational unit (OU) that you wish to manage, then right click
-       to open the context menu for that object, select the properties item.
-       </P
-></LI
-><LI
-><P
->      Now left click on the Group Policy tab, then left click on the New tab. Type a name
-       for the new policy you will create.
-       </P
-></LI
-><LI
-><P
->      Now left click on the Edit tab to commence the steps needed to create the GPO.
-       </P
-></LI
-></UL
-><P
->All policy configuration options are controlled through the use of policy administrative
-templates. These files have a .adm extension, both in NT4 as well as in Windows 200x / XP.
-Beware however, since the .adm files are NOT interchangible across NT4 and Windows 200x.
-The later introduces many new features as well as extended definition capabilities. It is
-well beyond the scope of this documentation to explain how to program .adm files, for that
-the adminsitrator is referred to the Microsoft Windows Resource Kit for your particular
-version of MS Windows.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The MS Windows 2000 Resource Kit contains a tool called gpolmig.exe. This tool can be used
-to migrate an NT4 NTConfig.POL file into a Windows 200x style GPO. Be VERY careful how you
-use this powerful tool. Please refer to the resource kit manuals for specific usage information.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PROFILEMGMT"
-></A
->Chapter 18. Profile Management</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN2761"
->18.1. Roaming Profiles</A
-></H2
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2769"
->18.1.1. Windows NT Configuration</A
-></H3
-><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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->MS Windows NT/2K clients at times do not disconnect a connection to a server
-between logons. It is recommended to NOT use the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->homes</I
-></SPAN
->
-meta-service name as part of the profile share path.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2778"
->18.1.2. Windows 9X Configuration</A
-></H3
-><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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2786"
->18.1.3. Win9X and WinNT Configuration</A
-></H3
-><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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2793"
->18.1.4. Windows 9X Profile Setup</A
-></H3
-><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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2829"
->18.1.5. Windows NT Workstation 4.0</A
-></H3
-><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
-><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
-for those situations where it might be created.)</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
-><P
->The case of the profile is significant.  The file must be called
-NTuser.DAT or, for a mandatory profile, NTuser.MAN.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2837"
->18.1.6. Windows NT/200x Server</A
-></H3
-><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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2840"
->18.1.7. Sharing Profiles between W9x/Me and NT4/200x/XP workstations</A
-></H3
-><P
->Sharing of desktop profiles between Windows versions is NOT recommended.
-Desktop profiles are an evolving phenomenon and profiles for later versions
-of MS Windows clients add features that may interfere with earlier versions
-of MS Windows clients. Probably the more salient reason to NOT mix profiles
-is that when logging off an earlier version of MS Windows the older format
-of profile contents may overwrite information that belongs to the newer
-version resulting in loss of profile information content when that user logs
-on again with the newer version of MS Windows.</P
-><P
->If you then want to share the same Start Menu / Desktop with W9x/Me, you will
-need to specify a common location for the profiles. The smb.conf parameters
-that need to be common are <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->logon path</I
-></SPAN
-> and
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->logon home</I
-></SPAN
->.</P
-><P
->If you have this set up correctly, you will find separate user.DAT and
-NTuser.DAT files in the same profile directory.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2847"
->18.1.8. Windows NT 4</A
-></H3
-><P
->Unfortunately, the Resource Kit info is Win NT4 or 200x specific.</P
-><P
->Here is a quick guide:</P
-><P
-></P
-><UL
-><LI
-><P
->On your NT4 Domain Controller, right click on 'My Computer', then
-select the tab labelled 'User Profiles'.</P
-></LI
-><LI
-><P
->Select a user profile you want to migrate and click on it.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="90%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->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.</P
-></TD
-></TR
-></TABLE
-></DIV
-></LI
-><LI
-><P
->Click the 'Copy To' button.</P
-></LI
-><LI
-><P
->In the box labelled 'Copy Profile to' add your new path, eg:
-<TT
-CLASS="FILENAME"
->c:\temp\foobar</TT
-></P
-></LI
-><LI
-><P
->Click on the button labelled 'Change' in the "Permitted to use" box.</P
-></LI
-><LI
-><P
->Click on the group 'Everyone' and then click OK. This closes the
-'chose user' box.</P
-></LI
-><LI
-><P
->Now click OK.</P
-></LI
-></UL
-><P
->Follow the above for every profile you need to migrate.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2870"
->18.1.8.1. Side bar Notes</A
-></H4
-><P
->You should obtain the SID of your NT4 domain. You can use smbpasswd to do
-this. Read the man page.</P
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2874"
->18.1.8.2. Mandatory profiles</A
-></H4
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2877"
->18.1.8.3. moveuser.exe</A
-></H4
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN2880"
->18.1.8.4. Get SID</A
-></H4
-><P
->You can identify the SID by using GetSID.exe from the Windows NT Server 4.0
-Resource Kit.</P
-><P
->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</P
-><P
->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.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN2885"
->18.1.9. Windows 2000/XP</A
-></H3
-><P
->You must first convert the profile from a local profile to a domain
-profile on the MS Windows workstation as follows:</P
-><P
-></P
-><UL
-><LI
-><P
->Log on as the LOCAL workstation administrator.</P
-></LI
-><LI
-><P
->Right click on the 'My Computer' Icon, select 'Properties'</P
-></LI
-><LI
-><P
->Click on the 'User Profiles' tab</P
-></LI
-><LI
-><P
->Select the profile you wish to convert (click on it once)</P
-></LI
-><LI
-><P
->Click on the button 'Copy To'</P
-></LI
-><LI
-><P
->In the "Permitted to use" box, click on the 'Change' button.</P
-></LI
-><LI
-><P
->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.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="90%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->You will need to log on if a logon box opens up. Eg: In the connect
-as: MIDEARTH\root, password: mypassword.</P
-></TD
-></TR
-></TABLE
-></DIV
-></LI
-><LI
-><P
->To make the profile capable of being used by anyone select 'Everyone'</P
-></LI
-><LI
-><P
->Click OK. The Selection box will close.</P
-></LI
-><LI
-><P
->Now click on the 'Ok' button to create the profile in the path you
-nominated.</P
-></LI
-></UL
-><P
->Done. You now have a profile that can be editted using the samba-3.0.0
-profiles tool.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Under NT/2K the use of mandotory profiles forces the use of MS Exchange
-storage of mail data. That keeps desktop profiles usable.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-><UL
-><LI
-><P
->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:</P
-><P
->"Computer Configuration\Administrative Templates\System\User
-Profiles\Do not check for user ownership of Roaming Profile Folders"</P
-><P
->...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.</P
-><P
->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):</P
-></LI
-><LI
-><P
->On the XP workstation log in with an Administrator account.</P
-></LI
-><LI
-><P
->Click: "Start", "Run"</P
-></LI
-><LI
-><P
->Type: "mmc"</P
-></LI
-><LI
-><P
->Click: "OK"</P
-></LI
-><LI
-><P
->A Microsoft Management Console should appear.</P
-></LI
-><LI
-><P
->Click: File, "Add/Remove Snap-in...", "Add"</P
-></LI
-><LI
-><P
->Double-Click: "Group Policy"</P
-></LI
-><LI
-><P
->Click: "Finish", "Close"</P
-></LI
-><LI
-><P
->Click: "OK"</P
-></LI
-><LI
-><P
->In the "Console Root" window:</P
-></LI
-><LI
-><P
->Expand: "Local Computer Policy", "Computer Configuration",</P
-></LI
-><LI
-><P
->"Administrative Templates", "System", "User Profiles"</P
-></LI
-><LI
-><P
->Double-Click: "Do not check for user ownership of Roaming Profile</P
-></LI
-><LI
-><P
->Folders"</P
-></LI
-><LI
-><P
->Select: "Enabled"</P
-></LI
-><LI
-><P
->Click: OK"</P
-></LI
-><LI
-><P
->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).</P
-></LI
-><LI
-><P
->Reboot</P
-></LI
-></UL
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="INTEGRATE-MS-NETWORKS"
-></A
->Chapter 19. Integrating MS Windows networks with Samba</H1
-><P
->This section deals with NetBIOS over TCP/IP name to IP address resolution. If you
-your MS Windows clients are NOT configured to use NetBIOS over TCP/IP then this
-section does not apply to your installation. If your installation involves use of
-NetBIOS over TCP/IP then this section may help you to resolve networking problems.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->      NetBIOS over TCP/IP has nothing to do with NetBEUI. NetBEUI is NetBIOS
-       over Logical Link Control (LLC). On modern networks it is highly advised
-       to NOT run NetBEUI at all. Note also that there is NO such thing as
-       NetBEUI over TCP/IP - the existence of such a protocol is a complete
-       and utter mis-apprehension.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Since the introduction of MS Windows 2000 it is possible to run MS Windows networking
-without the use of NetBIOS over TCP/IP. NetBIOS over TCP/IP uses UDP port 137 for NetBIOS
-name resolution and uses TCP port 139 for NetBIOS session services. When NetBIOS over
-TCP/IP is disabled on MS Windows 2000 and later clients then only TCP port 445 will be
-used and UDP port 137 and TCP port 139 will not.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->When using Windows 2000 or later clients, if NetBIOS over TCP/IP is NOT disabled, then
-the client will use UDP port 137 (NetBIOS Name Service, also known as the Windows Internet
-Name Service or WINS), TCP port 139 AND TCP port 445 (for actual file and print traffic).</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->When NetBIOS over TCP/IP is disabled the use of DNS is essential. Most installations that
-disable NetBIOS over TCP/IP today use MS Active Directory Service (ADS). ADS requires
-Dynamic DNS with Service Resource Records (SRV RR) and with Incremental Zone Transfers (IXFR).
-Use of DHCP with ADS is recommended as a further means of maintaining central control
-over client workstation network configuration.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN2975"
->19.1. Name Resolution in a pure Unix/Linux world</A
-></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="AEN2991"
->19.1.1. <TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></A
-></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="AEN3007"
->19.1.2. <TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></A
-></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="AEN3018"
->19.1.3. <TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></A
-></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="AEN3026"
->19.1.4. <TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></A
-></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="AEN3038"
->19.2. Name resolution as used within MS Windows networking</A
-></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="AEN3050"
->19.2.1. The NetBIOS Name Cache</A
-></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="AEN3055"
->19.2.2. The LMHOSTS file</A
-></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:&#60;domain&#62;
-       #      #INCLUDE &#60;filename&#62;
-       #      #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:&#60;domain&#62;" tag will associate the
-       # entry with the domain specified by &#60;domain&#62;. 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 &#60;domain&#62; is always preloaded although it will not
-       # be shown when the name cache is viewed.
-       #
-       # Specifying "#INCLUDE &#60;filename&#62;" will force the RFC NetBIOS (NBT)
-       # software to seek the specified &#60;filename&#62; and parse it as if it were
-       # local. &#60;filename&#62; 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="AEN3063"
->19.2.3. HOSTS file</A
-></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="AEN3068"
->19.2.4. DNS Lookup</A
-></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="AEN3071"
->19.2.5. WINS Lookup</A
-></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 <VAR
-CLASS="REPLACEABLE"
->xxx.xxx.xxx.xxx</VAR
-> is the IP address 
-of the WINS server.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="IMPROVED-BROWSING"
-></A
->Chapter 20. Improved browsing in samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3090"
->20.1. Overview of browsing</A
-></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
->MS Windows 2000 and later, as with Samba-3 and later, can be
-configured to not use NetBIOS over TCP/IP. When configured this way
-it is imperative that name resolution (using DNS/LDAP/ADS) be correctly
-configured and operative. Browsing will NOT work if name resolution
-from SMB machine names to IP addresses does not function correctly.</P
-><P
->Where NetBIOS over TCP/IP is enabled 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="AEN3095"
->20.2. Browsing support in samba</A
-></H2
-><P
->Samba facilitates browsing.  The browsing is supported by nmbd
-and is also controlled by options in the smb.conf file (see smb.conf(5)).
-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.</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.  MS Windows
-NT4, Server or Advanced Server 2000 or 2003 can be configured as
-your WINS server.  In a mixed NT/2000/2003 server and samba environment on
-a Wide Area Network, it is recommended that you use the Microsoft
-WINS server capabilities.  In a samba-only environment, it is
-recommended that you use one and only one Samba server 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="AEN3103"
->20.3. Problem resolution</A
-></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
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MS Windows 2000 and upwards (as with Samba) can be configured to disallow
-anonymous (ie: Guest account) access to the IPC$ share. In that case, the
-MS Windows 2000/XP/2003 machine acting as an SMB/CIFS client will use the
-name of the currently logged in user to query the IPC$ share. MS Windows
-9X clients are not able to do this and thus will NOT be able to browse
-server resources.</I
-></SPAN
-></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="AEN3112"
->20.4. Browsing across subnets</A
-></H2
-><P
->Since the release of Samba 1.9.17(alpha1) 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="AEN3117"
->20.4.1. How does cross subnet browsing work ?</A
-></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.
-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&#62;1B&#60;.  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="AEN3152"
->20.5. Setting up a WINS server</A
-></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 prior 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 a recent version, 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 = &#62;name or IP address&#60;</B
-></P
-><P
->where &#62;name or IP address&#60; 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 = &#60;name&#62;</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="AEN3171"
->20.6. Setting up Browsing in a WORKGROUP</A
-></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 MS Windows NT/2K/XP/2003  machine should be
-able to do this, as will Windows 9x 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="AEN3189"
->20.7. Setting up Browsing in a DOMAIN</A
-></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&#60;1B&#62;) 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="AEN3199"
->20.8. Forcing samba to be the master</A
-></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 MS Windows
-NT/2K Server.  A MS Windows NT/2K Server 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="AEN3208"
->20.9. Making samba the domain master</A
-></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="AEN3226"
->20.10. Note about broadcast addresses</A
-></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="AEN3229"
->20.11. Multiple interfaces</A
-></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="MSDFS"
-></A
->Chapter 21. Hosting a Microsoft Distributed File System tree on Samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3243"
->21.1. Instructions</A
-></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 
-       <VAR
-CLASS="PARAMETER"
->--with-msdfs</VAR
-> 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"
-><VAR
-CLASS="PARAMETER"
->      host msdfs</VAR
-></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"
-><VAR
-CLASS="PARAMETER"
->      msdfs root</VAR
-></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-&#62;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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->cd /export/dfsroot</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->chown root /export/dfsroot</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->chmod 755 /export/dfsroot</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->ln -s msdfs:storageA\\shareA linka</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->ln -s msdfs:serverB\\share,serverC\\share linkb</KBD
-></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="AEN3278"
->21.1.1. Notes</A
-></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="VFS"
-></A
->Chapter 22. Stackable VFS modules</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3302"
->22.1. Introduction and configuration</A
-></H2
-><P
->Since samba 3.0, samba supports stackable VFS(Virtual File System) modules.  
-Samba passes each request to access the unix file system thru the loaded VFS modules. 
-This chapter covers all the modules that come with the samba source and references to 
-some external modules.</P
-><P
->You may have problems to compile these modules, as shared libraries are
-compiled and linked in different ways on different systems.
-They currently have been tested against GNU/linux and IRIX.</P
-><P
->To use the VFS modules, create a share similar to the one below.  The
-important parameter is the <B
-CLASS="COMMAND"
->vfs object</B
-> parameter which must point to
-the exact pathname of the shared library objects. For example, to log all access 
-to files and use a recycle bin:
-
-<PRE
-CLASS="PROGRAMLISTING"
->       [audit]
-                comment = Audited /data directory
-                path = /data
-                vfs object = /path/to/audit.so /path/to/recycle.so
-                writeable = yes
-                browseable = yes</PRE
-></P
-><P
->The modules are used in the order they are specified.</P
-><P
->Further documentation on writing VFS modules for Samba can be found in
-the Samba Developers Guide.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3311"
->22.2. Included modules</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3313"
->22.2.1. audit</A
-></H3
-><P
->A simple module to audit file access to the syslog
-facility.  The following operations are logged:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->share</TD
-></TR
-><TR
-><TD
->connect/disconnect</TD
-></TR
-><TR
-><TD
->directory opens/create/remove</TD
-></TR
-><TR
-><TD
->file open/close/rename/unlink/chmod</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3321"
->22.2.2. recycle</A
-></H3
-><P
->A recycle-bin like modules. When used any unlink call
-will be intercepted and files moved to the recycle
-directory instead of beeing deleted.</P
-><P
->Supported options:
-<P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->vfs_recycle_bin:repository</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:keeptree</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:versions</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:touch</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:maxsize</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:exclude</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:exclude_dir</DT
-><DD
-><P
->FIXME</P
-></DD
-><DT
->vfs_recycle_bin:noversions</DT
-><DD
-><P
->FIXME</P
-></DD
-></DL
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3358"
->22.2.3. netatalk</A
-></H3
-><P
->A netatalk module, that will ease co-existence of samba and
-netatalk file sharing services.</P
-><P
->Advantages compared to the old netatalk module:
-<P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->it doesn't care about creating of .AppleDouble forks, just keeps ones in sync</TD
-></TR
-><TR
-><TD
->if share in smb.conf doesn't contain .AppleDouble item in hide or veto list, it will be added automatically</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3365"
->22.3. VFS modules available elsewhere</A
-></H2
-><P
->This section contains a listing of various other VFS modules that 
-have been posted but don't currently reside in the Samba CVS 
-tree for one reason ot another (e.g. it is easy for the maintainer 
-to have his or her own CVS tree).</P
-><P
->No statemets about the stability or functionality any module
-should be implied due to its presence here.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3369"
->22.3.1. DatabaseFS</A
-></H3
-><P
->URL: <A
-HREF="http://www.css.tayloru.edu/~elorimer/databasefs/index.php"
-TARGET="_top"
->http://www.css.tayloru.edu/~elorimer/databasefs/index.php</A
-></P
-><P
->By <A
-HREF="mailto:elorimer@css.tayloru.edu"
-TARGET="_top"
->Eric Lorimer</A
->.</P
-><P
->I have created a VFS module which implements a fairly complete read-only
-filesystem.  It presents information from a database as a filesystem in
-a modular and generic way to allow different databases to be used
-(originally designed for organizing MP3s under directories such as
-"Artists," "Song Keywords," etc... I have since applied it to a student
-roster database very easily).  The directory structure is stored in the
-database itself and the module makes no assumptions about the database
-structure beyond the table it requires to run.</P
-><P
->Any feedback would be appreciated: comments, suggestions, patches,
-etc...  If nothing else, hopefully it might prove useful for someone
-else who wishes to create a virtual filesystem.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3377"
->22.3.2. vscan</A
-></H3
-><P
->URL: <A
-HREF="http://www.openantivirus.org/"
-TARGET="_top"
->http://www.openantivirus.org/</A
-></P
-><P
->samba-vscan is a proof-of-concept module for Samba, which
-uses the VFS (virtual file system) features of Samba 2.2.x/3.0
-alphaX. Of couse, Samba has to be compiled with VFS support. 
-samba-vscan supports various virus scanners and is maintained 
-by Rainer Link.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SECURING-SAMBA"
-></A
->Chapter 23. Securing Samba</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3391"
->23.1. Introduction</A
-></H2
-><P
->This note was attached to the Samba 2.2.8 release notes as it contained an
-important security fix.  The information contained here applies to Samba
-installations in general.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3394"
->23.2. Using host based protection</A
-></H2
-><P
->In many installations of Samba the greatest threat comes for outside
-your immediate network. By default Samba will accept connections from
-any host, which means that if you run an insecure version of Samba on
-a host that is directly connected to the Internet you can be
-especially vulnerable.</P
-><P
->One of the simplest fixes in this case is to use the 'hosts allow' and
-'hosts deny' options in the Samba smb.conf configuration file to only
-allow access to your server from a specific range of hosts. An example
-might be:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24
-  hosts deny = 0.0.0.0/0</PRE
-></P
-><P
->The above will only allow SMB connections from 'localhost' (your own
-computer) and from the two private networks 192.168.2 and
-192.168.3. All other connections will be refused connections as soon
-as the client sends its first packet. The refusal will be marked as a
-'not listening on called name' error.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3401"
->23.3. Using interface protection</A
-></H2
-><P
->By default Samba will accept connections on any network interface that
-it finds on your system. That means if you have a ISDN line or a PPP
-connection to the Internet then Samba will accept connections on those
-links. This may not be what you want.</P
-><P
->You can change this behaviour using options like the following:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  interfaces = eth* lo
-  bind interfaces only = yes</PRE
-></P
-><P
-></P
-><P
->This tells Samba to only listen for connections on interfaces with a
-name starting with 'eth' such as eth0, eth1, plus on the loopback
-interface called 'lo'. The name you will need to use depends on what
-OS you are using, in the above I used the common name for Ethernet
-adapters on Linux.</P
-><P
->If you use the above and someone tries to make a SMB connection to
-your host over a PPP interface called 'ppp0' then they will get a TCP
-connection refused reply. In that case no Samba code is run at all as
-the operating system has been told not to pass connections from that
-interface to any process.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3410"
->23.4. Using a firewall</A
-></H2
-><P
->Many people use a firewall to deny access to services that they don't
-want exposed outside their network. This can be a very good idea,
-although I would recommend using it in conjunction with the above
-methods so that you are protected even if your firewall is not active
-for some reason.</P
-><P
->If you are setting up a firewall then you need to know what TCP and
-UDP ports to allow and block. Samba uses the following:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->UDP/137    - used by nmbd
-UDP/138    - used by nmbd
-TCP/139    - used by smbd
-TCP/445    - used by smbd</PRE
-></P
-><P
->The last one is important as many older firewall setups may not be
-aware of it, given that this port was only added to the protocol in
-recent years. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3417"
->23.5. Using a IPC$ share deny</A
-></H2
-><P
->If the above methods are not suitable, then you could also place a
-more specific deny on the IPC$ share that is used in the recently
-discovered security hole. This allows you to offer access to other
-shares while denying access to IPC$ from potentially untrustworthy
-hosts.</P
-><P
->To do that you could use:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  [ipc$]
-     hosts allow = 192.168.115.0/24 127.0.0.1
-     hosts deny = 0.0.0.0/0</PRE
-></P
-><P
->this would tell Samba that IPC$ connections are not allowed from
-anywhere but the two listed places (localhost and a local
-subnet). Connections to other shares would still be allowed. As the
-IPC$ share is the only share that is always accessible anonymously
-this provides some level of protection against attackers that do not
-know a username/password for your host.</P
-><P
->If you use this method then clients will be given a 'access denied'
-reply when they try to access the IPC$ share. That means that those
-clients will not be able to browse shares, and may also be unable to
-access some other resources. </P
-><P
->This is not recommended unless you cannot use one of the other
-methods listed above for some reason.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3426"
->23.6. Upgrading Samba</A
-></H2
-><P
->Please check regularly on http://www.samba.org/ for updates and
-important announcements.  Occasionally security releases are made and 
-it is highly recommended to upgrade Samba when a security vulnerability
-is discovered.</P
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="UNICODE"
-></A
->Chapter 24. Unicode/Charsets</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3440"
->24.1. What are charsets and unicode?</A
-></H2
-><P
->Computers communicate in numbers. In texts, each number will be 
-translated to a corresponding letter. The meaning that will be assigned 
-to a certain number depends on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->character set(charset)</I
-></SPAN
-> that is used. 
-A charset can be seen as a table that is used to translate numbers to 
-letters. Not all computers use the same charset (there are charsets 
-with German umlauts, Japanese characters, etc). Usually a charset contains 
-256 characters, which means that storing a character with it takes 
-exactly one byte. </P
-><P
->There are also charsets that support even more characters, 
-but those need twice(or even more) as much storage space. These 
-charsets can contain <B
-CLASS="COMMAND"
->256 * 256 = 65536</B
-> characters, which
-is more then all possible characters one could think of. They are called 
-multibyte charsets (because they use more then one byte to 
-store one character). </P
-><P
->A standardised multibyte charset is unicode, info available at 
-<A
-HREF="http://www.unicode.org/"
-TARGET="_top"
->www.unicode.org</A
->. 
-Big advantage of using a multibyte charset is that you only need one; no 
-need to make sure two computers use the same charset when they are 
-communicating.</P
-><P
->Old windows clients used to use single-byte charsets, named 
-'codepages' by microsoft. However, there is no support for 
-negotiating the charset to be used in the smb protocol. Thus, you 
-have to make sure you are using the same charset when talking to an old client.
-Newer clients (Windows NT, 2K, XP) talk unicode over the wire.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3449"
->24.2. Samba and charsets</A
-></H2
-><P
->As of samba 3.0, samba can (and will) talk unicode over the wire. Internally, 
-samba knows of three kinds of character sets: </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->unix charset</DT
-><DD
-><P
->              This is the charset used internally by your operating system. 
-               The default is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ASCII</I
-></SPAN
->, which is fine for most 
-               systems.
-               </P
-></DD
-><DT
->display charset</DT
-><DD
-><P
->This is the charset samba will use to print messages
-               on your screen. It should generally be the same as the <B
-CLASS="COMMAND"
->unix charset</B
->.
-               </P
-></DD
-><DT
->dos charset</DT
-><DD
-><P
->This is the charset samba uses when communicating with 
-               DOS and Windows 9x clients. It will talk unicode to all newer clients.
-               The default depends on the charsets you have installed on your system.
-               Run <B
-CLASS="COMMAND"
->testparm -v | grep "dos charset"</B
-> to see 
-               what the default is on your system. 
-               </P
-></DD
-></DL
-></DIV
-><P
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="APPENDIXES"
-></A
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->IV. Appendixes</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->25. <A
-HREF="#SPEED"
->Samba performance issues</A
-></DT
-><DD
-><DL
-><DT
->25.1. <A
-HREF="#AEN3486"
->Comparisons</A
-></DT
-><DT
->25.2. <A
-HREF="#AEN3492"
->Socket options</A
-></DT
-><DT
->25.3. <A
-HREF="#AEN3499"
->Read size</A
-></DT
-><DT
->25.4. <A
-HREF="#AEN3504"
->Max xmit</A
-></DT
-><DT
->25.5. <A
-HREF="#AEN3509"
->Log level</A
-></DT
-><DT
->25.6. <A
-HREF="#AEN3512"
->Read raw</A
-></DT
-><DT
->25.7. <A
-HREF="#AEN3517"
->Write raw</A
-></DT
-><DT
->25.8. <A
-HREF="#AEN3521"
->Slow Clients</A
-></DT
-><DT
->25.9. <A
-HREF="#AEN3525"
->Slow Logins</A
-></DT
-><DT
->25.10. <A
-HREF="#AEN3528"
->Client tuning</A
-></DT
-></DL
-></DD
-><DT
->26. <A
-HREF="#PORTABILITY"
->Portability</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="#AEN3568"
->HPUX</A
-></DT
-><DT
->26.2. <A
-HREF="#AEN3574"
->SCO Unix</A
-></DT
-><DT
->26.3. <A
-HREF="#AEN3578"
->DNIX</A
-></DT
-><DT
->26.4. <A
-HREF="#AEN3607"
->RedHat Linux Rembrandt-II</A
-></DT
-><DT
->26.5. <A
-HREF="#AEN3613"
->AIX</A
-></DT
-><DD
-><DL
-><DT
->26.5.1. <A
-HREF="#AEN3615"
->Sequential Read Ahead</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->27. <A
-HREF="#OTHER-CLIENTS"
->Samba and other CIFS clients</A
-></DT
-><DD
-><DL
-><DT
->27.1. <A
-HREF="#AEN3633"
->Macintosh clients?</A
-></DT
-><DT
->27.2. <A
-HREF="#AEN3642"
->OS2 Client</A
-></DT
-><DD
-><DL
-><DT
->27.2.1. <A
-HREF="#AEN3644"
->How can I configure OS/2 Warp Connect or 
-               OS/2 Warp 4 as a client for Samba?</A
-></DT
-><DT
->27.2.2. <A
-HREF="#AEN3659"
->How can I configure OS/2 Warp 3 (not Connect), 
-               OS/2 1.2, 1.3 or 2.x for Samba?</A
-></DT
-><DT
->27.2.3. <A
-HREF="#AEN3668"
->Are there any other issues when OS/2 (any version) 
-               is used as a client?</A
-></DT
-><DT
->27.2.4. <A
-HREF="#AEN3672"
->How do I get printer driver download working 
-               for OS/2 clients?</A
-></DT
-></DL
-></DD
-><DT
->27.3. <A
-HREF="#AEN3682"
->Windows for Workgroups</A
-></DT
-><DD
-><DL
-><DT
->27.3.1. <A
-HREF="#AEN3684"
->Use latest TCP/IP stack from Microsoft</A
-></DT
-><DT
->27.3.2. <A
-HREF="#AEN3689"
->Delete .pwl files after password change</A
-></DT
-><DT
->27.3.3. <A
-HREF="#AEN3694"
->Configure WfW password handling</A
-></DT
-><DT
->27.3.4. <A
-HREF="#AEN3698"
->Case handling of passwords</A
-></DT
-><DT
->27.3.5. <A
-HREF="#AEN3703"
->Use TCP/IP as default protocol</A
-></DT
-></DL
-></DD
-><DT
->27.4. <A
-HREF="#AEN3706"
->Windows '95/'98</A
-></DT
-><DT
->27.5. <A
-HREF="#AEN3722"
->Windows 2000 Service Pack 2</A
-></DT
-></DL
-></DD
-><DT
->28. <A
-HREF="#COMPILING"
->How to compile SAMBA</A
-></DT
-><DD
-><DL
-><DT
->28.1. <A
-HREF="#AEN3749"
->Access Samba source code via CVS</A
-></DT
-><DD
-><DL
-><DT
->28.1.1. <A
-HREF="#AEN3751"
->Introduction</A
-></DT
-><DT
->28.1.2. <A
-HREF="#AEN3756"
->CVS Access to samba.org</A
-></DT
-></DL
-></DD
-><DT
->28.2. <A
-HREF="#AEN3792"
->Accessing the samba sources via rsync and ftp</A
-></DT
-><DT
->28.3. <A
-HREF="#AEN3798"
->Building the Binaries</A
-></DT
-><DD
-><DL
-><DT
->28.3.1. <A
-HREF="#AEN3826"
->Compiling samba with Active Directory support</A
-></DT
-></DL
-></DD
-><DT
->28.4. <A
-HREF="#AEN3855"
->Starting the smbd and nmbd</A
-></DT
-><DD
-><DL
-><DT
->28.4.1. <A
-HREF="#AEN3865"
->Starting from inetd.conf</A
-></DT
-><DT
->28.4.2. <A
-HREF="#AEN3894"
->Alternative: starting it as a daemon</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->29. <A
-HREF="#BUGREPORT"
->Reporting Bugs</A
-></DT
-><DD
-><DL
-><DT
->29.1. <A
-HREF="#AEN3917"
->Introduction</A
-></DT
-><DT
->29.2. <A
-HREF="#AEN3927"
->General info</A
-></DT
-><DT
->29.3. <A
-HREF="#AEN3933"
->Debug levels</A
-></DT
-><DT
->29.4. <A
-HREF="#AEN3950"
->Internal errors</A
-></DT
-><DT
->29.5. <A
-HREF="#AEN3960"
->Attaching to a running process</A
-></DT
-><DT
->29.6. <A
-HREF="#AEN3963"
->Patches</A
-></DT
-></DL
-></DD
-><DT
->30. <A
-HREF="#DIAGNOSIS"
->The samba checklist</A
-></DT
-><DD
-><DL
-><DT
->30.1. <A
-HREF="#AEN3986"
->Introduction</A
-></DT
-><DT
->30.2. <A
-HREF="#AEN3991"
->Assumptions</A
-></DT
-><DT
->30.3. <A
-HREF="#AEN4001"
->Tests</A
-></DT
-><DD
-><DL
-><DT
->30.3.1. <A
-HREF="#AEN4003"
->Test 1</A
-></DT
-><DT
->30.3.2. <A
-HREF="#AEN4009"
->Test 2</A
-></DT
-><DT
->30.3.3. <A
-HREF="#AEN4015"
->Test 3</A
-></DT
-><DT
->30.3.4. <A
-HREF="#AEN4030"
->Test 4</A
-></DT
-><DT
->30.3.5. <A
-HREF="#AEN4035"
->Test 5</A
-></DT
-><DT
->30.3.6. <A
-HREF="#AEN4041"
->Test 6</A
-></DT
-><DT
->30.3.7. <A
-HREF="#AEN4049"
->Test 7</A
-></DT
-><DT
->30.3.8. <A
-HREF="#AEN4075"
->Test 8</A
-></DT
-><DT
->30.3.9. <A
-HREF="#AEN4092"
->Test 9</A
-></DT
-><DT
->30.3.10. <A
-HREF="#AEN4100"
->Test 10</A
-></DT
-><DT
->30.3.11. <A
-HREF="#AEN4106"
->Test 11</A
-></DT
-></DL
-></DD
-><DT
->30.4. <A
-HREF="#AEN4111"
->Still having troubles?</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="SPEED"
-></A
->Chapter 25. Samba performance issues</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3486"
->25.1. Comparisons</A
-></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="AEN3492"
->25.2. Socket options</A
-></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="AEN3499"
->25.3. Read size</A
-></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="AEN3504"
->25.4. Max xmit</A
-></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="AEN3509"
->25.5. Log level</A
-></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="AEN3512"
->25.6. Read raw</A
-></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="AEN3517"
->25.7. Write raw</A
-></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="AEN3521"
->25.8. Slow Clients</A
-></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="AEN3525"
->25.9. Slow Logins</A
-></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="AEN3528"
->25.10. Client tuning</A
-></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
-><PRE
-CLASS="PROGRAMLISTING"
->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</PRE
-></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
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="PORTABILITY"
-></A
->Chapter 26. 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="AEN3568"
->26.1. HPUX</A
-></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="AEN3574"
->26.2. SCO Unix</A
-></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="AEN3578"
->26.3. DNIX</A
-></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="AEN3607"
->26.4. RedHat Linux Rembrandt-II</A
-></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
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3613"
->26.5. AIX</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3615"
->26.5.1. Sequential Read Ahead</A
-></H3
-><P
->Disabling Sequential Read Ahead using "vmtune -r 0" improves 
-samba performance significally.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="OTHER-CLIENTS"
-></A
->Chapter 27. Samba and other CIFS clients</H1
-><P
->This chapter contains client-specific information.</P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3633"
->27.1. Macintosh clients?</A
-></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="AEN3642"
->27.2. OS2 Client</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3644"
->27.2.1. How can I configure OS/2 Warp Connect or 
-               OS/2 Warp 4 as a client for Samba?</A
-></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="AEN3659"
->27.2.2. How can I configure OS/2 Warp 3 (not Connect), 
-               OS/2 1.2, 1.3 or 2.x for Samba?</A
-></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="AEN3668"
->27.2.3. Are there any other issues when OS/2 (any version) 
-               is used as a client?</A
-></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="AEN3672"
->27.2.4. How do I get printer driver download working 
-               for OS/2 clients?</A
-></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 = 
-               <VAR
-CLASS="REPLACEABLE"
->filename</VAR
->".  Then, in the file 
-               specified by <VAR
-CLASS="REPLACEABLE"
->filename</VAR
->, 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="AEN3682"
->27.3. Windows for Workgroups</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3684"
->27.3.1. Use latest TCP/IP stack from Microsoft</A
-></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="AEN3689"
->27.3.2. Delete .pwl files after password change</A
-></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="AEN3694"
->27.3.3. Configure WfW password handling</A
-></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="AEN3698"
->27.3.4. Case handling of passwords</A
-></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
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3703"
->27.3.5. Use TCP/IP as default protocol</A
-></H3
-><P
->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
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3706"
->27.4. Windows '95/'98</A
-></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="AEN3722"
->27.5. Windows 2000 Service Pack 2</A
-></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="COMPILING"
-></A
->Chapter 28. How to compile SAMBA</H1
-><P
->You can obtain the samba source from the <A
-HREF="http://samba.org/"
-TARGET="_top"
->samba website</A
->. To obtain a development version, 
-you can download samba from CVS or using rsync. </P
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3749"
->28.1. Access Samba source code via CVS</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN3751"
->28.1.1. Introduction</A
-></H3
-><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 chapter 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="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3756"
->28.1.2. CVS Access to samba.org</A
-></H3
-><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="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN3759"
->28.1.2.1. Access via CVSweb</A
-></H4
-><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="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN3764"
->28.1.2.2. Access via cvs</A
-></H4
-><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 <KBD
-CLASS="USERINPUT"
->cvs</KBD
->.
-       </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 <VAR
-CLASS="PARAMETER"
->-r</VAR
->
-       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="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3792"
->28.2. Accessing the samba sources via rsync and ftp</A
-></H2
-><P
->      pserver.samba.org also exports unpacked copies of most parts of the CVS tree at <A
-HREF="ftp://pserver.samba.org/pub/unpacked"
-TARGET="_top"
->ftp://pserver.samba.org/pub/unpacked</A
-> and also via anonymous rsync at rsync://pserver.samba.org/ftp/unpacked/. I recommend using rsync rather than ftp.
-       See <A
-HREF="http://rsync.samba.org/"
-TARGET="_top"
->the rsync homepage</A
-> for more info on rsync.                       
-       </P
-><P
->      The disadvantage of the unpacked trees
-       is that they do not support automatic
-       merging of local changes like CVS does.
-       rsync access is most convenient for an 
-       initial install.                       
-       </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3798"
->28.3. Building the Binaries</A
-></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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->./configure --help
-       </KBD
-></P
-><P
->first to see what special options you can enable.
-       Then executing</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make</KBD
-></P
-><P
->will create the binaries. Once it's successfully 
-       compiled you can use </P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make install</KBD
-></P
-><P
->to install the binaries and manual pages. You can 
-       separately install the binaries and/or man pages using</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make installbin
-       </KBD
-></P
-><P
->and</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make installman
-       </KBD
-></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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make revert
-       </KBD
-></P
-><P
->if you find this version a disaster!</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN3826"
->28.3.1. Compiling samba with Active Directory support</A
-></H3
-><P
->In order to compile samba with ADS support, you need to have installed
-       on your system: 
-       <P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->the MIT kerberos development libraries (either install from the 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
-><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 <TT
-CLASS="FILENAME"
->include/config.h</TT
-> it generates 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
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN3838"
->28.3.1.1. Installing the required packages for Debian</A
-></H4
-><P
->On Debian you need to install the following packages:</P
-><P
->      <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="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="AEN3845"
->28.3.1.2. Installing the required packages for RedHat</A
-></H4
-><P
->On RedHat this means you should have at least: </P
-><P
->      <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
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AEN3855"
->28.4. Starting the smbd and nmbd</A
-></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="AEN3865"
->28.4.1. Starting from inetd.conf</A
-></H3
-><P
->NOTE; The following will be different if 
-               you use NIS, NIS+ or LDAP to distribute 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
-><KBD
-CLASS="USERINPUT"
->netbios-ssn     139/tcp</KBD
-></P
-><P
->similarly for 137/udp you should have an entry like:</P
-><P
-><KBD
-CLASS="USERINPUT"
->netbios-ns    137/udp</KBD
-></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="AEN3894"
->28.4.2. Alternative: starting it as a daemon</A
-></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
-><DIV
-CLASS="CHAPTER"
-><HR><H1
-><A
-NAME="BUGREPORT"
-></A
->Chapter 29. Reporting Bugs</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3917"
->29.1. Introduction</A
-></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="AEN3927"
->29.2. General info</A
-></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="AEN3933"
->29.3. Debug levels</A
-></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="AEN3950"
->29.4. Internal errors</A
-></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="AEN3960"
->29.5. Attaching to a running process</A
-></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="AEN3963"
->29.6. Patches</A
-></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 30. The samba checklist</H1
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="AEN3986"
->30.1. Introduction</A
-></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="AEN3991"
->30.2. Assumptions</A
-></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="AEN4001"
->30.3. Tests</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="AEN4003"
->30.3.1. Test 1</A
-></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="AEN4009"
->30.3.2. Test 2</A
-></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="AEN4015"
->30.3.3. Test 3</A
-></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="AEN4030"
->30.3.4. Test 4</A
-></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="AEN4035"
->30.3.5. Test 5</A
-></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="AEN4041"
->30.3.6. Test 6</A
-></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="AEN4049"
->30.3.7. Test 7</A
-></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 &#62;accountname&#60; 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 &#62;command&#60;</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="AEN4075"
->30.3.8. Test 8</A
-></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="AEN4092"
->30.3.9. Test 9</A
-></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="AEN4100"
->30.3.10. Test 10</A
-></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="AEN4106"
->30.3.11. Test 11</A
-></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="AEN4111"
->30.4. Still having troubles?</A
-></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 f37bbf0abc6d8a0c3d4e94164a9ab3c8d53a319a..26ec1d04a79897e13c59e900feeca9e8db803161 100644 (file)
@@ -5,7 +5,8 @@
 >Samba as a ADS domain member</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,10 +14,10 @@ REL="UP"
 TITLE="Type of installation"
 HREF="type.html"><LINK
 REL="PREVIOUS"
-TITLE="Samba Backup Domain Controller to Samba Domain Control"
+TITLE="How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain"
 HREF="samba-bdc.html"><LINK
 REL="NEXT"
-TITLE="Samba as a NT4 or Win2k domain member"
+TITLE="Samba as a NT4 domain member"
 HREF="domain-security.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
@@ -72,25 +73,126 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="ADS"
-></A
->Chapter 8. Samba as a ADS domain member</H1
+NAME="ADS">Chapter 8. Samba as a ADS domain member</H1
 ><P
 >This is a rough guide to setting up Samba 3.0 with kerberos authentication against a
 Windows2000 KDC. </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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1251"
->8.1. Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
-></H1
+NAME="AEN1187">8.1. Installing the required packages for Debian</H1
 ><P
->You must use at least the following 3 options in smb.conf:</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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1193">8.2. Installing the required packages for RedHat</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1202">8.3. Compile Samba</H1
+><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"
@@ -112,29 +214,24 @@ CLASS="PROGRAMLISTING"
 >  ads server = your.kerberos.server</PRE
 ></P
 ><P
->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 required options will change soon when we get better
-  active directory integration.</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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1262"
->8.2. Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
-></H1
+NAME="AEN1217">8.4. Setup your /etc/krb5.conf</H1
 ><P
 >The minimal configuration for krb5.conf is:</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->[realms]
+>      [realms]
     YOUR.KERBEROS.REALM = {
        kdc = your.kerberos.server
     }</PRE
@@ -158,18 +255,18 @@ 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 for smbd and winbindd.</P
+support in smbd.</P
 ></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1273"
->8.3. Create the computer account</A
-></H1
+NAME="AEN1227">8.5. Create the computer account</H1
 ><P
->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:
 <B
 CLASS="COMMAND"
@@ -180,9 +277,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1277"
->8.3.1. Possible errors</A
-></H2
+NAME="AEN1231">8.5.1. Possible errors</H2
 ><P
 ><P
 ></P
@@ -190,6 +285,12 @@ NAME="AEN1277"
 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
@@ -205,9 +306,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1285"
->8.4. Test your server setup</A
-></H1
+NAME="AEN1243">8.6. Test your server setup</H1
 ><P
 >On a Windows 2000 client try <B
 CLASS="COMMAND"
@@ -225,9 +324,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1290"
->8.5. Testing with smbclient</A
-></H1
+NAME="AEN1248">8.7. Testing with smbclient</H1
 ><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
@@ -238,12 +335,10 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1293"
->8.6. Notes</A
-></H1
+NAME="AEN1251">8.8. Notes</H1
 ><P
->You must change administrator password at least once after DC 
-install, to create the right encoding types</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
@@ -293,7 +388,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Samba Backup Domain Controller to Samba Domain Control</TD
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -307,7 +402,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Samba as a NT4 or Win2k domain member</TD
+>Samba as a NT4 domain member</TD
 ></TR
 ></TABLE
 ></DIV
index 19ad066fae17afb2f546cc58d59201afe564fc84..e7eefcb441c99b3f333200162b7df59d928848fb 100644 (file)
@@ -5,16 +5,17 @@
 >Appendixes</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="PREVIOUS"
-TITLE="Unicode/Charsets"
-HREF="unicode.html"><LINK
-REL="NEXT"
 TITLE="Samba performance issues"
-HREF="speed.html"></HEAD
+HREF="speed.html"><LINK
+REL="NEXT"
+TITLE="Portability"
+HREF="portability.html"></HEAD
 ><BODY
 CLASS="PART"
 BGCOLOR="#FFFFFF"
@@ -42,7 +43,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="unicode.html"
+HREF="speed.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="speed.html"
+HREF="portability.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -68,9 +69,7 @@ WIDTH="100%"></DIV
 ><DIV
 CLASS="PART"
 ><A
-NAME="APPENDIXES"
-></A
-><DIV
+NAME="APPENDIXES"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
@@ -84,386 +83,242 @@ CLASS="TOC"
 ></DT
 ><DT
 >23. <A
-HREF="speed.html"
->Samba performance issues</A
-></DT
-><DD
-><DL
-><DT
->23.1. <A
-HREF="speed.html#AEN3443"
->Comparisons</A
-></DT
-><DT
->23.2. <A
-HREF="speed.html#AEN3449"
->Socket options</A
-></DT
-><DT
->23.3. <A
-HREF="speed.html#AEN3456"
->Read size</A
-></DT
-><DT
->23.4. <A
-HREF="speed.html#AEN3461"
->Max xmit</A
-></DT
-><DT
->23.5. <A
-HREF="speed.html#AEN3466"
->Log level</A
-></DT
-><DT
->23.6. <A
-HREF="speed.html#AEN3469"
->Read raw</A
-></DT
-><DT
->23.7. <A
-HREF="speed.html#AEN3474"
->Write raw</A
-></DT
-><DT
->23.8. <A
-HREF="speed.html#AEN3478"
->Slow Clients</A
-></DT
-><DT
->23.9. <A
-HREF="speed.html#AEN3482"
->Slow Logins</A
-></DT
-><DT
->23.10. <A
-HREF="speed.html#AEN3485"
->Client tuning</A
-></DT
-></DL
-></DD
-><DT
->24. <A
 HREF="portability.html"
 >Portability</A
 ></DT
 ><DD
 ><DL
 ><DT
->24.1. <A
-HREF="portability.html#AEN3525"
+>23.1. <A
+HREF="portability.html#AEN3139"
 >HPUX</A
 ></DT
 ><DT
->24.2. <A
-HREF="portability.html#AEN3531"
+>23.2. <A
+HREF="portability.html#AEN3145"
 >SCO Unix</A
 ></DT
 ><DT
->24.3. <A
-HREF="portability.html#AEN3535"
+>23.3. <A
+HREF="portability.html#AEN3149"
 >DNIX</A
 ></DT
 ><DT
->24.4. <A
-HREF="portability.html#AEN3564"
+>23.4. <A
+HREF="portability.html#AEN3178"
 >RedHat Linux Rembrandt-II</A
 ></DT
-><DT
->24.5. <A
-HREF="portability.html#AEN3570"
->AIX</A
-></DT
-><DD
-><DL
-><DT
->24.5.1. <A
-HREF="portability.html#AEN3572"
->Sequential Read Ahead</A
-></DT
-></DL
-></DD
 ></DL
 ></DD
 ><DT
->25. <A
+>24. <A
 HREF="other-clients.html"
 >Samba and other CIFS clients</A
 ></DT
 ><DD
 ><DL
 ><DT
->25.1. <A
-HREF="other-clients.html#AEN3590"
+>24.1. <A
+HREF="other-clients.html#AEN3199"
 >Macintosh clients?</A
 ></DT
 ><DT
->25.2. <A
-HREF="other-clients.html#AEN3599"
+>24.2. <A
+HREF="other-clients.html#AEN3208"
 >OS2 Client</A
 ></DT
 ><DD
 ><DL
 ><DT
->25.2.1. <A
-HREF="other-clients.html#AEN3601"
+>24.2.1. <A
+HREF="other-clients.html#AEN3210"
 >How can I configure OS/2 Warp Connect or 
                OS/2 Warp 4 as a client for Samba?</A
 ></DT
 ><DT
->25.2.2. <A
-HREF="other-clients.html#AEN3616"
+>24.2.2. <A
+HREF="other-clients.html#AEN3225"
 >How can I configure OS/2 Warp 3 (not Connect), 
                OS/2 1.2, 1.3 or 2.x for Samba?</A
 ></DT
 ><DT
->25.2.3. <A
-HREF="other-clients.html#AEN3625"
+>24.2.3. <A
+HREF="other-clients.html#AEN3234"
 >Are there any other issues when OS/2 (any version) 
                is used as a client?</A
 ></DT
 ><DT
->25.2.4. <A
-HREF="other-clients.html#AEN3629"
+>24.2.4. <A
+HREF="other-clients.html#AEN3238"
 >How do I get printer driver download working 
                for OS/2 clients?</A
 ></DT
 ></DL
 ></DD
 ><DT
->25.3. <A
-HREF="other-clients.html#AEN3639"
+>24.3. <A
+HREF="other-clients.html#AEN3248"
 >Windows for Workgroups</A
 ></DT
 ><DD
 ><DL
 ><DT
->25.3.1. <A
-HREF="other-clients.html#AEN3641"
+>24.3.1. <A
+HREF="other-clients.html#AEN3250"
 >Use latest TCP/IP stack from Microsoft</A
 ></DT
 ><DT
->25.3.2. <A
-HREF="other-clients.html#AEN3646"
+>24.3.2. <A
+HREF="other-clients.html#AEN3255"
 >Delete .pwl files after password change</A
 ></DT
 ><DT
->25.3.3. <A
-HREF="other-clients.html#AEN3651"
+>24.3.3. <A
+HREF="other-clients.html#AEN3260"
 >Configure WfW password handling</A
 ></DT
 ><DT
->25.3.4. <A
-HREF="other-clients.html#AEN3655"
+>24.3.4. <A
+HREF="other-clients.html#AEN3264"
 >Case handling of passwords</A
 ></DT
-><DT
->25.3.5. <A
-HREF="other-clients.html#AEN3660"
->Use TCP/IP as default protocol</A
-></DT
 ></DL
 ></DD
 ><DT
->25.4. <A
-HREF="other-clients.html#AEN3663"
+>24.4. <A
+HREF="other-clients.html#AEN3269"
 >Windows '95/'98</A
 ></DT
 ><DT
->25.5. <A
-HREF="other-clients.html#AEN3679"
+>24.5. <A
+HREF="other-clients.html#AEN3285"
 >Windows 2000 Service Pack 2</A
 ></DT
 ></DL
 ></DD
 ><DT
->26. <A
-HREF="compiling.html"
->How to compile SAMBA</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="compiling.html#AEN3706"
->Access Samba source code via CVS</A
-></DT
-><DD
-><DL
-><DT
->26.1.1. <A
-HREF="compiling.html#AEN3708"
->Introduction</A
-></DT
-><DT
->26.1.2. <A
-HREF="compiling.html#AEN3713"
->CVS Access to samba.org</A
-></DT
-></DL
-></DD
-><DT
->26.2. <A
-HREF="compiling.html#AEN3749"
->Accessing the samba sources via rsync and ftp</A
-></DT
-><DT
->26.3. <A
-HREF="compiling.html#AEN3755"
->Building the Binaries</A
-></DT
-><DD
-><DL
-><DT
->26.3.1. <A
-HREF="compiling.html#AEN3783"
->Compiling samba with Active Directory support</A
-></DT
-></DL
-></DD
-><DT
->26.4. <A
-HREF="compiling.html#AEN3812"
->Starting the smbd and nmbd</A
-></DT
-><DD
-><DL
-><DT
->26.4.1. <A
-HREF="compiling.html#AEN3822"
->Starting from inetd.conf</A
-></DT
-><DT
->26.4.2. <A
-HREF="compiling.html#AEN3851"
->Alternative: starting it as a daemon</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->27. <A
+>25. <A
 HREF="bugreport.html"
 >Reporting Bugs</A
 ></DT
 ><DD
 ><DL
 ><DT
->27.1. <A
-HREF="bugreport.html#AEN3874"
+>25.1. <A
+HREF="bugreport.html#AEN3309"
 >Introduction</A
 ></DT
 ><DT
->27.2. <A
-HREF="bugreport.html#AEN3884"
+>25.2. <A
+HREF="bugreport.html#AEN3319"
 >General info</A
 ></DT
 ><DT
->27.3. <A
-HREF="bugreport.html#AEN3890"
+>25.3. <A
+HREF="bugreport.html#AEN3325"
 >Debug levels</A
 ></DT
 ><DT
->27.4. <A
-HREF="bugreport.html#AEN3907"
+>25.4. <A
+HREF="bugreport.html#AEN3342"
 >Internal errors</A
 ></DT
 ><DT
->27.5. <A
-HREF="bugreport.html#AEN3917"
+>25.5. <A
+HREF="bugreport.html#AEN3352"
 >Attaching to a running process</A
 ></DT
 ><DT
->27.6. <A
-HREF="bugreport.html#AEN3920"
+>25.6. <A
+HREF="bugreport.html#AEN3355"
 >Patches</A
 ></DT
 ></DL
 ></DD
 ><DT
->28. <A
+>26. <A
 HREF="diagnosis.html"
->The samba checklist</A
+>Diagnosing your samba server</A
 ></DT
 ><DD
 ><DL
 ><DT
->28.1. <A
-HREF="diagnosis.html#AEN3943"
+>26.1. <A
+HREF="diagnosis.html#AEN3378"
 >Introduction</A
 ></DT
 ><DT
->28.2. <A
-HREF="diagnosis.html#AEN3948"
+>26.2. <A
+HREF="diagnosis.html#AEN3383"
 >Assumptions</A
 ></DT
 ><DT
->28.3. <A
-HREF="diagnosis.html#AEN3958"
+>26.3. <A
+HREF="diagnosis.html#AEN3393"
 >Tests</A
 ></DT
 ><DD
 ><DL
 ><DT
->28.3.1. <A
-HREF="diagnosis.html#AEN3960"
+>26.3.1. <A
+HREF="diagnosis.html#AEN3395"
 >Test 1</A
 ></DT
 ><DT
->28.3.2. <A
-HREF="diagnosis.html#AEN3966"
+>26.3.2. <A
+HREF="diagnosis.html#AEN3401"
 >Test 2</A
 ></DT
 ><DT
->28.3.3. <A
-HREF="diagnosis.html#AEN3972"
+>26.3.3. <A
+HREF="diagnosis.html#AEN3407"
 >Test 3</A
 ></DT
 ><DT
->28.3.4. <A
-HREF="diagnosis.html#AEN3987"
+>26.3.4. <A
+HREF="diagnosis.html#AEN3422"
 >Test 4</A
 ></DT
 ><DT
->28.3.5. <A
-HREF="diagnosis.html#AEN3992"
+>26.3.5. <A
+HREF="diagnosis.html#AEN3427"
 >Test 5</A
 ></DT
 ><DT
->28.3.6. <A
-HREF="diagnosis.html#AEN3998"
+>26.3.6. <A
+HREF="diagnosis.html#AEN3433"
 >Test 6</A
 ></DT
 ><DT
->28.3.7. <A
-HREF="diagnosis.html#AEN4006"
+>26.3.7. <A
+HREF="diagnosis.html#AEN3441"
 >Test 7</A
 ></DT
 ><DT
->28.3.8. <A
-HREF="diagnosis.html#AEN4032"
+>26.3.8. <A
+HREF="diagnosis.html#AEN3467"
 >Test 8</A
 ></DT
 ><DT
->28.3.9. <A
-HREF="diagnosis.html#AEN4049"
+>26.3.9. <A
+HREF="diagnosis.html#AEN3484"
 >Test 9</A
 ></DT
 ><DT
->28.3.10. <A
-HREF="diagnosis.html#AEN4057"
+>26.3.10. <A
+HREF="diagnosis.html#AEN3492"
 >Test 10</A
 ></DT
 ><DT
->28.3.11. <A
-HREF="diagnosis.html#AEN4063"
+>26.3.11. <A
+HREF="diagnosis.html#AEN3498"
 >Test 11</A
 ></DT
 ></DL
 ></DD
 ><DT
->28.4. <A
-HREF="diagnosis.html#AEN4068"
+>26.4. <A
+HREF="diagnosis.html#AEN3503"
 >Still having troubles?</A
 ></DT
 ></DL
@@ -488,7 +343,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="unicode.html"
+HREF="speed.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -506,7 +361,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="speed.html"
+HREF="portability.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -516,7 +371,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Unicode/Charsets</TD
+>Samba performance issues</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -526,7 +381,7 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Samba performance issues</TD
+>Portability</TD
 ></TR
 ></TABLE
 ></DIV
index 18be543aa4c3f459eda6988ab7c69870873419e6..8c597e001ff6c826e0c8b3540271392cab8c08c4 100644 (file)
@@ -5,7 +5,8 @@
 >Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,11 +14,11 @@ REL="UP"
 TITLE="General installation"
 HREF="introduction.html"><LINK
 REL="PREVIOUS"
-TITLE="How to Install and Test SAMBA"
-HREF="install.html"><LINK
+TITLE="Improved browsing in samba"
+HREF="improved-browsing.html"><LINK
 REL="NEXT"
-TITLE="User information database"
-HREF="passdb.html"></HEAD
+TITLE="LanMan and NT Password Encryption in Samba"
+HREF="pwencrypt.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="install.html"
+HREF="improved-browsing.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="passdb.html"
+HREF="pwencrypt.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,33 +73,26 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="BROWSING-QUICK"
-></A
->Chapter 2. Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</H1
+NAME="BROWSING-QUICK">Chapter 3. 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
-><P
->Note: MS Windows 2000 and later can be configured to operate with NO NetBIOS 
-over TCP/IP. Samba-3 and later also supports this mode of operation.</P
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN130"
->2.1. Discussion</A
-></H1
+NAME="AEN377">3.1. Discussion</H1
 ><P
 >Firstly, all MS Windows networking is based on SMB (Server Message
-Block) based messaging. SMB messaging may be implemented using NetBIOS or 
-without 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
+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
@@ -112,23 +106,18 @@ 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 for an entire multi-segment network then
-the use of the "remote announce" and the "remote browse sync" parameters
-should NOT be necessary.</P
-><P
->As of Samba-3 WINS replication is being worked on. The bulk of the code has
-been committed, but it still needs maturation.</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
->Right now 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
+>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
@@ -140,76 +129,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN139"
->2.2. How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
-></H1
-><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"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN149"
->2.3. Use of the "Remote Announce" parameter</A
-></H1
+NAME="AEN385">3.2. Use of the "Remote Announce" parameter</H1
 ><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.
@@ -265,9 +185,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN163"
->2.4. Use of the "Remote Browse Sync" parameter</A
-></H1
+NAME="AEN399">3.3. Use of the "Remote Browse Sync" parameter</H1
 ><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
@@ -275,10 +193,9 @@ 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
+>      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
@@ -288,9 +205,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN168"
->2.5. Use of WINS</A
-></H1
+NAME="AEN404">3.4. Use of WINS</H1
 ><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
@@ -342,23 +257,20 @@ CLASS="emphasis"
 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.
-Specifying both will cause nmbd to refuse to start!</P
+> 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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN179"
->2.6. Do NOT use more than one (1) protocol on MS Windows machines</A
-></H1
+NAME="AEN415">3.5. Do NOT use more than one (1) protocol on MS Windows machines</H1
 ><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 takes part in a process of electing the LMB (and DMB)
+>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
@@ -374,19 +286,6 @@ interface over the IPX protocol. Samba will then lose the LMB role as Windows
 as an LMB and thus browse list operation on all TCP/IP only machines will
 fail.</P
 ><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Windows 95, 98, 98se, Me are referred to generically as Windows 9x.
-The Windows NT4, 2000, XP and 2003 use common protocols. These are roughly
-referred to as the WinNT family, but it should be recognised that 2000 and
-XP/2003 introduce new protocol extensions that cause them to behave 
-differently from MS Windows NT4. Generally, where a server does NOT support
-the newer or extended protocol, these will fall back to the NT4 protocols.</I
-></SPAN
-></P
-><P
 >The safest rule of all to follow it this - USE ONLY ONE PROTOCOL!</P
 ></DIV
 ><DIV
@@ -394,14 +293,12 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN187"
->2.7. Name Resolution Order</A
-></H1
+NAME="AEN421">3.6. Name Resolution Order</H1
 ><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
+are:
+<P
 ></P
 ><TABLE
 BORDER="0"
@@ -422,9 +319,10 @@ BORDER="0"
 ></TABLE
 ><P
 ></P
+></P
 ><P
->Alternative means of name resolution includes:</P
-><P
+>Alternative means of name resolution includes:
+<P
 ></P
 ><TABLE
 BORDER="0"
@@ -441,23 +339,24 @@ BORDER="0"
 ></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
+>      name resolve order = wins lmhosts bcast host</PRE
 >
 _or_
 <PRE
 CLASS="PROGRAMLISTING"
->name resolve order = wins lmhosts     (eliminates bcast and host)</PRE
+>      name resolve order = wins lmhosts       (eliminates bcast and host)</PRE
 >
 The default is:
 <PRE
 CLASS="PROGRAMLISTING"
->name  resolve order = host lmhost wins bcast</PRE
+>      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
@@ -489,7 +388,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="install.html"
+HREF="improved-browsing.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -507,7 +406,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="passdb.html"
+HREF="pwencrypt.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -517,7 +416,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->How to Install and Test SAMBA</TD
+>Improved browsing in samba</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -531,7 +430,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->User information database</TD
+>LanMan and NT Password Encryption in Samba</TD
 ></TR
 ></TABLE
 ></DIV
index 0711f00f800d297fd752e0dbf06d0cd2c8fc054f..fcc4b7e91a07d2eac20114348887f5211ce81069 100644 (file)
@@ -5,7 +5,8 @@
 >Reporting Bugs</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,10 +14,10 @@ REL="UP"
 TITLE="Appendixes"
 HREF="appendixes.html"><LINK
 REL="PREVIOUS"
-TITLE="How to compile SAMBA"
-HREF="compiling.html"><LINK
+TITLE="Samba and other CIFS clients"
+HREF="other-clients.html"><LINK
 REL="NEXT"
-TITLE="The samba checklist"
+TITLE="Diagnosing your samba server"
 HREF="diagnosis.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="compiling.html"
+HREF="other-clients.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="BUGREPORT"
-></A
->Chapter 27. Reporting Bugs</H1
+NAME="BUGREPORT">Chapter 25. Reporting Bugs</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3874"
->27.1. Introduction</A
-></H1
+NAME="AEN3309">25.1. Introduction</H1
 ><P
 >The email address for bug reports for stable releases is <A
 HREF="samba@samba.org"
@@ -125,9 +122,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3884"
->27.2. General info</A
-></H1
+NAME="AEN3319">25.2. General info</H1
 ><P
 >Before submitting a bug report check your config for silly
 errors. Look in your log files for obvious messages that tell you that
@@ -150,9 +145,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3890"
->27.3. Debug levels</A
-></H1
+NAME="AEN3325">25.3. Debug levels</H1
 ><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
@@ -220,9 +213,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3907"
->27.4. Internal errors</A
-></H1
+NAME="AEN3342">25.4. Internal errors</H1
 ><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
@@ -264,9 +255,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3917"
->27.5. Attaching to a running process</A
-></H1
+NAME="AEN3352">25.5. Attaching to a running process</H1
 ><P
 >Unfortunately some unixes (in particular some recent linux kernels)
 refuse to dump a core file if the task has changed uid (which smbd
@@ -281,9 +270,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3920"
->27.6. Patches</A
-></H1
+NAME="AEN3355">25.6. Patches</H1
 ><P
 >The best sort of bug report is one that includes a fix! If you send us
 patches please use <B
@@ -314,7 +301,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="compiling.html"
+HREF="other-clients.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -342,7 +329,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->How to compile SAMBA</TD
+>Samba and other CIFS clients</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -356,7 +343,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->The samba checklist</TD
+>Diagnosing your samba server</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/htmldocs/compiling.html b/docs/htmldocs/compiling.html
deleted file mode 100644 (file)
index f62bc54..0000000
+++ /dev/null
@@ -1,753 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->How to compile SAMBA</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="SAMBA Project Documentation"
-HREF="samba-howto-collection.html"><LINK
-REL="UP"
-TITLE="Appendixes"
-HREF="appendixes.html"><LINK
-REL="PREVIOUS"
-TITLE="Samba and other CIFS clients"
-HREF="other-clients.html"><LINK
-REL="NEXT"
-TITLE="Reporting Bugs"
-HREF="bugreport.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->SAMBA Project Documentation</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="other-clients.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="bugreport.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="COMPILING"
-></A
->Chapter 26. How to compile SAMBA</H1
-><P
->You can obtain the samba source from the <A
-HREF="http://samba.org/"
-TARGET="_top"
->samba website</A
->. To obtain a development version, 
-you can download samba from CVS or using rsync. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3706"
->26.1. Access Samba source code via CVS</A
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3708"
->26.1.1. Introduction</A
-></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 chapter 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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3713"
->26.1.2. CVS Access to samba.org</A
-></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="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3716"
->26.1.2.1. Access via CVSweb</A
-></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="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3721"
->26.1.2.2. Access via cvs</A
-></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 <KBD
-CLASS="USERINPUT"
->cvs</KBD
->.
-       </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 <VAR
-CLASS="PARAMETER"
->-r</VAR
->
-       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="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3749"
->26.2. Accessing the samba sources via rsync and ftp</A
-></H1
-><P
->      pserver.samba.org also exports unpacked copies of most parts of the CVS tree at <A
-HREF="ftp://pserver.samba.org/pub/unpacked"
-TARGET="_top"
->ftp://pserver.samba.org/pub/unpacked</A
-> and also via anonymous rsync at rsync://pserver.samba.org/ftp/unpacked/. I recommend using rsync rather than ftp.
-       See <A
-HREF="http://rsync.samba.org/"
-TARGET="_top"
->the rsync homepage</A
-> for more info on rsync.                       
-       </P
-><P
->      The disadvantage of the unpacked trees
-       is that they do not support automatic
-       merging of local changes like CVS does.
-       rsync access is most convenient for an 
-       initial install.                       
-       </P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3755"
->26.3. Building the Binaries</A
-></H1
-><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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->./configure --help
-       </KBD
-></P
-><P
->first to see what special options you can enable.
-       Then executing</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make</KBD
-></P
-><P
->will create the binaries. Once it's successfully 
-       compiled you can use </P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make install</KBD
-></P
-><P
->to install the binaries and manual pages. You can 
-       separately install the binaries and/or man pages using</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make installbin
-       </KBD
-></P
-><P
->and</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make installman
-       </KBD
-></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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->make revert
-       </KBD
-></P
-><P
->if you find this version a disaster!</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3783"
->26.3.1. Compiling samba with Active Directory support</A
-></H2
-><P
->In order to compile samba with ADS support, you need to have installed
-       on your system: 
-       <P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->the MIT kerberos development libraries (either install from the 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
-><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 <TT
-CLASS="FILENAME"
->include/config.h</TT
-> it generates 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
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3795"
->26.3.1.1. Installing the required packages for Debian</A
-></H3
-><P
->On Debian you need to install the following packages:</P
-><P
->      <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="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3802"
->26.3.1.2. Installing the required packages for RedHat</A
-></H3
-><P
->On RedHat this means you should have at least: </P
-><P
->      <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
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3812"
->26.4. Starting the smbd and nmbd</A
-></H1
-><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"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3822"
->26.4.1. Starting from inetd.conf</A
-></H2
-><P
->NOTE; The following will be different if 
-               you use NIS, NIS+ or LDAP to distribute 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
-><KBD
-CLASS="USERINPUT"
->netbios-ssn     139/tcp</KBD
-></P
-><P
->similarly for 137/udp you should have an entry like:</P
-><P
-><KBD
-CLASS="USERINPUT"
->netbios-ns    137/udp</KBD
-></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"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3851"
->26.4.2. Alternative: starting it as a daemon</A
-></H2
-><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
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="other-clients.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-howto-collection.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="bugreport.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Samba and other CIFS clients</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendixes.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Reporting Bugs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/docs/htmldocs/cvs-access.html b/docs/htmldocs/cvs-access.html
new file mode 100644 (file)
index 0000000..73cd333
--- /dev/null
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>HOWTO Access Samba source code via CVS</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
+REL="PREVIOUS"
+TITLE="Storing Samba's User/Machine Account information in an LDAP Directory"
+HREF="samba-ldap-howto.html"><LINK
+REL="NEXT"
+TITLE="Group mapping HOWTO"
+HREF="groupmapping.html"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="samba-ldap-howto.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="groupmapping.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="CVS-ACCESS">Chapter 20. HOWTO Access Samba source code via CVS</H1
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2964">20.1. Introduction</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2969">20.2. CVS Access to samba.org</H1
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2972">20.2.1. Access via CVSweb</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2977">20.2.2. Access via cvs</H2
+><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="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="samba-ldap-howto.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="groupmapping.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Storing Samba's User/Machine Account information in an LDAP Directory</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="optional.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Group mapping HOWTO</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index 070bc0562a57dbac8d56a3b816f95fa23b6454a7..a7b2e59436eb68e7398385becf5629951351ec43 100644 (file)
@@ -2,10 +2,11 @@
 <HTML
 ><HEAD
 ><TITLE
->The samba checklist</TITLE
+>Diagnosing your samba server</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -65,17 +66,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="DIAGNOSIS"
-></A
->Chapter 28. The samba checklist</H1
+NAME="DIAGNOSIS">Chapter 26. Diagnosing your samba server</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3943"
->28.1. Introduction</A
-></H1
+NAME="AEN3378">26.1. Introduction</H1
 ><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
@@ -95,9 +92,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3948"
->28.2. Assumptions</A
-></H1
+NAME="AEN3383">26.2. Assumptions</H1
 ><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
@@ -133,17 +128,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3958"
->28.3. Tests</A
-></H1
+NAME="AEN3393">26.3. Tests</H1
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3960"
->28.3.1. Test 1</A
-></H2
+NAME="AEN3395">26.3.1. Test 1</H2
 ><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
@@ -163,9 +154,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3966"
->28.3.2. Test 2</A
-></H2
+NAME="AEN3401">26.3.2. Test 2</H2
 ><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
@@ -189,9 +178,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3972"
->28.3.3. Test 3</A
-></H2
+NAME="AEN3407">26.3.3. Test 3</H2
 ><P
 >Run the command "smbclient -L BIGSERVER" on the unix box. You
 should get a list of available shares back. </P
@@ -260,9 +247,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3987"
->28.3.4. Test 4</A
-></H2
+NAME="AEN3422">26.3.4. Test 4</H2
 ><P
 >Run the command "nmblookup -B BIGSERVER __SAMBA__". You should get the
 IP address of your Samba server back.</P
@@ -281,9 +266,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3992"
->28.3.5. Test 5</A
-></H2
+NAME="AEN3427">26.3.5. Test 5</H2
 ><P
 >run the command <B
 CLASS="COMMAND"
@@ -302,9 +285,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3998"
->28.3.6. Test 6</A
-></H2
+NAME="AEN3433">26.3.6. Test 6</H2
 ><P
 >Run the command <B
 CLASS="COMMAND"
@@ -336,9 +317,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4006"
->28.3.7. Test 7</A
-></H2
+NAME="AEN3441">26.3.7. Test 7</H2
 ><P
 >Run the command <B
 CLASS="COMMAND"
@@ -346,7 +325,7 @@ CLASS="COMMAND"
 >. 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 &#62;accountname&#60; option to the end of
+another account then add the -U &gt;accountname&lt; option to the end of
 the command line.  eg: 
 <B
 CLASS="COMMAND"
@@ -412,7 +391,7 @@ CLASS="COMMAND"
 > etc. 
 Type <B
 CLASS="COMMAND"
->help &#62;command&#60;</B
+>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
@@ -425,9 +404,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4032"
->28.3.8. Test 8</A
-></H2
+NAME="AEN3467">26.3.8. Test 8</H2
 ><P
 >On the PC type the command <B
 CLASS="COMMAND"
@@ -485,9 +462,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4049"
->28.3.9. Test 9</A
-></H2
+NAME="AEN3484">26.3.9. Test 9</H2
 ><P
 >Run the command <B
 CLASS="COMMAND"
@@ -519,9 +494,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4057"
->28.3.10. Test 10</A
-></H2
+NAME="AEN3492">26.3.10. Test 10</H2
 ><P
 >Run the command <B
 CLASS="COMMAND"
@@ -545,9 +518,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN4063"
->28.3.11. Test 11</A
-></H2
+NAME="AEN3498">26.3.11. Test 11</H2
 ><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
@@ -573,9 +544,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN4068"
->28.4. Still having troubles?</A
-></H1
+NAME="AEN3503">26.4. Still having troubles?</H1
 ><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
index 7923247140c306fc2cb71834a8b85732694bd793..670d96ba5f5809f74620ed4843ea74f6e52e3087 100644 (file)
@@ -2,10 +2,11 @@
 <HTML
 ><HEAD
 ><TITLE
->Samba as a NT4 or Win2k domain member</TITLE
+>Samba as a NT4 domain member</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -16,7 +17,7 @@ REL="PREVIOUS"
 TITLE="Samba as a ADS domain member"
 HREF="ads.html"><LINK
 REL="NEXT"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
@@ -72,41 +73,137 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="DOMAIN-SECURITY"
-></A
->Chapter 9. Samba as a NT4 or Win2k domain member</H1
+NAME="DOMAIN-SECURITY">Chapter 9. Samba as a NT4 domain member</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1315"
->9.1. Joining an NT Domain with Samba 3.0</A
-></H1
+NAME="AEN1273">9.1. Joining an NT Domain with Samba 2.2</H1
 ><P
->Assume you have a Samba 3.0 server with a NetBIOS name of 
-       <CODE
+>Assume you have a Samba 2.x server with a NetBIOS name of 
+       <TT
 CLASS="CONSTANT"
->SERV1</CODE
-> and are joining an or Win2k NT domain called
-       <CODE
+>SERV1</TT
+> and are joining an NT domain called
+       <TT
 CLASS="CONSTANT"
->DOM</CODE
+>DOM</TT
 >, which has a PDC with a NetBIOS name
-       of <CODE
+       of <TT
 CLASS="CONSTANT"
->DOMPDC</CODE
+>DOMPDC</TT
 > and two backup domain controllers 
-       with NetBIOS names <CODE
+       with NetBIOS names <TT
 CLASS="CONSTANT"
->DOMBDC1</CODE
-> and <CODE
+>DOMBDC1</TT
+> and <TT
 CLASS="CONSTANT"
 >DOMBDC2
-       </CODE
+       </TT
 >.</P
 ><P
->Firstly, you must edit your <A
+>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
@@ -119,9 +216,11 @@ CLASS="FILENAME"
 >Change (or add) your <A
 HREF="smb.conf.5.html#SECURITY"
 TARGET="_top"
->      <VAR
+>      <TT
 CLASS="PARAMETER"
->security =</VAR
+><I
+>security =</I
+></TT
 ></A
 > line in the [global] section 
        of your smb.conf to read:</P
@@ -134,9 +233,11 @@ CLASS="COMMAND"
 >Next change the <A
 HREF="smb.conf.5.html#WORKGROUP"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->      workgroup =</VAR
+><I
+>      workgroup =</I
+></TT
 ></A
 > line in the [global] section to read: </P
 ><P
@@ -150,22 +251,26 @@ CLASS="COMMAND"
 >You must also have the parameter <A
 HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
 TARGET="_top"
->      <VAR
+>      <TT
 CLASS="PARAMETER"
->encrypt passwords</VAR
+><I
+>encrypt passwords</I
+></TT
 ></A
-> set to <CODE
+> set to <TT
 CLASS="CONSTANT"
 >yes
-       </CODE
+       </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"
->      <VAR
+>      <TT
 CLASS="PARAMETER"
->password server =</VAR
+><I
+>password server =</I
+></TT
 ></A
 > line in the [global]
        section to read: </P
@@ -190,89 +295,50 @@ CLASS="COMMAND"
 >password server = *</B
 ></P
 ><P
->This method, allows Samba to use exactly the same
-        mechanism that NT does. This 
+>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
->In order to actually join the domain, you must run this
-        command:</P
-><P
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><KBD
-CLASS="USERINPUT"
->net rpc join -S DOMPDC
-       -U<VAR
-CLASS="REPLACEABLE"
->Administrator%password</VAR
-></KBD
-></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 <VAR
-CLASS="REPLACEABLE"
->Administrator%password</VAR
-> 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
-><SAMP
-CLASS="COMPUTEROUTPUT"
->Joined domain DOM.</SAMP
->
-       or <SAMP
-CLASS="COMPUTEROUTPUT"
->Joined 'SERV1' to realm 'MYREALM'</SAMP
->
-       </P
-><P
->in your terminal window. See the <A
-HREF="net.8.html"
-TARGET="_top"
->      net(8)</A
-> man page for more details.</P
-><P
->This process joins the server to thedomain
-       without having to create the machine trust account on the PDC
-       beforehand.</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
+>Finally, restart your Samba daemons and get ready for 
+       clients to begin using domain security!</P
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1337">9.2. Samba and Windows 2000 Domains</H1
 ><P
-><TT
-CLASS="FILENAME"
->/usr/local/samba/private/secrets.tdb</TT
-></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
->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
+>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
->Finally, restart your Samba daemons and get ready for 
-       clients to begin using domain security!</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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1369"
->9.2. Why is this better than security = server?</A
-></H1
+NAME="AEN1342">9.3. Why is this better than security = server?</H1
 ><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 <CODE
+       to your server. This means that if domain user <TT
 CLASS="CONSTANT"
 >DOM\fred
-       </CODE
+       </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 
@@ -321,28 +387,20 @@ CLASS="COMMAND"
 >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. </P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+       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"
@@ -355,10 +413,6 @@ TARGET="_top"
 >Doing 
        the NIS/NT Samba</A
 >.</P
-></TD
-></TR
-></TABLE
-></DIV
 ></DIV
 ></DIV
 ><DIV
@@ -419,7 +473,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Advanced Configuration</TD
+>Optional configuration</TD
 ></TR
 ></TABLE
 ></DIV
index bc0aec55c0800ef60b986f4e8adef4ddc93ebd96..af7100ed6f8e72098b23db459593fe45dfb2ccf6 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >findsmb</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="FINDSMB.1"
-></A
->findsmb</H1
+NAME="FINDSMB">findsmb</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -30,15 +29,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >findsmb</B
->  [subnet broadcast address]</P
+> [subnet broadcast address]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,14 +45,11 @@ NAME="AEN12"
 ><H2
 >DESCRIPTION</H2
 ><P
->This perl script is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
->
-       suite.</P
+>This perl script is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
+> suite.</P
 ><P
 ><B
 CLASS="COMMAND"
@@ -63,27 +57,27 @@ CLASS="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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
->
-       and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->
-       to obtain this information.
+       It uses <A
+HREF="nmblookup.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      nmblookup(1)</B
+></A
+> and <A
+HREF="smbclient.1.html"
+TARGET="_top"
+>      <B
+CLASS="COMMAND"
+>smbclient(1)</B
+></A
+> to obtain this information.
        </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN26"
+NAME="AEN22"
 ></A
 ><H2
 >OPTIONS</H2
@@ -103,16 +97,17 @@ CLASS="COMMAND"
                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, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
+               If set, <A
+HREF="nmblookup.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmblookup</B
+></A
 >
-               will be called with <CODE
+               will be called with <TT
 CLASS="CONSTANT"
->-B</CODE
+>-B</TT
 > option.</P
 ></DD
 ><DT
@@ -124,24 +119,17 @@ CLASS="COMMAND"
 >findsmb
                </B
 > will probe the subnet of the machine where 
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->findsmb</SPAN
->(1)</SPAN
->
-               is run. This value is passed to 
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
->
-               as part of the <CODE
+               <B
+CLASS="COMMAND"
+>findsmb</B
+> is run. This value is passed 
+               to <B
+CLASS="COMMAND"
+>nmblookup</B
+> as part of the 
+               <TT
 CLASS="CONSTANT"
->-B</CODE
+>-B</TT
 > option.</P
 ></DD
 ></DL
@@ -150,7 +138,7 @@ CLASS="CONSTANT"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN50"
+NAME="AEN41"
 ></A
 ><H2
 >EXAMPLES</H2
@@ -174,27 +162,27 @@ CLASS="COMMAND"
        not show any information about the operating system or server 
        version.</P
 ><P
->The command with <CODE
+>The command with <TT
 CLASS="CONSTANT"
->-r</CODE
+>-r</TT
 > option
-       must be run on a system without <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->      running. 
-
+       must be run on a system without <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd</B
+></A
+> running. 
        If <B
 CLASS="COMMAND"
 >nmbd</B
 > 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 <CODE
+       the command must be run as root and with <TT
 CLASS="CONSTANT"
->-r</CODE
+>-r</TT
 >
        option on a machine without <B
 CLASS="COMMAND"
@@ -204,14 +192,22 @@ CLASS="COMMAND"
 >For example, running <B
 CLASS="COMMAND"
 >findsmb</B
-> 
-       without <CODE
+> without 
+       <TT
 CLASS="CONSTANT"
->-r</CODE
+>-r</TT
 > option set would yield output similar
        to the following</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
+><TT
+CLASS="COMPUTEROUTPUT"
 >IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION 
 --------------------------------------------------------------------- 
 192.168.35.10   MINESET-TEST1  [DMVENGR]
@@ -223,12 +219,17 @@ CLASS="SCREEN"
 192.168.35.78   HERBDHCP1     +[HERB]
 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]</PRE
+192.168.35.97   HERBNT1       *[HERB-NT] [Windows NT 4.0] [NT LAN Manager 4.0]
+       </TT
+></PRE
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN68"
+NAME="AEN59"
 ></A
 ><H2
 >VERSION</H2
@@ -239,37 +240,41 @@ NAME="AEN68"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN71"
+NAME="AEN62"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->,
-       <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
+><A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
+>, 
+       <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)
+       </B
+></A
+>, and <A
+HREF="nmblookup.1.html"
+TARGET="_top"
+>      <B
+CLASS="COMMAND"
+>nmblookup(1)</B
+></A
 >
        </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN83"
+NAME="AEN71"
 ></A
 ><H2
 >AUTHOR</H2
@@ -281,14 +286,14 @@ NAME="AEN83"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
->ftp://ftp.icce.rug.nl/pub/unix/</A
->) 
-       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.</P
+>      ftp://ftp.icce.rug.nl/pub/unix/</A
+>) and updated for the Samba 2.0 
+       release by Jeremy Allison.  The conversion to DocBook for 
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index e82b9ea697356e4497af1efa33d10c151503123b..84cf521fc9487f97590d05140c64e09edec7c226 100644 (file)
@@ -5,20 +5,20 @@
 >Group mapping HOWTO</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="UNIX Permission Bits and Windows NT Access Control Lists"
-HREF="unix-permissions.html"><LINK
+TITLE="HOWTO Access Samba source code via CVS"
+HREF="cvs-access.html"><LINK
 REL="NEXT"
-TITLE="Configuring PAM for distributed but centrally 
-managed authentication"
-HREF="pam.html"></HEAD
+TITLE="Samba performance issues"
+HREF="speed.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -46,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="unix-permissions.html"
+HREF="cvs-access.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -60,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="pam.html"
+HREF="speed.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -73,9 +73,7 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="GROUPMAPPING"
-></A
->Chapter 12. Group mapping HOWTO</H1
+NAME="GROUPMAPPING">Chapter 21. Group mapping HOWTO</H1
 ><P
 > 
 Starting with Samba 3.0 alpha 2, a new group mapping function is available. The
@@ -186,7 +184,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="unix-permissions.html"
+HREF="cvs-access.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -204,7 +202,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="pam.html"
+HREF="speed.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -214,7 +212,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->UNIX Permission Bits and Windows NT Access Control Lists</TD
+>HOWTO Access Samba source code via CVS</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -228,8 +226,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Configuring PAM for distributed but centrally 
-managed authentication</TD
+>Samba performance issues</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/htmldocs/groupprofiles.html b/docs/htmldocs/groupprofiles.html
deleted file mode 100644 (file)
index 9c25717..0000000
+++ /dev/null
@@ -1,568 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Creating Group Prolicy Files</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="SAMBA Project Documentation"
-HREF="samba-howto-collection.html"><LINK
-REL="UP"
-TITLE="Optional configuration"
-HREF="optional.html"><LINK
-REL="PREVIOUS"
-TITLE="Samba performance issues"
-HREF="speed.html"><LINK
-REL="NEXT"
-TITLE="Securing Samba"
-HREF="securing-samba.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->SAMBA Project Documentation</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="speed.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="securing-samba.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="GROUPPROFILES"
-></A
->Chapter 21. Creating Group Prolicy Files</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3410"
->21.1. Windows '9x</A
-></H1
-><P
->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 
-<TT
-CLASS="FILENAME"
->tools/reskit/netadmin/poledit</TT
->.  You install this
-using the Add/Remove Programs facility and then click on the 'Have Disk'
-tab.</P
-><P
->Use the Group Policy Editor to create a policy file that specifies the
-location of user profiles and/or the <TT
-CLASS="FILENAME"
->My Documents</TT
-> etc.
-stuff. You then save these settings in a file called
-<TT
-CLASS="FILENAME"
->Config.POL</TT
-> 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
-Win9x/Me registry of the machine that is logging on.</P
-><P
->All of this is covered in the Win98 Resource Kit documentation.</P
-><P
->If you do not do it this way, then every so often Win9x/Me 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 Win9x/Me machine. Hence, you will
-occasionally notice things changing back to the original settings.</P
-><P
->The following all refers to Windows NT/200x profile migration - not to policies.
-We need a separate section on policies (NTConfig.Pol) for NT4/200x.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3420"
->21.2. Windows NT 4</A
-></H1
-><P
->Unfortunately, the Resource Kit info is Win NT4 or 200x specific.</P
-><P
->Here is a quick guide:</P
-><P
-></P
-><UL
-><LI
-><P
->On your NT4 Domain Controller, right click on 'My Computer', then
-select the tab labelled 'User Profiles'.</P
-></LI
-><LI
-><P
->Select a user profile you want to migrate and click on it.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="90%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->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.</P
-></TD
-></TR
-></TABLE
-></DIV
-></LI
-><LI
-><P
->Click the 'Copy To' button.</P
-></LI
-><LI
-><P
->In the box labelled 'Copy Profile to' add your new path, eg:
-<TT
-CLASS="FILENAME"
->c:\temp\foobar</TT
-></P
-></LI
-><LI
-><P
->Click on the button labelled 'Change' in the "Permitted to use" box.</P
-></LI
-><LI
-><P
->Click on the group 'Everyone' and then click OK. This closes the
-'chose user' box.</P
-></LI
-><LI
-><P
->Now click OK.</P
-></LI
-></UL
-><P
->Follow the above for every profile you need to migrate.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3443"
->21.2.1. Side bar Notes</A
-></H2
-><P
->You should obtain the SID of your NT4 domain. You can use smbpasswd to do
-this. Read the man page.</P
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3447"
->21.2.2. Mandatory profiles</A
-></H2
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3450"
->21.2.3. moveuser.exe</A
-></H2
-><P
->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.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3453"
->21.2.4. Get SID</A
-></H2
-><P
->You can identify the SID by using GetSID.exe from the Windows NT Server 4.0
-Resource Kit.</P
-><P
->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</P
-><P
->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.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3458"
->21.3. Windows 2000/XP</A
-></H1
-><P
->You must first convert the profile from a local profile to a domain
-profile on the MS Windows workstation as follows:</P
-><P
-></P
-><UL
-><LI
-><P
->Log on as the LOCAL workstation administrator.</P
-></LI
-><LI
-><P
->Right click on the 'My Computer' Icon, select 'Properties'</P
-></LI
-><LI
-><P
->Click on the 'User Profiles' tab</P
-></LI
-><LI
-><P
->Select the profile you wish to convert (click on it once)</P
-></LI
-><LI
-><P
->Click on the button 'Copy To'</P
-></LI
-><LI
-><P
->In the "Permitted to use" box, click on the 'Change' button.</P
-></LI
-><LI
-><P
->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.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="90%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->You will need to log on if a logon box opens up. Eg: In the connect
-as: MIDEARTH\root, password: mypassword.</P
-></TD
-></TR
-></TABLE
-></DIV
-></LI
-><LI
-><P
->To make the profile capable of being used by anyone select 'Everyone'</P
-></LI
-><LI
-><P
->Click OK. The Selection box will close.</P
-></LI
-><LI
-><P
->Now click on the 'Ok' button to create the profile in the path you
-nominated.</P
-></LI
-></UL
-><P
->Done. You now have a profile that can be editted using the samba-3.0.0
-profiles tool.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Under NT/2K the use of mandotory profiles forces the use of MS Exchange
-storage of mail data. That keeps desktop profiles usable.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
-></P
-><UL
-><LI
-><P
->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:</P
-><P
->"Computer Configuration\Administrative Templates\System\User
-Profiles\Do not check for user ownership of Roaming Profile Folders"</P
-><P
->...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.</P
-><P
->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):</P
-></LI
-><LI
-><P
->On the XP workstation log in with an Administrator account.</P
-></LI
-><LI
-><P
->Click: "Start", "Run"</P
-></LI
-><LI
-><P
->Type: "mmc"</P
-></LI
-><LI
-><P
->Click: "OK"</P
-></LI
-><LI
-><P
->A Microsoft Management Console should appear.</P
-></LI
-><LI
-><P
->Click: File, "Add/Remove Snap-in...", "Add"</P
-></LI
-><LI
-><P
->Double-Click: "Group Policy"</P
-></LI
-><LI
-><P
->Click: "Finish", "Close"</P
-></LI
-><LI
-><P
->Click: "OK"</P
-></LI
-><LI
-><P
->In the "Console Root" window:</P
-></LI
-><LI
-><P
->Expand: "Local Computer Policy", "Computer Configuration",</P
-></LI
-><LI
-><P
->"Administrative Templates", "System", "User Profiles"</P
-></LI
-><LI
-><P
->Double-Click: "Do not check for user ownership of Roaming Profile</P
-></LI
-><LI
-><P
->Folders"</P
-></LI
-><LI
-><P
->Select: "Enabled"</P
-></LI
-><LI
-><P
->Click: OK"</P
-></LI
-><LI
-><P
->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).</P
-></LI
-><LI
-><P
->Reboot</P
-></LI
-></UL
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="speed.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-howto-collection.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="securing-samba.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Samba performance issues</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="optional.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Securing Samba</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
index c6b70ddc0c345e3cd4b6743d9c96edbc5c2f9fe1..4e9d7f639ef55369b2b2f7919a70e0c69d8b6928 100644 (file)
@@ -5,19 +5,20 @@
 >Improved browsing in samba</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
-HREF="optional.html"><LINK
+TITLE="General installation"
+HREF="introduction.html"><LINK
 REL="PREVIOUS"
-TITLE="Integrating MS Windows networks with Samba"
-HREF="integrate-ms-networks.html"><LINK
+TITLE="How to Install and Test SAMBA"
+HREF="install.html"><LINK
 REL="NEXT"
-TITLE="Hosting a Microsoft Distributed File System tree on Samba"
-HREF="msdfs.html"></HEAD
+TITLE="Quick Cross Subnet Browsing / Cross Workgroup Browsing guide"
+HREF="browsing-quick.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="integrate-ms-networks.html"
+HREF="install.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="msdfs.html"
+HREF="browsing-quick.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="IMPROVED-BROWSING"
-></A
->Chapter 18. Improved browsing in samba</H1
+NAME="IMPROVED-BROWSING">Chapter 2. Improved browsing in samba</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3047"
->18.1. Overview of browsing</A
-></H1
+NAME="AEN229">2.1. Overview of browsing</H1
 ><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
@@ -93,13 +90,8 @@ list is heavily used by all SMB clients.  Configuration of SMB
 browsing has been problematic for some Samba users, hence this
 document.</P
 ><P
->MS Windows 2000 and later, as with Samba-3 and later, can be
-configured to not use NetBIOS over TCP/IP. When configured this way
-it is imperative that name resolution (using DNS/LDAP/ADS) be correctly
-configured and operative. Browsing will NOT work if name resolution
-from SMB machine names to IP addresses does not function correctly.</P
-><P
->Where NetBIOS over TCP/IP is enabled use of a WINS server is highly
+>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
@@ -109,14 +101,14 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3052"
->18.2. Browsing support in samba</A
-></H1
+NAME="AEN233">2.2. Browsing support in samba</H1
+><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 facilitates browsing.  The browsing is supported by nmbd
-and is also controlled by options in the smb.conf file (see smb.conf(5)).
-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.</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
@@ -131,12 +123,12 @@ 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.  MS Windows
-NT4, Server or Advanced Server 2000 or 2003 can be configured as
-your WINS server.  In a mixed NT/2000/2003 server and samba environment on
-a Wide Area Network, it is recommended that you use the Microsoft
-WINS server capabilities.  In a samba-only environment, it is
-recommended that you use one and only one Samba server as your WINS server.</P
+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
@@ -152,9 +144,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3060"
->18.3. Problem resolution</A
-></H1
+NAME="AEN242">2.3. Problem resolution</H1
 ><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
@@ -170,19 +160,6 @@ filemanager should display the list of available shares.</P
 connection that lists the shares is done as guest, and thus you must
 have a valid guest account.</P
 ><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MS Windows 2000 and upwards (as with Samba) can be configured to disallow
-anonymous (ie: Guest account) access to the IPC$ share. In that case, the
-MS Windows 2000/XP/2003 machine acting as an SMB/CIFS client will use the
-name of the currently logged in user to query the IPC$ share. MS Windows
-9X clients are not able to do this and thus will NOT be able to browse
-server resources.</I
-></SPAN
-></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
@@ -199,11 +176,9 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3069"
->18.4. Browsing across subnets</A
-></H1
+NAME="AEN249">2.4. Browsing across subnets</H1
 ><P
->Since the release of Samba 1.9.17(alpha1) Samba has been
+>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
@@ -230,14 +205,13 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3074"
->18.4.1. How does cross subnet browsing work ?</A
-></H2
+NAME="AEN254">2.4.1. How does cross subnet browsing work ?</H2
 ><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.
-Samba is capable of cross subnet browsing when configured correctly.</P
+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
@@ -318,7 +292,7 @@ machine is seen across any of the subnets.</P
 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&#62;1B&#60;.  This name was registerd by the Domain master
+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
@@ -441,9 +415,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3109"
->18.5. Setting up a WINS server</A
-></H1
+NAME="AEN289">2.5. Setting up a WINS server</H1
 ><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
@@ -455,9 +427,9 @@ CLASS="COMMAND"
 >              wins support = yes</B
 ></P
 ><P
->Versions of Samba prior to 1.9.17 had this parameter default to
+>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 a recent version, or at the very
+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
@@ -495,10 +467,10 @@ all smb.conf files :</P
 ><P
 ><B
 CLASS="COMMAND"
->wins server = &#62;name or IP address&#60;</B
+>wins server = &gt;name or IP address&lt;</B
 ></P
 ><P
->where &#62;name or IP address&#60; is either the DNS name of the WINS server
+>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
@@ -509,7 +481,7 @@ CLASS="COMMAND"
 >" option and the 
 "<B
 CLASS="COMMAND"
->wins server = &#60;name&#62;</B
+>wins server = &gt;name&lt;</B
 >" option then
 nmbd will fail to start.</P
 ><P
@@ -524,9 +496,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3128"
->18.6. Setting up Browsing in a WORKGROUP</A
-></H1
+NAME="AEN308">2.6. Setting up Browsing in a WORKGROUP</H1
 ><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
@@ -556,10 +526,10 @@ 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
+>        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
@@ -567,19 +537,18 @@ 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 MS Windows NT/2K/XP/2003  machine should be
-able to do this, as will Windows 9x 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
+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
+>        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,
@@ -598,10 +567,10 @@ 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
+>        domain master = no
+        local master = no
+        preferred master = no
+        os level = 0</PRE
 ></P
 ></DIV
 ><DIV
@@ -609,16 +578,14 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3146"
->18.7. Setting up Browsing in a DOMAIN</A
-></H1
+NAME="AEN326">2.7. Setting up Browsing in a DOMAIN</H1
 ><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&#60;1B&#62;) with WINS instead of the PDC.</P
+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
@@ -628,10 +595,10 @@ file :</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->domain master = no
-local master = yes
-preferred master = yes
-os level = 65</PRE
+>        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
@@ -660,9 +627,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3156"
->18.8. Forcing samba to be the master</A
-></H1
+NAME="AEN336">2.8. Forcing samba to be the master</H1
 ><P
 >Who becomes the "master browser" is determined by an election process
 using broadcasts.  Each election packet contains a number of parameters
@@ -675,8 +640,8 @@ 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 MS Windows
-NT/2K Server.  A MS Windows NT/2K Server domain controller uses level 32.</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
@@ -708,9 +673,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3165"
->18.9. Making samba the domain master</A
-></H1
+NAME="AEN345">2.9. Making samba the domain master</H1
 ><P
 >The domain master is responsible for collating the browse lists of
 multiple subnets so that browsing can occur between subnets.  You can
@@ -781,9 +744,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3183"
->18.10. Note about broadcast addresses</A
-></H1
+NAME="AEN363">2.10. Note about broadcast addresses</H1
 ><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
@@ -795,9 +756,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3186"
->18.11. Multiple interfaces</A
-></H1
+NAME="AEN366">2.11. Multiple interfaces</H1
 ><P
 >Samba now supports machines with multiple network interfaces.  If you
 have multiple interfaces then you will need to use the "interfaces"
@@ -820,7 +779,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="integrate-ms-networks.html"
+HREF="install.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -838,7 +797,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="msdfs.html"
+HREF="browsing-quick.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -848,13 +807,13 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Integrating MS Windows networks with Samba</TD
+>How to Install and Test SAMBA</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="optional.html"
+HREF="introduction.html"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -862,7 +821,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Hosting a Microsoft Distributed File System tree on Samba</TD
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TD
 ></TR
 ></TABLE
 ></DIV
index d596ba4fd9e7c65055d47d8d243e5f2ca616e29c..0ba79dbe26cb34db05da0361aae5d8645775f4ce 100644 (file)
@@ -5,7 +5,8 @@
 >How to Install and Test SAMBA</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -16,8 +17,8 @@ REL="PREVIOUS"
 TITLE="General installation"
 HREF="introduction.html"><LINK
 REL="NEXT"
-TITLE="Quick Cross Subnet Browsing / Cross Workgroup Browsing guide"
-HREF="browsing-quick.html"></HEAD
+TITLE="Improved browsing in samba"
+HREF="improved-browsing.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="browsing-quick.html"
+HREF="improved-browsing.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,59 +73,165 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="INSTALL"
-></A
->Chapter 1. How to Install and Test SAMBA</H1
+NAME="INSTALL">Chapter 1. How to Install and Test SAMBA</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN26"
->1.1. Obtaining and installing samba</A
-></H1
+NAME="AEN26">1.1. Read the man pages</H1
 ><P
->Binary packages of samba are included in almost any Linux or 
-       Unix distribution. There are also some packages available at 
-       <A
-HREF="http://samba.org/"
-TARGET="_top"
->the samba homepage</A
+>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
 >
-       </P
+       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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN36">1.2. Building the Binaries</H1
+><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
->If you need to compile samba from source, check the 
-       appropriate appendix chapter.</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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN31"
->1.2. Configuring samba</A
-></H1
+NAME="AEN64">1.3. The all important step</H1
 ><P
->Samba's configuration is stored in the smb.conf file, 
-       that usually resides in <TT
-CLASS="FILENAME"
->/etc/samba/smb.conf</TT
-> 
-       or <TT
-CLASS="FILENAME"
->/usr/local/samba/lib/smb.conf</TT
->. You can either 
-       edit this file yourself or do it using one of the many graphical 
-       tools that are available, such as the web-based interface swat, that 
-       is included with samba.</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="SECT2"
-><H2
-CLASS="SECT2"
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
 ><A
-NAME="AEN36"
->1.2.1. Editing the smb.conf file</A
-></H2
+NAME="AEN68">1.4. Create the smb configuration file.</H1
 ><P
 >There are sample configuration files in the examples 
        subdirectory in the distribution. I suggest you read them 
@@ -172,18 +279,17 @@ CLASS="FILENAME"
 ><P
 >For more information about security settings for the 
        [homes] share please refer to the document UNIX_SECURITY.txt.</P
+></DIV
 ><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
 ><A
-NAME="AEN50"
->1.2.1.1. Test your config file with 
+NAME="AEN82">1.5. Test your config file with 
        <B
 CLASS="COMMAND"
 >testparm</B
-></A
-></H3
+></H1
 ><P
 >It's important that you test the validity of your
        <TT
@@ -202,33 +308,199 @@ CLASS="FILENAME"
 >smb.conf</TT
 >!</P
 ></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN90">1.6. Starting the smbd and nmbd</H1
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN100">1.6.1. Starting from inetd.conf</H2
+><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"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN58"
->1.2.2. SWAT</A
-></H2
-><P
->      SWAT is a web-based interface that helps you configure samba. 
-       SWAT might not be available in the samba package on your platform, 
-       but in a seperate package. Please read the swat manpage 
-       on compiling, installing and configuring swat from source.
-       </P
-><P
->To launch SWAT just run your favorite web browser and 
-       point it at "http://localhost:901/". Replace <VAR
-CLASS="REPLACEABLE"
->localhost</VAR
-> with the name of the computer you are running samba on if you 
-       are running samba on a different computer then your browser.</P
-><P
->Note that you can attach to SWAT from any IP connected 
-       machine but connecting from a remote machine leaves your 
-       connection open to password sniffing as passwords will be sent 
-       in the clear over the wire. </P
+NAME="AEN129">1.6.2. Alternative: starting it as a daemon</H2
+><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
@@ -236,21 +508,23 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN64"
->1.3. Try listing the shares available on your 
-       server</A
-></H1
+NAME="AEN145">1.7. Try listing the shares available on your 
+       server</H1
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$ </SAMP
-><KBD
+>$ </TT
+><TT
 CLASS="USERINPUT"
+><B
 >smbclient -L 
-       <VAR
+       <TT
 CLASS="REPLACEABLE"
->yourhostname</VAR
-></KBD
+><I
+>yourhostname</I
+></TT
+></B
+></TT
 ></P
 ><P
 >You should get back a list of shares available on 
@@ -273,31 +547,37 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN73"
->1.4. Try connecting with the unix client</A
-></H1
+NAME="AEN154">1.8. Try connecting with the unix client</H1
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$ </SAMP
-><KBD
+>$ </TT
+><TT
 CLASS="USERINPUT"
->smbclient <VAR
+><B
+>smbclient <TT
 CLASS="REPLACEABLE"
->      //yourhostname/aservice</VAR
-></KBD
+><I
+>      //yourhostname/aservice</I
+></TT
+></B
+></TT
 ></P
 ><P
->Typically the <VAR
+>Typically the <TT
 CLASS="REPLACEABLE"
->yourhostname</VAR
+><I
+>yourhostname</I
+></TT
 > 
        would be the name of the host where you installed <B
 CLASS="COMMAND"
 >      smbd</B
->. The <VAR
+>. The <TT
 CLASS="REPLACEABLE"
->aservice</VAR
+><I
+>aservice</I
+></TT
 > is 
        any service you have defined in the <TT
 CLASS="FILENAME"
@@ -312,13 +592,15 @@ CLASS="FILENAME"
 >For example if your unix host is bambi and your login 
        name is fred you would type:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->$ </SAMP
-><KBD
+>$ </TT
+><TT
 CLASS="USERINPUT"
+><B
 >smbclient //bambi/fred
-       </KBD
+       </B
+></TT
 ></P
 ></DIV
 ><DIV
@@ -326,40 +608,44 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN89"
->1.5. Try connecting from a DOS, WfWg, Win9x, WinNT, 
-       Win2k, OS/2, etc... client</A
-></H1
+NAME="AEN170">1.9. Try connecting from a DOS, WfWg, Win9x, WinNT, 
+       Win2k, OS/2, etc... client</H1
 ><P
 >Try mounting disks. eg:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
+>C:\WINDOWS\&#62; </TT
+><TT
 CLASS="USERINPUT"
+><B
 >net use d: \\servername\service
-       </KBD
+       </B
+></TT
 ></P
 ><P
 >Try printing. eg:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
+>C:\WINDOWS\&#62; </TT
+><TT
 CLASS="USERINPUT"
+><B
 >net use lpt1:
-       \\servername\spoolservice</KBD
+       \\servername\spoolservice</B
+></TT
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->C:\WINDOWS\&#62; </SAMP
-><KBD
+>C:\WINDOWS\&#62; </TT
+><TT
 CLASS="USERINPUT"
+><B
 >print filename
-       </KBD
+       </B
+></TT
 ></P
 ><P
 >Celebrate, or send me a bug report!</P
@@ -369,41 +655,49 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN103"
->1.6. What If Things Don't Work?</A
-></H1
+NAME="AEN184">1.10. What If Things Don't Work?</H1
+><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 HOWTO chapter Diagnosis and the 
+>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 <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->please</I
-></SPAN
-> send some 
-       updates of the documentation (or source code) to one of 
-       the documentation maintainers or the list.
-       </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"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN108"
->1.6.1. Scope IDs</A
-></H2
+NAME="AEN189">1.10.1. Diagnosing Problems</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN193">1.10.2. Scope IDs</H2
 ><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 
+                All your PCs will need to have the same setting for 
                this to work. I do not recommend scope IDs.</P
 ></DIV
 ><DIV
@@ -411,9 +705,65 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN111"
->1.6.2. Locking</A
-></H2
+NAME="AEN196">1.10.3. Choosing the Protocol Level</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN205">1.10.4. Printing from UNIX to a Client PC</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN210">1.10.5. Locking</H2
 ><P
 >One area which sometimes causes trouble is locking.</P
 ><P
@@ -466,6 +816,17 @@ NAME="AEN111"
                or DENY_ALL. There are also special compatibility modes called 
                DENY_FCB and  DENY_DOS.</P
 ></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN219">1.10.6. Mapping Usernames</H2
+><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
@@ -502,7 +863,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="browsing-quick.html"
+HREF="improved-browsing.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -526,7 +887,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TD
+>Improved browsing in samba</TD
 ></TR
 ></TABLE
 ></DIV
index 433fb5b50d3fd0369d35bb908ef18fc2d29b7f0d..ad6aa9e225d33febfc50e625d17eaf1966fff8d3 100644 (file)
@@ -5,19 +5,20 @@
 >Integrating MS Windows networks with Samba</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Unified Logons between Windows NT and UNIX using Winbind"
-HREF="winbind.html"><LINK
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
 REL="NEXT"
-TITLE="Improved browsing in samba"
-HREF="improved-browsing.html"></HEAD
+TITLE="UNIX Permission Bits and Windows NT Access Control Lists"
+HREF="unix-permissions.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="winbind.html"
+HREF="optional.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="improved-browsing.html"
+HREF="unix-permissions.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,92 +73,78 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="INTEGRATE-MS-NETWORKS"
-></A
->Chapter 17. Integrating MS Windows networks with Samba</H1
-><P
->This section deals with NetBIOS over TCP/IP name to IP address resolution. If you
-your MS Windows clients are NOT configured to use NetBIOS over TCP/IP then this
-section does not apply to your installation. If your installation involves use of
-NetBIOS over TCP/IP then this section may help you to resolve networking problems.</P
+NAME="INTEGRATE-MS-NETWORKS">Chapter 10. Integrating MS Windows networks with Samba</H1
 ><DIV
-CLASS="NOTE"
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1374">10.1. Agenda</H1
+><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
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="1"
+><LI
 ><P
->      NetBIOS over TCP/IP has nothing to do with NetBEUI. NetBEUI is NetBIOS
-       over Logical Link Control (LLC). On modern networks it is highly advised
-       to NOT run NetBEUI at all. Note also that there is NO such thing as
-       NetBEUI over TCP/IP - the existence of such a protocol is a complete
-       and utter mis-apprehension.</P
-></TD
-></TR
-></TABLE
-></DIV
+>Name resolution in a pure Unix/Linux TCP/IP 
+       environment
+       </P
+></LI
+><LI
 ><P
->Since the introduction of MS Windows 2000 it is possible to run MS Windows networking
-without the use of NetBIOS over TCP/IP. NetBIOS over TCP/IP uses UDP port 137 for NetBIOS
-name resolution and uses TCP port 139 for NetBIOS session services. When NetBIOS over
-TCP/IP is disabled on MS Windows 2000 and later clients then only TCP port 445 will be
-used and UDP port 137 and TCP port 139 will not.</P
-><DIV
-CLASS="NOTE"
+>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
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="a"
+><LI
 ><P
->When using Windows 2000 or later clients, if NetBIOS over TCP/IP is NOT disabled, then
-the client will use UDP port 137 (NetBIOS Name Service, also known as the Windows Internet
-Name Service or WINS), TCP port 139 AND TCP port 445 (for actual file and print traffic).</P
-></TD
-></TR
-></TABLE
-></DIV
+>A stand-alone server</P
+></LI
+><LI
+><P
+>An MS Windows NT 3.x/4.0 security domain member
+               </P
+></LI
+><LI
 ><P
->When NetBIOS over TCP/IP is disabled the use of DNS is essential. Most installations that
-disable NetBIOS over TCP/IP today use MS Active Directory Service (ADS). ADS requires
-Dynamic DNS with Service Resource Records (SRV RR) and with Incremental Zone Transfers (IXFR).
-Use of DHCP with ADS is recommended as a further means of maintaining central control
-over client workstation network configuration.</P
+>An alternative to an MS Windows NT 3.x/4.0 Domain Controller
+               </P
+></LI
+></OL
+></LI
+></OL
+></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2932"
->17.1. Name Resolution in a pure Unix/Linux world</A
-></H1
+NAME="AEN1396">10.2. Name Resolution in a pure Unix/Linux world</H1
 ><P
 >The key configuration files covered in this section are:</P
 ><P
@@ -197,11 +184,9 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2948"
->17.1.1. <TT
+NAME="AEN1412">10.2.1. <TT
 CLASS="FILENAME"
 >/etc/hosts</TT
-></A
 ></H2
 ><P
 >Contains a static list of IP Addresses and names.
@@ -278,11 +263,9 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2964"
->17.1.2. <TT
+NAME="AEN1428">10.2.2. <TT
 CLASS="FILENAME"
 >/etc/resolv.conf</TT
-></A
 ></H2
 ><P
 >This file tells the name resolution libraries:</P
@@ -316,11 +299,9 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2975"
->17.1.3. <TT
+NAME="AEN1439">10.2.3. <TT
 CLASS="FILENAME"
 >/etc/host.conf</TT
-></A
 ></H2
 ><P
 ><TT
@@ -345,11 +326,9 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2983"
->17.1.4. <TT
+NAME="AEN1447">10.2.4. <TT
 CLASS="FILENAME"
 >/etc/nsswitch.conf</TT
-></A
 ></H2
 ><P
 >This file controls the actual name resolution targets. The 
@@ -414,9 +393,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2995"
->17.2. Name resolution as used within MS Windows networking</A
-></H1
+NAME="AEN1459">10.3. Name resolution as used within MS Windows networking</H1
 ><P
 >MS Windows networking is predicated about the name each machine 
 is given. This name is known variously (and inconsistently) as 
@@ -499,9 +476,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3007"
->17.2.1. The NetBIOS Name Cache</A
-></H2
+NAME="AEN1471">10.3.1. The NetBIOS Name Cache</H2
 ><P
 >All MS Windows machines employ an in memory buffer in which is 
 stored the NetBIOS names and IP addresses for all external 
@@ -526,9 +501,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3012"
->17.2.2. The LMHOSTS file</A
-></H2
+NAME="AEN1476">10.3.2. The LMHOSTS file</H2
 ><P
 >This file is usually located in MS Windows NT 4.0 or 
 2000 in <TT
@@ -563,8 +536,8 @@ CLASS="PROGRAMLISTING"
        # files and offers the following extensions:
        #
        #      #PRE
-       #      #DOM:&#60;domain&#62;
-       #      #INCLUDE &#60;filename&#62;
+       #      #DOM:&lt;domain&gt;
+       #      #INCLUDE &lt;filename&gt;
        #      #BEGIN_ALTERNATE
        #      #END_ALTERNATE
        #      \0xnn (non-printing character support)
@@ -573,16 +546,16 @@ CLASS="PROGRAMLISTING"
        # 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:&#60;domain&#62;" tag will associate the
-       # entry with the domain specified by &#60;domain&#62;. This affects how the
+       # 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 &#60;domain&#62; is always preloaded although it will not
+       # #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 &#60;filename&#62;" will force the RFC NetBIOS (NBT)
-       # software to seek the specified &#60;filename&#62; and parse it as if it were
-       # local. &#60;filename&#62; is generally a UNC-based name, allowing a
+       # 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.
@@ -629,9 +602,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3020"
->17.2.3. HOSTS file</A
-></H2
+NAME="AEN1484">10.3.3. HOSTS file</H2
 ><P
 >This file is usually located in MS Windows NT 4.0 or 2000 in 
 <TT
@@ -651,9 +622,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3025"
->17.2.4. DNS Lookup</A
-></H2
+NAME="AEN1489">10.3.4. DNS Lookup</H2
 ><P
 >This capability is configured in the TCP/IP setup area in the network 
 configuration facility. If enabled an elaborate name resolution sequence 
@@ -671,9 +640,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3028"
->17.2.5. WINS Lookup</A
-></H2
+NAME="AEN1492">10.3.5. WINS Lookup</H2
 ><P
 >A WINS (Windows Internet Name Server) service is the equivaent of the 
 rfc1001/1002 specified NBNS (NetBIOS Name Server). A WINS server stores 
@@ -700,13 +667,419 @@ CLASS="PROGRAMLISTING"
        wins server = xxx.xxx.xxx.xxx</PRE
 ></P
 ><P
->where <VAR
+>where <TT
 CLASS="REPLACEABLE"
->xxx.xxx.xxx.xxx</VAR
+><I
+>xxx.xxx.xxx.xxx</I
+></TT
 > is the IP address 
 of the WINS server.</P
 ></DIV
 ></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1504">10.4. How browsing functions and how to deploy stable and 
+dependable browsing using Samba</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1514">10.5. MS Windows security options and how to configure 
+Samba for seemless integration</H1
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1542">10.5.1. Use MS Windows NT as an authentication server</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1550">10.5.2. Make Samba a member of an MS Windows NT security domain</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN1567">10.5.3. Configure Samba as an authentication server</H2
+><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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1574">10.5.3.1. Users</H3
+><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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1579">10.5.3.2. MS Windows NT Machine Accounts</H3
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1584">10.6. Conclusions</H1
+><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="NAVFOOTER"
@@ -724,7 +1097,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="winbind.html"
+HREF="optional.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -742,7 +1115,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="improved-browsing.html"
+HREF="unix-permissions.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -752,7 +1125,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Unified Logons between Windows NT and UNIX using Winbind</TD
+>Optional configuration</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -766,7 +1139,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Improved browsing in samba</TD
+>UNIX Permission Bits and Windows NT Access Control Lists</TD
 ></TR
 ></TABLE
 ></DIV
index 6c5e6df9ee10735ca9ff28dff3f967311c2ba062..762d56ba6aaab524c062bd1e6547d861e9ca0755 100644 (file)
@@ -5,7 +5,8 @@
 >General installation</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -68,9 +69,7 @@ WIDTH="100%"></DIV
 ><DIV
 CLASS="PART"
 ><A
-NAME="INTRODUCTION"
-></A
-><DIV
+NAME="INTRODUCTION"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
@@ -78,9 +77,7 @@ CLASS="TITLE"
 ><DIV
 CLASS="PARTINTRO"
 ><A
-NAME="AEN21"
-></A
-><H1
+NAME="AEN21"><H1
 >Introduction</H1
 ><P
 >This part contains general info on how to install samba 
@@ -104,263 +101,257 @@ HREF="install.html"
 ><DT
 >1.1. <A
 HREF="install.html#AEN26"
->Obtaining and installing samba</A
+>Read the man pages</A
 ></DT
 ><DT
 >1.2. <A
-HREF="install.html#AEN31"
->Configuring samba</A
+HREF="install.html#AEN36"
+>Building the Binaries</A
+></DT
+><DT
+>1.3. <A
+HREF="install.html#AEN64"
+>The all important step</A
+></DT
+><DT
+>1.4. <A
+HREF="install.html#AEN68"
+>Create the smb configuration file.</A
+></DT
+><DT
+>1.5. <A
+HREF="install.html#AEN82"
+>Test your config file with 
+       <B
+CLASS="COMMAND"
+>testparm</B
+></A
+></DT
+><DT
+>1.6. <A
+HREF="install.html#AEN90"
+>Starting the smbd and nmbd</A
 ></DT
 ><DD
 ><DL
 ><DT
->1.2.1. <A
-HREF="install.html#AEN36"
->Editing the smb.conf file</A
+>1.6.1. <A
+HREF="install.html#AEN100"
+>Starting from inetd.conf</A
 ></DT
 ><DT
->1.2.2. <A
-HREF="install.html#AEN58"
->SWAT</A
+>1.6.2. <A
+HREF="install.html#AEN129"
+>Alternative: starting it as a daemon</A
 ></DT
 ></DL
 ></DD
 ><DT
->1.3. <A
-HREF="install.html#AEN64"
+>1.7. <A
+HREF="install.html#AEN145"
 >Try listing the shares available on your 
        server</A
 ></DT
 ><DT
->1.4. <A
-HREF="install.html#AEN73"
+>1.8. <A
+HREF="install.html#AEN154"
 >Try connecting with the unix client</A
 ></DT
 ><DT
->1.5. <A
-HREF="install.html#AEN89"
+>1.9. <A
+HREF="install.html#AEN170"
 >Try connecting from a DOS, WfWg, Win9x, WinNT, 
        Win2k, OS/2, etc... client</A
 ></DT
 ><DT
->1.6. <A
-HREF="install.html#AEN103"
+>1.10. <A
+HREF="install.html#AEN184"
 >What If Things Don't Work?</A
 ></DT
 ><DD
 ><DL
 ><DT
->1.6.1. <A
-HREF="install.html#AEN108"
+>1.10.1. <A
+HREF="install.html#AEN189"
+>Diagnosing Problems</A
+></DT
+><DT
+>1.10.2. <A
+HREF="install.html#AEN193"
 >Scope IDs</A
 ></DT
 ><DT
->1.6.2. <A
-HREF="install.html#AEN111"
+>1.10.3. <A
+HREF="install.html#AEN196"
+>Choosing the Protocol Level</A
+></DT
+><DT
+>1.10.4. <A
+HREF="install.html#AEN205"
+>Printing from UNIX to a Client PC</A
+></DT
+><DT
+>1.10.5. <A
+HREF="install.html#AEN210"
 >Locking</A
 ></DT
+><DT
+>1.10.6. <A
+HREF="install.html#AEN219"
+>Mapping Usernames</A
+></DT
 ></DL
 ></DD
 ></DL
 ></DD
 ><DT
 >2. <A
-HREF="browsing-quick.html"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
+HREF="improved-browsing.html"
+>Improved browsing in samba</A
 ></DT
 ><DD
 ><DL
 ><DT
 >2.1. <A
-HREF="browsing-quick.html#AEN130"
->Discussion</A
+HREF="improved-browsing.html#AEN229"
+>Overview of browsing</A
 ></DT
 ><DT
 >2.2. <A
-HREF="browsing-quick.html#AEN139"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
+HREF="improved-browsing.html#AEN233"
+>Browsing support in samba</A
 ></DT
 ><DT
 >2.3. <A
-HREF="browsing-quick.html#AEN149"
->Use of the "Remote Announce" parameter</A
+HREF="improved-browsing.html#AEN242"
+>Problem resolution</A
 ></DT
 ><DT
 >2.4. <A
-HREF="browsing-quick.html#AEN163"
->Use of the "Remote Browse Sync" parameter</A
+HREF="improved-browsing.html#AEN249"
+>Browsing across subnets</A
 ></DT
+><DD
+><DL
+><DT
+>2.4.1. <A
+HREF="improved-browsing.html#AEN254"
+>How does cross subnet browsing work ?</A
+></DT
+></DL
+></DD
 ><DT
 >2.5. <A
-HREF="browsing-quick.html#AEN168"
->Use of WINS</A
+HREF="improved-browsing.html#AEN289"
+>Setting up a WINS server</A
 ></DT
 ><DT
 >2.6. <A
-HREF="browsing-quick.html#AEN179"
->Do NOT use more than one (1) protocol on MS Windows machines</A
+HREF="improved-browsing.html#AEN308"
+>Setting up Browsing in a WORKGROUP</A
 ></DT
 ><DT
 >2.7. <A
-HREF="browsing-quick.html#AEN187"
->Name Resolution Order</A
+HREF="improved-browsing.html#AEN326"
+>Setting up Browsing in a DOMAIN</A
 ></DT
-></DL
-></DD
 ><DT
->3. <A
-HREF="passdb.html"
->User information database</A
+>2.8. <A
+HREF="improved-browsing.html#AEN336"
+>Forcing samba to be the master</A
 ></DT
-><DD
-><DL
 ><DT
->3.1. <A
-HREF="passdb.html#AEN244"
->Introduction</A
+>2.9. <A
+HREF="improved-browsing.html#AEN345"
+>Making samba the domain master</A
 ></DT
 ><DT
->3.2. <A
-HREF="passdb.html#AEN251"
->Important Notes About Security</A
-></DT
-><DD
-><DL
-><DT
->3.2.1. <A
-HREF="passdb.html#AEN277"
->Advantages of SMB Encryption</A
+>2.10. <A
+HREF="improved-browsing.html#AEN363"
+>Note about broadcast addresses</A
 ></DT
 ><DT
->3.2.2. <A
-HREF="passdb.html#AEN283"
->Advantages of non-encrypted passwords</A
+>2.11. <A
+HREF="improved-browsing.html#AEN366"
+>Multiple interfaces</A
 ></DT
 ></DL
 ></DD
 ><DT
->3.3. <A
-HREF="passdb.html#AEN289"
->The smbpasswd Command</A
-></DT
-><DT
->3.4. <A
-HREF="passdb.html#AEN320"
->Plain text</A
-></DT
-><DT
->3.5. <A
-HREF="passdb.html#AEN325"
->TDB</A
-></DT
-><DT
->3.6. <A
-HREF="passdb.html#AEN328"
->LDAP</A
+>3. <A
+HREF="browsing-quick.html"
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
 ></DT
 ><DD
 ><DL
 ><DT
->3.6.1. <A
-HREF="passdb.html#AEN330"
->Introduction</A
-></DT
-><DT
->3.6.2. <A
-HREF="passdb.html#AEN350"
->Introduction</A
-></DT
-><DT
->3.6.3. <A
-HREF="passdb.html#AEN379"
->Supported LDAP Servers</A
-></DT
-><DT
->3.6.4. <A
-HREF="passdb.html#AEN384"
->Schema and Relationship to the RFC 2307 posixAccount</A
+>3.1. <A
+HREF="browsing-quick.html#AEN377"
+>Discussion</A
 ></DT
 ><DT
->3.6.5. <A
-HREF="passdb.html#AEN396"
->Configuring Samba with LDAP</A
+>3.2. <A
+HREF="browsing-quick.html#AEN385"
+>Use of the "Remote Announce" parameter</A
 ></DT
 ><DT
->3.6.6. <A
-HREF="passdb.html#AEN443"
->Accounts and Groups management</A
+>3.3. <A
+HREF="browsing-quick.html#AEN399"
+>Use of the "Remote Browse Sync" parameter</A
 ></DT
 ><DT
->3.6.7. <A
-HREF="passdb.html#AEN448"
->Security and sambaAccount</A
+>3.4. <A
+HREF="browsing-quick.html#AEN404"
+>Use of WINS</A
 ></DT
 ><DT
->3.6.8. <A
-HREF="passdb.html#AEN468"
->LDAP specials attributes for sambaAccounts</A
+>3.5. <A
+HREF="browsing-quick.html#AEN415"
+>Do NOT use more than one (1) protocol on MS Windows machines</A
 ></DT
 ><DT
->3.6.9. <A
-HREF="passdb.html#AEN538"
->Example LDIF Entries for a sambaAccount</A
+>3.6. <A
+HREF="browsing-quick.html#AEN421"
+>Name Resolution Order</A
 ></DT
 ></DL
 ></DD
 ><DT
->3.7. <A
-HREF="passdb.html#AEN546"
->MySQL</A
+>4. <A
+HREF="pwencrypt.html"
+>LanMan and NT Password Encryption in Samba</A
 ></DT
 ><DD
 ><DL
 ><DT
->3.7.1. <A
-HREF="passdb.html#AEN548"
->Building</A
-></DT
-><DT
->3.7.2. <A
-HREF="passdb.html#AEN554"
->Creating the database</A
-></DT
-><DT
->3.7.3. <A
-HREF="passdb.html#AEN564"
->Configuring</A
-></DT
-><DT
->3.7.4. <A
-HREF="passdb.html#AEN581"
->Using plaintext passwords or encrypted password</A
-></DT
-><DT
->3.7.5. <A
-HREF="passdb.html#AEN586"
->Getting non-column data from the table</A
+>4.1. <A
+HREF="pwencrypt.html#AEN457"
+>Introduction</A
 ></DT
-></DL
-></DD
 ><DT
->3.8. <A
-HREF="passdb.html#AEN594"
->Passdb XML plugin</A
+>4.2. <A
+HREF="pwencrypt.html#AEN462"
+>Important Notes About Security</A
 ></DT
 ><DD
 ><DL
 ><DT
->3.8.1. <A
-HREF="passdb.html#AEN596"
->Building</A
+>4.2.1. <A
+HREF="pwencrypt.html#AEN481"
+>Advantages of SMB Encryption</A
 ></DT
 ><DT
->3.8.2. <A
-HREF="passdb.html#AEN602"
->Usage</A
+>4.2.2. <A
+HREF="pwencrypt.html#AEN488"
+>Advantages of non-encrypted passwords</A
 ></DT
 ></DL
 ></DD
+><DT
+>4.3. <A
+HREF="pwencrypt.html#AEN497"
+>The smbpasswd Command</A
+></DT
 ></DL
 ></DD
 ></DL
index 375fe5618d6db8b44a35790c6049bcd8d85603aa..4d7f11e64b00f40a2535205740775c13525dd1d0 100644 (file)
@@ -5,7 +5,7 @@
 >lmhosts</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="LMHOSTS.5"
+NAME="LMHOSTS"
 ></A
 >lmhosts</H1
 ><DIV
@@ -37,28 +37,24 @@ NAME="AEN8"
 ><TT
 CLASS="FILENAME"
 >lmhosts</TT
-> is the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+> is the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > NetBIOS name to IP address mapping file.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN14"
+NAME="AEN12"
 ></A
 ><H2
 >DESCRIPTION</H2
 ><P
->This file is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This file is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><TT
@@ -82,7 +78,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN24"
+NAME="AEN20"
 ></A
 ><H2
 >FILE FORMAT</H2
@@ -90,7 +86,7 @@ NAME="AEN24"
 >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:</P
+       in the lmhosts file contains the following information :</P
 ><P
 ></P
 ><UL
@@ -111,7 +107,8 @@ NAME="AEN24"
 ></LI
 ></UL
 ><P
->An example follows:</P
+>An example follows :</P
+><P
 ><PRE
 CLASS="PROGRAMLISTING"
 >#
@@ -121,6 +118,7 @@ CLASS="PROGRAMLISTING"
 192.9.200.20   NTSERVER#20
 192.9.200.21   SAMBASERVER
        </PRE
+></P
 ><P
 >Contains three IP to NetBIOS name mappings. The first 
        and third will be returned for any queries for the names "TESTPC" 
@@ -135,57 +133,58 @@ CLASS="PROGRAMLISTING"
 CLASS="FILENAME"
 >lmhosts</TT
 > file 
-       is in the same directory as the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+       is in the same directory as the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>              
+       smb.conf(5)&#62;</A
 > file.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN42"
+NAME="AEN37"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 3.0 of the Samba suite.</P
+>This man page is correct for version 2.2 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN45"
+NAME="AEN40"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->, and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
+><A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)
+       </B
+></A
+>, <A
+HREF="smb.conf.5.html#NAMERESOLVEORDER"
+TARGET="_top"
+>      smb.conf(5)</A
+>, and <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      smbpasswd(8)</B
+></A
 >
        </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN57"
+NAME="AEN48"
 ></A
 ><H2
 >AUTHOR</H2
@@ -204,8 +203,7 @@ TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 0df9a814d40656842e4fdf2c87f6b979e166a323..f6fe1c7e1d444b7442a8725b276323bc1cb5916b 100644 (file)
@@ -5,19 +5,21 @@
 >Hosting a Microsoft Distributed File System tree on Samba</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Improved browsing in samba"
-HREF="improved-browsing.html"><LINK
+TITLE="Configuring PAM for distributed but centrally 
+managed authentication"
+HREF="pam.html"><LINK
 REL="NEXT"
-TITLE="Stackable VFS modules"
-HREF="vfs.html"></HEAD
+TITLE="Printing Support"
+HREF="printing.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +47,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="improved-browsing.html"
+HREF="pam.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +61,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="vfs.html"
+HREF="printing.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,17 +74,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="MSDFS"
-></A
->Chapter 19. Hosting a Microsoft Distributed File System tree on Samba</H1
+NAME="MSDFS">Chapter 13. Hosting a Microsoft Distributed File System tree on Samba</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3200"
->19.1. Instructions</A
-></H1
+NAME="AEN1859">13.1. Instructions</H1
 ><P
 >The Distributed File System (or Dfs) provides a means of 
        separating the logical view of files and directories that users 
@@ -98,17 +96,21 @@ TARGET="_top"
        machine (for Dfs-aware clients to browse) using Samba.</P
 ><P
 >To enable SMB-based DFS for Samba, configure it with the 
-       <VAR
+       <TT
 CLASS="PARAMETER"
->--with-msdfs</VAR
+><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"
-><VAR
+><TT
 CLASS="PARAMETER"
->      host msdfs</VAR
+><I
+>      host msdfs</I
+></TT
 ></A
 > parameter in the <TT
 CLASS="FILENAME"
@@ -118,16 +120,18 @@ CLASS="FILENAME"
        level boolean <A
 HREF="smb.conf.5.html#MSDFSROOT"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->      msdfs root</VAR
+><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-&#62;msdfs:storage1\share1</TT
+>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 
@@ -155,44 +159,54 @@ CLASS="PROGRAMLISTING"
 >In the /export/dfsroot directory we set up our dfs links to 
        other servers on the network.</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
-><KBD
+>root# </TT
+><TT
 CLASS="USERINPUT"
->cd /export/dfsroot</KBD
+><B
+>cd /export/dfsroot</B
+></TT
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
-><KBD
+>root# </TT
+><TT
 CLASS="USERINPUT"
->chown root /export/dfsroot</KBD
+><B
+>chown root /export/dfsroot</B
+></TT
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
-><KBD
+>root# </TT
+><TT
 CLASS="USERINPUT"
->chmod 755 /export/dfsroot</KBD
+><B
+>chmod 755 /export/dfsroot</B
+></TT
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
-><KBD
+>root# </TT
+><TT
 CLASS="USERINPUT"
->ln -s msdfs:storageA\\shareA linka</KBD
+><B
+>ln -s msdfs:storageA\\shareA linka</B
+></TT
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
-><KBD
+>root# </TT
+><TT
 CLASS="USERINPUT"
->ln -s msdfs:serverB\\share,serverC\\share linkb</KBD
+><B
+>ln -s msdfs:serverB\\share,serverC\\share linkb</B
+></TT
 ></P
 ><P
 >You should set up the permissions and ownership of 
@@ -212,9 +226,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3235"
->19.1.1. Notes</A
-></H2
+NAME="AEN1894">13.1.1. Notes</H2
 ><P
 ></P
 ><UL
@@ -257,7 +269,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="improved-browsing.html"
+HREF="pam.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -275,7 +287,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="vfs.html"
+HREF="printing.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -285,7 +297,8 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Improved browsing in samba</TD
+>Configuring PAM for distributed but centrally 
+managed authentication</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -299,7 +312,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Stackable VFS modules</TD
+>Printing Support</TD
 ></TR
 ></TABLE
 ></DIV
index 63becc207176bba00870fb2546be5ae7ac3db9f5..b7ed1357c36e83f88ba080adff20a6a55c1d743a 100644 (file)
@@ -5,7 +5,7 @@
 >net</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="NET.8"
+NAME="NET"
 ></A
 >net</H1
 ><DIV
@@ -38,7 +38,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >net</B
->  {&#60;ads|rap|rpc&#62;} [-h] [-w workgroup] [-W myworkgroup] [-U user] [-I ip-address] [-p port] [-n myname] [-s conffile] [-S server] [-C comment] [-M maxusers] [-F flags] [-j jobid] [-l] [-r] [-f] [-t timeout] [-P] [-D debuglevel]</P
+>  {&lt;ads|rap|rpc&gt;} [-h] [-w workgroup] [-W myworkgroup] [-U user] [-I ip-address] [-p port] [-n myname] [-s conffile] [-S server] [-C comment] [-M maxusers] [-F flags] [-j jobid] [-l] [-r] [-f] [-t timeout] [-P] [-D debuglevel]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,12 +48,10 @@ NAME="AEN31"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >The samba net utility is meant to work just like the net utility 
@@ -62,7 +60,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN38"
+NAME="AEN36"
 ></A
 ><H2
 >OPTIONS</H2
@@ -83,8 +81,7 @@ CLASS="VARIABLELIST"
 >-w target-workgroup</DT
 ><DD
 ><P
->              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.
                </P
 ></DD
 ><DT
@@ -105,8 +102,7 @@ CLASS="VARIABLELIST"
 >-I ip-address</DT
 ><DD
 ><P
->              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.
                </P
 ></DD
 ><DT
@@ -134,8 +130,7 @@ CLASS="VARIABLELIST"
 >-S server</DT
 ><DD
 ><P
->              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.
                </P
 ></DD
 ><DT
@@ -220,7 +215,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN118"
+NAME="AEN116"
 ></A
 ><H2
 >TIME</H2
@@ -250,10 +245,7 @@ CLASS="COMMAND"
 >SYSTEM</DT
 ><DD
 ><P
->              Displays the time on the remote server in a format ready for <B
-CLASS="COMMAND"
->/bin/date</B
->
+>              Displays the time on the remote server in a format ready for /bin/date
                </P
 ></DD
 ><DT
@@ -261,10 +253,7 @@ CLASS="COMMAND"
 ><DD
 ><P
 >              Tries to set the date and time of the local server to that on 
-               the remote server using <B
-CLASS="COMMAND"
->/bin/date</B
->.
+               the remote server using /bin/date.
                </P
 ></DD
 ><DT
@@ -280,7 +269,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN142"
+NAME="AEN138"
 ></A
 ><H2
 >RPC</H2
@@ -317,21 +306,21 @@ CLASS="VARIABLELIST"
                </P
 ></DD
 ><DT
->USER DELETE &#60;name&#62; [misc options]</DT
+>USER DELETE &lt;name&gt; [misc options]</DT
 ><DD
 ><P
 >              delete specified user
                </P
 ></DD
 ><DT
->USER INFO &#60;name&#62; [misc options]</DT
+>USER INFO &lt;name&gt; [misc options]</DT
 ><DD
 ><P
 >              list the domain groups of the specified user
                </P
 ></DD
 ><DT
->USER ADD &#60;name&#62; [password] [-F user flags] [misc. options]</DT
+>USER ADD &lt;name&gt; [password] [-F user flags] [misc. options</DT
 ><DD
 ><P
 >              Add specified user
@@ -345,14 +334,14 @@ CLASS="VARIABLELIST"
                </P
 ></DD
 ><DT
->GROUP DELETE &#60;name&#62; [misc. options] [targets]</DT
+>GROUP DELETE &lt;name&gt; [misc. options] [targets]</DT
 ><DD
 ><P
 >              Delete specified group
                </P
 ></DD
 ><DT
->GROUP ADD &#60;name&#62; [-C comment]</DT
+>GROUP ADD &lt;name&gt; [-C comment]</DT
 ><DD
 ><P
 >              Create specified group
@@ -366,14 +355,14 @@ CLASS="VARIABLELIST"
                </P
 ></DD
 ><DT
->SHARE ADD &#60;name=serverpath&#62; [misc. options] [targets]</DT
+>SHARE ADD &lt;name=serverpath&gt; [misc. options] [targets]</DT
 ><DD
 ><P
 >              Adds a share from a server (makes the export active)
                </P
 ></DD
 ><DT
->SHARE DELETE &#60;sharenam</DT
+>SHARE DELETE &lt;sharenam</DT
 ><DD
 ><P
 ></P
@@ -384,7 +373,7 @@ CLASS="VARIABLELIST"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN195"
+NAME="AEN191"
 ></A
 ><H2
 >VERSION</H2
@@ -395,7 +384,7 @@ NAME="AEN195"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN198"
+NAME="AEN194"
 ></A
 ><H2
 >AUTHOR</H2
index f4f8caf81f7b29cd7ae99934ca646f11e296b2b1..1183a14522a950807ff54eb785d32b1ea879a0f6 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >nmbd</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="NMBD.8"
-></A
->nmbd</H1
+NAME="NMBD">nmbd</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -30,15 +29,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >nmbd</B
->  [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V] [-d &#60;debug level&#62;] [-H &#60;lmhosts file&#62;] [-l &#60;log directory&#62;] [-n &#60;primary netbios name&#62;] [-p &#60;port number&#62;] [-s &#60;configuration file&#62;]</P
+> [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V] [-d &#60;debug level&#62;] [-H &#60;lmhosts file&#62;] [-l &#60;log directory&#62;] [-n &#60;primary netbios name&#62;] [-p &#60;port number&#62;] [-s &#60;configuration file&#62;]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,13 +45,7 @@ NAME="AEN25"
 ><H2
 >DESCRIPTION</H2
 ><P
->This program is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
-> suite.</P
+>This program is part of the Samba suite.</P
 ><P
 ><B
 CLASS="COMMAND"
@@ -78,12 +69,9 @@ CLASS="COMMAND"
        specified it will respond with the IP number of the host it 
        is running on.  Its "own NetBIOS name" is by
        default the primary DNS name of the host it is running on, 
-       but this can be overridden with the <SPAN
-CLASS="emphasis"
-><I
+       but this can be overridden with the <I
 CLASS="EMPHASIS"
 >-n</I
-></SPAN
 > 
        option (see OPTIONS below). Thus <B
 CLASS="COMMAND"
@@ -94,12 +82,13 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >nmbd</B
 > to respond on can be set 
-       via parameters in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+       via parameters in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>      smb.conf(5)</TT
+></A
 > configuration file.</P
 ><P
 ><B
@@ -122,7 +111,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN46"
+NAME="AEN42"
 ></A
 ><H2
 >OPTIONS</H2
@@ -215,9 +204,9 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >nmbd</B
 > also logs to standard
-               output, as if the <CODE
-CLASS="CONSTANT"
->-S</CODE
+               output, as if the <B
+CLASS="COMMAND"
+>-S</B
 > parameter had been
                given. </P
 ></DD
@@ -253,37 +242,28 @@ CLASS="COMMAND"
                resolution mechanism <A
 HREF="smb.conf.5.html#nameresolveorder"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->name resolve
-               order</VAR
+>              name resolve order</A
+> described in <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+> <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
 ></A
-> described in <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> to resolve any 
-               NetBIOS name queries needed by the server. Note 
-               that the contents of this file are <SPAN
-CLASS="emphasis"
-><I
+>
+               to resolve any NetBIOS name queries needed by the server. Note 
+               that the contents of this file are <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > 
                used by <B
 CLASS="COMMAND"
 >nmbd</B
 > to answer any name queries. 
                Adding a line to this file affects name NetBIOS resolution 
-               from this host <SPAN
-CLASS="emphasis"
-><I
+               from this host <I
 CLASS="EMPHASIS"
 >ONLY</I
-></SPAN
 >.</P
 ><P
 >The default path to this file is compiled into 
@@ -298,14 +278,17 @@ CLASS="FILENAME"
 > or
                <TT
 CLASS="FILENAME"
->/etc/samba/lmhosts</TT
->. See the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->lmhosts</SPAN
->(5)</SPAN
-> man page for details on the contents of this file.</P
+>/etc/lmhosts</TT
+>. See the
+               <A
+HREF="lmhosts.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>lmhosts(5)</TT
+></A
+>
+               man page for details on the contents of this file.</P
 ></DD
 ><DT
 >-V</DT
@@ -342,17 +325,15 @@ CLASS="COMMAND"
                the <A
 HREF="smb.conf.5.html#loglevel"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->log level</VAR
-></A
+>log level</A
 > 
-               parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               parameter in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>              smb.conf(5)</TT
+></A
 > file.</P
 ></DD
 ><DT
@@ -376,12 +357,9 @@ CLASS="FILENAME"
                <TT
 CLASS="FILENAME"
 >/var/log/log.nmb</TT
->.  <SPAN
-CLASS="emphasis"
-><I
+>.  <I
 CLASS="EMPHASIS"
 >Beware:</I
-></SPAN
 >
                 If the directory specified does not exist, <B
 CLASS="COMMAND"
@@ -399,25 +377,20 @@ CLASS="COMMAND"
                to setting the <A
 HREF="smb.conf.5.html#netbiosname"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->NetBIOS
-               name</VAR
+>              NetBIOS name</A
+> parameter in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>      
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
 ></A
-> parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
 > file.  However, a command
                line setting will take precedence over settings in 
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
 >.</P
 ></DD
 ><DT
@@ -445,12 +418,13 @@ CLASS="FILENAME"
                this may be changed when Samba is autoconfigured.</P
 ><P
 >The file specified contains the configuration details
-               required by the server. See <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               required by the server. See <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>              <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+></A
 > for more information.
                </P
 ></DD
@@ -460,7 +434,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN162"
+NAME="AEN148"
 ></A
 ><H2
 >FILES</H2
@@ -483,9 +457,9 @@ CLASS="COMMAND"
 > meta-daemon, this file
                must contain suitable startup information for the
                meta-daemon. See the <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->install</A
+>UNIX_INSTALL.html</A
 > document
                for details.
                </P
@@ -503,9 +477,9 @@ CLASS="FILENAME"
 >If running the server as a daemon at startup,
                this file will need to contain an appropriate startup
                sequence for the server. See the <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->"How to Install and Test SAMBA"</A
+>UNIX_INSTALL.html</A
 > document
                for details.</P
 ></DD
@@ -524,9 +498,9 @@ CLASS="COMMAND"
                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 <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->"How to Install and Test SAMBA"</A
+>UNIX_INSTALL.html</A
 >
                document for details.</P
 ></DD
@@ -537,39 +511,34 @@ CLASS="FILENAME"
 ></DT
 ><DD
 ><P
->This is the default location of 
-               the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> server
-               configuration file. Other common places that systems
+>This is the default location of the
+               <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf</TT
+></A
+>
+               server configuration file. Other common places that systems
                install this file are <TT
 CLASS="FILENAME"
 >/usr/samba/lib/smb.conf</TT
 >
                and <TT
 CLASS="FILENAME"
->/etc/samba/smb.conf</TT
+>/etc/smb.conf</TT
 >.</P
 ><P
 >When run as a WINS server (see the
                <A
 HREF="smb.conf.5.html#WINSSUPPORT"
 TARGET="_top"
-><CODE
-CLASS="CONSTANT"
->wins support</CODE
-></A
+>wins support</A
 >
-               parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               parameter in the <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
 > man page),
                <B
 CLASS="COMMAND"
@@ -588,27 +557,19 @@ CLASS="FILENAME"
 >If <B
 CLASS="COMMAND"
 >nmbd</B
-> is acting as a <SPAN
-CLASS="emphasis"
-><I
+> is acting as a <I
 CLASS="EMPHASIS"
 >              browse master</I
-></SPAN
 > (see the <A
 HREF="smb.conf.5.html#LOCALMASTER"
 TARGET="_top"
-><CODE
-CLASS="CONSTANT"
->local master</CODE
-></A
+>local master</A
 >
-               parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> man page, <B
+               parameter in the <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+> man page,
+               <B
 CLASS="COMMAND"
 >nmbd</B
 >
@@ -629,7 +590,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN216"
+NAME="AEN195"
 ></A
 ><H2
 >SIGNALS</H2
@@ -638,12 +599,9 @@ NAME="AEN216"
 CLASS="COMMAND"
 >nmbd</B
 > process it is recommended
-       that SIGKILL (-9) <SPAN
-CLASS="emphasis"
-><I
+       that SIGKILL (-9) <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > be used, except as a last
        resort, as this may leave the name database in an inconsistent state.
        The correct way to terminate <B
@@ -678,22 +636,23 @@ CLASS="FILENAME"
 >log.nmb</TT
 > file.</P
 ><P
->The debug log level of nmbd may be raised or lowered
-       using <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbcontrol</SPAN
->(1)</SPAN
-> (SIGUSR[1|2] signals
-       are no longer used since Samba 2.2). This is to allow
-       transient problems to be diagnosed, whilst still running 
+>The debug log level of nmbd may be raised or lowered using
+       <A
+HREF="smbcontrol.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbcontrol(1)</B
+>
+       </A
+> (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.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN233"
+NAME="AEN211"
 ></A
 ><H2
 >VERSION</H2
@@ -704,49 +663,54 @@ NAME="AEN233"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN236"
+NAME="AEN214"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
->      <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->inetd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testprns</SPAN
->(1)</SPAN
->, and the Internet 
-       RFC's <TT
+><B
+CLASS="COMMAND"
+>inetd(8)</B
+>, <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+>
+       </A
+>, <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)
+       </B
+></A
+>, <A
+HREF="testparm.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      testparm(1)</B
+></A
+>, <A
+HREF="testprns.1.html"
+TARGET="_top"
+>      <B
+CLASS="COMMAND"
+>testprns(1)</B
+></A
+>, and the Internet RFC's
+       <TT
 CLASS="FILENAME"
 >rfc1001.txt</TT
 >, <TT
@@ -764,7 +728,7 @@ TARGET="_top"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN260"
+NAME="AEN231"
 ></A
 ><H2
 >AUTHOR</H2
@@ -776,14 +740,14 @@ NAME="AEN260"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 1e3c3c56ad8825eb28034e08e80b6fff0b80cd0b..2ce322990f3c48f9784d8edf40cec8619c519e3e 100644 (file)
@@ -5,7 +5,7 @@
 >nmblookup</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -38,7 +38,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >nmblookup</B
->  [-M] [-R] [-S] [-r] [-A] [-h] [-B &#60;broadcast address&#62;] [-U &#60;unicast address&#62;] [-d &#60;debug level&#62;] [-s &#60;smb config file&#62;] [-i &#60;NetBIOS scope&#62;] [-T] [-f] {name}</P
+>  [-M] [-R] [-S] [-r] [-A] [-h] [-B &lt;broadcast address&gt;] [-U &lt;unicast address&gt;] [-d &lt;debug level&gt;] [-s &lt;smb config file&gt;] [-i &lt;NetBIOS scope&gt;] [-T] [-f] {name}</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,12 +48,10 @@ NAME="AEN25"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -68,7 +66,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN33"
+NAME="AEN31"
 ></A
 ><H2
 >OPTIONS</H2
@@ -82,20 +80,24 @@ CLASS="VARIABLELIST"
 ><DD
 ><P
 >Searches for a master browser by looking 
-               up the  NetBIOS name <VAR
+               up the  NetBIOS name <TT
 CLASS="REPLACEABLE"
->name</VAR
+><I
+>name</I
+></TT
 > with a 
-               type of <CODE
+               type of <TT
 CLASS="CONSTANT"
->0x1d</CODE
->. If <VAR
+>0x1d</TT
+>. If <TT
 CLASS="REPLACEABLE"
->              name</VAR
+><I
+>              name</I
+></TT
 > is "-" then it does a lookup on the special name 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->__MSBROWSE__</CODE
+>__MSBROWSE__</TT
 >.</P
 ></DD
 ><DT
@@ -107,7 +109,7 @@ CLASS="CONSTANT"
                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.
                </P
 ></DD
 ><DT
@@ -128,22 +130,23 @@ CLASS="CONSTANT"
                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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
-> daemon is running on this machine it also binds to this port.
+               in addition, if the <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
+> 
+               daemon is running on this machine it also binds to this port.
                </P
 ></DD
 ><DT
 >-A</DT
 ><DD
 ><P
->Interpret <VAR
+>Interpret <TT
 CLASS="REPLACEABLE"
->name</VAR
+><I
+>name</I
+></TT
 > as 
                an IP Address and do a node status query on this address.</P
 ></DD
@@ -154,7 +157,7 @@ CLASS="REPLACEABLE"
 >Print a help (usage) message.</P
 ></DD
 ><DT
->-B &#60;broadcast address&#62;</DT
+>-B &lt;broadcast address&gt;</DT
 ><DD
 ><P
 >Send the query to the given broadcast address. Without 
@@ -163,37 +166,40 @@ CLASS="REPLACEABLE"
                either auto-detected or defined in the <A
 HREF="smb.conf.5.html#INTERFACES"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 >
                </A
-> parameter of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+> parameter of the  <TT
+CLASS="FILENAME"
+>smb.conf (5)</TT
 > file.
                </P
 ></DD
 ><DT
->-U &#60;unicast address&#62;</DT
+>-U &lt;unicast address&gt;</DT
 ><DD
 ><P
 >Do a unicast query to the specified address or 
-               host <VAR
+               host <TT
 CLASS="REPLACEABLE"
->unicast address</VAR
+><I
+>unicast address</I
+></TT
 >. This option 
-               (along with the <VAR
+               (along with the <TT
 CLASS="PARAMETER"
->-R</VAR
+><I
+>-R</I
+></TT
 > option) is needed to 
                query a WINS server.</P
 ></DD
 ><DT
->-d &#60;debuglevel&#62;</DT
+>-d &lt;debuglevel&gt;</DT
 ><DD
 ><P
 >debuglevel is an integer from 0 to 10.</P
@@ -217,9 +223,11 @@ CLASS="COMMAND"
                the <A
 HREF="smb.conf.5.html#LOGLEVEL"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->              log level</VAR
+><I
+>              log level</I
+></TT
 ></A
 > parameter in the <TT
 CLASS="FILENAME"
@@ -227,7 +235,7 @@ CLASS="FILENAME"
 > file.</P
 ></DD
 ><DT
->-s &#60;smb.conf&#62;</DT
+>-s &lt;smb.conf&gt;</DT
 ><DD
 ><P
 >This parameter specifies the pathname to 
@@ -239,7 +247,7 @@ TARGET="_top"
                the Samba setup on the machine.</P
 ></DD
 ><DT
->-i &#60;scope&#62;</DT
+>-i &lt;scope&gt;</DT
 ><DD
 ><P
 >This specifies a NetBIOS scope that
@@ -293,7 +301,7 @@ CLASS="EMPHASIS"
 >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 '#&#60;type&#62;' 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.</P
 ></DD
@@ -303,7 +311,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN121"
+NAME="AEN115"
 ></A
 ><H2
 >EXAMPLES</H2
@@ -316,11 +324,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >nslookup</B
 > is 
-               used to query DNS servers). To query a WINS server, <B
+               used to query DNS servers). To query a WINS server, 
+               <B
 CLASS="COMMAND"
 >nmblookup</B
-> 
-               must be called like this:</P
+> must be called like this:</P
 ><P
 ><B
 CLASS="COMMAND"
@@ -340,7 +348,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN133"
+NAME="AEN127"
 ></A
 ><H2
 >VERSION</H2
@@ -351,35 +359,34 @@ NAME="AEN133"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN136"
+NAME="AEN130"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->samba</SPAN
->(7)</SPAN
->, and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->.</P
+><A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
+>, 
+       <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>, and <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN148"
+NAME="AEN137"
 ></A
 ><H2
 >AUTHOR</H2
@@ -391,14 +398,14 @@ NAME="AEN148"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
diff --git a/docs/htmldocs/oplocks.html b/docs/htmldocs/oplocks.html
new file mode 100644 (file)
index 0000000..6aa91fb
--- /dev/null
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Oplocks</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="General installation"
+HREF="introduction.html"><LINK
+REL="PREVIOUS"
+TITLE="Improved browsing in samba"
+HREF="improved-browsing.html"><LINK
+REL="NEXT"
+TITLE="Quick Cross Subnet Browsing / Cross Workgroup Browsing guide"
+HREF="browsing-quick.html"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="improved-browsing.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="browsing-quick.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="OPLOCKS"
+></A
+>Chapter 3. Oplocks</H1
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN378"
+></A
+>3.1. What are oplocks?</H1
+><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="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="improved-browsing.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="browsing-quick.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Improved browsing in samba</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="introduction.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index 15e2e998a0cc70523b7cb36b253dd10f7df2ffb6..b15515ddab60ea2521448d263b26b13e402f0152 100644 (file)
@@ -2,19 +2,20 @@
 <HTML
 ><HEAD
 ><TITLE
->Advanced Configuration</TITLE
+>Optional configuration</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="PREVIOUS"
-TITLE="Samba as a NT4 or Win2k domain member"
+TITLE="Samba as a NT4 domain member"
 HREF="domain-security.html"><LINK
 REL="NEXT"
-TITLE="System Policies"
-HREF="advancednetworkmanagement.html"></HEAD
+TITLE="Integrating MS Windows networks with Samba"
+HREF="integrate-ms-networks.html"></HEAD
 ><BODY
 CLASS="PART"
 BGCOLOR="#FFFFFF"
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="advancednetworkmanagement.html"
+HREF="integrate-ms-networks.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -68,19 +69,15 @@ WIDTH="100%"></DIV
 ><DIV
 CLASS="PART"
 ><A
-NAME="OPTIONAL"
-></A
-><DIV
+NAME="OPTIONAL"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
->III. Advanced Configuration</H1
+>III. Optional configuration</H1
 ><DIV
 CLASS="PARTINTRO"
 ><A
-NAME="AEN1387"
-></A
-><H1
+NAME="AEN1360"><H1
 >Introduction</H1
 ><P
 >Samba has several features that you might want or might not want to use. The chapters in this 
@@ -95,79 +92,127 @@ CLASS="TOC"
 ></DT
 ><DT
 >10. <A
-HREF="advancednetworkmanagement.html"
->System Policies</A
+HREF="integrate-ms-networks.html"
+>Integrating MS Windows networks with Samba</A
 ></DT
 ><DD
 ><DL
 ><DT
 >10.1. <A
-HREF="advancednetworkmanagement.html#AEN1401"
->Basic System Policy Info</A
+HREF="integrate-ms-networks.html#AEN1374"
+>Agenda</A
+></DT
+><DT
+>10.2. <A
+HREF="integrate-ms-networks.html#AEN1396"
+>Name Resolution in a pure Unix/Linux world</A
 ></DT
 ><DD
 ><DL
 ><DT
->10.1.1. <A
-HREF="advancednetworkmanagement.html#AEN1445"
->Creating Group Prolicy Files</A
+>10.2.1. <A
+HREF="integrate-ms-networks.html#AEN1412"
+><TT
+CLASS="FILENAME"
+>/etc/hosts</TT
+></A
+></DT
+><DT
+>10.2.2. <A
+HREF="integrate-ms-networks.html#AEN1428"
+><TT
+CLASS="FILENAME"
+>/etc/resolv.conf</TT
+></A
+></DT
+><DT
+>10.2.3. <A
+HREF="integrate-ms-networks.html#AEN1439"
+><TT
+CLASS="FILENAME"
+>/etc/host.conf</TT
+></A
+></DT
+><DT
+>10.2.4. <A
+HREF="integrate-ms-networks.html#AEN1447"
+><TT
+CLASS="FILENAME"
+>/etc/nsswitch.conf</TT
+></A
 ></DT
 ></DL
 ></DD
 ><DT
->10.2. <A
-HREF="advancednetworkmanagement.html#AEN1456"
->Roaming Profiles</A
+>10.3. <A
+HREF="integrate-ms-networks.html#AEN1459"
+>Name resolution as used within MS Windows networking</A
 ></DT
 ><DD
 ><DL
 ><DT
->10.2.1. <A
-HREF="advancednetworkmanagement.html#AEN1464"
->Windows NT Configuration</A
+>10.3.1. <A
+HREF="integrate-ms-networks.html#AEN1471"
+>The NetBIOS Name Cache</A
 ></DT
 ><DT
->10.2.2. <A
-HREF="advancednetworkmanagement.html#AEN1473"
->Windows 9X Configuration</A
+>10.3.2. <A
+HREF="integrate-ms-networks.html#AEN1476"
+>The LMHOSTS file</A
 ></DT
 ><DT
->10.2.3. <A
-HREF="advancednetworkmanagement.html#AEN1481"
->Win9X and WinNT Configuration</A
+>10.3.3. <A
+HREF="integrate-ms-networks.html#AEN1484"
+>HOSTS file</A
 ></DT
 ><DT
->10.2.4. <A
-HREF="advancednetworkmanagement.html#AEN1488"
->Windows 9X Profile Setup</A
+>10.3.4. <A
+HREF="integrate-ms-networks.html#AEN1489"
+>DNS Lookup</A
+></DT
+><DT
+>10.3.5. <A
+HREF="integrate-ms-networks.html#AEN1492"
+>WINS Lookup</A
 ></DT
+></DL
+></DD
 ><DT
->10.2.5. <A
-HREF="advancednetworkmanagement.html#AEN1524"
->Windows NT Workstation 4.0</A
+>10.4. <A
+HREF="integrate-ms-networks.html#AEN1504"
+>How browsing functions and how to deploy stable and 
+dependable browsing using Samba</A
 ></DT
 ><DT
->10.2.6. <A
-HREF="advancednetworkmanagement.html#AEN1532"
->Windows NT/200x Server</A
+>10.5. <A
+HREF="integrate-ms-networks.html#AEN1514"
+>MS Windows security options and how to configure 
+Samba for seemless integration</A
 ></DT
+><DD
+><DL
 ><DT
->10.2.7. <A
-HREF="advancednetworkmanagement.html#AEN1535"
->Sharing Profiles between W9x/Me and NT4/200x/XP workstations</A
+>10.5.1. <A
+HREF="integrate-ms-networks.html#AEN1542"
+>Use MS Windows NT as an authentication server</A
 ></DT
 ><DT
->10.2.8. <A
-HREF="advancednetworkmanagement.html#AEN1542"
->Windows NT 4</A
+>10.5.2. <A
+HREF="integrate-ms-networks.html#AEN1550"
+>Make Samba a member of an MS Windows NT security domain</A
 ></DT
 ><DT
->10.2.9. <A
-HREF="advancednetworkmanagement.html#AEN1580"
->Windows 2000/XP</A
+>10.5.3. <A
+HREF="integrate-ms-networks.html#AEN1567"
+>Configure Samba as an authentication server</A
 ></DT
 ></DL
 ></DD
+><DT
+>10.6. <A
+HREF="integrate-ms-networks.html#AEN1584"
+>Conclusions</A
+></DT
 ></DL
 ></DD
 ><DT
@@ -179,53 +224,53 @@ HREF="unix-permissions.html"
 ><DL
 ><DT
 >11.1. <A
-HREF="unix-permissions.html#AEN1663"
+HREF="unix-permissions.html#AEN1605"
 >Viewing and changing UNIX permissions using the NT 
        security dialogs</A
 ></DT
 ><DT
 >11.2. <A
-HREF="unix-permissions.html#AEN1667"
+HREF="unix-permissions.html#AEN1614"
 >How to view file security on a Samba share</A
 ></DT
 ><DT
 >11.3. <A
-HREF="unix-permissions.html#AEN1678"
+HREF="unix-permissions.html#AEN1625"
 >Viewing file ownership</A
 ></DT
 ><DT
 >11.4. <A
-HREF="unix-permissions.html#AEN1698"
+HREF="unix-permissions.html#AEN1645"
 >Viewing file or directory permissions</A
 ></DT
 ><DD
 ><DL
 ><DT
 >11.4.1. <A
-HREF="unix-permissions.html#AEN1713"
+HREF="unix-permissions.html#AEN1660"
 >File Permissions</A
 ></DT
 ><DT
 >11.4.2. <A
-HREF="unix-permissions.html#AEN1727"
+HREF="unix-permissions.html#AEN1674"
 >Directory Permissions</A
 ></DT
 ></DL
 ></DD
 ><DT
 >11.5. <A
-HREF="unix-permissions.html#AEN1734"
+HREF="unix-permissions.html#AEN1681"
 >Modifying file or directory permissions</A
 ></DT
 ><DT
 >11.6. <A
-HREF="unix-permissions.html#AEN1756"
+HREF="unix-permissions.html#AEN1703"
 >Interaction with the standard Samba create mask 
        parameters</A
 ></DT
 ><DT
 >11.7. <A
-HREF="unix-permissions.html#AEN1810"
+HREF="unix-permissions.html#AEN1767"
 >Interaction with the standard Samba file attribute 
        mapping</A
 ></DT
@@ -233,11 +278,6 @@ HREF="unix-permissions.html#AEN1810"
 ></DD
 ><DT
 >12. <A
-HREF="groupmapping.html"
->Group mapping HOWTO</A
-></DT
-><DT
->13. <A
 HREF="pam.html"
 >Configuring PAM for distributed but centrally 
 managed authentication</A
@@ -245,23 +285,46 @@ managed authentication</A
 ><DD
 ><DL
 ><DT
->13.1. <A
-HREF="pam.html#AEN1866"
+>12.1. <A
+HREF="pam.html#AEN1788"
 >Samba and PAM</A
 ></DT
 ><DT
->13.2. <A
-HREF="pam.html#AEN1915"
+>12.2. <A
+HREF="pam.html#AEN1832"
 >Distributed Authentication</A
 ></DT
 ><DT
->13.3. <A
-HREF="pam.html#AEN1920"
+>12.3. <A
+HREF="pam.html#AEN1839"
 >PAM Configuration in smb.conf</A
 ></DT
 ></DL
 ></DD
 ><DT
+>13. <A
+HREF="msdfs.html"
+>Hosting a Microsoft Distributed File System tree on Samba</A
+></DT
+><DD
+><DL
+><DT
+>13.1. <A
+HREF="msdfs.html#AEN1859"
+>Instructions</A
+></DT
+><DD
+><DL
+><DT
+>13.1.1. <A
+HREF="msdfs.html#AEN1894"
+>Notes</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
 >14. <A
 HREF="printing.html"
 >Printing Support</A
@@ -270,122 +333,122 @@ HREF="printing.html"
 ><DL
 ><DT
 >14.1. <A
-HREF="printing.html#AEN1946"
+HREF="printing.html#AEN1920"
 >Introduction</A
 ></DT
 ><DT
 >14.2. <A
-HREF="printing.html#AEN1968"
+HREF="printing.html#AEN1942"
 >Configuration</A
 ></DT
 ><DD
 ><DL
 ><DT
 >14.2.1. <A
-HREF="printing.html#AEN1976"
+HREF="printing.html#AEN1950"
 >Creating [print$]</A
 ></DT
 ><DT
 >14.2.2. <A
-HREF="printing.html#AEN2011"
+HREF="printing.html#AEN1985"
 >Setting Drivers for Existing Printers</A
 ></DT
 ><DT
 >14.2.3. <A
-HREF="printing.html#AEN2027"
+HREF="printing.html#AEN2001"
 >Support a large number of printers</A
 ></DT
 ><DT
 >14.2.4. <A
-HREF="printing.html#AEN2038"
+HREF="printing.html#AEN2012"
 >Adding New Printers via the Windows NT APW</A
 ></DT
 ><DT
 >14.2.5. <A
-HREF="printing.html#AEN2068"
+HREF="printing.html#AEN2042"
 >Samba and Printer Ports</A
 ></DT
 ></DL
 ></DD
 ><DT
 >14.3. <A
-HREF="printing.html#AEN2076"
+HREF="printing.html#AEN2050"
 >The Imprints Toolset</A
 ></DT
 ><DD
 ><DL
 ><DT
 >14.3.1. <A
-HREF="printing.html#AEN2080"
+HREF="printing.html#AEN2054"
 >What is Imprints?</A
 ></DT
 ><DT
 >14.3.2. <A
-HREF="printing.html#AEN2090"
+HREF="printing.html#AEN2064"
 >Creating Printer Driver Packages</A
 ></DT
 ><DT
 >14.3.3. <A
-HREF="printing.html#AEN2093"
+HREF="printing.html#AEN2067"
 >The Imprints server</A
 ></DT
 ><DT
 >14.3.4. <A
-HREF="printing.html#AEN2097"
+HREF="printing.html#AEN2071"
 >The Installation Client</A
 ></DT
 ></DL
 ></DD
 ><DT
 >14.4. <A
-HREF="printing.html#AEN2119"
+HREF="printing.html#AEN2093"
 >Diagnosis</A
 ></DT
 ><DD
 ><DL
 ><DT
 >14.4.1. <A
-HREF="printing.html#AEN2121"
+HREF="printing.html#AEN2095"
 >Introduction</A
 ></DT
 ><DT
 >14.4.2. <A
-HREF="printing.html#AEN2137"
+HREF="printing.html#AEN2111"
 >Debugging printer problems</A
 ></DT
 ><DT
 >14.4.3. <A
-HREF="printing.html#AEN2146"
+HREF="printing.html#AEN2120"
 >What printers do I have?</A
 ></DT
 ><DT
 >14.4.4. <A
-HREF="printing.html#AEN2154"
+HREF="printing.html#AEN2128"
 >Setting up printcap and print servers</A
 ></DT
 ><DT
 >14.4.5. <A
-HREF="printing.html#AEN2182"
+HREF="printing.html#AEN2156"
 >Job sent, no output</A
 ></DT
 ><DT
 >14.4.6. <A
-HREF="printing.html#AEN2193"
+HREF="printing.html#AEN2167"
 >Job sent, strange output</A
 ></DT
 ><DT
 >14.4.7. <A
-HREF="printing.html#AEN2205"
+HREF="printing.html#AEN2179"
 >Raw PostScript printed</A
 ></DT
 ><DT
 >14.4.8. <A
-HREF="printing.html#AEN2208"
+HREF="printing.html#AEN2182"
 >Advanced Printing</A
 ></DT
 ><DT
 >14.4.9. <A
-HREF="printing.html#AEN2211"
+HREF="printing.html#AEN2185"
 >Real debugging</A
 ></DT
 ></DL
@@ -394,395 +457,311 @@ HREF="printing.html#AEN2211"
 ></DD
 ><DT
 >15. <A
-HREF="cups-printing.html"
->CUPS Printing Support</A
-></DT
-><DD
-><DL
-><DT
->15.1. <A
-HREF="cups-printing.html#AEN2231"
->Introduction</A
-></DT
-><DT
->15.2. <A
-HREF="cups-printing.html#AEN2236"
->CUPS - RAW Print Through  Mode</A
-></DT
-><DT
->15.3. <A
-HREF="cups-printing.html#AEN2291"
->The CUPS Filter Chains</A
-></DT
-><DT
->15.4. <A
-HREF="cups-printing.html#AEN2330"
->CUPS Print Drivers and Devices</A
-></DT
-><DD
-><DL
-><DT
->15.4.1. <A
-HREF="cups-printing.html#AEN2337"
->Further printing steps</A
-></DT
-></DL
-></DD
-><DT
->15.5. <A
-HREF="cups-printing.html#AEN2407"
->Limiting the number of pages users can print</A
-></DT
-><DT
->15.6. <A
-HREF="cups-printing.html#AEN2496"
->Advanced Postscript Printing from MS Windows</A
-></DT
-><DT
->15.7. <A
-HREF="cups-printing.html#AEN2511"
->Auto-Deletion of CUPS spool files</A
-></DT
-></DL
-></DD
-><DT
->16. <A
 HREF="winbind.html"
 >Unified Logons between Windows NT and UNIX using Winbind</A
 ></DT
 ><DD
 ><DL
 ><DT
->16.1. <A
-HREF="winbind.html#AEN2573"
+>15.1. <A
+HREF="winbind.html#AEN2225"
 >Abstract</A
 ></DT
 ><DT
->16.2. <A
-HREF="winbind.html#AEN2577"
+>15.2. <A
+HREF="winbind.html#AEN2229"
 >Introduction</A
 ></DT
 ><DT
->16.3. <A
-HREF="winbind.html#AEN2590"
+>15.3. <A
+HREF="winbind.html#AEN2242"
 >What Winbind Provides</A
 ></DT
 ><DD
 ><DL
 ><DT
->16.3.1. <A
-HREF="winbind.html#AEN2597"
+>15.3.1. <A
+HREF="winbind.html#AEN2249"
 >Target Uses</A
 ></DT
 ></DL
 ></DD
 ><DT
->16.4. <A
-HREF="winbind.html#AEN2601"
+>15.4. <A
+HREF="winbind.html#AEN2253"
 >How Winbind Works</A
 ></DT
 ><DD
 ><DL
 ><DT
->16.4.1. <A
-HREF="winbind.html#AEN2606"
+>15.4.1. <A
+HREF="winbind.html#AEN2258"
 >Microsoft Remote Procedure Calls</A
 ></DT
 ><DT
->16.4.2. <A
-HREF="winbind.html#AEN2610"
->Microsoft Active Directory Services</A
-></DT
-><DT
->16.4.3. <A
-HREF="winbind.html#AEN2613"
+>15.4.2. <A
+HREF="winbind.html#AEN2262"
 >Name Service Switch</A
 ></DT
 ><DT
->16.4.4. <A
-HREF="winbind.html#AEN2629"
+>15.4.3. <A
+HREF="winbind.html#AEN2278"
 >Pluggable Authentication Modules</A
 ></DT
 ><DT
->16.4.5. <A
-HREF="winbind.html#AEN2637"
+>15.4.4. <A
+HREF="winbind.html#AEN2286"
 >User and Group ID Allocation</A
 ></DT
 ><DT
->16.4.6. <A
-HREF="winbind.html#AEN2641"
+>15.4.5. <A
+HREF="winbind.html#AEN2290"
 >Result Caching</A
 ></DT
 ></DL
 ></DD
 ><DT
->16.5. <A
-HREF="winbind.html#AEN2644"
+>15.5. <A
+HREF="winbind.html#AEN2293"
 >Installation and Configuration</A
 ></DT
 ><DD
 ><DL
 ><DT
->16.5.1. <A
-HREF="winbind.html#AEN2649"
+>15.5.1. <A
+HREF="winbind.html#AEN2300"
 >Introduction</A
 ></DT
 ><DT
->16.5.2. <A
-HREF="winbind.html#AEN2662"
+>15.5.2. <A
+HREF="winbind.html#AEN2313"
 >Requirements</A
 ></DT
 ><DT
->16.5.3. <A
-HREF="winbind.html#AEN2676"
+>15.5.3. <A
+HREF="winbind.html#AEN2327"
 >Testing Things Out</A
 ></DT
 ></DL
 ></DD
 ><DT
->16.6. <A
-HREF="winbind.html#AEN2901"
+>15.6. <A
+HREF="winbind.html#AEN2542"
 >Limitations</A
 ></DT
 ><DT
->16.7. <A
-HREF="winbind.html#AEN2911"
+>15.7. <A
+HREF="winbind.html#AEN2552"
 >Conclusion</A
 ></DT
 ></DL
 ></DD
 ><DT
->17. <A
-HREF="integrate-ms-networks.html"
->Integrating MS Windows networks with Samba</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="integrate-ms-networks.html#AEN2932"
->Name Resolution in a pure Unix/Linux world</A
+>16. <A
+HREF="pdb-mysql.html"
+>Passdb MySQL plugin</A
 ></DT
 ><DD
 ><DL
 ><DT
->17.1.1. <A
-HREF="integrate-ms-networks.html#AEN2948"
-><TT
-CLASS="FILENAME"
->/etc/hosts</TT
-></A
+>16.1. <A
+HREF="pdb-mysql.html#AEN2566"
+>Building</A
 ></DT
 ><DT
->17.1.2. <A
-HREF="integrate-ms-networks.html#AEN2964"
-><TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-></A
+>16.2. <A
+HREF="pdb-mysql.html#AEN2572"
+>Configuring</A
 ></DT
 ><DT
->17.1.3. <A
-HREF="integrate-ms-networks.html#AEN2975"
-><TT
-CLASS="FILENAME"
->/etc/host.conf</TT
-></A
+>16.3. <A
+HREF="pdb-mysql.html#AEN2589"
+>Using plaintext passwords or encrypted password</A
 ></DT
 ><DT
->17.1.4. <A
-HREF="integrate-ms-networks.html#AEN2983"
-><TT
-CLASS="FILENAME"
->/etc/nsswitch.conf</TT
-></A
+>16.4. <A
+HREF="pdb-mysql.html#AEN2594"
+>Getting non-column data from the table</A
 ></DT
 ></DL
 ></DD
 ><DT
->17.2. <A
-HREF="integrate-ms-networks.html#AEN2995"
->Name resolution as used within MS Windows networking</A
+>17. <A
+HREF="pdb-xml.html"
+>Passdb XML plugin</A
 ></DT
 ><DD
 ><DL
 ><DT
->17.2.1. <A
-HREF="integrate-ms-networks.html#AEN3007"
->The NetBIOS Name Cache</A
-></DT
-><DT
->17.2.2. <A
-HREF="integrate-ms-networks.html#AEN3012"
->The LMHOSTS file</A
-></DT
-><DT
->17.2.3. <A
-HREF="integrate-ms-networks.html#AEN3020"
->HOSTS file</A
-></DT
-><DT
->17.2.4. <A
-HREF="integrate-ms-networks.html#AEN3025"
->DNS Lookup</A
+>17.1. <A
+HREF="pdb-xml.html#AEN2613"
+>Building</A
 ></DT
 ><DT
->17.2.5. <A
-HREF="integrate-ms-networks.html#AEN3028"
->WINS Lookup</A
+>17.2. <A
+HREF="pdb-xml.html#AEN2619"
+>Usage</A
 ></DT
 ></DL
 ></DD
-></DL
-></DD
 ><DT
 >18. <A
-HREF="improved-browsing.html"
->Improved browsing in samba</A
+HREF="vfs.html"
+>Stackable VFS modules</A
 ></DT
 ><DD
 ><DL
 ><DT
 >18.1. <A
-HREF="improved-browsing.html#AEN3047"
->Overview of browsing</A
+HREF="vfs.html#AEN2640"
+>Introduction and configuration</A
 ></DT
 ><DT
 >18.2. <A
-HREF="improved-browsing.html#AEN3052"
->Browsing support in samba</A
+HREF="vfs.html#AEN2649"
+>Included modules</A
 ></DT
+><DD
+><DL
 ><DT
->18.3. <A
-HREF="improved-browsing.html#AEN3060"
->Problem resolution</A
+>18.2.1. <A
+HREF="vfs.html#AEN2651"
+>audit</A
 ></DT
 ><DT
->18.4. <A
-HREF="improved-browsing.html#AEN3069"
->Browsing across subnets</A
+>18.2.2. <A
+HREF="vfs.html#AEN2659"
+>recycle</A
 ></DT
-><DD
-><DL
 ><DT
->18.4.1. <A
-HREF="improved-browsing.html#AEN3074"
->How does cross subnet browsing work ?</A
+>18.2.3. <A
+HREF="vfs.html#AEN2696"
+>netatalk</A
 ></DT
 ></DL
 ></DD
 ><DT
->18.5. <A
-HREF="improved-browsing.html#AEN3109"
->Setting up a WINS server</A
+>18.3. <A
+HREF="vfs.html#AEN2703"
+>VFS modules available elsewhere</A
 ></DT
+><DD
+><DL
 ><DT
->18.6. <A
-HREF="improved-browsing.html#AEN3128"
->Setting up Browsing in a WORKGROUP</A
+>18.3.1. <A
+HREF="vfs.html#AEN2707"
+>DatabaseFS</A
 ></DT
 ><DT
->18.7. <A
-HREF="improved-browsing.html#AEN3146"
->Setting up Browsing in a DOMAIN</A
+>18.3.2. <A
+HREF="vfs.html#AEN2715"
+>vscan</A
 ></DT
+></DL
+></DD
+></DL
+></DD
 ><DT
->18.8. <A
-HREF="improved-browsing.html#AEN3156"
->Forcing samba to be the master</A
+>19. <A
+HREF="samba-ldap-howto.html"
+>Storing Samba's User/Machine Account information in an LDAP Directory</A
 ></DT
+><DD
+><DL
 ><DT
->18.9. <A
-HREF="improved-browsing.html#AEN3165"
->Making samba the domain master</A
+>19.1. <A
+HREF="samba-ldap-howto.html#AEN2737"
+>Purpose</A
 ></DT
 ><DT
->18.10. <A
-HREF="improved-browsing.html#AEN3183"
->Note about broadcast addresses</A
+>19.2. <A
+HREF="samba-ldap-howto.html#AEN2757"
+>Introduction</A
 ></DT
 ><DT
->18.11. <A
-HREF="improved-browsing.html#AEN3186"
->Multiple interfaces</A
+>19.3. <A
+HREF="samba-ldap-howto.html#AEN2786"
+>Supported LDAP Servers</A
 ></DT
-></DL
-></DD
 ><DT
->19. <A
-HREF="msdfs.html"
->Hosting a Microsoft Distributed File System tree on Samba</A
+>19.4. <A
+HREF="samba-ldap-howto.html#AEN2791"
+>Schema and Relationship to the RFC 2307 posixAccount</A
 ></DT
-><DD
-><DL
 ><DT
->19.1. <A
-HREF="msdfs.html#AEN3200"
->Instructions</A
+>19.5. <A
+HREF="samba-ldap-howto.html#AEN2803"
+>Configuring Samba with LDAP</A
 ></DT
 ><DD
 ><DL
 ><DT
->19.1.1. <A
-HREF="msdfs.html#AEN3235"
->Notes</A
+>19.5.1. <A
+HREF="samba-ldap-howto.html#AEN2805"
+>OpenLDAP configuration</A
+></DT
+><DT
+>19.5.2. <A
+HREF="samba-ldap-howto.html#AEN2822"
+>Configuring Samba</A
 ></DT
 ></DL
 ></DD
+><DT
+>19.6. <A
+HREF="samba-ldap-howto.html#AEN2850"
+>Accounts and Groups management</A
+></DT
+><DT
+>19.7. <A
+HREF="samba-ldap-howto.html#AEN2855"
+>Security and sambaAccount</A
+></DT
+><DT
+>19.8. <A
+HREF="samba-ldap-howto.html#AEN2875"
+>LDAP specials attributes for sambaAccounts</A
+></DT
+><DT
+>19.9. <A
+HREF="samba-ldap-howto.html#AEN2945"
+>Example LDIF Entries for a sambaAccount</A
+></DT
+><DT
+>19.10. <A
+HREF="samba-ldap-howto.html#AEN2953"
+>Comments</A
+></DT
 ></DL
 ></DD
 ><DT
 >20. <A
-HREF="vfs.html"
->Stackable VFS modules</A
+HREF="cvs-access.html"
+>HOWTO Access Samba source code via CVS</A
 ></DT
 ><DD
 ><DL
 ><DT
 >20.1. <A
-HREF="vfs.html#AEN3259"
->Introduction and configuration</A
+HREF="cvs-access.html#AEN2964"
+>Introduction</A
 ></DT
 ><DT
 >20.2. <A
-HREF="vfs.html#AEN3268"
->Included modules</A
+HREF="cvs-access.html#AEN2969"
+>CVS Access to samba.org</A
 ></DT
 ><DD
 ><DL
 ><DT
 >20.2.1. <A
-HREF="vfs.html#AEN3270"
->audit</A
+HREF="cvs-access.html#AEN2972"
+>Access via CVSweb</A
 ></DT
 ><DT
 >20.2.2. <A
-HREF="vfs.html#AEN3278"
->recycle</A
-></DT
-><DT
->20.2.3. <A
-HREF="vfs.html#AEN3315"
->netatalk</A
-></DT
-></DL
-></DD
-><DT
->20.3. <A
-HREF="vfs.html#AEN3322"
->VFS modules available elsewhere</A
-></DT
-><DD
-><DL
-><DT
->20.3.1. <A
-HREF="vfs.html#AEN3326"
->DatabaseFS</A
-></DT
-><DT
->20.3.2. <A
-HREF="vfs.html#AEN3334"
->vscan</A
+HREF="cvs-access.html#AEN2977"
+>Access via cvs</A
 ></DT
 ></DL
 ></DD
@@ -790,59 +769,65 @@ HREF="vfs.html#AEN3334"
 ></DD
 ><DT
 >21. <A
-HREF="securing-samba.html"
->Securing Samba</A
+HREF="groupmapping.html"
+>Group mapping HOWTO</A
+></DT
+><DT
+>22. <A
+HREF="speed.html"
+>Samba performance issues</A
 ></DT
 ><DD
 ><DL
 ><DT
->21.1. <A
-HREF="securing-samba.html#AEN3348"
->Introduction</A
+>22.1. <A
+HREF="speed.html#AEN3055"
+>Comparisons</A
 ></DT
 ><DT
->21.2. <A
-HREF="securing-samba.html#AEN3351"
->Using host based protection</A
+>22.2. <A
+HREF="speed.html#AEN3061"
+>Socket options</A
 ></DT
 ><DT
->21.3. <A
-HREF="securing-samba.html#AEN3358"
->Using interface protection</A
+>22.3. <A
+HREF="speed.html#AEN3068"
+>Read size</A
 ></DT
 ><DT
->21.4. <A
-HREF="securing-samba.html#AEN3367"
->Using a firewall</A
+>22.4. <A
+HREF="speed.html#AEN3073"
+>Max xmit</A
 ></DT
 ><DT
->21.5. <A
-HREF="securing-samba.html#AEN3374"
->Using a IPC$ share deny</A
+>22.5. <A
+HREF="speed.html#AEN3078"
+>Log level</A
 ></DT
 ><DT
->21.6. <A
-HREF="securing-samba.html#AEN3383"
->Upgrading Samba</A
+>22.6. <A
+HREF="speed.html#AEN3081"
+>Read raw</A
 ></DT
-></DL
-></DD
 ><DT
->22. <A
-HREF="unicode.html"
->Unicode/Charsets</A
+>22.7. <A
+HREF="speed.html#AEN3086"
+>Write raw</A
 ></DT
-><DD
-><DL
 ><DT
->22.1. <A
-HREF="unicode.html#AEN3397"
->What are charsets and unicode?</A
+>22.8. <A
+HREF="speed.html#AEN3090"
+>Slow Clients</A
 ></DT
 ><DT
->22.2. <A
-HREF="unicode.html#AEN3406"
->Samba and charsets</A
+>22.9. <A
+HREF="speed.html#AEN3094"
+>Slow Logins</A
+></DT
+><DT
+>22.10. <A
+HREF="speed.html#AEN3097"
+>Client tuning</A
 ></DT
 ></DL
 ></DD
@@ -884,7 +869,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="advancednetworkmanagement.html"
+HREF="integrate-ms-networks.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -894,7 +879,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Samba as a NT4 or Win2k domain member</TD
+>Samba as a NT4 domain member</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -904,7 +889,7 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->System Policies</TD
+>Integrating MS Windows networks with Samba</TD
 ></TR
 ></TABLE
 ></DIV
index 3182c85583c99bdcc94512d58975ee14897e2a2c..130c9691e7b699f88fc070797bb27246032e087c 100644 (file)
@@ -5,7 +5,8 @@
 >Samba and other CIFS clients</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -16,8 +17,8 @@ REL="PREVIOUS"
 TITLE="Portability"
 HREF="portability.html"><LINK
 REL="NEXT"
-TITLE="How to compile SAMBA"
-HREF="compiling.html"></HEAD
+TITLE="Reporting Bugs"
+HREF="bugreport.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="compiling.html"
+HREF="bugreport.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,9 +73,7 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="OTHER-CLIENTS"
-></A
->Chapter 25. Samba and other CIFS clients</H1
+NAME="OTHER-CLIENTS">Chapter 24. Samba and other CIFS clients</H1
 ><P
 >This chapter contains client-specific information.</P
 ><DIV
@@ -82,9 +81,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3590"
->25.1. Macintosh clients?</A
-></H1
+NAME="AEN3199">24.1. Macintosh clients?</H1
 ><P
 >Yes. <A
 HREF="http://www.thursby.com/"
@@ -128,18 +125,14 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3599"
->25.2. OS2 Client</A
-></H1
+NAME="AEN3208">24.2. OS2 Client</H1
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3601"
->25.2.1. How can I configure OS/2 Warp Connect or 
-               OS/2 Warp 4 as a client for Samba?</A
-></H2
+NAME="AEN3210">24.2.1. How can I configure OS/2 Warp Connect or 
+               OS/2 Warp 4 as a client for Samba?</H2
 ><P
 >A more complete answer to this question can be 
                found on <A
@@ -195,10 +188,8 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3616"
->25.2.2. How can I configure OS/2 Warp 3 (not Connect), 
-               OS/2 1.2, 1.3 or 2.x for Samba?</A
-></H2
+NAME="AEN3225">24.2.2. How can I configure OS/2 Warp 3 (not Connect), 
+               OS/2 1.2, 1.3 or 2.x for Samba?</H2
 ><P
 >You can use the free Microsoft LAN Manager 2.2c Client 
                for OS/2 from 
@@ -239,10 +230,8 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3625"
->25.2.3. Are there any other issues when OS/2 (any version) 
-               is used as a client?</A
-></H2
+NAME="AEN3234">24.2.3. Are there any other issues when OS/2 (any version) 
+               is used as a client?</H2
 ><P
 >When you do a NET VIEW or use the "File and Print 
                Client Resource Browser", no Samba servers show up. This can 
@@ -261,10 +250,8 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3629"
->25.2.4. How do I get printer driver download working 
-               for OS/2 clients?</A
-></H2
+NAME="AEN3238">24.2.4. How do I get printer driver download working 
+               for OS/2 clients?</H2
 ><P
 >First, create a share called [PRINTDRV] that is 
                world-readable.  Copy your OS/2 driver files there.  Note 
@@ -274,13 +261,17 @@ NAME="AEN3629"
 ><P
 >Install the NT driver first for that printer.  Then, 
                add to your smb.conf a parameter, os2 driver map = 
-               <VAR
+               <TT
 CLASS="REPLACEABLE"
->filename</VAR
+><I
+>filename</I
+></TT
 >".  Then, in the file 
-               specified by <VAR
+               specified by <TT
 CLASS="REPLACEABLE"
->filename</VAR
+><I
+>filename</I
+></TT
 >, map the 
                name of the NT driver name to the OS/2 driver name as 
                follows:</P
@@ -308,17 +299,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3639"
->25.3. Windows for Workgroups</A
-></H1
+NAME="AEN3248">24.3. Windows for Workgroups</H1
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3641"
->25.3.1. Use latest TCP/IP stack from Microsoft</A
-></H2
+NAME="AEN3250">24.3.1. Use latest TCP/IP stack from Microsoft</H2
 ><P
 >Use the latest TCP/IP stack from microsoft if you use Windows
 for workgroups.</P
@@ -338,9 +325,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3646"
->25.3.2. Delete .pwl files after password change</A
-></H2
+NAME="AEN3255">24.3.2. Delete .pwl files after password change</H2
 ><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
@@ -358,9 +343,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3651"
->25.3.3. Configure WfW password handling</A
-></H2
+NAME="AEN3260">24.3.3. Configure WfW password handling</H2
 ><P
 >There is a program call admincfg.exe
 on the last disk (disk 8) of the WFW 3.11 disk set.  To install it
@@ -377,9 +360,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3655"
->25.3.4. Case handling of passwords</A
-></H2
+NAME="AEN3264">24.3.4. Case handling of passwords</H2
 ><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"
@@ -390,30 +371,13 @@ CLASS="COMMAND"
 >password level</B
 > to specify what characters samba should try to uppercase when checking.</P
 ></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3660"
->25.3.5. Use TCP/IP as default protocol</A
-></H2
-><P
->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
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3663"
->25.4. Windows '95/'98</A
-></H1
+NAME="AEN3269">24.4. Windows '95/'98</H1
 ><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
@@ -459,9 +423,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3679"
->25.5. Windows 2000 Service Pack 2</A
-></H1
+NAME="AEN3285">24.5. Windows 2000 Service Pack 2</H1
 ><P
 > 
 There are several annoyances with Windows 2000 SP2. One of which
@@ -571,7 +533,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="compiling.html"
+HREF="bugreport.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -595,7 +557,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->How to compile SAMBA</TD
+>Reporting Bugs</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/htmldocs/p1346.html b/docs/htmldocs/p1346.html
new file mode 100644 (file)
index 0000000..e558561
--- /dev/null
@@ -0,0 +1,917 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Optional configuration</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="PREVIOUS"
+TITLE="Samba as a NT4 domain member"
+HREF="domain-security.html"><LINK
+REL="NEXT"
+TITLE="Integrating MS Windows networks with Samba"
+HREF="integrate-ms-networks.html"></HEAD
+><BODY
+CLASS="PART"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="domain-security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="integrate-ms-networks.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></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.html"
+>Integrating MS Windows networks with Samba</A
+></DT
+><DD
+><DL
+><DT
+>10.1. <A
+HREF="integrate-ms-networks.html#AEN1362"
+>Agenda</A
+></DT
+><DT
+>10.2. <A
+HREF="integrate-ms-networks.html#AEN1384"
+>Name Resolution in a pure Unix/Linux world</A
+></DT
+><DD
+><DL
+><DT
+>10.2.1. <A
+HREF="integrate-ms-networks.html#AEN1400"
+><TT
+CLASS="FILENAME"
+>/etc/hosts</TT
+></A
+></DT
+><DT
+>10.2.2. <A
+HREF="integrate-ms-networks.html#AEN1416"
+><TT
+CLASS="FILENAME"
+>/etc/resolv.conf</TT
+></A
+></DT
+><DT
+>10.2.3. <A
+HREF="integrate-ms-networks.html#AEN1427"
+><TT
+CLASS="FILENAME"
+>/etc/host.conf</TT
+></A
+></DT
+><DT
+>10.2.4. <A
+HREF="integrate-ms-networks.html#AEN1435"
+><TT
+CLASS="FILENAME"
+>/etc/nsswitch.conf</TT
+></A
+></DT
+></DL
+></DD
+><DT
+>10.3. <A
+HREF="integrate-ms-networks.html#AEN1447"
+>Name resolution as used within MS Windows networking</A
+></DT
+><DD
+><DL
+><DT
+>10.3.1. <A
+HREF="integrate-ms-networks.html#AEN1459"
+>The NetBIOS Name Cache</A
+></DT
+><DT
+>10.3.2. <A
+HREF="integrate-ms-networks.html#AEN1464"
+>The LMHOSTS file</A
+></DT
+><DT
+>10.3.3. <A
+HREF="integrate-ms-networks.html#AEN1472"
+>HOSTS file</A
+></DT
+><DT
+>10.3.4. <A
+HREF="integrate-ms-networks.html#AEN1477"
+>DNS Lookup</A
+></DT
+><DT
+>10.3.5. <A
+HREF="integrate-ms-networks.html#AEN1480"
+>WINS Lookup</A
+></DT
+></DL
+></DD
+><DT
+>10.4. <A
+HREF="integrate-ms-networks.html#AEN1492"
+>How browsing functions and how to deploy stable and 
+dependable browsing using Samba</A
+></DT
+><DT
+>10.5. <A
+HREF="integrate-ms-networks.html#AEN1502"
+>MS Windows security options and how to configure 
+Samba for seemless integration</A
+></DT
+><DD
+><DL
+><DT
+>10.5.1. <A
+HREF="integrate-ms-networks.html#AEN1530"
+>Use MS Windows NT as an authentication server</A
+></DT
+><DT
+>10.5.2. <A
+HREF="integrate-ms-networks.html#AEN1538"
+>Make Samba a member of an MS Windows NT security domain</A
+></DT
+><DT
+>10.5.3. <A
+HREF="integrate-ms-networks.html#AEN1555"
+>Configure Samba as an authentication server</A
+></DT
+></DL
+></DD
+><DT
+>10.6. <A
+HREF="integrate-ms-networks.html#AEN1572"
+>Conclusions</A
+></DT
+></DL
+></DD
+><DT
+>11. <A
+HREF="unix-permissions.html"
+>UNIX Permission Bits and Windows NT Access Control Lists</A
+></DT
+><DD
+><DL
+><DT
+>11.1. <A
+HREF="unix-permissions.html#AEN1593"
+>Viewing and changing UNIX permissions using the NT 
+       security dialogs</A
+></DT
+><DT
+>11.2. <A
+HREF="unix-permissions.html#AEN1602"
+>How to view file security on a Samba share</A
+></DT
+><DT
+>11.3. <A
+HREF="unix-permissions.html#AEN1613"
+>Viewing file ownership</A
+></DT
+><DT
+>11.4. <A
+HREF="unix-permissions.html#AEN1633"
+>Viewing file or directory permissions</A
+></DT
+><DD
+><DL
+><DT
+>11.4.1. <A
+HREF="unix-permissions.html#AEN1648"
+>File Permissions</A
+></DT
+><DT
+>11.4.2. <A
+HREF="unix-permissions.html#AEN1662"
+>Directory Permissions</A
+></DT
+></DL
+></DD
+><DT
+>11.5. <A
+HREF="unix-permissions.html#AEN1669"
+>Modifying file or directory permissions</A
+></DT
+><DT
+>11.6. <A
+HREF="unix-permissions.html#AEN1691"
+>Interaction with the standard Samba create mask 
+       parameters</A
+></DT
+><DT
+>11.7. <A
+HREF="unix-permissions.html#AEN1755"
+>Interaction with the standard Samba file attribute 
+       mapping</A
+></DT
+></DL
+></DD
+><DT
+>12. <A
+HREF="pam.html"
+>Configuring PAM for distributed but centrally 
+managed authentication</A
+></DT
+><DD
+><DL
+><DT
+>12.1. <A
+HREF="pam.html#AEN1776"
+>Samba and PAM</A
+></DT
+><DT
+>12.2. <A
+HREF="pam.html#AEN1820"
+>Distributed Authentication</A
+></DT
+><DT
+>12.3. <A
+HREF="pam.html#AEN1827"
+>PAM Configuration in smb.conf</A
+></DT
+></DL
+></DD
+><DT
+>13. <A
+HREF="msdfs.html"
+>Hosting a Microsoft Distributed File System tree on Samba</A
+></DT
+><DD
+><DL
+><DT
+>13.1. <A
+HREF="msdfs.html#AEN1847"
+>Instructions</A
+></DT
+><DD
+><DL
+><DT
+>13.1.1. <A
+HREF="msdfs.html#AEN1882"
+>Notes</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>14. <A
+HREF="printing.html"
+>Printing Support</A
+></DT
+><DD
+><DL
+><DT
+>14.1. <A
+HREF="printing.html#AEN1908"
+>Introduction</A
+></DT
+><DT
+>14.2. <A
+HREF="printing.html#AEN1930"
+>Configuration</A
+></DT
+><DD
+><DL
+><DT
+>14.2.1. <A
+HREF="printing.html#AEN1938"
+>Creating [print$]</A
+></DT
+><DT
+>14.2.2. <A
+HREF="printing.html#AEN1973"
+>Setting Drivers for Existing Printers</A
+></DT
+><DT
+>14.2.3. <A
+HREF="printing.html#AEN1989"
+>Support a large number of printers</A
+></DT
+><DT
+>14.2.4. <A
+HREF="printing.html#AEN2000"
+>Adding New Printers via the Windows NT APW</A
+></DT
+><DT
+>14.2.5. <A
+HREF="printing.html#AEN2030"
+>Samba and Printer Ports</A
+></DT
+></DL
+></DD
+><DT
+>14.3. <A
+HREF="printing.html#AEN2038"
+>The Imprints Toolset</A
+></DT
+><DD
+><DL
+><DT
+>14.3.1. <A
+HREF="printing.html#AEN2042"
+>What is Imprints?</A
+></DT
+><DT
+>14.3.2. <A
+HREF="printing.html#AEN2052"
+>Creating Printer Driver Packages</A
+></DT
+><DT
+>14.3.3. <A
+HREF="printing.html#AEN2055"
+>The Imprints server</A
+></DT
+><DT
+>14.3.4. <A
+HREF="printing.html#AEN2059"
+>The Installation Client</A
+></DT
+></DL
+></DD
+><DT
+>14.4. <A
+HREF="printing.html#AEN2081"
+>Diagnosis</A
+></DT
+><DD
+><DL
+><DT
+>14.4.1. <A
+HREF="printing.html#AEN2083"
+>Introduction</A
+></DT
+><DT
+>14.4.2. <A
+HREF="printing.html#AEN2099"
+>Debugging printer problems</A
+></DT
+><DT
+>14.4.3. <A
+HREF="printing.html#AEN2108"
+>What printers do I have?</A
+></DT
+><DT
+>14.4.4. <A
+HREF="printing.html#AEN2116"
+>Setting up printcap and print servers</A
+></DT
+><DT
+>14.4.5. <A
+HREF="printing.html#AEN2144"
+>Job sent, no output</A
+></DT
+><DT
+>14.4.6. <A
+HREF="printing.html#AEN2155"
+>Job sent, strange output</A
+></DT
+><DT
+>14.4.7. <A
+HREF="printing.html#AEN2167"
+>Raw PostScript printed</A
+></DT
+><DT
+>14.4.8. <A
+HREF="printing.html#AEN2170"
+>Advanced Printing</A
+></DT
+><DT
+>14.4.9. <A
+HREF="printing.html#AEN2173"
+>Real debugging</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>15. <A
+HREF="securitylevels.html"
+>Security levels</A
+></DT
+><DD
+><DL
+><DT
+>15.1. <A
+HREF="securitylevels.html#AEN2186"
+>Introduction</A
+></DT
+><DT
+>15.2. <A
+HREF="securitylevels.html#AEN2197"
+>More complete description of security levels</A
+></DT
+></DL
+></DD
+><DT
+>16. <A
+HREF="winbind.html"
+>Unified Logons between Windows NT and UNIX using Winbind</A
+></DT
+><DD
+><DL
+><DT
+>16.1. <A
+HREF="winbind.html#AEN2249"
+>Abstract</A
+></DT
+><DT
+>16.2. <A
+HREF="winbind.html#AEN2253"
+>Introduction</A
+></DT
+><DT
+>16.3. <A
+HREF="winbind.html#AEN2266"
+>What Winbind Provides</A
+></DT
+><DD
+><DL
+><DT
+>16.3.1. <A
+HREF="winbind.html#AEN2273"
+>Target Uses</A
+></DT
+></DL
+></DD
+><DT
+>16.4. <A
+HREF="winbind.html#AEN2277"
+>How Winbind Works</A
+></DT
+><DD
+><DL
+><DT
+>16.4.1. <A
+HREF="winbind.html#AEN2282"
+>Microsoft Remote Procedure Calls</A
+></DT
+><DT
+>16.4.2. <A
+HREF="winbind.html#AEN2286"
+>Name Service Switch</A
+></DT
+><DT
+>16.4.3. <A
+HREF="winbind.html#AEN2302"
+>Pluggable Authentication Modules</A
+></DT
+><DT
+>16.4.4. <A
+HREF="winbind.html#AEN2310"
+>User and Group ID Allocation</A
+></DT
+><DT
+>16.4.5. <A
+HREF="winbind.html#AEN2314"
+>Result Caching</A
+></DT
+></DL
+></DD
+><DT
+>16.5. <A
+HREF="winbind.html#AEN2317"
+>Installation and Configuration</A
+></DT
+><DD
+><DL
+><DT
+>16.5.1. <A
+HREF="winbind.html#AEN2324"
+>Introduction</A
+></DT
+><DT
+>16.5.2. <A
+HREF="winbind.html#AEN2337"
+>Requirements</A
+></DT
+><DT
+>16.5.3. <A
+HREF="winbind.html#AEN2351"
+>Testing Things Out</A
+></DT
+></DL
+></DD
+><DT
+>16.6. <A
+HREF="winbind.html#AEN2566"
+>Limitations</A
+></DT
+><DT
+>16.7. <A
+HREF="winbind.html#AEN2576"
+>Conclusion</A
+></DT
+></DL
+></DD
+><DT
+>17. <A
+HREF="pdb-mysql.html"
+>Passdb MySQL plugin</A
+></DT
+><DD
+><DL
+><DT
+>17.1. <A
+HREF="pdb-mysql.html#AEN2590"
+>Building</A
+></DT
+><DT
+>17.2. <A
+HREF="pdb-mysql.html#AEN2596"
+>Configuring</A
+></DT
+><DT
+>17.3. <A
+HREF="pdb-mysql.html#AEN2611"
+>Using plaintext passwords or encrypted password</A
+></DT
+><DT
+>17.4. <A
+HREF="pdb-mysql.html#AEN2616"
+>Getting non-column data from the table</A
+></DT
+></DL
+></DD
+><DT
+>18. <A
+HREF="pdb-xml.html"
+>Passdb XML plugin</A
+></DT
+><DD
+><DL
+><DT
+>18.1. <A
+HREF="pdb-xml.html#AEN2635"
+>Building</A
+></DT
+><DT
+>18.2. <A
+HREF="pdb-xml.html#AEN2641"
+>Usage</A
+></DT
+></DL
+></DD
+><DT
+>19. <A
+HREF="samba-ldap-howto.html"
+>Storing Samba's User/Machine Account information in an LDAP Directory</A
+></DT
+><DD
+><DL
+><DT
+>19.1. <A
+HREF="samba-ldap-howto.html#AEN2664"
+>Purpose</A
+></DT
+><DT
+>19.2. <A
+HREF="samba-ldap-howto.html#AEN2684"
+>Introduction</A
+></DT
+><DT
+>19.3. <A
+HREF="samba-ldap-howto.html#AEN2713"
+>Supported LDAP Servers</A
+></DT
+><DT
+>19.4. <A
+HREF="samba-ldap-howto.html#AEN2718"
+>Schema and Relationship to the RFC 2307 posixAccount</A
+></DT
+><DT
+>19.5. <A
+HREF="samba-ldap-howto.html#AEN2730"
+>Configuring Samba with LDAP</A
+></DT
+><DD
+><DL
+><DT
+>19.5.1. <A
+HREF="samba-ldap-howto.html#AEN2732"
+>OpenLDAP configuration</A
+></DT
+><DT
+>19.5.2. <A
+HREF="samba-ldap-howto.html#AEN2749"
+>Configuring Samba</A
+></DT
+></DL
+></DD
+><DT
+>19.6. <A
+HREF="samba-ldap-howto.html#AEN2777"
+>Accounts and Groups management</A
+></DT
+><DT
+>19.7. <A
+HREF="samba-ldap-howto.html#AEN2782"
+>Security and sambaAccount</A
+></DT
+><DT
+>19.8. <A
+HREF="samba-ldap-howto.html#AEN2802"
+>LDAP specials attributes for sambaAccounts</A
+></DT
+><DT
+>19.9. <A
+HREF="samba-ldap-howto.html#AEN2872"
+>Example LDIF Entries for a sambaAccount</A
+></DT
+><DT
+>19.10. <A
+HREF="samba-ldap-howto.html#AEN2880"
+>Comments</A
+></DT
+></DL
+></DD
+><DT
+>20. <A
+HREF="cvs-access.html"
+>HOWTO Access Samba source code via CVS</A
+></DT
+><DD
+><DL
+><DT
+>20.1. <A
+HREF="cvs-access.html#AEN2891"
+>Introduction</A
+></DT
+><DT
+>20.2. <A
+HREF="cvs-access.html#AEN2896"
+>CVS Access to samba.org</A
+></DT
+><DD
+><DL
+><DT
+>20.2.1. <A
+HREF="cvs-access.html#AEN2899"
+>Access via CVSweb</A
+></DT
+><DT
+>20.2.2. <A
+HREF="cvs-access.html#AEN2904"
+>Access via cvs</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>21. <A
+HREF="groupmapping.html"
+>Group mapping HOWTO</A
+></DT
+><DT
+>22. <A
+HREF="speed.html"
+>Samba performance issues</A
+></DT
+><DD
+><DL
+><DT
+>22.1. <A
+HREF="speed.html#AEN2982"
+>Comparisons</A
+></DT
+><DT
+>22.2. <A
+HREF="speed.html#AEN2988"
+>Oplocks</A
+></DT
+><DD
+><DL
+><DT
+>22.2.1. <A
+HREF="speed.html#AEN2990"
+>Overview</A
+></DT
+><DT
+>22.2.2. <A
+HREF="speed.html#AEN2998"
+>Level2 Oplocks</A
+></DT
+><DT
+>22.2.3. <A
+HREF="speed.html#AEN3004"
+>Old 'fake oplocks' option - deprecated</A
+></DT
+></DL
+></DD
+><DT
+>22.3. <A
+HREF="speed.html#AEN3008"
+>Socket options</A
+></DT
+><DT
+>22.4. <A
+HREF="speed.html#AEN3015"
+>Read size</A
+></DT
+><DT
+>22.5. <A
+HREF="speed.html#AEN3020"
+>Max xmit</A
+></DT
+><DT
+>22.6. <A
+HREF="speed.html#AEN3025"
+>Locking</A
+></DT
+><DT
+>22.7. <A
+HREF="speed.html#AEN3029"
+>Share modes</A
+></DT
+><DT
+>22.8. <A
+HREF="speed.html#AEN3034"
+>Log level</A
+></DT
+><DT
+>22.9. <A
+HREF="speed.html#AEN3037"
+>Wide lines</A
+></DT
+><DT
+>22.10. <A
+HREF="speed.html#AEN3040"
+>Read raw</A
+></DT
+><DT
+>22.11. <A
+HREF="speed.html#AEN3045"
+>Write raw</A
+></DT
+><DT
+>22.12. <A
+HREF="speed.html#AEN3049"
+>Read prediction</A
+></DT
+><DT
+>22.13. <A
+HREF="speed.html#AEN3056"
+>Memory mapping</A
+></DT
+><DT
+>22.14. <A
+HREF="speed.html#AEN3061"
+>Slow Clients</A
+></DT
+><DT
+>22.15. <A
+HREF="speed.html#AEN3065"
+>Slow Logins</A
+></DT
+><DT
+>22.16. <A
+HREF="speed.html#AEN3068"
+>Client tuning</A
+></DT
+><DT
+>22.17. <A
+HREF="speed.html#AEN3100"
+>My Results</A
+></DT
+></DL
+></DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="domain-security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="integrate-ms-networks.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Samba as a NT4 domain member</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Integrating MS Windows networks with Samba</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/htmldocs/p18.html b/docs/htmldocs/p18.html
new file mode 100644 (file)
index 0000000..a8f2a3c
--- /dev/null
@@ -0,0 +1,438 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>General installation</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="PREVIOUS"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="NEXT"
+TITLE="How to Install and Test SAMBA"
+HREF="install.html"></HEAD
+><BODY
+CLASS="PART"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="install.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></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.html"
+>How to Install and Test SAMBA</A
+></DT
+><DD
+><DL
+><DT
+>1.1. <A
+HREF="install.html#AEN25"
+>Read the man pages</A
+></DT
+><DT
+>1.2. <A
+HREF="install.html#AEN35"
+>Building the Binaries</A
+></DT
+><DT
+>1.3. <A
+HREF="install.html#AEN63"
+>The all important step</A
+></DT
+><DT
+>1.4. <A
+HREF="install.html#AEN67"
+>Create the smb configuration file.</A
+></DT
+><DT
+>1.5. <A
+HREF="install.html#AEN81"
+>Test your config file with 
+       <B
+CLASS="COMMAND"
+>testparm</B
+></A
+></DT
+><DT
+>1.6. <A
+HREF="install.html#AEN89"
+>Starting the smbd and nmbd</A
+></DT
+><DD
+><DL
+><DT
+>1.6.1. <A
+HREF="install.html#AEN99"
+>Starting from inetd.conf</A
+></DT
+><DT
+>1.6.2. <A
+HREF="install.html#AEN128"
+>Alternative: starting it as a daemon</A
+></DT
+></DL
+></DD
+><DT
+>1.7. <A
+HREF="install.html#AEN144"
+>Try listing the shares available on your 
+       server</A
+></DT
+><DT
+>1.8. <A
+HREF="install.html#AEN153"
+>Try connecting with the unix client</A
+></DT
+><DT
+>1.9. <A
+HREF="install.html#AEN169"
+>Try connecting from a DOS, WfWg, Win9x, WinNT, 
+       Win2k, OS/2, etc... client</A
+></DT
+><DT
+>1.10. <A
+HREF="install.html#AEN183"
+>What If Things Don't Work?</A
+></DT
+><DD
+><DL
+><DT
+>1.10.1. <A
+HREF="install.html#AEN188"
+>Diagnosing Problems</A
+></DT
+><DT
+>1.10.2. <A
+HREF="install.html#AEN192"
+>Scope IDs</A
+></DT
+><DT
+>1.10.3. <A
+HREF="install.html#AEN195"
+>Choosing the Protocol Level</A
+></DT
+><DT
+>1.10.4. <A
+HREF="install.html#AEN204"
+>Printing from UNIX to a Client PC</A
+></DT
+><DT
+>1.10.5. <A
+HREF="install.html#AEN209"
+>Locking</A
+></DT
+><DT
+>1.10.6. <A
+HREF="install.html#AEN218"
+>Mapping Usernames</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>2. <A
+HREF="improved-browsing.html"
+>Improved browsing in samba</A
+></DT
+><DD
+><DL
+><DT
+>2.1. <A
+HREF="improved-browsing.html#AEN228"
+>Overview of browsing</A
+></DT
+><DT
+>2.2. <A
+HREF="improved-browsing.html#AEN232"
+>Browsing support in samba</A
+></DT
+><DT
+>2.3. <A
+HREF="improved-browsing.html#AEN241"
+>Problem resolution</A
+></DT
+><DT
+>2.4. <A
+HREF="improved-browsing.html#AEN248"
+>Browsing across subnets</A
+></DT
+><DD
+><DL
+><DT
+>2.4.1. <A
+HREF="improved-browsing.html#AEN253"
+>How does cross subnet browsing work ?</A
+></DT
+></DL
+></DD
+><DT
+>2.5. <A
+HREF="improved-browsing.html#AEN288"
+>Setting up a WINS server</A
+></DT
+><DT
+>2.6. <A
+HREF="improved-browsing.html#AEN307"
+>Setting up Browsing in a WORKGROUP</A
+></DT
+><DT
+>2.7. <A
+HREF="improved-browsing.html#AEN325"
+>Setting up Browsing in a DOMAIN</A
+></DT
+><DT
+>2.8. <A
+HREF="improved-browsing.html#AEN335"
+>Forcing samba to be the master</A
+></DT
+><DT
+>2.9. <A
+HREF="improved-browsing.html#AEN344"
+>Making samba the domain master</A
+></DT
+><DT
+>2.10. <A
+HREF="improved-browsing.html#AEN362"
+>Note about broadcast addresses</A
+></DT
+><DT
+>2.11. <A
+HREF="improved-browsing.html#AEN365"
+>Multiple interfaces</A
+></DT
+></DL
+></DD
+><DT
+>3. <A
+HREF="oplocks.html"
+>Oplocks</A
+></DT
+><DD
+><DL
+><DT
+>3.1. <A
+HREF="oplocks.html#AEN377"
+>What are oplocks?</A
+></DT
+></DL
+></DD
+><DT
+>4. <A
+HREF="browsing-quick.html"
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
+></DT
+><DD
+><DL
+><DT
+>4.1. <A
+HREF="browsing-quick.html#AEN392"
+>Discussion</A
+></DT
+><DT
+>4.2. <A
+HREF="browsing-quick.html#AEN400"
+>Use of the "Remote Announce" parameter</A
+></DT
+><DT
+>4.3. <A
+HREF="browsing-quick.html#AEN414"
+>Use of the "Remote Browse Sync" parameter</A
+></DT
+><DT
+>4.4. <A
+HREF="browsing-quick.html#AEN419"
+>Use of WINS</A
+></DT
+><DT
+>4.5. <A
+HREF="browsing-quick.html#AEN430"
+>Do NOT use more than one (1) protocol on MS Windows machines</A
+></DT
+><DT
+>4.6. <A
+HREF="browsing-quick.html#AEN436"
+>Name Resolution Order</A
+></DT
+></DL
+></DD
+><DT
+>5. <A
+HREF="pwencrypt.html"
+>LanMan and NT Password Encryption in Samba</A
+></DT
+><DD
+><DL
+><DT
+>5.1. <A
+HREF="pwencrypt.html#AEN472"
+>Introduction</A
+></DT
+><DT
+>5.2. <A
+HREF="pwencrypt.html#AEN477"
+>Important Notes About Security</A
+></DT
+><DD
+><DL
+><DT
+>5.2.1. <A
+HREF="pwencrypt.html#AEN496"
+>Advantages of SMB Encryption</A
+></DT
+><DT
+>5.2.2. <A
+HREF="pwencrypt.html#AEN503"
+>Advantages of non-encrypted passwords</A
+></DT
+></DL
+></DD
+><DT
+>5.3. <A
+HREF="pwencrypt.html#AEN512"
+>The smbpasswd Command</A
+></DT
+></DL
+></DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="install.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>SAMBA Project Documentation</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>How to Install and Test SAMBA</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/htmldocs/p3106.html b/docs/htmldocs/p3106.html
new file mode 100644 (file)
index 0000000..9967d8f
--- /dev/null
@@ -0,0 +1,391 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Appendixes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="PREVIOUS"
+TITLE="Samba performance issues"
+HREF="speed.html"><LINK
+REL="NEXT"
+TITLE="Portability"
+HREF="portability.html"></HEAD
+><BODY
+CLASS="PART"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="speed.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="portability.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></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.html"
+>Portability</A
+></DT
+><DD
+><DL
+><DT
+>23.1. <A
+HREF="portability.html#AEN3115"
+>HPUX</A
+></DT
+><DT
+>23.2. <A
+HREF="portability.html#AEN3121"
+>SCO Unix</A
+></DT
+><DT
+>23.3. <A
+HREF="portability.html#AEN3125"
+>DNIX</A
+></DT
+><DT
+>23.4. <A
+HREF="portability.html#AEN3154"
+>RedHat Linux Rembrandt-II</A
+></DT
+></DL
+></DD
+><DT
+>24. <A
+HREF="other-clients.html"
+>Samba and other CIFS clients</A
+></DT
+><DD
+><DL
+><DT
+>24.1. <A
+HREF="other-clients.html#AEN3175"
+>Macintosh clients?</A
+></DT
+><DT
+>24.2. <A
+HREF="other-clients.html#AEN3184"
+>OS2 Client</A
+></DT
+><DD
+><DL
+><DT
+>24.2.1. <A
+HREF="other-clients.html#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="other-clients.html#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="other-clients.html#AEN3210"
+>Are there any other issues when OS/2 (any version) 
+               is used as a client?</A
+></DT
+><DT
+>24.2.4. <A
+HREF="other-clients.html#AEN3214"
+>How do I get printer driver download working 
+               for OS/2 clients?</A
+></DT
+></DL
+></DD
+><DT
+>24.3. <A
+HREF="other-clients.html#AEN3224"
+>Windows for Workgroups</A
+></DT
+><DD
+><DL
+><DT
+>24.3.1. <A
+HREF="other-clients.html#AEN3226"
+>Use latest TCP/IP stack from Microsoft</A
+></DT
+><DT
+>24.3.2. <A
+HREF="other-clients.html#AEN3231"
+>Delete .pwl files after password change</A
+></DT
+><DT
+>24.3.3. <A
+HREF="other-clients.html#AEN3236"
+>Configure WfW password handling</A
+></DT
+><DT
+>24.3.4. <A
+HREF="other-clients.html#AEN3240"
+>Case handling of passwords</A
+></DT
+></DL
+></DD
+><DT
+>24.4. <A
+HREF="other-clients.html#AEN3245"
+>Windows '95/'98</A
+></DT
+><DT
+>24.5. <A
+HREF="other-clients.html#AEN3261"
+>Windows 2000 Service Pack 2</A
+></DT
+></DL
+></DD
+><DT
+>25. <A
+HREF="bugreport.html"
+>Reporting Bugs</A
+></DT
+><DD
+><DL
+><DT
+>25.1. <A
+HREF="bugreport.html#AEN3285"
+>Introduction</A
+></DT
+><DT
+>25.2. <A
+HREF="bugreport.html#AEN3295"
+>General info</A
+></DT
+><DT
+>25.3. <A
+HREF="bugreport.html#AEN3301"
+>Debug levels</A
+></DT
+><DT
+>25.4. <A
+HREF="bugreport.html#AEN3318"
+>Internal errors</A
+></DT
+><DT
+>25.5. <A
+HREF="bugreport.html#AEN3328"
+>Attaching to a running process</A
+></DT
+><DT
+>25.6. <A
+HREF="bugreport.html#AEN3331"
+>Patches</A
+></DT
+></DL
+></DD
+><DT
+>26. <A
+HREF="diagnosis.html"
+>Diagnosing your samba server</A
+></DT
+><DD
+><DL
+><DT
+>26.1. <A
+HREF="diagnosis.html#AEN3354"
+>Introduction</A
+></DT
+><DT
+>26.2. <A
+HREF="diagnosis.html#AEN3359"
+>Assumptions</A
+></DT
+><DT
+>26.3. <A
+HREF="diagnosis.html#AEN3369"
+>Tests</A
+></DT
+><DD
+><DL
+><DT
+>26.3.1. <A
+HREF="diagnosis.html#AEN3371"
+>Test 1</A
+></DT
+><DT
+>26.3.2. <A
+HREF="diagnosis.html#AEN3377"
+>Test 2</A
+></DT
+><DT
+>26.3.3. <A
+HREF="diagnosis.html#AEN3383"
+>Test 3</A
+></DT
+><DT
+>26.3.4. <A
+HREF="diagnosis.html#AEN3398"
+>Test 4</A
+></DT
+><DT
+>26.3.5. <A
+HREF="diagnosis.html#AEN3403"
+>Test 5</A
+></DT
+><DT
+>26.3.6. <A
+HREF="diagnosis.html#AEN3409"
+>Test 6</A
+></DT
+><DT
+>26.3.7. <A
+HREF="diagnosis.html#AEN3417"
+>Test 7</A
+></DT
+><DT
+>26.3.8. <A
+HREF="diagnosis.html#AEN3443"
+>Test 8</A
+></DT
+><DT
+>26.3.9. <A
+HREF="diagnosis.html#AEN3460"
+>Test 9</A
+></DT
+><DT
+>26.3.10. <A
+HREF="diagnosis.html#AEN3468"
+>Test 10</A
+></DT
+><DT
+>26.3.11. <A
+HREF="diagnosis.html#AEN3474"
+>Test 11</A
+></DT
+></DL
+></DD
+><DT
+>26.4. <A
+HREF="diagnosis.html#AEN3479"
+>Still having troubles?</A
+></DT
+></DL
+></DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="speed.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="portability.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Samba performance issues</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Portability</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/htmldocs/p544.html b/docs/htmldocs/p544.html
new file mode 100644 (file)
index 0000000..502d978
--- /dev/null
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Type of installation</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="PREVIOUS"
+TITLE="LanMan and NT Password Encryption in Samba"
+HREF="pwencrypt.html"><LINK
+REL="NEXT"
+TITLE="How to Configure Samba as a NT4 Primary Domain Controller"
+HREF="samba-pdc.html"></HEAD
+><BODY
+CLASS="PART"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="pwencrypt.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="samba-pdc.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></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.html"
+>How to Configure Samba as a NT4 Primary Domain Controller</A
+></DT
+><DD
+><DL
+><DT
+>6.1. <A
+HREF="samba-pdc.html#AEN566"
+>Prerequisite Reading</A
+></DT
+><DT
+>6.2. <A
+HREF="samba-pdc.html#AEN572"
+>Background</A
+></DT
+><DT
+>6.3. <A
+HREF="samba-pdc.html#AEN611"
+>Configuring the Samba Domain Controller</A
+></DT
+><DT
+>6.4. <A
+HREF="samba-pdc.html#AEN654"
+>Creating Machine Trust Accounts and Joining Clients to the
+Domain</A
+></DT
+><DD
+><DL
+><DT
+>6.4.1. <A
+HREF="samba-pdc.html#AEN673"
+>Manual Creation of Machine Trust Accounts</A
+></DT
+><DT
+>6.4.2. <A
+HREF="samba-pdc.html#AEN714"
+>"On-the-Fly" Creation of Machine Trust Accounts</A
+></DT
+><DT
+>6.4.3. <A
+HREF="samba-pdc.html#AEN723"
+>Joining the Client to the Domain</A
+></DT
+></DL
+></DD
+><DT
+>6.5. <A
+HREF="samba-pdc.html#AEN738"
+>Common Problems and Errors</A
+></DT
+><DT
+>6.6. <A
+HREF="samba-pdc.html#AEN786"
+>System Policies and Profiles</A
+></DT
+><DT
+>6.7. <A
+HREF="samba-pdc.html#AEN830"
+>What other help can I get?</A
+></DT
+><DT
+>6.8. <A
+HREF="samba-pdc.html#AEN944"
+>Domain Control for Windows 9x/ME</A
+></DT
+><DD
+><DL
+><DT
+>6.8.1. <A
+HREF="samba-pdc.html#AEN970"
+>Configuration Instructions:   Network Logons</A
+></DT
+><DT
+>6.8.2. <A
+HREF="samba-pdc.html#AEN989"
+>Configuration Instructions:   Setting up Roaming User Profiles</A
+></DT
+></DL
+></DD
+><DT
+>6.9. <A
+HREF="samba-pdc.html#AEN1082"
+>DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
+></DT
+></DL
+></DD
+><DT
+>7. <A
+HREF="samba-bdc.html"
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</A
+></DT
+><DD
+><DL
+><DT
+>7.1. <A
+HREF="samba-bdc.html#AEN1118"
+>Prerequisite Reading</A
+></DT
+><DT
+>7.2. <A
+HREF="samba-bdc.html#AEN1122"
+>Background</A
+></DT
+><DT
+>7.3. <A
+HREF="samba-bdc.html#AEN1130"
+>What qualifies a Domain Controller on the network?</A
+></DT
+><DD
+><DL
+><DT
+>7.3.1. <A
+HREF="samba-bdc.html#AEN1133"
+>How does a Workstation find its domain controller?</A
+></DT
+><DT
+>7.3.2. <A
+HREF="samba-bdc.html#AEN1136"
+>When is the PDC needed?</A
+></DT
+></DL
+></DD
+><DT
+>7.4. <A
+HREF="samba-bdc.html#AEN1139"
+>Can Samba be a Backup Domain Controller?</A
+></DT
+><DT
+>7.5. <A
+HREF="samba-bdc.html#AEN1143"
+>How do I set up a Samba BDC?</A
+></DT
+><DD
+><DL
+><DT
+>7.5.1. <A
+HREF="samba-bdc.html#AEN1160"
+>How do I replicate the smbpasswd file?</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>8. <A
+HREF="ads.html"
+>Samba as a ADS domain member</A
+></DT
+><DD
+><DL
+><DT
+>8.1. <A
+HREF="ads.html#AEN1178"
+>Installing the required packages for Debian</A
+></DT
+><DT
+>8.2. <A
+HREF="ads.html#AEN1184"
+>Installing the required packages for RedHat</A
+></DT
+><DT
+>8.3. <A
+HREF="ads.html#AEN1193"
+>Compile Samba</A
+></DT
+><DT
+>8.4. <A
+HREF="ads.html#AEN1205"
+>Setup your /etc/krb5.conf</A
+></DT
+><DT
+>8.5. <A
+HREF="ads.html#AEN1215"
+>Create the computer account</A
+></DT
+><DD
+><DL
+><DT
+>8.5.1. <A
+HREF="ads.html#AEN1219"
+>Possible errors</A
+></DT
+></DL
+></DD
+><DT
+>8.6. <A
+HREF="ads.html#AEN1231"
+>Test your server setup</A
+></DT
+><DT
+>8.7. <A
+HREF="ads.html#AEN1236"
+>Testing with smbclient</A
+></DT
+><DT
+>8.8. <A
+HREF="ads.html#AEN1239"
+>Notes</A
+></DT
+></DL
+></DD
+><DT
+>9. <A
+HREF="domain-security.html"
+>Samba as a NT4 domain member</A
+></DT
+><DD
+><DL
+><DT
+>9.1. <A
+HREF="domain-security.html#AEN1261"
+>Joining an NT Domain with Samba 2.2</A
+></DT
+><DT
+>9.2. <A
+HREF="domain-security.html#AEN1325"
+>Samba and Windows 2000 Domains</A
+></DT
+><DT
+>9.3. <A
+HREF="domain-security.html#AEN1330"
+>Why is this better than security = server?</A
+></DT
+></DL
+></DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="pwencrypt.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="samba-pdc.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>LanMan and NT Password Encryption in Samba</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>How to Configure Samba as a NT4 Primary Domain Controller</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index 85e080167e631dba49a84b2f511399692a3252a6..ba2bf6c92235d9e37a2e34025ca8b803078fe09d 100644 (file)
@@ -6,19 +6,20 @@
 managed authentication</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Group mapping HOWTO"
-HREF="groupmapping.html"><LINK
+TITLE="UNIX Permission Bits and Windows NT Access Control Lists"
+HREF="unix-permissions.html"><LINK
 REL="NEXT"
-TITLE="Printing Support"
-HREF="printing.html"></HEAD
+TITLE="Hosting a Microsoft Distributed File System tree on Samba"
+HREF="msdfs.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -46,7 +47,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="groupmapping.html"
+HREF="unix-permissions.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -60,7 +61,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="printing.html"
+HREF="msdfs.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -73,18 +74,14 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="PAM"
-></A
->Chapter 13. Configuring PAM for distributed but centrally 
+NAME="PAM">Chapter 12. Configuring PAM for distributed but centrally 
 managed authentication</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1866"
->13.1. Samba and PAM</A
-></H1
+NAME="AEN1788">12.1. Samba and PAM</H1
 ><P
 >A number of Unix systems (eg: Sun Solaris), as well as the 
 xxxxBSD family and Linux, now utilize the Pluggable Authentication 
@@ -119,45 +116,6 @@ or by editing individual files that are located in <TT
 CLASS="FILENAME"
 >/etc/pam.d</TT
 >.</P
-><DIV
-CLASS="NOTE"
-><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->      If the PAM authentication module (loadable link library file) is located in the
-       default location then it is not necessary to specify the path. In the case of
-       Linux, the default location is <TT
-CLASS="FILENAME"
->/lib/security</TT
->. If the module
-       is located other than default then the path may be specified as:
-       
-       <PRE
-CLASS="PROGRAMLISTING"
->      eg: "auth       required      /other_path/pam_strange_module.so"
-       </PRE
->
-       </P
-></TD
-></TR
-></TABLE
-></DIV
 ><P
 >The following is an example <TT
 CLASS="FILENAME"
@@ -173,20 +131,20 @@ CLASS="FILENAME"
 ><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
+>#%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 
@@ -194,19 +152,19 @@ 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
+>$ /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 
@@ -269,13 +227,13 @@ 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
+>#%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 
@@ -286,13 +244,13 @@ CLASS="FILENAME"
 ><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
+>#%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 
@@ -303,36 +261,16 @@ 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
+>#%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
-><DIV
-CLASS="NOTE"
 ><P
-></P
-><TABLE
-CLASS="NOTE"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->PAM allows stacking of authentication mechanisms. It is 
+>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 
@@ -349,19 +287,13 @@ CLASS="FILENAME"
 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
-></TD
-></TR
-></TABLE
-></DIV
 ></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1915"
->13.2. Distributed Authentication</A
-></H1
+NAME="AEN1832">12.2. Distributed Authentication</H1
 ><P
 >The astute administrator will realize from this that the 
 combination of <TT
@@ -371,9 +303,16 @@ CLASS="FILENAME"
 <B
 CLASS="COMMAND"
 >winbindd</B
->, and a distributed 
-passdb backend, such as ldap, will allow the establishment of a
-centrally managed, distributed 
+>, 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 
@@ -385,9 +324,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1920"
->13.3. PAM Configuration in smb.conf</A
-></H1
+NAME="AEN1839">12.3. PAM Configuration in smb.conf</H1
 ><P
 >There is an option in smb.conf called <A
 HREF="smb.conf.5.html#OBEYPAMRESTRICTIONS"
@@ -396,10 +333,10 @@ TARGET="_top"
 >. 
 The following is from the on-line help for this option in SWAT;</P
 ><P
->When Samba is configured to enable PAM support (i.e. 
-<CODE
+>When Samba 2.2 is configure to enable PAM support (i.e. 
+<TT
 CLASS="CONSTANT"
->--with-pam</CODE
+>--with-pam</TT
 >), this parameter will 
 control whether or not Samba should obey PAM's account 
 and session management directives. The default behavior 
@@ -437,7 +374,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="groupmapping.html"
+HREF="unix-permissions.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -455,7 +392,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="printing.html"
+HREF="msdfs.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -465,7 +402,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Group mapping HOWTO</TD
+>UNIX Permission Bits and Windows NT Access Control Lists</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -479,7 +416,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Printing Support</TD
+>Hosting a Microsoft Distributed File System tree on Samba</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/htmldocs/passdb.html b/docs/htmldocs/passdb.html
deleted file mode 100644 (file)
index 8a7c26b..0000000
+++ /dev/null
@@ -1,1673 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->User information database</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="SAMBA Project Documentation"
-HREF="samba-howto-collection.html"><LINK
-REL="UP"
-TITLE="General installation"
-HREF="introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="Quick Cross Subnet Browsing / Cross Workgroup Browsing guide"
-HREF="browsing-quick.html"><LINK
-REL="NEXT"
-TITLE="Type of installation"
-HREF="type.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->SAMBA Project Documentation</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="browsing-quick.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="type.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="PASSDB"
-></A
->Chapter 3. User information database</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN244"
->3.1. Introduction</A
-></H1
-><P
->Old windows clients send plain text passwords over the wire. 
-       Samba can check these passwords by crypting them and comparing them 
-       to the hash stored in the unix user database.
-       </P
-><P
->      Newer windows clients send encrypted passwords (so-called 
-       Lanman and NT hashes) 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. </P
-><P
->Next to a differently encrypted passwords, 
-       windows also stores certain data for each user 
-       that is not stored in a unix user database, e.g. 
-       workstations the user may logon from, the location where his/her 
-       profile is stored, etc.
-       Samba retrieves and stores this information using a "passdb backend".
-       Commonly
-       available backends are LDAP, plain text file, MySQL and nisplus.
-       For more information, see the documentation about the 
-       <B
-CLASS="COMMAND"
->passdb backend = </B
-> parameter.
-       </P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN251"
->3.2. Important Notes About Security</A
-></H1
-><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 data stored in whatever 
-       passdb backend you use (smbpasswd file, ldap, mysql) 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="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/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
-> These versions of MS Windows do not support full domain
-               security protocols, although they may log onto a domain environment.
-               Of these Only MS Windows XP Home does NOT support domain logons.</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->MS DOS Network client 3.0 with 
-                       the basic network redirector installed</TD
-></TR
-><TR
-><TD
->Windows 95 with the network redirector 
-                       update installed</TD
-></TR
-><TR
-><TD
->Windows 98 [se]</TD
-></TR
-><TR
-><TD
->Windows Me</TD
-></TR
-><TR
-><TD
->Windows XP Home</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
-> The following versions of MS Windows fully support domain
-               security protocols.</P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Windows NT 3.5x</TD
-></TR
-><TR
-><TD
->Windows NT 4.0</TD
-></TR
-><TR
-><TD
->Windows 2000 Professional</TD
-></TR
-><TR
-><TD
->Windows 200x Server/Advanced Server</TD
-></TR
-><TR
-><TD
->Windows XP Professional</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><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
-><P
->MS Windows clients will cache the encrypted password alone.
-               Even when plain text passwords are re-enabled, through the appropriate
-               registry change, the plain text password is NEVER cached. This means that
-               in the event that a network connections should become disconnected (broken)
-               only the cached (encrypted) password will be sent to the resource server
-               to affect a auto-reconnect. If the resource server does not support encrypted
-               passwords the auto-reconnect will fail. <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->USE OF ENCRYPTED PASSWORDS
-               IS STRONGLY ADVISED.</I
-></SPAN
-></P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN277"
->3.2.1. Advantages of SMB Encryption</A
-></H2
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Plain text passwords are not passed across 
-                       the network. Someone using a network sniffer cannot just 
-                       record passwords going to the SMB server.</TD
-></TR
-><TR
-><TD
->WinNT doesn't like talking to a server 
-                       that SM not support 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.
-                       </TD
-></TR
-><TR
-><TD
->Encrypted password support allows auto-matic share
-                       (resource) reconnects.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN283"
->3.2.2. Advantages of non-encrypted passwords</A
-></H2
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->Plain text passwords are not kept 
-                       on disk, and are NOT cached in memory. </TD
-></TR
-><TR
-><TD
->Uses same password file as other unix 
-                       services such as login and ftp</TD
-></TR
-><TR
-><TD
->Use of 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.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN289"
->3.3. The smbpasswd Command</A
-></H1
-><P
->The smbpasswd utility is a utility similar to the 
-       <B
-CLASS="COMMAND"
->passwd</B
-> or <B
-CLASS="COMMAND"
->yppasswd</B
-> programs.
-       It maintains the two 32 byte password fields in the passdb backend. </P
-><P
-><B
-CLASS="COMMAND"
->smbpasswd</B
-> 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
-> 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
-><SAMP
-CLASS="PROMPT"
->$ </SAMP
-><KBD
-CLASS="USERINPUT"
->smbpasswd</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->Old SMB password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;type old value here - 
-       or hit return if there was no old password&#62;</KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->New SMB Password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;type new value&#62;
-       </KBD
-></P
-><P
-><SAMP
-CLASS="PROMPT"
->Repeat New SMB Password: </SAMP
-><KBD
-CLASS="USERINPUT"
->&#60;re-type new value
-       </KBD
-></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
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN320"
->3.4. Plain text</A
-></H1
-><P
->Older versions of samba retrieved user information from the unix user database 
-and eventually some other fields from the file <TT
-CLASS="FILENAME"
->/etc/samba/smbpasswd</TT
->
-or <TT
-CLASS="FILENAME"
->/etc/smbpasswd</TT
->. When password encryption is disabled, no 
-data is stored at all.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN325"
->3.5. TDB</A
-></H1
-><P
->Samba can also store the user data in a "TDB" (Trivial Database). Using this backend 
-doesn't require any additional configuration. This backend is recommended for new installations who 
-don't require LDAP.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN328"
->3.6. LDAP</A
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN330"
->3.6.1. Introduction</A
-></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-3-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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN350"
->3.6.2. Introduction</A
-></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. <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
-> or
-<VAR
-CLASS="PARAMETER"
->--with-tdbsam</VAR
->) requires compile time support.</P
-><P
->When compiling Samba to include the <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
-> 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 <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
->
-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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN379"
->3.6.3. Supported LDAP Servers</A
-></H2
-><P
->The LDAP samdb code in 2.2.3 (and later) 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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN384"
->3.6.4. Schema and Relationship to the RFC 2307 posixAccount</A
-></H2
-><P
->Samba 3.0 includes the necessary schema file for OpenLDAP 2.0 in
-<TT
-CLASS="FILENAME"
->examples/LDAP/samba.schema</TT
->.  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
-<CODE
-CLASS="CONSTANT"
->STRUCTURAL</CODE
-> 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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN396"
->3.6.5. Configuring Samba with LDAP</A
-></H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN398"
->3.6.5.1. OpenLDAP configuration</A
-></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
-><SAMP
-CLASS="PROMPT"
->root# </SAMP
-><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="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN415"
->3.6.5.2. Configuring Samba</A
-></H3
-><P
->The following parameters are available in smb.conf only with <VAR
-CLASS="PARAMETER"
->--with-ldapsam</VAR
->
-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 <VAR
-CLASS="REPLACEABLE"
->secretpw</VAR
->' 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 = "(&#38;(uid=%u)(objectclass=sambaAccount))"</PRE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN443"
->3.6.6. Accounts and Groups management</A
-></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 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).</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN448"
->3.6.7. Security and sambaAccount</A
-></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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN468"
->3.6.8. LDAP specials attributes for sambaAccounts</A
-></H2
-><P
->The sambaAccount objectclass is composed of the following attributes:</P
-><P
-></P
-><UL
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->lmPassword</CODE
->: the LANMAN password 16-byte hash stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->ntPassword</CODE
->: the NT password hash 16-byte stored as a character
-       representation of a hexidecimal string.</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdLastSet</CODE
->: The integer time in seconds since 1970 when the
-       <CODE
-CLASS="CONSTANT"
->lmPassword</CODE
-> and <CODE
-CLASS="CONSTANT"
->ntPassword</CODE
-> attributes were last set.
-       </P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->acctFlags</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->logonTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->logoffTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->kickoffTime</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdCanChange</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->pwdMustChange</CODE
->: Integer value currently unused</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->homeDrive</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->scriptPath</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->profilePath</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->smbHome</CODE
->: 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
-><CODE
-CLASS="CONSTANT"
->userWorkstation</CODE
->: character string value currently unused.
-       </P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->rid</CODE
->: the integer representation of the user's relative identifier
-       (RID).</P
-></LI
-><LI
-><P
-><CODE
-CLASS="CONSTANT"
->primaryGroupID</CODE
->: 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 <VAR
-CLASS="PARAMETER"
->logon home</VAR
-> 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 <VAR
-CLASS="PARAMETER"
->logon home</VAR
-> 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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN538"
->3.6.9. Example LDIF Entries for a sambaAccount</A
-></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
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN546"
->3.7. MySQL</A
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN548"
->3.7.1. Building</A
-></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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN554"
->3.7.2. Creating the database</A
-></H2
-><P
->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 <TT
-CLASS="FILENAME"
->examples/pdb/mysql/mysql.dump</TT
-> 
-contains the correct queries to create the required tables. Use the command :
-
-<B
-CLASS="COMMAND"
->mysql -u<VAR
-CLASS="REPLACEABLE"
->username</VAR
-> -h<VAR
-CLASS="REPLACEABLE"
->hostname</VAR
-> -p<VAR
-CLASS="REPLACEABLE"
->password</VAR
-> <VAR
-CLASS="REPLACEABLE"
->databasename</VAR
-> &#60; <TT
-CLASS="FILENAME"
->/path/to/samba/examples/pdb/mysql/mysql.dump</TT
-></B
->&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN564"
->3.7.3. Configuring</A
-></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
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->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.</P
-></TD
-></TR
-></TABLE
-></DIV
-><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: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</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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN581"
->3.7.4. Using plaintext passwords or encrypted password</A
-></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:plain pass column' to the name of the column containing the plaintext passwords. </P
-><P
->If you use encrypted passwords, set the 'identifier:plain pass column' to 'NULL' (without the quotes). This is the default.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN586"
->3.7.5. Getting non-column data from the table</A
-></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="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN594"
->3.8. Passdb XML plugin</A
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN596"
->3.8.1. Building</A
-></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="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN602"
->3.8.2. Usage</A
-></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
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="browsing-quick.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-howto-collection.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="type.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Type of installation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/docs/htmldocs/pdb-mysql.html b/docs/htmldocs/pdb-mysql.html
new file mode 100644 (file)
index 0000000..abca946
--- /dev/null
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Passdb MySQL plugin</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
+REL="PREVIOUS"
+TITLE="Unified Logons between Windows NT and UNIX using Winbind"
+HREF="winbind.html"><LINK
+REL="NEXT"
+TITLE="Passdb XML plugin"
+HREF="pdb-xml.html"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="winbind.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="pdb-xml.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="PDB-MYSQL">Chapter 16. Passdb MySQL plugin</H1
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2566">16.1. Building</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2572">16.2. Configuring</H1
+><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
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="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.</I
+></SPAN
+></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: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</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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2589">16.3. Using plaintext passwords or encrypted password</H1
+><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:plain pass column' to the name of the column containing the plaintext passwords. </P
+><P
+>If you use encrypted passwords, set the 'identifier:plain pass column' to 'NULL' (without the quotes). This is the default.</P
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2594">16.4. Getting non-column data from the table</H1
+><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="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="winbind.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="pdb-xml.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Unified Logons between Windows NT and UNIX using Winbind</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="optional.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Passdb XML plugin</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
similarity index 51%
rename from docs/faq/faq-config.html
rename to docs/htmldocs/pdb-xml.html
index 67b5ca2b35a75381104f3386a7e992beaa55f531..4d300d7be01caf9d9251aa113ba8706a15a1ef79 100644 (file)
@@ -2,19 +2,23 @@
 <HTML
 ><HEAD
 ><TITLE
->Configuration problems</TITLE
+>Passdb XML plugin</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
-TITLE="Samba FAQ"
-HREF="samba-faq.html"><LINK
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Compiling and installing Samba on a Unix host"
-HREF="faq-install.html"><LINK
+TITLE="Passdb MySQL plugin"
+HREF="pdb-mysql.html"><LINK
 REL="NEXT"
-TITLE="Specific client application problems"
-HREF="faq-clientapp.html"></HEAD
+TITLE="Stackable VFS modules"
+HREF="vfs.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -34,7 +38,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->Samba FAQ</TH
+>SAMBA Project Documentation</TH
 ></TR
 ><TR
 ><TD
@@ -42,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="faq-install.html"
+HREF="pdb-mysql.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq-clientapp.html"
+HREF="vfs.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -69,35 +73,48 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="FAQ-CONFIG"
-></A
->Chapter 3. Configuration problems</H1
+NAME="PDB-XML">Chapter 17. Passdb XML plugin</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN169"
->3.1. I have set 'force user' and samba still makes 'root' the owner of all the files I touch!</A
-></H1
+NAME="AEN2613">17.1. Building</H1
 ><P
->When you have a user in 'admin users', samba will always do file operations for 
-this user as 'root', even if 'force user' has been set.</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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN172"
->3.2. I have just installed samba and I'm trying to log in from Windows, but samba refuses all logins!</A
-></H1
+NAME="AEN2619">17.2. Usage</H1
 ><P
->Newer windows clients(NT4, 2000, XP) send encrypted passwords. Samba can't compare these 
-passwords to the unix password database, so it needs it's own user database. You can 
-add users to this database using "smbpasswd -a user-name".</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
->See also the "User database" chapter of the samba HOWTO Collection.</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
@@ -116,7 +133,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="faq-install.html"
+HREF="pdb-mysql.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -125,7 +142,7 @@ WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="samba-faq.html"
+HREF="samba-howto-collection.html"
 ACCESSKEY="H"
 >Home</A
 ></TD
@@ -134,7 +151,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq-clientapp.html"
+HREF="vfs.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -144,17 +161,21 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Compiling and installing Samba on a Unix host</TD
+>Passdb MySQL plugin</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
->&nbsp;</TD
+><A
+HREF="optional.html"
+ACCESSKEY="U"
+>Up</A
+></TD
 ><TD
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Specific client application problems</TD
+>Stackable VFS modules</TD
 ></TR
 ></TABLE
 ></DIV
index ee7b98021198ca184516c4de48c20cc230f5152e..7b85e2bb80fc4c0698936be218932879e5d84322 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >pdbedit</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="PDBEDIT.8"
-></A
->pdbedit</H1
+NAME="PDBEDIT">pdbedit</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -29,30 +28,26 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >pdbedit</B
->  [-l] [-v] [-w] [-u username] [-f fullname] [-h homedir] [-D drive] [-S script] [-p profile] [-a] [-m] [-x] [-i passdb-backend] [-e passdb-backend] [-b passdb-backend] [-d debuglevel] [-s configfile] [-P account-policy] [-V value]</P
+> [-l] [-v] [-w] [-u username] [-f fullname] [-h homedir] [-D drive] [-S script] [-p profile] [-a] [-m] [-x] [-i passdb-backend] [-e passdb-backend] [-g] [-b passdb-backend] [-d debuglevel] [-s configfile] [-P account-policy] [-V value]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN30"
+NAME="AEN31"
 ></A
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >The pdbedit program is used to manage the users accounts
@@ -70,7 +65,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN39"
+NAME="AEN38"
 ></A
 ><H2
 >OPTIONS</H2
@@ -93,10 +88,20 @@ CLASS="COMMAND"
 >pdbedit -l</B
 ></P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
-CLASS="SCREEN"
->sorce:500:Simo Sorce
-samba:45:Test User</PRE
+CLASS="PROGRAMLISTING"
+>              sorce:500:Simo Sorce
+               samba:45:Test User
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
@@ -112,26 +117,36 @@ CLASS="COMMAND"
 >pdbedit -l -v</B
 ></P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
-CLASS="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</PRE
+CLASS="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
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
@@ -144,23 +159,35 @@ Profile Path:   \\BERSERKER\profile</PRE
                <TT
 CLASS="FILENAME"
 >smbpasswd</TT
-> file format. (see the
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
+> file format. (see the <A
+HREF="smbpasswd.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smbpasswd(5)</TT
+></A
 > for details)</P
 ><P
 >Example: <B
 CLASS="COMMAND"
 >pdbedit -l -w</B
 ></P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
-CLASS="SCREEN"
->sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
-samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:</PRE
+CLASS="PROGRAMLISTING"
+>              sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
+               samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:
+               </PRE
+></TD
+></TR
+></TABLE
+></P
 ></DD
 ><DT
 >-u username</DT
@@ -168,19 +195,13 @@ samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX
 ><P
 >This option specifies the username to be
                used for the operation requested (listing, adding, removing).
-               It is <SPAN
-CLASS="emphasis"
-><I
+               It is <I
 CLASS="EMPHASIS"
 >required</I
-></SPAN
 > in add, remove and modify
-               operations and <SPAN
-CLASS="emphasis"
-><I
+               operations and <I
 CLASS="EMPHASIS"
 >optional</I
-></SPAN
 > in list
                operations.</P
 ></DD
@@ -266,20 +287,32 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >pdbedit -a -u sorce</B
 >
-<PRE
+               <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >new password:
-retype new password</PRE
-></P
+               retype new password</PRE
+></TD
+></TR
+></TABLE
+>
+                </P
 ></DD
 ><DT
 >-m</DT
 ><DD
 ><P
 >This option may only be used in conjunction 
-               with the <VAR
+               with the <TT
 CLASS="PARAMETER"
->-a</VAR
+><I
+>-a</I
+></TT
 > option. It will make
                pdbedit to add a machine trust account instead of a user
                account (-u username will provide the machine name).</P
@@ -336,6 +369,28 @@ CLASS="COMMAND"
 ></P
 ></DD
 ><DT
+>-g</DT
+><DD
+><P
+>If you specify <TT
+CLASS="PARAMETER"
+><I
+>-g</I
+></TT
+>,
+               then <TT
+CLASS="PARAMETER"
+><I
+>-i in-backend -e out-backend</I
+></TT
+>
+               applies to the group mapping instead of the user database.
+               </P
+><P
+>This option will ease migration from one passdb backend to
+               another and will ease backing up.</P
+></DD
+><DT
 >-b passdb-backend</DT
 ><DD
 ><P
@@ -361,9 +416,19 @@ CLASS="COMMAND"
 >pdbedit -P "bad lockout attempt"</B
 ></P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->account policy value for bad lockout attempt is 0</PRE
+>              account policy value for bad lockout attempt is 0
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
@@ -372,9 +437,11 @@ CLASS="PROGRAMLISTING"
 ><P
 >Sets an account policy to a specified value. 
                This option may only be used in conjunction
-               with the <VAR
+               with the <TT
 CLASS="PARAMETER"
->-P</VAR
+><I
+>-P</I
+></TT
 > option.
                </P
 ><P
@@ -383,19 +450,31 @@ CLASS="COMMAND"
 >pdbedit -P "bad lockout attempt" -V 3</B
 ></P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->account policy value for bad lockout attempt was 0
-account policy value for bad lockout attempt is now 3</PRE
+>              account policy value for bad lockout attempt was 0
+               account policy value for bad lockout attempt is now 3
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
 >-d|--debug=debuglevel</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer 
 from 0 to 10.  The default value if this parameter is 
 not specified is zero.</P
@@ -460,7 +539,7 @@ compile time.</P
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN184"
+NAME="AEN190"
 ></A
 ><H2
 >NOTES</H2
@@ -470,7 +549,7 @@ NAME="AEN184"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN187"
+NAME="AEN193"
 ></A
 ><H2
 >VERSION</H2
@@ -481,29 +560,27 @@ NAME="AEN187"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN190"
+NAME="AEN196"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->samba</SPAN
->(7)</SPAN
-></P
+><A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+>smbpasswd(8)</A
+>, 
+       <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN199"
+NAME="AEN201"
 ></A
 ><H2
 >AUTHOR</H2
@@ -515,14 +592,14 @@ NAME="AEN199"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 6efc264635bd262ffe0b4e7b6eb919ff52ed66c7..424fbe5c6ca1a1f5d8708b00485e3b35d904625c 100644 (file)
@@ -5,7 +5,8 @@
 >Portability</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,8 +14,8 @@ REL="UP"
 TITLE="Appendixes"
 HREF="appendixes.html"><LINK
 REL="PREVIOUS"
-TITLE="Samba performance issues"
-HREF="speed.html"><LINK
+TITLE="Appendixes"
+HREF="appendixes.html"><LINK
 REL="NEXT"
 TITLE="Samba and other CIFS clients"
 HREF="other-clients.html"></HEAD
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="speed.html"
+HREF="appendixes.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -72,9 +73,7 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="PORTABILITY"
-></A
->Chapter 24. Portability</H1
+NAME="PORTABILITY">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 
@@ -84,9 +83,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3525"
->24.1. HPUX</A
-></H1
+NAME="AEN3139">23.1. HPUX</H1
 ><P
 >HP's implementation of supplementary groups is, er, non-standard (for
 hysterical reasons).  There are two group files, /etc/group and
@@ -114,9 +111,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3531"
->24.2. SCO Unix</A
-></H1
+NAME="AEN3145">23.2. SCO Unix</H1
 ><P
 > 
 If you run an old version of  SCO Unix then you may need to get important 
@@ -131,9 +126,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3535"
->24.3. DNIX</A
-></H1
+NAME="AEN3149">23.3. DNIX</H1
 ><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
@@ -238,9 +231,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3564"
->24.4. RedHat Linux Rembrandt-II</A
-></H1
+NAME="AEN3178">23.4. RedHat Linux Rembrandt-II</H1
 ><P
 >By default RedHat Rembrandt-II during installation adds an
 entry to /etc/hosts as follows:
@@ -257,27 +248,6 @@ is the master browse list holder and who is the master browser.</P
 >Corrective Action:    Delete the entry after the word loopback
        in the line starting 127.0.0.1</P
 ></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3570"
->24.5. AIX</A
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3572"
->24.5.1. Sequential Read Ahead</A
-></H2
-><P
->Disabling Sequential Read Ahead using "vmtune -r 0" improves 
-samba performance significally.</P
-></DIV
-></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -295,7 +265,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="speed.html"
+HREF="appendixes.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -323,7 +293,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Samba performance issues</TD
+>Appendixes</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
index 7834e0d884aa177ef94681fd4adced373a5831ca..46ebbcdf84ec35f28cc2585e4080b21358eb7c8f 100644 (file)
@@ -5,20 +5,20 @@
 >Printing Support</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Configuring PAM for distributed but centrally 
-managed authentication"
-HREF="pam.html"><LINK
+TITLE="Hosting a Microsoft Distributed File System tree on Samba"
+HREF="msdfs.html"><LINK
 REL="NEXT"
-TITLE="CUPS Printing Support"
-HREF="cups-printing.html"></HEAD
+TITLE="Unified Logons between Windows NT and UNIX using Winbind"
+HREF="winbind.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -46,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="pam.html"
+HREF="msdfs.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -60,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="cups-printing.html"
+HREF="winbind.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -73,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="PRINTING"
-></A
->Chapter 14. Printing Support</H1
+NAME="PRINTING">Chapter 14. Printing Support</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1946"
->14.1. Introduction</A
-></H1
+NAME="AEN1920">14.1. Introduction</H1
 ><P
 >Beginning with the 2.2.0 release, Samba supports 
 the native Windows NT printing mechanisms implemented via 
@@ -164,9 +160,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1968"
->14.2. Configuration</A
-></H1
+NAME="AEN1942">14.2. Configuration</H1
 ><DIV
 CLASS="WARNING"
 ><P
@@ -181,7 +175,7 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
 ALT="Warning"></TD
 ><TH
@@ -205,15 +199,19 @@ 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 <VAR
+parameter named <TT
 CLASS="PARAMETER"
->printer driver location</VAR
+><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 <VAR
+parameter named <TT
 CLASS="PARAMETER"
->printer driver</VAR
+><I
+>printer driver</I
+></TT
 > provided 
 a means of defining the printer driver name to be sent to 
 the client.</P
@@ -226,9 +224,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1976"
->14.2.1. Creating [print$]</A
-></H2
+NAME="AEN1950">14.2.1. Creating [print$]</H2
 ><P
 >In order to support the uploading of printer driver 
 files, you must first configure a file share named [print$].  
@@ -267,9 +263,11 @@ CLASS="PROGRAMLISTING"
 >The <A
 HREF="smb.conf.5.html#WRITELIST"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->write list</VAR
+><I
+>write list</I
+></TT
 ></A
 > is used to allow administrative 
 level user accounts to have write access in order to update files 
@@ -305,7 +303,7 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
+SRC="../images/note.gif"
 HSPACE="5"
 ALT="Note"></TD
 ><TH
@@ -376,7 +374,7 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
 ALT="Warning"></TD
 ><TH
@@ -409,10 +407,12 @@ one of two conditions must hold true:</P
        must be a member of the <A
 HREF="smb.conf.5.html#PRINTERADMIN"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printer 
-       admin</VAR
+       admin</I
+></TT
 ></A
 > list.</P
 ></LI
@@ -428,9 +428,11 @@ that all file shares are set to 'read only' by default.</P
 ><P
 >Once you have created the required [print$] service and 
 associated subdirectories, simply log onto the Samba server using 
-a root (or <VAR
+a root (or <TT
 CLASS="PARAMETER"
->printer admin</VAR
+><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
@@ -443,9 +445,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2011"
->14.2.2. Setting Drivers for Existing Printers</A
-></H2
+NAME="AEN1985">14.2.2. Setting Drivers for Existing Printers</H2
 ><P
 >The initial listing of printers in the Samba host's 
 Printers folder will have no real printer driver assigned 
@@ -515,9 +515,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2027"
->14.2.3. Support a large number of printers</A
-></H2
+NAME="AEN2001">14.2.3. Support a large number of printers</H2
 ><P
 >One issue that has arisen during the development
 phase of Samba 2.2 is the need to support driver downloads for
@@ -538,9 +536,9 @@ of how this could be accomplished:</P
 ><PRE
 CLASS="PROGRAMLISTING"
 > 
-<SAMP
+<TT
 CLASS="PROMPT"
->$ </SAMP
+>$ </TT
 >rpcclient pogo -U root%secret -c "enumdrivers"
 Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
  
@@ -554,9 +552,9 @@ Printer Driver Info 1:
 Printer Driver Info 1:
      Driver Name: [HP LaserJet 4Si/4SiMX PS]
                                  
-<SAMP
+<TT
 CLASS="PROMPT"
->$ </SAMP
+>$ </TT
 >rpcclient pogo -U root%secret -c "enumprinters"
 Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
      flags:[0x800000]
@@ -564,13 +562,13 @@ Domain=[NARNIA] OS=[Unix] Server=[Samba 2.2.0-alpha3]
      description:[POGO\\POGO\hp-print,NO DRIVER AVAILABLE FOR THIS PRINTER,]
      comment:[]
                                  
-<SAMP
+<TT
 CLASS="PROMPT"
->$ </SAMP
+>$ </TT
 >rpcclient pogo -U root%secret \
-<SAMP
+<TT
 CLASS="PROMPT"
->&#62; </SAMP
+>&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
@@ -581,9 +579,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2038"
->14.2.4. Adding New Printers via the Windows NT APW</A
-></H2
+NAME="AEN2012">14.2.4. Adding New Printers via the Windows NT APW</H2
 ><P
 >By default, Samba offers all printer shares defined in <TT
 CLASS="FILENAME"
@@ -598,9 +594,11 @@ Add Printer Wizard icon.  The APW will be show only if</P
 ><P
 >The connected user is able to successfully
        execute an OpenPrinterEx(\\server) with administrative
-       privileges (i.e. root or <VAR
+       privileges (i.e. root or <TT
 CLASS="PARAMETER"
->printer admin</VAR
+><I
+>printer admin</I
+></TT
 >).
        </P
 ></LI
@@ -609,10 +607,12 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#SHOWADDPRINTERWIZARD"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >show 
-       add printer wizard = yes</VAR
+       add printer wizard = yes</I
+></TT
 ></A
 > (the default).
        </P
@@ -623,10 +623,12 @@ CLASS="PARAMETER"
 server, the <A
 HREF="smb.conf.5.html#ADDPRINTERCOMMAND"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >add 
-printer command</VAR
+printer command</I
+></TT
 ></A
 > must have a defined value.  The program
 hook must successfully add the printer to the system (i.e. 
@@ -643,29 +645,35 @@ CLASS="FILENAME"
 not exist, <B
 CLASS="COMMAND"
 >smbd</B
-> will execute the <VAR
+> will execute the <TT
 CLASS="PARAMETER"
+><I
 >add printer 
-command</VAR
+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 
-<VAR
+<TT
 CLASS="PARAMETER"
->add printer program</VAR
+><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"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >delete
-printer command</VAR
+printer command</I
+></TT
 ></A
 > for removing entries from the "Printers..."
 folder.</P
@@ -673,9 +681,11 @@ folder.</P
 >The following is an example <A
 HREF="smb.conf.5.html#ADDPRINTERCOMMAN"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
->add printer command</VAR
+><I
+>add printer command</I
+></TT
 ></A
 > script. It adds the appropriate entries to <TT
 CLASS="FILENAME"
@@ -736,9 +746,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2068"
->14.2.5. Samba and Printer Ports</A
-></H2
+NAME="AEN2042">14.2.5. Samba and Printer Ports</H2
 ><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
@@ -757,10 +765,12 @@ CLASS="FILENAME"
 > possesses a <A
 HREF="smb.conf.5.html#ENUMPORTSCOMMAND"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >enumports 
-command</VAR
+command</I
+></TT
 ></A
 > which can be used to define an external program 
 that generates a listing of ports on a system.</P
@@ -771,9 +781,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2076"
->14.3. The Imprints Toolset</A
-></H1
+NAME="AEN2050">14.3. The Imprints Toolset</H1
 ><P
 >The Imprints tool set provides a UNIX equivalent of the 
        Windows NT Add Printer Wizard.  For complete information, please 
@@ -789,9 +797,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2080"
->14.3.1. What is Imprints?</A
-></H2
+NAME="AEN2054">14.3.1. What is Imprints?</H2
 ><P
 >Imprints is a collection of tools for supporting the goals 
                of</P
@@ -821,9 +827,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2090"
->14.3.2. Creating Printer Driver Packages</A
-></H2
+NAME="AEN2064">14.3.2. Creating Printer Driver Packages</H2
 ><P
 >The process of creating printer driver packages is beyond
                the scope of this document (refer to Imprints.txt also included
@@ -837,9 +841,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2093"
->14.3.3. The Imprints server</A
-></H2
+NAME="AEN2067">14.3.3. The Imprints server</H2
 ><P
 >The Imprints server is really a database server that 
                may be queried via standard HTTP mechanisms.  Each printer 
@@ -861,9 +863,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2097"
->14.3.4. The Installation Client</A
-></H2
+NAME="AEN2071">14.3.4. The Installation Client</H2
 ><P
 >More information regarding the Imprints installation client 
                is available in the <TT
@@ -955,17 +955,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2119"
->14.4. Diagnosis</A
-></H1
+NAME="AEN2093">14.4. Diagnosis</H1
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2121"
->14.4.1. Introduction</A
-></H2
+NAME="AEN2095">14.4.1. Introduction</H2
 ><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
@@ -1027,7 +1023,7 @@ 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 %&#62;letter&#60; are "macros" that get dynamically replaced with appropriate
+>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
@@ -1038,9 +1034,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2137"
->14.4.2. Debugging printer problems</A
-></H2
+NAME="AEN2111">14.4.2. Debugging printer problems</H2
 ><P
 >One way to debug printing problems is to start by replacing these
 command with shell scripts that record the arguments and the contents
@@ -1095,9 +1089,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2146"
->14.4.3. What printers do I have?</A
-></H2
+NAME="AEN2120">14.4.3. What printers do I have?</H2
 ><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
@@ -1124,9 +1116,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2154"
->14.4.4. Setting up printcap and print servers</A
-></H2
+NAME="AEN2128">14.4.4. Setting up printcap and print servers</H2
 ><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
@@ -1208,9 +1198,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2182"
->14.4.5. Job sent, no output</A
-></H2
+NAME="AEN2156">14.4.5. Job sent, no output</H2
 ><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
@@ -1253,9 +1241,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2193"
->14.4.6. Job sent, strange output</A
-></H2
+NAME="AEN2167">14.4.6. Job sent, strange output</H2
 ><P
 >Once you have the job printing, you can then start worrying about
 making it print nicely.</P
@@ -1299,9 +1285,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2205"
->14.4.7. Raw PostScript printed</A
-></H2
+NAME="AEN2179">14.4.7. Raw PostScript printed</H2
 ><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
@@ -1314,9 +1298,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2208"
->14.4.8. Advanced Printing</A
-></H2
+NAME="AEN2182">14.4.8. Advanced Printing</H2
 ><P
 >Note that you can do some pretty magic things by using your
 imagination with the "print command" option and some shell scripts.
@@ -1330,9 +1312,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2211"
->14.4.9. Real debugging</A
-></H2
+NAME="AEN2185">14.4.9. Real debugging</H2
 ><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
@@ -1355,7 +1335,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="pam.html"
+HREF="msdfs.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -1373,7 +1353,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="cups-printing.html"
+HREF="winbind.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -1383,8 +1363,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Configuring PAM for distributed but centrally 
-managed authentication</TD
+>Hosting a Microsoft Distributed File System tree on Samba</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -1398,7 +1377,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->CUPS Printing Support</TD
+>Unified Logons between Windows NT and UNIX using Winbind</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/htmldocs/pwencrypt.html b/docs/htmldocs/pwencrypt.html
new file mode 100644 (file)
index 0000000..9414399
--- /dev/null
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>LanMan and NT Password Encryption in Samba</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="General installation"
+HREF="introduction.html"><LINK
+REL="PREVIOUS"
+TITLE="Quick Cross Subnet Browsing / Cross Workgroup Browsing guide"
+HREF="browsing-quick.html"><LINK
+REL="NEXT"
+TITLE="Type of installation"
+HREF="type.html"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="browsing-quick.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="type.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="PWENCRYPT">Chapter 4. LanMan and NT Password Encryption in Samba</H1
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN457">4.1. Introduction</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN462">4.2. Important Notes About Security</H1
+><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="../images/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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN481">4.2.1. Advantages of SMB Encryption</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN488">4.2.2. Advantages of non-encrypted passwords</H2
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN497">4.3. The smbpasswd Command</H1
+><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
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="browsing-quick.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="type.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="introduction.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Type of installation</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index 6e71ddeb14df574e412db9aca5d4bbef7905d56d..e695663c8a5c5d7a7fdde3ddf04045a20d7ce546 100644 (file)
@@ -5,7 +5,7 @@
 >rpcclient</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="RPCCLIENT.1"
+NAME="RPCCLIENT"
 ></A
 >rpcclient</H1
 ><DIV
@@ -38,7 +38,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >rpcclient</B
->  [-A authfile] [-c &#60;command string&#62;] [-d debuglevel] [-h] [-l logfile] [-N] [-s &#60;smb config file&#62;] [-U username[%password]] [-W workgroup] [-N] [-I destinationIP] {server}</P
+>  [-A authfile] [-c &lt;command string&gt;] [-d debuglevel] [-h] [-l logfile] [-N] [-s &lt;smb config file&gt;] [-U username[%password]] [-W workgroup] [-N] [-I destinationIP] {server}</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,12 +48,10 @@ NAME="AEN23"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -68,7 +66,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN31"
+NAME="AEN29"
 ></A
 ><H2
 >OPTIONS</H2
@@ -86,16 +84,16 @@ CLASS="VARIABLELIST"
                resolved using the <A
 HREF="smb.conf.5.html#NAMERESOLVEORDER"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->name resolve order</VAR
+><I
+>name resolve order</I
+></TT
 ></A
-> line from <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+> line from 
+               <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
 >.</P
 ></DD
 ><DT
@@ -109,9 +107,10 @@ CLASS="REFENTRYTITLE"
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->username = &#60;value&#62; 
-password = &#60;value&#62;
-domain   = &#60;value&#62;</PRE
+>              username = &lt;value&gt; 
+               password = &lt;value&gt;
+               domain   = &lt;value&gt;
+               </PRE
 ></P
 ><P
 >Make certain that the permissions on the file restrict 
@@ -125,18 +124,14 @@ domain   = &#60;value&#62;</PRE
                below)) </P
 ></DD
 ><DT
->-h|--help</DT
-><DD
-><P
->Print a summary of command line options.</P
-></DD
-><DT
 >-d|--debug=debuglevel</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer 
 from 0 to 10.  The default value if this parameter is 
 not specified is zero.</P
@@ -170,20 +165,30 @@ CLASS="FILENAME"
 > file.</P
 ></DD
 ><DT
+>-h|--help</DT
+><DD
+><P
+>Print a summary of command line options.</P
+></DD
+><DT
 >-I IP-address</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->IP address</VAR
+><I
+>IP address</I
+></TT
 > is the address of the server to connect to. 
                It should be specified in standard "a.b.c.d" notation. </P
 ><P
 >Normally the client would attempt to locate a named 
                SMB/CIFS server by looking it up via the NetBIOS name resolution 
-               mechanism described above in the <VAR
+               mechanism described above in the <TT
 CLASS="PARAMETER"
->name resolve order</VAR
+><I
+>name resolve order</I
+></TT
 > 
                parameter above. Using this parameter will force the client
                to assume that the server is on the machine with the specified IP 
@@ -199,9 +204,9 @@ CLASS="PARAMETER"
 ><DD
 ><P
 >File name for log/debug files. The extension 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->'.client'</CODE
+>'.client'</TT
 > will be appended. The log file is
                never removed by the client.
                </P
@@ -218,9 +223,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >rpcclient</B
 > will
-               prompt for a password.  See also the <VAR
+               prompt for a password.  See also the <TT
 CLASS="PARAMETER"
->-U</VAR
+><I
+>-U</I
+></TT
 >
                option.</P
 ></DD
@@ -241,18 +248,18 @@ CLASS="FILENAME"
 >Sets the SMB username or username and password. </P
 ><P
 >If %password is not specified, the user will be prompted. The 
-               client will first check the <VAR
+               client will first check the <TT
 CLASS="ENVAR"
->USER</VAR
+>USER</TT
 > environment variable, then the 
-               <VAR
+               <TT
 CLASS="ENVAR"
->LOGNAME</VAR
+>LOGNAME</TT
 > variable and if either exists, the 
                string is uppercased. If these environmental variables are not 
-               found, the username <CODE
+               found, the username <TT
 CLASS="CONSTANT"
->GUEST</CODE
+>GUEST</TT
 > is used. </P
 ><P
 >A third option is to use a credentials file which 
@@ -261,9 +268,11 @@ CLASS="CONSTANT"
                wish to pass the credentials on the command line or via environment 
                variables. If this method is used, make certain that the permissions 
                on the file restrict access from unwanted users.  See the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->-A</VAR
+><I
+>-A</I
+></TT
 > for more details. </P
 ><P
 >Be cautious about including passwords in scripts. Also, on 
@@ -294,7 +303,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN111"
+NAME="AEN107"
 ></A
 ><H2
 >COMMANDS</H2
@@ -429,7 +438,7 @@ CLASS="EMPHASIS"
 ><P
 ><B
 CLASS="COMMAND"
->adddriver &#60;arch&#62; &#60;config&#62;</B
+>adddriver &lt;arch&gt; &lt;config&gt;</B
 > 
                - Execute an AddPrinterDriver() RPC to install the printer driver 
                information on the server.  Note that the driver files should 
@@ -438,30 +447,35 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >getdriverdir</B
 >.  Possible values for 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->arch</VAR
+><I
+>arch</I
+></TT
 > are the same as those for 
                the <B
 CLASS="COMMAND"
 >getdriverdir</B
 > command.
-               The <VAR
+               The <TT
 CLASS="PARAMETER"
->config</VAR
+><I
+>config</I
+></TT
 > parameter is defined as 
                follows: </P
 ><P
 ><PRE
 CLASS="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</PRE
+>              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
+               </PRE
 ></P
 ><P
 >Any empty fields should be enter as the string "NULL". </P
@@ -477,8 +491,8 @@ Comma Separated list of Files</PRE
 ><P
 ><B
 CLASS="COMMAND"
->addprinter &#60;printername&#62
-               &#60;sharename&#62; &#60;drivername&#62; &#60;port&#62;</B
+>addprinter &lt;printername&gt
+               &lt;sharename&gt; &lt;drivername&gt; &lt;port&gt;</B
 > 
                - Add a printer on the remote server.  This printer 
                will be automatically shared.  Be aware that the printer driver 
@@ -486,9 +500,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >adddriver</B
 >) 
-               and the <VAR
+               and the <TT
 CLASS="PARAMETER"
->port</VAR
+><I
+>port</I
+></TT
 >must be a valid port name (see
                <B
 CLASS="COMMAND"
@@ -522,7 +538,7 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->enumjobs &#60;printer&#62;</B
+>enumjobs &lt;printer&gt;</B
 > 
                - List the jobs and status of a given printer. 
                This command corresponds to the MS Platform SDK EnumJobs() 
@@ -564,7 +580,7 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->getdata &#60;printername&#62;</B
+>getdata &lt;printername&gt;</B
 > 
                - Retrieve the data for a given printer setting.  See 
                the  <B
@@ -578,7 +594,7 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->getdriver &#60;printername&#62;</B
+>getdriver &lt;printername&gt;</B
 > 
                - Retrieve the printer driver information (such as driver file, 
                config file, dependent files, etc...) for 
@@ -590,14 +606,16 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->getdriverdir &#60;arch&#62;</B
+>getdriverdir &lt;arch&gt;</B
 > 
                - Execute a GetPrinterDriverDirectory()
                RPC to retrieve the SMB share name and subdirectory for 
                storing printer driver files for a given architecture.  Possible 
-               values for <VAR
+               values for <TT
 CLASS="PARAMETER"
->arch</VAR
+><I
+>arch</I
+></TT
 > are "Windows 4.0" 
                (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows
                Alpha_AXP", and "Windows NT R4000". </P
@@ -606,7 +624,7 @@ CLASS="PARAMETER"
 ><P
 ><B
 CLASS="COMMAND"
->getprinter &#60;printername&#62;</B
+>getprinter &lt;printername&gt;</B
 > 
                - Retrieve the current printer information.  This command 
                corresponds to the GetPrinter() MS Platform SDK function. 
@@ -616,7 +634,7 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->openprinter &#60;printername&#62;</B
+>openprinter &lt;printername&gt;</B
 > 
                - Execute an OpenPrinterEx() and ClosePrinter() RPC 
                against a given printer. </P
@@ -625,8 +643,8 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->setdriver &#60;printername&#62;
-               &#60;drivername&#62;</B
+>setdriver &lt;printername&gt;
+               &lt;drivername&gt;</B
 >
                - Execute a SetPrinter() command to update the printer driver
                associated with an installed printer.  The printer driver must
@@ -687,7 +705,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN231"
+NAME="AEN227"
 ></A
 ><H2
 >BUGS</H2
@@ -706,7 +724,7 @@ CLASS="COMMAND"
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
->WARNING!</I
+>"WARNING!</I
 ></SPAN
 > The MSRPC over SMB code has 
        been developed from examining  Network traces. No documentation is 
@@ -716,28 +734,23 @@ CLASS="EMPHASIS"
        to be... a bit flaky in places. </P
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->rpcclient</SPAN
->(1)</SPAN
-> that are incompatible for some commands or  services. Additionally, 
+       and as more  of the services are understood, it can even result in 
+       versions of  <B
+CLASS="COMMAND"
+>smbd(8)</B
+> and <B
+CLASS="COMMAND"
+>rpcclient(1)</B
+> 
+       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.</P
+       result in incompatibilities.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN245"
+NAME="AEN237"
 ></A
 ><H2
 >VERSION</H2
@@ -748,7 +761,7 @@ NAME="AEN245"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN248"
+NAME="AEN240"
 ></A
 ><H2
 >AUTHOR</H2
@@ -761,8 +774,7 @@ NAME="AEN248"
 >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.</P
+       Carter.</P
 ></DIV
 ></BODY
 ></HTML
index 4ae64563aa2b26e9aaed9daef95c759ec4e132dd..ef06a89416a859430bd9c679701360956cd88413 100644 (file)
@@ -2,10 +2,11 @@
 <HTML
 ><HEAD
 ><TITLE
->Samba Backup Domain Controller to Samba Domain Control</TITLE
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,7 +14,7 @@ REL="UP"
 TITLE="Type of installation"
 HREF="type.html"><LINK
 REL="PREVIOUS"
-TITLE="Samba as an NT4 or Win2k Primary Domain Controller"
+TITLE="How to Configure Samba as a NT4 Primary Domain Controller"
 HREF="samba-pdc.html"><LINK
 REL="NEXT"
 TITLE="Samba as a ADS domain member"
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="SAMBA-BDC"
-></A
->Chapter 7. Samba Backup Domain Controller to Samba Domain Control</H1
+NAME="SAMBA-BDC">Chapter 7. How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1193"
->7.1. Prerequisite Reading</A
-></H1
+NAME="AEN1127">7.1. Prerequisite Reading</H1
 ><P
 >Before you continue reading in this chapter, please make sure
 that you are comfortable with configuring a Samba PDC
@@ -97,9 +94,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1197"
->7.2. Background</A
-></H1
+NAME="AEN1131">7.2. Background</H1
 ><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
@@ -142,9 +137,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1205"
->7.3. What qualifies a Domain Controller on the network?</A
-></H1
+NAME="AEN1139">7.3. What qualifies a Domain Controller on the network?</H1
 ><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
@@ -159,9 +152,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1208"
->7.3.1. How does a Workstation find its domain controller?</A
-></H2
+NAME="AEN1142">7.3.1. How does a Workstation find its domain controller?</H2
 ><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
@@ -178,9 +169,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1211"
->7.3.2. When is the PDC needed?</A
-></H2
+NAME="AEN1145">7.3.2. When is the PDC needed?</H2
 ><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
@@ -194,19 +183,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1214"
->7.4. Can Samba be a Backup Domain Controller to an NT PDC?</A
-></H1
+NAME="AEN1148">7.4. Can Samba be a Backup Domain Controller?</H1
 ><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
->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.</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
@@ -217,9 +200,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1219"
->7.5. How do I set up a Samba BDC?</A
-></H1
+NAME="AEN1152">7.5. How do I set up a Samba BDC?</H1
 ><P
 >Several things have to be done:</P
 ><P
@@ -284,9 +265,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1236"
->7.5.1. How do I replicate the smbpasswd file?</A
-></H2
+NAME="AEN1169">7.5.1. How do I replicate the smbpasswd file?</H2
 ><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
@@ -300,21 +279,6 @@ 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
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1240"
->7.5.2. Can I do this all with LDAP?</A
-></H2
-><P
->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).</P
-></DIV
 ></DIV
 ></DIV
 ><DIV
@@ -361,7 +325,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Samba as an NT4 or Win2k Primary Domain Controller</TD
+>How to Configure Samba as a NT4 Primary Domain Controller</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
index 98f8bcfbc8bfcff5653a7a048b1d35f766ef88b9..0062e257dcc765e033469ee631ac943445c078cb 100644 (file)
@@ -5,7 +5,8 @@
 >SAMBA Project Documentation</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="NEXT"
 TITLE="General installation"
 HREF="introduction.html"></HEAD
@@ -19,28 +20,20 @@ ALINK="#0000FF"
 ><DIV
 CLASS="BOOK"
 ><A
-NAME="SAMBA-HOWTO-COLLECTION"
-></A
-><DIV
+NAME="SAMBA-HOWTO-COLLECTION"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
 ><A
-NAME="SAMBA-HOWTO-COLLECTION"
->SAMBA Project Documentation</A
-></H1
+NAME="SAMBA-HOWTO-COLLECTION">SAMBA Project Documentation</H1
 ><H3
 CLASS="AUTHOR"
 ><A
-NAME="AEN4"
-></A
->SAMBA Team</H3
+NAME="AEN4">SAMBA Team</H3
 ><HR></DIV
 ><H1
 ><A
-NAME="AEN8"
-></A
->Abstract</H1
+NAME="AEN8">Abstract</H1
 ><P
 ><SPAN
 CLASS="emphasis"
@@ -102,252 +95,287 @@ HREF="install.html"
 ><DT
 >1.1. <A
 HREF="install.html#AEN26"
->Obtaining and installing samba</A
+>Read the man pages</A
 ></DT
 ><DT
 >1.2. <A
-HREF="install.html#AEN31"
->Configuring samba</A
+HREF="install.html#AEN36"
+>Building the Binaries</A
 ></DT
 ><DT
 >1.3. <A
 HREF="install.html#AEN64"
+>The all important step</A
+></DT
+><DT
+>1.4. <A
+HREF="install.html#AEN68"
+>Create the smb configuration file.</A
+></DT
+><DT
+>1.5. <A
+HREF="install.html#AEN82"
+>Test your config file with 
+       <B
+CLASS="COMMAND"
+>testparm</B
+></A
+></DT
+><DT
+>1.6. <A
+HREF="install.html#AEN90"
+>Starting the smbd and nmbd</A
+></DT
+><DT
+>1.7. <A
+HREF="install.html#AEN145"
 >Try listing the shares available on your 
        server</A
 ></DT
 ><DT
->1.4. <A
-HREF="install.html#AEN73"
+>1.8. <A
+HREF="install.html#AEN154"
 >Try connecting with the unix client</A
 ></DT
 ><DT
->1.5. <A
-HREF="install.html#AEN89"
+>1.9. <A
+HREF="install.html#AEN170"
 >Try connecting from a DOS, WfWg, Win9x, WinNT, 
        Win2k, OS/2, etc... client</A
 ></DT
 ><DT
->1.6. <A
-HREF="install.html#AEN103"
+>1.10. <A
+HREF="install.html#AEN184"
 >What If Things Don't Work?</A
 ></DT
 ></DL
 ></DD
 ><DT
 >2. <A
-HREF="browsing-quick.html"
->Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
+HREF="improved-browsing.html"
+>Improved browsing in samba</A
 ></DT
 ><DD
 ><DL
 ><DT
 >2.1. <A
-HREF="browsing-quick.html#AEN130"
->Discussion</A
+HREF="improved-browsing.html#AEN229"
+>Overview of browsing</A
 ></DT
 ><DT
 >2.2. <A
-HREF="browsing-quick.html#AEN139"
->How browsing functions and how to deploy stable and 
-dependable browsing using Samba</A
+HREF="improved-browsing.html#AEN233"
+>Browsing support in samba</A
 ></DT
 ><DT
 >2.3. <A
-HREF="browsing-quick.html#AEN149"
->Use of the "Remote Announce" parameter</A
+HREF="improved-browsing.html#AEN242"
+>Problem resolution</A
 ></DT
 ><DT
 >2.4. <A
-HREF="browsing-quick.html#AEN163"
->Use of the "Remote Browse Sync" parameter</A
+HREF="improved-browsing.html#AEN249"
+>Browsing across subnets</A
 ></DT
 ><DT
 >2.5. <A
-HREF="browsing-quick.html#AEN168"
->Use of WINS</A
+HREF="improved-browsing.html#AEN289"
+>Setting up a WINS server</A
 ></DT
 ><DT
 >2.6. <A
-HREF="browsing-quick.html#AEN179"
->Do NOT use more than one (1) protocol on MS Windows machines</A
+HREF="improved-browsing.html#AEN308"
+>Setting up Browsing in a WORKGROUP</A
 ></DT
 ><DT
 >2.7. <A
-HREF="browsing-quick.html#AEN187"
->Name Resolution Order</A
+HREF="improved-browsing.html#AEN326"
+>Setting up Browsing in a DOMAIN</A
+></DT
+><DT
+>2.8. <A
+HREF="improved-browsing.html#AEN336"
+>Forcing samba to be the master</A
+></DT
+><DT
+>2.9. <A
+HREF="improved-browsing.html#AEN345"
+>Making samba the domain master</A
+></DT
+><DT
+>2.10. <A
+HREF="improved-browsing.html#AEN363"
+>Note about broadcast addresses</A
+></DT
+><DT
+>2.11. <A
+HREF="improved-browsing.html#AEN366"
+>Multiple interfaces</A
 ></DT
 ></DL
 ></DD
 ><DT
 >3. <A
-HREF="passdb.html"
->User information database</A
+HREF="browsing-quick.html"
+>Quick Cross Subnet Browsing / Cross Workgroup Browsing guide</A
 ></DT
 ><DD
 ><DL
 ><DT
 >3.1. <A
-HREF="passdb.html#AEN244"
->Introduction</A
+HREF="browsing-quick.html#AEN377"
+>Discussion</A
 ></DT
 ><DT
 >3.2. <A
-HREF="passdb.html#AEN251"
->Important Notes About Security</A
+HREF="browsing-quick.html#AEN385"
+>Use of the "Remote Announce" parameter</A
 ></DT
 ><DT
 >3.3. <A
-HREF="passdb.html#AEN289"
->The smbpasswd Command</A
+HREF="browsing-quick.html#AEN399"
+>Use of the "Remote Browse Sync" parameter</A
 ></DT
 ><DT
 >3.4. <A
-HREF="passdb.html#AEN320"
->Plain text</A
+HREF="browsing-quick.html#AEN404"
+>Use of WINS</A
 ></DT
 ><DT
 >3.5. <A
-HREF="passdb.html#AEN325"
->TDB</A
+HREF="browsing-quick.html#AEN415"
+>Do NOT use more than one (1) protocol on MS Windows machines</A
 ></DT
 ><DT
 >3.6. <A
-HREF="passdb.html#AEN328"
->LDAP</A
-></DT
-><DT
->3.7. <A
-HREF="passdb.html#AEN546"
->MySQL</A
-></DT
-><DT
->3.8. <A
-HREF="passdb.html#AEN594"
->Passdb XML plugin</A
+HREF="browsing-quick.html#AEN421"
+>Name Resolution Order</A
 ></DT
 ></DL
 ></DD
-></DL
-></DD
-><DT
->II. <A
-HREF="type.html"
->Type of installation</A
-></DT
-><DD
-><DL
 ><DT
 >4. <A
-HREF="servertype.html"
->Nomenclature of Server Types</A
+HREF="pwencrypt.html"
+>LanMan and NT Password Encryption in Samba</A
 ></DT
 ><DD
 ><DL
 ><DT
 >4.1. <A
-HREF="servertype.html#AEN639"
->Stand Alone Server</A
+HREF="pwencrypt.html#AEN457"
+>Introduction</A
 ></DT
 ><DT
 >4.2. <A
-HREF="servertype.html#AEN646"
->Domain Member Server</A
+HREF="pwencrypt.html#AEN462"
+>Important Notes About Security</A
 ></DT
 ><DT
 >4.3. <A
-HREF="servertype.html#AEN652"
->Domain Controller</A
+HREF="pwencrypt.html#AEN497"
+>The smbpasswd Command</A
 ></DT
 ></DL
 ></DD
+></DL
+></DD
 ><DT
->5. <A
-HREF="securitylevels.html"
->Samba as Stand-Alone Server</A
+>II. <A
+HREF="type.html"
+>Type of installation</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.1. <A
-HREF="securitylevels.html#AEN681"
->User and Share security level</A
+>5. <A
+HREF="securitylevels.html"
+>User and Share security level (for servers not in a domain)</A
 ></DT
-></DL
-></DD
 ><DT
 >6. <A
 HREF="samba-pdc.html"
->Samba as an NT4 or Win2k Primary Domain Controller</A
+>How to Configure Samba as a NT4 Primary Domain Controller</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.1. <A
-HREF="samba-pdc.html#AEN785"
+HREF="samba-pdc.html#AEN575"
 >Prerequisite Reading</A
 ></DT
 ><DT
 >6.2. <A
-HREF="samba-pdc.html#AEN790"
+HREF="samba-pdc.html#AEN581"
 >Background</A
 ></DT
 ><DT
 >6.3. <A
-HREF="samba-pdc.html#AEN830"
+HREF="samba-pdc.html#AEN620"
 >Configuring the Samba Domain Controller</A
 ></DT
 ><DT
 >6.4. <A
-HREF="samba-pdc.html#AEN872"
->Creating Machine Trust Accounts and Joining Clients to the Domain</A
+HREF="samba-pdc.html#AEN663"
+>Creating Machine Trust Accounts and Joining Clients to the
+Domain</A
 ></DT
 ><DT
 >6.5. <A
-HREF="samba-pdc.html#AEN980"
+HREF="samba-pdc.html#AEN747"
 >Common Problems and Errors</A
 ></DT
 ><DT
 >6.6. <A
-HREF="samba-pdc.html#AEN1026"
->What other help can I get?</A
+HREF="samba-pdc.html#AEN795"
+>System Policies and Profiles</A
 ></DT
 ><DT
 >6.7. <A
-HREF="samba-pdc.html#AEN1140"
+HREF="samba-pdc.html#AEN839"
+>What other help can I get?</A
+></DT
+><DT
+>6.8. <A
+HREF="samba-pdc.html#AEN953"
 >Domain Control for Windows 9x/ME</A
 ></DT
+><DT
+>6.9. <A
+HREF="samba-pdc.html#AEN1091"
+>DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
+></DT
 ></DL
 ></DD
 ><DT
 >7. <A
 HREF="samba-bdc.html"
->Samba Backup Domain Controller to Samba Domain Control</A
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</A
 ></DT
 ><DD
 ><DL
 ><DT
 >7.1. <A
-HREF="samba-bdc.html#AEN1193"
+HREF="samba-bdc.html#AEN1127"
 >Prerequisite Reading</A
 ></DT
 ><DT
 >7.2. <A
-HREF="samba-bdc.html#AEN1197"
+HREF="samba-bdc.html#AEN1131"
 >Background</A
 ></DT
 ><DT
 >7.3. <A
-HREF="samba-bdc.html#AEN1205"
+HREF="samba-bdc.html#AEN1139"
 >What qualifies a Domain Controller on the network?</A
 ></DT
 ><DT
 >7.4. <A
-HREF="samba-bdc.html#AEN1214"
->Can Samba be a Backup Domain Controller to an NT PDC?</A
+HREF="samba-bdc.html#AEN1148"
+>Can Samba be a Backup Domain Controller?</A
 ></DT
 ><DT
 >7.5. <A
-HREF="samba-bdc.html#AEN1219"
+HREF="samba-bdc.html#AEN1152"
 >How do I set up a Samba BDC?</A
 ></DT
 ></DL
@@ -361,38 +389,42 @@ HREF="ads.html"
 ><DL
 ><DT
 >8.1. <A
-HREF="ads.html#AEN1251"
->Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
+HREF="ads.html#AEN1187"
+>Installing the required packages for Debian</A
 ></DT
 ><DT
 >8.2. <A
-HREF="ads.html#AEN1262"
->Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
+HREF="ads.html#AEN1193"
+>Installing the required packages for RedHat</A
 ></DT
 ><DT
 >8.3. <A
-HREF="ads.html#AEN1273"
->Create the computer account</A
+HREF="ads.html#AEN1202"
+>Compile Samba</A
 ></DT
 ><DT
 >8.4. <A
-HREF="ads.html#AEN1285"
->Test your server setup</A
+HREF="ads.html#AEN1217"
+>Setup your /etc/krb5.conf</A
 ></DT
 ><DT
 >8.5. <A
-HREF="ads.html#AEN1290"
->Testing with smbclient</A
+HREF="ads.html#AEN1227"
+>Create the computer account</A
 ></DT
 ><DT
 >8.6. <A
-HREF="ads.html#AEN1293"
+HREF="ads.html#AEN1243"
+>Test your server setup</A
+></DT
+><DT
+>8.7. <A
+HREF="ads.html#AEN1248"
+>Testing with smbclient</A
+></DT
+><DT
+>8.8. <A
+HREF="ads.html#AEN1251"
 >Notes</A
 ></DT
 ></DL
@@ -400,18 +432,23 @@ HREF="ads.html#AEN1293"
 ><DT
 >9. <A
 HREF="domain-security.html"
->Samba as a NT4 or Win2k domain member</A
+>Samba as a NT4 domain member</A
 ></DT
 ><DD
 ><DL
 ><DT
 >9.1. <A
-HREF="domain-security.html#AEN1315"
->Joining an NT Domain with Samba 3.0</A
+HREF="domain-security.html#AEN1273"
+>Joining an NT Domain with Samba 2.2</A
 ></DT
 ><DT
 >9.2. <A
-HREF="domain-security.html#AEN1369"
+HREF="domain-security.html#AEN1337"
+>Samba and Windows 2000 Domains</A
+></DT
+><DT
+>9.3. <A
+HREF="domain-security.html#AEN1342"
 >Why is this better than security = server?</A
 ></DT
 ></DL
@@ -421,26 +458,48 @@ HREF="domain-security.html#AEN1369"
 ><DT
 >III. <A
 HREF="optional.html"
->Advanced Configuration</A
+>Optional configuration</A
 ></DT
 ><DD
 ><DL
 ><DT
 >10. <A
-HREF="advancednetworkmanagement.html"
->System Policies</A
+HREF="integrate-ms-networks.html"
+>Integrating MS Windows networks with Samba</A
 ></DT
 ><DD
 ><DL
 ><DT
 >10.1. <A
-HREF="advancednetworkmanagement.html#AEN1401"
->Basic System Policy Info</A
+HREF="integrate-ms-networks.html#AEN1374"
+>Agenda</A
 ></DT
 ><DT
 >10.2. <A
-HREF="advancednetworkmanagement.html#AEN1456"
->Roaming Profiles</A
+HREF="integrate-ms-networks.html#AEN1396"
+>Name Resolution in a pure Unix/Linux world</A
+></DT
+><DT
+>10.3. <A
+HREF="integrate-ms-networks.html#AEN1459"
+>Name resolution as used within MS Windows networking</A
+></DT
+><DT
+>10.4. <A
+HREF="integrate-ms-networks.html#AEN1504"
+>How browsing functions and how to deploy stable and 
+dependable browsing using Samba</A
+></DT
+><DT
+>10.5. <A
+HREF="integrate-ms-networks.html#AEN1514"
+>MS Windows security options and how to configure 
+Samba for seemless integration</A
+></DT
+><DT
+>10.6. <A
+HREF="integrate-ms-networks.html#AEN1584"
+>Conclusions</A
 ></DT
 ></DL
 ></DD
@@ -453,39 +512,39 @@ HREF="unix-permissions.html"
 ><DL
 ><DT
 >11.1. <A
-HREF="unix-permissions.html#AEN1663"
+HREF="unix-permissions.html#AEN1605"
 >Viewing and changing UNIX permissions using the NT 
        security dialogs</A
 ></DT
 ><DT
 >11.2. <A
-HREF="unix-permissions.html#AEN1667"
+HREF="unix-permissions.html#AEN1614"
 >How to view file security on a Samba share</A
 ></DT
 ><DT
 >11.3. <A
-HREF="unix-permissions.html#AEN1678"
+HREF="unix-permissions.html#AEN1625"
 >Viewing file ownership</A
 ></DT
 ><DT
 >11.4. <A
-HREF="unix-permissions.html#AEN1698"
+HREF="unix-permissions.html#AEN1645"
 >Viewing file or directory permissions</A
 ></DT
 ><DT
 >11.5. <A
-HREF="unix-permissions.html#AEN1734"
+HREF="unix-permissions.html#AEN1681"
 >Modifying file or directory permissions</A
 ></DT
 ><DT
 >11.6. <A
-HREF="unix-permissions.html#AEN1756"
+HREF="unix-permissions.html#AEN1703"
 >Interaction with the standard Samba create mask 
        parameters</A
 ></DT
 ><DT
 >11.7. <A
-HREF="unix-permissions.html#AEN1810"
+HREF="unix-permissions.html#AEN1767"
 >Interaction with the standard Samba file attribute 
        mapping</A
 ></DT
@@ -493,11 +552,6 @@ HREF="unix-permissions.html#AEN1810"
 ></DD
 ><DT
 >12. <A
-HREF="groupmapping.html"
->Group mapping HOWTO</A
-></DT
-><DT
->13. <A
 HREF="pam.html"
 >Configuring PAM for distributed but centrally 
 managed authentication</A
@@ -505,23 +559,37 @@ managed authentication</A
 ><DD
 ><DL
 ><DT
->13.1. <A
-HREF="pam.html#AEN1866"
+>12.1. <A
+HREF="pam.html#AEN1788"
 >Samba and PAM</A
 ></DT
 ><DT
->13.2. <A
-HREF="pam.html#AEN1915"
+>12.2. <A
+HREF="pam.html#AEN1832"
 >Distributed Authentication</A
 ></DT
 ><DT
->13.3. <A
-HREF="pam.html#AEN1920"
+>12.3. <A
+HREF="pam.html#AEN1839"
 >PAM Configuration in smb.conf</A
 ></DT
 ></DL
 ></DD
 ><DT
+>13. <A
+HREF="msdfs.html"
+>Hosting a Microsoft Distributed File System tree on Samba</A
+></DT
+><DD
+><DL
+><DT
+>13.1. <A
+HREF="msdfs.html#AEN1859"
+>Instructions</A
+></DT
+></DL
+></DD
+><DT
 >14. <A
 HREF="printing.html"
 >Printing Support</A
@@ -530,522 +598,420 @@ HREF="printing.html"
 ><DL
 ><DT
 >14.1. <A
-HREF="printing.html#AEN1946"
+HREF="printing.html#AEN1920"
 >Introduction</A
 ></DT
 ><DT
 >14.2. <A
-HREF="printing.html#AEN1968"
+HREF="printing.html#AEN1942"
 >Configuration</A
 ></DT
 ><DT
 >14.3. <A
-HREF="printing.html#AEN2076"
+HREF="printing.html#AEN2050"
 >The Imprints Toolset</A
 ></DT
 ><DT
 >14.4. <A
-HREF="printing.html#AEN2119"
+HREF="printing.html#AEN2093"
 >Diagnosis</A
 ></DT
 ></DL
 ></DD
 ><DT
 >15. <A
-HREF="cups-printing.html"
->CUPS Printing Support</A
+HREF="winbind.html"
+>Unified Logons between Windows NT and UNIX using Winbind</A
 ></DT
 ><DD
 ><DL
 ><DT
 >15.1. <A
-HREF="cups-printing.html#AEN2231"
->Introduction</A
+HREF="winbind.html#AEN2225"
+>Abstract</A
 ></DT
 ><DT
 >15.2. <A
-HREF="cups-printing.html#AEN2236"
->CUPS - RAW Print Through  Mode</A
+HREF="winbind.html#AEN2229"
+>Introduction</A
 ></DT
 ><DT
 >15.3. <A
-HREF="cups-printing.html#AEN2291"
->The CUPS Filter Chains</A
+HREF="winbind.html#AEN2242"
+>What Winbind Provides</A
 ></DT
 ><DT
 >15.4. <A
-HREF="cups-printing.html#AEN2330"
->CUPS Print Drivers and Devices</A
+HREF="winbind.html#AEN2253"
+>How Winbind Works</A
 ></DT
 ><DT
 >15.5. <A
-HREF="cups-printing.html#AEN2407"
->Limiting the number of pages users can print</A
+HREF="winbind.html#AEN2293"
+>Installation and Configuration</A
 ></DT
 ><DT
 >15.6. <A
-HREF="cups-printing.html#AEN2496"
->Advanced Postscript Printing from MS Windows</A
+HREF="winbind.html#AEN2542"
+>Limitations</A
 ></DT
 ><DT
 >15.7. <A
-HREF="cups-printing.html#AEN2511"
->Auto-Deletion of CUPS spool files</A
+HREF="winbind.html#AEN2552"
+>Conclusion</A
 ></DT
 ></DL
 ></DD
 ><DT
 >16. <A
-HREF="winbind.html"
->Unified Logons between Windows NT and UNIX using Winbind</A
+HREF="pdb-mysql.html"
+>Passdb MySQL plugin</A
 ></DT
 ><DD
 ><DL
 ><DT
 >16.1. <A
-HREF="winbind.html#AEN2573"
->Abstract</A
+HREF="pdb-mysql.html#AEN2566"
+>Building</A
 ></DT
 ><DT
 >16.2. <A
-HREF="winbind.html#AEN2577"
->Introduction</A
+HREF="pdb-mysql.html#AEN2572"
+>Configuring</A
 ></DT
 ><DT
 >16.3. <A
-HREF="winbind.html#AEN2590"
->What Winbind Provides</A
+HREF="pdb-mysql.html#AEN2589"
+>Using plaintext passwords or encrypted password</A
 ></DT
 ><DT
 >16.4. <A
-HREF="winbind.html#AEN2601"
->How Winbind Works</A
-></DT
-><DT
->16.5. <A
-HREF="winbind.html#AEN2644"
->Installation and Configuration</A
-></DT
-><DT
->16.6. <A
-HREF="winbind.html#AEN2901"
->Limitations</A
-></DT
-><DT
->16.7. <A
-HREF="winbind.html#AEN2911"
->Conclusion</A
+HREF="pdb-mysql.html#AEN2594"
+>Getting non-column data from the table</A
 ></DT
 ></DL
 ></DD
 ><DT
 >17. <A
-HREF="integrate-ms-networks.html"
->Integrating MS Windows networks with Samba</A
+HREF="pdb-xml.html"
+>Passdb XML plugin</A
 ></DT
 ><DD
 ><DL
 ><DT
 >17.1. <A
-HREF="integrate-ms-networks.html#AEN2932"
->Name Resolution in a pure Unix/Linux world</A
+HREF="pdb-xml.html#AEN2613"
+>Building</A
 ></DT
 ><DT
 >17.2. <A
-HREF="integrate-ms-networks.html#AEN2995"
->Name resolution as used within MS Windows networking</A
+HREF="pdb-xml.html#AEN2619"
+>Usage</A
 ></DT
 ></DL
 ></DD
 ><DT
 >18. <A
-HREF="improved-browsing.html"
->Improved browsing in samba</A
+HREF="vfs.html"
+>Stackable VFS modules</A
 ></DT
 ><DD
 ><DL
 ><DT
 >18.1. <A
-HREF="improved-browsing.html#AEN3047"
->Overview of browsing</A
+HREF="vfs.html#AEN2640"
+>Introduction and configuration</A
 ></DT
 ><DT
 >18.2. <A
-HREF="improved-browsing.html#AEN3052"
->Browsing support in samba</A
+HREF="vfs.html#AEN2649"
+>Included modules</A
 ></DT
 ><DT
 >18.3. <A
-HREF="improved-browsing.html#AEN3060"
->Problem resolution</A
-></DT
-><DT
->18.4. <A
-HREF="improved-browsing.html#AEN3069"
->Browsing across subnets</A
-></DT
-><DT
->18.5. <A
-HREF="improved-browsing.html#AEN3109"
->Setting up a WINS server</A
-></DT
-><DT
->18.6. <A
-HREF="improved-browsing.html#AEN3128"
->Setting up Browsing in a WORKGROUP</A
-></DT
-><DT
->18.7. <A
-HREF="improved-browsing.html#AEN3146"
->Setting up Browsing in a DOMAIN</A
-></DT
-><DT
->18.8. <A
-HREF="improved-browsing.html#AEN3156"
->Forcing samba to be the master</A
-></DT
-><DT
->18.9. <A
-HREF="improved-browsing.html#AEN3165"
->Making samba the domain master</A
-></DT
-><DT
->18.10. <A
-HREF="improved-browsing.html#AEN3183"
->Note about broadcast addresses</A
-></DT
-><DT
->18.11. <A
-HREF="improved-browsing.html#AEN3186"
->Multiple interfaces</A
+HREF="vfs.html#AEN2703"
+>VFS modules available elsewhere</A
 ></DT
 ></DL
 ></DD
 ><DT
 >19. <A
-HREF="msdfs.html"
->Hosting a Microsoft Distributed File System tree on Samba</A
+HREF="samba-ldap-howto.html"
+>Storing Samba's User/Machine Account information in an LDAP Directory</A
 ></DT
 ><DD
 ><DL
 ><DT
 >19.1. <A
-HREF="msdfs.html#AEN3200"
->Instructions</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="vfs.html"
->Stackable VFS modules</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="vfs.html#AEN3259"
->Introduction and configuration</A
+HREF="samba-ldap-howto.html#AEN2737"
+>Purpose</A
 ></DT
 ><DT
->20.2. <A
-HREF="vfs.html#AEN3268"
->Included modules</A
+>19.2. <A
+HREF="samba-ldap-howto.html#AEN2757"
+>Introduction</A
 ></DT
 ><DT
->20.3. <A
-HREF="vfs.html#AEN3322"
->VFS modules available elsewhere</A
+>19.3. <A
+HREF="samba-ldap-howto.html#AEN2786"
+>Supported LDAP Servers</A
 ></DT
-></DL
-></DD
 ><DT
->21. <A
-HREF="securing-samba.html"
->Securing Samba</A
+>19.4. <A
+HREF="samba-ldap-howto.html#AEN2791"
+>Schema and Relationship to the RFC 2307 posixAccount</A
 ></DT
-><DD
-><DL
 ><DT
->21.1. <A
-HREF="securing-samba.html#AEN3348"
->Introduction</A
+>19.5. <A
+HREF="samba-ldap-howto.html#AEN2803"
+>Configuring Samba with LDAP</A
 ></DT
 ><DT
->21.2. <A
-HREF="securing-samba.html#AEN3351"
->Using host based protection</A
+>19.6. <A
+HREF="samba-ldap-howto.html#AEN2850"
+>Accounts and Groups management</A
 ></DT
 ><DT
->21.3. <A
-HREF="securing-samba.html#AEN3358"
->Using interface protection</A
+>19.7. <A
+HREF="samba-ldap-howto.html#AEN2855"
+>Security and sambaAccount</A
 ></DT
 ><DT
->21.4. <A
-HREF="securing-samba.html#AEN3367"
->Using a firewall</A
+>19.8. <A
+HREF="samba-ldap-howto.html#AEN2875"
+>LDAP specials attributes for sambaAccounts</A
 ></DT
 ><DT
->21.5. <A
-HREF="securing-samba.html#AEN3374"
->Using a IPC$ share deny</A
+>19.9. <A
+HREF="samba-ldap-howto.html#AEN2945"
+>Example LDIF Entries for a sambaAccount</A
 ></DT
 ><DT
->21.6. <A
-HREF="securing-samba.html#AEN3383"
->Upgrading Samba</A
+>19.10. <A
+HREF="samba-ldap-howto.html#AEN2953"
+>Comments</A
 ></DT
 ></DL
 ></DD
 ><DT
->22. <A
-HREF="unicode.html"
->Unicode/Charsets</A
+>20. <A
+HREF="cvs-access.html"
+>HOWTO Access Samba source code via CVS</A
 ></DT
 ><DD
 ><DL
 ><DT
->22.1. <A
-HREF="unicode.html#AEN3397"
->What are charsets and unicode?</A
+>20.1. <A
+HREF="cvs-access.html#AEN2964"
+>Introduction</A
 ></DT
 ><DT
->22.2. <A
-HREF="unicode.html#AEN3406"
->Samba and charsets</A
+>20.2. <A
+HREF="cvs-access.html#AEN2969"
+>CVS Access to samba.org</A
 ></DT
 ></DL
 ></DD
-></DL
-></DD
 ><DT
->IV. <A
-HREF="appendixes.html"
->Appendixes</A
+>21. <A
+HREF="groupmapping.html"
+>Group mapping HOWTO</A
 ></DT
-><DD
-><DL
 ><DT
->23. <A
+>22. <A
 HREF="speed.html"
 >Samba performance issues</A
 ></DT
 ><DD
 ><DL
 ><DT
->23.1. <A
-HREF="speed.html#AEN3443"
+>22.1. <A
+HREF="speed.html#AEN3055"
 >Comparisons</A
 ></DT
 ><DT
->23.2. <A
-HREF="speed.html#AEN3449"
+>22.2. <A
+HREF="speed.html#AEN3061"
 >Socket options</A
 ></DT
 ><DT
->23.3. <A
-HREF="speed.html#AEN3456"
+>22.3. <A
+HREF="speed.html#AEN3068"
 >Read size</A
 ></DT
 ><DT
->23.4. <A
-HREF="speed.html#AEN3461"
+>22.4. <A
+HREF="speed.html#AEN3073"
 >Max xmit</A
 ></DT
 ><DT
->23.5. <A
-HREF="speed.html#AEN3466"
+>22.5. <A
+HREF="speed.html#AEN3078"
 >Log level</A
 ></DT
 ><DT
->23.6. <A
-HREF="speed.html#AEN3469"
+>22.6. <A
+HREF="speed.html#AEN3081"
 >Read raw</A
 ></DT
 ><DT
->23.7. <A
-HREF="speed.html#AEN3474"
+>22.7. <A
+HREF="speed.html#AEN3086"
 >Write raw</A
 ></DT
 ><DT
->23.8. <A
-HREF="speed.html#AEN3478"
+>22.8. <A
+HREF="speed.html#AEN3090"
 >Slow Clients</A
 ></DT
 ><DT
->23.9. <A
-HREF="speed.html#AEN3482"
+>22.9. <A
+HREF="speed.html#AEN3094"
 >Slow Logins</A
 ></DT
 ><DT
->23.10. <A
-HREF="speed.html#AEN3485"
+>22.10. <A
+HREF="speed.html#AEN3097"
 >Client tuning</A
 ></DT
 ></DL
 ></DD
+></DL
+></DD
 ><DT
->24. <A
+>IV. <A
+HREF="appendixes.html"
+>Appendixes</A
+></DT
+><DD
+><DL
+><DT
+>23. <A
 HREF="portability.html"
 >Portability</A
 ></DT
 ><DD
 ><DL
 ><DT
->24.1. <A
-HREF="portability.html#AEN3525"
+>23.1. <A
+HREF="portability.html#AEN3139"
 >HPUX</A
 ></DT
 ><DT
->24.2. <A
-HREF="portability.html#AEN3531"
+>23.2. <A
+HREF="portability.html#AEN3145"
 >SCO Unix</A
 ></DT
 ><DT
->24.3. <A
-HREF="portability.html#AEN3535"
+>23.3. <A
+HREF="portability.html#AEN3149"
 >DNIX</A
 ></DT
 ><DT
->24.4. <A
-HREF="portability.html#AEN3564"
+>23.4. <A
+HREF="portability.html#AEN3178"
 >RedHat Linux Rembrandt-II</A
 ></DT
-><DT
->24.5. <A
-HREF="portability.html#AEN3570"
->AIX</A
-></DT
 ></DL
 ></DD
 ><DT
->25. <A
+>24. <A
 HREF="other-clients.html"
 >Samba and other CIFS clients</A
 ></DT
 ><DD
 ><DL
 ><DT
->25.1. <A
-HREF="other-clients.html#AEN3590"
+>24.1. <A
+HREF="other-clients.html#AEN3199"
 >Macintosh clients?</A
 ></DT
 ><DT
->25.2. <A
-HREF="other-clients.html#AEN3599"
+>24.2. <A
+HREF="other-clients.html#AEN3208"
 >OS2 Client</A
 ></DT
 ><DT
->25.3. <A
-HREF="other-clients.html#AEN3639"
+>24.3. <A
+HREF="other-clients.html#AEN3248"
 >Windows for Workgroups</A
 ></DT
 ><DT
->25.4. <A
-HREF="other-clients.html#AEN3663"
+>24.4. <A
+HREF="other-clients.html#AEN3269"
 >Windows '95/'98</A
 ></DT
 ><DT
->25.5. <A
-HREF="other-clients.html#AEN3679"
+>24.5. <A
+HREF="other-clients.html#AEN3285"
 >Windows 2000 Service Pack 2</A
 ></DT
 ></DL
 ></DD
 ><DT
->26. <A
-HREF="compiling.html"
->How to compile SAMBA</A
-></DT
-><DD
-><DL
-><DT
->26.1. <A
-HREF="compiling.html#AEN3706"
->Access Samba source code via CVS</A
-></DT
-><DT
->26.2. <A
-HREF="compiling.html#AEN3749"
->Accessing the samba sources via rsync and ftp</A
-></DT
-><DT
->26.3. <A
-HREF="compiling.html#AEN3755"
->Building the Binaries</A
-></DT
-><DT
->26.4. <A
-HREF="compiling.html#AEN3812"
->Starting the smbd and nmbd</A
-></DT
-></DL
-></DD
-><DT
->27. <A
+>25. <A
 HREF="bugreport.html"
 >Reporting Bugs</A
 ></DT
 ><DD
 ><DL
 ><DT
->27.1. <A
-HREF="bugreport.html#AEN3874"
+>25.1. <A
+HREF="bugreport.html#AEN3309"
 >Introduction</A
 ></DT
 ><DT
->27.2. <A
-HREF="bugreport.html#AEN3884"
+>25.2. <A
+HREF="bugreport.html#AEN3319"
 >General info</A
 ></DT
 ><DT
->27.3. <A
-HREF="bugreport.html#AEN3890"
+>25.3. <A
+HREF="bugreport.html#AEN3325"
 >Debug levels</A
 ></DT
 ><DT
->27.4. <A
-HREF="bugreport.html#AEN3907"
+>25.4. <A
+HREF="bugreport.html#AEN3342"
 >Internal errors</A
 ></DT
 ><DT
->27.5. <A
-HREF="bugreport.html#AEN3917"
+>25.5. <A
+HREF="bugreport.html#AEN3352"
 >Attaching to a running process</A
 ></DT
 ><DT
->27.6. <A
-HREF="bugreport.html#AEN3920"
+>25.6. <A
+HREF="bugreport.html#AEN3355"
 >Patches</A
 ></DT
 ></DL
 ></DD
 ><DT
->28. <A
+>26. <A
 HREF="diagnosis.html"
->The samba checklist</A
+>Diagnosing your samba server</A
 ></DT
 ><DD
 ><DL
 ><DT
->28.1. <A
-HREF="diagnosis.html#AEN3943"
+>26.1. <A
+HREF="diagnosis.html#AEN3378"
 >Introduction</A
 ></DT
 ><DT
->28.2. <A
-HREF="diagnosis.html#AEN3948"
+>26.2. <A
+HREF="diagnosis.html#AEN3383"
 >Assumptions</A
 ></DT
 ><DT
->28.3. <A
-HREF="diagnosis.html#AEN3958"
+>26.3. <A
+HREF="diagnosis.html#AEN3393"
 >Tests</A
 ></DT
 ><DT
->28.4. <A
-HREF="diagnosis.html#AEN4068"
+>26.4. <A
+HREF="diagnosis.html#AEN3503"
 >Still having troubles?</A
 ></DT
 ></DL
diff --git a/docs/htmldocs/samba-ldap-howto.html b/docs/htmldocs/samba-ldap-howto.html
new file mode 100644 (file)
index 0000000..884bb75
--- /dev/null
@@ -0,0 +1,986 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Storing Samba's User/Machine Account information in an LDAP Directory</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SAMBA Project Documentation"
+HREF="samba-howto-collection.html"><LINK
+REL="UP"
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
+REL="PREVIOUS"
+TITLE="Stackable VFS modules"
+HREF="vfs.html"><LINK
+REL="NEXT"
+TITLE="HOWTO Access Samba source code via CVS"
+HREF="cvs-access.html"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SAMBA Project Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="vfs.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="cvs-access.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="SAMBA-LDAP-HOWTO">Chapter 19. Storing Samba's User/Machine Account information in an LDAP Directory</H1
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2737">19.1. Purpose</H1
+><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-3-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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2757">19.2. Introduction</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2786">19.3. Supported LDAP Servers</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2791">19.4. Schema and Relationship to the RFC 2307 posixAccount</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2803">19.5. Configuring Samba with LDAP</H1
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2805">19.5.1. OpenLDAP configuration</H2
+><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"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN2822">19.5.2. Configuring Samba</H2
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2850">19.6. Accounts and Groups management</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2855">19.7. Security and sambaAccount</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2875">19.8. LDAP specials attributes for sambaAccounts</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2945">19.9. Example LDIF Entries for a sambaAccount</H1
+><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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN2953">19.10. Comments</H1
+><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="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="vfs.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="samba-howto-collection.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="cvs-access.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Stackable VFS modules</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="optional.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>HOWTO Access Samba source code via CVS</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
index b61931e770df24377334adc45abea110bf1d16ba..93bbc727d4bc7311412f7dffb161b6cde7746093 100644 (file)
@@ -2,10 +2,11 @@
 <HTML
 ><HEAD
 ><TITLE
->Samba as an NT4 or Win2k Primary Domain Controller</TITLE
+>How to Configure Samba as a NT4 Primary Domain Controller</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,10 +14,10 @@ REL="UP"
 TITLE="Type of installation"
 HREF="type.html"><LINK
 REL="PREVIOUS"
-TITLE="Samba as Stand-Alone Server"
+TITLE="User and Share security level (for servers not in a domain)"
 HREF="securitylevels.html"><LINK
 REL="NEXT"
-TITLE="Samba Backup Domain Controller to Samba Domain Control"
+TITLE="How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain"
 HREF="samba-bdc.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="SAMBA-PDC"
-></A
->Chapter 6. Samba as an NT4 or Win2k Primary Domain Controller</H1
+NAME="SAMBA-PDC">Chapter 6. How to Configure Samba as a NT4 Primary Domain Controller</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN785"
->6.1. Prerequisite Reading</A
-></H1
+NAME="AEN575">6.1. Prerequisite Reading</H1
 ><P
 >Before you continue reading in this chapter, please make sure 
 that you are comfortable with configuring basic files services
@@ -96,50 +93,19 @@ CLASS="FILENAME"
 >smb.conf(5)</TT
 ></A
 > 
-manpage.</P
+manpage and the <A
+HREF="ENCRYPTION.html"
+TARGET="_top"
+>Encryption chapter</A
+> 
+of this HOWTO Collection.</P
 ></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN790"
->6.2. Background</A
-></H1
-><P
->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.</P
-><P
-></P
-><UL
-><LI
-><P
->      Domain logons for Windows NT 4.0 / 200x / XP Professional clients.
-       </P
-></LI
-><LI
-><P
->      Placing Windows 9x / Me clients in user level security
-       </P
-></LI
-><LI
-><P
->      Retrieving a list of users and groups from a Samba PDC to
-       Windows 9x / Me / NT / 200x / XP Professional clients
-       </P
-></LI
-><LI
-><P
->      Roaming Profiles
-       </P
-></LI
-><LI
-><P
->      Network/System Policies
-       </P
-></LI
-></UL
+NAME="AEN581">6.2. Background</H1
 ><DIV
 CLASS="NOTE"
 ><P
@@ -154,70 +120,113 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif"
+SRC="../images/note.gif"
 HSPACE="5"
 ALT="Note"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Roaming Profiles and System/Network policies are advanced network administration topics
-that are covered separately in this document.</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
->The following functionalities are new to the Samba 3.0 release:</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
->      Windows NT 4 domain trusts
+>      domain logons for Windows NT 4.0/2000 clients.
        </P
 ></LI
 ><LI
 ><P
->      Adding users via the User Manager for Domains
+>      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 functionalities are NOT provided by Samba 3.0:</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 / Me / XP Home clients are not true members of a domain
+>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 / Win2k type domain logons and has been officially supported for some 
+from NT4 domain logons and has been officially supported for some 
 time.</P
 ><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MS Windows XP Home edition is NOT able to join a domain and does not permit
-the use of domain logons.</I
-></SPAN
-></P
-><P
->Implementing a Samba PDC can basically be divided into 3 broad
+>Implementing a Samba PDC can basically be divided into 2 broad
 steps.</P
 ><P
 ></P
@@ -230,12 +239,8 @@ TYPE="1"
 ></LI
 ><LI
 ><P
->      Creating machine trust accounts and joining clients to the domain
-       </P
-></LI
-><LI
-><P
->      Adding and managing domain user accounts
+>      Creating machine trust accounts and joining clients 
+       to the domain
        </P
 ></LI
 ></OL
@@ -243,26 +248,25 @@ TYPE="1"
 >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.</P
+concepts.  They will be mentioned only briefly here.</P
 ></DIV
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN830"
->6.3. Configuring the Samba Domain Controller</A
-></H1
+NAME="AEN620">6.3. Configuring the Samba Domain Controller</H1
 ><P
 >The first step in creating a working Samba PDC is to 
-understand the parameters necessary in smb.conf. Here we
-attempt to explain the parameters that are covered in
-<A
+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
->.</P
+>.  For convenience, the parameters have been
+linked with the actual smb.conf description.</P
 ><P
 >Here is an example <TT
 CLASS="FILENAME"
@@ -277,17 +281,21 @@ CLASS="PROGRAMLISTING"
 HREF="smb.conf.5.html#NETBIOSNAME"
 TARGET="_top"
 >netbios name</A
-> = <VAR
+> = <TT
 CLASS="REPLACEABLE"
->POGO</VAR
+><I
+>POGO</I
+></TT
 >
     <A
 HREF="smb.conf.5.html#WORKGROUP"
 TARGET="_top"
 >workgroup</A
-> = <VAR
+> = <TT
 CLASS="REPLACEABLE"
->NARNIA</VAR
+><I
+>NARNIA</I
+></TT
 >
 
     ; we should act as the domain and local master browser
@@ -340,7 +348,8 @@ TARGET="_top"
 >logon path</A
 > = \\%N\profiles\%u
     
-    ; where is a user's home directory and where should it be mounted at?
+    ; where is a user's home directory and where should it
+    ; be mounted at?
     <A
 HREF="smb.conf.5.html#LOGONDRIVE"
 TARGET="_top"
@@ -376,9 +385,11 @@ TARGET="_top"
 HREF="smb.conf.5.html#WRITELIST"
 TARGET="_top"
 >write list</A
-> = <VAR
+> = <TT
 CLASS="REPLACEABLE"
->ntadmin</VAR
+><I
+>ntadmin</I
+></TT
 >
     
 ; share for storing user profiles
@@ -438,18 +449,24 @@ CLASS="FILENAME"
 ></LI
 ></UL
 ><P
->Samba 3.0 offers a complete implementation of group mapping
+>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).</P
+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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN872"
->6.4. Creating Machine Trust Accounts and Joining Clients to the Domain</A
-></H1
+NAME="AEN663">6.4. Creating Machine Trust Accounts and Joining Clients to the
+Domain</H1
 ><P
 >A machine trust account is a Samba account that is used to
 authenticate a client machine (rather than a user) to the Samba
@@ -460,127 +477,14 @@ Account."</P
 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, 200x, XP Professional clients use machine trust
-accounts, but Windows 9x / Me / XP Home clients do not.  Hence, a
-Windows 9x / Me / XP Home  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
+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-3 PDC also has to stoe machine trust account information
-in a suitable back-end data store. With Samba-3 there can be multiple back-ends
-for this including:</P
-><P
-></P
-><UL
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->smbpaswd</I
-></SPAN
-> - the plain ascii file stored used by
-       earlier versions of Samba. This file configuration option requires
-       a Unix/Linux system account for EVERY entry (ie: both for user and for
-       machine accounts). This file will be located in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->private</I
-></SPAN
->
-       directory (default is /usr/local/samba/lib/private or on linux /etc/samba).
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->smbpasswd_nua</I
-></SPAN
-> - This file is independant of the
-       system wide user accounts. The use of this back-end option requires
-       specification of the "non unix account range" option also. It is called
-       smbpasswd and will be located in the <TT
-CLASS="FILENAME"
->private</TT
-> directory.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tdbsam</I
-></SPAN
-> - a binary database backend that will be
-       stored in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->private</I
-></SPAN
-> directory in a file called
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->passwd.tdb</I
-></SPAN
->. The key benefit of this binary format
-       file is that it can store binary objects that can not be accomodated
-       in the traditional plain text smbpasswd file.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tdbsam_nua</I
-></SPAN
-> like the smbpasswd_nua option above, this
-       file allows the creation of arbitrary user and machine accounts without
-       requiring that account to be added to the system (/etc/passwd) file. It
-       too requires the specification of the "non unix account range" option
-       in the [globals] section of the smb.conf file.
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ldapsam</I
-></SPAN
-> - An LDAP based back-end. Permits the
-       LDAP server to be specified. eg: ldap://localhost or ldap://frodo.murphy.com
-       </P
-></LI
-><LI
-><P
->      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ldapsam_nua</I
-></SPAN
-> - LDAP based back-end with no unix
-       account requirement, like smbpasswd_nua and tdbsam_nua above.
-       </P
-></LI
-></UL
-><P
->A Samba PDC, however, stores each machine trust account in two parts,
-as follows:
+Registry.  A Samba PDC, however, stores each machine trust account 
+in two parts, as follows:
 
 <P
 ></P
@@ -633,9 +537,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN915"
->6.4.1. Manual Creation of Machine Trust Accounts</A
-></H2
+NAME="AEN682">6.4.1. Manual Creation of Machine Trust Accounts</H2
 ><P
 >The first step in manually creating a machine trust account is to
 manually create the corresponding Unix account in
@@ -650,45 +552,55 @@ CLASS="COMMAND"
 used to create new Unix accounts.  The following is an example for a
 Linux based Samba server:</P
 ><P
->  <SAMP
+>  <TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
->/usr/sbin/useradd -g 100 -d /dev/null -c <VAR
+>/usr/sbin/useradd -g 100 -d /dev/null -c <TT
 CLASS="REPLACEABLE"
+><I
 >"machine 
-nickname"</VAR
-> -s /bin/false <VAR
+nickname"</I
+></TT
+> -s /bin/false <TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><I
+>machine_name</I
+></TT
 >$ </B
 ></P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
->passwd -l <VAR
+>passwd -l <TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><I
+>machine_name</I
+></TT
 >$</B
 ></P
 ><P
 >On *BSD systems, this can be done using the 'chpass' utility:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
->chpass -a "<VAR
+>chpass -a "<TT
 CLASS="REPLACEABLE"
->machine_name</VAR
->$:*:101:100::0:0:Workstation <VAR
+><I
+>machine_name</I
+></TT
+>$:*:101:100::0:0:Workstation <TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><I
+>machine_name</I
+></TT
 >:/dev/null:/sbin/nologin"</B
 ></P
 ><P
@@ -705,20 +617,26 @@ CLASS="FILENAME"
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->doppy$:x:505:501:<VAR
+>doppy$:x:505:501:<TT
 CLASS="REPLACEABLE"
->machine_nickname</VAR
+><I
+>machine_nickname</I
+></TT
 >:/dev/null:/bin/false</PRE
 ></P
 ><P
->Above, <VAR
+>Above, <TT
 CLASS="REPLACEABLE"
->machine_nickname</VAR
+><I
+>machine_nickname</I
+></TT
 > can be any
 descriptive name for the client, i.e., BasementComputer.
-<VAR
+<TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><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
@@ -736,20 +654,24 @@ CLASS="COMMAND"
 > command 
 as shown here:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
->smbpasswd -a -m <VAR
+>smbpasswd -a -m <TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><I
+>machine_name</I
+></TT
 ></B
 ></P
 ><P
->where <VAR
+>where <TT
 CLASS="REPLACEABLE"
->machine_name</VAR
+><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
@@ -767,7 +689,7 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
 ALT="Warning"></TD
 ><TH
@@ -803,9 +725,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN956"
->6.4.2. "On-the-Fly" Creation of Machine Trust Accounts</A
-></H2
+NAME="AEN723">6.4.2. "On-the-Fly" Creation of Machine Trust Accounts</H2
 ><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
@@ -840,9 +760,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN965"
->6.4.3. Joining the Client to the Domain</A
-></H2
+NAME="AEN732">6.4.3. Joining the Client to the Domain</H2
 ><P
 >The procedure for joining a client to the domain varies with the
 version of Windows.</P
@@ -908,9 +826,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN980"
->6.5. Common Problems and Errors</A
-></H1
+NAME="AEN747">6.5. Common Problems and Errors</H1
 ><P
 ></P
 ><P
@@ -964,9 +880,9 @@ CLASS="EMPHASIS"
        will remove all network drive connections:
        </P
 ><P
->      <SAMP
+>      <TT
 CLASS="PROMPT"
->C:\WINNT\&#62;</SAMP
+>C:\WINNT\&#62;</TT
 > <B
 CLASS="COMMAND"
 >net use * /d</B
@@ -992,16 +908,23 @@ CLASS="EMPHASIS"
 ><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 again or consult your 
+       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 the secrets.tdb database
-       is changed. The most common cause of a change in domain SID is when
-       the domain name and/or the server name (netbios name) is changed.
-       The only way to correct the problem is to restore the original domain 
-       SID or remove the domain client from the domain and rejoin. The domain
-       SID may be reset using either the smbpasswd or rpcclient utilities.
+>      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
@@ -1022,9 +945,11 @@ CLASS="EMPHASIS"
        </P
 ><P
 >      This problem is caused by the PDC not having a suitable machine trust account. 
-       If you are using the <VAR
+       If you are using the <TT
 CLASS="PARAMETER"
->add user script</VAR
+><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.
@@ -1068,9 +993,11 @@ CLASS="COMMAND"
        </P
 ><P
 >      In order to work around this problem in 2.2.0, configure the 
-       <VAR
+       <TT
 CLASS="PARAMETER"
->account</VAR
+><I
+>account</I
+></TT
 > control flag in 
        <TT
 CLASS="FILENAME"
@@ -1107,14 +1034,19 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1026"
->6.6. What other help can I get?</A
-></H1
+NAME="AEN795">6.6. System Policies and Profiles</H1
 ><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
+>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
@@ -1124,59 +1056,227 @@ general SMB topics such as browsing.</P
 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
+>What about Windows NT Policy Editor?</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).
+>      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
->      Another helpful method of debugging is to compile samba using the 
+>      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"
->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.
+>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
->      Some useful samba commands worth investigating:
+>      <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
->testparam | more</P
+>Server Manager</P
 ></LI
 ><LI
 ><P
->smbclient -L //{netbios name of server}</P
+>User Manager for Domains</P
+></LI
+><LI
+><P
+>Event Viewer</P
 ></LI
 ></UL
 ><P
->      An SMB enabled version of tcpdump is available from 
-       <A
-HREF="http://www.tcpdump.org/"
+>      Click here to download the archived file <A
+HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE"
 TARGET="_top"
->http://www.tcpdup.org/</A
->.
-       Ethereal, another good packet sniffer for Unix and Win32
-       hosts, can be downloaded from <A
+>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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN839">6.7. What other help can I get?</H1
+><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
@@ -1527,27 +1627,60 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1140"
->6.7. Domain Control for Windows 9x/ME</A
-></H1
+NAME="AEN953">6.8. Domain Control for Windows 9x/ME</H1
+><DIV
+CLASS="NOTE"
+><P
+></P
+><TABLE
+CLASS="NOTE"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/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. Samba-3 does this
-now in the same way that MS Windows NT/2K.</P
+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 this documentation under the browsing discussions.
-It should be noted, that browsing is totally orthogonal to logon support.</P
+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 are the focus of this section.</P
+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
@@ -1626,9 +1759,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1163"
->6.7.1. Configuration Instructions:    Network Logons</A
-></H2
+NAME="AEN979">6.8.1. Configuration Instructions:       Network Logons</H2
 ><P
 >The main difference between a PDC and a Windows 9x logon 
 server configuration is that</P
@@ -1661,7 +1792,7 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="/usr/share/sgml/docbook/stylesheet/dsssl/modular/images/warning.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
 ALT="Warning"></TD
 ><TH
@@ -1681,20 +1812,20 @@ VALIGN="TOP"
 >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 <CODE
+modes other than <TT
 CLASS="CONSTANT"
->USER</CODE
+>USER</TT
 >.  The only security mode 
-which  will not work due to technical reasons is <CODE
+which  will not work due to technical reasons is <TT
 CLASS="CONSTANT"
->SHARE</CODE
+>SHARE</TT
 >
-mode security.  <CODE
+mode security.  <TT
 CLASS="CONSTANT"
->DOMAIN</CODE
-> and <CODE
+>DOMAIN</TT
+> and <TT
 CLASS="CONSTANT"
->SERVER</CODE
+>SERVER</TT
 >
 mode security is really just a variation on SMB user level security.</P
 ><P
@@ -1727,6 +1858,685 @@ for its domain.</P
 ></TABLE
 ></DIV
 ></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN998">6.8.2. Configuration Instructions:       Setting up Roaming User Profiles</H2
+><DIV
+CLASS="WARNING"
+><P
+></P
+><TABLE
+CLASS="WARNING"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1006">6.8.2.1. Windows NT Configuration</H3
+><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="../images/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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1014">6.8.2.2. Windows 9X Configuration</H3
+><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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1022">6.8.2.3. Win9X and WinNT Configuration</H3
+><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="../images/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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1029">6.8.2.4. Windows 9X Profile Setup</H3
+><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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1065">6.8.2.5. Windows NT Workstation 4.0</H3
+><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="../images/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="../images/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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1078">6.8.2.6. Windows NT Server</H3
+><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"
+><H3
+CLASS="SECT3"
+><A
+NAME="AEN1081">6.8.2.7. Sharing Profiles between W95 and NT Workstation 4.0</H3
+><DIV
+CLASS="WARNING"
+><P
+></P
+><TABLE
+CLASS="WARNING"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/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="../images/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"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN1091">6.9. DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</H1
+><DIV
+CLASS="WARNING"
+><P
+></P
+><TABLE
+CLASS="WARNING"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/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
@@ -1773,7 +2583,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Samba as Stand-Alone Server</TD
+>User and Share security level (for servers not in a domain)</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -1787,7 +2597,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Samba Backup Domain Controller to Samba Domain Control</TD
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</TD
 ></TR
 ></TABLE
 ></DIV
index 689fba7cee5fc6b1dbcb3b8c1432687e21db3539..0851e99bd5aa314286ac9a9b5a349fb21b69b6c3 100644 (file)
@@ -5,7 +5,7 @@
 >samba</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SAMBA.7"
+NAME="SAMBA"
 ></A
 >samba</H1
 ><DIV
@@ -25,7 +25,7 @@ NAME="AEN5"
 ></A
 ><H2
 >Name</H2
->Samba&nbsp;--&nbsp;A Windows SMB/CIFS fileserver for UNIX</DIV
+>SAMBA&nbsp;--&nbsp;A Windows SMB/CIFS fileserver for UNIX</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
@@ -63,37 +63,29 @@ TARGET="_top"
 CLASS="VARIABLELIST"
 ><DL
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+><B
+CLASS="COMMAND"
+>smbd</B
 ></DT
 ><DD
 ><P
 >The <B
 CLASS="COMMAND"
->smbd</B
-> daemon provides the file and print services to 
+>smbd </B
+>
+               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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               for this daemon is described in <TT
+CLASS="FILENAME"
+>smb.conf</TT
 >
                </P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+><B
+CLASS="COMMAND"
+>nmbd</B
 ></DT
 ><DD
 ><P
@@ -103,21 +95,15 @@ CLASS="COMMAND"
 >
                daemon provides NetBIOS nameservice and browsing
                support. The configuration file for this daemon 
-               is described in <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               is described in <TT
+CLASS="FILENAME"
+>smb.conf</TT
 ></P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
+><B
+CLASS="COMMAND"
+>smbclient</B
 ></DT
 ><DD
 ><P
@@ -132,12 +118,9 @@ CLASS="COMMAND"
                any SMB server (such as a PC running Windows NT).</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
+><B
+CLASS="COMMAND"
+>testparm</B
 ></DT
 ><DD
 ><P
@@ -145,21 +128,16 @@ CLASS="REFENTRYTITLE"
 CLASS="COMMAND"
 >testparm</B
 >
-               utility is a simple syntax checker for Samba's <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> configuration file.</P
+               utility is a simple syntax checker for Samba's
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
+>configuration file.</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testprns</SPAN
->(1)</SPAN
+><B
+CLASS="COMMAND"
+>testprns</B
 ></DT
 ><DD
 ><P
@@ -175,12 +153,9 @@ CLASS="FILENAME"
                by Samba.</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbstatus</SPAN
->(1)</SPAN
+><B
+CLASS="COMMAND"
+>smbstatus</B
 ></DT
 ><DD
 ><P
@@ -195,12 +170,9 @@ CLASS="COMMAND"
 >.</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
+><B
+CLASS="COMMAND"
+>nmblookup</B
 ></DT
 ><DD
 ><P
@@ -212,30 +184,26 @@ CLASS="COMMAND"
                from a UNIX host.</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbgroupedit</SPAN
->(8)</SPAN
+><B
+CLASS="COMMAND"
+>make_smbcodepage</B
 ></DT
 ><DD
 ><P
 >The <B
 CLASS="COMMAND"
->smbgroupedit</B
+>make_smbcodepage</B
 >
-               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.</P
+               utility provides a means of creating SMB code page 
+               definition files for your <B
+CLASS="COMMAND"
+>smbd</B
+> server.</P
 ></DD
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
+><B
+CLASS="COMMAND"
+>smbpasswd</B
 ></DT
 ><DD
 ><P
@@ -252,7 +220,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN99"
+NAME="AEN76"
 ></A
 ><H2
 >COMPONENTS</H2
@@ -281,7 +249,7 @@ TARGET="_top"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN105"
+NAME="AEN82"
 ></A
 ><H2
 >AVAILABILITY</H2
@@ -306,8 +274,8 @@ TARGET="_top"
        list. Details on how to join the mailing list are given in 
        the README file that comes with Samba.</P
 ><P
->If you have access to a WWW viewer (such as Mozilla
-       or Konqueror) then you will also find lots of useful information, 
+>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
        <A
 HREF="http://lists.samba.org/"
@@ -318,18 +286,18 @@ TARGET="_top"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN113"
+NAME="AEN90"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 3.0 of the 
+>This man page is correct for version 2.2 of the 
        Samba suite. </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN116"
+NAME="AEN93"
 ></A
 ><H2
 >CONTRIBUTIONS</H2
@@ -349,8 +317,8 @@ HREF="http://devel.samba.org/"
 TARGET="_top"
 >http://devel.samba.org/</A
 >
-       for information on how to do it properly. We prefer patches 
-       in <B
+       for information on how to do it properly. We prefer patches in
+       <B
 CLASS="COMMAND"
 >diff -u</B
 > format.</P
@@ -358,7 +326,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN123"
+NAME="AEN100"
 ></A
 ><H2
 >CONTRIBUTORS</H2
@@ -390,7 +358,7 @@ TARGET="_top"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN130"
+NAME="AEN107"
 ></A
 ><H2
 >AUTHOR</H2
@@ -402,14 +370,14 @@ NAME="AEN130"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
diff --git a/docs/htmldocs/securing-samba.html b/docs/htmldocs/securing-samba.html
deleted file mode 100644 (file)
index ad89fb8..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML
-><HEAD
-><TITLE
->Securing Samba</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
-REL="HOME"
-TITLE="SAMBA Project Documentation"
-HREF="samba-howto-collection.html"><LINK
-REL="UP"
-TITLE="Advanced Configuration"
-HREF="optional.html"><LINK
-REL="PREVIOUS"
-TITLE="Stackable VFS modules"
-HREF="vfs.html"><LINK
-REL="NEXT"
-TITLE="Unicode/Charsets"
-HREF="unicode.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->SAMBA Project Documentation</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="vfs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="unicode.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="SECURING-SAMBA"
-></A
->Chapter 21. Securing Samba</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3348"
->21.1. Introduction</A
-></H1
-><P
->This note was attached to the Samba 2.2.8 release notes as it contained an
-important security fix.  The information contained here applies to Samba
-installations in general.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3351"
->21.2. Using host based protection</A
-></H1
-><P
->In many installations of Samba the greatest threat comes for outside
-your immediate network. By default Samba will accept connections from
-any host, which means that if you run an insecure version of Samba on
-a host that is directly connected to the Internet you can be
-especially vulnerable.</P
-><P
->One of the simplest fixes in this case is to use the 'hosts allow' and
-'hosts deny' options in the Samba smb.conf configuration file to only
-allow access to your server from a specific range of hosts. An example
-might be:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24
-  hosts deny = 0.0.0.0/0</PRE
-></P
-><P
->The above will only allow SMB connections from 'localhost' (your own
-computer) and from the two private networks 192.168.2 and
-192.168.3. All other connections will be refused connections as soon
-as the client sends its first packet. The refusal will be marked as a
-'not listening on called name' error.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3358"
->21.3. Using interface protection</A
-></H1
-><P
->By default Samba will accept connections on any network interface that
-it finds on your system. That means if you have a ISDN line or a PPP
-connection to the Internet then Samba will accept connections on those
-links. This may not be what you want.</P
-><P
->You can change this behaviour using options like the following:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  interfaces = eth* lo
-  bind interfaces only = yes</PRE
-></P
-><P
-></P
-><P
->This tells Samba to only listen for connections on interfaces with a
-name starting with 'eth' such as eth0, eth1, plus on the loopback
-interface called 'lo'. The name you will need to use depends on what
-OS you are using, in the above I used the common name for Ethernet
-adapters on Linux.</P
-><P
->If you use the above and someone tries to make a SMB connection to
-your host over a PPP interface called 'ppp0' then they will get a TCP
-connection refused reply. In that case no Samba code is run at all as
-the operating system has been told not to pass connections from that
-interface to any process.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3367"
->21.4. Using a firewall</A
-></H1
-><P
->Many people use a firewall to deny access to services that they don't
-want exposed outside their network. This can be a very good idea,
-although I would recommend using it in conjunction with the above
-methods so that you are protected even if your firewall is not active
-for some reason.</P
-><P
->If you are setting up a firewall then you need to know what TCP and
-UDP ports to allow and block. Samba uses the following:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->UDP/137    - used by nmbd
-UDP/138    - used by nmbd
-TCP/139    - used by smbd
-TCP/445    - used by smbd</PRE
-></P
-><P
->The last one is important as many older firewall setups may not be
-aware of it, given that this port was only added to the protocol in
-recent years. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3374"
->21.5. Using a IPC$ share deny</A
-></H1
-><P
->If the above methods are not suitable, then you could also place a
-more specific deny on the IPC$ share that is used in the recently
-discovered security hole. This allows you to offer access to other
-shares while denying access to IPC$ from potentially untrustworthy
-hosts.</P
-><P
->To do that you could use:</P
-><P
-><PRE
-CLASS="PROGRAMLISTING"
->  [ipc$]
-     hosts allow = 192.168.115.0/24 127.0.0.1
-     hosts deny = 0.0.0.0/0</PRE
-></P
-><P
->this would tell Samba that IPC$ connections are not allowed from
-anywhere but the two listed places (localhost and a local
-subnet). Connections to other shares would still be allowed. As the
-IPC$ share is the only share that is always accessible anonymously
-this provides some level of protection against attackers that do not
-know a username/password for your host.</P
-><P
->If you use this method then clients will be given a 'access denied'
-reply when they try to access the IPC$ share. That means that those
-clients will not be able to browse shares, and may also be unable to
-access some other resources. </P
-><P
->This is not recommended unless you cannot use one of the other
-methods listed above for some reason.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN3383"
->21.6. Upgrading Samba</A
-></H1
-><P
->Please check regularly on http://www.samba.org/ for updates and
-important announcements.  Occasionally security releases are made and 
-it is highly recommended to upgrade Samba when a security vulnerability
-is discovered.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="vfs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="samba-howto-collection.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="unicode.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Stackable VFS modules</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="optional.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Unicode/Charsets</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
index 3d25e4d4413099b49e2b7eb56ec576d333375819..f1b9967540e53195e554b79ebd384ca8079f25d8 100644 (file)
@@ -2,10 +2,11 @@
 <HTML
 ><HEAD
 ><TITLE
->Samba as Stand-Alone Server</TITLE
+>User and Share security level (for servers not in a domain)</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
@@ -13,10 +14,10 @@ REL="UP"
 TITLE="Type of installation"
 HREF="type.html"><LINK
 REL="PREVIOUS"
-TITLE="Nomenclature of Server Types"
-HREF="servertype.html"><LINK
+TITLE="Type of installation"
+HREF="type.html"><LINK
 REL="NEXT"
-TITLE="Samba as an NT4 or Win2k Primary Domain Controller"
+TITLE="How to Configure Samba as a NT4 Primary Domain Controller"
 HREF="samba-pdc.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="servertype.html"
+HREF="type.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -72,26 +73,7 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="SECURITYLEVELS"
-></A
->Chapter 5. Samba as Stand-Alone Server</H1
-><P
->In this section the function and purpose of Samba's <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->security</I
-></SPAN
->
-modes are described.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN681"
->5.1. User and Share security level</A
-></H1
+NAME="SECURITYLEVELS">Chapter 5. User and Share security level (for servers not in a domain)</H1
 ><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
@@ -102,14 +84,6 @@ 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
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN684"
->5.1.1. User Level Security</A
-></H2
 ><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
@@ -142,15 +116,6 @@ 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
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN694"
->5.1.2. Share Level Security</A
-></H2
 ><P
 >Ok, now for share level security. In share level security the client
 authenticates itself separately for each share. It will send a
@@ -173,15 +138,6 @@ 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
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN698"
->5.1.3. Server Level Security</A
-></H2
 ><P
 >Finally "server level" security. In server level security the samba
 server reports to the client that it is in user level security. The
@@ -210,254 +166,6 @@ 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
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN703"
->5.1.3.1. Configuring Samba for Seemless Windows Network Integration</A
-></H3
-><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 requests.</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
->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, support was dropped 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
-service connection 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
-> = <VAR
-CLASS="REPLACEABLE"
->integer</VAR
->
-       <A
-HREF="smb.conf.5.html#USERNAMELEVEL"
-TARGET="_top"
->username level</A
-> = <VAR
-CLASS="REPLACEABLE"
->integer</VAR
-></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 <VAR
-CLASS="PARAMETER"
->username level</VAR
-> parameter
-is rarely needed.</P
-><P
->However, passwords 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 <VAR
-CLASS="PARAMETER"
->password level</VAR
->
-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 <VAR
-CLASS="PARAMETER"
->password level</VAR
-> 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
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN729"
->5.1.3.2. Use MS Windows NT as an authentication server</A
-></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
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN737"
->5.1.4. Domain Level Security</A
-></H2
-><P
->When samba is operating in <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->security = domain</I
-></SPAN
-> mode this means that
-the Samba server has a domain security trust account (a machine account) and will cause
-all authentication requests to be passed through to the domain controllers.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN741"
->5.1.4.1. Samba as a member of an MS Windows NT security domain</A
-></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.
-This is the default behaviour.</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
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN758"
->5.1.5. ADS Level Security</A
-></H2
-><P
->For information about the configuration option please refer to the entire section entitled
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Samba as an ADS Domain Member.</I
-></SPAN
-></P
-></DIV
-></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -475,7 +183,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="servertype.html"
+HREF="type.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -503,7 +211,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Nomenclature of Server Types</TD
+>Type of installation</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -517,7 +225,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Samba as an NT4 or Win2k Primary Domain Controller</TD
+>How to Configure Samba as a NT4 Primary Domain Controller</TD
 ></TR
 ></TABLE
 ></DIV
index e66b848be79ad6dd367f265f892b4059b3576727..4f02951a9cbcc072ff5fcda2a49ecc3ee2f32a88 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >smb.conf</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMB.CONF.5"
-></A
->smb.conf</H1
+NAME="SMB.CONF">smb.conf</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -37,29 +36,31 @@ NAME="AEN8"
 >The <TT
 CLASS="FILENAME"
 >smb.conf</TT
-> file is a configuration  
+> file is a configuration 
        file for the Samba suite. <TT
 CLASS="FILENAME"
 >smb.conf</TT
-> contains  
-       runtime configuration information for the Samba programs. The <TT
+> contains 
+       runtime configuration information for the Samba programs. The
+       <TT
 CLASS="FILENAME"
 >smb.conf</TT
-> file 
-       is designed to be configured and  administered by the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->swat</SPAN
->(8)</SPAN
-> program. The complete
-       description of the file format and possible parameters held within
-       are here for reference purposes.</P
+> file is designed to be configured and 
+       administered by the <A
+HREF="swat.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>swat(8)</B
+>
+       </A
+> program. The complete description of the file format and 
+       possible parameters held within are here for reference purposes.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17"
+NAME="AEN16"
 ></A
 ><H2
 >FILE FORMAT</H2
@@ -69,13 +70,17 @@ NAME="AEN17"
        until the next section begins. Sections contain parameters of the 
        form</P
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->name</VAR
-> = <VAR
+><I
+>name</I
+></TT
+> = <TT
 CLASS="REPLACEABLE"
+><I
 >value
-       </VAR
+       </I
+></TT
 ></P
 ><P
 >The file is line-based - that is, each newline-terminated 
@@ -105,7 +110,7 @@ CLASS="REPLACEABLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN29"
+NAME="AEN28"
 ></A
 ><H2
 >SECTION DESCRIPTIONS</H2
@@ -118,12 +123,9 @@ NAME="AEN29"
 ><P
 >There are three special sections, [global],
        [homes] and [printers], which are
-       described under <SPAN
-CLASS="emphasis"
-><I
+       described under <I
 CLASS="EMPHASIS"
 >special sections</I
-></SPAN
 >. The
        following notes apply to ordinary section descriptions.</P
 ><P
@@ -137,20 +139,14 @@ CLASS="EMPHASIS"
        printable services (used by the client to access print services 
        on the host running the server).</P
 ><P
->Sections may be designated <SPAN
-CLASS="emphasis"
-><I
+>Sections may be designated <I
 CLASS="EMPHASIS"
 >guest</I
-></SPAN
 > services,
        in which case no password is required to access them. A specified 
-       UNIX <SPAN
-CLASS="emphasis"
-><I
+       UNIX <I
 CLASS="EMPHASIS"
 >guest account</I
-></SPAN
 > is used to define access
        privileges in this case.</P
 ><P
@@ -172,49 +168,68 @@ CLASS="FILENAME"
 >/home/bar</TT
 >. 
        The share is accessed via the share name "foo":</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
-><SAMP
+>      <TT
 CLASS="COMPUTEROUTPUT"
->[foo]
-       path = /home/bar
-       read only = no</SAMP
-></PRE
+>      [foo]
+               path = /home/bar
+               read only = no
+       </TT
+>
+       </PRE
+></TD
+></TR
+></TABLE
 ><P
 >The following sample section defines a printable share. 
        The share is readonly, but printable. That is, the only write 
        access permitted is via calls to open, write to and close a 
-       spool file. The <SPAN
-CLASS="emphasis"
-><I
+       spool file. The <I
 CLASS="EMPHASIS"
 >guest ok</I
-></SPAN
 > parameter means 
        access will be permitted as the default guest user (specified 
        elsewhere):</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
-><SAMP
+>      <TT
 CLASS="COMPUTEROUTPUT"
->[aprinter]
-       path = /usr/spool/public
-       read only = yes
-       printable = yes
-       guest ok = yes</SAMP
-></PRE
+>      [aprinter]
+               path = /usr/spool/public
+               read only = yes
+               printable = yes
+               guest ok = yes
+       </TT
+>
+       </PRE
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN49"
+NAME="AEN48"
 ></A
 ><H2
 >SPECIAL SECTIONS</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN51"
+NAME="AEN50"
 ></A
 ><H3
 >The [global] section</H3
@@ -227,7 +242,7 @@ NAME="AEN51"
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN54"
+NAME="AEN53"
 ></A
 ><H3
 >The [homes] section</H3
@@ -260,19 +275,18 @@ NAME="AEN54"
 ></LI
 ></UL
 ><P
->If you decide to use a <SPAN
-CLASS="emphasis"
-><I
+>If you decide to use a <I
 CLASS="EMPHASIS"
 >path =</I
-></SPAN
 > line 
                in your [homes] section then you may find it useful 
                to use the %S macro. For example :</P
 ><P
-><KBD
+><TT
 CLASS="USERINPUT"
->path = /data/pchome/%S</KBD
+><B
+>path = /data/pchome/%S</B
+></TT
 ></P
 ><P
 >would be useful if you have different home directories 
@@ -292,48 +306,47 @@ CLASS="USERINPUT"
                a normal service section can specify, though some make more sense 
                than others. The following is a typical and suitable [homes]
                section:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
-><SAMP
+>              <TT
 CLASS="COMPUTEROUTPUT"
->[homes]
-       read only = no</SAMP
-></PRE
+>              [homes]
+                       read only = no
+               </TT
+>
+               </PRE
+></TD
+></TR
+></TABLE
 ><P
 >An important point is that if guest access is specified 
                in the [homes] section, all home directories will be 
-               visible to all clients <SPAN
-CLASS="emphasis"
-><I
+               visible to all clients <I
 CLASS="EMPHASIS"
 >without a password</I
-></SPAN
 >. 
                In the very unlikely event that this is actually desirable, it 
-               would be wise to also specify <SPAN
-CLASS="emphasis"
-><I
+               would be wise to also specify <I
 CLASS="EMPHASIS"
 >read only
                access</I
-></SPAN
 >.</P
 ><P
->Note that the <SPAN
-CLASS="emphasis"
-><I
+>Note that the <I
 CLASS="EMPHASIS"
 >browseable</I
-></SPAN
 > flag for 
                auto home directories will be inherited from the global browseable 
                flag, not the [homes] browseable flag. This is useful as 
-               it means setting <SPAN
-CLASS="emphasis"
-><I
+               it means setting <I
 CLASS="EMPHASIS"
 >browseable = no</I
-></SPAN
 > in
                the [homes] section will hide the [homes] share but make
                any auto home directories visible.</P
@@ -341,7 +354,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN80"
+NAME="AEN79"
 ></A
 ><H3
 >The [printers] section</H3
@@ -393,27 +406,48 @@ NAME="AEN80"
                world-writeable spool directory with the sticky bit set on 
                it. A typical [printers] entry would look like 
                this:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
-><SAMP
+><TT
 CLASS="COMPUTEROUTPUT"
->[printers]
-       path = /usr/spool/public
-       guest ok = yes
-       printable = yes </SAMP
+>              [printers]
+                       path = /usr/spool/public
+                       guest ok = yes
+                       printable = yes 
+               </TT
 ></PRE
+></TD
+></TR
+></TABLE
 ><P
 >All aliases given for a printer in the printcap file 
                are legitimate printer names as far as the server is concerned. 
                If your printing subsystem doesn't work like that, you will have 
                to set up a pseudo-printcap. This is a file consisting of one or 
                more lines like this:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
 ><PRE
 CLASS="SCREEN"
-><SAMP
+>              <TT
 CLASS="COMPUTEROUTPUT"
->alias|alias|alias|alias...    </SAMP
-></PRE
+>              alias|alias|alias|alias...    
+               </TT
+>
+               </PRE
+></TD
+></TR
+></TABLE
 ><P
 >Each alias should be an acceptable printer name for 
                your printing subsystem. In the [global] section, specify 
@@ -437,7 +471,7 @@ CLASS="COMPUTEROUTPUT"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN103"
+NAME="AEN102"
 ></A
 ><H2
 >PARAMETERS</H2
@@ -445,44 +479,29 @@ NAME="AEN103"
 >parameters define the specific attributes of sections.</P
 ><P
 >Some parameters are specific to the [global] section
-       (e.g., <SPAN
-CLASS="emphasis"
-><I
+       (e.g., <I
 CLASS="EMPHASIS"
 >security</I
-></SPAN
 >).  Some parameters are usable 
-       in all sections (e.g., <SPAN
-CLASS="emphasis"
-><I
+       in all sections (e.g., <I
 CLASS="EMPHASIS"
 >create mode</I
-></SPAN
 >). All others 
        are permissible only in normal sections. For the purposes of the 
        following descriptions the [homes] and [printers]
-       sections will be considered normal.  The letter <SPAN
-CLASS="emphasis"
-><I
+       sections will be considered normal.  The letter <I
 CLASS="EMPHASIS"
 >G</I
-></SPAN
 > 
        in parentheses indicates that a parameter is specific to the
-       [global] section. The letter <SPAN
-CLASS="emphasis"
-><I
+       [global] section. The letter <I
 CLASS="EMPHASIS"
 >S</I
-></SPAN
 >
        indicates that a parameter can be specified in a service specific
-       section. Note that all <SPAN
-CLASS="emphasis"
-><I
+       section. Note that all <I
 CLASS="EMPHASIS"
 >S</I
-></SPAN
 > parameters can also be specified in 
        the [global] section - in which case they will define
        the default behavior for all services.</P
@@ -495,7 +514,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN113"
+NAME="AEN112"
 ></A
 ><H2
 >VARIABLE SUBSTITUTIONS</H2
@@ -608,16 +627,20 @@ TARGET="_top"
 >Name of the domain or workgroup of the current user.</P
 ></DD
 ><DT
->%$(<VAR
+>%$(<TT
 CLASS="REPLACEABLE"
->envvar</VAR
+><I
+>envvar</I
+></TT
 >)</DT
 ><DD
 ><P
 >The value of the environment variable
-               <VAR
+               <TT
 CLASS="REPLACEABLE"
->envar</VAR
+><I
+>envar</I
+></TT
 >.</P
 ></DD
 ></DL
@@ -668,12 +691,9 @@ CLASS="VARIABLELIST"
 ><P
 >the name of your NIS home directory server.  
                This is obtained from your NIS auto.map entry.  If you have 
-               not compiled Samba with the <SPAN
-CLASS="emphasis"
-><I
+               not compiled Samba with the <I
 CLASS="EMPHASIS"
 >--with-automount</I
-></SPAN
 > 
                option then this value will be the same as %L.</P
 ></DD
@@ -694,7 +714,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN206"
+NAME="AEN205"
 ></A
 ><H2
 >NAME MANGLING</H2
@@ -723,12 +743,9 @@ CLASS="VARIABLELIST"
 > controls if names that have characters that 
                aren't of the "default" case are mangled. For example, 
                if this is yes then a name like "Mail" would be mangled. 
-               Default <SPAN
-CLASS="emphasis"
-><I
+               Default <I
 CLASS="EMPHASIS"
 >no</I
-></SPAN
 >.</P
 ></DD
 ><DT
@@ -737,12 +754,9 @@ CLASS="EMPHASIS"
 ><P
 >controls whether filenames are case sensitive. If 
                they aren't then Samba must do a filename search and match on passed 
-               names. Default <SPAN
-CLASS="emphasis"
-><I
+               names. Default <I
 CLASS="EMPHASIS"
 >no</I
-></SPAN
 >.</P
 ></DD
 ><DT
@@ -750,12 +764,9 @@ CLASS="EMPHASIS"
 ><DD
 ><P
 >controls what the default case is for new 
-               filenames. Default <SPAN
-CLASS="emphasis"
-><I
+               filenames. Default <I
 CLASS="EMPHASIS"
 >lower</I
-></SPAN
 >.</P
 ></DD
 ><DT
@@ -764,12 +775,9 @@ CLASS="EMPHASIS"
 ><P
 >controls if new files are created with the 
                case that the client passes, or if they are forced to be the 
-               "default" case. Default <SPAN
-CLASS="emphasis"
-><I
+               "default" case. Default <I
 CLASS="EMPHASIS"
 >yes</I
-></SPAN
 >.
                </P
 ></DD
@@ -782,12 +790,9 @@ CLASS="EMPHASIS"
                upper case, or if they are forced to be the "default" 
                case. This option can be use with "preserve case = yes" 
                to permit long filenames to retain their case, while short names 
-               are lowercased. Default <SPAN
-CLASS="emphasis"
-><I
+               are lowercased. Default <I
 CLASS="EMPHASIS"
 >yes</I
-></SPAN
 >.</P
 ></DD
 ></DL
@@ -799,7 +804,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN239"
+NAME="AEN238"
 ></A
 ><H2
 >NOTE ABOUT USERNAME/PASSWORD VALIDATION</H2
@@ -823,9 +828,11 @@ TYPE="1"
                pair and that username/password pair is validated by the UNIX 
                system's password programs then the connection is made as that 
                username. Note that this includes the 
-               \\server\service%<VAR
+               \\server\service%<TT
 CLASS="REPLACEABLE"
->username</VAR
+><I
+>username</I
+></TT
 > method of passing 
                a username.</P
 ></LI
@@ -875,7 +882,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN258"
+NAME="AEN257"
 ></A
 ><H2
 >COMPLETE LIST OF GLOBAL PARAMETERS</H2
@@ -889,9 +896,11 @@ NAME="AEN258"
 ><P
 ><A
 HREF="#ABORTSHUTDOWNSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->abort shutdown script</VAR
+><I
+>abort shutdown script</I
+></TT
 ></A
 ></P
 ></LI
@@ -899,9 +908,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDGROUPSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->add group script</VAR
+><I
+>add group script</I
+></TT
 ></A
 ></P
 ></LI
@@ -909,9 +920,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->addprinter command</VAR
+><I
+>addprinter command</I
+></TT
 ></A
 ></P
 ></LI
@@ -919,9 +932,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDSHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->add share command</VAR
+><I
+>add share command</I
+></TT
 ></A
 ></P
 ></LI
@@ -929,9 +944,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDUSERSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->add user script</VAR
+><I
+>add user script</I
+></TT
 ></A
 ></P
 ></LI
@@ -939,9 +956,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDUSERTOGROUPSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->add user to group script</VAR
+><I
+>add user to group script</I
+></TT
 ></A
 ></P
 ></LI
@@ -949,9 +968,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADDMACHINESCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->add machine script</VAR
+><I
+>add machine script</I
+></TT
 ></A
 ></P
 ></LI
@@ -959,9 +980,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEGROUPSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete group script</VAR
+><I
+>delete group script</I
+></TT
 ></A
 ></P
 ></LI
@@ -969,9 +992,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ADSSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->ads server</VAR
+><I
+>ads server</I
+></TT
 ></A
 ></P
 ></LI
@@ -979,9 +1004,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ALGORITHMICRIDBASE"
-><VAR
+><TT
 CLASS="PARAMETER"
->algorithmic rid base</VAR
+><I
+>algorithmic rid base</I
+></TT
 ></A
 ></P
 ></LI
@@ -989,9 +1016,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ALLOWTRUSTEDDOMAINS"
-><VAR
+><TT
 CLASS="PARAMETER"
->allow trusted domains</VAR
+><I
+>allow trusted domains</I
+></TT
 ></A
 ></P
 ></LI
@@ -999,9 +1028,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ANNOUNCEAS"
-><VAR
+><TT
 CLASS="PARAMETER"
->announce as</VAR
+><I
+>announce as</I
+></TT
 ></A
 ></P
 ></LI
@@ -1009,9 +1040,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ANNOUNCEVERSION"
-><VAR
+><TT
 CLASS="PARAMETER"
->announce version</VAR
+><I
+>announce version</I
+></TT
 ></A
 ></P
 ></LI
@@ -1019,9 +1052,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#AUTHMETHODS"
-><VAR
+><TT
 CLASS="PARAMETER"
->auth methods</VAR
+><I
+>auth methods</I
+></TT
 ></A
 ></P
 ></LI
@@ -1029,9 +1064,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#AUTOSERVICES"
-><VAR
+><TT
 CLASS="PARAMETER"
->auto services</VAR
+><I
+>auto services</I
+></TT
 ></A
 ></P
 ></LI
@@ -1039,9 +1076,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BINDINTERFACESONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->bind interfaces only</VAR
+><I
+>bind interfaces only</I
+></TT
 ></A
 ></P
 ></LI
@@ -1049,9 +1088,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BROWSELIST"
-><VAR
+><TT
 CLASS="PARAMETER"
->browse list</VAR
+><I
+>browse list</I
+></TT
 ></A
 ></P
 ></LI
@@ -1059,9 +1100,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CHANGENOTIFYTIMEOUT"
-><VAR
+><TT
 CLASS="PARAMETER"
->change notify timeout</VAR
+><I
+>change notify timeout</I
+></TT
 ></A
 ></P
 ></LI
@@ -1069,9 +1112,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CHANGESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->change share command</VAR
+><I
+>change share command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1079,9 +1124,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CONFIGFILE"
-><VAR
+><TT
 CLASS="PARAMETER"
->config file</VAR
+><I
+>config file</I
+></TT
 ></A
 ></P
 ></LI
@@ -1089,9 +1136,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEADTIME"
-><VAR
+><TT
 CLASS="PARAMETER"
->deadtime</VAR
+><I
+>deadtime</I
+></TT
 ></A
 ></P
 ></LI
@@ -1099,9 +1148,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEBUGHIRESTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->debug hires timestamp</VAR
+><I
+>debug hires timestamp</I
+></TT
 ></A
 ></P
 ></LI
@@ -1109,9 +1160,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEBUGPID"
-><VAR
+><TT
 CLASS="PARAMETER"
->debug pid</VAR
+><I
+>debug pid</I
+></TT
 ></A
 ></P
 ></LI
@@ -1119,9 +1172,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEBUGTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->debug timestamp</VAR
+><I
+>debug timestamp</I
+></TT
 ></A
 ></P
 ></LI
@@ -1129,9 +1184,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEBUGUID"
-><VAR
+><TT
 CLASS="PARAMETER"
->debug uid</VAR
+><I
+>debug uid</I
+></TT
 ></A
 ></P
 ></LI
@@ -1139,9 +1196,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEBUGLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 ></A
 ></P
 ></LI
@@ -1149,9 +1208,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEFAULT"
-><VAR
+><TT
 CLASS="PARAMETER"
->default</VAR
+><I
+>default</I
+></TT
 ></A
 ></P
 ></LI
@@ -1159,9 +1220,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEFAULTSERVICE"
-><VAR
+><TT
 CLASS="PARAMETER"
->default service</VAR
+><I
+>default service</I
+></TT
 ></A
 ></P
 ></LI
@@ -1169,9 +1232,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->deleteprinter command</VAR
+><I
+>deleteprinter command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1179,9 +1244,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete share command</VAR
+><I
+>delete share command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1189,9 +1256,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEUSERSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete user script</VAR
+><I
+>delete user script</I
+></TT
 ></A
 ></P
 ></LI
@@ -1199,9 +1268,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEUSERFROMGROUPSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete user from group script</VAR
+><I
+>delete user from group script</I
+></TT
 ></A
 ></P
 ></LI
@@ -1209,9 +1280,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DFREECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->dfree command</VAR
+><I
+>dfree command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1219,9 +1292,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DISABLENETBIOS"
-><VAR
+><TT
 CLASS="PARAMETER"
->disable netbios</VAR
+><I
+>disable netbios</I
+></TT
 ></A
 ></P
 ></LI
@@ -1229,9 +1304,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DISABLESPOOLSS"
-><VAR
+><TT
 CLASS="PARAMETER"
->disable spoolss</VAR
+><I
+>disable spoolss</I
+></TT
 ></A
 ></P
 ></LI
@@ -1239,9 +1316,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DISPLAYCHARSET"
-><VAR
+><TT
 CLASS="PARAMETER"
->display charset</VAR
+><I
+>display charset</I
+></TT
 ></A
 ></P
 ></LI
@@ -1249,9 +1328,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DNSPROXY"
-><VAR
+><TT
 CLASS="PARAMETER"
->dns proxy</VAR
+><I
+>dns proxy</I
+></TT
 ></A
 ></P
 ></LI
@@ -1259,9 +1340,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOMAINLOGONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->domain logons</VAR
+><I
+>domain logons</I
+></TT
 ></A
 ></P
 ></LI
@@ -1269,9 +1352,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOMAINMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->domain master</VAR
+><I
+>domain master</I
+></TT
 ></A
 ></P
 ></LI
@@ -1279,9 +1364,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOSCHARSET"
-><VAR
+><TT
 CLASS="PARAMETER"
->dos charset</VAR
+><I
+>dos charset</I
+></TT
 ></A
 ></P
 ></LI
@@ -1289,9 +1376,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypt passwords</VAR
+><I
+>encrypt passwords</I
+></TT
 ></A
 ></P
 ></LI
@@ -1299,9 +1388,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ENHANCEDBROWSING"
-><VAR
+><TT
 CLASS="PARAMETER"
->enhanced browsing</VAR
+><I
+>enhanced browsing</I
+></TT
 ></A
 ></P
 ></LI
@@ -1309,9 +1400,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ENUMPORTSCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->enumports command</VAR
+><I
+>enumports command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1319,9 +1412,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#GETWDCACHE"
-><VAR
+><TT
 CLASS="PARAMETER"
->getwd cache</VAR
+><I
+>getwd cache</I
+></TT
 ></A
 ></P
 ></LI
@@ -1329,9 +1424,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDELOCALUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide local users</VAR
+><I
+>hide local users</I
+></TT
 ></A
 ></P
 ></LI
@@ -1339,9 +1436,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDEUNREADABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide unreadable</VAR
+><I
+>hide unreadable</I
+></TT
 ></A
 ></P
 ></LI
@@ -1349,9 +1448,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDEUNWRITEABLEFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide unwriteable files</VAR
+><I
+>hide unwriteable files</I
+></TT
 ></A
 ></P
 ></LI
@@ -1359,9 +1460,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDESPECIALFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide special files</VAR
+><I
+>hide special files</I
+></TT
 ></A
 ></P
 ></LI
@@ -1369,9 +1472,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOMEDIRMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->homedir map</VAR
+><I
+>homedir map</I
+></TT
 ></A
 ></P
 ></LI
@@ -1379,9 +1484,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOSTMSDFS"
-><VAR
+><TT
 CLASS="PARAMETER"
->host msdfs</VAR
+><I
+>host msdfs</I
+></TT
 ></A
 ></P
 ></LI
@@ -1389,9 +1496,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOSTNAMELOOKUPS"
-><VAR
+><TT
 CLASS="PARAMETER"
->hostname lookups</VAR
+><I
+>hostname lookups</I
+></TT
 ></A
 ></P
 ></LI
@@ -1399,9 +1508,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOSTSEQUIV"
-><VAR
+><TT
 CLASS="PARAMETER"
->hosts equiv</VAR
+><I
+>hosts equiv</I
+></TT
 ></A
 ></P
 ></LI
@@ -1409,9 +1520,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#INTERFACES"
-><VAR
+><TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 ></A
 ></P
 ></LI
@@ -1419,9 +1532,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#KEEPALIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->keepalive</VAR
+><I
+>keepalive</I
+></TT
 ></A
 ></P
 ></LI
@@ -1429,9 +1544,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#KERNELOPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->kernel oplocks</VAR
+><I
+>kernel oplocks</I
+></TT
 ></A
 ></P
 ></LI
@@ -1439,9 +1556,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LANMANAUTH"
-><VAR
+><TT
 CLASS="PARAMETER"
->lanman auth</VAR
+><I
+>lanman auth</I
+></TT
 ></A
 ></P
 ></LI
@@ -1449,9 +1568,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LARGEREADWRITE"
-><VAR
+><TT
 CLASS="PARAMETER"
->large readwrite</VAR
+><I
+>large readwrite</I
+></TT
 ></A
 ></P
 ></LI
@@ -1459,9 +1580,35 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPADMINDN"
-><VAR
+><TT
+CLASS="PARAMETER"
+><I
+>ldap admin dn</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#LDAPDELETEDN"
+><TT
+CLASS="PARAMETER"
+><I
+>ldap delete dn</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#LDAPDELONLYSAMATTR"
+><TT
 CLASS="PARAMETER"
->ldap admin dn</VAR
+><I
+>ldap del only sam attr</I
+></TT
 ></A
 ></P
 ></LI
@@ -1469,9 +1616,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPFILTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap filter</VAR
+><I
+>ldap filter</I
+></TT
 ></A
 ></P
 ></LI
@@ -1479,9 +1628,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap port</VAR
+><I
+>ldap port</I
+></TT
 ></A
 ></P
 ></LI
@@ -1489,9 +1640,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap server</VAR
+><I
+>ldap server</I
+></TT
 ></A
 ></P
 ></LI
@@ -1499,9 +1652,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPSSL"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap ssl</VAR
+><I
+>ldap ssl</I
+></TT
 ></A
 ></P
 ></LI
@@ -1509,9 +1664,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPSUFFIX"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap suffix</VAR
+><I
+>ldap suffix</I
+></TT
 ></A
 ></P
 ></LI
@@ -1519,9 +1676,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPUSERSUFFIX"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap user suffix</VAR
+><I
+>ldap user suffix</I
+></TT
 ></A
 ></P
 ></LI
@@ -1529,9 +1688,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPMACHINESUFFIX"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap machine suffix</VAR
+><I
+>ldap machine suffix</I
+></TT
 ></A
 ></P
 ></LI
@@ -1539,9 +1700,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPPASSWDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap passwd sync</VAR
+><I
+>ldap passwd sync</I
+></TT
 ></A
 ></P
 ></LI
@@ -1549,9 +1712,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LDAPTRUSTIDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap trust ids</VAR
+><I
+>ldap trust ids</I
+></TT
 ></A
 ></P
 ></LI
@@ -1559,9 +1724,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LMANNOUNCE"
-><VAR
+><TT
 CLASS="PARAMETER"
->lm announce</VAR
+><I
+>lm announce</I
+></TT
 ></A
 ></P
 ></LI
@@ -1569,9 +1736,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LMINTERVAL"
-><VAR
+><TT
 CLASS="PARAMETER"
->lm interval</VAR
+><I
+>lm interval</I
+></TT
 ></A
 ></P
 ></LI
@@ -1579,9 +1748,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOADPRINTERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->load printers</VAR
+><I
+>load printers</I
+></TT
 ></A
 ></P
 ></LI
@@ -1589,9 +1760,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCALMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->local master</VAR
+><I
+>local master</I
+></TT
 ></A
 ></P
 ></LI
@@ -1599,9 +1772,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCKDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->lock dir</VAR
+><I
+>lock dir</I
+></TT
 ></A
 ></P
 ></LI
@@ -1609,9 +1784,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCKDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->lock directory</VAR
+><I
+>lock directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -1619,9 +1796,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCKSPINCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->lock spin count</VAR
+><I
+>lock spin count</I
+></TT
 ></A
 ></P
 ></LI
@@ -1629,9 +1808,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCKSPINTIME"
-><VAR
+><TT
 CLASS="PARAMETER"
->lock spin time</VAR
+><I
+>lock spin time</I
+></TT
 ></A
 ></P
 ></LI
@@ -1639,9 +1820,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PIDDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->pid directory</VAR
+><I
+>pid directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -1649,9 +1832,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGFILE"
-><VAR
+><TT
 CLASS="PARAMETER"
->log file</VAR
+><I
+>log file</I
+></TT
 ></A
 ></P
 ></LI
@@ -1659,9 +1844,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->log level</VAR
+><I
+>log level</I
+></TT
 ></A
 ></P
 ></LI
@@ -1669,9 +1856,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGONDRIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->logon drive</VAR
+><I
+>logon drive</I
+></TT
 ></A
 ></P
 ></LI
@@ -1679,9 +1868,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGONHOME"
-><VAR
+><TT
 CLASS="PARAMETER"
->logon home</VAR
+><I
+>logon home</I
+></TT
 ></A
 ></P
 ></LI
@@ -1689,9 +1880,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGONPATH"
-><VAR
+><TT
 CLASS="PARAMETER"
->logon path</VAR
+><I
+>logon path</I
+></TT
 ></A
 ></P
 ></LI
@@ -1699,9 +1892,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOGONSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->logon script</VAR
+><I
+>logon script</I
+></TT
 ></A
 ></P
 ></LI
@@ -1709,9 +1904,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LPQCACHETIME"
-><VAR
+><TT
 CLASS="PARAMETER"
->lpq cache time</VAR
+><I
+>lpq cache time</I
+></TT
 ></A
 ></P
 ></LI
@@ -1719,19 +1916,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MACHINEPASSWORDTIMEOUT"
-><VAR
-CLASS="PARAMETER"
->machine password timeout</VAR
-></A
-></P
-></LI
-><LI
-><P
-><A
-HREF="#MANGLEPREFIX"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangle prefix</VAR
+><I
+>machine password timeout</I
+></TT
 ></A
 ></P
 ></LI
@@ -1739,9 +1928,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLEDSTACK"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangled stack</VAR
+><I
+>mangled stack</I
+></TT
 ></A
 ></P
 ></LI
@@ -1749,9 +1940,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAPTOGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->map to guest</VAR
+><I
+>map to guest</I
+></TT
 ></A
 ></P
 ></LI
@@ -1759,9 +1952,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXDISKSIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->max disk size</VAR
+><I
+>max disk size</I
+></TT
 ></A
 ></P
 ></LI
@@ -1769,9 +1964,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXLOGSIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->max log size</VAR
+><I
+>max log size</I
+></TT
 ></A
 ></P
 ></LI
@@ -1779,9 +1976,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXMUX"
-><VAR
+><TT
 CLASS="PARAMETER"
->max mux</VAR
+><I
+>max mux</I
+></TT
 ></A
 ></P
 ></LI
@@ -1789,9 +1988,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXOPENFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->max open files</VAR
+><I
+>max open files</I
+></TT
 ></A
 ></P
 ></LI
@@ -1799,9 +2000,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXPROTOCOL"
-><VAR
+><TT
 CLASS="PARAMETER"
->max protocol</VAR
+><I
+>max protocol</I
+></TT
 ></A
 ></P
 ></LI
@@ -1809,9 +2012,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXSMBDPROCESSES"
-><VAR
+><TT
 CLASS="PARAMETER"
->max smbd processes</VAR
+><I
+>max smbd processes</I
+></TT
 ></A
 ></P
 ></LI
@@ -1819,9 +2024,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXTTL"
-><VAR
+><TT
 CLASS="PARAMETER"
->max ttl</VAR
+><I
+>max ttl</I
+></TT
 ></A
 ></P
 ></LI
@@ -1829,9 +2036,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXWINSTTL"
-><VAR
+><TT
 CLASS="PARAMETER"
->max wins ttl</VAR
+><I
+>max wins ttl</I
+></TT
 ></A
 ></P
 ></LI
@@ -1839,9 +2048,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXXMIT"
-><VAR
+><TT
 CLASS="PARAMETER"
->max xmit</VAR
+><I
+>max xmit</I
+></TT
 ></A
 ></P
 ></LI
@@ -1849,9 +2060,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MESSAGECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->message command</VAR
+><I
+>message command</I
+></TT
 ></A
 ></P
 ></LI
@@ -1859,9 +2072,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MINPASSWDLENGTH"
-><VAR
+><TT
 CLASS="PARAMETER"
->min passwd length</VAR
+><I
+>min passwd length</I
+></TT
 ></A
 ></P
 ></LI
@@ -1869,9 +2084,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MINPASSWORDLENGTH"
-><VAR
+><TT
 CLASS="PARAMETER"
->min password length</VAR
+><I
+>min password length</I
+></TT
 ></A
 ></P
 ></LI
@@ -1879,9 +2096,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MINPROTOCOL"
-><VAR
+><TT
 CLASS="PARAMETER"
->min protocol</VAR
+><I
+>min protocol</I
+></TT
 ></A
 ></P
 ></LI
@@ -1889,9 +2108,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MINWINSTTL"
-><VAR
+><TT
 CLASS="PARAMETER"
->min wins ttl</VAR
+><I
+>min wins ttl</I
+></TT
 ></A
 ></P
 ></LI
@@ -1899,9 +2120,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NAMECACHETIMEOUT"
-><VAR
+><TT
 CLASS="PARAMETER"
->name cache timeout</VAR
+><I
+>name cache timeout</I
+></TT
 ></A
 ></P
 ></LI
@@ -1909,9 +2132,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NAMERESOLVEORDER"
-><VAR
+><TT
 CLASS="PARAMETER"
->name resolve order</VAR
+><I
+>name resolve order</I
+></TT
 ></A
 ></P
 ></LI
@@ -1919,9 +2144,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NETBIOSALIASES"
-><VAR
+><TT
 CLASS="PARAMETER"
->netbios aliases</VAR
+><I
+>netbios aliases</I
+></TT
 ></A
 ></P
 ></LI
@@ -1929,9 +2156,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NETBIOSNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->netbios name</VAR
+><I
+>netbios name</I
+></TT
 ></A
 ></P
 ></LI
@@ -1939,9 +2168,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NETBIOSSCOPE"
-><VAR
+><TT
 CLASS="PARAMETER"
->netbios scope</VAR
+><I
+>netbios scope</I
+></TT
 ></A
 ></P
 ></LI
@@ -1949,9 +2180,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NISHOMEDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->nis homedir</VAR
+><I
+>nis homedir</I
+></TT
 ></A
 ></P
 ></LI
@@ -1959,9 +2192,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NTLMAUTH"
-><VAR
+><TT
 CLASS="PARAMETER"
->ntlm auth</VAR
+><I
+>ntlm auth</I
+></TT
 ></A
 ></P
 ></LI
@@ -1969,9 +2204,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NONUNIXACCOUNTRANGE"
-><VAR
+><TT
 CLASS="PARAMETER"
->non unix account range</VAR
+><I
+>non unix account range</I
+></TT
 ></A
 ></P
 ></LI
@@ -1979,9 +2216,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NTPIPESUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->nt pipe support</VAR
+><I
+>nt pipe support</I
+></TT
 ></A
 ></P
 ></LI
@@ -1989,9 +2228,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NTSTATUSSUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->nt status support</VAR
+><I
+>nt status support</I
+></TT
 ></A
 ></P
 ></LI
@@ -1999,9 +2240,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NULLPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->null passwords</VAR
+><I
+>null passwords</I
+></TT
 ></A
 ></P
 ></LI
@@ -2009,9 +2252,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OBEYPAMRESTRICTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->obey pam restrictions</VAR
+><I
+>obey pam restrictions</I
+></TT
 ></A
 ></P
 ></LI
@@ -2019,9 +2264,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OPLOCKBREAKWAITTIME"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplock break wait time</VAR
+><I
+>oplock break wait time</I
+></TT
 ></A
 ></P
 ></LI
@@ -2029,9 +2276,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OSLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->os level</VAR
+><I
+>os level</I
+></TT
 ></A
 ></P
 ></LI
@@ -2039,9 +2288,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OS2DRIVERMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->os2 driver map</VAR
+><I
+>os2 driver map</I
+></TT
 ></A
 ></P
 ></LI
@@ -2049,9 +2300,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PAMPASSWORDCHANGE"
-><VAR
+><TT
 CLASS="PARAMETER"
->pam password change</VAR
+><I
+>pam password change</I
+></TT
 ></A
 ></P
 ></LI
@@ -2059,9 +2312,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PANICACTION"
-><VAR
+><TT
 CLASS="PARAMETER"
->panic action</VAR
+><I
+>panic action</I
+></TT
 ></A
 ></P
 ></LI
@@ -2069,9 +2324,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PARANOIDSERVERSECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->paranoid server security</VAR
+><I
+>paranoid server security</I
+></TT
 ></A
 ></P
 ></LI
@@ -2079,9 +2336,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSDBBACKEND"
-><VAR
+><TT
 CLASS="PARAMETER"
->passdb backend</VAR
+><I
+>passdb backend</I
+></TT
 ></A
 ></P
 ></LI
@@ -2089,9 +2348,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSWDCHAT"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd chat</VAR
+><I
+>passwd chat</I
+></TT
 ></A
 ></P
 ></LI
@@ -2099,9 +2360,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSWDCHATDEBUG"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd chat debug</VAR
+><I
+>passwd chat debug</I
+></TT
 ></A
 ></P
 ></LI
@@ -2109,9 +2372,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 ></A
 ></P
 ></LI
@@ -2119,9 +2384,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSWORDLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->password level</VAR
+><I
+>password level</I
+></TT
 ></A
 ></P
 ></LI
@@ -2129,9 +2396,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PASSWORDSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->password server</VAR
+><I
+>password server</I
+></TT
 ></A
 ></P
 ></LI
@@ -2139,9 +2408,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PREFEREDMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->prefered master</VAR
+><I
+>prefered master</I
+></TT
 ></A
 ></P
 ></LI
@@ -2149,9 +2420,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PREFERREDMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->preferred master</VAR
+><I
+>preferred master</I
+></TT
 ></A
 ></P
 ></LI
@@ -2159,9 +2432,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRELOAD"
-><VAR
+><TT
 CLASS="PARAMETER"
->preload</VAR
+><I
+>preload</I
+></TT
 ></A
 ></P
 ></LI
@@ -2169,9 +2444,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTCAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->printcap</VAR
+><I
+>printcap</I
+></TT
 ></A
 ></P
 ></LI
@@ -2179,9 +2456,23 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTCAPNAME"
-><VAR
+><TT
+CLASS="PARAMETER"
+><I
+>printcap name</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#PRINTERDRIVERFILE"
+><TT
 CLASS="PARAMETER"
->printcap name</VAR
+><I
+>printer driver file</I
+></TT
 ></A
 ></P
 ></LI
@@ -2189,9 +2480,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRIVATEDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->private dir</VAR
+><I
+>private dir</I
+></TT
 ></A
 ></P
 ></LI
@@ -2199,9 +2492,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PROTOCOL"
-><VAR
+><TT
 CLASS="PARAMETER"
->protocol</VAR
+><I
+>protocol</I
+></TT
 ></A
 ></P
 ></LI
@@ -2209,9 +2504,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#READBMPX"
-><VAR
+><TT
 CLASS="PARAMETER"
->read bmpx</VAR
+><I
+>read bmpx</I
+></TT
 ></A
 ></P
 ></LI
@@ -2219,9 +2516,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#READRAW"
-><VAR
+><TT
 CLASS="PARAMETER"
->read raw</VAR
+><I
+>read raw</I
+></TT
 ></A
 ></P
 ></LI
@@ -2229,9 +2528,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#READSIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->read size</VAR
+><I
+>read size</I
+></TT
 ></A
 ></P
 ></LI
@@ -2239,9 +2540,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#REALM"
-><VAR
+><TT
 CLASS="PARAMETER"
->realm</VAR
+><I
+>realm</I
+></TT
 ></A
 ></P
 ></LI
@@ -2249,9 +2552,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#REMOTEANNOUNCE"
-><VAR
+><TT
 CLASS="PARAMETER"
->remote announce</VAR
+><I
+>remote announce</I
+></TT
 ></A
 ></P
 ></LI
@@ -2259,9 +2564,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#REMOTEBROWSESYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
->remote browse sync</VAR
+><I
+>remote browse sync</I
+></TT
 ></A
 ></P
 ></LI
@@ -2269,9 +2576,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#RESTRICTANONYMOUS"
-><VAR
+><TT
 CLASS="PARAMETER"
->restrict anonymous</VAR
+><I
+>restrict anonymous</I
+></TT
 ></A
 ></P
 ></LI
@@ -2279,9 +2588,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOT"
-><VAR
+><TT
 CLASS="PARAMETER"
->root</VAR
+><I
+>root</I
+></TT
 ></A
 ></P
 ></LI
@@ -2289,9 +2600,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOTDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->root dir</VAR
+><I
+>root dir</I
+></TT
 ></A
 ></P
 ></LI
@@ -2299,9 +2612,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOTDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->root directory</VAR
+><I
+>root directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -2309,9 +2624,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->security</VAR
+><I
+>security</I
+></TT
 ></A
 ></P
 ></LI
@@ -2319,9 +2636,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SERVERSTRING"
-><VAR
+><TT
 CLASS="PARAMETER"
->server string</VAR
+><I
+>server string</I
+></TT
 ></A
 ></P
 ></LI
@@ -2329,9 +2648,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SHOWADDPRINTERWIZARD"
-><VAR
+><TT
 CLASS="PARAMETER"
->show add printer wizard</VAR
+><I
+>show add printer wizard</I
+></TT
 ></A
 ></P
 ></LI
@@ -2339,9 +2660,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SHUTDOWNSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->shutdown script</VAR
+><I
+>shutdown script</I
+></TT
 ></A
 ></P
 ></LI
@@ -2349,9 +2672,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SMBPASSWDFILE"
-><VAR
+><TT
 CLASS="PARAMETER"
->smb passwd file</VAR
+><I
+>smb passwd file</I
+></TT
 ></A
 ></P
 ></LI
@@ -2359,9 +2684,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SMBPORTS"
-><VAR
+><TT
 CLASS="PARAMETER"
->smb ports</VAR
+><I
+>smb ports</I
+></TT
 ></A
 ></P
 ></LI
@@ -2369,9 +2696,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SOCKETADDRESS"
-><VAR
+><TT
 CLASS="PARAMETER"
->socket address</VAR
+><I
+>socket address</I
+></TT
 ></A
 ></P
 ></LI
@@ -2379,9 +2708,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SOCKETOPTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->socket options</VAR
+><I
+>socket options</I
+></TT
 ></A
 ></P
 ></LI
@@ -2389,9 +2720,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SOURCEENVIRONMENT"
-><VAR
+><TT
 CLASS="PARAMETER"
->source environment</VAR
+><I
+>source environment</I
+></TT
 ></A
 ></P
 ></LI
@@ -2399,9 +2732,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SPNEGO"
-><VAR
+><TT
 CLASS="PARAMETER"
->use spnego</VAR
+><I
+>use spnego</I
+></TT
 ></A
 ></P
 ></LI
@@ -2409,9 +2744,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STATCACHE"
-><VAR
+><TT
 CLASS="PARAMETER"
->stat cache</VAR
+><I
+>stat cache</I
+></TT
 ></A
 ></P
 ></LI
@@ -2419,9 +2756,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STATCACHESIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->stat cache size</VAR
+><I
+>stat cache size</I
+></TT
 ></A
 ></P
 ></LI
@@ -2429,9 +2768,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STRIPDOT"
-><VAR
+><TT
 CLASS="PARAMETER"
->strip dot</VAR
+><I
+>strip dot</I
+></TT
 ></A
 ></P
 ></LI
@@ -2439,9 +2780,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SYSLOG"
-><VAR
+><TT
 CLASS="PARAMETER"
->syslog</VAR
+><I
+>syslog</I
+></TT
 ></A
 ></P
 ></LI
@@ -2449,9 +2792,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SYSLOGONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->syslog only</VAR
+><I
+>syslog only</I
+></TT
 ></A
 ></P
 ></LI
@@ -2459,9 +2804,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TEMPLATEHOMEDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->template homedir</VAR
+><I
+>template homedir</I
+></TT
 ></A
 ></P
 ></LI
@@ -2469,9 +2816,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TEMPLATESHELL"
-><VAR
+><TT
 CLASS="PARAMETER"
->template shell</VAR
+><I
+>template shell</I
+></TT
 ></A
 ></P
 ></LI
@@ -2479,9 +2828,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TIMEOFFSET"
-><VAR
+><TT
 CLASS="PARAMETER"
->time offset</VAR
+><I
+>time offset</I
+></TT
 ></A
 ></P
 ></LI
@@ -2489,9 +2840,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TIMESERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->time server</VAR
+><I
+>time server</I
+></TT
 ></A
 ></P
 ></LI
@@ -2499,9 +2852,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TIMESTAMPLOGS"
-><VAR
+><TT
 CLASS="PARAMETER"
->timestamp logs</VAR
+><I
+>timestamp logs</I
+></TT
 ></A
 ></P
 ></LI
@@ -2509,9 +2864,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#TOTALPRINTJOBS"
-><VAR
+><TT
 CLASS="PARAMETER"
->total print jobs</VAR
+><I
+>total print jobs</I
+></TT
 ></A
 ></P
 ></LI
@@ -2519,9 +2876,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UNICODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->unicode</VAR
+><I
+>unicode</I
+></TT
 ></A
 ></P
 ></LI
@@ -2529,9 +2888,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UNIXCHARSET"
-><VAR
+><TT
 CLASS="PARAMETER"
->unix charset</VAR
+><I
+>unix charset</I
+></TT
 ></A
 ></P
 ></LI
@@ -2539,9 +2900,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UNIXEXTENSIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->unix extensions</VAR
+><I
+>unix extensions</I
+></TT
 ></A
 ></P
 ></LI
@@ -2549,9 +2912,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UNIXPASSWORDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
->unix password sync</VAR
+><I
+>unix password sync</I
+></TT
 ></A
 ></P
 ></LI
@@ -2559,9 +2924,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UPDATEENCRYPTED"
-><VAR
+><TT
 CLASS="PARAMETER"
->update encrypted</VAR
+><I
+>update encrypted</I
+></TT
 ></A
 ></P
 ></LI
@@ -2569,9 +2936,23 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USEMMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->use mmap</VAR
+><I
+>use mmap</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#USERHOSTS"
+><TT
+CLASS="PARAMETER"
+><I
+>use rhosts</I
+></TT
 ></A
 ></P
 ></LI
@@ -2579,9 +2960,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USESENDFILE"
-><VAR
+><TT
 CLASS="PARAMETER"
->use sendfile</VAR
+><I
+>use sendfile</I
+></TT
 ></A
 ></P
 ></LI
@@ -2589,9 +2972,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USERNAMELEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->username level</VAR
+><I
+>username level</I
+></TT
 ></A
 ></P
 ></LI
@@ -2599,9 +2984,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USERNAMEMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->username map</VAR
+><I
+>username map</I
+></TT
 ></A
 ></P
 ></LI
@@ -2609,9 +2996,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UTMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->utmp</VAR
+><I
+>utmp</I
+></TT
 ></A
 ></P
 ></LI
@@ -2619,9 +3008,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#UTMPDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->utmp directory</VAR
+><I
+>utmp directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -2629,9 +3020,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WTMPDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->wtmp directory</VAR
+><I
+>wtmp directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -2639,9 +3032,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDCACHETIME"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind cache time</VAR
+><I
+>winbind cache time</I
+></TT
 ></A
 ></P
 ></LI
@@ -2649,9 +3044,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDENUMUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind enum users</VAR
+><I
+>winbind enum users</I
+></TT
 ></A
 ></P
 ></LI
@@ -2659,9 +3056,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDENUMGROUPS"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind enum groups</VAR
+><I
+>winbind enum groups</I
+></TT
 ></A
 ></P
 ></LI
@@ -2669,9 +3068,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDGID"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind gid</VAR
+><I
+>winbind gid</I
+></TT
 ></A
 ></P
 ></LI
@@ -2679,9 +3080,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDSEPARATOR"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind separator</VAR
+><I
+>winbind separator</I
+></TT
 ></A
 ></P
 ></LI
@@ -2689,9 +3092,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDUID"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind uid</VAR
+><I
+>winbind uid</I
+></TT
 ></A
 ></P
 ></LI
@@ -2699,9 +3104,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINBINDUSEDEFAULTDOMAIN"
-><VAR
+><TT
 CLASS="PARAMETER"
->winbind use default domain</VAR
+><I
+>winbind use default domain</I
+></TT
 ></A
 ></P
 ></LI
@@ -2709,9 +3116,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINSHOOK"
-><VAR
+><TT
 CLASS="PARAMETER"
->wins hook</VAR
+><I
+>wins hook</I
+></TT
 ></A
 ></P
 ></LI
@@ -2719,9 +3128,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINSPARTNERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->wins partners</VAR
+><I
+>wins partners</I
+></TT
 ></A
 ></P
 ></LI
@@ -2729,9 +3140,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINSPROXY"
-><VAR
+><TT
 CLASS="PARAMETER"
->wins proxy</VAR
+><I
+>wins proxy</I
+></TT
 ></A
 ></P
 ></LI
@@ -2739,9 +3152,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINSSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->wins server</VAR
+><I
+>wins server</I
+></TT
 ></A
 ></P
 ></LI
@@ -2749,9 +3164,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WINSSUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->wins support</VAR
+><I
+>wins support</I
+></TT
 ></A
 ></P
 ></LI
@@ -2759,9 +3176,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WORKGROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 ></A
 ></P
 ></LI
@@ -2769,9 +3188,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITERAW"
-><VAR
+><TT
 CLASS="PARAMETER"
->write raw</VAR
+><I
+>write raw</I
+></TT
 ></A
 ></P
 ></LI
@@ -2780,7 +3201,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1018"
+NAME="AEN1029"
 ></A
 ><H2
 >COMPLETE LIST OF SERVICE PARAMETERS</H2
@@ -2794,9 +3215,11 @@ NAME="AEN1018"
 ><P
 ><A
 HREF="#ADMINUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->admin users</VAR
+><I
+>admin users</I
+></TT
 ></A
 ></P
 ></LI
@@ -2804,9 +3227,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ALLOWHOSTS"
-><VAR
+><TT
 CLASS="PARAMETER"
->allow hosts</VAR
+><I
+>allow hosts</I
+></TT
 ></A
 ></P
 ></LI
@@ -2814,9 +3239,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#AVAILABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->available</VAR
+><I
+>available</I
+></TT
 ></A
 ></P
 ></LI
@@ -2824,9 +3251,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BLOCKINGLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->blocking locks</VAR
+><I
+>blocking locks</I
+></TT
 ></A
 ></P
 ></LI
@@ -2834,9 +3263,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BLOCKSIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->block size</VAR
+><I
+>block size</I
+></TT
 ></A
 ></P
 ></LI
@@ -2844,9 +3275,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BROWSABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->browsable</VAR
+><I
+>browsable</I
+></TT
 ></A
 ></P
 ></LI
@@ -2854,9 +3287,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#BROWSEABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->browseable</VAR
+><I
+>browseable</I
+></TT
 ></A
 ></P
 ></LI
@@ -2864,9 +3299,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CASESENSITIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->case sensitive</VAR
+><I
+>case sensitive</I
+></TT
 ></A
 ></P
 ></LI
@@ -2874,9 +3311,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CASESIGNAMES"
-><VAR
+><TT
 CLASS="PARAMETER"
->casesignames</VAR
+><I
+>casesignames</I
+></TT
 ></A
 ></P
 ></LI
@@ -2884,9 +3323,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#COMMENT"
-><VAR
+><TT
 CLASS="PARAMETER"
->comment</VAR
+><I
+>comment</I
+></TT
 ></A
 ></P
 ></LI
@@ -2894,9 +3335,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#COPY"
-><VAR
+><TT
 CLASS="PARAMETER"
->copy</VAR
+><I
+>copy</I
+></TT
 ></A
 ></P
 ></LI
@@ -2904,9 +3347,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CREATEMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 ></A
 ></P
 ></LI
@@ -2914,9 +3359,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->create mode</VAR
+><I
+>create mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -2924,9 +3371,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#CSCPOLICY"
-><VAR
+><TT
 CLASS="PARAMETER"
->csc policy</VAR
+><I
+>csc policy</I
+></TT
 ></A
 ></P
 ></LI
@@ -2934,9 +3383,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEFAULTCASE"
-><VAR
+><TT
 CLASS="PARAMETER"
->default case</VAR
+><I
+>default case</I
+></TT
 ></A
 ></P
 ></LI
@@ -2944,9 +3395,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DEFAULTDEVMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->default devmode</VAR
+><I
+>default devmode</I
+></TT
 ></A
 ></P
 ></LI
@@ -2954,9 +3407,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEREADONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete readonly</VAR
+><I
+>delete readonly</I
+></TT
 ></A
 ></P
 ></LI
@@ -2964,9 +3419,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DELETEVETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->delete veto files</VAR
+><I
+>delete veto files</I
+></TT
 ></A
 ></P
 ></LI
@@ -2974,9 +3431,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DENYHOSTS"
-><VAR
+><TT
 CLASS="PARAMETER"
->deny hosts</VAR
+><I
+>deny hosts</I
+></TT
 ></A
 ></P
 ></LI
@@ -2984,9 +3443,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->directory</VAR
+><I
+>directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -2994,9 +3455,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DIRECTORYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->directory mask</VAR
+><I
+>directory mask</I
+></TT
 ></A
 ></P
 ></LI
@@ -3004,9 +3467,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->directory mode</VAR
+><I
+>directory mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3014,9 +3479,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->directory security mask</VAR
+><I
+>directory security mask</I
+></TT
 ></A
 ></P
 ></LI
@@ -3024,9 +3491,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DONTDESCEND"
-><VAR
+><TT
 CLASS="PARAMETER"
->dont descend</VAR
+><I
+>dont descend</I
+></TT
 ></A
 ></P
 ></LI
@@ -3034,9 +3503,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOSFILEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->dos filemode</VAR
+><I
+>dos filemode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3044,9 +3515,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOSFILETIMERESOLUTION"
-><VAR
+><TT
 CLASS="PARAMETER"
->dos filetime resolution</VAR
+><I
+>dos filetime resolution</I
+></TT
 ></A
 ></P
 ></LI
@@ -3054,9 +3527,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#DOSFILETIMES"
-><VAR
+><TT
 CLASS="PARAMETER"
->dos filetimes</VAR
+><I
+>dos filetimes</I
+></TT
 ></A
 ></P
 ></LI
@@ -3064,9 +3539,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#EXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->exec</VAR
+><I
+>exec</I
+></TT
 ></A
 ></P
 ></LI
@@ -3074,9 +3551,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FAKEDIRECTORYCREATETIMES"
-><VAR
+><TT
 CLASS="PARAMETER"
->fake directory create times</VAR
+><I
+>fake directory create times</I
+></TT
 ></A
 ></P
 ></LI
@@ -3084,9 +3563,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FAKEOPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->fake oplocks</VAR
+><I
+>fake oplocks</I
+></TT
 ></A
 ></P
 ></LI
@@ -3094,9 +3575,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FOLLOWSYMLINKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->follow symlinks</VAR
+><I
+>follow symlinks</I
+></TT
 ></A
 ></P
 ></LI
@@ -3104,9 +3587,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCECREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force create mode</VAR
+><I
+>force create mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3114,9 +3599,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCEDIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force directory mode</VAR
+><I
+>force directory mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3124,9 +3611,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCEDIRECTORYSECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force directory security mode</VAR
+><I
+>force directory security mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3134,9 +3623,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCEGROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
->force group</VAR
+><I
+>force group</I
+></TT
 ></A
 ></P
 ></LI
@@ -3144,9 +3635,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCESECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force security mode</VAR
+><I
+>force security mode</I
+></TT
 ></A
 ></P
 ></LI
@@ -3154,9 +3647,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FORCEUSER"
-><VAR
+><TT
 CLASS="PARAMETER"
->force user</VAR
+><I
+>force user</I
+></TT
 ></A
 ></P
 ></LI
@@ -3164,9 +3659,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#FSTYPE"
-><VAR
+><TT
 CLASS="PARAMETER"
->fstype</VAR
+><I
+>fstype</I
+></TT
 ></A
 ></P
 ></LI
@@ -3174,9 +3671,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#GROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
->group</VAR
+><I
+>group</I
+></TT
 ></A
 ></P
 ></LI
@@ -3184,9 +3683,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 ></P
 ></LI
@@ -3194,9 +3695,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#GUESTOK"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest ok</VAR
+><I
+>guest ok</I
+></TT
 ></A
 ></P
 ></LI
@@ -3204,9 +3707,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#GUESTONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest only</VAR
+><I
+>guest only</I
+></TT
 ></A
 ></P
 ></LI
@@ -3214,9 +3719,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDEDOTFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide dot files</VAR
+><I
+>hide dot files</I
+></TT
 ></A
 ></P
 ></LI
@@ -3224,9 +3731,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HIDEFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->hide files</VAR
+><I
+>hide files</I
+></TT
 ></A
 ></P
 ></LI
@@ -3234,9 +3743,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOSTSALLOW"
-><VAR
+><TT
 CLASS="PARAMETER"
->hosts allow</VAR
+><I
+>hosts allow</I
+></TT
 ></A
 ></P
 ></LI
@@ -3244,9 +3755,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#HOSTSDENY"
-><VAR
+><TT
 CLASS="PARAMETER"
->hosts deny</VAR
+><I
+>hosts deny</I
+></TT
 ></A
 ></P
 ></LI
@@ -3254,9 +3767,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#INCLUDE"
-><VAR
+><TT
 CLASS="PARAMETER"
->include</VAR
+><I
+>include</I
+></TT
 ></A
 ></P
 ></LI
@@ -3264,9 +3779,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#INHERITACLS"
-><VAR
+><TT
 CLASS="PARAMETER"
->inherit acls</VAR
+><I
+>inherit acls</I
+></TT
 ></A
 ></P
 ></LI
@@ -3274,9 +3791,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#INHERITPERMISSIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->inherit permissions</VAR
+><I
+>inherit permissions</I
+></TT
 ></A
 ></P
 ></LI
@@ -3284,9 +3803,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#INVALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->invalid users</VAR
+><I
+>invalid users</I
+></TT
 ></A
 ></P
 ></LI
@@ -3294,9 +3815,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LEVEL2OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->level2 oplocks</VAR
+><I
+>level2 oplocks</I
+></TT
 ></A
 ></P
 ></LI
@@ -3304,9 +3827,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LOCKING"
-><VAR
+><TT
 CLASS="PARAMETER"
->locking</VAR
+><I
+>locking</I
+></TT
 ></A
 ></P
 ></LI
@@ -3314,9 +3839,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LPPAUSECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->lppause command</VAR
+><I
+>lppause command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3324,9 +3851,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LPQCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->lpq command</VAR
+><I
+>lpq command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3334,9 +3863,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LPRESUMECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->lpresume command</VAR
+><I
+>lpresume command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3344,9 +3875,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#LPRMCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->lprm command</VAR
+><I
+>lprm command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3354,9 +3887,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAGICOUTPUT"
-><VAR
+><TT
 CLASS="PARAMETER"
->magic output</VAR
+><I
+>magic output</I
+></TT
 ></A
 ></P
 ></LI
@@ -3364,9 +3899,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAGICSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->magic script</VAR
+><I
+>magic script</I
+></TT
 ></A
 ></P
 ></LI
@@ -3374,9 +3911,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLECASE"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangle case</VAR
+><I
+>mangle case</I
+></TT
 ></A
 ></P
 ></LI
@@ -3384,9 +3923,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLEDMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangled map</VAR
+><I
+>mangled map</I
+></TT
 ></A
 ></P
 ></LI
@@ -3394,9 +3935,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLEDNAMES"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangled names</VAR
+><I
+>mangled names</I
+></TT
 ></A
 ></P
 ></LI
@@ -3404,9 +3947,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLINGCHAR"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangling char</VAR
+><I
+>mangling char</I
+></TT
 ></A
 ></P
 ></LI
@@ -3414,9 +3959,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MANGLINGMETHOD"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangling method</VAR
+><I
+>mangling method</I
+></TT
 ></A
 ></P
 ></LI
@@ -3424,9 +3971,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAPARCHIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->map archive</VAR
+><I
+>map archive</I
+></TT
 ></A
 ></P
 ></LI
@@ -3434,9 +3983,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAPHIDDEN"
-><VAR
+><TT
 CLASS="PARAMETER"
->map hidden</VAR
+><I
+>map hidden</I
+></TT
 ></A
 ></P
 ></LI
@@ -3444,9 +3995,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAPSYSTEM"
-><VAR
+><TT
 CLASS="PARAMETER"
->map system</VAR
+><I
+>map system</I
+></TT
 ></A
 ></P
 ></LI
@@ -3454,9 +4007,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXCONNECTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->max connections</VAR
+><I
+>max connections</I
+></TT
 ></A
 ></P
 ></LI
@@ -3464,9 +4019,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MAXPRINTJOBS"
-><VAR
+><TT
 CLASS="PARAMETER"
->max print jobs</VAR
+><I
+>max print jobs</I
+></TT
 ></A
 ></P
 ></LI
@@ -3474,9 +4031,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MINPRINTSPACE"
-><VAR
+><TT
 CLASS="PARAMETER"
->min print space</VAR
+><I
+>min print space</I
+></TT
 ></A
 ></P
 ></LI
@@ -3484,9 +4043,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MSDFSPROXY"
-><VAR
+><TT
 CLASS="PARAMETER"
->msdfs proxy</VAR
+><I
+>msdfs proxy</I
+></TT
 ></A
 ></P
 ></LI
@@ -3494,9 +4055,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#MSDFSROOT"
-><VAR
+><TT
 CLASS="PARAMETER"
->msdfs root</VAR
+><I
+>msdfs root</I
+></TT
 ></A
 ></P
 ></LI
@@ -3504,9 +4067,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#NTACLSUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->nt acl support</VAR
+><I
+>nt acl support</I
+></TT
 ></A
 ></P
 ></LI
@@ -3514,9 +4079,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ONLYGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->only guest</VAR
+><I
+>only guest</I
+></TT
 ></A
 ></P
 ></LI
@@ -3524,9 +4091,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ONLYUSER"
-><VAR
+><TT
 CLASS="PARAMETER"
->only user</VAR
+><I
+>only user</I
+></TT
 ></A
 ></P
 ></LI
@@ -3534,9 +4103,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OPLOCKCONTENTIONLIMIT"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplock contention limit</VAR
+><I
+>oplock contention limit</I
+></TT
 ></A
 ></P
 ></LI
@@ -3544,9 +4115,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 ></A
 ></P
 ></LI
@@ -3554,9 +4127,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PATH"
-><VAR
+><TT
 CLASS="PARAMETER"
->path</VAR
+><I
+>path</I
+></TT
 ></A
 ></P
 ></LI
@@ -3564,19 +4139,35 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#POSIXLOCKING"
-><VAR
+><TT
+CLASS="PARAMETER"
+><I
+>posix locking</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#POSTEXEC"
+><TT
 CLASS="PARAMETER"
->posix locking</VAR
+><I
+>postexec</I
+></TT
 ></A
 ></P
 ></LI
 ><LI
 ><P
 ><A
-HREF="#POSTEXEC"
-><VAR
+HREF="#POSTSCRIPT"
+><TT
 CLASS="PARAMETER"
->postexec</VAR
+><I
+>postscript</I
+></TT
 ></A
 ></P
 ></LI
@@ -3584,9 +4175,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->preexec</VAR
+><I
+>preexec</I
+></TT
 ></A
 ></P
 ></LI
@@ -3594,9 +4187,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PREEXECCLOSE"
-><VAR
+><TT
 CLASS="PARAMETER"
->preexec close</VAR
+><I
+>preexec close</I
+></TT
 ></A
 ></P
 ></LI
@@ -3604,9 +4199,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRESERVECASE"
-><VAR
+><TT
 CLASS="PARAMETER"
->preserve case</VAR
+><I
+>preserve case</I
+></TT
 ></A
 ></P
 ></LI
@@ -3614,9 +4211,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->print command</VAR
+><I
+>print command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3624,9 +4223,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTOK"
-><VAR
+><TT
 CLASS="PARAMETER"
->print ok</VAR
+><I
+>print ok</I
+></TT
 ></A
 ></P
 ></LI
@@ -3634,9 +4235,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->printable</VAR
+><I
+>printable</I
+></TT
 ></A
 ></P
 ></LI
@@ -3644,9 +4247,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->printer</VAR
+><I
+>printer</I
+></TT
 ></A
 ></P
 ></LI
@@ -3654,9 +4259,35 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTERADMIN"
-><VAR
+><TT
+CLASS="PARAMETER"
+><I
+>printer admin</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#PRINTERDRIVER"
+><TT
+CLASS="PARAMETER"
+><I
+>printer driver</I
+></TT
+></A
+></P
+></LI
+><LI
+><P
+><A
+HREF="#PRINTERDRIVERLOCATION"
+><TT
 CLASS="PARAMETER"
->printer admin</VAR
+><I
+>printer driver location</I
+></TT
 ></A
 ></P
 ></LI
@@ -3664,9 +4295,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTERNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->printer name</VAR
+><I
+>printer name</I
+></TT
 ></A
 ></P
 ></LI
@@ -3674,9 +4307,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 ></A
 ></P
 ></LI
@@ -3684,9 +4319,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#PUBLIC"
-><VAR
+><TT
 CLASS="PARAMETER"
->public</VAR
+><I
+>public</I
+></TT
 ></A
 ></P
 ></LI
@@ -3694,9 +4331,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#QUEUEPAUSECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->queuepause command</VAR
+><I
+>queuepause command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3704,9 +4343,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#QUEUERESUMECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->queueresume command</VAR
+><I
+>queueresume command</I
+></TT
 ></A
 ></P
 ></LI
@@ -3714,9 +4355,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#READLIST"
-><VAR
+><TT
 CLASS="PARAMETER"
->read list</VAR
+><I
+>read list</I
+></TT
 ></A
 ></P
 ></LI
@@ -3724,9 +4367,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->read only</VAR
+><I
+>read only</I
+></TT
 ></A
 ></P
 ></LI
@@ -3734,9 +4379,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOTPOSTEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->root postexec</VAR
+><I
+>root postexec</I
+></TT
 ></A
 ></P
 ></LI
@@ -3744,9 +4391,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOTPREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->root preexec</VAR
+><I
+>root preexec</I
+></TT
 ></A
 ></P
 ></LI
@@ -3754,9 +4403,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#ROOTPREEXECCLOSE"
-><VAR
+><TT
 CLASS="PARAMETER"
->root preexec close</VAR
+><I
+>root preexec close</I
+></TT
 ></A
 ></P
 ></LI
@@ -3764,9 +4415,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 ></A
 ></P
 ></LI
@@ -3774,9 +4427,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SETDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->set directory</VAR
+><I
+>set directory</I
+></TT
 ></A
 ></P
 ></LI
@@ -3784,9 +4439,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SHAREMODES"
-><VAR
+><TT
 CLASS="PARAMETER"
->share modes</VAR
+><I
+>share modes</I
+></TT
 ></A
 ></P
 ></LI
@@ -3794,9 +4451,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SHORTPRESERVECASE"
-><VAR
+><TT
 CLASS="PARAMETER"
->short preserve case</VAR
+><I
+>short preserve case</I
+></TT
 ></A
 ></P
 ></LI
@@ -3804,9 +4463,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STRICTALLOCATE"
-><VAR
+><TT
 CLASS="PARAMETER"
->strict allocate</VAR
+><I
+>strict allocate</I
+></TT
 ></A
 ></P
 ></LI
@@ -3814,9 +4475,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STRICTLOCKING"
-><VAR
+><TT
 CLASS="PARAMETER"
->strict locking</VAR
+><I
+>strict locking</I
+></TT
 ></A
 ></P
 ></LI
@@ -3824,9 +4487,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#STRICTSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
->strict sync</VAR
+><I
+>strict sync</I
+></TT
 ></A
 ></P
 ></LI
@@ -3834,9 +4499,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#SYNCALWAYS"
-><VAR
+><TT
 CLASS="PARAMETER"
->sync always</VAR
+><I
+>sync always</I
+></TT
 ></A
 ></P
 ></LI
@@ -3844,9 +4511,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USECLIENTDRIVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->use client driver</VAR
+><I
+>use client driver</I
+></TT
 ></A
 ></P
 ></LI
@@ -3854,9 +4523,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USER"
-><VAR
+><TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 ></A
 ></P
 ></LI
@@ -3864,9 +4535,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USERNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->username</VAR
+><I
+>username</I
+></TT
 ></A
 ></P
 ></LI
@@ -3874,9 +4547,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#USERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->users</VAR
+><I
+>users</I
+></TT
 ></A
 ></P
 ></LI
@@ -3884,9 +4559,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->valid users</VAR
+><I
+>valid users</I
+></TT
 ></A
 ></P
 ></LI
@@ -3894,9 +4571,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->veto files</VAR
+><I
+>veto files</I
+></TT
 ></A
 ></P
 ></LI
@@ -3904,9 +4583,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VETOOPLOCKFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->veto oplock files</VAR
+><I
+>veto oplock files</I
+></TT
 ></A
 ></P
 ></LI
@@ -3914,9 +4595,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VFSPATH"
-><VAR
+><TT
 CLASS="PARAMETER"
->vfs path</VAR
+><I
+>vfs path</I
+></TT
 ></A
 ></P
 ></LI
@@ -3924,9 +4607,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VFSOBJECT"
-><VAR
+><TT
 CLASS="PARAMETER"
->vfs object</VAR
+><I
+>vfs object</I
+></TT
 ></A
 ></P
 ></LI
@@ -3934,9 +4619,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VFSOPTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->vfs options</VAR
+><I
+>vfs options</I
+></TT
 ></A
 ></P
 ></LI
@@ -3944,9 +4631,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#VOLUME"
-><VAR
+><TT
 CLASS="PARAMETER"
->volume</VAR
+><I
+>volume</I
+></TT
 ></A
 ></P
 ></LI
@@ -3954,9 +4643,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WIDELINKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->wide links</VAR
+><I
+>wide links</I
+></TT
 ></A
 ></P
 ></LI
@@ -3964,9 +4655,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->writable</VAR
+><I
+>writable</I
+></TT
 ></A
 ></P
 ></LI
@@ -3974,9 +4667,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITECACHESIZE"
-><VAR
+><TT
 CLASS="PARAMETER"
->write cache size</VAR
+><I
+>write cache size</I
+></TT
 ></A
 ></P
 ></LI
@@ -3984,9 +4679,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITELIST"
-><VAR
+><TT
 CLASS="PARAMETER"
->write list</VAR
+><I
+>write list</I
+></TT
 ></A
 ></P
 ></LI
@@ -3994,9 +4691,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITEOK"
-><VAR
+><TT
 CLASS="PARAMETER"
->write ok</VAR
+><I
+>write ok</I
+></TT
 ></A
 ></P
 ></LI
@@ -4004,9 +4703,11 @@ CLASS="PARAMETER"
 ><P
 ><A
 HREF="#WRITEABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->writeable</VAR
+><I
+>writeable</I
+></TT
 ></A
 ></P
 ></LI
@@ -4015,7 +4716,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1510"
+NAME="AEN1533"
 ></A
 ><H2
 >EXPLANATION OF EACH PARAMETER</H2
@@ -4028,39 +4729,37 @@ CLASS="VARIABLELIST"
 ><A
 NAME="ABORTSHUTDOWNSCRIPT"
 ></A
->&#62;abort shutdown script (G)</DT
+>abort shutdown script (G)</DT
 ><DD
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >This parameter only exists in the HEAD cvs branch</I
-></SPAN
 >
-               This a full path name to a script called by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> that
+               This a full path name to a script called by
+               <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>  that
                should stop a shutdown procedure issued by the <A
 HREF="#SHUTDOWNSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->shutdown script</VAR
+><I
+>shutdown script</I
+></TT
 ></A
 >.</P
 ><P
 >This command will be run as user.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >None</I
-></SPAN
 >.</P
 ><P
 >Example: <B
@@ -4072,7 +4771,7 @@ CLASS="COMMAND"
 ><A
 NAME="ADDPRINTERCOMMAND"
 ></A
->&#62;addprinter command (G)</DT
+>addprinter command (G)</DT
 ><DD
 ><P
 >With the introduction of MS-RPC based printing
@@ -4083,10 +4782,12 @@ NAME="ADDPRINTERCOMMAND"
                NT/2000 print server.</P
 ><P
 >For a Samba host this means that the printer must be 
-               physically added to the underlying printing system.  The <VAR
+               physically added to the underlying printing system.  The <TT
 CLASS="PARAMETER"
+><I
 >add 
-               printer command</VAR
+               printer command</I
+></TT
 > defines a script to be run which 
                will perform the necessary operations for adding the printer
                to the print system and to add the appropriate service definition 
@@ -4094,63 +4795,79 @@ CLASS="PARAMETER"
 CLASS="FILENAME"
 >smb.conf</TT
 > file in order that it can be 
-               shared by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               shared by <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+>
+               </A
 >.</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->addprinter command</VAR
+><I
+>addprinter command</I
+></TT
 > is
                automatically invoked with the following parameter (in 
-               order):</P
+               order:</P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->printer name</VAR
+><I
+>printer name</I
+></TT
 ></P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->share name</VAR
+><I
+>share name</I
+></TT
 ></P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->port name</VAR
+><I
+>port name</I
+></TT
 ></P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->driver name</VAR
+><I
+>driver name</I
+></TT
 ></P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->location</VAR
+><I
+>location</I
+></TT
 ></P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->Windows 9x driver location</VAR
+><I
+>Windows 9x driver location</I
+></TT
 >
                        </P
 ></LI
@@ -4162,9 +4879,11 @@ CLASS="PARAMETER"
                only.  The remaining fields in the structure are generated from answers
                to the APW questions.</P
 ><P
->Once the <VAR
+>Once the <TT
 CLASS="PARAMETER"
->addprinter command</VAR
+><I
+>addprinter command</I
+></TT
 > has 
                been executed, <B
 CLASS="COMMAND"
@@ -4179,39 +4898,37 @@ CLASS="COMMAND"
                </B
 > will return an ACCESS_DENIED error to the client.</P
 ><P
->              The "add printer command" program can output a single line of text,
-               which Samba will set as the port the new printer is connected to. 
-               If this line isn't output, Samba won't reload its printer shares.
-               </P
-><P
 >See also <A
 HREF="#DELETEPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->              deleteprinter command</VAR
+><I
+>              deleteprinter command</I
+></TT
 ></A
 >, <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 ></A
 >,
                <A
 HREF="#SHOWADDPRINTERWIZARD"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >show add
-               printer wizard</VAR
+               printer wizard</I
+></TT
 ></A
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -4224,23 +4941,27 @@ CLASS="COMMAND"
 ><A
 NAME="ADDSHARECOMMAND"
 ></A
->&#62;add share command (G)</DT
+>add share command (G)</DT
 ><DD
 ><P
 >Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->add share command</VAR
+><I
+>add share command</I
+></TT
 > is used to define an 
                external program or script which will add a new service definition 
                to <TT
 CLASS="FILENAME"
 >smb.conf</TT
 >.  In order to successfully 
-               execute the <VAR
+               execute the <TT
 CLASS="PARAMETER"
->add share command</VAR
+><I
+>add share command</I
+></TT
 >, <B
 CLASS="COMMAND"
 >smbd</B
@@ -4253,9 +4974,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbd</B
 > will automatically invoke the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->add share command</VAR
+><I
+>add share command</I
+></TT
 > with four parameters.
                </P
 ><P
@@ -4263,9 +4986,11 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->configFile</VAR
+><I
+>configFile</I
+></TT
 > - the location 
                        of the global <TT
 CLASS="FILENAME"
@@ -4275,27 +5000,33 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->shareName</VAR
+><I
+>shareName</I
+></TT
 > - the name of the new 
                        share.
                        </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->pathName</VAR
+><I
+>pathName</I
+></TT
 > - path to an **existing**
                        directory on disk.
                        </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->comment</VAR
+><I
+>comment</I
+></TT
 > - comment string to associate 
                        with the new share.
                        </P
@@ -4305,37 +5036,40 @@ CLASS="PARAMETER"
 >              This parameter is only used for add file shares.  To add printer shares, 
                see the <A
 HREF="#ADDPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >addprinter 
-               command</VAR
+               command</I
+></TT
 ></A
 >.
                </P
 ><P
 >              See also <A
 HREF="#CHANGESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >change share 
-               command</VAR
+               command</I
+></TT
 ></A
 >, <A
 HREF="#DELETESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >delete share
-               command</VAR
+               command</I
+></TT
 ></A
 >.
                </P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -4347,17 +5081,15 @@ CLASS="COMMAND"
 ><A
 NAME="ADDMACHINESCRIPT"
 ></A
->&#62;add machine script (G)</DT
+>add machine script (G)</DT
 ><DD
 ><P
 >This is the full pathname to a script that will 
-               be run by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> when a machine is added
+               be run by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+>  when a machine is added
                 to it's domain using the administrator username and password method. </P
 ><P
 >This option is only required when using sam back-ends tied to the
@@ -4380,7 +5112,7 @@ CLASS="COMMAND"
 ><A
 NAME="ADSSERVER"
 ></A
->&#62;ads server (G)</DT
+>ads server (G)</DT
 ><DD
 ><P
 >If this option is specified, samba does 
@@ -4402,22 +5134,18 @@ CLASS="COMMAND"
 ><A
 NAME="ADDUSERSCRIPT"
 ></A
->&#62;add user script (G)</DT
+>add user script (G)</DT
 ><DD
 ><P
 >This is the full pathname to a script that will 
-               be run <SPAN
-CLASS="emphasis"
-><I
+               be run <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
-> by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+> by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)
+               </A
 > under special circumstances described below.</P
 ><P
 >Normally, a Samba server requires that UNIX users are 
@@ -4429,51 +5157,50 @@ HREF="smbd.8.html"
 TARGET="_top"
 >smbd</A
 > to create the required UNIX users 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >ON DEMAND</I
-></SPAN
 > when a user accesses the Samba server.</P
 ><P
->In order to use this option, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> must <SPAN
-CLASS="emphasis"
-><I
+>In order to use this option, <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
+> 
+               must <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
-> be set to <VAR
+> be set to <TT
 CLASS="PARAMETER"
->security = share</VAR
+><I
+>security = share</I
+></TT
 >
-               and <VAR
+               and <TT
 CLASS="PARAMETER"
->add user script</VAR
+><I
+>add user script</I
+></TT
 >
                must be set to a full pathname for a script that will create a UNIX 
-               user given one argument of <VAR
+               user given one argument of <TT
 CLASS="PARAMETER"
->%u</VAR
+><I
+>%u</I
+></TT
 >, which expands into 
                the UNIX user name to create.</P
 ><P
 >When the Windows user attempts to access the Samba server, 
-               at login (session setup in the SMB protocol) time, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> contacts the <VAR
-CLASS="PARAMETER"
->password server</VAR
+               at login (session setup in the SMB protocol) time, <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              smbd</A
+> contacts the <TT
+CLASS="PARAMETER"
+><I
+>password server</I
+></TT
 > and 
                attempts to authenticate the given user with the given password. If the 
                authentication succeeds then <B
@@ -4481,24 +5208,25 @@ CLASS="COMMAND"
 >smbd</B
 > 
                attempts to find a UNIX user in the UNIX password database to map the 
-               Windows user into. If this lookup fails, and <VAR
+               Windows user into. If this lookup fails, and <TT
 CLASS="PARAMETER"
+><I
 >add user script
-               </VAR
+               </I
+></TT
 > is set then <B
 CLASS="COMMAND"
 >smbd</B
 > will
-               call the specified script <SPAN
-CLASS="emphasis"
-><I
+               call the specified script <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
 >, expanding 
-               any <VAR
+               any <TT
 CLASS="PARAMETER"
->%u</VAR
+><I
+>%u</I
+></TT
 > argument to be the user name to create.</P
 ><P
 >If this script successfully creates the user then <B
@@ -4511,23 +5239,29 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              security</VAR
+><I
+>              security</I
+></TT
 ></A
 >, <A
 HREF="#PASSWORDSERVER"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->password server</VAR
+><I
+>password server</I
+></TT
 ></A
 >, 
                <A
 HREF="#DELETEUSERSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >delete user 
-               script</VAR
+               script</I
+></TT
 ></A
 >.</P
 ><P
@@ -4547,27 +5281,24 @@ CLASS="COMMAND"
 ><A
 NAME="ADDGROUPSCRIPT"
 ></A
->&#62;add group script (G)</DT
+>add group script (G)</DT
 ><DD
 ><P
 >This is the full pathname to a script that will 
-               be run <SPAN
-CLASS="emphasis"
-><I
+               be run <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
-> by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+> by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > when a new group is
                 requested. It will expand any
-                <VAR
+                <TT
 CLASS="PARAMETER"
->%g</VAR
+><I
+>%g</I
+></TT
 > to the group name passed.
                 This script is only useful for installations using the
                 Windows NT domain administration tools. The script is
@@ -4581,7 +5312,7 @@ CLASS="PARAMETER"
 ><A
 NAME="ADMINUSERS"
 ></A
->&#62;admin users (S)</DT
+>admin users (S)</DT
 ><DD
 ><P
 >This is a list of users who will be granted 
@@ -4592,12 +5323,9 @@ NAME="ADMINUSERS"
                this list will be able to do anything they like on the share, 
                irrespective of file permissions.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no admin users</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -4609,32 +5337,32 @@ CLASS="COMMAND"
 ><A
 NAME="ADDUSERTOGROUPSCRIPT"
 ></A
->&#62;add user to group script (G)</DT
+>add user to group script (G)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->      <SPAN
-CLASS="emphasis"
-><I
+               tools. It will be run by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+> 
+               <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
->. 
-               Any <VAR
+>. Any <TT
 CLASS="PARAMETER"
->%g</VAR
-> will be replaced with the group name and 
-               any <VAR
+><I
+>%g</I
+></TT
+> will be 
+               replaced with the group name and any <TT
 CLASS="PARAMETER"
->%u</VAR
-> will be replaced with the user name.
+><I
+>%u</I
+></TT
+> will 
+               be replaced with the user name.
                </P
 ><P
 >Default: <B
@@ -4651,14 +5379,16 @@ CLASS="COMMAND"
 ><A
 NAME="ALLOWHOSTS"
 ></A
->&#62;allow hosts (S)</DT
+>allow hosts (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#HOSTSALLOW"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->hosts allow</VAR
+><I
+>hosts allow</I
+></TT
 ></A
 >.</P
 ></DD
@@ -4666,7 +5396,7 @@ CLASS="PARAMETER"
 ><A
 NAME="ALGORITHMICRIDBASE"
 ></A
->&#62;algorithmic rid base (G)</DT
+>algorithmic rid base (G)</DT
 ><DD
 ><P
 >This determines how Samba will use its
@@ -4698,22 +5428,24 @@ CLASS="COMMAND"
 ><A
 NAME="ALLOWTRUSTEDDOMAINS"
 ></A
->&#62;allow trusted domains (G)</DT
+>allow trusted domains (G)</DT
 ><DD
 ><P
 >This option only takes effect when the <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->security</VAR
+><I
+>security</I
+></TT
 ></A
 > option is set to 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->server</CODE
-> or <CODE
+>server</TT
+> or <TT
 CLASS="CONSTANT"
->domain</CODE
+>domain</TT
 >.  
                If it is set to no, then attempts to connect to a resource from 
                a domain or workgroup other than the one which <A
@@ -4742,16 +5474,19 @@ CLASS="COMMAND"
 ><A
 NAME="ANNOUNCEAS"
 ></A
->&#62;announce as (G)</DT
+>announce as (G)</DT
 ><DD
 ><P
->This specifies what type of server <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
-> will announce itself as, to a network neighborhood browse 
+>This specifies what type of server 
+               <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd</B
+></A
+> 
+               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, 
@@ -4775,7 +5510,7 @@ CLASS="COMMAND"
 ><A
 NAME="ANNOUNCEVERSION"
 ></A
->&#62;announce version (G)</DT
+>announce version (G)</DT
 ><DD
 ><P
 >This specifies the major and minor version numbers 
@@ -4797,14 +5532,16 @@ CLASS="COMMAND"
 ><A
 NAME="AUTOSERVICES"
 ></A
->&#62;auto services (G)</DT
+>auto services (G)</DT
 ><DD
 ><P
 >This is a synonym for the <A
 HREF="#PRELOAD"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->preload</VAR
+><I
+>preload</I
+></TT
 ></A
 >.</P
 ></DD
@@ -4812,7 +5549,7 @@ CLASS="PARAMETER"
 ><A
 NAME="AUTHMETHODS"
 ></A
->&#62;auth methods (G)</DT
+>auth methods (G)</DT
 ><DD
 ><P
 >This option allows the administrator to chose what
@@ -4822,9 +5559,11 @@ CLASS="COMMAND"
 > will use when authenticating
                 a user.  This option defaults to sensible values based on <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              security</VAR
+><I
+>              security</I
+></TT
 ></A
 >.
 
@@ -4847,19 +5586,18 @@ CLASS="COMMAND"
 ><A
 NAME="AVAILABLE"
 ></A
->&#62;available (S)</DT
+>available (S)</DT
 ><DD
 ><P
 >This parameter lets you "turn off" a service. If 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->available = no</VAR
->, then <SPAN
-CLASS="emphasis"
 ><I
+>available = no</I
+></TT
+>, then <I
 CLASS="EMPHASIS"
 >ALL</I
-></SPAN
 > 
                attempts to connect to the service will fail. Such failures are 
                logged.</P
@@ -4873,24 +5611,22 @@ CLASS="COMMAND"
 ><A
 NAME="BINDINTERFACESONLY"
 ></A
->&#62;bind interfaces only (G)</DT
+>bind interfaces only (G)</DT
 ><DD
 ><P
 >This global parameter allows the Samba admin 
                to limit what interfaces on a machine will serve SMB requests. It 
-               affects file service <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> and name service <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
-> in a slightly different ways.</P
+               affects file service <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+> and 
+               name service <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
+> in slightly 
+               different ways.</P
 ><P
 >For name service it causes <B
 CLASS="COMMAND"
@@ -4909,19 +5645,23 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >nmbd</B
 > will service 
-               name requests on all of these sockets. If <VAR
+               name requests on all of these sockets. If <TT
 CLASS="PARAMETER"
+><I
 >bind interfaces
-               only</VAR
+               only</I
+></TT
 > is set then <B
 CLASS="COMMAND"
 >nmbd</B
 > will check the 
                source address of any packets coming in on the broadcast sockets 
                and discard any that don't match the broadcast addresses of the 
-               interfaces in the <VAR
+               interfaces in the <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 > parameter list. 
                As unicast packets are received on the other sockets it allows 
                <B
@@ -4929,9 +5669,11 @@ CLASS="COMMAND"
 >nmbd</B
 > to refuse to serve names to machines that 
                send packets that arrive through any interfaces not listed in the
-               <VAR
+               <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 > list.  IP Source address spoofing
                does defeat this simple check, however, so it must not be used
                seriously as a security feature for <B
@@ -4939,14 +5681,12 @@ CLASS="COMMAND"
 >nmbd</B
 >.</P
 ><P
->For file service it causes <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> to bind only to the interface list 
-               given in the <A
+>For file service it causes <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+>
+               to bind only to the interface list given in the <A
 HREF="#INTERFACES"
 >              interfaces</A
 > parameter. This restricts the networks that 
@@ -4958,60 +5698,63 @@ CLASS="COMMAND"
                that are serving PPP or other intermittent or non-broadcast network 
                interfaces as it will not cope with non-permanent interfaces.</P
 ><P
->If <VAR
+>If <TT
 CLASS="PARAMETER"
->bind interfaces only</VAR
-> is set then 
-               unless the network address <SPAN
-CLASS="emphasis"
 ><I
+>bind interfaces only</I
+></TT
+> is set then 
+               unless the network address <I
 CLASS="EMPHASIS"
 >127.0.0.1</I
-></SPAN
 > is added 
-               to the <VAR
-CLASS="PARAMETER"
->interfaces</VAR
-> parameter list <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
-> and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->swat</SPAN
->(8)</SPAN
-> may not work as expected due to the reasons covered below.</P
+               to the <TT
+CLASS="PARAMETER"
+><I
+>interfaces</I
+></TT
+> parameter list <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbpasswd(8)</B
+></A
+> 
+               and <A
+HREF="swat.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>swat(8)</B
+></A
+> may 
+               not work as expected due to the reasons covered below.</P
 ><P
 >To change a users SMB password, the <B
 CLASS="COMMAND"
 >smbpasswd</B
 >
-               by default connects to the <SPAN
-CLASS="emphasis"
-><I
+               by default connects to the <I
 CLASS="EMPHASIS"
 >localhost - 127.0.0.1</I
-></SPAN
 > 
                address as an SMB client to issue the password change request. If 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->bind interfaces only</VAR
-> is set then unless the 
-               network address <SPAN
-CLASS="emphasis"
 ><I
+>bind interfaces only</I
+></TT
+> is set then unless the 
+               network address <I
 CLASS="EMPHASIS"
 >127.0.0.1</I
-></SPAN
 > is added to the
-               <VAR
+               <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 > parameter list then <B
 CLASS="COMMAND"
 >              smbpasswd</B
@@ -5020,22 +5763,26 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbpasswd</B
 > can be forced to use the primary IP interface 
-               of the local host by using its <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
->      <VAR
-CLASS="PARAMETER"
->-r <VAR
+               of the local host by using its <A
+HREF="smbpasswd.8.html#minusr"
+TARGET="_top"
+>              <TT
+CLASS="PARAMETER"
+><I
+>-r <TT
 CLASS="REPLACEABLE"
->remote machine</VAR
-></VAR
+><I
+>remote machine</I
+></TT
+></I
+></TT
 >
-               parameter, with <VAR
+               </A
+> parameter, with <TT
 CLASS="REPLACEABLE"
->remote machine</VAR
+><I
+>remote machine</I
+></TT
 > set 
                to the IP name of the primary interface of the local host.</P
 ><P
@@ -5050,19 +5797,13 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >nmbd</B
 > at the address 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >127.0.0.1</I
-></SPAN
 > to determine if they are running.  
-               Not adding <SPAN
-CLASS="emphasis"
-><I
+               Not adding <I
 CLASS="EMPHASIS"
 >127.0.0.1</I
-></SPAN
 >  will cause <B
 CLASS="COMMAND"
 >              smbd</B
@@ -5091,16 +5832,13 @@ CLASS="COMMAND"
 ><A
 NAME="BLOCKINGLOCKS"
 ></A
->&#62;blocking locks (S)</DT
+>blocking locks (S)</DT
 ><DD
 ><P
->This parameter controls the behavior 
-               of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This parameter controls the behavior of <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > 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.</P
@@ -5110,9 +5848,9 @@ CLASS="REFENTRYTITLE"
                queue the lock request, and periodically attempt to obtain 
                the lock until the timeout period expires.</P
 ><P
->If this parameter is set to <CODE
+>If this parameter is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >, then 
                samba will behave as previous versions of Samba would and 
                will fail the lock request immediately if the lock range 
@@ -5127,15 +5865,14 @@ CLASS="COMMAND"
 ><A
 NAME="BLOCKSIZE"
 ></A
->&#62;block size (S)</DT
+>block size (S)</DT
 ><DD
 ><P
->This parameter controls the behavior of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This parameter controls the behavior of 
+               <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > when reporting disk free 
                sizes. By default, this reports a disk block size of 1024 bytes.
                </P
@@ -5150,19 +5887,31 @@ CLASS="REFENTRYTITLE"
 ><P
 >Changing this option does not change the disk free reporting
                size, just the block size unit reported to the client.</P
+><P
+>Default: <B
+CLASS="COMMAND"
+>block size = 1024</B
+></P
+><P
+>Example: <B
+CLASS="COMMAND"
+>block size = 65536</B
+></P
 ></DD
 ><DT
 ><A
 NAME="BROWSABLE"
 ></A
->&#62;browsable (S)</DT
+>browsable (S)</DT
 ><DD
 ><P
 >See the <A
 HREF="#BROWSEABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              browseable</VAR
+><I
+>              browseable</I
+></TT
 ></A
 >.</P
 ></DD
@@ -5170,23 +5919,24 @@ CLASS="PARAMETER"
 ><A
 NAME="BROWSELIST"
 ></A
->&#62;browse list (G)</DT
+>browse list (G)</DT
 ><DD
 ><P
->This controls whether <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This controls whether <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              <B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 > will serve a browse list to 
                a client doing a <B
 CLASS="COMMAND"
 >NetServerEnum</B
 > call. Normally 
-               set to <CODE
+               set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >. You should never need to change 
                this.</P
 ><P
@@ -5199,7 +5949,7 @@ CLASS="COMMAND"
 ><A
 NAME="BROWSEABLE"
 ></A
->&#62;browseable (S)</DT
+>browseable (S)</DT
 ><DD
 ><P
 >This controls whether this share is seen in 
@@ -5214,11 +5964,11 @@ CLASS="COMMAND"
 ><A
 NAME="CASESENSITIVE"
 ></A
->&#62;case sensitive (S)</DT
+>case sensitive (S)</DT
 ><DD
 ><P
 >See the discussion in the section <A
-HREF="#AEN206"
+HREF="#AEN205"
 >NAME MANGLING</A
 >.</P
 ><P
@@ -5231,7 +5981,7 @@ CLASS="COMMAND"
 ><A
 NAME="CASESIGNAMES"
 ></A
->&#62;casesignames (S)</DT
+>casesignames (S)</DT
 ><DD
 ><P
 >Synonym for <A
@@ -5244,23 +5994,26 @@ HREF="#CASESENSITIVE"
 ><A
 NAME="CHANGENOTIFYTIMEOUT"
 ></A
->&#62;change notify timeout (G)</DT
+>change notify timeout (G)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               a directory is expensive under UNIX, hence an <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              <B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 > daemon only performs such a scan 
-               on each requested directory once every <VAR
+               on each requested directory once every <TT
 CLASS="PARAMETER"
+><I
 >change notify 
-               timeout</VAR
+               timeout</I
+></TT
 > seconds.</P
 ><P
 >Default: <B
@@ -5279,23 +6032,27 @@ CLASS="COMMAND"
 ><A
 NAME="CHANGESHARECOMMAND"
 ></A
->&#62;change share command (G)</DT
+>change share command (G)</DT
 ><DD
 ><P
 >Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->change share command</VAR
+><I
+>change share command</I
+></TT
 > is used to define an 
                external program or script which will modify an existing service definition 
                in <TT
 CLASS="FILENAME"
 >smb.conf</TT
 >.  In order to successfully 
-               execute the <VAR
+               execute the <TT
 CLASS="PARAMETER"
->change share command</VAR
+><I
+>change share command</I
+></TT
 >, <B
 CLASS="COMMAND"
 >smbd</B
@@ -5308,9 +6065,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbd</B
 > will automatically invoke the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->change share command</VAR
+><I
+>change share command</I
+></TT
 > with four parameters.
                </P
 ><P
@@ -5318,9 +6077,11 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->configFile</VAR
+><I
+>configFile</I
+></TT
 > - the location 
                        of the global <TT
 CLASS="FILENAME"
@@ -5330,27 +6091,33 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->shareName</VAR
+><I
+>shareName</I
+></TT
 > - the name of the new 
                        share.
                        </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->pathName</VAR
+><I
+>pathName</I
+></TT
 > - path to an **existing**
                        directory on disk.
                        </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->comment</VAR
+><I
+>comment</I
+></TT
 > - comment string to associate 
                        with the new share.
                        </P
@@ -5363,27 +6130,28 @@ CLASS="PARAMETER"
 ><P
 >              See also <A
 HREF="#ADDSHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >add share
-               command</VAR
+               command</I
+></TT
 ></A
 >, <A
 HREF="#DELETESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >delete 
-               share command</VAR
+               share command</I
+></TT
 ></A
 >.
                </P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -5395,7 +6163,7 @@ CLASS="COMMAND"
 ><A
 NAME="COMMENT"
 ></A
->&#62;comment (S)</DT
+>comment (S)</DT
 ><DD
 ><P
 >This is a text field that is seen next to a share 
@@ -5409,18 +6177,17 @@ CLASS="COMMAND"
 >If you want to set the string that is displayed next to the 
                machine name then see the <A
 HREF="#SERVERSTRING"
-><VAR
+><TT
 CLASS="PARAMETER"
->              server string</VAR
+><I
+>              server string</I
+></TT
 ></A
 > parameter.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >No comment string</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -5432,7 +6199,7 @@ CLASS="COMMAND"
 ><A
 NAME="CONFIGFILE"
 ></A
->&#62;config file (G)</DT
+>config file (G)</DT
 ><DD
 ><P
 >This allows you to override the config file 
@@ -5464,7 +6231,7 @@ CLASS="COMMAND"
 ><A
 NAME="COPY"
 ></A
->&#62;copy (S)</DT
+>copy (S)</DT
 ><DD
 ><P
 >This parameter allows you to "clone" service 
@@ -5477,12 +6244,9 @@ NAME="COPY"
                copied must occur earlier in the configuration file than the 
                service doing the copying.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no value</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -5494,15 +6258,17 @@ CLASS="COMMAND"
 ><A
 NAME="CREATEMASK"
 ></A
->&#62;create mask (S)</DT
+>create mask (S)</DT
 ><DD
 ><P
 >A synonym for this parameter is 
                <A
 HREF="#CREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->create mode</VAR
+><I
+>create mode</I
+></TT
 >
                </A
 >.</P
@@ -5511,12 +6277,9 @@ CLASS="PARAMETER"
                calculated according to the mapping from DOS modes to UNIX 
                permissions, and the resulting UNIX mode is then bit-wise 'AND'ed 
                with this parameter. This parameter may be thought of as a bit-wise 
-               MASK for the UNIX modes of a file. Any bit <SPAN
-CLASS="emphasis"
-><I
+               MASK for the UNIX modes of a file. Any bit <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > 
                set here will be removed from the modes set on a file when it is 
                created.</P
@@ -5527,9 +6290,11 @@ CLASS="EMPHASIS"
 >Following this Samba will bit-wise 'OR' the UNIX mode created 
                from this parameter with the value of the <A
 HREF="#FORCECREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force create mode</VAR
+><I
+>force create mode</I
+></TT
 ></A
 >
                parameter which is set to 000 by default.</P
@@ -5537,33 +6302,41 @@ CLASS="PARAMETER"
 >This parameter does not affect directory modes. See the 
                parameter <A
 HREF="#DIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >directory mode
-               </VAR
+               </I
+></TT
 ></A
 > for details.</P
 ><P
 >See also the <A
 HREF="#FORCECREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-               create mode</VAR
+               create mode</I
+></TT
 ></A
 > parameter for forcing particular mode 
                bits to be set on created files. See also the <A
 HREF="#DIRECTORYMODE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->directory mode</VAR
+><I
+>directory mode</I
+></TT
 ></A
 > parameter for masking 
                mode bits on created directories.  See also the <A
 HREF="#INHERITPERMISSIONS"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->inherit permissions</VAR
+><I
+>inherit permissions</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -5571,9 +6344,11 @@ CLASS="PARAMETER"
                set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
                a mask on access control lists also, they need to set the <A
 HREF="#SECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 ></A
 >.</P
 ><P
@@ -5591,14 +6366,16 @@ CLASS="COMMAND"
 ><A
 NAME="CREATEMODE"
 ></A
->&#62;create mode (S)</DT
+>create mode (S)</DT
 ><DD
 ><P
 >This is a synonym for <A
 HREF="#CREATEMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              create mask</VAR
+><I
+>              create mask</I
+></TT
 ></A
 >.</P
 ></DD
@@ -5606,16 +6383,13 @@ CLASS="PARAMETER"
 ><A
 NAME="CSCPOLICY"
 ></A
->&#62;csc policy (S)</DT
+>csc policy (S)</DT
 ><DD
 ><P
->This stands for <SPAN
-CLASS="emphasis"
-><I
+>This stands for <I
 CLASS="EMPHASIS"
 >client-side caching 
                policy</I
-></SPAN
 >, and specifies how clients capable of offline
                caching will cache the files in the share. The valid values
                are: manual, documents, programs, disable.</P
@@ -5644,7 +6418,7 @@ CLASS="COMMAND"
 ><A
 NAME="DEADTIME"
 ></A
->&#62;deadtime (G)</DT
+>deadtime (G)</DT
 ><DD
 ><P
 >The value of the parameter (a decimal integer) 
@@ -5679,7 +6453,7 @@ CLASS="COMMAND"
 ><A
 NAME="DEBUGHIRESTIMESTAMP"
 ></A
->&#62;debug hires timestamp (G)</DT
+>debug hires timestamp (G)</DT
 ><DD
 ><P
 >Sometimes the timestamps in the log messages 
@@ -5689,9 +6463,11 @@ NAME="DEBUGHIRESTIMESTAMP"
 ><P
 >Note that the parameter <A
 HREF="#DEBUGTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->              debug timestamp</VAR
+><I
+>              debug timestamp</I
+></TT
 ></A
 > must be on for this to have an 
                effect.</P
@@ -5705,7 +6481,7 @@ CLASS="COMMAND"
 ><A
 NAME="DEBUGPID"
 ></A
->&#62;debug pid (G)</DT
+>debug pid (G)</DT
 ><DD
 ><P
 >When using only one log file for more then one 
@@ -5719,9 +6495,11 @@ TARGET="_top"
 ><P
 >Note that the parameter <A
 HREF="#DEBUGTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->              debug timestamp</VAR
+><I
+>              debug timestamp</I
+></TT
 ></A
 > must be on for this to have an 
                effect.</P
@@ -5735,15 +6513,17 @@ CLASS="COMMAND"
 ><A
 NAME="DEBUGTIMESTAMP"
 ></A
->&#62;debug timestamp (G)</DT
+>debug timestamp (G)</DT
 ><DD
 ><P
 >Samba debug log messages are timestamped 
                by default. If you are running at a high <A
 HREF="#DEBUGLEVEL"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->debug level</VAR
+><I
+>debug level</I
+></TT
 ></A
 > these timestamps
                can be distracting. This boolean parameter allows timestamping 
@@ -5758,7 +6538,7 @@ CLASS="COMMAND"
 ><A
 NAME="DEBUGUID"
 ></A
->&#62;debug uid (G)</DT
+>debug uid (G)</DT
 ><DD
 ><P
 >Samba is sometimes run as root and sometime 
@@ -5768,9 +6548,11 @@ NAME="DEBUGUID"
 ><P
 >Note that the parameter <A
 HREF="#DEBUGTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->              debug timestamp</VAR
+><I
+>              debug timestamp</I
+></TT
 ></A
 > must be on for this to have an 
                effect.</P
@@ -5784,14 +6566,16 @@ CLASS="COMMAND"
 ><A
 NAME="DEBUGLEVEL"
 ></A
->&#62;debuglevel (G)</DT
+>debuglevel (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#LOGLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->              log level</VAR
+><I
+>              log level</I
+></TT
 ></A
 >.</P
 ></DD
@@ -5799,14 +6583,16 @@ CLASS="PARAMETER"
 ><A
 NAME="DEFAULT"
 ></A
->&#62;default (G)</DT
+>default (G)</DT
 ><DD
 ><P
 >A synonym for <A
 HREF="#DEFAULTSERVICE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              default service</VAR
+><I
+>              default service</I
+></TT
 ></A
 >.</P
 ></DD
@@ -5814,17 +6600,19 @@ CLASS="PARAMETER"
 ><A
 NAME="DEFAULTCASE"
 ></A
->&#62;default case (S)</DT
+>default case (S)</DT
 ><DD
 ><P
 >See the section on <A
-HREF="#AEN206"
+HREF="#AEN205"
 >              NAME MANGLING</A
 >. Also note the <A
 HREF="#SHORTPRESERVECASE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->short preserve case</VAR
+><I
+>short preserve case</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -5837,7 +6625,7 @@ CLASS="COMMAND"
 ><A
 NAME="DEFAULTDEVMODE"
 ></A
->&#62;default devmode (S)</DT
+>default devmode (S)</DT
 ><DD
 ><P
 >This parameter is only applicable to <A
@@ -5888,17 +6676,14 @@ CLASS="COMMAND"
 ><A
 NAME="DEFAULTSERVICE"
 ></A
->&#62;default service (G)</DT
+>default service (G)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="emphasis"
-><I
+               be found. Note that the square brackets are <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 >
                given in the parameter value (see example below).</P
 ><P
@@ -5908,23 +6693,29 @@ CLASS="EMPHASIS"
 ><P
 >Typically the default service would be a <A
 HREF="#GUESTOK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->guest ok</VAR
+><I
+>guest ok</I
+></TT
 ></A
 >, <A
 HREF="#READONLY"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->read-only</VAR
+><I
+>read-only</I
+></TT
 ></A
 > service.</P
 ><P
 >Also note that the apparent service name will be changed 
                to equal that of the requested service, this is very useful as it 
-               allows you to use macros like <VAR
+               allows you to use macros like <TT
 CLASS="PARAMETER"
->%S</VAR
+><I
+>%S</I
+></TT
 > to make 
                a wildcard service.</P
 ><P
@@ -5934,48 +6725,53 @@ CLASS="PARAMETER"
 ><P
 >Example:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
 >[global]
        default service = pub
         
 [pub]
-       path = /%S</PRE
+       path = /%S
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
 ><A
 NAME="DELETEGROUPSCRIPT"
 ></A
->&#62;delete group script (G)</DT
+>delete group script (G)</DT
 ><DD
 ><P
 >This is the full pathname to a script that will 
-               be run <SPAN
-CLASS="emphasis"
-><I
+               be run <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
-> <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> when a group is requested to be deleted. 
-               It will expand any <VAR
-CLASS="PARAMETER"
->%g</VAR
-> to the group name passed.  
-               This script is only useful for installations using the Windows NT domain administration tools.
+> by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+> when a group is requested to be deleted. It will expand any <TT
+CLASS="PARAMETER"
+><I
+>%g</I
+></TT
+> to the group name passed.  This script is only useful for installations using the Windows NT domain administration tools.
                </P
 ></DD
 ><DT
 ><A
 NAME="DELETEPRINTERCOMMAND"
 ></A
->&#62;deleteprinter command (G)</DT
+>deleteprinter command (G)</DT
 ><DD
 ><P
 >With the introduction of MS-RPC based printer
@@ -5984,9 +6780,11 @@ NAME="DELETEPRINTERCOMMAND"
                DeletePrinter() RPC call.</P
 ><P
 >For a Samba host this means that the printer must be 
-               physically deleted from underlying printing system.  The <VAR
+               physically deleted from underlying printing system.  The <TT
 CLASS="PARAMETER"
->              deleteprinter command</VAR
+><I
+>              deleteprinter command</I
+></TT
 > defines a script to be run which 
                will perform the necessary operations for removing the printer
                from the print system and from <TT
@@ -5995,18 +6793,24 @@ CLASS="FILENAME"
 >.
                </P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->deleteprinter command</VAR
+><I
+>deleteprinter command</I
+></TT
 > is 
-               automatically called with only one parameter: <VAR
+               automatically called with only one parameter: <TT
 CLASS="PARAMETER"
->              "printer name"</VAR
+><I
+>              "printer name"</I
+></TT
 >.</P
 ><P
->Once the <VAR
+>Once the <TT
 CLASS="PARAMETER"
->deleteprinter command</VAR
+><I
+>deleteprinter command</I
+></TT
 > has 
                been executed, <B
 CLASS="COMMAND"
@@ -6023,32 +6827,35 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#ADDPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->              addprinter command</VAR
+><I
+>              addprinter command</I
+></TT
 ></A
 >, <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 ></A
 >,
                <A
 HREF="#SHOWADDPRINTERWIZARD"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >show add
-               printer wizard</VAR
+               printer wizard</I
+></TT
 ></A
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -6061,7 +6868,7 @@ CLASS="COMMAND"
 ><A
 NAME="DELETEREADONLY"
 ></A
->&#62;delete readonly (S)</DT
+>delete readonly (S)</DT
 ><DD
 ><P
 >This parameter allows readonly files to be deleted.  
@@ -6080,23 +6887,27 @@ CLASS="COMMAND"
 ><A
 NAME="DELETESHARECOMMAND"
 ></A
->&#62;delete share command (G)</DT
+>delete share command (G)</DT
 ><DD
 ><P
 >Samba 2.2.0 introduced the ability to dynamically 
                add and delete shares via the Windows NT 4.0 Server Manager.  The 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->delete share command</VAR
+><I
+>delete share command</I
+></TT
 > is used to define an 
                external program or script which will remove an existing service 
                definition from <TT
 CLASS="FILENAME"
 >smb.conf</TT
 >.  In order to successfully 
-               execute the <VAR
+               execute the <TT
 CLASS="PARAMETER"
->delete share command</VAR
+><I
+>delete share command</I
+></TT
 >, <B
 CLASS="COMMAND"
 >smbd</B
@@ -6109,9 +6920,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbd</B
 > will automatically invoke the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->delete share command</VAR
+><I
+>delete share command</I
+></TT
 > with two parameters.
                </P
 ><P
@@ -6119,9 +6932,11 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->configFile</VAR
+><I
+>configFile</I
+></TT
 > - the location 
                        of the global <TT
 CLASS="FILENAME"
@@ -6131,9 +6946,11 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->shareName</VAR
+><I
+>shareName</I
+></TT
 > - the name of 
                        the existing service.
                        </P
@@ -6143,37 +6960,40 @@ CLASS="PARAMETER"
 >              This parameter is only used to remove file shares.  To delete printer shares, 
                see the <A
 HREF="#DELETEPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >deleteprinter 
-               command</VAR
+               command</I
+></TT
 ></A
 >.
                </P
 ><P
 >              See also <A
 HREF="#ADDSHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >add share
-               command</VAR
+               command</I
+></TT
 ></A
 >, <A
 HREF="#CHANGESHARECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >change 
-               share command</VAR
+               share command</I
+></TT
 ></A
 >.
                </P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -6185,18 +7005,19 @@ CLASS="COMMAND"
 ><A
 NAME="DELETEUSERSCRIPT"
 ></A
->&#62;delete user script (G)</DT
+>delete user script (G)</DT
 ><DD
 ><P
 >This is the full pathname to a script that will 
-               be run by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> when managing users 
-               with remote RPC (NT) tools.
+               be run by <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>
+                when managing user's with remote RPC (NT) tools.
                </P
 ><P
 >This script is called when a remote client removes a user
@@ -6226,32 +7047,32 @@ CLASS="COMMAND"
 ><A
 NAME="DELETEUSERFROMGROUPSCRIPT"
 ></A
->&#62;delete user from group script (G)</DT
+>delete user from group script (G)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> <SPAN
-CLASS="emphasis"
-><I
+               tools. It will be run by <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+> 
+               <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
->. 
-               Any <VAR
+>. Any <TT
 CLASS="PARAMETER"
->%g</VAR
-> will be replaced with the group name and 
-               any <VAR
+><I
+>%g</I
+></TT
+> will be 
+               replaced with the group name and any <TT
 CLASS="PARAMETER"
->%u</VAR
-> will be replaced with the user name.
+><I
+>%u</I
+></TT
+> will 
+               be replaced with the user name.
                </P
 ><P
 >Default: <B
@@ -6268,28 +7089,30 @@ CLASS="COMMAND"
 ><A
 NAME="DELETEVETOFILES"
 ></A
->&#62;delete veto files (S)</DT
+>delete veto files (S)</DT
 ><DD
 ><P
 >This option is used when Samba is attempting to 
                delete a directory that contains one or more vetoed directories 
                (see the <A
 HREF="#VETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->veto files</VAR
+><I
+>veto files</I
+></TT
 ></A
 >
-               option).  If this option is set to <CODE
+               option).  If this option is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > (the default) then if a vetoed 
                directory contains any non-vetoed files or directories then the 
                directory delete will fail. This is usually what you want.</P
 ><P
->If this option is set to <CODE
+>If this option is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, then Samba 
                will attempt to recursively delete any files and directories within 
                the vetoed directory. This can be useful for integration with file 
@@ -6309,10 +7132,12 @@ CLASS="COMMAND"
 ><P
 >See also the <A
 HREF="#VETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >veto 
-               files</VAR
+               files</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -6325,15 +7150,17 @@ CLASS="COMMAND"
 ><A
 NAME="DENYHOSTS"
 ></A
->&#62;deny hosts (S)</DT
+>deny hosts (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#HOSTSDENY"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >hosts 
-               deny</VAR
+               deny</I
+></TT
 ></A
 >.</P
 ></DD
@@ -6341,12 +7168,14 @@ CLASS="PARAMETER"
 ><A
 NAME="DFREECOMMAND"
 ></A
->&#62;dfree command (G)</DT
+>dfree command (G)</DT
 ><DD
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->dfree command</VAR
+><I
+>dfree command</I
+></TT
 > 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, 
@@ -6370,23 +7199,17 @@ CLASS="FILENAME"
                third return value can give the block size in bytes. The default 
                blocksize is 1024 bytes.</P
 ><P
->Note: Your script should <SPAN
-CLASS="emphasis"
-><I
+>Note: Your script should <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > be setuid or 
                setgid and should be owned by (and writeable only by) root!</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >By default internal routines for 
                determining the disk capacity and remaining space will be used.
                </I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -6397,20 +7220,40 @@ CLASS="COMMAND"
 ><P
 >Where the script dfree (which must be made executable) could be:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
 > 
-#!/bin/sh
-df $1 | tail -1 | awk '{print $2" "$4}'</PRE
+               #!/bin/sh
+               df $1 | tail -1 | awk '{print $2" "$4}'
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >or perhaps (on Sys V based systems):</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
 > 
-#!/bin/sh
-/usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'</PRE
+               #!/bin/sh
+               /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >Note that you may have to replace the command names 
@@ -6420,15 +7263,17 @@ CLASS="PROGRAMLISTING"
 ><A
 NAME="DIRECTORY"
 ></A
->&#62;directory (S)</DT
+>directory (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#PATH"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >path
-               </VAR
+               </I
+></TT
 ></A
 >.</P
 ></DD
@@ -6436,7 +7281,7 @@ CLASS="PARAMETER"
 ><A
 NAME="DIRECTORYMASK"
 ></A
->&#62;directory mask (S)</DT
+>directory mask (S)</DT
 ><DD
 ><P
 >This parameter is the octal modes which are 
@@ -6447,12 +7292,9 @@ NAME="DIRECTORYMASK"
                calculated according to the mapping from DOS modes to UNIX permissions, 
                and the resulting UNIX mode is then bit-wise 'AND'ed with this 
                parameter. This parameter may be thought of as a bit-wise MASK for 
-               the UNIX modes of a directory. Any bit <SPAN
-CLASS="emphasis"
-><I
+               the UNIX modes of a directory. Any bit <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > set 
                here will be removed from the modes set on a directory when it is 
                created.</P
@@ -6464,10 +7306,12 @@ CLASS="EMPHASIS"
 >Following this Samba will bit-wise 'OR' the UNIX mode 
                created from this parameter with the value of the <A
 HREF="#FORCEDIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force directory mode
-               </VAR
+               </I
+></TT
 ></A
 > parameter. This parameter is set to 000 by 
                default (i.e. no extra mode bits are added).</P
@@ -6476,44 +7320,54 @@ CLASS="PARAMETER"
                set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
                a mask on access control lists also, they need to set the <A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->directory security mask</VAR
+><I
+>directory security mask</I
+></TT
 ></A
 >.</P
 ><P
 >See the <A
 HREF="#FORCEDIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-               directory mode</VAR
+               directory mode</I
+></TT
 ></A
 > parameter to cause particular mode 
                bits to always be set on created directories.</P
 ><P
 >See also the <A
 HREF="#CREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >create mode
-               </VAR
+               </I
+></TT
 ></A
 > parameter for masking mode bits on created files, 
                and the <A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >directory 
-               security mask</VAR
+               security mask</I
+></TT
 ></A
 > parameter.</P
 ><P
 >Also refer to the <A
 HREF="#INHERITPERMISSIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->              inherit permissions</VAR
+><I
+>              inherit permissions</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -6531,14 +7385,16 @@ CLASS="COMMAND"
 ><A
 NAME="DIRECTORYMODE"
 ></A
->&#62;directory mode (S)</DT
+>directory mode (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#DIRECTORYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              directory mask</VAR
+><I
+>              directory mask</I
+></TT
 ></A
 ></P
 ></DD
@@ -6546,7 +7402,7 @@ CLASS="PARAMETER"
 ><A
 NAME="DIRECTORYSECURITYMASK"
 ></A
->&#62;directory security mask (S)</DT
+>directory security mask (S)</DT
 ><DD
 ><P
 >This parameter controls what UNIX permission bits 
@@ -6564,40 +7420,43 @@ NAME="DIRECTORYSECURITYMASK"
                meaning a user is allowed to modify all the user/group/world
                permissions on a directory.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that users who can access the 
                Samba server through other means can easily bypass this restriction, 
                so it is primarily useful for standalone "appliance" systems.  
                Administrators of most normal systems will probably want to leave
-               it as the default of <CODE
+               it as the default of <TT
 CLASS="CONSTANT"
->0777</CODE
+>0777</TT
 >.</P
 ><P
 >See also the <A
 HREF="#FORCEDIRECTORYSECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              force directory security mode</VAR
+><I
+>              force directory security mode</I
+></TT
 ></A
 >, <A
 HREF="#SECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 ></A
 >, 
                <A
 HREF="#FORCESECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force security mode
-               </VAR
+               </I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -6615,7 +7474,7 @@ CLASS="COMMAND"
 ><A
 NAME="DISABLENETBIOS"
 ></A
->&#62;disable netbios (G)</DT
+>disable netbios (G)</DT
 ><DD
 ><P
 >Enabling this parameter will disable netbios support
@@ -6640,7 +7499,7 @@ CLASS="COMMAND"
 ><A
 NAME="DISABLESPOOLSS"
 ></A
->&#62;disable spoolss (G)</DT
+>disable spoolss (G)</DT
 ><DD
 ><P
 >Enabling this parameter will disable Samba's support
@@ -6652,12 +7511,9 @@ NAME="DISABLESPOOLSS"
                Wizard or by using the NT printer properties dialog window.  It will
                also disable the capability of Windows NT/2000 clients to download
                print drivers from the Samba host upon demand.
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >Be very careful about enabling this parameter.</I
-></SPAN
 >
                </P
 ><P
@@ -6676,7 +7532,7 @@ CLASS="COMMAND"
 ><A
 NAME="DISPLAYCHARSET"
 ></A
->&#62;display charset (G)</DT
+>display charset (G)</DT
 ><DD
 ><P
 >Specifies the charset that samba will use 
@@ -6701,19 +7557,18 @@ CLASS="COMMAND"
 ><A
 NAME="DNSPROXY"
 ></A
->&#62;dns proxy (G)</DT
+>dns proxy (G)</DT
 ><DD
 ><P
->Specifies that <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
-> 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.</P
+>Specifies that <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
+> 
+               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.</P
 ><P
 >Note that the maximum length for a NetBIOS name is 15 
                characters, so the DNS name (or DNS alias) can likewise only be 
@@ -6728,9 +7583,11 @@ CLASS="COMMAND"
 ><P
 >See also the parameter <A
 HREF="#WINSSUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              wins support</VAR
+><I
+>              wins support</I
+></TT
 ></A
 >.</P
 ><P
@@ -6743,18 +7600,20 @@ CLASS="COMMAND"
 ><A
 NAME="DOMAINLOGONS"
 ></A
->&#62;domain logons (G)</DT
+>domain logons (G)</DT
 ><DD
 ><P
->If set to <CODE
+>If set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, the Samba server will serve 
                Windows 95/98 Domain logons for the <A
 HREF="#WORKGROUP"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 ></A
 > it is in. Samba 2.2
                has limited capability to act as a domain controller for Windows 
@@ -6774,15 +7633,16 @@ CLASS="COMMAND"
 ><A
 NAME="DOMAINMASTER"
 ></A
->&#62;domain master (G)</DT
+>domain master (G)</DT
 ><DD
 ><P
->Tell <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>Tell <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>              nmbd(8)</B
+></A
 > to enable WAN-wide browse list
                collation. Setting this option causes <B
 CLASS="COMMAND"
@@ -6791,48 +7651,60 @@ CLASS="COMMAND"
                claim a special domain specific NetBIOS name that identifies 
                it as a domain master browser for its given <A
 HREF="#WORKGROUP"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 ></A
 >. Local master browsers 
-               in the same <VAR
+               in the same <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 > on broadcast-isolated 
                subnets will give this <B
 CLASS="COMMAND"
 >nmbd</B
 > their local browse lists, 
-               and then ask <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> 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.</P
+               and then ask <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+> 
+               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.</P
 ><P
 >Note that Windows NT Primary Domain Controllers expect to be 
-               able to claim this <VAR
+               able to claim this <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 > specific special 
                NetBIOS name that identifies them as domain master browsers for 
-               that <VAR
+               that <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 > by default (i.e. there is no 
                way to prevent a Windows NT PDC from attempting to do this). This 
                means that if this parameter is set and <B
 CLASS="COMMAND"
 >nmbd</B
 > claims 
-               the special name for a <VAR
+               the special name for a <TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 > before a Windows 
                NT PDC is able to do so then cross subnet browsing will behave 
                strangely and may fail.</P
@@ -6844,18 +7716,24 @@ CLASS="COMMAND"
 >domain logons = yes</B
 >
                </A
->, then the default behavior is to enable the <VAR
+>, then the default behavior is to enable the <TT
 CLASS="PARAMETER"
+><I
 >domain 
-               master</VAR
-> parameter.  If <VAR
+               master</I
+></TT
+> parameter.  If <TT
 CLASS="PARAMETER"
->domain logons</VAR
+><I
+>domain logons</I
+></TT
 > is 
-               not enabled (the default setting), then neither will <VAR
+               not enabled (the default setting), then neither will <TT
 CLASS="PARAMETER"
+><I
 >domain 
-               master</VAR
+               master</I
+></TT
 > be enabled by default.</P
 ><P
 >Default: <B
@@ -6867,7 +7745,7 @@ CLASS="COMMAND"
 ><A
 NAME="DONTDESCEND"
 ></A
->&#62;dont descend (S)</DT
+>dont descend (S)</DT
 ><DD
 ><P
 >There are certain directories on some systems 
@@ -6889,13 +7767,10 @@ CLASS="FILENAME"
 >. 
                Experimentation is the best policy :-)  </P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none (i.e., all directories are OK 
                to descend)</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -6907,7 +7782,7 @@ CLASS="COMMAND"
 ><A
 NAME="DOSCHARSET"
 ></A
->&#62;dos charset (G)</DT
+>dos charset (G)</DT
 ><DD
 ><P
 >DOS SMB clients assume the server has 
@@ -6917,12 +7792,11 @@ NAME="DOSCHARSET"
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
+               case it is not available. Run <A
+HREF="testparm.1.html"
+TARGET="_top"
+>testparm(1)
+               </A
 > to check the default on your system.
                </P
 ></DD
@@ -6930,7 +7804,7 @@ CLASS="REFENTRYTITLE"
 ><A
 NAME="DOSFILEMODE"
 ></A
->&#62;dos filemode (S)</DT
+>dos filemode (S)</DT
 ><DD
 ><P
 > The default behavior in Samba is to provide 
@@ -6953,19 +7827,21 @@ CLASS="COMMAND"
 ><A
 NAME="DOSFILETIMERESOLUTION"
 ></A
->&#62;dos filetime resolution (S)</DT
+>dos filetime resolution (S)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               resolution is made to <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+>
+               </A
 >.</P
 ><P
 >This option is mainly used as a compatibility option for Visual 
@@ -6988,7 +7864,7 @@ CLASS="COMMAND"
 ><A
 NAME="DOSFILETIMES"
 ></A
->&#62;dos filetimes (S)</DT
+>dos filetimes (S)</DT
 ><DD
 ><P
 >Under DOS and Windows, if a user can write to a 
@@ -6999,15 +7875,13 @@ NAME="DOSFILETIMES"
 CLASS="COMMAND"
 >smbd</B
 > is acting 
-               on behalf of is not the file owner. Setting this option to <CODE
+               on behalf of is not the file owner. Setting this option to <TT
 CLASS="CONSTANT"
->              yes</CODE
-> allows DOS semantics and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>              yes</TT
+> allows DOS semantics and <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > will change the file 
                timestamp as DOS requires.</P
 ><P
@@ -7020,7 +7894,7 @@ CLASS="COMMAND"
 ><A
 NAME="ENCRYPTPASSWORDS"
 ></A
->&#62;encrypt passwords (G)</DT
+>encrypt passwords (G)</DT
 ><DD
 ><P
 >This boolean controls whether encrypted passwords 
@@ -7034,25 +7908,29 @@ CLASS="FILENAME"
 > shipped with the source code.</P
 ><P
 >In order for encrypted passwords to work correctly
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 > must either 
-               have access to a local <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
-> file (see the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
+               have access to a local <A
+HREF="smbpasswd.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smbpasswd(5)
+               </TT
+></A
+> file (see the <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>              smbpasswd(8)</B
+></A
 > program for information on how to set up 
                and maintain this file), or set the <A
 HREF="#SECURITY"
@@ -7073,7 +7951,7 @@ CLASS="COMMAND"
 ><A
 NAME="ENHANCEDBROWSING"
 ></A
->&#62;enhanced browsing (G)</DT
+>enhanced browsing (G)</DT
 ><DD
 ><P
 >This option enables a couple of enhancements to 
@@ -7104,7 +7982,7 @@ CLASS="COMMAND"
 ><A
 NAME="ENUMPORTSCOMMAND"
 ></A
->&#62;enumports command (G)</DT
+>enumports command (G)</DT
 ><DD
 ><P
 >The concept of a "port" is fairly foreign
@@ -7112,9 +7990,9 @@ NAME="ENUMPORTSCOMMAND"
                is associated with a port monitor and generally takes the form of
                a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
                (i.e. LPD Port Monitor, etc...).  By default, Samba has only one
-               port defined--<CODE
+               port defined--<TT
 CLASS="CONSTANT"
->"Samba Printer Port"</CODE
+>"Samba Printer Port"</TT
 >.  Under 
                Windows NT/2000, all printers must have a valid port name.  
                If you wish to have a list of ports displayed (<B
@@ -7122,24 +8000,23 @@ CLASS="COMMAND"
 >smbd
                </B
 > does not use a port name for anything) other than 
-               the default <CODE
+               the default <TT
 CLASS="CONSTANT"
->"Samba Printer Port"</CODE
+>"Samba Printer Port"</TT
 >, you 
-               can define <VAR
+               can define <TT
 CLASS="PARAMETER"
->enumports command</VAR
+><I
+>enumports command</I
+></TT
 > to point to
                a program which should generate a list of ports, one per line,
                to standard output.  This listing will then be used in response
                to the level 1 and 2 EnumPorts() RPC.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no enumports command</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -7152,14 +8029,16 @@ CLASS="COMMAND"
 ><A
 NAME="EXEC"
 ></A
->&#62;exec (S)</DT
+>exec (S)</DT
 ><DD
 ><P
 >This is a synonym for <A
 HREF="#PREEXEC"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->preexec</VAR
+><I
+>preexec</I
+></TT
 ></A
 >.</P
 ></DD
@@ -7167,7 +8046,7 @@ CLASS="PARAMETER"
 ><A
 NAME="FAKEDIRECTORYCREATETIMES"
 ></A
->&#62;fake directory create times (S)</DT
+>fake directory create times (S)</DT
 ><DD
 ><P
 >NTFS and Windows VFAT file systems keep a create 
@@ -7205,7 +8084,7 @@ CLASS="COMMAND"
 ><A
 NAME="FAKEOPLOCKS"
 ></A
->&#62;fake oplocks (S)</DT
+>fake oplocks (S)</DT
 ><DD
 ><P
 >Oplocks are the way that SMB clients get permission 
@@ -7232,9 +8111,11 @@ CLASS="COMMAND"
 ><P
 >It is generally much better to use the real <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 ></A
 > support rather 
                than this parameter.</P
@@ -7256,21 +8137,22 @@ CLASS="COMMAND"
 ><A
 NAME="FOLLOWSYMLINKS"
 ></A
->&#62;follow symlinks (S)</DT
+>follow symlinks (S)</DT
 ><DD
 ><P
 >This parameter allows the Samba administrator 
-               to stop <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->      from following symbolic 
-               links in a particular share. Setting this 
-               parameter to <CODE
+               to stop <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+> 
+               from following symbolic links in a particular share. Setting this 
+               parameter to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > 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 
@@ -7296,42 +8178,45 @@ CLASS="COMMAND"
 ><A
 NAME="FORCECREATEMODE"
 ></A
->&#62;force create mode (S)</DT
+>force create mode (S)</DT
 ><DD
 ><P
 >This parameter specifies a set of UNIX mode bit 
-               permissions that will <SPAN
-CLASS="emphasis"
-><I
+               permissions that will <I
 CLASS="EMPHASIS"
 >always</I
-></SPAN
 > be set on a 
                file created by Samba. This is done by bitwise 'OR'ing these bits onto 
                the mode bits of a file that is being created or having its 
                permissions changed. The default for this parameter is (in octal) 
                000. The modes in this parameter are bitwise 'OR'ed onto the file 
-               mode after the mask set in the <VAR
+               mode after the mask set in the <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 > 
                parameter is applied.</P
 ><P
 >See also the parameter <A
 HREF="#CREATEMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >create 
-               mask</VAR
+               mask</I
+></TT
 ></A
 > for details on masking mode bits on files.</P
 ><P
 >See also the <A
 HREF="#INHERITPERMISSIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >inherit 
-               permissions</VAR
+               permissions</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -7353,41 +8238,44 @@ CLASS="COMMAND"
 ><A
 NAME="FORCEDIRECTORYMODE"
 ></A
->&#62;force directory mode (S)</DT
+>force directory mode (S)</DT
 ><DD
 ><P
 >This parameter specifies a set of UNIX mode bit 
-               permissions that will <SPAN
-CLASS="emphasis"
-><I
+               permissions that will <I
 CLASS="EMPHASIS"
 >always</I
-></SPAN
 > be set on a directory 
                created by Samba. This is done by bitwise 'OR'ing these bits onto the 
                mode bits of a directory that is being created. The default for this 
                parameter is (in octal) 0000 which will not add any extra permission 
                bits to a created directory. This operation is done after the mode 
-               mask in the parameter <VAR
+               mask in the parameter <TT
 CLASS="PARAMETER"
->directory mask</VAR
+><I
+>directory mask</I
+></TT
 > is 
                applied.</P
 ><P
 >See also the parameter <A
 HREF="#DIRECTORYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              directory mask</VAR
+><I
+>              directory mask</I
+></TT
 ></A
 > for details on masking mode bits 
                on created directories.</P
 ><P
 >See also the <A
 HREF="#INHERITPERMISSIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->              inherit permissions</VAR
+><I
+>              inherit permissions</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -7409,7 +8297,7 @@ CLASS="COMMAND"
 ><A
 NAME="FORCEDIRECTORYSECURITYMODE"
 ></A
->&#62;force directory security mode (S)</DT
+>force directory security mode (S)</DT
 ><DD
 ><P
 >This parameter controls what UNIX permission bits 
@@ -7426,12 +8314,9 @@ NAME="FORCEDIRECTORYSECURITYMODE"
                allows a user to modify all the user/group/world permissions on a 
                directory without restrictions.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that users who can access the 
                Samba server through other means can easily bypass this restriction, 
                so it is primarily useful for standalone "appliance" systems.  
@@ -7440,23 +8325,29 @@ CLASS="EMPHASIS"
 ><P
 >See also the <A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              directory security mask</VAR
+><I
+>              directory security mask</I
+></TT
 ></A
 >, <A
 HREF="#SECURITYMASK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 ></A
 >, 
                <A
 HREF="#FORCESECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force security mode
-               </VAR
+               </I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -7474,7 +8365,7 @@ CLASS="COMMAND"
 ><A
 NAME="FORCEGROUP"
 ></A
->&#62;force group (S)</DT
+>force group (S)</DT
 ><DD
 ><P
 >This specifies a UNIX group name that will be 
@@ -7503,36 +8394,41 @@ CLASS="FILENAME"
 ><P
 >If the <A
 HREF="#FORCEUSER"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force user
-               </VAR
+               </I
+></TT
 ></A
 > parameter is also set the group specified in 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->force group</VAR
+><I
+>force group</I
+></TT
 > will override the primary group
-               set in <VAR
+               set in <TT
 CLASS="PARAMETER"
->force user</VAR
+><I
+>force user</I
+></TT
 >.</P
 ><P
 >See also <A
 HREF="#FORCEUSER"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-               user</VAR
+               user</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no forced group</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -7544,7 +8440,7 @@ CLASS="COMMAND"
 ><A
 NAME="FORCESECURITYMODE"
 ></A
->&#62;force security mode (S)</DT
+>force security mode (S)</DT
 ><DD
 ><P
 >This parameter controls what UNIX permission 
@@ -7562,12 +8458,9 @@ NAME="FORCESECURITYMODE"
                and allows a user to modify all the user/group/world permissions on a file,
                with no restrictions.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that users who can access 
                the Samba server through other means can easily bypass this restriction, 
                so it is primarily useful for standalone "appliance" systems.  
@@ -7576,23 +8469,29 @@ CLASS="EMPHASIS"
 ><P
 >See also the <A
 HREF="#FORCEDIRECTORYSECURITYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              force directory security mode</VAR
+><I
+>              force directory security mode</I
+></TT
 ></A
 >,
                <A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >directory security
-               mask</VAR
+               mask</I
+></TT
 ></A
 >, <A
 HREF="#SECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              security mask</VAR
+><I
+>              security mask</I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -7610,7 +8509,7 @@ CLASS="COMMAND"
 ><A
 NAME="FORCEUSER"
 ></A
->&#62;force user (S)</DT
+>force user (S)</DT
 ><DD
 ><P
 >This specifies a UNIX user name that will be 
@@ -7631,19 +8530,18 @@ NAME="FORCEUSER"
 ><P
 >See also <A
 HREF="#FORCEGROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force group
-               </VAR
+               </I
+></TT
 ></A
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no forced user</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -7655,30 +8553,32 @@ CLASS="COMMAND"
 ><A
 NAME="FSTYPE"
 ></A
->&#62;fstype (S)</DT
+>fstype (S)</DT
 ><DD
 ><P
 >This parameter allows the administrator to 
                configure the string that specifies the type of filesystem a share 
-               is using that is reported by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               is using that is reported by <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)
+               </B
+></A
 > when a client queries the filesystem type
-               for a share. The default type is <CODE
+               for a share. The default type is <TT
 CLASS="CONSTANT"
->NTFS</CODE
+>NTFS</TT
 > for 
                compatibility with Windows NT but this can be changed to other 
-               strings such as <CODE
+               strings such as <TT
 CLASS="CONSTANT"
->Samba</CODE
-> or <CODE
+>Samba</TT
+> or <TT
 CLASS="CONSTANT"
 >FAT
-               </CODE
+               </TT
 > if required.</P
 ><P
 >Default: <B
@@ -7695,7 +8595,7 @@ CLASS="COMMAND"
 ><A
 NAME="GETWDCACHE"
 ></A
->&#62;getwd cache (G)</DT
+>getwd cache (G)</DT
 ><DD
 ><P
 >This is a tuning option. When this is enabled a 
@@ -7703,14 +8603,16 @@ NAME="GETWDCACHE"
                calls. This can have a significant impact on performance, especially 
                when the <A
 HREF="#WIDELINKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->wide links</VAR
+><I
+>wide links</I
+></TT
 >
                </A
->parameter is set to <CODE
+>parameter is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >.</P
 ><P
 >Default: <B
@@ -7722,15 +8624,17 @@ CLASS="COMMAND"
 ><A
 NAME="GROUP"
 ></A
->&#62;group (S)</DT
+>group (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#FORCEGROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-               group</VAR
+               group</I
+></TT
 ></A
 >.</P
 ></DD
@@ -7738,15 +8642,17 @@ CLASS="PARAMETER"
 ><A
 NAME="GUESTACCOUNT"
 ></A
->&#62;guest account (S)</DT
+>guest account (S)</DT
 ><DD
 ><P
 >This is a username which will be used for access 
                to services which are specified as <A
 HREF="#GUESTOK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              guest ok</VAR
+><I
+>              guest ok</I
+></TT
 ></A
 > (see below). Whatever privileges this 
                user has will be available to any client connecting to the guest service. 
@@ -7774,13 +8680,10 @@ CLASS="COMMAND"
                many parts of the system require this value to be
                constant for correct operation.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >specified at compile time, usually 
                "nobody"</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -7792,37 +8695,31 @@ CLASS="COMMAND"
 ><A
 NAME="GUESTOK"
 ></A
->&#62;guest ok (S)</DT
+>guest ok (S)</DT
 ><DD
 ><P
->If this parameter is <CODE
+>If this parameter is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > for 
                a service, then no password is required to connect to the service. 
                Privileges will be those of the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              guest account</VAR
+><I
+>              guest account</I
+></TT
 ></A
 >.</P
 ><P
->This paramater nullifies the benifits of setting
-               <A
-HREF="#RESTRICTANONYMOUS"
-><VAR
-CLASS="PARAMETER"
->restrict
-               anonymous</VAR
-></A
-> = 2</P
-><P
 >See the section below on <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              security</VAR
+><I
+>              security</I
+></TT
 ></A
 > for more information about this option.
                </P
@@ -7836,27 +8733,31 @@ CLASS="COMMAND"
 ><A
 NAME="GUESTONLY"
 ></A
->&#62;guest only (S)</DT
+>guest only (S)</DT
 ><DD
 ><P
->If this parameter is <CODE
+>If this parameter is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > for 
                a service, then only guest connections to the service are permitted. 
                This parameter will have no effect if <A
 HREF="#GUESTOK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->guest ok</VAR
+><I
+>guest ok</I
+></TT
 ></A
 > is not set for the service.</P
 ><P
 >See the section below on <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              security</VAR
+><I
+>              security</I
+></TT
 ></A
 > for more information about this option.
                </P
@@ -7870,7 +8771,7 @@ CLASS="COMMAND"
 ><A
 NAME="HIDEDOTFILES"
 ></A
->&#62;hide dot files (S)</DT
+>hide dot files (S)</DT
 ><DD
 ><P
 >This is a boolean parameter that controls whether 
@@ -7885,7 +8786,7 @@ CLASS="COMMAND"
 ><A
 NAME="HIDEFILES"
 ></A
->&#62;hide files(S)</DT
+>hide files(S)</DT
 ><DD
 ><P
 >This is a list of files or directories that are not 
@@ -7909,31 +8810,34 @@ NAME="HIDEFILES"
 ><P
 >See also <A
 HREF="#HIDEDOTFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >hide 
-               dot files</VAR
+               dot files</I
+></TT
 ></A
 >, <A
 HREF="#VETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->              veto files</VAR
+><I
+>              veto files</I
+></TT
 ></A
 > and <A
 HREF="#CASESENSITIVE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->case sensitive</VAR
+><I
+>case sensitive</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no file are hidden</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -7955,7 +8859,7 @@ TARGET="_top"
 ><A
 NAME="HIDELOCALUSERS"
 ></A
->&#62;hide local users(G)</DT
+>hide local users(G)</DT
 ><DD
 ><P
 >This parameter toggles the hiding of local UNIX 
@@ -7970,7 +8874,7 @@ CLASS="COMMAND"
 ><A
 NAME="HIDEUNREADABLE"
 ></A
->&#62;hide unreadable (G)</DT
+>hide unreadable (G)</DT
 ><DD
 ><P
 >This parameter prevents clients from seeing the
@@ -7985,7 +8889,7 @@ CLASS="COMMAND"
 ><A
 NAME="HIDEUNWRITEABLEFILES"
 ></A
->&#62;hide unwriteable files (G)</DT
+>hide unwriteable files (G)</DT
 ><DD
 ><P
 >This parameter prevents clients from seeing
@@ -8002,7 +8906,7 @@ CLASS="COMMAND"
 ><A
 NAME="HIDESPECIALFILES"
 ></A
->&#62;hide special files (G)</DT
+>hide special files (G)</DT
 ><DD
 ><P
 >This parameter prevents clients from seeing
@@ -8019,29 +8923,34 @@ CLASS="COMMAND"
 ><A
 NAME="HOMEDIRMAP"
 ></A
->&#62;homedir map (G)</DT
+>homedir map (G)</DT
 ><DD
 ><P
 >If<A
 HREF="#NISHOMEDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >nis homedir
-               </VAR
+               </I
+></TT
 ></A
-> is <CODE
+> is <TT
 CLASS="CONSTANT"
->yes</CODE
->, and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>yes</TT
+>, and <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 > is also acting 
-               as a Win95/98 <VAR
+               as a Win95/98 <TT
 CLASS="PARAMETER"
->logon server</VAR
+><I
+>logon server</I
+></TT
 > 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 
@@ -8057,27 +8966,28 @@ CLASS="COMMAND"
                that copes with different map formats and also Amd (another 
                automounter) maps.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >NOTE :</I
-></SPAN
 >A working NIS client is required on 
                the system for this option to work.</P
 ><P
 >See also <A
 HREF="#NISHOMEDIR"
-><VAR
+><TT
 CLASS="PARAMETER"
->nis homedir</VAR
+><I
+>nis homedir</I
+></TT
 >
                </A
 >, <A
 HREF="#DOMAINLOGONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->domain logons</VAR
+><I
+>domain logons</I
+></TT
 >
                </A
 >.</P
@@ -8096,25 +9006,27 @@ CLASS="COMMAND"
 ><A
 NAME="HOSTMSDFS"
 ></A
->&#62;host msdfs (G)</DT
+>host msdfs (G)</DT
 ><DD
 ><P
 >This boolean parameter is only available 
                if Samba has been configured and compiled with the <B
 CLASS="COMMAND"
 >              --with-msdfs</B
-> option. If set to <CODE
+> option. If set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, 
                Samba will act as a Dfs server, and  allow Dfs-aware clients 
                to browse Dfs trees hosted on the server.</P
 ><P
 >See also the <A
 HREF="#MSDFSROOT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              msdfs root</VAR
+><I
+>              msdfs root</I
+></TT
 ></A
 > share  level  parameter.  For
                more  information  on  setting  up a Dfs tree on Samba,
@@ -8134,7 +9046,7 @@ CLASS="COMMAND"
 ><A
 NAME="HOSTNAMELOOKUPS"
 ></A
->&#62;hostname lookups (G)</DT
+>hostname lookups (G)</DT
 ><DD
 ><P
 >Specifies whether samba should use (expensive)
@@ -8163,13 +9075,15 @@ CLASS="COMMAND"
 ><A
 NAME="HOSTSALLOW"
 ></A
->&#62;hosts allow (S)</DT
+>hosts allow (S)</DT
 ><DD
 ><P
->A synonym for this parameter is <VAR
+>A synonym for this parameter is <TT
 CLASS="PARAMETER"
+><I
 >allow 
-               hosts</VAR
+               hosts</I
+></TT
 >.</P
 ><P
 >This parameter is a comma, space, or tab delimited 
@@ -8196,20 +9110,19 @@ CLASS="FILENAME"
 >Note that the localhost address 127.0.0.1 will always 
                be allowed access unless specifically denied by a <A
 HREF="#HOSTSDENY"
-><VAR
+><TT
 CLASS="PARAMETER"
->hosts deny</VAR
+><I
+>hosts deny</I
+></TT
 ></A
 > option.</P
 ><P
 >You can also specify hosts by network/netmask pairs and 
                by netgroup names if your system supports netgroups. The 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >EXCEPT</I
-></SPAN
 > keyword can also be used to limit a 
                wildcard list. The following examples may provide some help:</P
 ><P
@@ -8249,22 +9162,21 @@ CLASS="COMMAND"
 ><P
 >Note that access still requires suitable user-level passwords.</P
 ><P
->See <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
-> for a way of testing your host access 
-               to see if it does what you expect.</P
+>See <A
+HREF="testparm.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>testparm(1)</B
+>
+               </A
+> for a way of testing your host access to see if it does 
+               what you expect.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none (i.e., all hosts permitted access)
                </I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -8277,34 +9189,32 @@ CLASS="COMMAND"
 ><A
 NAME="HOSTSDENY"
 ></A
->&#62;hosts deny (S)</DT
+>hosts deny (S)</DT
 ><DD
 ><P
->The opposite of <VAR
+>The opposite of <TT
 CLASS="PARAMETER"
->hosts allow</VAR
-> 
-               - hosts listed here are <SPAN
-CLASS="emphasis"
 ><I
+>hosts allow</I
+></TT
+> 
+               - hosts listed here are <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > permitted access to 
                services unless the specific services have their own lists to override 
-               this one. Where the lists conflict, the <VAR
+               this one. Where the lists conflict, the <TT
 CLASS="PARAMETER"
->allow</VAR
+><I
+>allow</I
+></TT
 > 
                list takes precedence.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none (i.e., no hosts specifically excluded)
                </I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -8317,7 +9227,7 @@ CLASS="COMMAND"
 ><A
 NAME="HOSTSEQUIV"
 ></A
->&#62;hosts equiv (G)</DT
+>hosts equiv (G)</DT
 ><DD
 ><P
 >If this global parameter is a non-null string, 
@@ -8327,50 +9237,49 @@ NAME="HOSTSEQUIV"
 ><P
 >This is not be confused with <A
 HREF="#HOSTSALLOW"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->hosts allow</VAR
+><I
+>hosts allow</I
+></TT
 ></A
 > which is about hosts 
-               access to services and is more useful for guest services. <VAR
+               access to services and is more useful for guest services. <TT
 CLASS="PARAMETER"
->              hosts equiv</VAR
+><I
+>              hosts equiv</I
+></TT
 > may be useful for NT clients which will 
                not supply passwords to Samba.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >NOTE :</I
-></SPAN
-> The use of <VAR
+> The use of <TT
 CLASS="PARAMETER"
+><I
 >hosts equiv
-               </VAR
+               </I
+></TT
 > can be a major security hole. This is because you are 
                trusting the PC to supply the correct username. It is very easy to 
                get a PC to supply a false username. I recommend that the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->hosts equiv</VAR
+><I
+>hosts equiv</I
+></TT
 > option be only used if you really 
                know what you are doing, or perhaps on a home network where you trust 
-               your spouse and kids. And only if you <SPAN
-CLASS="emphasis"
-><I
+               your spouse and kids. And only if you <I
 CLASS="EMPHASIS"
 >really</I
-></SPAN
 > trust 
                them :-).</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no host equivalences</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -8382,32 +9291,35 @@ CLASS="COMMAND"
 ><A
 NAME="INCLUDE"
 ></A
->&#62;include (G)</DT
+>include (G)</DT
 ><DD
 ><P
 >This allows you to include one config file 
                inside another.  The file is included literally, as though typed 
                in place.</P
 ><P
->It takes the standard substitutions, except <VAR
+>It takes the standard substitutions, except <TT
 CLASS="PARAMETER"
+><I
 >%u
-               </VAR
->, <VAR
+               </I
+></TT
+>, <TT
 CLASS="PARAMETER"
->%P</VAR
-> and <VAR
+><I
+>%P</I
+></TT
+> and <TT
 CLASS="PARAMETER"
->%S</VAR
+><I
+>%S</I
+></TT
 >.
                </P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no file included</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -8420,7 +9332,7 @@ CLASS="COMMAND"
 ><A
 NAME="INHERITACLS"
 ></A
->&#62;inherit acls (S)</DT
+>inherit acls (S)</DT
 ><DD
 ><P
 >This parameter can be used to ensure
@@ -8442,35 +9354,43 @@ CLASS="COMMAND"
 ><A
 NAME="INHERITPERMISSIONS"
 ></A
->&#62;inherit permissions (S)</DT
+>inherit permissions (S)</DT
 ><DD
 ><P
 >The permissions on new files and directories 
                are normally governed by <A
 HREF="#CREATEMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              create mask</VAR
+><I
+>              create mask</I
+></TT
 ></A
 >, <A
 HREF="#DIRECTORYMASK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->directory mask</VAR
+><I
+>directory mask</I
+></TT
 ></A
 >, <A
 HREF="#FORCECREATEMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force create mode</VAR
+><I
+>force create mode</I
+></TT
 >
                </A
 > and <A
 HREF="#FORCEDIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-               directory mode</VAR
+               directory mode</I
+></TT
 ></A
 > but the boolean inherit 
                permissions parameter overrides this.</P
@@ -8482,33 +9402,36 @@ CLASS="PARAMETER"
                directory.  Their execute bits continue to be determined by
                <A
 HREF="#MAPARCHIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->map archive</VAR
+><I
+>map archive</I
+></TT
 >
                </A
 >, <A
 HREF="#MAPHIDDEN"
-><VAR
+><TT
 CLASS="PARAMETER"
->map hidden</VAR
+><I
+>map hidden</I
+></TT
 >
                </A
 > and <A
 HREF="#MAPSYSTEM"
-><VAR
+><TT
 CLASS="PARAMETER"
->map system</VAR
+><I
+>map system</I
+></TT
 >
                </A
 > as usual.</P
 ><P
->Note that the setuid bit is <SPAN
-CLASS="emphasis"
-><I
+>Note that the setuid bit is <I
 CLASS="EMPHASIS"
 >never</I
-></SPAN
 > set via 
                inheritance (the code explicitly prohibits this).</P
 ><P
@@ -8518,28 +9441,36 @@ CLASS="EMPHASIS"
 ><P
 >See also <A
 HREF="#CREATEMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >create mask
-               </VAR
+               </I
+></TT
 ></A
 >, <A
 HREF="#DIRECTORYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
->              directory mask</VAR
+><I
+>              directory mask</I
+></TT
 ></A
 >, <A
 HREF="#FORCECREATEMODE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->force create mode</VAR
+><I
+>force create mode</I
+></TT
 ></A
 > and <A
 HREF="#FORCEDIRECTORYMODE"
-><VAR
+><TT
 CLASS="PARAMETER"
->force directory mode</VAR
+><I
+>force directory mode</I
+></TT
 >
                </A
 >.</P
@@ -8553,7 +9484,7 @@ CLASS="COMMAND"
 ><A
 NAME="INTERFACES"
 ></A
->&#62;interfaces (G)</DT
+>interfaces (G)</DT
 ><DD
 ><P
 >This option allows you to override the default 
@@ -8611,36 +9542,32 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#BINDINTERFACESONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >bind 
-               interfaces only</VAR
+               interfaces only</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >all active interfaces except 127.0.0.1 
                that are broadcast capable</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="INVALIDUSERS"
 ></A
->&#62;invalid users (S)</DT
+>invalid users (S)</DT
 ><DD
 ><P
 >This is a list of users that should not be allowed 
-               to login to this service. This is really a <SPAN
-CLASS="emphasis"
-><I
+               to login to this service. This is really a <I
 CLASS="EMPHASIS"
 >paranoid</I
-></SPAN
 > 
                check to absolutely ensure an improper setting does not breach 
                your security.</P
@@ -8654,39 +9581,44 @@ CLASS="EMPHASIS"
                '&#38;' is interpreted only by looking in the NIS netgroup database 
                (this requires NIS to be working on your system). The characters 
                '+' and '&#38;' may be used at the start of the name in either order 
-               so the value <VAR
+               so the value <TT
 CLASS="PARAMETER"
->+&#38;group</VAR
+><I
+>+&#38;group</I
+></TT
 > means check the 
                UNIX group database, followed by the NIS netgroup database, and 
-               the value <VAR
+               the value <TT
 CLASS="PARAMETER"
->&#38;+group</VAR
+><I
+>&#38;+group</I
+></TT
 > means check the NIS
                netgroup database, followed by the UNIX group database (the 
                same as the '@' prefix).</P
 ><P
->The current servicename is substituted for <VAR
+>The current servicename is substituted for <TT
 CLASS="PARAMETER"
->%S</VAR
+><I
+>%S</I
+></TT
 >. 
                This is useful in the [homes] section.</P
 ><P
 >See also <A
 HREF="#VALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >valid users
-               </VAR
+               </I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no invalid users</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -8699,13 +9631,15 @@ CLASS="COMMAND"
 ><A
 NAME="KEEPALIVE"
 ></A
->&#62;keepalive (G)</DT
+>keepalive (G)</DT
 ><DD
 ><P
 >The value of the parameter (an integer) represents 
-               the number of seconds between <VAR
+               the number of seconds between <TT
 CLASS="PARAMETER"
->keepalive</VAR
+><I
+>keepalive</I
+></TT
 > 
                packets. If this parameter is zero, no keepalive packets will be 
                sent. Keepalive packets, if sent, allow the server to tell whether 
@@ -8714,9 +9648,11 @@ CLASS="PARAMETER"
 >Keepalives should, in general, not be needed if the socket 
                being used has the SO_KEEPALIVE attribute set on it (see <A
 HREF="#SOCKETOPTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->socket options</VAR
+><I
+>socket options</I
+></TT
 ></A
 >). 
                Basically you should only use this option if you strike difficulties.</P
@@ -8735,60 +9671,67 @@ CLASS="COMMAND"
 ><A
 NAME="KERNELOPLOCKS"
 ></A
->&#62;kernel oplocks (G)</DT
+>kernel oplocks (G)</DT
 ><DD
 ><P
 >For UNIXes that support kernel based <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 ></A
 >
                (currently only IRIX and the Linux 2.4 kernel), this parameter 
                allows the use of them to be turned on or off.</P
 ><P
->Kernel oplocks support allows Samba <VAR
+>Kernel oplocks support allows Samba <TT
 CLASS="PARAMETER"
+><I
 >oplocks
-               </VAR
+               </I
+></TT
 > to be broken whenever a local UNIX process or NFS operation 
-               accesses a file that <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> has oplocked. This allows complete 
-               data consistency between SMB/CIFS, NFS and local file access (and is 
-               a <SPAN
-CLASS="emphasis"
-><I
+               accesses a file that <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+>
+               </A
+> has oplocked. This allows complete data consistency between 
+               SMB/CIFS, NFS and local file access (and is a <I
 CLASS="EMPHASIS"
 >very</I
-></SPAN
-> cool feature :-).</P
+> 
+               cool feature :-).</P
 ><P
->This parameter defaults to <CODE
+>This parameter defaults to <TT
 CLASS="CONSTANT"
->on</CODE
+>on</TT
 >, but is translated
                to a no-op on systems that no not have the necessary kernel support.
                You should never need to touch this parameter.</P
 ><P
 >See also the <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 >
                </A
 > and <A
 HREF="#LEVEL2OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >level2 oplocks
-               </VAR
+               </I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -8801,19 +9744,18 @@ CLASS="COMMAND"
 ><A
 NAME="LANMANAUTH"
 ></A
->&#62;lanman auth (G)</DT
+>lanman auth (G)</DT
 ><DD
 ><P
->This parameter determines whether or not <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> 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.</P
+>This parameter determines whether or not <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
+> 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.</P
 ><P
 >Default : <B
 CLASS="COMMAND"
@@ -8824,17 +9766,15 @@ CLASS="COMMAND"
 ><A
 NAME="LARGEREADWRITE"
 ></A
->&#62;large readwrite (G)</DT
+>large readwrite (G)</DT
 ><DD
 ><P
->This parameter determines whether or not <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->      supports the new 64k streaming 
-               read and write varient SMB requests introduced
+>This parameter determines whether or not <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
+>
+               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
@@ -8851,56 +9791,88 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPADMINDN"
 ></A
->&#62;ldap admin dn (G)</DT
+>ldap admin dn (G)</DT
 ><DD
 ><P
-> The <VAR
+>The <TT
 CLASS="PARAMETER"
->ldap admin dn</VAR
+><I
+>ldap admin dn</I
+></TT
 > defines the Distinguished 
                Name (DN) name used by Samba to contact the ldap server when retreiving 
-               user account information. The <VAR
+               user account information. The <TT
 CLASS="PARAMETER"
+><I
 >ldap
-               admin dn</VAR
+               admin dn</I
+></TT
 > is used in conjunction with the admin dn password
                stored in the <TT
 CLASS="FILENAME"
 >private/secrets.tdb</TT
 > file.  See the
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
-> man page for more information on how 
-               to accmplish this.
+               <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbpasswd(8)</B
+></A
+> man
+               page for more information on how to accomplish this.
                </P
+></DD
+><DT
+><A
+NAME="LDAPDELETEDN"
+></A
+>&#62;ldap del only sam attr (G)</DT
+><DD
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+> This parameter specifies whether a delete
+               operation in the ldapsam deletes the complete entry or only the attributes
+               specific to Samba.
+               </P
+><P
+>Default : <I
 CLASS="EMPHASIS"
->none</I
-></SPAN
+>ldap delete dn = no</I
 ></P
 ></DD
 ><DT
 ><A
+NAME="LDAPDELONLYSAMATTR"
+></A
+>&#62;ldap del only sam attr (G)</DT
+><DD
+><P
+> Inverted synonym for <A
+HREF="#LDAPDELETEDN"
+><TT
+CLASS="PARAMETER"
+><I
+>              ldap delete dn</I
+></TT
+></A
+>.
+               </P
+></DD
+><DT
+><A
 NAME="LDAPFILTER"
 ></A
->&#62;ldap filter (G)</DT
+>ldap filter (G)</DT
 ><DD
 ><P
 >This parameter specifies the RFC 2254 compliant LDAP search filter.
-               The default is to match the login name with the <CODE
+               The default is to match the login name with the <TT
 CLASS="CONSTANT"
->uid</CODE
+>uid</TT
 > 
-               attribute for all entries matching the <CODE
+               attribute for all entries matching the <TT
 CLASS="CONSTANT"
->sambaAccount</CODE
+>sambaAccount</TT
 >              
                objectclass.  Note that this filter should only return one entry.
                </P
@@ -8914,7 +9886,7 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPPORT"
 ></A
->&#62;ldap port (G)</DT
+>ldap port (G)</DT
 ><DD
 ><P
 >This parameter is only available if Samba has been
@@ -8928,9 +9900,11 @@ CLASS="COMMAND"
 >                This option is used to control the tcp port number used to contact
                 the <A
 HREF="#LDAPSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->ldap server</VAR
+><I
+>ldap server</I
+></TT
 ></A
 >.
                 The default is to use the stand LDAPS port 636.
@@ -8956,7 +9930,7 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPSERVER"
 ></A
->&#62;ldap server (G)</DT
+>ldap server (G)</DT
 ><DD
 ><P
 >This parameter is only available if Samba has been
@@ -8980,17 +9954,14 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPSSL"
 ></A
->&#62;ldap ssl (G)</DT
+>ldap ssl (G)</DT
 ><DD
 ><P
 >This option is used to define whether or not Samba should
                use SSL when connecting to the ldap server
-               This is <SPAN
-CLASS="emphasis"
-><I
+               This is <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > related to
                Samba's previous SSL support which was enabled by specifying the 
                <B
@@ -9003,9 +9974,11 @@ CLASS="FILENAME"
                script.
                </P
 ><P
->              The <VAR
+>              The <TT
 CLASS="PARAMETER"
->ldap ssl</VAR
+><I
+>ldap ssl</I
+></TT
 > can be set to one of three values:
                </P
 ><P
@@ -9013,29 +9986,37 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->Off</VAR
+><I
+>Off</I
+></TT
 > = Never use SSL when querying the directory.</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->Start_tls</VAR
+><I
+>Start_tls</I
+></TT
 > = Use the LDAPv3 StartTLS extended operation 
                        (RFC2830) for communicating with the directory server.</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->On</VAR
+><I
+>On</I
+></TT
 >  =
                        Use SSL on the ldaps port when contacting the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->ldap  server</VAR
+><I
+>ldap  server</I
+></TT
 >.  Only
                        available when the backwards-compatiblity <B
 CLASS="COMMAND"
@@ -9043,9 +10024,11 @@ CLASS="COMMAND"
 > option is specified
                        to configure.  See <A
 HREF="#PASSDBBACKEND"
-><VAR
+><TT
 CLASS="PARAMETER"
->passdb backend</VAR
+><I
+>passdb backend</I
+></TT
 ></A
 ></P
 ></LI
@@ -9060,7 +10043,7 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPSUFFIX"
 ></A
->&#62;ldap suffix (G)</DT
+>ldap suffix (G)</DT
 ><DD
 ><P
 >Specifies where user and machine accounts are added to the tree. Can be overriden by <B
@@ -9071,56 +10054,47 @@ CLASS="COMMAND"
 >ldap machine suffix</B
 >. It also used as the base dn for all ldap searches. </P
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+>Default : <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="LDAPUSERSUFFIX"
 ></A
->&#62;ldap user suffix (G)</DT
+>ldap user suffix (G)</DT
 ><DD
 ><P
 >It specifies where users are added to the tree.
                </P
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+>Default : <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="LDAPMACHINESUFFIX"
 ></A
->&#62;ldap machine suffix (G)</DT
+>ldap machine suffix (G)</DT
 ><DD
 ><P
 >It specifies where machines should be 
                 added to the ldap tree.
                </P
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+>Default : <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="LDAPPASSWDSYNC"
 ></A
->&#62;ldap passwd sync (G)</DT
+>ldap passwd sync (G)</DT
 ><DD
 ><P
 >This option is used to define whether
@@ -9130,9 +10104,11 @@ NAME="LDAPPASSWDSYNC"
                change via SAMBA.  
                </P
 ><P
->              The <VAR
+>              The <TT
 CLASS="PARAMETER"
->ldap passwd sync</VAR
+><I
+>ldap passwd sync</I
+></TT
 > can be set to one of three values:
                </P
 ><P
@@ -9140,23 +10116,29 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->Yes</VAR
+><I
+>Yes</I
+></TT
 >  =  Try to update the LDAP, NT and LM passwords and update the pwdLastSet time.</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->No</VAR
+><I
+>No</I
+></TT
 > = Update NT and LM passwords and update the pwdLastSet time.</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->Only</VAR
+><I
+>Only</I
+></TT
 > = Only update the LDAP password and let the LDAP server do the rest.</P
 ></LI
 ></UL
@@ -9170,7 +10152,7 @@ CLASS="COMMAND"
 ><A
 NAME="LDAPTRUSTIDS"
 ></A
->&#62;ldap trust ids (G)</DT
+>ldap trust ids (G)</DT
 ><DD
 ><P
 >Normally, Samba validates each entry
@@ -9199,7 +10181,7 @@ CLASS="COMMAND"
 ><A
 NAME="LEVEL2OPLOCKS"
 ></A
->&#62;level2 oplocks (S)</DT
+>level2 oplocks (S)</DT
 ><DD
 ><P
 >This parameter controls whether Samba supports
@@ -9227,41 +10209,49 @@ NAME="LEVEL2OPLOCKS"
 ><P
 >Currently, if <A
 HREF="#KERNELOPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >kernel 
-               oplocks</VAR
+               oplocks</I
+></TT
 ></A
 > are supported then level2 oplocks are 
-               not granted (even if this parameter is set to <CODE
+               not granted (even if this parameter is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >). 
                Note also, the <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 >
                </A
-> parameter must be set to <CODE
+> parameter must be set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > on this share in order for 
                this parameter to have any effect.</P
 ><P
 >See also the <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 >
                </A
 > and <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->kernel oplocks</VAR
+><I
+>kernel oplocks</I
+></TT
 >
                </A
 > parameters.</P
@@ -9275,62 +10265,69 @@ CLASS="COMMAND"
 ><A
 NAME="LMANNOUNCE"
 ></A
->&#62;lm announce (G)</DT
+>lm announce (G)</DT
 ><DD
 ><P
->This parameter determines if <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This parameter determines if <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>              <B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
 > 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, <CODE
+               values, <TT
 CLASS="CONSTANT"
->yes</CODE
->, <CODE
+>yes</TT
+>, <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >, or
-               <CODE
+               <TT
 CLASS="CONSTANT"
->auto</CODE
->. The default is <CODE
+>auto</TT
+>. The default is <TT
 CLASS="CONSTANT"
->auto</CODE
+>auto</TT
 >.  
-               If set to <CODE
+               If set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > Samba will never produce these 
-               broadcasts. If set to <CODE
+               broadcasts. If set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > Samba will produce 
                Lanman announce broadcasts at a frequency set by the parameter 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->lm interval</VAR
->. If set to <CODE
+><I
+>lm interval</I
+></TT
+>. If set to <TT
 CLASS="CONSTANT"
->auto</CODE
+>auto</TT
 > 
                Samba will not send Lanman announce broadcasts by default but will 
                listen for them. If it hears such a broadcast on the wire it will 
                then start sending them at a frequency set by the parameter 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->lm interval</VAR
+><I
+>lm interval</I
+></TT
 >.</P
 ><P
 >See also <A
 HREF="#LMINTERVAL"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >lm interval
-               </VAR
+               </I
+></TT
 ></A
 >.</P
 ><P
@@ -9348,31 +10345,37 @@ CLASS="COMMAND"
 ><A
 NAME="LMINTERVAL"
 ></A
->&#62;lm interval (G)</DT
+>lm interval (G)</DT
 ><DD
 ><P
 >If Samba is set to produce Lanman announce 
                broadcasts needed by OS/2 clients (see the <A
 HREF="#LMANNOUNCE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->lm announce</VAR
+><I
+>lm announce</I
+></TT
 ></A
 > parameter) then this 
                parameter defines the frequency in seconds with which they will be 
                made.  If this is set to zero then no Lanman announcements will be 
-               made despite the setting of the <VAR
+               made despite the setting of the <TT
 CLASS="PARAMETER"
->lm announce</VAR
+><I
+>lm announce</I
+></TT
 > 
                parameter.</P
 ><P
 >See also <A
 HREF="#LMANNOUNCE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >lm 
-               announce</VAR
+               announce</I
+></TT
 ></A
 >.</P
 ><P
@@ -9390,13 +10393,13 @@ CLASS="COMMAND"
 ><A
 NAME="LOADPRINTERS"
 ></A
->&#62;load printers (G)</DT
+>load printers (G)</DT
 ><DD
 ><P
 >A boolean variable that controls whether all 
                printers in the printcap will be loaded for browsing by default. 
                See the <A
-HREF="#AEN80"
+HREF="#AEN79"
 >printers</A
 > section for 
                more details.</P
@@ -9410,62 +10413,54 @@ CLASS="COMMAND"
 ><A
 NAME="LOCALMASTER"
 ></A
->&#62;local master (G)</DT
+>local master (G)</DT
 ><DD
 ><P
->This option allows <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This option allows <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>              nmbd(8)</B
+></A
 > to try and become a local master browser 
-               on a subnet. If set to <CODE
+               on a subnet. If set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > then <B
 CLASS="COMMAND"
 >              nmbd</B
 > will not attempt to become a local master browser 
                on a subnet and will also lose in all browsing elections. By
-               default this value is set to <CODE
+               default this value is set to <TT
 CLASS="CONSTANT"
->yes</CODE
->. Setting this value to <CODE
+>yes</TT
+>. Setting this value to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > doesn't
-               mean that Samba will <SPAN
-CLASS="emphasis"
-><I
+               mean that Samba will <I
 CLASS="EMPHASIS"
 >become</I
-></SPAN
 > the local master 
                browser on a subnet, just that <B
 CLASS="COMMAND"
 >nmbd</B
-> will <SPAN
-CLASS="emphasis"
-><I
+> will <I
 CLASS="EMPHASIS"
 >              participate</I
-></SPAN
 > in elections for local master browser.</P
 ><P
->Setting this value to <CODE
+>Setting this value to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > will cause <B
 CLASS="COMMAND"
 >nmbd</B
 >
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >never</I
-></SPAN
 > to become a local master browser.</P
 ><P
 >Default: <B
@@ -9477,14 +10472,16 @@ CLASS="COMMAND"
 ><A
 NAME="LOCKDIR"
 ></A
->&#62;lock dir (G)</DT
+>lock dir (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#LOCKDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              lock directory</VAR
+><I
+>              lock directory</I
+></TT
 ></A
 >.</P
 ></DD
@@ -9492,16 +10489,18 @@ CLASS="PARAMETER"
 ><A
 NAME="LOCKDIRECTORY"
 ></A
->&#62;lock directory (G)</DT
+>lock directory (G)</DT
 ><DD
 ><P
 >This option specifies the directory where lock 
                files will be placed.  The lock files are used to implement the 
                <A
 HREF="#MAXCONNECTIONS"
-><VAR
+><TT
 CLASS="PARAMETER"
->max connections</VAR
+><I
+>max connections</I
+></TT
 >
                </A
 > option.</P
@@ -9521,7 +10520,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOCKSPINCOUNT"
 ></A
->&#62;lock spin count (G)</DT
+>lock spin count (G)</DT
 ><DD
 ><P
 >This parameter controls the number of times
@@ -9544,17 +10543,19 @@ CLASS="COMMAND"
 ><A
 NAME="LOCKSPINTIME"
 ></A
->&#62;lock spin time (G)</DT
+>lock spin time (G)</DT
 ><DD
 ><P
 >The time in microseconds that smbd should 
                pause before attempting to gain a failed lock.  See
                <A
 HREF="#LOCKSPINCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >lock spin 
-               count</VAR
+               count</I
+></TT
 ></A
 > for more details.
                </P
@@ -9569,7 +10570,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOCKING"
 ></A
->&#62;locking (S)</DT
+>locking (S)</DT
 ><DD
 ><P
 >This controls whether or not locking will be 
@@ -9589,23 +10590,17 @@ CLASS="COMMAND"
 >, real locking will be performed 
                by the server.</P
 ><P
->This option <SPAN
-CLASS="emphasis"
-><I
+>This option <I
 CLASS="EMPHASIS"
 >may</I
-></SPAN
 > be useful for read-only 
-               filesystems which <SPAN
-CLASS="emphasis"
-><I
+               filesystems which <I
 CLASS="EMPHASIS"
 >may</I
-></SPAN
 > not need locking (such as 
-               CDROM drives), although setting this parameter of <CODE
+               CDROM drives), although setting this parameter of <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > 
                is not really recommended even in this case.</P
 ><P
@@ -9622,7 +10617,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOGFILE"
 ></A
->&#62;log file (G)</DT
+>log file (G)</DT
 ><DD
 ><P
 >This option allows you to override the name 
@@ -9641,7 +10636,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOGLEVEL"
 ></A
->&#62;log level (G)</DT
+>log level (G)</DT
 ><DD
 ><P
 >The value of the parameter (a astring) allows 
@@ -9667,15 +10662,17 @@ CLASS="COMMAND"
 ><A
 NAME="LOGONDRIVE"
 ></A
->&#62;logon drive (G)</DT
+>logon drive (G)</DT
 ><DD
 ><P
 >This parameter specifies the local path to 
                which the home directory will be connected (see <A
 HREF="#LOGONHOME"
-><VAR
+><TT
 CLASS="PARAMETER"
->logon home</VAR
+><I
+>logon home</I
+></TT
 ></A
 >) 
                and is only used by NT Workstations. </P
@@ -9697,19 +10694,21 @@ CLASS="COMMAND"
 ><A
 NAME="LOGONHOME"
 ></A
->&#62;logon home (G)</DT
+>logon home (G)</DT
 ><DD
 ><P
 >This parameter specifies the home directory 
                location when a Win95/98 or NT Workstation logs into a Samba PDC.  
                It allows you to do </P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->C:\&#62; </SAMP
-><KBD
+>C:\&#62; </TT
+><TT
 CLASS="USERINPUT"
->NET USE H: /HOME</KBD
+><B
+>NET USE H: /HOME</B
+></TT
 >
                </P
 ><P
@@ -9738,14 +10737,18 @@ CLASS="COMMAND"
 ><P
 >Note that in prior versions of Samba, the <A
 HREF="#LOGONPATH"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->logon path</VAR
+><I
+>logon path</I
+></TT
 ></A
 > was returned rather than 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->logon home</VAR
+><I
+>logon home</I
+></TT
 >.  This broke <B
 CLASS="COMMAND"
 >net use 
@@ -9772,7 +10775,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOGONPATH"
 ></A
->&#62;logon path (G)</DT
+>logon path (G)</DT
 ><DD
 ><P
 >This parameter specifies the home directory 
@@ -9781,9 +10784,11 @@ NAME="LOGONPATH"
                nothing to do with Win 9X roaming profiles.  To find out how to 
                handle roaming profiles for Win 9X system, see the <A
 HREF="#LOGONHOME"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->logon home</VAR
+><I
+>logon home</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -9816,12 +10821,9 @@ CLASS="FILENAME"
 >Thereafter, the directories and any of the contents can, 
                if required, be made read-only.  It is not advisable that the 
                NTuser.dat file be made read-only - rename it to NTuser.man to 
-               achieve the desired effect (a <SPAN
-CLASS="emphasis"
-><I
+               achieve the desired effect (a <I
 CLASS="EMPHASIS"
 >MAN</I
-></SPAN
 >datory 
                profile). </P
 ><P
@@ -9851,7 +10853,7 @@ CLASS="COMMAND"
 ><A
 NAME="LOGONSCRIPT"
 ></A
->&#62;logon script (G)</DT
+>logon script (G)</DT
 ><DD
 ><P
 >This parameter specifies the batch file (.bat) or 
@@ -9863,9 +10865,11 @@ NAME="LOGONSCRIPT"
 >The script must be a relative path to the [netlogon] 
                service.  If the [netlogon] service specifies a <A
 HREF="#PATH"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->path</VAR
+><I
+>path</I
+></TT
 ></A
 > of <TT
 CLASS="FILENAME"
@@ -9909,12 +10913,9 @@ CLASS="COMMAND"
 >This option is only useful if Samba is set up as a logon 
                server.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no logon script defined</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -9926,7 +10927,7 @@ CLASS="COMMAND"
 ><A
 NAME="LPPAUSECOMMAND"
 ></A
->&#62;lppause command (S)</DT
+>lppause command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -9938,21 +10939,29 @@ NAME="LPPAUSECOMMAND"
                of implementing this is by using job priorities, where jobs 
                having a too low priority won't be sent to the printer.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
-               is put in its place. A <VAR
+               is put in its place. A <TT
 CLASS="PARAMETER"
->%j</VAR
+><I
+>%j</I
+></TT
 > is replaced with 
-               the job number (an integer).  On HPUX (see <VAR
+               the job number (an integer).  On HPUX (see <TT
 CLASS="PARAMETER"
+><I
 >printing=hpux
-               </VAR
->), if the <VAR
+               </I
+></TT
+>), if the <TT
 CLASS="PARAMETER"
->-p%p</VAR
+><I
+>-p%p</I
+></TT
 > option is added 
                to the lpq command, the job will show up with the correct status, i.e. 
                if the job priority is lower than the set fence priority it will 
@@ -9964,21 +10973,25 @@ CLASS="PARAMETER"
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
 >Default: Currently no default value is given to 
-               this string, unless the value of the <VAR
+               this string, unless the value of the <TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 > 
-               parameter is <CODE
+               parameter is <TT
 CLASS="CONSTANT"
->SYSV</CODE
+>SYSV</TT
 >, in which case the default is :</P
 ><P
 ><B
@@ -9986,13 +10999,15 @@ CLASS="COMMAND"
 >lp -i %p-%j -H hold</B
 ></P
 ><P
->or if the value of the <VAR
+>or if the value of the <TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 > parameter 
-               is <CODE
+               is <TT
 CLASS="CONSTANT"
->SOFTQ</CODE
+>SOFTQ</TT
 >, then the default is:</P
 ><P
 ><B
@@ -10010,7 +11025,7 @@ CLASS="COMMAND"
 ><A
 NAME="LPQCACHETIME"
 ></A
->&#62;lpq cache time (G)</DT
+>lpq cache time (G)</DT
 ><DD
 ><P
 >This controls how long lpq info will be cached 
@@ -10052,10 +11067,12 @@ CLASS="COMMAND"
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -10073,7 +11090,7 @@ CLASS="COMMAND"
 ><A
 NAME="LPQCOMMAND"
 ></A
->&#62;lpq command (S)</DT
+>lpq command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -10090,9 +11107,11 @@ CLASS="COMMAND"
 >Currently nine styles of printer status information 
                are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ. 
                This covers most UNIX systems. You control which type is expected 
-               using the <VAR
+               using the <TT
 CLASS="PARAMETER"
->printing =</VAR
+><I
+>printing =</I
+></TT
 > option.</P
 ><P
 >Some clients (notably Windows for Workgroups) may not 
@@ -10101,47 +11120,54 @@ CLASS="PARAMETER"
                server reports on the first printer service connected to by the 
                client. This only happens if the connection number sent is invalid.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
                is put in its place. Otherwise it is placed at the end of the 
                command.</P
 ><P
 >Note that it is good practice to include the absolute path 
-               in the <VAR
+               in the <TT
 CLASS="PARAMETER"
->lpq command</VAR
-> as the <VAR
+><I
+>lpq command</I
+></TT
+> as the <TT
 CLASS="ENVAR"
 >$PATH
-               </VAR
+               </TT
 > may not be available to the server.  When compiled with
-               the CUPS libraries, no <VAR
+               the CUPS libraries, no <TT
 CLASS="PARAMETER"
->lpq command</VAR
+><I
+>lpq command</I
+></TT
 > is
                needed because smbd will make a library call to obtain the 
                print queue listing.</P
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
->depends on the setting of <VAR
+>depends on the setting of <TT
 CLASS="PARAMETER"
->              printing</VAR
+><I
+>              printing</I
+></TT
 ></I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -10153,7 +11179,7 @@ CLASS="COMMAND"
 ><A
 NAME="LPRESUMECOMMAND"
 ></A
->&#62;lpresume command (S)</DT
+>lpresume command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -10164,47 +11190,59 @@ NAME="LPRESUMECOMMAND"
                a printer name and job number to resume the print job. See 
                also the <A
 HREF="#LPPAUSECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >lppause command
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
-               is put in its place. A <VAR
+               is put in its place. A <TT
 CLASS="PARAMETER"
->%j</VAR
+><I
+>%j</I
+></TT
 > is replaced with 
                the job number (an integer).</P
 ><P
 >Note that it is good practice to include the absolute path 
-               in the <VAR
+               in the <TT
 CLASS="PARAMETER"
->lpresume command</VAR
+><I
+>lpresume command</I
+></TT
 > as the PATH may not 
                be available to the server.</P
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
 >Default: Currently no default value is given 
-               to this string, unless the value of the <VAR
+               to this string, unless the value of the <TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 > 
-               parameter is <CODE
+               parameter is <TT
 CLASS="CONSTANT"
->SYSV</CODE
+>SYSV</TT
 >, in which case the default is :</P
 ><P
 ><B
@@ -10212,13 +11250,15 @@ CLASS="COMMAND"
 >lp -i %p-%j -H resume</B
 ></P
 ><P
->or if the value of the <VAR
+>or if the value of the <TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 > parameter 
-               is <CODE
+               is <TT
 CLASS="CONSTANT"
->SOFTQ</CODE
+>SOFTQ</TT
 >, then the default is:</P
 ><P
 ><B
@@ -10236,7 +11276,7 @@ CLASS="COMMAND"
 ><A
 NAME="LPRMCOMMAND"
 ></A
->&#62;lprm command (S)</DT
+>lprm command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -10245,42 +11285,49 @@ NAME="LPRMCOMMAND"
 >This command should be a program or script which takes 
                a printer name and job number, and deletes the print job.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
-               is put in its place. A <VAR
+               is put in its place. A <TT
 CLASS="PARAMETER"
->%j</VAR
+><I
+>%j</I
+></TT
 > is replaced with 
                the job number (an integer).</P
 ><P
 >Note that it is good practice to include the absolute 
-               path in the <VAR
+               path in the <TT
 CLASS="PARAMETER"
->lprm command</VAR
+><I
+>lprm command</I
+></TT
 > as the PATH may not be 
                available to the server.</P
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
->depends on the setting of <VAR
+>depends on the setting of <TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></I
-></SPAN
 ></P
 ><P
 >Example 1: <B
@@ -10299,7 +11346,7 @@ CLASS="COMMAND"
 ><A
 NAME="MACHINEPASSWORDTIMEOUT"
 ></A
->&#62;machine password timeout (G)</DT
+>machine password timeout (G)</DT
 ><DD
 ><P
 >If a Samba server is a member of a Windows 
@@ -10320,12 +11367,14 @@ CLASS="FILENAME"
                will be changed, in seconds. The default is one week (expressed in 
                seconds), the same as a Windows NT Domain member server.</P
 ><P
->See also <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
+>See also <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbpasswd(8)
+               </B
+></A
 >, and the <A
 HREF="#SECURITYEQUALSDOMAIN"
 >              security = domain</A
@@ -10340,24 +11389,28 @@ CLASS="COMMAND"
 ><A
 NAME="MAGICOUTPUT"
 ></A
->&#62;magic output (S)</DT
+>magic output (S)</DT
 ><DD
 ><P
 >This parameter specifies the name of a file 
                which will contain output created by a magic script (see the 
                <A
 HREF="#MAGICSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->magic script</VAR
+><I
+>magic script</I
+></TT
 ></A
 >
                parameter below).</P
 ><P
->Warning: If two clients use the same <VAR
+>Warning: If two clients use the same <TT
 CLASS="PARAMETER"
+><I
 >magic script
-               </VAR
+               </I
+></TT
 > in the same directory the output file content
                is undefined.</P
 ><P
@@ -10376,7 +11429,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAGICSCRIPT"
 ></A
->&#62;magic script (S)</DT
+>magic script (S)</DT
 ><DD
 ><P
 >This parameter specifies the name of a file which, 
@@ -10391,45 +11444,35 @@ NAME="MAGICSCRIPT"
 >If the script generates output, output will be sent to 
                the file specified by the <A
 HREF="#MAGICOUTPUT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              magic output</VAR
+><I
+>              magic output</I
+></TT
 ></A
 > parameter (see above).</P
 ><P
 >Note that some shells are unable to interpret scripts 
                containing CR/LF instead of CR as 
                the end-of-line marker. Magic scripts must be executable 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >as is</I
-></SPAN
 > on the host, which for some hosts and 
                some shells will require filtering at the DOS end.</P
 ><P
->Magic scripts are <SPAN
-CLASS="emphasis"
-><I
+>Magic scripts are <I
 CLASS="EMPHASIS"
 >EXPERIMENTAL</I
-></SPAN
 > and 
-               should <SPAN
-CLASS="emphasis"
-><I
+               should <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > be relied upon.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >None. Magic scripts disabled.</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -10441,11 +11484,11 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLECASE"
 ></A
->&#62;mangle case (S)</DT
+>mangle case (S)</DT
 ><DD
 ><P
 >See the section on <A
-HREF="#AEN206"
+HREF="#AEN205"
 >              NAME MANGLING</A
 ></P
 ><P
@@ -10458,7 +11501,7 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLEDMAP"
 ></A
->&#62;mangled map (S)</DT
+>mangled map (S)</DT
 ><DD
 ><P
 >This is for those who want to directly map UNIX 
@@ -10496,12 +11539,9 @@ CLASS="FILENAME"
 > off the ends of filenames on some CDROMs (only visible 
                under some UNIXes). To do this use a map of (*;1 *;).</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no mangled map</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -10513,7 +11553,7 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLEDNAMES"
 ></A
->&#62;mangled names (S)</DT
+>mangled names (S)</DT
 ><DD
 ><P
 >This controls whether non-DOS names under UNIX 
@@ -10521,7 +11561,7 @@ NAME="MANGLEDNAMES"
                or whether non-DOS names should simply be ignored.</P
 ><P
 >See the section on <A
-HREF="#AEN206"
+HREF="#AEN205"
 >              NAME MANGLING</A
 > for details on how to control the mangling process.</P
 ><P
@@ -10548,9 +11588,11 @@ HREF="#AEN206"
 >Note that the character to use may be specified using 
                        the <A
 HREF="#MANGLINGCHAR"
-><VAR
+><TT
 CLASS="PARAMETER"
->mangling char</VAR
+><I
+>mangling char</I
+></TT
 >
                        </A
 > option, if you don't like '~'.</P
@@ -10596,7 +11638,7 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLINGMETHOD"
 ></A
->&#62;mangling method (G)</DT
+>mangling method (G)</DT
 ><DD
 ><P
 > controls the algorithm used for the generating
@@ -10622,7 +11664,7 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLEPREFIX"
 ></A
->&#62;mangle prefix (G)</DT
+>mangle prefix (G)</DT
 ><DD
 ><P
 > controls the number of prefix
@@ -10645,16 +11687,14 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLEDSTACK"
 ></A
->&#62;mangled stack (G)</DT
+>mangled stack (G)</DT
 ><DD
 ><P
 >This parameter controls the number of mangled names 
-               that should be cached in the Samba server <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               that should be cached in the Samba server <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              smbd(8)</A
 >.</P
 ><P
 >This stack is a list of recently mangled base names 
@@ -10684,18 +11724,15 @@ CLASS="COMMAND"
 ><A
 NAME="MANGLINGCHAR"
 ></A
->&#62;mangling char (S)</DT
+>mangling char (S)</DT
 ><DD
 ><P
 >This controls what character is used as 
-               the <SPAN
-CLASS="emphasis"
-><I
+               the <I
 CLASS="EMPHASIS"
 >magic</I
-></SPAN
 > character in <A
-HREF="#AEN206"
+HREF="#AEN205"
 >name mangling</A
 >. The default is a '~'
                but this may interfere with some software. Use this option to set 
@@ -10715,7 +11752,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAPARCHIVE"
 ></A
->&#62;map archive (S)</DT
+>map archive (S)</DT
 ><DD
 ><P
 >This controls whether the DOS archive attribute 
@@ -10725,16 +11762,20 @@ NAME="MAPARCHIVE"
                any file it touches from becoming executable under UNIX.  This can 
                be quite annoying for shared source code, documents, etc...</P
 ><P
->Note that this requires the <VAR
+>Note that this requires the <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 >
                parameter to be set such that owner execute bit is not masked out 
                (i.e. it must include 100). See the parameter <A
 HREF="#CREATEMASK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 ></A
 > for details.</P
 ><P
@@ -10747,22 +11788,26 @@ CLASS="COMMAND"
 ><A
 NAME="MAPHIDDEN"
 ></A
->&#62;map hidden (S)</DT
+>map hidden (S)</DT
 ><DD
 ><P
 >This controls whether DOS style hidden files 
                should be mapped to the UNIX world execute bit.</P
 ><P
->Note that this requires the <VAR
+>Note that this requires the <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 > 
                to be set such that the world execute bit is not masked out (i.e. 
                it must include 001). See the parameter <A
 HREF="#CREATEMASK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 ></A
 > for details.</P
 ><P
@@ -10775,22 +11820,26 @@ CLASS="COMMAND"
 ><A
 NAME="MAPSYSTEM"
 ></A
->&#62;map system (S)</DT
+>map system (S)</DT
 ><DD
 ><P
 >This controls whether DOS style system files 
                should be mapped to the UNIX group execute bit.</P
 ><P
->Note that this requires the <VAR
+>Note that this requires the <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 > 
                to be set such that the group execute bit is not masked out (i.e. 
                it must include 010). See the parameter <A
 HREF="#CREATEMASK"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->create mask</VAR
+><I
+>create mask</I
+></TT
 ></A
 > for details.</P
 ><P
@@ -10803,35 +11852,35 @@ CLASS="COMMAND"
 ><A
 NAME="MAPTOGUEST"
 ></A
->&#62;map to guest (G)</DT
+>map to guest (G)</DT
 ><DD
 ><P
 >This parameter is only useful in <A
 HREF="#SECURITY"
 >              security</A
-> modes other than <VAR
+> modes other than <TT
 CLASS="PARAMETER"
->security = share</VAR
+><I
+>security = share</I
+></TT
 > 
-               - i.e. <CODE
+               - i.e. <TT
 CLASS="CONSTANT"
->user</CODE
->, <CODE
+>user</TT
+>, <TT
 CLASS="CONSTANT"
->server</CODE
+>server</TT
 >, 
-               and <CODE
+               and <TT
 CLASS="CONSTANT"
->domain</CODE
+>domain</TT
 >.</P
 ><P
 >This parameter can take three different values, which tell
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > what to do with user 
                login requests that don't match a valid UNIX user in some way.</P
 ><P
@@ -10841,34 +11890,36 @@ CLASS="REFENTRYTITLE"
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->Never</CODE
+>Never</TT
 > - Means user login 
                        requests with an invalid password are rejected. This is the 
                        default.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->Bad User</CODE
+>Bad User</TT
 > - Means user
                        logins with an invalid password are rejected, unless the username 
                        does not exist, in which case it is treated as a guest login and 
                        mapped into the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->                      guest account</VAR
+><I
+>                      guest account</I
+></TT
 ></A
 >.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->Bad Password</CODE
+>Bad Password</TT
 > - Means user logins 
                        with an invalid password are treated as a guest login and mapped 
                        into the <A
@@ -10880,41 +11931,39 @@ HREF="#GUESTACCOUNT"
                        will not know the reason they cannot access files they think
                        they should - there will have been no message given to them
                        that they got their password wrong. Helpdesk services will
-                       <SPAN
-CLASS="emphasis"
-><I
+                       <I
 CLASS="EMPHASIS"
 >hate</I
-></SPAN
-> you if you set the <VAR
+> you if you set the <TT
 CLASS="PARAMETER"
+><I
 >map to 
-                       guest</VAR
+                       guest</I
+></TT
 > parameter this way :-).</P
 ></LI
 ></UL
 ><P
 >Note that this parameter is needed to set up "Guest" 
-               share services when using <VAR
+               share services when using <TT
 CLASS="PARAMETER"
->security</VAR
+><I
+>security</I
+></TT
 > modes other than 
                share. This is because in these modes the name of the resource being
-               requested is <SPAN
-CLASS="emphasis"
-><I
+               requested is <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > sent to the server until after 
                the server has successfully authenticated the client so the server 
                cannot make authentication decisions at the correct time (connection 
                to the share) for "Guest" shares.</P
 ><P
 >For people familiar with the older Samba releases, this 
-               parameter maps to the old compile-time setting of the <CODE
+               parameter maps to the old compile-time setting of the <TT
 CLASS="CONSTANT"
->              GUEST_SESSSETUP</CODE
+>              GUEST_SESSSETUP</TT
 > value in local.h.</P
 ><P
 >Default: <B
@@ -10931,14 +11980,16 @@ CLASS="COMMAND"
 ><A
 NAME="MAXCONNECTIONS"
 ></A
->&#62;max connections (S)</DT
+>max connections (S)</DT
 ><DD
 ><P
 >This option allows the number of simultaneous 
-               connections to a service to be limited. If <VAR
+               connections to a service to be limited. If <TT
 CLASS="PARAMETER"
+><I
 >max connections
-               </VAR
+               </I
+></TT
 > is greater than 0 then connections will be refused if 
                this number of connections to the service are already open. A value 
                of zero mean an unlimited number of connections may be made.</P
@@ -10946,9 +11997,11 @@ CLASS="PARAMETER"
 >Record lock files are used to implement this feature. The 
                lock files will be stored in the directory specified by the <A
 HREF="#LOCKDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->lock directory</VAR
+><I
+>lock directory</I
+></TT
 ></A
 > 
                option.</P
@@ -10967,7 +12020,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXDISKSIZE"
 ></A
->&#62;max disk size (G)</DT
+>max disk size (G)</DT
 ><DD
 ><P
 >This option allows you to put an upper limit 
@@ -10979,19 +12032,23 @@ NAME="MAXDISKSIZE"
                data you can put on the disk. In the above case you could still 
                store much more than 100 MB on the disk, but if a client ever asks 
                for the amount of free disk space or the total disk size then the 
-               result will be bounded by the amount specified in <VAR
+               result will be bounded by the amount specified in <TT
 CLASS="PARAMETER"
+><I
 >max 
-               disk size</VAR
+               disk size</I
+></TT
 >.</P
 ><P
 >This option is primarily useful to work around bugs 
                in some pieces of software that can't handle very large disks, 
                particularly disks over 1GB in size.</P
 ><P
->A <VAR
+>A <TT
 CLASS="PARAMETER"
->max disk size</VAR
+><I
+>max disk size</I
+></TT
 > of 0 means no limit.</P
 ><P
 >Default: <B
@@ -11008,7 +12065,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXLOGSIZE"
 ></A
->&#62;max log size (G)</DT
+>max log size (G)</DT
 ><DD
 ><P
 >This option (an integer in kilobytes) specifies 
@@ -11035,7 +12092,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXMUX"
 ></A
->&#62;max mux (G)</DT
+>max mux (G)</DT
 ><DD
 ><P
 >This option controls the maximum number of 
@@ -11051,16 +12108,14 @@ CLASS="COMMAND"
 ><A
 NAME="MAXOPENFILES"
 ></A
->&#62;max open files (G)</DT
+>max open files (G)</DT
 ><DD
 ><P
 >This parameter limits the maximum number of 
-               open files that one <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               open files that one <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > 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 
@@ -11079,24 +12134,27 @@ CLASS="COMMAND"
 ><A
 NAME="MAXPRINTJOBS"
 ></A
->&#62;max print jobs (S)</DT
+>max print jobs (S)</DT
 ><DD
 ><P
 >This parameter limits the maximum number of 
                jobs allowable in a Samba printer queue at any given moment.
-               If this number is exceeded, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               If this number is exceeded, <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>              smbd(8)</B
+></A
 > will remote "Out of Space" to the client.
                See all <A
 HREF="#TOTALPRINTJOBS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >total
-               print jobs</VAR
+               print jobs</I
+></TT
 ></A
 >.
                </P
@@ -11115,7 +12173,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXPROTOCOL"
 ></A
->&#62;max protocol (G)</DT
+>max protocol (G)</DT
 ><DD
 ><P
 >The value of the parameter (a string) is the highest 
@@ -11127,47 +12185,44 @@ NAME="MAXPROTOCOL"
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->CORE</CODE
+>CORE</TT
 >: Earliest version. No 
                        concept of user names.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->COREPLUS</CODE
+>COREPLUS</TT
 >: Slight improvements on 
                        CORE for efficiency.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->LANMAN1</CODE
->: First <SPAN
-CLASS="emphasis"
-><I
+>LANMAN1</TT
+>: First <I
 CLASS="EMPHASIS"
 >                      modern</I
-></SPAN
 > version of the protocol. Long filename
                        support.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->LANMAN2</CODE
+>LANMAN2</TT
 >: Updates to Lanman1 protocol.
                        </P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->NT1</CODE
+>NT1</TT
 >: Current up to date version of 
                        the protocol. Used by Windows NT. Known as CIFS.</P
 ></LI
@@ -11179,10 +12234,12 @@ CLASS="CONSTANT"
 ><P
 >See also <A
 HREF="#MINPROTOCOL"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >min
-               protocol</VAR
+               protocol</I
+></TT
 ></A
 ></P
 ><P
@@ -11200,7 +12257,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXSMBDPROCESSES"
 ></A
->&#62;max smbd processes (G)</DT
+>max smbd processes (G)</DT
 ><DD
 ><P
 >This parameter limits the maximum number of 
@@ -11216,12 +12273,10 @@ CLASS="COMMAND"
                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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               conditions, each user will have an <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > associated with him or her
                to handle connections to all shares from a given host.
                </P
@@ -11240,15 +12295,13 @@ CLASS="COMMAND"
 ><A
 NAME="MAXTTL"
 ></A
->&#62;max ttl (G)</DT
+>max ttl (G)</DT
 ><DD
 ><P
->This option tells <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This option tells <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
 >
                what the default 'time to live' of NetBIOS names should be (in seconds) 
                when <B
@@ -11267,20 +12320,21 @@ CLASS="COMMAND"
 ><A
 NAME="MAXWINSTTL"
 ></A
->&#62;max wins ttl (G)</DT
+>max wins ttl (G)</DT
 ><DD
 ><P
->This option tells <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This option tells <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)
+               </A
 > when acting as a WINS server (<A
 HREF="#WINSSUPPORT"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->wins support = yes</VAR
+><I
+>wins support = yes</I
+></TT
 ></A
 >) what the maximum
                'time to live' of NetBIOS names that <B
@@ -11292,10 +12346,12 @@ CLASS="COMMAND"
 ><P
 >See also the <A
 HREF="#MINWINSTTL"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >min 
-               wins ttl</VAR
+               wins ttl</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -11308,7 +12364,7 @@ CLASS="COMMAND"
 ><A
 NAME="MAXXMIT"
 ></A
->&#62;max xmit (G)</DT
+>max xmit (G)</DT
 ><DD
 ><P
 >This option controls the maximum packet size 
@@ -11331,7 +12387,7 @@ CLASS="COMMAND"
 ><A
 NAME="MESSAGECOMMAND"
 ></A
->&#62;message command (G)</DT
+>message command (G)</DT
 ><DD
 ><P
 >This specifies what command to run when the 
@@ -11353,25 +12409,26 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >xedit</B
 >, then 
-               removes it afterwards. <SPAN
-CLASS="emphasis"
-><I
+               removes it afterwards. <I
 CLASS="EMPHASIS"
 >NOTE THAT IT IS VERY IMPORTANT 
                THAT THIS COMMAND RETURN IMMEDIATELY</I
-></SPAN
 >. That's why I 
                have the '&#38;' on the end. If it doesn't return immediately then 
                your PCs may freeze when sending messages (they should recover 
                after 30 seconds, hopefully).</P
 ><P
 >All messages are delivered as the global guest user. 
-               The command takes the standard substitutions, although <VAR
+               The command takes the standard substitutions, although <TT
 CLASS="PARAMETER"
->              %u</VAR
-> won't work (<VAR
+><I
+>              %u</I
+></TT
+> won't work (<TT
 CLASS="PARAMETER"
->%U</VAR
+><I
+>%U</I
+></TT
 > may be better 
                in this case).</P
 ><P
@@ -11382,25 +12439,31 @@ CLASS="PARAMETER"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%s</VAR
+><I
+>%s</I
+></TT
 > = the filename containing 
                        the message.</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%t</VAR
+><I
+>%t</I
+></TT
 > = the destination that 
                        the message was sent to (probably the server name).</P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%f</VAR
+><I
+>%f</I
+></TT
 > = who the message 
                        is from.</P
 ></LI
@@ -11431,12 +12494,9 @@ CLASS="COMMAND"
 >message command = rm %s</B
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no message command</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -11449,14 +12509,16 @@ CLASS="COMMAND"
 ><A
 NAME="MINPASSWDLENGTH"
 ></A
->&#62;min passwd length (G)</DT
+>min passwd length (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#MINPASSWORDLENGTH"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->min password length</VAR
+><I
+>min password length</I
+></TT
 ></A
 >.</P
 ></DD
@@ -11464,7 +12526,7 @@ CLASS="PARAMETER"
 ><A
 NAME="MINPASSWORDLENGTH"
 ></A
->&#62;min password length (G)</DT
+>min password length (G)</DT
 ><DD
 ><P
 >This option sets the minimum length in characters 
@@ -11476,22 +12538,28 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#UNIXPASSWORDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >unix 
-               password sync</VAR
+               password sync</I
+></TT
 ></A
 >, <A
 HREF="#PASSWDPROGRAM"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 ></A
 > and <A
 HREF="#PASSWDCHATDEBUG"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd chat debug</VAR
+><I
+>passwd chat debug</I
+></TT
 >
                </A
 >.</P
@@ -11505,7 +12573,7 @@ CLASS="COMMAND"
 ><A
 NAME="MINPRINTSPACE"
 ></A
->&#62;min print space (S)</DT
+>min print space (S)</DT
 ><DD
 ><P
 >This sets the minimum amount of free disk 
@@ -11515,10 +12583,12 @@ NAME="MINPRINTSPACE"
 ><P
 >See also the <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -11536,16 +12606,18 @@ CLASS="COMMAND"
 ><A
 NAME="MINPROTOCOL"
 ></A
->&#62;min protocol (G)</DT
+>min protocol (G)</DT
 ><DD
 ><P
 >The value of the parameter (a string) is the 
                lowest SMB protocol dialect than Samba will support.  Please refer
                to the <A
 HREF="#MAXPROTOCOL"
-><VAR
+><TT
 CLASS="PARAMETER"
->max protocol</VAR
+><I
+>max protocol</I
+></TT
 ></A
 >
                parameter for a list of valid protocol names and a brief description
@@ -11559,10 +12631,12 @@ CLASS="FILENAME"
 >If you are viewing this parameter as a security measure, you should
                also refer to the <A
 HREF="#LANMANAUTH"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >lanman 
-               auth</VAR
+               auth</I
+></TT
 ></A
 > parameter.  Otherwise, you should never need 
                to change this parameter.</P
@@ -11582,21 +12656,21 @@ CLASS="COMMAND"
 ><A
 NAME="MINWINSTTL"
 ></A
->&#62;min wins ttl (G)</DT
+>min wins ttl (G)</DT
 ><DD
 ><P
->This option tells <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This option tells <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
 >
                when acting as a WINS server (<A
 HREF="#WINSSUPPORT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              wins support = yes</VAR
+><I
+>              wins support = yes</I
+></TT
 ></A
 >) what the minimum 'time to live' 
                of NetBIOS names that <B
@@ -11615,7 +12689,7 @@ CLASS="COMMAND"
 ><A
 NAME="MSDFSPROXY"
 ></A
->&#62;msdfs proxy (S)</DT
+>msdfs proxy (S)</DT
 ><DD
 ><P
 >This parameter indicates that the share is a
@@ -11627,62 +12701,68 @@ NAME="MSDFSPROXY"
 >Only Dfs roots can act as proxy shares. Take a look at the
                <A
 HREF="#MSDFSROOT"
-><VAR
+><TT
 CLASS="PARAMETER"
->msdfs root</VAR
+><I
+>msdfs root</I
+></TT
 ></A
 >
                and
                <A
 HREF="#HOSTMSDFS"
-><VAR
+><TT
 CLASS="PARAMETER"
->host msdfs</VAR
+><I
+>host msdfs</I
+></TT
 ></A
 >
                options to find out how to set up a Dfs root share.</P
 ><P
 >Example: <B
 CLASS="COMMAND"
->msdfs proxy = \\\\otherserver\\someshare</B
+>msdfs proxy = \otherserver\someshare</B
 ></P
 ></DD
 ><DT
 ><A
 NAME="MSDFSROOT"
 ></A
->&#62;msdfs root (S)</DT
+>msdfs root (S)</DT
 ><DD
 ><P
 >This boolean parameter is only available if 
                Samba is configured  and  compiled with the <B
 CLASS="COMMAND"
 >              --with-msdfs</B
-> option.  If set to <CODE
+> option.  If set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, 
                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 <TT
 CLASS="FILENAME"
->msdfs:serverA\\shareA,serverB\\shareB</TT
+>msdfs:serverA\shareA,serverB\shareB</TT
 >
                and so on.  For more information on setting up a Dfs tree 
                on Samba,  refer to <A
-HREF="msdfs.html"
+HREF="msdfs_setup.html"
 TARGET="_top"
->"Hosting a Microsoft 
-               Distributed File System tree on Samba"</A
-> document.</P
+>msdfs_setup.html
+               </A
+>.</P
 ><P
 >See also <A
 HREF="#HOSTMSDFS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >host msdfs
-               </VAR
+               </I
+></TT
 ></A
 ></P
 ><P
@@ -11695,7 +12775,7 @@ CLASS="COMMAND"
 ><A
 NAME="NAMECACHETIMEOUT"
 ></A
->&#62;name cache timeout (G)</DT
+>name cache timeout (G)</DT
 ><DD
 ><P
 >Specifies the number of seconds it takes before 
@@ -11717,7 +12797,7 @@ CLASS="COMMAND"
 ><A
 NAME="NAMERESOLVEORDER"
 ></A
->&#62;name resolve order (G)</DT
+>name resolve order (G)</DT
 ><DD
 ><P
 >This option is used by the programs in the Samba 
@@ -11732,9 +12812,9 @@ NAME="NAMERESOLVEORDER"
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->lmhosts</CODE
+>lmhosts</TT
 > : 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 <A
@@ -11746,9 +12826,9 @@ TARGET="_top"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->host</CODE
+>host</TT
 > : Do a standard host 
                        name to IP address resolution, using the system <TT
 CLASS="FILENAME"
@@ -11766,30 +12846,34 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->wins</CODE
+>wins</TT
 > : Query a name with 
                        the IP address listed in the <A
 HREF="#WINSSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->                      wins server</VAR
+><I
+>                      wins server</I
+></TT
 ></A
 > parameter.  If no WINS server has
                        been specified this method will be ignored.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->bcast</CODE
+>bcast</TT
 > : Do a broadcast on 
                        each of the known local interfaces listed in the <A
 HREF="#INTERFACES"
-><VAR
+><TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 ></A
 > 
                        parameter. This is the least reliable of the name resolution 
@@ -11818,7 +12902,7 @@ CLASS="COMMAND"
 ><A
 NAME="NETBIOSALIASES"
 ></A
->&#62;netbios aliases (G)</DT
+>netbios aliases (G)</DT
 ><DD
 ><P
 >This is a list of NetBIOS names that <A
@@ -11835,19 +12919,18 @@ TARGET="_top"
 ><P
 >See also <A
 HREF="#NETBIOSNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >netbios 
-               name</VAR
+               name</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >empty string (no additional names)</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -11859,7 +12942,7 @@ CLASS="COMMAND"
 ><A
 NAME="NETBIOSNAME"
 ></A
->&#62;netbios name (G)</DT
+>netbios name (G)</DT
 ><DD
 ><P
 >This sets the NetBIOS name by which a Samba 
@@ -11871,19 +12954,18 @@ NAME="NETBIOSNAME"
 ><P
 >See also <A
 HREF="#NETBIOSALIASES"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >netbios 
-               aliases</VAR
+               aliases</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >machine DNS name</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -11895,7 +12977,7 @@ CLASS="COMMAND"
 ><A
 NAME="NETBIOSSCOPE"
 ></A
->&#62;netbios scope (G)</DT
+>netbios scope (G)</DT
 ><DD
 ><P
 >This sets the NetBIOS scope that Samba will 
@@ -11906,7 +12988,7 @@ NAME="NETBIOSSCOPE"
 ><A
 NAME="NISHOMEDIR"
 ></A
->&#62;nis homedir (G)</DT
+>nis homedir (G)</DT
 ><DD
 ><P
 >Get the home share server from a NIS map. For 
@@ -11928,9 +13010,11 @@ NAME="NISHOMEDIR"
                server. When Samba is returning the home share to the client, it 
                will consult the NIS map specified in <A
 HREF="#HOMEDIRMAP"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->homedir map</VAR
+><I
+>homedir map</I
+></TT
 ></A
 > and return the server 
                listed there.</P
@@ -11948,7 +13032,7 @@ CLASS="COMMAND"
 ><A
 NAME="NONUNIXACCOUNTRANGE"
 ></A
->&#62;non unix account range (G)</DT
+>non unix account range (G)</DT
 ><DD
 ><P
 >The non unix account range parameter specifies 
@@ -11979,7 +13063,7 @@ CLASS="COMMAND"
 ><A
 NAME="NTACLSUPPORT"
 ></A
->&#62;nt acl support (S)</DT
+>nt acl support (S)</DT
 ><DD
 ><P
 >This boolean parameter controls whether 
@@ -12001,20 +13085,18 @@ CLASS="COMMAND"
 ><A
 NAME="NTPIPESUPPORT"
 ></A
->&#62;nt pipe support (G)</DT
+>nt pipe support (G)</DT
 ><DD
 ><P
 >This boolean parameter controls whether 
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > will allow Windows NT 
-               clients to connect to the NT SMB specific <CODE
+               clients to connect to the NT SMB specific <TT
 CLASS="CONSTANT"
->IPC$</CODE
+>IPC$</TT
 > 
                pipes. This is a developer debugging option and can be left
                alone.</P
@@ -12028,7 +13110,7 @@ CLASS="COMMAND"
 ><A
 NAME="NTSTATUSSUPPORT"
 ></A
->&#62;nt status support (G)</DT
+>nt status support (G)</DT
 ><DD
 ><P
 >This boolean parameter controls whether <A
@@ -12038,9 +13120,9 @@ TARGET="_top"
 > will negotiate NT specific status
                support with Windows NT/2k/XP clients. This is a developer
                debugging option and should be left alone.
-               If this option is set to <CODE
+               If this option is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > then Samba offers
                exactly the same DOS error codes that versions prior to Samba 2.2.3
                reported.</P
@@ -12056,18 +13138,16 @@ CLASS="COMMAND"
 ><A
 NAME="NULLPASSWORDS"
 ></A
->&#62;null passwords (G)</DT
+>null passwords (G)</DT
 ><DD
 ><P
 >Allow or disallow client access to accounts 
                that have null passwords. </P
 ><P
->See also <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
+>See also <A
+HREF="smbpasswd.5.html"
+TARGET="_top"
+>smbpasswd (5)</A
 >.</P
 ><P
 >Default: <B
@@ -12079,7 +13159,7 @@ CLASS="COMMAND"
 ><A
 NAME="OBEYPAMRESTRICTIONS"
 ></A
->&#62;obey pam restrictions (G)</DT
+>obey pam restrictions (G)</DT
 ><DD
 ><P
 >When Samba 2.2 is configured to enable PAM support
@@ -12089,9 +13169,11 @@ NAME="OBEYPAMRESTRICTIONS"
                and to ignore any account or session management.  Note that Samba
                always ignores PAM for authentication in the case of <A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypt passwords = yes</VAR
+><I
+>encrypt passwords = yes</I
+></TT
 >
                </A
 >.  The reason is that PAM modules cannot support the challenge/response
@@ -12107,20 +13189,24 @@ CLASS="COMMAND"
 ><A
 NAME="ONLYUSER"
 ></A
->&#62;only user (S)</DT
+>only user (S)</DT
 ><DD
 ><P
 >This is a boolean option that controls whether 
-               connections with usernames not in the <VAR
+               connections with usernames not in the <TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 > 
                list will be allowed. By default this option is disabled so that a 
                client can supply a username to be used by the server.  Enabling
                this parameter will force the server to only use the login 
-               names from the <VAR
+               names from the <TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 > list and is only really
                useful in <A
 HREF="#SECURITYEQUALSSHARE"
@@ -12134,18 +13220,22 @@ HREF="#SECURITYEQUALSSHARE"
 CLASS="COMMAND"
 >user =
                %S</B
-> which means your <VAR
+> which means your <TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 > list
                will be just the service name, which for home directories is the 
                name of the user.</P
 ><P
 >See also the <A
 HREF="#USER"
-><VAR
+><TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 >
                </A
 > parameter.</P
@@ -12159,14 +13249,16 @@ CLASS="COMMAND"
 ><A
 NAME="ONLYGUEST"
 ></A
->&#62;only guest (S)</DT
+>only guest (S)</DT
 ><DD
 ><P
 >A synonym for <A
 HREF="#GUESTONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              guest only</VAR
+><I
+>              guest only</I
+></TT
 ></A
 >.</P
 ></DD
@@ -12174,7 +13266,7 @@ CLASS="PARAMETER"
 ><A
 NAME="OPLOCKBREAKWAITTIME"
 ></A
->&#62;oplock break wait time (G)</DT
+>oplock break wait time (G)</DT
 ><DD
 ><P
 >This is a tuning parameter added due to bugs in 
@@ -12185,13 +13277,10 @@ NAME="OPLOCKBREAKWAITTIME"
                is the amount of time Samba will wait before sending an oplock break 
                request to such (broken) clients.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
                AND UNDERSTOOD THE SAMBA OPLOCK CODE</I
-></SPAN
 >.</P
 ><P
 >Default: <B
@@ -12203,15 +13292,12 @@ CLASS="COMMAND"
 ><A
 NAME="OPLOCKCONTENTIONLIMIT"
 ></A
->&#62;oplock contention limit (S)</DT
+>oplock contention limit (S)</DT
 ><DD
 ><P
->This is a <SPAN
-CLASS="emphasis"
-><I
+>This is a <I
 CLASS="EMPHASIS"
 >very</I
-></SPAN
 > advanced 
                <A
 HREF="smbd.8.html"
@@ -12221,27 +13307,23 @@ TARGET="_top"
                improve the efficiency of the granting of oplocks under multiple 
                client contention for the same file.</P
 ><P
->In brief it specifies a number, which causes <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->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 
+>In brief it specifies a number, which causes <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
+> 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 <B
 CLASS="COMMAND"
 >smbd</B
 > to behave in a similar 
                way to Windows NT.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
                AND UNDERSTOOD THE SAMBA OPLOCK CODE</I
-></SPAN
 >.</P
 ><P
 >Default: <B
@@ -12253,7 +13335,7 @@ CLASS="COMMAND"
 ><A
 NAME="OPLOCKS"
 ></A
->&#62;oplocks (S)</DT
+>oplocks (S)</DT
 ><DD
 ><P
 >This boolean option tells <B
@@ -12278,31 +13360,39 @@ CLASS="FILENAME"
 >Oplocks may be selectively turned off on certain files with a 
                share. See the <A
 HREF="#VETOOPLOCKFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->              veto oplock files</VAR
+><I
+>              veto oplock files</I
+></TT
 ></A
 > parameter. On some systems 
                oplocks are recognized by the underlying operating system. This 
                allows data synchronization between all access to oplocked files, 
                whether it be via Samba or NFS or a local UNIX process. See the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->kernel oplocks</VAR
+><I
+>kernel oplocks</I
+></TT
 > parameter for details.</P
 ><P
 >See also the <A
 HREF="#KERNELOPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >kernel 
-               oplocks</VAR
+               oplocks</I
+></TT
 ></A
 > and <A
 HREF="#LEVEL2OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->              level2 oplocks</VAR
+><I
+>              level2 oplocks</I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -12315,16 +13405,13 @@ CLASS="COMMAND"
 ><A
 NAME="NTLMAUTH"
 ></A
->&#62;ntlm auth (G)</DT
+>ntlm auth (G)</DT
 ><DD
 ><P
->This parameter determines 
-               whether or not <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This parameter determines whether or not <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > will
                attempt to authenticate users using the NTLM password hash.
                If disabled, only the lanman password hashes will be used. 
@@ -12333,8 +13420,7 @@ CLASS="REFENTRYTITLE"
 >Please note that at least this option or <B
 CLASS="COMMAND"
 >lanman auth</B
-> should 
-               be enabled in order to be able to log in.
+> should be enabled in order to be able to log in.
                </P
 ><P
 >Default : <B
@@ -12346,29 +13432,26 @@ CLASS="COMMAND"
 ><A
 NAME="OSLEVEL"
 ></A
->&#62;os level (G)</DT
+>os level (G)</DT
 ><DD
 ><P
 >This integer value controls what level Samba 
                advertises itself as for browse elections. The value of this 
-               parameter determines whether <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+               parameter determines whether <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
 > 
-               has a chance of becoming a local master browser for the <VAR
+               has a chance of becoming a local master browser for the <TT
 CLASS="PARAMETER"
->              WORKGROUP</VAR
+><I
+>              WORKGROUP</I
+></TT
 > in the local broadcast area.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note :</I
-></SPAN
 >By default, Samba will win 
                a local master browsing election over all Microsoft operating 
                systems except a Windows NT 4.0/2000 Domain Controller.  This 
@@ -12397,7 +13480,7 @@ CLASS="COMMAND"
 ><A
 NAME="OS2DRIVERMAP"
 ></A
->&#62;os2 driver map (G)</DT
+>os2 driver map (G)</DT
 ><DD
 ><P
 >The parameter is used to define the absolute
@@ -12416,12 +13499,17 @@ CLASS="COMMAND"
 ><P
 >The need for the file is due to the printer driver namespace 
                problem described in the <A
-HREF="printing.html"
+HREF="printer_driver2.html"
 TARGET="_top"
 >Samba 
                Printing HOWTO</A
 >.  For more details on OS/2 clients, please 
-               refer to the OS2-Client-HOWTO containing in the Samba documentation.</P
+               refer to the <A
+HREF="OS2-Client-HOWTO.html"
+TARGET="_top"
+>OS2-Client-HOWTO
+               </A
+> containing in the Samba documentation.</P
 ><P
 >Default: <B
 CLASS="COMMAND"
@@ -12433,7 +13521,7 @@ CLASS="COMMAND"
 ><A
 NAME="PAMPASSWORDCHANGE"
 ></A
->&#62;pam password change (G)</DT
+>pam password change (G)</DT
 ><DD
 ><P
 >With the addition of better PAM support in Samba 2.2, 
@@ -12442,17 +13530,21 @@ NAME="PAMPASSWORDCHANGE"
                changes when requested by an SMB client instead of the program listed in 
                 <A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 ></A
 >. 
                 It should be possible to enable this without changing your 
                 <A
 HREF="#PASSWDCHAT"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd chat</VAR
+><I
+>passwd chat</I
+></TT
 ></A
 >
                 parameter for most setups.
@@ -12467,24 +13559,21 @@ CLASS="COMMAND"
 ><A
 NAME="PANICACTION"
 ></A
->&#62;panic action (G)</DT
+>panic action (G)</DT
 ><DD
 ><P
 >This is a Samba developer option that allows a 
-               system command to be called when either <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> or <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->      crashes. This is usually used to 
-               draw attention to the fact that a problem occurred.</P
+               system command to be called when either <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              smbd(8)</A
+> or <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
+> 
+               crashes. This is usually used to draw attention to the fact that 
+               a problem occurred.</P
 ><P
 >Default: <B
 CLASS="COMMAND"
@@ -12500,19 +13589,15 @@ CLASS="COMMAND"
 ><A
 NAME="PARANOIDSERVERSECURITY"
 ></A
->&#62;paranoid server security (G)</DT
+>paranoid server security (G)</DT
 ><DD
 ><P
 >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.
                </P
 ><P
->Disabling this option prevents Samba from making
-               this check, which involves deliberatly attempting a
-               bad logon to the remote server.</P
-><P
 >Default: <B
 CLASS="COMMAND"
 >paranoid server security = yes</B
@@ -12522,7 +13607,7 @@ CLASS="COMMAND"
 ><A
 NAME="PASSDBBACKEND"
 ></A
->&#62;passdb backend (G)</DT
+>passdb backend (G)</DT
 ><DD
 ><P
 >This option allows the administrator to chose which backends to retrieve and store passwords with. This allows (for example) both 
@@ -12559,9 +13644,11 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#NONUNIXACCOUNTRANGE"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
->non unix account range</VAR
+><I
+>non unix account range</I
+></TT
 ></A
 ></P
 ></LI
@@ -12574,9 +13661,11 @@ CLASS="COMMAND"
                         backend.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
                         in the <A
 HREF="#PRIVATEDIR"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
->private dir</VAR
+><I
+>private dir</I
+></TT
 ></A
 > directory.</P
 ></LI
@@ -12589,17 +13678,21 @@ CLASS="COMMAND"
                         backend, with non unix account support.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
                         in the <A
 HREF="#PRIVATEDIR"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
->private dir</VAR
+><I
+>private dir</I
+></TT
 ></A
 > directory.</P
 ><P
 >See also <A
 HREF="#NONUNIXACCOUNTRANGE"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
->non unix account range</VAR
+><I
+>non unix account range</I
+></TT
 ></A
 ></P
 ></LI
@@ -12632,10 +13725,12 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#NONUNIXACCOUNTRANGE"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
+><I
 >non unix account
-                        range</VAR
+                        range</I
+></TT
 ></A
 ></P
 ><P
@@ -12643,14 +13738,18 @@ CLASS="PARAMETER"
                         possible.  This may be done using either
                         Start-TLS (see <A
 HREF="#LDAPSSL"
->                        <VAR
+>                        <TT
 CLASS="PARAMETER"
->ldap ssl</VAR
+><I
+>ldap ssl</I
+></TT
 ></A
 >) or by
-                        specifying <VAR
+                        specifying <TT
 CLASS="PARAMETER"
->ldaps://</VAR
+><I
+>ldaps://</I
+></TT
 > in
                         the URL argument.  
                         </P
@@ -12679,7 +13778,7 @@ CLASS="COMMAND"
 ><B
 CLASS="COMMAND"
 >unixsam</B
-> - Allows samba to map all (other) available unix users</P
+> - (EXPERIMENTAL) Allows samba to map all (other) available unix users</P
 ><P
 >This backend uses the standard unix database for retrieving users. Users included 
                         in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
@@ -12698,17 +13797,17 @@ CLASS="COMMAND"
 ><P
 >Default: <B
 CLASS="COMMAND"
->passdb backend = smbpasswd unixsam</B
+>passdb backend = smbpasswd guest</B
 ></P
 ><P
 >Example: <B
 CLASS="COMMAND"
->passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam</B
+>passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd </B
 ></P
 ><P
 >Example: <B
 CLASS="COMMAND"
->passdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam</B
+>passdb backend = ldapsam_nua:ldaps://ldap.example.com </B
 ></P
 ><P
 >Example: <B
@@ -12720,36 +13819,31 @@ CLASS="COMMAND"
 ><A
 NAME="PASSWDCHAT"
 ></A
->&#62;passwd chat (G)</DT
+>passwd chat (G)</DT
 ><DD
 ><P
->This string controls the <SPAN
-CLASS="emphasis"
-><I
+>This string controls the <I
 CLASS="EMPHASIS"
 >"chat"</I
-></SPAN
 > 
-               conversation that takes places between <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               conversation that takes places between <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > and the local password changing
                program to change the user's password. The string describes a 
-               sequence of response-receive pairs that <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               sequence of response-receive pairs that <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              smbd(8)</A
 > uses to determine what to send to the 
                <A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 >
                </A
 > and what to expect back. If the expected output is not 
@@ -12761,21 +13855,20 @@ CLASS="PARAMETER"
 ><P
 >Note that this parameter only is only used if the <A
 HREF="#UNIXPASSWORDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >unix 
-               password sync</VAR
+               password sync</I
+></TT
 ></A
-> parameter is set to <CODE
+> parameter is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >. This 
-               sequence is then called <SPAN
-CLASS="emphasis"
-><I
+               sequence is then called <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
 > when the SMB password 
                in the smbpasswd file is being changed, without access to the old 
                password cleartext. This means that root must be able to reset the user's password
@@ -12787,23 +13880,25 @@ HREF="#PASSWDPROGRAM"
                executed on the NIS master.
                </P
 ><P
->The string can contain the macro <VAR
+>The string can contain the macro <TT
 CLASS="PARAMETER"
->%n</VAR
+><I
+>%n</I
+></TT
 > which is substituted 
                for the new password.  The chat sequence can also contain the standard 
-               macros <CODE
+               macros <TT
 CLASS="CONSTANT"
->\\n</CODE
->, <CODE
+>\n</TT
+>, <TT
 CLASS="CONSTANT"
->\\r</CODE
->, <CODE
+>\r</TT
+>, <TT
 CLASS="CONSTANT"
->              \\t</CODE
-> and <CODE
+>              \t</TT
+> and <TT
 CLASS="CONSTANT"
->\\s</CODE
+>\s</TT
 > to give line-feed, 
                carriage-return, tab and space.  The chat sequence string can also contain 
                a '*' which matches any sequence of characters.
@@ -12816,14 +13911,16 @@ CLASS="CONSTANT"
 ><P
 >If the <A
 HREF="#PAMPASSWORDCHANGE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >pam
-               password change</VAR
+               password change</I
+></TT
 ></A
-> parameter is set to <CODE
+> parameter is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, the chat pairs
                 may be matched in any order, and success is determined by the PAM result, 
                 not any particular output. The \n macro is ignored for PAM conversions.
@@ -12831,41 +13928,49 @@ CLASS="CONSTANT"
 ><P
 >See also <A
 HREF="#UNIXPASSWORDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >unix password 
-               sync</VAR
+               sync</I
+></TT
 ></A
 >, <A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
->              passwd program</VAR
+><I
+>              passwd program</I
+></TT
 ></A
 > ,<A
 HREF="#PASSWDCHATDEBUG"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->passwd chat debug</VAR
+><I
+>passwd chat debug</I
+></TT
 ></A
 > and <A
 HREF="#PAMPASSWORDCHANGE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->pam password change</VAR
+><I
+>pam password change</I
+></TT
 ></A
 >.</P
 ><P
 >Default: <B
 CLASS="COMMAND"
->passwd chat = *new*password* %n\\
-               *new*password* %n\\n *changed*</B
+>passwd chat = *new*password* %n\n 
+               *new*password* %n\n *changed*</B
 ></P
 ><P
 >Example: <B
 CLASS="COMMAND"
->passwd chat = "*Enter OLD password*" %o\\
-               "*Enter NEW password*" %n\\n "*Reenter NEW password*" %n\\n "*Password 
+>passwd chat = "*Enter OLD password*" %o\n 
+               "*Enter NEW password*" %n\n "*Reenter NEW password*" %n\n "*Password 
                changed*"</B
 ></P
 ></DD
@@ -12873,30 +13978,27 @@ CLASS="COMMAND"
 ><A
 NAME="PASSWDCHATDEBUG"
 ></A
->&#62;passwd chat debug (G)</DT
+>passwd chat debug (G)</DT
 ><DD
 ><P
 >This boolean specifies if the passwd chat script 
-               parameter is run in <SPAN
-CLASS="emphasis"
-><I
+               parameter is run in <I
 CLASS="EMPHASIS"
 >debug</I
-></SPAN
 > mode. In this mode the 
                strings passed to and received from the passwd chat are printed 
-               in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               in the <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > log with a 
                <A
 HREF="#DEBUGLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->debug level</VAR
+><I
+>debug level</I
+></TT
 ></A
 > 
                of 100. This is a dangerous option as it will allow plaintext passwords 
@@ -12904,43 +14006,55 @@ CLASS="PARAMETER"
 CLASS="COMMAND"
 >smbd</B
 > log. It is available to help 
-               Samba admins debug their <VAR
+               Samba admins debug their <TT
 CLASS="PARAMETER"
->passwd chat</VAR
+><I
+>passwd chat</I
+></TT
 > scripts 
-               when calling the <VAR
+               when calling the <TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 > and should 
                be turned off after this has been done. This option has no effect if the 
                 <A
 HREF="#PAMPASSWORDCHANGE"
-><VAR
+><TT
 CLASS="PARAMETER"
->pam password change</VAR
+><I
+>pam password change</I
+></TT
 ></A
 >
                 paramter is set. This parameter is off by default.</P
 ><P
 >See also <A
 HREF="#PASSWDCHAT"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd chat</VAR
+><I
+>passwd chat</I
+></TT
 >
                </A
 >, <A
 HREF="#PAMPASSWORDCHANGE"
-><VAR
+><TT
 CLASS="PARAMETER"
->pam password change</VAR
+><I
+>pam password change</I
+></TT
 >
                 </A
 >, <A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
->passwd program</VAR
+><I
+>passwd program</I
+></TT
 >
                </A
 >.</P
@@ -12954,49 +14068,44 @@ CLASS="COMMAND"
 ><A
 NAME="PASSWDPROGRAM"
 ></A
->&#62;passwd program (G)</DT
+>passwd program (G)</DT
 ><DD
 ><P
 >The name of a program that can be used to set 
-               UNIX user passwords.  Any occurrences of <VAR
+               UNIX user passwords.  Any occurrences of <TT
 CLASS="PARAMETER"
->%u</VAR
+><I
+>%u</I
+></TT
 > 
                will be replaced with the user name. The user name is checked for 
                existence before calling the password changing program.</P
 ><P
->Also note that many passwd programs insist in <SPAN
-CLASS="emphasis"
-><I
+>Also note that many passwd programs insist in <I
 CLASS="EMPHASIS"
 >reasonable
                </I
-></SPAN
 > passwords, such as a minimum length, or the inclusion 
                of mixed case chars and digits. This can pose a problem as some clients 
                (such as Windows for Workgroups) uppercase the password before sending 
                it.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
-> that if the <VAR
+> that if the <TT
 CLASS="PARAMETER"
+><I
 >unix 
-               password sync</VAR
-> parameter is set to <CODE
+               password sync</I
+></TT
+> parameter is set to <TT
 CLASS="CONSTANT"
 >yes
-               </CODE
-> then this program is called <SPAN
-CLASS="emphasis"
-><I
+               </TT
+> then this program is called <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
 > 
                before the SMB password in the <A
 HREF="smbpasswd.5.html"
@@ -13010,39 +14119,39 @@ CLASS="COMMAND"
 > will fail to change the SMB password also 
                (this is by design).</P
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->unix password sync</VAR
-> parameter 
-               is set this parameter <SPAN
-CLASS="emphasis"
 ><I
+>unix password sync</I
+></TT
+> parameter 
+               is set this parameter <I
 CLASS="EMPHASIS"
 >MUST USE ABSOLUTE PATHS</I
-></SPAN
 > 
-               for <SPAN
-CLASS="emphasis"
-><I
+               for <I
 CLASS="EMPHASIS"
 >ALL</I
-></SPAN
 > programs called, and must be examined 
-               for security implications. Note that by default <VAR
+               for security implications. Note that by default <TT
 CLASS="PARAMETER"
+><I
 >unix 
-               password sync</VAR
-> is set to <CODE
+               password sync</I
+></TT
+> is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >.</P
 ><P
 >See also <A
 HREF="#UNIXPASSWORDSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >unix 
-               password sync</VAR
+               password sync</I
+></TT
 ></A
 >.</P
 ><P
@@ -13061,7 +14170,7 @@ CLASS="COMMAND"
 ><A
 NAME="PASSWORDLEVEL"
 ></A
->&#62;password level (G)</DT
+>password level (G)</DT
 ><DD
 ><P
 >Some client/server combinations have difficulty 
@@ -13076,17 +14185,21 @@ NAME="PASSWORDLEVEL"
 >This parameter defines the maximum number of characters 
                that may be upper case in passwords.</P
 ><P
->For example, say the password given was "FRED". If <VAR
+>For example, say the password given was "FRED". If <TT
 CLASS="PARAMETER"
->              password level</VAR
+><I
+>              password level</I
+></TT
 > is set to 1, the following combinations 
                would be tried if "FRED" failed:</P
 ><P
 >"Fred", "fred", "fRed", "frEd","freD"</P
 ><P
->If <VAR
+>If <TT
 CLASS="PARAMETER"
->password level</VAR
+><I
+>password level</I
+></TT
 > was set to 2, 
                the following combinations would also be tried: </P
 ><P
@@ -13117,7 +14230,7 @@ CLASS="COMMAND"
 ><A
 NAME="PASSWORDSERVER"
 ></A
->&#62;password server (G)</DT
+>password server (G)</DT
 ><DD
 ><P
 >By specifying the name of another SMB server (such 
@@ -13143,33 +14256,29 @@ CLASS="FILENAME"
 >The name of the password server is looked up using the 
                parameter <A
 HREF="#NAMERESOLVEORDER"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >name 
-               resolve order</VAR
+               resolve order</I
+></TT
 ></A
 > and so may resolved
                by any method and order described in that parameter.</P
 ><P
->The password server much be a machine capable of using 
+>The password server must be a machine capable of using 
                the "LM1.2X002" or the "NT LM 0.12" protocol, and it must be in 
                user level security mode.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >NOTE:</I
-></SPAN
 > Using a password server 
                means your UNIX box (running Samba) is only as secure as your 
-               password server. <SPAN
-CLASS="emphasis"
-><I
+               password server. <I
 CLASS="EMPHASIS"
 >DO NOT CHOOSE A PASSWORD SERVER THAT 
                YOU DON'T COMPLETELY TRUST</I
-></SPAN
 >.</P
 ><P
 >Never point a Samba server at itself for password 
@@ -13177,21 +14286,25 @@ CLASS="EMPHASIS"
                server!</P
 ><P
 >The name of the password server takes the standard 
-               substitutions, but probably the only useful one is <VAR
+               substitutions, but probably the only useful one is <TT
 CLASS="PARAMETER"
+><I
 >%m
-               </VAR
+               </I
+></TT
 >, which means the Samba server will use the incoming 
                client as the password server. If you use this then you better 
                trust your clients, and you had better restrict them with hosts allow!</P
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->security</VAR
+><I
+>security</I
+></TT
 > parameter is set to
-               <CODE
+               <TT
 CLASS="CONSTANT"
->domain</CODE
+>domain</TT
 >, then the list of machines in this 
                option must be a list of Primary or Backup Domain controllers for the
                Domain or the character '*', as the Samba server is effectively
@@ -13200,9 +14313,11 @@ CLASS="CONSTANT"
 CLASS="COMMAND"
 >              security = domain</B
 > is that if you list several hosts in the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->password server</VAR
+><I
+>password server</I
+></TT
 > option then <B
 CLASS="COMMAND"
 >smbd
@@ -13210,15 +14325,17 @@ CLASS="COMMAND"
 > will try each in turn till it finds one that responds. This 
                is useful in case your primary server goes down.</P
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->password server</VAR
+><I
+>password server</I
+></TT
 > option is set 
                to the character '*', then Samba will attempt to auto-locate the 
                Primary or Backup Domain controllers to authenticate against by 
-               doing a query for the name <CODE
+               doing a query for the name <TT
 CLASS="CONSTANT"
->WORKGROUP&#60;1C&#62;</CODE
+>WORKGROUP&#60;1C&#62;</TT
 > 
                and then contacting each server returned in the list of IP 
                addresses from the name resolution source. </P
@@ -13229,13 +14346,15 @@ CLASS="CONSTANT"
                will be added to the list as well.  Samba will not attempt to optimize 
                this list by locating the closest DC.</P
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->security</VAR
+><I
+>security</I
+></TT
 > parameter is 
-               set to <CODE
+               set to <TT
 CLASS="CONSTANT"
->server</CODE
+>server</TT
 >, then there are different
                restrictions that <B
 CLASS="COMMAND"
@@ -13248,9 +14367,11 @@ CLASS="COMMAND"
 ><LI
 ><P
 >You may list several password servers in 
-                       the <VAR
+                       the <TT
 CLASS="PARAMETER"
->password server</VAR
+><I
+>password server</I
+></TT
 > parameter, however if an 
                        <B
 CLASS="COMMAND"
@@ -13281,10 +14402,12 @@ CLASS="COMMAND"
 ><P
 >See also the <A
 HREF="#SECURITY"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >security
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -13309,7 +14432,7 @@ CLASS="COMMAND"
 ><A
 NAME="PATH"
 ></A
->&#62;path (S)</DT
+>path (S)</DT
 ><DD
 ><P
 >This parameter specifies a directory to which 
@@ -13323,14 +14446,18 @@ NAME="PATH"
                you probably won't get the results you expect if you do 
                otherwise.</P
 ><P
->Any occurrences of <VAR
+>Any occurrences of <TT
 CLASS="PARAMETER"
->%u</VAR
+><I
+>%u</I
+></TT
 > in the path 
                will be replaced with the UNIX username that the client is using 
-               on this connection. Any occurrences of <VAR
+               on this connection. Any occurrences of <TT
 CLASS="PARAMETER"
->%m</VAR
+><I
+>%m</I
+></TT
 > 
                will be replaced by the NetBIOS name of the machine they are 
                connecting from. These replacements are very useful for setting 
@@ -13338,18 +14465,17 @@ CLASS="PARAMETER"
 ><P
 >Note that this path will be based on <A
 HREF="#ROOTDIR"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->root dir</VAR
+><I
+>root dir</I
+></TT
 ></A
 > if one was specified.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -13361,7 +14487,7 @@ CLASS="COMMAND"
 ><A
 NAME="PIDDIRECTORY"
 ></A
->&#62;pid directory (G)</DT
+>pid directory (G)</DT
 ><DD
 ><P
 >This option specifies the directory where pid 
@@ -13382,15 +14508,16 @@ CLASS="COMMAND"
 ><A
 NAME="POSIXLOCKING"
 ></A
->&#62;posix locking (S)</DT
+>posix locking (S)</DT
 ><DD
 ><P
->The <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>The <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 >
                daemon maintains an database of file locks obtained by SMB clients.
                The default behavior is to map this internal database to POSIX
@@ -13408,7 +14535,7 @@ CLASS="COMMAND"
 ><A
 NAME="POSTEXEC"
 ></A
->&#62;postexec (S)</DT
+>postexec (S)</DT
 ><DD
 ><P
 >This option specifies a command to be run 
@@ -13426,19 +14553,18 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#PREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->preexec</VAR
+><I
+>preexec</I
+></TT
 >
                </A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none (no command executed)</I
-></SPAN
 >
                </P
 ><P
@@ -13450,9 +14576,32 @@ CLASS="COMMAND"
 ></DD
 ><DT
 ><A
+NAME="POSTSCRIPT"
+></A
+>postscript (S)</DT
+><DD
+><P
+>This parameter forces a printer to interpret 
+               the print files as PostScript. This is done by adding a <TT
+CLASS="CONSTANT"
+>%!
+               </TT
+> to the start of print output.</P
+><P
+>This is most useful when you have lots of PCs that persist 
+               in putting a control-D at the start of print jobs, which then 
+               confuses your printer.</P
+><P
+>Default: <B
+CLASS="COMMAND"
+>postscript = no</B
+></P
+></DD
+><DT
+><A
 NAME="PREEXEC"
 ></A
->&#62;preexec (S)</DT
+>preexec (S)</DT
 ><DD
 ><P
 >This option specifies a command to be run whenever 
@@ -13472,26 +14621,27 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#PREEXECCLOSE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >preexec close
-               </VAR
+               </I
+></TT
 ></A
 > and <A
 HREF="#POSTEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >postexec
-               </VAR
+               </I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >none (no command executed)</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -13504,16 +14654,18 @@ CLASS="COMMAND"
 ><A
 NAME="PREEXECCLOSE"
 ></A
->&#62;preexec close (S)</DT
+>preexec close (S)</DT
 ><DD
 ><P
 >This boolean option controls whether a non-zero 
                return code from <A
 HREF="#PREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >preexec
-               </VAR
+               </I
+></TT
 ></A
 > should close the service being connected to.</P
 ><P
@@ -13526,7 +14678,7 @@ CLASS="COMMAND"
 ><A
 NAME="PREFERREDMASTER"
 ></A
->&#62;preferred master (G)</DT
+>preferred master (G)</DT
 ><DD
 ><P
 >This boolean parameter controls if <A
@@ -13536,9 +14688,9 @@ TARGET="_top"
 > is a preferred master browser 
                for its workgroup.</P
 ><P
->If this is set to <CODE
+>If this is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, on startup, <B
 CLASS="COMMAND"
 >nmbd</B
@@ -13549,9 +14701,11 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 ><A
 HREF="#DOMAINMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->              domain master</VAR
+><I
+>              domain master</I
+></TT
 ></A
 > = yes</B
 >, so that <B
@@ -13568,9 +14722,11 @@ CLASS="COMMAND"
 ><P
 >See also <A
 HREF="#OSLEVEL"
-><VAR
+><TT
 CLASS="PARAMETER"
->os level</VAR
+><I
+>os level</I
+></TT
 >
                </A
 >.</P
@@ -13584,14 +14740,16 @@ CLASS="COMMAND"
 ><A
 NAME="PREFEREDMASTER"
 ></A
->&#62;prefered master (G)</DT
+>prefered master (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#PREFERREDMASTER"
-><VAR
+><TT
 CLASS="PARAMETER"
->              preferred master</VAR
+><I
+>              preferred master</I
+></TT
 ></A
 > for people who cannot spell :-).</P
 ></DD
@@ -13599,7 +14757,7 @@ CLASS="PARAMETER"
 ><A
 NAME="PRELOAD"
 ></A
->&#62;preload (G)</DT
+>preload (G)</DT
 ><DD
 ><P
 >This is a list of services that you want to be 
@@ -13610,18 +14768,17 @@ NAME="PRELOAD"
 >Note that if you just want all printers in your 
                printcap file loaded then the <A
 HREF="#LOADPRINTERS"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->load printers</VAR
+><I
+>load printers</I
+></TT
 ></A
 > option is easier.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no preloaded services</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -13633,17 +14790,19 @@ CLASS="COMMAND"
 ><A
 NAME="PRESERVECASE"
 ></A
->&#62;preserve case (S)</DT
+>preserve case (S)</DT
 ><DD
 ><P
 > This controls if new filenames are created
                with the case that the client passes, or if they are forced to 
                be the <A
 HREF="#DEFAULTCASE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >default case
-               </VAR
+               </I
+></TT
 ></A
 >.</P
 ><P
@@ -13653,7 +14812,7 @@ CLASS="COMMAND"
 ></P
 ><P
 >See the section on <A
-HREF="#AEN206"
+HREF="#AEN205"
 >NAME 
                MANGLING</A
 > for a fuller discussion.</P
@@ -13662,7 +14821,7 @@ HREF="#AEN206"
 ><A
 NAME="PRINTCOMMAND"
 ></A
->&#62;print command (S)</DT
+>print command (S)</DT
 ><DD
 ><P
 >After a print job has finished spooling to 
@@ -13695,28 +14854,33 @@ CLASS="COMMAND"
 >%z - the size of the spooled
                print job (in bytes)</P
 ><P
->The print command <SPAN
-CLASS="emphasis"
-><I
+>The print command <I
 CLASS="EMPHASIS"
 >MUST</I
-></SPAN
 > contain at least 
-               one occurrence of <VAR
+               one occurrence of <TT
 CLASS="PARAMETER"
->%s</VAR
-> or <VAR
+><I
+>%s</I
+></TT
+> or <TT
 CLASS="PARAMETER"
+><I
 >%f
-               </VAR
-> - the <VAR
+               </I
+></TT
+> - the <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is optional. At the time 
-               a job is submitted, if no printer name is supplied the <VAR
+               a job is submitted, if no printer name is supplied the <TT
 CLASS="PARAMETER"
+><I
 >%p
-               </VAR
+               </I
+></TT
 > will be silently removed from the printer command.</P
 ><P
 >If specified in the [global] section, the print command given 
@@ -13728,15 +14892,17 @@ CLASS="PARAMETER"
                be created but not processed and (most importantly) not removed.</P
 ><P
 >Note that printing may fail on some UNIXes from the 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->nobody</CODE
+>nobody</TT
 > account. If this happens then create 
                an alternative guest account that can print and set the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 > 
                in the [global] section.</P
@@ -13756,9 +14922,11 @@ CLASS="COMMAND"
                on how you normally print files on your system. The default for 
                the parameter varies depending on the setting of the <A
 HREF="#PRINTING"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -13822,14 +14990,16 @@ CLASS="COMMAND"
 ><A
 NAME="PRINTOK"
 ></A
->&#62;print ok (S)</DT
+>print ok (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#PRINTABLE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->printable</VAR
+><I
+>printable</I
+></TT
 ></A
 >.</P
 ></DD
@@ -13837,12 +15007,12 @@ CLASS="PARAMETER"
 ><A
 NAME="PRINTABLE"
 ></A
->&#62;printable (S)</DT
+>printable (S)</DT
 ><DD
 ><P
->If this parameter is <CODE
+>If this parameter is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, then 
                clients may open, write to and submit spool files on the directory 
                specified for the service. </P
@@ -13851,10 +15021,12 @@ CLASS="CONSTANT"
                to the service path (user privileges permitting) via the spooling 
                of print data. The <A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >read only
-               </VAR
+               </I
+></TT
 ></A
 > parameter controls only non-printing access to 
                the resource.</P
@@ -13868,14 +15040,16 @@ CLASS="COMMAND"
 ><A
 NAME="PRINTCAP"
 ></A
->&#62;printcap (G)</DT
+>printcap (G)</DT
 ><DD
 ><P
 >Synonym for   <A
 HREF="#PRINTCAPNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->              printcap name</VAR
+><I
+>              printcap name</I
+></TT
 ></A
 >.</P
 ></DD
@@ -13883,7 +15057,7 @@ CLASS="PARAMETER"
 ><A
 NAME="PRINTCAPNAME"
 ></A
->&#62;printcap name (G)</DT
+>printcap name (G)</DT
 ><DD
 ><P
 >This parameter may be used to override the 
@@ -13891,7 +15065,7 @@ NAME="PRINTCAPNAME"
 CLASS="FILENAME"
 >              /etc/printcap</TT
 >). See the discussion of the <A
-HREF="#AEN80"
+HREF="#AEN79"
 >[printers]</A
 > section above for reasons 
                why you might want to do this.</P
@@ -13923,9 +15097,11 @@ CLASS="COMMAND"
                </B
 > to automatically obtain lists of available printers. This 
                is the default for systems that define SYSV at configure time in 
-               Samba (this includes most System V based systems). If <VAR
+               Samba (this includes most System V based systems). If <TT
 CLASS="PARAMETER"
->              printcap name</VAR
+><I
+>              printcap name</I
+></TT
 > is set to <B
 CLASS="COMMAND"
 >lpstat</B
@@ -13938,25 +15114,32 @@ CLASS="COMMAND"
 ><P
 >A minimal printcap file would look something like this:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->print1|My Printer 1
-print2|My Printer 2
-print3|My Printer 3
-print4|My Printer 4
-print5|My Printer 5</PRE
+>              print1|My Printer 1
+               print2|My Printer 2
+               print3|My Printer 3
+               print4|My Printer 4
+               print5|My Printer 5
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >where the '|' separates aliases of a printer. The fact 
                that the second alias has a space in it gives a hint to Samba 
                that it's a comment.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >NOTE</I
-></SPAN
 >: Under AIX the default printcap 
                name is <TT
 CLASS="FILENAME"
@@ -13985,7 +15168,7 @@ CLASS="COMMAND"
 ><A
 NAME="PRINTERADMIN"
 ></A
->&#62;printer admin (S)</DT
+>printer admin (S)</DT
 ><DD
 ><P
 >This is a list of users that can do anything to 
@@ -13995,20 +15178,216 @@ NAME="PRINTERADMIN"
 ><P
 >Default: <B
 CLASS="COMMAND"
->printer admin = &#60;empty string&#62;</B
->
-               </P
+>printer admin = &#60;empty string&#62;</B
+>
+               </P
+><P
+>Example: <B
+CLASS="COMMAND"
+>printer admin = admin, @staff</B
+></P
+></DD
+><DT
+><A
+NAME="PRINTERDRIVER"
+></A
+>printer driver (S)</DT
+><DD
+><P
+><I
+CLASS="EMPHASIS"
+>Note :</I
+>This is a deprecated 
+               parameter and will be removed in the next major release
+               following version 2.2.  Please see the instructions in
+               the <A
+HREF="printer_driver2.html"
+TARGET="_top"
+>Samba 2.2. Printing
+               HOWTO</A
+> for more information
+               on the new method of loading printer drivers onto a Samba server.
+               </P
+><P
+>This option allows you to control the string 
+               that clients receive when they ask the server for the printer driver 
+               associated with a printer. If you are using Windows95 or Windows NT 
+               then you can use this to automate the setup of printers on your 
+               system.</P
+><P
+>You need to set this parameter to the exact string (case 
+               sensitive) that describes the appropriate printer driver for your 
+               system. If you don't know the exact string to use then you should 
+               first try with no <A
+HREF="#PRINTERDRIVER"
+><TT
+CLASS="PARAMETER"
+><I
+>              printer driver</I
+></TT
+></A
+> option set and the client will 
+               give you a list of printer drivers. The appropriate strings are 
+               shown in a scroll box after you have chosen the printer manufacturer.</P
+><P
+>See also <A
+HREF="#PRINTERDRIVERFILE"
+><TT
+CLASS="PARAMETER"
+><I
+>printer
+               driver file</I
+></TT
+></A
+>.</P
+><P
+>Example: <B
+CLASS="COMMAND"
+>printer driver = HP LaserJet 4L</B
+></P
+></DD
+><DT
+><A
+NAME="PRINTERDRIVERFILE"
+></A
+>printer driver file (G)</DT
+><DD
+><P
+><I
+CLASS="EMPHASIS"
+>Note :</I
+>This is a deprecated 
+               parameter and will be removed in the next major release
+               following version 2.2.  Please see the instructions in
+               the <A
+HREF="printer_driver2.html"
+TARGET="_top"
+>Samba 2.2. Printing
+               HOWTO</A
+> for more information
+               on the new method of loading printer drivers onto a Samba server.
+               </P
+><P
+>This parameter tells Samba where the printer driver 
+               definition file, used when serving drivers to Windows 95 clients, is 
+               to be found. If this is not set, the default is :</P
+><P
+><TT
+CLASS="FILENAME"
+><TT
+CLASS="REPLACEABLE"
+><I
+>SAMBA_INSTALL_DIRECTORY</I
+></TT
+>
+               /lib/printers.def</TT
+></P
+><P
+>This file is created from Windows 95 <TT
+CLASS="FILENAME"
+>msprint.inf
+               </TT
+> files found on the Windows 95 client system. For more 
+               details on setting up serving of printer drivers to Windows 95 
+               clients, see the outdated documentation file in the <TT
+CLASS="FILENAME"
+>docs/</TT
+> 
+               directory, <TT
+CLASS="FILENAME"
+>PRINTER_DRIVER.txt</TT
+>.</P
+><P
+>See also <A
+HREF="#PRINTERDRIVERLOCATION"
+><TT
+CLASS="PARAMETER"
+><I
+>              printer driver location</I
+></TT
+></A
+>.</P
+><P
+>Default: <I
+CLASS="EMPHASIS"
+>None (set in compile).</I
+></P
+><P
+>Example: <B
+CLASS="COMMAND"
+>printer driver file = 
+               /usr/local/samba/printers/drivers.def</B
+></P
+></DD
+><DT
+><A
+NAME="PRINTERDRIVERLOCATION"
+></A
+>printer driver location (S)</DT
+><DD
+><P
+><I
+CLASS="EMPHASIS"
+>Note :</I
+>This is a deprecated 
+               parameter and will be removed in the next major release
+               following version 2.2.  Please see the instructions in
+               the <A
+HREF="printer_driver2.html"
+TARGET="_top"
+>Samba 2.2. Printing
+               HOWTO</A
+> for more information
+               on the new method of loading printer drivers onto a Samba server.
+               </P
+><P
+>This parameter tells clients of a particular printer 
+               share where to find the printer driver files for the automatic 
+               installation of drivers for Windows 95 machines. If Samba is set up 
+               to serve printer drivers to Windows 95 machines, this should be set to</P
+><P
+><B
+CLASS="COMMAND"
+>\\MACHINE\PRINTER$</B
+></P
+><P
+>Where MACHINE is the NetBIOS name of your Samba server, 
+               and PRINTER$ is a share you set up for serving printer driver 
+               files. For more details on setting this up see the outdated documentation 
+               file in the <TT
+CLASS="FILENAME"
+>docs/</TT
+> directory, <TT
+CLASS="FILENAME"
+>              PRINTER_DRIVER.txt</TT
+>.</P
+><P
+>See also <A
+HREF="#PRINTERDRIVERFILE"
+><TT
+CLASS="PARAMETER"
+><I
+>              printer driver file</I
+></TT
+></A
+>.</P
+><P
+>Default: <B
+CLASS="COMMAND"
+>none</B
+></P
 ><P
 >Example: <B
 CLASS="COMMAND"
->printer admin = admin, @staff</B
+>printer driver location = \\MACHINE\PRINTER$
+               </B
 ></P
 ></DD
 ><DT
 ><A
 NAME="PRINTERNAME"
 ></A
->&#62;printer name (S)</DT
+>printer name (S)</DT
 ><DD
 ><P
 >This parameter specifies the name of the printer 
@@ -14018,16 +15397,13 @@ NAME="PRINTERNAME"
                name given will be used for any printable service that does 
                not have its own printer name specified.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
->none (but may be <CODE
+>none (but may be <TT
 CLASS="CONSTANT"
->lp</CODE
+>lp</TT
 > 
                on many systems)</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -14039,14 +15415,16 @@ CLASS="COMMAND"
 ><A
 NAME="PRINTER"
 ></A
->&#62;printer (S)</DT
+>printer (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#PRINTERNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->              printer name</VAR
+><I
+>              printer name</I
+></TT
 ></A
 >.</P
 ></DD
@@ -14054,64 +15432,74 @@ CLASS="PARAMETER"
 ><A
 NAME="PRINTING"
 ></A
->&#62;printing (S)</DT
+>printing (S)</DT
 ><DD
 ><P
 >This parameters controls how printer status 
                information is interpreted on your system. It also affects the 
-               default values for the <VAR
+               default values for the <TT
 CLASS="PARAMETER"
->print command</VAR
+><I
+>print command</I
+></TT
 >, 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->lpq command</VAR
->, <VAR
+><I
+>lpq command</I
+></TT
+>, <TT
 CLASS="PARAMETER"
+><I
 >lppause command
-               </VAR
->, <VAR
+               </I
+></TT
+>, <TT
 CLASS="PARAMETER"
->lpresume command</VAR
+><I
+>lpresume command</I
+></TT
 >, and 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->lprm command</VAR
+><I
+>lprm command</I
+></TT
 > if specified in the 
                [global] section.</P
 ><P
 >Currently nine printing styles are supported. They are
-               <CODE
+               <TT
 CLASS="CONSTANT"
->BSD</CODE
->, <CODE
+>BSD</TT
+>, <TT
 CLASS="CONSTANT"
->AIX</CODE
+>AIX</TT
 >, 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->LPRNG</CODE
->, <CODE
+>LPRNG</TT
+>, <TT
 CLASS="CONSTANT"
->PLP</CODE
+>PLP</TT
 >,
-               <CODE
+               <TT
 CLASS="CONSTANT"
->SYSV</CODE
->, <CODE
+>SYSV</TT
+>, <TT
 CLASS="CONSTANT"
->HPUX</CODE
+>HPUX</TT
 >,
-               <CODE
+               <TT
 CLASS="CONSTANT"
->QNX</CODE
->, <CODE
+>QNX</TT
+>, <TT
 CLASS="CONSTANT"
->SOFTQ</CODE
+>SOFTQ</TT
 >,
-               and <CODE
+               and <TT
 CLASS="CONSTANT"
->CUPS</CODE
+>CUPS</TT
 >.</P
 ><P
 >To see what the defaults are for the other print 
@@ -14124,7 +15512,7 @@ TARGET="_top"
 >This option can be set on a per printer basis</P
 ><P
 >See also the discussion in the <A
-HREF="#AEN80"
+HREF="#AEN79"
 >              [printers]</A
 > section.</P
 ></DD
@@ -14132,7 +15520,7 @@ HREF="#AEN80"
 ><A
 NAME="PRIVATEDIR"
 ></A
->&#62;private dir (G)</DT
+>private dir (G)</DT
 ><DD
 ><P
 >This parameters defines the directory
@@ -14155,14 +15543,16 @@ CLASS="COMMAND"
 ><A
 NAME="PROTOCOL"
 ></A
->&#62;protocol (G)</DT
+>protocol (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#MAXPROTOCOL"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->max protocol</VAR
+><I
+>max protocol</I
+></TT
 ></A
 >.</P
 ></DD
@@ -14170,15 +15560,17 @@ CLASS="PARAMETER"
 ><A
 NAME="PUBLIC"
 ></A
->&#62;public (S)</DT
+>public (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#GUESTOK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >guest 
-               ok</VAR
+               ok</I
+></TT
 ></A
 >.</P
 ></DD
@@ -14186,7 +15578,7 @@ CLASS="PARAMETER"
 ><A
 NAME="QUEUEPAUSECOMMAND"
 ></A
->&#62;queuepause command (S)</DT
+>queuepause command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -14200,9 +15592,11 @@ NAME="QUEUEPAUSECOMMAND"
                but can be issued from the Printers window under Windows 95 
                and NT.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
                is put in its place. Otherwise it is placed at the end of the command.
                </P
@@ -14211,16 +15605,15 @@ CLASS="PARAMETER"
                path in the command as the PATH may not be available to the 
                server.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
->depends on the setting of <VAR
+>depends on the setting of <TT
 CLASS="PARAMETER"
+><I
 >printing
-               </VAR
+               </I
+></TT
 ></I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -14232,7 +15625,7 @@ CLASS="COMMAND"
 ><A
 NAME="QUEUERESUMECOMMAND"
 ></A
->&#62;queueresume command (S)</DT
+>queueresume command (S)</DT
 ><DD
 ><P
 >This parameter specifies the command to be 
@@ -14240,9 +15633,11 @@ NAME="QUEUERESUMECOMMAND"
                is the command to undo the behavior that is caused by the 
                previous parameter (<A
 HREF="#QUEUEPAUSECOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
->              queuepause command</VAR
+><I
+>              queuepause command</I
+></TT
 ></A
 >).</P
 ><P
@@ -14254,9 +15649,11 @@ CLASS="PARAMETER"
                but can be issued from the Printers window under Windows 95 
                and NT.</P
 ><P
->If a <VAR
+>If a <TT
 CLASS="PARAMETER"
->%p</VAR
+><I
+>%p</I
+></TT
 > is given then the printer name 
                is put in its place. Otherwise it is placed at the end of the 
                command.</P
@@ -14265,18 +15662,17 @@ CLASS="PARAMETER"
                path in the command as the PATH may not be available to the 
                server.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >depends on the setting of <A
 HREF="#PRINTING"
-><VAR
+><TT
 CLASS="PARAMETER"
->printing</VAR
+><I
+>printing</I
+></TT
 ></A
 ></I
-></SPAN
 >
                </P
 ><P
@@ -14290,7 +15686,7 @@ CLASS="COMMAND"
 ><A
 NAME="READBMPX"
 ></A
->&#62;read bmpx (G)</DT
+>read bmpx (G)</DT
 ><DD
 ><P
 >This boolean parameter controls whether <A
@@ -14299,9 +15695,9 @@ TARGET="_top"
 >smbd(8)</A
 > will support the "Read 
                Block Multiplex" SMB. This is now rarely used and defaults to 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >. You should never need to set this 
                parameter.</P
 ><P
@@ -14314,38 +15710,46 @@ CLASS="COMMAND"
 ><A
 NAME="READLIST"
 ></A
->&#62;read list (S)</DT
+>read list (S)</DT
 ><DD
 ><P
 >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 <A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->read only</VAR
+><I
+>read only</I
+></TT
 ></A
 >
                option is set to. The list can include group names using the 
                syntax described in the <A
 HREF="#INVALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->              invalid users</VAR
+><I
+>              invalid users</I
+></TT
 ></A
 > parameter.</P
 ><P
 >See also the <A
 HREF="#WRITELIST"
-><VAR
+><TT
 CLASS="PARAMETER"
->              write list</VAR
+><I
+>              write list</I
+></TT
 ></A
 > parameter and the <A
 HREF="#INVALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
->invalid users</VAR
+><I
+>invalid users</I
+></TT
 >
                </A
 > parameter.</P
@@ -14364,20 +15768,22 @@ CLASS="COMMAND"
 ><A
 NAME="READONLY"
 ></A
->&#62;read only (S)</DT
+>read only (S)</DT
 ><DD
 ><P
 >An inverted synonym is <A
 HREF="#WRITEABLE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->writeable</VAR
+><I
+>writeable</I
+></TT
 ></A
 >.</P
 ><P
->If this parameter is <CODE
+>If this parameter is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, then users 
                of a service may not create or modify files in the service's 
                directory.</P
@@ -14386,12 +15792,9 @@ CLASS="CONSTANT"
 CLASS="COMMAND"
 >printable = yes</B
 >)
-               will <SPAN
-CLASS="emphasis"
-><I
+               will <I
 CLASS="EMPHASIS"
 >ALWAYS</I
-></SPAN
 > allow writing to the directory 
                (user privileges permitting), but only via spooling operations.</P
 ><P
@@ -14404,7 +15807,7 @@ CLASS="COMMAND"
 ><A
 NAME="READRAW"
 ></A
->&#62;read raw (G)</DT
+>read raw (G)</DT
 ><DD
 ><P
 >This parameter controls whether or not the server 
@@ -14422,9 +15825,11 @@ NAME="READRAW"
 >In general this parameter should be viewed as a system tuning 
                tool and left severely alone. See also <A
 HREF="#WRITERAW"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->write raw</VAR
+><I
+>write raw</I
+></TT
 ></A
 >.</P
 ><P
@@ -14437,12 +15842,14 @@ CLASS="COMMAND"
 ><A
 NAME="READSIZE"
 ></A
->&#62;read size (G)</DT
+>read size (G)</DT
 ><DD
 ><P
->The option <VAR
+>The option <TT
 CLASS="PARAMETER"
->read size</VAR
+><I
+>read size</I
+></TT
 > 
                affects the overlap of disk reads/writes with network reads/writes. 
                If the amount of data being transferred in several of the SMB 
@@ -14476,7 +15883,7 @@ CLASS="COMMAND"
 ><A
 NAME="REALM"
 ></A
->&#62;realm (G)</DT
+>realm (G)</DT
 ><DD
 ><P
 >              This option specifies the kerberos realm to use. The realm is 
@@ -14501,7 +15908,7 @@ CLASS="COMMAND"
 ><A
 NAME="REMOTEANNOUNCE"
 ></A
->&#62;remote announce (G)</DT
+>remote announce (G)</DT
 ><DD
 ><P
 >This option allows you to setup <A
@@ -14532,9 +15939,11 @@ CLASS="COMMAND"
                If you leave out the workgroup name then the one given in 
                the <A
 HREF="#WORKGROUP"
-><VAR
+><TT
 CLASS="PARAMETER"
->workgroup</VAR
+><I
+>workgroup</I
+></TT
 ></A
 > 
                parameter is used instead.</P
@@ -14543,10 +15952,9 @@ CLASS="PARAMETER"
                addresses of the remote networks, but can also be the IP addresses 
                of known browse masters if your network config is that stable.</P
 ><P
->See the documentation file <A
-HREF="improved-browsing.html"
-TARGET="_top"
->BROWSING</A
+>See the documentation file <TT
+CLASS="FILENAME"
+>BROWSING.txt</TT
 > 
                in the <TT
 CLASS="FILENAME"
@@ -14563,7 +15971,7 @@ CLASS="COMMAND"
 ><A
 NAME="REMOTEBROWSESYNC"
 ></A
->&#62;remote browse sync (G)</DT
+>remote browse sync (G)</DT
 ><DD
 ><P
 >This option allows you to setup <A
@@ -14613,14 +16021,14 @@ CLASS="COMMAND"
 ><A
 NAME="RESTRICTANONYMOUS"
 ></A
->&#62;restrict anonymous (G)</DT
+>restrict anonymous (G)</DT
 ><DD
 ><P
 >This is a integer parameter, and
                mirrors as much as possible the functinality the
-               <CODE
+               <TT
 CLASS="CONSTANT"
->RestrictAnonymous</CODE
+>RestrictAnonymous</TT
 >
                 registry key does on NT/Win2k.  </P
 ><P
@@ -14633,14 +16041,16 @@ CLASS="COMMAND"
 ><A
 NAME="ROOT"
 ></A
->&#62;root (G)</DT
+>root (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#ROOTDIRECTORY"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->root directory"</VAR
+><I
+>root directory"</I
+></TT
 ></A
 >.</P
 ></DD
@@ -14648,14 +16058,16 @@ CLASS="PARAMETER"
 ><A
 NAME="ROOTDIR"
 ></A
->&#62;root dir (G)</DT
+>root dir (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#ROOTDIRECTORY"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->root directory"</VAR
+><I
+>root directory"</I
+></TT
 ></A
 >.</P
 ></DD
@@ -14663,7 +16075,7 @@ CLASS="PARAMETER"
 ><A
 NAME="ROOTDIRECTORY"
 ></A
->&#62;root directory (G)</DT
+>root directory (G)</DT
 ><DD
 ><P
 >The server will <B
@@ -14677,35 +16089,40 @@ CLASS="COMMAND"
                parts of the filesystem, or attempts to use ".." in file names 
                to access other directories (depending on the setting of the <A
 HREF="#WIDELINKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->wide links</VAR
+><I
+>wide links</I
+></TT
 ></A
 > 
                parameter).</P
 ><P
->Adding a <VAR
+>Adding a <TT
 CLASS="PARAMETER"
->root directory</VAR
+><I
+>root directory</I
+></TT
 > entry other 
                than "/" adds an extra level of security, but at a price. It 
                absolutely ensures that no access is given to files not in the 
-               sub-tree specified in the <VAR
+               sub-tree specified in the <TT
 CLASS="PARAMETER"
->root directory</VAR
-> 
-               option, <SPAN
-CLASS="emphasis"
 ><I
+>root directory</I
+></TT
+> 
+               option, <I
 CLASS="EMPHASIS"
 >including</I
-></SPAN
 > some files needed for 
                complete operation of the server. To maintain full operability 
                of the server you will need to mirror some system files 
-               into the <VAR
+               into the <TT
 CLASS="PARAMETER"
->root directory</VAR
+><I
+>root directory</I
+></TT
 > tree. In particular 
                you will need to mirror <TT
 CLASS="FILENAME"
@@ -14729,12 +16146,14 @@ CLASS="COMMAND"
 ><A
 NAME="ROOTPOSTEXEC"
 ></A
->&#62;root postexec (S)</DT
+>root postexec (S)</DT
 ><DD
 ><P
->This is the same as the <VAR
+>This is the same as the <TT
 CLASS="PARAMETER"
->postexec</VAR
+><I
+>postexec</I
+></TT
 >
                parameter except that the command is run as root. This 
                is useful for unmounting filesystems 
@@ -14742,9 +16161,11 @@ CLASS="PARAMETER"
 ><P
 >See also <A
 HREF="#POSTEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->              postexec</VAR
+><I
+>              postexec</I
+></TT
 ></A
 >.</P
 ><P
@@ -14758,12 +16179,14 @@ CLASS="COMMAND"
 ><A
 NAME="ROOTPREEXEC"
 ></A
->&#62;root preexec (S)</DT
+>root preexec (S)</DT
 ><DD
 ><P
->This is the same as the <VAR
+>This is the same as the <TT
 CLASS="PARAMETER"
->preexec</VAR
+><I
+>preexec</I
+></TT
 >
                parameter except that the command is run as root. This 
                is useful for mounting filesystems (such as CDROMs) when a 
@@ -14771,15 +16194,19 @@ CLASS="PARAMETER"
 ><P
 >See also <A
 HREF="#PREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->              preexec</VAR
+><I
+>              preexec</I
+></TT
 ></A
 > and <A
 HREF="#PREEXECCLOSE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->preexec close</VAR
+><I
+>preexec close</I
+></TT
 ></A
 >.</P
 ><P
@@ -14793,26 +16220,32 @@ CLASS="COMMAND"
 ><A
 NAME="ROOTPREEXECCLOSE"
 ></A
->&#62;root preexec close (S)</DT
+>root preexec close (S)</DT
 ><DD
 ><P
->This is the same as the <VAR
+>This is the same as the <TT
 CLASS="PARAMETER"
+><I
 >preexec close
-               </VAR
+               </I
+></TT
 > parameter except that the command is run as root.</P
 ><P
 >See also <A
 HREF="#PREEXEC"
-><VAR
+><TT
 CLASS="PARAMETER"
->              preexec</VAR
+><I
+>              preexec</I
+></TT
 ></A
 > and <A
 HREF="#PREEXECCLOSE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->preexec close</VAR
+><I
+>preexec close</I
+></TT
 ></A
 >.</P
 ><P
@@ -14825,7 +16258,7 @@ CLASS="COMMAND"
 ><A
 NAME="SECURITY"
 ></A
->&#62;security (G)</DT
+>security (G)</DT
 ><DD
 ><P
 >This option affects how clients respond to 
@@ -14835,12 +16268,11 @@ CLASS="FILENAME"
 > file.</P
 ><P
 >The option sets the "security mode bit" in replies to 
-               protocol negotiations with <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               protocol negotiations with <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)
+               </A
 > 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.</P
@@ -14903,9 +16335,11 @@ CLASS="COMMAND"
 >, see 
                the <A
 HREF="#MAPTOGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->map to guest</VAR
+><I
+>map to guest</I
+></TT
 >
                </A
 >parameter for details.</P
@@ -14913,18 +16347,17 @@ CLASS="PARAMETER"
 >It is possible to use <B
 CLASS="COMMAND"
 >smbd</B
-> in a <SPAN
-CLASS="emphasis"
-><I
+> in a <I
 CLASS="EMPHASIS"
 >              hybrid mode</I
-></SPAN
 > where it is offers both user and share 
                level security under different <A
 HREF="#NETBIOSALIASES"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->NetBIOS aliases</VAR
+><I
+>NetBIOS aliases</I
+></TT
 ></A
 >. </P
 ><P
@@ -14933,13 +16366,10 @@ CLASS="PARAMETER"
 ><A
 NAME="SECURITYEQUALSSHARE"
 ></A
->&#62;<SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >SECURITY = SHARE
                </I
-></SPAN
 ></P
 ><P
 >When clients connect to a share level security server they 
@@ -14957,12 +16387,9 @@ CLASS="COMMAND"
 >Note that <B
 CLASS="COMMAND"
 >smbd</B
-> <SPAN
-CLASS="emphasis"
-><I
+> <I
 CLASS="EMPHASIS"
 >ALWAYS</I
-></SPAN
 > 
                uses a valid UNIX user to act on behalf of the client, even in
                <B
@@ -14987,17 +16414,21 @@ CLASS="COMMAND"
 ><P
 >If the <A
 HREF="#GUESTONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >guest 
-                       only</VAR
+                       only</I
+></TT
 ></A
 > parameter is set, then all the other 
                        stages are missed and only the <A
 HREF="#GUESTACCOUNT"
->                      <VAR
+>                      <TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 > username is checked.
                        </P
@@ -15007,22 +16438,21 @@ CLASS="PARAMETER"
 >Is a username is sent with the share connection 
                        request, then this username (after mapping - see <A
 HREF="#USERNAMEMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->username map</VAR
+><I
+>username map</I
+></TT
 ></A
 >), 
                        is added as a potential username.</P
 ></LI
 ><LI
 ><P
->If the client did a previous <SPAN
-CLASS="emphasis"
-><I
+>If the client did a previous <I
 CLASS="EMPHASIS"
 >logon
                        </I
-></SPAN
 > request (the SessionSetup SMB call) then the 
                        username sent in this SMB will be added as a potential username.
                        </P
@@ -15041,376 +16471,355 @@ CLASS="EMPHASIS"
 ><P
 >Any users on the <A
 HREF="#USER"
-><VAR
+><TT
 CLASS="PARAMETER"
->                      user</VAR
+><I
+>                      user</I
+></TT
 ></A
 > list are added as potential usernames.
                        </P
 ></LI
 ></UL
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->guest only</VAR
+><I
+>guest only</I
+></TT
 > parameter is 
                not set, then this list is then tried with the supplied password. 
                The first user for whom the password matches will be used as the 
                UNIX user.</P
 ><P
->If the <VAR
+>If the <TT
 CLASS="PARAMETER"
->guest only</VAR
+><I
+>guest only</I
+></TT
 > parameter is 
                set, or no username can be determined then if the share is marked 
-               as available to the <VAR
+               as available to the <TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 >, then this 
                guest user will be used, otherwise access is denied.</P
 ><P
->Note that it can be <SPAN
-CLASS="emphasis"
-><I
+>Note that it can be <I
 CLASS="EMPHASIS"
 >very</I
-></SPAN
 > confusing 
                in share-level security as to which UNIX username will eventually
                be used in granting access.</P
 ><P
 >See also the section <A
-HREF="#AEN239"
+HREF="#AEN238"
 >              NOTE ABOUT USERNAME/PASSWORD VALIDATION</A
 >.</P
 ><P
 ><A
 NAME="SECURITYEQUALSUSER"
 ></A
->&#62;<SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >SECURITY = USER
                </I
-></SPAN
 ></P
 ><P
->This is the default security setting in Samba 3.0
+>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 <A
 HREF="#USERNAMEMAP"
-><VAR
+><TT
 CLASS="PARAMETER"
->username map</VAR
+><I
+>username map</I
+></TT
 ></A
 > 
                parameter). Encrypted passwords (see the <A
 HREF="#ENCRYPTPASSWORDS"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->encrypted passwords</VAR
+><I
+>encrypted passwords</I
+></TT
 ></A
 > parameter) can also
                be used in this security mode. Parameters such as <A
 HREF="#USER"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->user</VAR
+><I
+>user</I
+></TT
 ></A
 > and <A
 HREF="#GUESTONLY"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->guest only</VAR
+><I
+>guest only</I
+></TT
 ></A
 > if set       are then applied and 
                may change the UNIX user to use on this connection, but only after 
                the user has been successfully authenticated.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that the name of the resource being 
-               requested is <SPAN
-CLASS="emphasis"
-><I
+               requested is <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > sent to the server until after 
                the server has successfully authenticated the client. This is why 
                guest shares don't work in user level security without allowing 
                the server to automatically map unknown users into the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 >. 
                See the <A
 HREF="#MAPTOGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->map to guest</VAR
+><I
+>map to guest</I
+></TT
 >
                </A
 > parameter for details on doing this.</P
 ><P
 >See also the section <A
-HREF="#AEN239"
+HREF="#AEN238"
 >              NOTE ABOUT USERNAME/PASSWORD VALIDATION</A
 >.</P
 ><P
 ><A
-NAME="SECURITYEQUALSDOMAIN"
+NAME="SECURITYEQUALSSERVER"
 ></A
->&#62;<SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
->SECURITY = DOMAIN
-
+>SECURITY = SERVER
                </I
-></SPAN
 ></P
 ><P
->This mode will only work correctly if <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->net</SPAN
->(8)</SPAN
-> has been used to add this
-               machine into a Windows NT Domain. It expects the <A
-HREF="#ENCRYPTPASSWORDS"
-><VAR
-CLASS="PARAMETER"
->encrypted passwords</VAR
->
-               </A
-> parameter to be set to <CODE
-CLASS="CONSTANT"
->yes</CODE
->. 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.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Note</I
-></SPAN
-> 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.</P
+>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 <B
+CLASS="COMMAND"
+>security = user</B
+>, 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 
+               <TT
+CLASS="FILENAME"
+>smbpasswd</TT
+> file to check users against. See the 
+               documentation file in the <TT
+CLASS="FILENAME"
+>docs/</TT
+> directory 
+               <TT
+CLASS="FILENAME"
+>ENCRYPTION.txt</TT
+> for details on how to set this 
+               up.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
-> that from the client's point 
-               of view <B
+> that from the client's point of 
+               view <B
 CLASS="COMMAND"
->security = domain</B
+>security = server</B
 > is the same as <B
 CLASS="COMMAND"
->security = user
-               </B
->. It only affects how the server deals with the authentication, 
-               it does not in any way affect what the client sees.</P
+>              security = user</B
+>.  It only affects how the server deals 
+               with the authentication, it does not in any way affect what the 
+               client sees.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that the name of the resource being 
-               requested is <SPAN
-CLASS="emphasis"
-><I
+               requested is <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > sent to the server until after 
                the server has successfully authenticated the client. This is why 
                guest shares don't work in user level security without allowing 
                the server to automatically map unknown users into the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 >. 
                See the <A
 HREF="#MAPTOGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->map to guest</VAR
+><I
+>map to guest</I
+></TT
 >
                </A
 > parameter for details on doing this.</P
 ><P
 >See also the section <A
-HREF="#AEN239"
+HREF="#AEN238"
 >              NOTE ABOUT USERNAME/PASSWORD VALIDATION</A
 >.</P
 ><P
 >See also the <A
 HREF="#PASSWORDSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >password 
-               server</VAR
+               server</I
+></TT
 ></A
 > parameter and the <A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypted passwords</VAR
+><I
+>encrypted passwords</I
+></TT
 >
                </A
 > parameter.</P
 ><P
 ><A
-NAME="SECURITYEQUALSSERVER"
+NAME="SECURITYEQUALSDOMAIN"
 ></A
->&#62;<SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
->SECURITY = SERVER
+>SECURITY = DOMAIN
                </I
-></SPAN
 ></P
 ><P
->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 <B
-CLASS="COMMAND"
->security =
-               user</B
->. It expects the <A
+>This mode will only work correctly if <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+>smbpasswd(8)</A
+> has been used to add this 
+               machine into a Windows NT Domain. It expects the <A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypted passwords</VAR
+><I
+>encrypted passwords</I
+></TT
 >
                </A
-> parameter to be set to
-               <CODE
+> parameter to be set to <TT
 CLASS="CONSTANT"
->yes</CODE
->, 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 
-               <TT
-CLASS="FILENAME"
->smbpasswd</TT
-> file to check users against. See the 
-               documentation file in the <TT
-CLASS="FILENAME"
->docs/</TT
-> directory 
-               <TT
-CLASS="FILENAME"
->ENCRYPTION.txt</TT
-> for details on how to set this 
-               up.</P
+>yes</TT
+>. 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.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
-> 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). </P
-><P
-><SPAN
-CLASS="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.</P
+><P
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
-> that from the client's point of 
-               view <B
+> that from the client's point 
+               of view <B
 CLASS="COMMAND"
->security = server</B
+>security = domain</B
 > is the same as <B
 CLASS="COMMAND"
->              security = user</B
->.  It only affects how the server deals 
-               with the authentication, it does not in any way affect what the 
-               client sees.</P
+>security = user
+               </B
+>. It only affects how the server deals with the authentication, 
+               it does not in any way affect what the client sees.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that the name of the resource being 
-               requested is <SPAN
-CLASS="emphasis"
-><I
+               requested is <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > sent to the server until after 
                the server has successfully authenticated the client. This is why 
                guest shares don't work in user level security without allowing 
                the server to automatically map unknown users into the <A
 HREF="#GUESTACCOUNT"
-><VAR
+><TT
 CLASS="PARAMETER"
->guest account</VAR
+><I
+>guest account</I
+></TT
 ></A
 >. 
                See the <A
 HREF="#MAPTOGUEST"
-><VAR
+><TT
 CLASS="PARAMETER"
->map to guest</VAR
+><I
+>map to guest</I
+></TT
 >
                </A
 > parameter for details on doing this.</P
 ><P
+><I
+CLASS="EMPHASIS"
+>BUG:</I
+> There is currently a bug in the 
+               implementation of <B
+CLASS="COMMAND"
+>security = domain</B
+> 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.</P
+><P
 >See also the section <A
-HREF="#AEN239"
+HREF="#AEN238"
 >              NOTE ABOUT USERNAME/PASSWORD VALIDATION</A
 >.</P
 ><P
 >See also the <A
 HREF="#PASSWORDSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >password 
-               server</VAR
+               server</I
+></TT
 ></A
 > parameter and the <A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypted passwords</VAR
+><I
+>encrypted passwords</I
+></TT
 >
                </A
 > parameter.</P
@@ -15429,7 +16838,7 @@ CLASS="COMMAND"
 ><A
 NAME="SECURITYMASK"
 ></A
->&#62;security mask (S)</DT
+>security mask (S)</DT
 ><DD
 ><P
 >This parameter controls what UNIX permission 
@@ -15447,40 +16856,43 @@ NAME="SECURITYMASK"
                a user to modify all the user/group/world permissions on a file.
                </P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that users who can access the 
                Samba server through other means can easily bypass this 
                restriction, so it is primarily useful for standalone 
                "appliance" systems.  Administrators of most normal systems will 
-               probably want to leave it set to <CODE
+               probably want to leave it set to <TT
 CLASS="CONSTANT"
->0777</CODE
+>0777</TT
 >.</P
 ><P
 >See also the <A
 HREF="#FORCEDIRECTORYSECURITYMODE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->force directory security mode</VAR
+><I
+>force directory security mode</I
+></TT
 ></A
 >, 
                <A
 HREF="#DIRECTORYSECURITYMASK"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >directory 
-               security mask</VAR
+               security mask</I
+></TT
 ></A
 >, <A
 HREF="#FORCESECURITYMODE"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->force security mode</VAR
+><I
+>force security mode</I
+></TT
 ></A
 > parameters.</P
 ><P
@@ -15498,7 +16910,7 @@ CLASS="COMMAND"
 ><A
 NAME="SERVERSTRING"
 ></A
->&#62;server string (G)</DT
+>server string (G)</DT
 ><DD
 ><P
 >This controls what string will show up in the 
@@ -15512,15 +16924,19 @@ CLASS="COMMAND"
 >It also sets what will appear in browse lists next 
                to the machine name.</P
 ><P
->A <VAR
+>A <TT
 CLASS="PARAMETER"
->%v</VAR
+><I
+>%v</I
+></TT
 > will be replaced with the Samba 
                version number.</P
 ><P
->A <VAR
+>A <TT
 CLASS="PARAMETER"
->%h</VAR
+><I
+>%h</I
+></TT
 > will be replaced with the 
                hostname.</P
 ><P
@@ -15539,7 +16955,7 @@ CLASS="COMMAND"
 ><A
 NAME="SETDIRECTORY"
 ></A
->&#62;set directory (S)</DT
+>set directory (S)</DT
 ><DD
 ><P
 >If <B
@@ -15565,13 +16981,15 @@ CLASS="COMMAND"
 ><A
 NAME="SHAREMODES"
 ></A
->&#62;share modes (S)</DT
+>share modes (S)</DT
 ><DD
 ><P
 >This enables or disables the honoring of 
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->share modes</VAR
+><I
+>share modes</I
+></TT
 > during a file open. These 
                modes are used by clients to gain exclusive read or write access 
                to a file.</P
@@ -15581,38 +16999,35 @@ CLASS="PARAMETER"
                UNIX doesn't support shared memory (almost all do).</P
 ><P
 >The share modes that are enabled by this option are 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->DENY_DOS</CODE
->, <CODE
+>DENY_DOS</TT
+>, <TT
 CLASS="CONSTANT"
->DENY_ALL</CODE
+>DENY_ALL</TT
 >,
-               <CODE
+               <TT
 CLASS="CONSTANT"
->DENY_READ</CODE
->, <CODE
+>DENY_READ</TT
+>, <TT
 CLASS="CONSTANT"
->DENY_WRITE</CODE
+>DENY_WRITE</TT
 >,
-               <CODE
+               <TT
 CLASS="CONSTANT"
->DENY_NONE</CODE
-> and <CODE
+>DENY_NONE</TT
+> and <TT
 CLASS="CONSTANT"
->DENY_FCB</CODE
+>DENY_FCB</TT
 >.
                </P
 ><P
 >This option gives full share compatibility and enabled 
                by default.</P
 ><P
->You should <SPAN
-CLASS="emphasis"
-><I
+>You should <I
 CLASS="EMPHASIS"
 >NEVER</I
-></SPAN
 > turn this parameter 
                off as many Windows applications will break if you do so.</P
 ><P
@@ -15625,7 +17040,7 @@ CLASS="COMMAND"
 ><A
 NAME="SHORTPRESERVECASE"
 ></A
->&#62;short preserve case (S)</DT
+>short preserve case (S)</DT
 ><DD
 ><P
 >This boolean parameter controls if new files 
@@ -15633,10 +17048,12 @@ NAME="SHORTPRESERVECASE"
                suitable length, are created upper case, or if they are forced 
                to be the <A
 HREF="#DEFAULTCASE"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >default case
-               </VAR
+               </I
+></TT
 ></A
 >. This  option can be use with <A
 HREF="#PRESERVECASE"
@@ -15649,7 +17066,7 @@ CLASS="COMMAND"
                names are lowered. </P
 ><P
 >See the section on <A
-HREF="#AEN206"
+HREF="#AEN205"
 >              NAME MANGLING</A
 >.</P
 ><P
@@ -15662,7 +17079,7 @@ CLASS="COMMAND"
 ><A
 NAME="SHOWADDPRINTERWIZARD"
 ></A
->&#62;show add printer wizard (G)</DT
+>show add printer wizard (G)</DT
 ><DD
 ><P
 >With the introduction of MS-RPC based printing support
@@ -15676,46 +17093,53 @@ NAME="SHOWADDPRINTERWIZARD"
                open a handle on the printer server with OpenPrinterEx() asking for
                Administrator privileges.  If the user does not have administrative
                access on the print server (i.e is not root or a member of the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->printer admin</VAR
+><I
+>printer admin</I
+></TT
 > group), the OpenPrinterEx() 
                call fails and the client makes another open call with a request for 
                a lower privilege level.  This should succeed, however the APW 
                icon will not be displayed.</P
 ><P
->Disabling the <VAR
+>Disabling the <TT
 CLASS="PARAMETER"
->show add printer wizard</VAR
+><I
+>show add printer wizard</I
+></TT
 >
                parameter will always cause the OpenPrinterEx() on the server
-               to fail.  Thus the APW icon will never be displayed. <SPAN
-CLASS="emphasis"
-><I
+               to fail.  Thus the APW icon will never be displayed. <I
 CLASS="EMPHASIS"
 >              Note :</I
-></SPAN
 >This does not prevent the same user from having 
                administrative privilege on an individual printer.</P
 ><P
 >See also <A
 HREF="#ADDPRINTERCOMMAND"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >addprinter
-               command</VAR
+               command</I
+></TT
 ></A
 >, <A
 HREF="#DELETEPRINTERCOMMAND"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->deleteprinter command</VAR
+><I
+>deleteprinter command</I
+></TT
 ></A
 >, <A
 HREF="#PRINTERADMIN"
-><VAR
+><TT
 CLASS="PARAMETER"
->printer admin</VAR
+><I
+>printer admin</I
+></TT
 ></A
 ></P
 ><P
@@ -15728,15 +17152,12 @@ CLASS="COMMAND"
 ><A
 NAME="SHUTDOWNSCRIPT"
 ></A
->&#62;shutdown script (G)</DT
+>shutdown script (G)</DT
 ><DD
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >This parameter only exists in the HEAD cvs branch</I
-></SPAN
 >
                This a full path name to a script called by
                <A
@@ -15754,52 +17175,51 @@ CLASS="COMMAND"
 ><P
 >%m %t %r %f parameters are expanded</P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%m</VAR
+><I
+>%m</I
+></TT
 > will be substituted with the
                shutdown message sent to the server.</P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%t</VAR
+><I
+>%t</I
+></TT
 > will be substituted with the
                number of seconds to wait before effectively starting the
                shutdown procedure.</P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%r</VAR
-> will be substituted with the
-               switch <SPAN
-CLASS="emphasis"
 ><I
+>%r</I
+></TT
+> will be substituted with the
+               switch <I
 CLASS="EMPHASIS"
 >-r</I
-></SPAN
 >. It means reboot after shutdown
                for NT.
                </P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->%f</VAR
-> will be substituted with the
-               switch <SPAN
-CLASS="emphasis"
 ><I
+>%f</I
+></TT
+> will be substituted with the
+               switch <I
 CLASS="EMPHASIS"
 >-f</I
-></SPAN
 >. It means force the shutdown
                even if applications do not respond for NT.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >None</I
-></SPAN
 >.</P
 ><P
 >Example: <B
@@ -15808,24 +17228,36 @@ CLASS="COMMAND"
 ></P
 ><P
 >Shutdown script example:
-<PRE
+               <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
->#!/bin/bash
+>              #!/bin/bash
                
-$time=0
-let "time/60"
-let "time++"
+               $time=0
+               let "time/60"
+               let "time++"
 
-/sbin/shutdown $3 $4 +$time $1 &#38;</PRE
+               /sbin/shutdown $3 $4 +$time $1 &#38;
+               </PRE
+></TD
+></TR
+></TABLE
 >
                Shutdown does not return so we need to launch it in background.
                </P
 ><P
 >See also <A
 HREF="#ABORTSHUTDOWNSCRIPT"
-><VAR
+><TT
 CLASS="PARAMETER"
->abort shutdown script</VAR
+><I
+>abort shutdown script</I
+></TT
 ></A
 >.</P
 ></DD
@@ -15833,7 +17265,7 @@ CLASS="PARAMETER"
 ><A
 NAME="SMBPASSWDFILE"
 ></A
->&#62;smb passwd file (G)</DT
+>smb passwd file (G)</DT
 ><DD
 ><P
 >This option sets the path to the encrypted 
@@ -15856,7 +17288,7 @@ CLASS="COMMAND"
 ><A
 NAME="SMBPORTS"
 ></A
->&#62;smb ports (G)</DT
+>smb ports (G)</DT
 ><DD
 ><P
 >Specifies which ports the server should listen on
@@ -15872,7 +17304,7 @@ CLASS="COMMAND"
 ><A
 NAME="SOCKETADDRESS"
 ></A
->&#62;socket address (G)</DT
+>socket address (G)</DT
 ><DD
 ><P
 >This option allows you to control what 
@@ -15893,7 +17325,7 @@ CLASS="COMMAND"
 ><A
 NAME="SOCKETOPTIONS"
 ></A
->&#62;socket options (G)</DT
+>socket options (G)</DT
 ><DD
 ><P
 >This option allows you to set socket options 
@@ -15974,12 +17406,9 @@ TARGET="_top"
 ></LI
 ></UL
 ><P
->Those marked with a <SPAN
-CLASS="emphasis"
-><I
+>Those marked with a <I
 CLASS="EMPHASIS"
 >'*'</I
-></SPAN
 > take an integer 
                argument. The others can optionally take a 1 or 0 argument to enable 
                or disable the option, by default they will be enabled if you 
@@ -16027,7 +17456,7 @@ CLASS="COMMAND"
 ><A
 NAME="SOURCEENVIRONMENT"
 ></A
->&#62;source environment (G)</DT
+>source environment (G)</DT
 ><DD
 ><P
 >This parameter causes Samba to set environment 
@@ -16051,12 +17480,9 @@ CLASS="COMMAND"
 >SAMBA_NETBIOS_NAME = myhostname</B
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >No default value</I
-></SPAN
 ></P
 ><P
 >Examples: <B
@@ -16075,37 +17501,27 @@ CLASS="COMMAND"
 ><A
 NAME="SPNEGO"
 ></A
->&#62;use spnego (G)</DT
+>use spnego (G)</DT
 ><DD
 ><P
-> 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.</P
+> 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.</P
 ><P
->Default:  <SPAN
-CLASS="emphasis"
-><I
+>Default:  <I
 CLASS="EMPHASIS"
 >use spnego = yes</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="STATCACHE"
 ></A
->&#62;stat cache (G)</DT
+>stat cache (G)</DT
 ><DD
 ><P
->This parameter determines if <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>This parameter determines if <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
 > will use a cache in order to 
                speed up case insensitive name mappings. You should never need 
                to change this parameter.</P
@@ -16119,13 +17535,15 @@ CLASS="COMMAND"
 ><A
 NAME="STATCACHESIZE"
 ></A
->&#62;stat cache size (G)</DT
+>stat cache size (G)</DT
 ><DD
 ><P
 >This parameter determines the number of 
-               entries in the <VAR
+               entries in the <TT
 CLASS="PARAMETER"
->stat cache</VAR
+><I
+>stat cache</I
+></TT
 >.  You should 
                never need to change this parameter.</P
 ><P
@@ -16138,13 +17556,13 @@ CLASS="COMMAND"
 ><A
 NAME="STRICTALLOCATE"
 ></A
->&#62;strict allocate (S)</DT
+>strict allocate (S)</DT
 ><DD
 ><P
 >This is a boolean that controls the handling of 
-               disk space allocation in the server. When this is set to <CODE
+               disk space allocation in the server. When this is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > 
                the server will change from UNIX behaviour of not committing real
                disk storage blocks when a file is extended to the Windows behaviour
@@ -16153,15 +17571,15 @@ CLASS="CONSTANT"
                terminology this means that Samba will stop creating sparse files.
                This can be slow on some systems.</P
 ><P
->When strict allocate is <CODE
+>When strict allocate is <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > the server does sparse
                disk block allocation when a file is extended.</P
 ><P
->Setting this to <CODE
+>Setting this to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > can help Samba return
                out of quota messages on systems that are restricting the disk quota
                of users.</P
@@ -16175,20 +17593,20 @@ CLASS="COMMAND"
 ><A
 NAME="STRICTLOCKING"
 ></A
->&#62;strict locking (S)</DT
+>strict locking (S)</DT
 ><DD
 ><P
 >This is a boolean that controls the handling of 
-               file locking in the server. When this is set to <CODE
+               file locking in the server. When this is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > 
                the server will check every read and write access for file locks, and 
                deny access if locks exist. This can be slow on some systems.</P
 ><P
->When strict locking is <CODE
+>When strict locking is <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > the server does file 
                lock checks only when the client explicitly asks for them.</P
 ><P
@@ -16208,7 +17626,7 @@ CLASS="COMMAND"
 ><A
 NAME="STRICTSYNC"
 ></A
->&#62;strict sync (S)</DT
+>strict sync (S)</DT
 ><DD
 ><P
 >Many Windows applications (including the Windows 
@@ -16217,16 +17635,14 @@ NAME="STRICTSYNC"
                the process to be suspended until the kernel has ensured that 
                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 <CODE
+               rarely. Setting this parameter to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > (the 
-               default) means that <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               default) means that <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > 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
@@ -16236,10 +17652,12 @@ CLASS="REFENTRYTITLE"
 ><P
 >See also the <A
 HREF="#SYNCALWAYS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >sync 
-               always&#62;</VAR
+               always&#62;</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -16252,7 +17670,7 @@ CLASS="COMMAND"
 ><A
 NAME="STRIPDOT"
 ></A
->&#62;strip dot (G)</DT
+>strip dot (G)</DT
 ><DD
 ><P
 >This is a boolean that controls whether to 
@@ -16268,41 +17686,45 @@ CLASS="COMMAND"
 ><A
 NAME="SYNCALWAYS"
 ></A
->&#62;sync always (S)</DT
+>sync always (S)</DT
 ><DD
 ><P
 >This is a boolean parameter that controls 
                whether writes will always be written to stable storage before 
-               the write call returns. If this is <CODE
+               the write call returns. If this is <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > then the server will be 
                guided by the client's request in each write call (clients can 
                set a bit indicating that a particular write should be synchronous). 
-               If this is <CODE
+               If this is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > then every write will be followed by a <B
 CLASS="COMMAND"
 >fsync()
                </B
 > call to ensure the data is written to disk. Note that 
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->strict sync</VAR
+><I
+>strict sync</I
+></TT
 > parameter must be set to
-               <CODE
+               <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > in order for this parameter to have 
                any affect.</P
 ><P
 >See also the <A
 HREF="#STRICTSYNC"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >strict 
-               sync</VAR
+               sync</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -16315,26 +17737,26 @@ CLASS="COMMAND"
 ><A
 NAME="SYSLOG"
 ></A
->&#62;syslog (G)</DT
+>syslog (G)</DT
 ><DD
 ><P
 >This parameter maps how Samba debug messages 
                are logged onto the system syslog logging levels. Samba debug 
-               level zero maps onto syslog <CODE
+               level zero maps onto syslog <TT
 CLASS="CONSTANT"
->LOG_ERR</CODE
+>LOG_ERR</TT
 >, debug 
-               level one maps onto <CODE
+               level one maps onto <TT
 CLASS="CONSTANT"
->LOG_WARNING</CODE
+>LOG_WARNING</TT
 >, debug level 
-               two maps onto <CODE
+               two maps onto <TT
 CLASS="CONSTANT"
->LOG_NOTICE</CODE
+>LOG_NOTICE</TT
 >, debug level three 
-               maps onto LOG_INFO. All higher levels are mapped to <CODE
+               maps onto LOG_INFO. All higher levels are mapped to <TT
 CLASS="CONSTANT"
->              LOG_DEBUG</CODE
+>              LOG_DEBUG</TT
 >.</P
 ><P
 >This parameter sets the threshold for sending messages 
@@ -16350,7 +17772,7 @@ CLASS="COMMAND"
 ><A
 NAME="SYSLOGONLY"
 ></A
->&#62;syslog only (G)</DT
+>syslog only (G)</DT
 ><DD
 ><P
 >If this parameter is set then Samba debug 
@@ -16366,7 +17788,7 @@ CLASS="COMMAND"
 ><A
 NAME="TEMPLATEHOMEDIR"
 ></A
->&#62;template homedir (G)</DT
+>template homedir (G)</DT
 ><DD
 ><P
 >When filling out the user information for a Windows NT 
@@ -16376,14 +17798,18 @@ TARGET="_top"
 >winbindd(8)</A
 > daemon 
                uses this parameter to fill in the home directory for that user.  
-               If the string <VAR
+               If the string <TT
 CLASS="PARAMETER"
->%D</VAR
+><I
+>%D</I
+></TT
 > is present it is substituted 
-               with the user's Windows NT domain name.  If the string <VAR
+               with the user's Windows NT domain name.  If the string <TT
 CLASS="PARAMETER"
+><I
 >%U
-               </VAR
+               </I
+></TT
 > is present it is substituted with the user's Windows 
                NT user name.</P
 ><P
@@ -16396,16 +17822,14 @@ CLASS="COMMAND"
 ><A
 NAME="TEMPLATESHELL"
 ></A
->&#62;template shell (G)</DT
+>template shell (G)</DT
 ><DD
 ><P
 >When filling out the user information for a Windows NT 
-               user, the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               user, the <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>winbindd(8)</A
 > daemon 
                uses this parameter to fill in the login shell for that user.</P
 ><P
@@ -16418,7 +17842,7 @@ CLASS="COMMAND"
 ><A
 NAME="TIMEOFFSET"
 ></A
->&#62;time offset (G)</DT
+>time offset (G)</DT
 ><DD
 ><P
 >This parameter is a setting in minutes to add 
@@ -16440,15 +17864,14 @@ CLASS="COMMAND"
 ><A
 NAME="TIMESERVER"
 ></A
->&#62;time server (G)</DT
+>time server (G)</DT
 ><DD
 ><P
->This parameter determines if <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This parameter determines if <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>                      
+               nmbd(8)</A
 > advertises itself as a time server to Windows 
                clients.</P
 ><P
@@ -16461,14 +17884,16 @@ CLASS="COMMAND"
 ><A
 NAME="TIMESTAMPLOGS"
 ></A
->&#62;timestamp logs (G)</DT
+>timestamp logs (G)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#DEBUGTIMESTAMP"
-><VAR
+><TT
 CLASS="PARAMETER"
->              debug timestamp</VAR
+><I
+>              debug timestamp</I
+></TT
 ></A
 >.</P
 ></DD
@@ -16476,18 +17901,16 @@ CLASS="PARAMETER"
 ><A
 NAME="TOTALPRINTJOBS"
 ></A
->&#62;total print jobs (G)</DT
+>total print jobs (G)</DT
 ><DD
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               by a client which will exceed this number, then <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd</A
 > 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
@@ -16495,9 +17918,11 @@ CLASS="REFENTRYTITLE"
                designed as a printing throttle.  See also 
                <A
 HREF="#MAXPRINTJOBS"
-><VAR
+><TT
 CLASS="PARAMETER"
->max print jobs</VAR
+><I
+>max print jobs</I
+></TT
 ></A
 >.
                </P
@@ -16516,7 +17941,7 @@ CLASS="COMMAND"
 ><A
 NAME="UNICODE"
 ></A
->&#62;unicode (G)</DT
+>unicode (G)</DT
 ><DD
 ><P
 >Specifies whether Samba should try 
@@ -16533,7 +17958,7 @@ CLASS="COMMAND"
 ><A
 NAME="UNIXCHARSET"
 ></A
->&#62;unix charset (G)</DT
+>unix charset (G)</DT
 ><DD
 ><P
 >Specifies the charset the unix machine 
@@ -16543,19 +17968,19 @@ NAME="UNIXCHARSET"
 ><P
 >Default: <B
 CLASS="COMMAND"
->unix charset = UTF8</B
+>unix charset = ASCII</B
 ></P
 ><P
 >Example: <B
 CLASS="COMMAND"
->unix charset = ASCII</B
+>unix charset = UTF8</B
 ></P
 ></DD
 ><DT
 ><A
 NAME="UNIXEXTENSIONS"
 ></A
->&#62;unix extensions(G)</DT
+>unix extensions(G)</DT
 ><DD
 ><P
 >This boolean parameter controls whether Samba 
@@ -16574,25 +17999,24 @@ CLASS="COMMAND"
 ><A
 NAME="UNIXPASSWORDSYNC"
 ></A
->&#62;unix password sync (G)</DT
+>unix password sync (G)</DT
 ><DD
 ><P
 >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. 
-               If this is set to <CODE
+               If this is set to <TT
 CLASS="CONSTANT"
->yes</CODE
-> the program specified in the <VAR
+>yes</TT
+> the program specified in the <TT
 CLASS="PARAMETER"
->passwd
-               program</VAR
->parameter is called <SPAN
-CLASS="emphasis"
 ><I
+>passwd
+               program</I
+></TT
+>parameter is called <I
 CLASS="EMPHASIS"
 >AS ROOT</I
-></SPAN
 > - 
                to allow the new UNIX password to be set without access to the 
                old UNIX password (as the SMB password change code has no 
@@ -16600,16 +18024,20 @@ CLASS="EMPHASIS"
 ><P
 >See also <A
 HREF="#PASSWDPROGRAM"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >passwd 
-               program</VAR
+               program</I
+></TT
 ></A
 >, <A
 HREF="#PASSWDCHAT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              passwd chat</VAR
+><I
+>              passwd chat</I
+></TT
 ></A
 >.</P
 ><P
@@ -16622,7 +18050,7 @@ CLASS="COMMAND"
 ><A
 NAME="UPDATEENCRYPTED"
 ></A
->&#62;update encrypted (G)</DT
+>update encrypted (G)</DT
 ><DD
 ><P
 >This boolean parameter allows a user logging 
@@ -16637,25 +18065,27 @@ NAME="UPDATEENCRYPTED"
                change is made. This is a convenience option to allow the change over
                to encrypted passwords to be made over a longer period. Once all users
                have encrypted representations of their passwords in the smbpasswd
-               file this parameter should be set to <CODE
+               file this parameter should be set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >.</P
 ><P
 >In order for this parameter to work correctly the <A
 HREF="#ENCRYPTPASSWORDS"
-><VAR
+><TT
 CLASS="PARAMETER"
->encrypt passwords</VAR
+><I
+>encrypt passwords</I
+></TT
 >
                </A
-> parameter must be set to <CODE
+> parameter must be set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > when
-               this parameter is set to <CODE
+               this parameter is set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >.</P
 ><P
 >Note that even when this parameter is set a user 
@@ -16675,7 +18105,7 @@ CLASS="COMMAND"
 ><A
 NAME="USECLIENTDRIVER"
 ></A
->&#62;use client driver (S)</DT
+>use client driver (S)</DT
 ><DD
 ><P
 >This parameter applies only to Windows NT/2000
@@ -16704,14 +18134,11 @@ CLASS="COMMAND"
 >If this parameter is enabled for a printer, then any attempt
                to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
                to PRINTER_ACCESS_USE instead.  Thus allowing the OpenPrinterEx()
-               call to succeed.  <SPAN
-CLASS="emphasis"
-><I
+               call to succeed.  <I
 CLASS="EMPHASIS"
 >This parameter MUST not be able enabled
                on a print share which has valid print driver installed on the Samba 
                server.</I
-></SPAN
 ></P
 ><P
 >See also <A
@@ -16729,15 +18156,15 @@ CLASS="COMMAND"
 ><A
 NAME="USEMMAP"
 ></A
->&#62;use mmap (G)</DT
+>use mmap (G)</DT
 ><DD
 ><P
 >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
-               coherent cache, and so this parameter is set to <CODE
+               coherent cache, and so this parameter is set to <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 > by
                default on HPUX. On all other systems this parameter should be left alone. This
                parameter is provided to help the Samba developers track down problems with
@@ -16751,16 +18178,60 @@ CLASS="COMMAND"
 ></DD
 ><DT
 ><A
+NAME="USERHOSTS"
+></A
+>use rhosts (G)</DT
+><DD
+><P
+>If this global parameter is <TT
+CLASS="CONSTANT"
+>yes</TT
+>, it specifies 
+               that the UNIX user's <TT
+CLASS="FILENAME"
+>.rhosts</TT
+> file in their home directory 
+               will be read to find the names of hosts and users who will be allowed 
+               access without specifying a password.</P
+><P
+><I
+CLASS="EMPHASIS"
+>NOTE:</I
+> The use of <TT
+CLASS="PARAMETER"
+><I
+>use rhosts
+               </I
+></TT
+> can be a major security hole. This is because you are 
+               trusting the PC to supply the correct username. It is very easy to 
+               get a PC to supply a false username. I recommend that the <TT
+CLASS="PARAMETER"
+><I
+>              use rhosts</I
+></TT
+> option be only used if you really know what 
+               you are doing.</P
+><P
+>Default: <B
+CLASS="COMMAND"
+>use rhosts = no</B
+></P
+></DD
+><DT
+><A
 NAME="USER"
 ></A
->&#62;user (S)</DT
+>user (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#USERNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->              username</VAR
+><I
+>              username</I
+></TT
 ></A
 >.</P
 ></DD
@@ -16768,14 +18239,16 @@ CLASS="PARAMETER"
 ><A
 NAME="USERS"
 ></A
->&#62;users (S)</DT
+>users (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#USERNAME"
-><VAR
+><TT
 CLASS="PARAMETER"
->              username</VAR
+><I
+>              username</I
+></TT
 ></A
 >.</P
 ></DD
@@ -16783,31 +18256,37 @@ CLASS="PARAMETER"
 ><A
 NAME="USERNAME"
 ></A
->&#62;username (S)</DT
+>username (S)</DT
 ><DD
 ><P
 >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).</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->username</VAR
+><I
+>username</I
+></TT
 > line is needed only when 
                the PC is unable to supply its own username. This is the case 
                for the COREPLUS protocol or where your users have different WfWg 
                usernames to UNIX usernames. In both these cases you may also be 
                better using the \\server\share%user syntax instead.</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->username</VAR
+><I
+>username</I
+></TT
 > line is not a great 
                solution in many cases as it means Samba will try to validate 
                the supplied password against each of the usernames in the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->username</VAR
+><I
+>username</I
+></TT
 > line in turn. This is slow and 
                a bad idea for lots of users in case of duplicate passwords. 
                You may get timeouts or security breaches using this parameter 
@@ -16824,10 +18303,12 @@ CLASS="PARAMETER"
 >To restrict a service to a particular set of users you 
                can use the <A
 HREF="#VALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >valid users
-               </VAR
+               </I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -16841,7 +18322,7 @@ CLASS="PARAMETER"
                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.</P
 ><P
->If any of the usernames begin with a '&#38;' then the name 
+>If any of the usernames begin with a '&#38;'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.</P
@@ -16851,7 +18332,7 @@ CLASS="PARAMETER"
                search.</P
 ><P
 >See the section <A
-HREF="#AEN239"
+HREF="#AEN238"
 >NOTE ABOUT 
                USERNAME/PASSWORD VALIDATION</A
 > for more information on how 
@@ -16873,7 +18354,7 @@ CLASS="COMMAND"
 ><A
 NAME="USERNAMELEVEL"
 ></A
->&#62;username level (G)</DT
+>username level (G)</DT
 ><DD
 ><P
 >This option helps Samba to try and 'guess' at 
@@ -16887,10 +18368,10 @@ NAME="USERNAMELEVEL"
                combinations to try while trying to determine the UNIX user name. The
                higher the number the more combinations will be tried, but the slower
                the discovery of usernames will be. Use this parameter when you have
-               strange usernames on your UNIX machine, such as <CODE
+               strange usernames on your UNIX machine, such as <TT
 CLASS="CONSTANT"
 >AstrangeUser
-               </CODE
+               </TT
 >.</P
 ><P
 >Default: <B
@@ -16907,7 +18388,7 @@ CLASS="COMMAND"
 ><A
 NAME="USERNAMEMAP"
 ></A
->&#62;username map (G)</DT
+>username map (G)</DT
 ><DD
 ><P
 >This option allows you to specify a file containing 
@@ -16940,16 +18421,16 @@ NAME="USERNAMEMAP"
                Using '!' is most useful when you have a wildcard mapping line
                later in the file.</P
 ><P
->For example to map from the name <CODE
+>For example to map from the name <TT
 CLASS="CONSTANT"
->admin</CODE
+>admin</TT
 >
-               or <CODE
+               or <TT
 CLASS="CONSTANT"
->administrator</CODE
-> to the UNIX name <CODE
+>administrator</TT
+> to the UNIX name <TT
 CLASS="CONSTANT"
->              root</CODE
+>              root</TT
 > you would use:</P
 ><P
 ><B
@@ -16957,13 +18438,13 @@ CLASS="COMMAND"
 >root = admin administrator</B
 ></P
 ><P
->Or to map anyone in the UNIX group <CODE
+>Or to map anyone in the UNIX group <TT
 CLASS="CONSTANT"
->system</CODE
+>system</TT
 >
-               to the UNIX name <CODE
+               to the UNIX name <TT
 CLASS="CONSTANT"
->sys</CODE
+>sys</TT
 > you would use:</P
 ><P
 ><B
@@ -16997,34 +18478,46 @@ CLASS="COMMAND"
                '!' to tell Samba to stop processing if it gets a match on
                that line.</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->!sys = mary fred
-guest = *</PRE
+>              !sys = mary fred
+               guest = *
+               </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >Note that the remapping is applied to all occurrences
-               of usernames. Thus if you connect to \\server\fred and <CODE
+               of usernames. Thus if you connect to \\server\fred and <TT
 CLASS="CONSTANT"
->              fred</CODE
-> is remapped to <CODE
+>              fred</TT
+> is remapped to <TT
 CLASS="CONSTANT"
->mary</CODE
+>mary</TT
 > then you
                will actually be connecting to \\server\mary and will need to
-               supply a password suitable for <CODE
+               supply a password suitable for <TT
 CLASS="CONSTANT"
->mary</CODE
+>mary</TT
 > not
-               <CODE
+               <TT
 CLASS="CONSTANT"
->fred</CODE
+>fred</TT
 >. The only exception to this is the
                username passed to the <A
 HREF="#PASSWORDSERVER"
-><VAR
+><TT
 CLASS="PARAMETER"
->              password server</VAR
+><I
+>              password server</I
+></TT
 ></A
 > (if you have one). The password
                server will receive whatever username the client supplies without
@@ -17035,12 +18528,9 @@ CLASS="PARAMETER"
                trouble deleting print jobs as PrintManager under WfWg will think
                they don't own the print job.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no username map</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17053,12 +18543,12 @@ CLASS="COMMAND"
 ><A
 NAME="USESENDFILE"
 ></A
->&#62;use sendfile (S)</DT
+>use sendfile (S)</DT
 ><DD
 ><P
->If this parameter is <CODE
+>If this parameter is <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >, 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
@@ -17077,16 +18567,16 @@ CLASS="COMMAND"
 ><A
 NAME="UTMP"
 ></A
->&#62;utmp (G)</DT
+>utmp (G)</DT
 ><DD
 ><P
 >This boolean parameter is only available if
                Samba has been configured and compiled  with the option <B
 CLASS="COMMAND"
 >              --with-utmp</B
->. If set to <CODE
+>. If set to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > then Samba will attempt
                to add utmp or utmpx records (depending on the UNIX system) whenever a
                connection is made to a Samba server. Sites may use this to record the
@@ -17100,9 +18590,11 @@ CLASS="CONSTANT"
 ><P
 >See also the <A
 HREF="#UTMPDIRECTORY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              utmp directory</VAR
+><I
+>              utmp directory</I
+></TT
 ></A
 > parameter.</P
 ><P
@@ -17115,7 +18607,7 @@ CLASS="COMMAND"
 ><A
 NAME="UTMPDIRECTORY"
 ></A
->&#62;utmp directory(G)</DT
+>utmp directory(G)</DT
 ><DD
 ><P
 >This parameter is only available if Samba has 
@@ -17126,9 +18618,11 @@ CLASS="COMMAND"
                used to store the utmp or utmpx files (depending on the UNIX system) that
                record user connections to a Samba server. See also the <A
 HREF="#UTMP"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->utmp</VAR
+><I
+>utmp</I
+></TT
 ></A
 > parameter. By default this is 
                not set, meaning the system will use whatever utmp file the 
@@ -17138,12 +18632,9 @@ CLASS="FILENAME"
 >/var/run/utmp</TT
 > on Linux).</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no utmp directory</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17155,7 +18646,7 @@ CLASS="COMMAND"
 ><A
 NAME="WTMPDIRECTORY"
 ></A
->&#62;wtmp directory(G)</DT
+>wtmp directory(G)</DT
 ><DD
 ><P
 >This parameter is only available if Samba has 
@@ -17170,9 +18661,11 @@ CLASS="COMMAND"
                
                See also the <A
 HREF="#UTMP"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->utmp</VAR
+><I
+>utmp</I
+></TT
 ></A
 > parameter. By default this is 
                not set, meaning the system will use whatever utmp file the 
@@ -17182,12 +18675,9 @@ CLASS="FILENAME"
 >/var/run/wtmp</TT
 > on Linux).</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >no wtmp directory</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17199,46 +18689,51 @@ CLASS="COMMAND"
 ><A
 NAME="VALIDUSERS"
 ></A
->&#62;valid users (S)</DT
+>valid users (S)</DT
 ><DD
 ><P
 >This is a list of users that should be allowed 
                to login to this service. Names starting with '@', '+' and  '&#38;'
                are interpreted using the same rules as described in the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->invalid users</VAR
+><I
+>invalid users</I
+></TT
 > parameter.</P
 ><P
 >If this is empty (the default) then any user can login. 
-               If a username is in both this list and the <VAR
+               If a username is in both this list and the <TT
 CLASS="PARAMETER"
+><I
 >invalid 
-               users</VAR
+               users</I
+></TT
 > list then access is denied for that user.</P
 ><P
->The current servicename is substituted for <VAR
+>The current servicename is substituted for <TT
 CLASS="PARAMETER"
+><I
 >%S
-               </VAR
+               </I
+></TT
 >. This is useful in the [homes] section.</P
 ><P
 >See also <A
 HREF="#INVALIDUSERS"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >invalid users
-               </VAR
+               </I
+></TT
 ></A
 ></P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >No valid users list (anyone can login)
                </I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17250,7 +18745,7 @@ CLASS="COMMAND"
 ><A
 NAME="VETOFILES"
 ></A
->&#62;veto files(S)</DT
+>veto files(S)</DT
 ><DD
 ><P
 >This is a list of files and directories that 
@@ -17260,18 +18755,17 @@ NAME="VETOFILES"
                or directories as in DOS wildcards.</P
 ><P
 >Each entry must be a unix path, not a DOS path and 
-               must <SPAN
-CLASS="emphasis"
-><I
+               must <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > include the  unix directory 
                separator '/'.</P
 ><P
->Note that the <VAR
+>Note that the <TT
 CLASS="PARAMETER"
->case sensitive</VAR
+><I
+>case sensitive</I
+></TT
 > option 
                is applicable in vetoing files.</P
 ><P
@@ -17279,20 +18773,21 @@ CLASS="PARAMETER"
                is important to be aware of is Samba's behaviour when
                trying to delete a directory. If a directory that is
                to be deleted contains nothing but veto files this
-               deletion will <SPAN
-CLASS="emphasis"
-><I
+               deletion will <I
 CLASS="EMPHASIS"
 >fail</I
-></SPAN
 > unless you also set
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->delete veto files</VAR
+><I
+>delete veto files</I
+></TT
 > parameter to
-               <VAR
+               <TT
 CLASS="PARAMETER"
->yes</VAR
+><I
+>yes</I
+></TT
 >.</P
 ><P
 >Setting this parameter will affect the performance 
@@ -17301,29 +18796,36 @@ CLASS="PARAMETER"
 ><P
 >See also <A
 HREF="#HIDEFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >hide files
-               </VAR
+               </I
+></TT
 ></A
 > and <A
 HREF="#CASESENSITIVE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              case sensitive</VAR
+><I
+>              case sensitive</I
+></TT
 ></A
 >.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >No files or directories are vetoed.
                </I
-></SPAN
 ></P
 ><P
->Examples:<PRE
+>Examples:<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >; Veto any files containing the word Security, 
 ; any ending in .tmp, and any directory containing the
@@ -17333,20 +18835,25 @@ veto files = /*Security*/*.tmp/*root*/
 ; Veto the Apple specific files that a NetAtalk server
 ; creates.
 veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/</PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
 ><A
 NAME="VETOOPLOCKFILES"
 ></A
->&#62;veto oplock files (S)</DT
+>veto oplock files (S)</DT
 ><DD
 ><P
 >This parameter is only valid when the <A
 HREF="#OPLOCKS"
-><VAR
+><TT
 CLASS="PARAMETER"
->oplocks</VAR
+><I
+>oplocks</I
+></TT
 ></A
 >
                parameter is turned on for a share. It allows the Samba administrator
@@ -17354,20 +18861,19 @@ CLASS="PARAMETER"
                match a wildcarded list, similar to the wildcarded list used in the
                <A
 HREF="#VETOFILES"
-><VAR
+><TT
 CLASS="PARAMETER"
->veto files</VAR
+><I
+>veto files</I
+></TT
 ></A
 > 
                parameter.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >No files are vetoed for oplock 
                grants</I
-></SPAN
 ></P
 ><P
 >You might want to do this on files that you know will 
@@ -17391,7 +18897,7 @@ CLASS="COMMAND"
 ><A
 NAME="VFSPATH"
 ></A
->&#62;vfs path (S)</DT
+>vfs path (S)</DT
 ><DD
 ><P
 >This parameter specifies the directory
@@ -17416,7 +18922,7 @@ CLASS="COMMAND"
 ><A
 NAME="VFSOBJECT"
 ></A
->&#62;vfs object (S)</DT
+>vfs object (S)</DT
 ><DD
 ><P
 >This parameter specifies a shared object files that 
@@ -17424,63 +18930,56 @@ NAME="VFSOBJECT"
                disk I/O operations are used but these can be overloaded 
                with one or more VFS objects. </P
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+>Default : <I
 CLASS="EMPHASIS"
 >no value</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="VFSOPTIONS"
 ></A
->&#62;vfs options (S)</DT
+>vfs options (S)</DT
 ><DD
 ><P
 >This parameter allows parameters to be passed 
                to the vfs layer at initialization time. 
                See also <A
 HREF="#VFSOBJECT"
-><VAR
+><TT
 CLASS="PARAMETER"
->              vfs object</VAR
+><I
+>              vfs object</I
+></TT
 ></A
 >.</P
 ><P
->Default : <SPAN
-CLASS="emphasis"
-><I
+>Default : <I
 CLASS="EMPHASIS"
 >no value</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="VOLUME"
 ></A
->&#62;volume (S)</DT
+>volume (S)</DT
 ><DD
 ><P
 > 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.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >the name of the share</I
-></SPAN
 ></P
 ></DD
 ><DT
 ><A
 NAME="WIDELINKS"
 ></A
->&#62;wide links (S)</DT
+>wide links (S)</DT
 ><DD
 ><P
 >This parameter controls whether or not links 
@@ -17502,16 +19001,14 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDCACHETIME"
 ></A
->&#62;winbind cache time (G)</DT
+>winbind cache time (G)</DT
 ><DD
 ><P
->This parameter specifies the number of 
-               seconds the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+>This parameter specifies the number of seconds the
+               <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>winbindd(8)</A
 > daemon will cache 
                user and group information before querying a Windows NT server 
                again.</P
@@ -17525,19 +19022,19 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDENUMUSERS"
 ></A
->&#62;winbind enum users (G)</DT
+>winbind enum users (G)</DT
 ><DD
 ><P
->On large installations using <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+>On large installations using
+               <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>winbindd(8)</A
 > it may be
-               necessary to suppress the enumeration of users through the <B
+               necessary to suppress the enumeration of users through the
+               <B
 CLASS="COMMAND"
->setpwent()</B
+> setpwent()</B
 >,
                <B
 CLASS="COMMAND"
@@ -17547,25 +19044,24 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >endpwent()</B
 > group of system calls.  If
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->winbind enum users</VAR
+><I
+>winbind enum users</I
+></TT
 > parameter is
-               <CODE
+               <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >, calls to the <B
 CLASS="COMMAND"
 >getpwent</B
 > system call
                will not return any data. </P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Warning:</I
-></SPAN
 > Turning off user
                enumeration may cause some programs to behave oddly.  For
                example, the finger program relies on having access to the
@@ -17581,19 +19077,19 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDENUMGROUPS"
 ></A
->&#62;winbind enum groups (G)</DT
+>winbind enum groups (G)</DT
 ><DD
 ><P
->On large installations using <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
-> it may be necessary to suppress 
-               the enumeration of groups through the <B
+>On large installations using
+               <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>winbindd(8)</A
+> it may be
+               necessary to suppress the enumeration of groups through the
+               <B
 CLASS="COMMAND"
->setgrent()</B
+> setgrent()</B
 >,
                <B
 CLASS="COMMAND"
@@ -17603,25 +19099,24 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >endgrent()</B
 > group of system calls.  If
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->winbind enum groups</VAR
+><I
+>winbind enum groups</I
+></TT
 > parameter is
-               <CODE
+               <TT
 CLASS="CONSTANT"
->no</CODE
+>no</TT
 >, calls to the <B
 CLASS="COMMAND"
 >getgrent()</B
 > system
                call will not return any data. </P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Warning:</I
-></SPAN
 > Turning off group
                enumeration may cause some programs to behave oddly.
                </P
@@ -17636,16 +19131,14 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDGID"
 ></A
->&#62;winbind gid (G)</DT
+>winbind gid (G)</DT
 ><DD
 ><P
 >The winbind gid parameter specifies the range of group 
-               ids that are allocated by the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               ids that are allocated by the <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>              winbindd(8)</A
 > daemon.  This range of group ids should have no 
                existing local or NIS groups within it as strange conflicts can 
                occur otherwise.</P
@@ -17665,17 +19158,21 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDSEPARATOR"
 ></A
->&#62;winbind separator (G)</DT
+>winbind separator (G)</DT
 ><DD
 ><P
 >This parameter allows an admin to define the character 
-               used when listing a username of the form of <VAR
+               used when listing a username of the form of <TT
 CLASS="REPLACEABLE"
+><I
 >DOMAIN
-               </VAR
->\<VAR
+               </I
+></TT
+>\<TT
 CLASS="REPLACEABLE"
->user</VAR
+><I
+>user</I
+></TT
 >.  This parameter 
                is only applicable when using the <TT
 CLASS="FILENAME"
@@ -17705,16 +19202,14 @@ CLASS="COMMAND"
 ><A
 NAME="WINBINDUID"
 ></A
->&#62;winbind uid (G)</DT
+>winbind uid (G)</DT
 ><DD
 ><P
 >The winbind gid parameter specifies the range of group 
-               ids that are allocated by the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               ids that are allocated by the <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>              winbindd(8)</A
 > daemon.  This range of ids should have no 
                existing local or NIS users within it as strange conflicts can 
                occur otherwise.</P
@@ -17731,20 +19226,18 @@ CLASS="COMMAND"
 ></P
 ></DD
 ><DT
-><A
+>winbind use default domain, <A
 NAME="WINBINDUSEDEFAULTDOMAIN"
 ></A
->&#62;winbind use default domain (G)</DT
+>winbind use default domain (G)</DT
 ><DD
 ><P
->This parameter specifies whether the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
-> daemon should operate on users 
-               without domain component in their username.  
+>This parameter specifies whether the <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>              winbindd(8)</A
+>
+               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.</P
@@ -17764,7 +19257,7 @@ CLASS="COMMAND"
 ><A
 NAME="WINSHOOK"
 ></A
->&#62;wins hook (G)</DT
+>wins hook (G)</DT
 ><DD
 ><P
 >When Samba is running as a WINS server this 
@@ -17829,7 +19322,7 @@ CLASS="COMMAND"
 ><A
 NAME="WINSPROXY"
 ></A
->&#62;wins proxy (G)</DT
+>wins proxy (G)</DT
 ><DD
 ><P
 >This is a boolean that controls if <A
@@ -17838,9 +19331,9 @@ TARGET="_top"
 >nmbd(8)</A
 > will respond to broadcast name 
                queries on behalf of  other hosts. You may need to set this 
-               to <CODE
+               to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > for some older clients.</P
 ><P
 >Default: <B
@@ -17852,45 +19345,36 @@ CLASS="COMMAND"
 ><A
 NAME="WINSSERVER"
 ></A
->&#62;wins server (G)</DT
+>wins server (G)</DT
 ><DD
 ><P
 >This specifies the IP address (or DNS name: IP 
-               address for preference) of the WINS server that <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+               address for preference) of the WINS server that <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>              nmbd(8)</A
 > should register with. If you have a WINS server on 
                your network then you should set this to the WINS server's IP.</P
 ><P
 >You should point this at your WINS server if you have a
                multi-subnetted network.</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >NOTE</I
-></SPAN
 >. You need to set up Samba to point 
                to a WINS server if you have multiple subnets and wish cross-subnet 
                browsing to work correctly.</P
 ><P
->See the documentation file <A
-HREF="improved-browsing.html"
-TARGET="_top"
->BROWSING</A
+>See the documentation file <TT
+CLASS="FILENAME"
+>BROWSING.txt</TT
 > 
                in the docs/ directory of your Samba source distribution.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >not enabled</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17902,33 +19386,29 @@ CLASS="COMMAND"
 ><A
 NAME="WINSSUPPORT"
 ></A
->&#62;wins support (G)</DT
+>wins support (G)</DT
 ><DD
 ><P
->This boolean controls if the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+>This boolean controls if the <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>              
+               nmbd(8)</A
 > process in Samba will act as a WINS server. You should 
-               not set this to <CODE
+               not set this to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 > unless you have a multi-subnetted network and 
                you wish a particular <B
 CLASS="COMMAND"
 >nmbd</B
 > to be your WINS server. 
-               Note that you should <SPAN
-CLASS="emphasis"
-><I
+               Note that you should <I
 CLASS="EMPHASIS"
 >NEVER</I
-></SPAN
-> set this to <CODE
+> set this to <TT
 CLASS="CONSTANT"
->yes</CODE
+>yes</TT
 >
                on more than one machine in your network.</P
 ><P
@@ -17941,7 +19421,7 @@ CLASS="COMMAND"
 ><A
 NAME="WORKGROUP"
 ></A
->&#62;workgroup (G)</DT
+>workgroup (G)</DT
 ><DD
 ><P
 >This controls what workgroup your server will 
@@ -17955,12 +19435,9 @@ CLASS="COMMAND"
 >
                setting.</P
 ><P
->Default: <SPAN
-CLASS="emphasis"
-><I
+>Default: <I
 CLASS="EMPHASIS"
 >set at compile time to WORKGROUP</I
-></SPAN
 ></P
 ><P
 >Example: <B
@@ -17972,14 +19449,16 @@ CLASS="COMMAND"
 ><A
 NAME="WRITABLE"
 ></A
->&#62;writable (S)</DT
+>writable (S)</DT
 ><DD
 ><P
 >Synonym for <A
 HREF="#WRITEABLE"
-><VAR
+><TT
 CLASS="PARAMETER"
->              writeable</VAR
+><I
+>              writeable</I
+></TT
 ></A
 > for people who can't spell :-).</P
 ></DD
@@ -17987,17 +19466,14 @@ CLASS="PARAMETER"
 ><A
 NAME="WRITECACHESIZE"
 ></A
->&#62;write cache size (S)</DT
+>write cache size (S)</DT
 ><DD
 ><P
 >If this integer parameter is set to non-zero value,
                Samba will create an in-memory cache for each oplocked file 
-               (it does <SPAN
-CLASS="emphasis"
-><I
+               (it does <I
 CLASS="EMPHASIS"
 >not</I
-></SPAN
 > do this for 
                non-oplocked files). All writes that the client does not request 
                to be flushed directly to disk will be stored in this cache if possible. 
@@ -18031,16 +19507,18 @@ CLASS="COMMAND"
 ><A
 NAME="WRITELIST"
 ></A
->&#62;write list (S)</DT
+>write list (S)</DT
 ><DD
 ><P
 >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 <A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->read only</VAR
+><I
+>read only</I
+></TT
 ></A
 >
                option is set to. The list can include group names using the 
@@ -18051,10 +19529,12 @@ CLASS="PARAMETER"
 ><P
 >See also the <A
 HREF="#READLIST"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >read list
-               </VAR
+               </I
+></TT
 ></A
 > option.</P
 ><P
@@ -18074,7 +19554,7 @@ CLASS="COMMAND"
 ><A
 NAME="WINSPARTNERS"
 ></A
->&#62;wins partners (G)</DT
+>wins partners (G)</DT
 ><DD
 ><P
 >A space separated list of partners' IP addresses for 
@@ -18098,14 +19578,16 @@ CLASS="COMMAND"
 ><A
 NAME="WRITEOK"
 ></A
->&#62;write ok (S)</DT
+>write ok (S)</DT
 ><DD
 ><P
 >Inverted synonym for <A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              read only</VAR
+><I
+>              read only</I
+></TT
 ></A
 >.</P
 ></DD
@@ -18113,7 +19595,7 @@ CLASS="PARAMETER"
 ><A
 NAME="WRITERAW"
 ></A
->&#62;write raw (G)</DT
+>write raw (G)</DT
 ><DD
 ><P
 >This parameter controls whether or not the server 
@@ -18129,14 +19611,16 @@ CLASS="COMMAND"
 ><A
 NAME="WRITEABLE"
 ></A
->&#62;writeable (S)</DT
+>writeable (S)</DT
 ><DD
 ><P
 >Inverted synonym for <A
 HREF="#READONLY"
-><VAR
+><TT
 CLASS="PARAMETER"
->              read only</VAR
+><I
+>              read only</I
+></TT
 ></A
 >.</P
 ></DD
@@ -18146,7 +19630,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6228"
+NAME="AEN6215"
 ></A
 ><H2
 >WARNINGS</H2
@@ -18157,12 +19641,11 @@ NAME="AEN6228"
        problem - but be aware of the possibility.</P
 ><P
 >On a similar note, many clients - especially DOS clients - 
-       limit service names to eight characters. <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+       limit service names to eight characters. <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)
+       </A
 > 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 
@@ -18177,81 +19660,97 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6236"
+NAME="AEN6221"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 3.0 of the Samba suite.</P
+>This man page is correct for version 3.0 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6239"
+NAME="AEN6224"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
->      <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->samba</SPAN
->(7)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->swat</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testprns</SPAN
->(1)</SPAN
->.</P
+><A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>,
+       <A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbpasswd(8)</B
+></A
+>,
+       <A
+HREF="swat.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>swat(8)</B
+></A
+>,
+       <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
+>, 
+       <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)</B
+></A
+>, 
+       <A
+HREF="nmblookup.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmblookup(1)</B
+></A
+>,
+       <A
+HREF="testparm.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>testparm(1)</B
+></A
+>, 
+       <A
+HREF="testprns.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>testprns(1)</B
+></A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6269"
+NAME="AEN6244"
 ></A
 ><H2
 >AUTHOR</H2
@@ -18263,14 +19762,14 @@ NAME="AEN6269"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 7500bdaeea8ecf2d27798fdd4e13eba28d0a9d9e..e0425d481d0f402203ecf8e06d76286c9e6d04e8 100644 (file)
@@ -5,7 +5,7 @@
 >smbcacls</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBCACLS.1"
+NAME="SMBCACLS"
 ></A
 >smbcacls</H1
 ><DIV
@@ -47,12 +47,10 @@ NAME="AEN22"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >The <B
@@ -64,7 +62,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN30"
+NAME="AEN28"
 ></A
 ><H2
 >OPTIONS</H2
@@ -119,12 +117,9 @@ CLASS="VARIABLELIST"
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               workgroup specified in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file is 
                used, or "username%password"  or "DOMAIN\username%password" and the 
                password and workgroup names are used as provided. </P
@@ -134,9 +129,11 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >The owner of a file or directory can be changed 
-               to the name given using the <VAR
+               to the name given using the <TT
 CLASS="PARAMETER"
->-C</VAR
+><I
+>-C</I
+></TT
 > option.  
                The name can be a sid in the form S-1-x-y-z or a name resolved 
                against the server specified in the first argument. </P
@@ -149,9 +146,11 @@ CLASS="PARAMETER"
 ><DD
 ><P
 >The group owner of a file or directory can 
-               be changed to the name given using the <VAR
+               be changed to the name given using the <TT
 CLASS="PARAMETER"
->-G</VAR
+><I
+>-G</I
+></TT
 > 
                option.  The name can be a sid in the form S-1-x-y-z or a name 
                resolved against the server specified n the first argument.
@@ -183,7 +182,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN79"
+NAME="AEN75"
 ></A
 ><H2
 >ACL FORMAT</H2
@@ -194,10 +193,11 @@ NAME="AEN79"
 ><PRE
 CLASS="PROGRAMLISTING"
 > 
-REVISION:&#60;revision number&#62;
-OWNER:&#60;sid or name&#62;
-GROUP:&#60;sid or name&#62;
-ACL:&#60;sid or name&#62;:&#60;type&#62;/&#60;flags&#62;/&#60;mask&#62;</PRE
+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;
+       </PRE
 ></P
 ><P
 >The revision of the ACL specifies the internal Windows 
@@ -211,45 +211,34 @@ ACL:&#60;sid or name&#62;:&#60;type&#62;/&#60;flags&#62;/&#60;mask&#62;</PRE
        the file or directory resides. </P
 ><P
 >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. </P
+               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. </P
 ><P
 >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: </P
+               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: </P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><CODE
-CLASS="CONSTANT"
->#define SEC_ACE_FLAG_OBJECT_INHERIT           0x1</CODE
-></P
+>#define SEC_ACE_FLAG_OBJECT_INHERIT           0x1</P
 ></LI
 ><LI
 ><P
-><CODE
-CLASS="CONSTANT"
->#define SEC_ACE_FLAG_CONTAINER_INHERIT        0x2</CODE
-></P
+>#define SEC_ACE_FLAG_CONTAINER_INHERIT        0x2</P
 ></LI
 ><LI
 ><P
-><CODE
-CLASS="CONSTANT"
->#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT     0x4</CODE
-></P
+>#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT       0x4
+                       </P
 ></LI
 ><LI
 ><P
-><CODE
-CLASS="CONSTANT"
->#define SEC_ACE_FLAG_INHERIT_ONLY             0x8</CODE
-></P
+>#define SEC_ACE_FLAG_INHERIT_ONLY             0x8</P
 ></LI
 ></UL
 ><P
@@ -367,7 +356,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN133"
+NAME="AEN125"
 ></A
 ><H2
 >EXIT STATUS</H2
@@ -391,17 +380,18 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN139"
+NAME="AEN131"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 2.2 of the Samba suite.</P
+>This man page is correct for version 2.2 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN142"
+NAME="AEN134"
 ></A
 ><H2
 >AUTHOR</H2
@@ -418,8 +408,7 @@ CLASS="COMMAND"
        and Tim Potter.</P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 4a287acf1d49f2ad41e4a0121f1ba09030b4d26a..ca8cafd3129c3f0edf300b193035e3a9a221da26 100644 (file)
@@ -5,7 +5,7 @@
 >smbclient</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBCLIENT.1"
+NAME="SMBCLIENT"
 ></A
 >smbclient</H1
 ><DIV
@@ -38,22 +38,20 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >smbclient</B
->  {servicename} [password] [-b &#60;buffer size&#62;] [-d debuglevel] [-D Directory] [-U username] [-W workgroup] [-M &#60;netbios name&#62;] [-m maxprotocol] [-A authfile] [-N] [-l logfile] [-L &#60;netbios name&#62;] [-I destinationIP] [-E] [-c &#60;command string&#62;] [-i scope] [-O &#60;socket options&#62;] [-p port] [-R &#60;name resolve order&#62;] [-s &#60;smb config file&#62;] [-T&#60;c|x&#62;IXFqgbNan] [-k]</P
+>  {servicename} [password] [-b &lt;buffer size&gt;] [-d debuglevel] [-D Directory] [-U username] [-W workgroup] [-M &lt;netbios name&gt;] [-m maxprotocol] [-A authfile] [-N] [-l logfile] [-L &lt;netbios name&gt;] [-I destinationIP] [-E] [-c &lt;command string&gt;] [-i scope] [-O &lt;socket options&gt;] [-p port] [-R &lt;name resolve order&gt;] [-s &lt;smb config file&gt;] [-T&lt;c|x&gt;IXFqgbNan]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN34"
+NAME="AEN33"
 ></A
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -61,12 +59,9 @@ CLASS="COMMAND"
 >smbclient</B
 > is a client that can 
        'talk' to an SMB/CIFS server. It offers an interface
-       similar to that of the ftp program (see <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->ftp</SPAN
->(1)</SPAN
+       similar to that of the ftp program (see <B
+CLASS="COMMAND"
+>ftp(1)</B
 >).  
        Operations include things like getting files from the server 
        to the local machine, putting files from the local machine to 
@@ -76,7 +71,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN45"
+NAME="AEN40"
 ></A
 ><H2
 >OPTIONS</H2
@@ -94,14 +89,18 @@ CLASS="VARIABLELIST"
                <TT
 CLASS="FILENAME"
 >//server/service</TT
-> where <VAR
+> where <TT
 CLASS="PARAMETER"
+><I
 >server
-               </VAR
+               </I
+></TT
 > is the NetBIOS name of the SMB/CIFS server 
-               offering the desired service and <VAR
+               offering the desired service and <TT
 CLASS="PARAMETER"
->service</VAR
+><I
+>service</I
+></TT
 > 
                is the name of the service offered.  Thus to connect to 
                the service "printer" on the SMB/CIFS server "smbserver",
@@ -118,20 +117,18 @@ CLASS="FILENAME"
                </P
 ><P
 >The server name is looked up according to either 
-               the <VAR
+               the <TT
 CLASS="PARAMETER"
->-R</VAR
+><I
+>-R</I
+></TT
 > parameter to <B
 CLASS="COMMAND"
 >smbclient</B
 > or 
-               using the name resolve order parameter in 
-               the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               using the name resolve order parameter in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file, 
                allowing an administrator to change the order and methods 
                by which server names are looked up. </P
@@ -142,21 +139,27 @@ CLASS="REFENTRYTITLE"
 ><P
 >The password required to access the specified 
                service on the specified server. If this parameter is 
-               supplied, the <VAR
+               supplied, the <TT
 CLASS="PARAMETER"
->-N</VAR
+><I
+>-N</I
+></TT
 > option (suppress 
                password prompt) is assumed. </P
 ><P
 >There is no default password. If no password is supplied 
                on the command line (either by using this parameter or adding 
-               a password to the <VAR
+               a password to the <TT
 CLASS="PARAMETER"
->-U</VAR
+><I
+>-U</I
+></TT
 > option (see 
-               below)) and the <VAR
+               below)) and the <TT
 CLASS="PARAMETER"
->-N</VAR
+><I
+>-N</I
+></TT
 > option is not 
                specified, the client will prompt for a password, even if 
                the desired service does not require one. (If no password is 
@@ -175,13 +178,10 @@ CLASS="PARAMETER"
 >-s smb.conf</DT
 ><DD
 ><P
->Specifies the location of the all 
-               important <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+>Specifies the location of the all important 
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file. </P
 ></DD
 ><DT
@@ -189,18 +189,14 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >TCP socket options to set on the client 
-               socket. See the socket options parameter in 
-               the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> manual page for the list of valid 
+               socket. See the socket options parameter in the <TT
+CLASS="FILENAME"
+>              smb.conf (5)</TT
+> manpage for the list of valid 
                options. </P
 ></DD
 ><DT
->-R &#60;name resolve order&#62;</DT
+>-R &lt;name resolve order&gt;</DT
 ><DD
 ><P
 >This option is used by the programs in the Samba 
@@ -209,33 +205,30 @@ CLASS="REFENTRYTITLE"
                string of different name resolution options.</P
 ><P
 >The options are :"lmhosts", "host", "wins" and "bcast". They 
-               cause names to be resolved as follows:</P
+               cause names to be resolved as follows :</P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->lmhosts</CODE
->: Lookup an IP 
+>lmhosts</TT
+> : 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->lmhosts</SPAN
->(5)</SPAN
+                       no name type attached to the NetBIOS name (see the <A
+HREF="lmhosts.5.html"
+TARGET="_top"
+>lmhosts(5)</A
 > for details) then
                        any name type matches for lookup.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->host</CODE
->: Do a standard host 
+>host</TT
+> : Do a standard host 
                        name to IP address resolution, using the system <TT
 CLASS="FILENAME"
 >/etc/hosts
@@ -252,27 +245,31 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->wins</CODE
->: Query a name with 
-                       the IP address listed in the <VAR
+>wins</TT
+> : Query a name with 
+                       the IP address listed in the <TT
 CLASS="PARAMETER"
->wins server</VAR
+><I
+>wins server</I
+></TT
 >
                        parameter.  If no WINS server has
                        been specified this method will be ignored.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->bcast</CODE
->: Do a broadcast on 
+>bcast</TT
+> : Do a broadcast on 
                        each of the known local interfaces listed in the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 >
                        parameter. This is the least reliable of the name resolution 
                        methods as it depends on the target host being on a locally 
@@ -281,26 +278,22 @@ CLASS="PARAMETER"
 ></UL
 ><P
 >If this parameter is not set then the name resolve order 
-               defined in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               defined in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file parameter  
                (name resolve order) will be used. </P
 ><P
 >The default order is lmhosts, host, wins, bcast and without 
-               this parameter or any entry in the <VAR
+               this parameter or any entry in the <TT
 CLASS="PARAMETER"
+><I
 >name resolve order
-               </VAR
-> parameter of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               </I
+></TT
+> parameter of the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file the name resolution
                methods will be attempted in this order. </P
 ></DD
@@ -336,25 +329,23 @@ CLASS="FILENAME"
 > 
                to the machine FRED. </P
 ><P
->You may also find the <VAR
+>You may also find the <TT
 CLASS="PARAMETER"
->-U</VAR
+><I
+>-U</I
+></TT
 > and 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->-I</VAR
+><I
+>-I</I
+></TT
 > options useful, as they allow you to 
                control the FROM and TO parts of the message. </P
 ><P
->See the <VAR
-CLASS="PARAMETER"
->message command</VAR
-> parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+>See the message command parameter in the <TT
+CLASS="FILENAME"
+>              smb.conf(5)</TT
 > for a description of how to handle incoming 
                WinPopup messages in Samba. </P
 ><P
@@ -417,9 +408,11 @@ CLASS="EMPHASIS"
 >-d debuglevel</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer from 0 to 10, or 
                the letter 'A'. </P
 ><P
@@ -437,9 +430,11 @@ CLASS="REPLACEABLE"
                data, and should only be used when investigating a problem.
                Levels above 3 are designed for use only by developers and 
                generate HUGE amounts of log data, most of which is extremely 
-               cryptic. If <VAR
+               cryptic. If <TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is set to the letter 'A', then <SPAN
 CLASS="emphasis"
 ><I
@@ -477,9 +472,11 @@ CLASS="FILENAME"
 >-l logfilename</DT
 ><DD
 ><P
->If specified, <VAR
+>If specified, <TT
 CLASS="REPLACEABLE"
->logfilename</VAR
+><I
+>logfilename</I
+></TT
 > specifies a base filename 
                into which operational data from the running client will be 
                logged. </P
@@ -506,17 +503,21 @@ CLASS="FILENAME"
 >-I IP-address</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->IP address</VAR
+><I
+>IP address</I
+></TT
 > is the address of the server to connect to. 
                It should be specified in standard "a.b.c.d" notation. </P
 ><P
 >Normally the client would attempt to locate a named 
                SMB/CIFS server by looking it up via the NetBIOS name resolution 
-               mechanism described above in the <VAR
+               mechanism described above in the <TT
 CLASS="PARAMETER"
->name resolve order</VAR
+><I
+>name resolve order</I
+></TT
 > 
                parameter above. Using this parameter will force the client
                to assume that the server is on the machine with the specified IP 
@@ -544,19 +545,19 @@ CLASS="PARAMETER"
 ><P
 >Sets the SMB username or username and password. 
                If %pass is not specified, The user will be prompted. The client 
-               will first check the <VAR
+               will first check the <TT
 CLASS="ENVAR"
->USER</VAR
+>USER</TT
 > environment variable, then the 
-               <VAR
+               <TT
 CLASS="ENVAR"
->LOGNAME</VAR
+>LOGNAME</TT
 > variable and if either exists, the 
                string is uppercased. Anything in these variables following a '%' 
                sign will be treated as the password. If these environment 
-               variables are not found, the username <CODE
+               variables are not found, the username <TT
 CLASS="CONSTANT"
->GUEST</CODE
+>GUEST</TT
 > 
                is used. </P
 ><P
@@ -565,9 +566,9 @@ CLASS="CONSTANT"
 CLASS="COMMAND"
 >smbclient</B
 > will look for 
-               a <VAR
+               a <TT
 CLASS="ENVAR"
->PASSWD</VAR
+>PASSWD</TT
 > environment variable from which 
                to read the password. </P
 ><P
@@ -577,15 +578,17 @@ CLASS="ENVAR"
                wish to pass the credentials on the command line or via environment 
                variables. If this method is used, make certain that the permissions 
                on the file restrict access from unwanted users.  See the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->-A</VAR
+><I
+>-A</I
+></TT
 > for more details. </P
 ><P
 >Be cautious about including passwords in scripts or in 
-               the <VAR
+               the <TT
 CLASS="ENVAR"
->PASSWD</VAR
+>PASSWD</TT
 > environment variable. Also, on 
                many systems the command line of a running process may be seen 
                via the <B
@@ -609,9 +612,10 @@ CLASS="COMMAND"
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
->username = &#60;value&#62; 
-password = &#60;value&#62;
-domain = &#60;value&#62;</PRE
+>username = &lt;value&gt; 
+password = &lt;value&gt;
+domain = &lt;value&gt;
+               </PRE
 ></P
 ><P
 >If the domain parameter is missing the current workgroup name
@@ -627,10 +631,12 @@ domain = &#60;value&#62;</PRE
 CLASS="COMMAND"
 >smbclient -L 
                host</B
-> and a list should appear.  The <VAR
+> and a list should appear.  The <TT
 CLASS="PARAMETER"
+><I
 >-I
-               </VAR
+               </I
+></TT
 > option may be useful if your NetBIOS names don't 
                match your TCP/IP DNS host names or if you are trying to reach a 
                host on another network. </P
@@ -684,14 +690,12 @@ CLASS="COMMAND"
 ><DD
 ><P
 >Override the default workgroup (domain) specified
-               in the workgroup parameter of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->      file for this connection. This may be 
-               needed to connect to some servers. </P
+               in the workgroup parameter of the <TT
+CLASS="FILENAME"
+>smb.conf</TT
+>
+               file for this connection. This may be needed to connect to some
+               servers. </P
 ></DD
 ><DT
 >-T tar options</DT
@@ -709,31 +713,39 @@ CLASS="COMMAND"
 ><UL
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->c</VAR
+><I
+>c</I
+></TT
 > - Create a tar file on UNIX. 
                        Must be followed by the name of a tar file, tape device
                        or "-" for standard output. If using standard output you must 
                        turn the log level to its lowest value -d0 to avoid corrupting 
                        your tar file. This flag is mutually exclusive with the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->x</VAR
+><I
+>x</I
+></TT
 > flag. </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->x</VAR
+><I
+>x</I
+></TT
 > - Extract (restore) a local 
                        tar file back to a share. Unless the -D option is given, the tar 
                        files will be restored from the top level of the share. Must be 
                        followed by the name of the tar file, device or "-" for standard 
-                       input. Mutually exclusive with the <VAR
+                       input. Mutually exclusive with the <TT
 CLASS="PARAMETER"
->c</VAR
+><I
+>c</I
+></TT
 > flag. 
                        Restored files have their creation times (mtime) set to the
                        date saved in the tar file. Directories currently do not get 
@@ -741,9 +753,11 @@ CLASS="PARAMETER"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->I</VAR
+><I
+>I</I
+></TT
 > - Include files and directories. 
                        Is the default behavior when filenames are specified above. Causes 
                        tar files to be included in an extract or create (and therefore 
@@ -752,22 +766,28 @@ CLASS="PARAMETER"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->X</VAR
+><I
+>X</I
+></TT
 > - Exclude files and directories. 
                        Causes tar files to be excluded from an extract or create. See 
                        example below.  Filename globbing works in one of two ways now. 
-                       See <VAR
+                       See <TT
 CLASS="PARAMETER"
->r</VAR
+><I
+>r</I
+></TT
 > below. </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->b</VAR
+><I
+>b</I
+></TT
 > - Blocksize. Must be followed 
                        by a valid (greater than zero) blocksize.  Causes tar file to be 
                        written out in blocksize*TBLOCK (usually 512 byte) blocks. 
@@ -775,30 +795,38 @@ CLASS="PARAMETER"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->g</VAR
+><I
+>g</I
+></TT
 > - Incremental. Only back up 
                        files that have the archive bit set. Useful only with the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->c</VAR
+><I
+>c</I
+></TT
 > flag. </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->q</VAR
+><I
+>q</I
+></TT
 > - Quiet. Keeps tar from printing 
                        diagnostics as it works.  This is the same as tarmode quiet. 
                        </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->r</VAR
+><I
+>r</I
+></TT
 > - Regular expression include
                        or exclude.  Uses regular  expression matching for 
                        excluding or excluding files if  compiled with HAVE_REGEX_H. 
@@ -808,31 +836,41 @@ CLASS="PARAMETER"
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->N</VAR
+><I
+>N</I
+></TT
 > - Newer than. Must be followed 
                        by the name of a file whose date is compared against files found 
                        on the share during a create. Only files newer than the file 
                        specified are backed up to the tar file. Useful only with the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->c</VAR
+><I
+>c</I
+></TT
 > flag. </P
 ></LI
 ><LI
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->a</VAR
+><I
+>a</I
+></TT
 > - Set archive bit. Causes the 
                        archive bit to be reset when a file is backed up. Useful with the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->g</VAR
-> and <VAR
+><I
+>g</I
+></TT
+> and <TT
 CLASS="PARAMETER"
->c</VAR
+><I
+>c</I
+></TT
 > flags. 
                        </P
 ></LI
@@ -867,7 +905,7 @@ CLASS="EMPHASIS"
 ></SPAN
 ></P
 ><P
->All file names can be given as DOS path names (with '\\
+>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). </P
 ><P
@@ -944,12 +982,16 @@ CLASS="COMMAND"
 ><DD
 ><P
 >command string is a semicolon-separated list of 
-               commands to be executed instead of prompting from stdin. <VAR
+               commands to be executed instead of prompting from stdin. <TT
 CLASS="PARAMETER"
->              -N</VAR
-> is implied by <VAR
+><I
+>              -N</I
+></TT
+> is implied by <TT
 CLASS="PARAMETER"
->-c</VAR
+><I
+>-c</I
+></TT
 >.</P
 ><P
 >This is particularly useful in scripts and for printing stdin 
@@ -958,21 +1000,13 @@ CLASS="COMMAND"
 >-c 'print -'</B
 >. </P
 ></DD
-><DT
->-k</DT
-><DD
-><P
->              Try to authenticate with kerberos. Only useful in 
-               an Active Directory environment.
-               </P
-></DD
 ></DL
 ></DIV
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN336"
+NAME="AEN310"
 ></A
 ><H2
 >OPERATIONS</H2
@@ -980,12 +1014,12 @@ NAME="AEN336"
 >Once the client is running, the user is presented with 
        a prompt : </P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->smb:\&#62; </SAMP
+>smb:\&gt; </TT
 ></P
 ><P
->The backslash ("\\") indicates the current working directory 
+>The backslash ("\") indicates the current working directory 
        on the server, and will change if the current working directory 
        is changed. </P
 ><P
@@ -1002,7 +1036,7 @@ CLASS="PROMPT"
 ><P
 >Parameters shown in square brackets (e.g., "[parameter]") are 
        optional.  If not given, the command will use suitable defaults. Parameters 
-       shown in angle brackets (e.g., "&#60;parameter&#62;") are required.
+       shown in angle brackets (e.g., "&lt;parameter&gt;") are required.
        </P
 ><P
 >Note that all commands operating on the server are actually 
@@ -1020,9 +1054,11 @@ CLASS="VARIABLELIST"
 >? [command]</DT
 ><DD
 ><P
->If <VAR
+>If <TT
 CLASS="REPLACEABLE"
->command</VAR
+><I
+>command</I
+></TT
 > is specified, the ? command will display 
                a brief informative message about the specified command.  If no 
                command is specified, a list of available commands will
@@ -1032,9 +1068,11 @@ CLASS="REPLACEABLE"
 >! [shell command]</DT
 ><DD
 ><P
->If <VAR
+>If <TT
 CLASS="REPLACEABLE"
->shell command</VAR
+><I
+>shell command</I
+></TT
 > is specified, the !  
                command will execute a shell locally and run the specified shell 
                command. If no command is specified, a local shell will be run. 
@@ -1089,23 +1127,27 @@ CLASS="REPLACEABLE"
                directory on the server will be reported. </P
 ></DD
 ><DT
->del &#60;mask&#62;</DT
+>del &lt;mask&gt;</DT
 ><DD
 ><P
 >The client will request that the server attempt 
-               to delete all files matching <VAR
+               to delete all files matching <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > from the current working 
                directory on the server. </P
 ></DD
 ><DT
->dir &#60;mask&#62;</DT
+>dir &lt;mask&gt;</DT
 ><DD
 ><P
->A list of the files matching <VAR
+>A list of the files matching <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > in the current 
                working directory on the server will be retrieved from the server 
                and displayed. </P
@@ -1118,7 +1160,7 @@ CLASS="REPLACEABLE"
                from the program. </P
 ></DD
 ><DT
->get &#60;remote file name&#62; [local file name]</DT
+>get &lt;remote file name&gt; [local file name]</DT
 ><DD
 ><P
 >Copy the file called <TT
@@ -1146,9 +1188,11 @@ CLASS="COMMAND"
 >lcd [directory name]</DT
 ><DD
 ><P
->If <VAR
+>If <TT
 CLASS="REPLACEABLE"
->directory name</VAR
+><I
+>directory name</I
+></TT
 > is specified, the current 
                working directory on the local machine will be changed to 
                the directory specified. This operation will fail if for any 
@@ -1181,13 +1225,13 @@ CLASS="REPLACEABLE"
                lowercase filenames are the norm on UNIX systems. </P
 ></DD
 ><DT
->ls &#60;mask&#62;</DT
+>ls &lt;mask&gt;</DT
 ><DD
 ><P
 >See the dir command above. </P
 ></DD
 ><DT
->mask &#60;mask&#62;</DT
+>mask &lt;mask&gt;</DT
 ><DD
 ><P
 >This command allows the user to set up a mask 
@@ -1213,24 +1257,28 @@ CLASS="REPLACEABLE"
                mask back to "*" after using the mget or mput commands. </P
 ></DD
 ><DT
->md &#60;directory name&#62;</DT
+>md &lt;directory name&gt;</DT
 ><DD
 ><P
 >See the mkdir command. </P
 ></DD
 ><DT
->mget &#60;mask&#62;</DT
+>mget &lt;mask&gt;</DT
 ><DD
 ><P
->Copy all files matching <VAR
+>Copy all files matching <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > from the server to 
                the machine running the client. </P
 ><P
->Note that <VAR
+>Note that <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > is interpreted differently during recursive 
                operation and non-recursive operation - refer to the recurse and 
                mask commands for more information. Note that all transfers in 
@@ -1240,26 +1288,30 @@ CLASS="COMMAND"
 > are binary. See also the lowercase command. </P
 ></DD
 ><DT
->mkdir &#60;directory name&#62;</DT
+>mkdir &lt;directory name&gt;</DT
 ><DD
 ><P
 >Create a new directory on the server (user access 
                privileges permitting) with the specified name. </P
 ></DD
 ><DT
->mput &#60;mask&#62;</DT
+>mput &lt;mask&gt;</DT
 ><DD
 ><P
->Copy all files matching <VAR
+>Copy all files matching <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > in the current working 
                directory on the local machine to the current working directory on 
                the server. </P
 ><P
->Note that <VAR
+>Note that <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > is interpreted differently during recursive 
                operation and non-recursive operation - refer to the recurse and mask 
                commands for more information. Note that all transfers in <B
@@ -1269,7 +1321,7 @@ CLASS="COMMAND"
                are binary. </P
 ></DD
 ><DT
->print &#60;file name&#62;</DT
+>print &lt;file name&gt;</DT
 ><DD
 ><P
 >Print the specified file from the local machine 
@@ -1278,7 +1330,7 @@ CLASS="COMMAND"
 >See also the printmode command.</P
 ></DD
 ><DT
->printmode &#60;graphics or text&#62;</DT
+>printmode &lt;graphics or text&gt;</DT
 ><DD
 ><P
 >Set the print mode to suit either binary data 
@@ -1298,7 +1350,7 @@ CLASS="COMMAND"
                </P
 ></DD
 ><DT
->put &#60;local file name&#62; [remote file name]</DT
+>put &lt;local file name&gt; [remote file name]</DT
 ><DD
 ><P
 >Copy the file called <TT
@@ -1330,7 +1382,7 @@ CLASS="COMMAND"
 >See the exit command. </P
 ></DD
 ><DT
->rd &#60;directory name&#62;</DT
+>rd &lt;directory name&gt;</DT
 ><DD
 ><P
 >See the rmdir command. </P
@@ -1355,24 +1407,26 @@ CLASS="COMMAND"
                using the mask command will be ignored. </P
 ></DD
 ><DT
->rm &#60;mask&#62;</DT
+>rm &lt;mask&gt;</DT
 ><DD
 ><P
->Remove all files matching <VAR
+>Remove all files matching <TT
 CLASS="REPLACEABLE"
->mask</VAR
+><I
+>mask</I
+></TT
 > from the current 
                working directory on the server. </P
 ></DD
 ><DT
->rmdir &#60;directory name&#62;</DT
+>rmdir &lt;directory name&gt;</DT
 ><DD
 ><P
 >Remove the specified directory (user access 
                privileges permitting) from the server. </P
 ></DD
 ><DT
->setmode &#60;filename&#62; &#60;perm=[+|\-]rsha&#62;</DT
+>setmode &lt;filename&gt; &lt;perm=[+|\-]rsha&gt;</DT
 ><DD
 ><P
 >A version of the DOS attrib command to set 
@@ -1397,13 +1451,15 @@ CLASS="COMMAND"
                </P
 ></DD
 ><DT
->tar &#60;c|x&#62;[IXbgNa]</DT
+>tar &lt;c|x&gt;[IXbgNa]</DT
 ><DD
 ><P
->Performs a tar operation - see the <VAR
+>Performs a tar operation - see the <TT
 CLASS="PARAMETER"
+><I
 >-T
-               </VAR
+               </I
+></TT
 > command line option above. Behavior may be affected 
                by the tarmode command (see below). Using g (incremental) and N 
                (newer) will affect tarmode settings. Note that using the "-" option 
@@ -1411,18 +1467,20 @@ CLASS="PARAMETER"
                </P
 ></DD
 ><DT
->blocksize &#60;blocksize&#62;</DT
+>blocksize &lt;blocksize&gt;</DT
 ><DD
 ><P
 >Blocksize. Must be followed by a valid (greater 
                than zero) blocksize. Causes tar file to be written out in 
-               <VAR
+               <TT
 CLASS="REPLACEABLE"
->blocksize</VAR
+><I
+>blocksize</I
+></TT
 >*TBLOCK (usually 512 byte) blocks. </P
 ></DD
 ><DT
->tarmode &#60;full|inc|reset|noreset&#62;</DT
+>tarmode &lt;full|inc|reset|noreset&gt;</DT
 ><DD
 ><P
 >Changes tar's behavior with regard to archive 
@@ -1438,7 +1496,7 @@ CLASS="REPLACEABLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN527"
+NAME="AEN501"
 ></A
 ><H2
 >NOTES</H2
@@ -1459,30 +1517,30 @@ NAME="AEN527"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN532"
+NAME="AEN506"
 ></A
 ><H2
 >ENVIRONMENT VARIABLES</H2
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->USER</VAR
+>USER</TT
 > may contain the 
        username of the person  using the client. This information is 
        used only if the protocol  level is high enough to support 
        session-level passwords.</P
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->PASSWD</VAR
+>PASSWD</TT
 > may contain 
        the password of the person using the client.  This information is 
        used only if the protocol level is high enough to support 
        session-level passwords. </P
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->LIBSMB_PROG</VAR
+>LIBSMB_PROG</TT
 > may contain 
        the path, executed with system(), which the client should connect 
         to instead of connecting to a server.  This functionality is primarily
@@ -1492,7 +1550,7 @@ CLASS="ENVAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN540"
+NAME="AEN514"
 ></A
 ><H2
 >INSTALLATION</H2
@@ -1523,12 +1581,10 @@ CLASS="EMPHASIS"
        and writeable only by the user. </P
 ><P
 >To test the client, you will need to know the name of a 
-       running SMB/CIFS server. It is possible to run <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+       running SMB/CIFS server. It is possible to run <B
+CLASS="COMMAND"
+>smbd(8)
+       </B
 > 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. </P
@@ -1536,7 +1592,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN552"
+NAME="AEN524"
 ></A
 ><H2
 >DIAGNOSTICS</H2
@@ -1552,17 +1608,18 @@ NAME="AEN552"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN556"
+NAME="AEN528"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 2.2 of the Samba suite.</P
+>This man page is correct for version 2.2 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN559"
+NAME="AEN531"
 ></A
 ><H2
 >AUTHOR</H2
@@ -1574,14 +1631,14 @@ NAME="AEN559"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index dcea1b564a1de17f91ae9f086d021847e7859fee..12662dcc041f67cca53181decaf2a43c244e0a6b 100644 (file)
@@ -5,7 +5,7 @@
 >smbcontrol</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBCONTROL.1"
+NAME="SMBCONTROL"
 ></A
 >smbcontrol</H1
 ><DIV
@@ -52,42 +52,37 @@ NAME="AEN17"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
 CLASS="COMMAND"
 >smbcontrol</B
 > is a very small program, which 
-       sends messages to a <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, a <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->, or a <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
-> daemon running on the system.</P
+       sends messages to an <A
+HREF="smbd.8.html"
+TARGET="_top"
+>smbd(8)</A
+>, 
+       an <A
+HREF="nmbd.8.html"
+TARGET="_top"
+>nmbd(8)</A
+>
+       or a <A
+HREF="winbindd.8.html"
+TARGET="_top"
+>winbindd(8)</A
+> 
+       daemon running on the system.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN34"
+NAME="AEN26"
 ></A
 ><H2
 >OPTIONS</H2
@@ -109,23 +104,32 @@ CLASS="VARIABLELIST"
 >destination</DT
 ><DD
 ><P
->One of <VAR
+>One of <TT
 CLASS="PARAMETER"
->nmbd</VAR
->, <VAR
+><I
+>nmbd</I
+></TT
+>
+               <TT
 CLASS="PARAMETER"
->smbd</VAR
+><I
+>smbd</I
+></TT
 > or a process ID.</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->smbd</VAR
+><I
+>smbd</I
+></TT
 > destination causes the 
                message to "broadcast" to all smbd daemons.</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->nmbd</VAR
+><I
+>nmbd</I
+></TT
 > destination causes the 
                message to be sent to the nmbd daemon specified in the 
                <TT
@@ -140,39 +144,39 @@ CLASS="FILENAME"
 >message-type</DT
 ><DD
 ><P
->One of: <CODE
+>One of: <TT
 CLASS="CONSTANT"
->close-share</CODE
+>close-share</TT
 >,
-               <CODE
+               <TT
 CLASS="CONSTANT"
->debug</CODE
+>debug</TT
 >, 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->force-election</CODE
->, <CODE
+>force-election</TT
+>, <TT
 CLASS="CONSTANT"
 >ping
-               </CODE
->, <CODE
+               </TT
+>, <TT
 CLASS="CONSTANT"
->profile</CODE
->, <CODE
+>profile</TT
+>, <TT
 CLASS="CONSTANT"
->              debuglevel</CODE
->, <CODE
+>              debuglevel</TT
+>, <TT
 CLASS="CONSTANT"
->profilelevel</CODE
+>profilelevel</TT
 >, 
-               or <CODE
+               or <TT
 CLASS="CONSTANT"
->printnotify</CODE
+>printnotify</TT
 >.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->close-share</CODE
+>close-share</TT
 > message-type sends a 
                message to smbd which will then close the client connections to
                the named share. Note that this doesn't affect client connections
@@ -180,25 +184,25 @@ CLASS="CONSTANT"
                share name for which client connections will be closed, or the
                "*" character which will close all currently open shares.
                This may be useful if you made changes to the access controls on the share.
-               This message can only be sent to <CODE
+               This message can only be sent to <TT
 CLASS="CONSTANT"
->smbd</CODE
+>smbd</TT
 >.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->debug</CODE
+>debug</TT
 > message-type allows 
                the debug level to be set to the value specified by the 
                parameter. This can be sent to any of the destinations.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->force-election</CODE
+>force-election</TT
 > message-type can only be 
-               sent to the <CODE
+               sent to the <TT
 CLASS="CONSTANT"
->nmbd</CODE
+>nmbd</TT
 > destination. This message 
                causes the <B
 CLASS="COMMAND"
@@ -206,17 +210,17 @@ CLASS="COMMAND"
 > daemon to force a new browse
                master election.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->ping</CODE
+>ping</TT
 > message-type sends the 
                number of "ping" messages specified by the parameter and waits 
                for the same number of  reply "pong" messages. This can be sent to 
                any of the destinations.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->profile</CODE
+>profile</TT
 > message-type sends a 
                message to an smbd to change the profile settings based on the 
                parameter. The parameter can be "on" to turn on profile stats 
@@ -225,25 +229,25 @@ CLASS="CONSTANT"
                disabled), and "flush" to zero the current profile stats. This can 
                be sent to any smbd or nmbd destinations.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->debuglevel</CODE
+>debuglevel</TT
 > message-type sends 
                a "request debug level" message. The current debug level setting 
                is returned by a  "debuglevel" message. This can be 
                sent to any of the destinations.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->profilelevel</CODE
+>profilelevel</TT
 > message-type sends 
                a "request profile level" message.  The current profile level 
                setting is returned by a  "profilelevel" message. This can be sent 
                to any smbd or nmbd destinations.</P
 ><P
->The <CODE
+>The <TT
 CLASS="CONSTANT"
->printnotify</CODE
+>printnotify</TT
 > message-type sends a 
                message to smbd which in turn sends a printer notify message to 
                any Windows NT clients connected to a printer. This message-type
@@ -300,9 +304,9 @@ CLASS="VARIABLELIST"
                event has occured.  It doesn't actually cause the
                event to happen.
 
-               This message can only be sent to <CODE
+               This message can only be sent to <TT
 CLASS="CONSTANT"
->smbd</CODE
+>smbd</TT
 >. 
                </P
 ></DD
@@ -318,7 +322,7 @@ CLASS="CONSTANT"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN110"
+NAME="AEN102"
 ></A
 ><H2
 >VERSION</H2
@@ -329,29 +333,33 @@ NAME="AEN110"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN113"
+NAME="AEN105"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
-> and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->.</P
+><A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
+>, 
+       and <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>.
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN122"
+NAME="AEN112"
 ></A
 ><H2
 >AUTHOR</H2
@@ -363,14 +371,14 @@ NAME="AEN122"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 6f1cb8c0573df2277159afa7e74977690326efd1..65f5f95b8dbd45dbf0395bd58399ecb43adea76b 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >smbd</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBD.8"
-></A
->smbd</H1
+NAME="SMBD">smbd</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -29,15 +28,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >smbd</B
->  [-D] [-F] [-S] [-i] [-h] [-V] [-b] [-d &#60;debug level&#62;] [-l &#60;log directory&#62;] [-p &#60;port number&#62;] [-O &#60;socket option&#62;] [-s &#60;configuration file&#62;]</P
+> [-D] [-F] [-S] [-i] [-h] [-V] [-b] [-d &#60;debug level&#62;] [-l &#60;log directory&#62;] [-p &#60;port number&#62;] [-O &#60;socket option&#62;] [-s &#60;configuration file&#62;]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,13 +44,7 @@ NAME="AEN23"
 ><H2
 >DESCRIPTION</H2
 ><P
->This program is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
-> suite.</P
+>This program is part of the Samba suite.</P
 ><P
 ><B
 CLASS="COMMAND"
@@ -70,24 +61,28 @@ CLASS="COMMAND"
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+       services (see <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)
+       </TT
+></A
 >.  This man page will not describe the 
        services, but will concentrate on the administrative aspects 
        of running the server.</P
 ><P
 >Please note that there are significant security 
-       implications to running this server, and the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> manual page should be regarded as mandatory reading before 
+       implications to running this server, and the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+></A
+> 
+       manpage should be regarded as mandatory reading before 
        proceeding with installation.</P
 ><P
 >A session is created whenever a client requests one. 
@@ -109,7 +104,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN42"
+NAME="AEN37"
 ></A
 ><H2
 >OPTIONS</H2
@@ -230,9 +225,11 @@ CLASS="COMMAND"
 >-d &#60;debug level&#62;</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer 
                from 0 to 10.  The default value if this parameter is 
                not specified is zero.</P
@@ -254,17 +251,15 @@ CLASS="REPLACEABLE"
                override the <A
 HREF="smb.conf.5.html#loglevel"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
 >log
-               level</VAR
+               level</A
+> parameter in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>              <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
 ></A
-> parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
 > file.</P
 ></DD
 ><DT
@@ -272,9 +267,11 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >If specified,
-               <VAR
+               <TT
 CLASS="REPLACEABLE"
->log directory</VAR
+><I
+>log directory</I
+></TT
 > 
                specifies a log directory into which the "log.smbd" log
                file will be created for informational and debug 
@@ -283,23 +280,18 @@ CLASS="REPLACEABLE"
                its size may be controlled by the <A
 HREF="smb.conf.5.html#maxlogsize"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->max log size</VAR
-></A
+>max log size</A
 >
-               option in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> file. <SPAN
-CLASS="emphasis"
-><I
+               option in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>              smb.conf(5)</TT
+></A
+> file. <I
 CLASS="EMPHASIS"
 >Beware:</I
-></SPAN
 >
                If the directory specified does not exist, <B
 CLASS="COMMAND"
@@ -318,26 +310,27 @@ CLASS="COMMAND"
 >See the <A
 HREF="smb.conf.5.html#socketoptions"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->socket options</VAR
-></A
+>socket options</A
 > 
-               parameter in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               parameter in the <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)
+               </TT
+></A
 > file for details.</P
 ></DD
 ><DT
 >-p &#60;port number&#62;</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->port number</VAR
+><I
+>port number</I
+></TT
 > is a positive integer 
                value.  The default value if this parameter is not 
                specified is 139.</P
@@ -369,12 +362,13 @@ CLASS="REPLACEABLE"
                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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               to provide. See <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>              smb.conf(5)</TT
+></A
 > for more information.
                The default configuration file name is determined at 
                compile time.</P
@@ -385,7 +379,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN135"
+NAME="AEN123"
 ></A
 ><H2
 >FILES</H2
@@ -408,9 +402,9 @@ CLASS="COMMAND"
 > meta-daemon, this file 
                must contain suitable startup information for the 
                meta-daemon. See the <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->"How to Install and Test SAMBA"</A
+>UNIX_INSTALL.html</A
 >
                document for details.
                </P
@@ -428,9 +422,9 @@ CLASS="FILENAME"
 >If running the server as a daemon at startup, 
                this file will need to contain an appropriate startup 
                sequence for the server. See the <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->"How to Install and Test SAMBA"</A
+>UNIX_INSTALL.html</A
 >
                document for details.</P
 ></DD
@@ -449,9 +443,9 @@ CLASS="COMMAND"
                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 <A
-HREF="install.html"
+HREF="UNIX_INSTALL.html"
 TARGET="_top"
->"How to Install and Test SAMBA"</A
+>UNIX_INSTALL.html</A
 >
                document for details.</P
 ></DD
@@ -462,30 +456,34 @@ CLASS="FILENAME"
 ></DT
 ><DD
 ><P
->This is the default location of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> server configuration file. Other common places that systems 
+>This is the default location of the 
+               <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf</TT
+></A
+>
+               server configuration file. Other common places that systems 
                install this file are <TT
 CLASS="FILENAME"
 >/usr/samba/lib/smb.conf</TT
 > 
                and <TT
 CLASS="FILENAME"
->/etc/samba/smb.conf</TT
+>/etc/smb.conf</TT
 >.</P
 ><P
 >This file describes all the services the server 
-               is to make available to clients. See <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> for more information.</P
+               is to make available to clients. See <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>              <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+></A
+>  for more information.</P
 ></DD
 ></DL
 ></DIV
@@ -493,7 +491,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN173"
+NAME="AEN159"
 ></A
 ><H2
 >LIMITATIONS</H2
@@ -512,7 +510,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN177"
+NAME="AEN163"
 ></A
 ><H2
 >ENVIRONMENT VARIABLES</H2
@@ -522,17 +520,17 @@ NAME="AEN177"
 CLASS="VARIABLELIST"
 ><DL
 ><DT
-><VAR
+><TT
 CLASS="ENVAR"
->PRINTER</VAR
+>PRINTER</TT
 ></DT
 ><DD
 ><P
 >If no printer name is specified to 
                printable services, most systems will use the value of 
-               this variable (or <CODE
+               this variable (or <TT
 CLASS="CONSTANT"
->lp</CODE
+>lp</TT
 > if this variable is 
                not defined) as the name of the printer to use. This 
                is not specific to the server, however.</P
@@ -543,7 +541,7 @@ CLASS="CONSTANT"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN186"
+NAME="AEN172"
 ></A
 ><H2
 >PAM INTERACTION</H2
@@ -551,33 +549,22 @@ NAME="AEN186"
 >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 <A
+       by the limitations of the SMB protocol and the 
+       <A
 HREF="smb.conf.5.html#OBEYPAMRESRICTIONS"
 TARGET="_top"
-><VAR
-CLASS="PARAMETER"
->obey 
-       pam restricions</VAR
-></A
-> <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> paramater.  When this is set, the following restrictions apply:
+>obey pam restricions</A
+>
+       smb.conf paramater.  When this is set, the following restrictions apply:
        </P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Account Validation</I
-></SPAN
 >:  All accesses to a 
        samba server are checked 
        against PAM to see if the account is vaild, not disabled and is permitted to 
@@ -586,12 +573,9 @@ CLASS="EMPHASIS"
 ></LI
 ><LI
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Session Management</I
-></SPAN
 >:  When not using share 
        level secuirty, users must pass PAM's session checks before access 
        is granted.  Note however, that this is bypassed in share level secuirty.  
@@ -604,7 +588,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN201"
+NAME="AEN183"
 ></A
 ><H2
 >VERSION</H2
@@ -615,7 +599,7 @@ NAME="AEN201"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN204"
+NAME="AEN186"
 ></A
 ><H2
 >DIAGNOSTICS</H2
@@ -638,7 +622,7 @@ NAME="AEN204"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN209"
+NAME="AEN191"
 ></A
 ><H2
 >SIGNALS</H2
@@ -660,12 +644,9 @@ CLASS="COMMAND"
        that <B
 CLASS="COMMAND"
 >SIGKILL (-9)</B
-> <SPAN
-CLASS="emphasis"
-><I
+> <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > 
        be used, except as a last resort, as this may leave the shared
        memory area in an inconsistent state. The safe way to terminate 
@@ -679,14 +660,16 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbd</B
 > may be raised
-       or lowered using <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbcontrol</SPAN
->(1)</SPAN
-> 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 <A
+HREF="smbcontrol.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbcontrol(1)
+       </B
+></A
+> 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.</P
 ><P
 >Note that as the signal handlers send a debug write, 
@@ -705,55 +688,55 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN227"
+NAME="AEN208"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->hosts_access</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->inetd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testparm</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->testprns</SPAN
->(1)</SPAN
->, and the 
-       Internet RFC's  <TT
+>hosts_access(5), <B
+CLASS="COMMAND"
+>inetd(8)</B
+>, 
+       <A
+HREF="nmbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>nmbd(8)</B
+></A
+>
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+>
+       </A
+>, <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)
+       </B
+></A
+>, <A
+HREF="testparm.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      testparm(1)</B
+></A
+>, <A
+HREF="testprns.1.html"
+TARGET="_top"
+>      <B
+CLASS="COMMAND"
+>testprns(1)</B
+></A
+>, and the Internet RFC's
+       <TT
 CLASS="FILENAME"
 >rfc1001.txt</TT
 >, <TT
@@ -771,7 +754,7 @@ TARGET="_top"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN254"
+NAME="AEN225"
 ></A
 ><H2
 >AUTHOR</H2
@@ -783,14 +766,14 @@ NAME="AEN254"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 32e00315b4981550e78510be679554673e23341e..e20b34883c72467e4eb34485fd63ba44f277d475 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >smbgroupedit</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBGROUPEDIT.8"
-></A
->smbgroupedit</H1
+NAME="SMBGROUPEDIT">smbgroupedit</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -29,15 +28,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >smbroupedit</B
->  [-v [l|s]] [-a UNIX-groupname [-d NT-groupname|-p privilege|]]</P
+> [-v [l|s]] [-a UNIX-groupname [-d NT-groupname|-p privilege|]]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,13 +44,12 @@ NAME="AEN13"
 ><H2
 >DESCRIPTION</H2
 ><P
->This program is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
-> suite.</P
+>This program is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>Samba</A
+>
+suite.</P
 ><P
 >The  smbgroupedit  command  allows for mapping unix groups
 to NT Builtin, Domain, or Local groups.  Also
@@ -63,7 +59,7 @@ etc.</P
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20"
+NAME="AEN18"
 ></A
 ><H2
 >OPTIONS</H2
@@ -90,6 +86,12 @@ CLASS="VARIABLELIST"
 ><P
 >give a long listing, of the format:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
 >"NT Group Name"
@@ -98,10 +100,20 @@ CLASS="PROGRAMLISTING"
     Group type     :
     Comment        :
     Privilege      :</PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
->For example:
-<PRE
+>For examples,</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >Users
     SID       : S-1-5-32-545
@@ -109,6 +121,9 @@ CLASS="PROGRAMLISTING"
     Group type: Local group
     Comment   :
     Privilege : No privilege</PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ><DT
@@ -117,15 +132,34 @@ CLASS="PROGRAMLISTING"
 ><P
 >display a short listing of the format:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
 >NTGroupName(SID) -&#62; UnixGroupName</PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
->For example:
-<PRE
+>For example,</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >Users (S-1-5-32-545) -&#62; -1</PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DD
 ></DL
@@ -179,9 +213,9 @@ TYPE="1"
        <TT
 CLASS="FILENAME"
 >/etc/group</TT
->), let's call it <CODE
+>), let's call it <TT
 CLASS="CONSTANT"
->domadm</CODE
+>domadm</TT
 >.
        </P
 ></LI
@@ -199,50 +233,69 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
->map this domadm group to the 'domain admins' group:</P
+>map this domadm group to the 'domain admins' group:
+       </P
 ><P
 ></P
 ><OL
 TYPE="a"
 ><LI
 ><P
->Get the SID for the Windows NT "Domain Admins" group:</P
+>Get the SID for the Windows NT "Domain Admins"
+               group:</P
 ><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
 >smbgroupedit -vs | grep "Domain Admins"</B
 >
 Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -&#62; -1</PRE
+></TD
+></TR
+></TABLE
 ></P
 ></LI
 ><LI
 ><P
 >map the unix domadm group to the Windows NT
                "Domain Admins" group, by running the command:
-<PRE
+               </P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
 >smbgroupedit \
 -c S-1-5-21-1108995562-3116817432-1375597819-512 \
 -u domadm -td</B
 ></PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
-><SPAN
-CLASS="emphasis"
-><I
+>              <I
 CLASS="EMPHASIS"
 >warning:</I
-></SPAN
 > don't copy and paste this sample, the
                Domain Admins SID (the S-1-5-21-...-512) is different for every PDC.
                </P
@@ -251,37 +304,57 @@ CLASS="EMPHASIS"
 ></LI
 ></OL
 ><P
->To verify that your mapping has taken effect:
-<PRE
+>To verify that your mapping has taken effect:</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
 >smbgroupedit -vs|grep "Domain Admins"</B
 >
 Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -&#62; domadm</PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >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:
-<PRE
+of a group on your samba PDC, flag that group as a domain group:</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root# </SAMP
+>root# </TT
 ><B
 CLASS="COMMAND"
 >smbgroupedit -a unixgroup -td</B
 ></PRE
+></TD
+></TR
+></TABLE
 ></P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN87"
+NAME="AEN90"
 ></A
 ><H2
 >VERSION</H2
@@ -292,23 +365,21 @@ the Samba suite.</P
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN90"
+NAME="AEN93"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
 ></P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN96"
+NAME="AEN97"
 ></A
 ><H2
 >AUTHOR</H2
@@ -323,8 +394,7 @@ CLASS="COMMAND"
 >smbgroupedit</B
 > 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.</P
+by the Samba Team in the same fashion as the Samba source code.</P
 ></DIV
 ></BODY
 ></HTML
index 1eabc3ce0ea1d15a68db7727127184e65c231055..06b9fb1fd34a8c0cb3c29b7f9820e591164de599 100644 (file)
@@ -5,7 +5,7 @@
 >smbmnt</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBMNT.8"
+NAME="SMBMNT"
 ></A
 >smbmnt</H1
 ><DIV
@@ -37,7 +37,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >smbmnt</B
->  {mount-point} [-s &#60;share&#62;] [-r] [-u &#60;uid&#62;] [-g &#60;gid&#62;] [-f &#60;mask&#62;] [-d &#60;mask&#62;] [-o &#60;options&#62;]</P
+>  {mount-point} [-s &lt;share&gt;] [-r] [-u &lt;uid&gt;] [-g &lt;gid&gt;] [-f &lt;mask&gt;] [-d &lt;mask&gt;] [-o &lt;options&gt;]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -65,12 +65,14 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >smbmnt</B
 > program is normally invoked 
-       by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbmount</SPAN
->(8)</SPAN
+       by <A
+HREF="smbmount.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbmount(8)</B
+>
+       </A
 >. It should not be invoked directly by users. </P
 ><P
 >smbmount searches the normal PATH for smbmnt. You must ensure
@@ -79,7 +81,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN31"
+NAME="AEN30"
 ></A
 ><H2
 >OPTIONS</H2
@@ -137,7 +139,7 @@ CLASS="VARIABLELIST"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN58"
+NAME="AEN57"
 ></A
 ><H2
 >AUTHOR</H2
@@ -170,8 +172,7 @@ TARGET="_top"
        </P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 0844c21a7da756a49bdf95b02716d7afd33a86e8..81a3ac04b2e593e4e92b6f30ba7907b6e09f5bf6 100644 (file)
@@ -5,7 +5,7 @@
 >smbmount</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBMOUNT.8"
+NAME="SMBMOUNT"
 ></A
 >smbmount</H1
 ><DIV
@@ -55,12 +55,9 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >mount.smbfs</B
 > by
-       the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->mount</SPAN
->(8)</SPAN
+       the <B
+CLASS="COMMAND"
+>mount(8)</B
 > command when using the 
        "-t smbfs" option. This command only works in Linux, and the kernel must
        support the smbfs filesystem. </P
@@ -83,9 +80,10 @@ CLASS="COMMAND"
        typically this output will end up in <TT
 CLASS="FILENAME"
 >log.smbmount</TT
->. The <B
+>. The
+       <B
 CLASS="COMMAND"
->      smbmount</B
+>smbmount</B
 > process may also be called mount.smbfs.</P
 ><P
 ><SPAN
@@ -98,12 +96,9 @@ CLASS="EMPHASIS"
 CLASS="COMMAND"
 >smbmount</B
 > 
-       calls <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbmnt</SPAN
->(8)</SPAN
+       calls <B
+CLASS="COMMAND"
+>smbmnt(8)</B
 > to do the actual mount. You 
        must make sure that <B
 CLASS="COMMAND"
@@ -114,7 +109,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN35"
+NAME="AEN31"
 ></A
 ><H2
 >OPTIONS</H2
@@ -124,27 +119,27 @@ NAME="AEN35"
 CLASS="VARIABLELIST"
 ><DL
 ><DT
->username=&#60;arg&#62;</DT
+>username=&lt;arg&gt;</DT
 ><DD
 ><P
 >specifies the username to connect as. If
-               this is not given, then the environment variable <VAR
+               this is not given, then the environment variable <TT
 CLASS="ENVAR"
->              USER</VAR
+>              USER</TT
 > is used. This option can also take the
                form "user%password" or "user/workgroup" or
                "user/workgroup%password" to allow the password and workgroup
                to be specified as part of the username.</P
 ></DD
 ><DT
->password=&#60;arg&#62;</DT
+>password=&lt;arg&gt;</DT
 ><DD
 ><P
 >specifies the SMB password. If this
                option is not given then the environment variable
-               <VAR
+               <TT
 CLASS="ENVAR"
->PASSWD</VAR
+>PASSWD</TT
 > is used. If it can find
                no password <B
 CLASS="COMMAND"
@@ -161,16 +156,19 @@ CLASS="COMMAND"
                </P
 ></DD
 ><DT
->credentials=&#60;filename&#62;</DT
+>credentials=&lt;filename&gt;</DT
 ><DD
 ><P
->specifies a file that contains a username and/or password. 
-The format of the file is:
-<PRE
+>specifies a file that contains a username
+               and/or password. The format of the file is:</P
+><P
+>              <PRE
 CLASS="PROGRAMLISTING"
->username = &#60;value&#62;
-password = &#60;value&#62;</PRE
-></P
+>              username = &lt;value&gt;
+               password = &lt;value&gt;
+               </PRE
+>
+               </P
 ><P
 >This is preferred over having passwords in plaintext in a
                shared file, such as <TT
@@ -181,14 +179,14 @@ CLASS="FILENAME"
                </P
 ></DD
 ><DT
->netbiosname=&#60;arg&#62;</DT
+>netbiosname=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the source NetBIOS name. It defaults 
                to the local hostname. </P
 ></DD
 ><DT
->uid=&#60;arg&#62;</DT
+>uid=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the uid that will own all files on
@@ -197,7 +195,7 @@ CLASS="FILENAME"
                </P
 ></DD
 ><DT
->gid=&#60;arg&#62;</DT
+>gid=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the gid that will own all files on
@@ -206,14 +204,14 @@ CLASS="FILENAME"
                gid. </P
 ></DD
 ><DT
->port=&#60;arg&#62;</DT
+>port=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the remote SMB port number. The default 
                is 139. </P
 ></DD
 ><DT
->fmask=&#60;arg&#62;</DT
+>fmask=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the file mask. This determines the 
@@ -221,7 +219,7 @@ CLASS="FILENAME"
                The default is based on the current umask. </P
 ></DD
 ><DT
->dmask=&#60;arg&#62;</DT
+>dmask=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the directory mask. This determines the 
@@ -229,7 +227,7 @@ CLASS="FILENAME"
                The default is based on the current umask. </P
 ></DD
 ><DT
->debug=&#60;arg&#62;</DT
+>debug=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the debug level. This is useful for 
@@ -238,40 +236,40 @@ CLASS="FILENAME"
                output, possibly hiding the useful output.</P
 ></DD
 ><DT
->ip=&#60;arg&#62;</DT
+>ip=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the destination host or IP address.
                </P
 ></DD
 ><DT
->workgroup=&#60;arg&#62;</DT
+>workgroup=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the workgroup on the destination </P
 ></DD
 ><DT
->sockopt=&#60;arg&#62;</DT
+>sockopt=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the TCP socket options. See the <A
 HREF="smb.conf.5.html#SOCKETOPTIONS"
 TARGET="_top"
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><TT
+CLASS="FILENAME"
+>smb.conf
+               </TT
 ></A
-> <VAR
+> <TT
 CLASS="PARAMETER"
->socket options</VAR
+><I
+>socket options</I
+></TT
 > option.
                </P
 ></DD
 ><DT
->scope=&#60;arg&#62;</DT
+>scope=&lt;arg&gt;</DT
 ><DD
 ><P
 >sets the NetBIOS scope </P
@@ -295,7 +293,7 @@ CLASS="PARAMETER"
 >mount read-write </P
 ></DD
 ><DT
->iocharset=&#60;arg&#62;</DT
+>iocharset=&lt;arg&gt;</DT
 ><DD
 ><P
 >              sets the charset used by the Linux side for codepage
@@ -305,7 +303,7 @@ CLASS="PARAMETER"
                </P
 ></DD
 ><DT
->codepage=&#60;arg&#62;</DT
+>codepage=&lt;arg&gt;</DT
 ><DD
 ><P
 >              sets the codepage the server uses. See the iocharset
@@ -314,7 +312,7 @@ CLASS="PARAMETER"
                </P
 ></DD
 ><DT
->ttl=&#60;arg&#62;</DT
+>ttl=&lt;arg&gt;</DT
 ><DD
 ><P
 >              sets how long a directory listing is cached in milliseconds
@@ -334,31 +332,31 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN130"
+NAME="AEN125"
 ></A
 ><H2
 >ENVIRONMENT VARIABLES</H2
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->USER</VAR
+>USER</TT
 > may contain the username of the
        person using the client.  This information is used only if the
        protocol level is high enough to support session-level
        passwords. The variable can be used to set both username and
        password by using the format username%password.</P
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->PASSWD</VAR
+>PASSWD</TT
 > may contain the password of the
        person using the client.  This information is used only if the
        protocol level is high enough to support session-level
        passwords.</P
 ><P
->The variable <VAR
+>The variable <TT
 CLASS="ENVAR"
->PASSWD_FILE</VAR
+>PASSWD_FILE</TT
 > may contain the pathname
        of a file to read the password from. A single line of input is
        read and used as the password.</P
@@ -366,7 +364,7 @@ CLASS="ENVAR"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN138"
+NAME="AEN133"
 ></A
 ><H2
 >BUGS</H2
@@ -401,7 +399,7 @@ NAME="AEN138"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN147"
+NAME="AEN142"
 ></A
 ><H2
 >SEE ALSO</H2
@@ -411,19 +409,22 @@ NAME="AEN147"
 ><P
 >FreeBSD also has a smbfs, but it is not related to smbmount</P
 ><P
->For Solaris, HP-UX and others you may want to look at <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbsh</SPAN
->(1)</SPAN
-> or at other solutions, such as 
-       Sharity or perhaps replacing the SMB server with a NFS server.</P
+>For Solaris, HP-UX and others you may want to look at
+       <A
+HREF="smbsh.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbsh(1)</B
+></A
+> or at other
+       solutions, such as sharity or perhaps replacing the SMB server with
+       a NFS server.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN155"
+NAME="AEN149"
 ></A
 ><H2
 >AUTHOR</H2
@@ -456,8 +457,7 @@ TARGET="_top"
        </P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 61b60d7d821b9605d1b9d08a3713eab514c467a6..ac3ab946915472cbdc3fac100434176463ecadf6 100644 (file)
@@ -5,7 +5,7 @@
 >smbpasswd</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBPASSWD.5"
+NAME="SMBPASSWD"
 ></A
 >smbpasswd</H1
 ><DIV
@@ -47,12 +47,10 @@ NAME="AEN11"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >smbpasswd is the Samba encrypted password file. It contains 
@@ -64,7 +62,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN18"
+NAME="AEN16"
 ></A
 ><H2
 >FILE FORMAT</H2
@@ -115,9 +113,9 @@ CLASS="VARIABLELIST"
                null password this field will contain the characters "NO PASSWORD" 
                as the start of the hex string. If the hex string is equal to 
                32 'X' characters then the user's account is marked as 
-               <CODE
+               <TT
 CLASS="CONSTANT"
->disabled</CODE
+>disabled</TT
 > and the user will not be able to 
                log onto the Samba server. </P
 ><P
@@ -206,7 +204,7 @@ CLASS="EMPHASIS"
                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.
                </P
 ><P
 ></P
@@ -235,18 +233,18 @@ CLASS="EMPHASIS"
 > - This means the
                        account has no password (the passwords in the fields LANMAN 
                        Password Hash and NT Password Hash are ignored). Note that this 
-                       will only allow users to log on with no password if the <VAR
+                       will only allow users to log on with no password if the <TT
 CLASS="PARAMETER"
->                      null passwords</VAR
+><I
+>                      null passwords</I
+></TT
 > parameter is set in the <A
 HREF="smb.conf.5.html#NULLPASSWORDS"
 TARGET="_top"
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><TT
+CLASS="FILENAME"
+>smb.conf(5)
+                       </TT
 ></A
 > config file. </P
 ></LI
@@ -259,7 +257,8 @@ CLASS="EMPHASIS"
 >D</I
 ></SPAN
 > - This means the account 
-                       is disabled and no SMB/CIFS logins  will be allowed for this user. </P
+                       is disabled and no SMB/CIFS logins  will be     allowed for 
+                       this user. </P
 ></LI
 ><LI
 ><P
@@ -297,7 +296,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN77"
+NAME="AEN73"
 ></A
 ><H2
 >VERSION</H2
@@ -308,23 +307,23 @@ NAME="AEN77"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN80"
+NAME="AEN76"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+><A
+HREF="smbpasswd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbpasswd(8)</B
+></A
+>, 
+       <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
 >, and
        the Internet RFC1321 for details on the MD4 algorithm.
        </P
@@ -332,7 +331,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN89"
+NAME="AEN82"
 ></A
 ><H2
 >AUTHOR</H2
@@ -344,14 +343,14 @@ NAME="AEN89"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 6b227f9d1eed700870762649fca218be84d3c7d6..da3cb9f601844824271772e08728b70a23f8afbb 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >smbpasswd</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBPASSWD.8"
-></A
->smbpasswd</H1
+NAME="SMBPASSWD">smbpasswd</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -29,15 +28,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >smbpasswd</B
->  [-a] [-x] [-d] [-e] [-D debuglevel] [-n] [-r &#60;remote machine&#62;] [-R &#60;name resolve order&#62;] [-m] [-U username[%password]] [-h] [-s] [-w pass] [-i] [-L] [username]</P
+> [-a] [-x] [-d] [-e] [-D debuglevel] [-n] [-r &#60;remote machine&#62;] [-R &#60;name resolve order&#62;] [-m] [-U username[%password]] [-h] [-s] [-w pass] [-i] [-L] [username]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,23 +44,18 @@ NAME="AEN27"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >The smbpasswd program has several different 
-       functions, depending on whether it is run by the <SPAN
-CLASS="emphasis"
-><I
+       functions, depending on whether it is run by the <I
 CLASS="EMPHASIS"
 >root</I
-></SPAN
-> user 
-       or not. When run as a normal user it allows the user to change 
+> 
+       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. </P
 ><P
@@ -72,33 +64,25 @@ CLASS="EMPHASIS"
        similar to the way the <B
 CLASS="COMMAND"
 >passwd(1)</B
-> program works. <B
+> program works. 
+       <B
 CLASS="COMMAND"
->      smbpasswd</B
+>smbpasswd</B
 > differs from how the passwd program works 
-       however in that it is not <SPAN
-CLASS="emphasis"
-><I
+       however in that it is not <I
 CLASS="EMPHASIS"
 >setuid root</I
-></SPAN
 > but works in 
-       a client-server mode and communicates with a 
-       locally running <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+       a client-server mode and communicates with a locally running
+       <B
+CLASS="COMMAND"
+>smbd(8)</B
 >. 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
+       the <TT
+CLASS="FILENAME"
+>smbpasswd(5)</TT
 > file. </P
 ><P
 >When run by an ordinary user with no options, smbpasswd 
@@ -111,20 +95,14 @@ CLASS="REFENTRYTITLE"
 ><P
 >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 (<VAR
-CLASS="PARAMETER"
->-r</VAR
->) and <VAR
-CLASS="PARAMETER"
->-U</VAR
-> options 
-       below. </P
+       Controllers.   See the (-r) and -U options below. </P
 ><P
 >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, <B
+       the attributes of the user in this file to be made. When run by root, 
+       <B
 CLASS="COMMAND"
->      smbpasswd</B
+>smbpasswd</B
 > accesses the local smbpasswd file 
        directly, thus enabling changes to be made even if smbd is not 
        running. </P
@@ -132,7 +110,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN51"
+NAME="AEN43"
 ></A
 ><H2
 >OPTIONS</H2
@@ -177,13 +155,13 @@ CLASS="FILENAME"
 ><DD
 ><P
 >This option specifies that the username following 
-               should be <CODE
+               should be <TT
 CLASS="CONSTANT"
->disabled</CODE
+>disabled</TT
 > in the local smbpasswd 
-               file. This is done by writing a <CODE
+               file. This is done by writing a <TT
 CLASS="CONSTANT"
->'D'</CODE
+>'D'</TT
 > flag 
                into the account control space in the smbpasswd file. Once this 
                is done all attempts to authenticate via SMB using this username 
@@ -191,12 +169,10 @@ CLASS="CONSTANT"
 ><P
 >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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
+               this information and the command will FAIL. See <B
+CLASS="COMMAND"
+>smbpasswd(5)
+               </B
 > for details on the 'old' and new password file formats.
                </P
 ><P
@@ -208,9 +184,9 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >This option specifies that the username following 
-               should be <CODE
+               should be <TT
 CLASS="CONSTANT"
->enabled</CODE
+>enabled</TT
 > in the local smbpasswd file, 
                if the account was previously disabled. If the account was not 
                disabled this option has no effect. Once the account is enabled then 
@@ -220,12 +196,9 @@ CLASS="CONSTANT"
 CLASS="COMMAND"
 >              smbpasswd</B
 > will FAIL to enable the account.  
-                See <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
+                See <B
+CLASS="COMMAND"
+>smbpasswd (5)</B
 > for 
                details on the 'old' and new password file formats. </P
 ><P
@@ -236,9 +209,11 @@ CLASS="REFENTRYTITLE"
 >-D debuglevel</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer 
                from 0 to 10.  The default value if this parameter is not specified 
                is zero. </P
@@ -285,24 +260,30 @@ CLASS="COMMAND"
 ><P
 >This option allows a user to specify what machine 
                they wish to change their password on. Without this parameter 
-               smbpasswd defaults to the local host. The <VAR
+               smbpasswd defaults to the local host. The <TT
 CLASS="REPLACEABLE"
+><I
 >remote 
-               machine name</VAR
+               machine name</I
+></TT
 > is the NetBIOS name of the SMB/CIFS 
                server to contact to attempt the password change. This name is 
                resolved into an IP address using the standard name resolution 
-               mechanism in all programs of the Samba suite. See the <VAR
+               mechanism in all programs of the Samba suite. See the <TT
 CLASS="PARAMETER"
+><I
 >-R 
-               name resolve order</VAR
+               name resolve order</I
+></TT
 > parameter for details on changing 
                this resolving mechanism. </P
 ><P
 >The username whose password is changed is that of the 
-               current UNIX logged on user. See the <VAR
+               current UNIX logged on user. See the <TT
 CLASS="PARAMETER"
->-U username</VAR
+><I
+>-U username</I
+></TT
 >
                parameter for details on changing the password for a different 
                username. </P
@@ -313,12 +294,9 @@ CLASS="PARAMETER"
                copy of the user account database and will not allow the password 
                change).</P
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >Note</I
-></SPAN
 > that Windows 95/98 do not have 
                a real password database so it is not possible to change passwords 
                specifying a Win95/98  machine as remote machine target. </P
@@ -332,32 +310,30 @@ CLASS="EMPHASIS"
                name of the host being connected to. </P
 ><P
 >The options are :"lmhosts", "host", "wins" and "bcast". They
-                cause names to be resolved as follows: </P
+                cause names to be resolved as follows : </P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->lmhosts</CODE
->: Lookup an IP 
+>lmhosts</TT
+> : 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->lmhosts</SPAN
->(5)</SPAN
+            no name type attached to the NetBIOS name (see the <A
+HREF="lmhosts.5.html"
+TARGET="_top"
+>lmhosts(5)</A
 > for details) then
             any name type matches for lookup.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->host</CODE
->: Do a standard host 
+>host</TT
+> : Do a standard host 
             name to IP address resolution, using the system <TT
 CLASS="FILENAME"
 >/etc/hosts
@@ -374,27 +350,31 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->wins</CODE
->: Query a name with 
-            the IP address listed in the <VAR
+>wins</TT
+> : Query a name with 
+            the IP address listed in the <TT
 CLASS="PARAMETER"
->wins server</VAR
+><I
+>wins server</I
+></TT
 > 
            parameter.  If no WINS server has been specified this method 
            will be ignored.</P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->bcast</CODE
->: Do a broadcast on 
+>bcast</TT
+> : Do a broadcast on 
             each of the known local interfaces listed in the
-            <VAR
+            <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 > parameter. This is the least 
            reliable of the name resolution methods as it depends on the 
            target host being on a locally connected subnet.</P
@@ -405,12 +385,10 @@ CLASS="PARAMETER"
 CLASS="COMMAND"
 >lmhosts, host, wins, bcast</B
 > 
-               and without this parameter or any entry in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               and without this parameter or any entry in the 
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file the name resolution methods will 
                be attempted in this order. </P
 ></DD
@@ -430,9 +408,11 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >This option may only be used in conjunction 
-               with the <VAR
+               with the <TT
 CLASS="PARAMETER"
->-r</VAR
+><I
+>-r</I
+></TT
 > option. When changing
                a password on a remote machine it allows the user to specify 
                the user name on that machine whose password will be changed. It 
@@ -474,28 +454,34 @@ CLASS="COMMAND"
                <B
 CLASS="COMMAND"
 >--with-ldapsam</B
-> option. The <VAR
+> option. The <TT
 CLASS="PARAMETER"
->-w</VAR
+><I
+>-w</I
+></TT
 > 
                switch is used to specify the password to be used with the 
                <A
 HREF="smb.conf.5.html#LDAPADMINDN"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >ldap admin 
-               dn</VAR
+               dn</I
+></TT
 ></A
 >.  Note that the password is stored in
                the <TT
 CLASS="FILENAME"
->secrets.tdb</TT
+>private/secrets.tdb</TT
 > and is keyed off 
-               of the admin's DN.  This means that if the value of <VAR
+               of the admin's DN.  This means that if the value of <TT
 CLASS="PARAMETER"
+><I
 >ldap
-               admin dn</VAR
+               admin dn</I
+></TT
 > ever changes, the password will need to be 
                manually updated as well.
                </P
@@ -523,12 +509,9 @@ CLASS="PARAMETER"
 ><DD
 ><P
 >This specifies the username for all of the 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >root only</I
-></SPAN
 > options to operate on. Only root 
                can specify this parameter as only root has the permission needed 
                to modify attributes directly in the local smbpasswd file. 
@@ -540,7 +523,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN189"
+NAME="AEN173"
 ></A
 ><H2
 >NOTES</H2
@@ -554,67 +537,70 @@ CLASS="COMMAND"
        is to add a restriction to the hosts that may access the <B
 CLASS="COMMAND"
 >      smbd</B
-> running on the local machine by specifying either <VAR
+> running on the local machine by specifying a 
+       <TT
 CLASS="PARAMETER"
->allow
-       hosts</VAR
-> or <VAR
+><I
+>allow hosts</I
+></TT
+> or <TT
 CLASS="PARAMETER"
->deny hosts</VAR
-> entry in 
-       the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><I
+>deny hosts</I
+></TT
+> 
+       entry in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file and neglecting to 
        allow "localhost" access to the smbd. </P
 ><P
 >In addition, the smbpasswd command is only useful if Samba
-       has been set up to use encrypted passwords. See the document <A
-HREF="pwencrypt.html"
-TARGET="_top"
->      "LanMan and NT Password Encryption in Samba"</A
+       has been set up to use encrypted passwords. See the file 
+       <TT
+CLASS="FILENAME"
+>ENCRYPTION.txt</TT
 > in the docs directory for details 
        on how to do this. </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN201"
+NAME="AEN183"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 3.0 of the Samba suite.</P
+>This man page is correct for version 3.0 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN204"
+NAME="AEN186"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbpasswd</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
->.</P
+><A
+HREF="smbpasswd.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smbpasswd(5)</TT
+></A
+>, 
+       <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN213"
+NAME="AEN192"
 ></A
 ><H2
 >AUTHOR</H2
@@ -626,14 +612,14 @@ NAME="AEN213"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 625f63d260a249c20ab6afb2e553d44953528f3f..bab2b45cddd77c3c54c5ef2271f2d559ff2d0bb2 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >smbsh</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBSH.1"
-></A
->smbsh</H1
+NAME="SMBSH">smbsh</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -30,15 +29,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >smbsh</B
->  [-W workgroup] [-U username] [-P prefix] [-R &#60;name resolve order&#62;] [-d &#60;debug level&#62;] [-l logfile] [-L libdir]</P
+> [-W workgroup] [-U username] [-P prefix] [-R &#60;name resolve order&#62;] [-d &#60;debug level&#62;] [-l logfile] [-L libdir]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,12 +45,10 @@ NAME="AEN18"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -79,7 +74,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN30"
+NAME="AEN28"
 ></A
 ><H2
 >OPTIONS</H2
@@ -93,12 +88,9 @@ CLASS="VARIABLELIST"
 ><DD
 ><P
 >Override the default workgroup specified in the 
-               workgroup parameter of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               workgroup parameter of the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file 
                for this session. This may be needed to connect to some 
                servers. </P
@@ -120,12 +112,9 @@ CLASS="REFENTRYTITLE"
 >This option allows
                the user to set the directory prefix for SMB access. The 
                default value if this option is not specified is 
-               <SPAN
-CLASS="emphasis"
-><I
+               <I
 CLASS="EMPHASIS"
 >smb</I
-></SPAN
 >.
                </P
 ></DD
@@ -138,36 +127,34 @@ CLASS="EMPHASIS"
                host names to IP addresses. The option takes a space-separated 
                string of different name resolution options.</P
 ><P
->The options are"lmhosts", "host", "wins" and "bcast". 
+>The options are :"lmhosts", "host", "wins" and "bcast". 
                They cause names to be resolved as follows :</P
 ><P
 ></P
 ><UL
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->lmhosts</CODE
->: 
+>lmhosts</TT
+> 
                        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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->lmhosts</SPAN
->(5)</SPAN
->      for details) 
-                       then any name type matches for lookup.
+                       (see the <A
+HREF="lmhosts.5.html"
+TARGET="_top"
+>lmhosts(5)</A
+>
+                       for details) then any name type matches for lookup.
                        </P
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->host</CODE
->: 
+>host</TT
+> 
                        Do a standard host name to IP address resolution, using
                        the system <TT
 CLASS="FILENAME"
@@ -186,14 +173,16 @@ CLASS="FILENAME"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->wins</CODE
->: 
+>wins</TT
+> 
                        Query a name with the IP address listed in the 
-                       <VAR
+                       <TT
 CLASS="PARAMETER"
->wins server</VAR
+><I
+>wins server</I
+></TT
 > parameter.  If no 
                        WINS server has been specified this method will be 
                        ignored.
@@ -201,14 +190,16 @@ CLASS="PARAMETER"
 ></LI
 ><LI
 ><P
-><CODE
+><TT
 CLASS="CONSTANT"
->bcast</CODE
->: 
+>bcast</TT
+> 
                        Do a broadcast on each of the known local interfaces 
-                       listed in the <VAR
+                       listed in the <TT
 CLASS="PARAMETER"
->interfaces</VAR
+><I
+>interfaces</I
+></TT
 >
                        parameter. This is the least reliable of the name 
                        resolution methods as it depends on the target host 
@@ -218,31 +209,25 @@ CLASS="PARAMETER"
 ></UL
 ><P
 >If this parameter is not set then the name resolve order 
-               defined in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               defined in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file parameter  
-               (<VAR
-CLASS="PARAMETER"
->name resolve order</VAR
->) will be used. </P
+               (name resolve order) will be used. </P
 ><P
 >The default order is lmhosts, host, wins, bcast. Without 
-               this parameter or any entry in the <VAR
+               this parameter or any entry in the <TT
 CLASS="PARAMETER"
+><I
 >name resolve order
-               </VAR
-> parameter of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> file, the name resolution methods 
-               will be attempted in this order. </P
+               </I
+></TT
+> parameter of the <TT
+CLASS="FILENAME"
+>smb.conf</TT
+> 
+               file, the name resolution methods will be attempted in this 
+               order. </P
 ></DD
 ><DT
 >-d &#60;debug level&#62;</DT
@@ -254,12 +239,9 @@ CLASS="REFENTRYTITLE"
                is zero.</P
 ><P
 >The higher this value, the more detail will be logged
-               about the activities of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmblookup</SPAN
->(1)</SPAN
+               about the activities of <B
+CLASS="COMMAND"
+>nmblookup</B
 >. At level
                0, only critical errors and serious warnings will be logged.
                </P
@@ -269,14 +251,18 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >If specified causes all debug messages to be
-               written to the file specified by <VAR
+               written to the file specified by <TT
 CLASS="REPLACEABLE"
+><I
 >logfilename
-               </VAR
+               </I
+></TT
 >. If not specified then all messages will be 
-               written to<VAR
+               written to<TT
 CLASS="REPLACEABLE"
->stderr</VAR
+><I
+>stderr</I
+></TT
 >.
                </P
 ></DD
@@ -298,7 +284,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN104"
+NAME="AEN91"
 ></A
 ><H2
 >EXAMPLES</H2
@@ -311,30 +297,47 @@ CLASS="COMMAND"
 >      smbsh</B
 > from the prompt and enter the username and password 
        that authenticates you to the machine running the Windows NT 
-       operating system.
-<PRE
+       operating system.</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+>      <TT
 CLASS="PROMPT"
->system% </SAMP
-><KBD
+>system% </TT
+><TT
 CLASS="USERINPUT"
->smbsh</KBD
+><B
+>smbsh</B
+></TT
 >
-<SAMP
+       <TT
 CLASS="PROMPT"
->Username: </SAMP
-><KBD
+>Username: </TT
+><TT
 CLASS="USERINPUT"
->user</KBD
+><B
+>user</B
+></TT
 >
-<SAMP
+       <TT
 CLASS="PROMPT"
->Password: </SAMP
-><KBD
+>Password: </TT
+><TT
 CLASS="USERINPUT"
->XXXXXXX</KBD
-></PRE
+><B
+>XXXXXXX</B
+></TT
+>
+       </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >Any dynamically linked command you execute from 
@@ -371,17 +374,18 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN124"
+NAME="AEN112"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 3.0 of the Samba suite.</P
+>This man page is correct for version 3.0 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN127"
+NAME="AEN115"
 ></A
 ><H2
 >BUGS</H2
@@ -414,29 +418,30 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN136"
+NAME="AEN124"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-></P
+><A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN145"
+NAME="AEN130"
 ></A
 ><H2
 >AUTHOR</H2
@@ -448,14 +453,14 @@ NAME="AEN145"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index ca9641a72efbb05c9a233b5bed71907dc388434a..8dc2fbbd635b256136fe8f16f2dd539eab96f481 100644 (file)
@@ -5,7 +5,7 @@
 >smbspool</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBSPOOL.8"
+NAME="SMBSPOOL"
 ></A
 >smbspool</H1
 ><DIV
@@ -47,12 +47,10 @@ NAME="AEN17"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >smbspool is a very small print spooling program that 
@@ -89,14 +87,15 @@ CLASS="EMPHASIS"
 ></LI
 ><LI
 ><P
->smb://username:password@workgroup/server/printer</P
+>smb://username:password@workgroup/server/printer
+               </P
 ></LI
 ></UL
 ><P
 >smbspool tries to get the URI from argv[0]. If argv[0] 
-       contains the name of the program then it looks in the <VAR
+       contains the name of the program then it looks in the <TT
 CLASS="ENVAR"
->      DEVICE_URI</VAR
+>      DEVICE_URI</TT
 > environment variable.</P
 ><P
 >Programs using the <B
@@ -104,16 +103,16 @@ CLASS="COMMAND"
 >exec(2)</B
 > functions can 
        pass the URI in argv[0], while shell scripts must set the 
-       <VAR
+       <TT
 CLASS="ENVAR"
->DEVICE_URI</VAR
+>DEVICE_URI</TT
 > environment variable prior to
        running smbspool.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN41"
+NAME="AEN39"
 ></A
 ><H2
 >OPTIONS</H2
@@ -162,39 +161,41 @@ NAME="AEN41"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN56"
+NAME="AEN54"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 2.2 of the Samba suite.</P
+>This man page is correct for version 2.2 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN59"
+NAME="AEN57"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
->.</P
+><A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       and <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>.
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN68"
+NAME="AEN63"
 ></A
 ><H2
 >AUTHOR</H2
@@ -212,14 +213,14 @@ CLASS="COMMAND"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 973fb5bb87adf346dfb1e6c1fa14e4725af2fa03..fb7e14faddad0ee29355ef0c9b5bf912baeb8c72 100644 (file)
@@ -5,7 +5,7 @@
 >smbstatus</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBSTATUS.1"
+NAME="SMBSTATUS"
 ></A
 >smbstatus</H1
 ><DIV
@@ -37,7 +37,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >smbstatus</B
->  [-P] [-b] [-d &#60;debug level&#62;] [-v] [-L] [-B] [-p] [-S] [-s &#60;configuration file&#62;] [-u &#60;username&#62;]</P
+>  [-P] [-b] [-d &lt;debug level&gt;] [-v] [-L] [-B] [-p] [-S] [-s &lt;configuration file&gt;] [-u &lt;username&gt;]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,12 +47,10 @@ NAME="AEN21"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -64,7 +62,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN29"
+NAME="AEN27"
 ></A
 ><H2
 >OPTIONS</H2
@@ -88,7 +86,7 @@ CLASS="VARIABLELIST"
 >gives brief output.</P
 ></DD
 ><DT
->-d|--debug=&#60;debuglevel&#62;</DT
+>-d|--debug=&lt;debuglevel&gt;</DT
 ><DD
 ><P
 >sets debugging to specified level</P
@@ -116,12 +114,13 @@ CLASS="VARIABLELIST"
 >-p|--processes</DT
 ><DD
 ><P
->print a list of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+>print a list of <A
+HREF="smbd.8.html"
+TARGET="_top"
+>              <B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
 > processes and exit. 
                Useful for scripting.</P
 ></DD
@@ -132,27 +131,31 @@ CLASS="REFENTRYTITLE"
 >causes smbstatus to only list shares.</P
 ></DD
 ><DT
->-s|--conf=&#60;configuration file&#62;</DT
+>-s|--conf=&lt;configuration file&gt;</DT
 ><DD
 ><P
 >The default configuration file name is
                determined at compile time. The file specified contains the
-               configuration details required by the server. See <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               configuration details required by the server. See <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+>
+               </A
 > for more information.</P
 ></DD
 ><DT
->-u|--user=&#60;username&#62;</DT
+>-u|--user=&lt;username&gt;</DT
 ><DD
 ><P
 >selects information relevant to 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->username</VAR
+><I
+>username</I
+></TT
 > only.</P
 ></DD
 ></DL
@@ -161,7 +164,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN79"
+NAME="AEN75"
 ></A
 ><H2
 >VERSION</H2
@@ -172,29 +175,29 @@ NAME="AEN79"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN82"
+NAME="AEN78"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> and <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+> and
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
 >.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN91"
+NAME="AEN84"
 ></A
 ><H2
 >AUTHOR</H2
@@ -206,14 +209,14 @@ NAME="AEN91"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index fe405a0d84a4dc817af5752fbd1214a19822d2d8..d3215c6901369b25c91c866b2e1511f311d1853e 100644 (file)
@@ -5,7 +5,7 @@
 >smbtar</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBTAR.1"
+NAME="SMBTAR"
 ></A
 >smbtar</H1
 ><DIV
@@ -48,30 +48,30 @@ NAME="AEN26"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
 CLASS="COMMAND"
 >smbtar</B
 > is a very small shell script on top 
-       of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
-> which dumps SMB shares directly to tape.</P
+       of <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)</B
+></A
+> 
+       which dumps SMB shares directly to tape. </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN37"
+NAME="AEN34"
 ></A
 ><H2
 >OPTIONS</H2
@@ -105,10 +105,12 @@ CLASS="VARIABLELIST"
 >-d directory</DT
 ><DD
 ><P
->Change to initial <VAR
+>Change to initial <TT
 CLASS="PARAMETER"
+><I
 >directory
-               </VAR
+               </I
+></TT
 > before restoring / backing up files. </P
 ></DD
 ><DT
@@ -136,9 +138,11 @@ CLASS="PARAMETER"
 ><DD
 ><P
 >Tape device. May be regular file or tape 
-               device. Default: <VAR
+               device. Default: <TT
 CLASS="PARAMETER"
->$TAPE</VAR
+><I
+>$TAPE</I
+></TT
 > environmental 
                variable; if not set, a file called <TT
 CLASS="FILENAME"
@@ -184,16 +188,16 @@ CLASS="COMMAND"
 ><DD
 ><P
 >Log (debug) level. Corresponds to the 
-               <VAR
+               <TT
 CLASS="PARAMETER"
->-d</VAR
-> flag of <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->.</P
+><I
+>-d</I
+></TT
+> flag of <B
+CLASS="COMMAND"
+>smbclient(1)
+               </B
+>. </P
 ></DD
 ></DL
 ></DIV
@@ -201,14 +205,16 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN100"
+NAME="AEN95"
 ></A
 ><H2
 >ENVIRONMENT VARIABLES</H2
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->$TAPE</VAR
+><I
+>$TAPE</I
+></TT
 > variable specifies the 
        default tape device to write to. May be overridden
        with the -t option. </P
@@ -216,7 +222,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN104"
+NAME="AEN99"
 ></A
 ><H2
 >BUGS</H2
@@ -230,7 +236,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN108"
+NAME="AEN103"
 ></A
 ><H2
 >CAVEATS</H2
@@ -243,7 +249,7 @@ NAME="AEN108"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN111"
+NAME="AEN106"
 ></A
 ><H2
 >DIAGNOSTICS</H2
@@ -254,18 +260,21 @@ CLASS="emphasis"
 CLASS="EMPHASIS"
 >DIAGNOSTICS</I
 ></SPAN
-> section for the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
+> section for the 
+       <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)</B
+> 
+       </A
 > command.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN118"
+NAME="AEN112"
 ></A
 ><H2
 >VERSION</H2
@@ -276,35 +285,38 @@ NAME="AEN118"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN121"
+NAME="AEN115"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->.</P
+><A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)</B
+></A
+>, 
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
+>,
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN133"
+NAME="AEN123"
 ></A
 ><H2
 >AUTHOR</H2
@@ -330,14 +342,14 @@ TARGET="_top"
 >. 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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter.</P
 ></DIV
 ></BODY
 ></HTML
index 15ec19d7fc13d9658804e9db1b06fcc7f6a1d188..993436f0c64967cbbd29d4bc09d0aab45fbbfdcf 100644 (file)
@@ -5,7 +5,7 @@
 >smbumount</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SMBUMOUNT.8"
+NAME="SMBUMOUNT"
 ></A
 >smbumount</H1
 ><DIV
@@ -88,18 +88,20 @@ NAME="AEN23"
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbmount</SPAN
->(8)</SPAN
+><A
+HREF="smbmount.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbmount(8)</B
+>
+       </A
 ></P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN29"
+NAME="AEN28"
 ></A
 ><H2
 >AUTHOR</H2
@@ -132,8 +134,7 @@ TARGET="_top"
        </P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index dda491e4f69c95ba0e56122b3ecfc248fc18737a..1a05706f92b429e10c2370f679fda2b522ac2b96 100644 (file)
@@ -5,19 +5,20 @@
 >Samba performance issues</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Appendixes"
-HREF="appendixes.html"><LINK
+TITLE="Optional configuration"
+HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Appendixes"
-HREF="appendixes.html"><LINK
+TITLE="Group mapping HOWTO"
+HREF="groupmapping.html"><LINK
 REL="NEXT"
-TITLE="Portability"
-HREF="portability.html"></HEAD
+TITLE="Appendixes"
+HREF="appendixes.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="appendixes.html"
+HREF="groupmapping.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="portability.html"
+HREF="appendixes.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="SPEED"
-></A
->Chapter 23. Samba performance issues</H1
+NAME="SPEED">Chapter 22. Samba performance issues</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3443"
->23.1. Comparisons</A
-></H1
+NAME="AEN3055">22.1. Comparisons</H1
 ><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
@@ -111,9 +108,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3449"
->23.2. Socket options</A
-></H1
+NAME="AEN3061">22.2. Socket options</H1
 ><P
 >There are a number of socket options that can greatly affect the
 performance of a TCP based server like Samba.</P
@@ -139,9 +134,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3456"
->23.3. Read size</A
-></H1
+NAME="AEN3068">22.3. Read size</H1
 ><P
 >The option "read size" affects the overlap of disk reads/writes with
 network reads/writes. If the amount of data being transferred in
@@ -165,9 +158,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3461"
->23.4. Max xmit</A
-></H1
+NAME="AEN3073">22.4. Max xmit</H1
 ><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
@@ -188,9 +179,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3466"
->23.5. Log level</A
-></H1
+NAME="AEN3078">22.5. Log level</H1
 ><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
@@ -202,9 +191,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3469"
->23.6. Read raw</A
-></H1
+NAME="AEN3081">22.6. Read raw</H1
 ><P
 >The "read raw" operation is designed to be an optimised, low-latency
 file read operation. A server may choose to not support it,
@@ -224,9 +211,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3474"
->23.7. Write raw</A
-></H1
+NAME="AEN3086">22.7. Write raw</H1
 ><P
 >The "write raw" operation is designed to be an optimised, low-latency
 file write operation. A server may choose to not support it,
@@ -241,9 +226,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3478"
->23.8. Slow Clients</A
-></H1
+NAME="AEN3090">22.8. Slow Clients</H1
 ><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
@@ -258,9 +241,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3482"
->23.9. Slow Logins</A
-></H1
+NAME="AEN3094">22.9. Slow Logins</H1
 ><P
 >Slow logins are almost always due to the password checking time. Using
 the lowest practical "password level" will improve things a lot. You
@@ -271,9 +252,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3485"
->23.10. Client tuning</A
-></H1
+NAME="AEN3097">22.10. Client tuning</H1
 ><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
@@ -389,7 +368,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="appendixes.html"
+HREF="groupmapping.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -407,7 +386,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="portability.html"
+HREF="appendixes.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -417,13 +396,13 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Appendixes</TD
+>Group mapping HOWTO</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
 ><A
-HREF="appendixes.html"
+HREF="optional.html"
 ACCESSKEY="U"
 >Up</A
 ></TD
@@ -431,7 +410,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Portability</TD
+>Appendixes</TD
 ></TR
 ></TABLE
 ></DIV
index d78fee1960e5892396ef4d03f6933759a5ca8866..f101a7bc266e938f9a1b154ce7b712a46fb926fa 100644 (file)
@@ -5,7 +5,7 @@
 >swat</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="SWAT.8"
+NAME="SWAT"
 ></A
 >swat</H1
 ><DIV
@@ -37,7 +37,7 @@ NAME="AEN8"
 ><B
 CLASS="COMMAND"
 >swat</B
->  [-s &#60;smb config file&#62;] [-a]</P
+>  [-s &lt;smb config file&gt;] [-a]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,24 +47,23 @@ NAME="AEN13"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
 CLASS="COMMAND"
 >swat</B
 > allows a Samba administrator to 
-       configure the complex <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+       configure the complex <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>      smb.conf(5)</TT
+></A
 > file via a Web browser. In addition, 
        a <B
 CLASS="COMMAND"
@@ -87,7 +86,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN29"
+NAME="AEN26"
 ></A
 ><H2
 >OPTIONS</H2
@@ -102,14 +101,11 @@ CLASS="VARIABLELIST"
 ><P
 >The default configuration file path is 
                determined at compile time.  The file specified contains 
-               the configuration details required by the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-> server. This is the file 
-               that <B
+               the configuration details required by the <B
+CLASS="COMMAND"
+>smbd
+               </B
+> server. This is the file that <B
 CLASS="COMMAND"
 >swat</B
 > will modify. 
@@ -151,7 +147,7 @@ CLASS="EMPHASIS"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN49"
+NAME="AEN44"
 ></A
 ><H2
 >INSTALLATION</H2
@@ -185,7 +181,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN61"
+NAME="AEN56"
 ></A
 ><H3
 >Inetd Installation</H3
@@ -258,7 +254,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN83"
+NAME="AEN78"
 ></A
 ><H3
 >Launching</H3
@@ -275,7 +271,7 @@ NAME="AEN83"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN87"
+NAME="AEN82"
 ></A
 ><H2
 >FILES</H2
@@ -312,12 +308,10 @@ CLASS="FILENAME"
 ></DT
 ><DD
 ><P
->This is the default location of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+>This is the default location of the <TT
+CLASS="FILENAME"
+>smb.conf(5)
+               </TT
 > server configuration file that swat edits. Other 
                common places that systems install this file are <TT
 CLASS="FILENAME"
@@ -335,7 +329,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN110"
+NAME="AEN103"
 ></A
 ><H2
 >WARNINGS</H2
@@ -343,20 +337,22 @@ NAME="AEN110"
 ><B
 CLASS="COMMAND"
 >swat</B
-> will rewrite your <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+> will rewrite your <TT
+CLASS="FILENAME"
+>smb.conf
+       </TT
 > file. It will rearrange the entries and delete all 
-       comments, <VAR
+       comments, <TT
 CLASS="PARAMETER"
->include=</VAR
-> and <VAR
+><I
+>include=</I
+></TT
+> and <TT
 CLASS="PARAMETER"
+><I
 >copy=
-       </VAR
+       </I
+></TT
 > options. If you have a carefully crafted <TT
 CLASS="FILENAME"
 >      smb.conf</TT
@@ -365,17 +361,18 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN120"
+NAME="AEN111"
 ></A
 ><H2
 >VERSION</H2
 ><P
->This man page is correct for version 2.2 of the Samba suite.</P
+>This man page is correct for version 2.2 of 
+       the Samba suite.</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN123"
+NAME="AEN114"
 ></A
 ><H2
 >SEE ALSO</H2
@@ -383,24 +380,26 @@ NAME="AEN123"
 ><B
 CLASS="COMMAND"
 >inetd(5)</B
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-></P
+>,
+       <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN133"
+NAME="AEN121"
 ></A
 ><H2
 >AUTHOR</H2
@@ -412,14 +411,14 @@ NAME="AEN133"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 3f93b9b241d2ce225100d41923d73360ffae28b5..baf11bacac6f85484219c3330eae24e9ca4ce172 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >testparm</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="TESTPARM.1"
-></A
->testparm</H1
+NAME="TESTPARM">testparm</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -30,15 +29,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >testparm</B
->  [-s] [-h] [-v] [-L &#60;servername&#62;] [-t &#60;encoding&#62;] {config filename} [hostname hostIP]</P
+> [-s] [-h] [-v] [-L &#60;servername&#62;] [-t &#60;encoding&#62;] {config filename} [hostname hostIP]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,24 +45,19 @@ NAME="AEN18"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
 CLASS="COMMAND"
 >testparm</B
 > is a very simple test program 
-       to check an <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+       to check an <B
+CLASS="COMMAND"
+>smbd</B
 > configuration file for 
        internal correctness. If this program reports no problems, you 
        can use the configuration file with confidence that <B
@@ -74,12 +66,9 @@ CLASS="COMMAND"
        </B
 > will successfully load the configuration file.</P
 ><P
->Note that this is <SPAN
-CLASS="emphasis"
-><I
+>Note that this is <I
 CLASS="EMPHASIS"
 >NOT</I
-></SPAN
 > a guarantee that 
        the services specified in the configuration file will be 
        available or will operate as expected. </P
@@ -105,7 +94,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN37"
+NAME="AEN33"
 ></A
 ><H2
 >OPTIONS</H2
@@ -135,9 +124,11 @@ CLASS="COMMAND"
 >-L servername</DT
 ><DD
 ><P
->Sets the value of the %L macro to <VAR
+>Sets the value of the %L macro to <TT
 CLASS="REPLACEABLE"
->servername</VAR
+><I
+>servername</I
+></TT
 >.
                This is useful for testing include files specified with the 
                %L macro. </P
@@ -147,13 +138,12 @@ CLASS="REPLACEABLE"
 ><DD
 ><P
 >If this option is specified, testparm 
-               will also output all options that were not used in <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> and are thus set to their defaults.</P
+               will also output all options that were not used in 
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
+> and are thus set to
+               their defaults.</P
 ></DD
 ><DT
 >-t encoding</DT
@@ -168,12 +158,9 @@ CLASS="REFENTRYTITLE"
 ><P
 >This is the name of the configuration file 
                to check. If this parameter is not present then the 
-               default <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               default <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file will be checked.        
                </P
 ></DD
@@ -185,20 +172,21 @@ CLASS="REFENTRYTITLE"
                specified, then <B
 CLASS="COMMAND"
 >testparm</B
-> will examine the <VAR
+> will examine the <TT
 CLASS="PARAMETER"
+><I
 >hosts
-               allow</VAR
-> and <VAR
+               allow</I
+></TT
+> and <TT
 CLASS="PARAMETER"
->hosts deny</VAR
+><I
+>hosts deny</I
+></TT
 > 
-               parameters in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               parameters in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file to 
                determine if the hostname with this IP address would be
                allowed access to the <B
@@ -222,7 +210,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN87"
+NAME="AEN77"
 ></A
 ><H2
 >FILES</H2
@@ -232,22 +220,16 @@ NAME="AEN87"
 CLASS="VARIABLELIST"
 ><DL
 ><DT
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+><TT
+CLASS="FILENAME"
+>smb.conf</TT
 ></DT
 ><DD
 ><P
 >This is usually the name of the configuration 
-               file used by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+               file used by <B
+CLASS="COMMAND"
+>smbd</B
 >. 
                </P
 ></DD
@@ -257,7 +239,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN100"
+NAME="AEN86"
 ></A
 ><H2
 >DIAGNOSTICS</H2
@@ -271,7 +253,7 @@ NAME="AEN100"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN103"
+NAME="AEN89"
 ></A
 ><H2
 >VERSION</H2
@@ -282,29 +264,33 @@ NAME="AEN103"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN106"
+NAME="AEN92"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
-></P
+><A
+HREF="smb.conf.5.html"
+TARGET="_top"
+><TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+></A
+>, 
+       <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN115"
+NAME="AEN99"
 ></A
 ><H2
 >AUTHOR</H2
@@ -316,14 +302,14 @@ NAME="AEN115"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 5efef1fb85b50a592b585e44c80ec6247432ec5e..0225aad9d5fafdbd8f63b304a35bec50d94b0bc5 100644 (file)
@@ -5,7 +5,7 @@
 >testprns</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="TESTPRNS.1"
+NAME="TESTPRNS"
 ></A
 >testprns</H1
 ><DIV
@@ -47,12 +47,10 @@ NAME="AEN13"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -60,13 +58,14 @@ CLASS="COMMAND"
 >testprns</B
 > is a very simple test program 
        to determine whether a given printer name is valid for use in 
-       a service to be provided by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->.</P
+       a service to be provided by <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      smbd(8)</B
+></A
+>. </P
 ><P
 >"Valid" in this context means "can be found in the 
        printcap specified". This program is very stupid - so stupid in 
@@ -76,7 +75,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN25"
+NAME="AEN22"
 ></A
 ><H2
 >OPTIONS</H2
@@ -104,12 +103,10 @@ CLASS="COMMAND"
                <B
 CLASS="COMMAND"
 >testprns</B
-> finds the printer then <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
+> finds the printer then 
+               <B
+CLASS="COMMAND"
+>smbd</B
 > should do so as well. </P
 ></DD
 ><DT
@@ -132,7 +129,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN44"
+NAME="AEN39"
 ></A
 ><H2
 >FILES</H2
@@ -161,17 +158,17 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN53"
+NAME="AEN48"
 ></A
 ><H2
 >DIAGNOSTICS</H2
 ><P
 >If a printer is found to be valid, the message 
-       "Printer name &#60;printername&#62; is valid" will be 
+       "Printer name &lt;printername&gt; is valid" will be 
        displayed. </P
 ><P
 >If a printer is found to be invalid, the message
-       "Printer name &#60;printername&#62; is not valid" will be 
+       "Printer name &lt;printername&gt; is not valid" will be 
        displayed. </P
 ><P
 >All messages that would normally be logged during
@@ -189,7 +186,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN60"
+NAME="AEN55"
 ></A
 ><H2
 >VERSION</H2
@@ -200,7 +197,7 @@ NAME="AEN60"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN63"
+NAME="AEN58"
 ></A
 ><H2
 >SEE ALSO</H2
@@ -209,24 +206,28 @@ NAME="AEN63"
 CLASS="FILENAME"
 >printcap(5)</TT
 >, 
-       <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbd</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smbclient</SPAN
->(1)</SPAN
-></P
+       <A
+HREF="smbd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbd(8)</B
+></A
+>, 
+       <A
+HREF="smbclient.1.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>smbclient(1)</B
+></A
+>
+       </P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN73"
+NAME="AEN66"
 ></A
 ><H2
 >AUTHOR</H2
@@ -238,14 +239,14 @@ NAME="AEN73"
 ><P
 >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 <A
+       excellent piece of Open Source software, available at
+       <A
 HREF="ftp://ftp.icce.rug.nl/pub/unix/"
 TARGET="_top"
 >      ftp://ftp.icce.rug.nl/pub/unix/</A
 >) 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.</P
+       Samba 2.2 was done by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index 1d9806935b0e6591de98c97c8f49f9485d5f04e4..e3f09acc18dd125eeaa033e62e997b6ac26e0408 100644 (file)
@@ -5,16 +5,17 @@
 >Type of installation</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="PREVIOUS"
-TITLE="User information database"
-HREF="passdb.html"><LINK
+TITLE="LanMan and NT Password Encryption in Samba"
+HREF="pwencrypt.html"><LINK
 REL="NEXT"
-TITLE="Nomenclature of Server Types"
-HREF="servertype.html"></HEAD
+TITLE="User and Share security level (for servers not in a domain)"
+HREF="securitylevels.html"></HEAD
 ><BODY
 CLASS="PART"
 BGCOLOR="#FFFFFF"
@@ -42,7 +43,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="passdb.html"
+HREF="pwencrypt.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -56,7 +57,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="servertype.html"
+HREF="securitylevels.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -68,9 +69,7 @@ WIDTH="100%"></DIV
 ><DIV
 CLASS="PART"
 ><A
-NAME="TYPE"
-></A
-><DIV
+NAME="TYPE"><DIV
 CLASS="TITLEPAGE"
 ><H1
 CLASS="TITLE"
@@ -78,9 +77,7 @@ CLASS="TITLE"
 ><DIV
 CLASS="PARTINTRO"
 ><A
-NAME="AEN610"
-></A
-><H1
+NAME="AEN531"><H1
 >Introduction</H1
 ><P
 >Samba can operate in various SMB networks. This part contains information on configuring samba 
@@ -94,211 +91,151 @@ CLASS="TOC"
 >Table of Contents</B
 ></DT
 ><DT
->4. <A
-HREF="servertype.html"
->Nomenclature of Server Types</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="servertype.html#AEN639"
->Stand Alone Server</A
-></DT
-><DT
->4.2. <A
-HREF="servertype.html#AEN646"
->Domain Member Server</A
-></DT
-><DT
->4.3. <A
-HREF="servertype.html#AEN652"
->Domain Controller</A
-></DT
-><DD
-><DL
-><DT
->4.3.1. <A
-HREF="servertype.html#AEN655"
->Domain Controller Types</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
 >5. <A
 HREF="securitylevels.html"
->Samba as Stand-Alone Server</A
-></DT
-><DD
-><DL
-><DT
->5.1. <A
-HREF="securitylevels.html#AEN681"
->User and Share security level</A
-></DT
-><DD
-><DL
-><DT
->5.1.1. <A
-HREF="securitylevels.html#AEN684"
->User Level Security</A
-></DT
-><DT
->5.1.2. <A
-HREF="securitylevels.html#AEN694"
->Share Level Security</A
-></DT
-><DT
->5.1.3. <A
-HREF="securitylevels.html#AEN698"
->Server Level Security</A
+>User and Share security level (for servers not in a domain)</A
 ></DT
 ><DT
->5.1.4. <A
-HREF="securitylevels.html#AEN737"
->Domain Level Security</A
-></DT
-><DT
->5.1.5. <A
-HREF="securitylevels.html#AEN758"
->ADS Level Security</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
 >6. <A
 HREF="samba-pdc.html"
->Samba as an NT4 or Win2k Primary Domain Controller</A
+>How to Configure Samba as a NT4 Primary Domain Controller</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.1. <A
-HREF="samba-pdc.html#AEN785"
+HREF="samba-pdc.html#AEN575"
 >Prerequisite Reading</A
 ></DT
 ><DT
 >6.2. <A
-HREF="samba-pdc.html#AEN790"
+HREF="samba-pdc.html#AEN581"
 >Background</A
 ></DT
 ><DT
 >6.3. <A
-HREF="samba-pdc.html#AEN830"
+HREF="samba-pdc.html#AEN620"
 >Configuring the Samba Domain Controller</A
 ></DT
 ><DT
 >6.4. <A
-HREF="samba-pdc.html#AEN872"
->Creating Machine Trust Accounts and Joining Clients to the Domain</A
+HREF="samba-pdc.html#AEN663"
+>Creating Machine Trust Accounts and Joining Clients to the
+Domain</A
 ></DT
 ><DD
 ><DL
 ><DT
 >6.4.1. <A
-HREF="samba-pdc.html#AEN915"
+HREF="samba-pdc.html#AEN682"
 >Manual Creation of Machine Trust Accounts</A
 ></DT
 ><DT
 >6.4.2. <A
-HREF="samba-pdc.html#AEN956"
+HREF="samba-pdc.html#AEN723"
 >"On-the-Fly" Creation of Machine Trust Accounts</A
 ></DT
 ><DT
 >6.4.3. <A
-HREF="samba-pdc.html#AEN965"
+HREF="samba-pdc.html#AEN732"
 >Joining the Client to the Domain</A
 ></DT
 ></DL
 ></DD
 ><DT
 >6.5. <A
-HREF="samba-pdc.html#AEN980"
+HREF="samba-pdc.html#AEN747"
 >Common Problems and Errors</A
 ></DT
 ><DT
 >6.6. <A
-HREF="samba-pdc.html#AEN1026"
->What other help can I get?</A
+HREF="samba-pdc.html#AEN795"
+>System Policies and Profiles</A
 ></DT
 ><DT
 >6.7. <A
-HREF="samba-pdc.html#AEN1140"
+HREF="samba-pdc.html#AEN839"
+>What other help can I get?</A
+></DT
+><DT
+>6.8. <A
+HREF="samba-pdc.html#AEN953"
 >Domain Control for Windows 9x/ME</A
 ></DT
 ><DD
 ><DL
 ><DT
->6.7.1. <A
-HREF="samba-pdc.html#AEN1163"
+>6.8.1. <A
+HREF="samba-pdc.html#AEN979"
 >Configuration Instructions:   Network Logons</A
 ></DT
+><DT
+>6.8.2. <A
+HREF="samba-pdc.html#AEN998"
+>Configuration Instructions:   Setting up Roaming User Profiles</A
+></DT
 ></DL
 ></DD
+><DT
+>6.9. <A
+HREF="samba-pdc.html#AEN1091"
+>DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
+></DT
 ></DL
 ></DD
 ><DT
 >7. <A
 HREF="samba-bdc.html"
->Samba Backup Domain Controller to Samba Domain Control</A
+>How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</A
 ></DT
 ><DD
 ><DL
 ><DT
 >7.1. <A
-HREF="samba-bdc.html#AEN1193"
+HREF="samba-bdc.html#AEN1127"
 >Prerequisite Reading</A
 ></DT
 ><DT
 >7.2. <A
-HREF="samba-bdc.html#AEN1197"
+HREF="samba-bdc.html#AEN1131"
 >Background</A
 ></DT
 ><DT
 >7.3. <A
-HREF="samba-bdc.html#AEN1205"
+HREF="samba-bdc.html#AEN1139"
 >What qualifies a Domain Controller on the network?</A
 ></DT
 ><DD
 ><DL
 ><DT
 >7.3.1. <A
-HREF="samba-bdc.html#AEN1208"
+HREF="samba-bdc.html#AEN1142"
 >How does a Workstation find its domain controller?</A
 ></DT
 ><DT
 >7.3.2. <A
-HREF="samba-bdc.html#AEN1211"
+HREF="samba-bdc.html#AEN1145"
 >When is the PDC needed?</A
 ></DT
 ></DL
 ></DD
 ><DT
 >7.4. <A
-HREF="samba-bdc.html#AEN1214"
->Can Samba be a Backup Domain Controller to an NT PDC?</A
+HREF="samba-bdc.html#AEN1148"
+>Can Samba be a Backup Domain Controller?</A
 ></DT
 ><DT
 >7.5. <A
-HREF="samba-bdc.html#AEN1219"
+HREF="samba-bdc.html#AEN1152"
 >How do I set up a Samba BDC?</A
 ></DT
 ><DD
 ><DL
 ><DT
 >7.5.1. <A
-HREF="samba-bdc.html#AEN1236"
+HREF="samba-bdc.html#AEN1169"
 >How do I replicate the smbpasswd file?</A
 ></DT
-><DT
->7.5.2. <A
-HREF="samba-bdc.html#AEN1240"
->Can I do this all with LDAP?</A
-></DT
 ></DL
 ></DD
 ></DL
@@ -312,47 +249,51 @@ HREF="ads.html"
 ><DL
 ><DT
 >8.1. <A
-HREF="ads.html#AEN1251"
->Setup your <TT
-CLASS="FILENAME"
->smb.conf</TT
-></A
+HREF="ads.html#AEN1187"
+>Installing the required packages for Debian</A
 ></DT
 ><DT
 >8.2. <A
-HREF="ads.html#AEN1262"
->Setup your <TT
-CLASS="FILENAME"
->/etc/krb5.conf</TT
-></A
+HREF="ads.html#AEN1193"
+>Installing the required packages for RedHat</A
 ></DT
 ><DT
 >8.3. <A
-HREF="ads.html#AEN1273"
+HREF="ads.html#AEN1202"
+>Compile Samba</A
+></DT
+><DT
+>8.4. <A
+HREF="ads.html#AEN1217"
+>Setup your /etc/krb5.conf</A
+></DT
+><DT
+>8.5. <A
+HREF="ads.html#AEN1227"
 >Create the computer account</A
 ></DT
 ><DD
 ><DL
 ><DT
->8.3.1. <A
-HREF="ads.html#AEN1277"
+>8.5.1. <A
+HREF="ads.html#AEN1231"
 >Possible errors</A
 ></DT
 ></DL
 ></DD
 ><DT
->8.4. <A
-HREF="ads.html#AEN1285"
+>8.6. <A
+HREF="ads.html#AEN1243"
 >Test your server setup</A
 ></DT
 ><DT
->8.5. <A
-HREF="ads.html#AEN1290"
+>8.7. <A
+HREF="ads.html#AEN1248"
 >Testing with smbclient</A
 ></DT
 ><DT
->8.6. <A
-HREF="ads.html#AEN1293"
+>8.8. <A
+HREF="ads.html#AEN1251"
 >Notes</A
 ></DT
 ></DL
@@ -360,18 +301,23 @@ HREF="ads.html#AEN1293"
 ><DT
 >9. <A
 HREF="domain-security.html"
->Samba as a NT4 or Win2k domain member</A
+>Samba as a NT4 domain member</A
 ></DT
 ><DD
 ><DL
 ><DT
 >9.1. <A
-HREF="domain-security.html#AEN1315"
->Joining an NT Domain with Samba 3.0</A
+HREF="domain-security.html#AEN1273"
+>Joining an NT Domain with Samba 2.2</A
 ></DT
 ><DT
 >9.2. <A
-HREF="domain-security.html#AEN1369"
+HREF="domain-security.html#AEN1337"
+>Samba and Windows 2000 Domains</A
+></DT
+><DT
+>9.3. <A
+HREF="domain-security.html#AEN1342"
 >Why is this better than security = server?</A
 ></DT
 ></DL
@@ -396,7 +342,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="passdb.html"
+HREF="pwencrypt.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -414,7 +360,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="servertype.html"
+HREF="securitylevels.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -424,7 +370,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->User information database</TD
+>LanMan and NT Password Encryption in Samba</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -434,7 +380,7 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Nomenclature of Server Types</TD
+>User and Share security level (for servers not in a domain)</TD
 ></TR
 ></TABLE
 ></DIV
index 02c0b62240d6b27c648a86887ccfb24470e9c7c0..f29d450e6df1aa4024c93c4886c1323a896b0bf7 100644 (file)
@@ -5,19 +5,21 @@
 >UNIX Permission Bits and Windows NT Access Control Lists</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="System Policies"
-HREF="advancednetworkmanagement.html"><LINK
+TITLE="Integrating MS Windows networks with Samba"
+HREF="integrate-ms-networks.html"><LINK
 REL="NEXT"
-TITLE="Group mapping HOWTO"
-HREF="groupmapping.html"></HEAD
+TITLE="Configuring PAM for distributed but centrally 
+managed authentication"
+HREF="pam.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +47,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="advancednetworkmanagement.html"
+HREF="integrate-ms-networks.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +61,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="groupmapping.html"
+HREF="pam.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,37 +74,52 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="UNIX-PERMISSIONS"
-></A
->Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists</H1
+NAME="UNIX-PERMISSIONS">Chapter 11. UNIX Permission Bits and Windows NT Access Control Lists</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1663"
->11.1. Viewing and changing UNIX permissions using the NT 
-       security dialogs</A
-></H1
+NAME="AEN1605">11.1. Viewing and changing UNIX permissions using the NT 
+       security dialogs</H1
 ><P
->Windows NT clients can use their native security settings 
-       dialog box to view and modify the underlying UNIX permissions.</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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1667"
->11.2. How to view file security on a Samba share</A
-></H1
+NAME="AEN1614">11.2. How to view file security on a Samba share</H1
 ><P
->From an NT4/2000/XP client, single-click with the right 
+>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
@@ -112,14 +129,15 @@ CLASS="EMPHASIS"
 >Properties</I
 ></SPAN
 > entry at the bottom of 
-       the menu. This brings up the file properties dialog
-       box. Click on the tab <SPAN
+       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
-> and you 
+>. Click on this tab and you 
        will see three buttons, <SPAN
 CLASS="emphasis"
 ><I
@@ -167,9 +185,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1678"
->11.3. Viewing file ownership</A
-></H1
+NAME="AEN1625">11.3. Viewing file ownership</H1
 ><P
 >Clicking on the <B
 CLASS="COMMAND"
@@ -183,17 +199,23 @@ CLASS="COMMAND"
 >"SERVER\user (Long name)"</B
 ></P
 ><P
->Where <VAR
+>Where <TT
 CLASS="REPLACEABLE"
->SERVER</VAR
+><I
+>SERVER</I
+></TT
 > is the NetBIOS name of 
-       the Samba server, <VAR
+       the Samba server, <TT
 CLASS="REPLACEABLE"
->user</VAR
+><I
+>user</I
+></TT
 > is the user name of 
-       the UNIX user who owns the file, and <VAR
+       the UNIX user who owns the file, and <TT
 CLASS="REPLACEABLE"
->(Long name)</VAR
+><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
@@ -202,13 +224,15 @@ CLASS="COMMAND"
        </B
 > button to remove this dialog.</P
 ><P
->If the parameter <VAR
+>If the parameter <TT
 CLASS="PARAMETER"
->nt acl support</VAR
+><I
+>nt acl support</I
+></TT
 >
-       is set to <CODE
+       is set to <TT
 CLASS="CONSTANT"
->false</CODE
+>false</TT
 > then the file owner will 
        be shown as the NT user <B
 CLASS="COMMAND"
@@ -236,7 +260,7 @@ CLASS="EMPHASIS"
 ><P
 >There is an NT chown command that will work with Samba 
        and allow a user with Administrator privilege connected 
-       to a Samba server as root to change the ownership of 
+       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"
@@ -253,9 +277,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1698"
->11.4. Viewing file or directory permissions</A
-></H1
+NAME="AEN1645">11.4. Viewing file or directory permissions</H1
 ><P
 >The third button is the <B
 CLASS="COMMAND"
@@ -270,28 +292,36 @@ CLASS="COMMAND"
 >"SERVER\user (Long name)"</B
 ></P
 ><P
->Where <VAR
+>Where <TT
 CLASS="REPLACEABLE"
->SERVER</VAR
+><I
+>SERVER</I
+></TT
 > is the NetBIOS name of 
-       the Samba server, <VAR
+       the Samba server, <TT
 CLASS="REPLACEABLE"
->user</VAR
+><I
+>user</I
+></TT
 > is the user name of 
-       the UNIX user who owns the file, and <VAR
+       the UNIX user who owns the file, and <TT
 CLASS="REPLACEABLE"
->(Long name)</VAR
+><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 <VAR
+>If the parameter <TT
 CLASS="PARAMETER"
->nt acl support</VAR
+><I
+>nt acl support</I
+></TT
 >
-       is set to <CODE
+       is set to <TT
 CLASS="CONSTANT"
->false</CODE
+>false</TT
 > then the file owner will 
        be shown as the NT user <B
 CLASS="COMMAND"
@@ -307,9 +337,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1713"
->11.4.1. File Permissions</A
-></H2
+NAME="AEN1660">11.4.1. File Permissions</H2
 ><P
 >The standard UNIX user/group/world triple and 
                the corresponding "read", "write", "execute" permissions 
@@ -369,9 +397,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN1727"
->11.4.2. Directory Permissions</A
-></H2
+NAME="AEN1674">11.4.2. Directory Permissions</H2
 ><P
 >Directories on an NT NTFS file system have two 
                different sets of permissions. The first set of permissions 
@@ -401,9 +427,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1734"
->11.5. Modifying file or directory permissions</A
-></H1
+NAME="AEN1681">11.5. Modifying file or directory permissions</H1
 ><P
 >Modifying file and directory permissions is as simple 
        as changing the displayed permissions in the dialog box, and 
@@ -415,13 +439,15 @@ CLASS="COMMAND"
        with the standard Samba permission masks and mapping of DOS 
        attributes that need to also be taken into account.</P
 ><P
->If the parameter <VAR
+>If the parameter <TT
 CLASS="PARAMETER"
->nt acl support</VAR
+><I
+>nt acl support</I
+></TT
 >
-       is set to <CODE
+       is set to <TT
 CLASS="CONSTANT"
->false</CODE
+>false</TT
 > then any attempt to set 
        security permissions will fail with an <B
 CLASS="COMMAND"
@@ -433,7 +459,7 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >"Add"</B
 > 
-       button will not return a list of users in Samba (it will give 
+       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 
@@ -497,33 +523,38 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1756"
->11.6. Interaction with the standard Samba create mask 
-       parameters</A
-></H1
+NAME="AEN1703">11.6. Interaction with the standard Samba create mask 
+       parameters</H1
 ><P
->There are four parameters 
-       to control interaction with the standard Samba create mask parameters.
-       These are :</P
+>Note that with Samba 2.0.5 there are four new parameters 
+       to control this interaction.  These are :</P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->force security mode</VAR
+><I
+>force security mode</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->directory security mask</VAR
+><I
+>directory security mask</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->force directory security mode</VAR
+><I
+>force directory security mode</I
+></TT
 ></P
 ><P
 >Once a user clicks <B
@@ -536,17 +567,21 @@ CLASS="COMMAND"
 HREF="smb.conf.5.html#SECURITYMASK"
 TARGET="_top"
 > 
-       <VAR
+       <TT
 CLASS="PARAMETER"
->security mask</VAR
+><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 <VAR
+>Essentially, zero bits in the <TT
 CLASS="PARAMETER"
->security mask</VAR
+><I
+>security mask</I
+></TT
 >
        mask may be treated as a set of bits the user is <SPAN
 CLASS="emphasis"
@@ -562,31 +597,38 @@ CLASS="EMPHASIS"
        the <A
 HREF="smb.conf.5.html#CREATEMASK"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >create mask
-       </VAR
+       </I
+></TT
 ></A
-> parameter. To allow a user to modify all the
-       user/group/world permissions on a file, set this parameter 
+> 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"
->      <VAR
+>      <TT
 CLASS="PARAMETER"
->force security mode</VAR
+><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 <VAR
+>Essentially, bits set in the <TT
 CLASS="PARAMETER"
+><I
 >force security mode
-       </VAR
+       </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
@@ -594,60 +636,85 @@ CLASS="PARAMETER"
        as the <A
 HREF="smb.conf.5.html#FORCECREATEMODE"
 TARGET="_top"
-><VAR
+><TT
 CLASS="PARAMETER"
+><I
 >force 
-       create mode</VAR
+       create mode</I
+></TT
 ></A
-> parameter.
+> 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 <VAR
+>The <TT
 CLASS="PARAMETER"
->security mask</VAR
-> and <VAR
+><I
+>security mask</I
+></TT
+> and <TT
 CLASS="PARAMETER"
+><I
 >force 
-       security mode</VAR
+       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 <VAR
+       described above for a file except using the parameter <TT
 CLASS="PARAMETER"
->      directory security mask</VAR
-> instead of <VAR
+><I
+>      directory security mask</I
+></TT
+> instead of <TT
 CLASS="PARAMETER"
+><I
 >security 
-       mask</VAR
->, and <VAR
+       mask</I
+></TT
+>, and <TT
 CLASS="PARAMETER"
+><I
 >force directory security mode
-       </VAR
-> parameter instead of <VAR
+       </I
+></TT
+> parameter instead of <TT
 CLASS="PARAMETER"
+><I
 >force security mode
-       </VAR
+       </I
+></TT
 >.</P
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->directory security mask</VAR
+><I
+>directory security mask</I
+></TT
 > parameter 
-       by default is set to the same value as the <VAR
+       by default is set to the same value as the <TT
 CLASS="PARAMETER"
+><I
 >directory mask
-       </VAR
-> parameter and the <VAR
+       </I
+></TT
+> parameter and the <TT
 CLASS="PARAMETER"
+><I
 >force directory security 
-       mode</VAR
+       mode</I
+></TT
 > parameter by default is set to the same value as 
-       the <VAR
+       the <TT
 CLASS="PARAMETER"
->force directory mode</VAR
-> parameter. </P
+><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 
@@ -666,35 +733,73 @@ CLASS="FILENAME"
 ></A
 > file in that share specific section :</P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->security mask = 0777</VAR
+><I
+>security mask = 0777</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->force security mode = 0</VAR
+><I
+>force security mode = 0</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->directory security mask = 0777</VAR
+><I
+>directory security mask = 0777</I
+></TT
 ></P
 ><P
-><VAR
+><TT
 CLASS="PARAMETER"
->force directory security mode = 0</VAR
+><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"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN1810"
->11.7. Interaction with the standard Samba file attribute 
-       mapping</A
-></H1
+NAME="AEN1767">11.7. Interaction with the standard Samba file attribute 
+       mapping</H1
 ><P
 >Samba maps some of the DOS attribute bits (such as "read 
        only") into the UNIX permissions of a file. This means there can 
@@ -750,7 +855,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="advancednetworkmanagement.html"
+HREF="integrate-ms-networks.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -768,7 +873,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="groupmapping.html"
+HREF="pam.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -778,7 +883,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->System Policies</TD
+>Integrating MS Windows networks with Samba</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -792,7 +897,8 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Group mapping HOWTO</TD
+>Configuring PAM for distributed but centrally 
+managed authentication</TD
 ></TR
 ></TABLE
 ></DIV
index c735eead1c1f52cad3940447bec01c4714d6df65..11934ae47cb24656dabf088eea0854dd306fe223 100644 (file)
@@ -5,19 +5,20 @@
 >Stackable VFS modules</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="Hosting a Microsoft Distributed File System tree on Samba"
-HREF="msdfs.html"><LINK
+TITLE="Passdb XML plugin"
+HREF="pdb-xml.html"><LINK
 REL="NEXT"
-TITLE="Securing Samba"
-HREF="securing-samba.html"></HEAD
+TITLE="Storing Samba's User/Machine Account information in an LDAP Directory"
+HREF="samba-ldap-howto.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="msdfs.html"
+HREF="pdb-xml.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="securing-samba.html"
+HREF="samba-ldap-howto.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="VFS"
-></A
->Chapter 20. Stackable VFS modules</H1
+NAME="VFS">Chapter 18. Stackable VFS modules</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3259"
->20.1. Introduction and configuration</A
-></H1
+NAME="AEN2640">18.1. Introduction and configuration</H1
 ><P
 >Since samba 3.0, samba supports stackable VFS(Virtual File System) modules.  
 Samba passes each request to access the unix file system thru the loaded VFS modules. 
@@ -121,17 +118,13 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3268"
->20.2. Included modules</A
-></H1
+NAME="AEN2649">18.2. Included modules</H1
 ><DIV
 CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3270"
->20.2.1. audit</A
-></H2
+NAME="AEN2651">18.2.1. audit</H2
 ><P
 >A simple module to audit file access to the syslog
 facility.  The following operations are logged:
@@ -167,9 +160,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3278"
->20.2.2. recycle</A
-></H2
+NAME="AEN2659">18.2.2. recycle</H2
 ><P
 >A recycle-bin like modules. When used any unlink call
 will be intercepted and files moved to the recycle
@@ -238,9 +229,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3315"
->20.2.3. netatalk</A
-></H2
+NAME="AEN2696">18.2.3. netatalk</H2
 ><P
 >A netatalk module, that will ease co-existence of samba and
 netatalk file sharing services.</P
@@ -271,9 +260,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN3322"
->20.3. VFS modules available elsewhere</A
-></H1
+NAME="AEN2703">18.3. VFS modules available elsewhere</H1
 ><P
 >This section contains a listing of various other VFS modules that 
 have been posted but don't currently reside in the Samba CVS 
@@ -287,9 +274,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3326"
->20.3.1. DatabaseFS</A
-></H2
+NAME="AEN2707">18.3.1. DatabaseFS</H2
 ><P
 >URL: <A
 HREF="http://www.css.tayloru.edu/~elorimer/databasefs/index.php"
@@ -321,9 +306,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN3334"
->20.3.2. vscan</A
-></H2
+NAME="AEN2715">18.3.2. vscan</H2
 ><P
 >URL: <A
 HREF="http://www.openantivirus.org/"
@@ -355,7 +338,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="msdfs.html"
+HREF="pdb-xml.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -373,7 +356,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="securing-samba.html"
+HREF="samba-ldap-howto.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -383,7 +366,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Hosting a Microsoft Distributed File System tree on Samba</TD
+>Passdb XML plugin</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -397,7 +380,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Securing Samba</TD
+>Storing Samba's User/Machine Account information in an LDAP Directory</TD
 ></TR
 ></TABLE
 ></DIV
index ff6310fd3e826cadd82255669a16c706fa9ee830..1fd7880805f1ef34d2e1044696d866680487ba13 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >vfstest</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="VFSTEST.1"
-></A
->vfstest</H1
+NAME="VFSTEST">vfstest</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -29,15 +28,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >vfstest</B
->  [-d debuglevel] [-c command] [-l logfile] [-h]</P
+> [-d debuglevel] [-c command] [-l logfile] [-h]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -47,12 +44,10 @@ NAME="AEN15"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -67,7 +62,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN23"
+NAME="AEN21"
 ></A
 ><H2
 >OPTIONS</H2
@@ -88,9 +83,11 @@ CLASS="VARIABLELIST"
 >-d|--debug=debuglevel</DT
 ><DD
 ><P
-><VAR
+><TT
 CLASS="REPLACEABLE"
->debuglevel</VAR
+><I
+>debuglevel</I
+></TT
 > is an integer 
 from 0 to 10.  The default value if this parameter is 
 not specified is zero.</P
@@ -134,9 +131,9 @@ CLASS="FILENAME"
 ><DD
 ><P
 >File name for log/debug files. The extension
-               <CODE
+               <TT
 CLASS="CONSTANT"
->'.client'</CODE
+>'.client'</TT
 > will be appended. The log file is never removed
                by the client.
                </P
@@ -147,17 +144,14 @@ CLASS="CONSTANT"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN50"
+NAME="AEN48"
 ></A
 ><H2
 >COMMANDS</H2
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >VFS COMMANDS</I
-></SPAN
 ></P
 ><P
 ></P
@@ -418,12 +412,9 @@ CLASS="COMMAND"
 ></LI
 ></UL
 ><P
-><SPAN
-CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >GENERAL COMMANDS</I
-></SPAN
 ></P
 ><P
 ></P
@@ -468,7 +459,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN181"
+NAME="AEN179"
 ></A
 ><H2
 >VERSION</H2
@@ -479,7 +470,7 @@ NAME="AEN181"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN184"
+NAME="AEN182"
 ></A
 ><H2
 >AUTHOR</H2
index 9c87282ac13e0cb7a14b18a71a81915e0f091b0a..a8aa065eed81016586e9620b7dfc72ae638d870f 100644 (file)
@@ -5,7 +5,7 @@
 >wbinfo</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.77"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,7 +15,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="WBINFO.1"
+NAME="WBINFO"
 ></A
 >wbinfo</H1
 ><DIV
@@ -47,32 +47,28 @@ NAME="AEN27"
 ><H2
 >DESCRIPTION</H2
 ><P
->This tool is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This tool is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 >The <B
 CLASS="COMMAND"
 >wbinfo</B
 > program queries and returns information 
-       created and used by the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+       created and used by the <A
+HREF="winbindd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>      winbindd(8)</B
+></A
 > daemon. </P
 ><P
->The <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+>The <B
+CLASS="COMMAND"
+>winbindd(8)</B
 > daemon must be configured 
        and running for the <B
 CLASS="COMMAND"
@@ -83,7 +79,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN43"
+NAME="AEN38"
 ></A
 ><H2
 >OPTIONS</H2
@@ -97,64 +93,55 @@ CLASS="VARIABLELIST"
 ><DD
 ><P
 >This option will list all users available 
-               in the Windows NT domain for which the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               in the Windows NT domain for which the <B
+CLASS="COMMAND"
+>winbindd(8)
+               </B
 > 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
->
-               .</P
+               user ids to any users that have not already been seen by 
+               <B
+CLASS="COMMAND"
+>winbindd(8)</B
+>.</P
 ></DD
 ><DT
 >-g</DT
 ><DD
 ><P
 >This option will list all groups available 
-               in the Windows NT domain for which the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+               in the Windows NT domain for which the <B
+CLASS="COMMAND"
+>winbindd(8)
+               </B
 > 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               group ids to any groups that have not already been seen by
+               <B
+CLASS="COMMAND"
+>winbindd(8)</B
 >. </P
 ></DD
 ><DT
 >-N name</DT
 ><DD
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->-N</VAR
+><I
+>-N</I
+></TT
 > option 
-               queries <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               queries <B
+CLASS="COMMAND"
+>winbindd(8)</B
 > to query the WINS
                server for the IP address associated with the NetBIOS name
-               specified by the <VAR
+               specified by the <TT
 CLASS="PARAMETER"
->name</VAR
+><I
+>name</I
+></TT
 > parameter.
                </P
 ></DD
@@ -162,21 +149,22 @@ CLASS="PARAMETER"
 >-I ip</DT
 ><DD
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->-I</VAR
+><I
+>-I</I
+></TT
 > option 
-               queries <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               queries <B
+CLASS="COMMAND"
+>winbindd(8)</B
 > to send a node status
                request to get the NetBIOS name associated with the IP address
-               specified by the <VAR
+               specified by the <TT
 CLASS="PARAMETER"
->ip</VAR
+><I
+>ip</I
+></TT
 > parameter.
                </P
 ></DD
@@ -184,45 +172,47 @@ CLASS="PARAMETER"
 >-n name</DT
 ><DD
 ><P
->The <VAR
+>The <TT
 CLASS="PARAMETER"
->-n</VAR
+><I
+>-n</I
+></TT
 > option 
-               queries <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               queries <B
+CLASS="COMMAND"
+>winbindd(8)</B
 > 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 <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
->      <VAR
+               domain used is the one specified in the <TT
+CLASS="FILENAME"
+>smb.conf</TT
+>
+               <TT
 CLASS="PARAMETER"
->workgroup
-               </VAR
+><I
+>workgroup</I
+></TT
 > parameter. </P
 ></DD
 ><DT
 >-s sid</DT
 ><DD
 ><P
->Use <VAR
+>Use <TT
 CLASS="PARAMETER"
->-s</VAR
+><I
+>-s</I
+></TT
 > to resolve
-               a SID to a name.  This is the inverse of the <VAR
+               a SID to a name.  This is the inverse of the <TT
 CLASS="PARAMETER"
+><I
 >-n
-               </VAR
+               </I
+></TT
 > option above.  SIDs must be specified as ASCII strings 
                in the traditional Microsoft format. For example,
                S-1-5-21-1455342024-3071081365-2475485837-500. </P
@@ -248,12 +238,9 @@ CLASS="PARAMETER"
 ><DD
 ><P
 >Convert a SID to a UNIX user id.  If the SID 
-               does not correspond to a UNIX user mapped by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               does not correspond to a UNIX user mapped by <B
+CLASS="COMMAND"
+>              winbindd(8)</B
 > then the operation will fail. </P
 ></DD
 ><DT
@@ -261,14 +248,10 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >Convert a SID to a UNIX group id.  If the SID 
-               does not correspond to a UNIX group mapped by <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
-> then 
-               the operation will fail. </P
+               does not correspond to a UNIX group mapped by <B
+CLASS="COMMAND"
+>              winbindd(8)</B
+> then the operation will fail. </P
 ></DD
 ><DT
 >-t</DT
@@ -283,12 +266,9 @@ CLASS="REFENTRYTITLE"
 ><DD
 ><P
 >Produce a list of domains trusted by the 
-               Windows NT server <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+               Windows NT server <B
+CLASS="COMMAND"
+>winbindd(8)</B
 > contacts 
                when resolving names.  This list does not include the Windows 
                NT domain the server is a Primary Domain Controller for.
@@ -328,18 +308,16 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN147"
+NAME="AEN120"
 ></A
 ><H2
 >EXIT STATUS</H2
 ><P
 >The wbinfo program returns 0 if the operation 
-       succeeded, or 1 if the operation failed.  If the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+       succeeded, or 1 if the operation failed.  If the <B
+CLASS="COMMAND"
+>winbindd(8)
+       </B
 > daemon is not working <B
 CLASS="COMMAND"
 >wbinfo</B
@@ -349,7 +327,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN154"
+NAME="AEN125"
 ></A
 ><H2
 >VERSION</H2
@@ -360,23 +338,25 @@ NAME="AEN154"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN157"
+NAME="AEN128"
 ></A
 ><H2
 >SEE ALSO</H2
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->winbindd</SPAN
->(8)</SPAN
+><A
+HREF="winbindd.8.html"
+TARGET="_top"
+><B
+CLASS="COMMAND"
+>winbindd(8)</B
+>
+       </A
 ></P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN163"
+NAME="AEN133"
 ></A
 ><H2
 >AUTHOR</H2
@@ -396,8 +376,7 @@ CLASS="COMMAND"
        were written by Tim Potter.</P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index ccd5e54ff92ac5e83c6de4e06a774aef346f99db..1558512a610af88d83104ae74aed01c56f06d12e 100644 (file)
@@ -5,19 +5,20 @@
 >Unified Logons between Windows NT and UNIX using Winbind</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
 REL="HOME"
 TITLE="SAMBA Project Documentation"
 HREF="samba-howto-collection.html"><LINK
 REL="UP"
-TITLE="Advanced Configuration"
+TITLE="Optional configuration"
 HREF="optional.html"><LINK
 REL="PREVIOUS"
-TITLE="CUPS Printing Support"
-HREF="cups-printing.html"><LINK
+TITLE="Printing Support"
+HREF="printing.html"><LINK
 REL="NEXT"
-TITLE="Integrating MS Windows networks with Samba"
-HREF="integrate-ms-networks.html"></HEAD
+TITLE="Passdb MySQL plugin"
+HREF="pdb-mysql.html"></HEAD
 ><BODY
 CLASS="CHAPTER"
 BGCOLOR="#FFFFFF"
@@ -45,7 +46,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="cups-printing.html"
+HREF="printing.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -59,7 +60,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="integrate-ms-networks.html"
+HREF="pdb-mysql.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -72,17 +73,13 @@ WIDTH="100%"></DIV
 CLASS="CHAPTER"
 ><H1
 ><A
-NAME="WINBIND"
-></A
->Chapter 16. Unified Logons between Windows NT and UNIX using Winbind</H1
+NAME="WINBIND">Chapter 15. Unified Logons between Windows NT and UNIX using Winbind</H1
 ><DIV
 CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2573"
->16.1. Abstract</A
-></H1
+NAME="AEN2225">15.1. Abstract</H1
 ><P
 >Integration of UNIX and Microsoft Windows NT through 
        a unified logon has been considered a "holy grail" in heterogeneous 
@@ -107,9 +104,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2577"
->16.2. Introduction</A
-></H1
+NAME="AEN2229">15.2. Introduction</H1
 ><P
 >It is well known that UNIX and Microsoft Windows NT have 
        different models for representing user and group information and 
@@ -161,9 +156,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2590"
->16.3. What Winbind Provides</A
-></H1
+NAME="AEN2242">15.3. What Winbind Provides</H1
 ><P
 >Winbind unifies UNIX and Windows NT account management by 
        allowing a UNIX box to become a full member of a NT domain. Once 
@@ -203,9 +196,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2597"
->16.3.1. Target Uses</A
-></H2
+NAME="AEN2249">15.3.1. Target Uses</H2
 ><P
 >Winbind is targeted at organizations that have an 
                existing NT based domain infrastructure into which they wish 
@@ -227,9 +218,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2601"
->16.4. How Winbind Works</A
-></H1
+NAME="AEN2253">15.4. How Winbind Works</H1
 ><P
 >The winbind system is designed around a client/server 
        architecture. A long running <B
@@ -247,11 +236,9 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2606"
->16.4.1. Microsoft Remote Procedure Calls</A
-></H2
+NAME="AEN2258">15.4.1. Microsoft Remote Procedure Calls</H2
 ><P
->Over the last few years, efforts have been underway 
+>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 
@@ -273,28 +260,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2610"
->16.4.2. Microsoft Active Directory Services</A
-></H2
-><P
->                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.  
-                </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2613"
->16.4.3. Name Service Switch</A
-></H2
+NAME="AEN2262">15.4.2. Name Service Switch</H2
 ><P
 >The Name Service Switch, or NSS, is a feature that is 
                present in many UNIX operating systems. It allows system 
@@ -372,9 +338,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2629"
->16.4.4. Pluggable Authentication Modules</A
-></H2
+NAME="AEN2278">15.4.3. Pluggable Authentication Modules</H2
 ><P
 >Pluggable Authentication Modules, also known as PAM, 
                is a system for abstracting authentication and authorization 
@@ -421,9 +385,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2637"
->16.4.5. User and Group ID Allocation</A
-></H2
+NAME="AEN2286">15.4.4. User and Group ID Allocation</H2
 ><P
 >When a user or group is created under Windows NT 
                is it allocated a numerical relative identifier (RID). This is 
@@ -447,9 +409,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2641"
->16.4.6. Result Caching</A
-></H2
+NAME="AEN2290">15.4.5. Result Caching</H2
 ><P
 >An active system can generate a lot of user and group 
                name lookups. To reduce the network cost of these lookups winbind 
@@ -470,9 +430,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2644"
->16.5. Installation and Configuration</A
-></H1
+NAME="AEN2293">15.5. Installation and Configuration</H1
 ><P
 >Many thanks to John Trostel <A
 HREF="mailto:jtrostel@snapserver.com"
@@ -484,14 +442,20 @@ for providing the HOWTO for this section.</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"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2649"
->16.5.1. Introduction</A
-></H2
+NAME="AEN2300">15.5.1. Introduction</H2
 ><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 
@@ -548,9 +512,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2662"
->16.5.2. Requirements</A
-></H2
+NAME="AEN2313">15.5.2. Requirements</H2
 ><P
 >If you have a samba configuration file that you are currently 
 using... <SPAN
@@ -618,9 +580,7 @@ CLASS="SECT2"
 ><H2
 CLASS="SECT2"
 ><A
-NAME="AEN2676"
->16.5.3. Testing Things Out</A
-></H2
+NAME="AEN2327">15.5.3. Testing Things Out</H2
 ><P
 >Before starting, it is probably best to kill off all the SAMBA 
 related daemons running on your server.  Kill off all <B
@@ -663,9 +623,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2687"
->16.5.3.1. Configure and compile SAMBA</A
-></H3
+NAME="AEN2338">15.5.3.1. Configure and compile SAMBA</H3
 ><P
 >The configuration and compilation of SAMBA is pretty straightforward.
 The first three steps may not be necessary depending upon
@@ -673,44 +631,44 @@ whether or not you have previously built the Samba binaries.</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >autoconf</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >make clean</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >rm config.cache</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
->./configure</B
+>./configure --with-winbind</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >make</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >make install</B
@@ -729,13 +687,11 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2706"
->16.5.3.2. Configure <TT
+NAME="AEN2357">15.5.3.2. Configure <TT
 CLASS="FILENAME"
 >nsswitch.conf</TT
 > and the 
-winbind libraries</A
-></H3
+winbind libraries</H3
 ><P
 >The libraries needed to run the <B
 CLASS="COMMAND"
@@ -743,9 +699,9 @@ CLASS="COMMAND"
 > daemon 
 through nsswitch need to be copied to their proper locations, so</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >cp ../samba/source/nsswitch/libnss_winbind.so /lib</B
@@ -753,9 +709,9 @@ CLASS="COMMAND"
 ><P
 >I also found it necessary to make the following symbolic link:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2</B
@@ -763,23 +719,23 @@ CLASS="COMMAND"
 ><P
 >And, in the case of Sun solaris:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >ln -s /usr/lib/libnss_winbind.so /usr/lib/libnss_winbind.so.1</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1</B
 >
-<SAMP
+<TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.2</B
@@ -815,9 +771,9 @@ CLASS="COMMAND"
 your system reboots, but it 
 is faster (and you don't need to reboot) if you do it manually:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >/sbin/ldconfig -v | grep winbind</B
@@ -834,9 +790,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2739"
->16.5.3.3. Configure smb.conf</A
-></H3
+NAME="AEN2390">15.5.3.3. Configure smb.conf</H3
 ><P
 >Several parameters are needed in the smb.conf file to control 
 the behavior of <B
@@ -909,36 +863,42 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2755"
->16.5.3.4. Join the SAMBA server to the PDC domain</A
-></H3
+NAME="AEN2406">15.5.3.4. Join the SAMBA server to the PDC domain</H3
 ><P
 >Enter the following command to make the SAMBA server join the 
-PDC domain, where <VAR
+PDC domain, where <TT
 CLASS="REPLACEABLE"
->DOMAIN</VAR
+><I
+>DOMAIN</I
+></TT
 > is the name of 
-your Windows domain and <VAR
+your Windows domain and <TT
 CLASS="REPLACEABLE"
->Administrator</VAR
+><I
+>Administrator</I
+></TT
 > is 
 a domain user who has administrative privileges in the domain.</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
->/usr/local/samba/bin/net join -S PDC -U Administrator</B
+>/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 
-<VAR
+<TT
 CLASS="REPLACEABLE"
->DOMAIN</VAR
->" where <VAR
+><I
+>DOMAIN</I
+></TT
+>" where <TT
 CLASS="REPLACEABLE"
->DOMAIN</VAR
+><I
+>DOMAIN</I
+></TT
 > 
 is your DOMAIN name.</P
 ></DIV
@@ -947,9 +907,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2766"
->16.5.3.5. Start up the winbindd daemon and test it!</A
-></H3
+NAME="AEN2417">15.5.3.5. Start up the winbindd daemon and test it!</H3
 ><P
 >Eventually, you will want to modify your smb startup script to 
 automatically invoke the winbindd daemon when the other parts of 
@@ -957,35 +915,20 @@ 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
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >/usr/local/samba/bin/winbindd</B
 ></P
 ><P
->Winbindd can now also run in 'dual daemon mode'. This will make it 
-run as 2 processes. The first will answer all requests from the cache,
-thus making responses to clients faster. The other will
-update the cache for the query that the first has just responded.
-Advantage of this is that responses stay accurate and are faster. 
-You can enable dual daemon mode by adding '-B' to the commandline:</P
-><P
-><SAMP
-CLASS="PROMPT"
->root#</SAMP
-> <B
-CLASS="COMMAND"
->/usr/local/samba/bin/winbindd -B</B
-></P
-><P
 >I'm always paranoid and like to make sure the daemon 
 is really running...</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >ps -ae | grep winbindd</B
@@ -998,9 +941,9 @@ CLASS="COMMAND"
 >Now... for the real test, try to get some information about the 
 users on your PDC</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >/usr/local/samba/bin/wbinfo -u</B
@@ -1020,10 +963,12 @@ CEO+krbtgt
 CEO+TsInternetUser</PRE
 ></P
 ><P
->Obviously, I have named my domain 'CEO' and my <VAR
+>Obviously, I have named my domain 'CEO' and my <TT
 CLASS="PARAMETER"
+><I
 >winbind
-separator</VAR
+separator</I
+></TT
 > is '+'.</P
 ><P
 >You can do the same sort of thing to get group information from 
@@ -1031,9 +976,9 @@ the PDC:</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >/usr/local/samba/bin/wbinfo -g</B
@@ -1053,9 +998,9 @@ CEO+Group Policy Creator Owners</PRE
 lists of both local and PDC users and groups.
 Try the following command:</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >getent passwd</B
@@ -1070,9 +1015,9 @@ directories and default shells.</P
 ><P
 >The same thing can be done for groups with the command</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >getent group</B
@@ -1083,17 +1028,13 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2806"
->16.5.3.6. Fix the init.d startup scripts</A
-></H3
+NAME="AEN2453">15.5.3.6. Fix the init.d startup scripts</H3
 ><DIV
 CLASS="SECT4"
 ><H4
 CLASS="SECT4"
 ><A
-NAME="AEN2808"
->16.5.3.6.1. Linux</A
-></H4
+NAME="AEN2455">15.5.3.6.1. Linux</H4
 ><P
 >The <B
 CLASS="COMMAND"
@@ -1156,22 +1097,8 @@ CLASS="PROGRAMLISTING"
 }</PRE
 ></P
 ><P
->If you would like to run winbindd in dual daemon mode, replace 
-the line 
-<PRE
-CLASS="PROGRAMLISTING"
->        daemon /usr/local/samba/bin/winbindd</PRE
->
-
-in the example above with:
-
-<PRE
-CLASS="PROGRAMLISTING"
->        daemon /usr/local/samba/bin/winbindd -B</PRE
->.</P
-><P
 >The 'stop' function has a corresponding entry to shut down the 
-services and looks like this:</P
+services and look s like this:</P
 ><P
 ><PRE
 CLASS="PROGRAMLISTING"
@@ -1201,9 +1128,7 @@ CLASS="SECT4"
 ><H4
 CLASS="SECT4"
 ><A
-NAME="AEN2828"
->16.5.3.6.2. Solaris</A
-></H4
+NAME="AEN2472">15.5.3.6.2. Solaris</H4
 ><P
 >On solaris, you need to modify the 
 <TT
@@ -1266,28 +1191,13 @@ echo Starting Winbind Daemon
    ;;
 esac</PRE
 ></P
-><P
->Again, if you would like to run samba in dual daemon mode, replace 
-<PRE
-CLASS="PROGRAMLISTING"
->   /usr/local/samba/bin/winbindd</PRE
->
-
-in the script above with:
-
-<PRE
-CLASS="PROGRAMLISTING"
->   /usr/local/samba/bin/winbindd -B</PRE
-></P
 ></DIV
 ><DIV
 CLASS="SECT4"
 ><H4
 CLASS="SECT4"
 ><A
-NAME="AEN2838"
->16.5.3.6.3. Restarting</A
-></H4
+NAME="AEN2479">15.5.3.6.3. Restarting</H4
 ><P
 >If you restart the <B
 CLASS="COMMAND"
@@ -1309,9 +1219,7 @@ CLASS="SECT3"
 ><H3
 CLASS="SECT3"
 ><A
-NAME="AEN2844"
->16.5.3.7. Configure Winbind and PAM</A
-></H3
+NAME="AEN2485">15.5.3.7. Configure Winbind and PAM</H3
 ><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 
@@ -1329,9 +1237,9 @@ CLASS="FILENAME"
 > directory
 by invoking the command</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >make nsswitch/pam_winbind.so</B
@@ -1355,9 +1263,9 @@ CLASS="FILENAME"
 >/usr/lib/security</TT
 >.</P
 ><P
-><SAMP
+><TT
 CLASS="PROMPT"
->root#</SAMP
+>root#</TT
 > <B
 CLASS="COMMAND"
 >cp ../samba/source/nsswitch/pam_winbind.so /lib/security</B
@@ -1367,9 +1275,7 @@ CLASS="SECT4"
 ><H4
 CLASS="SECT4"
 ><A
-NAME="AEN2861"
->16.5.3.7.1. Linux/FreeBSD-specific PAM configuration</A
-></H4
+NAME="AEN2502">15.5.3.7.1. Linux/FreeBSD-specific PAM configuration</H4
 ><P
 >The <TT
 CLASS="FILENAME"
@@ -1496,9 +1402,7 @@ CLASS="SECT4"
 ><H4
 CLASS="SECT4"
 ><A
-NAME="AEN2894"
->16.5.3.7.2. Solaris-specific configuration</A
-></H4
+NAME="AEN2535">15.5.3.7.2. Solaris-specific configuration</H4
 ><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
@@ -1572,7 +1476,7 @@ dtsession auth required   /usr/lib/security/$ISA/pam_unix.so.1
 >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 and try connecting through your application that you
+>Now restart your Samba &#38; try connecting through your application that you
 configured in the pam.conf.</P
 ></DIV
 ></DIV
@@ -1583,9 +1487,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2901"
->16.6. Limitations</A
-></H1
+NAME="AEN2542">15.6. Limitations</H1
 ><P
 >Winbind has a number of limitations in its current 
        released version that we hope to overcome in future 
@@ -1596,7 +1498,7 @@ NAME="AEN2901"
 ><LI
 ><P
 >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
@@ -1615,8 +1517,7 @@ NAME="AEN2901"
 ><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, this is
-               instead up to the PDC to enforce.</P
+               that may be been set for Windows NT users.</P
 ></LI
 ></UL
 ></DIV
@@ -1625,9 +1526,7 @@ CLASS="SECT1"
 ><H1
 CLASS="SECT1"
 ><A
-NAME="AEN2911"
->16.7. Conclusion</A
-></H1
+NAME="AEN2552">15.7. Conclusion</H1
 ><P
 >The winbind system, through the use of the Name Service 
        Switch, Pluggable Authentication Modules, and appropriate 
@@ -1653,7 +1552,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="cups-printing.html"
+HREF="printing.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -1671,7 +1570,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="integrate-ms-networks.html"
+HREF="pdb-mysql.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -1681,7 +1580,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->CUPS Printing Support</TD
+>Printing Support</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -1695,7 +1594,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Integrating MS Windows networks with Samba</TD
+>Passdb MySQL plugin</TD
 ></TR
 ></TABLE
 ></DIV
index b114c4064780175dac4220b11f0e89e722b272b7..fb8c9c0458c94a25e6a8b190f41e34ca711db9aa 100644 (file)
@@ -1,11 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML
 ><HEAD
 ><TITLE
 >winbindd</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"></HEAD
 ><BODY
 CLASS="REFENTRY"
 BGCOLOR="#FFFFFF"
@@ -15,9 +16,7 @@ VLINK="#840084"
 ALINK="#0000FF"
 ><H1
 ><A
-NAME="WINBINDD.8"
-></A
->winbindd</H1
+NAME="WINBINDD">winbindd</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -30,15 +29,13 @@ NAME="AEN5"
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8"
-></A
-><H2
+NAME="AEN8"><H2
 >Synopsis</H2
 ><P
 ><B
 CLASS="COMMAND"
 >winbindd</B
->  [-F] [-S] [-i] [-B] [-d &#60;debug level&#62;] [-s &#60;smb config file&#62;] [-n]</P
+> [-F] [-S] [-i] [-B] [-d &#60;debug level&#62;] [-s &#60;smb config file&#62;] [-n]</P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
@@ -48,12 +45,10 @@ NAME="AEN18"
 ><H2
 >DESCRIPTION</H2
 ><P
->This program is part of the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
+>This program is part of the <A
+HREF="samba.7.html"
+TARGET="_top"
+>      Samba</A
 > suite.</P
 ><P
 ><B
@@ -84,12 +79,16 @@ CLASS="COMMAND"
 CLASS="FILENAME"
 >pam_winbind</TT
 > module in the 2.2.2 release only 
-       supports the <VAR
+       supports the <TT
 CLASS="PARAMETER"
->auth</VAR
-> and <VAR
+><I
+>auth</I
+></TT
+> and <TT
 CLASS="PARAMETER"
->account</VAR
+><I
+>account</I
+></TT
 > 
        module-types.  The latter simply
        performs a getpwnam() to verify that the system can obtain a uid for the
@@ -167,11 +166,22 @@ CLASS="FILENAME"
 CLASS="FILENAME"
 >/etc/group</TT
 > and then from the 
-       Windows NT server.
-<PRE
+       Windows NT server. </P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >passwd:         files winbind
-group:          files winbind</PRE
+group:          files winbind
+       </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >The following simple configuration in the
@@ -188,7 +198,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN62"
+NAME="AEN61"
 ></A
 ><H2
 >OPTIONS</H2
@@ -300,12 +310,9 @@ CLASS="COMMAND"
 ><DD
 ><P
 >Specifies the location of the all-important
-               <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+               <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > file. </P
 ></DD
 ></DL
@@ -314,7 +321,7 @@ CLASS="REFENTRYTITLE"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN106"
+NAME="AEN103"
 ></A
 ><H2
 >NAME AND ID RESOLUTION</H2
@@ -345,7 +352,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN112"
+NAME="AEN109"
 ></A
 ><H2
 >CONFIGURATION</H2
@@ -354,12 +361,10 @@ NAME="AEN112"
 CLASS="COMMAND"
 >winbindd</B
 > daemon 
-       is done through configuration parameters in the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+       is done through configuration parameters in the <TT
+CLASS="FILENAME"
+>smb.conf(5)
+       </TT
 > file.  All parameters should be specified in the 
        [global] section of smb.conf. </P
 ><P
@@ -370,9 +375,11 @@ CLASS="REFENTRYTITLE"
 ><A
 HREF="smb.conf.5.html#WINBINDSEPARATOR"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind separator</VAR
+><I
+>winbind separator</I
+></TT
 ></A
 ></P
 ></LI
@@ -381,9 +388,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDUID"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind uid</VAR
+><I
+>winbind uid</I
+></TT
 ></A
 ></P
 ></LI
@@ -392,9 +401,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDGID"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind gid</VAR
+><I
+>winbind gid</I
+></TT
 ></A
 ></P
 ></LI
@@ -403,9 +414,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDCACHETIME"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind cache time</VAR
+><I
+>winbind cache time</I
+></TT
 ></A
 ></P
 ></LI
@@ -414,9 +427,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDENUMUSERS"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind enum users</VAR
+><I
+>winbind enum users</I
+></TT
 ></A
 ></P
 ></LI
@@ -425,9 +440,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDENUMGROUPS"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind enum groups</VAR
+><I
+>winbind enum groups</I
+></TT
 ></A
 ></P
 ></LI
@@ -436,9 +453,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#TEMPLATEHOMEDIR"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->template homedir</VAR
+><I
+>template homedir</I
+></TT
 ></A
 ></P
 ></LI
@@ -447,9 +466,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#TEMPLATESHELL"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->template shell</VAR
+><I
+>template shell</I
+></TT
 ></A
 ></P
 ></LI
@@ -458,9 +479,11 @@ CLASS="PARAMETER"
 ><A
 HREF="smb.conf.5.html#WINBINDUSEDEFAULTDOMAIN"
 TARGET="_top"
->              <VAR
+>              <TT
 CLASS="PARAMETER"
->winbind use default domain</VAR
+><I
+>winbind use default domain</I
+></TT
 ></A
 ></P
 ></LI
@@ -469,7 +492,7 @@ CLASS="PARAMETER"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN156"
+NAME="AEN151"
 ></A
 ><H2
 >EXAMPLE SETUP</H2
@@ -482,35 +505,64 @@ NAME="AEN156"
 CLASS="FILENAME"
 >/etc/nsswitch.conf</TT
 > put the 
-       following:
-<PRE
+       following:</P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >passwd:     files winbind
-group:      files winbind</PRE
+group:      files winbind
+       </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >In <TT
 CLASS="FILENAME"
 >/etc/pam.d/*</TT
-> replace the <VAR
+> replace the 
+       <TT
 CLASS="PARAMETER"
->      auth</VAR
-> lines with something like this:
-<PRE
+><I
+>auth</I
+></TT
+> lines with something like this: </P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="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</PRE
+auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
+       </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
->Note in particular the use of the <VAR
+>Note in particular the use of the <TT
 CLASS="PARAMETER"
->sufficient
-       </VAR
-> keyword and the <VAR
+><I
+>sufficient</I
+></TT
+> 
+       keyword and the <TT
 CLASS="PARAMETER"
->use_first_pass</VAR
+><I
+>use_first_pass</I
+></TT
 > keyword. </P
 ><P
 >Now replace the account lines with this: </P
@@ -529,15 +581,19 @@ CLASS="COMMAND"
 ><P
 ><B
 CLASS="COMMAND"
->net join -S PDC -U Administrator</B
+>smbpasswd -j DOMAIN -r PDC -U
+       Administrator</B
 ></P
 ><P
->The username after the <VAR
+>The username after the <TT
 CLASS="PARAMETER"
->-U</VAR
+><I
+>-U</I
+></TT
 > can be any
        Domain user that has administrator privileges on the machine.
-       Substitute the name or IP of your PDC for "PDC".</P
+       Substitute your domain name for "DOMAIN" and the name of your PDC
+       for "PDC".</P
 ><P
 >Next copy <TT
 CLASS="FILENAME"
@@ -548,9 +604,9 @@ CLASS="FILENAME"
 >/lib</TT
 > and <TT
 CLASS="FILENAME"
->pam_winbind.so
-       </TT
-> to <TT
+>pam_winbind.so</TT
+>
+       to <TT
 CLASS="FILENAME"
 >/lib/security</TT
 >.  A symbolic link needs to be
@@ -568,15 +624,19 @@ CLASS="FILENAME"
 >/lib/libnss_winbind.so.1</TT
 >.</P
 ><P
->Finally, setup a <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+>Finally, setup a <TT
+CLASS="FILENAME"
+>smb.conf</TT
 > containing directives like the 
-       following:
-<PRE
+       following:  </P
+><P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
 CLASS="PROGRAMLISTING"
 >[global]
        winbind separator = +
@@ -587,7 +647,11 @@ CLASS="PROGRAMLISTING"
         winbind gid = 10000-20000
         workgroup = DOMAIN
         security = domain
-        password server = *</PRE
+        password server = *
+       </PRE
+></TD
+></TR
+></TABLE
 ></P
 ><P
 >Now start winbindd and you should find that your user and 
@@ -606,7 +670,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN194"
+NAME="AEN190"
 ></A
 ><H2
 >NOTES</H2
@@ -617,12 +681,9 @@ CLASS="COMMAND"
 >winbindd</B
 >: </P
 ><P
-><SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->nmbd</SPAN
->(8)</SPAN
+><B
+CLASS="COMMAND"
+>nmbd</B
 > must be running on the local machine 
        for <B
 CLASS="COMMAND"
@@ -630,8 +691,8 @@ CLASS="COMMAND"
 > to work. <B
 CLASS="COMMAND"
 >winbindd</B
-> queries
-       the list of trusted domains for the Windows NT server
+>
+       queries the list of trusted domains for the Windows NT server
        on startup and when a SIGHUP is received.  Thus, for a running <B
 CLASS="COMMAND"
 >      winbindd</B
@@ -642,9 +703,9 @@ CLASS="COMMAND"
 CLASS="COMMAND"
 >winbindd</B
 >
-       nsswitch module read an environment variable named <VAR
+       nsswitch module read an environment variable named <TT
 CLASS="ENVAR"
->      $WINBINDD_DOMAIN</VAR
+>      $WINBINDD_DOMAIN</TT
 >.  If this variable contains a comma separated
        list of Windows NT domain names, then winbindd will only resolve users
        and groups within those Windows NT domains. </P
@@ -667,7 +728,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN212"
+NAME="AEN206"
 ></A
 ><H2
 >SIGNALS</H2
@@ -686,14 +747,11 @@ CLASS="VARIABLELIST"
 >SIGHUP</DT
 ><DD
 ><P
->Reload the <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
-> file and 
-               apply any parameter changes to the running 
+>Reload the <TT
+CLASS="FILENAME"
+>smb.conf(5)</TT
+>
+               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.  </P
@@ -721,7 +779,7 @@ CLASS="COMMAND"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN231"
+NAME="AEN223"
 ></A
 ><H2
 >FILES</H2
@@ -772,9 +830,11 @@ CLASS="FILENAME"
 ><P
 >Storage for the Windows NT rid to UNIX user/group 
                id mapping.  The lock directory is specified when Samba is initially 
-               compiled using the <VAR
+               compiled using the <TT
 CLASS="PARAMETER"
->--with-lockdir</VAR
+><I
+>--with-lockdir</I
+></TT
 > option.
                This directory is by default <TT
 CLASS="FILENAME"
@@ -795,7 +855,7 @@ CLASS="FILENAME"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN260"
+NAME="AEN252"
 ></A
 ><H2
 >VERSION</H2
@@ -806,7 +866,7 @@ NAME="AEN260"
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN263"
+NAME="AEN255"
 ></A
 ><H2
 >SEE ALSO</H2
@@ -814,30 +874,27 @@ NAME="AEN263"
 ><TT
 CLASS="FILENAME"
 >nsswitch.conf(5)</TT
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->Samba</SPAN
->(7)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->wbinfo</SPAN
->(8)</SPAN
->, <SPAN
-CLASS="CITEREFENTRY"
-><SPAN
-CLASS="REFENTRYTITLE"
->smb.conf</SPAN
->(5)</SPAN
+>,
+       <A
+HREF="samba.7.html"
+TARGET="_top"
+>samba(7)</A
+>,
+       <A
+HREF="wbinfo.1.html"
+TARGET="_top"
+>wbinfo(1)</A
+>,
+       <A
+HREF="smb.conf.5.html"
+TARGET="_top"
+>smb.conf(5)</A
 ></P
 ></DIV
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN276"
+NAME="AEN262"
 ></A
 ><H2
 >AUTHOR</H2
@@ -853,12 +910,11 @@ CLASS="COMMAND"
 > and <B
 CLASS="COMMAND"
 >winbindd</B
-> were 
-       written by Tim Potter.</P
+>
+       were written by Tim Potter.</P
 ><P
 >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.</P
+       by Gerald Carter</P
 ></DIV
 ></BODY
 ></HTML
index e61eacc5971eea1dded996a461896ef10f593ae2..22362f8b6dfeaadf33a3fa63b6aed5fd16e76fae 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "FINDSMB" "1" "03 april 2003" "" ""
-
+.TH "FINDSMB" "1" "04 March 2003" "" ""
 .SH NAME
 findsmb \- list info about machines that respond to SMB  name queries on a subnet
 .SH SYNOPSIS
@@ -13,15 +12,12 @@ findsmb \- list info about machines that respond to SMB  name queries on a subne
 
 .SH "DESCRIPTION"
 .PP
-This perl script is part of the \fBSamba\fR(7)
-suite.
+This perl script is part of the  Samba suite.
 .PP
 \fBfindsmb\fR 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 \fBnmblookup\fR(1)
-and \fBsmbclient\fR(1)
-to obtain this information.
+It uses \fB nmblookup(1)\fR to obtain this information.
 .SH "OPTIONS"
 .TP
 \fB-r\fR
@@ -29,16 +25,15 @@ Controls whether \fBfindsmb\fR takes
 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, \fBnmblookup\fR(1)
+If set, \fBnmblookup\fR
 will be called with -B option.
 .TP
 \fBsubnet broadcast address\fR
 Without this option, \fBfindsmb
 \fR will probe the subnet of the machine where 
-\fBfindsmb\fR(1)
-is run. This value is passed to 
-\fBnmblookup\fR(1)
-as part of the -B option.
+\fBfindsmb\fR is run. This value is passed 
+to \fBnmblookup\fR as part of the 
+-B option.
 .SH "EXAMPLES"
 .PP
 The output of \fBfindsmb\fR lists the following 
@@ -55,15 +50,15 @@ not show any information about the operating system or server
 version.
 .PP
 The command with -r option
-must be run on a system without \fBnmbd\fR(8) running. 
+must be run on a system without \fBnmbd\fR running. 
 If \fBnmbd\fR 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 -r
 option on a machine without \fBnmbd\fR running.
 .PP
-For example, running \fBfindsmb\fR 
-without -r option set would yield output similar
+For example, running \fBfindsmb\fR without 
+-r option set would yield output similar
 to the following
 
 .nf
@@ -79,6 +74,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]
+       
 .fi
 .SH "VERSION"
 .PP
@@ -86,8 +82,9 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBnmbd\fR(8),
-\fBsmbclient\fR(1), and \fBnmblookup\fR(1)
+\fBnmbd(8)\fR 
+\fBsmbclient(1)
+\fR and  \fBnmblookup(1)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -97,7 +94,7 @@ to the way the Linux kernel is developed.
 .PP
 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 ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 
-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.
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+release by Jeremy Allison.  The conversion to DocBook for 
+Samba 2.2 was done by Gerald Carter
index 3042a9c522ed978b6a305a0db2625c6f3f62d088..82660f26bdd2bc77adaee01c49e0cec925b58509 100644 (file)
@@ -3,16 +3,15 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "LMHOSTS" "5" "03 april 2003" "" ""
-
+.TH "LMHOSTS" "5" "04 March 2003" "" ""
 .SH NAME
 lmhosts \- The Samba NetBIOS hosts file
 .SH SYNOPSIS
 .PP
-\fIlmhosts\fR is the \fBSamba\fR(7) NetBIOS name to IP address mapping file.
+\fIlmhosts\fR is the  Samba NetBIOS name to IP address mapping file.
 .SH "DESCRIPTION"
 .PP
-This file is part of the \fBSamba\fR(7) suite.
+This file is part of the  Samba suite.
 .PP
 \fIlmhosts\fR is the \fBSamba
 \fR NetBIOS name to IP address mapping file.  It 
@@ -24,7 +23,7 @@ to the NetBIOS naming format.
 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:
+in the lmhosts file contains the following information :
 .TP 0.2i
 \(bu
 IP Address - in dotted decimal format.
@@ -39,7 +38,8 @@ If the trailing '#' is omitted then the given IP
 address will be returned for all names that match the given 
 name, whatever the NetBIOS name type in the lookup.
 .PP
-An example follows:
+An example follows :
+.PP
 
 .nf
 #
@@ -61,13 +61,16 @@ type for a name "NTSERVER" is queried. Any other name type will not
 be resolved.
 .PP
 The default location of the \fIlmhosts\fR file 
-is in the same directory as the \fBsmb.conf\fR(5) file.
+is in the same directory as the    
+smb.conf(5)> file.
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 2.2 of 
+the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbclient\fR(1), \fBsmb.conf\fR(5), and \fBsmbpasswd\fR(8)
+\fBsmbclient(1)
+\fR and \fB smbpasswd(8)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -80,5 +83,4 @@ The man page sources were converted to YODL format (another
 excellent piece of Open Source software, available at
 ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 71e0087d40bb08930003c8de9e5d5eff2925fd71..9b25d30c4fa9e2ad3fa38fc97b77f67f16d5ed50 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "NET" "8" "03 april 2003" "" ""
-
+.TH "NET" "8" "04 March 2003" "" ""
 .SH NAME
 net \- Tool for administration of Samba and remote CIFS servers.
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ net \- Tool for administration of Samba and remote CIFS servers.
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 The samba net utility is meant to work just like the net utility 
 available for windows and DOS.
@@ -23,8 +22,7 @@ available for windows and DOS.
 Display summary of all available options.
 .TP
 \fB-w target-workgroup\fR
-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.
 .TP
 \fB-W workgroup\fR
 Sets client workgroup or domain
@@ -33,8 +31,7 @@ Sets client workgroup or domain
 User name to use
 .TP
 \fB-I ip-address\fR
-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.
 .TP
 \fB-p port\fR
 Port on the target server to connect to.
@@ -46,8 +43,7 @@ Sets name of the client.
 Specify alternative configuration file that should be loaded.
 .TP
 \fB-S server\fR
-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.
 .TP
 \fB-C comment\fR
 FIXME
@@ -91,11 +87,11 @@ Without any options, the \fBNET TIME\fR command
 displays the time on the remote server.
 .TP
 \fBSYSTEM\fR
-Displays the time on the remote server in a format ready for \fB/bin/date\fR
+Displays the time on the remote server in a format ready for /bin/date
 .TP
 \fBSET\fR
 Tries to set the date and time of the local server to that on 
-the remote server using \fB/bin/date\fR.
+the remote server using /bin/date.
 .TP
 \fBZONE\fR
 Displays the timezone in hours from GMT on the remote computer.
@@ -120,7 +116,7 @@ delete specified user
 \fBUSER INFO <name> [misc options]\fR
 list the domain groups of the specified user
 .TP
-\fBUSER ADD <name> [password] [-F user flags] [misc. options]\fR
+\fBUSER ADD <name> [password] [-F user flags] [misc. options\fR
 Add specified user
 .TP
 \fBGROUP [misc options] [targets]\fR
index bd263fcf15faaaf2f6d563fccfff3b210033f07f..44a39c1730c2ab6b67a894ab521c3ae0f2c16669 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "NMBD" "8" "03 april 2003" "" ""
-
+.TH "NMBD" "8" "04 March 2003" "" ""
 .SH NAME
 nmbd \- NetBIOS name server to provide NetBIOS  over IP naming services to clients
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ nmbd \- NetBIOS name server to provide NetBIOS  over IP naming services to clien
 
 .SH "DESCRIPTION"
 .PP
-This program is part of the \fBSamba\fR(7) suite.
+This program is part of the Samba suite.
 .PP
 \fBnmbd\fR is a server that understands 
 and can reply to NetBIOS over IP name service requests, like 
@@ -35,7 +34,7 @@ but this can be overridden with the \fB-n\fR
 option (see OPTIONS below). Thus \fBnmbd\fR will 
 reply to broadcast queries for its own name(s). Additional
 names for \fBnmbd\fR to respond on can be set 
-via parameters in the \fBsmb.conf\fR(5) configuration file.
+via parameters in the \fI smb.conf(5)\fR configuration file.
 .PP
 \fBnmbd\fR can also be used as a WINS 
 (Windows Internet Name Server) server. What this basically means 
@@ -75,25 +74,36 @@ If specified, this parameter causes
 \fBnmbd\fR to log to standard output rather
 than a file.
 .TP
+\fB-a\fR
+If this parameter is specified, each new 
+connection will append log messages to the log file.  
+This is the default.
+.TP
 \fB-i\fR
 If this parameter is specified it causes the
 server to run "interactively", not as a daemon, even if the
 server is executed on the command line of a shell. Setting this
 parameter negates the implicit daemon mode when run from the
 command line. \fBnmbd\fR also logs to standard
-output, as if the -S parameter had been
+output, as if the \fB-S\fR parameter had been
 given. 
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
+\fB-o\fR
+If this parameter is specified, the 
+log files will be overwritten when opened.  By default, 
+\fBsmbd\fR will append entries to the log 
+files.
+.TP
+\fB-h\fR
+Prints the help information (usage) 
+for \fBnmbd\fR.
 .TP
 \fB-H <filename>\fR
 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 \fIname resolve
-order\fR described in \fBsmb.conf\fR(5) to resolve any 
-NetBIOS name queries needed by the server. Note 
+resolution mechanism   name resolve order described in  \fIsmb.conf(5)\fR
+to resolve any NetBIOS name queries needed by the server. Note 
 that the contents of this file are \fBNOT\fR 
 used by \fBnmbd\fR to answer any name queries. 
 Adding a line to this file affects name NetBIOS resolution 
@@ -103,48 +113,53 @@ The default path to this file is compiled into
 Samba as part of the build process. Common defaults 
 are \fI/usr/local/samba/lib/lmhosts\fR,
 \fI/usr/samba/lib/lmhosts\fR or
-\fI/etc/samba/lmhosts\fR. See the \fBlmhosts\fR(5) man page for details on the contents of this file.
+\fI/etc/lmhosts\fR. See the
+\fIlmhosts(5)\fR
+man page for details on the contents of this file.
 .TP
 \fB-V\fR
 Prints the version number for 
-\fBsmbd\fR.
+\fBnmbd\fR.
 .TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
+\fB-d <debug level>\fR
+debuglevel is an integer 
 from 0 to 10.  The default value if this parameter is 
 not specified is zero.
 
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
+The higher this value, the more detail will 
+be logged to the log files about the activities of the 
 server. At level 0, only critical errors and serious 
 warnings will be logged. Level 1 is a reasonable level for
 day to day running - it generates a small amount of 
 information about operations carried out.
 
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
+Levels above 1 will generate considerable amounts 
+of log data, and should only be used when investigating 
+a problem. Levels above 3 are designed for use only by developers 
+and generate HUGE amounts of log data, most of which is extremely 
+cryptic.
 
-Note that specifying this parameter here will 
-override the log
-level file.
+Note that specifying this parameter here will override 
+the log level 
+parameter in the \fI  smb.conf(5)\fR file.
+.TP
+\fB-l <log directory>\fR
+The -l parameter specifies a directory 
+into which the "log.nmbd" log file will be created
+for operational data from the running \fBnmbd\fR
+server. The default log directory is compiled into Samba
+as part of the build process. Common defaults are \fI  /usr/local/samba/var/log.nmb\fR, \fI  /usr/samba/var/log.nmb\fR or
+\fI/var/log/log.nmb\fR.  \fBBeware:\fR
+If the directory specified does not exist, \fBnmbd\fR
+will log to the default debug log location defined at compile time.
 .TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\fB-n <primary NetBIOS name>\fR
+This option allows you to override
+the NetBIOS name that Samba uses for itself. This is identical 
+to setting the   NetBIOS name parameter in the  
+\fIsmb.conf\fR file.  However, a command
+line setting will take precedence over settings in 
+\fIsmb.conf\fR.
 .TP
 \fB-p <UDP port number>\fR
 UDP port number is a positive integer value.
@@ -152,13 +167,21 @@ This option changes the default UDP port number (normally 137)
 that \fBnmbd\fR responds to name queries on. Don't
 use this option unless you are an expert, in which case you
 won't need help!
+.TP
+\fB-s <configuration file>\fR
+The default configuration file name
+is set at build time, typically as \fI  /usr/local/samba/lib/smb.conf\fR, but
+this may be changed when Samba is autoconfigured.
+
+The file specified contains the configuration details
+required by the server. See   \fIsmb.conf(5)\fR for more information.
 .SH "FILES"
 .TP
 \fB\fI/etc/inetd.conf\fB\fR
 If the server is to be run by the
 \fBinetd\fR meta-daemon, this file
 must contain suitable startup information for the
-meta-daemon. See the install document
+meta-daemon. See the UNIX_INSTALL.html document
 for details.
 .TP
 \fB\fI/etc/rc\fB\fR
@@ -167,7 +190,7 @@ system uses).
 
 If running the server as a daemon at startup,
 this file will need to contain an appropriate startup
-sequence for the server. See the "How to Install and Test SAMBA" document
+sequence for the server. See the UNIX_INSTALL.html document
 for details.
 .TP
 \fB\fI/etc/services\fB\fR
@@ -175,26 +198,27 @@ If running the server via the
 meta-daemon \fBinetd\fR, 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 "How to Install and Test SAMBA"
+See the UNIX_INSTALL.html
 document for details.
 .TP
 \fB\fI/usr/local/samba/lib/smb.conf\fB\fR
-This is the default location of 
-the \fBsmb.conf\fR(5) server
-configuration file. Other common places that systems
+This is the default location of the
+\fIsmb.conf\fR
+server configuration file. Other common places that systems
 install this file are \fI/usr/samba/lib/smb.conf\fR
-and \fI/etc/samba/smb.conf\fR.
+and \fI/etc/smb.conf\fR.
 
 When run as a WINS server (see the
 wins support
-parameter in the \fBsmb.conf\fR(5) man page),
+parameter in the \fIsmb.conf(5)\fR man page),
 \fBnmbd\fR
 will store the WINS database in the file \fIwins.dat\fR
 in the \fIvar/locks\fR directory configured under
 wherever Samba was configured to install itself.
 
 If \fBnmbd\fR is acting as a \fB  browse master\fR (see the local master
-parameter in the \fBsmb.conf\fR(5) man page, \fBnmbd\fR
+parameter in the \fIsmb.conf(5)\fR man page,
+\fBnmbd\fR
 will store the browsing database in the file \fIbrowse.dat
 \fR in the \fIvar/locks\fR directory
 configured under wherever Samba was configured to install itself.
@@ -214,10 +238,10 @@ under wherever Samba was configured to install itself). This will also
 cause \fBnmbd\fR to dump out its server database in
 the \fIlog.nmb\fR file.
 .PP
-The debug log level of nmbd may be raised or lowered
-using \fBsmbcontrol\fR(1) (SIGUSR[1|2] signals
-are no longer used since Samba 2.2). This is to allow
-transient problems to be diagnosed, whilst still running 
+The debug log level of nmbd may be raised or lowered using
+\fBsmbcontrol(1)\fR
+ (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.
 .SH "VERSION"
 .PP
@@ -225,8 +249,11 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBinetd\fR(8), \fBsmbd\fR(8), \fBsmb.conf\fR(5), \fBsmbclient\fR(1), \fBtestparm\fR(1), \fBtestprns\fR(1), and the Internet 
-RFC's \fIrfc1001.txt\fR, \fIrfc1002.txt\fR. 
+\fBinetd(8)\fR, \fBsmbd(8)\fR 
+\fIsmb.conf(5)\fR
+ \fBsmbclient(1)
+\fR and the Internet RFC's
+\fIrfc1001.txt\fR, \fIrfc1002.txt\fR. 
 In addition the CIFS (formerly SMB) specification is available 
 as a link from the Web page  
 http://samba.org/cifs/ <URL:http://samba.org/cifs/>.
@@ -239,7 +266,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 08ddd1c133918faa480bd9d1b1b4dbfd96da8236..06e608a62e587bd4fb0940b3f5731649f167beaf 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "NMBLOOKUP" "1" "03 april 2003" "" ""
-
+.TH "NMBLOOKUP" "1" "04 March 2003" "" ""
 .SH NAME
 nmblookup \- NetBIOS over TCP/IP client used to lookup NetBIOS  names
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ nmblookup \- NetBIOS over TCP/IP client used to lookup NetBIOS  names
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBnmblookup\fR is used to query NetBIOS names 
 and map them to IP addresses in a network using NetBIOS over TCP/IP 
@@ -34,7 +33,7 @@ to do a recursive lookup. This is used when sending a name
 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.
 .TP
 \fB-S\fR
 Once the name query has returned an IP 
@@ -47,51 +46,22 @@ datagrams. The reason for this option is a bug in Windows 95
 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 \fBnmbd\fR(8) daemon is running on this machine it also binds to this port.
+in addition, if the nmbd(8) 
+daemon is running on this machine it also binds to this port.
 .TP
 \fB-A\fR
 Interpret \fIname\fR as 
 an IP Address and do a node status query on this address.
 .TP
-\fB-n <primary NetBIOS name>\fR
-This option allows you to override
-the NetBIOS name that Samba uses for itself. This is identical
-to setting the \fINetBIOS
-name\fR parameter in the \fBsmb.conf\fR(5) file.  However, a command
-line setting will take precedence over settings in
-\fBsmb.conf\fR(5).
-.TP
-\fB-i <scope>\fR
-This specifies a NetBIOS scope that
-\fBnmblookup\fR will use to communicate with when
-generating NetBIOS names. For details on the use of NetBIOS
-scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are
-\fBvery\fR rarely used, only set this parameter
-if you are the system administrator in charge of all the
-NetBIOS systems you communicate with.
-.TP
-\fB-W|--workgroup=domain\fR
-Set the SMB domain of the username.   This
-overrides the default domain which is the domain defined in
-smb.conf.  If the domain specified is the same as the servers 
-NetBIOS name, it causes the client to log on using the servers local 
-SAM (as opposed to the Domain SAM). 
-.TP
-\fB-O socket options\fR
-TCP socket options to set on the client
-socket. See the socket options parameter in
-the \fBsmb.conf\fR(5) manual page for the list of valid
-options. 
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
+\fB-h\fR
+Print a help (usage) message.
 .TP
 \fB-B <broadcast address>\fR
 Send the query to the given broadcast address. Without 
 this option the default behavior of nmblookup is to send the 
 query to the broadcast address of the network interfaces as 
 either auto-detected or defined in the \fIinterfaces\fR
- parameter of the \fBsmb.conf\fR(5) file.
+ parameter of the  \fIsmb.conf (5)\fR file.
 .TP
 \fB-U <unicast address>\fR
 Do a unicast query to the specified address or 
@@ -99,46 +69,37 @@ host \fIunicast address\fR. This option
 (along with the \fI-R\fR option) is needed to 
 query a WINS server.
 .TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
+\fB-d <debuglevel>\fR
+debuglevel is an integer from 0 to 10.
 
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
+The default value if this parameter is not specified 
+is zero.
 
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
+The higher this value, the more detail will be logged 
+about the activities of \fBnmblookup\fR. At level 
+0, only critical errors and serious warnings will be logged.
 
-Note that specifying this parameter here will 
-override the log
-level file.
+Levels above 1 will generate considerable amounts of 
+log data, and should only be used when investigating a problem. 
+Levels above 3 are designed for use only by developers and 
+generate HUGE amounts of data, most of which is extremely cryptic.
+
+Note that specifying this parameter here will override 
+the \fI  log level\fR parameter in the \fI  smb.conf(5)\fR file.
+.TP
+\fB-s <smb.conf>\fR
+This parameter specifies the pathname to 
+the Samba configuration file,   smb.conf(5)  This file controls all aspects of
+the Samba setup on the machine.
 .TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\fB-i <scope>\fR
+This specifies a NetBIOS scope that
+\fBnmblookup\fR will use to communicate with when 
+generating NetBIOS names. For details on the use of NetBIOS 
+scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are 
+\fBvery\fR rarely used, only set this parameter 
+if you are the system administrator in charge of all the 
+NetBIOS systems you communicate with.
 .TP
 \fB-T\fR
 This causes any IP addresses found in the 
@@ -165,8 +126,8 @@ area.
 .PP
 \fBnmblookup\fR can be used to query 
 a WINS server (in the same way \fBnslookup\fR is 
-used to query DNS servers). To query a WINS server, \fBnmblookup\fR 
-must be called like this:
+used to query DNS servers). To query a WINS server, 
+\fBnmblookup\fR must be called like this:
 .PP
 \fBnmblookup -U server -R 'name'\fR
 .PP
@@ -182,7 +143,8 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBnmbd\fR(8), \fBsamba\fR(7), and \fBsmb.conf\fR(5).
+\fBnmbd(8)\fR 
+samba(7) and smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -192,7 +154,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index fe32547e92e39c3b341099ca2019a4e785511946..82765d6dad193aaca29ec57ae952fbabed97fc16 100644 (file)
@@ -3,17 +3,16 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "PDBEDIT" "8" "03 april 2003" "" ""
-
+.TH "PDBEDIT" "8" "30 March 2003" "" ""
 .SH NAME
 pdbedit \- manage the SAM database
 .SH SYNOPSIS
 
-\fBpdbedit\fR [ \fB-l\fR ] [ \fB-v\fR ] [ \fB-w\fR ] [ \fB-u username\fR ] [ \fB-f fullname\fR ] [ \fB-h homedir\fR ] [ \fB-D drive\fR ] [ \fB-S script\fR ] [ \fB-p profile\fR ] [ \fB-a\fR ] [ \fB-m\fR ] [ \fB-x\fR ] [ \fB-i passdb-backend\fR ] [ \fB-e passdb-backend\fR ] [ \fB-g\fR ] [ \fB-b passdb-backend\fR ] [ \fB-g\fR ] [ \fB-d debuglevel\fR ] [ \fB-s configfile\fR ] [ \fB-P account-policy\fR ] [ \fB-C value\fR ]
+\fBpdbedit\fR [ \fB-l\fR ] [ \fB-v\fR ] [ \fB-w\fR ] [ \fB-u username\fR ] [ \fB-f fullname\fR ] [ \fB-h homedir\fR ] [ \fB-D drive\fR ] [ \fB-S script\fR ] [ \fB-p profile\fR ] [ \fB-a\fR ] [ \fB-m\fR ] [ \fB-x\fR ] [ \fB-i passdb-backend\fR ] [ \fB-e passdb-backend\fR ] [ \fB-g\fR ] [ \fB-b passdb-backend\fR ] [ \fB-d debuglevel\fR ] [ \fB-s configfile\fR ] [ \fB-P account-policy\fR ] [ \fB-V value\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 The pdbedit program is used to manage the users accounts
 stored in the sam database and can only be run by root.
@@ -38,8 +37,9 @@ Example: \fBpdbedit -l\fR
 
 
 .nf
-sorce:500:Simo Sorce
-samba:45:Test User
+               sorce:500:Simo Sorce
+               samba:45:Test User
+               
 .fi
 .TP
 \fB-v\fR
@@ -51,38 +51,40 @@ Example: \fBpdbedit -l -v\fR
 
 
 .nf
----------------
-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
+               ---------------
+               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
+               
 .fi
 .TP
 \fB-w\fR
 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
-\fIsmbpasswd\fR file format. (see the
-\fBsmbpasswd\fR(5) for details)
+\fIsmbpasswd\fR file format. (see the \fIsmbpasswd(5)\fR for details)
 
 Example: \fBpdbedit -l -w\fR
 
+
 .nf
-sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
-samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:
+               sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX         ]:LCT-00000000:
+               samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX         ]:LCT-3BFA1E8D:
+               
 .fi
 .TP
 \fB-u username\fR
@@ -137,7 +139,7 @@ Example: \fBpdbedit -a -u sorce\fR
 
 .nf
 new password:
-retype new password
+               retype new password
 .fi
 .TP
 \fB-m\fR
@@ -180,14 +182,6 @@ If you specify \fI-g\fR,
 then \fI-i in-backend -e out-backend\fR
 applies to the group mapping instead of the user database.
 
-This option will ease migration from one passdb backend to
-another and will ease backing up.
-.TP
-\fB-g\fR
-If you specify \fI-g\fR,
-then \fI-i in-backend -e out-backend\fR
-applies to the group mapping instead of the user database.
-
 This option will ease migration from one passdb backend to
 another and will ease backing up.
 .TP
@@ -207,39 +201,24 @@ Example: \fBpdbedit -P "bad lockout attempt"\fR
 
 
 .nf
-account policy value for bad lockout attempt is 0
+               account policy value for bad lockout attempt is 0
+               
 .fi
 .TP
-\fB-C account-policy-value\fR
+\fB-V account-policy-value\fR
 Sets an account policy to a specified value. 
 This option may only be used in conjunction
 with the \fI-P\fR option.
 
-Example: \fBpdbedit -P "bad lockout attempt" -C 3\fR
+Example: \fBpdbedit -P "bad lockout attempt" -V 3\fR
 
 
 .nf
-account policy value for bad lockout attempt was 0
-account policy value for bad lockout attempt is now 3
+               account policy value for bad lockout attempt was 0
+               account policy value for bad lockout attempt is now 3
+               
 .fi
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
 \fB-d|--debug=debuglevel\fR
 \fIdebuglevel\fR is an integer 
 from 0 to 10.  The default value if this parameter is 
@@ -262,10 +241,18 @@ Note that specifying this parameter here will
 override the log
 level file.
 .TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\fB-h|--help\fR
+Print a summary of command line options.
+.TP
+\fB-s <configuration file>\fR
+The file specified contains the 
+configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
+The default configuration file name is determined at 
+compile time.
 .SH "NOTES"
 .PP
 This command may be used only by root.
@@ -275,7 +262,8 @@ This man page is correct for version 2.2 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbpasswd\fR(5), \fBsamba\fR(7)
+smbpasswd(8) 
+samba(7)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -285,7 +273,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 8f880afcd3978ed764c60c0e8427a280c38bc7e4..dcba30100bc16793bb6a837a898f158ab8f34e1f 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "RPCCLIENT" "1" "03 april 2003" "" ""
-
+.TH "RPCCLIENT" "1" "04 March 2003" "" ""
 .SH NAME
 rpcclient \- tool for executing client side  MS-RPC functions
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ rpcclient \- tool for executing client side  MS-RPC functions
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBrpcclient\fR is a utility initially developed
 to test MS-RPC functionality in Samba itself.  It has undergone 
@@ -25,41 +24,28 @@ their UNIX workstation.
 \fBserver\fR
 NetBIOS name of Server to which to connect. 
 The server can be  any SMB/CIFS server.  The name is 
-resolved using the   \fIname resolve order\fR line from \fBsmb.conf\fR(5).
-.TP
-\fB-c|--command='command string'\fR
-execute semicolon separated commands (listed 
-below)) 
+resolved using the   \fIname resolve order\fR line from 
+\fIsmb.conf(5)\fR.
 .TP
-\fB-I IP-address\fR
-\fIIP address\fR is the address of the server to connect to. 
-It should be specified in standard "a.b.c.d" notation. 
+\fB-A|--authfile=filename\fR
+This option allows 
+you to specify a file from which to read the username and 
+password used in the connection.  The format of the file is 
 
-Normally the client would attempt to locate a named 
-SMB/CIFS server by looking it up via the NetBIOS name resolution 
-mechanism described above in the \fIname resolve order\fR 
-parameter above. Using this parameter will force the client
-to assume that the server is on the machine with the specified IP 
-address and the NetBIOS name component of the resource being 
-connected to will be ignored. 
 
-There is no default for this parameter. If not supplied, 
-it will be determined automatically by the client as described 
-above. 
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
+.nf
+               username = <value> 
+               password = <value>
+               domain   = <value>
+               
+.fi
+
+Make certain that the permissions on the file restrict 
+access from unwanted users. 
 .TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
+\fB-c|--command='command string'\fR
+execute semicolon separated commands (listed 
+below)) 
 .TP
 \fB-d|--debug=debuglevel\fR
 \fIdebuglevel\fR is an integer 
@@ -83,235 +69,120 @@ Note that specifying this parameter here will
 override the log
 level file.
 .TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\fB-h|--help\fR
+Print a summary of command line options.
 .TP
-\fB-N\fR
-If specified, this parameter suppresses the normal
-password prompt from the client to the user. This is useful when
-accessing a service that does not require a password. 
+\fB-I IP-address\fR
+\fIIP address\fR is the address of the server to connect to. 
+It should be specified in standard "a.b.c.d" notation. 
+
+Normally the client would attempt to locate a named 
+SMB/CIFS server by looking it up via the NetBIOS name resolution 
+mechanism described above in the \fIname resolve order\fR 
+parameter above. Using this parameter will force the client
+to assume that the server is on the machine with the specified IP 
+address and the NetBIOS name component of the resource being 
+connected to will be ignored. 
 
-Unless a password is specified on the command line or
-this parameter is specified, the client will request a
-password.
+There is no default for this parameter. If not supplied, 
+it will be determined automatically by the client as described 
+above. 
 .TP
-\fB-k\fR
-Try to authenticate with kerberos. Only useful in
-an Active Directory environment.
+\fB-l|--logfile=logbasename\fR
+File name for log/debug files. The extension 
+\&'.client' will be appended. The log file is
+never removed by the client.
 .TP
-\fB-A|--authfile=filename\fR
-This option allows
-you to specify a file from which to read the username and
-password used in the connection.  The format of the file is
-
-
-.nf
-username = <value>
-password = <value>
-domain   = <value>
-.fi
-
-Make certain that the permissions on the file restrict 
-access from unwanted users. 
+\fB-N|--nopass\fR
+instruct \fBrpcclient\fR not to ask 
+for a password.   By default, \fBrpcclient\fR will
+prompt for a password.  See also the \fI-U\fR
+option.
+.TP
+\fB-s|--conf=smb.conf\fR
+Specifies the location of the all-important 
+\fIsmb.conf\fR file. 
 .TP
 \fB-U|--user=username[%password]\fR
 Sets the SMB username or username and password. 
 
-If %password is not specified, the user will be prompted. The
-client will first check the \fBUSER\fR environment variable, then the
-\fBLOGNAME\fR variable and if either exists, the
-string is uppercased. If these environmental variables are not
+If %password is not specified, the user will be prompted. The 
+client will first check the \fBUSER\fR environment variable, then the 
+\fBLOGNAME\fR variable and if either exists, the 
+string is uppercased. If these environmental variables are not 
 found, the username GUEST is used. 
 
-A third option is to use a credentials file which
-contains the plaintext of the username and password.  This
-option is mainly provided for scripts where the admin does not
-wish to pass the credentials on the command line or via environment
-variables. If this method is used, make certain that the permissions
-on the file restrict access from unwanted users.  See the
+A third option is to use a credentials file which 
+contains the plaintext of the username and password.  This 
+option is mainly provided for scripts where the admin does not 
+wish to pass the credentials on the command line or via environment 
+variables. If this method is used, make certain that the permissions 
+on the file restrict access from unwanted users.  See the 
 \fI-A\fR for more details. 
 
-Be cautious about including passwords in scripts. Also, on
-many systems the command line of a running process may be seen
-via the \fBps\fR command.  To be safe always allow
-\fBrpcclient\fR to prompt for a password and type
+Be cautious about including passwords in scripts. Also, on 
+many systems the command line of a running process may be seen 
+via the \fBps\fR command.  To be safe always allow 
+\fBrpcclient\fR to prompt for a password and type 
 it in directly. 
 .TP
-\fB-n <primary NetBIOS name>\fR
-This option allows you to override
-the NetBIOS name that Samba uses for itself. This is identical
-to setting the \fINetBIOS
-name\fR parameter in the \fBsmb.conf\fR(5) file.  However, a command
-line setting will take precedence over settings in
-\fBsmb.conf\fR(5).
-.TP
-\fB-i <scope>\fR
-This specifies a NetBIOS scope that
-\fBnmblookup\fR will use to communicate with when
-generating NetBIOS names. For details on the use of NetBIOS
-scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are
-\fBvery\fR rarely used, only set this parameter
-if you are the system administrator in charge of all the
-NetBIOS systems you communicate with.
-.TP
 \fB-W|--workgroup=domain\fR
-Set the SMB domain of the username.   This
-overrides the default domain which is the domain defined in
-smb.conf.  If the domain specified is the same as the servers 
-NetBIOS name, it causes the client to log on using the servers local 
-SAM (as opposed to the Domain SAM). 
-.TP
-\fB-O socket options\fR
-TCP socket options to set on the client
-socket. See the socket options parameter in
-the \fBsmb.conf\fR(5) manual page for the list of valid
-options. 
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
+Set the SMB domain of the username.   This 
+overrides the default domain which is the domain defined in 
+smb.conf.  If the domain specified is the same as the server's NetBIOS name, 
+it causes the client to log on using the  server's local SAM (as 
+opposed to the Domain SAM). 
 .SH "COMMANDS"
-.SS "LSARPC"
-.TP
+.PP
+\fBLSARPC\fR
+.TP 0.2i
+\(bu
 \fBlsaquery\fR
-Query info policy
-.TP
-\fBlookupsids\fR
-Resolve a list 
+.TP 0.2i
+\(bu
+\fBlookupsids\fR - Resolve a list 
 of SIDs to usernames.
-.TP
-\fBlookupnames\fR
-Resolve a list 
+.TP 0.2i
+\(bu
+\fBlookupnames\fR - Resolve a list 
 of usernames to SIDs.
-.TP
+.TP 0.2i
+\(bu
 \fBenumtrusts\fR
-Enumerate trusted domains
-.TP
-\fBenumprivs\fR
-Enumerate privileges
-.TP
-\fBgetdispname\fR
-Get the privilege name
-.TP
-\fBlsaenumsid\fR
-Enumerate the LSA SIDS
-.TP
-\fBlsaenumprivsaccount\fR
-Enumerate the privileges of an SID
-.TP
-\fBlsaenumacctrights\fR
-Enumerate the rights of an SID
-.TP
-\fBlsaenumacctwithright\fR
-Enumerate accounts with a right
-.TP
-\fBlsaaddacctrights\fR
-Add rights to an account
-.TP
-\fBlsaremoveacctrights\fR
-Remove rights from an account
-.TP
-\fBlsalookupprivvalue\fR
-Get a privilege value given its name
-.TP
-\fBlsaquerysecobj\fR
-Query LSA security object
-.SS "LSARPC-DS"
-.TP
-\fBdsroledominfo\fR
-Get Primary Domain Information
 .PP
 .PP
-\fBDFS\fR
-.TP
-\fBdfsexist\fR
-Query DFS support
-.TP
-\fBdfsadd\fR
-Add a DFS share
-.TP
-\fBdfsremove\fR
-Remove a DFS share
-.TP
-\fBdfsgetinfo\fR
-Query DFS share info
-.TP
-\fBdfsenum\fR
-Enumerate dfs shares
-.SS "REG"
-.TP
-\fBshutdown\fR
-Remote Shutdown
-.TP
-\fBabortshutdown\fR
-Abort Shutdown
-.SS "SRVSVC"
-.TP
-\fBsrvinfo\fR
-Server query info
-.TP
-\fBnetshareenum\fR
-Enumerate shares
-.TP
-\fBnetfileenum\fR
-Enumerate open files
-.TP
-\fBnetremotetod\fR
-Fetch remote time of day
-.SS "SAMR"
-.TP
+\fBSAMR\fR
+.TP 0.2i
+\(bu
 \fBqueryuser\fR
-Query user info
-.TP
+.TP 0.2i
+\(bu
 \fBquerygroup\fR
-Query group info
-.TP
+.TP 0.2i
+\(bu
 \fBqueryusergroups\fR
-Query user groups
-.TP
+.TP 0.2i
+\(bu
 \fBquerygroupmem\fR
-Query group membership
-.TP
+.TP 0.2i
+\(bu
 \fBqueryaliasmem\fR
-Query alias membership
-.TP
+.TP 0.2i
+\(bu
 \fBquerydispinfo\fR
-Query display info
-.TP
+.TP 0.2i
+\(bu
 \fBquerydominfo\fR
-Query domain info
-.TP
-\fBenumdomusers\fR
-Enumerate domain users
-.TP
+.TP 0.2i
+\(bu
 \fBenumdomgroups\fR
-Enumerate domain groups
-.TP
-\fBenumalsgroups\fR
-Enumerate alias groups
-.TP
-\fBcreatedomuser\fR
-Create domain user
-.TP
-\fBsamlookupnames\fR
-Look up names
-.TP
-\fBsamlookuprids\fR
-Look up names
-.TP
-\fBdeletedomuser\fR
-Delete domain user
-.TP
-\fBsamquerysecobj\fR
-Query SAMR security object
-.TP
-\fBgetdompwinfo\fR
-Retrieve domain password info
-.SS "SPOOLSS"
-.TP
-\fBadddriver <arch> <config>\fR
-Execute an AddPrinterDriver() RPC to install the printer driver 
+.PP
+.PP
+\fBSPOOLSS\fR
+.TP 0.2i
+\(bu
+\fBadddriver <arch> <config>\fR 
+- 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  
 \fBgetdriverdir\fR.  Possible values for 
@@ -322,14 +193,15 @@ follows:
 
 
 .nf
-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
+               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
+               
 .fi
 
 Any empty fields should be enter as the string "NULL". 
@@ -340,149 +212,111 @@ use of a bi-directional link for communication.  This field should
 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. 
-.TP
-\fBaddprinter <printername>  <sharename> <drivername> <port>\fR
-Add a printer on the remote server.  This printer 
+.TP 0.2i
+\(bu
+\fBaddprinter <printername> 
+<sharename> <drivername> <port>\fR 
+- Add a printer on the remote server.  This printer 
 will be automatically shared.  Be aware that the printer driver 
 must already be installed on the server (see \fBadddriver\fR) 
 and the \fIport\fRmust be a valid port name (see
 \fBenumports\fR.
-.TP
-\fBdeldriver\fR
-Delete the 
+.TP 0.2i
+\(bu
+\fBdeldriver\fR - Delete the 
 specified printer driver for all architectures.  This
 does not delete the actual driver files from the server,
 only the entry from the server's list of drivers.
-.TP
-\fBenumdata\fR
-Enumerate all 
+.TP 0.2i
+\(bu
+\fBenumdata\fR - Enumerate all 
 printer setting data stored on the server. On Windows NT  clients, 
 these values are stored  in the registry, while Samba servers 
 store them in the printers TDB.  This command corresponds
 to the MS Platform SDK GetPrinterData() function (* This
 command is currently unimplemented).
-.TP
-\fBenumdataex\fR
-Enumerate printer data for a key
-.TP
-\fBenumjobs <printer>\fR
-List the jobs and status of a given printer. 
+.TP 0.2i
+\(bu
+\fBenumjobs <printer>\fR 
+- List the jobs and status of a given printer. 
 This command corresponds to the MS Platform SDK EnumJobs() 
-function 
-.TP
-\fBenumkey\fR
-Enumerate printer keys
-.TP
-\fBenumports [level]\fR
-Executes an EnumPorts() call using the specified 
+function (* This command is currently unimplemented).
+.TP 0.2i
+\(bu
+\fBenumports [level]\fR 
+- Executes an EnumPorts() call using the specified 
 info level. Currently only info levels 1 and 2 are supported. 
-.TP
-\fBenumdrivers [level]\fR
-Execute an EnumPrinterDrivers() call.  This lists the various installed 
+.TP 0.2i
+\(bu
+\fBenumdrivers [level]\fR 
+- Execute an EnumPrinterDrivers() call.  This lists the various installed 
 printer drivers for all architectures.  Refer to the MS Platform SDK 
 documentation for more details of the various flags and calling 
 options. Currently supported info levels are 1, 2, and 3.
-.TP
-\fBenumprinters [level]\fR
-Execute an EnumPrinters() call.  This lists the various installed 
+.TP 0.2i
+\(bu
+\fBenumprinters [level]\fR 
+- Execute an EnumPrinters() call.  This lists the various installed 
 and share printers.  Refer to the MS Platform SDK documentation for 
 more details of the various flags and calling options. Currently
 supported info levels are 0, 1, and 2.
-.TP
-\fBgetdata <printername> <valuename;>\fR
-Retrieve the data for a given printer setting.  See 
+.TP 0.2i
+\(bu
+\fBgetdata <printername>\fR 
+- Retrieve the data for a given printer setting.  See 
 the  \fBenumdata\fR command for more information.  
 This command corresponds to the GetPrinterData() MS Platform 
-SDK function. 
-.TP
-\fBgetdataex\fR
-Get printer driver data with keyname
-.TP
-\fBgetdriver <printername>\fR
-Retrieve the printer driver information (such as driver file, 
+SDK function (* This command is currently unimplemented). 
+.TP 0.2i
+\(bu
+\fBgetdriver <printername>\fR 
+- Retrieve the printer driver information (such as driver file, 
 config file, dependent files, etc...) for 
 the given printer. This command corresponds to the GetPrinterDriver()
 MS Platform  SDK function. Currently info level 1, 2, and 3 are supported.
-.TP
-\fBgetdriverdir <arch>\fR
-Execute a GetPrinterDriverDirectory()
+.TP 0.2i
+\(bu
+\fBgetdriverdir <arch>\fR 
+- Execute a GetPrinterDriverDirectory()
 RPC to retrieve the SMB share name and subdirectory for 
 storing printer driver files for a given architecture.  Possible 
 values for \fIarch\fR are "Windows 4.0" 
 (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows
 Alpha_AXP", and "Windows NT R4000". 
-.TP
-\fBgetprinter <printername>\fR
-Retrieve the current printer information.  This command 
+.TP 0.2i
+\(bu
+\fBgetprinter <printername>\fR 
+- Retrieve the current printer information.  This command 
 corresponds to the GetPrinter() MS Platform SDK function. 
-.TP
-\fBgetprintprocdir\fR
-Get print processor directory
-.TP
-\fBopenprinter <printername>\fR
-Execute an OpenPrinterEx() and ClosePrinter() RPC 
+.TP 0.2i
+\(bu
+\fBopenprinter <printername>\fR 
+- Execute an OpenPrinterEx() and ClosePrinter() RPC 
 against a given printer. 
-.TP
-\fBsetdriver <printername> <drivername>\fR
-Execute a SetPrinter() command to update the printer driver
+.TP 0.2i
+\(bu
+\fBsetdriver <printername>
+<drivername>\fR
+- Execute a SetPrinter() command to update the printer driver
 associated with an installed printer.  The printer driver must
 already be correctly installed on the print server.  
 
 See also the \fBenumprinters\fR and 
 \fBenumdrivers\fR commands for obtaining a list of
 of installed printers and drivers.
-.TP
-\fBaddform\fR
-Add form
-.TP
-\fBsetform\fR
-Set form
-.TP
-\fBgetform\fR
-Get form
-.TP
-\fBdeleteform\fR
-Delete form
-.TP
-\fBenumforms\fR
-Enumerate form
-.TP
-\fBsetprinter\fR
-Set printer comment
-.TP
-\fBsetprinterdata\fR
-Set REG_SZ printer data
-.TP
-\fBrffpcnex\fR
-Rffpcnex test
-.SS "NETLOGON"
-.TP
-\fBlogonctrl2\fR
-Logon Control 2
-.TP
-\fBlogonctrl\fR
-Logon Control
-.TP
-\fBsamsync\fR
-Sam Synchronisation
-.TP
-\fBsamdeltas\fR
-Query Sam Deltas
-.TP
-\fBsamlogon\fR
-Sam Logon
-.SS "GENERAL COMMANDS"
-.TP
-\fBdebuglevel\fR
-Set the current
+.PP
+\fBGENERAL OPTIONS\fR
+.TP 0.2i
+\(bu
+\fBdebuglevel\fR - Set the current
 debug level used to log information.
-.TP
-\fBhelp (?)\fR
-Print a listing of all 
+.TP 0.2i
+\(bu
+\fBhelp (?)\fR - Print a listing of all 
 known commands or extended help  on a particular command. 
-.TP
-\fBquit (exit)\fR
-Exit \fBrpcclient
+.TP 0.2i
+\(bu
+\fBquit (exit)\fR - Exit \fBrpcclient
 \fR.
 .SH "BUGS"
 .PP
@@ -493,7 +327,7 @@ parameters where passed to the interpreter.
 .PP
 From Luke Leighton's original rpcclient man page:
 .PP
-\fBWARNING!\fR The MSRPC over SMB code has 
+\fB"WARNING!\fR 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 
@@ -501,11 +335,12 @@ implementation of these services has been demonstrated  (and reported)
 to be... a bit flaky in places. 
 .PP
 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 \fBsmbd\fR(8) and \fBrpcclient\fR(1) that are incompatible for some commands or  services. Additionally, 
+and as more  of the services are understood, it can even result in 
+versions of  \fBsmbd(8)\fR and \fBrpcclient(1)\fR 
+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.
+result in incompatibilities.
 .SH "VERSION"
 .PP
 This man page is correct for version 3.0 of the Samba 
@@ -520,5 +355,4 @@ to the way the Linux kernel is developed.
 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.
+Carter.
index e2a6132d18af511c27d3fb747a46fac609bc2c04..0a64a78718b8b178590166b60aa8250e1fdcfdc4 100644 (file)
@@ -3,10 +3,9 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SAMBA" "7" "03 april 2003" "" ""
-
+.TH "SAMBA" "7" "04 March 2003" "" ""
 .SH NAME
-Samba \- A Windows SMB/CIFS fileserver for UNIX
+SAMBA \- A Windows SMB/CIFS fileserver for UNIX
 .SH SYNOPSIS
 
 \fBSamba\fR
@@ -20,19 +19,20 @@ also referred to as the Common Internet File System (CIFS). For a
 more thorough description, see  http://www.ubiqx.org/cifs/ <URL:http://www.ubiqx.org/cifs/>. Samba also implements the NetBIOS
 protocol in nmbd.
 .TP
-\fBsmbd(8)\fR
-The \fBsmbd\fR daemon provides the file and print services to 
+\fBsmbd\fR
+The \fBsmbd \fR
+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 \fBsmb.conf\fR(5)
+for this daemon is described in \fIsmb.conf\fR
 .TP
-\fBnmbd(8)\fR
+\fBnmbd\fR
 The \fBnmbd\fR
 daemon provides NetBIOS nameservice and browsing
 support. The configuration file for this daemon 
-is described in \fBsmb.conf\fR(5)
+is described in \fIsmb.conf\fR
 .TP
-\fBsmbclient(1)\fR
+\fBsmbclient\fR
 The \fBsmbclient\fR
 program implements a simple ftp-like client. This 
 is useful for accessing SMB shares on other compatible
@@ -40,33 +40,33 @@ servers (such as Windows NT), and can also be used
 to allow a UNIX box to print to a printer attached to 
 any SMB server (such as a PC running Windows NT).
 .TP
-\fBtestparm(1)\fR
+\fBtestparm\fR
 The \fBtestparm\fR
-utility is a simple syntax checker for Samba's \fBsmb.conf\fR(5) configuration file.
+utility is a simple syntax checker for Samba's
+\fIsmb.conf\fRconfiguration file.
 .TP
-\fBtestprns(1)\fR
+\fBtestprns\fR
 The \fBtestprns\fR
 utility supports testing printer names defined 
 in your \fIprintcap\fR file used 
 by Samba.
 .TP
-\fBsmbstatus(1)\fR
+\fBsmbstatus\fR
 The \fBsmbstatus\fR
 tool provides access to information about the 
 current connections to \fBsmbd\fR.
 .TP
-\fBnmblookup(1)\fR
+\fBnmblookup\fR
 The \fBnmblookup\fR
 tools allows NetBIOS name queries to be made 
 from a UNIX host.
 .TP
-\fBsmbgroupedit(8)\fR
-The \fBsmbgroupedit\fR
-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.
+\fBmake_smbcodepage\fR
+The \fBmake_smbcodepage\fR
+utility provides a means of creating SMB code page 
+definition files for your \fBsmbd\fR server.
 .TP
-\fBsmbpasswd(8)\fR
+\fBsmbpasswd\fR
 The \fBsmbpasswd\fR
 command is a tool for changing LanMan and Windows NT 
 password hashes on Samba and Windows NT servers.
@@ -101,13 +101,13 @@ on the newsgroup  comp.protocol.smb <URL:news:comp.protocols.smb> and the Samba
 list. Details on how to join the mailing list are given in 
 the README file that comes with Samba.
 .PP
-If you have access to a WWW viewer (such as Mozilla
-or Konqueror) then you will also find lots of useful information, 
+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
 http://lists.samba.org <URL:http://lists.samba.org/>.
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the 
+This man page is correct for version 2.2 of the 
 Samba suite. 
 .SH "CONTRIBUTIONS"
 .PP
@@ -117,8 +117,8 @@ http://lists.samba.org <URL:http://lists.samba.org/>.
 .PP
 If you have patches to submit, visit
 http://devel.samba.org/ <URL:http://devel.samba.org/>
-for information on how to do it properly. We prefer patches 
-in \fBdiff -u\fR format.
+for information on how to do it properly. We prefer patches in
+\fBdiff -u\fR format.
 .SH "CONTRIBUTORS"
 .PP
 Contributors to the project are now too numerous 
@@ -141,7 +141,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 719bd645129d1faaef3a9b4ce79223544106f325..02861d492ddad5d03fbb83b607245a6afb669e0d 100644 (file)
@@ -3,18 +3,18 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMB.CONF" "5" "03 april 2003" "" ""
-
+.TH "SMB.CONF" "5" "30 March 2003" "" ""
 .SH NAME
 smb.conf \- The configuration file for the Samba suite
 .SH "SYNOPSIS"
 .PP
-The \fIsmb.conf\fR file is a configuration  
-file for the Samba suite. \fIsmb.conf\fR contains  
-runtime configuration information for the Samba programs. The \fIsmb.conf\fR file 
-is designed to be configured and  administered by the \fBswat\fR(8) program. The complete
-description of the file format and possible parameters held within
-are here for reference purposes.
+The \fIsmb.conf\fR file is a configuration 
+file for the Samba suite. \fIsmb.conf\fR contains 
+runtime configuration information for the Samba programs. The
+\fIsmb.conf\fR file is designed to be configured and 
+administered by the \fBswat(8)\fR
+ program. The complete description of the file format and 
+possible parameters held within are here for reference purposes.
 .SH "FILE FORMAT"
 .PP
 The file consists of sections and parameters. A section 
@@ -93,9 +93,11 @@ The user has write access to the path \fI/home/bar\fR.
 The share is accessed via the share name "foo":
 
 .nf
-[foo]
-       path = /home/bar
-       read only = no
+               [foo]
+               path = /home/bar
+               read only = no
+       
+       
 .fi
 .PP
 The following sample section defines a printable share. 
@@ -106,11 +108,13 @@ access will be permitted as the default guest user (specified
 elsewhere):
 
 .nf
-[aprinter]
-       path = /usr/spool/public
-       read only = yes
-       printable = yes
-       guest ok = yes
+               [aprinter]
+               path = /usr/spool/public
+               read only = yes
+               printable = yes
+               guest ok = yes
+       
+       
 .fi
 .SH "SPECIAL SECTIONS"
 .SS "THE [GLOBAL] SECTION"
@@ -168,8 +172,10 @@ than others. The following is a typical and suitable [homes]
 section:
 
 .nf
-[homes]
-       read only = no
+                               [homes]
+                       read only = no
+               
+               
 .fi
 .PP
 An important point is that if guest access is specified 
@@ -229,10 +235,11 @@ it. A typical [printers] entry would look like
 this:
 
 .nf
-[printers]
-       path = /usr/spool/public
-       guest ok = yes
-       printable = yes 
+               [printers]
+                       path = /usr/spool/public
+                       guest ok = yes
+                       printable = yes 
+               
 .fi
 .PP
 All aliases given for a printer in the printcap file 
@@ -242,7 +249,9 @@ to set up a pseudo-printcap. This is a file consisting of one or
 more lines like this:
 
 .nf
-alias|alias|alias|alias...    
+                               alias|alias|alias|alias...    
+               
+               
 .fi
 .PP
 Each alias should be an acceptable printer name for 
@@ -256,15 +265,12 @@ An alias, by the way, is defined as any component of the
 first entry of a printcap record. Records are separated by newlines,
 components (if there are more than one) are separated by vertical 
 bar symbols ('|').
-.sp
-.RS
-.B "Note:"
-On SYSV systems which use lpstat to determine what 
+.PP
+NOTE: On SYSV systems which use lpstat to determine what 
 printers are defined on the system you may be able to use
 "printcap name = lpstat" to automatically obtain a list 
 of printers. See the "printcap name" option 
 for more details.
-.RE
 .SH "PARAMETERS"
 .PP
 parameters define the specific attributes of sections.
@@ -667,6 +673,9 @@ each parameter for details.  Note that some are synonyms.
 \fIldap delete dn\fR
 .TP 0.2i
 \(bu
+\fIldap del only sam attr\fR
+.TP 0.2i
+\(bu
 \fIldap filter\fR
 .TP 0.2i
 \(bu
@@ -745,9 +754,6 @@ each parameter for details.  Note that some are synonyms.
 \fImachine password timeout\fR
 .TP 0.2i
 \(bu
-\fImangle prefix\fR
-.TP 0.2i
-\(bu
 \fImangled stack\fR
 .TP 0.2i
 \(bu
@@ -877,15 +883,15 @@ each parameter for details.  Note that some are synonyms.
 \fIpreload\fR
 .TP 0.2i
 \(bu
-\fIpreload modules\fR
-.TP 0.2i
-\(bu
 \fIprintcap\fR
 .TP 0.2i
 \(bu
 \fIprintcap name\fR
 .TP 0.2i
 \(bu
+\fIprinter driver file\fR
+.TP 0.2i
+\(bu
 \fIprivate dir\fR
 .TP 0.2i
 \(bu
@@ -928,9 +934,6 @@ each parameter for details.  Note that some are synonyms.
 \fIserver string\fR
 .TP 0.2i
 \(bu
-\fIset primary group script\fR
-.TP 0.2i
-\(bu
 \fIshow add printer wizard\fR
 .TP 0.2i
 \(bu
@@ -1006,6 +1009,9 @@ each parameter for details.  Note that some are synonyms.
 \fIuse mmap\fR
 .TP 0.2i
 \(bu
+\fIuse rhosts\fR
+.TP 0.2i
+\(bu
 \fIuse sendfile\fR
 .TP 0.2i
 \(bu
@@ -1307,6 +1313,9 @@ each parameter for details. Note that some are synonyms.
 \fIpostexec\fR
 .TP 0.2i
 \(bu
+\fIpostscript\fR
+.TP 0.2i
+\(bu
 \fIpreexec\fR
 .TP 0.2i
 \(bu
@@ -1331,6 +1340,12 @@ each parameter for details. Note that some are synonyms.
 \fIprinter admin\fR
 .TP 0.2i
 \(bu
+\fIprinter driver\fR
+.TP 0.2i
+\(bu
+\fIprinter driver location\fR
+.TP 0.2i
+\(bu
 \fIprinter name\fR
 .TP 0.2i
 \(bu
@@ -1436,9 +1451,10 @@ each parameter for details. Note that some are synonyms.
 \fIwriteable\fR
 .SH "EXPLANATION OF EACH PARAMETER"
 .TP
-\fB>abort shutdown script (G)\fR
+\fBabort shutdown script (G)\fR
 \fBThis parameter only exists in the HEAD cvs branch\fR
-This a full path name to a script called by \fBsmbd\fR(8) that
+This a full path name to a script called by
+\fBsmbd(8)\fR that
 should stop a shutdown procedure issued by the \fIshutdown script\fR.
 
 This command will be run as user.
@@ -1447,7 +1463,7 @@ Default: \fBNone\fR.
 
 Example: \fBabort shutdown script = /sbin/shutdown -c\fR
 .TP
-\fB>addprinter command (G)\fR
+\fBaddprinter command (G)\fR
 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 
@@ -1461,11 +1477,12 @@ printer command\fR defines a script to be run which
 will perform the necessary operations for adding the printer
 to the print system and to add the appropriate service definition 
 to the  \fIsmb.conf\fR file in order that it can be 
-shared by \fBsmbd\fR(8).
+shared by \fBsmbd(8)\fR
+
 
 The \fIaddprinter command\fR is
 automatically invoked with the following parameter (in 
-order):
+order:
 .RS
 .TP 0.2i
 \(bu
@@ -1498,10 +1515,6 @@ been executed, \fBsmbd\fR will reparse the \fI  smb.conf\fR to determine if the
 exists.  If the sharename is still invalid, then \fBsmbd
 \fR will return an ACCESS_DENIED error to the client.
 
-The "add printer command" program can output a single line of text,
-which Samba will set as the port the new printer is connected to. 
-If this line isn't output, Samba won't reload its printer shares.
-
 See also \fI  deleteprinter command\fR, \fIprinting\fR,
 \fIshow add
 printer wizard\fR
@@ -1511,7 +1524,7 @@ Default: \fBnone\fR
 Example: \fBaddprinter command = /usr/bin/addprinter
 \fR
 .TP
-\fB>add share command (G)\fR
+\fBadd share command (G)\fR
 Samba 2.2.0 introduced the ability to dynamically 
 add and delete shares via the Windows NT 4.0 Server Manager.  The 
 \fIadd share command\fR is used to define an 
@@ -1554,9 +1567,9 @@ Default: \fBnone\fR
 
 Example: \fBadd share command = /usr/local/bin/addshare\fR
 .TP
-\fB>add machine script (G)\fR
+\fBadd machine script (G)\fR
 This is the full pathname to a script that will 
-be run by \fBsmbd\fR(8) when a machine is added
+be run by smbd(8) when a machine is added
 to it's domain using the administrator username and password method. 
 
 This option is only required when using sam back-ends tied to the
@@ -1569,7 +1582,7 @@ Default: \fBadd machine script = <empty string>
 Example: \fBadd machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
 \fR
 .TP
-\fB>ads server (G)\fR
+\fBads server (G)\fR
 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 
@@ -1579,9 +1592,10 @@ Default: \fBads server = \fR
 
 Example: \fBads server = 192.168.1.2\fR
 .TP
-\fB>add user script (G)\fR
+\fBadd user script (G)\fR
 This is the full pathname to a script that will 
-be run \fBAS ROOT\fR by \fBsmbd\fR(8) under special circumstances described below.
+be run \fBAS ROOT\fR by smbd(8)
+ under special circumstances described below.
 
 Normally, a Samba server requires that UNIX users are 
 created for all users accessing files on this server. For sites 
@@ -1590,14 +1604,15 @@ creating these users and keeping the user list in sync with the
 Windows NT PDC is an onerous task. This option allows smbd to create the required UNIX users 
 \fBON DEMAND\fR when a user accesses the Samba server.
 
-In order to use this option, \fBsmbd\fR(8) must \fBNOT\fR be set to \fIsecurity = share\fR
+In order to use this option, smbd 
+must \fBNOT\fR be set to \fIsecurity = share\fR
 and \fIadd user script\fR
 must be set to a full pathname for a script that will create a UNIX 
 user given one argument of \fI%u\fR, which expands into 
 the UNIX user name to create.
 
 When the Windows user attempts to access the Samba server, 
-at login (session setup in the SMB protocol) time, \fBsmbd\fR(8) contacts the \fIpassword server\fR and 
+at login (session setup in the SMB protocol) time,   smbd contacts the \fIpassword server\fR and 
 attempts to authenticate the given user with the given password. If the 
 authentication succeeds then \fBsmbd\fR 
 attempts to find a UNIX user in the UNIX password database to map the 
@@ -1621,9 +1636,9 @@ Default: \fBadd user script = <empty string>
 Example: \fBadd user script = /usr/local/samba/bin/add_user 
 %u\fR
 .TP
-\fB>add group script (G)\fR
+\fBadd group script (G)\fR
 This is the full pathname to a script that will 
-be run \fBAS ROOT\fR by \fBsmbd\fR(8) when a new group is
+be run \fBAS ROOT\fR by smbd(8) when a new group is
 requested. It will expand any
 \fI%g\fR to the group name passed.
 This script is only useful for installations using the
@@ -1633,7 +1648,7 @@ circumvent unix group name restrictions. In that case
 the script must print the numeric gid of the created
 group on stdout.
 .TP
-\fB>admin users (S)\fR
+\fBadmin users (S)\fR
 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).
@@ -1646,21 +1661,22 @@ Default: \fBno admin users\fR
 
 Example: \fBadmin users = jason\fR
 .TP
-\fB>add user to group script (G)\fR
+\fBadd user to group script (G)\fR
 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 \fBsmbd\fR(8) \fBAS ROOT\fR. 
-Any \fI%g\fR will be replaced with the group name and 
-any \fI%u\fR will be replaced with the user name.
+tools. It will be run by smbd(8) 
+\fBAS ROOT\fR. Any \fI%g\fR will be 
+replaced with the group name and any \fI%u\fR will 
+be replaced with the user name.
 
 Default: \fBadd user to group script = \fR
 
 Example: \fBadd user to group script = /usr/sbin/adduser %u %g\fR
 .TP
-\fB>allow hosts (S)\fR
+\fBallow hosts (S)\fR
 Synonym for   \fIhosts allow\fR.
 .TP
-\fB>algorithmic rid base (G)\fR
+\fBalgorithmic rid base (G)\fR
 This determines how Samba will use its
 algorithmic mapping from uids/gid to the RIDs needed to construct
 NT Security Identifiers.
@@ -1679,7 +1695,7 @@ Default: \fBalgorithmic rid base = 1000\fR
 
 Example: \fBalgorithmic rid base = 100000\fR
 .TP
-\fB>allow trusted domains (G)\fR
+\fBallow trusted domains (G)\fR
 This option only takes effect when the \fIsecurity\fR option is set to 
 server or domain.  
 If it is set to no, then attempts to connect to a resource from 
@@ -1698,8 +1714,10 @@ can make implementing a security boundary difficult.
 
 Default: \fBallow trusted domains = yes\fR
 .TP
-\fB>announce as (G)\fR
-This specifies what type of server \fBnmbd\fR(8) will announce itself as, to a network neighborhood browse 
+\fBannounce as (G)\fR
+This specifies what type of server 
+\fBnmbd\fR 
+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, 
@@ -1713,7 +1731,7 @@ Default: \fBannounce as = NT Server\fR
 
 Example: \fBannounce as = Win95\fR
 .TP
-\fB>announce version (G)\fR
+\fBannounce version (G)\fR
 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 
@@ -1723,10 +1741,10 @@ Default: \fBannounce version = 4.9\fR
 
 Example: \fBannounce version = 2.0\fR
 .TP
-\fB>auto services (G)\fR
+\fBauto services (G)\fR
 This is a synonym for the   \fIpreload\fR.
 .TP
-\fB>auth methods (G)\fR
+\fBauth methods (G)\fR
 This option allows the administrator to chose what
 authentication methods \fBsmbd\fR will use when authenticating
 a user.  This option defaults to sensible values based on \fI  security\fR.
@@ -1738,7 +1756,7 @@ Default: \fBauth methods = <empty string>\fR
 
 Example: \fBauth methods = guest sam ntdomain\fR
 .TP
-\fB>available (S)\fR
+\fBavailable (S)\fR
 This parameter lets you "turn off" a service. If 
 \fIavailable = no\fR, then \fBALL\fR 
 attempts to connect to the service will fail. Such failures are 
@@ -1746,10 +1764,12 @@ logged.
 
 Default: \fBavailable = yes\fR
 .TP
-\fB>bind interfaces only (G)\fR
+\fBbind interfaces only (G)\fR
 This global parameter allows the Samba admin 
 to limit what interfaces on a machine will serve SMB requests. It 
-affects file service \fBsmbd\fR(8) and name service \fBnmbd\fR(8) in a slightly different ways.
+affects file service smbd(8) and 
+name service nmbd(8) in slightly 
+different ways.
 
 For name service it causes \fBnmbd\fR to bind 
 to ports 137 and 138 on the interfaces listed in the interfaces parameter. \fBnmbd
@@ -1768,8 +1788,8 @@ send packets that arrive through any interfaces not listed in the
 does defeat this simple check, however, so it must not be used
 seriously as a security feature for \fBnmbd\fR.
 
-For file service it causes \fBsmbd\fR(8) to bind only to the interface list 
-given in the   interfaces parameter. This restricts the networks that 
+For file service it causes smbd(8)
+to bind only to the interface list given in the   interfaces parameter. This restricts the networks that 
 \fBsmbd\fR will serve to packets coming in those 
 interfaces.  Note that you should not use this parameter for machines 
 that are serving PPP or other intermittent or non-broadcast network 
@@ -1777,7 +1797,9 @@ interfaces as it will not cope with non-permanent interfaces.
 
 If \fIbind interfaces only\fR is set then 
 unless the network address \fB127.0.0.1\fR is added 
-to the \fIinterfaces\fR parameter list \fBsmbpasswd\fR(8) and \fBswat\fR(8) may not work as expected due to the reasons covered below.
+to the \fIinterfaces\fR parameter list \fBsmbpasswd(8)\fR 
+and \fBswat(8)\fR may 
+not work as expected due to the reasons covered below.
 
 To change a users SMB password, the \fBsmbpasswd\fR
 by default connects to the \fBlocalhost - 127.0.0.1\fR 
@@ -1786,8 +1808,8 @@ address as an SMB client to issue the password change request. If
 network address \fB127.0.0.1\fR is added to the
 \fIinterfaces\fR parameter list then \fB  smbpasswd\fR will fail to connect in it's default mode. 
 \fBsmbpasswd\fR can be forced to use the primary IP interface 
-of the local host by using its \fBsmbpasswd\fR(8) \fI-r remote machine\fR
-parameter, with \fIremote machine\fR set 
+of the local host by using its   \fI-r remote machine\fR
+ parameter, with \fIremote machine\fR set 
 to the IP name of the primary interface of the local host.
 
 The \fBswat\fR status page tries to connect with
@@ -1799,9 +1821,8 @@ and \fBnmbd\fR.
 
 Default: \fBbind interfaces only = no\fR
 .TP
-\fB>blocking locks (S)\fR
-This parameter controls the behavior 
-of \fBsmbd\fR(8) when given a request by a client 
+\fBblocking locks (S)\fR
+This parameter controls the behavior of smbd(8) 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.
 
@@ -1817,8 +1838,9 @@ cannot be obtained.
 
 Default: \fBblocking locks = yes\fR
 .TP
-\fB>block size (S)\fR
-This parameter controls the behavior of \fBsmbd\fR(8) when reporting disk free 
+\fBblock size (S)\fR
+This parameter controls the behavior of 
+smbd(8) when reporting disk free 
 sizes. By default, this reports a disk block size of 1024 bytes.
 
 Changing this parameter may have some effect on the
@@ -1830,38 +1852,42 @@ is an experimental option it may be removed in a future release.
 
 Changing this option does not change the disk free reporting
 size, just the block size unit reported to the client.
+
+Default: \fBblock size = 1024\fR
+
+Example: \fBblock size = 65536\fR
 .TP
-\fB>browsable (S)\fR
+\fBbrowsable (S)\fR
 See the \fI  browseable\fR.
 .TP
-\fB>browse list (G)\fR
-This controls whether \fBsmbd\fR(8) will serve a browse list to 
+\fBbrowse list (G)\fR
+This controls whether   \fBsmbd(8)\fR will serve a browse list to 
 a client doing a \fBNetServerEnum\fR call. Normally 
 set to yes. You should never need to change 
 this.
 
 Default: \fBbrowse list = yes\fR
 .TP
-\fB>browseable (S)\fR
+\fBbrowseable (S)\fR
 This controls whether this share is seen in 
 the list of available shares in a net view and in the browse list.
 
 Default: \fBbrowseable = yes\fR
 .TP
-\fB>case sensitive (S)\fR
+\fBcase sensitive (S)\fR
 See the discussion in the section NAME MANGLING.
 
 Default: \fBcase sensitive = no\fR
 .TP
-\fB>casesignames (S)\fR
+\fBcasesignames (S)\fR
 Synonym for case 
 sensitive.
 .TP
-\fB>change notify timeout (G)\fR
+\fBchange notify timeout (G)\fR
 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 \fBsmbd\fR(8) daemon only performs such a scan 
+a directory is expensive under UNIX, hence an   \fBsmbd(8)\fR daemon only performs such a scan 
 on each requested directory once every \fIchange notify 
 timeout\fR seconds.
 
@@ -1871,7 +1897,7 @@ Example: \fBchange notify timeout = 300\fR
 
 Would change the scan time to every 5 minutes.
 .TP
-\fB>change share command (G)\fR
+\fBchange share command (G)\fR
 Samba 2.2.0 introduced the ability to dynamically 
 add and delete shares via the Windows NT 4.0 Server Manager.  The 
 \fIchange share command\fR is used to define an 
@@ -1913,7 +1939,7 @@ Default: \fBnone\fR
 
 Example: \fBchange share command = /usr/local/bin/addshare\fR
 .TP
-\fB>comment (S)\fR
+\fBcomment (S)\fR
 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 \fBnet view\fR to list what shares 
@@ -1926,7 +1952,7 @@ Default: \fBNo comment string\fR
 
 Example: \fBcomment = Fred's Files\fR
 .TP
-\fB>config file (G)\fR
+\fBconfig file (G)\fR
 This allows you to override the config file 
 to use, instead of the default (usually \fIsmb.conf\fR). 
 There is a chicken and egg problem here as this option is set 
@@ -1946,7 +1972,7 @@ clients).
 Example: \fBconfig file = /usr/local/samba/lib/smb.conf.%m
 \fR
 .TP
-\fB>copy (S)\fR
+\fBcopy (S)\fR
 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 
@@ -1961,7 +1987,7 @@ Default: \fBno value\fR
 
 Example: \fBcopy = otherservice\fR
 .TP
-\fB>create mask (S)\fR
+\fBcreate mask (S)\fR
 A synonym for this parameter is 
 \fIcreate mode\fR
 \&.
@@ -1998,10 +2024,10 @@ Default: \fBcreate mask = 0744\fR
 
 Example: \fBcreate mask = 0775\fR
 .TP
-\fB>create mode (S)\fR
+\fBcreate mode (S)\fR
 This is a synonym for \fI  create mask\fR.
 .TP
-\fB>csc policy (S)\fR
+\fBcsc policy (S)\fR
 This stands for \fBclient-side caching 
 policy\fR, and specifies how clients capable of offline
 caching will cache the files in the share. The valid values
@@ -2018,7 +2044,7 @@ Default: \fBcsc policy = manual\fR
 
 Example: \fBcsc policy = programs\fR
 .TP
-\fB>deadtime (G)\fR
+\fBdeadtime (G)\fR
 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 
@@ -2041,7 +2067,7 @@ Default: \fBdeadtime = 0\fR
 
 Example: \fBdeadtime = 15\fR
 .TP
-\fB>debug hires timestamp (G)\fR
+\fBdebug hires timestamp (G)\fR
 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 
@@ -2052,7 +2078,7 @@ effect.
 
 Default: \fBdebug hires timestamp = no\fR
 .TP
-\fB>debug pid (G)\fR
+\fBdebug pid (G)\fR
 When using only one log file for more then one 
 forked smbdprocess there may be hard to follow which process 
 outputs which message. This boolean parameter is adds the process-id 
@@ -2063,7 +2089,7 @@ effect.
 
 Default: \fBdebug pid = no\fR
 .TP
-\fB>debug timestamp (G)\fR
+\fBdebug timestamp (G)\fR
 Samba debug log messages are timestamped 
 by default. If you are running at a high   \fIdebug level\fR these timestamps
 can be distracting. This boolean parameter allows timestamping 
@@ -2071,7 +2097,7 @@ to be turned off.
 
 Default: \fBdebug timestamp = yes\fR
 .TP
-\fB>debug uid (G)\fR
+\fBdebug uid (G)\fR
 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 
@@ -2082,18 +2108,18 @@ effect.
 
 Default: \fBdebug uid = no\fR
 .TP
-\fB>debuglevel (G)\fR
+\fBdebuglevel (G)\fR
 Synonym for \fI  log level\fR.
 .TP
-\fB>default (G)\fR
+\fBdefault (G)\fR
 A synonym for \fI  default service\fR.
 .TP
-\fB>default case (S)\fR
+\fBdefault case (S)\fR
 See the section on   NAME MANGLING. Also note the   \fIshort preserve case\fR parameter.
 
 Default: \fBdefault case = lower\fR
 .TP
-\fB>default devmode (S)\fR
+\fBdefault devmode (S)\fR
 This parameter is only applicable to printable services.  When smbd is serving
 Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
 server has a Device Mode which defines things such as paper size and
@@ -2121,7 +2147,7 @@ see the MSDN documentation <URL:http://msdn.microsoft.com/>.
 
 Default: \fBdefault devmode = no\fR
 .TP
-\fB>default service (G)\fR
+\fBdefault service (G)\fR
 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 \fBNOT\fR
@@ -2151,15 +2177,14 @@ Example:
         
 [pub]
        path = /%S
+               
 .fi
 .TP
-\fB>delete group script (G)\fR
+\fBdelete group script (G)\fR
 This is the full pathname to a script that will 
-be run \fBAS ROOT\fR \fBsmbd\fR(8) when a group is requested to be deleted. 
-It will expand any \fI%g\fR to the group name passed.  
-This script is only useful for installations using the Windows NT domain administration tools.
+be run \fBAS ROOT\fR by smbd(8) when a group is requested to be deleted. It will expand any \fI%g\fR to the group name passed.  This script is only useful for installations using the Windows NT domain administration tools.
 .TP
-\fB>deleteprinter command (G)\fR
+\fBdeleteprinter command (G)\fR
 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 
@@ -2187,7 +2212,7 @@ Default: \fBnone\fR
 Example: \fBdeleteprinter command = /usr/bin/removeprinter
 \fR
 .TP
-\fB>delete readonly (S)\fR
+\fBdelete readonly (S)\fR
 This parameter allows readonly files to be deleted.  
 This is not normal DOS semantics, but is allowed by UNIX.
 
@@ -2197,7 +2222,7 @@ permissions, and DOS semantics prevent deletion of a read only file.
 
 Default: \fBdelete readonly = no\fR
 .TP
-\fB>delete share command (G)\fR
+\fBdelete share command (G)\fR
 Samba 2.2.0 introduced the ability to dynamically 
 add and delete shares via the Windows NT 4.0 Server Manager.  The 
 \fIdelete share command\fR is used to define an 
@@ -2232,10 +2257,10 @@ Default: \fBnone\fR
 
 Example: \fBdelete share command = /usr/local/bin/delshare\fR
 .TP
-\fB>delete user script (G)\fR
+\fBdelete user script (G)\fR
 This is the full pathname to a script that will 
-be run by \fBsmbd\fR(8) when managing users 
-with remote RPC (NT) tools.
+be run by \fBsmbd(8)\fR
+when managing user's with remote RPC (NT) tools.
 
 This script is called when a remote client removes a user
 from the server, normally using 'User Manager for Domains' or
@@ -2249,18 +2274,19 @@ Default: \fBdelete user script = <empty string>
 Example: \fBdelete user script = /usr/local/samba/bin/del_user 
 %u\fR
 .TP
-\fB>delete user from group script (G)\fR
+\fBdelete user from group script (G)\fR
 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 \fBsmbd\fR(8) \fBAS ROOT\fR. 
-Any \fI%g\fR will be replaced with the group name and 
-any \fI%u\fR will be replaced with the user name.
+tools. It will be run by smbd(8) 
+\fBAS ROOT\fR. Any \fI%g\fR will be 
+replaced with the group name and any \fI%u\fR will 
+be replaced with the user name.
 
 Default: \fBdelete user from group script = \fR
 
 Example: \fBdelete user from group script = /usr/sbin/deluser %u %g\fR
 .TP
-\fB>delete veto files (S)\fR
+\fBdelete veto files (S)\fR
 This option is used when Samba is attempting to 
 delete a directory that contains one or more vetoed directories 
 (see the \fIveto files\fR
@@ -2284,11 +2310,11 @@ files\fR parameter.
 
 Default: \fBdelete veto files = no\fR
 .TP
-\fB>deny hosts (S)\fR
+\fBdeny hosts (S)\fR
 Synonym for \fIhosts 
 deny\fR.
 .TP
-\fB>dfree command (G)\fR
+\fBdfree command (G)\fR
 The \fIdfree command\fR 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, 
@@ -2324,8 +2350,9 @@ Where the script dfree (which must be made executable) could be:
 
 .nf
  
-#!/bin/sh
-df $1 | tail -1 | awk '{print $2" "$4}'
+               #!/bin/sh
+               df $1 | tail -1 | awk '{print $2" "$4}'
+               
 .fi
 
 or perhaps (on Sys V based systems):
@@ -2333,18 +2360,19 @@ or perhaps (on Sys V based systems):
 
 .nf
  
-#!/bin/sh
-/usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
+               #!/bin/sh
+               /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
+               
 .fi
 
 Note that you may have to replace the command names 
 with full path names on some systems.
 .TP
-\fB>directory (S)\fR
+\fBdirectory (S)\fR
 Synonym for \fIpath
 \fR.
 .TP
-\fB>directory mask (S)\fR
+\fBdirectory mask (S)\fR
 This parameter is the octal modes which are 
 used when converting DOS modes to UNIX modes when creating UNIX 
 directories.
@@ -2385,10 +2413,10 @@ Default: \fBdirectory mask = 0755\fR
 
 Example: \fBdirectory mask = 0775\fR
 .TP
-\fB>directory mode (S)\fR
+\fBdirectory mode (S)\fR
 Synonym for \fI  directory mask\fR
 .TP
-\fB>directory security mask (S)\fR
+\fBdirectory security mask (S)\fR
 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 
@@ -2418,7 +2446,7 @@ Default: \fBdirectory security mask = 0777\fR
 
 Example: \fBdirectory security mask = 0700\fR
 .TP
-\fB>disable netbios (G)\fR
+\fBdisable netbios (G)\fR
 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. 
@@ -2430,7 +2458,7 @@ Default: \fBdisable netbios = no\fR
 
 Example: \fBdisable netbios = yes\fR
 .TP
-\fB>disable spoolss (G)\fR
+\fBdisable spoolss (G)\fR
 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
@@ -2446,7 +2474,7 @@ See also use client driver
 
 Default : \fBdisable spoolss = no\fR
 .TP
-\fB>display charset (G)\fR
+\fBdisplay charset (G)\fR
 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 \fBunix charset\fR.
@@ -2455,11 +2483,12 @@ Default: \fBdisplay charset = ASCII\fR
 
 Example: \fBdisplay charset = UTF8\fR
 .TP
-\fB>dns proxy (G)\fR
-Specifies that \fBnmbd\fR(8) 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.
+\fBdns proxy (G)\fR
+Specifies that nmbd(8) 
+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.
 
 Note that the maximum length for a NetBIOS name is 15 
 characters, so the DNS name (or DNS alias) can likewise only be 
@@ -2473,7 +2502,7 @@ See also the parameter \fI  wins support\fR.
 
 Default: \fBdns proxy = yes\fR
 .TP
-\fB>domain logons (G)\fR
+\fBdomain logons (G)\fR
 If set to yes, the Samba server will serve 
 Windows 95/98 Domain logons for the   \fIworkgroup\fR it is in. Samba 2.2
 has limited capability to act as a domain controller for Windows 
@@ -2483,17 +2512,18 @@ directory shipped with the source code.
 
 Default: \fBdomain logons = no\fR
 .TP
-\fB>domain master (G)\fR
-Tell \fBsmbd\fR(8) to enable WAN-wide browse list
+\fBdomain master (G)\fR
+Tell \fB  nmbd(8)\fR to enable WAN-wide browse list
 collation. Setting this option causes \fBnmbd\fR to
 claim a special domain specific NetBIOS name that identifies 
 it as a domain master browser for its given   \fIworkgroup\fR. Local master browsers 
 in the same \fIworkgroup\fR on broadcast-isolated 
 subnets will give this \fBnmbd\fR their local browse lists, 
-and then ask \fBsmbd\fR(8) 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.
+and then ask \fBsmbd(8)\fR 
+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.
 
 Note that Windows NT Primary Domain Controllers expect to be 
 able to claim this \fIworkgroup\fR specific special 
@@ -2513,7 +2543,7 @@ master\fR be enabled by default.
 
 Default: \fBdomain master = auto\fR
 .TP
-\fB>dont descend (S)\fR
+\fBdont descend (S)\fR
 There are certain directories on some systems 
 (e.g., the \fI/proc\fR tree under Linux) that are either not 
 of interest to clients or are infinitely deep (recursive). This 
@@ -2529,16 +2559,17 @@ to descend)\fR
 
 Example: \fBdont descend = /proc,/dev\fR
 .TP
-\fB>dos charset (G)\fR
+\fBdos charset (G)\fR
 DOS SMB clients assume the server has 
 the same charset as they do. This option specifies which 
 charset Samba should talk to DOS clients.
 
-The default depends on which charsets you have installed. 
+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 \fBtestparm\fR(1) to check the default on your system.
+case it is not available. Run testparm(1)
+ to check the default on your system.
 .TP
-\fB>dos filemode (S)\fR
+\fBdos filemode (S)\fR
 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
@@ -2552,12 +2583,13 @@ are modified.
 
 Default: \fBdos filemode = no\fR
 .TP
-\fB>dos filetime resolution (S)\fR
+\fBdos filetime resolution (S)\fR
 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 \fBsmbd\fR(8).
+resolution is made to \fBsmbd(8)\fR
+
 
 This option is mainly used as a compatibility option for Visual 
 C++ when used against Samba shares. If oplocks are enabled on a 
@@ -2572,18 +2604,18 @@ happy.
 
 Default: \fBdos filetime resolution = no\fR
 .TP
-\fB>dos filetimes (S)\fR
+\fBdos filetimes (S)\fR
 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 \fBsmbd\fR is acting 
-on behalf of is not the file owner. Setting this option to   yes allows DOS semantics and \fBsmbd\fR(8) will change the file 
+on behalf of is not the file owner. Setting this option to   yes allows DOS semantics and smbd will change the file 
 timestamp as DOS requires.
 
 Default: \fBdos filetimes = no\fR
 .TP
-\fB>encrypt passwords (G)\fR
+\fBencrypt passwords (G)\fR
 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 
@@ -2592,15 +2624,16 @@ Samba see the file ENCRYPTION.txt in the Samba documentation
 directory \fIdocs/\fR shipped with the source code.
 
 In order for encrypted passwords to work correctly
-\fBsmbd\fR(8) must either 
-have access to a local \fBsmbpasswd\fR(5) file (see the \fBsmbpasswd\fR(8) program for information on how to set up 
+\fBsmbd(8)\fR must either 
+have access to a local \fIsmbpasswd(5)
+\fR program for information on how to set up 
 and maintain this file), or set the security = [server|domain|ads] parameter which 
 causes \fBsmbd\fR to authenticate against another 
 server.
 
 Default: \fBencrypt passwords = yes\fR
 .TP
-\fB>enhanced browsing (G)\fR
+\fBenhanced browsing (G)\fR
 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.  
@@ -2621,7 +2654,7 @@ cross-subnet browse propagation much more reliable.
 
 Default: \fBenhanced browsing = yes\fR
 .TP
-\fB>enumports command (G)\fR
+\fBenumports command (G)\fR
 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
@@ -2642,10 +2675,10 @@ Default: \fBno enumports command\fR
 Example: \fBenumports command = /usr/bin/listports
 \fR
 .TP
-\fB>exec (S)\fR
+\fBexec (S)\fR
 This is a synonym for   \fIpreexec\fR.
 .TP
-\fB>fake directory create times (S)\fR
+\fBfake directory create times (S)\fR
 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 
@@ -2674,7 +2707,7 @@ will proceed as expected.
 
 Default: \fBfake directory create times = no\fR
 .TP
-\fB>fake oplocks (S)\fR
+\fBfake oplocks (S)\fR
 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 
@@ -2699,10 +2732,10 @@ this option carefully!
 
 Default: \fBfake oplocks = no\fR
 .TP
-\fB>follow symlinks (S)\fR
+\fBfollow symlinks (S)\fR
 This parameter allows the Samba administrator 
-to stop \fBsmbd\fR(8) from following symbolic 
-links in a particular share. Setting this 
+to stop \fBsmbd(8)\fR 
+from following symbolic links in a particular share. Setting this 
 parameter to no 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 
@@ -2715,7 +2748,7 @@ follow symbolic links) by default.
 
 Default: \fBfollow symlinks = yes\fR
 .TP
-\fB>force create mode (S)\fR
+\fBforce create mode (S)\fR
 This parameter specifies a set of UNIX mode bit 
 permissions that will \fBalways\fR be set on a 
 file created by Samba. This is done by bitwise 'OR'ing these bits onto 
@@ -2739,7 +2772,7 @@ would force all created files to have read and execute
 permissions set for 'group' and 'other' as well as the 
 read/write/execute bits set for the 'user'.
 .TP
-\fB>force directory mode (S)\fR
+\fBforce directory mode (S)\fR
 This parameter specifies a set of UNIX mode bit 
 permissions that will \fBalways\fR be set on a directory 
 created by Samba. This is done by bitwise 'OR'ing these bits onto the 
@@ -2762,7 +2795,7 @@ would force all created directories to have read and execute
 permissions set for 'group' and 'other' as well as the
 read/write/execute bits set for the 'user'.
 .TP
-\fB>force directory security mode (S)\fR
+\fBforce directory security mode (S)\fR
 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.
@@ -2791,7 +2824,7 @@ Default: \fBforce directory security mode = 0\fR
 
 Example: \fBforce directory security mode = 700\fR
 .TP
-\fB>force group (S)\fR
+\fBforce group (S)\fR
 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 
@@ -2825,7 +2858,7 @@ Default: \fBno forced group\fR
 
 Example: \fBforce group = agroup\fR
 .TP
-\fB>force security mode (S)\fR
+\fBforce security mode (S)\fR
 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 
@@ -2855,7 +2888,7 @@ Default: \fBforce security mode = 0\fR
 
 Example: \fBforce security mode = 700\fR
 .TP
-\fB>force user (S)\fR
+\fBforce user (S)\fR
 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 
@@ -2879,10 +2912,11 @@ Default: \fBno forced user\fR
 
 Example: \fBforce user = auser\fR
 .TP
-\fB>fstype (S)\fR
+\fBfstype (S)\fR
 This parameter allows the administrator to 
 configure the string that specifies the type of filesystem a share 
-is using that is reported by \fBsmbd\fR(8) when a client queries the filesystem type
+is using that is reported by \fBsmbd(8)
+\fR when a client queries the filesystem type
 for a share. The default type is NTFS for 
 compatibility with Windows NT but this can be changed to other 
 strings such as Samba or FAT
@@ -2892,7 +2926,7 @@ Default: \fBfstype = NTFS\fR
 
 Example: \fBfstype = Samba\fR
 .TP
-\fB>getwd cache (G)\fR
+\fBgetwd cache (G)\fR
 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 
@@ -2901,11 +2935,11 @@ parameter is set to no.
 
 Default: \fBgetwd cache = yes\fR
 .TP
-\fB>group (S)\fR
+\fBgroup (S)\fR
 Synonym for \fIforce 
 group\fR.
 .TP
-\fB>guest account (S)\fR
+\fBguest account (S)\fR
 This is a username which will be used for access 
 to services which are specified as \fI  guest ok\fR (see below). Whatever privileges this 
 user has will be available to any client connecting to the guest service. 
@@ -2929,20 +2963,16 @@ Default: \fBspecified at compile time, usually
 
 Example: \fBguest account = ftp\fR
 .TP
-\fB>guest ok (S)\fR
+\fBguest ok (S)\fR
 If this parameter is yes for 
 a service, then no password is required to connect to the service. 
 Privileges will be those of the \fI  guest account\fR.
 
-This paramater nullifies the benifits of setting
-\fIrestrict
-anonymous\fR = 2
-
 See the section below on \fI  security\fR for more information about this option.
 
 Default: \fBguest ok = no\fR
 .TP
-\fB>guest only (S)\fR
+\fBguest only (S)\fR
 If this parameter is yes for 
 a service, then only guest connections to the service are permitted. 
 This parameter will have no effect if   \fIguest ok\fR is not set for the service.
@@ -2951,13 +2981,13 @@ See the section below on \fI  security\fR for more information about this option
 
 Default: \fBguest only = no\fR
 .TP
-\fB>hide dot files (S)\fR
+\fBhide dot files (S)\fR
 This is a boolean parameter that controls whether 
 files starting with a dot appear as hidden files.
 
 Default: \fBhide dot files = yes\fR
 .TP
-\fB>hide files(S)\fR
+\fBhide files(S)\fR
 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.
@@ -2990,35 +3020,35 @@ SMB client (DAVE) available from
 Thursby <URL:http://www.thursby.com> creates for internal use, and also still hides 
 all files beginning with a dot.
 .TP
-\fB>hide local users(G)\fR
+\fBhide local users(G)\fR
 This parameter toggles the hiding of local UNIX 
 users (root, wheel, floppy, etc) from remote clients.
 
 Default: \fBhide local users = no\fR
 .TP
-\fB>hide unreadable (G)\fR
+\fBhide unreadable (G)\fR
 This parameter prevents clients from seeing the
 existance of files that cannot be read. Defaults to off.
 
 Default: \fBhide unreadable = no\fR
 .TP
-\fB>hide unwriteable files (G)\fR
+\fBhide unwriteable files (G)\fR
 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.
 
 Default: \fBhide unwriteable = no\fR
 .TP
-\fB>hide special files (G)\fR
+\fBhide special files (G)\fR
 This parameter prevents clients from seeing
 special files such as sockets, devices and fifo's in directory 
 listings.
 
 Default: \fBhide special files = no\fR
 .TP
-\fB>homedir map (G)\fR
+\fBhomedir map (G)\fR
 If\fInis homedir
-\fR is yes, and \fBsmbd\fR(8) is also acting 
+\fR is yes, and \fBsmbd(8)\fR is also acting 
 as a Win95/98 \fIlogon server\fR 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 
@@ -3030,12 +3060,9 @@ and the program will extract the servername from before
 the first ':'.  There should probably be a better parsing system 
 that copes with different map formats and also Amd (another 
 automounter) maps.
-.sp
-.RS
-.B "Note:"
-A working NIS client is required on 
+
+\fBNOTE :\fRA working NIS client is required on 
 the system for this option to work.
-.RE
 
 See also \fInis homedir\fR
 , \fIdomain logons\fR
@@ -3045,7 +3072,7 @@ Default: \fBhomedir map = <empty string>\fR
 
 Example: \fBhomedir map = amd.homedir\fR
 .TP
-\fB>host msdfs (G)\fR
+\fBhost msdfs (G)\fR
 This boolean parameter is only available 
 if Samba has been configured and compiled with the \fB  --with-msdfs\fR option. If set to yes, 
 Samba will act as a Dfs server, and  allow Dfs-aware clients 
@@ -3057,7 +3084,7 @@ refer to msdfs_setup.html
 
 Default: \fBhost msdfs = no\fR
 .TP
-\fB>hostname lookups (G)\fR
+\fBhostname lookups (G)\fR
 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 
@@ -3067,7 +3094,7 @@ Default: \fBhostname lookups = yes\fR
 
 Example: \fBhostname lookups = no\fR
 .TP
-\fB>hosts allow (S)\fR
+\fBhosts allow (S)\fR
 A synonym for this parameter is \fIallow 
 hosts\fR.
 
@@ -3115,8 +3142,9 @@ deny access from one particular host
 
 Note that access still requires suitable user-level passwords.
 
-See \fBtestparm\fR(1) for a way of testing your host access 
-to see if it does what you expect.
+See \fBtestparm(1)\fR
+ for a way of testing your host access to see if it does 
+what you expect.
 
 Default: \fBnone (i.e., all hosts permitted access)
 \fR
@@ -3124,7 +3152,7 @@ Default: \fBnone (i.e., all hosts permitted access)
 Example: \fBallow hosts = 150.203.5. myhost.mynet.edu.au
 \fR
 .TP
-\fB>hosts deny (S)\fR
+\fBhosts deny (S)\fR
 The opposite of \fIhosts allow\fR 
 - hosts listed here are \fBNOT\fR permitted access to 
 services unless the specific services have their own lists to override 
@@ -3137,7 +3165,7 @@ Default: \fBnone (i.e., no hosts specifically excluded)
 Example: \fBhosts deny = 150.203.4. badhost.mynet.edu.au
 \fR
 .TP
-\fB>hosts equiv (G)\fR
+\fBhosts equiv (G)\fR
 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.
@@ -3145,10 +3173,8 @@ and users who will be allowed access without specifying a password.
 This is not be confused with   \fIhosts allow\fR which is about hosts 
 access to services and is more useful for guest services. \fI  hosts equiv\fR may be useful for NT clients which will 
 not supply passwords to Samba.
-.sp
-.RS
-.B "Note:"
-The use of \fIhosts equiv
+
+\fBNOTE :\fR The use of \fIhosts equiv
 \fR can be a major security hole. This is because you are 
 trusting the PC to supply the correct username. It is very easy to 
 get a PC to supply a false username. I recommend that the 
@@ -3156,13 +3182,12 @@ get a PC to supply a false username. I recommend that the
 know what you are doing, or perhaps on a home network where you trust 
 your spouse and kids. And only if you \fBreally\fR trust 
 them :-).
-.RE
 
 Default: \fBno host equivalences\fR
 
 Example: \fBhosts equiv = /etc/hosts.equiv\fR
 .TP
-\fB>include (G)\fR
+\fBinclude (G)\fR
 This allows you to include one config file 
 inside another.  The file is included literally, as though typed 
 in place.
@@ -3175,7 +3200,7 @@ Default: \fBno file included\fR
 Example: \fBinclude = /usr/local/samba/lib/admin_smb.conf
 \fR
 .TP
-\fB>inherit acls (S)\fR
+\fBinherit acls (S)\fR
 This parameter can be used to ensure
 that if default acls exist on parent directories,
 they are always honored when creating a subdirectory.
@@ -3186,7 +3211,7 @@ default directory acls are propagated.
 
 Default: \fBinherit acls = no\fR
 .TP
-\fB>inherit permissions (S)\fR
+\fBinherit permissions (S)\fR
 The permissions on new files and directories 
 are normally governed by \fI  create mask\fR,   \fIdirectory mask\fR, \fIforce create mode\fR
 and \fIforce 
@@ -3216,7 +3241,7 @@ See also \fIcreate mask
 
 Default: \fBinherit permissions = no\fR
 .TP
-\fB>interfaces (G)\fR
+\fBinterfaces (G)\fR
 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 
@@ -3267,7 +3292,7 @@ interfaces only\fR.
 Default: \fBall active interfaces except 127.0.0.1 
 that are broadcast capable\fR
 .TP
-\fB>invalid users (S)\fR
+\fBinvalid users (S)\fR
 This is a list of users that should not be allowed 
 to login to this service. This is really a \fBparanoid\fR 
 check to absolutely ensure an improper setting does not breach 
@@ -3299,7 +3324,7 @@ Default: \fBno invalid users\fR
 Example: \fBinvalid users = root fred admin @wheel
 \fR
 .TP
-\fB>keepalive (G)\fR
+\fBkeepalive (G)\fR
 The value of the parameter (an integer) represents 
 the number of seconds between \fIkeepalive\fR 
 packets. If this parameter is zero, no keepalive packets will be 
@@ -3314,16 +3339,17 @@ Default: \fBkeepalive = 300\fR
 
 Example: \fBkeepalive = 600\fR
 .TP
-\fB>kernel oplocks (G)\fR
+\fBkernel oplocks (G)\fR
 For UNIXes that support kernel based \fIoplocks\fR
 (currently only IRIX and the Linux 2.4 kernel), this parameter 
 allows the use of them to be turned on or off.
 
 Kernel oplocks support allows Samba \fIoplocks
 \fR to be broken whenever a local UNIX process or NFS operation 
-accesses a file that \fBsmbd\fR(8) has oplocked. This allows complete 
-data consistency between SMB/CIFS, NFS and local file access (and is 
-a \fBvery\fR cool feature :-).
+accesses a file that \fBsmbd(8)\fR
+ has oplocked. This allows complete data consistency between 
+SMB/CIFS, NFS and local file access (and is a \fBvery\fR 
+cool feature :-).
 
 This parameter defaults to on, but is translated
 to a no-op on systems that no not have the necessary kernel support.
@@ -3335,17 +3361,18 @@ and \fIlevel2 oplocks
 
 Default: \fBkernel oplocks = yes\fR
 .TP
-\fB>lanman auth (G)\fR
-This parameter determines whether or not \fBsmbd\fR(8) 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.
+\fBlanman auth (G)\fR
+This parameter determines whether or not smbd 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.
 
 Default : \fBlanman auth = yes\fR
 .TP
-\fB>large readwrite (G)\fR
-This parameter determines whether or not \fBsmbd\fR(8) supports the new 64k streaming 
-read and write varient SMB requests introduced
+\fBlarge readwrite (G)\fR
+This parameter determines whether or not smbd
+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
@@ -3354,23 +3381,26 @@ code paths.
 
 Default : \fBlarge readwrite = yes\fR
 .TP
-\fB>ldap admin dn (G)\fR
+\fBldap admin dn (G)\fR
 The \fIldap admin dn\fR defines the Distinguished 
 Name (DN) name used by Samba to contact the ldap server when retreiving 
 user account information. The \fIldap
 admin dn\fR is used in conjunction with the admin dn password
 stored in the \fIprivate/secrets.tdb\fR file.  See the
-\fBsmbpasswd\fR(8) man page for more information on how 
-to accmplish this.
+\fBsmbpasswd(8)\fR man
+page for more information on how to accomplish this.
 .TP
-\fB>ldap delete dn (G)\fR
+\fB>ldap del only sam attr (G)\fR
 This parameter specifies whether a delete
 operation in the ldapsam deletes the complete entry or only the attributes
 specific to Samba.
 
 Default : \fBldap delete dn = no\fR
 .TP
-\fB>ldap filter (G)\fR
+\fB>ldap del only sam attr (G)\fR
+Inverted synonym for \fI  ldap delete dn\fR.
+.TP
+\fBldap filter (G)\fR
 This parameter specifies the RFC 2254 compliant LDAP search filter.
 The default is to match the login name with the uid 
 attribute for all entries matching the sambaAccount  
@@ -3378,7 +3408,7 @@ objectclass.  Note that this filter should only return one entry.
 
 Default : \fBldap filter = (&(uid=%u)(objectclass=sambaAccount))\fR
 .TP
-\fB>ldap port (G)\fR
+\fBldap port (G)\fR
 This parameter is only available if Samba has been
 configure to include the \fB--with-ldapsam\fR option
 at compile time.
@@ -3393,7 +3423,7 @@ Default : \fBldap port = 636 ; if ldap ssl = on\fR
 
 Default : \fBldap port = 389 ; if ldap ssl = off\fR
 .TP
-\fB>ldap server (G)\fR
+\fBldap server (G)\fR
 This parameter is only available if Samba has been
 configure to include the \fB--with-ldapsam\fR option
 at compile time.
@@ -3403,7 +3433,7 @@ server which should be queried to locate user account information.
 
 Default : \fBldap server = localhost\fR
 .TP
-\fB>ldap ssl (G)\fR
+\fBldap ssl (G)\fR
 This option is used to define whether or not Samba should
 use SSL when connecting to the ldap server
 This is \fBNOT\fR related to
@@ -3431,23 +3461,23 @@ to configure.  See \fIpassdb backend\fR
 
 Default : \fBldap ssl = start_tls\fR
 .TP
-\fB>ldap suffix (G)\fR
+\fBldap suffix (G)\fR
 Specifies where user and machine accounts are added to the tree. Can be overriden by \fBldap user suffix\fR and \fBldap machine suffix\fR. It also used as the base dn for all ldap searches. 
 
 Default : \fBnone\fR
 .TP
-\fB>ldap user suffix (G)\fR
+\fBldap user suffix (G)\fR
 It specifies where users are added to the tree.
 
 Default : \fBnone\fR
 .TP
-\fB>ldap machine suffix (G)\fR
+\fBldap machine suffix (G)\fR
 It specifies where machines should be 
 added to the ldap tree.
 
 Default : \fBnone\fR
 .TP
-\fB>ldap passwd sync (G)\fR
+\fBldap passwd sync (G)\fR
 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
@@ -3469,7 +3499,7 @@ The \fIldap passwd sync\fR can be set to one of three values:
 
 Default : \fBldap passwd sync = no\fR
 .TP
-\fB>ldap trust ids (G)\fR
+\fBldap trust ids (G)\fR
 Normally, Samba validates each entry
 in the LDAP server against getpwnam().  This allows
 LDAP to be used for Samba with the unix system using
@@ -3486,7 +3516,7 @@ same LDAP server.
 
 Default: \fBldap trust ids = No\fR
 .TP
-\fB>level2 oplocks (S)\fR
+\fBlevel2 oplocks (S)\fR
 This parameter controls whether Samba supports
 level2 (read-only) oplocks on a share.
 
@@ -3523,8 +3553,8 @@ parameters.
 
 Default: \fBlevel2 oplocks = yes\fR
 .TP
-\fB>lm announce (G)\fR
-This parameter determines if \fBnmbd\fR(8) will produce Lanman announce 
+\fBlm announce (G)\fR
+This parameter determines if   \fBnmbd(8)\fR 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, yes, no, or
@@ -3545,7 +3575,7 @@ Default: \fBlm announce = auto\fR
 
 Example: \fBlm announce = yes\fR
 .TP
-\fB>lm interval (G)\fR
+\fBlm interval (G)\fR
 If Samba is set to produce Lanman announce 
 broadcasts needed by OS/2 clients (see the   \fIlm announce\fR parameter) then this 
 parameter defines the frequency in seconds with which they will be 
@@ -3560,7 +3590,7 @@ Default: \fBlm interval = 60\fR
 
 Example: \fBlm interval = 120\fR
 .TP
-\fB>load printers (G)\fR
+\fBload printers (G)\fR
 A boolean variable that controls whether all 
 printers in the printcap will be loaded for browsing by default. 
 See the printers section for 
@@ -3568,8 +3598,8 @@ more details.
 
 Default: \fBload printers = yes\fR
 .TP
-\fB>local master (G)\fR
-This option allows \fBnmbd\fR(8) to try and become a local master browser 
+\fBlocal master (G)\fR
+This option allows \fB  nmbd(8)\fR to try and become a local master browser 
 on a subnet. If set to no then \fB  nmbd\fR will not attempt to become a local master browser 
 on a subnet and will also lose in all browsing elections. By
 default this value is set to yes. Setting this value to yes doesn't
@@ -3581,10 +3611,10 @@ Setting this value to no will cause \fBnmbd\fR
 
 Default: \fBlocal master = yes\fR
 .TP
-\fB>lock dir (G)\fR
+\fBlock dir (G)\fR
 Synonym for \fI  lock directory\fR.
 .TP
-\fB>lock directory (G)\fR
+\fBlock directory (G)\fR
 This option specifies the directory where lock 
 files will be placed.  The lock files are used to implement the 
 \fImax connections\fR
@@ -3594,7 +3624,7 @@ Default: \fBlock directory = ${prefix}/var/locks\fR
 
 Example: \fBlock directory = /var/run/samba/locks\fR
 .TP
-\fB>lock spin count (G)\fR
+\fBlock spin count (G)\fR
 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
@@ -3606,7 +3636,7 @@ and FoxPro.
 
 Default: \fBlock spin count = 2\fR
 .TP
-\fB>lock spin time (G)\fR
+\fBlock spin time (G)\fR
 The time in microseconds that smbd should 
 pause before attempting to gain a failed lock.  See
 \fIlock spin 
@@ -3614,7 +3644,7 @@ count\fR for more details.
 
 Default: \fBlock spin time = 10\fR
 .TP
-\fB>locking (S)\fR
+\fBlocking (S)\fR
 This controls whether or not locking will be 
 performed by the server in response to lock requests from the 
 client.
@@ -3637,7 +3667,7 @@ You should never need to set this parameter.
 
 Default: \fBlocking = yes\fR
 .TP
-\fB>log file (G)\fR
+\fBlog file (G)\fR
 This option allows you to override the name 
 of the Samba log file (also known as the debug file).
 
@@ -3647,7 +3677,7 @@ you to have separate log files for each user or machine.
 Example: \fBlog file = /usr/local/samba/var/log.%m
 \fR
 .TP
-\fB>log level (G)\fR
+\fBlog level (G)\fR
 The value of the parameter (a astring) allows 
 the debug level (logging level) to be specified in the 
 \fIsmb.conf\fR file. This parameter has been
@@ -3661,7 +3691,7 @@ the command line or level zero if none was specified.
 Example: \fBlog level = 3 passdb:5 auth:10 winbind:2
 \fR
 .TP
-\fB>logon drive (G)\fR
+\fBlogon drive (G)\fR
 This parameter specifies the local path to 
 which the home directory will be connected (see \fIlogon home\fR) 
 and is only used by NT Workstations. 
@@ -3673,7 +3703,7 @@ Default: \fBlogon drive = z:\fR
 
 Example: \fBlogon drive = h:\fR
 .TP
-\fB>logon home (G)\fR
+\fBlogon home (G)\fR
 This parameter specifies the home directory 
 location when a Win95/98 or NT Workstation logs into a Samba PDC.  
 It allows you to do 
@@ -3710,7 +3740,7 @@ Default: \fBlogon home = "\\\\%N\\%U"\fR
 
 Example: \fBlogon home = "\\\\remote_smb_server\\%U"\fR
 .TP
-\fB>logon path (G)\fR
+\fBlogon path (G)\fR
 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 
@@ -3753,7 +3783,7 @@ Default: \fBlogon path = \\\\%N\\%U\\profile\fR
 
 Example: \fBlogon path = \\\\PROFILESERVER\\PROFILE\\%U\fR
 .TP
-\fB>logon script (G)\fR
+\fBlogon script (G)\fR
 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 
@@ -3789,7 +3819,7 @@ Default: \fBno logon script defined\fR
 
 Example: \fBlogon script = scripts\\%U.bat\fR
 .TP
-\fB>lppause command (S)\fR
+\fBlppause command (S)\fR
 This parameter specifies the command to be 
 executed on the server host in order to stop printing or spooling 
 a specific print job.
@@ -3828,7 +3858,7 @@ is SOFTQ, then the default is:
 Example for HPUX: \fBlppause command = /usr/bin/lpalt  
 %p-%j -p0\fR
 .TP
-\fB>lpq cache time (G)\fR
+\fBlpq cache time (G)\fR
 This controls how long lpq info will be cached 
 for to prevent the \fBlpq\fR command being called too 
 often. A separate cache is kept for each variation of the \fB  lpq\fR command used by the system, so if you use different 
@@ -3852,7 +3882,7 @@ Default: \fBlpq cache time = 10\fR
 
 Example: \fBlpq cache time = 30\fR
 .TP
-\fB>lpq command (S)\fR
+\fBlpq command (S)\fR
 This parameter specifies the command to be 
 executed on the server host in order to obtain \fBlpq
 \fR-style printer status information.
@@ -3890,7 +3920,7 @@ Default: \fBdepends on the setting of \fI  printing\fB\fR
 
 Example: \fBlpq command = /usr/bin/lpq -P%p\fR
 .TP
-\fB>lpresume command (S)\fR
+\fBlpresume command (S)\fR
 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.
@@ -3925,7 +3955,7 @@ is SOFTQ, then the default is:
 Example for HPUX: \fBlpresume command = /usr/bin/lpalt 
 %p-%j -p2\fR
 .TP
-\fB>lprm command (S)\fR
+\fBlprm command (S)\fR
 This parameter specifies the command to be 
 executed on the server host in order to delete a print job.
 
@@ -3952,7 +3982,7 @@ Example 1: \fBlprm command = /usr/bin/lprm -P%p %j
 Example 2: \fBlprm command = /usr/bin/cancel %p-%j
 \fR
 .TP
-\fB>machine password timeout (G)\fR
+\fBmachine password timeout (G)\fR
 If a Samba server is a member of a Windows 
 NT Domain (see the security = domain) 
 parameter) then periodically a running   smbd(8) process will try and change the MACHINE ACCOUNT 
@@ -3961,11 +3991,12 @@ PASSWORD stored in the TDB called \fIprivate/secrets.tdb
 will be changed, in seconds. The default is one week (expressed in 
 seconds), the same as a Windows NT Domain member server.
 
-See also \fBsmbpasswd\fR(8), and the   security = domain) parameter.
+See also \fBsmbpasswd(8)
+\fR and the   security = domain) parameter.
 
 Default: \fBmachine password timeout = 604800\fR
 .TP
-\fB>magic output (S)\fR
+\fBmagic output (S)\fR
 This parameter specifies the name of a file 
 which will contain output created by a magic script (see the 
 \fImagic script\fR
@@ -3980,7 +4011,7 @@ Default: \fBmagic output = <magic script name>.out
 
 Example: \fBmagic output = myfile.txt\fR
 .TP
-\fB>magic script (S)\fR
+\fBmagic script (S)\fR
 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 
@@ -4006,12 +4037,12 @@ Default: \fBNone. Magic scripts disabled.\fR
 
 Example: \fBmagic script = user.csh\fR
 .TP
-\fB>mangle case (S)\fR
+\fBmangle case (S)\fR
 See the section on   NAME MANGLING
 
 Default: \fBmangle case = no\fR
 .TP
-\fB>mangled map (S)\fR
+\fBmangled map (S)\fR
 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 
@@ -4033,7 +4064,7 @@ Default: \fBno mangled map\fR
 
 Example: \fBmangled map = (*;1 *;)\fR
 .TP
-\fB>mangled names (S)\fR
+\fBmangled names (S)\fR
 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.
@@ -4092,7 +4123,7 @@ do not change between sessions.
 
 Default: \fBmangled names = yes\fR
 .TP
-\fB>mangling method (G)\fR
+\fBmangling method (G)\fR
 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
@@ -4106,7 +4137,7 @@ Default: \fBmangling method = hash2\fR
 
 Example: \fBmangling method = hash\fR
 .TP
-\fB>mangle prefix (G)\fR
+\fBmangle prefix (G)\fR
 controls the number of prefix
 characters from the original name used when generating
 the mangled names. A larger value will give a weaker
@@ -4117,9 +4148,9 @@ Default: \fBmangle prefix = 1\fR
 
 Example: \fBmangle prefix = 4\fR
 .TP
-\fB>mangled stack (G)\fR
+\fBmangled stack (G)\fR
 This parameter controls the number of mangled names 
-that should be cached in the Samba server \fBsmbd\fR(8).
+that should be cached in the Samba server   smbd(8)
 
 This stack is a list of recently mangled base names 
 (extensions are only maintained if they are longer than 3 characters 
@@ -4137,7 +4168,7 @@ Default: \fBmangled stack = 50\fR
 
 Example: \fBmangled stack = 100\fR
 .TP
-\fB>mangling char (S)\fR
+\fBmangling char (S)\fR
 This controls what character is used as 
 the \fBmagic\fR character in name mangling. The default is a '~'
 but this may interfere with some software. Use this option to set 
@@ -4147,7 +4178,7 @@ Default: \fBmangling char = ~\fR
 
 Example: \fBmangling char = ^\fR
 .TP
-\fB>map archive (S)\fR
+\fBmap archive (S)\fR
 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 
@@ -4161,7 +4192,7 @@ parameter to be set such that owner execute bit is not masked out
 
 Default: \fBmap archive = yes\fR
 .TP
-\fB>map hidden (S)\fR
+\fBmap hidden (S)\fR
 This controls whether DOS style hidden files 
 should be mapped to the UNIX world execute bit.
 
@@ -4171,7 +4202,7 @@ it must include 001). See the parameter   \fIcreate mask\fR for details.
 
 Default: \fBmap hidden = no\fR
 .TP
-\fB>map system (S)\fR
+\fBmap system (S)\fR
 This controls whether DOS style system files 
 should be mapped to the UNIX group execute bit.
 
@@ -4181,13 +4212,13 @@ it must include 010). See the parameter   \fIcreate mask\fR for details.
 
 Default: \fBmap system = no\fR
 .TP
-\fB>map to guest (G)\fR
+\fBmap to guest (G)\fR
 This parameter is only useful in   security modes other than \fIsecurity = share\fR 
 - i.e. user, server, 
 and domain.
 
 This parameter can take three different values, which tell
-\fBsmbd\fR(8) what to do with user 
+smbd(8) what to do with user 
 login requests that don't match a valid UNIX user in some way.
 
 The three settings are :
@@ -4232,7 +4263,7 @@ Default: \fBmap to guest = Never\fR
 
 Example: \fBmap to guest = Bad User\fR
 .TP
-\fB>max connections (S)\fR
+\fBmax connections (S)\fR
 This option allows the number of simultaneous 
 connections to a service to be limited. If \fImax connections
 \fR is greater than 0 then connections will be refused if 
@@ -4247,7 +4278,7 @@ Default: \fBmax connections = 0\fR
 
 Example: \fBmax connections = 10\fR
 .TP
-\fB>max disk size (G)\fR
+\fBmax disk size (G)\fR
 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 
@@ -4270,7 +4301,7 @@ Default: \fBmax disk size = 0\fR
 
 Example: \fBmax disk size = 1000\fR
 .TP
-\fB>max log size (G)\fR
+\fBmax log size (G)\fR
 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 
@@ -4282,16 +4313,16 @@ Default: \fBmax log size = 5000\fR
 
 Example: \fBmax log size = 1000\fR
 .TP
-\fB>max mux (G)\fR
+\fBmax mux (G)\fR
 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.
 
 Default: \fBmax mux = 50\fR
 .TP
-\fB>max open files (G)\fR
+\fBmax open files (G)\fR
 This parameter limits the maximum number of 
-open files that one \fBsmbd\fR(8) file 
+open files that one smbd(8) 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.
@@ -4302,10 +4333,10 @@ this parameter so you should never need to touch this parameter.
 
 Default: \fBmax open files = 10000\fR
 .TP
-\fB>max print jobs (S)\fR
+\fBmax print jobs (S)\fR
 This parameter limits the maximum number of 
 jobs allowable in a Samba printer queue at any given moment.
-If this number is exceeded, \fBsmbd\fR(8) will remote "Out of Space" to the client.
+If this number is exceeded, \fB  smbd(8)\fR will remote "Out of Space" to the client.
 See all \fItotal
 print jobs\fR.
 
@@ -4313,7 +4344,7 @@ Default: \fBmax print jobs = 1000\fR
 
 Example: \fBmax print jobs = 5000\fR
 .TP
-\fB>max protocol (G)\fR
+\fBmax protocol (G)\fR
 The value of the parameter (a string) is the highest 
 protocol level that will be supported by the server.
 
@@ -4351,22 +4382,22 @@ Default: \fBmax protocol = NT1\fR
 
 Example: \fBmax protocol = LANMAN1\fR
 .TP
-\fB>max smbd processes (G)\fR
+\fBmax smbd processes (G)\fR
 This parameter limits the maximum number of 
 \fBsmbd(8)\fR
 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 \fBsmbd\fR(8) associated with him or her
+conditions, each user will have an smbd associated with him or her
 to handle connections to all shares from a given host.
 
 Default: \fBmax smbd processes = 0\fR   ## no limit
 
 Example: \fBmax smbd processes = 1000\fR
 .TP
-\fB>max ttl (G)\fR
-This option tells \fBnmbd\fR(8)
+\fBmax ttl (G)\fR
+This option tells nmbd(8)
 what the default 'time to live' of NetBIOS names should be (in seconds) 
 when \fBnmbd\fR is requesting a name using either a
 broadcast packet or from a WINS server. You should never need to
@@ -4374,8 +4405,9 @@ change this parameter. The default is 3 days.
 
 Default: \fBmax ttl = 259200\fR
 .TP
-\fB>max wins ttl (G)\fR
-This option tells \fBsmbd\fR(8) when acting as a WINS server (  \fIwins support = yes\fR) what the maximum
+\fBmax wins ttl (G)\fR
+This option tells nmbd(8)
+ when acting as a WINS server (  \fIwins support = yes\fR) what the maximum
 \&'time to live' of NetBIOS names that \fBnmbd\fR 
 will grant will be (in seconds). You should never need to change this
 parameter.  The default is 6 days (518400 seconds).
@@ -4385,7 +4417,7 @@ wins ttl\fR parameter.
 
 Default: \fBmax wins ttl = 518400\fR
 .TP
-\fB>max xmit (G)\fR
+\fBmax xmit (G)\fR
 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 
@@ -4395,7 +4427,7 @@ Default: \fBmax xmit = 65535\fR
 
 Example: \fBmax xmit = 8192\fR
 .TP
-\fB>message command (G)\fR
+\fBmessage command (G)\fR
 This specifies what command to run when the 
 server receives a WinPopup style message.
 
@@ -4458,10 +4490,10 @@ Default: \fBno message command\fR
 Example: \fBmessage command = csh -c 'xedit %s;
 rm %s' &\fR
 .TP
-\fB>min passwd length (G)\fR
+\fBmin passwd length (G)\fR
 Synonym for   \fImin password length\fR.
 .TP
-\fB>min password length (G)\fR
+\fBmin password length (G)\fR
 This option sets the minimum length in characters 
 of a plaintext password that \fBsmbd\fR will accept when performing 
 UNIX password changing.
@@ -4472,7 +4504,7 @@ password sync\fR,   \fIpasswd program\fR and \fIpasswd chat debug\fR
 
 Default: \fBmin password length = 5\fR
 .TP
-\fB>min print space (S)\fR
+\fBmin print space (S)\fR
 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 
@@ -4485,7 +4517,7 @@ Default: \fBmin print space = 0\fR
 
 Example: \fBmin print space = 2000\fR
 .TP
-\fB>min protocol (G)\fR
+\fBmin protocol (G)\fR
 The value of the parameter (a string) is the 
 lowest SMB protocol dialect than Samba will support.  Please refer
 to the \fImax protocol\fR
@@ -4504,8 +4536,8 @@ Default : \fBmin protocol = CORE\fR
 Example : \fBmin protocol = NT1\fR  # disable DOS 
 clients
 .TP
-\fB>min wins ttl (G)\fR
-This option tells \fBnmbd\fR(8)
+\fBmin wins ttl (G)\fR
+This option tells nmbd(8)
 when acting as a WINS server (\fI  wins support = yes\fR) what the minimum 'time to live' 
 of NetBIOS names that \fBnmbd\fR will grant will be (in 
 seconds). You should never need to change this parameter.  The default 
@@ -4513,7 +4545,7 @@ is 6 hours (21600 seconds).
 
 Default: \fBmin wins ttl = 21600\fR
 .TP
-\fB>msdfs proxy (S)\fR
+\fBmsdfs proxy (S)\fR
 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
@@ -4526,25 +4558,25 @@ and
 \fIhost msdfs\fR
 options to find out how to set up a Dfs root share.
 
-Example: \fBmsdfs proxy = \\\\\\\\otherserver\\\\someshare\fR
+Example: \fBmsdfs proxy = \\otherserver\\someshare\fR
 .TP
-\fB>msdfs root (S)\fR
+\fBmsdfs root (S)\fR
 This boolean parameter is only available if 
 Samba is configured  and  compiled with the \fB  --with-msdfs\fR option.  If set to yes, 
 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 \fImsdfs:serverA\\\\shareA,serverB\\\\shareB\fR
+links of the form \fImsdfs:serverA\\shareA,serverB\\shareB\fR
 and so on.  For more information on setting up a Dfs tree 
-on Samba,  refer to "Hosting a Microsoft 
-Distributed File System tree on Samba" document.
+on Samba,  refer to msdfs_setup.html
+
 
 See also \fIhost msdfs
 \fR
 
 Default: \fBmsdfs root = no\fR
 .TP
-\fB>name cache timeout (G)\fR
+\fBname cache timeout (G)\fR
 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.
@@ -4553,7 +4585,7 @@ Default: \fBname cache timeout = 660\fR
 
 Example: \fBname cache timeout = 0\fR
 .TP
-\fB>name resolve order (G)\fR
+\fBname resolve order (G)\fR
 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 
@@ -4602,7 +4634,7 @@ This will cause the local lmhosts file to be examined
 first, followed by a broadcast attempt, followed by a normal 
 system hostname lookup.
 .TP
-\fB>netbios aliases (G)\fR
+\fBnetbios aliases (G)\fR
 This is a list of NetBIOS names that nmbd(8) will advertise as additional 
 names by which the Samba server is known. This allows one machine 
 to appear in browse lists under multiple names. If a machine is 
@@ -4618,7 +4650,7 @@ Default: \fBempty string (no additional names)\fR
 
 Example: \fBnetbios aliases = TEST TEST1 TEST2\fR
 .TP
-\fB>netbios name (G)\fR
+\fBnetbios name (G)\fR
 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
@@ -4633,12 +4665,12 @@ Default: \fBmachine DNS name\fR
 
 Example: \fBnetbios name = MYNAME\fR
 .TP
-\fB>netbios scope (G)\fR
+\fBnetbios scope (G)\fR
 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.
 .TP
-\fB>nis homedir (G)\fR
+\fBnis homedir (G)\fR
 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 
@@ -4665,7 +4697,7 @@ be a logon server.
 
 Default: \fBnis homedir = no\fR
 .TP
-\fB>non unix account range (G)\fR
+\fBnon unix account range (G)\fR
 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
@@ -4673,20 +4705,17 @@ the storage of passwords for users who don't exist in /etc/passwd.
 This is most often used for machine account creation. 
 This range of ids should have no existing local or NIS users within 
 it as strange conflicts can occur otherwise.
-.sp
-.RS
-.B "Note:"
-These userids never appear on the system and Samba will never
+
+NOTE: These userids never appear on the system and Samba will never
 \&'become' these users. They are used only to ensure that the algorithmic 
 RID mapping does not conflict with normal users.
-.RE
 
 Default: \fBnon unix account range = <empty string>
 \fR
 
 Example: \fBnon unix account range = 10000-20000\fR
 .TP
-\fB>nt acl support (S)\fR
+\fBnt acl support (S)\fR
 This boolean parameter controls whether 
 smbd(8) will attempt to map 
 UNIX permissions into Windows NT access control lists.
@@ -4695,16 +4724,16 @@ prior to 2.2.2.
 
 Default: \fBnt acl support = yes\fR
 .TP
-\fB>nt pipe support (G)\fR
+\fBnt pipe support (G)\fR
 This boolean parameter controls whether 
-\fBsmbd\fR(8) will allow Windows NT 
+smbd(8) will allow Windows NT 
 clients to connect to the NT SMB specific IPC$ 
 pipes. This is a developer debugging option and can be left
 alone.
 
 Default: \fBnt pipe support = yes\fR
 .TP
-\fB>nt status support (G)\fR
+\fBnt status support (G)\fR
 This boolean parameter controls whether smbd(8) will negotiate NT specific status
 support with Windows NT/2k/XP clients. This is a developer
 debugging option and should be left alone.
@@ -4716,15 +4745,15 @@ You should not need to ever disable this parameter.
 
 Default: \fBnt status support = yes\fR
 .TP
-\fB>null passwords (G)\fR
+\fBnull passwords (G)\fR
 Allow or disallow client access to accounts 
 that have null passwords. 
 
-See also \fBsmbpasswd\fR(5).
+See also smbpasswd (5)
 
 Default: \fBnull passwords = no\fR
 .TP
-\fB>obey pam restrictions (G)\fR
+\fBobey pam restrictions (G)\fR
 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 
@@ -4736,7 +4765,7 @@ authentication mechanism needed in the presence of SMB password encryption.
 
 Default: \fBobey pam restrictions = no\fR
 .TP
-\fB>only user (S)\fR
+\fBonly user (S)\fR
 This is a boolean option that controls whether 
 connections with usernames not in the \fIuser\fR 
 list will be allowed. By default this option is disabled so that a 
@@ -4758,10 +4787,10 @@ parameter.
 
 Default: \fBonly user = no\fR
 .TP
-\fB>only guest (S)\fR
+\fBonly guest (S)\fR
 A synonym for \fI  guest only\fR.
 .TP
-\fB>oplock break wait time (G)\fR
+\fBoplock break wait time (G)\fR
 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 
@@ -4775,14 +4804,15 @@ AND UNDERSTOOD THE SAMBA OPLOCK CODE\fR.
 
 Default: \fBoplock break wait time = 0\fR
 .TP
-\fB>oplock contention limit (S)\fR
+\fBoplock contention limit (S)\fR
 This is a \fBvery\fR advanced 
 smbd(8) tuning option to 
 improve the efficiency of the granting of oplocks under multiple 
 client contention for the same file.
 
-In brief it specifies a number, which causes \fBsmbd\fR(8)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 
+In brief it specifies a number, which causes smbd 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 \fBsmbd\fR to behave in a similar 
 way to Windows NT.
 
@@ -4791,7 +4821,7 @@ AND UNDERSTOOD THE SAMBA OPLOCK CODE\fR.
 
 Default: \fBoplock contention limit = 2\fR
 .TP
-\fB>oplocks (S)\fR
+\fBoplocks (S)\fR
 This boolean option tells \fBsmbd\fR whether to 
 issue oplocks (opportunistic locks) to file open requests on this 
 share. The oplock code can dramatically (approx. 30% or more) improve 
@@ -4814,21 +4844,19 @@ oplocks\fR and \fI  level2 oplocks\fR parameters.
 
 Default: \fBoplocks = yes\fR
 .TP
-\fB>ntlm auth (G)\fR
-This parameter determines 
-whether or not \fBsmbd\fR(8) will
+\fBntlm auth (G)\fR
+This parameter determines whether or not smbd will
 attempt to authenticate users using the NTLM password hash.
 If disabled, only the lanman password hashes will be used. 
 
-Please note that at least this option or \fBlanman auth\fR should 
-be enabled in order to be able to log in.
+Please note that at least this option or \fBlanman auth\fR should be enabled in order to be able to log in.
 
 Default : \fBntlm auth = yes\fR
 .TP
-\fB>os level (G)\fR
+\fBos level (G)\fR
 This integer value controls what level Samba 
 advertises itself as for browse elections. The value of this 
-parameter determines whether \fBnmbd\fR(8) 
+parameter determines whether nmbd(8) 
 has a chance of becoming a local master browser for the \fI  WORKGROUP\fR in the local broadcast area.
 
 \fBNote :\fRBy default, Samba will win 
@@ -4843,7 +4871,7 @@ Default: \fBos level = 20\fR
 
 Example: \fBos level = 65 \fR
 .TP
-\fB>os2 driver map (G)\fR
+\fBos2 driver map (G)\fR
 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:
@@ -4858,12 +4886,13 @@ LaserJet 5L\fR.
 The need for the file is due to the printer driver namespace 
 problem described in the Samba 
 Printing HOWTO  For more details on OS/2 clients, please 
-refer to the OS2-Client-HOWTO containing in the Samba documentation.
+refer to the OS2-Client-HOWTO
+ containing in the Samba documentation.
 
 Default: \fBos2 driver map = <empty string>
 \fR
 .TP
-\fB>pam password change (G)\fR
+\fBpam password change (G)\fR
 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
@@ -4875,28 +4904,25 @@ parameter for most setups.
 
 Default: \fBpam password change = no\fR
 .TP
-\fB>panic action (G)\fR
+\fBpanic action (G)\fR
 This is a Samba developer option that allows a 
-system command to be called when either \fBsmbd\fR(8) or \fBsmbd\fR(8) crashes. This is usually used to 
-draw attention to the fact that a problem occurred.
+system command to be called when either   smbd(8) 
+crashes. This is usually used to draw attention to the fact that 
+a problem occurred.
 
 Default: \fBpanic action = <empty string>\fR
 
 Example: \fBpanic action = "/bin/sleep 90000"\fR
 .TP
-\fB>paranoid server security (G)\fR
+\fBparanoid server security (G)\fR
 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.  
-
-Disabling this option prevents Samba from making
-this check, which involves deliberatly attempting a
-bad logon to the remote server.
+to the logs and exit.
 
 Default: \fBparanoid server security = yes\fR
 .TP
-\fB>passdb backend (G)\fR
+\fBpassdb backend (G)\fR
 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.
@@ -4966,7 +4992,7 @@ Any characters after the (optional) second : are passed to the plugin
 for its own processing
 .TP 0.2i
 \(bu
-\fBunixsam\fR - Allows samba to map all (other) available unix users
+\fBunixsam\fR - (EXPERIMENTAL) Allows samba to map all (other) available unix users
 
 This backend uses the standard unix database for retrieving users. Users included 
 in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
@@ -4979,19 +5005,19 @@ the unix passdb and might 'override' mappings if specified earlier. It's meant t
 accounts for users that aren't covered by the previous backends.
 .RE
 
-Default: \fBpassdb backend = smbpasswd unixsam\fR
+Default: \fBpassdb backend = smbpasswd guest\fR
 
-Example: \fBpassdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam\fR
+Example: \fBpassdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd \fR
 
-Example: \fBpassdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam\fR
+Example: \fBpassdb backend = ldapsam_nua:ldaps://ldap.example.com \fR
 
 Example: \fBpassdb backend = plugin:/usr/local/samba/lib/my_passdb.so:my_plugin_args tdbsam:/etc/samba/private/passdb.tdb\fR
 .TP
-\fB>passwd chat (G)\fR
+\fBpasswd chat (G)\fR
 This string controls the \fB"chat"\fR 
-conversation that takes places between \fBsmbd\fR(8) and the local password changing
+conversation that takes places between smbd and the local password changing
 program to change the user's password. The string describes a 
-sequence of response-receive pairs that \fBsmbd\fR(8) uses to determine what to send to the 
+sequence of response-receive pairs that   smbd(8) uses to determine what to send to the 
 \fIpasswd program\fR
 and what to expect back. If the expected output is not 
 received then the password is not changed.
@@ -5011,7 +5037,7 @@ executed on the NIS master.
 
 The string can contain the macro \fI%n\fR which is substituted 
 for the new password.  The chat sequence can also contain the standard 
-macros \\\\n, \\\\r,   \\\\t and \\\\s to give line-feed, 
+macros \\n, \\r,   \\t and \\s 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 
@@ -5029,18 +5055,18 @@ not any particular output. The \\n macro is ignored for PAM conversions.
 See also \fIunix password 
 sync\fR, \fI  passwd program\fR ,  \fIpasswd chat debug\fR and   \fIpam password change\fR.
 
-Default: \fBpasswd chat = *new*password* %n\\\\
-*new*password* %n\\\\n *changed*\fR
+Default: \fBpasswd chat = *new*password* %n\\n 
+*new*password* %n\\n *changed*\fR
 
-Example: \fBpasswd chat = "*Enter OLD password*" %o\\\\
-"*Enter NEW password*" %n\\\\n "*Reenter NEW password*" %n\\\\n "*Password 
+Example: \fBpasswd chat = "*Enter OLD password*" %o\\n 
+"*Enter NEW password*" %n\\n "*Reenter NEW password*" %n\\n "*Password 
 changed*"\fR
 .TP
-\fB>passwd chat debug (G)\fR
+\fBpasswd chat debug (G)\fR
 This boolean specifies if the passwd chat script 
 parameter is run in \fBdebug\fR mode. In this mode the 
 strings passed to and received from the passwd chat are printed 
-in the \fBsmbd\fR(8) log with a 
+in the smbd(8) log with a 
 \fIdebug level\fR 
 of 100. This is a dangerous option as it will allow plaintext passwords 
 to be seen in the \fBsmbd\fR log. It is available to help 
@@ -5057,7 +5083,7 @@ See also \fIpasswd chat\fR
 
 Default: \fBpasswd chat debug = no\fR
 .TP
-\fB>passwd program (G)\fR
+\fBpasswd program (G)\fR
 The name of a program that can be used to set 
 UNIX user passwords.  Any occurrences of \fI%u\fR 
 will be replaced with the user name. The user name is checked for 
@@ -5090,7 +5116,7 @@ Default: \fBpasswd program = /bin/passwd\fR
 
 Example: \fBpasswd program = /sbin/npasswd %u\fR
 .TP
-\fB>password level (G)\fR
+\fBpassword level (G)\fR
 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 
@@ -5128,7 +5154,7 @@ Default: \fBpassword level = 0\fR
 
 Example: \fBpassword level = 4\fR
 .TP
-\fB>password server (G)\fR
+\fBpassword server (G)\fR
 By specifying the name of another SMB server (such 
 as a WinNT box) with this option, and using \fBsecurity = domain
 \fR or \fBsecurity = server\fR you can get Samba 
@@ -5148,14 +5174,11 @@ by any method and order described in that parameter.
 The password server must be a machine capable of using 
 the "LM1.2X002" or the "NT LM 0.12" protocol, and it must be in 
 user level security mode.
-.sp
-.RS
-.B "Note:"
-Using a password server 
+
+\fBNOTE:\fR Using a password server 
 means your UNIX box (running Samba) is only as secure as your 
 password server. \fBDO NOT CHOOSE A PASSWORD SERVER THAT 
 YOU DON'T COMPLETELY TRUST\fR.
-.RE
 
 Never point a Samba server at itself for password 
 serving. This will cause a loop and could lock up your Samba 
@@ -5222,7 +5245,7 @@ Example: \fBpassword server = NT-PDC, NT-BDC1, NT-BDC2, *
 
 Example: \fBpassword server = *\fR
 .TP
-\fB>path (S)\fR
+\fBpath (S)\fR
 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 
@@ -5247,7 +5270,7 @@ Default: \fBnone\fR
 
 Example: \fBpath = /home/fred\fR
 .TP
-\fB>pid directory (G)\fR
+\fBpid directory (G)\fR
 This option specifies the directory where pid 
 files will be placed.  
 
@@ -5255,8 +5278,8 @@ Default: \fBpid directory = ${prefix}/var/locks\fR
 
 Example: \fBpid directory = /var/run/\fR
 .TP
-\fB>posix locking (S)\fR
-The \fBsmbd\fR(8)
+\fBposix locking (S)\fR
+The \fBsmbd(8)\fR
 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 
@@ -5266,7 +5289,7 @@ You should never need to disable this parameter.
 
 Default: \fBposix locking = yes\fR
 .TP
-\fB>postexec (S)\fR
+\fBpostexec (S)\fR
 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 
@@ -5285,7 +5308,18 @@ Default: \fBnone (no command executed)\fR
 Example: \fBpostexec = echo \\"%u disconnected from %S 
 from %m (%I)\\" >> /tmp/log\fR
 .TP
-\fB>preexec (S)\fR
+\fBpostscript (S)\fR
+This parameter forces a printer to interpret 
+the print files as PostScript. This is done by adding a %!
+to the start of print output.
+
+This is most useful when you have lots of PCs that persist 
+in putting a control-D at the start of print jobs, which then 
+confuses your printer.
+
+Default: \fBpostscript = no\fR
+.TP
+\fBpreexec (S)\fR
 This option specifies a command to be run whenever 
 the service is connected to. It takes the usual substitutions.
 
@@ -5307,14 +5341,14 @@ Default: \fBnone (no command executed)\fR
 Example: \fBpreexec = echo \\"%u connected to %S from %m
 (%I)\\" >> /tmp/log\fR
 .TP
-\fB>preexec close (S)\fR
+\fBpreexec close (S)\fR
 This boolean option controls whether a non-zero 
 return code from \fIpreexec
 \fR should close the service being connected to.
 
 Default: \fBpreexec close = no\fR
 .TP
-\fB>preferred master (G)\fR
+\fBpreferred master (G)\fR
 This boolean parameter controls if nmbd(8) is a preferred master browser 
 for its workgroup.
 
@@ -5335,10 +5369,10 @@ See also \fIos level\fR
 
 Default: \fBpreferred master = auto\fR
 .TP
-\fB>prefered master (G)\fR
+\fBprefered master (G)\fR
 Synonym for \fI  preferred master\fR for people who cannot spell :-).
 .TP
-\fB>preload (G)\fR
+\fBpreload (G)\fR
 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 
@@ -5351,19 +5385,7 @@ Default: \fBno preloaded services\fR
 
 Example: \fBpreload = fred lp colorlp\fR
 .TP
-\fB>preload modules (G)\fR
-This is a list of paths to modules that should 
-be loaded into smbd before a client connects. This improves 
-the speed of smbd when reacting to new connections somewhat. 
-
-It is recommended to only use this option on heavy-performance 
-servers.
-
-Default: \fBpreload modules = \fR
-
-Example: \fBpreload modules = /usr/lib/samba/passdb/mysql.so\fR
-.TP
-\fB>preserve case (S)\fR
+\fBpreserve case (S)\fR
 This controls if new filenames are created
 with the case that the client passes, or if they are forced to 
 be the \fIdefault case
@@ -5374,7 +5396,7 @@ Default: \fBpreserve case = yes\fR
 See the section on NAME 
 MANGLING for a fuller discussion.
 .TP
-\fB>print command (S)\fR
+\fBprint command (S)\fR
 After a print job has finished spooling to 
 a service, this command will be used via a \fBsystem()\fR 
 call to process the spool file. Typically the command specified will 
@@ -5459,10 +5481,10 @@ set print command will be ignored.
 Example: \fBprint command = /usr/local/samba/bin/myprintscript
 %p %s\fR
 .TP
-\fB>print ok (S)\fR
+\fBprint ok (S)\fR
 Synonym for   \fIprintable\fR.
 .TP
-\fB>printable (S)\fR
+\fBprintable (S)\fR
 If this parameter is yes, then 
 clients may open, write to and submit spool files on the directory 
 specified for the service. 
@@ -5475,10 +5497,10 @@ the resource.
 
 Default: \fBprintable = no\fR
 .TP
-\fB>printcap (G)\fR
+\fBprintcap (G)\fR
 Synonym for  \fI  printcap name\fR.
 .TP
-\fB>printcap name (G)\fR
+\fBprintcap name (G)\fR
 This parameter may be used to override the 
 compiled-in default printcap name used by the server (usually \fI  /etc/printcap\fR). See the discussion of the [printers] section above for reasons 
 why you might want to do this.
@@ -5502,30 +5524,28 @@ A minimal printcap file would look something like this:
 
 
 .nf
-print1|My Printer 1
-print2|My Printer 2
-print3|My Printer 3
-print4|My Printer 4
-print5|My Printer 5
+               print1|My Printer 1
+               print2|My Printer 2
+               print3|My Printer 3
+               print4|My Printer 4
+               print5|My Printer 5
+               
 .fi
 
 where the '|' separates aliases of a printer. The fact 
 that the second alias has a space in it gives a hint to Samba 
 that it's a comment.
-.sp
-.RS
-.B "Note:"
-Under AIX the default printcap 
+
+\fBNOTE\fR: Under AIX the default printcap 
 name is \fI/etc/qconfig\fR. Samba will assume the 
 file is in AIX \fIqconfig\fR format if the string
 \fIqconfig\fR appears in the printcap filename.
-.RE
 
 Default: \fBprintcap name = /etc/printcap\fR
 
 Example: \fBprintcap name = /etc/myprintcap\fR
 .TP
-\fB>printer admin (S)\fR
+\fBprinter admin (S)\fR
 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 
@@ -5535,7 +5555,88 @@ Default: \fBprinter admin = <empty string>\fR
 
 Example: \fBprinter admin = admin, @staff\fR
 .TP
-\fB>printer name (S)\fR
+\fBprinter driver (S)\fR
+\fBNote :\fRThis is a deprecated 
+parameter and will be removed in the next major release
+following version 2.2.  Please see the instructions in
+the Samba 2.2. Printing
+HOWTO for more information
+on the new method of loading printer drivers onto a Samba server.
+
+This option allows you to control the string 
+that clients receive when they ask the server for the printer driver 
+associated with a printer. If you are using Windows95 or Windows NT 
+then you can use this to automate the setup of printers on your 
+system.
+
+You need to set this parameter to the exact string (case 
+sensitive) that describes the appropriate printer driver for your 
+system. If you don't know the exact string to use then you should 
+first try with no \fI  printer driver\fR option set and the client will 
+give you a list of printer drivers. The appropriate strings are 
+shown in a scroll box after you have chosen the printer manufacturer.
+
+See also \fIprinter
+driver file\fR.
+
+Example: \fBprinter driver = HP LaserJet 4L\fR
+.TP
+\fBprinter driver file (G)\fR
+\fBNote :\fRThis is a deprecated 
+parameter and will be removed in the next major release
+following version 2.2.  Please see the instructions in
+the Samba 2.2. Printing
+HOWTO for more information
+on the new method of loading printer drivers onto a Samba server.
+
+This parameter tells Samba where the printer driver 
+definition file, used when serving drivers to Windows 95 clients, is 
+to be found. If this is not set, the default is :
+
+\fISAMBA_INSTALL_DIRECTORY
+/lib/printers.def\fR
+
+This file is created from Windows 95 \fImsprint.inf
+\fR files found on the Windows 95 client system. For more 
+details on setting up serving of printer drivers to Windows 95 
+clients, see the outdated documentation file in the \fIdocs/\fR 
+directory, \fIPRINTER_DRIVER.txt\fR.
+
+See also \fI  printer driver location\fR.
+
+Default: \fBNone (set in compile).\fR
+
+Example: \fBprinter driver file = 
+/usr/local/samba/printers/drivers.def\fR
+.TP
+\fBprinter driver location (S)\fR
+\fBNote :\fRThis is a deprecated 
+parameter and will be removed in the next major release
+following version 2.2.  Please see the instructions in
+the Samba 2.2. Printing
+HOWTO for more information
+on the new method of loading printer drivers onto a Samba server.
+
+This parameter tells clients of a particular printer 
+share where to find the printer driver files for the automatic 
+installation of drivers for Windows 95 machines. If Samba is set up 
+to serve printer drivers to Windows 95 machines, this should be set to
+
+\fB\\\\MACHINE\\PRINTER$\fR
+
+Where MACHINE is the NetBIOS name of your Samba server, 
+and PRINTER$ is a share you set up for serving printer driver 
+files. For more details on setting this up see the outdated documentation 
+file in the \fIdocs/\fR directory, \fI  PRINTER_DRIVER.txt\fR.
+
+See also \fI  printer driver file\fR.
+
+Default: \fBnone\fR
+
+Example: \fBprinter driver location = \\\\MACHINE\\PRINTER$
+\fR
+.TP
+\fBprinter name (S)\fR
 This parameter specifies the name of the printer 
 to which print jobs spooled through a printable service will be sent.
 
@@ -5548,10 +5649,10 @@ on many systems)\fR
 
 Example: \fBprinter name = laserwriter\fR
 .TP
-\fB>printer (S)\fR
+\fBprinter (S)\fR
 Synonym for \fI  printer name\fR.
 .TP
-\fB>printing (S)\fR
+\fBprinting (S)\fR
 This parameters controls how printer status 
 information is interpreted on your system. It also affects the 
 default values for the \fIprint command\fR, 
@@ -5574,21 +5675,21 @@ This option can be set on a per printer basis
 
 See also the discussion in the   [printers] section.
 .TP
-\fB>private dir (G)\fR
+\fBprivate dir (G)\fR
 This parameters defines the directory
 smbd will use for storing such files as \fIsmbpasswd\fR
 and \fIsecrets.tdb\fR.
 
 Default :\fBprivate dir = ${prefix}/private\fR
 .TP
-\fB>protocol (G)\fR
+\fBprotocol (G)\fR
 Synonym for   \fImax protocol\fR.
 .TP
-\fB>public (S)\fR
+\fBpublic (S)\fR
 Synonym for \fIguest 
 ok\fR.
 .TP
-\fB>queuepause command (S)\fR
+\fBqueuepause command (S)\fR
 This parameter specifies the command to be 
 executed on the server host in order to pause the printer queue.
 
@@ -5612,7 +5713,7 @@ Default: \fBdepends on the setting of \fIprinting
 
 Example: \fBqueuepause command = disable %p\fR
 .TP
-\fB>queueresume command (S)\fR
+\fBqueueresume command (S)\fR
 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 
@@ -5639,7 +5740,7 @@ Default: \fBdepends on the setting of \fIprinting\fB\fR
 Example: \fBqueuepause command = enable %p
 \fR
 .TP
-\fB>read bmpx (G)\fR
+\fBread bmpx (G)\fR
 This boolean parameter controls whether smbd(8) will support the "Read 
 Block Multiplex" SMB. This is now rarely used and defaults to 
 no. You should never need to set this 
@@ -5647,7 +5748,7 @@ parameter.
 
 Default: \fBread bmpx = no\fR
 .TP
-\fB>read list (S)\fR
+\fBread list (S)\fR
 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 \fIread only\fR
@@ -5661,7 +5762,7 @@ Default: \fBread list = <empty string>\fR
 
 Example: \fBread list = mary, @students\fR
 .TP
-\fB>read only (S)\fR
+\fBread only (S)\fR
 An inverted synonym is   \fIwriteable\fR.
 
 If this parameter is yes, then users 
@@ -5674,7 +5775,7 @@ will \fBALWAYS\fR allow writing to the directory
 
 Default: \fBread only = yes\fR
 .TP
-\fB>read raw (G)\fR
+\fBread raw (G)\fR
 This parameter controls whether or not the server 
 will support the raw read SMB requests when transferring data 
 to clients.
@@ -5691,7 +5792,7 @@ tool and left severely alone. See also   \fIwrite raw\fR.
 
 Default: \fBread raw = yes\fR
 .TP
-\fB>read size (G)\fR
+\fBread size (G)\fR
 The option \fIread size\fR 
 affects the overlap of disk reads/writes with network reads/writes. 
 If the amount of data being transferred in several of the SMB 
@@ -5715,7 +5816,7 @@ Default: \fBread size = 16384\fR
 
 Example: \fBread size = 8192\fR
 .TP
-\fB>realm (G)\fR
+\fBrealm (G)\fR
 This option specifies the kerberos realm to use. The realm is 
 used as the ADS equivalent of the NT4\fBdomain\fR. It
 is usually set to the DNS name of the kerberos server.
@@ -5724,7 +5825,7 @@ Default: \fBrealm = \fR
 
 Example: \fBrealm = mysambabox.mycompany.com\fR
 .TP
-\fB>remote announce (G)\fR
+\fBremote announce (G)\fR
 This option allows you to setup nmbd(8) to periodically announce itself 
 to arbitrary IP addresses with an arbitrary workgroup name.
 
@@ -5748,13 +5849,13 @@ The IP addresses you choose would normally be the broadcast
 addresses of the remote networks, but can also be the IP addresses 
 of known browse masters if your network config is that stable.
 
-See the documentation file BROWSING 
+See the documentation file \fIBROWSING.txt\fR 
 in the \fIdocs/\fR directory.
 
 Default: \fBremote announce = <empty string>
 \fR
 .TP
-\fB>remote browse sync (G)\fR
+\fBremote browse sync (G)\fR
 This option allows you to setup nmbd(8) to periodically request 
 synchronization of browse lists with the master browser of a Samba 
 server that is on a remote segment. This option will allow you to 
@@ -5785,7 +5886,7 @@ is in fact the browse master on its segment.
 Default: \fBremote browse sync = <empty string>
 \fR
 .TP
-\fB>restrict anonymous (G)\fR
+\fBrestrict anonymous (G)\fR
 This is a integer parameter, and
 mirrors as much as possible the functinality the
 RestrictAnonymous
@@ -5793,13 +5894,13 @@ registry key does on NT/Win2k.
 
 Default: \fBrestrict anonymous = 0\fR
 .TP
-\fB>root (G)\fR
+\fBroot (G)\fR
 Synonym for   \fIroot directory"\fR.
 .TP
-\fB>root dir (G)\fR
+\fBroot dir (G)\fR
 Synonym for   \fIroot directory"\fR.
 .TP
-\fB>root directory (G)\fR
+\fBroot directory (G)\fR
 The server will \fBchroot()\fR (i.e. 
 Change its root directory) to this directory on startup. This is 
 not strictly necessary for secure operation. Even without it the 
@@ -5826,7 +5927,7 @@ Default: \fBroot directory = /\fR
 
 Example: \fBroot directory = /homes/smb\fR
 .TP
-\fB>root postexec (S)\fR
+\fBroot postexec (S)\fR
 This is the same as the \fIpostexec\fR
 parameter except that the command is run as root. This 
 is useful for unmounting filesystems 
@@ -5837,7 +5938,7 @@ See also \fI  postexec\fR.
 Default: \fBroot postexec = <empty string>
 \fR
 .TP
-\fB>root preexec (S)\fR
+\fBroot preexec (S)\fR
 This is the same as the \fIpreexec\fR
 parameter except that the command is run as root. This 
 is useful for mounting filesystems (such as CDROMs) when a 
@@ -5848,7 +5949,7 @@ See also \fI  preexec\fR and   \fIpreexec close\fR.
 Default: \fBroot preexec = <empty string>
 \fR
 .TP
-\fB>root preexec close (S)\fR
+\fBroot preexec close (S)\fR
 This is the same as the \fIpreexec close
 \fR parameter except that the command is run as root.
 
@@ -5856,12 +5957,13 @@ See also \fI  preexec\fR and   \fIpreexec close\fR.
 
 Default: \fBroot preexec close = no\fR
 .TP
-\fB>security (G)\fR
+\fBsecurity (G)\fR
 This option affects how clients respond to 
 Samba and is one of the most important settings in the \fI  smb.conf\fR file.
 
 The option sets the "security mode bit" in replies to 
-protocol negotiations with \fBsmbd\fR(8) to turn share level security on or off. Clients decide 
+protocol negotiations with smbd(8)
+ 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.
 
@@ -5902,7 +6004,7 @@ level security under different   \fINetBIOS aliases\fR.
 
 The different settings will now be explained.
 
->\fBSECURITY = SHARE
+\fBSECURITY = SHARE
 \fR
 
 When clients connect to a share level security server they 
@@ -5970,10 +6072,10 @@ be used in granting access.
 
 See also the section   NOTE ABOUT USERNAME/PASSWORD VALIDATION.
 
->\fBSECURITY = USER
+\fBSECURITY = USER
 \fR
 
-This is the default security setting in Samba 3.0
+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 \fIusername map\fR 
 parameter). Encrypted passwords (see the   \fIencrypted passwords\fR parameter) can also
@@ -5991,24 +6093,23 @@ parameter for details on doing this.
 
 See also the section   NOTE ABOUT USERNAME/PASSWORD VALIDATION.
 
->\fBSECURITY = DOMAIN
+\fBSECURITY = SERVER
 \fR
 
-This mode will only work correctly if \fBnet\fR(8) has been used to add this
-machine into a Windows NT Domain. It expects the \fIencrypted passwords\fR
-parameter to be set to yes. 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.
-
-\fBNote\fR 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.
+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 \fBsecurity = user\fR, 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 
+\fIsmbpasswd\fR file to check users against. See the 
+documentation file in the \fIdocs/\fR directory 
+\fIENCRYPTION.txt\fR for details on how to set this 
+up.
 
-\fBNote\fR that from the client's point 
-of view \fBsecurity = domain\fR is the same as \fBsecurity = user
-\fR. It only affects how the server deals with the authentication, 
-it does not in any way affect what the client sees.
+\fBNote\fR that from the client's point of 
+view \fBsecurity = server\fR is the same as \fB  security = user\fR.  It only affects how the server deals 
+with the authentication, it does not in any way affect what the 
+client sees.
 
 \fBNote\fR that the name of the resource being 
 requested is \fBnot\fR sent to the server until after 
@@ -6024,39 +6125,24 @@ See also the \fIpassword
 server\fR parameter and the \fIencrypted passwords\fR
 parameter.
 
->\fBSECURITY = SERVER
+\fBSECURITY = DOMAIN
 \fR
 
-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 \fBsecurity =
-user\fR. It expects the \fIencrypted passwords\fR
-parameter to be set to
-yes, 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 
-\fIsmbpasswd\fR file to check users against. See the 
-documentation file in the \fIdocs/\fR directory 
-\fIENCRYPTION.txt\fR for details on how to set this 
-up.
+This mode will only work correctly if smbpasswd(8) has been used to add this 
+machine into a Windows NT Domain. It expects the \fIencrypted passwords\fR
+parameter to be set to yes. 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.
 
-\fBNote\fR 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). 
+\fBNote\fR 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.
 
-\fBNote\fR that from the client's point of 
-view \fBsecurity = server\fR is the same as \fB  security = user\fR.  It only affects how the server deals 
-with the authentication, it does not in any way affect what the 
-client sees.
+\fBNote\fR that from the client's point 
+of view \fBsecurity = domain\fR is the same as \fBsecurity = user
+\fR. It only affects how the server deals with the authentication, 
+it does not in any way affect what the client sees.
 
 \fBNote\fR that the name of the resource being 
 requested is \fBnot\fR sent to the server until after 
@@ -6066,6 +6152,14 @@ the server to automatically map unknown users into the \fIguest account\fR.
 See the \fImap to guest\fR
 parameter for details on doing this.
 
+\fBBUG:\fR There is currently a bug in the 
+implementation of \fBsecurity = domain\fR 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.
+
 See also the section   NOTE ABOUT USERNAME/PASSWORD VALIDATION.
 
 See also the \fIpassword 
@@ -6076,7 +6170,7 @@ Default: \fBsecurity = USER\fR
 
 Example: \fBsecurity = DOMAIN\fR
 .TP
-\fB>security mask (S)\fR
+\fBsecurity mask (S)\fR
 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 
@@ -6105,7 +6199,7 @@ Default: \fBsecurity mask = 0777\fR
 
 Example: \fBsecurity mask = 0770\fR
 .TP
-\fB>server string (G)\fR
+\fBserver string (G)\fR
 This controls what string will show up in the 
 printer comment box in print manager and next to the IPC connection 
 in \fBnet view\fR. It can be any string that you wish 
@@ -6125,23 +6219,7 @@ Default: \fBserver string = Samba %v\fR
 Example: \fBserver string = University of GNUs Samba 
 Server\fR
 .TP
-\fB>set primary group script (G)\fR
-Thanks to the Posix subsystem in NT a
-Windows User has a primary group in addition to the
-auxiliary groups.  This script sets the primary group
-in the unix userdatase when an administrator sets the
-primary group from the windows user manager or when
-fetching a SAM with \fBnet rpc
-vampire\fR. \fI%u\fR will be
-replaced with the user whose primary group is to be
-set.  \fI%g\fR will be replaced with
-the group to set.
-
-Default: \fBNo default value\fR
-
-Example: \fBset primary group script = /usr/sbin/usermod -g '%g' '%u'\fR
-.TP
-\fB>set directory (S)\fR
+\fBset directory (S)\fR
 If \fBset directory = no\fR, then 
 users of the service may not use the setdir command to change 
 directory.
@@ -6152,7 +6230,7 @@ for details.
 
 Default: \fBset directory = no\fR
 .TP
-\fB>share modes (S)\fR
+\fBshare modes (S)\fR
 This enables or disables the honoring of 
 the \fIshare modes\fR during a file open. These 
 modes are used by clients to gain exclusive read or write access 
@@ -6175,7 +6253,7 @@ off as many Windows applications will break if you do so.
 
 Default: \fBshare modes = yes\fR
 .TP
-\fB>short preserve case (S)\fR
+\fBshort preserve case (S)\fR
 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 
@@ -6188,7 +6266,7 @@ See the section on   NAME MANGLING.
 
 Default: \fBshort preserve case = yes\fR
 .TP
-\fB>show add printer wizard (G)\fR
+\fBshow add printer wizard (G)\fR
 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 
@@ -6215,7 +6293,7 @@ command\fR,   \fIdeleteprinter command\fR, \fIprinter admin\fR
 
 Default :\fBshow add printer wizard = yes\fR
 .TP
-\fB>shutdown script (G)\fR
+\fBshutdown script (G)\fR
 \fBThis parameter only exists in the HEAD cvs branch\fR
 This a full path name to a script called by
 \fBsmbd(8)\fR that
@@ -6248,19 +6326,20 @@ Example: \fBabort shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f\f
 Shutdown script example:
 
 .nf
-#!/bin/bash
+               #!/bin/bash
                
-$time=0
-let "time/60"
-let "time++"
+               $time=0
+               let "time/60"
+               let "time++"
 
-/sbin/shutdown $3 $4 +$time $1 &
+               /sbin/shutdown $3 $4 +$time $1 &
+               
 .fi
 Shutdown does not return so we need to launch it in background.
 
 See also \fIabort shutdown script\fR.
 .TP
-\fB>smb passwd file (G)\fR
+\fBsmb passwd file (G)\fR
 This option sets the path to the encrypted 
 smbpasswd file.  By default the path to the smbpasswd file 
 is compiled into Samba.
@@ -6271,13 +6350,13 @@ Default: \fBsmb passwd file = ${prefix}/private/smbpasswd
 Example: \fBsmb passwd file = /etc/samba/smbpasswd
 \fR
 .TP
-\fB>smb ports (G)\fR
+\fBsmb ports (G)\fR
 Specifies which ports the server should listen on
 for SMB traffic.
 
 Default: \fBsmb ports = 445 139\fR
 .TP
-\fB>socket address (G)\fR
+\fBsocket address (G)\fR
 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 
@@ -6288,7 +6367,7 @@ address.
 
 Example: \fBsocket address = 192.168.2.20\fR
 .TP
-\fB>socket options (G)\fR
+\fBsocket options (G)\fR
 This option allows you to set socket options 
 to be used when talking with the client.
 
@@ -6376,7 +6455,7 @@ Default: \fBsocket options = TCP_NODELAY\fR
 
 Example: \fBsocket options = IPTOS_LOWDELAY\fR
 .TP
-\fB>source environment (G)\fR
+\fBsource environment (G)\fR
 This parameter causes Samba to set environment 
 variables as per the content of the file named.
 
@@ -6400,31 +6479,26 @@ Examples: \fBsource environment = |/etc/smb.conf.sh
 Example: \fBsource environment = 
 /usr/local/smb_env_vars\fR
 .TP
-\fB>use spnego (G)\fR
-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.
+\fBuse spnego (G)\fR
+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.
 
 Default:  \fBuse spnego = yes\fR
 .TP
-\fB>stat cache (G)\fR
-This parameter determines if \fBsmbd\fR(8) will use a cache in order to 
+\fBstat cache (G)\fR
+This parameter determines if smbd(8) will use a cache in order to 
 speed up case insensitive name mappings. You should never need 
 to change this parameter.
 
 Default: \fBstat cache = yes\fR
 .TP
-\fB>stat cache size (G)\fR
+\fBstat cache size (G)\fR
 This parameter determines the number of 
 entries in the \fIstat cache\fR.  You should 
 never need to change this parameter.
 
 Default: \fBstat cache size = 50\fR
 .TP
-\fB>strict allocate (S)\fR
+\fBstrict allocate (S)\fR
 This is a boolean that controls the handling of 
 disk space allocation in the server. When this is set to yes 
 the server will change from UNIX behaviour of not committing real
@@ -6443,7 +6517,7 @@ of users.
 
 Default: \fBstrict allocate = no\fR
 .TP
-\fB>strict locking (S)\fR
+\fBstrict locking (S)\fR
 This is a boolean that controls the handling of 
 file locking in the server. When this is set to yes 
 the server will check every read and write access for file locks, and 
@@ -6458,7 +6532,7 @@ locking = no\fR is preferable.
 
 Default: \fBstrict locking = no\fR
 .TP
-\fB>strict sync (S)\fR
+\fBstrict sync (S)\fR
 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 
@@ -6466,7 +6540,7 @@ the process to be suspended until the kernel has ensured that
 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 no (the 
-default) means that \fBsmbd\fR(8) ignores the Windows applications requests for
+default) means that smbd 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
@@ -6478,14 +6552,14 @@ always>\fR parameter.
 
 Default: \fBstrict sync = no\fR
 .TP
-\fB>strip dot (G)\fR
+\fBstrip dot (G)\fR
 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.
 
 Default: \fBstrip dot = no\fR
 .TP
-\fB>sync always (S)\fR
+\fBsync always (S)\fR
 This is a boolean parameter that controls 
 whether writes will always be written to stable storage before 
 the write call returns. If this is no then the server will be 
@@ -6502,7 +6576,7 @@ sync\fR parameter.
 
 Default: \fBsync always = no\fR
 .TP
-\fB>syslog (G)\fR
+\fBsyslog (G)\fR
 This parameter maps how Samba debug messages 
 are logged onto the system syslog logging levels. Samba debug 
 level zero maps onto syslog LOG_ERR, debug 
@@ -6516,14 +6590,14 @@ will be sent to syslog.
 
 Default: \fBsyslog = 1\fR
 .TP
-\fB>syslog only (G)\fR
+\fBsyslog only (G)\fR
 If this parameter is set then Samba debug 
 messages are logged into the system syslog only, and not to 
 the debug log files.
 
 Default: \fBsyslog only = no\fR
 .TP
-\fB>template homedir (G)\fR
+\fBtemplate homedir (G)\fR
 When filling out the user information for a Windows NT 
 user, the winbindd(8) daemon 
 uses this parameter to fill in the home directory for that user.  
@@ -6534,14 +6608,14 @@ NT user name.
 
 Default: \fBtemplate homedir = /home/%D/%U\fR
 .TP
-\fB>template shell (G)\fR
+\fBtemplate shell (G)\fR
 When filling out the user information for a Windows NT 
-user, the \fBwinbindd\fR(8) daemon 
+user, the winbindd(8) daemon 
 uses this parameter to fill in the login shell for that user.
 
 Default: \fBtemplate shell = /bin/false\fR
 .TP
-\fB>time offset (G)\fR
+\fBtime offset (G)\fR
 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 
@@ -6551,20 +6625,21 @@ Default: \fBtime offset = 0\fR
 
 Example: \fBtime offset = 60\fR
 .TP
-\fB>time server (G)\fR
-This parameter determines if \fBnmbd\fR(8) advertises itself as a time server to Windows 
+\fBtime server (G)\fR
+This parameter determines if     
+nmbd(8) advertises itself as a time server to Windows 
 clients.
 
 Default: \fBtime server = no\fR
 .TP
-\fB>timestamp logs (G)\fR
+\fBtimestamp logs (G)\fR
 Synonym for \fI  debug timestamp\fR.
 .TP
-\fB>total print jobs (G)\fR
+\fBtotal print jobs (G)\fR
 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 \fBsmbd\fR(8) will return an 
+by a client which will exceed this number, then smbd 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
@@ -6575,23 +6650,23 @@ Default: \fBtotal print jobs = 0\fR
 
 Example: \fBtotal print jobs = 5000\fR
 .TP
-\fB>unicode (G)\fR
+\fBunicode (G)\fR
 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!
 
 Default: \fBunicode = yes\fR
 .TP
-\fB>unix charset (G)\fR
+\fBunix charset (G)\fR
 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.
 
-Default: \fBunix charset = UTF8\fR
+Default: \fBunix charset = ASCII\fR
 
-Example: \fBunix charset = ASCII\fR
+Example: \fBunix charset = UTF8\fR
 .TP
-\fB>unix extensions(G)\fR
+\fBunix extensions(G)\fR
 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
@@ -6601,7 +6676,7 @@ no current use to Windows clients.
 
 Default: \fBunix extensions = no\fR
 .TP
-\fB>unix password sync (G)\fR
+\fBunix password sync (G)\fR
 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. 
@@ -6616,7 +6691,7 @@ program\fR, \fI  passwd chat\fR.
 
 Default: \fBunix password sync = no\fR
 .TP
-\fB>update encrypted (G)\fR
+\fBupdate encrypted (G)\fR
 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 
@@ -6642,7 +6717,7 @@ password in order to connect correctly, and to update their hashed
 
 Default: \fBupdate encrypted = no\fR
 .TP
-\fB>use client driver (S)\fR
+\fBuse client driver (S)\fR
 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
@@ -6674,7 +6749,7 @@ See also disable spoolss
 
 Default: \fBuse client driver = no\fR
 .TP
-\fB>use mmap (G)\fR
+\fBuse mmap (G)\fR
 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
@@ -6685,13 +6760,27 @@ the tdb internal code.
 
 Default: \fBuse mmap = yes\fR
 .TP
-\fB>user (S)\fR
+\fBuse rhosts (G)\fR
+If this global parameter is yes, it specifies 
+that the UNIX user's \fI.rhosts\fR file in their home directory 
+will be read to find the names of hosts and users who will be allowed 
+access without specifying a password.
+
+\fBNOTE:\fR The use of \fIuse rhosts
+\fR can be a major security hole. This is because you are 
+trusting the PC to supply the correct username. It is very easy to 
+get a PC to supply a false username. I recommend that the \fI  use rhosts\fR option be only used if you really know what 
+you are doing.
+
+Default: \fBuse rhosts = no\fR
+.TP
+\fBuser (S)\fR
 Synonym for \fI  username\fR.
 .TP
-\fB>users (S)\fR
+\fBusers (S)\fR
 Synonym for \fI  username\fR.
 .TP
-\fB>username (S)\fR
+\fBusername (S)\fR
 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).
@@ -6732,7 +6821,7 @@ If any of the usernames begin with a '+' then the name
 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.
 
-If any of the usernames begin with a '&' then the name 
+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.
@@ -6751,7 +6840,7 @@ else <empty string>.\fR
 Examples:\fBusername = fred, mary, jack, jane, 
 @users, @pcgroup\fR
 .TP
-\fB>username level (G)\fR
+\fBusername level (G)\fR
 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 
@@ -6770,7 +6859,7 @@ Default: \fBusername level = 0\fR
 
 Example: \fBusername level = 5\fR
 .TP
-\fB>username map (G)\fR
+\fBusername map (G)\fR
 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 
@@ -6833,8 +6922,9 @@ that line.
 
 
 .nf
-!sys = mary fred
-guest = *
+               !sys = mary fred
+               guest = *
+               
 .fi
 
 Note that the remapping is applied to all occurrences
@@ -6856,7 +6946,7 @@ Default: \fBno username map\fR
 Example: \fBusername map = /usr/local/samba/lib/users.map
 \fR
 .TP
-\fB>use sendfile (S)\fR
+\fBuse sendfile (S)\fR
 If this parameter is yes, 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
@@ -6867,7 +6957,7 @@ as yet.
 
 Default: \fBuse sendfile = no\fR
 .TP
-\fB>utmp (G)\fR
+\fButmp (G)\fR
 This boolean parameter is only available if
 Samba has been configured and compiled  with the option \fB  --with-utmp\fR. If set to yes then Samba will attempt
 to add utmp or utmpx records (depending on the UNIX system) whenever a
@@ -6884,7 +6974,7 @@ See also the \fI  utmp directory\fR parameter.
 
 Default: \fButmp = no\fR
 .TP
-\fB>utmp directory(G)\fR
+\fButmp directory(G)\fR
 This parameter is only available if Samba has 
 been configured and compiled with the option \fB  --with-utmp\fR. It specifies a directory pathname that is
 used to store the utmp or utmpx files (depending on the UNIX system) that
@@ -6897,7 +6987,7 @@ Default: \fBno utmp directory\fR
 
 Example: \fButmp directory = /var/run/utmp\fR
 .TP
-\fB>wtmp directory(G)\fR
+\fBwtmp directory(G)\fR
 This parameter is only available if Samba has 
 been configured and compiled with the option \fB  --with-utmp\fR. It specifies a directory pathname that is
 used to store the wtmp or wtmpx files (depending on the UNIX system) that
@@ -6913,7 +7003,7 @@ Default: \fBno wtmp directory\fR
 
 Example: \fBwtmp directory = /var/log/wtmp\fR
 .TP
-\fB>valid users (S)\fR
+\fBvalid users (S)\fR
 This is a list of users that should be allowed 
 to login to this service. Names starting with '@', '+' and  '&'
 are interpreted using the same rules as described in the 
@@ -6934,7 +7024,7 @@ Default: \fBNo valid users list (anyone can login)
 
 Example: \fBvalid users = greg, @pcusers\fR
 .TP
-\fB>veto files(S)\fR
+\fBveto files(S)\fR
 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 
@@ -6979,7 +7069,7 @@ veto files = /*Security*/*.tmp/*root*/
 veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
 .fi
 .TP
-\fB>veto oplock files (S)\fR
+\fBveto oplock files (S)\fR
 This parameter is only valid when the \fIoplocks\fR
 parameter is turned on for a share. It allows the Samba administrator
 to selectively turn off the granting of oplocks on selected files that
@@ -7001,7 +7091,7 @@ the particular NetBench share :
 Example: \fBveto oplock files = /*.SEM/
 \fR
 .TP
-\fB>vfs path (S)\fR
+\fBvfs path (S)\fR
 This parameter specifies the directory
 to look in for vfs modules. The name of every \fBvfs object
 \fR will be prepended by this directory
@@ -7010,7 +7100,7 @@ Default: \fBvfs path = \fR
 
 Example: \fBvfs path = /usr/lib/samba/vfs\fR
 .TP
-\fB>vfs object (S)\fR
+\fBvfs object (S)\fR
 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 
@@ -7018,21 +7108,21 @@ with one or more VFS objects.
 
 Default : \fBno value\fR
 .TP
-\fB>vfs options (S)\fR
+\fBvfs options (S)\fR
 This parameter allows parameters to be passed 
 to the vfs layer at initialization time. 
 See also \fI  vfs object\fR.
 
 Default : \fBno value\fR
 .TP
-\fB>volume (S)\fR
+\fBvolume (S)\fR
 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.
 
 Default: \fBthe name of the share\fR
 .TP
-\fB>wide links (S)\fR
+\fBwide links (S)\fR
 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 
@@ -7045,17 +7135,19 @@ that Samba has to  do in order to perform the link checks.
 
 Default: \fBwide links = yes\fR
 .TP
-\fB>winbind cache time (G)\fR
-This parameter specifies the number of 
-seconds the \fBwinbindd\fR(8) daemon will cache 
+\fBwinbind cache time (G)\fR
+This parameter specifies the number of seconds the
+winbindd(8) daemon will cache 
 user and group information before querying a Windows NT server 
 again.
 
 Default: \fBwinbind cache type = 15\fR
 .TP
-\fB>winbind enum users (G)\fR
-On large installations using \fBwinbindd\fR(8) it may be
-necessary to suppress the enumeration of users through the \fBsetpwent()\fR,
+\fBwinbind enum users (G)\fR
+On large installations using
+winbindd(8) it may be
+necessary to suppress the enumeration of users through the
+\fB setpwent()\fR,
 \fBgetpwent()\fR and
 \fBendpwent()\fR group of system calls.  If
 the \fIwinbind enum users\fR parameter is
@@ -7070,9 +7162,11 @@ usernames.
 
 Default: \fBwinbind enum users = yes \fR
 .TP
-\fB>winbind enum groups (G)\fR
-On large installations using \fBwinbindd\fR(8) it may be necessary to suppress 
-the enumeration of groups through the \fBsetgrent()\fR,
+\fBwinbind enum groups (G)\fR
+On large installations using
+winbindd(8) it may be
+necessary to suppress the enumeration of groups through the
+\fB setgrent()\fR,
 \fBgetgrent()\fR and
 \fBendgrent()\fR group of system calls.  If
 the \fIwinbind enum groups\fR parameter is
@@ -7084,9 +7178,9 @@ enumeration may cause some programs to behave oddly.
 
 Default: \fBwinbind enum groups = yes \fR
 .TP
-\fB>winbind gid (G)\fR
+\fBwinbind gid (G)\fR
 The winbind gid parameter specifies the range of group 
-ids that are allocated by the \fBwinbindd\fR(8) daemon.  This range of group ids should have no 
+ids that are allocated by the   winbindd(8) daemon.  This range of group ids should have no 
 existing local or NIS groups within it as strange conflicts can 
 occur otherwise.
 
@@ -7095,7 +7189,7 @@ Default: \fBwinbind gid = <empty string>
 
 Example: \fBwinbind gid = 10000-20000\fR
 .TP
-\fB>winbind separator (G)\fR
+\fBwinbind separator (G)\fR
 This parameter allows an admin to define the character 
 used when listing a username of the form of \fIDOMAIN
 \fR\\\fIuser\fR.  This parameter 
@@ -7110,9 +7204,9 @@ Default: \fBwinbind separator = '\\'\fR
 
 Example: \fBwinbind separator = +\fR
 .TP
-\fB>winbind uid (G)\fR
+\fBwinbind uid (G)\fR
 The winbind gid parameter specifies the range of group 
-ids that are allocated by the \fBwinbindd\fR(8) daemon.  This range of ids should have no 
+ids that are allocated by the   winbindd(8) daemon.  This range of ids should have no 
 existing local or NIS users within it as strange conflicts can 
 occur otherwise.
 
@@ -7121,9 +7215,11 @@ Default: \fBwinbind uid = <empty string>
 
 Example: \fBwinbind uid = 10000-20000\fR
 .TP
-\fB>winbind use default domain (G)\fR
-This parameter specifies whether the \fBwinbindd\fR(8) daemon should operate on users 
-without domain component in their username.  
+\fBwinbind use default domain\fR
+.TP
+\fBwinbind use default domain (G)\fR
+This parameter specifies whether the   winbindd(8)
+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.
@@ -7133,7 +7229,7 @@ Default: \fBwinbind use default domain = <no>
 
 Example: \fBwinbind use default domain = yes\fR
 .TP
-\fB>wins hook (G)\fR
+\fBwins hook (G)\fR
 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 
@@ -7179,47 +7275,35 @@ An example script that calls the BIND dynamic DNS update
 program \fBnsupdate\fR is provided in the examples 
 directory of the Samba source code. 
 .TP
-\fB>wins proxy (G)\fR
+\fBwins proxy (G)\fR
 This is a boolean that controls if nmbd(8) will respond to broadcast name 
 queries on behalf of  other hosts. You may need to set this 
 to yes for some older clients.
 
 Default: \fBwins proxy = no\fR
 .TP
-\fB>wins server (G)\fR
+\fBwins server (G)\fR
 This specifies the IP address (or DNS name: IP 
-address for preference) of the WINS server that \fBnmbd\fR(8) should register with. If you have a WINS server on 
+address for preference) of the WINS server that   nmbd(8) should register with. If you have a WINS server on 
 your network then you should set this to the WINS server's IP.
 
 You should point this at your WINS server if you have a
 multi-subnetted network.
 
-If you want to work in multiple namespaces, you can 
-give every wins server a 'tag'. For each tag, only one 
-(working) server will be queried for a name. The tag should be 
-seperated from the ip address by a colon.
-.sp
-.RS
-.B "Note:"
-You need to set up Samba to point 
+\fBNOTE\fR. You need to set up Samba to point 
 to a WINS server if you have multiple subnets and wish cross-subnet 
 browsing to work correctly.
-.RE
 
-See the documentation file Browsing in the samba howto collection.
+See the documentation file \fIBROWSING.txt\fR 
+in the docs/ directory of your Samba source distribution.
 
 Default: \fBnot enabled\fR
 
-Example: \fBwins server = mary:192.9.200.1 fred:192.168.3.199 mary:192.168.2.61\fR
-
-For this example when querying a certain name, 192.19.200.1 will 
-be asked first and if that doesn't respond 192.168.2.61. If either 
-of those doesn't know the name 192.168.3.199 will be queried.
-
-Example: \fBwins server = 192.9.200.1 192.168.2.61\fR
+Example: \fBwins server = 192.9.200.1\fR
 .TP
-\fB>wins support (G)\fR
-This boolean controls if the \fBnmbd\fR(8) process in Samba will act as a WINS server. You should 
+\fBwins support (G)\fR
+This boolean controls if the    
+nmbd(8) process in Samba will act as a WINS server. You should 
 not set this to yes unless you have a multi-subnetted network and 
 you wish a particular \fBnmbd\fR to be your WINS server. 
 Note that you should \fBNEVER\fR set this to yes
@@ -7227,7 +7311,7 @@ on more than one machine in your network.
 
 Default: \fBwins support = no\fR
 .TP
-\fB>workgroup (G)\fR
+\fBworkgroup (G)\fR
 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 \fBsecurity = domain\fR
@@ -7237,10 +7321,10 @@ Default: \fBset at compile time to WORKGROUP\fR
 
 Example: \fBworkgroup = MYGROUP\fR
 .TP
-\fB>writable (S)\fR
+\fBwritable (S)\fR
 Synonym for \fI  writeable\fR for people who can't spell :-).
 .TP
-\fB>write cache size (S)\fR
+\fBwrite cache size (S)\fR
 If this integer parameter is set to non-zero value,
 Samba will create an in-memory cache for each oplocked file 
 (it does \fBnot\fR do this for 
@@ -7266,7 +7350,7 @@ Example: \fBwrite cache size = 262144\fR
 
 for a 256k cache size per file.
 .TP
-\fB>write list (S)\fR
+\fBwrite list (S)\fR
 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 \fIread only\fR
@@ -7285,7 +7369,7 @@ Default: \fBwrite list = <empty string>
 Example: \fBwrite list = admin, root, @staff
 \fR
 .TP
-\fB>wins partners (G)\fR
+\fBwins partners (G)\fR
 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. 
@@ -7296,17 +7380,17 @@ Default: \fBwins partners = \fR
 
 Example: \fBwins partners = 192.168.0.1 172.16.1.2\fR
 .TP
-\fB>write ok (S)\fR
+\fBwrite ok (S)\fR
 Inverted synonym for \fI  read only\fR.
 .TP
-\fB>write raw (G)\fR
+\fBwrite raw (G)\fR
 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.
 
 Default: \fBwrite raw = yes\fR
 .TP
-\fB>writeable (S)\fR
+\fBwriteable (S)\fR
 Inverted synonym for \fI  read only\fR.
 .SH "WARNINGS"
 .PP
@@ -7316,7 +7400,8 @@ be ignored in comparisons anyway, so it shouldn't be a
 problem - but be aware of the possibility.
 .PP
 On a similar note, many clients - especially DOS clients - 
-limit service names to eight characters. \fBsmbd\fR(8) has no such limitation, but attempts to connect from such 
+limit service names to eight characters. smbd(8)
+ 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.
@@ -7328,10 +7413,19 @@ sections. In particular, ensure that the permissions on spool
 directories are correct.
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 3.0 of 
+the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsamba\fR(7), \fBsmbpasswd\fR(8), \fBswat\fR(8), \fBsmbd\fR(8), \fBnmbd\fR(8), \fBsmbclient\fR(1), \fBnmblookup\fR(1), \fBtestparm\fR(1), \fBtestprns\fR(1).
+samba(7)
+\fBsmbpasswd(8)\fR
+\fBswat(8)\fR
+\fBsmbd(8)\fR 
+\fBnmbd(8)\fR 
+\fBsmbclient(1)\fR 
+\fBnmblookup(1)\fR
+\fBtestparm(1)\fR 
+\fBtestprns(1)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -7341,7 +7435,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 69d9cd9f1a0f89a81f553399cf05d9ed969ff90d..aaed1ba8f54a2fa0326adc582503f8a5ca515349 100644 (file)
@@ -3,17 +3,16 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBCACLS" "1" "03 april 2003" "" ""
-
+.TH "SMBCACLS" "1" "04 March 2003" "" ""
 .SH NAME
 smbcacls \- Set or get ACLs on an NT file or directory names
 .SH SYNOPSIS
 
-\fBsmbcacls\fR \fB//server/share\fR \fBfilename\fR [ \fB-D acls\fR ] [ \fB-M acls\fR ] [ \fB-A acls\fR ] [ \fB-S acls\fR ] [ \fB-C name\fR ] [ \fB-G name\fR ] [ \fB-n\fR ] [ \fB-t\fR ] [ \fB-U username\fR ] [ \fB-h\fR ] [ \fB-d\fR ]
+\fBsmbcacls\fR \fB//server/share\fR \fBfilename\fR [ \fB-U username\fR ] [ \fB-A acls\fR ] [ \fB-M acls\fR ] [ \fB-D acls\fR ] [ \fB-S acls\fR ] [ \fB-C name\fR ] [ \fB-G name\fR ] [ \fB-n\fR ] [ \fB-h\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 The \fBsmbcacls\fR program manipulates NT Access Control
 Lists (ACLs) on SMB file shares. 
@@ -46,7 +45,7 @@ type, owner and group for the call to succeed.
 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 \fBsmb.conf\fR(5) file is 
+workgroup specified in the \fIsmb.conf\fR file is 
 used, or "username%password"  or "DOMAIN\\username%password" and the 
 password and workgroup names are used as provided. 
 .TP
@@ -71,9 +70,9 @@ This option displays all ACL information in numeric
 format.  The default is to convert SIDs to names and ACE types 
 and masks to a readable string format.  
 .TP
-\fB-t\fR
-Don't actually do anything, only validate the correctness of 
-the arguments.
+\fB-h\fR
+Print usage information on the \fBsmbcacls
+\fR program.
 .SH "ACL FORMAT"
 .PP
 The format of an ACL is one or more ACL entries separated by 
@@ -86,6 +85,7 @@ REVISION:<revision number>
 OWNER:<sid or name>
 GROUP:<sid or name>
 ACL:<sid or name>:<type>/<flags>/<mask>
+       
 .fi
 .PP
 The revision of the ACL specifies the internal Windows 
@@ -116,7 +116,7 @@ common flags are:
 #define SEC_ACE_FLAG_CONTAINER_INHERIT   0x2
 .TP 0.2i
 \(bu
-#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT     0x4
+#define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT       0x4
 .TP 0.2i
 \(bu
 #define SEC_ACE_FLAG_INHERIT_ONLY        0x8
@@ -172,7 +172,8 @@ of 1 is returned.  If there was an error parsing any command line
 arguments, an exit status of 2 is returned. 
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 2.2 of 
+the Samba suite.
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -184,5 +185,4 @@ to the way the Linux kernel is developed.
 and Tim Potter.
 .PP
 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.
+by Gerald Carter
index 72747a74c211b3e87f6c90244a7d7307f004cda2..e5785acaf538916f5d19b8c9200f4e15f5e8eaf9 100644 (file)
@@ -3,21 +3,20 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBCLIENT" "1" "03 april 2003" "" ""
-
+.TH "SMBCLIENT" "1" "04 March 2003" "" ""
 .SH NAME
 smbclient \- ftp-like client to access SMB/CIFS resources  on servers
 .SH SYNOPSIS
 
-\fBsmbclient\fR \fBservicename\fR [ \fBpassword\fR ] [ \fB-b <buffer size>\fR ] [ \fB-d debuglevel\fR ] [ \fB-D Directory\fR ] [ \fB-U username\fR ] [ \fB-W workgroup\fR ] [ \fB-M <netbios name>\fR ] [ \fB-m maxprotocol\fR ] [ \fB-A authfile\fR ] [ \fB-N\fR ] [ \fB-l logfile\fR ] [ \fB-L <netbios name>\fR ] [ \fB-I destinationIP\fR ] [ \fB-E\fR ] [ \fB-c <command string>\fR ] [ \fB-i scope\fR ] [ \fB-O <socket options>\fR ] [ \fB-p port\fR ] [ \fB-R <name resolve order>\fR ] [ \fB-s <smb config file>\fR ] [ \fB-T<c|x>IXFqgbNan\fR ] [ \fB-k\fR ]
+\fBsmbclient\fR \fBservicename\fR [ \fBpassword\fR ] [ \fB-b <buffer size>\fR ] [ \fB-d debuglevel\fR ] [ \fB-D Directory\fR ] [ \fB-U username\fR ] [ \fB-W workgroup\fR ] [ \fB-M <netbios name>\fR ] [ \fB-m maxprotocol\fR ] [ \fB-A authfile\fR ] [ \fB-N\fR ] [ \fB-l logfile\fR ] [ \fB-L <netbios name>\fR ] [ \fB-I destinationIP\fR ] [ \fB-E\fR ] [ \fB-c <command string>\fR ] [ \fB-i scope\fR ] [ \fB-O <socket options>\fR ] [ \fB-p port\fR ] [ \fB-R <name resolve order>\fR ] [ \fB-s <smb config file>\fR ] [ \fB-T<c|x>IXFqgbNan\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBsmbclient\fR is a client that can 
 \&'talk' to an SMB/CIFS server. It offers an interface
-similar to that of the ftp program (see \fBftp\fR(1)).  
+similar to that of the ftp program (see \fBftp(1)\fR).  
 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 
@@ -42,8 +41,7 @@ same as the IP hostname of the machine running the server.
 
 The server name is looked up according to either 
 the \fI-R\fR parameter to \fBsmbclient\fR or 
-using the name resolve order parameter in 
-the \fBsmb.conf\fR(5) file, 
+using the name resolve order parameter in the \fIsmb.conf\fR file, 
 allowing an administrator to change the order and methods 
 by which server names are looked up. 
 .TP
@@ -67,6 +65,15 @@ or mixed case passwords may be rejected by these servers.
 
 Be cautious about including passwords in scripts.
 .TP
+\fB-s smb.conf\fR
+Specifies the location of the all important 
+\fIsmb.conf\fR file. 
+.TP
+\fB-O socket options\fR
+TCP socket options to set on the client 
+socket. See the socket options parameter in the \fI  smb.conf (5)\fR manpage for the list of valid 
+options. 
+.TP
 \fB-R <name resolve order>\fR
 This option is used by the programs in the Samba 
 suite to determine what naming services and in what order to resolve 
@@ -74,18 +81,17 @@ host names to IP addresses. The option takes a space-separated
 string of different name resolution options.
 
 The options are :"lmhosts", "host", "wins" and "bcast". They 
-cause names to be resolved as follows:
+cause names to be resolved as follows :
 .RS
 .TP 0.2i
 \(bu
-lmhosts: Lookup an IP 
+lmhosts : 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 \fBlmhosts\fR(5) for details) then
+no name type attached to the NetBIOS name (see the lmhosts(5) for details) then
 any name type matches for lookup.
 .TP 0.2i
 \(bu
-host: Do a standard host 
+host : Do a standard host 
 name to IP address resolution, using the system \fI/etc/hosts
 \fR, NIS, or DNS lookups. This method of name resolution 
 is operating system dependent, for instance on IRIX or Solaris this 
@@ -95,13 +101,13 @@ type being queried is the 0x20 (server) name type, otherwise
 it is ignored.
 .TP 0.2i
 \(bu
-wins: Query a name with 
+wins : Query a name with 
 the IP address listed in the \fIwins server\fR
 parameter.  If no WINS server has
 been specified this method will be ignored.
 .TP 0.2i
 \(bu
-bcast: Do a broadcast on 
+bcast : Do a broadcast on 
 each of the known local interfaces listed in the 
 \fIinterfaces\fR
 parameter. This is the least reliable of the name resolution 
@@ -110,12 +116,12 @@ connected subnet.
 .RE
 
 If this parameter is not set then the name resolve order 
-defined in the \fBsmb.conf\fR(5) file parameter  
+defined in the \fIsmb.conf\fR file parameter  
 (name resolve order) will be used. 
 
 The default order is lmhosts, host, wins, bcast and without 
 this parameter or any entry in the \fIname resolve order
-\fR parameter of the \fBsmb.conf\fR(5) file the name resolution
+\fR parameter of the \fIsmb.conf\fR file the name resolution
 methods will be attempted in this order. 
 .TP
 \fB-M NetBIOS name\fR
@@ -141,13 +147,64 @@ You may also find the \fI-U\fR and
 \fI-I\fR options useful, as they allow you to 
 control the FROM and TO parts of the message. 
 
-See the \fImessage command\fR parameter in the \fBsmb.conf\fR(5) for a description of how to handle incoming 
+See the message command parameter in the \fI  smb.conf(5)\fR for a description of how to handle incoming 
 WinPopup messages in Samba. 
 
 \fBNote\fR: Copy WinPopup into the startup group 
 on your WfWg PCs if you want them to always be able to receive 
 messages. 
 .TP
+\fB-i scope\fR
+This specifies a NetBIOS scope that smbclient will 
+use to communicate with when generating NetBIOS names. For details 
+on the use of NetBIOS scopes, see \fIrfc1001.txt\fR 
+and \fIrfc1002.txt\fR.
+NetBIOS scopes are \fBvery\fR rarely used, only set 
+this parameter if you are the system administrator in charge of all 
+the NetBIOS systems you communicate with. 
+.TP
+\fB-N\fR
+If specified, this parameter suppresses the normal 
+password prompt from the client to the user. This is useful when 
+accessing a service that does not require a password. 
+
+Unless a password is specified on the command line or 
+this parameter is specified, the client will request a 
+password.
+.TP
+\fB-n NetBIOS name\fR
+By default, the client will use the local 
+machine's hostname (in uppercase) as its NetBIOS name. This parameter 
+allows you to override the host name and use whatever NetBIOS 
+name you wish. 
+.TP
+\fB-d debuglevel\fR
+\fIdebuglevel\fR is an integer from 0 to 10, or 
+the letter 'A'. 
+
+The default value if this parameter is not specified 
+is zero. 
+
+The higher this value, the more detail will be logged to 
+the log files about the activities of the 
+client. At level 0, only critical errors and serious warnings will 
+be logged. Level 1 is a reasonable level for day to day running - 
+it generates a small amount of information about operations 
+carried out. 
+
+Levels above 1 will generate considerable amounts of log 
+data, and should only be used when investigating a problem.
+Levels above 3 are designed for use only by developers and 
+generate HUGE amounts of log data, most of which is extremely 
+cryptic. If \fIdebuglevel\fR is set to the letter 'A', then \fBall
+\fR  debug messages will be printed. This setting
+is for developers only (and people who \fBreally\fR want 
+to know how the code works internally). 
+
+Note that specifying this parameter here will override
+the log level parameter in the \fIsmb.conf (5)\fR 
+file. 
+.TP
 \fB-p port\fR
 This number is the TCP port number that will be used 
 when making connections to the server. The standard (well-known)
@@ -167,8 +224,8 @@ would be \fIlog.client\fR.
 
 The log file generated is never removed by the client.   
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
+\fB-h\fR
+Print the usage message for the client. 
 .TP
 \fB-I IP-address\fR
 \fIIP address\fR is the address of the server to connect to. 
@@ -194,6 +251,53 @@ output stream.
 By default, the client writes messages to standard output 
 - typically the user's tty. 
 .TP
+\fB-U username[%pass]\fR
+Sets the SMB username or username and password. 
+If %pass is not specified, The user will be prompted. The client 
+will first check the \fBUSER\fR environment variable, then the 
+\fBLOGNAME\fR variable and if either exists, the 
+string is uppercased. Anything in these variables following a '%' 
+sign will be treated as the password. If these environment 
+variables are not found, the username GUEST 
+is used. 
+
+If the password is not included in these environment
+variables (using the %pass syntax), \fBsmbclient\fR will look for 
+a \fBPASSWD\fR environment variable from which 
+to read the password. 
+
+A third option is to use a credentials file which 
+contains the plaintext of the domain name, username and password.  This 
+option is mainly provided for scripts where the admin doesn't 
+wish to pass the credentials on the command line or via environment 
+variables. If this method is used, make certain that the permissions 
+on the file restrict access from unwanted users.  See the 
+\fI-A\fR for more details. 
+
+Be cautious about including passwords in scripts or in 
+the \fBPASSWD\fR environment variable. Also, on 
+many systems the command line of a running process may be seen 
+via the \fBps\fR command to be safe always allow 
+\fBsmbclient\fR to prompt for a password and type 
+it in directly. 
+.TP
+\fB-A filename\fR
+This option allows 
+you to specify a file from which to read the username, domain name, and 
+password used in the connection.  The format of the file is 
+
+
+.nf
+username = <value> 
+password = <value>
+domain = <value>
+               
+.fi
+
+If the domain parameter is missing the current workgroup name
+is used instead. Make certain that the permissions on the file restrict 
+access from unwanted users. 
+.TP
 \fB-L\fR
 This option allows you to look at what services 
 are available on a server. You use it as \fBsmbclient -L 
@@ -221,127 +325,11 @@ size when getting or putting a file from/to the server. The default
 is 65520 bytes. Setting this value smaller (to 1200 bytes) has been 
 observed to speed up file transfers to and from a Win9x server. 
 .TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
-
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
-
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
-
-Note that specifying this parameter here will 
-override the log
-level file.
-.TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
-.TP
-\fB-N\fR
-If specified, this parameter suppresses the normal
-password prompt from the client to the user. This is useful when
-accessing a service that does not require a password. 
-
-Unless a password is specified on the command line or
-this parameter is specified, the client will request a
-password.
-.TP
-\fB-k\fR
-Try to authenticate with kerberos. Only useful in
-an Active Directory environment.
-.TP
-\fB-A|--authfile=filename\fR
-This option allows
-you to specify a file from which to read the username and
-password used in the connection.  The format of the file is
-
-
-.nf
-username = <value>
-password = <value>
-domain   = <value>
-.fi
-
-Make certain that the permissions on the file restrict 
-access from unwanted users. 
-.TP
-\fB-U|--user=username[%password]\fR
-Sets the SMB username or username and password. 
-
-If %password is not specified, the user will be prompted. The
-client will first check the \fBUSER\fR environment variable, then the
-\fBLOGNAME\fR variable and if either exists, the
-string is uppercased. If these environmental variables are not
-found, the username GUEST is used. 
-
-A third option is to use a credentials file which
-contains the plaintext of the username and password.  This
-option is mainly provided for scripts where the admin does not
-wish to pass the credentials on the command line or via environment
-variables. If this method is used, make certain that the permissions
-on the file restrict access from unwanted users.  See the
-\fI-A\fR for more details. 
-
-Be cautious about including passwords in scripts. Also, on
-many systems the command line of a running process may be seen
-via the \fBps\fR command.  To be safe always allow
-\fBrpcclient\fR to prompt for a password and type
-it in directly. 
-.TP
-\fB-n <primary NetBIOS name>\fR
-This option allows you to override
-the NetBIOS name that Samba uses for itself. This is identical
-to setting the \fINetBIOS
-name\fR parameter in the \fBsmb.conf\fR(5) file.  However, a command
-line setting will take precedence over settings in
-\fBsmb.conf\fR(5).
-.TP
-\fB-i <scope>\fR
-This specifies a NetBIOS scope that
-\fBnmblookup\fR will use to communicate with when
-generating NetBIOS names. For details on the use of NetBIOS
-scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are
-\fBvery\fR rarely used, only set this parameter
-if you are the system administrator in charge of all the
-NetBIOS systems you communicate with.
-.TP
-\fB-W|--workgroup=domain\fR
-Set the SMB domain of the username.   This
-overrides the default domain which is the domain defined in
-smb.conf.  If the domain specified is the same as the servers 
-NetBIOS name, it causes the client to log on using the servers local 
-SAM (as opposed to the Domain SAM). 
-.TP
-\fB-O socket options\fR
-TCP socket options to set on the client
-socket. See the socket options parameter in
-the \fBsmb.conf\fR(5) manual page for the list of valid
-options. 
+\fB-W WORKGROUP\fR
+Override the default workgroup (domain) specified
+in the workgroup parameter of the \fIsmb.conf\fR
+file for this connection. This may be needed to connect to some
+servers. 
 .TP
 \fB-T tar options\fR
 smbclient may be used to create \fBtar(1)
@@ -425,7 +413,7 @@ files in the archive with relative names, not absolute names.
 
 \fBTar Filenames\fR
 
-All file names can be given as DOS path names (with '\\\\
+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). 
 
@@ -476,7 +464,7 @@ a prompt :
 .PP
 smb:\\> 
 .PP
-The backslash ("\\\\") indicates the current working directory 
+The backslash ("\\") indicates the current working directory 
 on the server, and will change if the current working directory 
 is changed. 
 .PP
@@ -778,7 +766,8 @@ The client log files should be put in a directory readable
 and writeable only by the user. 
 .PP
 To test the client, you will need to know the name of a 
-running SMB/CIFS server. It is possible to run \fBsmbd\fR(8) as an ordinary user - running that server as a daemon 
+running SMB/CIFS server. It is possible to run \fBsmbd(8)
+\fR 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. 
 .SH "DIAGNOSTICS"
@@ -792,7 +781,8 @@ on the debug level used by the client. If you have problems,
 set the debug level to 3 and peruse the log files. 
 .SH "VERSION"
 .PP
-This man page is correct for version 2.2 of the Samba suite.
+This man page is correct for version 2.2 of 
+the Samba suite.
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -802,7 +792,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 5b612b1b134908ae3c4c2a3dc3453f420701e0f3..d69e0978a4b9f5c5cbeb69b5d8142ff3742617b4 100644 (file)
@@ -3,38 +3,27 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBCONTROL" "1" "03 april 2003" "" ""
-
+.TH "SMBCONTROL" "1" "04 March 2003" "" ""
 .SH NAME
 smbcontrol \- send messages to smbd, nmbd or winbindd processes
 .SH SYNOPSIS
 
-\fBsmbcontrol\fR [ \fB-i\fR ] [ \fB-s\fR ]
+\fBsmbcontrol\fR [ \fB-i\fR ]
 
 
 \fBsmbcontrol\fR [ \fBdestination\fR ] [ \fBmessage-type\fR ] [ \fBparameter\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBsmbcontrol\fR is a very small program, which 
-sends messages to a \fBsmbd\fR(8), a \fBnmbd\fR(8), or a \fBwinbindd\fR(8) daemon running on the system.
+sends messages to an smbd(8) 
+an nmbd(8)
+or a winbindd(8) 
+daemon running on the system.
 .SH "OPTIONS"
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
 \fB-i\fR
 Run interactively. Individual commands 
 of the form destination message-type parameters can be entered 
@@ -42,7 +31,8 @@ on STDIN. An empty command line or a "q" will quit the
 program.
 .TP
 \fBdestination\fR
-One of \fInmbd\fR, \fIsmbd\fR or a process ID.
+One of \fInmbd\fR
+\fIsmbd\fR or a process ID.
 
 The \fIsmbd\fR destination causes the 
 message to "broadcast" to all smbd daemons.
@@ -55,56 +45,57 @@ If a single process ID is given, the message is sent
 to only that process.
 .TP
 \fBmessage-type\fR
-Type of message to send. See 
-the section MESSAGE-TYPES for details.
-.TP
-\fBparameters\fR
-any parameters required for the message-type
-.SH "MESSAGE-TYPES"
-.PP
-Available message types are:
-.TP
-\fBclose-share\fR
-Order smbd to close the client 
-connections to the named share. Note that this doesn't affect client 
-connections to any other shares. This message-type takes an argument of the
+One of: close-share,
+debug, 
+force-election, ping
+, profile,   debuglevel, profilelevel, 
+or printnotify.
+
+The close-share message-type sends a 
+message to smbd which will then close the client connections to
+the named share. Note that this doesn't affect client connections
+to any other shares. This message-type takes an argument of the
 share name for which client connections will be closed, or the
 "*" character which will close all currently open shares.
 This may be useful if you made changes to the access controls on the share.
 This message can only be sent to smbd.
-.TP
-\fBdebug\fR
-Set debug level to the value specified by the 
+
+The debug message-type allows 
+the debug level to be set to the value specified by the 
 parameter. This can be sent to any of the destinations.
-.TP
-\fBforce-election\fR
-This message causes the \fBnmbd\fR daemon to 
-force a new browse master election. 
-.TP
-\fBping\fR
-Send specified number of "ping" messages and 
-wait for the same number of  reply "pong" messages. This can be sent to 
+
+The force-election message-type can only be 
+sent to the nmbd destination. This message 
+causes the \fBnmbd\fR daemon to force a new browse
+master election.
+
+The ping message-type sends the 
+number of "ping" messages specified by the parameter and waits 
+for the same number of  reply "pong" messages. This can be sent to 
 any of the destinations.
-.TP
-\fBprofile\fR
-Change profile settings of a daemon, based on the 
+
+The profile message-type sends a 
+message to an smbd to change the profile settings based on the 
 parameter. The parameter can be "on" to turn on profile stats 
 collection, "off" to turn off profile stats collection, "count"
 to enable only collection of count stats (time stats are 
 disabled), and "flush" to zero the current profile stats. This can 
 be sent to any smbd or nmbd destinations.
-.TP
-\fBdebuglevel\fR
-Request debuglevel of a certain daemon and write it to stdout. This 
-can be sent to any of the destinations.
-.TP
-\fBprofilelevel\fR
-Request profilelevel of a certain daemon and write it to stdout. 
-This can be sent to any smbd or nmbd destinations.
-.TP
-\fBprintnotify\fR
-Order smbd to send a printer notify message to any Windows NT clients 
-connected to a printer. This message-type takes the following arguments:
+
+The debuglevel message-type sends 
+a "request debug level" message. The current debug level setting 
+is returned by a  "debuglevel" message. This can be 
+sent to any of the destinations.
+
+The profilelevel message-type sends 
+a "request profile level" message.  The current profile level 
+setting is returned by a  "profilelevel" message. This can be sent 
+to any smbd or nmbd destinations.
+
+The printnotify message-type sends a 
+message to smbd which in turn sends a printer notify message to 
+any Windows NT clients connected to a printer. This message-type
+takes the following arguments:
 .RS
 .TP
 \fBqueuepause printername\fR
@@ -130,50 +121,21 @@ Send a job delete change notify
 message for the printer and unix jobid
 specified.
 .RE
-
 Note that this message only sends notification that an
 event has occured.  It doesn't actually cause the
 event to happen.
-
 This message can only be sent to smbd. 
 .TP
-\fBsamsync\fR
-Order smbd to synchronise sam database from PDC (being BDC). Can only be sent to smbd. 
-.sp
-.RS
-.B "Note:"
-Not working at the moment
-.RE
-.TP
-\fBsamrepl\fR
-Send sam replication message, with specified serial. Can only be sent to smbd. Should not be used manually.
-.TP
-\fBdmalloc-mark\fR
-Set a mark for dmalloc. Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. 
-.TP
-\fBdmalloc-log-changed\fR
-Dump the pointers that have changed since the mark set by dmalloc-mark. 
-Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. 
-.TP
-\fBshutdown\fR
-Shut down specified daemon. Can be sent to both smbd and nmbd.
-.TP
-\fBtallocdump and pool-usage\fR
-Print a human-readable description of all 
-talloc(pool) memory usage by the specified daemon/process. Available 
-for both smbd and nmbd.
-.TP
-\fBdrvupgrade\fR
-Force clients of printers using specified driver 
-to update their local version of the driver. Can only be 
-sent to smbd.
+\fBparameters\fR
+any parameters required for the message-type
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of 
+This man page is correct for version 2.2 of 
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBnmbd\fR(8) and \fBsmbd\fR(8).
+\fBnmbd(8)\fR 
+and \fBsmbd(8)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -183,7 +145,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 4f99c18f52e969f6980ca2f5034d4185fccfece5..106c0a98e39f0e57b3af478f451de2533f70b22f 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBD" "8" "03 april 2003" "" ""
-
+.TH "SMBD" "8" "04 March 2003" "" ""
 .SH NAME
 smbd \- server to provide SMB/CIFS services to clients
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ smbd \- server to provide SMB/CIFS services to clients
 
 .SH "DESCRIPTION"
 .PP
-This program is part of the \fBSamba\fR(7) suite.
+This program is part of the Samba suite.
 .PP
 \fBsmbd\fR is the server daemon that 
 provides filesharing and printing services to Windows clients. 
@@ -27,12 +26,14 @@ OS/2, DAVE for Macintosh, and smbfs for Linux.
 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 \fBsmb.conf\fR(5).  This man page will not describe the 
+services (see \fIsmb.conf(5)
+\fR  This man page will not describe the 
 services, but will concentrate on the administrative aspects 
 of running the server.
 .PP
 Please note that there are significant security 
-implications to running this server, and the \fBsmb.conf\fR(5) manual page should be regarded as mandatory reading before 
+implications to running this server, and the \fIsmb.conf(5)\fR 
+manpage should be regarded as mandatory reading before 
 proceeding with installation.
 .PP
 A session is created whenever a client requests one. 
@@ -85,21 +86,19 @@ command line. \fBsmbd\fR also logs to standard
 output, as if the \fB-S\fR parameter had been
 given.
 .TP
+\fB-h\fR
+Prints the help information (usage) 
+for \fBsmbd\fR.
+.TP
 \fB-V\fR
 Prints the version number for 
 \fBsmbd\fR.
 .TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
+\fB-b\fR
+Prints information about how 
+Samba was built.
 .TP
-\fB-d|--debug=debuglevel\fR
+\fB-d <debug level>\fR
 \fIdebuglevel\fR is an integer 
 from 0 to 10.  The default value if this parameter is 
 not specified is zero.
@@ -121,18 +120,6 @@ Note that specifying this parameter here will
 override the log
 level file.
 .TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
-.TP
-\fB-b\fR
-Prints information about how 
-Samba was built.
-.TP
 \fB-l <log directory>\fR
 If specified,
 \fIlog directory\fR 
@@ -140,14 +127,19 @@ specifies a log directory into which the "log.smbd" log
 file will be created for informational and debug 
 messages from the running server. The log 
 file generated is never removed by the server although 
-its size may be controlled by the \fImax log size\fR
-option in the \fBsmb.conf\fR(5) file. \fBBeware:\fR
+its size may be controlled by the max log size
+option in the \fI  smb.conf(5)\fR file. \fBBeware:\fR
 If the directory specified does not exist, \fBsmbd\fR
 will log to the default debug log location defined at compile time.
 
 The default log directory is specified at
 compile time.
 .TP
+\fB-O <socket options>\fR
+See the socket options 
+parameter in the \fIsmb.conf(5)
+\fR file for details.
+.TP
 \fB-p <port number>\fR
 \fIport number\fR is a positive integer 
 value.  The default value if this parameter is not 
@@ -170,13 +162,23 @@ section 4.3.5.
 
 This parameter is not normally specified except 
 in the above situation.
+.TP
+\fB-s <configuration file>\fR
+The file specified contains the 
+configuration details required by the server.  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. See \fI  smb.conf(5)\fR for more information.
+The default configuration file name is determined at 
+compile time.
 .SH "FILES"
 .TP
 \fB\fI/etc/inetd.conf\fB\fR
 If the server is to be run by the 
 \fBinetd\fR meta-daemon, this file 
 must contain suitable startup information for the 
-meta-daemon. See the "How to Install and Test SAMBA"
+meta-daemon. See the UNIX_INSTALL.html
 document for details.
 .TP
 \fB\fI/etc/rc\fB\fR
@@ -185,7 +187,7 @@ system uses).
 
 If running the server as a daemon at startup, 
 this file will need to contain an appropriate startup 
-sequence for the server. See the "How to Install and Test SAMBA"
+sequence for the server. See the UNIX_INSTALL.html
 document for details.
 .TP
 \fB\fI/etc/services\fB\fR
@@ -193,16 +195,18 @@ If running the server via the
 meta-daemon \fBinetd\fR, 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 "How to Install and Test SAMBA"
+See the UNIX_INSTALL.html
 document for details.
 .TP
 \fB\fI/usr/local/samba/lib/smb.conf\fB\fR
-This is the default location of the \fBsmb.conf\fR(5) server configuration file. Other common places that systems 
+This is the default location of the 
+\fIsmb.conf\fR
+server configuration file. Other common places that systems 
 install this file are \fI/usr/samba/lib/smb.conf\fR 
-and \fI/etc/samba/smb.conf\fR.
+and \fI/etc/smb.conf\fR.
 
 This file describes all the services the server 
-is to make available to clients. See \fBsmb.conf\fR(5) for more information.
+is to make available to clients. See   \fIsmb.conf(5)\fR for more information.
 .SH "LIMITATIONS"
 .PP
 On some systems \fBsmbd\fR cannot change uid back 
@@ -225,8 +229,9 @@ is not specific to the server, however.
 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 \fIobey 
-pam restricions\fR \fBsmb.conf\fR(5) paramater.  When this is set, the following restrictions apply:
+by the limitations of the SMB protocol and the 
+obey pam restricions
+smb.conf paramater.  When this is set, the following restrictions apply:
 .TP 0.2i
 \(bu
 \fBAccount Validation\fR:  All accesses to a 
@@ -274,8 +279,9 @@ an \fBsmbd\fR is to send it a SIGTERM (-15) signal and wait for
 it to die on its own.
 .PP
 The debug log level of \fBsmbd\fR may be raised
-or lowered using \fBsmbcontrol\fR(1) 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 \fBsmbcontrol(1)
+\fR 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.
 .PP
 Note that as the signal handlers send a debug write, 
@@ -286,8 +292,12 @@ by un-blocking the signals before the select call and re-blocking
 them after, however this would affect performance.
 .SH "SEE ALSO"
 .PP
-\fBhosts_access\fR(5), \fBinetd\fR(8), \fBnmbd\fR(8), \fBsmb.conf\fR(5), \fBsmbclient\fR(1), \fBtestparm\fR(1), \fBtestprns\fR(1), and the 
-Internet RFC's \fIrfc1001.txt\fR, \fIrfc1002.txt\fR. 
+hosts_access(5), \fBinetd(8)\fR, 
+\fBnmbd(8)\fR 
+\fIsmb.conf(5)\fR
+ \fBsmbclient(1)
+\fR and the Internet RFC's
+\fIrfc1001.txt\fR, \fIrfc1002.txt\fR. 
 In addition the CIFS (formerly SMB) specification is available 
 as a link from the Web page  
 http://samba.org/cifs/ <URL:http://samba.org/cifs/>.
@@ -300,7 +310,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 6b9bd7e37d22441ac56738fe8a48b680aad7927d..41b487279878605695d86cdaec778c0d987fa5d6 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBGROUPEDIT" "8" "03 april 2003" "" ""
-
+.TH "SMBGROUPEDIT" "8" "04 March 2003" "" ""
 .SH NAME
 smbgroupedit \- Query/set/change UNIX - Windows NT group mapping
 .SH SYNOPSIS
@@ -13,7 +12,8 @@ smbgroupedit \- Query/set/change UNIX - Windows NT group mapping
 
 .SH "DESCRIPTION"
 .PP
-This program is part of the \fBSamba\fR(7) suite.
+This program is part of the Samba
+suite.
 .PP
 The  smbgroupedit  command  allows for mapping unix groups
 to NT Builtin, Domain, or Local groups.  Also
@@ -39,7 +39,8 @@ give a long listing, of the format:
     Privilege      :
 .fi
 
-For example:
+For examples,
+
 
 .nf
 Users
@@ -58,7 +59,8 @@ display a short listing of the format:
 NTGroupName(SID) -> UnixGroupName
 .fi
 
-For example:
+For example,
+
 
 .nf
 Users (S-1-5-32-545) -> -1
@@ -92,7 +94,8 @@ map this domadm group to the 'domain admins' group:
 .RS
 .TP 3
 1. 
-Get the SID for the Windows NT "Domain Admins" group:
+Get the SID for the Windows NT "Domain Admins"
+group:
 
 
 .nf
@@ -104,6 +107,7 @@ Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -> -1
 map the unix domadm group to the Windows NT
 "Domain Admins" group, by running the command:
 
+
 .nf
 root# \fBsmbgroupedit \\
 -c S-1-5-21-1108995562-3116817432-1375597819-512 \\
@@ -115,6 +119,7 @@ Domain Admins SID (the S-1-5-21-...-512) is different for every PDC.
 .RE
 .PP
 To verify that your mapping has taken effect:
+.PP
 
 .nf
 root# \fBsmbgroupedit -vs|grep "Domain Admins"\fR
@@ -124,6 +129,7 @@ Domain Admins (S-1-5-21-1108995562-3116817432-1375597819-512) -> domadm
 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:
+.PP
 
 .nf
 root# \fBsmbgroupedit -a unixgroup -td\fR
@@ -134,7 +140,7 @@ This man page is correct for the 3.0alpha releases of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmb.conf\fR(5)
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities
@@ -144,5 +150,4 @@ to the way the Linux kernel is developed.
 .PP
 \fBsmbgroupedit\fR 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.
+by the Samba Team in the same fashion as the Samba source code.
index 5c9a66286380b6b868d25f112dc8d226388f6ab1..e8e8562a127d1c0eb62185133212429d862c8eaa 100644 (file)
@@ -3,13 +3,12 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBMNT" "8" "03 april 2003" "" ""
-
+.TH "SMBMNT" "8" "04 March 2003" "" ""
 .SH NAME
 smbmnt \- helper utility for mounting SMB filesystems
 .SH SYNOPSIS
 
-\fBsmbmnt\fR \fBmount-point\fR [ \fB-s <share>\fR ] [ \fB-r\fR ] [ \fB-u <uid>\fR ] [ \fB-g <gid>\fR ] [ \fB-f <mask>\fR ] [ \fB-d <mask>\fR ] [ \fB-o <options>\fR ] [ \fB-h\fR ]
+\fBsmbmnt\fR \fBmount-point\fR [ \fB-s <share>\fR ] [ \fB-r\fR ] [ \fB-u <uid>\fR ] [ \fB-g <gid>\fR ] [ \fB-f <mask>\fR ] [ \fB-d <mask>\fR ] [ \fB-o <options>\fR ]
 
 .SH "DESCRIPTION"
 .PP
@@ -22,7 +21,8 @@ A setuid smbmnt will only allow mounts on directories owned
 by the user, and that the user has write permission on.
 .PP
 The \fBsmbmnt\fR program is normally invoked 
-by \fBsmbmount\fR(8). It should not be invoked directly by users. 
+by \fBsmbmount(8)\fR
+ It should not be invoked directly by users. 
 .PP
 smbmount searches the normal PATH for smbmnt. You must ensure
 that the smbmnt version in your path matches the smbmount used.
@@ -49,9 +49,6 @@ applied
 \fB-o options\fR
 list of options that are passed as-is to smbfs, if this
 command is run on a 2.4 or higher Linux kernel.
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
 .SH "AUTHOR"
 .PP
 Volker Lendecke, Andrew Tridgell, Michael H. Warfield 
@@ -64,5 +61,4 @@ The SAMBA Mailing list <URL:mailto:samba@samba.org>
 is the preferred place to ask questions regarding these programs.
 .PP
 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.
+by Gerald Carter
index 207ec836d6dfb8a2fdb9571e6b17c17abf0c63f8..8d7dfd8d226ddf9fc3162758a59f5eca57c95fb4 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBMOUNT" "8" "03 april 2003" "" ""
-
+.TH "SMBMOUNT" "8" "04 March 2003" "" ""
 .SH NAME
 smbmount \- mount an smbfs filesystem
 .SH SYNOPSIS
@@ -15,7 +14,7 @@ smbmount \- mount an smbfs filesystem
 .PP
 \fBsmbmount\fR mounts a Linux SMB filesystem. It 
 is usually invoked as \fBmount.smbfs\fR by
-the \fBmount\fR(8) command when using the 
+the \fBmount(8)\fR command when using the 
 "-t smbfs" option. This command only works in Linux, and the kernel must
 support the smbfs filesystem. 
 .PP
@@ -28,10 +27,11 @@ unknown options.
 \fBsmbmount\fR 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 \fIlog.smbmount\fR. The \fB smbmount\fR process may also be called mount.smbfs.
+typically this output will end up in \fIlog.smbmount\fR. The
+\fBsmbmount\fR process may also be called mount.smbfs.
 .PP
 \fBNOTE:\fR \fBsmbmount\fR 
-calls \fBsmbmnt\fR(8) to do the actual mount. You 
+calls \fBsmbmnt(8)\fR to do the actual mount. You 
 must make sure that \fBsmbmnt\fR is in the path so 
 that it can be found. 
 .SH "OPTIONS"
@@ -58,21 +58,20 @@ in the PASSWD environment variable or a credentials file (see
 below) will be read correctly.
 .TP
 \fBcredentials=<filename>\fR
-specifies a file that contains a username and/or password. 
-The format of the file is:
+specifies a file that contains a username
+and/or password. The format of the file is:
+
 
 .nf
-username = <value>
-password = <value>
+               username = <value>
+               password = <value>
+               
 .fi
 
 This is preferred over having passwords in plaintext in a
 shared file, such as \fI/etc/fstab\fR. Be sure to protect any
 credentials file properly.
 .TP
-\fBkrb\fR
-Use kerberos (Active Directory). 
-.TP
 \fBnetbiosname=<arg>\fR
 sets the source NetBIOS name. It defaults 
 to the local hostname. 
@@ -98,30 +97,31 @@ permissions that remote files have in the local filesystem.
 The default is based on the current umask. 
 .TP
 \fBdmask=<arg>\fR
-Sets the directory mask. This determines the 
+sets the directory mask. This determines the 
 permissions that remote directories have in the local filesystem. 
 The default is based on the current umask. 
 .TP
 \fBdebug=<arg>\fR
-Sets the debug level. This is useful for 
+sets the debug level. This is useful for 
 tracking down SMB connection problems. A suggested value to
 start with is 4. If set too high there will be a lot of
 output, possibly hiding the useful output.
 .TP
 \fBip=<arg>\fR
-Sets the destination host or IP address.
+sets the destination host or IP address.
 .TP
 \fBworkgroup=<arg>\fR
-Sets the workgroup on the destination 
+sets the workgroup on the destination 
 .TP
 \fBsockopt=<arg>\fR
-Sets the TCP socket options. See the \fBsmb.conf\fR(5) \fIsocket options\fR option.
+sets the TCP socket options. See the \fIsmb.conf
+\fR \fIsocket options\fR option.
 .TP
 \fBscope=<arg>\fR
-Sets the NetBIOS scope 
+sets the NetBIOS scope 
 .TP
 \fBguest\fR
-Don't prompt for a password 
+don't prompt for a password 
 .TP
 \fBro\fR
 mount read-only 
@@ -196,8 +196,10 @@ source tree may contain additional options and information.
 .PP
 FreeBSD also has a smbfs, but it is not related to smbmount
 .PP
-For Solaris, HP-UX and others you may want to look at \fBsmbsh\fR(1) or at other solutions, such as 
-Sharity or perhaps replacing the SMB server with a NFS server.
+For Solaris, HP-UX and others you may want to look at
+\fBsmbsh(1)\fR or at other
+solutions, such as sharity or perhaps replacing the SMB server with
+a NFS server.
 .SH "AUTHOR"
 .PP
 Volker Lendecke, Andrew Tridgell, Michael H. Warfield 
@@ -210,5 +212,4 @@ The SAMBA Mailing list <URL:mailto:samba@samba.org>
 is the preferred place to ask questions regarding these programs.
 .PP
 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.
+by Gerald Carter
index 1eb8d3f2041aa9e5c584abe51f511e9dedafccfe..07b04530c318efac9ef6d9df8e32fac8eb8657ef 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBPASSWD" "5" "03 april 2003" "" ""
-
+.TH "SMBPASSWD" "5" "04 March 2003" "" ""
 .SH NAME
 smbpasswd \- The Samba encrypted password file
 .SH SYNOPSIS
@@ -12,7 +11,7 @@ smbpasswd \- The Samba encrypted password file
 \fIsmbpasswd\fR
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 smbpasswd is the Samba encrypted password file. It contains 
 the username, Unix user id and the SMB hashed passwords of the 
@@ -96,7 +95,7 @@ This section contains flags that describe
 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.
 .RS
 .TP 0.2i
 \(bu
@@ -109,11 +108,13 @@ in the smbpasswd file.
 \fBN\fR - This means the
 account has no password (the passwords in the fields LANMAN 
 Password Hash and NT Password Hash are ignored). Note that this 
-will only allow users to log on with no password if the \fI   null passwords\fR parameter is set in the \fBsmb.conf\fR(5) config file. 
+will only allow users to log on with no password if the \fI   null passwords\fR parameter is set in the \fIsmb.conf(5)
+\fR config file. 
 .TP 0.2i
 \(bu
 \fBD\fR - This means the account 
-is disabled and no SMB/CIFS logins  will be allowed for this user. 
+is disabled and no SMB/CIFS logins  will be allowed for 
+this user. 
 .TP 0.2i
 \(bu
 \fBW\fR - This means this account 
@@ -138,7 +139,8 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbpasswd\fR(8), \fBSamba\fR(7), and
+\fBsmbpasswd(8)\fR 
+samba(7) and
 the Internet RFC1321 for details on the MD4 algorithm.
 .SH "AUTHOR"
 .PP
@@ -149,7 +151,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 8d4598895fa8b88669b054a96666dddf4bf462e3..5c7b16c2e92676108c3200615d7165a62cc58c5f 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBPASSWD" "8" "03 april 2003" "" ""
-
+.TH "SMBPASSWD" "8" "04 March 2003" "" ""
 .SH NAME
 smbpasswd \- change a user's SMB password
 .SH SYNOPSIS
@@ -13,23 +12,24 @@ smbpasswd \- change a user's SMB password
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 The smbpasswd program has several different 
-functions, depending on whether it is run by the \fBroot\fR user 
-or not. When run as a normal user it allows the user to change 
+functions, depending on whether it is run by the \fBroot\fR 
+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. 
 .PP
 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 \fBpasswd(1)\fR program works. \fB smbpasswd\fR differs from how the passwd program works 
+similar to the way the \fBpasswd(1)\fR program works. 
+\fBsmbpasswd\fR differs from how the passwd program works 
 however in that it is not \fBsetuid root\fR but works in 
-a client-server mode and communicates with a 
-locally running \fBsmbd\fR(8). As a consequence in order for this to 
+a client-server mode and communicates with a locally running
+\fBsmbd(8)\fR. 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 \fBsmbpasswd\fR(5) file. 
+the \fIsmbpasswd(5)\fR file. 
 .PP
 When run by an ordinary user with no options, smbpasswd 
 will prompt them for their old SMB password and then ask them 
@@ -41,12 +41,12 @@ the <Enter> key when asked for your old password.
 .PP
 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 (\fI-r\fR) and \fI-U\fR options 
-below. 
+Controllers.   See the (-r) and -U options below. 
 .PP
 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, \fB smbpasswd\fR accesses the local smbpasswd file 
+the attributes of the user in this file to be made. When run by root, 
+\fBsmbpasswd\fR accesses the local smbpasswd file 
 directly, thus enabling changes to be made even if smbd is not 
 running. 
 .SH "OPTIONS"
@@ -82,7 +82,8 @@ will fail.
 
 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 \fBsmbpasswd\fR(5) for details on the 'old' and new password file formats.
+this information and the command will FAIL. See \fBsmbpasswd(5)
+\fR for details on the 'old' and new password file formats.
 
 This option is only available when running smbpasswd as 
 root.
@@ -95,7 +96,7 @@ disabled this option has no effect. Once the account is enabled then
 the user will be able to authenticate via SMB once again. 
 
 If the smbpasswd file is in the 'old' format, then \fB  smbpasswd\fR will FAIL to enable the account.  
-See \fBsmbpasswd\fR(5) for 
+See \fBsmbpasswd (5)\fR for 
 details on the 'old' and new password file formats. 
 
 This option is only available when running smbpasswd as root. 
@@ -163,17 +164,17 @@ what name resolution services to use when looking up the NetBIOS
 name of the host being connected to. 
 
 The options are :"lmhosts", "host", "wins" and "bcast". They
-cause names to be resolved as follows: 
+cause names to be resolved as follows 
 .RS
 .TP 0.2i
 \(bu
-lmhosts: Lookup an IP 
+lmhosts : 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 \fBlmhosts\fR(5) for details) then
+no name type attached to the NetBIOS name (see the lmhosts(5) for details) then
 any name type matches for lookup.
 .TP 0.2i
 \(bu
-host: Do a standard host 
+host : Do a standard host 
 name to IP address resolution, using the system \fI/etc/hosts
 \fR, NIS, or DNS lookups. This method of name resolution 
 is operating system depended for instance on IRIX or Solaris this 
@@ -183,13 +184,13 @@ type being queried is the 0x20 (server) name type, otherwise
 it is ignored.
 .TP 0.2i
 \(bu
-wins: Query a name with 
+wins : Query a name with 
 the IP address listed in the \fIwins server\fR 
 parameter.  If no WINS server has been specified this method 
 will be ignored.
 .TP 0.2i
 \(bu
-bcast: Do a broadcast on 
+bcast : Do a broadcast on 
 each of the known local interfaces listed in the
 \fIinterfaces\fR parameter. This is the least 
 reliable of the name resolution methods as it depends on the 
@@ -197,7 +198,8 @@ target host being on a locally connected subnet.
 .RE
 
 The default order is \fBlmhosts, host, wins, bcast\fR 
-and without this parameter or any entry in the \fBsmb.conf\fR(5) file the name resolution methods will 
+and without this parameter or any entry in the 
+\fIsmb.conf\fR file the name resolution methods will 
 be attempted in this order. 
 .TP
 \fB-m\fR
@@ -233,7 +235,7 @@ has been configured to use the experimental
 switch is used to specify the password to be used with the 
 \fIldap admin 
 dn\fR  Note that the password is stored in
-the \fIsecrets.tdb\fR and is keyed off 
+the \fIprivate/secrets.tdb\fR and is keyed off 
 of the admin's DN.  This means that if the value of \fIldap
 admin dn\fR ever changes, the password will need to be 
 manually updated as well.
@@ -259,20 +261,23 @@ to modify attributes directly in the local smbpasswd file.
 Since \fBsmbpasswd\fR works in client-server 
 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 \fB smbd\fR running on the local machine by specifying either \fIallow
-hosts\fR or \fIdeny hosts\fR entry in 
-the \fBsmb.conf\fR(5) file and neglecting to 
+is to add a restriction to the hosts that may access the \fB smbd\fR running on the local machine by specifying 
+\fIallow hosts\fR or \fIdeny hosts\fR 
+entry in the \fIsmb.conf\fR file and neglecting to 
 allow "localhost" access to the smbd. 
 .PP
 In addition, the smbpasswd command is only useful if Samba
-has been set up to use encrypted passwords. See the document  "LanMan and NT Password Encryption in Samba" in the docs directory for details 
+has been set up to use encrypted passwords. See the file 
+\fIENCRYPTION.txt\fR in the docs directory for details 
 on how to do this. 
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 3.0 of 
+the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbpasswd\fR(5), \fBSamba\fR(7).
+\fIsmbpasswd(5)\fR 
+samba(7)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -282,7 +287,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index f7ee47949b335f4ddd8f6bd72998b432adf1f193..06d27090db16b909123e10a274cc5bd53328a7d1 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBSH" "1" "03 april 2003" "" ""
-
+.TH "SMBSH" "1" "04 March 2003" "" ""
 .SH NAME
 smbsh \- Allows access to Windows NT filesystem  using UNIX commands
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ smbsh \- Allows access to Windows NT filesystem  using UNIX commands
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBsmbsh\fR allows you to access an NT filesystem 
 using UNIX commands such as \fBls\fR, \fB egrep\fR, and \fBrcp\fR. You must use a 
@@ -23,7 +22,7 @@ to work correctly.
 .TP
 \fB-W WORKGROUP\fR
 Override the default workgroup specified in the 
-workgroup parameter of the \fBsmb.conf\fR(5) file 
+workgroup parameter of the \fIsmb.conf\fR file 
 for this session. This may be needed to connect to some 
 servers. 
 .TP
@@ -39,75 +38,44 @@ the user to set the directory prefix for SMB access. The
 default value if this option is not specified is 
 \fBsmb\fR.
 .TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
-
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
-
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
-
-Note that specifying this parameter here will 
-override the log
-level file.
-.TP
 \fB-R <name resolve order>\fR
 This option is used to determine what naming 
 services and in what order to resolve 
 host names to IP addresses. The option takes a space-separated 
 string of different name resolution options.
 
-The options are"lmhosts", "host", "wins" and "bcast". 
+The options are :"lmhosts", "host", "wins" and "bcast". 
 They cause names to be resolved as follows :
 .RS
 .TP 0.2i
 \(bu
-lmhosts: 
+lmhosts 
 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 \fBlmhosts\fR(5) for details) 
-then any name type matches for lookup.
+(see the lmhosts(5)
+for details) then any name type matches for lookup.
 .TP 0.2i
 \(bu
-host: 
+host 
 Do a standard host name to IP address resolution, using
 the system \fI/etc/hosts\fR, 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 \fI/etc/nsswitch.conf\fR file).  Note that this method is only used 
+may be controlled by the \fI/etc/nsswitch.conf
+\fR 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.
 .TP 0.2i
 \(bu
-wins: 
+wins 
 Query a name with the IP address listed in the 
 \fIwins server\fR parameter.  If no 
 WINS server has been specified this method will be 
 ignored.
 .TP 0.2i
 \(bu
-bcast: 
+bcast 
 Do a broadcast on each of the known local interfaces 
 listed in the \fIinterfaces\fR
 parameter. This is the least reliable of the name 
@@ -116,12 +84,30 @@ being on a locally connected subnet.
 .RE
 
 If this parameter is not set then the name resolve order 
-defined in the \fBsmb.conf\fR(5) file parameter  
-(\fIname resolve order\fR) will be used. 
+defined in the \fIsmb.conf\fR file parameter  
+(name resolve order) will be used. 
 
 The default order is lmhosts, host, wins, bcast. Without 
-this parameter or any entry in the \fIname resolve order\fR parameter of the \fBsmb.conf\fR(5) file, the name resolution methods 
-will be attempted in this order. 
+this parameter or any entry in the \fIname resolve order
+\fR parameter of the \fIsmb.conf\fR 
+file, the name resolution methods will be attempted in this 
+order. 
+.TP
+\fB-d <debug level>\fR
+debug level is an integer from 0 to 10.
+
+The default value if this parameter is not specified
+is zero.
+
+The higher this value, the more detail will be logged
+about the activities of \fBnmblookup\fR. At level
+0, only critical errors and serious warnings will be logged.
+.TP
+\fB-l logfilename\fR
+If specified causes all debug messages to be
+written to the file specified by \fIlogfilename
+\fR. If not specified then all messages will be 
+written to\fIstderr\fR.
 .TP
 \fB-L libdir\fR
 This parameter specifies the location of the 
@@ -132,11 +118,13 @@ value is specified at compile time.
 To use the \fBsmbsh\fR command, execute \fB smbsh\fR from the prompt and enter the username and password 
 that authenticates you to the machine running the Windows NT 
 operating system.
+.PP
 
 .nf
-system% \fBsmbsh\fR
-Username: \fBuser\fR
-Password: \fBXXXXXXX\fR
+       system% \fBsmbsh\fR
+       Username: \fBuser\fR
+       Password: \fBXXXXXXX\fR
+       
 .fi
 .PP
 Any dynamically linked command you execute from 
@@ -150,7 +138,8 @@ names for that machine. You could then, for example, use the \fB cd\fR command t
 edit files, and \fBrcp\fR  to copy files.
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 3.0 of 
+the Samba suite.
 .SH "BUGS"
 .PP
 \fBsmbsh\fR works by intercepting the standard 
@@ -164,7 +153,8 @@ of UNIX have a \fBfile\fR command that will
 describe how a program was linked.
 .SH "SEE ALSO"
 .PP
-\fBsmbd\fR(8), \fBsmb.conf\fR(5)
+\fBsmbd(8)\fR 
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -174,7 +164,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 8cfa1b26719a2e36673b58fc95afe66ccd4e59b5..835494b53470b08318580da6e381d9a9901c08c7 100644 (file)
@@ -3,17 +3,16 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBSPOOL" "8" "03 april 2003" "" ""
-
+.TH "SMBSPOOL" "8" "04 March 2003" "" ""
 .SH NAME
 smbspool \- send a print file to an SMB printer
 .SH SYNOPSIS
 
-\fBsmbspool\fR \fBjob\fR \fBuser\fR \fBtitle\fR \fBcopies\fR \fBoptions\fR [ \fBfilename\fR ]
+\fBsmbspool\fR [ \fBjob\fR ] [ \fBuser\fR ] [ \fBtitle\fR ] [ \fBcopies\fR ] [ \fBoptions\fR ] [ \fBfilename\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 smbspool is a very small print spooling program that 
 sends a print file to an SMB printer. The command-line arguments 
@@ -78,10 +77,12 @@ name of the file to print. If this argument is not specified
 then the print file is read from the standard input.
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 2.2 of 
+the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbd\fR(8) and \fBSamba\fR(7).
+\fBsmbd(8)\fR 
+and samba(7)
 .SH "AUTHOR"
 .PP
 \fBsmbspool\fR was written by Michael Sweet 
@@ -94,7 +95,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 133de67ab69e0a71e8b9b12ac7ebcae6c7bc86ab..9fb96f1c43264f94e40bee47c848207a807d74d6 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBSTATUS" "1" "03 april 2003" "" ""
-
+.TH "SMBSTATUS" "1" "04 March 2003" "" ""
 .SH NAME
 smbstatus \- report on current Samba connections
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ smbstatus \- report on current Samba connections
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBsmbstatus\fR is a very simple program to 
 list the current Samba connections.
@@ -27,46 +26,8 @@ shared memory area.
 \fB-b|--brief\fR
 gives brief output.
 .TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
-
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
-
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
-
-Note that specifying this parameter here will 
-override the log
-level file.
-.TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\fB-d|--debug=<debuglevel>\fR
+sets debugging to specified level
 .TP
 \fB-v|--verbose\fR
 gives verbose output.
@@ -78,14 +39,17 @@ causes smbstatus to only list locks.
 causes smbstatus to include byte range locks.
 .TP
 \fB-p|--processes\fR
-print a list of \fBsmbd\fR(8) processes and exit. 
+print a list of   \fBsmbd(8)\fR processes and exit. 
 Useful for scripting.
 .TP
 \fB-S|--shares\fR
 causes smbstatus to only list shares.
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
+\fB-s|--conf=<configuration file>\fR
+The default configuration file name is
+determined at compile time. The file specified contains the
+configuration details required by the server. See \fIsmb.conf(5)\fR
+ for more information.
 .TP
 \fB-u|--user=<username>\fR
 selects information relevant to 
@@ -96,7 +60,8 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbd\fR(8) and \fBsmb.conf\fR(5).
+\fBsmbd(8)\fR and
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -106,7 +71,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index e15af72b650ab2b9f17aca56c67f621e4c0f604a..4ed25bbc75682936aa09040407509f3abea42acc 100644 (file)
@@ -3,20 +3,20 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBTAR" "1" "03 april 2003" "" ""
-
+.TH "SMBTAR" "1" "04 March 2003" "" ""
 .SH NAME
 smbtar \- shell script for backing up SMB/CIFS shares  directly to UNIX tape drives
 .SH SYNOPSIS
 
-\fBsmbtar\fR [ \fB-r\fR ] [ \fB-i\fR ] [ \fB-a\fR ] [ \fB-v\fR ] \fB-s server\fR [ \fB-p password\fR ] [ \fB-x services\fR ] [ \fB-X\fR ] [ \fB-N filename\fR ] [ \fB-b blocksize\fR ] [ \fB-d directory\fR ] [ \fB-l loglevel\fR ] [ \fB-u user\fR ] [ \fB-t tape\fR ] \fBfilenames\fR
+\fBsmbtar\fR \fB-s server\fR [ \fB-p password\fR ] [ \fB-x services\fR ] [ \fB-X\fR ] [ \fB-d directory\fR ] [ \fB-u user\fR ] [ \fB-t tape\fR ] [ \fB-t tape\fR ] [ \fB-b blocksize\fR ] [ \fB-N filename\fR ] [ \fB-i\fR ] [ \fB-r\fR ] [ \fB-l loglevel\fR ] [ \fB-v\fR ] \fBfilenames\fR
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBsmbtar\fR is a very small shell script on top 
-of \fBsmbclient\fR(1) which dumps SMB shares directly to tape.
+of \fBsmbclient(1)\fR 
+which dumps SMB shares directly to tape. 
 .SH "OPTIONS"
 .TP
 \fB-s server\fR
@@ -46,10 +46,6 @@ Default: none
 The user id to connect as. Default: 
 UNIX login name. 
 .TP
-\fB-a\fR
-Reset DOS archive bit mode to 
-indicate file has been archived. 
-.TP
 \fB-t tape\fR
 Tape device. May be regular file or tape 
 device. Default: \fI$TAPE\fR environmental 
@@ -76,7 +72,8 @@ from the tar file.
 .TP
 \fB-l log level\fR
 Log (debug) level. Corresponds to the 
-\fI-d\fR flag of \fBsmbclient\fR(1).
+\fI-d\fR flag of \fBsmbclient(1)
+\fR. 
 .SH "ENVIRONMENT VARIABLES"
 .PP
 The \fI$TAPE\fR variable specifies the 
@@ -94,14 +91,18 @@ on entire shares; should work on file lists. smbtar works best
 with GNU tar and may not work well with other versions. 
 .SH "DIAGNOSTICS"
 .PP
-See the \fBDIAGNOSTICS\fR section for the \fBsmbclient\fR(1) command.
+See the \fBDIAGNOSTICS\fR section for the 
+\fBsmbclient(1)\fR 
+ command.
 .SH "VERSION"
 .PP
 This man page is correct for version 3.0 of 
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmbd\fR(8), \fBsmbclient\fR(1), \fBsmb.conf\fR(5).
+\fBsmbd(8)\fR 
+\fBsmbclient(1)\fR 
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -114,7 +115,7 @@ wrote the tar extension and this man page. The \fBsmbtar\fR
 script was heavily rewritten and improved by Martin Kraemer <URL:mailto:Martin.Kraemer@mch.sni.de>. 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter.
index 6a2f04cfd5980fea1fbc0c0bf9694fd728ba5de4..4c3688d63fcc2ed9abfe68870c10619cfb785625 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SMBUMOUNT" "8" "03 april 2003" "" ""
-
+.TH "SMBUMOUNT" "8" "04 March 2003" "" ""
 .SH NAME
 smbumount \- smbfs umount for normal users
 .SH SYNOPSIS
@@ -27,7 +26,8 @@ to make umount setuid root.
 The directory to unmount.
 .SH "SEE ALSO"
 .PP
-\fBsmbmount\fR(8)
+\fBsmbmount(8)\fR
+
 .SH "AUTHOR"
 .PP
 Volker Lendecke, Andrew Tridgell, Michael H. Warfield 
@@ -40,5 +40,4 @@ The SAMBA Mailing list <URL:mailto:samba@samba.org>
 is the preferred place to ask questions regarding these programs.
 .PP
 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.
+by Gerald Carter
index 47ad346fd7b88c42725a9a265c36d567f87e9dcd..6466a0a79d5968b0768cee92e71afeedccd24820 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "SWAT" "8" "03 april 2003" "" ""
-
+.TH "SWAT" "8" "04 March 2003" "" ""
 .SH NAME
 swat \- Samba Web Administration Tool
 .SH SYNOPSIS
@@ -13,10 +12,10 @@ swat \- Samba Web Administration Tool
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBswat\fR allows a Samba administrator to 
-configure the complex \fBsmb.conf\fR(5) file via a Web browser. In addition, 
+configure the complex \fI smb.conf(5)\fR file via a Web browser. In addition, 
 a \fBswat\fR configuration page has help links 
 to all the configurable options in the \fIsmb.conf\fR file allowing an 
 administrator to easily look up the effects of any change. 
@@ -27,8 +26,8 @@ administrator to easily look up the effects of any change.
 \fB-s smb configuration file\fR
 The default configuration file path is 
 determined at compile time.  The file specified contains 
-the configuration details required by the \fBsmbd\fR(8) server. This is the file 
-that \fBswat\fR will modify. 
+the configuration details required by the \fBsmbd
+\fR server. This is the file that \fBswat\fR 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.
@@ -41,57 +40,8 @@ the \fIsmb.conf\fR file.
 
 \fBWARNING: Do NOT enable this option on a production 
 server. \fR
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
-
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
-
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
-
-Note that specifying this parameter here will 
-override the log
-level file.
-.TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
 .SH "INSTALLATION"
 .PP
-Swat is included as binary package with most distributions. The 
-package manager in this case takes care of the installation and 
-configuration. This section is only for those who have compiled 
-swat from scratch.
-.PP
 After you compile SWAT you need to run \fBmake install
 \fR to install the \fBswat\fR binary
 and the various help files and images. A default install would put 
@@ -116,7 +66,7 @@ add a line like this:
 .PP
 \fBswat            901/tcp\fR
 .PP
-Note for NIS/YP and LDAP users - you may need to rebuild the 
+Note for NIS/YP users - you may need to rebuild the 
 NIS service maps rather than alter your local \fI  /etc/services\fR file. 
 .PP
 the choice of port number isn't really important 
@@ -135,7 +85,7 @@ One you have edited \fI/etc/services\fR
 and \fI/etc/inetd.conf\fR you need to send a 
 HUP signal to inetd. To do this use \fBkill -1 PID
 \fR where PID is the process ID of the inetd daemon. 
-.SH "LAUNCHING"
+.SS "LAUNCHING"
 .PP
 To launch SWAT just run your favorite web browser and 
 point it at "http://localhost:901/".
@@ -156,21 +106,26 @@ This file must contain a mapping of service name
 (e.g., tcp).  
 .TP
 \fB\fI/usr/local/samba/lib/smb.conf\fB\fR
-This is the default location of the \fBsmb.conf\fR(5) server configuration file that swat edits. Other 
+This is the default location of the \fIsmb.conf(5)
+\fR server configuration file that swat edits. Other 
 common places that systems install this file are \fI  /usr/samba/lib/smb.conf\fR and \fI/etc/smb.conf
 \fR.  This file describes all the services the server 
 is to make available to clients. 
 .SH "WARNINGS"
 .PP
-\fBswat\fR will rewrite your \fBsmb.conf\fR(5) file. It will rearrange the entries and delete all 
+\fBswat\fR will rewrite your \fIsmb.conf
+\fR file. It will rearrange the entries and delete all 
 comments, \fIinclude=\fR and \fIcopy=
 \fR options. If you have a carefully crafted \fI smb.conf\fR then back it up or don't use swat! 
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of the Samba suite.
+This man page is correct for version 2.2 of 
+the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBinetd(5)\fR, \fBsmbd\fR(8), \fBsmb.conf\fR(5)
+\fBinetd(5)\fR,
+\fBsmbd(8)\fR 
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -180,7 +135,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index e9ecd565c9e26a48a322098d7a9c846d8aff42fe..c459eeea70e200d4f76c62ece85650111fb9e928 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "TESTPARM" "1" "03 april 2003" "" ""
-
+.TH "TESTPARM" "1" "04 March 2003" "" ""
 .SH NAME
 testparm \- check an smb.conf configuration file for  internal correctness
 .SH SYNOPSIS
@@ -13,10 +12,10 @@ testparm \- check an smb.conf configuration file for  internal correctness
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBtestparm\fR is a very simple test program 
-to check an \fBsmbd\fR(8) configuration file for 
+to check an \fBsmbd\fR configuration file for 
 internal correctness. If this program reports no problems, you 
 can use the configuration file with confidence that \fBsmbd
 \fR will successfully load the configuration file.
@@ -40,12 +39,8 @@ Without this option, \fBtestparm\fR
 will prompt for a carriage return after printing the service 
 names and before dumping the service definitions.
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
+\fB-h\fR
+Print usage message 
 .TP
 \fB-L servername\fR
 Sets the value of the %L macro to \fIservername\fR.
@@ -54,7 +49,9 @@ This is useful for testing include files specified with the
 .TP
 \fB-v\fR
 If this option is specified, testparm 
-will also output all options that were not used in \fBsmb.conf\fR(5) and are thus set to their defaults.
+will also output all options that were not used in 
+\fIsmb.conf\fR and are thus set to
+their defaults.
 .TP
 \fB-t encoding\fR
 Output data in specified encoding.
@@ -62,13 +59,13 @@ Output data in specified encoding.
 \fBconfigfilename\fR
 This is the name of the configuration file 
 to check. If this parameter is not present then the 
-default \fBsmb.conf\fR(5) file will be checked.  
+default \fIsmb.conf\fR file will be checked.  
 .TP
 \fBhostname\fR
 If this parameter and the following are 
 specified, then \fBtestparm\fR will examine the \fIhosts
 allow\fR and \fIhosts deny\fR 
-parameters in the \fBsmb.conf\fR(5) file to 
+parameters in the \fIsmb.conf\fR file to 
 determine if the hostname with this IP address would be
 allowed access to the \fBsmbd\fR server.  If 
 this parameter is supplied, the hostIP parameter must also
@@ -80,9 +77,9 @@ in the previous parameter.  This address must be supplied
 if the hostname parameter is supplied. 
 .SH "FILES"
 .TP
-\fBsmb.conf(5)\fR
+\fB\fIsmb.conf\fB\fR
 This is usually the name of the configuration 
-file used by \fBsmbd\fR(8)
+file used by \fBsmbd\fR. 
 .SH "DIAGNOSTICS"
 .PP
 The program will issue a message saying whether the 
@@ -96,7 +93,8 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBsmb.conf\fR(5), \fBsmbd\fR(8)
+\fIsmb.conf(5)\fR 
+\fBsmbd(8)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -106,7 +104,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 5779d71b195230fe42ee69b82f6030b69971ce0c..f70b383f9d1ce55c8aece0525944311379c2132e 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "TESTPRNS" "1" "03 april 2003" "" ""
-
+.TH "TESTPRNS" "1" "04 March 2003" "" ""
 .SH NAME
 testprns \- check printer name for validity with smbd
 .SH SYNOPSIS
@@ -13,11 +12,11 @@ testprns \- check printer name for validity with smbd
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBtestprns\fR is a very simple test program 
 to determine whether a given printer name is valid for use in 
-a service to be provided by \fBsmbd\fR(8).
+a service to be provided by \fB smbd(8)\fR 
 .PP
 "Valid" in this context means "can be found in the 
 printcap specified". This program is very stupid - so stupid in 
@@ -35,7 +34,8 @@ Note that no validation or checking of the printcap syntax is
 done beyond that required to extract the printer name. It may
 be that the print spooling system is more forgiving or less 
 forgiving than \fBtestprns\fR. However, if 
-\fBtestprns\fR finds the printer then \fBsmbd\fR(8) should do so as well. 
+\fBtestprns\fR finds the printer then 
+\fBsmbd\fR should do so as well. 
 .TP
 \fBprintcapname\fR
 This is the name of the printcap file within
@@ -69,12 +69,13 @@ for errors and warnings.
 Other messages are self-explanatory. 
 .SH "VERSION"
 .PP
-This man page is correct for version 3.0 of 
+This man page is correct for version 2.2 of 
 the Samba suite.
 .SH "SEE ALSO"
 .PP
 \fIprintcap(5)\fR, 
-\fBsmbd\fR(8), \fBsmbclient\fR(1)
+\fBsmbd(8)\fR 
+\fBsmbclient(1)\fR
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -84,7 +85,7 @@ to the way the Linux kernel is developed.
 .PP
 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  ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the Samba 2.0 
+excellent piece of Open Source software, available at
+ftp://ftp.icce.rug.nl/pub/unix/ <URL:ftp://ftp.icce.rug.nl/pub/unix/>) 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.
+Samba 2.2 was done by Gerald Carter
index 71e07c58e6c1db9e6aab60dcd7743f128118722e..9877e2e461ae25ebe9ab5b03e233bfac1c1f8897 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "VFSTEST" "1" "03 april 2003" "" ""
-
+.TH "VFSTEST" "1" "04 March 2003" "" ""
 .SH NAME
 vfstest \- tool for testing samba VFS modules
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ vfstest \- tool for testing samba VFS modules
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 \fBvfstest\fR is a small command line
 utility that has the ability to test dso samba VFS modules. It gives the
@@ -25,28 +24,6 @@ supports cascaded VFS modules.
 Execute the specified (colon-separated) commands.
 See below for the commands that are available.
 .TP
-\fB-h|--help\fR
-Print a summary of command line options.
-.TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-\&'.client' will be appended. The log file is never removed
-by the client.
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
 \fB-d|--debug=debuglevel\fR
 \fIdebuglevel\fR is an integer 
 from 0 to 10.  The default value if this parameter is 
@@ -69,10 +46,13 @@ Note that specifying this parameter here will
 override the log
 level file.
 .TP
+\fB-h|--help\fR
+Print a summary of command line options.
+.TP
 \fB-l|--logfile=logbasename\fR
 File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
+\&'.client' will be appended. The log file is never removed
+by the client.
 .SH "COMMANDS"
 .PP
 \fBVFS COMMANDS\fR
index 5c4392e80e464d1fc6f48062fef149679cd266f0..3cc35e494d72fc5eca79880f25916dd5d28f0778 100644 (file)
@@ -3,61 +3,62 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WBINFO" "1" "03 april 2003" "" ""
-
+.TH "WBINFO" "1" "04 March 2003" "" ""
 .SH NAME
 wbinfo \- Query information from winbind daemon
 .SH SYNOPSIS
 
-\fBwbinfo\fR [ \fB-u\fR ] [ \fB-g\fR ] [ \fB-N netbios-name\fR ] [ \fB-I ip\fR ] [ \fB-n name\fR ] [ \fB-s sid\fR ] [ \fB-U uid\fR ] [ \fB-G gid\fR ] [ \fB-S sid\fR ] [ \fB-Y sid\fR ] [ \fB-t\fR ] [ \fB-m\fR ] [ \fB--sequence\fR ] [ \fB-r user\fR ] [ \fB-a user%password\fR ] [ \fB-A user%password\fR ] [ \fB--get-auth-user\fR ] [ \fB-p\fR ]
+\fBwbinfo\fR [ \fB-u\fR ] [ \fB-g\fR ] [ \fB-i ip\fR ] [ \fB-N netbios-name\fR ] [ \fB-n name\fR ] [ \fB-s sid\fR ] [ \fB-U uid\fR ] [ \fB-G gid\fR ] [ \fB-S sid\fR ] [ \fB-Y sid\fR ] [ \fB-t\fR ] [ \fB-m\fR ] [ \fB-r user\fR ] [ \fB-a user%password\fR ] [ \fB-A user%password\fR ] [ \fB-p\fR ]
 
 .SH "DESCRIPTION"
 .PP
-This tool is part of the \fBSamba\fR(7) suite.
+This tool is part of the  Samba suite.
 .PP
 The \fBwbinfo\fR program queries and returns information 
-created and used by the \fBwinbindd\fR(8) daemon. 
+created and used by the \fB winbindd(8)\fR daemon. 
 .PP
-The \fBwinbindd\fR(8) daemon must be configured 
+The \fBwinbindd(8)\fR daemon must be configured 
 and running for the \fBwbinfo\fR program to be able 
 to return information.
 .SH "OPTIONS"
 .TP
 \fB-u\fR
 This option will list all users available 
-in the Windows NT domain for which the \fBwinbindd\fR(8) daemon is operating in. Users in all trusted domains 
+in the Windows NT domain for which the \fBwinbindd(8)
+\fR 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 \fBwinbindd\fR(8)
-\&.
+user ids to any users that have not already been seen by 
+\fBwinbindd(8)\fR.
 .TP
 \fB-g\fR
 This option will list all groups available 
-in the Windows NT domain for which the \fBSamba\fR(7) daemon is operating in. Groups in all trusted domains
+in the Windows NT domain for which the \fBwinbindd(8)
+\fR 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 \fBwinbindd\fR(8)
+group ids to any groups that have not already been seen by
+\fBwinbindd(8)\fR
 .TP
 \fB-N name\fR
 The \fI-N\fR option 
-queries \fBwinbindd\fR(8) to query the WINS
+queries \fBwinbindd(8)\fR to query the WINS
 server for the IP address associated with the NetBIOS name
 specified by the \fIname\fR parameter.
 .TP
 \fB-I ip\fR
 The \fI-I\fR option 
-queries \fBwinbindd\fR(8) to send a node status
+queries \fBwinbindd(8)\fR to send a node status
 request to get the NetBIOS name associated with the IP address
 specified by the \fIip\fR parameter.
 .TP
 \fB-n name\fR
 The \fI-n\fR option 
-queries \fBwinbindd\fR(8) for the SID   
+queries \fBwinbindd(8)\fR 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 \fBsmb.conf\fR(5) \fIworkgroup
-\fR parameter. 
+domain used is the one specified in the \fIsmb.conf\fR
+\fIworkgroup\fR parameter. 
 .TP
 \fB-s sid\fR
 Use \fI-s\fR to resolve
@@ -78,12 +79,11 @@ the winbind gid range then the operation will fail.
 .TP
 \fB-S sid\fR
 Convert a SID to a UNIX user id.  If the SID 
-does not correspond to a UNIX user mapped by \fBwinbindd\fR(8) then the operation will fail. 
+does not correspond to a UNIX user mapped by \fB  winbindd(8)\fR then the operation will fail. 
 .TP
 \fB-Y sid\fR
 Convert a SID to a UNIX group id.  If the SID 
-does not correspond to a UNIX group mapped by \fBwinbindd\fR(8) then 
-the operation will fail. 
+does not correspond to a UNIX group mapped by \fB  winbindd(8)\fR then the operation will fail. 
 .TP
 \fB-t\fR
 Verify that the workstation trust account 
@@ -92,14 +92,10 @@ domain is working.
 .TP
 \fB-m\fR
 Produce a list of domains trusted by the 
-Windows NT server \fBwinbindd\fR(8) contacts 
+Windows NT server \fBwinbindd(8)\fR contacts 
 when resolving names.  This list does not include the Windows 
 NT domain the server is a Primary Domain Controller for.
 .TP
-\fB--sequence\fR
-Show sequence numbers of 
-all known domains
-.TP
 \fB-r username\fR
 Try to obtain the list of UNIX group ids
 to which the user belongs.  This only works for users
@@ -115,27 +111,11 @@ during session setup to a domain controller.  This enables
 winbindd to operate in a Windows 2000 domain with Restrict
 Anonymous turned on (a.k.a. Permissions compatiable with
 Windows 2000 servers only).
-.TP
-\fB--get-auth-user\fR
-Print username and password used by winbindd
-during session setup to a domain controller. Username 
-and password can be set using '-A'. Only available for 
-root.
-.TP
-\fB-p\fR
-Check whether winbindd is still alive. 
-Prints out either 'succeeded' or 'failed'.
-.TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
 .SH "EXIT STATUS"
 .PP
 The wbinfo program returns 0 if the operation 
-succeeded, or 1 if the operation failed.  If the \fBwinbindd\fR(8) daemon is not working \fBwbinfo\fR will always return 
+succeeded, or 1 if the operation failed.  If the \fBwinbindd(8)
+\fR daemon is not working \fBwbinfo\fR will always return 
 failure. 
 .SH "VERSION"
 .PP
@@ -143,7 +123,8 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fBwinbindd\fR(8)
+\fBwinbindd(8)\fR
+
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -155,5 +136,4 @@ to the way the Linux kernel is developed.
 were written by Tim Potter.
 .PP
 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.
+by Gerald Carter
index bccc5e04cd40a51f6da094cfa7edc9212aa027cb..696de8537b18f513821b746014e2cc149b49bd85 100644 (file)
@@ -3,8 +3,7 @@
 .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
 .\" Please send any bug reports, improvements, comments, patches, 
 .\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "WINBINDD" "8" "03 april 2003" "" ""
-
+.TH "WINBINDD" "8" "04 March 2003" "" ""
 .SH NAME
 winbindd \- Name Service Switch daemon for resolving names  from NT servers
 .SH SYNOPSIS
@@ -13,7 +12,7 @@ winbindd \- Name Service Switch daemon for resolving names  from NT servers
 
 .SH "DESCRIPTION"
 .PP
-This program is part of the \fBSamba\fR(7) suite.
+This program is part of the  Samba suite.
 .PP
 \fBwinbindd\fR is a daemon that provides 
 a service for the Name Service Switch capability that is present 
@@ -60,11 +59,13 @@ For example, the following simple configuration in the
 \fI/etc/nsswitch.conf\fR file can be used to initially 
 resolve user and group information from \fI/etc/passwd
 \fR and \fI/etc/group\fR and then from the 
-Windows NT server.
+Windows NT server. 
+.PP
 
 .nf
 passwd:         files winbind
 group:          files winbind
+       
 .fi
 .PP
 The following simple configuration in the
@@ -90,49 +91,11 @@ If specified, this parameter causes
 \fBwinbindd\fR to log to standard output rather
 than a file.
 .TP
-\fB-V\fR
-Prints the version number for 
-\fBsmbd\fR.
-.TP
-\fB-s <configuration file>\fR
-The file specified contains the 
-configuration details required by the server.  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. See \fIsmb.conf(5)\fR for more information.
-The default configuration file name is determined at 
-compile time.
-.TP
-\fB-d|--debug=debuglevel\fR
-\fIdebuglevel\fR is an integer 
-from 0 to 10.  The default value if this parameter is 
-not specified is zero.
-
-The higher this value, the more detail will be 
-logged to the log files about the activities of the 
-server. At level 0, only critical errors and serious 
-warnings will be logged. Level 1 is a reasonable level for
-day to day running - it generates a small amount of 
-information about operations carried out.
-
-Levels above 1 will generate considerable 
-amounts of log data, and should only be used when 
-investigating a problem. Levels above 3 are designed for 
-use only by developers and generate HUGE amounts of log
-data, most of which is extremely cryptic.
-
-Note that specifying this parameter here will 
-override the log
-level file.
-.TP
-\fB-l|--logfile=logbasename\fR
-File name for log/debug files. The extension
-".client" will be appended. The log file is
-never removed by the client.
-.TP
-\fB-h|--help\fR
-Print a summary of command line options.
+\fB-d debuglevel\fR
+Sets the debuglevel to an integer between 
+0 and 100. 0 is for no debugging and 100 is for reams and 
+reams. To submit a bug report to the Samba Team, use debug 
+level 100 (see BUGS.txt).   
 .TP
 \fB-i\fR
 Tells \fBwinbindd\fR to not 
@@ -155,7 +118,11 @@ Dual daemon mode. This means winbindd will run
 as 2 threads. The first will answer all requests from the cache, 
 thus making responses to clients faster. The other will 
 update the cache for the query that the first has just responded. 
-Advantage of this is that responses stay accurate and are faster.
+Advantage of this is that responses are accurate and fast.
+.TP
+\fB-s|--conf=smb.conf\fR
+Specifies the location of the all-important
+\fIsmb.conf\fR file. 
 .SH "NAME AND ID RESOLUTION"
 .PP
 Users and groups on a Windows NT server are assigned 
@@ -180,7 +147,8 @@ and group rids.
 .SH "CONFIGURATION"
 .PP
 Configuration of the \fBwinbindd\fR daemon 
-is done through configuration parameters in the \fBsmb.conf\fR(5) file.  All parameters should be specified in the 
+is done through configuration parameters in the \fIsmb.conf(5)
+\fR file.  All parameters should be specified in the 
 [global] section of smb.conf. 
 .TP 0.2i
 \(bu
@@ -217,23 +185,28 @@ following setup. This was tested on a RedHat 6.2 Linux box.
 .PP
 In \fI/etc/nsswitch.conf\fR put the 
 following:
+.PP
 
 .nf
 passwd:     files winbind
 group:      files winbind
+       
 .fi
 .PP
-In \fI/etc/pam.d/*\fR replace the \fI auth\fR lines with something like this:
+In \fI/etc/pam.d/*\fR replace the 
+\fIauth\fR lines with something like this: 
+.PP
 
 .nf
 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
+       
 .fi
 .PP
-Note in particular the use of the \fIsufficient
-\fR keyword and the \fIuse_first_pass\fR keyword. 
+Note in particular the use of the \fIsufficient\fR 
+keyword and the \fIuse_first_pass\fR keyword. 
 .PP
 Now replace the account lines with this: 
 .PP
@@ -241,24 +214,27 @@ Now replace the account lines with this:
 \fR
 .PP
 The next step is to join the domain. To do that use the 
-\fBnet\fR program like this:  
+\fBsmbpasswd\fR program like this:  
 .PP
-\fBnet join -S PDC -U Administrator\fR
+\fBsmbpasswd -j DOMAIN -r PDC -U
+Administrator\fR
 .PP
 The username after the \fI-U\fR can be any
 Domain user that has administrator privileges on the machine.
-Substitute the name or IP of your PDC for "PDC".
+Substitute your domain name for "DOMAIN" and the name of your PDC
+for "PDC".
 .PP
 Next copy \fIlibnss_winbind.so\fR to 
-\fI/lib\fR and \fIpam_winbind.so
-\fR to \fI/lib/security\fR.  A symbolic link needs to be
+\fI/lib\fR and \fIpam_winbind.so\fR
+to \fI/lib/security\fR.  A symbolic link needs to be
 made from \fI/lib/libnss_winbind.so\fR to
 \fI/lib/libnss_winbind.so.2\fR.  If you are using an
 older version of glibc then the target of the link should be
 \fI/lib/libnss_winbind.so.1\fR.
 .PP
-Finally, setup a \fBsmb.conf\fR(5) containing directives like the 
-following:
+Finally, setup a \fIsmb.conf\fR containing directives like the 
+following:  
+.PP
 
 .nf
 [global]
@@ -271,6 +247,7 @@ following:
         workgroup = DOMAIN
         security = domain
         password server = *
+       
 .fi
 .PP
 Now start winbindd and you should find that your user and 
@@ -284,12 +261,17 @@ commands \fBgetent passwd\fR and \fBgetent group
 The following notes are useful when configuring and 
 running \fBwinbindd\fR: 
 .PP
-\fBnmbd\fR(8) must be running on the local machine 
-for \fBwinbindd\fR to work. \fBwinbindd\fR queries
-the list of trusted domains for the Windows NT server
+\fBnmbd\fR must be running on the local machine 
+for \fBwinbindd\fR to work. \fBwinbindd\fR
+queries the list of trusted domains for the Windows NT server
 on startup and when a SIGHUP is received.  Thus, for a running \fB winbindd\fR to become aware of new trust relationships between 
 servers, it must be sent a SIGHUP signal. 
 .PP
+Client processes resolving names through the \fBwinbindd\fR
+nsswitch module read an environment variable named \fB $WINBINDD_DOMAIN\fR.  If this variable contains a comma separated
+list of Windows NT domain names, then winbindd will only resolve users
+and groups within those Windows NT domains. 
+.PP
 PAM is really easy to misconfigure.  Make sure you know what 
 you are doing when modifying PAM configuration files.  It is possible 
 to set up PAM such that you can no longer log into your system. 
@@ -307,8 +289,8 @@ The following signals can be used to manipulate the
 \fBwinbindd\fR daemon. 
 .TP
 \fBSIGHUP\fR
-Reload the \fBsmb.conf\fR(5) file and 
-apply any parameter changes to the running 
+Reload the \fIsmb.conf(5)\fR
+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.  
@@ -333,19 +315,6 @@ if both the \fI/tmp/.winbindd\fR directory
 and \fI/tmp/.winbindd/pipe\fR file are owned by 
 root. 
 .TP
-\fB$LOCKDIR/winbindd_privilaged/pipe\fR
-The UNIX pipe over which 'privilaged' clients 
-communicate with the \fBwinbindd\fR program.  For security 
-reasons, access to some winbindd functions - like those needed by 
-the \fBntlm_auth\fR utility - is restricted.  By default,
-only users in the 'root' group will get this access, however the administrator
-may change the group permissions on $LOCKDIR/winbindd_privilaged to allow
-programs like 'squid' to use ntlm_auth.
-Note that the winbind client will only attempt to connect to the winbindd daemon 
-if both the \fI$LOCKDIR/winbindd_privilaged\fR directory
-and \fI$LOCKDIR/winbindd_privilaged/pipe\fR file are owned by 
-root. 
-.TP
 \fB/lib/libnss_winbind.so.X\fR
 Implementation of name service switch library.
 .TP
@@ -364,7 +333,10 @@ This man page is correct for version 3.0 of
 the Samba suite.
 .SH "SEE ALSO"
 .PP
-\fInsswitch.conf(5)\fR, \fBSamba\fR(7), \fBwbinfo\fR(8), \fBsmb.conf\fR(5)
+\fInsswitch.conf(5)\fR,
+samba(7)
+wbinfo(1)
+smb.conf(5)
 .SH "AUTHOR"
 .PP
 The original Samba software and related utilities 
@@ -372,9 +344,8 @@ were created by Andrew Tridgell. Samba is now developed
 by the Samba Team as an Open Source project similar 
 to the way the Linux kernel is developed.
 .PP
-\fBwbinfo\fR and \fBwinbindd\fR were 
-written by Tim Potter.
+\fBwbinfo\fR and \fBwinbindd\fR
+were written by Tim Potter.
 .PP
 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.
+by Gerald Carter
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/docs/textdocs/RoutedNetworks.txt b/docs/textdocs/RoutedNetworks.txt
new file mode 100644 (file)
index 0000000..fb55f9f
--- /dev/null
@@ -0,0 +1,63 @@
+#NOFNR Flag in LMHosts to Communicate Across Routers\r
+\r
+  Last reviewed: May 5, 1997 \r
+  Article ID: Q103765 \r
+  The information in this article applies to: \r
+\r
+       Microsoft Windows NT operating system version 3.1 \r
+       Microsoft Windows NT Advanced Server version 3.1 \r
+\r
+  SUMMARY\r
+\r
+  Some of the LAN Manager for UNIX and Pathworks servers may have\r
+problems in communicating across routers with\r
+  Windows NT workstations. The use of #NOFNR flag in the LMHosts\r
+file solves the problem. \r
+\r
+  MORE INFORMATION\r
+\r
+  When you are communicating with a server across a router in a IP\r
+routed environment, the LMHosts file is used to\r
+  resolve Workstation name-to-IP address mapping. The LMHosts\r
+entry for a remote machine name provides the IP\r
+  address for the remote machine. In Lan Manager 2.x, providing\r
+the LMHosts entry eliminates the need to do a Name\r
+  Query broadcast to the local domain and instead a TCP session is\r
+established with the remote machine. Windows NT\r
+  performs the same function in a different way. \r
+\r
+  When an LMHosts entry exists for a remote server, Windows NT\r
+will not send a Name Query broadcast to the local\r
+  subnet and instead send a directed Name Query to the remote\r
+server. If the remote server does not respond to the Name\r
+  Query, further communications (TCP SYN, and so on) will not take\r
+place. This was done to eliminate the performance\r
+  issues when trying to connect to a remote machine when it was\r
+not available (down). \r
+\r
+  Some of the older LAN Manager for UNIX and DEC Pathworks servers\r
+do not respond to directed Name Queries sent\r
+  by Windows NT. In that case, the users will see an error 53\r
+(Path not found), even though they have specified the\r
+  LMHosts entries correctly. A new LMHosts flag #NOFNR was added\r
+to solve this problem. By specifying the\r
+  #NOFNR flag on the same line where the name resolution\r
+information for the server is provided, the directed Name\r
+  Query can be avoided. For example: \r
+\r
+     130.20.1.1   mylmxserver   #PRE  #NOFNR\r
+\r
+\r
+  Note that this will only apply to mylmxserver and not to any\r
+other entries in the LMHosts file. To set\r
+  a global flag, an entry could be added in the registry. To\r
+completely remove any directed Name\r
+  Queries sent from a Windows NT machine, create the following\r
+value in\r
\r
+HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Nbt\Parameters: \r
+\r
+     NoDirectedFNR   REG_DWORD   1\r
+\r
+\r
+  This will cause the directed Name Queries to not go out for any\r
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 a4435564ecdfc1391befe8a73f7e9857ed41cdc4..e801e0b8479a443271c1f9a3c3212e7f6f2222a7 100644 (file)
@@ -167,11 +167,11 @@ objectclass ( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' SUP top AUXILIARY
 ##
 ## Used for Winbind experimentation
 ##
-objectclass ( 1.3.6.1.4.1.7165.1.2.2.3 NAME 'uidPool' SUP top AUXILIARY
-       DESC 'Pool for allocating UNIX uids'
-       MUST ( uidNumber $ cn ) )
+#objectclass ( 1.3.6.1.4.1.7165.1.2.2.3 NAME 'uidPool' SUP top AUXILIARY
+#      DESC 'Pool for allocating UNIX uids'
+#      MUST ( uidNumber $ cn ) )
 
-objectclass ( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' SUP top AUXILIARY
-       DESC 'Pool for allocating UNIX gids'
-       MUST ( gidNumber $ cn ) )
+#objectclass ( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' SUP top AUXILIARY
+#      DESC 'Pool for allocating UNIX gids'
+#      MUST ( gidNumber $ cn ) )
 
index 9af845a5eaba78355343f452647eb6333624a968..888a9c0d4f9e26fb23dced9088bc6eaf5e7be343 100644 (file)
@@ -103,7 +103,7 @@ int main(int argc, char *argv[])
 
     }
 
-    fprintf(stdout, "Directory handles: %u\n", dh1);
+    fprintf(stdout, "Directory handles: %u, %u, %u\n", dh1, dh2, dh3);
 
     /* Now, list those directories, but in funny ways ... */
 
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 ce6513779078ae9f4ba0093aa0af6a765a39f16f..1cf147f3f9f82eb48de5bbc1a5ff0c9226437c19 100644 (file)
@@ -1,7 +1,8 @@
-Copyright (C) 1997-1998 Samba-Team
+Copyright (C) 1997-2003 Samba-Team
 Date:          November 16, 1998
 Updates:       First Release - 19970819
                19981116
+               20030329
 ===============================================================================
 
 Note:
@@ -36,3 +37,10 @@ ability to keep the binary distribution itself current with the released source.
 
 The future of cooperatively developed software such as Samba depends on the
 willingness of all partners to share the fruit of their labours.
+
+If you have a compelling need for binary packages for your platform and it is
+not available from this packaging repository please notify jht@samba.org. We 
+can not guarrantee our ability to satisfy your need, but your feedback may help
+us to find a solution.
+
+- John T.
index 9d71452db8e2c5309eece10442b0c24cc845a354..3c4ff40ddc853575625241f06c3ef68f247cbd6c 100644 (file)
@@ -37,23 +37,19 @@ case $RPMVER in
     2*)
        echo Building for RPM v2.x
        sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
-       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
        ;;
     3*)
        echo Building for RPM v3.x
        sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2.spec > samba.spec
-       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba2-devel.spec > samba-devel.spec
        ;;
     4.1*)
        echo Building for RPM v4.1
        RPM="rpmbuild"
        sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
-       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
        ;;
     4*)
        echo Building for RPM v4.x
        sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2.spec > samba.spec
-       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba2-devel.spec > samba-devel.spec
        ;;
     *)
        echo "Unknown RPM version: `rpm --version`"
index 638df4f2cce90e733d4fddb37b2902ba573325d5..e50870fffc849e25d363614a5f00d1c4e03f7b4d 100644 (file)
@@ -26,6 +26,7 @@ Samba 3.0 also introduces UNICODE support and kerberos/ldap
 integration as a member server in a Windows 2000 domain.
 
 Please refer to the WHATSNEW.txt document for fixup information.
+docs directory for implementation details.
 
 %changelog
 * Mon Nov 18 2002 Gerald Carter <jerry@samba.org>
@@ -157,6 +158,7 @@ install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{prefix}/include/
 #done
 
 # Install the miscellany
+install -m755 swat/README $RPM_BUILD_ROOT%{prefix}/share/swat/README
 install -m755 packaging/RedHat/smbprint $RPM_BUILD_ROOT%{prefix}/bin
 install -m755 packaging/RedHat/smb.init $RPM_BUILD_ROOT/etc/rc.d/init.d/smb
 install -m755 packaging/RedHat/winbind.init $RPM_BUILD_ROOT/etc/rc.d/init.d/winbind
@@ -169,6 +171,9 @@ install -m644 packaging/RedHat/samba.pamd.stack $RPM_BUILD_ROOT/etc/samba/samba.
 install -m644 packaging/RedHat/samba.xinetd $RPM_BUILD_ROOT/etc/samba/samba.xinetd
 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT/etc/samba/lmhosts
 
+# Remove "*.old" files
+find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -407,6 +412,7 @@ fi
 %{prefix}/share/swat/lang/*/images/*
 %{prefix}/share/swat/lang/*/include/*.html
 %{prefix}/share/swat/using_samba/*
+%{prefix}/share/swat/README
 %config(noreplace) /etc/samba/lmhosts
 %config(noreplace) /etc/samba/smb.conf
 %config(noreplace) /etc/samba/smbusers
index d055be6c1a31ef25304c9bf106f4e9db637f3ce4..afcf5796776724e9e8768b45466d00c70f470158 100644 (file)
@@ -205,8 +205,17 @@ printer name to describe its location.</DD>
 of the <B>docs</B> directory from the Samba distribution; consult <I>samba</I>(7)
 for an introduction. </P>
 
-<P>There is a mailing list for discussion of Samba.  To subscribe and
-      for more information go to <a href="http://lists.samba.org/">lists.samba.org</a>.
+<P>There is a mailing list for discussion of Samba. To subscribe send mail
+to <A HREF="mailto:listproc@samba.org">listproc@samba.org</A>
+with a body of &quot;subscribe samba Your Name&quot; </P>
+
+<P>To send mail to everyone on the list mail to <A HREF="mailto:samba@samba.org">samba@samba.org</A>.
+</P>
+
+<P>There is also an announcement mailing list where new versions are announced.
+To subscribe send mail to <A HREF="mailto:listproc@samba.org">listproc@samba.org</A>
+with a body of &quot;subscribe samba-announce Your Name&quot;. All announcements
+also go to the samba list. </P>
 
 <P>You might also like to look at the Usenet news group <A HREF="news:comp.protocols.smb">comp.protocols.smb</A>
 as it often contains lots of useful info and is frequented by lots of Samba
@@ -214,10 +223,10 @@ users. The newsgroup was initially setup by people on the Samba mailing
 list. It is not, however, exclusive to Samba, it is a forum for discussing
 the SMB protocol (which Samba implements). </P>
 
-<P>
-      A Samba WWW site has been setup with lots of useful info. Connect to:
-      <A HREF="http://samba.org/">http://samba.org/</A>.  You can
-      contact the webmaster at "webmaster at samba dot org".
+<P>A Samba WWW site has been setup with lots of useful info. Connect to:
+<A HREF="http://samba.org/pub/samba/">http://samba.org/pub/samba/</A>.
+It is maintained by Paul Blackman (thanks Paul!). You can contact him at
+<A HREF="mailto:ictinus@lake.canberra.edu.au">ictinus@lake.canberra.edu.au</A>.
 </P>
 
 </BODY>
diff --git a/packaging/SuSE/7.1/samba-2.2.0-alpha0.dif b/packaging/SuSE/7.1/samba-2.2.0-alpha0.dif
deleted file mode 100644 (file)
index 75bfdf1..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
---- lmhosts
-+++ lmhosts    2000/08/28 07:32:33
-@@ -0,0 +1,8 @@
-+# This file provides the same function that the 
-+# lmhosts file does for Windows.
-+# It provides another way to map netbios names to ip addresses.
-+# See the section on 'name resolve order' in the manual page to
-+# smb.conf for more information.
-+
-+# Sample entry:
-+# 192.168.1.1 samba
---- mount.smbfs
-+++ mount.smbfs        2000/08/28 07:32:55
-@@ -0,0 +1,14 @@
-+#!/bin/sh
-+#
-+# Copyright (c) 1999 SuSE GmbH Nuernberg, Germany.  All rights reserved.
-+#
-+# Author: Carsten Hoeger <choeger@suse.de>
-+#
-+# /sbin/mount.smbfs
-+#
-+# I'm called by the mount-command and smbmount want's to get
-+# called by me, so lets do it.
-+#
-+# P.S.: This is a very very raw solution and I don't know, if this
-+# is intentionally.
-+smbmount "$@"
---- rc
-+++ rc 2000/08/28 07:32:33
-@@ -0,0 +1,53 @@
-+#! /bin/sh
-+# Copyright (c) 1996 StarDivision GmbH. All rights reserved.
-+# Copyright (c) 1996 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved.
-+#
-+# Author: Bastian Epting, StarDivision GmbH <be@stardivision.de>
-+#      Florian La Roche, <florian@suse.de>
-+#      Volker Lendecke, <vl@suse.de>
-+#
-+
-+. /etc/rc.config
-+
-+# Determine the base and follow a runlevel link name.
-+base=${0##*/}
-+link=${base#*[SK][0-9][0-9]}
-+
-+# Force execution if not called by a runlevel directory.
-+test $link = $base && START_SMB=yes
-+test "$START_SMB" = "yes" || exit 0
-+
-+# The echo return value for success (defined in /etc/rc.config).
-+return=$rc_done
-+case "$1" in
-+    start)
-+        echo -n "Starting SMB services:"
-+        startproc /usr/sbin/nmbd -D || return=$rc_failed
-+        startproc /usr/sbin/smbd -D || return=$rc_failed
-+        echo -e "$return"
-+        ;;
-+    stop)
-+        echo -n "Shutting down SMB services:"
-+        killproc -TERM /usr/sbin/nmbd || return=$rc_failed
-+        killproc -TERM /usr/sbin/smbd || return=$rc_failed
-+        echo -e "$return"
-+        ;;
-+    restart|reload)
-+      echo -n "Reloading SMB services:"
-+      killproc -HUP /usr/sbin/nmbd || return=$rc_failed
-+      killproc -HUP /usr/sbin/smbd || return=$rc_failed
-+      echo -e "$return"
-+      ;;
-+    status)
-+      echo -n "Checking for service smb: "
-+      checkproc /usr/sbin/nmbd && echo -n "OK " || echo -n "No process "
-+      checkproc /usr/sbin/smbd && echo "OK " || echo "No process"
-+      ;;
-+    *)
-+        echo "Usage: $0 {start|stop|restart|reload|status}"
-+        exit 1
-+esac
-+
-+# Inform the caller not only verbosely and set an exit status.
-+test "$return" = "$rc_done" || exit 1
-+exit 0
---- rc.config.samba
-+++ rc.config.samba    2000/08/28 07:32:33
-@@ -0,0 +1,5 @@
-+#
-+# start samba? ("yes" or "no")
-+# Windows 95 / NT  -  File- and Printservices
-+#
-+START_SMB="no"
---- smb.conf
-+++ smb.conf   2000/08/28 07:32:33
-@@ -0,0 +1,80 @@
-+;
-+; /etc/smb.conf
-+;
-+; Copyright (c) 1999 SuSE GmbH Nuernberg, Germany.
-+;
-+[global]
-+   workgroup = arbeitsgruppe
-+   guest account = nobody
-+   keep alive = 30
-+   os level = 2
-+   kernel oplocks = false
-+   security = user
-+
-+; Uncomment the following, if you want to use an existing
-+; NT-Server to authenticate users, but don't forget that
-+; you also have to create them locally!!!
-+;  security = server
-+;  password server = 192.168.1.10
-+;  encrypt passwords = yes
-+
-+   printing = bsd
-+   printcap name = /etc/printcap
-+   load printers = yes
-+
-+   socket options = TCP_NODELAY
-+
-+   map to guest = Bad User
-+
-+; Uncomment this, if you want to integrate your server
-+; into an existing net e.g. with NT-WS to prevent nettraffic
-+;  local master = no   
-+
-+; Please uncomment the following entry and replace the 
-+; ip number and netmask with the correct numbers for
-+; your ethernet interface.
-+;   interfaces = 192.168.1.1/255.255.255.0
-+   
-+; If you want Samba to act as a wins server, please set
-+; 'wins support = yes'
-+   wins support = no
-+
-+; If you want Samba to use an existing wins server,
-+; please uncomment the following line and replace
-+; the dummy with the wins server's ip number.
-+;   wins server = 192.168.1.1
-+
-+; Do you wan't samba to act as a logon-server for
-+; your windows 95/98 clients, so uncomment the
-+; following:
-+;   logon script =%U.bat
-+;   domain logons = yes
-+;   domain master = yes
-+; [netlogon]
-+;   path = /netlogon
-+
-+
-+[homes]
-+   comment = Heimatverzeichnis
-+   browseable = no
-+   read only = no
-+   create mode = 0750
-+
-+; The following share gives all users access to the Server's CD drive,
-+; assuming it is mounted under /cd. To enable this share, please remove
-+; the semicolons before the lines
-+;
-+; [cdrom]
-+;   comment = Linux CD-ROM
-+;   path = /cdrom
-+;   read only = yes
-+;   locking = no
-+
-+[printers]
-+   comment = All Printers
-+   browseable = no
-+   printable = yes
-+   public = no
-+   read only = yes
-+   create mode = 0700
-+   directory = /tmp
---- smbfs
-+++ smbfs      2000/08/28 07:32:33
-@@ -0,0 +1,40 @@
-+#! /bin/bash
-+# Copyright (c) 1996 SuSE GmbH Nuernberg, Germany.  All rights reserved.
-+#
-+# Author: Thomas Fehr <fehr@suse.de>, 1999
-+#
-+# /sbin/init.d/smbfs
-+#
-+
-+smbfs=no
-+if [ `cat /proc/mounts | grep " smbfs " | wc -l` -gt 0 ]
-+then
-+    smbfs=yes
-+fi
-+
-+return=$rc_done
-+case "$1" in
-+    start|reload)
-+      ;;
-+    stop)
-+      if [ "$smbfs" = "yes" ]
-+      then
-+          echo -n "Remove SMB File System"
-+          #
-+          # Unmount in background because during long timeouts
-+          #
-+          umount -at smbfs &
-+          sleep 2
-+          echo -e "$return"
-+      fi
-+      ;;
-+    restart)
-+      $0 stop && $0 start || return=$rc_failed
-+      ;;
-+    status)
-+      ;;
-+    *)
-+      echo "Usage: $0 {start|stop|status|reload|restart}"
-+      exit 1
-+esac
-+exit 0
---- smbpasswd
-+++ smbpasswd  2000/08/28 07:32:33
-@@ -0,0 +1,3 @@
-+# Sample smbpasswd file.
-+# To use this, set 'encrypt passwords = yes' in the [global]-section
-+# of /etc/smb.conf
diff --git a/packaging/SuSE/7.1/samba.pamd b/packaging/SuSE/7.1/samba.pamd
deleted file mode 100644 (file)
index d9e7088..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#%PAM-1.0
-auth     required       /lib/security/pam_unix.so
-account  required       /lib/security/pam_unix.so
diff --git a/packaging/SuSE/7.1/samba.spec b/packaging/SuSE/7.1/samba.spec
deleted file mode 100644 (file)
index 60d8099..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-#
-# spec file for package samba (Version 2.0.7)
-# 
-# Copyright  (c)  2000  SuSE GmbH  Nuernberg, Germany.
-#
-# please send bugfixes or comments to feedback@suse.de.
-#
-
-# neededforbuild  automake openldap
-# usedforbuild    aaa_base aaa_dir autoconf automake base bash bindutil binutils bison bzip compress cpio cracklib devs diff ext2fs file fileutil find flex gawk gcc gdbm gettext gpm gppshare groff gzip kbd less libc libtool libz lx_suse make mktemp modules ncurses net_tool netcfg nkita nkitb nssv1 openldap pam patch perl pgp ps rcs rpm sendmail sh_utils shadow shlibs strace syslogd sysvinit texinfo textutil timezone unzip util vim xdevel xf86 xshared
-
-Vendor:       SuSE GmbH, Nuernberg, Germany
-Distribution: SuSE Linux 7.1a (i386)
-Name:         samba
-Release:      0
-Packager:     feedback@suse.de
-
-Copyright:    1992-95 Andrew Tridgell, Karl Auer, Jeremy Allison
-Group:        Networking/Daemons
-Url:          http://www.samba.org
-Provides:     samba smbfs 
-Requires:     smbclnt
-Autoreqprov:  on
-Version:      2.2
-Summary:      An SMB file server for Unix
-Source: samba-2.2.0-alpha0.tar.gz
-Source1: samba.pamd
-Patch: samba-2.2.0-alpha0.dif
-%package -n smbclnt
-Summary:      Samba client utilities
-Autoreqprov:  on
-Group:        Networking
-%prep
-%setup -n samba-2.2.0-alpha0
-%patch
-
-%build
-cd source
-%{?suse_update_config:%{suse_update_config -f}}
-LIBS=-lnsl \
-./configure --prefix=/usr --libdir=/etc \
-       --with-privatedir=/etc --localstatedir=/var/log \
-       --with-smbmount --with-pam \
-       --mandir=%{_mandir} \
-       --with-swatdir=/usr/lib/samba/swat \
-       --with-sambabook=/usr/lib/samba/swat/using_samba
-cd ..
-make LOCKDIR=/var/lock/samba SBINDIR=/usr/sbin \
-       CODEPAGEDIR=/usr/lib/samba/codepages -C source
-
-%install
-mkdir -p /usr/lib/samba
-make install LOCKDIR=/var/lock/samba SBINDIR=/usr/sbin \
-       CODEPAGEDIR=/usr/lib/samba/codepages -C source
-# cleanup docs
-rm -rf docs/*.[0-9]
-chmod 644 `find docs examples -type f`
-chmod 755 `find docs examples -type d`
-#utility scripts
-mkdir -p /usr/lib/samba/scripts
-cp -a source/script/* /usr/lib/samba/scripts
-# configuration files
-install -m 644 smb.conf /etc/smb.conf
-install -m 644 lmhosts /etc/lmhosts
-install -m 600 smbpasswd -o root -g root /etc/smbpasswd
-install -d 755 /etc/pam.d
-install -m 644 $RPM_SOURCE_DIR/samba.pamd /etc/pam.d/samba
-install -m 755 mount.smbfs /sbin/mount.smbfs
-# start script
-install rc /sbin/init.d/smb
-ln -sf ../smb /sbin/init.d/rc2.d/S20smb
-ln -sf ../smb /sbin/init.d/rc2.d/K20smb
-ln -sf ../smb /sbin/init.d/rc3.d/S20smb
-ln -sf ../smb /sbin/init.d/rc3.d/K20smb
-ln -sf ../../sbin/init.d/smb /usr/sbin/rcsmb
-install smbfs /sbin/init.d/smbfs
-ln -sf ../smbfs /sbin/init.d/rc2.d/S21smbfs
-ln -sf ../smbfs /sbin/init.d/rc2.d/K19smbfs
-ln -sf ../smbfs /sbin/init.d/rc3.d/S21smbfs
-ln -sf ../smbfs /sbin/init.d/rc3.d/K19smbfs
-ln -sf ../../sbin/init.d/smbfs /usr/sbin/rcsmbfs
-# rc.config fragment
-mkdir -p /var/adm/fillup-templates
-cp rc.config.samba /var/adm/fillup-templates
-%{?suse_check}
-
-%post
-echo "Updating etc/rc.config..."
-if [ -x bin/fillup ] ; then
-  bin/fillup -q -d = etc/rc.config var/adm/fillup-templates/rc.config.samba
-else
-  echo "ERROR: fillup not found. This should not happen. Please compare"
-  echo "etc/rc.config and var/adm/fillup-templates/rc.config.samba and"
-  echo "update by hand."
-fi
-if grep -q '^[#[:space:]]*swat' etc/inetd.conf ; then
-   echo /etc/inetd.conf is up to date
-else
-   echo updating inetd.conf
-   cat >> etc/inetd.conf << EOF
-# swat is the Samba Web Administration Tool
-swat    stream  tcp     nowait.400  root    /usr/sbin/swat swat
-EOF
-fi
-if grep -q '^swat' etc/services ; then
-   echo /etc/services is up to date
-else
-   echo updating services
-   cat >> etc/services << EOF
-swat            901/tcp                # swat is the Samba Web Administration Tool
-EOF
-fi
-mkdir -p var/adm/notify/messages
-cat << EOF > var/adm/notify/messages/samba-notify
-Achtung!
-========
-Die Syntax des smbmount Kommandos hat sich geaendert!
-smbmount kann nicht mehr direkt aufgerufen werden. Es wird von einem
-Shellscript /sbin/mount.smbfs aufgerufen, welches wiederum von mount
-aufgerufen wird.
-Hier ein Beispielaufruf:
-mount -t smbfs -o username=uname,password=passwd //smbserv/share /destination
-*****************************************************************************
-Attention!
-==========
-The syntax of smbmount has changed!
-smbmount can not be called direct anymore. It will be called by a shell
-script /sbin/mount.smbfs, which will be called by mount.
-A sample call to smbfs:
-mount -t smbfs -o username=uname,password=passwd //smbserv/share /destination
-EOF
-
-%files
-%config(noreplace) /etc/smb.conf
-%config(noreplace) /etc/lmhosts
-%config(noreplace) /etc/smbpasswd
-%config /etc/pam.d/samba
-/usr/lib/samba
-/sbin/init.d/rc2.d/K20smb
-/sbin/init.d/rc2.d/S20smb
-/sbin/init.d/rc3.d/K20smb
-/sbin/init.d/rc3.d/S20smb
-%config /sbin/init.d/smb
-/usr/bin/addtosmbpass
-/usr/bin/convert_smbpasswd
-/usr/bin/make_printerdef
-/usr/bin/make_smbcodepage
-/usr/bin/make_unicodemap
-/usr/bin/smbpasswd
-/usr/bin/smbstatus
-/usr/bin/testparm
-/usr/bin/testprns
-%doc docs/* examples
-%doc %{_mandir}/man1/make_smbcodepage.1.gz
-%doc %{_mandir}/man1/make_unicodemap.1.gz
-%doc %{_mandir}/man1/smbrun.1.gz
-%doc %{_mandir}/man1/smbsh.1.gz
-%doc %{_mandir}/man1/smbstatus.1.gz
-%doc %{_mandir}/man1/testparm.1.gz
-%doc %{_mandir}/man1/testprns.1.gz
-%doc %{_mandir}/man5/lmhosts.5.gz
-%doc %{_mandir}/man5/smb.conf.5.gz
-%doc %{_mandir}/man5/smbpasswd.5.gz
-%doc %{_mandir}/man7/samba.7.gz
-%doc %{_mandir}/man8/nmbd.8.gz
-%doc %{_mandir}/man8/smbd.8.gz
-%doc %{_mandir}/man8/smbpasswd.8.gz
-%doc %{_mandir}/man8/swat.8.gz
-/usr/sbin/nmbd
-/usr/sbin/rcsmb
-/usr/sbin/smbd
-/usr/sbin/swat
-/var/adm/fillup-templates/rc.config.samba
-
-%files -n smbclnt
-/sbin/init.d/rc2.d/K19smbfs
-/sbin/init.d/rc2.d/S21smbfs
-/sbin/init.d/rc3.d/K19smbfs
-/sbin/init.d/rc3.d/S21smbfs
-%config /sbin/init.d/smbfs
-/usr/sbin/rcsmbfs
-/sbin/mount.smbfs
-/usr/bin/nmblookup
-/usr/bin/rpcclient
-/usr/bin/smbclient
-/usr/bin/smbmnt
-/usr/bin/smbmount
-/usr/bin/smbumount
-/usr/bin/smbspool
-/usr/bin/smbtar
-%doc %{_mandir}/man1/nmblookup.1.gz
-%doc %{_mandir}/man1/smbclient.1.gz
-%doc %{_mandir}/man1/smbtar.1.gz
-%doc %{_mandir}/man8/smbmnt.8.gz
-%doc %{_mandir}/man8/smbmount.8.gz
-%doc %{_mandir}/man8/smbspool.8.gz
-%doc %{_mandir}/man8/smbumount.8.gz
-
-%description
-Samba is a suite of programs which work together to allow clients to
-access Unix filespace and printers via the SMB protocol (Server Message
-Block). 
-In practice, this means that you can redirect disks and printers to
-Unix disks and printers from LAN Manager clients, Windows for
-Workgroups 3.11 clients, Windows'95 clients, Windows NT clients
-and OS/2 clients. There is
-also a Unix client program supplied as part of the suite which allows
-Unix users to use an ftp-like interface to access filespace and
-printers on any other SMB server.
-Samba includes the following programs (in summary):
-* smbd, the SMB server. This handles actual connections from clients.
-* nmbd, the Netbios name server, which helps clients locate servers.
-* smbclient, the Unix-hosted client program.
-* smbrun, a little 'glue' program to help the server run external
-programs. 
-* testprns, a program to test server access to printers.
-* testparm, a program to test the Samba configuration file for correctness.
-* smb.conf, the Samba configuration file.
-* smbprint, a sample script to allow a Unix host to use smbclient
-to print to an SMB server.
-The suite is supplied with full source and is GPLed.
-This package expects its config file under /etc/smb.conf .
-
-Authors:
---------
-    Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
-    Karl Auer <Karl.Auer@anu.edu.au>
-    Jeremy Allison <jeremy@netcom.com>
-
-SuSE series: n
-
-
-%description -n smbclnt
-This package contains all programs, that are needed to act as a samba
-client. This includes also smbmount, of course.
-
-Authors:
---------
-    Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
-    Karl Auer <Karl.Auer@anu.edu.au>
-    Jeremy Allison <jeremy@netcom.com>
-
-SuSE series: n
-
-
-%changelog -n samba
-* Mon Aug 28 2000 - choeger@suse.de
-- changed $* to "$@" in mount.smbfs to make it also
-  possible to mount shares with spaces
-* Mon Jul 31 2000 - choeger@suse.de
-- improvement for rcsmb
-- fix for spec-file to compile with NIS netgroups
-* Thu Jul 20 2000 - choeger@suse.de
-- added smbfs initscript that has been removed
-  by an error
-* Tue Jul 11 2000 - choeger@suse.de
-- split package into client and server parts
-  client package name: smbclnt
-* Wed Apr 26 2000 - choeger@suse.de
-- new version, 2.0.7
-* Thu Apr 06 2000 - ro@suse.de
-- removed pam,cracklib from neededforbuild: build handles this
-* Wed Apr 05 2000 - bk@suse.de
-- s390 team added config.{sub,guess} update macro for s390
-* Mon Mar 27 2000 - choeger@suse.de
-- fixed bug in specfile
-  the multilined configure call missed a "" :-(
-* Thu Mar 09 2000 - choeger@suse.de
-- fixed typo in specfile
-* Wed Mar 01 2000 - choeger@suse.de
-- added %{_mandir}
-* Tue Feb 08 2000 - choeger@suse.de
-- removed /sbin/init.d/smbfs because it is no longer needed
-* Mon Jan 03 2000 - choeger@suse.de
-- bugfix for ipc.c
-  to make roaming profiles work again.
-* Tue Nov 30 1999 - choeger@suse.de
-- changed kernel oplocks = off to
-  kernel oplocks = false
-* Tue Nov 16 1999 - choeger@suse.de
-- added kernel oplocks = off in smb.conf
-* Fri Nov 12 1999 - choeger@suse.de
-- new version, 2.0.6
-* Fri Nov 05 1999 - choeger@suse.de
-- Fix for the smbmount lost-connection problem
-  _seems_ to work...
-* Fri Oct 29 1999 - choeger@suse.de
-- removed comment sign in /etc/inetd.conf for swat
-* Mon Sep 13 1999 - bs@suse.de
-- ran old prepare_spec on spec file to switch to new prepare_spec.
-* Tue Aug 10 1999 - fehr@suse.de
-- set execute permissions for mksmbpasswd.sh and changesmbpasswd.sh
-* Thu Jul 29 1999 - fehr@suse.de
-- fixed typo in /sbin/init.d/smbfs
-* Thu Jul 22 1999 - fehr@suse.de
-- changed to new version 2.0.5a
-* Wed Jul 21 1999 - fehr@suse.de
-- changed to new version 2.0.5
-* Tue Jul 20 1999 - fehr@suse.de
-- install /sbin/init.d/smbfs
-- changed to new version 2.0.5pre4
-* Mon Jul 19 1999 - fehr@suse.de
-- add /sbin/init.d/smbfs
-- changed to new version 2.0.5pre3
-* Fri Jul 02 1999 - fehr@suse.de
-- removed "umount -a -t smbfs" from start sscript
-* Tue Jun 22 1999 - kukuk@suse.de
-- 2.0.4b changed default values, enable PAM again
-* Fri Jun 18 1999 - kukuk@suse.de
-- changed to new version 2.0.4b
-* Mon Jun 14 1999 - kukuk@suse.de
-- Enable PAM, add samba.pamd
-* Mon May 03 1999 - fehr@suse.de
-- add umount -a -t smbfs to shutdown sequence of samba
-* Thu Mar 11 1999 - ro@suse.de
-- smbmount: define NR_OPEN to 1024 if undefined (GLIBC-2.1)
-* Wed Mar 10 1999 - choeger@suse.de
-- some enhancements for smb.conf
-* Wed Mar 10 1999 - choeger@suse.de
-- new version 2.0.3 and smbmount now seems to work
-* Tue Mar 09 1999 - ro@suse.de
-- use samba-2.0.2 for STABLE
-- use smbfs-2.1 with kernel 2.2.2
-* Sun Feb 28 1999 - ro@suse.de
-- for glibc-2.1 strncat uses strcat for one subcase, so don't
-  redefine strcat to "ERROR" for glibc-2.1
-* Mon Feb 15 1999 - fehr@suse.de
-- fix for umount problem from Volker
-* Tue Feb 09 1999 - fehr@suse.de
-- changed to version 2.0.2 of samba
-* Fri Jan 15 1999 - bs@suse.de
-- replaced /sbin/init.d/smb with newer style version (again)
-* Fri Jan 15 1999 - fehr@suse.de
-- switched to new version 2.0.0
-* Wed Jan 13 1999 - bs@suse.de
-- fixed entry in inetd.conf
-* Wed Jan 13 1999 - bs@suse.de
-- replaced /sbin/init.d/smb with newer style version
-* Mon Jan 11 1999 - vl@suse.de
-- make 2.0.0beta5 package of samba
-* Mon Aug 24 1998 - vl@suse.de
-- changed to version 1.9.18p10
-* Mon Jun 29 1998 - vl@suse.de
-- changed to version 1.9.18p8
-* Mon Apr 20 1998 - vl@suse.de
-- changed to version 1.9.18p4
-* Thu Feb 19 1998 - vl@suse.de
-- changed to version 1.9.18p3
-* Tue Feb 03 1998 - vl@suse.de
-- changed to version 1.9.18p2
-- fixed some problems in spec-file, some files were missing :-(
-- fixed smbfs-2.0.2/Makefile.Linux
-* Tue Jan 13 1998 - vl@suse.de
-- changed to version 1.9.18p1
-* Fri Jan 09 1998 - vl@suse.de
-- changed to version 1.9.18
-* Tue Dec 02 1997 - bs@suse.de
-- disable samba by default in /etc/rc.config
-* Mon Oct 06 1997 - fehr@suse.de
-- package prepared for automatic building
-* Mon Sep 29 1997 - fehr@suse.de
-- updated to version 1.9.17p2 due to security hole.
-* Wed Jul 16 1997 - fehr@suse.de
-- add fillup-template for rc.config and install it in doinst.sh
-* Fri Jun 27 1997 - bs@suse.de
-- update to smbfs-2.0.2, due to security hole.
-* Tue Jun 17 1997 - fehr@suse.de
-- changed init-skript to recognize entry START_SMB of rc.config
-* Mon Jun 02 1997 - vl@suse.de
-- update to version 1.9.16p11
-- Starting Samba from /sbin/init.d, not from inetd.conf
-* Sun Feb 02 1997 - vl@suse.de
-- update to version 1.9.16p10
-- Adapted /etc/smb.conf.sample to 4.4.1 manual
-* Thu Jan 02 1997 - florian@suse.de
-- update to version 1.9.16p9
-- configuration file is now /etc/smb.conf
-- smbd and nmbd are now in /usr/sbin
-- added start-script /sbin/init.d/smb and entry in /etc/rc.config
-* Thu Jan 02 1997 - florian@suse.de
-- Update auf neue Version 1.9.16p6.
diff --git a/packaging/SuSE/README b/packaging/SuSE/README
new file mode 100644 (file)
index 0000000..5d0af99
--- /dev/null
@@ -0,0 +1,18 @@
+Date: March 29, 2003
+
+Note: The current packaging files are NOT officially supported files.
+---------------------------------------------------------------------
+
+While the SPEC file shows who the original author was, these files imply no warranty of
+fitness what so ever. These files are NOT official SuSE files and are NOT supported by
+them. If you have ANY problems with the use of these files then please email jht@samba.org
+and NOT SuSE support.
+
+
+These files may be used to build Samba-3.0 packages for SuSE Linux 8.1 and/or for
+UnitedLinux 1.0 systems.
+
+Note2: You most likely will need to update to heimdal-0.5.1 or later if you intend to
+use any Kerberos functionality.
+
+- John T.
diff --git a/packaging/SuSE/samba-3.0.0-msdfs.diff b/packaging/SuSE/samba-3.0.0-msdfs.diff
new file mode 100644 (file)
index 0000000..1e688e6
--- /dev/null
@@ -0,0 +1,97 @@
+--- source/param/loadparm.c    Wed Oct  9 21:17:05 2002
++++ source/param/loadparm.c    Mon Oct 14 16:33:08 2002
+@@ -386,6 +386,8 @@
+       BOOL bInheritPerms;
+       BOOL bInheritACLS;
+       BOOL bMSDfsRoot;
++      BOOL bMSDfsProxy;
++      char *bMSDfsLinkName;
+       BOOL bUseClientDriver;
+       BOOL bDefaultDevmode;
+       BOOL bNTAclSupport;
+@@ -508,6 +510,8 @@
+       False,                  /* bInheritPerms */
+       False,                  /* bInheritACLS */
+       False,                  /* bMSDfsRoot */
++      False,                  /* bMSDfsProxy */
++      NULL,                   /* bMSDfsLinkName */
+       False,                  /* bUseClientDriver */
+       False,                  /* bDefaultDevmode */
+       True,                   /* bNTAclSupport */
+@@ -1079,6 +1083,8 @@
+       
+       {"msdfs root", P_BOOL, P_LOCAL, &sDefault.bMSDfsRoot, NULL, NULL, FLAG_SHARE},
++      {"msdfs proxy", P_BOOL, P_LOCAL, &sDefault.bMSDfsProxy, NULL, NULL, FLAG_SHARE},
++      {"msdfs link name", P_STRING, P_LOCAL, &sDefault.bMSDfsLinkName, NULL, NULL, FLAG_SHARE},
+       {"host msdfs", P_BOOL, P_GLOBAL, &Globals.bHostMSDfs, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+       {"Winbind options", P_SEP, P_SEPARATOR},
+@@ -1730,6 +1736,8 @@
+ FN_LOCAL_STRING(lp_veto_oplocks, szVetoOplockFiles)
+ FN_LOCAL_STRING(lp_driverlocation, szPrinterDriverLocation)
+ FN_LOCAL_BOOL(lp_msdfs_root, bMSDfsRoot)
++FN_LOCAL_BOOL(lp_msdfs_proxy, bMSDfsProxy)
++FN_LOCAL_STRING(lp_msdfs_link_name, bMSDfsLinkName)
+ FN_LOCAL_BOOL(lp_autoloaded, autoloaded)
+ FN_LOCAL_BOOL(lp_preexec_close, bPreexecClose)
+ FN_LOCAL_BOOL(lp_rootpreexec_close, bRootpreexecClose)
+--- source/msdfs/msdfs.c       Tue Jul  2 08:34:24 2002
++++ source/msdfs/msdfs.c       Mon Oct 14 16:49:57 2002
+@@ -600,12 +600,38 @@
+       int reply_size = 0;
+       char *pathnamep = pathname;
++      struct connection_struct conns;
++      struct connection_struct* conn = &conns;
++      int snum;
++      pstring conn_path;
++      struct dfs_path dpi;
++
++      struct junction_map junction2;
++      parse_dfs_path(pathname, &dpi);
++      pstrcpy(junction2.service_name, dpi.servicename);
++      snum = lp_servicenumber(junction2.service_name);
++      create_conn_struct(conn, snum, conn_path);
++      
++
+       ZERO_STRUCT(junction);
+       /* get the junction entry */
+       if (!pathnamep)
+               return -1;
++        if (lp_msdfs_proxy(SNUM(conn))) {
++              DEBUG(10,("running in proxy mode\n"));
++              pstrcpy(pathnamep, "\\");
++              pstrcat(pathnamep, dpi.hostname);
++              pstrcat(pathnamep, "\\");
++              pstrcat(pathnamep, dpi.servicename);
++              pstrcat(pathnamep, "\\");
++              pstrcat(pathnamep, (char *) lp_msdfs_link_name(SNUM(conn)));
++       } else {
++              DEBUG(10,("running in normal mode\n"));
++      }
++      
++      
+       /* Trim pathname sent by client so it begins with only one backslash.
+          Two backslashes confuse some dfs clients
+        */
+@@ -631,6 +657,17 @@
+               }
+       }
+       
++        if ( lp_msdfs_proxy(SNUM(conn)) ) {
++              DEBUG(10,("running in proxy mode\n"));
++              pstrcpy ( pathnamep, "\\" );
++              pstrcat ( pathnamep, dpi.hostname);
++              pstrcat ( pathnamep, "\\" );
++              pstrcat ( pathnamep, dpi.servicename);
++        } else {
++              DEBUG(10,("running in normal mode\n"));
++      }
++              
++      
+       /* create the referral depeding on version */
+       DEBUG(10,("max_referral_level :%d\n",max_referral_level));
+       if(max_referral_level<2 || max_referral_level>3)
diff --git a/packaging/SuSE/samba-3.0.0-net_ads.diff b/packaging/SuSE/samba-3.0.0-net_ads.diff
new file mode 100644 (file)
index 0000000..b1224c0
--- /dev/null
@@ -0,0 +1,140 @@
+diff -Nur source/utils/net.c source/utils/net.c
+--- source/utils/net.c Fri Sep 27 09:42:34 2002
++++ source/utils/net.c Tue Oct  1 12:22:00 2002
+@@ -68,6 +68,7 @@
+ int opt_port = 0;
+ int opt_maxusers = -1;
+ char *opt_comment = "";
++char *opt_container = "cn=Users";
+ int opt_flags = -1;
+ int opt_jobid = 0;
+ int opt_timeout = 0;
+@@ -459,6 +460,7 @@
+               {"myname",      'n', POPT_ARG_STRING, &opt_requester_name},
+               {"conf",        's', POPT_ARG_STRING, &servicesf},
+               {"server",      'S', POPT_ARG_STRING, &opt_host},
++              {"container",   'c', POPT_ARG_STRING, &opt_container},
+               {"comment",     'C', POPT_ARG_STRING, &opt_comment},
+               {"maxusers",    'M', POPT_ARG_INT,    &opt_maxusers},
+               {"flags",       'F', POPT_ARG_INT,    &opt_flags},
+diff -Nur source/utils/net.h source/utils/net.h
+--- source/utils/net.h Tue Jun 25 04:29:09 2002
++++ source/utils/net.h Tue Oct  1 12:19:51 2002
+@@ -38,10 +38,8 @@
+ extern int opt_maxusers;
+ extern char *opt_comment;
++extern char *opt_container;
+ extern int opt_flags;
+-
+-extern char *opt_comment;
+-
+ extern char *opt_target_workgroup;
+ extern int opt_long_list_entries;
+ extern int opt_reboot;
+diff -Nur source/utils/net_ads.c source/utils/net_ads.c
+--- source/utils/net_ads.c     Tue Sep 17 14:15:52 2002
++++ source/utils/net_ads.c     Tue Oct  1 12:33:44 2002
+@@ -255,7 +255,7 @@
+               goto done;
+       }
+-      status = ads_add_user_acct(ads, argv[0], opt_comment);
++      status = ads_add_user_acct(ads, argv[0], opt_container, opt_comment);
+       if (!ADS_ERR_OK(status)) {
+               d_printf("Could not add user %s: %s\n", argv[0],
+@@ -431,7 +431,7 @@
+               goto done;
+       }
+-      status = ads_add_group_acct(ads, argv[0], opt_comment);
++      status = ads_add_group_acct(ads, argv[0], opt_container, opt_comment);
+       if (ADS_ERR_OK(status)) {
+               d_printf("Group %s added\n", argv[0]);
+diff -Nur source/utils/net_help.c source/utils/net_help.c
+--- source/utils/net_help.c    Tue Sep 24 20:10:30 2002
++++ source/utils/net_help.c    Tue Oct  1 13:01:50 2002
+@@ -69,14 +69,14 @@
+                "\n\tDelete specified user\n");
+       d_printf("\nnet [<method>] user INFO <name> [misc. options] [targets]"\
+                "\n\tList the domain groups of the specified user\n");
+-      d_printf("\nnet [<method>] user ADD <name> [password] "\
++      d_printf("\nnet [<method>] user ADD <name> [password] [-c container] "\
+                "[-F user flags] [misc. options]"\
+                " [targets]\n\tAdd specified user\n");
+       net_common_methods_usage(argc, argv);
+       net_common_flags_usage(argc, argv);
+-      d_printf(
+-       "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++      d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++      d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
+       return -1;
+ }
+@@ -85,12 +85,12 @@
+                "\n\tList user groups\n\n");
+       d_printf("net [<method>] group DELETE <name> [misc. options] [targets]"\
+                "\n\tDelete specified group\n");
+-      d_printf("\nnet [<method>] group ADD <name> [-C comment]"\
++      d_printf("\nnet [<method>] group ADD <name> [-C comment] [-c container]"\
+                " [misc. options] [targets]\n\tCreate specified group\n");
+       net_common_methods_usage(argc, argv);
+       net_common_flags_usage(argc, argv);
+-      d_printf(
+-       "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++      d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++      d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
+       return -1;
+ }
+diff -Nur source/libads/ldap_user.c source/libads/ldap_user.c
+--- source/libads/ldap_user.c  Wed Aug  7 12:33:22 2002
++++ source/libads/ldap_user.c  Tue Oct  1 12:46:08 2002
+@@ -38,7 +38,7 @@
+ }
+ ADS_STATUS ads_add_user_acct(ADS_STRUCT *ads, const char *user, 
+-                           const char *fullname)
++                           const char *container, const char *fullname)
+ {
+       TALLOC_CTX *ctx;
+       ADS_MODLIST mods;
+@@ -57,7 +60,7 @@
+       if (!(upn = talloc_asprintf(ctx, "%s@%s", user, ads->config.realm)))
+               goto done;
+-      if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", name, 
++      if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", name, container,
+                                      ads->config.bind_path)))
+               goto done;
+       if (!(controlstr = talloc_asprintf(ctx, "%u", UF_NORMAL_ACCOUNT)))
+@@ -80,7 +83,7 @@
+ }
+ ADS_STATUS ads_add_group_acct(ADS_STRUCT *ads, const char *group, 
+-                            const char *comment)
++                            const char *container, const char *comment)
+ {
+       TALLOC_CTX *ctx;
+       ADS_MODLIST mods;
+@@ -93,7 +96,7 @@
+       status = ADS_ERROR(LDAP_NO_MEMORY);
+-      if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", group, 
++      if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", group, container,
+                                      ads->config.bind_path)))
+               goto done;
+       if (!(mods = ads_init_mods(ctx)))
+@@ -102,7 +105,7 @@
+       ads_mod_str(ctx, &mods, "cn", group);
+       ads_mod_strlist(ctx, &mods, "objectClass",objectClass);
+       ads_mod_str(ctx, &mods, "name", group);
+-      if (comment)
++      if (comment && *comment) 
+               ads_mod_str(ctx, &mods, "description", comment);
+       ads_mod_str(ctx, &mods, "sAMAccountName", group);
+       status = ads_gen_add(ads, new_dn, mods);
diff --git a/packaging/SuSE/samba-3.0.0-pdb.diff b/packaging/SuSE/samba-3.0.0-pdb.diff
new file mode 100644 (file)
index 0000000..4f767c4
--- /dev/null
@@ -0,0 +1,11 @@
+--- examples/pdb/Makefile      Thu Sep  5 02:11:41 2002
++++ examples/pdb/Makefile      Thu Sep  5 02:11:59 2002
+@@ -8,7 +8,7 @@
+ SAMBA_INCL = ../../source/include
+ UBIQX_SRC = ../../source/ubiqx
+ SMBWR_SRC = ../../source/smbwrapper
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g
++CFLAGS = -I/usr/include/heimdal -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g
+ PDB_OBJS = pdb_test.so
+ # Default target
diff --git a/packaging/SuSE/samba-3.0.0-python.diff b/packaging/SuSE/samba-3.0.0-python.diff
new file mode 100644 (file)
index 0000000..8c5931e
--- /dev/null
@@ -0,0 +1,44 @@
+--- source/python/py_common.c  2002-12-22 03:07:40.000000000 +0100
++++ source/python/py_common.c  2002-11-29 11:50:22.000000000 +0100
+@@ -45,9 +45,6 @@
+ void py_samba_init(void)
+ {
+-      extern pstring global_myname;
+-      char *p;
+-
+       if (initialised)
+               return;
+@@ -59,11 +56,7 @@
+       /* Misc other stuff */
+       load_interfaces();
+-      
+-      fstrcpy(global_myname, myhostname());
+-      p = strchr(global_myname, '.');
+-      if (p)
+-              *p = 0;
++      init_names();
+       initialised = True;
+ }
+--- source/python/py_smb.c     2002-11-27 03:54:20.000000000 +0100
++++ source/python/py_smb.c     2002-11-29 11:50:22.000000000 +0100
+@@ -61,7 +61,6 @@
+       static char *kwlist[] = { "called", "calling", NULL };
+       char *calling_name = NULL, *called_name;
+       struct nmb_name calling, called;
+-      extern pstring global_myname;
+       BOOL result;
+       if (!PyArg_ParseTupleAndKeywords(args, kw, "s|s", kwlist, &called_name, 
+@@ -69,7 +68,7 @@
+               return NULL;
+       if (!calling_name)
+-              calling_name = global_myname;
++              calling_name = global_myname();
+       make_nmb_name(&calling, calling_name, 0x00);
+       make_nmb_name(&called, called_name, 0x20);
diff --git a/packaging/SuSE/samba-3.0.0-vscan.diff b/packaging/SuSE/samba-3.0.0-vscan.diff
new file mode 100644 (file)
index 0000000..cb860e3
--- /dev/null
@@ -0,0 +1,80 @@
+--- examples/VFS/samba-vscan-0.3.1/fprot/Makefile      2002-11-26 15:20:17.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/fprot/Makefile      2002-12-19 13:26:19.000000000 +0100
+@@ -14,7 +14,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ VFS_OBJS = vscan-fprotd.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c vscan-fprotd.c vscan-fprotd_core.c vscan-fprotd.h vscan-fprotd_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fprotd.lo vscan-fprotd_core.lo
+--- examples/VFS/samba-vscan-0.3.1/include/vscan-global.h      2002-11-25 16:48:10.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/include/vscan-global.h      2002-12-19 13:26:34.000000000 +0100
+@@ -93,7 +93,7 @@
+ */
+ #ifndef SAMBA_VERSION_MAJOR
+-# define SAMBA_VERSION_MAJOR 2 
++# define SAMBA_VERSION_MAJOR 3 
+ #endif
+ #ifndef SAMBA_VERSION_MINOR
+--- examples/VFS/samba-vscan-0.3.1/kaspersky/Makefile  2002-11-28 17:40:35.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/kaspersky/Makefile  2002-12-19 13:27:23.000000000 +0100
+@@ -23,9 +23,9 @@
+ VFS_OBJS = vscan-kavp.so
+ ifdef USE_DEBUG
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal
+ else
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ endif
+ ifndef USE_KAVPSHAREDLIB
+--- examples/VFS/samba-vscan-0.3.1/mks/Makefile        2002-11-26 16:29:55.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/mks/Makefile        2002-12-19 13:27:53.000000000 +0100
+@@ -13,7 +13,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ VFS_OBJS = vscan-mksd.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c  vscan-mksd.c vscan-mksd_core.c vscan-mksd.h vscan-mksd_core.h mks.h mks_c.c
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-mksd.lo vscan-mksd_core.lo mks_c.lo
+--- examples/VFS/samba-vscan-0.3.1/openantivirus/Makefile      2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/openantivirus/Makefile      2002-12-19 13:28:10.000000000 +0100
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ VFS_OBJS = vscan-oav.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c  vscan-oav.c vscan-oav_core.c vscan-oav.h vscan-oav_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-oav.lo vscan-oav_core.lo
+--- examples/VFS/samba-vscan-0.3.1/sophos/Makefile     2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/sophos/Makefile     2002-12-19 13:29:20.000000000 +0100
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ VFS_OBJS = vscan-sophos.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c vscan-sophos.c vscan-sophos_core.c vscan-sophos.h vscan-sophos_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-sophos.lo vscan-sophos_core.lo
+--- examples/VFS/samba-vscan-0.3.1/trend/Makefile      2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/trend/Makefile      2002-12-19 13:29:31.000000000 +0100
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/heimdal 
+ VFS_OBJS = vscan-trend.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c vscan-trend.c vscan-trend_core.c vscan-trend.h vscan-trend_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-trend.lo vscan-trend_core.lo
diff --git a/packaging/SuSE/samba-3.0.0.files.tar.bz2 b/packaging/SuSE/samba-3.0.0.files.tar.bz2
new file mode 100644 (file)
index 0000000..1e8fc9b
Binary files /dev/null and b/packaging/SuSE/samba-3.0.0.files.tar.bz2 differ
diff --git a/packaging/SuSE/samba-vscan-0.3.1.tar.bz2 b/packaging/SuSE/samba-vscan-0.3.1.tar.bz2
new file mode 100644 (file)
index 0000000..5639279
Binary files /dev/null and b/packaging/SuSE/samba-vscan-0.3.1.tar.bz2 differ
diff --git a/packaging/SuSE/samba3.spec b/packaging/SuSE/samba3.spec
new file mode 100644 (file)
index 0000000..625a7d1
--- /dev/null
@@ -0,0 +1,766 @@
+#
+# spec file for package samba (Version HEAD) CVS
+# 
+# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
+# This file and all modifications and additions to the pristine
+# package are under the same license as the package itself.
+#
+# packaged by Guenther Deschner <gd@suse.de> - work is not finished yet !
+
+# neededforbuild  acl acl-devel attr attr-devel autoconf automake heimdal-devel heimdal-lib libxml2 libxml2-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel popt popt-devel python python-devel readline readline-devel
+# usedforbuild    aaa_base aaa_version acl attr bash bind9-utils bison cpio cpp cyrus-sasl db devs diffutils e2fsprogs file filesystem fileutils fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip kbd less libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg pam pam-devel pam-modules patch permissions ps rcs readline sed sendmail sh-utils shadow strace syslogd sysvinit tar texinfo textutils timezone unzip util-linux vim zlib-devel acl-devel attr-devel autoconf automake binutils bzip2 cracklib gcc gdbm gettext heimdal-devel heimdal-lib libtool libxml2 libxml2-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel perl popt popt-devel python python-devel readline-devel rpm zlib
+
+
+Vendor:                SuSE Linux AG, GS Berlin, Germany
+Distribution:  SuSE Linux 8.1 (i386)
+Name:          samba
+Packager:      gd@suse.de
+License:       GPL
+Group:         Productivity/Networking/Samba
+Url:           http://www.samba.org
+Provides:      samba smbfs
+Obsoletes:     samba-classic samba-ldap
+Autoreqprov:   on
+%define         smbwrap 0
+%define                mit_kerberos 0
+%define                heimdal_kerberos 1
+%define                devel 0
+%define         head 0
+%define                python 1
+%define                netatalk 0
+%define                newsam 0
+%define         samba_ver 3.0.0
+Requires:      samba-client = %{samba_ver}
+Version:        3.0.0
+Release:       %(date +%%j)
+Summary:       An SMB file server for Unix
+Source:                %{name}-%{version}.tar.bz2
+Source10:      %{name}-%{version}.files.tar.bz2
+Source50:      http://prdownloads.sourceforge.net/openantivirus/samba-vscan-%{vscan_ver}.tar.bz2
+Patch1:                %{name}-%{version}-pdb.diff
+Patch10:       %{name}-%{version}-net_ads.diff
+Patch22:       %{name}-%{version}-msdfs.diff
+Patch30:       %{name}-%{version}-python.diff
+BuildRoot:     %{_tmppath}/%{name}-%{version}-buildroot
+%define                DOCDIR %{_defaultdocdir}/%{name}
+%define                SWATDIR %{_datadir}/samba/swat
+%define                vscan_ver 0.3.1
+%define                vscan_modules fprot kaspersky mks openantivirus sophos trend
+Patch51:       %{name}-%{version}-vscan.diff
+
+%package client
+Summary:       Samba client utilities
+Autoreqprov:   on
+Requires:      cups-libs
+Obsoletes:     smbclnt samba-classic-client samba-ldap-client
+Group:         Productivity/Networking/Samba
+
+%package winbind
+Requires:      samba-client samba
+Summary:       Samba Winbind-package
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+%package utils
+Summary:       Samba Testing Utilities
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+%package doc
+Summary:       Samba Documentation
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+%package pdb
+Summary:       Samba PDB-Modules
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+%package vfs
+Summary:       Samba VFS-Modules
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+%if %{newsam} > 0
+%package sam
+Summary:       Samba SAM-Modules
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+%endif
+
+%package vscan
+Summary:       Samba VFS-Modules for Virusscanners
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+Version:       0.3.1
+
+%package python
+Summary:       Samba Python-Modules
+Autoreqprov:   on
+Group:         Productivity/Networking/Samba
+
+
+
+
+%changelog
+* Sat Nov 3 2001 - gd@suse.de
+- start
+
+
+%prep
+[ $RPM_BUILD_ROOT = "/" ] && (echo "your buildroot is /" && exit 0) || rm -rf $RPM_BUILD_ROOT
+mkdir $RPM_BUILD_ROOT
+
+%setup -n %{name}-%{samba_ver}
+%setup -T -D -a 50
+cp -ar samba-vscan-%{vscan_ver} examples/VFS/
+
+# untar my configs
+%setup -T -D -a 10
+
+%if %{heimdal_kerberos} > 0
+%patch1
+%patch51
+%endif
+#%patch10
+#%patch22
+#%patch30
+
+find . -name CVS -print | xargs rm -rf
+find . -name ".cvsignore" -print | xargs rm -rf
+find . -name "'*.gd'" -print | xargs rm -rvf
+find . -name "'*.orig'" -print | xargs rm -rvf
+
+%build %{name}-%{samba_ver}
+%{?suse_update_config:%{suse_update_config -f}}
+cd source
+./autogen.sh
+libtoolize --force --copy
+autoconf
+export CFLAGS="$RPM_OPT_FLAGS -Wall -O -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
+%ifarch ppc64
+export CFLAGS="$CFLAGS -mminimal-toc"
+%endif
+CONF_OPTS_BASIC="\
+       --prefix=/usr \
+       --libdir=/etc/samba \
+       --localstatedir=/var/lib/samba \
+       --mandir=%{_mandir} \
+       --sbindir=/usr/sbin \
+       --with-privatedir=/etc/samba \
+       --with-piddir=/var/run/samba \
+       --with-codepagedir=/usr/share/samba/codepages \
+       --with-swatdir=/usr/share/samba/swat \
+       --with-smbmount \
+       --with-automount \
+       --enable-cups \
+       --with-msdfs \
+       --with-vfs \
+       --with-pam \
+       --with-pam_smbpass \
+       --with-utmp \
+       --with-winbind \
+       --with-tdbsam \
+       --with-ldapsam \
+%if %{smbwrap}
+       --with-smbwrapper \
+%endif
+       --with-quotas \
+       --with-acl-support \
+       --with-python=python2.2 \
+       --with-syslog \
+"
+CONF_OPTS_HEAD="\
+       --with-sam \
+"
+CONF_OPTS_HEIMDAL_KERBEROS="\
+       --with-krb5impl=heimdal \
+"
+CONF_OPTS_HEIMDAL_51_KERBEROS="\
+       --with-krb5impl=heimdal \
+       --with-krb5includes=/opt/heimdal-0.5.1/include \
+       --with-krb5libs=/opt/heimdal-0.5.1/lib \
+"
+CONF_OPTS_MIT_KERBEROS="\
+       --with-krb5impl=mit \
+       --with-krb5includes=/usr/kerberos/include \
+       --with-krb5libs=/usr/kerberos/lib \
+"
+CONF_OPTS_DEVEL="\
+       --enable-developer \
+       --enable-krb5developer \
+       --with-profiling-data \
+"
+CONF_OPTS="$CONF_OPTS_BASIC"
+%if %{head} > 0
+CONF_OPTS="$CONF_OPTS $CONF_OPTS_HEAD"
+%endif 
+%if %{heimdal_kerberos} > 0
+CONF_OPTS="$CONF_OPTS $CONF_OPTS_HEIMDAL_KERBEROS"
+%endif 
+%if %{mit_kerberos} > 0
+CONF_OPTS="$CONF_OPTS $CONF_OPTS_MIT_KERBEROS"
+%endif 
+%if %{devel} > 0
+CONF_OPTS="$CONF_OPTS $CONF_OPTS_DEVEL"
+%endif 
+
+./configure $CONF_OPTS
+
+###    --with-ldapsam is now standard!
+###    --with-sendfile-support ---default now
+#      --with-nisplussam \
+#      --with-nisplus_home \
+
+# with the new passdb-code we can finaly compile several passdb-backends
+# and make our choice at runtime. 
+# HEAD and thus alpha21 no longer need this
+#make proto
+
+make \
+       LOCKDIR=/var/lib/samba \
+       LOGFILEBASE=/var/log/samba \
+       SBINDIR=/usr/sbin \
+       all \
+       torture \
+       nsswitch/libnss_wins.so \
+       debug2html \
+       libsmbclient \
+       bin/profiles \
+       everything
+
+# everything = nsswitch smbwrapper smbtorture debug2html smbfilter nsswitch/libnss_wins.so
+
+%if %{newsam} > 0
+make bin/samtest 
+%endif
+make modules 
+
+make -C tdb tdbdump tdbtest tdbtool tdbtorture 
+# tdbbackup is now in main Makefile
+
+make talloctort 
+
+# VFS,PDB and SAM
+EXAMPLEDIRS="pdb"
+for i in $EXAMPLEDIRS; do make -C ../examples/$i; done
+
+export USE_KAVPSHAREDLIB=0
+for module in %{vscan_modules}; do 
+       make -C ../examples/VFS/%{name}-vscan-%{vscan_ver}/${module}; 
+done
+
+# tim potters python
+%if %{python} > 0
+make python_ext
+%endif
+
+
+
+%install
+
+mkdir -p \
+       $RPM_BUILD_ROOT/usr/{bin,sbin} \
+       $RPM_BUILD_ROOT/usr/share/{man,samba/{scripts,swat}} \
+       $RPM_BUILD_ROOT/usr/lib/samba/{vfs,pdb,sam,vscan} \
+       $RPM_BUILD_ROOT/usr/lib/python2.2/lib-dynload \
+       $RPM_BUILD_ROOT/usr/include \
+       $RPM_BUILD_ROOT/etc/{pam.d,init.d,samba} \
+       $RPM_BUILD_ROOT/var/adm \
+       $RPM_BUILD_ROOT/sbin \
+       $RPM_BUILD_ROOT/lib/security \
+       $RPM_BUILD_ROOT/%{DOCDIR} \
+       $RPM_BUILD_ROOT/%{DOCDIR}-vscan \
+       $RPM_BUILD_ROOT/var/spool/samba \
+       $RPM_BUILD_ROOT/var/log/samba \
+       $RPM_BUILD_ROOT/var/run/samba \
+       $RPM_BUILD_ROOT/var/lib/samba/{netlogon,drivers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC},profiles}        
+
+cd source/
+make install \
+       LIBDIR=$RPM_BUILD_ROOT/etc/samba \
+       LOGFILEBASE=$RPM_BUILD_ROOT/var/log/samba \
+       CONFIGFILE=$RPM_BUILD_ROOT/etc/samba/smb.conf \
+       LMHOSTSFILE=$RPM_BUILD_ROOT/etc/samba/lmhosts \
+       SWATDIR=$RPM_BUILD_ROOT/usr/share/samba/swat \
+       SBINDIR=$RPM_BUILD_ROOT/usr/sbin \
+       LOCKDIR=$RPM_BUILD_ROOT/var/lock/samba \
+       CODEPAGEDIR=$RPM_BUILD_ROOT/usr/share/samba/codepages \
+       DRIVERFILE=$RPM_BUILD_ROOT/etc/samba/printers.def \
+       BINDIR=$RPM_BUILD_ROOT/usr/bin \
+       SMB_PASSWD_FILE=$RPM_BUILD_ROOT/etc/samba/smbpasswd \
+       TDB_PASSWD_FILE=$RPM_BUILD_ROOT/etc/samba/smbpasswd.tdb \
+       MANDIR=$RPM_BUILD_ROOT/usr/share/man
+cd ..
+
+# utility scripts
+%if %{head} > 0
+scripts="creategroup cvslog.pl scancvslog.pl"
+%else
+scripts="scancvslog.pl"
+%endif
+for i in $scripts; do
+       cp -a source/script/$i          $RPM_BUILD_ROOT/usr/share/samba/scripts/
+done
+
+# move the man-pages (ugly lang thing, fixed in alpha16)
+#mv $RPM_BUILD_ROOT/usr/share/man/lang/*       $RPM_BUILD_ROOT/usr/share/man/
+
+# configuration files
+install -m 644 smb.conf*       $RPM_BUILD_ROOT/etc/samba/
+install -m 644 shares.conf     $RPM_BUILD_ROOT/etc/samba/
+install -m 644 lmhosts         $RPM_BUILD_ROOT/etc/samba/
+install -m 600 smbpasswd -o root -g root  $RPM_BUILD_ROOT/etc/samba/
+
+# pam
+install -m 644 samba.pamd      $RPM_BUILD_ROOT/etc/pam.d/samba
+
+# sambamount
+ln -sf /usr/bin/smbmount       $RPM_BUILD_ROOT/sbin/mount.smbfs
+
+# start scripts
+install rc.smb                 $RPM_BUILD_ROOT/etc/init.d/smb
+ln -sf ../../etc/init.d/smb    $RPM_BUILD_ROOT/usr/sbin/rcsmb
+install rc.smbfs               $RPM_BUILD_ROOT/etc/init.d/smbfs
+ln -sf ../../etc/init.d/smbfs  $RPM_BUILD_ROOT/usr/sbin/rcsmbfs
+install rc.winbind             $RPM_BUILD_ROOT/etc/init.d/winbind
+ln -sf ../../etc/init.d/winbind        $RPM_BUILD_ROOT/usr/sbin/rcwinbind
+install rc.wrepl               $RPM_BUILD_ROOT/etc/init.d/wrepl
+ln -sf ../../etc/init.d/wrepl  $RPM_BUILD_ROOT/usr/sbin/rcwrepl
+
+#### disabled for 8.0
+### rc.config fragment
+mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
+cp rc.config.samba                             $RPM_BUILD_ROOT/var/adm/fillup-templates
+cp rc.config.winbind                           $RPM_BUILD_ROOT/var/adm/fillup-templates
+cp rc.config.wrepl                             $RPM_BUILD_ROOT/var/adm/fillup-templates
+
+# libnss_wins.so
+cp source/nsswitch/libnss_wins.so              $RPM_BUILD_ROOT/lib/libnss_wins.so
+ln -sf /lib/libnss_wins.so                     $RPM_BUILD_ROOT/lib/libnss_wins.so.2
+
+# winbind stuff
+cp -a source/nsswitch/pam_winbind.so           $RPM_BUILD_ROOT/lib/security/
+cp -a source/nsswitch/libnss_winbind.so                $RPM_BUILD_ROOT/lib/
+cp -a source/bin/winbindd                      $RPM_BUILD_ROOT/usr/sbin/
+ln -sf /lib/libnss_winbind.so                  $RPM_BUILD_ROOT/lib/libnss_winbind.so.2
+
+# pam_smbpass
+cp -a source/bin/pam_smbpass.so                        $RPM_BUILD_ROOT/lib/security/
+
+# smbfilter
+cp -a source/bin/smbfilter                     $RPM_BUILD_ROOT/usr/bin/
+
+
+%{?suse_check}
+
+## install libsmbclient
+install -m0755 source/bin/{libsmbclient.so,libsmbclient.a}     $RPM_BUILD_ROOT/%{_libdir}
+ln -s /usr/lib/libsmbclient.so                 $RPM_BUILD_ROOT/%{_libdir}/libsmbclient.so.0
+install -m0644 source/include/libsmbclient.h   $RPM_BUILD_ROOT/%{_includedir}
+
+# install smbtorture and other test-programs
+install -m0755 source/bin/smbtorture           $RPM_BUILD_ROOT/usr/bin/
+install -m0755 source/bin/talloctort           $RPM_BUILD_ROOT/usr/bin/
+install -m0755 source/bin/{msgtest,masktest,locktest*} $RPM_BUILD_ROOT/usr/bin/
+install -m0755 source/bin/{vfstest,nsstest}    $RPM_BUILD_ROOT/usr/bin/
+%if %{head} > 0
+%if %{newsam} > 0
+install -m0755 source/bin/samtest              $RPM_BUILD_ROOT/usr/bin/ 
+%endif
+%endif
+
+# install tdb tools
+install -m0755 source/tdb/{tdbdump,tdbtest,tdbtool,tdbtorture} $RPM_BUILD_ROOT/usr/bin/
+
+
+# install VFS-modules
+%if %{head} > 0
+install -m0755 source/bin/developer.so         $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+#install -m0755 examples/VFS/block/block.so    $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+#install -m0755 examples/VFS/skel.so           $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+%else
+#install -m0755 examples/VFS/block/block.so    $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+#install -m0755 examples/VFS/skel.so           $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+%endif
+install -m0755 source/bin/vfs_audit.so         $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+install -m0755 source/bin/vfs_extd_audit.so    $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+install -m0755 source/bin/vfs_recycle.so       $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+%if %{netatalk}
+install -m0755 source/bin/vfs_netatalk.so      $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
+%endif
+
+# install PDB-modules
+%if %{head} > 0
+install -m0755 source/bin/xml.so               $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
+install -m0755 source/bin/mysql.so             $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
+%else
+install -m0755 source/bin/pdb_xml.so           $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
+install -m0755 source/bin/pdb_mysql.so         $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
+%endif
+install -m0755 examples/pdb/pdb_test.so                $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
+
+# install SAM-modules
+%if %{head} > 0
+%if %{newsam} > 0
+install -m0755 examples/sam/sam_skel.so                $RPM_BUILD_ROOT/%{_libdir}/samba/sam/
+%endif
+%endif
+
+# install VSCAN-vfs-modules
+install -m0755 examples/VFS/%{name}-vscan-%{vscan_ver}/*/*.so  $RPM_BUILD_ROOT/%{_libdir}/samba/vscan/
+
+# make examples clean
+VFS="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/VFS"
+VSCAN="$VFS/%{name}-vscan-%{vscan_ver}"
+PDB="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/pdb"
+%if %{head} > 0
+%if %{newsam} > 0
+SAM="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/sam"
+%endif
+%endif
+dirs="$PDB $SAM"
+(for i in $dirs; do make -C $i clean; done)
+(for i in %{vscan_modules}; do make -C $VSCAN/$i clean; done)
+
+%if %{python} > 0
+# install python
+cp -a source/build/lib.*/samba                         $RPM_BUILD_ROOT/usr/lib/python2.2/lib-dynload/
+%endif
+
+# whats this ?
+install -m0755 source/bin/debug2html           $RPM_BUILD_ROOT/usr/bin/
+
+%if %{smbwrap}
+# install smbwrapper
+install -m0755 source/bin/smbwrapper.so                $RPM_BUILD_ROOT/%{_libdir}/samba/
+install -m0755 source/bin/smbsh                        $RPM_BUILD_ROOT/usr/bin/
+%endif
+
+# finally obsolete with alpha17 makefile
+# install unicode-codepages
+#install -m0755 source/codepages/{lowcase,upcase,valid}.dat    $RPM_BUILD_ROOT/etc/samba/
+
+# cleanup docs
+rm -rf docs/*.[0-9]
+chmod 644 `find docs examples -type f`
+chmod 755 `find docs examples -type d`
+mv COPYING Manifest README Read-Manifest-Now Roadmap WHATSNEW.txt $RPM_BUILD_ROOT/%{DOCDIR}/
+cp source/msdfs/README                 $RPM_BUILD_ROOT/%{DOCDIR}/README.msdfs
+#cp source/nsswitch/README     $RPM_BUILD_ROOT/%{DOCDIR}/README.nsswitch
+cp source/smbwrapper/README    $RPM_BUILD_ROOT/%{DOCDIR}/README.smbwrapper
+cp -a docs/*                   $RPM_BUILD_ROOT/%{DOCDIR}
+cp -a examples/                        $RPM_BUILD_ROOT/%{DOCDIR}
+# save space...
+rm -r \
+       $RPM_BUILD_ROOT/%{SWATDIR}/using_samba 
+ln -s %{DOCDIR}/htmldocs/using_samba $RPM_BUILD_ROOT/%{SWATDIR}
+
+
+%post
+###### disabled for 8.1
+###echo "Updating etc/rc.config..."
+##if [ -x bin/fillup ] ; then
+##  bin/fillup -q -d = etc/rc.config var/adm/fillup-templates/rc.config.samba
+##  bin/fillup -q -d = etc/rc.config var/adm/fillup-templates/rc.config.winbind
+##else
+##  echo "ERROR: fillup not found. This should not happen. Please compare"
+##  echo "etc/rc.config and var/adm/fillup-templates/rc.config.samba and"
+##  echo "var/adm/fillup-templates/rc.config.winbind and update by hand."
+##fi
+mkdir -p $RPM_BUILD_ROOT/var/adm/notify/messages
+cat << EOF > var/adm/notify/messages/samba-notify
+Achtung!
+
+This is %{name}-%{samba_ver}. Please do not run on production systems.
+
+You have been warned.
+EOF
+
+# Initialize runlevel links
+#
+%{fillup_and_insserv smb}
+#sbin/insserv /etc/init.d/smb
+
+%post client
+#sbin/insserv /etc/init.d/smbfs
+%{fillup_and_insserv -fpy smbfs}
+%{fillup_only -ans samba client}
+
+%postun
+%{insserv_cleanup}
+#sbin/insserv /etc/init.d/
+
+%postun client
+%{insserv_cleanup}
+#sbin/insserv /etc/init.d/
+
+%post winbind
+%{fillup_and_insserv winbind}
+#sbin/insserv /etc/init.d/winbind
+
+%postun winbind
+%{insserv_cleanup}
+#sbin/insserv /etc/init.d/
+
+%clean
+#make -C source realclean
+
+%files
+%config(noreplace) /etc/samba/smbpasswd
+%config /etc/pam.d/samba
+%config /etc/init.d/smb
+%config /etc/init.d/wrepl
+#/usr/bin/make_printerdef
+/usr/bin/addtosmbpass
+/usr/bin/convert_smbpasswd
+/usr/bin/smbgroupedit
+/usr/bin/ntlm_auth
+/usr/bin/profiles
+/usr/bin/smbfilter
+/usr/bin/smbpasswd
+/usr/bin/smbstatus
+/usr/bin/testparm
+/usr/bin/testprns
+#%doc %{_mandir}/man1/smbrun.1.gz
+%doc %{_mandir}/man1/smbsh.1.gz
+%doc %{_mandir}/man1/smbstatus.1.gz
+%doc %{_mandir}/man1/testparm.1.gz
+%doc %{_mandir}/man1/testprns.1.gz
+%doc %{_mandir}/man5/smbpasswd.5.gz
+%doc %{_mandir}/man7/samba.7.gz
+%doc %{_mandir}/man8/nmbd.8.gz
+%doc %{_mandir}/man8/smbd.8.gz
+%doc %{_mandir}/man8/smbgroupedit.8.gz
+%doc %{_mandir}/man8/smbpasswd.8.gz
+%doc %{_mandir}/man8/swat.8.gz
+/usr/sbin/nmbd
+/usr/sbin/smbd
+/usr/sbin/swat
+/usr/sbin/wrepld
+/usr/sbin/rcsmb
+/usr/sbin/rcwrepl
+#/var/adm/fillup-templates/rc.config.samba
+/var/log/samba
+/var/spool/samba
+/var/run/samba
+/var/lib/samba
+/usr/share/samba
+/lib/security/pam_smbpass.so
+
+%files client
+%config(noreplace) /etc/samba/smb.conf
+%config(noreplace) /etc/samba/lmhosts
+/etc/samba/lowcase.dat
+/etc/samba/upcase.dat
+/etc/samba/valid.dat
+%config /etc/init.d/smbfs
+/usr/sbin/rcsmbfs
+/sbin/mount.smbfs
+/usr/bin/findsmb
+/usr/bin/net
+/usr/bin/nmblookup
+/usr/bin/pdbedit
+/usr/bin/rpcclient
+/usr/bin/smbcacls
+/usr/bin/smbcontrol
+/usr/bin/smbclient
+/usr/bin/smbmnt
+/usr/bin/smbmount
+%if %{smbwrap}
+/usr/bin/smbsh
+%endif
+/usr/bin/smbumount
+/usr/bin/smbspool
+/usr/bin/smbtar
+/usr/bin/smbtree
+%doc %{_mandir}/man1/nmblookup.1.gz
+%doc %{_mandir}/man1/rpcclient.1.gz
+%doc %{_mandir}/man1/smbclient.1.gz
+%doc %{_mandir}/man1/smbcacls.1.gz
+%doc %{_mandir}/man1/smbcontrol.1.gz
+%doc %{_mandir}/man1/smbtar.1.gz
+%doc %{_mandir}/man5/lmhosts.5.gz
+%doc %{_mandir}/man5/smb.conf.5.gz
+%doc %{_mandir}/man8/net.8.gz
+%doc %{_mandir}/man8/pdbedit.8.gz
+%doc %{_mandir}/man8/smbmnt.8.gz
+%doc %{_mandir}/man8/smbmount.8.gz
+%doc %{_mandir}/man8/smbspool.8.gz
+%doc %{_mandir}/man8/smbumount.8.gz
+/usr/include/libsmbclient.h
+%if %{smbwrap}
+/usr/lib/samba/smbwrapper.so
+%endif
+/usr/lib/libsmbclient.a
+/usr/lib/libsmbclient.so
+/usr/lib/libsmbclient.so.0
+
+%files winbind
+%config(noreplace) /etc/samba/smb.conf.winbind
+%config /etc/init.d/winbind
+%doc %{_mandir}/man1/wbinfo.1.gz
+%doc %{_mandir}/man8/winbindd.8.gz
+/usr/bin/wbinfo
+%if %{head} > 0
+/usr/bin/ntlm_auth
+%endif
+/usr/sbin/winbindd
+/usr/sbin/rcwinbind
+#/var/adm/fillup-templates/rc.config.winbind
+/lib/security/pam_winbind.so
+/lib/libnss_winbind.so
+/lib/libnss_winbind.so.2
+/lib/libnss_wins.so
+/lib/libnss_wins.so.2
+
+%files utils
+/usr/bin/smbtorture
+/usr/bin/msgtest
+/usr/bin/masktest
+/usr/bin/locktest
+/usr/bin/locktest2
+/usr/bin/debug2html
+/usr/bin/talloctort
+/usr/bin/tdbbackup
+/usr/bin/tdbdump  
+/usr/bin/tdbtest  
+/usr/bin/tdbtool  
+/usr/bin/tdbtorture
+/usr/bin/vfstest
+/usr/bin/nsstest
+%if %{head} > 0
+%if %{newsam} > 0
+/usr/bin/samtest
+%endif
+/usr/bin/profiles
+/usr/bin/editreg
+%endif
+%doc %{_mandir}/man1/vfstest.1.gz
+
+%files doc
+%docdir %{DOCDIR}
+%{DOCDIR}
+
+%files pdb
+/usr/lib/samba/pdb
+%doc examples/pdb/*
+
+%files vfs
+/usr/lib/samba/vfs
+%doc examples/VFS/README*
+%doc examples/VFS/Makefile*
+#doc examples/VFS/audit*
+#%doc examples/VFS/block*
+#doc examples/VFS/netatalk*
+#doc examples/VFS/recycle*
+%doc examples/VFS/skel*
+
+%if %{newsam} > 0
+%files sam
+/usr/lib/samba/sam
+%if %{head} > 0
+%doc examples/sam/*
+%endif
+%endif
+
+%files vscan
+/usr/lib/samba/vscan
+%doc %{name}-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,NEWS,README,TODO}
+
+
+%files python
+%doc source/python/README 
+%if %{python} > 0
+/usr/lib/python2.2/lib-dynload/samba
+%doc source/python/examples 
+%doc source/python/gprinterdata
+%doc source/python/gtdbtool
+%doc source/python/gtkdictbrowser.py
+%if %{head} > 0
+%doc source/python/gtkdictbrowser.pyc
+%doc source/python/printerdata.pyc
+%endif
+%endif
+
+%description
+Samba is a suite of programs which work together to allow clients to
+access Unix filespace and printers via the SMB protocol (Server Message
+Block). 
+In practice, this means that you can redirect disks and printers to
+Unix disks and printers from LAN Manager clients, Windows for
+Workgroups 3.11 clients, Windows'95 clients, Windows NT clients
+and OS/2 clients. There is
+also a Unix client program supplied as part of the suite which allows
+Unix users to use an ftp-like interface to access filespace and
+printers on any other SMB server.
+Samba includes the following programs (in summary):
+* smbd, the SMB server. This handles actual connections from clients.
+* nmbd, the Netbios name server, which helps clients locate servers.
+* smbclient, the Unix-hosted client program.
+* smbrun, a little 'glue' program to help the server run external
+programs. 
+* testprns, a program to test server access to printers.
+* testparm, a program to test the Samba configuration file for correctness.
+* smb.conf, the Samba configuration file.
+* smbprint, a sample script to allow a Unix host to use smbclient
+to print to an SMB server.
+The suite is supplied with full source and is GPLed.
+This package expects its config file under /etc/smb.conf .
+
+Authors:
+--------
+    Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
+    Karl Auer <Karl.Auer@anu.edu.au>
+    Jeremy Allison <jeremy@netcom.com>
+
+SuSE series: n
+
+
+%description client
+This package contains all programs, that are needed to act as a samba
+client. This includes also smbmount, of course.
+
+Authors:
+--------
+    Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
+    Karl Auer <Karl.Auer@anu.edu.au>
+    Jeremy Allison <jeremy@netcom.com>
+
+SuSE series: n
+
+
+%description winbind
+This is the winbind-daemon and the wbinfo-tool.
+
+%description utils
+Some of the debug-tools for developpers.
+Contains:
+       - debug2html
+       - locktest
+       - locktest2
+       - masktest
+       - msgtest
+       - smbtorture
+       - talloctort
+       - several tdb-tools
+
+%description doc
+The Samba Documentation.
+
+%description vfs
+The Samba VFS-Modules.
+
+%description pdb
+The Samba PDB-Modules.
+
+%if %{newsam} > 0
+%description sam
+The Samba SAM-Modules.
+%endif
+
+%description vscan
+The Samba VFS-Modules for Virusscanners.
+
+%description python
+The Samba python-Modules.
index fa94c582e0e6978d29daac6c1570f680ca7fa32a..84b13e07671b429932541d7993cfec9dfb887841 100644 (file)
@@ -4,14 +4,13 @@
 # Copyright (C) 2001 by Martin Pool <mbp@samba.org>
 # Copyright Andrew Bartlett 2002
 # Copyright (C) 2003 Anthony Liguori <aliguor@us.ibm.com>
-# Copyright (C) 2002-2003 Jelmer Vernooij <jelmer@samba.org>
 ###########################################################################
 
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 mandir=@mandir@
 
-LIBS=@LIBS@
+LIBS=@LIBS@ 
 CC=@CC@
 SHLD=@SHLD@
 CFLAGS=@CFLAGS@
@@ -22,16 +21,12 @@ LDSHFLAGS=@LDSHFLAGS@ @LDFLAGS@ @CFLAGS@
 AWK=@AWK@
 DYNEXP=@DYNEXP@
 PYTHON=@PYTHON@
-PERL=@PERL@
 
 TERMLDFLAGS=@TERMLDFLAGS@
 TERMLIBS=@TERMLIBS@
 PRINTLIBS=@PRINTLIBS@
 AUTHLIBS=@AUTHLIBS@
 ACLLIBS=@ACLLIBS@
-PASSDBLIBS=@PASSDBLIBS@
-ADSLIBS=@ADSLIBS@
-KRB5LIBS=@KRB5_LIBS@
 
 LINK=$(CC) $(FLAGS) $(LDFLAGS)
 
@@ -59,8 +54,6 @@ LIBDIR = @libdir@
 VFSLIBDIR = $(LIBDIR)/vfs
 PDBLIBDIR = $(LIBDIR)/pdb
 RPCLIBDIR = $(LIBDIR)/rpc
-CHARSETLIBDIR = $(LIBDIR)/charset
-AUTHLIBDIR = $(LIBDIR)/auth
 CONFIGDIR = @configdir@
 VARDIR = @localstatedir@
 MANDIR = @mandir@
@@ -125,8 +118,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@ \
@@ -143,12 +135,8 @@ SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script
 
 QUOTAOBJS=@QUOTAOBJS@
 
-VFS_MODULES = @VFS_MODULES@
-PDB_MODULES = @PDB_MODULES@
-RPC_MODULES = @RPC_MODULES@
-CHARSET_MODULES = @CHARSET_MODULES@
-AUTH_MODULES = @AUTH_MODULES@
-MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(CHARSET_MODULES) $(AUTH_MODULES)
+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@
 
 ######################################################################
 # object file lists
@@ -175,8 +163,7 @@ 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 @CHARSET_STATIC@
+         lib/module.o lib/ldap_escape.o
 
 LIB_SMBD_OBJ = lib/system_smbd.o lib/util_smbd.o
 
@@ -187,7 +174,7 @@ 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 
 
-PARAM_OBJ = dynconfig.o param/loadparm.o param/params.o
+PARAM_OBJ = param/loadparm.o param/params.o dynconfig.o
 
 KRBCLIENT_OBJ = libads/kerberos.o
 
@@ -217,7 +204,6 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.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)
 
 LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
@@ -227,7 +213,7 @@ LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
               rpc_client/cli_spoolss.o rpc_client/cli_spoolss_notify.o  \
               rpc_client/cli_ds.o libsmb/namequery_dc.o
 
-LIBMSRPC_SERVER_OBJ = libsmb/trusts_util.o
+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 \
@@ -252,7 +238,29 @@ RPC_SPOOLSS_OBJ = rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o
 RPC_PIPE_OBJ = rpc_server/srv_pipe_hnd.o rpc_server/srv_util.o \
                rpc_server/srv_pipe.o rpc_server/srv_lsa_hnd.o
 
-RPC_SERVER_OBJ = @RPC_STATIC@ $(RPC_PIPE_OBJ)
+# These are like they are to avoid a dependency on GNU MAKE
+@LSA_DYNAMIC_YES@RPC_MODULES1 = bin/librpc_lsarpc.@SHLIBEXT@
+@NETLOG_DYNAMIC_YES@RPC_MODULES2 = bin/librpc_NETLOGON.@SHLIBEXT@
+@SAMR_DYNAMIC_YES@RPC_MODULES3 = bin/librpc_samr.@SHLIBEXT@
+@SVC_DYNAMIC_YES@RPC_MODULES4 = bin/librpc_srvsvc.@SHLIBEXT@
+@WKS_DYNAMIC_YES@RPC_MODULES5 = bin/librpc_wkssvc.@SHLIBEXT@
+@REG_DYNAMIC_YES@RPC_MODULES6 = bin/librpc_winreg.@SHLIBEXT@
+@SPOOLSS_DYNAMIC_YES@RPC_MODULES7 = bin/librpc_spoolss.@SHLIBEXT@
+@DFS_DYNAMIC_YES@RPC_MODULES8 = bin/librpc_netdfs.@SHLIBEXT@
+RPC_MODULES = $(RPC_MODULES1) $(RPC_MODULES2) $(RPC_MODULES3) $(RPC_MODULES4) \
+       $(RPC_MODULES5) $(RPC_MODULES6) $(RPC_MODULES7) $(RPC_MODULES8)
+
+@LSA_DYNAMIC_NO@RPC_PIPE_OBJ1 = $(RPC_LSA_OBJ)
+@NETLOG_DYNAMIC_NO@RPC_PIPE_OBJ2 = $(RPC_NETLOG_OBJ)
+@SAMR_DYNAMIC_NO@RPC_PIPE_OBJ3 = $(RPC_SAMR_OBJ)
+@SVC_DYNAMIC_NO@RPC_PIPE_OBJ4 = $(RPC_SVC_OBJ)
+@WKS_DYNAMIC_NO@RPC_PIPE_OBJ5 = $(RPC_WKS_OBJ)
+@REG_DYNAMIC_NO@RPC_PIPE_OBJ6 = $(RPC_REG_OBJ)
+@SPOOLSS_DYNAMIC_NO@RPC_PIPE_OBJ7 = $(RPC_SPOOLSS_OBJ)
+@DFS_DYNAMIC_NO@RPC_PIPE_OBJ8 =        $(RPC_DFS_OBJ)
+RPC_SERVER_OBJ = $(RPC_PIPE_OBJ1) $(RPC_PIPE_OBJ2) $(RPC_PIPE_OBJ3) \
+       $(RPC_PIPE_OBJ4) $(RPC_PIPE_OBJ5) $(RPC_PIPE_OBJ6) $(RPC_PIPE_OBJ7) \
+       $(RPC_PIPE_OBJ8) $(RPC_PIPE_OBJ)
 
 # this includes only the low level parse code, not stuff
 # that requires knowledge of security contexts
@@ -274,27 +282,17 @@ LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
 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/util_sam_sid.o passdb/pdb_compat.o \
-               passdb/privileges.o lib/ldap.o @PDB_STATIC@
+               passdb/machine_sid.o passdb/pdb_smbpasswd.o \
+               passdb/pdb_tdb.o passdb/pdb_ldap.o passdb/pdb_plugin.o \
+               passdb/pdb_unix.o passdb/pdb_guest.o passdb/util_sam_sid.o \
+               passdb/pdb_compat.o passdb/pdb_nisplus.o
 
-XML_OBJ = modules/xml.o
-MYSQL_OBJ = modules/mysql.o
-DEVEL_HELP_OBJ = modules/developer.o
-
-SAM_STATIC_MODULES = sam/sam_plugin.o sam/sam_skel.o sam/sam_ads.o
-
-IDMAP_OBJ = sam/idmap.o sam/idmap_tdb.o sam/idmap_winbind.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 $(PARAM_OBJ) $(SAM_OBJ) $(LIB_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
 
 PROFILE_OBJ = profile/profile.o
-PROFILES_OBJ = utils/profiles.o
-EDITREG_OBJ = utils/editreg.o lib/snprintf.o
 
 OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o
 
@@ -304,16 +302,9 @@ PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
 
 UNIGRP_OBJ = libsmb/netlogon_unigrp.o 
 
-AUTH_BUILTIN_OBJ = auth/auth_builtin.o
-AUTH_DOMAIN_OBJ = auth/auth_domain.o
-AUTH_SAM_OBJ = auth/auth_sam.o
-AUTH_RHOSTS_OBJ = auth/auth_rhosts.o
-AUTH_SERVER_OBJ = auth/auth_server.o
-AUTH_UNIX_OBJ = auth/auth_unix.o
-AUTH_WINBIND_OBJ = auth/auth_winbind.o
-
-AUTH_OBJ = auth/auth.o @AUTH_STATIC@ auth/auth_util.o auth/auth_compat.o \
-                  auth/auth_ntlmssp.o \
+AUTH_OBJ = auth/auth.o auth/auth_sam.o auth/auth_server.o auth/auth_domain.o \
+          auth/auth_rhosts.o auth/auth_unix.o auth/auth_util.o auth/auth_winbind.o \
+          auth/auth_builtin.o auth/auth_compat.o auth/auth_ntlmssp.o \
           $(PLAINTEXT_AUTH_OBJ) $(UNIGRP_OBJ)
 
 MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_map.o smbd/mangle_hash2.o
@@ -334,17 +325,16 @@ SMBD_OBJ_SRV = smbd/files.o smbd/chgpasswd.o smbd/connection.o \
               printing/printfsp.o lib/util_seaccess.o \
                smbd/build_options.o \
               smbd/change_trust_pw.o \
-              $(MANGLE_OBJ) @VFS_STATIC@
+              $(MANGLE_OBJ)
 
-SMBD_OBJ_BASE = $(PARAM_OBJ) $(SMBD_OBJ_SRV) $(MSDFS_OBJ) $(LIBSMB_OBJ) \
-               $(RPC_SERVER_OBJ) $(RPC_PARSE_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) \
+SMBD_OBJ_BASE = $(SMBD_OBJ_SRV) $(MSDFS_OBJ) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
+               $(RPC_SERVER_OBJ) $(RPC_PARSE_OBJ) $(SECRETS_OBJ) \
                $(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) \
                $(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) \
-               $(LIB_SMBD_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ) \
-               $(IDMAP_OBJ)
+               $(LIB_SMBD_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ)
 
 
 PRINTING_OBJ = printing/pcap.o printing/print_svid.o \
@@ -356,7 +346,8 @@ PRINTBACKEND_OBJ = printing/printing.o printing/nt_printing.o printing/notify.o
 
 MSDFS_OBJ = msdfs/msdfs.o 
 
-SMBD_OBJ = $(SMBD_OBJ_BASE) $(SMBD_OBJ_MAIN)
+SMBD_OBJ = $(SMBD_OBJ_MAIN) $(SMBD_OBJ_BASE)
+
 NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
             nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \
             nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \
@@ -377,13 +368,13 @@ WREPL_OBJ1 = wrepld/server.o wrepld/process.o wrepld/parser.o wrepld/socket.o \
              wrepld/partners.o
 
 WREPL_OBJ = $(WREPL_OBJ1)  $(PARAM_OBJ) $(UBIQX_OBJ) \
-           $(PROFILE_OBJ) $(LIB_OBJ) $(POPT_LIB_OBJ)
+           $(PROFILE_OBJ) $(LIB_OBJ)
 
 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) $(PARAM_OBJ) $(PRINTING_OBJ) $(LIBSMB_OBJ) \
-                  $(LOCKING_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \
+SWAT_OBJ = $(SWAT_OBJ1) $(PRINTING_OBJ) $(LIBSMB_OBJ) $(LOCKING_OBJ) \
+           $(PARAM_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \
           $(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ) \
           $(POPT_LIB_OBJ)
 
@@ -399,7 +390,7 @@ SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PARAM_OBJ) \
 
 SMBTREE_OBJ = utils/smbtree.o $(LOCKING_OBJ) $(PARAM_OBJ) \
              $(UBIQX_OBJ) $(PROFILE_OBJ) $(LIB_OBJ) $(LIBSMB_OBJ) \
-            $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ)
+            $(KRBCLIENT_OBJ)
 
 TESTPARM_OBJ = utils/testparm.o \
                $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) $(POPT_LIB_OBJ)
@@ -409,15 +400,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) \
-               $(IDMAP_OBJ)
+                $(UBIQX_OBJ) $(LIB_OBJ) $(KRBCLIENT_OBJ)
 
 PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(PASSDB_OBJ) $(LIBSAMBA_OBJ) \
                $(UBIQX_OBJ) $(LIB_OBJ) $(GROUPDB_OBJ) $(SECRETS_OBJ) \
-               $(POPT_LIB_OBJ) $(IDMAP_OBJ)
+               $(POPT_LIB_OBJ)
 
 SMBGROUPEDIT_OBJ = utils/smbgroupedit.o $(GROUPDB_OBJ) $(PARAM_OBJ) \
-               $(LIBSAMBA_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) $(IDMAP_OBJ)
+               $(LIBSAMBA_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,8 +419,7 @@ 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) \
-            $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \
-            $(IDMAP_OBJ)
+            $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ)
 
 PAM_WINBIND_OBJ = nsswitch/pam_winbind.po nsswitch/wb_common.po lib/snprintf.po
 
@@ -447,8 +436,8 @@ SMBWRAPPER_OBJ1 = smbwrapper/wrapped.o
 SMBWRAPPER_OBJ = $(SMBW_OBJ) $(SMBWRAPPER_OBJ1)
 
 LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \
-                  libsmb/libsmb_cache.o $(PARAM_OBJ) $(LIB_OBJ) \
-                  $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(UBIQX_OBJ)
+                  libsmb/libsmb_cache.o $(LIB_OBJ) \
+                  $(LIBSMB_OBJ) $(KRBCLIENT_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
@@ -456,7 +445,7 @@ LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \
 
 LIBBIGBALLOFMUD_MAJOR = 0
 
-LIBBIGBALLOFMUD_OBJ = $(PARAM_OBJ) $(LIB_OBJ) $(UBIQX_OBJ) $(SECRETS_OBJ) \
+LIBBIGBALLOFMUD_OBJ = $(LIB_OBJ) $(UBIQX_OBJ) $(PARAM_OBJ) $(SECRETS_OBJ) \
        $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
        $(GROUPDB_OBJ) $(KRBCLIENT_OBJ)
 
@@ -473,12 +462,11 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_ads_cldap.o utils/net_help.o \
           utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \
           utils/net_cache.o
 
-NET_OBJ = $(NET_OBJ1) $(PARAM_OBJ) $(SECRETS_OBJ) $(LIBSMB_OBJ) \
+NET_OBJ = $(NET_OBJ1) $(SECRETS_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
          $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
-         $(KRBCLIENT_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
+         $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
          $(LIBMSRPC_OBJ) $(LIBMSRPC_SERVER_OBJ) \
-         $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(POPT_LIB_OBJ) \
-         $(IDMAP_OBJ)
+         $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(POPT_LIB_OBJ)
 
 CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) \
          $(LIB_OBJ) $(KRBCLIENT_OBJ)
@@ -491,24 +479,24 @@ MNT_OBJ = client/smbmnt.o
 UMOUNT_OBJ = client/smbumount.o
 
 NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBNMB_OBJ) \
-               $(LIB_OBJ) $(POPT_LIB_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) $(PARAM_OBJ) \
-       $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) \
+       $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
 
-MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+MASKTEST_OBJ = torture/masktest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-MSGTEST_OBJ = torture/msgtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+MSGTEST_OBJ = torture/msgtest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
-LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) $(LOCKING_OBJ) $(KRBCLIENT_OBJ) \
-                          $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+LOCKTEST_OBJ = torture/locktest.o $(LOCKING_OBJ) $(KRBCLIENT_OBJ) $(LIBSMB_OBJ) $(PARAM_OBJ) \
+                 $(UBIQX_OBJ) $(LIB_OBJ)
 
-NSSTEST_OBJ = torture/nsstest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+NSSTEST_OBJ = torture/nsstest.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ)
 
 VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ)
@@ -517,17 +505,17 @@ 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 $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \
-               $(KRBCLIENT_OBJ) $(UBIQX_OBJ) $(LIB_OBJ)
+LOCKTEST2_OBJ = torture/locktest2.o $(LOCKING_OBJ) $(LIBSMB_OBJ) \
+               $(KRBCLIENT_OBJ) $(PARAM_OBJ) \
+                 $(UBIQX_OBJ) $(LIB_OBJ)
 
-SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \
-                          $(KRBCLIENT_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) $(RPC_PARSE_OBJ) \
-                          $(PASSDB_GET_SET_OBJ) $(LIBMSRPC_OBJ) $(SECRETS_OBJ) \
-                          $(POPT_LIB_OBJ)
+SMBCACLS_OBJ = utils/smbcacls.o $(LOCKING_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+               $(PARAM_OBJ) \
+                 $(UBIQX_OBJ) $(LIB_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_GET_SET_OBJ) \
+                $(LIBMSRPC_OBJ) $(SECRETS_OBJ)
 
-TALLOCTORT_OBJ = lib/talloctort.o $(PARAM_OBJ) $(LIB_OBJ) $(UBIQX_OBJ)
+TALLOCTORT_OBJ = lib/talloctort.o  $(LIB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
 
 RPCTORTURE_OBJ = torture/rpctorture.o \
              rpcclient/display.o \
@@ -541,7 +529,7 @@ RPCTORTURE_OBJ = torture/rpctorture.o \
 
 DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o
 
-SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
+SMBFILTER_OBJ = utils/smbfilter.o $(LIBSMB_OBJ) $(PARAM_OBJ) \
                  $(UBIQX_OBJ) $(LIB_OBJ) $(KRBCLIENT_OBJ) 
 
 PROTO_OBJ = $(SMBD_OBJ_MAIN) \
@@ -555,8 +543,7 @@ PROTO_OBJ = $(SMBD_OBJ_MAIN) \
            $(READLINE_OBJ) $(PROFILE_OBJ) $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) \
            $(LIB_SMBD_OBJ) $(SAM_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) \
-           $(IDMAP_OBJ)
+           $(RPC_SVC_OBJ) $(RPC_WKS_OBJ) $(RPC_DFS_OBJ) $(RPC_SPOOLSS_OBJ)
 
 NSS_OBJ_0 = nsswitch/wins.o $(PARAM_OBJ) $(UBIQX_OBJ) $(LIBSMB_OBJ) \
            $(LIB_OBJ) $(NSSWINS_OBJ)
@@ -580,8 +567,6 @@ WINBINDD_OBJ1 = \
                nsswitch/winbindd_user.o  \
                nsswitch/winbindd_group.o \
                nsswitch/winbindd_idmap.o \
-               nsswitch/winbindd_idmap_tdb.o \
-               nsswitch/winbindd_idmap_ldap.o \
                nsswitch/winbindd_util.o  \
                nsswitch/winbindd_cache.o \
                nsswitch/winbindd_pam.o   \
@@ -597,11 +582,11 @@ WINBINDD_OBJ = \
                $(WINBINDD_OBJ1) $(PASSDB_GET_SET_OBJ) \
                $(PARAM_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
                $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \
-               $(PROFILE_OBJ) $(UNIGRP_OBJ) $(IDMAP_OBJ) \
-               $(SECRETS_OBJ) $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
-               lib/ldap.o
+               $(PROFILE_OBJ) $(UNIGRP_OBJ) \
+               $(SECRETS_OBJ) $(LIBADS_OBJ) $(KRBCLIENT_OBJ)
 
-WBINFO_OBJ = nsswitch/wbinfo.o libsmb/smbencrypt.o libsmb/smbdes.o $(POPT_LIB_OBJ)
+WBINFO_OBJ = nsswitch/wbinfo.o libsmb/smbencrypt.o libsmb/smbdes.o \
+       $(POPT_LIB_OBJ)
 
 WINBIND_NSS_OBJ = nsswitch/wb_common.o @WINBIND_NSS_EXTRA_OBJS@
 
@@ -617,8 +602,7 @@ NTLM_AUTH_OBJ = utils/ntlm_auth.o $(LIBNTLMSSP_OBJ) $(LIBSAMBA_OBJ) $(POPT_LIB_O
 ######################################################################
 # now the rules...
 ######################################################################
-all : SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(SHLIBS) \
-       $(TORTURE_PROGS) $(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@
 
@@ -650,9 +634,9 @@ nsswitch : SHOWFLAGS bin/winbindd@EXEEXT@ bin/wbinfo@EXEEXT@ nsswitch/libnss_win
 
 wins : SHOWFLAGS nsswitch/libnss_wins.@SHLIBEXT@
 
-modules: SHOWFLAGS proto_exists $(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
@@ -687,7 +671,6 @@ MAKEDIR = || exec false; \
 # rebuild it's a bit hard.
 
 dynconfig.o: dynconfig.c Makefile
-       @$(MAKE) modules_clean
        @echo Compiling $*.c
        @$(CC) $(FLAGS) $(PATH_FLAGS) -c $< -o $@ 
 
@@ -724,49 +707,45 @@ bin/.dummy:
 
 bin/smbd@EXEEXT@: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(ADSLIBS) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
-         $(AUTHLIBS) $(ACLLIBS) $(PASSDBLIBS) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
+         $(AUTHLIBS) $(ACLLIBS) $(LIBS) @BUILD_POPT@
 
 bin/nmbd@EXEEXT@: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/wrepld@EXEEXT@: $(WREPL_OBJ) @BUILD_POPT@ bin/.dummy
+bin/wrepld@EXEEXT@: $(WREPL_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(WREPL_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(WREPL_OBJ) $(LDFLAGS) $(LIBS) 
 
 bin/swat@EXEEXT@: $(SWAT_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
-         $(AUTHLIBS) $(LIBS) $(PASSDBLIBS)  @POPTLIBS@ $(KRB5LIBS)
+         $(AUTHLIBS) $(LIBS) @BUILD_POPT@
 
 bin/rpcclient@EXEEXT@: $(RPCCLIENT_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS)
+       @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @BUILD_POPT@
 
 bin/smbclient@EXEEXT@: $(CLIENT_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @BUILD_POPT@
 
 bin/net@EXEEXT@: $(NET_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(ADSLIBS)
-
-bin/profiles@EXEEXT@: $(PROFILES_OBJ) @BUILD_POPT@ bin/.dummy
-       @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(PROFILES_OBJ) $(LDFLAGS) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/editreg@EXEEXT@: $(EDITREG_OBJ) @BUILD_POPT@ bin/.dummy
+bin/profiles@EXEEXT@: utils/profiles.o bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(EDITREG_OBJ) $(LDFLAGS) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ utils/profiles.o $(LDFLAGS) $(LIBS)
 
 bin/smbspool@EXEEXT@: $(CUPS_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbmount@EXEEXT@: $(MOUNT_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbmnt@EXEEXT@: $(MNT_OBJ) bin/.dummy
        @echo Linking $@
@@ -778,47 +757,43 @@ bin/smbumount@EXEEXT@: $(UMOUNT_OBJ) bin/.dummy
 
 bin/testparm@EXEEXT@: $(TESTPARM_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
 bin/testprns@EXEEXT@: $(TESTPRNS_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) $(LIBS)
+       @$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(PRINTLIBS) $(LIBS)
 
 bin/smbstatus@EXEEXT@: $(STATUS_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
 bin/smbcontrol@EXEEXT@: $(SMBCONTROL_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) -DUSING_SMBCONTROL $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS)
+       @$(CC) -DUSING_SMBCONTROL $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbtree@EXEEXT@: $(SMBTREE_OBJ) @BUILD_POPT@ bin/.dummy
+bin/smbtree@EXEEXT@: $(SMBTREE_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbpasswd@EXEEXT@: $(SMBPASSWD_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
 
 bin/pdbedit@EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@
-
-bin/samtest@EXEEXT@: $(SAMTEST_OBJ) @BUILD_POPT@ bin/.dummy
-       @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SAMTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(PASSDBLIBS) $(ADSLIBS)
+       @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @BUILD_POPT@
 
 bin/smbgroupedit@EXEEXT@: $(SMBGROUPEDIT_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBGROUPEDIT_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBGROUPEDIT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/nmblookup@EXEEXT@: $(NMBLOOKUP_OBJ) @BUILD_POPT@ bin/.dummy
+bin/nmblookup@EXEEXT@: $(NMBLOOKUP_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@
+       @$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbtorture@EXEEXT@: $(SMBTORTURE_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/talloctort@EXEEXT@: $(TALLOCTORT_OBJ) bin/.dummy
        @echo Linking $@
@@ -826,35 +801,35 @@ bin/talloctort@EXEEXT@: $(TALLOCTORT_OBJ) bin/.dummy
 
 bin/masktest@EXEEXT@: $(MASKTEST_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/msgtest@EXEEXT@: $(MSGTEST_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbcacls@EXEEXT@: $(SMBCACLS_OBJ) @BUILD_POPT@ bin/.dummy
+bin/smbcacls@EXEEXT@: $(SMBCACLS_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS)
 
 bin/locktest@EXEEXT@: $(LOCKTEST_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/nsstest@EXEEXT@: $(NSSTEST_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/vfstest@EXEEXT@: $(VFSTEST_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINTLIBS) $(AUTHLIBS) $(ACLLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS)
+       @$(CC) $(FLAGS) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINTLIBS) $(AUTHLIBS) $(ACLLIBS) $(LIBS) @BUILD_POPT@
 
 bin/locktest2@EXEEXT@: $(LOCKTEST2_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/rpctorture@EXEEXT@: $(RPCTORTURE_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS)
 
 bin/debug2html@EXEEXT@: $(DEBUG2HTML_OBJ) bin/.dummy
        @echo Linking $@
@@ -862,34 +837,34 @@ bin/debug2html@EXEEXT@: $(DEBUG2HTML_OBJ) bin/.dummy
 
 bin/smbfilter@EXEEXT@: $(SMBFILTER_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbw_sample@EXEEXT@: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS) $(KRB5LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS)
 
 bin/smbsh@EXEEXT@: $(SMBSH_OBJ) bin/.dummy
        @echo Linking $@
-       @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
+       @$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
 
 bin/smbwrapper.@SHLIBEXT@: $(PICOBJS) bin/.dummy
        @echo Linking shared library $@
        @$(SHLD) $(LDSHFLAGS) -o $@ $(PICOBJS) $(LIBS) \
-               @SONAMEFLAG@`basename $@` $(KRB5LIBS)
+               @SONAMEFLAG@`basename $@`
 
 bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32)
        @echo Linking shared library $@
        @$(SHLD) -32 $(LDSHFLAGS) -o $@ $(PICOBJS32) $(LIBS) \
-               @SONAMEFLAG@`basename $@` $(KRB5LIBS)
+               @SONAMEFLAG@`basename $@`
 
 bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS)
        @echo Linking libsmbclient shared library $@
        $(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \
-               @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR) $(KRB5LIBS)
+               @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
 
 bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS)
        @echo Linking libsmbclient non-shared library $@
-       -$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS) $(KRB5LIBS)
+       -$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS) 
 
 bin/libbigballofmud.@SHLIBEXT@: $(LIBBIGBALLOFMUD_PICOBJS)
        @echo Linking bigballofmud shared library $@
@@ -948,10 +923,9 @@ nsswitch/libnss_wins.@SHLIBEXT@: $(NSS_OBJ)
        @$(SHLD) $(LDSHFLAGS) -o $@ $(NSS_OBJ) -lc \
                @SONAMEFLAG@`basename $@`
 
-bin/winbindd@EXEEXT@: $(WINBINDD_OBJ) @BUILD_POPT@ bin/.dummy
+bin/winbindd@EXEEXT@: $(WINBINDD_OBJ) bin/.dummy
        @echo Linking $@
-       @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS) @POPTLIBS@ $(ADSLIBS) \
-               @LDAP_LIBS@
+       @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS)
 
 nsswitch/libns_winbind.@SHLIBEXT@: $(WINBIND_NSS_PICOBJS)
        @echo "Linking $@"
@@ -968,110 +942,47 @@ nsswitch/pam_winbind.@SHLIBEXT@: $(PAM_WINBIND_OBJ) bin/.dummy
        @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) \
                @SONAMEFLAG@`basename $@` -lpam
 
-bin/rhosts.@SHLIBEXT@: $(AUTH_RHOSTS_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_RHOSTS_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/builtin.@SHLIBEXT@: $(AUTH_BUILTIN_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_BUILTIN_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/domain.@SHLIBEXT@: $(AUTH_DOMAIN_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_DOMAIN_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/server.@SHLIBEXT@: $(AUTH_SERVER_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SERVER_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/winbind.@SHLIBEXT@: $(AUTH_WINBIND_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_WINBIND_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/unix.@SHLIBEXT@: $(AUTH_UNIX_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_UNIX_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/sam.@SHLIBEXT@: $(AUTH_SAM_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SAM_OBJ) @SONAMEFLAG@`basename $@`
-
-bin/mysql.@SHLIBEXT@: $(MYSQL_OBJ)
+bin/pdb_mysql.@SHLIBEXT@: $(PDB_MYSQL_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(MYSQL_OBJ) @MYSQL_LIBS@ \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(PDB_MYSQL_OBJ) @MYSQL_LIBS@ \
                @SONAMEFLAG@`basename $@`
 
-bin/ldapsam.@SHLIBEXT@: passdb/pdb_ldap.o
+bin/pdb_xml.@SHLIBEXT@: $(PDB_XML_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) @LDAP_LIBS@ -o $@ passdb/pdb_ldap.o \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(PDB_XML_OBJ) @XML_LIBS@ \
                @SONAMEFLAG@`basename $@`
 
-bin/tdbsam.@SHLIBEXT@: passdb/pdb_tdb.o
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_tdb.o \
-               @SONAMEFLAG@`basename $@`
-
-bin/smbpasswd.@SHLIBEXT@: passdb/pdb_smbpasswd.o
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_smbpasswd.o \
-               @SONAMEFLAG@`basename $@`
-
-bin/unixsam.@SHLIBEXT@: passdb/pdb_unix.o
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_unix.o \
-               @SONAMEFLAG@`basename $@`
-
-bin/nisplussam.@SHLIBEXT@: passdb/pdb_nisplus.o
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_nisplus.o \
-               @SONAMEFLAG@`basename $@`
-
-bin/weird.@SHLIBEXT@: $(DEVEL_HELP_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_OBJ) \
-               @SONAMEFLAG@`basename $@`
-
-bin/xml.@SHLIBEXT@: $(XML_OBJ)
-       @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(XML_OBJ) @XML_LIBS@ \
-               @SONAMEFLAG@`basename $@`
-
-bin/audit.@SHLIBEXT@: $(VFS_AUDIT_OBJ)
+bin/vfs_audit.@SHLIBEXT@: $(VFS_AUDIT_OBJ)
        @echo "Building plugin $@"
        @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AUDIT_OBJ) \
                @SONAMEFLAG@`basename $@`
 
-bin/extd_audit.@SHLIBEXT@: $(VFS_EXTD_AUDIT_OBJ)
+bin/vfs_extd_audit.@SHLIBEXT@: $(VFS_EXTD_AUDIT_OBJ)
        @echo "Building plugin $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_EXTD_AUDIT_OBJ) \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AUDIT_OBJ) \
                @SONAMEFLAG@`basename $@`
 
-bin/recycle.@SHLIBEXT@: $(VFS_RECYCLE_OBJ)
+bin/vfs_recycle.@SHLIBEXT@: $(VFS_RECYCLE_OBJ)
        @echo "Building plugin $@"
        @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_RECYCLE_OBJ) \
                @SONAMEFLAG@`basename $@`
 
-bin/netatalk.@SHLIBEXT@: $(VFS_NETATALK_OBJ)
+bin/vfs_netatalk.@SHLIBEXT@: $(VFS_NETATALK_OBJ)
        @echo "Building plugin $@"
        @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NETATALK_OBJ) \
                @SONAMEFLAG@`basename $@`
 
-bin/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 $@
        @$(LINK) -o $@ $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
-               $(UBIQX_OBJ) $(SECRETS_OBJ) $(LIBS) @POPTLIBS@
+               $(UBIQX_OBJ) $(SECRETS_OBJ) $(LIBS) @BUILD_POPT@
 
 bin/ntlm_auth@EXEEXT@: $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
                $(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy
        @echo Linking $@
        @$(LINK) -o $@ $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
-               $(UBIQX_OBJ) $(LIBS) @POPTLIBS@
+               $(UBIQX_OBJ) $(LIBS) @BUILD_POPT@
 
 bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_PICOOBJ)
        @echo "Linking shared library $@"
@@ -1092,8 +1003,9 @@ bin/t_stringoverflow@EXEEXT@: bin/libbigballofmud.@SHLIBEXT@ torture/t_stringove
 
 bin/t_doschar@EXEEXT@: bin/libbigballofmud.@SHLIBEXT@ torture/t_doschar.o
        $(CC) $(FLAGS) -o $@ $(LIBS) torture/t_doschar.o -L ./bin -lbigballofmud
+install: installbin installman installscripts installdat installswat 
 
-install: installbin installman installscripts installdat installswat installmodules installclientlib
+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
@@ -1113,13 +1025,11 @@ installbin: all installdirs
        @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
        @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
 
+       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(RPC_MODULES)
 
-installmodules: all modules installdirs
+installmodules: all installdirs
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(VFS_MODULES)
        @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(PDB_MODULES)
-       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(RPC_MODULES)
-       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSETLIBDIR) $(CHARSET_MODULES)
-       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(AUTHLIBDIR) $(AUTH_MODULES)
 
 installscripts: installdirs
        @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(DESTDIR)$(BINDIR) $(SCRIPTS)
@@ -1130,16 +1040,16 @@ installdat: installdirs
 installswat: installdirs
        @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir)
 
-installclientlib: bin/libsmbclient.@SHLIBEXT@
+installclientlib:
        -$(INSTALLCLIENTCMD_SH) bin/libsmbclient.@SHLIBEXT@ $(DESTDIR)${prefix}/lib
        -$(INSTALLCLIENTCMD_A) bin/libsmbclient.a $(DESTDIR)${prefix}/lib
-       @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)${prefix}/include
+       -$(INSTALLCMD) -d $(DESTDIR)${prefix}/include
        -$(INSTALLCMD) include/libsmbclient.h $(DESTDIR)${prefix}/include
 
 # Python extensions
 
-PYTHON_OBJS = $(PARAM_OBJ) $(LIB_OBJ) $(LIBSMB_OBJ) $(RPC_PARSE_OBJ) \
-       $(UBIQX_OBJ) $(LIBMSRPC_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
+PYTHON_OBJS = $(LIB_OBJ) $(LIBSMB_OBJ) $(RPC_PARSE_OBJ) $(UBIQX_OBJ) \
+       $(PARAM_OBJ) $(LIBMSRPC_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
        $(SECRETS_OBJ) $(KRBCLIENT_OBJ)
 
 python_ext: $(PYTHON_OBJS)
@@ -1147,7 +1057,7 @@ python_ext: $(PYTHON_OBJS)
                echo Use the option --with-python to configure python; \
                exit 1; fi
        PYTHON_OBJS="$(PYTHON_OBJS)" PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS) $(FLAGS)" \
-       LIBS="$(LIBS) $(PASSDBLIBS) $(KRB5LIBS)" \
+       LIBS="$(LIBS)" \
                $(PYTHON) python/setup.py build
 
 python_install: $(PYTHON_OBJS)
@@ -1189,13 +1099,11 @@ uninstallman:
 uninstallbin:
        @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
        @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS)
+       @$(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)$(RPCLIBDIR) $(DESTDIR)$(RPC_MODULES)
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSETLIBDIR) $(DESTDIR)$(CHARSET_MODULES)
-       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(AUTHLIBDIR) $(DESTDIR)$(AUTH_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)
@@ -1208,10 +1116,6 @@ clean: delheaders python_clean
                $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) \
                $(LIBSMBCLIENT) $(EVERYTHING_PROGS) .headers.stamp
 
-# This is quite ugly actually.. But we need to make 
-# sure the changes to include/config.h are used.
-modules_clean:
-       @-rm -f @MODULES_CLEAN@ auth/auth.o passdb/pdb_interface.o rpc_server/srv_pipe_hnd.o lib/iconv.o smbd/vfs.o
 
 # Making this target will just make sure that the prototype files
 # exist, not necessarily that they are up to date.  Since they're
@@ -1219,8 +1123,7 @@ modules_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
@@ -1228,12 +1131,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
@@ -1271,15 +1172,6 @@ utils/net_proto.h:
          -h _CLIENT_PROTO_H_ utils/net_proto.h \
          $(NET_OBJ1)
 
-include/tdbsam2_parse_info.h:
-       @if test -n "$(PERL)"; then \
-               cd $(srcdir) && @PERL@ -w script/genstruct.pl \
-               -o include/tdbsam2_parse_info.h $(CC) -E -O2 -g \
-               include/tdbsam2.h; \
-       else \
-               echo Unable to build $@, continuing; \
-       fi
-
 # "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.
@@ -1291,8 +1183,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 
 
@@ -1324,10 +1215,10 @@ finddead:
 
 # when configure.in is updated, reconfigure
 $(srcdir)/configure: $(srcdir)/configure.in
-       @echo "WARNING: you need to rerun ./autogen.sh"
+       @echo "WARNING: you need to rerun autoconf"
 
 config.status: $(srcdir)/configure
-       @echo "WARNING: you need to run ./configure"
+       @echo "WARNING: you need to run configure"
 
 Makefile: $(srcdir)/Makefile.in config.status
        @echo "WARNING: you need to run ./config.status"
@@ -1346,3 +1237,4 @@ check: check-programs
 
 # These are called by the test suite
 check-programs: bin/t_strcmp
+
index f470e2e8b0e0f1cbc083bfe35b05d1f6427f6056..7bec88dd87c983a6091a919e1118a6d4494be21f 100644 (file)
@@ -36,43 +36,6 @@ if test $ac_cv_dirent_d_off = yes; then
 fi
 ])
 
-dnl Mark specified module as shared
-dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared)
-AC_DEFUN(SMB_MODULE,
-[
-       AC_MSG_CHECKING([how to build $1])
-       if test "$[MODULE_][$1]"; then
-               DEST=$[MODULE_][$1]
-       elif test "$[MODULE_]translit([$4], [A-Z], [a-z])" -a "$[MODULE_DEFAULT_][$1]"; then
-               DEST=$[MODULE_]translit([$4], [A-Z], [a-z])
-       else
-               DEST=$[MODULE_DEFAULT_][$1]
-       fi
-       
-       if test x"$DEST" = xSHARED; then
-               AC_DEFINE([$1][_init], [init_module], [Whether to build $1 as shared module])
-               $4_MODULES="$$4_MODULES $3"
-               AC_MSG_RESULT([shared])
-               [$6]
-       elif test x"$DEST" = xSTATIC; then
-               [init_static_modules_]translit([$4], [A-Z], [a-z])="$[init_static_modules_]translit([$4], [A-Z], [a-z]) $1_init();"
-               string_static_modules="$string_static_modules $1"
-               $4_STATIC="$$4_STATIC $2"
-               AC_SUBST($4_STATIC)
-               [$5]
-               AC_MSG_RESULT([static])
-       else
-               AC_MSG_RESULT([not])
-       fi
-       MODULES_CLEAN="$MODULES_CLEAN $2 $3"
-])
-
-AC_DEFUN(SMB_SUBSYSTEM,
-[
-       AC_SUBST($1_STATIC)
-       AC_SUBST($1_MODULES)
-       AC_DEFINE_UNQUOTED([static_init_]translit([$1], [A-Z], [a-z]), [{$init_static_modules_]translit([$1], [A-Z], [a-z])[}], [Static init functions])
-])
 
 dnl AC_PROG_CC_FLAG(flag)
 AC_DEFUN(AC_PROG_CC_FLAG,
index f9df255595d429f652603acada53cd05345e53d6..126a712fbdd535edce07d9e660d29f0104c0ee83 100644 (file)
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_AUTH
 
-static struct auth_init_function_entry *backends = NULL;
-
-BOOL smb_register_auth(const char *name, auth_init_function init, int version)
-{
-       struct auth_init_function_entry *entry = backends;
-
-       if(version != AUTH_INTERFACE_VERSION)
-               return False;
-
-       DEBUG(5,("Attempting to register auth backend %s\n", name));
-
-       while(entry) {
-               if (strequal(name, entry->name)) {
-                       DEBUG(0,("There already is an auth backend registered with the name %s!\n", name));
-                       return False;
-               }
-               entry = entry->next;
-       }
-       
-       entry = smb_xmalloc(sizeof(struct auth_init_function_entry));
-       entry->name = smb_xstrdup(name);
-       entry->init = init;
-
-       DLIST_ADD(backends, entry);
-       DEBUG(5,("Successfully added auth backend '%s'\n", name));
-       return True;
-}
-
-static struct auth_init_function_entry *auth_find_backend_entry(const char *name)
-{
-       struct auth_init_function_entry *entry = backends;
-
-       while(entry) {
-               if (strequal(entry->name, name)) return entry;
-               entry = entry->next;
-       }
-       
-       return NULL;
-}
+/** List of various built-in authentication modules */
+
+static const struct auth_init_function_entry builtin_auth_init_functions[] = {
+       { "guest", auth_init_guest },
+       { "rhosts", auth_init_rhosts },
+       { "hostsequiv", auth_init_hostsequiv },
+       { "sam", auth_init_sam },       
+       { "samstrict", auth_init_samstrict },
+       { "unix", auth_init_unix },
+       { "smbserver", auth_init_smbserver },
+       { "ntdomain", auth_init_ntdomain },
+       { "trustdomain", auth_init_trustdomain },
+       { "winbind", auth_init_winbind },
+#ifdef DEVELOPER
+       { "name_to_ntstatus", auth_init_name_to_ntstatus },
+       { "fixed_challenge", auth_init_fixed_challenge },
+#endif
+       { "plugin", auth_init_plugin },
+       { NULL, NULL}
+};
 
 /****************************************************************************
  Try to get a challenge out of the various authentication modules.
@@ -343,8 +324,8 @@ static NTSTATUS make_auth_context_text_list(struct auth_context **auth_context,
        auth_methods *list = NULL;
        auth_methods *t = NULL;
        auth_methods *tmp;
+       int i;
        NTSTATUS nt_status;
-       static BOOL initialised_static_modules = False;
 
        if (!text_list) {
                DEBUG(2,("make_auth_context_text_list: No auth method list!?\n"));
@@ -353,22 +334,15 @@ static NTSTATUS make_auth_context_text_list(struct auth_context **auth_context,
        
        if (!NT_STATUS_IS_OK(nt_status = make_auth_context(auth_context)))
                return nt_status;
-
-       /* Initialise static modules if not done so yet */
-       if(!initialised_static_modules) {
-               static_init_auth;
-               initialised_static_modules = True;
-       }
        
        for (;*text_list; text_list++) { 
-                       struct auth_init_function_entry *entry;
+               DEBUG(5,("make_auth_context_text_list: Attempting to find an auth method to match %s\n",
+                                       *text_list));
+               for (i = 0; builtin_auth_init_functions[i].name; i++) {
                        char *module_name = smb_xstrdup(*text_list);
                        char *module_params = NULL;
                        char *p;
 
-                       DEBUG(5,("make_auth_context_text_list: Attempting to find an auth method to match %s\n",
-                                *text_list));
-
                        p = strchr(module_name, ':');
                        if (p) {
                                *p = 0;
@@ -378,20 +352,20 @@ static NTSTATUS make_auth_context_text_list(struct auth_context **auth_context,
 
                        trim_string(module_name, " ", " ");
 
-                       entry = auth_find_backend_entry(module_name);
-
-                       if(!(entry = auth_find_backend_entry(module_name)) && !smb_probe_module("auth", module_name) && 
-                          !(entry = auth_find_backend_entry(module_name))) {
-                               DEBUG(0,("make_auth_context_text_list: can't find auth method %s!\n", module_name));
-                       } else if (!NT_STATUS_IS_OK(entry->init(*auth_context, module_params, &t))) {
-                               DEBUG(0,("make_auth_context_text_list: auth method %s did not correctly init\n",
-                                                       *text_list));
-                       } else {
-                               DEBUG(5,("make_auth_context_text_list: auth method %s has a valid init\n",
-                                                       *text_list));
-                               DLIST_ADD_END(list, t, tmp);
+                       if (strequal(builtin_auth_init_functions[i].name, module_name)) {
+                               DEBUG(5,("make_auth_context_text_list: Found auth method %s (at pos %d)\n", *text_list, i));
+                               if (NT_STATUS_IS_OK(builtin_auth_init_functions[i].init(*auth_context, module_params, &t))) {
+                                       DEBUG(5,("make_auth_context_text_list: auth method %s has a valid init\n",
+                                                               *text_list));
+                                       DLIST_ADD_END(list, t, tmp);
+                               } else {
+                                       DEBUG(0,("make_auth_context_text_list: auth method %s did not correctly init\n",
+                                                               *text_list));
+                               }
+                               break;
                        }
                        SAFE_FREE(module_name);
+               }
        }
        
        (*auth_context)->auth_method_list = list;
index 509a4afba9b6b711fe9c6ee1b76188a99ac628c7..3b0b84b5256711852bf97ce7f74f77d43c598ae4 100644 (file)
@@ -1,6 +1,6 @@
 /* 
    Unix SMB/CIFS implementation.
-   Generic authentication types
+   Generic authenticaion types
    Copyright (C) Andrew Bartlett         2001-2002
    Copyright (C) Jelmer Vernooij              2002
    
@@ -161,12 +161,50 @@ NTSTATUS auth_init_fixed_challenge(struct auth_context *auth_context, const char
        return NT_STATUS_OK;
 }
 
-int auth_builtin_init(void)
+/**
+ * Outsorce an auth module to an external loadable .so
+ *
+ * Only works on systems with dlopen() etc.
+ **/
+
+/* Plugin modules initialisation */
+
+NTSTATUS auth_init_plugin(struct auth_context *auth_context, const char *param, auth_methods **auth_method) 
 {
-       smb_register_auth("guest", auth_init_guest, AUTH_INTERFACE_VERSION);
-#ifdef DEVELOPER
-       smb_register_auth("fixed_challenge", auth_init_fixed_challenge, AUTH_INTERFACE_VERSION);
-       smb_register_auth("name_to_ntstatus", auth_init_name_to_ntstatus, AUTH_INTERFACE_VERSION);
-#endif
-       return True;
+       void * dl_handle;
+       char *plugin_param, *plugin_name, *p;
+       auth_init_function plugin_init;
+
+       if (param == NULL) {
+               DEBUG(0, ("auth_init_plugin: The plugin module needs an argument!\n"));
+               return NT_STATUS_UNSUCCESSFUL;
+       }
+
+       plugin_name = smb_xstrdup(param);
+       p = strchr(plugin_name, ':');
+       if (p) {
+               *p = 0;
+               plugin_param = p+1;
+               trim_string(plugin_param, " ", " ");
+       } else plugin_param = NULL;
+
+       trim_string(plugin_name, " ", " ");
+
+       DEBUG(5, ("auth_init_plugin: Trying to load auth plugin %s\n", plugin_name));
+       dl_handle = sys_dlopen(plugin_name, RTLD_NOW );
+       if (!dl_handle) {
+               DEBUG(0, ("auth_init_plugin: Failed to load auth plugin %s using sys_dlopen (%s)\n",
+                                       plugin_name, sys_dlerror()));
+               return NT_STATUS_UNSUCCESSFUL;
+       }
+    
+       plugin_init = sys_dlsym(dl_handle, "auth_init");
+       if (!plugin_init){
+               DEBUG(0, ("Failed to find function 'auth_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 paramater %s\n", plugin_name, plugin_param?plugin_param:"(null)"));
+       return plugin_init(auth_context, plugin_param, auth_method);
 }
index 7dca5914f0b4d99a9ddaee53b87da66660765e32..534af2257db48405c947ea2becb87552f3d74cab 100644 (file)
@@ -24,7 +24,7 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_AUTH
 
-extern BOOL global_machine_password_needs_changing;
+BOOL global_machine_password_needs_changing = False;
 
 extern userdom_struct current_user_info;
 
@@ -175,11 +175,6 @@ static NTSTATUS connect_to_domain_password_server(struct cli_state **cli,
                                     &dest_ip, 0, "IPC$", "IPC", "", "", "",0, retry);
 
        if (!NT_STATUS_IS_OK(result)) {
-               /* map to something more useful */
-               if (NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL)) {
-                       result = NT_STATUS_NO_LOGON_SERVERS;
-               }
-
                release_server_mutex();
                return result;
        }
@@ -277,7 +272,7 @@ static NTSTATUS find_connect_dc(struct cli_state **cli,
        struct in_addr dc_ip;
        fstring srv_name;
 
-       if (!rpc_find_dc(domain, srv_name, &dc_ip)) {
+       if ( !rpc_find_dc(lp_workgroup(), srv_name, &dc_ip) ) {
                DEBUG(0,("find_connect_dc: Failed to find an DCs for %s\n", lp_workgroup()));
                return NT_STATUS_NO_LOGON_SERVERS;
        }
@@ -550,10 +545,3 @@ NTSTATUS auth_init_trustdomain(struct auth_context *auth_context, const char* pa
        (*auth_method)->auth = check_trustdomain_security;
        return NT_STATUS_OK;
 }
-
-int auth_domain_init(void) 
-{
-       smb_register_auth("trustdomain", auth_init_trustdomain, AUTH_INTERFACE_VERSION);
-       smb_register_auth("ntdomain", auth_init_ntdomain, AUTH_INTERFACE_VERSION);
-       return True;
-}
index db371935799d151318ed11f922bbccf0ea6419cd..5451f7d93091c56c5da102add89284106b847de9 100644 (file)
@@ -242,10 +242,3 @@ NTSTATUS auth_init_rhosts(struct auth_context *auth_context, const char *param,
        (*auth_method)->name = "rhosts";
        return NT_STATUS_OK;
 }
-
-int auth_rhosts_init(void)
-{
-       smb_register_auth("rhosts", auth_init_rhosts, AUTH_INTERFACE_VERSION);
-       smb_register_auth("hostsequiv", auth_init_hostsequiv, AUTH_INTERFACE_VERSION);
-       return True;
-}
index aa399f33e2e54d8dda75bf335f53d09f8058b2b0..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,53 +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;
-}
-
-int auth_sam_init(void)
-{
-       smb_register_auth("samstrict_dc", auth_init_samstrict_dc, AUTH_INTERFACE_VERSION);
-       smb_register_auth("samstrict", auth_init_samstrict, AUTH_INTERFACE_VERSION);
-       smb_register_auth("sam", auth_init_sam, AUTH_INTERFACE_VERSION);
-       return True;
-}
index a311f01dc3f15293fdc978d4e7900cdc7bdad30e..5144852d3b40fe5a3f692518773bf7a8020b1a0e 100644 (file)
@@ -400,8 +400,3 @@ NTSTATUS auth_init_smbserver(struct auth_context *auth_context, const char* para
        (*auth_method)->free_private_data = free_server_private_data;
        return NT_STATUS_OK;
 }
-
-int auth_server_init(void)
-{
-       return smb_register_auth("smbserver", auth_init_smbserver, AUTH_INTERFACE_VERSION);
-}
index efab2046c3622a87d6064a75a93f76958583c9e1..4f44767a81aeb884ce199c186d82678bf2db2fc8 100644 (file)
@@ -130,7 +130,3 @@ NTSTATUS auth_init_unix(struct auth_context *auth_context, const char* param, au
        return NT_STATUS_OK;
 }
 
-int auth_unix_init(void)
-{
-       return smb_register_auth("unix", auth_init_unix, AUTH_INTERFACE_VERSION);
-}
index a3ca0b226f287d2f3ee79f734448ea1d0bf36fb6..d0f1fc1e342a2bc3d78e3b589dbc0380e1903f5c 100644 (file)
@@ -219,18 +219,35 @@ NTSTATUS make_user_info_map(auth_usersupplied_info **user_info,
                   where it doens't supply a domain for logon script
                   'net use' commands.
 
-                  Finally, we do this by looking up a cache of trusted domains!
+                  The way I do it here is by checking if the fully
+                  qualified username exists. This is rather reliant
+                  on winbind, but until we have a better method this
+                  will have to do 
                */
 
                domain = client_domain;
 
-               if (is_trusted_domain(domain)) {
-                       return make_user_info(user_info, smb_name, internal_username,
-                                             client_domain, domain, wksta_name,
-                                             lm_pwd, nt_pwd, plaintext, ntlmssp_flags,
-                                             encrypted);
-               }
+               if ((smb_name) && (*smb_name)) { /* Don't do this for guests */
+                       char *user = NULL;
+                       if (asprintf(&user, "%s%s%s", 
+                                client_domain, lp_winbind_separator(), 
+                                smb_name) < 0) {
+                               DEBUG(0, ("make_user_info_map: asprintf() failed!\n"));
+                               return NT_STATUS_NO_MEMORY;
+                       }
 
+                       DEBUG(5, ("make_user_info_map: testing for user %s\n", user));
+                       
+                       if (Get_Pwnam(user) == NULL) {
+                               DEBUG(5, ("make_user_info_map: test for user %s failed\n", user));
+                               domain = lp_workgroup();
+                               DEBUG(5, ("make_user_info_map: trusted domain %s doesn't appear to exist, using %s\n", 
+                                         client_domain, domain));
+                       } else {
+                               DEBUG(5, ("make_user_info_map: using trusted domain %s\n", domain));
+                       }
+                       SAFE_FREE(user);
+               }
        } else {
                domain = lp_workgroup();
        }
index e2a292dd01505efca9900f5bb4df28f6ae2b7d13..5e1567d3c1975dc3adbe1cdceaa679948e5f1328 100644 (file)
@@ -134,8 +134,3 @@ NTSTATUS auth_init_winbind(struct auth_context *auth_context, const char *param,
        (*auth_method)->auth = check_winbind_security;
        return NT_STATUS_OK;
 }
-
-int auth_winbind_init(void)
-{
-       return smb_register_auth("winbind", auth_init_winbind, AUTH_INTERFACE_VERSION);
-}
index 058397a52c0f909ebec940dcda175d02c7f54b43..5cad4ba4067f299799f2bdc88f8a5e7b682bd6bc 100644 (file)
@@ -2,7 +2,6 @@
 .dummy
 .libs
 debug2html
-editreg
 locktest
 locktest2
 make_printerdef
@@ -37,8 +36,6 @@ smbtorture
 smbtree
 smbumount
 swat
-t_strcmp
-t_stringoverflow
 talloctort
 tdbbackup
 testparm
@@ -47,3 +44,4 @@ vfstest
 wbinfo
 winbindd
 wrepld
+editreg
index 71f5012484fc00d21209a7f1591333139b2782d9..1f7798b541f5b19851c873aab1af5394a857c47c 100644 (file)
@@ -2,7 +2,7 @@ SUPERCEDED Change Log for Samba
 ^^^^^^^^^^
 
 Unless otherwise attributed, all changes were made by 
-Andrew.Tridgell@anu.edu.au.
+Andrew.Tridgell@anu.edu.au. All bugs to samba-bugs@samba.org.
 
 NOTE: THIS LOG IS IN CHRONOLOGICAL ORDER
 
index b6c4b704a9b494c752182885fd223a5a32a1edcf..1248c256591429dc2d662fb0b50cb9c750fab7e9 100644 (file)
@@ -3,7 +3,6 @@
    SMB client
    Copyright (C) Andrew Tridgell 1994-1998
    Copyright (C) Simo Sorce 2001-2002
-   Copyright (C) Jelmer Vernooij 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
 #define REGISTER 0
 #endif
 
+const char prog_name[] = "smbclient";
+
 struct cli_state *cli;
 extern BOOL in_client;
+extern BOOL AllowDebugChange;
 static int port = 0;
 pstring cur_dir = "\\";
 static pstring cd_path = "";
 static pstring service;
 static pstring desthost;
-static pstring username;
 static pstring password;
+static pstring username;
 static pstring workgroup;
-static BOOL use_kerberos;
+static char *cmdstr;
+static BOOL got_user;
 static BOOL got_pass;
-static char *cmdstr = NULL;
-
 static int io_bufsize = 64512;
+static BOOL use_kerberos;
 
 static int name_type = 0x20;
 static int max_protocol = PROTOCOL_NT1;
+extern pstring user_socket_options;
 
 static int process_tok(fstring tok);
 static int cmd_help(void);
@@ -1057,7 +1060,7 @@ static int do_put(char *rname, char *lname, BOOL reput)
 {
        int fnum;
        XFILE *f;
-       size_t start = 0;
+       int start = 0;
        off_t nread = 0;
        char *buf = NULL;
        int maxwrite = io_bufsize;
@@ -2469,6 +2472,102 @@ static int process(char *base_directory)
        return rc;
 }
 
+/****************************************************************************
+usage on the program
+****************************************************************************/
+static void usage(char *pname)
+{
+  d_printf("Usage: %s service <password> [options]", pname);
+
+  d_printf("\nVersion %s\n",VERSION);
+  d_printf("\t-s smb.conf           pathname to smb.conf file\n");
+  d_printf("\t-O socket_options     socket options to use\n");
+  d_printf("\t-R name resolve order use these name resolution services only\n");
+  d_printf("\t-M host               send a winpopup message to the host\n");
+  d_printf("\t-i scope              use this NetBIOS scope\n");
+  d_printf("\t-N                    don't ask for a password\n");
+  d_printf("\t-n netbios name.      Use this name as my netbios name\n");
+  d_printf("\t-d debuglevel         set the debuglevel\n");
+  d_printf("\t-p port               connect to the specified port\n");
+  d_printf("\t-l log basename.      Basename for log/debug files\n");
+  d_printf("\t-h                    Print this help message.\n");
+  d_printf("\t-I dest IP            use this IP to connect to\n");
+  d_printf("\t-E                    write messages to stderr instead of stdout\n");
+  d_printf("\t-k                    use kerberos (active directory) authentication\n");
+  d_printf("\t-U username           set the network username\n");
+  d_printf("\t-L host               get a list of shares available on a host\n");
+  d_printf("\t-t terminal code      terminal i/o code {sjis|euc|jis7|jis8|junet|hex}\n");
+  d_printf("\t-m max protocol       set the max protocol level\n");
+  d_printf("\t-A filename           get the credentials from a file\n");
+  d_printf("\t-W workgroup          set the workgroup name\n");
+  d_printf("\t-T<c|x>IXFqgbNan      command line tar\n");
+  d_printf("\t-D directory          start from directory\n");
+  d_printf("\t-c command string     execute semicolon separated commands\n");
+  d_printf("\t-b xmit/send buffer   changes the transmit/send buffer (default: 65520)\n");
+  d_printf("\n");
+}
+
+
+/****************************************************************************
+get a password from a a file or file descriptor
+exit on failure
+****************************************************************************/
+static void get_password_file(void)
+{
+       int fd = -1;
+       char *p;
+       BOOL close_it = False;
+       pstring spec;
+       char pass[128];
+               
+       if ((p = getenv("PASSWD_FD")) != NULL) {
+               pstrcpy(spec, "descriptor ");
+               pstrcat(spec, p);
+               sscanf(p, "%d", &fd);
+               close_it = False;
+       } else if ((p = getenv("PASSWD_FILE")) != NULL) {
+               fd = sys_open(p, O_RDONLY, 0);
+               pstrcpy(spec, p);
+               if (fd < 0) {
+                       fprintf(stderr, "Error opening PASSWD_FILE %s: %s\n",
+                               spec, strerror(errno));
+                       exit(1);
+               }
+               close_it = True;
+       }
+
+       for(p = pass, *p = '\0'; /* ensure that pass is null-terminated */
+           p && p - pass < sizeof(pass);) {
+               switch (read(fd, p, 1)) {
+               case 1:
+                       if (*p != '\n' && *p != '\0') {
+                               *++p = '\0'; /* advance p, and null-terminate pass */
+                               break;
+                       }
+               case 0:
+                       if (p - pass) {
+                               *p = '\0'; /* null-terminate it, just in case... */
+                               p = NULL; /* then force the loop condition to become false */
+                               break;
+                       } else {
+                               fprintf(stderr, "Error reading password from file %s: %s\n",
+                                       spec, "empty password\n");
+                               exit(1);
+                       }
+                       
+               default:
+                       fprintf(stderr, "Error reading password from file %s: %s\n",
+                               spec, strerror(errno));
+                       exit(1);
+               }
+       }
+       pstrcpy(password, pass);
+       if (close_it)
+               close(fd);
+}      
+
+
+
 /****************************************************************************
 handle a -L query
 ****************************************************************************/
@@ -2578,36 +2677,19 @@ static void remember_query_host(const char *arg,
  int main(int argc,char *argv[])
 {
        fstring base_directory;
+       char *pname = argv[0];
        int opt;
+       extern char *optarg;
+       extern int optind;
+       int old_debug;
        pstring query_host;
        BOOL message = False;
        extern char tar_type;
        pstring term_code;
-       static const char *new_name_resolve_order = NULL;
-       poptContext pc;
+       pstring new_name_resolve_order;
+       pstring logfile;
        char *p;
        int rc = 0;
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-
-               { "name-resolve", 'R', POPT_ARG_STRING, &new_name_resolve_order, 'R', "Use these name resolution services only", "NAME-RESOLVE-ORDER" },
-               { "message", 'M', POPT_ARG_STRING, NULL, 'M', "Send message", "HOST" },
-               { "ip-address", 'I', POPT_ARG_STRING, NULL, 'I', "Use this IP to connect to", "IP" },
-               { "stderr", 'E', POPT_ARG_NONE, NULL, 'E', "Write messages to stderr instead of stdout" },
-               { "list", 'L', POPT_ARG_STRING, NULL, 'L', "Get a list of shares available on a host", "HOST" },
-               { "terminal", 't', POPT_ARG_STRING, NULL, 't', "Terminal I/O code {sjis|euc|jis7|jis8|junet|hex}", "CODE" },
-               { "max-protocol", 'm', POPT_ARG_STRING, NULL, 'm', "Set the max protocol level", "LEVEL" },
-               { "tar", 'T', POPT_ARG_STRING, NULL, 'T', "Command line tar", "<c|x>IXFqgbNan" },
-               { "directory", 'D', POPT_ARG_STRING, NULL, 'D', "Start from directory", "DIR" },
-               { "command", 'c', POPT_ARG_STRING, &cmdstr, 'c', "Execute semicolon separated commands" }, 
-               { "send-buffer", 'b', POPT_ARG_INT, NULL, 'b', "Changes the transmit/send buffer", "BYTES" },
-               { "port", 'p', POPT_ARG_INT, &port, 'p', "Port to connect to", "PORT" },
-               POPT_COMMON_SAMBA
-               POPT_COMMON_CONNECTION
-               POPT_COMMON_CREDENTIALS
-               POPT_TABLEEND
-       };
-       
 
 #ifdef KANJI
        pstrcpy(term_code, KANJI);
@@ -2618,107 +2700,306 @@ static void remember_query_host(const char *arg,
        *query_host = 0;
        *base_directory = 0;
 
-       setup_logging(argv[0],True);
+       *new_name_resolve_order = 0;
 
-       pc = poptGetContext("smbclient", argc, (const char **) argv, long_options, 
-                               POPT_CONTEXT_KEEP_FIRST);
-       poptSetOtherOptionHelp(pc, "service <password>");
+       DEBUGLEVEL = 2;
+       AllowDebugChange = False;
+       setup_logging(pname,True);
+
+       /*
+        * If the -E option is given, be careful not to clobber stdout
+        * before processing the options.  28.Feb.99, richard@hacom.nl.
+        * Also pre-parse the -s option to get the service file name.
+        */
+
+       for (opt = 1; opt < argc; opt++) {
+               if (strcmp(argv[opt], "-E") == 0)
+                       dbf = x_stderr;
+               else if(strncmp(argv[opt], "-s", 2) == 0) {
+                       if(argv[opt][2] != '\0')
+                               pstrcpy(dyn_CONFIGFILE, &argv[opt][2]);
+                       else if(argv[opt+1] != NULL) {
+                               /*
+                                * At least one more arg left.
+                                */
+                               pstrcpy(dyn_CONFIGFILE, argv[opt+1]);
+                       } else {
+                               usage(pname);
+                               exit(1);
+                       }
+               }
+       }
 
        in_client = True;   /* Make sure that we tell lp_load we are */
 
-       while ((opt = poptGetNextOpt(pc)) != -1) {
+       old_debug = DEBUGLEVEL;
+       if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
+               fprintf(stderr, "%s: Can't load %s - run testparm to debug it\n",
+                       prog_name, dyn_CONFIGFILE);
+       }
+       DEBUGLEVEL = old_debug;
+       
+       pstrcpy(workgroup,lp_workgroup());
+
+       load_interfaces();
+
+       if (getenv("USER")) {
+               pstrcpy(username,getenv("USER"));
+
+               /* modification to support userid%passwd syntax in the USER var
+                  25.Aug.97, jdblair@uab.edu */
+
+               if ((p=strchr_m(username,'%'))) {
+                       *p = 0;
+                       pstrcpy(password,p+1);
+                       got_pass = True;
+                       memset(strchr_m(getenv("USER"),'%')+1,'X',strlen(password));
+               }
+       }
+
+       /* modification to support PASSWD environmental var
+          25.Aug.97, jdblair@uab.edu */
+       if (getenv("PASSWD")) {
+               pstrcpy(password,getenv("PASSWD"));
+               got_pass = True;
+       }
+
+       if (getenv("PASSWD_FD") || getenv("PASSWD_FILE")) {
+               get_password_file();
+               got_pass = True;
+       }
+
+       if (*username == 0 && getenv("LOGNAME")) {
+               pstrcpy(username,getenv("LOGNAME"));
+       }
+
+       if (*username == 0) {
+               pstrcpy(username,"GUEST");
+       }
+
+       if (argc < 2) {
+               usage(pname);
+               exit(1);
+       }
+
+       /* FIXME: At the moment, if the user should happen to give the
+        * options ahead of the service name (in standard Unix
+        * fashion) then smbclient just spits out the usage message
+        * with no explanation of what in particular was wrong.  Is
+        * there any reason we can't just parse out the service name
+        * and password after running getopt?? -- mbp */
+       if (*argv[1] != '-') {
+               pstrcpy(service,argv[1]);  
+               /* Convert any '/' characters in the service name to '\' characters */
+               string_replace( service, '/','\\');
+               argc--;
+               argv++;
+               
+               if (count_chars(service,'\\') < 3) {
+                       usage(pname);
+                       d_printf("\n%s: Not enough '\\' characters in service\n",service);
+                       exit(1);
+               }
+
+               if (argc > 1 && (*argv[1] != '-')) {
+                       got_pass = True;
+                       pstrcpy(password,argv[1]);  
+                       memset(argv[1],'X',strlen(argv[1]));
+                       argc--;
+                       argv++;
+               }
+       }
+
+       while ((opt = 
+               getopt(argc, argv,"s:O:R:M:i:Nn:d:Pp:l:hI:EU:L:t:m:W:T:D:c:b:A:k")) != EOF) {
                switch (opt) {
+               case 's':
+                       pstrcpy(dyn_CONFIGFILE, optarg);
+                       break;
+               case 'O':
+                       pstrcpy(user_socket_options,optarg);
+                       break;  
+               case 'R':
+                       pstrcpy(new_name_resolve_order, optarg);
+                       break;
                case 'M':
                        /* Messages are sent to NetBIOS name type 0x3
                         * (Messenger Service).  Make sure we default
                         * to port 139 instead of port 445. srl,crh
                         */
                        name_type = 0x03; 
-                       pstrcpy(desthost,poptGetOptArg(pc));
-                       if( 0 == port ) port = 139;
+                       pstrcpy(desthost,optarg);
+                       if( 0 == port )
+                               port = 139;
                        message = True;
                        break;
+               case 'i':
+                       set_global_scope(optarg);
+                       break;
+               case 'N':
+                       got_pass = True;
+                       break;
+               case 'n':
+                       set_global_myname(optarg);
+                       break;
+               case 'd':
+                       if (*optarg == 'A')
+                               DEBUGLEVEL = 10000;
+                       else
+                               DEBUGLEVEL = atoi(optarg);
+                       break;
+               case 'P':
+                       /* not needed anymore */
+                       break;
+               case 'p':
+                       port = atoi(optarg);
+                       break;
+               case 'l':
+                       slprintf(logfile,sizeof(logfile)-1, "%s.client",optarg);
+                       lp_set_logfile(logfile);
+                       break;
+               case 'h':
+                       usage(pname);
+                       exit(0);
+                       break;
                case 'I':
                        {
-                               dest_ip = *interpret_addr2(poptGetOptArg(pc));
+                               dest_ip = *interpret_addr2(optarg);
                                if (is_zero_ip(dest_ip))
                                        exit(1);
                                have_ip = True;
                        }
                        break;
                case 'E':
-                       dbf = x_stderr;
                        display_set_stderr();
+                       dbf = x_stderr;
+                       break;
+               case 'U':
+                       {
+                               char *lp;
+
+                               got_user = True;
+                               pstrcpy(username,optarg);
+                               if ((lp=strchr_m(username,'%'))) {
+                                       *lp = 0;
+                                       pstrcpy(password,lp+1);
+                                       got_pass = True;
+                                       memset(strchr_m(optarg,'%')+1,'X',strlen(password));
+                               }
+                       }
+                       break;
+
+               case 'A':
+                       {
+                               XFILE *auth;
+                               fstring buf;
+                               uint16 len = 0;
+                               char *ptr, *val, *param;
+                               
+                               if ((auth=x_fopen(optarg, O_RDONLY, 0)) == NULL)
+                               {
+                                       /* fail if we can't open the credentials file */
+                                       d_printf("ERROR: Unable to open credentials file!\n");
+                                       exit (-1);
+                               }
+                                
+                               while (!x_feof(auth))
+                               {  
+                                       /* get a line from the file */
+                                       if (!x_fgets(buf, sizeof(buf), auth))
+                                               continue;
+                                       len = strlen(buf);
+                                       
+                                       if ((len) && (buf[len-1]=='\n'))
+                                       {
+                                               buf[len-1] = '\0';
+                                               len--;
+                                       }       
+                                       if (len == 0)
+                                               continue;
+                                       
+                                       /* break up the line into parameter & value.
+                                          will need to eat a little whitespace possibly */
+                                       param = buf;
+                                       if (!(ptr = strchr_m (buf, '=')))
+                                               continue;
+                                       val = ptr+1;
+                                       *ptr = '\0';
+                                       
+                                       /* eat leading white space */
+                                       while ((*val!='\0') && ((*val==' ') || (*val=='\t')))
+                                               val++;
+                                       
+                                       if (strwicmp("password", param) == 0)
+                                       {
+                                               pstrcpy(password, val);
+                                               got_pass = True;
+                                       }
+                                       else if (strwicmp("username", param) == 0)
+                                               pstrcpy(username, val);
+                                       else if (strwicmp("domain", param) == 0)
+                                               pstrcpy(workgroup,val);
+                                       memset(buf, 0, sizeof(buf));
+                               }
+                               x_fclose(auth);
+                       }
                        break;
 
                case 'L':
-                       remember_query_host(poptGetOptArg(pc), query_host);
+                       remember_query_host(optarg, query_host);
                        break;
                case 't':
-                       pstrcpy(term_code, poptGetOptArg(pc));
+                       pstrcpy(term_code, optarg);
                        break;
                case 'm':
-                       max_protocol = interpret_protocol(poptGetOptArg(pc), max_protocol);
+                       max_protocol = interpret_protocol(optarg, max_protocol);
+                       break;
+               case 'W':
+                       pstrcpy(workgroup,optarg);
                        break;
                case 'T':
-                       if (!tar_parseargs(argc, argv, poptGetOptArg(pc), optind)) {
-                               poptPrintUsage(pc, stderr, 0);
+                       if (!tar_parseargs(argc, argv, optarg, optind)) {
+                               usage(pname);
                                exit(1);
                        }
                        break;
                case 'D':
-                       fstrcpy(base_directory,poptGetOptArg(pc));
+                       fstrcpy(base_directory,optarg);
+                       break;
+               case 'c':
+                       cmdstr = optarg;
                        break;
                case 'b':
-                       io_bufsize = MAX(1, atoi(poptGetOptArg(pc)));
+                       io_bufsize = MAX(1, atoi(optarg));
                        break;
-               }
-       }
-
-       if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
-               fprintf(stderr, "%s: Can't load %s - run testparm to debug it\n",
-                       argv[0], dyn_CONFIGFILE);
-       }
-       
-       poptGetArg(pc);
-       
-       load_interfaces();
-
-       if(poptPeekArg(pc)) {
-               pstrcpy(service,poptGetArg(pc));  
-               /* Convert any '/' characters in the service name to '\' characters */
-               string_replace(service, '/','\\');
-
-               if (count_chars(service,'\\') < 3) {
-                       d_printf("\n%s: Not enough '\\' characters in service\n",service);
-                       poptPrintUsage(pc, stderr, 0);
+               case 'k':
+#ifdef HAVE_KRB5
+                       use_kerberos = True;
+#else
+                       d_printf("No kerberos support compiled in\n");
+                       exit(1);
+#endif
+                       break;
+               default:
+                       usage(pname);
                        exit(1);
                }
        }
 
-       if (poptPeekArg(pc)) { 
-               cmdline_auth_info.got_pass = True;
-               pstrcpy(cmdline_auth_info.password,poptGetArg(pc));  
-       }
+       if (use_kerberos && !got_user)
+                       got_pass = True;
 
        init_names();
 
-       if(new_name_resolve_order)
+       if(*new_name_resolve_order)
                lp_set_name_resolve_order(new_name_resolve_order);
 
        if (!tar_type && !*query_host && !*service && !message) {
-               poptPrintUsage(pc, stderr, 0);
+               usage(pname);
                exit(1);
        }
 
-       poptFreeContext(pc);
-
-       pstrcpy(username, cmdline_auth_info.username);
-       pstrcpy(password, cmdline_auth_info.password);
-       pstrcpy(workgroup, lp_workgroup());
-       use_kerberos = cmdline_auth_info.use_kerberos;
-       got_pass = cmdline_auth_info.got_pass;
-
        DEBUG( 3, ( "Client started (version %s).\n", VERSION ) );
 
        if (tar_type) {
index dfda997ca26907c43fbbe95dbb399feb8ba6319a..579110f75fba1229a078922c508ea76211a81cd5 100644 (file)
@@ -1089,7 +1089,7 @@ static char * get_longfilename(file_info2 finfo)
   BOOL first = True;
 
   DEBUG(5, ("Restoring a long file name: %s\n", finfo.name));
-  DEBUG(5, ("Len = %.0f\n", (double)finfo.size));
+  DEBUG(5, ("Len = %d\n", (int)finfo.size));
 
   if (longname == NULL) {
 
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 87626db666ada7c80f789e338f2bab17e2a85a48..7515ee78b0db0c07a78ec585614523baf8af039d 100644 (file)
@@ -153,15 +153,49 @@ AC_SUBST(LIBSMBCLIENT)
 AC_SUBST(PRINTLIBS)
 AC_SUBST(AUTHLIBS)
 AC_SUBST(ACLLIBS)
-AC_SUBST(ADSLIBS)
-AC_SUBST(PASSDBLIBS)
-AC_SUBST(KRB5_LIBS)
-AC_SUBST(LDAP_LIBS)
 AC_SUBST(SHLIB_PROGS)
 AC_SUBST(SMBWRAPPER)
 AC_SUBST(EXTRA_BIN_PROGS)
 AC_SUBST(EXTRA_SBIN_PROGS)
 AC_SUBST(EXTRA_ALL_TARGETS)
+dnl For the DYNAMIC RPC stuff
+dnl The complicated _YES and _NO stuff allows us to avoid a dependency
+dnl on GNU Make.
+AC_SUBST(LSA_DYNAMIC_YES)
+AC_SUBST(LSA_DYNAMIC_NO)
+LSA_DYNAMIC_YES="#"
+LSA_DYNAMIC_NO=
+AC_SUBST(NETLOG_DYNAMIC_YES)
+AC_SUBST(NETLOG_DYNAMIC_NO)
+NETLOG_DYNAMIC_YES="#"
+NETLOG_DYNAMIC_NO=
+AC_SUBST(SAMR_DYNAMIC_YES)
+AC_SUBST(SAMR_DYNAMIC_NO)
+SAMR_DYNAMIC_YES="#"
+SAMR_DYNAMIC_NO=
+AC_SUBST(SVC_DYNAMIC_YES)
+AC_SUBST(SVC_DYNAMIC_NO)
+SVC_DYNAMIC_YES="#"
+SVC_DYNAMIC_NO=
+AC_SUBST(WKS_DYNAMIC_YES)
+AC_SUBST(WKS_DYNAMIC_NO)
+WKS_DYNAMIC_YES="#"
+WKS_DYNAMIC_NO=
+AC_SUBST(REG_DYNAMIC_YES)
+AC_SUBST(REG_DYNAMIC_NO)
+REG_DYNAMIC_YES="#"
+REG_DYNAMIC_NO=
+AC_SUBST(SPOOLSS_DYNAMIC_YES)
+AC_SUBST(SPOOLSS_DYNAMIC_NO)
+SPOOLSS_DYNAMIC_YES="#"
+SPOOLSS_DYNAMIC_NO=
+AC_SUBST(DFS_DYNAMIC_YES)
+AC_SUBST(DFS_DYNAMIC_NO)
+DFS_DYNAMIC_YES="#"
+DFS_DYNAMIC_NO=
+
+# compile with optimization and without debugging by default
+CFLAGS="-O ${CFLAGS}"
 
 AC_ARG_ENABLE(debug, 
 [  --enable-debug          Turn on compiler debugging information (default=no)],
@@ -189,19 +223,66 @@ then
        LIBS="$LIBS -ldmalloc"  
 fi
 
+AC_ARG_ENABLE(dynrpc,  [  --enable-dynrpc         Enable dynamic RPC modules [default=no]])
+
+if test x$enable_dynrpc = xyes
+then
+       enable_dynrpc=lsa,samr,reg,wks,netlog,dfs
+fi
+
+if test x$enable_dynrpc != xno
+then
+       for i in `echo $enable_dynrpc | sed -e's/,/ /g'` 
+         do case $i in lsa)
+         LSA_DYNAMIC_YES=
+         LSA_DYNAMIC_NO="#"
+          AC_DEFINE(RPC_LSA_DYNAMIC, 1,
+                    [Define to make the LSA pipe dynamic])
+        ;; samr)
+          SAMR_DYNAMIC_YES=
+          SAMR_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_SAMR_DYNAMIC, 1, 
+                   [Define to make the SAMR pipe dynamic])
+        ;; svc)
+          SVC_DYNAMIC_YES=
+          SVC_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_SVC_DYNAMIC, 1, 
+                   [Define to make the SRVSVC pipe dynamic])
+        ;; wks)
+          WKS_DYNAMIC_YES=
+          WKS_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_WKS_DYNAMIC, 1, 
+                   [Define to make the WKSSVC pipe dynamic])
+        ;; netlog)
+          NETLOG_DYNAMIC_YES=
+          NETLOG_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_NETLOG_DYNAMIC, 1, 
+                   [Define to make the NETLOGON pipe dynamic])
+        ;; reg)
+          REG_DYNAMIC_YES=
+          REG_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_REG_DYNAMIC, 1, 
+                   [Define to make the WINREG pipe dynamic])
+        ;; spoolss)
+          SPOOLSS_DYNAMIC_YES=
+          SPOOLSS_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_SPOOLSS_DYNAMIC, 1, 
+                   [Define to make the SPOOLSS pipe dynamic])
+        ;; dfs)
+          DFS_DYNAMIC_YES=
+          DFS_DYNAMIC_NO="#"
+         AC_DEFINE(RPC_DFS_DYNAMIC, 1, 
+                   [Define to make the NETDFS pipe dynamic])
+        ;; esac
+         done
+fi
+
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_AWK
 AC_PATH_PROG(PERL, perl)
 
-# compile with optimization and without debugging by default, but
-# allow people to set their own preference.
-if test "x$CFLAGS" = x
-then
-  CFLAGS="-O ${CFLAGS}"
-fi
-
 dnl Check if we use GNU ld
 LD=ld
 AC_PROG_LD_GNU
@@ -242,13 +323,6 @@ AC_VALIDATE_CACHE_SYSTEM_TYPE
 
 DYNEXP=
 
-dnl Add modules that have to be built by default here
-dnl These have to be built static:
-default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_unix rpc_lsa rpc_samr rpc_reg rpc_wks rpc_net rpc_dfs rpc_srv rpc_spoolss auth_rhosts auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin"
-
-dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_fake_perms vfs_netatalk"
-
 #
 # Config CPPFLAG settings for strange OS's that must be set
 # before other tests.
@@ -480,8 +554,8 @@ AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/i
 AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h sys/socket.h)
 AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h)
 AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h)
-AC_CHECK_HEADERS(security/pam_modules.h security/_pam_macros.h dlfcn.h)
-AC_CHECK_HEADERS(sys/syslog.h syslog.h execinfo.h)
+AC_CHECK_HEADERS(security/pam_modules.h security/_pam_macros.h ldap.h lber.h dlfcn.h)
+AC_CHECK_HEADERS(sys/syslog.h syslog.h)
 
 # In valgrind 1.0.x, it's just valgrind.h.  In 1.9.x+ there's a
 # subdirectory of headers.
@@ -804,7 +878,7 @@ AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
 AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
 AC_CHECK_FUNCS(syslog vsyslog getgrouplist timegm)
 # setbuffer, shmget, shm_open are needed for smbtorture
-AC_CHECK_FUNCS(setbuffer shmget shm_open backtrace_symbols)
+AC_CHECK_FUNCS(setbuffer shmget shm_open)
 
 # syscall() is needed for smbwrapper.
 AC_CHECK_FUNCS(syscall)
@@ -2067,14 +2141,8 @@ fi
 AC_MSG_RESULT($with_ads_support)
 
 FOUND_KRB5=no
-KRB5_LIBS=""
 if test x"$with_ads_support" = x"yes"; then
 
-ac_save_CFLAGS="$CFLAGS"
-ac_save_LIBS="$LIBS"
-CFLAGS=""
-LIBS=""
-       
   #################################################
   # check for krb5-config from recent MIT and Heimdal kerberos 5
   AC_PATH_PROG(KRB5_CONFIG, krb5-config)
@@ -2231,16 +2299,14 @@ fi
   ########################################################
   # now see if we can find the krb5 libs in standard paths
   # or as specified above
-  AC_CHECK_LIB(krb5, krb5_mk_req_extended, [KRB5_LIBS="$LIBS -lkrb5";
-               KRB5_CFLAGS="$CFLAGS";
+  AC_CHECK_LIB(krb5, krb5_mk_req_extended, [LIBS="$LIBS -lkrb5";
         AC_DEFINE(HAVE_KRB5,1,[Whether KRB5 is available])])
 
   ########################################################
   # now see if we can find the gssapi libs in standard paths
-  AC_CHECK_LIB(gssapi_krb5, gss_display_status, [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5";
+  AC_CHECK_LIB(gssapi_krb5, gss_display_status, [LIBS="$LIBS -lgssapi_krb5";
         AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])])
 
-LIBS="$ac_save_LIBS"; CFLAGS="$ac_save_CFLAGS"
 fi
 
 ########################################################
@@ -2260,8 +2326,6 @@ AC_ARG_WITH(ldap,
 AC_MSG_RESULT($with_ldap_support)
 
 if test x"$with_ldap_support" = x"yes"; then
-ac_save_LIBS="$LIBS"
-LIBS=""
 
   ##################################################################
   # we might need the lber lib on some systems. To avoid link errors
@@ -2273,7 +2337,6 @@ LIBS=""
   if test x$have_ldap != xyes; then
   AC_CHECK_LIB(ldap, ldap_domain2hostlist, [LIBS="$LIBS -lldap";
        AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])])
-       AC_CHECK_HEADERS([ldap.h lber.h], [default_static_modules="$default_static_modules pdb_ldap"])
 
        ########################################################
        # If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
@@ -2285,29 +2348,19 @@ LIBS=""
        #include <ldap.h>], [ldap_set_rebind_proc(0, 0, 0);], [pam_ldap_cv_ldap_set_rebind_proc=3], [pam_ldap_cv_ldap_set_rebind_proc=2]) ])
        AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $pam_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
   fi
-  
-LDAP_LIBS="$LIBS";
-LIBS="$ac_save_LIBS";
-else
-    # Can't have ADS support without LDAP
-    if test x"$with_ads_support" = x"yes"; then
-       AC_MSG_ERROR(Active directory support requires LDAP)
-    fi
-fi
-
-if test x"$with_ads_support" = x"yes"; then
-       ADSLIBS="$LDAP_LIBS $KRB5_LIBS"
 fi
 
 ########################################################
 # Compile with MySQL support?
-AM_PATH_MYSQL([0.11.0],[default_shared_modules="$default_shared_modules pdb_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],[default_shared_modules="$default_shared_modules pdb_xml"],[])
+AM_PATH_XML2([2.0.0],[MODULE_XML=bin/pdb_xml.so],[MODULE_XML=])
 CFLAGS="$CFLAGS $XML_CFLAGS"
+AC_SUBST(MODULE_XML)
 
 #################################################
 # check for automount support
@@ -2426,15 +2479,21 @@ if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then
 fi
 fi
 
-# New experimental SAM system
+########################################################################################
+##
+## TESTS FOR SAM BACKENDS.  KEEP THESE GROUPED TOGETHER
+##
+########################################################################################
 
-AC_MSG_CHECKING([whether to build the new (experimental) SAM database])
-AC_ARG_WITH(sam,
-[  --with-sam              Build new (experimental) SAM database (default=no)],
+#################################################
+# check for a LDAP password database configuration backwards compatibility
+AC_MSG_CHECKING(whether to use LDAP SAM 2.2 compatible configuration)
+AC_ARG_WITH(ldapsam,
+[  --with-ldapsam           Include LDAP SAM 2.2 compatible configuration (default=no)],
 [ case "$withval" in
   yes)
     AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_SAM,1,[Whether to build the new (experimental) SAM database])
+    AC_DEFINE(WITH_LDAP_SAMCONFIG,1,[Whether to include 2.2 compatibel LDAP SAM configuration])
     ;;
   *)
     AC_MSG_RESULT(no)
@@ -2443,22 +2502,15 @@ AC_ARG_WITH(sam,
   AC_MSG_RESULT(no)
 )
 
-
-########################################################################################
-##
-## TESTS FOR SAM BACKENDS.  KEEP THESE GROUPED TOGETHER
-##
-########################################################################################
-
 #################################################
-# check for a LDAP password database configuration backwards compatibility
-AC_MSG_CHECKING(whether to use LDAP SAM 2.2 compatible configuration)
-AC_ARG_WITH(ldapsam,
-[  --with-ldapsam           Include LDAP SAM 2.2 compatible configuration (default=no)],
+# check for a TDB password database
+AC_MSG_CHECKING(whether to use TDB SAM database)
+AC_ARG_WITH(tdbsam,
+[  --with-tdbsam           Include experimental TDB SAM support (default=no)],
 [ case "$withval" in
   yes)
     AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_LDAP_SAMCONFIG,1,[Whether to include 2.2 compatible LDAP SAM configuration])
+    AC_DEFINE(WITH_TDB_SAM,1,[Whether to include experimental TDB SAM support])
     ;;
   *)
     AC_MSG_RESULT(no)
@@ -2468,24 +2520,20 @@ AC_ARG_WITH(ldapsam,
 )
 
 #################################################
-# check for IDMAP
-
-AC_DEFINE(WITH_IDMAP,1, [Include IDMAP support])
-
-AC_MSG_CHECKING(whether to use IDMAP only for [ug]id mapping)
-AC_ARG_WITH(idmap,
-[  --with-idmap           Include experimental IDMAP support (default=yes)],
+# check for a NISPLUS password database
+AC_MSG_CHECKING(whether to use NISPLUS SAM database)
+AC_ARG_WITH(nisplussam,
+[  --with-nisplussam       Include NISPLUS SAM support (default=no)],
 [ case "$withval" in
   yes)
     AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_IDMAP,1,[Whether to include experimental IDMAP support])
+    AC_DEFINE(WITH_NISPLUS_SAM,1,[Whether to include nisplus SAM support])
     ;;
-  no)
+  *)
     AC_MSG_RESULT(no)
-    AC_DEFINE(WITH_IDMAP,0,[Whether to include experimental IDMAP support])
     ;;
   esac ],
-  AC_MSG_RESULT(yes)
+  AC_MSG_RESULT(no)
 )
 
 ########################################################################################
@@ -3349,15 +3397,12 @@ AC_MSG_CHECKING(whether to use included popt)
 if test x"$INCLUDED_POPT" = x"yes"; then
     AC_MSG_RESULT(yes)
     BUILD_POPT='$(POPT_OBJS)'
-       POPTLIBS='$(POPT_OBJS)'
     FLAGS1="-I$srcdir/popt"
 else
     AC_MSG_RESULT(no)
-       BUILD_POPT=""
-    POPTLIBS="-lpopt"
+    LIBS="$LIBS -lpopt"
 fi
 AC_SUBST(BUILD_POPT)
-AC_SUBST(POPTLIBS)
 AC_SUBST(FLAGS1)
 
 #################################################
@@ -3388,90 +3433,6 @@ AC_ARG_WITH(python,
   esac ])
 AC_SUBST(PYTHON)
 
-for i in `echo $default_static_modules | sed -e's/,/ /g'`
-do
-       eval MODULE_DEFAULT_$i=STATIC
-done
-
-for i in `echo $default_shared_modules | sed -e's/,/ /g'`
-do
-       dnl Fall back to static if dlopen() is not available
-       eval MODULE_DEFAULT_$i=STATIC
-
-       if test x"$ac_cv_func_dlopen" = xyes; then
-               eval MODULE_DEFAULT_$i=SHARED
-       fi
-done
-
-dnl Always built these modules static
-MODULE_pdb_guest=STATIC
-MODULE_rpc_spoolss=STATIC
-MODULE_rpc_srv=STATIC
-
-AC_ARG_WITH(static-modules,
-[  --with-static-modules=MODULES  Comma-seperated list of names of modules to statically link in],
-[ if test $withval; then
-       for i in `echo $withval | sed -e's/,/ /g'`
-       do
-               eval MODULE_$i=STATIC
-       done
-fi ])
-
-AC_ARG_WITH(shared-modules,
-[  --with-shared-modules=MODULES  Comma-seperated list of names of modules to build shared],
-[ if test $withval; then
-       for i in `echo $withval | sed -e's/,/ /g'`
-       do
-                       eval MODULE_$i=SHARED
-       done
-fi ])
-
-SMB_MODULE(pdb_xml, modules/xml.o, bin/xml.so, PDB,
-                 [ PASSDBLIBS="$PASSDBLIBS $XML_LIBS" ] )
-SMB_MODULE(pdb_mysql, modules/mysql.o, bin/mysql.so, PDB, 
-                  [ PASSDBLIBS="$PASSDBLIBS $MYSQL_LIBS" ]     )
-SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o, bin/ldapsam.so, PDB, 
-                  [ PASSDBLIBS="$PASSDBLIBS $LDAP_LIBS" ] )
-SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, bin/smbpasswd.so, PDB)
-SMB_MODULE(pdb_tdbsam, passdb/pdb_tdb.o, bin/tdbsam.so, PDB)
-SMB_MODULE(pdb_nisplussam, passdb/pdb_nisplus.o, bin/nisplussam.so, PDB)
-SMB_MODULE(pdb_unix, passdb/pdb_unix.o, bin/unixsam.so, PDB)
-SMB_MODULE(pdb_guest, passdb/pdb_guest.o, bin/guest.so, PDB)
-SMB_SUBSYSTEM(PDB)
-
-SMB_MODULE(rpc_lsa, \$(RPC_LSA_OBJ), bin/librpc_lsarpc.so, RPC)
-SMB_MODULE(rpc_reg, \$(RPC_REG_OBJ), bin/librpc_winreg.so, RPC)
-SMB_MODULE(rpc_wks, \$(RPC_WKS_OBJ), bin/librpc_wkssvc.so, RPC)
-SMB_MODULE(rpc_net, \$(RPC_NETLOG_OBJ), bin/librpc_NETLOGON.so, RPC)
-SMB_MODULE(rpc_dfs, \$(RPC_DFS_OBJ), bin/librpc_netdfs.so, RPC)
-SMB_MODULE(rpc_srv, \$(RPC_SVC_OBJ), bin/librpc_srvsvc.so, RPC)
-SMB_MODULE(rpc_spoolss, \$(RPC_SPOOLSS_OBJ), bin/librpc_spoolss.so, RPC)
-SMB_MODULE(rpc_samr, \$(RPC_SAMR_OBJ), bin/librpc_samr.so, RPC)
-SMB_SUBSYSTEM(RPC)
-
-SMB_MODULE(charset_weird, modules/developer.o, bin/developer.so, CHARSET)
-SMB_SUBSYSTEM(CHARSET)
-
-SMB_MODULE(auth_rhosts, \$(AUTH_RHOSTS_OBJ), bin/rhosts.so, AUTH)
-SMB_MODULE(auth_sam, \$(AUTH_SAM_OBJ), bin/sam.so, AUTH)
-SMB_MODULE(auth_unix, \$(AUTH_UNIX_OBJ), bin/unix.so, AUTH)
-SMB_MODULE(auth_winbind, \$(AUTH_WINBIND_OBJ), bin/winbind.so, AUTH)
-SMB_MODULE(auth_server, \$(AUTH_SERVER_OBJ), bin/server.so, AUTH)
-SMB_MODULE(auth_domain, \$(AUTH_DOMAIN_OBJ), bin/domain.so, AUTH)
-SMB_MODULE(auth_builtin, \$(AUTH_BUILTIN_OBJ), bin/builtin.so, AUTH)
-SMB_SUBSYSTEM(AUTH)
-
-SMB_MODULE(vfs_recycle, \$(VFS_RECYCLE_OBJ), bin/recycle.so, VFS)
-SMB_MODULE(vfs_audit, \$(VFS_AUDIT_OBJ), bin/audit.so, VFS)
-SMB_MODULE(vfs_extd_audit, \$(VFS_EXTD_AUDIT_OBJ), bin/extd_audit.so, VFS)
-SMB_MODULE(vfs_fake_perms, \$(VFS_FAKE_PERMS_OBJ), bin/fake_perms.so, VFS)
-SMB_MODULE(vfs_netatalk, \$(VFS_NETATALK_OBJ), bin/netatalk.so, VFS)
-SMB_SUBSYSTEM(VFS)
-
-AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
-
-AC_SUBST(MODULES_CLEAN)
-
 #################################################
 # do extra things if we are running insure
 
diff --git a/source3/configure.nodebug.developer b/source3/configure.nodebug.developer
new file mode 100755 (executable)
index 0000000..65e21b4
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+CFLAGS="-Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -DDEBUG_PASSWORD"; export CFLAGS
+./configure $*
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 626b9f3ba043ac5e6d1b738c182cafa9b63acf35..e37f181082e2d152b85085b52c58c7e9cfb2c546 100644 (file)
@@ -148,8 +148,6 @@ struct auth_init_function_entry {
        /* Function to create a member of the authmethods list */
 
        auth_init_function init;
-
-       struct auth_init_function_entry *prev, *next;
 };
 
 typedef struct auth_ntlmssp_state
@@ -160,6 +158,4 @@ typedef struct auth_ntlmssp_state
        struct ntlmssp_state *ntlmssp_state;
 } AUTH_NTLMSSP_STATE;
 
-#define AUTH_INTERFACE_VERSION 1
-
 #endif /* _SMBAUTH_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 70f9f7706de7a2c8bd732146b811791933252d43..d4f45539f45d2fa50bd94d4cd100a671798c9d88 100644 (file)
@@ -88,7 +88,6 @@ extern int DEBUGLEVEL;
 #define DBGC_AUTH              10
 #define DBGC_WINBIND           11
 #define DBGC_VFS               12
-#define DBGC_IDMAP             13
 
 /* So you can define DBGC_CLASS before including debug.h */
 #ifndef DBGC_CLASS
diff --git a/source3/include/genparser.h b/source3/include/genparser.h
deleted file mode 100644 (file)
index f28cd78..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)(TALLOC_CTX *, struct parse_string *, const char *ptr, unsigned indent);
-typedef int (*gen_parse_fn)(TALLOC_CTX *, 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(TALLOC_CTX *, struct parse_string *, const char *, unsigned); \
-  int gen_parse_ ## type(TALLOC_CTX *, 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 789acc2..0000000
+++ /dev/null
@@ -1,240 +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;
-
-typedef struct gums_domain
-{
-       uint32 next_rid;
-
-} GUMS_DOMAIN;
-
-union gums_obj_p {
-       GUMS_USER *user;
-       GUMS_GROUP *group;
-       GUMS_DOMAIN *domain;
-};
-
-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_object_from_name) (GUMS_OBJECT **object, const char *name, const int onj_type);
-       /* 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_members_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         0x1
-#define GUMS_SET_SEC_DESC              0x2
-
-#define GUMS_SET_NAME                  0x10
-#define GUMS_SET_DESCRIPTION           0x11
-#define GUMS_SET_FULL_NAME             0x12
-
-/* user specific type values */
-#define GUMS_SET_LOGON_TIME            0x20
-#define GUMS_SET_LOGOFF_TIME           0x21
-#define GUMS_SET_KICKOFF_TIME          0x23
-#define GUMS_SET_PASS_LAST_SET_TIME    0x24
-#define GUMS_SET_PASS_CAN_CHANGE_TIME  0x25
-#define GUMS_SET_PASS_MUST_CHANGE_TIME 0x26
-
-
-#define GUMS_SET_HOME_DIRECTORY                0x31
-#define GUMS_SET_DRIVE                 0x32
-#define GUMS_SET_LOGON_SCRIPT          0x33
-#define GUMS_SET_PROFILE_PATH          0x34
-#define GUMS_SET_WORKSTATIONS          0x35
-#define GUMS_SET_UNKNOWN_STRING                0x36
-#define GUMS_SET_MUNGED_DIAL           0x37
-
-#define GUMS_SET_LM_PASSWORD           0x40
-#define GUMS_SET_NT_PASSWORD           0x41
-#define GUMS_SET_PLAINTEXT_PASSWORD    0x42
-#define GUMS_SET_UNKNOWN_3             0x43
-#define GUMS_SET_LOGON_DIVS            0x44
-#define GUMS_SET_HOURS_LEN             0x45
-#define GUMS_SET_HOURS                 0x46
-#define GUMS_SET_UNKNOWN_5             0x47
-#define GUMS_SET_UNKNOWN_6             0x48
-
-#define GUMS_SET_MUST_CHANGE_PASS      0x50
-#define GUMS_SET_CANNOT_CHANGE_PASS    0x51
-#define GUMS_SET_PASS_NEVER_EXPIRE     0x52
-#define GUMS_SET_ACCOUNT_DISABLED      0x53
-#define GUMS_SET_ACCOUNT_LOCKOUT       0x54
-
-/*group specific type values */
-#define GUMS_ADD_SID_LIST              0x60
-#define GUMS_DEL_SID_LIST              0x61
-#define GUMS_SET_SID_LIST              0x62
-
-#endif /* _GUMS_H */
diff --git a/source3/include/idmap.h b/source3/include/idmap.h
deleted file mode 100644 (file)
index 2cc31e9..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Idmap headers
-
-   Copyright (C) Anthony Liguori 2003
-   Copyright (C) Simo Sorce 2003
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library 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
-   Library General Public License for more details.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA  02111-1307, USA.   
-*/
-
-#define ID_EMPTY       0x00
-#define ID_USERID      0x01
-#define ID_GROUPID     0x02
-#define ID_OTHER       0x04
-
-#define ID_TYPEMASK    0x0f
-
-#define ID_NOMAP       0x10
-#define ID_CACHE       0x20
-
-typedef union unid_t {
-       uid_t uid;
-       gid_t gid;
-} unid_t;
-
-/* Filled out by IDMAP backends */
-struct idmap_methods {
-
-       /* Called when backend is first loaded */
-       NTSTATUS (*init)(const char *init_str);
-
-       NTSTATUS (*get_sid_from_id)(DOM_SID *sid, unid_t id, int id_type);
-       NTSTATUS (*get_id_from_sid)(unid_t *id, int *id_type, const DOM_SID *sid);
-       NTSTATUS (*set_mapping)(DOM_SID *sid, unid_t id, int id_type);
-
-       /* Called when backend is unloaded */
-       NTSTATUS (*close)(void);
-
-       /* Called to dump backend status */
-       void (*status)(void);
-};
-
index bf71ed54cf7298503a79dad92d24d896b292ef73..f6d26afe4f758976c36ea72f23ce46b27b9d33f7 100644 (file)
 #include <poll.h>
 #endif
 
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-#endif
-
 #ifdef HAVE_SYS_CAPABILITY_H
 
 #if defined(BROKEN_REDHAT_7_SYSTEM_HEADERS) && !defined(_I386_STATFS_H)
 #include <com_err.h>
 #endif
 
-/* Special macros that are no-ops except when run under Valgrind on
- * x86.  They've moved a little bit from valgrind 1.0.4 to 1.9.4 */
-#if HAVE_VALGRIND_MEMCHECK_H
-        /* memcheck.h includes valgrind.h */
-#include <valgrind/memcheck.h>
-#elif HAVE_VALGRIND_H
-#include <valgrind.h>
-#endif
-
-/* If we have --enable-developer and the valgrind header is present,
- * then we're OK to use it.  Set a macro so this logic can be done only
- * once. */
-#if defined(DEVELOPER) && (HAVE_VALGRIND_H || HAVE_VALGRIND_VALGRIND_H)
-#define VALGRIND
-#endif
-
-
 /* we support ADS if we want it and have krb5 and ldap libs */
 #if defined(WITH_ADS) && defined(HAVE_KRB5) && defined(HAVE_LDAP)
 #define HAVE_ADS
@@ -794,12 +773,6 @@ extern int errno;
 
 #include "passdb.h"
 
-#include "sam.h"
-
-#include "gums.h"
-
-#include "idmap.h"
-
 #include "session.h"
 
 #include "asn_1.h"
@@ -810,8 +783,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.
@@ -856,10 +827,6 @@ struct functable {
 
 struct printjob;
 
-struct smb_ldap_privates;
-
-struct smb_ldap_privates;
-
 /***** automatically generated prototypes *****/
 #ifndef NO_PROTO_H
 #include "proto.h"
@@ -1241,6 +1208,10 @@ int smb_xvasprintf(char **ptr, const char *format, va_list ap) PRINTF_ATTRIBUTE(
 time_t timegm(struct tm *tm);
 #endif
 
+#if defined(VALGRIND)
+#define strlen(x) valgrind_strlen(x)
+#endif
+
 /*
  * Veritas File System.  Often in addition to native.
  * Quotas different.
index f5d653f697826c79de7756a679896ad54143edde..0c905edcbcc6053419e01e1f88a56f9ccbc4bcf7 100644 (file)
@@ -257,8 +257,9 @@ typedef int (*smbc_remove_unused_server_fn)(SMBCCTX * c, SMBCSRV *srv);
  *
  */ 
 typedef int (*smbc_add_cached_srv_fn)   (SMBCCTX * c, SMBCSRV *srv, 
-                                   const char * server, const char * share,
-                                   const char * workgroup, const char * username);
+                                   char * server, char * share, 
+                                   char * workgroup, char * username);
+
 
 /**@ingroup callback
  * Look up a server in the cache system
@@ -276,9 +277,9 @@ typedef int (*smbc_add_cached_srv_fn)   (SMBCCTX * c, SMBCSRV *srv,
  * @return          pointer to SMBCSRV on success. NULL on failure.
  *
  */ 
-typedef SMBCSRV * (*smbc_get_cached_srv_fn)   (SMBCCTX * c, const char * server,
-                                              const char * share, const char * workgroup,
-                                               const char * username);
+typedef SMBCSRV * (*smbc_get_cached_srv_fn)   (SMBCCTX * c, char * server, 
+                                              char * share, char * workgroup, char * username);
+
 
 /**@ingroup callback
  * Check if a server is still good
index 4c3c58e14fc3cac08c55eaf9fffe85e25d1b11ae..29b0641119de060e2dfffbf44a8147a55c1290f5 100644 (file)
 
 /* Max number of simultaneous winbindd socket connections. */
 #define WINBINDD_MAX_SIMULTANEOUS_CLIENTS 200
-
-/* Buffer size to use when printing backtraces */
-#define BACKTRACE_STACK_SIZE 64
-
 #endif
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 8e1368810fb438751d91564592d95ed4b9dc9400..33dde6e3cb490cac077e329f4bf1fc88adb62380 100644 (file)
@@ -237,7 +237,7 @@ typedef struct r_lsa_query_sec_obj_info
 typedef struct lsa_query_info
 {
        POLICY_HND pol; /* policy handle */
-       uint16 info_class; /* info class */
+    uint16 info_class; /* info class */
 
 } LSA_Q_QUERY_INFO;
 
@@ -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
 {
index a6b352b02e8a4b905346f2d5dc6088b88727d8dc..df3633d91d911aa848c22844d7d2f163c9d598c0 100644 (file)
@@ -113,24 +113,24 @@ size_t __unsafe_string_function_usage_here_char__(void);
 
 #endif /* HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS */
 
-/* the addition of the DEVELOPER checks in safe_strcpy means we must
- * update a lot of code. To make this a little easier here are some
- * functions that provide the lengths with less pain */
-#define pstrcpy_base(dest, src, pstring_base) \
-    safe_strcpy(dest, src, sizeof(pstring)-PTR_DIFF(dest,pstring_base)-1)
-
 #define safe_strcpy_base(dest, src, base, size) \
     safe_strcpy(dest, src, size-PTR_DIFF(dest,base)-1)
 
-/* String copy functions - macro hell below adds 'type checking'
-   (limited, but the best we can do in C) and may tag with function
-   name/number to record the last 'clobber region' on that string */
+/* String copy functions - macro hell below adds 'type checking' (limited,
+   but the best we can do in C) and may tag with function name/number to
+   record the last 'clobber region' on that string */
 
 #define pstrcpy(d,s) safe_strcpy((d), (s),sizeof(pstring)-1)
 #define pstrcat(d,s) safe_strcat((d), (s),sizeof(pstring)-1)
 #define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1)
 #define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1)
 
+/* the addition of the DEVELOPER checks in safe_strcpy means we must
+ * update a lot of code. To make this a little easier here are some
+ * functions that provide the lengths with less pain */
+#define pstrcpy_base(dest, src, pstring_base) \
+    safe_strcpy(dest, src, sizeof(pstring)-PTR_DIFF(dest,pstring_base)-1)
+
 
 /* Inside the _fn variants of these is a call to clobber_region(), -
  * which might destroy the stack on a buggy function.  We help the
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 07faf28d439dcd7eb56da4fbf6bf3dba2651d0cd..183b29d7a8a594baf9cb826cc70b9db6da8e6f93 100644 (file)
@@ -57,14 +57,14 @@ struct machine_acct_pass {
 /*
  * storage structure for trusted domain
  */
-typedef struct trusted_dom_pass {
+struct trusted_dom_pass {
        size_t uni_name_len;
        smb_ucs2_t uni_name[32]; /* unicode domain name */
        size_t pass_len;
        fstring pass;           /* trust relationship's password */
        time_t mod_time;
        DOM_SID domain_sid;     /* remote domain's sid */
-} TRUSTED_DOM_PASS;
+};
 
 /*
  * trusted domain entry/entries returned by secrets_get_trusted_domains
index 4f37c38413c63213d68ae254cd87225784b2a677..edd25fb44ebe7a69fab5da1351449e8069ec59ed 100644 (file)
@@ -236,15 +236,15 @@ typedef struct nttime_info
 /* SID Types */
 enum SID_NAME_USE
 {
+       SID_NAME_USE_NONE = 0,/* NOTUSED */
        SID_NAME_USER    = 1, /* user */
-       SID_NAME_DOM_GRP,     /* domain group */
-       SID_NAME_DOMAIN,      /* domain sid */
-       SID_NAME_ALIAS,       /* local group */
-       SID_NAME_WKN_GRP,     /* well-known group */
-       SID_NAME_DELETED,     /* deleted account: needed for c2 rating */
-       SID_NAME_INVALID,     /* invalid account */
-       SID_NAME_UNKNOWN,     /* unknown sid type */
-       SID_NAME_COMPUTER,    /* sid for a computer */
+       SID_NAME_DOM_GRP = 2, /* domain group */
+       SID_NAME_DOMAIN  = 3, /* domain: don't know what this is */
+       SID_NAME_ALIAS   = 4, /* local group */
+       SID_NAME_WKN_GRP = 5, /* well-known group */
+       SID_NAME_DELETED = 6, /* deleted account: needed for c2 rating */
+       SID_NAME_INVALID = 7, /* invalid account */
+       SID_NAME_UNKNOWN = 8  /* oops. */
 };
 
 /**
@@ -1711,9 +1711,16 @@ typedef struct {
 
 #define DEFAULT_TRUST_ACCOUNT_PASSWORD_LENGTH 14
 
-#include "popt_common.h"
+/* Common popt structures */
+
+extern struct poptOption popt_common_debug[];
+extern struct poptOption popt_common_configfile[];
+extern struct poptOption popt_common_socket_options[];
+extern struct poptOption popt_common_version[];
+extern struct poptOption popt_common_netbios_name[];
+extern struct poptOption popt_common_log_base[];
 
 /* Module support */
-typedef int (init_module_function) (void);
+typedef NTSTATUS (init_module_function) (void);
 
 #endif /* _SMB_H */
diff --git a/source3/include/smb_ldap.h b/source3/include/smb_ldap.h
deleted file mode 100644 (file)
index 1a30b85..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   LDAP protocol helper functions for SAMBA
-   Copyright (C) Jean François Micouleau      1998
-   Copyright (C) Gerald Carter                 2001
-   Copyright (C) Shahms King                   2001
-   Copyright (C) Andrew Bartlett               2002
-   Copyright (C) Stefan (metze) Metzmacher     2002
-   Copyright (C) Jim McDonough                  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
-   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 SMB_LDAP_H
-#define SMB_LDAP_H
-
-#ifdef HAVE_LDAP
-
-#include <lber.h>
-#include <ldap.h>
-
-struct smb_ldap_privates {
-
-       /* Former statics */
-       LDAP *ldap_struct;
-       LDAPMessage *result;
-       LDAPMessage *entry;
-       int index;
-       
-       time_t last_ping;
-       /* retrive-once info */
-       const char *uri;
-       
-       BOOL permit_non_unix_accounts;
-       
-       uint32 low_nua_rid; 
-       uint32 high_nua_rid; 
-
-       char *bind_dn;
-       char *bind_secret;
-
-       struct smb_ldap_privates *next;
-};
-
-#endif
-#endif
diff --git a/source3/include/tdbsam2.h b/source3/include/tdbsam2.h
deleted file mode 100644 (file)
index 047b4e7..0000000
+++ /dev/null
@@ -1,95 +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 *dom_sid;               /* The Domain SID */
-       char *name; _NULLTERM           /* NT Domain Name */
-       char *description; _NULLTERM    /* Descritpion (Gecos) */
-
-       uint32 next_rid;                /* The Next free RID */
-};
-
-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 Group 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..3ee1d8db599a2ba744987bb08354f7556f0aeacf 100644 (file)
@@ -1 +1 @@
-#define VERSION "post3.0-HEAD"
+#define VERSION "3.0alpha24"
index 756e417814d0e2bff70833245aafbc4d1c734d2f..9a0676437138a45fc5d81188d1c525c1b2b2411e 100644 (file)
@@ -48,7 +48,7 @@
 #define SMB_VFS_INTERFACE_VERSION 5
 
 
-/* Version of supported cascaded interface backward compatibility.
+/* Version of supported cascaded interface backward copmatibility.
    (version 5 corresponds to SMB_VFS_INTERFACE_VERSION 5)
    It is used in vfs_init_custom() to detect VFS modules which conform to cascaded 
    VFS interface but implement elder version than current version of Samba uses.
@@ -77,7 +77,7 @@
     is unloaded from smbd process using sys_dlclose().
     
     Prototypes:
-    vfs_op_tuple *vfs_init(const struct vfs_ops *def_vfs_ops,
+    vfs_op_tuple *vfs_init(int *vfs_version, const struct vfs_ops *def_vfs_ops,
                            struct smb_vfs_handle_struct *vfs_handle);
     void         vfs_done(connection_struct *conn);
     
index e8b382c7ab9dfa00d61370309b6bd0d3b15b8d07..2e619c0c6b303e28137143297f90e3744d0b0385 100644 (file)
@@ -118,7 +118,7 @@ BOOL account_policy_get(int field, uint32 *value)
 {
        fstring name;
 
-       if(!init_account_policy())return False;
+       init_account_policy();
 
        *value = 0;
 
@@ -142,7 +142,7 @@ BOOL account_policy_set(int field, uint32 value)
 {
        fstring name;
 
-       if(!init_account_policy())return False;
+       init_account_policy();
 
        fstrcpy(name, decode_account_policy_name(field));
        if (!*name) {
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 40b4d1390dcd8deb6b685efe6bf345f24fb16e9d..baec0e3b3764ef154c31c645aac792f515beda8b 100644 (file)
@@ -94,12 +94,12 @@ BOOL gencache_shutdown(void)
  * Set an entry in the cache file. If there's no such
  * one, then add it.
  *
- * @param keystr string that represents a key of this entry
+ * @param key string that represents a key of this entry
  * @param value text representation value being cached
  * @param timeout time when the value is expired
  *
- * @retval true when entry is successfuly stored
- * @retval false on failure
+ * @return true when entry is successfuly stored or
+ *         false on the attempt's failure
  **/
  
 BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
@@ -137,12 +137,12 @@ BOOL gencache_set(const char *keystr, const char *value, time_t timeout)
 /**
  * Set existing entry to the cache file.
  *
- * @param keystr string that represents a key of this entry
- * @param valstr text representation value being cached
+ * @param key string that represents a key of this entry
+ * @param value text representation value being cached
  * @param timeout time when the value is expired
  *
- * @retval true when entry is successfuly set
- * @retval false on failure
+ * @return true when entry is successfuly set or
+ *         false on the attempt's failure
  **/
 
 BOOL gencache_set_only(const char *keystr, const char *valstr, time_t timeout)
@@ -192,10 +192,10 @@ BOOL gencache_set_only(const char *keystr, const char *valstr, time_t timeout)
 /**
  * Delete one entry from the cache file.
  *
- * @param keystr string that represents a key of this entry
+ * @param key string that represents a key of this entry
  *
- * @retval true upon successful deletion
- * @retval false in case of failure
+ * @return true upon successful deletion or
+ *         false in case of failure
  **/
 
 BOOL gencache_del(const char *keystr)
@@ -221,14 +221,14 @@ BOOL gencache_del(const char *keystr)
 /**
  * Get existing entry from the cache file.
  *
- * @param keystr string that represents a key of this entry
- * @param valstr buffer that is allocated and filled with the entry value
+ * @param key string that represents a key of this entry
+ * @param value buffer that is allocated and filled with the entry value
  *        buffer's disposing must be done outside
  * @param timeout pointer to a time_t that is filled with entry's
  *        timeout
  *
- * @retval true when entry is successfuly fetched
- * @retval False for failure
+ * @return true when entry is successfuly fetched or
+ *         false on the failure
  **/
 
 BOOL gencache_get(const char *keystr, char **valstr, time_t *timeout)
diff --git a/source3/lib/genparser.c b/source3/lib/genparser.c
deleted file mode 100644 (file)
index 233050b..0000000
+++ /dev/null
@@ -1,786 +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(TALLOC_CTX *mem_ctx, const char *ptr, unsigned len)
-{
-       const char *hexdig = "0123456789abcdef";
-       char *ret, *p;
-       unsigned i;
-       ret = talloc(mem_ctx, 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(TALLOC_CTX *mem_ctx, const char *s, unsigned *len) 
-{
-       char *ret, *p;
-       unsigned i;
-       int slen = strlen(s) + 1;
-
-       ret = talloc(mem_ctx, slen); /* worst case length */
-       if (!ret)
-               return NULL;
-       memset(ret, 0, slen);
-
-       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) {
-                               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(TALLOC_CTX *mem_ctx, struct parse_string *p, int n)
-{
-       if (p->length + n <= p->allocated) return 0;
-       p->allocated = p->length + n + 200;
-       p->s = talloc_realloc(mem_ctx, p->s, p->allocated);
-       if (!p->s) {
-               errno = ENOMEM;
-               return -1;
-       }
-       return 0;
-}
-
-/* add a character to the buffer */
-static int addchar(TALLOC_CTX *mem_ctx, struct parse_string *p, char c)
-{
-       if (addgen_alloc(mem_ctx, 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(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *s)
-{
-       int len = strlen(s);
-       if (addgen_alloc(mem_ctx, 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(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *s, unsigned indent)
-{
-       int len = strlen(s);
-       if (addgen_alloc(mem_ctx, 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(TALLOC_CTX *mem_ctx, 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(mem_ctx, 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(TALLOC_CTX *mem_ctx, 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(mem_ctx, 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(TALLOC_CTX *mem_ctx,
-                 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(mem_ctx, p, einfo[i].name);
-                       return 0;
-               }
-       }
-       /* hmm, maybe we should just fail? */
-       return gen_dump_unsigned(mem_ctx, p, ptr, indent);
-}
-
-/* dump a single non-array element, hanlding struct and enum */
-static int gen_dump_one(TALLOC_CTX *mem_ctx,
-                       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(mem_ctx, ptr, strlen(ptr));
-               if (addchar(mem_ctx, p,'{') ||
-                   addstr(mem_ctx, p, s) ||
-                   addstr(mem_ctx, p, "}")) {
-                       return -1;
-               }
-               return 0;
-       }
-
-       return pinfo->dump_fn(mem_ctx, p, ptr, indent);
-}
-
-/* handle dumping of an array of arbitrary type */
-static int gen_dump_array(TALLOC_CTX *mem_ctx,
-                         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(mem_ctx, ptr, array_len);
-               if (!s) return -1;
-               if (addtabbed(mem_ctx, p, pinfo->name, indent) ||
-                   addstr(mem_ctx, p, " = {") ||
-                   addstr(mem_ctx, p, s) ||
-                   addstr(mem_ctx, p, "}\n")) {
-                       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(mem_ctx, p, pinfo->name, indent) ||
-                           addshort(mem_ctx, p, " = %u:", i)) {
-                               return -1;
-                       }
-               } else {
-                       if (addshort(mem_ctx, p, ", %u:", i) != 0) {
-                               return -1;
-                       }
-               }
-               if (gen_dump_one(mem_ctx, p, pinfo, p2, indent) != 0) {
-                       return -1;
-               }
-               ptr += size;
-               count++;
-       }
-       if (count) {
-               return addstr(mem_ctx, 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(TALLOC_CTX *mem_ctx,
-                   const struct parse_struct *pinfo,
-                   struct parse_string *p, 
-                   const char *ptr, 
-                   unsigned indent)
-{
-       char *s = gen_dump(mem_ctx, pinfo, ptr, indent+1);
-       if (!s) return -1;
-       if (addstr(mem_ctx, p, "{\n") || 
-           addstr(mem_ctx, p, s) || 
-           addtabbed(mem_ctx, p, "}", indent)) {
-               return -1;
-       }
-       return 0;
-}
-
-static int gen_dump_string(TALLOC_CTX *mem_ctx,
-                          struct parse_string *p,
-                          const struct parse_struct *pinfo, 
-                          const char *data, 
-                          unsigned indent)
-{
-       const char *ptr = *(char **)data;
-       char *s = encode_bytes(mem_ctx, ptr, strlen(ptr));
-       if (addtabbed(mem_ctx, p, pinfo->name, indent) ||
-           addstr(mem_ctx, p, " = ") ||
-           addchar(mem_ctx, p, '{') ||
-           addstr(mem_ctx, p, s) ||
-           addstr(mem_ctx, p, "}\n")) {
-               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(TALLOC_CTX *mem_ctx,
-              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(mem_ctx, &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(mem_ctx, &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(mem_ctx, &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(mem_ctx, &p, &pinfo[i], ptr, indent) != 0) {
-                               goto failed;
-                       }
-                       continue;
-               }
-
-               /* generic pointer dereference */
-               if (pinfo[i].ptr_count) {
-                       ptr = *(const char **)ptr;
-               }
-
-               if (addtabbed(mem_ctx, &p, pinfo[i].name, indent) ||
-                   addstr(mem_ctx, &p, " = ") ||
-                   gen_dump_one(mem_ctx, &p, &pinfo[i], ptr, indent) ||
-                   addstr(mem_ctx, &p, "\n")) {
-                       goto failed;
-               }
-       }
-       return p.s;
-
-failed:
-       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(TALLOC_CTX *mem_ctx,
-                  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(TALLOC_CTX *mem_ctx,
-                         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(mem_ctx, str, &len);
-               if (!s) return -1;
-               *(char **)ptr = s;
-               return 0;
-       }
-
-       if (pinfo->ptr_count) {
-               unsigned size = pinfo->ptr_count>1?sizeof(void *):pinfo->size;
-               struct parse_struct p2 = *pinfo;
-               *(void **)ptr = talloc(mem_ctx, size);
-               if (! *(void **)ptr) {
-                       return -1;
-               }
-               memset(*(void **)ptr, 0, size);
-               ptr = *(char **)ptr;
-               p2.ptr_count--;
-               return gen_parse_base(mem_ctx, &p2, ptr, str);
-       }
-
-       return pinfo->parse_fn(mem_ctx, ptr, str);
-}
-
-/* parse a generic array */
-static int gen_parse_array(TALLOC_CTX *mem_ctx,
-                          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(mem_ctx, str, &len);
-               if (!s || (len > array_len)) return -1;
-               memset(ptr, 0, array_len);
-               memcpy(ptr, s, len);
-               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(mem_ctx, 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(TALLOC_CTX *mem_ctx,
-                        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(mem_ctx, &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) {
-                       struct parse_struct p2 = pinfo[i];
-                       char *ptr;
-                       unsigned size = pinfo[i].ptr_count>1?sizeof(void*):pinfo[i].size;
-                       ptr = talloc(mem_ctx, len*size);
-                       if (!ptr) {
-                               errno = ENOMEM;
-                               return -1;
-                       }
-                       memset(ptr, 0, len*size);
-                       *((char **)(data + pinfo[i].offset)) = ptr;
-                       p2.ptr_count--;
-                       p2.dynamic_len = NULL;
-                       return gen_parse_array(mem_ctx, &p2, ptr, str, len);
-               }
-               return 0;
-       }
-
-       return gen_parse_base(mem_ctx, &pinfo[i], data + pinfo[i].offset, str);
-}
-
-int gen_parse_struct(TALLOC_CTX * mem_ctx, const struct parse_struct *pinfo, char *ptr, const char *str)
-{
-       return gen_parse(mem_ctx, pinfo, ptr, str);
-}
-
-/* the main parse routine */
-int gen_parse(TALLOC_CTX *mem_ctx, 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(mem_ctx, 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(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(unsigned char *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_int(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(int *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_unsigned(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(unsigned *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_time_t(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(time_t *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_double(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(double *)ptr = atof(str);
-       return 0;
-}
-
-int gen_parse_float(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(float *)ptr = atof(str);
-       return 0;
-}
-
-int gen_dump_char(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(unsigned char *)(ptr));
-}
-
-int gen_dump_int(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%d", *(int *)(ptr));
-}
-
-int gen_dump_unsigned(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(unsigned *)(ptr));
-}
-
-int gen_dump_time_t(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(time_t *)(ptr));
-}
-
-int gen_dump_double(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%lg", *(double *)(ptr));
-}
-
-int gen_dump_float(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%g", *(float *)(ptr));
-}
diff --git a/source3/lib/genparser_samba.c b/source3/lib/genparser_samba.c
deleted file mode 100644 (file)
index bece587..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(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(uint8 *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_uint16(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(uint16 *)ptr = atoi(str);
-       return 0;
-}
-
-int gen_parse_uint32(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       *(uint32 *)ptr = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_NTTIME(TALLOC_CTX *mem_ctx, 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(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       if(!string_to_sid((DOM_SID *)ptr, str)) return -1;
-       return 0;
-}
-
-int gen_parse_SEC_ACCESS(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       ((SEC_ACCESS *)ptr)->mask = strtoul(str, NULL, 10);
-       return 0;
-}
-
-int gen_parse_GUID(TALLOC_CTX *mem_ctx, 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(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       return gen_parse_struct(mem_ctx, pinfo_security_ace_info, ptr, str);
-}
-
-int gen_parse_SEC_ACL(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       return gen_parse_struct(mem_ctx, pinfo_security_acl_info, ptr, str);
-}
-
-int gen_parse_SEC_DESC(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       return gen_parse_struct(mem_ctx, pinfo_security_descriptor_info, ptr, str);
-}
-
-int gen_parse_LUID_ATTR(TALLOC_CTX *mem_ctx, char *ptr, const char *str)
-{
-       return gen_parse_struct(mem_ctx, pinfo_luid_attr_info, ptr, str);
-}
-
-int gen_parse_LUID(TALLOC_CTX *mem_ctx, 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(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(uint8 *)(ptr));
-}
-
-int gen_dump_uint16(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(uint16 *)(ptr));
-}
-
-int gen_dump_uint32(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", *(uint32 *)(ptr));
-}
-
-int gen_dump_NTTIME(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       uint32 low, high;
-
-       high = ((NTTIME *)(ptr))->high;
-       low = ((NTTIME *)(ptr))->low;
-       return addshort(mem_ctx, p, "%u,%u", high, low);
-}
-
-int gen_dump_DOM_SID(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       fstring sidstr;
-
-       sid_to_string(sidstr, (DOM_SID *)ptr);
-       return addstr(mem_ctx, p, sidstr);
-}
-
-int gen_dump_SEC_ACCESS(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return addshort(mem_ctx, p, "%u", ((SEC_ACCESS *)ptr)->mask);
-}
-
-int gen_dump_GUID(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       int i, r;
-
-       for (i = 0; i < (GUID_SIZE - 1); i++) {
-               if (!(r = addshort(mem_ctx, p, "%d,", ((GUID *)ptr)->info[i]))) return r;
-       }
-       return addshort(mem_ctx, p, "%d", ((GUID *)ptr)->info[i]);
-}
-
-int gen_dump_SEC_ACE(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(mem_ctx, pinfo_security_ace_info, p, ptr, indent);
-}
-
-int gen_dump_SEC_ACL(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(mem_ctx, pinfo_security_acl_info, p, ptr, indent);
-}
-
-int gen_dump_SEC_DESC(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(mem_ctx, pinfo_security_descriptor_info, p, ptr, indent);
-}
-
-int gen_dump_LUID_ATTR(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       return gen_dump_struct(mem_ctx, pinfo_luid_attr_info, p, ptr, indent);
-}
-
-int gen_dump_LUID(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent)
-{
-       uint32 low, high;
-
-       high = ((LUID *)(ptr))->high;
-       low = ((LUID *)(ptr))->low;
-       return addshort(mem_ctx, p, "%u,%u", high, low);
-}
-
index b6ae09b3181fd0ecc38076d0f1ec818d754b2390..c271d554047c6d172aec700cc1b3a0bf08aad2e3 100644 (file)
@@ -83,7 +83,7 @@ static int tcsetattr(int fd, int flags, struct sgttyb *t)
 static struct termios t;
 #endif /* SYSV_TERMIO */
 
-char *getsmbpass(const char *prompt)
+char *getsmbpass(char *prompt)
 {
   FILE *in, *out;
   int echo_off;
index a37441b9fabfbc3ced30981e8f1eee05bc3fb33c..54733c2ac27c62e843a17827f16d416c890c3d3b 100644 (file)
@@ -2,7 +2,6 @@
    Unix SMB/CIFS implementation.
    minimal iconv implementation
    Copyright (C) Andrew Tridgell 2001
-   Copyright (C) Jelmer Vernooij 2002,2003,2003,2003,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
 
 #include "includes.h"
 
-
-/**
- * @file
- *
- * @brief Samba wrapper/stub for iconv character set conversion.
- *
- * iconv is the XPG2 interface for converting between character
- * encodings.  This file provides a Samba wrapper around it, and also
- * a simple reimplementation that is used if the system does not
- * implement iconv.
- *
- * Samba only works with encodings that are supersets of ASCII: ascii
- * characters like whitespace can be tested for directly, multibyte
- * sequences start with a byte with the high bit set, and strings are
- * terminated by a nul byte.
- *
- * Note that the only function provided by iconv is conversion between
- * characters.  It doesn't directly support operations like
- * uppercasing or comparison.  We have to convert to UCS-2 and compare
- * there.
- *
- * @sa Samba Developers Guide
- **/
-
 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 {
+       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);
+} 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;
-
-static struct charset_functions *find_charset_functions(const char *name) 
-{
-       struct charset_functions *c = charsets;
-       pstring stripped;
-
-       module_path_get_name(name, stripped);
-       
-       while(c) {
-               if (strequal(stripped, c->name) == 0)return c;
-               c = c->next;
-       }
-
-       return 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]);
-               static_init_charset;
-       }
-}
 
 /* if there was an error then reset the internal state,
    this ensures that we don't have a shift state remaining for
@@ -177,11 +116,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) {
@@ -194,78 +129,53 @@ smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode)
        ret->to_name = strdup(tocode);
 
        /* check for the simplest null conversion */
-       if (strcasecmp(fromcode, tocode) == 0) {
+       if (strcmp(fromcode, tocode) == 0) {
                ret->direct = iconv_copy;
                return ret;
        }
 
-       /* check if we have a builtin function for this conversion */
-       from = find_charset_functions(fromcode);
-       if(from)ret->pull = from->pull;
-       
-       to = find_charset_functions(tocode);
-       if(to)ret->push = to->push;
+       for (from=0; charsets[from].name; from++) {
+               if (strcasecmp(charsets[from].name, fromcode) == 0) break;
+       }
+       for (to=0; charsets[to].name; to++) {
+               if (strcasecmp(charsets[to].name, tocode) == 0) break;
+       }
 
-       /* check if we can use iconv for this conversion */
 #ifdef HAVE_NATIVE_ICONV
-       if (!ret->pull) {
+       if (!charsets[from].name) {
+               ret->pull = sys_iconv;
                ret->cd_pull = iconv_open("UCS-2LE", fromcode);
-               if (ret->cd_pull != (iconv_t)-1)
-                       ret->pull = sys_iconv;
+               if (ret->cd_pull == (iconv_t)-1) goto failed;
        }
-
-       if (!ret->push) {
+       if (!charsets[to].name) {
+               ret->push = sys_iconv;
                ret->cd_push = iconv_open(tocode, "UCS-2LE");
-               if (ret->cd_push != (iconv_t)-1)
-                       ret->push = sys_iconv;
-       }
-#endif
-       
-       /* check if there is a module available that can do this conversion */
-       if (!ret->pull && smb_probe_module("charset", fromcode)) {
-               if(!(from = find_charset_functions(fromcode)))
-                       DEBUG(0, ("Module %s doesn't provide charset %s!\n", fromcode, fromcode));
-               else 
-                       ret->pull = from->pull;
+               if (ret->cd_push == (iconv_t)-1) goto failed;
        }
-
-       if (!ret->push && smb_probe_module("charset", tocode)) {
-               if(!(to = find_charset_functions(tocode)))
-                       DEBUG(0, ("Module %s doesn't provide charset %s!\n", tocode, tocode));
-               else 
-                       ret->push = to->push;
-       }
-
-       if (!ret->push || !ret->pull) {
-               SAFE_FREE(ret->from_name);
-               SAFE_FREE(ret->to_name);
-               SAFE_FREE(ret);
-               errno = EINVAL;
-               return (smb_iconv_t)-1;
+#else
+       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;
-               ret->push = ret->pull = NULL;
+       if (from == 0 && charsets[to].name) {
+               ret->direct = charsets[to].push;
                return ret;
        }
-
-       if (strcasecmp(tocode, "UCS-2LE") == 0 && from) {
-               ret->direct = from->pull;
-               ret->push = ret->pull = NULL;
+       if (to == 0 && charsets[from].name) {
+               ret->direct = charsets[from].pull;
                return ret;
        }
 
-       /* Check if we can do the conversion direct */
 #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;
@@ -273,7 +183,15 @@ 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 = charsets[from].pull;
+       if (!ret->push) ret->push = charsets[to].push;
        return ret;
+
+failed:
+       SAFE_FREE(ret);
+       errno = EINVAL;
+       return (smb_iconv_t)-1;
 }
 
 /*
@@ -435,6 +353,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 {
+       const char from;
+       const 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)
 {
diff --git a/source3/lib/ldap.c b/source3/lib/ldap.c
deleted file mode 100644 (file)
index 73ff50e..0000000
+++ /dev/null
@@ -1,718 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   LDAP protocol helper functions for SAMBA
-   Copyright (C) Jean François Micouleau      1998
-   Copyright (C) Gerald Carter                 2001
-   Copyright (C) Shahms King                   2001
-   Copyright (C) Andrew Bartlett               2002
-   Copyright (C) Stefan (metze) Metzmacher     2002
-   Copyright (C) Jim McDonough                  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
-   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
-/* TODO:
-*  persistent connections: if using NSS LDAP, many connections are made
-*      however, using only one within Samba would be nice
-*  
-*  Clean up SSL stuff, compile on OpenLDAP 1.x, 2.x, and Netscape SDK
-*
-*  Other LDAP based login attributes: accountExpires, etc.
-*  (should be the domain of Samba proper, but the sam_password/SAM_ACCOUNT
-*  structures don't have fields for some of these attributes)
-*
-*  SSL is done, but can't get the certificate based authentication to work
-*  against on my test platform (Linux 2.4, OpenLDAP 2.x)
-*/
-
-/* NOTE: this will NOT work against an Active Directory server
-*  due to the fact that the two password fields cannot be retrieved
-*  from a server; recommend using security = domain in this situation
-*  and/or winbind
-*/
-
-#include "smb_ldap.h"
-
-/* We need an internal mapping of LDAP * -> smb_ldap_privates so we implement
-   it in terms of a VK list.  It's a little backwards but its quite efficent */
-static struct smb_ldap_privates *head;
-
-static struct smb_ldap_privates *get_internal(LDAP *ldap_struct)
-{
-       struct smb_ldap_privates *ret = head;
-
-       while (NULL != ret && ret->ldap_struct != ldap_struct) {
-               ret = ret->next;
-       }
-
-       return ret;
-}
-
-#define SMB_LDAP_DONT_PING_TIME 10     /* ping only all 10 seconds */
-
-/*******************************************************************
- find the ldap password
-******************************************************************/
-static BOOL smb_ldap_fetch_pw(char **dn, char** pw)
-{
-       char *key = NULL;
-       size_t size;
-       
-       *dn = smb_xstrdup(lp_ldap_admin_dn());
-       
-       if (asprintf(&key, "%s/%s", SECRETS_LDAP_BIND_PW, *dn) < 0) {
-               SAFE_FREE(*dn);
-               DEBUG(0, ("smb_ldap_fetch_pw: asprintf failed!\n"));
-       }
-       
-       *pw=secrets_fetch(key, &size);
-       if (!size) {
-               /* Upgrade 2.2 style entry */
-               char *p;
-               char* old_style_key = strdup(*dn);
-               char *data;
-               fstring old_style_pw;
-               
-               if (!old_style_key) {
-                       DEBUG(0, ("smb_ldap_fetch_pw: strdup failed!\n"));
-                       return False;
-               }
-
-               for (p=old_style_key; *p; p++)
-                       if (*p == ',') *p = '/';
-       
-               data=secrets_fetch(old_style_key, &size);
-               if (!size && size < sizeof(old_style_pw)) {
-                       DEBUG(0,("fetch_ldap_pw: neither ldap secret retrieved!\n"));
-                       SAFE_FREE(old_style_key);
-                       SAFE_FREE(*dn);
-                       return False;
-               }
-
-               strncpy(old_style_pw, data, size);
-               old_style_pw[size] = 0;
-
-               SAFE_FREE(data);
-
-               if (!secrets_store_ldap_pw(*dn, old_style_pw)) {
-                       DEBUG(0,("fetch_ldap_pw: ldap secret could not be upgraded!\n"));
-                       SAFE_FREE(old_style_key);
-                       SAFE_FREE(*dn);
-                       return False;                   
-               }
-               if (!secrets_delete(old_style_key)) {
-                       DEBUG(0,("fetch_ldap_pw: old ldap secret could not be deleted!\n"));
-               }
-
-               SAFE_FREE(old_style_key);
-
-               *pw = smb_xstrdup(old_style_pw);                
-       }
-       
-       return True;
-}
-
-/*******************************************************************
- open a connection to the ldap server.
-******************************************************************/
-int smb_ldap_open_connection (struct smb_ldap_privates *ldap_state, 
-                             LDAP ** ldap_struct)
-{
-       int rc = LDAP_SUCCESS;
-       int version;
-       BOOL ldap_v3 = False;
-
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-       DEBUG(10, ("smb_ldap_open_connection: %s\n", ldap_state->uri));
-       
-       if ((rc = ldap_initialize(ldap_struct, ldap_state->uri)) != LDAP_SUCCESS) {
-               DEBUG(0, ("ldap_initialize: %s\n", ldap_err2string(rc)));
-               return rc;
-       }
-       
-#else 
-
-       /* Parse the string manually */
-
-       {
-               int port = 0;
-               fstring protocol;
-               fstring host;
-               const char *p = ldap_state->uri; 
-               SMB_ASSERT(sizeof(protocol)>10 && sizeof(host)>254);
-               
-               /* skip leading "URL:" (if any) */
-               if ( strncasecmp( p, "URL:", 4 ) == 0 ) {
-                       p += 4;
-               }
-               
-               sscanf(p, "%10[^:]://%254s[^:]:%d", protocol, host, &port);
-               
-               if (port == 0) {
-                       if (strequal(protocol, "ldap")) {
-                               port = LDAP_PORT;
-                       } else if (strequal(protocol, "ldaps")) {
-                               port = LDAPS_PORT;
-                       } else {
-                               DEBUG(0, ("unrecognised protocol (%s)!\n", protocol));
-                       }
-               }
-               
-               if ((*ldap_struct = ldap_init(host, port)) == NULL)     {
-                       DEBUG(0, ("ldap_init failed !\n"));
-                       return LDAP_OPERATIONS_ERROR;
-               }
-               
-               if (strequal(protocol, "ldaps")) {
-#ifdef LDAP_OPT_X_TLS
-                       int tls = LDAP_OPT_X_TLS_HARD;
-                       if (ldap_set_option (*ldap_struct, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS)
-                       {
-                               DEBUG(0, ("Failed to setup a TLS session\n"));
-                       }
-                       
-                       DEBUG(3,("LDAPS option set...!\n"));
-#else
-                       DEBUG(0,("smb_ldap_open_connection: Secure connection not supported by LDAP client libraries!\n"));
-                       return LDAP_OPERATIONS_ERROR;
-#endif
-               }
-       }
-#endif
-
-       if (ldap_get_option(*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS)
-       {
-               if (version != LDAP_VERSION3)
-               {
-                       version = LDAP_VERSION3;
-                       if (ldap_set_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS) {
-                               ldap_v3 = True;
-                       }
-               } else {
-                       ldap_v3 = True;
-               }
-       }
-
-       if (lp_ldap_ssl() == LDAP_SSL_START_TLS) {
-#ifdef LDAP_OPT_X_TLS
-               if (ldap_v3) {
-                       if ((rc = ldap_start_tls_s (*ldap_struct, NULL, NULL)) != LDAP_SUCCESS)
-                       {
-                               DEBUG(0,("Failed to issue the StartTLS instruction: %s\n",
-                                        ldap_err2string(rc)));
-                               return rc;
-                       }
-                       DEBUG (3, ("StartTLS issued: using a TLS connection\n"));
-               } else {
-                       
-                       DEBUG(0, ("Need LDAPv3 for Start TLS\n"));
-                       return LDAP_OPERATIONS_ERROR;
-               }
-#else
-               DEBUG(0,("smb_ldap_open_connection: StartTLS not supported by LDAP client libraries!\n"));
-               return LDAP_OPERATIONS_ERROR;
-#endif
-       }
-
-       DEBUG(2, ("smb_ldap_open_connection: connection opened\n"));
-       return rc;
-}
-
-
-/*******************************************************************
- a rebind function for authenticated referrals
- This version takes a void* that we can shove useful stuff in :-)
-******************************************************************/
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-#else
-static int rebindproc_with_state  (LDAP * ld, char **whop, char **credp, 
-                                  int *methodp, int freeit, void *arg)
-{
-       struct smb_ldap_privates *ldap_state = arg;
-       
-       /** @TODO Should we be doing something to check what servers we rebind to?
-           Could we get a referral to a machine that we don't want to give our
-           username and password to? */
-       
-       if (freeit) {
-               SAFE_FREE(*whop);
-               memset(*credp, '\0', strlen(*credp));
-               SAFE_FREE(*credp);
-       } else {
-               DEBUG(5,("rebind_proc_with_state: Rebinding as \"%s\"\n", 
-                         ldap_state->bind_dn));
-
-               *whop = strdup(ldap_state->bind_dn);
-               if (!*whop) {
-                       return LDAP_NO_MEMORY;
-               }
-               *credp = strdup(ldap_state->bind_secret);
-               if (!*credp) {
-                       SAFE_FREE(*whop);
-                       return LDAP_NO_MEMORY;
-               }
-               *methodp = LDAP_AUTH_SIMPLE;
-       }
-       return 0;
-}
-#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-
-/*******************************************************************
- a rebind function for authenticated referrals
- This version takes a void* that we can shove useful stuff in :-)
- and actually does the connection.
-******************************************************************/
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-static int rebindproc_connect_with_state (LDAP *ldap_struct, 
-                                         LDAP_CONST char *url, 
-                                         ber_tag_t request,
-                                         ber_int_t msgid, void *arg)
-{
-       struct smb_ldap_privates *ldap_state = arg;
-       int rc;
-       DEBUG(5,("rebindproc_connect_with_state: Rebinding as \"%s\"\n", 
-                ldap_state->bind_dn));
-       
-       /** @TODO Should we be doing something to check what servers we rebind to?
-           Could we get a referral to a machine that we don't want to give our
-           username and password to? */
-
-       rc = ldap_simple_bind_s(ldap_struct, ldap_state->bind_dn, ldap_state->bind_secret);
-       
-       return rc;
-}
-#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-
-/*******************************************************************
- Add a rebind function for authenticated referrals
-******************************************************************/
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-#else
-# if LDAP_SET_REBIND_PROC_ARGS == 2
-static int rebindproc (LDAP *ldap_struct, char **whop, char **credp,
-                      int *method, int freeit )
-{
-       return rebindproc_with_state(ldap_struct, whop, credp,
-                                  method, freeit, get_internal(ldap_struct));
-       
-}
-# endif /*LDAP_SET_REBIND_PROC_ARGS == 2*/
-#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-
-/*******************************************************************
- a rebind function for authenticated referrals
- this also does the connection, but no void*.
-******************************************************************/
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-# if LDAP_SET_REBIND_PROC_ARGS == 2
-static int rebindproc_connect (LDAP * ld, LDAP_CONST char *url, int request,
-                              ber_int_t msgid)
-{
-       return rebindproc_connect_with_state(ld, url, (ber_tag_t)request, msgid, 
-                                            get_internal(ld));
-}
-# endif /*LDAP_SET_REBIND_PROC_ARGS == 2*/
-#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-
-/*******************************************************************
- connect to the ldap server under system privilege.
-******************************************************************/
-int smb_ldap_connect_system(struct smb_ldap_privates *ldap_state,
-                           LDAP * ldap_struct)
-{
-       int rc;
-       char *ldap_dn;
-       char *ldap_secret;
-
-       if (NULL == get_internal(ldap_struct)) {
-               ldap_state->next = head;
-       }
-
-       /* get the password */
-       if (!smb_ldap_fetch_pw(&ldap_dn, &ldap_secret))
-       {
-               DEBUG(0, ("ldap_connect_system: Failed to retrieve password from secrets.tdb\n"));
-               return LDAP_INVALID_CREDENTIALS;
-       }
-
-       ldap_state->bind_dn = ldap_dn;
-       ldap_state->bind_secret = ldap_secret;
-
-       /* removed the sasl_bind_s "EXTERNAL" stuff, as my testsuite 
-          (OpenLDAP) doesnt' seem to support it */
-          
-       DEBUG(10,("ldap_connect_system: Binding to ldap server %s as \"%s\"\n",
-                 ldap_state->uri, ldap_dn));
-
-#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
-# if LDAP_SET_REBIND_PROC_ARGS == 2    
-       ldap_set_rebind_proc(ldap_struct, &rebindproc_connect); 
-# endif
-# if LDAP_SET_REBIND_PROC_ARGS == 3    
-       ldap_set_rebind_proc(ldap_struct, &rebindproc_connect_with_state, (void *)ldap_state);  
-# endif
-#else /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-# if LDAP_SET_REBIND_PROC_ARGS == 2    
-       ldap_set_rebind_proc(ldap_struct, &rebindproc); 
-# endif
-# if LDAP_SET_REBIND_PROC_ARGS == 3    
-       ldap_set_rebind_proc(ldap_struct, &rebindproc_with_state, (void *)ldap_state);  
-# endif
-#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
-
-       rc = ldap_simple_bind_s(ldap_struct, ldap_dn, ldap_secret);
-
-       if (rc != LDAP_SUCCESS) {
-               char *ld_error;
-               ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
-                               &ld_error);
-               DEBUG(0,
-                     ("failed to bind to server with dn= %s Error: %s\n\t%s\n",
-                              ldap_dn, ldap_err2string(rc),
-                              ld_error));
-               free(ld_error);
-               return rc;
-       }
-       
-       DEBUG(2, ("ldap_connect_system: succesful connection to the LDAP server\n"));
-       return rc;
-}
-
-/**********************************************************************
-Connect to LDAP server 
-*********************************************************************/
-int smb_ldap_open(struct smb_ldap_privates *ldap_state)
-{
-       int rc;
-       SMB_ASSERT(ldap_state);
-               
-#ifndef NO_LDAP_SECURITY
-       if (geteuid() != 0) {
-               DEBUG(0, ("smb_ldap_open: cannot access LDAP when not root..\n"));
-               return  LDAP_INSUFFICIENT_ACCESS;
-       }
-#endif
-
-       if ((ldap_state->ldap_struct != NULL) && ((ldap_state->last_ping + SMB_LDAP_DONT_PING_TIME) < time(NULL))) {
-               struct sockaddr_un addr;
-               socklen_t len;
-               int sd;
-               if (ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_DESC, &sd) == 0 &&
-                   getpeername(sd, (struct sockaddr *) &addr, &len) < 0) {
-                       /* the other end has died. reopen. */
-                       ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
-                       ldap_state->ldap_struct = NULL;
-                       ldap_state->last_ping = (time_t)0;
-               } else {
-                       ldap_state->last_ping = time(NULL);
-               } 
-       }
-
-       if (ldap_state->ldap_struct != NULL) {
-               DEBUG(5,("smb_ldap_open: allready connected to the LDAP server\n"));
-               return LDAP_SUCCESS;
-       }
-
-       if ((rc = smb_ldap_open_connection(ldap_state, &ldap_state->ldap_struct))) {
-               return rc;
-       }
-
-       if ((rc = smb_ldap_connect_system(ldap_state, ldap_state->ldap_struct))) {
-               ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
-               ldap_state->ldap_struct = NULL;
-               return rc;
-       }
-
-
-       ldap_state->last_ping = time(NULL);
-       DEBUG(4,("The LDAP server is succesful connected\n"));
-
-       return LDAP_SUCCESS;
-}
-
-/**********************************************************************
-Disconnect from LDAP server 
-*********************************************************************/
-NTSTATUS smb_ldap_close(struct smb_ldap_privates *ldap_state)
-{
-       if (!ldap_state)
-               return NT_STATUS_INVALID_PARAMETER;
-               
-       if (ldap_state->ldap_struct != NULL) {
-               ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
-               ldap_state->ldap_struct = NULL;
-       }
-       
-       DEBUG(5,("The connection to the LDAP server was closed\n"));
-       /* maybe free the results here --metze */
-       
-       return NT_STATUS_OK;
-}
-
-static int smb_ldap_retry_open(struct smb_ldap_privates *ldap_state, int *attempts)
-{
-       int rc;
-
-       SMB_ASSERT(ldap_state && attempts);
-               
-       if (*attempts != 0) {
-               /* we retry after 0.5, 2, 4.5, 8, 12.5, 18, 24.5 seconds */
-               msleep((((*attempts)*(*attempts))/2)*1000);
-       }
-       (*attempts)++;
-
-       if ((rc = smb_ldap_open(ldap_state))) {
-               DEBUG(0,("Connection to LDAP Server failed for the %d try!\n",*attempts));
-               return rc;
-       } 
-       
-       return LDAP_SUCCESS;            
-}
-
-
-int smb_ldap_search(struct smb_ldap_privates *ldap_state, 
-                   const char *base, int scope, const char *filter, 
-                   const char *attrs[], int attrsonly, 
-                   LDAPMessage **res)
-{
-       int             rc = LDAP_SERVER_DOWN;
-       int             attempts = 0;
-       
-       SMB_ASSERT(ldap_state);
-
-       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
-               
-               if ((rc = smb_ldap_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
-                       continue;
-               
-               rc = ldap_search_s(ldap_state->ldap_struct, base, scope, 
-                                  filter, attrs, attrsonly, res);
-       }
-       
-       if (rc == LDAP_SERVER_DOWN) {
-               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
-               smb_ldap_close(ldap_state);     
-       }
-       
-       return rc;
-}
-
-int smb_ldap_modify(struct smb_ldap_privates *ldap_state, char *dn, 
-                   LDAPMod *attrs[])
-{
-       int             rc = LDAP_SERVER_DOWN;
-       int             attempts = 0;
-       
-       if (!ldap_state)
-               return (-1);
-
-       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
-               
-               if ((rc = smb_ldap_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
-                       continue;
-               
-               rc = ldap_modify_s(ldap_state->ldap_struct, dn, attrs);
-       }
-       
-       if (rc == LDAP_SERVER_DOWN) {
-               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
-               smb_ldap_close(ldap_state);     
-       }
-       
-       return rc;
-}
-
-int smb_ldap_add(struct smb_ldap_privates *ldap_state, const char *dn,
-                LDAPMod *attrs[])
-{
-       int             rc = LDAP_SERVER_DOWN;
-       int             attempts = 0;
-       
-       if (!ldap_state)
-               return (-1);
-
-       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
-               
-               if ((rc = smb_ldap_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
-                       continue;
-               
-               rc = ldap_add_s(ldap_state->ldap_struct, dn, attrs);
-       }
-       
-       if (rc == LDAP_SERVER_DOWN) {
-               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
-               smb_ldap_close(ldap_state);     
-       }
-               
-       return rc;
-}
-
-int smb_ldap_delete(struct smb_ldap_privates *ldap_state, char *dn)
-{
-       int             rc = LDAP_SERVER_DOWN;
-       int             attempts = 0;
-       
-       if (!ldap_state)
-               return (-1);
-
-       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
-               
-               if ((rc = smb_ldap_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
-                       continue;
-               
-               rc = ldap_delete_s(ldap_state->ldap_struct, dn);
-       }
-       
-       if (rc == LDAP_SERVER_DOWN) {
-               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
-               smb_ldap_close(ldap_state);     
-       }
-               
-       return rc;
-}
-
-int smb_ldap_extended_operation(struct smb_ldap_privates *ldap_state,
-                               LDAP_CONST char *reqoid,
-                               struct berval *reqdata,
-                               LDAPControl **serverctrls,
-                               LDAPControl **clientctrls, char **retoidp,
-                               struct berval **retdatap)
-{
-       int             rc = LDAP_SERVER_DOWN;
-       int             attempts = 0;
-       
-       if (!ldap_state)
-               return (-1);
-
-       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
-               
-               if ((rc = smb_ldap_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
-                       continue;
-               
-               rc = ldap_extended_operation_s(ldap_state->ldap_struct, reqoid, reqdata, serverctrls, clientctrls, retoidp, retdatap);
-       }
-       
-       if (rc == LDAP_SERVER_DOWN) {
-               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
-               smb_ldap_close(ldap_state);     
-       }
-               
-       return rc;
-}
-
-/*******************************************************************
-search an attribute and return the first value found.
-******************************************************************/
-BOOL smb_ldap_get_single_attribute (LDAP * ldap_struct, LDAPMessage * entry,
-                                  const char *attribute, pstring value)
-{
-       char **values;
-
-       if ((values = ldap_get_values (ldap_struct, entry, attribute)) == NULL) {
-               value = NULL;
-               DEBUG (10, ("smb_ldap_get_single_attribute: [%s] = [<does not exist>]\n", attribute));
-               
-               return False;
-       }
-       
-       pstrcpy(value, values[0]);
-       ldap_value_free(values);
-#ifdef DEBUG_PASSWORDS
-       DEBUG (100, ("smb_ldap_get_single_attribute: [%s] = [%s]\n", attribute, value));
-#endif 
-       return True;
-}
-  
-
-/************************************************************************
-Routine to manage the LDAPMod structure array
-manage memory used by the array, by each struct, and values
-
-************************************************************************/
-void smb_ldap_make_a_mod (LDAPMod *** modlist, int modop, 
-                         const char *attribute, const char *value)
-{
-       LDAPMod **mods;
-       int i;
-       int j;
-
-       mods = *modlist;
-
-       if (attribute == NULL || *attribute == '\0')
-               return;
-
-       if (value == NULL || *value == '\0')
-               return;
-
-       if (mods == NULL) 
-       {
-               mods = (LDAPMod **) malloc(sizeof(LDAPMod *));
-               if (mods == NULL)
-               {
-                       DEBUG(0, ("smb_ldap_make_a_mod: out of memory!\n"));
-                       return;
-               }
-               mods[0] = NULL;
-       }
-
-       for (i = 0; mods[i] != NULL; ++i) {
-               if (mods[i]->mod_op == modop && !strcasecmp(mods[i]->mod_type, attribute))
-                       break;
-       }
-
-       if (mods[i] == NULL)
-       {
-               mods = (LDAPMod **) Realloc (mods, (i + 2) * sizeof (LDAPMod *));
-               if (mods == NULL)
-               {
-                       DEBUG(0, ("smb_ldap_make_a_mod: out of memory!\n"));
-                       return;
-               }
-               mods[i] = (LDAPMod *) malloc(sizeof(LDAPMod));
-               if (mods[i] == NULL)
-               {
-                       DEBUG(0, ("smb_ldap_make_a_mod: out of memory!\n"));
-                       return;
-               }
-               mods[i]->mod_op = modop;
-               mods[i]->mod_values = NULL;
-               mods[i]->mod_type = strdup(attribute);
-               mods[i + 1] = NULL;
-       }
-
-       if (value != NULL)
-       {
-               j = 0;
-               if (mods[i]->mod_values != NULL) {
-                       for (; mods[i]->mod_values[j] != NULL; j++);
-               }
-               mods[i]->mod_values = (char **)Realloc(mods[i]->mod_values,
-                                              (j + 2) * sizeof (char *));
-                                              
-               if (mods[i]->mod_values == NULL) {
-                       DEBUG (0, ("smb_ldap_make_a_mod: Memory allocation failure!\n"));
-                       return;
-               }
-               mods[i]->mod_values[j] = strdup(value);
-               mods[i]->mod_values[j + 1] = NULL;
-       }
-       *modlist = mods;
-}
-
-#endif
index 763a5c2b2d54c19c970897d939ba0907329fe358..2498f6de2c54cbc8681d37a9d0c6ffe72b4ba7bf 100644 (file)
 #include "includes.h"
 
 #ifdef HAVE_DLOPEN
-int smb_load_module(const char *module_name)
+NTSTATUS smb_load_module(const char *module_name)
 {
        void *handle;
        init_module_function *init;
-       int status;
+       NTSTATUS nt_status;
        const char *error;
 
        /* Always try to use LAZY symbol resolving; if the plugin has 
@@ -37,7 +37,7 @@ int smb_load_module(const char *module_name)
 
        if(!handle) {
                DEBUG(0, ("Error loading module '%s': %s\n", module_name, sys_dlerror()));
-               return False;
+               return NT_STATUS_UNSUCCESSFUL;
        }
 
        init = sys_dlsym(handle, "init_module");
@@ -47,101 +47,22 @@ int smb_load_module(const char *module_name)
        error = sys_dlerror();
        if (error) {
                DEBUG(0, ("Error trying to resolve symbol 'init_module' in %s: %s\n", module_name, error));
-               return False;
+               return NT_STATUS_UNSUCCESSFUL;
        }
 
-       status = init();
+       nt_status = init();
 
        DEBUG(2, ("Module '%s' loaded\n", module_name));
 
-       return status;
-}
-
-/* Load all modules in list and return number of 
- * modules that has been successfully loaded */
-int smb_load_modules(const char **modules)
-{
-       int i;
-       int success = 0;
-
-       for(i = 0; modules[i]; i++){
-               if(smb_load_module(modules[i])) {
-                       success++;
-               }
-       }
-
-       DEBUG(2, ("%d modules successfully loaded\n", success));
-
-       return success;
-}
-
-int smb_probe_module(const char *subsystem, const char *module)
-{
-       pstring full_path;
-       
-       /* Check for absolute path */
-       if(strchr_m(module, '/'))return smb_load_module(module);
-       
-       pstrcpy(full_path, lib_path(subsystem));
-       pstrcat(full_path, "/");
-       pstrcat(full_path, module);
-       pstrcat(full_path, ".");
-       pstrcat(full_path, shlib_ext());
-
-       DEBUG(5, ("Probing module %s: Trying to load from %s\n", module, full_path));
-       
-       return smb_load_module(full_path);
+       return nt_status;
 }
 
 #else /* HAVE_DLOPEN */
 
-int smb_load_module(const char *module_name)
-{
-       DEBUG(0,("This samba executable has not been built with plugin support"));
-       return False;
-}
-
-int smb_load_modules(const char **modules)
-{
-       DEBUG(0,("This samba executable has not been built with plugin support"));
-       return False;
-}
-
-int smb_probe_module(const char *subsystem, const char *module)
+NTSTATUS smb_load_module(const char *module_name)
 {
-       DEBUG(0,("This samba executable has not been built with plugin support, not probing")); 
-       return False;
+       DEBUG(0,("This samba executable has not been build with plugin support"));
+       return NT_STATUS_NOT_SUPPORTED;
 }
 
 #endif /* HAVE_DLOPEN */
-
-void init_modules(void)
-{
-       /* FIXME: This can cause undefined symbol errors :
-        *  smb_register_vfs() isn't available in nmbd, for example */
-       if(lp_preload_modules()) 
-               smb_load_modules(lp_preload_modules());
-}
-
-
-/*************************************************************************
- * This functions /path/to/foobar.so -> foobar
- ************************************************************************/
-void module_path_get_name(const char *path, pstring name)
-{
-       char *s;
-
-       /* First, make the path relative */
-       s = strrchr(path, '/');
-       if(s) pstrcpy(name, s+1);
-       else pstrcpy(name, path);
-       
-       if (dyn_SHLIBEXT && *dyn_SHLIBEXT && strlen(dyn_SHLIBEXT) < strlen(name)) {
-               int n = strlen(name) - strlen(dyn_SHLIBEXT);
-               
-               /* Remove extension if necessary */
-               if (name[n-1] == '.' && !strcmp(name+n, dyn_SHLIBEXT)) {
-                       name[n-1] = '\0';
-               }
-       }
-}
index 6920ef4d5f00e2e1332e6af097bf545fce1d5301..77c44f127a0459785446139c1058ad8d9fa7b4cb 100644 (file)
@@ -3,7 +3,7 @@
    Common popt routines
 
    Copyright (C) Tim Potter 2001,2002
-   Copyright (C) Jelmer Vernooij 2002,2003
+   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
 #include "includes.h"
 
 /* Handle command line options:
- *             -d,--debuglevel 
- *             -s,--configfile 
- *             -O,--socket-options 
- *             -V,--version
- *             -l,--log-base
- *             -n,--netbios-name
- *             -W,--workgroup
- *             -i,--scope
+ *             d,--debuglevel 
+ *             s,--configfile 
+ *             O,--socket-options 
+ *             V,--version
+ *             l,--log-base
+ *             n,--netbios-name
  */
 
 extern pstring user_socket_options;
 extern BOOL AllowDebugChange;
 
-struct user_auth_info cmdline_auth_info;
-
 static void popt_common_callback(poptContext con, 
                           enum poptCallbackReason reason,
                           const struct poptOption *opt,
@@ -97,246 +93,42 @@ static void popt_common_callback(poptContext con,
                        lp_set_logfile(logfile);
                }
                break;
-
-       case 'i':
-               if (arg) {
-                         set_global_scope(arg);
-               }
-               break;
-
-       case 'W':
-               if (arg) {
-                       set_global_myworkgroup(arg);
-               }
-               break;
        }
 }
 
-struct poptOption popt_common_connection[] = {
+struct poptOption popt_common_debug[] = {
        { NULL, 0, POPT_ARG_CALLBACK, popt_common_callback },
-       { "socket-options", 'O', POPT_ARG_STRING, NULL, 'O', "socket options to use",
-         "SOCKETOPTIONS" },
-       { "netbiosname", 'n', POPT_ARG_STRING, NULL, 'n', "Primary netbios name", "NETBIOSNAME" },
-       { "workgroup", 'W', POPT_ARG_STRING, NULL, 'W', "Set the workgroup name", "WORKGROUP" },
-       { "scope", 'i', POPT_ARG_STRING, NULL, 'i', "Use this Netbios scope", "SCOPE" },
-       POPT_TABLEEND
+       { "debuglevel", 'd', POPT_ARG_STRING, NULL, 'd', "Set debug level", 
+         "DEBUGLEVEL" },
+       { 0 }
 };
 
-struct poptOption popt_common_samba[] = {
-       { NULL, 0, POPT_ARG_CALLBACK|POPT_CBFLAG_PRE, popt_common_callback },
-       { "debuglevel", 'd', POPT_ARG_STRING, NULL, 'd', "Set debug level", "DEBUGLEVEL" },
-       { "configfile", 's', POPT_ARG_STRING, NULL, 's', "Use alternative configuration file", "CONFIGFILE" },
-       { "log-basename", 'l', POPT_ARG_STRING, NULL, 'l', "Basename for log/debug files", "LOGFILEBASE" },
-       { "version", 'V', POPT_ARG_NONE, NULL, 'V', "Print version" },
-       POPT_TABLEEND
+struct poptOption popt_common_configfile[] = {
+       { NULL, 0, POPT_ARG_CALLBACK, popt_common_callback },
+       { "configfile", 's', POPT_ARG_STRING, NULL, 's', "Use alternative configuration file" },
+       { 0 }
 };
 
-struct poptOption popt_common_version[] = {
+struct poptOption popt_common_socket_options[] = {
        { NULL, 0, POPT_ARG_CALLBACK, popt_common_callback },
-       { "version", 'V', POPT_ARG_NONE, NULL, 'V', "Print version" },
-       POPT_TABLEEND
+       {"socket-options", 'O', POPT_ARG_STRING, NULL, 'O', "socket options to use" },
+       { 0 }
 };
 
+struct poptOption popt_common_version[] = {
+       { NULL, 0, POPT_ARG_CALLBACK, popt_common_callback },
+       {"version", 'V', POPT_ARG_NONE, NULL, 'V', "Print version" },
+       { 0 }
+};
 
+struct poptOption popt_common_netbios_name[] = {
+       { NULL, 0, POPT_ARG_CALLBACK, popt_common_callback },
+       {"netbiosname", 'n', POPT_ARG_STRING, NULL, 'n', "Primary netbios name"},
+       { 0 }
+};
 
-/****************************************************************************
- * get a password from a a file or file descriptor
- * exit on failure
- * ****************************************************************************/
-static void get_password_file(struct user_auth_info *a)
-{
-       int fd = -1;
-       char *p;
-       BOOL close_it = False;
-       pstring spec;
-       char pass[128];
-
-       if ((p = getenv("PASSWD_FD")) != NULL) {
-               pstrcpy(spec, "descriptor ");
-               pstrcat(spec, p);
-               sscanf(p, "%d", &fd);
-               close_it = False;
-       } else if ((p = getenv("PASSWD_FILE")) != NULL) {
-               fd = sys_open(p, O_RDONLY, 0);
-               pstrcpy(spec, p);
-               if (fd < 0) {
-                       fprintf(stderr, "Error opening PASSWD_FILE %s: %s\n",
-                                       spec, strerror(errno));
-                       exit(1);
-               }
-               close_it = True;
-       }
-
-       for(p = pass, *p = '\0'; /* ensure that pass is null-terminated */
-               p && p - pass < sizeof(pass);) {
-               switch (read(fd, p, 1)) {
-               case 1:
-                       if (*p != '\n' && *p != '\0') {
-                               *++p = '\0'; /* advance p, and null-terminate pass */
-                               break;
-                       }
-               case 0:
-                       if (p - pass) {
-                               *p = '\0'; /* null-terminate it, just in case... */
-                               p = NULL; /* then force the loop condition to become false */
-                               break;
-                       } else {
-                               fprintf(stderr, "Error reading password from file %s: %s\n",
-                                               spec, "empty password\n");
-                               exit(1);
-                       }
-
-               default:
-                       fprintf(stderr, "Error reading password from file %s: %s\n",
-                                       spec, strerror(errno));
-                       exit(1);
-               }
-       }
-       pstrcpy(a->password, pass);
-       if (close_it)
-               close(fd);
-}
-
-static void get_credentials_file(const char *file, struct user_auth_info *info) 
-{
-       XFILE *auth;
-       fstring buf;
-       uint16 len = 0;
-       char *ptr, *val, *param;
-
-       if ((auth=x_fopen(file, O_RDONLY, 0)) == NULL)
-       {
-               /* fail if we can't open the credentials file */
-               d_printf("ERROR: Unable to open credentials file!\n");
-               exit(-1);
-       }
-
-       while (!x_feof(auth))
-       {
-               /* get a line from the file */
-               if (!x_fgets(buf, sizeof(buf), auth))
-                       continue;
-               len = strlen(buf);
-
-               if ((len) && (buf[len-1]=='\n'))
-               {
-                       buf[len-1] = '\0';
-                       len--;
-               }
-               if (len == 0)
-                       continue;
-
-               /* break up the line into parameter & value.
-                * will need to eat a little whitespace possibly */
-               param = buf;
-               if (!(ptr = strchr_m (buf, '=')))
-                       continue;
-
-               val = ptr+1;
-               *ptr = '\0';
-
-               /* eat leading white space */
-               while ((*val!='\0') && ((*val==' ') || (*val=='\t')))
-                       val++;
-
-               if (strwicmp("password", param) == 0)
-               {
-                       pstrcpy(info->password, val);
-                       info->got_pass = True;
-               }
-               else if (strwicmp("username", param) == 0)
-                       pstrcpy(info->username, val);
-               else if (strwicmp("domain", param) == 0)
-                       set_global_myworkgroup(val);
-               memset(buf, 0, sizeof(buf));
-       }
-       x_fclose(auth);
-}
-
-/* Handle command line options:
- *             -U,--user
- *             -A,--authentication-file
- *             -k,--use-kerberos
- *             -N,--no-pass
- */
-
-
-static void popt_common_credentials_callback(poptContext con, 
-                                                                                        enum poptCallbackReason reason,
-                                                                                        const struct poptOption *opt,
-                                                                                        const char *arg, const void *data)
-{
-       char *p;
-
-       if (reason == POPT_CALLBACK_REASON_PRE) {
-               cmdline_auth_info.use_kerberos = False;
-               cmdline_auth_info.got_pass = False;
-               pstrcpy(cmdline_auth_info.username, "GUEST");   
-
-               if (getenv("LOGNAME"))pstrcpy(cmdline_auth_info.username,getenv("LOGNAME"));
-
-               if (getenv("USER")) {
-                       pstrcpy(cmdline_auth_info.username,getenv("USER"));
-
-                       if ((p = strchr_m(cmdline_auth_info.username,'%'))) {
-                               *p = 0;
-                               pstrcpy(cmdline_auth_info.password,p+1);
-                               cmdline_auth_info.got_pass = True;
-                               memset(strchr_m(getenv("USER"),'%')+1,'X',strlen(cmdline_auth_info.password));
-                       }
-               }
-
-               if (getenv("PASSWD")) {
-                       pstrcpy(cmdline_auth_info.password,getenv("PASSWD"));
-                       cmdline_auth_info.got_pass = True;
-               }
-
-               if (getenv("PASSWD_FD") || getenv("PASSWD_FILE")) {
-                       get_password_file(&cmdline_auth_info);
-                       cmdline_auth_info.got_pass = True;
-               }
-
-               return;
-       }
-
-       switch(opt->val) {
-       case 'U':
-               {
-                       char *lp;
-
-                       pstrcpy(cmdline_auth_info.username,arg);
-                       if ((lp=strchr_m(cmdline_auth_info.username,'%'))) {
-                               *lp = 0;
-                               pstrcpy(cmdline_auth_info.password,lp+1);
-                               cmdline_auth_info.got_pass = True;
-                               memset(strchr_m(arg,'%')+1,'X',strlen(cmdline_auth_info.password));
-                       }
-               }
-               break;
-
-       case 'A':
-               get_credentials_file(arg, &cmdline_auth_info);
-               break;
-
-       case 'k':
-#ifndef HAVE_KRB5
-               d_printf("No kerberos support compiled in\n");
-               exit(1);
-#else
-               cmdline_auth_info.use_kerberos = True;
-               cmdline_auth_info.got_pass = True;
-#endif
-               break;
-       }
-}
-
-
-
-struct poptOption popt_common_credentials[] = {
-       { NULL, 0, POPT_ARG_CALLBACK|POPT_CBFLAG_PRE, popt_common_credentials_callback },
-       { "user", 'U', POPT_ARG_STRING, NULL, 'U', "Set the network username", "USERNAME" },
-       { "no-pass", 'N', POPT_ARG_NONE, &cmdline_auth_info.got_pass, True, "Don't ask for a password" },
-       { "kerberos", 'k', POPT_ARG_NONE, &cmdline_auth_info.use_kerberos, True, "Use kerberos (active directory) authentication" },
-       { "authentication-file", 'A', POPT_ARG_STRING, NULL, 'A', "Get the credentials from a file", "FILE" },
-       POPT_TABLEEND
+struct poptOption popt_common_log_base[] = {
+       { NULL, 0, POPT_ARG_CALLBACK|POPT_CBFLAG_PRE, popt_common_callback },
+       { "log-basename", 'l', POPT_ARG_STRING, NULL, 'l', "Basename for log/debug files"},
+       { 0 }
 };
index d8f4ff80edb7a3b8f035952b9a8c28254ea85c07..b8f33494ee4ad53c27a3b51be836cd284eb6767b 100644 (file)
@@ -339,7 +339,7 @@ static BOOL user_in_winbind_group_list(const char *user, const char *gname, BOOL
                goto err;
        }
 
-       if (!lp_idmap_gid(&gid_low, &gid_high)) {
+       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;
        }
index 3ecfc9255262490ef620a94d912a3108f8bcea0a..4f564b332a097bd4f487c637fe6faf6fd18b8530 100644 (file)
@@ -1040,7 +1040,7 @@ BOOL get_mydomname(fstring my_domname)
  Interpret a protocol description string, with a default.
 ****************************************************************************/
 
-int interpret_protocol(const char *str,int def)
+int interpret_protocol(char *str,int def)
 {
        if (strequal(str,"NT1"))
                return(PROTOCOL_NT1);
@@ -1400,24 +1400,20 @@ void smb_panic(const char *why)
 {
        char *cmd;
        int result;
-       size_t i;
-       void *backtrace_stack[BACKTRACE_STACK_SIZE];
-       size_t backtrace_size;
-       char **backtrace_strings;
 
 #ifdef DEVELOPER
        {
                extern char *global_clobber_region_function;
                extern unsigned int global_clobber_region_line;
-
+               
                if (global_clobber_region_function) {
                        DEBUG(0,("smb_panic: clobber_region() last called from [%s(%u)]\n",
-                                        global_clobber_region_function,
-                                        global_clobber_region_line));
+                                global_clobber_region_function,
+                                global_clobber_region_line));
                } 
        }
 #endif
-
+       
        cmd = lp_panic_action();
        if (cmd && *cmd) {
                DEBUG(0, ("smb_panic(): calling panic action [%s]\n", cmd));
@@ -1425,36 +1421,19 @@ void smb_panic(const char *why)
 
                if (result == -1)
                        DEBUG(0, ("smb_panic(): fork failed in panic action: %s\n",
-                                         strerror(errno)));
+                                 strerror(errno)));
                else
                        DEBUG(0, ("smb_panic(): action returned status %d\n",
-                                         WEXITSTATUS(result)));
+                                 WEXITSTATUS(result)));
        }
        DEBUG(0,("PANIC: %s\n", why));
-
-#ifdef HAVE_BACKTRACE_SYMBOLS
-       /* get the backtrace (stack frames) */
-       backtrace_size = backtrace(backtrace_stack,BACKTRACE_STACK_SIZE);
-       backtrace_strings = backtrace_symbols(backtrace_stack, backtrace_size);
-
-       DEBUG(0, ("BACKTRACE: %d stack frames:\n", backtrace_size));
-       
-       if (backtrace_strings) {
-               for (i = 0; i < backtrace_size; i++)
-                       DEBUGADD(0, (" #%u %s\n", i, backtrace_strings[i]));
-
-               SAFE_FREE(backtrace_strings);
-       }
-
-#endif
-
        dbgflush();
        abort();
 }
 
 /*******************************************************************
 A readdir wrapper which just returns the file name.
- ********************************************************************/
+ A readdir wrapper which just returns the file name.
+********************************************************************/
 
 const char *readdirname(DIR *p)
 {
index 32641dbf83b100f601622eefbb53dde32bb02eb0..ef01dd5947bbd841ac5654c9649691f0fd2c718a 100644 (file)
@@ -228,7 +228,7 @@ static struct sys_userlist *add_members_to_userlist(struct sys_userlist *list_he
                        free_userlist(list_head);
                        return NULL;
                }
-               entry->unix_name = (char *)strdup(grp->gr_mem[i]);
+               entry->unix_name = strdup(grp->gr_mem[i]);
                if (entry->unix_name == NULL) {
                        SAFE_FREE(entry);
                        free_userlist(list_head);
index dfd3b312e062e460ec18618d87430a642ef0505a..824987f1892ec2d2e58a73d65c33a45668dc6a77 100644 (file)
@@ -91,9 +91,8 @@ static const struct {
        {SID_NAME_DELETED, "Deleted Account"},
        {SID_NAME_INVALID, "Invalid Account"},
        {SID_NAME_UNKNOWN, "UNKNOWN"},
-       {SID_NAME_COMPUTER, "Computer"},
 
-       {0, NULL}
+       {SID_NAME_USE_NONE, NULL}
 };
 
 const char *sid_type_lookup(uint32 sid_type) 
@@ -630,21 +629,3 @@ void print_guid(GUID *guid)
                d_printf("%02x", guid->info[i]);
        d_printf("\n");
 }
-
-/*******************************************************************
- Tallocs a duplicate SID. 
-********************************************************************/ 
-
-DOM_SID *sid_dup_talloc(TALLOC_CTX *ctx, DOM_SID *src)
-{
-  DOM_SID *dst;
-
-  if(!src)
-    return NULL;
-
-  if((dst = talloc_zero(ctx, sizeof(DOM_SID))) != NULL) {
-    sid_copy( dst, src);
-  }
-
-  return dst;
-}
index c666155f9fdfe85e0f5b3f6797cd240957661db5..3f319eed81aed8fdf84ae1ae7fc5cc0a0b226bcb 100644 (file)
@@ -83,7 +83,7 @@ void load_case_tables(void)
   see if a ucs2 character can be mapped correctly to a dos character
   and mapped back to the same character in ucs2
 */
-static int check_dos_char(smb_ucs2_t c)
+int check_dos_char(smb_ucs2_t c)
 {
        char buf[10];
        smb_ucs2_t c2 = 0;
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 214871b3fb5f58293a550c464fb08cf65e96263d..a5b9eee4ceb4c7f722f086bd03b99c53878e63a7 100644 (file)
@@ -538,6 +538,7 @@ ADS_STATUS krb5_set_password(const char *kdc_host, const char *princ, const char
 
        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);
 
@@ -570,11 +571,11 @@ kerb_prompter(krb5_context ctx, void *data,
        return 0;
 }
 
-static ADS_STATUS krb5_chg_password(const char *kdc_host,
-                                   const char *principal,
-                                   const char *oldpw, 
-                                   const char *newpw, 
-                                   int time_offset)
+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;
index baedfb28dbbe38ed2b76022dd3df7ad77df4d9ba..67827d27f3a3c45a692e01ccf28506a216a8f121 100644 (file)
@@ -401,7 +401,7 @@ static char **ads_pull_strvals(TALLOC_CTX *ctx, const char **in_vals)
  * @param ads connection to ads server 
  * @param bind_path Base dn for the search
  * @param scope Scope of search (LDAP_BASE | LDAP_ONE | LDAP_SUBTREE)
- * @param expr Search expression - specified in local charset
+ * @param exp Search expression - specified in local charset
  * @param attrs Attributes to retrieve - specified in utf8 or ascii
  * @param res ** which will contain results - free res* with ads_msgfree()
  * @param count Number of entries retrieved on this page
@@ -409,12 +409,12 @@ static char **ads_pull_strvals(TALLOC_CTX *ctx, const char **in_vals)
  * @return status of search
  **/
 ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path,
-                              int scope, const char *expr,
+                              int scope, const char *exp,
                               const char **attrs, void **res, 
                               int *count, void **cookie)
 {
        int rc, i, version;
-       char *utf8_expr, *utf8_path, **search_attrs;
+       char *utf8_exp, *utf8_path, **search_attrs;
        LDAPControl PagedResults, NoReferrals, *controls[3], **rcontrols; 
        BerElement *cookie_be = NULL;
        struct berval *cookie_bv= NULL;
@@ -428,7 +428,7 @@ ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path,
        /* 0 means the conversion worked but the result was empty 
           so we only fail if it's -1.  In any case, it always 
           at least nulls out the dest */
-       if ((push_utf8_talloc(ctx, &utf8_expr, expr) == (size_t)-1) ||
+       if ((push_utf8_talloc(ctx, &utf8_exp, exp) == (size_t)-1) ||
            (push_utf8_talloc(ctx, &utf8_path, bind_path) == (size_t)-1)) {
                rc = LDAP_NO_MEMORY;
                goto done;
@@ -489,7 +489,7 @@ ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path,
        */
        ldap_set_option(ads->ld, LDAP_OPT_REFERRALS, LDAP_OPT_OFF);
 
-       rc = ldap_search_ext_s(ads->ld, utf8_path, scope, utf8_expr
+       rc = ldap_search_ext_s(ads->ld, utf8_path, scope, utf8_exp, 
                               search_attrs, 0, controls,
                               NULL, NULL, LDAP_NO_LIMIT, (LDAPMessage **)res);
 
@@ -497,7 +497,7 @@ ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path,
        ber_bvfree(cookie_bv);
 
        if (rc) {
-               DEBUG(3,("ldap_search_ext_s(%s) -> %s\n", expr, ldap_err2string(rc)));
+               DEBUG(3,("ldap_search_ext_s(%s) -> %s\n", exp, ldap_err2string(rc)));
                goto done;
        }
 
@@ -541,20 +541,20 @@ done:
  * @param ads connection to ads server 
  * @param bind_path Base dn for the search
  * @param scope Scope of search (LDAP_BASE | LDAP_ONE | LDAP_SUBTREE)
- * @param expr Search expression
+ * @param exp Search expression
  * @param attrs Attributes to retrieve
  * @param res ** which will contain results - free res* with ads_msgfree()
  * @return status of search
  **/
 ADS_STATUS ads_do_search_all(ADS_STRUCT *ads, const char *bind_path,
-                            int scope, const char *expr,
+                            int scope, const char *exp,
                             const char **attrs, void **res)
 {
        void *cookie = NULL;
        int count = 0;
        ADS_STATUS status;
 
-       status = ads_do_paged_search(ads, bind_path, scope, expr, attrs, res,
+       status = ads_do_paged_search(ads, bind_path, scope, exp, attrs, res,
                                     &count, &cookie);
 
        if (!ADS_ERR_OK(status)) return status;
@@ -564,7 +564,7 @@ ADS_STATUS ads_do_search_all(ADS_STRUCT *ads, const char *bind_path,
                ADS_STATUS status2;
                LDAPMessage *msg, *next;
 
-               status2 = ads_do_paged_search(ads, bind_path, scope, expr
+               status2 = ads_do_paged_search(ads, bind_path, scope, exp, 
                                              attrs, &res2, &count, &cookie);
 
                if (!ADS_ERR_OK(status2)) break;
@@ -588,14 +588,14 @@ ADS_STATUS ads_do_search_all(ADS_STRUCT *ads, const char *bind_path,
  * @param ads connection to ads server
  * @param bind_path Base dn for the search
  * @param scope Scope of search (LDAP_BASE | LDAP_ONE | LDAP_SUBTREE)
- * @param expr Search expression - specified in local charset
+ * @param exp Search expression - specified in local charset
  * @param attrs Attributes to retrieve - specified in UTF-8 or ascii
  * @param fn Function which takes attr name, values list, and data_area
  * @param data_area Pointer which is passed to function on each call
  * @return status of search
  **/
 ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
-                               int scope, const char *expr, const char **attrs,
+                               int scope, const char *exp, const char **attrs,
                                BOOL(*fn)(char *, void **, void *), 
                                void *data_area)
 {
@@ -604,7 +604,7 @@ ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
        ADS_STATUS status;
        void *res;
 
-       status = ads_do_paged_search(ads, bind_path, scope, expr, attrs, &res,
+       status = ads_do_paged_search(ads, bind_path, scope, exp, attrs, &res,
                                     &count, &cookie);
 
        if (!ADS_ERR_OK(status)) return status;
@@ -613,7 +613,7 @@ ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
        ads_msgfree(ads, res);
 
        while (cookie) {
-               status = ads_do_paged_search(ads, bind_path, scope, expr, attrs,
+               status = ads_do_paged_search(ads, bind_path, scope, exp, attrs,
                                             &res, &count, &cookie);
 
                if (!ADS_ERR_OK(status)) break;
@@ -630,18 +630,18 @@ ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
  * @param ads connection to ads server
  * @param bind_path Base dn for the search
  * @param scope Scope of search (LDAP_BASE | LDAP_ONE | LDAP_SUBTREE)
- * @param expr Search expression
+ * @param exp Search expression
  * @param attrs Attributes to retrieve
  * @param res ** which will contain results - free res* with ads_msgfree()
  * @return status of search
  **/
 ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope, 
-                        const char *expr,
+                        const char *exp,
                         const char **attrs, void **res)
 {
        struct timeval timeout;
        int rc;
-       char *utf8_expr, *utf8_path, **search_attrs = NULL;
+       char *utf8_exp, *utf8_path, **search_attrs = NULL;
        TALLOC_CTX *ctx;
 
        if (!(ctx = talloc_init("ads_do_search"))) {
@@ -652,7 +652,7 @@ ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope,
        /* 0 means the conversion worked but the result was empty 
           so we only fail if it's negative.  In any case, it always 
           at least nulls out the dest */
-       if ((push_utf8_talloc(ctx, &utf8_expr, expr) == (size_t)-1) ||
+       if ((push_utf8_talloc(ctx, &utf8_exp, exp) == (size_t)-1) ||
            (push_utf8_talloc(ctx, &utf8_path, bind_path) == (size_t)-1)) {
                DEBUG(1,("ads_do_search: push_utf8_talloc() failed!"));
                rc = LDAP_NO_MEMORY;
@@ -679,7 +679,7 @@ ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope,
        /* see the note in ads_do_paged_search - we *must* disable referrals */
        ldap_set_option(ads->ld, LDAP_OPT_REFERRALS, LDAP_OPT_OFF);
 
-       rc = ldap_search_ext_s(ads->ld, utf8_path, scope, utf8_expr,
+       rc = ldap_search_ext_s(ads->ld, utf8_path, scope, utf8_exp,
                               search_attrs, 0, NULL, NULL, 
                               &timeout, LDAP_NO_LIMIT, (LDAPMessage **)res);
 
@@ -698,16 +698,16 @@ ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope,
  * Do a general ADS search
  * @param ads connection to ads server
  * @param res ** which will contain results - free res* with ads_msgfree()
- * @param expr Search expression
+ * @param exp Search expression
  * @param attrs Attributes to retrieve
  * @return status of search
  **/
 ADS_STATUS ads_search(ADS_STRUCT *ads, void **res, 
-                     const char *expr
+                     const char *exp, 
                      const char **attrs)
 {
        return ads_do_search(ads, ads->config.bind_path, LDAP_SCOPE_SUBTREE, 
-                            expr, attrs, res);
+                            exp, attrs, res);
 }
 
 /**
@@ -772,18 +772,18 @@ char *ads_get_dn(ADS_STRUCT *ads, void *res)
 ADS_STATUS ads_find_machine_acct(ADS_STRUCT *ads, void **res, const char *host)
 {
        ADS_STATUS status;
-       char *expr;
+       char *exp;
        const char *attrs[] = {"*", "nTSecurityDescriptor", NULL};
 
        /* the easiest way to find a machine account anywhere in the tree
           is to look for hostname$ */
-       if (asprintf(&expr, "(samAccountName=%s$)", host) == -1) {
+       if (asprintf(&exp, "(samAccountName=%s$)", host) == -1) {
                DEBUG(1, ("asprintf failed!\n"));
                return ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
        }
        
-       status = ads_search(ads, res, expr, attrs);
-       free(expr);
+       status = ads_search(ads, res, exp, attrs);
+       free(exp);
        return status;
 }
 
@@ -1424,7 +1424,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};
-       char           *expr     = 0;
+       char           *exp     = 0;
        size_t          sd_size = 0;
        struct berval   bval = {0, NULL};
        prs_struct      ps_wire;
@@ -1452,7 +1452,7 @@ ADS_STATUS ads_set_machine_sd(ADS_STRUCT *ads, const char *hostname, char *dn)
                return ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
        }
 
-       if (asprintf(&expr, "(samAccountName=%s$)", escaped_hostname) == -1) {
+       if (asprintf(&exp, "(samAccountName=%s$)", escaped_hostname) == -1) {
                DEBUG(1, ("ads_set_machine_sd: asprintf failed!\n"));
                SAFE_FREE(escaped_hostname);
                return ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
@@ -1460,7 +1460,7 @@ ADS_STATUS ads_set_machine_sd(ADS_STRUCT *ads, const char *hostname, char *dn)
 
        SAFE_FREE(escaped_hostname);
 
-       ret = ads_search(ads, (void *) &res, expr, attrs);
+       ret = ads_search(ads, (void *) &res, exp, attrs);
 
        if (!ADS_ERR_OK(ret)) return ret;
 
@@ -2036,7 +2036,7 @@ but you need to force the bind path to match the configurationNamingContext from
 */
 ADS_STATUS ads_workgroup_name(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char **workgroup)
 {
-       char *expr;
+       char *exp;
        ADS_STATUS rc;
        char **principles;
        char *prefix;
@@ -2047,10 +2047,10 @@ ADS_STATUS ads_workgroup_name(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char **workg
 
        (*workgroup) = NULL;
 
-       asprintf(&expr, "(&(objectclass=computer)(dnshostname=%s.%s))", 
+       asprintf(&exp, "(&(objectclass=computer)(dnshostname=%s.%s))", 
                 ads->config.ldap_server_name, ads->config.realm);
-       rc = ads_search(ads, &res, expr, attrs);
-       free(expr);
+       rc = ads_search(ads, &res, exp, attrs);
+       free(exp);
 
        if (!ADS_ERR_OK(rc)) {
                return rc;
index 68556002880ec3e1bebede1ebdecb41fdf1b86f8..907f7c8aff553a75f5a7849c62f43aacbbff65b0 100644 (file)
@@ -28,7 +28,7 @@
   this is supposed to catch dropped connections and auto-reconnect
 */
 ADS_STATUS ads_do_search_retry(ADS_STRUCT *ads, const char *bind_path, int scope, 
-                              const char *expr,
+                              const char *exp,
                               const char **attrs, void **res)
 {
        ADS_STATUS status;
@@ -46,10 +46,10 @@ ADS_STATUS ads_do_search_retry(ADS_STRUCT *ads, const char *bind_path, int scope
                return ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
 
        while (count--) {
-               status = ads_do_search_all(ads, bp, scope, expr, attrs, res);
+               status = ads_do_search_all(ads, bp, scope, exp, attrs, res);
                if (ADS_ERR_OK(status)) {
                        DEBUG(5,("Search for %s gave %d replies\n",
-                                expr, ads_count_replies(ads, *res)));
+                                exp, ads_count_replies(ads, *res)));
                        free(bp);
                        return status;
                }
@@ -79,11 +79,11 @@ ADS_STATUS ads_do_search_retry(ADS_STRUCT *ads, const char *bind_path, int scope
 
 
 ADS_STATUS ads_search_retry(ADS_STRUCT *ads, void **res, 
-                           const char *expr
+                           const char *exp, 
                            const char **attrs)
 {
        return ads_do_search_retry(ads, ads->config.bind_path, LDAP_SCOPE_SUBTREE,
-                                  expr, attrs, res);
+                                  exp, attrs, res);
 }
 
 ADS_STATUS ads_search_retry_dn(ADS_STRUCT *ads, void **res, 
index 75dcd62c2f37e88a62689a86c3b31bba49d9265a..763878f9b38307d81b66e91f8334c8585d83edf8 100644 (file)
@@ -750,6 +750,7 @@ BOOL cli_ulogoff(struct cli_state *cli)
 /****************************************************************************
  Send a tconX.
 ****************************************************************************/
+
 BOOL cli_send_tconX(struct cli_state *cli, 
                    const char *share, const char *dev, const char *pass, int passlen)
 {
@@ -1342,45 +1343,3 @@ name *SMBSERVER with error %s\n", desthost, cli_errstr(cli) ));
 
        return True;
 }
-
-
-
-
-
-/****************************************************************************
- Send an old style tcon.
-****************************************************************************/
-NTSTATUS cli_raw_tcon(struct cli_state *cli, 
-                     const char *service, const char *pass, const char *dev,
-                     uint16 *max_xmit, uint16 *tid)
-{
-       char *p;
-
-       memset(cli->outbuf,'\0',smb_size);
-       memset(cli->inbuf,'\0',smb_size);
-
-       set_message(cli->outbuf, 0, 0, True);
-       SCVAL(cli->outbuf,smb_com,SMBtcon);
-       cli_setup_packet(cli);
-
-       p = smb_buf(cli->outbuf);
-       *p++ = 4; p += clistr_push(cli, p, service, -1, STR_TERMINATE | STR_NOALIGN);
-       *p++ = 4; p += clistr_push(cli, p, pass, -1, STR_TERMINATE | STR_NOALIGN);
-       *p++ = 4; p += clistr_push(cli, p, dev, -1, STR_TERMINATE | STR_NOALIGN);
-
-       cli_setup_bcc(cli, p);
-
-       cli_send_smb(cli);
-       if (!cli_receive_smb(cli)) {
-               return NT_STATUS_UNEXPECTED_NETWORK_ERROR;
-       }
-
-       if (cli_is_error(cli)) {
-               return cli_nt_error(cli);
-       }
-
-       *max_xmit = SVAL(cli->inbuf, smb_vwv0);
-       *tid = SVAL(cli->inbuf, smb_vwv1);
-
-       return NT_STATUS_OK;
-}
index 0da9a8932fc909e0e72720809d6b83523d5ea68e..d96919308942d1fdb5fa4afc249d9bf15a02f09e 100644 (file)
@@ -259,6 +259,9 @@ struct cli_state *cli_initialise(struct cli_state *cli)
        if (getenv("CLI_FORCE_DOSERR"))
                cli->force_dos_errors = True;
 
+       /* initialise signing */
+       cli_null_set_signing(cli);
+
        if (lp_client_signing()) 
                cli->sign_info.allow_smb_signing = True;
                                    
@@ -271,13 +274,6 @@ struct cli_state *cli_initialise(struct cli_state *cli)
        memset(cli->outbuf, 0, cli->bufsize);
        memset(cli->inbuf, 0, cli->bufsize);
 
-       /* just becouse we over-allocate, doesn't mean it's right to use it */
-       clobber_region(FUNCTION_MACRO, __LINE__, cli->outbuf+cli->bufsize, SAFETY_MARGIN);
-       clobber_region(FUNCTION_MACRO, __LINE__, cli->inbuf+cli->bufsize, SAFETY_MARGIN);
-
-       /* initialise signing */
-       cli_null_set_signing(cli);
-
        cli->nt_pipe_fnum = 0;
 
        cli->initialised = 1;
index cea736ef1806648ad9a1099aee5952baca7e93c8..12a7b5dba180c73cfac0909a306fb0e7dfcd3f82 100644 (file)
@@ -2,7 +2,6 @@
    Unix SMB/CIFS implementation.
    client error handling routines
    Copyright (C) Andrew Tridgell 1994-1998
-   Copyright (C) Jelmer Vernooij 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
@@ -221,104 +220,16 @@ static struct {
        int error;
 } nt_errno_map[] = {
         {NT_STATUS_ACCESS_VIOLATION, EACCES},
+        {NT_STATUS_NO_SUCH_FILE, ENOENT},
+        {NT_STATUS_NO_SUCH_DEVICE, ENODEV},
         {NT_STATUS_INVALID_HANDLE, EBADF},
+        {NT_STATUS_NO_MEMORY, ENOMEM},
         {NT_STATUS_ACCESS_DENIED, EACCES},
         {NT_STATUS_OBJECT_NAME_NOT_FOUND, ENOENT},
         {NT_STATUS_SHARING_VIOLATION, EBUSY},
         {NT_STATUS_OBJECT_PATH_INVALID, ENOTDIR},
         {NT_STATUS_OBJECT_NAME_COLLISION, EEXIST},
         {NT_STATUS_PATH_NOT_COVERED, ENOENT},
-       {NT_STATUS_UNSUCCESSFUL, EINVAL},
-       {NT_STATUS_NOT_IMPLEMENTED, ENOSYS},
-       {NT_STATUS_IN_PAGE_ERROR, EFAULT}, 
-       {NT_STATUS_BAD_NETWORK_NAME, ENOENT},
-#ifdef EDQUOT
-       {NT_STATUS_PAGEFILE_QUOTA, EDQUOT},
-       {NT_STATUS_QUOTA_EXCEEDED, EDQUOT},
-       {NT_STATUS_REGISTRY_QUOTA_LIMIT, EDQUOT},
-       {NT_STATUS_LICENSE_QUOTA_EXCEEDED, EDQUOT},
-#endif
-#ifdef ETIME
-       {NT_STATUS_TIMER_NOT_CANCELED, ETIME},
-#endif
-       {NT_STATUS_INVALID_PARAMETER, EINVAL},
-       {NT_STATUS_NO_SUCH_DEVICE, ENODEV},
-       {NT_STATUS_NO_SUCH_FILE, ENOENT},
-#ifdef ENODATA
-       {NT_STATUS_END_OF_FILE, ENODATA}, 
-#endif
-#ifdef ENOMEDIUM
-       {NT_STATUS_NO_MEDIA_IN_DEVICE, ENOMEDIUM}, 
-       {NT_STATUS_NO_MEDIA, ENOMEDIUM},
-#endif
-       {NT_STATUS_NONEXISTENT_SECTOR, ESPIPE}, 
-        {NT_STATUS_NO_MEMORY, ENOMEM},
-       {NT_STATUS_CONFLICTING_ADDRESSES, EADDRINUSE},
-       {NT_STATUS_NOT_MAPPED_VIEW, EINVAL},
-       {NT_STATUS_UNABLE_TO_FREE_VM, EADDRINUSE},
-       {NT_STATUS_ACCESS_DENIED, EACCES}, 
-       {NT_STATUS_BUFFER_TOO_SMALL, ENOBUFS},
-       {NT_STATUS_WRONG_PASSWORD, EACCES},
-       {NT_STATUS_LOGON_FAILURE, EACCES},
-       {NT_STATUS_INVALID_WORKSTATION, EACCES},
-       {NT_STATUS_INVALID_LOGON_HOURS, EACCES},
-       {NT_STATUS_PASSWORD_EXPIRED, EACCES},
-       {NT_STATUS_ACCOUNT_DISABLED, EACCES},
-       {NT_STATUS_DISK_FULL, ENOSPC},
-       {NT_STATUS_INVALID_PIPE_STATE, EPIPE},
-       {NT_STATUS_PIPE_BUSY, EPIPE},
-       {NT_STATUS_PIPE_DISCONNECTED, EPIPE},
-       {NT_STATUS_PIPE_NOT_AVAILABLE, ENOSYS},
-       {NT_STATUS_FILE_IS_A_DIRECTORY, EISDIR},
-       {NT_STATUS_NOT_SUPPORTED, ENOSYS},
-       {NT_STATUS_NOT_A_DIRECTORY, ENOTDIR},
-       {NT_STATUS_DIRECTORY_NOT_EMPTY, ENOTEMPTY},
-       {NT_STATUS_NETWORK_UNREACHABLE, ENETUNREACH},
-       {NT_STATUS_HOST_UNREACHABLE, EHOSTUNREACH},
-       {NT_STATUS_CONNECTION_ABORTED, ECONNABORTED},
-       {NT_STATUS_CONNECTION_REFUSED, ECONNREFUSED},
-       {NT_STATUS_TOO_MANY_LINKS, EMLINK},
-       {NT_STATUS_NETWORK_BUSY, EBUSY},
-       {NT_STATUS_DEVICE_DOES_NOT_EXIST, ENODEV},
-#ifdef ELIBACC
-       {NT_STATUS_DLL_NOT_FOUND, ELIBACC},
-#endif
-       {NT_STATUS_PIPE_BROKEN, EPIPE},
-       {NT_STATUS_REMOTE_NOT_LISTENING, ECONNREFUSED},
-       {NT_STATUS_NETWORK_ACCESS_DENIED, EACCES},
-       {NT_STATUS_TOO_MANY_OPENED_FILES, EMFILE},
-#ifdef EPROTO
-       {NT_STATUS_DEVICE_PROTOCOL_ERROR, EPROTO},
-#endif
-       {NT_STATUS_FLOAT_OVERFLOW, ERANGE},
-       {NT_STATUS_FLOAT_UNDERFLOW, ERANGE},
-       {NT_STATUS_INTEGER_OVERFLOW, ERANGE},
-       {NT_STATUS_MEDIA_WRITE_PROTECTED, EROFS},
-       {NT_STATUS_PIPE_CONNECTED, EISCONN},
-       {NT_STATUS_MEMORY_NOT_ALLOCATED, EFAULT},
-       {NT_STATUS_FLOAT_INEXACT_RESULT, ERANGE},
-       {NT_STATUS_ILL_FORMED_PASSWORD, EACCES},
-       {NT_STATUS_PASSWORD_RESTRICTION, EACCES},
-       {NT_STATUS_ACCOUNT_RESTRICTION, EACCES},
-       {NT_STATUS_PORT_CONNECTION_REFUSED, ECONNREFUSED},
-       {NT_STATUS_NAME_TOO_LONG, ENAMETOOLONG},
-       {NT_STATUS_REMOTE_DISCONNECT, ESHUTDOWN},
-       {NT_STATUS_CONNECTION_DISCONNECTED, ECONNABORTED},
-       {NT_STATUS_CONNECTION_RESET, ENETRESET},
-#ifdef ENOTUNIQ
-       {NT_STATUS_IP_ADDRESS_CONFLICT1, ENOTUNIQ},
-       {NT_STATUS_IP_ADDRESS_CONFLICT2, ENOTUNIQ},
-#endif
-       {NT_STATUS_PORT_MESSAGE_TOO_LONG, EMSGSIZE},
-       {NT_STATUS_PROTOCOL_UNREACHABLE, ENOPROTOOPT},
-       {NT_STATUS_ADDRESS_ALREADY_EXISTS, EADDRINUSE},
-       {NT_STATUS_PORT_UNREACHABLE, EHOSTUNREACH},
-       {NT_STATUS_IO_TIMEOUT, ETIMEDOUT},
-       {NT_STATUS_RETRY, EAGAIN},
-#ifdef ECOMM
-       {NT_STATUS_NET_WRITE_FAULT, ECOMM},
-#endif
-
        {NT_STATUS(0), 0}
 };
 
index 4eb5efe193597cf800ca1f379bd54d3c75ca08a8..d86f36405ddaea9e084f67c11695877fda7065a9 100644 (file)
@@ -942,6 +942,7 @@ BOOL cli_setatr(struct cli_state *cli, const char *fname, uint16 attr, time_t t)
 /****************************************************************************
  Check for existance of a dir.
 ****************************************************************************/
+
 BOOL cli_chkpath(struct cli_state *cli, const char *path)
 {
        pstring path2;
@@ -1048,34 +1049,3 @@ int cli_ctemp(struct cli_state *cli, const char *path, char **tmp_path)
 
        return SVAL(cli->inbuf,smb_vwv0);
 }
-
-
-/* 
-   send a raw ioctl - used by the torture code
-*/
-NTSTATUS cli_raw_ioctl(struct cli_state *cli, int fnum, uint32 code, DATA_BLOB *blob)
-{
-       memset(cli->outbuf,'\0',smb_size);
-       memset(cli->inbuf,'\0',smb_size);
-
-       set_message(cli->outbuf, 3, 0, True);
-       SCVAL(cli->outbuf,smb_com,SMBioctl);
-       cli_setup_packet(cli);
-
-       SSVAL(cli->outbuf, smb_vwv0, fnum);
-       SSVAL(cli->outbuf, smb_vwv1, code>>16);
-       SSVAL(cli->outbuf, smb_vwv2, (code&0xFFFF));
-
-       cli_send_smb(cli);
-       if (!cli_receive_smb(cli)) {
-               return NT_STATUS_UNEXPECTED_NETWORK_ERROR;
-       }
-
-       if (cli_is_error(cli)) {
-               return cli_nt_error(cli);
-       }
-
-       *blob = data_blob(NULL, 0);
-
-       return NT_STATUS_OK;
-}
index f05a65762b2fbfb1eaff0551d6ab2fe8935953ad..224c37046c0d5aa8f263455ac4e40aa2a03ecc65 100644 (file)
@@ -233,7 +233,7 @@ BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
        SIVAL(p,0,stype);
        p += 4;
 
-       push_ascii(p, workgroup, sizeof(pstring)-PTR_DIFF(p,param)-1, STR_TERMINATE|STR_UPPER);
+       p += push_pstring_base(p, workgroup, param);
        
        if (cli_api(cli, 
                     param, PTR_DIFF(p,param), 8,        /* params, length, max */
index c61445c0735e413bd415437bd27977473fdd703a..bba9fcf15a07260dbf8627721386f140b7f1f3ab 100644 (file)
@@ -3,7 +3,7 @@
    client string routines
    Copyright (C) Andrew Tridgell 2001
    Copyright (C) Andrew Bartlett <abartlet@samba.org> 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
    the Free Software Foundation; either version 2 of the License, or
index 67dc686b4871ddbef5902dc7abbff8b47ca70775..b1620042f38e737c02a96cd44d5fd574a6dbce24 100644 (file)
@@ -50,8 +50,8 @@ struct smbc_server_cache {
  * This function is only used if the external cache is not enabled 
  */
 static int smbc_add_cached_server(SMBCCTX * context, SMBCSRV * new,
-                                 const char * server, const char * share, 
-                                 const char * workgroup, const char * username)
+                                 char * server, char * share, 
+                                 char * workgroup, char * username)
 {
        struct smbc_server_cache * srvcache = NULL;
 
@@ -108,8 +108,8 @@ static int smbc_add_cached_server(SMBCCTX * context, SMBCSRV * new,
  * returns server_fd on success, -1 on error (not found)
  * This function is only used if the external cache is not enabled 
  */
-static SMBCSRV * smbc_get_cached_server(SMBCCTX * context, const char * server, 
-                                 const char * share, const char * workgroup, const char * user)
+static SMBCSRV * smbc_get_cached_server(SMBCCTX * context, char * server, 
+                                 char * share, char * workgroup, char * user)
 {
        struct smbc_server_cache * srv = NULL;
        
index 41a675595328ac59023b500bca44da2516f9f58e..440527cd9d49b2546b45ce6b1a91a407057f499b 100644 (file)
@@ -52,87 +52,6 @@ extern BOOL in_client;
  */
 static int smbc_initialized = 0;
 
-static int 
-hex2int( unsigned int _char )
-{
-    if ( _char >= 'A' && _char <='F')
-       return _char - 'A' + 10;
-    if ( _char >= 'a' && _char <='f')
-       return _char - 'a' + 10;
-    if ( _char >= '0' && _char <='9')
-       return _char - '0';
-    return -1;
-}
-
-static void 
-decode_urlpart(char *segment, size_t sizeof_segment)
-{
-    int old_length = strlen(segment);
-    int new_length = 0;
-    int new_length2 = 0;
-    int i = 0;
-    pstring new_segment;
-    char *new_usegment = 0;
-
-    if ( !old_length ) {
-       return;
-    }
-
-    /* make a copy of the old one */
-    new_usegment = (char*)malloc( old_length * 3 + 1 );
-
-    while( i < old_length ) {
-       int bReencode = False;
-       unsigned char character = segment[ i++ ];
-       if ((character <= ' ') || (character > 127))
-           bReencode = True;
-
-       new_usegment [ new_length2++ ] = character;
-       if (character == '%' ) {
-           int a = i+1 < old_length ? hex2int( segment[i] ) : -1;
-           int b = i+1 < old_length ? hex2int( segment[i+1] ) : -1;
-           if ((a == -1) || (b == -1)) { /* Only replace if sequence is valid */
-               /* Contains stray %, make sure to re-encode! */
-               bReencode = True;
-           } else {
-               /* Valid %xx sequence */
-               character = a * 16 + b; /* Replace with value of %dd */
-               if (!character)
-                   break; /* Stop at %00 */
-
-               new_usegment [ new_length2++ ] = (unsigned char) segment[i++];
-               new_usegment [ new_length2++ ] = (unsigned char) segment[i++];
-           }
-       }
-       if (bReencode) {
-           unsigned int c = character / 16;
-           new_length2--;
-           new_usegment [ new_length2++ ] = '%';
-
-           c += (c > 9) ? ('A' - 10) : '0';
-           new_usegment[ new_length2++ ] = c;
-
-           c = character % 16;
-           c += (c > 9) ? ('A' - 10) : '0';
-           new_usegment[ new_length2++ ] = c;
-       }
-
-       new_segment [ new_length++ ] = character;
-    }
-    new_segment [ new_length ] = 0;
-
-    free(new_usegment);
-
-    /* realloc it with unix charset */
-    pull_utf8_allocate((void**)&new_usegment, new_segment);
-
-    /* this assumes (very safely) that removing %aa sequences
-       only shortens the string */
-    strncpy(segment, new_usegment, sizeof_segment);
-
-    free(new_usegment);
-}
-
 /*
  * Function to parse a path and turn it into components
  *
@@ -178,7 +97,7 @@ smbc_parse_path(SMBCCTX *context, const char *fname, char *server, char *share,
        p += 2;  /* Skip the // or \\  */
 
        if (*p == (char)0)
-           goto decoding;
+               return 0;
 
        if (*p == '/') {
 
@@ -239,7 +158,7 @@ smbc_parse_path(SMBCCTX *context, const char *fname, char *server, char *share,
 
        }
 
-       if (*p == (char)0) goto decoding;  /* That's it ... */
+       if (*p == (char)0) return 0;  /* That's it ... */
   
        if (!next_token(&p, share, "/", sizeof(fstring))) {
 
@@ -248,16 +167,9 @@ smbc_parse_path(SMBCCTX *context, const char *fname, char *server, char *share,
        }
 
        pstrcpy(path, p);
-
+  
        all_string_sub(path, "/", "\\", 0);
 
- decoding:
-       decode_urlpart(path, sizeof(pstring));
-       decode_urlpart(server, sizeof(fstring));
-       decode_urlpart(share, sizeof(fstring));
-       decode_urlpart(user, sizeof(fstring));
-       decode_urlpart(password, sizeof(fstring));
-
        return 0;
 }
 
@@ -355,16 +267,15 @@ int smbc_remove_unused_server(SMBCCTX * context, SMBCSRV * srv)
  */
 
 SMBCSRV *smbc_server(SMBCCTX *context,
-                    const char *server, const char *share, 
-                    fstring workgroup, fstring username, 
-                    fstring password)
+                    char *server, char *share, 
+                    char *workgroup, char *username, 
+                    char *password)
 {
        SMBCSRV *srv=NULL;
        int auth_called = 0;
        struct cli_state c;
        struct nmb_name called, calling;
-       char *p;
-       const char *server_n = server;
+       char *p, *server_n = server;
        fstring group;
        pstring ipenv;
        struct in_addr ip;
@@ -818,6 +729,27 @@ static int smbc_close_ctx(SMBCCTX *context, SMBCFILE *file)
 
        }
 
+       if (!file->file) {
+
+               return context->closedir(context, file);
+
+       }
+
+       if (!cli_close(&file->srv->cli, file->cli_fd)) {
+               DEBUG(3, ("cli_close failed on %s. purging server.\n", 
+                         file->fname));
+               /* Deallocate slot and remove the server 
+                * from the server cache if unused */
+               errno = smbc_errno(context, &file->srv->cli);  
+               srv = file->srv;
+               DLIST_REMOVE(context->internal->_files, file);
+               SAFE_FREE(file->fname);
+               SAFE_FREE(file);
+               context->callbacks.remove_unused_server_fn(context, srv);
+
+               return -1;
+       }
+
        DLIST_REMOVE(context->internal->_files, file);
        SAFE_FREE(file->fname);
        SAFE_FREE(file);
@@ -1071,16 +1003,12 @@ static off_t smbc_lseek_ctx(SMBCCTX *context, SMBCFILE *file, off_t offset, int
 
        case SEEK_END:
                if (!cli_qfileinfo(&file->srv->cli, file->cli_fd, NULL, &size, NULL, NULL,
-                                  NULL, NULL, NULL)) 
-               {
-                   SMB_BIG_UINT b_size = size;
-                   if (!cli_getattrE(&file->srv->cli, file->cli_fd, NULL, &b_size, NULL, NULL,
-                                     NULL)) 
-                   {
+                                  NULL, NULL, NULL) &&
+                   !cli_getattrE(&file->srv->cli, file->cli_fd, NULL, &size, NULL, NULL,
+                                 NULL)) {
+
                        errno = EINVAL;
                        return -1;
-                   } else
-                       size = b_size;
                }
                file->offset = size + offset;
                break;
@@ -1278,15 +1206,12 @@ static int smbc_fstat_ctx(SMBCCTX *context, SMBCFILE *file, struct stat *st)
        }
 
        if (!cli_qfileinfo(&file->srv->cli, file->cli_fd,
-                          &mode, &size, &c_time, &a_time, &m_time, NULL, &ino)) {
-           SMB_BIG_UINT b_size = size;
-           if (!cli_getattrE(&file->srv->cli, file->cli_fd,
-                         &mode, &b_size, &c_time, &a_time, &m_time)) {
+                          &mode, &size, &c_time, &a_time, &m_time, NULL, &ino) &&
+           !cli_getattrE(&file->srv->cli, file->cli_fd,
+                         &mode, &size, &c_time, &a_time, &m_time)) {
 
                errno = EINVAL;
                return -1;
-           } else
-               size = b_size;
 
        }
 
@@ -1339,13 +1264,6 @@ static int add_dirent(SMBCFILE *dir, const char *name, const char *comment, uint
 {
        struct smbc_dirent *dirent;
        int size;
-       char *u_name = NULL, *u_comment = NULL;
-       size_t u_name_len = 0, u_comment_len = 0;
-
-       if (name)
-           u_name_len = push_utf8_allocate(&u_name, name);
-       if (comment)
-           u_comment_len = push_utf8_allocate(&u_comment, comment);
 
        /*
         * Allocate space for the dirent, which must be increased by the 
@@ -1353,7 +1271,8 @@ static int add_dirent(SMBCFILE *dir, const char *name, const char *comment, uint
         * The null on the name is already accounted for.
         */
 
-       size = sizeof(struct smbc_dirent) + u_name_len + u_comment_len + 1;
+       size = sizeof(struct smbc_dirent) + (name?strlen(name):0) +
+               (comment?strlen(comment):0) + 1; 
     
        dirent = malloc(size);
 
@@ -1402,17 +1321,14 @@ static int add_dirent(SMBCFILE *dir, const char *name, const char *comment, uint
        dir->dir_end->dirent = dirent;
        
        dirent->smbc_type = type;
-       dirent->namelen = u_name_len;
-       dirent->commentlen = u_comment_len;
+       dirent->namelen = (name?strlen(name):0);
+       dirent->commentlen = (comment?strlen(comment):0);
        dirent->dirlen = size;
   
-       strncpy(dirent->name, (u_name?u_name:""), dirent->namelen + 1);
+       strncpy(dirent->name, (name?name:""), dirent->namelen + 1);
 
        dirent->comment = (char *)(&dirent->name + dirent->namelen + 1);
-       strncpy(dirent->comment, (u_comment?u_comment:""), dirent->commentlen + 1);
-       
-       SAFE_FREE(u_comment);
-       SAFE_FREE(u_name);
+       strncpy(dirent->comment, (comment?comment:""), dirent->commentlen + 1);
 
        return 0;
 
@@ -1476,47 +1392,9 @@ dir_list_fn(file_info *finfo, const char *mask, void *state)
 
 }
 
-
-/* Return the IP address and workgroup of a master browser on the 
-   network. */
-
-static BOOL find_master_ip_bcast(pstring workgroup, struct in_addr *server_ip)
-{
-       struct in_addr *ip_list;
-       int i, count;
-
-        /* Go looking for workgroups by broadcasting on the local network */ 
-
-        if (!name_resolve_bcast(MSBROWSE, 1, &ip_list, &count)) {
-                return False;
-        }
-
-       for (i = count-1; i < count; i++) {
-               static fstring name;
-
-               DEBUG(0, ("name_status_find %d %s\n", i, inet_ntoa(ip_list[i])));
-
-               if (!name_status_find("*", 0, 0x1d, ip_list[i], name))
-                       continue;
-
-                if (!find_master_ip(name, server_ip))
-                       continue;
-
-                pstrcpy(workgroup, name);
-
-                DEBUG(4, ("found master browser %s, %s\n", 
-                          name, inet_ntoa(ip_list[i])));
-
-                return True;
-       }
-
-       return False;
-}
-
 static SMBCFILE *smbc_opendir_ctx(SMBCCTX *context, const char *fname)
 {
-       fstring server, share, user, password;
-       pstring workgroup;
+       fstring server, share, user, password, workgroup;
        pstring path;
        SMBCSRV *srv  = NULL;
        SMBCFILE *dir = NULL;
@@ -1524,29 +1402,29 @@ static SMBCFILE *smbc_opendir_ctx(SMBCCTX *context, const char *fname)
 
        if (!context || !context->internal ||
            !context->internal->_initialized) {
-               DEBUG(4, ("no valid context\n"));
+
                errno = EINVAL;
                return NULL;
 
        }
 
        if (!fname) {
-               DEBUG(4, ("no valid fname\n"));
+    
                errno = EINVAL;
                return NULL;
+
        }
 
        if (smbc_parse_path(context, fname, server, share, path, user, password)) {
-               DEBUG(4, ("no valid path\n"));
+
                errno = EINVAL;
                return NULL;
-       }
 
-       DEBUG(4, ("parsed path: fname='%s' server='%s' share='%s' path='%s'\n", fname, server, share, path));
+       }
 
        if (user[0] == (char)0) fstrcpy(user, context->user);
 
-       pstrcpy(workgroup, context->workgroup);
+       fstrcpy(workgroup, context->workgroup);
 
        dir = malloc(sizeof(*dir));
 
@@ -1567,56 +1445,64 @@ static SMBCFILE *smbc_opendir_ctx(SMBCCTX *context, const char *fname)
        dir->dir_list = dir->dir_next = dir->dir_end = NULL;
 
        if (server[0] == (char)0) {
-           struct in_addr server_ip;
-               DEBUG(4, ("empty server\n"));
+
                if (share[0] != (char)0 || path[0] != (char)0) {
-                   DEBUG(4,("share %d path %d\n", share[0], path[0]));
+    
                        errno = EINVAL;
                        if (dir) {
                                SAFE_FREE(dir->fname);
                                SAFE_FREE(dir);
                        }
                        return NULL;
+
                }
 
                /* We have server and share and path empty ... so list the workgroups */
                 /* first try to get the LMB for our workgroup, and if that fails,     */
                 /* try the DMB                                                        */
 
-               pstrcpy(workgroup, lp_workgroup());
+               if (!(resolve_name(context->workgroup, &rem_ip, 0x1d) ||
+                      resolve_name(context->workgroup, &rem_ip, 0x1b))) {
+      
+                       errno = EINVAL;  /* Something wrong with smb.conf? */
+                       return NULL;
 
-               if (!find_master_ip(lp_workgroup(), &server_ip)) {
-                   DEBUG(4, ("Unable to find master browser for workgroup %s\n", 
-                             workgroup));
-                   if (!find_master_ip_bcast(workgroup, &server_ip)) {
-                       DEBUG(4, ("Unable to find master browser by "
-                                 "broadcast\n"));
-                       errno = ENOENT;
+               }
+
+               dir->dir_type = SMBC_WORKGROUP;
+
+               /* find the name of the server ... */
+
+               if (!name_status_find("*", 0, 0, rem_ip, server)) {
+
+                       DEBUG(0,("Could not get the name of local/domain master browser for server %s\n", server));
+                       errno = EINVAL;
                        return NULL;
-                   }
-               }       
-
-               /*
-                * Get a connection to IPC$ on the server if we do not already have one
-                */
-
-               srv = smbc_server(context, inet_ntoa(server_ip), "IPC$", workgroup, user, password);
-
-               if (!srv) {
-                  
-                  if (dir) {
-                      SAFE_FREE(dir->fname);
-                      SAFE_FREE(dir);
-                  }
-                  return NULL;
-              }
-                  
+
+               }
+
+               /*
+                * Get a connection to IPC$ on the server if we do not already have one
+                */
+
+               srv = smbc_server(context, server, "IPC$", workgroup, user, password);
+
+               if (!srv) {
+
+                       if (dir) {
+                               SAFE_FREE(dir->fname);
+                               SAFE_FREE(dir);
+                       }
+                       
+                       return NULL;
+
+               }
+
                dir->srv = srv;
-               dir->dir_type = SMBC_WORKGROUP;
 
                /* Now, list the stuff ... */
 
-               if (!cli_NetServerEnum(&srv->cli, workgroup, SV_TYPE_DOMAIN_ENUM, list_fn,
+               if (!cli_NetServerEnum(&srv->cli, workgroup, 0x80000000, list_fn,
                                       (void *)dir)) {
 
                        if (dir) {
@@ -1674,7 +1560,7 @@ static SMBCFILE *smbc_opendir_ctx(SMBCCTX *context, const char *fname)
                                srv = smbc_server(context, buserver, "IPC$", workgroup, user, password);
 
                                if (!srv) {
-                                       DEBUG(0, ("got no contact to IPC$\n"));
+
                                        if (dir) {
                                                SAFE_FREE(dir->fname);
                                                SAFE_FREE(dir);
@@ -2172,7 +2058,6 @@ static int smbc_rmdir_ctx(SMBCCTX *context, const char *fname)
 
 static off_t smbc_telldir_ctx(SMBCCTX *context, SMBCFILE *dir)
 {
-       off_t ret_val; /* Squash warnings about cast */
 
        if (!context || !context->internal ||
            !context->internal->_initialized) {
@@ -2196,11 +2081,7 @@ static off_t smbc_telldir_ctx(SMBCCTX *context, SMBCFILE *dir)
 
        }
 
-       /*
-        * We return the pointer here as the offset
-        */
-       ret_val = (int)dir->dir_next;
-       return ret_val;
+       return (off_t) dir->dir_next;
 
 }
 
@@ -2240,9 +2121,8 @@ struct smbc_dir_list *smbc_check_dir_ent(struct smbc_dir_list *list,
 
 static int smbc_lseekdir_ctx(SMBCCTX *context, SMBCFILE *dir, off_t offset)
 {
-       long int l_offset = offset;  /* Handle problems of size */
-       struct smbc_dirent *dirent = (struct smbc_dirent *)l_offset;
-       struct smbc_dir_list *list_ent = (struct smbc_dir_list *)NULL;
+       struct smbc_dirent *dirent = (struct smbc_dirent *)offset;
+       struct smbc_dir_list *list_ent = NULL;
 
        if (!context || !context->internal ||
            !context->internal->_initialized) {
@@ -2692,7 +2572,7 @@ SMBCCTX * smbc_init_context(SMBCCTX * context)
                /* Do we still need this ? */
                DEBUGLEVEL = 10;
                
-               setup_logging( "libsmbclient", True);
+               setup_logging( "libsmbclient", False);
 
                /* Here we would open the smb.conf file if needed ... */
                
@@ -2760,8 +2640,8 @@ SMBCCTX * smbc_init_context(SMBCCTX * context)
                        slprintf(context->netbios_name, 16, "smbc%s%d", context->user, pid);
                }
        }
-
-       DEBUG(1, ("Using netbios name %s.\n", context->netbios_name));
+       DEBUG(0,("Using netbios name %s.\n", context->netbios_name));
+       
 
        if (!context->workgroup) {
                if (lp_workgroup()) {
@@ -2772,8 +2652,7 @@ SMBCCTX * smbc_init_context(SMBCCTX * context)
                        context->workgroup = strdup("samba");
                }
        }
-
-       DEBUG(1, ("Using workgroup %s.\n", context->workgroup));
+       DEBUG(0,("Using workgroup %s.\n", context->workgroup));
                                        
        /* shortest timeout is 1 second */
        if (context->timeout > 0 && context->timeout < 1000) 
index 466410d80054d1e3ce578bd5eb64f6c644060efb..fa2fe32f35f7691f05e53215ea615f1790f8c27b 100644 (file)
@@ -22,7 +22,6 @@
 */
 
 #include "includes.h"
-#define UNIGROUP_PREFIX "UNIGROUP"
 
 /*
     Handle for netlogon_unigrp.tdb database. It is used internally
@@ -51,22 +50,17 @@ BOOL uni_group_cache_init(void)
 BOOL  uni_group_cache_store_netlogon(TALLOC_CTX *mem_ctx, NET_USER_INFO_3 *user)
 {
        TDB_DATA key,data;
-        fstring keystr, sid_string;
-       DOM_SID user_sid;
-        unsigned int i;
+        fstring keystr;
+        int i;
 
        if (!uni_group_cache_init()) {
                DEBUG(0,("uni_group_cache_store_netlogon: cannot open netlogon_unigrp.tdb for write!\n"));
                return False;
        }
 
-       sid_copy(&user_sid, &user->dom_sid.sid);
-       sid_append_rid(&user_sid, user->user_rid);
-
-       /* Prepare key as USER-SID string */
-       slprintf(keystr, sizeof(keystr), "%s/%s",
-                UNIGROUP_PREFIX,
-                sid_to_string(sid_string, &user_sid));
+       /* Prepare key as DOMAIN-SID/USER-RID string */
+       slprintf(keystr, sizeof(keystr), "%s/%d", 
+                sid_string_static(&user->dom_sid.sid), user->user_rid);
        key.dptr = keystr;
        key.dsize = strlen(keystr) + 1;
        
@@ -96,15 +90,14 @@ BOOL  uni_group_cache_store_netlogon(TALLOC_CTX *mem_ctx, NET_USER_INFO_3 *user)
     and elements are array[0] ... array[num_elements-1]
     
 */
-DOM_SID **uni_group_cache_fetch(DOM_SID *domain, DOM_SID *user_sid,
+uint32* uni_group_cache_fetch(DOM_SID *domain, uint32 user_rid,
                              TALLOC_CTX *mem_ctx, uint32 *num_groups)
 {
        TDB_DATA key,data;
        fstring keystr;
-       DOM_SID **groups;
+       uint32 *groups;
        uint32 i;
        uint32 group_count;
-       fstring sid_string;
        
        if (!domain) {
                DEBUG(1,("uni_group_cache_fetch: expected non-null domain sid\n"));
@@ -130,9 +123,8 @@ DOM_SID **uni_group_cache_fetch(DOM_SID *domain, DOM_SID *user_sid,
        *num_groups = 0;
        
        /* Fetch universal groups */
-       slprintf(keystr, sizeof(keystr), "%s/%s", 
-                UNIGROUP_PREFIX,
-                sid_to_string(sid_string, user_sid));
+       slprintf(keystr, sizeof(keystr), "%s/%d", 
+                sid_string_static(domain), user_rid);
        key.dptr = keystr;
        key.dsize = strlen(keystr) + 1;
        data = tdb_fetch(netlogon_unigrp_tdb, key);
@@ -144,17 +136,12 @@ DOM_SID **uni_group_cache_fetch(DOM_SID *domain, DOM_SID *user_sid,
        
        /* Transfer data to receiver's memory context */
        group_count = IVAL(&((uint32*)data.dptr)[0],0);
-       groups = talloc(mem_ctx, (group_count)*sizeof(*groups));
+       groups = talloc(mem_ctx, (group_count)*sizeof(uint32));
        if (groups) {
                for(i=0; i<group_count; i++) {
-                       groups[i] = talloc(mem_ctx, sizeof(**groups));
-                       if (!groups[i]) {
-                               DEBUG(1,("uni_group_cache_fetch: cannot allocate uni groups in receiver's memory context\n"));
-                               return NULL;
-                       }
-                       sid_copy(groups[i], domain);
-                       sid_append_rid(groups[i], IVAL(&((uint32*)data.dptr)[i+1],0));
+                       groups[i] = IVAL(&((uint32*)data.dptr)[i+1],0);
                }
+               
        } else {
                DEBUG(1,("uni_group_cache_fetch: cannot allocate uni groups in receiver's memory context\n"));
        }
index d54655d17f72acdd4c3e52f037855f43ad79b453..b8ef3a80c28beeb898e974a2c2def505dd52a3bf 100644 (file)
@@ -385,7 +385,7 @@ NTSTATUS ntlmssp_server_update(NTLMSSP_STATE *ntlmssp_state,
        } else if (ntlmssp_command == NTLMSSP_AUTH) {
                return ntlmssp_server_auth(ntlmssp_state, request, reply);
        } else {
-               DEBUG(1, ("unknown NTLMSSP command %u, expected %u\n", ntlmssp_command, ntlmssp_state->expected_state));
+               DEBUG(1, ("unknown NTLMSSP command %u\n", ntlmssp_command));
                return NT_STATUS_INVALID_PARAMETER;
        }
 }
similarity index 69%
rename from source3/libsmb/trusts_util.c
rename to source3/libsmb/trust_passwd.c
index b8f84ba890adc8553e966a9951f8d27cf66d0178..cf9fd58b13f18743484ae4b133019240c3a6ea57 100644 (file)
@@ -1,8 +1,7 @@
 /* 
  *  Unix SMB/CIFS implementation.
- *  Routines to operate on various trust relationships
- *  Copyright (C) Andrew Bartlett                   2001
- *  Copyright (C) Rafal Szczesniak                  2003
+ *  Routines to change trust account passwords.
+ *  Copyright (C) Andrew Bartlett                   2001.
  *
  *  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
@@ -114,63 +113,4 @@ NTSTATUS trust_pw_find_change_and_store_it(struct cli_state *cli, TALLOC_CTX *me
        
        return trust_pw_change_and_store_it(cli, mem_ctx, old_trust_passwd_hash);
        
-}
-
-
-/**
- * Verify whether or not given domain is trusted.
- *
- * @param domain_name name of the domain to be verified
- * @return true if domain is one of the trusted once or
- *         false if otherwise
- **/
-BOOL is_trusted_domain(const char* dom_name)
-{
-       int enum_ctx = 0;
-       const int trustdom_size = 10;
-       int num_domains, i;
-       TRUSTDOM **domains;
-       NTSTATUS result;
-       fstring trustdom_name;
-       DOM_SID trustdom_sid;
-       TALLOC_CTX *mem_ctx;
-       
-       /*
-        * Query the secrets db as an ultimate source of information
-        * about trusted domain names. This is PDC or BDC case.
-        */
-       mem_ctx = talloc_init("is_trusted_domain");
-       
-       do {
-               result = secrets_get_trusted_domains(mem_ctx, &enum_ctx, trustdom_size,
-                                                    &num_domains, &domains);
-               /* compare each returned entry against incoming connection's domain */
-               for (i = 0; i < num_domains; i++) {
-                       pull_ucs2_fstring(trustdom_name, domains[i]->name);
-                       if (strequal(trustdom_name, dom_name)) {
-                               talloc_destroy(mem_ctx);
-                               return True;
-                       }
-               }
-       } while (NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES));
-
-       talloc_destroy(mem_ctx);
-
-       /*
-        * Query the trustdom_cache updated periodically. The only
-        * way for domain member server.
-        */
-       if (trustdom_cache_enable() &&
-               trustdom_cache_fetch(dom_name, &trustdom_sid)) {
-               trustdom_cache_shutdown();
-               return True;
-       }
-
-       /*
-        * if nothing's been found, then give up here, although
-        * the last resort might be to query the PDC.
-        */
-       return False;
-}
-
+}                                       
diff --git a/source3/mainpage.dox b/source3/mainpage.dox
new file mode 100644 (file)
index 0000000..8b72f80
--- /dev/null
@@ -0,0 +1,7 @@
+/**
+
+@mainpage
+
+@li \ref CodingSuggestions
+
+**/
diff --git a/source3/modules/developer.c b/source3/modules/developer.c
deleted file mode 100644 (file)
index 7ffc3ff..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 charset_weird_init(void)
-{
-       smb_register_charset(&weird_functions);
-       return True;
-}
index fa9bf67a6720127e5a5f837991faca4cde2b3b99..1944c98e531c65a2ddf2ea0588da22405673020b 100644 (file)
@@ -98,9 +98,10 @@ static vfs_op_tuple audit_ops[] = {
 
 /* VFS initialisation function.  Return vfs_op_tuple array back to SAMBA. */
 
-static vfs_op_tuple *audit_init(const struct vfs_ops *def_vfs_ops, 
+vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops, 
                        struct smb_vfs_handle_struct *vfs_handle)
 {
+       *vfs_version = SMB_VFS_INTERFACE_VERSION;
        memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
        
        audit_handle = vfs_handle;
@@ -110,6 +111,12 @@ static vfs_op_tuple *audit_init(const struct vfs_ops *def_vfs_ops,
        return audit_ops;
 }
 
+/* VFS finalization function. */
+void vfs_done(connection_struct *conn)
+{
+       syslog(SYSLOG_PRIORITY, "VFS_DONE: vfs module unloaded\n");
+}
+
 /* Implementation of vfs_ops.  Pass everything on to the default
    operation but log event first. */
 
@@ -269,8 +276,3 @@ static int audit_fchmod_acl(struct files_struct *fsp, int fd, mode_t mode)
 
        return result;
 }
-
-int vfs_audit_init(void)
-{
-       return smb_register_vfs("audit", audit_init, SMB_VFS_INTERFACE_VERSION);
-}
index f60acab36af71c8f0b1054215d9feca28cd39905..c75dc1d09c2057db639738e67e371515b38b92f0 100644 (file)
@@ -99,9 +99,10 @@ static vfs_op_tuple audit_ops[] = {
 
 /* VFS initialisation function.  Return vfs_op_tuple array back to SAMBA. */
 
-static vfs_op_tuple *audit_init(const struct vfs_ops *def_vfs_ops, 
+vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops, 
                        struct smb_vfs_handle_struct *vfs_handle)
 {
+       *vfs_version = SMB_VFS_INTERFACE_VERSION;
        memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
        
        audit_handle = vfs_handle;
@@ -112,6 +113,13 @@ static vfs_op_tuple *audit_init(const struct vfs_ops *def_vfs_ops,
        return audit_ops;
 }
 
+/* VFS finalization function. */
+
+void vfs_done(connection_struct *conn)
+{
+       syslog(SYSLOG_PRIORITY, "VFS_DONE: vfs module unloaded\n");
+}
+
 /* Implementation of vfs_ops.  Pass everything on to the default
    operation but log event first. */
 
@@ -309,8 +317,3 @@ static int audit_fchmod_acl(struct files_struct *fsp, int fd, mode_t mode)
 
        return result;
 }
-
-int vfs_extd_audit_init(void)
-{
-       return smb_register_vfs("extd_audit", audit_init, SMB_VFS_INTERFACE_VERSION);
-}
index c9e3cde6210e689430b298d9106e37677a3acec6..b69a900e14411775482a906b05f258481e4eafef 100644 (file)
@@ -410,9 +410,10 @@ static vfs_op_tuple atalk_ops[] = {
 };
 
 /* VFS initialisation function.  Return vfs_op_tuple array back to SAMBA. */
-static vfs_op_tuple *netatalk_init(const struct vfs_ops *def_vfs_ops,
+vfs_op_tuple *vfs_init(int *vfs_version, struct vfs_ops *def_vfs_ops,
   struct smb_vfs_handle_struct *vfs_handle)
 {
+       *vfs_version = SMB_VFS_INTERFACE_VERSION;
        memcpy(&default_vfs_ops, def_vfs_ops, sizeof(struct vfs_ops));
        
        atalk_handle = vfs_handle;
@@ -421,7 +422,8 @@ static vfs_op_tuple *netatalk_init(const struct vfs_ops *def_vfs_ops,
        return atalk_ops;
 }
 
-int vfs_netatalk_init(void)
+/* VFS finalization function. */
+void vfs_done(connection_struct *conn)
 {
-       return smb_register_vfs("netatalk", netatalk_init, SMB_VFS_INTERFACE_VERSION);
+       DEBUG(3, ("ATALK: vfs module unloaded\n"));
 }
index a669d864c6b0b4cdc9d7d0573dbddd7b7ed7b221..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,17 +69,26 @@ 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.
  *
  * @retval initialised vfs_op_tuple array
  **/
-static vfs_op_tuple *recycle_init(const struct vfs_ops *def_vfs_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));
        vfs_recycle_debug_level = debug_add_class("vfs_recycle_bin");
        if (vfs_recycle_debug_level == -1) {
@@ -102,55 +98,41 @@ static vfs_op_tuple *recycle_init(const 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;
 }
 
+/**
+ * VFS finalization function.
+ *
+ **/
+void vfs_done(connection_struct *conn)
+{
+       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;
@@ -161,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:
@@ -225,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);
 }
@@ -438,35 +389,26 @@ static void recycle_touch(connection_struct *conn, const char *fname)
 /**
  * Check if file should be recycled
  **/
-static int recycle_unlink(connection_struct *conn, const char *file_name)
+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;
                char *temp_name = NULL;
        char *final_name = NULL;
-       const char *base;
+       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;
 
-       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) {
+       file_name = strdup(inname);
+       ALLOC_CHECK(file_name, done);
+
+       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;
@@ -522,13 +464,14 @@ static int recycle_unlink(connection_struct *conn, const char *file_name)
        path_name = (char *)malloc(PATH_MAX);
        ALLOC_CHECK(path_name, done);
        *path_name = '\0';
-       safe_strcpy(path_name, file_name, PATH_MAX - 1);
+       safe_strcpy(path_name, file_name, PATH_MAX);
        base = strrchr(path_name, '/');
        if (base == NULL) {
                base = file_name;
-               safe_strcpy(path_name, "/", PATH_MAX - 1);
+               safe_strcpy(path_name, "/", PATH_MAX);
        }
        else {
+               *base = '\0';
                base++;
        }
 
@@ -552,13 +495,14 @@ static int recycle_unlink(connection_struct *conn, const char *file_name)
                goto done;
        }
 
-       temp_name = (char *)strdup(recbin->repository);
+       temp_name = (char *)malloc(PATH_MAX);
        ALLOC_CHECK(temp_name, done);
+       safe_strcpy(temp_name, recbin->repository, PATH_MAX);
 
        /* see if we need to recreate the original directory structure in the recycle bin */
        if (recbin->keep_dir_tree == True) {
-               safe_strcat(temp_name, "/", PATH_MAX - 1);
-               safe_strcat(temp_name, path_name, PATH_MAX - 1);
+               safe_strcat(temp_name, "/", PATH_MAX);
+               safe_strcat(temp_name, path_name, PATH_MAX);
        }
 
        exist = recycle_directory_exist(conn, temp_name);
@@ -573,10 +517,10 @@ static int recycle_unlink(connection_struct *conn, const char *file_name)
                }
        }
 
-       final_name = NULL;
-       asprintf(&final_name, "%s/%s", temp_name, base);
+       final_name = (char *)malloc(PATH_MAX);
        ALLOC_CHECK(final_name, done);
-       DEBUG(10, ("recycle.bin: recycled file name: %s\n", temp_name));                /* new filename with path */
+       snprintf(final_name, PATH_MAX, "%s/%s", temp_name, base);
+       DEBUG(10, ("recycle.bin: recycled file name%s\n", temp_name));          /* new filename with path */
 
        /* check if we should delete file from recycle bin */
        if (recycle_file_exist(conn, final_name)) {
@@ -607,13 +551,9 @@ static int recycle_unlink(connection_struct *conn, const char *file_name)
                recycle_touch(conn, final_name);
 
 done:
+       SAFE_FREE(file_name);
        SAFE_FREE(path_name);
        SAFE_FREE(temp_name);
        SAFE_FREE(final_name);
        return rc;
 }
-
-int vfs_recycle_init(void)
-{
-       return smb_register_vfs("recycle", recycle_init, SMB_VFS_INTERFACE_VERSION);
-}
index 013ef9ddb79ae9e76de86cf1065005bbc5f0b7e0..5685db74529ca1c2ba61cf82cc7979b601f2605a 100644 (file)
@@ -3,7 +3,7 @@
    NBT netbios routines and daemon - version 2
    Copyright (C) Andrew Tridgell 1994-1998
    Copyright (C) Jeremy Allison 1997-2002
-   Copyright (C) Jelmer Vernooij 2002,2003 (Conversion to popt)
+   Copyright (C) Jelmer Vernooij 2002 (Conversion to popt)
    
    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
@@ -600,9 +600,15 @@ static BOOL open_sockets(BOOL isdaemon, int port)
        {"log-stdout", 'S', POPT_ARG_VAL, &log_stdout, True, "Log to stdout" },
        {"hosts", 'H', POPT_ARG_STRING, dyn_LMHOSTSFILE, 'H', "Load a netbios hosts file"},
        {"port", 'p', POPT_ARG_INT, &global_nmb_port, NMB_PORT, "Listen on the specified port" },
-       POPT_COMMON_SAMBA
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile },
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_socket_options },
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version },
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_netbios_name },
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_log_base },
        { NULL }
        };
+       int opt;
        pstring logfile;
 
   global_nmb_port = NMB_PORT;
@@ -618,7 +624,7 @@ static BOOL open_sockets(BOOL isdaemon, int port)
   fault_setup((void (*)(void *))fault_continue );
 
   /* POSIX demands that signals are inherited. If the invoking process has
-   * these signals masked, we will have problems, as we won't receive them. */
+   * these signals masked, we will have problems, as we won't recieve them. */
   BlockSignals(False, SIGHUP);
   BlockSignals(False, SIGUSR1);
   BlockSignals(False, SIGTERM);
@@ -637,6 +643,9 @@ static BOOL open_sockets(BOOL isdaemon, int port)
 #endif
   pc = poptGetContext("nmbd", argc, argv, long_options, 0);
   
+  while((opt = poptGetNextOpt(pc)) != -1)
+    { }
+
   poptFreeContext(pc);
 
   if ( opt_interactive ) {
index 61c54b373827f628dc5486fa322b965a5e505923..4f621e7008a2e0ce1be9baa15c34fc0519b1d069 100644 (file)
@@ -447,10 +447,9 @@ static BOOL wbinfo_auth(char *username)
                (result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
 
        if (response.data.auth.nt_status)
-               d_printf("error code was %s (0x%x)\nerror messsage was: %s\n", 
+               d_printf("error code was %s (0x%x)\n", 
                         response.data.auth.nt_status_string, 
-                        response.data.auth.nt_status,
-                        response.data.auth.error_string);
+                        response.data.auth.nt_status);
 
         return result == NSS_STATUS_SUCCESS;
 }
@@ -503,10 +502,9 @@ static BOOL wbinfo_auth_crap(char *username)
                (result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
 
        if (response.data.auth.nt_status)
-               d_printf("error code was %s (0x%x)\nerror messsage was: %s\n", 
+               d_printf("error code was %s (0x%x)\n", 
                         response.data.auth.nt_status_string, 
-                        response.data.auth.nt_status,
-                        response.data.auth.error_string);
+                        response.data.auth.nt_status);
 
         return result == NSS_STATUS_SUCCESS;
 }
@@ -713,8 +711,8 @@ int main(int argc, char **argv)
                { "set-auth-user", 'A', POPT_ARG_STRING, &string_arg, OPT_SET_AUTH_USER, "Store user and password used by winbindd (root only)", "user%password" },
                { "get-auth-user", 0, POPT_ARG_NONE, NULL, OPT_GET_AUTH_USER, "Retrieve user and password used by winbindd (root only)", NULL },
                { "ping", 'p', POPT_ARG_NONE, 0, 'p', "Ping winbindd to see if it is alive" },
-               POPT_COMMON_VERSION
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { 0, 0, 0, 0 }
        };
 
        /* Samba client initialisation */
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c06fbc7d4b8ed3eb7704d7f754cc633efc09a059 100644 (file)
@@ -0,0 +1,370 @@
+
+#include <stdlib.h>
+#include <string.h>
+#include <usersec.h>
+#include <errno.h>
+
+#include "winbind_client.h"
+
+#define MAX_GETPWENT_USERS 250
+#define MAX_GETGRENT_USERS 250
+
+BOOL next_token(char **ptr,char *buff,char *sep, size_t bufsize)
+{
+       char *s;
+       BOOL quoted;
+       size_t len=1;
+
+       if (!ptr) return(False);
+
+       s = *ptr;
+
+       /* default to simple separators */
+       if (!sep) sep = " \t\n\r";
+
+       /* find the first non sep char */
+       while (*s && strchr(sep,*s)) s++;
+       
+       /* nothing left? */
+       if (! *s) return(False);
+       
+       /* copy over the token */
+       for (quoted = False; len < bufsize && *s && (quoted || !strchr(sep,*s)); s++) {
+               if (*s == '\"') {
+                       quoted = !quoted;
+               } else {
+                       len++;
+                       *buff++ = *s;
+               }
+       }
+       
+       *ptr = (*s) ? s+1 : s;  
+       *buff = 0;
+       
+       return(True);
+}
+
+static struct passwd *fill_pwent(struct winbindd_pw *pw)
+{
+       struct passwd *result;
+
+       if (!(result = malloc(sizeof(struct passwd)))) {
+               return NULL; 
+       }
+       memset(result, 0, sizeof(struct passwd));
+
+       /* User name */
+
+       if ((result->pw_name = malloc(strlen(pw->pw_name) + 1)) == NULL) {
+
+               /* Out of memory */
+               
+               return NULL;
+       }
+       
+       strcpy(result->pw_name, pw->pw_name);
+
+       /* Password */
+
+       if ((result->pw_passwd = malloc(strlen(pw->pw_passwd) + 1)) == NULL) {
+
+               /* Out of memory */
+
+               return NULL;
+       }
+       
+       strcpy(result->pw_passwd, pw->pw_passwd);
+        
+       /* [ug]id */
+
+       result->pw_uid = pw->pw_uid;
+       result->pw_gid = pw->pw_gid;
+
+       /* GECOS */
+
+       if ((result->pw_gecos = malloc(strlen(pw->pw_gecos) + 1)) == NULL) {
+
+               /* Out of memory */
+
+               return NULL;
+       }
+
+       strcpy(result->pw_gecos, pw->pw_gecos);
+       
+       /* Home directory */
+       
+       if ((result->pw_dir = malloc(strlen(pw->pw_dir) + 1)) == NULL) {
+
+               /* Out of memory */
+
+               return NULL;
+       }
+
+       strcpy(result->pw_dir, pw->pw_dir);
+
+       /* Logon shell */
+       
+       if ((result->pw_shell = malloc(strlen(pw->pw_shell) + 1)) == NULL) {
+               
+               /* Out of memory */
+
+               return NULL;
+       }
+       
+       strcpy(result->pw_shell, pw->pw_shell);
+
+       return result;
+}
+
+static struct group *fill_grent(struct winbindd_gr *gr, char *gr_mem)
+{
+       fstring name;
+       int i;
+       char *tst;
+       struct group *result;
+       
+       if (!(result = malloc(sizeof(struct group)))) {
+               return NULL; 
+       }
+       memset(result, 0, sizeof(struct group));
+
+       /* Group name */
+
+       if ((result->gr_name = malloc(strlen(gr->gr_name) + 1)) == NULL) {
+
+               /* Out of memory */
+
+               return NULL;
+       }
+
+       strcpy(result->gr_name, gr->gr_name);
+
+       /* Password */
+
+       if ((result->gr_passwd = malloc(strlen(gr->gr_passwd) + 1)) == NULL) {
+
+               /* Out of memory */
+               
+               return NULL;
+       }
+
+       strcpy(result->gr_passwd, gr->gr_passwd);
+
+       /* gid */
+
+       result->gr_gid = gr->gr_gid;
+
+       /* Group membership */
+
+       if ((gr->num_gr_mem < 0) || !gr_mem) {
+               gr->num_gr_mem = 0;
+       }
+       
+       if (gr->num_gr_mem == 0) {
+
+               /* Group is empty */
+               
+               *(result->gr_mem) = NULL;
+               return result;
+       }
+       
+       if ((tst = malloc(((gr->num_gr_mem + 1) * sizeof(char *)))) == NULL) {
+
+               /* Out of memory */
+
+               return NULL;
+       }
+       result->gr_mem = (char **)tst;
+
+       /* Start looking at extra data */
+
+       i = 0;
+
+       while(next_token((char **)&gr_mem, name, ",", sizeof(fstring))) {
+        
+               /* Allocate space for member */
+        
+               if (((result->gr_mem)[i] = 
+                    malloc(strlen(name) + 1)) == NULL) {
+            
+                       /* Out of memory */
+            
+                       return NULL;
+               }        
+        
+               strcpy((result->gr_mem)[i], name);
+               i++;
+       }
+
+       /* Terminate list */
+
+       (result->gr_mem)[i] = NULL;
+
+       return result;
+}
+
+
+
+static struct group *
+wb_aix_getgrgid (gid_t gid)
+{
+/* take a group id and return a filled struct group */
+       
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+       
+       request.data.gid = gid;
+
+       ret = winbindd_request(WINBINDD_GETGRGID, &request, &response);
+
+       if (ret == NSS_STATUS_SUCCESS) {
+               return fill_grent(&response.data.gr, response.extra_data);
+       }
+       return NULL;
+}
+
+static struct group *
+wb_aix_getgrnam (const char *name)
+{
+/* take a group name and return a filled struct group */
+
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+       
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+
+       strncpy(request.data.groupname, name, 
+               sizeof(request.data.groupname));
+       request.data.groupname
+               [sizeof(request.data.groupname) - 1] = '\0';
+
+       ret = winbindd_request(WINBINDD_GETGRNAM, &request, &response);
+
+       if (ret == NSS_STATUS_SUCCESS) {
+               return fill_grent(&response.data.gr, response.extra_data);
+       }
+       return NULL;    
+}
+
+static char *
+wb_aix_getgrset (const char *user)
+{
+/*     take a username and return a string containing a comma-separated list of 
+       group id numbers to which the user belongs */
+       
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+       
+       char *tmpbuf, *result;
+       int i, idx = 0;
+       
+       strncpy(request.data.username, user, 
+               sizeof(request.data.username) - 1);
+       request.data.username
+               [sizeof(request.data.username) - 1] = '\0';
+
+       ret = winbindd_request(WINBINDD_GETGROUPS, &request, &response);
+       
+       if (ret == NSS_STATUS_SUCCESS) {
+               int num_gids = response.data.num_entries;
+               gid_t *gid_list = (gid_t *)response.extra_data;
+               
+               /* allocate a space large enough to contruct the string */
+               if (!(tmpbuf = malloc(num_gids*12))) {
+                       return NULL;
+               }
+               idx += sprintf(tmpbuf, "%d", gid_list[0]);
+               for (i = 1; i < num_gids; i++) {
+                       tmpbuf[idx++] = ',';
+                       idx += sprintf(tmpbuf+idx, "%d", gid_list[i]);  
+               }
+               tmpbuf[idx] = '\0';
+               if (!(result = malloc(idx+1))) {
+                       /*      allocate a string the right size to return, but
+                               if that fails may as well return our working buffer
+                               because it contains the same thing */
+                       return tmpbuf;
+               }
+               strcpy(result, tmpbuf);
+               free(tmpbuf);
+               return result;
+       }
+       return NULL;
+}
+
+static struct passwd *
+wb_aix_getpwuid (uid_t uid)
+{
+/* take a uid and return a filled struct passwd */
+       
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+       
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+               
+       request.data.uid = uid;
+       
+       ret = winbindd_request(WINBINDD_GETPWUID, &request, &response);
+       
+       if (ret == NSS_STATUS_SUCCESS) {
+               return fill_pwent(&response.data.pw);
+       }
+       return NULL;    
+}
+
+static struct passwd *
+wb_aix_getpwnam (const char *name)
+{
+/* take a username and return a filled struct passwd */
+
+       NSS_STATUS ret;
+       struct winbindd_response response;
+       struct winbindd_request request;
+       
+       ZERO_STRUCT(response);
+       ZERO_STRUCT(request);
+
+       strncpy(request.data.username, name, 
+               sizeof(request.data.username) - 1);
+       request.data.username
+               [sizeof(request.data.username) - 1] = '\0';
+
+       ret = winbindd_request(WINBINDD_GETPWNAM, &request, &response);
+
+       if (ret == NSS_STATUS_SUCCESS) {
+               return fill_pwent(&response.data.pw);
+       }
+       return NULL;
+}
+
+int
+wb_aix_init (struct secmethod_table *methods)
+{
+       memset(methods, 0, sizeof(*methods));
+
+       /* identification methods */
+    
+       methods->method_getgrgid = wb_aix_getgrgid;
+       methods->method_getgrnam = wb_aix_getgrnam;
+       methods->method_getgrset = wb_aix_getgrset;
+       methods->method_getpwnam = wb_aix_getpwnam;
+       methods->method_getpwuid = wb_aix_getpwuid;
+    
+       /* support methods 
+       methods->method_open = wb_aix_open;
+       methods->method_close = wb_aix_close;
+       */
+       
+       return AUTH_SUCCESS;
+}
+
+
index cd72a4f5721891595424de2bd781072d6587a6b8..3b91f2d6af977aea5b396b58512690d987ab46cb 100644 (file)
@@ -5,7 +5,6 @@
 
    Copyright (C) by Tim Potter 2000-2002
    Copyright (C) Andrew Tridgell 2002
-   Copyright (C) Jelmer Vernooij 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
@@ -32,6 +31,7 @@ BOOL opt_dual_daemon = False;
 static BOOL reload_services_file(BOOL test)
 {
        BOOL ret;
+       pstring logfile;
 
        if (lp_loaded()) {
                pstring fname;
@@ -43,9 +43,15 @@ static BOOL reload_services_file(BOOL test)
                }
        }
 
+       snprintf(logfile, sizeof(logfile), "%s/log.winbindd", dyn_LOGFILEBASE);
+       lp_set_logfile(logfile);
+
        reopen_logs();
        ret = lp_load(dyn_CONFIGFILE,False,False,True);
 
+       snprintf(logfile, sizeof(logfile), "%s/log.winbindd", dyn_LOGFILEBASE);
+       lp_set_logfile(logfile);
+
        reopen_logs();
        load_interfaces();
 
@@ -806,23 +812,27 @@ BOOL winbind_setup_common(void)
 
 struct winbindd_state server_state;   /* Server state information */
 
-int main(int argc, char **argv)
+
+static void usage(void)
 {
+       printf("Usage: winbindd [options]\n");
+        printf("\t-F                daemon in foreground mode\n");
+        printf("\t-S                log to stdout\n");
+       printf("\t-i                interactive mode\n");
+       printf("\t-B                dual daemon mode\n");
+       printf("\t-n                disable cacheing\n");
+       printf("\t-d level          set debug level\n");
+       printf("\t-s configfile     choose smb.conf location\n");
+       printf("\t-h                show this help message\n");
+}
+
+ int main(int argc, char **argv)
+{
+       extern BOOL AllowDebugChange;
        pstring logfile;
-       static BOOL interactive = False;
-       static BOOL Fork = True;
-       static BOOL log_stdout = False;
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-               { "stdout", 'S', POPT_ARG_VAL, &log_stdout, True, "Log to stdout" },
-               { "foreground", 'F', POPT_ARG_VAL, &Fork, False, "Daemon in foreground mode" },
-               { "interactive", 'i', POPT_ARG_NONE, NULL, 'i', "Interactive mode" },
-               { "dual-daemon", 'B', POPT_ARG_VAL, &opt_dual_daemon, True, "Dual daemon mode" },
-               { "no-caching", 'n', POPT_ARG_VAL, &opt_nocache, False, "Disable caching" },
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
-       };
-       poptContext pc;
+       BOOL interactive = False;
+       BOOL Fork = True;
+       BOOL log_stdout = False;
        int opt;
 
        /* glibc (?) likes to print "User defined signal 1" and exit if a
@@ -833,12 +843,13 @@ int main(int argc, char **argv)
 
        fault_setup((void (*)(void *))fault_quit );
 
+       snprintf(logfile, sizeof(logfile), "%s/log.winbindd", dyn_LOGFILEBASE);
+       lp_set_logfile(logfile);
+
        /* Initialise for running in non-root mode */
 
        sec_init();
 
-       set_remote_machine_name("winbindd", False);
-
        /* Set environment variable so we don't recursively call ourselves.
           This may also be useful interactively. */
 
@@ -846,24 +857,56 @@ int main(int argc, char **argv)
 
        /* Initialise samba/rpc client stuff */
 
-       pc = poptGetContext("winbindd", argc, (const char **)argv, long_options,
-                                               POPT_CONTEXT_KEEP_FIRST);
-
-       while ((opt = poptGetNextOpt(pc)) != -1) {
+       while ((opt = getopt(argc, argv, "FSid:s:nhB")) != EOF) {
                switch (opt) {
+
+               case 'F':
+                       Fork = False;
+                       break;
+               case 'S':
+                       log_stdout = True;
+                       break;
                        /* Don't become a daemon */
                case 'i':
                        interactive = True;
                        log_stdout = True;
                        Fork = False;
                        break;
+
+                       /* dual daemon system */
+               case 'B':
+                       opt_dual_daemon = True;
+                       break;
+
+                       /* disable cacheing */
+               case 'n':
+                       opt_nocache = True;
+                       break;
+
+                       /* Run with specified debug level */
+               case 'd':
+                       DEBUGLEVEL = atoi(optarg);
+                       AllowDebugChange = False;
+                       break;
+
+                       /* Load a different smb.conf file */
+               case 's':
+                       pstrcpy(dyn_CONFIGFILE,optarg);
+                       break;
+
+               case 'h':
+                       usage();
+                       exit(0);
+
+               default:
+                       printf("Unknown option %c\n", (char)opt);
+                       exit(1);
                }
        }
 
-
        if (log_stdout && Fork) {
                printf("Can't log to stdout (-S) unless daemon is in foreground +(-F) or interactive (-i)\n");
-               poptPrintUsage(pc, stderr, 0);
+               usage();
                exit(1);
        }
 
@@ -914,7 +957,6 @@ int main(int argc, char **argv)
                DEBUG(0, ("unable to initialise messaging system\n"));
                exit(1);
        }
-       poptFreeContext(pc);
 
        register_msg_pool_usage();
        message_register(MSG_REQ_TALLOC_USAGE, return_all_talloc_info);
@@ -923,7 +965,6 @@ int main(int argc, char **argv)
 
        process_loop();
 
-       trustdom_cache_shutdown();
        uni_group_cache_shutdown();
        return 0;
 }
index 192b0588714262955a8261a113e79fa6f1aab508..f6b0e7354300a11ceacfc1a813fe26593807a3be 100644 (file)
@@ -4,7 +4,6 @@
    Winbind daemon for ntdom nss module
 
    Copyright (C) Tim Potter 2000
-   Copyright (C) Anthony Liguori 2003
    
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
@@ -66,8 +65,7 @@ struct getent_state {
 struct getpwent_user {
        fstring name;                        /* Account name */
        fstring gecos;                       /* User information */
-       DOM_SID user_sid;                    /* NT user and primary group SIDs */
-       DOM_SID group_sid;
+       uint32 user_rid, group_rid;          /* NT user and group rids */
 };
 
 /* Server state structure */
@@ -85,8 +83,8 @@ extern struct winbindd_state server_state;  /* Server information */
 typedef struct {
        char *acct_name;
        char *full_name;
-       DOM_SID *user_sid;                    /* NT user and primary group SIDs */
-       DOM_SID *group_sid;
+       uint32 user_rid;
+       uint32 group_rid; /* primary group */
 } WINBIND_USERINFO;
 
 /* Structures to hold per domain information */
@@ -142,7 +140,6 @@ struct winbindd_methods {
                                    
        /* convert one user or group name to a sid */
        NTSTATUS (*name_to_sid)(struct winbindd_domain *domain,
-                               TALLOC_CTX *mem_ctx,
                                const char *name,
                                DOM_SID *sid,
                                enum SID_NAME_USE *type);
@@ -154,10 +151,10 @@ struct winbindd_methods {
                                char **name,
                                enum SID_NAME_USE *type);
 
-       /* lookup user info for a given SID */
+       /* lookup user info for a given rid */
        NTSTATUS (*query_user)(struct winbindd_domain *domain, 
                               TALLOC_CTX *mem_ctx, 
-                              DOM_SID *user_sid,
+                              uint32 user_rid, 
                               WINBIND_USERINFO *user_info);
 
        /* lookup all groups that a user is a member of. The backend
@@ -165,15 +162,14 @@ struct winbindd_methods {
           function */
        NTSTATUS (*lookup_usergroups)(struct winbindd_domain *domain,
                                      TALLOC_CTX *mem_ctx,
-                                     DOM_SID *user_sid,
-                                     uint32 *num_groups, DOM_SID ***user_gids);
+                                     uint32 user_rid, 
+                                     uint32 *num_groups, uint32 **user_gids);
 
        /* find all members of the group with the specified group_rid */
        NTSTATUS (*lookup_groupmem)(struct winbindd_domain *domain,
                                    TALLOC_CTX *mem_ctx,
-                                   DOM_SID *group_sid,
-                                   uint32 *num_names, 
-                                   DOM_SID ***sid_mem, char ***names, 
+                                   uint32 group_rid, uint32 *num_names, 
+                                   uint32 **rid_mem, char ***names, 
                                    uint32 **name_types);
 
        /* return the current global sequence number */
@@ -202,23 +198,6 @@ typedef struct {
        POLICY_HND pol;
 } CLI_POLICY_HND;
 
-/* Filled out by IDMAP backends */
-struct winbindd_idmap_methods {
-  /* Called when backend is first loaded */
-  BOOL (*init)(void);
-
-  BOOL (*get_sid_from_uid)(uid_t uid, DOM_SID *sid);
-  BOOL (*get_sid_from_gid)(gid_t gid, DOM_SID *sid);
-
-  BOOL (*get_uid_from_sid)(DOM_SID *sid, uid_t *uid);
-  BOOL (*get_gid_from_sid)(DOM_SID *sid, gid_t *gid);
-
-  /* Called when backend is unloaded */
-  BOOL (*close)(void);
-  /* Called to dump backend status */
-  void (*status)(void);
-};
-
 #include "winbindd_proto.h"
 
 #include "rpc_parse.h"
index de3757aa44c01b6fea48c41ca7a736016d2596a8..f6fc3a8d6c9cf006ab2adba91e4d94351efd55d9 100644 (file)
@@ -4,7 +4,6 @@
    Winbind ADS backend functions
 
    Copyright (C) Andrew Tridgell 2001
-   Copyright (C) Andrew Bartlett <abartlet@samba.org> 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
@@ -89,6 +88,13 @@ static ADS_STRUCT *ads_cached_connection(struct winbindd_domain *domain)
        return ads;
 }
 
+/* useful utility */
+static void sid_from_rid(struct winbindd_domain *domain, uint32 rid, DOM_SID *sid)
+{
+       sid_copy(sid, &domain->sid);
+       sid_append_rid(sid, rid);
+}
+
 
 /* Query display info for a realm. This is the basic user list fn */
 static NTSTATUS query_user_list(struct winbindd_domain *domain,
@@ -137,9 +143,7 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
        for (msg = ads_first_entry(ads, res); msg; msg = ads_next_entry(ads, msg)) {
                char *name, *gecos;
                DOM_SID sid;
-               DOM_SID *sid2;
-               DOM_SID *group_sid;
-               uint32 group;
+               uint32 rid, group;
                uint32 atype;
 
                if (!ads_pull_uint32(ads, msg, "sAMAccountType", &atype) ||
@@ -159,20 +163,15 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
                        continue;
                }
 
-               sid2 = talloc(mem_ctx, sizeof(*sid2));
-               if (!sid2) {
-                       status = NT_STATUS_NO_MEMORY;
-                       goto done;
+               if (!sid_peek_check_rid(&domain->sid, &sid, &rid)) {
+                       DEBUG(1,("No rid for %s !?\n", name));
+                       continue;
                }
 
-               sid_copy(sid2, &sid);
-
-               group_sid = rid_to_talloced_sid(domain, mem_ctx, group);
-
                (*info)[i].acct_name = name;
                (*info)[i].full_name = gecos;
-               (*info)[i].user_sid = sid2;
-               (*info)[i].group_sid = group_sid;
+               (*info)[i].user_rid = rid;
+               (*info)[i].group_rid = group;
                i++;
        }
 
@@ -297,7 +296,6 @@ static NTSTATUS enum_local_groups(struct winbindd_domain *domain,
 
 /* convert a single name to a sid in a domain */
 static NTSTATUS name_to_sid(struct winbindd_domain *domain,
-                           TALLOC_CTX *mem_ctx,
                            const char *name,
                            DOM_SID *sid,
                            enum SID_NAME_USE *type)
@@ -330,13 +328,13 @@ static NTSTATUS sid_to_name(struct winbindd_domain *domain,
 }
 
 
-/* convert a DN to a name, SID and name type 
+/* convert a DN to a name, rid and name type 
    this might become a major speed bottleneck if groups have
    lots of users, in which case we could cache the results
 */
 static BOOL dn_lookup(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx,
                      const char *dn,
-                     char **name, uint32 *name_type, DOM_SID *sid)
+                     char **name, uint32 *name_type, uint32 *rid)
 {
        char *exp;
        void *res = NULL;
@@ -344,6 +342,7 @@ static BOOL dn_lookup(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx,
                               "objectSid", "sAMAccountType", NULL};
        ADS_STATUS rc;
        uint32 atype;
+       DOM_SID sid;
        char *escaped_dn = escape_ldap_string_alloc(dn);
 
        if (!escaped_dn) {
@@ -366,7 +365,8 @@ static BOOL dn_lookup(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx,
        }
        (*name_type) = ads_atype_map(atype);
 
-       if (!ads_pull_sid(ads, res, "objectSid", sid)) {
+       if (!ads_pull_sid(ads, res, "objectSid", &sid) || 
+           !sid_peek_rid(&sid, rid)) {
                goto failed;
        }
 
@@ -381,158 +381,76 @@ failed:
 /* Lookup user information from a rid */
 static NTSTATUS query_user(struct winbindd_domain *domain, 
                           TALLOC_CTX *mem_ctx, 
-                          DOM_SID *sid, 
+                          uint32 user_rid, 
                           WINBIND_USERINFO *info)
 {
        ADS_STRUCT *ads = NULL;
        const char *attrs[] = {"userPrincipalName", 
                               "sAMAccountName",
-                              "name", 
+                              "name", "objectSid", 
                               "primaryGroupID", NULL};
        ADS_STATUS rc;
        int count;
        void *msg = NULL;
        char *exp;
+       DOM_SID sid;
        char *sidstr;
-       uint32 group_rid;
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
-       DOM_SID *sid2;
-       fstring sid_string;
 
        DEBUG(3,("ads: query_user\n"));
 
+       sid_from_rid(domain, user_rid, &sid);
+
        ads = ads_cached_connection(domain);
        if (!ads) goto done;
 
-       sidstr = sid_binstring(sid);
+       sidstr = sid_binstring(&sid);
        asprintf(&exp, "(objectSid=%s)", sidstr);
        rc = ads_search_retry(ads, &msg, exp, attrs);
        free(exp);
        free(sidstr);
        if (!ADS_ERR_OK(rc)) {
-               DEBUG(1,("query_user(sid=%s) ads_search: %s\n", sid_to_string(sid_string, sid), ads_errstr(rc)));
+               DEBUG(1,("query_user(rid=%d) ads_search: %s\n", user_rid, ads_errstr(rc)));
                goto done;
        }
 
        count = ads_count_replies(ads, msg);
        if (count != 1) {
-               DEBUG(1,("query_user(sid=%s): Not found\n", sid_to_string(sid_string, sid)));
+               DEBUG(1,("query_user(rid=%d): Not found\n", user_rid));
                goto done;
        }
 
        info->acct_name = ads_pull_username(ads, mem_ctx, msg);
        info->full_name = ads_pull_string(ads, mem_ctx, msg, "name");
-
-       if (!ads_pull_uint32(ads, msg, "primaryGroupID", &group_rid)) {
-               DEBUG(1,("No primary group for %s !?\n", sid_to_string(sid_string, sid)));
+       if (!ads_pull_sid(ads, msg, "objectSid", &sid)) {
+               DEBUG(1,("No sid for %d !?\n", user_rid));
                goto done;
        }
-       
-       sid2 = talloc(mem_ctx, sizeof(*sid2));
-       if (!sid2) {
-               status = NT_STATUS_NO_MEMORY;
+       if (!ads_pull_uint32(ads, msg, "primaryGroupID", &info->group_rid)) {
+               DEBUG(1,("No primary group for %d !?\n", user_rid));
                goto done;
        }
-       sid_copy(sid2, sid);
-       
-       info->user_sid = sid2;
-
-       info->group_sid = rid_to_talloced_sid(domain, mem_ctx, group_rid);
-
-       status = NT_STATUS_OK;
-
-       DEBUG(3,("ads query_user gave %s\n", info->acct_name));
-done:
-       if (msg) ads_msgfree(ads, msg);
-
-       return status;
-}
-
-/* Lookup groups a user is a member of - alternate method, for when
-   tokenGroups are not available. */
-static NTSTATUS lookup_usergroups_alt(struct winbindd_domain *domain,
-                                     TALLOC_CTX *mem_ctx,
-                                     const char *user_dn, 
-                                     DOM_SID *primary_group,
-                                     uint32 *num_groups, DOM_SID ***user_gids)
-{
-       ADS_STATUS rc;
-       NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
-       int count;
-       void *res = NULL;
-       void *msg = NULL;
-       char *exp;
-       ADS_STRUCT *ads;
-       const char *group_attrs[] = {"objectSid", NULL};
-
-       ads = ads_cached_connection(domain);
-       if (!ads) goto done;
-
-       /* buggy server, no tokenGroups.  Instead lookup what groups this user
-          is a member of by DN search on member*/
-       if (asprintf(&exp, "(&(member=%s)(objectClass=group))", user_dn) == -1) {
-               DEBUG(1,("lookup_usergroups(dn=%s) asprintf failed!\n", user_dn));
-               return NT_STATUS_NO_MEMORY;
-       }
        
-       rc = ads_search_retry(ads, &res, exp, group_attrs);
-       free(exp);
-       
-       if (!ADS_ERR_OK(rc)) {
-               DEBUG(1,("lookup_usergroups ads_search member=%s: %s\n", user_dn, ads_errstr(rc)));
-               return ads_ntstatus(rc);
-       }
-       
-       count = ads_count_replies(ads, res);
-       if (count == 0) {
-               DEBUG(5,("lookup_usergroups: No supp groups found\n"));
-               
-               status = ads_ntstatus(rc);
+       if (!sid_peek_check_rid(&domain->sid,&sid, &info->user_rid)) {
+               DEBUG(1,("No rid for %d !?\n", user_rid));
                goto done;
        }
-       
-       (*user_gids) = talloc_zero(mem_ctx, sizeof(**user_gids) * (count + 1));
-       (*user_gids)[0] = primary_group;
-       
-       *num_groups = 1;
-       
-       for (msg = ads_first_entry(ads, res); msg; msg = ads_next_entry(ads, msg)) {
-               DOM_SID group_sid;
-               
-               if (!ads_pull_sid(ads, msg, "objectSid", &group_sid)) {
-                       DEBUG(1,("No sid for this group ?!?\n"));
-                       continue;
-               }
-               
-               if (sid_equal(&group_sid, primary_group)) continue;
-               
-               (*user_gids)[*num_groups] = talloc(mem_ctx, sizeof(***user_gids));
-               if (!(*user_gids)[*num_groups]) {
-                       status = NT_STATUS_NO_MEMORY;
-                       goto done;
-               }
-
-               sid_copy((*user_gids)[*num_groups], &group_sid);
-
-               (*num_groups)++;
-                       
-       }
 
        status = NT_STATUS_OK;
 
-       DEBUG(3,("ads lookup_usergroups (alt) for dn=%s\n", user_dn));
+       DEBUG(3,("ads query_user gave %s\n", info->acct_name));
 done:
-       if (res) ads_msgfree(ads, res);
        if (msg) ads_msgfree(ads, msg);
 
        return status;
 }
 
+
 /* Lookup groups a user is a member of. */
 static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
                                  TALLOC_CTX *mem_ctx,
-                                 DOM_SID *sid, 
-                                 uint32 *num_groups, DOM_SID ***user_gids)
+                                 uint32 user_rid, 
+                                 uint32 *num_groups, uint32 **user_gids)
 {
        ADS_STRUCT *ads = NULL;
        const char *attrs[] = {"distinguishedName", NULL};
@@ -544,94 +462,63 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
        char *user_dn;
        DOM_SID *sids;
        int i;
-       DOM_SID *primary_group;
-       uint32 primary_group_rid;
+       uint32 primary_group;
+       DOM_SID sid;
        char *sidstr;
-       fstring sid_string;
        NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 
-       DEBUG(3,("ads: lookup_usergroups\n"));
        *num_groups = 0;
 
+       DEBUG(3,("ads: lookup_usergroups\n"));
+
+       (*num_groups) = 0;
+
+       sid_from_rid(domain, user_rid, &sid);
+
        ads = ads_cached_connection(domain);
        if (!ads) goto done;
 
-       if (!(sidstr = sid_binstring(sid))) {
-               DEBUG(1,("lookup_usergroups(sid=%s) sid_binstring returned NULL\n", sid_to_string(sid_string, sid)));
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-       if (asprintf(&exp, "(objectSid=%s)", sidstr) == -1) {
-               free(sidstr);
-               DEBUG(1,("lookup_usergroups(sid=%s) asprintf failed!\n", sid_to_string(sid_string, sid)));
-               status = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
+       sidstr = sid_binstring(&sid);
+       asprintf(&exp, "(objectSid=%s)", sidstr);
        rc = ads_search_retry(ads, &msg, exp, attrs);
        free(exp);
        free(sidstr);
-
        if (!ADS_ERR_OK(rc)) {
-               DEBUG(1,("lookup_usergroups(sid=%s) ads_search: %s\n", sid_to_string(sid_string, sid), ads_errstr(rc)));
+               DEBUG(1,("lookup_usergroups(rid=%d) ads_search: %s\n", user_rid, ads_errstr(rc)));
                goto done;
        }
 
        user_dn = ads_pull_string(ads, mem_ctx, msg, "distinguishedName");
-       if (!user_dn) {
-               DEBUG(1,("lookup_usergroups(sid=%s) ads_search did not return a a distinguishedName!\n", sid_to_string(sid_string, sid)));
-               if (msg) ads_msgfree(ads, msg);
-               goto done;
-       }
 
        if (msg) ads_msgfree(ads, msg);
 
        rc = ads_search_retry_dn(ads, &msg, user_dn, attrs2);
        if (!ADS_ERR_OK(rc)) {
-               DEBUG(1,("lookup_usergroups(sid=%s) ads_search tokenGroups: %s\n", sid_to_string(sid_string, sid), ads_errstr(rc)));
+               DEBUG(1,("lookup_usergroups(rid=%d) ads_search tokenGroups: %s\n", user_rid, ads_errstr(rc)));
                goto done;
        }
 
-       if (!ads_pull_uint32(ads, msg, "primaryGroupID", &primary_group_rid)) {
-               DEBUG(1,("%s: No primary group for sid=%s !?\n", domain->name, sid_to_string(sid_string, sid)));
+       if (!ads_pull_uint32(ads, msg, "primaryGroupID", &primary_group)) {
+               DEBUG(1,("%s: No primary group for rid=%d !?\n", domain->name, user_rid));
                goto done;
        }
 
-       primary_group = rid_to_talloced_sid(domain, mem_ctx, primary_group_rid);
-
-       count = ads_pull_sids(ads, mem_ctx, msg, "tokenGroups", &sids);
-
-       if (msg) ads_msgfree(ads, msg);
+       count = ads_pull_sids(ads, mem_ctx, msg, "tokenGroups", &sids) + 1;
+       (*user_gids) = (uint32 *)talloc_zero(mem_ctx, sizeof(uint32) * count);
+       (*user_gids)[(*num_groups)++] = primary_group;
 
-       /* there must always be at least one group in the token, 
-          unless we are talking to a buggy Win2k server */
-       if (count == 0) {
-               return lookup_usergroups_alt(domain, mem_ctx, user_dn, 
-                                            primary_group,
-                                            num_groups, user_gids);
-       }
-
-       (*user_gids) = talloc_zero(mem_ctx, sizeof(**user_gids) * (count + 1));
-       (*user_gids)[0] = primary_group;
-       
-       *num_groups = 1;
-       
-       for (i=0;i<count;i++) {
-               if (sid_equal(&sids[i], primary_group)) continue;
-               
-               (*user_gids)[*num_groups] = talloc(mem_ctx, sizeof(***user_gids));
-               if (!(*user_gids)[*num_groups]) {
-                       status = NT_STATUS_NO_MEMORY;
-                       goto done;
-               }
-
-               sid_copy((*user_gids)[*num_groups], &sids[i]);
+       for (i=1;i<count;i++) {
+               uint32 rid;
+               if (!sid_peek_check_rid(&domain->sid, &sids[i-1], &rid)) continue;
+               (*user_gids)[*num_groups] = rid;
                (*num_groups)++;
        }
 
        status = NT_STATUS_OK;
-       DEBUG(3,("ads lookup_usergroups for sid=%s\n", sid_to_string(sid_string, sid)));
+       DEBUG(3,("ads lookup_usergroups for rid=%d\n", user_rid));
 done:
+       if (msg) ads_msgfree(ads, msg);
+
        return status;
 }
 
@@ -640,10 +527,11 @@ done:
  */
 static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                                TALLOC_CTX *mem_ctx,
-                               DOM_SID *group_sid, uint32 *num_names, 
-                               DOM_SID ***sid_mem, char ***names, 
+                               uint32 group_rid, uint32 *num_names, 
+                               uint32 **rid_mem, char ***names, 
                                uint32 **name_types)
 {
+       DOM_SID group_sid;
        ADS_STATUS rc;
        int count;
        void *res=NULL;
@@ -654,14 +542,14 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
        const char *attrs[] = {"member", NULL};
        char **members;
        int i, num_members;
-       fstring sid_string;
 
        *num_names = 0;
 
        ads = ads_cached_connection(domain);
        if (!ads) goto done;
 
-       sidstr = sid_binstring(group_sid);
+       sid_from_rid(domain, group_rid, &group_sid);
+       sidstr = sid_binstring(&group_sid);
 
        /* search for all members of the group */
        asprintf(&exp, "(objectSid=%s)",sidstr);
@@ -693,30 +581,24 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
        for (i=0;members[i];i++) /* noop */ ;
        num_members = i;
 
-       (*sid_mem) = talloc_zero(mem_ctx, sizeof(**sid_mem) * num_members);
-       (*name_types) = talloc_zero(mem_ctx, sizeof(**name_types) * num_members);
-       (*names) = talloc_zero(mem_ctx, sizeof(**names) * num_members);
+       (*rid_mem) = talloc_zero(mem_ctx, sizeof(uint32) * num_members);
+       (*name_types) = talloc_zero(mem_ctx, sizeof(uint32) * num_members);
+       (*names) = talloc_zero(mem_ctx, sizeof(char *) * num_members);
 
        for (i=0;i<num_members;i++) {
-               uint32 name_type;
+               uint32 name_type, rid;
                char *name;
-               DOM_SID sid;
 
-               if (dn_lookup(ads, mem_ctx, members[i], &name, &name_type, &sid)) {
+               if (dn_lookup(ads, mem_ctx, members[i], &name, &name_type, &rid)) {
                    (*names)[*num_names] = name;
                    (*name_types)[*num_names] = name_type;
-                   (*sid_mem)[*num_names] = talloc(mem_ctx, sizeof(***sid_mem));
-                   if (!(*sid_mem)[*num_names]) {
-                           status = NT_STATUS_NO_MEMORY;
-                           goto done;
-                   }
-                   sid_copy((*sid_mem)[*num_names], &sid);
+                   (*rid_mem)[*num_names] = rid;
                    (*num_names)++;
                }
        }       
 
        status = NT_STATUS_OK;
-       DEBUG(3,("ads lookup_groupmem for sid=%s\n", sid_to_string(sid_string, group_sid)));
+       DEBUG(3,("ads lookup_groupmem for rid=%d\n", group_rid));
 done:
        if (res) ads_msgfree(ads, res);
 
index 5eabcfca208b14aefc7445e909983b7a6de75a09..6ba1d48f5af60529dd42a26d43a96bae5eac3ebc 100644 (file)
@@ -192,23 +192,6 @@ static char *centry_string(struct cache_entry *centry, TALLOC_CTX *mem_ctx)
        return ret;
 }
 
-/* pull a string from a cache entry, using the supplied
-   talloc context 
-*/
-static DOM_SID *centry_sid(struct cache_entry *centry, TALLOC_CTX *mem_ctx)
-{
-       DOM_SID *sid;
-       char *sid_string;
-       sid = talloc(mem_ctx, sizeof(*sid));
-       if (!sid) return NULL;
-       
-       sid_string = centry_string(centry, mem_ctx);
-       if (!string_to_sid(sid, sid_string)) {
-               return NULL;
-       }
-       return sid;
-}
-
 /* the server is considered down if it can't give us a sequence number */
 static BOOL wcache_server_down(struct winbindd_domain *domain)
 {
@@ -275,9 +258,6 @@ static BOOL centry_expired(struct winbindd_domain *domain, struct cache_entry *c
   fetch an entry from the cache, with a varargs key. auto-fetch the sequence
   number and return status
 */
-static struct cache_entry *wcache_fetch(struct winbind_cache *cache, 
-                                       struct winbindd_domain *domain,
-                                       const char *format, ...) PRINTF_ATTRIBUTE(3,4);
 static struct cache_entry *wcache_fetch(struct winbind_cache *cache, 
                                        struct winbindd_domain *domain,
                                        const char *format, ...)
@@ -390,12 +370,6 @@ static void centry_put_string(struct cache_entry *centry, const char *s)
        centry->ofs += len;
 }
 
-static void centry_put_sid(struct cache_entry *centry, const DOM_SID *sid) 
-{
-       fstring sid_string;
-       centry_put_string(centry, sid_to_string(sid_string, sid));
-}
-
 /*
   start a centry for output. When finished, call centry_end()
 */
@@ -419,7 +393,6 @@ struct cache_entry *centry_start(struct winbindd_domain *domain, NTSTATUS status
 /*
   finish a centry and write it to the tdb
 */
-static void centry_end(struct cache_entry *centry, const char *format, ...) PRINTF_ATTRIBUTE(2,3);
 static void centry_end(struct cache_entry *centry, const char *format, ...)
 {
        va_list ap;
@@ -439,29 +412,39 @@ static void centry_end(struct cache_entry *centry, const char *format, ...)
        free(kstr);
 }
 
-static void wcache_save_name_to_sid(struct winbindd_domain *domain, 
-                                   NTSTATUS status, 
-                                   const char *name, DOM_SID *sid, 
-                                   enum SID_NAME_USE type)
+/* form a sid from the domain plus rid */
+static DOM_SID *form_sid(struct winbindd_domain *domain, uint32 rid)
+{
+       static DOM_SID sid;
+       sid_copy(&sid, &domain->sid);
+       sid_append_rid(&sid, rid);
+       return &sid;
+}
+
+static void wcache_save_name_to_sid(struct winbindd_domain *domain, NTSTATUS status, 
+                                   const char *name, DOM_SID *sid, enum SID_NAME_USE type)
 {
        struct cache_entry *centry;
+       uint32 len;
        fstring uname;
-       fstring sid_string;
 
        centry = centry_start(domain, status);
        if (!centry) return;
-       centry_put_sid(centry, sid);
+       len = sid_size(sid);
+       centry_expand(centry, len);
+       centry_put_uint32(centry, type);
+       sid_linearize(centry->data + centry->ofs, len, sid);
+       centry->ofs += len;
        fstrcpy(uname, name);
        strupper(uname);
-       centry_end(centry, "NS/%s", sid_to_string(sid_string, sid));
+       centry_end(centry, "NS/%s/%s", domain->name, uname);
        centry_free(centry);
 }
 
 static void wcache_save_sid_to_name(struct winbindd_domain *domain, NTSTATUS status, 
-                                   DOM_SID *sid, const char *name, enum SID_NAME_USE type)
+                                   DOM_SID *sid, const char *name, enum SID_NAME_USE type, uint32 rid)
 {
        struct cache_entry *centry;
-       fstring sid_string;
 
        centry = centry_start(domain, status);
        if (!centry) return;
@@ -469,7 +452,7 @@ static void wcache_save_sid_to_name(struct winbindd_domain *domain, NTSTATUS sta
                centry_put_uint32(centry, type);
                centry_put_string(centry, name);
        }
-       centry_end(centry, "SN/%s", sid_to_string(sid_string, sid));
+       centry_end(centry, "SN/%s/%d", domain->name, rid);
        centry_free(centry);
 }
 
@@ -477,15 +460,14 @@ static void wcache_save_sid_to_name(struct winbindd_domain *domain, NTSTATUS sta
 static void wcache_save_user(struct winbindd_domain *domain, NTSTATUS status, WINBIND_USERINFO *info)
 {
        struct cache_entry *centry;
-       fstring sid_string;
 
        centry = centry_start(domain, status);
        if (!centry) return;
        centry_put_string(centry, info->acct_name);
        centry_put_string(centry, info->full_name);
-       centry_put_sid(centry, info->user_sid);
-       centry_put_sid(centry, info->group_sid);
-       centry_end(centry, "U/%s", sid_to_string(sid_string, info->user_sid));
+       centry_put_uint32(centry, info->user_rid);
+       centry_put_uint32(centry, info->group_rid);
+       centry_end(centry, "U/%s/%d", domain->name, info->user_rid);
        centry_free(centry);
 }
 
@@ -499,7 +481,7 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       unsigned int i;
+       int i;
 
        if (!cache->tdb) goto do_query;
 
@@ -515,8 +497,8 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
        for (i=0; i<(*num_entries); i++) {
                (*info)[i].acct_name = centry_string(centry, mem_ctx);
                (*info)[i].full_name = centry_string(centry, mem_ctx);
-               (*info)[i].user_sid = centry_sid(centry, mem_ctx);
-               (*info)[i].group_sid = centry_sid(centry, mem_ctx);
+               (*info)[i].user_rid = centry_uint32(centry);
+               (*info)[i].group_rid = centry_uint32(centry);
        }
 
 do_cached:     
@@ -542,18 +524,18 @@ do_query:
        for (i=0; i<(*num_entries); i++) {
                centry_put_string(centry, (*info)[i].acct_name);
                centry_put_string(centry, (*info)[i].full_name);
-               centry_put_sid(centry, (*info)[i].user_sid);
-               centry_put_sid(centry, (*info)[i].group_sid);
+               centry_put_uint32(centry, (*info)[i].user_rid);
+               centry_put_uint32(centry, (*info)[i].group_rid);
                if (cache->backend->consistent) {
                        /* when the backend is consistent we can pre-prime some mappings */
                        wcache_save_name_to_sid(domain, NT_STATUS_OK, 
                                                (*info)[i].acct_name, 
-                                               (*info)[i].user_sid,
+                                               form_sid(domain, (*info)[i].user_rid),
                                                SID_NAME_USER);
                        wcache_save_sid_to_name(domain, NT_STATUS_OK, 
-                                               (*info)[i].user_sid,
+                                               form_sid(domain, (*info)[i].user_rid),
                                                (*info)[i].acct_name, 
-                                               SID_NAME_USER);
+                                               SID_NAME_USER, (*info)[i].user_rid);
                        wcache_save_user(domain, NT_STATUS_OK, &(*info)[i]);
                }
        }       
@@ -573,7 +555,7 @@ static NTSTATUS enum_dom_groups(struct winbindd_domain *domain,
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       unsigned int i;
+       int i;
 
        if (!cache->tdb) goto do_query;
 
@@ -633,7 +615,7 @@ static NTSTATUS enum_local_groups(struct winbindd_domain *domain,
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       unsigned int i;
+       int i;
 
        if (!cache->tdb) goto do_query;
 
@@ -687,7 +669,7 @@ do_query:
                centry_put_string(centry, (*info)[i].acct_name);
                centry_put_string(centry, (*info)[i].acct_desc);
                centry_put_uint32(centry, (*info)[i].rid);
-       }
+       }       
        centry_end(centry, "GL/%s/local", domain->name);
        centry_free(centry);
 
@@ -697,7 +679,6 @@ skip_save:
 
 /* convert a single name to a sid in a domain */
 static NTSTATUS name_to_sid(struct winbindd_domain *domain,
-                           TALLOC_CTX *mem_ctx,
                            const char *name,
                            DOM_SID *sid,
                            enum SID_NAME_USE *type)
@@ -706,7 +687,6 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain,
        struct cache_entry *centry = NULL;
        NTSTATUS status;
        fstring uname;
-       DOM_SID *sid2;
 
        if (!cache->tdb) goto do_query;
 
@@ -715,12 +695,7 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain,
        centry = wcache_fetch(cache, domain, "NS/%s/%s", domain->name, uname);
        if (!centry) goto do_query;
        *type = centry_uint32(centry);
-       sid2 = centry_sid(centry, mem_ctx);
-       if (!sid2) {
-               ZERO_STRUCTP(sid);
-       } else {
-               sid_copy(sid, sid2);
-       }
+       sid_parse(centry->data + centry->ofs, centry->len - centry->ofs, sid);
 
        status = centry->status;
        centry_free(centry);
@@ -732,7 +707,7 @@ do_query:
        if (wcache_server_down(domain)) {
                return NT_STATUS_SERVER_DISABLED;
        }
-       status = cache->backend->name_to_sid(domain, mem_ctx, name, sid, type);
+       status = cache->backend->name_to_sid(domain, name, sid, type);
 
        /* and save it */
        wcache_save_name_to_sid(domain, status, name, sid, *type);
@@ -754,11 +729,14 @@ static NTSTATUS sid_to_name(struct winbindd_domain *domain,
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       fstring sid_string;
+       uint32 rid = 0;
+
+       if (!sid_peek_check_rid(&domain->sid, sid, &rid))
+               return NT_STATUS_INVALID_PARAMETER;
 
        if (!cache->tdb) goto do_query;
 
-       centry = wcache_fetch(cache, domain, "SN/%s", sid_to_string(sid_string, sid));
+       centry = wcache_fetch(cache, domain, "SN/%s/%d", domain->name, rid);
        if (!centry) goto do_query;
        if (NT_STATUS_IS_OK(centry->status)) {
                *type = centry_uint32(centry);
@@ -778,7 +756,7 @@ do_query:
 
        /* and save it */
        refresh_sequence_number(domain, True);
-       wcache_save_sid_to_name(domain, status, sid, *name, *type);
+       wcache_save_sid_to_name(domain, status, sid, *name, *type, rid);
        wcache_save_name_to_sid(domain, status, *name, sid, *type);
 
        return status;
@@ -788,23 +766,22 @@ do_query:
 /* Lookup user information from a rid */
 static NTSTATUS query_user(struct winbindd_domain *domain, 
                           TALLOC_CTX *mem_ctx, 
-                          DOM_SID *user_sid, 
+                          uint32 user_rid, 
                           WINBIND_USERINFO *info)
 {
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       fstring sid_string;
 
        if (!cache->tdb) goto do_query;
 
-       centry = wcache_fetch(cache, domain, "U/%s", sid_to_string(sid_string, user_sid));
+       centry = wcache_fetch(cache, domain, "U/%s/%d", domain->name, user_rid);
        if (!centry) goto do_query;
 
        info->acct_name = centry_string(centry, mem_ctx);
        info->full_name = centry_string(centry, mem_ctx);
-       info->user_sid = centry_sid(centry, mem_ctx);
-       info->group_sid = centry_sid(centry, mem_ctx);
+       info->user_rid = centry_uint32(centry);
+       info->group_rid = centry_uint32(centry);
        status = centry->status;
        centry_free(centry);
        return status;
@@ -816,7 +793,7 @@ do_query:
                return NT_STATUS_SERVER_DISABLED;
        }
        
-       status = cache->backend->query_user(domain, mem_ctx, user_sid, info);
+       status = cache->backend->query_user(domain, mem_ctx, user_rid, info);
 
        /* and save it */
        refresh_sequence_number(domain, True);
@@ -829,18 +806,17 @@ do_query:
 /* Lookup groups a user is a member of. */
 static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
                                  TALLOC_CTX *mem_ctx,
-                                 DOM_SID *user_sid, 
-                                 uint32 *num_groups, DOM_SID ***user_gids)
+                                 uint32 user_rid, 
+                                 uint32 *num_groups, uint32 **user_gids)
 {
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       unsigned int i;
-       fstring sid_string;
+       int i;
 
        if (!cache->tdb) goto do_query;
 
-       centry = wcache_fetch(cache, domain, "UG/%s", sid_to_string(sid_string, user_sid));
+       centry = wcache_fetch(cache, domain, "UG/%s/%d", domain->name, user_rid);
        if (!centry) goto do_query;
 
        *num_groups = centry_uint32(centry);
@@ -850,7 +826,7 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
        (*user_gids) = talloc(mem_ctx, sizeof(**user_gids) * (*num_groups));
        if (! (*user_gids)) smb_panic("lookup_usergroups out of memory");
        for (i=0; i<(*num_groups); i++) {
-               (*user_gids)[i] = centry_sid(centry, mem_ctx);
+               (*user_gids)[i] = centry_uint32(centry);
        }
 
 do_cached:     
@@ -865,7 +841,7 @@ do_query:
        if (wcache_server_down(domain)) {
                return NT_STATUS_SERVER_DISABLED;
        }
-       status = cache->backend->lookup_usergroups(domain, mem_ctx, user_sid, num_groups, user_gids);
+       status = cache->backend->lookup_usergroups(domain, mem_ctx, user_rid, num_groups, user_gids);
 
        /* and save it */
        refresh_sequence_number(domain, True);
@@ -873,9 +849,9 @@ do_query:
        if (!centry) goto skip_save;
        centry_put_uint32(centry, *num_groups);
        for (i=0; i<(*num_groups); i++) {
-               centry_put_sid(centry, (*user_gids)[i]);
+               centry_put_uint32(centry, (*user_gids)[i]);
        }       
-       centry_end(centry, "UG/%s", sid_to_string(sid_string, user_sid));
+       centry_end(centry, "UG/%s/%d", domain->name, user_rid);
        centry_free(centry);
 
 skip_save:
@@ -885,35 +861,34 @@ skip_save:
 
 static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                                TALLOC_CTX *mem_ctx,
-                               DOM_SID *group_sid, uint32 *num_names, 
-                               DOM_SID ***sid_mem, char ***names, 
+                               uint32 group_rid, uint32 *num_names, 
+                               uint32 **rid_mem, char ***names, 
                                uint32 **name_types)
 {
        struct winbind_cache *cache = get_cache(domain);
        struct cache_entry *centry = NULL;
        NTSTATUS status;
-       unsigned int i;
-       fstring sid_string;
+       int i;
 
        if (!cache->tdb) goto do_query;
 
-       centry = wcache_fetch(cache, domain, "GM/%s", sid_to_string(sid_string, group_sid));
+       centry = wcache_fetch(cache, domain, "GM/%s/%d", domain->name, group_rid);
        if (!centry) goto do_query;
 
        *num_names = centry_uint32(centry);
        
        if (*num_names == 0) goto do_cached;
 
-       (*sid_mem) = talloc(mem_ctx, sizeof(**sid_mem) * (*num_names));
+       (*rid_mem) = talloc(mem_ctx, sizeof(**rid_mem) * (*num_names));
        (*names) = talloc(mem_ctx, sizeof(**names) * (*num_names));
        (*name_types) = talloc(mem_ctx, sizeof(**name_types) * (*num_names));
 
-       if (! (*sid_mem) || ! (*names) || ! (*name_types)) {
+       if (! (*rid_mem) || ! (*names) || ! (*name_types)) {
                smb_panic("lookup_groupmem out of memory");
        }
 
        for (i=0; i<(*num_names); i++) {
-               (*sid_mem)[i] = centry_sid(centry, mem_ctx);
+               (*rid_mem)[i] = centry_uint32(centry);
                (*names)[i] = centry_string(centry, mem_ctx);
                (*name_types)[i] = centry_uint32(centry);
        }
@@ -925,7 +900,7 @@ do_cached:
 
 do_query:
        (*num_names) = 0;
-       (*sid_mem) = NULL;
+       (*rid_mem) = NULL;
        (*names) = NULL;
        (*name_types) = NULL;
        
@@ -933,8 +908,8 @@ do_query:
        if (wcache_server_down(domain)) {
                return NT_STATUS_SERVER_DISABLED;
        }
-       status = cache->backend->lookup_groupmem(domain, mem_ctx, group_sid, num_names, 
-                                                sid_mem, names, name_types);
+       status = cache->backend->lookup_groupmem(domain, mem_ctx, group_rid, num_names, 
+                                                rid_mem, names, name_types);
 
        /* and save it */
        refresh_sequence_number(domain, True);
@@ -942,11 +917,11 @@ do_query:
        if (!centry) goto skip_save;
        centry_put_uint32(centry, *num_names);
        for (i=0; i<(*num_names); i++) {
-               centry_put_sid(centry, (*sid_mem)[i]);
+               centry_put_uint32(centry, (*rid_mem)[i]);
                centry_put_string(centry, (*names)[i]);
                centry_put_uint32(centry, (*name_types)[i]);
        }       
-       centry_end(centry, "GM/%s", sid_to_string(sid_string, group_sid));
+       centry_end(centry, "GM/%s/%d", domain->name, group_rid);
        centry_free(centry);
 
 skip_save:
index 1b49d8ce013e564851bc747e4b9b214df79b953a..706408901e517b8d78b0e021243a78d9bcc9951d 100644 (file)
@@ -373,7 +373,7 @@ static NTSTATUS cm_open_connection(const char *domain, const int pipe_index,
                }
                
                result = cli_full_connection(&new_conn->cli, global_myname(), new_conn->controller, 
-                                            &dc_ip, 0, "IPC$", "IPC", ipc_username, ipc_domain, 
+                       &dc_ip, 0, "IPC$", "IPC", ipc_username, ipc_domain, 
                                             ipc_password, CLI_FULL_CONNECTION_ANNONYMOUS_FALLBACK, &retry);
                
                secrets_named_mutex_release(new_conn->controller);
index d06db5943c737e792446f7a68f2d0e2095fb8091..94a826fbbccf04e9d893d18b4c813dc1fb773eca 100644 (file)
@@ -49,44 +49,43 @@ static BOOL fill_grent(struct winbindd_gr *gr, const char *dom_name,
        return True;
 }
 
-/* Fill in the group membership field of a NT group given by group_sid */
+/* Fill in the group membership field of a NT group given by group_rid */
 
 static BOOL fill_grent_mem(struct winbindd_domain *domain,
-                          DOM_SID *group_sid, 
+                          uint32 group_rid, 
                           enum SID_NAME_USE group_name_type, 
                           int *num_gr_mem, char **gr_mem, int *gr_mem_len)
 {
-       DOM_SID **sid_mem = NULL;
-       uint32 num_names = 0;
+       uint32 *rid_mem = NULL, num_names = 0;
        uint32 *name_types = NULL;
-       unsigned int buf_len, buf_ndx, i;
+       int buf_len, buf_ndx, i;
        char **names = NULL, *buf;
        BOOL result = False;
        TALLOC_CTX *mem_ctx;
        NTSTATUS status;
-       fstring sid_string;
 
        if (!(mem_ctx = talloc_init("fill_grent_mem(%s)", domain->name)))
                return False;
 
        /* Initialise group membership information */
        
-       DEBUG(10, ("group SID %s\n", sid_to_string(sid_string, group_sid)));
+       DEBUG(10, ("group %s rid 0x%x\n", domain ? domain->name : "NULL", 
+                  group_rid));
 
        *num_gr_mem = 0;
        
        if (group_name_type != SID_NAME_DOM_GRP) {
-               DEBUG(1, ("SID %s in domain %s isn't a domain group\n", 
-                         sid_to_string(sid_string, group_sid), domain->name));
+               DEBUG(1, ("rid %d in domain %s isn't a domain group\n", 
+                         group_rid, domain->name));
                 goto done;
        }
 
        /* Lookup group members */
-       status = domain->methods->lookup_groupmem(domain, mem_ctx, group_sid, &num_names, 
-                                                 &sid_mem, &names, &name_types);
+       status = domain->methods->lookup_groupmem(domain, mem_ctx, group_rid, &num_names, 
+                                                 &rid_mem, &names, &name_types);
        if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(1, ("could not lookup membership for group rid %s in domain %s (error: %s)\n", 
-                         sid_to_string(sid_string, group_sid), domain->name, nt_errstr(status)));
+               DEBUG(1, ("could not lookup membership for group rid %d in domain %s (error: %s)\n", 
+                         group_rid, domain->name, nt_errstr(status)));
 
                goto done;
        }
@@ -95,7 +94,7 @@ static BOOL fill_grent_mem(struct winbindd_domain *domain,
 
        if (DEBUGLEVEL >= 10) {
                for (i = 0; i < num_names; i++)
-                       DEBUG(10, ("\t%20s %s %d\n", names[i], sid_to_string(sid_string, sid_mem[i]),
+                       DEBUG(10, ("\t%20s %x %d\n", names[i], rid_mem[i],
                                   name_types[i]));
        }
 
@@ -191,6 +190,7 @@ enum winbindd_result winbindd_getgrnam(struct winbindd_cli_state *state)
        DOM_SID group_sid;
        struct winbindd_domain *domain;
        enum SID_NAME_USE name_type;
+       uint32 group_rid;
        fstring name_domain, name_group;
        char *tmp, *gr_mem;
        gid_t gid;
@@ -233,6 +233,10 @@ enum winbindd_result winbindd_getgrnam(struct winbindd_cli_state *state)
                return WINBINDD_ERROR;
        }
 
+       /* Fill in group structure */
+       if (!sid_peek_check_rid(&domain->sid, &group_sid, &group_rid))
+               return WINBINDD_ERROR;
+
        if (!winbindd_idmap_get_gid_from_sid(&group_sid, &gid)) {
                DEBUG(1, ("error converting unix gid to sid\n"));
                return WINBINDD_ERROR;
@@ -240,7 +244,7 @@ enum winbindd_result winbindd_getgrnam(struct winbindd_cli_state *state)
 
        if (!fill_grent(&state->response.data.gr, name_domain,
                        name_group, gid) ||
-           !fill_grent_mem(domain, &group_sid, name_type,
+           !fill_grent_mem(domain, group_rid, name_type,
                            &state->response.data.gr.num_gr_mem,
                            &gr_mem, &gr_mem_len)) {
                return WINBINDD_ERROR;
@@ -265,6 +269,7 @@ enum winbindd_result winbindd_getgrgid(struct winbindd_cli_state *state)
        enum SID_NAME_USE name_type;
        fstring dom_name;
        fstring group_name;
+       uint32 group_rid;
        int gr_mem_len;
        char *gr_mem;
 
@@ -279,13 +284,17 @@ enum winbindd_result winbindd_getgrgid(struct winbindd_cli_state *state)
 
        /* Get rid from gid */
 
-       if (!winbindd_idmap_get_sid_from_gid(state->request.data.gid, &group_sid)) {
+       if (!winbindd_idmap_get_rid_from_gid(state->request.data.gid, 
+                                            &group_rid, &domain)) {
                DEBUG(1, ("could not convert gid %d to rid\n", 
                          state->request.data.gid));
                return WINBINDD_ERROR;
        }
 
-       /* Get name from sid */
+       /* Get sid from gid */
+
+       sid_copy(&group_sid, &domain->sid);
+       sid_append_rid(&group_sid, group_rid);
 
        if (!winbindd_lookup_name_by_sid(&group_sid, dom_name, group_name, &name_type)) {
                DEBUG(1, ("could not lookup sid\n"));
@@ -301,16 +310,9 @@ enum winbindd_result winbindd_getgrgid(struct winbindd_cli_state *state)
 
        /* Fill in group structure */
 
-       domain = find_domain_from_sid(&group_sid);
-
-       if (!domain) {
-               DEBUG(1,("Can't find domain from sid\n"));
-               return WINBINDD_ERROR;
-       }
-
        if (!fill_grent(&state->response.data.gr, dom_name, group_name, 
                        state->request.data.gid) ||
-           !fill_grent_mem(domain, &group_sid, name_type,
+           !fill_grent_mem(domain, group_rid, name_type,
                            &state->response.data.gr.num_gr_mem,
                            &gr_mem, &gr_mem_len))
                return WINBINDD_ERROR;
@@ -542,9 +544,7 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state)
                gid_t group_gid;
                int gr_mem_len;
                char *gr_mem, *new_gr_mem_list;
-               DOM_SID group_sid;
-               struct winbindd_domain *domain;
-                               
+               
                /* Do we need to fetch another chunk of groups? */
 
        tryagain:
@@ -578,25 +578,16 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state)
                
                name_list = ent->sam_entries;
                
-               if (!(domain = 
-                     find_domain_from_name(ent->domain_name))) {
-                       DEBUG(3, ("No such domain %s in winbindd_getgrent\n", ent->domain_name));
-                       result = False;
-                       goto done;
-               }
-
                /* Lookup group info */
                
-               sid_copy(&group_sid, &domain->sid);
-               sid_append_rid(&group_sid, name_list[ent->sam_entry_index].rid);
-
-               if (!winbindd_idmap_get_gid_from_sid(
-                           &group_sid,
-                           &group_gid)) {
+               if (!winbindd_idmap_get_gid_from_rid(
+                       ent->domain_name,
+                       name_list[ent->sam_entry_index].rid,
+                       &group_gid)) {
                        
                        DEBUG(1, ("could not look up gid for group %s\n", 
                                  name_list[ent->sam_entry_index].acct_name));
-                       
+
                        ent->sam_entry_index++;
                        goto tryagain;
                }
@@ -617,7 +608,15 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state)
                /* Fill in group membership entry */
 
                if (result) {
-                       DOM_SID member_sid;
+                       struct winbindd_domain *domain;
+
+                       if (!(domain = 
+                             find_domain_from_name(ent->domain_name))) {
+                               DEBUG(3, ("No such domain %s in winbindd_getgrent\n", ent->domain_name));
+                               result = False;
+                               goto done;
+                       }
+
                        group_list[group_list_ndx].num_gr_mem = 0;
                        gr_mem = NULL;
                        gr_mem_len = 0;
@@ -626,11 +625,9 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state)
                        if (state->request.cmd == WINBINDD_GETGRLST) {
                                result = True;
                        } else {
-                               sid_copy(&member_sid, &domain->sid);
-                               sid_append_rid(&member_sid, name_list[ent->sam_entry_index].rid);
                                result = fill_grent_mem(
                                        domain,
-                                       &member_sid,
+                                       name_list[ent->sam_entry_index].rid,
                                        SID_NAME_DOM_GRP,
                                        &group_list[group_list_ndx].num_gr_mem, 
                                        &gr_mem, &gr_mem_len);
@@ -733,7 +730,7 @@ enum winbindd_result winbindd_list_groups(struct winbindd_cli_state *state)
        struct winbindd_domain *domain;
        char *extra_data = NULL;
        char *ted = NULL;
-       unsigned int extra_data_len = 0, i;
+       int extra_data_len = 0, i;
 
        DEBUG(3, ("[%5d]: list groups\n", state->pid));
 
@@ -808,13 +805,13 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
        fstring name_domain, name_user;
        DOM_SID user_sid;
        enum SID_NAME_USE name_type;
-       uint32 num_groups, num_gids;
+       uint32 user_rid, num_groups, num_gids;
        NTSTATUS status;
-       DOM_SID **user_gids;
+       uint32 *user_gids;
        struct winbindd_domain *domain;
        enum winbindd_result result = WINBINDD_ERROR;
        gid_t *gid_list;
-       unsigned int i;
+       int i;
        TALLOC_CTX *mem_ctx;
        
        /* Ensure null termination */
@@ -855,9 +852,9 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
                goto done;
        }
 
-       status = domain->methods->lookup_usergroups(domain, mem_ctx, 
-                                                   &user_sid, &num_groups, 
-                                                   &user_gids);
+       sid_split_rid(&user_sid, &user_rid);
+
+       status = domain->methods->lookup_usergroups(domain, mem_ctx, user_rid, &num_groups, &user_gids);
        if (!NT_STATUS_IS_OK(status)) goto done;
 
        /* Copy data back to client */
@@ -869,13 +866,12 @@ enum winbindd_result winbindd_getgroups(struct winbindd_cli_state *state)
                goto done;
 
        for (i = 0; i < num_groups; i++) {
-               if (!winbindd_idmap_get_gid_from_sid(
-                           user_gids[i], 
-                           &gid_list[num_gids])) {
-                       fstring sid_string;
+               if (!winbindd_idmap_get_gid_from_rid(domain->name, 
+                                                    user_gids[i], 
+                                                    &gid_list[num_gids])) {
 
-                       DEBUG(1, ("unable to convert group sid %s to gid\n", 
-                                 sid_to_string(sid_string, user_gids[i])));
+                       DEBUG(1, ("unable to convert group rid %d to gid\n", 
+                                 user_gids[i]));
                        continue;
                }
                        
index 23f4b4d0815aacf34f18e450b478d475617779aa..6d184fec5fe4266bf7f23664d870baab60834eb2 100644 (file)
@@ -1,19 +1,20 @@
 /* 
    Unix SMB/CIFS implementation.
-   Winbind ID Mapping
-   Copyright (C) Tim Potter 2000
-   Copyright (C) Anthony Liguori <aliguor@us.ibm.com>  2003
 
+   Winbind daemon - user related function
+
+   Copyright (C) Tim Potter 2000
+   
    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 "winbindd.h"
 
-static struct {
-  const char *name;
-  /* Function to create a member of the idmap_methods list */
-  BOOL (*reg_meth)(struct winbindd_idmap_methods **methods);
-  struct winbindd_idmap_methods *methods;
-} builtin_winbindd_idmap_functions[] = {
-  { "tdb", winbind_idmap_reg_tdb, NULL },
-  { "ldap", winbind_idmap_reg_ldap, NULL },
-  { NULL, NULL, NULL }
-};
-
-/* singleton pattern: uberlazy evaluation */
-static struct winbindd_idmap_methods *impl;
-
-static struct winbindd_idmap_methods *get_impl(const char *name)
-{
-  int i = 0;
-  struct winbindd_idmap_methods *ret = NULL;
-
-  while (builtin_winbindd_idmap_functions[i].name && 
-         strcmp(builtin_winbindd_idmap_functions[i].name, name)) {
-    i++;
-  }
-
-  if (builtin_winbindd_idmap_functions[i].name) {
-    if (!builtin_winbindd_idmap_functions[i].methods) {
-      builtin_winbindd_idmap_functions[i].reg_meth(&builtin_winbindd_idmap_functions[i].methods);
-    }
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_WINBIND
 
-    ret = builtin_winbindd_idmap_functions[i].methods;
-  }
+/* High water mark keys */
 
-  return ret;
-}
+#define HWM_GROUP  "GROUP HWM"
+#define HWM_USER   "USER HWM"
 
-/* Initialize backend */
-BOOL winbindd_idmap_init(void)
+/* idmap version determines auto-conversion */
+#define IDMAP_VERSION 2
+
+/* Globals */
+
+static TDB_CONTEXT *idmap_tdb;
+
+/* Allocate either a user or group id from the pool */
+
+static BOOL allocate_id(uid_t *id, BOOL isgroup)
 {
-  BOOL ret = False;
+    int hwm;
 
-  DEBUG(3, ("winbindd_idmap_init: using '%s' as backend\n", 
-            lp_winbind_backend()));
+    /* Get current high water mark */
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-    if (!impl) {
-      DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-                lp_winbind_backend()));
+    if ((hwm = tdb_fetch_int32(idmap_tdb, 
+                             isgroup ? HWM_GROUP : HWM_USER)) == -1) {
+        return False;
     }
-  }
 
-  if (impl) {
-    ret = impl->init();
-  }
+    /* Return next available uid in list */
 
-  DEBUG(3, ("winbind_idmap_init: returning %s\n", ret ? "true" : "false"));
+    if ((isgroup && (hwm > server_state.gid_high)) ||
+        (!isgroup && (hwm > server_state.uid_high))) {
+        DEBUG(0, ("winbind %sid range full!\n", isgroup ? "g" : "u"));
+        return False;
+    }
+
+    if (id) {
+        *id = hwm;
+    }
+
+    hwm++;
+
+    /* Store new high water mark */
+
+    tdb_store_int32(idmap_tdb, isgroup ? HWM_GROUP : HWM_USER, hwm);
 
-  return ret;
+    return True;
 }
 
-/* Get UID from SID */
-BOOL winbindd_idmap_get_uid_from_sid(DOM_SID *sid, uid_t *uid)
+/* Get an id from a rid */
+static BOOL get_id_from_sid(DOM_SID *sid, uid_t *id, BOOL isgroup)
 {
-  BOOL ret = False;
+    TDB_DATA data, key;
+    fstring keystr;
+    BOOL result = False;
+
+    /* Check if sid is present in database */
+    sid_to_string(keystr, sid);
+    
+    key.dptr = keystr;
+    key.dsize = strlen(keystr) + 1;
+
+    data = tdb_fetch(idmap_tdb, key);
+
+    if (data.dptr) {
+        fstring scanstr;
+        int the_id;
+
+        /* Parse and return existing uid */
+        fstrcpy(scanstr, isgroup ? "GID" : "UID");
+        fstrcat(scanstr, " %d");
+
+        if (sscanf(data.dptr, scanstr, &the_id) == 1) {
+            /* Store uid */
+            if (id) {
+                   *id = the_id;
+            }
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-    if (!impl) {
-      DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-                lp_winbind_backend()));
+            result = True;
+        }
+
+        SAFE_FREE(data.dptr);
+    } else {
+
+        /* Allocate a new id for this sid */
+
+        if (id && allocate_id(id, isgroup)) {
+            fstring keystr2;
+
+            /* Store new id */
+            
+            slprintf(keystr2, sizeof(keystr2), "%s %d", isgroup ? "GID" : "UID", *id);
+
+            data.dptr = keystr2;
+            data.dsize = strlen(keystr2) + 1;
+
+            tdb_store(idmap_tdb, key, data, TDB_REPLACE);
+            tdb_store(idmap_tdb, data, key, TDB_REPLACE);
+
+            result = True;
+        }
     }
-  }
 
-  if (impl) {
-    ret = impl->get_uid_from_sid(sid, uid);
-  }
+    return result;
+}
 
-  return ret;
+/* Get a uid from a user sid */
+BOOL winbindd_idmap_get_uid_from_sid(DOM_SID *sid, uid_t *uid)
+{
+    return get_id_from_sid(sid, uid, False);
 }
 
-/* Get GID from SID */
+/* Get a gid from a group sid */
 BOOL winbindd_idmap_get_gid_from_sid(DOM_SID *sid, gid_t *gid)
 {
-  BOOL ret = False;
+    return get_id_from_sid(sid, gid, True);
+}
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-    if (!impl) {
-      DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-                lp_winbind_backend()));
-    }
-  }
+/* Get a uid from a user rid */
+BOOL winbindd_idmap_get_uid_from_rid(const char *dom_name, uint32 rid, uid_t *uid)
+{
+       struct winbindd_domain *domain;
+       DOM_SID sid;
+
+       if (!(domain = find_domain_from_name(dom_name))) {
+               return False;
+       }
 
-  if (impl) {
-    ret = impl->get_gid_from_sid(sid, gid);
-  }
+       sid_copy(&sid, &domain->sid);
+       sid_append_rid(&sid, rid);
 
-  return ret;
+       return get_id_from_sid(&sid, uid, False);
 }
 
-/* Get SID from UID */
-BOOL winbindd_idmap_get_sid_from_uid(uid_t uid, DOM_SID *sid)
+/* Get a gid from a group rid */
+BOOL winbindd_idmap_get_gid_from_rid(const char *dom_name, uint32 rid, gid_t *gid)
+{
+       struct winbindd_domain *domain;
+       DOM_SID sid;
+
+       if (!(domain = find_domain_from_name(dom_name))) {
+               return False;
+       }
+
+       sid_copy(&sid, &domain->sid);
+       sid_append_rid(&sid, rid);
+
+       return get_id_from_sid(&sid, gid, True);
+}
+
+
+BOOL get_sid_from_id(int id, DOM_SID *sid, BOOL isgroup)
 {
-  BOOL ret = False;
+    TDB_DATA key, data;
+    fstring keystr;
+    BOOL result = False;
+
+    slprintf(keystr, sizeof(keystr), "%s %d", isgroup ? "GID" : "UID", id);
+
+    key.dptr = keystr;
+    key.dsize = strlen(keystr) + 1;
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-    if (!impl) {
-      DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-                lp_winbind_backend()));
+    data = tdb_fetch(idmap_tdb, key);
+
+    if (data.dptr) {
+           result = string_to_sid(sid, data.dptr);
+           SAFE_FREE(data.dptr);
     }
-  }
 
-  if (impl) {
-    ret = impl->get_sid_from_uid(uid, sid);
-  }
+    return result;
+}
 
-  return ret;
+/* Get a sid from a uid */
+BOOL winbindd_idmap_get_sid_from_uid(uid_t uid, DOM_SID *sid)
+{
+       return get_sid_from_id((int)uid, sid, False);
 }
 
-/* Get SID from GID */
+/* Get a sid from a gid */
 BOOL winbindd_idmap_get_sid_from_gid(gid_t gid, DOM_SID *sid)
 {
-  BOOL ret = False;
+       return get_sid_from_id((int)gid, sid, True);
+}
+
+/* Get a user rid from a uid */
+BOOL winbindd_idmap_get_rid_from_uid(uid_t uid, uint32 *user_rid,
+                                     struct winbindd_domain **domain)
+{
+       DOM_SID sid;
+
+       if (!get_sid_from_id((int)uid, &sid, False)) {
+               return False;
+       }
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-  }
+       *domain = find_domain_from_sid(&sid);
+       if (! *domain) return False;
 
-  if (impl) {
-    ret = impl->get_sid_from_gid(gid, sid);
-  } else {
-    DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-              lp_winbind_backend()));
-  }
+       sid_split_rid(&sid, user_rid);
 
-  return ret;
+       return True;
 }
 
-/* Close backend */
-BOOL winbindd_idmap_close(void)
+/* Get a group rid from a gid */
+
+BOOL winbindd_idmap_get_rid_from_gid(gid_t gid, uint32 *group_rid, 
+                                     struct winbindd_domain **domain)
+{
+       DOM_SID sid;
+
+       if (!get_sid_from_id((int)gid, &sid, True)) {
+               return False;
+       }
+
+       *domain = find_domain_from_sid(&sid);
+       if (! *domain) return False;
+
+       sid_split_rid(&sid, group_rid);
+
+       return True;
+}
+
+/* convert one record to the new format */
+static int convert_fn(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA data, void *ignored)
 {
-  BOOL ret = False;
+       struct winbindd_domain *domain;
+       char *p;
+       DOM_SID sid;
+       uint32 rid;
+       fstring keystr;
+       fstring dom_name;
+       TDB_DATA key2;
+
+       p = strchr(key.dptr, '/');
+       if (!p)
+               return 0;
+
+       *p = 0;
+       fstrcpy(dom_name, key.dptr);
+       *p++ = '/';
+
+       domain = find_domain_from_name(dom_name);
+       if (!domain) {
+               /* We must delete the old record. */
+               DEBUG(0,("winbindd: convert_fn : Unable to find domain %s\n", dom_name ));
+               DEBUG(0,("winbindd: convert_fn : deleting record %s\n", key.dptr ));
+               tdb_delete(idmap_tdb, key);
+               return 0;
+       }
+
+       rid = atoi(p);
+
+       sid_copy(&sid, &domain->sid);
+       sid_append_rid(&sid, rid);
+
+       sid_to_string(keystr, &sid);
+       key2.dptr = keystr;
+       key2.dsize = strlen(keystr) + 1;
+
+       if (tdb_store(idmap_tdb, key2, data, TDB_INSERT) != 0) {
+               /* not good! */
+               DEBUG(0,("winbindd: convert_fn : Unable to update record %s\n", key2.dptr ));
+               DEBUG(0,("winbindd: convert_fn : conversion failed - idmap corrupt ?\n"));
+               return -1;
+       }
+
+       if (tdb_store(idmap_tdb, data, key2, TDB_REPLACE) != 0) {
+               /* not good! */
+               DEBUG(0,("winbindd: convert_fn : Unable to update record %s\n", data.dptr ));
+               DEBUG(0,("winbindd: convert_fn : conversion failed - idmap corrupt ?\n"));
+               return -1;
+       }
+
+       tdb_delete(idmap_tdb, key);
+
+       return 0;
+}
 
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-  }
+#if 0
+/*****************************************************************************
+ Make a backup copy of the old idmap just to be safe.... JRA.
+*****************************************************************************/
 
-  if (impl) {
-    ret = impl->close();
-  } else {
-    DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-              lp_winbind_backend()));
-  }
+static BOOL backup_old_idmap(const char *idmap_name)
+{
+       pstring new_name;
+       int outfd = -1;
+       SMB_OFF_T size;
+       struct stat st;
+
+       pstrcpy(new_name, idmap_name);
+       pstrcat(new_name, ".bak");
+
+       DEBUG(10,("backup_old_idmap: backing up %s to %s before upgrade.\n",
+                       idmap_name, new_name ));
+
+       if (tdb_lockall(idmap_tdb) == -1) {
+               DEBUG(10,("backup_old_idmap: failed to lock %s. Error %s\n",
+                       idmap_name, tdb_errorstr(idmap_tdb) ));
+               return False;
+       }
+       if ((outfd = open(new_name, O_CREAT|O_EXCL|O_RDWR, 0600)) == -1) {
+               DEBUG(10,("backup_old_idmap: failed to open %s. Error %s\n",
+                       new_name, strerror(errno) ));
+               goto fail;
+       }
+
+       if (fstat(idmap_tdb->fd, &st) == -1) {
+               DEBUG(10,("backup_old_idmap: failed to fstat %s. Error %s\n",
+                       idmap_name, strerror(errno) ));
+               goto fail;
+       }
+
+       size = (SMB_OFF_T)st.st_size;
+
+       if (transfer_file(idmap_tdb->fd, outfd, size) != size ) {
+               DEBUG(10,("backup_old_idmap: failed to copy %s. Error %s\n",
+                       idmap_name, strerror(errno) ));
+               goto fail;
+       }
+
+       if (close(outfd) == -1) {
+               DEBUG(10,("backup_old_idmap: failed to close %s. Error %s\n",
+                       idmap_name, strerror(errno) ));
+               outfd = -1;
+               goto fail;
+       }
+       tdb_unlockall(idmap_tdb);
+       return True;
+
+fail:
+
+       if (outfd != -1)
+               close(outfd);
+       tdb_unlockall(idmap_tdb);
+       return False;
+}
+#endif
+
+/*****************************************************************************
+ Convert the idmap database from an older version.
+*****************************************************************************/
 
-  return ret;
+static BOOL idmap_convert(const char *idmap_name)
+{
+       int32 vers = tdb_fetch_int32(idmap_tdb, "IDMAP_VERSION");
+       BOOL bigendianheader = (idmap_tdb->flags & TDB_BIGENDIAN) ? True : False;
+
+       if (vers == IDMAP_VERSION)
+               return True;
+
+#if 0
+       /* Make a backup copy before doing anything else.... */
+       if (!backup_old_idmap(idmap_name))
+               return False;
+#endif
+
+       if (((vers == -1) && bigendianheader) || (IREV(vers) == IDMAP_VERSION)) {
+               /* Arrggghh ! Bytereversed or old big-endian - make order independent ! */
+               /*
+                * high and low records were created on a
+                * big endian machine and will need byte-reversing.
+                */
+
+               int32 wm;
+
+               wm = tdb_fetch_int32(idmap_tdb, HWM_USER);
+
+               if (wm != -1) {
+                       wm = IREV(wm);
+               }  else
+                       wm = server_state.uid_low;
+
+               if (tdb_store_int32(idmap_tdb, HWM_USER, wm) == -1) {
+                       DEBUG(0, ("idmap_convert: Unable to byteswap user hwm in idmap database\n"));
+                       return False;
+               }
+
+               wm = tdb_fetch_int32(idmap_tdb, HWM_GROUP);
+               if (wm != -1) {
+                       wm = IREV(wm);
+               } else
+                       wm = server_state.gid_low;
+
+               if (tdb_store_int32(idmap_tdb, HWM_GROUP, wm) == -1) {
+                       DEBUG(0, ("idmap_convert: Unable to byteswap group hwm in idmap database\n"));
+                       return False;
+               }
+       }
+
+       /* the old format stored as DOMAIN/rid - now we store the SID direct */
+       tdb_traverse(idmap_tdb, convert_fn, NULL);
+
+       if (tdb_store_int32(idmap_tdb, "IDMAP_VERSION", IDMAP_VERSION) == -1) {
+               DEBUG(0, ("idmap_convert: Unable to byteswap group hwm in idmap database\n"));
+               return False;
+       }
+
+       return True;
 }
 
-/* Dump backend status */
+/*****************************************************************************
+ Initialise idmap database. 
+*****************************************************************************/
+
+BOOL winbindd_idmap_init(void)
+{
+       /* Open tdb cache */
+
+       if (!(idmap_tdb = tdb_open_log(lock_path("winbindd_idmap.tdb"), 0,
+                               TDB_DEFAULT, O_RDWR | O_CREAT, 0600))) {
+               DEBUG(0, ("winbindd_idmap_init: Unable to open idmap database\n"));
+               return False;
+       }
+
+       /* possibly convert from an earlier version */
+       if (!idmap_convert(lock_path("winbindd_idmap.tdb"))) {
+               DEBUG(0, ("winbindd_idmap_init: Unable to open idmap database\n"));
+               return False;
+       }
+
+       /* Create high water marks for group and user id */
+
+       if (tdb_fetch_int32(idmap_tdb, HWM_USER) == -1) {
+               if (tdb_store_int32(idmap_tdb, HWM_USER, server_state.uid_low) == -1) {
+                       DEBUG(0, ("winbindd_idmap_init: Unable to initialise user hwm in idmap database\n"));
+                       return False;
+               }
+       }
+
+       if (tdb_fetch_int32(idmap_tdb, HWM_GROUP) == -1) {
+               if (tdb_store_int32(idmap_tdb, HWM_GROUP, server_state.gid_low) == -1) {
+                       DEBUG(0, ("winbindd_idmap_init: Unable to initialise group hwm in idmap database\n"));
+                       return False;
+               }
+       }
+
+       return True;   
+}
+
+BOOL winbindd_idmap_close(void)
+{
+       if (idmap_tdb)
+               return (tdb_close(idmap_tdb) == 0);
+       return True;
+}
+
+/* Dump status information to log file.  Display different stuff based on
+   the debug level:
+
+   Debug Level        Information Displayed
+   =================================================================
+   0                  Percentage of [ug]id range allocated
+   0                  High water marks (next allocated ids)
+*/
+
+#define DUMP_INFO 0
+
 void winbindd_idmap_status(void)
 {
-  if (!impl) {
-    impl = get_impl(lp_winbind_backend());
-  }
+       int user_hwm, group_hwm;
+
+       DEBUG(0, ("winbindd idmap status:\n"));
+
+       /* Get current high water marks */
+
+       if ((user_hwm = tdb_fetch_int32(idmap_tdb, HWM_USER)) == -1) {
+               DEBUG(DUMP_INFO, ("\tCould not get userid high water mark!\n"));
+       }
+
+       if ((group_hwm = tdb_fetch_int32(idmap_tdb, HWM_GROUP)) == -1) {
+               DEBUG(DUMP_INFO, ("\tCould not get groupid high water mark!\n"));
+       }
+
+       /* Display next ids to allocate */
+
+       if (user_hwm != -1) {
+               DEBUG(DUMP_INFO, ("\tNext userid to allocate is %d\n", user_hwm));
+       }
+
+       if (group_hwm != -1) {
+               DEBUG(DUMP_INFO, ("\tNext groupid to allocate is %d\n", group_hwm));
+       }
+
+       /* Display percentage of id range already allocated. */
+
+       if (user_hwm != -1) {
+               int num_users = user_hwm - server_state.uid_low;
+               int total_users = server_state.uid_high - server_state.uid_low;
+
+               DEBUG(DUMP_INFO, ("\tUser id range is %d%% full (%d of %d)\n", 
+                               num_users * 100 / total_users, num_users,
+                               total_users));
+       }
+
+       if (group_hwm != -1) {
+               int num_groups = group_hwm - server_state.gid_low;
+               int total_groups = server_state.gid_high - server_state.gid_low;
+
+               DEBUG(DUMP_INFO, ("\tGroup id range is %d%% full (%d of %d)\n",
+                               num_groups * 100 / total_groups, num_groups,
+                               total_groups));
+       }
 
-  if (impl) {
-    impl->status();
-  } else {
-    DEBUG(0, ("winbindd_idmap_init: could not load backend '%s'\n",
-              lp_winbind_backend()));
-  }
+       /* Display complete mapping of users and groups to rids */
 }
diff --git a/source3/nsswitch/winbindd_idmap_ldap.c b/source3/nsswitch/winbindd_idmap_ldap.c
deleted file mode 100644 (file)
index 7ffddf9..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Winbind daemon - user related function
-
-   Copyright (C) Jim McDonough <jmcd@us.ibm.com>      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
-   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 "winbindd.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_WINBIND
-
-#ifdef HAVE_LDAP
-
-#include <lber.h>
-#include <ldap.h>
-
-#include "smb_ldap.h"
-
-/* Globals */
-static struct smb_ldap_privates *ldap_state;
-
-static const char *attr[] = { "uid", "rid", "domain", "uidNumber", 
-                             "gidNumber", NULL };
-
-static const char *pool_attr[] = {"uidNumber", "gidNumber", "cn", NULL};
-
-static const char *group_attr[] = {"gidNumber", "ntSid", NULL};
-
-static long ldap_allocate_id(BOOL is_user)
-{
-       int rc, count;
-       LDAPMessage *result;
-       int scope = LDAP_SCOPE_SUBTREE;
-       long ret = 0;
-       int sanity = 0;
-
-       do {
-               rc = smb_ldap_search(ldap_state, lp_ldap_suffix(), scope, is_user?"cn=UID Pool":"cn=GID Pool", pool_attr, 0, &result);
-
-               if (LDAP_SUCCESS != rc) {
-                       DEBUG(0,("ldap_allocate_id: No ID pool found in directory\n"));
-                       return 0;
-               }
-               
-               count = ldap_count_entries(ldap_state->ldap_struct, result);
-               
-               if (1 < count) {
-                       DEBUG(0,("ldap_allocate_id: Multiple UID pools found in directory?\n"));
-                       break;
-               } else if (1 == count) {
-                       LDAPMessage *entry = 
-                               ldap_first_entry(ldap_state->ldap_struct, 
-                                                result);
-                       LDAPMod **mods = NULL;
-                       pstring temp;
-                       
-                       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, is_user?"uidNumber":"gidNumber", temp)) {
-                               return False;
-                       }
-                       ret = atol(temp);
-                       smb_ldap_make_a_mod(&mods, LDAP_MOD_DELETE, 
-                                           is_user?"uidNumber":"gidNumber",
-                                           temp);
-                       slprintf(temp, sizeof(temp) - 1, "%ld", ret + 1);
-                       smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, is_user?"uidNumber":"gidNumber", temp);
-                       slprintf(temp, sizeof(temp) - 1, "cn=%cID Pool,%s", is_user?'U':'G', lp_ldap_user_suffix());
-                       rc = smb_ldap_modify(ldap_state, temp, mods);
-                       ldap_mods_free(mods, 1);
-               } else {
-                       DEBUG(0,("ldap_allocate_id: unexpected number of entries returned\n"));
-                       break;
-               }
-       } while (LDAP_NO_SUCH_ATTRIBUTE == rc && ++sanity < 100);
-
-       return ret;
-}
-
-/*****************************************************************************
- Initialise idmap database. 
-*****************************************************************************/
-static BOOL ldap_idmap_init(void)
-{
-       static struct smb_ldap_privates state;
-       ldap_state = &state;
-
-#ifdef WITH_LDAP_SAMCONFIG
-       {
-               int ldap_port = lp_ldap_port();
-
-               /* remap default port if not using SSL */
-               if (lp_ldap_ssl() != LDAP_SSL_ON && ldap_port == 636) {
-                       ldap_port = 389;
-               }
-
-               ldap_state->uri = asprintf("%s://%s:d", 
-                                          lp_ldap_ssl() == LDAP_SSL_ON ? "ldaps" : "ldap", 
-                                          lp_ldap_server(), ldap_port);
-               if (!ldap_state->uri) {
-                       DEBUG(0,("Out of memory\n"));
-                       return False;
-               }
-       }
-#else
-       ldap_state->uri = "ldap://localhost";
-#endif
-       return True;
-}
-
-static BOOL ldap_get_sid_from_uid(uid_t uid, DOM_SID * sid)
-{
-       pstring filter;
-       int scope = LDAP_SCOPE_SUBTREE;
-       int rc, count;
-       LDAPMessage *result;
-
-       slprintf(filter, sizeof(filter) - 1, "uidNumber=%i", uid);
-
-       DEBUG(2, ("ldap_get_sid_from_uid: searching for:[%s]\n", filter));
-
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(), scope, filter, attr, 0, &result);
-       if (LDAP_SUCCESS != rc) {
-               DEBUG(0,("ldap_get_sid_from_uid: user search failed\n"));
-               return False;
-       }
-       
-       count = ldap_count_entries(ldap_state->ldap_struct, result);
-       if (1 < count) {
-               DEBUG(0,("More than one user exists where: %s\n", filter));
-               ldap_msgfree(result);
-               return False;
-       } else if (1 == count) {
-               /* we found the user, get the users RID */
-               LDAPMessage *entry = ldap_first_entry(ldap_state->ldap_struct, 
-                                                     result);
-               pstring temp, domain;
-               uint32 rid;
-               struct winbindd_domain *wb_dom;
-
-               if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "domain", domain)) {
-                       return False;
-               }
-               if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "rid", temp)) {
-                       return False;
-               }
-               rid = (uint32)atol(temp);
-               wb_dom = find_domain_from_name(domain);
-
-               if (!wb_dom) {
-                       DEBUG(0,("ldap_get_sid_from_uid: could not find domain %s\n", domain));
-                       return False;
-               }
-
-               sid_copy(sid, &wb_dom->sid);
-               sid_append_rid(sid, rid);
-       } else {
-               /* 0 entries? that ain't right */
-               DEBUG(0,("ldap_get_sid_from_uid: not user entry found for %s\n", filter));
-       }
-
-       return True;
-}
-
-static BOOL ldap_get_uid_from_sid(DOM_SID *sid, uid_t *uid)
-{
-       pstring filter;
-       int scope = LDAP_SCOPE_SUBTREE;
-       int rc, count;
-       LDAPMessage *result;
-       uint32 rid = 0;
-       struct winbindd_domain *wb_dom;
-       DOM_SID dom_sid;
-
-       sid_copy(&dom_sid, sid);
-
-       if (!sid_split_rid(&dom_sid, &rid)) {
-               DEBUG(0,("ldap_get_uid_from_sid: sid does not contain an rid\n"));
-               return False;
-       }
-
-       if (!(wb_dom = find_domain_from_sid(&dom_sid))) {
-               DEBUG(0,("ldap_get_uid_from_sid: cannot lookup domain from sid\n"));
-               return False;
-       }
-
-       slprintf(filter, sizeof(filter) - 1, "rid=%d,domain=%s,objectClass=sambaAccount", rid, wb_dom->name);
-
-       DEBUG(2, ("ldap_get_uid_from_sid: searching for:[%s]\n", filter));
-
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(), scope, filter, attr, 0, &result);
-       if (LDAP_NO_SUCH_OBJECT == rc) {
-               LDAPMod **mods = NULL;
-               pstring temp;
-               fstring dom, name;
-               int sid_type;
-
-               winbindd_lookup_name_by_sid(sid, dom, name, 
-                                           (enum SID_USE_TYPE *)&sid_type);
-               slprintf(temp, sizeof(temp) - 1, "%i", rid);
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "rid", temp);
-
-               *uid = ldap_allocate_id(True);
-               slprintf(temp, sizeof(temp) - 1, "%i", *uid);
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "uidNumber", temp);
-
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "uid", name);
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectClass", "sambaAccount");
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectClass", "account");
-               slprintf(temp, sizeof(temp) - 1, "uid=%s,%s", name, lp_ldap_user_suffix());
-               rc = smb_ldap_modify(ldap_state, temp, mods);
-
-               ldap_mods_free(mods, 1);
-               if (LDAP_SUCCESS != rc) {
-                       return False;
-               }
-       } else if (LDAP_SUCCESS == rc) {
-               count = ldap_count_entries(ldap_state->ldap_struct, result);
-               if (1 < count) {
-                       DEBUG(0,("More than one user exists where: %s\n", filter));
-                       ldap_msgfree(result);
-                       return False;
-               } else if (1 == count) {
-                       /* we found the user, get the idNumber */
-                       LDAPMessage *entry = ldap_first_entry(ldap_state->ldap_struct, result);
-                       pstring temp;
-                       
-                       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "uidNumber", temp)) {
-                               return False;
-                       }
-                       *uid = atol(temp);
-               } else {
-                       DEBUG(0,("ldap_get_uid_from_sid: zero entries returned?\n"));
-                       return False;
-               }
-       } else {
-               DEBUG(0,("ldap_get_uid_from_sid: unknown error querying user info\n"));
-               return False;
-       }
-                          
-       return True;
-}
-
-static BOOL ldap_get_sid_from_gid(gid_t gid, DOM_SID * sid)
-{
-       pstring filter;
-       int scope = LDAP_SCOPE_SUBTREE;
-       int rc, count;
-       LDAPMessage *result;
-
-       slprintf(filter, sizeof(filter) - 1, "gidNumber=%i,objectClass=sambaGroupMapping", gid);
-
-       DEBUG(2, ("ldap_get_sid_from_gid: searching for:[%s]\n", filter));
-
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(), scope, filter, attr, 0, &result);
-       if (LDAP_SUCCESS != rc) {
-               DEBUG(0,("ldap_get_sid_from_gid: user search failed\n"));
-               return False;
-       }
-       
-       count = ldap_count_entries(ldap_state->ldap_struct, result);
-       if (1 < count) {
-               DEBUG(0,("More than one group exists where: %s\n", filter));
-               ldap_msgfree(result);
-               return False;
-       } else if (1 == count) {
-               LDAPMessage *entry = ldap_first_entry(ldap_state->ldap_struct, 
-                                                     result);
-               pstring str_sid;
-
-               if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "ntSid", str_sid)) {
-                       return False;
-               }
-
-               string_to_sid(sid, str_sid);
-       } else {
-               /* 0 entries? that ain't right */
-               DEBUG(0,("ldap_get_sid_from_gid: not group entry found for %s\n", filter));
-       }
-
-       return True;
-}
-
-static BOOL ldap_get_gid_from_sid(DOM_SID *sid, gid_t *gid)
-{
-       pstring filter;
-       int scope = LDAP_SCOPE_SUBTREE;
-       int rc, count;
-       LDAPMessage *result;
-       fstring str_sid;
-
-       sid_to_string(str_sid, sid);
-
-       slprintf(filter, sizeof(filter) - 1, "ntSid=%s,objectClass=sambaGroupMapping", str_sid);
-
-       DEBUG(2, ("ldap_get_gid_from_sid: searching for:[%s]\n", filter));
-
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(), scope, filter, attr, 0, &result);
-       if (LDAP_NO_SUCH_OBJECT == rc) {
-               LDAPMod **mods = NULL;
-               pstring temp;
-
-               *gid = ldap_allocate_id(False);
-               slprintf(temp, sizeof(temp) - 1, "%i", *gid);
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "gidNumber", temp);
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectClass", "sambaGroupMapping");
-               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectClass", "account");
-               slprintf(temp, sizeof(temp) - 1, "gidNumber=%i,%s", *gid, lp_ldap_user_suffix());
-               rc = smb_ldap_modify(ldap_state, temp, mods);
-
-               ldap_mods_free(mods, 1);
-               if (LDAP_SUCCESS != rc) {
-                       return False;
-               }
-       } else if (LDAP_SUCCESS == rc) {
-               count = ldap_count_entries(ldap_state->ldap_struct, result);
-               if (1 < count) {
-                       DEBUG(0,("More than one group exists where: %s\n", filter));
-                       ldap_msgfree(result);
-                       return False;
-               } else if (1 == count) {
-                       LDAPMessage *entry = ldap_first_entry(ldap_state->ldap_struct, result);
-                       pstring temp;
-                       
-                       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "gidNumber", temp)) {
-                               return False;
-                       }
-                       *gid = atol(temp);
-               } else {
-                       DEBUG(0,("ldap_get_gid_from_sid: zero entries returned?\n"));
-                       return False;
-               }
-       } else {
-               DEBUG(0,("ldap_get_gid_from_sid: unknown error querying user info\n"));
-               return False;
-       }
-                          
-       return True;
-}
-
-static BOOL ldap_idmap_close(void)
-{
-       smb_ldap_close(ldap_state);
-       ldap_state = 0;
-       return True;
-}
-
-static void ldap_idmap_status(void)
-{
-       DEBUG(0, ("winbindd idmap status:\n"));
-       DEBUG(0, ("Using LDAP\n"));
-}
-
-struct winbindd_idmap_methods ldap_idmap_methods = {
-       ldap_idmap_init,
-
-       ldap_get_sid_from_uid,
-       ldap_get_sid_from_gid,
-
-       ldap_get_uid_from_sid,
-       ldap_get_gid_from_sid,
-
-       ldap_idmap_close,
-
-       ldap_idmap_status
-};
-
-#endif
-
-BOOL winbind_idmap_reg_ldap(struct winbindd_idmap_methods **meth)
-{
-#ifdef HAVE_LDAP
-       *meth = &ldap_idmap_methods;
-
-       return True;
-#else
-       DEBUG(0,("winbind_idmap_reg_ldap: LDAP support not compiled\n"));
-       return False;
-#endif
-}
diff --git a/source3/nsswitch/winbindd_idmap_tdb.c b/source3/nsswitch/winbindd_idmap_tdb.c
deleted file mode 100644 (file)
index b47b7ed..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Winbind daemon - user related function
-
-   Copyright (C) Tim Potter 2000
-   Copyright (C) Anthony Liguori 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
-   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 "winbindd.h"
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_WINBIND
-
-/* High water mark keys */
-#define HWM_GROUP  "GROUP HWM"
-#define HWM_USER   "USER HWM"
-
-/* idmap version determines auto-conversion */
-#define IDMAP_VERSION 2
-
-/* Globals */
-static TDB_CONTEXT *idmap_tdb;
-
-/* convert one record to the new format */
-static int tdb_convert_fn(TDB_CONTEXT * tdb, TDB_DATA key, TDB_DATA data,
-                         void *ignored)
-{
-       struct winbindd_domain *domain;
-       char *p;
-       DOM_SID sid;
-       uint32 rid;
-       fstring keystr;
-       fstring dom_name;
-       TDB_DATA key2;
-
-       p = strchr(key.dptr, '/');
-       if (!p)
-               return 0;
-
-       *p = 0;
-       fstrcpy(dom_name, key.dptr);
-       *p++ = '/';
-
-       domain = find_domain_from_name(dom_name);
-       if (!domain) {
-               /* We must delete the old record. */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to find domain %s\n",
-                      dom_name));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : deleting record %s\n",
-                      key.dptr));
-               tdb_delete(idmap_tdb, key);
-               return 0;
-       }
-
-       rid = atoi(p);
-
-       sid_copy(&sid, &domain->sid);
-       sid_append_rid(&sid, rid);
-
-       sid_to_string(keystr, &sid);
-       key2.dptr = keystr;
-       key2.dsize = strlen(keystr) + 1;
-
-       if (tdb_store(idmap_tdb, key2, data, TDB_INSERT) != 0) {
-               /* not good! */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to update record %s\n",
-                      key2.dptr));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : conversion failed - idmap corrupt ?\n"));
-               return -1;
-       }
-
-       if (tdb_store(idmap_tdb, data, key2, TDB_REPLACE) != 0) {
-               /* not good! */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to update record %s\n",
-                      data.dptr));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : conversion failed - idmap corrupt ?\n"));
-               return -1;
-       }
-
-       tdb_delete(idmap_tdb, key);
-
-       return 0;
-}
-
-/*****************************************************************************
- Convert the idmap database from an older version.
-*****************************************************************************/
-static BOOL tdb_idmap_convert(const char *idmap_name)
-{
-       int32 vers = tdb_fetch_int32(idmap_tdb, "IDMAP_VERSION");
-       BOOL bigendianheader =
-           (idmap_tdb->flags & TDB_BIGENDIAN) ? True : False;
-
-       if (vers == IDMAP_VERSION)
-               return True;
-
-       if (((vers == -1) && bigendianheader)
-           || (IREV(vers) == IDMAP_VERSION)) {
-               /* Arrggghh ! Bytereversed or old big-endian - make order independent ! */
-               /*
-                * high and low records were created on a
-                * big endian machine and will need byte-reversing.
-                */
-
-               int32 wm;
-
-               wm = tdb_fetch_int32(idmap_tdb, HWM_USER);
-
-               if (wm != -1) {
-                       wm = IREV(wm);
-               } else
-                       wm = server_state.uid_low;
-
-               if (tdb_store_int32(idmap_tdb, HWM_USER, wm) == -1) {
-                       DEBUG(0,
-                             ("tdb_idmap_convert: Unable to byteswap user hwm in idmap database\n"));
-                       return False;
-               }
-
-               wm = tdb_fetch_int32(idmap_tdb, HWM_GROUP);
-               if (wm != -1) {
-                       wm = IREV(wm);
-               } else
-                       wm = server_state.gid_low;
-
-               if (tdb_store_int32(idmap_tdb, HWM_GROUP, wm) == -1) {
-                       DEBUG(0,
-                             ("tdb_idmap_convert: Unable to byteswap group hwm in idmap database\n"));
-                       return False;
-               }
-       }
-
-       /* the old format stored as DOMAIN/rid - now we store the SID direct */
-       tdb_traverse(idmap_tdb, tdb_convert_fn, NULL);
-
-       if (tdb_store_int32(idmap_tdb, "IDMAP_VERSION", IDMAP_VERSION) ==
-           -1) {
-               DEBUG(0,
-                     ("tdb_idmap_convert: Unable to byteswap group hwm in idmap database\n"));
-               return False;
-       }
-
-       return True;
-}
-
-/* Allocate either a user or group id from the pool */
-static BOOL tdb_allocate_id(uid_t * id, BOOL isgroup)
-{
-       int hwm;
-
-       /* Get current high water mark */
-       if ((hwm = tdb_fetch_int32(idmap_tdb,
-                                  isgroup ? HWM_GROUP : HWM_USER)) ==
-           -1) {
-               return False;
-       }
-
-       /* Return next available uid in list */
-       if ((isgroup && (hwm > server_state.gid_high)) ||
-           (!isgroup && (hwm > server_state.uid_high))) {
-               DEBUG(0,
-                     ("winbind %sid range full!\n", isgroup ? "g" : "u"));
-               return False;
-       }
-
-       if (id) {
-               *id = hwm;
-       }
-
-       hwm++;
-
-       /* Store new high water mark */
-       tdb_store_int32(idmap_tdb, isgroup ? HWM_GROUP : HWM_USER, hwm);
-
-       return True;
-}
-
-/* Get a sid from an id */
-static BOOL tdb_get_sid_from_id(int id, DOM_SID * sid, BOOL isgroup)
-{
-       TDB_DATA key, data;
-       fstring keystr;
-       BOOL result = False;
-
-       slprintf(keystr, sizeof(keystr), "%s %d", isgroup ? "GID" : "UID",
-                id);
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(idmap_tdb, key);
-
-       if (data.dptr) {
-               result = string_to_sid(sid, data.dptr);
-               SAFE_FREE(data.dptr);
-       }
-
-       return result;
-}
-
-/* Get an id from a sid */
-static BOOL tdb_get_id_from_sid(DOM_SID * sid, uid_t * id, BOOL isgroup)
-{
-       TDB_DATA data, key;
-       fstring keystr;
-       BOOL result = False;
-
-       /* Check if sid is present in database */
-       sid_to_string(keystr, sid);
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(idmap_tdb, key);
-
-       if (data.dptr) {
-               fstring scanstr;
-               int the_id;
-
-               /* Parse and return existing uid */
-               fstrcpy(scanstr, isgroup ? "GID" : "UID");
-               fstrcat(scanstr, " %d");
-
-               if (sscanf(data.dptr, scanstr, &the_id) == 1) {
-                       /* Store uid */
-                       if (id) {
-                               *id = the_id;
-                       }
-
-                       result = True;
-               }
-
-               SAFE_FREE(data.dptr);
-       } else {
-
-               /* Allocate a new id for this sid */
-               if (id && tdb_allocate_id(id, isgroup)) {
-                       fstring keystr2;
-
-                       /* Store new id */
-                       slprintf(keystr2, sizeof(keystr2), "%s %d",
-                                isgroup ? "GID" : "UID", *id);
-
-                       data.dptr = keystr2;
-                       data.dsize = strlen(keystr2) + 1;
-
-                       tdb_store(idmap_tdb, key, data, TDB_REPLACE);
-                       tdb_store(idmap_tdb, data, key, TDB_REPLACE);
-
-                       result = True;
-               }
-       }
-
-       return result;
-}
-
-/*****************************************************************************
- Initialise idmap database. 
-*****************************************************************************/
-static BOOL tdb_idmap_init(void)
-{
-       /* Open tdb cache */
-       if (!(idmap_tdb = tdb_open_log(lock_path("winbindd_idmap.tdb"), 0,
-                                      TDB_DEFAULT, O_RDWR | O_CREAT,
-                                      0600))) {
-               DEBUG(0,
-                     ("winbindd_idmap_init: Unable to open idmap database\n"));
-               return False;
-       }
-
-       /* possibly convert from an earlier version */
-       if (!tdb_idmap_convert(lock_path("winbindd_idmap.tdb"))) {
-               DEBUG(0,
-                     ("winbindd_idmap_init: Unable to open idmap database\n"));
-               return False;
-       }
-
-       /* Create high water marks for group and user id */
-       if (tdb_fetch_int32(idmap_tdb, HWM_USER) == -1) {
-               if (tdb_store_int32
-                   (idmap_tdb, HWM_USER, server_state.uid_low) == -1) {
-                       DEBUG(0,
-                             ("winbindd_idmap_init: Unable to initialise user hwm in idmap database\n"));
-                       return False;
-               }
-       }
-
-       if (tdb_fetch_int32(idmap_tdb, HWM_GROUP) == -1) {
-               if (tdb_store_int32
-                   (idmap_tdb, HWM_GROUP, server_state.gid_low) == -1) {
-                       DEBUG(0,
-                             ("winbindd_idmap_init: Unable to initialise group hwm in idmap database\n"));
-                       return False;
-               }
-       }
-
-       return True;
-}
-
-/* Get a sid from a uid */
-static BOOL tdb_get_sid_from_uid(uid_t uid, DOM_SID * sid)
-{
-       return tdb_get_sid_from_id((int) uid, sid, False);
-}
-
-/* Get a sid from a gid */
-static BOOL tdb_get_sid_from_gid(gid_t gid, DOM_SID * sid)
-{
-       return tdb_get_sid_from_id((int) gid, sid, True);
-}
-
-/* Get a uid from a sid */
-static BOOL tdb_get_uid_from_sid(DOM_SID * sid, uid_t * uid)
-{
-       return tdb_get_id_from_sid(sid, uid, False);
-}
-
-/* Get a gid from a group sid */
-static BOOL tdb_get_gid_from_sid(DOM_SID * sid, gid_t * gid)
-{
-       return tdb_get_id_from_sid(sid, gid, True);
-}
-
-/* Close the tdb */
-static BOOL tdb_idmap_close(void)
-{
-       if (idmap_tdb)
-               return (tdb_close(idmap_tdb) == 0);
-       return True;
-}
-
-
-/* Dump status information to log file.  Display different stuff based on
-   the debug level:
-
-   Debug Level        Information Displayed
-   =================================================================
-   0                  Percentage of [ug]id range allocated
-   0                  High water marks (next allocated ids)
-*/
-
-#define DUMP_INFO 0
-
-static void tdb_idmap_status(void)
-{
-       int user_hwm, group_hwm;
-
-       DEBUG(0, ("winbindd idmap status:\n"));
-
-       /* Get current high water marks */
-
-       if ((user_hwm = tdb_fetch_int32(idmap_tdb, HWM_USER)) == -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tCould not get userid high water mark!\n"));
-       }
-
-       if ((group_hwm = tdb_fetch_int32(idmap_tdb, HWM_GROUP)) == -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tCould not get groupid high water mark!\n"));
-       }
-
-       /* Display next ids to allocate */
-
-       if (user_hwm != -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tNext userid to allocate is %d\n", user_hwm));
-       }
-
-       if (group_hwm != -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tNext groupid to allocate is %d\n", group_hwm));
-       }
-
-       /* Display percentage of id range already allocated. */
-
-       if (user_hwm != -1) {
-               int num_users = user_hwm - server_state.uid_low;
-               int total_users =
-                   server_state.uid_high - server_state.uid_low;
-
-               DEBUG(DUMP_INFO,
-                     ("\tUser id range is %d%% full (%d of %d)\n",
-                      num_users * 100 / total_users, num_users,
-                      total_users));
-       }
-
-       if (group_hwm != -1) {
-               int num_groups = group_hwm - server_state.gid_low;
-               int total_groups =
-                   server_state.gid_high - server_state.gid_low;
-
-               DEBUG(DUMP_INFO,
-                     ("\tGroup id range is %d%% full (%d of %d)\n",
-                      num_groups * 100 / total_groups, num_groups,
-                      total_groups));
-       }
-
-       /* Display complete mapping of users and groups to rids */
-}
-
-struct winbindd_idmap_methods tdb_idmap_methods = {
-       tdb_idmap_init,
-
-       tdb_get_sid_from_uid,
-       tdb_get_sid_from_gid,
-
-       tdb_get_uid_from_sid,
-       tdb_get_gid_from_sid,
-
-       tdb_idmap_close,
-
-       tdb_idmap_status
-};
-
-BOOL winbind_idmap_reg_tdb(struct winbindd_idmap_methods **meth)
-{
-       *meth = &tdb_idmap_methods;
-
-       return True;
-}
index e65d2bb0f69dea7b5d18581325df981348da1546..d408a8b3ae4a2da9ef79b4695c1a9d3c0cf70e54 100644 (file)
@@ -140,12 +140,7 @@ enum winbindd_result winbindd_pam_auth(struct winbindd_cli_state *state)
         
        uni_group_cache_store_netlogon(mem_ctx, &info3);
 done:
-       
-       /* give us a more useful (more correct?) error code */
-       if ((NT_STATUS_EQUAL(result, NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND) || (NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL)))) {
-               result = NT_STATUS_NO_LOGON_SERVERS;
-       }
-       
+
        state->response.data.auth.nt_status = NT_STATUS_V(result);
        fstrcpy(state->response.data.auth.nt_status_string, nt_errstr(result));
        fstrcpy(state->response.data.auth.error_string, get_friendly_nt_error_msg(result));
@@ -181,8 +176,6 @@ enum winbindd_result winbindd_pam_auth_crap(struct winbindd_cli_state *state)
 
        if (!state->privilaged) {
                DEBUG(2, ("winbindd_pam_auth_crap: non-privilaged access denied!\n"));
-               /* send a better message than ACCESS_DENIED */
-               push_utf8_fstring(state->response.data.auth.error_string, "winbind client not authorized to use winbindd_pam_auth_crap");
                result =  NT_STATUS_ACCESS_DENIED;
                goto done;
        }
@@ -289,21 +282,15 @@ enum winbindd_result winbindd_pam_auth_crap(struct winbindd_cli_state *state)
                        memcpy(state->response.data.auth.nt_session_key, info3.user_sess_key, sizeof(state->response.data.auth.nt_session_key) /* 16 */);
                }
                if (state->request.data.auth_crap.flags & WINBIND_PAM_LMKEY) {
-                       memcpy(state->response.data.auth.first_8_lm_hash, info3.padding, sizeof(state->response.data.auth.first_8_lm_hash) /* 8 */);
+                       memcpy(state->response.data.auth.first_8_lm_hash, info3.padding, sizeof(state->response.data.auth.nt_session_key) /* 16 */);
                }
        }
 
 done:
 
-       /* give us a more useful (more correct?) error code */
-       if ((NT_STATUS_EQUAL(result, NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND) || (NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL)))) {
-               result = NT_STATUS_NO_LOGON_SERVERS;
-       }
-       
        state->response.data.auth.nt_status = NT_STATUS_V(result);
        push_utf8_fstring(state->response.data.auth.nt_status_string, nt_errstr(result));
-       if (!*state->response.data.auth.error_string) 
-               push_utf8_fstring(state->response.data.auth.error_string, get_friendly_nt_error_msg(result));
+       push_utf8_fstring(state->response.data.auth.error_string, nt_errstr(result));
        state->response.data.auth.pam_error = nt_status_to_pam(result);
 
        DEBUG(NT_STATUS_IS_OK(result) ? 5 : 2, 
index 9ec35617f111cdd7030f7d6abc1caca78c0dd881..48f528f5206216488ca0dce3a2763af0b1446f1c 100644 (file)
@@ -3,7 +3,7 @@
 
    Winbind rpc backend functions
 
-   Copyright (C) Tim Potter 2000-2001,2003
+   Copyright (C) Tim Potter 2000-2001
    Copyright (C) Andrew Tridgell 2001
    
    This program is free software; you can redistribute it and/or modify
@@ -26,7 +26,6 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
-
 /* Query display info for a domain.  This returns enough information plus a
    bit extra to give an overview of domain users for the User Manager
    application. */
@@ -40,17 +39,18 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
        POLICY_HND dom_pol;
        BOOL got_dom_pol = False;
        uint32 des_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
-       unsigned int i, start_idx, retry;
+       int i, loop_count = 0;
+       int retry;
 
        DEBUG(3,("rpc: query_user_list\n"));
 
        *num_entries = 0;
        *info = NULL;
 
+       /* Get sam handle */
+
        retry = 0;
        do {
-               /* Get sam handle */
-
                if (!(hnd = cm_get_sam_handle(domain->name)))
                        goto done;
 
@@ -66,39 +66,50 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
 
        got_dom_pol = True;
 
-       i = start_idx = 0;
+       i = 0;
        do {
+               SAM_DISPINFO_CTR ctr;
+               SAM_DISPINFO_1 info1;
+               uint32 count = 0, start=i, max_entries, max_size;
+               int j;
                TALLOC_CTX *ctx2;
-               char **dom_users;
-               uint32 num_dom_users, *dom_rids, j, size = 0xffff;
-               uint16 acb_mask = ACB_NORMAL;
 
-               if (!(ctx2 = talloc_init("winbindd enum_users"))) {
+               ctr.sam.info1 = &info1;
+
+               ctx2 = talloc_init("winbindd dispinfo");
+               if (!ctx2) {
                        result = NT_STATUS_NO_MEMORY;
                        goto done;
-               }               
+               }
+               
+               get_query_dispinfo_params(
+                       loop_count, &max_entries, &max_size);
 
-               result = cli_samr_enum_dom_users(
-                       hnd->cli, ctx2, &dom_pol, &start_idx, acb_mask,
-                       size, &dom_users, &dom_rids, &num_dom_users);
+               /* Query display info level 1 */
+               result = cli_samr_query_dispinfo(
+                       hnd->cli, ctx2, &dom_pol, &start, 1, &count, 
+                       max_entries, max_size, &ctr);
 
-               *num_entries += num_dom_users;
+               loop_count++;
 
-               *info = talloc_realloc(
-                       mem_ctx, *info, 
-                       (*num_entries) * sizeof(WINBIND_USERINFO));
+               if (!NT_STATUS_IS_OK(result) && 
+                   !NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES)) break;
 
+               (*num_entries) += count;
+
+               /* now map the result into the WINBIND_USERINFO structure */
+               (*info) = talloc_realloc(mem_ctx, *info,
+                                        (*num_entries)*sizeof(WINBIND_USERINFO));
                if (!(*info)) {
                        result = NT_STATUS_NO_MEMORY;
                        talloc_destroy(ctx2);
                        goto done;
                }
 
-               for (j = 0; j < num_dom_users; i++, j++) {
-                       (*info)[i].acct_name = 
-                               talloc_strdup(mem_ctx, dom_users[j]);
-                       (*info)[i].full_name = talloc_strdup(mem_ctx, "");
-                       (*info)[i].user_sid = rid_to_talloced_sid(domain, mem_ctx, dom_rids[j]);
+               for (j=0;j<count;i++, j++) {
+                       (*info)[i].acct_name = unistr2_tdup(mem_ctx, &info1.str[j].uni_acct_name);
+                       (*info)[i].full_name = unistr2_tdup(mem_ctx, &info1.str[j].uni_full_name);
+                       (*info)[i].user_rid = info1.sam[j].rid_user;
                        /* For the moment we set the primary group for
                           every user to be the Domain Users group.
                           There are serious problems with determining
@@ -106,14 +117,10 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain,
                           This should really be made into a 'winbind
                           force group' smb.conf parameter or
                           something like that. */
-                       (*info)[i].group_sid 
-                               = rid_to_talloced_sid(domain, 
-                                                     mem_ctx, 
-                                                     DOMAIN_GROUP_RID_USERS);
+                       (*info)[i].group_rid = DOMAIN_GROUP_RID_USERS;
                }
 
                talloc_destroy(ctx2);
-
        } while (NT_STATUS_EQUAL(result, STATUS_MORE_ENTRIES));
 
  done:
@@ -256,11 +263,11 @@ static NTSTATUS enum_local_groups(struct winbindd_domain *domain,
 
 /* convert a single name to a sid in a domain */
 static NTSTATUS name_to_sid(struct winbindd_domain *domain,
-                           TALLOC_CTX *mem_ctx,
                            const char *name,
                            DOM_SID *sid,
                            enum SID_NAME_USE *type)
 {
+       TALLOC_CTX *mem_ctx;
        CLI_POLICY_HND *hnd;
        NTSTATUS status;
        DOM_SID *sids = NULL;
@@ -270,16 +277,23 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain,
 
        DEBUG(3,("rpc: name_to_sid name=%s\n", name));
 
+       if (!(mem_ctx = talloc_init("name_to_sid[rpc] for [%s]\\[%s]", domain->name, name))) {
+               DEBUG(0, ("talloc_init failed!\n"));
+               return NT_STATUS_NO_MEMORY;
+       }
+        
        full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain->name, name);
        
        if (!full_name) {
                DEBUG(0, ("talloc_asprintf failed!\n"));
+               talloc_destroy(mem_ctx);
                return NT_STATUS_NO_MEMORY;
        }
 
        retry = 0;
        do {
                if (!(hnd = cm_get_lsa_handle(domain->name))) {
+                       talloc_destroy(mem_ctx);
                        return NT_STATUS_UNSUCCESSFUL;
                }
         
@@ -294,6 +308,7 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain,
                *type = types[0];
        }
 
+       talloc_destroy(mem_ctx);
        return status;
 }
 
@@ -341,22 +356,17 @@ static NTSTATUS sid_to_name(struct winbindd_domain *domain,
 /* Lookup user information from a rid or username. */
 static NTSTATUS query_user(struct winbindd_domain *domain, 
                           TALLOC_CTX *mem_ctx, 
-                          DOM_SID *user_sid, 
+                          uint32 user_rid, 
                           WINBIND_USERINFO *user_info)
 {
-       CLI_POLICY_HND *hnd = NULL;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
+       CLI_POLICY_HND *hnd;
+       NTSTATUS result;
        POLICY_HND dom_pol, user_pol;
        BOOL got_dom_pol = False, got_user_pol = False;
        SAM_USERINFO_CTR *ctr;
        int retry;
-       fstring sid_string;
-       uint32 user_rid;
 
-       DEBUG(3,("rpc: query_user rid=%s\n", sid_to_string(sid_string, user_sid)));
-       if (!sid_peek_check_rid(&domain->sid, user_sid, &user_rid)) {
-               goto done;
-       }
+       DEBUG(3,("rpc: query_user rid=%u\n", user_rid));
 
        retry = 0;
        do {
@@ -395,8 +405,8 @@ static NTSTATUS query_user(struct winbindd_domain *domain,
        cli_samr_close(hnd->cli, mem_ctx, &user_pol);
        got_user_pol = False;
 
-       user_info->user_sid = rid_to_talloced_sid(domain, mem_ctx, user_rid);
-       user_info->group_sid = rid_to_talloced_sid(domain, mem_ctx, ctr->info.id21->group_rid);
+       user_info->user_rid = user_rid;
+       user_info->group_rid = ctr->info.id21->group_rid;
        user_info->acct_name = unistr2_tdup(mem_ctx, 
                                            &ctr->info.id21->uni_user_name);
        user_info->full_name = unistr2_tdup(mem_ctx, 
@@ -416,8 +426,8 @@ static NTSTATUS query_user(struct winbindd_domain *domain,
 /* Lookup groups a user is a member of.  I wish Unix had a call like this! */
 static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
                                  TALLOC_CTX *mem_ctx,
-                                 DOM_SID *user_sid,
-                                 uint32 *num_groups, DOM_SID ***user_gids)
+                                 uint32 user_rid, 
+                                 uint32 *num_groups, uint32 **user_gids)
 {
        CLI_POLICY_HND *hnd;
        NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
@@ -425,17 +435,15 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
        uint32 des_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
        BOOL got_dom_pol = False, got_user_pol = False;
        DOM_GID *user_groups;
-       unsigned int i;
-       unsigned int retry;
-       fstring sid_string;
-       uint32 user_rid;
+       int i;
+       int retry;
 
-       DEBUG(3,("rpc: lookup_usergroups sid=%s\n", sid_to_string(sid_string, user_sid)));
+       DEBUG(3,("rpc: lookup_usergroups rid=%u\n", user_rid));
 
        *num_groups = 0;
 
        /* First try cached universal groups from logon */
-       *user_gids = uni_group_cache_fetch(&domain->sid, user_sid, mem_ctx, num_groups);
+       *user_gids = uni_group_cache_fetch(&domain->sid, user_rid, mem_ctx, num_groups);
        if((*num_groups > 0) && *user_gids) {
                return NT_STATUS_OK;
        } else {
@@ -451,7 +459,7 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
 
                /* Get domain handle */
                result = cli_samr_open_domain(hnd->cli, mem_ctx, &hnd->pol,
-                                             des_access, &domain->sid, &dom_pol);
+                                               des_access, &domain->sid, &dom_pol);
        } while (!NT_STATUS_IS_OK(result) && (retry++ < 1) && hnd && hnd->cli && hnd->cli->fd == -1);
 
        if (!NT_STATUS_IS_OK(result))
@@ -459,11 +467,6 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
 
        got_dom_pol = True;
 
-
-       if (!sid_peek_check_rid(&domain->sid, user_sid, &user_rid)) {
-               goto done;
-       }
-
        /* Get user handle */
        result = cli_samr_open_user(hnd->cli, mem_ctx, &dom_pol,
                                        des_access, user_rid, &user_pol);
@@ -481,13 +484,8 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
                goto done;
 
        (*user_gids) = talloc(mem_ctx, sizeof(uint32) * (*num_groups));
-       if (!(*user_gids)) {
-               result = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
-
        for (i=0;i<(*num_groups);i++) {
-               (*user_gids)[i] = rid_to_talloced_sid(domain, mem_ctx, user_groups[i].g_rid);
+               (*user_gids)[i] = user_groups[i].g_rid;
        }
        
  done:
@@ -505,27 +503,19 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
 /* Lookup group membership given a rid.   */
 static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                                TALLOC_CTX *mem_ctx,
-                               DOM_SID *group_sid, uint32 *num_names, 
-                               DOM_SID ***sid_mem, char ***names, 
+                               uint32 group_rid, uint32 *num_names, 
+                               uint32 **rid_mem, char ***names, 
                                uint32 **name_types)
 {
-        CLI_POLICY_HND *hnd = NULL;
+        CLI_POLICY_HND *hnd;
         NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
         uint32 i, total_names = 0;
         POLICY_HND dom_pol, group_pol;
         uint32 des_access = SEC_RIGHTS_MAXIMUM_ALLOWED;
         BOOL got_dom_pol = False, got_group_pol = False;
-       uint32 *rid_mem = NULL;
-       uint32 group_rid;
        int retry;
-       unsigned int j;
-       fstring sid_string;
 
-       DEBUG(10,("rpc: lookup_groupmem %s sid=%s\n", domain->name, sid_to_string(sid_string, group_sid)));
-
-       if (!sid_peek_check_rid(&domain->sid, group_sid, &group_rid)) {
-               goto done;
-       }
+       DEBUG(10,("rpc: lookup_groupmem %s rid=%u\n", domain->name, group_rid));
 
        *num_names = 0;
 
@@ -560,7 +550,7 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
            group. */
 
         result = cli_samr_query_groupmem(hnd->cli, mem_ctx,
-                                         &group_pol, num_names, &rid_mem,
+                                         &group_pol, num_names, rid_mem,
                                          name_types);
 
         if (!NT_STATUS_IS_OK(result))
@@ -575,16 +565,6 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
 
         *names = talloc_zero(mem_ctx, *num_names * sizeof(char *));
         *name_types = talloc_zero(mem_ctx, *num_names * sizeof(uint32));
-        *sid_mem = talloc_zero(mem_ctx, *num_names * sizeof(DOM_SID *));
-
-       for (j=0;j<(*num_names);j++) {
-               (*sid_mem)[j] = rid_to_talloced_sid(domain, mem_ctx, (rid_mem)[j]);
-       }
-       
-       if (!*names || !*name_types) {
-               result = NT_STATUS_NO_MEMORY;
-               goto done;
-       }
 
         for (i = 0; i < *num_names; i += MAX_LOOKUP_RIDS) {
                 int num_lookup_rids = MIN(*num_names - i, MAX_LOOKUP_RIDS);
@@ -597,7 +577,7 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
                 result = cli_samr_lookup_rids(hnd->cli, mem_ctx,
                                               &dom_pol, 1000, /* flags */
                                               num_lookup_rids,
-                                              &rid_mem[i],
+                                              &(*rid_mem)[i],
                                               &tmp_num_names,
                                               &tmp_names, &tmp_types);
 
@@ -612,7 +592,7 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
 
                 memcpy(&(*name_types)[i], tmp_types, sizeof(uint32) *
                        tmp_num_names);
-               
+
                 total_names += tmp_num_names;
         }
 
index d2bd231918ae789399b50baa8d91b8a2de35ec11..6c544d7cf252648c4e9bf4f7923eac333078a757 100644 (file)
 /* Fill a pwent structure with information we have obtained */
 
 static BOOL winbindd_fill_pwent(char *dom_name, char *user_name, 
-                               DOM_SID *user_sid, DOM_SID *group_sid,
+                               uint32 user_rid, uint32 group_rid, 
                                char *full_name, struct winbindd_pw *pw)
 {
        extern userdom_struct current_user_info;
        fstring output_username;
        pstring homedir;
-       fstring sid_string;
        
        if (!pw || !dom_name || !user_name)
                return False;
        
        /* Resolve the uid number */
        
-       if (!winbindd_idmap_get_uid_from_sid(user_sid, 
+       if (!winbindd_idmap_get_uid_from_rid(dom_name, user_rid, 
                                             &pw->pw_uid)) {
-               DEBUG(1, ("error getting user id for sid %s\n", sid_to_string(sid_string, user_sid)));
+               DEBUG(1, ("error getting user id for rid %d\n", user_rid));
                return False;
        }
        
        /* Resolve the gid number */   
        
-       if (!winbindd_idmap_get_gid_from_sid(group_sid, 
+       if (!winbindd_idmap_get_gid_from_rid(dom_name, group_rid, 
                                             &pw->pw_gid)) {
-               DEBUG(1, ("error getting group id for sid %s\n", sid_to_string(sid_string, group_sid)));
+               DEBUG(1, ("error getting group id for rid %d\n", group_rid));
                return False;
        }
 
@@ -96,6 +95,7 @@ static BOOL winbindd_fill_pwent(char *dom_name, char *user_name,
 
 enum winbindd_result winbindd_getpwnam(struct winbindd_cli_state *state) 
 {
+       uint32 user_rid;
        WINBIND_USERINFO user_info;
        DOM_SID user_sid;
        NTSTATUS status;
@@ -144,7 +144,9 @@ enum winbindd_result winbindd_getpwnam(struct winbindd_cli_state *state)
                return WINBINDD_ERROR;
        }
 
-       status = domain->methods->query_user(domain, mem_ctx, &user_sid, 
+       sid_split_rid(&user_sid, &user_rid);
+
+       status = domain->methods->query_user(domain, mem_ctx, user_rid, 
                                             &user_info);
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -156,7 +158,7 @@ enum winbindd_result winbindd_getpwnam(struct winbindd_cli_state *state)
     
        /* Now take all this information and fill in a passwd structure */      
        if (!winbindd_fill_pwent(name_domain, name_user, 
-                                user_info.user_sid, user_info.group_sid, 
+                                user_rid, user_info.group_rid, 
                                 user_info.full_name,
                                 &state->response.data.pw)) {
                talloc_destroy(mem_ctx);
@@ -174,6 +176,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
 {
        DOM_SID user_sid;
        struct winbindd_domain *domain;
+       uint32 user_rid;
        fstring dom_name;
        fstring user_name;
        enum SID_NAME_USE name_type;
@@ -193,15 +196,18 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
        
        /* Get rid from uid */
 
-       if (!winbindd_idmap_get_sid_from_uid(state->request.data.uid, 
-                                            &user_sid)) {
-               DEBUG(1, ("could not convert uid %d to SID\n", 
+       if (!winbindd_idmap_get_rid_from_uid(state->request.data.uid, 
+                                            &user_rid, &domain)) {
+               DEBUG(1, ("could not convert uid %d to rid\n", 
                          state->request.data.uid));
                return WINBINDD_ERROR;
        }
        
        /* Get name and name type from rid */
 
+       sid_copy(&user_sid, &domain->sid);
+       sid_append_rid(&user_sid, user_rid);
+       
        if (!winbindd_lookup_name_by_sid(&user_sid, dom_name, user_name, &name_type)) {
                fstring temp;
                
@@ -210,13 +216,6 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
                return WINBINDD_ERROR;
        }
        
-       domain = find_domain_from_sid(&user_sid);
-
-       if (!domain) {
-               DEBUG(1,("Can't find domain from sid\n"));
-               return WINBINDD_ERROR;
-       }
-
        /* Get some user info */
        
        if (!(mem_ctx = talloc_init("winbind_getpwuid(%d)",
@@ -226,7 +225,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
                return WINBINDD_ERROR;
        }
 
-       status = domain->methods->query_user(domain, mem_ctx, &user_sid, 
+       status = domain->methods->query_user(domain, mem_ctx, user_rid, 
                                             &user_info);
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -238,7 +237,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
        
        /* Resolve gid number */
 
-       if (!winbindd_idmap_get_gid_from_sid(user_info.group_sid, &gid)) {
+       if (!winbindd_idmap_get_gid_from_rid(domain->name, user_info.group_rid, &gid)) {
                DEBUG(1, ("error getting group id for user %s\n", user_name));
                talloc_destroy(mem_ctx);
                return WINBINDD_ERROR;
@@ -246,8 +245,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
 
        /* Fill in password structure */
 
-       if (!winbindd_fill_pwent(domain->name, user_name, user_info.user_sid, 
-                                user_info.group_sid,
+       if (!winbindd_fill_pwent(domain->name, user_name, user_rid, user_info.group_rid,
                                 user_info.full_name, &state->response.data.pw)) {
                talloc_destroy(mem_ctx);
                return WINBINDD_ERROR;
@@ -334,13 +332,13 @@ static BOOL get_sam_user_entries(struct getent_state *ent)
        TALLOC_CTX *mem_ctx;
        struct winbindd_domain *domain;
        struct winbindd_methods *methods;
-       unsigned int i;
+       int i;
 
        if (ent->num_sam_entries)
                return False;
 
        if (!(mem_ctx = talloc_init("get_sam_user_entries(%s)",
-                                   ent->domain_name)))
+                                         ent->domain_name)))
                return False;
 
        if (!(domain = find_domain_from_name(ent->domain_name))) {
@@ -395,8 +393,8 @@ static BOOL get_sam_user_entries(struct getent_state *ent)
                }
                
                /* User and group ids */
-               sid_copy(&name_list[ent->num_sam_entries+i].user_sid, info[i].user_sid);
-               sid_copy(&name_list[ent->num_sam_entries+i].group_sid, info[i].group_sid);
+               name_list[ent->num_sam_entries+i].user_rid = info[i].user_rid;
+               name_list[ent->num_sam_entries+i].group_rid = info[i].group_rid;
        }
                
        ent->num_sam_entries += num_entries;
@@ -493,8 +491,8 @@ enum winbindd_result winbindd_getpwent(struct winbindd_cli_state *state)
                result = winbindd_fill_pwent(
                        ent->domain_name, 
                        name_list[ent->sam_entry_index].name,
-                       &name_list[ent->sam_entry_index].user_sid,
-                       &name_list[ent->sam_entry_index].group_sid,
+                       name_list[ent->sam_entry_index].user_rid,
+                       name_list[ent->sam_entry_index].group_rid,
                        name_list[ent->sam_entry_index].gecos,
                        &user_list[user_list_ndx]);
                
@@ -541,7 +539,7 @@ enum winbindd_result winbindd_list_users(struct winbindd_cli_state *state)
        for (domain = domain_list(); domain; domain = domain->next) {
                NTSTATUS status;
                struct winbindd_methods *methods;
-               unsigned int i;
+               int i;
 
                methods = domain->methods;
 
index ac0b317b427a6ee633fb713fbe5bf61936b7b8b2..262d862b8aa11103ab6cce031167d89af2d2baac 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]);
                }
        }
 
@@ -271,20 +268,14 @@ BOOL winbindd_lookup_sid_by_name(struct winbindd_domain *domain,
                                 enum SID_NAME_USE *type)
 {
        NTSTATUS result;
-        TALLOC_CTX *mem_ctx;
+        
        /* Don't bother with machine accounts */
-
+        
        if (name[strlen(name) - 1] == '$')
                return False;
 
-       mem_ctx = talloc_init("lookup_sid_by_name for %s\n", name);
-       if (!mem_ctx) 
-               return False;
-        
        /* Lookup name */
-       result = domain->methods->name_to_sid(domain, mem_ctx, name, sid, type);
-
-       talloc_destroy(mem_ctx);
+       result = domain->methods->name_to_sid(domain, name, sid, type);
         
        /* Return rid and type if lookup successful */
        if (!NT_STATUS_IS_OK(result)) {
@@ -380,12 +371,12 @@ BOOL winbindd_param_init(void)
 {
        /* Parse winbind uid and winbind_gid parameters */
 
-       if (!lp_idmap_uid(&server_state.uid_low, &server_state.uid_high)) {
+       if (!lp_winbind_uid(&server_state.uid_low, &server_state.uid_high)) {
                DEBUG(0, ("winbind uid range missing or invalid\n"));
                return False;
        }
        
-       if (!lp_idmap_gid(&server_state.gid_low, &server_state.gid_high)) {
+       if (!lp_winbind_gid(&server_state.gid_low, &server_state.gid_high)) {
                DEBUG(0, ("winbind gid range missing or invalid\n"));
                return False;
        }
@@ -558,20 +549,3 @@ int winbindd_num_clients(void)
 {
        return _num_clients;
 }
-
-/* Help with RID -> SID conversion */
-
-DOM_SID *rid_to_talloced_sid(struct winbindd_domain *domain,
-                                   TALLOC_CTX *mem_ctx,
-                                   uint32 rid) 
-{
-       DOM_SID *sid;
-       sid = talloc(mem_ctx, sizeof(*sid));
-       if (!sid) {
-               smb_panic("rid_to_to_talloced_sid: talloc for DOM_SID failed!\n");
-       }
-       sid_copy(sid, &domain->sid);
-       sid_append_rid(sid, rid);
-       return sid;
-}
-       
index 4e2536cf8946e19f19a4590f47bcba320102915a..606c4d605a68470f7bea7c627a0a123e0d7cc2e5 100644 (file)
@@ -8,7 +8,6 @@
    Copyright (C) Simo Sorce 2001
    Copyright (C) Alexander Bokovoy 2002
    Copyright (C) Stefan (metze) Metzmacher 2002
-   Copyright (C) Anthony Liguori 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
@@ -82,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.
  */
@@ -119,8 +111,6 @@ typedef struct
        char *szSMBPasswdFile;
        char *szPrivateDir;
        char **szPassdbBackend;
-       char **szSamBackend;
-       char **szPreloadModules;
        char *szPasswordServer;
        char *szSocketOptions;
        char *szRealm;
@@ -162,18 +152,16 @@ typedef struct
        BOOL bUtmp;
 #endif
        char *szSourceEnv;
-       char *szIdmapUID;
-       char *szIdmapGID;
+       char *szWinbindUID;
+       char *szWinbindGID;
        char *szNonUnixAccountRange;
-       int AlgorithmicRidBase;
+       BOOL bAlgorithmicRidBase;
        char *szTemplateHomedir;
        char *szTemplateShell;
        char *szWinbindSeparator;
        BOOL bWinbindEnumUsers;
        BOOL bWinbindEnumGroups;
        BOOL bWinbindUseDefaultDomain;
-       char *szWinbindBackend;
-       char *szIdmapBackend;
        char *szAddShareCommand;
        char *szChangeShareCommand;
        char *szDeleteShareCommand;
@@ -286,7 +274,6 @@ typedef struct
        int restrict_anonymous;
        int name_cache_timeout;
        BOOL client_signing;
-       param_opt_struct *param_opt;
 }
 global;
 
@@ -409,7 +396,6 @@ typedef struct
        BOOL bNTAclSupport;
        BOOL bUseSendfile;
        BOOL bProfileAcls;
-       param_opt_struct *param_opt;
 
        char dummy[3];          /* for alignment */
 }
@@ -530,8 +516,6 @@ static service sDefault = {
        True,                   /* bNTAclSupport */
        False,                  /* bUseSendfile */
        False,                  /* bProfileAcls */
-       
-       NULL,                   /* Parametric options */
 
        ""                      /* dummy */
 };
@@ -550,10 +534,11 @@ static int default_server_announce;
 /* prototypes for the special type handlers */
 static BOOL handle_include(const char *pszParmValue, char **ptr);
 static BOOL handle_copy(const char *pszParmValue, char **ptr);
+static BOOL handle_vfs_object(const char *pszParmValue, char **ptr);
 static BOOL handle_source_env(const char *pszParmValue, char **ptr);
 static BOOL handle_netbios_name(const char *pszParmValue, char **ptr);
-static BOOL handle_idmap_uid(const char *pszParmValue, char **ptr);
-static BOOL handle_idmap_gid(const char *pszParmValue, char **ptr);
+static BOOL handle_winbind_uid(const char *pszParmValue, char **ptr);
+static BOOL handle_winbind_gid(const char *pszParmValue, char **ptr);
 static BOOL handle_non_unix_account_range(const char *pszParmValue, char **ptr);
 static BOOL handle_debug_list( const char *pszParmValue, char **ptr );
 static BOOL handle_workgroup( const char *pszParmValue, char **ptr );
@@ -752,7 +737,6 @@ static struct parm_struct parm_table[] = {
        {"update encrypted", P_BOOL, P_GLOBAL, &Globals.bUpdateEncrypt, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_DEVELOPER},
        {"allow trusted domains", P_BOOL, P_GLOBAL, &Globals.bAllowTrustedDomains, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"hosts equiv", P_STRING, P_GLOBAL, &Globals.szHostsEquiv, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"idmap backend", P_STRING, P_GLOBAL, &Globals.szIdmapBackend, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"min passwd length", P_INTEGER, P_GLOBAL, &Globals.min_passwd_length, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"min password length", P_INTEGER, P_GLOBAL, &Globals.min_passwd_length, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"map to guest", P_ENUM, P_GLOBAL, &Globals.map_to_guest, NULL, enum_map_to_guest, FLAG_ADVANCED | FLAG_DEVELOPER},
@@ -761,10 +745,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},
@@ -826,7 +809,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},
-       {"preload modules", P_LIST, P_GLOBAL, &Globals.szPreloadModules, NULL, NULL, FLAG_BASIC | FLAG_GLOBAL},
 
        {"Logging Options", P_SEP, P_SEPARATOR},
 
@@ -1106,7 +1088,7 @@ static struct parm_struct parm_table[] = {
 
        {"VFS module options", P_SEP, P_SEPARATOR},
        
-       {"vfs object", P_LIST, P_LOCAL, &sDefault.szVfsObjectFile, NULL, NULL, FLAG_SHARE},
+       {"vfs object", P_STRING, P_LOCAL, &sDefault.szVfsObjectFile, handle_vfs_object, NULL, FLAG_SHARE},
        {"vfs options", P_STRING, P_LOCAL, &sDefault.szVfsOptions, NULL, NULL, FLAG_SHARE},
        {"vfs path", P_STRING, P_LOCAL, &sDefault.szVfsPath, NULL, NULL, FLAG_SHARE},
 
@@ -1117,10 +1099,8 @@ static struct parm_struct parm_table[] = {
 
        {"Winbind options", P_SEP, P_SEPARATOR},
 
-       {"idmap uid", P_STRING, P_GLOBAL, &Globals.szIdmapUID, handle_idmap_uid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"winbind uid", P_STRING, P_GLOBAL, &Globals.szIdmapUID, handle_idmap_uid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER | FLAG_HIDE},
-       {"idmap gid", P_STRING, P_GLOBAL, &Globals.szIdmapGID, handle_idmap_gid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"winbind gid", P_STRING, P_GLOBAL, &Globals.szIdmapGID, handle_idmap_gid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER | FLAG_HIDE},
+       {"winbind uid", P_STRING, P_GLOBAL, &Globals.szWinbindUID, handle_winbind_uid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+       {"winbind gid", P_STRING, P_GLOBAL, &Globals.szWinbindGID, handle_winbind_gid, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"template homedir", P_STRING, P_GLOBAL, &Globals.szTemplateHomedir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"template shell", P_STRING, P_GLOBAL, &Globals.szTemplateShell, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"winbind separator", P_STRING, P_GLOBAL, &Globals.szWinbindSeparator, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
@@ -1128,7 +1108,6 @@ static struct parm_struct parm_table[] = {
        {"winbind enum users", P_BOOL, P_GLOBAL, &Globals.bWinbindEnumUsers, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"winbind enum groups", P_BOOL, P_GLOBAL, &Globals.bWinbindEnumGroups, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
        {"winbind use default domain", P_BOOL, P_GLOBAL, &Globals.bWinbindUseDefaultDomain, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
-       {"winbind backend", P_STRING, P_GLOBAL, &Globals.szWinbindBackend, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
 
        {NULL, P_BOOL, P_NONE, NULL, NULL, NULL, 0}
 };
@@ -1328,7 +1307,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;
@@ -1473,8 +1452,6 @@ static void init_globals(void)
        Globals.bWinbindEnumGroups = True;
        Globals.bWinbindUseDefaultDomain = False;
 
-       string_set(&Globals.szWinbindBackend, "tdb");
-
        Globals.name_cache_timeout = 660; /* In seconds */
 
        Globals.bUseSpnego = True;
@@ -1525,9 +1502,6 @@ static char *lp_string(const char *s)
        if (!ret)
                return NULL;
 
-       /* Note: StrnCpy touches len+1 bytes, but we allocate 100
-        * extra bytes so we're OK. */
-
        if (!s)
                *ret = 0;
        else
@@ -1623,8 +1597,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_preload_modules, &Globals.szPreloadModules)
 FN_GLOBAL_STRING(lp_panic_action, &Globals.szPanicAction)
 FN_GLOBAL_STRING(lp_adduser_script, &Globals.szAddUserScript)
 FN_GLOBAL_STRING(lp_deluser_script, &Globals.szDelUserScript)
@@ -1650,9 +1622,6 @@ FN_GLOBAL_STRING(lp_acl_compatibility, &Globals.szAclCompat)
 FN_GLOBAL_BOOL(lp_winbind_enum_users, &Globals.bWinbindEnumUsers)
 FN_GLOBAL_BOOL(lp_winbind_enum_groups, &Globals.bWinbindEnumGroups)
 FN_GLOBAL_BOOL(lp_winbind_use_default_domain, &Globals.bWinbindUseDefaultDomain)
-FN_GLOBAL_STRING(lp_winbind_backend, &Globals.szWinbindBackend)
-
-FN_GLOBAL_STRING(lp_idmap_backend, &Globals.szIdmapBackend)
 
 #ifdef WITH_LDAP_SAMCONFIG
 FN_GLOBAL_STRING(lp_ldap_server, &Globals.szLdapServer)
@@ -1786,7 +1755,7 @@ FN_LOCAL_LIST(lp_readlist, readlist)
 FN_LOCAL_LIST(lp_writelist, writelist)
 FN_LOCAL_LIST(lp_printer_admin, printer_admin)
 FN_LOCAL_STRING(lp_fstype, fstype)
-FN_LOCAL_LIST(lp_vfsobj, szVfsObjectFile)
+FN_LOCAL_STRING(lp_vfsobj, szVfsObjectFile)
 FN_LOCAL_STRING(lp_vfs_options, szVfsOptions)
 FN_LOCAL_STRING(lp_vfs_path, szVfsPath)
 FN_LOCAL_STRING(lp_msdfs_proxy, szMSDfsProxy)
@@ -1864,10 +1833,53 @@ 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 */
 
 static int map_parameter(const char *pszParmName);
@@ -1881,198 +1893,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.
@@ -2091,7 +1911,6 @@ static void init_service(service * pservice)
 static void free_service(service *pservice)
 {
        int i;
-        param_opt_struct *data, *pdata;
        if (!pservice)
                return;
 
@@ -2116,16 +1935,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);
 }
@@ -2140,27 +1949,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 */
@@ -2403,8 +2199,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 &&
@@ -2458,30 +2252,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;
-       }
 }
 
 /***************************************************************************
@@ -2750,6 +2520,22 @@ static BOOL handle_source_env(const char *pszParmValue, char **ptr)
        return (result);
 }
 
+/***************************************************************************
+ Handle the interpretation of the vfs object parameter.
+*************************************************************************/
+
+static BOOL handle_vfs_object(const char *pszParmValue, char **ptr)
+{
+       /* Set string value */
+
+       string_set(ptr, pszParmValue);
+
+       /* Do any other initialisation required for vfs.  Note that
+          anything done here may have linking repercussions in nmbd. */
+
+       return True;
+}
+
 /***************************************************************************
  Handle the include operation.
 ***************************************************************************/
@@ -2810,49 +2596,49 @@ static BOOL handle_copy(const char *pszParmValue, char **ptr)
 }
 
 /***************************************************************************
- Handle idmap/non unix account uid and gid allocation parameters.  The format of these
+ Handle winbind/non unix account uid and gid allocation parameters.  The format of these
  parameters is:
 
  [global]
 
-        idmap uid = 1000-1999
-        idmap gid = 700-899
+        winbind uid = 1000-1999
+        winbind gid = 700-899
 
  We only do simple parsing checks here.  The strings are parsed into useful
- structures in the idmap daemon code.
+ structures in the winbind daemon code.
 
 ***************************************************************************/
 
-/* Some lp_ routines to return idmap [ug]id information */
+/* Some lp_ routines to return winbind [ug]id information */
 
-static uid_t idmap_uid_low, idmap_uid_high;
-static gid_t idmap_gid_low, idmap_gid_high;
+static uid_t winbind_uid_low, winbind_uid_high;
+static gid_t winbind_gid_low, winbind_gid_high;
 static uint32 non_unix_account_low, non_unix_account_high;
 
-BOOL lp_idmap_uid(uid_t *low, uid_t *high)
+BOOL lp_winbind_uid(uid_t *low, uid_t *high)
 {
-        if (idmap_uid_low == 0 || idmap_uid_high == 0)
+        if (winbind_uid_low == 0 || winbind_uid_high == 0)
                 return False;
 
         if (low)
-                *low = idmap_uid_low;
+                *low = winbind_uid_low;
 
         if (high)
-                *high = idmap_uid_high;
+                *high = winbind_uid_high;
 
         return True;
 }
 
-BOOL lp_idmap_gid(gid_t *low, gid_t *high)
+BOOL lp_winbind_gid(gid_t *low, gid_t *high)
 {
-        if (idmap_gid_low == 0 || idmap_gid_high == 0)
+        if (winbind_gid_low == 0 || winbind_gid_high == 0)
                 return False;
 
         if (low)
-                *low = idmap_gid_low;
+                *low = winbind_gid_low;
 
         if (high)
-                *high = idmap_gid_high;
+                *high = winbind_gid_high;
 
         return True;
 }
@@ -2871,9 +2657,9 @@ BOOL lp_non_unix_account_range(uint32 *low, uint32 *high)
         return True;
 }
 
-/* Do some simple checks on "idmap [ug]id" parameter values */
+/* Do some simple checks on "winbind [ug]id" parameter values */
 
-static BOOL handle_idmap_uid(const char *pszParmValue, char **ptr)
+static BOOL handle_winbind_uid(const char *pszParmValue, char **ptr)
 {
        uint32 low, high;
 
@@ -2884,13 +2670,13 @@ static BOOL handle_idmap_uid(const char *pszParmValue, char **ptr)
 
        string_set(ptr, pszParmValue);
 
-        idmap_uid_low = low;
-        idmap_uid_high = high;
+        winbind_uid_low = low;
+        winbind_uid_high = high;
 
        return True;
 }
 
-static BOOL handle_idmap_gid(const char *pszParmValue, char **ptr)
+static BOOL handle_winbind_gid(const char *pszParmValue, char **ptr)
 {
        uint32 low, high;
 
@@ -2901,8 +2687,8 @@ static BOOL handle_idmap_gid(const char *pszParmValue, char **ptr)
 
        string_set(ptr, pszParmValue);
 
-        idmap_gid_low = low;
-        idmap_gid_high = high;
+        winbind_gid_low = low;
+        winbind_gid_high = high;
 
        return True;
 }
@@ -3080,8 +2866,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);
 
@@ -3089,35 +2874,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);
                        pstrcat(vfskey, sep+1);
                        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);
                }
@@ -3467,6 +3232,7 @@ static void dump_globals(FILE *f)
 {
        int i;
        param_opt_struct *data;
+       char *s;
        
        fprintf(f, "# Global parameters\n[global]\n");
 
@@ -3480,11 +3246,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;
                }
         }
 
@@ -3511,6 +3280,8 @@ static void dump_a_service(service * pService, FILE * f)
 {
        int i;
        param_opt_struct *data;
+       const char *sn;
+       char *s;
        
        if (pService != &sDefault)
                fprintf(f, "\n[%s]\n", pService->szService);
@@ -3539,11 +3310,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;
                }
         }
 }
@@ -3805,18 +3580,7 @@ static void set_server_role(void)
                                DEBUG(0, ("Server's Role (logon server) conflicts with share-level security\n"));
                        break;
                case SEC_SERVER:
-                       if (lp_domain_logons())
-                               DEBUG(0, ("Server's Role (logon server) conflicts with server-level security\n"));
-                       server_role = ROLE_DOMAIN_MEMBER;
-                       break;
                case SEC_DOMAIN:
-                       if (lp_domain_logons()) {
-                               DEBUG(1, ("Server's Role (logon server) NOT ADVISED with domain-level security\n"));
-                               server_role = ROLE_DOMAIN_BDC;
-                               break;
-                       }
-                       server_role = ROLE_DOMAIN_MEMBER;
-                       break;
                case SEC_ADS:
                        if (lp_domain_logons()) {
                                server_role = ROLE_DOMAIN_PDC;
@@ -3889,16 +3653,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 a86d9362630b994c84f244dfd5e7f1fc4133613c..80b4bb4dc3b841170868a81911711cba7944009b 100644 (file)
@@ -490,7 +490,7 @@ BOOL pdb_set_init_flags (SAM_ACCOUNT *sampass, enum pdb_elements element, enum p
                                DEBUG(0,("Can't set flag: %d in set_flags.\n",element));
                                return False;
                        }
-                       DEBUG(10, ("element %d -> now SET\n", element)); 
+                       DEBUG(11, ("element %d -> now SET\n", element)); 
                        break;
                case PDB_DEFAULT:
                default:
@@ -502,7 +502,7 @@ BOOL pdb_set_init_flags (SAM_ACCOUNT *sampass, enum pdb_elements element, enum p
                                DEBUG(0,("Can't set flag: %d in set_flags.\n",element));
                                return False;
                        }
-                       DEBUG(11, ("element %d -> now DEFAULT\n", element)); 
+                       DEBUG(10, ("element %d -> now DEFAULT\n", element)); 
                        break;
        }
 
index f5a15057e092c5e927ee294f822fa00592ac86ed..88a75aa667bda424cca4cc3dac6908c21b5c49e5 100644 (file)
@@ -122,8 +122,3 @@ NTSTATUS pdb_init_guestsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, c
        return NT_STATUS_OK;
 }
 
-int pdb_guest_init(void)
-{
-    return smb_register_passdb("guest", pdb_init_guestsam, PASSDB_INTERFACE_VERSION);
-}
-
index 8adcd9dbfa6669e8b6d22892c540ab12d4e0c707..42be673d25a6e2b8b84043ab1716d47d0714d635 100644 (file)
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_PASSDB
 
-static struct pdb_init_function_entry *backends = NULL;
-
-static void lazy_initialize_passdb(void)
-{
-       static BOOL initialized = False;
-       if(initialized)return;
-       static_init_pdb;
-       initialized = True;
-}
-
-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 = smb_xstrdup(name);
-       entry->init = init;
-
-       DLIST_ADD(backends, entry);
-       DEBUG(5,("Successfully added passdb backend '%s'\n", name));
-       return True;
-}
-
-static struct pdb_init_function_entry *pdb_find_backend_entry(const char *name)
-{
-       struct pdb_init_function_entry *entry = backends;
-       pstring stripped;
-
-       module_path_get_name(name, stripped);
-
-       while(entry) {
-               if (strequal(entry->name, stripped)) return entry;
-               entry = entry->next;
-       }
-
-       return NULL;
-}
+/** List of various built-in passdb modules */
+
+const struct pdb_init_function_entry builtin_pdb_init_functions[] = {
+       { "smbpasswd", pdb_init_smbpasswd },
+       { "smbpasswd_nua", pdb_init_smbpasswd_nua },
+       { "tdbsam", pdb_init_tdbsam },
+       { "tdbsam_nua", pdb_init_tdbsam_nua },
+       { "ldapsam", pdb_init_ldapsam },
+       { "ldapsam_nua", pdb_init_ldapsam_nua },
+       { "unixsam", pdb_init_unixsam },
+       { "guest", pdb_init_guestsam },
+       { "nisplussam", pdb_init_nisplussam },
+       { "plugin", pdb_init_plugin },
+       { NULL, NULL}
+};
 
 static NTSTATUS context_setsampwent(struct pdb_context *context, BOOL update)
 {
@@ -408,10 +372,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();
+       int i;
 
        p = strchr(module_name, ':');
 
@@ -423,37 +385,27 @@ 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));
-
-       entry = pdb_find_backend_entry(module_name);
-       
-       /* Try to find a module that contains this module */
-       if (!entry) { 
-               DEBUG(2,("No builtin backend found, trying to load plugin\n"));
-               if(smb_probe_module("passdb", module_name) && !(entry = pdb_find_backend_entry(module_name))) {
-                       DEBUG(0,("Plugin is available, but doesn't register passdb backend %s\n", 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 (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 {
+                               DEBUG(0,("pdb backend %s did not correctly init (error was %s)\n", selected, nt_errstr(nt_status)));
+                       }
                        SAFE_FREE(module_name);
-                       return NT_STATUS_UNSUCCESSFUL;
+                       return nt_status;
+                       break; /* unreached */
                }
        }
-       
+
        /* No such backend found */
-       if(!entry) { 
-               DEBUG(0,("No builtin nor plugin backend for %s found\n", module_name));
-               SAFE_FREE(module_name);
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-       
-       DEBUG(5,("Found pdb backend %s\n", module_name));
-       nt_status = entry->init(context, methods, module_location);
-       if (NT_STATUS_IS_OK(nt_status)) {
-               DEBUG(5,("pdb backend %s has a valid init\n", selected));
-       } else {
-               DEBUG(0,("pdb backend %s did not correctly init (error was %s)\n", selected, nt_errstr(nt_status)));
-       }
        SAFE_FREE(module_name);
-       return nt_status;
+       return NT_STATUS_INVALID_PARAMETER;
 }
 
 /******************************************************************
index eaef7f37a7b62dd76e6555a5eecd5de5b00d2c36..026056dc7f6d2c5d34ff9011ea4f3e1920eb701e 100644 (file)
@@ -6,7 +6,6 @@
    Copyright (C) Shahms King                   2001
    Copyright (C) Andrew Bartlett               2002
    Copyright (C) Stefan (metze) Metzmacher     2002
-   Copyright (C) Jim McDonough                  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
@@ -29,6 +28,7 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_PASSDB
 
+#ifdef HAVE_LDAP
 /* TODO:
 *  persistent connections: if using NSS LDAP, many connections are made
 *      however, using only one within Samba would be nice
 #include <lber.h>
 #include <ldap.h>
 
-#include "smb_ldap.h"
-
 #ifndef SAM_ACCOUNT
 #define SAM_ACCOUNT struct sam_passwd
 #endif
 
-static uint32 ldapsam_get_next_available_nua_rid(struct smb_ldap_privates *ldap_state);
+struct ldapsam_privates {
+
+       /* Former statics */
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+       int index;
+       
+       time_t last_ping;
+       /* retrive-once info */
+       const char *uri;
+       
+       BOOL permit_non_unix_accounts;
+       
+       uint32 low_nua_rid; 
+       uint32 high_nua_rid; 
+
+       char *bind_dn;
+       char *bind_secret;
+};
+
+#define LDAPSAM_DONT_PING_TIME 10      /* ping only all 10 seconds */
+
+static struct ldapsam_privates *static_ldap_state;
+
+static uint32 ldapsam_get_next_available_nua_rid(struct ldapsam_privates *ldap_state);
 
 /*******************************************************************
  find the ldap password
@@ -135,24 +158,503 @@ static const char *attr[] = {"uid", "pwdLastSet", "logonTime",
                             "uidNumber", "gidNumber", 
                             "homeDirectory", NULL };
 
+/*******************************************************************
+ open a connection to the ldap server.
+******************************************************************/
+static int ldapsam_open_connection (struct ldapsam_privates *ldap_state, LDAP ** ldap_struct)
+{
+       int rc = LDAP_SUCCESS;
+       int version;
+       BOOL ldap_v3 = False;
+
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+       DEBUG(10, ("ldapsam_open_connection: %s\n", ldap_state->uri));
+       
+       if ((rc = ldap_initialize(ldap_struct, ldap_state->uri)) != LDAP_SUCCESS) {
+               DEBUG(0, ("ldap_initialize: %s\n", ldap_err2string(rc)));
+               return rc;
+       }
+       
+#else 
+
+       /* Parse the string manually */
+
+       {
+               int port = 0;
+               fstring protocol;
+               fstring host;
+               const char *p = ldap_state->uri; 
+               SMB_ASSERT(sizeof(protocol)>10 && sizeof(host)>254);
+               
+               /* skip leading "URL:" (if any) */
+               if ( strncasecmp( p, "URL:", 4 ) == 0 ) {
+                       p += 4;
+               }
+               
+               sscanf(p, "%10[^:]://%254s[^:]:%d", protocol, host, &port);
+               
+               if (port == 0) {
+                       if (strequal(protocol, "ldap")) {
+                               port = LDAP_PORT;
+                       } else if (strequal(protocol, "ldaps")) {
+                               port = LDAPS_PORT;
+                       } else {
+                               DEBUG(0, ("unrecognised protocol (%s)!\n", protocol));
+                       }
+               }
+               
+               if ((*ldap_struct = ldap_init(host, port)) == NULL)     {
+                       DEBUG(0, ("ldap_init failed !\n"));
+                       return LDAP_OPERATIONS_ERROR;
+               }
+               
+               if (strequal(protocol, "ldaps")) {
+#ifdef LDAP_OPT_X_TLS
+                       int tls = LDAP_OPT_X_TLS_HARD;
+                       if (ldap_set_option (*ldap_struct, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS)
+                       {
+                               DEBUG(0, ("Failed to setup a TLS session\n"));
+                       }
+                       
+                       DEBUG(3,("LDAPS option set...!\n"));
+#else
+                       DEBUG(0,("ldapsam_open_connection: Secure connection not supported by LDAP client libraries!\n"));
+                       return LDAP_OPERATIONS_ERROR;
+#endif
+               }
+       }
+#endif
+
+       if (ldap_get_option(*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS)
+       {
+               if (version != LDAP_VERSION3)
+               {
+                       version = LDAP_VERSION3;
+                       if (ldap_set_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS) {
+                               ldap_v3 = True;
+                       }
+               } else {
+                       ldap_v3 = True;
+               }
+       }
+
+       if (lp_ldap_ssl() == LDAP_SSL_START_TLS) {
+#ifdef LDAP_OPT_X_TLS
+               if (ldap_v3) {
+                       if ((rc = ldap_start_tls_s (*ldap_struct, NULL, NULL)) != LDAP_SUCCESS)
+                       {
+                               DEBUG(0,("Failed to issue the StartTLS instruction: %s\n",
+                                        ldap_err2string(rc)));
+                               return rc;
+                       }
+                       DEBUG (3, ("StartTLS issued: using a TLS connection\n"));
+               } else {
+                       
+                       DEBUG(0, ("Need LDAPv3 for Start TLS\n"));
+                       return LDAP_OPERATIONS_ERROR;
+               }
+#else
+               DEBUG(0,("ldapsam_open_connection: StartTLS not supported by LDAP client libraries!\n"));
+               return LDAP_OPERATIONS_ERROR;
+#endif
+       }
+
+       DEBUG(2, ("ldapsam_open_connection: connection opened\n"));
+       return rc;
+}
+
+
+/*******************************************************************
+ a rebind function for authenticated referrals
+ This version takes a void* that we can shove useful stuff in :-)
+******************************************************************/
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+#else
+static int rebindproc_with_state  (LDAP * ld, char **whop, char **credp, 
+                                  int *methodp, int freeit, void *arg)
+{
+       struct ldapsam_privates *ldap_state = arg;
+       
+       /** @TODO Should we be doing something to check what servers we rebind to?
+           Could we get a referral to a machine that we don't want to give our
+           username and password to? */
+       
+       if (freeit) {
+               SAFE_FREE(*whop);
+               memset(*credp, '\0', strlen(*credp));
+               SAFE_FREE(*credp);
+       } else {
+               DEBUG(5,("rebind_proc_with_state: Rebinding as \"%s\"\n", 
+                         ldap_state->bind_dn));
+
+               *whop = strdup(ldap_state->bind_dn);
+               if (!*whop) {
+                       return LDAP_NO_MEMORY;
+               }
+               *credp = strdup(ldap_state->bind_secret);
+               if (!*credp) {
+                       SAFE_FREE(*whop);
+                       return LDAP_NO_MEMORY;
+               }
+               *methodp = LDAP_AUTH_SIMPLE;
+       }
+       return 0;
+}
+#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+
+/*******************************************************************
+ a rebind function for authenticated referrals
+ This version takes a void* that we can shove useful stuff in :-)
+ and actually does the connection.
+******************************************************************/
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+static int rebindproc_connect_with_state (LDAP *ldap_struct, 
+                                         LDAP_CONST char *url, 
+                                         ber_tag_t request,
+                                         ber_int_t msgid, void *arg)
+{
+       struct ldapsam_privates *ldap_state = arg;
+       int rc;
+       DEBUG(5,("rebindproc_connect_with_state: Rebinding as \"%s\"\n", 
+                ldap_state->bind_dn));
+       
+       /** @TODO Should we be doing something to check what servers we rebind to?
+           Could we get a referral to a machine that we don't want to give our
+           username and password to? */
+
+       rc = ldap_simple_bind_s(ldap_struct, ldap_state->bind_dn, ldap_state->bind_secret);
+       
+       return rc;
+}
+#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+
+/*******************************************************************
+ Add a rebind function for authenticated referrals
+******************************************************************/
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+#else
+# if LDAP_SET_REBIND_PROC_ARGS == 2
+static int rebindproc (LDAP *ldap_struct, char **whop, char **credp,
+                      int *method, int freeit )
+{
+       return rebindproc_with_state(ldap_struct, whop, credp,
+                                  method, freeit, static_ldap_state);
+       
+}
+# endif /*LDAP_SET_REBIND_PROC_ARGS == 2*/
+#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+
+/*******************************************************************
+ a rebind function for authenticated referrals
+ this also does the connection, but no void*.
+******************************************************************/
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+# if LDAP_SET_REBIND_PROC_ARGS == 2
+static int rebindproc_connect (LDAP * ld, LDAP_CONST char *url, int request,
+                              ber_int_t msgid)
+{
+       return rebindproc_connect_with_state(ld, url, (ber_tag_t)request, msgid, 
+                                            static_ldap_state);
+}
+# endif /*LDAP_SET_REBIND_PROC_ARGS == 2*/
+#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+
+/*******************************************************************
+ connect to the ldap server under system privilege.
+******************************************************************/
+static int ldapsam_connect_system(struct ldapsam_privates *ldap_state, LDAP * ldap_struct)
+{
+       int rc;
+       char *ldap_dn;
+       char *ldap_secret;
+
+       /* The rebind proc needs this *HACK*.  We are not multithreaded, so
+          this will work, but it's not nice. */
+       static_ldap_state = ldap_state;
+
+       /* get the password */
+       if (!fetch_ldapsam_pw(&ldap_dn, &ldap_secret))
+       {
+               DEBUG(0, ("ldap_connect_system: Failed to retrieve password from secrets.tdb\n"));
+               return LDAP_INVALID_CREDENTIALS;
+       }
+
+       ldap_state->bind_dn = ldap_dn;
+       ldap_state->bind_secret = ldap_secret;
+
+       /* removed the sasl_bind_s "EXTERNAL" stuff, as my testsuite 
+          (OpenLDAP) doesnt' seem to support it */
+          
+       DEBUG(10,("ldap_connect_system: Binding to ldap server %s as \"%s\"\n",
+                 ldap_state->uri, ldap_dn));
+
+#if defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)
+# if LDAP_SET_REBIND_PROC_ARGS == 2    
+       ldap_set_rebind_proc(ldap_struct, &rebindproc_connect); 
+# endif
+# if LDAP_SET_REBIND_PROC_ARGS == 3    
+       ldap_set_rebind_proc(ldap_struct, &rebindproc_connect_with_state, (void *)ldap_state);  
+# endif
+#else /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+# if LDAP_SET_REBIND_PROC_ARGS == 2    
+       ldap_set_rebind_proc(ldap_struct, &rebindproc); 
+# endif
+# if LDAP_SET_REBIND_PROC_ARGS == 3    
+       ldap_set_rebind_proc(ldap_struct, &rebindproc_with_state, (void *)ldap_state);  
+# endif
+#endif /*defined(LDAP_API_FEATURE_X_OPENLDAP) && (LDAP_API_VERSION > 2000)*/
+
+       rc = ldap_simple_bind_s(ldap_struct, ldap_dn, ldap_secret);
+
+       if (rc != LDAP_SUCCESS) {
+               char *ld_error;
+               ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
+                               &ld_error);
+               DEBUG(0,
+                     ("failed to bind to server with dn= %s Error: %s\n\t%s\n",
+                              ldap_dn, ldap_err2string(rc),
+                              ld_error));
+               free(ld_error);
+               return rc;
+       }
+       
+       DEBUG(2, ("ldap_connect_system: succesful connection to the LDAP server\n"));
+       return rc;
+}
+
+/**********************************************************************
+Connect to LDAP server 
+*********************************************************************/
+static int ldapsam_open(struct ldapsam_privates *ldap_state)
+{
+       int rc;
+       SMB_ASSERT(ldap_state);
+               
+#ifndef NO_LDAP_SECURITY
+       if (geteuid() != 0) {
+               DEBUG(0, ("ldapsam_open: cannot access LDAP when not root..\n"));
+               return  LDAP_INSUFFICIENT_ACCESS;
+       }
+#endif
+
+       if ((ldap_state->ldap_struct != NULL) && ((ldap_state->last_ping + LDAPSAM_DONT_PING_TIME) < time(NULL))) {
+               struct sockaddr_un addr;
+               socklen_t len;
+               int sd;
+               if (ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_DESC, &sd) == 0 &&
+                   getpeername(sd, (struct sockaddr *) &addr, &len) < 0) {
+                       /* the other end has died. reopen. */
+                       ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
+                       ldap_state->ldap_struct = NULL;
+                       ldap_state->last_ping = (time_t)0;
+               } else {
+                       ldap_state->last_ping = time(NULL);
+               } 
+       }
+
+       if (ldap_state->ldap_struct != NULL) {
+               DEBUG(5,("ldapsam_open: allready connected to the LDAP server\n"));
+               return LDAP_SUCCESS;
+       }
+
+       if ((rc = ldapsam_open_connection(ldap_state, &ldap_state->ldap_struct))) {
+               return rc;
+       }
+
+       if ((rc = ldapsam_connect_system(ldap_state, ldap_state->ldap_struct))) {
+               ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
+               ldap_state->ldap_struct = NULL;
+               return rc;
+       }
+
+
+       ldap_state->last_ping = time(NULL);
+       DEBUG(4,("The LDAP server is succesful connected\n"));
+
+       return LDAP_SUCCESS;
+}
+
+/**********************************************************************
+Disconnect from LDAP server 
+*********************************************************************/
+static NTSTATUS ldapsam_close(struct ldapsam_privates *ldap_state)
+{
+       if (!ldap_state)
+               return NT_STATUS_INVALID_PARAMETER;
+               
+       if (ldap_state->ldap_struct != NULL) {
+               ldap_unbind_ext(ldap_state->ldap_struct, NULL, NULL);
+               ldap_state->ldap_struct = NULL;
+       }
+       
+       DEBUG(5,("The connection to the LDAP server was closed\n"));
+       /* maybe free the results here --metze */
+       
+       return NT_STATUS_OK;
+}
+
+static int ldapsam_retry_open(struct ldapsam_privates *ldap_state, int *attempts)
+{
+       int rc;
+
+       SMB_ASSERT(ldap_state && attempts);
+               
+       if (*attempts != 0) {
+               /* we retry after 0.5, 2, 4.5, 8, 12.5, 18, 24.5 seconds */
+               msleep((((*attempts)*(*attempts))/2)*1000);
+       }
+       (*attempts)++;
+
+       if ((rc = ldapsam_open(ldap_state))) {
+               DEBUG(0,("Connection to LDAP Server failed for the %d try!\n",*attempts));
+               return rc;
+       } 
+       
+       return LDAP_SUCCESS;            
+}
+
+
+static int ldapsam_search(struct ldapsam_privates *ldap_state, 
+                         const char *base, int scope, const char *filter, 
+                         const char *attrs[], int attrsonly, 
+                         LDAPMessage **res)
+{
+       int             rc = LDAP_SERVER_DOWN;
+       int             attempts = 0;
+       
+       SMB_ASSERT(ldap_state);
+
+       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
+               
+               if ((rc = ldapsam_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
+                       continue;
+               
+               rc = ldap_search_s(ldap_state->ldap_struct, base, scope, 
+                                  filter, attrs, attrsonly, res);
+       }
+       
+       if (rc == LDAP_SERVER_DOWN) {
+               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
+               ldapsam_close(ldap_state);      
+       }
+       
+       return rc;
+}
+
+static int ldapsam_modify(struct ldapsam_privates *ldap_state, char *dn, LDAPMod *attrs[])
+{
+       int             rc = LDAP_SERVER_DOWN;
+       int             attempts = 0;
+       
+       if (!ldap_state)
+               return (-1);
+
+       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
+               
+               if ((rc = ldapsam_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
+                       continue;
+               
+               rc = ldap_modify_s(ldap_state->ldap_struct, dn, attrs);
+       }
+       
+       if (rc == LDAP_SERVER_DOWN) {
+               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
+               ldapsam_close(ldap_state);      
+       }
+       
+       return rc;
+}
+
+static int ldapsam_add(struct ldapsam_privates *ldap_state, const char *dn, LDAPMod *attrs[])
+{
+       int             rc = LDAP_SERVER_DOWN;
+       int             attempts = 0;
+       
+       if (!ldap_state)
+               return (-1);
+
+       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
+               
+               if ((rc = ldapsam_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
+                       continue;
+               
+               rc = ldap_add_s(ldap_state->ldap_struct, dn, attrs);
+       }
+       
+       if (rc == LDAP_SERVER_DOWN) {
+               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
+               ldapsam_close(ldap_state);      
+       }
+               
+       return rc;
+}
+
+static int ldapsam_delete(struct ldapsam_privates *ldap_state, char *dn)
+{
+       int             rc = LDAP_SERVER_DOWN;
+       int             attempts = 0;
+       
+       if (!ldap_state)
+               return (-1);
+
+       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
+               
+               if ((rc = ldapsam_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
+                       continue;
+               
+               rc = ldap_delete_s(ldap_state->ldap_struct, dn);
+       }
+       
+       if (rc == LDAP_SERVER_DOWN) {
+               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
+               ldapsam_close(ldap_state);      
+       }
+               
+       return rc;
+}
+
+static int ldapsam_extended_operation(struct ldapsam_privates *ldap_state, LDAP_CONST char *reqoid, struct berval *reqdata, LDAPControl **serverctrls, LDAPControl **clientctrls, char **retoidp, struct berval **retdatap)
+{
+       int             rc = LDAP_SERVER_DOWN;
+       int             attempts = 0;
+       
+       if (!ldap_state)
+               return (-1);
+
+       while ((rc == LDAP_SERVER_DOWN) && (attempts < 8)) {
+               
+               if ((rc = ldapsam_retry_open(ldap_state,&attempts)) != LDAP_SUCCESS)
+                       continue;
+               
+               rc = ldap_extended_operation_s(ldap_state->ldap_struct, reqoid, reqdata, serverctrls, clientctrls, retoidp, retdatap);
+       }
+       
+       if (rc == LDAP_SERVER_DOWN) {
+               DEBUG(0,("%s: LDAP server is down!\n",FUNCTION_MACRO));
+               ldapsam_close(ldap_state);      
+       }
+               
+       return rc;
+}
+
 /*******************************************************************
  run the search by name.
 ******************************************************************/
-static int ldapsam_search_one_user (struct smb_ldap_privates *ldap_state, const char *filter, LDAPMessage ** result)
+static int ldapsam_search_one_user (struct ldapsam_privates *ldap_state, const char *filter, LDAPMessage ** result)
 {
        int scope = LDAP_SCOPE_SUBTREE;
        int rc;
 
        DEBUG(2, ("ldapsam_search_one_user: searching for:[%s]\n", filter));
 
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix (), scope, filter, attr, 0, result);
+       rc = ldapsam_search(ldap_state, lp_ldap_suffix (), scope, filter, attr, 0, result);
 
        if (rc != LDAP_SUCCESS) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                DEBUG(0,("ldapsam_search_one_user: Problem during the LDAP search: %s (%s)\n", 
-                       ld_error?ld_error:"(unknown)", ldap_err2string (rc)));
+                       ld_error, ldap_err2string (rc)));
                DEBUG(3,("ldapsam_search_one_user: Query was: %s, %s\n", lp_ldap_suffix(), 
                        filter));
                SAFE_FREE(ld_error);
@@ -164,7 +666,7 @@ static int ldapsam_search_one_user (struct smb_ldap_privates *ldap_state, const
 /*******************************************************************
  run the search by name.
 ******************************************************************/
-static int ldapsam_search_one_user_by_name (struct smb_ldap_privates *ldap_state, const char *user,
+static int ldapsam_search_one_user_by_name (struct ldapsam_privates *ldap_state, const char *user,
                             LDAPMessage ** result)
 {
        pstring filter;
@@ -195,7 +697,7 @@ static int ldapsam_search_one_user_by_name (struct smb_ldap_privates *ldap_state
 /*******************************************************************
  run the search by uid.
 ******************************************************************/
-static int ldapsam_search_one_user_by_uid(struct smb_ldap_privates *ldap_state, 
+static int ldapsam_search_one_user_by_uid(struct ldapsam_privates *ldap_state, 
                                          int uid,
                                          LDAPMessage ** result)
 {
@@ -229,7 +731,7 @@ static int ldapsam_search_one_user_by_uid(struct smb_ldap_privates *ldap_state,
 /*******************************************************************
  run the search by rid.
 ******************************************************************/
-static int ldapsam_search_one_user_by_rid (struct smb_ldap_privates *ldap_state, 
+static int ldapsam_search_one_user_by_rid (struct ldapsam_privates *ldap_state, 
                                           uint32 rid,
                                           LDAPMessage ** result)
 {
@@ -249,11 +751,111 @@ static int ldapsam_search_one_user_by_rid (struct smb_ldap_privates *ldap_state,
        return rc;
 }
 
+/*******************************************************************
+search an attribute and return the first value found.
+******************************************************************/
+static BOOL get_single_attribute (LDAP * ldap_struct, LDAPMessage * entry,
+                                 const char *attribute, pstring value)
+{
+       char **values;
+
+       if ((values = ldap_get_values (ldap_struct, entry, attribute)) == NULL) {
+               value = NULL;
+               DEBUG (10, ("get_single_attribute: [%s] = [<does not exist>]\n", attribute));
+               
+               return False;
+       }
+       
+       pstrcpy(value, values[0]);
+       ldap_value_free(values);
+#ifdef DEBUG_PASSWORDS
+       DEBUG (100, ("get_single_attribute: [%s] = [%s]\n", attribute, value));
+#endif 
+       return True;
+}
+
+/************************************************************************
+Routine to manage the LDAPMod structure array
+manage memory used by the array, by each struct, and values
+
+************************************************************************/
+static void make_a_mod (LDAPMod *** modlist, int modop, const char *attribute, const char *value)
+{
+       LDAPMod **mods;
+       int i;
+       int j;
+
+       mods = *modlist;
+
+       if (attribute == NULL || *attribute == '\0')
+               return;
+
+#if 0
+       /* Why do we need this??? -- vl */
+               if (value == NULL || *value == '\0')
+               return;
+#endif
+
+       if (mods == NULL) 
+       {
+               mods = (LDAPMod **) malloc(sizeof(LDAPMod *));
+               if (mods == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[0] = NULL;
+       }
+
+       for (i = 0; mods[i] != NULL; ++i) {
+               if (mods[i]->mod_op == modop && !strcasecmp(mods[i]->mod_type, attribute))
+                       break;
+       }
+
+       if (mods[i] == NULL)
+       {
+               mods = (LDAPMod **) Realloc (mods, (i + 2) * sizeof (LDAPMod *));
+               if (mods == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[i] = (LDAPMod *) malloc(sizeof(LDAPMod));
+               if (mods[i] == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[i]->mod_op = modop;
+               mods[i]->mod_values = NULL;
+               mods[i]->mod_type = strdup(attribute);
+               mods[i + 1] = NULL;
+       }
+
+       if (value != NULL)
+       {
+               j = 0;
+               if (mods[i]->mod_values != NULL) {
+                       for (; mods[i]->mod_values[j] != NULL; j++);
+               }
+               mods[i]->mod_values = (char **)Realloc(mods[i]->mod_values,
+                                              (j + 2) * sizeof (char *));
+                                              
+               if (mods[i]->mod_values == NULL) {
+                       DEBUG (0, ("make_a_mod: Memory allocation failure!\n"));
+                       return;
+               }
+               mods[i]->mod_values[j] = strdup(value);
+               mods[i]->mod_values[j + 1] = NULL;
+       }
+       *modlist = mods;
+}
+
 /*******************************************************************
  Delete complete object or objectclass and attrs from
  object found in search_result depending on lp_ldap_delete_dn
 ******************************************************************/
-static NTSTATUS ldapsam_delete_entry(struct smb_ldap_privates *ldap_state,
+static NTSTATUS ldapsam_delete_entry(struct ldapsam_privates *ldap_state,
                                     LDAPMessage *result,
                                     const char *objectclass,
                                     const char **attrs)
@@ -276,7 +878,7 @@ static NTSTATUS ldapsam_delete_entry(struct smb_ldap_privates *ldap_state,
 
        if (lp_ldap_delete_dn()) {
                NTSTATUS ret = NT_STATUS_OK;
-               rc = smb_ldap_delete(ldap_state, dn);
+               rc = ldapsam_delete(ldap_state, dn);
 
                if (rc != LDAP_SUCCESS) {
                        DEBUG(0, ("Could not delete object %s\n", dn));
@@ -300,7 +902,7 @@ static NTSTATUS ldapsam_delete_entry(struct smb_ldap_privates *ldap_state,
                for (attrib = attrs; *attrib != NULL; attrib++) {
                        if (StrCaseCmp(*attrib, name) == 0) {
                                DEBUG(10, ("deleting attribute %s\n", name));
-                               smb_ldap_make_a_mod(&mods, LDAP_MOD_DELETE, name, NULL);
+                               make_a_mod(&mods, LDAP_MOD_DELETE, name, NULL);
                        }
                }
 
@@ -311,18 +913,18 @@ static NTSTATUS ldapsam_delete_entry(struct smb_ldap_privates *ldap_state,
                ber_free(ptr, 0);
        }
        
-       smb_ldap_make_a_mod(&mods, LDAP_MOD_DELETE, "objectClass", objectclass);
+       make_a_mod(&mods, LDAP_MOD_DELETE, "objectClass", objectclass);
 
-       rc = smb_ldap_modify(ldap_state, dn, mods);
+       rc = ldapsam_modify(ldap_state, dn, mods);
        ldap_mods_free(mods, 1);
 
        if (rc != LDAP_SUCCESS) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                
                DEBUG(0, ("could not delete attributes for %s, error: %s (%s)\n",
-                         dn, ldap_err2string(rc), ld_error?ld_error:"unknown"));
+                         dn, ldap_err2string(rc), ld_error));
                SAFE_FREE(ld_error);
                ldap_memfree(dn);
                return NT_STATUS_UNSUCCESSFUL;
@@ -337,7 +939,7 @@ static NTSTATUS ldapsam_delete_entry(struct smb_ldap_privates *ldap_state,
 /**********************************************************************
 Initialize SAM_ACCOUNT from an LDAP query (unix attributes only)
 *********************************************************************/
-static BOOL get_unix_attributes (struct smb_ldap_privates *ldap_state, 
+static BOOL get_unix_attributes (struct ldapsam_privates *ldap_state, 
                                SAM_ACCOUNT * sampass,
                                LDAPMessage * entry)
 {
@@ -366,15 +968,15 @@ static BOOL get_unix_attributes (struct smb_ldap_privates *ldap_state,
        }
        ldap_value_free(ldap_values);
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "homeDirectory", homedir)) 
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "homeDirectory", homedir)) 
                return False;
        
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "uidNumber", temp))
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "uidNumber", temp))
                return False;
        
        uid = (uid_t)atol(temp);
        
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "gidNumber", temp))
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "gidNumber", temp))
                return False;
        
        gid = (gid_t)atol(temp);
@@ -392,7 +994,7 @@ static BOOL get_unix_attributes (struct smb_ldap_privates *ldap_state,
 Initialize SAM_ACCOUNT from an LDAP query
 (Based on init_sam_from_buffer in pdb_tdb.c)
 *********************************************************************/
-static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state, 
+static BOOL init_sam_from_ldap (struct ldapsam_privates *ldap_state, 
                                SAM_ACCOUNT * sampass,
                                LDAPMessage * entry)
 {
@@ -453,7 +1055,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                return False;
        }
        
-       smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "uid", username);
+       get_single_attribute(ldap_state->ldap_struct, entry, "uid", username);
        DEBUG(2, ("Entry found for user: %s\n", username));
 
        pstrcpy(nt_username, username);
@@ -465,12 +1067,12 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
        pdb_set_domain(sampass, domain, PDB_DEFAULT);
        pdb_set_nt_username(sampass, nt_username, PDB_SET);
 
-       smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "rid", temp);
+       get_single_attribute(ldap_state->ldap_struct, entry, "rid", temp);
        user_rid = (uint32)atol(temp);
 
        pdb_set_user_sid_from_rid(sampass, user_rid, PDB_SET);
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "primaryGroupID", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "primaryGroupID", temp)) {
                group_rid = 0;
        } else {
                group_rid = (uint32)atol(temp);
@@ -518,42 +1120,42 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                }
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "pwdLastSet", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "pwdLastSet", temp)) {
                /* leave as default */
        } else {
                pass_last_set_time = (time_t) atol(temp);
                pdb_set_pass_last_set_time(sampass, pass_last_set_time, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "logonTime", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "logonTime", temp)) {
                /* leave as default */
        } else {
                logon_time = (time_t) atol(temp);
                pdb_set_logon_time(sampass, logon_time, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "logoffTime", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "logoffTime", temp)) {
                /* leave as default */
        } else {
                logoff_time = (time_t) atol(temp);
                pdb_set_logoff_time(sampass, logoff_time, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "kickoffTime", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "kickoffTime", temp)) {
                /* leave as default */
        } else {
                kickoff_time = (time_t) atol(temp);
                pdb_set_kickoff_time(sampass, kickoff_time, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "pwdCanChange", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "pwdCanChange", temp)) {
                /* leave as default */
        } else {
                pass_can_change_time = (time_t) atol(temp);
                pdb_set_pass_can_change_time(sampass, pass_can_change_time, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "pwdMustChange", temp)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "pwdMustChange", temp)) {
                /* leave as default */
        } else {
                pass_must_change_time = (time_t) atol(temp);
@@ -566,9 +1168,9 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
         * that fits your needs; using cn then displayName rather than 'userFullName'
         */
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry,
+       if (!get_single_attribute(ldap_state->ldap_struct, entry,
                                  "displayName", fullname)) {
-               if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry,
+               if (!get_single_attribute(ldap_state->ldap_struct, entry,
                                          "cn", fullname)) {
                        /* leave as default */
                } else {
@@ -578,7 +1180,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                pdb_set_fullname(sampass, fullname, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "homeDrive", dir_drive)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "homeDrive", dir_drive)) {
                pdb_set_dir_drive(sampass, talloc_sub_specified(sampass->mem_ctx, 
                                                                  lp_logon_drive(),
                                                                  username, domain, 
@@ -588,7 +1190,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                pdb_set_dir_drive(sampass, dir_drive, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "smbHome", homedir)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "smbHome", homedir)) {
                pdb_set_homedir(sampass, talloc_sub_specified(sampass->mem_ctx, 
                                                                  lp_logon_home(),
                                                                  username, domain, 
@@ -598,7 +1200,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                pdb_set_homedir(sampass, homedir, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "scriptPath", logon_script)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "scriptPath", logon_script)) {
                pdb_set_logon_script(sampass, talloc_sub_specified(sampass->mem_ctx, 
                                                                     lp_logon_script(),
                                                                     username, domain, 
@@ -608,7 +1210,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                pdb_set_logon_script(sampass, logon_script, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "profilePath", profile_path)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "profilePath", profile_path)) {
                pdb_set_profile_path(sampass, talloc_sub_specified(sampass->mem_ctx, 
                                                                     lp_logon_path(),
                                                                     username, domain, 
@@ -618,13 +1220,13 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                pdb_set_profile_path(sampass, profile_path, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "description", acct_desc)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "description", acct_desc)) {
                /* leave as default */
        } else {
                pdb_set_acct_desc(sampass, acct_desc, PDB_SET);
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "userWorkstations", workstations)) {
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "userWorkstations", workstations)) {
                /* leave as default */;
        } else {
                pdb_set_workstations(sampass, workstations, PDB_SET);
@@ -636,7 +1238,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
        hours_len = 21;
        memset(hours, 0xff, hours_len);
 
-       if (!smb_ldap_get_single_attribute (ldap_state->ldap_struct, entry, "lmPassword", temp)) {
+       if (!get_single_attribute (ldap_state->ldap_struct, entry, "lmPassword", temp)) {
                /* leave as default */
        } else {
                pdb_gethexpwd(temp, smblmpwd);
@@ -646,7 +1248,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                ZERO_STRUCT(smblmpwd);
        }
 
-       if (!smb_ldap_get_single_attribute (ldap_state->ldap_struct, entry, "ntPassword", temp)) {
+       if (!get_single_attribute (ldap_state->ldap_struct, entry, "ntPassword", temp)) {
                /* leave as default */
        } else {
                pdb_gethexpwd(temp, smbntpwd);
@@ -656,7 +1258,7 @@ static BOOL init_sam_from_ldap (struct smb_ldap_privates *ldap_state,
                ZERO_STRUCT(smbntpwd);
        }
 
-       if (!smb_ldap_get_single_attribute (ldap_state->ldap_struct, entry, "acctFlags", temp)) {
+       if (!get_single_attribute (ldap_state->ldap_struct, entry, "acctFlags", temp)) {
                acct_ctrl |= ACB_NORMAL;
        } else {
                acct_ctrl = pdb_decode_acct_ctrl(temp);
@@ -724,7 +1326,7 @@ static void make_ldap_mod(LDAP *ldap_struct, LDAPMessage *existing,
           the old value, should it exist. */
 
        if ((newval != NULL) && (strlen(newval) > 0)) {
-               smb_ldap_make_a_mod(mods, LDAP_MOD_ADD, attribute, newval);
+               make_a_mod(mods, LDAP_MOD_ADD, attribute, newval);
        }
 
        if (values == NULL) {
@@ -739,7 +1341,7 @@ static void make_ldap_mod(LDAP *ldap_struct, LDAPMessage *existing,
           deny the complete operation if somebody changed the
           attribute behind our back. */
 
-       smb_ldap_make_a_mod(mods, LDAP_MOD_DELETE, attribute, values[0]);
+       make_a_mod(mods, LDAP_MOD_DELETE, attribute, values[0]);
        ldap_value_free(values);
 }
 
@@ -747,7 +1349,7 @@ static void make_ldap_mod(LDAP *ldap_struct, LDAPMessage *existing,
 Initialize SAM_ACCOUNT from an LDAP query
 (Based on init_buffer_from_sam in pdb_tdb.c)
 *********************************************************************/
-static BOOL init_ldap_from_sam (struct smb_ldap_privates *ldap_state, 
+static BOOL init_ldap_from_sam (struct ldapsam_privates *ldap_state, 
                                LDAPMessage *existing,
                                LDAPMod *** mods, const SAM_ACCOUNT * sampass,
                                BOOL (*need_update)(const SAM_ACCOUNT *,
@@ -933,7 +1535,7 @@ static BOOL init_ldap_from_sam (struct smb_ldap_privates *ldap_state,
 /**********************************************************************
 Connect to LDAP server and find the next available RID.
 *********************************************************************/
-static uint32 check_nua_rid_is_avail(struct smb_ldap_privates *ldap_state, uint32 top_rid) 
+static uint32 check_nua_rid_is_avail(struct ldapsam_privates *ldap_state, uint32 top_rid) 
 {
        LDAPMessage *result;
        uint32 final_rid = (top_rid & (~USER_RID_TYPE)) + RID_MULTIPLIER;
@@ -964,7 +1566,7 @@ static uint32 check_nua_rid_is_avail(struct smb_ldap_privates *ldap_state, uint3
 /**********************************************************************
 Extract the RID from an LDAP entry
 *********************************************************************/
-static uint32 entry_to_user_rid(struct smb_ldap_privates *ldap_state, LDAPMessage *entry) {
+static uint32 entry_to_user_rid(struct ldapsam_privates *ldap_state, LDAPMessage *entry) {
        uint32 rid;
        SAM_ACCOUNT *user = NULL;
        if (!NT_STATUS_IS_OK(pdb_init_sam(&user))) {
@@ -987,7 +1589,7 @@ static uint32 entry_to_user_rid(struct smb_ldap_privates *ldap_state, LDAPMessag
 /**********************************************************************
 Connect to LDAP server and find the next available RID.
 *********************************************************************/
-static uint32 search_top_nua_rid(struct smb_ldap_privates *ldap_state)
+static uint32 search_top_nua_rid(struct ldapsam_privates *ldap_state)
 {
        int rc;
        pstring filter;
@@ -1008,7 +1610,7 @@ static uint32 search_top_nua_rid(struct smb_ldap_privates *ldap_state)
 #endif 
        DEBUG(2, ("ldapsam_get_next_available_nua_rid: searching for:[%s]\n", final_filter));
 
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(),
+       rc = ldapsam_search(ldap_state, lp_ldap_suffix(),
                           LDAP_SCOPE_SUBTREE, final_filter, attr, 0,
                           &result);
 
@@ -1057,7 +1659,7 @@ static uint32 search_top_nua_rid(struct smb_ldap_privates *ldap_state)
 /**********************************************************************
 Connect to LDAP server and find the next available RID.
 *********************************************************************/
-static uint32 ldapsam_get_next_available_nua_rid(struct smb_ldap_privates *ldap_state) {
+static uint32 ldapsam_get_next_available_nua_rid(struct ldapsam_privates *ldap_state) {
        uint32 next_nua_rid;
        uint32 top_nua_rid;
 
@@ -1074,14 +1676,14 @@ Connect to LDAP server for password enumeration
 *********************************************************************/
 static NTSTATUS ldapsam_setsampwent(struct pdb_methods *my_methods, BOOL update)
 {
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        int rc;
        pstring filter;
 
        pstrcpy(filter, lp_ldap_filter());
        all_string_sub(filter, "%u", "*", sizeof(pstring));
 
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(),
+       rc = ldapsam_search(ldap_state, lp_ldap_suffix(),
                           LDAP_SCOPE_SUBTREE, filter, attr, 0,
                           &ldap_state->result);
 
@@ -1109,7 +1711,7 @@ End enumeration of the LDAP password list
 *********************************************************************/
 static void ldapsam_endsampwent(struct pdb_methods *my_methods)
 {
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        if (ldap_state->result) {
                ldap_msgfree(ldap_state->result);
                ldap_state->result = NULL;
@@ -1122,9 +1724,13 @@ Get the next entry in the LDAP password database
 static NTSTATUS ldapsam_getsampwent(struct pdb_methods *my_methods, SAM_ACCOUNT *user)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        BOOL bret = False;
 
+       /* The rebind proc needs this *HACK*.  We are not multithreaded, so
+          this will work, but it's not nice. */
+       static_ldap_state = ldap_state;
+
        while (!bret) {
                if (!ldap_state->entry)
                        return ret;
@@ -1145,7 +1751,7 @@ Get SAM_ACCOUNT entry from LDAP by username
 static NTSTATUS ldapsam_getsampwnam(struct pdb_methods *my_methods, SAM_ACCOUNT *user, const char *sname)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        LDAPMessage *result;
        LDAPMessage *entry;
        int count;
@@ -1189,8 +1795,8 @@ Get SAM_ACCOUNT entry from LDAP by rid
 static NTSTATUS ldapsam_getsampwrid(struct pdb_methods *my_methods, SAM_ACCOUNT *user, uint32 rid)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = 
-               (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = 
+               (struct ldapsam_privates *)my_methods->private_data;
        LDAPMessage *result;
        LDAPMessage *entry;
        int count;
@@ -1245,7 +1851,7 @@ static NTSTATUS ldapsam_modify_entry(struct pdb_methods *my_methods,
                                     SAM_ACCOUNT *newpwd, char *dn,
                                     LDAPMod **mods, int ldap_op, BOOL pdb_add)
 {
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        int rc;
        
        if (!my_methods || !newpwd || !dn) {
@@ -1259,11 +1865,11 @@ static NTSTATUS ldapsam_modify_entry(struct pdb_methods *my_methods,
                switch(ldap_op)
                {
                        case LDAP_MOD_ADD: 
-                               smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectclass", "account");
-                               rc = smb_ldap_add(ldap_state, dn, mods);
+                               make_a_mod(&mods, LDAP_MOD_ADD, "objectclass", "account");
+                               rc = ldapsam_add(ldap_state, dn, mods);
                                break;
                        case LDAP_MOD_REPLACE: 
-                               rc = smb_ldap_modify(ldap_state, dn ,mods);
+                               rc = ldapsam_modify(ldap_state, dn ,mods);
                                break;
                        default:        
                                DEBUG(0,("Wrong LDAP operation type: %d!\n", ldap_op));
@@ -1271,15 +1877,15 @@ static NTSTATUS ldapsam_modify_entry(struct pdb_methods *my_methods,
                }
                
                if (rc!=LDAP_SUCCESS) {
-                       char *ld_error = NULL;
+                       char *ld_error;
                        ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                        &ld_error);
                        DEBUG(1,
                              ("failed to %s user dn= %s with: %s\n\t%s\n",
                               ldap_op == LDAP_MOD_ADD ? "add" : "modify",
                               dn, ldap_err2string(rc),
-                              ld_error?ld_error:"unknown"));
-                       SAFE_FREE(ld_error);
+                              ld_error));
+                       free(ld_error);
                        return NT_STATUS_UNSUCCESSFUL;
                }  
        }
@@ -1310,7 +1916,7 @@ static NTSTATUS ldapsam_modify_entry(struct pdb_methods *my_methods,
                
                ber_free(ber,1);
 
-               if ((rc = smb_ldap_extended_operation(ldap_state, LDAP_EXOP_X_MODIFY_PASSWD,
+               if ((rc = ldapsam_extended_operation(ldap_state, LDAP_EXOP_X_MODIFY_PASSWD,
                                                    bv, NULL, NULL, &retoid, &retdata))!=LDAP_SUCCESS) {
                        DEBUG(0,("LDAP Password could not be changed for user %s: %s\n",
                                pdb_get_username(newpwd),ldap_err2string(rc)));
@@ -1333,7 +1939,7 @@ Delete entry from LDAP for username
 *********************************************************************/
 static NTSTATUS ldapsam_delete_sam_account(struct pdb_methods *my_methods, SAM_ACCOUNT * sam_acct)
 {
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        const char *sname;
        int rc;
        LDAPMessage *result;
@@ -1380,7 +1986,7 @@ Update SAM_ACCOUNT
 static NTSTATUS ldapsam_update_sam_account(struct pdb_methods *my_methods, SAM_ACCOUNT * newpwd)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        int rc;
        char *dn;
        LDAPMessage *result;
@@ -1421,11 +2027,11 @@ static NTSTATUS ldapsam_update_sam_account(struct pdb_methods *my_methods, SAM_A
        ldap_mods_free(mods,1);
 
        if (!NT_STATUS_IS_OK(ret)) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                DEBUG(0,("failed to modify user with uid = %s, error: %s (%s)\n",
-                        pdb_get_username(newpwd), ld_error?ld_error:"(unknwon)", ldap_err2string(rc)));
+                        pdb_get_username(newpwd), ld_error, ldap_err2string(rc)));
                SAFE_FREE(ld_error);
                return ret;
        }
@@ -1452,7 +2058,7 @@ Add SAM_ACCOUNT to LDAP
 static NTSTATUS ldapsam_add_sam_account(struct pdb_methods *my_methods, SAM_ACCOUNT * newpwd)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        int rc;
        pstring filter;
        LDAPMessage *result = NULL;
@@ -1531,7 +2137,7 @@ static NTSTATUS ldapsam_add_sam_account(struct pdb_methods *my_methods, SAM_ACCO
                return NT_STATUS_UNSUCCESSFUL;
        }
        
-       smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectclass", "sambaAccount");
+       make_a_mod(&mods, LDAP_MOD_ADD, "objectclass", "sambaAccount");
 
        ret = ldapsam_modify_entry(my_methods,newpwd,dn,mods,ldap_op, True);
        if (NT_STATUS_IS_ERR(ret)) {
@@ -1548,15 +2154,15 @@ static NTSTATUS ldapsam_add_sam_account(struct pdb_methods *my_methods, SAM_ACCO
 
 static void free_private_data(void **vp) 
 {
-       struct smb_ldap_privates **ldap_state = (struct smb_ldap_privates **)vp;
+       struct ldapsam_privates **ldap_state = (struct ldapsam_privates **)vp;
 
-       smb_ldap_close(*ldap_state);
+       ldapsam_close(*ldap_state);
 
        if ((*ldap_state)->bind_secret) {
                memset((*ldap_state)->bind_secret, '\0', strlen((*ldap_state)->bind_secret));
        }
 
-       smb_ldap_close(*ldap_state);
+       ldapsam_close(*ldap_state);
                
        SAFE_FREE((*ldap_state)->bind_dn);
        SAFE_FREE((*ldap_state)->bind_secret);
@@ -1571,7 +2177,7 @@ static const char *group_attr[] = {"cn", "ntSid", "ntGroupType",
                                   "displayName", "description",
                                   NULL };
                                   
-static int ldapsam_search_one_group (struct smb_ldap_privates *ldap_state,
+static int ldapsam_search_one_group (struct ldapsam_privates *ldap_state,
                                     const char *filter,
                                     LDAPMessage ** result)
 {
@@ -1580,16 +2186,16 @@ static int ldapsam_search_one_group (struct smb_ldap_privates *ldap_state,
 
        DEBUG(2, ("ldapsam_search_one_group: searching for:[%s]\n", filter));
 
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix (), scope,
+       rc = ldapsam_search(ldap_state, lp_ldap_suffix (), scope,
                            filter, group_attr, 0, result);
 
        if (rc != LDAP_SUCCESS) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                DEBUG(0, ("ldapsam_search_one_group: "
                          "Problem during the LDAP search: LDAP error: %s (%s)",
-                         ld_error?ld_error:"(unknown)", ldap_err2string(rc)));
+                         ld_error, ldap_err2string(rc)));
                DEBUG(3, ("ldapsam_search_one_group: Query was: %s, %s\n",
                          lp_ldap_suffix(), filter));
                SAFE_FREE(ld_error);
@@ -1598,7 +2204,7 @@ static int ldapsam_search_one_group (struct smb_ldap_privates *ldap_state,
        return rc;
 }
 
-static BOOL init_group_from_ldap(struct smb_ldap_privates *ldap_state,
+static BOOL init_group_from_ldap(struct ldapsam_privates *ldap_state,
                                 GROUP_MAP *map, LDAPMessage *entry)
 {
        pstring temp;
@@ -1609,7 +2215,7 @@ static BOOL init_group_from_ldap(struct smb_ldap_privates *ldap_state,
                return False;
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "gidNumber",
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "gidNumber",
                                  temp)) {
                DEBUG(0, ("Mandatory attribute gidNumber not found\n"));
                return False;
@@ -1618,14 +2224,14 @@ static BOOL init_group_from_ldap(struct smb_ldap_privates *ldap_state,
 
        map->gid = (gid_t)atol(temp);
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "ntSid",
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "ntSid",
                                  temp)) {
                DEBUG(0, ("Mandatory attribute ntSid not found\n"));
                return False;
        }
        string_to_sid(&map->sid, temp);
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "ntGroupType",
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "ntGroupType",
                                  temp)) {
                DEBUG(0, ("Mandatory attribute ntGroupType not found\n"));
                return False;
@@ -1638,11 +2244,11 @@ static BOOL init_group_from_ldap(struct smb_ldap_privates *ldap_state,
                return False;
        }
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "displayName",
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "displayName",
                                  temp)) {
                DEBUG(3, ("Attribute displayName not found\n"));
                temp[0] = '\0';
-               if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "cn",
+               if (!get_single_attribute(ldap_state->ldap_struct, entry, "cn",
                                          temp)) {
                        DEBUG(0, ("Attributes cn not found either "
                                  "for gidNumber(%i)\n",map->gid));
@@ -1651,7 +2257,7 @@ static BOOL init_group_from_ldap(struct smb_ldap_privates *ldap_state,
        }
        fstrcpy(map->nt_name, temp);
 
-       if (!smb_ldap_get_single_attribute(ldap_state->ldap_struct, entry, "description",
+       if (!get_single_attribute(ldap_state->ldap_struct, entry, "description",
                                  temp)) {
                DEBUG(3, ("Attribute description not found\n"));
                temp[0] = '\0';
@@ -1693,8 +2299,8 @@ static NTSTATUS ldapsam_getgroup(struct pdb_methods *methods,
                                 const char *filter,
                                 GROUP_MAP *map)
 {
-       struct smb_ldap_privates *ldap_state =
-               (struct smb_ldap_privates *)methods->private_data;
+       struct ldapsam_privates *ldap_state =
+               (struct ldapsam_privates *)methods->private_data;
        LDAPMessage *result;
        LDAPMessage *entry;
        int count;
@@ -1773,7 +2379,7 @@ static NTSTATUS ldapsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
        return ldapsam_getgroup(methods, filter, map);
 }
 
-static int ldapsam_search_one_group_by_gid(struct smb_ldap_privates *ldap_state,
+static int ldapsam_search_one_group_by_gid(struct ldapsam_privates *ldap_state,
                                           gid_t gid,
                                           LDAPMessage **result)
 {
@@ -1788,8 +2394,8 @@ static int ldapsam_search_one_group_by_gid(struct smb_ldap_privates *ldap_state,
 static NTSTATUS ldapsam_add_group_mapping_entry(struct pdb_methods *methods,
                                                GROUP_MAP *map)
 {
-       struct smb_ldap_privates *ldap_state =
-               (struct smb_ldap_privates *)methods->private_data;
+       struct ldapsam_privates *ldap_state =
+               (struct ldapsam_privates *)methods->private_data;
        LDAPMessage *result = NULL;
        LDAPMod **mods = NULL;
 
@@ -1839,18 +2445,18 @@ static NTSTATUS ldapsam_add_group_mapping_entry(struct pdb_methods *methods,
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       smb_ldap_make_a_mod(&mods, LDAP_MOD_ADD, "objectClass",
+       make_a_mod(&mods, LDAP_MOD_ADD, "objectClass",
                   "sambaGroupMapping");
 
-       rc = smb_ldap_modify(ldap_state, dn, mods);
+       rc = ldapsam_modify(ldap_state, dn, mods);
        ldap_mods_free(mods, 1);
 
        if (rc != LDAP_SUCCESS) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                DEBUG(0, ("failed to add group %i error: %s (%s)\n", map->gid, 
-                         ld_error ? ld_error : "(unknown)", ldap_err2string(rc)));
+                         ld_error, ldap_err2string(rc)));
                SAFE_FREE(ld_error);
                return NT_STATUS_UNSUCCESSFUL;
        }
@@ -1862,8 +2468,8 @@ static NTSTATUS ldapsam_add_group_mapping_entry(struct pdb_methods *methods,
 static NTSTATUS ldapsam_update_group_mapping_entry(struct pdb_methods *methods,
                                                   GROUP_MAP *map)
 {
-       struct smb_ldap_privates *ldap_state =
-               (struct smb_ldap_privates *)methods->private_data;
+       struct ldapsam_privates *ldap_state =
+               (struct ldapsam_privates *)methods->private_data;
        int rc;
        char *dn;
        LDAPMessage *result;
@@ -1899,16 +2505,16 @@ static NTSTATUS ldapsam_update_group_mapping_entry(struct pdb_methods *methods,
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       rc = smb_ldap_modify(ldap_state, dn, mods);
+       rc = ldapsam_modify(ldap_state, dn, mods);
 
        ldap_mods_free(mods, 1);
 
        if (rc != LDAP_SUCCESS) {
-               char *ld_error = NULL;
+               char *ld_error;
                ldap_get_option(ldap_state->ldap_struct, LDAP_OPT_ERROR_STRING,
                                &ld_error);
                DEBUG(0, ("failed to modify group %i error: %s (%s)\n", map->gid, 
-                         ld_error ? ld_error : "(unknown)", ldap_err2string(rc)));
+                         ld_error, ldap_err2string(rc)));
                SAFE_FREE(ld_error);
        }
 
@@ -1919,8 +2525,8 @@ static NTSTATUS ldapsam_update_group_mapping_entry(struct pdb_methods *methods,
 static NTSTATUS ldapsam_delete_group_mapping_entry(struct pdb_methods *methods,
                                                   DOM_SID sid)
 {
-       struct smb_ldap_privates *ldap_state =
-               (struct smb_ldap_privates *)methods->private_data;
+       struct ldapsam_privates *ldap_state =
+               (struct ldapsam_privates *)methods->private_data;
        pstring sidstring, filter;
        LDAPMessage *result;
        int rc;
@@ -1948,12 +2554,12 @@ static NTSTATUS ldapsam_delete_group_mapping_entry(struct pdb_methods *methods,
 static NTSTATUS ldapsam_setsamgrent(struct pdb_methods *my_methods,
                                    BOOL update)
 {
-       struct smb_ldap_privates *ldap_state =
-               (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state =
+               (struct ldapsam_privates *)my_methods->private_data;
        const char *filter = "(objectClass=sambaGroupMapping)";
        int rc;
 
-       rc = smb_ldap_search(ldap_state, lp_ldap_suffix(),
+       rc = ldapsam_search(ldap_state, lp_ldap_suffix(),
                            LDAP_SCOPE_SUBTREE, filter,
                            group_attr, 0, &ldap_state->result);
 
@@ -1985,9 +2591,13 @@ static NTSTATUS ldapsam_getsamgrent(struct pdb_methods *my_methods,
                                    GROUP_MAP *map)
 {
        NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       struct smb_ldap_privates *ldap_state = (struct smb_ldap_privates *)my_methods->private_data;
+       struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)my_methods->private_data;
        BOOL bret = False;
 
+       /* The rebind proc needs this *HACK*.  We are not multithreaded, so
+          this will work, but it's not nice. */
+       static_ldap_state = ldap_state;
+
        while (!bret) {
                if (!ldap_state->entry)
                        return ret;
@@ -2055,7 +2665,7 @@ static NTSTATUS ldapsam_enum_group_mapping(struct pdb_methods *methods,
 NTSTATUS pdb_init_ldapsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
        NTSTATUS nt_status;
-       struct smb_ldap_privates *ldap_state;
+       struct ldapsam_privates *ldap_state;
 
        if (!NT_STATUS_IS_OK(nt_status = make_pdb_methods(pdb_context->mem_ctx, pdb_method))) {
                return nt_status;
@@ -2082,7 +2692,7 @@ NTSTATUS pdb_init_ldapsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, co
 
        /* TODO: Setup private data and free */
 
-       ldap_state = talloc_zero(pdb_context->mem_ctx, sizeof(struct smb_ldap_privates));
+       ldap_state = talloc_zero(pdb_context->mem_ctx, sizeof(struct ldapsam_privates));
 
        if (!ldap_state) {
                DEBUG(0, ("talloc() failed for ldapsam private_data!\n"));
@@ -2120,7 +2730,7 @@ NTSTATUS pdb_init_ldapsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, co
 NTSTATUS pdb_init_ldapsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
        NTSTATUS nt_status;
-       struct smb_ldap_privates *ldap_state;
+       struct ldapsam_privates *ldap_state;
        uint32 low_nua_uid, high_nua_uid;
 
        if (!NT_STATUS_IS_OK(nt_status = pdb_init_ldapsam(pdb_context, pdb_method, location))) {
@@ -2145,9 +2755,20 @@ NTSTATUS pdb_init_ldapsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method
        return NT_STATUS_OK;
 }
 
-int pdb_ldap_init(void)
+
+#else
+
+NTSTATUS pdb_init_ldapsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
+{
+       DEBUG(0, ("ldap not detected at configure time, ldapsam not availalble!\n"));
+       return NT_STATUS_UNSUCCESSFUL;
+}
+
+NTSTATUS pdb_init_ldapsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
-       smb_register_passdb("ldapsam", pdb_init_ldapsam, PASSDB_INTERFACE_VERSION);
-       smb_register_passdb("ldapsam_nua", pdb_init_ldapsam_nua, PASSDB_INTERFACE_VERSION);
-       return True;
+       DEBUG(0, ("ldap not dectected at configure time, ldapsam_nua not available!\n"));
+       return NT_STATUS_UNSUCCESSFUL;
 }
+
+
+#endif
similarity index 93%
rename from source3/modules/mysql.c
rename to source3/passdb/pdb_mysql.c
index 684eb96645ea6279dbf736988710adfb252cf302..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 */
@@ -893,8 +894,61 @@ static NTSTATUS mysqlsam_update_sam_account(struct pdb_methods *methods,
        return mysqlsam_replace_sam_account(methods, newpwd, 1);
 }
 
-static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_methods ** pdb_method,
-                const char *location)
+static NTSTATUS mysqlsam_getgrsid(struct pdb_methods *methods, GROUP_MAP *map,
+                               DOM_SID sid, BOOL with_priv)
+{
+       return get_group_map_from_sid(sid, map, with_priv) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_getgrgid(struct pdb_methods *methods, GROUP_MAP *map,
+                               gid_t gid, BOOL with_priv)
+{
+       return get_group_map_from_gid(gid, map, with_priv) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
+                               char *name, BOOL with_priv)
+{
+       return get_group_map_from_ntname(name, map, with_priv) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_add_group_mapping_entry(struct pdb_methods *methods,
+                                              GROUP_MAP *map)
+{
+       return add_mapping_entry(map, TDB_INSERT) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_update_group_mapping_entry(struct pdb_methods *methods,
+                                                 GROUP_MAP *map)
+{
+       return add_mapping_entry(map, TDB_REPLACE) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_delete_group_mapping_entry(struct pdb_methods *methods,
+                                                 DOM_SID sid)
+{
+       return group_map_remove(sid) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+static NTSTATUS mysqlsam_enum_group_mapping(struct pdb_methods *methods,
+                                         enum SID_NAME_USE sid_name_use,
+                                         GROUP_MAP **rmap, int *num_entries,
+                                         BOOL unix_only, BOOL with_priv)
+{
+       return enum_group_mapping(sid_name_use, rmap, num_entries, unix_only,
+                                 with_priv) ?
+               NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
+}
+
+
+NTSTATUS pdb_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
+                char *location)
 {
        NTSTATUS nt_status;
        struct pdb_mysql_data *data;
@@ -926,6 +980,13 @@ static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_metho
        (*pdb_method)->add_sam_account = mysqlsam_add_sam_account;
        (*pdb_method)->update_sam_account = mysqlsam_update_sam_account;
        (*pdb_method)->delete_sam_account = mysqlsam_delete_sam_account;
+       (*pdb_method)->getgrsid = mysqlsam_getgrsid;
+       (*pdb_method)->getgrgid = mysqlsam_getgrgid;
+       (*pdb_method)->getgrnam = mysqlsam_getgrnam;
+       (*pdb_method)->add_group_mapping_entry = mysqlsam_add_group_mapping_entry;
+       (*pdb_method)->update_group_mapping_entry = mysqlsam_update_group_mapping_entry;
+       (*pdb_method)->delete_group_mapping_entry = mysqlsam_delete_group_mapping_entry;
+       (*pdb_method)->enum_group_mapping = mysqlsam_enum_group_mapping;
 
        data = talloc(pdb_context->mem_ctx, sizeof(struct pdb_mysql_data));
        (*pdb_method)->private_data = data;
@@ -933,7 +994,7 @@ static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_metho
        data->pwent = NULL;
 
        if (!location) {
-               DEBUG(0, ("No identifier specified. Check the Samba HOWTO Collection for details\n"));
+               DEBUG(0, ("No identifier specified. See README for details\n"));
                return NT_STATUS_INVALID_PARAMETER;
        }
 
@@ -971,8 +1032,3 @@ static NTSTATUS mysqlsam_init(struct pdb_context * pdb_context, struct pdb_metho
 
        return NT_STATUS_OK;
 }
-
-int pdb_mysql_init(void) 
-{
-       return smb_register_passdb("mysql", mysqlsam_init, PASSDB_INTERFACE_VERSION);
-}
index 73d65af1c6fac2c875847a7b74bdade95c73994f..0a42c36ea022706448d572550ed1d824bd0ce821 100644 (file)
@@ -24,6 +24,8 @@
 
 #include "includes.h"
 
+#ifdef WITH_NISPLUS_SAM
+
 #ifdef BROKEN_NISPLUS_INCLUDE_FILES
 
 /*
@@ -1553,7 +1555,11 @@ NTSTATUS pdb_init_nisplussam (PDB_CONTEXT * pdb_context,
        return NT_STATUS_OK;
 }
 
-int pdb_nisplus_init(void)
+#else
+NTSTATUS pdb_init_nisplussam (PDB_CONTEXT * c, PDB_METHODS ** m,
+                             const char *l)
 {
-       return smb_register_passdb("nisplussam", pdb_init_nisplussam, PASSDB_INTERFACE_VERSION);
+       DEBUG (0, ("nisplus sam not compiled in!\n"));
+       return NT_STATUS_UNSUCCESSFUL;
 }
+#endif /* WITH_NISPLUS_SAM */
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);
 }
index 7f74196633f375c48b75409ea1ff024e7f91d7bc..b5a2bbbfe7ccd711daa952b5d24d03652c308acd 100644 (file)
@@ -1579,10 +1579,3 @@ NTSTATUS pdb_init_smbpasswd_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_meth
 
        return NT_STATUS_OK;
 }
-
-int pdb_smbpasswd_init(void) 
-{
-       smb_register_passdb("smbpasswd", pdb_init_smbpasswd, PASSDB_INTERFACE_VERSION);
-       smb_register_passdb("smbpasswd_nua", pdb_init_smbpasswd_nua, PASSDB_INTERFACE_VERSION);
-       return True;
-}
index 7e2f4b832f4a6765b31ca2f332530c6786c7b4e9..c48c9567b16f176bd7ffbd2181844de329ef33b8 100644 (file)
@@ -37,6 +37,8 @@ static int tdbsam_debug_level = DBGC_ALL;
 
 #endif
 
+#ifdef WITH_TDB_SAM
+
 #define PDB_VERSION            "20010830"
 #define PASSDB_FILE_NAME       "passdb.tdb"
 #define TDB_FORMAT_STRING      "ddddddBBBBBBBBBBBBddBBwdwdBdd"
@@ -986,10 +988,20 @@ NTSTATUS pdb_init_tdbsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method,
        return NT_STATUS_OK;
 }
 
-int pdb_tdbsam_init(void)
+
+#else
+
+NTSTATUS pdb_init_tdbsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
 {
-    smb_register_passdb("tdbsam", pdb_init_tdbsam, PASSDB_INTERFACE_VERSION);
-    smb_register_passdb("tdbsam_nua", pdb_init_tdbsam_nua, PASSDB_INTERFACE_VERSION);
-       return True;
+       DEBUG(0, ("tdbsam not compiled in!\n"));
+       return NT_STATUS_UNSUCCESSFUL;
 }
 
+NTSTATUS pdb_init_tdbsam_nua(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location)
+{
+       DEBUG(0, ("tdbsam_nua not compiled in!\n"));
+       return NT_STATUS_UNSUCCESSFUL;
+}
+
+
+#endif
index dcdf5cf50b169e70d08469a58ad9481687b466dd..07acd08a4e5b36491f467581156790f11fabb8fe 100644 (file)
@@ -123,8 +123,3 @@ NTSTATUS pdb_init_unixsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, co
        /* There's not very much to initialise here */
        return NT_STATUS_OK;
 }
-
-int pdb_unix_init(void)
-{
-       return smb_register_passdb("unixsam", pdb_init_unixsam, PASSDB_INTERFACE_VERSION);
-}
similarity index 97%
rename from source3/modules/xml.c
rename to source3/passdb/pdb_xml.c
index 1a4aeeeac053e9f30d6855fa1a1db3893af5a6d3..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];
 
@@ -47,7 +49,7 @@ static char * iota(int a) {
        return tmp;
 }
 
-static BOOL parsePass(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, SAM_ACCOUNT * u)
+BOOL parsePass(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, SAM_ACCOUNT * u)
 {
        pstring temp;
 
@@ -76,7 +78,7 @@ static BOOL parsePass(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, SAM_ACCOUNT *
        return True;
 }
 
-static BOOL parseUser(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, SAM_ACCOUNT * u)
+BOOL parseUser(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, SAM_ACCOUNT * u)
 {
        char *tmp;
        DOM_SID sid;
@@ -245,7 +247,7 @@ typedef struct pdb_xml {
        xmlNsPtr ns;
 } pdb_xml;
 
-static xmlNodePtr parseSambaXMLFile(struct pdb_xml *data)
+xmlNodePtr parseSambaXMLFile(struct pdb_xml *data)
 {
        xmlNodePtr cur;
 
@@ -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,8 +565,3 @@ NTSTATUS xmlsam_init(PDB_CONTEXT * pdb_context, PDB_METHODS ** pdb_method,
 
        return NT_STATUS_OK;
 }
-
-int pdb_xml_init(void) 
-{
-       return smb_register_passdb("xml", xmlsam_init, PASSDB_INTERFACE_VERSION);
-}
index 4c9802dd29887a05fa79920c8f05cd778c80d02e..db08d0271455f475b8d7b2c19240bb5e47fce39f 100644 (file)
@@ -265,44 +265,38 @@ BOOL secrets_fetch_trust_account_password(const char *domain, uint8 ret_pwd[16],
 ************************************************************************/
 
 BOOL secrets_fetch_trusted_domain_password(const char *domain, char** pwd,
-                                           DOM_SID *sid, time_t *pass_last_set_time)
+                                          DOM_SID *sid, time_t *pass_last_set_time)
 {
-       struct trusted_dom_pass pass;
+       struct trusted_dom_pass *pass;
        size_t size;
-       
-       /* unpacking structures */
-       char* pass_buf;
-       int pass_len = 0;
-
-       ZERO_STRUCT(pass);
 
        /* fetching trusted domain password structure */
-       if (!(pass_buf = secrets_fetch(trustdom_keystr(domain), &size))) {
+       if (!(pass = secrets_fetch(trustdom_keystr(domain), &size))) {
                DEBUG(5, ("secrets_fetch failed!\n"));
                return False;
        }
 
-       /* unpack trusted domain password */
-       pass_len = tdb_trusted_dom_pass_unpack(pass_buf, size, &pass);
-       if (pass_len != size) {
-               DEBUG(5, ("Invalid secrets size. Unpacked data doesn't match trusted_dom_pass structure.\n"));
+       if (size != sizeof(*pass)) {
+               DEBUG(0, ("secrets were of incorrect size!\n"));
                return False;
        }
-                       
+
        /* the trust's password */      
        if (pwd) {
-               *pwd = strdup(pass.pass);
+               *pwd = strdup(pass->pass);
                if (!*pwd) {
                        return False;
                }
        }
 
        /* last change time */
-       if (pass_last_set_time) *pass_last_set_time = pass.mod_time;
+       if (pass_last_set_time) *pass_last_set_time = pass->mod_time;
 
        /* domain sid */
-       sid_copy(sid, &pass.domain_sid);
-               
+       memcpy(&sid, &(pass->domain_sid), sizeof(sid));
+       
+       SAFE_FREE(pass);
+       
        return True;
 }
 
@@ -321,7 +315,7 @@ BOOL secrets_store_trust_account_password(const char *domain, uint8 new_pwd[16])
 }
 
 /**
- * Routine to store the password for trusted domain
+ * Routine to set the password for trusted domain
  *
  * @param domain remote domain name
  * @param pwd plain text password of trust relationship
@@ -331,17 +325,12 @@ BOOL secrets_store_trust_account_password(const char *domain, uint8 new_pwd[16])
  **/
 
 BOOL secrets_store_trusted_domain_password(const char* domain, smb_ucs2_t *uni_dom_name,
-                                           size_t uni_name_len, const char* pwd,
-                                           DOM_SID sid)
-{      
-       /* packing structures */
-       pstring pass_buf;
-       int pass_len = 0;
-       int pass_buf_len = sizeof(pass_buf);
-       
+                                          size_t uni_name_len, const char* pwd,
+                                          DOM_SID sid)
+{
        struct trusted_dom_pass pass;
        ZERO_STRUCT(pass);
-       
+
        /* unicode domain name and its length */
        if (!uni_dom_name)
                return False;
@@ -357,11 +346,9 @@ BOOL secrets_store_trusted_domain_password(const char* domain, smb_ucs2_t *uni_d
        fstrcpy(pass.pass, pwd);
 
        /* domain sid */
-       sid_copy(&pass.domain_sid, &sid);
-       
-       pass_len = tdb_trusted_dom_pass_pack(pass_buf, pass_buf_len, &pass);
+       memcpy(&(pass.domain_sid), &sid, sizeof(sid));
 
-       return secrets_store(trustdom_keystr(domain), (void *)&pass_buf, pass_len);
+       return secrets_store(trustdom_keystr(domain), (void *)&pass, sizeof(pass));
 }
 
 /************************************************************************
@@ -488,10 +475,9 @@ NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned in
        char *pattern;
        unsigned int start_idx;
        uint32 idx = 0;
-       size_t size, packed_size = 0;
+       size_t size;
        fstring dom_name;
-       char *packed_pass;
-       struct trusted_dom_pass *pass = talloc_zero(ctx, sizeof(struct trusted_dom_pass));
+       struct trusted_dom_pass *pass;
        NTSTATUS status;
 
        if (!secrets_init()) return NT_STATUS_ACCESS_DENIED;
@@ -519,7 +505,7 @@ NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned in
         */
        status = NT_STATUS_NO_MORE_ENTRIES;
 
-       /* searching for keys in secrets db -- way to go ... */
+       /* searching for keys in sectrets db -- way to go ... */
        for (k = keys; k; k = k->next) {
                char *secrets_key;
                
@@ -530,19 +516,14 @@ NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned in
                        return NT_STATUS_NO_MEMORY;
                }
                                
-               packed_pass = secrets_fetch(secrets_key, &size);
-               packed_size = tdb_trusted_dom_pass_unpack(packed_pass, size, pass);
-
-               if (size != packed_size) {
+               pass = secrets_fetch(secrets_key, &size);
+               
+               if (size != sizeof(*pass)) {
                        DEBUG(2, ("Secrets record %s is invalid!\n", secrets_key));
-                       if (size) SAFE_FREE(packed_pass);
-
-                       return NT_STATUS_UNSUCCESSFUL;
+                       SAFE_FREE(pass);
+                       continue;
                }
                
-               /* packed representation isn't needed anymore */
-               SAFE_FREE(packed_pass);
-               
                pull_ucs2_fstring(dom_name, pass->uni_name);
                DEBUG(18, ("Fetched secret record num %d.\nDomain name: %s, SID: %s\n",
                           idx, dom_name, sid_string_static(&pass->domain_sid)));
@@ -553,6 +534,8 @@ NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned in
                        dom = talloc_zero(ctx, sizeof(*dom));
                        if (!dom) {
                                /* free returned tdb record */
+                               SAFE_FREE(pass);
+                               
                                return NT_STATUS_NO_MEMORY;
                        }
                        
@@ -586,7 +569,10 @@ NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned in
                                   start_idx, max_num_domains));
                }
                
-               idx++;          
+               idx++;
+               
+               /* free returned tdb record */
+               SAFE_FREE(pass);
        }
        
        DEBUG(5, ("secrets_get_trusted_domains: got %d domains\n", *num_domains));
@@ -609,9 +595,9 @@ BOOL secrets_named_mutex(const char *name, unsigned int timeout)
        if (!message_init())
                return False;
 
-       ret = tdb_lock_bystring(tdb, name, timeout);
-       if (ret == 0)
-               DEBUG(10,("secrets_named_mutex: got mutex for %s\n", name ));
+               ret = tdb_lock_bystring(tdb, name, timeout);
+               if (ret == 0)
+                       DEBUG(10,("secrets_named_mutex: got mutex for %s\n", name ));
 
        return (ret == 0);
 }
@@ -622,8 +608,8 @@ BOOL secrets_named_mutex(const char *name, unsigned int timeout)
 
 void secrets_named_mutex_release(const char *name)
 {
-       tdb_unlock_bystring(tdb, name);
-       DEBUG(10,("secrets_named_mutex: released mutex for %s\n", name ));
+               tdb_unlock_bystring(tdb, name);
+               DEBUG(10,("secrets_named_mutex: released mutex for %s\n", name ));
 }
 
 /*********************************************************
index a486fb9c003f58a763ffe8137311645a196d60c1..3f5bf555349e050387f4511d078770a89477760f 100644 (file)
@@ -2110,7 +2110,7 @@ done:
 NT_DEVICEMODE *construct_nt_devicemode(const fstring default_devicename)
 {
 
-       char adevice[MAXDEVICENAME];
+       char adevice[MAXDEVICENAME+1];
        NT_DEVICEMODE *nt_devmode = (NT_DEVICEMODE *)malloc(sizeof(NT_DEVICEMODE));
 
        if (nt_devmode == NULL) {
index 79cab3d9faed163a2f057743ec07e7a0618b4a05..e78864530665450ef025f52aef73636225e94bdd 100644 (file)
@@ -855,7 +855,7 @@ static void store_queue_struct(struct tdb_print_db *pdb, struct traverse_struct
 
        /* Work out the size. */
        data.dsize = 0;
-       data.dsize += tdb_pack(NULL, 0, "d", qcount);
+       data.dsize += tdb_pack(NULL, 0, NULL, "d", qcount);
 
        for (i = 0; i < pts->qcount; i++) {
                data.dsize += tdb_pack(NULL, 0, "ddddddff",
index 57acd74bedb138c5d45d4c4e073cb2751385312b..182671d04783c2ad62a3ce2d14da308628a5d364 100644 (file)
@@ -31,272 +31,6 @@ PyObject *samr_ntstatus;    /* This exception is raised when a RPC call
                                   returns a status code other than
                                   NT_STATUS_OK */
 
-/* SAMR group handle object */
-
-static void py_samr_group_hnd_dealloc(PyObject* self)
-{
-       PyObject_Del(self);
-}
-
-static PyMethodDef samr_group_methods[] = {
-       { NULL }
-};
-
-static PyObject *py_samr_group_hnd_getattr(PyObject *self, char *attrname)
-{
-       return Py_FindMethod(samr_group_methods, self, attrname);
-}
-
-PyTypeObject samr_group_hnd_type = {
-       PyObject_HEAD_INIT(NULL)
-       0,
-       "SAMR Group Handle",
-       sizeof(samr_group_hnd_object),
-       0,
-       py_samr_group_hnd_dealloc, /*tp_dealloc*/
-       0,          /*tp_print*/
-       py_samr_group_hnd_getattr,          /*tp_getattr*/
-       0,          /*tp_setattr*/
-       0,          /*tp_compare*/
-       0,          /*tp_repr*/
-       0,          /*tp_as_number*/
-       0,          /*tp_as_sequence*/
-       0,          /*tp_as_mapping*/
-       0,          /*tp_hash */
-};
-
-PyObject *new_samr_group_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
-                                     POLICY_HND *pol)
-{
-       samr_group_hnd_object *o;
-
-       o = PyObject_New(samr_group_hnd_object, &samr_group_hnd_type);
-
-       o->cli = cli;
-       o->mem_ctx = mem_ctx;
-       memcpy(&o->group_pol, pol, sizeof(POLICY_HND));
-
-       return (PyObject*)o;
-}
-
-/* Alias handle object */
-
-static void py_samr_alias_hnd_dealloc(PyObject* self)
-{
-       PyObject_Del(self);
-}
-
-static PyMethodDef samr_alias_methods[] = {
-       { NULL }
-};
-
-static PyObject *py_samr_alias_hnd_getattr(PyObject *self, char *attrname)
-{
-       return Py_FindMethod(samr_alias_methods, self, attrname);
-}
-
-PyTypeObject samr_alias_hnd_type = {
-       PyObject_HEAD_INIT(NULL)
-       0,
-       "SAMR Alias Handle",
-       sizeof(samr_alias_hnd_object),
-       0,
-       py_samr_alias_hnd_dealloc, /*tp_dealloc*/
-       0,          /*tp_print*/
-       py_samr_alias_hnd_getattr,          /*tp_getattr*/
-       0,          /*tp_setattr*/
-       0,          /*tp_compare*/
-       0,          /*tp_repr*/
-       0,          /*tp_as_number*/
-       0,          /*tp_as_sequence*/
-       0,          /*tp_as_mapping*/
-       0,          /*tp_hash */
-};
-
-PyObject *new_samr_alias_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
-                                     POLICY_HND *pol)
-{
-       samr_alias_hnd_object *o;
-
-       o = PyObject_New(samr_alias_hnd_object, &samr_alias_hnd_type);
-
-       o->cli = cli;
-       o->mem_ctx = mem_ctx;
-       memcpy(&o->alias_pol, pol, sizeof(POLICY_HND));
-
-       return (PyObject*)o;
-}
-
-/* SAMR user handle object */
-
-static void py_samr_user_hnd_dealloc(PyObject* self)
-{
-       PyObject_Del(self);
-}
-
-static PyObject *samr_set_user_info2(PyObject *self, PyObject *args, 
-                                    PyObject *kw)
-{
-       samr_user_hnd_object *user_hnd = (samr_user_hnd_object *)self;
-       static char *kwlist[] = { "dict", NULL };
-       PyObject *info, *result = NULL;
-       SAM_USERINFO_CTR ctr;
-       TALLOC_CTX *mem_ctx;
-       uchar sess_key[16];
-       NTSTATUS ntstatus;
-       int level;
-       union {
-               SAM_USER_INFO_10 id10;
-               SAM_USER_INFO_21 id21;
-       } pinfo;
-
-       if (!PyArg_ParseTupleAndKeywords(
-                   args, kw, "O!", kwlist, &PyDict_Type, &info))
-               return NULL;
-
-       if (!get_level_value(info, &level)) {
-               PyErr_SetString(samr_error, "invalid info level");
-               return NULL;
-       }       
-
-       ZERO_STRUCT(ctr);
-
-       ctr.switch_value = level;
-
-       switch(level) {
-       case 0x10:
-               ctr.info.id10 = &pinfo.id10;
-               
-               if (!py_to_SAM_USER_INFO_10(ctr.info.id10, info)) {
-                       PyErr_SetString(
-                               samr_error, "error converting user info");
-                       goto done;
-               }
-               
-               break;
-       case 21:
-               ctr.info.id21 = &pinfo.id21;
-
-               if (!py_to_SAM_USER_INFO_21(ctr.info.id21, info)) {
-                       PyErr_SetString(
-                               samr_error, "error converting user info");
-                       goto done;
-               }
-
-               break;
-       default:
-               PyErr_SetString(samr_error, "unsupported info level");
-               goto done;
-       }
-
-       /* Call RPC function */
-
-       if (!(mem_ctx = talloc_init("samr_set_user_info2"))) {
-               PyErr_SetString(
-                       samr_error, "unable to init talloc context\n");
-               goto done;
-       }
-
-       ntstatus = cli_samr_set_userinfo2(
-               user_hnd->cli, mem_ctx, &user_hnd->user_pol, level,
-               sess_key, &ctr);
-
-       talloc_destroy(mem_ctx);
-
-       if (!NT_STATUS_IS_OK(ntstatus)) {
-               PyErr_SetObject(samr_ntstatus, py_ntstatus_tuple(ntstatus));
-               goto done;
-       }
-
-       Py_INCREF(Py_None);
-       result = Py_None;
-       
-done:
-       return result;
-}
-
-static PyObject *samr_delete_dom_user(PyObject *self, PyObject *args, 
-                                     PyObject *kw)
-{
-       samr_user_hnd_object *user_hnd = (samr_user_hnd_object *)self;
-       static char *kwlist[] = { NULL };
-       NTSTATUS ntstatus;
-       TALLOC_CTX *mem_ctx;
-       PyObject *result = NULL;
-       
-       if (!PyArg_ParseTupleAndKeywords(
-                   args, kw, "", kwlist))
-               return NULL;
-
-       if (!(mem_ctx = talloc_init("samr_delete_dom_user"))) {
-               PyErr_SetString(samr_error, "unable to init talloc context");
-               return NULL;
-       }
-
-       ntstatus = cli_samr_delete_dom_user(
-               user_hnd->cli, mem_ctx, &user_hnd->user_pol);
-
-       if (!NT_STATUS_IS_OK(ntstatus)) {
-               PyErr_SetObject(samr_ntstatus, py_ntstatus_tuple(ntstatus));
-               goto done;
-       }
-
-       Py_INCREF(Py_None);
-       result = Py_None;
-
-done:
-       talloc_destroy(mem_ctx);
-
-       return result;
-}
-
-static PyMethodDef samr_user_methods[] = {
-       { "delete_domain_user", (PyCFunction)samr_delete_dom_user,
-         METH_VARARGS | METH_KEYWORDS,
-         "Delete domain user." },
-       { "set_user_info2", (PyCFunction)samr_set_user_info2,
-         METH_VARARGS | METH_KEYWORDS,
-         "Set user info 2" },
-       { NULL }
-};
-
-static PyObject *py_samr_user_hnd_getattr(PyObject *self, char *attrname)
-{
-       return Py_FindMethod(samr_user_methods, self, attrname);
-}
-
-PyTypeObject samr_user_hnd_type = {
-       PyObject_HEAD_INIT(NULL)
-       0,
-       "SAMR User Handle",
-       sizeof(samr_user_hnd_object),
-       0,
-       py_samr_user_hnd_dealloc, /*tp_dealloc*/
-       0,          /*tp_print*/
-       py_samr_user_hnd_getattr,          /*tp_getattr*/
-       0,          /*tp_setattr*/
-       0,          /*tp_compare*/
-       0,          /*tp_repr*/
-       0,          /*tp_as_number*/
-       0,          /*tp_as_sequence*/
-       0,          /*tp_as_mapping*/
-       0,          /*tp_hash */
-};
-
-PyObject *new_samr_user_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
-                                  POLICY_HND *pol)
-{
-       samr_user_hnd_object *o;
-
-       o = PyObject_New(samr_user_hnd_object, &samr_user_hnd_type);
-
-       o->cli = cli;
-       o->mem_ctx = mem_ctx;
-       memcpy(&o->user_pol, pol, sizeof(POLICY_HND));
-
-       return (PyObject*)o;
-}
-
 /* SAMR connect handle object */
 
 static void py_samr_connect_hnd_dealloc(PyObject* self)
@@ -429,7 +163,8 @@ static PyObject *samr_enum_dom_groups(PyObject *self, PyObject *args,
        NTSTATUS result;
        PyObject *py_result = NULL;
        
-       if (!PyArg_ParseTupleAndKeywords(args, kw, "", kwlist))
+       if (!PyArg_ParseTupleAndKeywords(
+                   args, kw, "", kwlist))
                return NULL;
 
        if (!(mem_ctx = talloc_init("samr_enum_dom_groups"))) {
@@ -456,52 +191,9 @@ static PyObject *samr_enum_dom_groups(PyObject *self, PyObject *args,
        return py_result;
 }      
 
-static PyObject *samr_create_dom_user(PyObject *self, PyObject *args, 
-                                     PyObject *kw)
-{
-       samr_domain_hnd_object *domain_hnd = (samr_domain_hnd_object *)self;
-       static char *kwlist[] = { "account_name", "acb_info", NULL };
-       char *account_name;
-       NTSTATUS ntstatus;
-       uint32 unknown = 0xe005000b; /* Access mask? */
-       uint32 user_rid;
-       PyObject *result = NULL;
-       TALLOC_CTX *mem_ctx;
-       uint16 acb_info = ACB_NORMAL;
-       POLICY_HND user_pol;
-       
-       if (!PyArg_ParseTupleAndKeywords(
-                   args, kw, "s|i", kwlist, &account_name, &acb_info))
-               return NULL;
-
-       if (!(mem_ctx = talloc_init("samr_create_dom_user"))) {
-               PyErr_SetString(samr_error, "unable to init talloc context");
-               return NULL;
-       }
-
-       ntstatus = cli_samr_create_dom_user(
-               domain_hnd->cli, mem_ctx, &domain_hnd->domain_pol,
-               account_name, acb_info, unknown, &user_pol, &user_rid);
-
-       if (!NT_STATUS_IS_OK(ntstatus)) {
-               PyErr_SetObject(samr_ntstatus, py_ntstatus_tuple(ntstatus));
-               talloc_destroy(mem_ctx);
-               goto done;
-       }
-
-       result = new_samr_user_hnd_object(
-               domain_hnd->cli, mem_ctx, &user_pol);
-
-done:
-
-       return result;
-}
-
 static PyMethodDef samr_domain_methods[] = {
        { "enum_domain_groups", (PyCFunction)samr_enum_dom_groups,
          METH_VARARGS | METH_KEYWORDS, "Enumerate domain groups" },
-       { "create_domain_user", (PyCFunction)samr_create_dom_user,
-         METH_VARARGS | METH_KEYWORDS, "Create domain user" },
        { NULL }
 };
 
@@ -528,6 +220,150 @@ PyTypeObject samr_domain_hnd_type = {
        0,          /*tp_hash */
 };
 
+/* SAMR user handle object */
+
+static void py_samr_user_hnd_dealloc(PyObject* self)
+{
+       PyObject_Del(self);
+}
+
+static PyMethodDef samr_user_methods[] = {
+       { NULL }
+};
+
+static PyObject *py_samr_user_hnd_getattr(PyObject *self, char *attrname)
+{
+       return Py_FindMethod(samr_user_methods, self, attrname);
+}
+
+PyTypeObject samr_user_hnd_type = {
+       PyObject_HEAD_INIT(NULL)
+       0,
+       "SAMR User Handle",
+       sizeof(samr_user_hnd_object),
+       0,
+       py_samr_user_hnd_dealloc, /*tp_dealloc*/
+       0,          /*tp_print*/
+       py_samr_user_hnd_getattr,          /*tp_getattr*/
+       0,          /*tp_setattr*/
+       0,          /*tp_compare*/
+       0,          /*tp_repr*/
+       0,          /*tp_as_number*/
+       0,          /*tp_as_sequence*/
+       0,          /*tp_as_mapping*/
+       0,          /*tp_hash */
+};
+
+PyObject *new_samr_user_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
+                                     POLICY_HND *pol)
+{
+       samr_user_hnd_object *o;
+
+       o = PyObject_New(samr_user_hnd_object, &samr_user_hnd_type);
+
+       o->cli = cli;
+       o->mem_ctx = mem_ctx;
+       memcpy(&o->user_pol, pol, sizeof(POLICY_HND));
+
+       return (PyObject*)o;
+}
+
+/* SAMR group handle object */
+
+static void py_samr_group_hnd_dealloc(PyObject* self)
+{
+       PyObject_Del(self);
+}
+
+static PyMethodDef samr_group_methods[] = {
+       { NULL }
+};
+
+static PyObject *py_samr_group_hnd_getattr(PyObject *self, char *attrname)
+{
+       return Py_FindMethod(samr_group_methods, self, attrname);
+}
+
+PyTypeObject samr_group_hnd_type = {
+       PyObject_HEAD_INIT(NULL)
+       0,
+       "SAMR Group Handle",
+       sizeof(samr_group_hnd_object),
+       0,
+       py_samr_group_hnd_dealloc, /*tp_dealloc*/
+       0,          /*tp_print*/
+       py_samr_group_hnd_getattr,          /*tp_getattr*/
+       0,          /*tp_setattr*/
+       0,          /*tp_compare*/
+       0,          /*tp_repr*/
+       0,          /*tp_as_number*/
+       0,          /*tp_as_sequence*/
+       0,          /*tp_as_mapping*/
+       0,          /*tp_hash */
+};
+
+PyObject *new_samr_group_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
+                                     POLICY_HND *pol)
+{
+       samr_group_hnd_object *o;
+
+       o = PyObject_New(samr_group_hnd_object, &samr_group_hnd_type);
+
+       o->cli = cli;
+       o->mem_ctx = mem_ctx;
+       memcpy(&o->group_pol, pol, sizeof(POLICY_HND));
+
+       return (PyObject*)o;
+}
+
+/* Alias handle object */
+
+static void py_samr_alias_hnd_dealloc(PyObject* self)
+{
+       PyObject_Del(self);
+}
+
+static PyMethodDef samr_alias_methods[] = {
+       { NULL }
+};
+
+static PyObject *py_samr_alias_hnd_getattr(PyObject *self, char *attrname)
+{
+       return Py_FindMethod(samr_alias_methods, self, attrname);
+}
+
+PyTypeObject samr_alias_hnd_type = {
+       PyObject_HEAD_INIT(NULL)
+       0,
+       "SAMR Alias Handle",
+       sizeof(samr_alias_hnd_object),
+       0,
+       py_samr_alias_hnd_dealloc, /*tp_dealloc*/
+       0,          /*tp_print*/
+       py_samr_alias_hnd_getattr,          /*tp_getattr*/
+       0,          /*tp_setattr*/
+       0,          /*tp_compare*/
+       0,          /*tp_repr*/
+       0,          /*tp_as_number*/
+       0,          /*tp_as_sequence*/
+       0,          /*tp_as_mapping*/
+       0,          /*tp_hash */
+};
+
+PyObject *new_samr_alias_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx,
+                                     POLICY_HND *pol)
+{
+       samr_alias_hnd_object *o;
+
+       o = PyObject_New(samr_alias_hnd_object, &samr_alias_hnd_type);
+
+       o->cli = cli;
+       o->mem_ctx = mem_ctx;
+       memcpy(&o->alias_pol, pol, sizeof(POLICY_HND));
+
+       return (PyObject*)o;
+}
+
 static PyObject *samr_connect(PyObject *self, PyObject *args, PyObject *kw)
 {
        static char *kwlist[] = { "server", "creds", "access", NULL };
@@ -610,21 +446,6 @@ static struct const_vals {
        char *name;
        uint32 value;
 } module_const_vals[] = {
-
-       /* Account control bits */
-
-       { "ACB_DISABLED", 0x0001 },
-       { "ACB_HOMDIRREQ", 0x0002 },
-       { "ACB_PWNOTREQ", 0x0004 },
-       { "ACB_TEMPDUP", 0x0008 },
-       { "ACB_NORMAL", 0x0010 },
-       { "ACB_MNS", 0x0020 },
-       { "ACB_DOMTRUST", 0x0040 },
-       { "ACB_WSTRUST", 0x0080 },
-       { "ACB_SVRTRUST", 0x0100 },
-       { "ACB_PWNOEXP", 0x0200 },
-       { "ACB_AUTOLOCK", 0x0400 },
-
        { NULL }
 };
 
index 4d2b0675b477deb9cabe7fd541a84f471c8e9843..3292eb97ec6afb1884464aa40e38ad5a02e5c183 100644 (file)
@@ -78,9 +78,4 @@ extern PyObject *samr_error;
 /* The following definitions are from py_samr_conv.c */
 
 BOOL py_from_acct_info(PyObject **array, struct acct_info *info, int num_accts);
-BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info);
-BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict);
-BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info);
-BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict);
-
 #endif /* _PY_SAMR_H */
index 7523ee7dfcbcb3206d57fb37b3b66fabd7827162..fdf71641e0703228567a09edacdbcb171d353554 100644 (file)
 #include "python/py_samr.h"
 #include "python/py_conv.h"
 
-/*
- * Convert between SAM_USER_INFO_10 and Python
- */
-
-struct pyconv py_SAM_USER_INFO_10[] = {
-       { "acb_info", PY_UINT32, offsetof(SAM_USER_INFO_10, acb_info) },
-       { NULL }
-};
-
-BOOL py_from_SAM_USER_INFO_10(PyObject **dict, SAM_USER_INFO_10 *info)
-{
-       *dict = from_struct(info, py_SAM_USER_INFO_10);
-       PyDict_SetItemString(*dict, "level", PyInt_FromLong(0x10));
-       return True;
-}
-
-BOOL py_to_SAM_USER_INFO_10(SAM_USER_INFO_10 *info, PyObject *dict)
-{
-       PyObject *obj, *dict_copy = PyDict_Copy(dict);
-       BOOL result = False;
-
-       if (!(obj = PyDict_GetItemString(dict_copy, "level")) ||
-           !PyInt_Check(obj))
-               goto done;
-
-       PyDict_DelItemString(dict_copy, "level");
-
-       if (!to_struct(info, dict_copy, py_SAM_USER_INFO_10))
-               goto done;
-
-       result = True;
-
-done:
-       Py_DECREF(dict_copy);
-       return result;
-}
-
-/*
- * Convert between SAM_USER_INFO_21 and Python
- */
-
-struct pyconv py_SAM_USER_INFO_21[] = {
-       { NULL }
-};
-
-BOOL py_from_SAM_USER_INFO_21(PyObject **dict, SAM_USER_INFO_21 *info)
-{
-       *dict = from_struct(info, py_SAM_USER_INFO_21);
-       PyDict_SetItemString(*dict, "level", PyInt_FromLong(21));
-       return True;
-}
-
-BOOL py_to_SAM_USER_INFO_21(SAM_USER_INFO_21 *info, PyObject *dict)
-{
-       PyObject *obj, *dict_copy = PyDict_Copy(dict);
-       BOOL result = False;
-
-       if (!(obj = PyDict_GetItemString(dict_copy, "level")) ||
-           !PyInt_Check(obj))
-               goto done;
-
-       PyDict_DelItemString(dict_copy, "level");
-
-       if (!to_struct(info, dict_copy, py_SAM_USER_INFO_21))
-               goto done;
-
-       result = True;
-
-done:
-       Py_DECREF(dict_copy);
-       return result;
-}
-
 /*
  * Convert between acct_info and Python 
  */
index 65693310318aacead3f0ffa0eeab82b3658d5fa9..8bc8868a70cbd9ce9ccda1af1738b06c3d65e523 100755 (executable)
@@ -116,7 +116,6 @@ setup(
 
     Extension(name = "samr",
               sources = [samba_srcdir + "python/py_samr.c",
-                         samba_srcdir + "python/py_conv.c",
                          samba_srcdir + "python/py_samr_conv.c",
                          samba_srcdir + "python/py_common.c"],
               libraries = lib_list,
index 9002ad3d1b57bedc63b55ef52e6cb958cacec44e..db873236e46b49790462d679211f3e70710b4f1e 100644 (file)
@@ -1164,7 +1164,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);
@@ -1199,7 +1199,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:
@@ -1293,58 +1293,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 9d0b48796c0b88f19db60f4a4ed050051581435d..c451ee2e4209524c4de4530ad630b9ac4ad681df 100644 (file)
@@ -1464,49 +1464,3 @@ NTSTATUS cli_samr_get_dom_pwinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx,
 
        return result;
 }
-
-/* Lookup Domain Name */
-
-NTSTATUS cli_samr_lookup_domain(struct cli_state *cli, TALLOC_CTX *mem_ctx,
-                               POLICY_HND *user_pol, char *domain_name, 
-                               DOM_SID *sid)
-{
-       prs_struct qbuf, rbuf;
-       SAMR_Q_LOOKUP_DOMAIN q;
-       SAMR_R_LOOKUP_DOMAIN r;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-
-       ZERO_STRUCT(q);
-       ZERO_STRUCT(r);
-
-       /* 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_samr_q_lookup_domain(&q, user_pol, domain_name);
-
-       if (!samr_io_q_lookup_domain("", &q, &qbuf, 0) ||
-           !rpc_api_pipe_req(cli, SAMR_LOOKUP_DOMAIN, &qbuf, &rbuf))
-               goto done;
-
-       /* Unmarshall response */
-
-       if (!samr_io_r_lookup_domain("", &r, &rbuf, 0))
-               goto done;
-
-       /* Return output parameters */
-
-       result = r.status;
-
-       if (NT_STATUS_IS_OK(result))
-               sid_copy(sid, &r.dom_sid.sid);
-
- done:
-       prs_mem_free(&qbuf);
-       prs_mem_free(&rbuf);
-
-       return result;
-}
index fc9999dc4dc15e3f5028ed1617be12b2dc2753f5..0b45c0baf37ae29788bdc6c98456c7645a3e81d0 100644 (file)
@@ -2219,21 +2219,18 @@ BOOL lsa_io_r_query_info2(const char *desc, LSA_R_QUERY_INFO2 *r_c,
 
        if(!prs_uint32("ptr", ps, depth, &r_c->ptr))
                return False;
-
-       if (r_c->ptr != 0) {
-               if(!prs_uint16("info_class", ps, depth, &r_c->info_class))
+       if(!prs_uint16("info_class", ps, depth, &r_c->info_class))
+               return False;
+       switch(r_c->info_class) {
+       case 0x000c:
+               if (!lsa_io_dns_dom_info("info12", &r_c->info.dns_dom_info,
+                                        ps, depth))
                        return False;
-               switch(r_c->info_class) {
-               case 0x000c:
-                       if (!lsa_io_dns_dom_info("info12", &r_c->info.dns_dom_info,
-                                                ps, depth))
-                               return False;
                break;
-               default:
-                       DEBUG(0,("lsa_io_r_query_info2: unknown info class %d\n",
-                                r_c->info_class));
-                       return False;
-               }
+       default:
+               DEBUG(0,("lsa_io_r_query_info2: unknown info class %d\n",
+                        r_c->info_class));
+               return False;
        }
 
        if(!prs_align(ps))
@@ -2304,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.
@@ -2332,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;
 }
 
 
@@ -2372,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.
@@ -2398,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;
 }
 
 
@@ -2428,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)
 {
@@ -2440,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 a39e3391bbee3423905fca948a3e7b2061a660c0..f0d4c67d9f4cec5a8b45f8a521f646d51ac21e6c 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)
-{
-       unsigned 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)
-{
-       unsigned 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.
 ********************************************************************/
@@ -1289,22 +1217,22 @@ void init_dom_rid4(DOM_RID4 *rid4, uint16 unknown, uint16 attr, uint32 rid)
  Inits a DOM_CLNT_SRV structure.
 ********************************************************************/
 
-static void init_clnt_srv(DOM_CLNT_SRV *dlog, const char *logon_srv, const char *comp_name)
+static void init_clnt_srv(DOM_CLNT_SRV *log, const char *logon_srv, const char *comp_name)
 {
        DEBUG(5,("init_clnt_srv: %d\n", __LINE__));
 
        if (logon_srv != NULL) {
-               dlog->undoc_buffer = 1;
-               init_unistr2(&dlog->uni_logon_srv, logon_srv, strlen(logon_srv)+1);
+               log->undoc_buffer = 1;
+               init_unistr2(&log->uni_logon_srv, logon_srv, strlen(logon_srv)+1);
        } else {
-               dlog->undoc_buffer = 0;
+               log->undoc_buffer = 0;
        }
 
        if (comp_name != NULL) {
-               dlog->undoc_buffer2 = 1;
-               init_unistr2(&dlog->uni_comp_name, comp_name, strlen(comp_name)+1);
+               log->undoc_buffer2 = 1;
+               init_unistr2(&log->uni_comp_name, comp_name, strlen(comp_name)+1);
        } else {
-               dlog->undoc_buffer2 = 0;
+               log->undoc_buffer2 = 0;
        }
 }
 
@@ -1312,9 +1240,9 @@ static void init_clnt_srv(DOM_CLNT_SRV *dlog, const char *logon_srv, const char
  Inits or writes a DOM_CLNT_SRV structure.
 ********************************************************************/
 
-static BOOL smb_io_clnt_srv(const char *desc, DOM_CLNT_SRV *dlog, prs_struct *ps, int depth)
+static BOOL smb_io_clnt_srv(const char *desc, DOM_CLNT_SRV *log, prs_struct *ps, int depth)
 {
-       if (dlog == NULL)
+       if (log == NULL)
                return False;
 
        prs_debug(ps, depth, desc, "smb_io_clnt_srv");
@@ -1323,22 +1251,22 @@ static BOOL smb_io_clnt_srv(const char *desc, DOM_CLNT_SRV *dlog, prs_struct *ps
        if(!prs_align(ps))
                return False;
        
-       if(!prs_uint32("undoc_buffer ", ps, depth, &dlog->undoc_buffer))
+       if(!prs_uint32("undoc_buffer ", ps, depth, &log->undoc_buffer))
                return False;
 
-       if (dlog->undoc_buffer != 0) {
-               if(!smb_io_unistr2("unistr2", &dlog->uni_logon_srv, dlog->undoc_buffer, ps, depth))
+       if (log->undoc_buffer != 0) {
+               if(!smb_io_unistr2("unistr2", &log->uni_logon_srv, log->undoc_buffer, ps, depth))
                        return False;
        }
 
        if(!prs_align(ps))
                return False;
 
-       if(!prs_uint32("undoc_buffer2", ps, depth, &dlog->undoc_buffer2))
+       if(!prs_uint32("undoc_buffer2", ps, depth, &log->undoc_buffer2))
                return False;
 
-       if (dlog->undoc_buffer2 != 0) {
-               if(!smb_io_unistr2("unistr2", &dlog->uni_comp_name, dlog->undoc_buffer2, ps, depth))
+       if (log->undoc_buffer2 != 0) {
+               if(!smb_io_unistr2("unistr2", &log->uni_comp_name, log->undoc_buffer2, ps, depth))
                        return False;
        }
 
@@ -1349,28 +1277,28 @@ static BOOL smb_io_clnt_srv(const char *desc, DOM_CLNT_SRV *dlog, prs_struct *ps
  Inits a DOM_LOG_INFO structure.
 ********************************************************************/
 
-void init_log_info(DOM_LOG_INFO *dlog, const char *logon_srv, const char *acct_name,
+void init_log_info(DOM_LOG_INFO *log, const char *logon_srv, const char *acct_name,
                uint16 sec_chan, const char *comp_name)
 {
        DEBUG(5,("make_log_info %d\n", __LINE__));
 
-       dlog->undoc_buffer = 1;
+       log->undoc_buffer = 1;
 
-       init_unistr2(&dlog->uni_logon_srv, logon_srv, strlen(logon_srv)+1);
-       init_unistr2(&dlog->uni_acct_name, acct_name, strlen(acct_name)+1);
+       init_unistr2(&log->uni_logon_srv, logon_srv, strlen(logon_srv)+1);
+       init_unistr2(&log->uni_acct_name, acct_name, strlen(acct_name)+1);
 
-       dlog->sec_chan = sec_chan;
+       log->sec_chan = sec_chan;
 
-       init_unistr2(&dlog->uni_comp_name, comp_name, strlen(comp_name)+1);
+       init_unistr2(&log->uni_comp_name, comp_name, strlen(comp_name)+1);
 }
 
 /*******************************************************************
  Reads or writes a DOM_LOG_INFO structure.
 ********************************************************************/
 
-BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *dlog, prs_struct *ps, int depth)
+BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *log, prs_struct *ps, int depth)
 {
-       if (dlog == NULL)
+       if (log == NULL)
                return False;
 
        prs_debug(ps, depth, desc, "smb_io_log_info");
@@ -1379,18 +1307,18 @@ BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *dlog, prs_struct *ps, int d
        if(!prs_align(ps))
                return False;
        
-       if(!prs_uint32("undoc_buffer", ps, depth, &dlog->undoc_buffer))
+       if(!prs_uint32("undoc_buffer", ps, depth, &log->undoc_buffer))
                return False;
 
-       if(!smb_io_unistr2("unistr2", &dlog->uni_logon_srv, True, ps, depth))
+       if(!smb_io_unistr2("unistr2", &log->uni_logon_srv, True, ps, depth))
                return False;
-       if(!smb_io_unistr2("unistr2", &dlog->uni_acct_name, True, ps, depth))
+       if(!smb_io_unistr2("unistr2", &log->uni_acct_name, True, ps, depth))
                return False;
 
-       if(!prs_uint16("sec_chan", ps, depth, &dlog->sec_chan))
+       if(!prs_uint16("sec_chan", ps, depth, &log->sec_chan))
                return False;
 
-       if(!smb_io_unistr2("unistr2", &dlog->uni_comp_name, True, ps, depth))
+       if(!smb_io_unistr2("unistr2", &log->uni_comp_name, True, ps, depth))
                return False;
 
        return True;
@@ -1529,21 +1457,21 @@ BOOL smb_io_clnt_info(const char *desc,  DOM_CLNT_INFO *clnt, prs_struct *ps, in
  Inits a DOM_LOGON_ID structure.
 ********************************************************************/
 
-void init_logon_id(DOM_LOGON_ID *dlog, uint32 log_id_low, uint32 log_id_high)
+void init_logon_id(DOM_LOGON_ID *log, uint32 log_id_low, uint32 log_id_high)
 {
        DEBUG(5,("make_logon_id: %d\n", __LINE__));
 
-       dlog->low  = log_id_low;
-       dlog->high = log_id_high;
+       log->low  = log_id_low;
+       log->high = log_id_high;
 }
 
 /*******************************************************************
  Reads or writes a DOM_LOGON_ID structure.
 ********************************************************************/
 
-BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *dlog, prs_struct *ps, int depth)
+BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *log, prs_struct *ps, int depth)
 {
-       if (dlog == NULL)
+       if (log == NULL)
                return False;
 
        prs_debug(ps, depth, desc, "smb_io_logon_id");
@@ -1552,9 +1480,9 @@ BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *dlog, prs_struct *ps, int d
        if(!prs_align(ps))
                return False;
        
-       if(!prs_uint32("low ", ps, depth, &dlog->low ))
+       if(!prs_uint32("low ", ps, depth, &log->low ))
                return False;
-       if(!prs_uint32("high", ps, depth, &dlog->high))
+       if(!prs_uint32("high", ps, depth, &log->high))
                return False;
 
        return True;
index a660084250e13159728d3084c327f4969c26153c..163e6bab3caf9a5d277d62df9358937749df54db 100644 (file)
@@ -1808,9 +1808,9 @@ static BOOL net_io_sam_domain_info(const char *desc, SAM_DOMAIN_INFO * info,
        if (!smb_io_unihdr("hdr_unknown", &info->hdr_unknown, ps, depth))
                 return False;
 
-       if (prs_offset(ps) + 40 > prs_data_size(ps))
+       if (ps->data_offset + 40 > ps->buffer_size)
                 return False;
-        prs_set_offset(ps, prs_offset(ps) + 40);
+        ps->data_offset += 40;
 
        if (!smb_io_unistr2("uni_dom_name", &info->uni_dom_name,
                             info->hdr_dom_name.buffer, ps, depth))
@@ -1847,9 +1847,9 @@ static BOOL net_io_sam_group_info(const char *desc, SAM_GROUP_INFO * info,
        if (!smb_io_bufhdr2("hdr_sec_desc", &info->hdr_sec_desc, ps, depth))
                 return False;
 
-       if (prs_offset(ps) + 48 > prs_data_size(ps))
+        if (ps->data_offset + 48 > ps->buffer_size)
                 return False;
-        prs_set_offset(ps, prs_offset(ps) + 48);
+       ps->data_offset += 48;
 
        if (!smb_io_unistr2("uni_grp_name", &info->uni_grp_name,
                             info->hdr_grp_name.buffer, ps, depth))
@@ -2128,13 +2128,13 @@ static BOOL net_io_sam_account_info(const char *desc, uint8 sess_key[16],
                uint32 len = 0x44;
                if (!prs_uint32("pwd_len", ps, depth, &len))
                         return False;
-               old_offset = prs_offset(ps);
+               old_offset = ps->data_offset;
                if (len == 0x44)
                {
                        if (ps->io)
                        {
                                /* reading */
-                                if (!prs_hash1(ps, prs_offset(ps), sess_key))
+                                if (!prs_hash1(ps, ps->data_offset, sess_key))
                                         return False;
                        }
                        if (!net_io_sam_passwd_info("pass", &info->pass, 
@@ -2148,9 +2148,9 @@ static BOOL net_io_sam_account_info(const char *desc, uint8 sess_key[16],
                                         return False;
                        }
                }
-                if (old_offset + len > prs_data_size(ps))
+                if (old_offset + len > ps->buffer_size)
                         return False;
-               prs_set_offset(ps, old_offset + len);
+               ps->data_offset = old_offset + len;
        }
        if (!smb_io_buffer4("buf_sec_desc", &info->buf_sec_desc,
                             info->hdr_sec_desc.buffer, ps, depth))
@@ -2185,9 +2185,9 @@ static BOOL net_io_sam_group_mem_info(const char *desc, SAM_GROUP_MEM_INFO * inf
        if (!prs_uint32("num_members", ps, depth, &info->num_members))
                 return False;
 
-        if (prs_offset(ps) + 16 > prs_data_size(ps))
+        if (ps->data_offset + 16 > ps->buffer_size)
                 return False;
-       prs_set_offset(ps, prs_offset(ps) + 16);
+       ps->data_offset += 16;
 
        if (info->ptr_rids != 0)
        {
@@ -2267,9 +2267,9 @@ static BOOL net_io_sam_alias_info(const char *desc, SAM_ALIAS_INFO * info,
        if (!smb_io_unihdr("hdr_als_desc", &info->hdr_als_desc, ps, depth))
                 return False;
 
-        if (prs_offset(ps) + 40 > prs_data_size(ps))
+        if (ps->data_offset + 40 > ps->buffer_size)
                 return False;
-       prs_set_offset(ps, prs_offset(ps) + 40);
+       ps->data_offset += 40;
 
        if (!smb_io_unistr2("uni_als_name", &info->uni_als_name,
                             info->hdr_als_name.buffer, ps, depth))
@@ -2304,9 +2304,9 @@ static BOOL net_io_sam_alias_mem_info(const char *desc, SAM_ALIAS_MEM_INFO * inf
 
        if (info->ptr_members != 0)
        {
-                if (prs_offset(ps) + 16 > prs_data_size(ps))
+                if (ps->data_offset + 16 > ps->buffer_size)
                         return False;
-                prs_set_offset(ps, prs_offset(ps) + 16);
+                ps->data_offset += 16;
 
                if (!prs_uint32("num_sids", ps, depth, &info->num_sids))
                         return False;
index 081173cf8de5ad42799b31e93c078a5b6dbb8d2d..47300e083ab148cc902cdfeed24646890bdabe85 100644 (file)
@@ -569,6 +569,24 @@ SEC_DESC_BUF *sec_desc_merge(TALLOC_CTX *ctx, SEC_DESC_BUF *new_sdb, SEC_DESC_BU
        return(return_sdb);
 }
 
+/*******************************************************************
+ Tallocs a duplicate SID. 
+********************************************************************/ 
+
+static DOM_SID *sid_dup_talloc(TALLOC_CTX *ctx, DOM_SID *src)
+{
+  DOM_SID *dst;
+
+  if(!src)
+    return NULL;
+
+  if((dst = talloc_zero(ctx, sizeof(DOM_SID))) != NULL) {
+    sid_copy( dst, src);
+  }
+
+  return dst;
+}
+
 /*******************************************************************
  Creates a SEC_DESC structure
 ********************************************************************/
index 0807efd550c08b5fa5bac1753cd02ca1fa538225..f6e9ca3d567ba295e6ba2a42ca400fc53cc5cf10 100644 (file)
@@ -158,7 +158,11 @@ static BOOL api_dfs_enum(pipes_struct *p)
 \pipe\netdfs commands
 ********************************************************************/
 
+#ifdef RPC_DFS_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_dfs_init(void)
+#endif
 {
   struct api_struct api_netdfs_cmds[] =
     {
index bfa706acf245a2575c0aeef9e67a102242a8e6c8..11388a00b102856ae3071741a4b666a52d417bc0 100644 (file)
@@ -642,164 +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[] =
 {
-  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},
-    };
+       { "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 fb6538db39f9d8b14fa8ab8bc5945f906b5294f2..10c583b70d633a44287c5fdbdb387671a9f11484 100644 (file)
@@ -645,7 +645,7 @@ NTSTATUS _lsa_lookup_sids(pipes_struct *p, LSA_Q_LOOKUP_SIDS *q_u, LSA_R_LOOKUP_
                num_entries = MAX_LOOKUP_SIDS;
                DEBUG(5,("_lsa_lookup_sids: truncating SID lookup list to %d\n", num_entries));
        }
-               
+
        ref = (DOM_R_REF *)talloc_zero(p->mem_ctx, sizeof(DOM_R_REF));
        names = (LSA_TRANS_NAME_ENUM *)talloc_zero(p->mem_ctx, sizeof(LSA_TRANS_NAME_ENUM));
 
@@ -1265,140 +1265,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, (const char **)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 7dc0f57f34f6ebf7486c971fa4fb53aa9b76edc6..f377d3952bf038aa5d9afd61b9a0e8d65ca09155 100644 (file)
@@ -321,7 +321,11 @@ static BOOL api_net_logon_ctrl(pipes_struct *p)
  array of \PIPE\NETLOGON operations
  ********************************************************************/
 
+#ifdef RPC_NETLOG_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_net_init(void)
+#endif
 {
   static struct api_struct api_net_cmds [] =
     {
index 5d8b7d39e91193cf7f575c2162b2706e4dab7b36..588d6644b1de2076fc8afd68f9c52c987481e151 100644 (file)
@@ -454,6 +454,41 @@ failed authentication on named pipe %s.\n", domain, user_name, wks, p->name ));
  The switch table for the pipe names and the functions to handle them.
  *******************************************************************/
 
+struct api_cmd
+{
+  const char *name;
+  int (*init)(void);
+};
+
+static struct api_cmd api_fd_commands[] =
+{
+#ifndef RPC_LSA_DYNAMIC
+    { "lsarpc",   rpc_lsa_init },
+#endif
+#ifndef RPC_SAMR_DYNAMIC
+    { "samr",     rpc_samr_init },
+#endif
+#ifndef RPC_SVC_DYNAMIC
+    { "srvsvc",   rpc_srv_init },
+#endif
+#ifndef RPC_WKS_DYNAMIC
+    { "wkssvc",   rpc_wks_init },
+#endif
+#ifndef RPC_NETLOG_DYNAMIC
+    { "NETLOGON", rpc_net_init },
+#endif
+#ifndef RPC_REG_DYNAMIC
+    { "winreg",   rpc_reg_init },
+#endif
+#ifndef RPC_SPOOLSS_DYNAMIC
+    { "spoolss",  rpc_spoolss_init },
+#endif
+#ifndef RPC_DFS_DYNAMIC
+    { "netdfs",   rpc_dfs_init },
+#endif
+    { NULL, NULL }
+};
+
 struct rpc_table
 {
   struct
@@ -756,6 +791,47 @@ int rpc_pipe_register_commands(const char *clnt, const char *srv, const struct a
         return size;
 }
 
+/*******************************************************************
+ Register commands to an RPC pipe
+*******************************************************************/
+int rpc_load_module(const char *module)
+{
+#ifdef HAVE_DLOPEN
+        void *handle;
+        int (*module_init)(void);
+        pstring full_path;
+        const char *error;
+        
+        pstrcpy(full_path, lib_path("rpc"));
+        pstrcat(full_path, "/librpc_");
+        pstrcat(full_path, module);
+        pstrcat(full_path, ".");
+        pstrcat(full_path, shlib_ext());
+
+        handle = sys_dlopen(full_path, RTLD_LAZY);
+        if (!handle) {
+                DEBUG(0, ("Could not load requested pipe %s as %s\n", 
+                    module, full_path));
+                DEBUG(0, (" Error: %s\n", dlerror()));
+                return 0;
+        }
+        
+        DEBUG(3, ("Module '%s' loaded\n", full_path));
+        
+        module_init = sys_dlsym(handle, "rpc_pipe_init");
+        if ((error = sys_dlerror()) != NULL) {
+                DEBUG(0, ("Error trying to resolve symbol 'rpc_pipe_init' in %s: %s\n",
+                          full_path, error));
+                return 0;
+        }
+        
+        return module_init();
+#else
+        DEBUG(0,("Attempting to load a dynamic RPC pipe when dlopen isn't available\n"));
+        return 0;
+#endif
+}
+
 /*******************************************************************
  Respond to a pipe bind request.
 *******************************************************************/
@@ -794,7 +870,14 @@ BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p)
        }
 
        if (i == rpc_lookup_size) {
-                               if (!smb_probe_module("rpc", p->name)) {
+                for (i = 0; api_fd_commands[i].name; i++) {
+                       if (strequal(api_fd_commands[i].name, p->name)) {
+                               api_fd_commands[i].init();
+                               break;
+                       }
+                }
+
+                if (!api_fd_commands[i].name && !rpc_load_module(p->name)) {
                        DEBUG(3,("api_pipe_bind_req: Unknown pipe name %s in bind request.\n",
                                 p->name ));
                        if(!setup_bind_nak(p))
@@ -810,11 +893,6 @@ BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p)
                                break;
                        }
                 }
-
-                               if (i == rpc_lookup_size) {
-                                       DEBUG(0, ("module %s doesn't provide functions for pipe %s!\n", p->name, p->name));
-                                       return False;
-                               }
        }
 
        /* decode the bind request */
@@ -1214,7 +1292,16 @@ BOOL api_pipe_request(pipes_struct *p)
 
 
        if (i == rpc_lookup_size) {
-               smb_probe_module("rpc", p->name);
+               for (i = 0; api_fd_commands[i].name; i++) {
+                        if (strequal(api_fd_commands[i].name, p->name)) {
+                                api_fd_commands[i].init();
+                                break;
+                        }
+                }
+
+                if (!api_fd_commands[i].name) {
+                       rpc_load_module(p->name);
+                }
 
                 for (i = 0; i < rpc_lookup_size; i++) {
                         if (strequal(rpc_lookup[i].pipe.clnt, p->name)) {
index f72d8e4f295354054d5bf4b536783e56b0a882d4..04960f8e3a3c54c5c70cf65cddff99033a0ef1fd 100644 (file)
@@ -373,7 +373,11 @@ static BOOL api_reg_save_key(pipes_struct *p)
  array of \PIPE\reg operations
  ********************************************************************/
 
+#ifdef RPC_REG_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_reg_init(void)
+#endif
 {
   static struct api_struct api_reg_cmds[] =
     {
index 67c092775b974a39c405f8a93db8e0cc65b04f3a..3a31ec82e14e28a692553e262bb6620f80711a28 100644 (file)
@@ -1443,7 +1443,11 @@ static BOOL api_samr_set_dom_info(pipes_struct *p)
  array of \PIPE\samr operations
  ********************************************************************/
 
+#ifdef RPC_SAMR_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_samr_init(void)
+#endif
 {
   static struct api_struct api_samr_cmds [] =
     {
index 6e1b6f2160aec2043f44b0715d586cb4fcfe5109..f174114473b509fe762159f1031f0f7f323a3c4b 100644 (file)
@@ -915,7 +915,7 @@ static NTSTATUS get_group_alias_entries(TALLOC_CTX *ctx, DOMAIN_GRP **d_grp, DOM
                struct sys_grent *grp;
                struct passwd *pw;
                gid_t winbind_gid_low, winbind_gid_high;
-               BOOL winbind_groups_exist = lp_idmap_gid(&winbind_gid_low, &winbind_gid_high);
+               BOOL winbind_groups_exist = lp_winbind_gid(&winbind_gid_low, &winbind_gid_high);
 
                /* local aliases */
                /* we return the UNIX groups here.  This seems to be the right */
@@ -2324,11 +2324,11 @@ NTSTATUS _api_samr_create_user(pipes_struct *p, SAMR_Q_CREATE_USER *q_u, SAMR_R_
        } else {
                DEBUG(3,("attempting to create non-unix account %s\n", account));
                
-       }
-       
-       if (!pdb_set_username(sam_pass, account, PDB_CHANGED)) {
-               pdb_free_sam(&sam_pass);
-               return NT_STATUS_NO_MEMORY;
+               }
+               
+               if (!pdb_set_username(sam_pass, account, PDB_CHANGED)) {
+                       pdb_free_sam(&sam_pass);
+                       return NT_STATUS_NO_MEMORY;
        }
 
        pdb_set_acct_ctrl(sam_pass, acb_info, PDB_CHANGED);
index a7dd7a6cef5a0f2e2ce7874377359492f9033e92..5832ae876bfed0f59e03b75ae685179b73b1c6fe 100755 (executable)
@@ -1580,7 +1580,11 @@ static BOOL api_spoolss_replycloseprinter(pipes_struct *p)
 \pipe\spoolss commands
 ********************************************************************/
 
+#ifdef RPC_SPOOLSS_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_spoolss_init(void)
+#endif
 {
   struct api_struct api_spoolss_cmds[] = 
     {
index 71d7530410cf3feb989059841c273466d5715d42..1c203733b59de0e7d65f34046bb0ea18b305aac4 100644 (file)
@@ -526,7 +526,7 @@ static BOOL open_printer_hnd(pipes_struct *p, POLICY_HND *hnd, char *name, uint3
        
        /* Add to the internal list. */
        DLIST_ADD(printers_list, new_printer);
-       
+
        new_printer->notify.option=NULL;
                                
        if ( !(new_printer->ctx = talloc_init("Printer Entry [0x%x]", (uint32)hnd)) ) {
@@ -534,7 +534,7 @@ static BOOL open_printer_hnd(pipes_struct *p, POLICY_HND *hnd, char *name, uint3
                close_printer_handle(p, hnd);
                return False;
        }
-       
+
        if (!set_printer_hnd_printertype(new_printer, name)) {
                close_printer_handle(p, hnd);
                return False;
@@ -1018,9 +1018,9 @@ static void send_notify2_changes( SPOOLSS_NOTIFY_MSG_CTR *ctr, uint32 idx )
                }
 
                if ( sending_msg_count ) {
-               cli_spoolss_rrpcn( &notify_cli, mem_ctx, &p->notify.client_hnd, 
-                               data_len, data, p->notify.change, 0 );
-       }
+                       cli_spoolss_rrpcn( &notify_cli, mem_ctx, &p->notify.client_hnd, 
+                                       data_len, data, p->notify.change, 0 );
+               }
        }
        
 done:
index 96820ae74bc3b1b6d6791f02f3f7815bc35d8e3c..983c660965129528c7d91e54ff823c4404a4c484 100644 (file)
@@ -526,7 +526,11 @@ static BOOL api_srv_net_file_set_secdesc(pipes_struct *p)
 \PIPE\srvsvc commands
 ********************************************************************/
 
+#ifdef RPC_SVC_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_srv_init(void)
+#endif
 {
   static const struct api_struct api_srv_cmds[] =
     {
index 4d9130fb9704f12165bef0fab74b89bc0d12057f..1a7b64858b5992301d19488f95ca7bd8a1e60878 100644 (file)
@@ -1840,8 +1840,6 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
        struct current_user user;
        connection_struct *conn = NULL;
        BOOL became_user = False; 
-       fstring dev;
-       fstrcpy(dev, "A:");
 
        ZERO_STRUCT(st);
 
@@ -1855,7 +1853,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
        get_current_user(&user, p);
 
        become_root();
-       conn = make_connection(qualname, null_pw, dev, user.vuid, &nt_status);
+       conn = make_connection(qualname, null_pw, "A:", user.vuid, &nt_status);
        unbecome_root();
 
        if (conn == NULL) {
@@ -1945,12 +1943,9 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
        struct current_user user;
        connection_struct *conn = NULL;
        BOOL became_user = False;
-       fstring dev;
-       fstrcpy(dev, "A:");
 
        ZERO_STRUCT(st);
 
-
        r_u->status = WERR_OK;
 
        unistr2_to_ascii(qualname, &q_u->uni_qual_name, sizeof(qualname));
@@ -1961,7 +1956,7 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
        get_current_user(&user, p);
 
        become_root();
-       conn = make_connection(qualname, null_pw, dev, user.vuid, &nt_status);
+       conn = make_connection(qualname, null_pw, "A:", user.vuid, &nt_status);
        unbecome_root();
 
        if (conn == NULL) {
index 4656efb6fae4da5d6554bbe21090d8158eae278a..4eba9c7d1f51623f515afa79840ca13f5e59808b 100644 (file)
@@ -112,7 +112,7 @@ NTSTATUS get_alias_user_groups(TALLOC_CTX *ctx, DOM_SID *sid, int *numgroups, ui
        *prids=NULL;
        *numgroups=0;
 
-       winbind_groups_exist = lp_idmap_gid(&winbind_gid_low, &winbind_gid_high);
+       winbind_groups_exist = lp_winbind_gid(&winbind_gid_low, &winbind_gid_high);
 
 
        DEBUG(10,("get_alias_user_groups: looking if SID %s is a member of groups in the SID domain %s\n", 
index ddcbadd1d44dad780f90830e8cd7c0daf10dac4e..1fed2cc6db0853443b0c826132d38d3e1300caea 100644 (file)
@@ -60,7 +60,11 @@ static BOOL api_wks_query_info(pipes_struct *p)
  \PIPE\wkssvc commands
  ********************************************************************/
 
+#ifdef RPC_WKS_DYNAMIC
+int rpc_pipe_init(void)
+#else
 int rpc_wks_init(void)
+#endif
 {
   static struct api_struct api_wks_cmds[] =
     {
index 808ef50a4557475a8434c4c0102631aede997b16..db74370bc0bd0299f696d876628fb94e004d3af9 100644 (file)
@@ -543,50 +543,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 +706,6 @@ struct cmd_set lsarpc_commands[] = {
        { "lsaenumsid",          RPC_RTYPE_NTSTATUS, cmd_lsa_enum_sids,          NULL, PI_LSARPC, "Enumerate the LSA SIDS",               "" },
        { "lsaenumprivsaccount", RPC_RTYPE_NTSTATUS, cmd_lsa_enum_privsaccounts, NULL, PI_LSARPC, "Enumerate the privileges of an SID",   "" },
        { "lsaenumacctrights",   RPC_RTYPE_NTSTATUS, cmd_lsa_enum_acct_rights,   NULL, PI_LSARPC, "Enumerate the rights of an SID",   "" },
-       { "lsaenumacctwithright",RPC_RTYPE_NTSTATUS, cmd_lsa_enum_acct_with_right,NULL, PI_LSARPC,"Enumerate accounts with a right",   "" },
        { "lsaaddacctrights",    RPC_RTYPE_NTSTATUS, cmd_lsa_add_acct_rights,    NULL, PI_LSARPC, "Add rights to an account",   "" },
        { "lsaremoveacctrights", RPC_RTYPE_NTSTATUS, cmd_lsa_remove_acct_rights, NULL, PI_LSARPC, "Remove rights from an account",   "" },
        { "lsalookupprivvalue",  RPC_RTYPE_NTSTATUS, cmd_lsa_lookupprivvalue,    NULL, PI_LSARPC, "Get a privilege value given its name", "" },
index e2232f0da77a078fe8e016bf2dce2cd072e36212..866381456b247ffa678f72940d23db71f0a5bb90 100644 (file)
@@ -1487,49 +1487,6 @@ static NTSTATUS cmd_samr_get_dom_pwinfo(struct cli_state *cli,
        return result;
 }
 
-/* Look up domain name */
-
-static NTSTATUS cmd_samr_lookup_domain(struct cli_state *cli, 
-                                      TALLOC_CTX *mem_ctx,
-                                      int argc, const char **argv) 
-{
-       POLICY_HND connect_pol, domain_pol;
-       NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
-       uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
-       fstring domain_name,sid_string;
-       DOM_SID sid;
-       
-       if (argc != 2) {
-               printf("Usage: %s domain_name\n", argv[0]);
-               return NT_STATUS_OK;
-       }
-       
-       sscanf(argv[1], "%s", domain_name);
-       
-       result = try_samr_connects(cli, mem_ctx, access_mask, &connect_pol);
-       
-       if (!NT_STATUS_IS_OK(result))
-               goto done;
-
-       result = cli_samr_open_domain(cli, mem_ctx, &connect_pol,
-                                     access_mask, &domain_sid, &domain_pol);
-
-       if (!NT_STATUS_IS_OK(result))
-               goto done;
-       
-       result = cli_samr_lookup_domain(
-               cli, mem_ctx, &connect_pol, domain_name, &sid);
-
-       sid_to_string(sid_string,&sid);
-       if (NT_STATUS_IS_OK(result)) 
-               printf("SAMR_LOOKUP_DOMAIN: Domain Name: %s Domain SID: %s\n",
-                      domain_name,sid_string);
-
-done:
-       return result;
-}
-
 
 /* List of commands exported by this module */
 
@@ -1556,6 +1513,5 @@ struct cmd_set samr_commands[] = {
        { "samquerysecobj",     RPC_RTYPE_NTSTATUS, cmd_samr_query_sec_obj,         NULL, PI_SAMR, "Query SAMR security object",   "" },
        { "getdompwinfo",       RPC_RTYPE_NTSTATUS, cmd_samr_get_dom_pwinfo,        NULL, PI_SAMR, "Retrieve domain password info", "" },
 
-       { "lookupdomain",       RPC_RTYPE_NTSTATUS, cmd_samr_lookup_domain,         NULL, PI_SAMR, "Lookup Domain Name", "" },
        { NULL }
 };
index 6c1d05b3e93bfd7c89dbc28c8e722ca32e21a436..2338d72f19273cf3941ff8dd8150cff0bb50196d 100644 (file)
@@ -97,6 +97,70 @@ static char **completion_fn(char *text, int start, int end)
        return matches;
 }
 
+/***********************************************************************
+ * read in username/password credentials from a file
+ */
+static void read_authfile (
+       char *filename, 
+       char* username, 
+       char* password, 
+       char* domain
+)
+{
+       FILE *auth;
+        fstring buf;
+        uint16 len = 0;
+       char *ptr, *val, *param;
+                               
+       if ((auth=sys_fopen(filename, "r")) == NULL)
+       {
+               printf ("ERROR: Unable to open credentials file!\n");
+               return;
+       }
+                                
+       while (!feof(auth))
+       {  
+               /* get a line from the file */
+               if (!fgets (buf, sizeof(buf), auth))
+                       continue;
+               
+               len = strlen(buf);
+               
+               /* skip empty lines */                  
+               if ((len) && (buf[len-1]=='\n'))
+               {
+                       buf[len-1] = '\0';
+                       len--;
+               }       
+               if (len == 0)
+                       continue;
+                                       
+               /* break up the line into parameter & value.
+                  will need to eat a little whitespace possibly */
+               param = buf;
+               if (!(ptr = strchr_m(buf, '=')))
+                       continue;
+               val = ptr+1;
+               *ptr = '\0';
+                                       
+               /* eat leading white space */
+               while ((*val!='\0') && ((*val==' ') || (*val=='\t')))
+                       val++;
+                                       
+               if (strwicmp("password", param) == 0)
+                       fstrcpy (password, val);
+               else if (strwicmp("username", param) == 0)
+                       fstrcpy (username, val);
+               else if (strwicmp("domain", param) == 0)
+                       fstrcpy (domain, val);
+                                               
+               memset(buf, 0, sizeof(buf));
+       }
+       fclose(auth);
+       
+       return;
+}
+
 static char* next_command (char** cmdstr)
 {
        static pstring          command;
@@ -117,6 +181,28 @@ static char* next_command (char** cmdstr)
        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"));
+        if (*username == 0 && getenv("LOGNAME"))
+                fstrcpy(username,getenv("LOGNAME"));
+        if (*username == 0) {
+                fstrcpy(username,"GUEST");
+        }
+
+       return;
+}
+
 /* Fetch the SID for this computer */
 
 static void fetch_machine_sid(struct cli_state *cli)
@@ -489,12 +575,21 @@ out_free:
 
  int main(int argc, char *argv[])
 {
+       static int              got_pass = 0;
        BOOL                    interactive = True;
        int                     opt;
-       static char             *cmdstr = NULL;
+       static char             *cmdstr = "";
        const char *server;
        struct cli_state        *cli;
-       static char             *opt_ipaddr=NULL;
+       fstring                 password="",
+                               username="",
+               domain="";
+       static char             *opt_authfile=NULL,
+                               *opt_username=NULL,
+                               *opt_domain=NULL,
+                               *opt_logfile=NULL,
+                               *opt_ipaddr=NULL;
+       pstring                 logfile;
        struct cmd_set          **cmd_set;
        struct in_addr          server_ip;
        NTSTATUS                nt_status;
@@ -504,12 +599,17 @@ out_free:
        poptContext pc;
        struct poptOption long_options[] = {
                POPT_AUTOHELP
+               {"authfile",    'A', POPT_ARG_STRING,   &opt_authfile, 'A', "File containing user credentials", "AUTHFILE"},
+               {"nopass",      'N', POPT_ARG_NONE,     &got_pass, 'N', "Don't ask for a password"},
+               {"user", 'U', POPT_ARG_STRING,  &opt_username, 'U', "Set the network username", "USER"},
+               {"workgroup", 'W', POPT_ARG_STRING,     &opt_domain, 'W', "Set the domain name for user account", "DOMAIN"},
                {"command",     'c', POPT_ARG_STRING,   &cmdstr, 'c', "Execute semicolon separated cmds", "COMMANDS"},
+               {"logfile",     'l', POPT_ARG_STRING,   &opt_logfile, 'l', "Logfile to use instead of stdout", "LOGFILE" },
                {"dest-ip", 'I', POPT_ARG_STRING,   &opt_ipaddr, 'I', "Specify destination IP address", "IP"},
-               POPT_COMMON_SAMBA
-               POPT_COMMON_CONNECTION
-               POPT_COMMON_CREDENTIALS
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { NULL }
        };
 
        ZERO_STRUCT(server_ip);
@@ -528,13 +628,43 @@ out_free:
        
        while((opt = poptGetNextOpt(pc)) != -1) {
                switch (opt) {
+               case 'A':
+                       /* only get the username, password, and domain from the file */
+                       read_authfile (opt_authfile, username, password, domain);
+                       if (strlen (password))
+                               got_pass = 1;
+                       break;
+                       
+               case 'l':
+                       slprintf(logfile, sizeof(logfile) - 1, "%s.client", 
+                                opt_logfile);
+                       lp_set_logfile(logfile);
+                       interactive = False;
+                       break;
+                       
+               case 'U': {
+                       char *lp;
 
+                       fstrcpy(username,opt_username);
+
+                       if ((lp=strchr_m(username,'%'))) {
+                               *lp = 0;
+                               fstrcpy(password,lp+1);
+                               got_pass = 1;
+                               memset(strchr_m(opt_username,'%') + 1, 'X',
+                                      strlen(password));
+                       }
+                       break;
+               }
                case 'I':
                        if ( (server_ip.s_addr=inet_addr(opt_ipaddr)) == INADDR_NONE ) {
                                fprintf(stderr, "%s not a valid IP address\n",
                                        opt_ipaddr);
                                return 1;
                        }
+               case 'W':
+                       fstrcpy(domain, opt_domain);
+                       break;
                }
        }
 
@@ -571,25 +701,28 @@ out_free:
         * from stdin if necessary
         */
 
-       if (!cmdline_auth_info.got_pass) {
+       if (!got_pass) {
                char *pass = getpass("Password:");
                if (pass) {
-                       pstrcpy(cmdline_auth_info.password, pass);
+                       fstrcpy(password, pass);
                }
        }
        
+       if (!strlen(username) && !got_pass)
+               get_username(username);
+               
        nt_status = cli_full_connection(&cli, global_myname(), server, 
                                        opt_ipaddr ? &server_ip : NULL, 0,
                                        "IPC$", "IPC",  
-                                       cmdline_auth_info.username, lp_workgroup(),
-                                       cmdline_auth_info.password, 0, NULL);
+                                       username, domain,
+                                       password, 0, NULL);
        
        if (!NT_STATUS_IS_OK(nt_status)) {
                DEBUG(0,("Cannot connect to server.  Error was %s\n", nt_errstr(nt_status)));
                return 1;
        }
 
-       memset(cmdline_auth_info.password,'X',sizeof(cmdline_auth_info.password));
+       memset(password,'X',sizeof(password));
 
        /* Load command lists */
 
@@ -604,7 +737,7 @@ out_free:
        fetch_machine_sid(cli);
  
        /* Do anything specified with -c */
-        if (cmdstr && cmdstr[0]) {
+        if (cmdstr[0]) {
                 char    *cmd;
                 char    *p = cmdstr;
  
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 5e39049..0000000
+++ /dev/null
@@ -1,1193 +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 "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 NAMEPREFIX             "NAME_"
-#define SIDPREFIX              "SID_"
-#define PRIVILEGEPREFIX                "PRIV_"
-
-#define TDB_FORMAT_STRING      "ddB"
-
-#define TALLOC_CHECK(ptr, err, label) do { if ((ptr) == NULL) { DEBUG(0, ("%s: Out of memory!\n", FUNCTION_MACRO)); 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_MACRO)); goto label; } } while(0)
-
-struct tdbsam2_enum_objs {
-       uint32 type;
-       fstring dom_sid;
-       TDB_CONTEXT *db;
-       TDB_DATA key;
-       struct tdbsam2_enum_objs *next;
-};
-
-union tdbsam2_data {
-       struct tdbsam2_domain_data *domain;
-       struct tdbsam2_user_data *user;
-       struct tdbsam2_group_data *group;
-};
-
-struct tdbsam2_object {
-       uint32 type;
-       uint32 version;
-       union tdbsam2_data data;
-};
-
-static TDB_CONTEXT *tdbsam2_db;
-
-struct tdbsam2_enum_objs **teo_handlers;
-
-static NTSTATUS init_tdbsam2_object_from_buffer(struct tdbsam2_object *object, TALLOC_CTX *mem_ctx, char *buffer, int size)
-{
-
-       NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-       int iret;
-       char *obj_data;
-       int data_size = 0;
-       int len;
-       
-       len = tdb_unpack (buffer, size, TDB_FORMAT_STRING,
-                         &(object->version),
-                         &(object->type),
-                         &data_size, &obj_data);
-
-       if (len == -1)
-               goto done;
-
-       /* version is checked inside this function so that backward compatibility code can be
-          called eventually.
-          this way we can easily handle database format upgrades */
-       if (object->version != TDBSAM_VERSION) {
-               DEBUG(3,("init_tdbsam2_object_from_buffer: Error, db object has wrong tdbsam version!\n"));
-               goto done;
-       }
-
-       /* be sure the string is terminated before trying to parse it */
-       if (obj_data[data_size - 1] != '\0')
-               obj_data[data_size - 1] = '\0';
-
-       switch (object->type) {
-               case GUMS_OBJ_DOMAIN:
-                       object->data.domain = (struct tdbsam2_domain_data *)talloc(mem_ctx, sizeof(struct tdbsam2_domain_data));
-                       TALLOC_CHECK(object->data.domain, ret, done);
-                       memset(object->data.domain, 0, sizeof(struct tdbsam2_domain_data));
-
-                       iret = gen_parse(mem_ctx, pinfo_tdbsam2_domain_data, (char *)(object->data.domain), obj_data);
-                       break;
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       object->data.group = (struct tdbsam2_group_data *)talloc(mem_ctx, sizeof(struct tdbsam2_group_data));
-                       TALLOC_CHECK(object->data.group, ret, done);
-                       memset(object->data.group, 0, sizeof(struct tdbsam2_group_data));
-
-                       iret = gen_parse(mem_ctx, pinfo_tdbsam2_group_data, (char *)(object->data.group), obj_data);
-                       break;
-               case GUMS_OBJ_NORMAL_USER:
-                       object->data.user = (struct tdbsam2_user_data *)talloc(mem_ctx, sizeof(struct tdbsam2_user_data));
-                       TALLOC_CHECK(object->data.user, ret, done);
-                       memset(object->data.user, 0, sizeof(struct tdbsam2_user_data));
-
-                       iret = gen_parse(mem_ctx, pinfo_tdbsam2_user_data, (char *)(object->data.user), obj_data);
-                       break;
-               default:
-                       DEBUG(3,("init_tdbsam2_object_from_buffer: Error, wrong object type number!\n"));
-                       goto done;
-       }
-
-       if (iret != 0) {
-               DEBUG(0,("init_tdbsam2_object_from_buffer: Fatal Error! Unable to parse object!\n"));
-               DEBUG(0,("init_tdbsam2_object_from_buffer: DB Corrupted ?"));
-               goto done;
-       }
-
-       ret = NT_STATUS_OK;
-done:
-       SAFE_FREE(obj_data);
-       return ret;
-}
-
-static NTSTATUS init_buffer_from_tdbsam2_object(char **buffer, size_t *len, TALLOC_CTX *mem_ctx, struct tdbsam2_object *object)
-{
-
-       NTSTATUS ret;
-       char *buf1 = NULL;
-       size_t buflen;
-
-       if (!buffer)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       switch (object->type) {
-               case GUMS_OBJ_DOMAIN:
-                       buf1 = gen_dump(mem_ctx, pinfo_tdbsam2_domain_data, (char *)(object->data.domain), 0);
-                       break;
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       buf1 = gen_dump(mem_ctx, pinfo_tdbsam2_group_data, (char *)(object->data.group), 0);
-                       break;
-               case GUMS_OBJ_NORMAL_USER:
-                       buf1 = gen_dump(mem_ctx, pinfo_tdbsam2_user_data, (char *)(object->data.user), 0);
-                       break;
-               default:
-                       DEBUG(3,("init_buffer_from_tdbsam2_object: Error, wrong object type number!\n"));
-                       return NT_STATUS_UNSUCCESSFUL;  
-       }
-       
-       if (buf1 == NULL) {
-               DEBUG(0, ("init_buffer_from_tdbsam2_object: Fatal Error! Unable to dump object!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       buflen = tdb_pack(NULL, 0,  TDB_FORMAT_STRING,
-                       TDBSAM_VERSION,
-                       object->type,
-                       strlen(buf1) + 1, buf1);
-
-       *buffer = talloc(mem_ctx, buflen);
-       TALLOC_CHECK(*buffer, ret, done);
-
-       *len = tdb_pack(*buffer, buflen, TDB_FORMAT_STRING,
-                       TDBSAM_VERSION,
-                       object->type,
-                       strlen(buf1) + 1, buf1);
-
-       if (*len != buflen) {
-               DEBUG(0, ("init_tdb_data_from_tdbsam2_object: somthing odd is going on here: bufflen (%d) != len (%d) in tdb_pack operations!\n", 
-                         buflen, *len));
-               *buffer = NULL;
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       ret = NT_STATUS_OK;
-done:
-       return ret;
-}
-
-static NTSTATUS opentdb(void)
-{
-       if (!tdbsam2_db) {
-               pstring tdbfile;
-               get_private_directory(tdbfile);
-               pstrcat(tdbfile, "/");
-               pstrcat(tdbfile, TDB_FILE_NAME);
-
-               tdbsam2_db = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR | O_CREAT, 0600);
-               if (!tdbsam2_db)
-               {
-                       DEBUG(0, ("opentdb: Unable to open database (%s)!\n", tdbfile));
-                       return NT_STATUS_UNSUCCESSFUL;
-               }
-       }
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS get_object_by_sid(TALLOC_CTX *mem_ctx, struct tdbsam2_object *obj, const DOM_SID *sid)
-{
-       NTSTATUS ret;
-       TDB_DATA data, key;
-       fstring keystr;
-
-       if (!obj || !mem_ctx || !sid)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (NT_STATUS_IS_ERR(ret = opentdb())) {
-               return ret;
-       }
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", SIDPREFIX, sid_string_static(sid));
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("get_object_by_sid: Error fetching database, domain entry not found!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       if (NT_STATUS_IS_ERR(init_tdbsam2_object_from_buffer(obj, mem_ctx, data.dptr, data.dsize))) {
-               SAFE_FREE(data.dptr);
-               DEBUG(0, ("get_object_by_sid: Error fetching database, malformed entry!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-       SAFE_FREE(data.dptr);
-
-       return NT_STATUS_OK;
-       
-}
-
-static NTSTATUS get_object_by_name(TALLOC_CTX *mem_ctx, struct tdbsam2_object *obj, const char* name)
-{
-
-       NTSTATUS ret;
-       TDB_DATA data, key;
-       fstring keystr;
-       fstring objname;
-       DOM_SID sid;
-       char *obj_sidstr;
-       int obj_version, obj_type, obj_sidstr_len, len;
-
-       if (!obj || !mem_ctx || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (NT_STATUS_IS_ERR(ret = opentdb())) {
-               return ret;
-       }
-
-       unix_strlower(name, -1, objname, sizeof(objname));
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", NAMEPREFIX, objname);
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("get_object_by_name: Error fetching database, domain entry not found!\n"));
-               DEBUGADD(5, (" Error: %s\n", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(5, (" Key: %s\n", keystr));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       len = tdb_unpack(data.dptr, data.dsize, TDB_FORMAT_STRING,
-               &obj_version,
-               &obj_type,
-               &obj_sidstr_len, &obj_sidstr);
-
-       SAFE_FREE(data.dptr);
-
-       if (len == -1 || obj_version != TDBSAM_VERSION || obj_sidstr_len <= 0) {
-               DEBUG(5, ("get_object_by_name: Error unpacking database object!\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       if (!string_to_sid(&sid, obj_sidstr)) {
-               DEBUG(5, ("get_object_by_name: Error invalid sid string found in database object!\n"));
-               SAFE_FREE(obj_sidstr);
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-       SAFE_FREE(obj_sidstr);
-       
-       return get_object_by_sid(mem_ctx, obj, &sid);
-}
-
-static NTSTATUS store_object(TALLOC_CTX *mem_ctx, struct tdbsam2_object *object, BOOL new_obj)
-{
-
-       NTSTATUS ret;
-       TDB_DATA data, key, key2;
-       fstring keystr;
-       fstring namestr;
-       int flag, r;
-
-       if (NT_STATUS_IS_ERR(ret = opentdb())) {
-               return ret;
-       }
-
-       if (new_obj) {
-               flag = TDB_INSERT;
-       } else {
-               flag = TDB_MODIFY;
-       }
-
-       ret = init_buffer_from_tdbsam2_object(&(data.dptr), &(data.dsize), mem_ctx, object);
-       if (NT_STATUS_IS_ERR(ret))
-               return ret;
-
-       switch (object->type) {
-               case GUMS_OBJ_DOMAIN:
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", SIDPREFIX, sid_string_static(object->data.domain->dom_sid));
-                       slprintf(namestr, sizeof(namestr) - 1, "%s%s", NAMEPREFIX, object->data.domain->name);
-                       break;
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", SIDPREFIX, sid_string_static(object->data.group->group_sid));
-                       slprintf(namestr, sizeof(namestr) - 1, "%s%s", NAMEPREFIX, object->data.group->name);
-                       break;
-               case GUMS_OBJ_NORMAL_USER:
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", SIDPREFIX, sid_string_static(object->data.user->user_sid));
-                       slprintf(namestr, sizeof(namestr) - 1, "%s%s", NAMEPREFIX, object->data.user->name);
-                       break;
-               default:
-                       return NT_STATUS_UNSUCCESSFUL;  
-       }
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       if ((r = tdb_store(tdbsam2_db, key, data, flag)) != TDB_SUCCESS) {
-               DEBUG(0, ("store_object: Unable to modify SAM!\n"));
-               DEBUGADD(0, (" Error: %s", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(0, (" occured while storing the main record (%s)\n", keystr));
-               if (r == TDB_ERR_EXISTS) return NT_STATUS_UNSUCCESSFUL;
-               return NT_STATUS_INTERNAL_DB_ERROR;
-       }
-
-       key2.dptr = namestr;
-       key2.dsize = strlen(namestr) + 1;
-
-       if ((r = tdb_store(tdbsam2_db, key2, key, flag)) != TDB_SUCCESS) {
-               DEBUG(0, ("store_object: Unable to modify SAM!\n"));
-               DEBUGADD(0, (" Error: %s", tdb_errorstr(tdbsam2_db)));
-               DEBUGADD(0, (" occured while storing the main record (%s)\n", keystr));
-               if (r == TDB_ERR_EXISTS) return NT_STATUS_UNSUCCESSFUL;
-               return NT_STATUS_INTERNAL_DB_ERROR;
-       }
-/* TODO: update the general database counter */
-/* TODO: update this entry counter too */
-
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS get_next_sid(TALLOC_CTX *mem_ctx, DOM_SID **sid)
-{
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       DOM_SID *dom_sid = get_global_sam_sid();
-       uint32 new_rid;
-
-/* TODO: LOCK DOMAIN OBJECT */
-       ret = get_object_by_sid(mem_ctx, &obj, dom_sid);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("get_next_sid: unable to get root Domain object!\n"));
-               ret = NT_STATUS_INTERNAL_DB_ERROR;
-               goto error;
-       }
-
-       new_rid = obj.data.domain->next_rid;
-       
-       /* Increment the RID Counter */
-       obj.data.domain->next_rid++;
-       
-       /* Store back Domain object */
-       ret = store_object(mem_ctx, &obj, False);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("get_next_sid: unable to update root Domain object!\n"));
-               ret = NT_STATUS_INTERNAL_DB_ERROR;
-               goto error;
-       }
-/* TODO: UNLOCK DOMAIN OBJECT */
-
-       *sid = sid_dup_talloc(mem_ctx, dom_sid);
-       TALLOC_CHECK(*sid, ret, error);
-       
-       if (!sid_append_rid(*sid, new_rid)) {
-               DEBUG(0, ("get_next_sid: unable to build new SID !?!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto error;
-       }
-
-       return NT_STATUS_OK;
-
-error:
-       return ret;
-}
-
-static NTSTATUS user_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_user_data *userdata)
-{
-       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 group_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_group_data *groupdata)
-{
-       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 domain_data_to_gums_object(GUMS_OBJECT **object, struct tdbsam2_domain_data *domdata)
-{
-
-       NTSTATUS ret;
-
-       if (!object || !*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 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 = domain_data_to_gums_object(object, data->data.domain);
-                       break;
-
-               case GUMS_OBJ_NORMAL_USER:
-                       ret = user_data_to_gums_object(object, data->data.user);
-                       break;
-
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       ret = group_data_to_gums_object(object, data->data.group);
-                       break;
-
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-       }
-
-done:
-       return ret;
-}
-
-
-/* GUMM object functions */
-
-static NTSTATUS tdbsam2_get_domain_sid(DOM_SID *sid, const char* name)
-{
-
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-       fstring domname;
-
-       if (!sid || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       mem_ctx = talloc_init("tdbsam2_get_domain_sid");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_new_object: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (NT_STATUS_IS_ERR(ret = opentdb())) {
-               goto done;
-       }
-
-       unix_strlower(name, -1, domname, sizeof(domname));
-
-       ret = get_object_by_name(mem_ctx, &obj, domname);
-
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("tdbsam2_get_domain_sid: Error fetching database!\n"));
-               goto done;
-       }
-
-       if (obj.type != GUMS_OBJ_DOMAIN) {
-               DEBUG(5, ("tdbsam2_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:
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-static NTSTATUS tdbsam2_set_domain_sid (const DOM_SID *sid, const char *name)
-{
-
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-       fstring domname;
-
-       if (!sid || !name)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       mem_ctx = talloc_init("tdbsam2_set_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 = opentdb())) {
-                       goto done;
-               }
-       }
-
-       unix_strlower(name, -1, domname, sizeof(domname));
-
-/* TODO: we need to lock this entry until updated! */
-
-       ret = get_object_by_name(mem_ctx, &obj, domname);
-
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("tdbsam2_get_domain_sid: Error fetching database!\n"));
-               goto done;
-       }
-
-       if (obj.type != GUMS_OBJ_DOMAIN) {
-               DEBUG(5, ("tdbsam2_get_domain_sid: Requested object is not a domain!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       sid_copy(obj.data.domain->dom_sid, sid);
-
-       ret = store_object(mem_ctx, &obj, False);
-
-done:
-/* TODO: unlock here */
-       if (mem_ctx) talloc_destroy(mem_ctx);
-       return ret;
-}
-
-/* TODO */
-       NTSTATUS (*get_sequence_number) (void);
-
-
-extern DOM_SID global_sid_NULL;
-
-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;
-       NTTIME zero_time = {0,0};
-       const char *defpw = "NOPASSWORDXXXXXX";
-       uint8 defhours[21] = {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255};
-
-       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;
-       }
-
-       obj.type = obj_type;
-       obj.version = TDBSAM_VERSION;
-
-       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);
-
-                       get_next_sid(mem_ctx, &(obj.data.user->user_sid));
-                       TALLOC_CHECK(obj.data.user->user_sid, ret, done);
-                       sid_copy(sid, obj.data.user->user_sid);
-
-                       obj.data.user->name = talloc_strdup(mem_ctx, name);
-                       TALLOC_CHECK(obj.data.user, ret, done);
-
-                       obj.data.user->xcounter = 1;
-                       /*obj.data.user->sec_desc*/
-                       obj.data.user->description = "";
-                       obj.data.user->group_sid = &global_sid_NULL;
-                       obj.data.user->logon_time = &zero_time;
-                       obj.data.user->logoff_time = &zero_time;
-                       obj.data.user->kickoff_time = &zero_time;
-                       obj.data.user->pass_last_set_time = &zero_time;
-                       obj.data.user->pass_can_change_time = &zero_time;
-                       obj.data.user->pass_must_change_time = &zero_time;
-
-                       obj.data.user->full_name = "";          
-                       obj.data.user->home_dir = "";           
-                       obj.data.user->dir_drive = "";          
-                       obj.data.user->logon_script = "";               
-                       obj.data.user->profile_path = "";               
-                       obj.data.user->workstations = "";               
-                       obj.data.user->unknown_str = "";                
-                       obj.data.user->munged_dial = "";                
-
-                       obj.data.user->lm_pw_ptr = defpw;
-                       obj.data.user->nt_pw_ptr = defpw;
-
-                       obj.data.user->logon_divs = 168;
-                       obj.data.user->hours_len = 21;
-                       obj.data.user->hours = &defhours;
-
-                       obj.data.user->unknown_3 = 0x00ffffff;
-                       obj.data.user->unknown_5 = 0x00020000;
-                       obj.data.user->unknown_6 = 0x000004ec;
-                       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);
-
-                       get_next_sid(mem_ctx, &(obj.data.group->group_sid));
-                       TALLOC_CHECK(obj.data.group->group_sid, ret, done);
-                       sid_copy(sid, obj.data.group->group_sid);
-
-                       obj.data.group->name = talloc_strdup(mem_ctx, name);
-                       TALLOC_CHECK(obj.data.group, ret, done);
-
-                       obj.data.group->xcounter = 1;
-                       /*obj.data.group->sec_desc*/
-                       obj.data.group->description = "";
-
-                       break;
-
-               case GUMS_OBJ_DOMAIN:
-
-                       /* FIXME: should we check against global_sam_sid to make it impossible
-                                 to store more than one domain ? */ 
-
-                       obj.data.domain = (struct tdbsam2_domain_data *)talloc_zero(mem_ctx, sizeof(struct tdbsam2_domain_data));
-                       TALLOC_CHECK(obj.data.domain, ret, done);
-
-                       obj.data.domain->dom_sid = sid_dup_talloc(mem_ctx, get_global_sam_sid());
-                       TALLOC_CHECK(obj.data.domain->dom_sid, ret, done);
-                       sid_copy(sid, obj.data.domain->dom_sid);
-
-                       obj.data.domain->name = talloc_strdup(mem_ctx, name);
-                       TALLOC_CHECK(obj.data.domain, ret, done);
-
-                       obj.data.domain->xcounter = 1;
-                       /*obj.data.domain->sec_desc*/
-                       obj.data.domain->next_rid = 0x3e9;
-                       obj.data.domain->description = "";
-
-                       ret = NT_STATUS_OK;
-                       break;  
-
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-       }
-
-       ret = store_object(mem_ctx, &obj, True);
-
-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;
-
-       if (!sid) {
-               DEBUG(0, ("tdbsam2_delete_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_delete_object: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       if (tdbsam2_db == NULL) {
-               if (NT_STATUS_IS_ERR(ret = opentdb())) {
-                       goto done;
-               }
-       }
-
-       slprintf(keystr, sizeof(keystr)-1, "%s%s", SIDPREFIX, sid_string_static(sid));
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(tdbsam2_db, key);
-       if (!data.dptr) {
-               DEBUG(5, ("tdbsam2_delete_object: 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;
-       }
-
-       if (tdb_delete(tdbsam2_db, key) != TDB_SUCCESS) {
-               DEBUG(5, ("tdbsam2_delete_object: 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;
-       }       
-
-       if (NT_STATUS_IS_ERR(init_tdbsam2_object_from_buffer(&obj, mem_ctx, data.dptr, data.dsize))) {
-               SAFE_FREE(data.dptr);
-               DEBUG(0, ("tdbsam2_delete_object: Error fetching database, malformed entry!\n"));
-               ret = NT_STATUS_UNSUCCESSFUL;
-               goto done;
-       }
-
-       switch (obj.type) {
-               case GUMS_OBJ_DOMAIN:
-                       /* TODO: SHOULD WE ALLOW TO DELETE DOMAINS ? */
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", NAMEPREFIX, obj.data.domain->name);
-                       break;
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", NAMEPREFIX, obj.data.group->name);
-                       break;
-               case GUMS_OBJ_NORMAL_USER:
-                       slprintf(keystr, sizeof(keystr) - 1, "%s%s", NAMEPREFIX, obj.data.user->name);
-                       break;
-               default:
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-       }
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       if (tdb_delete(tdbsam2_db, key) != TDB_SUCCESS) {
-               DEBUG(5, ("tdbsam2_delete_object: 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;
-       }
-
-/* TODO: update the general database counter */
-
-done:
-       SAFE_FREE(data.dptr);
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-static NTSTATUS tdbsam2_get_object_from_sid(GUMS_OBJECT **object, const DOM_SID *sid, const int obj_type)
-{
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-
-       if (!object || !sid) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       mem_ctx = talloc_init("tdbsam2_get_object_from_sid");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ret = get_object_by_sid(mem_ctx, &obj, sid);
-       if (NT_STATUS_IS_ERR(ret) || (obj_type && obj.type != obj_type)) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: error fetching object or wrong object type!\n"));
-               goto done;
-       }
-
-       ret = data_to_gums_object(object, &obj);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: error setting object data!\n"));
-               goto done;
-       }
-       
-done:
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-static NTSTATUS tdbsam2_get_object_from_name(GUMS_OBJECT **object, const char *name, const int obj_type)
-{
-       NTSTATUS ret;
-       struct tdbsam2_object obj;
-       TALLOC_CTX *mem_ctx;
-
-       if (!object || !name) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       mem_ctx = talloc_init("tdbsam2_get_object_from_sid");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       ret = get_object_by_name(mem_ctx, &obj, name);
-       if (NT_STATUS_IS_ERR(ret) || (obj_type && obj.type != obj_type)) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: error fetching object or wrong object type!\n"));
-               goto done;
-       }
-
-       ret = data_to_gums_object(object, &obj);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: error setting object data!\n"));
-               goto done;
-       }
-       
-done:
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-       /* This function is used to get the list of all objects changed since base_time, it is
-          used to support PDC<->BDC synchronization */
-       NTSTATUS (*get_updated_objects) (GUMS_OBJECT **objects, const NTTIME base_time);
-
-static NTSTATUS tdbsam2_enumerate_objects_start(void *handle, const DOM_SID *sid, const int obj_type)
-{
-       struct tdbsam2_enum_objs *teo, *t;
-       pstring tdbfile;
-
-       teo = (struct tdbsam2_enum_objs *)calloc(1, sizeof(struct tdbsam2_enum_objs));
-       if (!teo) {
-               DEBUG(0, ("tdbsam2_enumerate_objects_start: Out of Memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       teo->type = obj_type;
-       if (sid) {
-               sid_to_string(teo->dom_sid, sid);
-       }
-
-       get_private_directory(tdbfile);
-       pstrcat(tdbfile, "/");
-       pstrcat(tdbfile, TDB_FILE_NAME);
-
-       teo->db = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDONLY, 0600);
-       if (!teo->db)
-       {
-               DEBUG(0, ("tdbsam2_enumerate_objects_start: Unable to open database (%s)!\n", tdbfile));
-               SAFE_FREE(teo);
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       if (!teo_handlers) {
-               *teo_handlers = teo;
-       } else {
-               t = *teo_handlers;
-               while (t->next) {
-                       t = t->next;
-               }
-               t->next = teo;
-       }
-
-       handle = teo;
-
-       teo->key = tdb_firstkey(teo->db);
-
-       return NT_STATUS_OK;    
-}
-
-static NTSTATUS tdbsam2_enumerate_objects_get_next(GUMS_OBJECT **object, void *handle)
-{
-       NTSTATUS ret;
-       TALLOC_CTX *mem_ctx;
-       TDB_DATA data;
-       struct tdbsam2_enum_objs *teo;
-       struct tdbsam2_object obj;
-       const char *prefix = SIDPREFIX;
-       const int preflen = strlen(prefix);
-
-       if (!object || !handle) {
-               DEBUG(0, ("tdbsam2_get_object_from_sid: no NULL pointers are accepted here!\n"));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       teo = (struct tdbsam2_enum_objs *)handle;
-
-       mem_ctx = talloc_init("tdbsam2_enumerate_objects_get_next");
-       if (!mem_ctx) {
-               DEBUG(0, ("tdbsam2_enumerate_objects_get_next: Out of memory!\n"));
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       while ((teo->key.dsize != 0)) {
-               int len, version, type, size;
-               char *ptr;
-
-               if (strncmp(teo->key.dptr, prefix, preflen)) {
-                       teo->key = tdb_nextkey(teo->db, teo->key);
-                       continue;
-               }
-
-               if (teo->dom_sid) {
-                       if (strncmp(&(teo->key.dptr[preflen]), teo->dom_sid, strlen(teo->dom_sid))) {
-                               teo->key = tdb_nextkey(teo->db, teo->key);
-                               continue;
-                       }
-               }
-
-               data = tdb_fetch(teo->db, teo->key);
-               if (!data.dptr) {
-                       DEBUG(5, ("tdbsam2_enumerate_objects_get_next: Error fetching database, SID entry not found!\n"));
-                       DEBUGADD(5, (" Error: %s\n", tdb_errorstr(teo->db)));
-                       DEBUGADD(5, (" Key: %s\n", teo->key.dptr));
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-               }
-
-               len = tdb_unpack (data.dptr, data.dsize, TDB_FORMAT_STRING,
-                         &version,
-                         &type,
-                         &size, &ptr);
-
-               if (len == -1) {
-                       DEBUG(5, ("tdbsam2_enumerate_objects_get_next: Error unable to unpack data!\n"));
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-               }
-               SAFE_FREE(ptr);
-
-               if (teo->type && type != teo->type) {
-                       SAFE_FREE(data.dptr);
-                       data.dsize = 0;
-                       teo->key = tdb_nextkey(teo->db, teo->key);
-                       continue;
-               }
-               
-               break;
-       }
-
-       if (data.dsize != 0) {
-               if (NT_STATUS_IS_ERR(init_tdbsam2_object_from_buffer(&obj, mem_ctx, data.dptr, data.dsize))) {
-                       SAFE_FREE(data.dptr);
-                       DEBUG(0, ("tdbsam2_enumerate_objects_get_next: Error fetching database, malformed entry!\n"));
-                       ret = NT_STATUS_UNSUCCESSFUL;
-                       goto done;
-               }
-               SAFE_FREE(data.dptr);
-       }
-
-       ret = data_to_gums_object(object, &obj);
-
-done:
-       talloc_destroy(mem_ctx);
-       return ret;
-}
-
-static NTSTATUS tdbsam2_enumerate_objects_stop(void *handle)
-{
-       struct tdbsam2_enum_objs *teo, *t, *p;
-
-       teo = (struct tdbsam2_enum_objs *)handle;
-
-       if (*teo_handlers == teo) {
-               *teo_handlers = teo->next;
-       } else {
-               t = *teo_handlers;
-               while (t != teo) {
-                       p = t;
-                       t = t->next;
-                       if (t == NULL) {
-                               DEBUG(0, ("tdbsam2_enumerate_objects_stop: Error, handle not found!\n"));
-                               return NT_STATUS_UNSUCCESSFUL;
-                       }
-               }
-               p = t->next;
-       }
-
-       tdb_close(teo->db);
-       SAFE_FREE(teo);
-
-       return NT_STATUS_OK;
-}
-
-       /* 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)
-{
-       tdbsam2_db = NULL;
-       teo_handlers = 0;
-
-       return 0;
-}
-
-#if 0
-int main(int argc, char *argv[])
-{
-       NTSTATUS ret;
-       DOM_SID dsid;
-
-       if (argc < 2) {
-               printf ("not enough arguments!\n");
-               exit(0);
-       }
-
-       if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
-               fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
-               exit(1);
-       }
-
-       ret = tdbsam2_new_object(&dsid, "_domain_", GUMS_OBJ_DOMAIN);
-       if (NT_STATUS_IS_OK(ret)) {
-               printf ("_domain_ created, sid=%s\n", sid_string_static(&dsid));
-       } else {
-               printf ("_domain_ creation error n. 0x%08x\n", ret.v);
-       }
-       ret = tdbsam2_new_object(&dsid, argv[1], GUMS_OBJ_NORMAL_USER);
-       if (NT_STATUS_IS_OK(ret)) {
-               printf ("%s user created, sid=%s\n", argv[1], sid_string_static(&dsid));
-       } else {
-               printf ("%s user creation error n. 0x%08x\n", argv[1], ret.v);
-       }
-       
-       exit(0);
-}
-#endif
diff --git a/source3/sam/gums.c b/source3/sam/gums.c
deleted file mode 100644 (file)
index a118740..0000000
+++ /dev/null
@@ -1,161 +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
-
-#define PRIV_NONE                      0
-#define PRIV_CREATE_TOKEN              1
-#define PRIV_ASSIGNPRIMARYTOKEN                2
-#define PRIV_LOCK_MEMORY               3
-#define PRIV_INCREASE_QUOTA            4
-#define PRIV_MACHINE_ACCOUNT           5
-#define PRIV_TCB                       6
-#define PRIV_SECURITY                  7
-#define PRIV_TAKE_OWNERSHIP            8
-#define PRIV_LOAD_DRIVER               9
-#define PRIV_SYSTEM_PROFILE            10
-#define PRIV_SYSTEMTIME                        11
-#define PRIV_PROF_SINGLE_PROCESS       12
-#define PRIV_INC_BASE_PRIORITY         13
-#define PRIV_CREATE_PAGEFILE           14
-#define PRIV_CREATE_PERMANENT          15
-#define PRIV_BACKUP                    16
-#define PRIV_RESTORE                   17
-#define PRIV_SHUTDOWN                  18
-#define PRIV_DEBUG                     19
-#define PRIV_AUDIT                     20
-#define PRIV_SYSTEM_ENVIRONMENT                21
-#define PRIV_CHANGE_NOTIFY             22
-#define PRIV_REMOTE_SHUTDOWN           23
-#define PRIV_UNDOCK                    24
-#define PRIV_SYNC_AGENT                        25
-#define PRIV_ENABLE_DELEGATION         26
-#define PRIV_ALL                       255
-
-
-GUMS_FUNCTIONS *gums_storage;
-static void *dl_handle;
-
-static PRIVS gums_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)
-{
-       NTSTATUS ret;
-       NTSTATUS (*module_finalize)();
-
-       if (!dl_handle)
-               return NT_STATUS_UNSUCCESSFUL;
-
-       module_finalize = 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"));
-
-       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 2e5dcd1..0000000
+++ /dev/null
@@ -1,1470 +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"
-
-
-/*******************************************************************
- Create a SEC_ACL structure.  
-********************************************************************/
-
-static SEC_ACL *make_sec_acl(TALLOC_CTX *ctx, uint16 revision, int num_aces, SEC_ACE *ace_list)
-{
-       SEC_ACL *dst;
-       int i;
-
-       if((dst = (SEC_ACL *)talloc_zero(ctx,sizeof(SEC_ACL))) == NULL)
-               return NULL;
-
-       dst->revision = revision;
-       dst->num_aces = num_aces;
-       dst->size = SEC_ACL_HEADER_SIZE;
-
-       /* Now we need to return a non-NULL address for the ace list even
-          if the number of aces required is zero.  This is because there
-          is a distinct difference between a NULL ace and an ace with zero
-          entries in it.  This is achieved by checking that num_aces is a
-          positive number. */
-
-       if ((num_aces) && 
-            ((dst->ace = (SEC_ACE *)talloc(ctx, sizeof(SEC_ACE) * num_aces)) 
-             == NULL)) {
-               return NULL;
-       }
-        
-       for (i = 0; i < num_aces; i++) {
-               dst->ace[i] = ace_list[i]; /* Structure copy. */
-               dst->size += ace_list[i].size;
-       }
-
-       return dst;
-}
-
-
-
-/*******************************************************************
- Duplicate a SEC_ACL structure.  
-********************************************************************/
-
-static SEC_ACL *dup_sec_acl(TALLOC_CTX *ctx, SEC_ACL *src)
-{
-       if(src == NULL)
-               return NULL;
-
-       return make_sec_acl(ctx, src->revision, src->num_aces, src->ace);
-}
-
-
-
-/*******************************************************************
- Creates a SEC_DESC structure
-********************************************************************/
-
-static SEC_DESC *make_sec_desc(TALLOC_CTX *ctx, uint16 revision, 
-                       DOM_SID *owner_sid, DOM_SID *grp_sid,
-                       SEC_ACL *sacl, SEC_ACL *dacl, size_t *sd_size)
-{
-       SEC_DESC *dst;
-       uint32 offset     = 0;
-       uint32 offset_sid = SEC_DESC_HEADER_SIZE;
-       uint32 offset_acl = 0;
-
-       *sd_size = 0;
-
-       if(( dst = (SEC_DESC *)talloc_zero(ctx, sizeof(SEC_DESC))) == NULL)
-               return NULL;
-
-       dst->revision = revision;
-       dst->type     = SEC_DESC_SELF_RELATIVE;
-
-       if (sacl) dst->type |= SEC_DESC_SACL_PRESENT;
-       if (dacl) dst->type |= SEC_DESC_DACL_PRESENT;
-
-       dst->off_owner_sid = 0;
-       dst->off_grp_sid   = 0;
-       dst->off_sacl      = 0;
-       dst->off_dacl      = 0;
-
-       if(owner_sid && ((dst->owner_sid = sid_dup_talloc(ctx,owner_sid)) == NULL))
-               goto error_exit;
-
-       if(grp_sid && ((dst->grp_sid = sid_dup_talloc(ctx,grp_sid)) == NULL))
-               goto error_exit;
-
-       if(sacl && ((dst->sacl = dup_sec_acl(ctx, sacl)) == NULL))
-               goto error_exit;
-
-       if(dacl && ((dst->dacl = dup_sec_acl(ctx, dacl)) == NULL))
-               goto error_exit;
-
-       offset = 0;
-
-       /*
-        * Work out the linearization sizes.
-        */
-       if (dst->owner_sid != NULL) {
-
-               if (offset == 0)
-                       offset = SEC_DESC_HEADER_SIZE;
-
-               offset += sid_size(dst->owner_sid);
-       }
-
-       if (dst->grp_sid != NULL) {
-
-               if (offset == 0)
-                       offset = SEC_DESC_HEADER_SIZE;
-
-               offset += sid_size(dst->grp_sid);
-       }
-
-       if (dst->sacl != NULL) {
-
-               offset_acl = SEC_DESC_HEADER_SIZE;
-
-               dst->off_sacl  = offset_acl;
-               offset_acl    += dst->sacl->size;
-               offset        += dst->sacl->size;
-               offset_sid    += dst->sacl->size;
-       }
-
-       if (dst->dacl != NULL) {
-
-               if (offset_acl == 0)
-                       offset_acl = SEC_DESC_HEADER_SIZE;
-
-               dst->off_dacl  = offset_acl;
-               offset_acl    += dst->dacl->size;
-               offset        += dst->dacl->size;
-               offset_sid    += dst->dacl->size;
-       }
-
-       *sd_size = (size_t)((offset == 0) ? SEC_DESC_HEADER_SIZE : offset);
-
-       if (dst->owner_sid != NULL)
-               dst->off_owner_sid = offset_sid;
-               
-       /* sid_size() returns 0 if the sid is NULL so this is ok */
-               
-       if (dst->grp_sid != NULL)
-               dst->off_grp_sid = offset_sid + sid_size(dst->owner_sid);
-
-       return dst;
-
-error_exit:
-
-       *sd_size = 0;
-       return NULL;
-}
-
-/*******************************************************************
- Duplicate a SEC_DESC structure.  
-********************************************************************/
-
-static SEC_DESC *dup_sec_desc( TALLOC_CTX *ctx, SEC_DESC *src)
-{
-       size_t dummy;
-
-       if(src == NULL)
-               return NULL;
-
-       return make_sec_desc( ctx, src->revision, 
-                               src->owner_sid, src->grp_sid, src->sacl,
-                               src->dacl, &dummy);
-}
-
-
-
-
-
-
-
-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;
-       NTSTATUS 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.user = (GUMS_USER *)talloc_zero(mem_ctx, sizeof(GUMS_USER));
-                       break;
-
-               case GUMS_OBJ_GROUP:
-               case GUMS_OBJ_ALIAS:
-                       go->data.group = (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.user)) {
-               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_domain_next_rid(uint32 *rid, const GUMS_OBJECT *obj)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_DOMAIN)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       *rid = obj->data.domain->next_rid;
-       return NT_STATUS_OK;
-}
-
-NTSTATUS gums_set_domain_next_rid(GUMS_OBJECT *obj, uint32 rid)
-{
-       if (!obj)
-               return NT_STATUS_INVALID_PARAMETER;
-
-       if (obj->type != GUMS_OBJ_DOMAIN)
-               return NT_STATUS_OBJECT_TYPE_MISMATCH;
-
-       obj->data.domain->next_rid = rid;
-       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.length != 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_pw = data_blob_talloc(obj->mem_ctx, nt_pwd.data, nt_pwd.length);
-       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.length != 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_pw = data_blob_talloc(obj->mem_ctx, lm_pwd.data, lm_pwd.length);
-       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] = sid_dup_talloc(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[0] = 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) {
-               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[0] = 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) {
-               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[0] = 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) {
-               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[0] = data_set;
-       data_set = ((com_set->data)[com_set->count - 1]);
-       
-       data_set->type = GUMS_SET_PRIVILEGE;
-       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[0] = 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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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[0] = 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_cs_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_cs_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_cs_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_cs_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_cs_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_cs_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[0] = 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_cs_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_cs_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[0] = 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[0] = 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 c22e6cf..0000000
+++ /dev/null
@@ -1,610 +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. 
- ****************************************************************************/
-
-#if 0
-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;
-}
-#endif
-
-/****************************************************************************
- 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 gums_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 gums_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 (gums_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 gums_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 = gums_add_privilege(priv_set, ctx, set);
-       NTSTATUS_CHECK("add_all_privilege", "add_privilege", result, done);
-       
-       set.luid.low=SE_PRIV_ADD_MACHINES;
-       result = gums_add_privilege(priv_set, ctx, set);
-       NTSTATUS_CHECK("add_all_privilege", "add_privilege", result, done);
-
-       set.luid.low=SE_PRIV_PRINT_OPERATOR;
-       result = gums_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 gums_check_empty_privilege(PRIVILEGE_SET *priv_set)
-{
-       return (priv_set->count == 0);
-}
-
-/****************************************************************************
- check if the privilege is in the privilege list
- ****************************************************************************/
-BOOL gums_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 (gums_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 gums_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 (!gums_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) {
-               gums_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 gums_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));
-       gums_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 */
-
-
-#if 0
-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.group = (GUMS_GROUP *)talloc(g_obj.mem_ctx, sizeof(GUMS_GROUP));
-       ALLOC_CHECK("gums_init_backend", g_obj.data.group, result, done);
-
-       /* make admins sid */
-       g_grp = (GUMS_GROUP *)g_obj.data.group;
-       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;
-}
-#endif
-
diff --git a/source3/sam/idmap.c b/source3/sam/idmap.c
deleted file mode 100644 (file)
index 0e55ca5..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Winbind ID Mapping
-   Copyright (C) Tim Potter 2000
-   Copyright (C) Anthony Liguori <aliguor@us.ibm.com>  2003
-   Copyright (C) Simo Sorce 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
-   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_IDMAP
-
-static struct {
-
-       const char *name;
-       /* Function to create a member of the idmap_methods list */
-       NTSTATUS (*reg_meth)(struct idmap_methods **methods);
-       struct idmap_methods *methods;
-
-} remote_idmap_functions[] = {
-
-       { "winbind", idmap_reg_winbind, NULL },
-       { NULL, NULL, NULL }
-
-};
-
-static struct idmap_methods *local_map;
-static struct idmap_methods *remote_map;
-
-static struct idmap_methods *get_methods(const char *name)
-{
-       int i = 0;
-       struct idmap_methods *ret = NULL;
-
-       while (remote_idmap_functions[i].name && strcmp(remote_idmap_functions[i].name, name)) {
-               i++;
-       }
-
-       if (remote_idmap_functions[i].name) {
-
-               if (!remote_idmap_functions[i].methods) {
-                       remote_idmap_functions[i].reg_meth(&remote_idmap_functions[i].methods);
-               }
-
-               ret = remote_idmap_functions[i].methods;
-       }
-
-       return ret;
-}
-
-/* Initialize backend */
-BOOL idmap_init(const char *remote_backend)
-{
-       if (!local_map) {
-               idmap_reg_tdb(&local_map);
-               local_map->init("idmap.tdb");
-       }
-       
-       if (!remote_map && remote_backend && *remote_backend != 0) {
-               DEBUG(3, ("load_methods: using '%s' as remote backend\n", remote_backend));
-               
-               remote_map = get_methods(remote_backend);
-               if (!remote_map) {
-                       DEBUG(0, ("load_methods: could not load remote backend '%s'\n", remote_backend));
-                       return False;
-               }
-               remote_map->init("");
-       }
-
-       return True;
-}
-
-NTSTATUS idmap_set_mapping(const DOM_SID *sid, unid_t id, int id_type)
-{
-       NTSTATUS ret;
-
-       ret = local_map->set_mapping(sid, id, id_type);
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG (0, ("idmap_set_mapping: Error, unable to modify local cache!\n"));
-               return ret;
-       }
-
-       /* Being able to update the remote cache is seldomly right.
-          Generally this is a forbidden operation. */
-       if (!(id_type & ID_CACHE) && (remote_map != NULL)) {
-               remote_map->set_mapping(sid, id, id_type);
-               if (NT_STATUS_IS_ERR(ret)) {
-                       DEBUG (0, ("idmap_set_mapping: Error, unable to modify remote cache!\n"));
-               }
-       }
-
-       return ret;
-}
-
-/* Get ID from SID */
-NTSTATUS idmap_get_id_from_sid(unid_t *id, int *id_type, const DOM_SID *sid)
-{
-       NTSTATUS ret;
-       int loc_type;
-
-       loc_type = *id_type;
-       if (remote_map) { /* We have a central remote idmap */
-               loc_type |= ID_NOMAP;
-       }
-       ret = local_map->get_id_from_sid(id, &loc_type, sid);
-       if (NT_STATUS_IS_ERR(ret)) {
-               if (remote_map) {
-                       ret = remote_map->get_id_from_sid(id, id_type, sid);
-                       if (NT_STATUS_IS_ERR(ret)) {
-                               DEBUG(3, ("idmap_get_id_from_sid: error fetching id!\n"));
-                               return ret;
-                       } else {
-                               loc_type |= ID_CACHE;
-                               idmap_set_mapping(sid, *id, loc_type);
-                       }
-               }
-       } else {
-               *id_type = loc_type & ID_TYPEMASK;
-       }
-
-       return ret;
-}
-
-/* Get SID from ID */
-NTSTATUS idmap_get_sid_from_id(DOM_SID *sid, unid_t id, int id_type)
-{
-       NTSTATUS ret;
-       int loc_type;
-
-       loc_type = id_type;
-       if (remote_map) {
-               loc_type = id_type | ID_NOMAP;
-       }
-       ret = local_map->get_sid_from_id(sid, id, loc_type);
-       if (NT_STATUS_IS_ERR(ret)) {
-               if (remote_map) {
-                       ret = remote_map->get_sid_from_id(sid, id, id_type);
-                       if (NT_STATUS_IS_ERR(ret)) {
-                               DEBUG(3, ("idmap_get_sid_from_id: unable to fetch sid!\n"));
-                               return ret;
-                       } else {
-                               loc_type |= ID_CACHE;
-                               idmap_set_mapping(sid, id, loc_type);
-                       }
-               }
-       }
-
-       return ret;
-}
-
-/* Close backend */
-NTSTATUS idmap_close(void)
-{
-       NTSTATUS ret;
-
-       ret = local_map->close();
-       if (NT_STATUS_IS_ERR(ret)) {
-               DEBUG(3, ("idmap_close: failed to close local cache!\n"));
-       }
-
-       if (remote_map) {
-               ret = remote_map->close();
-               if (NT_STATUS_IS_ERR(ret)) {
-                       DEBUG(3, ("idmap_close: failed to close remote idmap repository!\n"));
-               }
-       }
-
-       return ret;
-}
-
-/* Dump backend status */
-void idmap_status(void)
-{
-       local_map->status();
-       if (remote_map) remote_map->status();
-}
-
diff --git a/source3/sam/idmap_tdb.c b/source3/sam/idmap_tdb.c
deleted file mode 100644 (file)
index ec365b6..0000000
+++ /dev/null
@@ -1,526 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   idmap TDB backend
-
-   Copyright (C) Tim Potter 2000
-   Copyright (C) Anthony Liguori 2003
-   Copyright (C) Simo Sorce 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
-   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_IDMAP
-
-/* High water mark keys */
-#define HWM_GROUP  "GROUP HWM"
-#define HWM_USER   "USER HWM"
-
-/* idmap version determines auto-conversion */
-#define IDMAP_VERSION 2
-
-/* Globals */
-static TDB_CONTEXT *idmap_tdb;
-
-static struct idmap_state {
-
-       /* User and group id pool */
-
-       uid_t uid_low, uid_high;               /* Range of uids to allocate */
-       gid_t gid_low, gid_high;               /* Range of gids to allocate */
-} idmap_state;
-
-
-/* FIXME: let handle conversions when all things work ok.
-         I think it is better to handle the conversion at
-         upgrade time and leave the old db intact.
-         That would also make easier to go back to 2.2 if needed
-         ---SSS */
-#if 0
-
-/* convert one record to the new format */
-static int tdb_convert_fn(TDB_CONTEXT * tdb, TDB_DATA key, TDB_DATA data,
-                         void *ignored)
-{
-       struct winbindd_domain *domain;
-       char *p;
-       DOM_SID sid;
-       uint32 rid;
-       fstring keystr;
-       fstring dom_name;
-       TDB_DATA key2;
-
-       p = strchr(key.dptr, '/');
-       if (!p)
-               return 0;
-
-       *p = 0;
-       fstrcpy(dom_name, key.dptr);
-       *p++ = '/';
-
-       domain = find_domain_from_name(dom_name);
-       if (!domain) {
-               /* We must delete the old record. */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to find domain %s\n",
-                      dom_name));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : deleting record %s\n",
-                      key.dptr));
-               tdb_delete(idmap_tdb, key);
-               return 0;
-       }
-
-       rid = atoi(p);
-
-       sid_copy(&sid, &domain->sid);
-       sid_append_rid(&sid, rid);
-
-       sid_to_string(keystr, &sid);
-       key2.dptr = keystr;
-       key2.dsize = strlen(keystr) + 1;
-
-       if (tdb_store(idmap_tdb, key2, data, TDB_INSERT) != 0) {
-               /* not good! */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to update record %s\n",
-                      key2.dptr));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : conversion failed - idmap corrupt ?\n"));
-               return -1;
-       }
-
-       if (tdb_store(idmap_tdb, data, key2, TDB_REPLACE) != 0) {
-               /* not good! */
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : Unable to update record %s\n",
-                      data.dptr));
-               DEBUG(0,
-                     ("winbindd: tdb_convert_fn : conversion failed - idmap corrupt ?\n"));
-               return -1;
-       }
-
-       tdb_delete(idmap_tdb, key);
-
-       return 0;
-}
-
-/*****************************************************************************
- Convert the idmap database from an older version.
-*****************************************************************************/
-static BOOL tdb_idmap_convert(const char *idmap_name)
-{
-       int32 vers = tdb_fetch_int32(idmap_tdb, "IDMAP_VERSION");
-       BOOL bigendianheader =
-           (idmap_tdb->flags & TDB_BIGENDIAN) ? True : False;
-
-       if (vers == IDMAP_VERSION)
-               return True;
-
-       if (((vers == -1) && bigendianheader)
-           || (IREV(vers) == IDMAP_VERSION)) {
-               /* Arrggghh ! Bytereversed or old big-endian - make order independent ! */
-               /*
-                * high and low records were created on a
-                * big endian machine and will need byte-reversing.
-                */
-
-               int32 wm;
-
-               wm = tdb_fetch_int32(idmap_tdb, HWM_USER);
-
-               if (wm != -1) {
-                       wm = IREV(wm);
-               } else
-                       wm = server_state.uid_low;
-
-               if (tdb_store_int32(idmap_tdb, HWM_USER, wm) == -1) {
-                       DEBUG(0,
-                             ("tdb_idmap_convert: Unable to byteswap user hwm in idmap database\n"));
-                       return False;
-               }
-
-               wm = tdb_fetch_int32(idmap_tdb, HWM_GROUP);
-               if (wm != -1) {
-                       wm = IREV(wm);
-               } else
-                       wm = server_state.gid_low;
-
-               if (tdb_store_int32(idmap_tdb, HWM_GROUP, wm) == -1) {
-                       DEBUG(0,
-                             ("tdb_idmap_convert: Unable to byteswap group hwm in idmap database\n"));
-                       return False;
-               }
-       }
-
-       /* the old format stored as DOMAIN/rid - now we store the SID direct */
-       tdb_traverse(idmap_tdb, tdb_convert_fn, NULL);
-
-       if (tdb_store_int32(idmap_tdb, "IDMAP_VERSION", IDMAP_VERSION) ==
-           -1) {
-               DEBUG(0,
-                     ("tdb_idmap_convert: Unable to byteswap group hwm in idmap database\n"));
-               return False;
-       }
-
-       return True;
-}
-#endif
-
-/* Allocate either a user or group id from the pool */
-static NTSTATUS db_allocate_id(unid_t *id, int id_type)
-{
-       int hwm;
-
-       if (!id) return NT_STATUS_INVALID_PARAMETER;
-
-       /* Get current high water mark */
-       switch (id_type & ID_TYPEMASK) {
-               case ID_USERID:
-                       if ((hwm = tdb_fetch_int32(idmap_tdb, HWM_USER)) == -1) {
-                               return NT_STATUS_INTERNAL_DB_ERROR;
-                       }
-
-                       if (hwm > idmap_state.uid_high) {
-                               DEBUG(0, ("idmap Fatal Error: UID range full!!\n"));
-                               return NT_STATUS_UNSUCCESSFUL;
-                       }
-
-                       (*id).uid = hwm++;
-
-                       /* Store new high water mark */
-                       tdb_store_int32(idmap_tdb, HWM_USER, hwm);
-                       break;
-               case ID_GROUPID:
-                       if ((hwm = tdb_fetch_int32(idmap_tdb, HWM_GROUP)) == -1) {
-                               return NT_STATUS_INTERNAL_DB_ERROR;
-                       }
-
-                       if (hwm > idmap_state.gid_high) {
-                               DEBUG(0, ("idmap Fatal Error: GID range full!!\n"));
-                               return NT_STATUS_UNSUCCESSFUL;
-                       }
-
-                       (*id).gid = hwm++;
-                       
-                       /* Store new high water mark */
-                       tdb_store_int32(idmap_tdb, HWM_GROUP, hwm);
-                       break;
-               default:
-                       return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       return NT_STATUS_OK;
-}
-
-/* Get a sid from an id */
-static NTSTATUS db_get_sid_from_id(DOM_SID *sid, unid_t id, int id_type)
-{
-       TDB_DATA key, data;
-       fstring keystr;
-       NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-
-       if (!sid) return NT_STATUS_INVALID_PARAMETER;
-
-       switch (id_type & ID_TYPEMASK) {
-               case ID_USERID:
-                       slprintf(keystr, sizeof(keystr), "UID %d", id.uid);
-                       break;
-               case ID_GROUPID:
-                       slprintf(keystr, sizeof(keystr), "GID %d", id.gid);
-                       break;
-               default:
-                       return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(idmap_tdb, key);
-
-       if (data.dptr) {
-               if (string_to_sid(sid, data.dptr)) {
-                       ret = NT_STATUS_OK;
-               }
-               SAFE_FREE(data.dptr);
-       }
-
-       return ret;
-}
-
-/* Get an id from a sid */
-static NTSTATUS db_get_id_from_sid(unid_t *id, int *id_type, const DOM_SID *sid)
-{
-       TDB_DATA data, key;
-       fstring keystr;
-       NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
-
-       if (!sid || !id || !id_type) return NT_STATUS_INVALID_PARAMETER;
-
-       /* Check if sid is present in database */
-       sid_to_string(keystr, sid);
-
-       key.dptr = keystr;
-       key.dsize = strlen(keystr) + 1;
-
-       data = tdb_fetch(idmap_tdb, key);
-
-       if (data.dptr) {
-               int type = *id_type & ID_TYPEMASK;
-               fstring scanstr;
-
-               if (type == ID_EMPTY || type == ID_USERID) {
-                       /* Parse and return existing uid */
-                       fstrcpy(scanstr, "UID %d");
-
-                       if (sscanf(data.dptr, scanstr, &((*id).uid)) == 1) {
-                               /* uid ok? */
-                               if (type == ID_EMPTY) {
-                                       *id_type = ID_USERID;
-                               }
-                               ret = NT_STATUS_OK;
-                               goto idok;
-                       }
-               }
-
-               if (type == ID_EMPTY || type == ID_GROUPID) {
-                       /* Parse and return existing gid */
-                       fstrcpy(scanstr, "GID %d");
-
-                       if (sscanf(data.dptr, scanstr, &((*id).gid)) == 1) {
-                               /* gid ok? */
-                               if (type == ID_EMPTY) {
-                                       *id_type = ID_GROUPID;
-                               }
-                               ret = NT_STATUS_OK;
-                       }
-               }
-idok:
-               SAFE_FREE(data.dptr);
-
-       } else if (!(*id_type & ID_NOMAP) &&
-                  (((*id_type & ID_TYPEMASK) == ID_USERID)
-                   || (*id_type & ID_TYPEMASK) == ID_GROUPID)) {
-
-               /* Allocate a new id for this sid */
-               ret = db_allocate_id(id, *id_type);
-               if (NT_STATUS_IS_OK(ret)) {
-                       fstring keystr2;
-
-                       /* Store new id */
-                       if (*id_type & ID_USERID) {
-                               slprintf(keystr2, sizeof(keystr2), "UID %d", (*id).uid);
-                       } else {
-                               slprintf(keystr2, sizeof(keystr2), "GID %d", (*id).gid);
-                       }
-
-                       data.dptr = keystr2;
-                       data.dsize = strlen(keystr2) + 1;
-
-                       if (tdb_store(idmap_tdb, key, data, TDB_REPLACE) == -1) {
-                               /* TODO: print tdb error !! */
-                               return NT_STATUS_UNSUCCESSFUL;
-                       }
-                       if (tdb_store(idmap_tdb, data, key, TDB_REPLACE) == -1) {
-                               /* TODO: print tdb error !! */
-                               return NT_STATUS_UNSUCCESSFUL;
-                       }
-
-                       ret = NT_STATUS_OK;
-               }
-       }
-       
-       return ret;
-}
-
-static NTSTATUS db_set_mapping(DOM_SID *sid, unid_t id, int id_type)
-{
-       TDB_DATA ksid, kid;
-       fstring ksidstr;
-       fstring kidstr;
-
-       if (!sid) return NT_STATUS_INVALID_PARAMETER;
-
-       sid_to_string(ksidstr, sid);
-
-       ksid.dptr = ksidstr;
-       ksid.dsize = strlen(ksidstr) + 1;
-
-       id_type &= ID_TYPEMASK;
-       if (id_type & ID_USERID) {
-               slprintf(kidstr, sizeof(kidstr), "UID %d", id.uid);
-       } else if (id_type & ID_GROUPID) {
-               slprintf(kidstr, sizeof(kidstr), "GID %d", id.gid);
-       } else {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       kid.dptr = kidstr;
-       kid.dsize = strlen(kidstr) + 1;
-
-       if (tdb_store(idmap_tdb, ksid, kid, TDB_INSERT) == -1) {
-               /* TODO: print tdb error !! */
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-       if (tdb_store(idmap_tdb, kid, ksid, TDB_INSERT) == -1) {
-               /* TODO: print tdb error !! */
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-       return NT_STATUS_OK;
-}
-
-/*****************************************************************************
- Initialise idmap database. 
-*****************************************************************************/
-static NTSTATUS db_idmap_init(const char *db_name)
-{
-       /* Open tdb cache */
-       if (!(idmap_tdb = tdb_open_log(lock_path(db_name), 0,
-                                      TDB_DEFAULT, O_RDWR | O_CREAT,
-                                      0600))) {
-               DEBUG(0, ("idmap_init: Unable to open idmap database\n"));
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-#if 0
-       /* possibly convert from an earlier version */
-       if (!tdb_idmap_convert(lock_path("winbind_idmap.tdb"))) {
-               DEBUG(0,
-                     ("idmap_init: Unable to open old idmap database\n"));
-               return False;
-       }
-#endif
-
-       /* Create high water marks for group and user id */
-       if (tdb_fetch_int32(idmap_tdb, HWM_USER) == -1) {
-               if (tdb_store_int32(idmap_tdb, HWM_USER, idmap_state.uid_low) == -1) {
-                       DEBUG(0, ("idmap_init: Unable to initialise user hwm in idmap database\n"));
-                       return NT_STATUS_INTERNAL_DB_ERROR;
-               }
-       }
-
-       if (tdb_fetch_int32(idmap_tdb, HWM_GROUP) == -1) {
-               if (tdb_store_int32(idmap_tdb, HWM_GROUP, idmap_state.gid_low) == -1) {
-                       DEBUG(0, ("idmap_init: Unable to initialise group hwm in idmap database\n"));
-                       return NT_STATUS_INTERNAL_DB_ERROR;
-               }
-       }
-
-       return NT_STATUS_OK;
-}
-
-/* Close the tdb */
-static NTSTATUS db_idmap_close(void)
-{
-       if (idmap_tdb) {
-               if (tdb_close(idmap_tdb) == 0) {
-                       return NT_STATUS_OK;
-               } else {
-                       return NT_STATUS_UNSUCCESSFUL;
-               }
-       }
-       return NT_STATUS_OK;
-}
-
-
-/* Dump status information to log file.  Display different stuff based on
-   the debug level:
-
-   Debug Level        Information Displayed
-   =================================================================
-   0                  Percentage of [ug]id range allocated
-   0                  High water marks (next allocated ids)
-*/
-
-#define DUMP_INFO 0
-
-static void db_idmap_status(void)
-{
-       int user_hwm, group_hwm;
-
-       DEBUG(0, ("winbindd idmap status:\n"));
-
-       /* Get current high water marks */
-
-       if ((user_hwm = tdb_fetch_int32(idmap_tdb, HWM_USER)) == -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tCould not get userid high water mark!\n"));
-       }
-
-       if ((group_hwm = tdb_fetch_int32(idmap_tdb, HWM_GROUP)) == -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tCould not get groupid high water mark!\n"));
-       }
-
-       /* Display next ids to allocate */
-
-       if (user_hwm != -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tNext userid to allocate is %d\n", user_hwm));
-       }
-
-       if (group_hwm != -1) {
-               DEBUG(DUMP_INFO,
-                     ("\tNext groupid to allocate is %d\n", group_hwm));
-       }
-
-       /* Display percentage of id range already allocated. */
-
-       if (user_hwm != -1) {
-               int num_users = user_hwm - idmap_state.uid_low;
-               int total_users =
-                   idmap_state.uid_high - idmap_state.uid_low;
-
-               DEBUG(DUMP_INFO,
-                     ("\tUser id range is %d%% full (%d of %d)\n",
-                      num_users * 100 / total_users, num_users,
-                      total_users));
-       }
-
-       if (group_hwm != -1) {
-               int num_groups = group_hwm - idmap_state.gid_low;
-               int total_groups =
-                   idmap_state.gid_high - idmap_state.gid_low;
-
-               DEBUG(DUMP_INFO,
-                     ("\tGroup id range is %d%% full (%d of %d)\n",
-                      num_groups * 100 / total_groups, num_groups,
-                      total_groups));
-       }
-
-       /* Display complete mapping of users and groups to rids */
-}
-
-struct idmap_methods db_methods = {
-
-       db_idmap_init,
-       db_get_sid_from_id,
-       db_get_id_from_sid,
-       db_set_mapping,
-       db_idmap_close,
-       db_idmap_status
-
-};
-
-NTSTATUS idmap_reg_tdb(struct idmap_methods **meth)
-{
-       *meth = &db_methods;
-
-       return NT_STATUS_OK;
-}
-
diff --git a/source3/sam/idmap_winbind.c b/source3/sam/idmap_winbind.c
deleted file mode 100644 (file)
index a5ba658..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   idmap Winbind backend
-
-   Copyright (C) Simo Sorce 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
-   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_IDMAP
-
-/* Get a sid from an id */
-static NTSTATUS db_get_sid_from_id(DOM_SID *sid, unid_t id, int id_type) {
-       switch (id_type & ID_TYPEMASK) {
-               case ID_USERID:
-                       if (winbind_uid_to_sid(sid, id.uid)) {
-                               return NT_STATUS_OK;
-                       }
-                       break;
-               case ID_GROUPID:
-                       if (winbind_gid_to_sid(sid, id.gid)) {
-                               return NT_STATUS_OK;
-                       }
-                       break;
-               default:
-                       return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       return NT_STATUS_UNSUCCESSFUL;
-}
-
-/* Get an id from a sid */
-static NTSTATUS db_get_id_from_sid(unid_t *id, int *id_type, const DOM_SID *sid) {
-       switch (*id_type & ID_TYPEMASK) {
-               case ID_USERID:
-                       if (winbind_sid_to_uid(&((*id).uid), sid)) {
-                               return NT_STATUS_OK;
-                       }
-                       break;
-               case ID_GROUPID:
-                       if (winbind_sid_to_gid(&((*id).gid), sid)) {
-                               return NT_STATUS_OK;
-                       }
-                       break;
-               default:
-                       if (winbind_sid_to_uid(&((*id).uid), sid) ||
-                           winbind_sid_to_gid(&((*id).gid), sid)) {
-                               return NT_STATUS_OK;
-                       }
-       }
-
-       return NT_STATUS_UNSUCCESSFUL;
-}      
-
-static NTSTATUS db_set_mapping(DOM_SID *sid, unid_t id, int id_type) {
-       return NT_STATUS_UNSUCCESSFUL;
-}
-
-/*****************************************************************************
- Initialise idmap database. 
-*****************************************************************************/
-static NTSTATUS db_init(const char *db_name) {
-       return NT_STATUS_OK;
-}
-
-/* Close the tdb */
-static NTSTATUS db_close(void) {
-       return NT_STATUS_OK;
-}
-
-static void db_status(void) {
-       return;
-}
-
-struct idmap_methods winbind_methods = {
-
-       db_init,
-       db_get_sid_from_id,
-       db_get_id_from_sid,
-       db_set_mapping,
-       db_close,
-       db_status
-
-};
-
-NTSTATUS idmap_reg_winbind(struct idmap_methods **meth)
-{
-       *meth = &winbind_methods;
-
-       return NT_STATUS_OK;
-}
-
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;
-}
index b27a405e4ddb1a97e31c6573f2307b48e103013d..b58244656975f0651119c99aabc24a987122ff7e 100755 (executable)
@@ -30,7 +30,7 @@ close(IN);
 open(IN,$topdir.$doc_file) || die("Can't open $topdir$doc_file");
 
 while(<IN>) {
-       if( /<term><anchor id="([^"]*)"\/>([^<]*?)([ ]*)\(.\)([ ]*)<\/term>/g ) {
+       if( /<term><anchor id="([^"]*)">([^<]*?)([ ]*)\(.\)([ ]*)<\/term>/g ) {
                $key = $1;
                $value = $2;
                $doc{$value} = $key;
diff --git a/source3/script/genstruct.pl b/source3/script/genstruct.pl
deleted file mode 100755 (executable)
index a6abd71..0000000
+++ /dev/null
@@ -1,299 +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(TALLOC_CTX *mem_ctx, struct parse_string *, const char *, unsigned);\n";
-       print OFILE "int gen_parse_struct_$name(TALLOC_CTX *mem_ctx, 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(TALLOC_CTX *mem_ctx, struct parse_string *p, const char *ptr, unsigned indent) {
-       return gen_dump_struct(mem_ctx, pinfo_$name, p, ptr, indent);
-}
-int gen_parse_struct_$name(TALLOC_CTX *mem_ctx, char *ptr, const char *str) {
-       return gen_parse_struct(mem_ctx, 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 43335666a630d8b82c8b45d30c91a745bf163fa7..da5accebab60b59423fce8f0be8f88ade3a1b186 100644 (file)
@@ -104,6 +104,15 @@ void build_options(BOOL screen)
 #ifdef WITH_PAM
        output(screen,"   WITH_PAM\n");
 #endif
+#ifdef WITH_TDB_SAM
+       output(screen,"   WITH_TDB_SAM\n");
+#endif
+#ifdef WITH_SMBPASSWD_SAM
+       output(screen,"   WITH_SMBPASSWD_SAM\n");
+#endif
+#ifdef WITH_NISPLUS_SAM
+       output(screen,"   WITH_NISPLUS_SAM\n");
+#endif
 #ifdef WITH_NISPLUS_HOME
        output(screen,"   WITH_NISPLUS_HOME\n");
 #endif
@@ -523,9 +532,6 @@ void build_options(BOOL screen)
        output(screen,"   sizeof(uint32):  %d\n",sizeof(uint32));
        output(screen,"   sizeof(short):   %d\n",sizeof(short));
        output(screen,"   sizeof(void*):   %d\n",sizeof(void*));
-
-          output(screen,"\nBuiltin modules:\n");
-          output(screen,"%s\n", STRING_STATIC_MODULES);
 }
 
 
index b6c7aa1076e3bd47bbe70a50a0b6e297da92be36..38fa2e023769d9db2fbc0c6a01576bee8d86cc43 100644 (file)
@@ -201,18 +201,15 @@ void conn_free(connection_struct *conn)
        /* Free vfs_connection_struct */
        handle = conn->vfs_private;
        while(handle) {
-               /* Only call dlclose for the old modules */
-               if (handle->handle) {
-                       /* Close dlopen() handle */
-                       done_fptr = (void (*)(connection_struct *))sys_dlsym(handle->handle, "vfs_done");
-
-                       if (done_fptr == NULL) {
-                               DEBUG(3, ("No vfs_done() symbol found in module with handle %p, ignoring\n", handle->handle));
-                       } else {
-                               done_fptr(conn);
-                       }
-                       sys_dlclose(handle->handle);
-               }
+               /* Close dlopen() handle */
+               done_fptr = (void (*)(connection_struct *))sys_dlsym(handle->handle, "vfs_done");
+               if (done_fptr == NULL) {
+                       DEBUG(3, ("No vfs_done() symbol found in module with handle %p, ignoring\n", handle->handle));
+               } else {
+                       done_fptr(conn);
+               }
+               sys_dlclose(handle->handle);
                DLIST_REMOVE(conn->vfs_private, handle);
                thandle = handle->next;
                SAFE_FREE(handle);
index 5547309a818591d24401bd36889640b9ba8a199d..17b5be8a7bb0548b942bc34a7a62d2e1963f6e31 100644 (file)
@@ -172,7 +172,7 @@ BOOL claim_connection(connection_struct *conn, const char *name,int max_connecti
                crec.uid = conn->uid;
                crec.gid = conn->gid;
                safe_strcpy(crec.name,
-                           lp_servicename(SNUM(conn)),sizeof(crec.name)-1);
+                       lp_servicename(SNUM(conn)),sizeof(crec.name)-1);
        }
        crec.start = time(NULL);
        crec.bcast_msg_flags = msg_flags;
index 6cf56fd373bb0089ea1a438de7c10ff8ad7163df..3f29ac892c7f8816bab321fdd71c59ed46234214 100644 (file)
@@ -627,8 +627,8 @@ BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype, pstring fname
                        see masktest for a demo
                */
                if ((strcmp(mask,"*.*") == 0) ||
-                   mask_match(filename,mask,False) ||
-                   mangle_mask_match(conn,filename,mask)) {
+                               mask_match(filename,mask,False) ||
+                               mangle_mask_match(conn,filename,mask)) {
                        if (isrootdir && (strequal(filename,"..") || strequal(filename,".")))
                                continue;
 
index 85e28f5d17279ba2c4fcf0da040fdec56e95ac03..c4a12ab531b50d50d3a2998ae69b0e9e7885f72b 100644 (file)
@@ -138,9 +138,9 @@ void send_trans_reply(char *outbuf,
                set_message(outbuf,10,1+this_ldata+this_lparam+align,False);
 
                copy_trans_params_and_data(outbuf, align,
-                                          rparam, tot_param_sent, this_lparam,
-                                          rdata, tot_data_sent, this_ldata);
-               
+                                                                       rparam, tot_param_sent, this_lparam,
+                                                                       rdata, tot_data_sent, this_ldata);
+
                SSVAL(outbuf,smb_vwv3,this_lparam);
                SSVAL(outbuf,smb_vwv4,smb_offset(smb_buf(outbuf)+1,outbuf));
                SSVAL(outbuf,smb_vwv5,tot_param_sent);
index de1bea493fa484419146364e98bb20eb32e59683..16ef30c46c896add50c5df50087fd971501145d4 100644 (file)
@@ -44,7 +44,7 @@ extern userdom_struct current_user_info;
 extern int smb_read_error;
 SIG_ATOMIC_T reload_after_sighup = 0;
 SIG_ATOMIC_T got_sig_term = 0;
-BOOL global_machine_password_needs_changing = False;
+extern BOOL global_machine_password_needs_changing;
 extern int max_send;
 
 /****************************************************************************
index c4e95b756205fe32b50421f5a2c098d7a7796c6e..77f4c6783ffafc878c9cd23237ea275c017ab648 100644 (file)
@@ -148,7 +148,7 @@ int reply_tcon(connection_struct *conn,
        const char *service;
        pstring service_buf;
        pstring password;
-       fstring dev;
+       pstring dev;
        int outsize = 0;
        uint16 vuid = SVAL(inbuf,smb_uid);
        int pwlen=0;
@@ -204,7 +204,7 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
 {
        fstring service;
        DATA_BLOB password;
-       
+
        /* what the cleint thinks the device is */
        fstring client_devicetype;
        /* what the server tells the client the share represents */
@@ -286,12 +286,13 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
                const char *fsname = IS_IPC(conn) ? "" : lp_fstype(SNUM(conn));
                
                set_message(outbuf,3,0,True);
-               p = smb_buf(outbuf);
+
+               p = smb_buf(outbuf);
                p += srvstr_push(outbuf, p, server_devicetype, -1, 
-                                STR_TERMINATE|STR_ASCII);
-               p += srvstr_push(outbuf, p, fsname, -1, 
-                                STR_TERMINATE);
+                                STR_TERMINATE|STR_ASCII);
+               p += srvstr_push(outbuf, p, fsname, -1, 
+                                STR_TERMINATE);
+               
                set_message_end(outbuf,p);
                
                /* what does setting this bit do? It is set by NT4 and
index ae587ea251e780198ed28b697da913f3bce07852..056231c344abef75165f56745b0a57e1ec3f396c 100644 (file)
@@ -3,7 +3,7 @@
    Main SMB server routines
    Copyright (C) Andrew Tridgell               1992-1998
    Copyright (C) Martin Pool                   2002
-   Copyright (C) Jelmer Vernooij               2002-2003
+   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
@@ -669,7 +669,11 @@ static BOOL init_structs(void )
        {"log-stdout", 'S', POPT_ARG_VAL, &log_stdout, True, "Log to stdout" },
        {"build-options", 'b', POPT_ARG_NONE, NULL, 'b', "Print build options" },
        {"port", 'p', POPT_ARG_STRING, &ports, 0, "Listen on the specified ports"},
-       POPT_COMMON_SAMBA
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug},
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile},
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_socket_options},
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_log_base},
+       {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
        { NULL }
        };
 
@@ -856,16 +860,9 @@ static BOOL init_structs(void )
        if (!init_registry())
                exit(1);
 
-       if (!idmap_init(lp_idmap_backend()))
-               exit(1);
-
        if(!initialize_password_db(False))
                exit(1);
 
-       static_init_rpc;
-
-       init_modules();
-
        uni_group_cache_init(); /* Non-critical */
        
        /* possibly reload the services file. */
@@ -894,10 +891,6 @@ static BOOL init_structs(void )
        if (!init_change_notify())
                exit(1);
 
-       /* Setup privileges database */
-       if (!privilege_init())
-               exit(1);
-
        /* re-initialise the timezone */
        TimeInit();
 
@@ -907,7 +900,6 @@ static BOOL init_structs(void )
        smbd_process();
        
        uni_group_cache_shutdown();
-       namecache_shutdown();
        exit_server("normal exit");
        return(0);
 }
index 5c87eb0729bc366d2f06cc23bb3dfe0191435073..080e2f76dfe69ed52ae7e4756ea0d9e0fb39fa31 100644 (file)
@@ -762,7 +762,7 @@ connection_struct *make_connection(const char *service_in, DATA_BLOB password,
        fstring service;
        fstring dev;
        int snum = -1;
-
+       
        fstrcpy(dev, pdev);
 
        /* This must ONLY BE CALLED AS ROOT. As it exits this function as root. */
index 0fa65f47caeb306345a05d1284108e705ab0c84f..b9cf0de3bd6bc29281929034511d22f48f0d7833 100644 (file)
@@ -722,33 +722,6 @@ static void store_gid_sid_cache(const DOM_SID *psid, const enum SID_NAME_USE sid
 
 DOM_SID *uid_to_sid(DOM_SID *psid, uid_t uid)
 {
-#ifdef WITH_IDMAP
-       unid_t id;
-
-       DEBUG(10,("uid_to_sid: uid = [%d]\n", uid));
-
-       id.uid = uid;
-       if (NT_STATUS_IS_OK(idmap_get_sid_from_id(psid, id, ID_USERID))) {
-               DEBUG(10, ("uid_to_sid: sid = [%s]\n", sid_string_static(psid)));
-               return psid;
-       }
-
-       /* If mapping is not found in idmap try with traditional method,
-          then stores the result in idmap.
-          We may add a switch in future to allow smooth migrations to
-          idmap-only db  ---Simo */    
-
-       become_root();
-       psid = local_uid_to_sid(psid, uid);
-        unbecome_root();
-
-       DEBUG(10,("uid_to_sid: algorithmic %u -> %s\n", (unsigned int)uid, sid_string_static(psid)));
-       if (psid)
-               idmap_set_mapping(psid, id, ID_USERID);
-
-       return psid;
-       
-#else
        uid_t low, high;
        enum SID_NAME_USE sidtype;
        fstring sid;
@@ -756,7 +729,7 @@ DOM_SID *uid_to_sid(DOM_SID *psid, uid_t uid)
        if (fetch_sid_from_uid_cache(psid, &sidtype, uid))
                return psid;
 
-       if (lp_idmap_uid(&low, &high) && uid >= low && uid <= high) {
+       if (lp_winbind_uid(&low, &high) && uid >= low && uid <= high) {
                if (winbind_uid_to_sid(psid, uid)) {
 
                        DEBUG(10,("uid_to_sid: winbindd %u -> %s\n",
@@ -778,7 +751,6 @@ DOM_SID *uid_to_sid(DOM_SID *psid, uid_t uid)
                store_uid_sid_cache(psid, SID_NAME_USER, uid);
 
        return psid;
-#endif
 }
 
 /*****************************************************************
@@ -789,33 +761,6 @@ DOM_SID *uid_to_sid(DOM_SID *psid, uid_t uid)
 
 DOM_SID *gid_to_sid(DOM_SID *psid, gid_t gid)
 {
-#ifdef WITH_IDMAP
-       unid_t id;
-
-       DEBUG(10,("gid_to_sid: gid = [%d]\n", gid));
-
-               id.gid = gid;
-       if (NT_STATUS_IS_OK(idmap_get_sid_from_id(psid, id, ID_GROUPID))) {
-               DEBUG(10, ("gid_to_sid: sid = [%s]\n", sid_string_static(psid)));
-               return psid;
-       }
-
-       /* If mapping is not found in idmap try with traditional method,
-          then stores the result in idmap.
-          We may add a switch in future to allow smooth migrations to
-          idmap-only db  ---Simo */    
-
-       become_root();
-       psid = local_gid_to_sid(psid, gid);
-        unbecome_root();
-
-       DEBUG(10,("gid_to_sid: algorithmic %u -> %s\n", (unsigned int)gid, sid_string_static(psid)));
-       if (psid)
-               idmap_set_mapping(psid, id, ID_GROUPID);
-
-       return psid;
-       
-#else
        gid_t low, high;
        enum SID_NAME_USE sidtype;
        fstring sid;
@@ -823,7 +768,7 @@ DOM_SID *gid_to_sid(DOM_SID *psid, gid_t gid)
        if (fetch_sid_from_gid_cache(psid, &sidtype, gid))
                return psid;
 
-       if (lp_idmap_gid(&low, &high) && gid >= low && gid <= high) {
+       if (lp_winbind_gid(&low, &high) && gid >= low && gid <= high) {
                if (winbind_gid_to_sid(psid, gid)) {
 
                        DEBUG(10,("gid_to_sid: winbindd %u -> %s\n",
@@ -844,7 +789,6 @@ DOM_SID *gid_to_sid(DOM_SID *psid, gid_t gid)
                store_gid_sid_cache(psid, SID_NAME_DOM_GRP, gid);
 
        return psid;
-#endif
 }
 
 /*****************************************************************
@@ -856,35 +800,6 @@ DOM_SID *gid_to_sid(DOM_SID *psid, gid_t gid)
 
 BOOL sid_to_uid(const DOM_SID *psid, uid_t *puid, enum SID_NAME_USE *sidtype)
 {
-#ifdef WITH_IDMAP
-       unid_t id;
-       int type;
-
-       DEBUG(10,("sid_to_uid: sid = [%s]\n", sid_string_static(psid)));
-
-       *sidtype = SID_NAME_USER;
-
-       type = ID_USERID;
-       if (NT_STATUS_IS_OK(idmap_get_id_from_sid(&id, &type, psid))) {
-               DEBUG(10,("sid_to_uid: uid = [%d]\n", id.uid));
-               *puid = id.uid;
-               return True;
-       }
-
-       if (sid_compare_domain(get_global_sam_sid(), psid) == 0) {
-               BOOL result;
-               become_root();
-               result = local_sid_to_uid(puid, psid, sidtype);
-               unbecome_root();
-               if (result) {
-                       id.uid = *puid;
-                       DEBUG(10,("sid_to_uid: uid = [%d]\n", id.uid));
-                       idmap_set_mapping(psid, id, ID_USERID);
-                       return True;
-               }
-       }
-       return False;
-#else
        fstring sid_str;
 
        if (fetch_uid_from_cache(puid, psid, *sidtype))
@@ -958,7 +873,6 @@ BOOL sid_to_uid(const DOM_SID *psid, uid_t *puid, enum SID_NAME_USE *sidtype)
 
        store_uid_sid_cache(psid, *sidtype, *puid);
        return True;
-#endif
 }
 
 /*****************************************************************
@@ -970,37 +884,6 @@ BOOL sid_to_uid(const DOM_SID *psid, uid_t *puid, enum SID_NAME_USE *sidtype)
 
 BOOL sid_to_gid(const DOM_SID *psid, gid_t *pgid, enum SID_NAME_USE *sidtype)
 {
-#ifdef WITH_IDMAP
-       unid_t id;
-       int type;
-
-       DEBUG(10,("sid_to_gid: sid = [%s]\n", sid_string_static(psid)));
-
-       *sidtype = SID_NAME_ALIAS;
-
-       type = ID_GROUPID;
-       if (NT_STATUS_IS_OK(idmap_get_id_from_sid(&id, &type, psid))) {
-               DEBUG(10,("sid_to_gid: gid = [%d]\n", id.gid));
-               *pgid = id.gid;
-               return True;
-       }
-
-       if (sid_compare_domain(get_global_sam_sid(), psid) == 0) {
-               BOOL result;
-               become_root();
-               result = local_sid_to_gid(pgid, psid, sidtype);
-               unbecome_root();
-               if (result) {
-                       id.gid = *pgid;
-                       DEBUG(10,("sid_to_gid: gid = [%d]\n", id.gid));
-                       idmap_set_mapping(psid, id, ID_GROUPID);
-                       return True;
-               }
-       }
-
-       return False;
-
-#else
        fstring dom_name, name, sid_str;
        enum SID_NAME_USE name_type;
 
@@ -1061,6 +944,5 @@ BOOL sid_to_gid(const DOM_SID *psid, gid_t *pgid, enum SID_NAME_USE *sidtype)
 
        store_gid_sid_cache(psid, *sidtype, *pgid);
        return True;
-#endif
 }
 
index 06aca51322190e8a9b93de44292f5bfd12daafca..533c64b229fc8b0851ac96c8bf7fbec43f411fb9 100644 (file)
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_VFS
 
-struct vfs_init_function_entry {
-   char *name;
-   vfs_op_tuple *ops, *(*init)(const struct vfs_ops *, struct smb_vfs_handle_struct *);
-   struct vfs_init_function_entry *prev, *next;
-};
-
-static struct vfs_init_function_entry *backends = NULL;
 
 /* Some structures to help us initialise the vfs operations table */
 
@@ -134,59 +127,6 @@ static struct vfs_ops default_vfs_ops = {
        vfswrap_sys_acl_free_qualifier
 };
 
-/****************************************************************************
-    maintain the list of available backends
-****************************************************************************/
-
-static struct vfs_init_function_entry *vfs_find_backend_entry(const char *name)
-{
-   struct vfs_init_function_entry *entry = backends;
-   pstring stripped;
-
-   module_path_get_name(name, stripped);
-
-   while(entry) {
-       if (strequal(entry->name, stripped)) return entry;
-       entry = entry->next;
-   }
-
-   return NULL;
-}
-
-BOOL smb_register_vfs(const char *name, vfs_op_tuple *(*init)(const struct vfs_ops *, struct smb_vfs_handle_struct *), int version)
-{
-   struct vfs_init_function_entry *entry = backends;
-   
-   if ((version < SMB_VFS_INTERFACE_CASCADED)) {
-       DEBUG(0, ("vfs_init() returned wrong interface version info (was %d, should be no less than %d)\n",
-           version, SMB_VFS_INTERFACE_VERSION ));
-       return False;
-   }
-  
-   if ((version < SMB_VFS_INTERFACE_VERSION)) {
-       DEBUG(0, ("Warning: vfs_init() states that module confirms interface version #%d, current interface version is #%d.\n\
-               Proceeding in compatibility mode, new operations (since version #%d) will fallback to default ones.\n",
-               version, SMB_VFS_INTERFACE_VERSION, version ));
-          return False;
-   }
-   
-   while(entry) {
-       if (strequal(entry->name, name)) {
-           DEBUG(0,("VFS module %s already loaded!\n", name));
-           return False;
-       }
-       entry = entry->next;
-   }
-
-   entry = smb_xmalloc(sizeof(struct vfs_init_function_entry));
-   entry->name = smb_xstrdup(name);
-   entry->init = init;
-
-   DLIST_ADD(backends, entry);
-   DEBUG(5, ("Successfully added vfs backend '%s'\n", name));
-   return True;
-}
-
 /****************************************************************************
   initialise default vfs hooks
 ****************************************************************************/
@@ -199,19 +139,23 @@ static void vfs_init_default(connection_struct *conn)
        conn->vfs_private = NULL;
 }
 
-/***************************************************************************
- Function to load old VFS modules. Should go away after a while.
- **************************************************************************/
+/****************************************************************************
+  initialise custom vfs hooks
+****************************************************************************/
 
-static vfs_op_tuple *vfs_load_old_plugin(connection_struct *conn, const char *vfs_object)
+BOOL vfs_init_custom(connection_struct *conn, const char *vfs_object)
 {
        int vfs_version = -1;
-       vfs_op_tuple *ops, *(*init_fptr)(int *, const struct vfs_ops *, struct smb_vfs_handle_struct *);
+       vfs_op_tuple *ops, *(*init_fptr)(int *, const struct vfs_ops *, struct smb_vfs_handle_struct *);
+       int i;
+
+       DEBUG(3, ("Initialising custom vfs hooks from %s\n", vfs_object));
+
        /* Open object file */
 
        if ((conn->vfs_private->handle = sys_dlopen(vfs_object, RTLD_NOW)) == NULL) {
                DEBUG(0, ("Error opening %s: %s\n", vfs_object, sys_dlerror()));
-               return NULL;
+               return False;
        }
 
        /* Get handle on vfs_init() symbol */
@@ -221,73 +165,32 @@ static vfs_op_tuple *vfs_load_old_plugin(connection_struct *conn, const char *vf
        if (init_fptr == NULL) {
                DEBUG(0, ("No vfs_init() symbol found in %s\n", vfs_object));
                sys_dlclose(conn->vfs_private->handle);
-               return NULL;
+               return False;
        }
 
        /* Initialise vfs_ops structure */
-       if ((ops = init_fptr(&vfs_version, &conn->vfs_ops, conn->vfs_private)) == NULL) {
-               DEBUG(0, ("vfs_init() function from %s failed\n", vfs_object));
-               sys_dlclose(conn->vfs_private->handle);
-               return NULL;
-       }
 
-       if ((vfs_version < SMB_VFS_INTERFACE_CASCADED)) {
-               DEBUG(0, ("vfs_init() returned wrong interface version info (was %d, should be no less than %d)\n",
-                                 vfs_version, SMB_VFS_INTERFACE_VERSION ));
+       if ((ops = init_fptr(&vfs_version, &conn->vfs_ops, conn->vfs_private)) == NULL) {
+               DEBUG(0, ("vfs_init() function from %s failed\n", vfs_object));
                sys_dlclose(conn->vfs_private->handle);
-               return NULL;
-       }
-
-       if ((vfs_version < SMB_VFS_INTERFACE_VERSION)) {
-               DEBUG(0, ("Warning: vfs_init() states that module confirms interface version #%d, current interface version is #%d.\n\
-                                 Proceeding in compatibility mode, new operations (since version #%d) will fallback to default ones.\n",
-                                 vfs_version, SMB_VFS_INTERFACE_VERSION, vfs_version ));
+               return False;
+       }
+  
+       if ((vfs_version < SMB_VFS_INTERFACE_CASCADED)) {
+               DEBUG(0, ("vfs_init() returned wrong interface version info (was %d, should be no less than %d)\n",
+                       vfs_version, SMB_VFS_INTERFACE_VERSION ));
                sys_dlclose(conn->vfs_private->handle);
-               return NULL;
-       }
-       
-       return ops;
-}
-
-
-
-/****************************************************************************
-  initialise custom vfs hooks
- ****************************************************************************/
-
-BOOL vfs_init_custom(connection_struct *conn, const char *vfs_object)
-{
-       vfs_op_tuple *ops;
-       int i;
-       struct vfs_init_function_entry *entry;
-
-       DEBUG(3, ("Initialising custom vfs hooks from %s\n", vfs_object));
-
-       if(!backends) static_init_vfs;
-
-       /* First, try to load the module with the new module system */
-       if((entry = vfs_find_backend_entry(vfs_object)) || 
-          (smb_probe_module("vfs", vfs_object) && 
-               (entry = vfs_find_backend_entry(vfs_object)))) {
-
-               DEBUG(3,("Successfully loaded %s with the new modules system\n", vfs_object));
-               
-               if ((ops = entry->init(&conn->vfs_ops, conn->vfs_private)) == NULL) {
-                       DEBUG(0, ("vfs init function from %s failed\n", vfs_object));
-                       return False;
-               }
-       } else {
-               /* If that doesn't work, fall back to the old system 
-                * (This part should go away after a while, it's only here 
-                * for backwards compatibility) */
-               DEBUG(2, ("Can't load module %s with new modules system, falling back to compatibility\n",
-                       vfs_object));
-               if ((ops = vfs_load_old_plugin(conn, vfs_object)) == NULL) {
-                       DEBUG(0, ("vfs init function from %s failed\n", vfs_object));
-                       return False;
-               }
-       }
-
+               return False;
+       }
+  
+       if ((vfs_version < SMB_VFS_INTERFACE_VERSION)) {
+               DEBUG(0, ("Warning: vfs_init() states that module confirms interface version #%d, current interface version is #%d.\n\
+Proceeding in compatibility mode, new operations (since version #%d) will fallback to default ones.\n",
+                       vfs_version, SMB_VFS_INTERFACE_VERSION, vfs_version ));
+               sys_dlclose(conn->vfs_private->handle);
+               return False;
+       }
+  
        for(i=0; ops[i].op != NULL; i++) {
          DEBUG(3, ("Checking operation #%d (type %d, layer %d)\n", i, ops[i].type, ops[i].layer));
          if(ops[i].layer == SMB_VFS_LAYER_OPAQUE) {
@@ -312,50 +215,54 @@ BOOL vfs_init_custom(connection_struct *conn, const char *vfs_object)
 
 BOOL smbd_vfs_init(connection_struct *conn)
 {
-       const char **vfs_objects;
-       char *vfs_module, *vfs_path;
-       unsigned int i = 0;
-       int j = 0;
+       char **vfs_objects, *vfsobj, *vfs_module, *vfs_path;
+       int nobj, i;
        struct smb_vfs_handle_struct *handle;
        
        /* Normal share - initialise with disk access functions */
        vfs_init_default(conn);
-       vfs_objects = lp_vfsobj(SNUM(conn));
 
        /* Override VFS functions if 'vfs object' was specified*/
-       if (!vfs_objects)
-               return True;
-
-       for(i=0; i<SMB_VFS_OP_LAST; i++) {
-               vfs_opaque_ops[i].op = ((void**)&default_vfs_ops)[i];
-               vfs_opaque_ops[i].type = i;
-               vfs_opaque_ops[i].layer = SMB_VFS_LAYER_OPAQUE;
-       }
-
-       vfs_path = lp_vfs_path(SNUM(conn));
-       
-       for (i=0; vfs_objects[i]; i++); /* count passed modules */
-        
-       for (j=i-1; j >= 0; j--) {
-               conn->vfs_private = NULL;
-               handle = (struct smb_vfs_handle_struct *) smb_xmalloc(sizeof(smb_vfs_handle_struct));
-               /* Loadable object file */
-               handle->handle = NULL;
-               DLIST_ADD(conn->vfs_private, handle);
-               vfs_module = NULL;
-               if (vfs_path && *vfs_path) {
-                       asprintf(&vfs_module, "%s/%s", vfs_path, vfs_objects[j]);
-               } else {
-                       asprintf(&vfs_module, "%s", vfs_objects[j]);
+       if (*lp_vfsobj(SNUM(conn))) {
+               vfsobj = NULL;
+               for(i=0; i<SMB_VFS_OP_LAST; i++) {
+                 vfs_opaque_ops[i].op = ((void**)&default_vfs_ops)[i];
+                 vfs_opaque_ops[i].type = i;
+                 vfs_opaque_ops[i].layer = SMB_VFS_LAYER_OPAQUE;
                }
-               if (!vfs_init_custom(conn, vfs_module)) {
-                       DEBUG(0, ("smbd_vfs_init: vfs_init_custom failed for %s\n", vfs_module));
-                       SAFE_FREE(vfs_module);
-                       DLIST_REMOVE(conn->vfs_private, handle);
-                       SAFE_FREE(handle);
-                       return False;
+               if (string_set(&vfsobj, lp_vfsobj(SNUM(conn)))) {
+                       /* Parse passed modules specification to array of modules */
+                       set_first_token(vfsobj);
+                       /* We are using default separators: ' \t\r\n' */
+                       vfs_objects = toktocliplist(&nobj, NULL);
+                       if (vfs_objects) {
+                               vfs_path = lp_vfs_path(SNUM(conn));
+                               conn->vfs_private = NULL;
+                               for(i=nobj-1; i>=0; i--) {
+                                       handle = (struct smb_vfs_handle_struct *) smb_xmalloc(sizeof(smb_vfs_handle_struct));
+                                       /* Loadable object file */
+                                       handle->handle = NULL;
+                                       DLIST_ADD(conn->vfs_private, handle)
+                                       vfs_module = NULL;
+                                       if (vfs_path) {
+                                               asprintf(&vfs_module, "%s/%s", vfs_path, vfs_objects[i]);
+                                       } else {
+                                               asprintf(&vfs_module, "%s", vfs_objects[i]);
+                                       }
+                                       if (!vfs_init_custom(conn, vfs_module)) {
+                                               DEBUG(0, ("smbd_vfs_init: vfs_init_custom failed for %s\n", vfs_module));
+                                               string_free(&vfsobj);
+                                               SAFE_FREE(vfs_module);
+                                               DLIST_REMOVE(conn->vfs_private, handle);
+                                               SAFE_FREE(handle);
+                                               return False;
+                                       }
+                                       SAFE_FREE(vfs_module);
+                               }
+                       }
+                       string_free(&vfsobj);
+                       return True;
                }
-               SAFE_FREE(vfs_module);
        }
        return True;
 }
index a67e1370588db3e3fa3cc2e4111c1ffcd37e6b94..8fc12d4e3965da2b106793cd0a4f309251a222a4 100755 (executable)
@@ -33,7 +33,7 @@ def signum(a):
 class StrCaseCmp_Ascii_Tests(comfychair.TestCase):
     """String comparisons in simple ASCII""" 
     def run_strcmp(self, a, b, expect):
-        out = self.runcmd('t_strcmp \"%s\" \"%s\"' % (a, b))
+        out, err = self.runcmd('t_strcmp \"%s\" \"%s\"' % (a, b))
         if signum(int(out)) != expect:
             self.fail("comparison failed:\n"
                       "  a=%s\n"
index 8b0e833ff56c695ee0ce6cf5984bd5ccfc73c7c9..d6a2ac6eb88a2a80de55d4e89cbc70a37876e8df 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __SPINLOCK_H__
 #define __SPINLOCK_H__
 
-#ifdef HAVE_CONFIG_H
+#if HAVE_CONFIG_H
 #include <config.h>
 #endif
 
index c414ae0d3108ccaf12aa9165d171d14bc8127a90..442baed936206a27a376c0257a693da78a937a4f 100644 (file)
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
-
-
-/* NOTE: If you use tdbs under valgrind, and in particular if you run
- * tdbtorture, you may get spurious "uninitialized value" warnings.  I
- * think this is because valgrind doesn't understand that the mmap'd
- * area may be written to by other processes.  Memory can, from the
- * point of view of the grinded process, spontaneously become
- * initialized.
- *
- * I can think of a few solutions.  [mbp 20030311]
- *
- * 1 - Write suppressions for Valgrind so that it doesn't complain
- * about this.  Probably the most reasonable but people need to
- * remember to use them.
- *
- * 2 - Use IO not mmap when running under valgrind.  Not so nice.
- *
- * 3 - Use the special valgrind macros to mark memory as valid at the
- * right time.  Probably too hard -- the process just doesn't know.
- */ 
-
 #ifdef STANDALONE
 #if HAVE_CONFIG_H
 #include <config.h>
index 36ba7db918824e31784f834bfec0e55e0bd0d4af..7b344de6c45e716576fa4dc31254a18bc75e2ea4 100644 (file)
@@ -303,3 +303,13 @@ static void usage(void)
 
        return ret;
 }
+
+#ifdef VALGRIND
+size_t valgrind_strlen(const char *s)
+{
+       size_t count;
+       for(count = 0; *s++; count++)
+               ;
+       return count;
+}
+#endif
index b153d442bd6f267506b2eb589a1d40454a5aee2e..0d8f6128cc5f8e7d0cec89d3b2822227026bdf7d 100644 (file)
@@ -42,7 +42,7 @@ static void gotalarm_sig(void)
 static TDB_DATA make_tdb_data(const char *dptr, size_t dsize)
 {
        TDB_DATA ret;
-       ret.dptr = smb_xstrdup(dptr);
+       ret.dptr = dptr;
        ret.dsize = dsize;
        return ret;
 }
@@ -387,7 +387,6 @@ BOOL tdb_change_uint32_atomic(TDB_CONTEXT *tdb, const char *keystr, uint32 *oldv
 size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...)
 {
        va_list ap;
-       uint8 bt;
        uint16 w;
        uint32 d;
        int i;
@@ -403,46 +402,40 @@ size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...)
 
        while (*fmt) {
                switch ((c = *fmt++)) {
-               case 'b': /* unsigned 8-bit integer */
-                       len = 1;
-                       bt = (uint8)va_arg(ap, int);
-                       if (bufsize >= len)
-                               SSVAL(buf, 0, bt);
-                       break;
-               case 'w': /* unsigned 16-bit integer */
+               case 'w':
                        len = 2;
                        w = (uint16)va_arg(ap, int);
                        if (bufsize >= len)
                                SSVAL(buf, 0, w);
                        break;
-               case 'd': /* signed 32-bit integer (standard int in most systems) */
+               case 'd':
                        len = 4;
                        d = va_arg(ap, uint32);
                        if (bufsize >= len)
                                SIVAL(buf, 0, d);
                        break;
-               case 'p': /* pointer */
+               case 'p':
                        len = 4;
                        p = va_arg(ap, void *);
                        d = p?1:0;
                        if (bufsize >= len)
                                SIVAL(buf, 0, d);
                        break;
-               case 'P': /* null-terminated string */
+               case 'P':
                        s = va_arg(ap,char *);
                        w = strlen(s);
                        len = w + 1;
                        if (bufsize >= len)
                                memcpy(buf, s, len);
                        break;
-               case 'f': /* null-terminated string */
+               case 'f':
                        s = va_arg(ap,char *);
                        w = strlen(s);
                        len = w + 1;
                        if (bufsize >= len)
                                memcpy(buf, s, len);
                        break;
-               case 'B': /* fixed-length string */
+               case 'B':
                        i = va_arg(ap, int);
                        s = va_arg(ap, char *);
                        len = 4+i;
@@ -478,7 +471,6 @@ size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...)
 int tdb_unpack(char *buf, int bufsize, const char *fmt, ...)
 {
        va_list ap;
-       uint8 *bt;
        uint16 *w;
        uint32 *d;
        int len;
@@ -494,13 +486,6 @@ int tdb_unpack(char *buf, int bufsize, const char *fmt, ...)
        
        while (*fmt) {
                switch ((c=*fmt++)) {
-               case 'b':
-                       len = 1;
-                       bt = va_arg(ap, uint8 *);
-                       if (bufsize < len)
-                               goto no_space;
-                       *bt = SVAL(buf, 0);
-                       break;
                case 'w':
                        len = 2;
                        w = va_arg(ap, uint16 *);
@@ -578,130 +563,6 @@ int tdb_unpack(char *buf, int bufsize, const char *fmt, ...)
        return -1;
 }
 
-
-/**
- * Pack SID passed by pointer
- *
- * @param pack_buf pointer to buffer which is to be filled with packed data
- * @param bufsize size of packing buffer
- * @param sid pointer to sid to be packed
- *
- * @return length of the packed representation of the whole structure
- **/
-size_t tdb_sid_pack(char* pack_buf, int bufsize, DOM_SID* sid)
-{
-       int idx;
-       size_t len = 0;
-       
-       if (!sid || !pack_buf) return -1;
-       
-       len += tdb_pack(pack_buf + len, bufsize - len, "bb", sid->sid_rev_num,
-                       sid->num_auths);
-       
-       for (idx = 0; idx < 6; idx++) {
-               len += tdb_pack(pack_buf + len, bufsize - len, "b", sid->id_auth[idx]);
-       }
-       
-       for (idx = 0; idx < MAXSUBAUTHS; idx++) {
-               len += tdb_pack(pack_buf + len, bufsize - len, "d", sid->sub_auths[idx]);
-       }
-       
-       return len;
-}
-
-
-/**
- * Unpack SID into a pointer
- *
- * @param pack_buf pointer to buffer with packed representation
- * @param bufsize size of the buffer
- * @param sid pointer to sid structure to be filled with unpacked data
- *
- * @return size of structure unpacked from buffer
- **/
-size_t tdb_sid_unpack(char* pack_buf, int bufsize, DOM_SID* sid)
-{
-       int idx, len = 0;
-       
-       if (!sid || !pack_buf) return -1;
-
-       len += tdb_unpack(pack_buf + len, bufsize - len, "bb",
-                         &sid->sid_rev_num, &sid->num_auths);
-                         
-       for (idx = 0; idx < 6; idx++) {
-               len += tdb_unpack(pack_buf + len, bufsize - len, "b", &sid->id_auth[idx]);
-       }
-       
-       for (idx = 0; idx < MAXSUBAUTHS; idx++) {
-               len += tdb_unpack(pack_buf + len, bufsize - len, "d", &sid->sub_auths[idx]);
-       }
-       
-       return len;
-}
-
-
-/**
- * Pack TRUSTED_DOM_PASS passed by pointer
- *
- * @param pack_buf pointer to buffer which is to be filled with packed data
- * @param bufsize size of the buffer
- * @param pass pointer to trusted domain password to be packed
- *
- * @return length of the packed representation of the whole structure
- **/
-size_t tdb_trusted_dom_pass_pack(char* pack_buf, int bufsize, TRUSTED_DOM_PASS* pass)
-{
-       int idx, len = 0;
-       
-       if (!pack_buf || !pass) return -1;
-       
-       /* packing unicode domain name and password */
-       len += tdb_pack(pack_buf + len, bufsize - len, "d", pass->uni_name_len);
-       
-       for (idx = 0; idx < 32; idx++)
-               len +=  tdb_pack(pack_buf + len, bufsize - len, "w", pass->uni_name[idx]);
-       
-       len += tdb_pack(pack_buf + len, bufsize - len, "dPd", pass->pass_len,
-                            pass->pass, pass->mod_time);
-
-       /* packing SID structure */
-       len += tdb_sid_pack(pack_buf + len, bufsize - len, &pass->domain_sid);
-
-       return len;
-}
-
-
-/**
- * Unpack TRUSTED_DOM_PASS passed by pointer
- *
- * @param pack_buf pointer to buffer with packed representation
- * @param bufsize size of the buffer
- * @param pass pointer to trusted domain password to be filled with unpacked data
- *
- * @return size of structure unpacked from buffer
- **/
-size_t tdb_trusted_dom_pass_unpack(char* pack_buf, int bufsize, TRUSTED_DOM_PASS* pass)
-{
-       int idx, len = 0;
-       
-       if (!pack_buf || !pass) return -1;
-
-       /* unpack unicode domain name and plaintext password */
-       len += tdb_unpack(pack_buf, bufsize - len, "d", &pass->uni_name_len);
-       
-       for (idx = 0; idx < 32; idx++)
-               len +=  tdb_unpack(pack_buf + len, bufsize - len, "w", &pass->uni_name[idx]);
-
-       len += tdb_unpack(pack_buf + len, bufsize - len, "dPd", &pass->pass_len, &pass->pass,
-                         &pass->mod_time);
-       
-       /* unpack domain sid */
-       len += tdb_sid_unpack(pack_buf + len, bufsize - len, &pass->domain_sid);
-       
-       return len;     
-}
-
-
 /****************************************************************************
  Log tdb messages via DEBUG().
 ****************************************************************************/
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 3a7906fb33b3e091e2ee4bc10fc22836a86ac416..017bb1c06d6bedac9b0e769d598a499c3c94f1f0 100644 (file)
@@ -1408,7 +1408,7 @@ static void progress_bar(unsigned i, unsigned total)
  */
 BOOL torture_denytest1(int dummy)
 {
-       struct cli_state *cli1;
+       static struct cli_state cli1;
        int fnum1, fnum2;
        int i;
        BOOL correct = True;
@@ -1421,10 +1421,10 @@ BOOL torture_denytest1(int dummy)
        printf("starting denytest1\n");
 
        for (i=0;i<2;i++) {
-               cli_unlink(cli1, fnames[i]);
-               fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
-               cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
-               cli_close(cli1, fnum1);
+               cli_unlink(&cli1, fnames[i]);
+               fnum1 = cli_open(&cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
+               cli_write(&cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
+               cli_close(&cli1, fnum1);
        }
 
        printf("testing %d entries\n", ARRAY_SIZE(denytable1));
@@ -1435,10 +1435,10 @@ BOOL torture_denytest1(int dummy)
 
                progress_bar(i, ARRAY_SIZE(denytable1));
 
-               fnum1 = cli_open(cli1, fname, 
+               fnum1 = cli_open(&cli1, fname, 
                                 denytable1[i].mode1,
                                 denytable1[i].deny1);
-               fnum2 = cli_open(cli1, fname, 
+               fnum2 = cli_open(&cli1, fname, 
                                 denytable1[i].mode2,
                                 denytable1[i].deny2);
 
@@ -1449,10 +1449,10 @@ BOOL torture_denytest1(int dummy)
                } else {
                        char x = 1;
                        res = A_0;
-                       if (cli_read(cli1, fnum2, (void *)&x, 0, 1) == 1) {
+                       if (cli_read(&cli1, fnum2, (void *)&x, 0, 1) == 1) {
                                res += A_R;
                        }
-                       if (cli_write(cli1, fnum2, 0, (void *)&x, 0, 1) == 1) {
+                       if (cli_write(&cli1, fnum2, 0, (void *)&x, 0, 1) == 1) {
                                res += A_W;
                        }
                }
@@ -1472,15 +1472,15 @@ BOOL torture_denytest1(int dummy)
                               resultstr(denytable1[i].result));
                }
 
-               cli_close(cli1, fnum1);
-               cli_close(cli1, fnum2);
+               cli_close(&cli1, fnum1);
+               cli_close(&cli1, fnum2);
        }
 
        for (i=0;i<2;i++) {
-               cli_unlink(cli1, fnames[i]);
+               cli_unlink(&cli1, fnames[i]);
        }
                
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
        
@@ -1494,7 +1494,7 @@ BOOL torture_denytest1(int dummy)
  */
 BOOL torture_denytest2(int dummy)
 {
-       static struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        int fnum1, fnum2;
        int i;
        BOOL correct = True;
@@ -1507,10 +1507,10 @@ BOOL torture_denytest2(int dummy)
        printf("starting denytest2\n");
 
        for (i=0;i<2;i++) {
-               cli_unlink(cli1, fnames[i]);
-               fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
-               cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
-               cli_close(cli1, fnum1);
+               cli_unlink(&cli1, fnames[i]);
+               fnum1 = cli_open(&cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
+               cli_write(&cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
+               cli_close(&cli1, fnum1);
        }
 
        for (i=0; i<ARRAY_SIZE(denytable2); i++) {
@@ -1519,10 +1519,10 @@ BOOL torture_denytest2(int dummy)
 
                progress_bar(i, ARRAY_SIZE(denytable1));
 
-               fnum1 = cli_open(cli1, fname, 
+               fnum1 = cli_open(&cli1, fname, 
                                 denytable2[i].mode1,
                                 denytable2[i].deny1);
-               fnum2 = cli_open(cli2, fname, 
+               fnum2 = cli_open(&cli2, fname, 
                                 denytable2[i].mode2,
                                 denytable2[i].deny2);
 
@@ -1533,10 +1533,10 @@ BOOL torture_denytest2(int dummy)
                } else {
                        char x = 1;
                        res = A_0;
-                       if (cli_read(cli2, fnum2, (void *)&x, 0, 1) == 1) {
+                       if (cli_read(&cli2, fnum2, (void *)&x, 0, 1) == 1) {
                                res += A_R;
                        }
-                       if (cli_write(cli2, fnum2, 0, (void *)&x, 0, 1) == 1) {
+                       if (cli_write(&cli2, fnum2, 0, (void *)&x, 0, 1) == 1) {
                                res += A_W;
                        }
                }
@@ -1556,18 +1556,18 @@ BOOL torture_denytest2(int dummy)
                               resultstr(denytable2[i].result));
                }
 
-               cli_close(cli1, fnum1);
-               cli_close(cli2, fnum2);
+               cli_close(&cli1, fnum1);
+               cli_close(&cli2, fnum2);
        }
                
        for (i=0;i<2;i++) {
-               cli_unlink(cli1, fnames[i]);
+               cli_unlink(&cli1, fnames[i]);
        }
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                correct = False;
        }
        
index d1475eb64e96c3dc2f91b3c3466aa6d8115b1b80..6d127a918ebc377a89ce36e640f3d5cbfb3c9bd3 100644 (file)
@@ -135,7 +135,7 @@ static void gen_name(char *name)
 
        /* and a medium probability of a common lead string */
        if (random() % 10 == 0) {
-               strncpy(p, "ABCDE", 6);
+               strncpy(p, "ABCDE", 5);
        }
 
        /* and a high probability of a good extension length */
@@ -151,7 +151,7 @@ static void gen_name(char *name)
 BOOL torture_mangle(int dummy)
 {
        extern int torture_numops;
-       static struct cli_state *cli;
+       static struct cli_state cli;
        int i;
 
        printf("starting mangle test\n");
@@ -167,10 +167,10 @@ BOOL torture_mangle(int dummy)
                return False;
        }
 
-       cli_unlink(cli, "\\mangle_test\\*");
-       cli_rmdir(cli, "\\mangle_test");
+       cli_unlink(&cli, "\\mangle_test\\*");
+       cli_rmdir(&cli, "\\mangle_test");
 
-       if (!cli_mkdir(cli, "\\mangle_test")) {
+       if (!cli_mkdir(&cli, "\\mangle_test")) {
                printf("ERROR: Failed to make directory\n");
                return False;
        }
@@ -180,7 +180,7 @@ BOOL torture_mangle(int dummy)
 
                gen_name(name);
 
-               if (!test_one(cli, name)) {
+               if (!test_one(&cli, name)) {
                        break;
                }
                if (total && total % 100 == 0) {
@@ -189,8 +189,8 @@ BOOL torture_mangle(int dummy)
                }
        }
 
-       cli_unlink(cli, "\\mangle_test\\*");
-       if (!cli_rmdir(cli, "\\mangle_test")) {
+       cli_unlink(&cli, "\\mangle_test\\*");
+       if (!cli_rmdir(&cli, "\\mangle_test")) {
                printf("ERROR: Failed to remove directory\n");
                return False;
        }
@@ -198,7 +198,7 @@ BOOL torture_mangle(int dummy)
        printf("\nTotal collisions %u/%u  - %.2f%%   (%u failures)\n",
               collisions, total, (100.0*collisions) / total, failures);
 
-       torture_close_connection(cli);
+       torture_close_connection(&cli);
 
        printf("mangle test finished\n");
        return (failures == 0);
index 06dead3f16f26a70e2e3a745ff88a2621e74e54f..7d751fb789ae5f537f59d2335be6b371b5060615 100644 (file)
@@ -33,7 +33,6 @@ static const char *filechars = "abcdefghijklm.";
 static int verbose;
 static int die_on_error;
 static int NumLoops = 0;
-static int ignore_dot_errors = 0;
 
 /* a test fn for LANMAN mask support */
 int ms_fnmatch_lanman_core(const char *pattern, const char *string)
@@ -325,9 +324,7 @@ static void testpair(struct cli_state *cli, char *mask, char *file)
 
        res2 = reg_test(cli, mask, long_name, short_name);
 
-       if (showall || 
-           ((strcmp(res1, res2) && !ignore_dot_errors) ||
-            (strcmp(res1+2, res2+2) && ignore_dot_errors))) {
+       if (showall || strcmp(res1, res2)) {
                DEBUG(0,("%s %s %d mask=[%s] file=[%s] rfile=[%s/%s]\n",
                         res1, res2, count, mask, file, long_name, short_name));
                if (die_on_error) exit(1);
@@ -412,7 +409,6 @@ static void usage(void)
        -v                             verbose mode\n\
        -E                             die on error\n\
         -a                             show all tests\n\
-        -i                             ignore . and .. errors\n\
 \n\
   This program tests wildcard matching between two servers. It generates\n\
   random pairs of filenames/masks and tests that they match in the same\n\
@@ -465,7 +461,7 @@ static void usage(void)
 
        seed = time(NULL);
 
-       while ((opt = getopt(argc, argv, "n:d:U:s:hm:f:aoW:M:vEi")) != EOF) {
+       while ((opt = getopt(argc, argv, "n:d:U:s:hm:f:aoW:M:vE")) != EOF) {
                switch (opt) {
                case 'n':
                        NumLoops = atoi(optarg);
@@ -476,9 +472,6 @@ static void usage(void)
                case 'E':
                        die_on_error = 1;
                        break;
-               case 'i':
-                       ignore_dot_errors = 1;
-                       break;
                case 'v':
                        verbose++;
                        break;
diff --git a/source3/torture/samtest.c b/source3/torture/samtest.c
deleted file mode 100644 (file)
index fd5f75a..0000000
+++ /dev/null
@@ -1,445 +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, const 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 = NULL;
-       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
-               {"command",     'e', POPT_ARG_STRING,   &cmdstr, 'e', "Execute semicolon seperated cmds"},
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
-       };
-
-       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 && 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;
-}
diff --git a/source3/torture/t_strcmp.c b/source3/torture/t_strcmp.c
deleted file mode 100644 (file)
index 1d26ad2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2003 by Martin Pool
- *
- * Test harness for StrCaseCmp
- */
-
-#include "includes.h"
-
-int main(int argc, char *argv[])
-{
-       int i, ret;
-       
-       if (argc != 3) {
-               fprintf(stderr, "usage: %s STRING1 STRING2\n"
-                       "Compares two strings, prints the results of StrCaseCmp\n",
-                       argv[0]);
-               return 2;
-       }
-
-       for (i = 0; i < 10000; i++)
-               ret = StrCaseCmp(argv[1], argv[2]);
-
-       printf("%d\n", ret);
-       
-       return 0;
-}
index 5935c8c06e47dba61640879817302d900c0cb4f3..a4dfac849003043bdbdf9ad6b3c22d798e7a537e 100644 (file)
@@ -29,7 +29,7 @@ static int nprocs=1;
 static int port_to_use=0;
 int torture_numops=100;
 static int procnum; /* records process count number when forking */
-static struct cli_state *current_cli;
+static struct cli_state current_cli;
 static fstring randomfname;
 static BOOL use_oplocks;
 static BOOL use_level_II_oplocks;
@@ -105,14 +105,7 @@ static BOOL open_nbt_connection(struct cli_state *c)
 
         zero_ip(&ip);
 
-       if (!cli_initialise(c)) {
-               printf("Failed initialize cli_struct to connect with %s\n", host);
-               return False;
-       }
-
-       c->port = port_to_use;
-
-       if (!cli_connect(c, host, &ip)) {
+       if (!cli_initialise(c) || !cli_connect(c, host, &ip)) {
                printf("Failed to connect with %s\n", host);
                return False;
        }
@@ -124,49 +117,43 @@ static BOOL open_nbt_connection(struct cli_state *c)
        if (use_level_II_oplocks) c->use_level_II_oplocks = True;
 
        if (!cli_session_request(c, &calling, &called)) {
-               /*
-                * Well, that failed, try *SMBSERVER ... 
-                * However, we must reconnect as well ...
-                */
-               if (!cli_connect(c, host, &ip)) {
-                       printf("Failed to connect with %s\n", host);
-                       return False;
-               }
-
-               make_nmb_name(&called, "*SMBSERVER", 0x20);
-               if (!cli_session_request(c, &calling, &called)) {
-                       printf("%s rejected the session\n",host);
-                       printf("We tried with a called name of %s & %s\n",
-                               host, "*SMBSERVER");
-                       cli_shutdown(c);
-                       return False;
-               }
+               printf("%s rejected the session\n",host);
+               cli_shutdown(c);
+               return False;
        }
 
        return True;
 }
 
-BOOL torture_open_connection(struct cli_state **c)
+BOOL torture_open_connection(struct cli_state *c)
 {
-       BOOL retry;
-       int flags = 0;
-       NTSTATUS status;
+       ZERO_STRUCTP(c);
 
-       if (use_kerberos)
-               flags |= CLI_FULL_CONNECTION_USE_KERBEROS;
-       
-       status = cli_full_connection(c, myname,
-                                    host, NULL, port_to_use, 
-                                    share, "?????", 
-                                    username, workgroup, 
-                                    password, flags, &retry);
-       if (!NT_STATUS_IS_OK(status)) {
+       if (!open_nbt_connection(c)) {
+               return False;
+       }
+
+       if (!cli_negprot(c)) {
+               printf("%s rejected the negprot (%s)\n",host, cli_errstr(c));
+               cli_shutdown(c);
+               return False;
+       }
+
+       if (!cli_session_setup(c, username, 
+                              password, strlen(password),
+                              password, strlen(password),
+                              workgroup)) {
+               printf("%s rejected the sessionsetup (%s)\n", host, cli_errstr(c));
+               cli_shutdown(c);
                return False;
        }
 
-       if (use_oplocks) (*c)->use_oplocks = True;
-       if (use_level_II_oplocks) (*c)->use_level_II_oplocks = True;
-       (*c)->timeout = 120000; /* set a really long timeout (2 minutes) */
+       if (!cli_send_tconX(c, share, "?????",
+                           password, strlen(password)+1)) {
+               printf("%s refused tree connect (%s)\n", host, cli_errstr(c));
+               cli_shutdown(c);
+               return False;
+       }
 
        return True;
 }
@@ -324,16 +311,16 @@ static BOOL rw_torture(struct cli_state *c)
 
 static BOOL run_torture(int dummy)
 {
-       struct cli_state *cli;
+       struct cli_state cli;
         BOOL ret;
 
        cli = current_cli;
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
-       ret = rw_torture(cli);
+       ret = rw_torture(&cli);
        
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                ret = False;
        }
 
@@ -343,7 +330,7 @@ static BOOL run_torture(int dummy)
 static BOOL rw_torture3(struct cli_state *c, char *lockfname)
 {
        int fnum = -1;
-       unsigned int i = 0;
+       int i = 0;
        char buf[131072];
        char buf_rd[131072];
        unsigned count;
@@ -517,28 +504,28 @@ static BOOL rw_torture2(struct cli_state *c1, struct cli_state *c2)
 
 static BOOL run_readwritetest(int dummy)
 {
-       static struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        BOOL test1, test2;
 
        if (!torture_open_connection(&cli1) || !torture_open_connection(&cli2)) {
                return False;
        }
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting readwritetest\n");
 
-       test1 = rw_torture2(cli1, cli2);
+       test1 = rw_torture2(&cli1, &cli2);
        printf("Passed readwritetest v1: %s\n", BOOLSTR(test1));
 
-       test2 = rw_torture2(cli1, cli1);
+       test2 = rw_torture2(&cli1, &cli1);
        printf("Passed readwritetest v2: %s\n", BOOLSTR(test2));
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                test1 = False;
        }
 
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                test2 = False;
        }
 
@@ -547,7 +534,7 @@ static BOOL run_readwritetest(int dummy)
 
 static BOOL run_readwritemulti(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        BOOL test;
 
        cli = current_cli;
@@ -566,7 +553,7 @@ static BOOL run_readwritemulti(int dummy)
 
 static BOOL run_readwritelarge(int dummy)
 {
-       static struct cli_state *cli1;
+       static struct cli_state cli1;
        int fnum1;
        const char *lockfname = "\\large.dat";
        size_t fsize;
@@ -576,25 +563,25 @@ static BOOL run_readwritelarge(int dummy)
        if (!torture_open_connection(&cli1)) {
                return False;
        }
-       cli_sockopt(cli1, sockops);
+       cli_sockopt(&cli1, sockops);
        memset(buf,'\0',sizeof(buf));
        
-       cli1->max_xmit = 128*1024;
+       cli1.max_xmit = 128*1024;
        
        printf("starting readwritelarge\n");
  
-       cli_unlink(cli1, lockfname);
+       cli_unlink(&cli1, lockfname);
 
-       fnum1 = cli_open(cli1, lockfname, O_RDWR | O_CREAT | O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, lockfname, O_RDWR | O_CREAT | O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open read/write of %s failed (%s)\n", lockfname, cli_errstr(cli1));
+               printf("open read/write of %s failed (%s)\n", lockfname, cli_errstr(&cli1));
                return False;
        }
    
-       cli_write(cli1, fnum1, 0, buf, 0, sizeof(buf));
+       cli_write(&cli1, fnum1, 0, buf, 0, sizeof(buf));
 
-       if (!cli_qfileinfo(cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
-               printf("qfileinfo failed (%s)\n", cli_errstr(cli1));
+       if (!cli_qfileinfo(&cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
+               printf("qfileinfo failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
@@ -605,28 +592,28 @@ static BOOL run_readwritelarge(int dummy)
                correct = False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       if (!cli_unlink(cli1, lockfname)) {
-               printf("unlink failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, lockfname)) {
+               printf("unlink failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       fnum1 = cli_open(cli1, lockfname, O_RDWR | O_CREAT | O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, lockfname, O_RDWR | O_CREAT | O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open read/write of %s failed (%s)\n", lockfname, cli_errstr(cli1));
+               printf("open read/write of %s failed (%s)\n", lockfname, cli_errstr(&cli1));
                return False;
        }
        
-       cli1->max_xmit = 4*1024;
+       cli1.max_xmit = 4*1024;
        
-       cli_smbwrite(cli1, fnum1, buf, 0, sizeof(buf));
+       cli_smbwrite(&cli1, fnum1, buf, 0, sizeof(buf));
        
-       if (!cli_qfileinfo(cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
-               printf("qfileinfo failed (%s)\n", cli_errstr(cli1));
+       if (!cli_qfileinfo(&cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
+               printf("qfileinfo failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
@@ -639,28 +626,28 @@ static BOOL run_readwritelarge(int dummy)
 
 #if 0
        /* ToDo - set allocation. JRA */
-       if(!cli_set_allocation_size(cli1, fnum1, 0)) {
+       if(!cli_set_allocation_size(&cli1, fnum1, 0)) {
                printf("set allocation size to zero failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
-       if (!cli_qfileinfo(cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
-               printf("qfileinfo failed (%s)\n", cli_errstr(cli1));
+       if (!cli_qfileinfo(&cli1, fnum1, NULL, &fsize, NULL, NULL, NULL, NULL, NULL)) {
+               printf("qfileinfo failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
        if (fsize != 0)
                printf("readwritelarge test 3 (truncate test) succeeded (size = %x)\n", fsize);
 #endif
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
        
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
        return correct;
-}
+       }
 
 int line_count = 0;
 int nbio_id;
@@ -670,7 +657,7 @@ int nbio_id;
 /* run a test that simulates an approximate netbench client load */
 static BOOL run_netbench(int client)
 {
-       struct cli_state *cli;
+       struct cli_state cli;
        int i;
        fstring fname;
        pstring line;
@@ -683,9 +670,9 @@ static BOOL run_netbench(int client)
 
        nbio_id = client;
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
-       nb_setup(cli);
+       nb_setup(&cli);
 
        slprintf(cname,sizeof(fname), "client%d", client);
 
@@ -757,7 +744,7 @@ static BOOL run_netbench(int client)
 
        nb_cleanup();
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
        
@@ -795,7 +782,7 @@ static BOOL run_nbench(int dummy)
  */
 static BOOL run_locktest1(int dummy)
 {
-       struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        const char *fname = "\\lockt1.lck";
        int fnum1, fnum2, fnum3;
        time_t t1, t2;
@@ -804,40 +791,40 @@ static BOOL run_locktest1(int dummy)
        if (!torture_open_connection(&cli1) || !torture_open_connection(&cli2)) {
                return False;
        }
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting locktest1\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       fnum2 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
+       fnum2 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
        if (fnum2 == -1) {
-               printf("open2 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       fnum3 = cli_open(cli2, fname, O_RDWR, DENY_NONE);
+       fnum3 = cli_open(&cli2, fname, O_RDWR, DENY_NONE);
        if (fnum3 == -1) {
-               printf("open3 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("open3 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_lock(cli1, fnum1, 0, 4, 0, WRITE_LOCK)) {
-               printf("lock1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_lock(&cli1, fnum1, 0, 4, 0, WRITE_LOCK)) {
+               printf("lock1 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
 
-       if (cli_lock(cli2, fnum3, 0, 4, 0, WRITE_LOCK)) {
+       if (cli_lock(&cli2, fnum3, 0, 4, 0, WRITE_LOCK)) {
                printf("lock2 succeeded! This is a locking bug\n");
                return False;
        } else {
-               if (!check_error(__LINE__, cli2, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli2, ERRDOS, ERRlock, 
                                 NT_STATUS_LOCK_NOT_GRANTED)) return False;
        }
 
@@ -845,11 +832,11 @@ static BOOL run_locktest1(int dummy)
        lock_timeout = (1 + (random() % 20));
        printf("Testing lock timeout with timeout=%u\n", lock_timeout);
        t1 = time(NULL);
-       if (cli_lock(cli2, fnum3, 0, 4, lock_timeout * 1000, WRITE_LOCK)) {
+       if (cli_lock(&cli2, fnum3, 0, 4, lock_timeout * 1000, WRITE_LOCK)) {
                printf("lock3 succeeded! This is a locking bug\n");
                return False;
        } else {
-               if (!check_error(__LINE__, cli2, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli2, ERRDOS, ERRlock, 
                                 NT_STATUS_FILE_LOCK_CONFLICT)) return False;
        }
        t2 = time(NULL);
@@ -860,40 +847,40 @@ static BOOL run_locktest1(int dummy)
        printf("server slept for %u seconds for a %u second timeout\n",
               (unsigned int)(t2-t1), lock_timeout);
 
-       if (!cli_close(cli1, fnum2)) {
-               printf("close1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum2)) {
+               printf("close1 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (cli_lock(cli2, fnum3, 0, 4, 0, WRITE_LOCK)) {
+       if (cli_lock(&cli2, fnum3, 0, 4, 0, WRITE_LOCK)) {
                printf("lock4 succeeded! This is a locking bug\n");
                return False;
        } else {
-               if (!check_error(__LINE__, cli2, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli2, ERRDOS, ERRlock, 
                                 NT_STATUS_FILE_LOCK_CONFLICT)) return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_close(cli2, fnum3)) {
-               printf("close3 failed (%s)\n", cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum3)) {
+               printf("close3 failed (%s)\n", cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_unlink(cli1, fname)) {
-               printf("unlink failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, fname)) {
+               printf("unlink failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                return False;
        }
 
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                return False;
        }
 
@@ -902,144 +889,76 @@ static BOOL run_locktest1(int dummy)
 }
 
 /*
-  this checks to see if a secondary tconx can use open files from an
-  earlier tconx
+ checks for correct tconX support
  */
 static BOOL run_tcon_test(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli1;
        const char *fname = "\\tcontest.tmp";
        int fnum1;
-       uint16 cnum1, cnum2, cnum3;
-       uint16 vuid1, vuid2;
+       uint16 cnum;
        char buf[4];
-       BOOL ret = True;
 
-       if (!torture_open_connection(&cli)) {
+       if (!torture_open_connection(&cli1)) {
                return False;
        }
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli1, sockops);
 
        printf("starting tcontest\n");
 
-       cli_unlink(cli, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-       if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli));
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       if (fnum1 == -1)
+       {
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       cnum1 = cli->cnum;
-       vuid1 = cli->vuid;
+       cnum = cli1.cnum;
 
-       if (cli_write(cli, fnum1, 0, buf, 130, 4) != 4) {
-               printf("initial write failed (%s)", cli_errstr(cli));
+       if (cli_write(&cli1, fnum1, 0, buf, 130, 4) != 4)
+       {
+               printf("write failed (%s)", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_send_tconX(cli, share, "?????",
+       if (!cli_send_tconX(&cli1, share, "?????",
                            password, strlen(password)+1)) {
                printf("%s refused 2nd tree connect (%s)\n", host,
-                          cli_errstr(cli));
-               cli_shutdown(cli);
+                          cli_errstr(&cli1));
+               cli_shutdown(&cli1);
                return False;
        }
 
-       cnum2 = cli->cnum;
-       cnum3 = MAX(cnum1, cnum2) + 1; /* any invalid number */
-       vuid2 = cli->vuid + 1;
-
-       /* try a write with the wrong tid */
-       cli->cnum = cnum2;
-
-       if (cli_write(cli, fnum1, 0, buf, 130, 4) == 4) {
-               printf("* server allows write with wrong TID\n");
-               ret = False;
-       } else {
-               printf("server fails write with wrong TID : %s\n", cli_errstr(cli));
-       }
-
-
-       /* try a write with an invalid tid */
-       cli->cnum = cnum3;
-
-       if (cli_write(cli, fnum1, 0, buf, 130, 4) == 4) {
-               printf("* server allows write with invalid TID\n");
-               ret = False;
-       } else {
-               printf("server fails write with invalid TID : %s\n", cli_errstr(cli));
-       }
-
-       /* try a write with an invalid vuid */
-       cli->vuid = vuid2;
-       cli->cnum = cnum1;
-
-       if (cli_write(cli, fnum1, 0, buf, 130, 4) == 4) {
-               printf("* server allows write with invalid VUID\n");
-               ret = False;
-       } else {
-               printf("server fails write with invalid VUID : %s\n", cli_errstr(cli));
-       }
-
-       cli->cnum = cnum1;
-       cli->vuid = vuid1;
-
-       if (!cli_close(cli, fnum1)) {
-               printf("close failed (%s)\n", cli_errstr(cli));
+       if (cli_write(&cli1, fnum1, 0, buf, 130, 4) == 4)
+       {
+               printf("write succeeded (%s)", cli_errstr(&cli1));
                return False;
        }
 
-       cli->cnum = cnum2;
-
-       if (!cli_tdis(cli)) {
-               printf("secondary tdis failed (%s)\n", cli_errstr(cli));
+       if (cli_close(&cli1, fnum1)) {
+               printf("close2 succeeded (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       cli->cnum = cnum1;
-
-       if (!torture_close_connection(cli)) {
+       if (!cli_tdis(&cli1)) {
+               printf("tdis failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       return ret;
-}
-
-
-/*
- checks for old style tcon support
- */
-static BOOL run_tcon2_test(int dummy)
-{
-       static struct cli_state *cli;
-       uint16 cnum, max_xmit;
-       char *service;
-       NTSTATUS status;
+       cli1.cnum = cnum;
 
-       if (!torture_open_connection(&cli)) {
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
-       cli_sockopt(cli, sockops);
-
-       printf("starting tcon2 test\n");
-
-       asprintf(&service, "\\\\%s\\%s", host, share);
-
-       status = cli_raw_tcon(cli, service, password, "?????", &max_xmit, &cnum);
-
-       if (!NT_STATUS_IS_OK(status)) {
-               printf("tcon2 failed : %s\n", cli_errstr(cli));
-       } else {
-               printf("tcon OK : max_xmit=%d cnum=%d tid=%d\n", 
-                      (int)max_xmit, (int)cnum, SVAL(cli->inbuf, smb_tid));
-       }
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli1)) {
                return False;
        }
 
-       printf("Passed tcontest\n");
+       printf("Passed tcontest\n");
        return True;
 }
 
@@ -1156,7 +1075,7 @@ static BOOL run_tcon_devtype_test(int dummy)
 */
 static BOOL run_locktest2(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli;
        const char *fname = "\\lockt2.lck";
        int fnum1, fnum2, fnum3;
        BOOL correct = True;
@@ -1165,117 +1084,117 @@ static BOOL run_locktest2(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
        printf("starting locktest2\n");
 
-       cli_unlink(cli, fname);
+       cli_unlink(&cli, fname);
 
-       cli_setpid(cli, 1);
+       cli_setpid(&cli, 1);
 
-       fnum1 = cli_open(cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli));
                return False;
        }
 
-       fnum2 = cli_open(cli, fname, O_RDWR, DENY_NONE);
+       fnum2 = cli_open(&cli, fname, O_RDWR, DENY_NONE);
        if (fnum2 == -1) {
-               printf("open2 of %s failed (%s)\n", fname, cli_errstr(cli));
+               printf("open2 of %s failed (%s)\n", fname, cli_errstr(&cli));
                return False;
        }
 
-       cli_setpid(cli, 2);
+       cli_setpid(&cli, 2);
 
-       fnum3 = cli_open(cli, fname, O_RDWR, DENY_NONE);
+       fnum3 = cli_open(&cli, fname, O_RDWR, DENY_NONE);
        if (fnum3 == -1) {
-               printf("open3 of %s failed (%s)\n", fname, cli_errstr(cli));
+               printf("open3 of %s failed (%s)\n", fname, cli_errstr(&cli));
                return False;
        }
 
-       cli_setpid(cli, 1);
+       cli_setpid(&cli, 1);
 
-       if (!cli_lock(cli, fnum1, 0, 4, 0, WRITE_LOCK)) {
-               printf("lock1 failed (%s)\n", cli_errstr(cli));
+       if (!cli_lock(&cli, fnum1, 0, 4, 0, WRITE_LOCK)) {
+               printf("lock1 failed (%s)\n", cli_errstr(&cli));
                return False;
        }
 
-       if (cli_lock(cli, fnum1, 0, 4, 0, WRITE_LOCK)) {
+       if (cli_lock(&cli, fnum1, 0, 4, 0, WRITE_LOCK)) {
                printf("WRITE lock1 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli, ERRDOS, ERRlock, 
                                 NT_STATUS_LOCK_NOT_GRANTED)) return False;
        }
 
-       if (cli_lock(cli, fnum2, 0, 4, 0, WRITE_LOCK)) {
+       if (cli_lock(&cli, fnum2, 0, 4, 0, WRITE_LOCK)) {
                printf("WRITE lock2 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli, ERRDOS, ERRlock, 
                                 NT_STATUS_LOCK_NOT_GRANTED)) return False;
        }
 
-       if (cli_lock(cli, fnum2, 0, 4, 0, READ_LOCK)) {
+       if (cli_lock(&cli, fnum2, 0, 4, 0, READ_LOCK)) {
                printf("READ lock2 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, ERRDOS, ERRlock, 
+               if (!check_error(__LINE__, &cli, ERRDOS, ERRlock, 
                                 NT_STATUS_FILE_LOCK_CONFLICT)) return False;
        }
 
-       if (!cli_lock(cli, fnum1, 100, 4, 0, WRITE_LOCK)) {
-               printf("lock at 100 failed (%s)\n", cli_errstr(cli));
+       if (!cli_lock(&cli, fnum1, 100, 4, 0, WRITE_LOCK)) {
+               printf("lock at 100 failed (%s)\n", cli_errstr(&cli));
        }
-       cli_setpid(cli, 2);
-       if (cli_unlock(cli, fnum1, 100, 4)) {
+       cli_setpid(&cli, 2);
+       if (cli_unlock(&cli, fnum1, 100, 4)) {
                printf("unlock at 100 succeeded! This is a locking bug\n");
                correct = False;
        }
 
-       if (cli_unlock(cli, fnum1, 0, 4)) {
+       if (cli_unlock(&cli, fnum1, 0, 4)) {
                printf("unlock1 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, 
+               if (!check_error(__LINE__, &cli, 
                                 ERRDOS, ERRlock, 
                                 NT_STATUS_RANGE_NOT_LOCKED)) return False;
        }
 
-       if (cli_unlock(cli, fnum1, 0, 8)) {
+       if (cli_unlock(&cli, fnum1, 0, 8)) {
                printf("unlock2 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, 
+               if (!check_error(__LINE__, &cli, 
                                 ERRDOS, ERRlock, 
                                 NT_STATUS_RANGE_NOT_LOCKED)) return False;
        }
 
-       if (cli_lock(cli, fnum3, 0, 4, 0, WRITE_LOCK)) {
+       if (cli_lock(&cli, fnum3, 0, 4, 0, WRITE_LOCK)) {
                printf("lock3 succeeded! This is a locking bug\n");
                correct = False;
        } else {
-               if (!check_error(__LINE__, cli, ERRDOS, ERRlock, NT_STATUS_LOCK_NOT_GRANTED)) return False;
+               if (!check_error(__LINE__, &cli, ERRDOS, ERRlock, NT_STATUS_LOCK_NOT_GRANTED)) return False;
        }
 
-       cli_setpid(cli, 1);
+       cli_setpid(&cli, 1);
 
-       if (!cli_close(cli, fnum1)) {
-               printf("close1 failed (%s)\n", cli_errstr(cli));
+       if (!cli_close(&cli, fnum1)) {
+               printf("close1 failed (%s)\n", cli_errstr(&cli));
                return False;
        }
 
-       if (!cli_close(cli, fnum2)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli));
+       if (!cli_close(&cli, fnum2)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli));
                return False;
        }
 
-       if (!cli_close(cli, fnum3)) {
-               printf("close3 failed (%s)\n", cli_errstr(cli));
+       if (!cli_close(&cli, fnum3)) {
+               printf("close3 failed (%s)\n", cli_errstr(&cli));
                return False;
        }
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -1292,7 +1211,7 @@ static BOOL run_locktest2(int dummy)
 */
 static BOOL run_locktest3(int dummy)
 {
-       static struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        const char *fname = "\\lockt3.lck";
        int fnum1, fnum2, i;
        uint32 offset;
@@ -1303,37 +1222,37 @@ static BOOL run_locktest3(int dummy)
        if (!torture_open_connection(&cli1) || !torture_open_connection(&cli2)) {
                return False;
        }
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting locktest3\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       fnum2 = cli_open(cli2, fname, O_RDWR, DENY_NONE);
+       fnum2 = cli_open(&cli2, fname, O_RDWR, DENY_NONE);
        if (fnum2 == -1) {
-               printf("open2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("open2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
        for (offset=i=0;i<torture_numops;i++) {
                NEXT_OFFSET;
-               if (!cli_lock(cli1, fnum1, offset-1, 1, 0, WRITE_LOCK)) {
+               if (!cli_lock(&cli1, fnum1, offset-1, 1, 0, WRITE_LOCK)) {
                        printf("lock1 %d failed (%s)\n", 
                               i,
-                              cli_errstr(cli1));
+                              cli_errstr(&cli1));
                        return False;
                }
 
-               if (!cli_lock(cli2, fnum2, offset-2, 1, 0, WRITE_LOCK)) {
+               if (!cli_lock(&cli2, fnum2, offset-2, 1, 0, WRITE_LOCK)) {
                        printf("lock2 %d failed (%s)\n", 
                               i,
-                              cli_errstr(cli1));
+                              cli_errstr(&cli1));
                        return False;
                }
        }
@@ -1341,22 +1260,22 @@ static BOOL run_locktest3(int dummy)
        for (offset=i=0;i<torture_numops;i++) {
                NEXT_OFFSET;
 
-               if (cli_lock(cli1, fnum1, offset-2, 1, 0, WRITE_LOCK)) {
+               if (cli_lock(&cli1, fnum1, offset-2, 1, 0, WRITE_LOCK)) {
                        printf("error: lock1 %d succeeded!\n", i);
                        return False;
                }
 
-               if (cli_lock(cli2, fnum2, offset-1, 1, 0, WRITE_LOCK)) {
+               if (cli_lock(&cli2, fnum2, offset-1, 1, 0, WRITE_LOCK)) {
                        printf("error: lock2 %d succeeded!\n", i);
                        return False;
                }
 
-               if (cli_lock(cli1, fnum1, offset-1, 1, 0, WRITE_LOCK)) {
+               if (cli_lock(&cli1, fnum1, offset-1, 1, 0, WRITE_LOCK)) {
                        printf("error: lock3 %d succeeded!\n", i);
                        return False;
                }
 
-               if (cli_lock(cli2, fnum2, offset-2, 1, 0, WRITE_LOCK)) {
+               if (cli_lock(&cli2, fnum2, offset-2, 1, 0, WRITE_LOCK)) {
                        printf("error: lock4 %d succeeded!\n", i);
                        return False;
                }
@@ -1365,41 +1284,41 @@ static BOOL run_locktest3(int dummy)
        for (offset=i=0;i<torture_numops;i++) {
                NEXT_OFFSET;
 
-               if (!cli_unlock(cli1, fnum1, offset-1, 1)) {
+               if (!cli_unlock(&cli1, fnum1, offset-1, 1)) {
                        printf("unlock1 %d failed (%s)\n", 
                               i,
-                              cli_errstr(cli1));
+                              cli_errstr(&cli1));
                        return False;
                }
 
-               if (!cli_unlock(cli2, fnum2, offset-2, 1)) {
+               if (!cli_unlock(&cli2, fnum2, offset-2, 1)) {
                        printf("unlock2 %d failed (%s)\n", 
                               i,
-                              cli_errstr(cli1));
+                              cli_errstr(&cli1));
                        return False;
                }
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close1 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_close(cli2, fnum2)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_unlink(cli1, fname)) {
-               printf("unlink failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, fname)) {
+               printf("unlink failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
        
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                correct = False;
        }
 
@@ -1417,7 +1336,7 @@ static BOOL run_locktest3(int dummy)
 */
 static BOOL run_locktest4(int dummy)
 {
-       static struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        const char *fname = "\\lockt4.lck";
        int fnum1, fnum2, f;
        BOOL ret;
@@ -1428,156 +1347,156 @@ static BOOL run_locktest4(int dummy)
                return False;
        }
 
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting locktest4\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-       fnum2 = cli_open(cli2, fname, O_RDWR, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum2 = cli_open(&cli2, fname, O_RDWR, DENY_NONE);
 
        memset(buf, 0, sizeof(buf));
 
-       if (cli_write(cli1, fnum1, 0, buf, 0, sizeof(buf)) != sizeof(buf)) {
+       if (cli_write(&cli1, fnum1, 0, buf, 0, sizeof(buf)) != sizeof(buf)) {
                printf("Failed to create file\n");
                correct = False;
                goto fail;
        }
 
-       ret = cli_lock(cli1, fnum1, 0, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 2, 4, 0, WRITE_LOCK);
+       ret = cli_lock(&cli1, fnum1, 0, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 2, 4, 0, WRITE_LOCK);
        EXPECTED(ret, False);
        printf("the same process %s set overlapping write locks\n", ret?"can":"cannot");
            
-       ret = cli_lock(cli1, fnum1, 10, 4, 0, READ_LOCK) &&
-             cli_lock(cli1, fnum1, 12, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 10, 4, 0, READ_LOCK) &&
+             cli_lock(&cli1, fnum1, 12, 4, 0, READ_LOCK);
        EXPECTED(ret, True);
        printf("the same process %s set overlapping read locks\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 20, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli2, fnum2, 22, 4, 0, WRITE_LOCK);
+       ret = cli_lock(&cli1, fnum1, 20, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli2, fnum2, 22, 4, 0, WRITE_LOCK);
        EXPECTED(ret, False);
        printf("a different connection %s set overlapping write locks\n", ret?"can":"cannot");
            
-       ret = cli_lock(cli1, fnum1, 30, 4, 0, READ_LOCK) &&
-             cli_lock(cli2, fnum2, 32, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 30, 4, 0, READ_LOCK) &&
+             cli_lock(&cli2, fnum2, 32, 4, 0, READ_LOCK);
        EXPECTED(ret, True);
        printf("a different connection %s set overlapping read locks\n", ret?"can":"cannot");
        
-       ret = (cli_setpid(cli1, 1), cli_lock(cli1, fnum1, 40, 4, 0, WRITE_LOCK)) &&
-             (cli_setpid(cli1, 2), cli_lock(cli1, fnum1, 42, 4, 0, WRITE_LOCK));
+       ret = (cli_setpid(&cli1, 1), cli_lock(&cli1, fnum1, 40, 4, 0, WRITE_LOCK)) &&
+             (cli_setpid(&cli1, 2), cli_lock(&cli1, fnum1, 42, 4, 0, WRITE_LOCK));
        EXPECTED(ret, False);
        printf("a different pid %s set overlapping write locks\n", ret?"can":"cannot");
            
-       ret = (cli_setpid(cli1, 1), cli_lock(cli1, fnum1, 50, 4, 0, READ_LOCK)) &&
-             (cli_setpid(cli1, 2), cli_lock(cli1, fnum1, 52, 4, 0, READ_LOCK));
+       ret = (cli_setpid(&cli1, 1), cli_lock(&cli1, fnum1, 50, 4, 0, READ_LOCK)) &&
+             (cli_setpid(&cli1, 2), cli_lock(&cli1, fnum1, 52, 4, 0, READ_LOCK));
        EXPECTED(ret, True);
        printf("a different pid %s set overlapping read locks\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 60, 4, 0, READ_LOCK) &&
-             cli_lock(cli1, fnum1, 60, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 60, 4, 0, READ_LOCK) &&
+             cli_lock(&cli1, fnum1, 60, 4, 0, READ_LOCK);
        EXPECTED(ret, True);
        printf("the same process %s set the same read lock twice\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 70, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 70, 4, 0, WRITE_LOCK);
+       ret = cli_lock(&cli1, fnum1, 70, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 70, 4, 0, WRITE_LOCK);
        EXPECTED(ret, False);
        printf("the same process %s set the same write lock twice\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 80, 4, 0, READ_LOCK) &&
-             cli_lock(cli1, fnum1, 80, 4, 0, WRITE_LOCK);
+       ret = cli_lock(&cli1, fnum1, 80, 4, 0, READ_LOCK) &&
+             cli_lock(&cli1, fnum1, 80, 4, 0, WRITE_LOCK);
        EXPECTED(ret, False);
        printf("the same process %s overlay a read lock with a write lock\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 90, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 90, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 90, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 90, 4, 0, READ_LOCK);
        EXPECTED(ret, True);
        printf("the same process %s overlay a write lock with a read lock\n", ret?"can":"cannot");
 
-       ret = (cli_setpid(cli1, 1), cli_lock(cli1, fnum1, 100, 4, 0, WRITE_LOCK)) &&
-             (cli_setpid(cli1, 2), cli_lock(cli1, fnum1, 100, 4, 0, READ_LOCK));
+       ret = (cli_setpid(&cli1, 1), cli_lock(&cli1, fnum1, 100, 4, 0, WRITE_LOCK)) &&
+             (cli_setpid(&cli1, 2), cli_lock(&cli1, fnum1, 100, 4, 0, READ_LOCK));
        EXPECTED(ret, False);
        printf("a different pid %s overlay a write lock with a read lock\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 110, 4, 0, READ_LOCK) &&
-             cli_lock(cli1, fnum1, 112, 4, 0, READ_LOCK) &&
-             cli_unlock(cli1, fnum1, 110, 6);
+       ret = cli_lock(&cli1, fnum1, 110, 4, 0, READ_LOCK) &&
+             cli_lock(&cli1, fnum1, 112, 4, 0, READ_LOCK) &&
+             cli_unlock(&cli1, fnum1, 110, 6);
        EXPECTED(ret, False);
        printf("the same process %s coalesce read locks\n", ret?"can":"cannot");
 
 
-       ret = cli_lock(cli1, fnum1, 120, 4, 0, WRITE_LOCK) &&
-             (cli_read(cli2, fnum2, buf, 120, 4) == 4);
+       ret = cli_lock(&cli1, fnum1, 120, 4, 0, WRITE_LOCK) &&
+             (cli_read(&cli2, fnum2, buf, 120, 4) == 4);
        EXPECTED(ret, False);
        printf("this server %s strict write locking\n", ret?"doesn't do":"does");
 
-       ret = cli_lock(cli1, fnum1, 130, 4, 0, READ_LOCK) &&
-             (cli_write(cli2, fnum2, 0, buf, 130, 4) == 4);
+       ret = cli_lock(&cli1, fnum1, 130, 4, 0, READ_LOCK) &&
+             (cli_write(&cli2, fnum2, 0, buf, 130, 4) == 4);
        EXPECTED(ret, False);
        printf("this server %s strict read locking\n", ret?"doesn't do":"does");
 
 
-       ret = cli_lock(cli1, fnum1, 140, 4, 0, READ_LOCK) &&
-             cli_lock(cli1, fnum1, 140, 4, 0, READ_LOCK) &&
-             cli_unlock(cli1, fnum1, 140, 4) &&
-             cli_unlock(cli1, fnum1, 140, 4);
+       ret = cli_lock(&cli1, fnum1, 140, 4, 0, READ_LOCK) &&
+             cli_lock(&cli1, fnum1, 140, 4, 0, READ_LOCK) &&
+             cli_unlock(&cli1, fnum1, 140, 4) &&
+             cli_unlock(&cli1, fnum1, 140, 4);
        EXPECTED(ret, True);
        printf("this server %s do recursive read locking\n", ret?"does":"doesn't");
 
 
-       ret = cli_lock(cli1, fnum1, 150, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 150, 4, 0, READ_LOCK) &&
-             cli_unlock(cli1, fnum1, 150, 4) &&
-             (cli_read(cli2, fnum2, buf, 150, 4) == 4) &&
-             !(cli_write(cli2, fnum2, 0, buf, 150, 4) == 4) &&
-             cli_unlock(cli1, fnum1, 150, 4);
+       ret = cli_lock(&cli1, fnum1, 150, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 150, 4, 0, READ_LOCK) &&
+             cli_unlock(&cli1, fnum1, 150, 4) &&
+             (cli_read(&cli2, fnum2, buf, 150, 4) == 4) &&
+             !(cli_write(&cli2, fnum2, 0, buf, 150, 4) == 4) &&
+             cli_unlock(&cli1, fnum1, 150, 4);
        EXPECTED(ret, True);
        printf("this server %s do recursive lock overlays\n", ret?"does":"doesn't");
 
-       ret = cli_lock(cli1, fnum1, 160, 4, 0, READ_LOCK) &&
-             cli_unlock(cli1, fnum1, 160, 4) &&
-             (cli_write(cli2, fnum2, 0, buf, 160, 4) == 4) &&          
-             (cli_read(cli2, fnum2, buf, 160, 4) == 4);                
+       ret = cli_lock(&cli1, fnum1, 160, 4, 0, READ_LOCK) &&
+             cli_unlock(&cli1, fnum1, 160, 4) &&
+             (cli_write(&cli2, fnum2, 0, buf, 160, 4) == 4) &&         
+             (cli_read(&cli2, fnum2, buf, 160, 4) == 4);               
        EXPECTED(ret, True);
        printf("the same process %s remove a read lock using write locking\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 170, 4, 0, WRITE_LOCK) &&
-             cli_unlock(cli1, fnum1, 170, 4) &&
-             (cli_write(cli2, fnum2, 0, buf, 170, 4) == 4) &&          
-             (cli_read(cli2, fnum2, buf, 170, 4) == 4);                
+       ret = cli_lock(&cli1, fnum1, 170, 4, 0, WRITE_LOCK) &&
+             cli_unlock(&cli1, fnum1, 170, 4) &&
+             (cli_write(&cli2, fnum2, 0, buf, 170, 4) == 4) &&         
+             (cli_read(&cli2, fnum2, buf, 170, 4) == 4);               
        EXPECTED(ret, True);
        printf("the same process %s remove a write lock using read locking\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli1, fnum1, 190, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 190, 4, 0, READ_LOCK) &&
-             cli_unlock(cli1, fnum1, 190, 4) &&
-             !(cli_write(cli2, fnum2, 0, buf, 190, 4) == 4) &&         
-             (cli_read(cli2, fnum2, buf, 190, 4) == 4);                
+       ret = cli_lock(&cli1, fnum1, 190, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 190, 4, 0, READ_LOCK) &&
+             cli_unlock(&cli1, fnum1, 190, 4) &&
+             !(cli_write(&cli2, fnum2, 0, buf, 190, 4) == 4) &&                
+             (cli_read(&cli2, fnum2, buf, 190, 4) == 4);               
        EXPECTED(ret, True);
        printf("the same process %s remove the first lock first\n", ret?"does":"doesn't");
 
-       cli_close(cli1, fnum1);
-       cli_close(cli2, fnum2);
-       fnum1 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
-       f = cli_open(cli1, fname, O_RDWR, DENY_NONE);
-       ret = cli_lock(cli1, fnum1, 0, 8, 0, READ_LOCK) &&
-             cli_lock(cli1, f, 0, 1, 0, READ_LOCK) &&
-             cli_close(cli1, fnum1) &&
-             ((fnum1 = cli_open(cli1, fname, O_RDWR, DENY_NONE)) != -1) &&
-             cli_lock(cli1, fnum1, 7, 1, 0, WRITE_LOCK);
-        cli_close(cli1, f);
-       cli_close(cli1, fnum1);
+       cli_close(&cli1, fnum1);
+       cli_close(&cli2, fnum2);
+       fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
+       f = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
+       ret = cli_lock(&cli1, fnum1, 0, 8, 0, READ_LOCK) &&
+             cli_lock(&cli1, f, 0, 1, 0, READ_LOCK) &&
+             cli_close(&cli1, fnum1) &&
+             ((fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE)) != -1) &&
+             cli_lock(&cli1, fnum1, 7, 1, 0, WRITE_LOCK);
+        cli_close(&cli1, f);
+       cli_close(&cli1, fnum1);
        EXPECTED(ret, True);
        printf("the server %s have the NT byte range lock bug\n", !ret?"does":"doesn't");
 
  fail:
-       cli_close(cli1, fnum1);
-       cli_close(cli2, fnum2);
-       cli_unlink(cli1, fname);
-       torture_close_connection(cli1);
-       torture_close_connection(cli2);
+       cli_close(&cli1, fnum1);
+       cli_close(&cli2, fnum2);
+       cli_unlink(&cli1, fname);
+       torture_close_connection(&cli1);
+       torture_close_connection(&cli2);
 
        printf("finished locktest4\n");
        return correct;
@@ -1588,7 +1507,7 @@ static BOOL run_locktest4(int dummy)
 */
 static BOOL run_locktest5(int dummy)
 {
-       static struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        const char *fname = "\\lockt5.lck";
        int fnum1, fnum2, fnum3;
        BOOL ret;
@@ -1599,61 +1518,61 @@ static BOOL run_locktest5(int dummy)
                return False;
        }
 
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting locktest5\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-       fnum2 = cli_open(cli2, fname, O_RDWR, DENY_NONE);
-       fnum3 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum2 = cli_open(&cli2, fname, O_RDWR, DENY_NONE);
+       fnum3 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
 
        memset(buf, 0, sizeof(buf));
 
-       if (cli_write(cli1, fnum1, 0, buf, 0, sizeof(buf)) != sizeof(buf)) {
+       if (cli_write(&cli1, fnum1, 0, buf, 0, sizeof(buf)) != sizeof(buf)) {
                printf("Failed to create file\n");
                correct = False;
                goto fail;
        }
 
        /* Check for NT bug... */
-       ret = cli_lock(cli1, fnum1, 0, 8, 0, READ_LOCK) &&
-                 cli_lock(cli1, fnum3, 0, 1, 0, READ_LOCK);
-       cli_close(cli1, fnum1);
-       fnum1 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
-       ret = cli_lock(cli1, fnum1, 7, 1, 0, WRITE_LOCK);
+       ret = cli_lock(&cli1, fnum1, 0, 8, 0, READ_LOCK) &&
+                 cli_lock(&cli1, fnum3, 0, 1, 0, READ_LOCK);
+       cli_close(&cli1, fnum1);
+       fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
+       ret = cli_lock(&cli1, fnum1, 7, 1, 0, WRITE_LOCK);
        EXPECTED(ret, True);
        printf("this server %s the NT locking bug\n", ret ? "doesn't have" : "has");
-       cli_close(cli1, fnum1);
-       fnum1 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
-       cli_unlock(cli1, fnum3, 0, 1);
+       cli_close(&cli1, fnum1);
+       fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
+       cli_unlock(&cli1, fnum3, 0, 1);
 
-       ret = cli_lock(cli1, fnum1, 0, 4, 0, WRITE_LOCK) &&
-             cli_lock(cli1, fnum1, 1, 1, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 0, 4, 0, WRITE_LOCK) &&
+             cli_lock(&cli1, fnum1, 1, 1, 0, READ_LOCK);
        EXPECTED(ret, True);
        printf("the same process %s overlay a write with a read lock\n", ret?"can":"cannot");
 
-       ret = cli_lock(cli2, fnum2, 0, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli2, fnum2, 0, 4, 0, READ_LOCK);
        EXPECTED(ret, False);
 
        printf("a different processs %s get a read lock on the first process lock stack\n", ret?"can":"cannot");
 
        /* Unlock the process 2 lock. */
-       cli_unlock(cli2, fnum2, 0, 4);
+       cli_unlock(&cli2, fnum2, 0, 4);
 
-       ret = cli_lock(cli1, fnum3, 0, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum3, 0, 4, 0, READ_LOCK);
        EXPECTED(ret, False);
 
        printf("the same processs on a different fnum %s get a read lock\n", ret?"can":"cannot");
 
        /* Unlock the process 1 fnum3 lock. */
-       cli_unlock(cli1, fnum3, 0, 4);
+       cli_unlock(&cli1, fnum3, 0, 4);
 
        /* Stack 2 more locks here. */
-       ret = cli_lock(cli1, fnum1, 0, 4, 0, READ_LOCK) &&
-                 cli_lock(cli1, fnum1, 0, 4, 0, READ_LOCK);
+       ret = cli_lock(&cli1, fnum1, 0, 4, 0, READ_LOCK) &&
+                 cli_lock(&cli1, fnum1, 0, 4, 0, READ_LOCK);
 
        EXPECTED(ret, True);
        printf("the same process %s stack read locks\n", ret?"can":"cannot");
@@ -1661,44 +1580,44 @@ static BOOL run_locktest5(int dummy)
        /* Unlock the first process lock, then check this was the WRITE lock that was
                removed. */
 
-       ret = cli_unlock(cli1, fnum1, 0, 4) &&
-                       cli_lock(cli2, fnum2, 0, 4, 0, READ_LOCK);
+       ret = cli_unlock(&cli1, fnum1, 0, 4) &&
+                       cli_lock(&cli2, fnum2, 0, 4, 0, READ_LOCK);
 
        EXPECTED(ret, True);
        printf("the first unlock removes the %s lock\n", ret?"WRITE":"READ");
 
        /* Unlock the process 2 lock. */
-       cli_unlock(cli2, fnum2, 0, 4);
+       cli_unlock(&cli2, fnum2, 0, 4);
 
        /* We should have 3 stacked locks here. Ensure we need to do 3 unlocks. */
 
-       ret = cli_unlock(cli1, fnum1, 1, 1) &&
-                 cli_unlock(cli1, fnum1, 0, 4) &&
-                 cli_unlock(cli1, fnum1, 0, 4);
+       ret = cli_unlock(&cli1, fnum1, 1, 1) &&
+                 cli_unlock(&cli1, fnum1, 0, 4) &&
+                 cli_unlock(&cli1, fnum1, 0, 4);
 
        EXPECTED(ret, True);
        printf("the same process %s unlock the stack of 4 locks\n", ret?"can":"cannot"); 
 
        /* Ensure the next unlock fails. */
-       ret = cli_unlock(cli1, fnum1, 0, 4);
+       ret = cli_unlock(&cli1, fnum1, 0, 4);
        EXPECTED(ret, False);
        printf("the same process %s count the lock stack\n", !ret?"can":"cannot"); 
 
        /* Ensure connection 2 can get a write lock. */
-       ret = cli_lock(cli2, fnum2, 0, 4, 0, WRITE_LOCK);
+       ret = cli_lock(&cli2, fnum2, 0, 4, 0, WRITE_LOCK);
        EXPECTED(ret, True);
 
        printf("a different processs %s get a write lock on the unlocked stack\n", ret?"can":"cannot");
 
 
  fail:
-       cli_close(cli1, fnum1);
-       cli_close(cli2, fnum2);
-       cli_unlink(cli1, fname);
-       if (!torture_close_connection(cli1)) {
+       cli_close(&cli1, fnum1);
+       cli_close(&cli2, fnum2);
+       cli_unlink(&cli1, fname);
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                correct = False;
        }
 
@@ -1712,7 +1631,7 @@ static BOOL run_locktest5(int dummy)
 */
 static BOOL run_locktest6(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli;
        const char *fname[1] = { "\\lock6.txt" };
        int i;
        int fnum;
@@ -1722,174 +1641,41 @@ static BOOL run_locktest6(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
        printf("starting locktest6\n");
 
        for (i=0;i<1;i++) {
                printf("Testing %s\n", fname[i]);
 
-               cli_unlink(cli, fname[i]);
+               cli_unlink(&cli, fname[i]);
 
-               fnum = cli_open(cli, fname[i], O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-               status = cli_locktype(cli, fnum, 0, 8, 0, LOCKING_ANDX_CHANGE_LOCKTYPE);
-               cli_close(cli, fnum);
+               fnum = cli_open(&cli, fname[i], O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+               status = cli_locktype(&cli, fnum, 0, 8, 0, LOCKING_ANDX_CHANGE_LOCKTYPE);
+               cli_close(&cli, fnum);
                printf("CHANGE_LOCKTYPE gave %s\n", nt_errstr(status));
 
-               fnum = cli_open(cli, fname[i], O_RDWR, DENY_NONE);
-               status = cli_locktype(cli, fnum, 0, 8, 0, LOCKING_ANDX_CANCEL_LOCK);
-               cli_close(cli, fnum);
+               fnum = cli_open(&cli, fname[i], O_RDWR, DENY_NONE);
+               status = cli_locktype(&cli, fnum, 0, 8, 0, LOCKING_ANDX_CANCEL_LOCK);
+               cli_close(&cli, fnum);
                printf("CANCEL_LOCK gave %s\n", nt_errstr(status));
 
-               cli_unlink(cli, fname[i]);
+               cli_unlink(&cli, fname[i]);
        }
 
-       torture_close_connection(cli);
+       torture_close_connection(&cli);
 
        printf("finished locktest6\n");
        return True;
 }
 
-static BOOL run_locktest7(int dummy)
-{
-       struct cli_state *cli1;
-       const char *fname = "\\lockt7.lck";
-       int fnum1;
-       char buf[200];
-       BOOL correct = False;
-
-       if (!torture_open_connection(&cli1)) {
-               return False;
-       }
-
-       cli_sockopt(cli1, sockops);
-
-       printf("starting locktest7\n");
-
-       cli_unlink(cli1, fname);
-
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-
-       memset(buf, 0, sizeof(buf));
-
-       if (cli_write(cli1, fnum1, 0, buf, 0, sizeof(buf)) != sizeof(buf)) {
-               printf("Failed to create file\n");
-               goto fail;
-       }
-
-       cli_setpid(cli1, 1);
-
-       if (!cli_lock(cli1, fnum1, 130, 4, 0, READ_LOCK)) {
-               printf("Unable to apply read lock on range 130:4, error was %s\n", cli_errstr(cli1));
-               goto fail;
-       } else {
-               printf("pid1 successfully locked range 130:4 for READ\n");
-       }
-
-       if (cli_read(cli1, fnum1, buf, 130, 4) != 4) {
-               printf("pid1 unable to read the range 130:4, error was %s\n", cli_errstr(cli1));
-               goto fail;
-       } else {
-               printf("pid1 successfully read the range 130:4\n");
-       }
-
-       if (cli_write(cli1, fnum1, 0, buf, 130, 4) != 4) {
-               printf("pid1 unable to write to the range 130:4, error was %s\n", cli_errstr(cli1));
-               if (NT_STATUS_V(cli_nt_error(cli1)) != NT_STATUS_V(NT_STATUS_FILE_LOCK_CONFLICT)) {
-                       printf("Incorrect error (should be NT_STATUS_FILE_LOCK_CONFLICT)\n");
-                       goto fail;
-               }
-       } else {
-               printf("pid1 successfully wrote to the range 130:4 (should be denied)\n");
-               goto fail;
-       }
-
-       cli_setpid(cli1, 2);
-
-       if (cli_read(cli1, fnum1, buf, 130, 4) != 4) {
-               printf("pid2 unable to read the range 130:4, error was %s\n", cli_errstr(cli1));
-       } else {
-               printf("pid2 successfully read the range 130:4\n");
-       }
-
-       if (cli_write(cli1, fnum1, 0, buf, 130, 4) != 4) {
-               printf("pid2 unable to write to the range 130:4, error was %s\n", cli_errstr(cli1));
-               if (NT_STATUS_V(cli_nt_error(cli1)) != NT_STATUS_V(NT_STATUS_FILE_LOCK_CONFLICT)) {
-                       printf("Incorrect error (should be NT_STATUS_FILE_LOCK_CONFLICT)\n");
-                       goto fail;
-               }
-       } else {
-               printf("pid2 successfully wrote to the range 130:4 (should be denied)\n");
-               goto fail;
-       }
-
-       cli_setpid(cli1, 1);
-       cli_unlock(cli1, fnum1, 130, 4);
-
-       if (!cli_lock(cli1, fnum1, 130, 4, 0, WRITE_LOCK)) {
-               printf("Unable to apply write lock on range 130:4, error was %s\n", cli_errstr(cli1));
-               goto fail;
-       } else {
-               printf("pid1 successfully locked range 130:4 for WRITE\n");
-       }
-
-       if (cli_read(cli1, fnum1, buf, 130, 4) != 4) {
-               printf("pid1 unable to read the range 130:4, error was %s\n", cli_errstr(cli1));
-               goto fail;
-       } else {
-               printf("pid1 successfully read the range 130:4\n");
-       }
-
-       if (cli_write(cli1, fnum1, 0, buf, 130, 4) != 4) {
-               printf("pid1 unable to write to the range 130:4, error was %s\n", cli_errstr(cli1));
-               goto fail;
-       } else {
-               printf("pid1 successfully wrote to the range 130:4\n");
-       }
-
-       cli_setpid(cli1, 2);
-
-       if (cli_read(cli1, fnum1, buf, 130, 4) != 4) {
-               printf("pid2 unable to read the range 130:4, error was %s\n", cli_errstr(cli1));
-               if (NT_STATUS_V(cli_nt_error(cli1)) != NT_STATUS_V(NT_STATUS_FILE_LOCK_CONFLICT)) {
-                       printf("Incorrect error (should be NT_STATUS_FILE_LOCK_CONFLICT)\n");
-                       goto fail;
-               }
-       } else {
-               printf("pid2 successfully read the range 130:4 (should be denied)\n");
-               goto fail;
-       }
-
-       if (cli_write(cli1, fnum1, 0, buf, 130, 4) != 4) {
-               printf("pid2 unable to write to the range 130:4, error was %s\n", cli_errstr(cli1));
-               if (NT_STATUS_V(cli_nt_error(cli1)) != NT_STATUS_V(NT_STATUS_FILE_LOCK_CONFLICT)) {
-                       printf("Incorrect error (should be NT_STATUS_FILE_LOCK_CONFLICT)\n");
-                       goto fail;
-               }
-       } else {
-               printf("pid2 successfully wrote to the range 130:4 (should be denied)\n");
-               goto fail;
-       }
-
-       cli_unlock(cli1, fnum1, 130, 0);
-       correct = True;
-
-fail:
-       cli_close(cli1, fnum1);
-       cli_unlink(cli1, fname);
-       torture_close_connection(cli1);
-
-       printf("finished locktest7\n");
-       return correct;
-}
-
 /*
 test whether fnums and tids open on one VC are available on another (a major
 security hole)
 */
 static BOOL run_fdpasstest(int dummy)
 {
-       struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2, cli3;
        const char *fname = "\\fdpass.tst";
        int fnum1;
        pstring buf;
@@ -1897,39 +1683,40 @@ static BOOL run_fdpasstest(int dummy)
        if (!torture_open_connection(&cli1) || !torture_open_connection(&cli2)) {
                return False;
        }
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("starting fdpasstest\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       if (cli_write(cli1, fnum1, 0, "hello world\n", 0, 13) != 13) {
-               printf("write failed (%s)\n", cli_errstr(cli1));
+       if (cli_write(&cli1, fnum1, 0, "hello world\n", 0, 13) != 13) {
+               printf("write failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       cli2->vuid = cli1->vuid;
-       cli2->cnum = cli1->cnum;
-       cli2->pid = cli1->pid;
+       cli3 = cli2;
+       cli3.vuid = cli1.vuid;
+       cli3.cnum = cli1.cnum;
+       cli3.pid = cli1.pid;
 
-       if (cli_read(cli2, fnum1, buf, 0, 13) == 13) {
+       if (cli_read(&cli3, fnum1, buf, 0, 13) == 13) {
                printf("read succeeded! nasty security hole [%s]\n",
                       buf);
                return False;
        }
 
-       cli_close(cli1, fnum1);
-       cli_unlink(cli1, fname);
+       cli_close(&cli1, fnum1);
+       cli_unlink(&cli1, fname);
 
-       torture_close_connection(cli1);
-       torture_close_connection(cli2);
+       torture_close_connection(&cli1);
+       torture_close_connection(&cli2);
 
        printf("finished fdpasstest\n");
        return True;
@@ -1943,7 +1730,7 @@ static BOOL run_fdpasstest(int dummy)
 */
 static BOOL run_unlinktest(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        const char *fname = "\\unlink.tst";
        int fnum;
        BOOL correct = True;
@@ -1952,32 +1739,32 @@ static BOOL run_unlinktest(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
        printf("starting unlink test\n");
 
-       cli_unlink(cli, fname);
+       cli_unlink(&cli, fname);
 
-       cli_setpid(cli, 1);
+       cli_setpid(&cli, 1);
 
-       fnum = cli_open(cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum = cli_open(&cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli));
                return False;
        }
 
-       if (cli_unlink(cli, fname)) {
+       if (cli_unlink(&cli, fname)) {
                printf("error: server allowed unlink on an open file\n");
                correct = False;
        } else {
-               correct = check_error(__LINE__, cli, ERRDOS, ERRbadshare, 
+               correct = check_error(__LINE__, &cli, ERRDOS, ERRbadshare, 
                                      NT_STATUS_SHARING_VIOLATION);
        }
 
-       cli_close(cli, fnum);
-       cli_unlink(cli, fname);
+       cli_close(&cli, fnum);
+       cli_unlink(&cli, fname);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -1992,7 +1779,7 @@ test how many open files this server supports on the one socket
 */
 static BOOL run_maxfidtest(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        const char *template = "\\maxfid.%d.%d";
        fstring fname;
        int fnums[0x11000], i;
@@ -2006,15 +1793,15 @@ static BOOL run_maxfidtest(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
        for (i=0; i<0x11000; i++) {
                slprintf(fname,sizeof(fname)-1,template, i,(int)getpid());
-               if ((fnums[i] = cli_open(cli, fname, 
+               if ((fnums[i] = cli_open(&cli, fname, 
                                        O_RDWR|O_CREAT|O_TRUNC, DENY_NONE)) ==
                    -1) {
                        printf("open of %s failed (%s)\n", 
-                              fname, cli_errstr(cli));
+                              fname, cli_errstr(&cli));
                        printf("maximum fnum is %d\n", i);
                        break;
                }
@@ -2026,10 +1813,10 @@ static BOOL run_maxfidtest(int dummy)
        printf("cleaning up\n");
        for (;i>=0;i--) {
                slprintf(fname,sizeof(fname)-1,template, i,(int)getpid());
-               cli_close(cli, fnums[i]);
-               if (!cli_unlink(cli, fname)) {
+               cli_close(&cli, fnums[i]);
+               if (!cli_unlink(&cli, fname)) {
                        printf("unlink of %s failed (%s)\n", 
-                              fname, cli_errstr(cli));
+                              fname, cli_errstr(&cli));
                        correct = False;
                }
                printf("%6d\r", i);
@@ -2037,7 +1824,7 @@ static BOOL run_maxfidtest(int dummy)
        printf("%6d\n", 0);
 
        printf("maxfid test finished\n");
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
        return correct;
@@ -2087,7 +1874,7 @@ static BOOL run_randomipc(int dummy)
        int rdrcnt,rprcnt;
        pstring param;
        int api, param_len, i;
-       struct cli_state *cli;
+       static struct cli_state cli;
        BOOL correct = True;
        int count = 50000;
 
@@ -2105,7 +1892,7 @@ static BOOL run_randomipc(int dummy)
   
                SSVAL(param,0,api); 
 
-               cli_api(cli, 
+               cli_api(&cli, 
                        param, param_len, 8,  
                        NULL, 0, BUFFER_SIZE, 
                        &rparam, &rprcnt,     
@@ -2116,7 +1903,7 @@ static BOOL run_randomipc(int dummy)
        }
        printf("%d/%d\n", i, count);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -2141,7 +1928,7 @@ static void browse_callback(const char *sname, uint32 stype,
 */
 static BOOL run_browsetest(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli;
        BOOL correct = True;
 
        printf("starting browse test\n");
@@ -2151,16 +1938,16 @@ static BOOL run_browsetest(int dummy)
        }
 
        printf("domain list:\n");
-       cli_NetServerEnum(cli, cli->server_domain, 
+       cli_NetServerEnum(&cli, cli.server_domain, 
                          SV_TYPE_DOMAIN_ENUM,
                          browse_callback, NULL);
 
        printf("machine list:\n");
-       cli_NetServerEnum(cli, cli->server_domain, 
+       cli_NetServerEnum(&cli, cli.server_domain, 
                          SV_TYPE_ALL,
                          browse_callback, NULL);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -2176,10 +1963,10 @@ static BOOL run_browsetest(int dummy)
 */
 static BOOL run_attrtest(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        int fnum;
        time_t t, t2;
-       const char *fname = "\\attrib123456789.tst";
+       const char *fname = "\\attrib.tst";
        BOOL correct = True;
 
        printf("starting attrib test\n");
@@ -2188,12 +1975,12 @@ static BOOL run_attrtest(int dummy)
                return False;
        }
 
-       cli_unlink(cli, fname);
-       fnum = cli_open(cli, fname, 
+       cli_unlink(&cli, fname);
+       fnum = cli_open(&cli, fname, 
                        O_RDWR | O_CREAT | O_TRUNC, DENY_NONE);
-       cli_close(cli, fnum);
-       if (!cli_getatr(cli, fname, NULL, NULL, &t)) {
-               printf("getatr failed (%s)\n", cli_errstr(cli));
+       cli_close(&cli, fnum);
+       if (!cli_getatr(&cli, fname, NULL, NULL, &t)) {
+               printf("getatr failed (%s)\n", cli_errstr(&cli));
                correct = False;
        }
 
@@ -2206,13 +1993,13 @@ static BOOL run_attrtest(int dummy)
 
        t2 = t-60*60*24; /* 1 day ago */
 
-       if (!cli_setatr(cli, fname, 0, t2)) {
-               printf("setatr failed (%s)\n", cli_errstr(cli));
+       if (!cli_setatr(&cli, fname, 0, t2)) {
+               printf("setatr failed (%s)\n", cli_errstr(&cli));
                correct = True;
        }
 
-       if (!cli_getatr(cli, fname, NULL, NULL, &t)) {
-               printf("getatr failed (%s)\n", cli_errstr(cli));
+       if (!cli_getatr(&cli, fname, NULL, NULL, &t)) {
+               printf("getatr failed (%s)\n", cli_errstr(&cli));
                correct = True;
        }
 
@@ -2223,9 +2010,9 @@ static BOOL run_attrtest(int dummy)
                correct = True;
        }
 
-       cli_unlink(cli, fname);
+       cli_unlink(&cli, fname);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -2240,7 +2027,7 @@ static BOOL run_attrtest(int dummy)
 */
 static BOOL run_trans2test(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        int fnum;
        size_t size;
        time_t c_time, a_time, m_time, w_time, m_time2;
@@ -2256,17 +2043,17 @@ static BOOL run_trans2test(int dummy)
                return False;
        }
 
-       cli_unlink(cli, fname);
-       fnum = cli_open(cli, fname, 
+       cli_unlink(&cli, fname);
+       fnum = cli_open(&cli, fname, 
                        O_RDWR | O_CREAT | O_TRUNC, DENY_NONE);
-       if (!cli_qfileinfo(cli, fnum, NULL, &size, &c_time, &a_time, &m_time,
+       if (!cli_qfileinfo(&cli, fnum, NULL, &size, &c_time, &a_time, &m_time,
                           NULL, NULL)) {
-               printf("ERROR: qfileinfo failed (%s)\n", cli_errstr(cli));
+               printf("ERROR: qfileinfo failed (%s)\n", cli_errstr(&cli));
                correct = False;
        }
 
-       if (!cli_qfilename(cli, fnum, pname)) {
-               printf("ERROR: qfilename failed (%s)\n", cli_errstr(cli));
+       if (!cli_qfilename(&cli, fnum, pname)) {
+               printf("ERROR: qfilename failed (%s)\n", cli_errstr(&cli));
                correct = False;
        }
 
@@ -2276,27 +2063,28 @@ static BOOL run_trans2test(int dummy)
                correct = False;
        }
 
-       cli_close(cli, fnum);
+       cli_close(&cli, fnum);
 
        sleep(2);
 
-       cli_unlink(cli, fname);
-       fnum = cli_open(cli, fname, 
+       cli_unlink(&cli, fname);
+       fnum = cli_open(&cli, fname, 
                        O_RDWR | O_CREAT | O_TRUNC, DENY_NONE);
        if (fnum == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli));
                return False;
        }
-       cli_close(cli, fnum);
+       cli_close(&cli, fnum);
 
-       if (!cli_qpathinfo(cli, fname, &c_time, &a_time, &m_time, &size, NULL)) {
-               printf("ERROR: qpathinfo failed (%s)\n", cli_errstr(cli));
+       if (!cli_qpathinfo(&cli, fname, &c_time, &a_time, &m_time, &size, NULL)) {
+               printf("ERROR: qpathinfo failed (%s)\n", cli_errstr(&cli));
                correct = False;
        } else {
                if (c_time != m_time) {
                        printf("create time=%s", ctime(&c_time));
                        printf("modify time=%s", ctime(&m_time));
                        printf("This system appears to have sticky create times\n");
+                       correct = False;
                }
                if (a_time % (60*60) == 0) {
                        printf("access time=%s", ctime(&a_time));
@@ -2311,13 +2099,13 @@ static BOOL run_trans2test(int dummy)
        }
 
 
-       cli_unlink(cli, fname);
-       fnum = cli_open(cli, fname, 
+       cli_unlink(&cli, fname);
+       fnum = cli_open(&cli, fname, 
                        O_RDWR | O_CREAT | O_TRUNC, DENY_NONE);
-       cli_close(cli, fnum);
-       if (!cli_qpathinfo2(cli, fname, &c_time, &a_time, &m_time, 
+       cli_close(&cli, fnum);
+       if (!cli_qpathinfo2(&cli, fname, &c_time, &a_time, &m_time, 
                            &w_time, &size, NULL, NULL)) {
-               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(cli));
+               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(&cli));
                correct = False;
        } else {
                if (w_time < 60*60*24*2) {
@@ -2327,29 +2115,29 @@ static BOOL run_trans2test(int dummy)
                }
        }
 
-       cli_unlink(cli, fname);
+       cli_unlink(&cli, fname);
 
 
        /* check if the server updates the directory modification time
            when creating a new file */
-       if (!cli_mkdir(cli, dname)) {
-               printf("ERROR: mkdir failed (%s)\n", cli_errstr(cli));
+       if (!cli_mkdir(&cli, dname)) {
+               printf("ERROR: mkdir failed (%s)\n", cli_errstr(&cli));
                correct = False;
        }
        sleep(3);
-       if (!cli_qpathinfo2(cli, "\\trans2\\", &c_time, &a_time, &m_time, 
+       if (!cli_qpathinfo2(&cli, "\\trans2\\", &c_time, &a_time, &m_time, 
                            &w_time, &size, NULL, NULL)) {
-               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(cli));
+               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(&cli));
                correct = False;
        }
 
-       fnum = cli_open(cli, fname2, 
+       fnum = cli_open(&cli, fname2, 
                        O_RDWR | O_CREAT | O_TRUNC, DENY_NONE);
-       cli_write(cli, fnum,  0, (char *)&fnum, 0, sizeof(fnum));
-       cli_close(cli, fnum);
-       if (!cli_qpathinfo2(cli, "\\trans2\\", &c_time, &a_time, &m_time2, 
+       cli_write(&cli, fnum,  0, (char *)&fnum, 0, sizeof(fnum));
+       cli_close(&cli, fnum);
+       if (!cli_qpathinfo2(&cli, "\\trans2\\", &c_time, &a_time, &m_time2, 
                            &w_time, &size, NULL, NULL)) {
-               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(cli));
+               printf("ERROR: qpathinfo2 failed (%s)\n", cli_errstr(&cli));
                correct = False;
        } else {
                if (m_time2 == m_time) {
@@ -2357,10 +2145,10 @@ static BOOL run_trans2test(int dummy)
                        correct = False;
                }
        }
-       cli_unlink(cli, fname2);
-       cli_rmdir(cli, dname);
+       cli_unlink(&cli, fname2);
+       cli_rmdir(&cli, dname);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -2393,7 +2181,7 @@ static BOOL new_trans(struct cli_state *pcli, int fnum, int level)
 
 static BOOL run_w2ktest(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        int fnum;
        const char *fname = "\\w2ktest\\w2k.tst";
        int level;
@@ -2405,16 +2193,16 @@ static BOOL run_w2ktest(int dummy)
                return False;
        }
 
-       fnum = cli_open(cli, fname, 
+       fnum = cli_open(&cli, fname, 
                        O_RDWR | O_CREAT , DENY_NONE);
 
        for (level = 1004; level < 1040; level++) {
-               new_trans(cli, fnum, level);
+               new_trans(&cli, fnum, level);
        }
 
-       cli_close(cli, fnum);
+       cli_close(&cli, fnum);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -2429,7 +2217,7 @@ static BOOL run_w2ktest(int dummy)
  */
 static BOOL run_oplock1(int dummy)
 {
-       struct cli_state *cli1;
+       static struct cli_state cli1;
        const char *fname = "\\lockt1.lck";
        int fnum1;
        BOOL correct = True;
@@ -2440,34 +2228,34 @@ static BOOL run_oplock1(int dummy)
                return False;
        }
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       cli_sockopt(cli1, sockops);
+       cli_sockopt(&cli1, sockops);
 
-       cli1->use_oplocks = True;
+       cli1.use_oplocks = True;
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       cli1->use_oplocks = False;
+       cli1.use_oplocks = False;
 
-       cli_unlink(cli1, fname);
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_unlink(cli1, fname)) {
-               printf("unlink failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, fname)) {
+               printf("unlink failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
 
@@ -2478,7 +2266,7 @@ static BOOL run_oplock1(int dummy)
 
 static BOOL run_oplock2(int dummy)
 {
-       struct cli_state *cli1, *cli2;
+       static struct cli_state cli1, cli2;
        const char *fname = "\\lockt2.lck";
        int fnum1, fnum2;
        int saved_use_oplocks = use_oplocks;
@@ -2500,8 +2288,8 @@ static BOOL run_oplock2(int dummy)
                return False;
        }
 
-       cli1->use_oplocks = True;
-       cli1->use_level_II_oplocks = True;
+       cli1.use_oplocks = True;
+       cli1.use_level_II_oplocks = True;
 
        if (!torture_open_connection(&cli2)) {
                use_level_II_oplocks = False;
@@ -2509,17 +2297,17 @@ static BOOL run_oplock2(int dummy)
                return False;
        }
 
-       cli2->use_oplocks = True;
-       cli2->use_level_II_oplocks = True;
+       cli2.use_oplocks = True;
+       cli2.use_level_II_oplocks = True;
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       cli_sockopt(cli1, sockops);
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli1, sockops);
+       cli_sockopt(&cli2, sockops);
 
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
@@ -2529,17 +2317,17 @@ static BOOL run_oplock2(int dummy)
 
        if (fork() == 0) {
                /* Child code */
-               fnum2 = cli_open(cli2, fname, O_RDWR, DENY_NONE);
+               fnum2 = cli_open(&cli2, fname, O_RDWR, DENY_NONE);
                if (fnum2 == -1) {
-                       printf("second open of %s failed (%s)\n", fname, cli_errstr(cli1));
+                       printf("second open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                        *shared_correct = False;
                        exit(0);
                }
 
                sleep(2);
 
-               if (!cli_close(cli2, fnum2)) {
-                       printf("close2 failed (%s)\n", cli_errstr(cli1));
+               if (!cli_close(&cli2, fnum2)) {
+                       printf("close2 failed (%s)\n", cli_errstr(&cli1));
                        *shared_correct = False;
                }
 
@@ -2550,54 +2338,54 @@ static BOOL run_oplock2(int dummy)
 
        /* Ensure cli1 processes the break. */
 
-       if (cli_read(cli1, fnum1, buf, 0, 4) != 4) {
-               printf("read on fnum1 failed (%s)\n", cli_errstr(cli1));
+       if (cli_read(&cli1, fnum1, buf, 0, 4) != 4) {
+               printf("read on fnum1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
        /* Should now be at level II. */
        /* Test if sending a write locks causes a break to none. */
 
-       if (!cli_lock(cli1, fnum1, 0, 4, 0, READ_LOCK)) {
-               printf("lock failed (%s)\n", cli_errstr(cli1));
+       if (!cli_lock(&cli1, fnum1, 0, 4, 0, READ_LOCK)) {
+               printf("lock failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       cli_unlock(cli1, fnum1, 0, 4);
+       cli_unlock(&cli1, fnum1, 0, 4);
 
        sleep(2);
 
-       if (!cli_lock(cli1, fnum1, 0, 4, 0, WRITE_LOCK)) {
-               printf("lock failed (%s)\n", cli_errstr(cli1));
+       if (!cli_lock(&cli1, fnum1, 0, 4, 0, WRITE_LOCK)) {
+               printf("lock failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       cli_unlock(cli1, fnum1, 0, 4);
+       cli_unlock(&cli1, fnum1, 0, 4);
 
        sleep(2);
 
-       cli_read(cli1, fnum1, buf, 0, 4);
+       cli_read(&cli1, fnum1, buf, 0, 4);
 
 #if 0
-       if (cli_write(cli1, fnum1, 0, buf, 0, 4) != 4) {
-               printf("write on fnum1 failed (%s)\n", cli_errstr(cli1));
+       if (cli_write(&cli1, fnum1, 0, buf, 0, 4) != 4) {
+               printf("write on fnum1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 #endif
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
        sleep(4);
 
-       if (!cli_unlink(cli1, fname)) {
-               printf("unlink failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, fname)) {
+               printf("unlink failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
 
@@ -2620,7 +2408,7 @@ static BOOL oplock3_handler(struct cli_state *cli, int fnum, unsigned char level
 
 static BOOL run_oplock3(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        const char *fname = "\\oplockt3.dat";
        int fnum;
        char buf[4] = "abcd";
@@ -2642,8 +2430,8 @@ static BOOL run_oplock3(int dummy)
                } 
                sleep(2);
                /* try to trigger a oplock break in parent */
-               fnum = cli_open(cli, fname, O_RDWR, DENY_NONE);
-               cli_write(cli, fnum, 0, buf, 0, 4);
+               fnum = cli_open(&cli, fname, O_RDWR, DENY_NONE);
+               cli_write(&cli, fnum, 0, buf, 0, 4);
                exit(0);
        }
 
@@ -2653,13 +2441,13 @@ static BOOL run_oplock3(int dummy)
        if (!torture_open_connection(&cli)) { 
                return False;
        }
-       cli_oplock_handler(cli, oplock3_handler);
-       fnum = cli_open(cli, fname, O_RDWR|O_CREAT, DENY_NONE);
-       cli_write(cli, fnum, 0, buf, 0, 4);
-       cli_close(cli, fnum);
-       fnum = cli_open(cli, fname, O_RDWR, DENY_NONE);
-       cli->timeout = 20000;
-       cli_receive_smb(cli);
+       cli_oplock_handler(&cli, oplock3_handler);
+       fnum = cli_open(&cli, fname, O_RDWR|O_CREAT, DENY_NONE);
+       cli_write(&cli, fnum, 0, buf, 0, 4);
+       cli_close(&cli, fnum);
+       fnum = cli_open(&cli, fname, O_RDWR, DENY_NONE);
+       cli.timeout = 20000;
+       cli_receive_smb(&cli);
        printf("finished oplock test 3\n");
 
        return (correct && *shared_correct);
@@ -2674,8 +2462,8 @@ static BOOL run_oplock3(int dummy)
  */
 static BOOL run_deletetest(int dummy)
 {
-       struct cli_state *cli1;
-       struct cli_state *cli2;
+       static struct cli_state cli1;
+       static struct cli_state cli2;
        const char *fname = "\\delete.file";
        int fnum1 = -1;
        int fnum2 = -1;
@@ -2683,36 +2471,45 @@ static BOOL run_deletetest(int dummy)
        
        printf("starting delete test\n");
        
+       ZERO_STRUCT(cli1);
+       ZERO_STRUCT(cli2);
+
        if (!torture_open_connection(&cli1)) {
                return False;
        }
        
-       cli_sockopt(cli1, sockops);
+       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);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       fnum1 = cli_nt_create_full(cli1, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       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));
+               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));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[1] close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       fnum1 = cli_open(cli1, fname, O_RDWR, DENY_NONE);
-       if (fnum1 != -1) {
-               printf("[1] open of %s succeeded (should fail)\n", fname);
+       fnum1 = cli_open(&cli1, fname, O_RDWR, DENY_NONE);
+       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;
        }
@@ -2721,52 +2518,52 @@ static BOOL run_deletetest(int dummy)
        
        /* Test 2 - this should delete the file on close. */
        
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       fnum1 = cli_nt_create_full(cli1, fname, GENERIC_ALL_ACCESS,
+       fnum1 = cli_nt_create_full(&cli1, fname, GENERIC_ALL_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, 
                                   FILE_OVERWRITE_IF, 0);
        
        if (fnum1 == -1) {
-               printf("[2] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[2] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_nt_delete_on_close(cli1, fnum1, True)) {
-               printf("[2] setting delete_on_close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_nt_delete_on_close(&cli1, fnum1, True)) {
+               printf("[2] setting delete_on_close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("[2] close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[2] close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_NONE);
        if (fnum1 != -1) {
                printf("[2] open of %s succeeded should have been deleted on close !\n", fname);
-               if (!cli_close(cli1, fnum1)) {
-                       printf("[2] close failed (%s)\n", cli_errstr(cli1));
+               if (!cli_close(&cli1, fnum1)) {
+                       printf("[2] close failed (%s)\n", cli_errstr(&cli1));
                        correct = False;
                        goto fail;
                }
-               cli_unlink(cli1, fname);
+               cli_unlink(&cli1, fname);
        } else
                printf("second delete on close test succeeded.\n");
        
        /* Test 3 - ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_nt_create_full(cli1, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("[3] open - 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[3] open - 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
@@ -2774,7 +2571,7 @@ static BOOL run_deletetest(int dummy)
        /* This should fail with a sharing violation - open for delete is only compatible
           with SHARE_DELETE. */
 
-       fnum2 = cli_nt_create_full(cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
                        FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, 0);
 
        if (fnum2 != -1) {
@@ -2785,83 +2582,83 @@ static BOOL run_deletetest(int dummy)
 
        /* This should succeed. */
 
-       fnum2 = cli_nt_create_full(cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
                        FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, 0);
 
        if (fnum2 == -1) {
-               printf("[3] open  - 2 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[3] open  - 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       if (!cli_nt_delete_on_close(cli1, fnum1, True)) {
-               printf("[3] setting delete_on_close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_nt_delete_on_close(&cli1, fnum1, True)) {
+               printf("[3] setting delete_on_close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("[3] close 1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[3] close 1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_close(cli1, fnum2)) {
-               printf("[3] close 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum2)) {
+               printf("[3] close 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
        /* This should fail - file should no longer be there. */
 
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_NONE);
        if (fnum1 != -1) {
                printf("[3] open of %s succeeded should have been deleted on close !\n", fname);
-               if (!cli_close(cli1, fnum1)) {
-                       printf("[3] close failed (%s)\n", cli_errstr(cli1));
+               if (!cli_close(&cli1, fnum1)) {
+                       printf("[3] close failed (%s)\n", cli_errstr(&cli1));
                }
-               cli_unlink(cli1, fname);
+               cli_unlink(&cli1, fname);
                correct = False;
                goto fail;
        } else
                printf("third delete on close test succeeded.\n");
 
        /* Test 4 ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                        FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF, 0);
                                                                
        if (fnum1 == -1) {
-               printf("[4] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[4] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
        /* This should succeed. */
-       fnum2 = cli_nt_create_full(cli1, fname, GENERIC_READ_ACCESS,
+       fnum2 = cli_nt_create_full(&cli1, fname, GENERIC_READ_ACCESS,
                        FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, 0);
        if (fnum2 == -1) {
-               printf("[4] open  - 2 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[4] open  - 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_close(cli1, fnum2)) {
-               printf("[4] close - 1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum2)) {
+               printf("[4] close - 1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
-       if (!cli_nt_delete_on_close(cli1, fnum1, True)) {
-               printf("[4] setting delete_on_close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_nt_delete_on_close(&cli1, fnum1, True)) {
+               printf("[4] setting delete_on_close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
        /* This should fail - no more opens once delete on close set. */
-       fnum2 = cli_nt_create_full(cli1, fname, GENERIC_READ_ACCESS,
+       fnum2 = cli_nt_create_full(&cli1, fname, GENERIC_READ_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, 0);
        if (fnum2 != -1) {
                printf("[4] open  - 3 of %s succeeded ! Should have failed.\n", fname );
@@ -2870,33 +2667,33 @@ static BOOL run_deletetest(int dummy)
        } else
                printf("fourth delete on close test succeeded.\n");
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("[4] close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[4] close - 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
        /* Test 5 ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT, DENY_NONE);
        if (fnum1 == -1) {
-               printf("[5] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[5] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
        /* This should fail - only allowed on NT opens with DELETE access. */
 
-       if (cli_nt_delete_on_close(cli1, fnum1, True)) {
+       if (cli_nt_delete_on_close(&cli1, fnum1, True)) {
                printf("[5] setting delete_on_close on OpenX file succeeded - should fail !\n");
                correct = False;
                goto fail;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("[5] close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[5] close - 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
@@ -2904,29 +2701,29 @@ static BOOL run_deletetest(int dummy)
        printf("fifth delete on close test succeeded.\n");
        
        /* Test 6 ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
                                   FILE_OVERWRITE_IF, 0);
        
        if (fnum1 == -1) {
-               printf("[6] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[6] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
        /* This should fail - only allowed on NT opens with DELETE access. */
        
-       if (cli_nt_delete_on_close(cli1, fnum1, True)) {
+       if (cli_nt_delete_on_close(&cli1, fnum1, True)) {
                printf("[6] setting delete_on_close on file with no delete access succeeded - should fail !\n");
                correct = False;
                goto fail;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("[6] close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[6] close - 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
@@ -2934,47 +2731,47 @@ static BOOL run_deletetest(int dummy)
        printf("sixth delete on close test succeeded.\n");
        
        /* Test 7 ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF, 0);
                                                                
        if (fnum1 == -1) {
-               printf("[7] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[7] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       if (!cli_nt_delete_on_close(cli1, fnum1, True)) {
+       if (!cli_nt_delete_on_close(&cli1, fnum1, True)) {
                printf("[7] setting delete_on_close on file failed !\n");
                correct = False;
                goto fail;
        }
        
-       if (!cli_nt_delete_on_close(cli1, fnum1, False)) {
+       if (!cli_nt_delete_on_close(&cli1, fnum1, False)) {
                printf("[7] unsetting delete_on_close on file failed !\n");
                correct = False;
                goto fail;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("[7] close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[7] close - 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
        
        /* This next open should succeed - we reset the flag. */
        
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_NONE);
        if (fnum1 == -1) {
-               printf("[5] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[5] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("[7] close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[7] close - 2 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
@@ -2982,8 +2779,8 @@ static BOOL run_deletetest(int dummy)
        printf("seventh delete on close test succeeded.\n");
        
        /* Test 7 ... */
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
        if (!torture_open_connection(&cli2)) {
                printf("[8] failed to open second connection.\n");
@@ -2991,46 +2788,46 @@ static BOOL run_deletetest(int dummy)
                goto fail;
        }
 
-       cli_sockopt(cli1, sockops);
+       cli_sockopt(&cli1, sockops);
        
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OVERWRITE_IF, 0);
        
        if (fnum1 == -1) {
-               printf("[8] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[8] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
+       fnum2 = cli_nt_create_full(&cli2, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, 0);
        
        if (fnum2 == -1) {
-               printf("[8] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[8] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       if (!cli_nt_delete_on_close(cli1, fnum1, True)) {
+       if (!cli_nt_delete_on_close(&cli1, fnum1, True)) {
                printf("[8] setting delete_on_close on file failed !\n");
                correct = False;
                goto fail;
        }
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("[8] close - 1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[8] close - 1 failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
-       if (!cli_close(cli2, fnum2)) {
-               printf("[8] close - 2 failed (%s)\n", cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("[8] close - 2 failed (%s)\n", cli_errstr(&cli2));
                correct = False;
                goto fail;
        }
 
        /* This should fail.. */
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_NONE);
        if (fnum1 != -1) {
                printf("[8] open of %s succeeded should have been deleted on close !\n", fname);
                goto fail;
@@ -3039,7 +2836,7 @@ static BOOL run_deletetest(int dummy)
                printf("eighth delete on close test succeeded.\n");
 
        /* This should fail - we need to set DELETE_ACCESS. */
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, FILE_DELETE_ON_CLOSE);
        
        if (fnum1 != -1) {
@@ -3050,23 +2847,23 @@ static BOOL run_deletetest(int dummy)
 
        printf("ninth delete on close test succeeded.\n");
 
-       fnum1 = cli_nt_create_full(cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
+       fnum1 = cli_nt_create_full(&cli1, fname, FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                                   FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE, FILE_OVERWRITE_IF, FILE_DELETE_ON_CLOSE);
        if (fnum1 == -1) {
-               printf("[10] open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("[10] open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
        /* This should delete the file. */
-       if (!cli_close(cli1, fnum1)) {
-               printf("[10] close failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("[10] close failed (%s)\n", cli_errstr(&cli1));
                correct = False;
                goto fail;
        }
 
        /* This should fail.. */
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_NONE);
        if (fnum1 != -1) {
                printf("[10] open of %s succeeded should have been deleted on close !\n", fname);
                goto fail;
@@ -3076,19 +2873,16 @@ static BOOL run_deletetest(int dummy)
        printf("finished delete test\n");
 
   fail:
-       /* FIXME: This will crash if we aborted before cli2 got
-        * intialized, because these functions don't handle
-        * uninitialized connections. */
-               
-       cli_close(cli1, fnum1);
-       cli_close(cli1, fnum2);
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
-
-       if (!torture_close_connection(cli1)) {
+       
+       cli_close(&cli1, fnum1);
+       cli_close(&cli1, fnum2);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
+       
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
-       if (!torture_close_connection(cli2)) {
+       if (!torture_close_connection(&cli2)) {
                correct = False;
        }
        return correct;
@@ -3100,7 +2894,7 @@ static BOOL run_deletetest(int dummy)
  */
 static BOOL run_properties(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli;
        BOOL correct = True;
        
        printf("starting properties test\n");
@@ -3111,11 +2905,11 @@ static BOOL run_properties(int dummy)
                return False;
        }
        
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
-       d_printf("Capabilities 0x%08x\n", cli->capabilities);
+       d_printf("Capabilities 0x%08x\n", cli.capabilities);
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -3148,7 +2942,7 @@ static BOOL run_properties(int dummy)
  */
 static BOOL run_xcopy(int dummy)
 {
-       static struct cli_state *cli1;
+       static struct cli_state cli1;
        const char *fname = "\\test.txt";
        BOOL correct = True;
        int fnum1, fnum2;
@@ -3159,26 +2953,26 @@ static BOOL run_xcopy(int dummy)
                return False;
        }
        
-       fnum1 = cli_nt_create_full(cli1, fname, 
+       fnum1 = cli_nt_create_full(&cli1, fname, 
                                   FIRST_DESIRED_ACCESS, FILE_ATTRIBUTE_ARCHIVE,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 
                                   0x4044);
 
        if (fnum1 == -1) {
-               printf("First open failed - %s\n", cli_errstr(cli1));
+               printf("First open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli1, fname, 
+       fnum2 = cli_nt_create_full(&cli1, fname, 
                                   SECOND_DESIRED_ACCESS, 0,
                                   FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN, 
                                   0x200000);
        if (fnum2 == -1) {
-               printf("second open failed - %s\n", cli_errstr(cli1));
+               printf("second open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
        
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
        
@@ -3190,7 +2984,7 @@ static BOOL run_xcopy(int dummy)
  */
 static BOOL run_rename(int dummy)
 {
-       static struct cli_state *cli1;
+       static struct cli_state cli1;
        const char *fname = "\\test.txt";
        const char *fname1 = "\\test1.txt";
        BOOL correct = True;
@@ -3202,31 +2996,31 @@ static BOOL run_rename(int dummy)
                return False;
        }
        
-       cli_unlink(cli1, fname);
-       cli_unlink(cli1, fname1);
-       fnum1 = cli_nt_create_full(cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       cli_unlink(&cli1, fname);
+       cli_unlink(&cli1, fname1);
+       fnum1 = cli_nt_create_full(&cli1, fname, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_READ, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("First open failed - %s\n", cli_errstr(cli1));
+               printf("First open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_rename(cli1, fname, fname1)) {
-               printf("First rename failed (this is correct) - %s\n", cli_errstr(cli1));
+       if (!cli_rename(&cli1, fname, fname1)) {
+               printf("First rename failed (this is correct) - %s\n", cli_errstr(&cli1));
        } else {
                printf("First rename succeeded - this should have failed !\n");
                correct = False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close - 1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close - 1 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       cli_unlink(cli1, fname);
-       cli_unlink(cli1, fname1);
-       fnum1 = cli_nt_create_full(cli1, fname,GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       cli_unlink(&cli1, fname);
+       cli_unlink(&cli1, fname1);
+       fnum1 = cli_nt_create_full(&cli1, fname,GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
 #if 0
                                   FILE_SHARE_DELETE|FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 #else
@@ -3234,30 +3028,30 @@ static BOOL run_rename(int dummy)
 #endif
 
        if (fnum1 == -1) {
-               printf("Second open failed - %s\n", cli_errstr(cli1));
+               printf("Second open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_rename(cli1, fname, fname1)) {
-               printf("Second rename failed - this should have succeeded - %s\n", cli_errstr(cli1));
+       if (!cli_rename(&cli1, fname, fname1)) {
+               printf("Second rename failed - this should have succeeded - %s\n", cli_errstr(&cli1));
                correct = False;
        } else {
                printf("Second rename succeeded\n");
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close - 2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close - 2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       cli_unlink(cli1, fname);
-       cli_unlink(cli1, fname1);
+       cli_unlink(&cli1, fname);
+       cli_unlink(&cli1, fname1);
 
-       fnum1 = cli_nt_create_full(cli1, fname,READ_CONTROL_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,READ_CONTROL_ACCESS, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("Third open failed - %s\n", cli_errstr(cli1));
+               printf("Third open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
 
@@ -3266,41 +3060,41 @@ static BOOL run_rename(int dummy)
   {
   int fnum2;
 
-       fnum2 = cli_nt_create_full(cli1, fname,DELETE_ACCESS, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli1, fname,DELETE_ACCESS, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum2 == -1) {
-               printf("Fourth open failed - %s\n", cli_errstr(cli1));
+               printf("Fourth open failed - %s\n", cli_errstr(&cli1));
                return False;
        }
-       if (!cli_nt_delete_on_close(cli1, fnum2, True)) {
+       if (!cli_nt_delete_on_close(&cli1, fnum2, True)) {
                printf("[8] setting delete_on_close on file failed !\n");
                return False;
        }
        
-       if (!cli_close(cli1, fnum2)) {
-               printf("close - 4 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum2)) {
+               printf("close - 4 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
   }
 #endif
 
-       if (!cli_rename(cli1, fname, fname1)) {
-               printf("Third rename failed - this should have succeeded - %s\n", cli_errstr(cli1));
+       if (!cli_rename(&cli1, fname, fname1)) {
+               printf("Third rename failed - this should have succeeded - %s\n", cli_errstr(&cli1));
                correct = False;
        } else {
                printf("Third rename succeeded\n");
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close - 3 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close - 3 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
-       cli_unlink(cli1, fname);
-       cli_unlink(cli1, fname1);
+       cli_unlink(&cli1, fname);
+       cli_unlink(&cli1, fname1);
 
-       if (!torture_close_connection(cli1)) {
+       if (!torture_close_connection(&cli1)) {
                correct = False;
        }
        
@@ -3309,7 +3103,7 @@ static BOOL run_rename(int dummy)
 
 static BOOL run_pipe_number(int dummy)
 {
-       struct cli_state *cli1;
+       static struct cli_state cli1;
        const char *pipe_name = "\\SPOOLSS";
        int fnum;
        int num_pipes = 0;
@@ -3319,20 +3113,20 @@ static BOOL run_pipe_number(int dummy)
                return False;
        }
 
-       cli_sockopt(cli1, sockops);
+       cli_sockopt(&cli1, sockops);
        while(1) {
-               fnum = cli_nt_create_full(cli1, pipe_name,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
+               fnum = cli_nt_create_full(&cli1, pipe_name,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN_IF, 0);
 
                if (fnum == -1) {
-                       printf("Open of pipe %s failed with error (%s)\n", pipe_name, cli_errstr(cli1));
+                       printf("Open of pipe %s failed with error (%s)\n", pipe_name, cli_errstr(&cli1));
                        break;
                }
                num_pipes++;
        }
 
        printf("pipe_number test - we can open %d %s pipes.\n", num_pipes, pipe_name );
-       torture_close_connection(cli1);
+       torture_close_connection(&cli1);
        return True;
 }
 
@@ -3341,14 +3135,15 @@ static BOOL run_pipe_number(int dummy)
  */
 static BOOL run_opentest(int dummy)
 {
-       static struct cli_state *cli1;
-       static struct cli_state *cli2;
+       static struct cli_state cli1;
+       static struct cli_state cli2;
        const char *fname = "\\readonly.file";
        int fnum1, fnum2;
        char buf[20];
        size_t fsize;
        BOOL correct = True;
        char *tmp_path;
+       uint16 attr;
 
        printf("starting open test\n");
        
@@ -3356,77 +3151,77 @@ static BOOL run_opentest(int dummy)
                return False;
        }
        
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       cli_setatr(&cli1, fname, 0, 0);
+       cli_unlink(&cli1, fname);
        
-       cli_sockopt(cli1, sockops);
+       cli_sockopt(&cli1, sockops);
        
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        
-       if (!cli_setatr(cli1, fname, aRONLY, 0)) {
-               printf("cli_setatr failed (%s)\n", cli_errstr(cli1));
+       if (!cli_setatr(&cli1, fname, aRONLY, 0)) {
+               printf("cli_setatr failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_WRITE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_WRITE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
        
        /* This will fail - but the error should be ERRnoaccess, not ERRbadshare. */
-       fnum2 = cli_open(cli1, fname, O_RDWR, DENY_ALL);
+       fnum2 = cli_open(&cli1, fname, O_RDWR, DENY_ALL);
        
-        if (check_error(__LINE__, cli1, ERRDOS, ERRnoaccess, 
+        if (check_error(__LINE__, &cli1, ERRDOS, ERRnoaccess, 
                        NT_STATUS_ACCESS_DENIED)) {
                printf("correct error code ERRDOS/ERRnoaccess returned\n");
        }
        
        printf("finished open test 1\n");
        
-       cli_close(cli1, fnum1);
+       cli_close(&cli1, fnum1);
        
        /* Now try not readonly and ensure ERRbadshare is returned. */
        
-       cli_setatr(cli1, fname, 0, 0);
+       cli_setatr(&cli1, fname, 0, 0);
        
-       fnum1 = cli_open(cli1, fname, O_RDONLY, DENY_WRITE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY, DENY_WRITE);
        if (fnum1 == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("open of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
        
        /* This will fail - but the error should be ERRshare. */
-       fnum2 = cli_open(cli1, fname, O_RDWR, DENY_ALL);
+       fnum2 = cli_open(&cli1, fname, O_RDWR, DENY_ALL);
        
-       if (check_error(__LINE__, cli1, ERRDOS, ERRbadshare, 
+       if (check_error(__LINE__, &cli1, ERRDOS, ERRbadshare, 
                        NT_STATUS_SHARING_VIOLATION)) {
                printf("correct error code ERRDOS/ERRbadshare returned\n");
        }
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
        
        printf("finished open test 2\n");
        
        /* Test truncate open disposition on file opened for read. */
        
-       fnum1 = cli_open(cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
        if (fnum1 == -1) {
-               printf("(3) open (1) of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("(3) open (1) of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
        
@@ -3434,19 +3229,19 @@ static BOOL run_opentest(int dummy)
        
        memset(buf, '\0', 20);
 
-       if (cli_write(cli1, fnum1, 0, buf, 0, 20) != 20) {
-               printf("write failed (%s)\n", cli_errstr(cli1));
+       if (cli_write(&cli1, fnum1, 0, buf, 0, 20) != 20) {
+               printf("write failed (%s)\n", cli_errstr(&cli1));
                correct = False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("(3) close1 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("(3) close1 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        
        /* Ensure size == 20. */
-       if (!cli_getatr(cli1, fname, NULL, &fsize, NULL)) {
-               printf("(3) getatr failed (%s)\n", cli_errstr(cli1));
+       if (!cli_getatr(&cli1, fname, NULL, &fsize, NULL)) {
+               printf("(3) getatr failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        
@@ -3457,20 +3252,20 @@ static BOOL run_opentest(int dummy)
 
        /* Now test if we can truncate a file opened for readonly. */
        
-       fnum1 = cli_open(cli1, fname, O_RDONLY|O_TRUNC, DENY_NONE);
+       fnum1 = cli_open(&cli1, fname, O_RDONLY|O_TRUNC, DENY_NONE);
        if (fnum1 == -1) {
-               printf("(3) open (2) of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("(3) open (2) of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
        
-       if (!cli_close(cli1, fnum1)) {
-               printf("close2 failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close2 failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
        /* Ensure size == 0. */
-       if (!cli_getatr(cli1, fname, NULL, &fsize, NULL)) {
-               printf("(3) getatr failed (%s)\n", cli_errstr(cli1));
+       if (!cli_getatr(&cli1, fname, NULL, &fsize, NULL)) {
+               printf("(3) getatr failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
 
@@ -3480,21 +3275,21 @@ static BOOL run_opentest(int dummy)
        }
        printf("finished open test 3\n");
        
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
 
        printf("testing ctemp\n");
-       fnum1 = cli_ctemp(cli1, "\\", &tmp_path);
+       fnum1 = cli_ctemp(&cli1, "\\", &tmp_path);
        if (fnum1 == -1) {
-               printf("ctemp failed (%s)\n", cli_errstr(cli1));
+               printf("ctemp failed (%s)\n", cli_errstr(&cli1));
                return False;
        }
        printf("ctemp gave path %s\n", tmp_path);
-       if (!cli_close(cli1, fnum1)) {
-               printf("close of temp failed (%s)\n", cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("close of temp failed (%s)\n", cli_errstr(&cli1));
        }
-       if (!cli_unlink(cli1, tmp_path)) {
-               printf("unlink of temp failed (%s)\n", cli_errstr(cli1));
+       if (!cli_unlink(&cli1, tmp_path)) {
+               printf("unlink of temp failed (%s)\n", cli_errstr(&cli1));
        }
        
        /* Test the non-io opens... */
@@ -3503,158 +3298,158 @@ static BOOL run_opentest(int dummy)
                return False;
        }
        
-       cli_setatr(cli2, fname, 0, 0);
-       cli_unlink(cli2, fname);
+       cli_setatr(&cli2, fname, 0, 0);
+       cli_unlink(&cli2, fname);
        
-       cli_sockopt(cli2, sockops);
+       cli_sockopt(&cli2, sockops);
 
        printf("TEST #1 testing 2 non-io opens (no delete)\n");
        
-       fnum1 = cli_nt_create_full(cli1, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 1 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 1 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OPEN_IF, 0);
 
        if (fnum2 == -1) {
-               printf("test 1 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 1 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       if (!cli_close(cli2, fnum2)) {
-               printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
        printf("non-io open test #1 passed.\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
        printf("TEST #2 testing 2 non-io opens (first with delete)\n");
        
-       fnum1 = cli_nt_create_full(cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 2 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 2 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OPEN_IF, 0);
 
        if (fnum2 == -1) {
-               printf("test 2 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 2 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 1 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       if (!cli_close(cli2, fnum2)) {
-               printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("test 1 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
        printf("non-io open test #2 passed.\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
        printf("TEST #3 testing 2 non-io opens (second with delete)\n");
        
-       fnum1 = cli_nt_create_full(cli1, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 3 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 3 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OPEN_IF, 0);
 
        if (fnum2 == -1) {
-               printf("test 3 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 3 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 3 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 3 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
-       if (!cli_close(cli2, fnum2)) {
-               printf("test 3 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("test 3 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
        printf("non-io open test #3 passed.\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
        printf("TEST #4 testing 2 non-io opens (both with delete)\n");
        
-       fnum1 = cli_nt_create_full(cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 4 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 4 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OPEN_IF, 0);
 
        if (fnum2 != -1) {
-               printf("test 4 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 4 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       printf("test 3 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation");
+       printf("test 3 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(&cli2), "sharing violation");
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 4 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 4 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
        printf("non-io open test #4 passed.\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
        printf("TEST #5 testing 2 non-io opens (both with delete - both with file share delete)\n");
        
-       fnum1 = cli_nt_create_full(cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_DELETE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 5 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 5 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_DELETE, FILE_OPEN_IF, 0);
 
        if (fnum2 == -1) {
-               printf("test 5 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 5 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 5 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 5 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_close(cli2, fnum2)) {
-               printf("test 5 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("test 5 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
@@ -3662,31 +3457,31 @@ static BOOL run_opentest(int dummy)
 
        printf("TEST #6 testing 1 non-io open, one io open\n");
        
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_nt_create_full(cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 6 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 6 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_READ, FILE_OPEN_IF, 0);
 
        if (fnum2 == -1) {
-               printf("test 6 open 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 6 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 6 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 6 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       if (!cli_close(cli2, fnum2)) {
-               printf("test 6 close 2 of %s failed (%s)\n", fname, cli_errstr(cli2));
+       if (!cli_close(&cli2, fnum2)) {
+               printf("test 6 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
@@ -3694,203 +3489,135 @@ static BOOL run_opentest(int dummy)
 
        printf("TEST #7 testing 1 non-io open, one io open with delete\n");
 
-       cli_unlink(cli1, fname);
+       cli_unlink(&cli1, fname);
 
-       fnum1 = cli_nt_create_full(cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
+       fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
 
        if (fnum1 == -1) {
-               printf("test 7 open 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+               printf("test 7 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
-       fnum2 = cli_nt_create_full(cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
+       fnum2 = cli_nt_create_full(&cli2, fname,DELETE_ACCESS|FILE_READ_ATTRIBUTES, FILE_ATTRIBUTE_NORMAL,
                                   FILE_SHARE_READ|FILE_SHARE_DELETE, FILE_OPEN_IF, 0);
 
        if (fnum2 != -1) {
-               printf("test 7 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(cli2));
+               printf("test 7 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, cli_errstr(&cli2));
                return False;
        }
 
-       printf("test 7 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(cli2), "sharing violation");
+       printf("test 7 open 2 of %s gave %s (correct error should be %s)\n", fname, cli_errstr(&cli2), "sharing violation");
 
-       if (!cli_close(cli1, fnum1)) {
-               printf("test 7 close 1 of %s failed (%s)\n", fname, cli_errstr(cli1));
+       if (!cli_close(&cli1, fnum1)) {
+               printf("test 7 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
                return False;
        }
 
        printf("non-io open test #7 passed.\n");
 
-       cli_unlink(cli1, fname);
+       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 {
-       unsigned 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;
-       unsigned 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;
+       }
+
+       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;
        }
 
-       cli_setatr(cli1, fname, 0, 0);
-       cli_unlink(cli1, fname);
+       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)) {
+       if (!torture_close_connection(&cli1)) {
+               correct = False;
+       }
+       if (!torture_close_connection(&cli2)) {
                correct = False;
        }
+       
        return correct;
 }
 
@@ -3905,7 +3632,7 @@ static void list_fn(file_info *finfo, const char *name, void *state)
 static BOOL run_dirtest(int dummy)
 {
        int i;
-       static struct cli_state *cli;
+       static struct cli_state cli;
        int fnum;
        double t1;
        BOOL correct = True;
@@ -3916,25 +3643,25 @@ static BOOL run_dirtest(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
        srandom(0);
        for (i=0;i<torture_numops;i++) {
                fstring fname;
                slprintf(fname, sizeof(fname), "\\%x", (int)random());
-               fnum = cli_open(cli, fname, O_RDWR|O_CREAT, DENY_NONE);
+               fnum = cli_open(&cli, fname, O_RDWR|O_CREAT, DENY_NONE);
                if (fnum == -1) {
                        fprintf(stderr,"Failed to open %s\n", fname);
                        return False;
                }
-               cli_close(cli, fnum);
+               cli_close(&cli, fnum);
        }
 
        t1 = end_timer();
 
-       printf("Matched %d\n", cli_list(cli, "a*.*", 0, list_fn, NULL));
-       printf("Matched %d\n", cli_list(cli, "b*.*", 0, list_fn, NULL));
-       printf("Matched %d\n", cli_list(cli, "xyzabc", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "a*.*", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "b*.*", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "xyzabc", 0, list_fn, NULL));
 
        printf("dirtest core %g seconds\n", end_timer() - t1);
 
@@ -3942,10 +3669,10 @@ static BOOL run_dirtest(int dummy)
        for (i=0;i<torture_numops;i++) {
                fstring fname;
                slprintf(fname, sizeof(fname), "\\%x", (int)random());
-               cli_unlink(cli, fname);
+               cli_unlink(&cli, fname);
        }
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -3972,150 +3699,10 @@ static void del_fn(file_info *finfo, const char *mask, void *state)
        }
 }
 
-
-/*
-  sees what IOCTLs are supported
- */
-BOOL torture_ioctl_test(int dummy)
-{
-       static struct cli_state *cli;
-       uint16 device, function;
-       int fnum;
-       const char *fname = "\\ioctl.dat";
-       DATA_BLOB blob;
-       NTSTATUS status;
-
-       if (!torture_open_connection(&cli)) {
-               return False;
-       }
-
-       printf("starting ioctl test\n");
-
-       cli_unlink(cli, fname);
-
-       fnum = cli_open(cli, fname, O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-       if (fnum == -1) {
-               printf("open of %s failed (%s)\n", fname, cli_errstr(cli));
-               return False;
-       }
-
-       status = cli_raw_ioctl(cli, fnum, 0x2d0000 | (0x0420<<2), &blob);
-       printf("ioctl device info: %s\n", cli_errstr(cli));
-
-       status = cli_raw_ioctl(cli, fnum, IOCTL_QUERY_JOB_INFO, &blob);
-       printf("ioctl job info: %s\n", cli_errstr(cli));
-
-       for (device=0;device<0x100;device++) {
-               printf("testing device=0x%x\n", device);
-               for (function=0;function<0x100;function++) {
-                       uint32 code = (device<<16) | function;
-
-                       status = cli_raw_ioctl(cli, fnum, code, &blob);
-
-                       if (NT_STATUS_IS_OK(status)) {
-                               printf("ioctl 0x%x OK : %d bytes\n", code, blob.length);
-                               data_blob_free(&blob);
-                       }
-               }
-       }
-
-       if (!torture_close_connection(cli)) {
-               return False;
-       }
-
-       return True;
-}
-
-
-/*
-  tries varients of chkpath
- */
-BOOL torture_chkpath_test(int dummy)
-{
-       static struct cli_state *cli;
-       int fnum;
-       BOOL ret;
-
-       if (!torture_open_connection(&cli)) {
-               return False;
-       }
-
-       printf("starting chkpath test\n");
-
-       /* cleanup from an old run */
-       cli_rmdir(cli, "\\chkpath.dir\\dir2");
-       cli_unlink(cli, "\\chkpath.dir\\*");
-       cli_rmdir(cli, "\\chkpath.dir");
-
-       if (!cli_mkdir(cli, "\\chkpath.dir")) {
-               printf("mkdir1 failed : %s\n", cli_errstr(cli));
-               return False;
-       }
-
-       if (!cli_mkdir(cli, "\\chkpath.dir\\dir2")) {
-               printf("mkdir2 failed : %s\n", cli_errstr(cli));
-               return False;
-       }
-
-       fnum = cli_open(cli, "\\chkpath.dir\\foo.txt", O_RDWR|O_CREAT|O_EXCL, DENY_NONE);
-       if (fnum == -1) {
-               printf("open1 failed (%s)\n", cli_errstr(cli));
-               return False;
-       }
-       cli_close(cli, fnum);
-
-       if (!cli_chkpath(cli, "\\chkpath.dir")) {
-               printf("chkpath1 failed: %s\n", cli_errstr(cli));
-               ret = False;
-       }
-
-       if (!cli_chkpath(cli, "\\chkpath.dir\\dir2")) {
-               printf("chkpath2 failed: %s\n", cli_errstr(cli));
-               ret = False;
-       }
-
-       if (!cli_chkpath(cli, "\\chkpath.dir\\foo.txt")) {
-               ret = check_error(__LINE__, cli, ERRDOS, ERRbadpath, 
-                                 NT_STATUS_NOT_A_DIRECTORY);
-       } else {
-               printf("* chkpath on a file should fail\n");
-               ret = False;
-       }
-
-       if (!cli_chkpath(cli, "\\chkpath.dir\\bar.txt")) {
-               ret = check_error(__LINE__, cli, ERRDOS, ERRbadfile, 
-                                 NT_STATUS_OBJECT_NAME_NOT_FOUND);
-       } else {
-               printf("* chkpath on a non existant file should fail\n");
-               ret = False;
-       }
-
-       if (!cli_chkpath(cli, "\\chkpath.dir\\dirxx\\bar.txt")) {
-               ret = check_error(__LINE__, cli, ERRDOS, ERRbadpath, 
-                                 NT_STATUS_OBJECT_PATH_NOT_FOUND);
-       } else {
-               printf("* chkpath on a non existent component should fail\n");
-               ret = False;
-       }
-
-       cli_rmdir(cli, "\\chkpath.dir\\dir2");
-       cli_unlink(cli, "\\chkpath.dir\\*");
-       cli_rmdir(cli, "\\chkpath.dir");
-
-       if (!torture_close_connection(cli)) {
-               return False;
-       }
-
-       return ret;
-}
-
-
-
-
 static BOOL run_dirtest1(int dummy)
 {
        int i;
-       static struct cli_state *cli;
+       static struct cli_state cli;
        int fnum, num_seen;
        BOOL correct = True;
 
@@ -4125,36 +3712,36 @@ static BOOL run_dirtest1(int dummy)
                return False;
        }
 
-       cli_sockopt(cli, sockops);
+       cli_sockopt(&cli, sockops);
 
-       cli_list(cli, "\\LISTDIR\\*", 0, del_fn, cli);
-       cli_list(cli, "\\LISTDIR\\*", aDIR, del_fn, cli);
-       cli_rmdir(cli, "\\LISTDIR");
-       cli_mkdir(cli, "\\LISTDIR");
+       cli_list(&cli, "\\LISTDIR\\*", 0, del_fn, &cli);
+       cli_list(&cli, "\\LISTDIR\\*", aDIR, del_fn, &cli);
+       cli_rmdir(&cli, "\\LISTDIR");
+       cli_mkdir(&cli, "\\LISTDIR");
 
        /* Create 1000 files and 1000 directories. */
        for (i=0;i<1000;i++) {
                fstring fname;
                slprintf(fname, sizeof(fname), "\\LISTDIR\\f%d", i);
-               fnum = cli_nt_create_full(cli, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_ARCHIVE,
+               fnum = cli_nt_create_full(&cli, fname, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_ARCHIVE,
                                   FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF, 0);
                if (fnum == -1) {
                        fprintf(stderr,"Failed to open %s\n", fname);
                        return False;
                }
-               cli_close(cli, fnum);
+               cli_close(&cli, fnum);
        }
        for (i=0;i<1000;i++) {
                fstring fname;
                slprintf(fname, sizeof(fname), "\\LISTDIR\\d%d", i);
-               if (!cli_mkdir(cli, fname)) {
+               if (!cli_mkdir(&cli, fname)) {
                        fprintf(stderr,"Failed to open %s\n", fname);
                        return False;
                }
        }
 
        /* Now ensure that doing an old list sees both files and directories. */
-       num_seen = cli_list_old(cli, "\\LISTDIR\\*", aDIR, list_fn, NULL);
+       num_seen = cli_list_old(&cli, "\\LISTDIR\\*", aDIR, list_fn, NULL);
        printf("num_seen = %d\n", num_seen );
        /* We should see 100 files + 1000 directories + . and .. */
        if (num_seen != 2002)
@@ -4163,28 +3750,28 @@ static BOOL run_dirtest1(int dummy)
        /* Ensure if we have the "must have" bits we only see the
         * relevent entries.
         */
-       num_seen = cli_list_old(cli, "\\LISTDIR\\*", (aDIR<<8)|aDIR, list_fn, NULL);
+       num_seen = cli_list_old(&cli, "\\LISTDIR\\*", (aDIR<<8)|aDIR, list_fn, NULL);
        printf("num_seen = %d\n", num_seen );
        if (num_seen != 1002)
                correct = False;
 
-       num_seen = cli_list_old(cli, "\\LISTDIR\\*", (aARCH<<8)|aDIR, list_fn, NULL);
+       num_seen = cli_list_old(&cli, "\\LISTDIR\\*", (aARCH<<8)|aDIR, list_fn, NULL);
        printf("num_seen = %d\n", num_seen );
        if (num_seen != 1000)
                correct = False;
 
        /* Delete everything. */
-       cli_list(cli, "\\LISTDIR\\*", 0, del_fn, cli);
-       cli_list(cli, "\\LISTDIR\\*", aDIR, del_fn, cli);
-       cli_rmdir(cli, "\\LISTDIR");
+       cli_list(&cli, "\\LISTDIR\\*", 0, del_fn, &cli);
+       cli_list(&cli, "\\LISTDIR\\*", aDIR, del_fn, &cli);
+       cli_rmdir(&cli, "\\LISTDIR");
 
 #if 0
-       printf("Matched %d\n", cli_list(cli, "a*.*", 0, list_fn, NULL));
-       printf("Matched %d\n", cli_list(cli, "b*.*", 0, list_fn, NULL));
-       printf("Matched %d\n", cli_list(cli, "xyzabc", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "a*.*", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "b*.*", 0, list_fn, NULL));
+       printf("Matched %d\n", cli_list(&cli, "xyzabc", 0, list_fn, NULL));
 #endif
 
-       if (!torture_close_connection(cli)) {
+       if (!torture_close_connection(&cli)) {
                correct = False;
        }
 
@@ -4338,6 +3925,7 @@ static double create_procs(BOOL (*fn)(int), BOOL *result)
                        slprintf(myname,sizeof(myname),"CLIENT%d", i);
 
                        while (1) {
+                               memset(&current_cli, 0, sizeof(current_cli));
                                if (torture_open_connection(&current_cli)) break;
                                if (tries-- == 0) {
                                        printf("pid %d failed to start\n", (int)getpid());
@@ -4407,7 +3995,6 @@ static struct {
        {"LOCK4",  run_locktest4,  0},
        {"LOCK5",  run_locktest5,  0},
        {"LOCK6",  run_locktest6,  0},
-       {"LOCK7",  run_locktest7,  0},
        {"UNLINK", run_unlinktest, 0},
        {"BROWSE", run_browsetest, 0},
        {"ATTR",   run_attrtest,   0},
@@ -4430,9 +4017,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},
@@ -4445,9 +4029,6 @@ static struct {
        {"CASETABLE", torture_casetable, 0},
        {"ERRMAPEXTRACT", run_error_map_extract, 0},
        {"PIPE_NUMBER", run_pipe_number, 0},
-       {"TCON2",  run_tcon2_test, 0},
-       {"IOCTL",  torture_ioctl_test, 0},
-       {"CHKPATH",  torture_chkpath_test, 0},
        {NULL, NULL, 0}};
 
 
@@ -4513,7 +4094,6 @@ static void usage(void)
        printf("\t-L use oplocks\n");
        printf("\t-c CLIENT.TXT   specify client load file for NBENCH\n");
        printf("\t-A showall\n");
-       printf("\t-p port\n");
        printf("\t-s seed\n");
        printf("\n\n");
 
@@ -4528,6 +4108,10 @@ static void usage(void)
        exit(1);
 }
 
+
+
+
+
 /****************************************************************************
   main program
 ****************************************************************************/
@@ -4583,11 +4167,8 @@ static void usage(void)
 
        fstrcpy(workgroup, lp_workgroup());
 
-       while ((opt = getopt(argc, argv, "p:hW:U:n:N:O:o:m:Ld:Ac:ks:")) != EOF) {
+       while ((opt = getopt(argc, argv, "hW:U:n:N:O:o:m:Ld:Ac:ks:")) != EOF) {
                switch (opt) {
-               case 'p':
-                       port_to_use = atoi(optarg);
-                       break;
                case 's':
                        srandom(atoi(optarg));
                        break;
index 74d5f164c09a2fad26f385d9f4884f2c4122feab..2b5a912062fecee7ce5ce48c92fdf12344df0026 100644 (file)
@@ -24,7 +24,7 @@
 
 BOOL torture_utable(int dummy)
 {
-       struct cli_state *cli;
+       static struct cli_state cli;
        fstring fname, alt_name;
        int fnum;
        smb_ucs2_t c2;
@@ -40,8 +40,8 @@ BOOL torture_utable(int dummy)
 
        memset(valid, 0, sizeof(valid));
 
-       cli_mkdir(cli, "\\utable");
-       cli_unlink(cli, "\\utable\\*");
+       cli_mkdir(&cli, "\\utable");
+       cli_unlink(&cli, "\\utable\\*");
 
        for (c=1; c < 0x10000; c++) {
                char *p;
@@ -55,13 +55,13 @@ BOOL torture_utable(int dummy)
                p[len] = 0;
                fstrcat(fname,"_a_long_extension");
 
-               fnum = cli_open(cli, fname, O_RDWR | O_CREAT | O_TRUNC, 
+               fnum = cli_open(&cli, fname, O_RDWR | O_CREAT | O_TRUNC, 
                                DENY_NONE);
                if (fnum == -1) continue;
 
                chars_allowed++;
 
-               cli_qpathinfo_alt_name(cli, fname, alt_name);
+               cli_qpathinfo_alt_name(&cli, fname, alt_name);
 
                if (strncmp(alt_name, "X_A_L", 5) != 0) {
                        alt_allowed++;
@@ -69,8 +69,8 @@ BOOL torture_utable(int dummy)
                        d_printf("fname=[%s] alt_name=[%s]\n", fname, alt_name);
                }
 
-               cli_close(cli, fnum);
-               cli_unlink(cli, fname);
+               cli_close(&cli, fnum);
+               cli_unlink(&cli, fname);
 
                if (c % 100 == 0) {
                        printf("%d (%d/%d)\r", c, chars_allowed, alt_allowed);
@@ -78,7 +78,7 @@ BOOL torture_utable(int dummy)
        }
        printf("%d (%d/%d)\n", c, chars_allowed, alt_allowed);
 
-       cli_rmdir(cli, "\\utable");
+       cli_rmdir(&cli, "\\utable");
 
        d_printf("%d chars allowed   %d alt chars allowed\n", chars_allowed, alt_allowed);
 
@@ -115,7 +115,7 @@ static char *form_name(int c)
 
 BOOL torture_casetable(int dummy)
 {
-       static struct cli_state *cli;
+       static struct cli_state cli;
        char *fname;
        int fnum;
        int c, i;
@@ -129,35 +129,28 @@ BOOL torture_casetable(int dummy)
 
        memset(equiv, 0, sizeof(equiv));
 
-       cli_unlink(cli, "\\utable\\*");
-       cli_rmdir(cli, "\\utable");
-       if (!cli_mkdir(cli, "\\utable")) {
-               printf("Failed to create utable directory!\n");
-               return False;
-       }
+       cli_mkdir(&cli, "\\utable");
+       cli_unlink(&cli, "\\utable\\*");
 
        for (c=1; c < 0x10000; c++) {
                size_t size;
 
                if (c == '.' || c == '\\') continue;
 
-               printf("%04x (%c)\n", c, isprint(c)?c:'.');
+               printf("%04x\n", c);
 
                fname = form_name(c);
-               fnum = cli_nt_create_full(cli, fname, 
+               fnum = cli_nt_create_full(&cli, fname, 
                                          GENERIC_ALL_ACCESS, 
                                          FILE_ATTRIBUTE_NORMAL,
                                          FILE_SHARE_NONE,
                                          FILE_OPEN_IF, 0);
 
-               if (fnum == -1) {
-                       printf("Failed to create file with char %04x\n", c);
-                       continue;
-               }
+               if (fnum == -1) continue;
 
                size = 0;
 
-               if (!cli_qfileinfo(cli, fnum, NULL, &size, 
+               if (!cli_qfileinfo(&cli, fnum, NULL, &size, 
                                   NULL, NULL, NULL, NULL, NULL)) continue;
 
                if (size > 0) {
@@ -167,11 +160,11 @@ BOOL torture_casetable(int dummy)
                        if (size/sizeof(int) >= MAX_EQUIVALENCE) {
                                printf("too many chars match?? size=%d c=0x%04x\n",
                                       size, c);
-                               cli_close(cli, fnum);
+                               cli_close(&cli, fnum);
                                return False;
                        }
 
-                       cli_read(cli, fnum, (char *)c2, 0, size);
+                       cli_read(&cli, fnum, (char *)c2, 0, size);
                        printf("%04x: ", c);
                        equiv[c][0] = c;
                        for (i=0; i<size/sizeof(int); i++) {
@@ -182,12 +175,12 @@ BOOL torture_casetable(int dummy)
                        fflush(stdout);
                }
 
-               cli_write(cli, fnum, 0, (char *)&c, size, sizeof(c));
-               cli_close(cli, fnum);
+               cli_write(&cli, fnum, 0, (char *)&c, size, sizeof(c));
+               cli_close(&cli, fnum);
        }
 
-       cli_unlink(cli, "\\utable\\*");
-       cli_rmdir(cli, "\\utable");
+       cli_unlink(&cli, "\\utable\\*");
+       cli_rmdir(&cli, "\\utable");
 
        return True;
 }
index 3b28a3c496b90a9515e97057ebb5caba02b5f0a4..04f31656d3d0a92ad1809b7d8034a08c4ae719a0 100644 (file)
@@ -4,7 +4,7 @@
 
    Copyright (C) Simo Sorce 2002
    Copyright (C) Eric Lorimer 2002
-   Copyright (C) Jelmer Vernooij 2002,2003
+   Copyright (C) Jelmer Vernooij 2002
 
    Most of this code was ripped off of rpcclient.
    Copyright (C) Tim Potter 2000-2001
@@ -474,11 +474,17 @@ BOOL reload_services(BOOL test)
 
 int main(int argc, char *argv[])
 {
-       static char             *cmdstr = NULL;
+       BOOL                    interactive = True;
+       int                     opt;
+       static char             *cmdstr = "";
+       static char             *opt_logfile=NULL;
+       static int              opt_debuglevel;
+       pstring                 logfile;
        struct cmd_set          **cmd_set;
+       extern BOOL             AllowDebugChange;
        static struct vfs_state vfs;
        int i;
-       static const char       *filename = NULL;
+       static const char       *filename = "";
 
        /* make sure the vars that get altered (4th field) are in
           a fixed location or certain compilers complain */
@@ -487,17 +493,35 @@ int main(int argc, char *argv[])
                POPT_AUTOHELP
                {"file",        'f', POPT_ARG_STRING,   &filename, 0, },
                {"command",     'c', POPT_ARG_STRING,   &cmdstr, 0, "Execute specified list of commands" },
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
+               {"logfile",     'l', POPT_ARG_STRING,   &opt_logfile, 'l', "Write output to specified logfile" },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { 0, 0, 0, 0}
        };
 
 
        setlinebuf(stdout);
 
+       DEBUGLEVEL = 1;
+       AllowDebugChange = False;
+
        pc = poptGetContext("vfstest", argc, (const char **) argv,
                            long_options, 0);
        
-       while(poptGetNextOpt(pc) != -1);
+       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;
+                       
+               case 'd':
+                       DEBUGLEVEL = opt_debuglevel;
+                       break;
+               }
+       }
 
 
        poptFreeContext(pc);
@@ -507,7 +531,9 @@ int main(int argc, char *argv[])
 
        /* the following functions are part of the Samba debugging
           facilities.  See lib/debug.c */
-       setup_logging("vfstest", True);
+       setup_logging("vfstest", interactive);
+       if (!interactive) 
+               reopen_logs();
        
        /* Load command lists */
 
@@ -530,13 +556,13 @@ int main(int argc, char *argv[])
        smbd_vfs_init(vfs.conn);
 
        /* Do we have a file input? */
-       if (filename && filename[0]) {
+       if (filename[0]) {
                process_file(&vfs, filename);
                return 0;
        }
 
        /* Do anything specified with -c */
-       if (cmdstr && cmdstr[0]) {
+       if (cmdstr[0]) {
                char    *cmd;
                char    *p = cmdstr;
  
diff --git a/source3/utils/editreg.c b/source3/utils/editreg.c
deleted file mode 100644 (file)
index 6b3b451..0000000
+++ /dev/null
@@ -1,2056 +0,0 @@
-/* 
-   Samba Unix/Linux SMB client utility editreg.c 
-   Copyright (C) 2002 Richard Sharpe, rsharpe@richardsharpe.com
-   Copyright (C) 2003 Jelmer Vernooij (conversion to popt)
-
-   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>
-#include "popt.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;
-}
-
-int main(int argc, char *argv[])
-{
-  REGF *regf;
-  int opt;
-  static char *cmd_file = NULL;
-  poptContext pc;
-  struct poptOption long_options[] = {
-       POPT_AUTOHELP
-       { "verbose", 'v', POPT_ARG_NONE, NULL, 'v', "Sets verbose mode" },
-       { "command-file", 'c', POPT_ARG_STRING, &cmd_file, 'c', "Specifies a command file" },
-       { 0, 0, 0, 0 }
-  };
-
-  pc = poptGetContext("editreg", argc, (const char **)argv, long_options, 
-                                         POPT_CONTEXT_KEEP_FIRST);
-
-  poptSetOtherOptionHelp(pc, "<registry-file>");
-
-  while((opt = poptGetNextOpt(pc)) != -1)
-         switch(opt) {
-         case 'v':
-                 verbose++;
-                 break;
-         }
-
-  poptGetArg(pc); /* For argv[0] */
-
-  if (!poptPeekArg(pc)) {
-       poptPrintUsage(pc, stderr, 0);
-       exit(1);
-  }
-
-  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, poptPeekArg(pc))) {
-    fprintf(stderr, "Could not set name of registry file: %s, %s\n", 
-           poptPeekArg(pc), 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", poptPeekArg(pc));
-    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);
-  poptFreeContext(pc);
-  return 0;
-}
index 3ab34e7aa9a3db5ad2e513712e05c23617822a14..7588771fbc3f16aefec2950a0e14447f9bb96006 100644 (file)
@@ -78,6 +78,8 @@ static int opt_machine_pass = 0;
 BOOL opt_have_ip = False;
 struct in_addr opt_dest_ip;
 
+extern BOOL AllowDebugChange;
+
 /*
   run a function from a function table. If not found then
   call the specified usage function 
@@ -511,14 +513,18 @@ static struct functable net_func[] = {
        int argc_new = 0;
        const char ** argv_new;
        poptContext pc;
+       static char *servicesf = dyn_CONFIGFILE;
+       static char *debuglevel = NULL;
 
        struct poptOption long_options[] = {
                {"help",        'h', POPT_ARG_NONE,   0, 'h'},
                {"workgroup",   'w', POPT_ARG_STRING, &opt_target_workgroup},
+               {"myworkgroup", 'W', POPT_ARG_STRING, &opt_workgroup},
                {"user",        'U', POPT_ARG_STRING, &opt_user_name, 'U'},
                {"ipaddress",   'I', POPT_ARG_STRING, 0,'I'},
                {"port",        'p', POPT_ARG_INT,    &opt_port},
                {"myname",      'n', POPT_ARG_STRING, &opt_requester_name},
+               {"conf",        's', POPT_ARG_STRING, &servicesf},
                {"server",      'S', POPT_ARG_STRING, &opt_host},
                {"container",   'c', POPT_ARG_STRING, &opt_container},
                {"comment",     'C', POPT_ARG_STRING, &opt_comment},
@@ -530,8 +536,8 @@ static struct functable net_func[] = {
                {"force",       'f', POPT_ARG_NONE,   &opt_force},
                {"timeout",     't', POPT_ARG_INT,    &opt_timeout},
                {"machine-pass",'P', POPT_ARG_NONE,   &opt_machine_pass},
-               {"myworkgroup", 'W', POPT_ARG_STRING, &opt_workgroup},
-               POPT_COMMON_SAMBA
+               {"debuglevel",  'd', POPT_ARG_STRING, &debuglevel},
+               {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
                { 0, 0, 0, 0}
        };
 
@@ -571,8 +577,13 @@ static struct functable net_func[] = {
                        exit(1);
                }
        }
-       
-       lp_load(dyn_CONFIGFILE,True,False,False);       
+
+       if (debuglevel) {
+               debug_parse_levels(debuglevel);
+               AllowDebugChange = False;
+       }
+
+       lp_load(servicesf,True,False,False);       
 
        argv_new = (const char **)poptGetArgs(pc);
 
@@ -625,10 +636,6 @@ static struct functable net_func[] = {
                        exit(1);
                }
        }
-
-       if (!opt_password) {
-               opt_password = getenv("PASSWD");
-       }
         
        rc = net_run_function(argc_new-1, argv_new+1, net_func, net_help);
        
index 0f2d673b4bf1e86ff53dca282f356d5e284efdc8..b4697d73dd7455b91b7dfc4d995388f14f2709ad 100644 (file)
@@ -124,7 +124,6 @@ static ADS_STRUCT *ads_startup(void)
        ADS_STATUS status;
        BOOL need_password = False;
        BOOL second_time = False;
-       char *realm;
        
        ads = ads_init(NULL, NULL, opt_host);
 
@@ -151,16 +150,6 @@ retry:
 
        ads->auth.user_name = strdup(opt_user_name);
 
-       /*
-        * If the username is of the form "name@realm", 
-        * extract the realm and convert to upper case.
-        */
-       if ((realm = strchr(ads->auth.user_name, '@'))) {
-               *realm++ = '\0';
-               ads->auth.realm = strdup(realm);
-               strupper(ads->auth.realm);
-       }
-
        status = ads_connect(ads);
        if (!ADS_ERR_OK(status)) {
                if (!need_password && !second_time) {
index 07409aec228d25eec6e815709b15eb24c8018489..4000a248ff69ae25c793774b93cf37517d34a711 100644 (file)
@@ -42,12 +42,11 @@ int net_common_flags_usage(int argc, const char **argv)
        d_printf("Valid miscellaneous options are:\n"); /* misc options */
        d_printf("\t-p or --port=<port>\t\tconnection port on target\n");
        d_printf("\t-W or --myworkgroup=<wg>\tclient workgroup\n");
-       d_printf("\t-d or --debuglevel=<level>\t\tdebug level (0-10)\n");
+       d_printf("\t-d or --debug=<level>\t\tdebug level (0-10)\n");
        d_printf("\t-n or --myname=<name>\t\tclient name\n");
        d_printf("\t-U or --user=<name>\t\tuser name\n");
-       d_printf("\t-s or --configfile=<path>\t\tpathname of smb.conf file\n");
+       d_printf("\t-s or --conf=<path>\t\tpathname of smb.conf file\n");
        d_printf("\t-l or --long\t\t\tDisplay full information\n");
-       d_printf("\t-V or --version\t\tPrint samba version information\n");
        d_printf("\t-P or --machine-pass\t\tAuthenticate as machine account\n");
        return -1;
 }
index 69cf28f99560acfd66531e6babdbab92a496e7e1..922fc027e6c8640e1d0a8eb0299aedec9f03e6ad 100644 (file)
@@ -1880,7 +1880,7 @@ static int rpc_trustdom_list(int argc, const char **argv)
        int num_domains, i, pad_len, col_len = 20;
        DOM_SID *domain_sids;
        char **trusted_dom_names;
-       fstring pdc_name, dummy;
+       fstring pdc_name;
        
        /* trusting domains listing variables */
        POLICY_HND domain_hnd;
@@ -1927,10 +1927,8 @@ static int rpc_trustdom_list(int argc, const char **argv)
        };
        
        /* query info level 5 to obtain sid of a domain being queried */
-       nt_status = cli_lsa_query_info_policy(
-               cli, mem_ctx, &connect_hnd, 5 /* info level */, 
-               dummy, &queried_dom_sid);
-
+       nt_status = cli_lsa_query_info_policy(cli, mem_ctx, &connect_hnd,
+                                       5 /* info level */, domain_name, &queried_dom_sid);
        if (NT_STATUS_IS_ERR(nt_status)) {
                DEBUG(0, ("LSA Query Info failed. Returned error was %s\n",
                        nt_errstr(nt_status)));
index e42c8f563715d90c26070da4b668458fd4c64817..9367404b3544b3c0d6cac0bd716e02c35adae36d 100644 (file)
@@ -364,7 +364,7 @@ sam_account_from_delta(SAM_ACCOUNT *account, SAM_ACCOUNT_INFO *delta)
        }
 
 #if 0
-/*     No kickoff time in the delta? */
+        /* No kickoff time in the delta? */
        if (!nt_time_is_zero(&delta->kickoff_time)) {
                unix_time = nt_time_to_unix(&delta->kickoff_time);
                stored_time = pdb_get_kickoff_time(account);
index d2c5cbc00ed41579c9ad01c7ef3dbc0df6a2c5c8..7e0ed4a2030287d5176de9d57e3c69c35e5d6962 100644 (file)
@@ -2,7 +2,6 @@
    Unix SMB/CIFS implementation.
    NBT client - used to lookup netbios names
    Copyright (C) Andrew Tridgell 1994-1998
-   Copyright (C) Jelmer Vernooij 2003 (Conversion to popt)
    
    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
@@ -55,6 +54,31 @@ static BOOL open_sockets(void)
   return True;
 }
 
+
+/****************************************************************************
+usage on the program
+****************************************************************************/
+static void usage(void)
+{
+  d_printf("Usage: nmblookup [options] name\n");
+  d_printf("Version %s\n",VERSION);
+  d_printf("\t-d debuglevel         set the debuglevel\n");
+  d_printf("\t-B broadcast address  the address to use for broadcasts\n");
+  d_printf("\t-f                    list the NMB flags returned\n");
+  d_printf("\t-U unicast   address  the address to use for unicast\n");
+  d_printf("\t-M                    searches for a master browser\n");
+  d_printf("\t-R                    set recursion desired in packet\n");
+  d_printf("\t-S                    lookup node status as well\n");
+  d_printf("\t-T                    translate IP addresses into names\n");
+  d_printf("\t-r                    Use root port 137 (Win95 only replies to this)\n");
+  d_printf("\t-A                    Do a node status on <name> as an IP Address\n");
+  d_printf("\t-i NetBIOS scope      Use the given NetBIOS scope for name queries\n");
+  d_printf("\t-s smb.conf file      Use the given path to the smb.conf file\n");
+  d_printf("\t-h                    Print this help message.\n");
+  d_printf("\n  If you specify -M and name is \"-\", nmblookup looks up __MSBROWSE__<01>\n");
+  d_printf("\n");
+}
+
 /****************************************************************************
 turn a node status flags field into a string
 ****************************************************************************/
@@ -187,106 +211,130 @@ int main(int argc,char *argv[])
   int opt;
   unsigned int lookup_type = 0x0;
   fstring lookup;
-  static BOOL find_master=False;
-  static BOOL lookup_by_ip = False;
-  poptContext pc;
-
-  struct poptOption long_options[] = {
-         POPT_AUTOHELP
-         { "broadcast", 'B', POPT_ARG_STRING, NULL, 'B', "Specify address to use for broadcasts", "BROADCAST-ADDRESS" },
-         { "flags", 'f', POPT_ARG_VAL, &give_flags, True, "List the NMB flags returned" },
-         { "unicast", 'U', POPT_ARG_STRING, NULL, 'U', "Specify address to use for unicast" },
-         { "master-browser", 'M', POPT_ARG_VAL, &find_master, True, "Search for a master browser" },
-         { "recursion", 'R', POPT_ARG_VAL, &recursion_desired, True, "Set recursion desired in package" },
-         { "status", 'S', POPT_ARG_VAL, &find_status, True, "Lookup node status as well" },
-         { "translate", 'T', POPT_ARG_NONE, NULL, 'T', "Translate IP addresses into names" },
-         { "root-port", 'r', POPT_ARG_VAL, &RootPort, True, "Use root port 137 (Win95 only replies to this)" },
-         { "lookup-by-ip", 'A', POPT_ARG_VAL, &lookup_by_ip, True, "Do a node status on <name> as an IP Address" },
-         POPT_COMMON_SAMBA
-         POPT_COMMON_CONNECTION
-         { 0, 0, 0, 0 }
-  };
-       
-  *lookup = 0;
+  extern int optind;
+  extern char *optarg;
+  BOOL find_master=False;
+  int i;
+  BOOL lookup_by_ip = False;
+  int commandline_debuglevel = -2;
 
-  setup_logging(argv[0],True);
+  DEBUGLEVEL = 1;
+  /* Prevent smb.conf setting from overridding */
+  AllowDebugChange = False;
 
-  pc = poptGetContext("nmblookup", argc, (const char **)argv, long_options, 
-                                         POPT_CONTEXT_KEEP_FIRST);
-
-  poptSetOtherOptionHelp(pc, "<NODE> ...");
-
-  while ((opt = poptGetNextOpt(pc)) != -1) {
-         switch (opt) {
-         case 'B':
-                 bcast_addr = *interpret_addr2(poptGetOptArg(pc));
-                 got_bcast = True;
-                 use_bcast = True;
-                 break;
-         case 'U':
-                 bcast_addr = *interpret_addr2(poptGetOptArg(pc));
-                 got_bcast = True;
-                 use_bcast = False;
-                 break;
-         case 'T':
-                 translate_addresses = !translate_addresses;
-                 break;
-         }
-  }
+  *lookup = 0;
 
-  poptGetArg(pc); /* Remove argv[0] */
+  setup_logging(argv[0],True);
 
-  if(!poptPeekArg(pc)) { 
-         poptPrintUsage(pc, stderr, 0);
-         exit(1);
+  while ((opt = getopt(argc, argv, "d:fB:U:i:s:SMrhART")) != EOF)
+    switch (opt)
+      {
+      case 'B':
+       bcast_addr = *interpret_addr2(optarg);
+       got_bcast = True;
+       use_bcast = True;
+       break;
+      case 'f':
+       give_flags = True;
+       break;
+      case 'U':
+       bcast_addr = *interpret_addr2(optarg);
+       got_bcast = True;
+       use_bcast = False;
+       break;
+      case 'T':
+        translate_addresses = !translate_addresses;
+       break;
+      case 'i':
+       set_global_scope(optarg);
+       break;
+      case 'M':
+       find_master = True;
+       break;
+      case 'S':
+       find_status = True;
+       break;
+      case 'R':
+       recursion_desired = True;
+       break;
+      case 'd':
+       commandline_debuglevel = DEBUGLEVEL = atoi(optarg);
+       break;
+      case 's':
+       pstrcpy(dyn_CONFIGFILE, optarg);
+       break;
+      case 'r':
+        RootPort = True;
+        break;
+      case 'h':
+       usage();
+       exit(0);
+       break;
+      case 'A':
+        lookup_by_ip = True;
+        break;
+      default:
+       usage();
+       exit(1);
+      }
+
+  if (argc < 2) {
+    usage();
+    exit(1);
   }
 
   if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
-         fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
+    fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
   }
 
+  /*
+   * Ensure we reset DEBUGLEVEL if someone specified it
+   * on the command line.
+   */
+
+  if(commandline_debuglevel != -2)
+    DEBUGLEVEL = commandline_debuglevel;
+
   load_interfaces();
   if (!open_sockets()) return(1);
 
-  while(poptPeekArg(pc))
+  for (i=optind;i<argc;i++)
   {
-         char *p;
-         struct in_addr ip;
-
-         fstrcpy(lookup,poptGetArg(pc));
-
-         if(lookup_by_ip)
-         {
-                 ip = *interpret_addr2(lookup);
-                 fstrcpy(lookup,"*");
-                 do_node_status(ServerFD, lookup, lookup_type, ip);
-                 continue;
-         }
-
-         if (find_master) {
-                 if (*lookup == '-') {
-                         fstrcpy(lookup,"\01\02__MSBROWSE__\02");
-                         lookup_type = 1;
-                 } else {
-                         lookup_type = 0x1d;
-                 }
-         }
-
-         p = strchr_m(lookup,'#');
-         if (p) {
-                 *p = '\0';
-                 sscanf(++p,"%x",&lookup_type);
-         }
-
-         if (!query_one(lookup, lookup_type)) {
-                 d_printf( "name_query failed to find name %s", lookup );
-                 if( 0 != lookup_type )
-                         d_printf( "#%02x", lookup_type );
-                 d_printf( "\n" );
-         }
+      char *p;
+      struct in_addr ip;
+
+      fstrcpy(lookup,argv[i]);
+
+      if(lookup_by_ip)
+      {
+        fstrcpy(lookup,"*");
+        ip = *interpret_addr2(argv[i]);
+       do_node_status(ServerFD, lookup, lookup_type, ip);
+        continue;
+      }
+
+      if (find_master) {
+       if (*lookup == '-') {
+         fstrcpy(lookup,"\01\02__MSBROWSE__\02");
+         lookup_type = 1;
+       } else {
+         lookup_type = 0x1d;
+       }
+      }
+
+      p = strchr_m(lookup,'#');
+      if (p) {
+        *p = '\0';
+        sscanf(++p,"%x",&lookup_type);
+      }
+
+      if (!query_one(lookup, lookup_type)) {
+       d_printf( "name_query failed to find name %s", lookup );
+        if( 0 != lookup_type )
+          d_printf( "#%02x", lookup_type );
+        d_printf( "\n" );
+      }
   }
-
-  poptFreeContext(pc);
-
+  
   return(0);
 }
index 88913c80512c8726968a6a4d73a08523b1a8af5d..ac456769f22d0021430af1ecb377fd0d019ee64d 100644 (file)
@@ -4,7 +4,7 @@
    Winbind status program.
 
    Copyright (C) Tim Potter      2000-2002
-   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2003
+   Copyright (C) Andrew Bartlett 2003
    Copyright (C) Francesco Chemolli <kinkie@kame.usr.dsi.unimi.it> 2000 
 
    This program is free software; you can redistribute it and/or modify
@@ -39,17 +39,22 @@ enum squid_mode {
 extern int winbindd_fd;
 
 static const char *helper_protocol;
-static const char *opt_username;
-static const char *opt_domain;
-static const char *opt_workstation;
-static const char *opt_password;
-static DATA_BLOB opt_challenge;
-static DATA_BLOB opt_lm_response;
-static DATA_BLOB opt_nt_response;
+static const char *username;
+static const char *domain;
+static const char *workstation;
+static const char *hex_challenge;
+static const char *hex_lm_response;
+static const char *hex_nt_response;
+static unsigned char *challenge;
+static size_t challenge_len;
+static unsigned char *lm_response;
+static size_t lm_response_len;
+static unsigned char *nt_response;
+static size_t nt_response_len;
 static int request_lm_key;
 static int request_nt_key;
-static int diagnostics;
 
+static char *password;
 
 static char winbind_separator(void)
 {
@@ -157,110 +162,58 @@ static BOOL check_plaintext_auth(const char *user, const char *pass, BOOL stdout
                        d_printf("Reading winbind reply failed! (0x01)\n");
                }
                
-               d_printf("%s: %s (0x%x)\n", 
+               d_printf("%s (0x%x)\n", 
                         response.data.auth.nt_status_string, 
-                        response.data.auth.error_string, 
                         response.data.auth.nt_status);
        } else {
                if ((result != NSS_STATUS_SUCCESS) && (response.data.auth.nt_status == 0)) {
                        DEBUG(1, ("Reading winbind reply failed! (0x01)\n"));
                }
                
-               DEBUG(3, ("%s: %s (0x%x)\n", 
-                         response.data.auth.nt_status_string, 
-                         response.data.auth.error_string,
-                         response.data.auth.nt_status));               
+               DEBUG(3, ("%s (0x%x)\n", 
+                        response.data.auth.nt_status_string, 
+                        response.data.auth.nt_status));                
        }
                
         return (result == NSS_STATUS_SUCCESS);
 }
 
-/* authenticate a user with an encrypted username/password */
-
-static NTSTATUS contact_winbind_auth_crap(const char *username, 
-                                         const char *domain, 
-                                         const char *workstation,
-                                         const DATA_BLOB *challenge, 
-                                         const DATA_BLOB *lm_response, 
-                                         const DATA_BLOB *nt_response, 
-                                         uint32 flags, 
-                                         uint8 lm_key[16], 
-                                         uint8 nt_key[16], 
-                                         char **error_string) 
+static NTSTATUS winbind_pw_check(struct ntlmssp_state *ntlmssp_state) 
 {
-       NTSTATUS nt_status;
-        NSS_STATUS result;
        struct winbindd_request request;
        struct winbindd_response response;
-
-       static uint8 zeros[16];
+        NSS_STATUS result;
+       /* Send off request */
 
        ZERO_STRUCT(request);
        ZERO_STRUCT(response);
 
-       request.data.auth_crap.flags = flags;
-
-       fstrcpy(request.data.auth_crap.user, username);
-
-       fstrcpy(request.data.auth_crap.domain, domain);
-       fstrcpy(request.data.auth_crap.workstation, workstation);
-
-       memcpy(request.data.auth_crap.chal, challenge->data, MIN(challenge->length, 8));
+       fstrcpy(request.data.auth_crap.user, ntlmssp_state->user);
 
-       if (lm_response && lm_response->length) {
-               memcpy(request.data.auth_crap.lm_resp, lm_response->data, MIN(lm_response->length, sizeof(request.data.auth_crap.lm_resp)));
-               request.data.auth_crap.lm_resp_len = lm_response->length;
-       }
-
-       if (nt_response && nt_response->length) {
-               memcpy(request.data.auth_crap.nt_resp, nt_response->data, MIN(nt_response->length, sizeof(request.data.auth_crap.nt_resp)));
-                request.data.auth_crap.nt_resp_len = nt_response->length;
-       }
+       fstrcpy(request.data.auth_crap.domain, ntlmssp_state->domain);
+       fstrcpy(request.data.auth_crap.workstation, ntlmssp_state->workstation);
        
+       memcpy(request.data.auth_crap.chal, ntlmssp_state->chal.data, 
+              MIN(ntlmssp_state->chal.length, 8));
+
+       memcpy(request.data.auth_crap.lm_resp, ntlmssp_state->lm_resp.data, 
+              MIN(ntlmssp_state->lm_resp.length, sizeof(request.data.auth_crap.lm_resp)));
+        
+       memcpy(request.data.auth_crap.nt_resp, ntlmssp_state->nt_resp.data,
+              MIN(ntlmssp_state->nt_resp.length, sizeof(request.data.auth_crap.nt_resp)));
+        
+        request.data.auth_crap.lm_resp_len = ntlmssp_state->lm_resp.length;
+        request.data.auth_crap.nt_resp_len = ntlmssp_state->nt_resp.length;
+
        result = winbindd_request(WINBINDD_PAM_AUTH_CRAP, &request, &response);
 
        /* Display response */
 
        if ((result != NSS_STATUS_SUCCESS) && (response.data.auth.nt_status == 0)) {
-               nt_status = NT_STATUS_UNSUCCESSFUL;
-               if (error_string)
-                       *error_string = smb_xstrdup("Reading winbind reply failed!");
-               return nt_status;
-       }
-       
-       nt_status = (NT_STATUS(response.data.auth.nt_status));
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               if (error_string) 
-                       *error_string = smb_xstrdup(response.data.auth.error_string);
-               return nt_status;
+               return NT_STATUS_UNSUCCESSFUL;
        }
 
-       if ((flags & WINBIND_PAM_LMKEY) && lm_key 
-           && (memcmp(zeros, response.data.auth.first_8_lm_hash, 
-                      sizeof(response.data.auth.first_8_lm_hash)) != 0)) {
-               memcpy(lm_key, response.data.auth.first_8_lm_hash, 
-                       sizeof(response.data.auth.first_8_lm_hash));
-       }
-       if ((flags & WINBIND_PAM_NTKEY) && nt_key
-                   && (memcmp(zeros, response.data.auth.nt_session_key, 
-                              sizeof(response.data.auth.nt_session_key)) != 0)) {
-               memcpy(nt_key, response.data.auth.nt_session_key, 
-                       sizeof(response.data.auth.nt_session_key));
-       }
-       return nt_status;
-}
-                                  
-static NTSTATUS winbind_pw_check(struct ntlmssp_state *ntlmssp_state) 
-{
-       return contact_winbind_auth_crap(ntlmssp_state->user, ntlmssp_state->domain,
-                                        ntlmssp_state->workstation,
-                                        &ntlmssp_state->chal,
-                                        &ntlmssp_state->lm_resp,
-                                        &ntlmssp_state->nt_resp, 
-                                        0,
-                                        NULL, 
-                                        NULL, 
-                                        NULL);
+       return NT_STATUS(response.data.auth.nt_status);
 }
 
 static void manage_squid_ntlmssp_request(enum squid_mode squid_mode, 
@@ -403,283 +356,72 @@ static void squid_stream(enum squid_mode squid_mode) {
 
 static BOOL check_auth_crap(void)
 {
-       NTSTATUS nt_status;
-       uint32 flags = 0;
-       char lm_key[8];
-       char nt_key[16];
-       char *hex_lm_key;
-       char *hex_nt_key;
-       char *error_string;
-       
+       struct winbindd_request request;
+       struct winbindd_response response;
+       char *lm_key;
+       char *nt_key;
        static uint8 zeros[16];
 
-       if (request_lm_key) 
-               flags |= WINBIND_PAM_LMKEY;
-
-       if (request_nt_key) 
-               flags |= WINBIND_PAM_NTKEY;
-
-       nt_status = contact_winbind_auth_crap(opt_username, opt_domain, 
-                                             opt_workstation,
-                                             &opt_challenge, 
-                                             &opt_lm_response, 
-                                             &opt_nt_response, 
-                                             flags,
-                                             lm_key, 
-                                             nt_key, 
-                                             &error_string);
-
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               d_printf("%s (0x%x)\n", 
-                        error_string,
-                        NT_STATUS_V(nt_status));
-               SAFE_FREE(error_string);
-               return False;
-       }
-
-       if (request_lm_key 
-           && (memcmp(zeros, lm_key, 
-                      sizeof(lm_key)) != 0)) {
-               hex_encode(lm_key,
-                          sizeof(lm_key),
-                          &hex_lm_key);
-               d_printf("LM_KEY: %s\n", hex_lm_key);
-               SAFE_FREE(hex_lm_key);
-       }
-       if (request_nt_key 
-           && (memcmp(zeros, nt_key, 
-                      sizeof(nt_key)) != 0)) {
-               hex_encode(nt_key, 
-                          sizeof(nt_key), 
-                          &hex_nt_key);
-               d_printf("NT_KEY: %s\n", hex_nt_key);
-               SAFE_FREE(hex_nt_key);
-       }
-
-        return True;
-}
-
-/* 
-   Authenticate a user with a challenge/response, checking session key
-   and valid authentication types
-*/
-
-static const DATA_BLOB get_challenge(void) 
-{
-       static DATA_BLOB chal;
-       if (opt_challenge.length)
-               return opt_challenge;
-       
-       chal = data_blob(NULL, 8);
-
-       generate_random_buffer(chal.data, chal.length, False);
-       return chal;
-}
-
-static BOOL test_lm(void) 
-{
-       NTSTATUS nt_status;
-       uint32 flags = 0;
-       DATA_BLOB lm_response = data_blob(NULL, 24);
-
-       uchar lm_key[8];
-       uchar lm_hash[16];
-       DATA_BLOB chall = get_challenge();
-       char *error_string;
-       
-       flags |= WINBIND_PAM_LMKEY;
-
-       SMBencrypt(opt_password,chall.data,lm_response.data);
-       E_deshash(opt_password, lm_hash); 
-
-       nt_status = contact_winbind_auth_crap(opt_username, opt_domain, opt_workstation,
-                                             &chall,
-                                             &lm_response,
-                                             NULL,
-                                             flags,
-                                             lm_key, 
-                                             NULL,
-                                             &error_string);
-       
-       data_blob_free(&lm_response);
-
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               d_printf("%s (0x%x)\n", 
-                        error_string,
-                        NT_STATUS_V(nt_status));
-               return False;
-       }
+        NSS_STATUS result;
+       /* Send off request */
 
-       if (memcmp(lm_hash, lm_key, 
-                  sizeof(lm_key)) != 0) {
-               DEBUG(1, ("LM Key does not match expectations!\n"));
-               DEBUG(1, ("lm_key:\n"));
-               dump_data(1, lm_key, 8);
-               DEBUG(1, ("expected:\n"));
-               dump_data(1, lm_hash, 8);
-       }
-        return True;
-}
+       ZERO_STRUCT(request);
+       ZERO_STRUCT(response);
 
-static BOOL test_lm_ntlm(void) 
-{
-       BOOL pass = True;
-       NTSTATUS nt_status;
-       uint32 flags = 0;
-       DATA_BLOB lm_response = data_blob(NULL, 24);
-       DATA_BLOB nt_response = data_blob(NULL, 24);
-       DATA_BLOB session_key = data_blob(NULL, 16);
-
-       uchar lm_key[8];
-       uchar nt_key[16];
-       uchar lm_hash[16];
-       uchar nt_hash[16];
-       DATA_BLOB chall = get_challenge();
-       char *error_string;
-       
-       flags |= WINBIND_PAM_LMKEY;
-       flags |= WINBIND_PAM_NTKEY;
-
-       SMBencrypt(opt_password,chall.data,lm_response.data);
-       E_deshash(opt_password, lm_hash); 
-
-       SMBNTencrypt(opt_password,chall.data,nt_response.data);
-
-       E_md4hash(opt_password, nt_hash);
-       SMBsesskeygen_ntv1(nt_hash, NULL, session_key.data);
-
-       nt_status = contact_winbind_auth_crap(opt_username, opt_domain, 
-                                             opt_workstation,
-                                             &chall,
-                                             &lm_response,
-                                             &nt_response,
-                                             flags,
-                                             lm_key, 
-                                             nt_key,
-                                             &error_string);
-       
-       data_blob_free(&lm_response);
+       if (request_lm_key) 
+               request.data.auth_crap.flags |= WINBIND_PAM_LMKEY;
 
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               d_printf("%s (0x%x)\n", 
-                        error_string,
-                        NT_STATUS_V(nt_status));
-               SAFE_FREE(error_string);
-               return False;
-       }
+       if (request_nt_key) 
+               request.data.auth_crap.flags |= WINBIND_PAM_NTKEY;
 
-       if (memcmp(lm_hash, lm_key, 
-                  sizeof(lm_key)) != 0) {
-               DEBUG(1, ("LM Key does not match expectations!\n"));
-               DEBUG(1, ("lm_key:\n"));
-               dump_data(1, lm_key, 8);
-               DEBUG(1, ("expected:\n"));
-               dump_data(1, lm_hash, 8);
-               pass = False;
-       }
-       if (memcmp(session_key.data, nt_key, 
-                  sizeof(nt_key)) != 0) {
-               DEBUG(1, ("NT Session Key does not match expectations!\n"));
-               DEBUG(1, ("nt_key:\n"));
-               dump_data(1, nt_key, 16);
-               DEBUG(1, ("expected:\n"));
-               dump_data(1, session_key.data, session_key.length);
-               pass = False;
-       }
-        return pass;
-}
+       fstrcpy(request.data.auth_crap.user, username);
 
-static BOOL test_ntlm(void) 
-{
-       BOOL pass = True;
-       NTSTATUS nt_status;
-       uint32 flags = 0;
-       DATA_BLOB nt_response = data_blob(NULL, 24);
-       DATA_BLOB session_key = data_blob(NULL, 16);
-
-       char nt_key[16];
-       char nt_hash[16];
-       DATA_BLOB chall = get_challenge();
-       char *error_string;
-       
-       flags |= WINBIND_PAM_NTKEY;
-
-       SMBNTencrypt(opt_password,chall.data,nt_response.data);
-       E_md4hash(opt_password, nt_hash);
-       SMBsesskeygen_ntv1(nt_hash, NULL, session_key.data);
-
-       nt_status = contact_winbind_auth_crap(opt_username, opt_domain, 
-                                             opt_workstation,
-                                             &chall,
-                                             NULL,
-                                             &nt_response,
-                                             flags,
-                                             NULL,
-                                             nt_key,
-                                             &error_string);
+       fstrcpy(request.data.auth_crap.domain, domain);
+       fstrcpy(request.data.auth_crap.workstation, workstation);
        
-       data_blob_free(&nt_response);
+       memcpy(request.data.auth_crap.chal, challenge, MIN(challenge_len, 8));
 
-       if (!NT_STATUS_IS_OK(nt_status)) {
-               d_printf("%s (0x%x)\n", 
-                        error_string,
-                        NT_STATUS_V(nt_status));
-               SAFE_FREE(error_string);
-               return False;
-       }
-
-       if (memcmp(session_key.data, nt_key, 
-                  sizeof(nt_key)) != 0) {
-               DEBUG(1, ("NT Session Key does not match expectations!\n"));
-               DEBUG(1, ("nt_key:\n"));
-               dump_data(1, nt_key, 16);
-               DEBUG(1, ("expected:\n"));
-               dump_data(1, session_key.data, session_key.length);
-               pass = False;
-       }
-        return pass;
-}
+       memcpy(request.data.auth_crap.lm_resp, lm_response, MIN(lm_response_len, sizeof(request.data.auth_crap.lm_resp)));
+        
+       memcpy(request.data.auth_crap.nt_resp, nt_response, MIN(nt_response_len, sizeof(request.data.auth_crap.nt_resp)));
+        
+        request.data.auth_crap.lm_resp_len = lm_response_len;
+        request.data.auth_crap.nt_resp_len = nt_response_len;
 
-/* 
-   Tests:
-   
-   - LM only
-   - NT and LM            
-   - NT
-   - NTLMv2
-   - NTLMv2 and LMv2
-   - LMv2
-   
-   check we get the correct session key in each case
-   check what values we get for the LM session key
-   
-*/
-
-struct ntlm_tests {
-       BOOL (*fn)();
-       const char *name;
-} test_table[] = {
-       {test_lm, "test LM"},
-       {test_lm_ntlm, "test LM and NTLM"},
-       {test_ntlm, "test NTLM"}
-/*     {test_lm_ntlmv2, "test NTLMv2"}, */
-/*     {test_lm_ntlmv2, "test NTLMv2 and LMv2"}, */
-/*     {test_lm_ntlmv2, "test LMv2"} */
-};
+       result = winbindd_request(WINBINDD_PAM_AUTH_CRAP, &request, &response);
 
-static BOOL diagnose_ntlm_auth(void)
-{
-       unsigned int i;
-       BOOL pass = True;
+       /* Display response */
 
-       for (i=0; test_table[i].fn; i++) {
-               if (!test_table[i].fn()) {
-                       DEBUG(1, ("Test %s failed!\n", test_table[i].name));
-                       pass = False;
+       if ((result != NSS_STATUS_SUCCESS) && (response.data.auth.nt_status == 0)) {
+               d_printf("Reading winbind reply failed! (0x01)\n");
+       }
+
+       d_printf("%s (0x%x)\n", 
+                response.data.auth.nt_status_string, 
+                response.data.auth.nt_status);
+
+       if (response.data.auth.nt_status == 0) {
+               if (request_lm_key 
+                   && (memcmp(zeros, response.data.auth.first_8_lm_hash, 
+                             sizeof(response.data.auth.first_8_lm_hash)) != 0)) {
+                       hex_encode(response.data.auth.first_8_lm_hash, 
+                                  sizeof(response.data.auth.first_8_lm_hash),
+                                  &lm_key);
+                       d_printf("LM_KEY: %s\n", lm_key);
+                       SAFE_FREE(lm_key);
+               }
+               if (request_nt_key 
+                   && (memcmp(zeros, response.data.auth.nt_session_key, 
+                             sizeof(response.data.auth.nt_session_key)) != 0)) {
+                       hex_encode(response.data.auth.nt_session_key, 
+                                  sizeof(response.data.auth.nt_session_key), 
+                                  &nt_key);
+                       d_printf("NT_KEY: %s\n", nt_key);
+                       SAFE_FREE(nt_key);
                }
        }
 
-        return pass;
+        return result == NSS_STATUS_SUCCESS;
 }
 
 /* Main program */
@@ -694,49 +436,31 @@ enum {
        OPT_NT,
        OPT_PASSWORD,
        OPT_LM_KEY,
-       OPT_NT_KEY,
-       OPT_DIAGNOSTICS
+       OPT_NT_KEY
 };
 
- int main(int argc, const char **argv)
+int main(int argc, const char **argv)
 {
        int opt;
 
-       static const char *hex_challenge;
-       static const char *hex_lm_response;
-       static const char *hex_nt_response;
-       char *challenge;
-       char *lm_response;
-       char *nt_response;
-       size_t challenge_len;
-       size_t lm_response_len;
-       size_t nt_response_len;
-
        poptContext pc;
-
-       /* NOTE: DO NOT change this interface without considering the implications!
-          This is an external interface, which other programs will use to interact 
-          with this helper.
-       */
-
-       /* We do not use single-letter command abbreviations, because they harm future 
-          interface stability. */
-
        struct poptOption long_options[] = {
                POPT_AUTOHELP
+
                { "helper-protocol", 0, POPT_ARG_STRING, &helper_protocol, OPT_DOMAIN, "operate as a stdio-based helper", "helper protocol to use"},
-               { "username", 0, POPT_ARG_STRING, &opt_username, OPT_USERNAME, "username"},
-               { "domain", 0, POPT_ARG_STRING, &opt_domain, OPT_DOMAIN, "domain name"},
-               { "workstation", 0, POPT_ARG_STRING, &opt_workstation, OPT_WORKSTATION, "workstation"},
+               { "username", 0, POPT_ARG_STRING, &username, OPT_USERNAME, "username"},
+               { "domain", 0, POPT_ARG_STRING, &domain, OPT_DOMAIN, "domain name"},
+               { "workstation", 0, POPT_ARG_STRING, &domain, OPT_WORKSTATION, "workstation"},
                { "challenge", 0, POPT_ARG_STRING, &hex_challenge, OPT_CHALLENGE, "challenge (HEX encoded)"},
                { "lm-response", 0, POPT_ARG_STRING, &hex_lm_response, OPT_LM, "LM Response to the challenge (HEX encoded)"},
                { "nt-response", 0, POPT_ARG_STRING, &hex_nt_response, OPT_NT, "NT or NTLMv2 Response to the challenge (HEX encoded)"},
-               { "password", 0, POPT_ARG_STRING, &opt_password, OPT_PASSWORD, "User's plaintext password"},            
+               { "password", 0, POPT_ARG_STRING, &password, OPT_PASSWORD, "User's plaintext password"},                
                { "request-lm-key", 0, POPT_ARG_NONE, &request_lm_key, OPT_LM_KEY, "Retreive LM session key"},
                { "request-nt-key", 0, POPT_ARG_NONE, &request_nt_key, OPT_NT_KEY, "Retreive NT session key"},
-               { "diagnostics", 0, POPT_ARG_NONE, &diagnostics, OPT_DIAGNOSTICS, "Perform diagnostics on the authentictaion chain"},
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { 0, 0, 0, 0 }
        };
 
        /* Samba client initialisation */
@@ -760,40 +484,29 @@ enum {
        while((opt = poptGetNextOpt(pc)) != -1) {
                switch (opt) {
                case OPT_CHALLENGE:
-                       challenge = smb_xmalloc((strlen(hex_challenge)+1)/2);
-                       if ((challenge_len = strhex_to_str(challenge, 
-                                                          strlen(hex_challenge), 
-                                                          hex_challenge)) != 8) {
-                               x_fprintf(x_stderr, "hex decode of %s failed (only got %u bytes)!\n", 
+                       challenge_len = strlen(hex_challenge);
+                       challenge = smb_xmalloc((challenge_len+1)/2);
+                       if ((challenge_len = strhex_to_str(challenge, challenge_len, hex_challenge)) != 8) {
+                               fprintf(stderr, "hex decode of %s failed (only got %u bytes)!\n", 
                                        hex_challenge, challenge_len);
                                exit(1);
                        }
-                       opt_challenge = data_blob(challenge, challenge_len);
-                       SAFE_FREE(challenge);
                        break;
                case OPT_LM: 
-                       lm_response = smb_xmalloc((strlen(hex_lm_response)+1)/2);
-                       lm_response_len = strhex_to_str(lm_response,    
-                                                       strlen(hex_lm_response), 
-                                                       hex_lm_response);
-                       if (lm_response_len != 24) {
-                               x_fprintf(x_stderr, "hex decode of %s failed!\n", hex_lm_response);
+                       lm_response_len = strlen(hex_lm_response);
+                       lm_response = smb_xmalloc((lm_response_len+1)/2);
+                       if ((lm_response_len = strhex_to_str(lm_response, lm_response_len, hex_lm_response)) != 24) {
+                               fprintf(stderr, "hex decode of %s failed!\n", hex_lm_response);
                                exit(1);
                        }
-                       opt_lm_response = data_blob(lm_response, lm_response_len);
-                       SAFE_FREE(lm_response);
                        break;
                case OPT_NT: 
-                       nt_response = smb_xmalloc((strlen(hex_nt_response)+1)/2);
-                       nt_response_len = strhex_to_str(nt_response, 
-                                                       strlen(hex_nt_response), 
-                                                       hex_nt_response);
-                       if (nt_response_len < 24) {
-                               x_fprintf(x_stderr, "hex decode of %s failed!\n", hex_nt_response);
+                       nt_response_len = strlen(hex_nt_response);
+                       nt_response = smb_xmalloc((nt_response_len+1)/2);
+                       if ((nt_response_len = strhex_to_str(nt_response, nt_response_len, hex_nt_response)) < 24) {
+                               fprintf(stderr, "hex decode of %s failed!\n", hex_nt_response);
                                exit(1);
                        }
-                       opt_nt_response = data_blob(nt_response, nt_response_len);
-                       SAFE_FREE(nt_response);
                        break;
                }
        }
@@ -806,45 +519,27 @@ enum {
                } else if (strcmp(helper_protocol, "squid-2.4-basic")== 0) {
                        squid_stream(SQUID_2_4_BASIC);
                } else {
-                       x_fprintf(x_stderr, "unknown helper protocol [%s]\n", helper_protocol);
+                       fprintf(stderr, "unknown helper protocol [%s]\n", helper_protocol);
                        exit(1);
                }
        }
 
-       if (!opt_username) {
-               x_fprintf(x_stderr, "username must be specified!\n\n");
-               poptPrintHelp(pc, stderr, 0);
-               exit(1);
-       }
-
-       if (opt_domain == NULL) {
-               opt_domain = get_winbind_domain();
+       if (domain == NULL) {
+               domain = get_winbind_domain();
        }
 
-       if (opt_workstation == NULL) {
-               opt_workstation = "";
+       if (workstation == NULL) {
+               workstation = "";
        }
 
-       if (opt_challenge.length) {
+       if (challenge) {
                if (!check_auth_crap()) {
                        exit(1);
                }
-               exit(0);
-       } 
-
-       if (!opt_password) {
-               opt_password = getpass("password: ");
-       }
-
-       if (diagnostics) {
-               if (!diagnose_ntlm_auth()) {
-                       exit(1);
-               }
-       } else {
+       } else if (password) {
                fstring user;
-
-               snprintf(user, sizeof(user)-1, "%s%c%s", opt_domain, winbind_separator(), opt_username);
-               if (!check_plaintext_auth(user, opt_password, True)) {
+               snprintf(user, sizeof(user)-1, "%s%c%s", domain, winbind_separator(), username);
+               if (!check_plaintext_auth(user, password, True)) {
                        exit(1);
                }
        }
index bf42fb805f4faac760f3083ce2f0faec4f6b46f8..99d3e01fd28ba437cffaa065de441d731f2c5ae0 100644 (file)
@@ -516,7 +516,7 @@ int main (int argc, char **argv)
        poptContext pc;
        struct poptOption long_options[] = {
                POPT_AUTOHELP
-               {"list",        'L', POPT_ARG_NONE, &list_users, 0, "list all users", NULL},
+               {"list",        'l', POPT_ARG_NONE, &list_users, 0, "list all users", NULL},
                {"verbose",     'v', POPT_ARG_NONE, &verbose, 0, "be verbose", NULL },
                {"smbpasswd-style",     'w',POPT_ARG_NONE, &spstyle, 0, "give output in smbpasswd style", NULL},
                {"user",        'u', POPT_ARG_STRING, &user_name, 0, "use username", "USER" },
@@ -534,10 +534,11 @@ int main (int argc, char **argv)
                {"export",      'e', POPT_ARG_STRING, &backend_out, 0, "export user accounts to this backend", NULL},
                {"group",       'g', POPT_ARG_NONE, &transfer_groups, 0, "use -i and -e for groups", NULL},
                {"account-policy",      'P', POPT_ARG_STRING, &account_policy, 0,"value of an account policy (like maximum password age)",NULL},
-               {"value",       'C', POPT_ARG_LONG, &account_policy_value, 'C',"set the account policy to this value", NULL},
+               {"value",       'V', POPT_ARG_LONG, &account_policy_value, 'V',"set the account policy to this value", NULL},
                {"account-control",     'c', POPT_ARG_STRING, &account_control, 0, "Values of account control", NULL},
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile },
+               {0,0,0,0}
        };
        
        setup_logging("pdbedit", True);
index 7c2d820c8102d25ccbf51f614000635b2952a907..2ed102b677568aed29291b43a5a5f0362eb2dc41 100644 (file)
@@ -1,7 +1,6 @@
 /* 
    Samba Unix/Linux SMB client utility profiles.c 
    Copyright (C) 2002 Richard Sharpe, rsharpe@richardsharpe.com
-   Copyright (C) 2003 Jelmer Vernooij (conversion to popt)
 
    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
@@ -35,7 +34,7 @@ times...
 the "regf"-Block
 ================
  
-"regf" is obviously the abbreviation for "Registry file". "regf" is the
+"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!
@@ -392,14 +391,14 @@ typedef struct acl_struct {
 
 #define OFF(f) (0x1000 + (f) + 4) 
 
-static void print_sid(DOM_SID *sid);
+void print_sid(DOM_SID *sid);
 
 int verbose = 1;
 DOM_SID old_sid, new_sid;
 int change = 0, new = 0;
 
 /* Compare two SIDs for equality */
-static int my_sid_equal(DOM_SID *s1, DOM_SID *s2)
+int my_sid_equal(DOM_SID *s1, DOM_SID *s2)
 {
   int sa1, sa2;
 
@@ -418,7 +417,7 @@ static int my_sid_equal(DOM_SID *s1, DOM_SID *s2)
  * Quick and dirty to read a SID in S-1-5-21-x-y-z-rid format and 
  * construct a DOM_SID
  */
-static int get_sid(DOM_SID *sid, char *sid_str)
+int get_sid(DOM_SID *sid, char *sid_str)
 {
   int i = 0, auth;
   char *lstr; 
@@ -461,7 +460,7 @@ static int get_sid(DOM_SID *sid, char *sid_str)
  * This routine does not need to deal with endianism as 
  * long as the incoming SIDs are both in the same (LE) format.
  */
-static void change_sid(DOM_SID *s1, DOM_SID *s2)
+void change_sid(DOM_SID *s1, DOM_SID *s2)
 {
   int i;
   
@@ -470,7 +469,7 @@ static void change_sid(DOM_SID *s1, DOM_SID *s2)
   }
 }
 
-static void print_sid(DOM_SID *sid)
+void print_sid(DOM_SID *sid)
 {
   int i, comps = sid->num_auths;
   fprintf(stdout, "S-%u-%u", sid->sid_rev_num, sid->id_auth[5]);
@@ -483,7 +482,7 @@ static void print_sid(DOM_SID *sid)
   fprintf(stdout, "\n");
 }
 
-static void process_sid(DOM_SID *sid, DOM_SID *o_sid, DOM_SID *n_sid) 
+void process_sid(DOM_SID *sid, DOM_SID *o_sid, DOM_SID *n_sid) 
 {
   int i;
   if (my_sid_equal(sid, o_sid)) {
@@ -497,7 +496,7 @@ static void process_sid(DOM_SID *sid, DOM_SID *o_sid, DOM_SID *n_sid)
 
 }
 
-static void process_acl(ACL *acl, const char *prefix)
+void process_acl(ACL *acl, const char *prefix)
 {
   int ace_cnt, i;
   ACE *ace;
@@ -515,8 +514,21 @@ static void process_acl(ACL *acl, const char *prefix)
   }
 } 
 
+void usage(void)
+{
+  fprintf(stderr, "usage: profiles [-c <OLD-SID> -n <NEW-SID>] <profilefile>\n");
+  fprintf(stderr, "Version: %s\n", VERSION);
+  fprintf(stderr, "\n\t-v\t sets verbose mode");
+  fprintf(stderr, "\n\t-c S-1-5-21-z-y-x-oldrid - provides SID to change");
+  fprintf(stderr, "\n\t-n S-1-5-21-a-b-c-newrid - provides SID to change to");
+  fprintf(stderr, "\n\t\tBoth must be present if the other is.");
+  fprintf(stderr, "\n\t\tIf neither present, just report the SIDs found\n");
+}
+
 int main(int argc, char *argv[])
 {
+  extern char *optarg;
+  extern int optind;
   int opt;
   int fd, start = 0;
   char *base;
@@ -528,75 +540,63 @@ int main(int argc, char *argv[])
   DWORD first_sk_off, sk_off;
   MY_SEC_DESC *sec_desc;
   int *ptr;
-  struct poptOption long_options[] = {
-         POPT_AUTOHELP
-         { "verbose", 'v', POPT_ARG_NONE, NULL, 'v', "Sets verbose mode" },
-         { "change-sid", 'c', POPT_ARG_STRING, NULL, 'c', "Provides SID to change" },
-         { "new-sid", 'n', POPT_ARG_STRING, NULL, 'n', "Provides SID to change to" },
-         { 0, 0, 0, 0 }
-  };
-
-  poptContext pc;
 
-  pc = poptGetContext("profiles", argc, (const char **)argv, long_options, 
-                                         POPT_CONTEXT_KEEP_FIRST);
-
-  poptSetOtherOptionHelp(pc, "<profilefile>");
+  if (argc < 2) {
+    usage();
+    exit(1);
+  }
 
   /*
    * Now, process the arguments
    */
 
-  while ((opt = poptGetNextOpt(pc)) != -1) {
+  while ((opt = getopt(argc, argv, "c:n:v")) != EOF) {
     switch (opt) {
-       case 'c':
-               change = 1;
-               if (!get_sid(&old_sid, poptGetOptArg(pc))) {
-                       fprintf(stderr, "Argument to -c should be a SID in form of S-1-5-...\n");
-                       poptPrintUsage(pc, stderr, 0);
-                       exit(254);
-               }
-               break;
-
-       case 'n':
-               new = 1;
-               if (!get_sid(&new_sid, poptGetOptArg(pc))) {
-                       fprintf(stderr, "Argument to -n should be a SID in form of S-1-5-...\n");
-                       poptPrintUsage(pc, stderr, 0);
-                       exit(253);
-               }
-
-               break;
-
-       case 'v':
-               verbose++;
-               break;
-       }
-  }
+    case 'c':
+      change = 1;
+      if (!get_sid(&old_sid, optarg)) {
+       fprintf(stderr, "Argument to -c should be a SID in form of S-1-5-...\n");
+       usage();
+       exit(254);
+      }
+      break;
+
+    case 'n':
+      new = 1;
+      if (!get_sid(&new_sid, optarg)) {
+       fprintf(stderr, "Argument to -n should be a SID in form of S-1-5-...\n");
+       usage();
+       exit(253);
+      }
+
+      break;
+
+    case 'v':
+      verbose++;
+      break;
 
-  if (!poptPeekArg(pc)) {
-         poptPrintUsage(pc, stderr, 0);
-         exit(1);
+    default:
+      usage();
+      exit(255);
+    }
   }
 
   if ((!change & new) || (change & !new)) {
-         fprintf(stderr, "You must specify both -c and -n if one or the other is set!\n");
-         poptPrintUsage(pc, stderr, 0);
-         exit(252);
+    fprintf(stderr, "You must specify both -c and -n if one or the other is set!\n");
+    usage();
+    exit(252);
   }
 
-  poptGetArg(pc); /* To get argv[0] */
-
-  fd = open(poptPeekArg(pc), O_RDWR, 0000);
+  fd = open(argv[optind], O_RDWR, 0000);
 
   if (fd < 0) {
-    fprintf(stderr, "Could not open %s: %s\n", poptPeekArg(pc)
+    fprintf(stderr, "Could not open %s: %s\n", argv[optind]
        strerror(errno));
     exit(2);
   }
 
   if (fstat(fd, &sbuf) < 0) {
-    fprintf(stderr, "Could not stat file %s, %s\n", poptPeekArg(pc),
+    fprintf(stderr, "Could not stat file %s, %s\n", argv[optind],
        strerror(errno));
     exit(3);
   }
@@ -609,7 +609,7 @@ int main(int argc, char *argv[])
   base = mmap(&start, sbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
 
   if ((int)base == -1) {
-    fprintf(stderr, "Could not mmap file: %s, %s\n", poptPeekArg(pc),
+    fprintf(stderr, "Could not mmap file: %s, %s\n", argv[optind],
        strerror(errno));
     exit(4);
   }
@@ -640,7 +640,7 @@ int main(int argc, char *argv[])
   if (verbose) fprintf(stdout, "Registry file size: %u\n", (unsigned int)sbuf.st_size);
 
   if (IVAL(&regf_hdr->REGF_ID, 0) != REG_REGF_ID) {
-    fprintf(stderr, "Incorrect Registry file (doesn't have header ID): %s\n", poptPeekArg(pc));
+    fprintf(stderr, "Incorrect Registry file (doesn't have header ID): %s\n", argv[optind]);
     exit(5);
   }
 
@@ -655,7 +655,7 @@ int main(int argc, char *argv[])
    */
 
   if (IVAL(&hbin_hdr->HBIN_ID, 0) != REG_HBIN_ID) {
-    fprintf(stderr, "Incorrect hbin hdr: %s\n", poptPeekArg(pc));
+    fprintf(stderr, "Incorrect hbin hdr: %s\n", argv[optind]);
     exit(6);
   } 
 
@@ -666,7 +666,7 @@ int main(int argc, char *argv[])
   nk_hdr = (NK_HDR *)(base + 0x1000 + IVAL(&regf_hdr->first_key, 0) + 4);
 
   if (SVAL(&nk_hdr->NK_ID, 0) != REG_NK_ID) {
-    fprintf(stderr, "Incorrect NK Header: %s\n", poptPeekArg(pc));
+    fprintf(stderr, "Incorrect NK Header: %s\n", argv[optind]);
     exit(7);
   }
 
@@ -724,8 +724,6 @@ int main(int argc, char *argv[])
 
   munmap(base, sbuf.st_size); 
 
-  poptFreeContext(pc);
-
   close(fd);
   return 0;
 }
index 562fd9943f9a7a2ea106d52c58671235a859c19f..bce64df960416822aef3028b3170d885dbfec0c8 100644 (file)
@@ -5,7 +5,6 @@
    Copyright (C) Andrew Tridgell 2000
    Copyright (C) Tim Potter      2000
    Copyright (C) Jeremy Allison  2000
-   Copyright (C) Jelmer Vernooij 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
 
 #include "includes.h"
 
+static fstring password;
+static pstring username;
 static pstring owner_username;
 static fstring server;
-static int test_args = False;
+static int got_pass;
+static int test_args;
 static TALLOC_CTX *ctx;
 
 #define CREATE_ACCESS_READ READ_CONTROL_ACCESS
@@ -34,7 +36,7 @@ static TALLOC_CTX *ctx;
 
 /* numeric is set when the user wants numeric SIDs and ACEs rather
    than going via LSA calls to resolve them */
-static BOOL numeric = False;
+static int numeric;
 
 enum acl_mode {SMB_ACL_SET, SMB_ACL_DELETE, SMB_ACL_MODIFY, SMB_ACL_ADD };
 enum chown_mode {REQUEST_NONE, REQUEST_CHOWN, REQUEST_CHGRP};
@@ -713,19 +715,19 @@ static struct cli_state *connect_one(const char *share)
        NTSTATUS nt_status;
        zero_ip(&ip);
        
-       if (!cmdline_auth_info.got_pass) {
+       if (!got_pass) {
                char *pass = getpass("Password: ");
                if (pass) {
-                       pstrcpy(cmdline_auth_info.password, pass);
-                       cmdline_auth_info.got_pass = True;
+                       fstrcpy(password, pass);
+                       got_pass = True;
                }
        }
 
        if (NT_STATUS_IS_OK(nt_status = cli_full_connection(&c, global_myname(), server, 
                                                            &ip, 0,
                                                            share, "?????",  
-                                                           cmdline_auth_info.username, lp_workgroup(),
-                                                           cmdline_auth_info.password, 0, NULL))) {
+                                                           username, lp_workgroup(),
+                                                           password, 0, NULL))) {
                return c;
        } else {
                DEBUG(0,("cli_full_connection failed! (%s)\n", nt_errstr(nt_status)));
@@ -733,34 +735,45 @@ static struct cli_state *connect_one(const char *share)
        }
 }
 
+
+static void usage(void)
+{
+       printf(
+"Usage: smbcacls //server1/share1 filename [options]\n\
+\n\
+\t-D <acls>               delete an acl\n\
+\t-M <acls>               modify an acl\n\
+\t-A <acls>               add an acl\n\
+\t-S <acls>               set acls\n\
+\t-C username             change ownership of a file\n\
+\t-G username             change group ownership of a file\n\
+\t-n                      don't resolve sids or masks to names\n\
+\t-h                      print help\n\
+\t-d debuglevel           set debug output level\n\
+\t-U username             user to autheticate as\n\
+\n\
+The username can be of the form username%%password or\n\
+workgroup\\username%%password.\n\n\
+An acl is of the form ACL:<SID>:type/flags/mask\n\
+You can string acls together with spaces, commas or newlines\n\
+");
+}
+
 /****************************************************************************
   main program
 ****************************************************************************/
- int main(int argc, const char *argv[])
+ int main(int argc,char *argv[])
 {
        char *share;
+       pstring filename;
+       extern char *optarg;
+       extern int optind;
        int opt;
+       char *p;
        enum acl_mode mode = SMB_ACL_SET;
-       static char *the_acl = NULL;
+       char *the_acl = NULL;
        enum chown_mode change_mode = REQUEST_NONE;
        int result;
-       fstring path;
-       pstring filename;
-       poptContext pc;
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-               { "delete", 'D', POPT_ARG_STRING, NULL, 'D', "Delete an acl", "ACL" },
-               { "modify", 'M', POPT_ARG_STRING, NULL, 'M', "Modify an acl", "ACL" },
-               { "add", 'A', POPT_ARG_STRING, NULL, 'A', "Add an acl", "ACL" },
-               { "set", 'S', POPT_ARG_STRING, NULL, 'S', "Set acls", "ACLS" },
-               { "chown", 'C', POPT_ARG_STRING, NULL, 'C', "Change ownership of a file", "USERNAME" },
-               { "chgrp", 'G', POPT_ARG_STRING, NULL, 'G', "Change group ownership of a file", "GROUPNAME" },
-               { "numeric", 0, POPT_ARG_NONE, &numeric, True, "Don't resolve sids or masks to names" },
-               { "test-args", 't', POPT_ARG_NONE, &test_args, True, "Test arguments"},
-               POPT_COMMON_SAMBA
-               POPT_COMMON_CREDENTIALS
-               { NULL }
-       };
 
        struct cli_state *cli;
 
@@ -770,72 +783,118 @@ static struct cli_state *connect_one(const char *share)
 
        dbf = x_stderr;
 
+       if (argc < 3 || argv[1][0] == '-') {
+               usage();
+               talloc_destroy(ctx);
+               exit(EXIT_PARSE_ERROR);
+       }
+
        setup_logging(argv[0],True);
 
+       share = argv[1];
+       pstrcpy(filename, argv[2]);
+       all_string_sub(share,"/","\\",0);
+
+       argc -= 2;
+       argv += 2;
+
        lp_load(dyn_CONFIGFILE,True,False,False);
        load_interfaces();
 
-       pc = poptGetContext("smbcacls", argc, argv, long_options, 0);
-       
-       poptSetOtherOptionHelp(pc, "//server1/share1 filename");
+       if (getenv("USER")) {
+               pstrcpy(username,getenv("USER"));
 
-       while ((opt = poptGetNextOpt(pc)) != -1) {
+               if ((p=strchr_m(username,'%'))) {
+                       *p = 0;
+                       fstrcpy(password,p+1);
+                       got_pass = True;
+                       memset(strchr_m(getenv("USER"), '%') + 1, 'X',
+                              strlen(password));
+               }
+       }
+
+       while ((opt = getopt(argc, argv, "U:nhS:D:A:M:C:G:td:")) != EOF) {
                switch (opt) {
+               case 'U':
+                       pstrcpy(username,optarg);
+                       p = strchr_m(username,'%');
+                       if (p) {
+                               *p = 0;
+                               fstrcpy(password, p+1);
+                               got_pass = 1;
+                       }
+                       break;
+
                case 'S':
-                       the_acl = smb_xstrdup(poptGetOptArg(pc));
+                       the_acl = optarg;
                        mode = SMB_ACL_SET;
                        break;
 
                case 'D':
-                       the_acl = smb_xstrdup(poptGetOptArg(pc));
+                       the_acl = optarg;
                        mode = SMB_ACL_DELETE;
                        break;
 
                case 'M':
-                       the_acl = smb_xstrdup(poptGetOptArg(pc));
+                       the_acl = optarg;
                        mode = SMB_ACL_MODIFY;
                        break;
 
                case 'A':
-                       the_acl = smb_xstrdup(poptGetOptArg(pc));
+                       the_acl = optarg;
                        mode = SMB_ACL_ADD;
                        break;
 
                case 'C':
-                       pstrcpy(owner_username,poptGetOptArg(pc));
+                       pstrcpy(owner_username,optarg);
                        change_mode = REQUEST_CHOWN;
                        break;
 
                case 'G':
-                       pstrcpy(owner_username,poptGetOptArg(pc));
+                       pstrcpy(owner_username,optarg);
                        change_mode = REQUEST_CHGRP;
                        break;
+
+               case 'n':
+                       numeric = 1;
+                       break;
+
+               case 't':
+                       test_args = 1;
+                       break;
+
+               case 'h':
+                       usage();
+                       talloc_destroy(ctx);
+                       exit(EXIT_PARSE_ERROR);
+
+               case 'd':
+                       DEBUGLEVEL = atoi(optarg);
+                       break;
+
+               default:
+                       printf("Unknown option %c (%d)\n", (char)opt, opt);
+                       talloc_destroy(ctx);
+                       exit(EXIT_PARSE_ERROR);
                }
        }
 
-       /* Make connection to server */
-       if(!poptPeekArg(pc)) { 
-               poptPrintUsage(pc, stderr, 0);
-               return -1;
-       }
-       
-       fstrcpy(path, poptGetArg(pc));
-       
-       if(!poptPeekArg(pc)) { 
-               poptPrintUsage(pc, stderr, 0);  
-               return -1;
+       argc -= optind;
+       argv += optind;
+
+       if (argc > 0) {
+               usage();
+               talloc_destroy(ctx);
+               exit(EXIT_PARSE_ERROR);
        }
-       
-       pstrcpy(filename, poptGetArg(pc));
 
-       all_string_sub(path,"/","\\",0);
+       /* Make connection to server */
 
-       fstrcpy(server,path+2);
+       fstrcpy(server,share+2);
        share = strchr_m(server,'\\');
        if (!share) {
                share = strchr_m(server,'/');
                if (!share) {
-                       printf("Invalid argument: %s\n", share);
                        return -1;
                }
        }
@@ -875,3 +934,4 @@ static struct cli_state *connect_one(const char *share)
 
        return result;
 }
+
index d245c324dd5c5e73e485ee8fa9b7690470b9e20a..940120d644fcc8c18956b8a9043ee224b087fbb1 100644 (file)
@@ -3,7 +3,6 @@
    Network neighbourhood browser.
    
    Copyright (C) Tim Potter      2000
-   Copyright (C) Jelmer Vernooij 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
 
 static BOOL use_bcast;
 
+struct user_auth_info {
+       pstring username;
+       pstring password;
+       pstring workgroup;
+};
+
 /* How low can we go? */
 
 enum tree_level {LEV_WORKGROUP, LEV_SERVER, LEV_SHARE};
 static enum tree_level level = LEV_SHARE;
 
+static void usage(void)
+{
+       printf(
+"Usage: smbtree [options]\n\
+\n\
+\t-d debuglevel           set debug output level\n\
+\t-U username             user to autheticate as\n\
+\t-W workgroup            workgroup of user to authenticate as\n\
+\t-D                      list only domains (workgroups) of tree\n\
+\t-S                      list domains and servers of tree\n\
+\t-b                      use bcast instead of using the master browser\n\
+\n\
+The username can be of the form username%%password or\n\
+workgroup\\username%%password.\n\n\
+");
+}
+
 /* Holds a list of workgroups or servers */
 
 struct name_list {
@@ -90,12 +112,10 @@ static struct cli_state *get_ipc_connect(char *server, struct in_addr *server_ip
 /* Return the IP address and workgroup of a master browser on the 
    network. */
 
-static struct cli_state *get_ipc_connect_master_ip_bcast(pstring workgroup, struct user_auth_info *user_info)
+static BOOL find_master_ip_bcast(pstring workgroup, struct in_addr *server_ip)
 {
        struct in_addr *ip_list;
-       struct cli_state *cli;
        int i, count;
-       struct in_addr server_ip; 
 
         /* Go looking for workgroups by broadcasting on the local network */ 
 
@@ -109,7 +129,7 @@ static struct cli_state *get_ipc_connect_master_ip_bcast(pstring workgroup, stru
                if (!name_status_find("*", 0, 0x1d, ip_list[i], name))
                        continue;
 
-                if (!find_master_ip(name, &server_ip))
+                if (!find_master_ip(name, server_ip))
                        continue;
 
                 pstrcpy(workgroup, name);
@@ -117,13 +137,10 @@ static struct cli_state *get_ipc_connect_master_ip_bcast(pstring workgroup, stru
                 DEBUG(4, ("found master browser %s, %s\n", 
                           name, inet_ntoa(ip_list[i])));
 
-               if (!(cli = get_ipc_connect(inet_ntoa(server_ip), &server_ip, user_info)))
-                               continue;
-                       
-                       return cli;
+                return True;
        }
 
-       return NULL;
+       return False;
 }
 
 /****************************************************************************
@@ -141,21 +158,19 @@ static BOOL get_workgroups(struct user_auth_info *user_info)
 
        pstrcpy(master_workgroup, lp_workgroup());
 
-        if (!use_bcast && !find_master_ip(lp_workgroup(), &server_ip)) {
-                DEBUG(4, ("Unable to find master browser for workgroup %s, falling back to broadcast\n", 
+        if (use_bcast || !find_master_ip(lp_workgroup(), &server_ip)) {
+                DEBUG(4, ("Unable to find master browser for workgroup %s\n", 
                          master_workgroup));
-                               use_bcast = True;
-               } else if(!use_bcast) {
-               if (!(cli = get_ipc_connect(inet_ntoa(server_ip), &server_ip, user_info)))
-                               return False;
-               }
-               
-               if (!(cli = get_ipc_connect_master_ip_bcast(master_workgroup, user_info))) {
+               if (!find_master_ip_bcast(master_workgroup, &server_ip)) {
                        DEBUG(4, ("Unable to find master browser by "
                                  "broadcast\n"));
                        return False;
+               }
         }
 
+        if (!(cli = get_ipc_connect(inet_ntoa(server_ip), &server_ip, user_info)))
+                return False;
+
         if (!cli_NetServerEnum(cli, master_workgroup, 
                                SV_TYPE_DOMAIN_ENUM, add_name, &workgroups))
                 return False;
@@ -252,17 +267,13 @@ static BOOL print_tree(struct user_auth_info *user_info)
 ****************************************************************************/
  int main(int argc,char *argv[])
 {
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-               { "broadcast", 'b', POPT_ARG_VAL, &use_bcast, True, "Use broadcast instead of using the master browser" },
-               { "domains", 'D', POPT_ARG_VAL, &level, LEV_WORKGROUP, "List only domains (workgroups) of tree" },
-               { "servers", 'S', POPT_ARG_VAL, &level, LEV_SERVER, "List domains(workgroups) and servers of tree" },
-               POPT_COMMON_SAMBA
-               POPT_COMMON_CREDENTIALS
-               POPT_TABLEEND
-       };
-       poptContext pc;
-       
+       extern char *optarg;
+       extern int optind;
+       int opt;
+       char *p;
+       struct user_auth_info user_info;
+       BOOL got_pass = False;
+
        /* Initialise samba stuff */
 
        setlinebuf(stdout);
@@ -271,27 +282,86 @@ static BOOL print_tree(struct user_auth_info *user_info)
 
        setup_logging(argv[0],True);
 
-       pc = poptGetContext("smbtree", argc, (const char **)argv, long_options, 
-                                               POPT_CONTEXT_KEEP_FIRST);
-       while(poptGetNextOpt(pc) != -1);
-       poptFreeContext(pc);
-
        lp_load(dyn_CONFIGFILE,True,False,False);
        load_interfaces();
 
+       if (getenv("USER")) {
+               pstrcpy(user_info.username, getenv("USER"));
+
+               if ((p=strchr(user_info.username, '%'))) {
+                       *p = 0;
+                       pstrcpy(user_info.password, p+1);
+                       got_pass = True;
+                       memset(strchr(getenv("USER"), '%') + 1, 'X',
+                              strlen(user_info.password));
+               }
+       }
+
+        pstrcpy(user_info.workgroup, lp_workgroup());
+
        /* Parse command line args */
 
-       if (!cmdline_auth_info.got_pass) {
+       while ((opt = getopt(argc, argv, "U:hd:W:DSb")) != EOF) {
+               switch (opt) {
+               case 'U':
+                       pstrcpy(user_info.username,optarg);
+                       p = strchr(user_info.username,'%');
+                       if (p) {
+                               *p = 0;
+                               pstrcpy(user_info.password, p+1);
+                               got_pass = 1;
+                       }
+                       break;
+
+               case 'b':
+                       use_bcast = True;
+                       break;
+
+               case 'h':
+                       usage();
+                       exit(1);
+
+               case 'd':
+                       DEBUGLEVEL = atoi(optarg);
+                       break;
+
+               case 'W':
+                       pstrcpy(user_info.workgroup, optarg);
+                       break;
+
+                case 'D':
+                        level = LEV_WORKGROUP;
+                        break;
+
+                case 'S':
+                        level = LEV_SERVER;
+                        break;
+
+               default:
+                       printf("Unknown option %c (%d)\n", (char)opt, opt);
+                       exit(1);
+               }
+       }
+
+       argc -= optind;
+       argv += optind;
+       
+       if (argc > 0) {
+               usage();
+               exit(1);
+       }
+
+       if (!got_pass) {
                char *pass = getpass("Password: ");
                if (pass) {
-                       pstrcpy(cmdline_auth_info.password, pass);
+                       pstrcpy(user_info.password, pass);
                }
-        cmdline_auth_info.got_pass = True;
+                got_pass = True;
        }
 
        /* Now do our stuff */
 
-        if (!print_tree(&cmdline_auth_info))
+        if (!print_tree(&user_info))
                 return 1;
 
        return 0;
index 7e87701752a1e150af2f8af1d0a865a35b1412bd..8014b133d9e9decb0f9ed5f76f7a1d45f4a4fc55 100644 (file)
@@ -559,8 +559,10 @@ static int traverse_sessionid(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf, vo
                {"profile",     'P', POPT_ARG_NONE,     &profile_only, 'P', "Do profiling" },
 #endif /* WITH_PROFILE */
                {"byterange",   'B', POPT_ARG_NONE,     &show_brl, 'B', "Include byte range locks"},
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug },
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile },
+               { 0, 0, 0, 0}
        };
 
        setup_logging(argv[0],True);
index e3d6ce02748d7a754a20bfc30edf5f79e3d60165..ec58f906ed15cad1cd1ea8a0576f4d4da02c072b 100644 (file)
@@ -177,21 +177,18 @@ via the %%o substitution. With encrypted passwords this is not possible.\n", lp_
                printf("'algorithmic rid base' must be even.\n");
        }
 
-#ifndef HAVE_DLOPEN
-       if (lp_preload_modules()) {
-               printf("WARNING: 'preload modules = ' set while loading plugins not supported.\n");
-       }
-#endif
-
        return ret;
 }   
 
- int main(int argc, const char *argv[])
+int main(int argc, const char *argv[])
 {
+       extern char *optarg;
+       extern int optind;
        const char *config_file = dyn_CONFIGFILE;
        int s;
        static BOOL silent_mode = False;
        int ret = 0;
+       int opt;
        poptContext pc;
        static const char *term_code = "";
        static char *new_local_machine = NULL;
@@ -205,15 +202,15 @@ via the %%o substitution. With encrypted passwords this is not possible.\n", lp_
                {"verbose", 'v', POPT_ARG_NONE, &show_defaults, 1, "Show default options too"},
                {"server", 'L',POPT_ARG_STRING, &new_local_machine, 0, "Set %%L macro to servername\n"},
                {"encoding", 't', POPT_ARG_STRING, &term_code, 0, "Print parameters with encoding"},
-               POPT_COMMON_VERSION
-               POPT_TABLEEND
+               {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               {0,0,0,0}
        };
 
        pc = poptGetContext(NULL, argc, argv, long_options, 
                            POPT_CONTEXT_KEEP_FIRST);
        poptSetOtherOptionHelp(pc, "[OPTION...] <config-file> [host-name] [host-ip]");
 
-       while(poptGetNextOpt(pc) != -1);
+       while((opt = poptGetNextOpt(pc)) != -1);
 
        setup_logging(poptGetArg(pc), True);
 
index fa319bb3ae886f630b6ad4ccac4274fde622c181..6d14e9db98337ba815a02fcff9af56ae5323fd0c 100644 (file)
@@ -1267,8 +1267,9 @@ static void printers_page(void)
        struct poptOption long_options[] = {
                POPT_AUTOHELP
                { "disable-authentication", 'a', POPT_ARG_VAL, &demo_mode, True, "Disable authentication (demo mode)" },
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
+               { NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile},
+               { 0, 0, 0, 0 }
        };
 
        fault_setup(NULL);
index 504818b8d5277d80e8e3f5d7660f14b3b960aae4..31f260e94c0d791fba98e48d1b613af8a6dae660 100644 (file)
@@ -159,6 +159,32 @@ void exit_server(const char *reason)
        exit(0);
 }
 
+/****************************************************************************
+ Usage of the program.
+****************************************************************************/
+
+static void usage(char *pname)
+{
+
+       d_printf("Usage: %s [-DFSaioPh?V] [-d debuglevel] [-l log basename] [-p port]\n", pname);
+       d_printf("       [-O socket options] [-s services file]\n");
+       d_printf("\t-D                    Become a daemon (default)\n");
+       d_printf("\t-F                    Run daemon in foreground (for daemontools, etc)\n");
+       d_printf("\t-S                    Log to stdout\n");
+       d_printf("\t-a                    Append to log file (default)\n");
+       d_printf("\t-i                    Run interactive (not a daemon)\n" );
+       d_printf("\t-o                    Overwrite log file, don't append\n");
+       d_printf("\t-h                    Print usage\n");
+       d_printf("\t-?                    Print usage\n");
+       d_printf("\t-V                    Print version\n");
+       d_printf("\t-d debuglevel         Set the debuglevel\n");
+       d_printf("\t-l log basename.      Basename for log/debug files\n");
+       d_printf("\t-p port               Listen on the specified port\n");
+       d_printf("\t-O socket options     Socket options\n");
+       d_printf("\t-s services file.     Filename of services file\n");
+       d_printf("\n");
+}
+
 /****************************************************************************
   Create an fd_set containing all the sockets in the subnet structures,
   plus the broadcast sockets.
@@ -494,45 +520,87 @@ static void process(void)
 ****************************************************************************/
  int main(int argc,char *argv[])
 {
+       extern char *optarg;
        /* shall I run as a daemon */
-       static BOOL is_daemon = False;
-       static BOOL interactive = False;
-       static BOOL Fork = True;
-       static BOOL log_stdout = False;
-       struct poptOption long_options[] = {
-               POPT_AUTOHELP
-               { "daemon", 'D', POPT_ARG_VAL, &is_daemon, True, "Become a daemon (default)" },
-               { "foreground", 'F', POPT_ARG_VAL, &Fork, False, "Run daemon in foreground (for daemontools, etc)" },
-               { "stdout", 'S', POPT_ARG_VAL, &log_stdout, True, "Log to stdout" },
-               { "interactive", 'i', POPT_ARG_NONE, NULL, 'i', "Run interactive (not a daemon)" },
-               { "port", 'p', POPT_ARG_INT, &wins_port, 'p', "Listen on the specified port" },
-               POPT_COMMON_SAMBA
-               POPT_TABLEEND
-       };
+       BOOL is_daemon = False;
+       BOOL interactive = False;
+       BOOL specified_logfile = False;
+       BOOL Fork = True;
+       BOOL log_stdout = False;
        int opt;
-       poptContext pc;
+       pstring logfile;
 
 #ifdef HAVE_SET_AUTH_PARAMETERS
        set_auth_parameters(argc,argv);
 #endif
 
-       pc = poptGetContext("wrepld", argc, (const char **)argv, long_options, 
-                                               POPT_CONTEXT_KEEP_FIRST);
+       /* this is for people who can't start the program correctly */
+       while (argc > 1 && (*argv[1] != '-')) {
+               argv++;
+               argc--;
+       }
 
-       while ((opt = poptGetNextOpt(pc)) != -1) {
+       while ( EOF != (opt = getopt(argc, argv, "FSO:l:s:d:Dp:h?Vaiof:")) )
                switch (opt)  {
+               case 'F':
+                       Fork = False;
+                       break;
+               case 'S':
+                       log_stdout = True;
+                       break;
+               case 'O':
+                       pstrcpy(user_socket_options,optarg);
+                       break;
+
+               case 's':
+                       pstrcpy(dyn_CONFIGFILE,optarg);
+                       break;
+
+               case 'l':
+                       specified_logfile = True;
+                       slprintf(logfile, sizeof(logfile)-1, "%s/log.wrepld", optarg);
+                       lp_set_logfile(logfile);
+                       break;
+
                case 'i':
                        interactive = True;
                        Fork = False;
                        log_stdout = True;
                        break;
-               }
-       }
 
+               case 'D':
+                       is_daemon = True;
+                       break;
+
+               case 'd':
+                       if (*optarg == 'A')
+                               DEBUGLEVEL = 10000;
+                       else
+                               DEBUGLEVEL = atoi(optarg);
+                       break;
 
+               case 'p':
+                       wins_port = atoi(optarg);
+                       break;
+
+               case 'h':
+               case '?':
+                       usage(argv[0]);
+                       exit(0);
+                       break;
+
+               case 'V':
+                       d_printf("Version %s\n",VERSION);
+                       exit(0);
+                       break;
+               default:
+                       DEBUG(0,("Incorrect program usage - are you sure the command line is correct?\n"));
+                       usage(argv[0]);
+                       exit(1);
+               }
        if (log_stdout && Fork) {
                d_printf("Can't log to stdout (-S) unless daemon is in foreground (-F) or interactive (-i)\n");
-               poptPrintUsage(pc, stderr, 0);
+               usage(argv[0]);
                exit(1);
        }
 
@@ -545,6 +613,12 @@ static void process(void)
 
        load_case_tables();
 
+       if(!specified_logfile) {
+               slprintf(logfile, sizeof(logfile)-1, "%s/log.wrepld",
+                        dyn_LOGFILEBASE);
+               lp_set_logfile(logfile);
+       }
+
        set_remote_machine_name("wrepld", False);
 
        setup_logging(argv[0],log_stdout);
@@ -660,7 +734,6 @@ static void process(void)
 
        process();
 
-       poptFreeContext(pc);
        exit_server("normal exit");
        return(0);
 }