reference/filter/filters.xml
372e1b4d392a909073c06aba5975d7bedbf0b725
...
...
@@ -21,7 +21,10 @@
21
21
</thead>
22
22
<tbody>
23
23
<row>
24
-
<entry><constant>FILTER_VALIDATE_BOOLEAN</constant></entry>
24
+
<entry>
25
+
<constant>FILTER_VALIDATE_BOOLEAN</constant>,
26
+
<constant>FILTER_VALIDATE_BOOL</constant>
27
+
</entry>
25
28
<entry>"boolean"</entry>
26
29
<entry>
27
30
<parameter>default</parameter>
...
...
@@ -39,6 +42,33 @@
39
42
returned only for "0", "false", "off", "no", and "", and
40
43
&null; is returned for all non-boolean values.
41
44
</para>
45
+
<para>
46
+
String values are trimmed using <function>trim</function> before comparison.
47
+
</para>
48
+
</entry>
49
+
</row>
50
+
<row>
51
+
<entry><constant>FILTER_VALIDATE_DOMAIN</constant></entry>
52
+
<entry>"validate_domain"</entry>
53
+
<entry>
54
+
<parameter>default</parameter>
55
+
</entry>
56
+
<entry>
57
+
<constant>FILTER_FLAG_HOSTNAME</constant>,
58
+
<constant>FILTER_NULL_ON_FAILURE</constant>
59
+
</entry>
60
+
<entry>
61
+
<para>
62
+
Validates whether the domain name label lengths are valid.
63
+
</para>
64
+
<para>
65
+
Validates domain names against RFC 1034, RFC 1035, RFC 952,
66
+
RFC 1123, RFC 2732, RFC 2181, and RFC 1123. Optional flag
67
+
<constant>FILTER_FLAG_HOSTNAME</constant> adds ability to
68
+
specifically validate hostnames (they must start with an
69
+
alphanumeric character and contain only alphanumerics or
70
+
hyphens).
71
+
</para>
42
72
</entry>
43
73
</row>
44
74
<row>
...
...
@@ -47,14 +77,18 @@
47
77
<entry>
48
78
<parameter>default</parameter>
49
79
</entry>
50
-
<entry></entry>
80
+
<entry>
81
+
<constant>FILTER_FLAG_EMAIL_UNICODE</constant>,
82
+
<constant>FILTER_NULL_ON_FAILURE</constant>
83
+
</entry>
51
84
<entry>
52
85
<para>
53
86
Validates whether the value is a valid e-mail address.
54
87
</para>
55
88
<para>
56
-
In general, this validates e-mail addresses against the syntax in
57
-
RFC 822, with the exceptions that comments and whitespace folding
89
+
In general, this validates e-mail addresses against the <literal>addr-spec</literal>syntax in
90
+
<link xlink:href="&url.rfc;822">RFC 822</link>, with the exceptions that comments and whitespace folding
91
+
and dotless domain names
58
92
are not supported.
59
93
</para>
60
94
</entry>
...
...
@@ -64,12 +98,22 @@
64
98
<entry>"float"</entry>
65
99
<entry>
66
100
<parameter>default</parameter>,
67
-
<parameter>decimal</parameter>
101
+
<parameter>decimal</parameter>,
102
+
<parameter>min_range</parameter>,
103
+
<parameter>max_range</parameter>
104
+
</entry>
105
+
<entry>
106
+
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>,
107
+
<constant>FILTER_NULL_ON_FAILURE</constant>
68
108
</entry>
69
109
<entry>
70
-
<constant>FILTER_FLAG_ALLOW_THOUSAND</constant>
110
+
<para>
111
+
Validates value as float, optionally from the specified range, and converts to float on success.
112
+
</para>
113
+
<para>
114
+
String values are trimmed using <function>trim</function> before comparison.
115
+
</para>
71
116
</entry>
72
-
<entry>Validates value as float, and converts to float on success.</entry>
73
117
</row>
74
118
<row>
75
119
<entry><constant>FILTER_VALIDATE_INT</constant></entry>
...
...
@@ -81,9 +125,17 @@
81
125
</entry>
82
126
<entry>
83
127
<constant>FILTER_FLAG_ALLOW_OCTAL</constant>,
84
-
<constant>FILTER_FLAG_ALLOW_HEX</constant>
128
+
<constant>FILTER_FLAG_ALLOW_HEX</constant>,
129
+
<constant>FILTER_NULL_ON_FAILURE</constant>
130
+
</entry>
131
+
<entry>
132
+
<para>
133
+
Validates value as integer, optionally from the specified range, and converts to int on success.
134
+
</para>
135
+
<para>
136
+
String values are trimmed using <function>trim</function> before comparison.
137
+
</para>
85
138
</entry>
86
-
<entry>Validates value as integer, optionally from the specified range, and converts to int on success.</entry>
87
139
</row>
88
140
<row>
89
141
<entry><constant>FILTER_VALIDATE_IP</constant></entry>
...
...
@@ -95,7 +147,9 @@
95
147
<constant>FILTER_FLAG_IPV4</constant>,
96
148
<constant>FILTER_FLAG_IPV6</constant>,
97
149
<constant>FILTER_FLAG_NO_PRIV_RANGE</constant>,
98
-
<constant>FILTER_FLAG_NO_RES_RANGE</constant>
150
+
<constant>FILTER_FLAG_NO_RES_RANGE</constant>,
151
+
<constant>FILTER_FLAG_GLOBAL_RANGE</constant>,
152
+
<constant>FILTER_NULL_ON_FAILURE</constant>
99
153
</entry>
100
154
<entry>
101
155
Validates value as IP address, optionally only IPv4 or IPv6 or not
...
...
@@ -108,7 +162,9 @@
108
162
<entry>
109
163
<parameter>default</parameter>
110
164
</entry>
111
-
<entry></entry>
165
+
<entry>
166
+
<constant>FILTER_NULL_ON_FAILURE</constant>
167
+
</entry>
112
168
<entry>Validates value as MAC address.</entry>
113
169
</row>
114
170
<row>
...
...
@@ -118,7 +174,9 @@
118
174
<parameter>default</parameter>,
119
175
<parameter>regexp</parameter>
120
176
</entry>
121
-
<entry></entry>
177
+
<entry>
178
+
<constant>FILTER_NULL_ON_FAILURE</constant>
179
+
</entry>
122
180
<entry>
123
181
Validates value against <parameter>regexp</parameter>, a
124
182
<link linkend="book.pcre">Perl-compatible</link> regular expression.
...
...
@@ -131,8 +189,11 @@
131
189
<parameter>default</parameter>
132
190
</entry>
133
191
<entry>
192
+
<constant>FILTER_FLAG_SCHEME_REQUIRED</constant>,
193
+
<constant>FILTER_FLAG_HOST_REQUIRED</constant>,
134
194
<constant>FILTER_FLAG_PATH_REQUIRED</constant>,
135
-
<constant>FILTER_FLAG_QUERY_REQUIRED</constant>
195
+
<constant>FILTER_FLAG_QUERY_REQUIRED</constant>,
196
+
<constant>FILTER_NULL_ON_FAILURE</constant>
136
197
</entry>
137
198
<entry>Validates value as URL (according to <link xlink:href="&url.rfc;2396">&url.rfc;2396</link>), optionally with required components. Beware a valid URL may not specify the HTTP protocol <literal>http://</literal> so further validation may be required to determine the URL uses an expected protocol, e.g. <literal>ssh://</literal> or <literal>mailto:</literal>. Note that the function will only find ASCII URLs to be valid; internationalized domain names (containing non-ASCII characters) will fail.</entry>
138
199
</row>
...
...
@@ -142,13 +203,8 @@
142
203
</para>
143
204
<note>
144
205
<para>
145
-
As of PHP 5.4.11, the numbers +0 and -0 validate as both integers as well
146
-
as floats (using <constant>FILTER_VALIDATE_FLOAT</constant> and
147
-
<constant>FILTER_VALIDATE_INT</constant>). Before PHP 5.4.11 they only
148
-
validated as floats (using <constant>FILTER_VALIDATE_FLOAT</constant>).
149
-
</para>
150
-
<para>
151
-
When <parameter>default</parameter> is set to option, <parameter>default</parameter>'s value is used if value is not validated.
206
+
When <parameter>default</parameter> is set to option,
207
+
<parameter>default</parameter>'s value is used if value is not validated.
152
208
</para>
153
209
</note>
154
210

