Codebase list stealth / b96ce88
New upstream version 4.01.07 Frank B. Brokken 6 years ago
19 changed file(s) with 20787 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
00 #define AUTHOR "Frank B. Brokken (f.b.brokken@rug.nl)";
1 #define VERSION "4.01.06"
1 #define VERSION "4.01.07"
22 #define YEARS "2005-2017"
0 stealth (4.01.07)
1
2 * Replaced no longer supported Yodl tags startit() ... endit() by
3 itemization( ... )
4
5 -- Frank B. Brokken <f.b.brokken@rug.nl> Mon, 07 Aug 2017 15:27:20 +0200
6
07 stealth (4.01.06)
18
29 * Implemented Svante Signell's (via Tony Mancill) patch to return the
2121 specification.
2222
2323 The tt(GET) command may be used as follows:
24 startit()
24 itemization(
2525 it() bf(GET) tt(<client-path> <local-path>)nl()
2626 Copy the file indicated by tt(client-path) at the client to tt(local-path)
2727 at the monitor. tt(client-path) must be the full path of an existing file
4949 The program tt(/usr/bin/sha1sum), available at the client, is copied to the
5050 monitor's tt(/tmp) directory. Remaining commands in the policy file are
5151 executed, even if the copying process wasn't successful.
52 endit()
52 )
5353
5454 The tt(PUT) command may be used as follows:
55 startit()
55 itemization(
5656 it() bf(PUT) tt(<local-path> <remote-path>)nl()
5757 Copy the file indicated by tt(local-path) at the monitor to
5858 tt(remote-path) at the client. The argument tt(local-path) must be the
8181 be the full path to a file on the client. If the remote file already exists,
8282 it is overwritten by tt(PUT). Remaining commands in the policy file are
8383 executed, even if the copying process wasn't successful.
84 endit()
84 )
8585
8686 Other commands to be executed on the client can be specified as follows:
8787
0 .TH "stealth" "1" "2005\-2017" "stealth_4\&.01\&.06\&.tar\&.gz" "Security Enhancement"
1
2 .PP
3 .SH "NAME"
4 stealth \- Stealthy File Integrity Scanner
5 .PP
6 .SH "SYNOPSIS"
7 `<uds>\(cq\& represents the location of the used Unix Domain Socket\&.
8 .br
9
10 .PP
11 \fBstealth\fP \-\-daemon <uds> \-\-dry\-run \-\-log <file\-spec> \-\-logmail
12 .br
13 \-\-max\-size <size>[BKMG] \-\-no\-mail \-\-parse\-policy\-file
14 .br
15 \-\-random\-interval <seconds> \-\-repeat <seconds>
16 .br
17 \-\-skip\-files <file\-spec> \-\-syslog
18 .br
19 \-\-syslog\-facility <fac> \-\-syslog\-priority <pri>
20 \-\-syslog\-tag <tag>
21 .br
22 \-\-verbosity <value> policy
23 .PP
24 \fBstealth\fP \-\-dry\-run \-\-log <file\-spec> \-\-logmail
25 .br
26 \-\-max\-size <size>[BKMG] \-\-no\-mail \-\-parse\-policy\-file
27 .br
28 \-\-random\-interval <seconds> \-\-repeat <seconds>
29 .br
30 \-\-run\-command <nr> \-\-skip\-files <file\-spec> \-\-stdout \-\-syslog
31 .br
32 \-\-syslog\-facility <fac> \-\-syslog\-priority <pri>
33 \-\-syslog\-tag <tag>
34 .br
35 \-\-verbosity <value> policy
36 .PP
37 \fBstealth\fP {\-\-ping,\-\-reload,\-\-rerun,\-\-resume,\-\-suspend,\-\-terminate} <uds>
38 .PP
39 \fBstealth\fP \-\-help \-\-version
40 .PP
41 .SH "DESCRIPTION"
42
43 .PP
44 The name of the \fBstealth\fP program is an acronym of:
45 .RS
46 \fBSSH\-based Trust Enforcement Acquired through a Locally Trusted Host\&.\fP
47 .RE
48 \fBStealth\fP is based on an idea by \fIHans Gankema\fP and \fIKees Visser\fP, both at
49 the Center for Information Technology of the University of Groningen\&. \fIHopko
50 Meijering\fP provided valuable suggestions for improvement\&.
51 .PP
52 \fBStealth\fP\(cq\&s main task is to perform file integrity tests\&. However, the
53 testing itself will leave no sediments on the tested computer\&. Therefore,
54 \fBstealth\fP has \fIstealthy\fP characteristics\&. This is considered an
55 important feature, improving the security (integrity) of the software of
56 computers monitored by \fBstealth\fP\&.
57 .PP
58 Please realize that \fBstealth\fP intends to be just another security tool: other
59 security measures like firewalls, portscanners, intrusion detection systems,
60 dropping unencrypted protocols, etc\&. are usually required to improve the
61 security of a group of computers that are connected to the Internet\&. \fBStealth\fP is a
62 file integrity scanner, and file integrity scanners offer no substitute for
63 those tools (and vv\&.)\&.
64 .PP
65 \fBStealth\fP uses a policy file to determine the actions to perform\&. Each
66 policy file is uniquely associated with a host being monitored\&. This host
67 (called the \fIclient\fP below) trusts the computer on which \fBstealth\fP runs, called
68 the \fImonitor\fP (hence: a \fILocally Trusted Host\fP)\&. The monitor
69 performs tasks (normally file integrity tests) that \fIEnforce\fP the \fITrust\fP
70 we have in the client computer\&. Since almost all integrity tests can be run
71 on the client, one monitor can control many clients, even if the
72 monitor itself uses aged hard\- and software components\&.
73 .PP
74 As the monitor and the client are (i\&.e\&., should be) different computers, the
75 monitor must communicate with the client in a secure fashion\&. This is realized
76 through SSH\&. So, there\(cq\&s another element of `local trust\(cq\& involved here: the
77 client should permit the monitor to set up a secure SSH connection allowing
78 the monitor to access sensitive elements in the client\(cq\&s file system\&.
79 .PP
80 \fBIt is important to ensure that public access to the monitor is
81 prevented\&. No incoming services should be allowed\&. The only access to the
82 monitor should be via its console and the monitor should be placed in a
83 physically secure location\&. Sensitive information of clients are stored in the
84 monitor\(cq\&s file system\&. To access the clients \fBstealth\fP in daemon mode can use a
85 passphrase\-protected ssh\-key, allowing \fBstealth\fP to perform its tasks
86 thereafter\&. This, too, makes it important to prevent the monitor from being
87 accessed by unauthorized persons\&.\fP
88 .PP
89 If, instead of running \fBstealth\fP in daemon mode it is preferred to let \fBstealth\fP perform
90 single, but automated integrity scans, then new \fBssh\fP(1) connections may be
91 difficult to establish if the used ssh\-key is passphrase\-protected\&. To
92 implement this scenario (i\&.e\&., automated integrity scans using passphrase
93 protected ssh\-keys) the program \fBssh\-cron\fP(1) can profitably be used\&.
94 .PP
95 \fBStealth\fP\(cq\&s current way of connecting to clients uses a single \fBssh\fP(1)
96 connection, which results in only a single \fBsshd\fP(1)
97 entry in the client\(cq\&s logfiles, which lasts for the duration of \fBstealth\fP\(cq\&s
98 run\&. When using \fBstealth\fP in daemon mode this too minimizes the `footprint\(cq\& \fBstealth\fP has
99 on the client hosts\&.
100 .PP
101 The monitor itself normally only requires two types of outgoing services:
102 \fBSSH\fP to reach its clients, and some mail transport agent (e\&.g\&.,
103 \fBsendmail\fP(1)) to forward its outgoing mail to some mail\-hub\&.
104 .PP
105 Here is what happens when \fBstealth\fP running using the first synopsis:
106 .IP o
107 First, the \fIpolicy\fP file is read\&. For each client a policy file is
108 defined, specifying the actions to be performed, and specifying the values of
109 several variables used by \fBstealth\fP\&.
110 .IP
111 .IP o
112 If the command\-line option \f(CW\-\-daemon <uds>\fP is specified, \fBstealth\fP
113 runs as a daemon process, using the Unix Domain Socket (\f(CW<uds>\fP) for
114 communication with \fBstealth\fP processes running in IPC mode\&.
115 .IP
116 If access to the Unix Domain Socket defined by Stealth running in daemon mode
117 should be restricted, it can be defined in a directory with is only accessible
118 to the user running Stealth (this will often be the root\-user)\&.
119 .IP
120 When running in daemon mode, \f(CW\-\-repeat <seconds>\fP may be specified to rerun
121 the integrity scan every \f(CW<seconds>\fP seconds\&. If an integrity scan is being
122 performed when, according to the repeat interval the next integrity scan is
123 due, then the current scan is first completed\&. Once completed, the next
124 integrity scan will be performed after \f(CWseconds\fP seconds\&.
125 .IP
126 .IP o
127 Next, the monitor opens a command shell on the client using
128 \fBssh\fP(1), and a command shell on the monitor computer itself using
129 \fBsh\fP(1)\&.
130 .IP
131 .IP o
132 Once the command shells are available, commands defined in the policy
133 file are executed in their order of appearance\&. Examples are given
134 below\&. Normally, return values of the programs are tested\&. When return values
135 are to be tested \fBstealth\fP terminates when a non\-zero return value is sensed\&. If
136 this happens, a message stating the reason why \fBstealth\fP terminated is written to
137 the report file (and into the mail sent by \fBstealth\fP)\&. In some cases (e\&.g\&., when the
138 report file could not be written), the message is written to the standard
139 error stream\&.
140 .IP
141 .IP o
142 Very often integrity tests can be controlled using \fBfind\fP(1),
143 calling programs like \fBls\fP(1), \fBsha256sum\fP(1) or its own \f(CW\-printf\fP
144 method to produce file\-integrity related statistics\&. Most of these programs
145 write file names at the end of generated lines\&. This characteristic is used by
146 one of \fBstealth\fP\(cq\&s internal routines to detect changes in the generated output\&. Such
147 changes could indicate some harmful intent, like an installed \fIroot\-kit\fP\&.
148 .IP
149 .IP o
150 When changes are detected, they are logged in a \fIreport file\fP, to
151 which information is always appended\&. \fBStealth\fP never reduces the report file\(cq\&s size
152 or rewrites its contents\&. When information is added to the report file (beyond
153 a plain time stamp) the newly added information is e\-mailed to a configurable
154 e\-mail address for further (human) processing\&. Usually the e\-mail is sent to
155 the systems manager of the tested client\&. \fBStealth\fP follows the `dark cockpit\(cq\&
156 approach in the sense that no mail is sent when no changes were detected\&.
157 .IP
158 .IP o
159 Report and other log\-files may safely be rotated between a pair of
160 \f(CW\-\-suppress\fP and \f(CW\-\-resume\fP commands (see below at the section `REPORT
161 FILE ROTATION\(cq\&)\&.
162
163 .PP
164 If \fBstealth\fP should not be run as a daemon process the second synopsis can be
165 used\&. In this case \fBstealth\fP performs one or more integrity scans (the latter when
166 the \f(CW\-\-repreat\fP option was specified)\&. When a single integrity scan is
167 requested \fBstealth\fP terminates after the scan\&. When \f(CW\-\-repeat\fP is specified \fBstealth\fP
168 shows a prompt (i\&.e\&., `\f(CW? \fP\(cq\&) and terminates after pressing the
169 \f(CWEnter\fP\-key\&.
170 .PP
171 The third synopsis is used for communication with a \fBstealth\fP daemon\&. In this case
172 the the Unix Domain Socket defined by the \fBstealth\fP daemon process must be
173 specified after the option specifying the requested command\&.
174 .PP
175 .SH "OPTIONS"
176
177 .PP
178 Short options are provided between parentheses, immediately following
179 their long option equivalents\&.
180 .PP
181 Option descriptions showing (C) can only be used on the command\-line, and
182 are ignored when specified in the second section of the policy file\&.
183 .PP
184 In the overview of options `\f(CW<uds>\fP\(cq\& represents the name of the
185 \fIUnix Domain Socket\fP to use, and `\f(CW<file\-spec>\fP\(cq\& refers to a (relative or
186 absolute) specification of a file location\&.
187 .PP
188 With the first and second synopses relative locations (of the Unix Domain
189 Socket and of other file\-specifications) are interpreted relative to the
190 current working directory\&.
191 .PP
192 Command\-line options overrule options defined in the policy\-file\&.
193 .PP
194 .IP o
195 \f(CW\-\-daemon (\-d) <uds>\fP: (C) run as background (daemon)
196 process\&. When the Stealth daemon process is started, the Unix Domain
197 Socket (tt<uds>) may not already exist\&.
198 .IP o
199 \f(CW\-\-dry\-run\fP: (C) no integrity scans or reloads are performed, but
200 are assumed OK\&. Remaining tasks are normally performed;
201 .IP o
202 \f(CW\-\-help (\-h)\fP: (C) Display help information and exit;
203 .IP o
204 \f(CW\-\-log (\-L) <file\-spec>\fP: log messages are appended to
205 `file\-spec\(cq\&\&. If file\-spec does not exist, it is first created;
206 .IP o
207 \f(CW\-\-logmail\fP: mail sent by \fBstealth\fP is logged (requires \f(CW\-\-log\fP or
208 \f(CW\-\-syslog\fP);
209 .IP o
210 \f(CW\-\-max\-size <size>[BKMG]\fP: files retrieved by \f(CWGET\fP commands may
211 at most have \f(CW<size>\fP bytes (B), KBytes (K), MBytes (M), GBytes
212 (G)\&. The default size is 10M, the default unit is B\&.
213 .IP o
214 \f(CW\-\-no\-mail\fP: mail is not sent\&. By default mail is sent as
215 configured in the policy\-file (\f(CW\-\-logmail\fP can be specified
216 independently from \f(CW\-\-no\-mail\fP);
217 .IP o
218 \f(CW\-\-parse\-policy\-file (\-p)\fP: (C) parse the policy file, after which
219 \fBstealth\fP ends\&.
220 .br
221 Specify once to see the numbered commands;
222 .br
223 twice to see the policy file parsing steps as well\&.
224 .br
225 Results are written to the std\&. output\&.
226 .IP o
227 \f(CW\-\-ping <uds>\fP: (C) performs no actions, but is used to verify that
228 a \fBstealth\fP daemon can be reached via its Unix Domain Socket
229 (\f(CW<uds>\fP)\&. The daemon will respond even if it\(cq\&s currently performing
230 an integrity scan\&. It is used by the \f(CW/usr/bin/stealthcron\fP script
231 to verify that a \fBstealth\fP daemon is alive\&.
232 .IP o
233 \f(CW\-\-random\-interval (\-i) <interval>[m]>\fP: start the scan a random
234 interval of <interval> seconds (or minutes if an `m\(cq\& is appended (no
235 blanks) to <interval>) following the delay specified at \f(CW\-\-repeat\fP
236 (see below)\&. This option requires specification of the \f(CW\-\-repeat\fP
237 and \f(CW\-\-daemon\fP options;
238 .IP o
239 \f(CW\-\-reload <uds>\fP: (C) reloads the configuration and skip\-files
240 and restarts the scan of the \fBstealth\fP daemon process\&. Options defined in
241 the policy file are also reloaded\&. However, command\-line options
242 always take priority over options defined in the policy file, so when
243 command\-line options were used when starting \fBstealth\fP in daemon mode, they
244 cannot be modified by reloading the policy file\&.
245 .IP o
246 \f(CW\-\-repeat <seconds>\fP: wake up and perform an integrity scan at
247 interrupts or after \f(CW<seconds>\fP seconds (or minutes if an `m\(cq\& is
248 appended (no blanks) to <seconds>) after completing the previous
249 integrity scan\&. The option \f(CW\-\-random\-interval\fP can be used to add a
250 random delay to \f(CW<seconds>\fP until the next integrity scan is
251 performed\&. This option requires specification of the and \f(CW\-\-daemon\fP
252 option;
253 .IP o
254 \f(CW\-\-rerun <uds>\fP: (C) start executing the integrity scan
255 commands that are specified in the \fBstealth\fP daemon process\(cq\&s policy file;
256 .IP o
257 \f(CW\-\-resume <uds>\fP: (C) resume a suspended \fBstealth\fP process, implies
258 \f(CW\-\-rerun\fP;
259 .IP o
260 \f(CW\-\-run\-command (\-r) <nr>\fP: (C) Only execute command number <nr>
261 (natural number)\&. Command numbers are shown by \fBstealth\fP
262 \f(CW\-\-\-parse\-policy\-file\fP\&. This option can only be specified using the
263 second synopsis;
264 .IP o
265 \f(CW\-\-skip\-files (\-s) <file\-spec>\fP: all entries in \f(CW<file\-spec>\fP are
266 skipped\&. Their integrity is not monitored\&. If an entry is already
267 present in a log file then \fBstealth\fP once generates an \f(CWIGNORING\fP message
268 in the mail sent to the address specified at \f(CWEMAIL\fP in the policy
269 file\&. Each entry mentioned in \f(CWfile\-spec\fP must be on a line of
270 its own and must be specified using absolute file paths\&. Entries
271 ending in a slash are assumed to be directories whose full contents
272 must be skipped\&. Other entries are interpreted as the names
273 of files to skip\&. Initial and trailing blanks, empty lines and lines
274 having a \f(CW#\fP as their 1st non blank character are ignored\&. Here are
275 some examples:
276 .nf
277
278 # skip all files in user\(cq\&s Mail directory
279 /home/user/Mail/
280 # skip user\(cq\&s \&.history file
281 /home/user/\&.history
282
283 .fi
284 .IP o
285 \f(CW\-\-stdout (\-o)\fP: messages are (also) written to the std\&. output
286 stream (only available with the second synopsis);
287 .IP o
288 \f(CW\-\-suspend <uds>\fP: (C) suspends a currently active \fBstealth\fP
289 process\&. Following \f(CW\-\-suspend\fP use \f(CW\-\-resume\fP to re\-activate an
290 \fBstealth\fP daemon or \f(CW\-\-terminate\fP to end an \fBstealth\fP daemon;
291 .IP o
292 \f(CW\-\-syslog\fP: write syslog messages;
293 .IP o
294 \f(CW\-\-syslog\-facility <facility>\fP: syslog facility to use\&. By
295 default facility DAEMON is used;
296 .IP o
297 \f(CW\-\-syslog\-priority <priority>\fP: syslog priority to use\&. By
298 default priority NOTICE is used;
299 .IP o
300 \f(CW\-\-syslog\-tag <tag>\fP: \f(CW<tag>\fP specifies the identifier that is
301 prefixed to syslog messages\&. By default the tag `STEALTH\(cq\& is used, see
302 also the next section;
303 .IP o
304 \f(CW\-\-terminate <uds>\fP: (C) terminate a currently active \fBstealth\fP
305 process;
306 .IP o
307 \f(CW\-\-time\-stamp (\-t) <type>\fP: the time\-stamps to use\&. By default
308 UTC\&. To use the local time specify \f(CW\-\-time\-stamp
309 LT\fP\&. The \f(CW\-\-time\-stamp\fP option does not apply to time\-stamps
310 generated by syslog (see also the next section);
311 .IP o
312 \f(CW\-\-usage\fP: (C) Display help information and exit;
313 .IP o
314 \f(CW\-\-verbosity <value>\fP: determines the amount of logged
315 information\&. Requires options \f(CW\-\-log\fP or \f(CW\-\-syslog\fP\&. Possible
316 values are:
317 .br
318 0: nothing is logged
319 .br
320 1: (default) mode reports and policy commands
321 .br
322 2: also: ipc commands and actions
323 .br
324 3: also: integrity scan informative messages
325 .IP o
326 \f(CW\-\-version (\-v)\fP: (C) Display \fBstealth\fP\(cq\&s version information and
327 terminate;
328
329 .PP
330 .IP o
331 \f(CWpolicy\fP: file specification of the policy file\&. If a relative
332 location is specified then this location is interpreted relative to
333 the current working directory\&. \fBStealth\fP converts this relative
334 specification to an absolute file location, and an option like
335 \f(CW\-\-reload\fP will reload the policy file from the thus determined
336 absolute file path\&.
337
338 .PP
339 Only one of the options \f(CW\-\-daemon, \-\-reload, \-\-resume,
340 \-\-suspend\fP or \f(CW\-\-terminate\fP can be specified\&. The options \f(CW\-\-reload,
341 \-\-rerun, \-\-resume, \-\-suspend,\fP and \f(CW\-\-terminate\fP ignore any other options\&.
342 .PP
343 The following options are still recognized for backward compatibility with \fBstealth\fP
344 pre\-3\&.00 versions and will be removed in a future \fBstealth\fP version\&. They generate
345 error messages suggesting alternatives:
346 .PP
347 .IP o
348 \f(CW\-\-echo\-commands (\-e)\fP:
349 echo commands to std error when they are processed; use \f(CW\-\-log\fP
350 instead\&.
351 .IP o
352 \f(CW\-\-keep\-alive\fP: run as a daemon; use \f(CW\-\-daemon\fP instead\&.
353 .IP o
354 \f(CW\-\-only\-stdout\fP: scan report is written to stdout; use
355 \f(CW\-\-stdout\fP instead\&.
356 .IP o
357 \f(CW\-\-quiet (\-q)\fP: suppresses progress messages written to stderr; use
358 \f(CW\-\-verbosity 0\fP instead\&.
359 .IP o
360 \f(CW\-\-suppress <uds>\fP: suppresses a currently active \fBstealth\fP
361 process; use \f(CW\-\-suspend\fP instead\&.
362
363 .PP
364 The following options were discontinued starting since \fBstealth\fP version 3\&.00\&.00:
365 .IP o
366 \f(CW\-\-debug\fP (option \f(CW\-\-verbosity\fP or \f(CW\-\-dry\-run\fP could be used
367 instead);
368 .IP o
369 \f(CW\-\-no\-child\-processes\fP;
370 .IP o
371 \f(CW\-\-parse\-config\-file\fP\&.
372
373 .PP
374 When specifying long options in policy files initial hyphens should be
375 omitted\&. Here are some examples:
376 .nf
377 %%
378 log /tmp/stealth\&.log
379 verbosity 3
380 .fi
381
382 .PP
383 .SH "EXIT STATUS"
384
385 .PP
386 When requesting an IPC command or when starting \fBstealth\fP as a daemon 0 is
387 returned if the command was successfully completed\&. Otherwise a non\-0 value is
388 returned\&.
389 .PP
390 .SH "OPEN SSH LINK TO CLIENTS"
391
392 .PP
393 Once \fBstealth\fP has started as a foreground or daemon process performing file
394 integrity scans \fBssh\fP(1) is used to connect to the client(s)
395 monitored by \fBstealth\fP\&. While \fBstealth\fP runs only one \fBssh\fP(1) connection is opened to
396 each client\&. This connection remains active during \fBstealth\fP\(cq\&s lifetime to minimize
397 the number of \fBsshd\fP entries in the client\(cq\&s log files\&.
398 .PP
399 .SH "THE POLICY FILE"
400
401 .PP
402 The policy file consists of two sections, the second section is optional,
403 and starts at a line merely containing \f(CW%%\fP\&.
404 .PP
405 The policy file\(cq\&s first section consists of two sets of data: \fIuse
406 directives\fP (starting with the keyword \fBUSE\fP) and \fIcommands\fP\&. Blank lines
407 and information beyond hash\-marks (#) are ignored, while lines following lines
408 terminating in backslashes (\e) are concatenated (\fIen passant\fP removing these
409 trailing backslashes)\&. Leading white space on lines of the policy file is
410 ignored\&.
411 .PP
412 The (optional) second section starts at a line merely containing
413 \f(CW%%\fP\&. Following this separating line several long option specifications can
414 be entered (see below at section \fBOPTIONS\fP)\&. Options specified on the
415 command\-line take priority over options specified in the policy file\&. Although
416 the \f(CW\-\-reload\fP option reloads the policy file, it will not change option
417 values originally specified as command\-line options\&. This section may contain
418 specifications of the \f(CWskip\-files\fP and \f(CWlog\fP options\&. Relative file
419 locations specified for these options are interpreted relative to the location
420 of the policy file\&. E\&.g\&., if the policy file argument is specified as
421 \f(CW/root/client/policy\fP then the specification \f(CWlog: client\&.log\fP results in
422 \fBstealth\fP writing its logs into the file \f(CW/root/client/client\&.log\fP\&.
423 .PP
424 .SH "DEFINE DIRECTIVES"
425
426 .PP
427 \fBDEFINE\fP directives are used to associate longer strings of text with
428 certain symbols\&. E\&.g\&., after
429 \f(CWDEFINE FINDARGS \-xdev \-type f \-exec /usr/bin/sha256sum {} \e;\fP
430 the specification \f(CW${FINDARGS}\fP may be used in \fBUSE DIRECTIVES\fP and
431 \fBcommands\fP (see below) to use the text associated with the \fBFINDARGS\fP
432 symbol\&.
433 .PP
434 Note that \fBDEFINE\fP symbols may also be used in the definition of
435 other \fBDEFINE\fP symbols as well\&. Direct or indirect circular definitions
436 should be avoided, as they are either not or incompletely expanded\&.
437 .PP
438 .SH "USE DIRECTIVES"
439
440 .PP
441 The following \fBUSE\fP directives may be specified (directives are written
442 in capitals, and should appear exactly as written below: letter casing is
443 preserved)\&. Specifications in angular brackets (like \f(CW<this>\fP) represent
444 specifications to be provided by \fBstealth\fP\(cq\&s users:
445 .IP o
446 \fBUSE BASE\fP \f(CW<base\-directory>\fP
447 .br
448 \fBBASE\fP defines the directory from where \fBstealth\fP operates\&. All subsequent
449 relative path specifications in the policy file (including relative path
450 specifications in the policy\(cq\&s second part) are interpreted relative to
451 \fBBASE\fP\&. \fIBy default\fP this is the directory where \fBstealth\fP was started\&.
452 .br
453 \fBBASE\fP and other non\-existing paths are created automatically by
454 \fBstealth\fP if not yet existing\&.
455 .br
456 Example:
457 .br
458 \f(CWUSE BASE /root/client\fP
459 .IP
460 .IP o
461 \fBUSE DD\fP \f(CW<dd>\fP
462 .br
463 The \fBDD\fP specification uses \f(CW/bin/dd\fP as default, and defines the
464 location of the \fBdd\fP(1) program, both on the server and on the client\&. The
465 \fBDD\fP program is used to copy files between the client and the monitor
466 over the existing ssh\-connection\&. The program specified here is only used by
467 \fBstealth\fP when executing \f(CWPUT\fP and \f(CWGET\fP commands (described below)\&.
468 .br
469 Example showing the default:
470 .br
471 \f(CWUSE DD /bin/dd\fP
472 .IP
473 .IP o
474 \fBUSE DIFF\fP \f(CW<diff>\fP
475 .br
476 The default \fBDIFF\fP specification uses \f(CW/usr/bin/diff\fP,
477 and defines the location of the \fBdiff\fP(1) program on the monitor\&. The
478 \fBdiff\fP(1) program is used to compare a formerly created logfile of an
479 integrity check with a newly created logfile\&.
480 .br
481 Example showing the default:
482 .br
483 \f(CWUSE DIFF /usr/bin/diff\fP
484 .IP
485 .IP o
486 \fBUSE DIFFPREFIX\fP \f(CW<prefix>\fP
487 .br
488 The \fBDIFFPREFIX\fP specification defines the size of the prefix added
489 by the \f(CWDIFF\fP command to lines produced by commands executed through \fBstealth\fP\&.
490 .IP
491 The default \f(CW/usr/bin/diff\fP program prefixes lines by either `\f(CW> \fP\(cq\& or
492 `\f(CW< \fP\(cq\&\&. The default value for \f(CW<prefix>\fP is therefore equal to 2\&.
493 .br
494 Example showing the default:
495 .br
496 \f(CWUSE DIFFPREFIX 2\fP
497 .IP
498 .IP o
499 \fBUSE EMAIL\fP \f(CW<address>\fP
500 .br
501 The \fBEMAIL\fP specification defines the email\-address to receive the
502 report of the integrity scan of the client\&. The `dark cockpit\(cq\& philosophy is
503 followed here: mail is only sent when a modification is detected\&.
504 .br
505 Example showing the default (apparently an email address on the
506 monitor):
507 .br
508 \f(CWUSE EMAIL root\fP
509 .IP
510 .IP o
511 \fBUSE MAILER\fP \f(CW<mailer>\fP
512 .br
513 The \fBMAILER\fP specification defines the program that to send
514 e\-mail to the \fBEMAIL\fP\-address\&. Contrary to \fBDIFF\fP and \fBDD\fP and (see
515 below) \fBSH\fP and \fBSSH\fP, \fBMAILER\fP is run as a \f(CW/bin/sh\fP command, to
516 allow shell\-scripts to process the mail too\&. By default \fBMAILER\fP is defined
517 as \fB/usr/bin/mail\fP\&. \fBMAILER\fP is called with the following
518 arguments:
519 .br
520 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
521 .br
522 \fBMAILARGS\fP, see below;
523 .br
524 \fBEMAIL\fP, the addressee of the mail\&.
525 .br
526 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
527 .br
528 Example showing the default:
529 .br
530 \f(CWUSE MAILER /usr/bin/mail\fP
531 .IP
532 As an alternative, the script \f(CWstealthmail\fP is provided\&. It offers a
533 convenient filter sorting \fBstealth\fP\(cq\&s output and keeping only lines containing the
534 text \f(CWADDED\fP, \f(CWMODIFIED\fP, \f(CWREMOVED\fP or \f(CWSTEALTH\fP\&. Usually these lines
535 are the ones system managers are interested in\&. The report and log files
536 can always be consulted to determine the actual nature of the changes\&.
537 .IP
538 .IP o
539 \fBUSE MAILARGS\fP \f(CW<args>\fP
540 .br
541 The \fBMAILARGS\fP specification defines the arguments that are passed
542 to \f(CWMAILER\fP, followed by the \f(CWEMAIL\fP specification\&.
543 .br
544 Example showing the default:
545 .br
546 \f(CWUSE MAILARGS \-s \(dq\&STEALTH scan report\(dq\&\fP
547 .br
548 Note that blanks may be used in the subject specification: use double or
549 single quotes to define elements containing blanks\&. Use \f(CW\e\(dq\&\fP to use a double
550 quote in a string that itself is delimted by double quotes; use \f(CW\e\(cq\&\fP to use
551 a single quote in a string that itself is delimted by single quotes\&.
552 .IP
553 .IP o
554 \fBUSE REPORT\fP \f(CW<file\-spec>\fP
555 .br
556 \fBREPORT\fP defines the name of the reportfile\&. Information is always
557 appended to this file\&. At each \fBstealth\fP integrity scan a \fItime marker line\fP is
558 written to the report file\&. Only when (in addition to the marker line)
559 additional information is appended to the report file the added contents of
560 the report file are mailed to the mail address specified in the \fBUSE EMAIL\fP
561 specification\&. When a relative file specification is used it is interpreted a
562 location relative to the \f(CWUSE BASE\fP specification\&.
563 .br
564 Example showing the default:
565 .br
566 \f(CWUSE REPORT report\fP
567 .IP
568 .IP o
569 \fBUSE SH\fP \f(CW<sh>\fP
570 .br
571 The \fBSH\fP specification uses \f(CW/bin/sh\fP as default, and defines the
572 command shell used by the monitor to execute commands on itself\&. This must be
573 an absolute path specification\&.
574 .br
575 Example showing the default:
576 .br
577 \f(CWUSE SH /bin/sh\fP
578 .IP
579 .IP o
580 \fBUSE SSH\fP \f(CW<user>\fP
581 .br
582 \fBThe SSH specification has no default\fP, and \fImust\fP be
583 specified\&. This must be an absolute path specification\&.
584 .IP
585 Assuming the client \fItrusts\fP the monitor (which is after all what this
586 program is all about, so this should not be a very strong assumption),
587 preferably the public ssh key of the monitor should be placed in the
588 client\(cq\&s root \f(CW\&.ssh/authorized_keys\fP file, granting the monitor root access
589 to the client\&. Root access is normally needed to gain access to all
590 directories and files of the client\(cq\&s file system\&.
591 .IP
592 In practice, connecting to an account using the \fBsh\fP(1) shell is
593 preferred\&. When another shell is already used by that account, one should make
594 sure that its shell doesn\(cq\&t define its own redirections for standard input
595 and standard output\&. One way to accomplish that is for force the execution of
596 \f(CW/bin/sh\fP in the \fBUSE SSH\fP specification\&.
597 Examples:
598 .nf
599 # root\(cq\&s shell is /bin/sh:
600 USE SSH root@client \-T \-q
601 # root uses another shell, but the use of /bin/bash is forced:
602 USE SSH root@client \-T \-q exec /bin/bash
603 # an alternative:
604 USE SSH root@client \-T \-q exec /bin/bash \-\-noprofile
605 .fi
606
607 .PP
608 In some installations \fBstealth\fP is used to inspect the monitor itself, even
609 though this is \fInot\fP recommended, as it breaks one of the main reasons for
610 \fBstealth\fP\(cq\&s existence\&. But in those situations (so, where \fBstealth\fP is used to monitor the
611 integrity of the \f(CWlocalhost\fP), \f(CW/bin/bash\fP could be specified at the
612 \f(CWUSE SSH\fP directive\&. For example:
613 .nf
614 # For stealth inspecting localhost:
615 USE SSH /bin/bash \-\-noprofile
616 .fi
617
618 .PP
619 .SH "COMMANDS"
620
621 .PP
622 Following the \fBUSE\fP specifications, \fIcommands\fP can be specified\&. The
623 commands are executed in their order of appearance in the policy
624 file\&. Processing continues until the last command has been processed or until
625 a tested command (see below) returns a non\-zero return value\&.
626 .PP
627 .SH "LABEL COMMANDS"
628
629 .PP
630 The following \fBLABEL\fP commands are available:
631 .IP o
632 \fBLABEL\fP \f(CW<text>\fP
633 .br
634 This defines a text\-label which is written to the \fBREPORT\fP file,
635 in front of the output generated by the next \fBCHECK\fP\-command\&. If the next
636 \fBCHECK\fP\-command generates no output, the text\-label is not written to the
637 \fBREPORT\fP\-file\&. Once a \fBLABEL\fP has been defined, it is used until it is
638 redefined by the next \fBLABEL\fP\&. Use an empty \fBLABEL\fP specification to
639 suppress the printing of labels\&.
640 .IP
641 The text may contain \f(CW\en\fP characters (two characters) which are
642 transformed to a newline character\&.
643 .IP
644 Example:
645 .br
646 \f(CWLABEL Inspecting files in /etc\enIncluding subdirectories\fP
647 .br
648 \f(CWLABEL\fP
649 .br
650 (In this example the former \fBLABEL\fP specification is erased by the
651 latter \fBLABEL\fP command)\&.
652
653 .PP
654 .SH "LOCAL COMMANDS"
655
656 .PP
657 \fBLOCAL\fP commands are executed on the monitor itself:
658 .IP o
659 \fBLOCAL\fP \f(CW<command>\fP
660 .br
661 Execute \f(CWcommand\fP on the monitor, using the \fBSH\fP command
662 shell\&. The command must succeed (i\&.e\&., must return a zero exit value)\&.
663 .br
664 Example:
665 .br
666 \f(CWLOCAL scp rootsh@client:/usr/bin/sha256sum /tmp\fP
667 .br
668 This command copies the client\(cq\&s \fBsha256sum\fP(1) program to the
669 monitor\&.
670 .IP
671 .IP o
672 \fBLOCAL NOTEST\fP \f(CW<command>\fP
673 .br
674 Execute \f(CWcommand\fP on the monitor, using the \fBSH\fP command
675 shell\&. The command may or may not succeed\&.
676 .br
677 Example:
678 .br
679 \f(CWLOCAL NOTEST mkdir /tmp/subdir\fP
680 .br
681 This command creates \f(CW/tmp/subdir\fP on the monitor\&. The command fails
682 if the directory cannot be created, but this does not terminate \fBstealth\fP\&.
683 .IP
684 .IP o
685 \fBLOCAL CHECK\fP [\fBLOG =\fP] \f(CW<file\-spec> [pathOffset]
686 <command>\fP
687 .br
688 Execute \f(CWcommand\fP on the monitor, using the \fBSH\fP command
689 shell\&. The command must succeed\&. The output of this command is compared to the
690 output of this command generated during the previous integrity check run by
691 \fBstealth\fP\&.
692 .IP
693 The phrase \fBLOG =\fP is optional\&. When a relative file location is
694 specified at \f(CW<file\-spec>\fP it is interpreted relatively to the \f(CWUSE BASE\fP
695 path specification\&.
696 .IP
697 \f(CWPathOffset\fP is also optional\&. If specified it defines the (0\-based)
698 offset where path\-names of inspected files start in lines produced by
699 \f(CW<command>\fP\&. By default \fBstealth\fP assumes that the first occurrence of a forward
700 slash defines the first character of the path\-names of inspected files\&.
701 .IP
702 For example, if diff\-output looks like this:
703 .nf
704 01234567890123456789012345678901234567890 (column offsets)
705 33c33
706 < 90d8b506d249634c4ff80b9018644567 filename\-specification
707 \-\-\-
708 > b88d0b77db74cc4a742d7bc26cdd2a1e filename\-specification
709 .fi
710 then the specification
711 .nf
712 LOCAL CHECK logfile 36 command\-to\-be\-executed
713 .fi
714 informs \fBstealth\fP where to find the filename specifications in the
715 diff\-output\&. Using the standard \f(CW/usr/bin/diff\fP command, this offset equals
716 2 + the offset of the \f(CWfilename\-specification\fP found in
717 \f(CWcommand\-to\-be\-executed\fP\&.
718 .IP
719 Any differences between the previous and current output are written to
720 \fBREPORT\fP\&. If differences were found, the existing \f(CWlogfile\fP name is
721 renamed to \f(CWlogfile\&.YYMMDD\-HHMMSS\fP, with \f(CWYYMMDD\-HHMMSS\fP the
722 (UTC) datetime\-stamp at the time \fBstealth\fP was run\&.
723 .IP
724 Note that eventually many \f(CWlogfile\&.YYMMDD\-HHMMSS\fP files could be
725 created: It is up to the monitor\(cq\&s systems manager to decide what to do
726 with old datetime\-stamped logfiles\&.
727 .IP
728 The \f(CWlogfile\fP specifications may use relative and absolute paths\&. When
729 relative paths are used, these paths are relative to \fBBASE\fP\&. When the
730 directories implied by the \f(CWlogfile\fP specifications do not yet exist, they
731 are created first\&.
732 .IP
733 Example:
734 .br
735 \f(CWLOCAL CHECK LOG = local/sha256sum sha256sum /tmp/sha256sum\fP
736 .br
737 This command checks the SHA256 sum of the \f(CW/tmp/sha256sum\fP program\&. The
738 resulting output is saved at \fBBASE\fP\f(CW/local/sha256sum\fP\&. The program must
739 succeed (i\&.e\&., \f(CWsha256sum\fP must return a zero exit\-value)\&.
740 .IP
741 .IP o
742 \fBLOCAL NOTEST CHECK\fP \f(CW<logfile> [pathOffset] <command>\fP
743 .br
744 Execute \f(CWcommand\fP on the monitor, using the \fBSH\fP command
745 shell\&. The command may or may not succeed\&. Otherwise, the command performs
746 exactly like the \fBLOCAL CHECK \&.\&.\&.\fP command, discussed above\&.
747 .IP
748 Example:
749 .br
750 \f(CWLOCAL NOTEST CHECK LOG=local/sha256sum sha256sum /tmp/sha256sum\fP
751 .br
752 This command checks the SHA256 sum of the \f(CW/tmp/sha256sum\fP program\&. The
753 resulting output is saved at \fBBASE\fP\f(CW/local/sha256sum\fP\&. The program must
754 succeed (i\&.e\&., \f(CWsha256sum\fP must return a zero exit\-value)\&.
755
756 .PP
757 Note that the \fBscp\fP(1) command can be used to copy files between the
758 client and the monitor, using a local command\&. This, however, is
759 discouraged, as a separate \fBssh\fP(1)\-connection is required for each separate
760 \fBscp\fP(1) command\&. This subtlety was brought to the author\(cq\&s attention by
761 Hopko Meijerink (\f(CWh\&.meijering@rug\&.nl\fP)\&.
762 .PP
763 To copy files between the client and the monitor, the \f(CWGET\fP and
764 \f(CWPUT\fP commands (described below) should be used instead, as these commands
765 use the existing \fBssh\fP(1) connection\&. In general, \f(CWLOCAL\fP commands should
766 not be used to establish additional \fBssh\fP(1) connections to a client\&.
767 .PP
768 .SH "REMOTE COMMANDS"
769
770 .PP
771 Remote commands are commands executed on the client using the \fBSSH\fP
772 shell\&. These commands are executed using the standard \f(CWPATH\fP set for the
773 \fBSSH\fP shell\&. However, it is advised to specify the full pathname to the
774 programs to be executed, to prevent ``trojan approaches\(cq\&\(cq\& where a trojan horse
775 is installed in an `earlier\(cq\& directory of the \f(CWPATH\fP\-specification than the
776 intended program\&.
777 .PP
778 Two special remote commands are \f(CWGET\fP and \f(CWPUT\fP, which can be used to
779 copy files between the client and the monitor\&. Internally, \f(CWGET\fP and
780 \f(CWPUT\fP use the \f(CWDD\fP specification\&. If a non\-default specification is
781 used, one should ensure that the alternate program accepts \fBdd\fP(1)\(cq\&s \f(CWif=,
782 of=, bs=\fP and \f(CWcount=\fP options\&. With \f(CWGET\fP the options \f(CWbs=, count=\fP and
783 \f(CWof=\fP are used, with \f(CWPUT\fP the options \f(CWbs=, count=\fP and \f(CWif=\fP are
784 used\&. Normally there should be no need to alter the default \f(CWDD\fP
785 specification\&.
786 .PP
787 The \f(CWGET\fP command may be used as follows:
788 .IP o
789 \fBGET\fP \f(CW<client\-path> <local\-path>\fP
790 .br
791 Copy the file indicated by \f(CWclient\-path\fP at the client to \f(CWlocal\-path\fP
792 at the monitor\&. Here, \f(CWclient\-path\fP must be the full path of an existing
793 file on the client, \f(CWlocal\-path\fP may either be a local directory, in which
794 case the client\(cq\&s file name is used, or another file name may be specified, in
795 which case the client\(cq\&s file is copied to the specified local filename\&. If the
796 local file already exists, it is overwritten by the copy\-procedure\&.
797 .IP
798 Example:
799 .br
800 \f(CWGET /usr/bin/sha256sum /tmp\fP
801 .br
802 The program \f(CW/usr/bin/sha256sum\fP, available at the client, is copied to the
803 monitor\(cq\&s \f(CW/tmp\fP directory\&. If, for whatever reason, copying fails, then
804 \fBstealth\fP terminates\&.
805 .IP
806 .IP o
807 \fBGET NOTEST\fP \f(CW<client\-path> <local\-path>\fP
808 .br
809 Copy the file indicated by \f(CWclient\-path\fP at the client to \f(CWlocal\-path\fP
810 at the monitor\&. Again, \f(CWclient\-path\fP must be the full path of an existing
811 file on the client, \f(CWlocal\-path\fP may either be a local directory, in which
812 case the client\(cq\&s file name is used, or another file name may be specified, in
813 which case the client\(cq\&s file is copied to the specified local filename\&. If the
814 local file already exists, it is overwritten by the copy\-procedure\&.
815 .IP
816 Example:
817 .br
818 \f(CWGET NOTEST /usr/bin/sha256sum /tmp\fP
819 .br
820 The program \f(CW/usr/bin/sha256sum\fP, available at the client, is copied to the
821 monitor\(cq\&s \f(CW/tmp\fP directory\&. Remaining commands in the policy file are
822 executed, even if the copying process wasn\(cq\&t successful\&.
823
824 .PP
825 The \f(CWPUT\fP command may be used as follows:
826 .IP o
827 \fBPUT\fP \f(CW<local\-path> <remote\-path>\fP
828 .br
829 Copy the file indicated by \f(CWlocal\-path\fP at the monitor to
830 \f(CWremote\-path\fP at the client\&. The argument \f(CWlocal\-path\fP must be the
831 full path of an existing file on the monitor\&. The argument \f(CWremote\-path\fP
832 must be the full path to a file on the client\&. If the remote file already
833 exists, it is overwritten by \f(CWPUT\fP\&.
834 .IP
835 Example:
836 .br
837 \f(CWPUT /tmp/sha256sum /usr/bin/sha256sum\fP
838 .br
839 The program \f(CW/tmp/sha256sum\fP, available at the monitor, is copied to the
840 client as \f(CWusr/bin/sha256sum\fP\&. If the copying fails, \fBstealth\fP terminates\&.
841 .IP
842 .IP o
843 \fBPUT NOTEST\fP \f(CW<local\-path> <remote\-path>\fP
844 .br
845 Copy the file indicated by \f(CWlocal\-path\fP at the monitor to
846 \f(CWremote\-path\fP at the client\&. The argument \f(CWlocal\-path\fP must be the
847 full path of an existing file on the monitor\&. The argument \f(CWremote\-path\fP
848 must be the full path to a file on the client\&. If the remote file already
849 exists, it is overwritten by \f(CWPUT\fP\&.
850 .IP
851 Example:
852 .br
853 \f(CWPUT NOTEST /tmp/sha256sum /usr/bin/sha256sum\fP
854 .br
855 Copy the file indicated by \f(CWlocal\-path\fP at the monitor to
856 \f(CWremote\-path\fP at the client\&. The argument \f(CWlocal\-path\fP must be the full
857 path of an existing file on the monitor\&. The argument \f(CWremote\-path\fP must
858 be the full path to a file on the client\&. If the remote file already exists,
859 it is overwritten by \f(CWPUT\fP\&. Remaining commands in the policy file are
860 executed, even if the copying process wasn\(cq\&t successful\&.
861
862 .PP
863 Plain commands can be executed on the client computer by merely specifying
864 them\&. Of course, this implies that programs on the client which are named,
865 e\&.g\&., \f(CWLABEL\fP, \f(CWLOCAL\fP or \f(CWUSE\fP, cannot be executed, since these names
866 are interpreted otherwise by \fBstealth\fP\&. It\(cq\&s unlikely that this restriction presents
867 much of a problem\&.\&.\&.\&.
868 .PP
869 The following commands are available for execution on the client:
870 .IP o
871 \f(CW<command\-path>\fP
872 .br
873 Execute \f(CWcommand\-path\fP on the client using the \fBSSH\fP command shell
874 (it is strongly advised to specify a full path to the command to execute)\&. The
875 command must succeed (i\&.e\&., must return a zero exit value)\&. However, any
876 output generated by the the command is ignored\&.
877 .br
878 Example:
879 .br
880 \f(CW/usr/bin/find /tmp \-type f \-exec /bin/rm {} \e;\fP
881 .br
882 This command removes all ordinary files in and below the client\(cq\&s
883 \f(CW/tmp\fP directory\&.
884 .IP
885 .IP o
886 \fBNOTEST\fP \f(CW<command\-path>\fP
887 .br
888 Execute \f(CWcommand\-path\fP on the client, using the \fBSSH\fP command
889 shell\&. The command may or may not succeed\&.
890 .br
891 Example:
892 .br
893 \f(CWNOTEST /usr/bin/find /tmp \-type f \-exec /bin/rm {} \e;\fP
894 .br
895 Same as the previous command, but this time the exit value of
896 \f(CW/usr/bin/find\fP is not interpreted\&.
897 .IP
898 .IP o
899 \fBCHECK\fP [\fBLOG =\fP] \f(CW<file\-spec> [pathOffset]
900 <command\-path>\fP
901 .br
902 Execute \f(CWcommand\-path\fP on the client, using the \fBSSH\fP command
903 shell\&.
904 .IP
905 The phrase \fBLOG =\fP is optional\&. When a relative file location is
906 specified at \f(CW<file\-spec>\fP it is interpreted relatively to the \f(CWUSE BASE\fP
907 path specification\&.
908 .IP
909 \f(CWPathOffset\fP is also optional, and has the same meaning
910 as for the \f(CWLOCAL CHECK\fP command, described above\&. The command must
911 succeed\&. The output of this command is compared to the output of this command
912 generated during the previous run of \fBstealth\fP\&. Any differences are written to
913 \fBREPORT\fP\&. If differences were found, the existing \f(CWlogfile\fP name is
914 renamed to \f(CWlogfile\&.YYMMDD\-HHMMSS\fP, with \f(CWYYMMDD\-HHMMSS\fP the
915 datetime\-stamp at the time \fBstealth\fP was run\&.
916 .IP
917 Note that the command is executed on the client, but the logfile is kept
918 on the monitor\&. This command represents the core of the method implemented
919 by \fBstealth\fP: there will be no residues of the actions performed by \fBstealth\fP on
920 the client computers\&.
921 .IP
922 Several examples (note the use of the backslash as line continuation
923 characters):
924 .IP
925 \f(CWCHECK LOG = remote/ls\&.root \e\fP
926 .br
927 \f(CW /usr/bin/find / \e\fP
928 .br
929 \f(CW \-xdev \-perm /6111 \-type f \-exec /bin/ls \-l {} \e;\fP
930 .IP
931 All suid/gid/executable files on the same device as the root\-directory (/)
932 on the client computer are listed with their permissions, owner and size
933 information\&. The resulting listing is written on the file
934 \fBBASE\fP\f(CW/remote/ls\&.root\fP\&.
935 .IP
936 \f(CWCHECK remote/sha256\&.root \e\fP
937 .br
938 \f(CW /usr/bin/find / \e\fP
939 .br
940 \f(CW \-xdev \-perm /6111 \-type f \-exec /usr/bin/sha256sum {} \e;\fP
941 .IP
942 The SHA256 checksums of all suid/gid/executable files on the same device as
943 the root\-directory (/) on the client computer are determined\&. The resulting
944 listing is written on the file \fBBASE\fP\f(CW/remote/sha256\&.root\fP\&.
945 .IP
946 .IP o
947 \fBNOTEST CHECK\fP [\fBLOG =\fP] \f(CW<file\-spec> [pathOffset]
948 <command\-path>\fP
949 .br
950 Execute \f(CWcommand\-path\fP on the client, using the \fBSSH\fP command
951 shell\&.
952 .IP
953 The phrase \fBLOG =\fP is optional\&. When a relative file location is
954 specified at \f(CW<file\-spec>\fP it is interpreted relatively to the \f(CWUSE BASE\fP
955 path specification\&.
956 .IP
957 \f(CWPathOffset\fP is also optional, and has the same meaning as for the \f(CWLOCAL
958 CHECK\fP command, described above\&. The command may or may not
959 succeed\&. Otherwise, the program acts identically as the \fBCHECK \&.\&.\&.\fP command,
960 described above\&.
961 .IP
962 Example:
963 .br
964 \f(CWNOTEST CHECK LOG = remote/sha256\&.root \e\fP
965 .br
966 \f(CW /usr/bin/find / \e\fP
967 .br
968 \f(CW \-xdev \-perm /6111 \-type f \-exec /usr/bin/sha256sum {} \e;\fP
969 .IP
970 The SHA256 checksums of all suid/gid/executable files on the same device as
971 the root\-directory (/) on the client computer are determined\&. The resulting
972 listing is written on the file \fBBASE\fP\f(CW/remote/sha256\&.root\fP\&. \fBstealth\fP does not
973 terminate if the \f(CW/usr/bin/find\fP program returns a non\-zero exit value\&.
974
975 .PP
976 The maximum download size (using GET or CHECK) can be specified using the
977 \f(CW\-\-max\-size\fP option, see below\&. By default this size is set at 10M\&.
978 .PP
979 .SH "REPORT FILE ROTATION"
980 Since \fBstealth\fP only appends information to the report file, the report file\(cq\&s
981 size may eventually become prohibitively large, and log\-rotation may be
982 desirable\&. It is of course possible to issue a \f(CW\-\-terminate\fP command, rotate
983 the logfiles, and restart \fBstealth\fP, but \fBstealth\fP also offers a facility to temporarily
984 suspend integrity scans performed by a \fBstealth\fP daemon process:
985 .IP o
986 Calling \fBstealth\fP with the option \f(CW\-\-suspend <uds>\fP suspends the
987 daemon\(cq\&s integrity scans\&. If \fBstealth\fP is
988 actually performing a series of integrity scans when
989 \f(CW\-\-suspend\fP is issued, the currently executing command is first
990 completed after which the \f(CW\-\-suspend\fP command completes\&. Once
991 the \fBstealth\fP daemon has been suspended, automatic or explicit
992 integrity scan requests are denied, and the daemon can only be
993 instructed to resume its scanning tasks (\fBstealth\fP \-\-resume <uds>)
994 or to terminate (\fBstealth\fP \-\-terminate <uds>)\&.
995 .IP
996 .IP o
997 Once `\fBstealth\fP \f(CW\-\-suspend <uds>\fP\(cq\& has returned, the report file
998 may safely be rotated (using, e\&.g\&., \fBlogrotate\fP(1)), and a new
999 (empty) report file may optionally be created by the logrotation
1000 process\&.
1001 .IP
1002 .IP o
1003 Once the log\-rotation has been completed, the log\-rotation process
1004 should issue the command `\fBstealth\fP \f(CW\-\-resume <uds>\fP\(cq\&\&. This
1005 resumes the activities of a suspended \fBstealth\fP daemon process,
1006 immediately performing the next integrity scan\&. Following this the
1007 \fBstealth\fP daemon is back to its original integrity scanning mode\&.
1008 Here is an example of \fBlogrotate\fP(1) specification rotating \fBstealth\fP
1009 log\-files:
1010 .nf
1011
1012 /root/stealth/clienthost/small/report /var/log/stealth/clienthost\-small\&.log {
1013 daily
1014 rotate 4
1015 compress
1016 missingok
1017 copytruncate
1018 sharedscripts
1019 prerotate
1020 /usr/bin/stealth \-\-suspend /root/stealth/client/small\&.uds
1021 endscript
1022 postrotate
1023 /usr/bin/stealth \-\-resume /root/stealth/client/small\&.uds
1024 endscript
1025 }
1026
1027 .fi
1028
1029 .PP
1030 .SH "RELOAD, RERUN AND TERMINATE"
1031
1032 .PP
1033 Here is what happens when \fBstealth\fP is run using the third synopsis:
1034 .PP
1035 .IP o
1036 When started as \fBstealth\fP \f(CW\-\-reload <uds>\fP, the \fBstealth\fP daemon process
1037 reloads its policy file and (if specified) \f(CW\-\-skip\-files\fP
1038 specification file\&. Next the \fBstealth\fP daemon process performs a file
1039 integrity scan using the information in the re\-read policy and
1040 skip\-files files\&. \fBStealth\fP can reload the (modified) contents of the
1041 originally specified policy\- and skip\-files names\&. If another policy
1042 and/or skip\-files files must be used another \fBstealth\fP process must be
1043 started, for which these new filenames are specified\&.
1044 .IP
1045 .IP o
1046 When started as \fBstealth\fP \f(CW\-\-rerun <uds>\fP, the \fBstealth\fP daemon performs
1047 another scan (unless it has been suspended using \fBstealth\fP \f(CW\-\-suspend
1048 <uds>\fP)\&.
1049 .IP
1050 .IP o
1051 When started as \fBstealth\fP \f(CW\-\-terminate <uds>\fP, the \fBstealth\fP daemon is
1052 terminated\&.
1053
1054 .PP
1055 .SH "RSYSLOG FILTERING"
1056
1057 .PP
1058 When using \fBrsyslogd\fP(1) property based filters may be used to filter
1059 syslog messages and write them to a file of your choice\&. E\&.g\&., to filter
1060 messages starting with the syslog message tag (e\&.g\&., \f(CWSTEALTH\fP) use
1061 .nf
1062
1063 :syslogtag, isequal, \(dq\&STEALTH:\(dq\& /var/log/stealth\&.log
1064 :syslogtag, isequal, \(dq\&STEALTH:\(dq\& stop
1065
1066 .fi
1067 Note that the colon is part of the tag, but is not specified with the
1068 \f(CWsyslog\-tag\fP option\&.
1069 .PP
1070 This causes all messages having the \f(CWSTEALTH:\fP tag to be written on
1071 \f(CW/var/log/stealth\&.log\fP after which they are discarded\&. More extensive
1072 filtering is also supported, see, e\&.g\&.,
1073 \f(CWhttp://www\&.rsyslog\&.com/doc/rsyslog_conf_filter\&.html\fP and
1074 \f(CWhttp://www\&.rsyslog\&.com/doc/property_replacer\&.html\fP
1075 .PP
1076 Time stamps written by \f(CWrsyslogd\fP are not controlled by \fBstealth\fP\(cq\&s
1077 \f(CW\-\-time\-stamp\fP option, but, e\&.g\&., by a \f(CWTZ\fP specification in
1078 \f(CW/etc/default/rsyslog\fP\&. Simply add the line
1079 .nf
1080 export TZ=UTC
1081 .fi
1082 to \f(CW/etc/default/rsyslog\fP, followed by restarting \f(CWrsyslogd\fP configures
1083 \f(CWrsyslogd\fP to generate time stamps using UTC\&.
1084 .PP
1085 .SH "DEPLOYMENT SUMMARY"
1086 The following summarizes the advised steps to perform when installing
1087 stealth\&. All these steps are elaborated upon in \fBstealth\fP\(cq\&s \fIUser Guide\fP
1088 (chapter \fIRunning `stealth\(cq\&\fP):
1089 .IP o
1090 Install \fBstealth\fP (e\&.g\&., use \fBdpkg\fP(1) to install the \fB\&.deb\fP file);
1091 .IP o
1092 Construct one or more policy files;
1093 .IP o
1094 Automate (re)starting \fBstealth\fP using \fBcron\fP(1) or \fBssh\-cron\fP(1)
1095 (possibly calling \fBstealthcron\fP);
1096 .IP o
1097 Set up automated log\-file rotation, using, e\&.g\&., \fBstealthcleanup\fP
1098 and \fBlogrotate\fP(1), defining one or more
1099 \f(CW/etc/logrotate\&.d/stealth\&.\&.\&.\fP configuration files\&.
1100
1101 .PP
1102 .SH "FILES"
1103
1104 .PP
1105 \f(CW/usr/share/doc/stealth/\fP;
1106 .br
1107 the \f(CWpolicy\fP file;
1108 .br
1109 files under the \fBBASE\fP directory as defined in the \f(CWpolicy\fP file;
1110 .br
1111 the report file as defined by the policy\(cq\&s \fBUSE REPORT\fP directive\&.
1112 .PP
1113 .SH "SEE ALSO"
1114 \fBcron\fP(1), \fBdd\fP(1), \fBdiff\fP(1), \fBdpkg\fP(1), \fBfind\fP(1),
1115 \fBlogrotate\fP(1), \fBls\fP(1), \fBmail\fP(1), \fBsha256sum\fP(1), \fBpasswd\fP(5),
1116 \fBrsyslog\fP(1), \fBsendmail\fP(1), \fBsh\fP(1), \fBssh\fP(1), \fBssh\-cron\fP(1)
1117 .PP
1118 .SH "DIAGNOSTICS"
1119 By default, executed commands are echoed to stderr\&. Use \fB\-q\fP to
1120 suppress this echoing\&.
1121 .PP
1122 .SH "BUGS"
1123
1124 .PP
1125 None reported
1126 .PP
1127 .SH "COPYRIGHT"
1128 This is free software, distributed under the terms of the `GNU General
1129 Public License\(cq\&\&. Copyright remains with the author\&. \fBStealth\fP is found at
1130 \f(CWhttps://fbb\-git\&.github\&.io/stealth/\fP\&.
1131 .PP
1132 .SH "ORGANIZATION"
1133 Center for Information Technology, University of Groningen\&.
1134 .PP
1135 .SH "AUTHOR"
1136
1137 Frank B\&. Brokken (\fBf\&.b\&.brokken@rug\&.nl\fP)\&.
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title>stealth(1)</title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 <link rev="made" href="mailto:f.b.brokken@rug.nl">
8 </head>
9 <body text="#27408B" bgcolor="#FFFAF0">
10 <hr/>
11 <h1 id="title">stealth(1)</h1>
12 <h2 id="author">Security Enhancement<br/>(stealth_4.01.06.tar.gz)</h2>
13 <h2 id="date">2005-2017</h2>
14
15
16 <p>
17 <h2 >NAME</h2>stealth - Stealthy File Integrity Scanner
18 <p>
19 <h2 >SYNOPSIS</h2>
20 `&lt;uds&gt;' represents the location of the used Unix Domain Socket.<br/>
21 <p>
22 <strong >stealth</strong> --daemon &lt;uds&gt; --dry-run --log &lt;file-spec&gt; --logmail<br/>
23 --max-size &lt;size&gt;[BKMG] --no-mail --parse-policy-file<br/>
24 --random-interval &lt;seconds&gt; --repeat &lt;seconds&gt;<br/>
25 --skip-files &lt;file-spec&gt; --syslog<br/>
26 --syslog-facility &lt;fac&gt; --syslog-priority &lt;pri&gt;
27 --syslog-tag &lt;tag&gt;<br/>
28 --verbosity &lt;value&gt; policy
29 <p>
30 <strong >stealth</strong> --dry-run --log &lt;file-spec&gt; --logmail<br/>
31 --max-size &lt;size&gt;[BKMG] --no-mail --parse-policy-file<br/>
32 --random-interval &lt;seconds&gt; --repeat &lt;seconds&gt;<br/>
33 --run-command &lt;nr&gt; --skip-files &lt;file-spec&gt; --stdout --syslog<br/>
34 --syslog-facility &lt;fac&gt; --syslog-priority &lt;pri&gt;
35 --syslog-tag &lt;tag&gt;<br/>
36 --verbosity &lt;value&gt; policy
37 <p>
38 <strong >stealth</strong> {--ping,--reload,--rerun,--resume,--suspend,--terminate} &lt;uds&gt;
39 <p>
40 <strong >stealth</strong> --help --version
41 <p>
42 <h2 >DESCRIPTION</h2>
43 <p>
44 The name of the <strong >stealth</strong> program is an acronym of:
45 <blockquote >
46 <strong >SSH-based Trust Enforcement Acquired through a Locally Trusted Host.</strong>
47 </blockquote>
48 <strong >Stealth</strong> is based on an idea by <em >Hans Gankema</em> and <em >Kees Visser</em>, both at
49 the Center for Information Technology of the University of Groningen. <em >Hopko
50 Meijering</em> provided valuable suggestions for improvement.
51 <p>
52 <strong >Stealth</strong>'s main task is to perform file integrity tests. However, the
53 testing itself will leave no sediments on the tested computer. Therefore,
54 <strong >stealth</strong> has <em >stealthy</em> characteristics. This is considered an
55 important feature, improving the security (integrity) of the software of
56 computers monitored by <strong >stealth</strong>.
57 <p>
58 Please realize that <strong >stealth</strong> intends to be just another security tool: other
59 security measures like firewalls, portscanners, intrusion detection systems,
60 dropping unencrypted protocols, etc. are usually required to improve the
61 security of a group of computers that are connected to the Internet. <strong >Stealth</strong> is a
62 file integrity scanner, and file integrity scanners offer no substitute for
63 those tools (and vv.).
64 <p>
65 <strong >Stealth</strong> uses a policy file to determine the actions to perform. Each
66 policy file is uniquely associated with a host being monitored. This host
67 (called the <em >client</em> below) trusts the computer on which <strong >stealth</strong> runs, called
68 the <em >monitor</em> (hence: a <em >Locally Trusted Host</em>). The monitor
69 performs tasks (normally file integrity tests) that <em >Enforce</em> the <em >Trust</em>
70 we have in the client computer. Since almost all integrity tests can be run
71 on the client, one monitor can control many clients, even if the
72 monitor itself uses aged hard- and software components.
73 <p>
74 As the monitor and the client are (i.e., should be) different computers, the
75 monitor must communicate with the client in a secure fashion. This is realized
76 through SSH. So, there's another element of `local trust' involved here: the
77 client should permit the monitor to set up a secure SSH connection allowing
78 the monitor to access sensitive elements in the client's file system.
79 <p>
80 <strong >It is important to ensure that public access to the monitor is
81 prevented. No incoming services should be allowed. The only access to the
82 monitor should be via its console and the monitor should be placed in a
83 physically secure location. Sensitive information of clients are stored in the
84 monitor's file system. To access the clients <strong >stealth</strong> in daemon mode can use a
85 passphrase-protected ssh-key, allowing <strong >stealth</strong> to perform its tasks
86 thereafter. This, too, makes it important to prevent the monitor from being
87 accessed by unauthorized persons.</strong>
88 <p>
89 If, instead of running <strong >stealth</strong> in daemon mode it is preferred to let <strong >stealth</strong> perform
90 single, but automated integrity scans, then new <strong >ssh</strong>(1) connections may be
91 difficult to establish if the used ssh-key is passphrase-protected. To
92 implement this scenario (i.e., automated integrity scans using passphrase
93 protected ssh-keys) the program <strong >ssh-cron</strong>(1) can profitably be used.
94 <p>
95 <strong >Stealth</strong>'s current way of connecting to clients uses a single <strong >ssh</strong>(1)
96 connection, which results in only a single <strong >sshd</strong>(1)
97 entry in the client's logfiles, which lasts for the duration of <strong >stealth</strong>'s
98 run. When using <strong >stealth</strong> in daemon mode this too minimizes the `footprint' <strong >stealth</strong> has
99 on the client hosts.
100 <p>
101 The monitor itself normally only requires two types of outgoing services:
102 <strong >SSH</strong> to reach its clients, and some mail transport agent (e.g.,
103 <strong >sendmail</strong>(1)) to forward its outgoing mail to some mail-hub.
104 <p>
105 Here is what happens when <strong >stealth</strong> running using the first synopsis:
106 <ul>
107 <li> First, the <em >policy</em> file is read. For each client a policy file is
108 defined, specifying the actions to be performed, and specifying the values of
109 several variables used by <strong >stealth</strong>.
110 <p>
111 <li> If the command-line option <code >--daemon &lt;uds&gt;</code> is specified, <strong >stealth</strong>
112 runs as a daemon process, using the Unix Domain Socket (<code >&lt;uds&gt;</code>) for
113 communication with <strong >stealth</strong> processes running in IPC mode.
114 <p>
115 If access to the Unix Domain Socket defined by Stealth running in daemon mode
116 should be restricted, it can be defined in a directory with is only accessible
117 to the user running Stealth (this will often be the root-user).
118 <p>
119 When running in daemon mode, <code >--repeat &lt;seconds&gt;</code> may be specified to rerun
120 the integrity scan every <code >&lt;seconds&gt;</code> seconds. If an integrity scan is being
121 performed when, according to the repeat interval the next integrity scan is
122 due, then the current scan is first completed. Once completed, the next
123 integrity scan will be performed after <code >seconds</code> seconds.
124 <p>
125 <li> Next, the monitor opens a command shell on the client using
126 <strong >ssh</strong>(1), and a command shell on the monitor computer itself using
127 <strong >sh</strong>(1).
128 <p>
129 <li> Once the command shells are available, commands defined in the policy
130 file are executed in their order of appearance. Examples are given
131 below. Normally, return values of the programs are tested. When return values
132 are to be tested <strong >stealth</strong> terminates when a non-zero return value is sensed. If
133 this happens, a message stating the reason why <strong >stealth</strong> terminated is written to
134 the report file (and into the mail sent by <strong >stealth</strong>). In some cases (e.g., when the
135 report file could not be written), the message is written to the standard
136 error stream.
137 <p>
138 <li> Very often integrity tests can be controlled using <strong >find</strong>(1),
139 calling programs like <strong >ls</strong>(1), <strong >sha256sum</strong>(1) or its own <code >-printf</code>
140 method to produce file-integrity related statistics. Most of these programs
141 write file names at the end of generated lines. This characteristic is used by
142 one of <strong >stealth</strong>'s internal routines to detect changes in the generated output. Such
143 changes could indicate some harmful intent, like an installed <em >root-kit</em>.
144 <p>
145 <li> When changes are detected, they are logged in a <em >report file</em>, to
146 which information is always appended. <strong >Stealth</strong> never reduces the report file's size
147 or rewrites its contents. When information is added to the report file (beyond
148 a plain time stamp) the newly added information is e-mailed to a configurable
149 e-mail address for further (human) processing. Usually the e-mail is sent to
150 the systems manager of the tested client. <strong >Stealth</strong> follows the `dark cockpit'
151 approach in the sense that no mail is sent when no changes were detected.
152 <p>
153 <li> Report and other log-files may safely be rotated between a pair of
154 <code >--suppress</code> and <code >--resume</code> commands (see below at the section `REPORT
155 FILE ROTATION').
156 </ul>
157 <p>
158 If <strong >stealth</strong> should not be run as a daemon process the second synopsis can be
159 used. In this case <strong >stealth</strong> performs one or more integrity scans (the latter when
160 the <code >--repreat</code> option was specified). When a single integrity scan is
161 requested <strong >stealth</strong> terminates after the scan. When <code >--repeat</code> is specified <strong >stealth</strong>
162 shows a prompt (i.e., `<code >? </code>') and terminates after pressing the
163 <code >Enter</code>-key.
164 <p>
165 The third synopsis is used for communication with a <strong >stealth</strong> daemon. In this case
166 the the Unix Domain Socket defined by the <strong >stealth</strong> daemon process must be
167 specified after the option specifying the requested command.
168 <p>
169 <h2 >OPTIONS</h2>
170 <p>
171 Short options are provided between parentheses, immediately following
172 their long option equivalents.
173 <p>
174 Option descriptions showing (C) can only be used on the command-line, and
175 are ignored when specified in the second section of the policy file.
176 <p>
177 In the overview of options `<code >&lt;uds&gt;</code>' represents the name of the
178 <em >Unix Domain Socket</em> to use, and `<code >&lt;file-spec&gt;</code>' refers to a (relative or
179 absolute) specification of a file location.
180 <p>
181 With the first and second synopses relative locations (of the Unix Domain
182 Socket and of other file-specifications) are interpreted relative to the
183 current working directory.
184 <p>
185 Command-line options overrule options defined in the policy-file.
186 <p>
187 <ul>
188 <li> <code >--daemon (-d) &lt;uds&gt;</code>: (C) run as background (daemon)
189 process. When the Stealth daemon process is started, the Unix Domain
190 Socket (tt&lt;uds&gt;) may not already exist.
191 <li> <code >--dry-run</code>: (C) no integrity scans or reloads are performed, but
192 are assumed OK. Remaining tasks are normally performed;
193 <li> <code >--help (-h)</code>: (C) Display help information and exit;
194 <li> <code >--log (-L) &lt;file-spec&gt;</code>: log messages are appended to
195 `file-spec'. If file-spec does not exist, it is first created;
196 <li> <code >--logmail</code>: mail sent by <strong >stealth</strong> is logged (requires <code >--log</code> or
197 <code >--syslog</code>);
198 <li> <code >--max-size &lt;size&gt;[BKMG]</code>: files retrieved by <code >GET</code> commands may
199 at most have <code >&lt;size&gt;</code> bytes (B), KBytes (K), MBytes (M), GBytes
200 (G). The default size is 10M, the default unit is B.
201 <li> <code >--no-mail</code>: mail is not sent. By default mail is sent as
202 configured in the policy-file (<code >--logmail</code> can be specified
203 independently from <code >--no-mail</code>);
204 <li> <code >--parse-policy-file (-p)</code>: (C) parse the policy file, after which
205 <strong >stealth</strong> ends.<br/>
206 Specify once to see the numbered commands;<br/>
207 twice to see the policy file parsing steps as well.<br/>
208 Results are written to the std. output.
209 <li> <code >--ping &lt;uds&gt;</code>: (C) performs no actions, but is used to verify that
210 a <strong >stealth</strong> daemon can be reached via its Unix Domain Socket
211 (<code >&lt;uds&gt;</code>). The daemon will respond even if it's currently performing
212 an integrity scan. It is used by the <code >/usr/bin/stealthcron</code> script
213 to verify that a <strong >stealth</strong> daemon is alive.
214 <li> <code >--random-interval (-i) &lt;interval&gt;[m]&gt;</code>: start the scan a random
215 interval of &lt;interval&gt; seconds (or minutes if an `m' is appended (no
216 blanks) to &lt;interval&gt;) following the delay specified at <code >--repeat</code>
217 (see below). This option requires specification of the <code >--repeat</code>
218 and <code >--daemon</code> options;
219 <li> <code >--reload &lt;uds&gt;</code>: (C) reloads the configuration and skip-files
220 and restarts the scan of the <strong >stealth</strong> daemon process. Options defined in
221 the policy file are also reloaded. However, command-line options
222 always take priority over options defined in the policy file, so when
223 command-line options were used when starting <strong >stealth</strong> in daemon mode, they
224 cannot be modified by reloading the policy file.
225 <li> <code >--repeat &lt;seconds&gt;</code>: wake up and perform an integrity scan at
226 interrupts or after <code >&lt;seconds&gt;</code> seconds (or minutes if an `m' is
227 appended (no blanks) to &lt;seconds&gt;) after completing the previous
228 integrity scan. The option <code >--random-interval</code> can be used to add a
229 random delay to <code >&lt;seconds&gt;</code> until the next integrity scan is
230 performed. This option requires specification of the and <code >--daemon</code>
231 option;
232 <li> <code >--rerun &lt;uds&gt;</code>: (C) start executing the integrity scan
233 commands that are specified in the <strong >stealth</strong> daemon process's policy file;
234 <li> <code >--resume &lt;uds&gt;</code>: (C) resume a suspended <strong >stealth</strong> process, implies
235 <code >--rerun</code>;
236 <li> <code >--run-command (-r) &lt;nr&gt;</code>: (C) Only execute command number &lt;nr&gt;
237 (natural number). Command numbers are shown by <strong >stealth</strong>
238 <code >---parse-policy-file</code>. This option can only be specified using the
239 second synopsis;
240 <li> <code >--skip-files (-s) &lt;file-spec&gt;</code>: all entries in <code >&lt;file-spec&gt;</code> are
241 skipped. Their integrity is not monitored. If an entry is already
242 present in a log file then <strong >stealth</strong> once generates an <code >IGNORING</code> message
243 in the mail sent to the address specified at <code >EMAIL</code> in the policy
244 file. Each entry mentioned in <code >file-spec</code> must be on a line of
245 its own and must be specified using absolute file paths. Entries
246 ending in a slash are assumed to be directories whose full contents
247 must be skipped. Other entries are interpreted as the names
248 of files to skip. Initial and trailing blanks, empty lines and lines
249 having a <code >#</code> as their 1st non blank character are ignored. Here are
250 some examples:
251 <pre>
252
253 # skip all files in user's Mail directory
254 /home/user/Mail/
255 # skip user's .history file
256 /home/user/.history
257
258 </pre>
259
260 <li> <code >--stdout (-o)</code>: messages are (also) written to the std. output
261 stream (only available with the second synopsis);
262 <li> <code >--suspend &lt;uds&gt;</code>: (C) suspends a currently active <strong >stealth</strong>
263 process. Following <code >--suspend</code> use <code >--resume</code> to re-activate an
264 <strong >stealth</strong> daemon or <code >--terminate</code> to end an <strong >stealth</strong> daemon;
265 <li> <code >--syslog</code>: write syslog messages;
266 <li> <code >--syslog-facility &lt;facility&gt;</code>: syslog facility to use. By
267 default facility DAEMON is used;
268 <li> <code >--syslog-priority &lt;priority&gt;</code>: syslog priority to use. By
269 default priority NOTICE is used;
270 <li> <code >--syslog-tag &lt;tag&gt;</code>: <code >&lt;tag&gt;</code> specifies the identifier that is
271 prefixed to syslog messages. By default the tag `STEALTH' is used, see
272 also the next section;
273 <li> <code >--terminate &lt;uds&gt;</code>: (C) terminate a currently active <strong >stealth</strong>
274 process;
275 <li> <code >--time-stamp (-t) &lt;type&gt;</code>: the time-stamps to use. By default
276 UTC. To use the local time specify <code >--time-stamp
277 LT</code>. The <code >--time-stamp</code> option does not apply to time-stamps
278 generated by syslog (see also the next section);
279 <li> <code >--usage</code>: (C) Display help information and exit;
280 <li> <code >--verbosity &lt;value&gt;</code>: determines the amount of logged
281 information. Requires options <code >--log</code> or <code >--syslog</code>. Possible
282 values are:<br/>
283 0: nothing is logged<br/>
284 1: (default) mode reports and policy commands<br/>
285 2: also: ipc commands and actions<br/>
286 3: also: integrity scan informative messages
287 <li> <code >--version (-v)</code>: (C) Display <strong >stealth</strong>'s version information and
288 terminate;
289 </ul>
290 <p>
291 <ul>
292 <li> <code >policy</code>: file specification of the policy file. If a relative
293 location is specified then this location is interpreted relative to
294 the current working directory. <strong >Stealth</strong> converts this relative
295 specification to an absolute file location, and an option like
296 <code >--reload</code> will reload the policy file from the thus determined
297 absolute file path.
298 </ul>
299 <p>
300 Only one of the options <code >--daemon, --reload, --resume,
301 --suspend</code> or <code >--terminate</code> can be specified. The options <code >--reload,
302 --rerun, --resume, --suspend,</code> and <code >--terminate</code> ignore any other options.
303 <p>
304 The following options are still recognized for backward compatibility with <strong >stealth</strong>
305 pre-3.00 versions and will be removed in a future <strong >stealth</strong> version. They generate
306 error messages suggesting alternatives:
307 <p>
308 <ul>
309 <li> <code >--echo-commands (-e)</code>:
310 echo commands to std error when they are processed; use <code >--log</code>
311 instead.
312 <li> <code >--keep-alive</code>: run as a daemon; use <code >--daemon</code> instead.
313 <li> <code >--only-stdout</code>: scan report is written to stdout; use
314 <code >--stdout</code> instead.
315 <li> <code >--quiet (-q)</code>: suppresses progress messages written to stderr; use
316 <code >--verbosity 0</code> instead.
317 <li> <code >--suppress &lt;uds&gt;</code>: suppresses a currently active <strong >stealth</strong>
318 process; use <code >--suspend</code> instead.
319 </ul>
320 <p>
321 The following options were discontinued starting since <strong >stealth</strong> version 3.00.00:
322 <ul>
323 <li> <code >--debug</code> (option <code >--verbosity</code> or <code >--dry-run</code> could be used
324 instead);
325 <li> <code >--no-child-processes</code>;
326 <li> <code >--parse-config-file</code>.
327 </ul>
328 <p>
329 When specifying long options in policy files initial hyphens should be
330 omitted. Here are some examples:
331 <pre>
332 %%
333 log /tmp/stealth.log
334 verbosity 3
335 </pre>
336
337 <p>
338 <h2 >EXIT STATUS</h2>
339 <p>
340 When requesting an IPC command or when starting <strong >stealth</strong> as a daemon 0 is
341 returned if the command was successfully completed. Otherwise a non-0 value is
342 returned.
343 <p>
344 <h2 >OPEN SSH LINK TO CLIENTS</h2>
345 <p>
346 Once <strong >stealth</strong> has started as a foreground or daemon process performing file
347 integrity scans <strong >ssh</strong>(1) is used to connect to the client(s)
348 monitored by <strong >stealth</strong>. While <strong >stealth</strong> runs only one <strong >ssh</strong>(1) connection is opened to
349 each client. This connection remains active during <strong >stealth</strong>'s lifetime to minimize
350 the number of <strong >sshd</strong> entries in the client's log files.
351 <p>
352 <h2 >THE POLICY FILE</h2>
353 <p>
354 The policy file consists of two sections, the second section is optional,
355 and starts at a line merely containing <code >%%</code>.
356 <p>
357 The policy file's first section consists of two sets of data: <em >use
358 directives</em> (starting with the keyword <strong >USE</strong>) and <em >commands</em>. Blank lines
359 and information beyond hash-marks (#) are ignored, while lines following lines
360 terminating in backslashes (\) are concatenated (<em >en passant</em> removing these
361 trailing backslashes). Leading white space on lines of the policy file is
362 ignored.
363 <p>
364 The (optional) second section starts at a line merely containing
365 <code >%%</code>. Following this separating line several long option specifications can
366 be entered (see below at section <strong >OPTIONS</strong>). Options specified on the
367 command-line take priority over options specified in the policy file. Although
368 the <code >--reload</code> option reloads the policy file, it will not change option
369 values originally specified as command-line options. This section may contain
370 specifications of the <code >skip-files</code> and <code >log</code> options. Relative file
371 locations specified for these options are interpreted relative to the location
372 of the policy file. E.g., if the policy file argument is specified as
373 <code >/root/client/policy</code> then the specification <code >log: client.log</code> results in
374 <strong >stealth</strong> writing its logs into the file <code >/root/client/client.log</code>.
375 <p>
376 <h2 >DEFINE DIRECTIVES</h2>
377 <p>
378 <strong >DEFINE</strong> directives are used to associate longer strings of text with
379 certain symbols. E.g., after
380 <code >DEFINE FINDARGS -xdev -type f -exec /usr/bin/sha256sum {} \;</code>
381 the specification <code >${FINDARGS}</code> may be used in <strong >USE DIRECTIVES</strong> and
382 <strong >commands</strong> (see below) to use the text associated with the <strong >FINDARGS</strong>
383 symbol.
384 <p>
385 Note that <strong >DEFINE</strong> symbols may also be used in the definition of
386 other <strong >DEFINE</strong> symbols as well. Direct or indirect circular definitions
387 should be avoided, as they are either not or incompletely expanded.
388 <p>
389 <h2 >USE DIRECTIVES</h2>
390 <p>
391 The following <strong >USE</strong> directives may be specified (directives are written
392 in capitals, and should appear exactly as written below: letter casing is
393 preserved). Specifications in angular brackets (like <code >&lt;this&gt;</code>) represent
394 specifications to be provided by <strong >stealth</strong>'s users:
395 <ul>
396 <li> <strong >USE BASE</strong> <code >&lt;base-directory&gt;</code><br/>
397 <strong >BASE</strong> defines the directory from where <strong >stealth</strong> operates. All subsequent
398 relative path specifications in the policy file (including relative path
399 specifications in the policy's second part) are interpreted relative to
400 <strong >BASE</strong>. <em >By default</em> this is the directory where <strong >stealth</strong> was started. <br/>
401 <strong >BASE</strong> and other non-existing paths are created automatically by
402 <strong >stealth</strong> if not yet existing.<br/>
403 Example:<br/>
404 <code >USE BASE /root/client</code>
405 <p>
406 <li> <strong >USE DD</strong> <code >&lt;dd&gt;</code><br/>
407 The <strong >DD</strong> specification uses <code >/bin/dd</code> as default, and defines the
408 location of the <strong >dd</strong>(1) program, both on the server and on the client. The
409 <strong >DD</strong> program is used to copy files between the client and the monitor
410 over the existing ssh-connection. The program specified here is only used by
411 <strong >stealth</strong> when executing <code >PUT</code> and <code >GET</code> commands (described below).<br/>
412 Example showing the default:<br/>
413 <code >USE DD /bin/dd</code>
414 <p>
415 <li> <strong >USE DIFF</strong> <code >&lt;diff&gt;</code><br/>
416 The default <strong >DIFF</strong> specification uses <code >/usr/bin/diff</code>,
417 and defines the location of the <strong >diff</strong>(1) program on the monitor. The
418 <strong >diff</strong>(1) program is used to compare a formerly created logfile of an
419 integrity check with a newly created logfile.<br/>
420 Example showing the default:<br/>
421 <code >USE DIFF /usr/bin/diff</code>
422 <p>
423 <li> <strong >USE DIFFPREFIX</strong> <code >&lt;prefix&gt;</code><br/>
424 The <strong >DIFFPREFIX</strong> specification defines the size of the prefix added
425 by the <code >DIFF</code> command to lines produced by commands executed through <strong >stealth</strong>.
426 <p>
427 The default <code >/usr/bin/diff</code> program prefixes lines by either `<code >&gt; </code>' or
428 `<code >&lt; </code>'. The default value for <code >&lt;prefix&gt;</code> is therefore equal to 2.<br/>
429 Example showing the default:<br/>
430 <code >USE DIFFPREFIX 2</code>
431 <p>
432 <li> <strong >USE EMAIL</strong> <code >&lt;address&gt;</code><br/>
433 The <strong >EMAIL</strong> specification defines the email-address to receive the
434 report of the integrity scan of the client. The `dark cockpit' philosophy is
435 followed here: mail is only sent when a modification is detected.<br/>
436 Example showing the default (apparently an email address on the
437 monitor):<br/>
438 <code >USE EMAIL root</code>
439 <p>
440 <li> <strong >USE MAILER</strong> <code >&lt;mailer&gt;</code><br/>
441 The <strong >MAILER</strong> specification defines the program that to send
442 e-mail to the <strong >EMAIL</strong>-address. Contrary to <strong >DIFF</strong> and <strong >DD</strong> and (see
443 below) <strong >SH</strong> and <strong >SSH</strong>, <strong >MAILER</strong> is run as a <code >/bin/sh</code> command, to
444 allow shell-scripts to process the mail too. By default <strong >MAILER</strong> is defined
445 as <strong >/usr/bin/mail</strong>. <strong >MAILER</strong> is called with the following
446 arguments:<br/>
447 ----------------------------------------------------------<br/>
448 <strong >MAILARGS</strong>, see below;<br/>
449 <strong >EMAIL</strong>, the addressee of the mail.<br/>
450 ----------------------------------------------------------<br/>
451 Example showing the default:<br/>
452 <code >USE MAILER /usr/bin/mail</code>
453 <p>
454 As an alternative, the script <code >stealthmail</code> is provided. It offers a
455 convenient filter sorting <strong >stealth</strong>'s output and keeping only lines containing the
456 text <code >ADDED</code>, <code >MODIFIED</code>, <code >REMOVED</code> or <code >STEALTH</code>. Usually these lines
457 are the ones system managers are interested in. The report and log files
458 can always be consulted to determine the actual nature of the changes.
459 <p>
460 <li> <strong >USE MAILARGS</strong> <code >&lt;args&gt;</code><br/>
461 The <strong >MAILARGS</strong> specification defines the arguments that are passed
462 to <code >MAILER</code>, followed by the <code >EMAIL</code> specification.<br/>
463 Example showing the default:<br/>
464 <code >USE MAILARGS -s "STEALTH scan report"</code><br/>
465 Note that blanks may be used in the subject specification: use double or
466 single quotes to define elements containing blanks. Use <code >\"</code> to use a double
467 quote in a string that itself is delimted by double quotes; use <code >\'</code> to use
468 a single quote in a string that itself is delimted by single quotes.
469 <p>
470 <li> <strong >USE REPORT</strong> <code >&lt;file-spec&gt;</code><br/>
471 <strong >REPORT</strong> defines the name of the reportfile. Information is always
472 appended to this file. At each <strong >stealth</strong> integrity scan a <em >time marker line</em> is
473 written to the report file. Only when (in addition to the marker line)
474 additional information is appended to the report file the added contents of
475 the report file are mailed to the mail address specified in the <strong >USE EMAIL</strong>
476 specification. When a relative file specification is used it is interpreted a
477 location relative to the <code >USE BASE</code> specification.<br/>
478 Example showing the default:<br/>
479 <code >USE REPORT report</code>
480 <p>
481 <li> <strong >USE SH</strong> <code >&lt;sh&gt;</code><br/>
482 The <strong >SH</strong> specification uses <code >/bin/sh</code> as default, and defines the
483 command shell used by the monitor to execute commands on itself. This must be
484 an absolute path specification.<br/>
485 Example showing the default:<br/>
486 <code >USE SH /bin/sh</code>
487 <p>
488 <li> <strong >USE SSH</strong> <code >&lt;user&gt;</code><br/>
489 <strong >The SSH specification has no default</strong>, and <em >must</em> be
490 specified. This must be an absolute path specification.
491 <p>
492 Assuming the client <em >trusts</em> the monitor (which is after all what this
493 program is all about, so this should not be a very strong assumption),
494 preferably the public ssh key of the monitor should be placed in the
495 client's root <code >.ssh/authorized_keys</code> file, granting the monitor root access
496 to the client. Root access is normally needed to gain access to all
497 directories and files of the client's file system.
498 <p>
499 In practice, connecting to an account using the <strong >sh</strong>(1) shell is
500 preferred. When another shell is already used by that account, one should make
501 sure that its shell doesn't define its own redirections for standard input
502 and standard output. One way to accomplish that is for force the execution of
503 <code >/bin/sh</code> in the <strong >USE SSH</strong> specification.
504 Examples:
505 <pre>
506 # root's shell is /bin/sh:
507 USE SSH root@client -T -q
508 # root uses another shell, but the use of /bin/bash is forced:
509 USE SSH root@client -T -q exec /bin/bash
510 # an alternative:
511 USE SSH root@client -T -q exec /bin/bash --noprofile
512 </pre>
513
514 </ul>
515 <p>
516 In some installations <strong >stealth</strong> is used to inspect the monitor itself, even
517 though this is <em >not</em> recommended, as it breaks one of the main reasons for
518 <strong >stealth</strong>'s existence. But in those situations (so, where <strong >stealth</strong> is used to monitor the
519 integrity of the <code >localhost</code>), <code >/bin/bash</code> could be specified at the
520 <code >USE SSH</code> directive. For example:
521 <pre>
522 # For stealth inspecting localhost:
523 USE SSH /bin/bash --noprofile
524 </pre>
525
526 <p>
527 <h2 >COMMANDS</h2>
528 <p>
529 Following the <strong >USE</strong> specifications, <em >commands</em> can be specified. The
530 commands are executed in their order of appearance in the policy
531 file. Processing continues until the last command has been processed or until
532 a tested command (see below) returns a non-zero return value.
533 <p>
534 <h2 >LABEL COMMANDS</h2>
535 <p>
536 The following <strong >LABEL</strong> commands are available:
537 <ul>
538 <li> <strong >LABEL</strong> <code >&lt;text&gt;</code><br/>
539 This defines a text-label which is written to the <strong >REPORT</strong> file,
540 in front of the output generated by the next <strong >CHECK</strong>-command. If the next
541 <strong >CHECK</strong>-command generates no output, the text-label is not written to the
542 <strong >REPORT</strong>-file. Once a <strong >LABEL</strong> has been defined, it is used until it is
543 redefined by the next <strong >LABEL</strong>. Use an empty <strong >LABEL</strong> specification to
544 suppress the printing of labels.
545 <p>
546 The text may contain <code >\n</code> characters (two characters) which are
547 transformed to a newline character.
548 <p>
549 Example:<br/>
550 <code >LABEL Inspecting files in /etc\nIncluding subdirectories</code><br/>
551 <code >LABEL</code> <br/>
552 (In this example the former <strong >LABEL</strong> specification is erased by the
553 latter <strong >LABEL</strong> command).
554 </ul>
555 <p>
556 <h2 >LOCAL COMMANDS</h2>
557 <p>
558 <strong >LOCAL</strong> commands are executed on the monitor itself:
559 <ul>
560 <li> <strong >LOCAL</strong> <code >&lt;command&gt;</code><br/>
561 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
562 shell. The command must succeed (i.e., must return a zero exit value). <br/>
563 Example:<br/>
564 <code >LOCAL scp rootsh@client:/usr/bin/sha256sum /tmp</code><br/>
565 This command copies the client's <strong >sha256sum</strong>(1) program to the
566 monitor.
567 <p>
568 <li> <strong >LOCAL NOTEST</strong> <code >&lt;command&gt;</code><br/>
569 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
570 shell. The command may or may not succeed.<br/>
571 Example:<br/>
572 <code >LOCAL NOTEST mkdir /tmp/subdir</code><br/>
573 This command creates <code >/tmp/subdir</code> on the monitor. The command fails
574 if the directory cannot be created, but this does not terminate <strong >stealth</strong>.
575 <p>
576 <li> <strong >LOCAL CHECK</strong> [<strong >LOG =</strong>] <code >&lt;file-spec&gt; [pathOffset]
577 &lt;command&gt;</code><br/>
578 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
579 shell. The command must succeed. The output of this command is compared to the
580 output of this command generated during the previous integrity check run by
581 <strong >stealth</strong>.
582 <p>
583 The phrase <strong >LOG =</strong> is optional. When a relative file location is
584 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
585 path specification.
586 <p>
587 <code >PathOffset</code> is also optional. If specified it defines the (0-based)
588 offset where path-names of inspected files start in lines produced by
589 <code >&lt;command&gt;</code>. By default <strong >stealth</strong> assumes that the first occurrence of a forward
590 slash defines the first character of the path-names of inspected files.
591 <p>
592 For example, if diff-output looks like this:
593 <pre>
594 01234567890123456789012345678901234567890 (column offsets)
595 33c33
596 &lt; 90d8b506d249634c4ff80b9018644567 filename-specification
597 ---
598 &gt; b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
599 </pre>
600
601 then the specification
602 <pre>
603 LOCAL CHECK logfile 36 command-to-be-executed
604 </pre>
605
606 informs <strong >stealth</strong> where to find the filename specifications in the
607 diff-output. Using the standard <code >/usr/bin/diff</code> command, this offset equals
608 2 + the offset of the <code >filename-specification</code> found in
609 <code >command-to-be-executed</code>.
610 <p>
611 Any differences between the previous and current output are written to
612 <strong >REPORT</strong>. If differences were found, the existing <code >logfile</code> name is
613 renamed to <code >logfile.YYMMDD-HHMMSS</code>, with <code >YYMMDD-HHMMSS</code> the
614 (UTC) datetime-stamp at the time <strong >stealth</strong> was run.
615 <p>
616 Note that eventually many <code >logfile.YYMMDD-HHMMSS</code> files could be
617 created: It is up to the monitor's systems manager to decide what to do
618 with old datetime-stamped logfiles.
619 <p>
620 The <code >logfile</code> specifications may use relative and absolute paths. When
621 relative paths are used, these paths are relative to <strong >BASE</strong>. When the
622 directories implied by the <code >logfile</code> specifications do not yet exist, they
623 are created first.
624 <p>
625 Example:<br/>
626 <code >LOCAL CHECK LOG = local/sha256sum sha256sum /tmp/sha256sum</code><br/>
627 This command checks the SHA256 sum of the <code >/tmp/sha256sum</code> program. The
628 resulting output is saved at <strong >BASE</strong><code >/local/sha256sum</code>. The program must
629 succeed (i.e., <code >sha256sum</code> must return a zero exit-value).
630 <p>
631 <li> <strong >LOCAL NOTEST CHECK</strong> <code >&lt;logfile&gt; [pathOffset] &lt;command&gt;</code><br/>
632 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
633 shell. The command may or may not succeed. Otherwise, the command performs
634 exactly like the <strong >LOCAL CHECK ...</strong> command, discussed above.
635 <p>
636 Example:<br/>
637 <code >LOCAL NOTEST CHECK LOG=local/sha256sum sha256sum /tmp/sha256sum</code><br/>
638 This command checks the SHA256 sum of the <code >/tmp/sha256sum</code> program. The
639 resulting output is saved at <strong >BASE</strong><code >/local/sha256sum</code>. The program must
640 succeed (i.e., <code >sha256sum</code> must return a zero exit-value).
641 </ul>
642 <p>
643 Note that the <strong >scp</strong>(1) command can be used to copy files between the
644 client and the monitor, using a local command. This, however, is
645 discouraged, as a separate <strong >ssh</strong>(1)-connection is required for each separate
646 <strong >scp</strong>(1) command. This subtlety was brought to the author's attention by
647 Hopko Meijerink (<code >h.meijering@rug.nl</code>).
648 <p>
649 To copy files between the client and the monitor, the <code >GET</code> and
650 <code >PUT</code> commands (described below) should be used instead, as these commands
651 use the existing <strong >ssh</strong>(1) connection. In general, <code >LOCAL</code> commands should
652 not be used to establish additional <strong >ssh</strong>(1) connections to a client.
653 <p>
654 <h2 >REMOTE COMMANDS</h2>
655 <p>
656 Remote commands are commands executed on the client using the <strong >SSH</strong>
657 shell. These commands are executed using the standard <code >PATH</code> set for the
658 <strong >SSH</strong> shell. However, it is advised to specify the full pathname to the
659 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
660 is installed in an `earlier' directory of the <code >PATH</code>-specification than the
661 intended program.
662 <p>
663 Two special remote commands are <code >GET</code> and <code >PUT</code>, which can be used to
664 copy files between the client and the monitor. Internally, <code >GET</code> and
665 <code >PUT</code> use the <code >DD</code> specification. If a non-default specification is
666 used, one should ensure that the alternate program accepts <strong >dd</strong>(1)'s <code >if=,
667 of=, bs=</code> and <code >count=</code> options. With <code >GET</code> the options <code >bs=, count=</code> and
668 <code >of=</code> are used, with <code >PUT</code> the options <code >bs=, count=</code> and <code >if=</code> are
669 used. Normally there should be no need to alter the default <code >DD</code>
670 specification.
671 <p>
672 The <code >GET</code> command may be used as follows:
673 <ul>
674 <li> <strong >GET</strong> <code >&lt;client-path&gt; &lt;local-path&gt;</code><br/>
675 Copy the file indicated by <code >client-path</code> at the client to <code >local-path</code>
676 at the monitor. Here, <code >client-path</code> must be the full path of an existing
677 file on the client, <code >local-path</code> may either be a local directory, in which
678 case the client's file name is used, or another file name may be specified, in
679 which case the client's file is copied to the specified local filename. If the
680 local file already exists, it is overwritten by the copy-procedure.
681 <p>
682 Example:<br/>
683 <code >GET /usr/bin/sha256sum /tmp</code><br/>
684 The program <code >/usr/bin/sha256sum</code>, available at the client, is copied to the
685 monitor's <code >/tmp</code> directory. If, for whatever reason, copying fails, then
686 <strong >stealth</strong> terminates.
687 <p>
688 <li> <strong >GET NOTEST</strong> <code >&lt;client-path&gt; &lt;local-path&gt;</code><br/>
689 Copy the file indicated by <code >client-path</code> at the client to <code >local-path</code>
690 at the monitor. Again, <code >client-path</code> must be the full path of an existing
691 file on the client, <code >local-path</code> may either be a local directory, in which
692 case the client's file name is used, or another file name may be specified, in
693 which case the client's file is copied to the specified local filename. If the
694 local file already exists, it is overwritten by the copy-procedure.
695 <p>
696 Example:<br/>
697 <code >GET NOTEST /usr/bin/sha256sum /tmp</code><br/>
698 The program <code >/usr/bin/sha256sum</code>, available at the client, is copied to the
699 monitor's <code >/tmp</code> directory. Remaining commands in the policy file are
700 executed, even if the copying process wasn't successful.
701 </ul>
702 <p>
703 The <code >PUT</code> command may be used as follows:
704 <ul>
705 <li> <strong >PUT</strong> <code >&lt;local-path&gt; &lt;remote-path&gt;</code><br/>
706 Copy the file indicated by <code >local-path</code> at the monitor to
707 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the
708 full path of an existing file on the monitor. The argument <code >remote-path</code>
709 must be the full path to a file on the client. If the remote file already
710 exists, it is overwritten by <code >PUT</code>.
711 <p>
712 Example:<br/>
713 <code >PUT /tmp/sha256sum /usr/bin/sha256sum</code><br/>
714 The program <code >/tmp/sha256sum</code>, available at the monitor, is copied to the
715 client as <code >usr/bin/sha256sum</code>. If the copying fails, <strong >stealth</strong> terminates.
716 <p>
717 <li> <strong >PUT NOTEST</strong> <code >&lt;local-path&gt; &lt;remote-path&gt;</code><br/>
718 Copy the file indicated by <code >local-path</code> at the monitor to
719 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the
720 full path of an existing file on the monitor. The argument <code >remote-path</code>
721 must be the full path to a file on the client. If the remote file already
722 exists, it is overwritten by <code >PUT</code>.
723 <p>
724 Example:<br/>
725 <code >PUT NOTEST /tmp/sha256sum /usr/bin/sha256sum</code><br/>
726 Copy the file indicated by <code >local-path</code> at the monitor to
727 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the full
728 path of an existing file on the monitor. The argument <code >remote-path</code> must
729 be the full path to a file on the client. If the remote file already exists,
730 it is overwritten by <code >PUT</code>. Remaining commands in the policy file are
731 executed, even if the copying process wasn't successful.
732 </ul>
733 <p>
734 Plain commands can be executed on the client computer by merely specifying
735 them. Of course, this implies that programs on the client which are named,
736 e.g., <code >LABEL</code>, <code >LOCAL</code> or <code >USE</code>, cannot be executed, since these names
737 are interpreted otherwise by <strong >stealth</strong>. It's unlikely that this restriction presents
738 much of a problem....
739 <p>
740 The following commands are available for execution on the client:
741 <ul>
742 <li> <code >&lt;command-path&gt;</code><br/>
743 Execute <code >command-path</code> on the client using the <strong >SSH</strong> command shell
744 (it is strongly advised to specify a full path to the command to execute). The
745 command must succeed (i.e., must return a zero exit value). However, any
746 output generated by the the command is ignored. <br/>
747 Example:<br/>
748 <code >/usr/bin/find /tmp -type f -exec /bin/rm {} \;</code><br/>
749 This command removes all ordinary files in and below the client's
750 <code >/tmp</code> directory.
751 <p>
752 <li> <strong >NOTEST</strong> <code >&lt;command-path&gt;</code><br/>
753 Execute <code >command-path</code> on the client, using the <strong >SSH</strong> command
754 shell. The command may or may not succeed.<br/>
755 Example:<br/>
756 <code >NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;</code><br/>
757 Same as the previous command, but this time the exit value of
758 <code >/usr/bin/find</code> is not interpreted.
759 <p>
760 <li> <strong >CHECK</strong> [<strong >LOG =</strong>] <code >&lt;file-spec&gt; [pathOffset]
761 &lt;command-path&gt;</code><br/>
762 Execute <code >command-path</code> on the client, using the <strong >SSH</strong> command
763 shell.
764 <p>
765 The phrase <strong >LOG =</strong> is optional. When a relative file location is
766 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
767 path specification.
768 <p>
769 <code >PathOffset</code> is also optional, and has the same meaning
770 as for the <code >LOCAL CHECK</code> command, described above. The command must
771 succeed. The output of this command is compared to the output of this command
772 generated during the previous run of <strong >stealth</strong>. Any differences are written to
773 <strong >REPORT</strong>. If differences were found, the existing <code >logfile</code> name is
774 renamed to <code >logfile.YYMMDD-HHMMSS</code>, with <code >YYMMDD-HHMMSS</code> the
775 datetime-stamp at the time <strong >stealth</strong> was run.
776 <p>
777 Note that the command is executed on the client, but the logfile is kept
778 on the monitor. This command represents the core of the method implemented
779 by <strong >stealth</strong>: there will be no residues of the actions performed by <strong >stealth</strong> on
780 the client computers.
781 <p>
782 Several examples (note the use of the backslash as line continuation
783 characters):
784 <p>
785 <code >CHECK LOG = remote/ls.root \</code><br/>
786 <code > /usr/bin/find / \</code><br/>
787 <code > -xdev -perm /6111 -type f -exec /bin/ls -l {} \;</code>
788 <p>
789 All suid/gid/executable files on the same device as the root-directory (/)
790 on the client computer are listed with their permissions, owner and size
791 information. The resulting listing is written on the file
792 <strong >BASE</strong><code >/remote/ls.root</code>.
793 <p>
794 <code >CHECK remote/sha256.root \</code><br/>
795 <code > /usr/bin/find / \</code><br/>
796 <code > -xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;</code>
797 <p>
798 The SHA256 checksums of all suid/gid/executable files on the same device as
799 the root-directory (/) on the client computer are determined. The resulting
800 listing is written on the file <strong >BASE</strong><code >/remote/sha256.root</code>.
801 <p>
802 <li> <strong >NOTEST CHECK</strong> [<strong >LOG =</strong>] <code >&lt;file-spec&gt; [pathOffset]
803 &lt;command-path&gt;</code><br/>
804 Execute <code >command-path</code> on the client, using the <strong >SSH</strong> command
805 shell.
806 <p>
807 The phrase <strong >LOG =</strong> is optional. When a relative file location is
808 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
809 path specification.
810 <p>
811 <code >PathOffset</code> is also optional, and has the same meaning as for the <code >LOCAL
812 CHECK</code> command, described above. The command may or may not
813 succeed. Otherwise, the program acts identically as the <strong >CHECK ...</strong> command,
814 described above.
815 <p>
816 Example:<br/>
817 <code >NOTEST CHECK LOG = remote/sha256.root \</code><br/>
818 <code > /usr/bin/find / \</code><br/>
819 <code > -xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;</code>
820 <p>
821 The SHA256 checksums of all suid/gid/executable files on the same device as
822 the root-directory (/) on the client computer are determined. The resulting
823 listing is written on the file <strong >BASE</strong><code >/remote/sha256.root</code>. <strong >stealth</strong> does not
824 terminate if the <code >/usr/bin/find</code> program returns a non-zero exit value.
825 </ul>
826 <p>
827 The maximum download size (using GET or CHECK) can be specified using the
828 <code >--max-size</code> option, see below. By default this size is set at 10M.
829 <p>
830 <h2 >REPORT FILE ROTATION</h2>
831 Since <strong >stealth</strong> only appends information to the report file, the report file's
832 size may eventually become prohibitively large, and log-rotation may be
833 desirable. It is of course possible to issue a <code >--terminate</code> command, rotate
834 the logfiles, and restart <strong >stealth</strong>, but <strong >stealth</strong> also offers a facility to temporarily
835 suspend integrity scans performed by a <strong >stealth</strong> daemon process:
836 <ul>
837 <li> Calling <strong >stealth</strong> with the option <code >--suspend &lt;uds&gt;</code> suspends the
838 daemon's integrity scans. If <strong >stealth</strong> is
839 actually performing a series of integrity scans when
840 <code >--suspend</code> is issued, the currently executing command is first
841 completed after which the <code >--suspend</code> command completes. Once
842 the <strong >stealth</strong> daemon has been suspended, automatic or explicit
843 integrity scan requests are denied, and the daemon can only be
844 instructed to resume its scanning tasks (<strong >stealth</strong> --resume &lt;uds&gt;)
845 or to terminate (<strong >stealth</strong> --terminate &lt;uds&gt;).
846 <p>
847 <li> Once `<strong >stealth</strong> <code >--suspend &lt;uds&gt;</code>' has returned, the report file
848 may safely be rotated (using, e.g., <strong >logrotate</strong>(1)), and a new
849 (empty) report file may optionally be created by the logrotation
850 process.
851 <p>
852 <li> Once the log-rotation has been completed, the log-rotation process
853 should issue the command `<strong >stealth</strong> <code >--resume &lt;uds&gt;</code>'. This
854 resumes the activities of a suspended <strong >stealth</strong> daemon process,
855 immediately performing the next integrity scan. Following this the
856 <strong >stealth</strong> daemon is back to its original integrity scanning mode.
857 </ul>
858 Here is an example of <strong >logrotate</strong>(1) specification rotating <strong >stealth</strong>
859 log-files:
860 <pre>
861
862 /root/stealth/clienthost/small/report /var/log/stealth/clienthost-small.log {
863 daily
864 rotate 4
865 compress
866 missingok
867 copytruncate
868 sharedscripts
869 prerotate
870 /usr/bin/stealth --suspend /root/stealth/client/small.uds
871 endscript
872 postrotate
873 /usr/bin/stealth --resume /root/stealth/client/small.uds
874 endscript
875 }
876
877 </pre>
878
879 <p>
880 <h2 >RELOAD, RERUN AND TERMINATE</h2>
881 <p>
882 Here is what happens when <strong >stealth</strong> is run using the third synopsis:
883 <p>
884 <ul>
885 <li> When started as <strong >stealth</strong> <code >--reload &lt;uds&gt;</code>, the <strong >stealth</strong> daemon process
886 reloads its policy file and (if specified) <code >--skip-files</code>
887 specification file. Next the <strong >stealth</strong> daemon process performs a file
888 integrity scan using the information in the re-read policy and
889 skip-files files. <strong >Stealth</strong> can reload the (modified) contents of the
890 originally specified policy- and skip-files names. If another policy
891 and/or skip-files files must be used another <strong >stealth</strong> process must be
892 started, for which these new filenames are specified.
893 <p>
894 <li> When started as <strong >stealth</strong> <code >--rerun &lt;uds&gt;</code>, the <strong >stealth</strong> daemon performs
895 another scan (unless it has been suspended using <strong >stealth</strong> <code >--suspend
896 &lt;uds&gt;</code>).
897 <p>
898 <li> When started as <strong >stealth</strong> <code >--terminate &lt;uds&gt;</code>, the <strong >stealth</strong> daemon is
899 terminated.
900 </ul>
901 <p>
902 <h2 >RSYSLOG FILTERING</h2>
903 <p>
904 When using <strong >rsyslogd</strong>(1) property based filters may be used to filter
905 syslog messages and write them to a file of your choice. E.g., to filter
906 messages starting with the syslog message tag (e.g., <code >STEALTH</code>) use
907 <pre>
908
909 :syslogtag, isequal, "STEALTH:" /var/log/stealth.log
910 :syslogtag, isequal, "STEALTH:" stop
911
912 </pre>
913
914 Note that the colon is part of the tag, but is not specified with the
915 <code >syslog-tag</code> option.
916 <p>
917 This causes all messages having the <code >STEALTH:</code> tag to be written on
918 <code >/var/log/stealth.log</code> after which they are discarded. More extensive
919 filtering is also supported, see, e.g.,
920 <code >http://www.rsyslog.com/doc/rsyslog_conf_filter.html</code> and
921 <code >http://www.rsyslog.com/doc/property_replacer.html</code>
922 <p>
923 Time stamps written by <code >rsyslogd</code> are not controlled by <strong >stealth</strong>'s
924 <code >--time-stamp</code> option, but, e.g., by a <code >TZ</code> specification in
925 <code >/etc/default/rsyslog</code>. Simply add the line
926 <pre>
927 export TZ=UTC
928 </pre>
929
930 to <code >/etc/default/rsyslog</code>, followed by restarting <code >rsyslogd</code> configures
931 <code >rsyslogd</code> to generate time stamps using UTC.
932 <p>
933 <h2 >DEPLOYMENT SUMMARY</h2>
934 The following summarizes the advised steps to perform when installing
935 stealth. All these steps are elaborated upon in <strong >stealth</strong>'s <em >User Guide</em>
936 (chapter <em >Running `stealth'</em>):
937 <ul>
938 <li> Install <strong >stealth</strong> (e.g., use <strong >dpkg</strong>(1) to install the <strong >.deb</strong> file);
939 <li> Construct one or more policy files;
940 <li> Automate (re)starting <strong >stealth</strong> using <strong >cron</strong>(1) or <strong >ssh-cron</strong>(1)
941 (possibly calling <strong >stealthcron</strong>);
942 <li> Set up automated log-file rotation, using, e.g., <strong >stealthcleanup</strong>
943 and <strong >logrotate</strong>(1), defining one or more
944 <code >/etc/logrotate.d/stealth...</code> configuration files.
945 </ul>
946 <p>
947 <h2 >FILES</h2>
948 <p>
949 <code >/usr/share/doc/stealth/</code>;<br/>
950 the <code >policy</code> file;<br/>
951 files under the <strong >BASE</strong> directory as defined in the <code >policy</code> file;<br/>
952 the report file as defined by the policy's <strong >USE REPORT</strong> directive.
953 <p>
954 <h2 >SEE ALSO</h2>
955 <strong >cron</strong>(1), <strong >dd</strong>(1), <strong >diff</strong>(1), <strong >dpkg</strong>(1), <strong >find</strong>(1),
956 <strong >logrotate</strong>(1), <strong >ls</strong>(1), <strong >mail</strong>(1), <strong >sha256sum</strong>(1), <strong >passwd</strong>(5),
957 <strong >rsyslog</strong>(1), <strong >sendmail</strong>(1), <strong >sh</strong>(1), <strong >ssh</strong>(1), <strong >ssh-cron</strong>(1)
958 <p>
959 <h2 >DIAGNOSTICS</h2>
960 By default, executed commands are echoed to stderr. Use <strong >-q</strong> to
961 suppress this echoing.
962 <p>
963 <h2 >BUGS</h2>
964 <p>
965 None reported
966 <p>
967 <h2 >COPYRIGHT</h2>
968 This is free software, distributed under the terms of the `GNU General
969 Public License'. Copyright remains with the author. <strong >Stealth</strong> is found at
970 <code >https://fbb-git.github.io/stealth/</code>.
971 <p>
972 <h2 >ORGANIZATION</h2>
973 Center for Information Technology, University of Groningen.
974 <p>
975 <h2 >AUTHOR</h2>
976 Frank B. Brokken (<strong >f.b.brokken@rug.nl</strong>).
977 </body>
978 </html>
0 \typeout{Original Yodl file: ../../release.yo}
1
2
3
4
5
6
7
8
9 \hfuzz=70pt
10 \addtolength{\textheight}{2cm}
11 \addtolength{\textwidth}{4cm}
12 \addtolength{\hoffset}{-2cm}
13
14
15
16 \documentclass[a4paper]{report}
17 \usepackage{epsf}
18 \usepackage{stealth}
19
20 \usepackage[T1]{fontenc}
21
22 \input{/usr/share/yodl/xlatin1.tex}
23 \setlength{\parskip}{3mm} % height between par
24 \setlength{\parindent}{0mm} % no par indent
25
26 \title{Stealth V.4.01.06}
27 \author{Frank B. Brokken\ \\
28 Center for Information Technology, University of Groningen}
29 \date{2005-2017}
30 \begin{document}\maketitle
31
32
33 \tableofcontents
34
35
36 \cleardoublepage\chapter{Introduction}
37 \typeout{Original Yodl file: intro}Welcome to \textbf{stealth}. The program \textbf{stealth} implements a file integrity
38 scanner. The acronym \textbf{stealth} can be expanded to
39
40 \begin{center}
41 \section*{SSH-based Trust Enforcement Acquired through a Locally Trusted Host.}
42 \end{center}
43
44 This expansion contains the following key terms:
45
46 \begin{itemize}
47 \item \texttt{SSH-based}: The file integrity scan is (usually) performed over an
48 ssh-connection. Usually the computer being scanned (called the \emph{client}) and
49 the computer initiating the scan (called the \texttt{monitor}) are different
50 computers.
51 \item The client should accept incoming ssh-connections from the
52 monitor. The monitor doesn't have to (and shouldn't, probably).
53 \item \texttt{Trust Enforcement}: following the scan, `trust' is enforced in the
54 client, due to the integrity of its files.
55 \item \texttt{Locally Trusted Host}: the client apparently trusts the monitor
56 to use an ssh-connection to perform commands on it. The client therefore
57 \emph{locally trusts} the monitor. Hence, \emph{locally trusted host}.
58 \end{itemize}
59
60 \textbf{stealth} is based on an idea by \emph{Hans Gankema} and \emph{Kees Visser},
61 both at the Center for Information Technology of the University of Groningen.
62
63 \textbf{stealth}'s main task is to perform file integrity tests. However, the
64 testing will leave virtually no sediments on the tested computer. Therefore,
65 \textbf{stealth} has \emph{stealthy} characteristics. I consider this an important
66 security improving feature of \textbf{stealth}.
67
68 The monitor itself only needs two kinds of outgoing services:
69 \textbf{ssh}(1) to reach its clients, and some mail transport agent (e.g.,
70 \textbf{sendmail}(1)) to forward its outgoing mail to some mail-hub.
71
72 Here is what happens when \textbf{stealth} is run:
73 \begin{itemize}
74 \item First, the \emph{policy} file is read. For each client a policy file is
75 defined, specifying the actions to be performed, and specifying the values of
76 several variables used by \textbf{stealth}.
77
78 \item If the command-line option \texttt{+NOTRANS(-\{\}-\{\})daemon $<$uds$>$} is specified, \textbf{stealth}
79 runs as a daemon process, using the Unix Domain Socket (\texttt{$<$uds$>$}) for
80 communication with \textbf{stealth} processes running in IPC mode.
81
82 If access to the Unix Domain Socket defined by Stealth running in daemon mode
83 should be restricted, it can be defined in a directory with is only accessible
84 to the user running Stealth (this will often be the root-user).
85
86 When running in daemon mode, \texttt{+NOTRANS(-\{\}-\{\})repeat $<$seconds$>$} may be specified to rerun
87 the integrity scan every \texttt{$<$seconds$>$} seconds. If an integrity scan is being
88 performed when, according to the repeat interval the next integrity scan is
89 due, then the current scan is first completed. Once completed, the next
90 integrity scan will be performed after \texttt{seconds} seconds.
91
92 \item Next, the monitor opens a command shell on the client using
93 \textbf{ssh}(1), and a command shell on the monitor computer itself using
94 \textbf{sh}(1).
95
96 \item Once the command shells are available, commands defined in the policy
97 file are executed in their order of appearance. Examples are given
98 below. Normally, return values of the programs are tested. When return values
99 are to be tested \textbf{stealth} terminates when a non-zero return value is sensed. If
100 this happens, a message stating the reason why \textbf{stealth} terminated is written to
101 the report file (and into the mail sent by \textbf{stealth}). In some cases (e.g., when the
102 report file could not be written), the message is written to the standard
103 error stream.
104
105 \item Very often integrity tests can be controlled using \textbf{find}(1),
106 calling programs like \textbf{ls}(1), \textbf{sha1sum}(1) or its own \texttt{-printf} method
107 to produce file-integrity related statistics. Most of these programs write
108 file names at the end of generated lines. This characteristic is used by one
109 of \textbf{stealth}'s internal routines to detect changes in the generated output. Such
110 changes could indicate some harmful intent, like an installed \emph{root-kit}.
111
112 \item When changes are detected, they are logged in a \emph{report file}, to
113 which information is always appended. \textbf{Stealth} never reduces the report file's size
114 or rewrites its contents. When information is added to the report file (beyond
115 a plain time stamp) the newly added information is e-mailed to a configurable
116 e-mail address for further (human) processing. Usually the e-mail is sent to
117 the systems manager of the tested client. \textbf{Stealth} follows the `dark cockpit'
118 approach in the sense that no mail is sent when no changes were detected.
119
120 \item Report and other log-files may safely be rotated between a pair of
121 \texttt{+NOTRANS(-\{\}-\{\})suspend} and \texttt{+NOTRANS(-\{\}-\{\})resume} commands (see below at the section
122 \ref{ROTATE}).
123 \end{itemize}
124
125 Instead of running in daemon mode, \textbf{stealth} may also run in `foreground' mode.
126 In foreground mode the option \texttt{+NOTRANS(-\{\}-\{\})daemon} is not specified. When running in
127 foreground mode \textbf{stealth} either performs one integrity scan (and terminates) or, if
128 the \texttt{+NOTRANS(-\{\}-\{\})repeat} option has been specified, it repeatedly performs integrity
129 scans, at intervals determined by the \texttt{+NOTRANS(-\{\}-\{\})repeat} and \texttt{+NOTRANS(-\{\}-\{\})random-interval}
130 options. When \texttt{+NOTRANS(-\{\}-\{\})repeat} is specified with \textbf{stealth} running in foreground mode a
131 prompt is shown (i.e., `\texttt{? }') with \textbf{stealth} terminating after pressing the
132 \texttt{Enter}-key.
133
134 Alternatively, \textbf{stealth} may run in `inter process communication' mode (IPC
135 mode). IPC mode is characterized by using one of the command-line options
136 \texttt{+NOTRANS(-\{\}-\{\})reload, +NOTRANS(-\{\}-\{\})rerun, +NOTRANS(-\{\}-\{\})suspend, +NOTRANS(-\{\}-\{\})resume} or \texttt{+NOTRANS(-\{\}-\{\})terminate}. In IPC-mode \textbf{stealth}
137 communicates with an existing \textbf{stealth} daemon, using the Unix Domain Socket defined
138 by the \textbf{stealth} daemon. These options require but one argument: the location of the
139 Unix Domain Socket defined by a running \textbf{stealth} daemon.
140 \begin{itemize}
141 \item When started using the \texttt{+NOTRANS(-\{\}-\{\})reload $<$uds$>$} command-line option, the
142 stealth daemon that created the Unix Domain Socket reloads its policy file
143 (and skip-file), immediately followed by another integrity scan;
144 \item When started using the \texttt{+NOTRANS(-\{\}-\{\})rerun $<$uds$>$} command-line option, the
145 stealth daemon that created the Unix Domain Socket performs another integrity
146 scan;
147 \item When started using the \texttt{+NOTRANS(-\{\}-\{\})terminate $<$usd$>$} command-line option, the
148 stealth daemon that created the Unix Domain Socket terminates.
149 \end{itemize}
150
151 The options \texttt{+NOTRANS(-\{\}-\{\})suspend} and \texttt{+NOTRANS(-\{\}-\{\})resume} (see section \ref{ROTATE}) were
152 implemented to allow safe rotations of \textbf{stealth}'s log-files.
153
154 \section{What's new in Stealth V.4.01.06}
155 \typeout{Original Yodl file: whatsnew} With 4.00.00:
156
157 \begin{itemize}
158 \item Version 3.00.00 was only short-lived. The inter-process communication
159 using signals never ran smoothly. Version 4.00.00 re-implements \textbf{stealth}'s
160 inter-process communication using Unix Domain Sockets.
161 \item Previously required absolute file paths are no longer required. When
162 relative file paths are used with the \textbf{stealth} daemon or with \textbf{stealth}
163 performing an integrity scan as foreground process they are
164 interpreted relatively to the current working directory. Relative
165 file locations for options specified in the second section of the
166 policy file are interpreted relative to the location of the policy
167 file, and relative path specifications used in the first section of
168 the policy file are interpreted relative to the policy file's \texttt{USE
169 BASE}.
170 \item The README.flow file is provided with several separately provided
171 illustrative images in the distribution-provided directory
172 \texttt{documentation/images}.
173 \item Specifications for the logrotate specifications should use
174 '\texttt{copytruncate}' and '\texttt{sharedscripts}' (see section \ref{ROTATE}
175 for an example)
176 \item Examples in the manual still use \texttt{sha1sum} when checking hash
177 values. Stronger hash functions (like \texttt{sha256sum}) might be
178 preferred in practice. When updating existing policy files to use
179 \texttt{sha256sum} rather than \texttt{sha1sum} realize that \texttt{sha256sum's}
180 hash values are longer than \texttt{sha1sum's} hash values, and that
181 therefore log files obtained when \texttt{sha1sum} was used are
182 incompatible with log files obtained when \texttt{sha256sum} was used. In
183 practice this means that new log files need to be generated,
184 disregarding any previously geneerated log files.
185 \end{itemize}
186
187 \cleardoublepage\chapter{Installation}
188 \typeout{Original Yodl file: install/intro}This chapter describes \textbf{stealth}'s compilation and installation.
189
190 \section{Compiling and installing Stealth}\label{COMPILING}
191 \typeout{Original Yodl file: install/compile}After downloading the \textbf{stealth} archive, it should be unpacked. The name of
192 the archive is of the form \texttt{stealth-4.01.06.tar.gz}, where \texttt{4.01.06}
193 is a version number. Below, \texttt{4.01.06} should be altered into the version
194 of the archive that is actually used.
195
196 Required, non-standard software, for compiling \textbf{stealth} is summarized in the file
197 \texttt{required}, which is included in the source file distribution. Currently,
198 its contents are:
199
200 \begin{verbatim}
201 This file lists non-standard software only. Thus, standard utilities like cp,
202 mv, sed, etc, etc, are not explicitly mentioned. Neither is the gcc compiler
203 explicitly mentioned, but a fairly recent one is assumed.
204
205 Required software for building Stealth:
206 ---------------------------------------
207
208 libbobcat-dev (>= 4.02.00)
209 icmake (>= 8.01.00)
210 yodl (>= 3.08.01)
211
212 To construct the user guide:
213
214 texlive-latex-base,
215 texlive-generic-recommended,
216 texlive-latex-recommended,
217 texlive-fonts-recommended,
218 cm-super-minimal,
219 ghostscript
220
221
222 \end{verbatim}
223
224
225 \begin{itemize}
226 \item \textbf{Stealth} compilation is controlled by \textbf{icmake}(1). The program
227 maintenance utility \textbf{icmake}(1) can be obtained at
228 \texttt{https://fbb-git.github.io/icmake/}, and it is also available in several
229 Linux distributions (e.g., Debian, Ubuntu);
230
231 \item Determine a directory where the files in \textbf{stealth}'s archive ashould be
232 stored. E.g., if the files in the archive should be stored under \texttt{/tmp}
233 (and assuming the archive itself is stored in \texttt{/tmp} as well) then do:
234 \begin{verbatim}
235
236 cd /tmp
237 tar xzf stealth-_CurVers_.tar.gz
238
239 \end{verbatim}
240
241 This creates a subdirectory \texttt{stealth} containing \textbf{stealth}'s sources;
242
243 \item Change-dir to that directory:
244 \begin{verbatim}
245
246 chdir stealth
247
248 \end{verbatim}
249
250
251 \item Check the contents of the files \texttt{INSTALL.im} and \texttt{icmconf}, and
252 verify that all \texttt{\#defines} match your computer's file system and
253 software.
254
255 When compiling \textbf{stealth}, the
256 \texttt{bobcat}\footnote{https://fbb-git.github.io/bobcat/} header files must be
257 available. When \textbf{stealth} is run it is dynamically linked against the bobcat
258 library. \textbf{Bobcat} can be downloaded from
259 \texttt{https://github.com/fbb-git/bobcat/} (and follow its installation
260 instructions). Alternatively, bobcat may be available in your distribution,
261 (e.g., Debian or Ubuntu). Make sure to install both the run-time
262 (\textbf{bobcat\_...}) and the development (\textbf{bobcat-dev\_...}) versions.
263
264 \item Execute the command
265 \begin{verbatim}
266
267 ./build program strip
268
269 \end{verbatim}
270
271 This command by default creates the
272 program \textbf{./tmp/bin/binary}.
273
274 \item To install \textbf{stealth} and its documentation, several commands are available:
275 \begin{verbatim}
276
277 ./build install program [path] - installs the program as `path'
278 (by default as `/usr/bin/stealth')
279 ./build install man [base] - install the man pages below `base'
280 (by default below `/usr/share/man/man1')
281 ./build install manual [base]- install the manual below `base'
282 (by default below
283 `/usr/share/doc/stealth-doc/manual')
284 ./build install std [base] - install standard docs below `base'
285 (by default below `/usr/share/doc/stealth')
286 ./build install extra [base] - install extra docs below `base'
287 (by default below
288 `/usr/share/doc/stealth-doc')
289
290 \end{verbatim}
291
292 \end{itemize}
293
294 \cleardoublepage\chapter{Granting access}
295 \typeout{Original Yodl file: access/intro}Access to clients should be granted using the \texttt{ssh} protocol.
296
297 Clients must allow the monitor to connect using \texttt{ssh}. \textbf{Stealth} connects to its
298 clients using ssh certificates, after the monitor's public SSH-key has been
299 transferred to the clients.
300
301 \subsection{The monitor's user: creating an ssh-key}
302 \typeout{Original Yodl file: access/monitor} The monitor's user calling \textbf{stealth} to scan the client must first generate
303 an \texttt{ssh-keypair}:
304 \begin{verbatim}
305 ssh-keygen -t rsa
306 \end{verbatim}
307
308 By default this generates a public/private ssh key-pair in the directory
309 \texttt{.ssh} in the user's home directory. The program asks for a
310 \emph{passphrase}. A passphrase can be defined (in which case it must be proviced
311 when \textbf{stealth} is started) or, if the security if the monitor is sufficiently
312 guaranteed, it can remain empty. To generate an ssh-key without passphrase
313 simply press \texttt{Enter} in response to the question
314 \begin{verbatim}
315 Enter passphrase (empty for no passphrase):
316 \end{verbatim}
317
318 (a confirmation is required: just press \texttt{Enter} again).
319
320 \texttt{Ssh-keygen} then returns a key fingerprint, e.g.,
321 \begin{verbatim}
322 03:96:49:63:8a:64:33:45:79:ab:ca:de:c8:c8:4f:e9 user@monitor
323 \end{verbatim}
324
325 which may be saved for future reference.
326
327 In the user's \texttt{.ssh} directory the files \texttt{id\_rsa} and \texttt{id\_rsa.pub}
328 are now created, which completes the preparations at the monitor.
329
330 If, instead of running \textbf{stealth} in daemon mode it is preferred to let \textbf{stealth} perform
331 single, but automated integrity scans, then new \textbf{ssh}(1) connections may be
332 difficult to establish if the used ssh-key is passphrase-protected. To
333 implement this scenario (i.e., automated integrity scans using passphrase
334 protected ssh-keys) the program \textbf{ssh-cron}(1) can profitably be used.
335
336 \subsection{The client's account: accepting ssh from the monitor's user}
337 \typeout{Original Yodl file: access/client} Next, at the client's account where \textbf{stealth}'s \texttt{ssh} command connects to (see
338 also the \texttt{USE SSH} specification in section \ref{USE}) ssh-access must be
339 granted to the monitor's user. To do so, the monitor user's file
340 \texttt{\textasciitilde{}/.ssh/id\_rsa.pub} is added to the client account user's file
341 \texttt{\textasciitilde{}/.ssh/authorized\_keys}:
342 \begin{verbatim}
343 # transfer user@monitor's file id_rsa.pub to the client's /tmp
344 # directory. Then do:
345
346 cat /tmp/id_rsa.pub >> /home/account/.ssh/authorized_keys
347 \end{verbatim}
348
349
350 This allows the user at the monitor to login at the account at the
351 client without specifying the client account's password (of course, if the
352 ssh-key is passphrase protected that passphrase must still be provided at the
353 monitor when starting \textbf{stealth}).
354
355 \subsection{Logging into the account@client account}
356 \typeout{Original Yodl file: access/login} When user@monitor now issues, for the first time, the command
357 \begin{verbatim}
358 ssh account@monitor
359 \end{verbatim}
360
361 \texttt{Ssh} responds like this:
362 \begin{verbatim}
363 The authenticity of host 'monitor (xxx.yyy.aaa.bbb)' can't be
364 established.
365 RSA key fingerprint is c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be.
366 Are you sure you want to continue connecting (yes/no)?
367 \end{verbatim}
368
369 Answering \texttt{yes} results in the message:
370 \begin{verbatim}
371 Warning: Permanently added 'monitor,xxx.yyy.aaa.bbb' (RSA) to the
372 list of known hosts.
373 \end{verbatim}
374
375
376 The next time a login is attempted, the authenticity question is not asked
377 anyore. However, the proper value of the host's RSA key fingerprint (i.e., the
378 key fingerprint of the \emph{client} computer) should \emph{always} be verified to
379 prevent \emph{man in the middle} attacks. The proper value may be obtained at the
380 client by issuing there the command
381 \begin{verbatim}
382 ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
383 \end{verbatim}
384
385 This should show the same value of the fingerprint as shown when the
386 first \texttt{ssh} connection was established. E.g.,
387 \begin{verbatim}
388
389 1024 c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be ssh_host_rsa_key.pub
390 \end{verbatim}
391
392
393 \subsection{Using the proper shell}
394 \typeout{Original Yodl file: access/using} On order to minimize the amount of clutter and possibly complications when
395 only a simple command-shell is required for executing commands, it is
396 suggested to use a \textbf{bash}(1) shell when logging into \texttt{account@client}'s
397 account.
398
399 When another shell is already used for \texttt{account@client}, then an extra
400 account (optionally using the same \texttt{UID} as the original account, but using
401 \textbf{sh}(1) as the shell), could be defined in the client's \texttt{/etc/passwd}
402 file. In the \textbf{passwd}(5) file this could, e.g., be realized for \emph{root} as
403 \emph{rootsh} as follows:\ \\
404 \begin{verbatim}
405 rootsh:x:0:0:root:/root:/bin/bash
406 \end{verbatim}
407
408 If shadow passwording is used, a matching entry in the \texttt{/etc/shadow}
409 file is required as well.
410
411 \cleardoublepage\chapter{The `policy' file}
412 \typeout{Original Yodl file: policy/intro} \textbf{Stealth} uses a policy file consisting of two sections, the second
413 section is optional, and starts at a line merely containing \texttt{\%\%}.
414
415 Each policy file is uniquely associated with a host to be tested. Each host
416 may have multiple policy files, though. In that case, each policy file defines
417 its own set of checks to be performed.
418
419 \begin{itemize}
420 \item The policy file's first section consists of two sets of data: \emph{use
421 directives} (starting with the keyword \textbf{USE}) and \emph{commands}.
422
423 \item The (optional) second section starts at a line merely containing
424 \texttt{\%\%}. Following this separating line several long option specifications can
425 be entered (cf. section \ref{OPTIONS}). Options
426 specified on the command-line take priority over options specified
427 in the policy file. Although the \texttt{+NOTRANS(-\{\}-\{\})reload} option reloads the policy file,
428 it will not change option values originally specified as command-line options.
429
430 This section may contain specifications of the \texttt{skip-files} and \texttt{log}
431 options. Relative file locations specified for these options are interpreted
432 relative to the location of the policy file. E.g., if the policy file argument
433 is specified as \texttt{/root/client/policy} then the specification \texttt{log:
434 client.log} results in \textbf{stealth} writing its logs into the file
435 \texttt{/root/client/client.log}.
436 \end{itemize}
437
438 The policy file's first section consists of three sets of data: \emph{define
439 directives} (starting with the keyword \textbf{DEFINE}), \emph{use directives}
440 (starting with the keyword \textbf{USE}) and \emph{commands}.
441
442 Directives are written in capitals, and should appear exactly as written
443 below.
444
445 Blank lines and information beyond hash-marks (\#) are ignored, while lines
446 following lines terminating in backslashes (\textbackslash{} ) will be concatenated (\emph{en
447 passant} removing these backslashes). Leading white space on lines of the
448 policy file is ignored.
449
450 \section{DEFINE directives}
451 \typeout{Original Yodl file: policy/defines} \texttt{DEFINE} directives can be used to define symbols for longer strings.
452 A \texttt{DEFINE} directive is constructed as follows:
453 \begin{verbatim}
454 DEFINE name that what is defined by `name'
455 \end{verbatim}
456
457 Here,
458 \begin{itemize}
459 \item the \texttt{name} following \texttt{DEFINE} is the symbol that may be used in
460 \texttt{USE} directives (see below) and \texttt{commands} (see below).
461 \item \texttt{DEFINE} symbols can be used in other \texttt{DEFINE} symbols. However,
462 it is the responsibility of the policy file's author to make sure that
463 (indirect) circular definitions are avoided. E.g., after:
464 \begin{verbatim}
465 DEFINE A ${B}
466 DEFINE B ${A}
467 DEFINE C ${C}
468
469 USE MAILARGS ${A} ${B} ${C}
470 \end{verbatim}
471
472 \texttt{MAILARGS} will be expanded to
473 \begin{verbatim}
474 ${A} ${A} ${C}
475 \end{verbatim}
476
477 \item The text following \texttt{DEFINE name} is then inserted literally into
478 the \texttt{USE} directive or \texttt{command}.
479
480 Example:
481 \begin{verbatim}
482 DEFINE SSH /usr/bin/ssh frank@localhost -q
483 DEFINE EXECSHA1 -xdev -perm /111 -type f -exec /usr/bin/sha1sum {} \;
484 \end{verbatim}
485
486 The symbols defined by \texttt{DEFINE} directives may consist of letters,
487 digits and the underscore characters (\texttt{\_}). In the definition of the symbol
488 any character can be used. However, initial and/or trailing blanks are removed
489 from definitions.
490
491 To insert a definition into a \texttt{USE} directive or \texttt{command} use the form
492 \begin{verbatim}
493 ${name}
494 \end{verbatim}
495
496 E.g., \texttt{\$\{EXECSHA1\}}. Concrete examples are provided below.
497 \end{itemize}
498
499 \section{USE directives}\label{USE}
500 \typeout{Original Yodl file: policy/use} \texttt{USE} directives provide \textbf{stealth} with arguments which
501 may be conditional to a certain installation. The following \textbf{USE} directives
502 are supported:
503 \begin{itemize}
504 \item \textbf{USE BASE} \texttt{basedirectory}
505
506 \textbf{BASE} defines the directory from where \textbf{stealth} operates. All relative
507 path specifications in this section of the policy file are interpreted
508 relative to \textbf{BASE}. \emph{By default} this is the directory where \textbf{stealth} was
509 started.
510
511 If necessary, \textbf{stealth} creates all \textbf{BASE} and other directories below
512 \texttt{BASE}.
513
514 Example: using the specification
515 \begin{verbatim}
516 USE BASE /root/client
517 \end{verbatim}
518
519 results in all information generated by \textbf{stealth} being written in or below the
520 directory \texttt{/root/client}.
521
522 \item \textbf{USE DD} \texttt{$<$dd$>$}\ \\
523 The \textbf{DD} specification uses \texttt{/bin/dd} as default, and defines the
524 location of the \textbf{dd}(1) program, both on the server and on the client. The
525 \textbf{DD} program is used to copy files between the client and the monitor
526 without creating separate ssh-connections. The \textbf{DD} program is only
527 used by \textbf{stealth} for the \texttt{PUT} and \texttt{GET} commands, described below.
528
529 Example showing the default:\begin{verbatim}
530 USE DD /bin/dd
531 \end{verbatim}
532
533
534 \item \textbf{USE DIFF} \texttt{path-to-diff}
535
536 The \textbf{DIFF} specification uses \texttt{/usr/bin/diff} as default,
537 and defines the location of the \textbf{diff}(1) program. The
538 \textbf{diff}(1) program is used to compare a formerly created logfile of an
539 integrity check to a newly created logfile.
540
541 Example showing the default:
542 \begin{verbatim}
543 USE DIFF /usr/bin/diff
544 \end{verbatim}
545
546
547 \item \textbf{USE DIFFPREFIX} \texttt{$<$prefix$>$}
548
549 The \textbf{DIFFPREFIX} specification defines the size of the prefix added
550 by the \texttt{DIFF} command to lines produced by commands executed through \textbf{stealth}.
551 The default \texttt{/usr/bin/diff} program prefixes lines by either `\texttt{$>$ }' or
552 `\texttt{$<$ }'. The default value for \texttt{$<$prefix$>$} therefore equals 2.
553
554 Example showing the default:
555 \begin{verbatim}
556 USE DIFFPREFIX 2
557 \end{verbatim}
558
559
560 \item \textbf{USE EMAIL} \texttt{address}
561
562 The \textbf{EMAIL} specification defines the email-address to e-mail the
563 client's integrity scan report to. Mail is only sent when information has
564 changed.
565
566 Example showing the default:
567 \begin{verbatim}
568 USE EMAIL root
569 \end{verbatim}
570
571
572 \item \textbf{USE MAILER} \texttt{mailer}
573
574 The \textbf{MAILER} specification defines the program that is used to send
575 the mail to the \textbf{EMAIL}-address. By default this is \textbf{/usr/bin/mail}(1).
576 The \textbf{MAILER} program is called as follows:
577 \begin{verbatim}
578 MAILER MAILARGS EMAIL
579 \end{verbatim}
580
581 (\texttt{MAILARGS}: see below). The information to be mailed is read from
582 \texttt{MAILER}'s standard input stream.
583
584 Example showing the default:
585 \begin{verbatim}
586 USE MAILER /usr/bin/mail
587 \end{verbatim}
588
589
590 \item \textbf{USE MAILARGS} \texttt{arguments}
591 The \textbf{MAILARGS} specification defines the arguments to be
592 to be passed to the \texttt{MAILER} program. By default this is
593 \begin{verbatim}
594 USE MAILARGS -s "STEALTH scan report"
595 \end{verbatim}
596
597 Note that blanks may be used in the subject specification: use double or
598 single quotes to define elements containing blanks. Use \texttt{\textbackslash{}"} to use a double
599 quote in a string that is itself delimited by double quotes, use \texttt{\textbackslash{}'} to use
600 a single quote in a string that is itself delimited by single quotes.
601
602 Subtlety: in constructions like
603 \begin{verbatim}
604 USE MAILARGS " 't was brillig " and 't went well
605 \end{verbatim}
606
607 the following arguments are passed to \texttt{MAILER}:
608 \begin{itemize}
609 \item \texttt{" 't was brillig "}
610 \item \texttt{and}
611 \item \texttt{'t}
612 \item \texttt{went}
613 \item \texttt{well}
614 \end{itemize}
615 So, when single- and double-quoted strings overlap, the first string is
616 taken as a string, and the information beyond the first string is thereupon
617 interpreted.
618
619 \item \textbf{USE REPORT} \texttt{$<$file-spec$>$}\ \\
620 \textbf{REPORT} defines the name of the reportfile. Information is always
621 appended to this file. At each \textbf{stealth} integrity scan a \emph{time marker line} is
622 written to the report file. Only when (in addition to the marker line)
623 additional information is appended to the report file the added contents of
624 the report file are mailed to the mail address specified in the \textbf{USE EMAIL}
625 specification. When a relative file specification is used it is interpreted a
626 location relative to the \texttt{USE BASE} specification.\ \\
627 Example showing the default:\ \\
628 \texttt{USE REPORT report}
629
630 \item \textbf{USE SH} \texttt{$<$sh$>$}\ \\
631 The \textbf{SH} specification uses \texttt{/bin/sh} as default, and defines the
632 command shell used by the monitor to execute commands on itself. This must be
633 an absolute path specification.\ \\
634 Example showing the default:\ \\
635 \texttt{USE SH /bin/sh}
636
637 \item \textbf{USE SSH} \texttt{$<$user$>$}\ \\
638 \textbf{The SSH specification has no default}, and \emph{must} be
639 specified. This must be an absolute path specification.
640
641 Assuming the client \emph{trusts} the monitor (which is after all what this
642 program is all about, so this should not be a very strong assumption),
643 preferably the public ssh key of the monitor should be placed in the
644 client's root \texttt{.ssh/authorized\_keys} file, granting the monitor root access
645 to the client. Root access is normally needed to gain access to all
646 directories and files of the client's file system.
647
648 In practice, connecting to an account using the \textbf{sh}(1) shell is
649 preferred. When another shell is already used by that account, one should make
650 sure that its shell doesn't define its own redirections for standard input
651 and standard output. One way to accomplish that is for force the execution of
652 \texttt{/bin/sh} in the \textbf{USE SSH} specification.
653
654 An example of an \texttt{SSH} specification to scan a localhost is:
655 \begin{verbatim}
656
657 USE SSH root@localhost -T -q # root's shell is /bin/sh
658 \end{verbatim}
659
660
661 The same, now explicitly using \texttt{/bin/bash}:
662 \begin{verbatim}
663
664 USE SSH root@localhost -T -q exec /bin/bash # root uses another shell
665 \end{verbatim}
666
667
668 Alternatively, \texttt{+NOTRANS(-\{\}-\{\})noprofile} can be specified to prevent any
669 profile-initialization:
670 \begin{verbatim}
671
672 USE SSH root@localhost -T -q exec /bin/bash --noprofile
673 \end{verbatim}
674
675 \end{itemize}
676
677 In some installations \textbf{stealth} is used to inspect the monitor itself, even
678 though this is \emph{not} recommended, as it breaks one of the main reasons for
679 \textbf{stealth}'s existence. But in those situations (so, where \textbf{stealth} is used to monitor the
680 integrity of the \texttt{localhost}), \texttt{/bin/bash} could be specified at the
681 \texttt{USE SSH} directive. For example:
682 \begin{verbatim}
683 # For stealth inspecting localhost:
684 USE SSH /bin/bash --noprofile
685 \end{verbatim}
686
687
688 \section{Commands}\label{COMMANDS}
689 \typeout{Original Yodl file: policy/commands} Following the \textbf{USE} specifications, \emph{commands} can be specified. The
690 commands are executed in their order of appearance in the policy
691 file. Processing continues until the last command has been processed or until
692 a tested command (see below) returns a non-zero return value.
693
694 \subsection{LABEL commands}
695 \typeout{Original Yodl file: policy/label} The following \textbf{LABEL} commands are available:
696 \begin{itemize}
697 \item \textbf{LABEL} \texttt{text}
698
699 This defines a text-label which is written to the \textbf{REPORT} file,
700 just before the output generated by the next \textbf{CHECK}-command. If the next
701 \textbf{CHECK}-command generates no output, the label is not written to the
702 \textbf{REPORT}-file. Once a \textbf{LABEL} has been defined, it is used until it is
703 redefined by the next \textbf{LABEL} command. Use an empty \textbf{LABEL} command to
704 suppress printing labels.
705
706 The text may contain \texttt{\textbackslash{}n} characters (two characters) which are
707 transformed to a newline character.
708 \item \textbf{LABEL}
709
710 As noted, this clears a previously defined \texttt{LABEL} command.
711 \end{itemize}
712
713 Examples:
714 \begin{verbatim}
715
716 LABEL Inspecting files in /etc\nIncluding subdirectories
717 LABEL
718 \end{verbatim}
719
720 The latter \textbf{LABEL} command clears the text of the former \textbf{LABEL}
721 command.
722
723 \subsection{LOCAL commands}
724 \typeout{Original Yodl file: policy/local} \textbf{LOCAL} commands can be used to specify commands that are
725 executed on the monitor itself. The following \textbf{LOCAL} commands are
726 available:
727 \begin{itemize}
728 \item \textbf{LOCAL} \texttt{command}
729
730 Execute \texttt{command} on the monitor, using the \textbf{SH} command
731 shell. The command must succeed (i.e., must return a zero exit value).
732 Example:
733 \begin{verbatim}
734 LOCAL mkdir /tmp/client
735 \end{verbatim}
736
737 This command creates the directory \texttt{/tmp/client} on the monitor.
738
739 \item \textbf{LOCAL NOTEST} \texttt{command}
740
741 Execute \texttt{command} on the monitor, using the \textbf{SH} command
742 shell. The command may or may not succeed.
743 Example:
744 \begin{verbatim}
745 LOCAL NOTEST mkdir /tmp/subdir
746 \end{verbatim}
747
748 This command creates \texttt{/tmp/subdir} on the monitor. The command
749 fails if the directory cannot be created, but this does not terminate
750 \textbf{stealth}.
751
752 \item \textbf{LOCAL CHECK} {[}\textbf{LOG =}{]} \texttt{logfile {[}pathOffset{]} command}
753
754 Execute \texttt{command} on the monitor, using the \textbf{SH} command
755 shell. The command must succeed. The output of this command is compared to the
756 output of this command generated during the previous integrity check run by
757 \textbf{stealth}.
758
759 The phrase \textbf{LOG =} is optional. When a relative file location is
760 specified at \texttt{$<$file-spec$>$} it is interpreted relatively to the \texttt{USE BASE}
761 path specification.
762
763 \texttt{PathOffset} is also optional. If specified it defines the (0-based)
764 offset where path-names of inspected files start in lines produced by
765 \texttt{$<$command$>$}. By default \textbf{stealth} assumes that the first occurrence of a forward
766 slash defines the first character of the path-names of inspected files.
767
768 For example, if diff-output looks like this:
769 \begin{verbatim}
770
771 01234567890123456789012345678901234567890 (column offsets, not part of
772 the diff-output)
773
774 33c33
775 < 90d8b506d249634c4ff80b9018644567 filename-specification
776 ---
777 > b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
778 \end{verbatim}
779
780 then the specification
781 \begin{verbatim}
782 LOCAL CHECK logfile 36 command-to-be-executed
783 \end{verbatim}
784
785 informs \textbf{stealth} where to find the filename specifications in the
786 diff-output. Using the standard \texttt{/usr/bin/diff} command, this offset equals
787 2 + the offset of the \texttt{filename-specification} found in
788 \texttt{command-to-be-executed}.
789
790 If the command does not succeed a \emph{warning} message is written to the report
791 file. The warning message informs the reader that `remaining results might be
792 forged:
793 \begin{verbatim}
794 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
795 \end{verbatim}
796
797 This situation may occur, e.g., if an essential program (like \texttt{sha1sum})
798 was transferred to the monitor, and it was apparently modified since the
799 previous check. Processing continues, but remaining checks performed at the
800 client computer should be interpreted with \emph{extreme} caution.
801
802 The output of this command is compared to the output of this command
803 generated during the previous run of \textbf{stealth}. Any differences are written
804 to \textbf{REPORT}.
805
806 If differences were found, the existing \texttt{logfile} name is renamed to
807 \texttt{logfile.YYYYMMDD-HHMMSS}, with \texttt{YYYYMMDD-HHMMSS} the datetime-stamp at
808 the time \textbf{stealth} was run.
809
810 Over time, many \texttt{logfile.YYMMDD-HHMMSS} files could be accumulated.
811 It is up to the monitor's systems manager to decide what to do
812 with old datetime-stamped logfiles. For instance, the following script
813 removes all \textbf{stealth} reports below the current directory that are
814 older than 30 days:
815 \begin{verbatim}
816 #/bin/sh
817 FILES=`find ./ -path '*[0-9]' -mtime +30 -type f`
818
819 if [ "$FILES" != "" ] ; then
820 rm -f $FILES
821 fi
822 \end{verbatim}
823
824
825 The \texttt{logfile} specifications may use relative and absolute paths. When
826 relative paths are used, these paths are relative to \textbf{BASE}. When the
827 directories implied by the \texttt{logfile} specifications do not yet exist, they
828 are created first.
829
830 Example:
831 \begin{verbatim}
832 LOCAL CHECK LOG = local/sha1sum sha1sum /tmp/sha1sum
833 \end{verbatim}
834
835 This command will check the SHA1 sum of the \texttt{/tmp/sha1sum} program. The
836 resulting output is saved at \textbf{BASE}\texttt{/local/sha1sum}. The program must
837 succeed (i.e., \texttt{sha1sum} must return a zero exit-value).
838
839 \item \textbf{LOCAL NOTEST CHECK} {[}\textbf{LOG =}{]} \texttt{logfile {[}pathOffset{]} command}
840
841 Execute \texttt{command} on the monitor, using the \textbf{SH} command
842 shell.
843
844 The phrase \textbf{LOG =} is optional. When a relative file location is
845 specified at \texttt{$<$file-spec$>$} it is interpreted relatively to the \texttt{USE BASE}
846 path specification.
847
848 The command may or may not succeed. Otherwise, the program performs exactly
849 like the \textbf{LOCAL CHECK ...} command, discussed above.
850
851 Example:
852 \begin{verbatim}
853 LOCAL NOTEST CHECK LOG=local/sha1sum sha1sum /tmp/sha1sum
854 \end{verbatim}
855
856 This command will check the SHA1 sum of the \texttt{/tmp/sha1sum} program. The
857 resulting output is saved at \textbf{BASE}\texttt{/local/sha1sum}. The program may or may
858 not succeed (i.e., \texttt{sha1sum} may or may not return a zero exit-value).
859 \end{itemize}
860
861 \subsection{REMOTE commands}
862 \typeout{Original Yodl file: policy/remote} Plain commands can be executed on the client computer by merely
863 specifying them. Of course, this means that programs called
864 \texttt{LABEL}, \texttt{LOCAL} \texttt{USE} or \texttt{DEFINE}, cannot be executed, since
865 these names are interpreted otherwise by \textbf{stealth}. It's unlikely that this
866 will cause problems. Remote commands must succeed (i.e., their return
867 codes must be 0).
868
869 Remote commands are commands executed on the client using the \textbf{SSH}
870 shell. These commands are executed using the standard \texttt{PATH} set for the
871 \textbf{SSH} shell. However, it is advised to specify the full pathname to the
872 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
873 is installed in an `earlier' directory of the \texttt{PATH}-specification than the
874 intended program.
875
876 Two special remote commands are \texttt{GET} and \texttt{PUT}, which can be used to
877 copy files between the client and the monitor. Internally, \texttt{GET} and
878 \texttt{PUT} use the \texttt{DD} use-specification. If a non-default specification is
879 used, one should ensure that the alternate program accepts \textbf{dd}(1)'s \texttt{if=,
880 of=, bs=} and \texttt{count=} options. With \texttt{GET} the options \texttt{bs=, count=} and
881 \texttt{of=} are used, with \texttt{PUT} the options \texttt{bs=, count=} and \texttt{if=} are
882 used. Normally there should be no need to alter the default \texttt{DD}
883 specification.
884
885 The \texttt{GET} command may be used as follows:
886 \begin{itemize}
887 \item \textbf{GET} \texttt{$<$client-path$>$ $<$local-path$>$}\ \\
888 Copy the file indicated by \texttt{client-path} at the client to \texttt{local-path}
889 at the monitor. \texttt{client-path} must be the full path of an existing file
890 on the client, \texttt{local-path} may either be a local directory, in which case
891 the client's file name is used, or another file name may be specified, in
892 which case the client's file is copied to the specified local filename. If the
893 local file already exists, it is overwritten by the copy-procedure.
894
895 Example:
896 \begin{verbatim}
897 GET /usr/bin/sha1sum /tmp
898 \end{verbatim}
899
900 The program \texttt{/usr/bin/sha1sum}, available at the client, is copied to
901 the monitor's \texttt{/tmp} directory. If copying fails for some reason, any
902 subsequent commands are skipped, and \textbf{stealth} terminates.
903
904 \item \textbf{GET NOTEST} \texttt{$<$client-path$>$ $<$local-path$>$}\ \\
905 Copy the file indicated by \texttt{client-path} at the client to \texttt{local-path}
906 at the monitor. \texttt{client-path} must be the full path of an existing file
907 on the client, \texttt{local-path} may either be a local directory, in which case
908 the client's file name is used, or another file name may be specified, in
909 which case the client's file is copied to the specified local filename. If the
910 local file already exists, it is overwritten by the copy-procedure.
911
912 Example:
913 \begin{verbatim}
914 GET NOTEST /usr/bin/sha1sum /tmp
915 \end{verbatim}
916
917 The program \texttt{/usr/bin/sha1sum}, available at the client, is copied to the
918 monitor's \texttt{/tmp} directory. Remaining commands in the policy file are
919 executed, even if the copying process wasn't successful.
920 \end{itemize}
921
922 The \texttt{PUT} command may be used as follows:
923 \begin{itemize}
924 \item \textbf{PUT} \texttt{$<$local-path$>$ $<$remote-path$>$}\ \\
925 Copy the file indicated by \texttt{local-path} at the monitor to
926 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the
927 full path of an existing file on the monitor. The argument \texttt{remote-path}
928 must be the full path to a file on the client. If the remote file already
929 exists, it is overwritten by \texttt{PUT}.
930
931 Example:
932 \begin{verbatim}
933 PUT /tmp/sha1sum /usr/bin/sha1sum
934 \end{verbatim}
935
936 The program \texttt{/tmp/sha1sum}, available at the monitor, is copied to the
937 client as \texttt{usr/bin/sha1sum}. If the copying fails for some reason,
938 any subsequent commands are skipped, and \textbf{stealth} terminates.
939
940 \item \textbf{PUT NOTEST} \texttt{$<$local-path$>$ $<$remote-path$>$}\ \\
941 Copy the file indicated by \texttt{local-path} at the monitor to
942 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the
943 full path of an existing file on the monitor. The argument \texttt{remote-path}
944 must be the full path to a file on the client. If the remote file already
945 exists, it is overwritten by \texttt{PUT}.
946
947 Example:
948 \begin{verbatim}
949 PUT NOTEST /tmp/sha1sum /usr/bin/sha1sum
950 \end{verbatim}
951
952 Copy the file indicated by \texttt{local-path} at the monitor to
953 \texttt{remote-path} at the client. The argument \texttt{local-path} must be the full
954 path of an existing file on the monitor. The argument \texttt{remote-path} must
955 be the full path to a file on the client. If the remote file already exists,
956 it is overwritten by \texttt{PUT}. Remaining commands in the policy file are
957 executed, even if the copying process wasn't successful.
958 \end{itemize}
959
960 Other commands to be executed on the client can be specified as follows:
961
962 \begin{itemize}
963 \item \texttt{command}
964
965 Execute `\texttt{command}' on the client, using the \textbf{SSH} command
966 shell. The command must succeed (i.e., must return a zero exit
967 value). However, any output generated by the command is ignored.
968 Example:
969 \begin{verbatim}
970 /usr/bin/find /tmp -type f -exec /bin/rm {} \;
971 \end{verbatim}
972
973 This command will remove all ordinary files at and below the client's
974 \texttt{/tmp} directory.
975
976 \item \textbf{NOTEST} \texttt{command}
977
978 Execute \texttt{command} on the client, using the \textbf{SSH} command
979 shell. The command may or may not succeed.
980
981 Example:
982 \begin{verbatim}
983 NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;
984 \end{verbatim}
985
986 Same as the previous command, but this time the exit value of
987 \texttt{/usr/bin/find} is not interpreted.
988
989 \item \textbf{CHECK} {[}\textbf{LOG =}{]} \texttt{logfile {[}pathOffset{]} command}
990
991 Execute \texttt{command} on the client, using the \textbf{SSH} command
992 shell.
993
994 The phrase \textbf{LOG =} is optional. When a relative file location is
995 specified at \texttt{$<$file-spec$>$} it is interpreted relatively to the \texttt{USE BASE}
996 path specification.
997
998 \texttt{PathOffset} is also optional, and has the same meaning as for the \texttt{LOCAL
999 CHECK} command, described above.
1000
1001 The command must succeed. The output of this command is compared to the
1002 output of this command generated during the previous run of \textbf{stealth}. Any
1003 differences are written to \textbf{REPORT}. If differences were found, the existing
1004 \texttt{logfile} name is renamed to \texttt{logfile.YYYYMMDD-HHMMSS}, with
1005 \texttt{YYYYMMDD-HHMMSS} being the datetime-stamp at the time \textbf{stealth} was run.
1006
1007 Note that the command is executed on the client, but the logfile is kept
1008 at the monitor. This command represents the core of the method implemented
1009 by \textbf{stealth}: there will be no residues of the actions performed by \textbf{stealth} on client
1010 computers.
1011
1012 Several examples (note the use of the backslash as line continuation
1013 characters):
1014
1015 \begin{verbatim}
1016 CHECK LOG = remote/ls.root /usr/bin/find / \
1017 -xdev -perm /6111 -type f -exec /bin/ls -l {} \;
1018 \end{verbatim}
1019
1020 All suid/gid/executable files on the same device as the root-directory (/)
1021 on the client computer are listed with their permissions, owner and size
1022 information. The resulting listing is written on the file
1023 \textbf{BASE}\texttt{/remote/ls.root}.
1024
1025 This long command could be formulated shorter using a \texttt{DEFINE}:
1026 \begin{verbatim}
1027 DEFINE LSFIND -xdev -perm /6111 -type f -exec /bin/ls -l {} \;
1028 CHECK remote/ls.root /usr/bin/find / ${LSFIND}
1029 \end{verbatim}
1030
1031
1032 Another example:
1033 \begin{verbatim}
1034 DEFINE SHA1SUM -xdev -perm /6111 -type f -exec /usr/bin/sha1sum {} \;
1035 CHECK remote/sha1.root /usr/bin/find / ${SHA1SUM}
1036 \end{verbatim}
1037
1038 The SHA1 checksums of all suid/gid/executable files on the same device as
1039 the root-directory (/) on the client computer are determined. The resulting
1040 listing is written on the file \textbf{BASE}\texttt{/remote/sha1.root}.
1041
1042 \item \textbf{NOTEST CHECK} {[}\textbf{LOG =}{]} \texttt{logfile {[}pathOffset{]} command}
1043
1044 Execute \texttt{command} on the client, using the \textbf{SSH} command
1045 shell.
1046
1047 The phrase \textbf{LOG =} is optional. When a relative file location is
1048 specified at \texttt{$<$file-spec$>$} it is interpreted relatively to the \texttt{USE BASE}
1049 path specification.
1050
1051 \texttt{PathOffset} is also optional, and has the same meaning as for the \texttt{LOCAL
1052 CHECK} command, described above. The command may or may not
1053 succeed. Otherwise, the program acts identically as the \textbf{CHECK ...} command,
1054 described above.
1055 Example (using the same \texttt{\$\{SHA1SUM\}})definition:
1056 \begin{verbatim}
1057 NOTEST CHECK LOG = remote/sha1.root /usr/bin/find / ${SHA1SUM}
1058 \end{verbatim}
1059
1060 The SHA1 checksums of all suid/gid/executable files on the same device as
1061 the root-directory (/) on the client computer are determined. The resulting
1062 listing is written on the file \textbf{BASE}\texttt{/remote/sha1.root}. \textbf{stealth} will
1063 not terminate if the \texttt{/usr/bin/find} program returns a non-zero exit value.
1064 \end{itemize}
1065
1066 \subsection{Preventing Controller Denial of Service (-{}-{}max-size)}
1067 \typeout{Original Yodl file: policy/preventing}Either by malicious intent or by accident (as happened to me) the monitor may
1068 be a victim of a (self-inflicted) Denial of Service (DOS) attack. This DOS
1069 attack may occur when the client (apparently) sends a never ending stream of
1070 bytes in response to a \texttt{GET} or \texttt{REMOTE} command. Once one of my monitors
1071 fell victim to this attack when a client's power went down and the monitor
1072 kept on trying to read bytes from that client filling up the monitor's
1073 disk....
1074
1075 This problem was of course caused by a programming error: while reading
1076 information from a client \textbf{stealth} failed to check whether the reading had actually
1077 succeeded. This bug has now been fixed, but an intentional DOS attack could
1078 still be staged along this line when, e.g., the \textbf{find}(1) command is somehow
1079 replaced by a manipulated version continuously writing information to its
1080 standard output stream. Without further precaution \textbf{stealth} would receive a never
1081 ending stream of bytes to be written to its `report' file, thus causing its
1082 disk to fill up.
1083
1084 To prevent this from happening \textbf{stealth} now offers the \texttt{+NOTRANS(-\{\}-\{\})max-size}
1085 command line option allowing the specification of the maximum size of a stream
1086 of bytes received by \textbf{stealth} (e.g., a report or downloaded file). The
1087 maximum is used for each individual download and can be specified in bytes
1088 (using no suffix or the \texttt{B} suffix), kilo-bytes (using \texttt{K}), mega-bytes
1089 (using \texttt{M}) or giga-bytes (using \texttt{G}). The default is set at 10M,
1090 equivalent to the command line specification of \texttt{+NOTRANS(-\{\}-\{\})max-size 10M}.
1091
1092 If a file or report received from the client exceeds its maximum allowed size
1093 then \textbf{stealth} terminates after writing the following message to the report
1094 file (which is sent to the configured mail address):
1095 \begin{verbatim}
1096
1097 STEALTH - CAN'T CONTINUE: `<name of offending file>' EXCEEDS MAX.
1098 DOWNLOAD SIZE (<size shown>)
1099 STEALTH - THIS COULD SIGNAL A SERIOUS PROBLEM WITH THE CLIENT
1100 STEALTH - ONE OR MORE LOG FILES MAY BE INVALID AS A RESULT
1101 STEALTH - *** INVESTIGATE ***
1102 \end{verbatim}
1103
1104 Since a \texttt{+NOTRANS(-\{\}-\{\})max-size} specification may cause \textbf{stealth} to terminate
1105 while receiving the output of a (remotely run) command, an empty or partial
1106 log file will be the result. Of course this partial result is spurious as it
1107 is a direct result of \textbf{stealth} terminating due to a size violation.
1108
1109 After investigating (and removing) the reasons for the size violation a
1110 new \textbf{stealth} run using the previous log file as the latest baseline should
1111 show only expected changes.
1112
1113 For example, assume the following situation represents a (valid) state of
1114 logfiles:
1115 \begin{verbatim}
1116 etc stealth
1117 setuid stealth.20080316-105756
1118 \end{verbatim}
1119
1120 Now \textbf{stealth} is run with \texttt{+NOTRANS(-\{\}-\{\})max-size 20}, prematurely
1121 terminating \textbf{stealth}. This results in the following set of logfiles:
1122 \begin{verbatim}
1123 etc stealth
1124 setuid stealth.20080316-105756
1125 stealth.20080316-110215
1126 \end{verbatim}
1127
1128 The file \texttt{stealth} now contains incomplete data with the (latest) file
1129 \texttt{stealth.20080316-110215} containing its previous contents.
1130
1131 The reasons for the size-violation should of course be investigated and
1132 removed. It is suggested to move the file last saved
1133 (\texttt{stealth.20080316-110215}) to the file \texttt{stealth}, as it represents the
1134 state before the size violation was encountered. Following this \textbf{stealth} should
1135 operate normally again.
1136
1137 \cleardoublepage\chapter{Running `stealth'}
1138 \typeout{Original Yodl file: running/intro}Now that \textbf{stealth} has been compiled, the construction of a policy file has
1139 been covered, and a service-account on the client has been defined, what must
1140 be done to run \textbf{stealth} in practice?
1141
1142 Here's what remains to be done:
1143 \begin{itemize}
1144 \item Install \textbf{stealth} at a proper location
1145 \item Construct one or more policy files
1146 \item Learn to interpret \textbf{stealth}'s output.
1147 \item Optionally, automate the removal of old log-files.
1148 \item Determine a schedule for running stealth automatically, e.g. using
1149 \textbf{cron}(1) or \textbf{ssh-cron}(1)
1150 \end{itemize}
1151 In this chapter, these topics are discussed.
1152
1153 \section{Installing `stealth'}
1154 \typeout{Original Yodl file: running/installing}As \textbf{stealth} is mainly a system administrator's tool, it could be
1155 installed in \texttt{/usr/bin}. In that case, do (as \emph{root}) in the
1156 directory where \textbf{stealth} was compiled/unpacked:
1157 \begin{verbatim}
1158 ./build install program
1159 \end{verbatim}
1160
1161 Alternatively, another default location may be specified in the
1162 \texttt{INSTALL.im} file or may be provided to the \texttt{build} script. E.g.,
1163 \begin{verbatim}
1164 ./build install program /usr/local/bin/stealth
1165 \end{verbatim}
1166
1167 installing the binary program as \texttt{/usr/local/bin/stealth}.
1168
1169 The provided \texttt{icmake build} script can be started without arguments for an
1170 overview of possible commands.
1171
1172 \section{Stealth command-line and policy file options}\label{OPTIONS}
1173 \typeout{Original Yodl file: running/options} Short options are provided between parentheses, immediately following
1174 their long option equivalents.
1175
1176 Option descriptions showing (C) can only be used on the command-line, and
1177 are ignored when specified in the second section of the policy file.
1178
1179 In the overview of options `\texttt{$<$uds$>$}' represents the name of the
1180 \emph{Unix Domain Socket} to use, and `\texttt{$<$file-spec$>$}' refers to a (relative or
1181 absolute) specification of a file location.
1182
1183 With the first and second synopses relative locations (of the Unix Domain
1184 Socket and of other file-specifications) are interpreted relative to the
1185 current working directory.
1186
1187 Command-line options overrule options defined in the policy-file.
1188
1189 \begin{itemize}
1190 \item \texttt{+NOTRANS(-\{\}-\{\})daemon (-d) $<$uds$>$}: (C) run as background (daemon)
1191 process. When the Stealth daemon process is started, the Unix Domain
1192 Socket (tt$<$uds$>$) may not already exist.
1193 \item \texttt{+NOTRANS(-\{\}-\{\})dry-run}: (C) no integrity scans or reloads are performed, but
1194 are assumed OK. Remaining tasks are normally performed;
1195 \item \texttt{+NOTRANS(-\{\}-\{\})help (-h)}: (C) Display help information and exit;
1196 \item \texttt{+NOTRANS(-\{\}-\{\})log (-L) $<$file-spec$>$}: log messages are appended to
1197 `file-spec'. If file-spec does not exist, it is first created;
1198 \item \texttt{+NOTRANS(-\{\}-\{\})logmail}: mail sent by \textbf{stealth} is logged (requires \texttt{+NOTRANS(-\{\}-\{\})log} or
1199 \texttt{+NOTRANS(-\{\}-\{\})syslog});
1200 \item \texttt{+NOTRANS(-\{\}-\{\})max-size $<$size$>${[}BKMG{]}}: files retrieved by \texttt{GET} commands may
1201 at most have \texttt{$<$size$>$} bytes (B), KBytes (K), MBytes (M), GBytes
1202 (G). The default size is 10M, the default unit is B.
1203 \item \texttt{+NOTRANS(-\{\}-\{\})no-mail}: mail is not sent. By default mail is sent as
1204 configured in the policy-file (\texttt{+NOTRANS(-\{\}-\{\})logmail} can be specified
1205 independently from \texttt{+NOTRANS(-\{\}-\{\})no-mail});
1206 \item \texttt{+NOTRANS(-\{\}-\{\})parse-policy-file (-p)}: (C) parse the policy file, after which
1207 \textbf{stealth} ends.\ \\
1208 Specify once to see the numbered commands;\ \\
1209 twice to see the policy file parsing steps as well.\ \\
1210 Results are written to the std. output.
1211 \item \texttt{+NOTRANS(-\{\}-\{\})ping $<$uds$>$}: (C) performs no actions, but is used to verify that
1212 a \textbf{stealth} daemon can be reached via its Unix Domain Socket
1213 (\texttt{$<$uds$>$}). The daemon will respond even if it's currently performing
1214 an integrity scan. It is used by the \texttt{/usr/bin/stealthcron} script
1215 to verify that a \textbf{stealth} daemon is alive.
1216 \item \texttt{+NOTRANS(-\{\}-\{\})random-interval (-i) $<$interval$>${[}m{]}$>$}: start the scan a random
1217 interval of $<$interval$>$ seconds (or minutes if an `m' is appended (no
1218 blanks) to $<$interval$>$) following the delay specified at \texttt{+NOTRANS(-\{\}-\{\})repeat}
1219 (see below). This option requires specification of the \texttt{+NOTRANS(-\{\}-\{\})repeat}
1220 and \texttt{+NOTRANS(-\{\}-\{\})daemon} options;
1221 \item \texttt{+NOTRANS(-\{\}-\{\})reload $<$uds$>$}: (C) reloads the configuration and skip-files
1222 and restarts the scan of the \textbf{stealth} daemon process. Options defined in
1223 the policy file are also reloaded. However, command-line options
1224 always take priority over options defined in the policy file, so when
1225 command-line options were used when starting \textbf{stealth} in daemon mode, they
1226 cannot be modified by reloading the policy file.
1227 \item \texttt{+NOTRANS(-\{\}-\{\})repeat $<$seconds$>$}: wake up and perform an integrity scan at
1228 interrupts or after \texttt{$<$seconds$>$} seconds (or minutes if an `m' is
1229 appended (no blanks) to $<$seconds$>$) after completing the previous
1230 integrity scan. The option \texttt{+NOTRANS(-\{\}-\{\})random-interval} can be used to add a
1231 random delay to \texttt{$<$seconds$>$} until the next integrity scan is
1232 performed. This option requires specification of the and \texttt{+NOTRANS(-\{\}-\{\})daemon}
1233 option;
1234 \item \texttt{+NOTRANS(-\{\}-\{\})rerun $<$uds$>$}: (C) start executing the integrity scan
1235 commands that are specified in the \textbf{stealth} daemon process's policy file;
1236 \item \texttt{+NOTRANS(-\{\}-\{\})resume $<$uds$>$}: (C) resume a suspended \textbf{stealth} process, implies
1237 \texttt{+NOTRANS(-\{\}-\{\})rerun};
1238 \item \texttt{+NOTRANS(-\{\}-\{\})run-command (-r) $<$nr$>$}: (C) Only execute command number $<$nr$>$
1239 (natural number). Command numbers are shown by \textbf{stealth}
1240 \texttt{+NOTRANS(-\{\}-\{\})-parse-policy-file}. This option can only be specified using the
1241 second synopsis;
1242 \item \texttt{+NOTRANS(-\{\}-\{\})skip-files (-s) $<$file-spec$>$}: all entries in \texttt{$<$file-spec$>$} are
1243 skipped. Their integrity is not monitored. If an entry is already
1244 present in a log file then \textbf{stealth} once generates an \texttt{IGNORING} message
1245 in the mail sent to the address specified at \texttt{EMAIL} in the policy
1246 file. Each entry mentioned in \texttt{file-spec} must be on a line of
1247 its own and must be specified using absolute file paths. Entries
1248 ending in a slash are assumed to be directories whose full contents
1249 must be skipped. Other entries are interpreted as the names
1250 of files to skip. Initial and trailing blanks, empty lines and lines
1251 having a \texttt{\#} as their 1st non blank character are ignored. Here are
1252 some examples:
1253 \begin{verbatim}
1254
1255 # skip all files in user's Mail directory
1256 /home/user/Mail/
1257 # skip user's .history file
1258 /home/user/.history
1259
1260 \end{verbatim}
1261
1262 \item \texttt{+NOTRANS(-\{\}-\{\})stdout (-o)}: messages are (also) written to the std. output
1263 stream (only available with the second synopsis);
1264 \item \texttt{+NOTRANS(-\{\}-\{\})suspend $<$uds$>$}: (C) suspends a currently active \textbf{stealth}
1265 process. Following \texttt{+NOTRANS(-\{\}-\{\})suspend} use \texttt{+NOTRANS(-\{\}-\{\})resume} to re-activate an
1266 \textbf{stealth} daemon or \texttt{+NOTRANS(-\{\}-\{\})terminate} to end an \textbf{stealth} daemon;
1267 \item \texttt{+NOTRANS(-\{\}-\{\})syslog}: write syslog messages;
1268 \item \texttt{+NOTRANS(-\{\}-\{\})syslog-facility $<$facility$>$}: syslog facility to use. By
1269 default facility DAEMON is used;
1270 \item \texttt{+NOTRANS(-\{\}-\{\})syslog-priority $<$priority$>$}: syslog priority to use. By
1271 default priority NOTICE is used;
1272 \item \texttt{+NOTRANS(-\{\}-\{\})syslog-tag $<$tag$>$}: \texttt{$<$tag$>$} specifies the identifier that is
1273 prefixed to syslog messages. By default the tag `STEALTH' is used, see
1274 also the next section;
1275 \item \texttt{+NOTRANS(-\{\}-\{\})terminate $<$uds$>$}: (C) terminate a currently active \textbf{stealth}
1276 process;
1277 \item \texttt{+NOTRANS(-\{\}-\{\})time-stamp (-t) $<$type$>$}: the time-stamps to use. By default
1278 UTC. To use the local time specify \texttt{+NOTRANS(-\{\}-\{\})time-stamp
1279 LT}. The \texttt{+NOTRANS(-\{\}-\{\})time-stamp} option does not apply to time-stamps
1280 generated by syslog (see also the next section);
1281 \item \texttt{+NOTRANS(-\{\}-\{\})usage}: (C) Display help information and exit;
1282 \item \texttt{+NOTRANS(-\{\}-\{\})verbosity $<$value$>$}: determines the amount of logged
1283 information. Requires options \texttt{+NOTRANS(-\{\}-\{\})log} or \texttt{+NOTRANS(-\{\}-\{\})syslog}. Possible
1284 values are:\ \\
1285 0: nothing is logged\ \\
1286 1: (default) mode reports and policy commands\ \\
1287 2: also: ipc commands and actions\ \\
1288 3: also: integrity scan informative messages
1289 \item \texttt{+NOTRANS(-\{\}-\{\})version (-v)}: (C) Display \textbf{stealth}'s version information and
1290 terminate;
1291 \end{itemize}
1292
1293 \begin{itemize}
1294 \item \texttt{policy}: file specification of the policy file. If a relative
1295 location is specified then this location is interpreted relative to
1296 the current working directory. \textbf{Stealth} converts this relative
1297 specification to an absolute file location, and an option like
1298 \texttt{+NOTRANS(-\{\}-\{\})reload} will reload the policy file from the thus determined
1299 absolute file path.
1300 \end{itemize}
1301
1302 Only one of the options \texttt{+NOTRANS(-\{\}-\{\})daemon, +NOTRANS(-\{\}-\{\})reload, +NOTRANS(-\{\}-\{\})resume,
1303 +NOTRANS(-\{\}-\{\})suspend} or \texttt{+NOTRANS(-\{\}-\{\})terminate} can be specified. The options \texttt{+NOTRANS(-\{\}-\{\})reload,
1304 +NOTRANS(-\{\}-\{\})rerun, +NOTRANS(-\{\}-\{\})resume, +NOTRANS(-\{\}-\{\})suspend,} and \texttt{+NOTRANS(-\{\}-\{\})terminate} ignore any other options.
1305
1306 The following options are still recognized for backward compatibility with \textbf{stealth}
1307 pre-3.00 versions and will be removed in a future \textbf{stealth} version. They generate
1308 error messages suggesting alternatives:
1309
1310 \begin{itemize}
1311 \item \texttt{+NOTRANS(-\{\}-\{\})echo-commands (-e)}:
1312 echo commands to std error when they are processed; use \texttt{+NOTRANS(-\{\}-\{\})log}
1313 instead.
1314 \item \texttt{+NOTRANS(-\{\}-\{\})keep-alive}: run as a daemon; use \texttt{+NOTRANS(-\{\}-\{\})daemon} instead.
1315 \item \texttt{+NOTRANS(-\{\}-\{\})only-stdout}: scan report is written to stdout; use
1316 \texttt{+NOTRANS(-\{\}-\{\})stdout} instead.
1317 \item \texttt{+NOTRANS(-\{\}-\{\})quiet (-q)}: suppresses progress messages written to stderr; use
1318 \texttt{+NOTRANS(-\{\}-\{\})verbosity 0} instead.
1319 \item \texttt{+NOTRANS(-\{\}-\{\})suppress $<$uds$>$}: suppresses a currently active \textbf{stealth}
1320 process; use \texttt{+NOTRANS(-\{\}-\{\})suspend} instead.
1321 \end{itemize}
1322
1323 The following options were discontinued starting since \textbf{stealth} version 3.00.00:
1324 \begin{itemize}
1325 \item \texttt{+NOTRANS(-\{\}-\{\})debug} (option \texttt{+NOTRANS(-\{\}-\{\})verbosity} or \texttt{+NOTRANS(-\{\}-\{\})dry-run} could be used
1326 instead);
1327 \item \texttt{+NOTRANS(-\{\}-\{\})no-child-processes};
1328 \item \texttt{+NOTRANS(-\{\}-\{\})parse-config-file}.
1329 \end{itemize}
1330
1331 When specifying long options in policy files initial hyphens should be
1332 omitted. Here are some examples:
1333 \begin{verbatim}
1334 %%
1335 log /tmp/stealth.log
1336 verbosity 3
1337 \end{verbatim}
1338
1339
1340 \subsection{Rsyslog filtering}
1341 \typeout{Original Yodl file: running/rsyslog} When using \textbf{rsyslogd}(1) property based filters may be used to filter
1342 syslog messages and write them to a file of your choice. E.g., to filter
1343 messages starting with the syslog message tag (e.g., \texttt{STEALTH}) use
1344 \begin{verbatim}
1345
1346 :syslogtag, isequal, "STEALTH:" /var/log/stealth.log
1347 :syslogtag, isequal, "STEALTH:" stop
1348
1349 \end{verbatim}
1350
1351 Note that the colon is part of the tag, but is not specified with the
1352 \texttt{syslog-tag} option.
1353
1354 This causes all messages having the \texttt{STEALTH:} tag to be written on
1355 \texttt{/var/log/stealth.log} after which they are discarded. More extensive
1356 filtering is also supported, see, e.g.,
1357 \texttt{http://www.rsyslog.com/doc/rsyslog\_conf\_filter.html} and
1358 \texttt{http://www.rsyslog.com/doc/property\_replacer.html}
1359
1360 Time stamps written by \texttt{rsyslogd} are not controlled by \textbf{stealth}'s
1361 \texttt{+NOTRANS(-\{\}-\{\})time-stamp} option, but, e.g., by a \texttt{TZ} specification in
1362 \texttt{/etc/default/rsyslog}. Simply add the line
1363 \begin{verbatim}
1364 export TZ=UTC
1365 \end{verbatim}
1366
1367 to \texttt{/etc/default/rsyslog}, followed by restarting \texttt{rsyslogd} configures
1368 \texttt{rsyslogd} to generate time stamps using UTC.
1369
1370 \section{Construct one or more policy files}
1371 \typeout{Original Yodl file: running/makepolicy}Here we assume that \textbf{stealth} is run by \emph{root}, and that root wants to
1372 store information about the host \texttt{client} under the subdirectory
1373 \texttt{/root/stealth/client}.
1374
1375 Furthermore, we assume that reports of \textbf{stealth} integrity-scans should be sent to
1376 the user \texttt{admin@elsewhere}, who is only interested in receiving a short
1377 summary of changes, as the full report can always be read at the monitor
1378 itself. To accomplish this a small support-script was developed, filtering the
1379 report generated by \textbf{stealth} down to its essentials.
1380
1381 As the \texttt{sha1sum} program on the client may be compromised, it is a good idea
1382 to start the integrity scan by transferring the client's \texttt{sha1sum} program
1383 to the monitor first, to verify the integrity of that program locally (i.e.,
1384 at the monitor), before trusting it to compute sha1sums of the client's
1385 files. The same holds true for any libraries and support programs (like
1386 \texttt{find}) that are used intensively during integrity scans.
1387
1388 Sha1sum checks should be performed on all setuid and setgid files on the
1389 \texttt{client}, and in order to be able reach all files on \texttt{client},
1390 \texttt{root@monitor} is allowed to login to the \texttt{root@client} account using
1391 an \texttt{ssh} connection.
1392
1393 Furthermore, sha1sum checks should be performed on all configuration files,
1394 living under \texttt{/etc} and on the file \texttt{/usr/bin/find} (which is used
1395 intensively when performing the integrity checks).
1396
1397 Next, the construction of the required \texttt{policy} file, implementing the
1398 abovementioned requirements, is described in the following subsections.
1399
1400 \subsection{DEFINE directives}
1401 \typeout{Original Yodl file: running/define} First we write some \texttt{DEFINE} directives simplifying complex command
1402 specifications:
1403 \begin{verbatim}
1404
1405 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1406 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1407 -type f -exec /usr/bin/sha1sum {} \;
1408 \end{verbatim}
1409
1410 The first \texttt{DEFINE} defines the \texttt{ssh} command to use: an ssh-connection
1411 will be made to the root account at the client.
1412
1413 The second \texttt{DEFINE} shows the arguments for \textbf{find}(1) when looking for
1414 all root setuid or setgid normal files. For all these files the \textbf{sha1sum}(1)
1415 program should be run.
1416
1417 \subsection{USE directives}
1418 \typeout{Original Yodl file: running/use} Next some \texttt{USE} directives, matching our specific, local,
1419 situation, are defined:
1420 \begin{verbatim}
1421
1422 USE BASE /root/stealth/client
1423 USE EMAIL admin@elswhere
1424 USE MAILER /root/bin/stealthmail
1425 USE MAILARGS "Client STEALTH report"
1426 USE SSH ${SSHCMD}
1427 \end{verbatim}
1428
1429
1430 \begin{itemize}
1431 \item All output is written under the \texttt{/root/stealth/client} directory;
1432 \item Mail is sent to the user \texttt{admin@elsewhere};
1433 \item As mail program we use a filtering script (\texttt{stealthmail}), which is
1434 installed in \texttt{/root/bin};
1435 \item The script handles its own argument. As it can be used by \textbf{stealth}
1436 performing integrity scans on other clients as well, it is given an
1437 argument which can be used as e-mail subject, identifying the
1438 client-computer that has been integrity-scanned;
1439 \item The ssh-command is defined by the \texttt{SSHCMD}. It's definition is used
1440 at the \texttt{USE SSH} specification;
1441 \item Default values of all remaining \texttt{USE} directives are OK, and thus
1442 were not explicitly specified. They are:
1443 \begin{verbatim}
1444 USE DD /bin/dd
1445 USE DIFF /usr/bin/diff
1446 USE REPORT report
1447 USE SH /bin/sh
1448 \end{verbatim}
1449
1450 \end{itemize}
1451
1452 \subsection{Commands}
1453 \typeout{Original Yodl file: running/commands}The following commands are now defined:
1454 \begin{itemize}
1455 \item first, we copy the client's \texttt{sha1sum} program to the monitor. In
1456 practice, this should also include the shared object libraries that are used
1457 by \texttt{sha1sum}, as they might have become corrupted as well;
1458 \item Once \texttt{sha1sum} is locally available its integrity is verified;
1459 \item Once the integrity of the client's \texttt{sha1sum} has been verified, it
1460 is used to verify the integrity of the client's \texttt{/usr/bin/find} program;
1461 \item Following this, all setuid and setgid root files are located and
1462 checked for integrity;
1463 \item Finally, the integrity of the client configuration files under
1464 \texttt{/etc} is verified;
1465 \end{itemize}
1466
1467 In this manual the \textbf{sha1sum}(1) program is frequently used when checking
1468 hash values. Stronger hash functions (like \textbf{sha256sum}(1)) might be
1469 preferred in practice. \texttt{sha256sum's} hash values are remarkably longer than
1470 \texttt{sha1sum's} hash values. When using these longer hash values in the manual
1471 it often clobbers the layout of examples. Therefore in this manual
1472 \textbf{sha1sum}(1) is continued to be used.
1473
1474 Realize, however, that when updating existing policy files to use
1475 \textbf{sha256sum}(1) instead of \textbf{sha1sum}(1), that previously generated log
1476 files (that used \textbf{sha1sum}(1)) are incompatible with log files obtained when
1477 using \textbf{sha256sum}(1). In practice this means that new log files need to be
1478 generated, and any previously geneerated log files must be disregarded.
1479
1480 \subsubsection{Obtaining the client's sha1sum program}
1481 \typeout{Original Yodl file: running/obtaining}To copy the client's \texttt{sha1sum} program to a local directory we specify:
1482 \begin{verbatim}
1483
1484 GET /usr/bin/sha1sum /root/tmp
1485 \end{verbatim}
1486
1487 This command must succeed.
1488
1489 \subsubsection{Checking the integrity of the client's sha1sum program}
1490 \typeout{Original Yodl file: running/checking}Next, we check the integrity of the received \texttt{sha1sum} program. For this, we
1491 use the monitor's \texttt{sha1sum} program:
1492 \begin{verbatim}
1493
1494 LABEL \nCheck the client's sha1sum program
1495 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1496
1497 \end{verbatim}
1498
1499 The \texttt{LABEL} command writes the label to the report file just before
1500 writing the \texttt{sha1sum} program's output.
1501
1502 The \texttt{LOCAL} command checks the sha1sum of the program copied from the
1503 client. The report is written on the file
1504 \texttt{/root/stealth/client/local/sha1}. If this fails, \textbf{stealth} terminates, alerting
1505 \texttt{admin@elsewhere} that the check failed. This is a serious event, as it
1506 indicates that either the monitor's \texttt{sha1sum} is behaving unexpectedly or
1507 that the client's \texttt{sha1sum} program has unexpectedly changed.
1508
1509 The \texttt{sha1sum} program \emph{may} have changed due to a normal upgrade. If
1510 so, \texttt{admin@elsewhere} will know this, and can (probably) ignore the
1511 warning. The next time \textbf{stealth} is run, the (now updated) SHA1 value is used, and
1512 it again compares the obtained \texttt{SHA1} value to the one obtained for the
1513 downloaded \texttt{sha1sum} program.
1514
1515 \subsubsection{Checking the client's /usr/bin/find program}
1516 \typeout{Original Yodl file: running/checkingfind} The client normally uses its \texttt{find} command intensively: \texttt{find} is a
1517 great tool for producing reports about almost any conceivable combination of
1518 characteristics of sets of files. Of course, the client's \texttt{find} command
1519 must itself be OK, as well as the client's \texttt{sha1sum} program. Now that we
1520 know that the client's \texttt{sha1sum} program is OK, we can use it to check the
1521 client's \texttt{/usr/bin/find} program.
1522
1523 Note that the monitor itself no longer needs to invest any significant
1524 processing load: only the client itself is taxed for checking the integrity
1525 of its own files:
1526 \begin{verbatim}
1527
1528 LABEL \nchecking the client's /usr/bin/find program
1529 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1530 \end{verbatim}
1531
1532
1533 \subsubsection{Checking the client's setuid/setgid files}
1534 \typeout{Original Yodl file: running/checkingsetuid} Having checked the client's \texttt{sha1sum} and \texttt{find} programs, sha1 checksum
1535 checks should be performed on all setuid and setgid files on the
1536 client. For this we activate the \texttt{sha1sum} program on the client. In
1537 order to check the setuid/setgid files, the following command is added to the
1538 policy file:
1539 \begin{verbatim}
1540
1541 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1542 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1543 \end{verbatim}
1544
1545
1546 \subsubsection{Checking the configuration files in the
1547 client's /etc/ directory}
1548 \typeout{Original Yodl file: running/checkingconfig} Finally, the client's configuration files are checked. Some of these files
1549 change so frequently that we don't want them to be checked. E.g.,
1550 \texttt{/etc/adjtime, /etc/mtab}. To check the configuration file, do:
1551
1552 \begin{verbatim}
1553 LABEL \nconfiguration files under /etc
1554 CHECK LOG = remote/etcfiles \
1555 /usr/bin/find /etc -type f -not -perm /6111 \
1556 -not -regex "/etc/\(adjtime\|mtab\)" \
1557 -exec /usr/bin/sha1sum {} \;
1558 \end{verbatim}
1559
1560
1561 \subsection{The complete `policy' file}
1562 \typeout{Original Yodl file: running/policy}Here is the complete policy file we've constructed so far:
1563
1564 \begin{verbatim}
1565 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
1566 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
1567 -type f -exec /usr/bin/sha1sum {} \;
1568
1569 USE BASE /root/stealth/client
1570 USE EMAIL admin@elswhere
1571 USE MAILER /root/bin/stealthmail
1572 USE MAILARGS "Client STEALTH report"
1573 USE SSH ${SSHCMD}
1574
1575 USE DD /bin/dd
1576 USE DIFF /usr/bin/diff
1577 USE REPORT report
1578 USE SH /bin/sh
1579
1580 GET /usr/bin/sha1sum /root/tmp
1581
1582 LABEL \nCheck the client's sha1sum program
1583 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1584
1585 LABEL \nchecking the client's /usr/bin/find program
1586 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1587
1588 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1589 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
1590
1591 LABEL \nconfiguration files under /etc
1592 CHECK LOG = remote/etcfiles \
1593 /usr/bin/find /etc -type f -not -perm /6111 \
1594 -not -regex "/etc/\(adjtime\|mtab\)" \
1595 -exec /usr/bin/sha1sum {} \;
1596
1597
1598
1599
1600 \end{verbatim}
1601
1602
1603 \section{Running `stealth' for the first time}
1604 \typeout{Original Yodl file: running/firstrun} When \textbf{stealth} is now run, it creates its initial report files under
1605 \texttt{root/stealth/client}.
1606
1607 The first time \textbf{stealth} is run, it is usually run `by hand'. The initial run by
1608 hand probably benefits from the \texttt{+NOTRANS(-\{\}-\{\})stdout} option, as it shows all executed
1609 commands on the standard output:
1610 \begin{verbatim}
1611 stealth --stdout policy
1612 \end{verbatim}
1613
1614 Furthermore, the reports are initialized. Running \textbf{stealth} this way for the
1615 \texttt{policy} file constructed in the previous sections produces the following
1616 output (lines were wrapped to improve readability):
1617 \begin{verbatim}
1618 GET /usr/bin/sha1sum /root/tmp
1619 LABEL \nCheck the client's sha1sum program
1620 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1621 LABEL \nchecking the client's /usr/bin/find program
1622 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1623 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1624 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1625 \( -user root -or -group root \) -type f
1626 -exec /usr/bin/sha1sum {} \;
1627 LABEL \nconfiguration files under /etc
1628 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1629 -type f -not -perm /6111 -not -regex "/etc/\(adjtime\|mtab\)"
1630 -exec /usr/bin/sha1sum {} \;
1631 LOCAL /usr/bin/scp -q root@client:/usr/bin/sha1sum /root/tmp
1632 LABEL \nCheck the client's sha1sum program
1633 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
1634 LABEL \nchecking the client's /usr/bin/find program
1635 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
1636 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
1637 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
1638 \( -user root -or -group root \) -type f
1639 -exec /usr/bin/sha1sum {} \;
1640 LABEL \nconfiguration files under /etc
1641 CHECK LOG = remote/etcfiles /usr/bin/find /etc
1642 -type f -not -perm /6111 -not -regex "/etc/\(adjtime\|mtab\)"
1643 -exec /usr/bin/sha1sum {} \;
1644 \end{verbatim}
1645
1646
1647 \subsection{The mailed report}
1648 \typeout{Original Yodl file: running/mailed}The \texttt{/root/bin/stealthmail} script is called with the following arguments:
1649 \begin{verbatim}
1650
1651 "Client STEALTH report" admin@elswhere
1652 \end{verbatim}
1653
1654
1655 The mailed report contains information comparable to this:
1656 \begin{verbatim}
1657
1658 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:10:56 +0100
1659
1660 Check the client's sha1sum program
1661 Initialized report on local/sha1
1662
1663 checking the client's /usr/bin/find program
1664 Initialized report on remote/binfind
1665
1666 suid/sgid/executable files uid or gid root on the / partition
1667 Initialized report on remote/setuidgid
1668
1669 configuration files under /etc
1670 Initialized report on remote/etcfiles
1671 \end{verbatim}
1672
1673
1674 \subsection{Files under /root/stealth/client}
1675 \typeout{Original Yodl file: running/files} Under \texttt{/root/stealth/client} the following entries are now available:
1676 \begin{itemize}
1677
1678 \item \texttt{local}: below this directory the reports of the locally performed
1679 checks are found. Using our demo \texttt{policy} file, only one logfile is found
1680 here: \texttt{sha1}, containing the client's SHA1 checksum of its
1681 \texttt{/usr/bin/sha1sum} program:
1682 \begin{verbatim}
1683 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1684 \end{verbatim}
1685
1686
1687 \item \texttt{remote}: at this directory the reports of the remotely performed
1688 checks are found. Using our demo \texttt{policy} file, three files were created:
1689
1690 The file \texttt{binfind}, containing the checksum of the client's
1691 \texttt{/usr/bin/find} program:
1692 \begin{verbatim}
1693 fc62fc774999584f1e29e0f94279a652 /usr/bin/find
1694 \end{verbatim}
1695
1696
1697 The file \texttt{etcfiles}, containing the checksums of the client's
1698 configuration files under \texttt{/etc} (shown only partially):
1699 \begin{verbatim}
1700 ced739ecb2c43a20053a9f0eb308b2b0 /etc/modutils/aliases
1701 a2322d7e2f95317b2ddf3543eb4c74c0 /etc/modutils/paths
1702 f9e3eac60200d41dd5569eeabb4eddff /etc/modutils/arch/i386
1703 f07da2ebf00c6ed6649bae5501b84c4f /etc/modutils/arch/m68k.amiga
1704 2893201cc7f7556160fa9cd1fb5ba56a /etc/modutils/arch/m68k.atari
1705 ...
1706 bf73b4e76066381cd3caf80369ce1d0e /etc/deluser.conf
1707 4cd70d9aee333307a09caa4ef003501d /etc/adduser.conf.dpkg-save
1708 8c749353c5027d0065359562d4383b8d /etc/gimp/1.2/gtkrc_user
1709 3ec404ec597ef5460600cccf0192f4d6 /etc/gimp/1.2/unitrc
1710 8c740345b891179228e3d1066291167b /etc/gimp/1.2/gtkrc
1711 \end{verbatim}
1712
1713
1714 The file \texttt{setuidgid}, containing the checksums of the client's
1715 setuid/setgid root files (shown only partially):
1716 \begin{verbatim}
1717 030f3f84ec76a8181cca087c4ba655ea /bin/login
1718 b6c0209547d88928f391d2bf88af34aa /bin/ping
1719 5d324ad212b2ff8f767637ac1a8071ec /bin/su
1720 344dbedc398d5114966914419ef53fcc /usr/bin/wall
1721 27b045bd7306001f9ea31bc18712d8b7 /usr/bin/rxvt-xpm
1722 ...
1723 3567b18ffc39c2dc6ec0c0d0fc483f4f /usr/lib/ssh-keysign
1724 3383a7955ac2406311e9aa51c6ac9c2c /usr/X11R6/bin/X
1725 3c99ea0425c6e0278039e16478d2fb57 /usr/X11R6/bin/xterm
1726 d590f7f5b4d6ae61680692a52235d342 /usr/local/bin/setuidcall
1727 4c17203d7d91ec4946dea2f0ae365d5b /sbin/unix_chkpwd
1728 \end{verbatim}
1729
1730
1731 Of course, the checksums and the filenames shown are only for
1732 documentation purposes. At other systems different files and/or
1733 checksums will be reported.
1734
1735 \item The file \texttt{/root/client/report} \textbf{New lines are always appended to
1736 the \texttt{/root/client/report} file. It will never shorten, unless shorten by
1737 the systems administrator at `monitor'}.
1738
1739 This file contains the following:
1740 \begin{verbatim}
1741 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:06:50 +0000
1742
1743 Check the client's sha1sum program
1744 Initialized report on local/sha1
1745
1746 checking the client's /usr/bin/find program
1747 Initialized report on remote/binfind
1748
1749 suid/sgid/executable files uid or gid root on the / partition
1750 Initialized report on remote/setuidgid
1751
1752 configuration files under /etc
1753 Initialized report on remote/etcfiles
1754
1755 \end{verbatim}
1756
1757 \end{itemize}
1758
1759 This completes the information generated by \textbf{stealth} during its first run.
1760
1761 \section{Subsequent `stealth' runs}
1762
1763 \subsection{All files unaltered}
1764 \typeout{Original Yodl file: running/newrunsame} When \textbf{stealth} is subsequently run, it updates its report files under
1765 \texttt{root/stealth/client}. If nothing has changed, the log-files remain
1766 unaltered. Subsequent runs will, however, add some new info to the file
1767 \texttt{/root/client/report}:
1768 \begin{verbatim}
1769
1770 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:10:56 +0100
1771
1772 Check the client's sha1sum program
1773 Initialized report on local/sha1
1774
1775 checking the client's /usr/bin/find program
1776 Initialized report on remote/binfind
1777
1778 suid/sgid/executable files uid or gid root on the / partition
1779 Initialized report on remote/setuidgid
1780
1781 configuration files under /etc
1782 Initialized report on remote/etcfiles
1783
1784 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:22:15 +0100
1785 \end{verbatim}
1786
1787 Note that just one extra line was added: a timestamp showing the date/time
1788 of the last run. The systems administrator may rotate the report file every
1789 once in a while to reclaim some disk space.
1790
1791 \subsection{Modifications occurred}
1792 \typeout{Original Yodl file: running/newrundelta} Basically, three kinds of modifications are possible: additions,
1793 modifications, and removals. Here we'll show the effects all these changes
1794 have on \textbf{stealth}'s output.
1795
1796 For illustrative purposes, the following changes were made to the
1797 \texttt{client}'s files:
1798 \begin{itemize}
1799 \item \texttt{/etc/motd} was changed
1800 \item the file \texttt{timezone\textasciitilde{}} was removed
1801 \item the file \texttt{/etc/motd.org} was created
1802 \end{itemize}
1803
1804 Next, \textbf{stealth} was again run, producing the following output:
1805 \begin{itemize}
1806
1807 \item The following new info is now added to file \texttt{/root/client/report}:
1808 \begin{verbatim}
1809 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
1810
1811 configuration files under /etc
1812 ADDED: /etc/motd.org
1813 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1814 MODIFIED: /etc/motd
1815 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1816 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1817 REMOVED: /etc/timezone~
1818 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1819 \end{verbatim}
1820
1821 Note that all changes were properly detected and logged in the file
1822 \texttt{/root/client/report}.
1823
1824 \item Furthermore, a matching report was sent by \emph{mail}:
1825 \begin{verbatim}
1826 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
1827
1828 configuration files under /etc
1829 ADDED: /etc/motd.org
1830 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1831 MODIFIED: /etc/motd
1832 < 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1833 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1834 REMOVED: /etc/timezone~
1835 > 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
1836 \end{verbatim}
1837
1838 Note that the report \emph{only} shows the info that was added to the
1839 \emph{/root/client/report} file.
1840
1841 The report itself could be beautified further. E.g., I use the following
1842 script to mail the report to the addressee:
1843 \begin{verbatim}
1844
1845 #!/bin/bash
1846
1847 NAME=`basename $0`
1848
1849 tee /root/stealth/lastreport/$NAME | egrep -v '^([[:space:]]|[[:space:]]*$)' |
1850 sort | uniq | mail -s $1 $2
1851
1852 \end{verbatim}
1853
1854 For the \texttt{client} computer, this little script writes the mailed report
1855 on a file \texttt{/root/stealth/lastreport/client}, overwriting its previous
1856 contents, removes all lines beginning with blanks (thus trimming away the
1857 \texttt{diff}-generated lines), and e-mails the \texttt{sort}ed and \texttt{uniq}ed lines
1858 using \texttt{mail}. The addressee (\texttt{admin@elsewhere}) then receives the
1859 following information:
1860 \begin{verbatim}
1861
1862 ADDED: /etc/motd.org
1863 MODIFIED: /etc/motd
1864 REMOVED: /etc/timezone~
1865 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
1866 configuration files under /etc
1867
1868 \end{verbatim}
1869
1870 In practice this provides me with all the information I need if something
1871 out of the ordinary has happened.
1872
1873 \item Finally, the file
1874 \begin{verbatim}
1875 /root/stealth/client/remote/etcfiles
1876 \end{verbatim}
1877
1878 was recreated, saving the old file as
1879 \begin{verbatim}
1880 /root/stealth/client/remote/etcfiles.20021028-112851
1881 \end{verbatim}
1882
1883 As remarked earlier (see section \ref{COMMANDS}), many
1884 \texttt{logfile.YYMMDD-HHMMSS} files could eventually accumulate. As discussed in
1885 section \ref{COMMANDS}, it might be considered to remove old log files every
1886 now and then.
1887 \end{itemize}
1888
1889 \subsection{Failing LOCAL commands}
1890 \typeout{Original Yodl file: running/failing} If the client's \texttt{sha1sum} program itself is altered, a serious situation
1891 has developed. In that case, further actions by \textbf{stealth} would be suspect, as their
1892 results might easily be currupted. Additional checks \emph{will} be performed,
1893 but a warning is generated on the \texttt{report} file (and in the mail sent to
1894 \texttt{admin@elsewhere}):
1895 \begin{verbatim}
1896
1897 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:27:15 +0100
1898
1899 Check the client's sha1sum program
1900 MODIFIED: /root/tmp/sha1sum
1901 < fc62fc774999584f1e29e0f94279a652 /root/tmp/sha1sum
1902 > 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
1903
1904 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
1905
1906 configuration files under /etc
1907 REMOVED: /etc/motd.org
1908 > 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
1909 MODIFIED: /etc/motd
1910 < 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
1911 > 7f96195d5f051375fe7b523d29e379c1 /etc/motd
1912 \end{verbatim}
1913
1914 (The report shows the removal of the previously added file \texttt{motd.org},
1915 and the modification of \texttt{motd}. These are real, as the original \texttt{motd}
1916 file, modified earlier, was restored at this point).
1917
1918 \subsection{Skipping (some) integrity checks}
1919 \typeout{Original Yodl file: running/skipping}Some files or directories may not require integrity checks. Automated
1920 processes may modify files which are not threatening the proper functioning of
1921 running programs or processes. In those cases a file can be prepared holding
1922 the absolute paths of entries to be skipped. Each entry should appear on a
1923 line of its own without any additional information.
1924
1925 \textbf{Stealth} can be informed about this file using the \texttt{+NOTRANS(-\{\}-\{\})skip-files $<$file-spec$>$}
1926 option. When a relative file specification is used with \texttt{+NOTRANS(-\{\}-\{\})skip-files} it is
1927 interpreted a location relative to the current working directory. The
1928 skip-files file itself must contain the paths of the entries to be skipped
1929 during file integrity scans. If an entry is already present in a log file then
1930 \textbf{stealth} once generates an \texttt{IGNORING} message in the mail sent to the address
1931 specified at \texttt{EMAIL} in the policy file. Each entry in a skip-file must be
1932 on a line of its own and must be specified using absolute file paths. Entries
1933 ending in a slash are assumed to be directories whose full contents must be
1934 skipped. Other entries are interpreted as the names of files to skip. Initial
1935 and trailing blanks, empty lines and lines having a \texttt{\#} as their 1st non
1936 blank character are ignored.
1937
1938 Here is an example:
1939 \begin{verbatim}
1940
1941 stealth -e --skip-files /root/stealth/remote/skipping remote.pol
1942 \end{verbatim}
1943
1944
1945 If an entry \texttt{/etc/skipme} appears in the current logs which is thereafter
1946 added to the \texttt{skippath} file then the mail generated by \textbf{stealth}
1947 once contains a line like the following:
1948 \begin{verbatim}
1949 SKIPPING: /etc/skipme
1950 > a7695bb2d019e60988e757a4b692acfe /etc/skipme
1951
1952 \end{verbatim}
1953
1954 The reported hash-value is the hash-value at the time of the stealth-run
1955 reporting the \texttt{SKIPPING} message.
1956
1957 Entries ending in a slash are assumed to be directories whose contents must
1958 (recursively) be skipped.
1959
1960 \section{Automating repeated `stealth' runs}
1961 \typeout{Original Yodl file: running/cron} To automate \textbf{stealth}'s integrity scans, a file
1962 \texttt{/etc/cron.d/stealth} could be created, containing a line like
1963 \begin{verbatim}
1964
1965 2,17,32,47 * * * * root test -x /usr/bin/stealth && \
1966 /usr/bin/stealth /root/stealth/client.pol
1967
1968 \end{verbatim}
1969
1970 This starts \textbf{stealth} 2 minutes after every hour. In this example the ssh-key
1971 must not require a passphrase, as \textbf{crontab}(1) cannot provide passphrases of
1972 ssh-keys. Ssh-keys requiring passphrases can, however, be used if repeated
1973 \textbf{stealth} runs are controlled by a program like \textbf{ssh-cron}(1).
1974
1975 In general, randomized events are harder to notice. For this \textbf{stealth} offers
1976 the \texttt{+NOTRANS(-\{\}-\{\})repeat} and \texttt{+NOTRANS(-\{\}-\{\})random-interval} options. Both options expect an
1977 argument in seconds (or in minutes, if an \texttt{m} is appended to the
1978 specification). After each integrity scan the next integrity scan starts after
1979 the time interval specified by the \texttt{+NOTRANS(-\{\}-\{\})repeat} option plus a random time
1980 value selected from the time interval specified by the \texttt{+NOTRANS(-\{\}-\{\})random-interval}
1981 option. For example, the \textbf{stealth} daemon started by the following command
1982 repeatedly performs integrity scans between two and five minutes after the
1983 last integrity scan completed:
1984 \begin{verbatim}
1985
1986 stealth --daemon /root/stealth/client.uds \
1987 --repeat 2m --random-interval 3m /root/stealth/client.pol
1988 \end{verbatim}
1989
1990 Once this program has started its \textbf{ssh}(1) connection to the client host
1991 persists, and a possibly required ssh-passphrase is no longer
1992 required. Additional (intermediate) integrity scans can always be requested
1993 (also without requiring ssh-passphrase specifications) using the command
1994 \begin{verbatim}
1995
1996 stealth --rerun /root/stealth/client.uds
1997 \end{verbatim}
1998
1999
2000 \section{Report File Rotation}\label{ROTATE}
2001 \typeout{Original Yodl file: running/rotate}When \textbf{stealth} performs integrity scans it appends information to the report
2002 file. This file therefore eventually grows to a large size, and the systems
2003 manager controlling \textbf{stealth} might want to \emph{rotate} the report file every once in
2004 a while (e.g., using a program like \textbf{logrotate}(1), also see the upcoming
2005 section \ref{LOGROTATE}). To ensure that no log-rotation takes place
2006 while \textbf{stealth} is busy performing integrity scans (thus modifying the report file)
2007 the options \textbf{-{}-{}suspend} and \texttt{+NOTRANS(-\{\}-\{\})resume} were implemented. Both options
2008 require the process-ID file of currently active \textbf{stealth} process as their argument.
2009
2010 For example, if a \textbf{stealth} process was once started using the command
2011
2012 \begin{verbatim}
2013
2014 stealth --daemon /root/stealth/small.uds --repeat 900 \
2015 /root/stealth/small.pol
2016 \end{verbatim}
2017
2018 then the \texttt{+NOTRANS(-\{\}-\{\})suspend} and \texttt{+NOTRANS(-\{\}-\{\})resume} commands for this process should
2019 be called as:
2020 \begin{verbatim}
2021 stealth --suspend /root/stealth/small.uds
2022 stealth --resume /root/stealth/small.uds
2023 \end{verbatim}
2024
2025 The \textbf{stealth} process identified in the files provided as arguments to
2026 the \texttt{+NOTRANS(-\{\}-\{\})suspend} and \texttt{+NOTRANS(-\{\}-\{\})resume} options is called the \emph{daemon stealth
2027 process} below.
2028
2029 The \texttt{+NOTRANS(-\{\}-\{\})suspend} option has the following effect:
2030 \begin{itemize}
2031 \item If the daemon \textbf{stealth} process is currently processing its
2032 policy file, performing an integrity scan, then the currently executing
2033 policy file command is completed, whereafter further commands are ignored,
2034 except for \texttt{+NOTRANS(-\{\}-\{\})resume} (see below) and \texttt{+NOTRANS(-\{\}-\{\})terminate}.
2035 \item Any scheduled integrity scans following the \texttt{+NOTRANS(-\{\}-\{\})suspend} command
2036 are ignored by the daemon \textbf{stealth} process;
2037 \item The daemon \textbf{stealth} process writes a message that it is being suspended to
2038 the report file and then processes the report file as usual.
2039 \end{itemize}
2040 Now that the report file is no longer modified by the daemon
2041 \textbf{stealth} process, log-rotation may take place. E.g., a program like
2042 \textbf{logrotate}(1) allows its users to specify a command or script just before
2043 log-rotation takes place, and `\textbf{stealth} \texttt{+NOTRANS(-\{\}-\{\})suspend udsfile}' could be
2044 specified nicely in such a pre-rotation section.
2045
2046 The \texttt{+NOTRANS(-\{\}-\{\})resume} option has the following effect:
2047 \begin{itemize}
2048 \item The daemon \textbf{stealth} process resumes its activities by performing
2049 another integrity scan. Thus, \texttt{+NOTRANS(-\{\}-\{\})resume} implies \texttt{+NOTRANS(-\{\}-\{\})rerun}.
2050 \item Any scheduled integrity scans following the \texttt{+NOTRANS(-\{\}-\{\})resume} command are
2051 again honored by the daemon \textbf{stealth} process.
2052 \end{itemize}
2053 Note that, once \texttt{+NOTRANS(-\{\}-\{\})suspend} has been issued, all commands except
2054 \texttt{+NOTRANS(-\{\}-\{\})resume} and \texttt{+NOTRANS(-\{\}-\{\})terminate} are ignored by the daemon \textbf{stealth}
2055 process. While suspended, the \texttt{+NOTRANS(-\{\}-\{\})terminate} command is acknowledged as a
2056 `emergency exit' which may or may not interfere with, e.g., an ongoing
2057 log-rotation process. The daemon \textbf{stealth} process should not normally be
2058 terminated while it is in its suspended mode. The normal way to terminate a
2059 stealth process running in the background is:
2060 \begin{itemize}
2061 \item Wait for the daemon \textbf{stealth} process to complete an ongoing series of
2062 integrity scan commands;
2063 \item Issue the `\textbf{stealth} \texttt{+NOTRANS(-\{\}-\{\})terminate udsfile}' command.
2064 \end{itemize}
2065
2066 \subsection{Status file cleanup}\label{STATUS}
2067 \typeout{Original Yodl file: running/status.yo} Whenever \textbf{stealth} is run and it encounters a modified situation the already
2068 existing status file summarizing that particular situation is saved and a new
2069 status file is created. Eventually, this will result in many status
2070 files. While report files can be rotated, it is pointless to rotate old status
2071 files, since they are never modified. Instead, status files exceeding a
2072 certain age could be removed and more recent files might be zipped to conserve
2073 space. In \textbf{stealth}'s binary distribution the file
2074 \texttt{/usr/share/doc/stealth/usr/bin/stealthcleanup} is provided which can be
2075 used to perform such a cleanup. The script expects one argument: a resource
2076 file defining the following shell variables:
2077 \begin{itemize}
2078 \item \texttt{directories}: the directories below which the status files are
2079 found;
2080 \item \texttt{gzdays}: the number of days a status file must exist before it is
2081 compressed using \textbf{gzip}(1);
2082 \item \texttt{rmdays}: the maximum age (in days) of compressed status
2083 files. Files exceeding this age are removed using \textbf{rm}(1).
2084 \end{itemize}
2085 Here is the \texttt{stealthcleanup} script as contained in the binary
2086 distribution's \texttt{/usr/share/doc/stealth/usr/bin} directory:
2087 \begin{verbatim}
2088 #!/bin/bash
2089
2090 usage()
2091 {
2092 echo "
2093 Usage: $0 [-v] rc-file
2094 Where:
2095 -v: Show the actions that are performed
2096 rc-file: resource file defining:
2097 \`directories' - one or more directories containing status files
2098 \`gzdays' - number of days status files may exist before they
2099 are compressed
2100 \`rmdays' - number of days gzipped status files may exist
2101 before they are removed.
2102 "
2103 exit 1
2104 }
2105
2106
2107 error()
2108 {
2109 echo "$*" >&2
2110 exit 1
2111 }
2112
2113 if [ "$1" == "-v" ]
2114 then
2115 verbose=1
2116 shift 1
2117 else
2118 verbose=0
2119 fi
2120
2121 [ $# == 1 ] || usage
2122
2123 # now source the configuration file
2124 . $1
2125
2126 for x in $directories
2127 do
2128 cd $x || error "\`$x' must be a directory"
2129 if [ $verbose -eq 1 ]
2130 then
2131 echo "
2132 cd $x"
2133 fi
2134
2135 if [ $verbose -eq 1 ]
2136 then
2137 echo \
2138 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
2139 -exec /bin/rm {} \;
2140 fi
2141 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
2142 -exec /bin/rm {} \;
2143
2144 if [ $verbose -eq 1 ]
2145 then
2146 echo \
2147 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
2148 -exec /bin/gzip {} \;
2149 fi
2150 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
2151 -exec /bin/gzip {} \;
2152 done
2153
2154 exit 0
2155
2156
2157
2158
2159 \end{verbatim}
2160
2161 Assuming that the status files are written in
2162 \texttt{/var/stealth/target/local} and \texttt{/var/stealth/target/remote}; that status
2163 file should be compressed when older than 2 days and removed after 30 days,
2164 the resource file is:
2165 \begin{verbatim}
2166 directories="
2167 /var/stealth/target/local
2168 /var/stealth/target/remote
2169 "
2170
2171 rmdays=30
2172 gzdays=3
2173 \end{verbatim}
2174
2175 Furthermore assuming that the resourcefile is installed in
2176 \texttt{/etc/stealth/cleanup.rc} and the \texttt{stealthcleanup} script itself in
2177 \texttt{/usr/bin/stealthcleanup}, the \texttt{stealthcleanup} script could be called
2178 as follows:
2179 \begin{verbatim}
2180
2181 /usr/bin/stealthcleanup /etc/stealth/cleanup.rc
2182 \end{verbatim}
2183
2184 Note that \texttt{stealthcleanup} may be called whether or not there are active
2185 \textbf{stealth} processes.
2186
2187 \subsection{Using `logrotate' to control report- and status files}\label{LOGROTATE}
2188 \typeout{Original Yodl file: running/logrotate.yo} A program like \textbf{logrotate}(1) allows its users to specify a command or
2189 script immediately following log-rotation, and `\textbf{stealth} \texttt{+NOTRANS(-\{\}-\{\})resume
2190 pidfile}' could be specified nicely in such a post-rotation section.
2191
2192 Here is an example of a specification that can be used with
2193 \textbf{logrotate}(1). Logrotate (on Debian systems) keeps its configuration files
2194 in \texttt{/etc/logrotate.d}, and assuming there is a host \texttt{target}, whose report
2195 file is \texttt{/var/stealth/target/report}, the required \textbf{logrotate}(1)
2196 specification file (e.g., \texttt{/etc/logrotate.d/target}) could be:
2197 \begin{verbatim}
2198 /root/stealth/report /var/log/stealth/client-small.log {
2199 weekly
2200 rotate 12
2201 compress
2202 missingok
2203 copytruncate
2204 sharedscripts
2205 prerotate
2206 /usr/bin/stealth --suspend /root/stealth/small.uds
2207 endscript
2208 postrotate
2209 /usr/bin/stealth --resume /root/stealth/small.uds
2210 endscript
2211 }
2212 \end{verbatim}
2213
2214 Using this specification file, \textbf{logrotate}(1) will
2215 \begin{itemize}
2216 \item perform weekly rotations of the report file;
2217 \item keep up to 12 rotated files, compressing them using \textbf{gzip}(1);
2218 \item suspend the \textbf{stealth} daemon, before rotating its report file;
2219 suspended;
2220 \item following the rotation, \textbf{stealth}'s actions are resumed.
2221 \end{itemize}
2222 Note thet \texttt{stealth +NOTRANS(-\{\}-\{\})resume xxx} always initiates another file integrity
2223 scan.
2224
2225 \cleardoublepage\chapter{Kick-starting `stealth'}
2226 \typeout{Original Yodl file: kickstart}Here are the steps to take to kick-start \textbf{stealth}
2227 \begin{itemize}
2228 \item Install the stealth Debian package \texttt{stealth\_4.01.06\_i386.deb} and
2229 thus accept the provided binary program (skipping the next series of steps) or
2230 do not accept the provided binary, and compile \textbf{stealth} yourself, as per the
2231 following steps:
2232 \item Unpack \texttt{stealth\_4.01.06.tar.gz}:
2233 \texttt{tar xzvf tealth\_4.01.06.tar.gz}
2234 \item \texttt{cd stealth};
2235 \item Inspect, and where necessary modify the values of the variables in
2236 the files \texttt{INSTALL.cf} and \texttt{icmconf};
2237 \item Install a recent Gnu \texttt{g++} compiler;
2238 \item Install the bobcat library (both the binary and development version)
2239 (\texttt{https://fbb-git.github.io/bobcat/});
2240 \item Install the \texttt{icmake} program
2241 (\texttt{https://fbb-git.github.io/icmake/});
2242 \item Run `\texttt{./build program strip}' to compile \textbf{stealth};
2243 \item Run (probably as root) `\texttt{./build install program}' to install;
2244 \item Optionally install documentation. See section \ref{COMPILING}.
2245 \end{itemize}
2246 Following the installation the \texttt{stealth} directory tree has become
2247 superfluous and can safely be removed.
2248
2249 Next, do:
2250 \begin{itemize}
2251 \item \texttt{cp share/usr/bin/stealthmail /usr/local/bin}
2252 \item \texttt{mkdir /root/stealth}
2253 \item \texttt{cp documentation/example-policies/localhost.pol /root/stealth}
2254 \end{itemize}
2255
2256 \texttt{ssh} and \texttt{bash} (or another shell program) should be
2257 available. \texttt{root@localhost} should be able to login at \texttt{localhost} using
2258 \texttt{ssh root@localhost}, using the \texttt{/bin/bash}. Check
2259 (as `root') at least
2260 \begin{verbatim}
2261 ssh root@localhost
2262 \end{verbatim}
2263
2264 as this might ask you for a confirmation that you've got the correct
2265 host.
2266 Now, run
2267 \begin{verbatim}
2268 stealth /root/stealth/localhost.pol
2269 \end{verbatim}
2270
2271 to initialize the stealth-report files for \texttt{localhost}. This initializes
2272 the report for
2273 \begin{itemize}
2274 \item all root setuid/setgid executable files on \texttt{localhost},
2275 \item and for all files under \texttt{/etc/} on \texttt{localhost}.
2276 \end{itemize}
2277
2278 The mail-report is sent to \texttt{root@localhost}.
2279
2280 Now change or add or remove one of these files, and rerun \textbf{stealth}. The
2281 file \texttt{/tmp/stealth-4.01.06.mail} should reflect these changes.
2282
2283 \cleardoublepage\chapter{Usage info}\label{USAGE}
2284 \typeout{Original Yodl file: usage}When \textbf{stealth} is started without arguments, it provides some help about how
2285 to start it. A message like the following is produced:
2286
2287 \begin{verbatim}
2288 stealth V4.01.06
2289 SSH-based Trust Enhancement Acquired through a Locally Trusted Host
2290 Copyright (c) GPL 2005-2017
2291
2292 Usage 1 (activation modes):
2293 stealth [options] policy
2294 Where:
2295 [options] - optional arguments (short options between parentheses,
2296 option descriptions starting with (C) can only be used
2297 on the command-line and are ignored when specified in the
2298 policy file).
2299 --daemon (-d) <uds>: (C) run as a background (daemon) process.
2300 <uds> is the location of the Unix Domain Socket that is
2301 used for communication with the stealth daemon process
2302 --dry-run: (C) no integrity scans or reloads are performed, but
2303 are assumed OK. Remaining tasks are normally performed
2304 --log (-L) <file-spec>: log messages are appended to `<file-spec>'.
2305 If <file-spec> does not exist, it is first created
2306 --logmail: mail is logged (requires --log or --syslog)
2307 --max-size value[BKMG]: files retrieved by GET may at most
2308 have `value' bytes (B), Kbytes (K), Mbytes (M), Gbytes (G).
2309 By default: 10M; The default unit is `B'
2310 --no-mail: mail is not sent. By default mail is sent as configured
2311 in the policy-file (--logmail can be specified independently
2312 from --no-mail)
2313 --parse-policy-file (-p): (C) parse the policy file, no further actions.
2314 Specify once to see the numbered commands,
2315 twice to see the policy file parsing steps as well.
2316 Results to std output.
2317 --random-interval (-i) value: start integrity scans within
2318 a random interval of `value' seconds (minutes if an `m'
2319 is appended to the specified value).
2320 Requires --repeat.
2321 --repeat value: start an integrity scan every `value' seconds
2322 (minutes if an `m' is appended to the specified value).
2323 --run-command (-r) value: (C) only execute command #`value'
2324 (not available in combination with --daemon)
2325 --skip-files (-s) <file-spec>: skip the integrity checks of the
2326 files having their absolute path names listed in `<file-spec>'
2327 --stdout (-o): messages are (also) written to stdout
2328 (not available in combination with --daemon)
2329 --syslog: write syslog messages
2330 --syslog-facility fac: syslog facility to use. By default DAEMON
2331 --syslog-priority pri: syslog priority to use. By default NOTICE
2332 --syslog-tag tag: identifier prefixed to syslog messages. By
2333 default `STEALTH')
2334 --time-stamp <type>: the time-stamps to use. By default UTC.
2335 (does not apply to syslog-timestamps)
2336 --verbosity (-V) value: determines the amount of logged information.
2337 Requires --log or --syslog:
2338 0: nothing is logged
2339 1: mode reports and policy commands
2340 2: also: ipc commands and actions
2341 3: also: integrity scan informative messages
2342 policy: location of the policy file
2343
2344 Usage 2 (IPC modes, all options are command-line only):
2345 stealth {--reload,--rerun,--resume,--suspend,--terminate} <uds>
2346 Where:
2347 --reload: reload a stealth process's policy and skip-file
2348 files
2349 --rerun: start an integrity scan
2350 --resume: resume stealth after --suspend
2351 --suspend: suspend stealth's activities
2352 to continue: --resume; to end: --terminate
2353 --terminate: terminate the stealth daemon
2354 <uds>: location of the Unix Domain Socket to connect to.
2355
2356 Usage 3 (support mode, all options are command-line only)
2357 stealth {--help,--version}
2358 Where:
2359 --help (-h): provide this help and terminate
2360 --version (-v): show version information and terminate
2361
2362 \end{verbatim}
2363
2364
2365 Note that with the second type of usage the policy file is not required:
2366 here only the \texttt{pidfile} must be specified.
2367
2368 \cleardoublepage\chapter{Errormessages}
2369 \typeout{Original Yodl file: errors} \texttt{Can't chdir to `path'}
2370 \begin{quote}the directory \texttt{path} could not be
2371 created/used. This may be a permission problem. Check the permissions of
2372 \texttt{path} if \texttt{path} does actually exist. The problem may be in a path
2373 component, not necessarily in the last element of the path.
2374 \end{quote}
2375
2376 \texttt{Can't open `$<$fname$>$' to read (or write)}
2377 \begin{quote}When a \texttt{GET} or \texttt{PUT} command fails because the target file
2378 could not be read or written, \textbf{stealth} terminates afer logging this message. The
2379 file may not exist or you may not not have sufficient permissions to read or
2380 write it.
2381 \end{quote}
2382
2383 \texttt{Corrupt line in policy file: ...}
2384 \begin{quote}The apparently corrupted line is shown. The line is corrupted if
2385 the line could not be split into an initial word and its remainder. Normally
2386 this should not happen. As the line is mentioned, the message itself should
2387 assist you in your repairs.
2388 \end{quote}
2389
2390 \texttt{could not open $<$logname$>$}
2391 \begin{quote}This message is generated when the mentioned log-file cannot be
2392 written to. Check the permissions of the file, and check if the path to the
2393 file exists. The problem may be in a path component, not necessarily in the
2394 last element of the path or in the file itself.
2395 \end{quote}
2396
2397 \texttt{+NOTRANS(-\{\}-\{\})daemon: missing uds-file or policy file}
2398 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})daemon} option requires the location for its Unix Domain
2399 Socket, and in addition a policy file must be specified. Most likely the
2400 location of the Unix Domain File was omitted, thus confusing the policy file
2401 with the Unix Domain File
2402 \end{quote}
2403
2404 \texttt{incompatible options: ...}
2405 \begin{quote}Two or more incompatible options are shown. E.g., \texttt{+NOTRANS(-\{\}-\{\})daemon} is
2406 incompatible with IPC options, which themselves are mutually
2407 incompatible. Omit all but one of the mentioned options and restart \textbf{stealth}
2408 \end{quote}
2409
2410 \texttt{Inserting command `...' failed.}
2411 \begin{quote}the mentioned command could not be sent to a child-process (\texttt{sh}
2412 or \texttt{ssh}). Check the availability of the \texttt{ssh} connection to the
2413 client, and whether you have permissions to execute the specified command.
2414 \end{quote}
2415
2416 \texttt{Invalid +NOTRANS(-\{\}-\{\})random-interval specified}
2417 \begin{quote}The -{}-{}random-interval option was given an invalid (too large or
2418 negative) argument.
2419 \end{quote}
2420
2421 \texttt{invalid +NOTRANS(-\{\}-\{\})$<$option$>$ specified}
2422 \begin{quote}The specified option value (e.g., \texttt{+NOTRANS(-\{\}-\{\})max-size} was specified, but
2423 its option value is not a valid integral number) is not supported
2424 \end{quote}
2425
2426 \texttt{LocalClientSocket::connect(): ...}
2427 \begin{quote}When running in IPC-mode \textbf{stealth} could not connect to the unix domain
2428 socket specified for the IPC-mode. Check whether the matching \textbf{stealth} daemon
2429 exists, and whether the location of the uds-file was correctly specified
2430 \end{quote}
2431
2432 \texttt{LocalServerSocket::accept(): ...}
2433 \begin{quote}When running in daemon mode incoming connections could not be
2434 accepted. This may have many causes, and a probably cause is mentioned with
2435 the error message
2436 \end{quote}
2437
2438 \texttt{LocalServerSocket::listen(): ...}
2439 \begin{quote}When running in daemon mode the unix domain socket failed to
2440 listen for incoming connections. This may have many causes, and a probably
2441 cause is mentioned with the error message
2442 \end{quote}
2443
2444 \texttt{LocalServerSocket::open($<$uds$>$): ...}
2445 \begin{quote}When running in daemon mode the unix domain socket could not be
2446 opened. A possible reason is that an entry in the file system having the same
2447 name already exists. The error message will mention a probably cause of the
2448 failure
2449 \end{quote}
2450
2451 \texttt{+NOTRANS(-\{\}-\{\})max-size incompatible with IPC calls}
2452 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})max-size} option can can only be used when \textbf{stealth} is also
2453 receiving a policy file. It cannot be used in combination with the Inter
2454 Process Communication (IPC) options \texttt{+NOTRANS(-\{\}-\{\})reload, +NOTRANS(-\{\}-\{\})rerun, +NOTRANS(-\{\}-\{\})resume, +NOTRANS(-\{\}-\{\})suspend}
2455 or \texttt{+NOTRANS(-\{\}-\{\})terminate}.
2456 \end{quote}
2457
2458 \texttt{+NOTRANS(-\{\}-\{\})max-size $<$value$>$: invalid option value}
2459 \begin{quote}An invalid specification for \texttt{+NOTRANS(-\{\}-\{\})max-size} was received. Refer to
2460 the man-page or manual for information about valid options.\end{quote}
2461
2462 \texttt{No exit value for $<$cmd$>$ ...}
2463 \begin{quote}No exit value was received for the logged command, after which \textbf{stealth}
2464 terminates.
2465 \end{quote}
2466
2467 \texttt{+NOTRANS(-\{\}-\{\})$<$option$>$ is only valid for a s() foreground process}
2468 \begin{quote}The indicated option cannot be specified in combination with a
2469 \texttt{+NOTRANS(-\{\}-\{\})daemon} or IPC-option (like \texttt{+NOTRANS(-\{\}-\{\})suspend})
2470 \end{quote}
2471
2472 \texttt{+NOTRANS(-\{\}-\{\})random-interval requires +NOTRANS(-\{\}-\{\})repeat}
2473 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})random-interval} option can only be used when the
2474 \texttt{+NOTRANS(-\{\}-\{\})repeat} option has also been specified.
2475 \end{quote}
2476
2477 \texttt{+NOTRANS(-\{\}-\{\})repeat not available in IPC modes}
2478 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})repeat} option cannot be specified in combination with an
2479 IPC-option (like \texttt{+NOTRANS(-\{\}-\{\})suspend})
2480 \end{quote}
2481
2482 \texttt{+NOTRANS(-\{\}-\{\})run-command 0: not a valid (natural) command number}
2483 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})run-command} option requires an argument, which is a
2484 positive, integral value.
2485 \end{quote}
2486
2487 \texttt{+NOTRANS(-\{\}-\{\})run-command $<$nr$>$: invalid command number}
2488 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})run-command} option requires an argument, which is a
2489 positive, integral value at most equal to the number of commands listed in the
2490 policy file.
2491 \end{quote}
2492
2493 \texttt{+NOTRANS(-\{\}-\{\})skip-files incompatible with IPC calls}
2494 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})skip-files} option can only be used when \textbf{stealth} is also given
2495 a policy file. It cannot be used in combination with IPC options (\texttt{+NOTRANS(-\{\}-\{\})reload,
2496 +NOTRANS(-\{\}-\{\})rerun, +NOTRANS(-\{\}-\{\})resume, +NOTRANS(-\{\}-\{\})suspend} or \texttt{+NOTRANS(-\{\}-\{\})terminate}).
2497 \end{quote}
2498
2499 \texttt{+NOTRANS(-\{\}-\{\})skip-files: missing skip-file or policy file}
2500 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})skip-files} option requires a file name and the \textbf{stealth} command
2501 also requires a policy file. Most likely the name of the skip-file was not
2502 provided, thus confusing the policy file with the skip-file.
2503 \end{quote}
2504
2505 \texttt{+NOTRANS(-\{\}-\{\})stdout incompatible with +NOTRANS(-\{\}-\{\})daemon}
2506 \begin{quote}The \texttt{+NOTRANS(-\{\}-\{\})stdout} option can only be used when \textbf{stealth} is not started as
2507 a daemon process.
2508 \end{quote}
2509
2510 \texttt{syslog facility $<$facility$>$ not supported}
2511 \begin{quote}The option \texttt{+NOTRANS(-\{\}-\{\})syslog-facility} requires the name of a standard
2512 \textbf{syslog}(1) facility. Supported facilities are \texttt{DAEMON, LOCAL0} through
2513 \texttt{LOCAL7} and \texttt{USER}. See, e.g., the \textbf{syslog}(3) man-page for an overview
2514 of their definitions.\end{quote}
2515
2516 \texttt{+NOTRANS(-\{\}-\{\})syslog$*$ options incompatible with IPC calls}
2517 \begin{quote}\texttt{+NOTRANS(-\{\}-\{\})syslog$*$} options can can only be used when \textbf{stealth} is also
2518 receiving a policy file. It cannot be used in combination with the Inter
2519 Process Communication (IPC) options \texttt{+NOTRANS(-\{\}-\{\})reload, +NOTRANS(-\{\}-\{\})rerun, +NOTRANS(-\{\}-\{\})resume, +NOTRANS(-\{\}-\{\})suspend}
2520 or \texttt{+NOTRANS(-\{\}-\{\})terminate}.
2521 \end{quote}
2522
2523 \texttt{syslog priority $<$priority$>$ not supported}
2524 \begin{quote}The option \texttt{+NOTRANS(-\{\}-\{\})syslog-priority} requires the name of a standard
2525 \textbf{syslog}(1) priority. All standard priorities are supported. See, e.g., the
2526 \textbf{syslog}(3) man-page for an overview of available priorities. The prefixes
2527 used with the priorities in this man-page (i.e., \texttt{LOG\_} should not be used
2528 when specifying the \texttt{+NOTRANS(-\{\}-\{\})syslog-priority}. E.g., use \texttt{+NOTRANS(-\{\}-\{\})syslog-priority
2529 WARNING} rather than \texttt{+NOTRANS(-\{\}-\{\})syslog-priority LOG-WARNING})
2530 \end{quote}
2531
2532 \texttt{terminated: non-zero exit value for `...'}
2533 \begin{quote}A local command (not using the \texttt{CHECK} keyword), returned with a
2534 non-zero exit. This will terminate further processing of the policy
2535 file. Inspect and/or rerun the command `by hand' to find indications about
2536 what went wrong. The report file or the standard error stream may also contain
2537 additional information about the reason of the failure.
2538 \end{quote}
2539
2540 \texttt{Unable to create the logfile `...'}
2541 \begin{quote}the mentioned log file could not be created. Check the permissions of
2542 the file, check if the path to the file exists. The problem may be in a path
2543 component, not necessarily in the last element of the path or in the file
2544 itself.
2545 \end{quote}
2546
2547 \texttt{Unix Domain Socket `$<$uds$>$': already in use, remove it first}
2548 \begin{quote}The intended Unix Domain Socket name (\texttt{$<$uds$>$}) is already in
2549 use. It could be a file that is or has been used by another process. Either
2550 use another name for the unix domain socket, or remove the existing
2551 file-system entry\end{quote}
2552
2553 \texttt{USE SSH ... entry missing in the policy file}
2554 \begin{quote}there is no default for the \texttt{USE SSH} specification in the policy
2555 file. The specification could not be found. Provide a specification like:
2556 \begin{verbatim}
2557 USE SSH ssh -q root@localhost
2558 \end{verbatim}
2559
2560 \end{quote}
2561
2562 \end{document}
0 \sloppy
1 \renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.7em}}
2 \addtolength{\textheight}{2cm}
3 \addtolength{\textwidth}{4cm}
4 %\addtolength{\hoffset}{-2cm}
5
6 \usepackage[bookmarks=true,
7 %pagebackref,%
8 colorlinks=true,%
9 frenchlinks=false,% set links in small-caps font instead of color.
10 linkcolor=blue,%
11 urlcolor=blue,%
12 citecolor=blue,% citation reference color
13 filecolor=blue,%
14 pdfpagemode=None,% don't show thumbs/bookmarks
15 pdfstartview=FitH,% window fits Horizontal (width) page dimension
16 ]{hyperref} %must be last package loaded!!
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title><div style="text-align: center">Stealth V. 4.01.06</div></title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 <link rev="made" href="mailto:f.b.brokken@rug.nl">
8 </head>
9 <body text="#27408B" bgcolor="#FFFAF0">
10 <hr/>
11 <h1 id="title"><div style="text-align: center">Stealth V. 4.01.06</div></h1>
12 <h2 id="author"><div style="text-align: center">Frank B. Brokken</div></h2>
13
14 <h2 id="affiliation"><div style="text-align: center">Center for Information Technology, University of Groningen</div></h2><h2 id="date"><div style="text-align: center">2005-2017</div></h2>
15
16 <h1>Table of Contents</h1>
17 <dl><dt><h2><a href="stealth01.html#l1">Chapter 1: Introduction</a></h2></dt>
18 <dd><dl>
19 <dt><h3><a href="stealth01.html#l2">1.1: What's new in Stealth V.4.01.06</a></h3></dt>
20 </dl></dd>
21 <dt><h2><a href="stealth02.html#l3">Chapter 2: Installation</a></h2></dt>
22 <dd><dl>
23 <dt><h3><a href="stealth02.html#l4">2.1: Compiling and installing Stealth</a></h3></dt>
24 </dl></dd>
25 <dt><h2><a href="stealth03.html#l5">Chapter 3: Granting access</a></h2></dt>
26 <dd><dl>
27 <dd><dl>
28 <dt><a href="stealth03.html#l6">3.0.1: The monitor's user: creating an ssh-key</a></dt>
29 <dt><a href="stealth03.html#l7">3.0.2: The client's account: accepting ssh from the monitor's user</a></dt>
30 <dt><a href="stealth03.html#l8">3.0.3: Logging into the account@client account</a></dt>
31 <dt><a href="stealth03.html#l9">3.0.4: Using the proper shell</a></dt>
32 </dl></dd>
33 </dl></dd>
34 <dt><h2><a href="stealth04.html#l10">Chapter 4: The `policy' file</a></h2></dt>
35 <dd><dl>
36 <dt><h3><a href="stealth04.html#l11">4.1: DEFINE directives</a></h3></dt>
37 <dt><h3><a href="stealth04.html#l12">4.2: USE directives</a></h3></dt>
38 <dt><h3><a href="stealth04.html#l13">4.3: Commands</a></h3></dt>
39 <dd><dl>
40 <dt><a href="stealth04.html#l14">4.3.1: LABEL commands</a></dt>
41 <dt><a href="stealth04.html#l15">4.3.2: LOCAL commands</a></dt>
42 <dt><a href="stealth04.html#l16">4.3.3: REMOTE commands</a></dt>
43 <dt><a href="stealth04.html#l17">4.3.4: Preventing Controller Denial of Service (--max-size)</a></dt>
44 </dl></dd>
45 </dl></dd>
46 <dt><h2><a href="stealth05.html#l18">Chapter 5: Running `stealth'</a></h2></dt>
47 <dd><dl>
48 <dt><h3><a href="stealth05.html#l19">5.1: Installing `stealth'</a></h3></dt>
49 <dt><h3><a href="stealth05.html#l20">5.2: Stealth command-line and policy file options</a></h3></dt>
50 <dd><dl>
51 <dt><a href="stealth05.html#l21">5.2.1: Rsyslog filtering</a></dt>
52 </dl></dd>
53 <dt><h3><a href="stealth05.html#l22">5.3: Construct one or more policy files</a></h3></dt>
54 <dd><dl>
55 <dt><a href="stealth05.html#l23">5.3.1: DEFINE directives</a></dt>
56 <dt><a href="stealth05.html#l24">5.3.2: USE directives</a></dt>
57 <dt><a href="stealth05.html#l25">5.3.3: Commands</a></dt>
58 <dd><dl>
59 <dt><a href="stealth05.html#l26">5.3.3.1: Obtaining the client's sha1sum program</a></dt>
60 <dt><a href="stealth05.html#l27">5.3.3.2: Checking the integrity of the client's sha1sum program</a></dt>
61 <dt><a href="stealth05.html#l28">5.3.3.3: Checking the client's /usr/bin/find program</a></dt>
62 <dt><a href="stealth05.html#l29">5.3.3.4: Checking the client's setuid/setgid files</a></dt>
63 <dt><a href="stealth05.html#l30">5.3.3.5: Checking the configuration files in the client's /etc/ directory</a></dt>
64 </dl></dd>
65 <dt><a href="stealth05.html#l31">5.3.4: The complete `policy' file</a></dt>
66 </dl></dd>
67 <dt><h3><a href="stealth05.html#l32">5.4: Running `stealth' for the first time</a></h3></dt>
68 <dd><dl>
69 <dt><a href="stealth05.html#l33">5.4.1: The mailed report</a></dt>
70 <dt><a href="stealth05.html#l34">5.4.2: Files under /root/stealth/client</a></dt>
71 </dl></dd>
72 <dt><h3><a href="stealth05.html#l35">5.5: Subsequent `stealth' runs</a></h3></dt>
73 <dd><dl>
74 <dt><a href="stealth05.html#l36">5.5.1: All files unaltered</a></dt>
75 <dt><a href="stealth05.html#l37">5.5.2: Modifications occurred</a></dt>
76 <dt><a href="stealth05.html#l38">5.5.3: Failing LOCAL commands</a></dt>
77 <dt><a href="stealth05.html#l39">5.5.4: Skipping (some) integrity checks</a></dt>
78 </dl></dd>
79 <dt><h3><a href="stealth05.html#l40">5.6: Automating repeated `stealth' runs</a></h3></dt>
80 <dt><h3><a href="stealth05.html#l41">5.7: Report File Rotation</a></h3></dt>
81 <dd><dl>
82 <dt><a href="stealth05.html#l42">5.7.1: Status file cleanup</a></dt>
83 <dt><a href="stealth05.html#l43">5.7.2: Using `logrotate' to control report- and status files</a></dt>
84 </dl></dd>
85 </dl></dd>
86 <dt><h2><a href="stealth06.html#l44">Chapter 6: Kick-starting `stealth'</a></h2></dt>
87 <dt><h2><a href="stealth07.html#l45">Chapter 7: Usage info</a></h2></dt>
88 <dt><h2><a href="stealth08.html#l46">Chapter 8: Errormessages</a></h2></dt>
89 </dl>
90
91 <p><hr/><p>
92 <p>
93 </body>
94 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth02.html">Next Chapter</a>
13 </ul>
14 <hr>
15 <a name="l1"></a>
16 <h1 >Chapter 1: Introduction</h1>
17 Welcome to <strong >stealth</strong>. The program <strong >stealth</strong> implements a file integrity
18 scanner. The acronym <strong >stealth</strong> can be expanded to
19 <p>
20 <div style="text-align: center">
21 <h2 >SSH-based Trust Enforcement Acquired through a Locally Trusted Host.</h2>
22 </div>
23 <p>
24 This expansion contains the following key terms:
25 <p>
26 <ul>
27 <li> <code >SSH-based</code>: The file integrity scan is (usually) performed over an
28 ssh-connection. Usually the computer being scanned (called the <em >client</em>) and
29 the computer initiating the scan (called the <code >monitor</code>) are different
30 computers.
31 <li> The client should accept incoming ssh-connections from the
32 monitor. The monitor doesn't have to (and shouldn't, probably).
33 <li> <code >Trust Enforcement</code>: following the scan, `trust' is enforced in the
34 client, due to the integrity of its files.
35 <li> <code >Locally Trusted Host</code>: the client apparently trusts the monitor
36 to use an ssh-connection to perform commands on it. The client therefore
37 <em >locally trusts</em> the monitor. Hence, <em >locally trusted host</em>.
38 </ul>
39 <p>
40 <strong >stealth</strong> is based on an idea by <em >Hans Gankema</em> and <em >Kees Visser</em>,
41 both at the Center for Information Technology of the University of Groningen.
42 <p>
43 <strong >stealth</strong>'s main task is to perform file integrity tests. However, the
44 testing will leave virtually no sediments on the tested computer. Therefore,
45 <strong >stealth</strong> has <em >stealthy</em> characteristics. I consider this an important
46 security improving feature of <strong >stealth</strong>.
47 <p>
48 The monitor itself only needs two kinds of outgoing services:
49 <strong >ssh</strong>(1) to reach its clients, and some mail transport agent (e.g.,
50 <strong >sendmail</strong>(1)) to forward its outgoing mail to some mail-hub.
51 <p>
52 Here is what happens when <strong >stealth</strong> is run:
53 <ul>
54 <li> First, the <em >policy</em> file is read. For each client a policy file is
55 defined, specifying the actions to be performed, and specifying the values of
56 several variables used by <strong >stealth</strong>.
57 <p>
58 <li> If the command-line option <code >--daemon &lt;uds&gt;</code> is specified, <strong >stealth</strong>
59 runs as a daemon process, using the Unix Domain Socket (<code >&lt;uds&gt;</code>) for
60 communication with <strong >stealth</strong> processes running in IPC mode.
61 <p>
62 If access to the Unix Domain Socket defined by Stealth running in daemon mode
63 should be restricted, it can be defined in a directory with is only accessible
64 to the user running Stealth (this will often be the root-user).
65 <p>
66 When running in daemon mode, <code >--repeat &lt;seconds&gt;</code> may be specified to rerun
67 the integrity scan every <code >&lt;seconds&gt;</code> seconds. If an integrity scan is being
68 performed when, according to the repeat interval the next integrity scan is
69 due, then the current scan is first completed. Once completed, the next
70 integrity scan will be performed after <code >seconds</code> seconds.
71 <p>
72 <li> Next, the monitor opens a command shell on the client using
73 <strong >ssh</strong>(1), and a command shell on the monitor computer itself using
74 <strong >sh</strong>(1).
75 <p>
76 <li> Once the command shells are available, commands defined in the policy
77 file are executed in their order of appearance. Examples are given
78 below. Normally, return values of the programs are tested. When return values
79 are to be tested <strong >stealth</strong> terminates when a non-zero return value is sensed. If
80 this happens, a message stating the reason why <strong >stealth</strong> terminated is written to
81 the report file (and into the mail sent by <strong >stealth</strong>). In some cases (e.g., when the
82 report file could not be written), the message is written to the standard
83 error stream.
84 <p>
85 <li> Very often integrity tests can be controlled using <strong >find</strong>(1),
86 calling programs like <strong >ls</strong>(1), <strong >sha1sum</strong>(1) or its own <code >-printf</code> method
87 to produce file-integrity related statistics. Most of these programs write
88 file names at the end of generated lines. This characteristic is used by one
89 of <strong >stealth</strong>'s internal routines to detect changes in the generated output. Such
90 changes could indicate some harmful intent, like an installed <em >root-kit</em>.
91 <p>
92 <li> When changes are detected, they are logged in a <em >report file</em>, to
93 which information is always appended. <strong >Stealth</strong> never reduces the report file's size
94 or rewrites its contents. When information is added to the report file (beyond
95 a plain time stamp) the newly added information is e-mailed to a configurable
96 e-mail address for further (human) processing. Usually the e-mail is sent to
97 the systems manager of the tested client. <strong >Stealth</strong> follows the `dark cockpit'
98 approach in the sense that no mail is sent when no changes were detected.
99 <p>
100 <li> Report and other log-files may safely be rotated between a pair of
101 <code >--suspend</code> and <code >--resume</code> commands (see below at the section
102 <a href="stealth05.html#ROTATE">5.7</a>).
103 </ul>
104 <p>
105 Instead of running in daemon mode, <strong >stealth</strong> may also run in `foreground' mode.
106 In foreground mode the option <code >--daemon</code> is not specified. When running in
107 foreground mode <strong >stealth</strong> either performs one integrity scan (and terminates) or, if
108 the <code >--repeat</code> option has been specified, it repeatedly performs integrity
109 scans, at intervals determined by the <code >--repeat</code> and <code >--random-interval</code>
110 options. When <code >--repeat</code> is specified with <strong >stealth</strong> running in foreground mode a
111 prompt is shown (i.e., `<code >? </code>') with <strong >stealth</strong> terminating after pressing the
112 <code >Enter</code>-key.
113 <p>
114 Alternatively, <strong >stealth</strong> may run in `inter process communication' mode (IPC
115 mode). IPC mode is characterized by using one of the command-line options
116 <code >--reload, --rerun, --suspend, --resume</code> or <code >--terminate</code>. In IPC-mode <strong >stealth</strong>
117 communicates with an existing <strong >stealth</strong> daemon, using the Unix Domain Socket defined
118 by the <strong >stealth</strong> daemon. These options require but one argument: the location of the
119 Unix Domain Socket defined by a running <strong >stealth</strong> daemon.
120 <ul>
121 <li> When started using the <code >--reload &lt;uds&gt;</code> command-line option, the
122 stealth daemon that created the Unix Domain Socket reloads its policy file
123 (and skip-file), immediately followed by another integrity scan;
124 <li> When started using the <code >--rerun &lt;uds&gt;</code> command-line option, the
125 stealth daemon that created the Unix Domain Socket performs another integrity
126 scan;
127 <li> When started using the <code >--terminate &lt;usd&gt;</code> command-line option, the
128 stealth daemon that created the Unix Domain Socket terminates.
129 </ul>
130 <p>
131 The options <code >--suspend</code> and <code >--resume</code> (see section <a href="stealth05.html#ROTATE">5.7</a>) were
132 implemented to allow safe rotations of <strong >stealth</strong>'s log-files.
133 <p>
134 <a name="l2"></a>
135 <h2 >1.1: What's new in Stealth V.4.01.06</h2>
136 With 4.00.00:
137 <p>
138 <ul>
139 <li> Version 3.00.00 was only short-lived. The inter-process communication
140 using signals never ran smoothly. Version 4.00.00 re-implements <strong >stealth</strong>'s
141 inter-process communication using Unix Domain Sockets.
142 <li> Previously required absolute file paths are no longer required. When
143 relative file paths are used with the <strong >stealth</strong> daemon or with <strong >stealth</strong>
144 performing an integrity scan as foreground process they are
145 interpreted relatively to the current working directory. Relative
146 file locations for options specified in the second section of the
147 policy file are interpreted relative to the location of the policy
148 file, and relative path specifications used in the first section of
149 the policy file are interpreted relative to the policy file's <code >USE
150 BASE</code>.
151 <li> The README.flow file is provided with several separately provided
152 illustrative images in the distribution-provided directory
153 <code >documentation/images</code>.
154 <li> Specifications for the logrotate specifications should use
155 '<code >copytruncate</code>' and '<code >sharedscripts</code>' (see section <a href="stealth05.html#ROTATE">5.7</a>
156 for an example)
157 <li> Examples in the manual still use <code >sha1sum</code> when checking hash
158 values. Stronger hash functions (like <code >sha256sum</code>) might be
159 preferred in practice. When updating existing policy files to use
160 <code >sha256sum</code> rather than <code >sha1sum</code> realize that <code >sha256sum's</code>
161 hash values are longer than <code >sha1sum's</code> hash values, and that
162 therefore log files obtained when <code >sha1sum</code> was used are
163 incompatible with log files obtained when <code >sha256sum</code> was used. In
164 practice this means that new log files need to be generated,
165 disregarding any previously geneerated log files.
166 </ul>
167 <p>
168 <hr>
169 <ul>
170 <li> <a href="stealth.html">Table of Contents</a>
171 <li> <a href="stealth02.html">Next Chapter</a>
172 </ul>
173 <hr>
174 </body>
175 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth01.html">Previous Chapter</a>
13 <li> <a href="stealth03.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="l3"></a>
17 <h1 >Chapter 2: Installation</h1>
18 This chapter describes <strong >stealth</strong>'s compilation and installation.
19 <p>
20 <a name="COMPILING"></a><a name="l4"></a>
21 <h2 >2.1: Compiling and installing Stealth</h2>
22 After downloading the <strong >stealth</strong> archive, it should be unpacked. The name of
23 the archive is of the form <code >stealth-4.01.06.tar.gz</code>, where <code >4.01.06</code>
24 is a version number. Below, <code >4.01.06</code> should be altered into the version
25 of the archive that is actually used.
26 <p>
27 Required, non-standard software, for compiling <strong >stealth</strong> is summarized in the file
28 <code >required</code>, which is included in the source file distribution. Currently,
29 its contents are:
30 <p>
31 <pre >
32 This file lists non-standard software only. Thus, standard utilities like cp,
33 mv, sed, etc, etc, are not explicitly mentioned. Neither is the gcc compiler
34 explicitly mentioned, but a fairly recent one is assumed.
35
36 Required software for building Stealth:
37 ---------------------------------------
38
39 libbobcat-dev (&gt;= 4.02.00)
40 icmake (&gt;= 8.01.00)
41 yodl (&gt;= 3.08.01)
42
43 To construct the user guide:
44
45 texlive-latex-base,
46 texlive-generic-recommended,
47 texlive-latex-recommended,
48 texlive-fonts-recommended,
49 cm-super-minimal,
50 ghostscript
51
52
53 </pre>
54
55 <p>
56 <ul>
57 <li> <strong >Stealth</strong> compilation is controlled by <strong >icmake</strong>(1). The program
58 maintenance utility <strong >icmake</strong>(1) can be obtained at
59 <a href="https://fbb-git.github.io/icmake/">https://fbb-git.github.io/icmake/</a>, and it is also available in several
60 Linux distributions (e.g., Debian, Ubuntu);
61 <p>
62 <li> Determine a directory where the files in <strong >stealth</strong>'s archive ashould be
63 stored. E.g., if the files in the archive should be stored under <code >/tmp</code>
64 (and assuming the archive itself is stored in <code >/tmp</code> as well) then do:
65 <pre>
66
67 cd /tmp
68 tar xzf stealth-_CurVers_.tar.gz
69
70 </pre>
71
72 This creates a subdirectory <code >stealth</code> containing <strong >stealth</strong>'s sources;
73 <p>
74 <li> Change-dir to that directory:
75 <pre>
76
77 chdir stealth
78
79 </pre>
80
81 <p>
82 <li> Check the contents of the files <code >INSTALL.im</code> and <code >icmconf</code>, and
83 verify that all <code >#defines</code> match your computer's file system and
84 software.
85 <p>
86 When compiling <strong >stealth</strong>, the
87 <a href="https://fbb-git.github.io/bobcat/">bobcat</a> header files must be
88 available. When <strong >stealth</strong> is run it is dynamically linked against the bobcat
89 library. <strong >Bobcat</strong> can be downloaded from
90 <a href="https://github.com/fbb-git/bobcat/">https://github.com/fbb-git/bobcat/</a> (and follow its installation
91 instructions). Alternatively, bobcat may be available in your distribution,
92 (e.g., Debian or Ubuntu). Make sure to install both the run-time
93 (<strong >bobcat_...</strong>) and the development (<strong >bobcat-dev_...</strong>) versions.
94 <p>
95 <li> Execute the command
96 <pre>
97
98 ./build program strip
99
100 </pre>
101
102 This command by default creates the
103 program <strong >./tmp/bin/binary</strong>.
104 <p>
105 <li> To install <strong >stealth</strong> and its documentation, several commands are available:
106 <pre>
107
108 ./build install program [path] - installs the program as `path'
109 (by default as `/usr/bin/stealth')
110 ./build install man [base] - install the man pages below `base'
111 (by default below `/usr/share/man/man1')
112 ./build install manual [base]- install the manual below `base'
113 (by default below
114 `/usr/share/doc/stealth-doc/manual')
115 ./build install std [base] - install standard docs below `base'
116 (by default below `/usr/share/doc/stealth')
117 ./build install extra [base] - install extra docs below `base'
118 (by default below
119 `/usr/share/doc/stealth-doc')
120
121 </pre>
122
123 </ul>
124 <p>
125 <hr>
126 <ul>
127 <li> <a href="stealth.html">Table of Contents</a>
128 <li> <a href="stealth01.html">Previous Chapter</a>
129 <li> <a href="stealth03.html">Next Chapter</a>
130 </ul>
131 <hr>
132 </body>
133 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth02.html">Previous Chapter</a>
13 <li> <a href="stealth04.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="l5"></a>
17 <h1 >Chapter 3: Granting access</h1>
18 Access to clients should be granted using the <code >ssh</code> protocol.
19 <p>
20 Clients must allow the monitor to connect using <code >ssh</code>. <strong >Stealth</strong> connects to its
21 clients using ssh certificates, after the monitor's public SSH-key has been
22 transferred to the clients.
23 <p>
24 <a name="l6"></a>
25 <h3 >3.0.1: The monitor's user: creating an ssh-key</h3>
26 The monitor's user calling <strong >stealth</strong> to scan the client must first generate
27 an <code >ssh-keypair</code>:
28 <pre>
29 ssh-keygen -t rsa
30 </pre>
31
32 By default this generates a public/private ssh key-pair in the directory
33 <code >.ssh</code> in the user's home directory. The program asks for a
34 <em >passphrase</em>. A passphrase can be defined (in which case it must be proviced
35 when <strong >stealth</strong> is started) or, if the security if the monitor is sufficiently
36 guaranteed, it can remain empty. To generate an ssh-key without passphrase
37 simply press <code >Enter</code> in response to the question
38 <pre>
39 Enter passphrase (empty for no passphrase):
40 </pre>
41
42 (a confirmation is required: just press <code >Enter</code> again).
43 <p>
44 <code >Ssh-keygen</code> then returns a key fingerprint, e.g.,
45 <pre>
46 03:96:49:63:8a:64:33:45:79:ab:ca:de:c8:c8:4f:e9 user@monitor
47 </pre>
48
49 which may be saved for future reference.
50 <p>
51 In the user's <code >.ssh</code> directory the files <code >id_rsa</code> and <code >id_rsa.pub</code>
52 are now created, which completes the preparations at the monitor.
53 <p>
54 If, instead of running <strong >stealth</strong> in daemon mode it is preferred to let <strong >stealth</strong> perform
55 single, but automated integrity scans, then new <strong >ssh</strong>(1) connections may be
56 difficult to establish if the used ssh-key is passphrase-protected. To
57 implement this scenario (i.e., automated integrity scans using passphrase
58 protected ssh-keys) the program <strong >ssh-cron</strong>(1) can profitably be used.
59 <p>
60 <a name="l7"></a>
61 <h3 >3.0.2: The client's account: accepting ssh from the monitor's user</h3>
62 Next, at the client's account where <strong >stealth</strong>'s <code >ssh</code> command connects to (see
63 also the <code >USE SSH</code> specification in section <a href="stealth04.html#USE">4.2</a>) ssh-access must be
64 granted to the monitor's user. To do so, the monitor user's file
65 <code >~/.ssh/id_rsa.pub</code> is added to the client account user's file
66 <code >~/.ssh/authorized_keys</code>:
67 <pre>
68 # transfer user@monitor's file id_rsa.pub to the client's /tmp
69 # directory. Then do:
70
71 cat /tmp/id_rsa.pub &gt;&gt; /home/account/.ssh/authorized_keys
72 </pre>
73
74 <p>
75 This allows the user at the monitor to login at the account at the
76 client without specifying the client account's password (of course, if the
77 ssh-key is passphrase protected that passphrase must still be provided at the
78 monitor when starting <strong >stealth</strong>).
79 <p>
80 <a name="l8"></a>
81 <h3 >3.0.3: Logging into the account@client account</h3>
82 When user@monitor now issues, for the first time, the command
83 <pre>
84 ssh account@monitor
85 </pre>
86
87 <code >Ssh</code> responds like this:
88 <pre>
89 The authenticity of host 'monitor (xxx.yyy.aaa.bbb)' can't be
90 established.
91 RSA key fingerprint is c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be.
92 Are you sure you want to continue connecting (yes/no)?
93 </pre>
94
95 Answering <code >yes</code> results in the message:
96 <pre>
97 Warning: Permanently added 'monitor,xxx.yyy.aaa.bbb' (RSA) to the
98 list of known hosts.
99 </pre>
100
101 <p>
102 The next time a login is attempted, the authenticity question is not asked
103 anyore. However, the proper value of the host's RSA key fingerprint (i.e., the
104 key fingerprint of the <em >client</em> computer) should <em >always</em> be verified to
105 prevent <em >man in the middle</em> attacks. The proper value may be obtained at the
106 client by issuing there the command
107 <pre>
108 ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
109 </pre>
110
111 This should show the same value of the fingerprint as shown when the
112 first <code >ssh</code> connection was established. E.g.,
113 <pre>
114
115 1024 c4:52:d6:a3:d4:65:0d:5e:2e:66:d8:ab:de:ad:12:be ssh_host_rsa_key.pub
116 </pre>
117
118 <p>
119 <a name="l9"></a>
120 <h3 >3.0.4: Using the proper shell</h3>
121 On order to minimize the amount of clutter and possibly complications when
122 only a simple command-shell is required for executing commands, it is
123 suggested to use a <strong >bash</strong>(1) shell when logging into <code >account@client</code>'s
124 account.
125 <p>
126 When another shell is already used for <code >account@client</code>, then an extra
127 account (optionally using the same <code >UID</code> as the original account, but using
128 <strong >sh</strong>(1) as the shell), could be defined in the client's <code >/etc/passwd</code>
129 file. In the <strong >passwd</strong>(5) file this could, e.g., be realized for <em >root</em> as
130 <em >rootsh</em> as follows:<br/>
131 <pre>
132 rootsh:x:0:0:root:/root:/bin/bash
133 </pre>
134
135 If shadow passwording is used, a matching entry in the <code >/etc/shadow</code>
136 file is required as well.
137 <p>
138 <hr>
139 <ul>
140 <li> <a href="stealth.html">Table of Contents</a>
141 <li> <a href="stealth02.html">Previous Chapter</a>
142 <li> <a href="stealth04.html">Next Chapter</a>
143 </ul>
144 <hr>
145 </body>
146 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth03.html">Previous Chapter</a>
13 <li> <a href="stealth05.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="l10"></a>
17 <h1 >Chapter 4: The `policy' file</h1>
18 <strong >Stealth</strong> uses a policy file consisting of two sections, the second
19 section is optional, and starts at a line merely containing <code >%%</code>.
20 <p>
21 Each policy file is uniquely associated with a host to be tested. Each host
22 may have multiple policy files, though. In that case, each policy file defines
23 its own set of checks to be performed.
24 <p>
25 <ul>
26 <li> The policy file's first section consists of two sets of data: <em >use
27 directives</em> (starting with the keyword <strong >USE</strong>) and <em >commands</em>.
28 <p>
29 <li> The (optional) second section starts at a line merely containing
30 <code >%%</code>. Following this separating line several long option specifications can
31 be entered (cf. section <a href="stealth05.html#OPTIONS">5.2</a>). Options
32 specified on the command-line take priority over options specified
33 in the policy file. Although the <code >--reload</code> option reloads the policy file,
34 it will not change option values originally specified as command-line options.
35 <p>
36 This section may contain specifications of the <code >skip-files</code> and <code >log</code>
37 options. Relative file locations specified for these options are interpreted
38 relative to the location of the policy file. E.g., if the policy file argument
39 is specified as <code >/root/client/policy</code> then the specification <code >log:
40 client.log</code> results in <strong >stealth</strong> writing its logs into the file
41 <code >/root/client/client.log</code>.
42 </ul>
43 <p>
44 The policy file's first section consists of three sets of data: <em >define
45 directives</em> (starting with the keyword <strong >DEFINE</strong>), <em >use directives</em>
46 (starting with the keyword <strong >USE</strong>) and <em >commands</em>.
47 <p>
48 Directives are written in capitals, and should appear exactly as written
49 below.
50 <p>
51 Blank lines and information beyond hash-marks (#) are ignored, while lines
52 following lines terminating in backslashes (\ ) will be concatenated (<em >en
53 passant</em> removing these backslashes). Leading white space on lines of the
54 policy file is ignored.
55 <p>
56 <a name="l11"></a>
57 <h2 >4.1: DEFINE directives</h2>
58 <code >DEFINE</code> directives can be used to define symbols for longer strings.
59 A <code >DEFINE</code> directive is constructed as follows:
60 <pre>
61 DEFINE name that what is defined by `name'
62 </pre>
63
64 Here,
65 <ul>
66 <li> the <code >name</code> following <code >DEFINE</code> is the symbol that may be used in
67 <code >USE</code> directives (see below) and <code >commands</code> (see below).
68 <li> <code >DEFINE</code> symbols can be used in other <code >DEFINE</code> symbols. However,
69 it is the responsibility of the policy file's author to make sure that
70 (indirect) circular definitions are avoided. E.g., after:
71 <pre>
72 DEFINE A ${B}
73 DEFINE B ${A}
74 DEFINE C ${C}
75
76 USE MAILARGS ${A} ${B} ${C}
77 </pre>
78
79 <code >MAILARGS</code> will be expanded to
80 <pre>
81 ${A} ${A} ${C}
82 </pre>
83
84 <li> The text following <code >DEFINE name</code> is then inserted literally into
85 the <code >USE</code> directive or <code >command</code>.
86 <p>
87 Example:
88 <pre>
89 DEFINE SSH /usr/bin/ssh frank@localhost -q
90 DEFINE EXECSHA1 -xdev -perm /111 -type f -exec /usr/bin/sha1sum {} \;
91 </pre>
92
93 The symbols defined by <code >DEFINE</code> directives may consist of letters,
94 digits and the underscore characters (<code >_</code>). In the definition of the symbol
95 any character can be used. However, initial and/or trailing blanks are removed
96 from definitions.
97 <p>
98 To insert a definition into a <code >USE</code> directive or <code >command</code> use the form
99 <pre>
100 ${name}
101 </pre>
102
103 E.g., <code >${EXECSHA1}</code>. Concrete examples are provided below.
104 </ul>
105 <p>
106 <a name="USE"></a><a name="l12"></a>
107 <h2 >4.2: USE directives</h2>
108 <code >USE</code> directives provide <strong >stealth</strong> with arguments which
109 may be conditional to a certain installation. The following <strong >USE</strong> directives
110 are supported:
111 <ul>
112 <li> <strong >USE BASE</strong> <code >basedirectory</code>
113 <p>
114 <strong >BASE</strong> defines the directory from where <strong >stealth</strong> operates. All relative
115 path specifications in this section of the policy file are interpreted
116 relative to <strong >BASE</strong>. <em >By default</em> this is the directory where <strong >stealth</strong> was
117 started.
118 <p>
119 If necessary, <strong >stealth</strong> creates all <strong >BASE</strong> and other directories below
120 <code >BASE</code>.
121 <p>
122 Example: using the specification
123 <pre>
124 USE BASE /root/client
125 </pre>
126
127 results in all information generated by <strong >stealth</strong> being written in or below the
128 directory <code >/root/client</code>.
129 <p>
130 <li> <strong >USE DD</strong> <code >&lt;dd&gt;</code><br/>
131 The <strong >DD</strong> specification uses <code >/bin/dd</code> as default, and defines the
132 location of the <strong >dd</strong>(1) program, both on the server and on the client. The
133 <strong >DD</strong> program is used to copy files between the client and the monitor
134 without creating separate ssh-connections. The <strong >DD</strong> program is only
135 used by <strong >stealth</strong> for the <code >PUT</code> and <code >GET</code> commands, described below.
136 <p>
137 Example showing the default:<pre>
138 USE DD /bin/dd
139 </pre>
140
141 <p>
142 <li> <strong >USE DIFF</strong> <code >path-to-diff</code>
143 <p>
144 The <strong >DIFF</strong> specification uses <code >/usr/bin/diff</code> as default,
145 and defines the location of the <strong >diff</strong>(1) program. The
146 <strong >diff</strong>(1) program is used to compare a formerly created logfile of an
147 integrity check to a newly created logfile.
148 <p>
149 Example showing the default:
150 <pre>
151 USE DIFF /usr/bin/diff
152 </pre>
153
154 <p>
155 <li> <strong >USE DIFFPREFIX</strong> <code >&lt;prefix&gt;</code>
156 <p>
157 The <strong >DIFFPREFIX</strong> specification defines the size of the prefix added
158 by the <code >DIFF</code> command to lines produced by commands executed through <strong >stealth</strong>.
159 The default <code >/usr/bin/diff</code> program prefixes lines by either `<code >&gt; </code>' or
160 `<code >&lt; </code>'. The default value for <code >&lt;prefix&gt;</code> therefore equals 2.
161 <p>
162 Example showing the default:
163 <pre>
164 USE DIFFPREFIX 2
165 </pre>
166
167 <p>
168 <li> <strong >USE EMAIL</strong> <code >address</code>
169 <p>
170 The <strong >EMAIL</strong> specification defines the email-address to e-mail the
171 client's integrity scan report to. Mail is only sent when information has
172 changed.
173 <p>
174 Example showing the default:
175 <pre>
176 USE EMAIL root
177 </pre>
178
179 <p>
180 <li> <strong >USE MAILER</strong> <code >mailer</code>
181 <p>
182 The <strong >MAILER</strong> specification defines the program that is used to send
183 the mail to the <strong >EMAIL</strong>-address. By default this is <strong >/usr/bin/mail</strong>(1).
184 The <strong >MAILER</strong> program is called as follows:
185 <pre>
186 MAILER MAILARGS EMAIL
187 </pre>
188
189 (<code >MAILARGS</code>: see below). The information to be mailed is read from
190 <code >MAILER</code>'s standard input stream.
191 <p>
192 Example showing the default:
193 <pre>
194 USE MAILER /usr/bin/mail
195 </pre>
196
197 <p>
198 <li> <strong >USE MAILARGS</strong> <code >arguments</code>
199 The <strong >MAILARGS</strong> specification defines the arguments to be
200 to be passed to the <code >MAILER</code> program. By default this is
201 <pre>
202 USE MAILARGS -s "STEALTH scan report"
203 </pre>
204
205 Note that blanks may be used in the subject specification: use double or
206 single quotes to define elements containing blanks. Use <code >\"</code> to use a double
207 quote in a string that is itself delimited by double quotes, use <code >\'</code> to use
208 a single quote in a string that is itself delimited by single quotes.
209 <p>
210 Subtlety: in constructions like
211 <pre>
212 USE MAILARGS " 't was brillig " and 't went well
213 </pre>
214
215 the following arguments are passed to <code >MAILER</code>:
216 <ul>
217 <li> <code >" 't was brillig "</code>
218 <li> <code >and</code>
219 <li> <code >'t</code>
220 <li> <code >went</code>
221 <li> <code >well</code>
222 </ul>
223 So, when single- and double-quoted strings overlap, the first string is
224 taken as a string, and the information beyond the first string is thereupon
225 interpreted.
226 <p>
227 <li> <strong >USE REPORT</strong> <code >&lt;file-spec&gt;</code><br/>
228 <strong >REPORT</strong> defines the name of the reportfile. Information is always
229 appended to this file. At each <strong >stealth</strong> integrity scan a <em >time marker line</em> is
230 written to the report file. Only when (in addition to the marker line)
231 additional information is appended to the report file the added contents of
232 the report file are mailed to the mail address specified in the <strong >USE EMAIL</strong>
233 specification. When a relative file specification is used it is interpreted a
234 location relative to the <code >USE BASE</code> specification.<br/>
235 Example showing the default:<br/>
236 <code >USE REPORT report</code>
237 <p>
238 <li> <strong >USE SH</strong> <code >&lt;sh&gt;</code><br/>
239 The <strong >SH</strong> specification uses <code >/bin/sh</code> as default, and defines the
240 command shell used by the monitor to execute commands on itself. This must be
241 an absolute path specification.<br/>
242 Example showing the default:<br/>
243 <code >USE SH /bin/sh</code>
244 <p>
245 <li> <strong >USE SSH</strong> <code >&lt;user&gt;</code><br/>
246 <strong >The SSH specification has no default</strong>, and <em >must</em> be
247 specified. This must be an absolute path specification.
248 <p>
249 Assuming the client <em >trusts</em> the monitor (which is after all what this
250 program is all about, so this should not be a very strong assumption),
251 preferably the public ssh key of the monitor should be placed in the
252 client's root <code >.ssh/authorized_keys</code> file, granting the monitor root access
253 to the client. Root access is normally needed to gain access to all
254 directories and files of the client's file system.
255 <p>
256 In practice, connecting to an account using the <strong >sh</strong>(1) shell is
257 preferred. When another shell is already used by that account, one should make
258 sure that its shell doesn't define its own redirections for standard input
259 and standard output. One way to accomplish that is for force the execution of
260 <code >/bin/sh</code> in the <strong >USE SSH</strong> specification.
261 <p>
262 An example of an <code >SSH</code> specification to scan a localhost is:
263 <pre>
264
265 USE SSH root@localhost -T -q # root's shell is /bin/sh
266 </pre>
267
268 <p>
269 The same, now explicitly using <code >/bin/bash</code>:
270 <pre>
271
272 USE SSH root@localhost -T -q exec /bin/bash # root uses another shell
273 </pre>
274
275 <p>
276 Alternatively, <code >--noprofile</code> can be specified to prevent any
277 profile-initialization:
278 <pre>
279
280 USE SSH root@localhost -T -q exec /bin/bash --noprofile
281 </pre>
282
283 </ul>
284 <p>
285 In some installations <strong >stealth</strong> is used to inspect the monitor itself, even
286 though this is <em >not</em> recommended, as it breaks one of the main reasons for
287 <strong >stealth</strong>'s existence. But in those situations (so, where <strong >stealth</strong> is used to monitor the
288 integrity of the <code >localhost</code>), <code >/bin/bash</code> could be specified at the
289 <code >USE SSH</code> directive. For example:
290 <pre>
291 # For stealth inspecting localhost:
292 USE SSH /bin/bash --noprofile
293 </pre>
294
295 <p>
296 <a name="COMMANDS"></a><a name="l13"></a>
297 <h2 >4.3: Commands</h2>
298 Following the <strong >USE</strong> specifications, <em >commands</em> can be specified. The
299 commands are executed in their order of appearance in the policy
300 file. Processing continues until the last command has been processed or until
301 a tested command (see below) returns a non-zero return value.
302 <p>
303 <a name="l14"></a>
304 <h3 >4.3.1: LABEL commands</h3>
305 The following <strong >LABEL</strong> commands are available:
306 <ul>
307 <li> <strong >LABEL</strong> <code >text</code>
308 <p>
309 This defines a text-label which is written to the <strong >REPORT</strong> file,
310 just before the output generated by the next <strong >CHECK</strong>-command. If the next
311 <strong >CHECK</strong>-command generates no output, the label is not written to the
312 <strong >REPORT</strong>-file. Once a <strong >LABEL</strong> has been defined, it is used until it is
313 redefined by the next <strong >LABEL</strong> command. Use an empty <strong >LABEL</strong> command to
314 suppress printing labels.
315 <p>
316 The text may contain <code >\n</code> characters (two characters) which are
317 transformed to a newline character.
318 <li> <strong >LABEL</strong>
319 <p>
320 As noted, this clears a previously defined <code >LABEL</code> command.
321 </ul>
322 <p>
323 Examples:
324 <pre>
325
326 LABEL Inspecting files in /etc\nIncluding subdirectories
327 LABEL
328 </pre>
329
330 The latter <strong >LABEL</strong> command clears the text of the former <strong >LABEL</strong>
331 command.
332 <p>
333 <a name="l15"></a>
334 <h3 >4.3.2: LOCAL commands</h3>
335 <strong >LOCAL</strong> commands can be used to specify commands that are
336 executed on the monitor itself. The following <strong >LOCAL</strong> commands are
337 available:
338 <ul>
339 <li> <strong >LOCAL</strong> <code >command</code>
340 <p>
341 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
342 shell. The command must succeed (i.e., must return a zero exit value).
343 Example:
344 <pre>
345 LOCAL mkdir /tmp/client
346 </pre>
347
348 This command creates the directory <code >/tmp/client</code> on the monitor.
349 <p>
350 <li> <strong >LOCAL NOTEST</strong> <code >command</code>
351 <p>
352 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
353 shell. The command may or may not succeed.
354 Example:
355 <pre>
356 LOCAL NOTEST mkdir /tmp/subdir
357 </pre>
358
359 This command creates <code >/tmp/subdir</code> on the monitor. The command
360 fails if the directory cannot be created, but this does not terminate
361 <strong >stealth</strong>.
362 <p>
363 <li> <strong >LOCAL CHECK</strong> [<strong >LOG =</strong>] <code >logfile [pathOffset] command</code>
364 <p>
365 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
366 shell. The command must succeed. The output of this command is compared to the
367 output of this command generated during the previous integrity check run by
368 <strong >stealth</strong>.
369 <p>
370 The phrase <strong >LOG =</strong> is optional. When a relative file location is
371 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
372 path specification.
373 <p>
374 <code >PathOffset</code> is also optional. If specified it defines the (0-based)
375 offset where path-names of inspected files start in lines produced by
376 <code >&lt;command&gt;</code>. By default <strong >stealth</strong> assumes that the first occurrence of a forward
377 slash defines the first character of the path-names of inspected files.
378 <p>
379 For example, if diff-output looks like this:
380 <pre>
381
382 01234567890123456789012345678901234567890 (column offsets, not part of
383 the diff-output)
384
385 33c33
386 &lt; 90d8b506d249634c4ff80b9018644567 filename-specification
387 ---
388 &gt; b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
389 </pre>
390
391 then the specification
392 <pre>
393 LOCAL CHECK logfile 36 command-to-be-executed
394 </pre>
395
396 informs <strong >stealth</strong> where to find the filename specifications in the
397 diff-output. Using the standard <code >/usr/bin/diff</code> command, this offset equals
398 2 + the offset of the <code >filename-specification</code> found in
399 <code >command-to-be-executed</code>.
400 <p>
401 If the command does not succeed a <em >warning</em> message is written to the report
402 file. The warning message informs the reader that `remaining results might be
403 forged:
404 <pre>
405 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
406 </pre>
407
408 This situation may occur, e.g., if an essential program (like <code >sha1sum</code>)
409 was transferred to the monitor, and it was apparently modified since the
410 previous check. Processing continues, but remaining checks performed at the
411 client computer should be interpreted with <em >extreme</em> caution.
412 <p>
413 The output of this command is compared to the output of this command
414 generated during the previous run of <strong >stealth</strong>. Any differences are written
415 to <strong >REPORT</strong>.
416 <p>
417 If differences were found, the existing <code >logfile</code> name is renamed to
418 <code >logfile.YYYYMMDD-HHMMSS</code>, with <code >YYYYMMDD-HHMMSS</code> the datetime-stamp at
419 the time <strong >stealth</strong> was run.
420 <p>
421 Over time, many <code >logfile.YYMMDD-HHMMSS</code> files could be accumulated.
422 It is up to the monitor's systems manager to decide what to do
423 with old datetime-stamped logfiles. For instance, the following script
424 removes all <strong >stealth</strong> reports below the current directory that are
425 older than 30 days:
426 <pre>
427 #/bin/sh
428 FILES=`find ./ -path '*[0-9]' -mtime +30 -type f`
429
430 if [ "$FILES" != "" ] ; then
431 rm -f $FILES
432 fi
433 </pre>
434
435 <p>
436 The <code >logfile</code> specifications may use relative and absolute paths. When
437 relative paths are used, these paths are relative to <strong >BASE</strong>. When the
438 directories implied by the <code >logfile</code> specifications do not yet exist, they
439 are created first.
440 <p>
441 Example:
442 <pre>
443 LOCAL CHECK LOG = local/sha1sum sha1sum /tmp/sha1sum
444 </pre>
445
446 This command will check the SHA1 sum of the <code >/tmp/sha1sum</code> program. The
447 resulting output is saved at <strong >BASE</strong><code >/local/sha1sum</code>. The program must
448 succeed (i.e., <code >sha1sum</code> must return a zero exit-value).
449 <p>
450 <li> <strong >LOCAL NOTEST CHECK</strong> [<strong >LOG =</strong>] <code >logfile [pathOffset] command</code>
451 <p>
452 Execute <code >command</code> on the monitor, using the <strong >SH</strong> command
453 shell.
454 <p>
455 The phrase <strong >LOG =</strong> is optional. When a relative file location is
456 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
457 path specification.
458 <p>
459 The command may or may not succeed. Otherwise, the program performs exactly
460 like the <strong >LOCAL CHECK ...</strong> command, discussed above.
461 <p>
462 Example:
463 <pre>
464 LOCAL NOTEST CHECK LOG=local/sha1sum sha1sum /tmp/sha1sum
465 </pre>
466
467 This command will check the SHA1 sum of the <code >/tmp/sha1sum</code> program. The
468 resulting output is saved at <strong >BASE</strong><code >/local/sha1sum</code>. The program may or may
469 not succeed (i.e., <code >sha1sum</code> may or may not return a zero exit-value).
470 </ul>
471 <p>
472 <a name="l16"></a>
473 <h3 >4.3.3: REMOTE commands</h3>
474 Plain commands can be executed on the client computer by merely
475 specifying them. Of course, this means that programs called
476 <code >LABEL</code>, <code >LOCAL</code> <code >USE</code> or <code >DEFINE</code>, cannot be executed, since
477 these names are interpreted otherwise by <strong >stealth</strong>. It's unlikely that this
478 will cause problems. Remote commands must succeed (i.e., their return
479 codes must be 0).
480 <p>
481 Remote commands are commands executed on the client using the <strong >SSH</strong>
482 shell. These commands are executed using the standard <code >PATH</code> set for the
483 <strong >SSH</strong> shell. However, it is advised to specify the full pathname to the
484 programs to be executed, to prevent ``trojan approaches'' where a trojan horse
485 is installed in an `earlier' directory of the <code >PATH</code>-specification than the
486 intended program.
487 <p>
488 Two special remote commands are <code >GET</code> and <code >PUT</code>, which can be used to
489 copy files between the client and the monitor. Internally, <code >GET</code> and
490 <code >PUT</code> use the <code >DD</code> use-specification. If a non-default specification is
491 used, one should ensure that the alternate program accepts <strong >dd</strong>(1)'s <code >if=,
492 of=, bs=</code> and <code >count=</code> options. With <code >GET</code> the options <code >bs=, count=</code> and
493 <code >of=</code> are used, with <code >PUT</code> the options <code >bs=, count=</code> and <code >if=</code> are
494 used. Normally there should be no need to alter the default <code >DD</code>
495 specification.
496 <p>
497 The <code >GET</code> command may be used as follows:
498 <ul>
499 <li> <strong >GET</strong> <code >&lt;client-path&gt; &lt;local-path&gt;</code><br/>
500 Copy the file indicated by <code >client-path</code> at the client to <code >local-path</code>
501 at the monitor. <code >client-path</code> must be the full path of an existing file
502 on the client, <code >local-path</code> may either be a local directory, in which case
503 the client's file name is used, or another file name may be specified, in
504 which case the client's file is copied to the specified local filename. If the
505 local file already exists, it is overwritten by the copy-procedure.
506 <p>
507 Example:
508 <pre>
509 GET /usr/bin/sha1sum /tmp
510 </pre>
511
512 The program <code >/usr/bin/sha1sum</code>, available at the client, is copied to
513 the monitor's <code >/tmp</code> directory. If copying fails for some reason, any
514 subsequent commands are skipped, and <strong >stealth</strong> terminates.
515 <p>
516 <li> <strong >GET NOTEST</strong> <code >&lt;client-path&gt; &lt;local-path&gt;</code><br/>
517 Copy the file indicated by <code >client-path</code> at the client to <code >local-path</code>
518 at the monitor. <code >client-path</code> must be the full path of an existing file
519 on the client, <code >local-path</code> may either be a local directory, in which case
520 the client's file name is used, or another file name may be specified, in
521 which case the client's file is copied to the specified local filename. If the
522 local file already exists, it is overwritten by the copy-procedure.
523 <p>
524 Example:
525 <pre>
526 GET NOTEST /usr/bin/sha1sum /tmp
527 </pre>
528
529 The program <code >/usr/bin/sha1sum</code>, available at the client, is copied to the
530 monitor's <code >/tmp</code> directory. Remaining commands in the policy file are
531 executed, even if the copying process wasn't successful.
532 </ul>
533 <p>
534 The <code >PUT</code> command may be used as follows:
535 <ul>
536 <li> <strong >PUT</strong> <code >&lt;local-path&gt; &lt;remote-path&gt;</code><br/>
537 Copy the file indicated by <code >local-path</code> at the monitor to
538 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the
539 full path of an existing file on the monitor. The argument <code >remote-path</code>
540 must be the full path to a file on the client. If the remote file already
541 exists, it is overwritten by <code >PUT</code>.
542 <p>
543 Example:
544 <pre>
545 PUT /tmp/sha1sum /usr/bin/sha1sum
546 </pre>
547
548 The program <code >/tmp/sha1sum</code>, available at the monitor, is copied to the
549 client as <code >usr/bin/sha1sum</code>. If the copying fails for some reason,
550 any subsequent commands are skipped, and <strong >stealth</strong> terminates.
551 <p>
552 <li> <strong >PUT NOTEST</strong> <code >&lt;local-path&gt; &lt;remote-path&gt;</code><br/>
553 Copy the file indicated by <code >local-path</code> at the monitor to
554 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the
555 full path of an existing file on the monitor. The argument <code >remote-path</code>
556 must be the full path to a file on the client. If the remote file already
557 exists, it is overwritten by <code >PUT</code>.
558 <p>
559 Example:
560 <pre>
561 PUT NOTEST /tmp/sha1sum /usr/bin/sha1sum
562 </pre>
563
564 Copy the file indicated by <code >local-path</code> at the monitor to
565 <code >remote-path</code> at the client. The argument <code >local-path</code> must be the full
566 path of an existing file on the monitor. The argument <code >remote-path</code> must
567 be the full path to a file on the client. If the remote file already exists,
568 it is overwritten by <code >PUT</code>. Remaining commands in the policy file are
569 executed, even if the copying process wasn't successful.
570 </ul>
571 <p>
572 Other commands to be executed on the client can be specified as follows:
573 <p>
574 <ul>
575 <li> <code >command</code>
576 <p>
577 Execute `<code >command</code>' on the client, using the <strong >SSH</strong> command
578 shell. The command must succeed (i.e., must return a zero exit
579 value). However, any output generated by the command is ignored.
580 Example:
581 <pre>
582 /usr/bin/find /tmp -type f -exec /bin/rm {} \;
583 </pre>
584
585 This command will remove all ordinary files at and below the client's
586 <code >/tmp</code> directory.
587 <p>
588 <li> <strong >NOTEST</strong> <code >command</code>
589 <p>
590 Execute <code >command</code> on the client, using the <strong >SSH</strong> command
591 shell. The command may or may not succeed.
592 <p>
593 Example:
594 <pre>
595 NOTEST /usr/bin/find /tmp -type f -exec /bin/rm {} \;
596 </pre>
597
598 Same as the previous command, but this time the exit value of
599 <code >/usr/bin/find</code> is not interpreted.
600 <p>
601 <li> <strong >CHECK</strong> [<strong >LOG =</strong>] <code >logfile [pathOffset] command</code>
602 <p>
603 Execute <code >command</code> on the client, using the <strong >SSH</strong> command
604 shell.
605 <p>
606 The phrase <strong >LOG =</strong> is optional. When a relative file location is
607 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
608 path specification.
609 <p>
610 <code >PathOffset</code> is also optional, and has the same meaning as for the <code >LOCAL
611 CHECK</code> command, described above.
612 <p>
613 The command must succeed. The output of this command is compared to the
614 output of this command generated during the previous run of <strong >stealth</strong>. Any
615 differences are written to <strong >REPORT</strong>. If differences were found, the existing
616 <code >logfile</code> name is renamed to <code >logfile.YYYYMMDD-HHMMSS</code>, with
617 <code >YYYYMMDD-HHMMSS</code> being the datetime-stamp at the time <strong >stealth</strong> was run.
618 <p>
619 Note that the command is executed on the client, but the logfile is kept
620 at the monitor. This command represents the core of the method implemented
621 by <strong >stealth</strong>: there will be no residues of the actions performed by <strong >stealth</strong> on client
622 computers.
623 <p>
624 Several examples (note the use of the backslash as line continuation
625 characters):
626
627 <pre>
628 CHECK LOG = remote/ls.root /usr/bin/find / \
629 -xdev -perm /6111 -type f -exec /bin/ls -l {} \;
630 </pre>
631
632 All suid/gid/executable files on the same device as the root-directory (/)
633 on the client computer are listed with their permissions, owner and size
634 information. The resulting listing is written on the file
635 <strong >BASE</strong><code >/remote/ls.root</code>.
636 <p>
637 This long command could be formulated shorter using a <code >DEFINE</code>:
638 <pre>
639 DEFINE LSFIND -xdev -perm /6111 -type f -exec /bin/ls -l {} \;
640 CHECK remote/ls.root /usr/bin/find / ${LSFIND}
641 </pre>
642
643 <p>
644 Another example:
645 <pre>
646 DEFINE SHA1SUM -xdev -perm /6111 -type f -exec /usr/bin/sha1sum {} \;
647 CHECK remote/sha1.root /usr/bin/find / ${SHA1SUM}
648 </pre>
649
650 The SHA1 checksums of all suid/gid/executable files on the same device as
651 the root-directory (/) on the client computer are determined. The resulting
652 listing is written on the file <strong >BASE</strong><code >/remote/sha1.root</code>.
653 <p>
654 <li> <strong >NOTEST CHECK</strong> [<strong >LOG =</strong>] <code >logfile [pathOffset] command</code>
655 <p>
656 Execute <code >command</code> on the client, using the <strong >SSH</strong> command
657 shell.
658 <p>
659 The phrase <strong >LOG =</strong> is optional. When a relative file location is
660 specified at <code >&lt;file-spec&gt;</code> it is interpreted relatively to the <code >USE BASE</code>
661 path specification.
662 <p>
663 <code >PathOffset</code> is also optional, and has the same meaning as for the <code >LOCAL
664 CHECK</code> command, described above. The command may or may not
665 succeed. Otherwise, the program acts identically as the <strong >CHECK ...</strong> command,
666 described above.
667 Example (using the same <code >${SHA1SUM}</code>)definition:
668 <pre>
669 NOTEST CHECK LOG = remote/sha1.root /usr/bin/find / ${SHA1SUM}
670 </pre>
671
672 The SHA1 checksums of all suid/gid/executable files on the same device as
673 the root-directory (/) on the client computer are determined. The resulting
674 listing is written on the file <strong >BASE</strong><code >/remote/sha1.root</code>. <strong >stealth</strong> will
675 not terminate if the <code >/usr/bin/find</code> program returns a non-zero exit value.
676 </ul>
677 <p>
678 <a name="l17"></a>
679 <h3 >4.3.4: Preventing Controller Denial of Service (--max-size)</h3>
680 Either by malicious intent or by accident (as happened to me) the monitor may
681 be a victim of a (self-inflicted) Denial of Service (DOS) attack. This DOS
682 attack may occur when the client (apparently) sends a never ending stream of
683 bytes in response to a <code >GET</code> or <code >REMOTE</code> command. Once one of my monitors
684 fell victim to this attack when a client's power went down and the monitor
685 kept on trying to read bytes from that client filling up the monitor's
686 disk....
687 <p>
688 This problem was of course caused by a programming error: while reading
689 information from a client <strong >stealth</strong> failed to check whether the reading had actually
690 succeeded. This bug has now been fixed, but an intentional DOS attack could
691 still be staged along this line when, e.g., the <strong >find</strong>(1) command is somehow
692 replaced by a manipulated version continuously writing information to its
693 standard output stream. Without further precaution <strong >stealth</strong> would receive a never
694 ending stream of bytes to be written to its `report' file, thus causing its
695 disk to fill up.
696 <p>
697 To prevent this from happening <strong >stealth</strong> now offers the <code >--max-size</code>
698 command line option allowing the specification of the maximum size of a stream
699 of bytes received by <strong >stealth</strong> (e.g., a report or downloaded file). The
700 maximum is used for each individual download and can be specified in bytes
701 (using no suffix or the <code >B</code> suffix), kilo-bytes (using <code >K</code>), mega-bytes
702 (using <code >M</code>) or giga-bytes (using <code >G</code>). The default is set at 10M,
703 equivalent to the command line specification of <code >--max-size 10M</code>.
704 <p>
705 If a file or report received from the client exceeds its maximum allowed size
706 then <strong >stealth</strong> terminates after writing the following message to the report
707 file (which is sent to the configured mail address):
708 <pre>
709
710 STEALTH - CAN'T CONTINUE: `&lt;name of offending file&gt;' EXCEEDS MAX.
711 DOWNLOAD SIZE (&lt;size shown&gt;)
712 STEALTH - THIS COULD SIGNAL A SERIOUS PROBLEM WITH THE CLIENT
713 STEALTH - ONE OR MORE LOG FILES MAY BE INVALID AS A RESULT
714 STEALTH - *** INVESTIGATE ***
715 </pre>
716
717 Since a <code >--max-size</code> specification may cause <strong >stealth</strong> to terminate
718 while receiving the output of a (remotely run) command, an empty or partial
719 log file will be the result. Of course this partial result is spurious as it
720 is a direct result of <strong >stealth</strong> terminating due to a size violation.
721 <p>
722 After investigating (and removing) the reasons for the size violation a
723 new <strong >stealth</strong> run using the previous log file as the latest baseline should
724 show only expected changes.
725 <p>
726 For example, assume the following situation represents a (valid) state of
727 logfiles:
728 <pre>
729 etc stealth
730 setuid stealth.20080316-105756
731 </pre>
732
733 Now <strong >stealth</strong> is run with <code >--max-size 20</code>, prematurely
734 terminating <strong >stealth</strong>. This results in the following set of logfiles:
735 <pre>
736 etc stealth
737 setuid stealth.20080316-105756
738 stealth.20080316-110215
739 </pre>
740
741 The file <code >stealth</code> now contains incomplete data with the (latest) file
742 <code >stealth.20080316-110215</code> containing its previous contents.
743 <p>
744 The reasons for the size-violation should of course be investigated and
745 removed. It is suggested to move the file last saved
746 (<code >stealth.20080316-110215</code>) to the file <code >stealth</code>, as it represents the
747 state before the size violation was encountered. Following this <strong >stealth</strong> should
748 operate normally again.
749 <p>
750 <hr>
751 <ul>
752 <li> <a href="stealth.html">Table of Contents</a>
753 <li> <a href="stealth03.html">Previous Chapter</a>
754 <li> <a href="stealth05.html">Next Chapter</a>
755 </ul>
756 <hr>
757 </body>
758 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth04.html">Previous Chapter</a>
13 <li> <a href="stealth06.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="l18"></a>
17 <h1 >Chapter 5: Running `stealth'</h1>
18 Now that <strong >stealth</strong> has been compiled, the construction of a policy file has
19 been covered, and a service-account on the client has been defined, what must
20 be done to run <strong >stealth</strong> in practice?
21 <p>
22 Here's what remains to be done:
23 <ul>
24 <li> Install <strong >stealth</strong> at a proper location
25 <li> Construct one or more policy files
26 <li> Learn to interpret <strong >stealth</strong>'s output.
27 <li> Optionally, automate the removal of old log-files.
28 <li> Determine a schedule for running stealth automatically, e.g. using
29 <strong >cron</strong>(1) or <strong >ssh-cron</strong>(1)
30 </ul>
31 In this chapter, these topics are discussed.
32 <p>
33 <a name="l19"></a>
34 <h2 >5.1: Installing `stealth'</h2>
35 As <strong >stealth</strong> is mainly a system administrator's tool, it could be
36 installed in <code >/usr/bin</code>. In that case, do (as <em >root</em>) in the
37 directory where <strong >stealth</strong> was compiled/unpacked:
38 <pre>
39 ./build install program
40 </pre>
41
42 Alternatively, another default location may be specified in the
43 <code >INSTALL.im</code> file or may be provided to the <code >build</code> script. E.g.,
44 <pre>
45 ./build install program /usr/local/bin/stealth
46 </pre>
47
48 installing the binary program as <code >/usr/local/bin/stealth</code>.
49 <p>
50 The provided <code >icmake build</code> script can be started without arguments for an
51 overview of possible commands.
52 <p>
53 <a name="OPTIONS"></a><a name="l20"></a>
54 <h2 >5.2: Stealth command-line and policy file options</h2>
55 Short options are provided between parentheses, immediately following
56 their long option equivalents.
57 <p>
58 Option descriptions showing (C) can only be used on the command-line, and
59 are ignored when specified in the second section of the policy file.
60 <p>
61 In the overview of options `<code >&lt;uds&gt;</code>' represents the name of the
62 <em >Unix Domain Socket</em> to use, and `<code >&lt;file-spec&gt;</code>' refers to a (relative or
63 absolute) specification of a file location.
64 <p>
65 With the first and second synopses relative locations (of the Unix Domain
66 Socket and of other file-specifications) are interpreted relative to the
67 current working directory.
68 <p>
69 Command-line options overrule options defined in the policy-file.
70 <p>
71 <ul>
72 <li> <code >--daemon (-d) &lt;uds&gt;</code>: (C) run as background (daemon)
73 process. When the Stealth daemon process is started, the Unix Domain
74 Socket (tt&lt;uds&gt;) may not already exist.
75 <li> <code >--dry-run</code>: (C) no integrity scans or reloads are performed, but
76 are assumed OK. Remaining tasks are normally performed;
77 <li> <code >--help (-h)</code>: (C) Display help information and exit;
78 <li> <code >--log (-L) &lt;file-spec&gt;</code>: log messages are appended to
79 `file-spec'. If file-spec does not exist, it is first created;
80 <li> <code >--logmail</code>: mail sent by <strong >stealth</strong> is logged (requires <code >--log</code> or
81 <code >--syslog</code>);
82 <li> <code >--max-size &lt;size&gt;[BKMG]</code>: files retrieved by <code >GET</code> commands may
83 at most have <code >&lt;size&gt;</code> bytes (B), KBytes (K), MBytes (M), GBytes
84 (G). The default size is 10M, the default unit is B.
85 <li> <code >--no-mail</code>: mail is not sent. By default mail is sent as
86 configured in the policy-file (<code >--logmail</code> can be specified
87 independently from <code >--no-mail</code>);
88 <li> <code >--parse-policy-file (-p)</code>: (C) parse the policy file, after which
89 <strong >stealth</strong> ends.<br/>
90 Specify once to see the numbered commands;<br/>
91 twice to see the policy file parsing steps as well.<br/>
92 Results are written to the std. output.
93 <li> <code >--ping &lt;uds&gt;</code>: (C) performs no actions, but is used to verify that
94 a <strong >stealth</strong> daemon can be reached via its Unix Domain Socket
95 (<code >&lt;uds&gt;</code>). The daemon will respond even if it's currently performing
96 an integrity scan. It is used by the <code >/usr/bin/stealthcron</code> script
97 to verify that a <strong >stealth</strong> daemon is alive.
98 <li> <code >--random-interval (-i) &lt;interval&gt;[m]&gt;</code>: start the scan a random
99 interval of &lt;interval&gt; seconds (or minutes if an `m' is appended (no
100 blanks) to &lt;interval&gt;) following the delay specified at <code >--repeat</code>
101 (see below). This option requires specification of the <code >--repeat</code>
102 and <code >--daemon</code> options;
103 <li> <code >--reload &lt;uds&gt;</code>: (C) reloads the configuration and skip-files
104 and restarts the scan of the <strong >stealth</strong> daemon process. Options defined in
105 the policy file are also reloaded. However, command-line options
106 always take priority over options defined in the policy file, so when
107 command-line options were used when starting <strong >stealth</strong> in daemon mode, they
108 cannot be modified by reloading the policy file.
109 <li> <code >--repeat &lt;seconds&gt;</code>: wake up and perform an integrity scan at
110 interrupts or after <code >&lt;seconds&gt;</code> seconds (or minutes if an `m' is
111 appended (no blanks) to &lt;seconds&gt;) after completing the previous
112 integrity scan. The option <code >--random-interval</code> can be used to add a
113 random delay to <code >&lt;seconds&gt;</code> until the next integrity scan is
114 performed. This option requires specification of the and <code >--daemon</code>
115 option;
116 <li> <code >--rerun &lt;uds&gt;</code>: (C) start executing the integrity scan
117 commands that are specified in the <strong >stealth</strong> daemon process's policy file;
118 <li> <code >--resume &lt;uds&gt;</code>: (C) resume a suspended <strong >stealth</strong> process, implies
119 <code >--rerun</code>;
120 <li> <code >--run-command (-r) &lt;nr&gt;</code>: (C) Only execute command number &lt;nr&gt;
121 (natural number). Command numbers are shown by <strong >stealth</strong>
122 <code >---parse-policy-file</code>. This option can only be specified using the
123 second synopsis;
124 <li> <code >--skip-files (-s) &lt;file-spec&gt;</code>: all entries in <code >&lt;file-spec&gt;</code> are
125 skipped. Their integrity is not monitored. If an entry is already
126 present in a log file then <strong >stealth</strong> once generates an <code >IGNORING</code> message
127 in the mail sent to the address specified at <code >EMAIL</code> in the policy
128 file. Each entry mentioned in <code >file-spec</code> must be on a line of
129 its own and must be specified using absolute file paths. Entries
130 ending in a slash are assumed to be directories whose full contents
131 must be skipped. Other entries are interpreted as the names
132 of files to skip. Initial and trailing blanks, empty lines and lines
133 having a <code >#</code> as their 1st non blank character are ignored. Here are
134 some examples:
135 <pre>
136
137 # skip all files in user's Mail directory
138 /home/user/Mail/
139 # skip user's .history file
140 /home/user/.history
141
142 </pre>
143
144 <li> <code >--stdout (-o)</code>: messages are (also) written to the std. output
145 stream (only available with the second synopsis);
146 <li> <code >--suspend &lt;uds&gt;</code>: (C) suspends a currently active <strong >stealth</strong>
147 process. Following <code >--suspend</code> use <code >--resume</code> to re-activate an
148 <strong >stealth</strong> daemon or <code >--terminate</code> to end an <strong >stealth</strong> daemon;
149 <li> <code >--syslog</code>: write syslog messages;
150 <li> <code >--syslog-facility &lt;facility&gt;</code>: syslog facility to use. By
151 default facility DAEMON is used;
152 <li> <code >--syslog-priority &lt;priority&gt;</code>: syslog priority to use. By
153 default priority NOTICE is used;
154 <li> <code >--syslog-tag &lt;tag&gt;</code>: <code >&lt;tag&gt;</code> specifies the identifier that is
155 prefixed to syslog messages. By default the tag `STEALTH' is used, see
156 also the next section;
157 <li> <code >--terminate &lt;uds&gt;</code>: (C) terminate a currently active <strong >stealth</strong>
158 process;
159 <li> <code >--time-stamp (-t) &lt;type&gt;</code>: the time-stamps to use. By default
160 UTC. To use the local time specify <code >--time-stamp
161 LT</code>. The <code >--time-stamp</code> option does not apply to time-stamps
162 generated by syslog (see also the next section);
163 <li> <code >--usage</code>: (C) Display help information and exit;
164 <li> <code >--verbosity &lt;value&gt;</code>: determines the amount of logged
165 information. Requires options <code >--log</code> or <code >--syslog</code>. Possible
166 values are:<br/>
167 0: nothing is logged<br/>
168 1: (default) mode reports and policy commands<br/>
169 2: also: ipc commands and actions<br/>
170 3: also: integrity scan informative messages
171 <li> <code >--version (-v)</code>: (C) Display <strong >stealth</strong>'s version information and
172 terminate;
173 </ul>
174 <p>
175 <ul>
176 <li> <code >policy</code>: file specification of the policy file. If a relative
177 location is specified then this location is interpreted relative to
178 the current working directory. <strong >Stealth</strong> converts this relative
179 specification to an absolute file location, and an option like
180 <code >--reload</code> will reload the policy file from the thus determined
181 absolute file path.
182 </ul>
183 <p>
184 Only one of the options <code >--daemon, --reload, --resume,
185 --suspend</code> or <code >--terminate</code> can be specified. The options <code >--reload,
186 --rerun, --resume, --suspend,</code> and <code >--terminate</code> ignore any other options.
187 <p>
188 The following options are still recognized for backward compatibility with <strong >stealth</strong>
189 pre-3.00 versions and will be removed in a future <strong >stealth</strong> version. They generate
190 error messages suggesting alternatives:
191 <p>
192 <ul>
193 <li> <code >--echo-commands (-e)</code>:
194 echo commands to std error when they are processed; use <code >--log</code>
195 instead.
196 <li> <code >--keep-alive</code>: run as a daemon; use <code >--daemon</code> instead.
197 <li> <code >--only-stdout</code>: scan report is written to stdout; use
198 <code >--stdout</code> instead.
199 <li> <code >--quiet (-q)</code>: suppresses progress messages written to stderr; use
200 <code >--verbosity 0</code> instead.
201 <li> <code >--suppress &lt;uds&gt;</code>: suppresses a currently active <strong >stealth</strong>
202 process; use <code >--suspend</code> instead.
203 </ul>
204 <p>
205 The following options were discontinued starting since <strong >stealth</strong> version 3.00.00:
206 <ul>
207 <li> <code >--debug</code> (option <code >--verbosity</code> or <code >--dry-run</code> could be used
208 instead);
209 <li> <code >--no-child-processes</code>;
210 <li> <code >--parse-config-file</code>.
211 </ul>
212 <p>
213 When specifying long options in policy files initial hyphens should be
214 omitted. Here are some examples:
215 <pre>
216 %%
217 log /tmp/stealth.log
218 verbosity 3
219 </pre>
220
221 <p>
222 <a name="l21"></a>
223 <h3 >5.2.1: Rsyslog filtering</h3>
224 When using <strong >rsyslogd</strong>(1) property based filters may be used to filter
225 syslog messages and write them to a file of your choice. E.g., to filter
226 messages starting with the syslog message tag (e.g., <code >STEALTH</code>) use
227 <pre>
228
229 :syslogtag, isequal, "STEALTH:" /var/log/stealth.log
230 :syslogtag, isequal, "STEALTH:" stop
231
232 </pre>
233
234 Note that the colon is part of the tag, but is not specified with the
235 <code >syslog-tag</code> option.
236 <p>
237 This causes all messages having the <code >STEALTH:</code> tag to be written on
238 <code >/var/log/stealth.log</code> after which they are discarded. More extensive
239 filtering is also supported, see, e.g.,
240 <code >http://www.rsyslog.com/doc/rsyslog_conf_filter.html</code> and
241 <code >http://www.rsyslog.com/doc/property_replacer.html</code>
242 <p>
243 Time stamps written by <code >rsyslogd</code> are not controlled by <strong >stealth</strong>'s
244 <code >--time-stamp</code> option, but, e.g., by a <code >TZ</code> specification in
245 <code >/etc/default/rsyslog</code>. Simply add the line
246 <pre>
247 export TZ=UTC
248 </pre>
249
250 to <code >/etc/default/rsyslog</code>, followed by restarting <code >rsyslogd</code> configures
251 <code >rsyslogd</code> to generate time stamps using UTC.
252 <p>
253 <a name="l22"></a>
254 <h2 >5.3: Construct one or more policy files</h2>
255 Here we assume that <strong >stealth</strong> is run by <em >root</em>, and that root wants to
256 store information about the host <code >client</code> under the subdirectory
257 <code >/root/stealth/client</code>.
258 <p>
259 Furthermore, we assume that reports of <strong >stealth</strong> integrity-scans should be sent to
260 the user <code >admin@elsewhere</code>, who is only interested in receiving a short
261 summary of changes, as the full report can always be read at the monitor
262 itself. To accomplish this a small support-script was developed, filtering the
263 report generated by <strong >stealth</strong> down to its essentials.
264 <p>
265 As the <code >sha1sum</code> program on the client may be compromised, it is a good idea
266 to start the integrity scan by transferring the client's <code >sha1sum</code> program
267 to the monitor first, to verify the integrity of that program locally (i.e.,
268 at the monitor), before trusting it to compute sha1sums of the client's
269 files. The same holds true for any libraries and support programs (like
270 <code >find</code>) that are used intensively during integrity scans.
271 <p>
272 Sha1sum checks should be performed on all setuid and setgid files on the
273 <code >client</code>, and in order to be able reach all files on <code >client</code>,
274 <code >root@monitor</code> is allowed to login to the <code >root@client</code> account using
275 an <code >ssh</code> connection.
276 <p>
277 Furthermore, sha1sum checks should be performed on all configuration files,
278 living under <code >/etc</code> and on the file <code >/usr/bin/find</code> (which is used
279 intensively when performing the integrity checks).
280 <p>
281 Next, the construction of the required <code >policy</code> file, implementing the
282 abovementioned requirements, is described in the following subsections.
283 <p>
284 <a name="l23"></a>
285 <h3 >5.3.1: DEFINE directives</h3>
286 First we write some <code >DEFINE</code> directives simplifying complex command
287 specifications:
288 <pre>
289
290 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
291 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
292 -type f -exec /usr/bin/sha1sum {} \;
293 </pre>
294
295 The first <code >DEFINE</code> defines the <code >ssh</code> command to use: an ssh-connection
296 will be made to the root account at the client.
297 <p>
298 The second <code >DEFINE</code> shows the arguments for <strong >find</strong>(1) when looking for
299 all root setuid or setgid normal files. For all these files the <strong >sha1sum</strong>(1)
300 program should be run.
301 <p>
302 <a name="l24"></a>
303 <h3 >5.3.2: USE directives</h3>
304 Next some <code >USE</code> directives, matching our specific, local,
305 situation, are defined:
306 <pre>
307
308 USE BASE /root/stealth/client
309 USE EMAIL admin@elswhere
310 USE MAILER /root/bin/stealthmail
311 USE MAILARGS "Client STEALTH report"
312 USE SSH ${SSHCMD}
313 </pre>
314
315 <p>
316 <ul>
317 <li> All output is written under the <code >/root/stealth/client</code> directory;
318 <li> Mail is sent to the user <code >admin@elsewhere</code>;
319 <li> As mail program we use a filtering script (<code >stealthmail</code>), which is
320 installed in <code >/root/bin</code>;
321 <li> The script handles its own argument. As it can be used by <strong >stealth</strong>
322 performing integrity scans on other clients as well, it is given an
323 argument which can be used as e-mail subject, identifying the
324 client-computer that has been integrity-scanned;
325 <li> The ssh-command is defined by the <code >SSHCMD</code>. It's definition is used
326 at the <code >USE SSH</code> specification;
327 <li> Default values of all remaining <code >USE</code> directives are OK, and thus
328 were not explicitly specified. They are:
329 <pre>
330 USE DD /bin/dd
331 USE DIFF /usr/bin/diff
332 USE REPORT report
333 USE SH /bin/sh
334 </pre>
335
336 </ul>
337 <p>
338 <a name="l25"></a>
339 <h3 >5.3.3: Commands</h3>
340 The following commands are now defined:
341 <ul>
342 <li> first, we copy the client's <code >sha1sum</code> program to the monitor. In
343 practice, this should also include the shared object libraries that are used
344 by <code >sha1sum</code>, as they might have become corrupted as well;
345 <li> Once <code >sha1sum</code> is locally available its integrity is verified;
346 <li> Once the integrity of the client's <code >sha1sum</code> has been verified, it
347 is used to verify the integrity of the client's <code >/usr/bin/find</code> program;
348 <li> Following this, all setuid and setgid root files are located and
349 checked for integrity;
350 <li> Finally, the integrity of the client configuration files under
351 <code >/etc</code> is verified;
352 </ul>
353 <p>
354 In this manual the <strong >sha1sum</strong>(1) program is frequently used when checking
355 hash values. Stronger hash functions (like <strong >sha256sum</strong>(1)) might be
356 preferred in practice. <code >sha256sum's</code> hash values are remarkably longer than
357 <code >sha1sum's</code> hash values. When using these longer hash values in the manual
358 it often clobbers the layout of examples. Therefore in this manual
359 <strong >sha1sum</strong>(1) is continued to be used.
360 <p>
361 Realize, however, that when updating existing policy files to use
362 <strong >sha256sum</strong>(1) instead of <strong >sha1sum</strong>(1), that previously generated log
363 files (that used <strong >sha1sum</strong>(1)) are incompatible with log files obtained when
364 using <strong >sha256sum</strong>(1). In practice this means that new log files need to be
365 generated, and any previously geneerated log files must be disregarded.
366 <p>
367 <a name="l26"></a>
368 <h4 >5.3.3.1: Obtaining the client's sha1sum program</h4>
369 To copy the client's <code >sha1sum</code> program to a local directory we specify:
370 <pre>
371
372 GET /usr/bin/sha1sum /root/tmp
373 </pre>
374
375 This command must succeed.
376 <p>
377 <a name="l27"></a>
378 <h4 >5.3.3.2: Checking the integrity of the client's sha1sum program</h4>
379 Next, we check the integrity of the received <code >sha1sum</code> program. For this, we
380 use the monitor's <code >sha1sum</code> program:
381 <pre>
382
383 LABEL \nCheck the client's sha1sum program
384 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
385
386 </pre>
387
388 The <code >LABEL</code> command writes the label to the report file just before
389 writing the <code >sha1sum</code> program's output.
390 <p>
391 The <code >LOCAL</code> command checks the sha1sum of the program copied from the
392 client. The report is written on the file
393 <code >/root/stealth/client/local/sha1</code>. If this fails, <strong >stealth</strong> terminates, alerting
394 <code >admin@elsewhere</code> that the check failed. This is a serious event, as it
395 indicates that either the monitor's <code >sha1sum</code> is behaving unexpectedly or
396 that the client's <code >sha1sum</code> program has unexpectedly changed.
397 <p>
398 The <code >sha1sum</code> program <em >may</em> have changed due to a normal upgrade. If
399 so, <code >admin@elsewhere</code> will know this, and can (probably) ignore the
400 warning. The next time <strong >stealth</strong> is run, the (now updated) SHA1 value is used, and
401 it again compares the obtained <code >SHA1</code> value to the one obtained for the
402 downloaded <code >sha1sum</code> program.
403 <p>
404 <a name="l28"></a>
405 <h4 >5.3.3.3: Checking the client's /usr/bin/find program</h4>
406 The client normally uses its <code >find</code> command intensively: <code >find</code> is a
407 great tool for producing reports about almost any conceivable combination of
408 characteristics of sets of files. Of course, the client's <code >find</code> command
409 must itself be OK, as well as the client's <code >sha1sum</code> program. Now that we
410 know that the client's <code >sha1sum</code> program is OK, we can use it to check the
411 client's <code >/usr/bin/find</code> program.
412 <p>
413 Note that the monitor itself no longer needs to invest any significant
414 processing load: only the client itself is taxed for checking the integrity
415 of its own files:
416 <pre>
417
418 LABEL \nchecking the client's /usr/bin/find program
419 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
420 </pre>
421
422 <p>
423 <a name="l29"></a>
424 <h4 >5.3.3.4: Checking the client's setuid/setgid files</h4>
425 Having checked the client's <code >sha1sum</code> and <code >find</code> programs, sha1 checksum
426 checks should be performed on all setuid and setgid files on the
427 client. For this we activate the <code >sha1sum</code> program on the client. In
428 order to check the setuid/setgid files, the following command is added to the
429 policy file:
430 <pre>
431
432 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
433 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
434 </pre>
435
436 <p>
437 <a name="l30"></a>
438 <h4 >5.3.3.5: Checking the configuration files in the
439 client's /etc/ directory</h4>
440 Finally, the client's configuration files are checked. Some of these files
441 change so frequently that we don't want them to be checked. E.g.,
442 <code >/etc/adjtime, /etc/mtab</code>. To check the configuration file, do:
443
444 <pre>
445 LABEL \nconfiguration files under /etc
446 CHECK LOG = remote/etcfiles \
447 /usr/bin/find /etc -type f -not -perm /6111 \
448 -not -regex "/etc/\(adjtime\|mtab\)" \
449 -exec /usr/bin/sha1sum {} \;
450 </pre>
451
452 <p>
453 <a name="l31"></a>
454 <h3 >5.3.4: The complete `policy' file</h3>
455 Here is the complete policy file we've constructed so far:
456 <p>
457 <pre >
458 DEFINE SSHCMD /usr/bin/ssh root@client -T -q exec /bin/bash --noprofile
459 DEFINE EXECSHA1 -xdev -perm +u+s,g+s \( -user root -or -group root \) \
460 -type f -exec /usr/bin/sha1sum {} \;
461
462 USE BASE /root/stealth/client
463 USE EMAIL admin@elswhere
464 USE MAILER /root/bin/stealthmail
465 USE MAILARGS "Client STEALTH report"
466 USE SSH ${SSHCMD}
467
468 USE DD /bin/dd
469 USE DIFF /usr/bin/diff
470 USE REPORT report
471 USE SH /bin/sh
472
473 GET /usr/bin/sha1sum /root/tmp
474
475 LABEL \nCheck the client's sha1sum program
476 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
477
478 LABEL \nchecking the client's /usr/bin/find program
479 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
480
481 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
482 CHECK LOG = remote/setuidgid /usr/bin/find / ${EXECSHA1}
483
484 LABEL \nconfiguration files under /etc
485 CHECK LOG = remote/etcfiles \
486 /usr/bin/find /etc -type f -not -perm /6111 \
487 -not -regex "/etc/\(adjtime\|mtab\)" \
488 -exec /usr/bin/sha1sum {} \;
489
490
491
492
493 </pre>
494
495 <p>
496 <a name="l32"></a>
497 <h2 >5.4: Running `stealth' for the first time</h2>
498 When <strong >stealth</strong> is now run, it creates its initial report files under
499 <code >root/stealth/client</code>.
500 <p>
501 The first time <strong >stealth</strong> is run, it is usually run `by hand'. The initial run by
502 hand probably benefits from the <code >--stdout</code> option, as it shows all executed
503 commands on the standard output:
504 <pre>
505 stealth --stdout policy
506 </pre>
507
508 Furthermore, the reports are initialized. Running <strong >stealth</strong> this way for the
509 <code >policy</code> file constructed in the previous sections produces the following
510 output (lines were wrapped to improve readability):
511 <pre>
512 GET /usr/bin/sha1sum /root/tmp
513 LABEL \nCheck the client's sha1sum program
514 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
515 LABEL \nchecking the client's /usr/bin/find program
516 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
517 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
518 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
519 \( -user root -or -group root \) -type f
520 -exec /usr/bin/sha1sum {} \;
521 LABEL \nconfiguration files under /etc
522 CHECK LOG = remote/etcfiles /usr/bin/find /etc
523 -type f -not -perm /6111 -not -regex "/etc/\(adjtime\|mtab\)"
524 -exec /usr/bin/sha1sum {} \;
525 LOCAL /usr/bin/scp -q root@client:/usr/bin/sha1sum /root/tmp
526 LABEL \nCheck the client's sha1sum program
527 LOCAL CHECK LOG = local/sha1 /usr/bin/sha1sum /root/tmp/sha1sum
528 LABEL \nchecking the client's /usr/bin/find program
529 CHECK LOG = remote/binfind /usr/bin/sha1sum /usr/bin/find
530 LABEL \nsuid/sgid/executable files uid or gid root on the / partition
531 CHECK LOG = remote/setuidgid /usr/bin/find / -xdev -perm +u+s,g+s
532 \( -user root -or -group root \) -type f
533 -exec /usr/bin/sha1sum {} \;
534 LABEL \nconfiguration files under /etc
535 CHECK LOG = remote/etcfiles /usr/bin/find /etc
536 -type f -not -perm /6111 -not -regex "/etc/\(adjtime\|mtab\)"
537 -exec /usr/bin/sha1sum {} \;
538 </pre>
539
540 <p>
541 <a name="l33"></a>
542 <h3 >5.4.1: The mailed report</h3>
543 The <code >/root/bin/stealthmail</code> script is called with the following arguments:
544 <pre>
545
546 "Client STEALTH report" admin@elswhere
547 </pre>
548
549 <p>
550 The mailed report contains information comparable to this:
551 <pre>
552
553 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:10:56 +0100
554
555 Check the client's sha1sum program
556 Initialized report on local/sha1
557
558 checking the client's /usr/bin/find program
559 Initialized report on remote/binfind
560
561 suid/sgid/executable files uid or gid root on the / partition
562 Initialized report on remote/setuidgid
563
564 configuration files under /etc
565 Initialized report on remote/etcfiles
566 </pre>
567
568 <p>
569 <a name="l34"></a>
570 <h3 >5.4.2: Files under /root/stealth/client</h3>
571 Under <code >/root/stealth/client</code> the following entries are now available:
572 <ul>
573 <p>
574 <li> <code >local</code>: below this directory the reports of the locally performed
575 checks are found. Using our demo <code >policy</code> file, only one logfile is found
576 here: <code >sha1</code>, containing the client's SHA1 checksum of its
577 <code >/usr/bin/sha1sum</code> program:
578 <pre>
579 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
580 </pre>
581
582 <p>
583 <li> <code >remote</code>: at this directory the reports of the remotely performed
584 checks are found. Using our demo <code >policy</code> file, three files were created:
585 <p>
586 The file <code >binfind</code>, containing the checksum of the client's
587 <code >/usr/bin/find</code> program:
588 <pre>
589 fc62fc774999584f1e29e0f94279a652 /usr/bin/find
590 </pre>
591
592 <p>
593 The file <code >etcfiles</code>, containing the checksums of the client's
594 configuration files under <code >/etc</code> (shown only partially):
595 <pre>
596 ced739ecb2c43a20053a9f0eb308b2b0 /etc/modutils/aliases
597 a2322d7e2f95317b2ddf3543eb4c74c0 /etc/modutils/paths
598 f9e3eac60200d41dd5569eeabb4eddff /etc/modutils/arch/i386
599 f07da2ebf00c6ed6649bae5501b84c4f /etc/modutils/arch/m68k.amiga
600 2893201cc7f7556160fa9cd1fb5ba56a /etc/modutils/arch/m68k.atari
601 ...
602 bf73b4e76066381cd3caf80369ce1d0e /etc/deluser.conf
603 4cd70d9aee333307a09caa4ef003501d /etc/adduser.conf.dpkg-save
604 8c749353c5027d0065359562d4383b8d /etc/gimp/1.2/gtkrc_user
605 3ec404ec597ef5460600cccf0192f4d6 /etc/gimp/1.2/unitrc
606 8c740345b891179228e3d1066291167b /etc/gimp/1.2/gtkrc
607 </pre>
608
609 <p>
610 The file <code >setuidgid</code>, containing the checksums of the client's
611 setuid/setgid root files (shown only partially):
612 <pre>
613 030f3f84ec76a8181cca087c4ba655ea /bin/login
614 b6c0209547d88928f391d2bf88af34aa /bin/ping
615 5d324ad212b2ff8f767637ac1a8071ec /bin/su
616 344dbedc398d5114966914419ef53fcc /usr/bin/wall
617 27b045bd7306001f9ea31bc18712d8b7 /usr/bin/rxvt-xpm
618 ...
619 3567b18ffc39c2dc6ec0c0d0fc483f4f /usr/lib/ssh-keysign
620 3383a7955ac2406311e9aa51c6ac9c2c /usr/X11R6/bin/X
621 3c99ea0425c6e0278039e16478d2fb57 /usr/X11R6/bin/xterm
622 d590f7f5b4d6ae61680692a52235d342 /usr/local/bin/setuidcall
623 4c17203d7d91ec4946dea2f0ae365d5b /sbin/unix_chkpwd
624 </pre>
625
626 <p>
627 Of course, the checksums and the filenames shown are only for
628 documentation purposes. At other systems different files and/or
629 checksums will be reported.
630 <p>
631 <li> The file <code >/root/client/report</code> <strong >New lines are always appended to
632 the <code >/root/client/report</code> file. It will never shorten, unless shorten by
633 the systems administrator at `monitor'</strong>.
634 <p>
635 This file contains the following:
636 <pre>
637 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:06:50 +0000
638
639 Check the client's sha1sum program
640 Initialized report on local/sha1
641
642 checking the client's /usr/bin/find program
643 Initialized report on remote/binfind
644
645 suid/sgid/executable files uid or gid root on the / partition
646 Initialized report on remote/setuidgid
647
648 configuration files under /etc
649 Initialized report on remote/etcfiles
650
651 </pre>
652
653 </ul>
654 <p>
655 This completes the information generated by <strong >stealth</strong> during its first run.
656 <p>
657 <a name="l35"></a>
658 <h2 >5.5: Subsequent `stealth' runs</h2>
659 <p>
660 <a name="l36"></a>
661 <h3 >5.5.1: All files unaltered</h3>
662 When <strong >stealth</strong> is subsequently run, it updates its report files under
663 <code >root/stealth/client</code>. If nothing has changed, the log-files remain
664 unaltered. Subsequent runs will, however, add some new info to the file
665 <code >/root/client/report</code>:
666 <pre>
667
668 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:10:56 +0100
669
670 Check the client's sha1sum program
671 Initialized report on local/sha1
672
673 checking the client's /usr/bin/find program
674 Initialized report on remote/binfind
675
676 suid/sgid/executable files uid or gid root on the / partition
677 Initialized report on remote/setuidgid
678
679 configuration files under /etc
680 Initialized report on remote/etcfiles
681
682 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:22:15 +0100
683 </pre>
684
685 Note that just one extra line was added: a timestamp showing the date/time
686 of the last run. The systems administrator may rotate the report file every
687 once in a while to reclaim some disk space.
688 <p>
689 <a name="l37"></a>
690 <h3 >5.5.2: Modifications occurred</h3>
691 Basically, three kinds of modifications are possible: additions,
692 modifications, and removals. Here we'll show the effects all these changes
693 have on <strong >stealth</strong>'s output.
694 <p>
695 For illustrative purposes, the following changes were made to the
696 <code >client</code>'s files:
697 <ul>
698 <li> <code >/etc/motd</code> was changed
699 <li> the file <code >timezone~</code> was removed
700 <li> the file <code >/etc/motd.org</code> was created
701 </ul>
702 <p>
703 Next, <strong >stealth</strong> was again run, producing the following output:
704 <ul>
705 <p>
706 <li> The following new info is now added to file <code >/root/client/report</code>:
707 <pre>
708 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
709
710 configuration files under /etc
711 ADDED: /etc/motd.org
712 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
713 MODIFIED: /etc/motd
714 &lt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
715 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
716 REMOVED: /etc/timezone~
717 &gt; 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
718 </pre>
719
720 Note that all changes were properly detected and logged in the file
721 <code >/root/client/report</code>.
722 <p>
723 <li> Furthermore, a matching report was sent by <em >mail</em>:
724 <pre>
725 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
726
727 configuration files under /etc
728 ADDED: /etc/motd.org
729 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
730 MODIFIED: /etc/motd
731 &lt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
732 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
733 REMOVED: /etc/timezone~
734 &gt; 6322bc8cb3ec53f5eea33201b434b74b /etc/timezone~
735 </pre>
736
737 Note that the report <em >only</em> shows the info that was added to the
738 <em >/root/client/report</em> file.
739 <p>
740 The report itself could be beautified further. E.g., I use the following
741 script to mail the report to the addressee:
742 <pre>
743
744 #!/bin/bash
745
746 NAME=`basename $0`
747
748 tee /root/stealth/lastreport/$NAME | egrep -v '^([[:space:]]|[[:space:]]*$)' |
749 sort | uniq | mail -s $1 $2
750
751 </pre>
752
753 For the <code >client</code> computer, this little script writes the mailed report
754 on a file <code >/root/stealth/lastreport/client</code>, overwriting its previous
755 contents, removes all lines beginning with blanks (thus trimming away the
756 <code >diff</code>-generated lines), and e-mails the <code >sort</code>ed and <code >uniq</code>ed lines
757 using <code >mail</code>. The addressee (<code >admin@elsewhere</code>) then receives the
758 following information:
759 <pre>
760
761 ADDED: /etc/motd.org
762 MODIFIED: /etc/motd
763 REMOVED: /etc/timezone~
764 STEALTH (3.00.00) started at Wed, 20 Aug 2014 11:13:38 +0000
765 configuration files under /etc
766
767 </pre>
768
769 In practice this provides me with all the information I need if something
770 out of the ordinary has happened.
771 <p>
772 <li> Finally, the file
773 <pre>
774 /root/stealth/client/remote/etcfiles
775 </pre>
776
777 was recreated, saving the old file as
778 <pre>
779 /root/stealth/client/remote/etcfiles.20021028-112851
780 </pre>
781
782 As remarked earlier (see section <a href="stealth04.html#COMMANDS">4.3</a>), many
783 <code >logfile.YYMMDD-HHMMSS</code> files could eventually accumulate. As discussed in
784 section <a href="stealth04.html#COMMANDS">4.3</a>, it might be considered to remove old log files every
785 now and then.
786 </ul>
787 <p>
788 <a name="l38"></a>
789 <h3 >5.5.3: Failing LOCAL commands</h3>
790 If the client's <code >sha1sum</code> program itself is altered, a serious situation
791 has developed. In that case, further actions by <strong >stealth</strong> would be suspect, as their
792 results might easily be currupted. Additional checks <em >will</em> be performed,
793 but a warning is generated on the <code >report</code> file (and in the mail sent to
794 <code >admin@elsewhere</code>):
795 <pre>
796
797 STEALTH (4.00.00) started at Sat, 07 Feb 2015 22:27:15 +0100
798
799 Check the client's sha1sum program
800 MODIFIED: /root/tmp/sha1sum
801 &lt; fc62fc774999584f1e29e0f94279a652 /root/tmp/sha1sum
802 &gt; 45251e259bfaf1951658a7b66c328c52 /root/tmp/sha1sum
803
804 *** BE CAREFUL *** REMAINING RESULTS MAY BE FORGED
805
806 configuration files under /etc
807 REMOVED: /etc/motd.org
808 &gt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd.org
809 MODIFIED: /etc/motd
810 &lt; 945d0b8208e9861b8f9f2de155e619f9 /etc/motd
811 &gt; 7f96195d5f051375fe7b523d29e379c1 /etc/motd
812 </pre>
813
814 (The report shows the removal of the previously added file <code >motd.org</code>,
815 and the modification of <code >motd</code>. These are real, as the original <code >motd</code>
816 file, modified earlier, was restored at this point).
817 <p>
818 <a name="l39"></a>
819 <h3 >5.5.4: Skipping (some) integrity checks</h3>
820 Some files or directories may not require integrity checks. Automated
821 processes may modify files which are not threatening the proper functioning of
822 running programs or processes. In those cases a file can be prepared holding
823 the absolute paths of entries to be skipped. Each entry should appear on a
824 line of its own without any additional information.
825 <p>
826 <strong >Stealth</strong> can be informed about this file using the <code >--skip-files &lt;file-spec&gt;</code>
827 option. When a relative file specification is used with <code >--skip-files</code> it is
828 interpreted a location relative to the current working directory. The
829 skip-files file itself must contain the paths of the entries to be skipped
830 during file integrity scans. If an entry is already present in a log file then
831 <strong >stealth</strong> once generates an <code >IGNORING</code> message in the mail sent to the address
832 specified at <code >EMAIL</code> in the policy file. Each entry in a skip-file must be
833 on a line of its own and must be specified using absolute file paths. Entries
834 ending in a slash are assumed to be directories whose full contents must be
835 skipped. Other entries are interpreted as the names of files to skip. Initial
836 and trailing blanks, empty lines and lines having a <code >#</code> as their 1st non
837 blank character are ignored.
838 <p>
839 Here is an example:
840 <pre>
841
842 stealth -e --skip-files /root/stealth/remote/skipping remote.pol
843 </pre>
844
845 <p>
846 If an entry <code >/etc/skipme</code> appears in the current logs which is thereafter
847 added to the <code >skippath</code> file then the mail generated by <strong >stealth</strong>
848 once contains a line like the following:
849 <pre>
850 SKIPPING: /etc/skipme
851 &gt; a7695bb2d019e60988e757a4b692acfe /etc/skipme
852
853 </pre>
854
855 The reported hash-value is the hash-value at the time of the stealth-run
856 reporting the <code >SKIPPING</code> message.
857 <p>
858 Entries ending in a slash are assumed to be directories whose contents must
859 (recursively) be skipped.
860 <p>
861 <a name="l40"></a>
862 <h2 >5.6: Automating repeated `stealth' runs</h2>
863 To automate <strong >stealth</strong>'s integrity scans, a file
864 <code >/etc/cron.d/stealth</code> could be created, containing a line like
865 <pre>
866
867 2,17,32,47 * * * * root test -x /usr/bin/stealth &amp;&amp; \
868 /usr/bin/stealth /root/stealth/client.pol
869
870 </pre>
871
872 This starts <strong >stealth</strong> 2 minutes after every hour. In this example the ssh-key
873 must not require a passphrase, as <strong >crontab</strong>(1) cannot provide passphrases of
874 ssh-keys. Ssh-keys requiring passphrases can, however, be used if repeated
875 <strong >stealth</strong> runs are controlled by a program like <strong >ssh-cron</strong>(1).
876 <p>
877 In general, randomized events are harder to notice. For this <strong >stealth</strong> offers
878 the <code >--repeat</code> and <code >--random-interval</code> options. Both options expect an
879 argument in seconds (or in minutes, if an <code >m</code> is appended to the
880 specification). After each integrity scan the next integrity scan starts after
881 the time interval specified by the <code >--repeat</code> option plus a random time
882 value selected from the time interval specified by the <code >--random-interval</code>
883 option. For example, the <strong >stealth</strong> daemon started by the following command
884 repeatedly performs integrity scans between two and five minutes after the
885 last integrity scan completed:
886 <pre>
887
888 stealth --daemon /root/stealth/client.uds \
889 --repeat 2m --random-interval 3m /root/stealth/client.pol
890 </pre>
891
892 Once this program has started its <strong >ssh</strong>(1) connection to the client host
893 persists, and a possibly required ssh-passphrase is no longer
894 required. Additional (intermediate) integrity scans can always be requested
895 (also without requiring ssh-passphrase specifications) using the command
896 <pre>
897
898 stealth --rerun /root/stealth/client.uds
899 </pre>
900
901 <p>
902 <a name="ROTATE"></a><a name="l41"></a>
903 <h2 >5.7: Report File Rotation</h2>
904 When <strong >stealth</strong> performs integrity scans it appends information to the report
905 file. This file therefore eventually grows to a large size, and the systems
906 manager controlling <strong >stealth</strong> might want to <em >rotate</em> the report file every once in
907 a while (e.g., using a program like <strong >logrotate</strong>(1), also see the upcoming
908 section <a href="stealth05.html#LOGROTATE">5.7.2</a>). To ensure that no log-rotation takes place
909 while <strong >stealth</strong> is busy performing integrity scans (thus modifying the report file)
910 the options <strong >--suspend</strong> and <code >--resume</code> were implemented. Both options
911 require the process-ID file of currently active <strong >stealth</strong> process as their argument.
912 <p>
913 For example, if a <strong >stealth</strong> process was once started using the command
914
915 <pre>
916
917 stealth --daemon /root/stealth/small.uds --repeat 900 \
918 /root/stealth/small.pol
919 </pre>
920
921 then the <code >--suspend</code> and <code >--resume</code> commands for this process should
922 be called as:
923 <pre>
924 stealth --suspend /root/stealth/small.uds
925 stealth --resume /root/stealth/small.uds
926 </pre>
927
928 The <strong >stealth</strong> process identified in the files provided as arguments to
929 the <code >--suspend</code> and <code >--resume</code> options is called the <em >daemon stealth
930 process</em> below.
931 <p>
932 The <code >--suspend</code> option has the following effect:
933 <ul>
934 <li> If the daemon <strong >stealth</strong> process is currently processing its
935 policy file, performing an integrity scan, then the currently executing
936 policy file command is completed, whereafter further commands are ignored,
937 except for <code >--resume</code> (see below) and <code >--terminate</code>.
938 <li> Any scheduled integrity scans following the <code >--suspend</code> command
939 are ignored by the daemon <strong >stealth</strong> process;
940 <li> The daemon <strong >stealth</strong> process writes a message that it is being suspended to
941 the report file and then processes the report file as usual.
942 </ul>
943 Now that the report file is no longer modified by the daemon
944 <strong >stealth</strong> process, log-rotation may take place. E.g., a program like
945 <strong >logrotate</strong>(1) allows its users to specify a command or script just before
946 log-rotation takes place, and `<strong >stealth</strong> <code >--suspend udsfile</code>' could be
947 specified nicely in such a pre-rotation section.
948 <p>
949 The <code >--resume</code> option has the following effect:
950 <ul>
951 <li> The daemon <strong >stealth</strong> process resumes its activities by performing
952 another integrity scan. Thus, <code >--resume</code> implies <code >--rerun</code>.
953 <li> Any scheduled integrity scans following the <code >--resume</code> command are
954 again honored by the daemon <strong >stealth</strong> process.
955 </ul>
956 Note that, once <code >--suspend</code> has been issued, all commands except
957 <code >--resume</code> and <code >--terminate</code> are ignored by the daemon <strong >stealth</strong>
958 process. While suspended, the <code >--terminate</code> command is acknowledged as a
959 `emergency exit' which may or may not interfere with, e.g., an ongoing
960 log-rotation process. The daemon <strong >stealth</strong> process should not normally be
961 terminated while it is in its suspended mode. The normal way to terminate a
962 stealth process running in the background is:
963 <ul>
964 <li> Wait for the daemon <strong >stealth</strong> process to complete an ongoing series of
965 integrity scan commands;
966 <li> Issue the `<strong >stealth</strong> <code >--terminate udsfile</code>' command.
967 </ul>
968 <p>
969 <a name="STATUS"></a><a name="l42"></a>
970 <h3 >5.7.1: Status file cleanup</h3>
971 Whenever <strong >stealth</strong> is run and it encounters a modified situation the already
972 existing status file summarizing that particular situation is saved and a new
973 status file is created. Eventually, this will result in many status
974 files. While report files can be rotated, it is pointless to rotate old status
975 files, since they are never modified. Instead, status files exceeding a
976 certain age could be removed and more recent files might be zipped to conserve
977 space. In <strong >stealth</strong>'s binary distribution the file
978 <code >/usr/share/doc/stealth/usr/bin/stealthcleanup</code> is provided which can be
979 used to perform such a cleanup. The script expects one argument: a resource
980 file defining the following shell variables:
981 <ul>
982 <li> <code >directories</code>: the directories below which the status files are
983 found;
984 <li> <code >gzdays</code>: the number of days a status file must exist before it is
985 compressed using <strong >gzip</strong>(1);
986 <li> <code >rmdays</code>: the maximum age (in days) of compressed status
987 files. Files exceeding this age are removed using <strong >rm</strong>(1).
988 </ul>
989 Here is the <code >stealthcleanup</code> script as contained in the binary
990 distribution's <code >/usr/share/doc/stealth/usr/bin</code> directory:
991 <pre >
992 #!/bin/bash
993
994 usage()
995 {
996 echo "
997 Usage: $0 [-v] rc-file
998 Where:
999 -v: Show the actions that are performed
1000 rc-file: resource file defining:
1001 \`directories' - one or more directories containing status files
1002 \`gzdays' - number of days status files may exist before they
1003 are compressed
1004 \`rmdays' - number of days gzipped status files may exist
1005 before they are removed.
1006 "
1007 exit 1
1008 }
1009
1010
1011 error()
1012 {
1013 echo "$*" &gt;&amp;2
1014 exit 1
1015 }
1016
1017 if [ "$1" == "-v" ]
1018 then
1019 verbose=1
1020 shift 1
1021 else
1022 verbose=0
1023 fi
1024
1025 [ $# == 1 ] || usage
1026
1027 # now source the configuration file
1028 . $1
1029
1030 for x in $directories
1031 do
1032 cd $x || error "\`$x' must be a directory"
1033 if [ $verbose -eq 1 ]
1034 then
1035 echo "
1036 cd $x"
1037 fi
1038
1039 if [ $verbose -eq 1 ]
1040 then
1041 echo \
1042 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
1043 -exec /bin/rm {} \;
1044 fi
1045 /usr/bin/find ./ -mtime +$rmdays -type f -regex '.*[0-9]+-[0-9]+\.gz' \
1046 -exec /bin/rm {} \;
1047
1048 if [ $verbose -eq 1 ]
1049 then
1050 echo \
1051 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
1052 -exec /bin/gzip {} \;
1053 fi
1054 /usr/bin/find ./ -mtime +$gzdays -type f -regex '.*[0-9]+-[0-9]+' \
1055 -exec /bin/gzip {} \;
1056 done
1057
1058 exit 0
1059
1060
1061
1062
1063 </pre>
1064
1065 Assuming that the status files are written in
1066 <code >/var/stealth/target/local</code> and <code >/var/stealth/target/remote</code>; that status
1067 file should be compressed when older than 2 days and removed after 30 days,
1068 the resource file is:
1069 <pre >
1070 directories="
1071 /var/stealth/target/local
1072 /var/stealth/target/remote
1073 "
1074
1075 rmdays=30
1076 gzdays=3
1077 </pre>
1078
1079 Furthermore assuming that the resourcefile is installed in
1080 <code >/etc/stealth/cleanup.rc</code> and the <code >stealthcleanup</code> script itself in
1081 <code >/usr/bin/stealthcleanup</code>, the <code >stealthcleanup</code> script could be called
1082 as follows:
1083 <pre>
1084
1085 /usr/bin/stealthcleanup /etc/stealth/cleanup.rc
1086 </pre>
1087
1088 Note that <code >stealthcleanup</code> may be called whether or not there are active
1089 <strong >stealth</strong> processes.
1090 <p>
1091 <a name="LOGROTATE"></a><a name="l43"></a>
1092 <h3 >5.7.2: Using `logrotate' to control report- and status files</h3>
1093 A program like <strong >logrotate</strong>(1) allows its users to specify a command or
1094 script immediately following log-rotation, and `<strong >stealth</strong> <code >--resume
1095 pidfile</code>' could be specified nicely in such a post-rotation section.
1096 <p>
1097 Here is an example of a specification that can be used with
1098 <strong >logrotate</strong>(1). Logrotate (on Debian systems) keeps its configuration files
1099 in <code >/etc/logrotate.d</code>, and assuming there is a host <code >target</code>, whose report
1100 file is <code >/var/stealth/target/report</code>, the required <strong >logrotate</strong>(1)
1101 specification file (e.g., <code >/etc/logrotate.d/target</code>) could be:
1102 <pre >
1103 /root/stealth/report /var/log/stealth/client-small.log {
1104 weekly
1105 rotate 12
1106 compress
1107 missingok
1108 copytruncate
1109 sharedscripts
1110 prerotate
1111 /usr/bin/stealth --suspend /root/stealth/small.uds
1112 endscript
1113 postrotate
1114 /usr/bin/stealth --resume /root/stealth/small.uds
1115 endscript
1116 }
1117 </pre>
1118
1119 Using this specification file, <strong >logrotate</strong>(1) will
1120 <ul>
1121 <li> perform weekly rotations of the report file;
1122 <li> keep up to 12 rotated files, compressing them using <strong >gzip</strong>(1);
1123 <li> suspend the <strong >stealth</strong> daemon, before rotating its report file;
1124 suspended;
1125 <li> following the rotation, <strong >stealth</strong>'s actions are resumed.
1126 </ul>
1127 Note thet <code >stealth --resume xxx</code> always initiates another file integrity
1128 scan.
1129 <p>
1130 <hr>
1131 <ul>
1132 <li> <a href="stealth.html">Table of Contents</a>
1133 <li> <a href="stealth04.html">Previous Chapter</a>
1134 <li> <a href="stealth06.html">Next Chapter</a>
1135 </ul>
1136 <hr>
1137 </body>
1138 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth05.html">Previous Chapter</a>
13 <li> <a href="stealth07.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="l44"></a>
17 <h1 >Chapter 6: Kick-starting `stealth'</h1>
18 Here are the steps to take to kick-start <strong >stealth</strong>
19 <ul>
20 <li> Install the stealth Debian package <code >stealth_4.01.06_i386.deb</code> and
21 thus accept the provided binary program (skipping the next series of steps) or
22 do not accept the provided binary, and compile <strong >stealth</strong> yourself, as per the
23 following steps:
24 <li> Unpack <code >stealth_4.01.06.tar.gz</code>:
25 <code >tar xzvf tealth_4.01.06.tar.gz</code>
26 <li> <code >cd stealth</code>;
27 <li> Inspect, and where necessary modify the values of the variables in
28 the files <code >INSTALL.cf</code> and <code >icmconf</code>;
29 <li> Install a recent Gnu <code >g++</code> compiler;
30 <li> Install the bobcat library (both the binary and development version)
31 (<a href="https://fbb-git.github.io/bobcat/">https://fbb-git.github.io/bobcat/</a>);
32 <li> Install the <code >icmake</code> program
33 (<a href="https://fbb-git.github.io/icmake/">https://fbb-git.github.io/icmake/</a>);
34 <li> Run `<code >./build program strip</code>' to compile <strong >stealth</strong>;
35 <li> Run (probably as root) `<code >./build install program</code>' to install;
36 <li> Optionally install documentation. See section <a href="stealth02.html#COMPILING">2.1</a>.
37 </ul>
38 Following the installation the <code >stealth</code> directory tree has become
39 superfluous and can safely be removed.
40 <p>
41 Next, do:
42 <ul>
43 <li> <code >cp share/usr/bin/stealthmail /usr/local/bin</code>
44 <li> <code >mkdir /root/stealth</code>
45 <li> <code >cp documentation/example-policies/localhost.pol /root/stealth</code>
46 </ul>
47 <p>
48 <code >ssh</code> and <code >bash</code> (or another shell program) should be
49 available. <code >root@localhost</code> should be able to login at <code >localhost</code> using
50 <code >ssh root@localhost</code>, using the <code >/bin/bash</code>. Check
51 (as `root') at least
52 <pre>
53 ssh root@localhost
54 </pre>
55
56 as this might ask you for a confirmation that you've got the correct
57 host.
58 Now, run
59 <pre>
60 stealth /root/stealth/localhost.pol
61 </pre>
62
63 to initialize the stealth-report files for <code >localhost</code>. This initializes
64 the report for
65 <ul>
66 <li> all root setuid/setgid executable files on <code >localhost</code>,
67 <li> and for all files under <code >/etc/</code> on <code >localhost</code>.
68 </ul>
69 <p>
70 The mail-report is sent to <code >root@localhost</code>.
71 <p>
72 Now change or add or remove one of these files, and rerun <strong >stealth</strong>. The
73 file <code >/tmp/stealth-4.01.06.mail</code> should reflect these changes.
74 <p>
75 <hr>
76 <ul>
77 <li> <a href="stealth.html">Table of Contents</a>
78 <li> <a href="stealth05.html">Previous Chapter</a>
79 <li> <a href="stealth07.html">Next Chapter</a>
80 </ul>
81 <hr>
82 </body>
83 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth06.html">Previous Chapter</a>
13 <li> <a href="stealth08.html">Next Chapter</a>
14 </ul>
15 <hr>
16 <a name="USAGE"></a><a name="l45"></a>
17 <h1 >Chapter 7: Usage info</h1>
18 When <strong >stealth</strong> is started without arguments, it provides some help about how
19 to start it. A message like the following is produced:
20 <p>
21 <pre >
22 stealth V4.01.06
23 SSH-based Trust Enhancement Acquired through a Locally Trusted Host
24 Copyright (c) GPL 2005-2017
25
26 Usage 1 (activation modes):
27 stealth [options] policy
28 Where:
29 [options] - optional arguments (short options between parentheses,
30 option descriptions starting with (C) can only be used
31 on the command-line and are ignored when specified in the
32 policy file).
33 --daemon (-d) &lt;uds&gt;: (C) run as a background (daemon) process.
34 &lt;uds&gt; is the location of the Unix Domain Socket that is
35 used for communication with the stealth daemon process
36 --dry-run: (C) no integrity scans or reloads are performed, but
37 are assumed OK. Remaining tasks are normally performed
38 --log (-L) &lt;file-spec&gt;: log messages are appended to `&lt;file-spec&gt;'.
39 If &lt;file-spec&gt; does not exist, it is first created
40 --logmail: mail is logged (requires --log or --syslog)
41 --max-size value[BKMG]: files retrieved by GET may at most
42 have `value' bytes (B), Kbytes (K), Mbytes (M), Gbytes (G).
43 By default: 10M; The default unit is `B'
44 --no-mail: mail is not sent. By default mail is sent as configured
45 in the policy-file (--logmail can be specified independently
46 from --no-mail)
47 --parse-policy-file (-p): (C) parse the policy file, no further actions.
48 Specify once to see the numbered commands,
49 twice to see the policy file parsing steps as well.
50 Results to std output.
51 --random-interval (-i) value: start integrity scans within
52 a random interval of `value' seconds (minutes if an `m'
53 is appended to the specified value).
54 Requires --repeat.
55 --repeat value: start an integrity scan every `value' seconds
56 (minutes if an `m' is appended to the specified value).
57 --run-command (-r) value: (C) only execute command #`value'
58 (not available in combination with --daemon)
59 --skip-files (-s) &lt;file-spec&gt;: skip the integrity checks of the
60 files having their absolute path names listed in `&lt;file-spec&gt;'
61 --stdout (-o): messages are (also) written to stdout
62 (not available in combination with --daemon)
63 --syslog: write syslog messages
64 --syslog-facility fac: syslog facility to use. By default DAEMON
65 --syslog-priority pri: syslog priority to use. By default NOTICE
66 --syslog-tag tag: identifier prefixed to syslog messages. By
67 default `STEALTH')
68 --time-stamp &lt;type&gt;: the time-stamps to use. By default UTC.
69 (does not apply to syslog-timestamps)
70 --verbosity (-V) value: determines the amount of logged information.
71 Requires --log or --syslog:
72 0: nothing is logged
73 1: mode reports and policy commands
74 2: also: ipc commands and actions
75 3: also: integrity scan informative messages
76 policy: location of the policy file
77
78 Usage 2 (IPC modes, all options are command-line only):
79 stealth {--reload,--rerun,--resume,--suspend,--terminate} &lt;uds&gt;
80 Where:
81 --reload: reload a stealth process's policy and skip-file
82 files
83 --rerun: start an integrity scan
84 --resume: resume stealth after --suspend
85 --suspend: suspend stealth's activities
86 to continue: --resume; to end: --terminate
87 --terminate: terminate the stealth daemon
88 &lt;uds&gt;: location of the Unix Domain Socket to connect to.
89
90 Usage 3 (support mode, all options are command-line only)
91 stealth {--help,--version}
92 Where:
93 --help (-h): provide this help and terminate
94 --version (-v): show version information and terminate
95
96 </pre>
97
98 <p>
99 Note that with the second type of usage the policy file is not required:
100 here only the <code >pidfile</code> must be specified.
101 <p>
102 <hr>
103 <ul>
104 <li> <a href="stealth.html">Table of Contents</a>
105 <li> <a href="stealth06.html">Previous Chapter</a>
106 <li> <a href="stealth08.html">Next Chapter</a>
107 </ul>
108 <hr>
109 </body>
110 </html>
0 <!DOCTYPE html><html><head>
1 <meta charset="UTF-8">
2 <title> <div style="text-align: center">Stealth V. 4.01.06</div> </title>
3 <style type="text/css">
4 figure {text-align: center;}
5 img {vertical-align: center;}
6 </style>
7 </head>
8 <body text="#27408B" bgcolor="#FFFAF0">
9 <hr>
10 <ul>
11 <li> <a href="stealth.html">Table of Contents</a>
12 <li> <a href="stealth07.html">Previous Chapter</a>
13 </ul>
14 <hr>
15 <a name="l46"></a>
16 <h1 >Chapter 8: Errormessages</h1>
17 <code >Can't chdir to `path'</code>
18 <blockquote >the directory <code >path</code> could not be
19 created/used. This may be a permission problem. Check the permissions of
20 <code >path</code> if <code >path</code> does actually exist. The problem may be in a path
21 component, not necessarily in the last element of the path.
22 </blockquote>
23 <p>
24 <code >Can't open `&lt;fname&gt;' to read (or write)</code>
25 <blockquote >When a <code >GET</code> or <code >PUT</code> command fails because the target file
26 could not be read or written, <strong >stealth</strong> terminates afer logging this message. The
27 file may not exist or you may not not have sufficient permissions to read or
28 write it.
29 </blockquote>
30 <p>
31 <code >Corrupt line in policy file: ...</code>
32 <blockquote >The apparently corrupted line is shown. The line is corrupted if
33 the line could not be split into an initial word and its remainder. Normally
34 this should not happen. As the line is mentioned, the message itself should
35 assist you in your repairs.
36 </blockquote>
37 <p>
38 <code >could not open &lt;logname&gt;</code>
39 <blockquote >This message is generated when the mentioned log-file cannot be
40 written to. Check the permissions of the file, and check if the path to the
41 file exists. The problem may be in a path component, not necessarily in the
42 last element of the path or in the file itself.
43 </blockquote>
44 <p>
45 <code >--daemon: missing uds-file or policy file</code>
46 <blockquote >The <code >--daemon</code> option requires the location for its Unix Domain
47 Socket, and in addition a policy file must be specified. Most likely the
48 location of the Unix Domain File was omitted, thus confusing the policy file
49 with the Unix Domain File
50 </blockquote>
51 <p>
52 <code >incompatible options: ...</code>
53 <blockquote >Two or more incompatible options are shown. E.g., <code >--daemon</code> is
54 incompatible with IPC options, which themselves are mutually
55 incompatible. Omit all but one of the mentioned options and restart <strong >stealth</strong>
56 </blockquote>
57 <p>
58 <code >Inserting command `...' failed.</code>
59 <blockquote >the mentioned command could not be sent to a child-process (<code >sh</code>
60 or <code >ssh</code>). Check the availability of the <code >ssh</code> connection to the
61 client, and whether you have permissions to execute the specified command.
62 </blockquote>
63 <p>
64 <code >Invalid --random-interval specified</code>
65 <blockquote >The --random-interval option was given an invalid (too large or
66 negative) argument.
67 </blockquote>
68 <p>
69 <code >invalid --&lt;option&gt; specified</code>
70 <blockquote >The specified option value (e.g., <code >--max-size</code> was specified, but
71 its option value is not a valid integral number) is not supported
72 </blockquote>
73 <p>
74 <code >LocalClientSocket::connect(): ...</code>
75 <blockquote >When running in IPC-mode <strong >stealth</strong> could not connect to the unix domain
76 socket specified for the IPC-mode. Check whether the matching <strong >stealth</strong> daemon
77 exists, and whether the location of the uds-file was correctly specified
78 </blockquote>
79 <p>
80 <code >LocalServerSocket::accept(): ...</code>
81 <blockquote >When running in daemon mode incoming connections could not be
82 accepted. This may have many causes, and a probably cause is mentioned with
83 the error message
84 </blockquote>
85 <p>
86 <code >LocalServerSocket::listen(): ...</code>
87 <blockquote >When running in daemon mode the unix domain socket failed to
88 listen for incoming connections. This may have many causes, and a probably
89 cause is mentioned with the error message
90 </blockquote>
91 <p>
92 <code >LocalServerSocket::open(&lt;uds&gt;): ...</code>
93 <blockquote >When running in daemon mode the unix domain socket could not be
94 opened. A possible reason is that an entry in the file system having the same
95 name already exists. The error message will mention a probably cause of the
96 failure
97 </blockquote>
98 <p>
99 <code >--max-size incompatible with IPC calls</code>
100 <blockquote >The <code >--max-size</code> option can can only be used when <strong >stealth</strong> is also
101 receiving a policy file. It cannot be used in combination with the Inter
102 Process Communication (IPC) options <code >--reload, --rerun, --resume, --suspend</code>
103 or <code >--terminate</code>.
104 </blockquote>
105 <p>
106 <code >--max-size &lt;value&gt;: invalid option value</code>
107 <blockquote >An invalid specification for <code >--max-size</code> was received. Refer to
108 the man-page or manual for information about valid options.</blockquote>
109 <p>
110 <code >No exit value for &lt;cmd&gt; ...</code>
111 <blockquote >No exit value was received for the logged command, after which <strong >stealth</strong>
112 terminates.
113 </blockquote>
114 <p>
115 <code >--&lt;option&gt; is only valid for a s() foreground process</code>
116 <blockquote >The indicated option cannot be specified in combination with a
117 <code >--daemon</code> or IPC-option (like <code >--suspend</code>)
118 </blockquote>
119 <p>
120 <code >--random-interval requires --repeat</code>
121 <blockquote >The <code >--random-interval</code> option can only be used when the
122 <code >--repeat</code> option has also been specified.
123 </blockquote>
124 <p>
125 <code >--repeat not available in IPC modes</code>
126 <blockquote >The <code >--repeat</code> option cannot be specified in combination with an
127 IPC-option (like <code >--suspend</code>)
128 </blockquote>
129 <p>
130 <code >--run-command 0: not a valid (natural) command number</code>
131 <blockquote >The <code >--run-command</code> option requires an argument, which is a
132 positive, integral value.
133 </blockquote>
134 <p>
135 <code >--run-command &lt;nr&gt;: invalid command number</code>
136 <blockquote >The <code >--run-command</code> option requires an argument, which is a
137 positive, integral value at most equal to the number of commands listed in the
138 policy file.
139 </blockquote>
140 <p>
141 <code >--skip-files incompatible with IPC calls</code>
142 <blockquote >The <code >--skip-files</code> option can only be used when <strong >stealth</strong> is also given
143 a policy file. It cannot be used in combination with IPC options (<code >--reload,
144 --rerun, --resume, --suspend</code> or <code >--terminate</code>).
145 </blockquote>
146 <p>
147 <code >--skip-files: missing skip-file or policy file</code>
148 <blockquote >The <code >--skip-files</code> option requires a file name and the <strong >stealth</strong> command
149 also requires a policy file. Most likely the name of the skip-file was not
150 provided, thus confusing the policy file with the skip-file.
151 </blockquote>
152 <p>
153 <code >--stdout incompatible with --daemon</code>
154 <blockquote >The <code >--stdout</code> option can only be used when <strong >stealth</strong> is not started as
155 a daemon process.
156 </blockquote>
157 <p>
158 <code >syslog facility &lt;facility&gt; not supported</code>
159 <blockquote >The option <code >--syslog-facility</code> requires the name of a standard
160 <strong >syslog</strong>(1) facility. Supported facilities are <code >DAEMON, LOCAL0</code> through
161 <code >LOCAL7</code> and <code >USER</code>. See, e.g., the <strong >syslog</strong>(3) man-page for an overview
162 of their definitions.</blockquote>
163 <p>
164 <code >--syslog* options incompatible with IPC calls</code>
165 <blockquote ><code >--syslog*</code> options can can only be used when <strong >stealth</strong> is also
166 receiving a policy file. It cannot be used in combination with the Inter
167 Process Communication (IPC) options <code >--reload, --rerun, --resume, --suspend</code>
168 or <code >--terminate</code>.
169 </blockquote>
170 <p>
171 <code >syslog priority &lt;priority&gt; not supported</code>
172 <blockquote >The option <code >--syslog-priority</code> requires the name of a standard
173 <strong >syslog</strong>(1) priority. All standard priorities are supported. See, e.g., the
174 <strong >syslog</strong>(3) man-page for an overview of available priorities. The prefixes
175 used with the priorities in this man-page (i.e., <code >LOG_</code> should not be used
176 when specifying the <code >--syslog-priority</code>. E.g., use <code >--syslog-priority
177 WARNING</code> rather than <code >--syslog-priority LOG-WARNING</code>)
178 </blockquote>
179 <p>
180 <code >terminated: non-zero exit value for `...'</code>
181 <blockquote >A local command (not using the <code >CHECK</code> keyword), returned with a
182 non-zero exit. This will terminate further processing of the policy
183 file. Inspect and/or rerun the command `by hand' to find indications about
184 what went wrong. The report file or the standard error stream may also contain
185 additional information about the reason of the failure.
186 </blockquote>
187 <p>
188 <code >Unable to create the logfile `...'</code>
189 <blockquote >the mentioned log file could not be created. Check the permissions of
190 the file, check if the path to the file exists. The problem may be in a path
191 component, not necessarily in the last element of the path or in the file
192 itself.
193 </blockquote>
194 <p>
195 <code >Unix Domain Socket `&lt;uds&gt;': already in use, remove it first</code>
196 <blockquote >The intended Unix Domain Socket name (<code >&lt;uds&gt;</code>) is already in
197 use. It could be a file that is or has been used by another process. Either
198 use another name for the unix domain socket, or remove the existing
199 file-system entry</blockquote>
200 <p>
201 <code >USE SSH ... entry missing in the policy file</code>
202 <blockquote >there is no default for the <code >USE SSH</code> specification in the policy
203 file. The specification could not be found. Provide a specification like:
204 <pre>
205 USE SSH ssh -q root@localhost
206 </pre>
207
208 </blockquote>
209 <p>
210 <hr>
211 <ul>
212 <li> <a href="stealth.html">Table of Contents</a>
213 <li> <a href="stealth07.html">Previous Chapter</a>
214 </ul>
215 <hr>
216 </body>
217 </html>
Binary diff not shown
0 %!PS-Adobe-2.0
1 %%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
2 %%Title: stealth.dvi
3 %%CreationDate: Mon Aug 7 13:24:43 2017
4 %%Pages: 49
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 596 842
7 %%DocumentFonts: SFBX1000 SFRM1000 CMSY10 SFTT1000 SFTI1000 CMMI10
8 %%DocumentPaperSizes: a4
9 %%EndComments
10 %DVIPSWebPage: (www.radicaleye.com)
11 %DVIPSCommandLine: dvips -o ../ps/stealth.ps stealth.dvi
12 %DVIPSParameters: dpi=600
13 %DVIPSSource: TeX output 2017.08.07:1524
14 %%BeginProcSet: tex.pro 0 0
15 %!
16 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
17 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
18 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
19 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
20 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
21 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
22 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
23 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
24 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
25 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
26 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
27 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
28 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
29 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
30 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
31 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
32 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
33 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
34 /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
35 setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
36 restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
37 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
38 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
39 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
40 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
41 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
42 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
43 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
44 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
45 /dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
46 def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
47 rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
48 N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
49 false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
50 length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
51 forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
52 BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
53 {BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
54 round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
55 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
56 /M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
57 B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
58 -3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
59 0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
60
61 %%EndProcSet
62 %%BeginProcSet: cm-super-t1.enc 0 0
63 % This file is generated from `T1uni.map' and `glyphlist.txt', `gl-other.txt'
64 %
65 % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
66 % LIGKERN quoteleft quoteleft =: quotedblleft ;
67 % LIGKERN quoteright quoteright =: quotedblright ;
68 % LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
69 % LIGKERN greater greater =: guillemotright ;
70 % LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
71 %
72 % LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
73 % LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
74 % LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
75 % LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
76 % LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
77 % LIGKERN nine {} * ; * {} nine ;
78 %
79 /T1Encoding [
80 % 0x00
81 /grave
82 /acute
83 /circumflex
84 /tilde
85 /dieresis
86 /hungarumlaut
87 /ring
88 /caron
89 /breve
90 /macron
91 /dotaccent
92 /cedilla
93 /ogonek
94 /quotesinglbase
95 /guilsinglleft
96 /guilsinglright
97 % 0x10
98 /quotedblleft
99 /quotedblright
100 /quotedblbase
101 /guillemotleft
102 /guillemotright
103 /endash
104 /emdash
105 /afii61664
106 /perthousandzero % PERTHOUSAND ZERO
107 /dotlessi
108 /dotlessj
109 /ff
110 /fi
111 /fl
112 /ffi
113 /ffl
114 % 0x20
115 /uni2423
116 /exclam
117 /quotedbl
118 /numbersign
119 /dollar
120 /percent
121 /ampersand
122 /quoteright
123 /parenleft
124 /parenright
125 /asterisk
126 /plus
127 /comma
128 /hyphen
129 /period
130 /slash
131 % 0x30
132 /zero
133 /one
134 /two
135 /three
136 /four
137 /five
138 /six
139 /seven
140 /eight
141 /nine
142 /colon
143 /semicolon
144 /less
145 /equal
146 /greater
147 /question
148 % 0x40
149 /at
150 /A
151 /B
152 /C
153 /D
154 /E
155 /F
156 /G
157 /H
158 /I
159 /J
160 /K
161 /L
162 /M
163 /N
164 /O
165 % 0x50
166 /P
167 /Q
168 /R
169 /S
170 /T
171 /U
172 /V
173 /W
174 /X
175 /Y
176 /Z
177 /bracketleft
178 /backslash
179 /bracketright
180 /asciicircum
181 /underscore
182 % 0x60
183 /quoteleft
184 /a
185 /b
186 /c
187 /d
188 /e
189 /f
190 /g
191 /h
192 /i
193 /j
194 /k
195 /l
196 /m
197 /n
198 /o
199 % 0x70
200 /p
201 /q
202 /r
203 /s
204 /t
205 /u
206 /v
207 /w
208 /x
209 /y
210 /z
211 /braceleft
212 /bar
213 /braceright
214 /asciitilde
215 /hyphen.alt % HANGING HYPHEN
216 % 0x80
217 /Abreve
218 /Aogonek
219 /Cacute
220 /Ccaron
221 /Dcaron
222 /Ecaron
223 /Eogonek
224 /Gbreve
225 /Lacute
226 /Lcaron
227 /Lslash
228 /Nacute
229 /Ncaron
230 /Eng
231 /Ohungarumlaut
232 /Racute
233 % 0x90
234 /Rcaron
235 /Sacute
236 /Scaron
237 /Scedilla
238 /Tcaron
239 /Tcommaaccent
240 /Uhungarumlaut
241 /Uring
242 /Ydieresis
243 /Zacute
244 /Zcaron
245 /Zdotaccent
246 /IJ
247 /Idotaccent
248 /dcroat
249 /section
250 % 0xA0
251 /abreve
252 /aogonek
253 /cacute
254 /ccaron
255 /dcaron
256 /ecaron
257 /eogonek
258 /gbreve
259 /lacute
260 /lcaron
261 /lslash
262 /nacute
263 /ncaron
264 /eng
265 /ohungarumlaut
266 /racute
267 % 0xB0
268 /rcaron
269 /sacute
270 /scaron
271 /scedilla
272 /tcaron
273 /tcommaaccent
274 /uhungarumlaut
275 /uring
276 /ydieresis
277 /zacute
278 /zcaron
279 /zdotaccent
280 /ij
281 /exclamdown
282 /questiondown
283 /sterling
284 % 0xC0
285 /Agrave
286 /Aacute
287 /Acircumflex
288 /Atilde
289 /Adieresis
290 /Aring
291 /AE
292 /Ccedilla
293 /Egrave
294 /Eacute
295 /Ecircumflex
296 /Edieresis
297 /Igrave
298 /Iacute
299 /Icircumflex
300 /Idieresis
301 % 0xD0
302 /Eth
303 /Ntilde
304 /Ograve
305 /Oacute
306 /Ocircumflex
307 /Otilde
308 /Odieresis
309 /OE
310 /Oslash
311 /Ugrave
312 /Uacute
313 /Ucircumflex
314 /Udieresis
315 /Yacute
316 /Thorn
317 /SS % Germandbls
318 % 0xE0
319 /agrave
320 /aacute
321 /acircumflex
322 /atilde
323 /adieresis
324 /aring
325 /ae
326 /ccedilla
327 /egrave
328 /eacute
329 /ecircumflex
330 /edieresis
331 /igrave
332 /iacute
333 /icircumflex
334 /idieresis
335 % 0xF0
336 /eth
337 /ntilde
338 /ograve
339 /oacute
340 /ocircumflex
341 /otilde
342 /odieresis
343 /oe
344 /oslash
345 /ugrave
346 /uacute
347 /ucircumflex
348 /udieresis
349 /yacute
350 /thorn
351 /germandbls % or /germandbls.alt
352 ] def
353
354 %%EndProcSet
355 %%BeginProcSet: texps.pro 0 0
356 %!
357 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
358 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
359 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
360 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
361 pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
362 div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
363 /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
364 definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
365 sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
366 mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
367 exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
368 forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
369 end
370
371 %%EndProcSet
372 %%BeginProcSet: special.pro 0 0
373 %!
374 TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
375 /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
376 /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
377 /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
378 /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
379 X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
380 /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
381 /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
382 {userdict/md get type/dicttype eq{userdict begin md length 10 add md
383 maxlength ge{/md md dup length 20 add dict copy def}if end md begin
384 /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
385 atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
386 itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
387 transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
388 curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
389 pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
390 if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
391 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
392 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
393 yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
394 neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
395 noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
396 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
397 neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
398 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
399 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
400 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
401 TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
402 Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
403 }if 0 setgray}N/@beginspecial{SDict begin/SpecialSave save N gsave
404 normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount
405 countdictstack N}N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto
406 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale
407 ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}
408 ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale
409 llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly
410 lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N
411 /erasepage{}N/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{
412 count ocount sub{pop}repeat countdictstack dcount sub{end}repeat
413 grestore SpecialSave restore end}N/@defspecial{SDict begin}N
414 /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
415 currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
416 moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
417 /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
418 1 startangle endangle arc savematrix setmatrix}N end
419
420 %%EndProcSet
421 %%BeginProcSet: color.pro 0 0
422 %!
423 TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
424 setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
425 }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
426 /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
427 setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
428 /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
429 known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
430 /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
431 /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
432 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
433 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
434 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
435 /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
436 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
437 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
438 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
439 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
440 /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
441 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
442 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
443 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
444 /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
445 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
446 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
447 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
448 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
449 /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
450 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
451 /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
452 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
453 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
454 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
455 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
456 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
457 /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
458 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
459 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
460 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
461 /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
462 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
463 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
464 DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
465 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
466 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
467 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
468
469 %%EndProcSet
470 TeXDict begin @defspecial
471
472 systemdict /pdfmark known{userdict /?pdfmark systemdict /exec get
473 put}{userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict
474 /cleartomark get put}ifelse
475
476 /DvipsToPDF{72.27 mul Resolution div} def/PDFToDvips{72.27 div Resolution
477 mul} def/BPToDvips{72 div Resolution mul}def/BorderArrayPatch{[exch{dup
478 dup type/integertype eq exch type/realtype eq or{BPToDvips}if}forall]}def/HyperBorder
479 {1 PDFToDvips} def/H.V {pdf@hoff pdf@voff null} def/H.B {/Rect[pdf@llx
480 pdf@lly pdf@urx pdf@ury]} def/H.S {currentpoint HyperBorder add /pdf@lly
481 exch def dup DvipsToPDF 72 add /pdf@hoff exch def HyperBorder sub /pdf@llx
482 exch def} def/H.L {2 sub dup/HyperBasePt exch def PDFToDvips /HyperBaseDvips
483 exch def currentpoint HyperBaseDvips sub /pdf@ury exch def/pdf@urx
484 exch def} def/H.A {H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF
485 HyperBasePt sub sub /pdf@voff exch def} def/H.R {currentpoint HyperBorder
486 sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint
487 exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def} def
488
489 @fedspecial end
490 %%BeginFont: CMMI10
491 %!PS-AdobeFont-1.0: CMMI10 003.002
492 %%Title: CMMI10
493 %Version: 003.002
494 %%CreationDate: Mon Jul 13 16:17:00 2009
495 %%Creator: David M. Jones
496 %Copyright: Copyright (c) 1997, 2009 American Mathematical Society
497 %Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
498 % This Font Software is licensed under the SIL Open Font License, Version 1.1.
499 % This license is in the accompanying file OFL.txt, and is also
500 % available with a FAQ at: http://scripts.sil.org/OFL.
501 %%EndComments
502 FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
503 /UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
504 {save true}{false}ifelse}{false}ifelse
505 11 dict begin
506 /FontType 1 def
507 /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
508 /FontName /CMMI10 def
509 /FontBBox {-32 -250 1048 750 }readonly def
510 /PaintType 0 def
511 /FontInfo 10 dict dup begin
512 /version (003.002) readonly def
513 /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
514 /FullName (CMMI10) readonly def
515 /FamilyName (Computer Modern) readonly def
516 /Weight (Medium) readonly def
517 /ItalicAngle -14.04 def
518 /isFixedPitch false def
519 /UnderlinePosition -100 def
520 /UnderlineThickness 50 def
521 /ascent 750 def
522 end readonly def
523 /Encoding 256 array
524 0 1 255 {1 index exch /.notdef put} for
525 dup 60 /less put
526 dup 62 /greater put
527 readonly def
528 currentdict end
529 currentfile eexec
530 D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
531 45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
532 7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
533 72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
534 BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
535 974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
536 11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
537 1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
538 7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
539 0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
540 EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
541 404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
542 78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
543 A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
544 88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
545 C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
546 BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
547 98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
548 E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
549 143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
550 981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
551 88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
552 4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
553 FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
554 347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
555 FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
556 C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
557 B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
558 F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
559 29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
560 36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
561 048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
562 80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
563 9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
564 75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
565 4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
566 74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
567 D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
568 E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
569 EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
570 543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
571 710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
572 EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
573 7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
574 03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
575 01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
576 500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
577 F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
578 AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
579 1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
580 85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
581 4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
582 6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
583 55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
584 085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
585 BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
586 2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
587 CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
588 BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
589 D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
590 991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
591 6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
592 E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
593 E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
594 B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
595 4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
596 1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
597 B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
598 8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
599 FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
600 AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
601 BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
602 E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
603 38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
604 7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
605 2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
606 DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
607 22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
608 8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
609 44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
610 D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
611 42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
612 C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
613 0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
614 66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
615 E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
616 6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
617 1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
618 B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
619 897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
620 EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
621 A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
622 F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
623 A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
624 2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
625 51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
626 598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
627 87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
628 178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
629 4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
630 7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
631 AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
632 3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
633 337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
634 C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
635 DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
636 7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
637 6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
638 98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
639 821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
640 C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
641 7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
642 B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
643 A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
644 23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
645 C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
646 969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
647 3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
648 9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
649 1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
650 B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
651 95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
652 FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
653 44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
654 FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
655 E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
656 633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
657 6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
658 FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
659 375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
660 6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
661 EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
662 E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
663 F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
664 DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
665 D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
666 D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
667 9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
668 9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
669 B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
670 D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
671 8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
672 FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
673 B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
674 00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
675 909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
676 5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
677 7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
678 BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
679 C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
680 BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
681 BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
682 4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
683 94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
684 F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
685 E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
686 92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
687 63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
688 CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
689 B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
690 5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
691 86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
692 AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
693 3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
694 35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
695 155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
696 AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
697 E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
698 226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
699 9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
700 8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
701 919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
702 A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
703 9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
704 523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
705 88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
706 2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
707 AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
708 B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9173633D9B50449E0
709 F9026E7A4CC1A3694D6C030E5AE53C0DAAF90B0046E22E14FF2787AC8194C42A
710 4B8846856AFE4CA20940A4E53896A851344E2E5538B9550721332077A972C793
711 89CE532A20FA4A52F80B5D7EE0FF0915523A98E98B71B8ABB4D7F35DA6C05364
712 A8B3D5DA9B1716C5C4D4402847C5A9BDA2F668709D51041BD566B7E1E675DCEC
713 1AF4BD172F05A73329FBB30BC7D1D7EC85FEAF5CF1ED6BE70F7526E115381BF2
714 47D955C5032404DA2FD82824C73F530E15E157EF023A2D9B50F4516A611B3F99
715 3803C6EFE49E08AE983B4D15CE6699B5111C0A45913DE61EAC437709143AF4ED
716 0D5136428AEEEF3776F9BA48212963150132D63DB4098AC124EE86C3AC7138AF
717 B90A504A1E15524BA2662D7E0FFD6377FF7CAA3B6113DAB8AF64837C4A99D99E
718 A499EC597828133A4C6421E0707E7E978C9B2A459620D0CB189775816D1421C1
719 87110675A765C25DC2FB607ECCD8C53F705B406932F41A9DFE08
720 0000000000000000000000000000000000000000000000000000000000000000
721 0000000000000000000000000000000000000000000000000000000000000000
722 0000000000000000000000000000000000000000000000000000000000000000
723 0000000000000000000000000000000000000000000000000000000000000000
724 0000000000000000000000000000000000000000000000000000000000000000
725 0000000000000000000000000000000000000000000000000000000000000000
726 0000000000000000000000000000000000000000000000000000000000000000
727 0000000000000000000000000000000000000000000000000000000000000000
728 cleartomark
729 {restore}if
730 %%EndFont
731 %%BeginFont: SFTI1000
732 %!FontType1-1.0: SFTI1000 0.3
733 %%CreationDate: Wed Sep 12 2001
734 % Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
735 % See the file COPYING (GNU General Public License) for license conditions.
736 % Converted from METAFONT EC/TC and LH fonts:
737 % ecti1000, tcti1000, lati1000, lbti1000, lcti1000, rxti1000.
738 11 dict begin
739 /FontInfo 6 dict dup begin
740 /version (0.3) def
741 /FullName (Computer Modern Italic) def
742 /FamilyName (Computer Modern) def
743 /ItalicAngle -14.04 def
744 /isFixedPitch false def
745 /Weight (Medium) def
746 end readonly def
747 /FontName /SFTI1000 def
748 /Encoding StandardEncoding def
749 /PaintType 0 def
750 /FontType 1 def
751 /FontMatrix [0.001 0 0 0.001 0 0] def
752 /FontBBox{-95 -321 1415 932}readonly def
753 currentdict end
754 currentfile eexec
755 D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
756 69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
757 CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
758 F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
759 F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
760 EF25195F68A2A98170E48759F159DB0CEB42017533BBB306E6672F8DDDEE8A3B
761 6B9B323FB49A7ADEE78446D461D84AE14D25E874C4C6E2F7E5E414E33B0ED6AC
762 0D50F9DE6403F4F07ACC25F73FD6CF8E8559149283213ADD971C6291D253EE57
763 FE797DC5B048D77F8A6C67F6E1BC8D444F21352F8B40F8FCB04ADDEF61553ABF
764 CAC7218544A040752E1D2986BFA83E6657CDD90F0CFAE380B190912E11F1DAA5
765 6096AABD25AC2B2BC4C55FA614150C4000AA534AB54407AF21CF9A585E5EFB83
766 75B1260FF4E2C4B60381F0928586EE907BB5B429C77F26C2F465D9A446F37812
767 979C16CC88722B2987C591425AFD9F8FEA9C58721871A6E7EC6BE3F18FDF86D3
768 0B8AF67B4F85462B2FD36D2597E0FE6B51FB815C60EBAC4EE74FF39D2ED1AC54
769 D8BF48EF8880B3287DABEC5B42A4CD6871D7B6113093D2537534232EDB905BD0
770 5B8CC6AE3BFEDD03F66E1BFD36EA084928AFFF5E581E5242AF3A53F074CD73CF
771 E69205EB4A9DE53E47B8FA10A72196E929AA846F30EB340889302C5E1C22431B
772 224AFFC5BE98FFB8FD189565808D376E5EDB684FC5BB9457782371D2AB1A5E76
773 88ED3D1E0FAA8AD34EC1FDBB1C0B2F7605609E8013C3690F488F6A4CAA3AA124
774 1138F4B84F810945C8631658C04BFAF05B6C63FCF69FE937267F86087C411546
775 10875BB42FF45E8B9B582137E76B19869A7ADCA21D210E4977B02F088194A546
776 A7B6D5B0C82B5F00D879B77D8CDC0B1A8D61358A267105EA57882F07DFE61635
777 69106C5E7E07AA69625D8EFFC49D84B891F4587096E2EDF7D8FFC0B7D5AE92BA
778 4267E11C65BDD9097F296F832831CE02B8B67E752C062E7E79AD278CA8D551DD
779 51099756B23C6F1B1674F986C6A09B4CB1FC56BBA0151D4242067340145CCDC8
780 511C67B478FDA6F2692D84FA0B511C640B61DE8B924C7B753F6E8987EA6F7D1F
781 A6A8BA59728D15009517A38CC82AECC8517E9D8DC76ABE9A1B82EC5E261135B1
782 234AE6BBE95FF9D6AC6C0E21A84B3377F9F6DC018E1C74333BD4CA457F4F22E4
783 AE235EF7D346DE3E01D850A44A20C66E1E7122697E62E4081D5F34DCE678C874
784 5A6B72A8E34FEF7DE05B2A0FA1A70318E63BF984F1AFB3A1F7C9A8FA0A7599C2
785 FD89203E6A0B323E6E81B810FD9A0FE7A7C11B2440A0CA3622509C46C057EBFE
786 6653F4F9DAA3401B6A9C518E5F5E6123AE36B864DB0640E85AC0FE6F953B2AF3
787 D5E6F68CB3D52D76D90121FC0A7466CBC5A477BD9D53E6CF1DBA3B7F638E3FE0
788 F57EFE45F4BCB0B429D73EF6AA1F746B4F19A38CFE860FE1A87B2FC729270BD1
789 4A4005330239328466F7B525418C68866DD4C4D1BBD27B060EDB1BD9A850DB17
790 82FC8962A611EBCCDB63794DD1A5921F726C0529197AA0700E5C03B512806565
791 F8355D0AE2FA25F24D78A1AD109B7D4C3CEE8A9875FB3AA771E44EEF5C5BD4DA
792 B49C6D2FB9E94241A33104341C57A9F3F02AF84B81FC646BA90B46B27138B926
793 635F6E7845B1B28D923A74DD9CDC7257A831D99BED9E43439B6ED9F6A725E434
794 8CF9EE0EB9208A27D9C90A86725417CEF963256D20AEC80007ED21DFB3ABA3D3
795 529FEF16DEAE8D919C81A3C70F1CB9BC178F130B3D7BD0EC942D740951ABF4C2
796 B0CF36F309895804413E3074EAA9530F278255665E4093F98C795712CDEFCE5E
797 92749805DBE1B0C05ACF0B1F095275D4E9C6C475E9975FE2FC2180FCFA1CE771
798 0407FB030F6793A4C188EAFB20430DDDB5EF76C8A9A44C9B0453D767B78FC23A
799 6DF3D0E77D9071466AD8CD4659516345EA6187666F868D9A6F980AFD8B44E80C
800 A19D0878978C821D33E54FBD386BD9B16EC312BA9F8D10469A0BD6C82E586EA6
801 7A010AC6052A54548AC32B145941723005E8C6E420FBA22DA80EF809BB46C698
802 CB0F1E158C0EE0905FD1263CDE87B872129CFF76089F2CEE01C834BADBB4DC61
803 8A53D4BB49A9D0A5FE82D9C5B16D7589D623BC039DA83B1BBFD733580A1432B6
804 A5733F2843807638D112A36665FEF3AE88E3A4D078136D61A9B9E49A2C0E0B23
805 0884C4E07EE9BFE29818F263F3445F4839496F01F7775296858496D62CBDB81D
806 98072C8685F3F57B143B5969D1F139689335EAB32E5BFA7BFD9F1E0C781D2375
807 67F02BFC73A06B84C2EA6B9482601D9400DD815B4704F2C2B6B28D3024E56FD0
808 1593B6F0F93491F6DDDEDC4CCBC5F6CB3999093206FE3278DB9439EEF1D061D0
809 8BDE08B95255E29C6C0560DD45DC77E5DEFF08100C8C1CD60758DDEB5070E62D
810 A6DDCA895309C83716A6D5868B60996E0E87A2DBD42A7C388245B3761D8D1E5B
811 A73EBD9A17525C157C368894E437F5C947248D320852F2B70881EE82A7D62AAB
812 06863CCCDBE529309001E5DB53920200708A5BC1850FE9BA5E608D876D97F75B
813 AFAEA88DAF7297D7A7C3C44C1A2D342AB3D44EA76C173FB6AC6A9843EA1BF63E
814 BDD354638EC488F741E0A53BFD6138EDBF43070BC392C7ADEB887216070D67A7
815 AA24AD2414D4B6CBC2B9E6AA26C6AC580EE5745FE8EF42BE6E5F7B9B8D3FC14B
816 AB9A08709139BBC51155D4E048ADB453916692A8644BA2D9895EBBFBAB7F5A37
817 04D373CEB3AF5F92016ACA0893FA4BB634E0EDDA17258F2B5AFBBBBA9BE6E31C
818 57D9DED0B95846AF9A210FC8D93F0BB178B36E5C41F96BABBC90D4113331F9CD
819 E54BD8F6B16BB46EF98554957799D9BAFDC0D26222FD2A8B6279E7AE6D25E810
820 34C170CA7E61CDF4EFE9DDA2D709C9A7E6349F60F4C7DF864A3D597F3697B03A
821 944C47E0081BD1F1F5F9AAA3D39F5A1A72B430EF00E0B357D1BDFEB0D7F275CF
822 29595BD5A8A00219CBB2DF624721816549DEDF781D4A98681EE228F515462D64
823 D00C21944F093CB95B8339011DBB61B5F320965C58338DC1889F1E640A054E16
824 D692F87103C23A064289236AD44F2DD1B2673F20AFE5D8D80BF37B56363ADE66
825 CE8EE2BFE7B0562A3336AFFF4D2FBE2A358B725EB5B23EEA2CBF3C343E481348
826 3604D0896F1A61FFA5871300E6EBA3EADD17536ED7582F4F277B62E03769C06D
827 B70A2626B63210AF1EBF0C4026FFED9AF9C3E089B07B4D9218D064C5B36E0777
828 972356B6821344332C9F9A5ACC2905C9DA0DE4997C5A7CF67D85B9BAF0019F97
829 35668FECD0653933C651103EE9CC5D9F226359B0D0DA1D46AE862E3D9A767AF6
830 2A5965A160BB04EB45943BF078E6CE3D7050D3452EE6BD699856E44451CBCE7C
831 66CBBDCC464B3BECA2E08DB5A229D779501B1385CC014362566C08D7004D0EA1
832 175EEF08EB10191CDD9250F14FFF4452CEAFFC2348DB76790AEEAE47A32855A2
833 B8134603E0EA7119629C1A5597FF7ED694FB68DFC45204CD4EA710BA94662342
834 664409148125FE7BF552FF8ECFC65B0586EDC6E57B4C8E140D945D140C023948
835 BE122F618D387B7D07D21ABE6A6BD288B0F56017059D01F279C22329FF3EE94C
836 807C9FA1BD66228600E2346352ABBC0B9AF153F5875F8F481A25EEE0710AEEAA
837 D6759A354B2CDD077D4CFD47F2B7F24A3D172B4A8AC5DE573D52D2E5705A3DE3
838 2D75A6F8C76929BF56986EE79D478A9674EC435D6F6232AFF7EEA4DA8E25C9DF
839 38E095B789C571D4821E9C70F74F69AE4D92CE176989EFBA7E94CBABF8F122CA
840 E75CFC627A78DC658CCB5E7283966BE691790F7DBEAAFE36D39CAFF85E8CC532
841 17EC8CD51EB24A710008BF5BB7285930A8E39FA995C4C9B970922690A31E054C
842 5DDFC166622AB082AB01467F8520EC2DEDB0F1B4CAE74CC52C7D787C656E08D9
843 22A9A9D82486728798B4BB88F67032C94D44365CD5A6D4126589333309208C07
844 8E891038C09E0B928D1A12D2FB5E6CA4E196216303307ECF5F109EEB88DBA07D
845 E44D6777D90351265CCF4D5858D6836EB69CAD543DA0594A6F17149488C3BD38
846 D2A17BC2C6F10585BF3D0EFD29685C6FA1BFD78EBCEE63C426639F0E99017155
847 72A23E8347BF5B6F6AD366EB4FA58FB47F9F1D7312FE6F770C564FD348500C2B
848 6ADF5E170EB0F8D9A3E6F2274B2FD9BDABC027F4C52EBF08F6ED842CA720D715
849 F756BB7E857281B067CDBCE3F589B3BEDA17DD88590311DCF8123E00A6BBC4C0
850 AB2FF6B0AC66DF65512BBAB3555B265576E41E995CA9F010311718791DB7B31D
851 B47EE598A9A575C8821BB4350C40A598932B1B0EF66DF64C752CBA71B573BAC9
852 3A9F5E90FAB5694232569206AF5677D835694534E529B7925CF866E58564B6E0
853 CA20D592773B6989A888C06F79A527CEC0A3F399965DC06FB0305679730FFE10
854 E21B88CE115006FF8EFB9DE892B1AEE2DC55E825472320B6271D7EDD2F112AA6
855 4E79555EE44D702277E33DFD9C66873C4480C5C6AF493594567FFE9C164361E5
856 F9523AB3EAABDAABB083F6F48C3433262D4593FA6A5BED03D63028C209184C8D
857 3ED348BEA2160148FC3009AEB060EDE398F015DCA2A94B5A8BCBD4A5C091A7F0
858 2E8C59110F6E7FAA11EFE1A57A0DCEE0D10488E72C81E3B4A0AB917247805FBD
859 55D0084CE0A4133D7A59064CE5F8633A43066F7E0255587999629879A261A976
860 D536A668A25AF97B7BD8E0D6A709ECE4A4C12103F37986D4AACABCC0C6E4292E
861 06897C596383D22BF6B642D1A3C966DCB03DBA17509F3757A3613D6B582DB46C
862 B9B507721FC9702DA329F1954CF99EE1E646A70C0BB5ED64A4EF350865052336
863 2B43B9EB369B2A6B80AB369D5CBA79A72ABCA86590DB7FFB01C801B07CE13E38
864 C05790A53C8DCDC451A4335A6C8D26F9335FCBB746750A9ED4C50A3E9F95AA1F
865 89E2F25188650AA05C259AEC31E5617F7CC1B4F6E91182FE8BD84C620BFDB72E
866 87703D597766C94041DA68A11043DBCE995036BDED887A5F696C5879C703E9AB
867 03C1BBEC116A65563C720B8177BA68FB0D443B70D858E46A51FE0E5D61C8922C
868 000B05345211B0C364A26FC771ABF9BC945C595C9B59C7C679753D8C570F30C7
869 7BC05AE15079ECF9A6E383F97CFCFA8D575AA766C4DF51ECE33A7D00E333B16A
870 F9706E0EE6A07FA2ABC375ABC877254A8D601CD2C11C8B774C464DE53ECF1CEE
871 172F140C44ECC17EC3CE8B3432D6A31BB90AEE74520290F38D6643AB0D731E48
872 D16AC13303743F315AB8C24BC461E6475ED42B17630A502B3BF01142FD2049E6
873 4F881ED3DE8F547DDFAC06AE408C08BB99DC6EA38FD2D095374BC2D791D8545F
874 CBD3A5A6EE68BE184143A92178834CCAEC7662FE3780C20E18B64DABFA9DDB04
875 CB03817C0BDCB8AEAF0AFB5D91542E945D9B18A91D138C51DFAC44B6D836397D
876 450CC95D9D473AE2DDCD849C7BC2624C540143A1AE74EED28AA76288D82C4449
877 FC82D5608D32F09CC60D884B5C1C483720EC38E6DEBDBFEF98A720DFD88EC382
878 C8B196DE9E61C0FC41FD44EEDFEFC517DE7BD3FD361873A1D57F1FA5BE041156
879 CEAEDBEBE32208A0FAF0072D2CD44876F8C99F891E6606EC841E16BE6F093A46
880 408FCD38B85D1D7CCAB2984B0206398170FD7B15E3752792059D48A17C277AE8
881 21555C7F40E7F331CBF3900391C76BF3433F2D3D6443D6DBF4C0C7733A6C4AAD
882 7514984DFA9DBDE2B3C9339C7F2D5A398ECAA77DB342D649C75879DB92989DF9
883 F7CEB558223BD6C2D96A0C5214005D23440C8E31825B386131CADF19889B0FE7
884 5B3F615EA2C54CD77EE5F902FFDF896FB2B71CABB401C7A2041B4AE823CB7446
885 4DFF46A8E81128DEBC35E0A305DBBD2E87DDE05F2E43E6BC6EEF9A904D72B549
886 96BA56AC348A8C5BA5760D436E36E6ACAFF4DCA56A2103F4476A99F9E1D30D25
887 36238A6154CC00ABBD80CF418156CEB3D26702B2A871F588D31C2FB46096A7B4
888 3CCC37D57268BA44259A0FF8B01F85E6274CD7F2581134B101D1B967F32E5B13
889 387FBB4DC2822D61D9FD8AF4B6835BF282717EBA208638F730722C5EC3DAB9E0
890 A29E32E05F62318B18F5FF28B9A4EF0084519550B37AA729967A8CE3B177F236
891 4977661C628BEDB58E4B232A5C3E69EB6F38E66F936A9C36F64B9F60BDC5FD87
892 415F3BE1B4F3089932369CB542925FE084E33C23DB22BE291F9BA0187CF78E24
893 6AFA80E1FB665163DEF213D2F781A74CFF4BD78FEB10CE2E06D61ACD6ADF898B
894 35C74EDB45DE23E5DA54E9306418CD7E169510940A9E9FD7C8114351F69F9554
895 2F122EF3B16967F71C40B7974B2844BD6E59A7E8184B1F04FDDAF3751FCE9273
896 0C067CA9BC2708F01A924EAD26ADDA935A73E18504C4B300F40432603F7B6A68
897 F73A2AD162CCA49857A84821C319BAAD5F369B7D7569300D17BDE9A204A31C38
898 09692B6F62DFDE42F5ED8508E2FBF3015324D49598FC354EE0C0CE7D799FCFF1
899 B30D53EF75A00DC64576949B1C872EB7C7A6CDBFCCB339E891FDD2C92436F623
900 2750B851ACD7009DAD053A7A000FCA2219EA5A59139DAF1CDE7A6F50AD913302
901 B488B284E37710A9A1AB429277B7786B04D0823230A1F4AD80070A4AA5E59A51
902 953F4C33E97C259D5DE3B4D0A48CC3094DF48C8A15901A2BD2F718B80798D95D
903 2F9AD8E0840D6D16B06EC3A091C3C78EF0034FFE0DE872FB1C4532BD1A51EF7C
904 80370B04F7EEAE6D265432915CC87DF229E4450C4C92166C9076691AF6C0AD1A
905 FF10C399C180B4A7EE9F963C87D22EC91EC7DE6C57DC652C59B7EBBA56EC8A9F
906 0903D327E67EEE2AA9B3E84272E16CC009C53E9856486C5A0DA16E3C7D49BB24
907 7E07BB225B15A052FE6D0B3507A4528B213C83BC9BF76A3A30026573D9D7E241
908 85FB84F905FFC0DC492F4D7E318426FD7CDDAC42F7B59619EE36A1C85BB7192F
909 87B72ACCB03B410DC33FD7205196F3EA06E49A5D6A4174EC6E0EBF2F3DDED822
910 A654C068E4B6152374D51849D45441739A4BE30EECBFC0B6AFC86A0B6F39D89E
911 035185C3A6B25CBE05D1C5E3342655ABD7A95E34E6136DF3353265E287CF425E
912 1680A52A959EBBD9B873CA9E5CE364A6B74ED53BCB8CE43C221BB67BDD21E034
913 7711F423BA87244A45B281739E5879B320B465BF0797E412D690765D20B9959D
914 6DEEC7494154404751ACE37A02D56845E4C72FC5160A99D7A4B7009B1D939152
915 D93D94A993E8EC3F63F839A4CE8FF970797FC5C2A846754BF1D262CFBAA1B773
916 812D04C997129BF2E5018BCFB598E3BC4FDBD09903A1FC4949AC889851CA0782
917 E78356C75218DD8A1AD441D014DCD8AF161D0E0E974E9DCFF96E810F97D5317B
918 41CFD135515182D22352DEE39DB573D694318AC24FD06638A2B39077E60BB472
919 F3CAE03ABFD558895A943EB5EDC503205AFCF25D154707E022E6E6AC49BAABD2
920 DEB5DBD6AC1A5FF966E9093EE62D81EF5C61B1A85CDDDA0862D2C77362E122CA
921 0748DDFC5F15695C92C8F0B332BDBD45E3171E3771E0482BEFB17509C86C3F98
922 640551ACFE74AF35B119A61B68319925459497D298FD1509B8BD6276ADAE9B35
923 508E3FE77B38CE49DF3913DEB54B4D05E6EB45D64D88A870B9935FBA7CFC2152
924 C12943FF6EA43C8EA332B10D7275D2BAF8D121E5C13B41FCBB6523F5726CF2A4
925 9D4268D692318DCF4008F1F5070787EB4B70BC5F9FBCCDBED76F95A8D9116EE8
926 21549AD776B5D96C2ACF1EBDE5FFFF60D2D3A2CF441E851C3E3C1278869FFE93
927 B50F1A7BFA3B45FDAABD2C55B74280C65F7495F33CA4162DAF10E4106EBC50BC
928 0A427058108DB1991EF8385CB51FAA9735E707BBC255BC629762303CD50C1C7D
929 4A3B4660B7E6352B01A12AC581604178F8ADDFD73F1131AE570FDC2E10FCA612
930 770E188125BB5AC7A57F25C62B01A1FAE85B2C57235584D07B47ED81BCDA23C6
931 7D30E55B2FE202F05680292E5A06B79223DC3A7E24732E4B3722597223BD9079
932 026ADF1B4E1D88353E072D4A417B3CBD4CE9D3BF41EED24401A9458D10A5C005
933 210A286DEB7CB2779151CD16D3DED4F1EB82126740A62A8DC06D0F8D4778C9B4
934 69AA670BCC6ED8E45CE3B88EF4E0131BBB42EEBA0258AEE82F1D016657B02405
935 48802256FCD62F7AE22DD1DF45CC5E67170675CB21F2A91D9B9CFE8D25F3D84D
936 7928EB4E2FC014B3751EF8061AAE3E1321A46049F1F4939E0DC200660E1FC4A5
937 400C21AA800CFA681EEC93801169570DF3D7D09EDD6A02320C91AB9AFE91B390
938 F4D303E06A2EC370ED603C16E1D9119DA53C8FCFED86DE9A50266375CA5217E1
939 830F38067ACAAF7AF5891BAB0B1789B4D048C81F97A88BE8780AF14EBBF5C8F5
940 A257D265EE6165FD59E8F50CB46040FFC46F672F2651A6E9A9A8FF21F36251B9
941 D33C2A281A87E9AF4E260591C18FC29F0C8A310A53E24BCE1BBDCB2488C5DC80
942 8B63EE7295443EBB3C7905C686D6EBA79E856D504B70CB700FB0667A80CA4B11
943 F62A03F83826BB83EF512496224131352911A8E5000637E8D1D848C6ECCC6F2E
944 9D0F7EE55792EE372573398309FC4640EBF0E92710174192F9349DA718C1BACA
945 A51F9E04836A947512E9E2D1DC0C7CD444941E81C9BCE170618716FD83CD1620
946 B34865B11C8E2CE1F254AD49CD4DF5D19FBDCD9EF6209123B6E2B50AE9BAB6D3
947 34ECD79A47DB76AD12743DCF509CBBD3EEED56AE70B54FD2F56C93D6ED34CD4F
948 CAF37C794882B7B6F74D1818954BC6F3C6B71F2C0A2B48518A10B1CCA391B9AD
949 1585FD14B2DB1B53552F1DBF1B7A9F86E43C2F75DD7088AAB9D7A757720280BC
950 2BB939E05C00A965B44AD9300CB1DBC3E3A53DF376679DB81993ED79791CCD73
951 25032FFDD1FBF12FF7E74D4FA547046F7E559C2FCCA2B2C9A3BD9C0FCF87F263
952 56BA976B0C0D5773D15D816D48EC2D1F116FC143C27AF29FE435E26CC7A14B02
953 7F4C4ED6F449EF04983C2C23378E7B9776EAEF8C6493DB301FB0709771EBB353
954 B84C4F7FBD2E1DA058EC895512CA4B6A91B3CF6E31B027B86937DBF01BCCDB90
955 DA0450C8EE17EA56B73B3A23D25C73B3660EAFB98702D1A7ED75698C2E4B909C
956 135200D249CA0472980E67CA34BDFD40255751E95C63B325228398FCDA172610
957 0A56DCDB935AAD0CAD5D40E28CA54BD5B3721A8D68D0253B665A112B9DE60C29
958 38697ECD10D8390E91A587DC9F82B6BE094E3F1A7EACB729AED5A436CD5AC6C1
959 1BC6139DB87134F56F6DCC55F486D051CE75B919682E70E0544E97B92B1BB819
960 027F631F94B9258E709F3607307608F4F1B2E016298C37CA6EC567C58917626E
961 083FF2EAE5F769A1BA410A1C7F82D2835B56773E7A78C612CAA49D7381D27B39
962 2892B3D7FAA44A8CE70671CA3BE72B042DF848E1FDE8190F9449F911CF74F6FF
963 9A130E60F4B6A6A8635F2100C6350A9D1D51BB845093F431708ECDD41226596E
964 952453318252D82BBB50568E00E1E2D0E8AD712C4A5307E63244D5DEDBF98AA4
965 729F5E5B6A8BF04CFFDC5659ED8C922CF113FEE39FAA8FD8E602A6E5FE2C4449
966 126BCC76399717EC8EE23296F33C16CD5250589F0D126DC8CFAB281DE92DD0AB
967 75F52A039C8F8CBA41CBDBD6D1401B54E1EFCDE51ECB63FEE43E521C8E1AF248
968 A124585CED92640A5A42B10CB34B28FB5F6A563C089A9446834D001BFCAB1CFA
969 961EE73F55009B1BC628A6207A5A3A64A06CE285569BE29121877C14DF02D25C
970 F43082AB0165E1AFC5E72CAB43FFCD33EEA7F0CE1D0963C8E151EABD590642E6
971 A0B74EB6143DB7A1C8B9B5B14E461261549383C68DFEEDD25CE6D294EA796E2F
972 F6B4D5A0F2BDDCC09B6D15108833D91B997801CBAF6FED6AA765099223D37FDF
973 B3ABB04769D61DD08B3B506F89722E3BFE9285ABDF0FB6A5BCD1D7FA7DC052F8
974 7BE820710F72C9CAE2AD1600AE40438A87049B8C2E0701514C0E4FA3C5F0785C
975 DF2880A95C04C4F8108FB9A89B45C068EC7C9473C8B5449D14B1E478C3C86E52
976 E4038D2CFC0BF569ED55043E63481013B1B3412101120A38C83212EF1647F388
977 1045717A083683D3EA9BC1E04FB8004DDA1C21A8EE8EB024935D13DB39D57761
978 76204AFF41F0C982A7D5688D0B9710DA8274590B3DD20CFD4F516B1397AA1DC4
979 7DC49093792E9218B7B9064AFC211E202ACABE394A95196DAF390180908401E4
980 B430F678DCCC081319941E2670482765960AB33A95A5AAFB7FB94F9ABFAEECEB
981 0F89150513812B9B2D6D097CD598A3FC6B1AF9D1F895DD198C51BE09B4B4FD5A
982 82B8C0780CFC0FFD439330EEE902D12B1DCD5B03C5D1BFA746AE8F304FB73A02
983 95D897FB7F62C956C9D0986C34C0835F00A27063731504AF8516B804BA9BE832
984 24FF4B2851A81479331B3249CF8C2EB97FD68AB895EFC8E8852B31F151C290BE
985 40B825259910EF405DCF2351942B10206BBE5A3305DF54F68F85A4D50C9434AB
986 91F771A43F256843EB935D04BBCA17933E808D983730DE77F4B05017C8CBAE0B
987 CACC94F1660E4B49D8FF1DC9DA1DF9AA42E806E6238C39A0AF3F314769109C49
988 542D5A1A3CE5CF1EC25B44D292828B169FC3DDA0BE0C05C80DD890F23AC07F64
989 A2719EB8F2CAE11F3A66BA3BC17A13459F2A93810F176B5FC1351BE95FEE4A5C
990 89D98E88B45A8772E1250A760F185E30B00E6A7600ABDEE8E1D8CAE8DF95D534
991 9DE10B9145B62513CF9E1059BA3B89BA599F4927641511C5A17854CC24DE67F6
992 8DE51E98DA07374F0A054A307BD6A8119EF17B53FC830929423A18AF33787625
993 04B1B9DFD55FC6EFC499E08827BD9280E2EDBBF1A0A6F4A5951947BAE42B7FE9
994 09AEE06C1FD54D880E2B61957B80CB5706CEFE4F1AABB0C7049F3A770A45D546
995 7AD4A39C3E3BC9CC7A2ED5AD1274BC51C67DCFD8E88682D1DA5BE2E361B44199
996 96E7B389612CFB0D15B62F5C164B5243C3AB79D3FED9CEFC42B08A4D9A640A94
997 D0F3EACE5042B9F6246696B8F1C15961D374DE25A7B0EDE87EF9DFB94374661D
998 9582E5FDB1DD55C759AB8531E3FB7E4ABBAF4D68A3D3565AA0CE8D74E8B7D22E
999 44C0504D6B43D2E25F739057AE5AF171329183EE663D1CD7D279F58F29A11B21
1000 9E2C0118515480E3F72187D83B605BB3B5A2A40C3672FD2C013324EC3800A443
1001 8523304C362406B84312CA225AE2CE32B6D8F76BFF9672CCBF815B2495AF5B12
1002 4290A75ABF031ABB97DA0785463849920F9A073C3AA73889CB9F56116A49FF37
1003 7486A6E2D5E29D9729D5FC36FE292191E55D7579042BF88C2E3FAADA8C4F8621
1004 75961827750F0DD9105A49BE09257DF8A428631192A0049A6D69A9947794ADFA
1005 50EFD7E802FE062ADFA85454C22B0340D31AFAD62F912FD822B7236CB12CEBA2
1006 94E01F2766DFB49E029FB2E0B37F4ABA4B327844F4A7A2F82A8A628C8AA109F9
1007 703F040AC5F3E53024F925D8D447D39B732001252A2942C6C454C2EC2E3F6403
1008 ACA18CD14FD71402EB35028B31B84582611D38080508CB8D3824E9D864BE3DDA
1009 2CE62CA0719625AC5D925EAB269789DDA62A6C2EACA33026379BBF46A618D8F6
1010 6D60B717C81C429004456D932C39D6EAD9A62F910CDE2A337A8EEA09371AFE39
1011 987766E5B5A2A234F6B3CA6255FD68AFC52B5A860262D4F21FE3EDB004ABDC73
1012 66CF3B738CF1FFB00DEB860CF66BD6BB3493F3AAAA5335F4AE6EFBA7C1A2FEAA
1013 317FE1ECE72587538A25CFBEC291AED45667DF74AD12C745D7A26A37B17D6A60
1014 26A1F39941061598C8454DF40840FF2DFB499611EE3DBCA777AC4B7F70E93A11
1015 4076A625AA7528E89D218F1A60FEA91356270338192D73CDE4C0AFC79C1736ED
1016 6A04CBCE344EFCDAD110323B8E23ECB6FF6866C81C444AC83D31838C15C70538
1017 8517DB5455E0D424F620CA11DF380F90688951F5DC373FF002F852D5D348F7CB
1018 95F11881578A4F1D8952E13EF85CE0A07D68625DED4D3F7252478F6545177D6B
1019 1C7CE72007534514F0ED765E061CDA069C1E3F370C8A84D7183883808F23EF4A
1020 C14C42BDABE7D60FB249F02EEC1C0F44FDD4DF74A8F2016211E40F0AA1A0F2EB
1021 B1E1A34E6EACBDE317341063AB782E3223B91075DD808C5875D8BC5658872CA6
1022 420E9FA4671A4AF57003C87F978D434444F6A11C4E35363E7130C4B82AC39D0A
1023 1CEF185152CB1A493AC71EFEB4165BB746197024694C64C8DDA0974B98D1D58E
1024 D522119C2D2757CF5808E562AC40491BD9CC01838A580DC133760E52C727AC7A
1025 6079E9977A74924BBF2D2CDF44BE32BAF8AA0E6953C599B6F73807B202F3CD1C
1026 74AF439485D5416E4D38973E50A70B6A3DB8F210D6A820147999769561942B30
1027 CD8A45CA25A83B845ACF204AA20C31A589D0777131686734CEF19C227D503B64
1028 81CF7F0CD7AD29B318D88F304800B68EEB28686F8AD5550F66F8B14C146845BA
1029 AFEFBFE4CF33598E3C4D15DE4DE5EE14C952E8DCE8D6F2363E32A06DD26EB6C1
1030 B74A091CAEAC8D1B468046ACD86A35CFEB2E62742567609F50159CDD48615BB5
1031 FF6E7E78A099D21B332B58C2E14E584BE6A9098B79D76CD3E8D71BBD85E48312
1032 3E43F9E77141C941F47D9863C545F8C0D3C5187D9572A5463EF6D0CDD5D2A813
1033 15179B42DE0C400031C01B3AD72DDEBA325A8F1BA5B48C01335D2871DCD98B0D
1034 5586656E723C6CCBD0A3FD8A9F88AF43B2274533ED76AD49BDDDB099BE09D7BB
1035 D6BF7F5174CA37958F0B33D7477175D39637511B18B1330494CF64B5429C9329
1036 1AC0E6BA2FAD97E061B6C502C2F34B7484217C2D31E3C0C102F2C09ADC011C2B
1037 44FA2589D827E426935DDC68DE7C1F36A1E693DE59D552A55E31BED5F2103319
1038 968B96989AD181E6900F24121885AA8426EEDF2D8A7780765DF596363CBF85DC
1039 3289F6154F2FC6BEEBCAC7E03C9BDA3387A344BAAC095EF9356E409C50913465
1040 E87177ECBD18E755156C02A999AF9F152E3217D0F2593D6863E7872B99F0F070
1041 72EFFAFF11B12AF7CADABDB3E4B806D0823230A1F4AD80070A4AA5E59A57446F
1042 921C7527B57ED21821F45AB5BE7635F880439FF592044325036EF7F50AE117B6
1043 3AF05423B83CA6DC6907F3A697683ECBD752EA0DAE5204700DAB8922EEA4D008
1044 B6989C069CF6E9CC40091D032F5B274091578DAC8304678D8B6A3D12EE586104
1045 95094F10D5E7A211B172D6DB5F13D346CE5AFDA1081B418B18CB1D6AD0E04891
1046 CA92D786D070BAAC8C942B486FF22401F17262FA3D6C4FCB7F25813ABA736CA4
1047 09A24463E0CFCE359329A4505DA876AEAE25B1A33F642F5DE171E49B0ABE98DF
1048 6AA250854DFD65EB475482C35CAAECFE622E2B35E5AC3DA919BD9911779F44EA
1049 1A2247E9F3D8F2FBB24CEE01CEB353BADDE82D88C8C0DE4ED8F7853E892B4F96
1050 C152103F177732C9A8C04AC209B5C1C6D37563172F88CAC25B1C3ACBD8019FD6
1051 83C61DB7D323E4F705FEB2ADA203EF3A538A9AF9F1260D278053E8B99C850C4A
1052 7FDB4D2C2D097D82D4B5334030AA15C66D539AA52603E0306AB7BD3040315355
1053 3EBCBF2AAC31CA41BCD62C2B367E753211F538C86B823794FA1AC64C262445BB
1054 5F0967CA8F784448564ADE8ED69C4FFC47D01F2D9B8ACC295AF9372D3AD61B2D
1055 6CB66CD6BF4C720954F8C5C3DACFAA2DD7725940927893B64BBB095E54B16CD1
1056 73CD5E1BA0742B46ECD7C85B0124F1CFF0FF1F0E3B0DC0A6744274D7337996BD
1057 DFB85EB29D402EE393F127C4893DA700191101F636EB9E0A4FAE75745053B975
1058 A26DFFFA9A8F43B31E330BE53B05EE9D5D82CBA55E01B0E98D8364936988CE45
1059 17FC147C54ABD7F6A3FAA8B678DF108857C298A71A88052B3E05FA9E962DC65D
1060 B6992127AA88204206E75D9A5C01D1DB7F2C88E7659616E018E7E2EFD9EEB415
1061 FBACC0BF7D722D56FD33329217328775E3B44ED14C7C1FB782B26FBE57802886
1062 F8DF4CA54E4E2E62460699E13A88BD545A96B78F6E955214E3FCE21F8D1F8F6B
1063 399787217BC8F72F8B553F7B62C5C5497F6B79F694C12D76F2E9D30E9BA2F10E
1064 2310FF111F801E37911A64CCD5E7D86AA3D18EFD237CDA518C2B721FA7F6FF30
1065 81DC39F81477A8BCF7CEEF8100ACFED58772BDD4978BC0A27D0FD27C4E899071
1066 3BC3470F9519BD31722B4228011428A83909ACADC096735AD98E4A79459E1F8D
1067 C46EC3D9ED8095460E19F9B46BBEE717B85B811EDB27A1C6768A0D5D95035A03
1068 648BA8D19913E5469D7359D283503D1088C010FA22D1355384A7A58BF782442E
1069 DAAE0025E7C77183E8DF8558C67C88BA1C774F92798476C9FED9E8DD0146201E
1070 6C9F991D40C9AE7F5A1426195D8F6A7C413F735A7DD2B0CC70CB06D440E6A421
1071 3DC19BE5B69F45DAB3CA7D5F9773ED0FA5857C773EE176953CBA55EC25646921
1072 88660FCE71B68EE25C4F6F5198FDAED483B93AD7CABD785EB1F60198BBF3176B
1073 8003D24BBFA7E2D95FA1D83CCC508F06A518770F2E25DB51F220ECCC20751A26
1074 55B2C804E9D764A017C37FF5841072E1DE7BB44F2B278810A476BE071C01DBAB
1075 794F2144116792DA4D7A815D95644A19B715C7F508928DEC8CC04EDFBD0B5D90
1076 A353251E5AE467787123E363C508079D3A30F95E5F87A46C7C8A598ECBB2B36E
1077 46818844A17C041B52A0FAED2A6CB461A9D43E9D87510E7165EC5F38C70EC606
1078 501B0FC53440C4D85A8793E50FA3CBCE1B9C60F64B27E24FDEE7F78A8B621C89
1079 5EFE961C62995A8A816D87549A0496F465D00F0766E196C34FDBFF1B92301138
1080 EEDA8862526DD5D6443E4614EC77EB02B1CAF86F4757444D27BE816B21AE7D66
1081 185FA05D85FB58AB9830921FEBE5D059DDE4F7F75E0FB00FB5923845082BA423
1082 86CCF555A4AC642DDB69B0316A2627372B700A391F8E402A30B1C9EC2AA9FBB2
1083 C1C5B0CF4BCAA5A821CFFD4DCAD239255CB509168898F0B3866DB303E4EA0495
1084 01EDA60143FAEB063D23BA89EDA836270D0DD55EF4F760E312A1C78972B31491
1085 F9BFE035EF72F7588FCA4F8DD487B705F6FF3F9EF0385D37A007D3A0D79FE440
1086 B263D9A405D1904CC6334875A3707847B339AF3763FE32819D2B39AFA579F91F
1087 534B15A8343263E6B8925B944BF46CDD104C9E2FD5412FC75F485D0C95DF694B
1088 43F1E9AE21AFE51B1B557DBE8FB1B1F9641D6053703763505829C1C2BAE90845
1089 475BD98D83551CBD5755B933A2B343B0FEC3618FED4968B44D1B4CD104510E61
1090 2B09BF959D282D18A2DA41FFF5F011623B6DCEF5A712BCC326331F40C755B9A0
1091 12B53410DF5DC1FBBB35B6AE08F3E75A24ABF466A2228AC8D2C0732A013ED085
1092 44DC926E5811ADA0F8765E184D7383D07EF63AC1B3A86FA83ACA1AEA9B9EA11D
1093 D7DC56098B5DD721AF8DD308208F6EFF8D502D0324BD17AB25EC731A0E883FD8
1094 A046616201725305D05738910DA4C1F1CDEAF6FA36E2DADD1C52559962EEDE3D
1095 575DB8C7675654B42DDDD40281C3D9AFC181360FF0E30487391B505A25509204
1096 3A56ADC48EE39B330A5F96C2E836A0AC87F4E304CF61456267F222BAA00E20AA
1097 DBAA9C8A4EDB0707B98BAD7D7E6068500894304EEDA172A99BDDC673BF1EA09C
1098 2A21BA853B97379AE23EAEAAFA4FD85A94445D399DFBF4C4C26AD9B9684AF87E
1099 4AC7694B8F62E4E1DDE716C4A591F7638E9EAC512039B5B1D41DE505CB7D07D5
1100 C5FF05E77FEF8AF826A454C1E99D84629614DC596000C278EAA0F87CD5567641
1101 19C9468994FA22D64D75C67AB2ED618FF72EF4215D2DF39989762DA1738E0ECE
1102 ECB1CB9A0C4240C382F22F3323C5BDBA029841A87E0EB6059D18BE0369B0A13E
1103 D2AE02B0672927124AF871F01022D800084540991138B2721D931A2AA9EDD644
1104 E1F3D065E8B945B04A982FFC2E4EB89D23017B31F3FEC61C4DFAE9888AE49D1A
1105 ED7234137CCCEA67598A91B6DDEAAABAC236426540D5A2602BD9D71CE1734D1B
1106 0A9F954C36850CA9188E981410682EC3969670D92FE494406B1DCD1F148153CE
1107 A233F7C81F641A982BEE3ECE21D905B5447A65CCDE7D3F3A6A3FB1ECEE9D99F3
1108 0F5934E588FF88BBF0F09BA13E8C5F3223C3436FD8AF9EF8D6E9AF888575077D
1109 035218E499986BB0CAFA629EE9683652DAB14D19C2D9B26E40B10BFC130493A6
1110 DDCA895309C833CB011386A4C9EE442132324F1710B2034838B4CDD122C11509
1111 C7174C2C142FB203483942988EA5EA63A80FBC12AD3D9EF3C3D6A6B32069332A
1112 A1656997F26C1556CA20EE93392EA9C46F887FDE0013AC5E8C97D7F3C7E330A6
1113 BC6C6665ADB4C7CF0424F68265EC86E081B08C8EB80A3C8121C2D778E26E92D4
1114 DAA78F67F1CA65899615D858CA23C8126228D9A00A63E6CD2E7FF4E50E5E91E9
1115 B7E4907808C003218EC0FD5DDBA326967FE8E03B988A8FDA58D464FDC9E2F2A7
1116 E4428FC94DF87D954FF40A24FA21A2EDC0D71763D50D42342167AAC20DA932BF
1117 A4FA7F2920F114C1FC8D05647561C1D5C7DDBBA74AF352ECE51D1F3D3B6FC67E
1118 F66017F71FC3EBBC3F2D975F4ACE103FD053880598437E9C8C3191B2FEC245FB
1119 9657162992D8524E5FA651908BBB0D5CE138BCE0D7099378D35F79B067492DA6
1120 42C1EF81D9CD3C67608E060BD13A85DB163801A8D24400671CD449616D729208
1121 4C9B448800A881953F6B268BE2C9D244054C9810D99F95191E6C465DECC73A51
1122 C28763E7C94595CD7FE4F2F92FFA1C2D4005746CA7133F98F11723D1D6458A78
1123 501F8206DE7CFB28FEB8E7897EDDAA0A2E27124AF871F01022D8000845409911
1124 3C8DC6BBDB6C06E02CA3820EA50D270567E9C58B3316C879BB1C3E6A9CF79378
1125 93E6E00DFD8C481F0A3C456CF4237138BD515BBC3599F7BA5069BE19C244EAFB
1126 CB63B91A561B04E5268DC2F1B733F70000CDA74E1A35676A7E145AE130949AC8
1127 C9FAE869F6C1EB8DC3BB6A497EB62A48D1DC80F39F89FAF2DBD541BD773D987D
1128 84120205AF23AA25B968A11E5B13D42FCA21B6C7CD4C92632EB7FF97FF3209A8
1129 F696DEA35976F7CA9EB20CA71F9A1167F80F7B38364CF6C04902CF1C0E78368B
1130 77E1783CB25518C5AB7825A5A6A2FF83CB2E4949DC2D2D1ADE17E43F83B8857C
1131 0BDCB8AEAF0AFB5D91542E945D9CDB4664581BA053C282E25AFD33DE7F728402
1132 C4AAAD0D1FC5818F220B2C713BA3B6169038D5F9AD0026521621F41AA3D7E7FF
1133 53A75B85087D0101B596B234E6232BC798A54AC7D52D3F1182C98D47CD1410C6
1134 01C40A79B171200B04D84F9EBD196B5B885308D4593089141074C7AAF8C5A811
1135 EC8745F5A2554EA4B5C6E171F657319FFCE63EA6188CC2F5708349C25680ED6D
1136 AE22761BB9993EED1CA365BA995B24FA324C6B1AB98B58B8A4CA0110D813C165
1137 9336AB121CB8114DABC1281B5969B25AC825B2020349486D8BF9385CB51FAA97
1138 35E707BBC255BC62931677B2EA6415608A5253B298D913AB360BFF4FD4B64778
1139 FC640962BD87EA9BA0F21469610BA7EAC1355C7A8D2EB1B53941ADC815BC288A
1140 B35BF3532DCD2316071FE6249B1D0D2B7623511B0FB2684D80E48C37FCCB3F27
1141 70491BC4372245B295D1F69326A8BB89B779BB57DB6532EBE45C7CCB800762D7
1142 70FF58FA48F6F257E90EB86BCB9ECC32FCAE047C25E6751099FFC9F3FA60F6AC
1143 177BE1F190F3117E1D6DBA9D1C0A108E5185175E938109C1F0B714BB1609BB93
1144 17209E34652252C22B51BBEAE654ADB4FC549FAAC5B87F562CE4ACA0AB19A869
1145 F642DD8A886A338D11647236459B17BC631776B782CB46C19B8F951DE2FA1CB5
1146 0DF0B0179FF11234E23694C1E1E059A77BAD6C9F66398463124C256DEB7CB277
1147 9151CD16D3DED4F1EB865C45ABD4574456EB2118A7C04EB2B195DA5FB5667958
1148 8B742DA5CF16D2350058593DB0D054F68F85A4D50C9434AB91F771A43A2D8618
1149 80886E90D2CB5C49EB6EF863A817882218465A10DF3F0A3077768E0D7738E361
1150 9916125D3ADCECCBE9F217B95BA0ADB8A4DBD8230157717DD125A410791D8613
1151 AF193EE9CC5D9F226359B0D0DA1D46AE86293D9E409F04862B4D2C9ED1469D98
1152 9615434E690D49F4CE63A536CB52E18E31B1FE9D40317874B5ACB686DD6A5C46
1153 115B70830252C6DDA6C887B2725D885B5316D92B8146D991C4CA203F1F385260
1154 358504330449B4102D0A3A74148A7B268A838EF961E3CDB4AA1CDE8C3DB9753C
1155 588A8731AF46279B26B3B10AE8CF0E540B293844AA1AF3A022D06255B2A7BBA5
1156 F649905345777C502E4DD191EFD52406629198BAAB391B1CF06B726B532B1788
1157 019A7CF6F4DB1D80F66A13E86EF742E28F39F5BFD4EAAA8DB709410839587303
1158 919D9370A70F3F45CC0E935D28583675DA16BD673D3A714DEA4F93E8614966D6
1159 46518695B037098BC251B76D734A5F5930BADB15FC117C56E24E04055E4E55AE
1160 329915DD87A8CB6D227C92E917D029568BE7DA70349CDBCA8404F77F2A35EA7D
1161 79DACADB3D8C5F32233104A9F80E163B9460B83F47EF3FE333B16AF9706E0EE6
1162 A07FA408855FFEA5484217A6F398E8414211B97457B1620C8B37003FB6891DC9
1163 BD5155E4183E8AE3C200741CC03E3B5124E833F7B8BBFD1A529C58EB48B1A32C
1164 A6463D1D1546B2215AB8B450C76D03AA5C4D93E94596735D08988C951F2B0BF7
1165 2CADD131D028BBB5616500F5A3696EB49429BE74551019C4E127338CA25DC6E9
1166 007C357491BFBA0CAB5056C999E3DBD7D8FACE5AB9F08DE39690B5993C9D2E55
1167 607D7B814502D167C1EFF5F8CB8C5F1F763119B830E8FC4B36F4A79DAAC4CD7D
1168 C4E92794C075977A2EFF09352105947DEE33AC1309AB56B84BB6966ACF3A2EA5
1169 9759B5D2CC027F83FE7EFE7CB4B23D2BC73C2DADC538510E800A163C3C92688F
1170 8EC81767DE4E1340746F78B8A490C950FF790312AE30D13361A2216E33B748CA
1171 6D6D9C5962DF16BAAF84DD48629A21DC798B57B6D2B59383F3A712F9BFF2A2B0
1172 638A1DE70178C8008A6266C4D546B964067BE20500304BDE03F03FEFDD72D3BB
1173 EA3741E6B69E6AB3BF993497B58E38DEDD9F37AAEE8A0237BE1964023390ACAC
1174 DF7E603304077B139B59615BF2822D6BA98669433EC4619C3924D3B5C6962B0D
1175 77BFEC9F62F716A0D8D07099C194FE62748DA8DF0DB42F11D464546F5D0F1447
1176 D32D75F4F339A02FC94B5A135002C2E2BF3173922F119C0DA609DCF57EF4F0C8
1177 C973F5D76E7DE461D8EF9E15756753894EC5D48364F8273880ED40DACA3BC49C
1178 A9AA863F5A2CEE9627DD4DCA3BB78B7DC14C3B58416D7C5A3292CB2FFEA4F79A
1179 8E5FDE6A6A07B29B5C8EF175D00DF564E3B93CE18D308912D9C12702B485D892
1180 C4ED21BA3342D3710530924A3A76AB4A53AA62D8B63C45175B0F4F4B46CE306A
1181 3D575219377886B614EFC516160A5CD90B1C8A60706034F08355EAED9BCB9D2F
1182 8B34DC16AADC734D45A85B9518B7D2509F710753C9AC13F612C8C9B769A926CE
1183 4C6EE2AF0A4B6DE0CEF2F07F3D8ADD06C60BEF16536ECFE5A4A98D49FC2ED125
1184 D77501D616F8F86FD5E647C80DE5BB53DBC36646C7073E5D0CA42F9622091557
1185 22597126E4FE532300C341084E1B1C7437992750337419FD7B9D80DC2074E44E
1186 39A38936526A08828F2120DF58AD198053E3846689DED9CA268054CC6A5FC0B4
1187 8EB8A9E83C4ECBD921B348D89E8FD7BB304B9D55E31C491033E7AA36C8F1B3F4
1188 8F2ABD34C3714ECB75D43DB5CAA9AEEEED8AB079C00048BA57DBF6BD4E39413F
1189 E191E96140B77BDB6C3925BEC767398F60296513355282B39284EB3FFD52113A
1190 07B4F1DD4E042B6234B8386CE1B6E83726AD2053E5711C82AEE6FA584D7B3F58
1191 A867DAB5BF1C6415820F80FDF8584C5BA169154A0215E5335915D7AB6D340044
1192 1262AF317A4CC295991CB996FA561CC9E03F8AD6236FBE589423B942DD12CE56
1193 36901CA45BD352F02EB03C158F0D251877A1CB63CCDACC8FCA97B5E0C1A473EC
1194 F880B44B3F03E5A4745D1E0010118D32AC08B845C7A197428482D425B5BD086A
1195 6F17305BEA1B27BEC93CE5351D4B80212DEF7563FEEF6BBF242DC8DF186C4ED3
1196 3D753A670DCE1AAC1991DF0505EFFFBD41365DFB03A564FBFB95A7D0257911DE
1197 1E389CB89BF66B63A7F24EEC30FF8DA0E7F024251BB5DD3CF427098C432F1940
1198 5895F8C6A43E31AF14F664FEF3F95C06EF37427FC2343D5E95145BA03DADAE17
1199 F5CCA7BB72495C099CFC6D3701C4FD583C8CD5840B169FF26E45DE2E8A7B3D35
1200 098C598D327946F9ED347DB18B0185FCE7E09A0B9F18F01A8F3E17FC75D2F21C
1201 2BC17F17E4ACADCC92240795E3A432D3702640892078A28B9AB23AE66B1D253F
1202 5D201FF99CB97155C7490BFB9C965D627B7194B869AAE4020D2784FAA9A2DDD7
1203 A9D4073D2FDE032E484FC2CA805A8ECC0024A74EF162D7DC34E03D7E272CD375
1204 86B38801D9A51582D1D03068750E08F405AFA833BC6CD429B70141AD516A56DC
1205 80A7FDAD3523692B4000866543D6266FF881EF3CF6E9A92F4533E11170F78967
1206 753AA96964C32CAD3912E566FE3DCC37278E742902AAFDAAE97CAC6C6F867039
1207 8A8B4B855CF0A4043D8DC494EA65527E8708279B3B2437BF19136DB84D7E9FDB
1208 B5B983BEC15AC45C83AD4FD4EC08E1CA7265AB91AA9A09552C1994C9E97F7176
1209 5318AE3209864263EC9EC6D0D5857442E468C992BAFCC24A639E0F2D0F08702A
1210 19AFFB507C7D1280B37468777711B0DDAF2A67BEA52654CD668A8D78F1B9C13B
1211 24DC033451BD6A6A518777CF2E2BFA266ADD31F13C5B69D0E77A6170E268F1D4
1212 BE70DB9A176318DCF1BC6C9229C54C440116A72D64C71614420309AC50498992
1213 38CA20F376CCCFCAD28D18DA6369EA5C4EECC581853B87AA0D1F7AED11A47A99
1214 8142D7125010380335C723EEA24DFA5DE3268925E478FCD3B1C3635E81ADF4C2
1215 A344633DD93001B6B714093406638050327C41782B25B9A0BD5D7D0F4AA2BA9A
1216 6F0CCF922DE513B2DEB3E5D5585245873D54D6D10151FF96E6C0616E6E2141C7
1217 1484767D47560F3B3905CD8A0E1D31120724D07CC224DFEF5DFA13F36BCC40F6
1218 84BDEA8252E58265D3CAEB804B2F47D8721A21AF05613B8E50F75CC789353F0E
1219 F33B315507BC8642F48A03A679E334CBA9D1DE65812E9B7A3AB2172EF68851BA
1220 C9224950565A74DB72388463669EF26D6E87E7F6BC82B15F45E5007901CFAA43
1221 64C3F945E197EE2E537D9B9B0814DDD6C97816653F02D60CCC228343473848BE
1222 C02304BDB6506CB382DD8784BB94B2F46D5F9A7FA313B48A28373901ACE1E9DF
1223 A901778000916315AE2D6E8D59542E4FC55705278F9C8ED77D2D4B750D380766
1224 2AE5F13EC903E88C8CAFE18886417950D86DBE5E0587A1CCEE105EE64E0717E7
1225 B076251A9019C9AA9EB0E3357595E900B6C1467DEE92F791A0539ADD534A7550
1226 53175638ADDE775257A3A19E359134C97C7A701F3FE00F78DD12D9E79D3593DE
1227 D6574A1A9C939D247A030D933A9E0559EA0ADA703FCDA71B2F50D23E951D03E2
1228 8A3F286522FE8ECDECECEA7062B322B1971F67C1D4295BEC4C9FB02FCEBEBAD9
1229 4F3235167541D55C18CF7405BBCCBFEAC25F17A5126A6472EF9222912123D72E
1230 780E24A868FC67B2A5A182787DF25AF3B0271B0BA49192A4B929C8FDFDBA4877
1231 0D0A5EEBD257E8B5803ABBECF27C0AAD52F75E9E3A6ADEAC20C1F9CBE45876DD
1232 BC0DDDECA8A52A7E6C6F491B1BD794617035E0ECE6A43A7341D581C7887349FC
1233 EB2296CB0504F911ACD3D82F080CD8E9861E5FEBBBC8675CE57E8B697B81FE7C
1234 180D6F89DFAA9B0A2EC1A821D065CF7FDEEFC4EB905B0C0BA6C7122878880AA9
1235 2205BE815AA3211C7AA144223F4381C4C7E51588040F6A4B02C50A9C7BE607A4
1236 2D71AFF3C028D5DD9E8B217E936D4151E6AE961EB677219306B7449F059AE815
1237 8CCFD3A5A6EE68BE184143A92178834CC31A8C8C9D96D0D7D51FE92D52DE0981
1238 94DAFCDBAE9E2253E207EB3B10F7613C5913919F8C9EB2CBDCEFC63C3590D52F
1239 450A808645F28D130A45E82871611410FB0947FF7A3EAFA7EC3D670524ED002B
1240 E366649A771B42311F487F30883D4F9DEB15ECD759876BBF840B87E08ADD4AAB
1241 386E95EB168EDB854C69FD40E6539E7A0D283F7C07AB3D35A7F290D3E3502CFB
1242 486A56AE811CDA7DEB0C1B6AEAD18AA153C3AE5D373F1714B1B62BF6E2411A29
1243 9AD651A2F517E69F3BBA3D068D8833D5EC14121A3AF45CDB740709CF39EA69C6
1244 56B2BBC0806CCE9A67D4504FC1B313924970A10BA4F0500313465AFCAA8EA184
1245 A6F479DBFB86A110CCE8D4DE24CADB6A04C4A9B73A190D4A8470D30E9CC2AD41
1246 E1600DA4F8AF49174FDC29E90A51AAC93469E54D23B8DB6F4F330890A0E06301
1247 E09E19393E4F642DF961844E3009F4F0DEBA629EAEF9CA909E51811AB88EA5B5
1248 05B5F326E1A11834FC5FFAE11212F993C8962C81205D93B1B7410BB799ADFDF2
1249 5709A8696D9923322C7F9D80E30A8E6202CF330146F527CB488972BCEC5B31B7
1250 A8D4EAC9FD4CF7CD1EC01ED143F7A5864B958FE1C5F03905A10D173CCDCD9224
1251 FFED2804B3EFC25B60E41B796B01A5B97F7C978A3D4F6A773D245266946D7C47
1252 412412090D656D9D9BA7C9974E42D0698C1656984DA00263F9FB6D047791665F
1253 EF50B5AA3589953C1AFBD8CE3FC59A546F9D774DF033CD012FE02E4BD540172B
1254 A5B8D8AF11C11BDAA5C395E558AAC41DE47CA614D3DE7AE60D28B508B209F14E
1255 C8DF97EA8B7ABB5D0C9D86379613F0C6568FF4A79342D7EC159313F092D32F96
1256 58531A31BF571D222AE43890F66B92298A3999D915219EA87F0340D1A5B43347
1257 9BCC14F25AD02EF395DDF2F7A380C52070C05FA75999410B8338230518E7C1E5
1258 DC5ABFF950438DCAD6E5E203760F07F84BC5DD2F2CD988014AB7FD8956035877
1259 BC04A2A6CCC73F7D8B300CDE6628D7255CC1CFFD95F8A7D45E5FC2545DD350DB
1260 066AD380471D52712B846F603D502D1FA1E0C5A1493F36FEC0709D6C32C20680
1261 7F0C2DE2DF4EA4AD13E84E11690A2D183A21BF42719153CF8C7E37F9117E951D
1262 45389275A9A6583DE9799E5FB1691BFC1D4E31C44E1C11045BFC32D861922190
1263 7368FB6C6731BD6A3341101B12315F712F7FC5C954E0FE2B28610AE543C86C27
1264 FAB63F3DC6533816BF324B48C198355440F8790163A1844E9F1DC97AAED79B3C
1265 E5E99244106CF9E9737C90B40B14C4662A8D9F8B0FE3014DA99CA1D9F212B622
1266 FC751AA4AB124FF0199F3D1DB228021ACD2D067C2EAB987E81B5B5DCAEA22E64
1267 73201D34C387538BAF0056C4D4E404CA8337906E5CB79DCEAB39BE70C1E4388C
1268 A148AC626CE395A8D01920899D0328177899174D266F18C5C885406D17431EFF
1269 CB61EB8E18252287D1F83865F8E90BA66C25CB22EB35FD524E7A2A10F13CDF6D
1270 59938265155043A3A4698EDF8DF026CAB4411C725E3DA3A181BCDFD5BA775E9F
1271 86066980912F59B6E1C6C4FFFECD6ACAF936BB4F36155127F4F1852042048C8A
1272 C13EDE67936F97BB5508ED846BAF3311925290A803C996AC81A4B57B1C567D6E
1273 E01C20D04A37AECCCE531E620A90457289A0B0E760B04A4EA16F9D3E3B76D7DC
1274 51EBEAD51E6ECC24B62B06952565B210A6BA80BAA386F42F9937FA9472A63FBE
1275 AEBA58B2639D729A8429F3B0BEEC3C18711A721DCAE77C9C8D33E88D995B8365
1276 AAA1F958B24E8F11BB7C63A3E4655FD6F4196857B99A944B385608925004E32B
1277 B5CDCDB6A9015FB9EF4C819F7356593FC8507E09E5B709BBED71ACC4F74D9BFC
1278 9896D0D7D5DE928FF79D27F61B6AAFEE9A68EED137C070EAF1EDB45021E382E3
1279 F5DE49DDAAB3F21A0F7F322AB23642E2A07D46DFC9099395D2171FDE1BF5BD90
1280 79A6BF2C547E5185B72E38D0E0C87FE4233A93AF65585F9CC1CDB7807B16BD4D
1281 C140286D523840C788FBD472167E53947FA8E29FC89D04EBE7ED31751FF28F05
1282 7A1B2CDDAF2B9006A0C70E075C19C25D41DFAF0EB7E46E1DA15212212F6E748F
1283 459F9FDB419BB51BF15E0A2E2E74A901D4C4661D9BA324864501F94CBCE2B780
1284 4A3E1C01110F71D023DE78DDCBC82735B12AC04C09576AB702DE7DEE2C1CFEEC
1285 FA9CD8E2AB50DDBDC77CB17E096AE5C150DBD2F9A52D969DC3EC2D0ED515FDD4
1286 7FF3545624BDD141B200B4E99BDD30B8F9D76EB552E9C79A48090548F373FAA3
1287 84A672580E9B56C9F8477A49EA42CD9821C9FBDD6F1A23CE7A1740F701534467
1288 761822961153DD78EC09B8598A395871D393CBD88AC25DC3BFB98B81277EC73D
1289 3C7A566C016D41CA93F7C2177DF291514994C59E76F6CC142D32AC76D9778BDF
1290 590E1C4F87B8E53F41FAE9E85A2B7BB7970265670B088EB46E1FC5CACA253E29
1291 D3064CE520C3D0C7FCF41074A7E91BFC0CFCB72A0FD3AF05F5C5207BC600254E
1292 C14D2CE168C8E5CBD96DF32583F609A28D8F8CBD5B3C4D2AE92803D78986ED9A
1293 2022B10CC5104308B4353CB8F58BE88ADFB3ACE50A75F8885901E7E0D5C119E3
1294 533FDBCF6970BA9A90E0617AC9942643C42A32B70A9F448D57CB9BCAB631AA13
1295 7D867676CF5E49E6C0B6751DC0CE4BEE13A1E3F576318126EE16173C9E10EAB0
1296 AD32B42ACAE791D10F6AEA976B4ED353C354765DA2F0AC0912B9FF8A101464E7
1297 7CD7142498C84D1AF7D17389227F20BF0BDA5F72E5C46D631F38DAD2D03F181A
1298 F8DB3B568E3126706EE419AF2C3C57353E5F0D0FDC40F4F478C3876CB68BAB3F
1299 73A471209794770FCC7265BC1339CD8334C985E595B6B073528F26FBFA2DE6BE
1300 8D3F8EAE162E864AC9C6C68F651CDADB2B3B90E0615A0EC075735D5F546DF587
1301 C576D5E413C1000A235FD210821A6862A2DC0FD4046929A70E1136FA59375874
1302 D9DAF86D38015AD69B58770F6EA11E00DC7DA916BF210C5735A65D0AA104E9A7
1303 844D2188DDE07476A6E38DC091C154E79849E6C04A8F1B0F691E24AC5881D282
1304 C7E3B3146371F2752094D43ED1B41CC47795C6C2662902FB6F88567246B6DEEB
1305 C7F37109A4A82B62B20D1780202B250F94DB35F0496AC97F22FF80A80D115596
1306 A23052728D552E37046A01F04FD0840C0E2AA3F7C8C05EEDC7C7E148AE36F3DA
1307 07E0A54A00F53895F2A8EFB25609FEEDEF6F82B8221CAC54BFF45109916C96E3
1308 0BB1141BCFF183F1787EF0B8F13BE023699DDE2712D0C399EE2D4AD9E095DF07
1309 D0568D215972887089CE7557E004B075918B54485AC41823C98CAC02A56F44D3
1310 2502425A19C44F8E94388B4F7DD81DAF19D8BC729D5B6A701ADFE6AE72F77FF2
1311 9415F2A4248F2DF9F235CC89424D9B716658C0C0D1AABE2ACDDC0CA1E2176755
1312 26D4EE7F5817B7300BE24BF900C290765CEAC0FDE00FD7DCA0442A752FAFFD2F
1313 7BB4F2E6502B8B7C3FEC6B41AD5688ACB9AB11173714D8B38CEA0E75AF08320D
1314 525C2274B07D6C89269916AB4FF8D0CDD72CC249068F1EAD59FE6067569E8711
1315 1F6F318C8C97AAE37483D1D944CC4F056AA1118C3CC40B6F0F4C3538C97F24CE
1316 A831D107605066BE7B6D8E13B7A99D6906E3AF914C2B031AB4F6C8E7550FA8E1
1317 DAFBB9A43C1340F2CAF508346C7A20CA9CF8BA3C250E90D1DB67B2C5AFA40C34
1318 D69A4D4A358EA1C02848B2C95753DC7984B5F31A969C59A8CBFA364F56360039
1319 AAC9EA215F749033875C65345973B0D3E0C6100254A5A785F6F7F3B4BBE3C10B
1320 DE6C80EB5253631437FAC0119F1865F197FE26AFCAA5BA2EF69D423141C6E627
1321 36A13038EA427CA2D4BF7F637DA0B38205D4CE6B97CC79F8751387ECEBC518F0
1322 141CC75B9044442E93A4E1A1F3001335E85F11664BBA52A6FD9ABFFA2C5BAAD3
1323 E6CA6848067673030D31D1FCEDFC8C898F98F8660F22DA5FA0E8EFDE3F07FF20
1324 AF3BE928479407CD1D5F85E8AED192F3A820AA45E07A59D3233F00130B2197EA
1325 D42AFCBD4020694B3F3F170AEA01ED491B48E51FA9B3D5FE0595AC825C63844B
1326 9EE5E5435C36A3628F272D7F0D7A22C14F9F6E25BECE40F10C4210EF59B31955
1327 9CAF59912A8C2BC00656EC408AA92321E2B15AB2CD62EDC5C2A6DEA542328B5B
1328 B933F6D980A74C0EFFAE27FFF933946C78C364A77EB5C963962F8B76402BBBF7
1329 3EFBB503A9641F44F23DD2AA51CC731011CF7A473D011ECFC492664CF04AAC19
1330 142FE32D54788FDAADE5073CC399D093B07CB8D37F18F2CE6DC40BD8DB283325
1331 51676D8A702BF0CEEC991D772A2EA0D22370A3A9BB9BA345DA7DC747F13C7E6C
1332 10F477591CA9E622823C82B5AB085E67238594E9FE0BE1BDC7988F30BDCE55C3
1333 375E568BD404CEA2A8E117C3C763F45C6DEE386B4BBE47763A121D0BB9E0F440
1334 C0FD72C63A1A2C69902112E7331C0D47277146E401427315CEE4E031C7E698EB
1335 0B8057819D74BEAD5E6A7B14CD496D7492AA3FFBACD4A8F7C0FFCE56AA9EE58F
1336 36A587E5E84D6E2AA012A4C79BAA22D338334203C83F961897A2EEDA3176554A
1337 2D4D905539E39E60D30D856D0CEAF1AE97A88B3455B244075FB1E684E6129BA5
1338 23D28A4CE3DE9AEB7FD482532573D391B8661C6F99B43AC7D5BFF63E09C88BD9
1339 C0957E23C5A2294008D96D491EA5B1AEEB703B8F633D985E8550F57D0E5E187A
1340 4D7A08878ACC7B6140BC942F9E5AA86A73A335C23264FD65373B41C0275069AA
1341 6728B9FA7171118C775899E6A1470DF92DB5B8F1FFE12C78B47B0E80D08F04E7
1342 104C4A7BC9761673E3459140ED8F2BA3D7440A7A8D30BA9B10329E9F1343C4C4
1343 8E32D3E147E428B8E382E9B3562AD3EF4E73143B413279B519C89D9E6E8FCB1D
1344 7411121385BB22BFD91BCC7A651036E48B08F62182B360B48F596CDDD49DC243
1345 3904B3F4A09DD428F28CE5BA7B8ECB148FB6B3C9BBE27E28301EBC02065A76D2
1346 AC792040F343C76F1BC81DACA78C91345E2E5BF954159D74EB135E8ADCD79DF5
1347 86ED8B653C51479A1ECC5D826CDD37539D6E624DF1DE60574DB0E308C19801CF
1348 1747ED1AE64FC3B24FEBDCB0DC8E315077F882ADACF4AC2F3C6B02225D27522A
1349 AA38549FD77D278E5831E436E274DC699CF79A0AE3CD9FC16DD5D7828B6CC162
1350 5E96AA4482FF9E6DDC01E2A6CD12E3641DC1749A0B7B00AFA9AE8E2121249B39
1351 77A12E4A6F9F732E1E39E2C07586CC3BF645B307163FB82C9F7EC9A556B8A353
1352 F185DE2DE97CCEADE67EE904B48EEDA5C5B6C13186E00826F3799F61DDD70B68
1353 AEFB38BCD32CCD7F7EAD879304E97ADF6F69F5411E3E9B91FDE0120BA562D2DD
1354 AFE7DE67C6F21D164DB2FD5C0CAACAA9508FBB4BB6B74C952A55D49872BE7A20
1355 0B7884DF5B5F67B3EA686A6DB558E54ADE08EF6730EF7FEE54E9FB509692CEBE
1356 8313E634E7A29F5BA470F42C0CD9CB654976C5508C6EDC26851C6E4248FD8346
1357 7B3F573DAB2E915AC134C692FB870960E559F098BB6BA970442BFE751993A4AA
1358 7C112677AE36620ECEDCCB59D0E7A5EEEFCAEE77BBF9BB364CE60707A344EF7C
1359 A23B3E9A6C7F9C3308FF238952D64758148B51E738728A2F52F4FBE072EA3BC0
1360 417D9D1BF1168A4EFFA6E999C99EE42A010D6D8CD4791BA9259A20C34FC70282
1361 93BC6E456B100737F20853156F99CEEF834791797F468BBDAB7DFB62DE53DFE0
1362 46A413EF4ECC80237F076820C7EC87BF51E50A9F4CD92EB63E179460AE0ACEED
1363 DEA586CB55E1D06F5A76994011339CCE426CF94997C240A8220E48246B020D0B
1364 E16974D40FB29D0599E96D2F20A4D1D5BAE1DA7DE2BF31509753B841BB5C66B4
1365 11FE474C3E0AEE27C49909030FFCCEF1BA43D7AB70A9D677B745B46517EBB3B9
1366 1B6E1BEB8C1E1214925FD157B79B8FC476BC27FEE0B4A2C5A99FF786B01AC1EA
1367 E78A1305675C283F502CC448C7E44DC96F08A684B25B7B302D3B2A81B4761B69
1368 4C5331E781015CD1DED855D07B36E4AB5BC2CE7CF2DD5F22FFBF543AD3C1972E
1369 B008594EB373021BD3C1B3A202DC764DA67B6F39396437BF15D48C46F825C8AC
1370 D7805B69E77D25633C6BD57911D828C7ADF95E89C265963FF2D7FB2817908C7F
1371 164A8BA93FD46D71AB51489C11B311AC414F6598B62AB3C6A82F3675F3EB6569
1372 85D5E71C66CB19473C943E293611C88B7C163580BF47B84EA03428A53A171C7D
1373 1712DFAD18F09FE20607736C84E22389597D9B746433E6EA1B5E12132635E847
1374 8CFFC383217A9F886BF83A8C172079AC3F55748B8012584FBA2089C531D6159E
1375 809C9BEE4B7D39C038473FFC76FFEFD199CCDCE9D0F87313A46AC6C13053FD31
1376 2C234BECB0BE0789276E531A46DAF6BCA4C2C0194CC08F5055667EA21F35BE6D
1377 AE6E0A29B8B9B2DB922FE97090AB8CB0F5DB7A2CCF7ED0F47193228C03455F80
1378 0C0C9CF1032DCBA8F392E69B51A9CE83DC76853A424A532DAA203238502A500A
1379 30AF3D2205F3581FFCDFD65ECE038F3BFA41C92FBB04983817326951E2A3671C
1380 9DFFF874E2538EB6801CDF4C293529D82E7E9632C03354FB97D0C3E7B58EBEAE
1381 4FBBB21D13A25B3D3A31C9935698A9BFC5421650A70C8DA301DDF8867468D8E3
1382 96E7A5EC398521356F0B9D64960B341C90088AAC324AC730174244CEB08608A2
1383 0764C48EFF017F15F87C33476E96AE3C416B7D252E4F361934C04DF76A8212CC
1384 102BF4CCC1A940DC73799BD5A27A5CCC97D09C2DB409F2CEEB255A4D80F1191A
1385 07E41660BC612BE007F949BA5B051AD93E5427C73546761990FA0C106CB6DBB8
1386 53494FAD836E18D534C1378E4E1CDF94B00F01B66AC9D102E59910DA2389049D
1387 332AB70C384B091038F5DA6E74DA53F20B73D127368D99A68AD667E94C3DC97A
1388 4EF6AEC93EBE84974620C332C96906E5EC719238102D0EEF45F38D5C0C3DED19
1389 025A16B3135DDC60E2417F84C7B2814C606AE93B2F58EA371C9CD6344A76E9CE
1390 6BB2EFEA01DB858CF58B153ABB23CE46DDA39E52FCF2803DC5EFF7461BF5AC2E
1391 0E0A231B818CA5FB49FB4492DDE93D8B3F47FBB65C6D8A1D2E174F4551B8C22C
1392 CC11ABC09851DC92C750D887BFD7B94DC3308456CF55B80783524CA19DB5EEC8
1393 E97FBEC5639F953CD3E2243034EEC1E2043333FE18AB43AB74DCCE37139D50A3
1394 BC50DD07FE464450E5F849288701DE322761F8438D63FC40CE9AAB5F69AB4FD8
1395 2A903E700DBB25EABB2808F8AD4383C130AFAFBAB82A30265AC18842537ED7DE
1396 A7F1BD62507E0485A8DE0871823CC3EC16C855BA39AD760721B393CB8021CDCB
1397 CB31678652DDBA45B472DBE53CE54911744FDF693D3563AC9FEF787068EC559A
1398 44B64A10B477FFC9F7098A6F4C0903615A2941A63CD0C74910E63BBF9789411F
1399 63ED8DA3820F3D0F9873F392816741614E9DF61AA388B4D77F35BABF5D7F4BC6
1400 3C5B269AA1F63A157A5DE9E6E37275234327732913818ED00297B832FBC818A4
1401 1D9101279049C188DEFCD1D3AF9F56572D1DEC4E4D3CA2A0982DDA21641DCC3B
1402 F8A8B255C9C91552A56CB96754186358A9B180B5B832C51B7DA944CFE2A11004
1403 AD5D4C0BF443310B78ACCB623C93E7F8CC3B79FDD36596FBCF7982B15475F992
1404 1577507B68742CB593155FD41BA94B867468ABCE4CBEF3807464E98E70F80748
1405 F9A771963686DD2664940CA5925F52BE24EB36584BC91DAED3E14A514F0AFE4F
1406 B6BC00B56B7D75465708EFAE85D62E34A9B9644F638456E1A2E5934EF98FC42A
1407 5B78885616E572C39C0C0872C9CDB5550603C940C2971B9A57C98A7AC237E3B6
1408 09DD608401C67E2ABA3118ADEFA744BAADBFC29F9BAA805DA2C0F9B3BB9E8901
1409 318B27B0DD89DB07272A14DBDB6EE582420E4271D903A4BE0F622985E62A4066
1410 E57F4B76A54A78856AA5F037FE7895536EB4D1714EB4494800A9D78436C6F8C8
1411 C38C52FDBB8D09B64E05EBFD311559254D2B175360EFA9BB7EE0C0DB66B60353
1412 A3175589092BA73864E8CADEB3653C4D6FA12FE034DA77D9B415207387FF31EB
1413 987F9A1F631C4C194368C26D759E3C25C5356E7EBD89A997FD5521B0B6CD71D8
1414 52C1BE4606F65654364DAF495D6463048B41362B709477FA278A63D8306B8B4F
1415 717B832DA37EC8E569815E9023738AF76F5172C7A3FD19EB5D72E989C8EAC49A
1416 4DCF0553A7F7996CFE1837DFF7CF0C022C064AB0F8FFD190BE6969C6D11D17A5
1417 735DCEFDE8E3B19FF2314760CE4EC1E52478C964FF222BA20790C3C2347DEDF3
1418 4F589CD2B4C89B0D22F65EF57F29D525A98CFAA9D1896225CFB6A118233FF8D3
1419 00E683AA9C38D664FFC599EBA7ED2672227283A111138EB60DB0BF6D608644CA
1420 767479396ED6EBAE386A3F205DA6F513489E210F500F412FE9ABD1D62DD8738D
1421 854D8F3AD99942EFA63AA3A35DD8E9111CD16D893B4A0F026EF6F97A1D174371
1422 4EA57A761A21AF05B402AB186C4F3BC93D9AB2A96083E13646582E9731BB6968
1423 71D5F2630CA79507A4C24A3DC0F4D54467D8FB1FED0E5A81725625022BD14E15
1424 EADA66FFAEE49868E9F2EB28322FBB110D9914211F906F58CDFF9E78049B9DF9
1425 2A56350D257858EB54A366630F6C319FDD3CE4D8FB996C3FCEA181EBF8971FD3
1426 4B99F52E58AAC79EFD53CE01E4482FFF242E8015EDE484AD8D899D0303BF8A5B
1427 7361491D1BF1430A7EC37FB66969D7C9B2A42A523F5452EE4730156AB13C6F77
1428 89C32A3B9DE32869D6CA17AB3401BAF1A2FE5B56995A979C6F4409A2C785CAE1
1429 8ECB280FDBAE9550AE1E9995B99F4825642ADD7DB6BA6D5FEFA7F1BD73D6056E
1430 4B0E6F7CFBE69D07957054D3DA43BA4F24EA51C715CB63BD22B101367E72E7DF
1431 44C426ED03DBFA60777B6030EE2EEA45F69451E304976B89ECA9F49A4BDFE5F8
1432 780985DC2B93043653184861218F3AA4B8EF30145D40063CDF5B235B7B1BE5AB
1433 B54A054971B2E9D95FB16C64188A0728FF2EA002E1DC66187471B0334D00DE53
1434 8D3C474DF38885D77CD8EE92F0F94E8356F7EA779CB4114A8192A1570ED43F10
1435 91CF80F6F489ED6E12B34FD973102526668BFB747C53929DAFF270BE7010759D
1436 F0A06CD43E7AEAA5E220A68A9D8EBEEE5F037F7FF80583FAC3312E82AEAC4510
1437 75392E250A5450DA4E15E8EE83ADDFE7C684E1198240355F04829D025213F732
1438 3A1BB069DA8074CEF22425644025FF233FCF5A8CCE05B6FAA22993FEC09A774C
1439 F0213E45BFACDD7432F97630890FA53DAC2D1EC2AEEBF33A1C2E105EE0207687
1440 D4B56C423650608D596B01A9D7D2B5BFAC8C7F6224B5B9693A1CF8A4F8494077
1441 978B2444499559E893963E85EAC3C58A6147DDD0AACCDF26E6E73CCE9BB73BC3
1442 A2BE24BA6DAA75D16C39811B6EABE0E93C32642EABDC11628415748B1C23F9D8
1443 F0A361762EDDBDD28BC9530ACF190783A84496B0ABF436D517CEFCE048F5D8D8
1444 717FC986D44F7E6A2013E7EF59727DBA32A7E18B450BCBB519937ED89DF733A5
1445 7434E51AE5423E3C75C25BA62F475D151395CEBC43F7672583EBFE0A6D92FB73
1446 980E1D13BA7909D4D184A526E1AC03637FC0E3D3A086BEBBD5711E4CA1768A85
1447 C7C18F50A6D284798075D733C58A727DFB3BE1D7C55D7AD8ED8545FDCF6B27B6
1448 A315960665C200EA8A463DB293CE6DB1E7221D2F6AD77934C5627AC082282D7A
1449 DE64522E4857CDE2B78202D27585FA3A15FCC061DD840C663EBBDB0DECC0A0DB
1450 455E6C418BCE11F9D0224B2A73A2D31108A21F1561EA255CC5A3CF7CD71BA34A
1451 4B0450070A4CB51699F667909BA7882847F635785D2A3EDB4CD30F6BF947A495
1452 9B3990968F0F79FC855958D4516E6C6F6ABA48EBAF83296DC73E5F19DDDAF856
1453 4D09F4A0411F70A1E53B4762EAAAD5DA85014C9ACAF80F1BBA843D17F5210896
1454 824B895113CF6785E72A4AFF0A278371819028CB205280D53FC2F12EF975597D
1455 8778EE5EC400D4D6DB5572C4FDE6831EC8091199FF461098357D941B281DC03D
1456 72927D828FBA4E0DF2BE25FA0C905397F6CD46149804A1045B040C6D4E40AA57
1457 75210BF9ED63296D6BD952BA12098D10C26770DA33AFE10023190E8FE95883B7
1458 C26E4CEAE8BFC86A536DCC03EC412058C358429ECFEB9CDC7204606E7E1EDC0B
1459 20A26F4440174C577D37F2EADB91B75C1E0FA2089736538416E74B0E01326F65
1460 13874265CFF66847FD80BC0A11AB5ED5E9B0005BC0EDEFE779DE66869BD0AC11
1461 08F21FBF95360BD56F3AFF773F922FF0DA7155DD0F908C0B720CA109456A4262
1462 F75992C3304575CF6F7535F8631A00DADEF857063C675713AC234AAEF4C00E8B
1463 6CDE8A15984A3927094C16CEE97E53B19D997C82D31FAB47033910DEAA5AD8F3
1464 075E968073F0CB03183B553CFEC40F61FA12FD1BE1C7134607D8B7812CA6C79B
1465 187C151C60C8CF6F55C3029437012994044594455EE25980432BABBC5EC144F5
1466 A935261DE912C999FEF618745A19D947BA38AC76A3873BF1B477C09B76BFE336
1467 72F89627635C1F1D64231501982800A1C99C7D103C80DEC8BF74FD546E99A1F7
1468 15B9BA9CC8F29A266DE522E95E14B4AC7415CD93FD5653F0F3D9978711466362
1469 2C243927D996B446A8EDF2584CC78123D8B9AE43EB87EFE7BAB96CDBDA6FD436
1470 7B9B20F612CCC58690E3C0C950A7DD34E3449C8B7DB8FFED36CE89E732A134DA
1471 6A91F9BF30129FAD170A8862219B28FD4DC241359B5CF03DA6F0036A8462386F
1472 F06AFA9E82685E45FB6B61AA6AB288EA22D003EB23ECB95920AA64DFC924E6C0
1473 0EF044ACC401D930C47634A9481FE92C62F222A2EC724170E10AE5EB6D1150EF
1474 E2B0E4E0F4850294E3296864B154217AB1D05607BAA847F85D002B6F109AE0E9
1475 BF95BCCAD12D840AAF11B965EC1967B0DBB89A7277B29E8177CB413400D3CC14
1476 7F83659727180FA1CE31C17BE2B0F8879CAF1D019538C560244BBEA87C30E9ED
1477 8BCC89BCBBBA4C1CD18C84286307D667D46B6B5132C53D2BBD8A962E1D6A297D
1478 D1F6C8FD9127A48E6C50D7EABCBA9B503FFACD61317ED0C2436C1573DCEC3B29
1479 0892AF68DF5DD1FEC683A0EA0080A5D2A897816CAB086E7F994854283EFAB162
1480 D48795589F2A4C20AB6F153AC44707B614F92D0F08DFF6E7487BF2E71E329F4A
1481 1AFDCD7664EB0863AFC2F8B99F18490000896F6BE2B215CD4429405344840F31
1482 F56931EB2CE5C28277CCEAC4BD97CE080507635562C64FD0FE2C8A0C7952B613
1483 2C8E6119986033CCC6843F4F7C2807EC7C29D5221D6D51CBA92046604EE756B7
1484 3E9D707A1A86164B1B6FD48DEA6D9F9A7D3092C093F1859740C079167554F426
1485 E1C66125446119AF80E5E9BA82EB9ECC02E2CD3C39809B53F2FA32E838951EC4
1486 F92A7F7EAB34EBCC5F40CBFBA7D5A825FF5B5EA6A9450FC5BDD9123AE815CDA9
1487 16E6F3FFED654133C43A4D7FAF9E91413A36D614AFEF5412F066C5D1E8F3B1FD
1488 E89315DA204D9EECBD46D0B6247F03A8D6B179EF5DF9FAE9F026C19748F80913
1489 7FA7BFA8B7F9172798018B19D0A43DB063D25D58F4981160116CE4CE1D8A5D57
1490 2385BE0419A98852A44E449B0FC8159451CAEBD329FC4E9659EFB625A21E8D18
1491 77579DDCA5AF11A3FBAF67A1C66CCE190156E250208116F2BA9127FFDE5263EE
1492 DD617064D54CB2B9CB46374F310FD7ADEC63ED1E6B023BD5B44A3ECDE0EC131B
1493 44F00D3765B7BDD94A8B3E6FC386FF721C5219E5D19F1A66D47B5891ABABCF3B
1494 C171A565981EE37EB01D5FE67820EE213F689C24421F39F3F4441E94D61A58B6
1495 AC2CDCC0EBC4E409AC4ACFD28BE6634EFEA96A4EF1B54F2A4FF6F24D2BF6655C
1496 19F866E703C8C2607C5155A4E29B9F3928C190EF4697E8F78D7097F7DB901C39
1497 2692DABB94A66C3F26C6B898A7E04A045FBAFE98FE75CA905CD0FABED2DCC38B
1498 65DAEF6962B3F10925104948DE19AF19436299EAEF17C1EA88411ADBB31C238E
1499 3ED56ABDC18D761FFA774F979EA85E60F73F1A10206E68FE1CFB238C974B22DC
1500 1DB2AE4F60B3A3499EAEC5578AC9C154D5DCA1942908A25E837F89BBC58252A8
1501 263CE8AE5D5358D1506E9303802F72581F4F70D4880F159404836BE39FD028BF
1502 4F9EC0380043FCB17C6DB7D13A9CEAC1856D6CFB464BD56E684870B00A3C0AFF
1503 BECE155783561E8DE98A89F872BC519E0381199CD4FA4B8817938890ACAB119C
1504 D72BC8C85AC6A20612FEEB4E9C024F6EB74A51F691C673C46FC06BC07111B71C
1505 BE57F16C8CDCB496D7EA4EB7E23629EE25EBD271BF19979C04ED607930D0C4C2
1506 0023EC02D8B93A2BD1E055F4080588180652A9DF229AC21977CBC5005744748A
1507 49065DEFB816B151C2ADFC405B1DD39FC4F8492E07BAD1F5EA494C7DAED41D62
1508 2E347EDAD1169C1936354577D199A7D020E539B830C9B5285D98BBDFE73E04A7
1509 7877D46F699A079223A43FFA2A78B9A904AD99D3315603A2BB89EDFB547EBCE3
1510 77A23E2DDC3085FA9B07DA71031E1E5ED984E99B2A64C8CC072B1EBB897AA270
1511 78A659DA3A0F74B945F0B82EB5E4C1C0B11C39AF6E5AA6DA4F1152EF014585FF
1512 36B7E76DBCB824CC647F13CC7551D008391FF00620FC35
1513 0000000000000000000000000000000000000000000000000000000000000000
1514 0000000000000000000000000000000000000000000000000000000000000000
1515 0000000000000000000000000000000000000000000000000000000000000000
1516 0000000000000000000000000000000000000000000000000000000000000000
1517 0000000000000000000000000000000000000000000000000000000000000000
1518 0000000000000000000000000000000000000000000000000000000000000000
1519 0000000000000000000000000000000000000000000000000000000000000000
1520 0000000000000000000000000000000000000000000000000000000000000000
1521 cleartomark
1522 %%EndFont
1523 %%BeginFont: SFTT1000
1524 %!FontType1-1.0: SFTT1000 0.3
1525 %%CreationDate: Wed Sep 12 2001
1526 % Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
1527 % See the file COPYING (GNU General Public License) for license conditions.
1528 % Converted from METAFONT EC/TC and LH fonts:
1529 % ectt1000, tctt1000, latt1000, lbtt1000, lctt1000, rxtt1000.
1530 11 dict begin
1531 /FontInfo 6 dict dup begin
1532 /version (0.3) def
1533 /FullName (Computer Modern Typewriter) def
1534 /FamilyName (Computer Modern) def
1535 /ItalicAngle 0 def
1536 /isFixedPitch true def
1537 /Weight (Medium) def
1538 end readonly def
1539 /FontName /SFTT1000 def
1540 /Encoding StandardEncoding def
1541 /PaintType 0 def
1542 /FontType 1 def
1543 /FontMatrix [0.001 0 0 0.001 0 0] def
1544 /FontBBox{-208 -360 1374 838}readonly def
1545 currentdict end
1546 currentfile eexec
1547 D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
1548 69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
1549 CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
1550 F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
1551 F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
1552 EF25195F68A2A98170E4875AA1B1ED6A435B5950D131BC48179F5BE3191944DD
1553 8626DE76AAFD8EC4DC8241F2ED33E10698DC7741D6E45CF5A02FC6D2068AA205
1554 EF3C4FDCDE803F4D1D4FF03A079CD4FC4BAB3C558A8FDDF53D34AABB7D89E4E0
1555 CF76F77ECE57575C27718A8074CE275DDE4AD245220A8236400BE47BC76DE13A
1556 9EDA4BD5744C71DB407BCA39DBC9D857122A1DA969E6D0915FDC1622AB8BB88A
1557 93D2EE72E9A2FA73193D6CDF254252980674DB644EEB36A2036E04DB649F816E
1558 E70C4C43E88609C8E8B8B84A920CA933FA00F41F2FC3C867825E2AC658FA0F7F
1559 331323E22BD193A0A8009B3F0EE6D55281CF1076F1631FE509E79941FF08D0B7
1560 ACFEE566C76FBC09F3B4AA57959D4EFC34413ADB46292ED99CC8EC4436DE2CAB
1561 86B8B48847353E826F5346762CD5D353727DBB502E08B934DAE4E99894706BCA
1562 DC35AA52C8610137C7E336009D564831E1E7936600CC3891D3A58A539523329A
1563 45DD54B8D76F43582CE621F74FE7F8FB06E32612FB06B66CBB3096C0DD63D097
1564 08C206A620CCC9ECB49CDC17295CD0B3C9D2DFCAACE46137490589D72A6A57BD
1565 FE97C0CCB9087CF31EAA7860444C0D2A1B230F1879B1CD80CED3863680AE37F7
1566 39A117963BCA696B1EFA8EA500DF5B1C5F6F42EA16D46CC0687DC684B2AE28CA
1567 8511448362E82092B10FE7451F92E7798EB30D015614C10FAE46C0A4D32FCB0C
1568 6BAB88710E429820C597271F5ABF0D001D837D04F7DAFD12E2E3E14A5D6A62F3
1569 27A102A2D235520B22E90390172C479E98418A0D659DA46431137085B59AA611
1570 233042AFA7CE671A231C00755B2090EAE0B6E67A05EF66353972C232A17C555C
1571 A15A5ACEA1F8AEBCAD32A5DE6ABAC1A2B9F68B0FB2B04A5D002635771456A885
1572 0C4906DA5A96C2EC5EFF288CC22CA0D995EF0722B978B52BBDB729D4F897E737
1573 0C4679B096318FF65F192BB465D4B28FD78BAF3AB21678BAA5AECECFB6EF2B8F
1574 5C1F6DBCE36E6313C32A4C728BC84C955AADF23F2C763CB339B5547BD1FB64BC
1575 EA0E9538A6DAF6921C5F3881436FF74C1D2DA79EF543508330853A42A2512CF4
1576 BDE155F7118DABA2710058926158D7179D08392FB590D91A9A334C7A0252273D
1577 12E93E9BFF27EF0108342D68B5C88DA27B2A196D1680787FBAA3043842D5E8D7
1578 09D13BE9F7D4292AB27FDD13ADBB9214184F53A25939ED58A375C6B24AB76815
1579 CD83B5639199A68B3D7575BD95466C15C69817A611C490CA4A7628C2257AA084
1580 F83F5DED18D9BE931E819EB6177E6889AA017F2ECCC26A80223DAE6F2B4E6292
1581 59B2A280439AF75932BBF6A5C4C13473C8A479CE8AB6CFE5FF69257E42AA6F9C
1582 CB67CE1D684B8EE042A0DFDE5F67ACB933B4C82FC4538263CD6180CDC03DDB28
1583 80A95C04C4F8108FB9A89B45C068ED203724FCC05E319A50916425C308D02F63
1584 DA25848551454614AF83486A34CEE46E1FACB5DB6255EB11CF42880ECCB4EDD3
1585 A6E842DAA661FD9B397A3F26BEA912693B0A2E1B36DE6E357F911C7F03FED1DA
1586 B28BB99A57DD4EA546F8EEB0DD871AE36D2AFCC4A55CF81BCB8031D291D5F75A
1587 3A1ACEE2C1E8D76584C32A7059E8DB896279E7AE6D25E81034C170CA7E61C62B
1588 A2ED8164362ACDAC5DD9692B890757DD74E27F696B442C31F0BEC519652AFB0F
1589 145E00AF29A5213CDDEF22E1DE92C7FE932325DFDDA18D698FDC2932E9D0E61B
1590 740C2414522243F8942DC98340DBF93E48790D4025E339F8A7ACA13BCDBD10CD
1591 7BDBFA7E97845ECF8EF3B6A3D13C4691B5C0A89731944DCA0993CE33FC4F48C6
1592 D181E139C5C9617EC85B0149324F506C84F26B62003FFCA51DB3FCC6D7723CA8
1593 6EC455FECC5B3729341CF5D74891C295A4F0FF4700AB0A2C8EFB3D5D3297720F
1594 EC65254242DF50BB4F2A69229CC39C8F087A72A9715F6076AB21332AD088DB29
1595 77AA675CF294334355C2EFCCA828D59D85992FEAD42CAF4D91EAC21545815DD4
1596 9583EB7FE74864545F979282A54E58F149C2EEB2970B37FB5A2F90A57149A835
1597 B02533C338049F26BDCBA08BEC57BEBCCF128F34591EA974D380750404774E0B
1598 19F8E058F51CC2AFFAA40AB22494D08EB379D8CB6206ADCCE107A624033BADF6
1599 D86FC17A30DD6D4236326E6DC3A046FF00D80D3B96BAD65985A4C93BB4D66150
1600 CC20D94E2CACFE7B0C2F5FA4150713F6FF5A943CE82CB1857A9B8E1B0842CA8C
1601 E511975D6DF8B1DBBAC85A8C373E00DA7F4B100C6CD4466FB09C83123094DDCC
1602 81333957BF5AD353944DAAE92656BFD9FF6C32289274B455E87562C58A0F7739
1603 F1A395E36FD23735A9CCAC02327C1428D478B2CDA05FD350DB066AD380471D52
1604 712B846F6E784DBBF01924BC2D7187CD112D3ACD5C7CEC3AC2C8F19BCB9D0E53
1605 EFC739D751DCCA9A4CCCB636F9CA857B3BEEEBCC23C1C78142B90F3153331686
1606 98A10F2493559DC0CCF452B1A7E86610EC87F2DBA4296190A164EF8942B5A6D9
1607 C1CCB2079328489503CE4AEE23CBA57153F85738BBC0569B52F812390BC29E70
1608 AC3872FF04437F2F53418A4A6EC36147841FCFAC527C14F9DBD135F73FCF408F
1609 1199E124C92B5C7CE0FAC02DBDAB88E34AB38324177752345BF694F806612DDB
1610 459733371D366F6E252435A2F4A39F785395668130D77D222D4427DDAF25B2CF
1611 72E1EC79A99A8AFA59B5B96B911CD7BAFF119EF9D00ADF04E86B1797B6F81CB0
1612 76D4861E89ABE13B9874F39BD444ACF028E491BDE0985545128BE3879BF4EDA2
1613 E7250CAD2FFB6AFCADF079CD1B8D9EB331CD0C7DAFAFADFCD8265F128A67C372
1614 720840A20C25E8A0C7BF44EB8CC1328B778B0AAFA4AC3E7934AB8E09F6E413D0
1615 28AEB72126F83FF84F15022F6B16187EAA6B23D44BACBF755EC54AEB8C0EE218
1616 AA8828365FA8D0E21ED1C80F69170257C0566EA3CF270B1475849FF83B1380B2
1617 90054C7918121DC99F7609372170A19CB1975BB90C59DBBAF1B1FEC48D4A2E5A
1618 4C6D38DB1A06112EB251E08434CD1FB81B8961F030D2CA99962D5FF3180162D2
1619 5EB096A30EA1BE19E1A0CB2353495C0945D0987108A3779C5147483F5E46B23F
1620 2EFECCCF270CD3627F462489F20E18CC4DDB0863C58F00DABB609F455F23B7ED
1621 90F772BF239C387A4ACBDB9EA5A5484D4BFB94C297F9E2BC85DE0DD56D5F596C
1622 B2275D1B0C65004551AA5F388A18D13626692FA02FE7E5F6474EE58EC31B946C
1623 41CF80911826F482DFCDCB78A67C18271C5711A59D248BAB65900182933882E8
1624 A20C99D5DC6EFF38D2448D8EAAA40892AD0636733B6A403FE5212309A329BF60
1625 93798EF1F83466480BBC58301065E1FDC4A44141E23E3FD8919C11F5DFD1BB2C
1626 BD356D885D4654240039A153A419B6CF998758008E2A682E5B81FFCE29111C00
1627 30063772B499539BF172111609CC88B755B6B5F35AE0F54F4B56187E2A770F90
1628 DFF1307DF865EA1C8807C99581AC34411066E68344A9F1578A86E097EF32D554
1629 17A119ADD0A8D9D4D8619D59D1C3B2EE24ABD913E36FD16208E4B31B852D771E
1630 946E895E837A96E75454B2E3C63B2F29742B7A5F78CFF022EAAB02B6F9F44E13
1631 9DAAD1AC10B7349186CDC274F5C739D8F42140840DBEE2AC618C923BABB066A9
1632 5F49BBAE81C8600B84C8FB7257630403184EA2D752C23B476F55A202BB5A0413
1633 958313EC78CCC37831BAE3F132F8AE3AC66015A9A69A4C787BFC613F3FA29928
1634 9B211C25468FD4D9767A61FC7069A31D428F46C1085340A22DBC99B369119286
1635 C288DD5A4BF3201B92300D99EC5C27BBE1ED4309F7D6A8D961E40F7B96A2EE47
1636 E14FB85B0DE66D8AB8594459A05F39DD3E6629A21B197335AC0947E68E839DD0
1637 A97665D726478D739895BBE590480F0E06D13419D0EA141CD3C232950A6CC061
1638 C2ED9B7B6C6A3BFE801083D62459AAF538DE6C18FD77C17140BDDA95300A9FE4
1639 49FCCBB8FCA8042756FBD961EAB16503D08FB97D8010B505F83646F7AC386825
1640 7723C91CC771D68C11C8EF4950265D2B4F2D75BD27B64126F927CBE82A35E413
1641 D5A315F51917E45B1BA4732E96D66E7DAA5549F5A4264BD84D7FBEB186853D05
1642 BC41F2C8903192CAAE8A14B95868CFEFC00F204F46A0ED60AA130149651F5744
1643 A278C1E050CC75AEF32776B3A29543F526BB826C004888A9E3D1F1E76D649106
1644 8203CB0F98EB2028B9CE6DAEB974689851A9537EA46869D732F21DA37A7B2444
1645 56BD98269A40A5DE0BAA262A55B498994F27FEB1D9F839F1052D11E5A12FFBD1
1646 2A674BCC38AA841E8BE9061F1497CABDF651CF5ECC8387749FD94A29FE42BB4D
1647 AE707A8F03F70E01766E098E8DAACE7BF3E6015D0FF55BC9FDD3B39198B8C220
1648 A07DA2EA2FD6605F4A98894ECFA6D02B0CD660A2E41CA448F1A2A7AB9F98DC6E
1649 D1533FD047CCD51C522441AA6FC203BACC4C774CE88D446E608FFD38593EECE2
1650 F07D263496EBD6E1643F070730D8E7EF8EBC6BB490FB6BD5470C544DABFFD1BE
1651 D49C608D2A7E81AA54E3093EDE6068C67A6DB25F8E5B5F42C1C211203ED6EB5A
1652 335712205BB6CF70EBDC1C61865AD6D13FFC9BA45B9D908A33B90179994BDEDE
1653 D13A24A72D49362A3CC7308A41409AE1E6D586D24DE7490F83213E52BCC8A1DA
1654 627BC3064CE252798F4E3D0B78CBD11BD3F3D0D13EE0E72918A5B981AED053F4
1655 FA2C9D09BAD4E0AB5C0FD8191503E232DEB91F953343D5DB796A2535BF487DBA
1656 053B1BFF75458B28DADCC095FF2FFA13E2FEE7224BC98C4F0A9C6D0B80CED648
1657 706746E56B977907151C40DDF2DC9D8B5474B0F577ECE7D42DE688F795A167C1
1658 2979B4BC35B21F6085CAAB4C57679128C451ED6EB7504D1FAB025D5F1E53AE85
1659 CE674D0226B6A0CDA289CFE590852795408094744B995E2D30FE7AA39D0AF5E7
1660 8792BFE131577C965286154B6DCB4935939358D67986BF7CB907782934499044
1661 B3C32A77254150C582F978CD4AA8268D4D88BE1571615EE882656481BE51292C
1662 DAF4F5770818D65F66B7279741C5640259491EDE6EB8DCCDEC2DDE7D445F57CC
1663 792B026C8ECDF307D60C35CDF03990C23D5B2A650AE3510B137D55E6CBCC05C8
1664 41BE95AB8EE4E073867117D0FCA3380CED6E70DF19FF919C24D67C59ACEEC8AE
1665 DF936D0C6C2365224934CADE4D51D2A389CCFD9B42CC4C5650BA6696C75DCA61
1666 F867D7383B309C5540BF12F26C05AC72660877A4E809F029CC0F948A9E1A4B22
1667 495B5AF313C627E6CD6315ABF4B08307A3B0A5E6A101A4E35BBC49BFE9041842
1668 AF256A919E564481BC26000B6602C04BA385DE32BA45F6B24AB94AE1F3A6572F
1669 8EBBB91295014DB10C6BF22F5D80E36EB764EDACF572C1AEC2F8A0E8CD4978A1
1670 E94C541D63BE04E0815C0714659BE1E11E16AE8A2397B4CD0F9CA1E5420C0685
1671 43E2343C71EE42190964E26C71F84D7A0176EDBA865845DA8AA762882B9E41EA
1672 A320F97F5DF87280FB9C8AFE6E8AAF31EED784AF7749DECD6F3571B916EA0CF2
1673 4F1598DD3F7F028A07DB6850F3E2F2A76719A97992FE8722A82ABA9CDAF14EFD
1674 8B85E3D10ADBFF2F2A4FBC23F42BED6FE85BF773ABAEDCFC5F6F6E60ABB01406
1675 62EDE27BE80DEC005B37C320E7CED18754659BFA4EACDDA5E1EE1EDDB0B6F7D1
1676 20FE40FCCE82ED63EB033F590E743364D40CF42E3B5B7122C12956F50E2145BC
1677 7021573B5D3F3083CCF6FE034F2367A227B9612C3C2EFFF11E802D34228B1459
1678 FD1BEE59B48E354876541551C769EF6C0B1EDBFCAC64F2EE2B44C299F3C1BB4F
1679 A903FFAC28422EC8051B4E8323540073DFE959CF33FB737296ED239CD9931C92
1680 317C1B73D92B41C75E304ACF30C770953922F0110B890971A8249E0A8CB7A1A2
1681 B2B8BCAEE867F9CB65F0379D401C655F722DA9E26CC84E721A361BE872D86958
1682 18C0E9D9AEF42E1508FD51080085BE48413923DE84C65E6BDE600928D05606E3
1683 51FF8A52DBF397A226E0879CE48637CD3C58B8559274352EDE610D488CBF10A5
1684 7A79E32BAA789B7BFAA86D0BA3333480CFEA3EDFE5726FD5FB18EFEDF3CBB8FB
1685 FB7A9510527F3974CEB06CB3264EC6220EE0D94C938EEBF99BA638D5A89CD9E9
1686 07BD5BDA9873E858EE0E96B00E1F90BBE9ED981D7EB6BD21DFA039735EA656F5
1687 664E6923CBF3706A4B0808DE9D1F8452B09DFC984F9C1420F79F8A4286FAE4CA
1688 644C50597F58D69B0D3A2F389F9825FD0F314476372605F25F912778B6BF4E1A
1689 EF672DDF12229D4A91E57FF154A4A77459AE1430481E43720771E6270A476844
1690 43730F43ACC6A596B2A0797367224AC2FA0FAC3C587DABF1A686887B34E65341
1691 9CE372DB43BF0F69F9F7FBDA30E84943B1A1D005D575CC9DECFC55F342604A32
1692 65AB5150A4CBA7D996F08B42322217B06CB73574BBF2ED6204B881F5C4E42589
1693 5C2623DDF714EFC79D7E9C5ED2573FDA847FA50F2E9A15EA0D1F88549CD8239C
1694 645F54943D500D7702AC37E9F3737B3D223116A6DBBEB0C9784A4348C7A8ADBB
1695 083A366131B9238834CA6C0DE548B6276DFFDFFCBB6E4073CA165A1180587836
1696 396D1A886689DED9CA268054CC6A5FC0B48EBD976FFFC6B4B1BA4525028A5BB4
1697 17EEEE67AB0278661B1E9E62B48838A442E796E113D82F628F7593A2A3A7F468
1698 E33831FD692568ECAF8B2AB4372E98F0AB2D166A3CA7E94F930A139DF2B2F3EF
1699 7160B838D2CDEF52F1823634FAB8572443E10A5411069D1A836B7AF919EF9654
1700 03D92834B76721C396BB4C31D2FD31DDEFFFB0F2714F4EABBE388376277D26A4
1701 EC7BCD1640AE330B803BAD093C909067BA841E7569C06F7AD2B65125BD4C66BD
1702 C23A903B6DD45E0DCD51B10F0445DCD79CC73E8CE18DE3AE6D832B77B6DF710D
1703 630FECE19B6300EB1B060BF4040641A7D0BC5C4C0BB1400EA5B2946E56800425
1704 DECDC2BDA27746B05096F2CF38B5F6874549A9EF41CA5122A37879AFE47282BD
1705 8DE134AA195582C6DC9892AB406FF368ABDC4304AA7F14375F62BFD0CFBB4C09
1706 7DE0CF386EA57844D99FFBBFF39611F32DC7AD923761DB59ADF303528479B0D3
1707 7A4E26CD6CCADB5A6B27831370A5C8593A2B7DBB1040A412591D217337C5B887
1708 C6A93C4C643F890E2AA9AF63E0AB51908D892B65486D88D0C4378940393157CE
1709 B30D3326610AA270C030EBC30D97BD362D4C76717442D5FB7A55AADBCD48DC1A
1710 6586DEB6D302F8913C6BB608335B50D39A54FFB9B1C486D4E80B65440B3DA5FE
1711 C96EC0E3E11D2405E3DC0D87D76173ACAF64E30977F52AF5EB2231F0C4E85E2F
1712 06988A5D6AAE598FBE55B74895C88B769875FC7D44D42C6EAB31789982D56614
1713 8A8CAE9D805E9BDA093857AB3608352261202E73A757CF8A7C5B37E05DE8F788
1714 98E721F2DE44E7D7B01AEA95F2CA5A2C7882233729937788F78F4CC28363CE8C
1715 B54B37655D9FAEC258393E4B6999DBEF9864BC27CBA2D8FD95A872A954BABB27
1716 86987A899E28ECA3640C6CEDACF572324DAB9A7B6FA29987C6A1A0B08C8D36ED
1717 6E248457781F5EE012F98F7F0955D5574901A6E5294D558161DDB8E77BB79A2A
1718 631926D544E6887D1A3A499B0CE562DF10BA6196EDA348639FC3A0B52980A928
1719 9F285C7547A8FE6FD08BBCFF7B4D5539A947C6FF8919BD78FFE3EAD9099FDDD4
1720 7550679DAEB56A54FE2D4C4997E6FFB4158D89F17464E5C9FEE69ED095F3164E
1721 2A29FA814FEC2FCA2792F4D2488B5B081F476EEF9FB8B83FFC443A43CA377F66
1722 BF5BB7758DA04F84BA17AD7EA8C80342CE80C1EA3C1E47694C1952BD9DA12656
1723 829E04F24BA7D6B3A5EC581BB47227BE70D0BC576B1DE985AB57FEE9A503FB22
1724 D7690A4C60942ACF0E3097365632D473839A296DF31A11073D6791AD852810C6
1725 86E0964E4A9A409D4903CF37F7D111385E014F297F013CD4914B8AF9A0E9F007
1726 9549BEF30C77464FCC7C4BDF775410ED68C41B1E5D37F7CAD0EEA680B9B606E7
1727 E31A4F73CE69ED291F0B78C2066AF0C6B4B3C307F37C6FD58CC6D81D7CCEDD2D
1728 930FC0FBCCC7BFAAFFB7CC45A6E8FB20430DDDB5EF76C8A9A44C9B04554AFDC8
1729 5D254AE0B9E48E826C6FF5F775F8FFA47844D99FFBBFF39611F32DC7AD923766
1730 CAE8EBA53D7D94264B84715FC91FFA187CF5C4319DFCF7BE6724DA4A9A860C3B
1731 96ECDC24124D0473EDAC9DCB6B366370BA0E59F4E8F7D527DACF0F1B6A4470E3
1732 52CD34C4BE669785DA849333314C680490FEA4A2FBEECDDAF83672288E80B9F3
1733 DAD5C26B03B9A6C644170B038E46921B745DAB0A083C4D42B45F27E35A712B03
1734 99B802419FC8772175566DDE97A987F715808DC253D15626554CAF80F27517D2
1735 B1F9341A4E6474BA273DBBABD015EC8A301F8A84FFF134B5597F3A1B73A1E252
1736 15533E614CACADE6403ED44412E1B65F559576BE4C7F14151243D996CDED1E1C
1737 09E1C5281C859EB777FDA513DFAA8C51D35498E005FC163DD57E53AB4918EE60
1738 08C1EA7A3714968F2D3E002F30135A03D8EF9EB679AAF16A793C795088A101B9
1739 AC62B7A93860F09352255F29DFE999E95C1A1F5D04BF52E36AA1DFB91FE62A19
1740 3F3DF55C04DCD659B2BF1631C624D9A9538E1F48CD775AE897000C8044CEA285
1741 BB97A7F154AA65788D33CB2BFDDAEFA453CDCB028B1A029B706B5DFAE2BB2EF3
1742 6CBBB31824F9353A7F6E81A0FBAC570AF3D551F199375ED5BB71D1467E2E1845
1743 06E6C4BD7F439982F025DA7024BA6AA4A5098E241E4058437BCAAA97A7B030A9
1744 C18F14D805E6D0BD3AAF4DE1FFA0ACDE9AA862E0BBFE1300A73F6541BBED43FA
1745 3A3722EFD41FF3FC588A75B49C17B06F1C059DE0CEF5D7F6A5ED34C0BE8A4DA7
1746 D74BBE9A2A6319D540AE10297AEDF51089AC8F162225BF6696D66E6CF8751AA7
1747 899133B34AB2C9C21E74681884ACAE902CE9F405E532B19E9E0A6EDBFD4DC125
1748 36A95183168CAAEEAEBB5C388195E802A576163030FCCDB5DB13D440AEC78B54
1749 1F0648AD2E653615DB54D1C7DFF51901B23EBC3367DA4F9BD09CFC9CCF691F60
1750 91271BE3767FB3E937DFE7B3A8D694C9D23A70A2BBA23B7F62514C0A72701A3C
1751 8161C09597E25050C866A1EA01687E0FAC16C206FC306E66607A29526145E194
1752 F5574F5B1E84BA77607426584812DB10078F127F2A85579C08F3DB069E79C2ED
1753 A696775658C3D6E78C8C25E33489F1465C5176DA71C4083F409731FFDC39EA8B
1754 CFE8A75E1D354D164E9BB45F924B3245C688EFD775A6484A75DFF27A277CE73D
1755 892DEE4489CDC4864319877F54B6215EE255C7EEF7445C53FD8C41AC361D17D1
1756 AC2DDE86130244808A4436816C64461BB579AAF16AD2557E1D7589630FE6240B
1757 7672A3A3A506531CB131BC42EC7FC202D5383100B1BFB86101221C5AC20EFA28
1758 478ECA81CB8C9AF77E094CAC695982ED5932F9984A6958B14BA612B4D67F8498
1759 84A056B60DEA04FD6DBF03D40C28ED260E63BA9186D325E4F0660D6E59251C02
1760 7F32D3ABE3143133246F7684363449ECF62295C35B6057F8FC2D19BEC99AAC01
1761 2CF558C3094220FA08A3ECBD191125718E8DE1196DDFE5BC68069C7DACD273B5
1762 0BC27AF8E1297E9A7AD7357352EFCF56AAB007CD23C51DB55462A516F74E79A2
1763 396E4C040D7FFD831289B8A648413C496D39A925B1655FC1ABF7C3A7904B25E8
1764 E11812319E894B54BE2FB7DE007AF380D2632DF5DDFDE71208AE19F0D28B9C60
1765 E54530E4A155765856F9C74EB4709771EBB353B84C4F7FBD2E1DA058EF282D27
1766 15F9FDA7C80A2EEE072875ADAECB5312CDEFCE5E92749805DBE1B0C05AC8A502
1767 2F9540D210D7D581906975B78218F32FA2EADC7BF089EB62FAAAFEBFCCBFE37D
1768 755292BBCC9645B74127EDB324C6DFF22D637B83AECCEBD35EAC888DC89585BE
1769 48BFC6D7B929D0D7A5F74356B6F0F93491F6D8D7629511814B81C3BF0A43E9D0
1770 EF916A1BAB093B09390F18345ABD8456AA2A780E5F7A64D1529157EFBEEA401E
1771 2A3A136FE93AC8F7234B6C380BFF89B5F824FBB84CB4BA2420344760F6ED7E6F
1772 BD75977C795B97F7A89A4DF974AB2D341C70A2A97C936BC125DAC203A45DE488
1773 77A678F591B0BA29FD35486A7ACDE38C130AC470C8F9697AA063E28906F1CA8F
1774 558A2538270A0BA4B7B12B3A8848ACCAA903D16A3FD6E80288BA17A8A56927BE
1775 11B289C8D1A4272FCF119172ED1527B9070A0181DB95FDFE11D18011026C3701
1776 C4FD583C8CD5840B169FF26E419E26894E4FFED1777C2187F5E1A2260C9D4B7D
1777 7C5AE82B81E0143598446739318E8B592A44A9E0C2DC4862273462CA0BBA0FFA
1778 540A5340D7538FB72443FCE434163479FCB09ECDBF4552F0A0399B7E019EE8FC
1779 129D14FF085E5595C15109820E58B8A1B9AABE1B3D2A5FD1F7EA9C827D33CC7B
1780 AC5F8731A8626F4C56501D8F92FE901455EEF858219F17C7F508928DEC8CC04E
1781 DFBD0B5D90A5378014A98E006C52E8DDE95E2AFF9E1DDB0ED87357C00C3BE72D
1782 939F8EF3A1DD23A8303EAE840838D84349481FD63B692151760E242EE58EC703
1783 4173999A6A9FBF2F42FE07BEC3188A8B640E6C52B9EC4D1154426E4343B5A27C
1784 A9A93411803C0FF1033BE0161712FA3CE2C36310B2B5DD1AE673803E8C88E5CC
1785 B0E7D9D5314EFEA23EB3311872472E4BDF90354E80E9B8C34C447F138F35BB46
1786 8E3DA392C0C3240BF8FD8FF44D2B06582BA53D1E7A00374D97907BC900E82C41
1787 323448F95AD0EDA3C624591EC7BD683654D824712F8065126559B448A95192F7
1788 7048AF23053E48D7066500179C68FABE985F922A54DE7998945670D3F421FE0E
1789 81C0700BFDC70EDDCEE451D0E504C5A23AAAC107F62826B6F61532B6D5BCE7C2
1790 F57EE57F50C5A33E6608AEE20F8795B1CA919263DBB3C52D68E175A70D1B7E16
1791 8CDE426C13CF17915C9ABEE528F1FEB29551BD89557FB4E93ABE9C7BF0F9FB94
1792 D4CB4C56B642917B94466C444140DE315C15B52EF7B0247901EBA8C58038A9BE
1793 301F7D3CF8385E796A7C9CC1F6D4787851BDD2A6CF3898D3DE82CADE34964F15
1794 731752D386C530BD8D1D08F846F08E6C2EF97B0F8E59055A7A457FEC6C9A25BD
1795 28D83484DD0AB063DB4FF777BBFD9AF097A684FE9F6BAD4E451684867B3B3843
1796 31E8F811D54F27685D4BE822E7DB5E6259038906F66579E63749E0D5B445EF12
1797 0DFC5F58E8F74440BBF863FB661EF9E666B4AE09D18263AA53C4CD0B51B2211A
1798 E0E9313F4B60D926C06C949C19992D291E45230A081109CA996417367B58D2C7
1799 E8AC100B5EF88CA877AA7C00EC290A9C2B6ED06F061D629AB8FFA225262626FC
1800 0C0B1C48063B0E4937F86BB6CF3AB60147B9C6F202369C03C964E3AA12728988
1801 DC551652655D61D45335253136AE4E5F3299DDE6C747B1C65BBE3920E84CC767
1802 EEC785EB34803DA30121ABE544216B6A329B71E936A1C85BB7192F87B72ACD6B
1803 CCCB2B1BE8C3803C8C57941FDDCF672C74B9920C56EEC5F454FCD62EBDE1905F
1804 02E879ED17BC0BA2BDC166C148611385468A250A7B978FDE27F039A3DA6DD531
1805 736D4FDBEF0CB4D05780001D567F01CF59F9E7DC7D3FB3EDDB78180BF4E0CEA4
1806 96759FF423EB0E7EA7F95F1E3FBE45AA735813C50E6556522F8726C5C1F058FF
1807 901480D494B8CC3E981BC8ADDC131B2755D4C596C312FC372262AE2FA500D138
1808 7AAD73E7C0220D844BA4EC2EF2F4D1EBADCB7D7385C74B44F1EA2E2CA452944D
1809 F5BD79C2277C7B67D8C7A8C4C24049B6D4D0CD90B75D3BC68B8C84611741E61D
1810 0EE20B360690477ACB32CA6E4DE6B6D27FD2122F7814651F22228A26B0376891
1811 42D73A7ADCA675F7AB542C1FFFE3D25D6BF1EFCE9A8C95E447FD020938E02C1D
1812 2610D54EA695186B73412392E1CC7C2EE377F334CF6EC42AE09FB8F2078A37DE
1813 CC1633CCA90237E25D1EDD0C054762580CF95FC863D5A1E9F9CE271D4EF02C7B
1814 3F4693D79C9C46C18A198E425634FF7311FA695AFF125468FBAB8559F405E235
1815 6C473E158E2A03521AF3970E6072477C0B90BCD0F1E86970BEAD42A34061F34F
1816 83855C0832ED8BBE99ABD7034520C985BB93CE582C78D45CE0435537BC2F3564
1817 8BAF1F1DFEC9937F2FC491DD351F0EE256CA0F1FF9956FFE7111F40E3808EA55
1818 A8208B058DE6FBAF6CD275B0FD4C1951C648D1F75FA0C7E46A46B2BF91C4931A
1819 003730F15B790D08E28822E7347A916B4183E49FBA4E0450B7BF4D267B014A25
1820 492137965FD1A2148730352AF582A0C1B3E9BDE84BF5F535410F82355C2A5725
1821 7ECDEFC79CD3533F83842E754D9086BFA19D11CE0782F231D8326FD0633A5EFD
1822 2EAD6B369F8BDB82ECEA94395D64C166797ABD0FDDA0DEEF21582A64AB454981
1823 FD0F07389514FE7E49B7385EE2E22A73C2580EF426EC1A7C688FCF3055B80037
1824 BA85ED49D86A5DC04657AF2CFEF7BD7A358B056DA716700A368865DBEFA5E502
1825 07FC94DD6E5B41F5D03A36410EC69D8AF4A5112AD13B1FE8A9271B428FD286E3
1826 584BB89F9F25253FEEE5F695493B93F468225662434232B4798A5B495E3DE1E9
1827 8002971E1E8F6BECC774D5CCF63E842783BDE852A5CD4846E7627C4E51DF8B16
1828 E3234052F3014F9B6E2732EBC81F6BC257517EB9C4125203C8FF1D881F6C47B3
1829 4BD7A91A4DFBB8CA5ABCA3387C78E203E2B03A0E2A05CF14D61977508824D328
1830 722D6FEBA7C63FFBD250569E78C70C5EAA1DBBBE119E907CCC13C09A7F01AF16
1831 0394A467DBA7AF94255FBF02D7997B7BD8E0D6A70C764B8E444F592B411FC5F6
1832 85A8D52C7F2CAD73B9DA3439FCF973C4F22F8A3ED4CA0AD673464FA5B3DEF819
1833 72297E16C7309212EF4E1234E2D9861991C354B46A1AE81878FB693FC8A6CE75
1834 C4702CBF0E6741D8BCC9CB6A6DC57E064B720D7A590105FEB6F0C40612C5BEA3
1835 5E168F2D8A2C8C066BF6EB99B521600A5584E6D369590DD9B1E85677D4AD4537
1836 BAABC36F78B9C790C18AFCB5968C0010366723083804C7F9A7525B256291CC92
1837 B1DC9DEC00B48A98BC361710C6CF862F6D34FCBC7193A93F3AEDB8343A57474B
1838 C8E79D37A854D3848E4BA296E27D7A66202C4F0AC5A9B8CAD7CB4E0BEFAE0424
1839 37BF1ACC2DEFA87A839D70015EFA7FFAA12B256EE5767DE6E795FF26C2B74B15
1840 01595196184BBD6977D15BCF91CFECEDF19E342389D90EDC78717B7BF1A60F4B
1841 E92B4AF02005973D80391ACFC616FB8D9D7E00F5A884569DF746684239ED3F7C
1842 74616B6C7782BF11C90521E63B94C6D0B1F8B270F61DE04C9E9EC2A214BE6CB5
1843 18B59E217CE5F72FF6A8AA6B2C97D8B4DFAADCD9247310B9458B6B7F0524B541
1844 0DFC768628E06077049949C2CC8117B374BF513AF1280237CBE074D111A9FB05
1845 4EAC869E3C319D8A64D4F5BD7BBB3754EDF3A82AB3B967D549895AD2EAD722B0
1846 8FE88611D729ABE047FB4547FDCA93A13515EF13D1E748D5AFB5D301DC4403A0
1847 87EAB53B115D3F29F665C1F035C9E649899F6E821894604DA5047690477A8591
1848 03CB5CEA1432B9B1158E5DFC8CA968EA5D22124C4E0711EEEA20769DAA8DD669
1849 C3630465995A16EBB5803ABBECF27C0AAD52F75E9E3A6687364D5EFEC8F31FE0
1850 116E502E847F9B9C279971446B581332A84C3D18CE04D2388269B2C1C735F6B5
1851 DE8797C2D0050C709C5C9709900E8E943B88680DB34F5D02D46BE055AF5FF933
1852 BCEFE389D9C473E0925B683DEBEFEA6718CCC099B72B68B37C97E610E2D71CED
1853 404B9668D1032FE13571230CA96EC326434CEF9105A1282D5C9AE201C72F196B
1854 897066608B3540972516E89EF389AAAB403F877D7607C278C647B0BA3564C3C5
1855 F741EF59C31B4CA1D1428FA0E147553296D51D4C8E17C5A19790317DAC4604A9
1856 6808B053B4D7E4036FEBD5E3BBD5963C615AAD649073565EAB194767E00C463A
1857 EBE2BA17C79C794B65B10C4E626CEA49A06A63E61EBA1C66553050398E8C71EE
1858 3AEFB793B2A86ECC9A20CA270D52DAA835C2F5AD4A686AD31C292C7E5990FD5E
1859 BF2A369760C80B1EB32DD065CF7FDEEFC4EB905B0C0BA6C712242A5A340A41D3
1860 DCE4433D0887A13336F7479A0D6E66AEE1EB5B155A10640C7DE47E8F285C141F
1861 1375478DBB41624E57F1F0D63E081F6DD1EEED04351AB04308D8BC9DAF2CC595
1862 3F23F384C14341D8A12A491E774EBF6FC475ABBB15A3322AB1C6EA139168F5E8
1863 66FE4668EF25C04BC9D26913CE55BA9EEBCFBE546755821A036D677AD2554788
1864 8AA1B9C0C78142B90F315333168698A10F2490C398AC518CC7FCE39DB3CA9C14
1865 96A8BEA1B723D128121FCA54ACDCC2FD5D15F53B65770B843C23937159495138
1866 E4F025A6152FBF2122631D967DD0B8B58E8E24D022400C1DCB211E820628D55B
1867 E970033F40ED720065E5C2165334CBF577829A5C77E9661739005F023B08F7D8
1868 7838F62A6CAA01A20DC79BDE52BE277FFCB439E6C980326593693FF54006418E
1869 E4AD1570F44595901DE3454925F21AA58102E1D6D8F4804C18FB39B1F784A5F0
1870 BF8C67D2CC7455C4A914FBEEC22D759AB35870C3DF29F96004362D6B0DC62BF0
1871 C8348C55ADE90C0069B6ED90BA08D8A04B1B655B60D215EBB389CD803DA3064F
1872 468695A530380AFADF57549B55DAB5D7251697C4F0628A7B29520B77AA16B866
1873 CC56DF2B09AEF45F075D926BE357AD910B4226247D45141AD506661CFB72E3EB
1874 BD5CA2346C701161CF8F45162457521F31F8E710D1055A5F8A50C2841B63B9AF
1875 7C7859A6D73162A8D8F85F0EC04A5ACB7071A60DE4E928523F825DA8B323B01B
1876 B50ED46CF009FC101F8133C3902F0EA39A679D879FCEE3756BC21B5F88E9B87E
1877 035EBD28B8F67585A2281312DE9D49289F9FA56B907D4E496BB4EC03B78E7A83
1878 35931A5FA25F0398915291EEF5D99C4E287BDC2339AF2CA05493E8FE4A623C0F
1879 F2C390F40E318DEB74788E6C283C6CDDA24A62AC673985CE804E119E30EB552D
1880 F630CFB2DC8313F060F5CC88725F37CD59FAB1B8BA902ABC949F1A048433A91B
1881 F56096D56D46F2726A224BDBF813124FA95DCB0147DFC3307E856186CF1BA6EB
1882 7BB45146848E254DFEBD7AD2CC21BA8EBA1D4B6247EB1B3C7935C2190728B94C
1883 3FDD8C754C60E6063BBAA8B6AAA751ABFE802349FAAB0EF5E3B17779E029BE74
1884 8CEF76158231CA2835E4B89514C3E1A90B40B2337BD16D60007B8D3DD2538395
1885 C0E2E2EAB9CE383B7C5FB13228D480A07DFDE76E95B7DB8AF11CCBF5207C6B08
1886 8F841B14AC51A6B584E6F9473CE6962323963F7F0BDECBC4569AAC2507CF2EF1
1887 FE6B1B7A5D441AB9220CEAAE542E4F0B3933234DE31EF63CF58A03F07FBF5A81
1888 8B467A110AF2B0D9A4E2DCECFD566DD137FD5141595EC251DF1EDC747C51AF46
1889 85422AE2CAB82ACB5BDFCA3D338D87D5B02C7DDD97B70DF6AE8B509D9652FFD7
1890 F2132814EA42C4153336D5FA95DE25B164F92ECAD1BF6D62F338EE1159162D79
1891 7B148B8942891228AA70D2B8217522B96396E29C438F41253D3B0B5645FD1241
1892 9224B691FB11A6404D8A5AFE184EBA57748E1243084ECD38A0E1DCF2E781553A
1893 D92A7EDEC8B2E936E493C394D28303614722B9A33EED6077891786683AE3F55E
1894 4CF016528A13979E564E771621EFAFEE782C2E5A23B2CD707A6A4F3549C34E00
1895 F97E97D2CB5C49EB6EF863A81473636120A36120CDDF47B8158D9E0A1625EAD6
1896 0A69C1BE7493CB2F491ED94B4CDB4DC8441C334A0D321CF43B5CE79B3C0A8803
1897 E7F82B2819A3942F257E38E82C359BF2EEDCFE744DD4FB37D6E7761DF73E1809
1898 D2949244301A62E47FF0B741B4B256E229329FBD45F6589A63E31185339D7A5F
1899 655AB0968CF669366F9CEE7DBBB9CCCC90B8843B29AE98D01AABE628A4C9DAF1
1900 CFCED2D5582D4347BBE4DED401A585F7942278DC6ABDA33BBD6A558FA5EAD5E2
1901 3ACCE673604D21AC61A70F5944D260CBC86AB70824B87C47EA53A81AE4FC52C4
1902 6F80FAF63A6C181536F63EE410A0253444804882A2CF152B6949383B5B144F55
1903 3ED6C4E11F01A8FC1D6F293EEFA2B2C822BA7A8058A159650D5793750BB5D0D6
1904 EF816AFA4869D539242C2CC6BFCFA8BF4737A8E8AAC9298CABF7E237E04092C6
1905 8C1EC4A20763CE3826CA18400E0BF4A1A27246FEEA876A3AAD2947EF117AFA0B
1906 61A9B6A7E201923F7D903654C4992EA47CC5B2ADE77D79E47029E40C4B5B5968
1907 17F231D26A087035DE07E515B341248C5EC3CC2B851F262522B364135420ABC8
1908 8DB06E31E491B927C02675A644607478F4AD4A152253AA4339F0697807C7933E
1909 921AFC4028F57C8A9EEE80F870F114FF4010102B4387AB3C13DBB86CBA833176
1910 323D1EA2402B20E1C4EE2A11F42E4327DA0FBA34901D53F6E6B223C3DFFD8935
1911 85F22CFD765A69F32289D8824AD5C08B62BE72FCC169B466DAE292D82293077C
1912 69F4DC7E03FD7A02F465D1AD49414FFBC209C1C68063DAB0E8784A5B2BD8E5CC
1913 AA7E81E8A25A16DCFD325D6FAAC3C5346B3298B970AFCCCFA9B30FAE7F4A952D
1914 09659B208D107C8CDC57CD73B15C52008C68A3F9F233B921509D3B2C09E451C0
1915 BED6BC7D991EA721964E9EBEFCA6F34D79C337161BDC06BC1E7868BE5BC495AA
1916 4625A4E44A2447EAC2FE09AF84225F8E35DAD8E608716F4F5F31B45AB4B5D0A1
1917 79C0582A7F2C0020ACEB3610ACB548D6D621705A2CC299B2714EC637724FEBFC
1918 2C90381236C47E47A1706AA817CE3DAB393984BFEE7C64ED51B18E590A132E2C
1919 DB9F75B17B2F16E43F5E21312683BECCA726554EDA0526DBBE8E0D9C58D322D1
1920 34A37B2888678AFF7388B5813552E2524F347BC1D76D13A4ECA2771CB14A846D
1921 874D324E826E0AB9E9A2D1D2414C7B17EDA5C341816851EA7B20AEC564B8FD08
1922 DB59907E26E783A7E139E8F89A5F4E07F8DC3B94ADB04187EE6185E9D5B18E33
1923 3F97411D93B813E1584C17F386892FC8E6E9E6EE1957170671A5D9C955A4EF37
1924 239AE1E77D369287B4CF48B7B043325340E340AB4C7ABB3A0040AE3C2035C102
1925 925FB4EC9A26B55861599E93DFD7C12716E8C9F95261360937FCA3D8B19A87F3
1926 44A481438CA22337A8292D245D43A64F5D8D379965445DC50C61F12C0E4BD169
1927 587E69A89C19CAA70D763A763EE0F509291B29FCACD1C34E11F7CE3F91602630
1928 B7DE482DF97F09178882803EC7943A973282EB0C895EDF6B04C959CD41041615
1929 A72220B3B8E72C912562546B98165D9CBC393A4EB59D762872F27E2F0F346F76
1930 209B324982E08B5ED6710EA182E87EC3C9F1DAC883FFF60481738A5C9E4BFD83
1931 EC9AF66E204268BC4A9195E797EA6A95E2202A51DE692830CEEF179FEC4BC889
1932 32330263A4DF0082E6A8CFC9BD82AF4E43023C1039932589FA35F5D9B11828A1
1933 549C8593CE4DD863402B1A03C324DBBFD388AF7F07E8707B7D71DA14C33F963E
1934 AAED1E6C33EF89CC4C0D73BB76A7EE90E0B7F969151068BE186B33515ABCCD62
1935 AF33323B0530A798BBD994186135A9AFE0A89340C98C80ED3B3A7363DC60813D
1936 DE2163E8C6C6654897FDE6E78DE1732EF4FC0C74A1DA5931F895D7F014CA543B
1937 B25C3D2F2983ACD1A8A8DDF28FFF42CD09307129C041CFE40090F9DD1C93189E
1938 DF23565BD0F0A17A604CB22D55EAAE420BE9E9C01F2D0AF9632AC0508053AFD8
1939 27A1E1D4D6470740A1BC75978A0CA70DFA28E96BB9603D5186851E99A5631B42
1940 21CE1F58BA70701B18DA0CFAB2856B70BEA8749071BAA00B3A53F896CECD19AE
1941 A089CD2DF10A708E1C8CAB66B8399CF7EEC9FFCB66CC76A70CA9DE5458AEF935
1942 5C26318B04CE4D3EF74C77661C628BEDB58E4B232A5C3E69EFABEF5975EC709F
1943 E01CF1BA2F9F78AAA526459422B12592F60907AA2F65188450FD8232A7442017
1944 714F3A75778650252B780CD25D2EBE9E30C494A2D709FB13172E3F5534C3EC15
1945 2542989BEBD49F84FEF4C2CF83F132DC20573BB7F6E329D9E95D031A2A37B651
1946 E4013FB7D423E7967506C61DF1ECDE0D4058EE742F9CA59D7638898385E535F4
1947 E2B1F79CCABCE91F2150A1AE3D214AFF3497F20B46E4D0A231BF3122D4588D8F
1948 6CC97895DE0CD3711881F22EB2AFA71DF52411E2C3F2EFB5DE1FDA8004A02AA9
1949 2BC9B8385F4B7ACD5B5D1FB206FD215E63D62BA3D19A809498B70C92939BE9B8
1950 264B66F25512A67592F19688BB6FB56AAAB765CC2AD57E234067FA13AB33BDF9
1951 CF0F0908AD48902A8F87F43763677F45E7C188DAC79275EFE8221CC19EBEF161
1952 0EAE9DF274670265FC8FA81367AF082589283FE0E8FBA39624091AFB23B850A6
1953 4500D6CC6A6D80B572EDBB7271560AF80749EBA48C789CAB5225D8B82A862A46
1954 561FBE274C932F7D53DB08049708105D43BCDEED2CD7D3D786B9A221C8EAA644
1955 E1FB2D7E595DC7B3DF85803EEBE036BF4A97A4AC8409532C515EFF90DA827BF8
1956 D405A8CE992987D4C6DEE8147842D767AA152EEF0F7E76E8B2A4673C171AA15F
1957 B82CE004454F8E194AA8CC9A728CEBCF6DCC924A2A1996906E07AEFEFCA1025C
1958 9154DDD78F93D83E16A39A49B13B71BB5BA40A8130F05F555EC010A15D145AFA
1959 1F08485D0C3F5AEF6A25EAF3CB73E3AC7A290AB3E386723DC86093B106A073AD
1960 4648C4F805E9DEBF3A7885640A463D555AFED76EA48A19129D9B77A8C6D3D76D
1961 5AD9812082F4E7AB105F0C7FD5964974D0238E903DA807FDAA805E647AFE93AF
1962 81BF616852BF40CE8672A37BD8F149E45721326FF6208F06554FC9DB3F1BB068
1963 D8CE23E2B3213C4EA98A2857A534057333C8BC45B735E3044B90374E23A6D022
1964 E3368F3DD4D76B01BDAC8CD1F863A0DA90885F845A6989B1633DAD2778EDD7D7
1965 FBE6B2DE16F6657F47A58399026F6D1ABDC3EBF684908B0BFD8F876C6E6AF2C8
1966 5F3578D8395CB4A780DE867536AECA024DAFC3A88E05EA29C33D923DA147F3E9
1967 3D3865279ED9CF62CFDFE79D8763A0B37166AD059822BB030281EE52C0159E8C
1968 5E67E8BB86CE6B4C714A16A8E4A3EE84B4D975997812FB0E11E043CFAD762560
1969 145B62BC636940F35C3636F99D45727EC2204995E836833B9534EE4F2DFD80A6
1970 9087B5660C77E21C56B2623C5837463577F4020FB79F5C596F5D6FF440DBCEC3
1971 D2FFF13DB76AA5CE13CFFF18705295AA703F75CA2B1CCD46451C7E4B6B4F66F4
1972 15966668004888A9E3D1F1E76D6491068203CC32B3CAB8609B97E6B3DAA11595
1973 17D18059DC02CFA830F39EEAAD614EF2470B36B6DFBA47FED3A6F47397210C89
1974 9E84A773A3D9847B8B4452EA785ADB0F611333DBA8FDAF62D92CABA1C59BADFE
1975 73CB98D75ED414D8B58E9B0388313E46CA576C865F625827B71FC054134C2367
1976 BF0166566E456099191960A57C00EC290A9C2B6ED06F061D629ABC3281969CC2
1977 5EA7A63059751F13D3676C5BB8FA5677729228F91CF9419C211717CEBC215BC4
1978 BF981D7BCAB7498E7BD58490D2454379E014A669B5EEAC9D16C2D43E99D94C27
1979 7B9ACB3FAA61AEDA271E5BFB498F928DDDFA3827C105700ED744635406CF60DC
1980 0400F99578E3544C5FE2809936ADDB258D905B99D9416D67F68ECAB1355C50F2
1981 46011AB46C1EE4AC427DF83E4D5B9650D7C2DC396A7AF0285C62CDE874E189CF
1982 1F78C4703016E92D9A0176EBDE252361BD5F0DBF2A9BBA38D18B9D45680A1056
1983 CFBBD6B3B90E56A1A5BA2F10874A306A94C0AF48A292015FEF2C0F70E4CA71FC
1984 970E8EBE166ADD3B3560B0EE7F1F6FE16F8F1C76C89D1266566925F0EE8B2830
1985 4D089766888A5254BD7D6ABC411623FD7A4DC61D98D55F11AE5AEEEDE087C167
1986 62064DF25FA32758B6ED119B8A27184891473D36B9F7E328DC142553CE1685E5
1987 1E98DA07374F0A054A307BD6A8119DC01E8B8F7D2F9A5AA0ED8E4918A8ECE0DB
1988 A160979702EA4001C7FB6EE9372DE5AF621437EF73782C026FC519FF26612EBF
1989 72727B83013B09DB2CBDBFE1C9D0D0980DA8C63007B79AD3E1CA82AA8362BA7C
1990 40428093772D4562FC859031DB7F4B6A74DD81E8ECDC669437A6BAE13EBDA088
1991 A23EABBE050402E3D98EEE86CC9BB19C9A43AB2CA195E391C4DB8195ADC4DD1A
1992 AFD8AF8CAB0B2DF2BC2CB2E173AA8033C9FE6DA5E38742A92AB81B008324253D
1993 DF0AB0D65C49B3EBEB8238C99D7E8AC7178945FC5CC831B63AA765C18E02835B
1994 29F205321212ECDFB6C4E8A0BD65C0ED87D59EF3AA782D160F9BFCE4B2483338
1995 03B7790BDE37884CE1332894BBFED0BA2E76F7A4AC904F6C14A78499E6428AD0
1996 36B7073F7590AC4D0EC6DB8F8616F46E6C7176327F47A81C2A391BC105554CEB
1997 9A3EAB48D34ED99F25FF2267AB438138B428A2F6B83069C57BFA5BD6253964DD
1998 43C9DEA2CCE21B5C76D15B58FC6987F1D673BE010D7C4C0A727E9B45F5A77918
1999 35DCCB293EB20702020C817460440B77C35EFEE19AFD732A84EFA10DD083DCC5
2000 ECF7FA5E990701A7A98C5502D725EC657F47DE02CBA939ECD8418F4FB65EC925
2001 6A1AFA2DFE5A75CDB6B3F043A91E8397F871571001F5B5763C5272D5BBD382AF
2002 FE771408CE99867DFFE099246A2742C032E15BC5CBEE8BB93EABB831A7512CAD
2003 5C196CC7FFDA0F89C9A8A8C0AF52377CD7E38200875F769EC4F0EF5A35DD6F04
2004 2623EB1CA268E9EE67EEC7772DCA1436FB856AE0ADD1B0DC9E52D2F160158083
2005 2D4837D7210FCA39310DC9A361F1507C3F03B6A9858C825ACB64B7BF82D1E594
2006 1E6069FA7EFF33A55E1566DBD66B7F5F8E98B85B085F476BBC5C11C846F5B111
2007 1003BA9A9D9570475C7C3EB2ECD48C388FA7C0A9221192C43F99A1D2CD15176C
2008 931CA87C2A0AEDD8057B2346A316BEECFDEBAAC514A42B40A5EA659011B00E75
2009 684865852B16E2BA582EF9085CD0924D2495B1A38D641E848C5E1A0B21D88DF4
2010 0F5A972DE89ED911D3F64B1AA60AD72D7B0BBE6995ABA0F82B0BEE96EEEC40F1
2011 C541BCA63E7919499D35A59EBC879B43CEC38E71530974493AF6DEBC59D2F804
2012 3D3E458BD35B0CAA2A96F7E1B46651550B63A337127B6605ADD9A0BD1C7A2F76
2013 A3A3C1CFACFF4F6755FA08DF21A5EEBA2DF2FDA6B088C97FF713C6DF5182E14D
2014 08DD51B6C47446E3CB9C5575C3DF386E7DB94A09D68F50B2CA819B87BA672966
2015 F72FDA26089E73C867F0962E39D1BEEB24625547D044CD741D446F2C95395C81
2016 E72E04427C55583AD391CCE88BDAE8A4D319200574EBB0183005BB96D6E7F5A8
2017 8F2C3F14B42E6CE27D5E9F1760B8410DDAC56262FCDF8BE2A3EE7FA2C1916EE5
2018 99ECF4C17DCD009BB3E2854FB800B82DC95FED581887DADA790E7D76A5CE1667
2019 5F6ECBF580156BDF1AE4BADFF869012B82E38939CC1D3772CB99AB85167522CD
2020 1ED39100BC42B89490002DC58C42CC8FC0A837163C5932D20BDE8D6AB322870A
2021 4AD588A0ADC37687012BC32C93A581900487A2273D8A180C7D0D3099371E6AA7
2022 29F1588ECD65F929A0950B763F1C588E150EF466D40B6C04975C162F24191B35
2023 4EA5EAA990F1F7FBB2026671D4A8C75AC180CB754A694EDC070A1AD3DD6AE609
2024 1D2D848DDDEF89A09BDB1C988878F8BBA17810E81E62E116037407F9CCCF29E6
2025 C91AC92EE657754371CCA6CD429A2A5245D6D8F134D3A9AB48B71E8FBE6A0DB8
2026 D785F0A94661E8C7770BBD4BC43D358874E8846934D0AF4007D000F9345E535D
2027 B5B409989BA706F40619C4C5492C13D0DD0D4B52AC9BAF9E945ABFF26CDEA981
2028 12C2C8B5CAEAF6243E7DE709C3CB008E0051ADCAA1A9D96328CD9A1E758C6FF0
2029 56E38BDF0272176E63C96B8B323F5F494DF4D46B342E5311694D2E9541369E19
2030 9AF43F6DF446974C6793DEF82FBE82B699130F44A068AA259E85EBFC2FE69116
2031 E3F8183E657CD0B8F74C1A768CB87CE63A1021B0A1895306C8D08B0CD9D958B3
2032 24786E2E9D8CE00849C626586731A28387CB99932F2182AA3F9CBC2CE3E44310
2033 6AA26433DA670C5A660EA3317DDCB6C181ABAC8BA761AC9189D02CB1112F6438
2034 780616C7AC08B6A1B76CE2C3BE4E078BEF194DB81CD6A90469F97269DA552CB3
2035 30C04229BD5C28A3075F9C6250DBC8B37B98B8D14FB082CE1C1888E368CAEDAA
2036 A002EC40CA3C6AC1C4198DAEC10270856FEA147B1345C0B29C55D7307A9CE5DE
2037 F6B54BF14B125E4E89B68E44C2D54A38AF08A3C4904EB2423B73BD5C62C0470E
2038 A7949E37B7F1EEDC17DF2F0B75FF1F9344949514D87C5C193501040563B9D7EF
2039 091F758D0C563856AAD17BDE6C41CC57AF6E9F115C315526C9B01D5A5F4218E7
2040 4BF02D91D6D80AB081FA73564004A84DCD08183B7092DA0B55A511A36F76B5B0
2041 584CE48266CF70A7D85CCEFF857FFA2EFC1772A75A92A278BCC9BED2C50A372F
2042 0FBF2E2118C2618D995DA4903E28118DC2D9A54C3CFF4F4EA2A93D4C1B07AA76
2043 1A7EB309A88C5D9668F6C06EC0DE814B5859328180086F32282A9E594DA84392
2044 4D62746A97DC2777A9DAA1A0B42E8F50CB26287CCD4A4ED8D26B30D7AEAC3BC9
2045 659AC01307FE8B22060C51AE000C8D784C3177A09448146BC96FA23F67673A8D
2046 DF390E2A1C4E6E528E8A665DD914858EA538908649EFAD8366638EE1A3CA2854
2047 54D78B33D29A19CD4EF2FAB7EA9C20146490FB6AE90A0F7D1255311BC591F709
2048 85FA4408FFEF2D32B6FC8ACCF6DCF422244ABF4C6F3DBA35241FF3E0A63D15FB
2049 BB94B1CB168225CBD20F20D1F388AC81B6479AB77CA6ED65F739277F3477043E
2050 3BC88ACB9549BE6736F65067C3C49F724751C86C992262C274555D838A9506C8
2051 D26ADD520C7543D649BA7F7B68A693ADDF0D8E79A93463685077F0000C500791
2052 C7625AFE7E4D73C5A839F9BBDCA90CBC58D06D16D78E92A632EC8613F5FD8CA4
2053 4689E5D17DF8ECB45F5DCB6BFB8E3B400D051B27D465AEA7BA76BB3012EFA3EF
2054 13B5CB54A9A00397BAF641E2469EB036A248DFFBC68DF17F70E8932E2A992D4D
2055 8CF7E1385139E26641918D4095F5DEC32B9265ADF8152818AB1ED97FA9259353
2056 AAA1BF8F6C16166BE44997362E749C5824F36CE870E720C9A83A7407A4A8656C
2057 0CDED92A5B3DD72349CF75508885592C5816E50698C63E390EB8F61532B6D5BC
2058 E7C2F57EE57F50C5A8213605EA5790FEC72ECAC30C35FD17808A11EF6BD2F364
2059 260C45D5914EB16EF5DE09AE03D5B7C82C7CCFCD17E3D11CB1A4597DE9215F73
2060 63165C83F1DE2D6CB5FD306F485A08815F01C1709E50E9C589BBF1CBF884C4A2
2061 B6856EF33F338EF35D060663669ADA0EBE0965C6CAD25254C33C3CFD3A72CBDD
2062 EE4ED4220C1EE1ACEAB1D495F6A1679797B1B88363581C84A0CF391A75A2CB73
2063 748EC48525986406968BBBB1C2BE8F9981B2C52634669DA820C226971D791DF1
2064 8D435619D37F6AC6596AD12358AB5474F6AD35B345B5B34C1577C673DFA7938E
2065 AE9DF609FDB96EFEBE56EAAB2F3A8710BEDF4B7F7C3880967BAC82C606641159
2066 6F2EDB027BE6C68A1172B0CE743341AF685D686C2658E90924CE15A648FE5C1B
2067 6B9A939E0816DF5DECABAD422BF9A91AAEA7C1A3F42CE25D70A165CD4510CA54
2068 2AF052AE726A80CB0A38FF9D6BD4DD9280F31461E586581770F83952F503358D
2069 23C9215114F8ECABC79090CCFA94FBDBF1A3B1180394BE02CF5871AC68CF7CBA
2070 406A53A4FD8C17AE5C262D2463CA14AEFDF0B1668FF124EEACD0ED59DCF7799E
2071 3CB8AF2A2A4F5580A7748987A5950E7E73EDDA16AD5995856A7B725F791C1E93
2072 5E6B18751C24EC1C803A68783A463CB52C2FF2892A528B5F2D48CBBABBEF0E94
2073 5DC7DC15C2099AF0806594624A72FFD31EBB90DF8B929E806E915065A494C83B
2074 3CBDBE51D9A09F7E911AE0E1656C6E102880B10DA763D2290EE1FD5980CF5C9C
2075 C3EF68DFC2B85776567836CA0B1D53599518C92FCBDAA84FAC367F871A464779
2076 F18872BFA4F0240677980703BE83E191EA9F2738EEEF6620814E3751DC89B04D
2077 647CA841E4AB73AECA7F32C23C8E57448B557E04C660FDF7835E991243098323
2078 3E285C636869FA19A59461AA4CF2F124EA994E43ABAEC2BDFD006A0C6ED513AF
2079 C8F03878D72ADF15C794E709F42B527B31997F6B04043987815A27DFE6B1BA46
2080 6CC9DCF90F72E0B2385328808136B4ABF162BF59482D7A78C8387593723118EC
2081 905E21A31259EF34D3B94216AD8E11A310CDA52E88B2246C11E35290938E585C
2082 FB1381B93E04C4ECF17B06DE9FC303F46C902FFC2A137FC9C9A6E675A4076925
2083 33DEB969AEE111E75167234284FA5D7977C6BABEFB4D78150FA934D81F8D777F
2084 2079DF3CF06FAAAE42D0F6463947C98CE557E6C1574F6CD4F258C06B0AF98AF0
2085 A6F59B670986C6A81009D3C81A01DDF1251B457235662700BCB6970DC51AB154
2086 30378F15E00CEDE0A836C805450D080C38205E7D56828364836D0EC0226C0464
2087 BE3BAD4334D827EBCBE11434B4A8D4937DF8BBD04435306D53CB87CD3DE08AA4
2088 F174F5BB01FAC5F887EE4C20659D682676CDA803C3E3A682820D711F00C92B81
2089 CF44DA590EFC90F30762E8C72AD3AA080DE0D86206BC33EC8BA44139BA2FFD0E
2090 67B1A009431A8FF895D7F7EE537C57AA7E7FE7800E5446361C535BC46404D80C
2091 5DA6F15FFE57D101110DEC85F74EF89F1AAEFA49B39B5CE3B1B7EF9398844689
2092 AAA2CEDFA0B1FC669A9344918BBA941F87B05B04A4463CCE5E37BAF8868EAFD3
2093 EA80ED61872E8BE84FAF2CE2D7C1D54354319E8720EF13D116BD021111F89C85
2094 4A314196715842851F5C2E82F90AE2CFD3F6B4CB658356B5B573782EC966B095
2095 775C7B314375A77115B355125B2E3195AF53DD375BEC52C93FE2B4A18E732517
2096 1953BC09116C26010439D0158814332AF14A0CCD51FB56C6E51AD3DC0BFD254B
2097 345C3C32C74FCA3A9F9BAB012966720269F5EA83BF8EE73616730A33E3F20BE7
2098 0B1608FFD5E07424986116D686E010C737D85E2677825E84FF265C62C875E95D
2099 F937AA62C4CD9702C75DFB14AD497E29D584AA9F9D71F168802FD80B579D0E3E
2100 86AA05FCF19487C4927F97E072CB8365D29CE54BFA54E490867BB20D70E04934
2101 573248742CAEC0CA84CAB9BA8C637C83FBD9BB39FDA7083E88893A1FA21BBA66
2102 F9E0EF92784762121BB7D427B2AC0CB38E3BF1F4C7F43CF4D4C34C8D13BB7988
2103 6BC0CDF351F82FD85D9E907FECF4711B4809F1F894D5740CF84CA98EA819BCA8
2104 C0A6A10DB9BD9664FA5EBBC394F6F3B8B692E4512D6880B26FE9EA6D67A1A8C6
2105 56D6625E135404CD98ADFC714E59EF7169882C0F74C4E43784090D9BD75A0FEA
2106 6FEE94F610E97E15B9AA3BB83B59228F4E2836C0521BB504A73CEB72AFD5A352
2107 1085B1D51046E0DDE08314B5277CDE9280D5C2F517869F0B515F38B4842D82FB
2108 04C02E57BB179CBE2CB0E0D5993DBF217522B96396E29C4383F6FE4B1FD2A403
2109 1F48A018862A3CE07B53E6E1CA7CAD9AFC940C68CD10DCA26859893944690EFD
2110 95A6A7536036A002B983934057D85B1682500AC8BC83C39405CB29E4046CE364
2111 B7907569186EF3B666EB2152A39FE5ED22A085C19F62B509AC37BECD74C5B3B9
2112 602C8DDBB2E6B432F8F51FF93DA907940838E5A1973EB48242C6CBCFDB8FC93B
2113 66B2491265F2D5E1C843F00D43F849713BFE9FC0E665246F9C46B42FFC202DB1
2114 B3CEC744B170C4EDF06556350D097B1D146A1EDAA327077684677B01F6703619
2115 8FE445CEDDBEAE0B21B464A3D1E7DF5BF78ECF2DBFBCAFC7555392A60D189A95
2116 AAEC5165726C1B00E99CC1E3EE15623AEC89CE84DD458987EBF064D5A975F612
2117 1234B3D8EF24F48C7BE0A9FF49784C641DFB6960AECFEA8012787AF5B3CB7D4F
2118 09208C69325CF4F5E18D1DBB9FA3C2571FCE16D3094F5C09C17237F6AF5C0813
2119 6AB13B7F9DC79E2EDC7058B6DA471FDEA15160929827205FD7F4CC1787FCFA1C
2120 E7710407FB030F6793A4C18541F3D86C2BD3A09490AB47B60E204B169AB2866C
2121 7F54330C2463C9B284663B700C48FEDF0CFCDAC4775B76CC3B647E3C8603AF82
2122 DA853C010DE259D0F8BB289364021FFA020D27DC30D2FFBF64F1FFE56AF22603
2123 6F139C7A10398ADB3B373ADA61F40905A8B297BE5D2373BCF45DBC706311191E
2124 664031870432822FD3AFDC6958014163A220C280AEF4A2BEA69EF730795DEAC9
2125 BF0E5EBB4E4345F6DA631D74D32CC1E7F2FD6BBB7A442C60C270EE7CDA676A7F
2126 217AF8CE2603C469202CA3AE42F99F54D99F7C93C403136B2EDF7D8F8F8832E4
2127 B3FF5EB6841B04192C719734E72330D472B77AA4A57684B3CD23F57570207174
2128 C757E0D21CC2948DC96CED6B1F04559B8D14DA068701D41BA24544943A9F84F3
2129 1131A7D775CDE5878D7C349F6A296515BB9147065CBDBF42C977C0EE614B5D19
2130 61BC101B5A0B5640CEA3A080DF80A4AAD270BC4F4D8E05807ACB6D112338E603
2131 44921732D9B5413AE6E0F6D34B98E9F793E6C36271630A40F29DE2CA67E2623D
2132 F1CA41F04F4F6B1915F04AA6E878414170338B408C69528DA50DD401326B55ED
2133 C1C4C76FE91959C5DE980ADDF099693567B7222CCFE9F227B5BB965EC0680175
2134 77BAB6DD29979307753E280C955E4B41866B0093A78475FA18A11C8FE5DC9C1D
2135 532B309AD92D87411188C875A3ECE67E70A1E50B4027DB3490E9349A3779622D
2136 079466CC86FB49751F194A98BFE29294BE14C8A5F62A9C56C5260F3A0DEB415D
2137 B6D8EFF52033DB976A55583FDDE9B18DFC8633BE54A1E913CC7032892FB4AFEE
2138 DB9891AFF0C0A16D3277C011BFD362CEA734E43C2C79DCDF5CFA079EB57BC97A
2139 6CDDC866CD628156EBCAD841B07FF8A261D42541141BE77F52FE08EE1BA1FC36
2140 8E23A52C0B89FD76C6E641E88F98823476FCD3823955C3AEC87B802377F62793
2141 F3EF3112825B14C2FE76C4C43C092BB584AF6CB40AFA2E54560FD6BBED6DFBA8
2142 2A20F1260452FD6044AED52A54B538CD35A4FEAB5A0BF479BB5CBE06DFE781D2
2143 6EA7774D18F693BE230DA9BC19042FB2E40F43CD16E8A96D7130592DC403A42B
2144 2838CDFB921848ABA47CF1440212D7B6729261C597F8A64D1C43AD4E981AEAEF
2145 F289EA0BECE061BEBFDA2480A8E4E7390F15B82DBBF1DB46994341A37649C5F4
2146 3C34E4DF83DA3122BEEA272FC93E64839AF9F1260D278053E8B99C850C4A730B
2147 B0B3576DB39F0C29EAB0DA4BACFA4A9FFBA7868648AE92C2367DFD51557CD0E2
2148 18D8FC3902B9CE1F98079F73F7F7C34ED8EFAB69654AB327F8E201DADBF63D27
2149 EE537C3873FD86549B858FA331CD50439D42F68B85412242DEF5C02C91F04834
2150 B8BD541508B9CC1E9ECDA7F4C45E7C12E493A476511209B510FBA238B7D484F5
2151 180E84EBFA8D512E02A09CF4893F757ADB576C0F8F856AB9D75F059D10CDECCB
2152 55473605B4DC73008CF88539E8B59E99B54665055F00A4A4F6B417B193CA1C04
2153 82B095416D45E4498BD60D65E4635F902F85E776E518FCCD3AF3A9317689C0A8
2154 479DB34AD871026E83292D3107142B2E05D37E8F153B783198814DA3AC484A97
2155 F194519129638E2FBAEB5ACFD9AD10F8482777A6D776291AC5A5C68E3509FF94
2156 E9E8693CAFE367C4DE190725155B73D6DB3B81A56C619306C9DB8EED4E05E21A
2157 BCA942D2BC58907EF4045DB5FCF569CA2F96DEBBA99FBBB62B91BFA194A97992
2158 FE8722A090CA63E22444D1F5A4DC175B2820F473ACD1DDC123374B0BDAD6F427
2159 C6A79A2DB1F7D4D4C6DF3A7FA56CE53854C664F25749530AE02CD142DE3833A1
2160 0F128772FDDAB879BEC67044DEFA0A889E7BC38E876DAECDA5B71F04138428ED
2161 9AA90AE0D47EB9AA39E7AC58F1A6F4B71358101F590E1776BB01287984576809
2162 2105B7DC4DC91CF778CCE8F4CDC0432658B880F98923E90E9529CCB01A5D87A2
2163 5B8E36D7DBEDE01CBBFBD9CB1C5EFEED3614218766016C978D1B4AF59FF5CD16
2164 E1A60B4D03FFBFF6E811A8097DEB8A1F6489CE6B313F056DA0F4C1EA5E5E98E6
2165 5EE3D70355C4AA7D7E6068500894304EEDA172A99BD9F5F259939215759069AC
2166 C78BA513A6C11F527B7F37DDC332A6C76D0E0C3ECBB30F4304FE6F9C2993EB5B
2167 54B5FD26EF7D426640589F5C1088FD86F761A0A24D17F3D15D14039580BCA531
2168 7AE0492600FA8EC8FCFD3FE4F4BD5FE64CCD0CAA6A26587ACBD29CD50F015186
2169 36C713EF859EE445C59D2E6F1F88D8F5685C51A041FBDF41054B612F941F8A3C
2170 6E1D1301EDE8FAC1F9E6C0BABEDCD66FC96D2ECF92AD5331C36FF5AABEE2EAB7
2171 0BDB3A8E51CA55B73D71DA604E0AEC8BDADAC3FBFD3A4ABFA43D98F5267C9439
2172 E3036E1F08874800E3D2B8F62307FBFA185016D749F5BAD9C39BD45710ED4395
2173 165A8C242524FBDB6829F0C3F4C930F466C8DB349EFE94EE2908A5EA2B00CE83
2174 B83A3AF434970374A8C3A920D9EC60FEB5FAD58C121DCD5F77D2A06969716F7B
2175 EEE6AC3CB5A692950B51FC68A66EE765DD539A309323EDACAF414E5105BFE257
2176 22391619E5EABBC815C3DB9565AEDD44E5521A95942F7C6F2FA1008126691D9D
2177 F15D9745A5B7501D1E708F72AEC944F42D687A76EB29C2C671044AA55FB02F82
2178 3B2F397256BCD2BA1BB3D203E14EDB793BF0C98D76DFC77687012BC32C93A581
2179 900487A2273B10A5F63B5BB0705A055BFB4FFE29397D8ADC9574C057F3061614
2180 4B40044F517FB66E3339771341DF73495CA295BE6933B1441A82533BDF282AEC
2181 CB58F1004411957AAF9C33D3F19441E60BACA1D9959CC050EB936FA92CFB8D56
2182 E3B5A57393B396B8C41A5FE69BA8EAC0349295EC88FF268194E15B119EE52511
2183 03E5674127979EAB95AAF7B997CF5BB6FD87E637298D7A9B40F4D4B0AB67EAD9
2184 61A130CE573EBB1028C480784C03525D082ABB14D66A52996628C7121077EE62
2185 D394ACD26B463F7C7EBE4EFD45C61234FF182028D0729A7DFAAA3330B738AD61
2186 843CFAD6F8EEE3FBF9F74627F363ADC863E8B67E6FB5A426C5554B7A86B8E465
2187 4F60341FDE3B5FB9B2BA42F031BC6AF27033EB736B59D13F4F4A64F68FF73A2F
2188 AE97C8A34278CD473DD18B9D45680A1056CFBBD6B3B90E508A5933DDDED0641C
2189 1769C4473BCE5D31682285F99588A888170FBD439813766ECE69AE20A9A03EE2
2190 C0BC3A2BCE2B7EE6223701D90529456F8FB1BE9D7E4E7151EAA86B6EC144DE2F
2191 33791073E4B717655C544735F92BF68422AB1265989A8D14697EFF285FD6B883
2192 07660274E53C756E3568888C89D0BC18996DDCB190243A9A97088BEB438CBC03
2193 6A498E3AFEB8276F2FF4019A73216540DA463702AC37E9F3737891C8D4043800
2194 9C4FFF5F0DC1E6A6FCC1F86C642D3BDDAD8A0F8F052ABD91C424CBD36A884990
2195 F4742E660A9A0C34E1477773E3A2C13ADCFD2D044B7FE2F46D1E2BF5D231C885
2196 FC07295F20BDA95E833B6A5D67DBCCF0EA8148713381D27A44D8BBA7CDF0B654
2197 AD9C30ED8DF04BBCCB7A2F5621EC6DA8FCB73FFEA7EAB05FF6852B5C7ED73B82
2198 171863FD5E91CCF9B8BB019B0F12A80EB00F9E728938A720257FFEF374215F94
2199 3C30764074515B39BCE78F8DE2775A15C3B47E20FA0A7B7FC7036812216BD5B3
2200 1CC393838E0E2FA801A56840F07EF108C01F5D8DE6A2F2BD0D6DC402C3D7E401
2201 6ECACDD9E6843AE2DF93E57E4880C21B0B5ACB813FEB797277B3C7DE82902CF2
2202 2240D5771AE5B8D8A0667A04ECDC5DEE84CB467AD76C2C39A36965B307D1FCEB
2203 EAB98AC97FEE43FBFB8DD3A2FD42B8E55B393FC4EE47A4B1895CBC66B7C28E9E
2204 98361DD66B0298395A04F0B34C85250B09271E4317EDEC8B6A2A70537EA4AF07
2205 1B06397FD41D0F948033FCB16E5F96E7867482F9F869EE4F74CC7F0592283E57
2206 C49887C1D62A5631844CBE2B23850536E8E4795E869B9B7330240F145F747754
2207 CA79D8F6EDECE0E8BD8F83E79B0F290269D5F9D08DA856287492A54061E639F7
2208 3B2FDEB0144976A424A3D35CD750C9F85B9751E161B5EAB590C0A2FC62EADAB1
2209 9464B5A29D7438C4A02CEA00006DA31157A31628DD5BB2A1BC1CBF2D6FBF64BA
2210 6446D5B8AEAF345BEB9C2EAA7703C15B1D1DE945308E9FADE92EF5FAC00CC5BE
2211 8707F1C779E913160B031590089B743CBD5236C1E9B87293BC8A4718BD8388CE
2212 7F0BCEFD6223EB09921F1BB837B258E0BDEDBED34E0EC10A0DC546841B23BC2A
2213 7D9B87611F6E79175A12AC9C3325FDF3745C9C37A9D6EB203764D922A68615B1
2214 B71F63D207304177D48E8515FD26575A917C9E7A97D689A7A3A1C0D2E74F6694
2215 ADEFBD2DFF9662C3E9668C189F3EB6F7E5F74B7603038D6E1A843FFC71115649
2216 B53DA11016690D1F50D08498177473C28863EA68B59D4DB9E5E56D81048A964F
2217 B733F568D6F4DF60E1F47F0B760AFCAE7D8E2663F721ACEC537B5F8374B2AF87
2218 EFBB7F2BC21B3F12A88DD8305E833A8174002F596A7309EBBA858BE69DAF0532
2219 ECC75487E97B12FFA611DC8147CBD79254353F36F4E206087356438D80DD39C9
2220 0CABDCF032708B9ACECD6B973770E31C7A26D7C7624E2D0FFB91D27A3F8C4022
2221 EE41AD47EC1AD16C2F71003201BB9DC88237D841BD503315297CC4B6A3025952
2222 55F02FD084BFC2D1FBC4CB356B5B7569C4B959878C87A991E6BD4FF89E060F1B
2223 93C3C815226EC28523A5105A981ADA7406884326494D9FE07B070604124D33BB
2224 F0FB0D9F6D150E1A6CE95474D786C8653BDE44F361E78967B2FD23E3560AFC77
2225 2FE8AFBB29589AF81DF999304F20D90FACD7EC6004955165076E6C2AEC7E5642
2226 4AB803C274753444FAEA7A34B37B228500AF046AC092DF0686F0383670A99D2E
2227 557C8B68BC0017918DCD399C09D0247C1E8A62913BF142CC9C0DB259868EEA52
2228 E4F9C7D55A7EA8966589C1EF16030B59A64029BBB64355228A1EC26AACCD06FB
2229 688C3C4BD9808AD68229CF10C68AB870DA50A5F2BE36A84A818BC49BA122160A
2230 3AA6D8AD740847322114D2784FFC7739682412D152C980FCA042E188EB1B686D
2231 D38C3F486B34024E1981DA97A4265D16625CDCC90D9763DE314112E205F0733A
2232 F96AFE2D9317EC756C93B39DA2D7C6EE668580D98E79EBE3CAB7C14588D1F092
2233 F34533C9C6EBBBAEC8B6B21A54214A5DDE0B23DFF34F9524888B56DD25756283
2234 31D6FD4789D36D0DCAEB0A675C3C82060040611396581F1A77DBFF8C57823C59
2235 62156E0C8A15AC52CDE0884F0F74031CF106069181AEB9DBC6F45C8A2EB58347
2236 FBAC5F4C46A9734DB44129B4497DF69645730D1FC9923DB3A69C5F2A31A123BE
2237 2AC55FFEB44E11C2C1F422CB092BEFD91C5C3F8184C258400003566E94AB7A71
2238 28742591731C8053DEF0B293CA1C0482B095416D45E4498BD605D88E564076E7
2239 A92A804349074AF8FA0D43DF72BDB9A3447B492063582E98AA0FCDF5FDE2D4A2
2240 BC246196A63BB680D5D5C9962D02AC7E636004D36537FC8315D18192EDCCA27A
2241 FB43FD41EC545F2ED526444E8468ED6AF03CA443380465A6352737930E0F89FC
2242 00DC0982F0631D52173999E9F0BEA8418B63CCA4D5C10FF0627B1858DE3A29F1
2243 52078346A0DAFE9BBDB5DFCC534432BA176B4B5DDD2776D6CDD0DBA9DEE4942C
2244 B191E84563956B01468C96730BFD3B57A618ACC6F917CD3B1D84115834CF091A
2245 7BC2E842C4153336D5FA95DE25B164F92ECE2EB69B72A1CEC2CE2E79403B3EC3
2246 157374BA779EFC35F7E02F7BF8CF10ED161779F8D65A983A5B5C58DA5D9DB57B
2247 1758314AF80AE4C22E17429739F435271641B850E4EF4544071364C367BA83EF
2248 E4FAAD6EB84EB17E62CF33D54E19BC3AD2551EE30A8BEDECD5BC7A2D67CF6F47
2249 EC40413F2F04EFA42029A4E4D84599E6DC3310EE1DAE4745A2F94B446D807DCC
2250 388C14BCDDA916DEEDF52D8DEED4497205D4BD589E651E16CBB6A93A5F188A3C
2251 B8AF2A2A4F5C697E388168AB06374EEE9E3DD36E957231FBFA1A6D4493CED625
2252 66FECB6F530354AEBAB745B9F16A2EBADE2D9A5DE57C398E2A60F51FF061F4E6
2253 C1ED2CD7D3D786B9A221C8EAA643398EA7BA5DCE1627CB5B3D175E88ADD1EDDA
2254 E4F09FD5336F98F2E57CA013B7F04A266A93D7B0A8606FFD42B435D380A8F5B7
2255 9B9C0736ABE4F954F355501EEBE29882185A6CA1703CC100F9E9A1472E6D0C5F
2256 650DCEED3C3DC4B9F4B5306EA6DD0F7A0591F8D785AA51B692CDC7F8ED4C9472
2257 CFB58C1C592AFF7AA54AD78F194ED79A4A2DAABE31464F61D974514265291A0B
2258 EB6AFA285AF58641434528F9867BDE8B2B1D60CBBF937568EFF7A39A5833198C
2259 03965EABBA33E7C209BED14A4C6353A01DF12C2BC0688C60F4496570C40701A5
2260 360FED33DD9AF40F2C7626ED48D966E73E16E0EF469A2CDB203B5488ED740BB8
2261 937D8773AD94B834074C2240C5AC4753CF4EA7A6C87319D1606BA7859C062983
2262 DCD7D9C66E651A00DC45E40E5DBA982640D1B649A03EC3156AF47DFEFE463F75
2263 69AC82C850BDD3275B848A5C65083A6524E4FFFDC5F8195F612252A6B05EE6F0
2264 277D8600A98749875FF0566E52E890A4A83CB6FCB80A0631E56C302D3DF5F542
2265 D6254011082414160BD6AFA5656BED28F8F710E6C2A5CFF1F31626837B0AFD2B
2266 E7D30EBC9FE8740A96A92789A13536D82941BA552FECB876E2B431CA708714E3
2267 E6F3DF2E339944C1A81F988A6DFAF89A6E4060133BA2AF5597592B3816CD777C
2268 55A7D2A6AEA59479138F0A4EC6C6AE763CA422D54341208B84C0C7F3CF111A7D
2269 C0B91D4BB0CC8E9A3ECA51F032D5069A5A95D88187D7352316BD0C31EBCDB3BC
2270 B608F4BF4E16211A12C8EE27E864B60F724789FFAE7EF27586F8CD14ABB341A1
2271 B73F21B1789D32C01DCE1B89A2166152987B43D32393F1749C4838B94D02F561
2272 95F53C205BF693D7A84A6ED30F700841CB1B6DA56E200435BBEF52D0AE34E4F6
2273 4A28A14CB75646976A3AFFCA701E28496CAE0CA078094B8EF13219ABE19A98E9
2274 BAEE0D3D8A12D6373B186F9D76198C318CC58AA6206E80EDC589EA905EDCC73B
2275 3605D2BA692E9125BF0C9739E539B1782C9F22233FBC432C61A6C420A696A2B1
2276 1267716DC6A07A7C91C1C99ABEFFC56A48827A69EA0A619B8EED89BB20D5A39B
2277 233859047B761A8BEDB8B36AAA642D69A32FE000AD9147C32F69E5998096D1ED
2278 6BC4FE435F9B2D0C9D2436C6892CF7C9E0D025E59B029C0214618C4270F397CE
2279 DFB551159F13B93D9B55486F006C151F0038F24BC9213FA93D9BA077CD3F4BCE
2280 A72E71AC6C4AFF3514C01DBBD3B29E12648D645B8E41A9F5458CE58F65127070
2281 19E2589A65795A2C560781C92EE14B5FE74A58A44FC4D78465B5EC2805979811
2282 E2B3FB3B8D00DC5A87F540EA1C12A55F5671291F976CACD7BAB27AB3D54C79D8
2283 636F16FCE7C04A3D4B39550BDCECB475EB9F63DAF08C1C16A1E880E07890AB7B
2284 3AE1CD2B31577B14455E22694FBFD252A1D270340B2DA6E3FA3B012398F168EC
2285 8A5E255C7E06ED9C9EBEDBFB6061F8B1DDC9C2E8E96E1BCBADC806EADEB96170
2286 BC42EC6E024BCAF5FBE8F48775AA14BE7415679DA562D51DD9CBEE48B3F4FEC2
2287 35AF963BAD37DFB6B437D36562D8F4ECFA8154C9C388ED9F9185D9354F9E38FB
2288 E1ABAD591050BF6E2E0105BD4E12623A09B3C5D3AE355DF9C651AA32CDC096E4
2289 39119194010DB7DA78ACEA700035DBFB2ED125D77501D616F8F86FD5E647C80B
2290 01B20704E16AE0D0AC17A9A15E0D698D57439FD1106E7C401116CFBE26F2871B
2291 3CD1B8A2684E45D933DF5B214BB42B6DD39C20CE46CB6B8B784F54C11306E391
2292 9687ED614AA483E39A4E031F069ADF47FB988CE2308BCA2AFFC724405DF7E98A
2293 F3B86B909B632BD0237C1B2AB171955099F54FBF5ABCBC6928F0655BB1671904
2294 68BFB7BA83EA537F2D17775EFF025B83743E3BBA49836EA40AD3FDE96ADB72D8
2295 BF875A6518CD4FAEA4379CBE25B7867B6994E2BA200509C2CE4C81CACC271808
2296 475E7F04939DFCB57C5F9919FA5FDECDC1F131D90D37FF5C39234F4BDC277C08
2297 88F4FEDE0BA709CEE2D6533C706382C71D2B9D1FCFA5A71125506E607CCA025C
2298 6EE7F23B7ADD2CEEF994B640FBD21E8C51F0F4A12132D3ADAD0872A70E5372C9
2299 0D560AFF807BE00E1DB0091BF9B7A4AA1334E3D8DBF8A04B89EF17D87FDFEBB3
2300 440E2E652D4CA6E52D764750FBBBBACDFE56373CB25EF7FB0206DFC3223D2CD6
2301 D366342BCDFDDCD34C1260599CED17DE186465B796D996D310D72EFC2FAAFBF6
2302 C7D0497102FEC83DCBB3BD57F5099016D95FA9E2EB30630FC5A3E59C2CF88144
2303 F4CCF42255F333A85E1767CA4BBF73BCF4CCD2DF0BDCEF7452F9D031C9064826
2304 1587EF9596D002CFB79FA2D07E8CE14C9FF4A2B1924FB47A8EFA0818C7736BA3
2305 C3700A82B145908F949C6FB9F5D313FA57353EB568DBB22C6B74912E250BF51B
2306 7752B309F1814103061C6742FF6F889040027AA9F5B6A729F01524E1122ED0B3
2307 04BDA5A00BCE77F52CBF744DC6B990B99E415473B4BEB3114F7C6C1C8CA4D819
2308 69E7BE5E2C9FBB4907A532CBFDFB9FBCAB6FE387EFAB2C3C08F3AA38FC9743F5
2309 98E149A36CEC876EACD334BF1B36A4B19F803780C0E906368258592DC1FE3940
2310 E249DEDCA4A535ADE236709B2BDC523385B3B4FDFFC8147654FFFDDF86FCE519
2311 E27F26A8144C7D576228CB761E9C2A883F9169ACB97BB0F9A0AAE6AB579BA011
2312 DEDF31797AD1277312BBC3799D4F7A6443B44985C92EE8E5D4D27F66E30BAD26
2313 E80601BF1C64B3FFDED4388B0CD39B269607616EA1976DDBF076821767CAF07F
2314 BC5FC64A88338CFE4B8B91A7FC25AC14ECCC878D4F34BEED426285EF74A10E69
2315 A6980B555C30DD95C48378A6587ABB5EDF54CD33A7D65161FAEC3903A628991D
2316 B50356F7FBD02E438F797983D89958799DF146258CA31D9B9202E5FD0A3D7FB4
2317 CB9BF80DF9257BE779744C4887AE946F886B5EB800507A182DE74BC76D389256
2318 E896CF820D5B362FE8175B7FF0093F7E694012F6AA291F7EC57537F36B0F820E
2319 D7012954D060ACC6C23E39AE1724401661020DAB402709799C9C104A5FD52188
2320 3ECCDE12AB2A0C342E7ACD2F8DB3A58886E96D5EF6476A35C05DC8DD1218A735
2321 A48F3D92A7F2AD1A9575CBDB0E0822E2169D92E4C17E4684830A7424A8A9E552
2322 8C378CD9FB67AB2641F907B98D8CE0D63ABBEF5FBB58569B3EFF15D373D4DB68
2323 1E3FB83B751CD9189BFEE7734B1437D8C8F0B0F741FC72BE8DC669615717D4C6
2324 A7367AA1BD7525A35B4F9053E93EADE6F773A5C91684B4D3AE2D97D995AD66C5
2325 98B9C4D9883447B207DD4832E023CC3EF445E7BAEF5882249B84CA78F996E7D9
2326 1E18184C4F670B7A742B9043CDD34323BDDC92F923D279CC4A562507FCE4F57C
2327 4901A21C60D2C709F6A2EC8C7E01FDDB8B6818D10064C50C6CC0F339D7F013D9
2328 17D388CE26BAC6E31F31F7F286E3B724B2DBA4105A2A58FD43DC197A9DF1521E
2329 0B4B1A90DC99A202142AE7C3106BF69187F4445A96286FB9A2EFFD62669853EB
2330 96D6F3FBB535C656B1849BEC89FB8B5407D596A4CDC5DA72AE5E6C6ABC3F196D
2331 1FF7BC8C1ADC8F203A182C9CA261E247DA65DBB4178F115B328E68CB8B3153EA
2332 52BD10B035A2684FF2F6E38CC5BD63FDC04252506DBEC7D772DF24C36BC02751
2333 96B79A6AA56C624485358F28D579D0E199B2E19EA7A4A4503216D912E2394C72
2334 E2824C60CC38C5A5E887F9A649EB5755E90C4119999C7B858686493D0748585F
2335 046A5EA1E21BE35959F3DE400C0370B88279E93D48693C752F767D7AC5351B94
2336 D1B2E3ED73863F4E7B4364D25CA921319F98BBC53088B27BAFA12BEA7AF9EB88
2337 F90BDD913B203B8C1BC0813640A52D2E9F82785BCE1B870CA9F33E808492DA10
2338 3CC5B3DEBD10D2C3EED8AF1344973F3BC6DD1906A3852FF29F25758F2F5E6A5A
2339 B52875D29948665626EC415F8FC9494CC5DD8E62743B70FC76201BBA682E0DA3
2340 05188502BB97BFC112936E0458B41338DF147ACBDB8D568FA96D13A39F7E6BDE
2341 83D2A131829A4FEE63C1617321EAF4DA3C6F9A65922AF4010C09AACC3208063A
2342 27C774125BD580FD6B778B966746D556CC61942CD12ED29BC75542DC5B36766D
2343 45C0ABFC445F01C09A123501CCA96A7B415948DBA4BCADF7515F2BB38817FF85
2344 0AA06A8F68DE645D4C933711574A8CEBA9422CE9AFDA41E41724801B0A7F6797
2345 AF4C7E976C612766104473195583B062CD98DCEBB82F126E497911E2A91AD5E9
2346 511D0C10090988D074BCE1A42C6082F9D7D5932D19751E1697120E5DD95F9890
2347 156DB1E1AA43B44C9B5B6A6F13443C86299030E6F25264B92001C7C10E0D7DF1
2348 D3B05FD246D47FCE84369E84FE0EFEC3DFB40A2A962CB142F456B700768C6022
2349 97EA2604855C5DE0D984961781CFF4041F8672F253C7AC94E4389B77F25A2462
2350 4D0FF883A90A98D1D0A3EE67E5769981716C9D60193CD037101C096DC62120E9
2351 AAA65EF0D6EABDB44A20389FAA7466240337294B6B8620B248695AE0AAF577BC
2352 DB09EE0704121BDD31C2C684E645DD2C45B66BC73B123FBAE088B17470DDA7B2
2353 F462FC4228D5EFC40BFAE86580E649AF7E94667C66C2C78CE960A2EEA09E8167
2354 DF9E0E9CE82ABC1A517C0F0DB3D9C9124150CB6027444F669384F2EA13CB0B1C
2355 42C7F75E9002D2ED38B8F014F45DF3F686D7A66813041F1AF07A833365305C31
2356 C258324A445705DF3ADBFCCF6C0CE6E4C86345A801EFABA2B1B90754AD6F0B54
2357 E001D3695F46BDCCCB378AF65D7F8DE573851AB3BD783715F2B357F683FEFD32
2358 4B839727EE39AC5CB343AA908C23C2F56F8755DA928DEA12EC2CE1FFE6AAECA7
2359 E69327BBE6C58CDCA73E0E7438B64E231D2C875B25FA1C48FA595F8EB6D9FAAA
2360 49FC8F68EEFBE53C5ED6988E74FE3B2BE6112328A31C1449E568170929F8277E
2361 ED83DBC8C8548E8F45A715A32C241EA2551B03388A9E02CD5FD3593D5880782A
2362 D12C914FA4AB6D9DE7BD8A8302A87FF4B0F342B6147097318885858271AB6CA1
2363 F03D852AE0621D2BA9FAD012A5FF63844EBCD80F02C85406F4A542E57F2CCF56
2364 D18C46E37FE68B26CD0D544DAC6EAE652C13A7097754FC5293122D4B743BCAE0
2365 246C9419BA6B2A6E83A19253A68BA056E6124E32F711D2DE4C80BABA6475AC5D
2366 41295CA5814CD69EBF9C387AE3ECA1BC40A499E83CC4A5C0015995C6B29162E4
2367 D70B078EC2E8B8ECAFE69C03157BC1F9F1D15EF6CC34EB0FA08C868E31641C9D
2368 7100870853068B2E7D9F924DF854DDFD5EDC4725131509F4A3915A917F537C79
2369 28497B10483E5EB27436854CC3314C0E5D0D4CE0AEF0F4D656E3F66CF6A881C5
2370 2BC6BC2AB9CC366FEFBEB3B1921E268CCB03EBC5DCE0AFBB8F214370E21959BD
2371 0AC8F9E38D644A2B7B752DAFB03A74733B81F17A6DF2CB856275B0BD8D59B709
2372 B3D374504D28B8B31252987811611F1D5A2B07837C4755B93CB30F358DB21D82
2373 A0F6E2F813F9C81EF2C7AA6452A5FA1EA683E345518CDF34CDB81939BB6047B4
2374 DC137086529BDA342B82D1311E12A87DF3E9B56B180A41BA2C77E1173F9E5079
2375 6C66771E70839D678BB45C935AAE4FDEF595615EE6B5C10A1BB8C9F16DE4BB7B
2376 24E7663EE8E895BA716D974462FFB21DB235794E50C1B4283CBAF653EA4EB2F5
2377 34B26DB4E84B941DAF7B33C98EC4D406EEC6F173983DBE1F12416FF3B7C3A43E
2378 7F379D19907975C9470BACAD3401E8662CCE247E968A98B4B0168AD9AC703278
2379 46C34DC5DE1C6F84C687F7A193017669FFAA1B69DD280FED62091A3E54A1BD25
2380 00D1B43A5A4E0940E71F227EACA5752016FA1382D1CB29EE7652C29456CB58B3
2381 138E018FFFAA7981D831F3D3C8C62A92FFE99C6C807E7E44B4D85CE051CFBBAA
2382 F6B9220490F6D9BCF1D9F884E67152C3F900172B8C91354ED2622C07B048333D
2383 651527AFDCCA0C045F36D24583BEE0AB038610471664753AA0A44468F8651CC0
2384 3658D1148221F0BDA99160A11D147AF0E95C593F019972AE6D7F660838924CB9
2385 4A25C74DD87279EB95C9F9423423CF3532B1222F3DF5A6D1BA52245BD8D691A4
2386 7AB91EF2D6370811D894F2A76C8AB5E1128D169795CC778A2CDE42A467F48FBC
2387 BE4369F8B440DA8F22643BEE837A2B0DD0F355DB87CEED34384D95898A3182F4
2388 23073CF4D291B42E9A0C1E842B4FEA4B18CF00509FE019506194C6266F300671
2389 1A27B039B11921C3C6DE98EC3A919059D764FD7129F6B040A17E67A2F07AD3EE
2390 B87849CA11E332462115A1201C86C7460EF8AE5A9823E17E762B059821545EC4
2391 10BC54D4BBDF0F466E876EFAAEDA1C5CB983E59AFD75E43EF2028D2244B047AC
2392 266342DB677DEB859AF5C59A241998DFB368482A5DDC9F8C53C8DDAA6A6C4D6C
2393 6B83F0B808A291CC16A8EB95F73BC15F4E6E09F3DC7B1B57D1ACD2F0D6022FD8
2394 42C5F95479FC04639FB83F1F581817D85D1BADB9CFB2C4AE7EF7C5D860FEAF14
2395 36FC03B5CA2F01E6FB6C691219BCB7A059FF4B2C929CAF53E1D15FE8BB6F42EF
2396 B27DFBD29E9191BD3157FA9AA671D79A305D0F2BDB0BC10CD581AFDE1368D59A
2397 E0E3F6CF6BD722C4F119B5182E7EF5D8B93AC7189029A264E008C02CAB47CC9F
2398 56C4F26E24A725F9639B97383318053B90A657DB70DC077FDC7B585F9FCA3CD4
2399 371A91E332108C662F51A2C842435516972A6259095A2BFAD02F0C00D7417015
2400 4BE80DD5C9CA094100554EAFA759336042F13CAE1CC422B3F821EEC315371870
2401 133EAEE35C511D91C42F92759E98BB790C7C0C074A5EDB7BA4B5BC4F41576581
2402 F02E3193FC209F8AC3550723A920F81260C08731C1CACEF4F90D8477E3F95670
2403 B40BDD8BF4D44F3C289574DEA9317C71A95E80F6063B4DA0CF3A298C043E8D56
2404 64ABBC0AA790A25F86D8E601658ADDD89D1667711D1A230B11D752AA312A2B73
2405 DD52E8F72C588DA408EFE53687B6931B031ECD3172C9E28DA6BD914FDFD2BBC7
2406 46DE9D2FBA43656D0A223D22B1C70C2B69F589DE754ADDCF42323F472F197FAB
2407 460E54B5FEED6BCD5B4865FFAEF80ACA05D724228E977D0CD3F97C5DEF02DA06
2408 1208282E7B9E736C496F9D5D4185CB5B03A1284718155BB71A38B71745967969
2409 4C505AB5CD2F7079DC53DFB5A0201715E7BD250B52B86CC0B9F8F68B4812A77C
2410 240C8F5FA7460A66FB9B1D7F093395365CA3CD8C50A8FDD0701681CF8C63ECB3
2411 10E366F5F469022CDF10B6C55F673C452BBE9AC63448C14C594971689B992061
2412 3EEA665F07C3318E910D743EF8CBE8F983DDFEBA4AC726DF31F48A9531DB66C7
2413 3F4EB4F6A40DDDE269A907EDFF5EAB9B619D53DAE79E8C085F95466203B7D8FB
2414 A65BB51A1257BE29F08E05192CEEA92DF662A24C2E4C88731390C2B0B5BB93F7
2415 6A3BAE6A0816316F51BE60F055F45C5977ADC54C760FCE97A315F48BFB539CBA
2416 98FF3B9117A3F071447BB38E4FDF173EBC7F172793C827195B6FE05882742E0B
2417 9D6E26EB77168017A799233957ADAFBD1B313033B19976944EAC4B22B1F8AD45
2418 BDAC103AA1FA397B4C790D74AC39A4604983FE5241A0E8AEEC231B8909A0FFAB
2419 6CE5C8D76FBF6FB61838B2F267E8D13ED8FB64F336FDBD2831FB4CC2FD1C61B1
2420 85B6EC9741A4CE9592A27170B6955E351D0E4E59AD745B4807728993C32320D4
2421 1B90DB2D18333D53B0C3C860BC415B401829DF8334202DBAC4E670E8DA1761CE
2422 1F3749ABFB5AA9D094AFF23B94E47FBD1378122CD4C50742752F8047E9623847
2423 8F2A91536E1181BD20DB02AC89AF9526294E8F60EB45897B85DA3332296B5F63
2424 EF96F32A054DD8CD3635D0B920DB78C0BD0F32EC2FAAFBB7B3CCD37016F28D30
2425 70119DA279E226482C532C2E6D424F4DB161692C4D00F34CABD2A567D2E01D1C
2426 178F0D368D71C9F07A83361C7D237059D5F449DB99A68AEA53CBC493530FB4DA
2427 29E28CA4008EF2808AF06C55992212271B6916D34DB16162A0BE0053D51F7572
2428 F895E490B7538F6F05EA5C22334E628A323413BF6478DC81EE9CAA4E8F5A3F46
2429 0B0D2010D3C0CF7BA04F593E39F6E41C150F3B1A7B22FFBE93812899514FC75A
2430 517A5D3CD2BD6639699A9E675B0162C56BDEA7F98F478BE8628209477CEB7F2C
2431 E6AC54E395ECF47159B7C90A6F5C26866359ACFC5977699A326800E3BAF6CEE3
2432 B105937113D3D2F9A1315FD4A3113D867A5BB14619A4562054042698DC230982
2433 14ABD7378E4E12A53296355FB99942F0A8E32B1932B08B0DC343501622C61558
2434 B844C190A3ADD88595B31276B87F7DB09A76DA9CB6BDF7B84D9605EF0B5C6849
2435 EC9446D46D5687A01BCDFB894F401D4ABC40B37F5471A2489A7658DBFF041A0E
2436 90ED67A10102B3913F2C6C6D1F784B634823EAF6A3D2DB4250714566A814742D
2437 E8240B5E6F62E011BA3BCE682FA89C1C578D4F0F5731DD1D1A47826ECC59B55B
2438 4323A1D8B04BF538C0CFCBB8721B06EEAE4D697F2D4A5E287C03EFADAD99B982
2439 EF7322E3AABBAFD639EB049B37D1A887801F01C13FA3BFE72872983DDF2E4176
2440 BB3696D5857FD23ABAF6F1E17BB7D053C1D0F7DED594B4F6A29759BDD85C6542
2441 98CD8ECA94B3701E1EE33022A48285BA8B82F74A980BD83A48B4BEE340275002
2442 798777E05988CDE140D78FAA79A5AD65FB317AEE72154578ABF8DA9CA03F7CE8
2443 572C06A6F7C2D278BC45D353D7FF37FD5AF2EA79976FBA160F8397610BE38BFC
2444 05C4AB52CCE1AC3375E86054E70483EAFE05A32DA4E8A75CC1C4686DE88F0144
2445 3D0D40DF4EB6151FC5111FBFEC88924F7042C395A92CDC2B1FB57781B75D5D53
2446 5F4ED9249119E8A76A029863D41EA1969AD3B7E49DD28FE40E065E9ABF0265D2
2447 9733795F800F829556A543ED8E3E1CF32A4F7A04FED0C2C29E83505F40C7CED8
2448 B24E6B12703E4C20EE171F40D9B28DAFA7DD7ADD7112AB9BACD0AC4108F1176A
2449 4C4FDAA955E7BE2C7151ADD1A8A7C0EDAC44948FA510B15707CA62385E3960B4
2450 BD3810150FD060ED7EE5D9C1C8B61E5F4532A0D6CCFBEA7AD06B3C03CA93C817
2451 622CFE737BC670CDCD8E58000135E123C529E88A86A06759061CF377E885ABD8
2452 25661669FCA2836202A148783BA841BCBDC736A275818D9694924F64B605CDAD
2453 FF7B68BD21691CFA8E34DBDF590FFA9790FFD0FA9557329578491B76CA0F4315
2454 14C3577DBD87FAEFE401AD9CF017B423A2B003D36E026B984A6EE3138977BD85
2455 7870E60664132321BB44663ABCCBF656538E15F92A697CEB9B8C4BF4F0D6D0B3
2456 72BB8D11F8873270E9B0C353F81BC6BD4C2E64D33DFE66BAF0807AD2363C6A39
2457 C9E2CFAF61C395EAE934312482D04A789AE8BE6F027A1F8FD8D6E77409BE3810
2458 AE2C778664D3291CA3DFCB7A4189678FEBA4A39FEB2B50385FC08B0467139145
2459 35267B2A5351072A7DFD667CE6CD3C897589FF2F43CC431E4DBF813509999CF3
2460 B598CEA47AE2EFA3256C64A750B813B5A09993F6C6EEC0F2F2C1AC52F4CFDC0E
2461 D1FEDEB94D77EADD1DED04B7170BDB00147888E9520E6BF2C05B2532367DF138
2462 C1BB28B335E5F50A7EE59441DD10F219591E94696EB3570FC32BBA8845F2A5F0
2463 E0E0BB1E713AEF991F59BABED94429745BEB08C0C6B57CB0302B2929EB519600
2464 6E9C9F98623A198B4CB4734BC05C695C1ABA7F8C42DFCB40DBBA63C9F4C528E9
2465 20F5C0140FE5A7CB753D84872246405F8B9FF85ED403A3707B963F4FE747AC00
2466 E2BC122C11F1A8AD0163AB7B5C3B59937FB5BF4CC4DFD9CF459A3CB8AC19A2B5
2467 0A5A1BCC25F6007D75F7054FDF42DFD75DD95326262A1E182610056FEAFA5CE5
2468 27E3C2D25735328531C607F31B36A3B32D5FC9A562DE60F34C045A3C839E57A8
2469 050354E1D7A1C619193E12ACAE5EDFBBFA5B500AE3811D4F45E6CD91210128BE
2470 95AF101A79A8B771EA35CCA481820C6AB25A2E6C2B2589DF4346B9CE0DC9BAB5
2471 2AD69DAF4FEBA248708EBFF9E79F4E500D58343B8366B49DB6530938F0839A30
2472 5AD8D97AE8802CE376D94946E29977B5CE49DC5EC4AF8924EB1220F4653BDC87
2473 F7ABA136AF8EEDDFEB9A62C5EA86BF932F2DD01816B017B562ED2199F6D0B0A9
2474 FE43DFA28AE5B4FE10BF357C3918A8EE7033A8FE2167083A0F970A5D4FD60EFC
2475 2D16296CE72DA4DB9464EA7B6D168D49C10F89352E4BBA3D170C8C8B05D5C6E2
2476 D062214C42F1B357A81BE8C3B7C554B9679FA6D79AF72C72EB67F5E0C1D785F9
2477 DEC5E9FBAB52C909F43D7C6E343D9CE10E27400AFDD49389BE23B2B1BF1CC789
2478 73D7BE8E2A29A403628970407A4F092E4AF4A86EE31D84D136465EFFD6E03A40
2479 F0214C230F3CF723347D5B6FBFA23461E78C6ED81ED60370A0725DEC4F858169
2480 99149BB6F122D5419C1BE8958533F977357E5E7E974A4EBDA24D8BBB53017B0E
2481 CDD072F8A6A04C7B4C0E4B48D1A84F6762DAFACD583614546744762A8021D5F7
2482 E0216F0D6A3F57712E63FB158CA79F0BEF117D2B247D25620251FC94C9A983EB
2483 664717FD0309F032DC2AB14080FB69EBAAC523E023EAE5AA34D2A58049E0456D
2484 D813145C0EEF448933D69E1BFE32C43D175E3AAC47EADD2CE5CFEFD6CC4EBCE3
2485 AC11E346125DD245228624B26082B0813C2C419F065981DCA96301FE39845E1D
2486 B902E9E49B3BF5B72E56DC097E7064EB56AC09FE97104766040A4574DD9AADF6
2487 B5FE4AB45AE8DE697E9FE7AE9D3C6880D1888CD96A04EFD1FB6C86F98C93FD0C
2488 6D047CFE27C65F03DA97DA1041FE15648F28F55E98574153B22F9BFB5EA8105F
2489 B486FC3947C744B2B31C6433B7A606C0E207D5F30AB16DD859DA42C2CBF006BE
2490 07B270DAA6855227A09C9370AE3DC7DD43010200D6957521169304993E44C10B
2491 66F1D3741CD690CB38660A79C2598A228342CFFB27673CC20FD787D9ED72FBFE
2492 0632D46D303082FD54CEE3D7B1E268545FE8BD57C596F50A5CBA18624620B6AC
2493 DE174B8D308F5B1433F41F7814DBA7B47298DE1AAD7BD4B280D5BDF441A8B4CC
2494 2C31558D5DC2C3ECAADD61D8A24D01FF230DFDC7B30801FEC3C44A820F32C235
2495 5D9F04A7621153A3369A7EF5C8F27A2725F1CD9E2A1A367D52520B5363696434
2496 8BCE0EC08896D9BFBE8434AE315F5B5279FE641ED973FA56CC6716C7AF8D4A27
2497 D32CBDEC3359061244A67AF7167D1B45AFD072CC361890B40D8466590885575F
2498 C37F0368913FD4F5A44D1A140372BE135AB34991D53CB0DDCC80CFAD32BB6018
2499 F8011DFDC47A3C01E9CB0C8E548F93C8689A7EE5AFEFB60D142B16004A2491AD
2500 41C51F2F04C2577DFD078B98D962FABEFCE3788264C3DEDE8BF3DBF26BA0A7ED
2501 CC778D7EAA41EB2A21F4EE561E67970B596C4E8601BD3CE2824D46B65F0E9818
2502 9E83FADFC39FEFD83B1D2729CBD0EF158DEED77E1EEF3BCE0D5E5FA0A775EA9B
2503 2E4CC87270EBEED4A1E106D3C02DFF14C95011760F2FFEC7F96CB1433965C191
2504 EA8B9F2898B2E938126FDD010AB56736E838070C7616D45799D7484A497F8957
2505 B39BDFBFE1CBD198EA12B9F10B3175EAC33A3492E8E31E57BAE17EA3088ADC7A
2506 B32ECE10D81E4AEF028D8D0D7C71AE134F5862504907D57D4FDB32AD617D417C
2507 D1C74CFE8AA27C59652383864438BD0FF97D22FFF9B3B36E8D63A3028BFED395
2508 6EF9F53828D2E6D3A85AC6C27E36DBB354E85669715CC971E81930445034F117
2509 12BBF6A6BC081D099B0E8AF3C9E737748EEC83CF53F066DED1432598A2B85D97
2510 A49479548349FB91FCBC901C4184233D285AC69DE0134D8D92B4555445885881
2511 46E90FBE19C7ACDF1BE38C3E652FE96C0A7D620B276C6C3F792C9AADA8FEB99E
2512 38DEC2841F9DCCCC7EC050BF4A070B2BDF4B640558CC4992DDC2E31DD0A84396
2513 C5C7C70A17249533BA6BE3CDCF15D291D8352EEBDFC353301FE38727C804991A
2514 44F1E54EA494DC3201F0D4AEEE6C3961768B190AB901F31BD5C62A963637D035
2515 A4A74F9755BB998261C785CB4F506D006E4C16D72532B0EEE0B27A3DF8B085CE
2516 58C62776775D8EF8E9B8778A7493CEC0426F76B6B66AAAF58B621FEFF99A7D99
2517 9E2EFD86877CE675C94163D9F80EE5D0CED3F6765ACE87B09D6644301362979A
2518 4815CD4254649E9019863DF2E33BCD6AC2649B655BFCA4809AED2C3CF6460CCF
2519 3483A9A4C2EFD208B3D4B78BB96FFC6688C1988F17C741C72E925E0331EAEC31
2520 C6DB013CD99DE7E5E84DA467A870D12A78B112B13D1C59CC9F196B9878A49A61
2521 79B91D524BB833E85251C27EB4B9D5EAA42609FF35E46D4A7200F50B35F3A3E0
2522 3FD0B51F9FF9883B36C94EAF52F618CC5BAD5ACF19B44D508C4BEA1AED691F9B
2523 EB557400A0B92C3A17659D8228B8DF0B17D4F84857408D168073A14F9201185D
2524 0185F3EB80E8F8D5ABE741A4306DBE1A114C42A9C62973E3306D6CE09786E72A
2525 AFE3A26B9F74E42CDAD5D21B758343D133070A1614E3C84DD9731F1D3F2F368F
2526 90A42E00FB85EC3002D036F1B2C2D12F13A758F25A1F746EC31F9D6C0541089D
2527 A1FB61D9CD71FD1A76AE32301D4053FDB94CADEBC78AFEE1563447FB36E7F008
2528 BAE9F7DDC10FBB938513D425A409D63070E336D7D6924B914B4E188CB36DC5F3
2529 23737567D4709E069CB4F2EE15E37BF5EE8ACA7AE6E4C98053D97EBA3A614DBF
2530 050F45476D65421B0D0CAADACF4F214A0A5FE425398A4209830CAE65D367D7AC
2531 609A6437FF662DFD8835BF575BBE0CFE92B00723CE4773501A49C19A64F3383C
2532 35B2013D60914F2064B9EB98AD43B2F4AE39B50C8900963E16EECFB4E99C0F6C
2533 FC32426B4BF06AA3408D3950F9460F5219F55418BAD01EAADC10237EA15682F2
2534 BA7B6D048283DE5E075CE8E3DEE1BB973D60B237E1517AF212E7C40C90E59CDD
2535 0FAE773A8DB9809BE17AD202A4F210A395F7A3ADE108103D5509E22A727FEC07
2536 4A387E61C95F0A15F60325642997BC8B9D2B3850E09A7A0B984B91C8FB0089F7
2537 C7429D99E32B13BC3AAF1A8F0C85228132430508E491EF094DF5A3CD1E0FA111
2538 98BE6DCF7DFA28DAE2787FA55AAC3BB4CF6A4460D133676353409C34F5B29741
2539 268052C07E8B4C0888F895AA8256047849A28ADE98621DF455FE99E0282174FC
2540 E13136D7DDC8A3FAAFDC73E052D84A532405590F039E37D069E83250AE21B382
2541 0F3CABB5A4C1DC01AAF5E53B0648D920D70227B16EEDE2F1FD89B3B8DDC07067
2542 E4626C49250220FB5132566654C2C284957FF744910F2375EB960B30785C3C0C
2543 5D6C1A639B98BA9393D93F53FD162F21F184A1063AD56123BCF03EA278CBED86
2544 F48620840A1BC64F9D9D1F32B185AF248E18F30F402CD1E3FBAE2468979ECB23
2545 049D2D6B432BC4852C01D2BEA5635EE84B82B0A99EDCE06F150053A1151C853B
2546 469A20D3E822A348798CE3560C433C1C6231B34652BA53DE2DFDD7F10892871E
2547 E7D71ED0D460DD98B1A3E7CD1D6FE24A1884FEDF8E94E20033D416269A636199
2548 A98D015523FE3666159328E6CE125070AAC6FA15FB3B726B768A7267EBE46CA1
2549 BE77D24B73A8F079D0F4B340AA5D9E452B1B2AF7767729C4146F16FC8E6CDB48
2550 720DE9821657128B17D031AA6784E6EDE24F3A664915FEB0F08B9080188F9C1B
2551 617E138D2920EB5A09CE8E8950D6470924E59AAC4215BB64F81342933E234973
2552 458BC1A034B5AF0D3C6084EE59EAA4FEEC8545127C8B983EB5946C906AFF0E7C
2553 DB283A68564209518E6D0B0655325D8AF564AC5B33323CFF8E72E6DF76298EE3
2554 9FA41A9DA71BE04786D36C00B197EF7E22693CBE8E46C82B75B195D29E774D18
2555 E1906239831667CCC31076FE66A32A4EAE276ABE5C93E0ED553E0673C1E36393
2556 6A5AB498F4DA3B6180DAA507DC2CCEE1C451E4920B9BCC0358A57E8D4CC8A5E2
2557 399BB259DE1F0BA0716C8CB85CAC6C47C4FD28C8D2F1CD4FEFAC734AA6B27C14
2558 C55B1776B6BCCE49F8B6DC524E4C037DCE1A1AA255063BFA9DB0400F9EF2C8DE
2559 DBBC775176C2F47DAABBEFBD4AB5DDEFF1B01890FB45B886100965458D706934
2560 4CECB2D2492DEF3E61AB185E44927DBEDC410541ABFC35134A93EEB12F43903E
2561 F51A74E36E7540B328794C08A43B5E387BA9EA301833EFAADE078FF76B18E3A3
2562 1C5FEB4A4BE3A059BB3B5F396346E56F1B411F9FBEC6C1E5976DECA9AE165F8C
2563 09622F62345BD73ADB6B48FFD22FDED12F3E798007AD9B75D8D532AF90D80700
2564 52CEE072E126FB8165A7F2E8552CFDE20C7AB5421D464E755D23BCE0C36DC0AD
2565 5E52432CB6A75D90CC166EF325253859CBAF18ACDB8216188035F1546E57730E
2566 AED3EF960B9145850993823C10FAE9B93AC7BA458F3DDBF450588FD6536BBDFE
2567 F211351699B49A0FDC041F3885F0D46FF20CC6CDF0306EF146364972243151AB
2568 56F4C001E73EDC22D19B0966FFB0DC4EB57F8990F7B5567671612380863425E2
2569 55E948EC96C6BB004613D353360ED4305A4B0562CAED4188405F49ED7688D4D9
2570 97221C8F42DD35CD5F71FFB5412BA5F79D6684A89F6E1F469EABCDA66FB5F714
2571 E32A7649CED4BFCC9C1C9B55601B799F4DB3B80DB58D88C98024FE25CBD721A9
2572 BB96721CA22CC78BDEEF36C3BAC1631F8BDD4FA3A674070EF9287E9F510DA126
2573 DFD3380CF47188956340FDC1CF6328C0F09FF3DAE37F6A321173EAB6D8CD58A9
2574 B8628C9FBC09F87D7AAEB8984BDC7ACC36BC90BDB4EE76303F0180863DF6AF22
2575 73ABFF533CDAA1D96E5382AE50CB1012CADE88582B8377DA4B67CD00E2E77F59
2576 161EC10B3F72787A593F1075A2E985E3AA1AD6897E40B924E1973B1C3F7D13B2
2577 890FE031F22EBB5908D745C1DD714409946F73C781056F31C0CC1A3DC3874687
2578 467953D094223BAD7F0BBA302B7271D143124F2067F066761AEF891C86C4115A
2579 2A245D2935DD767BC2645F17F8BA55CF8D0BF0EB877DD61F5D369B54ACD679F6
2580 2A9735C6997AB6748A6D175236284392847A8C8CC275398CF48B902E82706DE2
2581 6E85DD83BDFCF62B74333C7CB72FFDCFDA738985C0582D3F2AD0D5FD8003CCE9
2582 5A5BAF09B1CBFD4FF9DE0B15386424600B9DB1B719E2BEEEC9F8B51511A08BCB
2583 076C35F70FE43ADB3894CF68B7D8095036C29000BF100061ADCFF6EC3345D5AC
2584 0C7D4227D94361A05C60B6A77AFB4B791088BEF22F8CE3EA890C7CA278C30748
2585 96988CC21D5959237E932C0FA860B1F99C9010CCDEB510AB5FEA743733B48DE8
2586 E5CA063F50497157D28673506F029BD85DA42D5156BD5731BEAA01BC154912BC
2587 D5B69A001CC026A308E83DAAAE0BF15DCED56442FB8244B7477BF01AEBC6B150
2588 F4F9E856C72C19DBCA433CA7E56051CD788B929B64FA6F7E48A5B03E3621BD63
2589 7E8AA794B209A1EAC3B1802B53636CA233D5D2974787CBA6464CF6348BD39440
2590 382B504E86D5CF4F73597F6E5B4D15A403E4A7E9BC46E9D3B5A020B5C5BE733C
2591 C8FD44F95FD807E0213E9D1F28278FC21649FA90BF9261907664534231F4B07B
2592 49B944F0FB2E0CFA4C73A406EC84A4267E6AD5A77285E4757B05E823193E372F
2593 864B3A1D7EC85EB5C831FAD850F6EB0C9CBF5AC3B74F09FC1A1866065B667F11
2594 0018481EE181CE3D69A02426B23715C0B296D1C77987AA182166502C52D8490D
2595 18DEB09B7778AFF2599F679805B90FD25C18E623EADA87C80DF2B3B1C9CEF786
2596 E0B20E39C1E4B190A8869B04B1A5C886E8365068F6E017CEC0DB6E2E0A1A2EF5
2597 37AB38C8635440730980B384F8E5636E3966F0983794711395678B26B3A31057
2598 34F814E25881A49EE0ADDFDE0FCAA8DD565A8A15E714B3AAF6A2EDEF1B51B71C
2599 9E85606B280EB59784A340A13D6974F2A8FF1102023D978B44E53CFE970D19A5
2600 2D5900032DA9097F44E2D547A04F2F69529AC26622C4B511E6AA338DCC1F892A
2601 6E9802E1C1EC5546018F227CD234728EA351B71A33CBF90B9592AEDA2B7CB3ED
2602 B42CE2727FC4C2745AAF35E179EFC56DD1CFD0C1E9C73B7EC344C4C31C7DC892
2603 202C8837A88BAE4AB509D9FB9155D07F422F7D33EC03A22CE759CB427E72D7BE
2604 AC8FF0F074B1FA1B67559164E536E4A493DC4A43B1350B83F381C0D9627DB9E1
2605 31148566F96CA6E3D8AEB896D97A72FD9A3F0B2F1ABFB2F4D9E3D4395441A614
2606 1C130A7CF487A68B3A5630802F13D6CF9C006ECB8050899E728A6973F0666D4C
2607 27BB2E7A7342C8A8A14A4D6C589A736286F92C5FE4CF7F80D2ADD5EEB53AE14C
2608 B5BD191D1C692C8A6D92025EABC8398AAFDFB973C6CFC21A522C61B777A4B3EC
2609 66427662250A83E2297F940AD1ECEE0A94F6751C8C0DCCC964268F23270526F4
2610 F13B73364862368E7A6D1D8464AD9E44A1AA1D9E0491E01143A955F7EC6C6414
2611 20A5F913787B09ACFC472EE6F601BBCFDDD00FAA2C70871F5238E5A5EAF0690A
2612 432DE4292CAEA0B5EFBEFB27C8134D3D76867E9129448E054BA66E3855F82D3B
2613 2F3D1D5BD6D8305BE0BE70E28CAFC2755640D0B07BB2A655CB3ABA2BCA46986C
2614 9268E0B5320B73A28A35F4AA23E7D7B3E93B99392521192259329535FCEAE783
2615 F892A1B8AED5E0D7CE65CAC1877E3E0888CFAC7FB620DE8EB5EDFDD4404A0F32
2616 BD62CB0E642D6F42F371E70E67968EED63E80CD2CA4D618E563E8324A609F34C
2617 11A23856A04DB249A4A8D550A936B8BDC52B710DC7165A8E948A05812D23E848
2618 4744F7F3213137C7A24B7D7C083133E1B7E4302B73CA9E505E5BD4C5054205DF
2619 F265A57B1F310034A67470932920411FB12860B3F87510F3DD1C931831939F61
2620 D8E10F8313355D6B9F88F202B0BA9CB3188D342293114A87226FB2F27BC36871
2621 E55A8CA43C773CA656E92040901A8A0157022BAD1DB3507B7586F5821069B4BD
2622 A8BB2DC8F8C160FADBD0B40C0157B485EA2C01771D58B9FA69480AF43196ADD7
2623 9B76CECB45C2408D8E8373538CA1DA387DEB26898B1FD31433A31B06C40B7066
2624 05EAF1F8CF5778482E59AF9AC66C5222342F75050C63B03B8D07FDB1EB525B6D
2625 2278E11FE8B43EAF61253BBCEF011BCBAF7BB6890667DB986F4100656E1F086C
2626 D107E846CA49B59AFDB6211E88D850D6BEAEA308F4529B92B476EA39045340D5
2627 A291C3CDB993B37B30570C6D6E80473EF7A9E0273255CE8C8A8AF21998218F5D
2628 F0BCDA6B744943BF278E31DA6C3EF94B42B39126367F7E990705A7A1C15F25BB
2629 07C8B17CB2A28F4D8BBAED9CA3B26D07725F59B5494B6594826D7BCBFAF78698
2630 2EDBCDFA98E572244E3F7F9110F8DCF32C8CFE9CEFD343D8975F27477A911C00
2631 0E7764E65F5A0853098B2D012AF81E1AB72B446B793F9ABED1F959C743CB5F29
2632 B285008B0C666CFA6B819755093F0F7AA28712B5A6322FFFC7477B35C7301BC4
2633 C5D0D5CE4109862098EE8686D2C14EF0F773B9F931B7A64866E1ECF0D4020F0D
2634 2703C60BA7DDA84873B27BBCD7F70F4479722B6E1C4625E64940BD924EAB4D85
2635 67E5E6387D316D6B733682DC2139162C533538AEE46D61CABB38CD470600D226
2636 F79A83663341C9641710144F3BF3A09E6F692CB3D3872B533F9DC988870F854E
2637 6BF7E0F9A8291325A546F80F1591D1ED0F0321FF3B979ADA82D7E1A6DFB889F7
2638 C15A5E630A9F243DCC8A2BBFFF02368F43C1435D4EB9AA6E5589C2C3A040FEC1
2639 098B4C47C05BCD3F4DD125744133858508213D330B8E81D9572495C4F3BE0900
2640 7CA2FC1CD8736E6E43988AE7E373CC8187F4B997F5F05B5DAB09B110C57AE1E7
2641 0F60B4F4AF12CD3D9BA769DD251FF2515694C5A61EDEFC2BD2368AB999E90086
2642 6E404683F1BAB56B3BCD233CA6586498254393D1B3821462FFBE48F1AD08A8FC
2643 890A3B53518F89476FAAF290BF69ACBC8CCE1B93F5DFDFD65180D38B6523DF7E
2644 D6F6640204CDC9772AC3C8E727E32831902056C94AC1225F12881D465EF38B71
2645 4E9AAB54475C794021B608187B3A3211A43357D6FBC2FE10D5C52CF8CD9129FD
2646 BC3DC4D9EF6ADCEAE48E26FDA1917C833A524BC152C983F6DAB9A0A84623EC6B
2647 EE9CB01A0B4F40A95A84926DDA7613E63352E06CEAC1EA001B036B509C572678
2648 337EAAF56EFBEB56E31618682E3F7F1D95600FF8E7E685099917A4BF1A270F7F
2649 EFB2AB07436090D01A9CDD6231AE11BEDAF38C779F9E515BF051C665CCEB1589
2650 BB642E99787680E701AAEC6C519BB4010B7E7CB451F6B1231E551C283111DA20
2651 1AA7D5DA3BBA75B127395DB5AF967E6F937185E4B3C81DA126A875A6F715645E
2652 73FB3B669AE81A770A617B40A5739D0A4C803F7AB8AC9E31D9BF2FEB508554F0
2653 DBAFB21ADA46BF92062AD33EAF3730E3AF6A8DDC521EA90D8546379BD22A60AB
2654 3890BC6641C8F4AA1D412992E862364F962453598FE8E734C22EC64F90DB2D71
2655 42B3AE5A6F0FE555A144E354B34427672B32F692E21B885F733584656363F90A
2656 6DA9A149A06554ABDA322BD928E5FC56D0E73CADAF73D8FB06A104A102B988D5
2657 16FAC2F7EECEB4B8B190440CA46711B31C99D74D20D9B9F4BFAB1EB688EAD90B
2658 B793FB016322A5F4BA8E5A0262762F59854AB1ABD8B53A048976828CBBF034AB
2659 25B268626ED5997B3118579BA71FF3A8015CC4AD85081918EBD755E5CFE5B72E
2660 FE27D7293BD09FB2BE55CC5C27510FB8FA0F3C9237C6218DCA15C4D27AA7CFEB
2661 0CDEF5C21710E698322CFB72E920CC497DA72D505BDCA48BC6A6DA3458FB04D8
2662 1EE52B86C8707D6526B2995E8223F29CF20FF215AC397A662D3AA73F1B9EA0A1
2663 7095076635C81F85D52D910F9050456A72DE8D4A2AACD7041E6B881FFF2E027C
2664 423CF6AE6B3942444A7A750F2BB9A761C5A4E290BF3235160C96650E36C0BA54
2665 D3ABEFB7077DD04BFC6B8FE28417BCF5EF229C6F8BB0845129302AA6FB3E81AE
2666 1CDCADCEEA8D94F4E947E9DFDE5A33891F3E2840DAC40E728BC46DF0D13C3070
2667 2F9BDE49D2A1BCA9A2F60FFF2A835FFCD82C2B78D3A9404796DD7A42E699D2A6
2668 9A977D24374BC4A04D696FE9F415EC5B4FAC99BBC4AEBC750AF5142FD0DB2D81
2669 A2DF5AC94D3D074CF0F66B74305BE0141D413ACB397715A42E250759BC68183D
2670 F1E5C42027A55A5C108EECA5364183DC667418DD5EC1486C6F9D8B80CE670F2B
2671 07675240D3BBFE7C3C5C919E09B739B6104035342668245D6E066C4ACC1054F5
2672 9415D64D67D933830CED5C226264A57153C452A9C77F97980BACFC44075865CE
2673 2BE770419B310F8D6B24DCEB1D7B8D00B4D3286C82AA9C7F8596255EF2BB07B2
2674 A7480817A07D30AE3FA48B114BA1CE6BDD86B09108FA34211E9AD0C29F6A6981
2675 64449DC6BA64978B2501C2B0395305CC2445D9E476C0F9337FDD60643866456E
2676 BA2AC0A3EDF473396B3635BB8A50EF8071E8A12E22E14289DB43E874C183B641
2677 46C854898912082BB37F139FA26A914C65255212794A45044D0E8CAED24193B4
2678 BCFE6E5E05E82FF5D944DFEE840A9E8A1EDFE2B8D926CC0AA511B6F89B2F8625
2679 D16F8B48CB2241937101265F9CC4AC4C175700702B1A6B56324D2F1C6D9BC38C
2680 6F71C9BA497ED91DB4705880AC423E7E87631FD92D755477942FF546C2468157
2681 6A85782BB9354FE55E52AA1154F462BA20A4F2175CBA174D68874A3FE675E9DC
2682 89E2A14A0923B2381533FD9154A54023B7FCF1B09F804493F9BDDF2FAF432223
2683 6197BC8C16F0CF851F42FA6169A3BC0A59383D6579BE522C9EFD4AFB3CADD557
2684 E359BC52062D63893E6F653A6DC8E5CB3C010AFD726AE4C0406156007763DF4C
2685 468F079F13E839F5C20CC8133D18D1EA173130077BCD368A6AD4CB7BE3A73C46
2686 3C77D82C7D5E93737927959BB2A1C695B290E9A24D61099EA7675B703AC16DB3
2687 58AF6D52E2F1DCEC6BDD94A40D663C3EF2961380E2A1676CBFF7E38A72BFD587
2688 9C0B2E89A2AE3775A27F0715727B5885C920EDF345AC86DD9123B4A05AE424A0
2689 9409D8C6F19864BECCDC411960CCFB8D5E73871411FAA7A5A11FEAC6FB4A6DC0
2690 54ADFE11A73ED88B5309FCC2D195A94B4FA5F71367906E8895458412A1DCE0E7
2691 7633D395521671610A1503DEC411505D1FE4B3DECD9824E0ACECFC62746393D3
2692 0E14750F1755DDFCEDCCDEC56EE9B69D23301FB1896928AC5CB31DB8027D91EE
2693 B58A6245F03AE989BB32371208705ABE362108F6EC78D63204878BC38CC5D91A
2694 DD0D768DF2DCBD835862E46F9E443C99891039808EB1CFFAA491E7D58DAA0373
2695 E296CDA2BC1A985DB4B8BB0DC6280300F40D84E2ECDA17051742093CC461D675
2696 4E13B583847FDD831212DD95D473FE92FF57E6CD25CEFF8C95C592FA99CD0E2D
2697 4500C779BCFB9B81589C6E54B70EC7C526944A4D01FDBF29C10E4FEDD3164D09
2698 EBC33B35D244EFCF6D8A0B73FF1CCE3394753FA197B4FB27AD0803C62AFDB77F
2699 A045CB00414BAAC16FFDC9D794616D039BB4F9767A4F8866198EFF0B7FFCF2CF
2700 C886A998F2AF50D4E084424172EF7DDD1DDE8E406D39816D1400FA4F63F5A1C7
2701 D5501AA1481E0B98FA9A464713232A6075DBB08C993FF07855D23DF575B98EBB
2702 C47636C935A0655F9CEF6B6A6A3A440FDF39A9F1D6BB65458316D1C308D73A7E
2703 2D92972132965D85508309180FB461E1B906BF3825F3080028FC43957766E8D4
2704 5AB93F522F9AABCE7EF89E7C08CF2CEC402DABFCD94FDCC3C637EA31B82A26B5
2705 C3549875D2F9A6EBA1AF2C08FA1DC2429034FD938D9D2069CCA905B494027284
2706 C7E4D24C9FA951ABC94851ED5BC0CF3ED07A54F9177F7EF68F7487DC371AF757
2707 B47735E9F21815F5D232CC4681B3AFB3E9DA95FFEDF9E58AA6FB1DC43BA7B72D
2708 2834A81AB7DBC9F233723C67753B7C86CDE34444C7988523D662DB5EA7AAF601
2709 46EC71C66EB74C33670491D2D0BB514A1281E8D6F5E144A98046766F031C0921
2710 9170E56450E0372638CE5034C4E3D0231CC955C3561DA214B3E5F1F3107302E9
2711 B30AB0C40E852831A653EA74505C172A027D75F23A852D68902F6DD9EFE60404
2712 8E8B99B67AE3DC8D253AC5049A333B4DCEDD74821EF37746BFBBC93604522FDA
2713 F6B2E53C5DEC045292148B8AA2812F18F903769AB94E2E58DBC1E8F0A669257A
2714 E7B177ED3C49E54F52875394FBA84538F6E6C3763BAC3848CF7F893652662D83
2715 58C5697BBDEFB91D3101A3E619847D5B99DE2E336893F16A005A4183C336A2C6
2716 6144B8C82FD4429A6D4D55C37E926FDE31E77C3DA6651E791F42FFC1D7570B86
2717 B710FB9235DB149E2480292506F926366E28C3131CBD7E2D59CBD6FCC1BFF97D
2718 F51AF51672CCB0F9152111CA40D7C22EDEB4AB6EC869C081829DDB6543BB1C9C
2719 744D1AFC5A936FB347194646F3140B27572BB53D81FBD7A717C1FEA6325C8DCC
2720 9FD9201358D8B1163DA4FA1419397673DAB6D7C0312E38CB001425AF638480E5
2721 09DC906F269B7D4D519BDF593F80E111B097F8EC4B3CA673640E123DB2B3194D
2722 8D94EE606C2DC8FB9D88ACD73025165218306A2793213FE32868376C27FBB4E7
2723 D7A8A29A4900CED3200826C589AA3047995F609C5AB16FC06A44C3C4B6025C63
2724 161162BBF1DB39126DBDB3E462395EE96EDC09B3D9429D6261EFACA95A50F1A3
2725 27943CFB0C29F47507129B500BB4E30B63F0DD75083F1C075D546BE0692CA615
2726 F744B1D51312B5FFC68E320DD9E959BF2C5F8F5F94CFEB5E6C2E31F545679B4E
2727 6ED2C186614320EF8EDC8BCD28D0779EBC076A783C391797D4CB7753CD064BF3
2728 9BB63C96A36FA4890E1F7C8840DB41344D2B72D630624BC67C912312CF9488CD
2729 6C1F42FACE05B8B75DF4601159DCD8F8114CC4DE5A3F08FBDFBB2DB059B52048
2730 E97B5196E1FDA55B8489ABA7672EF2239DED76DD1EA32E424CF33CFF87A895C6
2731 4A199238EA0D6F6C622E8F430AF47AFD3EEC0AA2A00D3706D656780CB279C759
2732 2900627F046BB7C3D672CE406467570B5AC0EA0129942B496E82F0A8CFF7D5CE
2733 8B3C42D287B26F7974D968EFE7A3DA2E101C76EB529FCB4F6DDEF38F200DBD7B
2734 66B23A676DAA6FB9662B07D595BCC0F671937349E46656652509ABEDD5F97F29
2735 A798E168E09BB7AD8D493ADEBE79A640CADA2641DA17B564D45E8529129C8FD7
2736 7AADD43BA6EDED39B4C1F7151FD659C1ABFB77A1EB91EF7B1AA6AAC6704E8089
2737 AD0FD5ABC25406F454415436F5E9F033258A2EA0E60C1266F4AE24B123D20025
2738 B000B82825CA44234A5825BBDF19918E4F7D017004AB365993F8A759181F4BEE
2739 8848B8A79BF8B44D6AB9ED3E35B1CA1DF219F6BC274738361BC7FE57A1FECB67
2740 118B8C231A065FA2811A1AC8A03E3EAC95098F92AFFB377952927D14499AB0A0
2741 D4F96CD6C2163C160A6046BFCC266544502903CC165B588ED9112751CA0A71D2
2742 3C908EF28BB1EDCD63EB02BA737A17D6B67ED1404B6985D89B3DE23B1850C9B2
2743 0A01D2211E7F0BFDEE9B6C709911161FA0FFB1E346D311674E8A31B3A349F5E3
2744 DB9DB0669A01A6272D72F740FFF8562B6306999444EA415099FEFE711A59E36E
2745 DE094F566D8AA7546364E245DBD3540A1A7C7970936831762917840442EEC314
2746 5C656B4EB73627290A0C8192F70D58BB1544D2F2D9C0CA99343FF207C6659B9F
2747 FB84D7C0DAFBF7A158B355385F5A73CC5ED5EEDB1852B7D17DC6E0BE04A8C501
2748 3F52B08AABF87A0989292CB7E8B5966E039E7CF2C8CB691714045876A0AD5F87
2749 071593EA5B2193C85C6651E866D17E6DB71A4A1EA5BE85032AF5992A077782FF
2750 4954470BF00699235893C1710DDF02B4FFBBB0AFC2695B0CB3F53E3BE125770C
2751 1B9B1E335B33E23F0422F75EC2DCC0BE0538C20ECCFCCB119BD327DCA0505536
2752 D9949EA2BB7A39111D4108D312CF50578FBD5402EB5D996FD68561A1165696C3
2753 D4540089D262230CA95D646FD47A121DF568DCE1AF3D14BED1FA492F9991A4C3
2754 010A426E95507BB0B2EA68810564CF2FE8E136925F13DB3770A16EF84E0BF454
2755 AE551DA0C1CF8E44438FD699B8269D81E2BFD4AACC5DF8ADF3CDDD7DCF1A0B30
2756 8FE50B2281D8586BEBD0AEDBACA95CECCE183F42759A8463EAA8A47C35B69905
2757 821281FDB1F7ACEBF0C852295BE1E3F07F14E945D6D79E32CCD7D37CBF836D8F
2758 8B998A222DCDCBC47372D89F29E93C2303BCD7117037479BDF23E7615F5D13CF
2759 0ECBEE647AF942D7C7C0BB51B0E200806804010A4CF06CBA7C309C303FEAB444
2760 6A24BDC8D9B59704CED3D8F6CCC2CFB175059507AE51361474463426E4F33FDB
2761 9354F7B70E2B74408A33F8130F004AC707132EAEB99834D05C7989D732F1F342
2762 8C3E5280B883D10585DC81A6F29B8117B908A4E4CBCDDD3C0CF0D0813727142C
2763 2E283BE05FAA26C3517AE2C7E38FD72F12CF72A95D9D4B8030511ABC124ADEBA
2764 1A7A0D43C6F381ACD6B9F6CD2A47543E46981E141EA326EF242DA484239F3977
2765 1B236D23D14136FB15F385776F94066C23A7921C8EB0D07C46FEC1429774FB6E
2766 70B82A23E23145FD9D66683D4BB7DC83A5E1564241720BA0201D643E64047136
2767 AC26C7043F7CA1DFC191265AE1FC5320BE5A9240CD62D961969B8C236460D49B
2768 0D72B4E45D445FD6BFAB4B9CC392E3CE3CB429DFC8EA2499F756D5A18D249E8C
2769 CC3FB8A040D153DB956695FDEEFB0912F4C1CAF743412421776BF4616A510C7C
2770 71A08E5708A2B07F739BD0491F89B7AD51F2C48A05EC2C85E82FBB51EC3582C9
2771 9BC512995FD79D0966CE491A6FA684FFB0409132C882700573F324029509D788
2772 6541749923E60DB1ECECA32A5FCB6094E8559AD38F7291AA7E0443B0763800EB
2773 FD211C6A57248DCEB4DB7CD96955667F3245DCA2F9310A718F808A2DAF65D94E
2774 6E44B4E47EF7F314CFA8E8A1500238EE128065E1D8C7B9884B4CD16201FF30E2
2775 59B88FA43DD402C29670CF110C6ABC64FD372896EE7649CDAC2329F21009C166
2776 1D04B0E0D5936026628E212DC824CE8AF04D31213BD9C844B1AB4387BDA72D60
2777 D65C4F55E3B476D9AD8FA3E4DC1228E9BD90BE0F5DBA1A7B4D8A7BCDA72964BE
2778 608347137A235DE12FD89EFD4CCAFEFF2B3D27E6F7A18018FC0A2A230E372E11
2779 0687650FEDC0616210FA359A648433AEDB9C07573A580EBC79959BC4936190D6
2780 694F62CF82564DE3EE4E8A7B3011F5CB2199BD6A9A7880169229C3CA4B2A2926
2781 146D23CCB6EC0070FAD1DCABE764AE4C1D3F8E88FB3496A75F126393D812917F
2782 7543F441F392C5D7C034291E54EE514FA1DF4CD426F0BA08FE0928B93EA0126A
2783 49F90EF995770C8B3FEDFBC0389801E93EBD0E10A9BA4651AD460C99850E4B7E
2784 BAC50C439289E001F7E9B8C51DBE16A49EFED244D01688AE208BC16B230975C9
2785 9715E1F80FF5FFA42654FE3BC323F5709D0D2D9DE4CB297C99997E2B29D6B121
2786 65B9F4FA0C22D72CAEBE64B907B1AFAF1619CC5DD5CD0B35979252CBC6C5A58E
2787 F148719467BFDD24A940BC58478A9BF79A4ECA65E05A8D8ED0B1B39CC950B1CE
2788 B738F8397248C48BA3CC8949D61ECDF71C22DDC9894FFA8036255271DFD19D7A
2789 2B01107C02AF315D4A10C6CC9425A2FD5CF4C7C38FF8DA37215A4272C2AD3ADD
2790 DC6F9A852139217B815BE1D1798874BBE7DB97457BD8D495D6DC490110429693
2791 E3535C2372CC6710D37B3941021891E74F3BC299596EC26162B677ED08B6C345
2792 EF5EC58B27C3FFFA8E0B676434672B32E3284BAA01DB49F3738CD8B462C1954A
2793 39FA6B556DA462000D48D9368119F1570355528F25E1C5D2912E8375B4F44C5C
2794 D9629BAF28DE9BBC894190AA3FA52241C43387F8B8488B110822E64B504C470F
2795 21488B07FFA39D9A34FCE5FB2FFC879FEFE2038684858EF7109124B8E02A7E29
2796 5C022D79F8C120B22EF1385BBE148B06ACEB827F432204B101E8B0D0E0BA5367
2797 869A3E2A9712670A4B0584597CA6DABA12951AB36B6F2CA1AC6D5667EA011A14
2798 B9ADC003663E8FECEF279AB03651799BD4FB4A2EAF8695AC7DA30E576B2ACAB8
2799 052B8C9E334F8E217AEBAA5F699C25AC0924024DA397AF3DC755CD64B4D068BA
2800 5C9BA8CA2030E9A2D6143346E1A1F25BA4E9A289D980B350F623152DA3EF1E99
2801 5788FA7CAC6611F2507249B8B8108789481698D17B5F7806B5AC09B4B4F3BDA5
2802 696C331486D2AD639F583D59DEAB9B07D260B801F39C9B3848803A57F407AAA2
2803 D8FB2CB55CE1413EF8964805ABF71AC3C44C9AE62ACE71D7B8CEF9B69DD1F0F4
2804 A169C9573395324BB8B47F38BBCCB557084FE7F826E4452B54431F5358A32682
2805 E3C87DE34DAC11BB681D22C3396CAA2616BADB616B15DCFD07E3D577F377F91C
2806 508430AE00DB850D5C5B5620DACD9FDB7C35304E69DC50046F50078BF39CEE2A
2807 3F30679888C0D91B91BF6CE70700C619E374658E6D1653E6728F99E44C66B375
2808 DB6E41D474FFFFD1FEC6DFC5120BD3D012F54F99BC3C14B190CCC75C9C9C444A
2809 518E13CDC4CCC0B4DAB8BC2C62FEAC23ED243DA04F2D58A28E1AE4182EBCEBCF
2810 E6F0C1058CEC26C6893A0E7FF2F43D06AA0980E7F520D1E63027EDF64E75D439
2811 4652AC8EEB38BFD8E3CBE427506E73AAC37EFFC8F6EEA06B80CEE60C1026D3B6
2812 2A4CBBCA4C3E17B850F13C92CC3D2E125B8B60137F804900373D972B6FE2C1C6
2813 2E9522E38D7CB63CE96BD64B1AE2790AB683EE2629A8BD7726A193FB53E78959
2814 8625971225DF353889F8CFBBBE4A51E8C12E62B941551CE4EEF94BB69E92A9DF
2815 B4B281AA2B70F12142D76812F34DF3FB7BDC37FC42C2F60DF7FE6D9EFA1BE34E
2816 ABE06787BC617B656956C34A23FA0DBBE4D1E32A93E134F3D4C324E445D996BB
2817 E3D6DEC10644C65D84AEDAC81CB4E6C38425D2AFE103879A12CDA1A355B2AE07
2818 6C15BFA3B9AA6072EAB249972A683641421D7B642798A3E137001B580AC37863
2819 276D707C67D9069A63675856DFE1A8F978E46A241EFD9B9EA22A5C273555D867
2820 B15B10FD54296D00AA5B17247AC4DB558A49D153BC2B93934740CAB6A72C7E9F
2821 D32D549A74A65F7C23CFCD7D465527DA2549725CC65403DB296FDC6BEA651724
2822 FE0FFA86AAE580354197F5E515C172E4FE525C1D2CF9D956DF3D71CBB8661FC3
2823 37058258EF9D321B4ECDED0B19A907E4EBD0E6D0BA19208137974E477CCF0435
2824 367AB64FE87137E10E21FF45D05BCA03AB3BAC022DD489A35A374C2CAE755BCF
2825 9AB54A7BAEC260F454D08BE137D8BB4E5DAE745A4731FC379F7B2FA7206F75BC
2826 C5E5AC01450F32E3EC0045DDF4D71246DB91A20F2E8D1CF64B82F6CA104A778D
2827 824EBB6DB1B1FCCA92BE372929409B009DA86B59F2A8D224996C0F3E9D9E860F
2828 D1FAD4CE99DEF831B150E6ADB3C3CE144470E0E1981936366A4ACDB3D13D917D
2829 3CD7BC906203063EE73AE237063429E47548B60B7477E94B1DF2B7B4142CD29E
2830 F2CB32E7A9DDEA
2831 0000000000000000000000000000000000000000000000000000000000000000
2832 0000000000000000000000000000000000000000000000000000000000000000
2833 0000000000000000000000000000000000000000000000000000000000000000
2834 0000000000000000000000000000000000000000000000000000000000000000
2835 0000000000000000000000000000000000000000000000000000000000000000
2836 0000000000000000000000000000000000000000000000000000000000000000
2837 0000000000000000000000000000000000000000000000000000000000000000
2838 0000000000000000000000000000000000000000000000000000000000000000
2839 cleartomark
2840 %%EndFont
2841 %%BeginFont: CMSY10
2842 %!PS-AdobeFont-1.0: CMSY10 003.002
2843 %%Title: CMSY10
2844 %Version: 003.002
2845 %%CreationDate: Mon Jul 13 16:17:00 2009
2846 %%Creator: David M. Jones
2847 %Copyright: Copyright (c) 1997, 2009 American Mathematical Society
2848 %Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
2849 % This Font Software is licensed under the SIL Open Font License, Version 1.1.
2850 % This license is in the accompanying file OFL.txt, and is also
2851 % available with a FAQ at: http://scripts.sil.org/OFL.
2852 %%EndComments
2853 FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
2854 /UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
2855 {save true}{false}ifelse}{false}ifelse
2856 11 dict begin
2857 /FontType 1 def
2858 /FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
2859 /FontName /CMSY10 def
2860 /FontBBox {-29 -960 1116 775 }readonly def
2861 /PaintType 0 def
2862 /FontInfo 9 dict dup begin
2863 /version (003.002) readonly def
2864 /Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
2865 /FullName (CMSY10) readonly def
2866 /FamilyName (Computer Modern) readonly def
2867 /Weight (Medium) readonly def
2868 /ItalicAngle -14.04 def
2869 /isFixedPitch false def
2870 /UnderlinePosition -100 def
2871 /UnderlineThickness 50 def
2872 end readonly def
2873 /Encoding 256 array
2874 0 1 255 {1 index exch /.notdef put} for
2875 dup 3 /asteriskmath put
2876 dup 15 /bullet put
2877 readonly def
2878 currentdict end
2879 currentfile eexec
2880 D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
2881 7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
2882 DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
2883 511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
2884 1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
2885 028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
2886 1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
2887 3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
2888 91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
2889 E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
2890 11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
2891 C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
2892 D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
2893 B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
2894 93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
2895 10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
2896 7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
2897 B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
2898 491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
2899 F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
2900 019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
2901 915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
2902 356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
2903 5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
2904 9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
2905 3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
2906 FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
2907 720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
2908 D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
2909 BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
2910 7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
2911 DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
2912 AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
2913 A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
2914 0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
2915 AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
2916 CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
2917 0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
2918 5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
2919 5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
2920 E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
2921 54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
2922 E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
2923 A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
2924 4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
2925 4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
2926 038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
2927 B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
2928 5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
2929 B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
2930 A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
2931 2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
2932 CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
2933 455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
2934 FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
2935 16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
2936 16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
2937 483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
2938 67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
2939 3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
2940 1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
2941 93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
2942 051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
2943 8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
2944 8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
2945 6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
2946 06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
2947 84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
2948 D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
2949 DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
2950 0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
2951 8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
2952 C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
2953 754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
2954 1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
2955 CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
2956 1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
2957 153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
2958 905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
2959 617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
2960 8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
2961 98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
2962 53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
2963 888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
2964 052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
2965 CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
2966 A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
2967 07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
2968 B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
2969 10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
2970 CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
2971 3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
2972 D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
2973 849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
2974 648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
2975 84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
2976 2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
2977 2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
2978 9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
2979 B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
2980 D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
2981 135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
2982 EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
2983 C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
2984 7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
2985 4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
2986 9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
2987 050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
2988 3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
2989 C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
2990 843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
2991 CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
2992 B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
2993 3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
2994 19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
2995 FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
2996 17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
2997 8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
2998 CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
2999 F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
3000 1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
3001 4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
3002 2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
3003 9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
3004 E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
3005 8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
3006 BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
3007 04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
3008 C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
3009 ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
3010 4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
3011 84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
3012 C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
3013 09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
3014 D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
3015 56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
3016 035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
3017 FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
3018 CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
3019 B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
3020 F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
3021 CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
3022 0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
3023 B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
3024 33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
3025 4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
3026 F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
3027 2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
3028 CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
3029 88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
3030 17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
3031 55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
3032 A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
3033 2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
3034 406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
3035 AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
3036 60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
3037 C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
3038 5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
3039 822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
3040 94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
3041 D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
3042 343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
3043 894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
3044 DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
3045 DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
3046 8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
3047 A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
3048 DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
3049 E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
3050 DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
3051 4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
3052 5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
3053 02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
3054 88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0
3055 657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE
3056 D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808
3057 AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2
3058 3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E
3059 7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B
3060 A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0
3061 2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25
3062 CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D
3063 9E592159338E1293F449380E13C21AE42E6861DBBF4AE99A7469F871A3940835
3064 FFBE7F316FA9BB834EAB18625F0960352C75105A92F175850289B1AE177E0FA4
3065 9EB6B5DE6059A999AB70B918A79A5AA9A6D6CF9E33C008E37A79A3286CC86E9C
3066 A94CD306B0B702B66CAAFC5F174572A911A5C54F6D308B628B06DBF8159FE82E
3067 9574130D7CA2C68E118B2D7F8E68F1A93AEEAA05B56B516AE4E4BE943C0C149E
3068 AF6A50D93A7CE87E0B97BC4AE4CA0A08C83B9023A0BF7F6427FFF10E35BFCCD2
3069 BFA0B4FF843E0447D8629BA960CF220C540F10EFAE07B93444002129AF8C021C
3070 DA93EFFA48BB8D7393030B3C37CB2A8F361207AA046D61E43B1E1787EBA438AD
3071 1646E5190C000CC266697C337883204A7914720E92784C97ED3F67C67C0D7885
3072 98F6718BECAADFA98A0456125EA11A40FE775B0644894FB19BE65F7D4D38FE5D
3073 48DDE7D8BA672447638D4C1982EED07BAE16ED755026D025AA60682E5752B2C5
3074 D831162F13840F51F92904145DF998A297B6D74C627A6D9E54B5A04742E943FB
3075 1A51D95090953E1F1CC509
3076 0000000000000000000000000000000000000000000000000000000000000000
3077 0000000000000000000000000000000000000000000000000000000000000000
3078 0000000000000000000000000000000000000000000000000000000000000000
3079 0000000000000000000000000000000000000000000000000000000000000000
3080 0000000000000000000000000000000000000000000000000000000000000000
3081 0000000000000000000000000000000000000000000000000000000000000000
3082 0000000000000000000000000000000000000000000000000000000000000000
3083 0000000000000000000000000000000000000000000000000000000000000000
3084 cleartomark
3085 {restore}if
3086 %%EndFont
3087 %%BeginFont: SFRM1000
3088 %!FontType1-1.0: SFRM1000 0.3
3089 %%CreationDate: Wed Sep 12 2001
3090 % Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
3091 % See the file COPYING (GNU General Public License) for license conditions.
3092 % Converted from METAFONT EC/TC and LH fonts:
3093 % ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000.
3094 11 dict begin
3095 /FontInfo 6 dict dup begin
3096 /version (0.3) def
3097 /FullName (Computer Modern Roman) def
3098 /FamilyName (Computer Modern) def
3099 /ItalicAngle 0 def
3100 /isFixedPitch false def
3101 /Weight (Medium) def
3102 end readonly def
3103 /FontName /SFRM1000 def
3104 /Encoding StandardEncoding def
3105 /PaintType 0 def
3106 /FontType 1 def
3107 /FontMatrix [0.001 0 0 0.001 0 0] def
3108 /FontBBox{-189 -321 1456 937}readonly def
3109 currentdict end
3110 currentfile eexec
3111 D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
3112 69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
3113 CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
3114 F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
3115 F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
3116 EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5
3117 19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC
3118 BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07
3119 32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1
3120 83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE
3121 0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A
3122 A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6
3123 516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D
3124 991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7
3125 595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32
3126 CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD
3127 83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B
3128 BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544
3129 8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8
3130 CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556
3131 4B7E9093ADD414ACBC10147944D216D351CC744DBC13B0749FD0A129D7C47983
3132 7FEC7FDDECB3FF4166FE295814B8EF751B79196DF6FB2F28CA8CB00807F682E5
3133 1F37B8DBFA6963E77ACF4A16586D58C87B0F882FD7BAD0A5173202958267F567
3134 6D66D0511364EB31556C37BA1973151C35046863FB4F3F5E6434479279EE110A
3135 575DAF0531EC6A4D83FAAAA64995A7B97207724374CF283D0FEE36BBF7582F5B
3136 CED7CEB37EBAFD8206E691F7D0D17C63527AFB2AC537B47C402716FD6C23FE57
3137 22BC8B95E994FF0C6A6469AFD70C020C711DA6F19D4C46B9DBCA6769B6FF2733
3138 21E813E7E86FDD3101BAB642B1553FA2642DFCDE99A053213ED3C70CBDBBF19F
3139 C743F1F168B5A21E570C8DF7C11135C11E6AB0F0BE5CF78A4A4D7D2DC842A72D
3140 AECFA8C5A357D9DED0B9584FEA9BA6444A673EE68332C5A24E0746B486005408
3141 BD217B48CB94A8684AAF97BCA6FEB66A34F38D0F8CF263626A6D1249DB3DFB52
3142 DE448EC821576625ADACBE6E0F8551E0D70E89CC3FF50E325A7841BF3F4CB670
3143 35B95E2213121FA4E786ECC4E26D554B08DAAFF0EE4D26E27D57B9970705FF8A
3144 83B42255C3AB21E64291668ABDB27598E5E9B589CCE7478BA71BAE752A259BC9
3145 50CB89131AD66BB7725C549750810CFADB732D4C3E5BAAF3EEB7437C18949FD9
3146 BF6256E70A69AD4FEE2297E17679FFFF591B72139E628D0720F0D0E5F89F88C9
3147 ECEAF8A91356270338192D73CDE4C0AFC79AB00C8E95C309B6E0D4CC330C8F87
3148 EFD4196556231FD83B4E1DC5471674E5EB3AC32FA9DBC6686F1539DCC1B27E13
3149 9CE525D4574F3547611215560090F0342D49881EC71AD88E87889F47C668325D
3150 D036C32D82EBED06BA7C3E45B2D48512BA6D86467C96A1A6056D66E1F57750DE
3151 134C6BD50FB9A3250B8A6B0782FF750829FE8A9C7B56400EB13DA4BC85BE0B5C
3152 B46EB2DED29C9DE80276197A7689D0A96C82A804AF662C585B89FFC998D19AC3
3153 5D78DB39DACD6B62AA49ECC697ABE85A3380E5AC2CEE1D6D1FCF229848D32BF2
3154 E94B3A3973040606492BA85BA845F6E4F5836C24C1A9FB01F1E8010953ED0EEB
3155 16F25C3C52C4F27C1ABA91511835465DB7C930B199D4C79414423A5D5CB464AA
3156 160795DC52C009B895864A7CCA66DB631E5DA0D8AB5534CA4C246F0C5FD3CD20
3157 15A613852FAE23AC16CF82CA3579BB6074020B5F6701BB42B5C975EAECAE276B
3158 63BD8A254A060C183C1F5BA0D7C1106937206DAEFF42B446DDE5223BC8D138D9
3159 E07D4FE9FC475C5185D7B002DB51B991870DF96653E874E1786EA9D13717B42C
3160 35CF28FE5FFC83C48EF8B883201544DC7A3DAEF7DB2216CF619AA1EF1065CC45
3161 36844965030E5203B2F7355291BD78559AD07B890D6AB614FCA9FF17924B6F0B
3162 443E791D3D46EE22BE0725E3C0DF14AB47FBF222B9EA6F5EF64C3EA2E5F47D87
3163 0C08505F881B786322E613E91F9FC7B77055110D879EF97B5705BED310DD87E3
3164 187A9871F8A0BC1D9ABAAAA032CA6A6C6F8ACB4B719486F719117362E24C3243
3165 35A107DD31E5C974E8FFB2C222DE1EFB9A80AF0CF8ED6385B1E0D72C9680BDA2
3166 840BCD35E7C196F25448616EBFF6F4AA214186A6F9F49BF2E1C008BE0CA7B5EF
3167 17A9AA2668E279745DF9AC654B29BE5BA9CF59C20FF0E8A3CA4A3274E11B9FB6
3168 2ED1BC9C1BD8224B15015951961A2DB2FDEE1C087F6475195AF10962A4A7B91D
3169 274041393B1D8A6728E403BEBF08337F8907DD71B5488A941C64D12E83696836
3170 48C31022F931B2DF7D29FD89DAE20FA9C0270188CA98E64238578C1C3B01FA85
3171 871F67B62D3691F7E0336CF91189ECF253F1BD0924AB78BDDF17752349937CA0
3172 45248B3A718CE98FC71CAD8B0465259DF06B65458FF0983652D0E7CF2F008FAC
3173 34BCE17434973DFF998629C2166AA26433DA670C5A660EA3317DDCB6CE11228C
3174 0DC643479778153281472BAE976E46BD8F13168125A0B4CB7ACEE84600549F9F
3175 64072C28491A5EBA781A06B58C3EF3D70FAE359A2858B83D1AE18FCF2D2ACB05
3176 E5B2D340571F6446B4986F45611BB4FC878019E05CDD89189F7B677D93ADE14C
3177 917FB0D690D6005BFEAFCECEDDA1F3D7D9F45065048430197FD825B080ADF0C2
3178 06489D6D94590E3987D9B88EF3EE14071DD4F1377FA7F17F41D249A02A2E0B78
3179 D86F9B2DB409F27A049EEC86A50DEF84C8C751F27B7B6FAAFC6500FECB67287A
3180 8ABD4331BB9F5EDDC64BE255F808AD215AD8D8209A36F613C68C1E371C456FFC
3181 D3F0921A02B0D1E6068418F41A007E6D9ED3FE6EA48E07AD46302A9DAC0C40A5
3182 3AA48817CB76DEA1050E2089AAEED6FBF12752ACDEDB217369EFA3348F9E297E
3183 F647F56F6B3CB10EB6F7E806E51B29492FC6CD97CC9FB6D358B000B48C2CF4E4
3184 F4582F5BCED7CEB37EBAFD8206E691F61739C978C5F8E08D24D1BF1576BC1C2E
3185 0F5F97437C46C37BDF9BE95ACCD3BBDC72E98DB00ECB145C9CACB70D4C066372
3186 32DCB53293157F6EA58CF8150494A7CDB64B8E02E2B1BC7F74D2930C1F354F53
3187 EDB6E307F017684ED53E65669DBC3D9C16197D05A3FF8643C624CF088BA11A84
3188 671E2865C1F737A2B2DF670054CC043974F7F51C1B692431A07E3078A404DC2E
3189 05B9F8C8C2AC635DFFA4C9FDC13C51F7C10697685774FA41F9558EFEC64AF56D
3190 EC6294ED7896326E24A0D47FC23EA157D34E3A36172F3C8E6E69FC2DA5BE1740
3191 EA14D6BEAD2A9B22FB6BEF2419CF321AED5E2184628C658BAFBFB368388BF7C0
3192 745BC7D615794126863E33FF9EC1DAE696331E8CABD37E561DCD7CEEF8BB4785
3193 49CE0BF69D3953D45C9F5B7E947CAF49A788D9F60B3E2FDDB5298E72FB767774
3194 54D425992BA377DC6DD1529E6E0C5CFD1917BB18A1B846DBA54676F40D5F8D55
3195 0F8ACC4BE3D8AEA567EF7AFB0CA5D488B020DB0FBFDC767F15D25C6F701533C9
3196 85B5737450A51D44AE025BABA8198590105723C71963F36B90BE8FDC82939677
3197 38F6DF0AF50B62E4E4507C4836269DD1D0C5E8FE4F0B4A8233C591D26EBE73D9
3198 52B8036DF4229DF208FEA3C59F81D99EC927079D22B1F30F596CD90CA3FF4053
3199 A2DAEC61D79DBED8E55AADAE657762D1E455A4D8FEE85D7A927412507700FDDD
3200 54474AB118665FDF9E387345C9FC48B91F532774C9F7D8BB59F84B00B03815D5
3201 B02C80AD18D17984E42D6CB66CD6BF4C76400632769194395182646649847E7F
3202 E2AEC2003A5D357B592EC46BED28040DF2F0E2B5DBA465B9B507729B7D3B3CC1
3203 AFCDF3D520927D9891058668E3419C17C0C2BACDA1289A101E947C7D0018194B
3204 A4AD5F0D63C8DFE8A0088A2C39ACF544FB8306BB0A102F279AC886F318A8108A
3205 68A72F62BC765632C7D1D499353FC702CA7AC736023891A0D67C42DC60F560DD
3206 D668D700614732F3FBAC40743AFAD713AD906B31EBEEA862D9DF30C686E60966
3207 020B1AD52D83F98DFC652FAE896DC93B3C6E14397AAC889178507E41DBE5DA11
3208 38EBA92FE0C8C865BF24C35C73E26C06540F535D70681E7B9AE447A751622C81
3209 0F5953AA427F2F88AFD887B22532E8933A85A23AE9D3C1F93F8034435D005094
3210 C4CF821BC4F07D472065512BBAB3555B265571E6F7997D86B4F23D1DDB10682B
3211 895410871F05C11F33D55442F4A3FB51F71E20BF8A7A562D652082AA55647E9B
3212 8EA55A0388217A98F4B58AF0C4594CB8C59DB05CDC09604EAE05EC2FCE3A8ED9
3213 C99307E7D2EDDB62DF0FB0122FAE304B84184AF757886F3930EEE6ADBD43A1BB
3214 B8F0F5627D43475625FBCE441EE35F2477EB0DD6E60C5A52EF797E82A64BA0E4
3215 0DBBCE61951934BC6F0BB4C5DA82F3A8774A6873439FB6C392AFD854813F0E28
3216 CE58811F60815A84B9DE9465306A818A46D6738271275F2B06705E64A21FCE95
3217 F3EFCDB14737D23D4332AB08B88BDD132FC6CCA36DFE9FFB099C54916D49D692
3218 95276B93C598C2FC6D0C18C2D0E64590A0EB70455596BB13E7F33A2ADBB52362
3219 404E6017540128B586E64A29157D801606872CE3389D4EE76EDE928EFB8B5BB4
3220 61D32E372584DE72C92D4F87E42AC18F29F582ED83A456C5CBA0C24F6C684D42
3221 EE33EA460AF113583F34957AFC64DE7CE972D0B9CB60F7143593E427968F730F
3222 7C21BB8ABA0C94590C1D08EE11269EFE7AEFC93DE97B6341AB705747924BE763
3223 5D01B1CD394571392C3FBA4FEE921C4B563ADAAB878FD8D5711B8D6D0D5D437B
3224 9E09AC1B1D3E11315D0D6501C16DA8EAB71BACC800FF402049BF5338EDE53315
3225 4A186ACAECC206EE816F47E2A9555D77D5D5E74F1A2C0FD4C5EFF86E090C53F7
3226 886025E035338A43353642782A51E5AB5116426CFAE2CE2ABC2B1818758E8F66
3227 12EFADE217D15E961F741BF53D4FC5D149A536C8710DA8A8C93E199C144E288D
3228 C93DA759A827CA9570A634A2901B3488BA0ECC21BB7227085F8BCAD09068502C
3229 98C0799EAB8FA17E8926B7FC8E3FAC44169AF8184B6A35325CC2987D4F4F1336
3230 2D7ADDC3D3BC7F16C8B5586FFE8A1B0A3766E92A79516C291F44C8C49D0BE8BD
3231 DBC47FDD75488BD6D6F214A03280BFAC2DE4FD8272E092082167C192966304AB
3232 31D224045184E81C83C069421F46F6739E061D77E0A75ACA00EA4C086A943552
3233 15C6AF02C14A12418D394A00F38862621D7887E6D24D8553E18D5C5D184F1D69
3234 2002B146CA120A491C31F98EF3E463F6893AA74F0471B6C6F5ADEAAAEB4173E1
3235 64A03D1FFCD8FC020F6C1299D27F9136DDCC1E89B66FA78BAABB8CD84CDD725F
3236 9AA0B3213D6B9BECE264D19009D10788A7AADBD5120F71655E8051644DE7AA35
3237 C3F6DA44BE876A254C9C3763F3B12E08719DA8BBC2854B7D763626A7494944DB
3238 C6BD6B8F8DD2CCB4407AA3240D28AC0E29CB87F380D794EFE0EE2563F6550C56
3239 75BC7789D0FCB3552F29A3C783AA8F645A3144F9CC431C92B98CA781BCB5B6FD
3240 E9638AC75B7798D02A7DFC03786517EA3B251A15002D847365CB17375A96A3B3
3241 3E1E8E751BF65855DFAD24270BD0D4994219F7E089DB937DDD11D60911342B8A
3242 7ABCA6F167D93DEDC8AA92340FC64594B96FBFA80D1197D498923EEE9B65CEC6
3243 795F8030CA585301124D8A96D5B23FFA8F570C68316CF9BE9B548A1D0CE72227
3244 D6C0324B0B782A82FBDCF64CAE5B120F163F9177B81577CCBC216BF9718A5AED
3245 5F1BFDAA7C06502C3AA9B4FCDF139D158B9CA2F8ED6F984040DDEC66BF6BA830
3246 995CF657CA7A82CB324F84974889A6B9F86BECEB1AB3CA1DCFDB2BE3384094EF
3247 696E73347CC332BDB55B82B7FFED8AD82A7DB295365B9B9D76EE203C09D96532
3248 26B0802016EF05B7255A6B73D213A0FD4C65D149051CF351563805C0C9D8846B
3249 C4B15A07B0FC1EC0418A929113229AE3B6EF4F31D113319D95D79BEA432B8B55
3250 3F7B62C5C5497F6B79F694C12AE8DB6A17E567CA5D51FE030812442BE565087F
3251 77AF714680579A1B326C9D5BE67EE448FBC8B92B77DC48D5CB2A96E2823B207D
3252 3C80EE5150A5D5635B50FF96337AB6C9FA8198C8572FEC6A038E13073B30FA51
3253 7D4E94708617AA078CB13E18F4A07276044C76086767A703EB4B9DEF64A98457
3254 F7A67699B0979A9F14B265ED2C78DFA328173E1EEB08E22EF834595E96E1E46E
3255 B10E863A9343637F46DA3143C7A8107B983B1A5F84F7128C196896D16E3CF226
3256 F491A14938D6641CEB697155E1A19E0FEA3B9AA4020BBDC9344D588710F949CB
3257 937ED3DF45ABB962CBBF49CBC0FB6FF4164D26BC056E25336AAD4CDFA6045923
3258 AB9B445F3D23BB442A099173E957BA3F6E4750AF8261DD0D7F9DD9E45F2B8FC6
3259 FD352A98CC4896B035C102EE0432DB3A68F8A72BF12054ABDB38E1D5F4044618
3260 1DAD897EFED3B29D73D43E91E2AF13B994FEC4F84EFB8A380E4E4D4D486B0B51
3261 3BD9042BCA544EDA89D7ECBC14BF9864327E760CE05E6AD03A097288BC39ED24
3262 F507838D6E8930A8484AD266103999E9F0BEA8418B63CCA4D5C10FF38DF2E3AE
3263 828500753B2E5302904D0CA4B16C1338BAAAFF481CF3B5200C19FF70E8B62AE0
3264 EDCDDC0B32CBF8276BA3438BA3EE24680A5BADA5784B94E5C9EA6F6EC752D427
3265 A642DD8F042BC283D303EB357DF3C02C1E2CEF4F754DF374ECBB45A5ACA2C20F
3266 6C0FF615A4214E15027C36A85688257A0ACAE90C3C93B3E12DB311E6B39E6F47
3267 39DBD896112397D8B4DFAADCD9247310B9458B6B79687D837C0588F602DB9AB8
3268 EF9F26DBD3FE2DBF2F5859E980CB066DF9F12B4487AF455BEB2DCCC856673F26
3269 1B5076C4E761934CD62D32DCE37E9DFC30D07A6898041893C1C305C995DB65F0
3270 E08A5C0793C26287A77FE2D7DAA84FF7C2AFA2ADF9BF6A01FCEF251F98AAB971
3271 ECB356584BDB706FAD2843096E1F423DEBAFF33E879B05C584E536D03F0DDC87
3272 A889789783C793138A049F057F129E82D6FD699E670BCE55AA2BFEB24F4F541B
3273 3E83D0E4E968BDFCD907CBF17E8709D86B15CA23E5DC52C76A70E09A06088B42
3274 C80B36885604BC92AC6CC3B326B4DAF2B05734ACABA414BF33F49B14F42A0C4A
3275 86F03048F1BD13EF65571138527C67DCE9D17E2A34E08EDA3E3D9FD637C98BA4
3276 6A6161F9AEF2C1962855D99FD0F71951EC9E43F0C01B20A3A597325E914CE46E
3277 E796CBDDBE20836368D666EBB63D04376A3C4B2CC45643190C5B5C24DB390B13
3278 DBE7D33AD85C6A571840CD71BAB5C4C2CB7A0C255D9C085B593B668328FE798C
3279 7F00AE1911146E3FAEDDB9827961896EAD9F540CFBB3C18C7F811797CB9E1587
3280 4C12B7845A14B2D216F355139932AD776B0B6FEEB1C77982ABB8EE6140B2729B
3281 349939E0945B381DD521713E79CF071256452DCBFEA90A4B8CF33EA5A33679FF
3282 63210C735EC7120424154BF4BD9400FB763E984E26F6D5E6287D4C0BFCD17A86
3283 9E735353946F79FB10B4D1E5AAE34D1710C0179F7D9B579190F177AA1D507199
3284 E063C8E1F50DBB57DA92A25ED21C6455AB5A8226659111691665419F491BA94E
3285 1865797B98948EBEF643F001850A1FF774176C666D2CC8428B64B2548AAB2045
3286 B32EB9EA26AE7D8A1A4930EBCDC6C43CD2ED327CA534E4490575CC1CE86973B8
3287 52C7821848F4BBFCD65AF96777C272D5B872FCB48FE4A864AC9AF980A433B52E
3288 0370DBF0DD8F8EA20061AE24F42F1A32788018DDDB8C73B21F8CEF1AF021B348
3289 5F99FC4020D1CB6B039450ECBE10A71E6039ABC88DB06E31E3E33B877C17612D
3290 8ABC71F41028D265F3E9680ECCBFBDAA0FB9781BFAB6A0D294BBF3176B8003D2
3291 4BBFA7E2D95FA1D83B12EA5082CC334C2C1D3EB68F9CE53FA33507B0D35A8A72
3292 19D37F37A3569C59D057CD5457C87A77684AD0A9CA943E5223427535E7BBDF7A
3293 32602128B00FB976E5CDFFAC34E98B4D68EA1D1C5D9D581DB8AAF9FB4F4FDCBA
3294 8FAC323EF5A60C15AF82742C86F76C9B509780EFE743521D1CA9F09FDEEC4397
3295 29AE2372C756674C44C05AF6E5E4D192A4DF799E322E07D84E71335C35899FDB
3296 03ED5C181098BE193B0005084F016F79C7D0E51236BCFEAB7A17E4831E3C9D76
3297 990019363CE8CA7D2E6E77AC2BCF9B820D5EFC490F4B857036DDC3A1540090F5
3298 BB2B6DDD4DC8072FE2784DA04324F101692187D66B2A444DC577FF82252708F4
3299 E2953342626EF818D51750F817D9096599DD64AE52A1FBA985A4C997D03C016D
3300 AF6405C9F6D17EDD30D9155D07D0C8EFCAD5B4B1E861486F0DC89117E3472E80
3301 66B36AD6C9F9229FCBF7E3074773C744F8B8D5A3855DB756BF1C054463686595
3302 C5FB658DDBFFE3B748B3337B2359B090018C094F2E85589F360368BA1770AE68
3303 8F0CC064A136E1F924DEB3E7D4343CD6E7FE7AF2A2025CEF13BCEB2B53F3D205
3304 CEA9ADD3BE325DF61EA0D5D8CB44CBFE75C57E0EA65FB87F274A0C897036264C
3305 9DB0E93F23D9B469449FA5207D6ABD110184669287D115EA116CAD298CB839DF
3306 A2A015FD9DCFB4660D53DB2DF98322F72965B03C2071CCBCE53595C2D38B99CB
3307 831135D2E7183BAAF3E8995364208385A2C42AC9498D723A6E6CE96F7F537D6D
3308 62AEE9C148D426935FBA33342293EFAB2C278FDDD206F4785F5C6F9C1BDD8E68
3309 C89EE8712C9C187AE05F0FF05FEDD1747C93CE6A003B7260FB620ABABACDE565
3310 DF71A8680A53C83B1751E40208DA72AC0D241619AD2838B35E3FE1C1BBDC4C79
3311 B29C437CBB25041F19960075851E3D0156B469730545F65D69685D6ABA833176
3312 B24782ABF6D4B7BF3BC464E7BE3FD3E7B3956F0AB8E3B1D17489395A7F1F3004
3313 9769CC7C6B204BCC72AC6B52681288B041D5FFF82055CAAB3346F04BA9ECEE29
3314 E6B0D917859E0A6BFD6DB51948AAD4F452E9EC8609F3A9544000074F8ACE516C
3315 065924B67CF1D1A1D07F602F7454B35E310CD9B17F2F4397976A72E90E3B9DD9
3316 6CCFA090CE641CA582707C0F4C75DFC9FD0BEBF3A82AB3B967D549895AD2EAD7
3317 22B76CEAF0CB567524708F1B93EE25456BADC7555A2EC80C166B4A30536A5171
3318 289E0B4785B1AB0D65E99113F7D2B3DFD3AB62C758823EC1FDD1D014DD0A7B38
3319 EE62296357FAB29F061E7525EEF4860182E848E6112C242B87467D1734872892
3320 733958AC9CFD38981CBC454E7250D2DC0B0A726977332CCC68BF795B747FCAE7
3321 3AC7DCCC87B62AC8561B365D27F78C8DA88C0585DB99D9BD2BB8D9A3D4FF767C
3322 A1B559D2374519F0894DE62D7DED8818501D82ADF171B5C076350363A1C01B4B
3323 DD1B9B310B5232FF2FFA82F0DAD31FEC083AC19C7F2CFD2FF2ECF8771816C931
3324 33EB628C7B653B909CD108390973598EECABABB7230BA71597EF3E34068EF12E
3325 5D9856C0C7EF3D28418684810F1DADB6874666B181D0E8F7D15965B0A9705FF4
3326 9F6749AEAFA8DA24A59F7B31EB763428B5D3E755F7061E25A1F47DF2767A6BF8
3327 1E626144C58D1B88E856615014EDF12108E184261C823DFB203810A430040298
3328 C4B93B8D2247E914D9B461C8DBBDC87D2E2144BF7730DDCD44494C90A5A1D7BA
3329 FF119EF9DB2E9CA1C7D251C31AF3C4C9483364DFD62E0E9BCB36FDD4BBD271CA
3330 FCC9EBBF3457BEFBF3A257D265EE6165FD59E8F50CB46040FB846AF07A3F58F5
3331 224574AB5F54BA9DF757107DE0A7B7D9747DA4509CFA480FF4A19872A75782C7
3332 5D64BA3043D6CFB92B85ED0B398AC12CCA243E2DB55378445150CC9A78C0610F
3333 097DA448C1C4372AD1C9E5F430B4B16FDA231919104B8C6F137D27CB350DAAAF
3334 E5305CFE4A7AE6BC29C39ED9C47204DC605AAE62A2B69E9968BBAE99EB263B96
3335 7740EDF0E43DCD82EE7FC3ADF5F7D940CE90249066F045862F313CB6D8DE936E
3336 063A86DEA7BA6F0B7239476396EC0AF7002E8316084CDE8F6CD11CED3BE0EA70
3337 B1D2189C21E1058CFDD7D6F0A9F6975F177C1EA96FA422BFAEFF83CB2E4949DC
3338 2D2D1ADE17E43F86CE70486737AFD40B431C32FC363DB28AE74E282714825300
3339 D37585442E398A105193867D172636D743A4D33F0BD5B5C693F736DC013D2165
3340 BC16E9E35813513783503263884C87C49F09248070B402A4427B2DAC31CA54C3
3341 E83613B70F0256BE3C55531513F23DCD507A4549F31D5077D7B0DD1E3684D376
3342 26B6CEDA3CAC91E253D4607A04BB96655EF28044726492A9381FA07F85859081
3343 A641A041DDC8247095DFC5214EEDAB62AEE36712F85072C69C8D84107B3D4EAD
3344 2BF325F516EFF9183AC0118FD3D20DFBD484ACCDDBB78EC419B7AE08654BEDFF
3345 02598D3190AE74785F79B3AC0342BC6B0B8D443BC43A2D385181E3F22BE45C2D
3346 6F1BA1C78F8AF0BF52567C98B7C5C251127B6BB96EABEAA35B223F04C210AD42
3347 98BEC41838BB3814511999A62F301EC9B98B57A3BE19F4FFEAAD163C73437FB8
3348 D7930AA268FAF92ECCFF69C8C12B5802AC4041D8A60CCD3DAE99EBEBCE00D901
3349 E4E89E8839B739ABE2A72C51E4FA23D4BC204B7653E2E8F9681EA54B4DAD7F92
3350 501D1118E175C9F6FC7CA92CDADDAC7F9226918523C7EA22775D148A901AFE19
3351 165F8A12D7427E1D27BC9256FC851E649ABCC49CE4F01F3D3747C30D82FBD4AA
3352 98AA8A48DD6E7545571BA21A4D8821202836DFE33E7ED441F89349BEA0C53D69
3353 0900696B7E92504F2E401A2AFF273AC90BC72062B3FFC8CF6A0663D102A96BF0
3354 1EC16734B024B2778C42C9DD734B8513F42CAE6A1EDD83AC935C65A4CDB59661
3355 17462F664EADC049DF79AE018A1EC3EB57EAB91891E0B859F8A683E2B5399B7C
3356 0E156E754BE0A9DAB88E81AE9E23636906544F354761E06A5476EB6C06798A4D
3357 70FCB853353B32E938AD327EB9DD8654576220C3BE0DA28BF44F396A9F706854
3358 D31056B9B6606E44637E7DC22A1F0161B6017F175899ED336C53565BF5D428A9
3359 3D1DE5EDEAF227A9C7468B182CB468F3605B31BB1FCFAC56BAA9663337936417
3360 1174FB24D77EDF67F70CFE18393745F40FF681F0AC9DA718113C3313CC1DB91B
3361 DF2818592ACF13CBED378DDE2C1F770DE01F3B42F147B3BA23DD60794C1338A9
3362 9EB84A01485423C98162B9B486E52E15F7B5FC5500684045019A0FFC7D9AB023
3363 5E424A855CBD2A990C1CAD7E717D1D6E117D66411593D10A76DB2E563A4BC5A1
3364 E52B8D3E938C8C15B9744E6338DE8AC537236146ECCBFB7204DC672478EEA137
3365 6C489C632046169951A878D1CC03C352F86AEF7C9FE4E357C303D5481DB855C8
3366 ACF184707307CD76A60E8F85B83F19EAE2A199BA9096715AA377C0AC759563C4
3367 0BE5902A614D1AA8A270AB5CBB66B467C6FB7B1D40AB76AD826A71F412F5D3AF
3368 86BF7B326237A8979519CC9B81E608C04069415E62059463DF5A4B54E4A48FD1
3369 2C2F3C846284249DF4893F75895EB988809C26ED4384066F3856C64E8934A64B
3370 8EA94A2BDF2E5009173EFFC480D22D52C22FEF1AD7BB91A4FBC1926C8210293C
3371 B39D206036B1526E7B483CA439E45BE3B5EF84D89289DE4F48631B1EA362C1C9
3372 BE175DCEA93A0A6C40428F3E758FE331A06055D6DC14830A50AC257A4ED8BA3E
3373 FF0F501FDF3D2E6E8CBD8C83C85F5AD05659E7002A003C41FCEA3695CF7825E5
3374 8355F803AA286B3DCBFDA8573F4265B08314631AA40AD4A97545503AEE1F3393
3375 808CFD3DF8DC1A9EDC97F50E034B1F72DFA1100325FE92388E4DD53A6A6734A2
3376 ED10225D78B3C6D85BA8255758FF27AB932086D348F59DE0932E16B22E6B21D4
3377 051E5EB2A713BEF60466E3CEABAB565BCC866395D0A28BCA8C457A552A7193F7
3378 FD29DE09D4D34B30CA2AC26DE6154AA506FBEAA2051B5DC30DE854B47F1D3D46
3379 EE22BE0725E3C0DF14AB47FAC464E59D8A7443BF05F7F6059A841C33E3F383E8
3380 C922CA0FA16D14A40F26E84256C347032E14A68D957A7591D67BE03D2AB8D4E9
3381 9457B42D249736ACEB178490EB52FAB3E236FF732D688BEA5C436A52B2C896D1
3382 A0B1E10CFF5C14B055D138F0692BAB40B6BBA258A444B655190FA4B58D9FAAAF
3383 90470CA3360AD99B2A2EA6AA5846D2821F7196DD6DB0A5663A7340CA1B303EF6
3384 CF1588C9D8476DE8E212DA80B2CD1F56ED14F9826F4AA8FF66FC0D17E16AFC60
3385 0D90AA5A596FD7D652B330C0DB125EB3807B320707A781BC5E0D9FBCF9283995
3386 85E03A07034BCCC65C241845446CF0E5C6CB49963A45D15D2D28F7E1874AAC5D
3387 EC8FF6C4A7119AD4BB8EFFE75291E5EABCA3E257B211A2E8FCB44C08999491AC
3388 719B1252CEA3AC7D14D47534A377B4E67701E9F5E1147D20CB5BF0608683B529
3389 559A157E3717952000562A4443AA485D6A574C38B88447425E85B4F367CD9DA5
3390 2136B519842D062769C9B2A066789B49E963B3FEEDA5DF8239EB749E29659C99
3391 1BF060CD00AE72D74EE3A361B8BE57A34166457FEC6C9A25BA879B5B56E3534D
3392 6A266F0E86CE9CF8612BFBC619E86BB8949CB6A7482E3BF1E4F4A8C50DB9BFBF
3393 BB1AEE5185ADC53165413E1FC092279D0B24D3BCB773D068EC79AF7D8C46B0A4
3394 00C2B5E8396E3C226A101E1F33FBAD575AD43DD5CA96475CC6DFC997B78F9C50
3395 2E18174BC254485630BBF674F2BF93F06BF0EE89F19DE217C48F1895326FAF27
3396 53E8D8886449742FFA6C0C3191B1B44C82DFB4A2704A8844471FBDD257D15B1C
3397 247F2CAA87134DB7E803DA20520560053B99B08DECDFBA743855EFB9F0C4CC62
3398 A0CCA04A7B222F8DC500874DDDA62991C6046D8C3E65526780FE1F4A15EEED51
3399 5622A8E8A0F3FDBEF52517DCE8A204A24A2FC36B0424513D10D08A83F354FC8B
3400 5AD01DA8E2D4529D4693800FE8BF5E1F9EE72760EFF224DA3A38B240D1153A34
3401 48D307C029D465A0702E145BC6E9B5D5A0D7EACBFFCAE540625738D8F4214084
3402 0DBEE2AC618C923BABB56AE48BC6F38C06C3D6EAD084018DB1E6A66C503F62E0
3403 FE0F5E53C0603E21341C304A30096E68E658E5E99A75B2D0D811D4D281EB50D2
3404 7A96A36D90C6FC517EA536BC8951052E7C3A44A16F16EA630F4019D2E22484B0
3405 E95DCC86893D1477A34047E2FF42A870CCB683266F2B2F6C8D3AFC3382026223
3406 91999E1BD49006768087E0849DE0700B45441AD532238FFD22988D44042F70CE
3407 E749B2C3BDE7469469D2E63D047D7AB57AAF0D5D0C02C2DF16622A237C8F3ECE
3408 E7367D33197D106319DEB18F989B50DD2045890B94A3E1BD6CF881217B847F80
3409 99CACB30573C5E487A84BE0ADB28406B5F93C4DC54DD7712AC4DFEF85C14B055
3410 D44A03FFC120A159E90DD4BF118B9ADE304F76EFCAD5E60C5D3529C8D3B74E0C
3411 A32EE135241AC40D05825F52CAEB87491AFC85BDE59F97F0175819F780F4E778
3412 9EF98998C993BE04D37F086E0D8AE6F89E9455860E04D9544617032C7D2DB6F2
3413 04B482145F3CB7EECF153A3E9521C882CB51956AF6389B2AD27BD342DFBAFB13
3414 C32C4E920FEC8047A0B56365FF6A3CB0E15984D2B044BCBC85E79D46C30F0095
3415 28342D0C96FF799BE361219ECDBA07C8D595F8661644BD83E2EC47C00F6AAB1C
3416 2BBA14B820335F66E7F073ACE85879B067492DA642C1EF81D9CD3C676262D91E
3417 3705A7E9F84C3D09A3FD47B8B3154AEFB6FC7746D687300F90ECEA17F062B93E
3418 A7B5A9F0F3542EC620261801F7F0D876E25976EFE43E0EF037A4C04C6B64E506
3419 1C39DF25BE1AFBC9C5DA5CA6C01C1C98B5682DBF7F4843DDF2A243911D7A06B3
3420 722A5A0E06305A907C2D0CE542D6F0FD8C3F73BC96A3126D6A7C4E73997AD9E2
3421 996046854DBF03C71010763CBCFB5549ECCCAD4616927B29900DD9D9C621DAA3
3422 FF4F4564D288AEF5501101BE279FDAF309F24B757895A228A382A3E9C558E131
3423 B17DD5EBE155667B74FA90FA06B9CCA2138AD9C4CC8AAC6E4AED5D93F5515882
3424 6B135420ABC88DB06E31E54E2B7AE5E6B3272B5700B2C73E29A912F198F3F9B1
3425 CEBE18C60DACA03D96F2BAFCE0AF4348F672BAB2D8430BED15BD91491415851A
3426 A12C026CA39F4879044EC3CE8741D4A2167EDFB48C71E19E43E7F971FEDE25E7
3427 34638099BD3466C25ACF8800501A3B32353A976E1661D04C7638F7C3A6365ABB
3428 1589156C6F489A87C771CBCD432C32D769F3639C11568A32E655F135A166F558
3429 4F6BCC094B82C5F3D297158E004EEA31CF85C30F467B9C0B66FA0C372FB66EA8
3430 3264201C49B31A569393967C7C97C4A7384FD0C9971F45C0B1DC9AE6168B5525
3431 5D6240611505FAEDD3BA5CFC70229D53ABE5B37EF91967AF1B2ED01B89BFD470
3432 3B3EF8A52BFD2B0D73AF12AFD9520F86CABFE102F0047B3476CFB14A331D73F8
3433 BC5F26AD901614682E0D74364945DBB7B678EDEFDD8D58BF8FEAC4F0A32DCE66
3434 423A0435189F31DEA82E2D45D45B9CFE0E9EB2D08B264F93947EC13DF7B66189
3435 90E91A067473FED96DBF7A52B3D1546A030D47BE7B46D402DED493C2E162FEB4
3436 4B9AD2DA7940A0E9A9782826B5EC44C53F5E740B1F071B532146CC5D837B6A2D
3437 09BBB6438CBAE0635D875ED4D5CB2AACF9ACC43F944F85A5506B8A25F7B21020
3438 5A57438F425E650A47BE5FD984C7922FD97A6EEFEE6145854B16DA28297D2908
3439 42C30EC7E3EB3CD73F8526C3819E9A62EDFB53F14E7E4BAC46512D1EDFFA0A7B
3440 7FC7036812216BD5B754B02E31002947164EB11199D222F957C38DE15CA4F95E
3441 9DB332F9D9C8BD071C4E9E4F6D7E7FE1DC02D37787C16E30AC81F9D33F0FD06E
3442 A13B81938E1913C6ED51A9AA21115088F82155D039B8A3086A1CD59D5134BEA3
3443 43DB71A6076CD7DB841C7472940A9D14DB397885D7D71232FDBC0B5EC9333DAA
3444 99F06F75F6D724DFA093E0818C52FE5BA9D8AC02A82780D96A0AD224F5BBAA72
3445 302D9290B6AEF2195BA45FE68B89E1032C0C6A5DD500B75E4DDFEB9FC61A884E
3446 57AB194688C623D796E322F6FFAD44317404FAD371971D955C560C4CB9DD8F17
3447 246D3B3E83DCA0268B064226CF24E9DBE110CBEE0C1C9F652C98FF37B3654DE8
3448 66A4A02F749D153EFD4D9290E434802BBBD820A6262D3961F83F3A7A7367CE37
3449 181F83A77D7B25D6E4F99E514B51AA47D723436738B69AD8293BA9F9621F23DA
3450 BDE2A4CBA786A5B99F18D2BEC76B9CD7C33CDB87D6EF475526CC17B340EDE4BD
3451 FA4984FFFF53D1081D224B19BD5FD3212A72C002B4670D6F98FF17292F7EB42B
3452 2D6E5CBFFDF86EACD4F468FA33AA7E99D5683B060030480E75AB50502C3242A2
3453 92883E217224052B07A1F50C4FE513FAB707DC758ED0E52CC2EAD833178FBE3F
3454 E931598140CFF293D296DCA7BB0A3B7371DA445F30393B64A55E162F6C5B49A7
3455 855EE7080E731065508CD52111C454C90ED42CEB8C680CAF332D48229BAF64C0
3456 954857722121FE853B208F9ABD300BB54662F63A7FB6FA838D03B68E13C79D65
3457 3A906E2EC370B96B9B0C7CC4D8744FCE92F1C87AA844F81C770720025D48E404
3458 CDEB3A9E990C499C46274038AAE049A71BDE9A2E96ADB87D60F21728D9274ACC
3459 A46190AB688B01A0E6B41839D3E42BFBC4251D70B45B0F80DE8F1A24C82FCF8C
3460 CD91E893335F0EF46F5D60A9AFB23A6AE02F032861BCCA877B657112147926B3
3461 C1F32326974137B6AAD6CE8C986A6450AE57B55F5B574290653ED6CB4F99E8A8
3462 2D872F917C7CAA073073CF51772CC20B24AC680FCDD0819CC7239E64D87167FA
3463 C1F4867CD0267F4CDDF08E5D0273000FE416D62C44D703E491D2DABB82F42B74
3464 E987F5AC6ECD2EEA3E3FC4DBB0DB21D07A02786B513BD53333CE659F4210CE2B
3465 961EA44FD064414D63E5FB292ACE76AF3F8EDE947A5C9361EB21A8ABC04D370C
3466 296CE061166ABB36E6128D6CDC4073A425336BC247B791D7A68DA340733E46DD
3467 18D984B7BCD05457DE634EA44B3CCBE68235589605A35E03560FD492BF962DC0
3468 193ABE995660A89A00E6B363FF06544B153DC072FBC1F7DB32942695975E9B57
3469 EF18FD02D08AFE4D0CD32A122059314CE507AC8045C5D2F1CF7FF9F11F875EEF
3470 738D0160FCD150F6B4762F95E38519C322FC44B88EAE75E169BBCADC40E59617
3471 47D241AF7A70CCFD34C9EABF3A87C7D06AC39F18FD02CB7482779E9B9DBAC0A9
3472 5854F7EBC4A9632016E31AF79DF896B3B01C11CEE20DA4F0236C45D8FD2046EB
3473 4B15EBAF7189034D99ACCDA2E2B4D471E8EE46E43ECD7ACD184817BCCAF41FA0
3474 87DF048F04F277AEDEC0FE5D46E77EC82FFDDE479921EA5A4F07828E3F15F992
3475 10418D219D3E78AE3675083BAEF37832C305829415E263A6642AEAB19E5DDACD
3476 973441A62CF4D288038B4A20061C0A34E227479CC205D13BAE6DD4C155C9AE3A
3477 BA15DBFCDA3832E8F849A3661D4CB6C6204E4C1F304A1F208E0F3EBD1E85DFDE
3478 8F54A3E6EE29FF8481C7D7A602C1425537012EE6F78BD6E8A9D32B0D0A81AAD7
3479 115A33A977F34892E00E52EAD31F049549E907C0981E15113CE61CBA1B76A907
3480 D3F2FC6BAF477140173EBF673A9B69402394A2EEBAD655D69FE74AA633868CD8
3481 D28D0FF55B6E76341E186C5BF8A479798973F4A4833606112760AAAEC5156D7E
3482 87C477B89B4E180D9B2F1AF059B20F4B4C5A342BE832FF267E502D796B9420AD
3483 EC1DBAA8B4FB1FF89A029B733BE2E100181B89C120743A9C98D3A900DB7344D0
3484 8FC750FC60B9F8D54AD2FCB12559DB987984548E9F736EE535E0BD5B09686BFC
3485 009A4FDC135A5153EBDD7EA1EADD8A9EE545896582C5A154B18893CA117F6F1D
3486 E612E0E2EE5B40B48C33FF62950AE535FAA95ED402BEBCA7B19DC2000554C392
3487 F8B966362280D99B1BBF8C1579354524C4E7970B026D1013DAE56A60F31DCE07
3488 D3E9A9B2E13054EB66BEBA6F68F0002588AF261C62DA2D56CEB6410FFC6ABB24
3489 FD6CDDC519A18A33CD1BC21C9420C54FFB39026696F69DF8BCC7637093B90195
3490 4BAE8BCD3534B9D17A35A2968BD98F5BCC8D4EC16642B1510E84CBE932914E66
3491 A54C2DA0C76FD4BDB5440A6E7E9E1652AB7CADD1AEE22165292B32A2B568B43D
3492 E04E5C49D6932607A78EEDE194BC5331163F14210375DB37855F6DB7035E9B02
3493 139065696D997A6C1143FA6C26DBC897340A1D96CE30C17081F12F1DA60CD43D
3494 BF882BCF895B472B7E8A10D32457A01DBE7E39A2B6BDCF976270A441F8233F6C
3495 C656899BAB0E7AC197ABB039EE94E7C459133072BCFB323A21869AA68E90D214
3496 88365819419E58B5BC712A7DDF955F69034E40C2B107FBD6FFE074729DA2B850
3497 DA92A25E75B06B1F14322F47BE676877DAD74480CACE633EA4C18CD5EB3DD6FB
3498 239A7F020E718668B85A6FC893DF55F573605E05CF01A26933C2C94474FB95DC
3499 E002C8528AA0DB5A86A601664F6812F68D7BC2E66966C455A03BE35753799046
3500 1DA2B7DB39F236BAA2E49542820284B445A0F7A232795BF656A29FCED90ABDC2
3501 D1E953E85D0E81407D78D0D7865420EC8B28028C3345FC9F3980D8909A4B20F4
3502 4FD1862D7C64F26E3C38D25F766C3B0CF8526B69B4EAFC2541726BCF012E3DE5
3503 CDAEF346C6F6FBF5DCD7ED082B1D9C96EF6077DB25245A76BC58FB9E5159D2FD
3504 159FC981A2984B013138E75FB231D9364740BCC85FE2AC5B3B1DDEA388E985A9
3505 336C0FD826B5353D69041C1ECD8B00D7206FBB4027769DF5CAF558B75C456FD3
3506 759D7A34CE27F421233055DD77AFC34452F62B070562F98C5199936C4D8C916A
3507 08C1EBE98F2D1C03333E91EE831D6E4B9F00969D03F59F4F415719E1F79B350E
3508 AE546904D2960B9F460DFCEAA73442CEFA9E140D945D14B7277DC69BB5D0F524
3509 79268CAFFF42B7F251BC0803E192B45EDCC09E3D31FA80C53C94B7D389E60369
3510 FDDDCAE1ADC486E9B2D49028A9BD5E699B4A9197F48B442B66753190A606F912
3511 1E941A6C6A6D727A63DB53C4AEC8581793882CD9BF839CD85F67CE5E8AD0475D
3512 81A049E34A174481BE8EEE8046969BC490144C22AB7EAD521CCC5F4ABD23048C
3513 090DE548F22AE0256B53B8D05388F4F64050F47C8B025A6CDDB76F7032BAE63F
3514 AA979C5403B1C0969010215F2E90AA96064EDA219D9837876DB671A36EFB73EC
3515 3BC4FFB39C99322284EBEC852EC12032BA9E800B45806E1DFEB7446BA0AD2145
3516 7FCBA0FF7FFDA9B487A916855AA5AFF6F698C9DB5FED8D0150F34FAE09B049B6
3517 42528DD817E6BB0A2C20EDC53E9759BD5799A74C0F2499F1EA14446293236784
3518 432D83404F2A793D152C5886B5F47339FC0B7B53A3F578186BCCF9B761ABDE17
3519 168CCFCFBFAF9CBEC9E29174E9A91D354EC621A085CC13634427EF80E1B58BAF
3520 F05FCC1145CF408EF967E9E638AE1F61AAD88033A5199BF1FFA3CA6B18FE41CA
3521 126CA1B782FECABD0843DB18FB38BCACA009CF2F4552491E54D841E2669238D0
3522 7A66F9BD9EBB8BE3FFE37A2A05DB7549120FC1D8902BDBBA60BC4E4872B92336
3523 E727A6B70CF123BCF061B439B2514456927E9DFCA365F27490F346FAA9B9A71D
3524 8497B8D62A96317B3ACF0E9119BB734B0514D6B91B5649AA74470C15628DDED3
3525 FD75A81470C9F4358FB6C815304E8349BB36FBFCD2EBEB0410C77E65AAF2868E
3526 E58C4F34E25E72332E2BE93D22F8B2BAAD1200815B2FD5C51A1A277D12B6821E
3527 F06E679B9B956A6F5AC16F082E5A71997A8972D3E149B1518631B90BFFBA33E0
3528 5B987A106C24A19649AE5AE1F7EB44F9CE757DFB873E7D9998F9D82EDEE6CB79
3529 239E859510D62158204CAF223837BD85D34219685ADC1203031C4022B1879FA3
3530 A7F01756BDD0C748418C349C7A7117B39CE08E5FC448496E374982CAF80523FA
3531 72D48A18CCC34AB77B67D49CAFC960D68DB42A61541CDBEC4056177B7B17E2F4
3532 4BB5CBC906B7650CFB99A65836AE038BDF501CD1B48F8983ED49364E4410ED05
3533 207EC31A01C06C3AA3482DD201FE62DE17650D2EC8D35BEB00C7D46EF0411C12
3534 422509136C3C5C617345DB5C77E67D8547AC636E71DDDFA294A520D72AF254D5
3535 D8B046AB98F05C8C0CFB2D362D2872C37350FEA6512EA261519E6F061BAD8FD9
3536 BE27EC75C64BBDF7045FAF56A984E7938CB0B1DB70D68A6C48057E38919C0C59
3537 48550D30ACE8E3BC7535195C0206C0B6ECF08C2ABCD9736AF3ED5B41210D32EE
3538 303E2A940FAB116A04820364D97F8648403149C09AEF9E87E63EE6E9BF4D1987
3539 F2ED57536CDAA075074B574E5A3A4E698065F6C25CD876B2EDBF3BFA14EC634F
3540 3E94AA2C1FD52EA39021A6BD8FACA25D995DFE48FEB2363BED56BD63A8C0FB55
3541 AF1A3BD5208624805E9BEA040897D6EB97E552E562A897C40B50660614B58FFD
3542 817B2DDAC79CBB690EA2D572257A18F325B11B8003C2D4EAFAE5619B4B3E1C77
3543 3F725108844FBF8013509DEDE9F633978F67DD2175CBFFEED7076AE4F159CC43
3544 7AA2C5C5C6E4F47E74509FAC30C5CBB191D1B75BDC365C5A9DC72FBCC0EA4945
3545 77370EA8B83229A09CBD2A4D617CF2F8DA561ED76393E8217A1D236553296679
3546 7CD6F2BA8DA29A1C3D032A70A1726F8B989B8C3822AC8830764C68734465DCF2
3547 4AF156CCBB0E0EB7B402DB2DE48F4432403750A98137ADF8BDC7D388FE9EEEF1
3548 122371C55BCE487EBA48FDEB268EF917A81B60BDCBE3B33766C96139BD6C1FB4
3549 72A869275B59EA7F16762EC7DC610BD93F7180C55D4130ADBBBD63485D09B34D
3550 4903FA8CE2BD166809F0A898C440B1C1D7CE35B33D0F6EADDC46C26046E95281
3551 8728D0368A8C59CDCFE7FB9EBD8FD92061E00803D3FD99E26BC2AC24658B3246
3552 CE615143F8EACB42CF462CA6B4FAD3064CDB1FF1E21E08715A5D3F3F89E36E8E
3553 9E1EC0434E62EC4D509BC83620FA69E6FACA5DFA5D73BCB6B49E45933DEB434D
3554 1FCA44ECCEA337DFCD86364149D4510A4685FEEBC8B9059C1FEC279FDCD7F84A
3555 547811C9147D26650C0B29088D9ED4CACCAC229B316F34CD68F3D57B834D3706
3556 21474D9F1EC737D4D76700001E3959B3FD7F0B7345ED97C4D4EA6ABDFB3811CF
3557 E640588456A20EAC977AE815C6CFED5EAD8CCC697FFD55CDF191328EDDBA3943
3558 D9B221930FE7588258B7E7AC8EC824FC167DE912A6FEEBC4AF83C0F0CC4A0807
3559 F6153AA739A9CE36F2362BAC9A0D17F1E37A8C3AAFFC75D54FDAF8B91AC0E4E2
3560 F6E3C4D2090E4799359BA62B7972D785F3E30B36A75938A0ADC9110E68500802
3561 B68AB2E612934FBD68A160E6E2BDD5202D5D2C107F794853D4F11830D51BA31A
3562 8302FBB62F7553394FAB374F2CCB4CA8646BAC53C734C80646C22B3E25150A97
3563 C36F5264E5EED52FBAA3540C2FA11A6822D015B51441585635FED3C74C4CE91E
3564 FFFA029B758320096DBD9357689522776BA3D36099B43B7DEBE46B8384E89ECA
3565 4DF408F1FF143B5C33F5DAAE8D1F13E1CC892D900A157840521F2305A4D5B07E
3566 65346CED266DF8C7D805CED2FA3367172801E8F67D99286D935B4D7A917CF147
3567 F0E78EFB1BF7231F7D5715CA0FB5F239683109C28238000EA030AB3BD747A877
3568 31C8AB4862DC5D3343440AAD51174AF02DED801E8F2D087CA008DA4243E5A817
3569 94C6F848D589AE6F178A295D0FDAA45024A386CCC9E3EBB5D9379D7435258047
3570 1F38813A5554C1759BE598512B037E8A9B3897BBBD6937D8A6390FC3202EE2C6
3571 7E1F06EBD6DC8A43F393E1D9D13EF53745D6BA94BABC026D6688D3FE284F7E10
3572 C722BC61A7D1C75BE73B5C7876BD3B2D83AFB54FA5FDDB3C85BDF6B75ECBC2DF
3573 488A69F6D3279E4289E0AB12075A5A87BF813334FC9ED90C16614457C03368A2
3574 9F1C07BDD7BCF4EAB4E30906076E9C8A00B6332CE2B3583A0179158EE3B47CF0
3575 708FF684259200C919F327EC196B0A521CC28F0ABC679695D6F08C7D1ED4900D
3576 4C4192C93903DFB308771B5B18BD1499E3B46463ADB1DC7B1E3B3E541A26F319
3577 18789263F0C741655C8B6CC82A9C899A22591F8F7AEA6F5842B0B4CDF17B067A
3578 56AF0D1BAEB9956BCA41A0248627625DFAA6A7832A95D767E347E113D1BCF294
3579 BB3AA80BA0D9FE909EF203A366727EDABA192FCF94A08FC1AA69D5A362560B44
3580 DA43AAFA7FB29BA515F935F590135ACE52AB866968C73CA1A20AFBFDB794E519
3581 715455CC389E56112E7397FE0EE64A797C51881518DF2AB2A569B540B886EBAD
3582 89D57B36BF8BCA5C2AAC38BF1F055E6C3AC7222654D7D5B07C4E488DF1E5FE7A
3583 D503EE991CA890B3CA015A96049A35806FBC04B0C955CB2899BB787F86949C50
3584 1B3675507CCB64823D60A8C3C3586CABA7023590A4514F71F3E2581CDDB645AF
3585 ADA4D73A0EC2067C68D9F7595BAC73A6B18C963E23BAB59BB4E14B9552EB9F10
3586 0329C7BBD7A82A2D30449B12BFC2A12AE5F4976C39E30E44BC6C852B629F93D5
3587 8055997DD2350554100D37463B86E0EBDE887E6E185D3FA5A66A3CC278BA7F92
3588 56BCB41DB295AE289C153B986EA24242DDB570A737D396B5C8FC541F67527CB6
3589 8E39912664F786D00FE9D129A8490D63F1272E78C764C389DBA19B7E3C295F89
3590 BCFA7E6EC19842928081CBF951352E3AF8F26B0EA95965340473BDD2DA85DF57
3591 B3CBC86E854469D00F55114EFE7196CB34468B4E7AA6F993DCBD0DF81AA09B0D
3592 2C6A239346C5ECEE28D5512C9CBA512EC1F77CB578062AC44C0D5D37B474D191
3593 72E15F520E138C504A02D56D57546DAADD58843B393D6B92D2A4BD4DF0BAE551
3594 6474C8328FA037C0F2CCB678D84A6F6BAE535F8E024DC49172F4DAC731AB9A72
3595 668C2F2690E8FE264F67C74948333397C7F711868F4533A3A1DF780C843D2BEA
3596 4A1703CD0D0EEB2FA2F31C48B111E9930CBA40D0E6C7BD6DEF1F7BED9C13F188
3597 B2C4D06071D25F5B85D644CB58134325C48A7F225DE94066A0EEB9BA3BA90FCB
3598 66EA0195847F633DC2E394F3E4A759C47B2BD489923E06686E6143D5A60BF06A
3599 EE46E6A2113E2056179A725F37486ED86D2001902E463ED3BB5114EC6481DBED
3600 C7A94920D1BC6E4F182894F9804C087543FE187C886950F8DA179B897556032F
3601 85C3A6D4F841B9D2F4A2053BE3C36BD7F7E0E37DCCEE78A44A82D21B2A9AC749
3602 604ED9AC037192C7A8539007846A7006B7FD7455BCDE6451C7D0FF7C098E9ADA
3603 200A2F67FA27A8EDF8E826C4B705A3F94625B9E1CA720F70EA9E1D7A050BCD32
3604 F73DA928F185EE9A3B26FC4A26681A3845972007ED77487A76182C1FBBFA8232
3605 6AD74B4656C4C460D2E8FBD7D021DA5820DF3404A772567A0C1094458D6CBC4B
3606 0365D2600CCEFD52DBCF8B03707076B53A0DD49ED2745F2805D4FF93B4E46468
3607 9EDA467BCE98E26C9598FF3D3232962F4B1E3BD3C21898CBAD7780A1286DDA3B
3608 260B73444594426AA84680EDBA6D2587F161DFF4D0B6DE5B4CD287090BA3FDE7
3609 FB6782CB7041BE297C9408EA308D9151242BA45BE9F34645FAA03B4313824C52
3610 9F0D1CA3D6E112E54104510FF7C2C8564C81A896D4033BDC77BB78AF8801B958
3611 C3EF687BD315BF04BB08686E89B83C7189FD2870DEF5D5A5E9778FF8AE642710
3612 92B632D420E8C6A33841B5BA158C70B498BF92CE0256CCB7569BEF96174D7A3A
3613 3E310E2D132D39AD6E3FA32F586E1777609B46B4CA7CCA1E73D6E055930DF805
3614 E9E0D80930532B87A67C7B53AE0525B275B33B3EC6B10D50B1CA0ADF231C4B7F
3615 84E70C3AB1DBE6A8672892B574643BF2D651A3C0D20D49D8B3A056D5223C6BDD
3616 0DBDABC505C97DCD7D001465B900FEDC185AA276798997B29778E8FB563A5759
3617 A7D2B25919F306EA52E81CFD0F84513A81BB16DFA8521FA05F2FFDC20577A584
3618 8C76F8C0BB64E8F1D29FE4492DDAAC2CA5DE251AC94F31B54E17E5ABEE007A2E
3619 A199784B918CD227CD623F596DE6DB163C2448B419E7F6BB8EAAD4B56C9B056D
3620 D34BA042C141765B69EB2B9EEC4308A06F7997393943AEE6E97B7B16DBDB7A61
3621 3E877D71AF6A217FD51D3A3B2B9974E1C07CD2B9EAB90680EDC43BB61D42FC66
3622 D1AC81E0662071805C8599C5CA2E53CCF0854167E9D2584051E1830A27D593D6
3623 43DC97637E6C7953C85EB23071770203A105FFC15017A8766CF410CE1E322CC1
3624 F84A84C4B3CCFD59F9A4F10D62FBB2F10BD3E9FBB4954B05C74E18E4EE391F36
3625 ADAF1167090078A52C7B508D30B71F8CA174426954D63571622FEB44827C3965
3626 C37D2C436C12513B8B4B9F17CCD8B3FC1A48B74D13CA3BD42E27C3A58F44FBBB
3627 99C0F82BB5587A1F5BA8925F4A507CD3E3ECB4B3DDCAB318412885D5383B95BB
3628 C38FD1FC1148433A44D4CFD9C8ACAAA2585C32C07FE3E7971A92C1BD5B9D06F1
3629 F1C88986F7DF3CECE93AB347E446DCE6431DF4C1909E0678FA31BD527C0475F8
3630 60FA9D4BA47135BB128D19AEDB1BC219CFCC3F2D864BCD474C4C246232407D57
3631 F114A924E1A6883CB8CD17C41BF64F54B48DA3D12697A547A10A7A397D9F8C96
3632 AB822735DDF19317DD0CB1DF971A7748080D2E85D5C463878399476CA05BC3A6
3633 5998F9E32BE85D70FB0FD7478EE3B5540F93EA522B2D8B8153E8B149A94186E1
3634 E2861C7BA485DFC0FA6532E5DD31D21946A1EE5E1E8DF867CED44044004EEB95
3635 9A9511A73F242533846CB86D73CE3B32415E2BBC8F0FD734F97F2A141E13ACC5
3636 0A58508EEF4DFCA6C3FF38527A023080B5FC4E07B2A13F760F5319CF79C191D6
3637 EFE7A5CBF506D6880B94DDB9507E35DCB7A1A33D077A0E41C411D94802DE8293
3638 35AFDE2DEB777A2176D09003D9063F3838A3D1E54CB8CB66FF644EA33885100E
3639 6F5C23CCA0C8368C4A7D344E17FA078A4A3A184F1877BF9B47469E1E94864537
3640 87FF2781DF55EE5F4267ADF4CF04552A0EF7A87899EB34F4A7FDC2C274084584
3641 12AB67C33F3DDECDA4EA05FDFA6741A7C283E3A91198CE78D035E334F0D051C2
3642 5A2040AE8AA30B371BE220EBF87BC41D2CB9940E8A5061E0D404A5AA6C2BF644
3643 24E976C72261325277291C2B2329DF51BB1B499DD363CCCE503D508E3807117D
3644 B3F6DE220C6226EE5DE191852AA21C25E375ABE8E18F7DE797A4DD1F0E753ADF
3645 AFA6361E42397D560D34D7619845A460417024FD7E6FE4D4D2280688E6262360
3646 CAED08E773C14EF7A0B6DEF54C3C1FC3B59F8AD086DC8FE24AA60696571F6926
3647 6863C64AADFFBB1894BEB67A87C1219CEAE29DD24B10E0EB98766DE6CD9B2FAE
3648 855595C2188FE35EF084756B8EF88938BB8DCCE7821C0E19D8CDE7AABE00C8C1
3649 D393AD40FA80A5AD5729B28E2BFF9548FE2523BDDAD2E12517A42A367F6F3B78
3650 6AC2404888E877DC048362550A9DC21FBB62AE73B76A08AD0C229909FE67B776
3651 0BD10187FE7193B50E87F17B285013F53B782E54E393E144EAF7042142267595
3652 53C2F53FA420F4BD403E77CD900803FC2CD6262105EB3EB486D1F6B544E2E8BD
3653 5F773F7C42460E74DCD84C97555CCF6F655DCE8017224D42C02BF6C02DBE2B5D
3654 7934C468E4A9D28ACB4427AC2F5798AEE119235ABA07E94D103820F9FA102D2C
3655 D7EE30B0EB37D534596F918131B2E6AB87190D6E277066D4CEC8A25537E09273
3656 7C6CD221FE0D8E75B72A26FC0F69FCFF542AD6B48D626881BE43B49A3156FA6F
3657 8B507413BA9C56ABFCF7370476168B979BFFC0C63DEC1B6E9FE317D16673D3D8
3658 9B11AC264619716199482DD5B264ADA88232FB1560166299B1DDBEEFCBC168E0
3659 1D44E1A3F0841E17697F3AE7FC74BBD9D78C45173866D5850CE8A5C1370DEB49
3660 5578F6A35B64F9CD18DEFD3CC0CBEDC199812AA30C2AA289BC996E0B776DB1E0
3661 63DCFBFD2249E617E1A1981FC618C49343C78CDAD3834C9EFF14DCC09A80A441
3662 4B0FEB1E9222ACEC39761317DBC9DD85B91A66B763CFAD8B31C3BB916A0BDD7D
3663 DC00F4F20056E1DD4E952C7FAF647A262C3CEA3E646529C61FC33EAAEC7A7063
3664 4BEE6BB1DC9F12C24D55E6611AA70C8637537ACF8BE22CD6FF5C950E99166295
3665 9649FB0581630E30E94F2468B6497898732A0447BBA37C61C18898B8E92BC136
3666 1C84B6CC7AC0E9278538FA0B397DF84B1FC6C521DBD57227B01BD671CB64ACC8
3667 DF7D906A6FF2A65CA668E6B4F96D822DE9C37F84FAE58FC9B5031199636BE435
3668 7F41AB2297702151228C692C33BBDD042387AC4752BC539F6C2142A0C03553D2
3669 86C8F715A683F7B913C7AB60DEEE861996012A55ACCB2109F55871D0DDC55498
3670 920CC69E86EDD74FA875B4CEF47BC965E93C9D6B872D31D5FA73FA6ECFFF15D6
3671 F0D501D094170E3FEE1B93277DF59121F1BFF0459562BAE186157646E24DA759
3672 A15FE58AC3E2882E1C1E99D75B43E4815BFB47CF4CB572118B3B338FBCF6C83D
3673 4255CEE21D30531182AFDE7A4D16E9A21D53A098DB0A2FA4F15C36A0B567DB77
3674 EAFFA9A01F89A50AB92615003FE81B4B18ADE214D84D4584BC5CB6B627C9873D
3675 B04F02BBD87BC7A56EDC1E1F674EBB2A83933C6CFC65E36BB73C430428AD4F97
3676 FE9FB2283B1CB18F9DF30435627782D727E06BC573253B70A0B8786863F4B36B
3677 38495B6CB1C294F0DBA4F4C457FEC6E7BDD42A2FF5AB3A3D7F94F5AEE5A4C343
3678 D41584DFC1786A3D4B865D3A058A9CF11D1439015B790C6BD30E4092F4C03CCB
3679 7E90CFF1EF6C83EA2753ACA6E802DA69685AFD3E1965BDFB3868D6886203321D
3680 BDC30672439942062606F5EF5C1DB56E383ADEADAEE4F9E07FF901013FC15867
3681 D899A6765A4D0A1F642077AA5744F67128A0EEA3A0CD2125C5C959DAE809A438
3682 526F3E6FDE4700472B80B4E82662B766EA4B0E896E4771C21C34C648548E30B8
3683 47CB353BED14542B3C4DB6A9FE0C59CC47BF5278DCD835BB564FC16F50EEF391
3684 A84A466AD400821671F0D3968D260309EEB01C77174B99C731BB49BEDDEAF480
3685 9C580C8A7AD33FB8B34AD2C887C5A840D336233E6706AD310D4FF61C7861F2E8
3686 267A2B6769201F5029425337DAB04A38B222B2A6B473E13F920014B614E66794
3687 D45CD194B848D30430E6EE0CF3AE7091AC184198FBFAE67281786C0246D093DB
3688 78ECCD5F93DC0882169E386D597CCED9648839C22A963E342DA822B0546D69D8
3689 03CDEB885D05552C0495CC6AE521FD56021F6298776D04BD6DF8FE6BA43D370B
3690 1254409DFCF51B04F1F6B88C926F843C5CA995122658208065E7FDD3AB7D5E40
3691 CC660F951E266969C1D32EB58E157C2F10487CD1E8B428847D26BAA62996DADD
3692 B3A54D14E66ACE06F6E1FAA0DF08C111930E3077D5D0B061F93ACB2870644A13
3693 608983B46D1F10E8BA99F7B74363B5FEF6ACA43FD764653A79423AEA1151689F
3694 7BC5B77EC26573D86123B10F2771465C93DBA9F5F2599CFE02836EA4D4509510
3695 F7E9205567AE35CDA9EE75FEC1B7AB469E89186E006A700CF4C698EA600961DA
3696 9CB650C160DA9EAD80E94DBD9C913B8569D110556AF5B0BE877F5DECE4707796
3697 104B9D0CCC76B3464BB1289E1121B10CDBF685128FBE7BF6A66B63B42EB21BE5
3698 5606A0BB1E71C0591428F1FBCDADCCF616D0E4E5F93674F3042ECB87DDF94B39
3699 C4133091D20794EDE6D4EB19CCD133241D3D1462BF0D31644EB99CD644322D36
3700 C82D68B2655D09029FBA1C4BFD821F8455AD97BE9C213F785AED53ECEA4CFCA3
3701 DFF5286BBA18574F15AF7FA86845E1C40043ED97C74FCB87920F08B66D429DF5
3702 958E9B8EC0539FD42A375114782B3E87990426CEC47A79D3FC0E4B5B8FF055A3
3703 16D7255CE740464829E8C36ED5FA5C39AAEC755738FA87061CA29EB840453542
3704 494141EEC350FA4E182ACABF44DCD299403E92BD6E2B7F4BA5AE47219372406D
3705 B8B55397CD40D3EA1B7FBF23B48665EF1BC9DFAD1D92A4FA688BF1E231CE2627
3706 1BD30FCA996DE1F27CAAE3566E507B9FA8E7F9F9D063357BBB9639128E181C4D
3707 B4654870114867776AC38D68CEEBFF1300674C43D192D5660FB43C933E2F1FD5
3708 8DC709BCAB08F20C140846AE83A229C69A66B973EB0E08A6EA92955FDC9A5C8B
3709 745C36DF0A3B58204B6D54ABFC4F1857649B51CA7D42DEE711AF2976E41C8B0D
3710 9B27272E90D29A9FB1918D4917E6C68C9453A6908DDB3898E561A0D45DC3A941
3711 AAE9F35ADEBB0C114CFEBB0FB9EC75535E6503CF75726C5799A9C402C055196C
3712 C1CB340F707640C1833CC6BE6114C6068AE1287C25303F823CC4EB03CF462D5C
3713 505859FCE7B846234857A5E39497162FFE85D91B9F88D85351DBEEEAF9E7BE10
3714 0145164A7E2F86DCC22CBE9DA0CAEF09ED2F6DCCD806E071B4BBB489576236AB
3715 47587CBA6296D0E67D2DB547EFEBC376631310D41D832700240D721EF48213DE
3716 F87C5CADBF21FA30717F5B7F2811257DE8B701BB97E701AE929D74BB25A37A0D
3717 C84B02E9DF03DCBD770D3DFECA04CF2B9B4C1796372CE86272BA7259D8E6BF76
3718 46B98D6F083B4B92C6C746DDFA686030C27670169ED532FBF7BD275F140687C4
3719 E8682F822E83CC2293A7BA082A83ED287279368AB630DCB0926C494E60667594
3720 83143B5A68AA3A264ABE0AA80BF9C4406FF37D0FF7BF11E6BD9991FD4C9125E7
3721 D82D2DC171F9A339958842E9471A17CE4157DB864B301EA9CC4886C16A88AF10
3722 9B00D527BA4CBBA69515B2CD6AD517F72E14AD08359F94E9FA273C044D5E55DD
3723 74411C4EA5F7381BDBE53A80D4236F21C9E01E6BC54751FDE57FD102FF5F744E
3724 402488D6BBADAA38878F1379E24D45ACBC2358824EA96343AE6BD85DEC9A41B8
3725 59945F350F6A5F7B458BF14D37C44D174415EE559BF5083B98C9DD1881C48137
3726 BF4CE420CEDF8F2027158545FCBD1894D77317898ECA15AA051649EC0C5C4CBB
3727 1143A993A4840C486ECC650C2606ECA241B83929C8B5444D40F93BBCCAFF8DC1
3728 20B2225916A26D1E6BD13E2920D9873ED1FF1C024AC536A583BD262AD11AD66F
3729 8BFA0E8D44126566C66C50665AF20926AEC3201E9C46743DB17F2F5D2E6C9603
3730 928CCA3909F0290AF5C505ED1E7F2C3D973D6390027CE47EC739BA39B2D7B2AC
3731 16DAD3644B6C015B99EBBF631C928BA84BBA4D2F9A98631F56918B7C7AE1AF5B
3732 223F049D786F8017304CFE203840F4C38AFA4413A8509FA79779C4005607EDEB
3733 51DDEDC15B49C5CA655FD1A42C754E33D07ECCAE5DC38DE2F2DE6C389DEDCE49
3734 7CA683D9270B700340C1DC8ED49D79CDE8FC9F782606F076AE39B4E93DA3DE3C
3735 DE7A805507D05C3AAD6227EE81A9BE0ADBF5B41412734F81A0977479E20006AE
3736 9ED00068537C0469E65DC14310AC60E093432A2C23A80B3D9AF19B0F74498624
3737 2A804C85C61D2669E755EBF18C9B49C1F6832B07A01468004083F63211654945
3738 B0AFA81B52C54B113E4C02A48E407B9A0E04D32328C5F5BBF220CE4CB62002B6
3739 A26BD5815E957170C26EB8E0C7249176E6534298D8665E9BA950E9AF628060C6
3740 D3C5187D3832AB67CB479184C029CB4E247E1827B333193825C2B742592006F9
3741 AB609867CBB4D4D6069BCBA0B94E6F09B251063D78D34EFECA22F1EB598E6C36
3742 3FF04404DA402439A90B0E7B6AC0D7A944308DC80B0CA886E4C52C16E7786143
3743 00A960FEB0455C09C977A8F67C95001637BA2DF222629A85AF82507EFF1D8D60
3744 7F2D599E4D361207FE03B09CE2BBDA9F6DA000C6963C46180DBDB1488B1B91BC
3745 7503F46B953C271CC23E6767F3603802ABD2F1EFD16903CD5713EBF9D984025F
3746 E7AE69B9A74DEFED678CD02FC7F6AAA928A9FE41E538308D86C7A1FF566DF186
3747 18D4A9AA93A29B042C4C82F17A13BD4063D39005BDE665E18C56F377F3B28275
3748 A0FE6E03EBE4336D6ED45D0BC3FDEB50138A2D1D2E2974F4852F46301819291C
3749 E30020D4F782DCC507F863B249E599F118118824E4F80FD5A2D4FDB1290F7B44
3750 CD52B6CF47ACCB85827F70E8961BB77289C06864C0DA2EEF6B534B14BACCD5E7
3751 B363F8E2D835BDD2DC773565ECF169736C78B45717C7F15E1DF3EDA6CD27562E
3752 7BC2ADC57D7ABE34DA9333680C72959CAE3F15E7847813A4AA93294DB135BE07
3753 E24137ADC9E0BA27D944500F845068E3FA73966AB34001E13B4CFEBEAEF7A745
3754 ACD6A890BCB7E3F3097204FF29B83FEEA020B94B89C6DF0DEAEF95FBF949A851
3755 C59BA1FB440A6F77920F0CF30A3EC851114036EB576B13EA8E7CA7E537375C79
3756 0BD11CB0D49E53B8D3346E65F970433109217E066DA8EB9A473E0BC0F4B9716B
3757 C1BBF9DB06E7B68F8626A1A0571085805216A40ECE7ADB68A2706458FE8534D6
3758 3F6BA35B06C395A3022F9B3DC92B41F308A6081C8D9692DAAC5EF16C36054EA4
3759 CA07500E4F73571B572032F05A64319E55FBD8C1762640848822D0B2FDBEBD03
3760 BD609E69B759880BB3E87582A6EF77226D228AFC3350FDDA2ACCB986C3D8909F
3761 E89CCB9A110FCA6E9B84B4F4825DD441CFAC99CE32D824636F367D73DDD96CC3
3762 7C979B5348647E444DEE51FC9B2C8B4FAD825D8A9540D3918DE59B14E854F2F5
3763 56B8B010DC7CB1E61A80D047C5FB7A1FF2BBA8CBD30A11D39B8BFDE56E108367
3764 EA490C95120C0CD32763D9ABB88D989A1BFB185DE842A0FD0A5BC5AFB8786515
3765 85DCA5B410B3E6BD38D680F9E229164F43C7A9A7F63906B21657AC0232FC8C5E
3766 8C15776DDD788200C3713B7EA3DA39ED104A9357FC5829F06833F660AC5C64BF
3767 0607A647CE8543D367244FD6666E18F5E5DAA5812F14FC5BDFC1B3E69314504C
3768 FD26C926ECD2ACE3A0B435E596DD252B4AE225AD269A6EA5B8F1DEC33D5E759A
3769 12009CC2CCFCFB1EDADAB2559E0B05813E2FA396165131988DBB4110543426D5
3770 6D4FD59072820589942C604BBA8D8E220BAF8EF2B4D9C4A85D68CC22D499081B
3771 3DBD86CFB4713963D35C40BE8E8F742EE769F0A3B523698C14AA758210F99037
3772 96AE4B302EA7E610FD28564CD0D371297F437575096ED96D2E0A618E6FA63319
3773 82814A4531CEBA16D942F93A85DD4A2C8527E486ECD26B290433E78012872584
3774 ECB2A28B009A9112D700DB3051DE032659F5CFE4E814870EB6FD8443A0D2DB8C
3775 8C56B07AB99E6018E698FE8A37987BB5718D0B8DB85BD9802FFB42B46BDC222C
3776 04BEC3EC33A776C86AB0AE072B4D2AC77D7012DC7D165A2EA6DE562D833E03BC
3777 10C1A2E1FAA7AD44EE06636B4531FEABB41D9784C838EF209B370755C6032C07
3778 0AA5D7E71B11F8774300847003FDA67C26B491ABEB2014E15DBA4A7504AD402A
3779 A8B1ADEA548E9A8DDFAB06204A88D3A88DC02B0CE714FE76160242974EF290E8
3780 E936B84A1E693A8FD4A8CF8EB03B5F082DBA922D5F8AED0BAD597353D3B9493D
3781 44DE2A70DF883D1493AF6E53DD96A047A2C1ABBA37AA522D6C433EFD9C246AA0
3782 CA0C39C28E5A8620E7D3A8E7C5E5DF8E7CA1C81444FEE0B1A1C11D5F030B2617
3783 64C4E2E5F884B008819477A4A25C01A003D1EA7C2382B3977A206F29E72370F2
3784 6E267B1B737E54AD2E3A46AB4034AF0F45486B2C5ACC5CD9F22DC46BEC85CC8F
3785 195F97FE3548E3F48699E138C33FE6D3BAF87A86389338F92BD7B9D46DADA2C7
3786 32ADC97678C470D4BBA143A3BE850E9871B2FA9F88A98490F7181985FE71D806
3787 9F969C3F6CE17C169EE6BA77BCD7E6DCB2138B96F96250EE54F275A08101983D
3788 BA6EB0DA7267453AECF07FD4A05CEB6C18B140B56D43063B9FE41D34419A919F
3789 63FE68175376A37680573648BA5F011CD5C1B3A365CA1DE54000EC61B2269FE8
3790 D8792D5D0846D7DD4563F87451364733AC4A132DF963B6E8EAF413634E0B18A5
3791 3C8E035CBAD8218238EA99207759099DD1C7B3AE3359C600FC630D980EFD1459
3792 6DF3E6D0C7088D175ED318FD77A3CBC163824A6131763A5CC7D69EF5BE5CEEAD
3793 15C657AE47B9C9ED59C11D3F9A6333816729FCDEA8984E9C62D89C55E8BA0111
3794 B38F1C55FA80F1ED43CD6E8A99A85C0D986CD63D7A4AF91FF9EB54C4BE6B6BA3
3795 DC68ED17462D4428EEB463F6CA974EE537603BA0047357867B7D6FF909D16A7D
3796 863B30C8CCC715DA743C830E3FB5B8D446DE2F483A6FAE31D961230F156085BB
3797 DCF47B4FBDAA5D7C3E039B09936BAD02A83E843F207FE6316E4E867A2D0F11AB
3798 864B589278CA3826C2A5081AAF35B480C08FAD42960772A3A84D45246021F3AE
3799 E0205BAE27D6F57F6846674566A177B3C61FF65AC8AD67DD15910182677E9657
3800 7F4C8E491411BDE4DA139457CD6E963FD7A4F8AC11E617E3CB5AB452113787E2
3801 52609EAEB8DF0219A922B6D2BA75366BD4A4D56310F454065F00BED7DD0340E9
3802 B1EB5880A0944D83A768006558556DC4236E9E6BFD804F315649DD85B7FE21FD
3803 8131118729CD11027D115F8DAC8E3E5DCC05B626E11C402B1D04EFA85D1484F1
3804 1BFBEA275DDB91EAFC92CDE07F06585A2CA2E45B2F0771C81B7E120B2D521B2B
3805 810BBEF182531F6A6D1FCA7E050081666275B0671E849197A3A2439A68D0E869
3806 2980575621D3089E4E6683BC5B0F91675E6822D769D6AFDD1BC49B9C46F209C4
3807 EB51C15D6A36EEE90E2C2710783703AFC3A18273851A089CC4BD24E73C3473D6
3808 6EDF87ACDC1BAF6A6455E7F62ACBD2648B31D0342100DCEDADABD33243780B05
3809 9658EBF8AC0C4C0C97A360E788F22CA1DC5E16731A4B3904E0517BD719888E61
3810 42E963439541544C40B02D5EABF1EC62DC8A1AB460A64CD8F2E17C88B06DE354
3811 72A918621D96D3971E1C8C2C20D335E044EBB5401D0942B95679FBAC3A6875EB
3812 2E9A16C9A91E844FEE73B2069616ED1FF6CD0A236D4E05A647BF40A3F36DE814
3813 83698FA040EA9394C954C7D329BAE133E767D3511A9EAA91FC3515B0700202C9
3814 9900C2EB443A4A8EBDB5AF22D688CF932E259AAD4F7B4194F457A6F4A0A4DF4D
3815 28B6D1B22BF68C04D5487C97066EEF07EFC91D0AED1FCD7F21E8B36182A8DB64
3816 C7326CFBD689C01548ED4908BDC306BC449871B5CA25367B241B0327D3D52AA8
3817 5306B8E413F7B41AAC950F7FD41791AC214F3930E6C752E0EE5F6218287480B0
3818 C949EF0FD7AFF859B7B240B969FDB167632B677ABF696C29223797E6817C00F0
3819 9175AB37457C4EBE6BD9D3DE0B078961043796044749534CCB7841AE32E6A4D5
3820 73B8698EEE1816752837FFF02097D4804D134A2D9C73E548EA49C519DB36B671
3821 E20F8AB034EA4255872E8131E7221A5234DA4B6824DC44FD54961B3E7D12D637
3822 CB3AE16B714B01064B5C7D1E47D9EB2CCB24CCB8B7DFCE2E1081189EB9C37CCB
3823 17803293DDB9812064D0862B0BB51F27CDB6C449CCC8E8AE79EE10B0F884C99E
3824 56AE2046A85685840825DF9625D2C4996AC86FE2B4BBCD0AB5654BB76B50642C
3825 44D29826895A25BC520C707BCFB234FBDB1D50A971532FA43FFBE2BC327D825E
3826 C6C23320D4277CD4AFDD95DF764AE71C5077F717DCBEAB3A470B393F9E623F51
3827 3B8EC6F643A7FD4B32CBD169F58DF49A2AB4E21D8F813782D19C4AC3E1F82192
3828 E400895D182E9FDD23E59A1C182C8F34B4674DC9D2DBF039303C10BE9C6B482B
3829 17DE7D845B610DC6C7565D36BA74EA4BCDB9CD523D472F0450107EE9FEBCB134
3830 9955B53C41F705B77D7136A4DE8078944F6D148A7670AEBBF23216215F874D09
3831 E80B3002B2943BDCFAC61DDFF54A75BD68511AC7585A473023B4B86D99F62A36
3832 CADD08EA72DEF5D507BFADC17F4063B33EF4DDFAFDF9F050EC3BCF5D60D1658E
3833 36FB130FABC76FC3CA401B79365FDA6E5A0E53F64E2B0835DD52A25942043086
3834 81337DF8815A53CEC9B2D4DCF06411B527F57B65410A157512CDEAF0BFDD47B4
3835 6A9C3EF427BF61EE6971DA079538C9E5F5CB5D3A3E8A5D6FDE3AC8CE009CA979
3836 9E4FE014E9FEEC8C64FDED9E91A72787D5597ACF77F48D9C367C6ABAD4660645
3837 9834DD6E9591AF4DAF25BAE0A9DE0A0EB3C0D0C58FA5DA7F5BC9ECF9C13AE9F6
3838 1E1E3B6C4D6D26322957562C9EB74E63CE4E071E0B9324B73B77B169B288FD59
3839 9AE28012C1246340779A60EE07B7B83BA5BA52F37B2FD880CD1D8339A763C880
3840 26C3025ADEC76C17ADBEE5894B470D976486C21E45C117B6F97822EEC0FD4404
3841 B631C858CF02EE61DC14C93CEE0C3B8D7E3F0022412E88FC7A28DBECDF0E9B9C
3842 E8492DE15D01C33C40868C87E403DF9D4FDA643F8AE5A8EDC3186CB5B38123AB
3843 1E52BCF14FEB159DAA55572478F46794B87BF4B6D4EBE2A7CD6097E7BDDFD7C7
3844 A09B9B2F77DEB780E450B46996A39D5B6D36FEC54DFC92AF9EC8AA39A207FA2B
3845 7B32EFC7C5D051341DBB146C28931A14FF97B88D79EABF62ECB5772CD8BDF486
3846 98C8572F7A2B0427BD6344DD24C811FBF58F3ADCBB382F2B981B6A1D7A94B168
3847 95887650AF25309E3F80D12E2E591CF21E51A14CBC1D5D5EBAEC40584671557C
3848 356F1D237B27BD9334F1D3AE54FDEB46163C98CFCFA59FE09E98769FA102096D
3849 3C58327A994CE9DE089678B152C54696760B12FCFA4568D5BD019DDA5CF754BF
3850 C3921F217BFF66D0C94BE0D701748889454B8CE370CB7BA298225029226B2132
3851 73046AF27EEA2628CFBEFE3B7327519572DB1D98DCB436C55910CF97F4D2A638
3852 CFFE1EA7D2AD1E6AA8A60D7A01D456D9071A4E05DD214017160BD9B7527CB1C5
3853 208B95B1C1167B73B496E69A388C9A572CC1E2630F056FD28E7C5E310EB199F1
3854 A9F3DB8B7933E1A07974E8AC3BF2A2EA83E3BD31589A88BD485164A00B326269
3855 B83E5246C8F0A9B9754279EC3814699BD625C5B144E185E7004B77B09E3A9FEB
3856 6AB3B582D47831BE4C5E4E3B6718086BAD6CDD4E3A33B5BA97FA69109F1B71C9
3857 7063990044E5C52D1F16EA176358663D08E36446CCB2399962EB895725332D71
3858 829639EEEF65A5D09092833AB2A0DD920AD17CF8695A47845E0F58C2982D6C08
3859 35644341194182B5CB95D90639D7890F53FD0FB642C3F68F08DAEC2764FB7AC2
3860 2EE8C885F3318F646EE6C8FB882AAF433417D12706D4C8F7374323FD86600267
3861 26449CA75ACA8C751C1E03A50A864BF138522DE36EE139E6FB481BA0E662FD9B
3862 9408809581C75E405454A0119126A2090572CF9394C4F079870FEECC5FECDC39
3863 1137CB36CE7B287FDD0F4900DD202F9C2B9CFB37C102882BBCB862E79441370C
3864 CB3C0A9A0441B505864EA1E6C26FBC5AEDD80E1742E9EA5F8BDAD2D1C7959DD7
3865 C101CFC8146FD0E32E4421BABA1CEF6FF7F2901F32A1529D491F5F75FE9BAFE3
3866 F235D76EF3C680895F48603EA230297B57280DE5AF98BD9FCB8F9016BC39B934
3867 EB1C8A76DB7A021CC765B631C8DA298F4361CA606E6210F32ECA5746A2522562
3868 736C76233E1B3EB513FB730AE49692A38CD271D364197F869EF8AF371CA347F0
3869 9F02B0576AAE5C7EA85C5C57B1E81687C2DF6DDF4A684DC1F8B1AF63A02F0F28
3870 E047ADB28E36F85DF552C86C118DDBD6F232747A349EB21AA41017578118DB9E
3871 0D4190BF627082E5EE6F9CC10E4A23E7BDE518A4DE4AF3DB8D27983037522791
3872 8D1EFEB424F2DBF884F53BDE6D10D93BCA36080589C7609F2E9B547D70033E93
3873 2DEB0E4D9F898AABB5D020C4BAE04344DA5B2A5A5E6D8A3604F4B3FF31CBB60F
3874 BB1AA1ED541BFC7D45E697D56373FDD0016A3E99801FEAD60A14F814B81605F0
3875 1FF0DE2B1C9D100F592682491E1E0D2D3641165E3147200F039B5ECB2B078A7F
3876 B0C6BEE369B2211552497992B57F0A3C82BFEB1605BEAC538AC1389C33223E73
3877 CF30AF38DECFDD22169A31902519426F07696E3110ED0FEE59E7B01B52037CD7
3878 16F0964E94A06356721AA529FBC5BF66C1B982D366A10DA06A4F6CDEC6BC85B2
3879 2C5E5315087765D235A730FC6C23FF886977893BD54FEA8C8EC2920286329EB1
3880 BBEABF2914DC7C71955D07AF7645AC5EBF08347C0E48083828F7078B52D1185E
3881
3882 0000000000000000000000000000000000000000000000000000000000000000
3883 0000000000000000000000000000000000000000000000000000000000000000
3884 0000000000000000000000000000000000000000000000000000000000000000
3885 0000000000000000000000000000000000000000000000000000000000000000
3886 0000000000000000000000000000000000000000000000000000000000000000
3887 0000000000000000000000000000000000000000000000000000000000000000
3888 0000000000000000000000000000000000000000000000000000000000000000
3889 0000000000000000000000000000000000000000000000000000000000000000
3890 cleartomark
3891 %%EndFont
3892 %%BeginFont: SFBX1000
3893 %!FontType1-1.0: SFBX1000 0.3
3894 %%CreationDate: Wed Sep 12 2001
3895 % Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
3896 % See the file COPYING (GNU General Public License) for license conditions.
3897 % Converted from METAFONT EC/TC and LH fonts:
3898 % ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000.
3899 11 dict begin
3900 /FontInfo 6 dict dup begin
3901 /version (0.3) def
3902 /FullName (Computer Modern Bold Extended) def
3903 /FamilyName (Computer Modern) def
3904 /ItalicAngle 0 def
3905 /isFixedPitch false def
3906 /Weight (Bold) def
3907 end readonly def
3908 /FontName /SFBX1000 def
3909 /Encoding StandardEncoding def
3910 /PaintType 0 def
3911 /FontType 1 def
3912 /FontMatrix [0.001 0 0 0.001 0 0] def
3913 /FontBBox{-229 -316 1737 939}readonly def
3914 currentdict end
3915 currentfile eexec
3916 D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11
3917 69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB
3918 CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89
3919 F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3
3920 F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C
3921 EF25195F68A2A98170E4875AA1B1ED6A435C02C357D527BF5BAE9F3163F8850F
3922 4267F16F7320BDD6979C2F8C665632114CE1D7FCD000F5FBD3E05848929A6E47
3923 97361D305E2B3EF0D3289006D6D4A92B4915A07861EFFD2EAD6D0E44D7F2BC50
3924 0393AB5D4E20487C48DB19B78C49FB68EBB7ECED723428C77D753A22B7D69614
3925 D9508C82BA58E2D874CC9F68A68F2A40B655CEC8A6308B67DD6ABE39F97FAD75
3926 03DA383F4C166B7EAF7A3ED4BB7FC5E6B5D2832CD0A6587B17539297FED807CA
3927 ED127D2F0B4D1835845D8E3FA03981EE7410C5EDBF3C000051861E7C98A1CD97
3928 D8CFEF6B875885BFF5832E8FCD91B4780EBE0E908E59EF5D3FA8CC9D67787EB9
3929 9FF5335E365F2B9EEE281ACC85039C952D301529C2A7B52B3A174115FDBB2268
3930 D98A22B25EAAC4F57C64C0C1DBC34B0FE96C1D9DAC2B7FF6749250D8502C5C28
3931 3B8CE334C9E727CD19A3AB4FF6D3339E7E9C3F43BAD7A78D4C7113CD45530995
3932 E6A70147ED0D3BE8A22B346818368B4AA3AB2ECEBDF089D4134F08780B4CE5F1
3933 D96EA7AF6FC84DD5FDF8C9EB273059C87A568B0E6B0D41B1745D6DB55C621F11
3934 5E7797466B74ECA431199CB2C9D974DB020DE52EB9C39B2CE83FEEE98D229076
3935 8C6B6237B150DFDDCB233858DB62479384302233B6472BCE3E34BAAE8F821E9C
3936 4B6ACF55A88DCA7FB297973FA132DA117DBA2FBDF46240FC15D46DB4FCB96755
3937 9E9C14B62375F979564E382E27178049229726B25B523D85FE7AFF6640D96F18
3938 3403C13DD05DDD24B5180D80ECF74C81954C7821AC143BD93111D71005A1FBD6
3939 7C615092298A3999D91971A3E4841EFF387D63DE04A7FC6C0C3F42125A265178
3940 8700B06BF950F0BB85EC5565D2B6DF6127C88F95E7CA7CECFD9B5EB798AC8C81
3941 69AC63A5DDFBB21C65E834A32857E87B26F55C6A3A04D2F4FE43712AE621EB7B
3942 3A41FEA633AE6C255C3DE3E6ADE060FDEB5853ECDFDDCC291BAB41ACCA3965D6
3943 DCA522F2F7B4672DCF4496A866D0CA9AE765D9FA7F109D48200F1B27304975AE
3944 22EBCF83667D6020E5C386B73C5558A6DCD6B2610B2409051B50D96F6770E10A
3945 C01DC52ED2F7C0FCD3F856A576DC0226D9DA4601DC0EDDAF6FC0435941218BA7
3946 B624DD7B0D12AC1A02AAE3B3DE3710FD88E772B739B25E76CEFA67FFD2307C24
3947 989C63486A1C2707BA2E8472913812F057833B9CF82083DB972445723D58924E
3948 29FC0122B3ADC7890F16D8A5685D5D01E594E6A149CF8CB53B48BC458ECB2A82
3949 FECCF5F8F3B70574EEE16E4FCD64B1871A07AB5B9DB1BF441245C196E8941240
3950 C40D27F44926D8104B0B4913D76369E12A6F3D5DE9F1E091924807BA88A85AC6
3951 13D9D12955B0B8525A259E25860A349D330D3A36BB872A5581355CD86B964ED0
3952 B473BBEE6293C1BD55B46A5752527C5489A603AAB1A2DDB6BE67999EA3548ED1
3953 244595F85A709F3A49CA746D4F1661CBC84D060D9935D579DDAA29F3CFB26A47
3954 225CAB1B0F800B9746BF9282B91F597B7EC4185C67E0DD7100D5A9A4D384EE42
3955 DD8C3E9DCABC41977A5C7391D8A704B5EF5B40217B65A234A2B1C7632FFB170A
3956 4F09115ABBAAFF5F5DF850A2EA72787B5D7DDD659A89939454E39F0516BE69D2
3957 8EB001A4C10DD56821E575788EB9B9FC11AC5731C85E0E21D35F4582C1D2AB04
3958 CA1DF98E691A598C6AE6FFF640E27990D9B3768E586FF7ADCAAADD5727EE4626
3959 080575D2622C28AED0B1206F532738E49E191FCF03969D22D25C9B9F53F8489B
3960 DE53DEB46D6730594F037D53AFFC4360E8E499DC2BB1DFB01D38512C719A499C
3961 1047C17CC9CE98D7660AA11961CFBB8504D3F38D0C2EC21305870052DC3577E7
3962 AA7BB7E20372BDD4275F150B5773647BFF7067EB2B1778D60A2FD97E676C74D1
3963 B1215B979BE85082163E23939E62B8A87DFD9C447B52717689D3FE52ED8D539F
3964 62B1378118351F048079AF59F37815ED4F2F36F7125F839EF30F1738FA5C9473
3965 CD15267FFAF5EB374EB3EBC946CF8132B8CB3985C94EFBC3A6B5A957257A035F
3966 2CC5791DDF1AC75EF70DCC9FD9B1F3E105BBE7B812332BFA5DCB99A9757AFB86
3967 7B901B12150300395674EB0F537B091F853670C1D55C0D0DEFD88036AC3BE915
3968 8CE63745BE157308705CE9FDDD209B70104DD134B242128B907F82CA9CA946E8
3969 4E8397A1F255A33F46560972CCA137ECC98C6AC495CF186B71F0EC9E0CF757C2
3970 3DD7B59867BE43E3B2BB0F67B045A5B7D96C8F8D5526AB3495693335400C1598
3971 EA6DEB7F493D031928B5EFCA1B8E2267CB19E7D22396F680102312F5785BA585
3972 3AB9867BFA5919E6007F73A55F7A99286DD127CEA81A0B450AED0CAE4D67873F
3973 6970BC9A18AEECA614A023B8FD3A9F79F4D9BA458A0FEDBF78FA92D59BC869EE
3974 885E16DA2E1FDCDDE8ED2A24847A04449975FA46330B0FB88388CE7F0BCEFD62
3975 23EB09921F1BBF98DAEA35F9B7A7F749D18D595F893768E029C38A03C1C2C9C0
3976 B036205BFF4CF36D3A1FEF1DDCDE1C4BAC6EC9100A418F1EF051FF13ABD564E9
3977 B4783E12EF083EF1DA63C7FDC8FE13C719850266322C56B92A71A725344480BA
3978 2213AA1C51D4171102B00E1CCB947F53CB1955C7DC880A6B697FD6D3AC088005
3979 6BE2327E61399613904A8D3E94D3263704F53CA8D6AD80F7656458B5D063BD86
3980 16CE476C14142ED134986229422526046B27F59EF498F009D32E9F6C460C203D
3981 7DADC4AF3BBD39F425F612E81F95247E153C354CF557E5864C1331AB9B3BDDEF
3982 F0232674661527E2686BEEAF4C2359420DCB24BFEE759AAF572C4998A01B2808
3983 70B95BAE5DC0D609787BF39D4887C9D95B0C3B9E32C1858EC0BBAE6122C67D5B
3984 184CBFBD4956586989C46B832631F461AA0478A6084C4546FBDF429AF6D78860
3985 50E7E05469724224D49598FCC751B525E31B3424DF58E864140B729364F831B2
3986 6C86ABBAB1B44155983624B4A462342EDC43B75515C7659888B87136566A8993
3987 B40E732D367DAD371A7D2482954E1CE0BB20C6CF57243C0FDEE72D852962B8B3
3988 342044FBB0E098A5CC9AADCDF99E3A24CCCC0CDBFD01058D5109B4531480BC7D
3989 C131726884E084BDDE74E0B62EF89E0062A367510B86B302503EFC280C110EDE
3990 24E99204BBCCDA01B015F3C1C75BFC7515A6F2E2FAC669B2451341FBB860F23F
3991 1C35AB0BF2685FC3B1C3790D09B18DC2C879989FDBCDA831D7F36A7B3EF69087
3992 54242EC818994BAFB16A9EECA3EDEB18CEE6EB315D9C06C26A8E4F549DE646FB
3993 F887214408D972CC8D7F4D698594121EC2C5D4ADCB3FB9A284388D560D604613
3994 C61F0DEB96F83369EFA5386E4AE04084CF47BAC2F45DC41C003B05ED038B66C6
3995 CE38A9751D4A07BDB08E12D6C08E97EA3C8C9C81335BEDD3F058E6A873DB7BFC
3996 22A20739770A4AF9942732B3312A2E70F4703BF1B99A6935D0ACFBAEEF071BE2
3997 38E747808AB281B6828DE2AF19A6EC7D2CCA6C0BE584C794A3B451E6C0F87B4D
3998 9CFE3440E623210D70BD6F1783261993A852F4AD90CACB4DFECC177309F15691
3999 BFE521DE1DA42691C826AC1D03953F8E722186EEC417AA6A483BDEEB4E04B744
4000 597C49AB980E868D345FAEA70AD6ACE460FD1FE0C16680C2F4E22BE8703CCF6A
4001 F25C1047871E270F4981DA75C1A850A7C60B8B4A6F4504FA9F8BCF9EB0577957
4002 ED6336562197C2C12BF63A091BD9DDD1D94EA4193C1891C438602D45B9DD02A3
4003 8DF0A0D6AD1B581C6A90FFD1D96BBDDCFA4EA947314BA03B5AEE4BA546888948
4004 4D6853199AE2534E46917FEB01EA2C3117E5105176271E816A307622B56F79FE
4005 F7318B5FB10E65339C65265584EA986747BB10894727895355279B646EB9B00B
4006 0D294C6A695316877912D30ADC4E845F6081B538ACE2E5B26C1732D6E0377379
4007 D06964067EB0AC3839D7830EDDA635611B705D61C428B623D5B30C2251A47687
4008 C11CEBE50FBA2788525AA3F713B2A451AC976827E5176E8818A4E527ED4B217D
4009 FB9A070D3419710D63AC0B470EB5FF9CBA9D1007886C4663E7444555643BAFFC
4010 5724C4BF2116006762D512F16CB6C0A8413227FD6A584D9FB7982A5674BFD29C
4011 BE1CB7DA8AA752C168E01E794F1AEC58E826624B98A19C31B9F51288987DCC94
4012 BD5B95040A4F6802CB88A0B966B6BB0170FD548D2F87DEB754768BCDA1771DC1
4013 7542F017BA8CC06CE2B1D1330D163CF0F791869BD0ED7AAA3C9BBCE570CAA2C9
4014 47291DBF4B8E02E2B1BC7F74D2930C1F354F53EE652DE45BE4BE0F07194335C0
4015 6A0069BE65ED5507DBE72FFCB323908F04EF6C58A3EBED203D8AC3B654D95E6C
4016 33BCF60A4545E400FD3C54002FDD1DE1AB5EDDC5A7536032936F705A02453314
4017 FB5E0E108D1A9FE9914999C151F941C7D65A7C62F7A61A2CF5EF9E8F92A52E6A
4018 AF677B6E0088B5786E791512ACD6DB9E784FB3A4EB6B2A404F1C77A65130B00E
4019 6A7600ABDEE8E1D8CAE8DF97BDEDCACD957127801C3B0ACFC5613463DCE00C0A
4020 5FD565EC29CD1F6A46AD7CF22493492C9F3F5457AF842764D4B737D0DB9A5DC6
4021 7A3BD01D1049073A5ABAA502BC592C69E8030D228F5EB02D553CD0A893CCF96B
4022 FCB85BFC9F6CB1D05B7DC8E54E39C0092C5C03983B30DCFA044CC984418398A3
4023 74BC406EA95D70AC13C9247F52107E189B065837D66EC6887967948579B01EDD
4024 51BDE9E8573AC11A97673AEE0F118733EACD30A472C56E3FCFD53910FD858B64
4025 5C5A7CB1C291E43DF48AE376D33D65682DF00E20B2B90D74B5C4A7316B6A73A4
4026 ADF8718B3E30CF0797DB47DA2DEE53F301BA889B2ABD919C5BE2F6AA3B689615
4027 E41F41B244122629F3C62B0B2663ED14D7385421E27EB3689830029943091662
4028 EAACA463042E4CBBEA210077C87000FF7346FCB4163D7E927764CAC582CEA8D5
4029 83EB007CAC8185B1465A7BD8631FB4C962301238A2CEBEFAD20DF4F38BEE8DF1
4030 CAD60CD3711881F22EB2AFA71DF52411E555D6B89E41EAD591C03DE559CDB7A4
4031 5A9F1DB9353D228E6D2888C2103560EC8070F2BB4830EBCDC6C43CD2ED327CA5
4032 34E449062A14FD30ADC1A6B6D621B1A7AEE1F42E336E0D94CF0B311AD1C46611
4033 71D369639D1A4D727F3EF075B78CA3347898197A9A796A9F6FB12FA3DBBFD9D3
4034 BA53873F7E4A94CDC213C3355989AC464FF6C8C380A99E72CDB3362FC1150C71
4035 BBAE43D1D3B3A4201D3BD6895812C803FA8DAC277F3583821D40C3B7FC6D5EFB
4036 687013B820E070C91B876A4EC975F714B0DED88E90FDFE976BA027B723C8751B
4037 17494679034F4C62FAE3C6BAD0D2685496D7B18C73D8DE6452A75DE120EE0E84
4038 4DB69D8D30C28D6CB931F454BD990127772553F11F93B566794C06DF25F29002
4039 B5F380B57A63C505C2A9AE8EDD0D34A23DDD94A8880E6E7856E039089FF51807
4040 38501FD813B9B218D9080909A80CCCE3EBB841B3954B5EC41B3C142969F1E8DD
4041 21BBB143696A69654DB9D15B3E64876B327A49AAB863559C36ED0146978DC383
4042 AC6D70EABB20314ED26DF66B16B197D515100F93AFF4095C0553CAFE81B3D412
4043 7C6EC5539722361277D11112A1A5DA3DB7135A0CBD65ED0410133A6351C532A4
4044 FFD42C6568C9A57E7B274A1D68EC55A7E35C0316199F508EB12237E29B1574DF
4045 C7290036D77B5B4B244FBBC13ECEF5F5F5EE9648134F344D719E1D3195F7A498
4046 F164C1CE010E8C707D2B98701285BCAB925F447DC5FCE4BA16089F47283B9822
4047 0A6F13898418BE6B978EFF50A3CEDE442B5E272F918565B490D89925D13990FF
4048 CDB7D4F86650E24A4D6263F66798B063FA07A6A0EF8D4CC7AA731EA2E6E47EB9
4049 D1C2DBC359C7006ACB6DDC5C3F0E5EC0F6AC2DA72E6F136F5BBFCE6D555D7C12
4050 AB3E3D1F7E648BE13E848A07FFF1BAB3C0E54C80D2CE793BB176D49643990B0F
4051 D808D09F803119979E42BE4434CAA915737737C5A9037A4D1265F4E15ABA26CD
4052 8CAA224C0C7881088CC1CB4A64545F979282A54E58F149C2EEB290A53F58D807
4053 2503462480321F848C1A517FB07BAA2485EEB70D5F6429129F16BD5B2EF37881
4054 F7B1C7BA5B3BE1A3923AE34B82BA18DF97B944989A42B9B3C74D4E85FCD8DE3B
4055 51D0F23D6E1B51551C93E9882F3847A9C3051D81060208BAA39987EE882F8B8E
4056 7D0951BD9CFABADE0A5A2972A7E738E9BFC73E314D42EDA62DCADD46DBC00C0F
4057 17D72D348481D522128043D34A694FC67C6D40190A58087B650DE011F5D0EB24
4058 3F926513AC079FF9FB9E0062A3ED67A367669D0F2F8EF9B617E8BAA7BFFEB16D
4059 C6C92998DCCF223A79AA5549F5A4264BD84D7FBEB186853E35EB578A31823AC0
4060 707CAFE783452A7DD0C7F091D18238FD616AE43A3219389B0F4D472E8AAB7FFE
4061 2D248945015E9DEEB9EB254870B3CB9AAF49B055D326BEF43FC3D0E84CA58686
4062 956DEF8E657D342197311EB2A3A04449B082DC068BCD3B6B0B1244D999AD4651
4063 ABBBA7ADDD256FB23C51A1F651596F7D418C75FB1DC7F93E4C77E5952539F63B
4064 477BFE1ECD4EE473BA4B658651C5705B1EA54F34A7E1261F493CBF04A7373F88
4065 2021FFDDAE81CDA4B3259CEBD087E7E26F3A5124B9D1A1EB74E767773F2E32BF
4066 5153AD6626DFE442621C7712CD82CAF8D083AF733BAF060FC68ACF427F7B09C6
4067 1AEE0B67BC4FCA77E4D2DE7B6799061D86AAA6CA373D55E360534AD3432832B6
4068 6CE1A4FE3F10AA42AE70B09D91F40DD67977331228E2108036EED1CAC857EF90
4069 39F08B2F2F1B0D4946162617EF76B3D69AEBD42C9FF312F1EEA3FD8787E3A60A
4070 CEEA96BDE7DBE7E2EFF13DE5BFF62141DBAA14A314864C999FF81AD0F206C0A3
4071 7558DB64D6F694994DEAF0039BF8AF0F4DB080412B93829018945E21DB85C691
4072 BF684CE84D9DA7EEE62F26C313F48E108AB27123C3D13C0B2008979A1C2B658D
4073 086C6B0B73EC73E764D05C45D77C3D743973E3640A47BE5FD984C7922FD97A6E
4074 EFEE66B404A9C3B609D77B3FE6CFCC959848E591F48F13EDF9F6703655E91500
4075 CB00E970CD3D408A8F314D35D77CB022D606E1C40495D9BFB5DA36B5DFB2495A
4076 F6CAB1311AAA2F0FFEDF86095037158D122737C891A8CB5A21BDFAB03F71564E
4077 E9A1211D5EF596474B486BFA40352820F2BDEDE6AD10F354EA10F01BD84F980F
4078 E0109EC357546996C6520011CFD82D3D2875B9D691F21F29C1EF90218D1AB82D
4079 8DC4BBB7C6F4CA08528C5E62F5E4A3920D8AD2F911FF42DF8F2251827A436F59
4080 B50362E940030879C263F53833C577B1C7014785CBF6AE954334D083A389BF57
4081 68A88C949E5790DF04847B6CDCD4F2140BCBFF313D2405BC4A7C2D53B6DB3825
4082 AB1F6EF67E49C52836CD711A0D13791C051AE216AE2F463715757CA99983272E
4083 AB35BE2636E7043E34E559AA1BACF8905084C826A85E0AF9CE7D435F733D362A
4084 D9789127D2DE397E63ABAF28FA6AA80BCBE8A09BAE1D0D877B103C1AD2C68CB0
4085 9BA92BFF97CA0E374BBBDA13612D8ABCDC3C595AA32928A75D21F864EA5B5536
4086 4905612CBC86CA8D726588900C4770B49CFC301D2A8F183D547C8A15F72065E2
4087 24A2B7FCDD44935869EC0E7F547C47DA237B6439575C23953D5B8A1120F41B88
4088 F05E3CAE99AE48F8EDE8ABC0A23F8EA4DAE33E25F9FF43F619151D8891987185
4089 9856A0017E282A989F9C85F4E2BAC9E7057ED72689500DA3A74C92D3F5BE7F28
4090 A69AA3DEEF21582A64AB454981FD0F073893BE9BBA4437173CC6B415C95D7951
4091 FE1F9C3465D1E455A4D8FEE85D7A9274125077030D01223748B495A817F99137
4092 847A2850B8223F3CA08C650A066A2B2A7FE9BCAA3B27736434EEF85D57C2802D
4093 8C70411208FBC0087AE93AC430011A66439226B08264533F28AA914E3C26F506
4094 662A9A2DCB58755BE9545410F42E9692CF35A68D07749746B517A8B27609E86E
4095 93B155D243DC0167B40151FD539A64F8C61C3368DCDC18A9E14590A37183F7C1
4096 55BD4B049BDD6507102DE80EAF9D91773944A2B6234F964715719B27BFBBABC5
4097 0D990187F1DEC4D092BA631C1B78577BCA2CC757EEC498FB0DE0D1A395E7BA2C
4098 FDCE93470525FDB76FE51C6A106B9026CCBF6CA999B4ABB79E370A68B7B05E2A
4099 8E407796A4A8D5870507907507ED492B8DC2BB8955EEA9AE15487C083764A6A3
4100 F499993E6490F4742BD8EFB6A8D5CDABA0F78067D13EC304269EDA7C63CB63C2
4101 553F8D12679FF7C7A6053E07838BB78EFA8C0B8C9CF3C43908731C110FB4DE87
4102 25048A69ED6EDE21F7F33E6C50AB19775696F087A9C81E9DAC30E00CB788CD74
4103 EA72279194A4FCC106D2006136544C5592A41BB03CA0DE37EF131189AB779C9E
4104 0A6EDB0E4528B84717C2B04462D963487DB4410A7592FA8E408D25E6F76C9F06
4105 01606C988F7A504B643E4CBC6A2FB0B9F9F7704DCAA78FDB914A7DF0884F7872
4106 55C9853CE6A95CFED9018F85E7BA1AA70E9CC7AABA31994558E49A0197FBB232
4107 4AD992E51313D6BF89706FAE2CEC255B46491D52AC9428E88173DBEA327228CF
4108 763A68AEB370C4FB37F1E938735A7367DAE1B687969B3ADDD230A5AC0455DEC9
4109 92D480DE33514CEC5FA3939A2F969D2949345DBD2BFA8529653E3661F2D550F6
4110 C643672526783EB9199772A10863D1DF3733A1556A83E691433C60BDD4C9671C
4111 C48B89B1C8CA8096283E873E619E9826D9E2EA712E9E878FB8364C6956484CFC
4112 0BE8AA27284A5C2AAA6CCD404953EF5D8334D3451676CCD188EDB290D3FC1AA5
4113 8102E1D6D8F4804C18FB39B1F1ECEEDB6769AA4E337AB0CC12DF0DD89993FB75
4114 11E93FFF1AAA77F7A40CC2915A0EE22385A4C142635631351C904EB2423B73B9
4115 19DB354C980E678A52E05A4F981E33CA2F225CC71DB6CF9987F391E9377874A0
4116 0CEB3E26A09B3E8973D747BBB7C389C9D5F009E8D6FCEA7D97445C1DC9386DEB
4117 D198727EC807C9945A62CE11E32B57C8CB78B21AD5FE5AE831DDBB61185E5F8F
4118 6E4BD4FA361B96A9393F07513CEB97187D60E7A312A9E59DF18D17C58DB4E820
4119 A9C80C774B6CAE5930FD59B7FE382BBDBB1B17C84318DF8DA712C29B9741F98B
4120 94F85B4CA6C2B254FEF7FD67F14ABF132AF5A073CDB6B84368DFE42F76B0037E
4121 C0FA195AE6C3987AD991623645C99096CAB22425DCE7562F81C2DBC507DD0FF0
4122 089D016914FB7A7A67BA19A5203A130700959C016914FB7A7A67BA19A5203A13
4123 0700959B739B2B395C1E0F24AA5DB7C42DF627BECEE3818E1B5BFC5D5A5784E9
4124 F184214C7BE221F84B1D8C0E089797CFAB74C9EA606C2EA82FF68B0557801E41
4125 BD95E41C04BE65D8F3A9ABB5AD0567AC878EC44A72154FBEF598DAEB522214C8
4126 91F6C64590A3E6AC376F9CE84FBEF7C33C3629B20D494FCA2D6F70F747F88DD7
4127 A3611FD8734F6931BD7BECA1D8AAD4A0BA298D3E371B43BA4B41CDFDF16F7905
4128 DB2E021A1ADD96CF2AD3F92E0073DBE6781EE58B973EE3D87D706A3084DC06E1
4129 09B7766D81110463F8E0670B96DED9937CA04798EB526091B48A469C72511CB7
4130 465587F8204C92D069C84C053D6EC9A9491BFA234A0323F609E2E249D328BA0C
4131 1A9A37D4382E0B27C06DFC2064694B73BFF79E714D1C185323BE0798C8CF6B4C
4132 C492912F6DD4E2CE743336A2423DB957762E2539B03316D42097BA495C5D0272
4133 CFD9691201B056A8D8155EDD8881A363686169AC468290B547683B117DE949A7
4134 0FBEFCB70997395B3064AA2DDDB6529000F53A331F9B154190F1980ACD233D80
4135 56EFD67343990A15C6446180692DFEF6A2400E9E98711CB717703EAE4B5C88F5
4136 3908837FA899E3FB8440F432045A4E7D6A1512E1753B82E9A3484F8BC8073C92
4137 721C1ADCED9FD509C3772B458EEFF77051CFD5DEB9B5BF30D50A27D94FB18C8D
4138 4A590221B7B421583544B2968689F41631345A406CE602725D4FDA65D56DB076
4139 088824226C42E9F15385AEE03F083CF711C67C9A7AD7357352EFCF56AAB007CD
4140 23C51BC6D46016D2A069D9679CA59D0B142C490F5632EDF0387AAC0128FCB12F
4141 E2854107F555F26FD1B6498456CD0A86B9CE4053096A1DCF2E222E021A9C4702
4142 E3DD3984F1896B5F92BA93767C7B2DCCC4ED4925CC1A998112FD973F2B0453EE
4143 C61DC3050B87A7F448D78C3D67867ABE3D7565AF00908000E49A10AF3E4257DF
4144 BC3467DD5C8E1A2E0BA23C6B217C39816DE9EB8762AC1963F6B79AC874419EA6
4145 811E5EF31ECD686A274C89E24C9D72A1C8A2E60DC211257D4FB69034EB7994D8
4146 4A30CD314A0CB19068AEF9BE96DA47CE498402417E1E0B11E5A9A883165B9432
4147 DC7079DCC1547DA09F3E799B1324CFE6F8EA7188D170F922144CE6093AC5929C
4148 9CEE82C585FB738110F09D41CCA0471BA80CF1950164394011FCB599AE191A2F
4149 A2AC15CA290AF5BC63344998E91AC9C177168F047E59306DB3950258B6B4565C
4150 0706B3533DCA6D51E13D306C33EF6522555056CC0F680A66A8196F85EE79D111
4151 426CA19AABE1C1606DE9877F34B4C7CA085F788934FCC7298239D4ACFA29756E
4152 29E7F095EE86D9CDEEC4F304762316DC0A74717A3038F694FB2648B84438AC03
4153 B913E0DF73571A10BF623F5E29874967329AF01A263FB19A11FD16499C1DDBB1
4154 30E9AEBEA5472CAA52FEC5E85739E3F4E35263C2CF373D493491695DCE681A68
4155 91425F9EC80E10E4997FA62B90E03AA420FD66F655519FE458B8CE73CE03D8A4
4156 1B9E1CFC374583499CF35B170D171C2FA0949F9E045F16260302E56E99AFBEE1
4157 14774719C1EE480C7E96643BE03D7145571BA21A4D8821202836DFE33E7ED577
4158 DD9D5E944A4B5023060F377820DA5B791ED3993603E6EA87D6BFF3DBC9351631
4159 26351B2AA3D5A9AF0B2F8C72439889894BA3E5177C844B8623A964A9A2C4867A
4160 B5F06A1A2EBF4832A51D8B06055BCDB6D0874B35969809CA9037CE9E5785FF9C
4161 2E54953AF062485594726DBE4904FA0B90AD71DB8FC0922900990A1F03633FD3
4162 F9453F98FF18D1527B3941116088DFDEE316ABB0B90E9A3BCC47E1AC59AB6E3E
4163 9C2A8EAD86CDC5A9CB672923C0BE8961DB4C0D8DF694FB2648B8430246353464
4164 AA3C4C4253FAC38050BE7E1324AA6F34060329DBE9015C05B2CBF36BC4ADF813
4165 2D964184F8A49A49B13BF6C2FFB318E0E1A402946133978C24386CDAE4A80FF7
4166 6169C7A553FEF9E72F8363D8EE5207CB5D9F2263DED6737A4F2BF420D8624198
4167 6367F63A4473DEABBDAB04CDBCE462690A5C7442938EA8DB0EEBF1391E8DBA57
4168 809998EA1344B6BBCA77659475C7152BB289455E93537C292C8F30EC99B1BEE9
4169 E46BF4F1DD58F260A0BA126E159533355BD07B1FA96A03998A4C56A3C9F5491F
4170 56AB44A01ECAC67A93DC947A87E49B9540A8B0971025DC597B3832E99D2C2669
4171 47A3D48DE6D0866872BFE5E7A4BE75148B20729C387B48A62BB0D606F78C7AFE
4172 F2ECB45F5DCB6BFB8E3B400D051B27D8A0AFFE775002A6216C7E7FBE7E1C0683
4173 550D05A361FD3F87791958F60444405DB6A03DEA9C33B1779F2F949BAC7A854F
4174 D70F21487D897102852918FA0166D70429F89E407524D37B16D2C09E9887BB26
4175 4607F6FEDA55B0D7B7BAE9CE7EDB09A1387E31A31794F02D8A79B832965AA2A2
4176 C6DB953ED292A11F36B61F74C0E7599C676FC7A749160017493D2982D45745D7
4177 E498519DBA9252AE451DEE13BAAB50A1D4FC3FDAFDEE85ED44591984D9EDD4E9
4178 CDD93B3A26A436D7283794FB6DA109337DF58E5C357A1B0075FDAABC138E7F06
4179 D46E13E4E4BED42D309BA54DE7093BE51A00E29B7D9CB5EFE6586428F97AC892
4180 DD6CFCD9CF65AECACAFA997385FBFF2A7CF14364C17E33DB09507FA879621951
4181 FF40D1D0CE452C3EA405779CDD6A5315EDD90DFF047EED8FBB2C05814AEDB453
4182 0AF4948D779DDFBF94420EBFA573338890C5E4C89FF1D2B9289C93D8803A8512
4183 0D97E46E70E2A4A2E5F41F96830CF1A5172E08420CA5ABFB8DAC8BBD5E0D0426
4184 CA11020683696B7BFBAE7129F6D5314F0B7971AD959C81143243A40DB514C327
4185 308EF10562C23286FE8CD63232B178E31A6F6E51392FDDDE2AC243DE18F51DA8
4186 33584F11FB703139CB3913F47A991EA721964E9EBEFCA6F34D79C33652C1EB1A
4187 0510505B5B72BF158E72300A2BF5FA93238ED7CB2C629402D61717F595593A20
4188 EEC2B1C8D43BA909F92EA47BA10F482F399B08770338A896F9B3C60E417F524F
4189 DE4988711001ADE80BA874E412D3C6CD89829A28EC7F8B9F4747E6F411DF00CD
4190 55164CE4C1D7E603BA84311B1D460F9C47F24DF2217B9861E681D9A7E3C87CFA
4191 9DF5E66E8CA74ABCFB9F4A745A14F00C820D0A49580822DAA2148CDCD13B00FB
4192 C3FC346AAC688A25225752B7BF8F03165792919C75167D27D527795DCE104B52
4193 5874FD19D2B8CDFA60A7A8B975C1C252686160125C9D908A33B90179994BDEDE
4194 D13A24A2240219793BCFC0988B702FB8407E5D1392A50D7AB9451C79E3C052F8
4195 F23C9EC7C3EF294759F2F0F37579101A3D55191C14C93CC3D1C1785C73A03648
4196 B51635CB59602238D2B109015125559E87C5F578E25C9736F3DDF1175E3273A7
4197 772F6C53A34DB9AC88B4E8640D94E46E1998E72C052E621186964504EB7B4CBE
4198 10AB376D3B5969A1474F086F38DD8CE6E7C21CECF2890E1FEFDE64688CF37881
4199 C7658D6AC3011DA8D77C6D73D50A476D0181183E0DF7DCC3C608C4432987267A
4200 7B6D816FAD90B52821006B0BBCE0DC28DACB6A997A516A8BAE32966102195069
4201 4B571919F55A359978FF583B94A6E0B00FCF7A2271F8AD7964792C2E450B9BF0
4202 3987F46288FC4FB53C200FD544568AF2B09313DEF062D494B02C52245D9DEC34
4203 46B6231F7F397F7F3E53044C20FA26DF487B9CAA981940A6718753AC6AB86D0C
4204 2F54961DAB318605F5B8127F6968589C9406325C87675942FD37D1338403D80E
4205 C239ACEDFE71C838008378ADF3002320FCC4165279A8F60EAFBEE7473326367F
4206 EB8BFCBFCD73E965B611E7E1F7D4B71BB48D6776212E4C21AD45781FA041EF9E
4207 E4D8312077A9179EFA65EC1CC9C8E51804B1CEB49BC2EF0B13196EE90C27ED58
4208 F59B1239855CB5ADA7DCC9E4CECFE660F1D3A8F8BE0EEBA45A366D910AABF525
4209 7B555D47BE1AADD7402F1106B81E2986E037845420EE7B9245D857DF129B1BB7
4210 76C0336F0D0C90B97CAAF514F44696AC3C741A4E6B987280B93CA3862FF0141E
4211 68A89D27EBDB2B209C26B762DE5FA32DC8DD27A3F11ED3988AB48B23F08E3F9A
4212 E062ED5CCC433EA6BE05DC54B7CFBFF439EF6E900FCC5089A603AAB1A2DDB6BE
4213 67999EA3548826B1B6694129DB89AA7158495B3075A43E505CB2A18812F4EBB0
4214 52A895B0064C2A19684EA63862399C265011A5EE53295494C6542BC9AB3A1279
4215 2F5F1F9F02B8CFF733E374176770EC72666B1ABED6635C7ABD2365BC05136729
4216 351500CF6B9A99867EB1007DADE2116AB215993E7A1C87B7A8C644DE5F6950EF
4217 52ED1D6DAC373ABC079B753C8F05A2C24FAA4E90A900BA897FC70C0C11253C6E
4218 7DAF0D63121449CD8F787B6F5E170EB995E8348B14AB31F5A0E460907151F696
4219 D8B12538EB605E6314E39FD93C6B576C7AE9040DFB6C3AEF7290EF0C9185C31E
4220 4A1B5B46CBE6EBE0F2F92ECA88E69045126F243D3D1DE5EDEAF220D3AD3B9B83
4221 FE7D990790E40DC966AEC0227A4B890BA3389458329023B5EFD562E76448D1CD
4222 199E77C297052A50E8328E161192B477E2D824AD35EE4DD8805BDF65D6A1DBD6
4223 B3DFD3AB62C75F6D67CF7EE1DC4DE736760F5CF3B47F7BA6B2769FF3AD1C0D4C
4224 CD8EE70654536FBDA729E006A2A6909A4971890FF7BA1981A0F6BE19406B1522
4225 2DC2DABFA0FB13B429287B18B9BD53148683A497721B37272E1299569DC8A941
4226 0C2A65DF1113D7BF4D578A3235B7A9FEDACA97E44E07C1A70C12ADCEBA993A98
4227 32ACE4C2B6323769828C5E45BA8A2439430FA400BAB157544F613A1ADFE4551F
4228 74CA1FFFDED45FA7B62AFD45222E80AB9329120CACC25C24864D525CC9C2D182
4229 2209DDAC5E768B052C70474F1D9BBA820C2F43E70DBAA1970AAFA046D99966B7
4230 24F3980B753CBE7EF196BA3201D6F24549DB3A34269C50D65D14B6D619AF7C31
4231 42B7F2B59619EE36A1C85BB7192F87B72ACADED317C62A3DA4E59BF83097668C
4232 1CD5A3F651ED1DFC6E866F1C27B04A076BF58F080ED55C712EC8933F327DAD6D
4233 778320D08C0F1BF5074BD0EFB0A4B224074B3CFC4E269239917BEBDD22DED6F1
4234 C69091A16E9A031A94EE84B41CAD74608C8D79CB30F3FDE0D238BC2E400716B6
4235 4B0C83A0646A4031EB1258283744F0DEB375A2DE15500F281FDB93F678ED1FE8
4236 C13B46EEE18C1D6E639E73B09766CE0BE387CFC2ADF4EBAB73776E7D9DDB17CA
4237 3442F5D911C6DD2E488A3F223A1527625D5958B38CAD1CBC7F39B32311E0996E
4238 0D46EEDCA741C0762214CA100965B59857777C2D0A5408C473C03C44EC877FCD
4239 9F3783D269900CF42D300DBC819EBA8F6C5EB6D7E451E0226A4B420DC03FB2A2
4240 D2200DFF957A67890E71ACB58148DBA338B09D1F9BFAA7225B725B9371BDE3B6
4241 0EC51915836E50BBA16DF8A3D3008BB1CE8E90BE744AD5236DCB6D2F77E8D6FB
4242 B650D3DCF5F5AB517AACBB1BB2F6C52D26B645FFFDD40559880D0C807D56E3D8
4243 E5540C0AC27A05B20D4DCAEB1B277336E4AA32B4A52E159CBC2BFC0F4B2AC512
4244 05B34B06DC47BCCEC2FBDC94E436597B397093CE3DE0BF7854BF4FF08A627DA4
4245 09E3A18C35CBDD9DCA76378F9BBA1FCAE106241C80A1E685100824A14AE3929C
4246 C252C377E7DC5EBCEA17E949ECCA4B68D743A622DDA8BF976202FDD67275C063
4247 726A79557EB78F42641DAE343F37D03926F5FAAACF9B5F4D32070A7BEC1DB4C5
4248 283BE71ADD89E3A95AB5BBEDE08BDCC9744701C272C8B59BD3F6C171A90ECF45
4249 9A7BEBB4F1696733EA9C1C39719331443C40E10F3B7BD4F6A87A109AE4449D3D
4250 8AD0FB57C0355D842D786281F98AA4F2BEFB280385D2FA793E03E99D426F6A4E
4251 26D498EF8B3A9A7E59CBAA6A2152CED7D78C653E4D3E85B762CC3D619E2F298C
4252 900B2FF59F2FD46685F37DE4A5542CF83545BE60C3D0954E2ED2AAC76B769CFD
4253 71F3B73213FB0E63790DCADA72B54CFF70407209CC3E5EECC5B6161D1F63CD26
4254 DD6475231521FB620C2C1C392725486D9B2FFDAF477682E404199EDC1EA25CDF
4255 856E5C462209A026EB8CAE97BD823D371C24BE1BDF1ED890D5328776F8B18AE0
4256 14F63B3D90030648DC7B5664999F242197336D46EAD119ADA4B1373B808D3850
4257 B42B27CDC1ED7989937753F78A82DF1A7BACFA167E12B425308B22FB9A148D25
4258 125166EFB8B92A16F59001DF3453855C007C71A6543DCB166C8AFB36096445FD
4259 CB2029F2EB9A0321D6DD0D6F5C58D90CCFFFE42D6C3641D43F811CF80E603FD1
4260 A9BABF295D2F8420DB90071C839E07D088EE8EE9FC0E4945A75B98504001EFFD
4261 4053B2D538A53DFEF5E8EABBC2600FC8357A4215752320C2926F8802E58D0AB3
4262 4760F8D136DB10887A2D463879906C118C0F109906EF64FC3A524FFB1D1E9C2A
4263 1D4C7BAD26E5C5B01246A849D563E47FA3F4A3EA4C38EC16B2D1592DDE52FEAA
4264 CC4B6EC3AC2B8F1B15359D303567BB4A8BD75F399C62B2CD942E7076DF33D516
4265 EC88BB0D8FA7A3D073CF35C9CA4B437FFE3CFF1BD37985A6241DD366C399BC3B
4266 6582AA1B0868385BEF66E60C18416AEEB641246292852FFDD86F0E7DBD90AE67
4267 CC2ECA86F2E17D6AC51C58E15A1242DD65772DF1FEB9EFDD50EB155D571B42A5
4268 315C84B9A3F3F06DE5280137BBA0EBB4121AF1832F489503CE4AEE23CBA57153
4269 F85738B960EEFAC83C18923A1EDBC599AAA09B23638B25210679BE228B334BD5
4270 E071FF0503C36BEE4826C3E5D403B8E2A9BA7384DF05B129760B14EF20A98BBA
4271 84B77224E4E930E718505D0BE99304876FAEF5041F1069AFCA8204DACA38136E
4272 381F2ECDD0956A5A4E8114C9AF8DB7295EAB9A68656CA8B2979C6C717183E208
4273 C6AF12C6699CD7F86FC4FC1B46FDA0CE7F3CECDE6F535E3C6E94555F9610FA63
4274 248A467785F34515255BDF72C8C9C1F2D315C1EDF38051D6AF86959A3FFDBBB7
4275 CDC0D28BD8510F684488083828F779C5FB00268BBD5050F10F1BD1C05B7E674B
4276 9EAC2F991DB044C92E7CCA699F3D6C3DC49C24532CEF4CC9008EFE040075EFAF
4277 3653E375D271CC34C216BED70152D3DB99646051CF94442F2209DF14B7894F23
4278 66BB1F36B3ECD9BAEAC9D7B5CCE317D12336009DF7C2666F3DBDC221C070478A
4279 E42928359F61755351E1389BCABDF299893BF45DE79A58BEF6EB89444E32DE97
4280 692CA40C3EE16853DE04D084F87B4EE44DC6AE5004D87D9B8C96F2CABCDAD0E1
4281 C30DE938FA8870776EA3CF8E2CB8D5632127947A331F84DE922D6D2DBD8A27F7
4282 2D7CB8E744305C6163930F728948069F4169E191D0966B3E9CAADF8AF3E1CA23
4283 15DA64EF321C3B02BE1F385EC64F2E179B9BD68B84160CD5F2FB06463EFECDEB
4284 0D9F041F4BB1E0B60DCCBA6F56FF9135CC8D7621A9769B376D0326054B8F539D
4285 607B30F8A638A3DD119B2960BB4553A5088E3B0088E260E17D8DE3DB4C880791
4286 D8482E9D97738251F5BC871DF6068010D0334C2526B70DA13300983AF74431CD
4287 731C8A5221802ACDF050DF85237C72E0CBE24E9DEEF3318B83B15A1B815015C0
4288 EB11EA679E90C2630834AD0B531F7B6FE29CCAE11BBCC99F9EA3E2D600626A90
4289 0ED0A44CEF60ADA5A18E98E97F37B06CDADDC56C29B4CA959785EEB018855ABE
4290 612ECD25BDEFC3784E0B540FD89802C1A5A7BD2ED05D70CF896ED8F2F4A85CD6
4291 2424FCAB47938CB8FDA6FFF46E4B1E1AB1908D897D16E4D2CA89866281A032BD
4292 714A74DD6C8D083F6894AD19BAC85EBED0769EDDF72CC33A1CA9328F19CBA044
4293 21DDADAC98E852CBB461976F46EF112861D3A99B422555B32DC09D7CF35CD896
4294 C1AD91DFBA1970B3725696CDE1CC45A2A57156568FB029988226C73E75795A4E
4295 BC4E1B5025AADCCE1480D87EDE2DF06D5AC027141314B5B42ECE44093FBAFFDF
4296 9D690162B7373CC89564C68AFDCC3B7AF3BA4F8250E227FB0ADF14229626A1DD
4297 900AB1786629028DCA3644D0965DD45604DAD7759B5167DFBB7EFE573E12B6F6
4298 5B86310620BBABAB38C14A3D1D7A54D98B78E17BD39CD5588CAAD1E9188F07E7
4299 1B89A4CF2ABDAC21C8DB890D11DC77FD8BAAFD066DB080D919D91CBCF393CC0E
4300 F3A47F06203B4EE3E71265E7E728673733CFE0210B048DBBE7B6FF5B30B86791
4301 9E829D3852C71FE1D42577951735AB30E65B317324D60727CB0CCB1AEC552DF0
4302 7AE8D2CA75624FF22346597E4B20FB3949E44D9054987BF4507B99034B911A28
4303 9A4953B52F565D5BC8D9A5805C51FFE7167BEB8857F47351B361181F19B2FE23
4304 261A0372C6F83BC48C9D57907830E60C817A460AA7F620A0F1E919E27818D795
4305 8EFAF27261063D67605D336940C1C52BFC430610A0AAAB196E8E810D072E13D0
4306 FB989ADBE830F455B26683C0BBAD40DEF4F48C558CA22E8CB9BAD86DC301BB29
4307 CFF35076683AA718EE09AF09D70DC927F0CF366B2128140D603839C66278240F
4308 6B392682E6CFAD86C7593A0FCA7E16D5F4887FFA595933AD7BAC47AD7D73B16C
4309 8430FBF72141059A468B6257E5748001F2FB2B19BF5CE7050BE209E73C0EF588
4310 E0240230CE5ADBA74E31C7A096E3E6D4040A18D207C11C947FC65350DE088289
4311 253B7B3768A382CAC2A40D0EF7D50C99D19B442955C5664240CA03F9B165840B
4312 BEF2BCF74FB6E87AB4236ED902D12E69AD562A4D800E252ABC9CBD3C4A8E52F4
4313 FB1049C3C94D1FDE962E7706E27F6A78BBC90E667E746FCA5E64724301DCC4EC
4314 B8228A7D9FC213A14759EE4DE9F88BB32850C294F085AEA94441AB4F22B0D8C2
4315 1D15097C81B2AF5DEFC753AC5A5926E1B29FC95F9A1C82E3E930BEFF447FD1BF
4316 3DA775CEFE54A8A2B491FD84917610EC5A6FBBE404E2A5F6FF00D2F662E02FF2
4317 83383E96FCA19BFDC5AE5D479AF0E6EF4795C6E02DD3A6D0258721C0675C45C2
4318 7E6BD4ECD64755438C2F8F55C139FF3A8FB6A038C76C908AEFEC6935789BFFDB
4319 8444B5A07DB6A637C39924D85E739B239F1D951EE606181B07587537A2415ADF
4320 1F1D6A1120C3D86EA11EBFD274DDA3FCAE379FBADD04D70A4899FE8E21EC7E11
4321 9D220A197516A397DFE9796F30E573BBCD9DB776240EE492E8A94D656257BFA3
4322 98CAF528D72A21FC9F48CBC5EA2A27CD8CE51BC2B8968BB436D0684029FFFA61
4323 6375B697B7C5900C4305DD36905CE0AB7BE3B19DF0F8BD6849BD36D7D0388F28
4324 E709C0044E17BA4FE83ABBCB3AD081905CE549052C3BD503061CFDBC321349A1
4325 6F064244637BBBBA6594469B724EB8D0BAB27AB3D54C79D8636F16FCE7C04A3A
4326 38D416EC7670151CED0CF6FD4DCA68502BCC3B6581F3ABF926CC2DD04CD76629
4327 1C78519DEB53706C8EE07835D4A69FE06471A56B2AF2DDAA6C80418BFAA3AAD8
4328 D28FA0A9194F7C4FF94778282D3F3822EB425F39634D61A27B990308C7C17E58
4329 958D6492C0CB302A9D1A5BA328E8E655469D060D4353F276FB0A9548076425F5
4330 FCFB08B2B900F04C50DCA88D0478691AB71135ECD7851035CE54FF9322A44B38
4331 B0B11741030844DFDAEE51D30671B809D61FAED0A5206F6568173C364CFEA3D7
4332 1E0B1760D3C760119321915057E5602F4F9DB625C339A35131E0F8E910700537
4333 FE9564DE410769B5C15D3972B2F5543C8FF4152158F9EEAC59113402DEDAEFB5
4334 FBB2394EA7D286DB631F22F0B461336B74CE08FFB050674B58E05684E9A79FE1
4335 F8F541A66DE1B69E322BE58AD4B8224C70ED7CA33612E699F466EDF9E9ABDA5E
4336 2091829D9CF58E1EDC25BAAA8889012BF840FD6A216FB12DDE4F5AF40664D87C
4337 5C1935010A333D0080BF66B36AD6C9F9229FCBF7E302571B49287EBF18C72A0F
4338 E7EFFCF06FE0F26049BF0AB858FAE81766B23BB86BC0CFF657C84A13E058961E
4339 1D0E616DB9326A5B051D7D34E4091830E3638E0B6BFC8969DA9E214A5ABD910F
4340 92E0A8771F8B7A205499FCEE8B23C9215114F8ECABC79090CCFA94F5206F5928
4341 99335D26AC5C515BF45F01304D04C71B20F4E8926E5B1EB631DEB68B5D8538AD
4342 6274ABFF4FB41065CFAACC1AB637788D57EEA82D1226ECAFD4E9ADA1387512EC
4343 1D03DA9F249B07774C64D3539DEDB60DA3CD0FEA4BCAF6C85994F7F0482520A8
4344 49621E540C69B21715F5B8AEEAFB7F8644983FCE532301ABE52CAA79A84BC911
4345 D294B474502C43E198B649B8DD80AA3C43F7B4CC4E40696A620331C5B7284570
4346 E3532C2BFC615F67E6475ED42B17630A502B3BF01142FB4A2825DFF1903F7DC3
4347 FB1EE50C9504B72FF847B5A27CA9A93411803C0FF1033BE012D91B0D54560A84
4348 32217301F3C0772DBD36C80141AC698C892FF221AF73EEEF0D2F471E17CFBDFE
4349 C673316E4E2450019C1CBA3DC05EB9C19AFBF25B7A8E126D9690B071FAAE3935
4350 B63DFE4F662870532C9FCA76EA5CD44D040A9C0BE99830A9EF1F982FD30A772F
4351 8CA645AC60FBA03D0A640F55E6619307AB04D694046197D6C2A903357435AE71
4352 B2898A68BC0017918DCD399C09D0247C1E8CC15C39F322A79DBCA75419415826
4353 67A7816DE73517240270FC5B54417DB4B3BE25BF606CDD8486916979A7294B96
4354 B89912BCD589EA640696AECAA8E7AA332DA8A5556CFE680A374AA0E58EB48492
4355 EBCB2949498A3664786E65AB03689A919B5CC3D6BAB0DA044F4FAAF6266FA282
4356 7830AD94DE90C4CC29E1B3E491AC4C8D7A6A3AA0B0ECF40BA237176E83667318
4357 D2C268BE086FC75DE3D8ACA30D0934344474BEBE1F790502994505DE054734D9
4358 1AB4F57BA728B2CEC9A0453DF763B706FFB29906CF1AFD8156CB4E65D9B88AD0
4359 BEC1971BFB57EC4977FBF2F0502E18473735B63DFE4F662870532C9FCA76EA5C
4360 D626C75D25998AA4B567B98EBBF6067C48FD8F2DC7568AA9E839F547DC0CADBA
4361 831151FBAE7C3A5B6B077259B873854002F894B688C94A3F8017A8FE775A7C39
4362 66E5053BF38C420EC5B936024F9A8A8A509C2B7DD64CA3198BF8908EC806BC05
4363 C1415B4811FADB8FC4659C035AE67EA289522265A58C53B2BBD7B3FD0EFCA2E7
4364 AE77AEBD18239DAF380360C166EA8C304EFF8519398751D8E6B8E7AC43977170
4365 1C9FE183D0A9A11D8B4E306282BE38879C175062032E133A03DB0F186E20B4AE
4366 F2400A7411F1D9BF7699B19760C4B0BE9E426DD9C4D3F28A07FF884C9D84213D
4367 6B4D1B121CBDBD67DED04BFE66927B0DF66F2EB0C19768A9D181A00CA4343CAE
4368 DCB86F73CE3B2BEFF110EE0ECC75DF432F7A5F303CCE4637668F3FBEE331237A
4369 A38FE63DAE37B1972B9B62F127A9EF99E128088872DAD9012173FF3779A17C4D
4370 92B288C985FAA2E53B47623F9EDD7983702788B6002E54E9A9E01AFB83B53BFF
4371 A6428294A34860458E5365C4AF11E93105AA8B2E289DBB63E4DE119E6E5FEF6D
4372 AF9BEED6D6C319724DC4D7D128D423F7B3FBE3776948F8D2C4BB8668A8A7CAC9
4373 673C70C504C797B3EF225EC6F51DDB3277F839580282D4B23AC1531A68A82A97
4374 3BFA964AE8CEF5BC1458006ECB0B4F89C0B708CAA95572B90F5B63AF9CF13596
4375 1B7E31E735F309C129B88427DD46CDDFB0A136E23F3CD135FC7DD91F34CD4417
4376 37D71D04FB1B53A2B1A2E4A98F6E3A3362EF7709016A4775BB1EE5A0284917A5
4377 FBBF9D8F3532FD26070484BB513392FEB05BC3D485F1E2121D923B6BA88EFD67
4378 AE5FFA2A004FF12E870D0980334FEAF71B4CB5C8284A2000ADCCA93D2F9A6732
4379 304512D202179A937F1A28120E268CC8FC8CD91BBF66B254774D5D9220CB8450
4380 EB04BBAFC82370DF9476408786DC30AD3762767D545460353BC4481E7CDCA938
4381 290DD16DB8B500F75F1DAAA30780D005D0376652922A6E89938EF821CD8B3780
4382 8EC857F7F01F832CD16D5A3AD6F6AD625E9C647C6DF39794BC50E73E3512A0CA
4383 D05B45B921846D7F634DA9389C31613C4EDB3BF7A17DA71B97F579E78E0DBF19
4384 0F50766383F27B5C0C0E9A95888E8BABEB6BE90FB2F2817B53A526086330CADE
4385 E398A613DF2FBBE6B9F96684790E709B5B0BA73022C26643AB64056A85081AD8
4386 04C987F2FE9972431A76DD1F79D0D7628C7789B7818A58F0D53A86350F0BD6E3
4387 E343442BBC90F36A2428CFE3B7821633F46B27F863301B3206C3F6139487CE5E
4388 C444FA2822D30039B6B776FAEE6EC5A981AB6763A9D81B5BA3449FCCFC4EF486
4389 5C4936AB1C0BBC208C15B36DFBBD0F38A33D9E2D76DB0D9C8B64425F3D7F038E
4390 CD5A62034A15097F49535C20522EB878641F2C69AE3308C370290FEA642BF9CB
4391 F832DA0E6227A71D6B1B07A66A6AF7D872DB0BA3F1CA6F77C654917C8E0723B9
4392 3D6A17CF85AED99BA6A30AA2A6A9E2B00EA5A2736E7DF54992DFE03ED1AD0F0A
4393 76DEB30FBD3D7E9024625C8D699602A6346F6DE947205A2AD8FD3FDC02365F15
4394 E4759A391C187A89D62B413B7CB3EBB6C84029A61E3B9C9264C026E98FEE3144
4395 77D11A826536D32A56FF0AF9099456DCA15A5D59AFC0BD03A15F760973A77918
4396 6B43A326B0AC61652681452BBAFFBEDB148E120EB328C5EC1538ACBE538852D5
4397 A1AE9043461D1B9A38676F18E0C935146E40FDFFAD83C45D0A6A880C51EAB008
4398 ADE0F6CD214D62AB8955CD30DF8C8258DA7DC433C01FD8AB82E83CFD25F5C07E
4399 8F7542253B3FBEDDBF01293DE7E14BE3589551F086715C5E159003AE8028B98C
4400 141D43286E10D199A413690092EA3935328042D977F911768A838933DFDCAE04
4401 CFA619E8AB92259F0923D78F5C5699D5B4B9783537439FAFAF9505E9202655B9
4402 C073ED959645DC87228F48512EDDA61545B2F87C431458DA53D4D2479EBDB0A3
4403 F849375F4D11D1E85ABFC25F10FE0B3D1B578B96AC39E1225DF67ED55280DCC9
4404 7D46AF0D136674EBDAB4D936808AB7D81FD6ACA5EE63DC028E8E916DA190F063
4405 6C8650C6FDD564A05E4DC246C0799003E5D0F45C882E5B1AE1A4609BD2FC8D47
4406 D440CDDC82BCC555C14A22F89188858A867E251BD2B12A38380831DD982EFAF9
4407 EB4005821AF735AF344ECBAC5CE42F571E98C287B367F94803A5BDBFBB64F38C
4408 98F614AA526C0BC141F11B156246A9F40ABE7A6DCF56B6DA3D62F79B3D84492E
4409 67C3C5B85AED96BA1C08D17DC52924E702D203AD176BF34E4B1C35009701060C
4410 EEB40417B36862186672DF0EF5D8009B29F96DC1ADAC72687D598FC8B46BE16C
4411 DD879A13FC0F9D96675D1E1E43777F79578725E8AC0EFFC13DDD9B5194B8994F
4412 ADED0F0C3358C9B7AE54BEB75F008F989D53FBDF05A97321B4AF1CD173BC3833
4413 5E1F0B99BAB7861951F76C0B8C38015A8048F7C44246706E906492D884358070
4414 765BCA2C90A37B06AB61BFF2BC3C88B66086D571BB3333EEB3C73B7B18C9F80C
4415 2611A11AEAAE5D0EEEB746B2865307320EB4357FF10008BB88F5A1C6B53B95D0
4416 6B44FB9DF168EBB39E8ECE5EB7D59AE0B7B4FAD32852C4AC69C6C59049A76CFB
4417 21AF661EAAE919A6DC6A3EA3B910B9C8227D4A7616A03662D85660DDE230CD59
4418 9C985AB9F14FCC49381277F7089F21989EEC1CC6E526964FC501B967AC7AA698
4419 83CC03124CEC17031C998C7A91B0C2E018DFCBA7F1E96B72491FBA385C68AA64
4420 5C2A84E9AC31F8619B30A7855B79B4790AD6F95A815A0ACF9B4DF1E34DA29E0B
4421 74ADCB36326A3E9BBEE519923AD106370C605A66477318857C4463FCE21BEE40
4422 33C8F38D1F44CDE738E15EEB4958A80D587066A02A5F20C8D82042BBA5BB2118
4423 7248BD0AC55FA744A2E1902D9BBB489870BC62874C980B1EF5E31E339BF852CD
4424 4AD57EFB72C46B28503DFA199B787FE9873D09D178EB0999E6CA9FADAF9D5BAD
4425 8DAE07F9E52390C3888CD196F31EEE82A5400834F1C97F6E8193FB41E37EE8BB
4426 276EDE1521E60AD362FBCC0F5D073BAEAAF4EA5CDC90EC00260C3FB3F8868EAF
4427 6AA699833661CA93B86E231185B908561DEB564912558F7C0C0D398B236C9B4F
4428 0D373AAEC7395461BBD5AAD69DBA587E2E48AC4D2ACFF8AA5AE063B0BACED5BF
4429 900317CC56B5E462BF1072693A93012F69C88FCF396EB18A123EA51E38C89501
4430 5453F992D7061BD38D60E439093E927275BBA395F42D2A9B1E4D87CF7D31DCE0
4431 AEC170E3D7B808D6BD6B2899F8A17AC7C5683B8225379635AAF5D634AA3C6367
4432 3FE34C02206F0F51E337D2453FC5CAB466C17928509894C5994773C7CD129B3A
4433 30AC3615325873F0B9608E453CCC48842E2C1C11D9BDBC8C290F33957AE8B2CD
4434 0E605A8C1A23872E802AAD9054B58CCBE0AE36A17FFBAE0D4D84405FF3D25E59
4435 A0BDF1C1071F3FE12435A48A0668C450CF73119CDC5A7780AD540BB73B43522A
4436 18F2ABB0EB68BD59145A27876AA81406EED197AAD981D6FC04A672529819EEAA
4437 3B5E9269370970D872ADB0044960A2041D475C12070B83BC3B0953D95752DC35
4438 F0AF3EB1C80157CDC2B57BD8ED66EC55F5FE259A6ECEBAEA98182EC6B5EB4680
4439 4B7012624E03AD2C9F572C9CDD0CD4F93385412FA239E1C1875FB239012FAC42
4440 47EE320DBED9C6271914BED26D95173EC4119EB4E81840C30B2D214AEC4F56CB
4441 5A28E94E4F6B8B2F64304F261D15B9CE046287E0CD5F088516534389E3616EEB
4442 6485C250C09BFA8B717D0239CCD12A7616852C1B50BA1C95E14214F552BD40C5
4443 E4BD4FA7B70111FB2A20C256A241214AAD3C39017F0447AB59619A4BEE9F42F7
4444 DB213401A204361BD78FF699705C493BF222336EDB42BB99D46E2ABDE02B5668
4445 334973658F289FBEDEB48A66264E41615885B01425232B1B0ECC71C60DBFE89D
4446 C892A52F699692D51F04D68F7725BD47AA98BE2233C9E31852043EF6EF165B77
4447 8F37BCF537E8A57DE2169425186C862085DC6DF91F2DBA9B787E1CBD1950B1DF
4448 E8DF5811A3B4CE8DA1FFA581929AAEAC4B596D9B6A00FFE7CA5F5AA5626B3E49
4449 94F576A1DA14F1F602A177F782E85D15AD99E003EBE2A9A81F4C95D7D002EF22
4450 09B755E650E10838F8ED34CCE1520EC0AF55FBBB73BC187AE700C190386B2279
4451 515E346A4ACF9E0336D4FCE5F9931555C7C9A94F074806DF04957FD48157F1C1
4452 8B8CB8B5A5C866E7383117D5E3827C1CD35770DBC08ABBA41D50883F8D016AF7
4453 6A875BAA50BFC025793BC744580A539E472F8A59F301ACAE861A900EED3577DB
4454 38357A4D7834676F3280D12A7145DA0B41D88C94437AE108194C46BDDFA01D7B
4455 701FD0CC6031AB0399B475683A0627ECD5D7FF2F617BB938C80D16591810F65D
4456 1B1B728D1EB63E11B7BA6E6958F9840051EE79592FC90D20833AD9AA2AB1B56E
4457 092F6757477A1F3587CAE5F9987F19CA29E6B23600279AE735E60E4CA0F6BCB4
4458 F8012E24295C052F022A2AB1E16E34118F692C50830AFCC6BDE2484C636E7DEE
4459 3FC04ECFFE6D8D253C2FDFC8D4E5F200B4817995B6181D43481636EA9BA17BC2
4460 F5BFFB8F8D74133A0066AE6E937321CE65DE58F314285085F8DF0755DF6024FC
4461 82A63A080266E30932F5835719787956952BF9A7FA90F4C186B9EAB8E435017F
4462 9F2003F9F21CA28C5FC35C8465FDC9EE93C55F533C4C3CC23D56C4C84FD28070
4463 F2C2CDC8E5E2DE2AF0D9EBD430E3BE1E0790FDB1FC2E0C2AC480C7513756307C
4464 31F2C7C4144F12E100386BB9CFC91EAB97CD2CDD8B3C51B0AFEE0A8E2B401AB2
4465 1DD37CADA2674C93B343010AE4E0F733F77B6A7230FBD6A6DB471B35C5542306
4466 05D02E254D2B347C86EE259D77651BD178C58B143B16F971B08EACA53BE5815C
4467 49F59104692E723A1BC76E9B50C08AEC5E3A2EAB9472D83B97B2E167E12535BF
4468 B95FFC6E81572470849DD957E394F220C68D8F756E812F8B17AB9A18DA538848
4469 0E6B4771A08F74C752B3C9346E161A8F14238093577D1154201097712FA30336
4470 05E1D2641E124C069CC299ECCDE8C54DC4943FF333EA588E4C1331AB220F607B
4471 B3B6874BA8A4CA6ADC28EE9647CAD3B161F4E9932E9E17B05F1CF8D41B5B9975
4472 647B361FDFED8926E352A45DBDA2875C331DC9E59AD377E6D49F9192450F47F3
4473 3D27F1AAD0A8114107F74DB96A8761184EE7FCA4E9FBFF44507003EDFD1292AD
4474 71988D68EB6B6D100FE2AF64EAEB649C3F5DC350F51E124B4050222E4BA219BE
4475 03C8DC6B5A45F862AA4F2B2B8B74324D6BC9E6CC55D1152789129ACA7C21B96B
4476 4224A5F7B6845E5D8E2CE8530A93788082BC46301F682986749826FD7462A7C6
4477 AE0BF46EC5B4EAAA75C9E2B9E3F1DE0ADC5A0456C3AD144777300D3FDF1E6E93
4478 B3CBDECB248BD0EFB22037DA47A4ABF6B8FF6D728E430C194B927830C2763A21
4479 D851FD66F72EE4952B42804DB4113F0D788A51D2FAAFB3319654AAF0DD917F7C
4480 E29EC3B295708D524BF8C90FC4C065E99559A2ECB7F292BFEC70D47CF07BC8B5
4481 A3E1DFDB4750FA9AC5309B9E229DB3A16A748C7069FC6704D5E631D8F4428226
4482 CA342E43E07D6979EE980BC7DF1D97736CE08CA0A8339F3B87FC93AC9DCFD737
4483 1B8B45B99BA1249AC546DBF27F5DD0DF2E2F1AF683F5EDB77BBB2588BD42E43D
4484 590FA5D29A2D48BBFEAB41369435FA127AD932EB96C1E49AF55C1927BDCA0426
4485 6CA6B3A5B4F0C9F9401862BB37A247DDEF1C09C099B9DB60D80BEC93BC050B9A
4486 13C5377BAF9034FEAD4FFF435BA9FBA674AE750AC1822BB47E5683C51A42B948
4487 6FC7282F706A2AD86C4484A06A586D9BA6D37F40891D68A9A6079EC0C3FA082B
4488 B37F546C1DF0E7BEDAC0C70F04AF83A3827575F269B03D40DBF483850D1A047D
4489 9C940AE145E8F0BA0D2D1A1547789EAC72F60BBA14A09D5BC95EE2117AF3FA4E
4490 E8A7D700B16FC70796CA02141187713959FA93C5C3AEC5C88718EE7214404F20
4491 73A1AF1357A8A48C0CDFEDFE66F6810D852A93A23AAA1BDD521F81C4CC839FD8
4492 A999C2D28C1E8D555CE5AEA5E06527B7BCBF74BF426E6D867255B43A6BB5213F
4493 2EA135F1B962D83811463A572DC3AE61A092A0A835BBCF719EF791A4A91695C4
4494 391D1F65E9DD588E925381C21D0D22AD0DAD8307E2D1E1EF197C2A69002BC717
4495 A3859F4E77F48F0615085AE6A94D595E7D9DD897605A5707237CDA5C3466D34A
4496 6D051B18345467DC3BAEF85CE533E117FBB84CD3F6E3180748F882A67EC09C55
4497 3AC3D6FB12514BD5B65DFB7C9E732E51D2DBD4716853F379AC6C43B11A2E9BDF
4498 5BF9E04688BAF085B917E9ABD926E22F0D1869F3B961AD67C72512E81D5F625D
4499 2CA93082F0E3EDFE24F4CBFCD1849CC12B0486B33240C8FCCD0707736B0D6071
4500 C0CC37FD4206BB40DDC3D0F41388F47602CC7C54326B51CEBC2DA8A2F78653CD
4501 BEE1190E3DD8748626F09B99B339DA1DA2051AD9B0E9D7D6A9A4619C533572FA
4502 56858BC2D527C8376C2FB59DF619CFD320BAE4BBABBA62B10A3CA4EAC7B3EE1E
4503 1A7C47A82797CFF4D0F0805AFFF708FAADE8F0C9E1851C78991FD79440313BB2
4504 2D0FC7F3631DF9FF0B392CD730BE86760D4E0F150A7C7A7EBE1630EA0298E264
4505 45A98718B8B973D909FEDD48FAF5F2F9AA9BAE5482057171415811967FEC7D4B
4506 093B7F9BCFDA62104B96CC8352F1050AE4B5496CA2BD761FFF20DBB83D7616C2
4507 43E613B88AF56AF43EB306182250157D9D1BEF1733833E23A3980E268F33763E
4508 92F698D870735482C5DD9EA0F1B1DE8B1A37D8F743A29E2DD776E9C24ECB2C6A
4509 79F9B5A6E711CDB672C335B47B65DC013EC96909B9C68CFC2E4BD1440F66E2A4
4510 B002017E9F2472A772891085FCC4850424A069674E5EA8261147335046BF26A3
4511 A07E3F32CC68A046B3D1EA6AA36D293AD2C3B2EE241A1E53D0311E403CC7206B
4512 891D9F1E657C524F595D7020BAE172EA7FE7338BD10395FA49E81B4D1A151E1A
4513 C2FDE0F38D55C84AB582E0E967B94091AD9489A532857130A47943A8790C6837
4514 D115D1E751D850710A902CC5EBF84DAB2C78F210DDB07667E6161B390AA3E66D
4515 DC3A4BB3F8AF573EF659E0C47C4796671DDA95A4ECD014F44AB08443BD5A729D
4516 FD31D1BB288D371F777F14DC73E82D3DCDFF26C5B70EC37F06B5FB8F71DFC34F
4517 8EA1EDCD28D6F721F243175CAD39E3FC8B25B0C334B4D0ADF5FE15EEF3C41F98
4518 CABAF8FA7C3B29389B9C7A29FF242B7285EA5F3CF560FBCB54BBA877CA14DB76
4519 1D471635DF1726A4CA6F3058E2AF9BB66AB7A8DE372E35F3F34791E67F13A3DD
4520 98208208B4787CE0FDCF3CE6753D94C548FD0ABD3C911AA9EF266FE5AC5DF588
4521 BD8DAE7933CF6DF2E1474B52DC97F054D4E051FFB83193DFFD314E125AD50480
4522 A1D8B600874D5A7DA392F27D8E3DB55C3AEAF87BCED1593F771BB1F1A4053918
4523 901F0825E4780BDA7D40B5117B5351123217AC1A7865C29BAABCFF6F0FE49D76
4524 16FE8F0F1FE3B0F1E4785F34568D2F87DE093D585586EB03406BE21CCE80DDFD
4525 20691E77ADEEC149BF52495FBDF451328BB8D1F0EA6C6289D0BB9B46D9256559
4526 2094C30D59DB84985D3C6695F8E3FB68888D39CD68BD17FC88F1F2503D233D69
4527 E5442F3DEF408EA9E0A4EB69FDCC7AD5E6FDC6371AD364E0CB5C70FBD33863F7
4528 E0FDA0FB32D9B90494920CCD6FFB6ADF64494D156A7DCF5606550078DF1DE14A
4529 C003A5C62A54E7A97804576D6CC94C77B0D11BD65F17E07DCE5E97CE04A1AB17
4530 1E8FA931533F2A444239FFF8196AFE880AF0C07788FE362D523BCFE417F557F7
4531 42F281EFA1116861E8D748B9A5B98765341D9DFA9E19F4CBC22E18B85959CC10
4532 6B79FEE2824EE6D1A508DDD09B11866EFE3DC9CD03599F7FDB3E774F1A8E269B
4533 25B9E4C7BD5910FA9C7EC717205FE8E43619975BC5AA6E15930F07A3D7513FDB
4534 618FA45BB5E95A006C0AC0FB057962DEAF7831F06F623B2083C8D66450853E89
4535 199337BA480385BE6DA28C27A9F24E31934B9C3A663676F0EFCDE6FE6C67368B
4536 B28DC036C9AA37CE45F9BC45CBC189236CAF4D76C2EF294ECBDF5044E18F48B6
4537 7E486C051A1B48565C454F086F388EE6A231AE2CD16D33ACA49ACF39F9BF8C0E
4538 3CFC3DAE38785AB69BD1510402963150E88298AF667CB9FFDBB76DEEA78C0A9B
4539 EA4592024686A21ACE6A196A6BA6ADD17CCC2BE55D30EB677F366D090F0DFC67
4540 1494560088E6EC249A24479A4005FED22B0906A209715C7835528A537C07EB66
4541 BBE95A308B97156DD70B0D19D90EDD3A51EDCE4291C58AE8C08E5124F7D99136
4542 851FD172797634BDA9E556AC7F2753B7FB6773BBC2CFE57283CC1C6E607BD38C
4543 3D778FCBECB68BE0E8C01159AD733CBAE4048D181C18982E3681922270CF791C
4544 6AA274F77FE002B8038425F1A955098902542865416188A04242AF7B0E5B066F
4545 A8DB679BE68C6B03D1A4592720D081C528AA4E4E78F61EC3BD1BB6734A0E5F85
4546 4F1341C984C7079DE85E12D5C9239C16C4618C89F7FFF8A72DBCF16EEC249F05
4547 974C0EEE96DC1611584027DB211D4D1A129EA046283AE7EFC3AF5BA74737E3DF
4548 E8A147346FAFB3A5CFDEE65ACF7B6EDF0C355902CAB2676F6828B1096FF535FE
4549 C6ACC73190888A28A9DF9B7ACEFF42FACFC87EC45A79FDE80208D4C2F4C84450
4550 A3D4F7FC1304B4DC3AC79B61A2B0149F05BE8ABFED4EB72E3EB504FE550D9607
4551 939F143E07EB33EFDC55E81B88EA7D15F0109E841256EE716168D7636BD36E52
4552 072FC343750F88E9E1774A48E19BEEE87D433C2B8E91EF7FD2EA08B70923ACF1
4553 C75CE710C98E33B344DD2B9602570CBC70E61D6F4B4A862E952B586E2F059973
4554 18D8C410D22C85C0E2CC1F79C98B15E30AF460778B84AF434747FC31AE64A301
4555 76C5BD39C4065197EC7F8D869BC4804A7B5B5B897487DB38B9F88AE4C2EA5104
4556 3A921DF9E5BE060ECAFEB570AF7527307D67A52BDC8DFA773F7A347E5C847661
4557 1F14C78BCBC84ADCDD9F42A78D47763E41504947AC17EE9AF19917FC2FC7ECBC
4558 83974C0E6FB53B00961E162E25247354E3488D9996298588E0BD926D9FB1E17D
4559 7117096319BA16F0AA241F7955CA9D466CCCE82978684849C87479CA411B8149
4560 26E216998C0390B718F28BCB026EB7FB429155EE209E436F2A53D8EA62A1A6BC
4561 243F735A5396FD34C767317AD2C3271AAAB666368EF563E599095D7F120D11E2
4562 3FEB087ACA393D194A86B9FBCFCDEC1D91589CEAE626D3BCCAACAE8F984B7978
4563 4D1F0E276B196FB75351288D1D4BBA69788E9A060AE8DD421BF7B36166D6EFE1
4564 B181B9A4196AF6B47438A48FA48DD9D3DEA3AFAC9B56DC4E3C112ADA0F8AF5F6
4565 48B2A0B7EF1C987A2B036C796E8B061A9D10EA1F01FA3E3C53D94C0960317798
4566 A5F77E897C6396432282A4AC251D4B44D6D669DD1DAE4D30875A70F4EEC4DAE0
4567 90FBB2A0DC6B76C7351E3220082C5084E6B74CF336A97447071F2BD1A313BAF0
4568 DC30DD1C1AD4E753C1BEACC106579FADF751F73354A74F3255F57337573A06B1
4569 7CE8F4A688F3FD87E6DCE347819E9A0A56795DF2BE7F7949A7E0BA5B7FF0D4B3
4570 CBA9C736A04B5AC146DAB212D5C595570ABC37A981F22188A55D45554F251B32
4571 358B3A56399C9E0F7A1CDA38CF4EB868AC0DFCB4A34F152DF3337AA99B8479A0
4572 BA4F58C13762234F4D894EC64B6FEAEA0E8F97E9C19DC932CD97765A462FD3AD
4573 D268012B0D223BDE1EE92BC52458B351A11000B73BD6947EC8E488466EAB7B62
4574 AFF21952A20F5B64BF07B7E9A627EC942C60FA245DBCB1862E36088F41ED1FF5
4575 2A4C01AFAD3F0D325C7D9BA18FC936AE9112F81C6E60F1109602AE0C0A1B7D72
4576 62E60689148A4888CA462C5DC44F2E4330178C660A520C4EF01F1A1B94225866
4577 E3ADB738E3F352D976534251536E1C1BCEAA4AE78C14DFFA473BEA566B3770F1
4578 DF3332A3D546555F81A82F7A432153FCFC2A2D0E8A18E8F9890C935CB834E219
4579 D2E1BF05D4EE3634BB729E3B172589DFF53C06ADEDA76B0320F13FA3C484B29B
4580 FA64C69AE662C6F9CDBF9ADB1CCEC3B9009E458F482063599EE02B611EAD7382
4581 F917804BCC065F3C5D37B51D20255A001F453CC9FF7558DECD7B10CA447E20CB
4582 7CA1A9A6AE227FBD6A1E48F0AE049B709364A5CC7EC1D0868FBB06491B44F40F
4583 DB1C32140E64E32B17F2412BE7D29479A1CFD8D4B99D5E1CB87E803EE0A64194
4584 04F02D88E897A10597F774896E5381198A7D4D40C14709500E5ED7274F4878CB
4585 81A2901419878C4DD5A92669B315619B308D98A6E835E1BF26FC21FD0CA3E449
4586 F30A473A8FD3192AB757D101D370FF5C9C193D03B2EA8781C8161D78A44FC616
4587 63700C7704BB879BA949E1055F50F4F3F6A2065D0787365F3B2C2113C93C83F9
4588 DF7928F0774C50E858EEEFCF4DFD1EB131F57101E63C430A60029875848E6DBA
4589 C04EC177AF3AB737E5F5BBAFF7E2BD23C6B4AA4F7502E75035105FDA01A46A67
4590 55385D7764EEFFDEFAB2B4B4F3992585A164F39A35B7E426AEAB4A2E73484349
4591 FD6BE0D700F0C1B53AC93CB19E9C66C5A2415728CD313AC6EBBC6BD1D3C05C13
4592 9ECC81C1C936F303CE001DC96F39D471F790221CBE1324D95EC2189198BEE585
4593 F8F3ECBDDF61DDDB8718C4E8B1E20F97CBD74733791DA0834CC159A85D600E44
4594 F806772CC50D7702779C8B9AFB9BF2219B4F81C31ED54D51F9C9633D7A0BC262
4595 1F54D0CC8AD2856FDB752A7186C27434A0A8BFDFE21F7FEC26BDED514AB95487
4596 AB01B8285A8B904EF7E800BA85436DA83BA8F8E1A7946AE2429EF37F09AF5EC0
4597 4022B78E6C6FD8CFF44B62CD91A21D711DC48F5B1413B41DBB25C0582CEF4A36
4598 7FC7D2B38397AF4C7EA17D3F675B3ECAFDC156D4AAAFB5BE29341E0C11B700AF
4599 D9A5F5F25023A83950E77A64E0BAD70B447BEF6D4CE3D90467F24DD93C0BF615
4600 C70819984614F8EEE059820B911A7366D3ED6BFB5BFCDD4BA361F20FE7AD9B18
4601 04825147F67CE716C19D15A1FF5D91F0677831687E8D8FADEAC5788A13E8CD20
4602 B7663969196F68626275AA6866259C487DDC8929C2936B1CD493A706FAC7A65D
4603 8A1D62A68531981A36638A68E51D2F0F459452FB15AA803A264179D9BEB3E9FF
4604 E4C5568D8519F9F295215D2A6EF3BEB346A18E34724C4FC9E61FCE125DA2295B
4605 2578A521246A079F73069A7EBB6DED153A41D5BB9ED52B5FBF059D18BEC42811
4606 4E05DE4AD7D3C95C2B59170DC9F4E199D9BB00DD47604323323A03804586255C
4607 D9422685CDD16742360DBBF1DEAC8B8670FEEAAEECB2A0C1C3A426EEA56CC82E
4608 6C7CD6509D336A914EE834C605E4D7C4882CEB0880628552004536FA06E44F02
4609 7C68A213DB8608EF58E0BFF5A77F4154CAB12ED1F92B710BF65FF710E34302CC
4610 F594175B69F3E36911CE1E768448A855D72C1FC976F056B20CC10DD278315A96
4611 6770E5E4F2FE1DC8931CA8FAB792DAD6CFD3AB5B8962E81BAA6BA5499DAE1117
4612 85D315D2C54DA45EAD7E60AB18D0F8375D3EAFABC143E9E60279759C7F19A1F0
4613 17107B64BDBD85388FD718BC0933F438CD699240ABE18B4531FF62E9290D0FB5
4614 F6A19000C7EBADC2BF718C5CE080C406E1ABBA4F65146AFE169C98B57F3774CB
4615 C3005A46DE597E1F7018C68D64F1F87CE28FC7480D2F446E3267903321FC8D6B
4616 C5FE46CD6D25F23E731E342C11744FC1ED11233092FB2091242A87B8500669CE
4617 993D9A9A36A18C20CE37ED0C50957EEAAA31721BC37CE7F14B85B1B354E33187
4618 C744072BABDB8A287587C55A62CADC124F91ADDA842DC1D931B4368EA98E7F0E
4619 14D024F074CA222FA6A04699F9153567A1CD35BE9D37F157B261E6AE14E4B4E3
4620 0A9645191D095E82A8FB57DB80316DE2BE547F43AA28790A2C2EF3F3A165420E
4621 7C9E1B48DF0DB5916B855552167C6307A57866615AF87F341E400AE8067B979D
4622 074D0E1B9CE5E2B4BC25B5EF820AC0B165BF7FC7C810C74EFE7736146B3BAD7D
4623 5D024C16CD05BE995843A235DC0866F826817EE6165185907D834A43F49CEA78
4624 D82CF7F5E427A31EE0289609099F9EE1A142F493E5F339B3B69974A05ACB2334
4625 542B72F813FF12303A769B8260BD1FCD9E313B7C17B5E5EA3F596AA974511690
4626 122CBFD8B4138B6C575DFE677CE570A710B1F6B3CC24F4547886BF92E911F228
4627 255C498F4D38AF514506E8FD93090921A4A1023142879FB0EFC83CCC2CCB2948
4628 8A16E5C960EAB9612CF3DF24308F9A8420888603DA69913CA66D261D01DEB90F
4629 7D75FD6EA8A4505D1FEABE477732E8B511A207806CA916DD09BD52B493A6735A
4630 AD67428DAB688579085BF3FDF7FF012F0BF6036EC3F7F03B5E0B7D2D4C75C987
4631 590D35ED8DEB6E7139C4E5D510107E8CC43927BA5E3540D2A1E4436E74E0ED1D
4632 E2419894334246167A8ABE58787DB2CC3387A2086766A6CD3CF587704634F3C5
4633 22E188380927EBCE55AAA3B57E1AFFAA142DAE2CB5BABE261C4886B47897ED9C
4634 FEF2D1081795EF35F248777D23F6F6AA14E829EBA82DB8AC37E8CA5933DE34DA
4635 11C92596E6A19B4848C55B0EBE1F5F3E60221925E9D940409FF861B8117DA6D5
4636 BEF23252496FAA3542DCA5DDF0E66626CB7A857422C51583A449FC51A002BFD6
4637 4763D2BE7D3E56722AB35B297E5DA477601D6AC886181181FF7F56983EDDE25F
4638 DAD62E6B6D081AE51EF9C20466D2FEAA5666C91CF2746C003800F5F59A50D086
4639 E2DF7253257B3CB5AD2D2A36334F2B68062CDA2FCBC43F6A13A9D9DC86A2A0A8
4640 860A1D9D89648680D87280F3D7EB357547B59DD0EAA8AE42FD6634B1810C67BC
4641 B525DDEBE34C3701F3D0131DB4C5D093117A5FCC32253ADB92A6165561351391
4642 920B20B444C45105AB3F186EA41F0A9A363BAEFD1D999F5124D40C9F17798CF6
4643 AEC6A37EF2C351FE108330EAF1216D1C38FF4350E4D6683A721FDC1009470236
4644 7918A79C402A5A37ACB35F65E7875D04B71C293EBD306E23D0CF20174200FFD9
4645 1DA8848D53D9B8F9DA87DB668932E39B3718DA8E54157EEDA0B6D2928E80AEC4
4646 8444466F718332CA25F042DE47FFF80A766C6A376E87737FD0BFA87CC1815D94
4647 842AE14B918F282787AFD3D9E84AACAF956AB4E5C252BD8F694037C8453A8DE2
4648 43C4374E3B20B2206558681FEBF295DDE2C83FA5CAD3AAF57E08459389ED907F
4649 94D60DD9DEA5558703BA4FA700470F259C89A46F4ED3DD041508649A821C65A6
4650 70F826D3F77910739CBA7F84C2359B1F931E574DDC69E20B8EEF674068113D22
4651 CC40E417ECB4F1360D17F0BB02AFEA09C4D5A2211D8C9050AF73F19FBD590571
4652 125FD25EA834D5F149D5E7E566F30B04635DAF595ED73E1DB58915D56B8BBE7C
4653 492C2772C439B790649803381D5ECDADFA7D152A4C20C3FA95FFE311EC5DD98B
4654 817BDF331BDA80EDDD07AD3F427CE37730F493207F136EC4F09482019F00C81F
4655 2FA06EB7B7458233CB07A0962D61E3AC80088B487C0502E7D85E03C5C4F4BA28
4656 E5B16DD2AA7C8A2F7C9A2AA110078C71F9589CE5682E5AF68EFB2FD2D58D8860
4657 B5212D574C718950AE8A09C62ED152196B5CAFBF266404BB27B138B695D81CD8
4658 0F679A4986E96804A3F53C0F2E29A14205257FE8284FA21A1264FA190AF6DADE
4659 E4F7A4E32EFFEF6485E61A6E05BB72BA78F1CD65BD7927C2AF720496A4CF0D57
4660 A3E77EB1FA1BA59B07D53CF26B6F7F22E3130198FF780B1FD862494E7B51770B
4661 A5C3C4E793C132D93D68AA97ED115860BBE0C20026F86EB80333301C317EA2A7
4662 7C83162FBBEC0334A00FD206261D49682FA2937FFC186E24A2EAC80BD744FE98
4663 484CD465FC1C265D1012230D14B674855ADA07A1D2B9D136FE7F9B7353F69D72
4664 BB6D5EF158565224FA06E6DC68AB64A57663802E9CF62FAFA6A9A5D4388CECBB
4665 AF20DC900A13CB1BA5A12B75E152A9DC94823AB7030684D03C07CC40EF23AAC3
4666 4BC36BBBEAE2444F57306CC7F6857FD5501436DD822980373C408AC5AEC6BA85
4667 A4D58DE26F3F052E5F4024B748F84B88C589BB153F7E59E840BEB232B9F442DE
4668 EF8A3BAB6220AF44252BEE01B40264AF5529F7999AFE7DFBEBB3B0A5702B5B30
4669 463D988CBC2E2F279770E664AC3691E6D8FFB28C51F4A30F5ED9481BF0FF3E35
4670 6B8D1162AD0A68157B0B00894A940DF9868F270141E03BC31DF4AA1427FFB190
4671 5B5286F41FEE61C7C450AEDBE7D1F5960CED1DA7A1B50E8584B652C7D5C052B5
4672 427F982B00D2A6332C96BA577DB0CF8C90E4C38782C840BD9EACF216B89F006B
4673 B8BAB4C49413019A996D0C6F6DC3DD1D60879FDC419870A547EF110BE3A0B47B
4674 B60533979B3D65165F6D34A3D1C1F07B961780C5BF293B16451011785199D42E
4675 6DD8EDB06CA089C5E3D86CDE6FA15C5F77D4A0A62F622A6278C920B8BA2DE5AC
4676 919604A6EC6ECF74B593375F76ED9C7FAC77EF3248DFC3EC742F7E8331A4F3E4
4677 8C5628BEE3E3CF86B08D611DA620E65277D5F3DE43906DAB1F1931B153EBB8A1
4678 4BEFAC16BE1FA3EAA22C64C29A57DB1E0980575F09986853825852623F61F489
4679 69F41246F9DAFCBE590EBBB26EEE5C0CC762B6E3F9FC56CD4F2303B7B47EB747
4680 2803A752F857AADED168D86E0AD28B7F2F783988834DE61591EE5C936AC698FE
4681 52375EB24349C291F432176D3627780E49D63CAE031D19AE8BB345FB98D39D07
4682 15384886DC2470ED5163A202AD7E7DF61681BC31453D58F317F47755C328617E
4683 5D8D3961B6365F9C7B1BFE40EB88B1E06B0DCCC79749BFEEBC0878B9
4684 0000000000000000000000000000000000000000000000000000000000000000
4685 0000000000000000000000000000000000000000000000000000000000000000
4686 0000000000000000000000000000000000000000000000000000000000000000
4687 0000000000000000000000000000000000000000000000000000000000000000
4688 0000000000000000000000000000000000000000000000000000000000000000
4689 0000000000000000000000000000000000000000000000000000000000000000
4690 0000000000000000000000000000000000000000000000000000000000000000
4691 0000000000000000000000000000000000000000000000000000000000000000
4692 cleartomark
4693 %%EndFont
4694 TeXDict begin 39158274 55380987 1000 600 600 (stealth.dvi)
4695 @start
4696 %DVIPSBitmapFont: Fa ecbx1200 12 55
4697 /Fa 55 123 df<0000000FFF0000000001FFFFC00000000FFFFFF00000007FFFFFF80000
4698 01FFF803FC000003FFC000FE00000FFF0003FE00001FFE0007FF00003FFC000FFF00003F
4699 F8000FFF00007FF0000FFF00007FF0001FFF8000FFF0000FFF0000FFE0000FFF0000FFE0
4700 000FFF0000FFE0000FFF0000FFE00007FE0000FFE00001F80000FFE00000000000FFE000
4701 00000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000
4702 000000FFE001FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF
4703 80FFFFFFFFFFFF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF80
4704 00FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000
4705 FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FF
4706 E00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE0
4707 0003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE000
4708 03FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003
4709 FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF807FFFFFC1FFFF
4710 FF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF38467EC53E>28
4711 D<07C0001FF0003FF8007FFC00FFFE00FFFF00FFFF00FFFF00FFFF80FFFF80FFFF807FFF
4712 803FFF801FF78007C780000780000F80000F80000F00000F00001F00001E00003E00003E
4713 00007C0000FC0000F80001F00003E00007E0000FC0001F80001F00000C0000112278C41F
4714 >39 D<000001E0000003E000000FC000001F8000003F0000007E000000FC000001FC0000
4715 03F8000007F0000007E000000FE000001FC000003FC000003F8000007F800000FF000000
4716 FF000001FE000001FE000003FC000003FC000007FC000007F8000007F800000FF800000F
4717 F000000FF000001FF000001FF000001FE000003FE000003FE000003FE000003FE000007F
4718 C000007FC000007FC000007FC000007FC000007FC00000FFC00000FFC00000FF800000FF
4719 800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF
4720 800000FF800000FF800000FF800000FFC00000FFC000007FC000007FC000007FC000007F
4721 C000007FC000007FC000003FE000003FE000003FE000003FE000001FE000001FF000001F
4722 F000000FF000000FF000000FF8000007F8000007F8000007FC000003FC000003FC000001
4723 FE000001FE000000FF000000FF0000007F8000003F8000003FC000001FC000000FE00000
4724 07E0000007F0000003F8000001FC000000FC0000007E0000003F0000001F8000000FC000
4725 0003E0000001E01B6476CA2C>I<F0000000F80000007E0000003F0000001F8000000FC0
4726 000007E0000007F0000003F8000001FC000000FC000000FE0000007F0000007F8000003F
4727 8000003FC000001FE000001FE000000FF000000FF0000007F8000007F8000007FC000003
4728 FC000003FC000003FE000001FE000001FE000001FF000001FF000000FF000000FF800000
4729 FF800000FF800000FF8000007FC000007FC000007FC000007FC000007FC000007FC00000
4730 7FE000007FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE00000
4731 3FE000003FE000003FE000003FE000003FE000003FE000003FE000007FE000007FE00000
4732 7FC000007FC000007FC000007FC000007FC000007FC00000FF800000FF800000FF800000
4733 FF800000FF000001FF000001FF000001FE000001FE000003FE000003FC000003FC000007
4734 FC000007F8000007F800000FF000000FF000001FE000001FE000003FC000003F8000007F
4735 8000007F000000FE000000FC000001FC000003F8000007F0000007E000000FC000001F80
4736 00003F0000007E000000F8000000F00000001B647ACA2C>I<FFFFFFF8FFFFFFF8FFFFFF
4737 F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81D097F9A25>45
4738 D<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F0F788E1F
4739 >I<0000000000C00000000001E00000000003E00000000003E00000000003C000000000
4740 07C00000000007C0000000000F80000000000F80000000000F00000000001F0000000000
4741 1F00000000003E00000000003E00000000003C00000000007C00000000007C0000000000
4742 F80000000000F80000000001F00000000001F00000000001E00000000003E00000000003
4743 E00000000007C00000000007C0000000000780000000000F80000000000F80000000001F
4744 00000000001F00000000001E00000000003E00000000003E00000000007C00000000007C
4745 0000000000780000000000F80000000000F80000000001F00000000001F00000000001E0
4746 0000000003E00000000003E00000000007C00000000007C0000000000780000000000F80
4747 000000000F80000000001F00000000001F00000000003E00000000003E00000000003C00
4748 000000007C00000000007C0000000000F80000000000F80000000000F00000000001F000
4749 00000001F00000000003E00000000003E00000000003C00000000007C00000000007C000
4750 0000000F80000000000F80000000000F00000000001F00000000001F00000000003E0000
4751 0000003E00000000003C00000000007C00000000007C0000000000F80000000000F80000
4752 000000F00000000001F00000000001F00000000003E00000000003E00000000007C00000
4753 000007C0000000000780000000000F80000000000F80000000001F00000000001F000000
4754 00001E00000000003E00000000003E00000000007C00000000007C000000000078000000
4755 0000F80000000000F80000000000F000000000006000000000002B647ACA38>I<00003F
4756 F800000001FFFF0000000FFFFFE000003FFFFFF800007FF01FFC0000FFC007FE0001FF00
4757 01FF0003FE0000FF8007FE0000FFC007FC00007FC00FFC00007FE00FF800003FE01FF800
4758 003FF01FF800003FF03FF800003FF83FF800003FF83FF000001FF87FF000001FFC7FF000
4759 001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFCFFF000001FFEFFF000
4760 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
4761 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
4762 001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000
4763 001FFEFFF000001FFE7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000
4764 001FFC3FF800003FF83FF800003FF83FF800003FF81FF800003FF01FF800003FF00FF800
4765 003FE00FFC00007FE007FC00007FC007FE0000FFC003FF0001FF8001FF8003FF0000FFC0
4766 07FE00007FF01FFC00003FFFFFF800000FFFFFE0000003FFFF800000003FF800002F427C
4767 C038>I<000003C000000007C00000001FC00000007FC0000003FFC000003FFFC000FFFF
4768 FFC000FFFFFFC000FFFFFFC000FFFFFFC000FFC3FFC0000003FFC0000003FFC0000003FF
4769 C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0
4770 000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC000
4771 0003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC00000
4772 03FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003
4773 FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FF
4774 C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0
4775 000003FFC0000003FFC0000003FFC000FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFFFC
4776 FFFFFFFFFC264177C038>I<0000FFE00000000FFFFE0000003FFFFF800000FFFFFFE000
4777 03FFFFFFF80007FC03FFFE000FE0007FFF001F80003FFF803F00000FFFC07F000007FFC0
4778 7FC00007FFE07FF00003FFE0FFF00001FFF0FFF80001FFF0FFF80001FFF8FFF80000FFF8
4779 FFF80000FFF8FFF80000FFF8FFF80000FFF87FF00000FFF83FE00000FFF81FC00000FFF8
4780 00000000FFF800000000FFF000000001FFF000000001FFF000000001FFE000000003FFE0
4781 00000003FFC000000007FF800000000FFF000000000FFF000000001FFC000000003FF800
4782 0000003FF0000000007FE000000000FFC000000001FF0000000003FE0000000007FC0000
4783 00000FF0000000001FE0000000003F80000000007F0000780000FE0000780001FC000078
4784 0003F80000F80007E00000F0000FC00000F0001F800000F0003F000000F0007C000001F0
4785 00F8000003F001FFFFFFFFF003FFFFFFFFE007FFFFFFFFE00FFFFFFFFFE01FFFFFFFFFE0
4786 3FFFFFFFFFE07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0
4787 FFFFFFFFFFC02D417BC038>I<0000FFF000000007FFFF0000001FFFFFC000007FFFFFF0
4788 0000FF007FF80003F8003FFE0007E0001FFF0007E0000FFF000FF80007FF800FFE0007FF
4789 801FFE0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FF
4790 C01FFF0007FFC00FFE0007FFC007FC0007FF8003F8000FFF800000000FFF000000001FFF
4791 000000001FFE000000003FFC000000007FF800000000FFF000000001FFE00000000FFF80
4792 000007FFFE00000007FFF800000007FFFF00000007FFFFC000000000FFF0000000003FFC
4793 000000000FFE000000000FFF8000000007FF8000000003FFC000000003FFE000000003FF
4794 E000000001FFF000000001FFF000000001FFF800000001FFF800000001FFF80FC00001FF
4795 F83FF00001FFF87FF80001FFF87FF80001FFF8FFFC0001FFF8FFFC0001FFF8FFFC0001FF
4796 F0FFFC0001FFF0FFFC0003FFF0FFFC0003FFE07FF80003FFE07FF00007FFC07FE00007FF
4797 C03F80000FFF801FF0001FFF000FFE00FFFE0007FFFFFFF80001FFFFFFF000007FFFFFC0
4798 00001FFFFE00000001FFE000002D427BC038>I<000000003F0000000000003F00000000
4799 00007F000000000000FF000000000001FF000000000003FF000000000003FF0000000000
4800 07FF00000000000FFF00000000001FFF00000000003FFF00000000003FFF00000000007F
4801 FF0000000000FFFF0000000001F7FF0000000003E7FF0000000007E7FF0000000007C7FF
4802 000000000F87FF000000001F07FF000000003E07FF000000007E07FF000000007C07FF00
4803 000000F807FF00000001F007FF00000003E007FF00000007E007FF00000007C007FF0000
4804 000F8007FF0000001F0007FF0000003E0007FF0000007C0007FF0000007C0007FF000000
4805 F80007FF000001F00007FF000003E00007FF000007C00007FF00000FC00007FF00000F80
4806 0007FF00001F000007FF00003E000007FF00007C000007FF0000FC000007FF0000FFFFFF
4807 FFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF800000000F
4808 FF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF
4809 00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00
4810 000000000FFF000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF8000007FFFFFFF80
4811 00007FFFFFFF8031417DC038>I<07000000030007E000003F0007FF0007FF0007FFFFFF
4812 FF0007FFFFFFFE0007FFFFFFFC0007FFFFFFF80007FFFFFFF00007FFFFFFE00007FFFFFF
4813 800007FFFFFE000007FFFFFC000007FFFFE0000007FFFF00000007C00000000007C00000
4814 000007C00000000007C00000000007C00000000007C00000000007C00000000007C00000
4815 000007C00000000007C00000000007C03FF0000007C1FFFF000007C7FFFFC00007DFFFFF
4816 F00007FFE03FFC0007FF000FFE0007FC0007FF0007F00003FF8007E00003FFC007C00001
4817 FFC003800001FFE000000001FFE000000000FFF000000000FFF000000000FFF000000000
4818 FFF800000000FFF800000000FFF800000000FFF80F800000FFF83FE00000FFF87FF00000
4819 FFF8FFF00000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF0FFF00000
4820 FFF0FFF00001FFF07FE00001FFE07FC00001FFE07E000003FFC03E000003FFC03F000007
4821 FF801FC0000FFF000FF0001FFE0007FE00FFFC0003FFFFFFF00000FFFFFFE000003FFFFF
4822 8000000FFFFC00000001FFC000002D427BC038>I<1E00000000001F00000000001FFC00
4823 0000001FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE3FFFFFFFFFFE3FFFFF
4824 FFFFFC3FFFFFFFFFF83FFFFFFFFFF03FFFFFFFFFE03FFFFFFFFFC03FFFFFFFFFC07FFFFF
4825 FFFF807E0000003F007C0000007E007C000000FC0078000000F80078000001F800780000
4826 03F000F8000007E000F000000FC000F000000F8000F000001F80000000003F0000000000
4827 7E0000000000FC0000000000FC0000000001F80000000003F80000000003F00000000007
4828 F0000000000FE0000000000FE0000000001FE0000000001FC0000000003FC0000000003F
4829 C0000000007FC0000000007F8000000000FF8000000000FF8000000001FF8000000001FF
4830 8000000001FF8000000003FF8000000003FF0000000003FF0000000003FF0000000007FF
4831 0000000007FF0000000007FF0000000007FF0000000007FF000000000FFF000000000FFF
4832 000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF
4833 000000000FFF000000000FFF0000000007FE0000000003FC0000000001F80000002F447A
4834 C238>55 D<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C000
4835 00000000000000000000000000000000000000000000000000000007C01FF03FF87FFCFF
4836 FEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F2C78AB1F>58
4837 D<00000003FFF0000000000000007FFFFF80000000000003FFFFFFF000000000000FFFFF
4838 FFFC00000000003FFC000FFF0000000000FFC00000FFC000000003FE0000001FF0000000
4839 07F000000003F80000001FC000000000FE0000003F80000000007F0000007E0000000000
4840 1F800000FC00000000000FC00001F8000000000007E00001F00000FF800003E00003E000
4841 0FFFF00001F00007C0003FFFFC0000F80007C000FFFFFF0000F8000F8001FFC07F80007C
4842 000F0003FF001FC0003C001F0007FE0007E0003E001E000FFC0003F0001E003E001FF800
4843 01F0001F003E003FF80000FFE01F003C003FF00000FFE00F007C007FF00000FFE00F8078
4844 007FF00000FFE007807800FFE00000FFE007807800FFE00000FFE007807800FFE00000FF
4845 E00780F800FFE00000FFE007C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FF
4846 C00000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003
4847 C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC00000FFE003C0F001FFC000
4848 00FFE003C0F001FFC00000FFE003C0F800FFE00000FFE003C07800FFE00000FFE003C078
4849 00FFE00000FFE003807800FFE00000FFE0078078007FF00000FFE007807C007FF00000FF
4850 E007803C003FF00000FFE007803E003FF80000FFE007003E001FF80001FFE00F001E000F
4851 FC0003FFE00F001F0007FE0007FFF01E000F0003FF001FFFF03E000F8001FFC07FFFF87C
4852 0007C000FFFFFF3FFFF80007C0003FFFFC0FFFF00003E0000FFFF003FFE00001F00000FF
4853 80007F800001F8000000000000000000FC0000000000000000007E000000000000000000
4854 3F8000000000000000001FC000000000007FC00007F00000000003FFC00003FE00000000
4855 3FFF000000FFC0000003FFF80000003FFC0001FFFFC00000000FFFFFFFFFFE0000000003
4856 FFFFFFFFE000000000007FFFFFFC00000000000003FFFE000000004A477AC557>64
4857 D<000000001F8000000000000000001F8000000000000000003FC000000000000000003F
4858 C000000000000000007FE000000000000000007FE000000000000000007FE00000000000
4859 000000FFF00000000000000000FFF00000000000000001FFF80000000000000001FFF800
4860 00000000000001FFF80000000000000003FFFC0000000000000003FFFC00000000000000
4861 07FFFE0000000000000007FFFE0000000000000007FFFE000000000000000FFFFF000000
4862 000000000F9FFF000000000000001F9FFF800000000000001F1FFF800000000000001F0F
4863 FF800000000000003F0FFFC00000000000003E07FFC00000000000007E07FFE000000000
4864 00007C07FFE00000000000007C03FFE0000000000000FC03FFF0000000000000F801FFF0
4865 000000000001F801FFF8000000000001F001FFF8000000000001F000FFF8000000000003
4866 F000FFFC000000000003E0007FFC000000000007E0007FFE000000000007C0007FFE0000
4867 00000007C0003FFE00000000000FC0003FFF00000000000F80001FFF00000000001F8000
4868 1FFF80000000001F00000FFF80000000001F00000FFF80000000003F00000FFFC0000000
4869 003E000007FFC0000000007E000007FFE0000000007FFFFFFFFFE0000000007FFFFFFFFF
4870 E000000000FFFFFFFFFFF000000000FFFFFFFFFFF000000001FFFFFFFFFFF800000001F0
4871 000000FFF800000001F0000000FFF800000003F0000000FFFC00000003E00000007FFC00
4872 000007E00000007FFE00000007C00000003FFE00000007C00000003FFE0000000F800000
4873 003FFF0000000F800000001FFF0000001F800000001FFF8000001F000000000FFF800000
4874 3F000000000FFFC000003E000000000FFFC000007E0000000007FFC000FFFFFF00000FFF
4875 FFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF
4876 00000FFFFFFFF04C457CC455>I<FFFFFFFFFFFF000000FFFFFFFFFFFFF00000FFFFFFFF
4877 FFFFFE0000FFFFFFFFFFFFFF8000FFFFFFFFFFFFFFE000003FFC000007FFF000003FFC00
4878 0001FFF800003FFC0000007FFC00003FFC0000003FFE00003FFC0000001FFF00003FFC00
4879 00001FFF00003FFC0000000FFF80003FFC0000000FFF80003FFC0000000FFF80003FFC00
4880 000007FFC0003FFC00000007FFC0003FFC00000007FFC0003FFC00000007FFC0003FFC00
4881 000007FFC0003FFC00000007FFC0003FFC00000007FFC0003FFC0000000FFF80003FFC00
4882 00000FFF80003FFC0000001FFF00003FFC0000001FFF00003FFC0000003FFE00003FFC00
4883 00007FFC00003FFC000000FFF800003FFC000001FFF000003FFC000007FFE000003FFC00
4884 00FFFF8000003FFFFFFFFFFC0000003FFFFFFFFFF00000003FFFFFFFFFFF0000003FFFFF
4885 FFFFFFE000003FFC000001FFF800003FFC0000007FFC00003FFC0000001FFE00003FFC00
4886 00000FFF00003FFC00000007FF80003FFC00000007FFC0003FFC00000003FFE0003FFC00
4887 000003FFE0003FFC00000001FFF0003FFC00000001FFF0003FFC00000001FFF0003FFC00
4888 000001FFF8003FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF8003FFC00
4889 000001FFF8003FFC00000001FFF8003FFC00000001FFF8003FFC00000001FFF0003FFC00
4890 000001FFF0003FFC00000003FFF0003FFC00000003FFE0003FFC00000007FFE0003FFC00
4891 00000FFFC0003FFC0000001FFFC0003FFC0000003FFF80003FFC000000FFFF00003FFC00
4892 0007FFFE00FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF000FFFFFFFFFFFFFFC000FFFFFFFF
4893 FFFFFE0000FFFFFFFFFFFFE0000045447CC350>I<00000000FFF00000700000001FFFFF
4894 0000F0000001FFFFFFE001F0000007FFFFFFF803F000003FFFFFFFFE07F00000FFFFE001
4895 FF0FF00001FFFE00003F9FF00007FFF000000FFFF0000FFFC0000007FFF0001FFF000000
4896 03FFF0003FFE00000001FFF0007FFC00000000FFF000FFF8000000007FF001FFF0000000
4897 003FF003FFE0000000001FF007FFE0000000001FF007FFC0000000000FF00FFF80000000
4898 000FF00FFF800000000007F01FFF000000000007F01FFF000000000003F03FFF00000000
4899 0003F03FFE000000000003F03FFE000000000003F07FFE000000000001F07FFE00000000
4900 0001F07FFE000000000001F07FFC00000000000000FFFC00000000000000FFFC00000000
4901 000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000
4902 000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000
4903 000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000
4904 0000007FFC000000000000007FFE000000000000007FFE000000000000F07FFE00000000
4905 0000F03FFE000000000000F03FFE000000000000F03FFF000000000000F01FFF00000000
4906 0001F01FFF000000000001E00FFF800000000001E00FFF800000000003E007FFC0000000
4907 0003C007FFE00000000007C003FFE00000000007C001FFF0000000000F8000FFF8000000
4908 001F00007FFC000000003F00003FFE000000007E00001FFF80000000FC00000FFFC00000
4909 01F8000007FFF0000007F0000001FFFE00001FE0000000FFFFF001FF800000003FFFFFFF
4910 FF0000000007FFFFFFFC0000000001FFFFFFF000000000001FFFFF80000000000000FFF8
4911 00000044467AC451>I<FFFFFFFFFFFF00000000FFFFFFFFFFFFF0000000FFFFFFFFFFFF
4912 FE000000FFFFFFFFFFFFFF800000FFFFFFFFFFFFFFE00000003FFE00001FFFF80000003F
4913 FE000001FFFC0000003FFE0000003FFF0000003FFE0000000FFF8000003FFE00000007FF
4914 C000003FFE00000003FFE000003FFE00000001FFF000003FFE00000000FFF000003FFE00
4915 0000007FF800003FFE000000003FFC00003FFE000000003FFC00003FFE000000001FFE00
4916 003FFE000000001FFE00003FFE000000000FFF00003FFE000000000FFF00003FFE000000
4917 000FFF80003FFE000000000FFF80003FFE0000000007FF80003FFE0000000007FFC0003F
4918 FE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007
4919 FFC0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE00
4920 00000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0
4921 003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE000000
4922 0007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFC0003F
4923 FE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007
4924 FFC0003FFE0000000007FF80003FFE000000000FFF80003FFE000000000FFF80003FFE00
4925 0000000FFF00003FFE000000001FFF00003FFE000000001FFE00003FFE000000003FFE00
4926 003FFE000000003FFC00003FFE000000007FF800003FFE00000000FFF800003FFE000000
4927 00FFF000003FFE00000001FFE000003FFE00000007FFC000003FFE0000000FFF8000003F
4928 FE0000003FFF0000003FFE000001FFFE0000003FFE00000FFFF80000FFFFFFFFFFFFFFF0
4929 0000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFE000000FFFFFFFFFFFFF0000000FFFFFFFF
4930 FFFF000000004B447CC356>I<FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFF
4931 FFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFFC00001FFF000001FFFC00001FFF0000
4932 003FFC00001FFF0000000FFC00001FFF00000003FC00001FFF00000001FC00001FFF0000
4933 0000FC00001FFF00000000FC00001FFF000000007E00001FFF000000003E00001FFF0000
4934 00003E00001FFF000000003E00001FFF000000001E00001FFF000000001E00001FFF0000
4935 78001E00001FFF000078001E00001FFF000078000F00001FFF000078000F00001FFF0000
4936 78000F00001FFF000078000F00001FFF0000F8000000001FFF0000F8000000001FFF0000
4937 F8000000001FFF0001F8000000001FFF0003F8000000001FFF001FF8000000001FFFFFFF
4938 F8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFFFFFF
4939 F8000000001FFF001FF8000000001FFF0003F8000000001FFF0001F8000000001FFF0000
4940 F8000000001FFF0000F8000000001FFF0000F80001E0001FFF0000780001E0001FFF0000
4941 780001E0001FFF0000780003C0001FFF0000780003C0001FFF0000780003C0001FFF0000
4942 780003C0001FFF0000000003C0001FFF0000000007C0001FFF0000000007C0001FFF0000
4943 00000780001FFF000000000780001FFF000000000F80001FFF000000000F80001FFF0000
4944 00001F80001FFF000000001F80001FFF000000003F80001FFF000000007F00001FFF0000
4945 0000FF00001FFF00000001FF00001FFF00000007FF00001FFF0000001FFF00001FFF0000
4946 01FFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFF
4947 FFFFFE00FFFFFFFFFFFFFFFE0043447DC34A>I<FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80
4948 FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFFC0003FFE00001FFFC0003FFE00
4949 0001FFC0003FFE0000007FC0003FFE0000003FC0003FFE0000001FC0003FFE0000000FC0
4950 003FFE00000007C0003FFE00000007E0003FFE00000003E0003FFE00000003E0003FFE00
4951 000003E0003FFE00000001E0003FFE00000001E0003FFE00000001E0003FFE0001E001E0
4952 003FFE0001E000F0003FFE0001E000F0003FFE0001E000F0003FFE0001E000F0003FFE00
4953 01E00000003FFE0003E00000003FFE0003E00000003FFE0003E00000003FFE0007E00000
4954 003FFE000FE00000003FFE007FE00000003FFFFFFFE00000003FFFFFFFE00000003FFFFF
4955 FFE00000003FFFFFFFE00000003FFFFFFFE00000003FFE007FE00000003FFE000FE00000
4956 003FFE0007E00000003FFE0003E00000003FFE0003E00000003FFE0003E00000003FFE00
4957 01E00000003FFE0001E00000003FFE0001E00000003FFE0001E00000003FFE0001E00000
4958 003FFE0001E00000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00
4959 00000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000
4960 003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00
4961 00000000003FFE0000000000003FFE0000000000FFFFFFFFF0000000FFFFFFFFF0000000
4962 FFFFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF00000003C447CC346>I<FFFFFFFFE0
4963 FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0001FFF0000001FFF0000001FFF000000
4964 1FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001F
4965 FF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF
4966 0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF00
4967 00001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000
4968 001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF000000
4969 1FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001F
4970 FF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF
4971 0000001FFF0000001FFF0000001FFF0000001FFF0000FFFFFFFFE0FFFFFFFFE0FFFFFFFF
4972 E0FFFFFFFFE0FFFFFFFFE023447DC32A>73 D<FFFFFFFFF0000000FFFFFFFFF0000000FF
4973 FFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF0000000003FFE0000000000003FFE0000
4974 000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
4975 3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
4976 000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
4977 3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
4978 000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
4979 3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
4980 000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
4981 3FFE0000000000003FFE0000000000003FFE0000000780003FFE0000000780003FFE0000
4982 000780003FFE0000000780003FFE0000000F80003FFE0000000F00003FFE0000000F0000
4983 3FFE0000000F00003FFE0000000F00003FFE0000001F00003FFE0000001F00003FFE0000
4984 001F00003FFE0000003F00003FFE0000003F00003FFE0000007E00003FFE0000007E0000
4985 3FFE000000FE00003FFE000001FE00003FFE000003FE00003FFE000007FE00003FFE0000
4986 1FFE00003FFE00007FFE00003FFE0003FFFE00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FF
4987 FFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC0039447CC343>76
4988 D<FFFFFE0000000000007FFFFF80FFFFFF000000000000FFFFFF80FFFFFF000000000000
4989 FFFFFF80FFFFFF800000000001FFFFFF80FFFFFF800000000001FFFFFF80003FFF800000
4990 000001FFFE0000003DFFC00000000003DFFE0000003DFFC00000000003DFFE0000003CFF
4991 E000000000079FFE0000003CFFE000000000079FFE0000003C7FF0000000000F1FFE0000
4992 003C7FF0000000000F1FFE0000003C3FF8000000001E1FFE0000003C3FF8000000001E1F
4993 FE0000003C1FFC000000003C1FFE0000003C1FFC000000003C1FFE0000003C1FFC000000
4994 003C1FFE0000003C0FFE00000000781FFE0000003C0FFE00000000781FFE0000003C07FF
4995 00000000F01FFE0000003C07FF00000000F01FFE0000003C03FF80000001E01FFE000000
4996 3C03FF80000001E01FFE0000003C01FFC0000003C01FFE0000003C01FFC0000003C01FFE
4997 0000003C01FFC0000003C01FFE0000003C00FFE0000007801FFE0000003C00FFE0000007
4998 801FFE0000003C007FF000000F001FFE0000003C007FF000000F001FFE0000003C003FF8
4999 00001E001FFE0000003C003FF800001E001FFE0000003C001FFC00003C001FFE0000003C
5000 001FFC00003C001FFE0000003C001FFC00003C001FFE0000003C000FFE000078001FFE00
5001 00003C000FFE000078001FFE0000003C0007FF0000F0001FFE0000003C0007FF0000F000
5002 1FFE0000003C0003FF8001E0001FFE0000003C0003FF8001E0001FFE0000003C0001FFC0
5003 03C0001FFE0000003C0001FFC003C0001FFE0000003C0000FFE00780001FFE0000003C00
5004 00FFE00780001FFE0000003C0000FFE00780001FFE0000003C00007FF00F00001FFE0000
5005 003C00007FF00F00001FFE0000003C00003FF81E00001FFE0000003C00003FF81E00001F
5006 FE0000003C00001FFC3C00001FFE0000003C00001FFC3C00001FFE0000003C00000FFE78
5007 00001FFE0000003C00000FFE7800001FFE0000003C00000FFE7800001FFE0000003C0000
5008 07FFF000001FFE0000003C000007FFF000001FFE0000003C000003FFE000001FFE000000
5009 3C000003FFE000001FFE0000003C000001FFC000001FFE0000003C000001FFC000001FFE
5010 0000003C000000FF8000001FFE0000003C000000FF8000001FFE0000FFFFFF0000FF8000
5011 7FFFFFFF80FFFFFF00007F00007FFFFFFF80FFFFFF00007F00007FFFFFFF80FFFFFF0000
5012 3E00007FFFFFFF80FFFFFF00001C00007FFFFFFF8061447CC36A>I<FFFFFF00000001FF
5013 FFFEFFFFFF80000001FFFFFEFFFFFFC0000001FFFFFEFFFFFFC0000001FFFFFEFFFFFFE0
5014 000001FFFFFE003FFFF0000000007800003FFFF8000000007800003DFFFC000000007800
5015 003DFFFE000000007800003CFFFE000000007800003C7FFF000000007800003C3FFF8000
5016 00007800003C1FFFC00000007800003C0FFFE00000007800003C07FFF00000007800003C
5017 07FFF80000007800003C03FFF80000007800003C01FFFC0000007800003C00FFFE000000
5018 7800003C007FFF0000007800003C003FFF8000007800003C003FFFC000007800003C001F
5019 FFC000007800003C000FFFE000007800003C0007FFF000007800003C0003FFF800007800
5020 003C0001FFFC00007800003C0000FFFE00007800003C0000FFFF00007800003C00007FFF
5021 00007800003C00003FFF80007800003C00001FFFC0007800003C00000FFFE0007800003C
5022 000007FFF0007800003C000007FFF8007800003C000003FFF8007800003C000001FFFC00
5023 7800003C000000FFFE007800003C0000007FFF007800003C0000003FFF807800003C0000
5024 001FFFC07800003C0000001FFFE07800003C0000000FFFE07800003C00000007FFF07800
5025 003C00000003FFF87800003C00000001FFFC7800003C00000000FFFE7800003C00000000
5026 FFFF7800003C000000007FFF7800003C000000003FFFF800003C000000001FFFF800003C
5027 000000000FFFF800003C0000000007FFF800003C0000000003FFF800003C0000000003FF
5028 F800003C0000000001FFF800003C0000000000FFF800003C00000000007FF800003C0000
5029 0000003FF800003C00000000001FF800003C00000000001FF800003C00000000000FF800
5030 003C000000000007F800FFFFFF0000000003F800FFFFFF0000000001F800FFFFFF000000
5031 0000F800FFFFFF00000000007800FFFFFF000000000078004F447CC358>I<00000007FF
5032 C0000000000000FFFFFE000000000007FFFFFFC0000000001FFFFFFFF0000000007FFE00
5033 FFFC00000001FFF0001FFF00000007FF800003FFC000000FFF000001FFE000001FFC0000
5034 007FF000003FF80000003FF800007FF00000001FFC0000FFF00000001FFE0001FFE00000
5035 000FFF0003FFC000000007FF8003FFC000000007FF8007FF8000000003FFC007FF800000
5036 0003FFC00FFF0000000001FFE00FFF0000000001FFE01FFF0000000001FFF01FFE000000
5037 0000FFF03FFE0000000000FFF83FFE0000000000FFF83FFE0000000000FFF87FFE000000
5038 0000FFFC7FFC00000000007FFC7FFC00000000007FFC7FFC00000000007FFC7FFC000000
5039 00007FFCFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
5040 00007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
5041 00007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC000000
5042 00007FFEFFFC00000000007FFE7FFC00000000007FFC7FFE0000000000FFFC7FFE000000
5043 0000FFFC7FFE0000000000FFFC3FFE0000000000FFF83FFE0000000000FFF83FFF000000
5044 0001FFF81FFF0000000001FFF01FFF0000000001FFF01FFF8000000003FFF00FFF800000
5045 0003FFE00FFF8000000003FFE007FFC000000007FFC003FFC000000007FF8003FFE00000
5046 000FFF8001FFF00000001FFF0000FFF80000003FFE00007FFC0000007FFC00003FFE0000
5047 00FFF800001FFF000001FFF000000FFFC00007FFE0000007FFF0001FFFC0000001FFFE00
5048 FFFF00000000FFFFFFFFFE000000003FFFFFFFF80000000007FFFFFFC00000000000FFFF
5049 FE00000000000007FFC000000047467AC454>I<FFFFFFFFFFFF000000FFFFFFFFFFFFF0
5050 0000FFFFFFFFFFFFFE0000FFFFFFFFFFFFFF8000FFFFFFFFFFFFFFE000001FFF00000FFF
5051 F000001FFF000001FFF800001FFF0000007FFC00001FFF0000003FFE00001FFF0000001F
5052 FF00001FFF0000000FFF80001FFF0000000FFF80001FFF0000000FFFC0001FFF00000007
5053 FFC0001FFF00000007FFC0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007
5054 FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007
5055 FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFC0001FFF00000007
5056 FFC0001FFF0000000FFF80001FFF0000000FFF80001FFF0000000FFF00001FFF0000001F
5057 FF00001FFF0000003FFE00001FFF0000007FFC00001FFF000001FFF800001FFF00000FFF
5058 F000001FFFFFFFFFFFC000001FFFFFFFFFFF0000001FFFFFFFFFFC0000001FFFFFFFFFC0
5059 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5060 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5061 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5062 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5063 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5064 0000001FFF000000000000001FFF000000000000001FFF000000000000001FFF00000000
5065 0000001FFF000000000000FFFFFFFFE000000000FFFFFFFFE000000000FFFFFFFFE00000
5066 0000FFFFFFFFE000000000FFFFFFFFE00000000043447DC34D>I<FFFFFFFFFFF8000000
5067 00FFFFFFFFFFFFC0000000FFFFFFFFFFFFF8000000FFFFFFFFFFFFFE000000FFFFFFFFFF
5068 FFFF800000001FFF00003FFFE00000001FFF000003FFF00000001FFF000000FFF8000000
5069 1FFF0000007FFC0000001FFF0000003FFE0000001FFF0000001FFF0000001FFF0000001F
5070 FF0000001FFF0000001FFF8000001FFF0000000FFF8000001FFF0000000FFF8000001FFF
5071 0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC0
5072 00001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000
5073 000FFF8000001FFF0000000FFF8000001FFF0000001FFF0000001FFF0000001FFF000000
5074 1FFF0000003FFE0000001FFF0000003FFC0000001FFF0000007FFC0000001FFF000001FF
5075 F00000001FFF000007FFE00000001FFF00003FFF800000001FFFFFFFFFFF000000001FFF
5076 FFFFFFF8000000001FFFFFFFFFE0000000001FFFFFFFFFF8000000001FFF0000FFFC0000
5077 00001FFF00003FFF000000001FFF00000FFF800000001FFF000007FFC00000001FFF0000
5078 03FFE00000001FFF000003FFE00000001FFF000001FFF00000001FFF000001FFF0000000
5079 1FFF000000FFF80000001FFF000000FFF80000001FFF000000FFF80000001FFF000000FF
5080 F80000001FFF000000FFF80000001FFF000000FFF80000001FFF000000FFF80000001FFF
5081 000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC00
5082 00001FFF000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC000F001FFF0000
5083 00FFFE000F001FFF000000FFFE000F001FFF0000007FFE000F001FFF0000007FFF001F00
5084 1FFF0000003FFF001EFFFFFFFFE0001FFF803EFFFFFFFFE0000FFFE0FCFFFFFFFFE00007
5085 FFFFF8FFFFFFFFE00001FFFFF0FFFFFFFFE000007FFFE00000000000000007FF8050457D
5086 C354>82 D<0000FFE0001C000007FFFE003C00003FFFFF807C0000FFFFFFE0FC0001FFFF
5087 FFF9FC0003FF801FFFFC0007FC0001FFFC000FF800007FFC001FF000003FFC003FE00000
5088 0FFC003FC0000007FC007FC0000003FC007F80000003FC007F80000001FC007F80000000
5089 FC00FF80000000FC00FF800000007C00FF800000007C00FFC00000007C00FFC00000007C
5090 00FFE00000003C00FFF00000003C00FFF80000003C00FFFC00000000007FFE0000000000
5091 7FFFE0000000007FFFFE000000003FFFFFF00000003FFFFFFF0000001FFFFFFFE000001F
5092 FFFFFFFC00000FFFFFFFFE000007FFFFFFFF800003FFFFFFFFC00001FFFFFFFFE000007F
5093 FFFFFFF000001FFFFFFFF8000007FFFFFFFC000000FFFFFFFC0000000FFFFFFE00000000
5094 FFFFFE0000000007FFFF00000000007FFF00000000003FFF00000000000FFF8000000000
5095 07FF800000000003FF80F000000003FF80F000000001FF80F000000001FF80F000000000
5096 FF80F000000000FF80F800000000FF80F800000000FF80F800000000FF00FC00000000FF
5097 00FC00000000FF00FE00000001FF00FF00000001FE00FF80000003FE00FFC0000003FC00
5098 FFE0000007FC00FFF800000FF800FFFF00003FF000FFFFF800FFE000FE7FFFFFFFC000FC
5099 1FFFFFFF0000F807FFFFFC0000F000FFFFF00000E00007FF80000031467AC43E>I<3FFF
5100 FFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFF
5101 FFFFFFFFFFFFE03FFE000FFF8003FFE07FE0000FFF80003FF07FC0000FFF80001FF07F00
5102 000FFF800007F07F00000FFF800007F07E00000FFF800003F07C00000FFF800001F07C00
5103 000FFF800001F07C00000FFF800001F07800000FFF800000F07800000FFF800000F07800
5104 000FFF800000F07800000FFF800000F0F800000FFF800000F8F000000FFF80000078F000
5105 000FFF80000078F000000FFF80000078F000000FFF80000078F000000FFF800000780000
5106 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5107 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5108 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5109 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5110 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5111 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5112 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5113 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5114 000FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000
5115 000FFF800000000000000FFF800000000007FFFFFFFFFF00000007FFFFFFFFFF00000007
5116 FFFFFFFFFF00000007FFFFFFFFFF00000007FFFFFFFFFF000045437CC24E>I<FFFFFFFF
5117 80000FFFFFF8FFFFFFFF80000FFFFFF8FFFFFFFF80000FFFFFF8FFFFFFFF80000FFFFFF8
5118 FFFFFFFF80000FFFFFF8003FFE0000000003E000003FFE0000000003E000003FFE000000
5119 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
5120 FE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003
5121 E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE00
5122 00000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000
5123 003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE000000
5124 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
5125 FE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003
5126 E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE00
5127 00000003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000
5128 003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003FFE000000
5129 0003E000003FFE0000000003E000003FFE0000000003E000003FFE0000000003E000003F
5130 FE0000000003E000003FFE0000000003E000003FFE0000000003E000001FFE0000000007
5131 E000001FFE0000000007C000001FFF0000000007C000001FFF000000000FC000000FFF00
5132 0000000F8000000FFF800000001F80000007FF800000001F00000003FFC00000003F0000
5133 0003FFC00000007E00000001FFE0000000FC00000000FFF0000003FC000000007FFC0000
5134 07F8000000003FFF00003FF0000000000FFFF003FFE00000000007FFFFFFFF8000000000
5135 01FFFFFFFF0000000000007FFFFFFC0000000000000FFFFFE0000000000000007FFE0000
5136 00004D457CC356>I<0030007800F801F803E007C00FC00F801F001F003E003C007C007C
5137 0078007800F800F000F000F3E0FFF8FFFCFFFEFFFFFFFFFFFFFFFF7FFF7FFF3FFF3FFE1F
5138 FC0FF803E0102279C41F>96 D<0001FFE0000000001FFFFE000000007FFFFF80000001FF
5139 FFFFE0000003FE007FF8000007FC001FFC000007FE000FFE00000FFF0007FF00000FFF00
5140 07FF00000FFF0003FF80000FFF0003FF80000FFF0003FF80000FFF0001FFC00007FE0001
5141 FFC00003FC0001FFC00000F00001FFC00000000001FFC00000000001FFC00000000001FF
5142 C00000000001FFC000000003FFFFC0000000FFFFFFC0000007FFFFFFC000003FFFF1FFC0
5143 0000FFFC01FFC00003FFE001FFC00007FF8001FFC0001FFE0001FFC0003FFC0001FFC000
5144 3FF80001FFC0007FF80001FFC0007FF00001FFC000FFF00001FFC000FFE00001FFC000FF
5145 E00001FFC000FFE00001FFC000FFE00003FFC000FFE00003FFC000FFF00007FFC0007FF8
5146 000FFFC0007FF8001FFFF0003FFE003EFFFFC01FFF80FC7FFFC007FFFFF87FFFC003FFFF
5147 E01FFFC0007FFF8007FFC0000FFC00000000322F7DAD36>I<00003FFC00000001FFFFC0
5148 00000FFFFFF000003FFFFFFC00007FF003FE0000FFC001FF0003FF8003FF0007FF0007FF
5149 8007FE0007FF800FFE0007FF801FFC0007FF801FFC0007FF803FF80007FF803FF80003FF
5150 007FF80001FE007FF8000078007FF0000000007FF000000000FFF000000000FFF0000000
5151 00FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000
5152 00FFF000000000FFF000000000FFF000000000FFF0000000007FF8000000007FF8000000
5153 007FF8000000003FF8000000003FFC000003C03FFC000003C01FFE000007C00FFE000007
5154 800FFF00000F8007FF80001F0003FFC0003E0001FFF0007C00007FFC03F800003FFFFFF0
5155 00000FFFFFC0000003FFFF000000003FF800002A2F7CAD32>99 D<0000000003FE000000
5156 0007FFFE0000000007FFFE0000000007FFFE0000000007FFFE0000000007FFFE00000000
5157 001FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000000
5158 0FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000F
5159 FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE
5160 00000000000FFE00000000000FFE0000003FE00FFE000003FFFC0FFE00000FFFFF8FFE00
5161 003FFFFFCFFE0000FFF807FFFE0001FFC001FFFE0003FF80007FFE0007FF00003FFE000F
5162 FE00001FFE000FFC00000FFE001FFC00000FFE003FF800000FFE003FF800000FFE003FF8
5163 00000FFE007FF800000FFE007FF000000FFE007FF000000FFE00FFF000000FFE00FFF000
5164 000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF00000
5165 0FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000F
5166 FE007FF000000FFE007FF000000FFE007FF000000FFE007FF800000FFE003FF800000FFE
5167 003FF800000FFE001FFC00001FFE001FFC00001FFE000FFE00003FFE0007FE00007FFE00
5168 03FF0000FFFF0001FFC003FFFFFC00FFF01FEFFFFC007FFFFF8FFFFC001FFFFE0FFFFC00
5169 07FFF80FFFFC00007FC00FF80036467CC43E>I<00003FF800000003FFFF8000000FFFFF
5170 E000003FFFFFF000007FF83FF80000FFC007FC0001FF8003FE0003FF0001FF0007FE0000
5171 FF800FFC0000FF801FFC00007FC01FF800007FC03FF800003FE03FF800003FE07FF80000
5172 3FE07FF000003FE07FF000003FF07FF000001FF0FFF000001FF0FFF000001FF0FFFFFFFF
5173 FFF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0FFF000000000FFF000000000FFF00000
5174 0000FFF000000000FFF0000000007FF0000000007FF0000000007FF8000000007FF80000
5175 00003FF8000000003FF8000000F01FFC000000F01FFC000001F00FFE000001E007FF0000
5176 03E003FF800007C001FFC0000F8000FFF0003F00007FFE01FE00001FFFFFFC000007FFFF
5177 F0000001FFFFC00000001FFE00002C2F7DAD33>I<000000FF8000000FFFE000007FFFF0
5178 0001FFFFF80003FF8FFC000FFE0FFE001FFC1FFE001FF81FFE003FF81FFE007FF01FFE00
5179 7FF01FFE007FF00FFC00FFE00FFC00FFE003F000FFE000C000FFE0000000FFE0000000FF
5180 E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
5181 000000FFE00000FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF80000FFE000
5182 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
5183 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
5184 FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
5185 E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
5186 000000FFE0000000FFE0000000FFE0000000FFE000007FFFFFE0007FFFFFE0007FFFFFE0
5187 007FFFFFE0007FFFFFE00027467DC522>I<0000FFE0007E00000FFFFE03FF80003FFFFF
5188 8FFF8000FFFFFFFFFFC001FFC07FFF3FC003FF001FF83FC007FE000FFC3FC00FFC0007FE
5189 1F801FFC0007FF0F001FF80003FF00001FF80003FF00003FF80003FF80003FF80003FF80
5190 003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000
5191 3FF80003FF80001FF80003FF00001FF80003FF00001FFC0007FF00000FFC0007FE000007
5192 FE000FFC000003FF001FF8000001FFC07FF0000003FFFFFFE0000003FFFFFF800000078F
5193 FFFE0000000780FFE00000000F8000000000000F8000000000000F8000000000000F8000
5194 000000000FC000000000000FE000000000000FF000000000000FFFFFFFC000000FFFFFFF
5195 FC000007FFFFFFFF800007FFFFFFFFE00003FFFFFFFFF00001FFFFFFFFFC0000FFFFFFFF
5196 FC0003FFFFFFFFFE000FFFFFFFFFFF001FF000007FFF003FC0000007FF007F80000001FF
5197 807F80000000FF80FF00000000FF80FF000000007F80FF000000007F80FF000000007F80
5198 FF000000007F80FF80000000FF807F80000000FF007FC0000001FF003FE0000003FE001F
5199 F0000007FC000FFE00003FF80007FFC001FFF00001FFFFFFFFC000007FFFFFFF0000000F
5200 FFFFF8000000007FFF00000032427DAC38>I<007FC000000000FFFFC000000000FFFFC0
5201 00000000FFFFC000000000FFFFC000000000FFFFC00000000003FFC00000000001FFC000
5202 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
5203 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
5204 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
5205 01FFC00000000001FFC007FE000001FFC03FFF800001FFC0FFFFE00001FFC1FFFFF80001
5206 FFC7F03FFC0001FFCF801FFC0001FFDF000FFE0001FFDE000FFE0001FFFC000FFE0001FF
5207 F80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF0001FFE00007FF0001FFE0
5208 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
5209 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
5210 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
5211 0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
5212 01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00FF
5213 FFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE3745
5214 7CC43E>I<007C0001FF0003FF8007FFC007FFC00FFFE00FFFE00FFFE00FFFE00FFFE007
5215 FFC007FFC003FF8001FF00007C0000000000000000000000000000000000000000000000
5216 0000000000000000007FC07FFFC07FFFC07FFFC07FFFC07FFFC003FFC001FFC001FFC001
5217 FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001
5218 FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001
5219 FFC001FFC001FFC001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
5220 467CC520>I<007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFF
5221 C000000000FFFFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC0
5222 0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
5223 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
5224 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
5225 0001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE0
5226 01FFC0000FE00001FFC0001FC00001FFC0003F000001FFC0007E000001FFC000FC000001
5227 FFC003F8000001FFC007E0000001FFC00FC0000001FFC01F80000001FFC07F00000001FF
5228 C0FE00000001FFC1FC00000001FFC3FE00000001FFC7FE00000001FFDFFF00000001FFFF
5229 FF80000001FFFFFFC0000001FFFFFFC0000001FFF9FFE0000001FFE1FFF0000001FFC0FF
5230 F8000001FF807FF8000001FF803FFC000001FF803FFE000001FF801FFF000001FF800FFF
5231 000001FF8007FF800001FF8007FFC00001FF8003FFE00001FF8001FFE00001FF8000FFF0
5232 0001FF8000FFF80001FF80007FFC0001FF80003FFC00FFFFFF03FFFFF8FFFFFF03FFFFF8
5233 FFFFFF03FFFFF8FFFFFF03FFFFF8FFFFFF03FFFFF835457DC43B>107
5234 D<007FC000FFFFC000FFFFC000FFFFC000FFFFC000FFFFC00003FFC00001FFC00001FFC0
5235 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5236 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5237 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5238 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5239 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5240 0001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC0
5241 0001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF8019457CC420>I<007F8007
5242 FE00000FFC0000FFFF803FFFC0007FFF8000FFFF80FFFFF001FFFFE000FFFF81FFFFF803
5243 FFFFF000FFFF87F01FFC0FE03FF800FFFF8FC00FFE1F801FFC0003FF9F000FFF3E001FFE
5244 0001FF9E0007FF3C000FFE0001FFBC0007FF78000FFE0001FFF80003FFF00007FF0001FF
5245 F80003FFF00007FF0001FFF00003FFE00007FF0001FFE00003FFC00007FF0001FFE00003
5246 FFC00007FF0001FFE00003FFC00007FF0001FFC00003FF800007FF0001FFC00003FF8000
5247 07FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF00
5248 01FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC0
5249 0003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF
5250 800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007
5251 FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001
5252 FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC000
5253 03FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF80
5254 0007FF00FFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFF
5255 FEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFE572D7CAC5E>I<007F8007FE00
5256 00FFFF803FFF8000FFFF80FFFFE000FFFF81FFFFF800FFFF87F03FFC00FFFF8F801FFC00
5257 03FF9F000FFE0001FF9E000FFE0001FFBC000FFE0001FFF80007FF0001FFF00007FF0001
5258 FFF00007FF0001FFE00007FF0001FFE00007FF0001FFE00007FF0001FFC00007FF0001FF
5259 C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
5260 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
5261 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
5262 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
5263 0001FFC00007FF0001FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFE
5264 FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE372D7CAC3E>I<00001FFC00000000
5265 01FFFFC000000007FFFFF00000001FFFFFFC0000007FF80FFF000000FFC001FF800001FF
5266 8000FFC00003FE00003FE00007FE00003FF0000FFC00001FF8000FF800000FF8001FF800
5267 000FFC001FF800000FFC003FF800000FFE003FF0000007FE007FF0000007FF007FF00000
5268 07FF007FF0000007FF007FF0000007FF00FFF0000007FF80FFF0000007FF80FFF0000007
5269 FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF
5270 80FFF0000007FF80FFF0000007FF807FF0000007FF007FF0000007FF007FF0000007FF00
5271 7FF0000007FF003FF800000FFE003FF800000FFE001FF800000FFC001FFC00001FFC000F
5272 FC00001FF80007FE00003FF00007FE00003FF00003FF8000FFE00001FFC001FFC000007F
5273 F80FFF0000003FFFFFFE0000000FFFFFF800000001FFFFC0000000001FFC000000312F7D
5274 AD38>I<007FC00FF80000FFFFC0FFFF8000FFFFC3FFFFE000FFFFCFFFFFF800FFFFDFC0
5275 3FFC00FFFFFF001FFE0003FFFC0007FF0001FFF80003FF8001FFF00003FFC001FFE00001
5276 FFE001FFC00001FFE001FFC00000FFF001FFC00000FFF001FFC000007FF801FFC000007F
5277 F801FFC000007FF801FFC000007FF801FFC000003FFC01FFC000003FFC01FFC000003FFC
5278 01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01
5279 FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000007FF801FF
5280 C000007FF801FFC000007FF801FFC000007FF001FFC00000FFF001FFC00000FFF001FFC0
5281 0001FFE001FFE00001FFC001FFF00003FFC001FFF80007FF8001FFFC000FFF0001FFFE00
5282 1FFE0001FFDFC07FFC0001FFCFFFFFF00001FFC3FFFFC00001FFC0FFFF000001FFC01FF0
5283 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
5284 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
5285 01FFC00000000001FFC00000000001FFC000000000FFFFFF80000000FFFFFF80000000FF
5286 FFFF80000000FFFFFF80000000FFFFFF8000000036407DAC3E>I<007F807F00FFFF81FF
5287 E0FFFF83FFF0FFFF8FFFF8FFFF8F8FFCFFFF9F1FFE03FFBE1FFE01FFBC1FFE01FFF81FFE
5288 01FFF81FFE01FFF01FFE01FFF00FFC01FFE007F801FFE001E001FFE0000001FFE0000001
5289 FFE0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF
5290 C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0
5291 000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000
5292 0001FFC0000001FFC00000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000
5293 272D7DAC2E>114 D<001FFC038000FFFF878003FFFFFF800FFFFFFF801FF003FF803FC0
5294 00FF803F80003F807F00001F807E00001F80FE00000F80FE00000F80FE00000780FF0000
5295 0780FF00000780FF80000780FFE0000000FFFE0000007FFFF000007FFFFF00003FFFFFC0
5296 003FFFFFF0001FFFFFFC000FFFFFFE0003FFFFFF0001FFFFFF80007FFFFF80000FFFFFC0
5297 00003FFFC0000003FFE0000000FFE0F000003FE0F000003FE0F800001FE0F800000FE0F8
5298 00000FE0FC00000FE0FC00000FE0FE00000FC0FF00001FC0FF00001FC0FF80003F80FFE0
5299 007F00FFF803FE00FFFFFFFC00FCFFFFF800F03FFFE000E007FE0000232F7CAD2C>I<00
5300 01E000000001E000000001E000000001E000000001E000000003E000000003E000000003
5301 E000000003E000000007E000000007E00000000FE00000000FE00000001FE00000001FE0
5302 0000003FE00000007FE0000000FFE0000003FFE000000FFFFFFF80FFFFFFFF80FFFFFFFF
5303 80FFFFFFFF80FFFFFFFF8000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
5304 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
5305 FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
5306 E0000000FFE0000000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE0
5307 01E000FFE001E000FFE001E000FFE001E000FFE003E000FFF003C0007FF003C0007FF007
5308 C0003FF80F80001FFC1F00000FFFFF000007FFFC000001FFF80000003FE00023407EBE2C
5309 >I<007FC00001FF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF
5310 00FFFFC003FFFF0003FFC0000FFF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
5311 01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
5312 FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
5313 C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
5314 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
5315 07FF0001FFC00007FF0001FFC00007FF0001FFC0000FFF0001FFC0000FFF0001FFC0001F
5316 FF0001FFC0001FFF0001FFC0003FFF0000FFC0003FFF0000FFE0007FFF80007FE001F7FF
5317 FE007FF807E7FFFE003FFFFFC7FFFE000FFFFF07FFFE0003FFFE07FFFE00007FF007FC00
5318 372E7CAC3E>I<FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFF
5319 FFFF0003FFFC01FFE000003E0000FFE000003C0000FFF000003C00007FF000007800007F
5320 F800007800007FF80000F800003FF80000F000003FFC0001F000001FFC0001E000001FFE
5321 0003E000000FFE0003C000000FFF0007C0000007FF000780000007FF800F80000003FF80
5322 0F00000003FFC00F00000003FFC01F00000001FFE01E00000001FFE03E00000000FFE03C
5323 00000000FFF07C000000007FF078000000007FF8F8000000003FF8F0000000003FFDF000
5324 0000001FFDE0000000001FFFE0000000000FFFC0000000000FFFC0000000000FFFC00000
5325 000007FF800000000007FF800000000003FF000000000003FF000000000001FE00000000
5326 0001FE000000000000FC000000000000FC00000000000078000000362C7EAB3B>I<FFFF
5327 FE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF000FFF0
5328 0003E000007FF80007C000003FFC000F8000001FFC001F0000001FFE003F0000000FFF00
5329 7E00000007FF807C00000003FFC0F800000001FFC1F000000001FFE3E000000000FFF7C0
5330 000000007FFF80000000003FFF80000000001FFF00000000001FFE00000000000FFF0000
5331 00000007FF800000000003FFC00000000003FFC00000000007FFE0000000000FFFF00000
5332 00000FFFF8000000001F3FFC000000003E1FFC000000007C1FFE00000000F80FFF000000
5333 01F007FF80000003F003FFC0000007E001FFC0000007C001FFE000000F8000FFF000001F
5334 00007FF800003E00003FFC00007E00001FFC00FFFFE000FFFFFCFFFFE000FFFFFCFFFFE0
5335 00FFFFFCFFFFE000FFFFFCFFFFE000FFFFFC362C7EAB3B>120 D<FFFFFF0003FFFCFFFF
5336 FF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFC01FFE000003E0000FFE0
5337 00003C0000FFF000003C00007FF000007800007FF800007800007FF80000F800003FF800
5338 00F000003FFC0001F000001FFC0001E000001FFE0003E000000FFE0003C000000FFF0007
5339 C0000007FF000780000007FF800F80000003FF800F00000003FFC00F00000003FFC01F00
5340 000001FFE01E00000001FFE03E00000000FFE03C00000000FFF07C000000007FF0780000
5341 00007FF8F8000000003FF8F0000000003FFDF0000000001FFDE0000000001FFFE0000000
5342 000FFFC0000000000FFFC0000000000FFFC00000000007FF800000000007FF8000000000
5343 03FF000000000003FF000000000001FE000000000001FE000000000000FC000000000000
5344 FC0000000000007800000000000078000000000000F8000000000000F0000000000001F0
5345 000000000001E00000001F0003E00000003F8003C00000007FC007C0000000FFE0078000
5346 0000FFE00F80000000FFE00F00000000FFE01F00000000FFE03E00000000FFC07C000000
5347 007FC1F8000000007F07F0000000003FFFE0000000001FFFC00000000007FF0000000000
5348 01FC000000000036407EAB3B>I<1FFFFFFFFF801FFFFFFFFF801FFFFFFFFF801FFFFFFF
5349 FF801FFC001FFF001FE0003FFE001FC0003FFE001F80007FFC001F0000FFF8003F0001FF
5350 F0003E0001FFF0003E0003FFE0003E0007FFC0003C000FFF80003C000FFF80003C001FFF
5351 00003C003FFE00003C007FFC000000007FFC00000000FFF800000001FFF000000003FFE0
5352 00000003FFE000000007FFC00000000FFF800780001FFF000780001FFF000780003FFE00
5353 0780007FFC000F8000FFF8000F0000FFF8000F0001FFF0000F0003FFE0001F0007FFC000
5354 1F0007FFC0001F000FFF80003F001FFF00007F003FFE0000FF003FFE0003FF007FFC001F
5355 FE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00292C7DAB32>I
5356 E
5357 %EndDVIPSBitmapFont
5358 %DVIPSBitmapFont: Fb ecrm0800 8 16
5359 /Fb 16 118 df<FFFFC0FFFFC0FFFFC0FFFFC012047F9018>45 D<3C7EFFFFFFFF7E3C08
5360 087A8714>I<000000C0000000C0000001C0000001800000018000000380000003000000
5361 0700000006000000060000000E0000000C0000000C0000001C0000001800000038000000
5362 3000000030000000700000006000000060000000E0000000C0000000C0000001C0000001
5363 8000000380000003000000030000000700000006000000060000000E0000000C0000001C
5364 00000018000000180000003800000030000000300000007000000060000000E0000000C0
5365 000000C0000001C000000180000001800000038000000300000003000000070000000600
5366 00000E0000000C0000000C0000001C000000180000001800000038000000300000007000
5367 00006000000060000000E0000000C0000000C00000001A437CB123>I<3C7EFFFFFFFF7E
5368 3C000000000000000000000000003C7EFFFFFFFF7E3C081D7A9C14>58
5369 D<00FF000007FFC0000F01F0001C00F8003F007C003F003E003F003E003F003F001E001F
5370 0000001F0000001F0000001F0000001F000007FF00007FFF0001FE1F0007F01F001FC01F
5371 003F801F007F001F007E001F00FE001F06FC001F06FC001F06FC001F06FC003F06FE003F
5372 067E007F067F00EF8C1F83C7FC0FFF03F801FC01E01F207D9E23>97
5373 D<07C0000000FFC0000000FFC00000000FC000000007C000000007C000000007C0000000
5374 07C000000007C000000007C000000007C000000007C000000007C000000007C000000007
5375 C000000007C000000007C0FE000007C7FF800007CF03E00007DC01F00007F8007C0007F0
5376 007E0007E0003E0007C0001F0007C0001F8007C0001F8007C0000F8007C0000FC007C000
5377 0FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0000F
5378 C007C0001F8007C0001F8007C0001F0007C0003F0007E0003E0007F0007C0007B000F800
5379 07BC01F000070E07E0000607FF80000001FC0000222F7EAD27>I<001FE000007FFC0001
5380 F01E0003E0070007C01F800F801F801F001F803F001F803E000F007E0000007E0000007C
5381 000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC
5382 0000007E0000007E0000007E0000C03F0000C01F0001C01F8001800FC0038007E0070001
5383 F03E00007FF800001FC0001A207E9E1F>I<0003F0000FFC003E1E007C3F00F83F01F03F
5384 01F03F03E00C03E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
5385 FFFFE0FFFFE003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
5386 03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
5387 03E00003E00007F0007FFF807FFF80182F7FAE16>102 D<003F00F800FFC3FE03E1FF1E
5388 07807C1E0F807C0C1F003E001F003E003E001F003E001F003E001F003E001F003E001F00
5389 3E001F003E001F001F003E001F003E000F807C00078078000FE1F0000CFFC0001C3F0000
5390 1C0000001C0000001C0000001E0000001F0000000FFFF8000FFFFF0007FFFFC00FFFFFF0
5391 1E0007F83C0000F87800007CF800007CF000003CF000003CF000003CF000003CF800007C
5392 7C0000F83E0001F01F0003E007E01F8001FFFE00003FF0001F2D7E9D23>I<07C0000000
5393 FFC0000000FFC00000000FC000000007C000000007C000000007C000000007C000000007
5394 C000000007C000000007C000000007C000000007C000000007C000000007C000000007C0
5395 00000007C0FE000007C3FF800007C703E00007DE01F00007F801F00007F000F80007F000
5396 F80007E000F80007E000F80007C000F80007C000F80007C000F80007C000F80007C000F8
5397 0007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F800
5398 07C000F80007C000F80007C000F80007C000F80007C000F80007C000F8000FE001FC00FF
5399 FE1FFFC0FFFE1FFFC0222E7EAD27>I<07800FC01FE01FE01FE01FE00FC0078000000000
5400 00000000000000000000000007C0FFC0FFC00FC007C007C007C007C007C007C007C007C0
5401 07C007C007C007C007C007C007C007C007C007C007C007C007C007C007C00FE0FFFCFFFC
5402 0E2E7EAD14>I<001FE000007FF80001F03E0003C00F00078007800F0003C01F0003E03E
5403 0001F03E0001F07C0000F87C0000F87C0000F8FC0000FCFC0000FCFC0000FCFC0000FCFC
5404 0000FCFC0000FCFC0000FCFC0000FCFC0000FC7C0000F87C0000F83E0001F03E0001F01F
5405 0003E01F0003E00F8007C007C00F8001F03E00007FF800001FE0001E207E9E23>111
5406 D<07C0FE0000FFC7FF8000FFCF03E0000FDC01F00007F800FC0007F0007E0007E0003E00
5407 07C0003F0007C0001F8007C0001F8007C0001F8007C0000FC007C0000FC007C0000FC007
5408 C0000FC007C0000FC007C0000FC007C0000FC007C0000FC007C0001FC007C0001F8007C0
5409 001F8007C0003F0007C0003F0007E0007E0007F0007C0007F000F80007FC01F00007CE07
5410 E00007C7FF800007C1FC000007C000000007C000000007C000000007C000000007C00000
5411 0007C000000007C000000007C000000007C00000000FE0000000FFFE000000FFFE000000
5412 222B7E9D27>I<01FE1807FFB81E01F83C00F8780078F00038F00038F00018F00018F800
5413 18FC0018FF00007FF0003FFF001FFFC00FFFF001FFF8001FFC0001FCC0007EC0003EC000
5414 3EE0001EE0001EF0001EF0001EF8003CF8003CFC0078FF01F0E3FFC0C0FF0017207E9E1C
5415 >115 D<00600000600000600000600000E00000E00000E00001E00003E00003E00007E0
5416 001FE000FFFFF0FFFFF003E00003E00003E00003E00003E00003E00003E00003E00003E0
5417 0003E00003E00003E00003E00003E00003E00003E01803E01803E01803E01803E01803E0
5418 1803E01803E03801F03001F07000F860003FE0000F80152A7FA81B>I<07C000F800FFC0
5419 1FF800FFC01FF8000FC001F80007C000F80007C000F80007C000F80007C000F80007C000
5420 F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C000F8
5421 0007C000F80007C000F80007C000F80007C000F80007C000F80007C000F80007C001F800
5422 07C001F80007C001F80007C003F80003E007F80003E00EFC0001F81CFFC0007FF8FFC000
5423 1FE0F800221F7E9D27>I E
5424 %EndDVIPSBitmapFont
5425 %DVIPSBitmapFont: Fc ecrm0600 6 1
5426 /Fc 1 50 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000
5427 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
5428 01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A
5429 A01E>49 D E
5430 %EndDVIPSBitmapFont
5431 %DVIPSBitmapFont: Fd ecrm0700 7 1
5432 /Fd 1 50 df<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F800
5433 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
5434 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
5435 00F80001FC00FFFFF8FFFFF815267BA521>49 D E
5436 %EndDVIPSBitmapFont
5437 /Fe 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Ff 134[40 39
5438 55 38 45 28 34 35 1[42 42 47 68 21 38 1[25 42 38 25 38
5439 42 38 1[42 10[62 62 1[47 7[64 2[62 64 2[63 1[58 18[42
5440 1[30 16[47 28[{ T1Encoding ReEncodeFont }33 83.022 /SFTI1000
5441 rf /Fg 129[44 44 44 44 44 44 44 44 44 44 44 44 44 44
5442 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
5443 44 44 44 44 44 44 44 44 44 44 44 44 44 1[44 44 44 44
5444 44 44 1[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
5445 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
5446 44 44 44 44 44 44 44 44 33[{ T1Encoding ReEncodeFont }92
5447 83.022 /SFTT1000 rf /Fh 240[42 11[42 3[{}2 83.022 /CMSY10
5448 rf
5449 %DVIPSBitmapFont: Fi ecbx1440 14.4 50
5450 /Fi 50 122 df<000000007FFC0000000000001FFFFF800000000001FFFFFFE000000000
5451 07FFFFFFF8000000003FFFC00FFC00000000FFFC0001FE00000001FFF000007F00000007
5452 FFC00003FF0000000FFF800007FF8000001FFF00000FFF8000003FFF00000FFF8000003F
5453 FE00000FFF8000007FFC00000FFF8000007FFC00001FFFC00000FFFC00000FFF800000FF
5454 F800000FFF800000FFF800000FFF800000FFF8000007FF000000FFF8000003FE000000FF
5455 F8000000F8000000FFF800000000000000FFF800000000000000FFF800000000000000FF
5456 F800000000000000FFF800000000000000FFF800000000000000FFF800000000000000FF
5457 F800000000000000FFF800000000000000FFF800000000000000FFF80007FFFFC000FFFF
5458 FFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFF
5459 FFFFFFFFFFC00000FFF800000FFFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5460 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5461 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5462 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5463 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5464 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5465 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5466 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5467 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5468 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
5469 F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFF
5470 FFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFF
5471 FFF807FFFFFFC042547DD349>28 D<07E0001FF8003FFC007FFE007FFF00FFFF00FFFF80
5472 FFFF80FFFF80FFFFC0FFFFC07FFFC07FFFC03FFFC01FFBC007E3C00003C00003C00003C0
5473 0007C0000780000780000F80000F80000F00001F00001E00003E00003C00007C0000F800
5474 01F80001F00003E00007C0001F80001F00001E00000C0000122776D225>39
5475 D<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0
5476 FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0230B7F9F2C>45
5477 D<07E01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF807E0101076
5478 8F25>I<000003FF80000000003FFFF800000001FFFFFF00000007FFFFFFC000000FFF01
5479 FFE000003FFC007FF800007FF0001FFC0000FFE0000FFE0001FFC00007FF0001FF800003
5480 FF0003FF800003FF8007FF000001FFC007FF000001FFC00FFE000000FFE00FFE000000FF
5481 E01FFE000000FFF01FFE000000FFF01FFE000000FFF03FFE000000FFF83FFE000000FFF8
5482 3FFC0000007FF83FFC0000007FF87FFC0000007FFC7FFC0000007FFC7FFC0000007FFC7F
5483 FC0000007FFC7FFC0000007FFC7FFC0000007FFCFFFC0000007FFEFFFC0000007FFEFFFC
5484 0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC00
5485 00007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000
5486 007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC000000
5487 7FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007FFEFFFC0000007F
5488 FE7FFC0000007FFC7FFC0000007FFC7FFC0000007FFC7FFC0000007FFC7FFC0000007FFC
5489 7FFC0000007FFC3FFC0000007FF83FFE000000FFF83FFE000000FFF83FFE000000FFF81F
5490 FE000000FFF01FFE000000FFF01FFE000000FFF00FFE000000FFE00FFF000001FFE007FF
5491 000001FFC007FF000001FFC003FF800003FF8001FF800003FF0001FFC00007FF0000FFE0
5492 000FFE00007FF0001FFC00003FFC007FF800000FFF01FFE0000007FFFFFFC0000001FFFF
5493 FF000000003FFFF80000000003FF800000374F7BCD42>48 D<0000001E00000000003E00
5494 00000000FE0000000003FE000000000FFE000000007FFE00000007FFFE000003FFFFFE00
5495 00FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFF87FFE0000FC007FFE000000007FFE00
5496 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5497 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5498 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5499 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5500 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5501 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5502 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5503 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5504 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00
5505 0000007FFE000000007FFE000000007FFE000000007FFE000000007FFE00007FFFFFFFFF
5506 FC7FFFFFFFFFFC7FFFFFFFFFFC7FFFFFFFFFFC7FFFFFFFFFFC2E4E76CD42>I<00001FFE
5507 0000000001FFFFF00000000FFFFFFC0000003FFFFFFF8000007FFFFFFFE00001FF803FFF
5508 F00003FC0007FFFC0007F00001FFFE000FE00000FFFF001F8000007FFF803F0000003FFF
5509 803F0000001FFFC07FE000001FFFE07FF800000FFFE07FFC00000FFFF0FFFC000007FFF0
5510 FFFE000007FFF0FFFE000003FFF8FFFE000003FFF8FFFE000003FFF8FFFE000003FFF8FF
5511 FE000003FFF87FFC000003FFF87FFC000003FFF83FF8000003FFF81FF0000003FFF80380
5512 000003FFF80000000003FFF00000000007FFF00000000007FFF00000000007FFE0000000
5513 000FFFE0000000000FFFC0000000001FFFC0000000001FFF80000000003FFF0000000000
5514 3FFE00000000007FFC0000000000FFF80000000000FFF00000000001FFE00000000003FF
5515 C00000000007FF800000000007FF00000000000FFC00000000001FF800000000003FF000
5516 000000007FC00000000000FF800000000001FF000000000003FC000000000007F8000000
5517 00000FF00000F800001FE00000F800003FC00000F800007F000000F80000FE000001F000
5518 01FC000001F00003F8000001F00007F0000001F00007E0000001F0000F80000003F0001F
5519 00000003F0003E00000007F0007FFFFFFFFFF000FFFFFFFFFFE001FFFFFFFFFFE003FFFF
5520 FFFFFFE007FFFFFFFFFFE00FFFFFFFFFFFE01FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFF
5521 FFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFF
5522 FFC0354E7ACD42>I<000007FFC0000000007FFFFC00000003FFFFFF8000000FFFFFFFE0
5523 00001FF803FFF800007FC000FFFC0000FE00003FFE0001FC00003FFF0003F800001FFF80
5524 03FE00001FFF8007FF80000FFFC007FFC0000FFFC00FFFC0000FFFE00FFFE0000FFFE00F
5525 FFE0000FFFE00FFFE0000FFFE00FFFE0000FFFE00FFFE0000FFFE00FFFE0000FFFE007FF
5526 C0000FFFE007FFC0000FFFC003FF80000FFFC001FF00001FFFC0003800001FFF80000000
5527 001FFF80000000003FFF00000000003FFF00000000007FFE00000000007FFC0000000000
5528 FFF80000000001FFF00000000003FFC0000000000FFF80000000007FFE000000007FFFF8
5529 000000007FFFC0000000007FFFFC000000007FFFFF800000000003FFE000000000007FF8
5530 00000000003FFE00000000001FFF00000000000FFF80000000000FFFC00000000007FFE0
5531 0000000007FFF00000000003FFF80000000003FFF80000000003FFFC0000000001FFFC00
5532 00000001FFFC0000000001FFFE0000000001FFFE0000000001FFFE03C0000001FFFE0FF0
5533 000001FFFE3FFC000001FFFE7FFE000001FFFE7FFE000001FFFEFFFF000001FFFEFFFF00
5534 0001FFFEFFFF000001FFFCFFFF000001FFFCFFFF000003FFFCFFFF000003FFF8FFFF0000
5535 03FFF87FFE000003FFF07FFC000007FFF07FF8000007FFE03FE000000FFFC01FC000001F
5536 FFC00FF000003FFF8007FE00007FFE0003FFE003FFFC0001FFFFFFFFF800007FFFFFFFE0
5537 00000FFFFFFF00000001FFFFFC000000001FFF800000374F7BCD42>I<0000000000FC00
5538 000000000001FC00000000000001FC00000000000003FC00000000000007FC0000000000
5539 000FFC0000000000000FFC0000000000001FFC0000000000003FFC0000000000007FFC00
5540 00000000007FFC000000000000FFFC000000000001FFFC000000000003FFFC0000000000
5541 03FFFC000000000007FFFC00000000000FFFFC00000000001FFFFC00000000001F7FFC00
5542 000000003E7FFC00000000007E7FFC0000000000FC7FFC0000000000F87FFC0000000001
5543 F07FFC0000000003F07FFC0000000007E07FFC0000000007C07FFC000000000F807FFC00
5544 0000001F807FFC000000003F007FFC000000003E007FFC000000007C007FFC00000000FC
5545 007FFC00000001F8007FFC00000001F0007FFC00000003E0007FFC00000007E0007FFC00
5546 00000FC0007FFC0000000F80007FFC0000001F00007FFC0000003F00007FFC0000007E00
5547 007FFC0000007C00007FFC000000F800007FFC000001F800007FFC000003F000007FFC00
5548 0003E000007FFC000007C000007FFC00000FC000007FFC00001F8000007FFC00001F0000
5549 007FFC00003E0000007FFC00007E0000007FFC0000FC0000007FFC0000FFFFFFFFFFFFFF
5550 80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80000000
5551 00FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC00
5552 0000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC0000000000
5553 00FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC00
5554 0000000000FFFC000000001FFFFFFFFF8000001FFFFFFFFF8000001FFFFFFFFF8000001F
5555 FFFFFFFF8000001FFFFFFFFF80394F7CCE42>I<0180000000060001F00000003E0001FE
5556 000001FE0001FFF0003FFE0001FFFFFFFFFC0001FFFFFFFFF80001FFFFFFFFF00001FFFF
5557 FFFFE00001FFFFFFFFC00001FFFFFFFF800001FFFFFFFF000001FFFFFFFC000001FFFFFF
5558 F8000001FFFFFFE0000001FFFFFF00000001FFFFFC00000001F0FF8000000001F0000000
5559 000001F0000000000001F0000000000001F0000000000001F0000000000001F000000000
5560 0001F0000000000001F0000000000001F0000000000001F0000000000001F00000000000
5561 01F0000000000001F007FF80000001F03FFFF8000001F0FFFFFE000001F3FFFFFF800001
5562 FFFC01FFE00001FFE0007FF80001FF00003FFC0001FE00001FFE0001F800000FFF0001F0
5563 00000FFF0001F0000007FF8001E0000007FFC00000000007FFC00000000007FFE0000000
5564 0003FFE00000000003FFF00000000003FFF00000000003FFF00000000003FFF000000000
5565 03FFF80000000003FFF80000000003FFF80300000003FFF80FE0000003FFF83FF8000003
5566 FFF87FFC000003FFF87FFC000003FFF8FFFC000003FFF8FFFE000003FFF8FFFE000003FF
5567 F8FFFE000003FFF0FFFE000003FFF0FFFC000003FFF0FFFC000007FFF07FF8000007FFE0
5568 7FF0000007FFE07FC0000007FFC03F0000000FFFC03F0000000FFF801F8000001FFF001F
5569 C000001FFF000FF000003FFE0007F80000FFFC0003FE0001FFF00001FFE00FFFE000007F
5570 FFFFFF8000003FFFFFFF0000000FFFFFF800000001FFFFC0000000003FFC000000354F7A
5571 CD42>I<00000007FE0000000000FFFFC000000003FFFFF00000001FFFFFFC0000007FFC
5572 01FE000000FFE0007F000003FF80003F800007FF00001F80000FFE00007FC0001FFC0000
5573 FFC0003FF80003FFE0007FF00003FFE000FFE00007FFE001FFE00007FFE003FFC00007FF
5574 E003FFC00007FFE007FF800007FFE007FF800007FFE00FFF800003FFC00FFF000003FFC0
5575 1FFF000000FF001FFF0000007E001FFF00000000003FFF00000000003FFF00000000003F
5576 FE00000000007FFE00000000007FFE00000000007FFE003FF000007FFE01FFFF00007FFE
5577 07FFFFC000FFFE0FFFFFF000FFFE1F807FF800FFFE3E001FFE00FFFE78000FFF00FFFEF0
5578 0007FF80FFFEF00003FFC0FFFFE00003FFC0FFFFC00001FFE0FFFFC00001FFF0FFFF8000
5579 01FFF0FFFF800000FFF8FFFF800000FFF8FFFF000000FFFCFFFF000000FFFCFFFF000000
5580 FFFCFFFF000000FFFCFFFE000000FFFEFFFE000000FFFEFFFE000000FFFE7FFE000000FF
5581 FE7FFE000000FFFE7FFE000000FFFE7FFE000000FFFE7FFE000000FFFE7FFE000000FFFE
5582 3FFE000000FFFE3FFE000000FFFE3FFE000000FFFE3FFF000000FFFE1FFF000000FFFC1F
5583 FF000000FFFC1FFF000000FFFC0FFF000000FFF80FFF000001FFF807FF000001FFF807FF
5584 800001FFF003FF800001FFE001FFC00003FFE001FFE00003FFC000FFE00007FF80007FF0
5585 000FFF00003FFC001FFE00001FFF00FFFC000007FFFFFFF0000003FFFFFFE0000000FFFF
5586 FF800000001FFFFC0000000003FFC00000374F7BCD42>I<1F0000000000001F80000000
5587 00001FC000000000001FFF80000000001FFFFFFFFFFFFF1FFFFFFFFFFFFF1FFFFFFFFFFF
5588 FF1FFFFFFFFFFFFF3FFFFFFFFFFFFF3FFFFFFFFFFFFE3FFFFFFFFFFFFC3FFFFFFFFFFFF8
5589 3FFFFFFFFFFFF03FFFFFFFFFFFF03FFFFFFFFFFFE03FFFFFFFFFFFC03FFFFFFFFFFF807F
5590 FFFFFFFFFF007F800000003E007E000000007E007E00000000FC007C00000001F8007C00
5591 000003F0007C00000003E0007C00000007E0007C0000000FC000F80000001F8000F80000
5592 003F0000F80000007E0000F80000007C000000000000FC000000000001F8000000000003
5593 F0000000000003F0000000000007E000000000000FE000000000001FC000000000001FC0
5594 00000000003F8000000000003F8000000000007F000000000000FF000000000000FF0000
5595 00000001FF000000000001FE000000000003FE000000000003FE000000000007FE000000
5596 000007FC00000000000FFC00000000000FFC00000000000FFC00000000001FFC00000000
5597 001FFC00000000003FFC00000000003FFC00000000003FFC00000000007FF80000000000
5598 7FF800000000007FF800000000007FF80000000000FFF80000000000FFF80000000000FF
5599 F80000000000FFF80000000000FFF80000000000FFF80000000001FFF80000000001FFF8
5600 0000000001FFF80000000001FFF80000000001FFF80000000001FFF80000000001FFF800
5601 00000001FFF80000000001FFF80000000001FFF80000000001FFF80000000000FFF00000
5602 0000007FE000000000003FC000000000001F80000000385279D042>I<00000000003F00
5603 000000000000000000003F00000000000000000000007F80000000000000000000007F80
5604 000000000000000000007F8000000000000000000000FFC000000000000000000000FFC0
5605 00000000000000000001FFE000000000000000000001FFE000000000000000000001FFE0
5606 00000000000000000003FFF000000000000000000003FFF000000000000000000007FFF8
5607 00000000000000000007FFF800000000000000000007FFF80000000000000000000FFFFC
5608 0000000000000000000FFFFC0000000000000000001FFFFE0000000000000000001FFFFE
5609 0000000000000000001FFFFE0000000000000000003FFFFF0000000000000000003EFFFF
5610 0000000000000000003E7FFF0000000000000000007E7FFF8000000000000000007C3FFF
5611 800000000000000000FC3FFFC00000000000000000F83FFFC00000000000000000F81FFF
5612 C00000000000000001F81FFFE00000000000000001F00FFFE00000000000000003F00FFF
5613 F00000000000000003E00FFFF00000000000000003E007FFF00000000000000007E007FF
5614 F80000000000000007C003FFF8000000000000000FC003FFFC000000000000000F8003FF
5615 FC000000000000000F8001FFFC000000000000001F8001FFFE000000000000001F0001FF
5616 FE000000000000001F0000FFFE000000000000003F0000FFFF000000000000003E00007F
5617 FF000000000000007E00007FFF800000000000007C00007FFF800000000000007C00003F
5618 FF80000000000000FC00003FFFC0000000000000F800001FFFC0000000000001F800001F
5619 FFE0000000000001F000001FFFE0000000000001F000000FFFE0000000000003F000000F
5620 FFF0000000000003E0000007FFF0000000000007E0000007FFF8000000000007C0000007
5621 FFF8000000000007FFFFFFFFFFF800000000000FFFFFFFFFFFFC00000000000FFFFFFFFF
5622 FFFC00000000000FFFFFFFFFFFFC00000000001FFFFFFFFFFFFE00000000001F00000000
5623 FFFE00000000003F00000000FFFF00000000003E00000000FFFF00000000003E00000000
5624 7FFF00000000007E000000007FFF80000000007C000000003FFF8000000000FC00000000
5625 3FFFC000000000F8000000003FFFC000000000F8000000001FFFC000000001F800000000
5626 1FFFE000000001F0000000000FFFE000000003F0000000000FFFF000000003E000000000
5627 0FFFF000000003E00000000007FFF000000007E00000000007FFF800000007C000000000
5628 03FFF800000007C00000000003FFF80000000F800000000003FFFC0000003FF000000000
5629 01FFFC0000FFFFFFF000000FFFFFFFFFC0FFFFFFF000000FFFFFFFFFC0FFFFFFF000000F
5630 FFFFFFFFC0FFFFFFF000000FFFFFFFFFC0FFFFFFF000000FFFFFFFFFC05A547CD363>65
5631 D<0000000003FFF0000007000000007FFFFF00000F00000007FFFFFFE0001F0000003FFF
5632 FFFFF8003F000000FFFFFFFFFE007F000003FFFFC003FF00FF00000FFFF800003FC1FF00
5633 003FFFC000000FE3FF0000FFFF00000003FFFF0001FFFC00000001FFFF0003FFF8000000
5634 00FFFF0007FFE0000000007FFF001FFFC0000000003FFF003FFF80000000001FFF003FFF
5635 00000000000FFF007FFE000000000007FF00FFFC000000000003FF01FFFC000000000003
5636 FF01FFF8000000000001FF03FFF0000000000001FF07FFF0000000000000FF07FFF00000
5637 00000000FF0FFFE00000000000007F0FFFE00000000000007F1FFFC00000000000007F1F
5638 FFC00000000000003F1FFFC00000000000003F3FFF800000000000003F3FFF8000000000
5639 00001F3FFF800000000000001F7FFF800000000000001F7FFF800000000000001F7FFF80
5640 000000000000007FFF00000000000000007FFF0000000000000000FFFF00000000000000
5641 00FFFF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF000000
5642 0000000000FFFF0000000000000000FFFF0000000000000000FFFF0000000000000000FF
5643 FF0000000000000000FFFF0000000000000000FFFF0000000000000000FFFF0000000000
5644 000000FFFF0000000000000000FFFF00000000000000007FFF00000000000000007FFF00
5645 000000000000007FFF80000000000000007FFF80000000000000007FFF80000000000000
5646 003FFF800000000000001F3FFF800000000000001F3FFF800000000000001F1FFFC00000
5647 000000001F1FFFC00000000000001F1FFFC00000000000003F0FFFE00000000000003F0F
5648 FFE00000000000003E07FFF00000000000003E07FFF00000000000007E03FFF800000000
5649 00007C01FFF8000000000000FC01FFFC000000000000F800FFFC000000000001F8007FFE
5650 000000000003F0003FFF000000000003F0003FFF800000000007E0001FFFC0000000000F
5651 C00007FFE0000000001F800003FFF8000000003F000001FFFC00000000FE000000FFFF00
5652 000001FC0000003FFFC0000007F80000000FFFFC00003FF000000003FFFFC001FFC00000
5653 0000FFFFFFFFFF00000000003FFFFFFFFC000000000007FFFFFFF00000000000007FFFFF
5654 8000000000000003FFF0000000505479D25F>67 D<FFFFFFFFFFFFFF0000000000FFFFFF
5655 FFFFFFFFF800000000FFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFE0000000FFFFFF
5656 FFFFFFFFFFF80000000007FFF000001FFFFE0000000007FFF0000001FFFF0000000007FF
5657 F00000003FFFC000000007FFF00000000FFFE000000007FFF000000003FFF000000007FF
5658 F000000001FFF800000007FFF000000000FFFC00000007FFF0000000007FFE00000007FF
5659 F0000000003FFF00000007FFF0000000001FFF80000007FFF0000000000FFF80000007FF
5660 F00000000007FFC0000007FFF00000000007FFE0000007FFF00000000003FFE0000007FF
5661 F00000000003FFF0000007FFF00000000001FFF0000007FFF00000000001FFF8000007FF
5662 F00000000001FFF8000007FFF00000000000FFFC000007FFF00000000000FFFC000007FF
5663 F00000000000FFFC000007FFF00000000000FFFE000007FFF000000000007FFE000007FF
5664 F000000000007FFE000007FFF000000000007FFF000007FFF000000000007FFF000007FF
5665 F000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF000007FF
5666 F000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF800007FF
5667 F000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF800007FF
5668 F000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF800007FF
5669 F000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF800007FF
5670 F000000000007FFF800007FFF000000000007FFF800007FFF000000000007FFF800007FF
5671 F000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF000007FF
5672 F000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFE000007FF
5673 F000000000007FFE000007FFF00000000000FFFE000007FFF00000000000FFFC000007FF
5674 F00000000000FFFC000007FFF00000000000FFFC000007FFF00000000001FFF8000007FF
5675 F00000000001FFF8000007FFF00000000003FFF0000007FFF00000000003FFF0000007FF
5676 F00000000007FFE0000007FFF00000000007FFE0000007FFF0000000000FFFC0000007FF
5677 F0000000001FFF80000007FFF0000000001FFF00000007FFF0000000003FFE00000007FF
5678 F0000000007FFE00000007FFF000000001FFFC00000007FFF000000003FFF000000007FF
5679 F00000000FFFE000000007FFF00000003FFFC000000007FFF0000001FFFF8000000007FF
5680 F000001FFFFE000000FFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFE0000000FFFFFF
5681 FFFFFFFFFF00000000FFFFFFFFFFFFFFF800000000FFFFFFFFFFFFFF000000000059527C
5682 D165>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFF
5683 FFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00000FFFE0000007FFFF00000FFFE00000007F
5684 FF00000FFFE00000001FFF00000FFFE000000007FF00000FFFE000000003FF00000FFFE0
5685 00000001FF00000FFFE000000000FF00000FFFE0000000007F00000FFFE0000000007F00
5686 000FFFE0000000003F80000FFFE0000000003F80000FFFE0000000001F80000FFFE00000
5687 00001F80000FFFE0000000001F80000FFFE0000000000F80000FFFE0000000000F80000F
5688 FFE0000000000F80000FFFE0000000000F80000FFFE00001F0000FC0000FFFE00001F000
5689 07C0000FFFE00001F00007C0000FFFE00001F00007C0000FFFE00001F00007C0000FFFE0
5690 0001F0000000000FFFE00001F0000000000FFFE00003F0000000000FFFE00003F0000000
5691 000FFFE00003F0000000000FFFE00007F0000000000FFFE0000FF0000000000FFFE0001F
5692 F0000000000FFFE000FFF0000000000FFFFFFFFFF0000000000FFFFFFFFFF0000000000F
5693 FFFFFFFFF0000000000FFFFFFFFFF0000000000FFFFFFFFFF0000000000FFFE000FFF000
5694 0000000FFFE0001FF0000000000FFFE0000FF0000000000FFFE00007F0000000000FFFE0
5695 0003F0000000000FFFE00003F0000000000FFFE00003F0000000000FFFE00001F0000000
5696 000FFFE00001F00000F8000FFFE00001F00000F8000FFFE00001F00000F8000FFFE00001
5697 F00001F0000FFFE00001F00001F0000FFFE00001F00001F0000FFFE00000000001F0000F
5698 FFE00000000001F0000FFFE00000000003F0000FFFE00000000003F0000FFFE000000000
5699 03E0000FFFE00000000003E0000FFFE00000000007E0000FFFE00000000007E0000FFFE0
5700 0000000007E0000FFFE0000000000FE0000FFFE0000000000FC0000FFFE0000000001FC0
5701 000FFFE0000000003FC0000FFFE0000000003FC0000FFFE0000000007FC0000FFFE00000
5702 0000FFC0000FFFE000000001FF80000FFFE000000007FF80000FFFE00000001FFF80000F
5703 FFE00000007FFF80000FFFE000000FFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF
5704 FF80FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF004D527CD1
5705 56>I<FFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFC00FFFFFF
5706 FFFFFFFFFFFC00FFFFFFFFFFFFFFFFFC000007FFF000000FFFFE000007FFF0000000FFFE
5707 000007FFF00000001FFE000007FFF00000000FFE000007FFF000000007FE000007FFF000
5708 000003FE000007FFF000000001FE000007FFF000000000FE000007FFF0000000007E0000
5709 07FFF0000000007F000007FFF0000000003F000007FFF0000000003F000007FFF0000000
5710 003F000007FFF0000000001F000007FFF0000000001F000007FFF0000000001F000007FF
5711 F0000000001F000007FFF0000000001F000007FFF0000000001F800007FFF00003E0000F
5712 800007FFF00003E0000F800007FFF00003E0000F800007FFF00003E0000F800007FFF000
5713 03E00000000007FFF00003E00000000007FFF00003E00000000007FFF00007E000000000
5714 07FFF00007E00000000007FFF00007E00000000007FFF0000FE00000000007FFF0001FE0
5715 0000000007FFF0003FE00000000007FFF001FFE00000000007FFFFFFFFE00000000007FF
5716 FFFFFFE00000000007FFFFFFFFE00000000007FFFFFFFFE00000000007FFFFFFFFE00000
5717 000007FFF001FFE00000000007FFF0003FE00000000007FFF0001FE00000000007FFF000
5718 0FE00000000007FFF00007E00000000007FFF00007E00000000007FFF00007E000000000
5719 07FFF00003E00000000007FFF00003E00000000007FFF00003E00000000007FFF00003E0
5720 0000000007FFF00003E00000000007FFF00003E00000000007FFF00003E00000000007FF
5721 F00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000000
5722 000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF000
5723 00000000000007FFF00000000000000007FFF00000000000000007FFF000000000000000
5724 07FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000000
5725 0000000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FF
5726 F00000000000000007FFF0000000000000FFFFFFFFFFF000000000FFFFFFFFFFF0000000
5727 00FFFFFFFFFFF000000000FFFFFFFFFFF000000000FFFFFFFFFFF00000000049527CD153
5728 >I<FFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFF
5729 FFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFC0007FFF0000000003FFF
5730 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5731 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5732 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5733 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5734 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5735 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5736 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5737 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5738 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5739 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5740 80000007FFF0000000003FFF80000007FFFFFFFFFFFFFFFF80000007FFFFFFFFFFFFFFFF
5741 80000007FFFFFFFFFFFFFFFF80000007FFFFFFFFFFFFFFFF80000007FFFFFFFFFFFFFFFF
5742 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5743 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5744 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5745 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5746 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5747 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5748 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5749 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5750 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5751 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5752 80000007FFF0000000003FFF80000007FFF0000000003FFF80000007FFF0000000003FFF
5753 80000007FFF0000000003FFF80000007FFF0000000003FFF8000FFFFFFFFFF8007FFFFFF
5754 FFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFFFFFCFFFFFFFFFF8007FFFFFF
5755 FFFCFFFFFFFFFF8007FFFFFFFFFC5E527CD167>72 D<FFFFFFFFFF80FFFFFFFFFF80FFFF
5756 FFFFFF80FFFFFFFFFF80FFFFFFFFFF800007FFF000000007FFF000000007FFF000000007
5757 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5758 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5759 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5760 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5761 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5762 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5763 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5764 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5765 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5766 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5767 FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007
5768 FFF000000007FFF000000007FFF00000FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFF
5769 FFFFFF80FFFFFFFFFF8029527DD130>I<FFFFFFFFFFE0000000FFFFFFFFFFE0000000FF
5770 FFFFFFFFE0000000FFFFFFFFFFE0000000FFFFFFFFFFE0000000000FFFE0000000000000
5771 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5772 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5773 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5774 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5775 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5776 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5777 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5778 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5779 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5780 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5781 0FFFE00000000000000FFFE00000000000000FFFE00000000000000FFFE0000000000000
5782 0FFFE000000000F8000FFFE000000000F8000FFFE000000000F8000FFFE000000000F800
5783 0FFFE000000001F8000FFFE000000001F0000FFFE000000001F0000FFFE000000001F000
5784 0FFFE000000001F0000FFFE000000001F0000FFFE000000003F0000FFFE000000003F000
5785 0FFFE000000003F0000FFFE000000007F0000FFFE000000007F0000FFFE00000000FF000
5786 0FFFE00000000FE0000FFFE00000001FE0000FFFE00000001FE0000FFFE00000003FE000
5787 0FFFE00000007FE0000FFFE0000000FFE0000FFFE0000001FFE0000FFFE0000007FFE000
5788 0FFFE000000FFFE0000FFFE000007FFFE0000FFFE00003FFFFE0FFFFFFFFFFFFFFFFC0FF
5789 FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFC045
5790 527CD14F>76 D<FFFFFFF800000001FFFFFFFCFFFFFFFC00000001FFFFFFFCFFFFFFFE00
5791 000001FFFFFFFCFFFFFFFF00000001FFFFFFFCFFFFFFFF00000001FFFFFFFC0007FFFF80
5792 000000003FE0000007FFFFC0000000000F80000007FFFFE0000000000F80000007FFFFF0
5793 000000000F80000007DFFFF0000000000F80000007CFFFF8000000000F80000007C7FFFC
5794 000000000F80000007C7FFFE000000000F80000007C3FFFF000000000F80000007C1FFFF
5795 000000000F80000007C0FFFF800000000F80000007C07FFFC00000000F80000007C07FFF
5796 E00000000F80000007C03FFFF00000000F80000007C01FFFF00000000F80000007C00FFF
5797 F80000000F80000007C007FFFC0000000F80000007C007FFFE0000000F80000007C003FF
5798 FE0000000F80000007C001FFFF0000000F80000007C000FFFF8000000F80000007C0007F
5799 FFC000000F80000007C0007FFFE000000F80000007C0003FFFE000000F80000007C0001F
5800 FFF000000F80000007C0000FFFF800000F80000007C00007FFFC00000F80000007C00007
5801 FFFE00000F80000007C00003FFFE00000F80000007C00001FFFF00000F80000007C00000
5802 FFFF80000F80000007C000007FFFC0000F80000007C000007FFFE0000F80000007C00000
5803 3FFFE0000F80000007C000001FFFF0000F80000007C000000FFFF8000F80000007C00000
5804 0FFFFC000F80000007C0000007FFFE000F80000007C0000003FFFE000F80000007C00000
5805 01FFFF000F80000007C0000000FFFF800F80000007C0000000FFFFC00F80000007C00000
5806 007FFFE00F80000007C00000003FFFE00F80000007C00000001FFFF00F80000007C00000
5807 000FFFF80F80000007C00000000FFFFC0F80000007C000000007FFFE0F80000007C00000
5808 0003FFFE0F80000007C000000001FFFF0F80000007C000000000FFFF8F80000007C00000
5809 0000FFFFCF80000007C0000000007FFFEF80000007C0000000003FFFEF80000007C00000
5810 00001FFFFF80000007C0000000000FFFFF80000007C0000000000FFFFF80000007C00000
5811 000007FFFF80000007C00000000003FFFF80000007C00000000001FFFF80000007C00000
5812 000000FFFF80000007C00000000000FFFF80000007C000000000007FFF80000007C00000
5813 0000003FFF80000007C000000000001FFF80000007C000000000000FFF80000007C00000
5814 0000000FFF80000007C0000000000007FF80000007C0000000000003FF80000007C00000
5815 00000001FF80000007C0000000000000FF8000001FF0000000000000FF8000FFFFFFFE00
5816 000000007F8000FFFFFFFE00000000003F8000FFFFFFFE00000000001F8000FFFFFFFE00
5817 000000000F8000FFFFFFFE00000000000F80005E527CD167>78 D<FFFFFFFFFFFFE00000
5818 000000FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFE00
5819 000000FFFFFFFFFFFFFFFF800000000007FFF00000FFFFE00000000007FFF000000FFFF0
5820 0000000007FFF0000003FFFC0000000007FFF0000000FFFE0000000007FFF00000007FFF
5821 0000000007FFF00000003FFF8000000007FFF00000001FFF8000000007FFF00000001FFF
5822 C000000007FFF00000000FFFE000000007FFF00000000FFFE000000007FFF00000000FFF
5823 F000000007FFF000000007FFF000000007FFF000000007FFF000000007FFF000000007FF
5824 F800000007FFF000000007FFF800000007FFF000000007FFF800000007FFF000000007FF
5825 F800000007FFF000000007FFF800000007FFF000000007FFF800000007FFF000000007FF
5826 F800000007FFF000000007FFF800000007FFF000000007FFF000000007FFF000000007FF
5827 F000000007FFF00000000FFFF000000007FFF00000000FFFE000000007FFF00000000FFF
5828 C000000007FFF00000001FFFC000000007FFF00000001FFF8000000007FFF00000003FFF
5829 0000000007FFF00000007FFE0000000007FFF0000000FFFC0000000007FFF0000003FFF8
5830 0000000007FFF000000FFFE00000000007FFF00000FFFF800000000007FFFFFFFFFFFE00
5831 0000000007FFFFFFFFFFF0000000000007FFFFFFFFFFC0000000000007FFFFFFFFFFF000
5832 0000000007FFF00007FFFC000000000007FFF00000FFFF000000000007FFF000003FFF80
5833 0000000007FFF000001FFFC00000000007FFF000000FFFE00000000007FFF0000007FFF0
5834 0000000007FFF0000003FFF80000000007FFF0000003FFF80000000007FFF0000001FFFC
5835 0000000007FFF0000001FFFC0000000007FFF0000000FFFC0000000007FFF0000000FFFE
5836 0000000007FFF0000000FFFE0000000007FFF0000000FFFE0000000007FFF0000000FFFE
5837 0000000007FFF0000000FFFE0000000007FFF0000000FFFE0000000007FFF0000000FFFE
5838 0000000007FFF0000000FFFE0000000007FFF0000000FFFF0000000007FFF0000000FFFF
5839 0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF
5840 0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF
5841 0000700007FFF0000000FFFF8000F80007FFF0000000FFFF8000F80007FFF00000007FFF
5842 8000F80007FFF00000007FFF8001F80007FFF00000003FFFC001F00007FFF00000003FFF
5843 C001F00007FFF00000001FFFE003F0FFFFFFFFFF80000FFFF007E0FFFFFFFFFF800007FF
5844 FC1FC0FFFFFFFFFF800001FFFFFF80FFFFFFFFFF8000007FFFFF00FFFFFFFFFF8000000F
5845 FFFE00000000000000000000FFF8005D537CD162>82 D<00000FFE00001C000000FFFFF0
5846 003C000007FFFFFC007C00001FFFFFFF00FC00007FFFFFFFC1FC0000FFF001FFE1FC0001
5847 FF80001FFBFC0003FF000007FFFC0007FC000001FFFC000FF8000000FFFC001FF0000000
5848 3FFC001FF00000001FFC003FE00000000FFC003FE00000000FFC007FE000000007FC007F
5849 C000000003FC007FC000000003FC007FC000000001FC00FFC000000001FC00FFC0000000
5850 01FC00FFC000000000FC00FFE000000000FC00FFE000000000FC00FFF0000000007C00FF
5851 F0000000007C00FFF8000000007C00FFFC000000007C00FFFE0000000000007FFF000000
5852 0000007FFFC000000000007FFFF800000000007FFFFF80000000003FFFFFF8000000003F
5853 FFFFFFC00000001FFFFFFFFC0000000FFFFFFFFF8000000FFFFFFFFFF0000007FFFFFFFF
5854 FC000003FFFFFFFFFE000001FFFFFFFFFF800000FFFFFFFFFFC000007FFFFFFFFFE00000
5855 1FFFFFFFFFF0000007FFFFFFFFF8000001FFFFFFFFF80000007FFFFFFFFC00000007FFFF
5856 FFFE000000007FFFFFFE0000000003FFFFFF00000000003FFFFF000000000003FFFF8000
5857 00000000FFFF8000000000003FFF8000000000001FFF8000000000000FFFC00000000000
5858 07FFC0000000000003FFC0F80000000003FFC0F80000000001FFC0F80000000001FFC0F8
5859 0000000001FFC0F80000000000FFC0FC0000000000FFC0FC0000000000FFC0FC00000000
5860 00FFC0FC0000000000FF80FE0000000000FF80FE0000000000FF80FF0000000001FF80FF
5861 0000000001FF00FF8000000001FF00FFC000000003FE00FFE000000003FE00FFF0000000
5862 07FC00FFFC0000000FF800FFFE0000001FF800FFFFC000003FF000FF7FF80000FFE000FE
5863 1FFF8007FFC000FE07FFFFFFFF0000FC01FFFFFFFC0000F8007FFFFFF00000F0000FFFFF
5864 C00000E000007FFC0000003A5479D249>I<3FFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFF
5865 FFFC3FFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFC3FFFC000
5866 7FFF0003FFFC3FFC00007FFF00003FFC7FF000007FFF00000FFE7FE000007FFF000007FE
5867 7FC000007FFF000003FE7F8000007FFF000001FE7F0000007FFF000000FE7F0000007FFF
5868 000000FE7E0000007FFF0000007E7E0000007FFF0000007E7E0000007FFF0000007E7C00
5869 00007FFF0000003E7C0000007FFF0000003E7C0000007FFF0000003E7C0000007FFF0000
5870 003E7C0000007FFF0000003EFC0000007FFF0000003FF80000007FFF0000001FF8000000
5871 7FFF0000001FF80000007FFF0000001FF80000007FFF0000001FF80000007FFF0000001F
5872 F80000007FFF0000001F000000007FFF00000000000000007FFF00000000000000007FFF
5873 00000000000000007FFF00000000000000007FFF00000000000000007FFF000000000000
5874 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
5875 0000000000007FFF00000000000000007FFF00000000000000007FFF0000000000000000
5876 7FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000
5877 000000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF
5878 00000000000000007FFF00000000000000007FFF00000000000000007FFF000000000000
5879 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
5880 0000000000007FFF00000000000000007FFF00000000000000007FFF0000000000000000
5881 7FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF00000000
5882 000000007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF
5883 00000000000000007FFF00000000000000007FFF00000000000000007FFF000000000000
5884 00007FFF00000000000000007FFF00000000000000007FFF00000000000000007FFF0000
5885 0000000000007FFF00000000000000007FFF000000000001FFFFFFFFFFFFC0000001FFFF
5886 FFFFFFFFC0000001FFFFFFFFFFFFC0000001FFFFFFFFFFFFC0000001FFFFFFFFFFFFC000
5887 50517BD05B>I<FFFFFFFFFE000001FFFFFFF0FFFFFFFFFE000001FFFFFFF0FFFFFFFFFE
5888 000001FFFFFFF0FFFFFFFFFE000001FFFFFFF0FFFFFFFFFE000001FFFFFFF0000FFFE000
5889 000000007FC000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5890 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5891 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5892 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5893 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5894 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5895 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5896 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5897 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5898 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5899 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5900 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5901 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5902 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5903 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5904 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5905 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5906 000000001F0000000FFFE000000000001F0000000FFFE000000000001F0000000FFFE000
5907 000000001F00000007FFE000000000003F00000007FFE000000000003E00000007FFF000
5908 000000003E00000007FFF000000000007E00000003FFF000000000007C00000003FFF000
5909 000000007C00000001FFF80000000000FC00000001FFF80000000000F800000000FFFC00
5910 00000001F8000000007FFC0000000003F0000000007FFE0000000007E0000000003FFE00
5911 0000000FE0000000001FFF000000001FC0000000000FFF800000003F800000000007FFE0
5912 000000FF000000000003FFF8000003FE000000000000FFFE00001FFC0000000000007FFF
5913 E001FFF80000000000001FFFFFFFFFE000000000000007FFFFFFFF8000000000000000FF
5914 FFFFFE00000000000000001FFFFFF0000000000000000000FFFF00000000005C537CD165
5915 >I<FFFFFFFFF80000007FFFFFF0FFFFFFFFF80000007FFFFFF0FFFFFFFFF80000007FFF
5916 FFF0FFFFFFFFF80000007FFFFFF0FFFFFFFFF80000007FFFFFF0003FFFC000000000007F
5917 E000001FFFE000000000000F8000001FFFE000000000001F8000000FFFF000000000001F
5918 0000000FFFF000000000003F00000007FFF000000000003E00000007FFF800000000003E
5919 00000007FFF800000000007E00000003FFFC00000000007C00000003FFFC0000000000FC
5920 00000001FFFC0000000000F800000001FFFE0000000001F800000000FFFE0000000001F0
5921 00000000FFFF0000000001F000000000FFFF0000000003F0000000007FFF8000000003E0
5922 000000007FFF8000000007E0000000003FFF8000000007C0000000003FFFC00000000FC0
5923 000000001FFFC00000000F80000000001FFFE00000000F80000000001FFFE00000001F80
5924 000000000FFFF00000001F00000000000FFFF00000003F000000000007FFF00000003E00
5925 0000000007FFF80000003E000000000007FFF80000007E000000000003FFFC0000007C00
5926 0000000003FFFC000000FC000000000001FFFE000000F8000000000001FFFE000001F800
5927 0000000000FFFE000001F0000000000000FFFF000001F0000000000000FFFF000003F000
5928 00000000007FFF800003E00000000000007FFF800007E00000000000003FFF800007C000
5929 00000000003FFFC0000FC00000000000001FFFC0000F800000000000001FFFE0000F8000
5930 00000000001FFFE0001F800000000000000FFFF0001F000000000000000FFFF0003F0000
5931 000000000007FFF0003E0000000000000007FFF8007E0000000000000003FFF8007C0000
5932 000000000003FFFC007C0000000000000003FFFC00FC0000000000000001FFFE00F80000
5933 000000000001FFFE01F80000000000000000FFFE01F00000000000000000FFFF01F00000
5934 000000000000FFFF03F000000000000000007FFF83E000000000000000007FFF87E00000
5935 0000000000003FFFC7C000000000000000003FFFCFC000000000000000001FFFCF800000
5936 0000000000001FFFEF8000000000000000001FFFFF8000000000000000000FFFFF000000
5937 0000000000000FFFFF00000000000000000007FFFE00000000000000000007FFFE000000
5938 00000000000003FFFC00000000000000000003FFFC00000000000000000003FFFC000000
5939 00000000000001FFF800000000000000000001FFF800000000000000000000FFF0000000
5940 00000000000000FFF0000000000000000000007FE0000000000000000000007FE0000000
5941 000000000000007FE0000000000000000000003FC0000000000000000000003FC0000000
5942 000000000000001F80000000000000000000001F8000000000005C537DD163>I<FFFFFF
5943 FFF8007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8
5944 007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8007FFFFFFFFC0001FFFFFFE0FFFFFFFFF8007F
5945 FFFFFFFC0001FFFFFFE0001FFFC00000001FFFE000000000FFC000001FFFC00000001FFF
5946 E0000000001F0000001FFFE00000000FFFE0000000003F0000000FFFE00000000FFFF000
5947 0000003E0000000FFFF000000007FFF0000000003E0000000FFFF000000007FFF0000000
5948 007E00000007FFF000000007FFF8000000007C00000007FFF800000003FFF8000000007C
5949 00000007FFF800000003FFF800000000FC00000003FFF800000003FFFC00000000F80000
5950 0003FFFC00000001FFFC00000001F800000001FFFC00000001FFFE00000001F000000001
5951 FFFC00000003FFFE00000001F000000001FFFE00000003FFFE00000003F000000000FFFE
5952 00000003FFFF00000003E000000000FFFE00000007FFFF00000003E000000000FFFF0000
5953 0007FFFF00000007E0000000007FFF0000000FFFFF80000007C0000000007FFF8000000F
5954 BFFF80000007C0000000007FFF8000000FBFFF8000000FC0000000003FFF8000001FBFFF
5955 C000000F80000000003FFFC000001F1FFFC000001F80000000001FFFC000001F1FFFC000
5956 001F00000000001FFFC000003F1FFFE000001F00000000001FFFE000003E0FFFE000003F
5957 00000000000FFFE000003E0FFFF000003E00000000000FFFE000007E0FFFF000003E0000
5958 0000000FFFF000007C07FFF000007E000000000007FFF00000FC07FFF800007C00000000
5959 0007FFF80000F803FFF800007C000000000007FFF80000F803FFF80000FC000000000003
5960 FFF80001F803FFFC0000F8000000000003FFFC0001F001FFFC0000F8000000000001FFFC
5961 0001F001FFFC0001F0000000000001FFFC0003F001FFFE0001F0000000000001FFFE0003
5962 E000FFFE0003F0000000000000FFFE0003E000FFFF0003E0000000000000FFFE0007E000
5963 FFFF0003E0000000000000FFFF0007C0007FFF0007E00000000000007FFF0007C0007FFF
5964 8007C00000000000007FFF800F80003FFF8007C00000000000007FFF800F80003FFF800F
5965 C00000000000003FFF801F80003FFFC00F800000000000003FFFC01F00001FFFC00F8000
5966 00000000003FFFC01F00001FFFC01F800000000000001FFFC03F00001FFFE01F00000000
5967 0000001FFFE03E00000FFFE03F000000000000000FFFE03E00000FFFF03E000000000000
5968 000FFFE07E00000FFFF03E000000000000000FFFF07C000007FFF07E0000000000000007
5969 FFF07C000007FFF87C0000000000000007FFF0FC000007FFF87C0000000000000007FFF8
5970 F8000003FFF8FC0000000000000003FFF9F8000003FFFCF80000000000000003FFFDF000
5971 0001FFFCF80000000000000003FFFDF0000001FFFDF80000000000000001FFFFF0000001
5972 FFFFF00000000000000001FFFFE0000000FFFFF00000000000000000FFFFE0000000FFFF
5973 E00000000000000000FFFFE0000000FFFFE00000000000000000FFFFC00000007FFFE000
5974 000000000000007FFFC00000007FFFC000000000000000007FFFC00000007FFFC0000000
5975 00000000007FFF800000003FFFC000000000000000003FFF800000003FFF800000000000
5976 0000003FFF000000001FFF8000000000000000003FFF000000001FFF8000000000000000
5977 001FFF000000001FFF0000000000000000001FFE000000000FFF0000000000000000000F
5978 FE000000000FFE0000000000000000000FFE000000000FFE0000000000000000000FFC00
5979 00000007FE00000000000000000007FC0000000007FC00000000000000000007FC000000
5980 0007FC00000000000000000007F80000000003FC00000000000000000003F80000000003
5981 F800000000000000000003F00000000001F800000000000000000001F00000000001F000
5982 0000000083537ED188>I<000C00001E00003E00007E0000F80001F00003E00007E00007
5983 C0000F80000F00001F00001E00003E00003C00007C00007C0000780000780000F80000F0
5984 0000F00000F00000F1F800F7FE00FFFF00FFFF80FFFF80FFFFC0FFFFC07FFFC07FFFC07F
5985 FFC03FFFC03FFF801FFF800FFF0007FE0001F800122778D225>96
5986 D<00003FFE000000000007FFFFE0000000001FFFFFFC000000007FFFFFFF00000001FFC0
5987 0FFFC0000003FE0003FFE0000007FF0000FFF0000007FF80007FF800000FFFC0007FFC00
5988 000FFFC0003FFE00000FFFC0003FFE00000FFFC0001FFF00000FFFC0001FFF00000FFFC0
5989 001FFF00000FFFC0000FFF800007FF80000FFF800003FF00000FFF800001FE00000FFF80
5990 00000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000
5991 000FFF8000000000000FFF800000000007FFFF8000000003FFFFFF800000007FFFFFFF80
5992 000003FFFFFFFF8000001FFFF00FFF8000007FFF000FFF800000FFFC000FFF800003FFF0
5993 000FFF800007FFC0000FFF80000FFF80000FFF80001FFF00000FFF80003FFF00000FFF80
5994 003FFE00000FFF80007FFC00000FFF80007FFC00000FFF81F0FFFC00000FFF81F0FFF800
5995 000FFF81F0FFF800000FFF81F0FFF800000FFF81F0FFF800001FFF81F0FFF800001FFF81
5996 F0FFFC00003FFF81F07FFC00003FFF81F07FFE00007FFF81F03FFE0000F7FFC3F03FFF00
5997 01E3FFC3E01FFFC007E3FFFFE007FFF01F81FFFFC003FFFFFF00FFFF8000FFFFFC007FFF
5998 00001FFFF0003FFC000001FF800007F0003C387CB642>I<003FF8000000000000FFFFF8
5999 000000000000FFFFF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF8
6000 00000000000003FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6001 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6002 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6003 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6004 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6005 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6006 007FF000000000FFF807FFFF00000000FFF81FFFFFC0000000FFF87FFFFFF0000000FFF9
6007 FF007FFC000000FFFFF8001FFF000000FFFFE00007FF800000FFFF800003FFC00000FFFF
6008 000001FFE00000FFFE000000FFF00000FFFC000000FFF00000FFF80000007FF80000FFF8
6009 0000007FFC0000FFF80000003FFC0000FFF80000003FFE0000FFF80000003FFE0000FFF8
6010 0000003FFE0000FFF80000003FFF0000FFF80000001FFF0000FFF80000001FFF0000FFF8
6011 0000001FFF0000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF8
6012 0000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF8
6013 0000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF8
6014 0000001FFF8000FFF80000001FFF8000FFF80000001FFF0000FFF80000001FFF0000FFF8
6015 0000001FFF0000FFF80000003FFF0000FFF80000003FFE0000FFF80000003FFE0000FFF8
6016 0000003FFC0000FFF80000007FFC0000FFF80000007FF80000FFFC000000FFF80000FFFC
6017 000000FFF00000FFFE000001FFE00000FFFF000003FFC00000FFFF800007FF800000FFCF
6018 E0000FFF000000FF87F0003FFE000000FF01FE01FFF8000000FE00FFFFFFF0000000FC00
6019 3FFFFFC0000000F80007FFFE00000000000000FFE000000041547DD249>I<000003FFE0
6020 000000003FFFFE00000000FFFFFF80000003FFFFFFE000000FFF003FF800003FFC0007FC
6021 00007FF8000FFE0000FFF0001FFE0001FFE0003FFF0003FFC0003FFF0007FF80003FFF00
6022 07FF80003FFF000FFF00003FFF001FFF00003FFF001FFE00003FFF003FFE00001FFE003F
6023 FE00000FFC003FFE000007F8007FFE00000000007FFC00000000007FFC00000000007FFC
6024 0000000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC00
6025 00000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC0000000000FFFC0000
6026 000000FFFC0000000000FFFC0000000000FFFC00000000007FFC00000000007FFE000000
6027 00007FFE00000000007FFE00000000003FFE00000000003FFF00000000001FFF0000000F
6028 801FFF0000000F800FFF8000001F800FFF8000001F0007FFC000003F0003FFE000003E00
6029 01FFF000007E0000FFF80000FC00007FFC0001F800003FFF0007F000000FFFC01FE00000
6030 07FFFFFF80000001FFFFFE000000003FFFF80000000003FF80000031387CB63A>I<0000
6031 00000003FF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF80000000
6032 00000FFFFF8000000000000FFFFF800000000000003FFF800000000000000FFF80000000
6033 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000
6034 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000
6035 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000
6036 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000
6037 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000
6038 0000000FFF8000000003FF800FFF800000003FFFF80FFF80000001FFFFFE0FFF80000007
6039 FFFFFF8FFF8000001FFFC03FEFFF8000003FFE0007FFFF8000007FF80001FFFF800000FF
6040 F00000FFFF800001FFE000007FFF800003FFC000003FFF800007FF8000001FFF80000FFF
6041 8000000FFF80000FFF0000000FFF80001FFF0000000FFF80001FFE0000000FFF80003FFE
6042 0000000FFF80003FFE0000000FFF80007FFE0000000FFF80007FFC0000000FFF80007FFC
6043 0000000FFF80007FFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC
6044 0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC
6045 0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC
6046 0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF80007FFC0000000FFF80007FFC
6047 0000000FFF80007FFC0000000FFF80007FFE0000000FFF80003FFE0000000FFF80003FFE
6048 0000000FFF80003FFE0000000FFF80001FFE0000000FFF80001FFF0000000FFF80000FFF
6049 0000001FFF800007FF8000003FFF800007FF8000007FFF800003FFC00000FFFF800001FF
6050 E00001FFFF800000FFF00003FFFFE000007FFC000FEFFFFF80001FFF007F8FFFFF800007
6051 FFFFFF0FFFFF800001FFFFFC0FFFFF8000007FFFE00FFFFF80000007FF000FFE00004154
6052 7CD249>I<000007FF80000000007FFFF800000001FFFFFE00000007FFFFFF8000001FFF
6053 03FFE000003FFC007FF000007FF0003FF80000FFE0001FFC0001FFC0000FFC0003FF8000
6054 07FE0007FF800007FF000FFF000003FF000FFF000003FF801FFE000003FF801FFE000001
6055 FF803FFE000001FFC03FFE000001FFC03FFE000001FFC07FFC000001FFC07FFC000001FF
6056 E07FFC000000FFE07FFC000000FFE0FFFC000000FFE0FFFC000000FFE0FFFFFFFFFFFFE0
6057 FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFC0000000000FFFC0000000000FF
6058 FC0000000000FFFC0000000000FFFC0000000000FFFC00000000007FFC00000000007FFC
6059 00000000007FFC00000000007FFE00000000003FFE00000000003FFE00000000003FFE00
6060 000003E01FFF00000003E01FFF00000007E00FFF00000007C007FF8000000FC007FF8000
6061 000F8003FFC000001F8001FFE000003F0000FFF000007E00007FFC0001FC00001FFF0007
6062 F800000FFFE03FF0000003FFFFFFC0000000FFFFFF800000003FFFFC0000000001FFE000
6063 0033387CB63C>I<0000001FF800000003FFFE0000000FFFFF8000003FFFFFC00000FFF8
6064 3FE00003FFE0FFF00007FF80FFF0000FFF01FFF8001FFF01FFF8003FFE01FFF8003FFE01
6065 FFF8007FFC01FFF8007FFC01FFF8007FFC00FFF000FFF800FFF000FFF8007FE000FFF800
6066 1F8000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6067 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6068 000000FFF800000000FFF8000000FFFFFFFFC000FFFFFFFFC000FFFFFFFFC000FFFFFFFF
6069 C000FFFFFFFFC00000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6070 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6071 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6072 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6073 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6074 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6075 000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF800
6076 000000FFF800000000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE
6077 0000FFFFFFFE00002D547CD328>I<00001FFE0000FE000001FFFFE007FF80000FFFFFFC
6078 1FFFC0003FFFFFFF7FFFE0007FF807FFFF07E001FFE001FFF07FE003FFC000FFF07FE007
6079 FF80007FF83FE007FF00003FF83FC00FFF00003FFC1FC01FFF00003FFE07001FFE00001F
6080 FE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003F
6081 FE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001F
6082 FF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00001FFF00003FFE00000F
6083 FF00003FFC000007FF00003FF8000007FF80007FF8000003FFC000FFF0000001FFE001FF
6084 E0000000FFF807FF80000001FFFFFFFF00000003EFFFFFFC00000003C1FFFFE000000007
6085 C01FFE00000000078000000000000007800000000000000FC00000000000000FC0000000
6086 0000000FC00000000000000FE00000000000000FE00000000000000FF00000000000000F
6087 FC0000000000000FFFFFFFFE00000007FFFFFFFFF0000007FFFFFFFFFC000007FFFFFFFF
6088 FF800003FFFFFFFFFFC00003FFFFFFFFFFF00001FFFFFFFFFFF80000FFFFFFFFFFFC0000
6089 7FFFFFFFFFFC0001FFFFFFFFFFFE0007FFFFFFFFFFFE000FFC000003FFFF001FF8000000
6090 3FFF003FF00000000FFF007FE000000007FF807FE000000003FF80FFC000000003FF80FF
6091 C000000001FF80FFC000000001FF80FFC000000001FF80FFC000000001FF80FFC0000000
6092 01FF80FFE000000003FF807FE000000003FF007FF000000007FF003FF000000007FE001F
6093 F80000000FFC001FFE0000003FFC0007FF0000007FF00003FFC00001FFE00000FFFC001F
6094 FF8000003FFFFFFFFE0000000FFFFFFFF800000001FFFFFFC0000000000FFFF80000003B
6095 4F7CB542>I<003FF8000000000000FFFFF8000000000000FFFFF8000000000000FFFFF8
6096 000000000000FFFFF8000000000000FFFFF800000000000003FFF800000000000000FFF8
6097 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6098 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6099 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6100 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6101 00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
6102 00000000000000FFF800000000000000FFF8001FFC00000000FFF800FFFF80000000FFF8
6103 03FFFFE0000000FFF80FFFFFF8000000FFF81FC07FFC000000FFF87E003FFE000000FFF8
6104 F8001FFF000000FFF9F0001FFF000000FFF9E0000FFF800000FFFBC0000FFF800000FFFF
6105 80000FFF800000FFFF000007FFC00000FFFF000007FFC00000FFFE000007FFC00000FFFE
6106 000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC
6107 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6108 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6109 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6110 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6111 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6112 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6113 000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8
6114 000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFF
6115 F807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC042537C
6116 D249>I<003F000000FFC00001FFE00003FFF00003FFF00007FFF80007FFF80007FFF800
6117 07FFF80007FFF80007FFF80003FFF00003FFF00001FFE00000FFC000003F000000000000
6118 000000000000000000000000000000000000000000000000000000000000000000000000
6119 00000000000000000000000000000000001FF800FFFFF800FFFFF800FFFFF800FFFFF800
6120 FFFFF80001FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
6121 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
6122 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
6123 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800
6124 00FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF800FFFFFFF0
6125 FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C547CD324>I<003FF800FFFFF800FFFFF800FF
6126 FFF800FFFFF800FFFFF80003FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6127 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6128 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6129 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6130 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6131 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6132 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6133 FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000FFF80000
6134 FFF80000FFF80000FFF800FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81D537CD224
6135 >108 D<003FF0001FF8000001FF800000FFFFF000FFFF80000FFFF80000FFFFF003FFFF
6136 E0003FFFFE0000FFFFF00FFFFFF000FFFFFF0000FFFFF03F80FFF803F80FFF8000FFFFF0
6137 7E007FFC07E007FFC00003FFF0F8003FFE0F8003FFE00000FFF1F0001FFE1F0001FFE000
6138 00FFF3E0001FFF3E0001FFF00000FFF3C0001FFF3C0001FFF00000FFF780001FFF780001
6139 FFF00000FFF700000FFFF00000FFF80000FFFF00000FFFF00000FFF80000FFFE00000FFF
6140 E00000FFF80000FFFE00000FFFE00000FFF80000FFFC00000FFFC00000FFF80000FFFC00
6141 000FFFC00000FFF80000FFFC00000FFFC00000FFF80000FFF800000FFF800000FFF80000
6142 FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FF
6143 F80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF80
6144 0000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF80000
6145 0FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FF
6146 F800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF8
6147 0000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF8000
6148 00FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000F
6149 FF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF8
6150 00000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF800
6151 00FFF800000FFF800000FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000
6152 FFF80000FFF800000FFF800000FFF80000FFF800000FFF800000FFF800FFFFFFF80FFFFF
6153 FF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFFF8FFFFFFF8
6154 0FFFFFFF80FFFFFFF8FFFFFFF80FFFFFFF80FFFFFFF865367BB56E>I<003FF0001FFC00
6155 0000FFFFF000FFFF800000FFFFF003FFFFE00000FFFFF00FFFFFF80000FFFFF01FC07FFC
6156 0000FFFFF07E003FFE000003FFF0F8001FFF000000FFF1F0001FFF000000FFF1E0000FFF
6157 800000FFF3C0000FFF800000FFF780000FFF800000FFF7000007FFC00000FFFF000007FF
6158 C00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FFFC000007FF
6159 C00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FFF8000007FF
6160 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6161 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6162 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6163 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6164 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6165 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6166 C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
6167 C000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFF
6168 FFC0FFFFFFF807FFFFFFC042367CB549>I<000001FFC000000000003FFFFE0000000000
6169 FFFFFF8000000003FFFFFFE00000000FFF80FFF80000003FFC001FFE0000007FF00007FF
6170 000000FFE00003FF800001FFC00001FFC00003FF800000FFE00003FF0000007FE00007FF
6171 0000007FF0000FFF0000007FF8000FFE0000003FF8001FFE0000003FFC001FFE0000003F
6172 FC003FFE0000003FFE003FFC0000001FFE003FFC0000001FFE007FFC0000001FFF007FFC
6173 0000001FFF007FFC0000001FFF007FFC0000001FFF00FFFC0000001FFF80FFFC0000001F
6174 FF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC
6175 0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001FFF80FFFC0000001F
6176 FF80FFFC0000001FFF807FFC0000001FFF007FFC0000001FFF007FFC0000001FFF003FFC
6177 0000001FFE003FFE0000003FFE003FFE0000003FFE001FFE0000003FFC001FFE0000003F
6178 FC000FFF0000007FF8000FFF0000007FF80007FF800000FFF00003FF800000FFE00001FF
6179 C00001FFC00000FFE00003FF8000007FF00007FF0000003FFC001FFE0000001FFF80FFFC
6180 00000007FFFFFFF000000001FFFFFFC0000000003FFFFE000000000003FFE00000003938
6181 7CB642>I<003FF8007FF0000000FFFFF807FFFF000000FFFFF81FFFFFC00000FFFFF87F
6182 FFFFF00000FFFFF9FF00FFFC0000FFFFFFF8003FFF000003FFFFE0000FFF800000FFFF80
6183 0007FFC00000FFFF000003FFE00000FFFE000003FFF00000FFFC000001FFF00000FFF800
6184 0000FFF80000FFF8000000FFFC0000FFF80000007FFC0000FFF80000007FFE0000FFF800
6185 00007FFE0000FFF80000003FFE0000FFF80000003FFF0000FFF80000003FFF0000FFF800
6186 00003FFF0000FFF80000003FFF0000FFF80000001FFF8000FFF80000001FFF8000FFF800
6187 00001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF800
6188 00001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF800
6189 00001FFF8000FFF80000001FFF8000FFF80000001FFF8000FFF80000003FFF0000FFF800
6190 00003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000007FFE0000FFF800
6191 00007FFE0000FFF80000007FFC0000FFF8000000FFFC0000FFF8000000FFF80000FFFC00
6192 0001FFF80000FFFC000001FFF00000FFFE000003FFE00000FFFF000007FFC00000FFFF80
6193 000FFF800000FFFFE0001FFF000000FFFFF0007FFE000000FFF9FE01FFF8000000FFF8FF
6194 FFFFF0000000FFF83FFFFFC0000000FFF807FFFE00000000FFF800FFE000000000FFF800
6195 000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800
6196 000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800
6197 000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800
6198 000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF800
6199 0000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF8
6200 0000000000FFFFFFF80000000000414D7DB549>I<000003FF80000F800000003FFFF000
6201 1F80000000FFFFFC003F80000007FFFFFF003F8000000FFFC03F807F8000003FFF000FC0
6202 7F8000007FFC0003E0FF800000FFF80001F1FF800001FFF00000F9FF800003FFE000007F
6203 FF800007FFC000007FFF80000FFFC000003FFF80000FFF8000001FFF80001FFF8000001F
6204 FF80001FFF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80007FFE0000000F
6205 FF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF8000FFFC0000000F
6206 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
6207 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
6208 FF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000FFF8000FFFC0000000F
6209 FF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000F
6210 FF80003FFE0000000FFF80003FFF0000000FFF80003FFF0000000FFF80001FFF0000000F
6211 FF80001FFF8000001FFF80000FFF8000003FFF800007FFC000003FFF800007FFE000007F
6212 FF800003FFE00000FFFF800001FFF00001FFFF800000FFF80007EFFF8000003FFE000FCF
6213 FF8000001FFF807F8FFF80000007FFFFFE0FFF80000001FFFFF80FFF800000007FFFE00F
6214 FF8000000007FF000FFF800000000000000FFF800000000000000FFF800000000000000F
6215 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
6216 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
6217 FF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000F
6218 FF800000000000000FFF800000000000000FFF8000000000000FFFFFFF80000000000FFF
6219 FFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80414D7CB545>
6220 I<003FF001FC00FFFFF00FFF80FFFFF01FFFE0FFFFF07FFFF0FFFFF0FE1FF8FFFFF1F83F
6221 F801FFF1F07FFC00FFF3E07FFC00FFF3C07FFC00FFF7807FFC00FFF7807FFC00FFFF007F
6222 FC00FFFF003FF800FFFE001FF000FFFE000FE000FFFE00000000FFFC00000000FFFC0000
6223 0000FFFC00000000FFFC00000000FFF800000000FFF800000000FFF800000000FFF80000
6224 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
6225 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
6226 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
6227 0000FFF800000000FFF800000000FFF800000000FFF800000000FFF800000000FFF80000
6228 0000FFF8000000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE0000FFFFFFFE00
6229 002E367DB535>I<0003FFC00E00001FFFFC1E0000FFFFFF7E0003FFFFFFFE0007FE003F
6230 FE000FF0000FFE001FE00003FE003FC00001FE003F800000FE007F800000FE007F000000
6231 7E007F0000007E00FF0000003E00FF0000003E00FF8000003E00FF8000003E00FFC00000
6232 3E00FFF000000000FFFC00000000FFFF800000007FFFFE0000007FFFFFF000003FFFFFFE
6233 00003FFFFFFF80001FFFFFFFE0000FFFFFFFF00007FFFFFFFC0003FFFFFFFE0000FFFFFF
6234 FF00003FFFFFFF00000FFFFFFF800001FFFFFF8000000FFFFFC00000003FFFC000000007
6235 FFE000000001FFE0F8000000FFE0F80000007FE0FC0000003FE0FC0000003FE0FC000000
6236 1FE0FE0000001FE0FE0000001FE0FE0000001FC0FF0000001FC0FF8000003FC0FF800000
6237 3F80FFC000003F80FFE000007F00FFF80000FF00FFFC0003FE00FFFF801FFC00FE7FFFFF
6238 F000F81FFFFFC000F007FFFF0000E0007FF000002B387CB634>I<00007C00000000007C
6239 00000000007C00000000007C00000000007C00000000007C0000000000FC0000000000FC
6240 0000000000FC0000000000FC0000000001FC0000000001FC0000000001FC0000000003FC
6241 0000000003FC0000000007FC0000000007FC000000000FFC000000001FFC000000003FFC
6242 000000007FFC00000000FFFC00000003FFFC0000000FFFFFFFFE00FFFFFFFFFE00FFFFFF
6243 FFFE00FFFFFFFFFE00FFFFFFFFFE00007FFC000000007FFC000000007FFC000000007FFC
6244 000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC
6245 000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC
6246 000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC
6247 000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC
6248 000F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC
6249 000F80007FFC000F80007FFC000F80007FFC000F80007FFC000F80007FFC001F00003FFE
6250 001F00003FFE001F00001FFE003E00001FFF003E00000FFF807C000007FFC1F8000003FF
6251 FFF0000000FFFFE00000003FFF8000000003FE0000294D7ECB33>I<003FF8000001FFC0
6252 00FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC0
6253 00FFFFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8000007FFC0
6254 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6255 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6256 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6257 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6258 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6259 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6260 0000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC0
6261 0000FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF800000FFFC0
6262 0000FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC00000FFF800003FFFC0
6263 00007FF800003FFFC000007FF800007FFFC000003FFC0000F7FFC000003FFC0001E7FFF0
6264 00001FFE0007C7FFFFC0000FFF801F87FFFFC00007FFFFFF07FFFFC00001FFFFFC07FFFF
6265 C000007FFFF007FFFFC0000007FFC007FF000042377CB549>I<FFFFFFE0001FFFFCFFFF
6266 FFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFC01FFF8000001
6267 FF0000FFF80000007C0000FFFC000000FC00007FFC000000F800007FFE000000F800007F
6268 FE000001F800003FFF000001F000003FFF000003F000001FFF000003E000001FFF800007
6269 E000000FFF800007C000000FFFC0000FC000000FFFC0000FC0000007FFE0000F80000007
6270 FFE0001F80000003FFE0001F00000003FFF0003F00000001FFF0003E00000001FFF8007E
6271 00000000FFF8007C00000000FFFC007C00000000FFFC00FC000000007FFC00F800000000
6272 7FFE01F8000000003FFE01F0000000003FFF03F0000000001FFF03E0000000001FFF83E0
6273 000000001FFF87E0000000000FFF87C0000000000FFFCFC00000000007FFCF8000000000
6274 07FFFF800000000003FFFF000000000003FFFF000000000003FFFF000000000001FFFE00
6275 0000000001FFFE000000000000FFFC000000000000FFFC0000000000007FF80000000000
6276 007FF80000000000007FF80000000000003FF00000000000003FF00000000000001FE000
6277 00000000001FE00000000000000FC00000000000000FC00000003E367DB445>I<FFFFFF
6278 E1FFFFFF800FFFFFFFFFFFE1FFFFFF800FFFFFFFFFFFE1FFFFFF800FFFFFFFFFFFE1FFFF
6279 FF800FFFFFFFFFFFE1FFFFFF800FFFFF01FFF00003FFC000003FE001FFF80001FFE00000
6280 0F8000FFF80001FFE000001F0000FFF80001FFE000001F0000FFFC0000FFF000003F0000
6281 7FFC0000FFF000003E00007FFE00007FF000003E00007FFE00007FF800007E00003FFE00
6282 007FF800007C00003FFF00007FFC0000FC00001FFF00007FFC0000F800001FFF0000FFFC
6283 0000F800001FFF8000FFFE0001F800000FFF8001FFFE0001F000000FFFC001FFFF0003F0
6284 000007FFC001FFFF0003E0000007FFC003FFFF0003E0000007FFE003E7FF8007E0000003
6285 FFE007E7FF8007C0000003FFF007C3FFC007C0000001FFF007C3FFC00F80000001FFF00F
6286 C3FFC00F80000001FFF80F81FFE01F80000000FFF80F81FFE01F00000000FFFC1F00FFE0
6287 1F00000000FFFC1F00FFF03F000000007FFC3F00FFF03E000000007FFE3E007FF87E0000
6288 00003FFE3E007FF87C000000003FFE7E007FF87C000000003FFF7C003FFCFC000000001F
6289 FFFC003FFCF8000000001FFFF8001FFFF8000000000FFFF8001FFFF0000000000FFFF800
6290 1FFFF0000000000FFFF0000FFFF00000000007FFF0000FFFE00000000007FFE00007FFE0
6291 0000000003FFE00007FFC00000000003FFE00007FFC00000000003FFC00003FFC0000000
6292 0001FFC00003FF800000000001FF800001FF800000000001FF800001FF800000000000FF
6293 800001FF000000000000FF000000FF0000000000007F000000FE0000000000007F000000
6294 FE0000000000003E0000007C00000058367DB45F>I<FFFFFFE0001FFFFCFFFFFFE0001F
6295 FFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFCFFFFFFE0001FFFFC01FFF8000001FF0000FF
6296 F80000007C0000FFFC000000FC00007FFC000000F800007FFE000001F800003FFE000001
6297 F000003FFF000001F000003FFF000003F000001FFF800003E000001FFF800007E000000F
6298 FF800007C000000FFFC0000FC0000007FFC0000F80000007FFE0001F80000003FFE0001F
6299 00000003FFF0001F00000003FFF0003F00000001FFF8003E00000001FFF8007E00000000
6300 FFF8007C00000000FFFC00FC000000007FFC00F8000000007FFE00F8000000007FFE01F8
6301 000000003FFF01F0000000003FFF03F0000000001FFF03E0000000001FFF87E000000000
6302 0FFF87C0000000000FFFCFC00000000007FFCF800000000007FFEF800000000007FFFF80
6303 0000000003FFFF000000000003FFFF000000000001FFFE000000000001FFFE0000000000
6304 00FFFC000000000000FFFC0000000000007FF80000000000007FF80000000000007FF800
6305 00000000003FF00000000000003FF00000000000001FE00000000000001FE00000000000
6306 000FC00000000000000FC00000000000000FC00000000000000F800000000000001F8000
6307 00000000001F000000000000003F000000000000003E000000000000007E000000001FC0
6308 007C000000003FE0007C000000007FF000FC00000000FFF800F800000000FFF801F80000
6309 0000FFF801F000000000FFF803E000000000FFF807E000000000FFF80FC0000000007FF0
6310 1F80000000007FE03F00000000007FC07F00000000003F81FC00000000001FFFF8000000
6311 00000FFFF0000000000003FFC0000000000000FE0000000000003E4D7DB445>121
6312 D E
6313 %EndDVIPSBitmapFont
6314 %DVIPSBitmapFont: Fj ecbx2074 20.74 15
6315 /Fj 15 117 df<0000000003C00000000000000FC00000000000001FC00000000000003F
6316 C0000000000000FFC0000000000003FFC000000000000FFFC000000000007FFFC0000000
6317 0003FFFFC0000000003FFFFFC00000000FFFFFFFC00000FFFFFFFFFFC00000FFFFFFFFFF
6318 C00000FFFFFFFFFFC00000FFFFFCFFFFC00000FFFFC0FFFFC00000FFF000FFFFC0000000
6319 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6320 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6321 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6322 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6323 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6324 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6325 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6326 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6327 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6328 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6329 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6330 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6331 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6332 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6333 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6334 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6335 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6336 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC0000000
6337 0000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF
6338 C00000000000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFFC000003F
6339 FFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFFFFFFFF3FFFFFFFFF
6340 FFFFFF3FFFFFFFFFFFFFFF407172F05B>49 D<0000001FFF80000000000001FFFFFC0000
6341 0000000FFFFFFF80000000003FFFFFFFF000000000FFFFFFFFFC00000003FFFFFFFFFF00
6342 00000FFF001FFFFFC000001FF80003FFFFE000003FE00000FFFFF800007F8000003FFFFC
6343 0001FF0000001FFFFE0001FC0000000FFFFF0003F800000007FFFF8007F000000003FFFF
6344 C00FE000000001FFFFC00FE000000000FFFFE01FC000000000FFFFF01F80000000007FFF
6345 F03F80000000003FFFF83FF8000000003FFFF87FFE000000001FFFFC7FFF800000001FFF
6346 FC7FFFC00000001FFFFEFFFFE00000000FFFFEFFFFE00000000FFFFEFFFFF00000000FFF
6347 FEFFFFF00000000FFFFFFFFFF00000000FFFFFFFFFF000000007FFFFFFFFF000000007FF
6348 FFFFFFF000000007FFFFFFFFF000000007FFFFFFFFF000000007FFFF7FFFE000000007FF
6349 FF7FFFE000000007FFFF3FFFC000000007FFFF1FFF800000000FFFFF07FE000000000FFF
6350 FF01F8000000000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000001FFF
6351 FE0000000000001FFFFC0000000000001FFFFC0000000000001FFFF80000000000003FFF
6352 F80000000000003FFFF00000000000007FFFF00000000000007FFFE0000000000000FFFF
6353 E0000000000000FFFFC0000000000001FFFF80000000000001FFFF00000000000003FFFF
6354 00000000000003FFFE00000000000007FFFC0000000000000FFFF80000000000000FFFF0
6355 0000000000001FFFE00000000000003FFFC00000000000003FFF800000000000007FFF00
6356 000000000000FFFE00000000000001FFF800000000000001FFF000000000000003FFE000
6357 000000000007FFC00000000000000FFF800000000000001FFE000000000000003FFC0000
6358 00000000007FF8000000000000007FF000000000000000FFE000000000000001FF800000
6359 0000000003FF0000000000000007FE000000000000000FFC000000000000001FF8000000
6360 000000003FF00000003F0000007FE00000003F000000FFC00000003F000000FF00000000
6361 3F000001FE000000007E000003FC000000007E000007F8000000007E00000FF000000000
6362 7E00001FE0000000007E00003FC0000000007E00007F8000000000FE0000FF0000000000
6363 FE0001FE0000000000FE0003F80000000000FC0003F00000000001FC0007E00000000001
6364 FC000FC0000000000FFC001FFFFFFFFFFFFFFC003FFFFFFFFFFFFFFC007FFFFFFFFFFFFF
6365 FC00FFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFF807FFFFFFFFFFFFFF
6366 F807FFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF81FFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFF
6367 F87FFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFF
6368 F0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0487177F05B>I<00
6369 000003FFF8000000000000007FFFFFC0000000000003FFFFFFFC00000000000FFFFFFFFF
6370 00000000007FFFFFFFFFC000000000FFFC007FFFF000000003FFC0000FFFFC00000007FE
6371 000003FFFE0000001FF8000001FFFF0000003FE0000000FFFFC000007FC00000007FFFC0
6372 00007F000000007FFFE00000FE000000003FFFF00001FFC00000003FFFF80001FFF00000
6373 001FFFF80003FFF80000001FFFFC0003FFFC0000001FFFFC0003FFFE0000001FFFFC0007
6374 FFFF0000001FFFFE0007FFFF0000000FFFFE0007FFFF0000000FFFFE0007FFFF0000000F
6375 FFFE0007FFFF8000000FFFFE0007FFFF0000000FFFFE0007FFFF0000000FFFFE0007FFFF
6376 0000000FFFFE0007FFFF0000000FFFFE0003FFFF0000001FFFFE0003FFFE0000001FFFFE
6377 0001FFFC0000001FFFFC0000FFF80000001FFFFC00003FE00000001FFFFC000007000000
6378 001FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF00000
6379 00000000007FFFF0000000000000007FFFE000000000000000FFFFC000000000000000FF
6380 FFC000000000000001FFFF8000000000000001FFFF0000000000000003FFFE0000000000
6381 000007FFFC0000000000000007FFF8000000000000000FFFF0000000000000001FFFC000
6382 0000000000007FFF8000000000000000FFFE0000000000000003FFFC00000000000001FF
6383 FFF0000000000001FFFFFF80000000000001FFFFFE00000000000001FFFFF80000000000
6384 0001FFFFFFE0000000000001FFFFFFFC00000000000000007FFF80000000000000000FFF
6385 E00000000000000003FFF80000000000000001FFFE00000000000000007FFF0000000000
6386 0000007FFFC0000000000000003FFFE0000000000000001FFFF0000000000000000FFFF8
6387 000000000000000FFFFC0000000000000007FFFE0000000000000007FFFF000000000000
6388 0007FFFF0000000000000003FFFF8000000000000003FFFF8000000000000003FFFFC000
6389 000000000003FFFFC000000000000003FFFFE000000000000001FFFFE000000000000001
6390 FFFFE000000000000001FFFFE000000000000001FFFFF000000000000001FFFFF0000000
6391 00000001FFFFF003FE0000000001FFFFF00FFF8000000001FFFFF01FFFC000000001FFFF
6392 F03FFFE000000001FFFFF07FFFF000000001FFFFF07FFFF000000001FFFFF0FFFFF80000
6393 0001FFFFF0FFFFF800000001FFFFF0FFFFF800000001FFFFF0FFFFF800000001FFFFE0FF
6394 FFF800000001FFFFE0FFFFF800000003FFFFE0FFFFF800000003FFFFE0FFFFF800000003
6395 FFFFC0FFFFF000000003FFFFC07FFFF000000003FFFF807FFFE000000007FFFF807FFFC0
6396 00000007FFFF003FFF8000000007FFFF003FFE000000000FFFFE001FF8000000000FFFFE
6397 001FE0000000001FFFFC000FF0000000003FFFF80007FC000000003FFFF00003FE000000
6398 007FFFE00001FFC0000000FFFFC00000FFF0000003FFFF8000003FFF00000FFFFE000000
6399 1FFFF8007FFFFC00000007FFFFFFFFFFF000000001FFFFFFFFFFC0000000007FFFFFFFFF
6400 00000000000FFFFFFFF8000000000000FFFFFFC000000000000007FFF8000000004C7379
6401 F05B>I<000000000000007F000000000000000000FF000000000000000000FF00000000
6402 0000000001FF000000000000000003FF000000000000000007FF000000000000000007FF
6403 00000000000000000FFF00000000000000001FFF00000000000000001FFF000000000000
6404 00003FFF00000000000000007FFF0000000000000000FFFF0000000000000000FFFF0000
6405 000000000001FFFF0000000000000003FFFF0000000000000003FFFF0000000000000007
6406 FFFF000000000000000FFFFF000000000000001FFFFF000000000000001FFFFF00000000
6407 0000003FFFFF000000000000007FFFFF000000000000007FFFFF00000000000000FDFFFF
6408 00000000000001FDFFFF00000000000003F9FFFF00000000000003F1FFFF000000000000
6409 07F1FFFF0000000000000FE1FFFF0000000000001FC1FFFF0000000000001F81FFFF0000
6410 000000003F81FFFF0000000000007F01FFFF0000000000007E01FFFF000000000000FE01
6411 FFFF000000000001FC01FFFF000000000003F801FFFF000000000003F001FFFF00000000
6412 0007F001FFFF00000000000FE001FFFF00000000000FC001FFFF00000000001FC001FFFF
6413 00000000003F8001FFFF00000000007F0001FFFF00000000007E0001FFFF0000000000FE
6414 0001FFFF0000000001FC0001FFFF0000000001F80001FFFF0000000003F80001FFFF0000
6415 000007F00001FFFF000000000FE00001FFFF000000000FC00001FFFF000000001FC00001
6416 FFFF000000003F800001FFFF000000003F000001FFFF000000007E000001FFFF00000000
6417 FE000001FFFF00000001FC000001FFFF00000001F8000001FFFF00000003F8000001FFFF
6418 00000007F0000001FFFF00000007E0000001FFFF0000000FC0000001FFFF0000001FC000
6419 0001FFFF0000003F80000001FFFF0000003F00000001FFFF0000007F00000001FFFF0000
6420 00FE00000001FFFF000000FC00000001FFFF000001F800000001FFFF000003F800000001
6421 FFFF000007F000000001FFFF000007E000000001FFFF00000FE000000001FFFF00001FC0
6422 00000001FFFF00001F8000000001FFFF00003F0000000001FFFF00007F0000000001FFFF
6423 0000FE0000000001FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6424 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6425 000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003
6426 FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF00000000
6427 00000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF
6428 0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF000000000000
6429 0003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000
6430 000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000003
6431 FFFF00000000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000
6432 000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF50727BF15B>I<00
6433 6000000000000180007800000000000780007F00000000003F80007FE000000001FF8000
6434 7FFE0000001FFF80007FFFF80007FFFF00007FFFFFFFFFFFFE00007FFFFFFFFFFFFE0000
6435 7FFFFFFFFFFFFC00007FFFFFFFFFFFF800007FFFFFFFFFFFF000007FFFFFFFFFFFC00000
6436 7FFFFFFFFFFF8000007FFFFFFFFFFF0000007FFFFFFFFFFE0000007FFFFFFFFFF8000000
6437 7FFFFFFFFFE00000007FFFFFFFFF800000007FFFFFFFFE000000007FFFFFFFF800000000
6438 7FFFFFFFC0000000007E3FFFFE00000000007E00FF8000000000007E0000000000000000
6439 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
6440 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
6441 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
6442 7E00000000000000007E00000000000000007E00000000000000007E0000000000000000
6443 7E00000000000000007E00000000000000007E0003FFE0000000007E003FFFFF00000000
6444 7E00FFFFFFE00000007E03FFFFFFF80000007E0FFFFFFFFE0000007E3FFE007FFF800000
6445 7E7FE0001FFFC000007EFF800007FFF000007FFC000003FFF800007FF8000001FFFC0000
6446 7FE0000000FFFE00007FC0000000FFFF00007F800000007FFF80007F000000007FFFC000
6447 7F000000003FFFC0007E000000003FFFE0003C000000001FFFE00000000000001FFFF000
6448 00000000001FFFF00000000000001FFFF80000000000001FFFF80000000000001FFFFC00
6449 00000000000FFFFC0000000000000FFFFC0000000000000FFFFE0000000000000FFFFE00
6450 00000000000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFF00
6451 00000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF03
6452 F8000000000FFFFF0FFE000000000FFFFF1FFF000000000FFFFF3FFF800000000FFFFF7F
6453 FFC00000000FFFFF7FFFC00000000FFFFFFFFFE00000000FFFFFFFFFE00000000FFFFFFF
6454 FFE00000000FFFFFFFFFE00000000FFFFEFFFFE00000000FFFFEFFFFE00000000FFFFEFF
6455 FFE00000000FFFFEFFFFC00000000FFFFEFFFFC00000001FFFFC7FFF800000001FFFFC7F
6456 FF000000001FFFFC7FFC000000001FFFF87FF0000000001FFFF83F80000000003FFFF03F
6457 80000000003FFFF01FC0000000003FFFE01FC0000000007FFFC00FE0000000007FFFC00F
6458 F000000000FFFF8007F800000000FFFF0003FC00000001FFFE0003FE00000003FFFE0001
6459 FF80000007FFFC0000FFC000000FFFF000007FF000003FFFE000001FFC0000FFFFC00000
6460 0FFFC00FFFFF00000007FFFFFFFFFC00000001FFFFFFFFF0000000007FFFFFFFC0000000
6461 001FFFFFFF000000000003FFFFF00000000000003FFE00000000487377F05B>I<000000
6462 00007FFC000000000000000FFFFFC00000000000007FFFFFF0000000000003FFFFFFFC00
6463 000000000FFFFFFFFF00000000003FFFE007FF8000000000FFFE00007FC000000003FFF8
6464 00003FE000000007FFE000000FF00000001FFF80000007F00000003FFF00000003F80000
6465 007FFE0000001FF8000000FFFC0000007FFC000001FFF8000001FFFC000003FFF0000001
6466 FFFC000007FFE0000003FFFE00000FFFC0000007FFFE00001FFFC0000007FFFE00001FFF
6467 80000007FFFE00003FFF00000007FFFE00007FFF00000007FFFE00007FFE00000007FFFE
6468 0000FFFE00000007FFFE0000FFFE00000007FFFE0001FFFC00000003FFFC0001FFFC0000
6469 0001FFF80003FFFC00000001FFF00003FFF8000000007FE00007FFF8000000001F800007
6470 FFF8000000000000000FFFF8000000000000000FFFF8000000000000000FFFF000000000
6471 0000001FFFF0000000000000001FFFF0000000000000001FFFF0000000000000003FFFF0
6472 000000000000003FFFF0000000000000003FFFF0000000000000003FFFF0000000000000
6473 003FFFE0000000000000007FFFE0001FFFE00000007FFFE000FFFFFC0000007FFFE003FF
6474 FFFF8000007FFFE007FFFFFFE000007FFFE01FFFFFFFF000007FFFE03F8003FFFC0000FF
6475 FFE07E00007FFE0000FFFFE0FC00003FFF0000FFFFE0F000001FFF8000FFFFE1E000000F
6476 FFC000FFFFE3E0000007FFE000FFFFE3C0000003FFF000FFFFE780000003FFF800FFFFE7
6477 00000001FFFC00FFFFEF00000001FFFC00FFFFEE00000001FFFE00FFFFFE00000000FFFF
6478 00FFFFFC00000000FFFF00FFFFFC00000000FFFF80FFFFFC00000000FFFF80FFFFF80000
6479 0000FFFFC0FFFFF8000000007FFFC0FFFFF8000000007FFFC0FFFFF0000000007FFFE0FF
6480 FFF0000000007FFFE0FFFFF0000000007FFFE0FFFFF0000000007FFFE0FFFFF000000000
6481 7FFFE0FFFFF0000000007FFFF0FFFFF0000000007FFFF07FFFE0000000007FFFF07FFFE0
6482 000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFF
6483 F07FFFE0000000007FFFF07FFFE0000000007FFFF07FFFE0000000007FFFF03FFFE00000
6484 00007FFFF03FFFE0000000007FFFF03FFFE0000000007FFFF03FFFF0000000007FFFF03F
6485 FFF0000000007FFFF01FFFF0000000007FFFF01FFFF0000000007FFFF01FFFF000000000
6486 7FFFE01FFFF0000000007FFFE00FFFF0000000007FFFE00FFFF0000000007FFFE00FFFF0
6487 000000007FFFE007FFF0000000007FFFC007FFF800000000FFFFC003FFF800000000FFFF
6488 8003FFF800000000FFFF8001FFF800000000FFFF8001FFFC00000000FFFF0000FFFC0000
6489 0001FFFF0000FFFC00000001FFFE00007FFE00000001FFFC00007FFE00000003FFF80000
6490 3FFF00000003FFF800001FFF80000007FFF000000FFFC000000FFFE0000007FFE000001F
6491 FFC0000003FFF000003FFF80000001FFF800007FFF00000000FFFE0001FFFE000000007F
6492 FFC00FFFF8000000001FFFFFFFFFF00000000007FFFFFFFFC00000000001FFFFFFFF0000
6493 000000007FFFFFFC0000000000000FFFFFE000000000000000FFFC000000004C7379F05B
6494 >I<07E0000000000000000007E000000000000000000FE000000000000000000FF80000
6495 0000000000000FFE00000000000000000FFFFF000000000000000FFFFFFFFFFFFFFFFFFC
6496 0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC1FFFFFFFFFFF
6497 FFFFFFFC1FFFFFFFFFFFFFFFFFFC1FFFFFFFFFFFFFFFFFF81FFFFFFFFFFFFFFFFFF01FFF
6498 FFFFFFFFFFFFFFE01FFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFF
6499 FF801FFFFFFFFFFFFFFFFF003FFFFFFFFFFFFFFFFE003FFFFFFFFFFFFFFFFE003FFFFFFF
6500 FFFFFFFFFC003FFFFFFFFFFFFFFFF8003FFFFFFFFFFFFFFFF0003FF8000000000007E000
6501 3FC000000000000FE0003F8000000000001FC0003F8000000000003F80007F0000000000
6502 003F00007F0000000000007F00007F000000000000FE00007E000000000001FC00007E00
6503 0000000003F800007E000000000003F000007E000000000007F000007E00000000000FE0
6504 00007E00000000001FC00000FC00000000001F800000FC00000000003F800000FC000000
6505 00007F000000FC0000000000FE000000000000000001FC000000000000000001F8000000
6506 000000000003F8000000000000000007F000000000000000000FE000000000000000000F
6507 E000000000000000001FC000000000000000003F8000000000000000003F800000000000
6508 0000007F000000000000000000FF000000000000000000FE000000000000000001FE0000
6509 00000000000003FC000000000000000003FC000000000000000007F80000000000000000
6510 0FF800000000000000000FF800000000000000001FF000000000000000001FF000000000
6511 000000003FF000000000000000003FE000000000000000007FE000000000000000007FE0
6512 0000000000000000FFE00000000000000000FFC00000000000000001FFC0000000000000
6513 0001FFC00000000000000003FFC00000000000000003FF800000000000000007FF800000
6514 000000000007FF80000000000000000FFF80000000000000000FFF80000000000000000F
6515 FF80000000000000001FFF00000000000000001FFF00000000000000003FFF0000000000
6516 0000003FFF00000000000000003FFF00000000000000007FFF00000000000000007FFF00
6517 000000000000007FFF00000000000000007FFF0000000000000000FFFF00000000000000
6518 00FFFF0000000000000000FFFE0000000000000000FFFE0000000000000001FFFE000000
6519 0000000001FFFE0000000000000001FFFE0000000000000001FFFE0000000000000003FF
6520 FE0000000000000003FFFE0000000000000003FFFE0000000000000003FFFE0000000000
6521 000003FFFE0000000000000003FFFE0000000000000003FFFE0000000000000007FFFE00
6522 00000000000007FFFE0000000000000007FFFE0000000000000007FFFE00000000000000
6523 07FFFE0000000000000007FFFE0000000000000007FFFE0000000000000007FFFE000000
6524 0000000007FFFE0000000000000007FFFE0000000000000007FFFE0000000000000007FF
6525 FE0000000000000007FFFE0000000000000003FFFC0000000000000003FFFC0000000000
6526 000001FFF80000000000000000FFF000000000000000007FE000000000000000001F8000
6527 000000004E7776F45B>I<00000001FFFC000000000000003FFFFFE0000000000001FFFF
6528 FFFC000000000007FFFFFFFF80000000001FFFFFFFFFE0000000007FFE000FFFF0000000
6529 00FFE00000FFFC00000003FF0000003FFE00000007FE0000000FFF0000000FF800000007
6530 FF8000001FF000000003FFC000001FE000000001FFE000003FC000000000FFF000007FC0
6531 000000007FF000007F80000000007FF80000FF80000000003FF80001FF80000000003FFC
6532 0001FF00000000001FFC0001FF00000000001FFC0003FF00000000001FFE0003FF000000
6533 00000FFE0003FF00000000000FFE0003FF00000000000FFE0007FF00000000000FFE0007
6534 FF80000000000FFE0007FF80000000000FFE0007FFC0000000000FFE0007FFC000000000
6535 0FFE0007FFE0000000000FFE0007FFF0000000001FFE0007FFF8000000001FFC0007FFFC
6536 000000001FFC0007FFFF000000001FFC0007FFFF800000003FFC0007FFFFE00000003FF8
6537 0003FFFFF00000007FF80003FFFFFC0000007FF00003FFFFFF000000FFF00001FFFFFF80
6538 0001FFE00001FFFFFFE00001FFC00001FFFFFFF80003FF800000FFFFFFFC0007FF000000
6539 7FFFFFFF000FFE0000007FFFFFFF801FFC0000003FFFFFFFE07FF80000001FFFFFFFF8FF
6540 E00000001FFFFFFFFFFFC00000000FFFFFFFFFFF0000000007FFFFFFFFFC0000000003FF
6541 FFFFFFF00000000001FFFFFFFFF800000000007FFFFFFFFC00000000003FFFFFFFFF0000
6542 0000000FFFFFFFFFC00000000007FFFFFFFFE00000000001FFFFFFFFF80000000003FFFF
6543 FFFFFC000000000FFFFFFFFFFF000000003FFFFFFFFFFF800000007FFFFFFFFFFFC00000
6544 01FFE1FFFFFFFFE0000007FF807FFFFFFFF000000FFF003FFFFFFFF800001FFE000FFFFF
6545 FFFC00003FFC0003FFFFFFFC0000FFF80001FFFFFFFE0001FFF000007FFFFFFF0001FFE0
6546 00003FFFFFFF0003FFC000000FFFFFFF8007FF80000003FFFFFF800FFF80000001FFFFFF
6547 C00FFF000000007FFFFFC01FFE000000001FFFFFE01FFE000000000FFFFFE03FFC000000
6548 0003FFFFE03FFC0000000001FFFFE07FFC00000000007FFFF07FF800000000003FFFF07F
6549 F800000000001FFFF07FF800000000000FFFF0FFF8000000000007FFF0FFF00000000000
6550 07FFF0FFF0000000000003FFF0FFF0000000000003FFF0FFF0000000000001FFF0FFF000
6551 0000000001FFF0FFF0000000000000FFF0FFF0000000000000FFF0FFF0000000000000FF
6552 F0FFF0000000000000FFE0FFF0000000000000FFE0FFF8000000000000FFE07FF8000000
6553 000000FFE07FF8000000000000FFC07FFC000000000001FFC07FFC000000000001FF803F
6554 FC000000000001FF803FFE000000000003FF801FFF000000000003FF001FFF0000000000
6555 07FE000FFF800000000007FE000FFFC0000000000FFC0007FFE0000000001FF80003FFF0
6556 000000003FF00001FFF800000000FFE00000FFFE00000001FFC000007FFF80000007FF80
6557 00001FFFF000003FFF0000000FFFFF0007FFFC00000003FFFFFFFFFFF800000000FFFFFF
6558 FFFFE0000000003FFFFFFFFF800000000007FFFFFFFC000000000000FFFFFFE000000000
6559 000003FFF8000000004C7379F05B>I<00000000000001FFFE000000000E000000000000
6560 FFFFFFF00000001E00000000000FFFFFFFFE0000003E0000000000FFFFFFFFFF8000007E
6561 0000000003FFFFFFFFFFF00000FE000000001FFFFFFFFFFFFC0001FE000000007FFFFFF0
6562 003FFE0003FE00000001FFFFFC000003FF8007FE00000007FFFFE00000007FE007FE0000
6563 001FFFFF000000001FF00FFE0000007FFFF80000000007F81FFE000000FFFFE000000000
6564 03FC3FFE000003FFFFC00000000000FF7FFE000007FFFF0000000000007FFFFE00000FFF
6565 FE0000000000003FFFFE00001FFFF80000000000001FFFFE00003FFFF00000000000000F
6566 FFFE00007FFFE000000000000007FFFE0000FFFFC000000000000003FFFE0001FFFF8000
6567 000000000001FFFE0003FFFF0000000000000000FFFE0007FFFE0000000000000000FFFE
6568 000FFFFE00000000000000007FFE001FFFFC00000000000000003FFE001FFFF800000000
6569 000000003FFE003FFFF800000000000000001FFE007FFFF000000000000000000FFE007F
6570 FFE000000000000000000FFE00FFFFE0000000000000000007FE00FFFFC0000000000000
6571 000007FE01FFFFC0000000000000000007FE03FFFFC0000000000000000003FE03FFFF80
6572 000000000000000003FE03FFFF80000000000000000001FE07FFFF000000000000000000
6573 01FE07FFFF00000000000000000001FE0FFFFF00000000000000000001FE0FFFFF000000
6574 00000000000000FE0FFFFE00000000000000000000FE1FFFFE00000000000000000000FE
6575 1FFFFE00000000000000000000FE1FFFFE000000000000000000007E3FFFFC0000000000
6576 00000000007E3FFFFC000000000000000000007E3FFFFC000000000000000000007E3FFF
6577 FC00000000000000000000007FFFFC00000000000000000000007FFFFC00000000000000
6578 000000007FFFFC00000000000000000000007FFFF800000000000000000000007FFFF800
6579 000000000000000000007FFFF80000000000000000000000FFFFF8000000000000000000
6580 0000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF8000000
6581 0000000000000000FFFFF80000000000000000000000FFFFF80000000000000000000000
6582 FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF80000000000
6583 000000000000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFF
6584 F80000000000000000000000FFFFF80000000000000000000000FFFFF800000000000000
6585 00000000FFFFF80000000000000000000000FFFFF80000000000000000000000FFFFF800
6586 00000000000000000000FFFFF800000000000000000000007FFFF8000000000000000000
6587 00007FFFF800000000000000000000007FFFFC00000000000000000000007FFFFC000000
6588 00000000000000007FFFFC00000000000000000000007FFFFC0000000000000000000000
6589 3FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0000000000
6590 0000000000003FFFFC000000000000000000007E1FFFFE000000000000000000007E1FFF
6591 FE000000000000000000007E1FFFFE000000000000000000007E0FFFFE00000000000000
6592 0000007E0FFFFF000000000000000000007E0FFFFF000000000000000000007E07FFFF00
6593 000000000000000000FE07FFFF00000000000000000000FC03FFFF800000000000000000
6594 00FC03FFFF80000000000000000000FC03FFFFC0000000000000000001FC01FFFFC00000
6595 00000000000001F800FFFFC0000000000000000001F800FFFFE0000000000000000003F8
6596 007FFFE0000000000000000003F0007FFFF0000000000000000007F0003FFFF800000000
6597 0000000007E0001FFFF800000000000000000FE0001FFFFC00000000000000000FC0000F
6598 FFFE00000000000000001FC00007FFFE00000000000000003F800003FFFF000000000000
6599 00003F800001FFFF80000000000000007F000000FFFFC000000000000000FE0000007FFF
6600 E000000000000001FC0000003FFFF000000000000003FC0000001FFFF800000000000007
6601 F80000000FFFFE0000000000000FF000000007FFFF0000000000001FE000000003FFFFC0
6602 00000000007FC000000000FFFFE00000000000FF00000000007FFFFC0000000003FE0000
6603 0000001FFFFF000000000FFC000000000007FFFFE00000003FF0000000000001FFFFFE00
6604 0001FFE00000000000007FFFFFF0003FFF800000000000001FFFFFFFFFFFFE0000000000
6605 000003FFFFFFFFFFF80000000000000000FFFFFFFFFFE000000000000000000FFFFFFFFF
6606 00000000000000000000FFFFFFF00000000000000000000001FFFE00000000006F7A76F7
6607 84>67 D<0000001FFFC00000000000000003FFFFFE000000000000003FFFFFFFC0000000
6608 000000FFFFFFFFF0000000000003FFFFFFFFFC00000000000FFFE003FFFF00000000001F
6609 FC00007FFFC0000000003FE000001FFFE0000000007F8000000FFFF000000000FFF00000
6610 07FFF800000000FFF8000003FFFC00000001FFFC000001FFFE00000001FFFE000001FFFF
6611 00000003FFFE000000FFFF80000003FFFF0000007FFF80000003FFFF0000007FFFC00000
6612 03FFFF0000007FFFC0000003FFFF0000003FFFE0000003FFFF0000003FFFE0000003FFFF
6613 0000003FFFE0000003FFFF0000003FFFE0000001FFFE0000001FFFF0000001FFFE000000
6614 1FFFF0000000FFFC0000001FFFF00000003FF00000001FFFF00000000FC00000001FFFF0
6615 00000000000000001FFFF000000000000000001FFFF000000000000000001FFFF0000000
6616 00000000001FFFF000000000000000001FFFF000000000000000001FFFF0000000000000
6617 00001FFFF000000000000000001FFFF000000000000000001FFFF000000000000000003F
6618 FFF00000000000000FFFFFFFF0000000000003FFFFFFFFF000000000007FFFFFFFFFF000
6619 00000003FFFFFC1FFFF0000000001FFFFF001FFFF000000000FFFFF0001FFFF000000003
6620 FFFF00001FFFF00000000FFFFC00001FFFF00000001FFFF000001FFFF00000007FFFC000
6621 001FFFF0000000FFFF8000001FFFF0000001FFFF0000001FFFF0000003FFFE0000001FFF
6622 F0000007FFFC0000001FFFF000000FFFF80000001FFFF000001FFFF00000001FFFF00000
6623 3FFFF00000001FFFF000003FFFE00000001FFFF000007FFFE00000001FFFF000007FFFC0
6624 0000001FFFF007E07FFFC00000001FFFF007E0FFFFC00000001FFFF007E0FFFF80000000
6625 1FFFF007E0FFFF800000001FFFF007E0FFFF800000003FFFF007E0FFFF800000003FFFF0
6626 07E0FFFF800000003FFFF007E0FFFF800000007FFFF007E0FFFF800000007FFFF007E0FF
6627 FFC0000000FFFFF007E07FFFC0000000FFFFF007E07FFFE0000001EFFFF007E07FFFE000
6628 0003EFFFF007E03FFFF0000007C7FFF80FC01FFFF800000F87FFF80FC00FFFFC00001F07
6629 FFFC1FC007FFFE00007E03FFFF7F8003FFFF8001FC01FFFFFF0001FFFFE00FF801FFFFFF
6630 00007FFFFFFFE000FFFFFE00001FFFFFFFC0003FFFFC000007FFFFFF00001FFFF0000000
6631 FFFFF8000007FFE000000007FFC0000000FF000053507ACE5B>97
6632 D<00000001FFFC0000000000001FFFFFC00000000000FFFFFFF80000000007FFFFFFFE00
6633 0000001FFFFFFFFF800000007FFFE03FFFE0000000FFFE0007FFF0000003FFF80001FFF8
6634 000007FFF00000FFFC00000FFFC000003FFE00001FFF8000003FFF00003FFF0000001FFF
6635 80007FFE0000000FFFC000FFFE0000000FFFC000FFFC00000007FFE001FFFC00000007FF
6636 E003FFF800000003FFF003FFF800000003FFF007FFF000000003FFF80FFFF000000001FF
6637 F80FFFF000000001FFFC0FFFF000000001FFFC1FFFE000000000FFFC1FFFE000000000FF
6638 FC3FFFE000000000FFFE3FFFE000000000FFFE3FFFE000000000FFFE7FFFC000000000FF
6639 FE7FFFC0000000007FFE7FFFC0000000007FFF7FFFC0000000007FFF7FFFC0000000007F
6640 FFFFFFC0000000007FFFFFFFC0000000007FFFFFFFC0000000007FFFFFFFC0000000007F
6641 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6642 FFFFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000000
6643 00FFFFC0000000000000FFFFC0000000000000FFFFC00000000000007FFFC00000000000
6644 007FFFC00000000000007FFFC00000000000007FFFC00000000000007FFFE00000000000
6645 003FFFE00000000000003FFFE00000000000003FFFE00000000000001FFFE00000000000
6646 001FFFF00000000000001FFFF00000000000000FFFF000000000003F0FFFF00000000000
6647 3F07FFF800000000007F07FFF800000000007E03FFFC00000000007E01FFFC0000000000
6648 FE01FFFE0000000001FC00FFFF0000000001FC007FFF0000000003F8003FFF8000000007
6649 F0001FFFC00000000FE0000FFFE00000001FC00007FFF80000003F800003FFFC000000FF
6650 000001FFFF000003FE0000007FFFE0000FFC0000003FFFFE00FFF80000000FFFFFFFFFE0
6651 00000003FFFFFFFF80000000007FFFFFFE00000000000FFFFFF00000000000007FFF0000
6652 0048507BCE53>101 D<0003FFF80000000000000000FFFFFFF80000000000000000FFFF
6653 FFF80000000000000000FFFFFFF80000000000000000FFFFFFF80000000000000000FFFF
6654 FFF80000000000000000FFFFFFF80000000000000000007FFFF80000000000000000001F
6655 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6656 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6657 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6658 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6659 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6660 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6661 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6662 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6663 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6664 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6665 FFF80000000000000000000FFFF80000000000000000000FFFF80000000000000000000F
6666 FFF80000000000000000000FFFF800007FF800000000000FFFF80003FFFFC0000000000F
6667 FFF8001FFFFFF0000000000FFFF8007FFFFFFC000000000FFFF800FFFFFFFF000000000F
6668 FFF803FE01FFFF800000000FFFF807F0007FFFC00000000FFFF80FC0003FFFE00000000F
6669 FFF81F00001FFFE00000000FFFF83E00001FFFF00000000FFFF87C00000FFFF80000000F
6670 FFF8F800000FFFF80000000FFFF8F0000007FFF80000000FFFF9E0000007FFFC0000000F
6671 FFF9E0000007FFFC0000000FFFFBC0000007FFFC0000000FFFFF80000003FFFC0000000F
6672 FFFF80000003FFFE0000000FFFFF00000003FFFE0000000FFFFF00000003FFFE0000000F
6673 FFFE00000003FFFE0000000FFFFE00000003FFFE0000000FFFFE00000003FFFE0000000F
6674 FFFC00000003FFFE0000000FFFFC00000003FFFE0000000FFFFC00000003FFFE0000000F
6675 FFFC00000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6676 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6677 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6678 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6679 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6680 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6681 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6682 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6683 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6684 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6685 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6686 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6687 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6688 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6689 FFF800000003FFFE0000000FFFF800000003FFFE0000000FFFF800000003FFFE0000000F
6690 FFF800000003FFFE0000FFFFFFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFF
6691 FFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFFFFFFFF803FFFFFFFFFE0FFFF
6692 FFFFFF803FFFFFFFFFE05B787AF766>104 D<0003FFF80001FFF000000000FFFFFFF800
6693 1FFFFF00000000FFFFFFF800FFFFFFE0000000FFFFFFF803FFFFFFFC000000FFFFFFF80F
6694 FFFFFFFF000000FFFFFFF83FF801FFFFC00000FFFFFFF8FFC0003FFFE00000007FFFF9FE
6695 00001FFFF00000001FFFFBF8000007FFFC0000000FFFFFF0000003FFFE0000000FFFFFE0
6696 000001FFFF0000000FFFFF80000000FFFF8000000FFFFF000000007FFFC000000FFFFF00
6697 0000007FFFC000000FFFFE000000003FFFE000000FFFFC000000001FFFF000000FFFF800
6698 0000001FFFF000000FFFF8000000000FFFF800000FFFF8000000000FFFF800000FFFF800
6699 00000007FFFC00000FFFF80000000007FFFC00000FFFF80000000007FFFE00000FFFF800
6700 00000003FFFE00000FFFF80000000003FFFF00000FFFF80000000003FFFF00000FFFF800
6701 00000001FFFF00000FFFF80000000001FFFF00000FFFF80000000001FFFF80000FFFF800
6702 00000001FFFF80000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
6703 00000000FFFF80000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
6704 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
6705 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
6706 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
6707 00000000FFFFC0000FFFF80000000000FFFFC0000FFFF80000000000FFFFC0000FFFF800
6708 00000000FFFFC0000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
6709 00000001FFFF80000FFFF80000000001FFFF80000FFFF80000000001FFFF80000FFFF800
6710 00000001FFFF00000FFFF80000000003FFFF00000FFFF80000000003FFFF00000FFFF800
6711 00000003FFFE00000FFFF80000000007FFFE00000FFFF80000000007FFFE00000FFFF800
6712 00000007FFFC00000FFFF8000000000FFFFC00000FFFF8000000000FFFF800000FFFF800
6713 0000001FFFF800000FFFF8000000001FFFF000000FFFFC000000003FFFE000000FFFFE00
6714 0000003FFFE000000FFFFF000000007FFFC000000FFFFF00000000FFFF8000000FFFFF80
6715 000001FFFF0000000FFFFFC0000003FFFE0000000FFFFFF0000007FFFC0000000FFFFFF8
6716 00000FFFF80000000FFFF9FC00003FFFF00000000FFFF8FF0000FFFFC00000000FFFF87F
6717 F007FFFF000000000FFFF81FFFFFFFFC000000000FFFF807FFFFFFF0000000000FFFF801
6718 FFFFFFC0000000000FFFF8003FFFFE00000000000FFFF80007FFC000000000000FFFF800
6719 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6720 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6721 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6722 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6723 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6724 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6725 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6726 00000000000000000FFFF80000000000000000000FFFF80000000000000000000FFFF800
6727 00000000000000000FFFF80000000000000000FFFFFFFFFF80000000000000FFFFFFFFFF
6728 80000000000000FFFFFFFFFF80000000000000FFFFFFFFFF80000000000000FFFFFFFFFF
6729 80000000000000FFFFFFFFFF800000000000005A6F7BCD66>112
6730 D<0003FFF0001FF000FFFFFFF0007FFE00FFFFFFF001FFFF80FFFFFFF007FFFFE0FFFFFF
6731 F00FFFFFF0FFFFFFF01FE07FF8FFFFFFF03F80FFFC007FFFF07E01FFFE001FFFF0FC01FF
6732 FE000FFFF0F803FFFF000FFFF1F003FFFF000FFFF1F003FFFF000FFFF3E003FFFF000FFF
6733 F3C003FFFF000FFFF3C003FFFF000FFFF78003FFFF000FFFF78001FFFE000FFFF70001FF
6734 FE000FFFFF0000FFFC000FFFFF00007FF8000FFFFE00001FE0000FFFFE00000300000FFF
6735 FE00000000000FFFFE00000000000FFFFC00000000000FFFFC00000000000FFFFC000000
6736 00000FFFFC00000000000FFFFC00000000000FFFFC00000000000FFFF800000000000FFF
6737 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
6738 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
6739 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
6740 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
6741 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
6742 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
6743 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
6744 00000FFFF800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFF
6745 F800000000000FFFF800000000000FFFF800000000000FFFF800000000000FFFF8000000
6746 00FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFFFFFFF00000FFFFFF
6747 FFFFF00000FFFFFFFFFFF00000404E7CCD49>114 D<000000FC00000000000000FC0000
6748 0000000000FC00000000000000FC00000000000000FC00000000000000FC000000000000
6749 00FC00000000000001FC00000000000001FC00000000000001FC00000000000001FC0000
6750 0000000001FC00000000000003FC00000000000003FC00000000000003FC000000000000
6751 07FC00000000000007FC00000000000007FC0000000000000FFC0000000000000FFC0000
6752 000000001FFC0000000000001FFC0000000000003FFC0000000000007FFC000000000000
6753 FFFC000000000000FFFC000000000001FFFC000000000003FFFC000000000007FFFC0000
6754 0000001FFFFC00000000003FFFFC0000000000FFFFFC000000000FFFFFFFFFFFFC00FFFF
6755 FFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFF
6756 FC000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
6757 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
6758 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
6759 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
6760 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
6761 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
6762 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
6763 FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC0000
6764 00000007FFFC000000000007FFFC000000000007FFFC000000000007FFFC000000000007
6765 FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC0000
6766 1F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007
6767 FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC00001F800007FFFC0000
6768 1F800007FFFC00001F800007FFFC00003F800003FFFC00003F000003FFFE00003F000003
6769 FFFE00003F000003FFFE00007E000001FFFF00007E000001FFFF0000FE000000FFFF8000
6770 FC0000007FFF8001F80000007FFFC003F80000003FFFE007F00000001FFFF80FE0000000
6771 07FFFFFFC000000003FFFFFF8000000000FFFFFE00000000001FFFF8000000000001FFC0
6772 0000396E7DEC47>116 D E
6773 %EndDVIPSBitmapFont
6774 /Fk 133[37 44 44 60 44 46 32 33 33 44 46 42 46 69 23
6775 44 25 23 46 42 25 37 46 37 46 42 23 2[23 42 23 3[85 62
6776 62 60 46 61 1[56 65 62 76 52 65 1[30 62 65 54 56 63 60
6777 59 62 65 39 3[23 23 42 42 42 42 42 42 42 42 42 42 42
6778 23 28 23 65 1[32 32 23 3[69 4[69 46 46 48 9[28 28 16[{
6779 T1Encoding ReEncodeFont }80 83.022 /SFRM1000 rf /Fl
6780 133[42 50 1[69 50 53 37 38 39 1[53 48 53 80 27 50 1[27
6781 53 48 29 44 53 42 53 46 27 74 6[72 2[73 66 53 72 1[65
6782 72 75 91 57 75 1[36 75 75 60 63 73 69 68 72 3[74 4[48
6783 48 48 48 48 48 48 48 1[48 27 32 27 4[27 10[53 56 5[48
6784 21[{ T1Encoding ReEncodeFont }62 83.022 /SFBX1000 rf
6785 %DVIPSBitmapFont: Fm ecbx2488 24.88 31
6786 /Fm 31 122 df[<000000000000007FFFC0000000000000000000007FFFFFFC00000000
6787 00000000000FFFFFFFFF0000000000000000007FFFFFFFFFC00000000000000003FFFFFF
6788 FFFFF0000000000000001FFFFF8001FFF8000000000000007FFFF000001FFE0000000000
6789 0001FFFF80000007FF00000000000007FFFE00000001FF8000000000001FFFF800000000
6790 7FC000000000003FFFE0000000007FC00000000000FFFFC000000003FFE00000000001FF
6791 FF800000000FFFE00000000003FFFF000000001FFFF00000000007FFFE000000003FFFF0
6792 000000000FFFFC000000007FFFF8000000001FFFF800000000FFFFF8000000001FFFF000
6793 000000FFFFF8000000003FFFF000000000FFFFF8000000007FFFE000000000FFFFF80000
6794 00007FFFE000000000FFFFF800000000FFFFC000000001FFFFFC00000000FFFFC0000000
6795 00FFFFF800000000FFFFC000000000FFFFF800000001FFFFC000000000FFFFF800000001
6796 FFFF8000000000FFFFF800000001FFFF8000000000FFFFF800000001FFFF80000000007F
6797 FFF000000001FFFF80000000003FFFE000000001FFFF80000000001FFFC000000001FFFF
6798 80000000000FFF8000000001FFFF800000000003FE0000000001FFFF8000000000000000
6799 00000001FFFF800000000000000000000001FFFF800000000000000000000001FFFF8000
6800 00000000000000000001FFFF800000000000000000000001FFFF80000000000000000000
6801 0001FFFF800000000000000000000001FFFF800000000000000000000001FFFF80000000
6802 0000000000000001FFFF800000000000000000000001FFFF800000000000000000000001
6803 FFFF800000000000000000000001FFFF800000000000000000000001FFFF800000000000
6804 000000000001FFFF800000000000000000000001FFFF800000000000000000000001FFFF
6805 800000000000000000000001FFFF800000000000000000000001FFFF8000000000000000
6806 00000001FFFF80000007FFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFF
6807 FFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000
6808 FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFF
6809 FFFFFFFC00000001FFFFC0000000007FFFFC00000001FFFFC0000000003FFFFC00000001
6810 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
6811 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
6812 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
6813 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
6814 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
6815 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
6816 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
6817 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
6818 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
6819 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
6820 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
6821 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
6822 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
6823 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
6824 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
6825 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
6826 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
6827 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
6828 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
6829 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
6830 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
6831 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
6832 FFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFF
6833 C0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC
6834 00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC000
6835 0000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC0000
6836 0001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000
6837 001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001
6838 FFFFC0000000001FFFFC00000001FFFFC0000000001FFFFC00000001FFFFC0000000001F
6839 FFFC00000001FFFFC0000000001FFFFC00007FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFF
6840 FFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFF
6841 FFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF0007FFFFFFFFFFF07FFFFFFFFFFF
6842 0007FFFFFFFFFFF0>108 144 123 271 120 28 D[<00FE000003FFC0000FFFE0001FFF
6843 F8003FFFFC003FFFFC007FFFFE007FFFFF00FFFFFF00FFFFFF80FFFFFF80FFFFFF80FFFF
6844 FFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFFE07FFFFFE03FFFFFE03FFFFFE01FFFFBE00FFF
6845 F3E003FFC3E000FF03E0000003E0000003E0000003E0000003E0000003E0000007E00000
6846 07C0000007C0000007C0000007C000000FC000000F8000000F8000001F8000001F800000
6847 1F0000003F0000003F0000003E0000007E0000007C000000FC000000F8000001F8000003
6848 F0000003F0000007E000000FE000000FC000001F8000003F8000007F000000FE000001FC
6849 000003F8000007F000000FE000000FC000000780000003000000>27
6850 64 110 270 60 39 D<FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFF
6851 FFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFF
6852 FF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFF
6853 FFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF8039107EB548>
6854 45 D[<00000000000000003FFFE00000000000E0000000000000001FFFFFFF0000000001
6855 E000000000000003FFFFFFFFF000000003E00000000000003FFFFFFFFFFC00000007E000
6856 0000000001FFFFFFFFFFFF8000000FE000000000000FFFFFFFFFFFFFE000001FE0000000
6857 00003FFFFFFFFFFFFFF800001FE00000000001FFFFFFFF0001FFFE00003FE00000000007
6858 FFFFFFC000000FFF00007FE0000000001FFFFFFC00000001FFC000FFE0000000007FFFFF
6859 C0000000007FE001FFE000000000FFFFFF00000000001FF803FFE000000003FFFFF80000
6860 00000007FC07FFE000000007FFFFE0000000000003FE07FFE00000001FFFFF8000000000
6861 0000FF0FFFE00000003FFFFF000000000000007F9FFFE00000007FFFFC00000000000000
6862 3FFFFFE0000001FFFFF8000000000000001FFFFFE0000003FFFFF00000000000000007FF
6863 FFE0000007FFFFC00000000000000003FFFFE000000FFFFF800000000000000001FFFFE0
6864 00001FFFFF000000000000000001FFFFE000003FFFFE000000000000000000FFFFE00000
6865 7FFFFC0000000000000000007FFFE00000FFFFF80000000000000000003FFFE00001FFFF
6866 F80000000000000000001FFFE00001FFFFF00000000000000000001FFFE00003FFFFE000
6867 00000000000000000FFFE00007FFFFC000000000000000000007FFE0000FFFFFC0000000
6868 00000000000007FFE0000FFFFF8000000000000000000003FFE0001FFFFF000000000000
6869 0000000003FFE0001FFFFF0000000000000000000001FFE0003FFFFE0000000000000000
6870 000001FFE0007FFFFE0000000000000000000000FFE0007FFFFC00000000000000000000
6871 00FFE000FFFFFC00000000000000000000007FE000FFFFFC00000000000000000000007F
6872 E001FFFFF800000000000000000000007FE001FFFFF800000000000000000000003FE003
6873 FFFFF000000000000000000000003FE003FFFFF000000000000000000000001FE003FFFF
6874 F000000000000000000000001FE007FFFFE000000000000000000000001FE007FFFFE000
6875 000000000000000000001FE00FFFFFE000000000000000000000000FE00FFFFFE0000000
6876 00000000000000000FE00FFFFFC000000000000000000000000FE01FFFFFC00000000000
6877 0000000000000FE01FFFFFC000000000000000000000000FE01FFFFFC000000000000000
6878 0000000007E01FFFFFC0000000000000000000000007E03FFFFF80000000000000000000
6879 000007E03FFFFF80000000000000000000000007E03FFFFF800000000000000000000000
6880 00003FFFFF80000000000000000000000000007FFFFF8000000000000000000000000000
6881 7FFFFF80000000000000000000000000007FFFFF80000000000000000000000000007FFF
6882 FF80000000000000000000000000007FFFFF00000000000000000000000000007FFFFF00
6883 000000000000000000000000007FFFFF0000000000000000000000000000FFFFFF000000
6884 0000000000000000000000FFFFFF0000000000000000000000000000FFFFFF0000000000
6885 000000000000000000FFFFFF0000000000000000000000000000FFFFFF00000000000000
6886 00000000000000FFFFFF0000000000000000000000000000FFFFFF000000000000000000
6887 0000000000FFFFFF0000000000000000000000000000FFFFFF0000000000000000000000
6888 000000FFFFFF0000000000000000000000000000FFFFFF00000000000000000000000000
6889 00FFFFFF0000000000000000000000000000FFFFFF0000000000000000000000000000FF
6890 FFFF0000000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF
6891 0000000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF0000
6892 000000000000000000000000FFFFFF0000000000000000000000000000FFFFFF00000000
6893 000000000000000000007FFFFF00000000000000000000000000007FFFFF000000000000
6894 00000000000000007FFFFF00000000000000000000000000007FFFFF8000000000000000
6895 0000000000007FFFFF80000000000000000000000000007FFFFF80000000000000000000
6896 000000007FFFFF80000000000000000000000000003FFFFF800000000000000000000000
6897 00003FFFFF80000000000000000000000000003FFFFF8000000000000000000000000000
6898 3FFFFF80000000000000000000000000001FFFFFC0000000000000000000000000001FFF
6899 FFC0000000000000000000000007E01FFFFFC0000000000000000000000007E01FFFFFC0
6900 000000000000000000000007E00FFFFFC0000000000000000000000007E00FFFFFE00000
6901 00000000000000000007E00FFFFFE0000000000000000000000007E007FFFFE000000000
6902 0000000000000007E007FFFFE000000000000000000000000FE003FFFFF0000000000000
6903 00000000000FC003FFFFF000000000000000000000000FC003FFFFF00000000000000000
6904 0000000FC001FFFFF800000000000000000000000FC001FFFFF800000000000000000000
6905 001FC000FFFFFC00000000000000000000001F8000FFFFFC00000000000000000000001F
6906 80007FFFFC00000000000000000000003F80007FFFFE00000000000000000000003F0000
6907 3FFFFE00000000000000000000003F00001FFFFF00000000000000000000007F00001FFF
6908 FF80000000000000000000007E00000FFFFF8000000000000000000000FE00000FFFFFC0
6909 00000000000000000000FC000007FFFFC000000000000000000001FC000003FFFFE00000
6910 0000000000000003F8000001FFFFF000000000000000000003F8000001FFFFF800000000
6911 000000000007F0000000FFFFF80000000000000000000FF00000007FFFFC000000000000
6912 0000000FE00000003FFFFE0000000000000000001FC00000001FFFFF0000000000000000
6913 003F800000000FFFFF8000000000000000007F8000000007FFFFC00000000000000000FF
6914 0000000003FFFFF00000000000000001FE0000000001FFFFF80000000000000003FC0000
6915 0000007FFFFC0000000000000007F800000000003FFFFF000000000000001FF000000000
6916 001FFFFFC00000000000003FE0000000000007FFFFE0000000000000FFC0000000000003
6917 FFFFF8000000000001FF00000000000000FFFFFF000000000007FE000000000000007FFF
6918 FFE0000000001FFC000000000000001FFFFFFC00000000FFF00000000000000007FFFFFF
6919 C0000007FFE00000000000000001FFFFFFFF0000FFFF8000000000000000003FFFFFFFFF
6920 FFFFFE0000000000000000000FFFFFFFFFFFFFF800000000000000000001FFFFFFFFFFFF
6921 E0000000000000000000003FFFFFFFFFFF000000000000000000000003FFFFFFFFF80000
6922 000000000000000000001FFFFFFF80000000000000000000000000003FFFF00000000000
6923 00>131 146 116 271 156 67 D[<FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFF
6924 FFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFF
6925 FFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFF
6926 FFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000007FFFFF000000000
6927 03FFFFFFFE0000000007FFFFF000000000000FFFFFFE0000000007FFFFF0000000000000
6928 FFFFFE0000000007FFFFF00000000000001FFFFE0000000007FFFFF000000000000007FF
6929 FE0000000007FFFFF000000000000003FFFE0000000007FFFFF000000000000000FFFE00
6930 00000007FFFFF0000000000000007FFF0000000007FFFFF0000000000000003FFF000000
6931 0007FFFFF0000000000000001FFF0000000007FFFFF0000000000000000FFF0000000007
6932 FFFFF00000000000000007FF0000000007FFFFF00000000000000003FF0000000007FFFF
6933 F00000000000000003FF0000000007FFFFF00000000000000001FF0000000007FFFFF000
6934 00000000000001FF0000000007FFFFF00000000000000000FF0000000007FFFFF0000000
6935 0000000000FF8000000007FFFFF000000000000000007F8000000007FFFFF00000000000
6936 0000007F8000000007FFFFF000000000000000007F8000000007FFFFF000000000000000
6937 003F8000000007FFFFF000000000000000003F8000000007FFFFF000000000000000003F
6938 8000000007FFFFF000000000000000001F8000000007FFFFF000000000000000001F8000
6939 000007FFFFF000000000000000001FC000000007FFFFF000000000000000001FC0000000
6940 07FFFFF000000000000000001FC000000007FFFFF000000000000000000FC000000007FF
6941 FFF000000000000000000FC000000007FFFFF000000000000000000FC000000007FFFFF0
6942 00000000000000000FC000000007FFFFF000000001F80000000FC000000007FFFFF00000
6943 0001F80000000FC000000007FFFFF000000001F80000000FE000000007FFFFF000000001
6944 F800000007E000000007FFFFF000000001F800000007E000000007FFFFF000000001F800
6945 000007E000000007FFFFF000000001F800000007E000000007FFFFF000000001F8000000
6946 000000000007FFFFF000000001F8000000000000000007FFFFF000000001F80000000000
6947 00000007FFFFF000000003F8000000000000000007FFFFF000000003F800000000000000
6948 0007FFFFF000000003F8000000000000000007FFFFF000000003F8000000000000000007
6949 FFFFF000000007F8000000000000000007FFFFF000000007F8000000000000000007FFFF
6950 F00000000FF8000000000000000007FFFFF00000000FF8000000000000000007FFFFF000
6951 00001FF8000000000000000007FFFFF00000003FF8000000000000000007FFFFF0000000
6952 7FF8000000000000000007FFFFF0000001FFF8000000000000000007FFFFF0000007FFF8
6953 000000000000000007FFFFF000007FFFF8000000000000000007FFFFFFFFFFFFFFF80000
6954 00000000000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFFFFFFF800000000
6955 0000000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFFFFFFF8000000000000
6956 000007FFFFFFFFFFFFFFF8000000000000000007FFFFFFFFFFFFFFF80000000000000000
6957 07FFFFF000007FFFF8000000000000000007FFFFF0000007FFF8000000000000000007FF
6958 FFF0000001FFF8000000000000000007FFFFF00000007FF8000000000000000007FFFFF0
6959 0000003FF8000000000000000007FFFFF00000001FF8000000000000000007FFFFF00000
6960 000FF8000000000000000007FFFFF00000000FF8000000000000000007FFFFF000000007
6961 F8000000000000000007FFFFF000000007F8000000000000000007FFFFF000000003F800
6962 0000000000000007FFFFF000000003F8000000000000000007FFFFF000000003F8000000
6963 000000000007FFFFF000000003F8000000000000000007FFFFF000000001F80000000000
6964 00000007FFFFF000000001F8000000000000000007FFFFF000000001F8000000001F8000
6965 0007FFFFF000000001F8000000001F80000007FFFFF000000001F8000000001F80000007
6966 FFFFF000000001F8000000001F80000007FFFFF000000001F8000000003F00000007FFFF
6967 F000000001F8000000003F00000007FFFFF000000001F8000000003F00000007FFFFF000
6968 000001F8000000003F00000007FFFFF00000000000000000003F00000007FFFFF0000000
6969 0000000000003F00000007FFFFF00000000000000000003F00000007FFFFF00000000000
6970 000000007F00000007FFFFF00000000000000000007E00000007FFFFF000000000000000
6971 00007E00000007FFFFF00000000000000000007E00000007FFFFF0000000000000000000
6972 7E00000007FFFFF0000000000000000000FE00000007FFFFF0000000000000000000FE00
6973 000007FFFFF0000000000000000000FE00000007FFFFF0000000000000000000FC000000
6974 07FFFFF0000000000000000001FC00000007FFFFF0000000000000000001FC00000007FF
6975 FFF0000000000000000001FC00000007FFFFF0000000000000000003FC00000007FFFFF0
6976 000000000000000003FC00000007FFFFF0000000000000000003FC00000007FFFFF00000
6977 00000000000007FC00000007FFFFF0000000000000000007F800000007FFFFF000000000
6978 000000000FF800000007FFFFF000000000000000000FF800000007FFFFF0000000000000
6979 00001FF800000007FFFFF000000000000000001FF800000007FFFFF00000000000000000
6980 3FF800000007FFFFF000000000000000007FF800000007FFFFF000000000000000007FF8
6981 00000007FFFFF00000000000000000FFF000000007FFFFF00000000000000001FFF00000
6982 0007FFFFF00000000000000003FFF000000007FFFFF00000000000000007FFF000000007
6983 FFFFF0000000000000001FFFF000000007FFFFF0000000000000003FFFF000000007FFFF
6984 F000000000000000FFFFF000000007FFFFF000000000000003FFFFE000000007FFFFF000
6985 00000000000FFFFFE000000007FFFFF00000000000007FFFFFE000000007FFFFF0000000
6986 000007FFFFFFE000000007FFFFF00000000001FFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFF
6987 FFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFF
6988 FFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
6989 C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000
6990 >129 141 122 268 142 69 D[<00000000000000003FFFE00000000000E00000000000
6991 000000001FFFFFFF0000000001E0000000000000000003FFFFFFFFF000000003E0000000
6992 00000000003FFFFFFFFFFC00000007E00000000000000001FFFFFFFFFFFF8000000FE000
6993 0000000000000FFFFFFFFFFFFFE000001FE0000000000000003FFFFFFFFFFFFFF800001F
6994 E000000000000001FFFFFFFF0001FFFE00003FE000000000000007FFFFFFC000000FFF00
6995 007FE00000000000001FFFFFFC00000001FFC000FFE00000000000007FFFFFC000000000
6996 7FE001FFE0000000000000FFFFFF00000000001FF803FFE0000000000003FFFFF8000000
6997 000007FC07FFE0000000000007FFFFE0000000000003FE07FFE000000000001FFFFF8000
6998 0000000000FF0FFFE000000000003FFFFF000000000000007F9FFFE000000000007FFFFC
6999 000000000000003FFFFFE00000000001FFFFF8000000000000001FFFFFE00000000003FF
7000 FFF00000000000000007FFFFE00000000007FFFFC00000000000000003FFFFE000000000
7001 0FFFFF800000000000000001FFFFE0000000001FFFFF000000000000000001FFFFE00000
7002 00003FFFFE000000000000000000FFFFE0000000007FFFFC0000000000000000007FFFE0
7003 00000000FFFFF80000000000000000003FFFE000000001FFFFF80000000000000000001F
7004 FFE000000001FFFFF00000000000000000001FFFE000000003FFFFE00000000000000000
7005 000FFFE000000007FFFFC000000000000000000007FFE00000000FFFFFC0000000000000
7006 00000007FFE00000000FFFFF8000000000000000000003FFE00000001FFFFF0000000000
7007 000000000003FFE00000001FFFFF0000000000000000000001FFE00000003FFFFE000000
7008 0000000000000001FFE00000007FFFFE0000000000000000000000FFE00000007FFFFC00
7009 00000000000000000000FFE0000000FFFFFC00000000000000000000007FE0000000FFFF
7010 FC00000000000000000000007FE0000001FFFFF800000000000000000000007FE0000001
7011 FFFFF800000000000000000000003FE0000003FFFFF000000000000000000000003FE000
7012 0003FFFFF000000000000000000000001FE0000003FFFFF000000000000000000000001F
7013 E0000007FFFFE000000000000000000000001FE0000007FFFFE000000000000000000000
7014 001FE000000FFFFFE000000000000000000000000FE000000FFFFFE00000000000000000
7015 0000000FE000000FFFFFC000000000000000000000000FE000001FFFFFC0000000000000
7016 00000000000FE000001FFFFFC000000000000000000000000FE000001FFFFFC000000000
7017 0000000000000007E000001FFFFFC0000000000000000000000007E000003FFFFF800000
7018 00000000000000000007E000003FFFFF80000000000000000000000007E000003FFFFF80
7019 0000000000000000000000000000003FFFFF800000000000000000000000000000007FFF
7020 FF800000000000000000000000000000007FFFFF80000000000000000000000000000000
7021 7FFFFF800000000000000000000000000000007FFFFF8000000000000000000000000000
7022 00007FFFFF000000000000000000000000000000007FFFFF000000000000000000000000
7023 000000007FFFFF00000000000000000000000000000000FFFFFF00000000000000000000
7024 000000000000FFFFFF00000000000000000000000000000000FFFFFF0000000000000000
7025 0000000000000000FFFFFF00000000000000000000000000000000FFFFFF000000000000
7026 00000000000000000000FFFFFF00000000000000000000000000000000FFFFFF00000000
7027 000000000000000000000000FFFFFF00000000000000000000000000000000FFFFFF0000
7028 0000000000000000000000000000FFFFFF00000000000000000000000000000000FFFFFF
7029 00000000000000000000000000000000FFFFFF00000000000000000000000000000000FF
7030 FFFF00000000000000000000000000000000FFFFFF000000000000000000000000000000
7031 00FFFFFF00000000000000000000000000000000FFFFFF00000000000000000000000000
7032 000000FFFFFF00000000000000000000000000000000FFFFFF0000000000000000000000
7033 0000000000FFFFFF00000000000000000000000000000000FFFFFF000000000000000000
7034 000000000000007FFFFF000000000000000000000000000000007FFFFF00000000000000
7035 0000000000000000007FFFFF800000000000000000000000000000007FFFFF8000000000
7036 00000000000000000000007FFFFF800000000000000000000000000000007FFFFF800000
7037 000000007FFFFFFFFFFFFFFFC07FFFFF800000000000007FFFFFFFFFFFFFFFC03FFFFF80
7038 0000000000007FFFFFFFFFFFFFFFC03FFFFF800000000000007FFFFFFFFFFFFFFFC03FFF
7039 FF800000000000007FFFFFFFFFFFFFFFC03FFFFFC00000000000007FFFFFFFFFFFFFFFC0
7040 1FFFFFC00000000000007FFFFFFFFFFFFFFFC01FFFFFC00000000000000000000FFFFFE0
7041 00001FFFFFC00000000000000000000FFFFFE000001FFFFFC00000000000000000000FFF
7042 FFE000000FFFFFE00000000000000000000FFFFFE000000FFFFFE0000000000000000000
7043 0FFFFFE000000FFFFFE00000000000000000000FFFFFE0000007FFFFE000000000000000
7044 00000FFFFFE0000007FFFFF00000000000000000000FFFFFE0000003FFFFF00000000000
7045 000000000FFFFFE0000003FFFFF00000000000000000000FFFFFE0000003FFFFF8000000
7046 0000000000000FFFFFE0000001FFFFF80000000000000000000FFFFFE0000001FFFFF800
7047 00000000000000000FFFFFE0000000FFFFFC0000000000000000000FFFFFE0000000FFFF
7048 FC0000000000000000000FFFFFE00000007FFFFE0000000000000000000FFFFFE0000000
7049 7FFFFE0000000000000000000FFFFFE00000003FFFFF0000000000000000000FFFFFE000
7050 00001FFFFF0000000000000000000FFFFFE00000001FFFFF8000000000000000000FFFFF
7051 E00000000FFFFF8000000000000000000FFFFFE00000000FFFFFC000000000000000000F
7052 FFFFE000000007FFFFE000000000000000000FFFFFE000000003FFFFE000000000000000
7053 000FFFFFE000000001FFFFF000000000000000000FFFFFE000000001FFFFF80000000000
7054 0000000FFFFFE000000000FFFFFC00000000000000000FFFFFE0000000007FFFFE000000
7055 00000000000FFFFFE0000000003FFFFF00000000000000001FFFFFE0000000001FFFFF80
7056 000000000000001FFFFFE0000000000FFFFFC0000000000000001FFFFFE00000000007FF
7057 FFE0000000000000003FFFFFE00000000003FFFFF0000000000000003FFFFFE000000000
7058 01FFFFF8000000000000007FFFFFE000000000007FFFFE00000000000000FFFFFFE00000
7059 0000003FFFFF00000000000000FEFFFFE000000000001FFFFFC0000000000001FEFFFFE0
7060 000000000007FFFFF0000000000003FC7FFFE0000000000003FFFFFC00000000000FF83F
7061 FFE0000000000000FFFFFF00000000001FF01FFFE00000000000007FFFFFE0000000007F
7062 E007FFE00000000000001FFFFFFC00000001FFC003FFE000000000000007FFFFFFC00000
7063 0FFF8001FFE000000000000001FFFFFFFF8000FFFE00007FE0000000000000003FFFFFFF
7064 FFFFFFFC00003FE0000000000000000FFFFFFFFFFFFFF000000FE00000000000000001FF
7065 FFFFFFFFFFC0000007E000000000000000003FFFFFFFFFFE00000001E000000000000000
7066 0003FFFFFFFFF800000000600000000000000000001FFFFFFF8000000000000000000000
7067 00000000003FFFE00000000000000000>146 146 116 271 170
7068 71 D[<FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFF
7069 FFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0000003FFFFF8
7070 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7071 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7072 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7073 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7074 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7075 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7076 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7077 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7078 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7079 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7080 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7081 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7082 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7083 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7084 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7085 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7086 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7087 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7088 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7089 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7090 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7091 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7092 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7093 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7094 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7095 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7096 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7097 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7098 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7099 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7100 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8
7101 000000000003FFFFF8000000000003FFFFF8000000000003FFFFF8000000FFFFFFFFFFFF
7102 FFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFF
7103 FFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0>67 142 122
7104 269 79 73 D[<FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000
7105 000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF
7106 8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFF
7107 FFFF8000000001FFFFFFFFFFF8FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFF8000007FF
7108 FFF00000000000000001FFFFFF8000000007FFFFF0000000000000000007FFE000000000
7109 07FFFFF0000000000000000001FF000000000007FFFFF0000000000000000003FE000000
7110 000007FFFFF0000000000000000007FC000000000007FFFFF000000000000000000FF800
7111 0000000007FFFFF000000000000000001FF0000000000007FFFFF000000000000000003F
7112 E0000000000007FFFFF000000000000000007FC0000000000007FFFFF000000000000000
7113 00FF80000000000007FFFFF00000000000000001FE00000000000007FFFFF00000000000
7114 000003FC00000000000007FFFFF00000000000000007F800000000000007FFFFF0000000
7115 000000000FF000000000000007FFFFF0000000000000001FE000000000000007FFFFF000
7116 0000000000003FC000000000000007FFFFF000000000000000FF8000000000000007FFFF
7117 F000000000000001FF0000000000000007FFFFF000000000000003FE0000000000000007
7118 FFFFF000000000000007FC0000000000000007FFFFF00000000000000FF8000000000000
7119 0007FFFFF00000000000001FF00000000000000007FFFFF00000000000003FE000000000
7120 00000007FFFFF00000000000007FC00000000000000007FFFFF0000000000000FF000000
7121 000000000007FFFFF0000000000001FE000000000000000007FFFFF0000000000003FC00
7122 0000000000000007FFFFF0000000000007F8000000000000000007FFFFF000000000000F
7123 F0000000000000000007FFFFF000000000001FE0000000000000000007FFFFF000000000
7124 007FC0000000000000000007FFFFF00000000000FF80000000000000000007FFFFF00000
7125 000001FF00000000000000000007FFFFF00000000003FE00000000000000000007FFFFF0
7126 0000000007FC00000000000000000007FFFFF0000000000FF800000000000000000007FF
7127 FFF0000000001FF000000000000000000007FFFFF0000000003FE0000000000000000000
7128 07FFFFF0000000007F8000000000000000000007FFFFF000000000FF0000000000000000
7129 000007FFFFF000000001FE0000000000000000000007FFFFF000000003FC000000000000
7130 0000000007FFFFF000000007F80000000000000000000007FFFFF00000000FF000000000
7131 00000000000007FFFFF00000003FE00000000000000000000007FFFFF00000007FC00000
7132 000000000000000007FFFFF0000000FF800000000000000000000007FFFFF0000001FF80
7133 0000000000000000000007FFFFF0000003FFC00000000000000000000007FFFFF0000007
7134 FFE00000000000000000000007FFFFF000000FFFE00000000000000000000007FFFFF000
7135 001FFFF00000000000000000000007FFFFF000003FFFF80000000000000000000007FFFF
7136 F000007FFFF80000000000000000000007FFFFF00000FFFFFC0000000000000000000007
7137 FFFFF00001FFFFFE0000000000000000000007FFFFF00003FFFFFE000000000000000000
7138 0007FFFFF00007FFFFFF0000000000000000000007FFFFF0001FFFFFFF80000000000000
7139 00000007FFFFF0003FFFFFFF8000000000000000000007FFFFF0007FFFFFFFC000000000
7140 000000000007FFFFF000FFFFFFFFE000000000000000000007FFFFF001FF7FFFFFE00000
7141 0000000000000007FFFFF003FE3FFFFFF000000000000000000007FFFFF007FC1FFFFFF8
7142 00000000000000000007FFFFF00FF81FFFFFF800000000000000000007FFFFF01FE00FFF
7143 FFFC00000000000000000007FFFFF03FC007FFFFFE00000000000000000007FFFFF07F80
7144 07FFFFFE00000000000000000007FFFFF0FF0003FFFFFF00000000000000000007FFFFF1
7145 FE0001FFFFFF80000000000000000007FFFFF3FC0000FFFFFF80000000000000000007FF
7146 FFFFF80000FFFFFFC0000000000000000007FFFFFFF000007FFFFFE00000000000000000
7147 07FFFFFFE000003FFFFFE0000000000000000007FFFFFFC000003FFFFFF0000000000000
7148 000007FFFFFF8000001FFFFFF8000000000000000007FFFFFF0000000FFFFFFC00000000
7149 0000000007FFFFFE0000000FFFFFFC000000000000000007FFFFFC00000007FFFFFE0000
7150 00000000000007FFFFF000000003FFFFFF000000000000000007FFFFF000000003FFFFFF
7151 000000000000000007FFFFF000000001FFFFFF800000000000000007FFFFF000000000FF
7152 FFFFC00000000000000007FFFFF000000000FFFFFFC00000000000000007FFFFF0000000
7153 007FFFFFE00000000000000007FFFFF0000000003FFFFFF00000000000000007FFFFF000
7154 0000003FFFFFF00000000000000007FFFFF0000000001FFFFFF80000000000000007FFFF
7155 F0000000000FFFFFFC0000000000000007FFFFF0000000000FFFFFFC0000000000000007
7156 FFFFF00000000007FFFFFE0000000000000007FFFFF00000000003FFFFFF000000000000
7157 0007FFFFF00000000003FFFFFF0000000000000007FFFFF00000000001FFFFFF80000000
7158 00000007FFFFF00000000000FFFFFFC000000000000007FFFFF00000000000FFFFFFC000
7159 000000000007FFFFF000000000007FFFFFE000000000000007FFFFF000000000003FFFFF
7160 F000000000000007FFFFF000000000003FFFFFF000000000000007FFFFF000000000001F
7161 FFFFF800000000000007FFFFF000000000000FFFFFFC00000000000007FFFFF000000000
7162 000FFFFFFC00000000000007FFFFF0000000000007FFFFFE00000000000007FFFFF00000
7163 00000003FFFFFF00000000000007FFFFF0000000000003FFFFFF00000000000007FFFFF0
7164 000000000001FFFFFF80000000000007FFFFF0000000000000FFFFFFC0000000000007FF
7165 FFF0000000000000FFFFFFC0000000000007FFFFF00000000000007FFFFFE00000000000
7166 07FFFFF00000000000003FFFFFF0000000000007FFFFF00000000000001FFFFFF0000000
7167 000007FFFFF00000000000001FFFFFF8000000000007FFFFF00000000000000FFFFFFC00
7168 0000000007FFFFF000000000000007FFFFFE000000000007FFFFF000000000000007FFFF
7169 FE000000000007FFFFF000000000000003FFFFFF000000000007FFFFF000000000000001
7170 FFFFFF800000000007FFFFF000000000000001FFFFFF800000000007FFFFF00000000000
7171 0000FFFFFFC00000000007FFFFF0000000000000007FFFFFE00000000007FFFFF0000000
7172 000000007FFFFFE00000000007FFFFF0000000000000003FFFFFF00000000007FFFFF000
7173 0000000000001FFFFFF80000000007FFFFF0000000000000001FFFFFF80000000007FFFF
7174 F0000000000000000FFFFFFC0000000007FFFFF0000000000000001FFFFFFE0000000007
7175 FFFFF000000000000001FFFFFFFFC000FFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFF
7176 FFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFF
7177 FFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFF
7178 FFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000000FFFFF
7179 FFFFFFFFFF>152 142 121 269 169 75 D[<FFFFFFFFFFFFFFFFFFFE00000000000000
7180 0000FFFFFFFFFFFFFFFFFFFFFE0000000000000000FFFFFFFFFFFFFFFFFFFFFFE0000000
7181 00000000FFFFFFFFFFFFFFFFFFFFFFFE00000000000000FFFFFFFFFFFFFFFFFFFFFFFFC0
7182 000000000000FFFFFFFFFFFFFFFFFFFFFFFFF0000000000000FFFFFFFFFFFFFFFFFFFFFF
7183 FFFE000000000000000007FFFFE00000001FFFFFFF800000000000000007FFFFE0000000
7184 007FFFFFE00000000000000007FFFFE0000000000FFFFFF00000000000000007FFFFE000
7185 00000001FFFFFC0000000000000007FFFFE000000000007FFFFE0000000000000007FFFF
7186 E000000000003FFFFF8000000000000007FFFFE000000000000FFFFFC000000000000007
7187 FFFFE0000000000007FFFFE000000000000007FFFFE0000000000003FFFFF00000000000
7188 0007FFFFE0000000000001FFFFF800000000000007FFFFE0000000000000FFFFFC000000
7189 00000007FFFFE00000000000007FFFFC00000000000007FFFFE00000000000007FFFFE00
7190 000000000007FFFFE00000000000003FFFFF00000000000007FFFFE00000000000003FFF
7191 FF00000000000007FFFFE00000000000001FFFFF80000000000007FFFFE0000000000000
7192 1FFFFFC0000000000007FFFFE00000000000000FFFFFC0000000000007FFFFE000000000
7193 00000FFFFFC0000000000007FFFFE00000000000000FFFFFE0000000000007FFFFE00000
7194 000000000FFFFFE0000000000007FFFFE00000000000000FFFFFF0000000000007FFFFE0
7195 00000000000007FFFFF0000000000007FFFFE000000000000007FFFFF0000000000007FF
7196 FFE000000000000007FFFFF0000000000007FFFFE000000000000007FFFFF80000000000
7197 07FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007FFFFF8000000
7198 000007FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007FFFFF800
7199 0000000007FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007FFFF
7200 F8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE000000000000007
7201 FFFFF8000000000007FFFFE000000000000007FFFFF8000000000007FFFFE00000000000
7202 0007FFFFF8000000000007FFFFE000000000000007FFFFF0000000000007FFFFE0000000
7203 00000007FFFFF0000000000007FFFFE000000000000007FFFFF0000000000007FFFFE000
7204 00000000000FFFFFE0000000000007FFFFE00000000000000FFFFFE0000000000007FFFF
7205 E00000000000000FFFFFE0000000000007FFFFE00000000000000FFFFFC0000000000007
7206 FFFFE00000000000001FFFFFC0000000000007FFFFE00000000000001FFFFF8000000000
7207 0007FFFFE00000000000001FFFFF80000000000007FFFFE00000000000003FFFFF000000
7208 00000007FFFFE00000000000003FFFFE00000000000007FFFFE00000000000007FFFFC00
7209 000000000007FFFFE00000000000007FFFFC00000000000007FFFFE0000000000000FFFF
7210 F800000000000007FFFFE0000000000001FFFFF000000000000007FFFFE0000000000003
7211 FFFFE000000000000007FFFFE0000000000007FFFF8000000000000007FFFFE000000000
7212 000FFFFF0000000000000007FFFFE000000000003FFFFE0000000000000007FFFFE00000
7213 000000FFFFF80000000000000007FFFFE00000000003FFFFE00000000000000007FFFFE0
7214 000000000FFFFFC00000000000000007FFFFE000000000FFFFFF000000000000000007FF
7215 FFE00000001FFFFFF8000000000000000007FFFFFFFFFFFFFFFFFFE00000000000000000
7216 07FFFFFFFFFFFFFFFFFF00000000000000000007FFFFFFFFFFFFFFFFF000000000000000
7217 000007FFFFFFFFFFFFFFFFF000000000000000000007FFFFFFFFFFFFFFFFFE0000000000
7218 0000000007FFFFE00000007FFFFF80000000000000000007FFFFE00000000FFFFFE00000
7219 00000000000007FFFFE000000001FFFFF8000000000000000007FFFFE0000000007FFFFC
7220 000000000000000007FFFFE0000000003FFFFF000000000000000007FFFFE0000000000F
7221 FFFF800000000000000007FFFFE00000000007FFFFC00000000000000007FFFFE0000000
7222 0003FFFFE00000000000000007FFFFE00000000001FFFFF00000000000000007FFFFE000
7223 00000001FFFFF80000000000000007FFFFE00000000000FFFFFC0000000000000007FFFF
7224 E000000000007FFFFE0000000000000007FFFFE000000000007FFFFF0000000000000007
7225 FFFFE000000000003FFFFF0000000000000007FFFFE000000000003FFFFF800000000000
7226 0007FFFFE000000000001FFFFFC000000000000007FFFFE000000000001FFFFFC0000000
7227 00000007FFFFE000000000000FFFFFC000000000000007FFFFE000000000000FFFFFE000
7228 000000000007FFFFE000000000000FFFFFE000000000000007FFFFE000000000000FFFFF
7229 E000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE0000000000007
7230 FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE000000000
7231 0007FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE00000
7232 00000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FFFFE0
7233 000000000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000000007FF
7234 FFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF0000000000000
7235 07FFFFE0000000000007FFFFF000000000000007FFFFE0000000000007FFFFF000000000
7236 000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF80000
7237 0000000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF8
7238 00000000000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000000007FF
7239 FFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE00000000000
7240 07FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE0000000
7241 000007FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFFE000
7242 0000000007FFFFF800000000000007FFFFE0000000000007FFFFF800000000000007FFFF
7243 E0000000000007FFFFF800000000000007FFFFE0000000000007FFFFF80000003C000007
7244 FFFFE0000000000007FFFFFC0000007E000007FFFFE0000000000003FFFFFC0000007E00
7245 0007FFFFE0000000000003FFFFFC0000007E000007FFFFE0000000000003FFFFFC000000
7246 7E000007FFFFE0000000000001FFFFFC0000007E000007FFFFE0000000000001FFFFFE00
7247 0000FE000007FFFFE0000000000001FFFFFE000000FC000007FFFFE0000000000000FFFF
7248 FE000000FC000007FFFFE00000000000007FFFFF000001FC000007FFFFE0000000000000
7249 7FFFFF000001FC000007FFFFE00000000000003FFFFF800001F8000007FFFFE000000000
7250 00001FFFFF800003F8000007FFFFE00000000000000FFFFFC00007F0FFFFFFFFFFFFFFFF
7251 0000000007FFFFE0000FE0FFFFFFFFFFFFFFFF0000000003FFFFF0001FE0FFFFFFFFFFFF
7252 FFFF0000000000FFFFFC003FC0FFFFFFFFFFFFFFFF00000000007FFFFF81FF80FFFFFFFF
7253 FFFFFFFF00000000001FFFFFFFFF00FFFFFFFFFFFFFFFF000000000003FFFFFFFE00FFFF
7254 FFFFFFFFFFFF000000000000FFFFFFF80000000000000000000000000000000FFFFFF000
7255 0000000000000000000000000000003FFF8000>151 144 121 269
7256 160 82 D[<1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFF
7257 FFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
7258 C01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01F
7259 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC01FFFFFFC000001FFFFFC000001FFFFFFC03FFFFF
7260 80000001FFFFFC0000000FFFFFE03FFFFC00000001FFFFFC00000001FFFFE03FFFF00000
7261 0001FFFFFC000000007FFFE03FFFC000000001FFFFFC000000001FFFE03FFF8000000001
7262 FFFFFC000000000FFFE03FFE0000000001FFFFFC0000000003FFE03FFC0000000001FFFF
7263 FC0000000001FFE03FF80000000001FFFFFC0000000000FFE03FF80000000001FFFFFC00
7264 00000000FFE03FF00000000001FFFFFC00000000007FE03FE00000000001FFFFFC000000
7265 00003FE03FE00000000001FFFFFC00000000003FE03FC00000000001FFFFFC0000000000
7266 1FE03FC00000000001FFFFFC00000000001FE03FC00000000001FFFFFC00000000001FE0
7267 3F800000000001FFFFFC00000000000FE07F800000000001FFFFFC00000000000FF07F80
7268 0000000001FFFFFC00000000000FF07F000000000001FFFFFC000000000007F07F000000
7269 000001FFFFFC000000000007F07F000000000001FFFFFC000000000007F07F0000000000
7270 01FFFFFC000000000007F07F000000000001FFFFFC000000000007F07E000000000001FF
7271 FFFC000000000003F07E000000000001FFFFFC000000000003F07E000000000001FFFFFC
7272 000000000003F07E000000000001FFFFFC000000000003F07E000000000001FFFFFC0000
7273 00000003F07E000000000001FFFFFC000000000003F07E000000000001FFFFFC00000000
7274 0003F07E000000000001FFFFFC000000000003F0FE000000000001FFFFFC000000000003
7275 F8FC000000000001FFFFFC000000000001F8FC000000000001FFFFFC000000000001F8FC
7276 000000000001FFFFFC000000000001F8FC000000000001FFFFFC000000000001F8FC0000
7277 00000001FFFFFC000000000001F8FC000000000001FFFFFC000000000001F8FC00000000
7278 0001FFFFFC000000000001F800000000000001FFFFFC0000000000000000000000000001
7279 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
7280 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
7281 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
7282 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
7283 000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000
7284 00000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000
7285 0000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000
7286 000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000000000
7287 01FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FF
7288 FFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC
7289 0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000
7290 000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000
7291 00000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000
7292 0000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000
7293 000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000
7294 00000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000000000
7295 0001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001
7296 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
7297 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
7298 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
7299 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
7300 000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000
7301 00000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000
7302 0000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000
7303 000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000000000
7304 01FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FF
7305 FFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC
7306 0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000
7307 000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000
7308 00000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000
7309 0000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000000000
7310 000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000000000
7311 00000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000000000
7312 0001FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001
7313 FFFFFC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFF
7314 FC0000000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC00
7315 00000000000000000000000001FFFFFC0000000000000000000000000001FFFFFC000000
7316 0000000000000000000001FFFFFC0000000000000000000000000001FFFFFC0000000000
7317 000000000000000001FFFFFC0000000000000000000000000001FFFFFC00000000000000
7318 00000000000001FFFFFC0000000000000000000000000001FFFFFC000000000000000000
7319 0000000001FFFFFC000000000000000000007FFFFFFFFFFFFFFFFFFFF00000000000007F
7320 FFFFFFFFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF00000000000007FFFFF
7321 FFFFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF00000000000007FFFFFFFFF
7322 FFFFFFFFFFF00000000000007FFFFFFFFFFFFFFFFFFFF0000000>133
7323 141 120 268 150 84 D[<FFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFF
7324 FFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFF
7325 FFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFF
7326 FFFFFFFFFFFF8000000001FFFFFFFFFFFEFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFE
7327 000007FFFFF0000000000000000007FFFF8000000007FFFFF00000000000000000003FF0
7328 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
7329 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
7330 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
7331 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
7332 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
7333 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
7334 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
7335 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
7336 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
7337 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
7338 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
7339 000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000
7340 0000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000
7341 00000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000
7342 000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0
7343 0000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FF
7344 FFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000000000
7345 07FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC00000
7346 000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0
7347 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
7348 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
7349 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
7350 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
7351 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
7352 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
7353 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
7354 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
7355 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
7356 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
7357 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
7358 000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000
7359 0000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000
7360 00000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000
7361 000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0
7362 0000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FF
7363 FFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000000000
7364 07FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC00000
7365 000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0
7366 0000000007FFFFF00000000000000000000FC00000000007FFFFF0000000000000000000
7367 0FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000000000000000
7368 00000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000
7369 000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF0000000
7370 0000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFFF000
7371 00000000000000000FC00000000007FFFFF00000000000000000000FC00000000007FFFF
7372 F00000000000000000000FC00000000007FFFFF00000000000000000000FC00000000007
7373 FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC0000000
7374 0007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000FC000
7375 00000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000000F
7376 C00000000007FFFFF00000000000000000000FC00000000007FFFFF00000000000000000
7377 000FC00000000003FFFFF00000000000000000001FC00000000003FFFFF0000000000000
7378 0000001F800000000003FFFFF00000000000000000001F800000000003FFFFF000000000
7379 00000000001F800000000003FFFFF80000000000000000001F800000000001FFFFF80000
7380 000000000000003F800000000001FFFFF80000000000000000003F000000000001FFFFF8
7381 0000000000000000003F000000000001FFFFF80000000000000000003F000000000000FF
7382 FFF80000000000000000007F000000000000FFFFFC0000000000000000007E0000000000
7383 007FFFFC000000000000000000FE0000000000007FFFFC000000000000000000FE000000
7384 0000007FFFFC000000000000000000FC0000000000003FFFFE000000000000000001FC00
7385 00000000001FFFFE000000000000000001F80000000000001FFFFF000000000000000003
7386 F80000000000000FFFFF000000000000000007F00000000000000FFFFF00000000000000
7387 0007F000000000000007FFFF80000000000000000FE000000000000003FFFFC000000000
7388 0000001FE000000000000003FFFFC0000000000000001FC000000000000001FFFFE00000
7389 00000000003F8000000000000000FFFFF0000000000000007F80000000000000007FFFF0
7390 00000000000000FF00000000000000003FFFF800000000000003FE00000000000000001F
7391 FFFC00000000000007FC00000000000000000FFFFF0000000000000FF800000000000000
7392 0007FFFF8000000000003FF0000000000000000003FFFFE00000000000FFE00000000000
7393 00000000FFFFF00000000003FFC00000000000000000007FFFFC000000000FFF80000000
7394 0000000000003FFFFF800000007FFF000000000000000000000FFFFFF0000007FFFC0000
7395 000000000000000003FFFFFF8000FFFFF80000000000000000000000FFFFFFFFFFFFFFE0
7396 00000000000000000000003FFFFFFFFFFFFF8000000000000000000000000FFFFFFFFFFF
7397 FE00000000000000000000000001FFFFFFFFFFF8000000000000000000000000001FFFFF
7398 FFFFC00000000000000000000000000001FFFFFFFC000000000000000000000000000000
7399 03FFFF0000000000000000>151 144 121 269 166 I[<0000180000003C0000007E0000
7400 00FE000001FC000003F8000007F000000FE000001FC000003F8000003F0000007E000000
7401 FE000000FC000001F8000001F8000003F0000003E0000007E0000007C000000FC000000F
7402 8000001F8000001F8000001F0000003F0000003F0000003E0000003E0000007E0000007C
7403 0000007C0000007C0000007C000000FC000000F8000000F8000000F8000000F8000000F8
7404 000000F81FE000F87FF800F9FFFE00FBFFFF00FFFFFF80FFFFFF80FFFFFFC0FFFFFFC07F
7405 FFFFE07FFFFFE07FFFFFE07FFFFFE03FFFFFE03FFFFFE03FFFFFE01FFFFFE01FFFFFC00F
7406 FFFFC007FFFF8007FFFF8003FFFF0000FFFE00007FF800000FE000>27
7407 64 113 270 60 96 D<000000007FFF800000000000000000000FFFFFFC000000000000
7408 000000FFFFFFFFC00000000000000003FFFFFFFFF8000000000000000FFFFFFFFFFE0000
7409 00000000003FFF8007FFFF80000000000000FFF80000FFFFC0000000000001FF8000003F
7410 FFF0000000000007FE0000001FFFF800000000000FF80000000FFFFE00000000001FF000
7411 000007FFFF00000000001FC000000003FFFF80000000003FF800000001FFFFC000000000
7412 7FFE00000000FFFFC0000000007FFF80000000FFFFE000000000FFFFC00000007FFFF000
7413 000000FFFFC00000007FFFF000000000FFFFE00000003FFFF800000001FFFFE00000003F
7414 FFF800000001FFFFF00000003FFFFC00000001FFFFF00000001FFFFC00000001FFFFF000
7415 00001FFFFE00000001FFFFF00000001FFFFE00000001FFFFF00000001FFFFE00000001FF
7416 FFF00000000FFFFE00000001FFFFF00000000FFFFF00000000FFFFE00000000FFFFF0000
7417 0000FFFFE00000000FFFFF000000007FFFC00000000FFFFF000000007FFFC00000000FFF
7418 FF000000003FFF800000000FFFFF000000000FFE000000000FFFFF0000000003F8000000
7419 000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF000000000000
7420 000000000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF000000
7421 000000000000000FFFFF000000000000000000000FFFFF000000000000000000000FFFFF
7422 000000000000000000000FFFFF00000000000000000003FFFFFF00000000000000001FFF
7423 FFFFFF000000000000000FFFFFFFFFFF00000000000000FFFFFFFFFFFF0000000000000F
7424 FFFFFC0FFFFF0000000000007FFFFF000FFFFF000000000003FFFFE0000FFFFF00000000
7425 001FFFFF00000FFFFF00000000007FFFF800000FFFFF0000000001FFFFE000000FFFFF00
7426 00000007FFFF8000000FFFFF000000000FFFFE0000000FFFFF000000003FFFFC0000000F
7427 FFFF000000007FFFF80000000FFFFF00000000FFFFF00000000FFFFF00000001FFFFE000
7428 00000FFFFF00000003FFFFC00000000FFFFF00000007FFFF800000000FFFFF0000000FFF
7429 FF000000000FFFFF0000000FFFFF000000000FFFFF0000001FFFFE000000000FFFFF0000
7430 001FFFFE000000000FFFFF0000003FFFFC000000000FFFFF0000003FFFFC000000000FFF
7431 FF0007E07FFFF8000000000FFFFF0007E07FFFF8000000000FFFFF0007E07FFFF8000000
7432 000FFFFF0007E0FFFFF8000000000FFFFF0007E0FFFFF0000000000FFFFF0007E0FFFFF0
7433 000000001FFFFF0007E0FFFFF0000000001FFFFF0007E0FFFFF0000000001FFFFF0007E0
7434 FFFFF0000000001FFFFF0007E0FFFFF0000000003FFFFF0007E0FFFFF0000000003BFFFF
7435 0007E0FFFFF0000000007BFFFF0007E0FFFFF8000000007BFFFF0007E07FFFF800000000
7436 F3FFFF0007E07FFFFC00000000F3FFFF0007E03FFFFC00000001E3FFFF800FE03FFFFE00
7437 000003C1FFFF800FC01FFFFF00000007C1FFFF800FC00FFFFF0000000F80FFFFC01FC00F
7438 FFFF8000001F00FFFFE03F8007FFFFE000003E007FFFF07F0001FFFFF00000FC007FFFFF
7439 FF0000FFFFFC0003F8003FFFFFFE00003FFFFF803FF0001FFFFFFC00000FFFFFFFFFC000
7440 0FFFFFF8000003FFFFFFFF000003FFFFF00000007FFFFFFC000001FFFFC00000000FFFFF
7441 F00000007FFF00000000003FFF000000000FF80000635F79DD6C>I<0000000001FFFC00
7442 000000000000003FFFFFE000000000000003FFFFFFFE0000000000001FFFFFFFFF800000
7443 0000007FFFFFFFFFE00000000001FFFFC003FFF80000000007FFFC00003FFE000000000F
7444 FFF0000003FF000000003FFFC0000000FFC00000007FFF800000003FE0000001FFFF0000
7445 00001FF0000003FFFE0000000007F0000007FFFC000000003FF800000FFFF800000000FF
7446 FC00001FFFF000000003FFFC00003FFFF000000007FFFE00003FFFE000000007FFFE0000
7447 7FFFC00000000FFFFE0000FFFFC00000000FFFFF0000FFFF800000001FFFFF0001FFFF80
7448 0000001FFFFF0003FFFF000000001FFFFF0003FFFF000000001FFFFF0007FFFF00000000
7449 1FFFFF0007FFFE000000001FFFFF000FFFFE000000001FFFFF000FFFFE000000000FFFFE
7450 001FFFFE000000000FFFFE001FFFFC0000000007FFFC001FFFFC0000000007FFFC003FFF
7451 FC0000000003FFF8003FFFFC0000000000FFE0003FFFFC00000000003F80003FFFFC0000
7452 0000000000007FFFFC00000000000000007FFFF800000000000000007FFFF80000000000
7453 0000007FFFF800000000000000007FFFF800000000000000007FFFF80000000000000000
7454 FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8
7455 0000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000
7456 0000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000000000
7457 0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF
7458 FFF80000000000000000FFFFF80000000000000000FFFFF800000000000000007FFFF800
7459 000000000000007FFFF800000000000000007FFFF800000000000000007FFFFC00000000
7460 000000007FFFFC00000000000000007FFFFC00000000000000003FFFFC00000000000000
7461 003FFFFC00000000000000003FFFFC00000000000000001FFFFE00000000000000001FFF
7462 FE00000000000000001FFFFE00000000000000000FFFFE00000000000000000FFFFF0000
7463 000000000FC007FFFF0000000000000FC007FFFF0000000000001FC003FFFF8000000000
7464 001F8003FFFF8000000000001F8001FFFFC000000000003F8001FFFFC000000000003F00
7465 00FFFFE000000000007F00007FFFE000000000007E00007FFFF00000000000FE00003FFF
7466 F80000000001FC00001FFFFC0000000003F800000FFFFC0000000003F8000007FFFE0000
7467 000007F0000003FFFF000000000FE0000001FFFFC00000001FC0000000FFFFE00000007F
7468 800000003FFFF8000000FF000000001FFFFC000003FC0000000007FFFF80000FF8000000
7469 0001FFFFF800FFE000000000007FFFFFFFFFC000000000001FFFFFFFFF00000000000003
7470 FFFFFFF8000000000000003FFFFFC00000000000000001FFF800000000525F79DD60>99
7471 D[<000000000000000000000FF0000000000000000000001FFFFFF00000000000000000
7472 001FFFFFFFF00000000000000000001FFFFFFFF00000000000000000001FFFFFFFF00000
7473 000000000000001FFFFFFFF00000000000000000001FFFFFFFF00000000000000000001F
7474 FFFFFFF00000000000000000001FFFFFFFF00000000000000000000007FFFFF000000000
7475 00000000000001FFFFF00000000000000000000000FFFFF000000000000000000000007F
7476 FFF000000000000000000000007FFFF000000000000000000000007FFFF0000000000000
7477 00000000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF0
7478 00000000000000000000007FFFF000000000000000000000007FFFF00000000000000000
7479 0000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF00000
7480 0000000000000000007FFFF000000000000000000000007FFFF000000000000000000000
7481 007FFFF000000000000000000000007FFFF000000000000000000000007FFFF000000000
7482 000000000000007FFFF000000000000000000000007FFFF000000000000000000000007F
7483 FFF000000000000000000000007FFFF000000000000000000000007FFFF0000000000000
7484 00000000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF0
7485 00000000000000000000007FFFF000000000000000000000007FFFF00000000000000000
7486 0000007FFFF000000000000000000000007FFFF000000000000000000000007FFFF00000
7487 0000000000000000007FFFF000000000000000000000007FFFF000000000000000000000
7488 007FFFF000000000000000000000007FFFF000000000000000000000007FFFF000000000
7489 000000000000007FFFF000000000000000000000007FFFF000000000000000000000007F
7490 FFF000000000000000000000007FFFF000000000000001FFF000007FFFF0000000000000
7491 7FFFFF80007FFFF0000000000003FFFFFFF0007FFFF000000000001FFFFFFFFC007FFFF0
7492 00000000007FFFFFFFFF007FFFF00000000001FFFFE003FFC07FFFF00000000007FFFE00
7493 003FE07FFFF0000000001FFFF800000FF87FFFF0000000003FFFE0000003FC7FFFF00000
7494 0000FFFF80000000FE7FFFF000000001FFFF000000007F7FFFF000000003FFFE00000000
7495 3FFFFFF000000007FFFC000000001FFFFFF00000000FFFF8000000000FFFFFF00000001F
7496 FFF00000000007FFFFF00000003FFFE00000000003FFFFF00000007FFFE00000000001FF
7497 FFF00000007FFFC00000000001FFFFF0000000FFFFC00000000000FFFFF0000001FFFF80
7498 0000000000FFFFF0000001FFFF800000000000FFFFF0000003FFFF000000000000FFFFF0
7499 000003FFFF000000000000FFFFF0000007FFFE000000000000FFFFF0000007FFFE000000
7500 000000FFFFF000000FFFFE000000000000FFFFF000000FFFFE000000000000FFFFF00000
7501 1FFFFC000000000000FFFFF000001FFFFC000000000000FFFFF000001FFFFC0000000000
7502 00FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF000003FFF
7503 FC000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FF
7504 FFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF800
7505 0000000000FFFFF000007FFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF0
7506 0000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000
7507 000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000
7508 FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF80000000000
7509 00FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFF
7510 F8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FF
7511 FFF00000FFFFF8000000000000FFFFF00000FFFFF8000000000000FFFFF00000FFFFF800
7512 0000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF0
7513 00007FFFF8000000000000FFFFF000007FFFF8000000000000FFFFF000007FFFF8000000
7514 000000FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF00000
7515 3FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF000001FFFFC0000000000
7516 00FFFFF000001FFFFC000000000000FFFFF000001FFFFC000000000000FFFFF000000FFF
7517 FE000000000000FFFFF000000FFFFE000000000000FFFFF0000007FFFE000000000000FF
7518 FFF0000007FFFE000000000000FFFFF0000003FFFF000000000000FFFFF0000003FFFF00
7519 0000000000FFFFF0000001FFFF800000000000FFFFF0000001FFFF800000000001FFFFF0
7520 000000FFFFC00000000003FFFFF00000007FFFC00000000007FFFFF00000003FFFE00000
7521 000007FFFFF00000003FFFE0000000000FFFFFF00000001FFFF0000000001FFFFFF00000
7522 000FFFF8000000003FFFFFF000000007FFFC000000007FFFFFF000000003FFFE00000001
7523 FEFFFFF800000000FFFF00000003F8FFFFFC000000007FFFC000000FF0FFFFFF00000000
7524 3FFFE000003FE0FFFFFFFFC000000FFFFC0000FF80FFFFFFFFC0000003FFFF800FFF00FF
7525 FFFFFFC0000000FFFFFFFFFC00FFFFFFFFC00000003FFFFFFFF000FFFFFFFFC00000000F
7526 FFFFFFC000FFFFFFFFC000000000FFFFFE0000FFFFFFFFC00000000007FFC00000FFFF80
7527 0000>106 144 121 270 120 I<0000000003FFF800000000000000007FFFFFC0000000
7528 00000007FFFFFFFC0000000000003FFFFFFFFF000000000000FFFFFFFFFFC00000000003
7529 FFFF807FFFF00000000007FFFC000FFFFC000000001FFFE00003FFFE000000003FFFC000
7530 00FFFF00000000FFFF0000007FFF80000001FFFE0000003FFFC0000003FFFC0000001FFF
7531 E0000007FFF80000000FFFF000000FFFF000000007FFF800001FFFE000000007FFFC0000
7532 3FFFE000000003FFFC00007FFFC000000003FFFE00007FFFC000000001FFFE0000FFFF80
7533 00000001FFFF0001FFFF8000000000FFFF0001FFFF0000000000FFFF8003FFFF00000000
7534 00FFFF8003FFFF00000000007FFFC007FFFE00000000007FFFC007FFFE00000000007FFF
7535 C00FFFFE00000000007FFFE00FFFFC00000000003FFFE01FFFFC00000000003FFFE01FFF
7536 FC00000000003FFFE01FFFFC00000000003FFFF03FFFFC00000000003FFFF03FFFFC0000
7537 0000003FFFF03FFFFC00000000001FFFF03FFFF800000000001FFFF07FFFF80000000000
7538 1FFFF07FFFF800000000001FFFF87FFFF800000000001FFFF87FFFF800000000001FFFF8
7539 7FFFF800000000001FFFF8FFFFF800000000001FFFF8FFFFF800000000001FFFF8FFFFF8
7540 00000000001FFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF
7541 FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFF8FFFFF80000000000000000FFFFF8000000000000
7542 0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF
7543 FFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800
7544 00000000000000FFFFF800000000000000007FFFF800000000000000007FFFF800000000
7545 000000007FFFF800000000000000007FFFF800000000000000007FFFFC00000000000000
7546 003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000000001FFF
7547 FC00000000000000001FFFFC00000000000000001FFFFE00000000000000000FFFFE0000
7548 0000000000000FFFFE00000000000000000FFFFE00000000000001F807FFFF0000000000
7549 0001F807FFFF00000000000003F803FFFF00000000000003F001FFFF80000000000003F0
7550 01FFFF80000000000007F000FFFFC0000000000007E0007FFFC000000000000FE0007FFF
7551 E000000000001FC0003FFFE000000000001F80001FFFF000000000003F80000FFFF80000
7552 0000007F000007FFFC0000000000FE000003FFFE0000000001FC000001FFFF0000000003
7553 F8000000FFFF8000000007F00000007FFFE00000001FE00000001FFFF80000007FC00000
7554 000FFFFE000001FF8000000003FFFFC00007FE0000000000FFFFFC00FFFC00000000003F
7555 FFFFFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFE000000000000001FFFFF
7556 F00000000000000000FFFF00000000555F7ADD62>I[<000000000001FFF0000000000000
7557 007FFFFE00000000000007FFFFFF8000000000003FFFFFFFC00000000000FFFFFFFFF000
7558 00000003FFFF007FF8000000000FFFF8007FFC000000001FFFE000FFFE000000007FFFC0
7559 01FFFE00000000FFFF0003FFFF00000001FFFE0007FFFF00000003FFFE0007FFFF000000
7560 07FFFC000FFFFF8000000FFFF8000FFFFF8000001FFFF0000FFFFF8000001FFFF0000FFF
7561 FF8000003FFFE0000FFFFF8000003FFFE0000FFFFF8000007FFFE0000FFFFF8000007FFF
7562 C0000FFFFF800000FFFFC00007FFFF000000FFFFC00007FFFF000000FFFFC00003FFFE00
7563 0000FFFF800001FFFC000001FFFF8000007FF0000001FFFF8000001FC0000001FFFF8000
7564 000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001
7565 FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF80000000
7566 00000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF
7567 8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF800000000000
7568 0001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000
7569 000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001
7570 FFFF8000000000000001FFFF8000000000000001FFFF8000000000000001FFFF80000000
7571 0000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFF
7572 FFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000
7573 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
7574 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
7575 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
7576 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
7577 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
7578 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
7579 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
7580 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
7581 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
7582 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
7583 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
7584 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
7585 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
7586 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
7587 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
7588 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
7589 000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001
7590 FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC0000000
7591 00000001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFF
7592 C000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC00000000000
7593 0001FFFFC000000000000001FFFFC000000000000001FFFFC000000000000001FFFFC000
7594 000000000001FFFFC000000000000001FFFFC000000000007FFFFFFFFFFFF00000007FFF
7595 FFFFFFFFF00000007FFFFFFFFFFFF00000007FFFFFFFFFFFF00000007FFFFFFFFFFFF000
7596 00007FFFFFFFFFFFF00000007FFFFFFFFFFFF0000000>73 144 122
7597 271 66 I<000000000000000000001FE000000000003FFF80000001FFF80000000007FF
7598 FFFC00000FFFFE000000007FFFFFFFC0003FFFFF00000001FFFFFFFFF000FFFFFF800000
7599 07FFF803FFFC03FFC3FF8000001FFFC0007FFF07FC07FFC000007FFF00001FFFCFE007FF
7600 C00000FFFC000007FFFF0007FFC00003FFF8000003FFFE000FFFC00007FFF0000001FFFC
7601 0007FFC0000FFFF0000001FFFE0007FFC0001FFFE0000000FFFF0007FFC0001FFFC00000
7602 007FFF0007FF80003FFFC00000007FFF8003FF00007FFFC00000007FFFC001FE00007FFF
7603 800000003FFFC000380000FFFF800000003FFFE000000000FFFF800000003FFFE0000000
7604 01FFFF800000003FFFF000000001FFFF000000001FFFF000000003FFFF000000001FFFF8
7605 00000003FFFF000000001FFFF800000003FFFF000000001FFFF800000003FFFF00000000
7606 1FFFF800000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF00
7607 0000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007
7608 FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00
7609 000007FFFF000000001FFFFC00000007FFFF000000001FFFFC00000007FFFF000000001F
7610 FFFC00000003FFFF000000001FFFF800000003FFFF000000001FFFF800000003FFFF0000
7611 00001FFFF800000003FFFF000000001FFFF800000001FFFF000000001FFFF000000001FF
7612 FF800000003FFFF000000000FFFF800000003FFFE000000000FFFF800000003FFFE00000
7613 00007FFF800000003FFFC0000000007FFFC00000007FFFC0000000003FFFC00000007FFF
7614 80000000001FFFC00000007FFF00000000001FFFE0000000FFFF00000000000FFFF00000
7615 01FFFE000000000007FFF0000001FFFC000000000003FFF8000003FFF8000000000001FF
7616 FC000007FFE0000000000001FFFF00001FFFC0000000000003DFFFC0007FFF0000000000
7617 000787FFF803FFFC0000000000000F81FFFFFFFFF00000000000000F007FFFFFFFC00000
7618 000000001F0007FFFFFC000000000000001F00003FFF80000000000000003E0000000000
7619 000000000000003E0000000000000000000000007E0000000000000000000000007E0000
7620 000000000000000000007E000000000000000000000000FE000000000000000000000000
7621 FE000000000000000000000000FE000000000000000000000000FF000000000000000000
7622 000000FF000000000000000000000000FF800000000000000000000000FF800000000000
7623 000000000000FFC00000000000000000000000FFE00000000000000000000000FFE00000
7624 000000000000000000FFF80000000000000000000000FFFC0000000000000000000000FF
7625 FF8000000000000000000000FFFFFFFFFFFFFC0000000000007FFFFFFFFFFFFFF8000000
7626 00007FFFFFFFFFFFFFFF80000000007FFFFFFFFFFFFFFFF0000000003FFFFFFFFFFFFFFF
7627 FC000000003FFFFFFFFFFFFFFFFF000000001FFFFFFFFFFFFFFFFFC00000001FFFFFFFFF
7628 FFFFFFFFF00000000FFFFFFFFFFFFFFFFFF800000007FFFFFFFFFFFFFFFFFE00000003FF
7629 FFFFFFFFFFFFFFFF00000001FFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFF8000
7630 00007FFFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFF
7631 FFE000001FFFFFFFFFFFFFFFFFFFF000007FFF0000000007FFFFFFF00001FFFC00000000
7632 001FFFFFF80003FFF0000000000003FFFFF80007FFE00000000000007FFFF8000FFFC000
7633 00000000003FFFFC001FFFC00000000000000FFFFC003FFF8000000000000007FFFC003F
7634 FF8000000000000007FFFC007FFF0000000000000003FFFE007FFF0000000000000001FF
7635 FE007FFF0000000000000001FFFE00FFFE0000000000000001FFFE00FFFE000000000000
7636 0000FFFE00FFFE0000000000000000FFFE00FFFE0000000000000000FFFE00FFFE000000
7637 0000000000FFFE00FFFE0000000000000000FFFE00FFFE0000000000000000FFFE00FFFE
7638 0000000000000000FFFE00FFFF0000000000000001FFFE007FFF0000000000000001FFFC
7639 007FFF0000000000000001FFFC007FFF8000000000000003FFFC003FFF80000000000000
7640 03FFF8003FFFC000000000000007FFF8001FFFC000000000000007FFF0000FFFE0000000
7641 0000000FFFE00007FFF00000000000001FFFC00003FFF80000000000003FFF800001FFFC
7642 0000000000007FFF000000FFFE000000000000FFFE0000007FFF000000000001FFFC0000
7643 001FFFC00000000007FFF00000000FFFF0000000001FFFE000000003FFFE00000000FFFF
7644 8000000000FFFFC0000007FFFE00000000001FFFFE0000FFFFF0000000000007FFFFFFFF
7645 FFFFC00000000000007FFFFFFFFFFC0000000000000007FFFFFFFFC00000000000000000
7646 0FFFFFE0000000000062887ADD6C>I[<0000007F8000000000000000000000FFFFFF8000
7647 0000000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000
7648 FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000
7649 000000000000FFFFFFFF80000000000000000000FFFFFFFF80000000000000000000003F
7650 FFFF80000000000000000000000FFFFF800000000000000000000007FFFF800000000000
7651 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
7652 800000000000000000000003FFFF800000000000000000000003FFFF8000000000000000
7653 00000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF8000
7654 00000000000000000003FFFF800000000000000000000003FFFF80000000000000000000
7655 0003FFFF800000000000000000000003FFFF800000000000000000000003FFFF80000000
7656 0000000000000003FFFF800000000000000000000003FFFF800000000000000000000003
7657 FFFF800000000000000000000003FFFF800000000000000000000003FFFF800000000000
7658 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
7659 800000000000000000000003FFFF800000000000000000000003FFFF8000000000000000
7660 00000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF8000
7661 00000000000000000003FFFF800000000000000000000003FFFF80000000000000000000
7662 0003FFFF800000000000000000000003FFFF800000000000000000000003FFFF80000000
7663 0000000000000003FFFF800000000000000000000003FFFF800000000000000000000003
7664 FFFF800000000000000000000003FFFF800000000000000000000003FFFF800000000000
7665 000000000003FFFF800000000000000000000003FFFF800000000000000000000003FFFF
7666 8000003FFF00000000000003FFFF800003FFFFF0000000000003FFFF80000FFFFFFE0000
7667 00000003FFFF80003FFFFFFF800000000003FFFF8000FFFFFFFFE00000000003FFFF8001
7668 FF00FFFFF80000000003FFFF8007F8001FFFFC0000000003FFFF800FC0000FFFFE000000
7669 0003FFFF801F800007FFFF0000000003FFFF803E000007FFFF0000000003FFFF807C0000
7670 03FFFF8000000003FFFF80F8000001FFFFC000000003FFFF81F0000001FFFFC000000003
7671 FFFF81E0000001FFFFE000000003FFFF83C0000000FFFFE000000003FFFF8780000000FF
7672 FFE000000003FFFF8780000000FFFFF000000003FFFF8F00000000FFFFF000000003FFFF
7673 8E00000000FFFFF000000003FFFF9E000000007FFFF000000003FFFF9C000000007FFFF0
7674 00000003FFFFBC000000007FFFF800000003FFFFB8000000007FFFF800000003FFFFF800
7675 0000007FFFF800000003FFFFF8000000007FFFF800000003FFFFF0000000007FFFF80000
7676 0003FFFFF0000000007FFFF800000003FFFFF0000000007FFFF800000003FFFFE0000000
7677 007FFFF800000003FFFFE0000000007FFFF800000003FFFFE0000000007FFFF800000003
7678 FFFFE0000000007FFFF800000003FFFFE0000000007FFFF800000003FFFFC0000000007F
7679 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
7680 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
7681 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
7682 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
7683 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
7684 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
7685 FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007F
7686 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
7687 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
7688 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
7689 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
7690 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
7691 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
7692 FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007F
7693 FFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFF
7694 C0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8
7695 00000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000
7696 0000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000
7697 0003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000
7698 007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003
7699 FFFFC0000000007FFFF80000FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFF
7700 FFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFF
7701 FFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFF
7702 FFE0>107 143 121 270 120 I[<00007F8000000001FFE000000003FFF000000007FFF8
7703 0000000FFFFC0000001FFFFE0000003FFFFF0000003FFFFF0000007FFFFF8000007FFFFF
7704 8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF8000007FFFFF
7705 8000003FFFFF0000003FFFFF0000001FFFFE0000000FFFFC00000007FFF800000003FFF0
7706 00000001FFE0000000007F80000000000000000000000000000000000000000000000000
7707 000000000000000000000000000000000000000000000000000000000000000000000000
7708 000000000000000000000000000000000000000000000000000000000000000000000000
7709 000000000000000000000000000000000000000000000000000000000000000000000000
7710 00000000000000000000000000000000000000000000000000000000000000000000007F
7711 8000007FFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF
7712 8000FFFFFFFF8000FFFFFFFF8000003FFFFF80000007FFFF80000007FFFF80000003FFFF
7713 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7714 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7715 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7716 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7717 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7718 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7719 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7720 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7721 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7722 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7723 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7724 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7725 80000003FFFF8000FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFF
7726 FFFCFFFFFFFFFFFCFFFFFFFFFFFC>46 144 121 271 60 I[<0000007F80000000000000
7727 000000FFFFFF800000000000000000FFFFFFFF800000000000000000FFFFFFFF80000000
7728 0000000000FFFFFFFF800000000000000000FFFFFFFF800000000000000000FFFFFFFF80
7729 0000000000000000FFFFFFFF800000000000000000FFFFFFFF800000000000000000003F
7730 FFFF800000000000000000000FFFFF8000000000000000000007FFFF8000000000000000
7731 000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000
7732 000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000
7733 000000000000000003FFFF8000000000000000000003FFFF8000000000000000000003FF
7734 FF8000000000000000000003FFFF8000000000000000000003FFFF800000000000000000
7735 0003FFFF8000000000000000000003FFFF8000000000000000000003FFFF800000000000
7736 0000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF800000
7737 0000000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF
7738 8000000000000000000003FFFF8000000000000000000003FFFF80000000000000000000
7739 03FFFF8000000000000000000003FFFF8000000000000000000003FFFF80000000000000
7740 00000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF80000000
7741 00000000000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF80
7742 00000000000000000003FFFF8000000000000000000003FFFF8000000000000000000003
7743 FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000000000
7744 000003FFFF8000000000000000000003FFFF8000000000000000000003FFFF8000000000
7745 000000000003FFFF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF8000
7746 0003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FF
7747 FF80000003FFFFFFFFE00003FFFF80000003FFFFFFFFE00003FFFF800000000FFFFF8000
7748 0003FFFF8000000001FFF000000003FFFF8000000000FFC000000003FFFF8000000000FF
7749 8000000003FFFF8000000001FF0000000003FFFF8000000003FC0000000003FFFF800000
7750 000FF80000000003FFFF800000001FF00000000003FFFF800000003FE00000000003FFFF
7751 800000007FC00000000003FFFF80000000FF800000000003FFFF80000001FF0000000000
7752 03FFFF80000003FE000000000003FFFF80000007F8000000000003FFFF8000001FF00000
7753 00000003FFFF8000003FE0000000000003FFFF8000007FC0000000000003FFFF800000FF
7754 80000000000003FFFF800001FF00000000000003FFFF800003FE00000000000003FFFF80
7755 0007FC00000000000003FFFF80000FF800000000000003FFFF80001FE000000000000003
7756 FFFF80007FC000000000000003FFFF8000FF8000000000000003FFFF8001FF0000000000
7757 000003FFFF8003FF0000000000000003FFFF8007FF8000000000000003FFFF800FFFC000
7758 000000000003FFFF801FFFC000000000000003FFFF803FFFE000000000000003FFFF807F
7759 FFF000000000000003FFFF81FFFFF000000000000003FFFF83FFFFF800000000000003FF
7760 FF87FFFFFC00000000000003FFFF8FFFFFFC00000000000003FFFF9FFFFFFE0000000000
7761 0003FFFFBFFFFFFF00000000000003FFFFFFDFFFFF80000000000003FFFFFF1FFFFF8000
7762 0000000003FFFFFE0FFFFFC0000000000003FFFFFC07FFFFE0000000000003FFFFF807FF
7763 FFE0000000000003FFFFF003FFFFF0000000000003FFFFE001FFFFF8000000000003FFFF
7764 C001FFFFF8000000000003FFFF8000FFFFFC000000000003FFFF80007FFFFE0000000000
7765 03FFFF80003FFFFE000000000003FFFF80003FFFFF000000000003FFFF80001FFFFF8000
7766 00000003FFFF80000FFFFF800000000003FFFF80000FFFFFC00000000003FFFF800007FF
7767 FFE00000000003FFFF800003FFFFE00000000003FFFF800003FFFFF00000000003FFFF80
7768 0001FFFFF80000000003FFFF800000FFFFFC0000000003FFFF800000FFFFFC0000000003
7769 FFFF8000007FFFFE0000000003FFFF8000003FFFFF0000000003FFFF8000003FFFFF0000
7770 000003FFFF8000001FFFFF8000000003FFFF8000000FFFFFC000000003FFFF8000000FFF
7771 FFC000000003FFFF80000007FFFFE000000003FFFF80000003FFFFF000000003FFFF8000
7772 0001FFFFF000000003FFFF80000001FFFFF800000003FFFF80000000FFFFFC00000003FF
7773 FF800000007FFFFC00000003FFFF800000007FFFFE00000003FFFF800000003FFFFF0000
7774 0003FFFF800000001FFFFF00000003FFFF800000001FFFFF80000003FFFF800000000FFF
7775 FFC0000003FFFF800000000FFFFFE0000003FFFF800000003FFFFFF800FFFFFFFFFFFE00
7776 1FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFF
7777 FFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFF
7778 FFFFFFFFFE001FFFFFFFFFFF>104 143 122 270 114 107 D[<0000007F800000FFFFFF
7779 8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF8000FFFFFFFF
7780 8000FFFFFFFF8000003FFFFF80000007FFFF80000007FFFF80000003FFFF80000003FFFF
7781 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7782 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7783 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7784 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7785 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7786 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7787 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7788 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7789 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7790 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7791 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7792 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7793 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7794 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7795 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7796 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7797 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7798 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7799 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7800 80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF80000003FFFF
7801 80000003FFFF80000003FFFF8000FFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFF
7802 FFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFE>47 143 121 270
7803 60 I<0000007F8000001FFF000000000001FFF00000000000FFFFFF800001FFFFF80000
7804 00001FFFFF80000000FFFFFFFF80000FFFFFFF00000000FFFFFFF0000000FFFFFFFF8000
7805 3FFFFFFFC0000003FFFFFFFC000000FFFFFFFF8000FFFFFFFFF000000FFFFFFFFF000000
7806 FFFFFFFF8001FF807FFFF800001FF807FFFF800000FFFFFFFF8007F8001FFFFE00007F80
7807 01FFFFE00000FFFFFFFF800FE00007FFFF0000FE00007FFFF00000FFFFFFFF801F800003
7808 FFFF8001F800003FFFF80000003FFFFF803F000003FFFF8003F000003FFFF80000000FFF
7809 FF807C000001FFFFC007C000001FFFFC00000007FFFF80F8000001FFFFE00F8000001FFF
7810 FE00000003FFFF81F0000000FFFFE01F0000000FFFFE00000003FFFF81E0000000FFFFF0
7811 1E0000000FFFFF00000003FFFF83C00000007FFFF03C00000007FFFF00000003FFFF87C0
7812 0000007FFFF07C00000007FFFF00000003FFFF87800000007FFFF87800000007FFFF8000
7813 0003FFFF8F000000007FFFF8F000000007FFFF80000003FFFF8F000000007FFFF8F00000
7814 0007FFFF80000003FFFF9E000000003FFFF9E000000003FFFF80000003FFFF9C00000000
7815 3FFFF9C000000003FFFF80000003FFFFBC000000003FFFFFC000000003FFFFC0000003FF
7816 FFB8000000003FFFFF8000000003FFFFC0000003FFFFF8000000003FFFFF8000000003FF
7817 FFC0000003FFFFF8000000003FFFFF8000000003FFFFC0000003FFFFF0000000003FFFFF
7818 0000000003FFFFC0000003FFFFF0000000003FFFFF0000000003FFFFC0000003FFFFF000
7819 0000003FFFFF0000000003FFFFC0000003FFFFE0000000003FFFFE0000000003FFFFC000
7820 0003FFFFE0000000003FFFFE0000000003FFFFC0000003FFFFE0000000003FFFFE000000
7821 0003FFFFC0000003FFFFE0000000003FFFFE0000000003FFFFC0000003FFFFE000000000
7822 3FFFFE0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
7823 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
7824 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
7825 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
7826 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
7827 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
7828 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
7829 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
7830 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
7831 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
7832 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
7833 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
7834 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
7835 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
7836 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
7837 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
7838 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
7839 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
7840 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
7841 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
7842 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
7843 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
7844 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
7845 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
7846 0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000
7847 0000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC000
7848 0003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC000000
7849 0003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC000000000
7850 3FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FF
7851 FFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC0000000003FF
7852 FFC0000003FFFFC0000000003FFFFC0000000003FFFFC0000003FFFFC0000000003FFFFC
7853 0000000003FFFFC000FFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF
7854 000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFF
7855 FFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000
7856 FFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFF000FFF
7857 FFFFFFFFF000FFFFFFFFFFFFA85D79DCB5>I<0000007F8000003FFF000000000000FFFF
7858 FF800003FFFFF000000000FFFFFFFF80000FFFFFFE00000000FFFFFFFF80003FFFFFFF80
7859 000000FFFFFFFF8000FFFFFFFFE0000000FFFFFFFF8001FF00FFFFF8000000FFFFFFFF80
7860 07F8001FFFFC000000FFFFFFFF800FC0000FFFFE000000FFFFFFFF801F800007FFFF0000
7861 00003FFFFF803E000007FFFF000000000FFFFF807C000003FFFF8000000007FFFF80F800
7862 0001FFFFC000000003FFFF81F0000001FFFFC000000003FFFF81E0000001FFFFE0000000
7863 03FFFF83C0000000FFFFE000000003FFFF8780000000FFFFE000000003FFFF8780000000
7864 FFFFF000000003FFFF8F00000000FFFFF000000003FFFF8E00000000FFFFF000000003FF
7865 FF9E000000007FFFF000000003FFFF9C000000007FFFF000000003FFFFBC000000007FFF
7866 F800000003FFFFB8000000007FFFF800000003FFFFF8000000007FFFF800000003FFFFF8
7867 000000007FFFF800000003FFFFF0000000007FFFF800000003FFFFF0000000007FFFF800
7868 000003FFFFF0000000007FFFF800000003FFFFE0000000007FFFF800000003FFFFE00000
7869 00007FFFF800000003FFFFE0000000007FFFF800000003FFFFE0000000007FFFF8000000
7870 03FFFFE0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
7871 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
7872 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
7873 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
7874 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
7875 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
7876 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
7877 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
7878 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
7879 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
7880 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
7881 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
7882 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
7883 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
7884 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
7885 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
7886 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
7887 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
7888 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
7889 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
7890 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF80000FF
7891 FFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFF
7892 FFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE0FFFFFF
7893 FFFFFF001FFFFFFFFFFFE0FFFFFFFFFFFF001FFFFFFFFFFFE06B5D79DC78>I<00000000
7894 00FFFE0000000000000000003FFFFFF80000000000000001FFFFFFFF000000000000000F
7895 FFFFFFFFE00000000000003FFFFFFFFFF8000000000001FFFFC007FFFF000000000003FF
7896 FC00007FFF80000000000FFFF000001FFFE0000000003FFFC0000007FFF8000000007FFF
7897 00000001FFFC00000000FFFE00000000FFFE00000001FFFC000000007FFF00000003FFF8
7898 000000003FFF80000007FFF0000000001FFFC000000FFFE0000000000FFFE000001FFFE0
7899 000000000FFFF000003FFFC00000000007FFF800007FFF800000000003FFFC00007FFF80
7900 0000000003FFFC0000FFFF000000000001FFFE0001FFFF000000000001FFFF0001FFFF00
7901 0000000001FFFF0003FFFE000000000000FFFF8003FFFE000000000000FFFF8007FFFE00
7902 0000000000FFFFC007FFFC0000000000007FFFC00FFFFC0000000000007FFFE00FFFFC00
7903 00000000007FFFE01FFFFC0000000000007FFFF01FFFFC0000000000007FFFF01FFFFC00
7904 00000000007FFFF03FFFFC0000000000007FFFF83FFFF80000000000003FFFF83FFFF800
7905 00000000003FFFF83FFFF80000000000003FFFF87FFFF80000000000003FFFFC7FFFF800
7906 00000000003FFFFC7FFFF80000000000003FFFFC7FFFF80000000000003FFFFC7FFFF800
7907 00000000003FFFFCFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
7908 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
7909 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
7910 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
7911 00000000003FFFFEFFFFF80000000000003FFFFEFFFFF80000000000003FFFFEFFFFF800
7912 00000000003FFFFEFFFFF80000000000003FFFFE7FFFF80000000000003FFFFC7FFFF800
7913 00000000003FFFFC7FFFF80000000000003FFFFC7FFFF80000000000003FFFFC7FFFF800
7914 00000000003FFFFC3FFFF80000000000003FFFF83FFFFC0000000000007FFFF83FFFFC00
7915 00000000007FFFF83FFFFC0000000000007FFFF81FFFFC0000000000007FFFF01FFFFC00
7916 00000000007FFFF01FFFFC0000000000007FFFF00FFFFE000000000000FFFFE00FFFFE00
7917 0000000000FFFFE007FFFE000000000000FFFFC007FFFE000000000000FFFFC003FFFF00
7918 0000000001FFFF8003FFFF000000000001FFFF8001FFFF000000000001FFFF0001FFFF80
7919 0000000003FFFF0000FFFF800000000003FFFE00007FFFC00000000007FFFC00003FFFC0
7920 0000000007FFF800003FFFE0000000000FFFF800001FFFF0000000001FFFF000000FFFF0
7921 000000001FFFE0000007FFF8000000003FFFC0000003FFFC000000007FFF80000001FFFE
7922 00000000FFFF000000007FFF80000003FFFC000000003FFFC0000007FFF8000000000FFF
7923 F000001FFFE00000000007FFFE0000FFFFC00000000001FFFFC007FFFF0000000000007F
7924 FFFFFFFFFC0000000000000FFFFFFFFFE000000000000003FFFFFFFF8000000000000000
7925 3FFFFFF8000000000000000000FFFE00000000005F5F7ADD6C>I<0000007F800000FFF8
7926 000000000000FFFFFF80001FFFFFC000000000FFFFFFFF8000FFFFFFFC00000000FFFFFF
7927 FF8003FFFFFFFF00000000FFFFFFFF800FFFFFFFFFC0000000FFFFFFFF803FFC00FFFFF0
7928 000000FFFFFFFF80FFC0001FFFFC000000FFFFFFFF83FE000007FFFF000000FFFFFFFF87
7929 F8000001FFFF800000003FFFFF8FF0000000FFFFE00000000FFFFF9FC00000007FFFF000
7930 000007FFFFBF800000003FFFF800000003FFFFFF000000001FFFFC00000003FFFFFE0000
7931 00000FFFFE00000003FFFFFC0000000007FFFF00000003FFFFF80000000007FFFF000000
7932 03FFFFF00000000003FFFF80000003FFFFE00000000001FFFFC0000003FFFFC000000000
7933 01FFFFE0000003FFFFC00000000000FFFFE0000003FFFFC00000000000FFFFF0000003FF
7934 FFC000000000007FFFF0000003FFFFC000000000007FFFF8000003FFFFC000000000007F
7935 FFF8000003FFFFC000000000003FFFFC000003FFFFC000000000003FFFFC000003FFFFC0
7936 00000000003FFFFE000003FFFFC000000000001FFFFE000003FFFFC000000000001FFFFE
7937 000003FFFFC000000000001FFFFF000003FFFFC000000000001FFFFF000003FFFFC00000
7938 0000000FFFFF000003FFFFC000000000000FFFFF000003FFFFC000000000000FFFFF8000
7939 03FFFFC000000000000FFFFF800003FFFFC000000000000FFFFF800003FFFFC000000000
7940 000FFFFF800003FFFFC000000000000FFFFF800003FFFFC0000000000007FFFFC00003FF
7941 FFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007
7942 FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0
7943 000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFF
7944 C00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC00000
7945 00000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC000
7946 03FFFFC0000000000007FFFFC00003FFFFC0000000000007FFFFC00003FFFFC000000000
7947 0007FFFFC00003FFFFC0000000000007FFFF800003FFFFC000000000000FFFFF800003FF
7948 FFC000000000000FFFFF800003FFFFC000000000000FFFFF800003FFFFC000000000000F
7949 FFFF800003FFFFC000000000000FFFFF800003FFFFC000000000000FFFFF000003FFFFC0
7950 00000000001FFFFF000003FFFFC000000000001FFFFF000003FFFFC000000000001FFFFE
7951 000003FFFFC000000000001FFFFE000003FFFFC000000000003FFFFE000003FFFFC00000
7952 0000003FFFFC000003FFFFC000000000003FFFFC000003FFFFC000000000007FFFF80000
7953 03FFFFC000000000007FFFF8000003FFFFC000000000007FFFF0000003FFFFC000000000
7954 00FFFFF0000003FFFFC00000000000FFFFE0000003FFFFC00000000001FFFFE0000003FF
7955 FFC00000000001FFFFC0000003FFFFE00000000003FFFF80000003FFFFF00000000007FF
7956 FF80000003FFFFF80000000007FFFF00000003FFFFF8000000000FFFFE00000003FFFFFC
7957 000000001FFFFC00000003FFFFFE000000003FFFF800000003FFFFFF000000007FFFF000
7958 000003FFFFFF80000000FFFFE000000003FFFFDFE0000001FFFFC000000003FFFFC7F000
7959 0007FFFF0000000003FFFFC3FC00000FFFFE0000000003FFFFC1FF00007FFFF800000000
7960 03FFFFC07FF003FFFFE00000000003FFFFC01FFFFFFFFF800000000003FFFFC007FFFFFF
7961 FE000000000003FFFFC001FFFFFFF0000000000003FFFFC0007FFFFF00000000000003FF
7962 FFC00003FFE000000000000003FFFFC00000000000000000000003FFFFC0000000000000
7963 0000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0
7964 0000000000000000000003FFFFC00000000000000000000003FFFFC00000000000000000
7965 000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC00000
7966 000000000000000003FFFFC00000000000000000000003FFFFC000000000000000000000
7967 03FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC000000000
7968 00000000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FF
7969 FFC00000000000000000000003FFFFC00000000000000000000003FFFFC0000000000000
7970 0000000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC0
7971 0000000000000000000003FFFFC00000000000000000000003FFFFC00000000000000000
7972 000003FFFFC00000000000000000000003FFFFC00000000000000000000003FFFFC00000
7973 000000000000000003FFFFC00000000000000000000003FFFFC000000000000000000000
7974 03FFFFC00000000000000000000003FFFFC0000000000000000000FFFFFFFFFFFF000000
7975 0000000000FFFFFFFFFFFF0000000000000000FFFFFFFFFFFF0000000000000000FFFFFF
7976 FFFFFF0000000000000000FFFFFFFFFFFF0000000000000000FFFFFFFFFFFF0000000000
7977 000000FFFFFFFFFFFF00000000000000006A857ADC78>I<000000FF00001FF8000000FF
7978 FFFF0000FFFF0000FFFFFFFF0003FFFFE000FFFFFFFF000FFFFFF000FFFFFFFF001FFFFF
7979 FC00FFFFFFFF003FF00FFE00FFFFFFFF007F003FFF00FFFFFFFF00FE007FFF80FFFFFFFF
7980 01F800FFFF80003FFFFF03F001FFFFC0000FFFFF03E001FFFFC00007FFFF07C003FFFFE0
7981 0003FFFF078003FFFFE00003FFFF0F8003FFFFE00003FFFF0F0003FFFFE00003FFFF1F00
7982 03FFFFE00003FFFF1E0003FFFFE00003FFFF3C0003FFFFE00003FFFF3C0003FFFFE00003
7983 FFFF3C0001FFFFC00003FFFF780001FFFFC00003FFFF780000FFFF800003FFFF7000007F
7984 FF000003FFFFF000003FFE000003FFFFF000000FF8000003FFFFE000000000000003FFFF
7985 E000000000000003FFFFE000000000000003FFFFE000000000000003FFFFE00000000000
7986 0003FFFFC000000000000003FFFFC000000000000003FFFFC000000000000003FFFFC000
7987 000000000003FFFFC000000000000003FFFFC000000000000003FFFF8000000000000003
7988 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
7989 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
7990 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
7991 0003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000
7992 000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003
7993 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
7994 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
7995 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
7996 0003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000
7997 000000000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003
7998 FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF80000000
7999 00000003FFFF8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF
8000 8000000000000003FFFF8000000000000003FFFF8000000000000003FFFF800000000000
8001 0003FFFF8000000000000003FFFF800000000000FFFFFFFFFFFFE0000000FFFFFFFFFFFF
8002 E0000000FFFFFFFFFFFFE0000000FFFFFFFFFFFFE0000000FFFFFFFFFFFFE0000000FFFF
8003 FFFFFFFFE0000000FFFFFFFFFFFFE00000004B5D7ADC57>114 D<0000003FFF80000380
8004 00000FFFFFFC00078000007FFFFFFF001F800001FFFFFFFFE03F800007FFFFFFFFF07F80
8005 001FFFC0007FFCFF80007FFC00000FFFFF8000FFE0000001FFFF8001FFC00000007FFF80
8006 03FF000000003FFF8007FE000000001FFF800FFE000000000FFF800FFC0000000007FF80
8007 1FF80000000003FF801FF80000000001FF803FF80000000001FF803FF00000000000FF80
8008 7FF000000000007F807FF000000000007F807FF000000000007F807FF000000000003F80
8009 FFF000000000003F80FFF800000000003F80FFF800000000003F80FFF800000000001F80
8010 FFFC00000000001F80FFFE00000000001F80FFFF00000000001F80FFFF80000000001F80
8011 FFFFC0000000001F80FFFFE0000000000000FFFFF80000000000007FFFFF000000000000
8012 7FFFFFF000000000007FFFFFFF80000000003FFFFFFFFC000000003FFFFFFFFFE0000000
8013 1FFFFFFFFFFE0000001FFFFFFFFFFFC000000FFFFFFFFFFFF0000007FFFFFFFFFFFC0000
8014 07FFFFFFFFFFFF000003FFFFFFFFFFFF800001FFFFFFFFFFFFE00000FFFFFFFFFFFFF000
8015 003FFFFFFFFFFFF800001FFFFFFFFFFFFC000007FFFFFFFFFFFE000003FFFFFFFFFFFF00
8016 0000FFFFFFFFFFFF8000003FFFFFFFFFFF80000007FFFFFFFFFFC00000007FFFFFFFFFE0
8017 00000007FFFFFFFFE0000000001FFFFFFFF00000000000FFFFFFF000000000000FFFFFF8
8018 000000000001FFFFF80000000000007FFFF80000000000003FFFF8FC00000000000FFFFC
8019 FC000000000007FFFCFC000000000003FFFCFE000000000001FFFCFE000000000001FFFC
8020 FE000000000000FFFCFE000000000000FFFCFF0000000000007FFCFF0000000000007FFC
8021 FF0000000000003FFCFF8000000000003FFCFF8000000000003FFCFFC000000000003FF8
8022 FFC000000000003FF8FFE000000000003FF8FFE000000000003FF8FFF000000000003FF0
8023 FFF000000000007FF0FFF800000000007FF0FFFC00000000007FE0FFFC0000000000FFE0
8024 FFFE0000000000FFC0FFFF0000000001FFC0FFFF8000000003FF80FFFFC000000007FF00
8025 FFFFF00000000FFE00FFFFF80000001FFC00FFE7FE0000007FF800FFC1FF800001FFF000
8026 FF80FFF8001FFFC000FE003FFFFFFFFF8000FC000FFFFFFFFE0000F80003FFFFFFF00000
8027 F00000FFFFFF800000E0000007FFF0000000465F79DD55>I[<00000003F0000000000000
8028 0003F00000000000000003F00000000000000003F00000000000000003F0000000000000
8029 0003F00000000000000003F00000000000000003F00000000000000007F0000000000000
8030 0007F00000000000000007F00000000000000007F00000000000000007F0000000000000
8031 000FF0000000000000000FF0000000000000000FF0000000000000000FF0000000000000
8032 001FF0000000000000001FF0000000000000001FF0000000000000003FF0000000000000
8033 003FF0000000000000007FF0000000000000007FF000000000000000FFF0000000000000
8034 00FFF000000000000001FFF000000000000001FFF000000000000003FFF0000000000000
8035 07FFF000000000000007FFF00000000000000FFFF00000000000001FFFF0000000000000
8036 3FFFF00000000000007FFFF0000000000000FFFFF0000000000003FFFFF0000000000007
8037 FFFFF000000000001FFFFFF000000000007FFFFFFFFFFFFF0007FFFFFFFFFFFFFF00FFFF
8038 FFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FFFF
8039 FFFFFFFFFFFF000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8040 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8041 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8042 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8043 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8044 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8045 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8046 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8047 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8048 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8049 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8050 FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000
8051 FFFFF0000000000000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
8052 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
8053 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
8054 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000
8055 FFFFF0000007E00000FFFFF0000007E00000FFFFF0000007E00000FFFFF000000FE00000
8056 7FFFF000000FC000007FFFF800000FC000007FFFF800000FC000003FFFF800000FC00000
8057 3FFFF800001F8000003FFFFC00001F8000001FFFFC00003F0000001FFFFE00003F000000
8058 0FFFFE00007E00000007FFFF00007E00000003FFFF0000FC00000001FFFF8001F8000000
8059 00FFFFE003F8000000007FFFF80FF0000000001FFFFFFFC00000000007FFFFFF80000000
8060 0001FFFFFF0000000000003FFFFC00000000000001FFE00000>67
8061 132 124 258 84 I<0000007FC000000000000FF8000000FFFFFFC00000001FFFFFF800
8062 00FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC00000
8063 1FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000FF
8064 FFFFFFC000001FFFFFFFF80000FFFFFFFFC000001FFFFFFFF80000003FFFFFC000000007
8065 FFFFF80000000FFFFFC000000001FFFFF800000007FFFFC000000000FFFFF800000003FF
8066 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
8067 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
8068 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
8069 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
8070 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
8071 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
8072 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
8073 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
8074 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
8075 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
8076 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
8077 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
8078 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
8079 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
8080 FFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFF
8081 F800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0
8082 000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800
8083 000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC00000
8084 00007FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF8000000
8085 03FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FFFFC000000000
8086 7FFFF800000003FFFFC0000000007FFFF800000003FFFFC0000000007FFFF800000003FF
8087 FFC000000000FFFFF800000003FFFFC000000000FFFFF800000003FFFFC000000000FFFF
8088 F800000003FFFFC000000000FFFFF800000003FFFFC000000001FFFFF800000003FFFFC0
8089 00000001FFFFF800000003FFFFC000000001FFFFF800000003FFFFC000000003FFFFF800
8090 000003FFFFC000000003FFFFF800000001FFFFC000000003BFFFF800000001FFFFC00000
8091 0007BFFFF800000001FFFFC0000000073FFFF800000001FFFFC00000000F3FFFF8000000
8092 00FFFFE00000001E3FFFF800000000FFFFE00000001E3FFFF8000000007FFFE00000003C
8093 3FFFF8000000007FFFE0000000783FFFF8000000003FFFE0000000F83FFFFC000000003F
8094 FFF0000001F03FFFFE000000001FFFF8000003E03FFFFF800000000FFFFC00000FC03FFF
8095 FFFFE0000007FFFF00003F803FFFFFFFE0000001FFFFE001FF003FFFFFFFE0000000FFFF
8096 FFFFFC003FFFFFFFE00000003FFFFFFFF8003FFFFFFFE000000007FFFFFFE0003FFFFFFF
8097 E000000000FFFFFF00003FFFFFFFE00000000007FFF800003FFFE000006B5E79DC78>I<
8098 FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000
8099 003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF80FFFF
8100 FFFFFFFC0000003FFFFFFF80FFFFFFFFFFFC0000003FFFFFFF800007FFFFC00000000000
8101 FFFF80000007FFFFE000000000001FF800000003FFFFE000000000000FE000000003FFFF
8102 F000000000000FE000000001FFFFF000000000000FC000000001FFFFF000000000001FC0
8103 00000000FFFFF800000000001F8000000000FFFFF800000000003F8000000000FFFFFC00
8104 000000003F80000000007FFFFC00000000003F00000000007FFFFE00000000007F000000
8105 00003FFFFE00000000007E00000000003FFFFE0000000000FE00000000001FFFFF000000
8106 0000FC00000000001FFFFF0000000001FC00000000001FFFFF8000000001FC0000000000
8107 0FFFFF8000000001F800000000000FFFFFC000000003F8000000000007FFFFC000000003
8108 F0000000000007FFFFC000000007F0000000000003FFFFE000000007E0000000000003FF
8109 FFE00000000FE0000000000003FFFFF00000000FE0000000000001FFFFF00000000FC000
8110 0000000001FFFFF80000001FC0000000000000FFFFF80000001F80000000000000FFFFF8
8111 0000003F800000000000007FFFFC0000003F000000000000007FFFFC0000007F00000000
8112 0000007FFFFE0000007F000000000000003FFFFE0000007E000000000000003FFFFF0000
8113 00FE000000000000001FFFFF000000FC000000000000001FFFFF000001FC000000000000
8114 000FFFFF800001F8000000000000000FFFFF800003F8000000000000000FFFFFC00003F8
8115 0000000000000007FFFFC00003F00000000000000007FFFFE00007F00000000000000003
8116 FFFFE00007E00000000000000003FFFFE0000FE00000000000000001FFFFF0000FC00000
8117 000000000001FFFFF0001FC00000000000000001FFFFF8001FC00000000000000000FFFF
8118 F8001F800000000000000000FFFFFC003F8000000000000000007FFFFC003F0000000000
8119 000000007FFFFC007F0000000000000000003FFFFE007E0000000000000000003FFFFE00
8120 FE0000000000000000003FFFFF00FE0000000000000000001FFFFF00FC00000000000000
8121 00001FFFFF81FC0000000000000000000FFFFF81F80000000000000000000FFFFF83F800
8122 000000000000000007FFFFC3F000000000000000000007FFFFC7F0000000000000000000
8123 07FFFFE7F000000000000000000003FFFFE7E000000000000000000003FFFFFFE0000000
8124 00000000000001FFFFFFC000000000000000000001FFFFFFC000000000000000000000FF
8125 FFFF8000000000000000000000FFFFFF8000000000000000000000FFFFFF800000000000
8126 00000000007FFFFF00000000000000000000007FFFFF00000000000000000000003FFFFE
8127 00000000000000000000003FFFFE00000000000000000000001FFFFC0000000000000000
8128 0000001FFFFC00000000000000000000001FFFFC00000000000000000000000FFFF80000
8129 0000000000000000000FFFF8000000000000000000000007FFF000000000000000000000
8130 0007FFF0000000000000000000000003FFE0000000000000000000000003FFE000000000
8131 0000000000000003FFE0000000000000000000000001FFC0000000000000000000000001
8132 FFC0000000000000000000000000FF80000000000000000000000000FF80000000000000
8133 0000000000007F000000000000000000000000007F000000000000000000000000007F00
8134 0000000000000000000000007E00000000000000000000000000FE000000000000000000
8135 00000000FC00000000000000000000000001FC00000000000000000000000001F8000000
8136 00000000000000000003F800000000000000000000000003F80000000000000000000000
8137 0003F000000000000000000000000007F000000000000000000000000007E00000000000
8138 000000000000000FE00000000000000000000000000FC00000000000000000000000001F
8139 C00000000000000000000000001FC00000000000000003F80000001F8000000000000000
8140 0FFE0000003F80000000000000001FFF0000003F00000000000000003FFF8000007F0000
8141 0000000000007FFFC000007E00000000000000007FFFC00000FE0000000000000000FFFF
8142 E00000FC0000000000000000FFFFE00001FC0000000000000000FFFFE00001F800000000
8143 00000000FFFFE00003F80000000000000000FFFFE00007F00000000000000000FFFFE000
8144 07E00000000000000000FFFFE0000FE000000000000000007FFFC0001FC0000000000000
8145 00007FFFC0003F8000000000000000007FFF80007F0000000000000000003FFF0000FE00
8146 00000000000000003FFE0003FE0000000000000000001FF80007F8000000000000000000
8147 0FF8001FF000000000000000000007FF00FFE000000000000000000003FFFFFFC0000000
8148 00000000000000FFFFFF00000000000000000000007FFFFC00000000000000000000001F
8149 FFF0000000000000000000000001FF800000000000000000000069857CDB72>121
8150 D E
8151 %EndDVIPSBitmapFont
8152 %DVIPSBitmapFont: Fn ecrm1200 12 32
8153 /Fn 32 122 df<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000
8154 E000C000C000C001C0018003800300070006000E001C003800700060000B1D78891B>44
8155 D<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A067F9721>I<1E007F80
8156 7F80FFC0FFC0FFC0FFC07F807F801E000A0A78891B>I<0000FF00000007FFE000001F81
8157 F800003E007C0000FC003F0001F8001F8001F0000F8003E00007C007C00003E007C00003
8158 E00FC00003F00F800001F01F800001F81F800001F83F800001FC3F800001FC3F800001FC
8159 3F000000FC7F000000FE7F000000FE7F000000FE7F000000FE7F000000FEFF000000FFFF
8160 000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF00
8161 0000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF0000
8162 00FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FF7F000000
8163 FE7F000000FE7F000000FE7F000000FE7F000000FE7F800001FE3F800001FC3F800001FC
8164 3F800001FC1F800001F81F800001F80FC00003F00FC00003F00FC00003F007E00007E003
8165 E00007C003F0000FC001F8001F8000FC003F00003E007C00001F81F8000007FFE0000000
8166 FF000028447CC131>48 D<000030000000F0000001F0000003F000001FF00000FFF000FF
8167 FFF000FFE7F000FF07F0000007F0000007F0000007F0000007F0000007F0000007F00000
8168 07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
8169 07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
8170 07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
8171 07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
8172 07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
8173 07F000000FF800001FFC007FFFFFFF7FFFFFFF7FFFFFFF204278C131>I<0003FE000000
8174 1FFFC000007FFFF00001F80FFC0003C001FE00078000FF000E00007F801C00003FC01C00
8175 001FE03800001FF03000000FF07000000FF860000007F86C000007F8FF000007FCFF8000
8176 07FCFFC00007FCFFC00003FCFFC00003FCFFC00003FCFFC00003FC7F800007FC3F000007
8177 FC00000007FC00000007F800000007F80000000FF80000000FF00000001FF00000001FE0
8178 0000001FE00000003FC00000007F800000007F00000000FF00000000FE00000001FC0000
8179 0003F800000007F000000007E00000000FC00000001F800000003F000000007C00000000
8180 F800000000F000000001E000000003C000000007800000000F00000C001E00000C003C00
8181 000C0038000018007000001800E000001801C0000018038000003807000000300E000000
8182 701FFFFFFFF01FFFFFFFF03FFFFFFFF07FFFFFFFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0
8183 26427BC131>I<06000000C007C00007C007FC007F8007FFFFFF0007FFFFFE0007FFFFFC
8184 0007FFFFF80007FFFFE00007FFFF8000063FFC0000060000000006000000000600000000
8185 060000000006000000000600000000060000000006000000000600000000060000000006
8186 000000000600000000060000000006000000000600FF00000607FFC000061F01F0000638
8187 00FC0006F0007E0007C0003F000780001F800780001FC00700000FC00600000FE0000000
8188 07F000000007F000000007F000000007F800000003F800000003F800000003FC00000003
8189 FC00000003FC00000003FC00000003FC3E000003FC7F000003FCFF800003FCFF800003FC
8190 FF800003FCFF800003FCFF800003F8FF000007F8FE000007F860000007F060000007F070
8191 00000FF03000000FE03800001FC01C00001FC01E00003F800F00007F00078000FE0003C0
8192 01FC0001F807F000007FFFE000001FFF00000007F8000026447BC131>53
8193 D<1C00000000001C00000000001F80000000001FFFFFFFFFC01FFFFFFFFFC01FFFFFFFFF
8194 C03FFFFFFFFF803FFFFFFFFF803FFFFFFFFF003FFFFFFFFE00380000000C00300000001C
8195 0070000000380060000000300060000000700060000000E00060000000C000C0000001C0
8196 00C00000038000C000000700000000000600000000000E00000000001C00000000001800
8197 00000000380000000000700000000000600000000000E00000000001C00000000001C000
8198 0000000380000000000780000000000700000000000F00000000000F00000000001F0000
8199 0000001E00000000003E00000000003E00000000007E00000000007C00000000007C0000
8200 000000FC0000000000FC0000000001FC0000000001FC0000000001FC0000000003F80000
8201 000003F80000000003F80000000003F80000000007F80000000007F80000000007F80000
8202 000007F80000000007F80000000007F8000000000FF8000000000FF8000000000FF80000
8203 00000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80000
8204 00000FF80000000007F00000000001C00000002A457BC231>55 D<FFFFFFFFFF000000FF
8205 FFFFFFFFE00000FFFFFFFFFFFC000001FFC00003FF0000007F800000FF8000007F800000
8206 3FC000007F8000001FE000007F8000000FF000007F80000007F800007F80000007FC0000
8207 7F80000003FC00007F80000003FE00007F80000001FE00007F80000001FF00007F800000
8208 01FF00007F80000001FF00007F80000001FF00007F80000001FF00007F80000001FF0000
8209 7F80000001FF00007F80000001FE00007F80000001FE00007F80000003FE00007F800000
8210 03FC00007F80000007FC00007F80000007F800007F8000000FF000007F8000001FE00000
8211 7F8000007FC000007F800000FF0000007F800003FE0000007F80003FF00000007FFFFFFF
8212 E00000007FFFFFFFFC0000007F800000FF8000007F8000001FC000007F8000000FF00000
8213 7F80000007F800007F80000003FC00007F80000001FE00007F80000000FF00007F800000
8214 00FF80007F800000007F80007F800000007FC0007F800000007FC0007F800000003FC000
8215 7F800000003FE0007F800000003FE0007F800000003FE0007F800000003FE0007F800000
8216 003FE0007F800000003FE0007F800000003FE0007F800000003FE0007F800000007FC000
8217 7F800000007FC0007F800000007F80007F80000000FF80007F80000001FF00007F800000
8218 01FF00007F80000003FE00007F8000000FFC00007F8000001FF800007F8000007FE00001
8219 FFC00003FFC000FFFFFFFFFFFF0000FFFFFFFFFFFC0000FFFFFFFFFFC000003B447CC345
8220 >66 D<0000000FFE000060000000FFFFC000E0000003FFFFF000E000000FFC01FC01E000
8221 003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8000001E7E0000FF00000
8222 00FFE0001FE00000007FE0003FC00000003FE0007F800000001FE000FF000000000FE001
8223 FE000000000FE001FC0000000007E003FC0000000007E007F80000000003E007F8000000
8224 0003E00FF00000000001E00FF00000000001E01FE00000000000E01FE00000000000E03F
8225 E00000000000E03FE00000000000E03FC00000000000607FC00000000000607FC0000000
8226 0000607FC00000000000607FC0000000000000FF80000000000000FF80000000000000FF
8227 80000000000000FF80000000000000FF80000000000000FF80000000000000FF80000000
8228 000000FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF
8229 80000000000000FF80000000000000FF800000000000007FC00000000000007FC0000000
8230 0000007FC00000000000607FC00000000000603FC00000000000603FE00000000000603F
8231 E00000000000601FE00000000000E01FF00000000000E00FF00000000000C00FF0000000
8232 0000C007F80000000001C007F800000000018003FC00000000038001FC00000000038001
8233 FE00000000070000FF000000000600007F800000000E00003FC00000001C00001FE00000
8234 003800000FF000000078000007F8000000F0000003FC000001E0000000FF000007800000
8235 003FC0001F000000000FFC00FC0000000003FFFFF00000000000FFFFC000000000000FFE
8236 0000003B487BC546>I<FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF001FFC00000
8237 7FF0007F8000000FF8007F80000003F8007F80000001F8007F80000000F8007F80000000
8238 78007F8000000038007F8000000038007F800000001C007F800000001C007F800000001C
8239 007F800000000C007F800000000C007F800000000C007F800000000C007F800000000E00
8240 7F8000000006007F80000C0006007F80000C0006007F80000C0000007F80000C0000007F
8241 80000C0000007F80000C0000007F80000C0000007F80001C0000007F80001C0000007F80
8242 003C0000007F80007C0000007F8001FC0000007FFFFFFC0000007FFFFFFC0000007FFFFF
8243 FC0000007F8001FC0000007F80007C0000007F80003C0000007F80001C0000007F80001C
8244 0000007F80000C0000007F80000C0000007F80000C0000007F80000C0000007F80000C00
8245 00007F80000C0000007F80000C0000007F8000000000007F8000000000007F8000000000
8246 007F8000000000007F8000000000007F8000000000007F8000000000007F800000000000
8247 7F8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F
8248 8000000000007F8000000000007F8000000000007FC00000000001FFE000000000FFFFFF
8249 F8000000FFFFFFF8000000FFFFFFF800000037447CC340>70 D<0000000FFE0000600000
8250 0000FFFFC000E000000003FFFFF000E00000000FFC01FC01E00000003FC0003E01E00000
8251 00FF00000F83E0000003FC000003C7E0000007F8000001E7E000000FF0000000FFE00000
8252 1FE00000007FE000003FC00000003FE000007F800000001FE00000FF000000000FE00001
8253 FE000000000FE00001FC0000000007E00003FC0000000007E00007F80000000003E00007
8254 F80000000003E0000FF00000000001E0000FF00000000001E0001FE00000000000E0001F
8255 E00000000000E0003FE00000000000E0003FE00000000000E0003FC0000000000060007F
8256 C0000000000060007FC0000000000060007FC0000000000060007FC000000000000000FF
8257 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF
8258 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF
8259 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF
8260 8000000000000000FF80000001FFFFFFC07FC0000001FFFFFFC07FC0000001FFFFFFC07F
8261 C0000000007FF0007FC0000000003FE0003FC0000000001FE0003FE0000000001FE0003F
8262 E0000000001FE0001FE0000000001FE0001FF0000000001FE0000FF0000000001FE0000F
8263 F0000000001FE00007F8000000001FE00007F8000000001FE00003FC000000001FE00001
8264 FE000000001FE00001FE000000001FE00000FF000000001FE000007F800000001FE00000
8265 3FC00000003FE000001FE00000003FE000000FF00000007FE0000007F8000000E7E00000
8266 03FE000001C7E0000000FF00000383E00000003FE0000F01E00000000FFC00FE00E00000
8267 0003FFFFF8006000000000FFFFE00000000000000FFE0000000042487BC54D>I<FFFFFF
8268 F0FFFFFFF0FFFFFFF000FFF000007FE000003FC000003FC000003FC000003FC000003FC0
8269 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
8270 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
8271 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
8272 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
8273 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
8274 00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000007FE0
8275 0000FFF000FFFFFFF0FFFFFFF0FFFFFFF01C447DC323>73 D<3FFFFFFFFFFFFFF83FFFFF
8276 FFFFFFFFF83FFFFFFFFFFFFFF83FF0001FF8001FF83F80000FF00003F83E00000FF00000
8277 F87C00000FF000007C7800000FF000003C7800000FF000003C7000000FF000001C700000
8278 0FF000001C7000000FF000001C6000000FF000000C6000000FF000000C6000000FF00000
8279 0C6000000FF000000C6000000FF000000CC000000FF0000006C000000FF0000006C00000
8280 0FF0000006C000000FF0000006C000000FF00000060000000FF00000000000000FF00000
8281 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
8282 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
8283 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
8284 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
8285 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
8286 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
8287 000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000000
8288 0FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00000
8289 000000000FF00000000000000FF00000000000000FF00000000000001FF8000000000000
8290 7FFE0000000001FFFFFFFF80000001FFFFFFFF80000001FFFFFFFF80003F447DC346>84
8291 D<FFFFFFC0000FFFFFFFFFFFC0000FFFFFFFFFFFC0000FFFFF01FFE0000000FFF0007F80
8292 0000001F80007F800000000F00007F800000000F00007F800000000600007F8000000006
8293 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
8294 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
8295 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
8296 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
8297 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
8298 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
8299 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
8300 0000000600007F800000000600007F800000000600007F800000000600007F8000000006
8301 00007F800000000600007F800000000600007F800000000600007F800000000600007F80
8302 0000000600007F800000000E00003FC00000000C00003FC00000000C00003FC00000001C
8303 00001FC00000001C00001FE00000001800000FE00000003800000FE000000030000007F0
8304 00000070000007F0000000E0000003F8000001E0000001FC000001C0000000FE00000780
8305 0000007F00000F000000003F80001E000000001FE0007C0000000007FC03F00000000001
8306 FFFFE000000000007FFF80000000000007FC00000040467CC349>I<0007FC000000003F
8307 FF80000000F80FE0000003C003F00000070001F800000E0000FC00000FC0007E00001FE0
8308 007F00001FF0003F80001FF0003F80001FF0003F80001FF0001FC0001FF0001FC0000FE0
8309 001FC0000380001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000
8310 0FFFC0000001FFFFC000000FFE1FC000003FC01FC00000FF001FC00003FC001FC00007F8
8311 001FC0000FF0001FC0001FE0001FC0003FC0001FC0007FC0001FC0007F80001FC0007F80
8312 001FC060FF00001FC060FF00001FC060FF00001FC060FF00003FC060FF00003FC060FF00
8313 003FC060FF80007FC0607F8000EFC0607FC000C7E0C03FC001C7E0C01FE00783F1C007F8
8314 1E03FF8001FFFC01FF00001FE0007C002B2E7CAC31>97 D<00007F80000003FFF000000F
8315 C07C00003F000F0000FC00038001F80001C003F8000FC007F0001FE007E0003FE00FE000
8316 3FE01FC0003FE01FC0003FE03F80003FE03F80001FC07F800007007F800000007F800000
8317 007F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000
8318 FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F800000007F
8319 800000003F800000003F800000303FC00000301FC00000700FE00000600FE00000E007F0
8320 0000C003F80001C001F800038000FC000700003F001E00001FC078000007FFF0000000FF
8321 8000242E7DAC2B>99 D<0001FE00000007FFC000001F03F000007E00FC0000FC007E0001
8322 F8003F0003F0003F0007E0001F800FE0001FC00FC0000FC01FC0000FC03F80000FE03F80
8323 0007E03F800007E07F800007F07F000007F07F000007F0FF000007F0FF000007F0FF0000
8324 07F0FFFFFFFFF0FFFFFFFFF0FF00000000FF00000000FF00000000FF00000000FF000000
8325 00FF000000007F000000007F000000007F800000007F800000003F800000003F80000030
8326 1FC00000301FC00000700FC00000600FE00000E007F00000C003F00001C001F800038000
8327 FC000700003E001E00001F80F8000003FFE0000000FF0000242E7DAC2B>101
8328 D<00000FE00000007FF8000001F81E000003F03F00000FE07F80001FC0FF80001F80FF80
8329 003F80FF80007F00FF80007F00FF80007F007F0000FE001C0000FE00000000FE00000000
8330 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
8331 00000000FE00000000FE00000000FE00000000FE00000000FE000000FFFFFF8000FFFFFF
8332 8000FFFFFF800000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
8333 0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
8334 00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
8335 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
8336 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
8337 000000FE00000001FF8000007FFFFF00007FFFFF00007FFFFF000021467EC51E>I<0000
8338 00000F800001FC007FE0000FFF81F0F0003F07E381F000FC01FF03F001F800FE01F003F0
8339 007E01E007F0007F000007E0003F00000FE0003F80000FC0001F80001FC0001FC0001FC0
8340 001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0
8341 001FC0001FC0001FC0000FC0001F80000FE0003F800007E0003F000007F0007F000003F0
8342 007E000001F800FC000001FC01F8000003BF07E00000030FFF8000000701FC0000000700
8343 000000000700000000000F00000000000F00000000000F00000000000F800000000007C0
8344 0000000007E00000000007FFFFF8000003FFFFFF000003FFFFFFE00001FFFFFFF800007F
8345 FFFFFC0001FFFFFFFE0007C0000FFF000F800000FF003F0000003F803E0000001F807C00
8346 00000FC07C0000000FC0F800000007C0F800000007C0F800000007C0F800000007C0F800
8347 000007C0FC0000000FC07C0000000F807E0000001F803E0000001F001F0000003E000F80
8348 00007C0007E00001F80001F80007E000007F003F8000001FFFFE00000001FFE000002C42
8349 7DAC31>I<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003
8350 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
8351 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
8352 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
8353 FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07F00001FC3801F80001
8354 FC7001FC0001FCE000FC0001FDC000FE0001FD8000FE0001FF80007F0001FF00007F0001
8355 FF00007F0001FE00007F0001FE00007F0001FE00007F0001FC00007F0001FC00007F0001
8356 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
8357 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
8358 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001
8359 FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0003
8360 FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F457DC436>I<01E00007F800
8361 07F8000FFC000FFC000FFC000FFC0007F80007F80001E000000000000000000000000000
8362 00000000000000000000000000000000000000000000000000000001FC00FFFC00FFFC00
8363 FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
8364 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
8365 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
8366 01FC0003FE00FFFFF8FFFFF8FFFFF815437DC21C>I<01FC00000000FFFC00000000FFFC
8367 00000000FFFC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC
8368 0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
8369 0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
8370 0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
8371 001FFFE001FC001FFFE001FC001FFFE001FC000FFF0001FC0007F80001FC0007E00001FC
8372 0007C00001FC0007800001FC000E000001FC001C000001FC0038000001FC0070000001FC
8373 00E0000001FC01C0000001FC0380000001FC0700000001FC0F00000001FC3F80000001FC
8374 7FC0000001FCFFC0000001FDCFE0000001FF8FF0000001FF07F0000001FE03F8000001FC
8375 03FC000001FC01FC000001FC00FE000001FC00FF000001FC007F000001FC003F800001FC
8376 003FC00001FC001FC00001FC000FE00001FC000FF00001FC0007F00001FC0007F80001FC
8377 0003FC0001FC0003FE0001FC0003FF0003FE0007FF80FFFFF81FFFF8FFFFF81FFFF8FFFF
8378 F81FFFF82D457DC433>107 D<01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC
8379 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
8380 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
8381 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
8382 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC
8383 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFF
8384 F8FFFFF815457DC41C>I<01FC00FF00001FE00000FFFC07FFE000FFFC0000FFFC0F03F8
8385 01E07F0000FFFC3C01FC07803F800007FC7000FE0E001FC00003FCE0007E1C000FC00001
8386 FDC0007F38000FE00001FD80007F30000FE00001FF80003FF00007F00001FF00003FE000
8387 07F00001FF00003FE00007F00001FE00003FC00007F00001FE00003FC00007F00001FE00
8388 003FC00007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F0
8389 0001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F
8390 800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001
8391 FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F8000
8392 07F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00
8393 003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F0
8394 0001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F
8395 800007F00001FC00003F800007F00003FE00007FC0000FF800FFFFF81FFFFF03FFFFE0FF
8396 FFF81FFFFF03FFFFE0FFFFF81FFFFF03FFFFE04B2C7DAB52>I<01FC01FE0000FFFC07FF
8397 C000FFFC1E07F000FFFC3801F80007FC7001FC0003FCE000FC0001FDC000FE0001FD8000
8398 FE0001FF80007F0001FF00007F0001FF00007F0001FE00007F0001FE00007F0001FE0000
8399 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
8400 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
8401 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
8402 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000
8403 7F0001FC00007F0001FC00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83F
8404 FFFE2F2C7DAB36>I<00007F8000000003FFF00000000FC0FC0000003E001F0000007C00
8405 0F800000F80007C00001F00003E00003E00001F00007C00000F8000FC00000FC000FC000
8406 00FC001F8000007E003F8000007F003F8000007F003F0000003F007F0000003F807F0000
8407 003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF0000
8408 003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000
8409 003FC07F0000003F807F0000003F807F8000007F803F8000007F003F8000007F001F8000
8410 007E001FC00000FE000FC00000FC000FE00001FC0007E00001F80003F00003F00001F800
8411 07E00000FC000FC000003E001F0000001FC0FE00000007FFF8000000007F8000002A2E7D
8412 AC31>I<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0FF03F9C0FF01F980FF01FB80FF
8413 01FB007E01FB003C01FF000001FE000001FE000001FE000001FE000001FC000001FC0000
8414 01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0000
8415 01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0000
8416 01FC000001FC000001FC000001FC000001FC000003FF0000FFFFFE00FFFFFE00FFFFFE00
8417 202C7DAB26>114 D<003FE01801FFFC3807E01F780F0003F81E0001F83C0000F87C0000
8418 7878000078F8000038F8000038F8000018F8000018FC000018FC000018FE000018FF8000
8419 007FC000007FFC00003FFFE0001FFFFC000FFFFF0007FFFFC003FFFFE000FFFFF0001FFF
8420 F80000FFF800000FFC000003FCC00001FEC00000FEC000007EE000007EE000003EE00000
8421 3EF000003EF000003EF000003EF800003CFC00007CFC000078FE0000F8FF0001F0F38003
8422 E0F1F00F80E07FFE00C00FF0001F2E7DAC26>I<00060000000600000006000000060000
8423 00060000000E0000000E0000000E0000000E0000001E0000001E0000001E0000003E0000
8424 007E0000007E000000FE000001FE000007FE00001FFFFFF0FFFFFFF0FFFFFFF000FE0000
8425 00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
8426 00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
8427 00FE000000FE000000FE000000FE000C00FE000C00FE000C00FE000C00FE000C00FE000C
8428 00FE000C00FE000C00FE000C00FE000C007E001C007F0018007F0018003F0038001F8030
8429 001FC0700007E0E00001FFC000007F001E3E7EBC26>I<FFFFF001FFFCFFFFF001FFFCFF
8430 FFF001FFFC07FF00007FE003FE00001F8001FE00001F0001FE00000E0000FE00000E0000
8431 FE00000C00007F00001800007F00001800007F80001800003F80003000003F8000300000
8432 3FC0007000001FC0006000001FE0006000000FE000C000000FE000C000000FF001C00000
8433 07F00180000007F00180000003F80300000003F80300000003FC0700000001FC06000000
8434 01FC0600000000FE0C00000000FE0C00000000FF0C000000007F18000000007F18000000
8435 007FB8000000003FB0000000003FF0000000001FE0000000001FE0000000001FE0000000
8436 000FC0000000000FC000000000078000000000078000000000078000000000030000002E
8437 2C7EAA33>118 D<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC07FF00007FE003FE0000
8438 1F8001FE00001F0001FE00000E0000FE00000C0000FF00001C00007F00001800007F0000
8439 1800007F80003800003F80003000003F80003000001FC0006000001FC0006000001FE000
8440 E000000FE000C000000FE000C0000007F00180000007F00180000007F80380000003F803
8441 00000003F80300000001FC0600000001FC0600000001FE0E00000000FE0C00000000FE0C
8442 000000007F18000000007F18000000007FB8000000003FB0000000003FB0000000001FE0
8443 000000001FE0000000001FE0000000000FC0000000000FC0000000000780000000000780
8444 000000000780000000000300000000000300000000000600000000000600000000000600
8445 000000000C00000000000C0000000000180000000000180000003C00180000007E003000
8446 0000FF0030000000FF0060000000FF0060000000FF00C0000000FE01C00000007C038000
8447 00007007000000003C1E000000000FFC0000000003F0000000002E3F7EAA33>121
8448 D E
8449 %EndDVIPSBitmapFont
8450 %DVIPSBitmapFont: Fo ecrm1728 17.28 12
8451 /Fo 12 117 df<0F003FC07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F000C0C748B25
8452 >46 D<000003FF00000000001FFFE0000000007FFFF800000001FE01FE00000003F8007F
8453 0000000FE0001FC000001FC0000FE000003F000003F000007F000003F800007E000001F8
8454 0000FC000000FC0001F80000007E0001F80000007E0003F00000003F0003F00000003F00
8455 07F00000003F8007E00000001F800FE00000001FC00FE00000001FC00FE00000001FC01F
8456 C00000000FE01FC00000000FE01FC00000000FE03FC00000000FF03FC00000000FF03FC0
8457 0000000FF03FC00000000FF07FC00000000FF87F8000000007F87F8000000007F87F8000
8458 000007F87F8000000007F87F8000000007F87F8000000007F87F8000000007F8FF800000
8459 0007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF80000000
8460 07FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007
8461 FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FC
8462 FF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF
8463 8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF80
8464 00000007FC7F8000000007F87F8000000007F87F8000000007F87F8000000007F87FC000
8465 00000FF87FC00000000FF87FC00000000FF83FC00000000FF03FC00000000FF03FC00000
8466 000FF03FC00000000FF01FC00000000FE01FE00000001FE01FE00000001FE01FE0000000
8467 1FE00FE00000001FC00FE00000001FC007F00000003F8007F00000003F8003F00000003F
8468 0003F80000007F0001F80000007E0001FC000000FE0000FC000000FC0000FE000001FC00
8469 007F000003F800003F800007F000001FC0000FE000000FE0001FC0000007F8007F800000
8470 01FE01FE000000007FFFF8000000001FFFE00000000003FF00000036607ADD43>48
8471 D<000001C00000000003C00000000007C0000000000FC0000000003FC0000000007FC000
8472 000001FFC00000000FFFC0000000FFFFC00000FFFFFFC00000FFFE7FC00000FFF07FC000
8473 00FF007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8474 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8475 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8476 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8477 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8478 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8479 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8480 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8481 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8482 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8483 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8484 0000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC000
8485 0000007FC0000000007FC0000000007FC000000000FFE000000000FFE000000007FFFC00
8486 00FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02B5E73DD43>I<00000000
8487 00F000000000000000F000000000000001F000000000000003F000000000000003F00000
8488 0000000007F00000000000000FF00000000000000FF00000000000001FF0000000000000
8489 1FF00000000000003FF00000000000007FF00000000000007FF0000000000000FFF00000
8490 00000000FFF0000000000001DFF0000000000003DFF00000000000039FF0000000000007
8491 9FF00000000000071FF000000000000E1FF000000000001E1FF000000000001C1FF00000
8492 0000003C1FF00000000000781FF00000000000701FF00000000000F01FF00000000000E0
8493 1FF00000000001E01FF00000000003C01FF00000000003801FF00000000007801FF00000
8494 000007001FF0000000000E001FF0000000001E001FF0000000001C001FF0000000003C00
8495 1FF00000000078001FF00000000070001FF000000000F0001FF000000000E0001FF00000
8496 0001E0001FF000000003C0001FF00000000380001FF00000000780001FF0000000070000
8497 1FF00000000E00001FF00000001E00001FF00000001C00001FF00000003C00001FF00000
8498 003800001FF00000007000001FF0000000F000001FF0000000E000001FF0000001E00000
8499 1FF0000003C000001FF00000038000001FF00000078000001FF00000070000001FF00000
8500 0F0000001FF000001E0000001FF000001C0000001FF000003C0000001FF0000038000000
8501 1FF00000700000001FF00000F00000001FF00000FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0
8502 FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0000000001FF00000000000001FF0000000000000
8503 1FF00000000000001FF00000000000001FF00000000000001FF00000000000001FF00000
8504 000000001FF00000000000001FF00000000000001FF00000000000001FF0000000000000
8505 1FF00000000000001FF00000000000001FF00000000000001FF00000000000001FF00000
8506 000000001FF00000000000001FF00000000000001FF00000000000003FF8000000000000
8507 FFFE0000000003FFFFFFFF80000003FFFFFFFF80000003FFFFFFFF80000003FFFFFFFF80
8508 3A5F7CDE43>52 D<00000007FE00000000003FFFC000000000FFFFF000000003FFFFFC00
8509 00000FFC01FE0000003FE0003F0000007F80000F800000FF000007800001FC000003C000
8510 03F8000005C00007F000003FE0000FE000007FE0001FE00000FFE0003FC00000FFE0003F
8511 800000FFE0007F000000FFE000FF000000FFE000FE000000FFE001FE0000007FC001FC00
8512 00003F8003FC000000000003FC000000000007F8000000000007F800000000000FF80000
8513 0000000FF000000000001FF000000000001FF000000000001FF000000000003FE0000000
8514 00003FE000000000003FE000000000003FE000000000007FE000080000007FE001FFE000
8515 007FE007FFFC00007FC01FFFFF00007FC07C003F80007FC0F0001FE000FFC1E00007F000
8516 FFC3C00003F800FFC3800003FC00FFC7000001FE00FFCE000000FE00FFCE0000007F00FF
8517 DC0000007F80FFDC0000003F80FFD80000003FC0FFF80000003FE0FFF00000001FE0FFF0
8518 0000001FF0FFF00000001FF0FFE00000001FF0FFE00000001FF8FFE00000000FF8FFE000
8519 00000FF8FFE00000000FF8FFE00000000FFCFFC00000000FFCFFC00000000FFCFFC00000
8520 000FFC7FC00000000FFC7FC00000000FFC7FC00000000FFC7FC00000000FFC7FC0000000
8521 0FFC7FC00000000FFC7FE00000000FFC3FE00000000FFC3FE00000000FFC3FE00000000F
8522 FC3FE00000000FFC1FE00000000FF81FE00000000FF81FE00000000FF81FF00000001FF8
8523 0FF00000001FF00FF00000001FF007F00000001FF007F80000003FE007F80000003FE003
8524 F80000003FC003FC0000007F8001FC0000007F8000FE000000FF0000FF000001FE00007F
8525 000001FC00003F800003FC00001FC00007F800000FE0000FF0000007F8003FC0000003FE
8526 01FF80000000FFFFFF000000007FFFFC000000000FFFF00000000001FF00000036607ADD
8527 43>54 D<000007FF0000030000003FFFF00007000001FFFFFC0007000007FFFFFF000F00
8528 000FFC00FFC00F00003FE0000FF01F00007F800003F81F0000FE000000FC3F0001FC0000
8529 007E3F0003F80000001F7F0007F00000000FFF000FE000000007FF000FC000000007FF00
8530 1FC000000003FF001F8000000001FF003F8000000000FF003F0000000000FF007F000000
8531 00007F007F00000000007F007E00000000003F007E00000000003F00FE00000000003F00
8532 FE00000000001F00FE00000000001F00FE00000000001F00FE00000000000F00FE000000
8533 00000F00FF00000000000F00FF00000000000F00FF00000000000F00FF80000000000700
8534 FF800000000007007FC00000000007007FC00000000007007FE00000000000003FF00000
8535 000000003FF80000000000003FFC0000000000001FFE0000000000001FFF800000000000
8536 0FFFE0000000000007FFFC000000000007FFFFC00000000003FFFFF80000000001FFFFFF
8537 8000000000FFFFFFF8000000007FFFFFFF800000001FFFFFFFE00000000FFFFFFFF80000
8538 0003FFFFFFFE00000000FFFFFFFF800000001FFFFFFFC000000001FFFFFFE0000000003F
8539 FFFFF00000000003FFFFF800000000003FFFFC000000000003FFFE0000000000007FFE00
8540 00000000001FFF0000000000000FFF80000000000003FF80000000000001FFC000000000
8541 0000FFC0000000000000FFC00000000000007FE00000000000003FE00000000000003FE0
8542 0000000000001FE0E000000000001FF0E000000000000FF0E000000000000FF0E0000000
8543 00000FF0E000000000000FF0E0000000000007F0E0000000000007F0F0000000000007F0
8544 F0000000000007F0F0000000000007F0F0000000000007F0F8000000000007F0F8000000
8545 000007E0F800000000000FE0FC00000000000FE0FC00000000000FC0FE00000000000FC0
8546 FF00000000001FC0FF00000000001F80FF80000000003F80FFC0000000003F00FFE00000
8547 00007F00FFF000000000FE00FEF800000000FC00FEFC00000001F800FC7F00000003F800
8548 FC1F8000000FF000F80FE000001FE000F807FC00007F8000F001FFE003FF0000F0007FFF
8549 FFFC0000E0001FFFFFF00000E00003FFFFC00000C000001FFE0000003C6679E34B>83
8550 D<FFFFFFFC00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFFC00000000007FFF
8551 FFFFFFFFFC00000000007FFFFF00FFFF8000000000000FFFF0003FFE00000000000003FF
8552 80003FFC00000000000001FE00001FFC00000000000001FC00001FFC00000000000000F8
8553 00000FFC00000000000000F800000FFE00000000000000F0000007FE00000000000000E0
8554 000007FF00000000000000E0000003FF00000000000001C0000003FF00000000000001C0
8555 000003FF80000000000001C0000001FF8000000000000380000001FF8000000000000380
8556 000001FFC000000000000780000000FFC000000000000700000000FFE000000000000700
8557 0000007FE000000000000E000000007FE000000000000E000000007FF000000000001E00
8558 0000003FF000000000001C000000003FF800000000001C000000003FF800000000003C00
8559 0000001FF8000000000038000000001FFC000000000038000000000FFC00000000007000
8560 0000000FFC000000000070000000000FFE0000000000F00000000007FE0000000000E000
8561 00000007FF0000000000E00000000007FF0000000001E00000000003FF0000000001C000
8562 00000003FF8000000001C00000000001FF8000000003800000000001FF80000000038000
8563 00000001FFC000000007800000000000FFC000000007000000000000FFE0000000070000
8564 000000007FE00000000E0000000000007FE00000000E0000000000007FF00000000E0000
8565 000000003FF00000001C0000000000003FF80000001C0000000000003FF80000003C0000
8566 000000001FF8000000380000000000001FFC000000380000000000000FFC000000700000
8567 000000000FFC000000700000000000000FFE000000F000000000000007FE000000E00000
8568 0000000007FF000000E000000000000007FF000001E000000000000003FF000001C00000
8569 0000000003FF800001C000000000000001FF8000038000000000000001FF800003800000
8570 0000000001FFC000078000000000000000FFC000070000000000000000FFE00007000000
8571 00000000007FE0000E00000000000000007FE0000E00000000000000007FF0000E000000
8572 00000000003FF0001C00000000000000003FF0001C00000000000000003FF8003C000000
8573 00000000001FF8003800000000000000001FFC003800000000000000000FFC0070000000
8574 00000000000FFC007000000000000000000FFE00F0000000000000000007FE00E0000000
8575 000000000007FF00E0000000000000000007FF01E0000000000000000003FF01C0000000
8576 000000000003FF81C0000000000000000001FF8380000000000000000001FF8380000000
8577 000000000001FFC780000000000000000000FFC700000000000000000000FFE700000000
8578 0000000000007FEE000000000000000000007FEE000000000000000000007FFE00000000
8579 0000000000003FFC000000000000000000003FFC000000000000000000003FFC00000000
8580 0000000000001FF8000000000000000000001FF8000000000000000000000FF000000000
8581 0000000000000FF0000000000000000000000FF00000000000000000000007E000000000
8582 00000000000007E00000000000000000000007E00000000000000000000003C000000000
8583 00000000000003C0000000000060647EE165>86 D<00003FE0000000000003FFFE000000
8584 00000FFFFF80000000003FC03FE0000000007C000FF800000000F00003FC00000001E000
8585 01FE00000003C00000FF000000078000007F8000000F0000003FC000000F8000003FC000
8586 000FF000001FE000001FF800001FE000001FFC00000FF000001FFC00000FF000001FFC00
8587 000FF000001FFC000007F800001FFC000007F800001FFC000007F800000FF8000007F800
8588 0003E0000007F800000000000007F800000000000007F800000000000007F80000000000
8589 0007F800000000000007F800000000000007F80000000000007FF800000000007FFFF800
8590 0000000FFFFFF8000000007FF807F800000001FF8007F800000007FC0007F80000001FF0
8591 0007F80000007FC00007F8000000FF800007F8000003FE000007F8000007FC000007F800
8592 000FFC000007F800000FF8000007F800001FF0000007F800003FE0000007F800003FE000
8593 0007F800007FC0000007F801C07FC0000007F801C07FC0000007F801C0FFC0000007F801
8594 C0FF80000007F801C0FF80000007F801C0FF8000000FF801C0FF8000000FF801C0FF8000
8595 000FF801C0FF8000001FF801C0FFC000001BF801C07FC000003BF801C07FC0000073F801
8596 C07FE0000073F801803FF00000E1FC03801FF00003C1FC03800FF8000780FE070007FE00
8597 0F00FF0F0001FF807C007FFE00007FFFF8003FFC00001FFFE0001FF8000003FF000007E0
8598 003A4179BF43>97 D<000003FE00000000001FFFE000000000FFFFF800000001FE03FE00
8599 000007F0007F8000000FE0003FC000003FC0001FE000007F00000FF00000FF000007F800
8600 00FE000003F80001FC000003FC0003F8000001FC0007F8000001FE0007F0000000FE000F
8601 F0000000FF000FF00000007F001FE00000007F001FE00000007F803FE00000007F803FC0
8602 0000003F803FC00000003F807FC00000003FC07FC00000003FC07FC00000003FC07F8000
8603 00003FC07F800000003FC0FF800000003FC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFF
8604 FFFFC0FF800000000000FF800000000000FF800000000000FF800000000000FF80000000
8605 0000FF800000000000FF800000000000FF800000000000FF8000000000007F8000000000
8606 007FC000000000007FC000000000007FC000000000003FC000000000003FC00000000000
8607 3FE000000000001FE000000000001FE000000001C00FF000000001C00FF000000003C007
8608 F8000000038007F8000000038003FC000000078001FC0000000F0001FE0000000E0000FF
8609 0000001E00007F8000003C00003FC000007800001FE00000F0000007F00003E0000003FC
8610 0007C0000000FF803F000000003FFFFC000000000FFFF00000000001FF80000032417BBF
8611 3C>101 D<0003C000000000000007FFC0000000000000FFFFC0000000000000FFFFC000
8612 0000000000FFFFC0000000000000FFFFC000000000000001FFC0000000000000007FC000
8613 0000000000007FC0000000000000003FC0000000000000003FC0000000000000003FC000
8614 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8615 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8616 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8617 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8618 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8619 0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
8620 0000000000003FC0000000000000003FC0007FE0000000003FC003FFFC000000003FC00F
8621 FFFF000000003FC03F00FFC00000003FC078001FE00000003FC0F0000FF00000003FC1C0
8622 0007F80000003FC3800007FC0000003FC7000003FC0000003FCE000003FE0000003FCE00
8623 0001FE0000003FDC000001FE0000003FD8000001FE0000003FF8000000FF0000003FF000
8624 0000FF0000003FF0000000FF0000003FF0000000FF0000003FE0000000FF0000003FE000
8625 0000FF0000003FE0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8626 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8627 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8628 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8629 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8630 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8631 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8632 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8633 0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
8634 0000FF0000003FC0000000FF0000003FC0000000FF0000007FE0000001FF800000FFF000
8635 0003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF0
8636 03FFFFFFC042647CE34B>104 D<000780000FFF8000FFFF8000FFFF8000FFFF8000FFFF
8637 800003FF800000FF800000FF8000007F8000007F8000007F8000007F8000007F8000007F
8638 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8639 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8640 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8641 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8642 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8643 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8644 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8645 8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F
8646 8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000FFC00001FF
8647 E000FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A647BE325>108 D<000070000000000070
8648 0000000000700000000000700000000000700000000000700000000000700000000000F0
8649 0000000000F00000000000F00000000000F00000000000F00000000001F00000000001F0
8650 0000000001F00000000003F00000000003F00000000007F00000000007F0000000000FF0
8651 000000000FF0000000001FF0000000003FF0000000007FF000000000FFF000000003FFF0
8652 0000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00000FF0000000000FF0
8653 000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0
8654 000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0
8655 000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0
8656 000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0
8657 000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0
8658 000000000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF0
8659 0001C0000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF00001C0000FF0
8660 0001C0000FF00001C0000FF00001C00007F80003800007F80003800007F80003800007F8
8661 0007800003FC0007000003FC000F000001FE000E000000FF001E0000007F803C0000003F
8662 E0F80000001FFFF000000007FFC000000000FF00002A597ED734>116
8663 D E
8664 %EndDVIPSBitmapFont
8665 end
8666 %%EndProlog
8667 %%BeginSetup
8668 %%Feature: *Resolution 600dpi
8669 TeXDict begin
8670 %%BeginPaperSize: a4
8671 /setpagedevice where
8672 { pop << /PageSize [595 842] >> setpagedevice }
8673 { /a4 where { pop a4 } if }
8674 ifelse
8675 %%EndPaperSize
8676 end
8677 %%EndSetup
8678 %%Page: 1 1
8679 TeXDict begin 1 0 bop -472 0 a
8680 SDict begin [/Producer (dvips + Distiller)/Title ()/Subject ()/Creator
8681 (LaTeX with hyperref package)/Author ()/Keywords () /DOCINFO pdfmark
8682 end
8683 -472 0 a -472 0 a
8684 SDict begin /product where{pop product(Distiller)search{pop pop pop
8685 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
8686 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
8687 grestore}if}{pop}ifelse}{pop}ifelse}if end
8688 -472
8689 0 a 0 TeXcolorgray -513 133 a
8690 SDict begin H.S end
8691 -513 133 a -513 133 a
8692 SDict begin H.R end
8693 -513
8694 133 a -513 133 a
8695 SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end
8696 -513 133 a Black Black Black -32 448
8697 a
8698 SDict begin [/Count -1/Dest (chapter.1) cvn/Title (Introduction) /OUT
8699 pdfmark end
8700 -32 448 a -32 448 a
8701 SDict begin [/Count -0/Dest (section.1.1) cvn/Title (What's new in Stealth V.4.01.06)
8702 /OUT pdfmark end
8703 -32 448 a -32 448 a
8704 SDict begin [/Count -1/Dest (chapter.2) cvn/Title (Installation) /OUT
8705 pdfmark end
8706 -32 448 a -32
8707 448 a
8708 SDict begin [/Count -0/Dest (section.2.1) cvn/Title (Compiling and installing Stealth)
8709 /OUT pdfmark end
8710 -32 448 a -32 448 a
8711 SDict begin [/Count -1/Dest (chapter.3) cvn/Title (Granting access)
8712 /OUT pdfmark end
8713 -32 448 a -32 448 a
8714 SDict begin [/Count -3/Dest (subsection.3.0.1) cvn/Title (The monitor's user: creating an ssh-key)
8715 /OUT pdfmark end
8716 -32 448
8717 a -32 448 a
8718 SDict begin [/Count -0/Dest (subsection.3.0.2) cvn/Title (The client's account: accepting ssh from the monitor's user)
8719 /OUT pdfmark end
8720 -32 448 a -32 448 a
8721 SDict begin [/Count -0/Dest (subsection.3.0.3) cvn/Title (Logging into the account@client account)
8722 /OUT pdfmark end
8723 -32 448 a -32 448 a
8724 SDict begin [/Count -0/Dest (subsection.3.0.4) cvn/Title (Using the proper shell)
8725 /OUT pdfmark end
8726 -32
8727 448 a -32 448 a
8728 SDict begin [/Count -3/Dest (chapter.4) cvn/Title (The `policy' file)
8729 /OUT pdfmark end
8730 -32 448 a -32 448 a
8731 SDict begin [/Count -0/Dest (section.4.1) cvn/Title (DEFINE directives)
8732 /OUT pdfmark end
8733 -32 448 a -32 448
8734 a
8735 SDict begin [/Count -0/Dest (section.4.2) cvn/Title (USE directives)
8736 /OUT pdfmark end
8737 -32 448 a -32 448 a
8738 SDict begin [/Count -4/Dest (section.4.3) cvn/Title (Commands) /OUT
8739 pdfmark end
8740 -32 448 a -32 448 a
8741 SDict begin [/Count -0/Dest (subsection.4.3.1) cvn/Title (LABEL commands)
8742 /OUT pdfmark end
8743 -32 448 a -32
8744 448 a
8745 SDict begin [/Count -0/Dest (subsection.4.3.2) cvn/Title (LOCAL commands)
8746 /OUT pdfmark end
8747 -32 448 a -32 448 a
8748 SDict begin [/Count -0/Dest (subsection.4.3.3) cvn/Title (REMOTE commands)
8749 /OUT pdfmark end
8750 -32 448 a -32 448 a
8751 SDict begin [/Count -0/Dest (subsection.4.3.4) cvn/Title (Preventing Controller Denial of Service \(--max-size\))
8752 /OUT pdfmark end
8753 -32 448
8754 a -32 448 a
8755 SDict begin [/Count -7/Dest (chapter.5) cvn/Title (Running `stealth')
8756 /OUT pdfmark end
8757 -32 448 a -32 448 a
8758 SDict begin [/Count -0/Dest (section.5.1) cvn/Title (Installing `stealth')
8759 /OUT pdfmark end
8760 -32 448 a -32 448 a
8761 SDict begin [/Count -1/Dest (section.5.2) cvn/Title (Stealth command-line and policy file options)
8762 /OUT pdfmark end
8763 -32
8764 448 a -32 448 a
8765 SDict begin [/Count -0/Dest (subsection.5.2.1) cvn/Title (Rsyslog filtering)
8766 /OUT pdfmark end
8767 -32 448 a -32 448 a
8768 SDict begin [/Count -4/Dest (section.5.3) cvn/Title (Construct one or more policy files)
8769 /OUT pdfmark end
8770 -32 448 a -32 448
8771 a
8772 SDict begin [/Count -0/Dest (subsection.5.3.1) cvn/Title (DEFINE directives)
8773 /OUT pdfmark end
8774 -32 448 a -32 448 a
8775 SDict begin [/Count -0/Dest (subsection.5.3.2) cvn/Title (USE directives)
8776 /OUT pdfmark end
8777 -32 448 a -32 448 a
8778 SDict begin [/Count -0/Dest (subsection.5.3.3) cvn/Title (Commands)
8779 /OUT pdfmark end
8780 -32 448 a -32
8781 448 a
8782 SDict begin [/Count -0/Dest (subsection.5.3.4) cvn/Title (The complete `policy' file)
8783 /OUT pdfmark end
8784 -32 448 a -32 448 a
8785 SDict begin [/Count -2/Dest (section.5.4) cvn/Title (Running `stealth' for the first time)
8786 /OUT pdfmark end
8787 -32 448 a -32 448 a
8788 SDict begin [/Count -0/Dest (subsection.5.4.1) cvn/Title (The mailed report)
8789 /OUT pdfmark end
8790 -32 448
8791 a -32 448 a
8792 SDict begin [/Count -0/Dest (subsection.5.4.2) cvn/Title (Files under /root/stealth/client)
8793 /OUT pdfmark end
8794 -32 448 a -32 448 a
8795 SDict begin [/Count -4/Dest (section.5.5) cvn/Title (Subsequent `stealth' runs)
8796 /OUT pdfmark end
8797 -32 448 a -32 448 a
8798 SDict begin [/Count -0/Dest (subsection.5.5.1) cvn/Title (All files unaltered)
8799 /OUT pdfmark end
8800 -32
8801 448 a -32 448 a
8802 SDict begin [/Count -0/Dest (subsection.5.5.2) cvn/Title (Modifications occurred)
8803 /OUT pdfmark end
8804 -32 448 a -32 448 a
8805 SDict begin [/Count -0/Dest (subsection.5.5.3) cvn/Title (Failing LOCAL commands)
8806 /OUT pdfmark end
8807 -32 448 a -32 448
8808 a
8809 SDict begin [/Count -0/Dest (subsection.5.5.4) cvn/Title (Skipping \(some\) integrity checks)
8810 /OUT pdfmark end
8811 -32 448 a -32 448 a
8812 SDict begin [/Count -0/Dest (section.5.6) cvn/Title (Automating repeated `stealth' runs)
8813 /OUT pdfmark end
8814 -32 448 a -32 448 a
8815 SDict begin [/Count -2/Dest (section.5.7) cvn/Title (Report File Rotation)
8816 /OUT pdfmark end
8817 -32 448 a -32
8818 448 a
8819 SDict begin [/Count -0/Dest (subsection.5.7.1) cvn/Title (Status file cleanup)
8820 /OUT pdfmark end
8821 -32 448 a -32 448 a
8822 SDict begin [/Count -0/Dest (subsection.5.7.2) cvn/Title (Using `logrotate' to control report- and status files)
8823 /OUT pdfmark end
8824 -32 448 a -32 448 a
8825 SDict begin [/Count -0/Dest (chapter.6) cvn/Title (Kick-starting `stealth')
8826 /OUT pdfmark end
8827 -32 448
8828 a -32 448 a
8829 SDict begin [/Count -0/Dest (chapter.7) cvn/Title (Usage info) /OUT
8830 pdfmark end
8831 -32 448 a -32 448 a
8832 SDict begin [/Count -0/Dest (chapter.8) cvn/Title (Errormessages) /OUT
8833 pdfmark end
8834 -32 448 a -32 448 a
8835 SDict begin [/PageMode /None/Page 1/View [/FitH] /DOCVIEW pdfmark end
8836 -32
8837 448 a -32 448 a
8838 SDict begin [ {Catalog}<<>> /PUT pdfmark end
8839 -32 448 a -32 448 a
8840 SDict begin H.S end
8841 -32 448 a -32 448
8842 a
8843 SDict begin 12 H.A end
8844 -32 448 a -32 448 a
8845 SDict begin [/View [/XYZ H.V]/Dest (Doc-Start) cvn /DEST pdfmark end
8846 -32 448 a -32 448 a
8847 SDict begin [ {Catalog} <</PageLabels<</Nums[0<</S/D>>1<</S/D>>]>>>>
8848 /PUT pdfmark end
8849 -32 448 a Black
8850 Black 1365 2424 a Fo(Stealth)46 b(V.4.01.06)1491 2860
8851 y Fn(F)-8 b(rank)32 b(B.)h(Brokk)m(en)593 2976 y(Cen)m(ter)h(for)e
8852 (Information)e(T)-8 b(ec)m(hnology)g(,)33 b(Univ)m(ersit)m(y)g(of)f
8853 (Groningen)1661 3279 y(2005-2017)p Black Black eop end
8854 %%Page: 1 2
8855 TeXDict begin 1 1 bop -472 0 a
8856 SDict begin /product where{pop product(Distiller)search{pop pop pop
8857 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
8858 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
8859 grestore}if}{pop}ifelse}{pop}ifelse}if end
8860 -472 0 a 0 TeXcolorgray
8861 -513 133 a
8862 SDict begin H.S end
8863 -513 133 a -513 133 a
8864 SDict begin H.R end
8865 -513 133 a -513 133
8866 a
8867 SDict begin [/View [/XYZ H.V]/Dest (page.1) cvn /DEST pdfmark end
8868 -513 133 a Black Black Black -32 448 a
8869 SDict begin H.S end
8870 -32 448 a -32
8871 448 a
8872 SDict begin 12 H.A end
8873 -32 448 a -32 448 a
8874 SDict begin [/View [/XYZ H.V]/Dest (chapter*.1) cvn /DEST pdfmark end
8875 -32 448 a 818 x Fm(Con)-6 b(ten)g(ts)p
8876 0 0 1 TeXcolorrgb -32 1852 a
8877 SDict begin H.S end
8878 -32 1852 a Fl(1)76 b(In)m(tro)s(duction)
8879 618 1852 y
8880 SDict begin 12 H.L end
8881 618 1852 a 618 1852 a
8882 SDict begin [/Subtype /Link/Dest (chapter.1) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
8883 [1 0 0] H.B /ANN pdfmark end
8884 618 1852 a Black 3111
8885 w Fl(3)p 0 0 1 TeXcolorrgb 92 2022 a
8886 SDict begin H.S end
8887 92 2022 a Fk(1.1)84
8888 b(What's)28 b(new)f(in)h(Stealth)g(V.4.01.06)1466 2022
8889 y
8890 SDict begin 12 H.L end
8891 1466 2022 a 1466 2022 a
8892 SDict begin [/Subtype /Link/Dest (section.1.1) cvn/H /I/Border [0 0
8893 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8894 1466 2022 a Black 72 w Fk(.)41
8895 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
8896 (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
8897 Black 108 w(5)p Black 0 0 1 TeXcolorrgb -32 2276 a
8898 SDict begin H.S end
8899 -32
8900 2276 a Fl(2)76 b(Installation)567 2276 y
8901 SDict begin 12 H.L end
8902 567 2276 a 567
8903 2276 a
8904 SDict begin [/Subtype /Link/Dest (chapter.2) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
8905 [1 0 0] H.B /ANN pdfmark end
8906 567 2276 a Black 3162 w Fl(6)p 0 0 1 TeXcolorrgb
8907 92 2446 a
8908 SDict begin H.S end
8909 92 2446 a Fk(2.1)84 b(Compiling)27 b(and)h(installing)f
8910 (Stealth)1464 2446 y
8911 SDict begin 12 H.L end
8912 1464 2446 a 1464 2446 a
8913 SDict begin [/Subtype /Link/Dest (section.2.1) cvn/H /I/Border [0 0
8914 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8915 1464 2446
8916 a Black 74 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
8917 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
8918 f(.)h(.)p Black 108 w(6)p Black 0 0 1 TeXcolorrgb -32
8919 2700 a
8920 SDict begin H.S end
8921 -32 2700 a Fl(3)76 b(Gran)m(ting)32 b(access)749
8922 2700 y
8923 SDict begin 12 H.L end
8924 749 2700 a 749 2700 a
8925 SDict begin [/Subtype /Link/Dest (chapter.3) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
8926 [1 0 0] H.B /ANN pdfmark end
8927 749 2700 a Black 2980 w
8928 Fl(8)p 0 0 1 TeXcolorrgb 283 2870 a
8929 SDict begin H.S end
8930 283 2870 a Fk(3.0.1)135
8931 b(The)28 b(monitor's)e(user:)36 b(creating)27 b(an)g(ssh-k)n(ey)2035
8932 2870 y
8933 SDict begin 12 H.L end
8934 2035 2870 a 2035 2870 a
8935 SDict begin [/Subtype /Link/Dest (subsection.3.0.1) cvn/H /I/Border
8936 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8937 2035 2870 a Black 19 w
8938 Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
8939 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 108 w(8)p
8940 Black 0 0 1 TeXcolorrgb 283 3041 a
8941 SDict begin H.S end
8942 283 3041 a Fk(3.0.2)135
8943 b(The)28 b(clien)n(t's)f(accoun)n(t:)36 b(accepting)27
8944 b(ssh)g(from)g(the)h(monitor's)f(user)2745 3041 y
8945 SDict begin 12 H.L end
8946 2745
8947 3041 a 2745 3041 a
8948 SDict begin [/Subtype /Link/Dest (subsection.3.0.2) cvn/H /I/Border
8949 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8950 2745 3041 a Black 84 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g
8951 (.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 108 w(9)p Black 0 0 1
8952 TeXcolorrgb 283 3211 a
8953 SDict begin H.S end
8954 283 3211 a Fk(3.0.3)135 b(Logging)26
8955 b(in)n(to)h(the)h(accoun)n(t@clien)n(t)e(accoun)n(t)2063
8956 3211 y
8957 SDict begin 12 H.L end
8958 2063 3211 a 2063 3211 a
8959 SDict begin [/Subtype /Link/Dest (subsection.3.0.3) cvn/H /I/Border
8960 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8961 2063 3211 a Black 56 w
8962 Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
8963 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 108 w(9)p Black
8964 0 0 1 TeXcolorrgb 283 3382 a
8965 SDict begin H.S end
8966 283 3382 a Fk(3.0.4)135
8967 b(Using)27 b(the)h(prop)r(er)f(shell)1394 3382 y
8968 SDict begin 12 H.L end
8969 1394
8970 3382 a 1394 3382 a
8971 SDict begin [/Subtype /Link/Dest (subsection.3.0.4) cvn/H /I/Border
8972 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8973 1394 3382 a Black 79 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h
8974 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
8975 h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 108 w(9)p
8976 Black 0 0 1 TeXcolorrgb -32 3635 a
8977 SDict begin H.S end
8978 -32 3635 a Fl(4)76
8979 b(The)32 b(`p)s(olicy')e(\034le)745 3635 y
8980 SDict begin 12 H.L end
8981 745 3635 a
8982 745 3635 a
8983 SDict begin [/Subtype /Link/Dest (chapter.4) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
8984 [1 0 0] H.B /ANN pdfmark end
8985 745 3635 a Black 2936 w Fl(11)p 0 0 1 TeXcolorrgb
8986 92 3806 a
8987 SDict begin H.S end
8988 92 3806 a Fk(4.1)84 b(DEFINE)29 b(directiv)n(es)976
8989 3806 y
8990 SDict begin 12 H.L end
8991 976 3806 a 976 3806 a
8992 SDict begin [/Subtype /Link/Dest (section.4.1) cvn/H /I/Border [0 0
8993 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
8994 976 3806 a Black 45 w Fk(.)42
8995 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
8996 (.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
8997 h(.)f(.)h(.)f(.)h(.)p Black 67 w(11)p Black 0 0 1 TeXcolorrgb
8998 92 3976 a
8999 SDict begin H.S end
9000 92 3976 a Fk(4.2)84 b(USE)29 b(directiv)n(es)819
9001 3976 y
9002 SDict begin 12 H.L end
9003 819 3976 a 819 3976 a
9004 SDict begin [/Subtype /Link/Dest (section.4.2) cvn/H /I/Border [0 0
9005 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9006 819 3976 a Black 73 w Fk(.)42
9007 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
9008 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
9009 g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(12)p Black 0 0 1
9010 TeXcolorrgb 92 4147 a
9011 SDict begin H.S end
9012 92 4147 a Fk(4.3)84 b(Commands)690
9013 4147 y
9014 SDict begin 12 H.L end
9015 690 4147 a 690 4147 a
9016 SDict begin [/Subtype /Link/Dest (section.4.3) cvn/H /I/Border [0 0
9017 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9018 690 4147 a Black 73 w Fk(.)42
9019 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
9020 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
9021 f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(15)p
9022 Black 0 0 1 TeXcolorrgb 283 4317 a
9023 SDict begin H.S end
9024 283 4317 a Fk(4.3.1)135
9025 b(LABEL)28 b(commands)1283 4317 y
9026 SDict begin 12 H.L end
9027 1283 4317 a 1283 4317
9028 a
9029 SDict begin [/Subtype /Link/Dest (subsection.4.3.1) cvn/H /I/Border
9030 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9031 1283 4317 a Black 61 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
9032 (.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
9033 h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(15)p Black
9034 0 0 1 TeXcolorrgb 283 4488 a
9035 SDict begin H.S end
9036 283 4488 a Fk(4.3.2)135
9037 b(LOCAL)27 b(commands)1292 4488 y
9038 SDict begin 12 H.L end
9039 1292 4488 a 1292 4488
9040 a
9041 SDict begin [/Subtype /Link/Dest (subsection.4.3.2) cvn/H /I/Border
9042 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9043 1292 4488 a Black 52 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
9044 (.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
9045 h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(15)p Black
9046 0 0 1 TeXcolorrgb 283 4658 a
9047 SDict begin H.S end
9048 283 4658 a Fk(4.3.3)135
9049 b(REMOTE)28 b(commands)1376 4658 y
9050 SDict begin 12 H.L end
9051 1376 4658 a 1376 4658
9052 a
9053 SDict begin [/Subtype /Link/Dest (subsection.4.3.3) cvn/H /I/Border
9054 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9055 1376 4658 a Black 33 w Fk(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
9056 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
9057 g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(17)p Black 0 0 1
9058 TeXcolorrgb 283 4829 a
9059 SDict begin H.S end
9060 283 4829 a Fk(4.3.4)135 b(Prev)n(en)n(ting)27
9061 b(Con)n(troller)f(Denial)h(of)h(Service)f(\(--max-size\))2477
9062 4829 y
9063 SDict begin 12 H.L end
9064 2477 4829 a 2477 4829 a
9065 SDict begin [/Subtype /Link/Dest (subsection.4.3.4) cvn/H /I/Border
9066 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9067 2477 4829 a Black 29 w
9068 Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
9069 (.)h(.)p Black 67 w(20)p Black 0 0 1 TeXcolorrgb -32
9070 5082 a
9071 SDict begin H.S end
9072 -32 5082 a Fl(5)76 b(Running)31 b(`stealth')818
9073 5082 y
9074 SDict begin 12 H.L end
9075 818 5082 a 818 5082 a
9076 SDict begin [/Subtype /Link/Dest (chapter.5) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
9077 [1 0 0] H.B /ANN pdfmark end
9078 818 5082 a Black 2863 w
9079 Fl(22)p 0 0 1 TeXcolorrgb 92 5253 a
9080 SDict begin H.S end
9081 92 5253 a Fk(5.1)84
9082 b(Installing)27 b(`stealth')941 5253 y
9083 SDict begin 12 H.L end
9084 941 5253 a 941
9085 5253 a
9086 SDict begin [/Subtype /Link/Dest (section.5.1) cvn/H /I/Border [0 0
9087 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9088 941 5253 a Black 80 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
9089 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
9090 h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
9091 Black 67 w(22)p Black 0 0 1 TeXcolorrgb 92 5423 a
9092 SDict begin H.S end
9093 92
9094 5423 a Fk(5.2)84 b(Stealth)28 b(command-line)f(and)g(p)r(olicy)h
9095 (\034le)f(options)1907 5423 y
9096 SDict begin 12 H.L end
9097 1907 5423 a 1907 5423 a
9098 SDict begin [/Subtype /Link/Dest (section.5.2) cvn/H /I/Border [0 0
9099 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9100
9101 1907 5423 a Black 83 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
9102 f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
9103 Black 67 w(23)p Black 0 0 1 TeXcolorrgb 283 5594 a
9104 SDict begin H.S end
9105 283
9106 5594 a Fk(5.2.1)135 b(Rsyslog)26 b(\034ltering)1176 5594
9107 y
9108 SDict begin 12 H.L end
9109 1176 5594 a 1176 5594 a
9110 SDict begin [/Subtype /Link/Dest (subsection.5.2.1) cvn/H /I/Border
9111 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9112 1176 5594 a Black 39 w Fk(.)42
9113 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
9114 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
9115 f(.)h(.)p Black 67 w(26)p Black 0 0 1 TeXcolorrgb 92
9116 5764 a
9117 SDict begin H.S end
9118 92 5764 a Fk(5.3)84 b(Construct)27 b(one)g(or)g(more)g(p)r
9119 (olicy)g(\034les)1516 5764 y
9120 SDict begin 12 H.L end
9121 1516 5764 a 1516 5764 a
9122 SDict begin [/Subtype /Link/Dest (section.5.3) cvn/H /I/Border [0 0
9123 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9124
9125 1516 5764 a Black 22 w Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
9126 f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9127 (.)f(.)h(.)f(.)h(.)p Black 67 w(26)p Black Black 1851
9128 6135 a(1)p Black eop end
9129 %%Page: 2 3
9130 TeXDict begin 2 2 bop -472 0 a
9131 SDict begin /product where{pop product(Distiller)search{pop pop pop
9132 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9133 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9134 grestore}if}{pop}ifelse}{pop}ifelse}if end
9135 -472 0 a 0 TeXcolorgray
9136 -504 133 a
9137 SDict begin H.S end
9138 -504 133 a -504 133 a
9139 SDict begin H.R end
9140 -504 133 a -504 133
9141 a
9142 SDict begin [/View [/XYZ H.V]/Dest (page.2) cvn /DEST pdfmark end
9143 -504 133 a Black Black Black 0 0 1 TeXcolorrgb 283
9144 531 a
9145 SDict begin H.S end
9146 283 531 a Fk(5.3.1)135 b(DEFINE)30 b(directiv)n(es)1284
9147 531 y
9148 SDict begin 12 H.L end
9149 1284 531 a 1284 531 a
9150 SDict begin [/Subtype /Link/Dest (subsection.5.3.1) cvn/H /I/Border
9151 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9152 1284 531 a Black 60 w Fk(.)42
9153 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
9154 (.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
9155 p Black 67 w(26)p Black 0 0 1 TeXcolorrgb 283 702 a
9156 SDict begin H.S end
9157 283
9158 702 a Fk(5.3.2)135 b(USE)29 b(directiv)n(es)1126 702
9159 y
9160 SDict begin 12 H.L end
9161 1126 702 a 1126 702 a
9162 SDict begin [/Subtype /Link/Dest (subsection.5.3.2) cvn/H /I/Border
9163 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9164 1126 702 a Black 25 w Fk(.)41
9165 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9166 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
9167 h(.)f(.)h(.)p Black 67 w(27)p Black 0 0 1 TeXcolorrgb
9168 283 872 a
9169 SDict begin H.S end
9170 283 872 a Fk(5.3.3)135 b(Commands)997 872 y
9171 SDict begin 12 H.L end
9172
9173 997 872 a 997 872 a
9174 SDict begin [/Subtype /Link/Dest (subsection.5.3.3) cvn/H /I/Border
9175 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9176 997 872 a Black 24 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h
9177 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
9178 h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
9179 Black 67 w(27)p Black 0 0 1 TeXcolorrgb 283 1043 a
9180 SDict begin H.S end
9181 283
9182 1043 a Fk(5.3.4)135 b(The)28 b(complete)f(`p)r(olicy')h(\034le)1508
9183 1043 y
9184 SDict begin 12 H.L end
9185 1508 1043 a 1508 1043 a
9186 SDict begin [/Subtype /Link/Dest (subsection.5.3.4) cvn/H /I/Border
9187 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9188 1508 1043 a Black 30 w
9189 Fk(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
9190 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
9191 Black 67 w(29)p Black 0 0 1 TeXcolorrgb 92 1213 a
9192 SDict begin H.S end
9193 92
9194 1213 a Fk(5.4)84 b(Running)28 b(`stealth')f(for)g(the)h(\034rst)g(time)
9195 1542 1213 y
9196 SDict begin 12 H.L end
9197 1542 1213 a 1542 1213 a
9198 SDict begin [/Subtype /Link/Dest (section.5.4) cvn/H /I/Border [0 0
9199 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9200 1542 1213 a Black
9201 60 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
9202 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p
9203 Black 67 w(30)p Black 0 0 1 TeXcolorrgb 283 1384 a
9204 SDict begin H.S end
9205 283
9206 1384 a Fk(5.4.1)135 b(The)28 b(mailed)f(rep)r(ort)1253
9207 1384 y
9208 SDict begin 12 H.L end
9209 1253 1384 a 1253 1384 a
9210 SDict begin [/Subtype /Link/Dest (subsection.5.4.1) cvn/H /I/Border
9211 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9212 1253 1384 a Black 27 w
9213 Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9214 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
9215 h(.)f(.)h(.)p Black 67 w(31)p Black 0 0 1 TeXcolorrgb
9216 283 1554 a
9217 SDict begin H.S end
9218 283 1554 a Fk(5.4.2)135 b(Files)28 b(under)f(/ro)r
9219 (ot/stealth/clien)n(t)1741 1554 y
9220 SDict begin 12 H.L end
9221 1741 1554 a 1741 1554
9222 a
9223 SDict begin [/Subtype /Link/Dest (subsection.5.4.2) cvn/H /I/Border
9224 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9225 1741 1554 a Black 55 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
9226 (.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
9227 h(.)p Black 67 w(31)p Black 0 0 1 TeXcolorrgb 92 1725
9228 a
9229 SDict begin H.S end
9230 92 1725 a Fk(5.5)84 b(Subsequen)n(t)28 b(`stealth')f(runs)1198
9231 1725 y
9232 SDict begin 12 H.L end
9233 1198 1725 a 1198 1725 a
9234 SDict begin [/Subtype /Link/Dest (section.5.5) cvn/H /I/Border [0 0
9235 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9236 1198 1725 a Black 82 w
9237 Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9238 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
9239 h(.)f(.)h(.)p Black 67 w(33)p Black 0 0 1 TeXcolorrgb
9240 283 1895 a
9241 SDict begin H.S end
9242 283 1895 a Fk(5.5.1)135 b(All)28 b(\034les)g(unaltered)1235
9243 1895 y
9244 SDict begin 12 H.L end
9245 1235 1895 a 1235 1895 a
9246 SDict begin [/Subtype /Link/Dest (subsection.5.5.1) cvn/H /I/Border
9247 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9248 1235 1895 a Black 45 w
9249 Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9250 (.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
9251 h(.)f(.)h(.)p Black 67 w(33)p Black 0 0 1 TeXcolorrgb
9252 283 2066 a
9253 SDict begin H.S end
9254 283 2066 a Fk(5.5.2)135 b(Mo)r(di\034cations)27
9255 b(o)r(ccurred)1420 2066 y
9256 SDict begin 12 H.L end
9257 1420 2066 a 1420 2066 a
9258 SDict begin [/Subtype /Link/Dest (subsection.5.5.2) cvn/H /I/Border
9259 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9260 1420
9261 2066 a Black 53 w Fk(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
9262 (.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
9263 f(.)h(.)f(.)h(.)p Black 67 w(33)p Black 0 0 1 TeXcolorrgb
9264 283 2236 a
9265 SDict begin H.S end
9266 283 2236 a Fk(5.5.3)135 b(F)-7 b(ailing)27
9267 b(LOCAL)g(commands)1565 2236 y
9268 SDict begin 12 H.L end
9269 1565 2236 a 1565 2236
9270 a
9271 SDict begin [/Subtype /Link/Dest (subsection.5.5.3) cvn/H /I/Border
9272 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9273 1565 2236 a Black 37 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
9274 (.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
9275 f(.)h(.)f(.)h(.)p Black 67 w(35)p Black 0 0 1 TeXcolorrgb
9276 283 2407 a
9277 SDict begin H.S end
9278 283 2407 a Fk(5.5.4)135 b(Skipping)28 b(\(some\))f(in)n
9279 (tegrit)n(y)g(c)n(hec)n(ks)1771 2407 y
9280 SDict begin 12 H.L end
9281 1771 2407 a 1771
9282 2407 a
9283 SDict begin [/Subtype /Link/Dest (subsection.5.5.4) cvn/H /I/Border
9284 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9285 1771 2407 a Black 25 w Fk(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
9286 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
9287 f(.)h(.)p Black 67 w(35)p Black 0 0 1 TeXcolorrgb 92
9288 2577 a
9289 SDict begin H.S end
9290 92 2577 a Fk(5.6)84 b(Automating)27 b(rep)r(eated)h(`stealth')f
9291 (runs)1562 2577 y
9292 SDict begin 12 H.L end
9293 1562 2577 a 1562 2577 a
9294 SDict begin [/Subtype /Link/Dest (section.5.6) cvn/H /I/Border [0 0
9295 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9296 1562 2577 a
9297 Black 40 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
9298 f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
9299 (.)p Black 67 w(36)p Black 0 0 1 TeXcolorrgb 92 2748
9300 a
9301 SDict begin H.S end
9302 92 2748 a Fk(5.7)84 b(Rep)r(ort)27 b(File)h(Rotation)1048
9303 2748 y
9304 SDict begin 12 H.L end
9305 1048 2748 a 1048 2748 a
9306 SDict begin [/Subtype /Link/Dest (section.5.7) cvn/H /I/Border [0 0
9307 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9308 1048 2748 a Black 38 w
9309 Fk(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
9310 (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
9311 f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(36)p Black 0 0 1
9312 TeXcolorrgb 283 2918 a
9313 SDict begin H.S end
9314 283 2918 a Fk(5.7.1)135 b(Status)28
9315 b(\034le)g(clean)n(up)1258 2918 y
9316 SDict begin 12 H.L end
9317 1258 2918 a 1258 2918
9318 a
9319 SDict begin [/Subtype /Link/Dest (subsection.5.7.1) cvn/H /I/Border
9320 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9321 1258 2918 a Black 22 w Fk(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
9322 (.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
9323 f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p Black 67 w(37)p
9324 Black 0 0 1 TeXcolorrgb 283 3089 a
9325 SDict begin H.S end
9326 283 3089 a Fk(5.7.2)135
9327 b(Using)27 b(`logrotate')f(to)i(con)n(trol)e(rep)r(ort-)g(and)i(status)
9328 f(\034les)2426 3089 y
9329 SDict begin 12 H.L end
9330 2426 3089 a 2426 3089 a
9331 SDict begin [/Subtype /Link/Dest (subsection.5.7.2) cvn/H /I/Border
9332 [0 0 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9333 2426 3089
9334 a Black 80 w Fk(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
9335 (.)f(.)h(.)f(.)h(.)p Black 67 w(40)p Black 0 0 1 TeXcolorrgb
9336 -32 3342 a
9337 SDict begin H.S end
9338 -32 3342 a Fl(6)76 b(Kic)m(k-starting)32 b(`stealth')1008
9339 3342 y
9340 SDict begin 12 H.L end
9341 1008 3342 a 1008 3342 a
9342 SDict begin [/Subtype /Link/Dest (chapter.6) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
9343 [1 0 0] H.B /ANN pdfmark end
9344 1008 3342 a Black 2673
9345 w Fl(41)p 0 0 1 TeXcolorrgb -32 3596 a
9346 SDict begin H.S end
9347 -32 3596 a Fl(7)76
9348 b(Usage)32 b(info)530 3596 y
9349 SDict begin 12 H.L end
9350 530 3596 a 530 3596 a
9351 SDict begin [/Subtype /Link/Dest (chapter.7) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
9352 [1 0 0] H.B /ANN pdfmark end
9353 530
9354 3596 a Black 3151 w Fl(43)p 0 0 1 TeXcolorrgb -32 3849
9355 a
9356 SDict begin H.S end
9357 -32 3849 a Fl(8)76 b(Errormessages)696 3849 y
9358 SDict begin 12 H.L end
9359 696 3849
9360 a 696 3849 a
9361 SDict begin [/Subtype /Link/Dest (chapter.8) cvn/H /I/Border [0 0 0]BorderArrayPatch/Color
9362 [1 0 0] H.B /ANN pdfmark end
9363 696 3849 a Black 2985 w Fl(45)p Black 1851
9364 6135 a Fk(2)p Black eop end
9365 %%Page: 3 4
9366 TeXDict begin 3 3 bop -472 0 a
9367 SDict begin /product where{pop product(Distiller)search{pop pop pop
9368 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9369 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9370 grestore}if}{pop}ifelse}{pop}ifelse}if end
9371 -472 0 a 0 TeXcolorgray
9372 -513 133 a
9373 SDict begin H.S end
9374 -513 133 a -513 133 a
9375 SDict begin H.R end
9376 -513 133 a -513 133
9377 a
9378 SDict begin [/View [/XYZ H.V]/Dest (page.3) cvn /DEST pdfmark end
9379 -513 133 a Black Black Black -32 448 a
9380 SDict begin H.S end
9381 -32 448 a -32
9382 448 a
9383 SDict begin 12 H.A end
9384 -32 448 a -32 448 a
9385 SDict begin [/View [/XYZ H.V]/Dest (chapter.1) cvn /DEST pdfmark end
9386 -32 448 a 777 x Fj(Chapter)60
9387 b(1)-32 1711 y Fm(In)-6 b(tro)6 b(duction)-32 2213 y
9388 Fk(W)-7 b(elcome)23 b(to)h Fl(stealth)p Fk(.)35 b(The)24
9389 b(program)d Fl(stealth)j Fk(implemen)n(ts)g(a)f(\034le)h(in)n(tegrit)n
9390 (y)f(scanner.)34 b(The)24 b(acron)n(ym)e Fl(stealth)h
9391 Fk(can)-32 2313 y(b)r(e)28 b(expanded)f(to)p Black Black
9392 187 2658 a
9393 SDict begin H.S end
9394 187 2658 a 187 2658 a
9395 SDict begin 18 H.A end
9396 187 2658 a 187 2658
9397 a
9398 SDict begin [/View [/XYZ H.V]/Dest (section*.2) cvn /DEST pdfmark end
9399 187 2658 a Fi(SSH-based)43 b(T)-11 b(rust)45 b(Enforcemen)l(t)f(A)l
9400 (cquired)i(through)e(a)f(Lo)t(cally)1475 2808 y(T)-11
9401 b(rusted)44 b(Host.)-32 3061 y Fk(This)27 b(expansion)g(con)n(tains)f
9402 (the)i(follo)n(wing)f(k)n(ey)f(terms:)p Black 92 3232
9403 a Fh(\017)p Black 41 w Fg(SSH-based)p Fk(:)60 b(The)41
9404 b(\034le)g(in)n(tegrit)n(y)f(scan)h(is)g(\(usually\))g(p)r(erformed)f
9405 (o)n(v)n(er)f(an)i(ssh-connection.)76 b(Usually)40 b(the)175
9406 3332 y(computer)21 b(b)r(eing)g(scanned)g(\(called)g(the)g
9407 Ff(client)8 b Fk(\))22 b(and)f(the)h(computer)e(initiating)i(the)f
9408 (scan)g(\(called)g(the)g Fg(monitor)p Fk(\))175 3431
9409 y(are)27 b(di\033eren)n(t)g(computers.)p Black 92 3597
9410 a Fh(\017)p Black 41 w Fk(The)i(clien)n(t)g(should)g(accept)f(incoming)
9411 h(ssh-connections)e(from)i(the)g(monitor.)40 b(The)29
9412 b(monitor)f(do)r(esn't)h(ha)n(v)n(e)f(to)175 3697 y(\(and)g(shouldn't,)
9413 g(probably\).)p Black 92 3863 a Fh(\017)p Black 41 w
9414 Fg(Trust)42 b(Enforcement)p Fk(:)36 b(follo)n(wing)28
9415 b(the)i(scan,)f(`trust')h(is)f(enforced)g(in)h(the)g(clien)n(t,)g(due)g
9416 (to)f(the)h(in)n(tegrit)n(y)e(of)i(its)175 3962 y(\034les.)p
9417 Black 92 4129 a Fh(\017)p Black 41 w Fg(Locally)41 b(Trusted)f(Host)p
9418 Fk(:)h(the)30 b(clien)n(t)h(apparen)n(tly)d(trusts)i(the)h(monitor)e
9419 (to)h(use)g(an)g(ssh-connection)f(to)h(p)r(er-)175 4228
9420 y(form)d(commands)g(on)g(it.)38 b(The)27 b(clien)n(t)h(therefore)f
9421 Ff(lo)l(c)l(al)t(ly)k(trusts)i Fk(the)28 b(monitor.)36
9422 b(Hence,)28 b Ff(lo)l(c)l(al)t(ly)j(truste)l(d)e(host)p
9423 Fk(.)-32 4482 y Fl(stealth)37 b Fk(is)g(based)g(on)g(an)g(idea)h(b)n(y)
9424 f Ff(Hans)h(Gankema)45 b Fk(and)38 b Ff(Ke)l(es)g(Visser)p
9425 Fk(,)j(b)r(oth)d(at)f(the)h(Cen)n(ter)f(for)g(Information)-32
9426 4581 y(T)-7 b(ec)n(hnology)25 b(of)j(the)g(Univ)n(ersit)n(y)e(of)i
9427 (Groningen.)-32 4752 y Fl(stealth)p Fk('s)22 b(main)g(task)g(is)g(to)h
9428 (p)r(erform)f(\034le)g(in)n(tegrit)n(y)g(tests.)35 b(Ho)n(w)n(ev)n(er,)
9429 22 b(the)h(testing)f(will)h(lea)n(v)n(e)e(virtually)h(no)g(sedimen)n
9430 (ts)-32 4851 y(on)35 b(the)i(tested)f(computer.)62 b(Therefore,)37
9431 b Fl(stealth)e Fk(has)h Ff(ste)l(althy)43 b Fk(c)n(haracteristics.)60
9432 b(I)36 b(consider)f(this)h(an)g(imp)r(ortan)n(t)-32 4951
9433 y(securit)n(y)26 b(impro)n(ving)g(feature)i(of)34 b Fl(stealth)p
9434 Fk(.)-32 5122 y(The)d(monitor)f(itself)h(only)g(needs)g(t)n(w)n(o)f
9435 (kinds)h(of)g(outgoing)f(services:)42 b Fl(ssh)p Fk(\(1\))31
9436 b(to)g(reac)n(h)f(its)h(clien)n(ts,)h(and)e(some)h(mail)-32
9437 5221 y(transp)r(ort)26 b(agen)n(t)h(\(e.g.,)g Fl(sendmail)p
9438 Fk(\(1\)\))g(to)g(forw)n(ard)f(its)i(outgoing)e(mail)h(to)h(some)f
9439 (mail-h)n(ub.)-32 5392 y(Here)g(is)g(what)h(happ)r(ens)f(when)h
9440 Fl(stealth)f Fk(is)h(run:)p Black 92 5629 a Fh(\017)p
9441 Black 41 w Fk(First,)38 b(the)d Ff(p)l(olicy)45 b Fk(\034le)36
9442 b(is)f(read.)60 b(F)-7 b(or)35 b(eac)n(h)f(clien)n(t)i(a)f(p)r(olicy)g
9443 (\034le)h(is)f(de\034ned,)j(sp)r(ecifying)e(the)f(actions)g(to)g(b)r(e)
9444 175 5728 y(p)r(erformed,)27 b(and)h(sp)r(ecifying)f(the)h(v)-5
9445 b(alues)27 b(of)h(sev)n(eral)d(v)-5 b(ariables)27 b(used)g(b)n(y)i
9446 Fl(stealth)p Fk(.)p Black 1851 6135 a(3)p Black eop end
9447 %%Page: 4 5
9448 TeXDict begin 4 4 bop -472 0 a
9449 SDict begin /product where{pop product(Distiller)search{pop pop pop
9450 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9451 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9452 grestore}if}{pop}ifelse}{pop}ifelse}if end
9453 -472 0 a 0 TeXcolorgray
9454 -504 133 a
9455 SDict begin H.S end
9456 -504 133 a -504 133 a
9457 SDict begin H.R end
9458 -504 133 a -504 133
9459 a
9460 SDict begin [/View [/XYZ H.V]/Dest (page.4) cvn /DEST pdfmark end
9461 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
9462 Black 41 w Fk(If)19 b(the)g(command-line)g(option)f Fg
9463 (+NOTRANS\(-{}-{}\))o(da)o(em)o(on)37 b Fe(<)p Fg(uds)p
9464 Fe(>)17 b Fk(is)i(sp)r(eci\034ed,)h Fl(stealth)f Fk(runs)f(as)g(a)g
9465 (daemon)175 631 y(pro)r(cess,)23 b(using)h(the)g(Unix)g(Domain)f(So)r
9466 (c)n(k)n(et)g(\()p Fe(<)p Fg(uds)p Fe(>)p Fk(\))g(for)g(comm)n
9467 (unication)g(with)h Fl(stealth)f Fk(pro)r(cesses)f(running)175
9468 731 y(in)28 b(IPC)g(mo)r(de.)175 863 y(If)21 b(access)e(to)h(the)h
9469 (Unix)f(Domain)g(So)r(c)n(k)n(et)g(de\034ned)h(b)n(y)f(Stealth)g
9470 (running)g(in)h(daemon)e(mo)r(de)i(should)f(b)r(e)h(restricted,)175
9471 963 y(it)26 b(can)f(b)r(e)h(de\034ned)f(in)h(a)f(directory)f(with)i(is)
9472 f(only)g(accessible)f(to)h(the)h(user)f(running)g(Stealth)g(\(this)h
9473 (will)g(often)f(b)r(e)175 1063 y(the)j(ro)r(ot-user\).)175
9474 1196 y(When)h(running)f(in)h(daemon)f(mo)r(de,)h Fg
9475 (+NOTRANS\(-{}-{}\)r)o(ep)o(ea)o(t)38 b Fe(<)p Fg(seconds)p
9476 Fe(>)24 b Fk(ma)n(y)k(b)r(e)h(sp)r(eci\034ed)g(to)g(rerun)175
9477 1295 y(the)22 b(in)n(tegrit)n(y)e(scan)g(ev)n(ery)h Fe(<)p
9478 Fg(seconds)p Fe(>)d Fk(seconds.)34 b(If)21 b(an)g(in)n(tegrit)n(y)f
9479 (scan)h(is)g(b)r(eing)g(p)r(erformed)g(when,)i(according)175
9480 1395 y(to)28 b(the)h(rep)r(eat)f(in)n(terv)-5 b(al)28
9481 b(the)g(next)h(in)n(tegrit)n(y)e(scan)h(is)g(due,)h(then)g(the)g
9482 (curren)n(t)e(scan)h(is)g(\034rst)g(completed.)39 b(Once)175
9483 1494 y(completed,)28 b(the)g(next)f(in)n(tegrit)n(y)g(scan)g(will)h(b)r
9484 (e)g(p)r(erformed)f(after)g Fg(seconds)e Fk(seconds.)p
9485 Black 92 1660 a Fh(\017)p Black 41 w Fk(Next,)31 b(the)e(monitor)g(op)r
9486 (ens)h(a)f(command)g(shell)g(on)h(the)g(clien)n(t)f(using)h
9487 Fl(ssh)p Fk(\(1\),)g(and)f(a)h(command)f(shell)g(on)g(the)175
9488 1760 y(monitor)e(computer)g(itself)h(using)g Fl(sh)p
9489 Fk(\(1\).)p Black 92 1926 a Fh(\017)p Black 41 w Fk(Once)k(the)i
9490 (command)e(shells)g(are)g(a)n(v)-5 b(ailable,)33 b(commands)f
9491 (de\034ned)h(in)g(the)g(p)r(olicy)g(\034le)f(are)g(executed)h(in)g
9492 (their)175 2026 y(order)23 b(of)h(app)r(earance.)34 b(Examples)24
9493 b(are)g(giv)n(en)f(b)r(elo)n(w.)35 b(Normally)-7 b(,)24
9494 b(return)g(v)-5 b(alues)24 b(of)g(the)g(programs)e(are)h(tested.)175
9495 2125 y(When)29 b(return)f(v)-5 b(alues)29 b(are)e(to)i(b)r(e)g(tested)g
9496 Fl(stealth)f Fk(terminates)g(when)h(a)f(non-zero)f(return)h(v)-5
9497 b(alue)28 b(is)h(sensed.)39 b(If)175 2225 y(this)24 b(happ)r(ens,)h(a)f
9498 (message)e(stating)i(the)g(reason)f(wh)n(y)h Fl(stealth)g
9499 Fk(terminated)g(is)g(written)g(to)g(the)g(rep)r(ort)g(\034le)g(\(and)
9500 175 2325 y(in)n(to)29 b(the)g(mail)g(sen)n(t)f(b)n(y)i
9501 Fl(stealth)p Fk(\).)41 b(In)29 b(some)f(cases)g(\(e.g.,)h(when)g(the)g
9502 (rep)r(ort)f(\034le)h(could)g(not)g(b)r(e)g(written\),)g(the)175
9503 2424 y(message)d(is)i(written)f(to)h(the)g(standard)e(error)g(stream.)p
9504 Black 92 2590 a Fh(\017)p Black 41 w Fk(V)-7 b(ery)21
9505 b(often)h(in)n(tegrit)n(y)f(tests)g(can)g(b)r(e)h(con)n(trolled)e
9506 (using)j Fl(\034nd)p Fk(\(1\),)g(calling)e(programs)e(lik)n(e)i
9507 Fl(ls)p Fk(\(1\),)h Fl(sha1sum)p Fk(\(1\))f(or)175 2690
9508 y(its)i(o)n(wn)f Fg(-printf)e Fk(metho)r(d)j(to)g(pro)r(duce)f
9509 (\034le-in)n(tegrit)n(y)f(related)h(statistics.)35 b(Most)23
9510 b(of)f(these)h(programs)d(write)j(\034le)175 2790 y(names)h(at)g(the)g
9511 (end)h(of)f(generated)f(lines.)35 b(This)24 b(c)n(haracteristic)e(is)i
9512 (used)g(b)n(y)g(one)g(of)30 b Fl(stealth)p Fk('s)24 b(in)n(ternal)g
9513 (routines)175 2889 y(to)32 b(detect)g(c)n(hanges)f(in)h(the)h
9514 (generated)d(output.)51 b(Suc)n(h)32 b(c)n(hanges)f(could)g(indicate)h
9515 (some)g(harmful)g(in)n(ten)n(t,)h(lik)n(e)175 2989 y(an)27
9516 b(installed)h Ff(r)l(o)l(ot-kit)p Fk(.)p Black 92 3155
9517 a Fh(\017)p Black 41 w Fk(When)22 b(c)n(hanges)e(are)g(detected,)j
9518 (they)e(are)g(logged)e(in)j(a)f Ff(r)l(ep)l(ort)j(\034le)p
9519 Fk(,)e(to)g(whic)n(h)f(information)f(is)h(alw)n(a)n(ys)f(app)r(ended.)
9520 175 3254 y Fl(Stealth)30 b Fk(nev)n(er)e(reduces)h(the)h(rep)r(ort)e
9521 (\034le's)i(size)f(or)g(rewrites)f(its)i(con)n(ten)n(ts.)42
9522 b(When)30 b(information)e(is)i(added)f(to)175 3354 y(the)22
9523 b(rep)r(ort)f(\034le)h(\(b)r(ey)n(ond)g(a)f(plain)h(time)g(stamp\))g
9524 (the)g(newly)f(added)h(information)f(is)g(e-mailed)h(to)f(a)g
9525 (con\034gurable)175 3454 y(e-mail)k(address)g(for)g(further)g(\(h)n
9526 (uman\))i(pro)r(cessing.)34 b(Usually)26 b(the)g(e-mail)f(is)g(sen)n(t)
9527 h(to)g(the)g(systems)f(manager)f(of)175 3553 y(the)h(tested)h(clien)n
9528 (t.)36 b Fl(Stealth)24 b Fk(follo)n(ws)g(the)i(`dark)e(co)r(c)n(kpit')g
9529 (approac)n(h)f(in)i(the)g(sense)g(that)g(no)f(mail)h(is)g(sen)n(t)g
9530 (when)175 3653 y(no)i(c)n(hanges)g(w)n(ere)f(detected.)p
9531 Black 92 3819 a Fh(\017)p Black 41 w Fk(Rep)r(ort)i(and)f(other)h
9532 (log-\034les)e(ma)n(y)h(safely)g(b)r(e)h(rotated)f(b)r(et)n(w)n(een)h
9533 (a)g(pair)f(of)34 b Fg(+NOTRANS\(-{}-{})o(\)su)o(sp)o(end)21
9534 b Fk(and)175 3919 y Fg(+NOTRANS\(-{}-{}\))o(re)o(sum)o(e)g
9535 Fk(commands)27 b(\(see)h(b)r(elo)n(w)f(at)g(the)h(section)p
9536 0 0 1 TeXcolorrgb 2495 3919 a
9537 SDict begin H.S end
9538 2495 3919 a 0 0 1 TeXcolorrgb
9539 Fk(5.7)p 0 0 1 TeXcolorrgb 2602 3865 a
9540 SDict begin H.R end
9541 2602 3865 a 2602
9542 3919 a
9543 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
9544 /Link/Dest (section.5.7) cvn H.B /ANN pdfmark end
9545 2602 3919 a Black Fk(\).)-32 4156 y(Instead)34
9546 b(of)g(running)g(in)h(daemon)e(mo)r(de,)k Fl(stealth)d
9547 Fk(ma)n(y)f(also)h(run)g(in)h(`foreground')d(mo)r(de.)58
9548 b(In)34 b(foreground)f(mo)r(de)-32 4255 y(the)c(option)f
9549 Fg(+NOTRANS\(-{}-{}\))o(dae)o(mo)o(n)23 b Fk(is)28 b(not)h(sp)r
9550 (eci\034ed.)41 b(When)29 b(running)g(in)g(foreground)e(mo)r(de)i
9551 Fl(stealth)f Fk(either)-32 4355 y(p)r(erforms)18 b(one)h(in)n(tegrit)n
9552 (y)f(scan)g(\(and)h(terminates\))g(or,)h(if)g(the)f Fg
9553 (+NOTRANS\(-{}-{}\))o(re)o(pea)o(t)13 b Fk(option)19
9554 b(has)f(b)r(een)i(sp)r(eci\034ed,)-32 4454 y(it)41 b(rep)r(eatedly)g(p)
9555 r(erforms)f(in)n(tegrit)n(y)g(scans,)k(at)c(in)n(terv)-5
9556 b(als)41 b(determined)g(b)n(y)g(the)g Fg(+NOTRANS\(-{}-{}\))o(rep)o(ea)
9557 o(t)35 b Fk(and)-32 4554 y Fg(+NOTRANS\(-{}-{})o(\)r)o(and)o(om)o(-i)o
9558 (nte)o(rv)o(al)20 b Fk(options.)35 b(When)27 b Fg(+NOTRANS\(-{}-{})o
9559 (\)re)o(pe)o(at)20 b Fk(is)25 b(sp)r(eci\034ed)i(with)f
9560 Fl(stealth)-32 4654 y Fk(running)j(in)i(foreground)d(mo)r(de)j(a)e
9561 (prompt)h(is)h(sho)n(wn)e(\(i.e.,)i(`)p Fg(?)87 b Fk('\))45
9562 b(with)31 b Fl(stealth)f Fk(terminating)g(after)f(pressing)g(the)-32
9563 4753 y Fg(Enter)p Fk(-k)n(ey)-7 b(.)-32 4924 y(Alternativ)n(ely)g(,)25
9564 b Fl(stealth)h Fk(ma)n(y)g(run)g(in)g(`in)n(ter)g(pro)r(cess)f(comm)n
9565 (unication')g(mo)r(de)h(\(IPC)h(mo)r(de\).)37 b(IPC)27
9566 b(mo)r(de)f(is)g(c)n(harac-)-32 5023 y(terized)f(b)n(y)g(using)g(one)h
9567 (of)f(the)h(command-line)f(options)g Fg(+NOTRANS\(-{}-{}\))o(rel)o(oa)o
9568 (d,)37 b(+NOTRANS\(-{}-{}\))o(re)o(run)o(,)-32 5123 y(+NOTRANS\(-{}-{})
9569 o(\)s)o(usp)o(en)o(d,)g(+NOTRANS\(-{}-{}\))o(re)o(su)o(me)23
9570 b Fk(or)28 b Fg(+NOTRANS\(-{}-{})o(\)te)o(rm)o(ina)o(te)o
9571 Fk(.)35 b(In)30 b(IPC-mo)r(de)-32 5223 y Fl(stealth)h
9572 Fk(comm)n(unicates)f(with)i(an)f(existing)h Fl(stealth)f
9573 Fk(daemon,)h(using)f(the)g(Unix)h(Domain)f(So)r(c)n(k)n(et)g(de\034ned)
9574 g(b)n(y)g(the)-32 5322 y Fl(stealth)20 b Fk(daemon.)34
9575 b(These)21 b(options)f(require)g(but)h(one)g(argumen)n(t:)32
9576 b(the)21 b(lo)r(cation)f(of)h(the)g(Unix)h(Domain)e(So)r(c)n(k)n(et)g
9577 (de\034ned)-32 5422 y(b)n(y)27 b(a)g(running)h Fl(stealth)g
9578 Fk(daemon.)p Black 92 5659 a Fh(\017)p Black 41 w Fk(When)33
9579 b(started)f(using)g(the)g Fg(+NOTRANS\(-{}-{}\))o(rel)o(oa)o(d)38
9580 b Fe(<)p Fg(uds)p Fe(>)30 b Fk(command-line)h(option,)j(the)e(stealth)h
9581 (dae-)175 5758 y(mon)22 b(that)h(created)f(the)g(Unix)h(Domain)f(So)r
9582 (c)n(k)n(et)g(reloads)f(its)h(p)r(olicy)g(\034le)h(\(and)f
9583 (skip-\034le\),)h(immediately)g(follo)n(w)n(ed)175 5858
9584 y(b)n(y)k(another)g(in)n(tegrit)n(y)g(scan;)p Black 1851
9585 6135 a(4)p Black eop end
9586 %%Page: 5 6
9587 TeXDict begin 5 5 bop -472 0 a
9588 SDict begin /product where{pop product(Distiller)search{pop pop pop
9589 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9590 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9591 grestore}if}{pop}ifelse}{pop}ifelse}if end
9592 -472 0 a 0 TeXcolorgray
9593 -513 133 a
9594 SDict begin H.S end
9595 -513 133 a -513 133 a
9596 SDict begin H.R end
9597 -513 133 a -513 133
9598 a
9599 SDict begin [/View [/XYZ H.V]/Dest (page.5) cvn /DEST pdfmark end
9600 -513 133 a Black Black Black Black 92 531 a Fh(\017)p
9601 Black 41 w Fk(When)23 b(started)g(using)f(the)h Fg(+NOTRANS\(-{}-{}\)r)
9602 o(er)o(un)37 b Fe(<)p Fg(uds)p Fe(>)21 b Fk(command-line)h(option,)h
9603 (the)h(stealth)e(daemon)175 631 y(that)28 b(created)f(the)h(Unix)g
9604 (Domain)f(So)r(c)n(k)n(et)g(p)r(erforms)g(another)f(in)n(tegrit)n(y)h
9605 (scan;)p Black 92 797 a Fh(\017)p Black 41 w Fk(When)39
9606 b(started)g(using)f(the)h Fg(+NOTRANS\(-{}-{}\)t)o(er)o(mi)o(nat)o(e)e
9607 Fe(<)p Fg(usd)p Fe(>)g Fk(command-line)h(option,)k(the)d(stealth)175
9608 897 y(daemon)27 b(that)h(created)f(the)h(Unix)f(Domain)h(So)r(c)n(k)n
9609 (et)f(terminates.)-32 1134 y(The)43 b(options)g Fg(+NOTRANS\(-{}-{}\))o
9610 (su)o(sp)o(end)37 b Fk(and)43 b Fg(+NOTRANS\(-{}-{}\))o(re)o(su)o(me)37
9611 b Fk(\(see)43 b(section)p 0 0 1 TeXcolorrgb 3161 1134
9612 a
9613 SDict begin H.S end
9614 3161 1134 a 0 0 1 TeXcolorrgb Fk(5.7)p 0 0 1 TeXcolorrgb
9615 3267 1080 a
9616 SDict begin H.R end
9617 3267 1080 a 3267 1134 a
9618 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
9619 /Link/Dest (section.5.7) cvn H.B /ANN pdfmark end
9620 3267 1134 a Black
9621 Fk(\))h(w)n(ere)f(imple-)-32 1233 y(men)n(ted)27 b(to)h(allo)n(w)e
9622 (safe)h(rotations)g(of)34 b Fl(stealth)p Fk('s)27 b(log-\034les.)-32
9623 1374 y
9624 SDict begin H.S end
9625 -32 1374 a -32 1374 a
9626 SDict begin 12 H.A end
9627 -32 1374 a -32 1374 a
9628 SDict begin [/View [/XYZ H.V]/Dest (section.1.1) cvn /DEST pdfmark
9629 end
9630 -32
9631 1374 a 205 x Fi(1.1)130 b(What's)43 b(new)h(in)g(Stealth)g(V.4.01.06)
9632 -32 1831 y Fk(With)28 b(4.00.00:)p Black 92 2085 a Fh(\017)p
9633 Black 41 w Fk(V)-7 b(ersion)41 b(3.00.00)e(w)n(as)h(only)g(short-liv)n
9634 (ed.)77 b(The)41 b(in)n(ter-pro)r(cess)e(comm)n(unication)i(using)f
9635 (signals)g(nev)n(er)h(ran)175 2184 y(smo)r(othly)-7 b(.)35
9636 b(V)-7 b(ersion)23 b(4.00.00)e(re-implemen)n(ts)i Fl(stealth)p
9637 Fk('s)g(in)n(ter-pro)r(cess)f(comm)n(unication)h(using)g(Unix)h(Domain)
9638 175 2284 y(So)r(c)n(k)n(ets.)p Black 92 2450 a Fh(\017)p
9639 Black 41 w Fk(Previously)e(required)g(absolute)g(\034le)h(paths)g(are)f
9640 (no)g(longer)g(required.)34 b(When)23 b(relativ)n(e)f(\034le)h(paths)g
9641 (are)f(used)g(with)175 2550 y(the)33 b Fl(stealth)g Fk(daemon)f(or)g
9642 (with)i Fl(stealth)e Fk(p)r(erforming)g(an)h(in)n(tegrit)n(y)f(scan)g
9643 (as)g(foreground)f(pro)r(cess)h(they)h(are)175 2649 y(in)n(terpreted)e
9644 (relativ)n(ely)f(to)i(the)g(curren)n(t)e(w)n(orking)g(directory)-7
9645 b(.)47 b(Relativ)n(e)31 b(\034le)h(lo)r(cations)f(for)g(options)g(sp)r
9646 (eci\034ed)175 2749 y(in)d(the)h(second)e(section)h(of)g(the)g(p)r
9647 (olicy)g(\034le)g(are)f(in)n(terpreted)g(relativ)n(e)g(to)h(the)g(lo)r
9648 (cation)g(of)g(the)g(p)r(olicy)g(\034le,)g(and)175 2849
9649 y(relativ)n(e)h(path)h(sp)r(eci\034cations)f(used)g(in)i(the)f(\034rst)
9650 f(section)h(of)f(the)i(p)r(olicy)e(\034le)h(are)f(in)n(terpreted)g
9651 (relativ)n(e)g(to)g(the)175 2948 y(p)r(olicy)f(\034le's)f
9652 Fg(USE)42 b(BASE)p Fk(.)p Black 92 3114 a Fh(\017)p Black
9653 41 w Fk(The)j(README.\035o)n(w)g(\034le)g(is)f(pro)n(vided)f(with)i
9654 (sev)n(eral)e(separately)g(pro)n(vided)g(illustrativ)n(e)g(images)h(in)
9655 g(the)175 3214 y(distribution-pro)n(vided)26 b(directory)i
9656 Fg(documentation/i)o(ma)o(ge)o(s)p Fk(.)p Black 92 3380
9657 a Fh(\017)p Black 41 w Fk(Sp)r(eci\034cations)h(for)f(the)h(logrotate)e
9658 (sp)r(eci\034cations)h(should)g(use)h(')p Fg(copytruncate)p
9659 Fk(')24 b(and)k(')p Fg(sharedscripts)p Fk(')c(\(see)175
9660 3480 y(section)p 0 0 1 TeXcolorrgb 452 3480 a
9661 SDict begin H.S end
9662 452 3480
9663 a 0 0 1 TeXcolorrgb Fk(5.7)p 0 0 1 TeXcolorrgb 558 3426
9664 a
9665 SDict begin H.R end
9666 558 3426 a 558 3480 a
9667 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
9668 /Link/Dest (section.5.7) cvn H.B /ANN pdfmark end
9669 558 3480 a Black 28 w Fk(for)j(an)g(example\))p
9670 Black 92 3646 a Fh(\017)p Black 41 w Fk(Examples)f(in)h(the)g(man)n
9671 (ual)e(still)i(use)f Fg(sha1sum)d Fk(when)k(c)n(hec)n(king)e(hash)h(v)
9672 -5 b(alues.)36 b(Stronger)24 b(hash)i(functions)h(\(lik)n(e)175
9673 3745 y Fg(sha256sum)p Fk(\))h(migh)n(t)j(b)r(e)g(preferred)f(in)i
9674 (practice.)46 b(When)32 b(up)r(dating)f(existing)g(p)r(olicy)g(\034les)
9675 g(to)g(use)g Fg(sha256sum)175 3845 y Fk(rather)c(than)g
9676 Fg(sha1sum)e Fk(realize)i(that)h Fg(sha256sum's)23 b
9677 Fk(hash)k(v)-5 b(alues)27 b(are)g(longer)f(than)i Fg(sha1sum's)c
9678 Fk(hash)j(v)-5 b(alues,)175 3944 y(and)37 b(that)f(therefore)g(log)g
9679 (\034les)g(obtained)h(when)f Fg(sha1sum)e Fk(w)n(as)i(used)g(are)g
9680 (incompatible)g(with)h(log)f(\034les)g(ob-)175 4044 y(tained)31
9681 b(when)h Fg(sha256sum)27 b Fk(w)n(as)j(used.)48 b(In)31
9682 b(practice)f(this)i(means)e(that)i(new)f(log)f(\034les)h(need)g(to)g(b)
9683 r(e)h(generated,)175 4144 y(disregarding)25 b(an)n(y)i(previously)f
9684 (geneerated)h(log)f(\034les.)p Black 1851 6135 a(5)p
9685 Black eop end
9686 %%Page: 6 7
9687 TeXDict begin 6 6 bop -472 0 a
9688 SDict begin /product where{pop product(Distiller)search{pop pop pop
9689 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9690 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9691 grestore}if}{pop}ifelse}{pop}ifelse}if end
9692 -472 0 a 0 TeXcolorgray
9693 -504 133 a
9694 SDict begin H.S end
9695 -504 133 a -504 133 a
9696 SDict begin H.R end
9697 -504 133 a -504 133
9698 a
9699 SDict begin [/View [/XYZ H.V]/Dest (page.6) cvn /DEST pdfmark end
9700 -504 133 a Black Black Black -32 448 a
9701 SDict begin H.S end
9702 -32 448 a -32
9703 448 a
9704 SDict begin 12 H.A end
9705 -32 448 a -32 448 a
9706 SDict begin [/View [/XYZ H.V]/Dest (chapter.2) cvn /DEST pdfmark end
9707 -32 448 a 777 x Fj(Chapter)60
9708 b(2)-32 1711 y Fm(Installation)-32 2213 y Fk(This)27
9709 b(c)n(hapter)g(describ)r(es)g Fl(stealth)p Fk('s)g(compilation)g(and)g
9710 (installation.)-32 2355 y
9711 SDict begin H.S end
9712 -32 2355 a -32 2355 a
9713 SDict begin 12 H.A end
9714 -32 2355
9715 a -32 2355 a
9716 SDict begin [/View [/XYZ H.V]/Dest (section.2.1) cvn /DEST pdfmark
9717 end
9718 -32 2355 a 204 x Fi(2.1)130 b(Compiling)45
9719 b(and)e(installing)j(Stealth)-32 2812 y Fk(After)32 b(do)n(wnloading)f
9720 (the)h Fl(stealth)g Fk(arc)n(hiv)n(e,)g(it)h(should)f(b)r(e)g(unpac)n
9721 (k)n(ed.)50 b(The)33 b(name)f(of)g(the)h(arc)n(hiv)n(e)d(is)i(of)h(the)
9722 f(form)-32 2911 y Fg(stealth-4.01.06)o(.t)o(ar.)o(gz)o
9723 Fk(,)27 b(where)32 b Fg(4.01.06)d Fk(is)j(a)f(v)n(ersion)f(n)n(um)n(b)r
9724 (er.)50 b(Belo)n(w,)32 b Fg(4.01.06)d Fk(should)j(b)r(e)g(altered)f(in)
9725 n(to)-32 3011 y(the)d(v)n(ersion)d(of)j(the)g(arc)n(hiv)n(e)e(that)i
9726 (is)f(actually)g(used.)-32 3181 y(Required,)40 b(non-standard)d(soft)n
9727 (w)n(are,)i(for)f(compiling)h Fl(stealth)f Fk(is)g(summarized)g(in)h
9728 (the)f(\034le)h Fg(required)p Fk(,)f(whic)n(h)g(is)-32
9729 3281 y(included)28 b(in)f(the)h(source)f(\034le)g(distribution.)37
9730 b(Curren)n(tly)-7 b(,)27 b(its)h(con)n(ten)n(ts)f(are:)p
9731 Black Black -32 3534 a Fg(This)41 b(file)h(lists)g(non-standard)c
9732 (software)i(only.)i(Thus,)f(standard)g(utilities)e(like)j(cp,)-32
9733 3634 y(mv,)g(sed,)g(etc,)g(etc,)g(are)g(not)g(explicitly)d(mentioned.)h
9734 (Neither)g(is)j(the)f(gcc)h(compiler)-32 3734 y(explicitly)c
9735 (mentioned,)g(but)k(a)g(fairly)e(recent)g(one)h(is)h(assumed.)-32
9736 3933 y(Required)d(software)g(for)i(building)e(Stealth:)-32
9737 4033 y(---------------)o(--)o(---)o(--)o(--)o(---)o(--)o(--)o(---)o(--)
9738 o(--)o(-)142 4232 y(libbobcat-dev)125 b(\(>=)42 b(4.02.00\))142
9739 4331 y(icmake)433 b(\(>=)42 b(8.01.00\))142 4431 y(yodl)521
9740 b(\(>=)42 b(3.08.01\))-32 4630 y(To)g(construct)e(the)i(user)g(guide:)
9741 142 4830 y(texlive-latex-ba)o(se)o(,)142 4929 y(texlive-generic-)o(re)o
9742 (co)o(mme)o(nd)o(ed)o(,)142 5029 y(texlive-latex-re)o(co)o(mm)o(end)o
9743 (ed)o(,)142 5128 y(texlive-fonts-re)o(co)o(mm)o(end)o(ed)o(,)142
9744 5228 y(cm-super-minimal)o(,)142 5328 y(ghostscript)p
9745 Black 92 5780 a Fh(\017)p Black 41 w Fl(Stealth)28 b
9746 Fk(compilation)g(is)g(con)n(trolled)f(b)n(y)i Fl(icmak)m(e)p
9747 Fk(\(1\).)39 b(The)28 b(program)e(main)n(tenance)i(utilit)n(y)i
9748 Fl(icmak)m(e)p Fk(\(1\))e(can)175 5880 y(b)r(e)41 b(obtained)f(at)g
9749 Fg(https://fbb-git.)o(gi)o(thu)o(b.)o(io)o(/ic)o(ma)o(ke)o(/)p
9750 Fk(,)e(and)i(it)h(is)f(also)f(a)n(v)-5 b(ailable)39 b(in)i(sev)n(eral)d
9751 (Lin)n(ux)p Black 1851 6135 a(6)p Black eop end
9752 %%Page: 7 8
9753 TeXDict begin 7 7 bop -472 0 a
9754 SDict begin /product where{pop product(Distiller)search{pop pop pop
9755 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9756 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9757 grestore}if}{pop}ifelse}{pop}ifelse}if end
9758 -472 0 a 0 TeXcolorgray
9759 -513 133 a
9760 SDict begin H.S end
9761 -513 133 a -513 133 a
9762 SDict begin H.R end
9763 -513 133 a -513 133
9764 a
9765 SDict begin [/View [/XYZ H.V]/Dest (page.7) cvn /DEST pdfmark end
9766 -513 133 a Black Black Black 175 531 a Fk(distributions)27
9767 b(\(e.g.,)h(Debian,)g(Ubun)n(tu\);)p Black 92 697 a Fh(\017)p
9768 Black 41 w Fk(Determine)f(a)g(directory)e(where)h(the)h(\034les)g(in)g
9769 Fl(stealth)p Fk('s)f(arc)n(hiv)n(e)f(ashould)h(b)r(e)h(stored.)36
9770 b(E.g.,)27 b(if)h(the)f(\034les)f(in)h(the)175 797 y(arc)n(hiv)n(e)e
9771 (should)g(b)r(e)i(stored)e(under)h Fg(/tmp)f Fk(\(and)h(assuming)f(the)
9772 i(arc)n(hiv)n(e)d(itself)j(is)f(stored)g(in)g Fg(/tmp)f
9773 Fk(as)g(w)n(ell\))h(then)175 897 y(do:)p Black Black
9774 349 1196 a Fg(cd)43 b(/tmp)349 1295 y(tar)g(xzf)f(stealth-_CurVers)o
9775 (_.)o(tar)o(.g)o(z)175 1594 y Fk(This)28 b(creates)e(a)h(sub)r
9776 (directory)h Fg(stealth)d Fk(con)n(taining)i Fl(stealth)p
9777 Fk('s)g(sources;)p Black 92 1760 a Fh(\017)p Black 41
9778 w Fk(Change-dir)f(to)i(that)f(directory:)p Black Black
9779 349 2059 a Fg(chdir)42 b(stealth)p Black 92 2358 a Fh(\017)p
9780 Black 41 w Fk(Chec)n(k)28 b(the)i(con)n(ten)n(ts)e(of)h(the)g(\034les)g
9781 Fg(INSTALL.im)c Fk(and)k Fg(icmconf)p Fk(,)d(and)j(v)n(erify)f(that)h
9782 (all)g Fg(#defines)c Fk(matc)n(h)k(y)n(our)175 2457 y(computer's)e
9783 (\034le)h(system)f(and)g(soft)n(w)n(are.)175 2590 y(When)59
9784 b(compiling)h Fl(stealth)p Fk(,)66 b(the)60 b Fg(bobcat)p
9785 0 0 1 TeXcolorrgb 1669 2590 a
9786 SDict begin H.S end
9787 1669 2590 a -30 x Fd(1)1703
9788 2590 y
9789 SDict begin 12 H.L end
9790 1703 2590 a 1703 2590 a
9791 SDict begin [/Subtype /Link/Dest (Hfootnote.1) cvn/H /I/Border [0 0
9792 0]BorderArrayPatch/Color [1 0 0] H.B /ANN pdfmark end
9793 1703 2590 a Black 59 w
9794 Fk(header)e(\034les)h(m)n(ust)g(b)r(e)g(a)n(v)-5 b(ailable.)129
9795 b(When)59 b Fl(stealth)g Fk(is)175 2690 y(run)51 b(it)h(is)g
9796 (dynamically)e(link)n(ed)i(against)e(the)i(b)r(ob)r(cat)f(library)-7
9797 b(.)107 b Fl(Bob)s(cat)52 b Fk(can)f(b)r(e)h(do)n(wnloaded)e(from)175
9798 2790 y Fg(https://github.c)o(om)o(/fb)o(b-)o(git)o(/b)o(ob)o(cat)o(/)34
9799 b Fk(\(and)40 b(follo)n(w)f(its)i(installation)e(instructions\).)74
9800 b(Alternativ)n(ely)-7 b(,)175 2889 y(b)r(ob)r(cat)31
9801 b(ma)n(y)e(b)r(e)i(a)n(v)-5 b(ailable)29 b(in)h(y)n(our)f
9802 (distribution,)i(\(e.g.,)g(Debian)g(or)e(Ubun)n(tu\).)46
9803 b(Mak)n(e)29 b(sure)h(to)g(install)g(b)r(oth)175 2989
9804 y(the)e(run-time)g(\()p Fl(b)s(ob)s(cat_...)p Fk(\))36
9805 b(and)27 b(the)h(dev)n(elopmen)n(t)f(\()p Fl(b)s(ob)s(cat-dev_...)p
9806 Fk(\))36 b(v)n(ersions.)p Black 92 3155 a Fh(\017)p Black
9807 41 w Fk(Execute)28 b(the)g(command)p Black Black 349
9808 3454 a Fg(./build)41 b(program)g(strip)175 3753 y Fk(This)28
9809 b(command)f(b)n(y)g(default)h(creates)e(the)i(program)e
9810 Fl(./tmp/bin/binary)p Fk(.)p Black 92 3919 a Fh(\017)p
9811 Black 41 w Fk(T)-7 b(o)27 b(install)h Fl(stealth)f Fk(and)g(its)h(do)r
9812 (cumen)n(tation,)f(sev)n(eral)f(commands)h(are)g(a)n(v)-5
9813 b(ailable:)p Black Black 306 4218 a Fg(./build)40 b(install)h(program)g
9814 ([path])g(-)i(installs)d(the)i(program)f(as)i(`path')1570
9815 4317 y(\(by)f(default)e(as)j(`/usr/bin/stealt)o(h'\))306
9816 4417 y(./build)d(install)h(man)h([base])129 b(-)43 b(install)d(the)j
9817 (man)f(pages)f(below)h(`base')1570 4516 y(\(by)g(default)e(below)i
9818 (`/usr/share/man/)o(ma)o(n1)o('\))306 4616 y(./build)e(install)h
9819 (manual)g([base]-)g(install)f(the)j(manual)e(below)g(`base')1570
9820 4716 y(\(by)h(default)e(below)1744 4815 y(`/usr/share/doc/)o(st)o(ea)o
9821 (lth)o(-d)o(oc)o(/ma)o(nu)o(al)o('\))306 4915 y(./build)g(install)h
9822 (std)h([base])129 b(-)43 b(install)d(standard)h(docs)g(below)h(`base')
9823 1570 5015 y(\(by)g(default)e(below)i(`/usr/share/doc/)o(st)o(ea)o(lth)o
9824 ('\))306 5114 y(./build)e(install)h(extra)h([base])f(-)i(install)d
9825 (extra)i(docs)g(below)f(`base')1570 5214 y(\(by)h(default)e(below)1744
9826 5313 y(`/usr/share/doc/)o(st)o(ea)o(lth)o(-d)o(oc)o('\))p
9827 Black -32 5808 1524 4 v 60 5862 a Fc(1)p 0 TeXcolorgray
9828 95 5885 a
9829 SDict begin H.S end
9830 95 5885 a 95 5885 a
9831 SDict begin H.R end
9832 95 5885 a 95 5885 a
9833 SDict begin [/View [/XYZ H.V]/Dest (Hfootnote.1) cvn /DEST pdfmark
9834 end
9835 95
9836 5885 a Black Fb(h)n(ttps://fbb-git.gith)n(ub.io/b)r(ob)r(cat/)p
9837 Black Black 1851 6135 a Fk(7)p Black eop end
9838 %%Page: 8 9
9839 TeXDict begin 8 8 bop -472 0 a
9840 SDict begin /product where{pop product(Distiller)search{pop pop pop
9841 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9842 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9843 grestore}if}{pop}ifelse}{pop}ifelse}if end
9844 -472 0 a 0 TeXcolorgray
9845 -504 133 a
9846 SDict begin H.S end
9847 -504 133 a -504 133 a
9848 SDict begin H.R end
9849 -504 133 a -504 133
9850 a
9851 SDict begin [/View [/XYZ H.V]/Dest (page.8) cvn /DEST pdfmark end
9852 -504 133 a Black Black Black -32 448 a
9853 SDict begin H.S end
9854 -32 448 a -32
9855 448 a
9856 SDict begin 12 H.A end
9857 -32 448 a -32 448 a
9858 SDict begin [/View [/XYZ H.V]/Dest (chapter.3) cvn /DEST pdfmark end
9859 -32 448 a 777 x Fj(Chapter)60
9860 b(3)-32 1711 y Fm(Gran)-6 b(ting)72 b(access)-32 2213
9861 y Fk(A)n(ccess)26 b(to)i(clien)n(ts)f(should)g(b)r(e)h(gran)n(ted)f
9862 (using)g(the)h Fg(ssh)e Fk(proto)r(col.)-32 2384 y(Clien)n(ts)d(m)n
9863 (ust)g(allo)n(w)f(the)i(monitor)f(to)g(connect)g(using)h
9864 Fg(ssh)p Fk(.)34 b Fl(Stealth)24 b Fk(connects)f(to)g(its)g(clien)n(ts)
9865 h(using)f(ssh)g(certi\034cates,)-32 2484 y(after)k(the)h(monitor's)e
9866 (public)i(SSH-k)n(ey)f(has)g(b)r(een)h(transferred)e(to)i(the)g(clien)n
9867 (ts.)-32 2616 y
9868 SDict begin H.S end
9869 -32 2616 a -32 2616 a
9870 SDict begin 12 H.A end
9871 -32 2616 a -32
9872 2616 a
9873 SDict begin [/View [/XYZ H.V]/Dest (subsection.3.0.1) cvn /DEST pdfmark
9874 end
9875 -32 2616 a 171 x Fa(3.0.1)112 b(The)38 b(monitor's)d(user:)51
9876 b(creating)36 b(an)i(ssh-k)m(ey)-32 3011 y Fk(The)27
9877 b(monitor's)g(user)g(calling)h Fl(stealth)f Fk(to)g(scan)g(the)h(clien)
9878 n(t)g(m)n(ust)g(\034rst)f(generate)f(an)h Fg(ssh-keypair)p
9879 Fk(:)p Black Black 142 3248 a Fg(ssh-keygen)39 b(-t)k(rsa)-32
9880 3485 y Fk(By)25 b(default)h(this)g(generates)f(a)g(public/priv)-5
9881 b(ate)26 b(ssh)f(k)n(ey-pair)f(in)i(the)g(directory)f
9882 Fg(.ssh)f Fk(in)i(the)g(user's)f(home)h(directory)-7
9883 b(.)-32 3584 y(The)25 b(program)f(asks)h(for)g(a)h Ff(p)l(assphr)l(ase)
9884 p Fk(.)38 b(A)26 b(passphrase)e(can)h(b)r(e)h(de\034ned)h(\(in)f(whic)n
9885 (h)g(case)f(it)h(m)n(ust)g(b)r(e)g(pro)n(viced)f(when)-32
9886 3684 y Fl(stealth)31 b Fk(is)h(started\))f(or,)h(if)g(the)g(securit)n
9887 (y)f(if)i(the)f(monitor)f(is)g(su\036cien)n(tly)h(guaran)n(teed,)f(it)h
9888 (can)g(remain)f(empt)n(y)-7 b(.)49 b(T)-7 b(o)-32 3784
9889 y(generate)26 b(an)h(ssh-k)n(ey)f(without)i(passphrase)e(simply)h
9890 (press)g Fg(Enter)f Fk(in)h(resp)r(onse)g(to)g(the)h(question)p
9891 Black Black 142 4020 a Fg(Enter)41 b(passphrase)f(\(empty)h(for)h(no)h
9892 (passphrase\):)-32 4257 y Fk(\(a)27 b(con\034rmation)f(is)i(required:)
9893 36 b(just)28 b(press)f Fg(Enter)e Fk(again\).)-32 4428
9894 y Fg(Ssh-keygen)e Fk(then)28 b(returns)f(a)g(k)n(ey)g(\034ngerprin)n
9895 (t,)g(e.g.,)p Black Black 142 4665 a Fg(03:96:49:63:8a:6)o(4:)o(33)o
9896 (:45)o(:7)o(9:)o(ab:)o(ca)o(:d)o(e:c)o(8:)o(c8)o(:4f)o(:e)o(9)38
9897 b(user@monitor)-32 4902 y Fk(whic)n(h)27 b(ma)n(y)g(b)r(e)h(sa)n(v)n
9898 (ed)e(for)h(future)h(reference.)-32 5072 y(In)40 b(the)g(user's)g
9899 Fg(.ssh)e Fk(directory)h(the)h(\034les)g Fg(id_rsa)e
9900 Fk(and)i Fg(id_rsa.pub)c Fk(are)j(no)n(w)g(created,)k(whic)n(h)d
9901 (completes)f(the)-32 5172 y(preparations)25 b(at)j(the)f(monitor.)-32
9902 5342 y(If,)d(instead)e(of)g(running)h Fl(stealth)g Fk(in)f(daemon)g(mo)
9903 r(de)h(it)g(is)f(preferred)f(to)i(let)f Fl(stealth)g
9904 Fk(p)r(erform)g(single,)h(but)g(automated)-32 5442 y(in)n(tegrit)n(y)e
9905 (scans,)i(then)h(new)g Fl(ssh)p Fk(\(1\))e(connections)g(ma)n(y)g(b)r
9906 (e)h(di\036cult)h(to)e(establish)h(if)g(the)g(used)g(ssh-k)n(ey)e(is)i
9907 (passphrase-)-32 5542 y(protected.)33 b(T)-7 b(o)20 b(implemen)n(t)g
9908 (this)f(scenario)f(\(i.e.,)k(automated)d(in)n(tegrit)n(y)g(scans)f
9909 (using)h(passphrase)f(protected)h(ssh-k)n(eys\))-32 5641
9910 y(the)28 b(program)d Fl(ssh-cron)p Fk(\(1\))i(can)h(pro\034tably)e(b)r
9911 (e)i(used.)p Black 1851 6135 a(8)p Black eop end
9912 %%Page: 9 10
9913 TeXDict begin 9 9 bop -472 0 a
9914 SDict begin /product where{pop product(Distiller)search{pop pop pop
9915 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
9916 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
9917 grestore}if}{pop}ifelse}{pop}ifelse}if end
9918 -472 0 a 0 TeXcolorgray
9919 -513 133 a
9920 SDict begin H.S end
9921 -513 133 a -513 133 a
9922 SDict begin H.R end
9923 -513 133 a -513 133
9924 a
9925 SDict begin [/View [/XYZ H.V]/Dest (page.9) cvn /DEST pdfmark end
9926 -513 133 a Black Black Black -32 448 a
9927 SDict begin H.S end
9928 -32 448 a -32
9929 448 a
9930 SDict begin 12 H.A end
9931 -32 448 a -32 448 a
9932 SDict begin [/View [/XYZ H.V]/Dest (subsection.3.0.2) cvn /DEST pdfmark
9933 end
9934 -32 448 a 83 x Fa(3.0.2)112
9935 b(The)38 b(clien)m(t's)d(accoun)m(t:)50 b(accepting)37
9936 b(ssh)h(from)f(the)g(monitor's)f(user)-32 755 y Fk(Next,)30
9937 b(at)g(the)g(clien)n(t's)g(accoun)n(t)f(where)g Fl(stealth)p
9938 Fk('s)g Fg(ssh)g Fk(command)g(connects)g(to)h(\(see)g(also)e(the)j
9939 Fg(USE)42 b(SSH)29 b Fk(sp)r(eci\034ca-)-32 855 y(tion)k(in)g(section)p
9940 0 0 1 TeXcolorrgb 529 855 a
9941 SDict begin H.S end
9942 529 855 a 0 0 1 TeXcolorrgb
9943 Fk(4.2)p 0 0 1 TeXcolorrgb 635 802 a
9944 SDict begin H.R end
9945 635 802 a 635 855
9946 a
9947 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
9948 /Link/Dest (section.4.2) cvn H.B /ANN pdfmark end
9949 635 855 a Black Fk(\))h(ssh-access)d(m)n(ust)i(b)r(e)h(gran)n(ted)e
9950 (to)h(the)g(monitor's)g(user.)53 b(T)-7 b(o)32 b(do)h(so,)h(the)g
9951 (monitor)e(user's)h(\034le)-32 955 y Fg(~/.ssh/id_rsa.p)o(ub)21
9952 b Fk(is)27 b(added)h(to)f(the)h(clien)n(t)g(accoun)n(t)f(user's)f
9953 (\034le)i Fg(~/.ssh/authorize)o(d_)o(key)o(s)p Fk(:)p
9954 Black Black 142 1163 a Fg(#)43 b(transfer)d(user@monitor's)e(file)k
9955 (id_rsa.pub)d(to)k(the)f(client's)e(/tmp)142 1263 y(#)j(directory.)c
9956 (Then)j(do:)142 1462 y(cat)g(/tmp/id_rsa.pub)37 b(>>)43
9957 b(/home/account/.s)o(sh)o(/au)o(th)o(ori)o(ze)o(d_)o(key)o(s)-32
9958 1671 y Fk(This)35 b(allo)n(ws)f(the)h(user)g(at)g(the)h(monitor)e(to)h
9959 (login)g(at)g(the)h(accoun)n(t)e(at)h(the)h(clien)n(t)f(without)h(sp)r
9960 (ecifying)f(the)h(clien)n(t)-32 1770 y(accoun)n(t's)20
9961 b(passw)n(ord)g(\(of)i(course,)g(if)h(the)f(ssh-k)n(ey)e(is)i
9962 (passphrase)e(protected)h(that)i(passphrase)c(m)n(ust)j(still)h(b)r(e)f
9963 (pro)n(vided)-32 1870 y(at)27 b(the)h(monitor)f(when)g(starting)h
9964 Fl(stealth)p Fk(\).)-32 2001 y
9965 SDict begin H.S end
9966 -32 2001 a -32 2001 a
9967 SDict begin 12 H.A end
9968
9969 -32 2001 a -32 2001 a
9970 SDict begin [/View [/XYZ H.V]/Dest (subsection.3.0.3) cvn /DEST pdfmark
9971 end
9972 -32 2001 a 166 x Fa(3.0.3)112 b(Logging)37
9973 b(in)m(to)f(the)i(accoun)m(t@clien)m(t)d(accoun)m(t)-32
9974 2391 y Fk(When)28 b(user@monitor)d(no)n(w)i(issues,)g(for)g(the)h
9975 (\034rst)f(time,)i(the)f(command)p Black Black 142 2600
9976 a Fg(ssh)42 b(account@monitor)-32 2808 y(Ssh)26 b Fk(resp)r(onds)h(lik)
9977 n(e)g(this:)p Black Black 142 3017 a Fg(The)42 b(authenticity)d(of)j
9978 (host)g('monitor)e(\(xxx.yyy.aaa.bbb\))o(')d(can't)42
9979 b(be)142 3117 y(established.)142 3216 y(RSA)g(key)g(fingerprint)d(is)k
9980 (c4:52:d6:a3:d4:6)o(5:)o(0d:)o(5e)o(:2e)o(:6)o(6:)o(d8:)o(ab)o(:d)o
9981 (e:a)o(d:)o(12)o(:be)o(.)142 3316 y(Are)f(you)g(sure)g(you)h(want)f(to)
9982 g(continue)e(connecting)g(\(yes/no\)?)-32 3524 y Fk(Answ)n(ering)27
9983 b Fg(yes)g Fk(results)g(in)g(the)h(message:)p Black Black
9984 142 3733 a Fg(Warning:)40 b(Permanently)f(added)i('monitor,xxx.yyy.)o
9985 (aa)o(a.b)o(bb)o(')c(\(RSA\))42 b(to)h(the)142 3833 y(list)f(of)g
9986 (known)g(hosts.)-32 4041 y Fk(The)30 b(next)h(time)g(a)f(login)f(is)i
9987 (attempted,)g(the)g(authen)n(ticit)n(y)g(question)f(is)g(not)g(ask)n
9988 (ed)g(an)n(y)n(ore.)43 b(Ho)n(w)n(ev)n(er,)29 b(the)i(prop)r(er)-32
9989 4141 y(v)-5 b(alue)26 b(of)h(the)g(host's)f(RSA)h(k)n(ey)f
9990 (\034ngerprin)n(t)g(\(i.e.,)h(the)g(k)n(ey)f(\034ngerprin)n(t)g(of)g
9991 (the)i Ff(client)34 b Fk(computer\))27 b(should)f Ff(always)35
9992 b Fk(b)r(e)-32 4240 y(v)n(eri\034ed)25 b(to)i(prev)n(en)n(t)f
9993 Ff(man)j(in)g(the)g(midd)t(le)35 b Fk(attac)n(ks.)g(The)27
9994 b(prop)r(er)f(v)-5 b(alue)26 b(ma)n(y)g(b)r(e)h(obtained)g(at)f(the)h
9995 (clien)n(t)g(b)n(y)f(issuing)-32 4340 y(there)h(the)h(command)p
9996 Black Black 142 4549 a Fg(ssh-keygen)39 b(-l)k(-f)g(/etc/ssh/ssh_ho)o
9997 (st)o(_rs)o(a_)o(ke)o(y.p)o(ub)-32 4757 y Fk(This)21
9998 b(should)h(sho)n(w)f(the)h(same)f(v)-5 b(alue)21 b(of)h(the)g
9999 (\034ngerprin)n(t)f(as)g(sho)n(wn)g(when)h(the)g(\034rst)g
10000 Fg(ssh)e Fk(connection)h(w)n(as)g(established.)-32 4857
10001 y(E.g.,)p Black Black 142 5165 a Fg(1024)42 b(c4:52:d6:a3:d4:)o(65:)o
10002 (0d)o(:5)o(e:2)o(e:)o(66)o(:d8)o(:a)o(b:)o(de:)o(ad)o(:12)o(:b)o(e)37
10003 b(ssh_host_rsa_key.)o(pu)o(b)-32 5293 y
10004 SDict begin H.S end
10005 -32 5293 a -32
10006 5293 a
10007 SDict begin 12 H.A end
10008 -32 5293 a -32 5293 a
10009 SDict begin [/View [/XYZ H.V]/Dest (subsection.3.0.4) cvn /DEST pdfmark
10010 end
10011 -32 5293 a 169 x Fa(3.0.4)112
10012 b(Using)37 b(the)g(prop)s(er)h(shell)-32 5686 y Fk(On)32
10013 b(order)g(to)h(minimize)h(the)f(amoun)n(t)g(of)g(clutter)g(and)g(p)r
10014 (ossibly)g(complications)f(when)h(only)g(a)f(simple)i(command-)-32
10015 5786 y(shell)44 b(is)f(required)g(for)h(executing)f(commands,)48
10016 b(it)c(is)g(suggested)f(to)h(use)g(a)f Fl(bash)p Fk(\(1\))i(shell)f
10017 (when)g(logging)e(in)n(to)-32 5885 y Fg(account@client)p
10018 Fk('s)21 b(accoun)n(t.)p Black 1851 6135 a(9)p Black
10019 eop end
10020 %%Page: 10 11
10021 TeXDict begin 10 10 bop -472 0 a
10022 SDict begin /product where{pop product(Distiller)search{pop pop pop
10023 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10024 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10025 grestore}if}{pop}ifelse}{pop}ifelse}if end
10026 -472 0 a 0 TeXcolorgray
10027 -504 133 a
10028 SDict begin H.S end
10029 -504 133 a -504 133 a
10030 SDict begin H.R end
10031 -504 133 a -504 133
10032 a
10033 SDict begin [/View [/XYZ H.V]/Dest (page.10) cvn /DEST pdfmark end
10034 -504 133 a Black Black Black -32 531 a Fk(When)23 b(another)f(shell)h
10035 (is)g(already)e(used)i(for)f Fg(account@client)p Fk(,)c(then)24
10036 b(an)e(extra)g(accoun)n(t)g(\(optionally)h(using)f(the)h(same)-32
10037 631 y Fg(UID)30 b Fk(as)h(the)h(original)e(accoun)n(t,)i(but)h(using)f
10038 Fl(sh)p Fk(\(1\))g(as)f(the)h(shell\),)h(could)e(b)r(e)i(de\034ned)f
10039 (in)g(the)g(clien)n(t's)f Fg(/etc/passwd)-32 731 y Fk(\034le.)37
10040 b(In)27 b(the)h Fl(passwd)p Fk(\(5\))g(\034le)f(this)h(could,)g(e.g.,)f
10041 (b)r(e)h(realized)e(for)h Ff(r)l(o)l(ot)36 b Fk(as)27
10042 b Ff(r)l(o)l(otsh)34 b Fk(as)27 b(follo)n(ws:)p Black
10043 Black 142 1067 a Fg(rootsh:x:0:0:roo)o(t:)o(/r)o(oot)o(:/)o(bi)o(n/b)o
10044 (as)o(h)-32 1304 y Fk(If)h(shado)n(w)e(passw)n(ording)f(is)j(used,)f(a)
10045 g(matc)n(hing)g(en)n(try)g(in)h(the)g Fg(/etc/shadow)23
10046 b Fk(\034le)28 b(is)f(required)g(as)g(w)n(ell.)p Black
10047 1831 6135 a(10)p Black eop end
10048 %%Page: 11 12
10049 TeXDict begin 11 11 bop -472 0 a
10050 SDict begin /product where{pop product(Distiller)search{pop pop pop
10051 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10052 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10053 grestore}if}{pop}ifelse}{pop}ifelse}if end
10054 -472 0 a 0 TeXcolorgray
10055 -513 133 a
10056 SDict begin H.S end
10057 -513 133 a -513 133 a
10058 SDict begin H.R end
10059 -513 133 a -513 133
10060 a
10061 SDict begin [/View [/XYZ H.V]/Dest (page.11) cvn /DEST pdfmark end
10062 -513 133 a Black Black Black -32 448 a
10063 SDict begin H.S end
10064 -32 448 a -32
10065 448 a
10066 SDict begin 12 H.A end
10067 -32 448 a -32 448 a
10068 SDict begin [/View [/XYZ H.V]/Dest (chapter.4) cvn /DEST pdfmark end
10069 -32 448 a 777 x Fj(Chapter)60
10070 b(4)-32 1711 y Fm(The)72 b(`p)6 b(olicy')73 b(\034le)-32
10071 2213 y Fl(Stealth)32 b Fk(uses)f(a)h(p)r(olicy)g(\034le)g(consisting)f
10072 (of)h(t)n(w)n(o)g(sections,)g(the)g(second)g(section)g(is)f(optional,)i
10073 (and)f(starts)f(at)h(a)g(line)-32 2313 y(merely)27 b(con)n(taining)g
10074 Fg(\045\045)p Fk(.)-32 2484 y(Eac)n(h)f(p)r(olicy)h(\034le)g(is)g
10075 (uniquely)g(asso)r(ciated)f(with)h(a)g(host)g(to)g(b)r(e)g(tested.)37
10076 b(Eac)n(h)27 b(host)f(ma)n(y)h(ha)n(v)n(e)f(m)n(ultiple)h(p)r(olicy)g
10077 (\034les,)-32 2583 y(though.)36 b(In)28 b(that)g(case,)e(eac)n(h)h(p)r
10078 (olicy)h(\034le)f(de\034nes)h(its)g(o)n(wn)f(set)g(of)h(c)n(hec)n(ks)e
10079 (to)h(b)r(e)h(p)r(erformed.)p Black 92 2811 a Fh(\017)p
10080 Black 41 w Fk(The)h(p)r(olicy)g(\034le's)g(\034rst)g(section)f
10081 (consists)h(of)g(t)n(w)n(o)f(sets)h(of)g(data:)39 b Ff(use)30
10082 b(dir)l(e)l(ctives)37 b Fk(\(starting)29 b(with)g(the)h(k)n(eyw)n(ord)
10083 175 2911 y Fl(USE)p Fk(\))e(and)g Ff(c)l(ommands)p Fk(.)p
10084 Black 92 3066 a Fh(\017)p Black 41 w Fk(The)j(\(optional\))g(second)f
10085 (section)g(starts)g(at)h(a)f(line)i(merely)e(con)n(taining)h
10086 Fg(\045\045)p Fk(.)46 b(F)-7 b(ollo)n(wing)29 b(this)i(separating)f
10087 (line)175 3166 y(sev)n(eral)19 b(long)h(option)g(sp)r(eci\034cations)g
10088 (can)g(b)r(e)h(en)n(tered)f(\(cf.)35 b(section)p 0 0 1
10089 TeXcolorrgb 2323 3166 a
10090 SDict begin H.S end
10091 2323 3166 a 0 0 1 TeXcolorrgb
10092 Fk(5.2)p 0 0 1 TeXcolorrgb 2430 3113 a
10093 SDict begin H.R end
10094 2430 3113 a 2430
10095 3166 a
10096 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
10097 /Link/Dest (section.5.2) cvn H.B /ANN pdfmark end
10098 2430 3166 a Black Fk(\).)f(Options)21 b(sp)r(eci\034ed)f(on)h
10099 (the)g(command-)175 3266 y(line)31 b(tak)n(e)f(priorit)n(y)f(o)n(v)n
10100 (er)g(options)h(sp)r(eci\034ed)h(in)g(the)g(p)r(olicy)f(\034le.)46
10101 b(Although)31 b(the)g Fg(+NOTRANS\(-{}-{}\))o(re)o(loa)o(d)175
10102 3365 y Fk(option)f(reloads)f(the)i(p)r(olicy)f(\034le,)h(it)g(will)f
10103 (not)h(c)n(hange)e(option)h(v)-5 b(alues)30 b(originally)e(sp)r
10104 (eci\034ed)j(as)e(command-line)175 3465 y(options.)175
10105 3593 y(This)h(section)f(ma)n(y)g(con)n(tain)g(sp)r(eci\034cations)h(of)
10106 f(the)i Fg(skip-files)25 b Fk(and)30 b Fg(log)f Fk(options.)43
10107 b(Relativ)n(e)29 b(\034le)h(lo)r(cations)175 3692 y(sp)r(eci\034ed)24
10108 b(for)f(these)h(options)f(are)f(in)n(terpreted)h(relativ)n(e)g(to)g
10109 (the)h(lo)r(cation)f(of)h(the)g(p)r(olicy)f(\034le.)36
10110 b(E.g.,)25 b(if)f(the)g(p)r(olicy)175 3792 y(\034le)f(argumen)n(t)f(is)
10111 h(sp)r(eci\034ed)g(as)g Fg(/root/client/po)o(li)o(cy)17
10112 b Fk(then)23 b(the)h(sp)r(eci\034cation)e Fg(log:)86
10113 b(client.log)18 b Fk(results)175 3892 y(in)28 b Fl(stealth)f
10114 Fk(writing)g(its)h(logs)f(in)n(to)g(the)h(\034le)g Fg(/root/client/cl)o
10115 (ie)o(nt)o(.lo)o(g)p Fk(.)-32 4119 y(The)k(p)r(olicy)g(\034le's)g
10116 (\034rst)h(section)f(consists)f(of)h(three)h(sets)f(of)g(data:)46
10117 b Ff(de\034ne)34 b(dir)l(e)l(ctives)40 b Fk(\(starting)32
10118 b(with)h(the)g(k)n(eyw)n(ord)-32 4219 y Fl(DEFINE)p Fk(\),)27
10119 b Ff(use)j(dir)l(e)l(ctives)35 b Fk(\(starting)27 b(with)h(the)g(k)n
10120 (eyw)n(ord)e Fl(USE)p Fk(\))i(and)f Ff(c)l(ommands)p
10121 Fk(.)-32 4390 y(Directiv)n(es)f(are)h(written)h(in)g(capitals,)e(and)i
10122 (should)f(app)r(ear)g(exactly)g(as)g(written)g(b)r(elo)n(w.)-32
10123 4560 y(Blank)j(lines)h(and)g(information)g(b)r(ey)n(ond)g(hash-marks)e
10124 (\(#\))j(are)e(ignored,)h(while)h(lines)f(follo)n(wing)f(lines)h
10125 (terminating)-32 4660 y(in)25 b(bac)n(kslashes)e(\(\\)i(\))g(will)h(b)r
10126 (e)f(concatenated)f(\()p Ff(en)k(p)l(assant)33 b Fk(remo)n(ving)24
10127 b(these)h(bac)n(kslashes\).)34 b(Leading)24 b(white)i(space)e(on)-32
10128 4759 y(lines)j(of)h(the)g(p)r(olicy)f(\034le)h(is)f(ignored.)-32
10129 4896 y
10130 SDict begin H.S end
10131 -32 4896 a -32 4896 a
10132 SDict begin 12 H.A end
10133 -32 4896 a -32 4896 a
10134 SDict begin [/View [/XYZ H.V]/Dest (section.4.1) cvn /DEST pdfmark
10135 end
10136 -32
10137 4896 a 204 x Fi(4.1)130 b(DEFINE)44 b(directiv)l(es)-32
10138 5353 y Fg(DEFINE)27 b Fk(directiv)n(es)i(can)g(b)r(e)h(used)g(to)f
10139 (de\034ne)h(sym)n(b)r(ols)f(for)h(longer)e(strings.)42
10140 b(A)30 b Fg(DEFINE)e Fk(directiv)n(e)h(is)g(constructed)g(as)-32
10141 5453 y(follo)n(ws:)p Black Black 142 5669 a Fg(DEFINE)41
10142 b(name)216 b(that)42 b(what)g(is)h(defined)d(by)j(`name')-32
10143 5885 y Fk(Here,)p Black 1831 6135 a(11)p Black eop end
10144 %%Page: 12 13
10145 TeXDict begin 12 12 bop -472 0 a
10146 SDict begin /product where{pop product(Distiller)search{pop pop pop
10147 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10148 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10149 grestore}if}{pop}ifelse}{pop}ifelse}if end
10150 -472 0 a 0 TeXcolorgray
10151 -504 133 a
10152 SDict begin H.S end
10153 -504 133 a -504 133 a
10154 SDict begin H.R end
10155 -504 133 a -504 133
10156 a
10157 SDict begin [/View [/XYZ H.V]/Dest (page.12) cvn /DEST pdfmark end
10158 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
10159 Black 41 w Fk(the)21 b Fg(name)d Fk(follo)n(wing)j Fg(DEFINE)c
10160 Fk(is)j(the)h(sym)n(b)r(ol)f(that)g(ma)n(y)g(b)r(e)g(used)g(in)h
10161 Fg(USE)e Fk(directiv)n(es)g(\(see)h(b)r(elo)n(w\))g(and)g
10162 Fg(commands)175 631 y Fk(\(see)28 b(b)r(elo)n(w\).)p
10163 Black 92 791 a Fh(\017)p Black 41 w Fg(DEFINE)22 b Fk(sym)n(b)r(ols)i
10164 (can)h(b)r(e)g(used)g(in)g(other)f Fg(DEFINE)e Fk(sym)n(b)r(ols.)35
10165 b(Ho)n(w)n(ev)n(er,)23 b(it)j(is)e(the)h(resp)r(onsibilit)n(y)f(of)h
10166 (the)g(p)r(olicy)175 891 y(\034le's)j(author)e(to)i(mak)n(e)f(sure)f
10167 (that)i(\(indirect\))g(circular)f(de\034nitions)g(are)g(a)n(v)n(oided.)
10168 35 b(E.g.,)28 b(after:)p Black Black 349 1075 a Fg(DEFINE)41
10169 b(A)174 b(${B})349 1174 y(DEFINE)41 b(B)174 b(${A})349
10170 1274 y(DEFINE)41 b(C)174 b(${C})349 1473 y(USE)43 b(MAILARGS)d(${A})i
10171 (${B})g(${C})175 1657 y(MAILARGS)24 b Fk(will)k(b)r(e)g(expanded)f(to)p
10172 Black Black 393 1841 a Fg(${A})42 b(${A})g(${C})p Black
10173 92 2026 a Fh(\017)p Black 41 w Fk(The)28 b(text)g(follo)n(wing)f
10174 Fg(DEFINE)41 b(name)26 b Fk(is)i(then)g(inserted)f(literally)g(in)n(to)
10175 g(the)h Fg(USE)f Fk(directiv)n(e)f(or)h Fg(command)p
10176 Fk(.)175 2155 y(Example:)p Black Black 349 2339 a Fg(DEFINE)85
10177 b(SSH)391 b(/usr/bin/ssh)38 b(frank@localhost)g(-q)349
10178 2439 y(DEFINE)85 b(EXECSHA1)215 b(-xdev)41 b(-perm)g(/111)86
10179 b(-type)41 b(f)j(-exec)d(/usr/bin/sha1sum)c({})42 b(\\;)175
10180 2623 y Fk(The)22 b(sym)n(b)r(ols)e(de\034ned)i(b)n(y)g
10181 Fg(DEFINE)d Fk(directiv)n(es)h(ma)n(y)h(consist)g(of)g(letters,)h
10182 (digits)g(and)f(the)g(underscore)f(c)n(haracters)175
10183 2723 y(\()p Fg(_)p Fk(\).)35 b(In)20 b(the)g(de\034nition)h(of)f(the)g
10184 (sym)n(b)r(ol)g(an)n(y)f(c)n(haracter)f(can)i(b)r(e)g(used.)35
10185 b(Ho)n(w)n(ev)n(er,)19 b(initial)i(and/or)d(trailing)h(blanks)175
10186 2822 y(are)27 b(remo)n(v)n(ed)f(from)h(de\034nitions.)175
10187 2952 y(T)-7 b(o)27 b(insert)h(a)f(de\034nition)h(in)n(to)f(a)g
10188 Fg(USE)g Fk(directiv)n(e)f(or)h Fg(command)e Fk(use)i(the)h(form)p
10189 Black Black 349 3136 a Fg(${name})175 3320 y Fk(E.g.,)g
10190 Fg(${EXECSHA1})p Fk(.)k(Concrete)27 b(examples)g(are)f(pro)n(vided)h(b)
10191 r(elo)n(w.)-32 3459 y
10192 SDict begin H.S end
10193 -32 3459 a -32 3459 a
10194 SDict begin 12 H.A end
10195 -32 3459
10196 a -32 3459 a
10197 SDict begin [/View [/XYZ H.V]/Dest (section.4.2) cvn /DEST pdfmark
10198 end
10199 -32 3459 a 204 x Fi(4.2)130 b(USE)44 b(directiv)l(es)-32
10200 3916 y Fg(USE)30 b Fk(directiv)n(es)h(pro)n(vide)g Fl(stealth)g
10201 Fk(with)h(argumen)n(ts)f(whic)n(h)g(ma)n(y)g(b)r(e)i(conditional)e(to)g
10202 (a)h(certain)f(installation.)49 b(The)-32 4016 y(follo)n(wing)27
10203 b Fl(USE)h Fk(directiv)n(es)f(are)f(supp)r(orted:)p Black
10204 92 4240 a Fh(\017)p Black 41 w Fl(USE)32 b(BASE)c Fg(basedirectory)175
10205 4370 y Fl(BASE)33 b Fk(de\034nes)g(the)g(directory)e(from)i(where)f
10206 Fl(stealth)h Fk(op)r(erates.)51 b(All)34 b(relativ)n(e)d(path)i(sp)r
10207 (eci\034cations)f(in)i(this)175 4470 y(section)e(of)h(the)g(p)r(olicy)f
10208 (\034le)h(are)f(in)n(terpreted)g(relativ)n(e)f(to)i Fl(BASE)p
10209 Fk(.)f Ff(By)j(default)42 b Fk(this)33 b(is)f(the)h(directory)e(where)
10210 175 4569 y Fl(stealth)c Fk(w)n(as)g(started.)175 4699
10211 y(If)h(necessary)-7 b(,)26 b Fl(stealth)h Fk(creates)g(all)g
10212 Fl(BASE)g Fk(and)h(other)f(directories)f(b)r(elo)n(w)i
10213 Fg(BASE)p Fk(.)175 4829 y(Example:)37 b(using)27 b(the)h(sp)r
10214 (eci\034cation)p Black Black 349 5013 a Fg(USE)43 b(BASE)f
10215 (/root/client)175 5197 y Fk(results)19 b(in)g(all)g(information)f
10216 (generated)g(b)n(y)i Fl(stealth)e Fk(b)r(eing)h(written)h(in)f(or)f(b)r
10217 (elo)n(w)h(the)g(directory)g Fg(/root/client)p Fk(.)p
10218 Black 92 5357 a Fh(\017)p Black 41 w Fl(USE)32 b(DD)c
10219 Fe(<)p Fg(dd)p Fe(>)175 5457 y Fk(The)e Fl(DD)h Fk(sp)r(eci\034cation)e
10220 (uses)h Fg(/bin/dd)d Fk(as)i(default,)i(and)f(de\034nes)g(the)g(lo)r
10221 (cation)g(of)g(the)g Fl(dd)p Fk(\(1\))g(program,)e(b)r(oth)175
10222 5556 y(on)30 b(the)g(serv)n(er)e(and)i(on)g(the)g(clien)n(t.)45
10223 b(The)30 b Fl(DD)g Fk(program)e(is)i(used)g(to)g(cop)n(y)f(\034les)h(b)
10224 r(et)n(w)n(een)g(the)g(clien)n(t)h(and)e(the)175 5656
10225 y(monitor)i(without)g(creating)f(separate)g(ssh-connections.)47
10226 b(The)31 b Fl(DD)h Fk(program)d(is)i(only)g(used)g(b)n(y)h
10227 Fl(stealth)f Fk(for)175 5756 y(the)d Fg(PUT)e Fk(and)i
10228 Fg(GET)e Fk(commands,)h(describ)r(ed)g(b)r(elo)n(w.)175
10229 5885 y(Example)h(sho)n(wing)e(the)i(default:)p Black
10230 1831 6135 a(12)p Black eop end
10231 %%Page: 13 14
10232 TeXDict begin 13 13 bop -472 0 a
10233 SDict begin /product where{pop product(Distiller)search{pop pop pop
10234 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10235 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10236 grestore}if}{pop}ifelse}{pop}ifelse}if end
10237 -472 0 a 0 TeXcolorgray
10238 -513 133 a
10239 SDict begin H.S end
10240 -513 133 a -513 133 a
10241 SDict begin H.R end
10242 -513 133 a -513 133
10243 a
10244 SDict begin [/View [/XYZ H.V]/Dest (page.13) cvn /DEST pdfmark end
10245 -513 133 a Black Black Black Black Black 349 531 a
10246 Fg(USE)43 b(DD)f(/bin/dd)p Black 92 729 a Fh(\017)p Black
10247 41 w Fl(USE)32 b(DIFF)c Fg(path-to-diff)175 862 y Fk(The)39
10248 b Fl(DIFF)g Fk(sp)r(eci\034cation)f(uses)g Fg(/usr/bin/diff)33
10249 b Fk(as)38 b(default,)k(and)d(de\034nes)f(the)h(lo)r(cation)f(of)g(the)
10250 h Fl(di\033)9 b Fk(\(1\))175 961 y(program.)34 b(The)26
10251 b Fl(di\033)9 b Fk(\(1\))26 b(program)e(is)h(used)h(to)g(compare)f(a)g
10252 (formerly)g(created)g(log\034le)g(of)h(an)g(in)n(tegrit)n(y)f(c)n(hec)n
10253 (k)g(to)175 1061 y(a)i(newly)h(created)f(log\034le.)175
10254 1193 y(Example)h(sho)n(wing)e(the)i(default:)p Black
10255 Black 349 1391 a Fg(USE)43 b(DIFF)f(/usr/bin/diff)p Black
10256 92 1589 a Fh(\017)p Black 41 w Fl(USE)32 b(DIFFPREFIX)c
10257 Fe(<)p Fg(prefix)p Fe(>)175 1722 y Fk(The)c Fl(DIFFPREFIX)g
10258 Fk(sp)r(eci\034cation)g(de\034nes)f(the)i(size)e(of)h(the)g(pre\034x)f
10259 (added)h(b)n(y)f(the)i Fg(DIFF)d Fk(command)h(to)h(lines)175
10260 1821 y(pro)r(duced)33 b(b)n(y)f(commands)g(executed)h(through)f
10261 Fl(stealth)p Fk(.)52 b(The)33 b(default)h Fg(/usr/bin/diff)27
10262 b Fk(program)k(pre\034xes)175 1921 y(lines)d(b)n(y)f(either)g(`)p
10263 Fe(>)44 b Fk(')27 b(or)g(`)p Fe(<)43 b Fk('.)37 b(The)28
10264 b(default)g(v)-5 b(alue)27 b(for)g Fe(<)p Fg(prefix)p
10265 Fe(>)d Fk(therefore)j(equals)g(2.)175 2053 y(Example)h(sho)n(wing)e
10266 (the)i(default:)p Black Black 349 2251 a Fg(USE)43 b(DIFFPREFIX)c(2)p
10267 Black 92 2449 a Fh(\017)p Black 41 w Fl(USE)32 b(EMAIL)c
10268 Fg(address)175 2582 y Fk(The)j Fl(EMAIL)f Fk(sp)r(eci\034cation)g
10269 (de\034nes)h(the)f(email-address)f(to)h(e-mail)g(the)h(clien)n(t's)f
10270 (in)n(tegrit)n(y)f(scan)h(rep)r(ort)g(to.)175 2681 y(Mail)d(is)h(only)f
10271 (sen)n(t)g(when)h(information)f(has)g(c)n(hanged.)175
10272 2814 y(Example)h(sho)n(wing)e(the)i(default:)p Black
10273 Black 349 3011 a Fg(USE)43 b(EMAIL)e(root)p Black 92
10274 3209 a Fh(\017)p Black 41 w Fl(USE)32 b(MAILER)27 b Fg(mailer)175
10275 3342 y Fk(The)36 b Fl(MAILER)g Fk(sp)r(eci\034cation)g(de\034nes)g(the)
10276 h(program)d(that)i(is)g(used)h(to)f(send)g(the)g(mail)g(to)g(the)h
10277 Fl(EMAIL)p Fk(-)175 3441 y(address.)f(By)27 b(default)h(this)g(is)f
10278 Fl(/usr/bin/mail)p Fk(\(1\).)35 b(The)28 b Fl(MAILER)f
10279 Fk(program)e(is)j(called)f(as)g(follo)n(ws:)p Black Black
10280 349 3639 a Fg(MAILER)85 b(MAILARGS)40 b(EMAIL)175 3837
10281 y Fk(\()p Fg(MAILARGS)p Fk(:)24 b(see)i(b)r(elo)n(w\).)37
10282 b(The)26 b(information)g(to)h(b)r(e)g(mailed)g(is)f(read)g(from)g
10283 Fg(MAILER)p Fk('s)e(standard)i(input)i(stream.)175 3970
10284 y(Example)g(sho)n(wing)e(the)i(default:)p Black Black
10285 349 4167 a Fg(USE)43 b(MAILER)e(/usr/bin/mail)p Black
10286 92 4365 a Fh(\017)p Black 41 w Fl(USE)31 b(MAILAR)m(GS)d
10287 Fg(arguments)23 b Fk(The)j Fl(MAILAR)m(GS)i Fk(sp)r(eci\034cation)e
10288 (de\034nes)h(the)g(argumen)n(ts)e(to)i(b)r(e)g(to)f(b)r(e)175
10289 4465 y(passed)h(to)g(the)h Fg(MAILER)d Fk(program.)35
10290 b(By)27 b(default)h(this)g(is)p Black Black 349 4663
10291 a Fg(USE)43 b(MAILARGS)d(-s)j("STEALTH)d(scan)i(report")175
10292 4860 y Fk(Note)35 b(that)g(blanks)g(ma)n(y)f(b)r(e)h(used)g(in)h(the)f
10293 (sub)5 b(ject)35 b(sp)r(eci\034cation:)51 b(use)35 b(double)g(or)f
10294 (single)g(quotes)h(to)g(de\034ne)175 4960 y(elemen)n(ts)h(con)n
10295 (taining)f(blanks.)62 b(Use)36 b Fg(\\")g Fk(to)g(use)g(a)g(double)g
10296 (quote)f(in)i(a)f(string)f(that)i(is)f(itself)g(delimited)h(b)n(y)175
10297 5060 y(double)28 b(quotes,)f(use)g Fg(\\')g Fk(to)g(use)h(a)f(single)g
10298 (quote)g(in)h(a)f(string)g(that)h(is)f(itself)h(delimited)h(b)n(y)e
10299 (single)g(quotes.)175 5192 y(Subtlet)n(y:)37 b(in)28
10300 b(constructions)f(lik)n(e)p Black Black 349 5390 a Fg(USE)43
10301 b(MAILARGS)d(")j('t)g(was)f(brillig)f(")i(and)f('t)h(went)f(well)175
10302 5588 y Fk(the)28 b(follo)n(wing)f(argumen)n(ts)f(are)g(passed)h(to)g
10303 Fg(MAILER)p Fk(:)p Black 269 5753 a Fl(\025)p Black 41
10304 w Fg(")43 b('t)g(was)f(brillig)f(")p Black 269 5885 a
10305 Fl(\025)p Black 41 w Fg(and)p Black 1831 6135 a Fk(13)p
10306 Black eop end
10307 %%Page: 14 15
10308 TeXDict begin 14 14 bop -472 0 a
10309 SDict begin /product where{pop product(Distiller)search{pop pop pop
10310 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10311 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10312 grestore}if}{pop}ifelse}{pop}ifelse}if end
10313 -472 0 a 0 TeXcolorgray
10314 -504 133 a
10315 SDict begin H.S end
10316 -504 133 a -504 133 a
10317 SDict begin H.R end
10318 -504 133 a -504 133
10319 a
10320 SDict begin [/View [/XYZ H.V]/Dest (page.14) cvn /DEST pdfmark end
10321 -504 133 a Black Black Black Black 269 531 a Fl(\025)p
10322 Black 41 w Fg('t)p Black 269 659 a Fl(\025)p Black 41
10323 w Fg(went)p Black 269 786 a Fl(\025)p Black 41 w Fg(well)175
10324 946 y Fk(So,)38 b(when)e(single-)f(and)g(double-quoted)g(strings)g(o)n
10325 (v)n(erlap,)h(the)g(\034rst)g(string)f(is)h(tak)n(en)f(as)g(a)h
10326 (string,)h(and)e(the)175 1046 y(information)27 b(b)r(ey)n(ond)g(the)h
10327 (\034rst)f(string)g(is)h(thereup)r(on)f(in)n(terpreted.)p
10328 Black 92 1206 a Fh(\017)p Black 41 w Fl(USE)32 b(REPOR)-8
10329 b(T)27 b Fe(<)p Fg(file-spec)p Fe(>)175 1306 y Fl(REPOR)-8
10330 b(T)28 b Fk(de\034nes)h(the)f(name)h(of)f(the)h(rep)r(ort\034le.)39
10331 b(Information)28 b(is)g(alw)n(a)n(ys)f(app)r(ended)i(to)f(this)h
10332 (\034le.)40 b(A)n(t)29 b(eac)n(h)175 1406 y Fl(stealth)23
10333 b Fk(in)n(tegrit)n(y)g(scan)g(a)g Ff(time)j(marker)h(line)j
10334 Fk(is)24 b(written)g(to)f(the)h(rep)r(ort)f(\034le.)35
10335 b(Only)24 b(when)f(\(in)i(addition)e(to)g(the)175 1505
10336 y(mark)n(er)k(line\))j(additional)e(information)h(is)g(app)r(ended)g
10337 (to)g(the)h(rep)r(ort)e(\034le)h(the)h(added)f(con)n(ten)n(ts)f(of)h
10338 (the)h(rep)r(ort)175 1605 y(\034le)c(are)f(mailed)h(to)g(the)h(mail)f
10339 (address)e(sp)r(eci\034ed)j(in)f(the)g Fl(USE)31 b(EMAIL)26
10340 b Fk(sp)r(eci\034cation.)36 b(When)26 b(a)g(relativ)n(e)f(\034le)175
10341 1704 y(sp)r(eci\034cation)i(is)h(used)f(it)h(is)g(in)n(terpreted)f(a)g
10342 (lo)r(cation)g(relativ)n(e)f(to)i(the)f Fg(USE)43 b(BASE)26
10343 b Fk(sp)r(eci\034cation.)175 1804 y(Example)i(sho)n(wing)e(the)i
10344 (default:)175 1904 y Fg(USE)42 b(REPORT)f(report)p Black
10345 92 2064 a Fh(\017)p Black 41 w Fl(USE)32 b(SH)c Fe(<)p
10346 Fg(sh)p Fe(>)175 2164 y Fk(The)g Fl(SH)h Fk(sp)r(eci\034cation)e(uses)h
10347 Fg(/bin/sh)e Fk(as)h(default,)i(and)g(de\034nes)f(the)g(command)g
10348 (shell)h(used)f(b)n(y)g(the)h(monitor)175 2263 y(to)f(execute)f
10349 (commands)g(on)g(itself.)37 b(This)28 b(m)n(ust)g(b)r(e)g(an)f
10350 (absolute)g(path)g(sp)r(eci\034cation.)175 2363 y(Example)h(sho)n(wing)
10351 e(the)i(default:)175 2463 y Fg(USE)42 b(SH)h(/bin/sh)p
10352 Black 92 2623 a Fh(\017)p Black 41 w Fl(USE)32 b(SSH)c
10353 Fe(<)p Fg(user)p Fe(>)175 2723 y Fl(The)35 b(SSH)f(sp)s(eci\034cation)g
10354 (has)g(no)g(default)p Fk(,)d(and)e Ff(must)37 b Fk(b)r(e)30
10355 b(sp)r(eci\034ed.)44 b(This)30 b(m)n(ust)g(b)r(e)g(an)g(absolute)f
10356 (path)175 2822 y(sp)r(eci\034cation.)175 2952 y(Assuming)k(the)h(clien)
10357 n(t)f Ff(trusts)39 b Fk(the)33 b(monitor)g(\(whic)n(h)g(is)h(after)e
10358 (all)h(what)h(this)f(program)e(is)i(all)g(ab)r(out,)i(so)e(this)175
10359 3052 y(should)h(not)g(b)r(e)g(a)g(v)n(ery)f(strong)f(assumption\),)k
10360 (preferably)c(the)j(public)f(ssh)g(k)n(ey)f(of)h(the)g(monitor)g
10361 (should)f(b)r(e)175 3152 y(placed)21 b(in)h(the)g(clien)n(t's)g(ro)r
10362 (ot)e Fg(.ssh/authorized_k)o(ey)o(s)c Fk(\034le,)23 b(gran)n(ting)c
10363 (the)j(monitor)f(ro)r(ot)g(access)f(to)i(the)g(clien)n(t.)175
10364 3251 y(Ro)r(ot)27 b(access)g(is)g(normally)g(needed)g(to)h(gain)f
10365 (access)f(to)h(all)h(directories)e(and)h(\034les)h(of)f(the)h(clien)n
10366 (t's)g(\034le)f(system.)175 3381 y(In)39 b(practice,)h(connecting)e(to)
10367 g(an)g(accoun)n(t)g(using)g(the)h Fl(sh)p Fk(\(1\))f(shell)h(is)f
10368 (preferred.)68 b(When)39 b(another)f(shell)g(is)175 3481
10369 y(already)24 b(used)h(b)n(y)g(that)h(accoun)n(t,)e(one)h(should)g(mak)n
10370 (e)g(sure)f(that)i(its)f(shell)g(do)r(esn't)h(de\034ne)f(its)h(o)n(wn)e
10371 (redirections)175 3581 y(for)30 b(standard)g(input)h(and)f(standard)g
10372 (output.)46 b(One)30 b(w)n(a)n(y)f(to)h(accomplish)g(that)h(is)f(for)g
10373 (force)g(the)h(execution)f(of)175 3680 y Fg(/bin/sh)25
10374 b Fk(in)j(the)g Fl(USE)k(SSH)27 b Fk(sp)r(eci\034cation.)175
10375 3810 y(An)h(example)f(of)h(an)f Fg(SSH)f Fk(sp)r(eci\034cation)i(to)f
10376 (scan)g(a)g(lo)r(calhost)g(is:)p Black Black 349 4095
10377 a Fg(USE)43 b(SSH)f(root@localhost)c(-T)k(-q)697 b(#)43
10378 b(root's)e(shell)g(is)i(/bin/sh)175 4280 y Fk(The)28
10379 b(same,)f(no)n(w)g(explicitly)g(using)i Fg(/bin/bash)p
10380 Fk(:)p Black Black 349 4565 a Fg(USE)43 b(SSH)f(root@localhost)c(-T)k
10381 (-q)h(exec)f(/bin/bash)e(#)j(root)f(uses)g(another)e(shell)175
10382 4751 y Fk(Alternativ)n(ely)-7 b(,)27 b Fg(+NOTRANS\(-{}-{}\))o(no)o
10383 (pro)o(fi)o(le)21 b Fk(can)27 b(b)r(e)h(sp)r(eci\034ed)g(to)g(prev)n
10384 (en)n(t)e(an)n(y)h(pro\034le-initialization:)p Black
10385 Black 349 5036 a Fg(USE)43 b(SSH)f(root@localhost)c(-T)k(-q)h(exec)f
10386 (/bin/bash)e(--noprofile)-32 5261 y Fk(In)27 b(some)f(installations)h
10387 Fl(stealth)f Fk(is)h(used)h(to)f(insp)r(ect)g(the)h(monitor)e(itself,)i
10388 (ev)n(en)e(though)h(this)h(is)f Ff(not)34 b Fk(recommended,)-32
10389 5361 y(as)25 b(it)i(breaks)e(one)g(of)i(the)f(main)g(reasons)e(for)i
10390 Fl(stealth)p Fk('s)g(existence.)36 b(But)26 b(in)h(those)f(situations)f
10391 (\(so,)h(where)g Fl(stealth)g Fk(is)-32 5460 y(used)i(to)h(monitor)e
10392 (the)i(in)n(tegrit)n(y)f(of)h(the)g Fg(localhost)p Fk(\),)c
10393 Fg(/bin/bash)g Fk(could)j(b)r(e)h(sp)r(eci\034ed)g(at)g(the)g
10394 Fg(USE)42 b(SSH)27 b Fk(directiv)n(e.)-32 5560 y(F)-7
10395 b(or)27 b(example:)p Black Black 142 5786 a Fg(#)43 b(For)f(stealth)f
10396 (inspecting)e(localhost:)316 5885 y(USE)j(SSH)h(/bin/bash)d
10397 (--noprofile)p Black 1831 6135 a Fk(14)p Black eop end
10398 %%Page: 15 16
10399 TeXDict begin 15 15 bop -472 0 a
10400 SDict begin /product where{pop product(Distiller)search{pop pop pop
10401 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10402 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10403 grestore}if}{pop}ifelse}{pop}ifelse}if end
10404 -472 0 a 0 TeXcolorgray
10405 -513 133 a
10406 SDict begin H.S end
10407 -513 133 a -513 133 a
10408 SDict begin H.R end
10409 -513 133 a -513 133
10410 a
10411 SDict begin [/View [/XYZ H.V]/Dest (page.15) cvn /DEST pdfmark end
10412 -513 133 a Black Black Black -32 448 a
10413 SDict begin H.S end
10414 -32 448 a -32
10415 448 a
10416 SDict begin 12 H.A end
10417 -32 448 a -32 448 a
10418 SDict begin [/View [/XYZ H.V]/Dest (section.4.3) cvn /DEST pdfmark
10419 end
10420 -32 448 a 83 x Fi(4.3)130 b(Commands)-32
10421 784 y Fk(F)-7 b(ollo)n(wing)23 b(the)h Fl(USE)h Fk(sp)r
10422 (eci\034cations,)f Ff(c)l(ommands)31 b Fk(can)24 b(b)r(e)h(sp)r
10423 (eci\034ed.)36 b(The)24 b(commands)f(are)g(executed)i(in)f(their)g
10424 (order)-32 884 y(of)j(app)r(earance)e(in)i(the)h(p)r(olicy)f(\034le.)37
10425 b(Pro)r(cessing)26 b(con)n(tin)n(ues)g(un)n(til)h(the)h(last)f(command)
10426 f(has)h(b)r(een)g(pro)r(cessed)f(or)g(un)n(til)-32 983
10427 y(a)h(tested)h(command)f(\(see)g(b)r(elo)n(w\))h(returns)e(a)i
10428 (non-zero)d(return)j(v)-5 b(alue.)-32 1120 y
10429 SDict begin H.S end
10430 -32 1120
10431 a -32 1120 a
10432 SDict begin 12 H.A end
10433 -32 1120 a -32 1120 a
10434 SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3.1) cvn /DEST pdfmark
10435 end
10436 -32 1120 a 166 x Fa(4.3.1)112
10437 b(LABEL)37 b(commands)-32 1510 y Fk(The)27 b(follo)n(wing)h
10438 Fl(LABEL)g Fk(commands)f(are)f(a)n(v)-5 b(ailable:)p
10439 Black 92 1745 a Fh(\017)p Black 41 w Fl(LABEL)28 b Fg(text)175
10440 1877 y Fk(This)d(de\034nes)g(a)g(text-lab)r(el)g(whic)n(h)g(is)g
10441 (written)g(to)g(the)h Fl(REPOR)-8 b(T)24 b Fk(\034le,)i(just)f(b)r
10442 (efore)g(the)h(output)f(generated)f(b)n(y)175 1977 y(the)j(next)h
10443 Fl(CHECK)p Fk(-command.)35 b(If)27 b(the)g(next)h Fl(CHECK)p
10444 Fk(-command)d(generates)g(no)i(output,)h(the)f(lab)r(el)g(is)g(not)175
10445 2077 y(written)i(to)h(the)f Fl(REPOR)-8 b(T)p Fk(-\034le.)41
10446 b(Once)28 b(a)h Fl(LABEL)h Fk(has)f(b)r(een)g(de\034ned,)h(it)g(is)f
10447 (used)g(un)n(til)h(it)f(is)g(rede\034ned)g(b)n(y)175
10448 2176 y(the)f(next)g Fl(LABEL)g Fk(command.)36 b(Use)28
10449 b(an)f(empt)n(y)i Fl(LABEL)f Fk(command)f(to)h(suppress)f(prin)n(ting)g
10450 (lab)r(els.)175 2308 y(The)g(text)g(ma)n(y)f(con)n(tain)h
10451 Fg(\\n)f Fk(c)n(haracters)e(\(t)n(w)n(o)j(c)n(haracters\))d(whic)n(h)j
10452 (are)f(transformed)g(to)g(a)h(newline)g(c)n(haracter.)p
10453 Black 92 2473 a Fh(\017)p Black 41 w Fl(LABEL)175 2606
10454 y Fk(As)h(noted,)f(this)h(clears)f(a)g(previously)f(de\034ned)i
10455 Fg(LABEL)d Fk(command.)-32 2841 y(Examples:)p Black Black
10456 142 3175 a Fg(LABEL)41 b(Inspecting)f(files)h(in)i(/etc\\nIncluding)37
10457 b(subdirectories)142 3275 y(LABEL)-32 3509 y Fk(The)27
10458 b(latter)g Fl(LABEL)i Fk(command)e(clears)f(the)i(text)g(of)f(the)h
10459 (former)f Fl(LABEL)h Fk(command.)-32 3625 y
10460 SDict begin H.S end
10461 -32 3625
10462 a -32 3625 a
10463 SDict begin 12 H.A end
10464 -32 3625 a -32 3625 a
10465 SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3.2) cvn /DEST pdfmark
10466 end
10467 -32 3625 a 187 x Fa(4.3.2)112
10468 b(LOCAL)38 b(commands)-32 4036 y Fl(LOCAL)h Fk(commands)f(can)h(b)r(e)g
10469 (used)g(to)f(sp)r(ecify)h(commands)f(that)h(are)f(executed)h(on)g(the)g
10470 (monitor)f(itself.)71 b(The)-32 4136 y(follo)n(wing)27
10471 b Fl(LOCAL)h Fk(commands)f(are)g(a)n(v)-5 b(ailable:)p
10472 Black 92 4371 a Fh(\017)p Black 41 w Fl(LOCAL)28 b Fg(command)175
10473 4503 y Fk(Execute)i Fg(command)c Fk(on)j(the)g(monitor,)g(using)g(the)g
10474 Fl(SH)g Fk(command)g(shell.)41 b(The)30 b(command)e(m)n(ust)i(succeed)e
10475 (\(i.e.,)175 4603 y(m)n(ust)g(return)f(a)g(zero)f(exit)i(v)-5
10476 b(alue\).)37 b(Example:)p Black Black 349 4799 a Fg(LOCAL)42
10477 b(mkdir)f(/tmp/client)175 4996 y Fk(This)28 b(command)f(creates)f(the)i
10478 (directory)f Fg(/tmp/client)c Fk(on)28 b(the)g(monitor.)p
10479 Black 92 5161 a Fh(\017)p Black 41 w Fl(LOCAL)33 b(NOTEST)27
10480 b Fg(command)175 5293 y Fk(Execute)35 b Fg(command)c
10481 Fk(on)i(the)i(monitor,)g(using)e(the)i Fl(SH)f Fk(command)f(shell.)56
10482 b(The)35 b(command)e(ma)n(y)g(or)h(ma)n(y)f(not)175 5393
10483 y(succeed.)k(Example:)p Black Black 349 5589 a Fg(LOCAL)42
10484 b(NOTEST)f(mkdir)g(/tmp/subdir)175 5786 y Fk(This)27
10485 b(command)g(creates)f Fg(/tmp/subdir)c Fk(on)27 b(the)g(monitor.)36
10486 b(The)28 b(command)e(fails)h(if)h(the)f(directory)f(cannot)g(b)r(e)175
10487 5885 y(created,)h(but)h(this)g(do)r(es)f(not)h(terminate)f
10488 Fl(stealth)p Fk(.)p Black 1831 6135 a(15)p Black eop
10489 end
10490 %%Page: 16 17
10491 TeXDict begin 16 16 bop -472 0 a
10492 SDict begin /product where{pop product(Distiller)search{pop pop pop
10493 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10494 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10495 grestore}if}{pop}ifelse}{pop}ifelse}if end
10496 -472 0 a 0 TeXcolorgray
10497 -504 133 a
10498 SDict begin H.S end
10499 -504 133 a -504 133 a
10500 SDict begin H.R end
10501 -504 133 a -504 133
10502 a
10503 SDict begin [/View [/XYZ H.V]/Dest (page.16) cvn /DEST pdfmark end
10504 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
10505 Black 41 w Fl(LOCAL)33 b(CHECK)26 b Fk([)p Fl(LOG)32
10506 b(=)p Fk(])c Fg(logfile)41 b([pathOffset])d(command)175
10507 660 y Fk(Execute)29 b Fg(command)c Fk(on)j(the)h(monitor,)e(using)h
10508 (the)h Fl(SH)f Fk(command)f(shell.)39 b(The)28 b(command)g(m)n(ust)g
10509 (succeed.)39 b(The)175 759 y(output)28 b(of)f(this)h(command)e(is)i
10510 (compared)e(to)h(the)g(output)h(of)f(this)h(command)f(generated)f
10511 (during)g(the)i(previous)175 859 y(in)n(tegrit)n(y)f(c)n(hec)n(k)f(run)
10512 i(b)n(y)g Fl(stealth)p Fk(.)175 987 y(The)35 b(phrase)e
10513 Fl(LOG)40 b(=)35 b Fk(is)g(optional.)57 b(When)35 b(a)f(relativ)n(e)g
10514 (\034le)g(lo)r(cation)g(is)h(sp)r(eci\034ed)f(at)h Fe(<)p
10515 Fg(file-spec)p Fe(>)30 b Fk(it)35 b(is)175 1087 y(in)n(terpreted)27
10516 b(relativ)n(ely)f(to)i(the)g Fg(USE)42 b(BASE)26 b Fk(path)i(sp)r
10517 (eci\034cation.)175 1215 y Fg(PathOffset)17 b Fk(is)k(also)e(optional.)
10518 34 b(If)22 b(sp)r(eci\034ed)f(it)g(de\034nes)g(the)g(\(0-based\))f
10519 (o\033set)h(where)f(path-names)g(of)h(insp)r(ected)175
10520 1315 y(\034les)k(start)g(in)g(lines)g(pro)r(duced)g(b)n(y)h
10521 Fe(<)p Fg(command)p Fe(>)p Fk(.)32 b(By)25 b(default)h
10522 Fl(stealth)e Fk(assumes)g(that)i(the)f(\034rst)g(o)r(ccurrence)f(of)175
10523 1414 y(a)j(forw)n(ard)f(slash)h(de\034nes)g(the)h(\034rst)g(c)n
10524 (haracter)d(of)j(the)g(path-names)e(of)i(insp)r(ected)g(\034les.)175
10525 1542 y(F)-7 b(or)27 b(example,)g(if)h(di\033-output)h(lo)r(oks)d(lik)n
10526 (e)h(this:)p Black Black 349 1818 a Fg(01234567890123456)o(78)o(901)o
10527 (23)o(45)o(678)o(90)o(12)o(345)o(67)o(89)o(0)38 b(\(column)i(offsets,)g
10528 (not)j(part)f(of)2223 1918 y(the)h(diff-output\))349
10529 2117 y(33c33)349 2217 y(<)h(90d8b506d249634)o(c4)o(ff8)o(0b)o(90)o(186)
10530 o(44)o(56)o(7)81 b(filename-specifi)o(cat)o(io)o(n)349
10531 2317 y(---)349 2416 y(>)44 b(b88d0b77db74cc4)o(a7)o(42d)o(7b)o(c2)o
10532 (6cd)o(d2)o(a1)o(e)81 b(filename-specifi)o(cat)o(io)o(n)175
10533 2592 y Fk(then)28 b(the)g(sp)r(eci\034cation)p Black
10534 Black 349 2769 a Fg(LOCAL)42 b(CHECK)f(logfile)g(36)i(command-to-be-e)o
10535 (xe)o(cut)o(ed)175 2945 y Fk(informs)36 b Fl(stealth)f
10536 Fk(where)h(to)g(\034nd)g(the)g(\034lename)g(sp)r(eci\034cations)f(in)i
10537 (the)f(di\033-output.)63 b(Using)36 b(the)g(standard)175
10538 3045 y Fg(/usr/bin/diff)24 b Fk(command,)29 b(this)h(o\033set)f(equals)
10539 f(2)h(+)g(the)h(o\033set)f(of)g(the)h Fg(filename-specif)o(ic)o(at)o
10540 (ion)23 b Fk(found)175 3144 y(in)28 b Fg(command-to-be-ex)o(ec)o(ut)o
10541 (ed)p Fk(.)175 3273 y(If)37 b(the)f(command)g(do)r(es)g(not)g(succeed)g
10542 (a)f Ff(warning)44 b Fk(message)35 b(is)h(written)g(to)h(the)f(rep)r
10543 (ort)f(\034le.)63 b(The)36 b(w)n(arning)175 3372 y(message)26
10544 b(informs)h(the)h(reader)e(that)i(`remaining)f(results)g(migh)n(t)g(b)r
10545 (e)h(forged:)p Black Black 349 3548 a Fg(***)43 b(BE)f(CAREFUL)f(***)h
10546 (REMAINING)e(RESULTS)h(MAY)h(BE)h(FORGED)175 3725 y Fk(This)22
10547 b(situation)g(ma)n(y)g(o)r(ccur,)h(e.g.,)g(if)g(an)f(essen)n(tial)f
10548 (program)f(\(lik)n(e)j Fg(sha1sum)p Fk(\))c(w)n(as)j(transferred)f(to)h
10549 (the)h(monitor,)175 3824 y(and)g(it)g(w)n(as)f(apparen)n(tly)g(mo)r
10550 (di\034ed)h(since)g(the)g(previous)f(c)n(hec)n(k.)35
10551 b(Pro)r(cessing)21 b(con)n(tin)n(ues,)i(but)h(remaining)e(c)n(hec)n(ks)
10552 175 3924 y(p)r(erformed)27 b(at)h(the)g(clien)n(t)f(computer)g(should)h
10553 (b)r(e)g(in)n(terpreted)f(with)h Ff(extr)l(eme)33 b Fk(caution.)175
10554 4052 y(The)38 b(output)g(of)g(this)h(command)e(is)h(compared)e(to)i
10555 (the)g(output)h(of)f(this)g(command)f(generated)g(during)g(the)175
10556 4152 y(previous)27 b(run)g(of)34 b Fl(stealth)p Fk(.)i(An)n(y)28
10557 b(di\033erences)f(are)g(written)g(to)h Fl(REPOR)-8 b(T)p
10558 Fk(.)175 4280 y(If)22 b(di\033erences)f(w)n(ere)f(found,)j(the)e
10559 (existing)h Fg(logfile)d Fk(name)i(is)g(renamed)g(to)g
10560 Fg(logfile.YYYYMMD)o(D-)o(HHM)o(MS)o(S)p Fk(,)15 b(with)175
10561 4380 y Fg(YYYYMMDD-HHMMSS)21 b Fk(the)28 b(datetime-stamp)g(at)f(the)h
10562 (time)g Fl(stealth)f Fk(w)n(as)g(run.)175 4508 y(Ov)n(er)34
10563 b(time,)k(man)n(y)e Fg(logfile.YYMMDD-HH)o(MM)o(SS)29
10564 b Fk(\034les)36 b(could)f(b)r(e)h(accum)n(ulated.)60
10565 b(It)36 b(is)g(up)f(to)h(the)g(monitor's)175 4608 y(systems)20
10566 b(manager)e(to)i(decide)h(what)f(to)g(do)g(with)h(old)f(datetime-stamp)
10567 r(ed)g(log\034les.)33 b(F)-7 b(or)20 b(instance,)h(the)g(follo)n(wing)
10568 175 4707 y(script)27 b(remo)n(v)n(es)f(all)h Fl(stealth)g
10569 Fk(rep)r(orts)g(b)r(elo)n(w)g(the)h(curren)n(t)f(directory)f(that)i
10570 (are)e(older)h(than)h(30)e(da)n(ys:)p Black Black 349
10571 4884 a Fg(#/bin/sh)349 4983 y(FILES=`find)39 b(./)k(-path)f('*[0-9]')e
10572 (-mtime)h(+30)h(-type)g(f`)349 5182 y(if)h([)g("$FILES")d(!=)j("")g(])g
10573 (;)g(then)524 5282 y(rm)f(-f)h($FILES)349 5382 y(fi)175
10574 5558 y Fk(The)22 b Fg(logfile)d Fk(sp)r(eci\034cations)i(ma)n(y)h(use)f
10575 (relativ)n(e)g(and)h(absolute)f(paths.)35 b(When)22 b(relativ)n(e)f
10576 (paths)h(are)f(used,)i(these)175 5658 y(paths)j(are)g(relativ)n(e)f(to)
10577 h Fl(BASE)p Fk(.)g(When)h(the)f(directories)f(implied)i(b)n(y)f(the)h
10578 Fg(logfile)c Fk(sp)r(eci\034cations)j(do)g(not)g(y)n(et)175
10579 5757 y(exist,)i(they)f(are)g(created)g(\034rst.)175 5885
10580 y(Example:)p Black 1831 6135 a(16)p Black eop end
10581 %%Page: 17 18
10582 TeXDict begin 17 17 bop -472 0 a
10583 SDict begin /product where{pop product(Distiller)search{pop pop pop
10584 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10585 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10586 grestore}if}{pop}ifelse}{pop}ifelse}if end
10587 -472 0 a 0 TeXcolorgray
10588 -513 133 a
10589 SDict begin H.S end
10590 -513 133 a -513 133 a
10591 SDict begin H.R end
10592 -513 133 a -513 133
10593 a
10594 SDict begin [/View [/XYZ H.V]/Dest (page.17) cvn /DEST pdfmark end
10595 -513 133 a Black Black Black Black Black 349 531 a
10596 Fg(LOCAL)42 b(CHECK)f(LOG)i(=)g(local/sha1sum)38 b(sha1sum)i
10597 (/tmp/sha1sum)175 731 y Fk(This)34 b(command)g(will)g(c)n(hec)n(k)f
10598 (the)h(SHA1)g(sum)g(of)g(the)g Fg(/tmp/sha1sum)29 b Fk(program.)54
10599 b(The)34 b(resulting)f(output)i(is)175 830 y(sa)n(v)n(ed)h(at)i
10600 Fl(BASE)p Fg(/local/sha1sum)p Fk(.)61 b(The)37 b(program)f(m)n(ust)h
10601 (succeed)h(\(i.e.,)i Fg(sha1sum)35 b Fk(m)n(ust)j(return)f(a)g(zero)175
10602 930 y(exit-v)-5 b(alue\).)p Black 92 1096 a Fh(\017)p
10603 Black 41 w Fl(LOCAL)33 b(NOTEST)e(CHECK)c Fk([)p Fl(LOG)32
10604 b(=)p Fk(])c Fg(logfile)41 b([pathOffset])d(command)175
10605 1229 y Fk(Execute)28 b Fg(command)d Fk(on)i(the)h(monitor,)f(using)g
10606 (the)h Fl(SH)f Fk(command)h(shell.)175 1362 y(The)35
10607 b(phrase)e Fl(LOG)40 b(=)35 b Fk(is)g(optional.)57 b(When)35
10608 b(a)f(relativ)n(e)g(\034le)g(lo)r(cation)g(is)h(sp)r(eci\034ed)f(at)h
10609 Fe(<)p Fg(file-spec)p Fe(>)30 b Fk(it)35 b(is)175 1461
10610 y(in)n(terpreted)27 b(relativ)n(ely)f(to)i(the)g Fg(USE)42
10611 b(BASE)26 b Fk(path)i(sp)r(eci\034cation.)175 1594 y(The)d(command)g
10612 (ma)n(y)f(or)g(ma)n(y)g(not)h(succeed.)35 b(Otherwise,)25
10613 b(the)g(program)e(p)r(erforms)h(exactly)g(lik)n(e)h(the)g
10614 Fl(LOCAL)175 1694 y(CHECK)31 b(...)k Fk(command,)28 b(discussed)f(ab)r
10615 (o)n(v)n(e.)175 1826 y(Example:)p Black Black 349 2026
10616 a Fg(LOCAL)42 b(NOTEST)f(CHECK)g(LOG=local/sha1sum)c(sha1sum)j
10617 (/tmp/sha1sum)175 2225 y Fk(This)34 b(command)g(will)g(c)n(hec)n(k)f
10618 (the)h(SHA1)g(sum)g(of)g(the)g Fg(/tmp/sha1sum)29 b Fk(program.)54
10619 b(The)34 b(resulting)f(output)i(is)175 2325 y(sa)n(v)n(ed)25
10620 b(at)h Fl(BASE)p Fg(/local/sha1sum)p Fk(.)k(The)d(program)d(ma)n(y)h
10621 (or)h(ma)n(y)f(not)h(succeed)g(\(i.e.,)h Fg(sha1sum)d
10622 Fk(ma)n(y)h(or)h(ma)n(y)175 2424 y(not)i(return)f(a)g(zero)f(exit-v)-5
10623 b(alue\).)-32 2561 y
10624 SDict begin H.S end
10625 -32 2561 a -32 2561 a
10626 SDict begin 12 H.A end
10627 -32 2561 a
10628 -32 2561 a
10629 SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3.3) cvn /DEST pdfmark
10630 end
10631 -32 2561 a 166 x Fa(4.3.3)112 b(REMOTE)36
10632 b(commands)-32 2952 y Fk(Plain)22 b(commands)g(can)g(b)r(e)h(executed)f
10633 (on)g(the)h(clien)n(t)g(computer)f(b)n(y)g(merely)g(sp)r(ecifying)g
10634 (them.)36 b(Of)22 b(course,)h(this)f(means)-32 3051 y(that)k(programs)e
10635 (called)i Fg(LABEL)p Fk(,)f Fg(LOCAL)f(USE)h Fk(or)h
10636 Fg(DEFINE)p Fk(,)e(cannot)i(b)r(e)h(executed,)f(since)h(these)f(names)g
10637 (are)f(in)n(terpreted)-32 3151 y(otherwise)j(b)n(y)i
10638 Fl(stealth)p Fk(.)42 b(It's)30 b(unlik)n(ely)f(that)g(this)h(will)g
10639 (cause)e(problems.)42 b(Remote)29 b(commands)g(m)n(ust)g(succeed)g
10640 (\(i.e.,)-32 3250 y(their)e(return)g(co)r(des)g(m)n(ust)h(b)r(e)g(0\).)
10641 -32 3421 y(Remote)37 b(commands)h(are)f(commands)g(executed)h(on)f(the)
10642 i(clien)n(t)f(using)f(the)h Fl(SSH)g Fk(shell.)68 b(These)38
10643 b(commands)f(are)-32 3521 y(executed)20 b(using)g(the)h(standard)f
10644 Fg(PATH)f Fk(set)i(for)f(the)h Fl(SSH)f Fk(shell.)35
10645 b(Ho)n(w)n(ev)n(er,)20 b(it)h(is)f(advised)g(to)h(sp)r(ecify)g(the)g
10646 (full)g(pathname)-32 3620 y(to)33 b(the)h(programs)d(to)i(b)r(e)h
10647 (executed,)g(to)g(prev)n(en)n(t)e(\020tro)5 b(jan)32
10648 b(approac)n(hes\021)38 b(where)32 b(a)h(tro)5 b(jan)33
10649 b(horse)f(is)h(installed)g(in)h(an)-32 3720 y(`earlier')26
10650 b(directory)g(of)i(the)f Fg(PATH)p Fk(-sp)r(eci\034cation)f(than)h(the)
10651 h(in)n(tended)g(program.)-32 3890 y(T)-7 b(w)n(o)30 b(sp)r(ecial)g
10652 (remote)g(commands)g(are)g Fg(GET)f Fk(and)i Fg(PUT)p
10653 Fk(,)f(whic)n(h)g(can)h(b)r(e)g(used)f(to)h(cop)n(y)f(\034les)g(b)r(et)
10654 n(w)n(een)h(the)g(clien)n(t)g(and)-32 3990 y(the)g(monitor.)45
10655 b(In)n(ternally)-7 b(,)31 b Fg(GET)f Fk(and)g Fg(PUT)g
10656 Fk(use)g(the)h Fg(DD)f Fk(use-sp)r(eci\034cation.)46
10657 b(If)31 b(a)f(non-default)h(sp)r(eci\034cation)f(is)h(used,)-32
10658 4090 y(one)26 b(should)g(ensure)g(that)h(the)g(alternate)e(program)g
10659 (accepts)h Fl(dd)p Fk(\(1\)'s)g Fg(if=,)42 b(of=,)g(bs=)26
10660 b Fk(and)g Fg(count=)e Fk(options.)36 b(With)-32 4189
10661 y Fg(GET)d Fk(the)h(options)g Fg(bs=,)42 b(count=)31
10662 b Fk(and)j Fg(of=)f Fk(are)g(used,)j(with)f Fg(PUT)e
10663 Fk(the)h(options)g Fg(bs=,)42 b(count=)32 b Fk(and)i
10664 Fg(if=)f Fk(are)g(used.)-32 4289 y(Normally)26 b(there)h(should)h(b)r
10665 (e)g(no)f(need)h(to)f(alter)g(the)h(default)g Fg(DD)f
10666 Fk(sp)r(eci\034cation.)-32 4459 y(The)g Fg(GET)g Fk(command)g(ma)n(y)g
10667 (b)r(e)h(used)f(as)g(follo)n(ws:)p Black 92 4696 a Fh(\017)p
10668 Black 41 w Fl(GET)h Fe(<)p Fg(client-path)p Fe(>)38 b(<)p
10669 Fg(local-path)p Fe(>)175 4796 y Fk(Cop)n(y)28 b(the)i(\034le)f
10670 (indicated)g(b)n(y)h Fg(client-path)24 b Fk(at)29 b(the)g(clien)n(t)g
10671 (to)g Fg(local-path)c Fk(at)k(the)g(monitor.)40 b Fg(client-path)175
10672 4895 y Fk(m)n(ust)30 b(b)r(e)h(the)f(full)h(path)g(of)f(an)f(existing)h
10673 (\034le)g(on)g(the)h(clien)n(t,)g Fg(local-path)26 b
10674 Fk(ma)n(y)j(either)h(b)r(e)h(a)e(lo)r(cal)h(directory)-7
10675 b(,)175 4995 y(in)27 b(whic)n(h)f(case)g(the)h(clien)n(t's)f(\034le)h
10676 (name)f(is)h(used,)g(or)e(another)h(\034le)g(name)h(ma)n(y)f(b)r(e)h
10677 (sp)r(eci\034ed,)g(in)f(whic)n(h)h(case)e(the)175 5095
10678 y(clien)n(t's)k(\034le)h(is)f(copied)g(to)g(the)g(sp)r(eci\034ed)h(lo)r
10679 (cal)e(\034lename.)42 b(If)29 b(the)h(lo)r(cal)f(\034le)g(already)f
10680 (exists,)h(it)g(is)h(o)n(v)n(erwritten)175 5194 y(b)n(y)d(the)h(cop)n
10681 (y-pro)r(cedure.)175 5327 y(Example:)p Black Black 349
10682 5526 a Fg(GET)43 b(/usr/bin/sha1su)o(m)38 b(/tmp)175
10683 5726 y Fk(The)29 b(program)e Fg(/usr/bin/sha1sum)o Fk(,)d(a)n(v)-5
10684 b(ailable)27 b(at)i(the)h(clien)n(t,)f(is)g(copied)f(to)h(the)h
10685 (monitor's)e Fg(/tmp)f Fk(directory)-7 b(.)175 5825 y(If)28
10686 b(cop)n(ying)e(fails)i(for)f(some)g(reason,)f(an)n(y)h(subsequen)n(t)g
10687 (commands)g(are)f(skipp)r(ed,)i(and)f Fl(stealth)h Fk(terminates.)p
10688 Black 1831 6135 a(17)p Black eop end
10689 %%Page: 18 19
10690 TeXDict begin 18 18 bop -472 0 a
10691 SDict begin /product where{pop product(Distiller)search{pop pop pop
10692 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10693 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10694 grestore}if}{pop}ifelse}{pop}ifelse}if end
10695 -472 0 a 0 TeXcolorgray
10696 -504 133 a
10697 SDict begin H.S end
10698 -504 133 a -504 133 a
10699 SDict begin H.R end
10700 -504 133 a -504 133
10701 a
10702 SDict begin [/View [/XYZ H.V]/Dest (page.18) cvn /DEST pdfmark end
10703 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
10704 Black 41 w Fl(GET)32 b(NOTEST)c Fe(<)p Fg(client-path)p
10705 Fe(>)38 b(<)p Fg(local-path)p Fe(>)175 631 y Fk(Cop)n(y)28
10706 b(the)i(\034le)f(indicated)g(b)n(y)h Fg(client-path)24
10707 b Fk(at)29 b(the)g(clien)n(t)g(to)g Fg(local-path)c Fk(at)k(the)g
10708 (monitor.)40 b Fg(client-path)175 731 y Fk(m)n(ust)30
10709 b(b)r(e)h(the)f(full)h(path)g(of)f(an)f(existing)h(\034le)g(on)g(the)h
10710 (clien)n(t,)g Fg(local-path)26 b Fk(ma)n(y)j(either)h(b)r(e)h(a)e(lo)r
10711 (cal)h(directory)-7 b(,)175 830 y(in)27 b(whic)n(h)f(case)g(the)h
10712 (clien)n(t's)f(\034le)h(name)f(is)h(used,)g(or)e(another)h(\034le)g
10713 (name)h(ma)n(y)f(b)r(e)h(sp)r(eci\034ed,)g(in)f(whic)n(h)h(case)e(the)
10714 175 930 y(clien)n(t's)k(\034le)h(is)f(copied)g(to)g(the)g(sp)r
10715 (eci\034ed)h(lo)r(cal)e(\034lename.)42 b(If)29 b(the)h(lo)r(cal)f
10716 (\034le)g(already)f(exists,)h(it)g(is)h(o)n(v)n(erwritten)175
10717 1029 y(b)n(y)d(the)h(cop)n(y-pro)r(cedure.)175 1160 y(Example:)p
10718 Black Black 349 1350 a Fg(GET)43 b(NOTEST)e(/usr/bin/sha1su)o(m)d(/tmp)
10719 175 1540 y Fk(The)29 b(program)e Fg(/usr/bin/sha1sum)o
10720 Fk(,)d(a)n(v)-5 b(ailable)27 b(at)i(the)h(clien)n(t,)f(is)g(copied)f
10721 (to)h(the)h(monitor's)e Fg(/tmp)f Fk(directory)-7 b(.)175
10722 1640 y(Remaining)27 b(commands)g(in)h(the)g(p)r(olicy)f(\034le)h(are)f
10723 (executed,)g(ev)n(en)g(if)h(the)g(cop)n(ying)f(pro)r(cess)f(w)n(asn't)h
10724 (successful.)-32 1869 y(The)g Fg(PUT)g Fk(command)g(ma)n(y)g(b)r(e)h
10725 (used)f(as)g(follo)n(ws:)p Black 92 2098 a Fh(\017)p
10726 Black 41 w Fl(PUT)i Fe(<)p Fg(local-path)p Fe(>)38 b(<)p
10727 Fg(remote-path)p Fe(>)175 2198 y Fk(Cop)n(y)26 b(the)h(\034le)g
10728 (indicated)g(b)n(y)g Fg(local-path)c Fk(at)j(the)h(monitor)f(to)h
10729 Fg(remote-path)22 b Fk(at)27 b(the)g(clien)n(t.)36 b(The)27
10730 b(argumen)n(t)175 2298 y Fg(local-path)g Fk(m)n(ust)k(b)r(e)h(the)g
10731 (full)f(path)h(of)f(an)g(existing)f(\034le)i(on)f(the)g(monitor.)47
10732 b(The)31 b(argumen)n(t)f Fg(remote-path)175 2397 y Fk(m)n(ust)24
10733 b(b)r(e)g(the)g(full)h(path)f(to)f(a)h(\034le)f(on)h(the)g(clien)n(t.)
10734 36 b(If)24 b(the)g(remote)f(\034le)h(already)e(exists,)i(it)h(is)e(o)n
10735 (v)n(erwritten)f(b)n(y)j Fg(PUT)p Fk(.)175 2528 y(Example:)p
10736 Black Black 349 2718 a Fg(PUT)43 b(/tmp/sha1sum)38 b(/usr/bin/sha1sum)
10737 175 2908 y Fk(The)29 b(program)d Fg(/tmp/sha1sum)p Fk(,)e(a)n(v)-5
10738 b(ailable)28 b(at)g(the)h(monitor,)f(is)h(copied)f(to)g(the)h(clien)n
10739 (t)g(as)f Fg(usr/bin/sha1sum)p Fk(.)175 3007 y(If)c(the)g(cop)n(ying)e
10740 (fails)i(for)e(some)h(reason,)g(an)n(y)g(subsequen)n(t)g(commands)g
10741 (are)f(skipp)r(ed,)j(and)e Fl(stealth)g Fk(terminates.)p
10742 Black 92 3170 a Fh(\017)p Black 41 w Fl(PUT)33 b(NOTEST)28
10743 b Fe(<)p Fg(local-path)p Fe(>)38 b(<)p Fg(remote-path)p
10744 Fe(>)175 3269 y Fk(Cop)n(y)26 b(the)h(\034le)g(indicated)g(b)n(y)g
10745 Fg(local-path)c Fk(at)j(the)h(monitor)f(to)h Fg(remote-path)22
10746 b Fk(at)27 b(the)g(clien)n(t.)36 b(The)27 b(argumen)n(t)175
10747 3369 y Fg(local-path)g Fk(m)n(ust)k(b)r(e)h(the)g(full)f(path)h(of)f
10748 (an)g(existing)f(\034le)i(on)f(the)g(monitor.)47 b(The)31
10749 b(argumen)n(t)f Fg(remote-path)175 3469 y Fk(m)n(ust)24
10750 b(b)r(e)g(the)g(full)h(path)f(to)f(a)h(\034le)f(on)h(the)g(clien)n(t.)
10751 36 b(If)24 b(the)g(remote)f(\034le)h(already)e(exists,)i(it)h(is)e(o)n
10752 (v)n(erwritten)f(b)n(y)j Fg(PUT)p Fk(.)175 3600 y(Example:)p
10753 Black Black 349 3789 a Fg(PUT)43 b(NOTEST)e(/tmp/sha1sum)d
10754 (/usr/bin/sha1sum)175 3979 y Fk(Cop)n(y)26 b(the)h(\034le)g(indicated)g
10755 (b)n(y)g Fg(local-path)c Fk(at)j(the)h(monitor)f(to)h
10756 Fg(remote-path)22 b Fk(at)27 b(the)g(clien)n(t.)36 b(The)27
10757 b(argumen)n(t)175 4079 y Fg(local-path)g Fk(m)n(ust)k(b)r(e)h(the)g
10758 (full)f(path)h(of)f(an)g(existing)f(\034le)i(on)f(the)g(monitor.)47
10759 b(The)31 b(argumen)n(t)f Fg(remote-path)175 4178 y Fk(m)n(ust)24
10760 b(b)r(e)g(the)g(full)h(path)f(to)f(a)h(\034le)f(on)h(the)g(clien)n(t.)
10761 36 b(If)24 b(the)g(remote)f(\034le)h(already)e(exists,)i(it)h(is)e(o)n
10762 (v)n(erwritten)f(b)n(y)j Fg(PUT)p Fk(.)175 4278 y(Remaining)i(commands)
10763 g(in)h(the)g(p)r(olicy)f(\034le)h(are)f(executed,)g(ev)n(en)g(if)h(the)
10764 g(cop)n(ying)f(pro)r(cess)f(w)n(asn't)h(successful.)-32
10765 4507 y(Other)g(commands)f(to)i(b)r(e)g(executed)f(on)h(the)g(clien)n(t)
10766 f(can)g(b)r(e)h(sp)r(eci\034ed)g(as)f(follo)n(ws:)p Black
10767 92 4751 a Fh(\017)p Black 41 w Fg(command)175 4882 y
10768 Fk(Execute)i(`)p Fg(command)p Fk(')d(on)i(the)h(clien)n(t,)g(using)f
10769 (the)h Fl(SSH)g Fk(command)f(shell.)40 b(The)28 b(command)g(m)n(ust)h
10770 (succeed)f(\(i.e.,)175 4982 y(m)n(ust)21 b(return)e(a)h(zero)f(exit)i
10771 (v)-5 b(alue\).)34 b(Ho)n(w)n(ev)n(er,)20 b(an)n(y)g(output)h
10772 (generated)e(b)n(y)h(the)g(command)g(is)g(ignored.)34
10773 b(Example:)p Black Black 349 5172 a Fg(/usr/bin/find)k(/tmp)k(-type)g
10774 (f)h(-exec)e(/bin/rm)g({})i(\\;)175 5362 y Fk(This)28
10775 b(command)f(will)h(remo)n(v)n(e)d(all)j(ordinary)d(\034les)j(at)f(and)h
10776 (b)r(elo)n(w)f(the)h(clien)n(t's)f Fg(/tmp)f Fk(directory)-7
10777 b(.)p Black 92 5524 a Fh(\017)p Black 41 w Fl(NOTEST)28
10778 b Fg(command)175 5655 y Fk(Execute)37 b Fg(command)c
10779 Fk(on)j(the)h(clien)n(t,)h(using)e(the)g Fl(SSH)g Fk(command)g(shell.)
10780 63 b(The)36 b(command)g(ma)n(y)f(or)g(ma)n(y)h(not)175
10781 5755 y(succeed.)175 5885 y(Example:)p Black 1831 6135
10782 a(18)p Black eop end
10783 %%Page: 19 20
10784 TeXDict begin 19 19 bop -472 0 a
10785 SDict begin /product where{pop product(Distiller)search{pop pop pop
10786 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10787 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10788 grestore}if}{pop}ifelse}{pop}ifelse}if end
10789 -472 0 a 0 TeXcolorgray
10790 -513 133 a
10791 SDict begin H.S end
10792 -513 133 a -513 133 a
10793 SDict begin H.R end
10794 -513 133 a -513 133
10795 a
10796 SDict begin [/View [/XYZ H.V]/Dest (page.19) cvn /DEST pdfmark end
10797 -513 133 a Black Black Black Black Black 349 531 a
10798 Fg(NOTEST)41 b(/usr/bin/find)e(/tmp)i(-type)h(f)h(-exec)e(/bin/rm)g({})
10799 i(\\;)175 720 y Fk(Same)27 b(as)g(the)h(previous)f(command,)g(but)h
10800 (this)g(time)g(the)g(exit)g(v)-5 b(alue)27 b(of)34 b
10801 Fg(/usr/bin/find)22 b Fk(is)28 b(not)f(in)n(terpreted.)p
10802 Black 92 882 a Fh(\017)p Black 41 w Fl(CHECK)g Fk([)p
10803 Fl(LOG)32 b(=)p Fk(])c Fg(logfile)41 b([pathOffset])d(command)175
10804 1013 y Fk(Execute)28 b Fg(command)d Fk(on)i(the)h(clien)n(t,)g(using)f
10805 (the)h Fl(SSH)f Fk(command)g(shell.)175 1144 y(The)35
10806 b(phrase)e Fl(LOG)40 b(=)35 b Fk(is)g(optional.)57 b(When)35
10807 b(a)f(relativ)n(e)g(\034le)g(lo)r(cation)g(is)h(sp)r(eci\034ed)f(at)h
10808 Fe(<)p Fg(file-spec)p Fe(>)30 b Fk(it)35 b(is)175 1243
10809 y(in)n(terpreted)27 b(relativ)n(ely)f(to)i(the)g Fg(USE)42
10810 b(BASE)26 b Fk(path)i(sp)r(eci\034cation.)175 1374 y
10811 Fg(PathOffset)18 b Fk(is)23 b(also)e(optional,)i(and)f(has)g(the)h
10812 (same)f(meaning)g(as)f(for)h(the)h Fg(LOCAL)42 b(CHECK)20
10813 b Fk(command,)j(describ)r(ed)175 1474 y(ab)r(o)n(v)n(e.)175
10814 1605 y(The)41 b(command)g(m)n(ust)g(succeed.)77 b(The)42
10815 b(output)f(of)g(this)h(command)e(is)h(compared)f(to)h(the)h(output)f
10816 (of)h(this)175 1704 y(command)25 b(generated)g(during)g(the)h(previous)
10817 f(run)g(of)32 b Fl(stealth)p Fk(.)k(An)n(y)26 b(di\033erences)f(are)g
10818 (written)h(to)f Fl(REPOR)-8 b(T)p Fk(.)175 1804 y(If)22
10819 b(di\033erences)f(w)n(ere)f(found,)j(the)e(existing)h
10820 Fg(logfile)d Fk(name)i(is)g(renamed)g(to)g Fg(logfile.YYYYMMD)o(D-)o
10821 (HHM)o(MS)o(S)p Fk(,)15 b(with)175 1904 y Fg(YYYYMMDD-HHMMSS)21
10822 b Fk(b)r(eing)28 b(the)g(datetime-stamp)f(at)h(the)g(time)g
10823 Fl(stealth)f Fk(w)n(as)g(run.)175 2034 y(Note)39 b(that)g(the)g
10824 (command)f(is)g(executed)h(on)f(the)h(clien)n(t,)j(but)d(the)g
10825 (log\034le)f(is)h(k)n(ept)f(at)h(the)g(monitor.)69 b(This)175
10826 2134 y(command)30 b(represen)n(ts)f(the)i(core)e(of)i(the)g(metho)r(d)g
10827 (implemen)n(ted)g(b)n(y)g Fl(stealth)p Fk(:)42 b(there)30
10828 b(will)h(b)r(e)g(no)f(residues)g(of)175 2234 y(the)e(actions)f(p)r
10829 (erformed)g(b)n(y)h Fl(stealth)g Fk(on)f(clien)n(t)g(computers.)175
10830 2364 y(Sev)n(eral)f(examples)h(\(note)h(the)g(use)f(of)h(the)g(bac)n
10831 (kslash)d(as)i(line)h(con)n(tin)n(uation)f(c)n(haracters\):)p
10832 Black Black 349 2568 a Fg(CHECK)42 b(LOG)g(=)h(remote/ls.root)82
10833 b(/usr/bin/find)38 b(/)43 b(\\)698 2667 y(-xdev)e(-perm)h(/6111)f
10834 (-type)h(f)h(-exec)e(/bin/ls)g(-l)i({})g(\\;)175 2871
10835 y Fk(All)26 b(suid/gid/executable)d(\034les)h(on)h(the)g(same)g(device)
10836 f(as)h(the)g(ro)r(ot-directory)d(\(/\))j(on)g(the)g(clien)n(t)g
10837 (computer)g(are)175 2971 y(listed)h(with)h(their)f(p)r(ermissions,)g(o)
10838 n(wner)e(and)i(size)g(information.)36 b(The)26 b(resulting)f(listing)h
10839 (is)g(written)g(on)g(the)h(\034le)175 3070 y Fl(BASE)p
10840 Fg(/remote/ls.root)p Fk(.)175 3201 y(This)h(long)e(command)i(could)f(b)
10841 r(e)h(form)n(ulated)f(shorter)f(using)h(a)g Fg(DEFINE)p
10842 Fk(:)p Black Black 349 3390 a Fg(DEFINE)41 b(LSFIND)129
10843 b(-xdev)41 b(-perm)h(/6111)f(-type)g(f)j(-exec)d(/bin/ls)g(-l)h({})h
10844 (\\;)349 3490 y(CHECK)f(remote/ls.root)81 b(/usr/bin/find)38
10845 b(/)43 b(${LSFIND})175 3679 y Fk(Another)27 b(example:)p
10846 Black Black 349 3868 a Fg(DEFINE)41 b(SHA1SUM)g(-xdev)h(-perm)f(/6111)g
10847 (-type)h(f)h(-exec)f(/usr/bin/sha1su)o(m)37 b({})43 b(\\;)349
10848 3967 y(CHECK)f(remote/sha1.root)37 b(/usr/bin/find)h(/)43
10849 b(${SHA1SUM})175 4156 y Fk(The)g(SHA1)g(c)n(hec)n(ksums)e(of)h(all)h
10850 (suid/gid/executable)e(\034les)h(on)g(the)h(same)f(device)h(as)e(the)i
10851 (ro)r(ot-directory)175 4256 y(\(/\))60 b(on)f(the)h(clien)n(t)g
10852 (computer)f(are)f(determined.)133 b(The)60 b(resulting)f(listing)g(is)h
10853 (written)f(on)h(the)g(\034le)175 4355 y Fl(BASE)p Fg(/remote/sha1.roo)o
10854 (t)p Fk(.)p Black 92 4517 a Fh(\017)p Black 41 w Fl(NOTEST)32
10855 b(CHECK)27 b Fk([)p Fl(LOG)32 b(=)p Fk(])c Fg(logfile)40
10856 b([pathOffset])f(command)175 4648 y Fk(Execute)28 b Fg(command)d
10857 Fk(on)i(the)h(clien)n(t,)g(using)f(the)h Fl(SSH)f Fk(command)g(shell.)
10858 175 4779 y(The)35 b(phrase)e Fl(LOG)40 b(=)35 b Fk(is)g(optional.)57
10859 b(When)35 b(a)f(relativ)n(e)g(\034le)g(lo)r(cation)g(is)h(sp)r
10860 (eci\034ed)f(at)h Fe(<)p Fg(file-spec)p Fe(>)30 b Fk(it)35
10861 b(is)175 4879 y(in)n(terpreted)27 b(relativ)n(ely)f(to)i(the)g
10862 Fg(USE)42 b(BASE)26 b Fk(path)i(sp)r(eci\034cation.)175
10863 5009 y Fg(PathOffset)18 b Fk(is)23 b(also)e(optional,)i(and)f(has)g
10864 (the)h(same)f(meaning)g(as)f(for)h(the)h Fg(LOCAL)42
10865 b(CHECK)20 b Fk(command,)j(describ)r(ed)175 5109 y(ab)r(o)n(v)n(e.)62
10866 b(The)37 b(command)f(ma)n(y)g(or)g(ma)n(y)f(not)i(succeed.)63
10867 b(Otherwise,)38 b(the)f(program)d(acts)i(iden)n(tically)h(as)e(the)175
10868 5209 y Fl(CHECK)c(...)k Fk(command,)28 b(describ)r(ed)f(ab)r(o)n(v)n
10869 (e.)35 b(Example)28 b(\(using)g(the)f(same)g Fg(${SHA1SUM})p
10870 Fk(\)de\034nition:)p Black Black 349 5398 a Fg(NOTEST)41
10871 b(CHECK)h(LOG)g(=)h(remote/sha1.root)37 b(/usr/bin/find)h(/)43
10872 b(${SHA1SUM})175 5587 y Fk(The)g(SHA1)g(c)n(hec)n(ksums)e(of)h(all)h
10873 (suid/gid/executable)e(\034les)h(on)g(the)h(same)f(device)h(as)e(the)i
10874 (ro)r(ot-directory)175 5686 y(\(/\))60 b(on)f(the)h(clien)n(t)g
10875 (computer)f(are)f(determined.)133 b(The)60 b(resulting)f(listing)g(is)h
10876 (written)f(on)h(the)g(\034le)175 5786 y Fl(BASE)p Fg(/remote/sha1.roo)o
10877 (t)p Fk(.)71 b Fl(stealth)41 b Fk(will)g(not)g(terminate)g(if)h(the)f
10878 Fg(/usr/bin/find)36 b Fk(program)j(returns)175 5885 y(a)27
10879 b(non-zero)f(exit)i(v)-5 b(alue.)p Black 1831 6135 a(19)p
10880 Black eop end
10881 %%Page: 20 21
10882 TeXDict begin 20 20 bop -472 0 a
10883 SDict begin /product where{pop product(Distiller)search{pop pop pop
10884 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10885 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10886 grestore}if}{pop}ifelse}{pop}ifelse}if end
10887 -472 0 a 0 TeXcolorgray
10888 -504 133 a
10889 SDict begin H.S end
10890 -504 133 a -504 133 a
10891 SDict begin H.R end
10892 -504 133 a -504 133
10893 a
10894 SDict begin [/View [/XYZ H.V]/Dest (page.20) cvn /DEST pdfmark end
10895 -504 133 a Black Black Black -32 448 a
10896 SDict begin H.S end
10897 -32 448 a -32
10898 448 a
10899 SDict begin 12 H.A end
10900 -32 448 a -32 448 a
10901 SDict begin [/View [/XYZ H.V]/Dest (subsection.4.3.4) cvn /DEST pdfmark
10902 end
10903 -32 448 a 83 x Fa(4.3.4)112
10904 b(Prev)m(en)m(ting)36 b(Con)m(troller)f(Denial)h(of)i(Service)f
10905 (\(--max-size\))-32 755 y Fk(Either)c(b)n(y)f(malicious)g(in)n(ten)n(t)
10906 h(or)f(b)n(y)g(acciden)n(t)h(\(as)f(happ)r(ened)h(to)g(me\))g(the)g
10907 (monitor)f(ma)n(y)g(b)r(e)h(a)g(victim)g(of)f(a)h(\(self-)-32
10908 855 y(in\035icted\))25 b(Denial)g(of)g(Service)f(\(DOS\))h(attac)n(k.)
10909 35 b(This)25 b(DOS)g(attac)n(k)f(ma)n(y)g(o)r(ccur)g(when)h(the)g
10910 (clien)n(t)g(\(apparen)n(tly\))f(sends)-32 955 y(a)29
10911 b(nev)n(er)g(ending)h(stream)f(of)h(b)n(ytes)g(in)g(resp)r(onse)f(to)h
10912 (a)g Fg(GET)f Fk(or)g Fg(REMOTE)e Fk(command.)44 b(Once)30
10913 b(one)g(of)g(m)n(y)f(monitors)g(fell)-32 1054 y(victim)d(to)g(this)h
10914 (attac)n(k)e(when)h(a)g(clien)n(t's)g(p)r(o)n(w)n(er)f(w)n(en)n(t)h(do)
10915 n(wn)g(and)g(the)h(monitor)e(k)n(ept)h(on)g(trying)g(to)g(read)f(b)n
10916 (ytes)h(from)-32 1154 y(that)h(clien)n(t)h(\034lling)g(up)g(the)f
10917 (monitor's)g(disk....)-32 1324 y(This)37 b(problem)h(w)n(as)e(of)i
10918 (course)f(caused)g(b)n(y)h(a)f(programming)f(error:)55
10919 b(while)38 b(reading)f(information)g(from)g(a)h(clien)n(t)-32
10920 1424 y Fl(stealth)25 b Fk(failed)h(to)f(c)n(hec)n(k)g(whether)h(the)g
10921 (reading)e(had)i(actually)f(succeeded.)36 b(This)26 b(bug)f(has)g(no)n
10922 (w)g(b)r(een)i(\034xed,)f(but)g(an)-32 1524 y(in)n(ten)n(tional)h(DOS)h
10923 (attac)n(k)f(could)h(still)g(b)r(e)g(staged)f(along)g(this)h(line)g
10924 (when,)h(e.g.,)e(the)i Fl(\034nd)p Fk(\(1\))f(command)f(is)h(someho)n
10925 (w)-32 1623 y(replaced)23 b(b)n(y)h(a)g(manipulated)h(v)n(ersion)e(con)
10926 n(tin)n(uously)g(writing)h(information)g(to)g(its)h(standard)e(output)i
10927 (stream.)35 b(With-)-32 1723 y(out)28 b(further)g(precaution)f
10928 Fl(stealth)h Fk(w)n(ould)g(receiv)n(e)f(a)h(nev)n(er)g(ending)g(stream)
10929 f(of)h(b)n(ytes)g(to)h(b)r(e)f(written)h(to)f(its)g(`rep)r(ort')-32
10930 1823 y(\034le,)f(th)n(us)h(causing)f(its)g(disk)h(to)f(\034ll)h(up.)-32
10931 1993 y(T)-7 b(o)22 b(prev)n(en)n(t)g(this)h(from)f(happ)r(ening)i
10932 Fl(stealth)f Fk(no)n(w)f(o\033ers)g(the)h Fg(+NOTRANS\(-{}-{}\))o(ma)o
10933 (x-s)o(iz)o(e)17 b Fk(command)22 b(line)h(option)-32
10934 2093 y(allo)n(wing)i(the)j(sp)r(eci\034cation)e(of)h(the)h(maxim)n(um)f
10935 (size)f(of)h(a)g(stream)f(of)h(b)n(ytes)g(receiv)n(ed)f(b)n(y)i
10936 Fl(stealth)f Fk(\(e.g.,)g(a)f(rep)r(ort)h(or)-32 2192
10937 y(do)n(wnloaded)c(\034le\).)36 b(The)25 b(maxim)n(um)f(is)g(used)h(for)
10938 f(eac)n(h)g(individual)g(do)n(wnload)g(and)g(can)g(b)r(e)h(sp)r
10939 (eci\034ed)g(in)g(b)n(ytes)f(\(using)-32 2292 y(no)h(su\036x)g(or)g
10940 (the)h Fg(B)g Fk(su\036x\),)g(kilo-b)n(ytes)e(\(using)j
10941 Fg(K)p Fk(\),)e(mega-b)n(ytes)f(\(using)j Fg(M)p Fk(\))f(or)e(giga-b)n
10942 (ytes)g(\(using)j Fg(G)p Fk(\).)e(The)h(default)g(is)-32
10943 2392 y(set)h(at)h(10M,)e(equiv)-5 b(alen)n(t)28 b(to)f(the)h(command)f
10944 (line)h(sp)r(eci\034cation)f(of)34 b Fg(+NOTRANS\(-{}-{}\))o(ma)o(x-s)o
10945 (iz)o(e)j(10M)p Fk(.)-32 2562 y(If)25 b(a)g(\034le)g(or)f(rep)r(ort)g
10946 (receiv)n(ed)g(from)h(the)g(clien)n(t)h(exceeds)e(its)h(maxim)n(um)g
10947 (allo)n(w)n(ed)f(size)g(then)i Fl(stealth)f Fk(terminates)f(after)-32
10948 2662 y(writing)j(the)h(follo)n(wing)e(message)g(to)i(the)g(rep)r(ort)e
10949 (\034le)i(\(whic)n(h)g(is)f(sen)n(t)h(to)f(the)h(con\034gured)e(mail)i
10950 (address\):)p Black Black -32 2998 a Fg(STEALTH)40 b(-)j(CAN'T)f
10951 (CONTINUE:)e(`<name)h(of)h(offending)e(file>')h(EXCEEDS)g(MAX.)2059
10952 3097 y(DOWNLOAD)f(SIZE)i(\(<size)f(shown>\))142 3197
10953 y(STEALTH)f(-)k(THIS)e(COULD)f(SIGNAL)g(A)i(SERIOUS)e(PROBLEM)f(WITH)i
10954 (THE)h(CLIENT)142 3296 y(STEALTH)d(-)k(ONE)e(OR)h(MORE)f(LOG)g(FILES)f
10955 (MAY)i(BE)f(INVALID)f(AS)i(A)g(RESULT)142 3396 y(STEALTH)d(-)k(***)e
10956 (INVESTIGATE)d(***)-32 3632 y Fk(Since)e(a)g Fg(+NOTRANS\(-{}-{})o(\)m)
10957 o(ax-)o(si)o(ze)31 b Fk(sp)r(eci\034cation)36 b(ma)n(y)h(cause)f
10958 Fl(stealth)h Fk(to)g(terminate)g(while)g(receiving)f(the)-32
10959 3732 y(output)25 b(of)g(a)g(\(remotely)g(run\))g(command,)g(an)g(empt)n
10960 (y)g(or)f(partial)h(log)f(\034le)h(will)h(b)r(e)f(the)h(result.)35
10961 b(Of)25 b(course)f(this)i(partial)-32 3831 y(result)h(is)g(spurious)g
10962 (as)g(it)h(is)f(a)g(direct)h(result)f(of)34 b Fl(stealth)27
10963 b Fk(terminating)g(due)h(to)g(a)f(size)g(violation.)-32
10964 4002 y(After)d(in)n(v)n(estigating)f(\(and)i(remo)n(ving\))d(the)j
10965 (reasons)e(for)g(the)i(size)f(violation)g(a)g(new)h Fl(stealth)f
10966 Fk(run)g(using)g(the)h(previous)-32 4102 y(log)h(\034le)i(as)f(the)h
10967 (latest)f(baseline)g(should)h(sho)n(w)e(only)h(exp)r(ected)h(c)n
10968 (hanges.)-32 4272 y(F)-7 b(or)27 b(example,)g(assume)f(the)i(follo)n
10969 (wing)f(situation)g(represen)n(ts)f(a)h(\(v)-5 b(alid\))29
10970 b(state)e(of)g(log\034les:)p Black Black 142 4508 a Fg(etc)1001
10971 b(stealth)142 4608 y(setuid)869 b(stealth.2008031)o(6-1)o(05)o(756)-32
10972 4844 y Fk(No)n(w)24 b Fl(stealth)g Fk(is)g(run)g(with)h
10973 Fg(+NOTRANS\(-{}-{})o(\)m)o(ax-)o(si)o(ze)37 b(20)p Fk(,)24
10974 b(prematurely)f(terminating)i Fl(stealth)p Fk(.)35 b(This)24
10975 b(results)-32 4944 y(in)j(the)h(follo)n(wing)f(set)g(of)h(log\034les:)p
10976 Black Black 142 5180 a Fg(etc)1001 b(stealth)142 5280
10977 y(setuid)869 b(stealth.2008031)o(6-1)o(05)o(756)1275
10978 5379 y(stealth.2008031)o(6-1)o(10)o(215)-32 5615 y Fk(The)19
10979 b(\034le)h Fg(stealth)c Fk(no)n(w)j(con)n(tains)f(incomplete)i(data)f
10980 (with)h(the)g(\(latest\))g(\034le)f Fg(stealth.20080316)o(-1)o(102)o
10981 (15)13 b Fk(con)n(taining)-32 5715 y(its)27 b(previous)g(con)n(ten)n
10982 (ts.)-32 5885 y(The)i(reasons)e(for)i(the)h(size-violation)e(should)h
10983 (of)g(course)f(b)r(e)i(in)n(v)n(estigated)e(and)h(remo)n(v)n(ed.)41
10984 b(It)29 b(is)h(suggested)e(to)h(mo)n(v)n(e)p Black 1831
10985 6135 a(20)p Black eop end
10986 %%Page: 21 22
10987 TeXDict begin 21 21 bop -472 0 a
10988 SDict begin /product where{pop product(Distiller)search{pop pop pop
10989 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
10990 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
10991 grestore}if}{pop}ifelse}{pop}ifelse}if end
10992 -472 0 a 0 TeXcolorgray
10993 -513 133 a
10994 SDict begin H.S end
10995 -513 133 a -513 133 a
10996 SDict begin H.R end
10997 -513 133 a -513 133
10998 a
10999 SDict begin [/View [/XYZ H.V]/Dest (page.21) cvn /DEST pdfmark end
11000 -513 133 a Black Black Black -32 531 a Fk(the)30 b(\034le)g(last)g
11001 (sa)n(v)n(ed)e(\()p Fg(stealth.20080316-)o(11)o(02)o(15)p
11002 Fk(\))c(to)30 b(the)g(\034le)g Fg(stealth)p Fk(,)e(as)h(it)h(represen)n
11003 (ts)f(the)h(state)g(b)r(efore)f(the)-32 631 y(size)e(violation)f(w)n
11004 (as)h(encoun)n(tered.)36 b(F)-7 b(ollo)n(wing)26 b(this)i
11005 Fl(stealth)f Fk(should)h(op)r(erate)e(normally)h(again.)p
11006 Black 1831 6135 a(21)p Black eop end
11007 %%Page: 22 23
11008 TeXDict begin 22 22 bop -472 0 a
11009 SDict begin /product where{pop product(Distiller)search{pop pop pop
11010 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11011 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11012 grestore}if}{pop}ifelse}{pop}ifelse}if end
11013 -472 0 a 0 TeXcolorgray
11014 -504 133 a
11015 SDict begin H.S end
11016 -504 133 a -504 133 a
11017 SDict begin H.R end
11018 -504 133 a -504 133
11019 a
11020 SDict begin [/View [/XYZ H.V]/Dest (page.22) cvn /DEST pdfmark end
11021 -504 133 a Black Black Black -32 448 a
11022 SDict begin H.S end
11023 -32 448 a -32
11024 448 a
11025 SDict begin 12 H.A end
11026 -32 448 a -32 448 a
11027 SDict begin [/View [/XYZ H.V]/Dest (chapter.5) cvn /DEST pdfmark end
11028 -32 448 a 777 x Fj(Chapter)60
11029 b(5)-32 1711 y Fm(Running)72 b(`stealth')-32 2213 y Fk(No)n(w)32
11030 b(that)g Fl(stealth)h Fk(has)f(b)r(een)h(compiled,)g(the)g
11031 (construction)f(of)h(a)f(p)r(olicy)g(\034le)h(has)f(b)r(een)h(co)n(v)n
11032 (ered,)f(and)g(a)g(service-)-32 2313 y(accoun)n(t)26
11033 b(on)i(the)f(clien)n(t)h(has)f(b)r(een)h(de\034ned,)g(what)g(m)n(ust)f
11034 (b)r(e)h(done)f(to)h(run)f Fl(stealth)h Fk(in)f(practice?)-32
11035 2484 y(Here's)g(what)g(remains)g(to)g(b)r(e)h(done:)p
11036 Black 92 2720 a Fh(\017)p Black 41 w Fk(Install)g Fl(stealth)f
11037 Fk(at)g(a)g(prop)r(er)g(lo)r(cation)p Black 92 2887 a
11038 Fh(\017)p Black 41 w Fk(Construct)g(one)g(or)g(more)g(p)r(olicy)g
11039 (\034les)p Black 92 3053 a Fh(\017)p Black 41 w Fk(Learn)g(to)g(in)n
11040 (terpret)g Fl(stealth)p Fk('s)g(output.)p Black 92 3219
11041 a Fh(\017)p Black 41 w Fk(Optionally)-7 b(,)27 b(automate)g(the)h(remo)
11042 n(v)-5 b(al)26 b(of)i(old)f(log-\034les.)p Black 92 3385
11043 a Fh(\017)p Black 41 w Fk(Determine)h(a)f(sc)n(hedule)g(for)g(running)h
11044 (stealth)f(automatically)-7 b(,)27 b(e.g.)36 b(using)28
11045 b Fl(cron)p Fk(\(1\))h(or)d Fl(ssh-cron)p Fk(\(1\))-32
11046 3622 y(In)h(this)h(c)n(hapter,)f(these)g(topics)h(are)e(discussed.)-32
11047 3763 y
11048 SDict begin H.S end
11049 -32 3763 a -32 3763 a
11050 SDict begin 12 H.A end
11051 -32 3763 a -32 3763 a
11052 SDict begin [/View [/XYZ H.V]/Dest (section.5.1) cvn /DEST pdfmark
11053 end
11054 -32
11055 3763 a 204 x Fi(5.1)130 b(Installing)45 b(`stealth')-32
11056 4220 y Fk(As)31 b Fl(stealth)h Fk(is)f(mainly)h(a)f(system)h
11057 (administrator's)e(to)r(ol,)i(it)g(could)g(b)r(e)g(installed)f(in)h
11058 Fg(/usr/bin)p Fk(.)46 b(In)32 b(that)g(case,)g(do)-32
11059 4319 y(\(as)27 b Ff(r)l(o)l(ot)8 b Fk(\))28 b(in)f(the)h(directory)f
11060 (where)g Fl(stealth)g Fk(w)n(as)f(compiled/unpac)n(k)n(ed:)p
11061 Black Black 142 4556 a Fg(./build)40 b(install)h(program)-32
11062 4793 y Fk(Alternativ)n(ely)-7 b(,)25 b(another)g(default)h(lo)r(cation)
11063 g(ma)n(y)f(b)r(e)h(sp)r(eci\034ed)g(in)g(the)h Fg(INSTALL.im)21
11064 b Fk(\034le)26 b(or)f(ma)n(y)h(b)r(e)g(pro)n(vided)f(to)g(the)-32
11065 4893 y Fg(build)g Fk(script.)37 b(E.g.,)p Black Black
11066 142 5130 a Fg(./build)j(install)h(program)g(/usr/local/bin/)o(st)o(eal)
11067 o(th)-32 5367 y Fk(installing)27 b(the)h(binary)e(program)g(as)h
11068 Fg(/usr/local/bin/)o(ste)o(al)o(th)o Fk(.)-32 5537 y(The)34
11069 b(pro)n(vided)e Fg(icmake)41 b(build)32 b Fk(script)i(can)g(b)r(e)g
11070 (started)f(without)i(argumen)n(ts)d(for)i(an)f(o)n(v)n(erview)f(of)i(p)
11071 r(ossible)f(com-)-32 5637 y(mands.)p Black 1831 6135
11072 a(22)p Black eop end
11073 %%Page: 23 24
11074 TeXDict begin 23 23 bop -472 0 a
11075 SDict begin /product where{pop product(Distiller)search{pop pop pop
11076 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11077 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11078 grestore}if}{pop}ifelse}{pop}ifelse}if end
11079 -472 0 a 0 TeXcolorgray
11080 -513 133 a
11081 SDict begin H.S end
11082 -513 133 a -513 133 a
11083 SDict begin H.R end
11084 -513 133 a -513 133
11085 a
11086 SDict begin [/View [/XYZ H.V]/Dest (page.23) cvn /DEST pdfmark end
11087 -513 133 a Black Black Black -32 448 a
11088 SDict begin H.S end
11089 -32 448 a -32
11090 448 a
11091 SDict begin 12 H.A end
11092 -32 448 a -32 448 a
11093 SDict begin [/View [/XYZ H.V]/Dest (section.5.2) cvn /DEST pdfmark
11094 end
11095 -32 448 a 83 x Fi(5.2)130 b(Stealth)44
11096 b(command-line)g(and)g(p)t(olicy)h(\034le)f(options)-32
11097 784 y Fk(Short)27 b(options)g(are)f(pro)n(vided)h(b)r(et)n(w)n(een)g
11098 (paren)n(theses,)f(immediately)i(follo)n(wing)f(their)g(long)g(option)g
11099 (equiv)-5 b(alen)n(ts.)-32 955 y(Option)29 b(descriptions)f(sho)n(wing)
11100 h(\(C\))h(can)f(only)g(b)r(e)h(used)f(on)h(the)f(command-line,)h(and)f
11101 (are)g(ignored)f(when)i(sp)r(eci\034ed)-32 1054 y(in)d(the)h(second)f
11102 (section)g(of)h(the)g(p)r(olicy)f(\034le.)-32 1225 y(In)48
11103 b(the)g(o)n(v)n(erview)d(of)j(options)f(`)p Fe(<)p Fg(uds)p
11104 Fe(>)p Fk(')f(represen)n(ts)h(the)h(name)f(of)h(the)g
11105 Ff(Unix)g(Domain)h(So)l(cket)56 b Fk(to)47 b(use,)53
11106 b(and)-32 1324 y(`)p Fe(<)p Fg(file-spec)p Fe(>)p Fk(')23
11107 b(refers)j(to)i(a)f(\(relativ)n(e)f(or)h(absolute\))g(sp)r
11108 (eci\034cation)g(of)h(a)f(\034le)h(lo)r(cation.)-32 1495
11109 y(With)41 b(the)g(\034rst)g(and)g(second)f(synopses)g(relativ)n(e)f(lo)
11110 r(cations)h(\(of)h(the)g(Unix)g(Domain)g(So)r(c)n(k)n(et)f(and)h(of)g
11111 (other)f(\034le-)-32 1594 y(sp)r(eci\034cations\))27
11112 b(are)f(in)n(terpreted)h(relativ)n(e)g(to)g(the)h(curren)n(t)f(w)n
11113 (orking)e(directory)-7 b(.)-32 1765 y(Command-line)27
11114 b(options)f(o)n(v)n(errule)g(options)h(de\034ned)h(in)g(the)f(p)r
11115 (olicy-\034le.)p Black 92 2018 a Fh(\017)p Black 41 w
11116 Fg(+NOTRANS\(-{}-{}\))o(da)o(emo)o(n)37 b(\(-d\))42 b
11117 Fe(<)p Fg(uds)p Fe(>)p Fk(:)63 b(\(C\))43 b(run)e(as)g(bac)n(kground)f
11118 (\(daemon\))h(pro)r(cess.)78 b(When)42 b(the)175 2118
11119 y(Stealth)28 b(daemon)f(pro)r(cess)f(is)i(started,)f(the)h(Unix)g
11120 (Domain)f(So)r(c)n(k)n(et)g(\(tt)p Fe(<)p Fk(uds)p Fe(>)p
11121 Fk(\))h(ma)n(y)f(not)g(already)f(exist.)p Black 92 2284
11122 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(dr)o(y-r)o(un)o
11123 Fk(:)32 b(\(C\))c(no)f(in)n(tegrit)n(y)g(scans)g(or)f(reloads)h(are)f
11124 (p)r(erformed,)i(but)g(are)e(assumed)i(OK.)175 2384 y(Remaining)f
11125 (tasks)g(are)g(normally)f(p)r(erformed;)p Black 92 2550
11126 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(he)o(lp)37
11127 b(\(-h\))p Fk(:)e(\(C\))29 b(Displa)n(y)e(help)h(information)e(and)i
11128 (exit;)p Black 92 2716 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o
11129 (lo)o(g)38 b(\(-L\))k Fe(<)p Fg(file-spec)p Fe(>)p Fk(:)h(log)33
11130 b(messages)e(are)i(app)r(ended)g(to)g(`\034le-sp)r(ec'.)54
11131 b(If)34 b(\034le-sp)r(ec)175 2815 y(do)r(es)27 b(not)h(exist,)f(it)h
11132 (is)g(\034rst)f(created;)p Black 92 2981 a Fh(\017)p
11133 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(lo)o(gma)o(il)o Fk(:)59
11134 b(mail)42 b(sen)n(t)f(b)n(y)i Fl(stealth)e Fk(is)g(logged)g(\(requires)
11135 f Fg(+NOTRANS\(-{}-{}\))o(lo)o(g)c Fk(or)175 3081 y Fg
11136 (+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g)p Fk(\);)p Black 92
11137 3247 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ma)o(x-s)o(iz)o(e)i
11138 Fe(<)p Fg(size)p Fe(>)p Fg([BKMG])p Fk(:)28 b(\034les)33
11139 b(retriev)n(ed)f(b)n(y)h Fg(GET)f Fk(commands)h(ma)n(y)f(at)h(most)g
11140 (ha)n(v)n(e)175 3347 y Fe(<)p Fg(size)p Fe(>)22 b Fk(b)n(ytes)j(\(B\),)
11141 g(KBytes)f(\(K\),)h(MBytes)g(\(M\),)g(GBytes)g(\(G\).)h(The)e(default)i
11142 (size)e(is)h(10M,)f(the)h(default)g(unit)175 3446 y(is)j(B.)p
11143 Black 92 3612 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(no)o(-ma)o
11144 (il)o Fk(:)i(mail)c(is)f(not)h(sen)n(t.)36 b(By)25 b(default)h(mail)f
11145 (is)h(sen)n(t)f(as)g(con\034gured)g(in)g(the)h(p)r(olicy-\034le)175
11146 3712 y(\()p Fg(+NOTRANS\(-{}-{}\)l)o(og)o(mai)o(l)21
11147 b Fk(can)27 b(b)r(e)h(sp)r(eci\034ed)g(indep)r(enden)n(tly)g(from)g
11148 Fg(+NOTRANS\(-{}-{})o(\)n)o(o-m)o(ai)o(l)p Fk(\);)p Black
11149 92 3878 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(pa)o(rse)o(-p)o
11150 (oli)o(cy)o(-f)o(ile)37 b(\(-p\))p Fk(:)e(\(C\))28 b(parse)f(the)g(p)r
11151 (olicy)h(\034le,)g(after)f(whic)n(h)g Fl(stealth)h Fk(ends.)175
11152 3978 y(Sp)r(ecify)g(once)f(to)h(see)f(the)h(n)n(um)n(b)r(ered)f
11153 (commands;)175 4077 y(t)n(wice)h(to)f(see)g(the)h(p)r(olicy)g(\034le)f
11154 (parsing)f(steps)i(as)f(w)n(ell.)175 4177 y(Results)h(are)e(written)i
11155 (to)f(the)h(std.)37 b(output.)p Black 92 4343 a Fh(\017)p
11156 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(pi)o(ng)g Fe(<)p Fg(uds)p
11157 Fe(>)p Fk(:)59 b(\(C\))40 b(p)r(erforms)f(no)h(actions,)h(but)g(is)e
11158 (used)h(to)f(v)n(erify)g(that)h(a)f Fl(stealth)175 4443
11159 y Fk(daemon)26 b(can)g(b)r(e)i(reac)n(hed)d(via)h(its)h(Unix)g(Domain)f
11160 (So)r(c)n(k)n(et)g(\()p Fe(<)p Fg(uds)p Fe(>)p Fk(\).)35
11161 b(The)27 b(daemon)f(will)h(resp)r(ond)f(ev)n(en)g(if)i(it's)175
11162 4542 y(curren)n(tly)33 b(p)r(erforming)g(an)h(in)n(tegrit)n(y)f(scan.)
11163 56 b(It)35 b(is)f(used)g(b)n(y)g(the)g Fg(/usr/bin/stealth)o(cr)o(on)28
11164 b Fk(script)34 b(to)g(v)n(erify)175 4642 y(that)28 b(a)f
11165 Fl(stealth)g Fk(daemon)g(is)h(aliv)n(e.)p Black 92 4808
11166 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ra)o(ndo)o(m-)o(int)o
11167 (er)o(va)o(l)38 b(\(-i\))j Fe(<)p Fg(interval)p Fe(>)p
11168 Fg([m])p Fe(>)p Fk(:)31 b(start)25 b(the)h(scan)f(a)h(random)f(in)n
11169 (terv)-5 b(al)25 b(of)175 4908 y Fe(<)p Fk(in)n(terv)-5
11170 b(al)p Fe(>)38 b Fk(seconds)g(\(or)h(min)n(utes)g(if)h(an)f(`m')g(is)h
11171 (app)r(ended)f(\(no)g(blanks\))g(to)g Fe(<)p Fk(in)n(terv)-5
11172 b(al)p Fe(>)p Fk(\))38 b(follo)n(wing)g(the)175 5007
11173 y(dela)n(y)31 b(sp)r(eci\034ed)h(at)f Fg(+NOTRANS\(-{}-{}\)r)o(ep)o(ea)
11174 o(t)26 b Fk(\(see)31 b(b)r(elo)n(w\).)49 b(This)32 b(option)f(requires)
11175 g(sp)r(eci\034cation)g(of)g(the)175 5107 y Fg(+NOTRANS\(-{}-{}\))o(re)o
11176 (pea)o(t)21 b Fk(and)28 b Fg(+NOTRANS\(-{}-{})o(\)da)o(em)o(on)21
11177 b Fk(options;)p Black 92 5273 a Fh(\017)p Black 41 w
11178 Fg(+NOTRANS\(-{}-{}\))o(re)o(loa)o(d)37 b Fe(<)p Fg(uds)p
11179 Fe(>)p Fk(:)59 b(\(C\))41 b(reloads)d(the)i(con\034guration)d(and)j
11180 (skip-\034les)f(and)g(restarts)f(the)175 5372 y(scan)28
11181 b(of)h(the)g Fl(stealth)f Fk(daemon)h(pro)r(cess.)39
11182 b(Options)28 b(de\034ned)h(in)g(the)g(p)r(olicy)g(\034le)f(are)g(also)g
11183 (reloaded.)39 b(Ho)n(w)n(ev)n(er,)175 5472 y(command-line)23
11184 b(options)f(alw)n(a)n(ys)f(tak)n(e)h(priorit)n(y)g(o)n(v)n(er)f
11185 (options)i(de\034ned)g(in)g(the)h(p)r(olicy)f(\034le,)h(so)e(when)i
11186 (command-)175 5572 y(line)f(options)f(w)n(ere)f(used)i(when)f(starting)
11187 h Fl(stealth)f Fk(in)h(daemon)f(mo)r(de,)i(they)e(cannot)g(b)r(e)h(mo)r
11188 (di\034ed)g(b)n(y)f(reloading)175 5671 y(the)28 b(p)r(olicy)f(\034le.)p
11189 Black 1831 6135 a(23)p Black eop end
11190 %%Page: 24 25
11191 TeXDict begin 24 24 bop -472 0 a
11192 SDict begin /product where{pop product(Distiller)search{pop pop pop
11193 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11194 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11195 grestore}if}{pop}ifelse}{pop}ifelse}if end
11196 -472 0 a 0 TeXcolorgray
11197 -504 133 a
11198 SDict begin H.S end
11199 -504 133 a -504 133 a
11200 SDict begin H.R end
11201 -504 133 a -504 133
11202 a
11203 SDict begin [/View [/XYZ H.V]/Dest (page.24) cvn /DEST pdfmark end
11204 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
11205 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(re)o(pea)o(t)37 b
11206 Fe(<)p Fg(seconds)p Fe(>)p Fk(:)29 b(w)n(ak)n(e)18 b(up)i(and)f(p)r
11207 (erform)f(an)h(in)n(tegrit)n(y)g(scan)f(at)h(in)n(terrupts)g(or)f
11208 (after)175 631 y Fe(<)p Fg(seconds)p Fe(>)24 b Fk(seconds)j(\(or)g(min)
11209 n(utes)h(if)g(an)g(`m')g(is)g(app)r(ended)g(\(no)f(blanks\))h(to)f
11210 Fe(<)p Fk(seconds)p Fe(>)p Fk(\))g(after)g(completing)175
11211 731 y(the)34 b(previous)f(in)n(tegrit)n(y)f(scan.)55
11212 b(The)34 b(option)f Fg(+NOTRANS\(-{}-{})o(\)ra)o(nd)o(om-)o(in)o(te)o
11213 (rva)o(l)27 b Fk(can)34 b(b)r(e)g(used)f(to)h(add)175
11214 830 y(a)j(random)g(dela)n(y)f(to)h Fe(<)p Fg(seconds)p
11215 Fe(>)d Fk(un)n(til)k(the)g(next)f(in)n(tegrit)n(y)g(scan)g(is)g(p)r
11216 (erformed.)66 b(This)37 b(option)g(requires)175 930 y(sp)r
11217 (eci\034cation)27 b(of)h(the)g(and)f Fg(+NOTRANS\(-{}-{}\))o(da)o(emo)o
11218 (n)21 b Fk(option;)p Black 92 1096 a Fh(\017)p Black
11219 41 w Fg(+NOTRANS\(-{}-{}\))o(re)o(run)37 b Fe(<)p Fg(uds)p
11220 Fe(>)p Fk(:)e(\(C\))29 b(start)e(executing)h(the)g(in)n(tegrit)n(y)f
11221 (scan)g(commands)g(that)h(are)f(sp)r(eci-)175 1196 y(\034ed)h(in)g(the)
11222 g Fl(stealth)f Fk(daemon)g(pro)r(cess's)f(p)r(olicy)h(\034le;)p
11223 Black 92 1362 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(re)o(sum)o
11224 (e)37 b Fe(<)p Fg(uds)p Fe(>)p Fk(:)157 b(\(C\))88 b(resume)g(a)g(susp)
11225 r(ended)g Fl(stealth)g Fk(pro)r(cess,)103 b(implies)175
11226 1461 y Fg(+NOTRANS\(-{}-{}\))o(re)o(run)o Fk(;)p Black
11227 92 1627 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ru)o(n-c)o(om)o
11228 (man)o(d)37 b(\(-r\))42 b Fe(<)p Fg(nr)p Fe(>)p Fk(:)f(\(C\))31
11229 b(Only)e(execute)i(command)e(n)n(um)n(b)r(er)h Fe(<)p
11230 Fk(nr)p Fe(>)f Fk(\(natural)175 1727 y(n)n(um)n(b)r(er\).)36
11231 b(Command)24 b(n)n(um)n(b)r(ers)g(are)f(sho)n(wn)h(b)n(y)h
11232 Fl(stealth)f Fg(+NOTRANS\(-{}-{}\)-)o(pa)o(rs)o(e-p)o(ol)o(icy)o(-f)o
11233 (il)o(e)p Fk(.)30 b(This)175 1826 y(option)d(can)h(only)f(b)r(e)h(sp)r
11234 (eci\034ed)f(using)h(the)g(second)e(synopsis;)p Black
11235 92 1993 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(sk)o(ip-)o(fi)o
11236 (les)37 b(\(-s\))42 b Fe(<)p Fg(file-spec)p Fe(>)p Fk(:)78
11237 b(all)50 b(en)n(tries)f(in)i Fe(<)p Fg(file-spec)p Fe(>)46
11238 b Fk(are)k(skipp)r(ed.)175 2092 y(Their)38 b(in)n(tegrit)n(y)g(is)g
11239 (not)g(monitored.)69 b(If)39 b(an)f(en)n(try)g(is)g(already)f(presen)n
11240 (t)h(in)h(a)f(log)g(\034le)g(then)h Fl(stealth)f Fk(once)175
11241 2192 y(generates)26 b(an)h Fg(IGNORING)c Fk(message)j(in)h(the)h(mail)f
11242 (sen)n(t)g(to)g(the)g(address)f(sp)r(eci\034ed)i(at)f
11243 Fg(EMAIL)e Fk(in)i(the)h(p)r(olicy)f(\034le.)175 2291
11244 y(Eac)n(h)g(en)n(try)g(men)n(tioned)g(in)g Fg(file-spec)d
11245 Fk(m)n(ust)j(b)r(e)h(on)f(a)f(line)i(of)f(its)g(o)n(wn)g(and)g(m)n(ust)
11246 g(b)r(e)h(sp)r(eci\034ed)f(using)g(abso-)175 2391 y(lute)i(\034le)g
11247 (paths.)41 b(En)n(tries)28 b(ending)h(in)g(a)g(slash)f(are)f(assumed)i
11248 (to)f(b)r(e)h(directories)f(whose)g(full)h(con)n(ten)n(ts)g(m)n(ust)f
11249 (b)r(e)175 2491 y(skipp)r(ed.)35 b(Other)22 b(en)n(tries)f(are)g(in)n
11250 (terpreted)g(as)g(the)h(names)g(of)f(\034les)h(to)g(skip.)35
11251 b(Initial)22 b(and)f(trailing)g(blanks,)i(empt)n(y)175
11252 2590 y(lines)28 b(and)f(lines)h(ha)n(ving)e(a)h Fg(#)g
11253 Fk(as)g(their)h(1st)f(non)g(blank)h(c)n(haracter)d(are)i(ignored.)35
11254 b(Here)28 b(are)e(some)h(examples:)p Black Black 524
11255 2889 a Fg(#)43 b(skip)f(all)g(files)g(in)g(user's)f(Mail)h(directory)
11256 349 2989 y(/home/user/Mail/)524 3088 y(#)h(skip)f(user's)f(.history)f
11257 (file)349 3188 y(/home/user/.histo)o(ry)p Black 92 3487
11258 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(st)o(dou)o(t)d(\(-o\))p
11259 Fk(:)e(messages)24 b(are)h(\(also\))h(written)g(to)g(the)g(std.)37
11260 b(output)26 b(stream)f(\(only)h(a)n(v)-5 b(ail-)175 3587
11261 y(able)27 b(with)h(the)g(second)f(synopsis\);)p Black
11262 92 3753 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(su)o(spe)o(nd)37
11263 b Fe(<)p Fg(uds)p Fe(>)p Fk(:)52 b(\(C\))37 b(susp)r(ends)f(a)f(curren)
11264 n(tly)h(activ)n(e)f Fl(stealth)h Fk(pro)r(cess.)61 b(F)-7
11265 b(ollo)n(wing)175 3852 y Fg(+NOTRANS\(-{}-{}\))o(su)o(spe)o(nd)37
11266 b Fk(use)43 b Fg(+NOTRANS\(-{}-{})o(\)r)o(esu)o(me)37
11267 b Fk(to)43 b(re-activ)-5 b(ate)41 b(an)i Fl(stealth)g
11268 Fk(daemon)g(or)175 3952 y Fg(+NOTRANS\(-{}-{}\))o(te)o(rmi)o(na)o(te)21
11269 b Fk(to)28 b(end)f(an)h Fl(stealth)f Fk(daemon;)p Black
11270 92 4118 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g)p
11271 Fk(:)k(write)c(syslog)f(messages;)p Black 92 4284 a Fh(\017)p
11272 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g-)o(fac)o(il)o(it)o(y)38
11273 b Fe(<)p Fg(facility)p Fe(>)p Fk(:)31 b(syslog)24 b(facilit)n(y)h(to)g
11274 (use.)36 b(By)25 b(default)g(facilit)n(y)g(D)n(AE-)175
11275 4384 y(MON)j(is)f(used;)p Black 92 4550 a Fh(\017)p Black
11276 41 w Fg(+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g-)o(pri)o(or)o(it)o(y)38
11277 b Fe(<)p Fg(priority)p Fe(>)p Fk(:)31 b(syslog)24 b(priorit)n(y)g(to)h
11278 (use.)36 b(By)25 b(default)h(priorit)n(y)e(NO-)175 4649
11279 y(TICE)k(is)g(used;)p Black 92 4815 a Fh(\017)p Black
11280 41 w Fg(+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g-)o(tag)37 b
11281 Fe(<)p Fg(tag)p Fe(>)p Fk(:)56 b Fe(<)p Fg(tag)p Fe(>)37
11282 b Fk(sp)r(eci\034es)h(the)h(iden)n(ti\034er)f(that)h(is)f(pre\034xed)g
11283 (to)g(syslog)175 4915 y(messages.)d(By)28 b(default)f(the)h(tag)f
11284 (`STEAL)-7 b(TH')29 b(is)f(used,)f(see)g(also)g(the)h(next)g(section;)p
11285 Black 92 5081 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(te)o(rmi)o
11286 (na)o(te)37 b Fe(<)p Fg(uds)p Fe(>)p Fk(:)e(\(C\))28
11287 b(terminate)f(a)h(curren)n(tly)e(activ)n(e)h Fl(stealth)g
11288 Fk(pro)r(cess;)p Black 92 5247 a Fh(\017)p Black 41 w
11289 Fg(+NOTRANS\(-{}-{}\))o(ti)o(me-)o(st)o(amp)37 b(\(-t\))42
11290 b Fe(<)p Fg(type)p Fe(>)p Fk(:)30 b(the)20 b(time-stamps)f(to)h(use.)34
11291 b(By)19 b(default)h(UTC.)g(T)-7 b(o)19 b(use)g(the)175
11292 5347 y(lo)r(cal)38 b(time)h(sp)r(ecify)g Fg(+NOTRANS\(-{}-{}\)t)o(im)o
11293 (e-)o(sta)o(mp)e(LT)p Fk(.)g(The)i Fg(+NOTRANS\(-{}-{})o(\)ti)o(me)o
11294 (-s)o(tam)o(p)32 b Fk(option)175 5446 y(do)r(es)27 b(not)h(apply)f(to)h
11295 (time-stamps)f(generated)f(b)n(y)i(syslog)e(\(see)h(also)f(the)i(next)g
11296 (section\);)p Black 92 5612 a Fh(\017)p Black 41 w Fg
11297 (+NOTRANS\(-{}-{}\))o(us)o(age)o Fk(:)j(\(C\))d(Displa)n(y)f(help)h
11298 (information)f(and)g(exit;)p Black 1831 6135 a(24)p Black
11299 eop end
11300 %%Page: 25 26
11301 TeXDict begin 25 25 bop -472 0 a
11302 SDict begin /product where{pop product(Distiller)search{pop pop pop
11303 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11304 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11305 grestore}if}{pop}ifelse}{pop}ifelse}if end
11306 -472 0 a 0 TeXcolorgray
11307 -513 133 a
11308 SDict begin H.S end
11309 -513 133 a -513 133 a
11310 SDict begin H.R end
11311 -513 133 a -513 133
11312 a
11313 SDict begin [/View [/XYZ H.V]/Dest (page.25) cvn /DEST pdfmark end
11314 -513 133 a Black Black Black Black 92 531 a Fh(\017)p
11315 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ve)o(rbo)o(si)o(ty)37
11316 b Fe(<)p Fg(value)p Fe(>)p Fk(:)44 b(determines)32 b(the)h(amoun)n(t)f
11317 (of)g(logged)f(information.)51 b(Requires)175 631 y(options)27
11318 b Fg(+NOTRANS\(-{}-{}\))o(lo)o(g)22 b Fk(or)k Fg(+NOTRANS\(-{}-{}\)s)o
11319 (ys)o(lo)o(g)p Fk(.)31 b(P)n(ossible)c(v)-5 b(alues)27
11320 b(are:)175 731 y(0:)37 b(nothing)27 b(is)g(logged)175
11321 830 y(1:)37 b(\(default\))28 b(mo)r(de)g(rep)r(orts)e(and)i(p)r(olicy)f
11322 (commands)175 930 y(2:)37 b(also:)e(ip)r(c)28 b(commands)f(and)h
11323 (actions)175 1029 y(3:)37 b(also:)e(in)n(tegrit)n(y)27
11324 b(scan)g(informativ)n(e)f(messages)p Black 92 1196 a
11325 Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ve)o(rsi)o(on)37
11326 b(\(-v\))p Fk(:)e(\(C\))28 b(Displa)n(y)h Fl(stealth)p
11327 Fk('s)e(v)n(ersion)f(information)g(and)i(terminate;)p
11328 Black 92 1449 a Fh(\017)p Black 41 w Fg(policy)p Fk(:)47
11329 b(\034le)34 b(sp)r(eci\034cation)g(of)g(the)g(p)r(olicy)g(\034le.)56
11330 b(If)34 b(a)g(relativ)n(e)f(lo)r(cation)g(is)h(sp)r(eci\034ed)g(then)g
11331 (this)h(lo)r(cation)e(is)175 1549 y(in)n(terpreted)i(relativ)n(e)f(to)h
11332 (the)h(curren)n(t)e(w)n(orking)g(directory)-7 b(.)59
11333 b Fl(Stealth)35 b Fk(con)n(v)n(erts)f(this)h(relativ)n(e)f(sp)r
11334 (eci\034cation)175 1648 y(to)28 b(an)g(absolute)g(\034le)h(lo)r
11335 (cation,)f(and)g(an)g(option)g(lik)n(e)g Fg(+NOTRANS\(-{}-{}\))o(re)o
11336 (lo)o(ad)22 b Fk(will)29 b(reload)e(the)h(p)r(olicy)h(\034le)175
11337 1748 y(from)e(the)h(th)n(us)g(determined)g(absolute)e(\034le)i(path.)
11338 -32 2001 y(Only)202 b(one)g(of)h(the)g(options)f Fg(+NOTRANS\(-{}-{})o
11339 (\)d)o(aem)o(on)o(,)37 b(+NOTRANS\(-{}-{}\)r)o(el)o(oad)o(,)-32
11340 2101 y(+NOTRANS\(-{}-{})o(\)r)o(esu)o(me)o(,)g(+NOTRANS\(-{}-{}\)s)o
11341 (us)o(pe)o(nd)e Fk(or)40 b Fg(+NOTRANS\(-{}-{})o(\)te)o(rm)o(in)o(ate)
11342 34 b Fk(can)41 b(b)r(e)g(sp)r(ec-)-32 2201 y(i\034ed.)88
11343 b(The)44 b(options)g Fg(+NOTRANS\(-{}-{}\)r)o(el)o(oa)o(d,)37
11344 b(+NOTRANS\(-{}-{}\))o(rer)o(un)o(,)g(+NOTRANS\(-{}-{}\)r)o(es)o(ume)o
11345 (,)-32 2300 y(+NOTRANS\(-{}-{})o(\)s)o(usp)o(en)o(d,)21
11346 b Fk(and)27 b Fg(+NOTRANS\(-{}-{}\)t)o(er)o(min)o(at)o(e)22
11347 b Fk(ignore)k(an)n(y)h(other)f(options.)-32 2471 y(The)j(follo)n(wing)f
11348 (options)g(are)g(still)i(recognized)d(for)i(bac)n(kw)n(ard)e
11349 (compatibilit)n(y)h(with)i Fl(stealth)f Fk(pre-3.00)e(v)n(ersions)g
11350 (and)-32 2570 y(will)g(b)r(e)h(remo)n(v)n(ed)e(in)i(a)f(future)h
11351 Fl(stealth)f Fk(v)n(ersion.)36 b(They)27 b(generate)f(error)g(messages)
11352 g(suggesting)g(alternativ)n(es:)p Black 92 2824 a Fh(\017)p
11353 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(ec)o(ho-)o(co)o(mma)o(nd)o(s)37
11354 b(\(-e\))p Fk(:)d(ec)n(ho)23 b(commands)g(to)h(std)g(error)d(when)j
11355 (they)g(are)f(pro)r(cessed;)h(use)175 2924 y Fg(+NOTRANS\(-{}-{}\))o
11356 (lo)o(g)e Fk(instead.)p Black 92 3090 a Fh(\017)p Black
11357 41 w Fg(+NOTRANS\(-{}-{}\))o(ke)o(ep-)o(al)o(ive)o Fk(:)31
11358 b(run)c(as)g(a)h(daemon;)f(use)g Fg(+NOTRANS\(-{}-{}\))o(da)o(em)o(on)
11359 21 b Fk(instead.)p Black 92 3256 a Fh(\017)p Black 41
11360 w Fg(+NOTRANS\(-{}-{}\))o(on)o(ly-)o(st)o(dou)o(t)p Fk(:)45
11361 b(scan)34 b(rep)r(ort)g(is)h(written)g(to)g(stdout;)j(use)d
11362 Fg(+NOTRANS\(-{}-{}\))o(st)o(dou)o(t)175 3355 y Fk(instead.)p
11363 Black 92 3521 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(qu)o(iet)i
11364 (\(-q\))p Fk(:)166 b(suppresses)92 b(progress)f(messages)g(written)j
11365 (to)f(stderr;)125 b(use)175 3621 y Fg(+NOTRANS\(-{}-{}\))o(ve)o(rbo)o
11366 (si)o(ty)37 b(0)27 b Fk(instead.)p Black 92 3787 a Fh(\017)p
11367 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(su)o(ppr)o(es)o(s)38
11368 b Fe(<)p Fg(uds)p Fe(>)p Fk(:)125 b(suppresses)72 b(a)h(curren)n(tly)f
11369 (activ)n(e)g Fl(stealth)h Fk(pro)r(cess;)95 b(use)175
11370 3887 y Fg(+NOTRANS\(-{}-{}\))o(su)o(spe)o(nd)21 b Fk(instead.)-32
11371 4140 y(The)27 b(follo)n(wing)g(options)g(w)n(ere)f(discon)n(tin)n(ued)h
11372 (starting)g(since)g Fl(stealth)g Fk(v)n(ersion)f(3.00.00:)p
11373 Black 92 4377 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(de)o(bug)
11374 58 b Fk(\(option)64 b Fg(+NOTRANS\(-{}-{}\))o(ve)o(rbo)o(si)o(ty)58
11375 b Fk(or)63 b Fg(+NOTRANS\(-{}-{}\)d)o(ry)o(-ru)o(n)175
11376 4477 y Fk(could)27 b(b)r(e)h(used)g(instead\);)p Black
11377 92 4643 a Fh(\017)p Black 41 w Fg(+NOTRANS\(-{}-{}\))o(no)o(-ch)o(il)o
11378 (d-p)o(ro)o(ce)o(sse)o(s)p Fk(;)p Black 92 4809 a Fh(\017)p
11379 Black 41 w Fg(+NOTRANS\(-{}-{}\))o(pa)o(rse)o(-c)o(onf)o(ig)o(-f)o(ile)
11380 o Fk(.)-32 5046 y(When)g(sp)r(ecifying)f(long)g(options)g(in)h(p)r
11381 (olicy)f(\034les)h(initial)f(h)n(yphens)h(should)f(b)r(e)h(omitted.)37
11382 b(Here)27 b(are)g(some)g(examples:)p Black Black 142
11383 5283 a Fg(\045\045)142 5382 y(log)42 b(/tmp/stealth.log)142
11384 5482 y(verbosity)e(3)p Black 1831 6135 a Fk(25)p Black
11385 eop end
11386 %%Page: 26 27
11387 TeXDict begin 26 26 bop -472 0 a
11388 SDict begin /product where{pop product(Distiller)search{pop pop pop
11389 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11390 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11391 grestore}if}{pop}ifelse}{pop}ifelse}if end
11392 -472 0 a 0 TeXcolorgray
11393 -504 133 a
11394 SDict begin H.S end
11395 -504 133 a -504 133 a
11396 SDict begin H.R end
11397 -504 133 a -504 133
11398 a
11399 SDict begin [/View [/XYZ H.V]/Dest (page.26) cvn /DEST pdfmark end
11400 -504 133 a Black Black Black -32 448 a
11401 SDict begin H.S end
11402 -32 448 a -32
11403 448 a
11404 SDict begin 12 H.A end
11405 -32 448 a -32 448 a
11406 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.2.1) cvn /DEST pdfmark
11407 end
11408 -32 448 a 83 x Fa(5.2.1)112
11409 b(Rsyslog)37 b(\034ltering)-32 755 y Fk(When)30 b(using)h
11410 Fl(rsyslogd)p Fk(\(1\))e(prop)r(ert)n(y)f(based)i(\034lters)f(ma)n(y)g
11411 (b)r(e)h(used)g(to)g(\034lter)g(syslog)e(messages)g(and)i(write)g(them)
11412 g(to)-32 855 y(a)d(\034le)g(of)h(y)n(our)e(c)n(hoice.)36
11413 b(E.g.,)28 b(to)g(\034lter)f(messages)f(starting)h(with)h(the)g(syslog)
11414 e(message)g(tag)h(\(e.g.,)g Fg(STEALTH)p Fk(\))e(use)p
11415 Black Black -32 1162 a Fg(:syslogtag,)38 b(isequal,)j("STEALTH:")126
11416 b(/var/log/stealth)o(.lo)o(g)-32 1262 y(:syslogtag,)38
11417 b(isequal,)j("STEALTH:")126 b(stop)-32 1570 y Fk(Note)27
11418 b(that)h(the)g(colon)f(is)g(part)g(of)h(the)g(tag,)f(but)h(is)f(not)h
11419 (sp)r(eci\034ed)g(with)g(the)g Fg(syslog-tag)23 b Fk(option.)-32
11420 1740 y(This)67 b(causes)f(all)h(messages)f(ha)n(ving)g(the)h
11421 Fg(STEALTH:)d Fk(tag)j(to)g(b)r(e)h(written)f(on)g Fg(/var/log/stealth)
11422 o(.lo)o(g)-32 1840 y Fk(after)140 b(whic)n(h)i(they)f(are)f(discarded.)
11423 377 b(More)140 b(extensiv)n(e)h(\034ltering)g(is)g(also)f(sup-)-32
11424 1939 y(p)r(orted,)239 b(see,)g(e.g.,)g Fg(http://www.rsys)o(lo)o(g.c)o
11425 (om)o(/d)o(oc/)o(rs)o(ys)o(log)o(_c)o(on)o(f_f)o(il)o(ter)o(.h)o(tm)o
11426 (l)191 b Fk(and)-32 2039 y Fg(http://www.rsys)o(lo)o(g.c)o(om)o(/d)o
11427 (oc/)o(pr)o(op)o(ert)o(y_)o(re)o(pla)o(ce)o(r.)o(htm)o(l)-32
11428 2209 y Fk(Time)24 b(stamps)f(written)h(b)n(y)h Fg(rsyslogd)c
11429 Fk(are)i(not)g(con)n(trolled)g(b)n(y)i Fl(stealth)p Fk('s)e
11430 Fg(+NOTRANS\(-{}-{}\))o(ti)o(me-)o(st)o(amp)17 b Fk(option,)-32
11431 2309 y(but,)28 b(e.g.,)f(b)n(y)g(a)g Fg(TZ)g Fk(sp)r(eci\034cation)g
11432 (in)h Fg(/etc/default/rsy)o(slo)o(g)p Fk(.)j(Simply)d(add)f(the)h(line)
11433 p Black Black 142 2517 a Fg(export)41 b(TZ=UTC)-32 2725
11434 y Fk(to)23 b Fg(/etc/default/rs)o(ys)o(lo)o(g)p Fk(,)18
11435 b(follo)n(w)n(ed)k(b)n(y)h(restarting)g Fg(rsyslogd)d
11436 Fk(con\034gures)h Fg(rsyslogd)f Fk(to)j(generate)f(time)h(stamps)-32
11437 2824 y(using)k(UTC.)-32 2959 y
11438 SDict begin H.S end
11439 -32 2959 a -32 2959 a
11440 SDict begin 12 H.A end
11441
11442 -32 2959 a -32 2959 a
11443 SDict begin [/View [/XYZ H.V]/Dest (section.5.3) cvn /DEST pdfmark
11444 end
11445 -32 2959 a 204 x Fi(5.3)130 b(Construct)45
11446 b(one)e(or)h(more)f(p)t(olicy)i(\034les)-32 3416 y Fk(Here)34
11447 b(w)n(e)g(assume)g(that)h Fl(stealth)g Fk(is)g(run)f(b)n(y)h
11448 Ff(r)l(o)l(ot)p Fk(,)h(and)f(that)g(ro)r(ot)f(w)n(an)n(ts)g(to)g(store)
11449 g(information)g(ab)r(out)h(the)g(host)-32 3516 y Fg(client)25
11450 b Fk(under)i(the)h(sub)r(directory)g Fg(/root/stealth/c)o(li)o(ent)o
11451 Fk(.)-32 3686 y(F)-7 b(urthermore,)76 b(w)n(e)67 b(assume)f(that)i(rep)
11452 r(orts)e(of)74 b Fl(stealth)67 b Fk(in)n(tegrit)n(y-scans)e(should)i(b)
11453 r(e)g(sen)n(t)h(to)f(the)g(user)-32 3786 y Fg(admin@elsewhere)o
11454 Fk(,)34 b(who)k(is)f(only)g(in)n(terested)g(in)h(receiving)e(a)h(short)
11455 g(summary)g(of)g(c)n(hanges,)i(as)e(the)g(full)i(rep)r(ort)-32
11456 3885 y(can)27 b(alw)n(a)n(ys)f(b)r(e)i(read)f(at)g(the)h(monitor)f
11457 (itself.)38 b(T)-7 b(o)27 b(accomplish)g(this)h(a)f(small)h(supp)r
11458 (ort-script)e(w)n(as)h(dev)n(elop)r(ed,)g(\034lter-)-32
11459 3985 y(ing)g(the)h(rep)r(ort)f(generated)f(b)n(y)i Fl(stealth)g
11460 Fk(do)n(wn)f(to)g(its)h(essen)n(tials.)-32 4156 y(As)h(the)g
11461 Fg(sha1sum)d Fk(program)h(on)i(the)g(clien)n(t)h(ma)n(y)e(b)r(e)h
11462 (compromised,)g(it)g(is)g(a)g(go)r(o)r(d)f(idea)h(to)g(start)f(the)h
11463 (in)n(tegrit)n(y)f(scan)-32 4255 y(b)n(y)g(transferring)e(the)j(clien)n
11464 (t's)f Fg(sha1sum)e Fk(program)g(to)j(the)f(monitor)g(\034rst,)h(to)f
11465 (v)n(erify)g(the)g(in)n(tegrit)n(y)g(of)g(that)h(program)-32
11466 4355 y(lo)r(cally)e(\(i.e.,)h(at)g(the)g(monitor\),)f(b)r(efore)h
11467 (trusting)f(it)i(to)e(compute)h(sha1sums)f(of)h(the)g(clien)n(t's)g
11468 (\034les.)37 b(The)28 b(same)f(holds)-32 4454 y(true)g(for)g(an)n(y)g
11469 (libraries)f(and)h(supp)r(ort)h(programs)d(\(lik)n(e)i
11470 Fg(find)p Fk(\))g(that)g(are)g(used)h(in)n(tensiv)n(ely)e(during)h(in)n
11471 (tegrit)n(y)g(scans.)-32 4625 y(Sha1sum)e(c)n(hec)n(ks)g(should)i(b)r
11472 (e)f(p)r(erformed)g(on)g(all)g(setuid)h(and)f(setgid)g(\034les)g(on)g
11473 (the)h Fg(client)p Fk(,)d(and)j(in)f(order)f(to)h(b)r(e)h(able)-32
11474 4725 y(reac)n(h)34 b(all)h(\034les)g(on)g Fg(client)p
11475 Fk(,)g Fg(root@monitor)30 b Fk(is)35 b(allo)n(w)n(ed)f(to)h(login)g(to)
11476 g(the)h Fg(root@client)31 b Fk(accoun)n(t)j(using)h(an)g
11477 Fg(ssh)-32 4824 y Fk(connection.)-32 4995 y(F)-7 b(urthermore,)24
11478 b(sha1sum)f(c)n(hec)n(ks)h(should)g(b)r(e)h(p)r(erformed)f(on)g(all)h
11479 (con\034guration)e(\034les,)i(living)f(under)h Fg(/etc)e
11480 Fk(and)h(on)g(the)-32 5094 y(\034le)j Fg(/usr/bin/find)22
11481 b Fk(\(whic)n(h)28 b(is)g(used)f(in)n(tensiv)n(ely)g(when)h(p)r
11482 (erforming)e(the)i(in)n(tegrit)n(y)f(c)n(hec)n(ks\).)-32
11483 5265 y(Next,)38 b(the)f(construction)e(of)h(the)h(required)e
11484 Fg(policy)f Fk(\034le,)k(implemen)n(ting)f(the)f(ab)r(o)n(v)n(emen)n
11485 (tioned)f(requiremen)n(ts,)i(is)-32 5364 y(describ)r(ed)27
11486 b(in)h(the)g(follo)n(wing)e(subsections.)-32 5490 y
11487 SDict begin H.S end
11488 -32
11489 5490 a -32 5490 a
11490 SDict begin 12 H.A end
11491 -32 5490 a -32 5490 a
11492 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3.1) cvn /DEST pdfmark
11493 end
11494 -32 5490 a 171
11495 x Fa(5.3.1)112 b(DEFINE)36 b(directiv)m(es)-32 5885 y
11496 Fk(First)27 b(w)n(e)g(write)h(some)f Fg(DEFINE)e Fk(directiv)n(es)h
11497 (simplifying)i(complex)f(command)g(sp)r(eci\034cations:)p
11498 Black 1831 6135 a(26)p Black eop end
11499 %%Page: 27 28
11500 TeXDict begin 27 27 bop -472 0 a
11501 SDict begin /product where{pop product(Distiller)search{pop pop pop
11502 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11503 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11504 grestore}if}{pop}ifelse}{pop}ifelse}if end
11505 -472 0 a 0 TeXcolorgray
11506 -513 133 a
11507 SDict begin H.S end
11508 -513 133 a -513 133 a
11509 SDict begin H.R end
11510 -513 133 a -513 133
11511 a
11512 SDict begin [/View [/XYZ H.V]/Dest (page.27) cvn /DEST pdfmark end
11513 -513 133 a Black Black Black Black Black 142 631 a
11514 Fg(DEFINE)84 b(SSHCMD)h(/usr/bin/ssh)39 b(root@client)f(-T)43
11515 b(-q)g(exec)f(/bin/bash)e(--noprofile)142 731 y(DEFINE)84
11516 b(EXECSHA1)41 b(-xdev)g(-perm)h(+u+s,g+s)e(\\\()i(-user)g(root)g(-or)g
11517 (-group)f(root)h(\\\))h(\\)839 830 y(-type)f(f)h(-exec)e
11518 (/usr/bin/sha1sum)c({})43 b(\\;)-32 1067 y Fk(The)26
11519 b(\034rst)h Fg(DEFINE)d Fk(de\034nes)j(the)g Fg(ssh)f
11520 Fk(command)g(to)h(use:)36 b(an)26 b(ssh-connection)g(will)h(b)r(e)g
11521 (made)f(to)h(the)g(ro)r(ot)f(accoun)n(t)g(at)-32 1167
11522 y(the)i(clien)n(t.)-32 1337 y(The)34 b(second)g Fg(DEFINE)e
11523 Fk(sho)n(ws)h(the)h(argumen)n(ts)f(for)h Fl(\034nd)p
11524 Fk(\(1\))h(when)f(lo)r(oking)f(for)h(all)g(ro)r(ot)g(setuid)g(or)g
11525 (setgid)g(normal)-32 1437 y(\034les.)i(F)-7 b(or)27 b(all)h(these)f
11526 (\034les)h(the)g Fl(sha1sum)p Fk(\(1\))e(program)g(should)h(b)r(e)h
11527 (run.)-32 1574 y
11528 SDict begin H.S end
11529 -32 1574 a -32 1574 a
11530 SDict begin 12 H.A end
11531 -32 1574 a -32
11532 1574 a
11533 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3.2) cvn /DEST pdfmark
11534 end
11535 -32 1574 a 166 x Fa(5.3.2)112 b(USE)37 b(directiv)m(es)-32
11536 1964 y Fk(Next)27 b(some)g Fg(USE)g Fk(directiv)n(es,)f(matc)n(hing)h
11537 (our)g(sp)r(eci\034c,)h(lo)r(cal,)f(situation,)g(are)g(de\034ned:)p
11538 Black Black 142 2301 a Fg(USE)42 b(BASE)347 b(/root/stealth/cl)o(ie)o
11539 (nt)142 2400 y(USE)42 b(EMAIL)303 b(admin@elswhere)142
11540 2500 y(USE)42 b(MAILER)259 b(/root/bin/stealt)o(hm)o(ail)142
11541 2600 y(USE)42 b(MAILARGS)171 b("Client)41 b(STEALTH)f(report")142
11542 2699 y(USE)i(SSH)391 b(${SSHCMD})p Black 92 2953 a Fh(\017)p
11543 Black 41 w Fk(All)28 b(output)g(is)g(written)f(under)h(the)g
11544 Fg(/root/stealth/c)o(lie)o(nt)21 b Fk(directory;)p Black
11545 92 3119 a Fh(\017)p Black 41 w Fk(Mail)27 b(is)h(sen)n(t)f(to)h(the)g
11546 (user)f Fg(admin@elsewhere)o Fk(;)p Black 92 3285 a Fh(\017)p
11547 Black 41 w Fk(As)h(mail)f(program)f(w)n(e)h(use)g(a)g(\034ltering)h
11548 (script)f(\()p Fg(stealthmail)p Fk(\),)d(whic)n(h)j(is)g(installed)h
11549 (in)g Fg(/root/bin)p Fk(;)p Black 92 3451 a Fh(\017)p
11550 Black 41 w Fk(The)j(script)f(handles)h(its)g(o)n(wn)f(argumen)n(t.)45
11551 b(As)31 b(it)g(can)f(b)r(e)h(used)g(b)n(y)g Fl(stealth)g
11552 Fk(p)r(erforming)f(in)n(tegrit)n(y)f(scans)h(on)175 3551
11553 y(other)i(clien)n(ts)g(as)f(w)n(ell,)j(it)e(is)h(giv)n(en)e(an)h
11554 (argumen)n(t)f(whic)n(h)h(can)g(b)r(e)h(used)f(as)g(e-mail)f(sub)5
11555 b(ject,)34 b(iden)n(tifying)e(the)175 3650 y(clien)n(t-computer)27
11556 b(that)h(has)f(b)r(een)h(in)n(tegrit)n(y-scanned;)p Black
11557 92 3816 a Fh(\017)p Black 41 w Fk(The)g(ssh-command)e(is)i(de\034ned)f
11558 (b)n(y)h(the)g Fg(SSHCMD)p Fk(.)d(It's)j(de\034nition)f(is)h(used)f(at)
11559 h(the)g Fg(USE)42 b(SSH)27 b Fk(sp)r(eci\034cation;)p
11560 Black 92 3982 a Fh(\017)p Black 41 w Fk(Default)i(v)-5
11561 b(alues)29 b(of)f(all)g(remaining)h Fg(USE)e Fk(directiv)n(es)h(are)f
11562 (OK,)h(and)h(th)n(us)f(w)n(ere)g(not)g(explicitly)h(sp)r(eci\034ed.)40
11563 b(They)175 4082 y(are:)p Black Black 349 4281 a Fg(USE)j(DD)435
11564 b(/bin/dd)349 4381 y(USE)43 b(DIFF)347 b(/usr/bin/diff)349
11565 4480 y(USE)43 b(REPORT)259 b(report)349 4580 y(USE)43
11566 b(SH)435 b(/bin/sh)-32 4703 y
11567 SDict begin H.S end
11568 -32 4703 a -32 4703 a
11569 SDict begin 12 H.A end
11570 -32
11571 4703 a -32 4703 a
11572 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3.3) cvn /DEST pdfmark
11573 end
11574 -32 4703 a 180 x Fa(5.3.3)112 b(Commands)-32
11575 5107 y Fk(The)27 b(follo)n(wing)g(commands)g(are)f(no)n(w)h(de\034ned:)
11576 p Black 92 5344 a Fh(\017)p Black 41 w Fk(\034rst,)f(w)n(e)g(cop)n(y)g
11577 (the)g(clien)n(t's)g Fg(sha1sum)e Fk(program)g(to)i(the)g(monitor.)36
11578 b(In)27 b(practice,)e(this)i(should)f(also)f(include)h(the)175
11579 5444 y(shared)h(ob)5 b(ject)27 b(libraries)f(that)i(are)e(used)i(b)n(y)
11580 g Fg(sha1sum)p Fk(,)d(as)i(they)h(migh)n(t)f(ha)n(v)n(e)g(b)r(ecome)g
11581 (corrupted)g(as)g(w)n(ell;)p Black 92 5610 a Fh(\017)p
11582 Black 41 w Fk(Once)g Fg(sha1sum)e Fk(is)i(lo)r(cally)g(a)n(v)-5
11583 b(ailable)26 b(its)i(in)n(tegrit)n(y)f(is)g(v)n(eri\034ed;)p
11584 Black 92 5776 a Fh(\017)p Black 41 w Fk(Once)i(the)g(in)n(tegrit)n(y)g
11585 (of)g(the)g(clien)n(t's)g Fg(sha1sum)d Fk(has)j(b)r(een)h(v)n
11586 (eri\034ed,)e(it)i(is)f(used)g(to)g(v)n(erify)g(the)g(in)n(tegrit)n(y)f
11587 (of)h(the)175 5876 y(clien)n(t's)f Fg(/usr/bin/find)22
11588 b Fk(program;)p Black 1831 6135 a(27)p Black eop end
11589 %%Page: 28 29
11590 TeXDict begin 28 28 bop -472 0 a
11591 SDict begin /product where{pop product(Distiller)search{pop pop pop
11592 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11593 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11594 grestore}if}{pop}ifelse}{pop}ifelse}if end
11595 -472 0 a 0 TeXcolorgray
11596 -504 133 a
11597 SDict begin H.S end
11598 -504 133 a -504 133 a
11599 SDict begin H.R end
11600 -504 133 a -504 133
11601 a
11602 SDict begin [/View [/XYZ H.V]/Dest (page.28) cvn /DEST pdfmark end
11603 -504 133 a Black Black Black Black 92 531 a Fh(\017)p
11604 Black 41 w Fk(F)-7 b(ollo)n(wing)26 b(this,)i(all)g(setuid)g(and)f
11605 (setgid)g(ro)r(ot)g(\034les)g(are)g(lo)r(cated)g(and)h(c)n(hec)n(k)n
11606 (ed)e(for)h(in)n(tegrit)n(y;)p Black 92 695 a Fh(\017)p
11607 Black 41 w Fk(Finally)-7 b(,)28 b(the)g(in)n(tegrit)n(y)e(of)i(the)g
11608 (clien)n(t)f(con\034guration)f(\034les)i(under)f Fg(/etc)f
11609 Fk(is)h(v)n(eri\034ed;)-32 926 y(In)33 b(this)h(man)n(ual)e(the)i
11610 Fl(sha1sum)p Fk(\(1\))f(program)e(is)i(frequen)n(tly)g(used)h(when)f(c)
11611 n(hec)n(king)f(hash)h(v)-5 b(alues.)54 b(Stronger)32
11612 b(hash)-32 1026 y(functions)c(\(lik)n(e)g Fl(sha256sum)p
11613 Fk(\(1\)\))g(migh)n(t)g(b)r(e)h(preferred)e(in)h(practice.)39
11614 b Fg(sha256sum's)23 b Fk(hash)28 b(v)-5 b(alues)28 b(are)f(remark)-5
11615 b(ably)-32 1126 y(longer)25 b(than)i Fg(sha1sum's)c Fk(hash)j(v)-5
11616 b(alues.)36 b(When)27 b(using)g(these)f(longer)g(hash)g(v)-5
11617 b(alues)26 b(in)h(the)h(man)n(ual)d(it)j(often)f(clobb)r(ers)-32
11618 1225 y(the)h(la)n(y)n(out)e(of)h(examples.)36 b(Therefore)27
11619 b(in)h(this)f(man)n(ual)g Fl(sha1sum)p Fk(\(1\))g(is)g(con)n(tin)n(ued)
11620 h(to)f(b)r(e)h(used.)-32 1396 y(Realize,)e(ho)n(w)n(ev)n(er,)f(that)i
11621 (when)g(up)r(dating)g(existing)f(p)r(olicy)h(\034les)f(to)h(use)f
11622 Fl(sha256sum)p Fk(\(1\))g(instead)g(of)34 b Fl(sha1sum)p
11623 Fk(\(1\),)-32 1495 y(that)26 b(previously)f(generated)g(log)g(\034les)h
11624 (\(that)g(used)h Fl(sha1sum)p Fk(\(1\)\))e(are)g(incompatible)h(with)h
11625 (log)e(\034les)h(obtained)g(when)-32 1595 y(using)h Fl(sha256sum)p
11626 Fk(\(1\).)36 b(In)27 b(practice)f(this)i(means)e(that)i(new)f(log)f
11627 (\034les)h(need)g(to)g(b)r(e)h(generated,)e(and)h(an)n(y)f(previously)
11628 -32 1695 y(geneerated)g(log)h(\034les)g(m)n(ust)h(b)r(e)g(disregarded.)
11629 -32 1980 y
11630 SDict begin H.S end
11631 -32 1980 a -32 1980 a
11632 SDict begin 12 H.A end
11633 -32 1980 a -32 1980
11634 a
11635 SDict begin [/View [/XYZ H.V]/Dest (section*.3) cvn /DEST pdfmark end
11636 -32 1980 a Fl(Obtaining)i(the)i(clien)m(t's)f(sha1sum)g(program)-32
11637 2204 y Fk(T)-7 b(o)27 b(cop)n(y)f(the)i(clien)n(t's)g
11638 Fg(sha1sum)d Fk(program)g(to)i(a)h(lo)r(cal)f(directory)f(w)n(e)h(sp)r
11639 (ecify:)p Black Black 142 2535 a Fg(GET)42 b(/usr/bin/sha1sum)37
11640 b(/root/tmp)-32 2767 y Fk(This)27 b(command)g(m)n(ust)h(succeed.)-32
11641 3052 y
11642 SDict begin H.S end
11643 -32 3052 a -32 3052 a
11644 SDict begin 12 H.A end
11645 -32 3052 a -32 3052 a
11646 SDict begin [/View [/XYZ H.V]/Dest (section*.4) cvn /DEST pdfmark end
11647 -32
11648 3052 a Fl(Chec)m(king)k(the)f(in)m(tegrit)m(y)h(of)g(the)g(clien)m(t's)
11649 e(sha1sum)h(program)-32 3277 y Fk(Next,)j(w)n(e)e(c)n(hec)n(k)f(the)i
11650 (in)n(tegrit)n(y)e(of)i(the)f(receiv)n(ed)g Fg(sha1sum)d
11651 Fk(program.)49 b(F)-7 b(or)32 b(this,)i(w)n(e)e(use)g(the)h(monitor's)f
11652 Fg(sha1sum)-32 3376 y Fk(program:)p Black Black 142 3707
11653 a Fg(LABEL)41 b(\\nCheck)g(the)h(client's)e(sha1sum)h(program)142
11654 3807 y(LOCAL)g(CHECK)h(LOG)g(=)h(local/sha1)d(/usr/bin/sha1su)o(m)d
11655 (/root/tmp/sha1sum)-32 4138 y Fk(The)25 b Fg(LABEL)e
11656 Fk(command)i(writes)g(the)h(lab)r(el)g(to)f(the)h(rep)r(ort)e(\034le)i
11657 (just)g(b)r(efore)f(writing)g(the)h Fg(sha1sum)c Fk(program's)h
11658 (output.)-32 4309 y(The)i Fg(LOCAL)f Fk(command)h(c)n(hec)n(ks)g(the)h
11659 (sha1sum)f(of)h(the)g(program)d(copied)j(from)f(the)h(clien)n(t.)37
11660 b(The)26 b(rep)r(ort)f(is)g(written)h(on)-32 4408 y(the)f(\034le)g
11661 Fg(/root/stealth/c)o(li)o(ent)o(/l)o(oc)o(al/)o(sh)o(a1)o
11662 Fk(.)30 b(If)c(this)f(fails,)g Fl(stealth)f Fk(terminates,)h(alerting)g
11663 Fg(admin@elsewhere)-32 4508 y Fk(that)f(the)h(c)n(hec)n(k)f(failed.)36
11664 b(This)25 b(is)f(a)g(serious)g(ev)n(en)n(t,)g(as)g(it)h(indicates)g
11665 (that)f(either)h(the)g(monitor's)e Fg(sha1sum)f Fk(is)j(b)r(eha)n(ving)
11666 -32 4608 y(unexp)r(ectedly)j(or)e(that)i(the)g(clien)n(t's)f
11667 Fg(sha1sum)e Fk(program)h(has)h(unexp)r(ectedly)h(c)n(hanged.)-32
11668 4778 y(The)k Fg(sha1sum)d Fk(program)h Ff(may)41 b Fk(ha)n(v)n(e)31
11669 b(c)n(hanged)g(due)i(to)f(a)g(normal)f(upgrade.)50 b(If)32
11670 b(so,)h Fg(admin@elsewhere)26 b Fk(will)33 b(kno)n(w)-32
11671 4878 y(this,)23 b(and)f(can)f(\(probably\))h(ignore)e(the)j(w)n
11672 (arning.)33 b(The)22 b(next)g(time)h Fl(stealth)e Fk(is)h(run,)h(the)f
11673 (\(no)n(w)g(up)r(dated\))h(SHA1)f(v)-5 b(alue)-32 4977
11674 y(is)28 b(used,)h(and)f(it)h(again)e(compares)g(the)h(obtained)h
11675 Fg(SHA1)d Fk(v)-5 b(alue)29 b(to)f(the)h(one)f(obtained)g(for)g(the)h
11676 (do)n(wnloaded)e Fg(sha1sum)-32 5077 y Fk(program.)-32
11677 5362 y
11678 SDict begin H.S end
11679 -32 5362 a -32 5362 a
11680 SDict begin 12 H.A end
11681 -32 5362 a -32 5362 a
11682 SDict begin [/View [/XYZ H.V]/Dest (section*.5) cvn /DEST pdfmark end
11683 -32
11684 5362 a Fl(Chec)m(king)32 b(the)f(clien)m(t's)g(/usr/bin/\034nd)g
11685 (program)-32 5587 y Fk(The)c(clien)n(t)h(normally)f(uses)h(its)g
11686 Fg(find)e Fk(command)h(in)n(tensiv)n(ely:)37 b Fg(find)26
11687 b Fk(is)i(a)f(great)g(to)r(ol)h(for)f(pro)r(ducing)g(rep)r(orts)g(ab)r
11688 (out)-32 5686 y(almost)21 b(an)n(y)g(conceiv)-5 b(able)21
11689 b(com)n(bination)g(of)g(c)n(haracteristics)f(of)i(sets)f(of)h(\034les.)
11690 35 b(Of)21 b(course,)h(the)g(clien)n(t's)g Fg(find)e
11691 Fk(command)-32 5786 y(m)n(ust)27 b(itself)i(b)r(e)f(OK,)f(as)g(w)n(ell)
11692 g(as)g(the)h(clien)n(t's)g Fg(sha1sum)d Fk(program.)35
11693 b(No)n(w)27 b(that)h(w)n(e)f(kno)n(w)g(that)h(the)g(clien)n(t's)g
11694 Fg(sha1sum)-32 5885 y Fk(program)d(is)j(OK,)e(w)n(e)i(can)f(use)g(it)h
11695 (to)g(c)n(hec)n(k)e(the)i(clien)n(t's)g Fg(/usr/bin/find)22
11696 b Fk(program.)p Black 1831 6135 a(28)p Black eop end
11697 %%Page: 29 30
11698 TeXDict begin 29 29 bop -472 0 a
11699 SDict begin /product where{pop product(Distiller)search{pop pop pop
11700 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11701 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11702 grestore}if}{pop}ifelse}{pop}ifelse}if end
11703 -472 0 a 0 TeXcolorgray
11704 -513 133 a
11705 SDict begin H.S end
11706 -513 133 a -513 133 a
11707 SDict begin H.R end
11708 -513 133 a -513 133
11709 a
11710 SDict begin [/View [/XYZ H.V]/Dest (page.29) cvn /DEST pdfmark end
11711 -513 133 a Black Black Black -32 531 a Fk(Note)24 b(that)i(the)f
11712 (monitor)f(itself)h(no)g(longer)e(needs)i(to)g(in)n(v)n(est)f(an)n(y)g
11713 (signi\034can)n(t)g(pro)r(cessing)f(load:)35 b(only)24
11714 b(the)h(clien)n(t)g(itself)-32 631 y(is)i(taxed)g(for)g(c)n(hec)n(king)
11715 g(the)h(in)n(tegrit)n(y)e(of)i(its)f(o)n(wn)g(\034les:)p
11716 Black Black 142 968 a Fg(LABEL)41 b(\\nchecking)f(the)i(client's)e
11717 (/usr/bin/find)e(program)142 1067 y(CHECK)j(LOG)i(=)g(remote/binfind)37
11718 b(/usr/bin/sha1sum)g(/usr/bin/find)-32 1354 y
11719 SDict begin H.S end
11720 -32 1354
11721 a -32 1354 a
11722 SDict begin 12 H.A end
11723 -32 1354 a -32 1354 a
11724 SDict begin [/View [/XYZ H.V]/Dest (section*.6) cvn /DEST pdfmark end
11725 -32 1354 a Fl(Chec)m(king)32
11726 b(the)f(clien)m(t's)g(setuid/setgid)e(\034les)-32 1578
11727 y Fk(Ha)n(ving)g(c)n(hec)n(k)n(ed)g(the)h(clien)n(t's)g
11728 Fg(sha1sum)d Fk(and)j Fg(find)f Fk(programs,)f(sha1)h(c)n(hec)n(ksum)g
11729 (c)n(hec)n(ks)g(should)h(b)r(e)h(p)r(erformed)e(on)-32
11730 1677 y(all)e(setuid)h(and)g(setgid)g(\034les)f(on)h(the)g(clien)n(t.)38
11731 b(F)-7 b(or)27 b(this)h(w)n(e)g(activ)-5 b(ate)27 b(the)i
11732 Fg(sha1sum)c Fk(program)g(on)j(the)g(clien)n(t.)38 b(In)28
11733 b(order)-32 1777 y(to)f(c)n(hec)n(k)g(the)h(setuid/setgid)f(\034les,)g
11734 (the)h(follo)n(wing)e(command)i(is)f(added)g(to)h(the)g(p)r(olicy)f
11735 (\034le:)p Black Black 142 2114 a Fg(LABEL)41 b(\\nsuid/sgid/execu)o
11736 (ta)o(bl)o(e)d(files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h
11737 (partition)142 2213 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38
11738 b(/usr/bin/find)g(/)43 b(${EXECSHA1})-32 2500 y
11739 SDict begin H.S end
11740 -32 2500
11741 a -32 2500 a
11742 SDict begin 12 H.A end
11743 -32 2500 a -32 2500 a
11744 SDict begin [/View [/XYZ H.V]/Dest (section*.7) cvn /DEST pdfmark end
11745 -32 2500 a Fl(Chec)m(king)32
11746 b(the)f(con\034guration)h(\034les)f(in)g(the)h(clien)m(t's)f(/etc/)g
11747 (directory)-32 2724 y Fk(Finally)-7 b(,)27 b(the)g(clien)n(t's)g
11748 (con\034guration)e(\034les)h(are)g(c)n(hec)n(k)n(ed.)36
11749 b(Some)26 b(of)h(these)g(\034les)g(c)n(hange)e(so)i(frequen)n(tly)f
11750 (that)h(w)n(e)g(don't)-32 2824 y(w)n(an)n(t)f(them)j(to)e(b)r(e)h(c)n
11751 (hec)n(k)n(ed.)36 b(E.g.,)27 b Fg(/etc/adjtime,)39 b(/etc/mtab)p
11752 Fk(.)33 b(T)-7 b(o)27 b(c)n(hec)n(k)f(the)i(con\034guration)e(\034le,)i
11753 (do:)p Black Black 142 3077 a Fg(LABEL)41 b(\\nconfiguration)d(files)j
11754 (under)g(/etc)142 3177 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1083
11755 b(\\)403 3276 y(/usr/bin/find)38 b(/etc)k(-type)g(f)h(-not)f(-perm)f
11756 (/6111)129 b(\\)490 3376 y(-not)42 b(-regex)f("/etc/\\\(adjtime\\|)o
11757 (mt)o(ab)o(\\\)")342 b(\\)490 3476 y(-exec)42 b(/usr/bin/sha1sum)37
11758 b({})42 b(\\;)-32 3603 y
11759 SDict begin H.S end
11760 -32 3603 a -32 3603 a
11761 SDict begin 12 H.A end
11762 -32 3603
11763 a -32 3603 a
11764 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.3.4) cvn /DEST pdfmark
11765 end
11766 -32 3603 a 176 x Fa(5.3.4)112 b(The)38 b(complete)d(`p)s
11767 (olicy')i(\034le)-32 4003 y Fk(Here)27 b(is)g(the)h(complete)g(p)r
11768 (olicy)f(\034le)h(w)n(e'v)n(e)e(constructed)h(so)g(far:)p
11769 Black Black 142 4257 a Fg(DEFINE)84 b(SSHCMD)h(/usr/bin/ssh)39
11770 b(root@client)f(-T)43 b(-q)g(exec)f(/bin/bash)e(--noprofile)142
11771 4356 y(DEFINE)84 b(EXECSHA1)41 b(-xdev)g(-perm)h(+u+s,g+s)e(\\\()i
11772 (-user)g(root)g(-or)g(-group)f(root)h(\\\))h(\\)839 4456
11773 y(-type)f(f)h(-exec)e(/usr/bin/sha1sum)c({})43 b(\\;)142
11774 4655 y(USE)f(BASE)347 b(/root/stealth/cl)o(ie)o(nt)142
11775 4755 y(USE)42 b(EMAIL)303 b(admin@elswhere)142 4854 y(USE)42
11776 b(MAILER)259 b(/root/bin/stealt)o(hm)o(ail)142 4954 y(USE)42
11777 b(MAILARGS)171 b("Client)41 b(STEALTH)f(report")142 5054
11778 y(USE)i(SSH)391 b(${SSHCMD})142 5253 y(USE)42 b(DD)435
11779 b(/bin/dd)142 5352 y(USE)42 b(DIFF)347 b(/usr/bin/diff)142
11780 5452 y(USE)42 b(REPORT)259 b(report)142 5552 y(USE)42
11781 b(SH)435 b(/bin/sh)142 5751 y(GET)42 b(/usr/bin/sha1sum)37
11782 b(/root/tmp)p Black 1831 6135 a Fk(29)p Black eop end
11783 %%Page: 30 31
11784 TeXDict begin 30 30 bop -472 0 a
11785 SDict begin /product where{pop product(Distiller)search{pop pop pop
11786 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11787 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11788 grestore}if}{pop}ifelse}{pop}ifelse}if end
11789 -472 0 a 0 TeXcolorgray
11790 -504 133 a
11791 SDict begin H.S end
11792 -504 133 a -504 133 a
11793 SDict begin H.R end
11794 -504 133 a -504 133
11795 a
11796 SDict begin [/View [/XYZ H.V]/Dest (page.30) cvn /DEST pdfmark end
11797 -504 133 a Black Black Black 142 531 a Fg(LABEL)41
11798 b(\\nCheck)g(the)h(client's)e(sha1sum)h(program)142 631
11799 y(LOCAL)g(CHECK)h(LOG)g(=)h(local/sha1)d(/usr/bin/sha1su)o(m)d
11800 (/root/tmp/sha1sum)142 830 y(LABEL)k(\\nchecking)f(the)i(client's)e
11801 (/usr/bin/find)e(program)142 930 y(CHECK)j(LOG)i(=)g(remote/binfind)37
11802 b(/usr/bin/sha1sum)g(/usr/bin/find)142 1129 y(LABEL)k
11803 (\\nsuid/sgid/execu)o(ta)o(bl)o(e)d(files)j(uid)h(or)h(gid)f(root)g(on)
11804 h(the)f(/)h(partition)142 1229 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)
11805 38 b(/usr/bin/find)g(/)43 b(${EXECSHA1})142 1428 y(LABEL)e
11806 (\\nconfiguration)d(files)j(under)g(/etc)142 1528 y(CHECK)g(LOG)i(=)g
11807 (remote/etcfiles)1083 b(\\)403 1627 y(/usr/bin/find)38
11808 b(/etc)k(-type)g(f)h(-not)f(-perm)f(/6111)129 b(\\)490
11809 1727 y(-not)42 b(-regex)f("/etc/\\\(adjtime\\|)o(mt)o(ab)o(\\\)")342
11810 b(\\)490 1826 y(-exec)42 b(/usr/bin/sha1sum)37 b({})42
11811 b(\\;)-32 2349 y
11812 SDict begin H.S end
11813 -32 2349 a -32 2349 a
11814 SDict begin 12 H.A end
11815 -32 2349 a -32
11816 2349 a
11817 SDict begin [/View [/XYZ H.V]/Dest (section.5.4) cvn /DEST pdfmark
11818 end
11819 -32 2349 a 221 x Fi(5.4)130 b(Running)44 b(`stealth')f(for)h
11820 (the)g(\034rst)g(time)-32 2822 y Fk(When)28 b Fl(stealth)f
11821 Fk(is)g(no)n(w)g(run,)h(it)g(creates)e(its)i(initial)g(rep)r(ort)e
11822 (\034les)i(under)f Fg(root/stealth/cli)o(ent)o Fk(.)-32
11823 2993 y(The)g(\034rst)g(time)h Fl(stealth)f Fk(is)g(run,)h(it)f(is)h
11824 (usually)e(run)i(`b)n(y)f(hand'.)37 b(The)27 b(initial)h(run)f(b)n(y)g
11825 (hand)g(probably)f(b)r(ene\034ts)i(from)-32 3092 y(the)g
11826 Fg(+NOTRANS\(-{}-{})o(\)s)o(td)o(out)21 b Fk(option,)27
11827 b(as)g(it)h(sho)n(ws)e(all)i(executed)f(commands)g(on)g(the)h(standard)
11828 f(output:)p Black Black 142 3326 a Fg(stealth)40 b(--stdout)h(policy)
11829 -32 3560 y Fk(F)-7 b(urthermore,)26 b(the)h(rep)r(orts)f(are)g
11830 (initialized.)37 b(Running)28 b Fl(stealth)f Fk(this)g(w)n(a)n(y)f(for)
11831 h(the)g Fg(policy)e Fk(\034le)i(constructed)f(in)h(the)-32
11832 3659 y(previous)f(sections)h(pro)r(duces)g(the)h(follo)n(wing)e(output)
11833 i(\(lines)g(w)n(ere)f(wrapp)r(ed)g(to)g(impro)n(v)n(e)f(readabilit)n
11834 (y\):)p Black Black 142 3893 a Fg(GET)42 b(/usr/bin/sha1sum)37
11835 b(/root/tmp)142 3993 y(LABEL)k(\\nCheck)g(the)h(client's)e(sha1sum)h
11836 (program)142 4092 y(LOCAL)g(CHECK)h(LOG)g(=)h(local/sha1)d
11837 (/usr/bin/sha1su)o(m)d(/root/tmp/sha1sum)142 4192 y(LABEL)k
11838 (\\nchecking)f(the)i(client's)e(/usr/bin/find)e(program)142
11839 4291 y(CHECK)j(LOG)i(=)g(remote/binfind)37 b(/usr/bin/sha1sum)g
11840 (/usr/bin/find)142 4391 y(LABEL)k(\\nsuid/sgid/execu)o(ta)o(bl)o(e)d
11841 (files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h(partition)142
11842 4491 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38 b(/usr/bin/find)g(/)43
11843 b(-xdev)e(-perm)h(+u+s,g+s)490 4590 y(\\\()h(-user)f(root)g(-or)g
11844 (-group)f(root)h(\\\))g(-type)g(f)490 4690 y(-exec)g(/usr/bin/sha1sum)
11845 37 b({})42 b(\\;)142 4790 y(LABEL)f(\\nconfiguration)d(files)j(under)g
11846 (/etc)142 4889 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1083
11847 b(/usr/bin/find)38 b(/etc)490 4989 y(-type)k(f)h(-not)f(-perm)f(/6111)
11848 129 b(-not)42 b(-regex)f("/etc/\\\(adjtime\\)o(|m)o(ta)o(b\\\))o(")490
11849 5088 y(-exec)h(/usr/bin/sha1sum)37 b({})42 b(\\;)142
11850 5188 y(LOCAL)f(/usr/bin/scp)e(-q)k(root@client:/us)o(r/)o(bi)o(n/s)o
11851 (ha)o(1su)o(m)37 b(/root/tmp)142 5288 y(LABEL)k(\\nCheck)g(the)h
11852 (client's)e(sha1sum)h(program)142 5387 y(LOCAL)g(CHECK)h(LOG)g(=)h
11853 (local/sha1)d(/usr/bin/sha1su)o(m)d(/root/tmp/sha1sum)142
11854 5487 y(LABEL)k(\\nchecking)f(the)i(client's)e(/usr/bin/find)e(program)
11855 142 5587 y(CHECK)j(LOG)i(=)g(remote/binfind)37 b(/usr/bin/sha1sum)g
11856 (/usr/bin/find)142 5686 y(LABEL)k(\\nsuid/sgid/execu)o(ta)o(bl)o(e)d
11857 (files)j(uid)h(or)h(gid)f(root)g(on)h(the)f(/)h(partition)142
11858 5786 y(CHECK)e(LOG)i(=)g(remote/setuidgi)o(d)38 b(/usr/bin/find)g(/)43
11859 b(-xdev)e(-perm)h(+u+s,g+s)490 5885 y(\\\()h(-user)f(root)g(-or)g
11860 (-group)f(root)h(\\\))g(-type)g(f)p Black 1831 6135 a
11861 Fk(30)p Black eop end
11862 %%Page: 31 32
11863 TeXDict begin 31 31 bop -472 0 a
11864 SDict begin /product where{pop product(Distiller)search{pop pop pop
11865 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11866 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11867 grestore}if}{pop}ifelse}{pop}ifelse}if end
11868 -472 0 a 0 TeXcolorgray
11869 -513 133 a
11870 SDict begin H.S end
11871 -513 133 a -513 133 a
11872 SDict begin H.R end
11873 -513 133 a -513 133
11874 a
11875 SDict begin [/View [/XYZ H.V]/Dest (page.31) cvn /DEST pdfmark end
11876 -513 133 a Black Black Black 490 531 a Fg(-exec)42
11877 b(/usr/bin/sha1sum)37 b({})42 b(\\;)142 631 y(LABEL)f(\\nconfiguration)
11878 d(files)j(under)g(/etc)142 731 y(CHECK)g(LOG)i(=)g(remote/etcfiles)1039
11879 b(/usr/bin/find)38 b(/etc)490 830 y(-type)k(f)h(-not)f(-perm)f(/6111)
11880 129 b(-not)42 b(-regex)f("/etc/\\\(adjtime\\)o(|m)o(ta)o(b\\\))o(")490
11881 930 y(-exec)h(/usr/bin/sha1sum)37 b({})42 b(\\;)-32 1058
11882 y
11883 SDict begin H.S end
11884 -32 1058 a -32 1058 a
11885 SDict begin 12 H.A end
11886 -32 1058 a -32 1058 a
11887 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.4.1) cvn /DEST pdfmark
11888 end
11889 -32 1058
11890 a 175 x Fa(5.4.1)112 b(The)38 b(mailed)d(rep)s(ort)-32
11891 1457 y Fk(The)27 b Fg(/root/bin/stealt)o(hma)o(il)21
11892 b Fk(script)27 b(is)h(called)f(with)h(the)g(follo)n(wing)e(argumen)n
11893 (ts:)p Black Black 142 1794 a Fg("Client)40 b(STEALTH)h(report")g
11894 (admin@elswhere)-32 2031 y Fk(The)27 b(mailed)h(rep)r(ort)e(con)n
11895 (tains)h(information)g(comparable)f(to)h(this:)p Black
11896 Black 142 2367 a Fg(STEALTH)40 b(\(4.00.00\))g(started)h(at)i(Sat,)e
11897 (07)i(Feb)f(2015)g(22:10:56)f(+0100)142 2566 y(Check)g(the)i(client's)d
11898 (sha1sum)g(program)142 2666 y(Initialized)f(report)i(on)i(local/sha1)
11899 142 2865 y(checking)d(the)i(client's)f(/usr/bin/find)d(program)142
11900 2965 y(Initialized)h(report)i(on)i(remote/binfind)142
11901 3164 y(suid/sgid/execut)o(ab)o(le)37 b(files)k(uid)i(or)f(gid)h(root)f
11902 (on)g(the)h(/)g(partition)142 3264 y(Initialized)c(report)i(on)i
11903 (remote/setuidgi)o(d)142 3463 y(configuration)38 b(files)j(under)h
11904 (/etc)142 3563 y(Initialized)d(report)i(on)i(remote/etcfiles)-32
11905 3697 y
11906 SDict begin H.S end
11907 -32 3697 a -32 3697 a
11908 SDict begin 12 H.A end
11909 -32 3697 a -32 3697 a
11910 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.4.2) cvn /DEST pdfmark
11911 end
11912 -32
11913 3697 a 169 x Fa(5.4.2)112 b(Files)36 b(under)i(/ro)s(ot/stealth/clien)m
11914 (t)-32 4090 y Fk(Under)27 b Fg(/root/stealth/cl)o(ie)o(nt)21
11915 b Fk(the)28 b(follo)n(wing)f(en)n(tries)g(are)f(no)n(w)h(a)n(v)-5
11916 b(ailable:)p Black 92 4327 a Fh(\017)p Black 41 w Fg(local)p
11917 Fk(:)36 b(b)r(elo)n(w)28 b(this)h(directory)e(the)i(rep)r(orts)e(of)h
11918 (the)h(lo)r(cally)f(p)r(erformed)f(c)n(hec)n(ks)h(are)f(found.)39
11919 b(Using)28 b(our)g(demo)175 4427 y Fg(policy)38 b Fk(\034le,)43
11920 b(only)d(one)g(log\034le)f(is)h(found)h(here:)61 b Fg(sha1)p
11921 Fk(,)42 b(con)n(taining)d(the)i(clien)n(t's)f(SHA1)g(c)n(hec)n(ksum)g
11922 (of)g(its)175 4526 y Fg(/usr/bin/sha1sum)21 b Fk(program:)p
11923 Black Black 349 4725 a Fg(45251e259bfaf1951)o(65)o(8a7)o(b6)o(6c)o(328)
11924 o(c5)o(2)81 b(/root/tmp/sha1su)o(m)p Black 92 4925 a
11925 Fh(\017)p Black 41 w Fg(remote)p Fk(:)37 b(at)29 b(this)g(directory)e
11926 (the)j(rep)r(orts)d(of)i(the)h(remotely)e(p)r(erformed)g(c)n(hec)n(ks)g
11927 (are)f(found.)41 b(Using)29 b(our)f(demo)175 5024 y Fg(policy)d
11928 Fk(\034le,)j(three)f(\034les)h(w)n(ere)e(created:)175
11929 5157 y(The)i(\034le)f Fg(binfind)p Fk(,)e(con)n(taining)i(the)h(c)n
11930 (hec)n(ksum)e(of)i(the)g(clien)n(t's)f Fg(/usr/bin/find)22
11931 b Fk(program:)p Black Black 349 5356 a Fg(fc62fc774999584f1)o(e2)o(9e0)
11932 o(f9)o(42)o(79a)o(65)o(2)81 b(/usr/bin/find)175 5556
11933 y Fk(The)33 b(\034le)g Fg(etcfiles)p Fk(,)d(con)n(taining)i(the)h(c)n
11934 (hec)n(ksums)e(of)i(the)g(clien)n(t's)f(con\034guration)f(\034les)i
11935 (under)f Fg(/etc)f Fk(\(sho)n(wn)175 5655 y(only)c(partially\):)p
11936 Black 1831 6135 a(31)p Black eop end
11937 %%Page: 32 33
11938 TeXDict begin 32 32 bop -472 0 a
11939 SDict begin /product where{pop product(Distiller)search{pop pop pop
11940 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
11941 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
11942 grestore}if}{pop}ifelse}{pop}ifelse}if end
11943 -472 0 a 0 TeXcolorgray
11944 -504 133 a
11945 SDict begin H.S end
11946 -504 133 a -504 133 a
11947 SDict begin H.R end
11948 -504 133 a -504 133
11949 a
11950 SDict begin [/View [/XYZ H.V]/Dest (page.32) cvn /DEST pdfmark end
11951 -504 133 a Black Black Black Black Black 349 531 a
11952 Fg(ced739ecb2c43a200)o(53)o(a9f)o(0e)o(b3)o(08b)o(2b)o(0)81
11953 b(/etc/modutils/al)o(ia)o(ses)349 631 y(a2322d7e2f95317b2)o(dd)o(f35)o
11954 (43)o(eb)o(4c7)o(4c)o(0)g(/etc/modutils/pa)o(th)o(s)349
11955 731 y(f9e3eac60200d41dd)o(55)o(69e)o(ea)o(bb)o(4ed)o(df)o(f)g
11956 (/etc/modutils/ar)o(ch)o(/i3)o(86)349 830 y(f07da2ebf00c6ed66)o(49)o
11957 (bae)o(55)o(01)o(b84)o(c4)o(f)g(/etc/modutils/ar)o(ch)o(/m6)o(8k)o(.a)o
11958 (mig)o(a)349 930 y(2893201cc7f755616)o(0f)o(a9c)o(d1)o(fb)o(5ba)o(56)o
11959 (a)g(/etc/modutils/ar)o(ch)o(/m6)o(8k)o(.a)o(tar)o(i)524
11960 1029 y(...)349 1129 y(bf73b4e76066381cd)o(3c)o(af8)o(03)o(69)o(ce1)o
11961 (d0)o(e)g(/etc/deluser.con)o(f)349 1229 y(4cd70d9aee333307a)o(09)o(caa)
11962 o(4e)o(f0)o(035)o(01)o(d)g(/etc/adduser.con)o(f.)o(dpk)o(g-)o(sa)o(ve)
11963 349 1328 y(8c749353c5027d006)o(53)o(595)o(62)o(d4)o(383)o(b8)o(d)g
11964 (/etc/gimp/1.2/gt)o(kr)o(c_u)o(se)o(r)349 1428 y(3ec404ec597ef5460)o
11965 (60)o(0cc)o(cf)o(01)o(92f)o(4d)o(6)g(/etc/gimp/1.2/un)o(it)o(rc)349
11966 1528 y(8c740345b89117922)o(8e)o(3d1)o(06)o(62)o(911)o(67)o(b)g
11967 (/etc/gimp/1.2/gt)o(kr)o(c)175 1727 y Fk(The)36 b(\034le)f
11968 Fg(setuidgid)p Fk(,)f(con)n(taining)h(the)g(c)n(hec)n(ksums)g(of)g(the)
11969 h(clien)n(t's)f(setuid/setgid)g(ro)r(ot)g(\034les)g(\(sho)n(wn)g(only)
11970 175 1826 y(partially\):)p Black Black 349 2026 a Fg(030f3f84ec76a8181)o
11971 (cc)o(a08)o(7c)o(4b)o(a65)o(5e)o(a)81 b(/bin/login)349
11972 2125 y(b6c0209547d88928f)o(39)o(1d2)o(bf)o(88)o(af3)o(4a)o(a)g
11973 (/bin/ping)349 2225 y(5d324ad212b2ff8f7)o(67)o(637)o(ac)o(1a)o(807)o
11974 (1e)o(c)g(/bin/su)349 2325 y(344dbedc398d51149)o(66)o(914)o(41)o(9e)o
11975 (f53)o(fc)o(c)g(/usr/bin/wall)349 2424 y(27b045bd7306001f9)o(ea)o(31b)o
11976 (c1)o(87)o(12d)o(8b)o(7)g(/usr/bin/rxvt-xp)o(m)349 2524
11977 y(...)349 2623 y(3567b18ffc39c2dc6)o(ec)o(0c0)o(d0)o(fc)o(483)o(f4)o(f)
11978 g(/usr/lib/ssh-key)o(si)o(gn)349 2723 y(3383a7955ac240631)o(1e)o(9aa)o
11979 (51)o(c6)o(ac9)o(c2)o(c)g(/usr/X11R6/bin/X)349 2823 y
11980 (3c99ea0425c6e0278)o(03)o(9e1)o(64)o(78)o(d2f)o(b5)o(7)g
11981 (/usr/X11R6/bin/x)o(te)o(rm)349 2922 y(d590f7f5b4d6ae616)o(80)o(692)o
11982 (a5)o(22)o(35d)o(34)o(2)g(/usr/local/bin/s)o(et)o(uid)o(ca)o(ll)349
11983 3022 y(4c17203d7d91ec494)o(6d)o(ea2)o(f0)o(ae)o(365)o(d5)o(b)g
11984 (/sbin/unix_chkpw)o(d)175 3221 y Fk(Of)30 b(course,)g(the)g(c)n(hec)n
11985 (ksums)f(and)h(the)h(\034lenames)f(sho)n(wn)f(are)g(only)h(for)f(do)r
11986 (cumen)n(tation)h(purp)r(oses.)44 b(A)n(t)30 b(other)175
11987 3321 y(systems)d(di\033eren)n(t)h(\034les)f(and/or)f(c)n(hec)n(ksums)h
11988 (will)g(b)r(e)h(rep)r(orted.)p Black 92 3487 a Fh(\017)p
11989 Black 41 w Fk(The)f(\034le)h Fg(/root/client/re)o(po)o(rt)21
11990 b Fl(New)31 b(lines)e(are)j(alw)m(a)m(ys)g(app)s(ended)f(to)h(the)f
11991 Fg(/root/client/re)o(por)o(t)175 3587 y Fl(\034le.)41
11992 b(It)32 b(will)f(nev)m(er)h(shorten,)f(unless)g(shorten)g(b)m(y)i(the)e
11993 (systems)g(administrator)g(at)i(`monitor')p Fk(.)175
11994 3719 y(This)28 b(\034le)f(con)n(tains)g(the)h(follo)n(wing:)p
11995 Black Black 349 3919 a Fg(STEALTH)41 b(\(3.00.00\))f(started)g(at)j
11996 (Wed,)f(20)h(Aug)f(2014)g(11:06:50)e(+0000)349 4118 y(Check)i(the)g
11997 (client's)e(sha1sum)h(program)349 4218 y(Initialized)e(report)i(on)i
11998 (local/sha1)349 4417 y(checking)e(the)h(client's)e(/usr/bin/find)e
11999 (program)349 4516 y(Initialized)h(report)i(on)i(remote/binfind)349
12000 4716 y(suid/sgid/executa)o(bl)o(e)38 b(files)j(uid)h(or)h(gid)f(root)g
12001 (on)h(the)f(/)h(partition)349 4815 y(Initialized)c(report)i(on)i
12002 (remote/setuidgid)349 5015 y(configuration)38 b(files)k(under)f(/etc)
12003 349 5114 y(Initialized)e(report)i(on)i(remote/etcfiles)-32
12004 5451 y Fk(This)27 b(completes)g(the)h(information)f(generated)f(b)n(y)j
12005 Fl(stealth)e Fk(during)g(its)h(\034rst)f(run.)p Black
12006 1831 6135 a(32)p Black eop end
12007 %%Page: 33 34
12008 TeXDict begin 33 33 bop -472 0 a
12009 SDict begin /product where{pop product(Distiller)search{pop pop pop
12010 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12011 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12012 grestore}if}{pop}ifelse}{pop}ifelse}if end
12013 -472 0 a 0 TeXcolorgray
12014 -513 133 a
12015 SDict begin H.S end
12016 -513 133 a -513 133 a
12017 SDict begin H.R end
12018 -513 133 a -513 133
12019 a
12020 SDict begin [/View [/XYZ H.V]/Dest (page.33) cvn /DEST pdfmark end
12021 -513 133 a Black Black Black -32 448 a
12022 SDict begin H.S end
12023 -32 448 a -32
12024 448 a
12025 SDict begin 12 H.A end
12026 -32 448 a -32 448 a
12027 SDict begin [/View [/XYZ H.V]/Dest (section.5.5) cvn /DEST pdfmark
12028 end
12029 -32 448 a 83 x Fi(5.5)130 b(Subsequen)l(t)44
12030 b(`stealth')f(runs)-32 637 y
12031 SDict begin H.S end
12032 -32 637 a -32 637 a
12033 SDict begin 12 H.A end
12034 -32
12035 637 a -32 637 a
12036 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.5.1) cvn /DEST pdfmark
12037 end
12038 -32 637 a 164 x Fa(5.5.1)112 b(All)35
12039 b(\034les)i(unaltered)-32 1025 y Fk(When)d Fl(stealth)f
12040 Fk(is)h(subsequen)n(tly)f(run,)j(it)e(up)r(dates)g(its)g(rep)r(ort)f
12041 (\034les)h(under)f Fg(root/stealth/cli)o(ent)o Fk(.)50
12042 b(If)34 b(nothing)-32 1124 y(has)26 b(c)n(hanged,)h(the)h(log-\034les)e
12043 (remain)g(unaltered.)37 b(Subsequen)n(t)27 b(runs)g(will,)g(ho)n(w)n
12044 (ev)n(er,)f(add)h(some)g(new)g(info)h(to)f(the)h(\034le)-32
12045 1224 y Fg(/root/client/re)o(po)o(rt)p Fk(:)p Black Black
12046 142 1555 a Fg(STEALTH)40 b(\(4.00.00\))g(started)h(at)i(Sat,)e(07)i
12047 (Feb)f(2015)g(22:10:56)f(+0100)142 1754 y(Check)g(the)i(client's)d
12048 (sha1sum)g(program)142 1854 y(Initialized)f(report)i(on)i(local/sha1)
12049 142 2053 y(checking)d(the)i(client's)f(/usr/bin/find)d(program)142
12050 2152 y(Initialized)h(report)i(on)i(remote/binfind)142
12051 2352 y(suid/sgid/execut)o(ab)o(le)37 b(files)k(uid)i(or)f(gid)h(root)f
12052 (on)g(the)h(/)g(partition)142 2451 y(Initialized)c(report)i(on)i
12053 (remote/setuidgi)o(d)142 2651 y(configuration)38 b(files)j(under)h
12054 (/etc)142 2750 y(Initialized)d(report)i(on)i(remote/etcfiles)142
12055 2949 y(STEALTH)d(\(4.00.00\))g(started)h(at)i(Sat,)e(07)i(Feb)f(2015)g
12056 (22:22:15)f(+0100)-32 3181 y Fk(Note)24 b(that)h(just)g(one)f(extra)f
12057 (line)i(w)n(as)f(added:)35 b(a)24 b(timestamp)h(sho)n(wing)e(the)i
12058 (date/time)f(of)g(the)h(last)f(run.)36 b(The)24 b(systems)-32
12059 3280 y(administrator)i(ma)n(y)g(rotate)h(the)h(rep)r(ort)f(\034le)g(ev)
12060 n(ery)g(once)g(in)h(a)f(while)h(to)f(reclaim)g(some)g(disk)g(space.)-32
12061 3411 y
12062 SDict begin H.S end
12063 -32 3411 a -32 3411 a
12064 SDict begin 12 H.A end
12065 -32 3411 a -32 3411 a
12066 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.5.2) cvn /DEST pdfmark
12067 end
12068 -32
12069 3411 a 171 x Fa(5.5.2)112 b(Mo)s(di\034cations)37 b(o)s(ccurred)-32
12070 3806 y Fk(Basically)-7 b(,)34 b(three)h(kinds)f(of)h(mo)r
12071 (di\034cations)f(are)f(p)r(ossible:)51 b(additions,)36
12072 b(mo)r(di\034cations,)f(and)g(remo)n(v)-5 b(als.)56 b(Here)34
12073 b(w)n(e'll)-32 3906 y(sho)n(w)26 b(the)i(e\033ects)g(all)f(these)h(c)n
12074 (hanges)e(ha)n(v)n(e)g(on)i Fl(stealth)p Fk('s)f(output.)-32
12075 4076 y(F)-7 b(or)27 b(illustrativ)n(e)f(purp)r(oses,)h(the)h(follo)n
12076 (wing)e(c)n(hanges)g(w)n(ere)h(made)g(to)h(the)g Fg(client)p
12077 Fk('s)d(\034les:)p Black 92 4307 a Fh(\017)p Black 41
12078 w Fg(/etc/motd)f Fk(w)n(as)j(c)n(hanged)p Black 92 4471
12079 a Fh(\017)p Black 41 w Fk(the)h(\034le)g Fg(timezone~)c
12080 Fk(w)n(as)i(remo)n(v)n(ed)p Black 92 4634 a Fh(\017)p
12081 Black 41 w Fk(the)i(\034le)g Fg(/etc/motd.org)22 b Fk(w)n(as)27
12082 b(created)-32 4865 y(Next,)h Fl(stealth)f Fk(w)n(as)f(again)h(run,)g
12083 (pro)r(ducing)g(the)h(follo)n(wing)e(output:)p Black
12084 92 5096 a Fh(\017)p Black 41 w Fk(The)i(follo)n(wing)e(new)i(info)g(is)
12085 f(no)n(w)g(added)g(to)h(\034le)f Fg(/root/client/repo)o(rt)o
12086 Fk(:)p Black Black 349 5288 a Fg(STEALTH)41 b(\(3.00.00\))f(started)g
12087 (at)j(Wed,)f(20)h(Aug)f(2014)g(11:13:38)e(+0000)349 5487
12088 y(configuration)e(files)k(under)f(/etc)349 5587 y(ADDED:)g
12089 (/etc/motd.org)524 5686 y(<)i(945d0b8208e9861b)o(8f)o(9f)o(2de)o(15)o
12090 (5e)o(619)o(f9)80 b(/etc/motd.org)349 5786 y(MODIFIED:)40
12091 b(/etc/motd)524 5885 y(<)j(7f96195d5f051375)o(fe)o(7b)o(523)o(d2)o(9e)o
12092 (379)o(c1)80 b(/etc/motd)p Black 1831 6135 a Fk(33)p
12093 Black eop end
12094 %%Page: 34 35
12095 TeXDict begin 34 34 bop -472 0 a
12096 SDict begin /product where{pop product(Distiller)search{pop pop pop
12097 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12098 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12099 grestore}if}{pop}ifelse}{pop}ifelse}if end
12100 -472 0 a 0 TeXcolorgray
12101 -504 133 a
12102 SDict begin H.S end
12103 -504 133 a -504 133 a
12104 SDict begin H.R end
12105 -504 133 a -504 133
12106 a
12107 SDict begin [/View [/XYZ H.V]/Dest (page.34) cvn /DEST pdfmark end
12108 -504 133 a Black Black Black 524 531 a Fg(>)43 b(945d0b8208e9861b)o
12109 (8f)o(9f)o(2de)o(15)o(5e)o(619)o(f9)80 b(/etc/motd)349
12110 631 y(REMOVED:)41 b(/etc/timezone~)524 731 y(>)i(6322bc8cb3ec53f5)o(ee)
12111 o(a3)o(320)o(1b)o(43)o(4b7)o(4b)80 b(/etc/timezone~)175
12112 897 y Fk(Note)28 b(that)g(all)f(c)n(hanges)f(w)n(ere)h(prop)r(erly)f
12113 (detected)i(and)f(logged)g(in)g(the)h(\034le)g Fg(/root/client/rep)o
12114 (ort)o Fk(.)p Black 92 1050 a Fh(\017)p Black 41 w Fk(F)-7
12115 b(urthermore,)27 b(a)g(matc)n(hing)g(rep)r(ort)g(w)n(as)f(sen)n(t)h(b)n
12116 (y)h Ff(mail)9 b Fk(:)p Black Black 349 1217 a Fg(STEALTH)41
12117 b(\(3.00.00\))f(started)g(at)j(Wed,)f(20)h(Aug)f(2014)g(11:13:38)e
12118 (+0000)349 1416 y(configuration)e(files)k(under)f(/etc)349
12119 1516 y(ADDED:)g(/etc/motd.org)524 1615 y(<)i(945d0b8208e9861b)o(8f)o
12120 (9f)o(2de)o(15)o(5e)o(619)o(f9)80 b(/etc/motd.org)349
12121 1715 y(MODIFIED:)40 b(/etc/motd)524 1815 y(<)j(7f96195d5f051375)o(fe)o
12122 (7b)o(523)o(d2)o(9e)o(379)o(c1)80 b(/etc/motd)524 1914
12123 y(>)43 b(945d0b8208e9861b)o(8f)o(9f)o(2de)o(15)o(5e)o(619)o(f9)80
12124 b(/etc/motd)349 2014 y(REMOVED:)41 b(/etc/timezone~)524
12125 2114 y(>)i(6322bc8cb3ec53f5)o(ee)o(a3)o(320)o(1b)o(43)o(4b7)o(4b)80
12126 b(/etc/timezone~)175 2280 y Fk(Note)28 b(that)g(the)g(rep)r(ort)e
12127 Ff(only)36 b Fk(sho)n(ws)26 b(the)i(info)g(that)g(w)n(as)e(added)i(to)f
12128 (the)h Ff(/r)l(o)l(ot/client/r)l(ep)l(ort)37 b Fk(\034le.)175
12129 2407 y(The)31 b(rep)r(ort)g(itself)h(could)f(b)r(e)h(b)r(eauti\034ed)f
12130 (further.)48 b(E.g.,)33 b(I)e(use)g(the)h(follo)n(wing)e(script)h(to)h
12131 (mail)f(the)g(rep)r(ort)g(to)175 2506 y(the)d(addressee:)p
12132 Black Black 349 2772 a Fg(#!/bin/bash)349 2972 y(NAME=`basename)38
12133 b($0`)349 3171 y(tee)43 b(/root/stealth/l)o(ast)o(re)o(po)o(rt/)o($N)o
12134 (AM)o(E)38 b(|)43 b(egrep)e(-v)i('^\([[:space:]]|[)o([:)o(sp)o(ace)o
12135 (:])o(]*)o($\)')37 b(|)524 3271 y(sort)42 b(|)h(uniq)f(|)h(mail)f(-s)g
12136 ($1)h($2)175 3537 y Fk(F)-7 b(or)90 b(the)i Fg(client)c
12137 Fk(computer,)107 b(this)91 b(little)g(script)g(writes)f(the)i(mailed)e
12138 (rep)r(ort)h(on)f(a)h(\034le)175 3637 y Fg(/root/stealth/la)o(st)o(rep)
12139 o(or)o(t/c)o(li)o(en)o(t)p Fk(,)56 b(o)n(v)n(erwriting)c(its)k
12140 (previous)d(con)n(ten)n(ts,)61 b(remo)n(v)n(es)53 b(all)i(lines)g(b)r
12141 (e-)175 3736 y(ginning)35 b(with)g(blanks)f(\(th)n(us)h(trimming)g(a)n
12142 (w)n(a)n(y)e(the)i Fg(diff)p Fk(-generated)d(lines\),)37
12143 b(and)d(e-mails)g(the)i Fg(sort)p Fk(ed)d(and)175 3836
12144 y Fg(uniq)p Fk(ed)22 b(lines)h(using)h Fg(mail)p Fk(.)34
12145 b(The)23 b(addressee)f(\()p Fg(admin@elsewhere)p Fk(\))17
12146 b(then)24 b(receiv)n(es)e(the)h(follo)n(wing)g(information:)p
12147 Black Black 349 4102 a Fg(ADDED:)41 b(/etc/motd.org)349
12148 4202 y(MODIFIED:)f(/etc/motd)349 4301 y(REMOVED:)h(/etc/timezone~)349
12149 4401 y(STEALTH)g(\(3.00.00\))f(started)g(at)j(Wed,)f(20)h(Aug)f(2014)g
12150 (11:13:38)e(+0000)349 4501 y(configuration)e(files)k(under)f(/etc)175
12151 4767 y Fk(In)34 b(practice)e(this)i(pro)n(vides)e(me)h(with)h(all)f
12152 (the)h(information)f(I)g(need)h(if)g(something)e(out)i(of)f(the)h
12153 (ordinary)d(has)175 4867 y(happ)r(ened.)p Black 92 5020
12154 a Fh(\017)p Black 41 w Fk(Finally)-7 b(,)28 b(the)g(\034le)p
12155 Black Black 349 5186 a Fg(/root/stealth/cli)o(en)o(t/r)o(em)o(ot)o(e/e)
12156 o(tc)o(fi)o(les)175 5353 y Fk(w)n(as)f(recreated,)f(sa)n(ving)g(the)i
12157 (old)f(\034le)h(as)p Black Black 349 5520 a Fg(/root/stealth/cli)o(en)o
12158 (t/r)o(em)o(ot)o(e/e)o(tc)o(fi)o(les)o(.2)o(00)o(210)o(28)o(-11)o(28)o
12159 (51)175 5686 y Fk(As)35 b(remark)n(ed)e(earlier)h(\(see)h(section)p
12160 0 0 1 TeXcolorrgb 1398 5686 a
12161 SDict begin H.S end
12162 1398 5686 a 0 0 1 TeXcolorrgb
12163 Fk(4.3)p 0 0 1 TeXcolorrgb 1504 5633 a
12164 SDict begin H.R end
12165 1504 5633 a 1504
12166 5686 a
12167 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
12168 /Link/Dest (section.4.3) cvn H.B /ANN pdfmark end
12169 1504 5686 a Black Fk(\),)i(man)n(y)f Fg(logfile.YYMMDD-)o(HH)o
12170 (MMS)o(S)29 b Fk(\034les)35 b(could)g(ev)n(en)n(tually)f(accu-)175
12171 5786 y(m)n(ulate.)51 b(As)32 b(discussed)g(in)h(section)p
12172 0 0 1 TeXcolorrgb 1372 5786 a
12173 SDict begin H.S end
12174 1372 5786 a 0 0 1 TeXcolorrgb
12175 Fk(4.3)p 0 0 1 TeXcolorrgb 1479 5733 a
12176 SDict begin H.R end
12177 1479 5733 a 1479
12178 5786 a
12179 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
12180 /Link/Dest (section.4.3) cvn H.B /ANN pdfmark end
12181 1479 5786 a Black Fk(,)g(it)g(migh)n(t)f(b)r(e)h(considered)e
12182 (to)h(remo)n(v)n(e)f(old)h(log)f(\034les)h(ev)n(ery)f(no)n(w)h(and)175
12183 5885 y(then.)p Black 1831 6135 a(34)p Black eop end
12184 %%Page: 35 36
12185 TeXDict begin 35 35 bop -472 0 a
12186 SDict begin /product where{pop product(Distiller)search{pop pop pop
12187 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12188 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12189 grestore}if}{pop}ifelse}{pop}ifelse}if end
12190 -472 0 a 0 TeXcolorgray
12191 -513 133 a
12192 SDict begin H.S end
12193 -513 133 a -513 133 a
12194 SDict begin H.R end
12195 -513 133 a -513 133
12196 a
12197 SDict begin [/View [/XYZ H.V]/Dest (page.35) cvn /DEST pdfmark end
12198 -513 133 a Black Black Black -32 448 a
12199 SDict begin H.S end
12200 -32 448 a -32
12201 448 a
12202 SDict begin 12 H.A end
12203 -32 448 a -32 448 a
12204 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.5.3) cvn /DEST pdfmark
12205 end
12206 -32 448 a 83 x Fa(5.5.3)112
12207 b(F)-9 b(ailing)36 b(LOCAL)h(commands)-32 755 y Fk(If)31
12208 b(the)h(clien)n(t's)f Fg(sha1sum)d Fk(program)h(itself)j(is)f(altered,)
12209 g(a)g(serious)f(situation)g(has)h(dev)n(elop)r(ed.)47
12210 b(In)31 b(that)h(case,)f(further)-32 855 y(actions)23
12211 b(b)n(y)j Fl(stealth)e Fk(w)n(ould)g(b)r(e)h(susp)r(ect,)h(as)e(their)g
12212 (results)g(migh)n(t)h(easily)e(b)r(e)j(currupted.)35
12213 b(A)n(dditional)24 b(c)n(hec)n(ks)g Ff(wil)t(l)34 b Fk(b)r(e)-32
12214 955 y(p)r(erformed,)27 b(but)h(a)f(w)n(arning)f(is)i(generated)e(on)h
12215 (the)h Fg(report)d Fk(\034le)j(\(and)g(in)f(the)h(mail)g(sen)n(t)f(to)h
12216 Fg(admin@elsewhere)o Fk(\):)p Black Black 142 1289 a
12217 Fg(STEALTH)40 b(\(4.00.00\))g(started)h(at)i(Sat,)e(07)i(Feb)f(2015)g
12218 (22:27:15)f(+0100)142 1488 y(Check)g(the)i(client's)d(sha1sum)g
12219 (program)142 1588 y(MODIFIED:)g(/root/tmp/sha1s)o(um)316
12220 1688 y(<)j(fc62fc774999584f1)o(e2)o(9e)o(0f9)o(42)o(79)o(a65)o(2)81
12221 b(/root/tmp/sha1su)o(m)316 1787 y(>)43 b(45251e259bfaf1951)o(65)o(8a)o
12222 (7b6)o(6c)o(32)o(8c5)o(2)81 b(/root/tmp/sha1su)o(m)142
12223 1986 y(***)42 b(BE)h(CAREFUL)e(***)h(REMAINING)e(RESULTS)g(MAY)i(BE)h
12224 (FORGED)142 2186 y(configuration)38 b(files)j(under)h(/etc)142
12225 2285 y(REMOVED:)e(/etc/motd.org)316 2385 y(>)j(945d0b8208e9861b8)o(f9)o
12226 (f2)o(de1)o(55)o(e6)o(19f)o(9)81 b(/etc/motd.org)142
12227 2485 y(MODIFIED:)40 b(/etc/motd)316 2584 y(<)j(945d0b8208e9861b8)o(f9)o
12228 (f2)o(de1)o(55)o(e6)o(19f)o(9)81 b(/etc/motd)316 2684
12229 y(>)43 b(7f96195d5f051375f)o(e7)o(b5)o(23d)o(29)o(e3)o(79c)o(1)81
12230 b(/etc/motd)-32 2919 y Fk(\(The)22 b(rep)r(ort)g(sho)n(ws)f(the)i(remo)
12231 n(v)-5 b(al)21 b(of)i(the)f(previously)f(added)i(\034le)f
12232 Fg(motd.org)p Fk(,)f(and)h(the)h(mo)r(di\034cation)f(of)29
12233 b Fg(motd)p Fk(.)k(These)-32 3018 y(are)26 b(real,)h(as)g(the)h
12234 (original)e Fg(motd)g Fk(\034le,)h(mo)r(di\034ed)h(earlier,)e(w)n(as)h
12235 (restored)f(at)i(this)f(p)r(oin)n(t\).)-32 3155 y
12236 SDict begin H.S end
12237 -32
12238 3155 a -32 3155 a
12239 SDict begin 12 H.A end
12240 -32 3155 a -32 3155 a
12241 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.5.4) cvn /DEST pdfmark
12242 end
12243 -32 3155 a 166
12244 x Fa(5.5.4)112 b(Skipping)37 b(\(some\))f(in)m(tegrit)m(y)f(c)m(hec)m
12245 (ks)-32 3545 y Fk(Some)c(\034les)g(or)f(directories)g(ma)n(y)g(not)h
12246 (require)f(in)n(tegrit)n(y)g(c)n(hec)n(ks.)47 b(Automated)31
12247 b(pro)r(cesses)f(ma)n(y)g(mo)r(dify)i(\034les)f(whic)n(h)-32
12248 3645 y(are)26 b(not)i(threatening)f(the)h(prop)r(er)f(functioning)h(of)
12249 g(running)f(programs)f(or)h(pro)r(cesses.)36 b(In)28
12250 b(those)f(cases)g(a)g(\034le)h(can)f(b)r(e)-32 3744 y(prepared)j
12251 (holding)g(the)i(absolute)f(paths)g(of)g(en)n(tries)f(to)h(b)r(e)h
12252 (skipp)r(ed.)48 b(Eac)n(h)31 b(en)n(try)g(should)g(app)r(ear)f(on)h(a)g
12253 (line)g(of)h(its)-32 3844 y(o)n(wn)26 b(without)i(an)n(y)f(additional)g
12254 (information.)-32 4014 y Fl(Stealth)g Fk(can)g(b)r(e)h(informed)f(ab)r
12255 (out)h(this)f(\034le)h(using)f(the)h Fg(+NOTRANS\(-{}-{})o(\)s)o(kip)o
12256 (-f)o(ile)o(s)37 b Fe(<)p Fg(file-spec)p Fe(>)23 b Fk(option.)-32
12257 4114 y(When)29 b(a)g(relativ)n(e)f(\034le)i(sp)r(eci\034cation)f(is)g
12258 (used)g(with)h Fg(+NOTRANS\(-{}-{})o(\)sk)o(ip)o(-f)o(ile)o(s)23
12259 b Fk(it)30 b(is)f(in)n(terpreted)g(a)g(lo)r(cation)-32
12260 4214 y(relativ)n(e)i(to)i(the)h(curren)n(t)e(w)n(orking)f(directory)-7
12261 b(.)53 b(The)33 b(skip-\034les)f(\034le)h(itself)h(m)n(ust)f(con)n
12262 (tain)g(the)g(paths)g(of)g(the)h(en)n(tries)-32 4313
12263 y(to)f(b)r(e)i(skipp)r(ed)f(during)g(\034le)g(in)n(tegrit)n(y)f(scans.)
12264 55 b(If)34 b(an)g(en)n(try)f(is)h(already)f(presen)n(t)g(in)h(a)g(log)f
12265 (\034le)h(then)h Fl(stealth)e Fk(once)-32 4413 y(generates)25
12266 b(an)h Fg(IGNORING)d Fk(message)j(in)h(the)g(mail)f(sen)n(t)h(to)f(the)
12267 h(address)f(sp)r(eci\034ed)h(at)f Fg(EMAIL)f Fk(in)i(the)g(p)r(olicy)f
12268 (\034le.)37 b(Eac)n(h)-32 4513 y(en)n(try)30 b(in)g(a)h(skip-\034le)f
12269 (m)n(ust)g(b)r(e)h(on)g(a)f(line)h(of)f(its)h(o)n(wn)f(and)g(m)n(ust)h
12270 (b)r(e)g(sp)r(eci\034ed)f(using)h(absolute)f(\034le)g(paths.)46
12271 b(En)n(tries)-32 4612 y(ending)32 b(in)h(a)f(slash)g(are)f(assumed)h
12272 (to)g(b)r(e)h(directories)e(whose)h(full)h(con)n(ten)n(ts)f(m)n(ust)g
12273 (b)r(e)h(skipp)r(ed.)52 b(Other)32 b(en)n(tries)g(are)-32
12274 4712 y(in)n(terpreted)d(as)h(the)g(names)g(of)g(\034les)g(to)g(skip.)45
12275 b(Initial)30 b(and)g(trailing)g(blanks,)g(empt)n(y)g(lines)h(and)f
12276 (lines)g(ha)n(ving)f(a)h Fg(#)f Fk(as)-32 4811 y(their)e(1st)g(non)h
12277 (blank)f(c)n(haracter)e(are)i(ignored.)-32 4982 y(Here)g(is)g(an)h
12278 (example:)p Black Black 142 5316 a Fg(stealth)40 b(-e)j(--skip-files)c
12279 (/root/stealth/r)o(em)o(ote)o(/s)o(kip)o(pi)o(ng)e(remote.pol)-32
12280 5551 y Fk(If)29 b(an)f(en)n(try)i Fg(/etc/skipme)24 b
12281 Fk(app)r(ears)k(in)h(the)g(curren)n(t)f(logs)g(whic)n(h)g(is)h
12282 (thereafter)f(added)h(to)g(the)g Fg(skippath)c Fk(\034le)k(then)-32
12283 5651 y(the)f(mail)f(generated)f(b)n(y)j Fl(stealth)e
12284 Fk(once)g(con)n(tains)g(a)g(line)h(lik)n(e)f(the)h(follo)n(wing:)p
12285 Black Black 142 5885 a Fg(SKIPPING:)40 b(/etc/skipme)p
12286 Black 1831 6135 a Fk(35)p Black eop end
12287 %%Page: 36 37
12288 TeXDict begin 36 36 bop -472 0 a
12289 SDict begin /product where{pop product(Distiller)search{pop pop pop
12290 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12291 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12292 grestore}if}{pop}ifelse}{pop}ifelse}if end
12293 -472 0 a 0 TeXcolorgray
12294 -504 133 a
12295 SDict begin H.S end
12296 -504 133 a -504 133 a
12297 SDict begin H.R end
12298 -504 133 a -504 133
12299 a
12300 SDict begin [/View [/XYZ H.V]/Dest (page.36) cvn /DEST pdfmark end
12301 -504 133 a Black Black Black 316 531 a Fg(>)43 b(a7695bb2d019e6098)o
12302 (8e)o(75)o(7a4)o(b6)o(92)o(acf)o(e)81 b(/etc/skipme)-32
12303 858 y Fk(The)25 b(rep)r(orted)g(hash-v)-5 b(alue)24 b(is)i(the)f
12304 (hash-v)-5 b(alue)25 b(at)g(the)h(time)g(of)f(the)h(stealth-run)f(rep)r
12305 (orting)f(the)i Fg(SKIPPING)c Fk(message.)-32 1028 y(En)n(tries)27
12306 b(ending)g(in)h(a)f(slash)g(are)g(assumed)g(to)g(b)r(e)h(directories)e
12307 (whose)h(con)n(ten)n(ts)g(m)n(ust)h(\(recursiv)n(ely\))e(b)r(e)i(skipp)
12308 r(ed.)-32 1172 y
12309 SDict begin H.S end
12310 -32 1172 a -32 1172 a
12311 SDict begin 12 H.A end
12312 -32 1172 a -32
12313 1172 a
12314 SDict begin [/View [/XYZ H.V]/Dest (section.5.6) cvn /DEST pdfmark
12315 end
12316 -32 1172 a 199 x Fi(5.6)130 b(Automating)44 b(rep)t(eated)f
12317 (`stealth')g(runs)-32 1624 y Fk(T)-7 b(o)32 b(automate)g
12318 Fl(stealth)p Fk('s)g(in)n(tegrit)n(y)g(scans,)h(a)f(\034le)h
12319 Fg(/etc/cron.d/stea)o(lt)o(h)27 b Fk(could)32 b(b)r(e)h(created,)h(con)
12320 n(taining)d(a)i(line)-32 1724 y(lik)n(e)p Black Black
12321 142 2050 a Fg(2,17,32,47)39 b(*)k(*)h(*)f(*)86 b(root)173
12322 b(test)42 b(-x)h(/usr/bin/stealt)o(h)37 b(&&)43 b(\\)1144
12323 2149 y(/usr/bin/stealth)37 b(/root/stealth/cl)o(ie)o(nt)o(.po)o(l)-32
12324 2476 y Fk(This)22 b(starts)g Fl(stealth)g Fk(2)h(min)n(utes)f(after)h
12325 (ev)n(ery)e(hour.)34 b(In)23 b(this)g(example)f(the)h(ssh-k)n(ey)f(m)n
12326 (ust)g(not)h(require)e(a)i(passphrase,)-32 2575 y(as)30
12327 b Fl(cron)m(tab)p Fk(\(1\))j(cannot)d(pro)n(vide)g(passphrases)f(of)i
12328 (ssh-k)n(eys.)46 b(Ssh-k)n(eys)30 b(requiring)g(passphrases)f(can,)i
12329 (ho)n(w)n(ev)n(er,)f(b)r(e)-32 2675 y(used)d(if)h(rep)r(eated)f
12330 Fl(stealth)h Fk(runs)f(are)f(con)n(trolled)h(b)n(y)g(a)g(program)e(lik)
12331 n(e)j Fl(ssh-cron)p Fk(\(1\).)-32 2845 y(In)d(general,)g(randomized)f
12332 (ev)n(en)n(ts)h(are)g(harder)f(to)h(notice.)36 b(F)-7
12333 b(or)25 b(this)h Fl(stealth)f Fk(o\033ers)g(the)h Fg
12334 (+NOTRANS\(-{}-{}\))o(re)o(pea)o(t)-32 2945 y Fk(and)35
12335 b Fg(+NOTRANS\(-{}-{})o(\)r)o(an)o(dom)o(-i)o(nte)o(rv)o(al)29
12336 b Fk(options.)59 b(Both)35 b(options)f(exp)r(ect)i(an)e(argumen)n(t)g
12337 (in)i(seconds)e(\(or)h(in)-32 3045 y(min)n(utes,)43 b(if)d(an)g
12338 Fg(m)g Fk(is)f(app)r(ended)i(to)e(the)i(sp)r(eci\034cation\).)73
12339 b(After)41 b(eac)n(h)e(in)n(tegrit)n(y)g(scan)g(the)h(next)h(in)n
12340 (tegrit)n(y)d(scan)-32 3144 y(starts)25 b(after)i(the)g(time)g(in)n
12341 (terv)-5 b(al)26 b(sp)r(eci\034ed)g(b)n(y)h(the)g Fg(+NOTRANS\(-{}-{})o
12342 (\)re)o(pe)o(at)20 b Fk(option)26 b(plus)h(a)f(random)g(time)h(v)-5
12343 b(alue)-32 3244 y(selected)21 b(from)h(the)g(time)g(in)n(terv)-5
12344 b(al)21 b(sp)r(eci\034ed)h(b)n(y)g(the)g Fg(+NOTRANS\(-{}-{})o(\)ra)o
12345 (nd)o(om)o(-in)o(te)o(rv)o(al)16 b Fk(option.)34 b(F)-7
12346 b(or)21 b(example,)-32 3343 y(the)29 b Fl(stealth)h Fk(daemon)e
12347 (started)h(b)n(y)g(the)h(follo)n(wing)f(command)g(rep)r(eatedly)g(p)r
12348 (erforms)f(in)n(tegrit)n(y)h(scans)f(b)r(et)n(w)n(een)i(t)n(w)n(o)-32
12349 3443 y(and)d(\034v)n(e)g(min)n(utes)h(after)f(the)h(last)f(in)n(tegrit)
12350 n(y)g(scan)g(completed:)p Black Black 142 3769 a Fg(stealth)40
12351 b(--daemon)h(/root/stealth/c)o(li)o(ent)o(.u)o(ds)c(\\)490
12352 3869 y(--repeat)k(2m)h(--random-interval)37 b(3m)42 b
12353 (/root/stealth/cli)o(en)o(t.p)o(ol)-32 4096 y Fk(Once)31
12354 b(this)g(program)e(has)i(started)g(its)h Fl(ssh)p Fk(\(1\))e
12355 (connection)h(to)h(the)f(clien)n(t)h(host)f(p)r(ersists,)h(and)f(a)g(p)
12356 r(ossibly)g(required)-32 4195 y(ssh-passphrase)e(is)j(no)g(longer)f
12357 (required.)49 b(A)n(dditional)32 b(\(in)n(termediate\))g(in)n(tegrit)n
12358 (y)f(scans)g(can)h(alw)n(a)n(ys)e(b)r(e)i(requested)-32
12359 4295 y(\(also)26 b(without)i(requiring)e(ssh-passphrase)f(sp)r
12360 (eci\034cations\))i(using)h(the)g(command)p Black Black
12361 142 4621 a Fg(stealth)40 b(--rerun)h(/root/stealth/cl)o(ie)o(nt.)o(ud)o
12362 (s)-32 4751 y
12363 SDict begin H.S end
12364 -32 4751 a -32 4751 a
12365 SDict begin 12 H.A end
12366 -32 4751 a -32 4751
12367 a
12368 SDict begin [/View [/XYZ H.V]/Dest (section.5.7) cvn /DEST pdfmark
12369 end
12370 -32 4751 a 213 x Fi(5.7)130 b(Rep)t(ort)43 b(File)i(Rotation)-32
12371 5217 y Fk(When)40 b Fl(stealth)f Fk(p)r(erforms)g(in)n(tegrit)n(y)g
12372 (scans)g(it)h(app)r(ends)f(information)g(to)h(the)g(rep)r(ort)f
12373 (\034le.)73 b(This)40 b(\034le)g(therefore)-32 5316 y(ev)n(en)n(tually)
12374 29 b(gro)n(ws)g(to)i(a)f(large)g(size,)h(and)g(the)g(systems)f(manager)
12375 f(con)n(trolling)h Fl(stealth)h Fk(migh)n(t)g(w)n(an)n(t)f(to)g
12376 Ff(r)l(otate)37 b Fk(the)-32 5416 y(rep)r(ort)29 b(\034le)i(ev)n(ery)e
12377 (once)h(in)h(a)f(while)g(\(e.g.,)h(using)f(a)h(program)d(lik)n(e)i
12378 Fl(logrotate)p Fk(\(1\),)h(also)e(see)h(the)h(up)r(coming)f(section)p
12379 0 0 1 TeXcolorrgb -32 5516 a
12380 SDict begin H.S end
12381 -32 5516 a 0 0 1 TeXcolorrgb
12382 Fk(5.7.2)p 0 0 1 TeXcolorrgb 138 5462 a
12383 SDict begin H.R end
12384 138 5462 a 138
12385 5516 a
12386 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
12387 /Link/Dest (subsection.5.7.2) cvn H.B /ANN pdfmark end
12388 138 5516 a Black Fk(\).)42 b(T)-7 b(o)28 b(ensure)g(that)i(no)e
12389 (log-rotation)f(tak)n(es)h(place)g(while)h Fl(stealth)g
12390 Fk(is)g(busy)g(p)r(erforming)f(in)n(tegrit)n(y)f(scans)i(\(th)n(us)-32
12391 5615 y(mo)r(difying)23 b(the)h(rep)r(ort)f(\034le\))h(the)g(options)f
12392 Fl(--susp)s(end)f Fk(and)h Fg(+NOTRANS\(-{}-{}\))o(re)o(sum)o(e)17
12393 b Fk(w)n(ere)23 b(implemen)n(ted.)36 b(Both)-32 5715
12394 y(options)27 b(require)f(the)i(pro)r(cess-ID)e(\034le)i(of)g(curren)n
12395 (tly)e(activ)n(e)h Fl(stealth)g Fk(pro)r(cess)f(as)h(their)h(argumen)n
12396 (t.)-32 5885 y(F)-7 b(or)27 b(example,)g(if)h(a)f Fl(stealth)g
12397 Fk(pro)r(cess)g(w)n(as)f(once)h(started)g(using)g(the)h(command)p
12398 Black 1831 6135 a(36)p Black eop end
12399 %%Page: 37 38
12400 TeXDict begin 37 37 bop -472 0 a
12401 SDict begin /product where{pop product(Distiller)search{pop pop pop
12402 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12403 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12404 grestore}if}{pop}ifelse}{pop}ifelse}if end
12405 -472 0 a 0 TeXcolorgray
12406 -513 133 a
12407 SDict begin H.S end
12408 -513 133 a -513 133 a
12409 SDict begin H.R end
12410 -513 133 a -513 133
12411 a
12412 SDict begin [/View [/XYZ H.V]/Dest (page.37) cvn /DEST pdfmark end
12413 -513 133 a Black Black Black Black Black 142 631 a
12414 Fg(stealth)40 b(--daemon)h(/root/stealth/s)o(ma)o(ll.)o(ud)o(s)c
12415 (--repeat)k(900)h(\\)839 731 y(/root/stealth/sm)o(al)o(l.p)o(ol)-32
12416 974 y Fk(then)24 b(the)g Fg(+NOTRANS\(-{}-{}\))o(su)o(sp)o(end)17
12417 b Fk(and)24 b Fg(+NOTRANS\(-{}-{})o(\)r)o(esu)o(me)17
12418 b Fk(commands)23 b(for)g(this)h(pro)r(cess)f(should)g(b)r(e)-32
12419 1074 y(called)k(as:)p Black Black 142 1303 a Fg(stealth)40
12420 b(--suspend)g(/root/stealth/sm)o(all)o(.u)o(ds)142 1402
12421 y(stealth)g(--resume)h(/root/stealth/s)o(ma)o(ll.)o(ud)o(s)-32
12422 1631 y Fk(The)28 b Fl(stealth)h Fk(pro)r(cess)f(iden)n(ti\034ed)h(in)g
12423 (the)g(\034les)g(pro)n(vided)e(as)i(argumen)n(ts)e(to)i(the)g
12424 Fg(+NOTRANS\(-{}-{})o(\)su)o(sp)o(end)22 b Fk(and)-32
12425 1731 y Fg(+NOTRANS\(-{}-{})o(\)r)o(esu)o(me)f Fk(options)27
12426 b(is)g(called)h(the)f Ff(daemon)k(ste)l(alth)f(pr)l(o)l(c)l(ess)35
12427 b Fk(b)r(elo)n(w.)-32 1902 y(The)27 b Fg(+NOTRANS\(-{}-{}\))o(sus)o(pe)
12428 o(nd)21 b Fk(option)27 b(has)g(the)h(follo)n(wing)f(e\033ect:)p
12429 Black 92 2131 a Fh(\017)p Black 41 w Fk(If)32 b(the)g(daemon)f
12430 Fl(stealth)g Fk(pro)r(cess)g(is)g(curren)n(tly)g(pro)r(cessing)f(its)i
12431 (p)r(olicy)f(\034le,)i(p)r(erforming)e(an)g(in)n(tegrit)n(y)f(scan,)175
12432 2230 y(then)k(the)g(curren)n(tly)f(executing)g(p)r(olicy)g(\034le)h
12433 (command)f(is)h(completed,)h(whereafter)d(further)i(commands)f(are)175
12434 2330 y(ignored,)27 b(except)g(for)g Fg(+NOTRANS\(-{}-{}\))o(re)o(sum)o
12435 (e)21 b Fk(\(see)28 b(b)r(elo)n(w\))f(and)h Fg(+NOTRANS\(-{}-{})o(\)te)
12436 o(rm)o(in)o(ate)o Fk(.)p Black 92 2492 a Fh(\017)p Black
12437 41 w Fk(An)n(y)35 b(sc)n(heduled)f(in)n(tegrit)n(y)g(scans)g(follo)n
12438 (wing)g(the)h Fg(+NOTRANS\(-{}-{}\))o(su)o(spe)o(nd)28
12439 b Fk(command)35 b(are)e(ignored)h(b)n(y)175 2592 y(the)28
12440 b(daemon)f Fl(stealth)g Fk(pro)r(cess;)p Black 92 2754
12441 a Fh(\017)p Black 41 w Fk(The)f(daemon)f Fl(stealth)g
12442 Fk(pro)r(cess)g(writes)g(a)g(message)f(that)i(it)g(is)g(b)r(eing)g
12443 (susp)r(ended)g(to)f(the)h(rep)r(ort)f(\034le)h(and)f(then)175
12444 2853 y(pro)r(cesses)h(the)i(rep)r(ort)f(\034le)h(as)e(usual.)-32
12445 3082 y(No)n(w)36 b(that)h(the)g(rep)r(ort)g(\034le)g(is)f(no)h(longer)f
12446 (mo)r(di\034ed)h(b)n(y)g(the)g(daemon)f Fl(stealth)h
12447 Fk(pro)r(cess,)h(log-rotation)c(ma)n(y)j(tak)n(e)-32
12448 3182 y(place.)k(E.g.,)30 b(a)f(program)e(lik)n(e)i Fl(logrotate)p
12449 Fk(\(1\))g(allo)n(ws)f(its)i(users)e(to)h(sp)r(ecify)h(a)f(command)g
12450 (or)f(script)h(just)h(b)r(efore)f(log-)-32 3282 y(rotation)c(tak)n(es)g
12451 (place,)h(and)g(`)p Fl(stealth)g Fg(+NOTRANS\(-{}-{})o(\)s)o(usp)o(en)o
12452 (d)37 b(udsfile)p Fk(')24 b(could)i(b)r(e)g(sp)r(eci\034ed)h(nicely)f
12453 (in)g(suc)n(h)-32 3381 y(a)h(pre-rotation)e(section.)-32
12454 3552 y(The)i Fg(+NOTRANS\(-{}-{}\))o(res)o(um)o(e)22
12455 b Fk(option)27 b(has)g(the)h(follo)n(wing)e(e\033ect:)p
12456 Black 92 3781 a Fh(\017)p Black 41 w Fk(The)38 b(daemon)e
12457 Fl(stealth)h Fk(pro)r(cess)g(resumes)f(its)i(activities)f(b)n(y)g(p)r
12458 (erforming)g(another)f(in)n(tegrit)n(y)g(scan.)66 b(Th)n(us,)175
12459 3880 y Fg(+NOTRANS\(-{}-{}\))o(re)o(sum)o(e)21 b Fk(implies)28
12460 b Fg(+NOTRANS\(-{}-{}\))o(rer)o(un)o Fk(.)p Black 92
12461 4042 a Fh(\017)p Black 41 w Fk(An)n(y)e(sc)n(heduled)g(in)n(tegrit)n(y)
12462 g(scans)f(follo)n(wing)g(the)i Fg(+NOTRANS\(-{}-{})o(\)re)o(su)o(me)20
12463 b Fk(command)26 b(are)f(again)g(honored)175 4142 y(b)n(y)i(the)h
12464 (daemon)f Fl(stealth)h Fk(pro)r(cess.)-32 4371 y(Note)113
12465 b(that,)135 b(once)113 b Fg(+NOTRANS\(-{}-{}\))o(su)o(spe)o(nd)107
12466 b Fk(has)113 b(b)r(een)g(issued,)135 b(all)113 b(commands)g(except)-32
12467 4471 y Fg(+NOTRANS\(-{}-{})o(\)r)o(esu)o(me)54 b Fk(and)60
12468 b Fg(+NOTRANS\(-{}-{})o(\)te)o(rm)o(in)o(ate)53 b Fk(are)60
12469 b(ignored)f(b)n(y)h(the)g(daemon)g Fl(stealth)-32 4570
12470 y Fk(pro)r(cess.)36 b(While)28 b(susp)r(ended,)g(the)h
12471 Fg(+NOTRANS\(-{}-{})o(\)t)o(er)o(min)o(at)o(e)22 b Fk(command)27
12472 b(is)h(ac)n(kno)n(wledged)d(as)j(a)f(`emergency)-32 4670
12473 y(exit')33 b(whic)n(h)g(ma)n(y)g(or)g(ma)n(y)f(not)i(in)n(terfere)e
12474 (with,)k(e.g.,)e(an)f(ongoing)f(log-rotation)f(pro)r(cess.)53
12475 b(The)33 b(daemon)g Fl(stealth)-32 4769 y Fk(pro)r(cess)41
12476 b(should)i(not)g(normally)f(b)r(e)h(terminated)g(while)g(it)h(is)f(in)g
12477 (its)g(susp)r(ended)g(mo)r(de.)83 b(The)43 b(normal)f(w)n(a)n(y)g(to)
12478 -32 4869 y(terminate)27 b(a)g(stealth)h(pro)r(cess)e(running)h(in)h
12479 (the)g(bac)n(kground)d(is:)p Black 92 5098 a Fh(\017)p
12480 Black 41 w Fk(W)-7 b(ait)28 b(for)f(the)h(daemon)f Fl(stealth)g
12481 Fk(pro)r(cess)g(to)g(complete)g(an)h(ongoing)e(series)g(of)i(in)n
12482 (tegrit)n(y)e(scan)h(commands;)p Black 92 5260 a Fh(\017)p
12483 Black 41 w Fk(Issue)g(the)h(`)p Fl(stealth)g Fg(+NOTRANS\(-{}-{})o(\)t)
12484 o(er)o(min)o(at)o(e)37 b(udsfile)p Fk(')25 b(command.)-32
12485 5382 y
12486 SDict begin H.S end
12487 -32 5382 a -32 5382 a
12488 SDict begin 12 H.A end
12489 -32 5382 a -32 5382 a
12490 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.7.1) cvn /DEST pdfmark
12491 end
12492 -32
12493 5382 a 180 x Fa(5.7.1)112 b(Status)38 b(\034le)e(clean)m(up)-32
12494 5786 y Fk(Whenev)n(er)h Fl(stealth)i Fk(is)f(run)g(and)h(it)g(encoun)n
12495 (ters)e(a)h(mo)r(di\034ed)h(situation)f(the)h(already)e(existing)h
12496 (status)g(\034le)h(sum-)-32 5885 y(marizing)46 b(that)h(particular)f
12497 (situation)h(is)h(sa)n(v)n(ed)d(and)j(a)f(new)g(status)g(\034le)g(is)h
12498 (created.)95 b(Ev)n(en)n(tually)-7 b(,)52 b(this)c(will)p
12499 Black 1831 6135 a(37)p Black eop end
12500 %%Page: 38 39
12501 TeXDict begin 38 38 bop -472 0 a
12502 SDict begin /product where{pop product(Distiller)search{pop pop pop
12503 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12504 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12505 grestore}if}{pop}ifelse}{pop}ifelse}if end
12506 -472 0 a 0 TeXcolorgray
12507 -504 133 a
12508 SDict begin H.S end
12509 -504 133 a -504 133 a
12510 SDict begin H.R end
12511 -504 133 a -504 133
12512 a
12513 SDict begin [/View [/XYZ H.V]/Dest (page.38) cvn /DEST pdfmark end
12514 -504 133 a Black Black Black -32 531 a Fk(result)46
12515 b(in)g(man)n(y)g(status)g(\034les.)93 b(While)47 b(rep)r(ort)e(\034les)
12516 i(can)f(b)r(e)g(rotated,)k(it)d(is)f(p)r(oin)n(tless)g(to)h(rotate)e
12517 (old)h(status)-32 631 y(\034les,)g(since)c(they)h(are)f(nev)n(er)g(mo)r
12518 (di\034ed.)82 b(Instead,)46 b(status)d(\034les)f(exceeding)g(a)g
12519 (certain)g(age)g(could)g(b)r(e)h(remo)n(v)n(ed)-32 731
12520 y(and)h(more)g(recen)n(t)g(\034les)h(migh)n(t)f(b)r(e)h(zipp)r(ed)h(to)
12521 e(conserv)n(e)f(space.)88 b(In)45 b Fl(stealth)p Fk('s)f(binary)g
12522 (distribution)h(the)g(\034le)-32 830 y Fg(/usr/share/doc/)o(st)o(eal)o
12523 (th)o(/u)o(sr/)o(bi)o(n/)o(ste)o(al)o(th)o(cle)o(an)o(up)27
12524 b Fk(is)33 b(pro)n(vided)g(whic)n(h)g(can)g(b)r(e)h(used)g(to)f(p)r
12525 (erform)g(suc)n(h)g(a)-32 930 y(clean)n(up.)j(The)28
12526 b(script)f(exp)r(ects)g(one)h(argumen)n(t:)35 b(a)27
12527 b(resource)f(\034le)i(de\034ning)f(the)h(follo)n(wing)f(shell)g(v)-5
12528 b(ariables:)p Black 92 1167 a Fh(\017)p Black 41 w Fg(directories)p
12529 Fk(:)32 b(the)c(directories)e(b)r(elo)n(w)i(whic)n(h)f(the)h(status)f
12530 (\034les)h(are)e(found;)p Black 92 1333 a Fh(\017)p Black
12531 41 w Fg(gzdays)p Fk(:)35 b(the)27 b(n)n(um)n(b)r(er)h(of)f(da)n(ys)g(a)
12532 g(status)g(\034le)h(m)n(ust)g(exist)f(b)r(efore)g(it)h(is)g(compressed)
12533 e(using)i Fl(gzip)p Fk(\(1\);)p Black 92 1499 a Fh(\017)p
12534 Black 41 w Fg(rmdays)p Fk(:)33 b(the)24 b(maxim)n(um)g(age)f(\(in)h(da)
12535 n(ys\))f(of)h(compressed)f(status)h(\034les.)35 b(Files)24
12536 b(exceeding)f(this)i(age)e(are)f(remo)n(v)n(ed)175 1598
12537 y(using)28 b Fl(rm)p Fk(\(1\).)-32 1835 y(Here)133 b(is)g(the)h
12538 Fg(stealthcleanup)127 b Fk(script)133 b(as)g(con)n(tained)g(in)h(the)f
12539 (binary)g(distribution's)-32 1935 y Fg(/usr/share/doc/)o(st)o(eal)o(th)
12540 o(/u)o(sr/)o(bi)o(n)22 b Fk(directory:)p Black Black
12541 -32 2172 a Fg(#!/bin/bash)-32 2371 y(usage\(\))-32 2471
12542 y({)142 2570 y(echo)42 b(")-32 2670 y(Usage:)f($0)h([-v])g(rc-file)-32
12543 2770 y(Where:)142 2869 y(-v:)g(Show)g(the)g(actions)f(that)h(are)g
12544 (performed)142 2969 y(rc-file:)e(resource)g(file)i(defining:)490
12545 3069 y(\\`directories')c(-)43 b(one)g(or)f(more)g(directories)d
12546 (containing)g(status)i(files)490 3168 y(\\`gzdays')258
12547 b(-)43 b(number)e(of)i(days)f(status)f(files)g(may)i(exist)e(before)g
12548 (they)1231 3268 y(are)i(compressed)490 3367 y(\\`rmdays')258
12549 b(-)43 b(number)e(of)i(days)f(gzipped)f(status)g(files)g(may)h(exist)
12550 1231 3467 y(before)f(they)h(are)g(removed.)-32 3567 y(")142
12551 3666 y(exit)g(1)-32 3766 y(})-32 4065 y(error\(\))-32
12552 4164 y({)142 4264 y(echo)g("$*")g(>&2)142 4364 y(exit)g(1)-32
12553 4463 y(})-32 4663 y(if)g([)h("$1")f(==)h("-v")f(])-32
12554 4762 y(then)142 4862 y(verbose=1)142 4961 y(shift)f(1)-32
12555 5061 y(else)142 5161 y(verbose=0)-32 5260 y(fi)-32 5460
12556 y([)i($#)f(==)h(1)g(])g(||)g(usage)-32 5659 y(#)g(now)f(source)f(the)h
12557 (configuration)c(file)-32 5758 y(.)43 b($1)p Black 1831
12558 6135 a Fk(38)p Black eop end
12559 %%Page: 39 40
12560 TeXDict begin 39 39 bop -472 0 a
12561 SDict begin /product where{pop product(Distiller)search{pop pop pop
12562 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12563 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12564 grestore}if}{pop}ifelse}{pop}ifelse}if end
12565 -472 0 a 0 TeXcolorgray
12566 -513 133 a
12567 SDict begin H.S end
12568 -513 133 a -513 133 a
12569 SDict begin H.R end
12570 -513 133 a -513 133
12571 a
12572 SDict begin [/View [/XYZ H.V]/Dest (page.39) cvn /DEST pdfmark end
12573 -513 133 a Black Black Black -32 531 a Fg(for)42 b(x)h(in)g
12574 ($directories)-32 631 y(do)142 731 y(cd)g($x)f(||)h(error)f("\\`$x')f
12575 (must)g(be)i(a)g(directory")142 830 y(if)g([)g($verbose)d(-eq)i(1)h(])
12576 142 930 y(then)316 1029 y(echo)f(")-32 1129 y(cd)g($x")142
12577 1229 y(fi)142 1428 y(if)h([)g($verbose)d(-eq)i(1)h(])142
12578 1528 y(then)316 1627 y(echo)f(\\)142 1727 y(/usr/bin/find)c(./)43
12579 b(-mtime)e(+$rmdays)f(-type)h(f)i(-regex)f('.*[0-9]+-[0-9])o(+\\)o(.g)o
12580 (z')37 b(\\)316 1826 y(-exec)42 b(/bin/rm)e({})j(\\;)142
12581 1926 y(fi)142 2026 y(/usr/bin/find)38 b(./)43 b(-mtime)e(+$rmdays)f
12582 (-type)h(f)i(-regex)f('.*[0-9]+-[0-9])o(+\\)o(.g)o(z')37
12583 b(\\)316 2125 y(-exec)42 b(/bin/rm)e({})j(\\;)142 2325
12584 y(if)g([)g($verbose)d(-eq)i(1)h(])142 2424 y(then)316
12585 2524 y(echo)f(\\)142 2623 y(/usr/bin/find)c(./)43 b(-mtime)e(+$gzdays)f
12586 (-type)h(f)i(-regex)f('.*[0-9]+-[0-9])o(+')37 b(\\)316
12587 2723 y(-exec)42 b(/bin/gzip)d({})k(\\;)142 2823 y(fi)142
12588 2922 y(/usr/bin/find)38 b(./)43 b(-mtime)e(+$gzdays)f(-type)h(f)i
12589 (-regex)f('.*[0-9]+-[0-9])o(+')37 b(\\)316 3022 y(-exec)42
12590 b(/bin/gzip)d({})k(\\;)-32 3122 y(done)-32 3321 y(exit)e(0)-32
12591 3933 y Fk(Assuming)129 b(that)g(the)h(status)f(\034les)h(are)e(written)
12592 h(in)h Fg(/var/stealth/tar)o(ge)o(t/l)o(oc)o(al)123 b
12593 Fk(and)-32 4033 y Fg(/var/stealth/ta)o(rg)o(et/)o(re)o(mo)o(te)p
12594 Fk(;)50 b(that)d(status)g(\034le)g(should)f(b)r(e)h(compressed)f(when)h
12595 (older)f(than)h(2)f(da)n(ys)g(and)-32 4133 y(remo)n(v)n(ed)26
12596 b(after)h(30)f(da)n(ys,)h(the)h(resource)e(\034le)h(is:)p
12597 Black Black -32 4347 a Fg(directories=")142 4446 y(/var/stealth/tar)o
12598 (ge)o(t/)o(loc)o(al)142 4546 y(/var/stealth/tar)o(ge)o(t/)o(rem)o(ot)o
12599 (e)142 4646 y(")-32 4845 y(rmdays=30)-32 4944 y(gzdays=3)-32
12600 5159 y Fk(F)-7 b(urthermore)66 b(assuming)g(that)h(the)g
12601 (resource\034le)f(is)h(installed)g(in)g Fg(/etc/stealth/cle)o(an)o(up.)
12602 o(rc)61 b Fk(and)66 b(the)-32 5258 y Fg(stealthcleanup)25
12603 b Fk(script)30 b(itself)i(in)f Fg(/usr/bin/stealthc)o(le)o(an)o(up)p
12604 Fk(,)26 b(the)31 b Fg(stealthcleanup)25 b Fk(script)31
12605 b(could)g(b)r(e)g(called)-32 5358 y(as)26 b(follo)n(ws:)p
12606 Black Black 142 5671 a Fg(/usr/bin/stealth)o(cl)o(ea)o(nup)37
12607 b(/etc/stealth/cl)o(ea)o(nup)o(.r)o(c)-32 5885 y Fk(Note)27
12608 b(that)h Fg(stealthcleanup)22 b Fk(ma)n(y)27 b(b)r(e)h(called)f
12609 (whether)g(or)g(not)g(there)h(are)e(activ)n(e)h Fl(stealth)g
12610 Fk(pro)r(cesses.)p Black 1831 6135 a(39)p Black eop end
12611 %%Page: 40 41
12612 TeXDict begin 40 40 bop -472 0 a
12613 SDict begin /product where{pop product(Distiller)search{pop pop pop
12614 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12615 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12616 grestore}if}{pop}ifelse}{pop}ifelse}if end
12617 -472 0 a 0 TeXcolorgray
12618 -504 133 a
12619 SDict begin H.S end
12620 -504 133 a -504 133 a
12621 SDict begin H.R end
12622 -504 133 a -504 133
12623 a
12624 SDict begin [/View [/XYZ H.V]/Dest (page.40) cvn /DEST pdfmark end
12625 -504 133 a Black Black Black -32 448 a
12626 SDict begin H.S end
12627 -32 448 a -32
12628 448 a
12629 SDict begin 12 H.A end
12630 -32 448 a -32 448 a
12631 SDict begin [/View [/XYZ H.V]/Dest (subsection.5.7.2) cvn /DEST pdfmark
12632 end
12633 -32 448 a 83 x Fa(5.7.2)112
12634 b(Using)37 b(`logrotate')f(to)h(con)m(trol)f(rep)s(ort-)h(and)i(status)
12635 e(\034les)-32 755 y Fk(A)42 b(program)e(lik)n(e)i Fl(logrotate)p
12636 Fk(\(1\))g(allo)n(ws)e(its)j(users)e(to)h(sp)r(ecify)g(a)g(command)g
12637 (or)f(script)h(immediately)g(follo)n(wing)-32 855 y(log-rotation,)29
12638 b(and)i(`)p Fl(stealth)g Fg(+NOTRANS\(-{}-{}\))o(re)o(su)o(me)37
12639 b(pidfile)p Fk(')29 b(could)h(b)r(e)i(sp)r(eci\034ed)f(nicely)g(in)h
12640 (suc)n(h)e(a)h(p)r(ost-)-32 955 y(rotation)26 b(section.)-32
12641 1125 y(Here)45 b(is)g(an)g(example)g(of)h(a)f(sp)r(eci\034cation)g
12642 (that)h(can)f(b)r(e)h(used)f(with)h Fl(logrotate)p Fk(\(1\).)91
12643 b(Logrotate)43 b(\(on)j(Debian)-32 1225 y(systems\))h(k)n(eeps)g(its)h
12644 (con\034guration)d(\034les)j(in)g Fg(/etc/logrotate.)o(d)p
12645 Fk(,)f(and)g(assuming)g(there)g(is)h(a)f(host)g Fg(target)p
12646 Fk(,)-32 1324 y(whose)41 b(rep)r(ort)g(\034le)i(is)f
12647 Fg(/var/stealth/ta)o(rg)o(et/)o(re)o(po)o(rt)p Fk(,)e(the)i(required)f
12648 Fl(logrotate)p Fk(\(1\))h(sp)r(eci\034cation)g(\034le)g(\(e.g.,)-32
12649 1424 y Fg(/etc/logrotate.)o(d/)o(tar)o(ge)o(t)p Fk(\))22
12650 b(could)27 b(b)r(e:)p Black Black -32 1661 a Fg(/root/stealth/r)o(ep)o
12651 (ort)37 b(/var/log/stealt)o(h/)o(cli)o(en)o(t-)o(sma)o(ll)o(.lo)o(g)g
12652 ({)142 1761 y(weekly)142 1860 y(rotate)k(12)142 1960
12653 y(compress)142 2059 y(missingok)142 2159 y(copytruncate)142
12654 2259 y(sharedscripts)142 2358 y(prerotate)316 2458 y(/usr/bin/stealth)c
12655 (--suspend)j(/root/stealth/s)o(mal)o(l.)o(ud)o(s)142
12656 2558 y(endscript)142 2657 y(postrotate)316 2757 y(/usr/bin/stealth)d
12657 (--resume)j(/root/stealth/sm)o(all)o(.u)o(ds)142 2856
12658 y(endscript)-32 2956 y(})-32 3193 y Fk(Using)27 b(this)h(sp)r
12659 (eci\034cation)f(\034le,)h Fl(logrotate)p Fk(\(1\))f(will)p
12660 Black 92 3430 a Fh(\017)p Black 41 w Fk(p)r(erform)g(w)n(eekly)g
12661 (rotations)f(of)i(the)g(rep)r(ort)e(\034le;)p Black 92
12662 3596 a Fh(\017)p Black 41 w Fk(k)n(eep)h(up)h(to)g(12)e(rotated)h
12663 (\034les,)g(compressing)f(them)i(using)h Fl(gzip)p Fk(\(1\);)p
12664 Black 92 3762 a Fh(\017)p Black 41 w Fk(susp)r(end)f(the)g
12665 Fl(stealth)f Fk(daemon,)g(b)r(efore)g(rotating)g(its)h(rep)r(ort)e
12666 (\034le;)i(susp)r(ended;)p Black 92 3928 a Fh(\017)p
12667 Black 41 w Fk(follo)n(wing)f(the)h(rotation,)e Fl(stealth)p
12668 Fk('s)h(actions)g(are)f(resumed.)-32 4165 y(Note)h(thet)h
12669 Fg(stealth)41 b(+NOTRANS\(-{}-{}\))o(re)o(sum)o(e)c(xxx)27
12670 b Fk(alw)n(a)n(ys)e(initiates)j(another)e(\034le)i(in)n(tegrit)n(y)f
12671 (scan.)p Black 1831 6135 a(40)p Black eop end
12672 %%Page: 41 42
12673 TeXDict begin 41 41 bop -472 0 a
12674 SDict begin /product where{pop product(Distiller)search{pop pop pop
12675 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12676 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12677 grestore}if}{pop}ifelse}{pop}ifelse}if end
12678 -472 0 a 0 TeXcolorgray
12679 -513 133 a
12680 SDict begin H.S end
12681 -513 133 a -513 133 a
12682 SDict begin H.R end
12683 -513 133 a -513 133
12684 a
12685 SDict begin [/View [/XYZ H.V]/Dest (page.41) cvn /DEST pdfmark end
12686 -513 133 a Black Black Black -32 448 a
12687 SDict begin H.S end
12688 -32 448 a -32
12689 448 a
12690 SDict begin 12 H.A end
12691 -32 448 a -32 448 a
12692 SDict begin [/View [/XYZ H.V]/Dest (chapter.6) cvn /DEST pdfmark end
12693 -32 448 a 777 x Fj(Chapter)60
12694 b(6)-32 1711 y Fm(Kic)-6 b(k-starting)73 b(`stealth')-32
12695 2213 y Fk(Here)27 b(are)f(the)i(steps)g(to)f(tak)n(e)g(to)g(kic)n
12696 (k-start)f Fl(stealth)p Black 92 2450 a Fh(\017)p Black
12697 41 w Fk(Install)c(the)h(stealth)f(Debian)h(pac)n(k)-5
12698 b(age)21 b Fg(stealth_4.01.06)o(_i)o(386)o(.d)o(eb)16
12699 b Fk(and)22 b(th)n(us)h(accept)f(the)g(pro)n(vided)g(binary)175
12700 2550 y(program)d(\(skipping)h(the)h(next)f(series)g(of)g(steps\))h(or)e
12701 (do)i(not)f(accept)g(the)h(pro)n(vided)e(binary)-7 b(,)22
12702 b(and)e(compile)g Fl(stealth)175 2650 y Fk(y)n(ourself,)27
12703 b(as)f(p)r(er)i(the)g(follo)n(wing)e(steps:)p Black 92
12704 2816 a Fh(\017)p Black 41 w Fk(Unpac)n(k)h Fg(stealth_4.01.06.)o(tar)o
12705 (.g)o(z)p Fk(:)k Fg(tar)42 b(xzvf)g(tealth_4.01.06.t)o(ar)o(.g)o(z)p
12706 Black 92 2982 a Fh(\017)p Black 41 w Fg(cd)h(stealth)p
12707 Fk(;)p Black 92 3148 a Fh(\017)p Black 41 w Fk(Insp)r(ect,)23
12708 b(and)e(where)g(necessary)f(mo)r(dify)i(the)f(v)-5 b(alues)21
12709 b(of)h(the)f(v)-5 b(ariables)20 b(in)i(the)g(\034les)f
12710 Fg(INSTALL.cf)c Fk(and)22 b Fg(icmconf)p Fk(;)p Black
12711 92 3314 a Fh(\017)p Black 41 w Fk(Install)28 b(a)f(recen)n(t)g(Gn)n(u)g
12712 Fg(g++)g Fk(compiler;)p Black 92 3480 a Fh(\017)p Black
12713 41 w Fk(Install)149 b(the)g(b)r(ob)r(cat)h(library)d(\(b)r(oth)j(the)g
12714 (binary)e(and)h(dev)n(elopmen)n(t)f(v)n(ersion\))175
12715 3579 y(\()p Fg(https://fbb-git.g)o(it)o(hub)o(.i)o(o/)o(bob)o(ca)o(t/)o
12716 Fk(\);)p Black 92 3745 a Fh(\017)p Black 41 w Fk(Install)28
12717 b(the)f Fg(icmake)f Fk(program)f(\()p Fg(https://fbb-git.g)o(it)o(hu)o
12718 (b.i)o(o/)o(ic)o(mak)o(e/)o Fk(\);)p Black 92 3912 a
12719 Fh(\017)p Black 41 w Fk(Run)j(`)p Fg(./build)41 b(program)f(strip)p
12720 Fk(')26 b(to)h(compile)h Fl(stealth)p Fk(;)p Black 92
12721 4078 a Fh(\017)p Black 41 w Fk(Run)g(\(probably)f(as)g(ro)r(ot\))g(`)p
12722 Fg(./build)40 b(install)h(program)p Fk(')25 b(to)i(install;)p
12723 Black 92 4244 a Fh(\017)p Black 41 w Fk(Optionally)g(install)g(do)r
12724 (cumen)n(tation.)37 b(See)27 b(section)p 0 0 1 TeXcolorrgb
12725 1861 4244 a
12726 SDict begin H.S end
12727 1861 4244 a 0 0 1 TeXcolorrgb Fk(2.1)p 0 0 1
12728 TeXcolorrgb 1968 4190 a
12729 SDict begin H.R end
12730 1968 4190 a 1968 4244 a
12731 SDict begin [/Color [1 0 0]/H /I/Border [0 0 0]BorderArrayPatch/Subtype
12732 /Link/Dest (section.2.1) cvn H.B /ANN pdfmark end
12733 1968
12734 4244 a Black Fk(.)-32 4481 y(F)-7 b(ollo)n(wing)26 b(the)i
12735 (installation)f(the)h Fg(stealth)c Fk(directory)i(tree)i(has)f(b)r
12736 (ecome)g(sup)r(er\035uous)g(and)g(can)g(safely)g(b)r(e)h(remo)n(v)n
12737 (ed.)-32 4651 y(Next,)g(do:)p Black 92 4888 a Fh(\017)p
12738 Black 41 w Fg(cp)43 b(share/usr/bin/s)o(tea)o(lt)o(hma)o(il)37
12739 b(/usr/local/bin)p Black 92 5054 a Fh(\017)p Black 41
12740 w Fg(mkdir)42 b(/root/stealth)p Black 92 5220 a Fh(\017)p
12741 Black 41 w Fg(cp)h(documentation/e)o(xam)o(pl)o(e-p)o(ol)o(ic)o(ies)o
12742 (/l)o(oc)o(alh)o(os)o(t.)o(pol)37 b(/root/stealth)-32
12743 5457 y(ssh)25 b Fk(and)g Fg(bash)g Fk(\(or)g(another)h(shell)g
12744 (program\))e(should)i(b)r(e)g(a)n(v)-5 b(ailable.)35
12745 b Fg(root@localhost)20 b Fk(should)26 b(b)r(e)h(able)f(to)g(login)f(at)
12746 -32 5557 y Fg(localhost)e Fk(using)29 b Fg(ssh)42 b(root@localhost)p
12747 Fk(,)22 b(using)27 b(the)h Fg(/bin/bash)p Fk(.)33 b(Chec)n(k)27
12748 b(\(as)g(`ro)r(ot'\))g(at)h(least)p Black Black 142 5793
12749 a Fg(ssh)42 b(root@localhost)p Black 1831 6135 a Fk(41)p
12750 Black eop end
12751 %%Page: 42 43
12752 TeXDict begin 42 42 bop -472 0 a
12753 SDict begin /product where{pop product(Distiller)search{pop pop pop
12754 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12755 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12756 grestore}if}{pop}ifelse}{pop}ifelse}if end
12757 -472 0 a 0 TeXcolorgray
12758 -504 133 a
12759 SDict begin H.S end
12760 -504 133 a -504 133 a
12761 SDict begin H.R end
12762 -504 133 a -504 133
12763 a
12764 SDict begin [/View [/XYZ H.V]/Dest (page.42) cvn /DEST pdfmark end
12765 -504 133 a Black Black Black -32 531 a Fk(as)26 b(this)i(migh)n(t)g
12766 (ask)f(y)n(ou)f(for)h(a)h(con\034rmation)e(that)i(y)n(ou'v)n(e)e(got)h
12767 (the)h(correct)e(host.)37 b(No)n(w,)27 b(run)p Black
12768 Black 142 768 a Fg(stealth)40 b(/root/stealth/loc)o(al)o(hos)o(t.)o(po)
12769 o(l)-32 1005 y Fk(to)27 b(initialize)h(the)g(stealth-rep)r(ort)e
12770 (\034les)h(for)g Fg(localhost)p Fk(.)34 b(This)27 b(initializes)g(the)h
12771 (rep)r(ort)f(for)p Black 92 1242 a Fh(\017)p Black 41
12772 w Fk(all)g(ro)r(ot)g(setuid/setgid)g(executable)g(\034les)h(on)f
12773 Fg(localhost)p Fk(,)p Black 92 1408 a Fh(\017)p Black
12774 41 w Fk(and)h(for)f(all)g(\034les)g(under)h Fg(/etc/)d
12775 Fk(on)j Fg(localhost)p Fk(.)-32 1645 y(The)f(mail-rep)r(ort)f(is)i(sen)
12776 n(t)f(to)h Fg(root@localhost)p Fk(.)-32 1816 y(No)n(w)22
12777 b(c)n(hange)f(or)h(add)g(or)g(remo)n(v)n(e)f(one)h(of)h(these)f
12778 (\034les,)i(and)e(rerun)g Fl(stealth)p Fk(.)35 b(The)23
12779 b(\034le)f Fg(/tmp/stealth-4.01)o(.0)o(6.)o(mai)o(l)-32
12780 1915 y Fk(should)27 b(re\035ect)g(these)h(c)n(hanges.)p
12781 Black 1831 6135 a(42)p Black eop end
12782 %%Page: 43 44
12783 TeXDict begin 43 43 bop -472 0 a
12784 SDict begin /product where{pop product(Distiller)search{pop pop pop
12785 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12786 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12787 grestore}if}{pop}ifelse}{pop}ifelse}if end
12788 -472 0 a 0 TeXcolorgray
12789 -513 133 a
12790 SDict begin H.S end
12791 -513 133 a -513 133 a
12792 SDict begin H.R end
12793 -513 133 a -513 133
12794 a
12795 SDict begin [/View [/XYZ H.V]/Dest (page.43) cvn /DEST pdfmark end
12796 -513 133 a Black Black Black -32 448 a
12797 SDict begin H.S end
12798 -32 448 a -32
12799 448 a
12800 SDict begin 12 H.A end
12801 -32 448 a -32 448 a
12802 SDict begin [/View [/XYZ H.V]/Dest (chapter.7) cvn /DEST pdfmark end
12803 -32 448 a 777 x Fj(Chapter)60
12804 b(7)-32 1711 y Fm(Usage)72 b(info)-32 2213 y Fk(When)28
12805 b Fl(stealth)f Fk(is)g(started)g(without)h(argumen)n(ts,)e(it)i(pro)n
12806 (vides)d(some)i(help)h(ab)r(out)f(ho)n(w)g(to)g(start)g(it.)37
12807 b(A)28 b(message)e(lik)n(e)-32 2313 y(the)i(follo)n(wing)e(is)h(pro)r
12808 (duced:)p Black Black -32 2567 a Fg(stealth)40 b(V4.01.06)-32
12809 2666 y(SSH-based)f(Trust)j(Enhancement)d(Acquired)h(through)g(a)k
12810 (Locally)c(Trusted)h(Host)-32 2766 y(Copyright)e(\(c\))k(GPL)f
12811 (2005-2017)-32 2965 y(Usage)f(1)i(\(activation)c(modes\):)98
12812 3065 y(stealth)i([options])f(policy)-32 3164 y(Where:)98
12813 3264 y([options])g(-)j(optional)d(arguments)g(\(short)h(options)g
12814 (between)f(parentheses,)621 3364 y(option)h(descriptions)e(starting)h
12815 (with)i(\(C\))g(can)g(only)g(be)h(used)621 3463 y(on)g(the)f
12816 (command-line)d(and)j(are)g(ignored)f(when)h(specified)e(in)i(the)621
12817 3563 y(policy)f(file\).)229 3662 y(--daemon)f(\(-d\))i(<uds>:)f(\(C\))h
12818 (run)h(as)f(a)i(background)39 b(\(daemon\))h(process.)621
12819 3762 y(<uds>)i(is)g(the)h(location)d(of)j(the)f(Unix)g(Domain)f(Socket)
12820 g(that)h(is)621 3862 y(used)g(for)g(communication)c(with)k(the)h
12821 (stealth)d(daemon)h(process)229 3961 y(--dry-run:)e(\(C\))k(no)f
12822 (integrity)e(scans)i(or)g(reloads)f(are)h(performed,)e(but)621
12823 4061 y(are)j(assumed)d(OK.)i(Remaining)e(tasks)i(are)g(normally)e
12824 (performed)229 4161 y(--log)h(\(-L\))h(<file-spec>:)d(log)j(messages)e
12825 (are)j(appended)d(to)j(`<file-spec>'.)621 4260 y(If)g(<file-spec>)c
12826 (does)j(not)g(exist,)f(it)i(is)g(first)e(created)229
12827 4360 y(--logmail:)e(mail)j(is)h(logged)e(\(requires)f(--log)h(or)i
12828 (--syslog\))229 4459 y(--max-size)c(value[BKMG]:)g(files)i(retrieved)f
12829 (by)j(GET)f(may)g(at)h(most)621 4559 y(have)f(`value')f(bytes)g(\(B\),)
12830 h(Kbytes)f(\(K\),)h(Mbytes)f(\(M\),)h(Gbytes)f(\(G\).)621
12831 4659 y(By)i(default:)d(10M;)i(The)g(default)f(unit)h(is)h(`B')229
12832 4758 y(--no-mail:)c(mail)j(is)h(not)f(sent.)g(By)g(default)f(mail)h(is)
12833 h(sent)f(as)g(configured)621 4858 y(in)h(the)f(policy-file)d
12834 (\(--logmail)g(can)k(be)g(specified)c(independently)621
12835 4958 y(from)j(--no-mail\))229 5057 y(--parse-policy-f)o(il)o(e)c
12836 (\(-p\):)j(\(C\))h(parse)g(the)g(policy)f(file,)h(no)g(further)f
12837 (actions.)621 5157 y(Specify)g(once)h(to)g(see)h(the)f(numbered)e
12838 (commands,)621 5256 y(twice)i(to)g(see)h(the)f(policy)f(file)h(parsing)
12839 f(steps)g(as)i(well.)621 5356 y(Results)e(to)i(std)f(output.)229
12840 5456 y(--random-interva)o(l)37 b(\(-i\))42 b(value:)f(start)h
12841 (integrity)e(scans)h(within)621 5555 y(a)i(random)e(interval)g(of)h
12842 (`value')f(seconds)g(\(minutes)f(if)i(an)h(`m')621 5655
12843 y(is)g(appended)d(to)j(the)f(specified)e(value\).)621
12844 5755 y(Requires)g(--repeat.)229 5854 y(--repeat)g(value:)h(start)h(an)g
12845 (integrity)e(scan)i(every)g(`value')e(seconds)p Black
12846 1831 6135 a Fk(43)p Black eop end
12847 %%Page: 44 45
12848 TeXDict begin 44 44 bop -472 0 a
12849 SDict begin /product where{pop product(Distiller)search{pop pop pop
12850 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12851 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12852 grestore}if}{pop}ifelse}{pop}ifelse}if end
12853 -472 0 a 0 TeXcolorgray
12854 -504 133 a
12855 SDict begin H.S end
12856 -504 133 a -504 133 a
12857 SDict begin H.R end
12858 -504 133 a -504 133
12859 a
12860 SDict begin [/View [/XYZ H.V]/Dest (page.44) cvn /DEST pdfmark end
12861 -504 133 a Black Black Black 621 531 a Fg(\(minutes)40
12862 b(if)j(an)g(`m')f(is)h(appended)d(to)j(the)f(specified)e(value\).)229
12863 631 y(--run-command)e(\(-r\))k(value:)f(\(C\))h(only)g(execute)f
12864 (command)f(#`value')621 731 y(\(not)i(available)e(in)j(combination)38
12865 b(with)k(--daemon\))229 830 y(--skip-files)d(\(-s\))i(<file-spec>:)e
12866 (skip)j(the)g(integrity)e(checks)h(of)i(the)621 930 y(files)f(having)f
12867 (their)g(absolute)f(path)i(names)g(listed)f(in)h(`<file-spec>')229
12868 1029 y(--stdout)e(\(-o\):)i(messages)e(are)i(\(also\))f(written)g(to)i
12869 (stdout)621 1129 y(\(not)f(available)e(in)j(combination)38
12870 b(with)k(--daemon\))229 1229 y(--syslog:)e(write)h(syslog)g(messages)
12871 229 1328 y(--syslog-facilit)o(y)c(fac:)86 b(syslog)41
12872 b(facility)f(to)j(use.)f(By)g(default)f(DAEMON)229 1428
12873 y(--syslog-priorit)o(y)c(pri:)86 b(syslog)41 b(priority)f(to)j(use.)f
12874 (By)g(default)f(NOTICE)229 1528 y(--syslog-tag)e(tag:)i(identifier)f
12875 (prefixed)g(to)j(syslog)e(messages.)e(By)621 1627 y(default)i
12876 (`STEALTH'\))229 1727 y(--time-stamp)e(<type>:)h(the)i(time-stamps)d
12877 (to)k(use.)f(By)h(default)d(UTC.)621 1826 y(\(does)i(not)g(apply)f(to)i
12878 (syslog-timestamp)o(s\))229 1926 y(--verbosity)c(\(-V\))j(value:)f
12879 (determines)e(the)j(amount)g(of)g(logged)f(information.)621
12880 2026 y(Requires)f(--log)i(or)h(--syslog:)796 2125 y(0:)f(nothing)f(is)i
12881 (logged)796 2225 y(1:)f(mode)g(reports)f(and)h(policy)f(commands)796
12882 2325 y(2:)h(also:)g(ipc)g(commands)e(and)i(actions)796
12883 2424 y(3:)g(also:)g(integrity)d(scan)j(informative)d(messages)98
12884 2524 y(policy:)i(location)f(of)j(the)f(policy)f(file)-32
12885 2723 y(Usage)g(2)i(\(IPC)f(modes,)f(all)h(options)f(are)h(command-line)
12886 d(only\):)98 2823 y(stealth)i({--reload,--reru)o(n,)o(--)o(res)o(um)o
12887 (e,)o(--s)o(us)o(pe)o(nd,)o(--)o(ter)o(mi)o(na)o(te})c(<uds>)-32
12888 2922 y(Where:)229 3022 y(--reload:)j(reload)h(a)i(stealth)e(process's)e
12889 (policy)i(and)i(skip-file)796 3122 y(files)229 3221 y(--rerun:)d(start)
12890 i(an)g(integrity)e(scan)229 3321 y(--resume:)g(resume)h(stealth)f
12891 (after)i(--suspend)229 3421 y(--suspend:)d(suspend)i(stealth's)f
12892 (activities)796 3520 y(to)i(continue:)e(--resume;)g(to)i(end:)g
12893 (--terminate)229 3620 y(--terminate:)d(terminate)g(the)k(stealth)d
12894 (daemon)98 3719 y(<uds>:)h(location)g(of)h(the)h(Unix)e(Domain)g
12895 (Socket)g(to)i(connect)e(to.)-32 3919 y(Usage)g(3)i(\(support)d(mode,)i
12896 (all)g(options)f(are)h(command-line)d(only\))98 4018
12897 y(stealth)i({--help,--versio)o(n})-32 4118 y(Where:)229
12898 4218 y(--help)g(\(-h\):)172 b(provide)41 b(this)h(help)g(and)g
12899 (terminate)229 4317 y(--version)e(\(-v\):)h(show)h(version)f
12900 (information)e(and)j(terminate)-32 4670 y Fk(Note)31
12901 b(that)h(with)g(the)g(second)g(t)n(yp)r(e)f(of)h(usage)f(the)h(p)r
12902 (olicy)f(\034le)h(is)g(not)f(required:)44 b(here)31 b(only)h(the)g
12903 Fg(pidfile)d Fk(m)n(ust)i(b)r(e)-32 4770 y(sp)r(eci\034ed.)p
12904 Black 1831 6135 a(44)p Black eop end
12905 %%Page: 45 46
12906 TeXDict begin 45 45 bop -472 0 a
12907 SDict begin /product where{pop product(Distiller)search{pop pop pop
12908 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12909 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12910 grestore}if}{pop}ifelse}{pop}ifelse}if end
12911 -472 0 a 0 TeXcolorgray
12912 -513 133 a
12913 SDict begin H.S end
12914 -513 133 a -513 133 a
12915 SDict begin H.R end
12916 -513 133 a -513 133
12917 a
12918 SDict begin [/View [/XYZ H.V]/Dest (page.45) cvn /DEST pdfmark end
12919 -513 133 a Black Black Black -32 448 a
12920 SDict begin H.S end
12921 -32 448 a -32
12922 448 a
12923 SDict begin 12 H.A end
12924 -32 448 a -32 448 a
12925 SDict begin [/View [/XYZ H.V]/Dest (chapter.8) cvn /DEST pdfmark end
12926 -32 448 a 777 x Fj(Chapter)60
12927 b(8)-32 1711 y Fm(Errormessages)-32 2213 y Fg(Can't)41
12928 b(chdir)g(to)i(`path')p Black Black 175 2439 a Fk(the)28
12929 b(directory)g Fg(path)e Fk(could)h(not)h(b)r(e)g(created/used.)35
12930 b(This)28 b(ma)n(y)f(b)r(e)h(a)f(p)r(ermission)g(problem.)37
12931 b(Chec)n(k)27 b(the)175 2538 y(p)r(ermissions)j(of)38
12932 b Fg(path)30 b Fk(if)38 b Fg(path)30 b Fk(do)r(es)g(actually)h(exist.)
12933 48 b(The)31 b(problem)g(ma)n(y)f(b)r(e)i(in)f(a)g(path)h(comp)r(onen)n
12934 (t,)175 2638 y(not)c(necessarily)e(in)h(the)h(last)g(elemen)n(t)f(of)h
12935 (the)g(path.)-32 2863 y Fg(Can't)41 b(open)h(`)p Fe(<)p
12936 Fg(fname)p Fe(>)p Fg(')e(to)i(read)g(\(or)h(write\))p
12937 Black Black 175 3088 a Fk(When)24 b(a)e Fg(GET)g Fk(or)g
12938 Fg(PUT)f Fk(command)i(fails)f(b)r(ecause)h(the)g(target)f(\034le)h
12939 (could)g(not)f(b)r(e)i(read)e(or)g(written,)i Fl(stealth)175
12940 3188 y Fk(terminates)g(afer)f(logging)f(this)j(message.)34
12941 b(The)24 b(\034le)g(ma)n(y)g(not)g(exist)g(or)f(y)n(ou)g(ma)n(y)g(not)h
12942 (not)g(ha)n(v)n(e)f(su\036cien)n(t)175 3287 y(p)r(ermissions)k(to)g
12943 (read)g(or)g(write)g(it.)-32 3512 y Fg(Corrupt)40 b(line)i(in)h(policy)
12944 e(file:)85 b(...)p Black Black 175 3738 a Fk(The)24 b(apparen)n(tly)e
12945 (corrupted)g(line)i(is)f(sho)n(wn.)35 b(The)23 b(line)h(is)f(corrupted)
12946 g(if)h(the)g(line)f(could)g(not)h(b)r(e)g(split)g(in)n(to)175
12947 3837 y(an)h(initial)g(w)n(ord)f(and)h(its)g(remainder.)35
12948 b(Normally)24 b(this)h(should)g(not)g(happ)r(en.)36 b(As)25
12949 b(the)g(line)g(is)g(men)n(tioned,)175 3937 y(the)j(message)e(itself)i
12950 (should)g(assist)e(y)n(ou)h(in)h(y)n(our)e(repairs.)-32
12951 4162 y Fg(could)41 b(not)h(open)g Fe(<)p Fg(logname)p
12952 Fe(>)p Black Black 175 4387 a Fk(This)31 b(message)e(is)h(generated)f
12953 (when)i(the)g(men)n(tioned)f(log-\034le)f(cannot)h(b)r(e)h(written)g
12954 (to.)45 b(Chec)n(k)30 b(the)h(p)r(er-)175 4487 y(missions)h(of)h(the)h
12955 (\034le,)g(and)f(c)n(hec)n(k)f(if)i(the)f(path)g(to)g(the)g(\034le)g
12956 (exists.)53 b(The)33 b(problem)g(ma)n(y)f(b)r(e)h(in)h(a)e(path)175
12957 4586 y(comp)r(onen)n(t,)27 b(not)h(necessarily)e(in)i(the)g(last)f
12958 (elemen)n(t)h(of)f(the)h(path)g(or)e(in)i(the)g(\034le)g(itself.)-32
12959 4812 y Fg(+NOTRANS\(-{}-{})o(\)d)o(aem)o(on)o(:)81 b(missing)41
12960 b(uds-file)f(or)i(policy)g(file)p Black Black 175 5037
12961 a Fk(The)30 b Fg(+NOTRANS\(-{}-{}\)d)o(ae)o(mon)23 b
12962 Fk(option)30 b(requires)f(the)i(lo)r(cation)e(for)h(its)h(Unix)f
12963 (Domain)g(So)r(c)n(k)n(et,)g(and)175 5136 y(in)h(addition)g(a)f(p)r
12964 (olicy)h(\034le)g(m)n(ust)g(b)r(e)g(sp)r(eci\034ed.)47
12965 b(Most)31 b(lik)n(ely)f(the)h(lo)r(cation)f(of)h(the)g(Unix)g(Domain)g
12966 (File)175 5236 y(w)n(as)c(omitted,)h(th)n(us)f(confusing)g(the)h(p)r
12967 (olicy)g(\034le)f(with)h(the)g(Unix)g(Domain)g(File)-32
12968 5461 y Fg(incompatible)38 b(options:)84 b(...)p Black
12969 Black 175 5686 a Fk(T)-7 b(w)n(o)23 b(or)h(more)f(incompatible)h
12970 (options)f(are)g(sho)n(wn.)35 b(E.g.,)25 b Fg(+NOTRANS\(-{}-{})o(\)da)o
12971 (em)o(on)18 b Fk(is)23 b(incompatible)175 5786 y(with)41
12972 b(IPC)h(options,)h(whic)n(h)e(themselv)n(es)f(are)g(m)n(utually)h
12973 (incompatible.)77 b(Omit)41 b(all)f(but)i(one)e(of)h(the)175
12974 5885 y(men)n(tioned)28 b(options)f(and)g(restart)f Fl(stealth)p
12975 Black 1831 6135 a Fk(45)p Black eop end
12976 %%Page: 46 47
12977 TeXDict begin 46 46 bop -472 0 a
12978 SDict begin /product where{pop product(Distiller)search{pop pop pop
12979 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
12980 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
12981 grestore}if}{pop}ifelse}{pop}ifelse}if end
12982 -472 0 a 0 TeXcolorgray
12983 -504 133 a
12984 SDict begin H.S end
12985 -504 133 a -504 133 a
12986 SDict begin H.R end
12987 -504 133 a -504 133
12988 a
12989 SDict begin [/View [/XYZ H.V]/Dest (page.46) cvn /DEST pdfmark end
12990 -504 133 a Black Black Black -32 531 a Fg(Inserting)39
12991 b(command)i(`...')85 b(failed.)p Black Black 175 768
12992 a Fk(the)21 b(men)n(tioned)f(command)f(could)h(not)g(b)r(e)h(sen)n(t)f
12993 (to)g(a)g(c)n(hild-pro)r(cess)e(\()p Fg(sh)i Fk(or)f
12994 Fg(ssh)p Fk(\).)34 b(Chec)n(k)19 b(the)i(a)n(v)-5 b(ailabilit)n(y)175
12995 868 y(of)26 b(the)f Fg(ssh)g Fk(connection)g(to)g(the)h(clien)n(t,)g
12996 (and)f(whether)g(y)n(ou)g(ha)n(v)n(e)f(p)r(ermissions)h(to)g(execute)g
12997 (the)h(sp)r(eci\034ed)175 968 y(command.)-32 1204 y Fg(Invalid)40
12998 b(+NOTRANS\(-{}-{}\))o(ran)o(do)o(m-)o(int)o(er)o(va)o(l)e(specified)p
12999 Black Black 175 1441 a Fk(The)28 b(--random-in)n(terv)-5
13000 b(al)25 b(option)i(w)n(as)f(giv)n(en)h(an)g(in)n(v)-5
13001 b(alid)28 b(\(to)r(o)f(large)f(or)h(negativ)n(e\))g(argumen)n(t.)-32
13002 1678 y Fg(invalid)40 b(+NOTRANS\(-{}-{}\))o Fe(<)p Fg(op)o(ti)o(on)o
13003 Fe(>)e Fg(specified)p Black Black 175 1915 a Fk(The)h(sp)r(eci\034ed)g
13004 (option)g(v)-5 b(alue)39 b(\(e.g.,)i Fg(+NOTRANS\(-{}-{}\))o(max)o(-s)o
13005 (iz)o(e)33 b Fk(w)n(as)38 b(sp)r(eci\034ed,)k(but)e(its)f(option)175
13006 2015 y(v)-5 b(alue)28 b(is)f(not)h(a)f(v)-5 b(alid)27
13007 b(in)n(tegral)g(n)n(um)n(b)r(er\))g(is)h(not)f(supp)r(orted)-32
13008 2252 y Fg(LocalClientSock)o(et)o(::c)o(on)o(ne)o(ct\()o(\):)80
13009 b(...)p Black Black 175 2489 a Fk(When)25 b(running)f(in)h(IPC-mo)r(de)
13010 f Fl(stealth)g Fk(could)h(not)f(connect)g(to)h(the)f(unix)h(domain)f
13011 (so)r(c)n(k)n(et)f(sp)r(eci\034ed)i(for)175 2588 y(the)g(IPC-mo)r(de.)
13012 36 b(Chec)n(k)24 b(whether)g(the)h(matc)n(hing)g Fl(stealth)g
13013 Fk(daemon)f(exists,)g(and)h(whether)f(the)h(lo)r(cation)175
13014 2688 y(of)j(the)g(uds-\034le)f(w)n(as)g(correctly)f(sp)r(eci\034ed)-32
13015 2925 y Fg(LocalServerSock)o(et)o(::a)o(cc)o(ep)o(t\(\))o(:)81
13016 b(...)p Black Black 175 3162 a Fk(When)30 b(running)e(in)i(daemon)e(mo)
13017 r(de)h(incoming)g(connections)f(could)h(not)g(b)r(e)g(accepted.)41
13018 b(This)29 b(ma)n(y)f(ha)n(v)n(e)175 3261 y(man)n(y)f(causes,)g(and)g(a)
13019 g(probably)g(cause)f(is)i(men)n(tioned)f(with)h(the)g(error)e(message)
13020 -32 3498 y Fg(LocalServerSock)o(et)o(::l)o(is)o(te)o(n\(\))o(:)81
13021 b(...)p Black Black 175 3735 a Fk(When)31 b(running)f(in)g(daemon)g(mo)
13022 r(de)g(the)h(unix)g(domain)e(so)r(c)n(k)n(et)h(failed)g(to)g(listen)h
13023 (for)e(incoming)h(connec-)175 3835 y(tions.)36 b(This)26
13024 b(ma)n(y)g(ha)n(v)n(e)f(man)n(y)g(causes,)h(and)f(a)h(probably)f(cause)
13025 g(is)h(men)n(tioned)h(with)f(the)h(error)d(message)-32
13026 4072 y Fg(LocalServerSock)o(et)o(::o)o(pe)o(n\()o Fe(<)p
13027 Fg(ud)o(s)p Fe(>)o Fg(\):)81 b(...)p Black Black 175
13028 4309 a Fk(When)22 b(running)f(in)g(daemon)g(mo)r(de)g(the)g(unix)h
13029 (domain)e(so)r(c)n(k)n(et)g(could)h(not)g(b)r(e)h(op)r(ened.)35
13030 b(A)21 b(p)r(ossible)g(reason)175 4408 y(is)33 b(that)f(an)h(en)n(try)f
13031 (in)g(the)h(\034le)g(system)f(ha)n(ving)g(the)h(same)f(name)g(already)f
13032 (exists.)52 b(The)32 b(error)f(message)175 4508 y(will)d(men)n(tion)f
13033 (a)h(probably)e(cause)h(of)g(the)h(failure)-32 4745 y
13034 Fg(+NOTRANS\(-{}-{})o(\)m)o(ax-)o(si)o(ze)37 b(incompatible)h(with)k
13035 (IPC)h(calls)p Black Black 175 4982 a Fk(The)60 b Fg
13036 (+NOTRANS\(-{}-{}\))o(ma)o(x-)o(siz)o(e)54 b Fk(option)59
13037 b(can)h(can)f(only)g(b)r(e)h(used)g(when)g Fl(stealth)g
13038 Fk(is)f(also)175 5081 y(receiving)69 b(a)h(p)r(olicy)g(\034le.)165
13039 b(It)70 b(cannot)g(b)r(e)g(used)g(in)h(com)n(bination)e(with)i(the)f
13040 (In)n(ter)g(Pro-)175 5181 y(cess)50 b(Comm)n(unication)f(\(IPC\))j
13041 (options)e Fg(+NOTRANS\(-{}-{})o(\)r)o(elo)o(ad)o(,)37
13042 b(+NOTRANS\(-{}-{}\)r)o(er)o(un,)175 5281 y(+NOTRANS\(-{}-{}\))o(re)o
13043 (sum)o(e,)g(+NOTRANS\(-{}-{}\))o(su)o(sp)o(end)21 b Fk(or)27
13044 b Fg(+NOTRANS\(-{}-{})o(\)t)o(er)o(min)o(at)o(e)p Fk(.)-32
13045 5517 y Fg(+NOTRANS\(-{}-{})o(\)m)o(ax-)o(si)o(ze)37 b
13046 Fe(<)p Fg(value)p Fe(>)p Fg(:)84 b(invalid)40 b(option)h(value)p
13047 Black Black 175 5754 a Fk(An)27 b(in)n(v)-5 b(alid)27
13048 b(sp)r(eci\034cation)f(for)g Fg(+NOTRANS\(-{}-{}\))o(ma)o(x-s)o(iz)o(e)
13049 21 b Fk(w)n(as)k(receiv)n(ed.)36 b(Refer)26 b(to)h(the)g(man-page)175
13050 5854 y(or)g(man)n(ual)g(for)g(information)f(ab)r(out)i(v)-5
13051 b(alid)28 b(options.)p Black 1831 6135 a(46)p Black eop
13052 end
13053 %%Page: 47 48
13054 TeXDict begin 47 47 bop -472 0 a
13055 SDict begin /product where{pop product(Distiller)search{pop pop pop
13056 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
13057 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
13058 grestore}if}{pop}ifelse}{pop}ifelse}if end
13059 -472 0 a 0 TeXcolorgray
13060 -513 133 a
13061 SDict begin H.S end
13062 -513 133 a -513 133 a
13063 SDict begin H.R end
13064 -513 133 a -513 133
13065 a
13066 SDict begin [/View [/XYZ H.V]/Dest (page.47) cvn /DEST pdfmark end
13067 -513 133 a Black Black Black -32 531 a Fg(No)42 b(exit)g(value)g(for)
13068 g Fe(<)p Fg(cmd)p Fe(>)f Fg(...)p Black Black 175 768
13069 a Fk(No)28 b(exit)f(v)-5 b(alue)28 b(w)n(as)e(receiv)n(ed)h(for)g(the)h
13070 (logged)e(command,)h(after)g(whic)n(h)h Fl(stealth)f
13071 Fk(terminates.)-32 1004 y Fg(+NOTRANS\(-{}-{})o(\))p
13072 Fe(<)o Fg(opt)o(io)o(n)p Fe(>)37 b Fg(is)43 b(only)f(valid)f(for)h(a)h
13073 (s\(\))g(foreground)c(process)p Black Black 175 1241
13074 a Fk(The)28 b(indicated)f(option)g(cannot)g(b)r(e)h(sp)r(eci\034ed)f
13075 (in)h(com)n(bination)e(with)i(a)f Fg(+NOTRANS\(-{}-{}\))o(da)o(emo)o(n)
13076 21 b Fk(or)175 1341 y(IPC-option)27 b(\(lik)n(e)h Fg
13077 (+NOTRANS\(-{}-{}\))o(su)o(sp)o(end)o Fk(\))-32 1577
13078 y Fg(+NOTRANS\(-{}-{})o(\)r)o(and)o(om)o(-i)o(nte)o(rv)o(al)37
13079 b(requires)j(+NOTRANS\(-{}-{}\))o(rep)o(ea)o(t)p Black
13080 Black 175 1814 a Fk(The)105 b Fg(+NOTRANS\(-{}-{}\))o(ra)o(nd)o(om-)o
13081 (in)o(ter)o(va)o(l)99 b Fk(option)104 b(can)h(only)f(b)r(e)h(used)g
13082 (when)g(the)175 1913 y Fg(+NOTRANS\(-{}-{}\))o(re)o(pea)o(t)21
13083 b Fk(option)28 b(has)f(also)f(b)r(een)i(sp)r(eci\034ed.)-32
13084 2150 y Fg(+NOTRANS\(-{}-{})o(\)r)o(epe)o(at)37 b(not)42
13085 b(available)e(in)j(IPC)f(modes)p Black Black 175 2387
13086 a Fk(The)26 b Fg(+NOTRANS\(-{}-{})o(\)re)o(pe)o(at)19
13087 b Fk(option)25 b(cannot)h(b)r(e)g(sp)r(eci\034ed)f(in)h(com)n(bination)
13088 f(with)h(an)g(IPC-option)175 2486 y(\(lik)n(e)i Fg(+NOTRANS\(-{}-{})o
13089 (\)s)o(usp)o(en)o(d)p Fk(\))-32 2723 y Fg(+NOTRANS\(-{}-{})o(\)r)o(un-)
13090 o(co)o(mm)o(and)37 b(0:)86 b(not)42 b(a)h(valid)f(\(natural\))e
13091 (command)g(number)p Black Black 175 2959 a Fk(The)22
13092 b Fg(+NOTRANS\(-{}-{}\))o(ru)o(n-)o(com)o(ma)o(nd)15
13093 b Fk(option)22 b(requires)e(an)i(argumen)n(t,)f(whic)n(h)h(is)g(a)f(p)r
13094 (ositiv)n(e,)i(in)n(tegral)175 3059 y(v)-5 b(alue.)-32
13095 3296 y Fg(+NOTRANS\(-{}-{})o(\)r)o(un-)o(co)o(mm)o(and)37
13096 b Fe(<)p Fg(nr)p Fe(>)p Fg(:)85 b(invalid)40 b(command)h(number)p
13097 Black Black 175 3532 a Fk(The)22 b Fg(+NOTRANS\(-{}-{}\))o(ru)o(n-)o
13098 (com)o(ma)o(nd)15 b Fk(option)22 b(requires)e(an)i(argumen)n(t,)f(whic)
13099 n(h)h(is)g(a)f(p)r(ositiv)n(e,)i(in)n(tegral)175 3632
13100 y(v)-5 b(alue)28 b(at)f(most)g(equal)g(to)h(the)g(n)n(um)n(b)r(er)f(of)
13101 h(commands)e(listed)i(in)g(the)g(p)r(olicy)f(\034le.)-32
13102 3868 y Fg(+NOTRANS\(-{}-{})o(\)s)o(kip)o(-f)o(il)o(es)37
13103 b(incompatible)i(with)i(IPC)i(calls)p Black Black 175
13104 4105 a Fk(The)c Fg(+NOTRANS\(-{}-{}\))o(sk)o(ip)o(-fi)o(le)o(s)33
13105 b Fk(option)38 b(can)g(only)h(b)r(e)g(used)f(when)h Fl(stealth)g
13106 Fk(is)f(also)g(giv)n(en)g(a)175 4204 y(p)r(olicy)32 b(\034le.)51
13107 b(It)33 b(cannot)f(b)r(e)g(used)h(in)f(com)n(bination)f(with)i(IPC)g
13108 (options)f(\()p Fg(+NOTRANS\(-{}-{}\))o(re)o(lo)o(ad,)175
13109 4304 y(+NOTRANS\(-{}-{}\))o(re)o(run)o(,)37 b(+NOTRANS\(-{}-{}\)r)o(es)
13110 o(um)o(e,)g(+NOTRANS\(-{}-{}\))o(sus)o(pe)o(nd)263 b
13111 Fk(or)175 4404 y Fg(+NOTRANS\(-{}-{}\))o(te)o(rmi)o(na)o(te)p
13112 Fk(\).)-32 4640 y Fg(+NOTRANS\(-{}-{})o(\)s)o(kip)o(-f)o(il)o(es:)80
13113 b(missing)41 b(skip-file)f(or)i(policy)f(file)p Black
13114 Black 175 4877 a Fk(The)22 b Fg(+NOTRANS\(-{}-{}\))o(sk)o(ip-)o(fi)o
13115 (le)o(s)16 b Fk(option)22 b(requires)e(a)i(\034le)g(name)f(and)h(the)g
13116 Fl(stealth)g Fk(command)f(also)175 4977 y(requires)30
13117 b(a)i(p)r(olicy)f(\034le.)49 b(Most)32 b(lik)n(ely)f(the)h(name)f(of)h
13118 (the)g(skip-\034le)f(w)n(as)g(not)g(pro)n(vided,)h(th)n(us)g(confusing)
13119 175 5076 y(the)c(p)r(olicy)f(\034le)h(with)g(the)g(skip-\034le.)-32
13120 5313 y Fg(+NOTRANS\(-{}-{})o(\)s)o(tdo)o(ut)37 b(incompatible)h(with)k
13121 (+NOTRANS\(-{}-{}\))o(dae)o(mo)o(n)p Black Black 175
13122 5549 a Fk(The)e Fg(+NOTRANS\(-{}-{}\))o(st)o(dou)o(t)34
13123 b Fk(option)39 b(can)h(only)f(b)r(e)h(used)g(when)g Fl(stealth)g
13124 Fk(is)f(not)h(started)f(as)h(a)175 5649 y(daemon)27 b(pro)r(cess.)-32
13125 5885 y Fg(syslog)41 b(facility)f Fe(<)p Fg(facility)p
13126 Fe(>)f Fg(not)j(supported)p Black 1831 6135 a Fk(47)p
13127 Black eop end
13128 %%Page: 48 49
13129 TeXDict begin 48 48 bop -472 0 a
13130 SDict begin /product where{pop product(Distiller)search{pop pop pop
13131 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
13132 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
13133 grestore}if}{pop}ifelse}{pop}ifelse}if end
13134 -472 0 a 0 TeXcolorgray
13135 -504 133 a
13136 SDict begin H.S end
13137 -504 133 a -504 133 a
13138 SDict begin H.R end
13139 -504 133 a -504 133
13140 a
13141 SDict begin [/View [/XYZ H.V]/Dest (page.48) cvn /DEST pdfmark end
13142 -504 133 a Black Black Black Black Black 175 531 a
13143 Fk(The)33 b(option)f Fg(+NOTRANS\(-{}-{}\))o(sy)o(sl)o(og-)o(fa)o(cil)o
13144 (it)o(y)26 b Fk(requires)32 b(the)h(name)f(of)g(a)h(standard)e
13145 Fl(syslog)q Fk(\(1\))175 631 y(facilit)n(y)-7 b(.)68
13146 b(Supp)r(orted)38 b(facilities)f(are)g Fg(DAEMON,)k(LOCAL0)35
13147 b Fk(through)i Fg(LOCAL7)f Fk(and)h Fg(USER)p Fk(.)f(See,)41
13148 b(e.g.,)f(the)175 731 y Fl(syslog)q Fk(\(3\))27 b(man-page)f(for)h(an)g
13149 (o)n(v)n(erview)f(of)h(their)h(de\034nitions.)-32 968
13150 y Fg(+NOTRANS\(-{}-{})o(\)s)o(ysl)o(og)o Fh(\003)37 b
13151 Fg(options)k(incompatible)d(with)k(IPC)h(calls)p Black
13152 Black 175 1204 a(+NOTRANS\(-{}-{}\))o(sy)o(slo)o(g)p
13153 Fh(\003)59 b Fk(options)64 b(can)h(can)g(only)f(b)r(e)i(used)f(when)g
13154 Fl(stealth)g Fk(is)g(also)f(re-)175 1304 y(ceiving)74
13155 b(a)h(p)r(olicy)f(\034le.)179 b(It)75 b(cannot)f(b)r(e)i(used)e(in)h
13156 (com)n(bination)f(with)h(the)h(In)n(ter)e(Pro-)175 1404
13157 y(cess)50 b(Comm)n(unication)f(\(IPC\))j(options)e Fg(+NOTRANS\(-{}-{})
13158 o(\)r)o(elo)o(ad)o(,)37 b(+NOTRANS\(-{}-{}\)r)o(er)o(un,)175
13159 1503 y(+NOTRANS\(-{}-{}\))o(re)o(sum)o(e,)g(+NOTRANS\(-{}-{}\))o(su)o
13160 (sp)o(end)21 b Fk(or)27 b Fg(+NOTRANS\(-{}-{})o(\)t)o(er)o(min)o(at)o
13161 (e)p Fk(.)-32 1740 y Fg(syslog)41 b(priority)f Fe(<)p
13162 Fg(priority)p Fe(>)f Fg(not)j(supported)p Black Black
13163 175 1977 a Fk(The)55 b(option)f Fg(+NOTRANS\(-{}-{})o(\)sy)o(sl)o(og-)o
13164 (pr)o(io)o(rit)o(y)48 b Fk(requires)53 b(the)i(name)g(of)f(a)g
13165 (standard)g Fl(sys-)175 2077 y(log)q Fk(\(1\))80 b(priorit)n(y)-7
13166 b(.)195 b(All)81 b(standard)f(priorities)f(are)h(supp)r(orted.)196
13167 b(See,)94 b(e.g.,)g(the)81 b Fl(sys-)175 2176 y(log)q
13168 Fk(\(3\))68 b(man-page)f(for)h(an)g(o)n(v)n(erview)e(of)j(a)n(v)-5
13169 b(ailable)67 b(priorities.)158 b(The)69 b(pre\034xes)e(used)i(with)175
13170 2276 y(the)76 b(priorities)e(in)h(this)h(man-page)e(\(i.e.,)87
13171 b Fg(LOG_)74 b Fk(should)h(not)g(b)r(e)h(used)f(when)g(sp)r(ecifying)
13172 175 2376 y(the)52 b Fg(+NOTRANS\(-{}-{}\))o(sys)o(lo)o(g-p)o(ri)o(or)o
13173 (ity)o Fk(.)104 b(E.g.,)58 b(use)51 b Fg(+NOTRANS\(-{}-{}\)s)o(ys)o(lo)
13174 o(g-p)o(ri)o(or)o(ity)175 2475 y(WARNING)25 b Fk(rather)h(than)i
13175 Fg(+NOTRANS\(-{}-{}\))o(sy)o(sl)o(og-)o(pr)o(ior)o(it)o(y)37
13176 b(LOG-WARNING)p Fk(\))-32 2712 y Fg(terminated:)82 b(non-zero)40
13177 b(exit)i(value)g(for)g(`...')p Black Black 175 2949 a
13178 Fk(A)35 b(lo)r(cal)f(command)g(\(not)h(using)f(the)h
13179 Fg(CHECK)e Fk(k)n(eyw)n(ord\),)i(returned)f(with)h(a)f(non-zero)f
13180 (exit.)58 b(This)35 b(will)175 3049 y(terminate)30 b(further)g(pro)r
13181 (cessing)e(of)i(the)h(p)r(olicy)e(\034le.)45 b(Insp)r(ect)30
13182 b(and/or)e(rerun)i(the)g(command)g(`b)n(y)f(hand')175
13183 3148 y(to)f(\034nd)g(indications)g(ab)r(out)g(what)f(w)n(en)n(t)h
13184 (wrong.)37 b(The)28 b(rep)r(ort)f(\034le)h(or)f(the)h(standard)f(error)
13185 f(stream)h(ma)n(y)175 3248 y(also)g(con)n(tain)f(additional)h
13186 (information)g(ab)r(out)h(the)g(reason)e(of)h(the)h(failure.)-32
13187 3485 y Fg(Unable)41 b(to)h(create)f(the)i(logfile)d(`...')p
13188 Black Black 175 3722 a Fk(the)35 b(men)n(tioned)g(log)e(\034le)i(could)
13189 f(not)h(b)r(e)g(created.)57 b(Chec)n(k)34 b(the)h(p)r(ermissions)e(of)i
13190 (the)g(\034le,)h(c)n(hec)n(k)e(if)h(the)175 3821 y(path)30
13191 b(to)f(the)h(\034le)g(exists.)42 b(The)29 b(problem)g(ma)n(y)g(b)r(e)h
13192 (in)f(a)h(path)f(comp)r(onen)n(t,)h(not)f(necessarily)f(in)i(the)g
13193 (last)175 3921 y(elemen)n(t)e(of)f(the)h(path)g(or)f(in)g(the)h(\034le)
13194 g(itself.)-32 4158 y Fg(Unix)41 b(Domain)g(Socket)h(`)p
13195 Fe(<)p Fg(uds)p Fe(>)p Fg(':)83 b(already)41 b(in)i(use,)e(remove)h(it)
13196 g(first)p Black Black 175 4395 a Fk(The)29 b(in)n(tended)g(Unix)g
13197 (Domain)f(So)r(c)n(k)n(et)g(name)h(\()p Fe(<)p Fg(uds)p
13198 Fe(>)p Fk(\))e(is)i(already)e(in)i(use.)40 b(It)29 b(could)f(b)r(e)h(a)
13199 g(\034le)f(that)h(is)175 4494 y(or)d(has)h(b)r(een)h(used)f(b)n(y)g
13200 (another)f(pro)r(cess.)36 b(Either)27 b(use)g(another)f(name)h(for)g
13201 (the)h(unix)f(domain)g(so)r(c)n(k)n(et,)f(or)175 4594
13202 y(remo)n(v)n(e)g(the)i(existing)f(\034le-system)g(en)n(try)-32
13203 4831 y Fg(USE)42 b(SSH)g(...)86 b(entry)42 b(missing)e(in)j(the)f
13204 (policy)f(file)p Black Black 175 5068 a Fk(there)27 b(is)g(no)g
13205 (default)g(for)g(the)g Fg(USE)43 b(SSH)25 b Fk(sp)r(eci\034cation)i(in)
13206 g(the)h(p)r(olicy)f(\034le.)37 b(The)27 b(sp)r(eci\034cation)f(could)h
13207 (not)175 5168 y(b)r(e)h(found.)37 b(Pro)n(vide)27 b(a)g(sp)r
13208 (eci\034cation)g(lik)n(e:)p Black Black 175 5367 a Fg(USE)42
13209 b(SSH)217 b(ssh)42 b(-q)h(root@localhost)p Black 1831
13210 6135 a Fk(48)p Black eop end
13211 %%Trailer
13212
13213 userdict /end-hook known{end-hook}if
13214 %%EOF