...
...
@@ -165,9 +221,32 @@
165
221
</thead>
166
222
<tbody>
167
223
<row>
168
-
<entry>5.5.0</entry>
224
+
<entry>8.0.0</entry>
225
+
<entry>
226
+
The <constant>FILTER_FLAG_SCHEME_REQUIRED</constant> and
227
+
<constant>FILTER_FLAG_HOST_REQUIRED</constant> flags for the
228
+
<constant>FILTER_VALIDATE_URL</constant> filter have been removed.
229
+
The <literal>scheme</literal> and <literal>host</literal> are (and have been) always required.
230
+
</entry>
231
+
</row>
232
+
<row>
233
+
<entry>8.0.0</entry>
234
+
<entry>
235
+
Added <constant>FILTER_VALIDATE_BOOL</constant> as an alias for <constant>FILTER_VALIDATE_BOOLEAN</constant>.
236
+
Using <constant>FILTER_VALIDATE_BOOL</constant> is preferred.
237
+
</entry>
238
+
</row>
239
+
<row>
240
+
<entry>7.4.0</entry>
241
+
<entry>
242
+
Added <parameter>min_range</parameter> and <parameter>max_range</parameter>
243
+
options for <constant>FILTER_VALIDATE_FLOAT</constant>.
244
+
</entry>
245
+
</row>
246
+
<row>
247
+
<entry>7.0.0</entry>
169
248
<entry>
170
-
Added <constant>FILTER_VALIDATE_MAC</constant>
249
+
Added <constant>FILTER_FLAG_HOSTNAME</constant> and <constant>FILTER_VALIDATE_DOMAIN</constant>.
171
250
</entry>
172
251
</row>
173
252
</tbody>
...
...
@@ -210,6 +289,7 @@
210
289
<entry>
211
290
<constant>FILTER_FLAG_STRIP_LOW</constant>,
212
291
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
292
+
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>,
213
293
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
214
294
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
215
295
</entry>
...
...
@@ -219,7 +299,18 @@
219
299
<entry><constant>FILTER_SANITIZE_MAGIC_QUOTES</constant></entry>
220
300
<entry>"magic_quotes"</entry>
221
301
<entry></entry>
222
-
<entry>Apply <function>addslashes</function>.</entry>
302
+
<entry>
303
+
Apply <function>addslashes</function>.
304
+
(<emphasis>DEPRECATED</emphasis> as of PHP 7.3.0 and
305
+
<emphasis>REMOVED</emphasis> as of PHP 8.0.0,
306
+
use <constant>FILTER_SANITIZE_ADD_SLASHES</constant> instead.)
307
+
</entry>
308
+
</row>
309
+
<row>
310
+
<entry><constant>FILTER_SANITIZE_ADD_SLASHES</constant></entry>
311
+
<entry>"add_slashes"</entry>
312
+
<entry></entry>
313
+
<entry>Apply <function>addslashes</function>. (Available as of PHP 7.3.0)</entry>
223
314
</row>
224
315
<row>
225
316
<entry><constant>FILTER_SANITIZE_NUMBER_FLOAT</constant></entry>
...
...
@@ -248,10 +339,11 @@
248
339
<entry>
249
340
<constant>FILTER_FLAG_STRIP_LOW</constant>,
250
341
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
342
+
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>,
251
343
<constant>FILTER_FLAG_ENCODE_HIGH</constant>
252
344
</entry>
253
345
<entry>
254
-
HTML-escape <literal>'"&lt;&gt;&amp;</literal> and characters with
346
+
HTML-encode <literal>'"&lt;&gt;&amp;</literal> and characters with
255
347
ASCII value less than 32, optionally strip or encode other special
256
348
characters.
257
349
</entry>
...
...
@@ -260,7 +352,7 @@
260
352
<entry><constant>FILTER_SANITIZE_FULL_SPECIAL_CHARS</constant></entry>
261
353
<entry>"full_special_chars"</entry>
262
354
<entry>
263
-
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>,
355
+
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>
264
356
</entry>
265
357
<entry>
266
358
Equivalent to calling <function>htmlspecialchars</function> with <constant>ENT_QUOTES</constant> set. Encoding quotes can
...
...
@@ -277,17 +369,28 @@
277
369
<constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>,
278
370
<constant>FILTER_FLAG_STRIP_LOW</constant>,
279
371
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
372
+
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>,
280
373
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
281
374
<constant>FILTER_FLAG_ENCODE_HIGH</constant>,
282
375
<constant>FILTER_FLAG_ENCODE_AMP</constant>
283
376
</entry>
284
-
<entry>Strip tags, optionally strip or encode special characters.</entry>
377
+
<entry>
378
+
Strip tags and HTML-encode double and single quotes, optionally strip
379
+
or encode special characters. Encoding quotes can be
380
+
disabled by setting <constant>FILTER_FLAG_NO_ENCODE_QUOTES</constant>.
381
+
(<emphasis>Deprecated</emphasis> as of PHP 8.1.0,
382
+
use <function>htmlspecialchars</function> instead.)
383
+
</entry>
285
384
</row>
286
385
<row>
287
386
<entry><constant>FILTER_SANITIZE_STRIPPED</constant></entry>
288
387
<entry>"stripped"</entry>
289
388
<entry></entry>
290
-
<entry>Alias of "string" filter.</entry>
389
+
<entry>
390
+
Alias of "string" filter.
391
+
(<emphasis>Deprecated</emphasis> as of PHP 8.1.0,
392
+
use <function>htmlspecialchars</function> instead.)
393
+
</entry>
291
394
</row>
292
395
<row>
293
396
<entry><constant>FILTER_SANITIZE_URL</constant></entry>
...
...
@@ -304,6 +407,7 @@
304
407
<entry>
305
408
<constant>FILTER_FLAG_STRIP_LOW</constant>,
306
409
<constant>FILTER_FLAG_STRIP_HIGH</constant>,
410
+
<constant>FILTER_FLAG_STRIP_BACKTICK</constant>,
307
411
<constant>FILTER_FLAG_ENCODE_LOW</constant>,
308
412
<constant>FILTER_FLAG_ENCODE_HIGH</constant>,
309
413
<constant>FILTER_FLAG_ENCODE_AMP</constant>
...
...
@@ -348,10 +452,29 @@ filter.default_flags = 0
348
452
</thead>
349
453
<tbody>
350
454
<row>
351
-
<entry>5.2.11/5.3.1</entry>
455
+
<entry>8.1.0</entry>
456
+
<entry>
457
+
<constant>FILTER_SANITIZE_STRING</constant> and
458
+
<constant>FILTER_SANITIZE_STRIPPED</constant> have been deprecated.
459
+
</entry>
460
+
</row>
461
+
<row>
462
+
<entry>8.0.0</entry>
352
463
<entry>
353
-
Slashes (<literal>/</literal>) are removed by
354
-
<constant>FILTER_SANITIZE_EMAIL</constant>. Prior they were retained.
464
+
<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> has been removed.
465
+
</entry>
466
+
</row>
467
+
<row>
468
+
<entry>7.3.0</entry>
469
+
<entry>
470
+
<constant>FILTER_SANITIZE_ADD_SLASHES</constant> was added as a
471
+
replacement for <constant>FILTER_SANITIZE_MAGIC_QUOTES</constant>
472
+
</entry>
473
+
</row>
474
+
<row>
475
+
<entry>7.3.0</entry>
476
+
<entry>
477
+
<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> has been deprecated.
355
478
</entry>
356
479
</row>
357
480
</tbody>
...
...
@@ -384,7 +507,7 @@ filter.default_flags = 0
384
507
<entry><constant>FILTER_CALLBACK</constant></entry>
385
508
<entry>"callback"</entry>
386
509
<entry><type>callable</type> function or method</entry>
387
-
<entry></entry>
510
+
<entry>All flags are ignored</entry>
388
511
<entry>Call user-defined function to filter data.</entry>
389
512
</row>
390
513
</tbody>
...
...
@@ -435,6 +558,18 @@ filter.default_flags = 0
435
558
</entry>
436
559
</row>
437
560
<row>
561
+
<entry><constant>FILTER_FLAG_STRIP_BACKTICK</constant></entry>
562
+
<entry>
563
+
<constant>FILTER_SANITIZE_ENCODED</constant>,
564
+
<constant>FILTER_SANITIZE_SPECIAL_CHARS</constant>,
565
+
<constant>FILTER_SANITIZE_STRING</constant>,
566
+
<constant>FILTER_UNSAFE_RAW</constant>
567
+
</entry>
568
+
<entry>
569
+
Strips backtick characters.
570
+
</entry>
571
+
</row>
572
+
<row>
438
573
<entry><constant>FILTER_FLAG_ALLOW_FRACTION</constant></entry>
439
574
<entry>
440
575
<constant>FILTER_SANITIZE_NUMBER_FLOAT</constant>
...
...
@@ -480,7 +615,7 @@ filter.default_flags = 0
480
615
<entry>
481
616
<constant>FILTER_SANITIZE_ENCODED</constant>,
482
617
<constant>FILTER_SANITIZE_STRING</constant>,
483
-
<constant>FILTER_SANITIZE_RAW</constant>
618
+
<constant>FILTER_UNSAFE_RAW</constant>
484
619
</entry>
485
620
<entry>
486
621
Encodes all characters with a numerical value &lt;32.
...
...
@@ -492,7 +627,7 @@ filter.default_flags = 0
492
627
<constant>FILTER_SANITIZE_ENCODED</constant>,
493
628
<constant>FILTER_SANITIZE_SPECIAL_CHARS</constant>,
494
629
<constant>FILTER_SANITIZE_STRING</constant>,
495
-
<constant>FILTER_SANITIZE_RAW</constant>
630
+
<constant>FILTER_UNSAFE_RAW</constant>
496
631
</entry>
497
632
<entry>
498
633
Encodes all characters with a numerical value &gt;127.
...
...
@@ -502,7 +637,7 @@ filter.default_flags = 0
502
637
<entry><constant>FILTER_FLAG_ENCODE_AMP</constant></entry>
503
638
<entry>
504
639
<constant>FILTER_SANITIZE_STRING</constant>,
505
-
<constant>FILTER_SANITIZE_RAW</constant>
640
+
<constant>FILTER_UNSAFE_RAW</constant>
506
641
</entry>
507
642
<entry>
508
643
Encodes ampersands (<literal>&amp;</literal>).
...
...
@@ -511,10 +646,10 @@ filter.default_flags = 0
511
646
<row>
512
647
<entry><constant>FILTER_NULL_ON_FAILURE</constant></entry>
513
648
<entry>
514
-
<constant>FILTER_VALIDATE_BOOLEAN</constant>
649
+
any <link linkend="filter.filters.validate"><constant>FILTER_VALIDATE_*</constant></link>
515
650
</entry>
516
651
<entry>
517
-
Returns &null; for unrecognized boolean values.
652
+
Returns &null; for unrecognized values.
518
653
</entry>
519
654
</row>
520
655
<row>
...
...
@@ -540,6 +675,15 @@ filter.default_flags = 0
540
675
</entry>
541
676
</row>
542
677
<row>
678
+
<entry><constant>FILTER_FLAG_EMAIL_UNICODE</constant></entry>
679
+
<entry>
680
+
<constant>FILTER_VALIDATE_EMAIL</constant>
681
+
</entry>
682
+
<entry>
683
+
Allows the local part of the email address to contain Unicode characters.
684
+
</entry>
685
+
</row>
686
+
<row>
543
687
<entry><constant>FILTER_FLAG_IPV4</constant></entry>
544
688
<entry>
545
689
<constant>FILTER_VALIDATE_IP</constant>
...
...
@@ -580,10 +724,51 @@ filter.default_flags = 0
580
724
<constant>FILTER_VALIDATE_IP</constant>
581
725
</entry>
582
726
<entry>
727
+
<para>
583
728
Fails validation for the following reserved IPv4 ranges:
584
729
<literal>0.0.0.0/8</literal>, <literal>169.254.0.0/16</literal>,
585
-
<literal>192.0.2.0/24</literal> and <literal>224.0.0.0/4</literal>.
586
-
This flag does not apply to IPv6 addresses.
730
+
<literal>127.0.0.0/8</literal> and <literal>240.0.0.0/4</literal>.
731
+
</para>
732
+
<para>
733
+
Fails validation for the following reserved IPv6 ranges:
734
+
<literal>::1/128</literal>, <literal>::/128</literal>,
735
+
<literal>::ffff:0:0/96</literal> and <literal>fe80::/10</literal>.
736
+
</para>
737
+
<para>
738
+
These are the ranges that are marked as Reserved-By-Protocol in
739
+
<link xlink:href="&url.rfc;6890">RFC 6890</link>.
740
+
</para>
741
+
</entry>
742
+
</row>
743
+
<row>
744
+
<entry><constant>FILTER_FLAG_GLOBAL_RANGE</constant></entry>
745
+
<entry>
746
+
<constant>FILTER_VALIDATE_IP</constant>
747
+
</entry>
748
+
<entry>
749
+
<para>
750
+
Fails validation for non global IPv4/IPv6 ranges as found in
751
+
<link xlink:href="&url.rfc;6890">RFC 6890</link> with the
752
+
<literal>Global</literal> attribute being <literal>False</literal>.
753
+
</para>
754
+
</entry>
755
+
</row>
756
+
<row>
757
+
<entry><constant>FILTER_FLAG_SCHEME_REQUIRED</constant></entry>
758
+
<entry>
759
+
<constant>FILTER_VALIDATE_URL</constant>
760
+
</entry>
761
+
<entry>
762
+
Requires the <acronym>URL</acronym> to contain a scheme part.
763
+
</entry>
764
+
</row>
765
+
<row>
766
+
<entry><constant>FILTER_FLAG_HOST_REQUIRED</constant></entry>
767
+
<entry>
768
+
<constant>FILTER_VALIDATE_URL</constant>
769
+
</entry>
770
+
<entry>
771
+
Requires the <acronym>URL</acronym> to contain a host part.
587
772
</entry>
588
773
</row>
589
774
<row>
...
...
@@ -617,7 +802,8 @@ filter.default_flags = 0
617
802
<entry>
618
803
</entry>
619
804
<entry>
620
-
Requires the value to be an array.
805
+
Requires the value to be an array. Filter given will be applied to each
806
+
scalar entry of the array.
621
807
</entry>
622
808
</row>
623
809
<row>
...
...
@@ -633,6 +819,44 @@ filter.default_flags = 0
633
819
</tgroup>
634
820
</table>
635
821
</para>
822
+

823
+
<simplesect role="changelog">
824
+
&reftitle.changelog;
825
+
<para>
826
+
<informaltable>
827
+
<tgroup cols="2">
828
+
<thead>
829
+
<row>
830
+
<entry>&Version;</entry>
831
+
<entry>&Description;</entry>
832
+
</row>
833
+
</thead>
834
+
<tbody>
835
+
<row>
836
+
<entry>8.2.0</entry>
837
+
<entry>
838
+
<constant>FILTER_FLAG_GLOBAL_RANGE</constant> as a flag to
839
+
<constant>FILTER_VALIDATE_IP</constant> has been added.
840
+
</entry>
841
+
</row>
842
+
<row>
843
+
<entry>7.3.0</entry>
844
+
<entry>
845
+
The explicit usage of <constant>FILTER_FLAG_SCHEME_REQUIRED</constant>
846
+
and <constant>FILTER_FLAG_HOST_REQUIRED</constant> has been deprecated.
847
+
</entry>
848
+
</row>
849
+
<row>
850
+
<entry>7.1.0</entry>
851
+
<entry>
852
+
<constant>FILTER_FLAG_EMAIL_UNICODE</constant> has been added.
853
+
</entry>
854
+
</row>
855
+
</tbody>
856
+
</tgroup>
857
+
</informaltable>
858
+
</para>
859
+
</simplesect>
636
860
</section>
637
861
<!--}}}-->
638
862
</chapter>
639
863