metanorma-un 0.3.9 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1138,4 +1138,3 @@ ol
1138
1138
  ul
1139
1139
  {margin-bottom:0cm;
1140
1140
  margin-left:18pt;}
1141
-
@@ -74,6 +74,7 @@ module IsoDoc
74
74
  end
75
75
 
76
76
  def middle(isoxml, out)
77
+ middle_admonitions(isoxml, out)
77
78
  clause isoxml, out
78
79
  annex isoxml, out
79
80
  bibliography isoxml, out
@@ -83,8 +84,8 @@ module IsoDoc
83
84
  if node["inline-header"] == "true"
84
85
  inline_header_title(out, node, c1)
85
86
  else
86
- div.send "h#{anchor(node['id'], :level, false) || '1'}" do |h|
87
- lbl = anchor(node['id'], :label, false)
87
+ div.send "h#{@xrefs.anchor(node['id'], :level, false) || '1'}" do |h|
88
+ lbl = @xrefs.anchor(node['id'], :label, false)
88
89
  h << "#{lbl}. " if lbl && !@suppressheadingnumbers
89
90
  insert_tab(h, 1) if lbl && !@suppressheadingnumbers
90
91
  c1&.children&.each { |c2| parse(c2, h) }
@@ -56,7 +56,10 @@ module IsoDoc
56
56
  localize&.to_rbnf_s("SpelloutRules", "spellout-ordinal")&.capitalize)
57
57
  set(:session_date, isoxml&.at(ns("//bibdata/ext/session/date"))&.text)
58
58
  set(:session_collaborator, isoxml&.at(ns("//bibdata/ext/session/collaborator"))&.text)
59
- set(:session_id, isoxml&.at(ns("//bibdata/ext/session/id"))&.text)
59
+ sid = isoxml&.at(ns("//bibdata/ext/session/id"))&.text
60
+ set(:session_id, sid)
61
+ set(:session_id_head, sid&.sub(%r{/.*$}, ""))
62
+ set(:session_id_tail, sid&.sub(%r{^[^/]+}, ""))
60
63
  set(:item_footnote, isoxml&.at(ns("//bibdata/ext/session/item-footnote"))&.text)
61
64
  set(:session_itemnumber, multival(isoxml, "//bibdata/ext/session/item-number"))
62
65
  set(:session_itemname, multival(isoxml, "//bibdata/ext/session/item-name"))
@@ -13,19 +13,14 @@ module IsoDoc
13
13
  super
14
14
  end
15
15
 
16
- def convert(filename, file = nil, debug = false)
17
- file = File.read(filename, encoding: "utf-8") if file.nil?
18
- docxml, outname_html, dir = convert_init(file, filename, debug)
19
- plenary = docxml.at(ns("//bibdata/ext[doctype = 'plenary']"))
20
- /\.xml$/.match(filename) or
21
- filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
22
- f.write file
23
- f.path
16
+ def pdf_stylesheet(docxml)
17
+ case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
18
+ when "plenary", "agenda", "budgetary"
19
+ "unece.plenary.xsl"
20
+ else
21
+ docxml&.at(ns("//bibdata/ext/session/*")) ?
22
+ "un.plenary-attachment.xsl" : "unece.recommendation.xsl"
24
23
  end
25
- FileUtils.rm_rf dir
26
- ::Metanorma::Output::XslfoPdf.new.convert(
27
- filename, outname_html + ".pdf",
28
- File.join(@libdir, plenary ? "unece.plenary.xsl" : "unece.recommendation.xsl"))
29
24
  end
30
25
  end
31
26
  end
@@ -0,0 +1,10 @@
1
+ require_relative "base_convert"
2
+ require "isodoc"
3
+
4
+ module IsoDoc
5
+ module UN
6
+ class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,4286 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:un="https://www.metanorma.org/ns/un" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:barcode="http://barcode4j.krysalis.org/ns" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
2
+
3
+ <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
+
5
+
6
+
7
+
8
+
9
+ <xsl:variable name="pageWidth" select="'210mm'"/>
10
+ <xsl:variable name="pageHeight" select="'297mm'"/>
11
+
12
+ <xsl:variable name="debug">false</xsl:variable>
13
+
14
+ <xsl:variable name="contents">
15
+ <contents>
16
+ <xsl:apply-templates select="/un:un-standard/un:sections/*" mode="contents"/>
17
+ <xsl:apply-templates select="/un:un-standard/un:annex" mode="contents"/>
18
+ </contents>
19
+ </xsl:variable>
20
+
21
+ <xsl:variable name="lang">
22
+ <xsl:call-template name="getLang"/>
23
+ </xsl:variable>
24
+
25
+ <xsl:variable name="title" select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'main']"/>
26
+
27
+ <xsl:variable name="id" select="/un:un-standard/un:bibdata/un:ext/un:session/un:id"/>
28
+
29
+ <xsl:template match="/">
30
+ <fo:root font-family="Times New Roman, STIX2Math, HanSans" font-size="10pt" xml:lang="{$lang}">
31
+ <fo:layout-master-set>
32
+ <!-- Cover page -->
33
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
34
+ <fo:region-body margin-top="17.5mm" margin-bottom="10mm" margin-left="20mm" margin-right="20mm"/>
35
+ <fo:region-before extent="17.5mm"/>
36
+ <fo:region-after extent="10mm"/>
37
+ <fo:region-start extent="20mm"/>
38
+ <fo:region-end extent="20mm"/>
39
+ </fo:simple-page-master>
40
+
41
+ <!-- Document odd pages -->
42
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
43
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
44
+ <fo:region-before region-name="header-odd" extent="26mm"/>
45
+ <fo:region-after region-name="footer-odd" extent="40mm"/>
46
+ <fo:region-start region-name="left-region" extent="40mm"/>
47
+ <fo:region-end region-name="right-region" extent="40mm"/>
48
+ </fo:simple-page-master>
49
+ <!-- Document even pages -->
50
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
51
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
52
+ <fo:region-before region-name="header-even" extent="26mm"/>
53
+ <fo:region-after region-name="footer-even" extent="40mm"/>
54
+ <fo:region-start region-name="left-region" extent="40mm"/>
55
+ <fo:region-end region-name="right-region" extent="40mm"/>
56
+ </fo:simple-page-master>
57
+ <fo:page-sequence-master master-name="document">
58
+ <fo:repeatable-page-master-alternatives>
59
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
60
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
61
+ </fo:repeatable-page-master-alternatives>
62
+ </fo:page-sequence-master>
63
+ </fo:layout-master-set>
64
+
65
+ <xsl:call-template name="addPDFUAmeta"/>
66
+
67
+ <!-- Cover Page -->
68
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
69
+ <fo:flow flow-name="xsl-region-body">
70
+ <fo:block-container border-bottom="0.5pt solid black" margin-bottom="6pt">
71
+ <fo:block text-align-last="justify">
72
+ <fo:inline padding-right="22mm"> </fo:inline>
73
+ <fo:inline font-size="14pt" baseline-shift="15%"><xsl:value-of select="/un:un-standard/un:bibdata/un:contributor/un:organization/un:name"/></fo:inline>
74
+ <fo:inline keep-together.within-line="always">
75
+ <fo:leader leader-pattern="space"/>
76
+ <fo:inline font-size="20pt"><xsl:value-of select="substring-before($id, '/')"/></fo:inline>
77
+ <fo:inline font-size="10pt">/<xsl:value-of select="substring-after($id, '/')"/></fo:inline>
78
+ </fo:inline>
79
+ </fo:block>
80
+ </fo:block-container>
81
+ <fo:block-container height="48mm">
82
+ <fo:block>
83
+ <fo:table table-layout="fixed" width="100%">
84
+ <fo:table-column column-width="22mm"/>
85
+ <fo:table-column column-width="98mm"/>
86
+ <fo:table-column column-width="50mm"/>
87
+ <fo:table-body>
88
+ <fo:table-row>
89
+ <fo:table-cell padding-left="0.5mm">
90
+ <fo:block>
91
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="28mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
92
+ </fo:block>
93
+ </fo:table-cell>
94
+ <fo:table-cell>
95
+ <fo:block font-size="20pt" font-weight="bold">Economic and Social Council</fo:block>
96
+ </fo:table-cell>
97
+ <fo:table-cell font-size="10pt">
98
+ <fo:block margin-top="8pt">
99
+ <xsl:text>Distr.: </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:distribution"/>
100
+ </fo:block>
101
+ <fo:block margin-bottom="12pt">
102
+ <xsl:call-template name="formatDate">
103
+ <xsl:with-param name="date" select="/un:un-standard/un:bibdata/un:version/un:revision-date"/>
104
+ </xsl:call-template>
105
+ </fo:block>
106
+ <fo:block>
107
+ <xsl:text>Original: </xsl:text>
108
+ <xsl:call-template name="getLanguage">
109
+ <xsl:with-param name="lang" select="/un:un-standard/un:bibdata/un:language"/>
110
+ </xsl:call-template>
111
+ </fo:block>
112
+ </fo:table-cell>
113
+ </fo:table-row>
114
+ </fo:table-body>
115
+ </fo:table>
116
+ </fo:block>
117
+ </fo:block-container>
118
+ <!-- <fo:block margin-bottom="24pt">&#xA0;</fo:block> -->
119
+ <fo:block-container font-weight="bold" border-top="1.5pt solid black">
120
+ <fo:block font-size="14pt" padding-top="0.5mm" margin-top="6pt" margin-bottom="6pt">Economic Commission for Europe</fo:block>
121
+ <fo:block font-size="12pt" margin-bottom="6pt">UNECE Executive Committee</fo:block>
122
+ <fo:block font-size="12pt" margin-bottom="6pt"><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:editorialgroup/un:committee"/></fo:block>
123
+ <fo:block font-size="10pt">
124
+ <fo:block font-weight="bold">
125
+ <!-- Example: 24 -> Twenty-fourth session -->
126
+ <xsl:call-template name="number-to-words">
127
+ <xsl:with-param name="number" select="/un:un-standard/un:bibdata/un:ext/un:session/un:number"/>
128
+ <xsl:with-param name="first" select="'true'"/>
129
+ </xsl:call-template>
130
+ <xsl:text>session</xsl:text>
131
+ </fo:block>
132
+ <fo:block font-weight="normal">
133
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:date"/>
134
+ </fo:block>
135
+ <fo:block font-weight="normal">
136
+ <xsl:text>Item 1 of the </xsl:text><xsl:value-of select="java:toLowerCase(java:java.lang.String.new(/un:un-standard/un:sections/un:clause[1]/un:title))"/>
137
+ </fo:block>
138
+ <fo:block>
139
+ <xsl:value-of select="translate(/un:un-standard/un:sections/un:clause[1]/un:ol[1]/un:li[1]/un:p[1], '.', '')"/>
140
+ </fo:block>
141
+ <fo:block><xsl:value-of select="$title"/></fo:block>
142
+ </fo:block>
143
+ </fo:block-container>
144
+
145
+ <!-- <xsl:apply-templates select="/un:un-standard/un:preface/un:foreword"/> -->
146
+
147
+ <fo:block-container font-weight="bold" margin-left="20mm" margin-top="10pt">
148
+ <fo:block margin-left="-20mm">
149
+ <fo:block font-size="17pt" margin-bottom="16pt">
150
+ <xsl:value-of select="$title"/>
151
+ </fo:block>
152
+ <fo:block font-size="14pt" margin-bottom="16pt">
153
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'subtitle']"/>
154
+ </fo:block>
155
+ <xsl:if test="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator">
156
+ <fo:block font-size="14pt" margin-bottom="22pt">
157
+ <xsl:text>Developed in Collaboration with the </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator"/>
158
+ </fo:block>
159
+ </xsl:if>
160
+ </fo:block>
161
+ </fo:block-container>
162
+
163
+ <xsl:apply-templates select="/un:un-standard/un:preface/un:abstract"/>
164
+
165
+ <xsl:variable name="charsToRemove" select="concat($upper, $lower, '.()~!@#$%^*-+')"/>
166
+ <xsl:variable name="code" select="translate(/un:un-standard/un:bibdata/un:docidentifier, $charsToRemove,'')"/>
167
+
168
+ <fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center">
169
+ <fo:block font-size="10pt" text-align="left">
170
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:docidentifier"/>
171
+ </fo:block>
172
+
173
+ <fo:block padding-top="1mm">
174
+ <fo:instream-foreign-object fox:alt-text="Barcode">
175
+ <barcode:barcode message="{$code}">
176
+ <barcode:code39>
177
+ <barcode:height>8.5mm</barcode:height>
178
+ <barcode:module-width>0.24mm</barcode:module-width>
179
+ <barcode:human-readable>
180
+ <barcode:placement>none</barcode:placement>
181
+ <!--<barcode:pattern>* _ _ _ _ _ _ _ _ _ *</barcode:pattern>
182
+ <barcode:font-name>Arial</barcode:font-name>
183
+ <barcode:font-size>9.7pt</barcode:font-size> -->
184
+ </barcode:human-readable>
185
+ </barcode:code39>
186
+ </barcode:barcode>
187
+ </fo:instream-foreign-object>
188
+ </fo:block>
189
+ <fo:block padding-top="-0.8mm" text-align="left" font-family="Arial" font-size="8pt" letter-spacing="1.8mm">
190
+ <xsl:value-of select="concat('*', $code, '*')"/>
191
+ </fo:block>
192
+ </fo:block-container>
193
+
194
+ <fo:block-container absolute-position="fixed" left="143mm" top="262mm">
195
+ <fo:block>
196
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Recycle))}" width="26mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Recycle"/>
197
+ </fo:block>
198
+ </fo:block-container>
199
+ <fo:block-container absolute-position="fixed" left="170mm" top="253mm">
200
+ <fo:block>
201
+ <fo:instream-foreign-object fox:alt-text="Barcode">
202
+ <barcode:barcode message="{concat('http://undocs.org/', /un:un-standard/un:bibdata/un:ext/un:session/un:id)}">
203
+ <barcode:qr>
204
+ <barcode:module-width>0.55mm</barcode:module-width>
205
+ <barcode:ec-level>M</barcode:ec-level>
206
+ </barcode:qr>
207
+ </barcode:barcode>
208
+ </fo:instream-foreign-object>
209
+ </fo:block>
210
+ </fo:block-container>
211
+
212
+ </fo:flow>
213
+ </fo:page-sequence>
214
+ <!-- End Cover Page -->
215
+
216
+
217
+ <!-- Document Pages -->
218
+ <fo:page-sequence master-reference="document" initial-page-number="2" format="1" force-page-count="no-force" line-height="115%">
219
+ <fo:static-content flow-name="xsl-footnote-separator">
220
+ <fo:block-container margin-left="-8mm">
221
+ <fo:block margin-left="8mm">
222
+ <fo:leader leader-pattern="rule" leader-length="20%"/>
223
+ </fo:block>
224
+ </fo:block-container>
225
+ </fo:static-content>
226
+ <xsl:call-template name="insertHeaderFooter"/>
227
+ <fo:flow flow-name="xsl-region-body">
228
+
229
+ <xsl:if test="$debug = 'true'">
230
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
231
+ DEBUG
232
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
233
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
234
+ </xsl:if>
235
+
236
+ <fo:block>
237
+ <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
238
+ <xsl:apply-templates select="/un:un-standard/un:annex"/>
239
+ </fo:block>
240
+
241
+ <fo:block-container margin-left="50mm" width="30mm" border-bottom="0.5pt solid black" margin-top="12pt" keep-with-previous="always">
242
+ <fo:block> </fo:block>
243
+ </fo:block-container>
244
+
245
+ </fo:flow>
246
+ </fo:page-sequence>
247
+ <!-- End Document Pages -->
248
+
249
+ </fo:root>
250
+ </xsl:template>
251
+
252
+ <!-- ============================= -->
253
+ <!-- CONTENTS -->
254
+ <!-- ============================= -->
255
+ <xsl:template match="node()" mode="contents">
256
+ <xsl:apply-templates mode="contents"/>
257
+ </xsl:template>
258
+
259
+ <xsl:template match="un:un-standard/un:sections/*" mode="contents">
260
+ <xsl:apply-templates mode="contents"/>
261
+ </xsl:template>
262
+
263
+
264
+ <!-- Any node with title element - clause, definition, annex,... -->
265
+ <xsl:template match="un:title | un:preferred" mode="contents">
266
+ <xsl:variable name="id">
267
+ <xsl:call-template name="getId"/>
268
+ </xsl:variable>
269
+
270
+ <xsl:variable name="level">
271
+ <xsl:call-template name="getLevel"/>
272
+ </xsl:variable>
273
+
274
+ <!-- <xsl:message>
275
+ level=<xsl:value-of select="$level"/>=<xsl:value-of select="."/>
276
+ </xsl:message> -->
277
+
278
+ <xsl:variable name="section">
279
+ <xsl:call-template name="getSection"/>
280
+ </xsl:variable>
281
+
282
+
283
+ <xsl:variable name="type">
284
+ <xsl:value-of select="local-name(..)"/>
285
+ </xsl:variable>
286
+
287
+ <item id="{$id}" level="{$level}" section="{$section}" display="false" type="{$type}">
288
+ <xsl:if test="$type = 'clause'">
289
+ <xsl:attribute name="section">
290
+ <xsl:variable name="title-clause">
291
+ <xsl:call-template name="getTitle">
292
+ <xsl:with-param name="name" select="'title-clause'"/>
293
+ </xsl:call-template>
294
+ </xsl:variable>
295
+ <xsl:value-of select="$title-clause"/>
296
+ <xsl:choose>
297
+ <xsl:when test="ancestor::un:sections">
298
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
299
+ <xsl:choose>
300
+ <xsl:when test="$level = 1">
301
+ <xsl:number format="I" count="//un:sections/un:clause"/>
302
+ </xsl:when>
303
+ <xsl:when test="$level = 2">
304
+ <xsl:number format="I." count="//un:sections/un:clause"/>
305
+ <xsl:number format="A" count="//un:sections/un:clause/un:clause[un:title]"/>
306
+ </xsl:when>
307
+ <xsl:when test="$level &gt;= 3">
308
+ <xsl:number format="I." count="//un:sections/un:clause"/>
309
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
310
+ <xsl:number format="1" count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
311
+ </xsl:when>
312
+ <xsl:otherwise>
313
+ </xsl:otherwise>
314
+ </xsl:choose>
315
+ </xsl:when>
316
+ <xsl:when test="ancestor::un:annex">
317
+ <xsl:choose>
318
+ <xsl:when test="$level = 1">
319
+ <xsl:variable name="title-annex">
320
+ <xsl:call-template name="getTitle">
321
+ <xsl:with-param name="name" select="'title-annex'"/>
322
+ </xsl:call-template>
323
+ </xsl:variable>
324
+ <xsl:value-of select="$title-annex"/>
325
+ <xsl:number format="A" level="any" count="un:annex"/>
326
+ </xsl:when>
327
+ <xsl:otherwise>
328
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
329
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
330
+ </xsl:otherwise>
331
+ </xsl:choose>
332
+ </xsl:when>
333
+ <xsl:otherwise>
334
+ </xsl:otherwise>
335
+ </xsl:choose>
336
+ </xsl:attribute>
337
+
338
+ </xsl:if>
339
+ <xsl:value-of select="."/>
340
+ </item>
341
+
342
+ <xsl:apply-templates mode="contents"/>
343
+ </xsl:template>
344
+
345
+ <xsl:template match="un:bibitem" mode="contents"/>
346
+
347
+ <xsl:template match="un:references" mode="contents">
348
+ <xsl:apply-templates mode="contents"/>
349
+ </xsl:template>
350
+
351
+
352
+ <xsl:template match="un:figure" mode="contents">
353
+ <item level="" id="{@id}" type="figure">
354
+ <xsl:attribute name="section">
355
+ <xsl:variable name="title-figure">
356
+ <xsl:call-template name="getTitle">
357
+ <xsl:with-param name="name" select="'title-figure'"/>
358
+ </xsl:call-template>
359
+ </xsl:variable>
360
+ <xsl:value-of select="$title-figure"/>
361
+ <xsl:choose>
362
+ <xsl:when test="ancestor::un:annex">
363
+ <xsl:choose>
364
+ <xsl:when test="count(//un:annex) = 1">
365
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
366
+ </xsl:when>
367
+ <xsl:otherwise>
368
+ <xsl:number format="A.1-1" level="multiple" count="un:annex | un:figure"/>
369
+ </xsl:otherwise>
370
+ </xsl:choose>
371
+ </xsl:when>
372
+ <xsl:when test="ancestor::un:figure">
373
+ <xsl:for-each select="parent::*[1]">
374
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
375
+ </xsl:for-each>
376
+ <xsl:number format="-a" count="un:figure"/>
377
+ </xsl:when>
378
+ <xsl:otherwise>
379
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
380
+ <!-- <xsl:number format="1.1-1" level="multiple" count="un:annex | un:figure"/> -->
381
+ </xsl:otherwise>
382
+ </xsl:choose>
383
+ </xsl:attribute>
384
+ <xsl:value-of select="un:name"/>
385
+ </item>
386
+ </xsl:template>
387
+
388
+ <xsl:template match="un:table" mode="contents">
389
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
390
+ <item level="" id="{@id}" display="false" type="table">
391
+ <xsl:attribute name="section">
392
+ <xsl:variable name="title-table">
393
+ <xsl:call-template name="getTitle">
394
+ <xsl:with-param name="name" select="'title-table'"/>
395
+ </xsl:call-template>
396
+ </xsl:variable>
397
+ <xsl:value-of select="$title-table"/>
398
+ <xsl:choose>
399
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
400
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
401
+ </xsl:when>
402
+ <xsl:when test="ancestor::*[local-name()='annex']">
403
+ <xsl:number format="I." count="un:annex"/>
404
+ <xsl:number format="1" level="any" count="un:table[ancestor::un:annex[@id = $annex-id]]"/>
405
+ </xsl:when>
406
+ <xsl:otherwise>
407
+ <!-- <xsl:number format="1"/> -->
408
+ <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/>
409
+ </xsl:otherwise>
410
+ </xsl:choose>
411
+ </xsl:attribute>
412
+ <xsl:apply-templates select="un:name"/>
413
+ </item>
414
+ </xsl:template>
415
+
416
+
417
+ <xsl:template match="un:formula" mode="contents">
418
+ <item level="" id="{@id}" display="false">
419
+ <xsl:attribute name="section">
420
+ <xsl:variable name="title-formula">
421
+ <xsl:call-template name="getTitle">
422
+ <xsl:with-param name="name" select="'title-formula'"/>
423
+ </xsl:call-template>
424
+ </xsl:variable>
425
+ <xsl:value-of select="$title-formula"/><xsl:number format="(A.1)" level="multiple" count="un:annex | un:formula"/>
426
+ </xsl:attribute>
427
+ </item>
428
+ </xsl:template>
429
+
430
+ <xsl:template match="un:example" mode="contents">
431
+ <xsl:variable name="level">
432
+ <xsl:call-template name="getLevel"/>
433
+ </xsl:variable>
434
+ <xsl:variable name="section">
435
+ <xsl:call-template name="getSection"/>
436
+ </xsl:variable>
437
+
438
+ <xsl:variable name="parent-element" select="local-name(..)"/>
439
+ <item level="" id="{@id}" display="false" type="Example" section="{$section}">
440
+ <xsl:attribute name="parent">
441
+ <xsl:choose>
442
+ <xsl:when test="$parent-element = 'clause'">Clause</xsl:when>
443
+ <xsl:otherwise/>
444
+ </xsl:choose>
445
+ </xsl:attribute>
446
+ </item>
447
+ <xsl:apply-templates mode="contents"/>
448
+ </xsl:template>
449
+
450
+ <xsl:template match="un:terms" mode="contents">
451
+ <item level="" id="{@id}" display="false" type="Terms">
452
+ <xsl:if test="ancestor::un:annex">
453
+ <xsl:attribute name="section">
454
+ <xsl:variable name="title-appendix">
455
+ <xsl:call-template name="getTitle">
456
+ <xsl:with-param name="name" select="'title-appendix'"/>
457
+ </xsl:call-template>
458
+ </xsl:variable>
459
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
460
+ </xsl:attribute>
461
+ </xsl:if>
462
+ </item>
463
+ </xsl:template>
464
+
465
+ <xsl:template match="un:references" mode="contents">
466
+ <item level="" id="{@id}" display="false" type="References">
467
+ <xsl:if test="ancestor::un:annex">
468
+ <xsl:attribute name="section">
469
+ <xsl:variable name="title-appendix">
470
+ <xsl:call-template name="getTitle">
471
+ <xsl:with-param name="name" select="'title-appendix'"/>
472
+ </xsl:call-template>
473
+ </xsl:variable>
474
+ <xsl:value-of select="$title-appendix"/><xsl:number format="A" count="un:annex"/>
475
+ </xsl:attribute>
476
+ </xsl:if>
477
+ </item>
478
+ </xsl:template>
479
+
480
+ <xsl:template match="un:admonition" mode="contents">
481
+ <item level="" id="{@id}" display="false" type="Box">
482
+ <xsl:attribute name="section">
483
+ <xsl:variable name="num">
484
+ <xsl:number/>
485
+ </xsl:variable>
486
+ <xsl:variable name="title-box">
487
+ <xsl:call-template name="getTitle">
488
+ <xsl:with-param name="name" select="'title-box'"/>
489
+ </xsl:call-template>
490
+ </xsl:variable>
491
+ <xsl:value-of select="$title-box"/><xsl:value-of select="$num"/>
492
+ </xsl:attribute>
493
+ </item>
494
+ </xsl:template>
495
+
496
+ <!-- ============================= -->
497
+ <!-- ============================= -->
498
+
499
+
500
+ <!-- ============================= -->
501
+ <!-- PARAGRAPHS -->
502
+ <!-- ============================= -->
503
+
504
+ <xsl:template match="un:preface/un:abstract">
505
+ <fo:block>
506
+ <fo:table table-layout="fixed" width="100%" border="0.5pt solid black">
507
+ <fo:table-column column-width="19mm"/>
508
+ <fo:table-column column-width="134mm"/>
509
+ <fo:table-column column-width="17mm"/>
510
+ <fo:table-body>
511
+ <fo:table-row>
512
+ <fo:table-cell padding-left="6mm" padding-top="2.5mm">
513
+ <xsl:variable name="title-summary">
514
+ <xsl:call-template name="getTitle">
515
+ <xsl:with-param name="name" select="'title-summary'"/>
516
+ </xsl:call-template>
517
+ </xsl:variable>
518
+ <fo:block font-size="12pt" font-style="italic" margin-bottom="6pt"><xsl:value-of select="$title-summary"/></fo:block>
519
+ </fo:table-cell>
520
+ <fo:table-cell>
521
+ <fo:block> </fo:block>
522
+ </fo:table-cell>
523
+ <fo:table-cell>
524
+ <fo:block> </fo:block>
525
+ </fo:table-cell>
526
+ </fo:table-row>
527
+ <fo:table-row>
528
+ <fo:table-cell>
529
+ <fo:block> </fo:block>
530
+ </fo:table-cell>
531
+ <fo:table-cell text-align="justify" padding-bottom="12pt" padding-right="3mm">
532
+ <fo:block font-size="10pt" line-height="120%"><xsl:apply-templates/></fo:block>
533
+ </fo:table-cell>
534
+ <fo:table-cell>
535
+ <fo:block> </fo:block>
536
+ </fo:table-cell>
537
+ </fo:table-row>
538
+ </fo:table-body>
539
+ </fo:table>
540
+ </fo:block>
541
+ </xsl:template>
542
+
543
+ <xsl:template match="un:abstract//un:p" priority="2">
544
+ <fo:block margin-bottom="6pt">
545
+ <xsl:attribute name="text-align">
546
+ <xsl:choose>
547
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
548
+ <xsl:otherwise>justify</xsl:otherwise>
549
+ </xsl:choose>
550
+ </xsl:attribute>
551
+ <xsl:apply-templates/>
552
+ </fo:block>
553
+ </xsl:template>
554
+
555
+ <xsl:template match="un:preface//un:p">
556
+ <fo:block margin-bottom="12pt">
557
+ <xsl:attribute name="text-align">
558
+ <xsl:choose>
559
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
560
+ <xsl:otherwise>left</xsl:otherwise>
561
+ </xsl:choose>
562
+ </xsl:attribute>
563
+ <!-- <xsl:choose>
564
+ <xsl:when test="ancestor::un:sections">
565
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/></fo:inline>
566
+ </xsl:when>
567
+ <xsl:when test="ancestor::un:annex">
568
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
569
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:clause/un:p"/></fo:inline>
570
+ </xsl:when>
571
+ </xsl:choose> -->
572
+ <xsl:apply-templates/>
573
+ </fo:block>
574
+ </xsl:template>
575
+
576
+
577
+ <xsl:template match="un:p[ancestor::un:table]">
578
+ <fo:block>
579
+ <xsl:apply-templates/>
580
+ </fo:block>
581
+ </xsl:template>
582
+
583
+ <xsl:template match="un:p">
584
+ <fo:block-container margin-left="1mm">
585
+ <fo:block margin-left="-1mm">
586
+ <fo:list-block provisional-distance-between-starts="9mm" margin-bottom="6pt" line-height="122%">
587
+ <xsl:attribute name="text-align">
588
+ <xsl:choose>
589
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
590
+ <xsl:otherwise>justify</xsl:otherwise>
591
+ </xsl:choose>
592
+ </xsl:attribute>
593
+ <fo:list-item>
594
+ <fo:list-item-label end-indent="label-end()">
595
+ <fo:block>
596
+ <xsl:choose>
597
+ <xsl:when test="ancestor::un:sections">
598
+ <xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/>
599
+ </xsl:when>
600
+ <xsl:when test="ancestor::un:annex">
601
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
602
+ <xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:p"/> <!-- //un:clause -->
603
+ </xsl:when>
604
+ </xsl:choose>
605
+ </fo:block>
606
+ </fo:list-item-label>
607
+ <fo:list-item-body text-indent="body-start()">
608
+ <fo:block>
609
+ <xsl:text> </xsl:text><xsl:apply-templates/>
610
+ </fo:block>
611
+ </fo:list-item-body>
612
+ </fo:list-item>
613
+ </fo:list-block>
614
+ </fo:block>
615
+ </fo:block-container>
616
+ </xsl:template>
617
+
618
+ <xsl:template match="text()">
619
+ <xsl:value-of select="."/>
620
+ </xsl:template>
621
+
622
+ <xsl:template match="un:title/un:fn | un:p/un:fn[not(ancestor::un:table)] | un:figure/un:name/un:fn" priority="2">
623
+ <fo:footnote keep-with-previous.within-line="always">
624
+ <xsl:variable name="number">
625
+ <xsl:number level="any" count="un:fn[not(ancestor::un:table)]"/>
626
+ </xsl:variable>
627
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
628
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
629
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
630
+ </fo:basic-link>
631
+ </fo:inline>
632
+ <fo:footnote-body>
633
+ <fo:block-container margin-left="-8mm">
634
+ <fo:block font-size="9pt" text-align="justify" line-height="125%" font-weight="normal" text-indent="0" margin-left="8mm">
635
+ <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" keep-with-next.within-line="always" vertical-align="super" padding-right="8mm"> <!-- alignment-baseline="hanging" -->
636
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
637
+ </fo:inline>
638
+ <xsl:for-each select="un:p">
639
+ <xsl:apply-templates/>
640
+ </xsl:for-each>
641
+ </fo:block>
642
+ </fo:block-container>
643
+ </fo:footnote-body>
644
+ </fo:footnote>
645
+ </xsl:template>
646
+
647
+ <xsl:template match="un:fn/un:p">
648
+ <fo:block>
649
+ <xsl:apply-templates/>
650
+ </fo:block>
651
+ </xsl:template>
652
+
653
+ <xsl:template match="un:ul | un:ol">
654
+ <fo:block-container margin-left="8mm">
655
+ <fo:list-block provisional-distance-between-starts="3mm" margin-left="-8mm">
656
+ <xsl:apply-templates/>
657
+ </fo:list-block>
658
+ <xsl:apply-templates select="./un:note" mode="process"/>
659
+ </fo:block-container>
660
+ </xsl:template>
661
+
662
+ <xsl:template match="un:ul//un:note | un:ol//un:note"/>
663
+ <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process">
664
+ <fo:block font-size="11pt" margin-top="4pt">
665
+ <xsl:variable name="title-note">
666
+ <xsl:call-template name="getTitle">
667
+ <xsl:with-param name="name" select="'title-note'"/>
668
+ </xsl:call-template>
669
+ </xsl:variable>
670
+ <xsl:value-of select="$title-note"/>
671
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
672
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
673
+ </xsl:if>
674
+ <xsl:text>– </xsl:text>
675
+ <xsl:apply-templates/>
676
+ </fo:block>
677
+ </xsl:template>
678
+
679
+ <xsl:template match="un:li">
680
+ <xsl:variable name="level">
681
+ <xsl:call-template name="getLevel"/>
682
+ </xsl:variable>
683
+ <fo:list-item>
684
+ <fo:list-item-label end-indent="label-end()">
685
+ <fo:block>
686
+ <xsl:choose>
687
+ <!-- <xsl:when test="local-name(..) = 'ul'">&#x2014;</xsl:when> --> <!-- dash -->
688
+ <xsl:when test="local-name(..) = 'ul'">•</xsl:when>
689
+ <xsl:otherwise> <!-- for ordered lists -->
690
+ <xsl:choose>
691
+ <xsl:when test="../@type = 'arabic'">
692
+ <xsl:number format="1."/>
693
+ </xsl:when>
694
+ <xsl:when test="../@type = 'alphabet'">
695
+ <xsl:number format="1)"/>
696
+ </xsl:when>
697
+ <xsl:when test="ancestor::*[un:annex]">
698
+ <xsl:choose>
699
+ <xsl:when test="$level = 1">
700
+ <xsl:number format="a)"/>
701
+ </xsl:when>
702
+ <xsl:when test="$level = 2">
703
+ <xsl:number format="i)"/>
704
+ </xsl:when>
705
+ <xsl:otherwise>
706
+ <xsl:number format="1.)"/>
707
+ </xsl:otherwise>
708
+ </xsl:choose>
709
+ </xsl:when>
710
+ <xsl:otherwise>
711
+ <xsl:number format="1."/>
712
+ </xsl:otherwise>
713
+ </xsl:choose>
714
+ </xsl:otherwise>
715
+ </xsl:choose>
716
+ </fo:block>
717
+ </fo:list-item-label>
718
+ <fo:list-item-body start-indent="body-start()">
719
+ <xsl:apply-templates/>
720
+ <xsl:apply-templates select=".//un:note" mode="process"/>
721
+ </fo:list-item-body>
722
+ </fo:list-item>
723
+ </xsl:template>
724
+
725
+ <xsl:template match="un:li//un:p">
726
+ <fo:block margin-bottom="6pt" line-height="122%" text-align="justify">
727
+ <xsl:apply-templates/>
728
+ </fo:block>
729
+ </xsl:template>
730
+
731
+ <xsl:template match="un:link" priority="2">
732
+ <fo:inline>
733
+ <xsl:if test="ancestor::un:fn and string-length(@target) &gt; 110">
734
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
735
+ </xsl:if>
736
+ <xsl:call-template name="link"/>
737
+ </fo:inline>
738
+ </xsl:template>
739
+
740
+ <xsl:template match="un:xref">
741
+ <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
742
+ <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
743
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">
744
+ <xsl:choose>
745
+ <xsl:when test="$section != ''"><xsl:value-of select="$section"/></xsl:when>
746
+ <xsl:otherwise>???</xsl:otherwise>
747
+ </xsl:choose>
748
+ </fo:basic-link>
749
+ </xsl:template>
750
+
751
+ <xsl:template match="un:admonition">
752
+ <xsl:variable name="title-box">
753
+ <xsl:call-template name="getTitle">
754
+ <xsl:with-param name="name" select="'title-box'"/>
755
+ </xsl:call-template>
756
+ </xsl:variable>
757
+ <fo:block text-align="center" font-style="italic" keep-with-next="always" margin-bottom="6pt">
758
+ <xsl:value-of select="$title-box"/><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
759
+ </fo:block>
760
+ <fo:block-container border="0.25pt solid black" margin-left="-3mm" margin-right="-3mm" padding-top="4mm">
761
+ <fo:block id="{@id}" font-weight="bold" margin-left="6mm" margin-right="6mm" keep-with-next="always">
762
+ <xsl:value-of select="$title-box"/><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
763
+ </fo:block>
764
+ <!-- <fo:block margin-left="5mm" margin-right="5mm"> -->
765
+ <fo:block-container margin-left="2mm" margin-right="2mm">
766
+ <fo:block-container margin-left="0mm" margin-right="0mm">
767
+ <xsl:apply-templates/>
768
+ </fo:block-container>
769
+ </fo:block-container>
770
+ </fo:block-container>
771
+ <fo:block margin-bottom="4pt"> </fo:block>
772
+ </xsl:template>
773
+
774
+ <xsl:template match="un:admonition/un:name"/>
775
+ <xsl:template match="un:admonition/un:name" mode="process">
776
+ <xsl:apply-templates/>
777
+ </xsl:template>
778
+
779
+ <xsl:template match="un:admonition/un:p">
780
+ <fo:block text-align="justify" margin-bottom="6pt" line-height="122%"><xsl:apply-templates/></fo:block>
781
+ </xsl:template>
782
+
783
+ <!-- ============================= -->
784
+ <!-- ============================= -->
785
+
786
+
787
+ <xsl:template match="un:un-standard/un:sections/*">
788
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
789
+ <fo:block>
790
+ <xsl:if test="$num = 1">
791
+ <xsl:attribute name="margin-top">20pt</xsl:attribute>
792
+ </xsl:if>
793
+ <xsl:variable name="sectionNum"><xsl:number count="*"/></xsl:variable>
794
+ <xsl:apply-templates>
795
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
796
+ </xsl:apply-templates>
797
+ </fo:block>
798
+ <!-- -->
799
+ </xsl:template>
800
+
801
+
802
+ <xsl:template match="/un:un-standard/un:annex">
803
+ <fo:block break-after="page"/>
804
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
805
+
806
+ <!-- <fo:block-container border-bottom="0.5pt solid black">
807
+ <fo:block>&#xA0;</fo:block>
808
+ </fo:block-container>
809
+ <fo:block margin-bottom="12pt">&#xA0;</fo:block> -->
810
+
811
+ <fo:block>
812
+ <xsl:if test="$num = 1">
813
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
814
+ </xsl:if>
815
+ <xsl:if test="not(un:title)">
816
+ <xsl:variable name="section">
817
+ <xsl:for-each select="*[1]">
818
+ <xsl:call-template name="getSection"/>
819
+ </xsl:for-each>
820
+ </xsl:variable>
821
+ <fo:block id="{@id}" font-size="14pt" font-weight="bold" space-before="3pt" margin-bottom="18pt" keep-with-next="always">
822
+ <xsl:value-of select="$section"/>
823
+ </fo:block>
824
+ </xsl:if>
825
+ <xsl:apply-templates/>
826
+ </fo:block>
827
+ </xsl:template>
828
+
829
+
830
+ <xsl:template match="un:title">
831
+ <xsl:variable name="id">
832
+ <xsl:call-template name="getId"/>
833
+ </xsl:variable>
834
+
835
+ <xsl:variable name="level">
836
+ <xsl:call-template name="getLevel"/>
837
+ </xsl:variable>
838
+
839
+ <xsl:variable name="font-size">
840
+ <xsl:choose>
841
+ <xsl:when test="$level = 1 and ancestor::un:preface">14pt</xsl:when>
842
+ <xsl:when test="$level = 1 and ancestor::un:annex">12pt</xsl:when>
843
+ <xsl:when test="$level = 2 and ancestor::un:annex">10pt</xsl:when>
844
+ <xsl:when test="$level = 1">14pt</xsl:when>
845
+ <xsl:when test="$level = 2">12pt</xsl:when>
846
+ <xsl:when test="$level = 3">10pt</xsl:when>
847
+ <xsl:otherwise>11pt</xsl:otherwise>
848
+ </xsl:choose>
849
+ </xsl:variable>
850
+
851
+ <xsl:variable name="section">
852
+ <xsl:call-template name="getSection"/>
853
+ </xsl:variable>
854
+
855
+ <xsl:choose>
856
+ <xsl:when test="ancestor::un:preface">
857
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-top="3pt" margin-bottom="16pt" keep-with-next="always">
858
+ <xsl:apply-templates/>
859
+ </fo:block>
860
+ </xsl:when>
861
+ <xsl:when test="ancestor::un:sections and $level = 1">
862
+ <fo:block-container margin-left="-16mm">
863
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="16mm" space-before="16pt" margin-bottom="13pt" keep-with-next="always">
864
+ <fo:table table-layout="fixed" width="100%">
865
+ <fo:table-column column-width="16mm"/>
866
+ <fo:table-column column-width="130mm"/>
867
+ <fo:table-body>
868
+ <fo:table-row>
869
+ <fo:table-cell>
870
+ <fo:block text-align="center">
871
+ <xsl:value-of select="$section"/>
872
+ </fo:block>
873
+ </fo:table-cell>
874
+ <fo:table-cell>
875
+ <fo:block>
876
+ <xsl:apply-templates/>
877
+ </fo:block>
878
+ </fo:table-cell>
879
+ </fo:table-row>
880
+ </fo:table-body>
881
+ </fo:table>
882
+ </fo:block>
883
+ </fo:block-container>
884
+ </xsl:when>
885
+ <xsl:when test="ancestor::un:sections">
886
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="16pt" margin-bottom="13pt" text-indent="-8mm" keep-with-next="always">
887
+ <xsl:if test="$level = 2">
888
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
889
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
890
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
891
+ </xsl:if>
892
+ <xsl:if test="$level = 3">
893
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
894
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
895
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
896
+ </xsl:if>
897
+ <fo:list-block provisional-distance-between-starts="8mm">
898
+ <fo:list-item>
899
+ <fo:list-item-label end-indent="label-end()">
900
+ <fo:block>
901
+ <xsl:value-of select="$section"/>
902
+ </fo:block>
903
+ </fo:list-item-label>
904
+ <fo:list-item-body start-indent="body-start()">
905
+ <fo:block>
906
+ <xsl:apply-templates/>
907
+ </fo:block>
908
+ </fo:list-item-body>
909
+ </fo:list-item>
910
+ </fo:list-block>
911
+ </fo:block>
912
+ </xsl:when>
913
+ <xsl:when test="ancestor::un:annex and $level = 1">
914
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="3pt" keep-with-next="always">
915
+ <fo:block margin-bottom="18pt">
916
+ <xsl:value-of select="$section"/>
917
+ </fo:block>
918
+ <fo:block margin-bottom="12pt">
919
+ <xsl:apply-templates/>
920
+ </fo:block>
921
+ </fo:block>
922
+ </xsl:when>
923
+ <xsl:when test="ancestor::un:annex and $level &gt;= 2">
924
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="1mm" space-before="3pt" margin-bottom="6pt" keep-with-next="always">
925
+ <xsl:apply-templates/>
926
+ </fo:block>
927
+ </xsl:when>
928
+ <xsl:otherwise>
929
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" text-align="left" keep-with-next="always">
930
+ <fo:inline><xsl:value-of select="$section"/></fo:inline>
931
+ <xsl:apply-templates/>
932
+ </fo:block>
933
+ </xsl:otherwise>
934
+ </xsl:choose>
935
+ </xsl:template>
936
+
937
+ <!-- ============================ -->
938
+ <!-- for further use -->
939
+ <!-- ============================ -->
940
+ <xsl:template match="un:recommendation">
941
+ <fo:block margin-left="20mm">
942
+ <fo:block font-weight="bold">
943
+ <xsl:variable name="title-recommendation">
944
+ <xsl:call-template name="getTitle">
945
+ <xsl:with-param name="name" select="'title-recommendation'"/>
946
+ </xsl:call-template>
947
+ </xsl:variable>
948
+ <xsl:value-of select="$title-recommendation"/>
949
+ <xsl:choose>
950
+ <xsl:when test="ancestor::un:sections">
951
+ <xsl:number level="any" count="un:sections//un:recommendation"/>
952
+ </xsl:when>
953
+ <xsl:when test="ancestor::*[local-name()='annex']">
954
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
955
+ <xsl:number format="A-" count="un:annex"/>
956
+ <xsl:number format="1" level="any" count="un:recommendation[ancestor::un:annex[@id = $annex-id]]"/>
957
+ <!-- <xsl:number format="A-1" level="multiple" count="un:annex | un:recommendation"/> -->
958
+ </xsl:when>
959
+ </xsl:choose>
960
+ <xsl:text>:</xsl:text>
961
+ </fo:block>
962
+ <xsl:apply-templates/>
963
+ </fo:block>
964
+ </xsl:template>
965
+
966
+
967
+ <xsl:template match="un:bibitem">
968
+ <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
969
+ <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
970
+ <xsl:if test="un:title">
971
+ <fo:inline font-style="italic">
972
+ <xsl:text>, </xsl:text>
973
+ <xsl:choose>
974
+ <xsl:when test="un:title[@type = 'main' and @language = 'en']">
975
+ <xsl:value-of select="un:title[@type = 'main' and @language = 'en']"/>
976
+ </xsl:when>
977
+ <xsl:otherwise>
978
+ <xsl:value-of select="un:title"/>
979
+ </xsl:otherwise>
980
+ </xsl:choose>
981
+ </fo:inline>
982
+ </xsl:if>
983
+ <xsl:apply-templates select="un:formattedref"/>
984
+ </fo:block>
985
+ </xsl:template>
986
+ <xsl:template match="un:bibitem/un:docidentifier"/>
987
+
988
+ <xsl:template match="un:bibitem/un:title"/>
989
+
990
+ <xsl:template match="un:formattedref">
991
+ <xsl:text>, </xsl:text><xsl:apply-templates/>
992
+ </xsl:template>
993
+
994
+
995
+ <xsl:template match="*[local-name()='tt']">
996
+ <xsl:variable name="element-name">
997
+ <xsl:choose>
998
+ <xsl:when test="normalize-space(ancestor::un:p[1]//text()[not(parent::un:tt)]) != ''">fo:inline</xsl:when>
999
+ <xsl:otherwise>fo:block</xsl:otherwise>
1000
+ </xsl:choose>
1001
+ </xsl:variable>
1002
+ <xsl:element name="{$element-name}">
1003
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1004
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1005
+ <xsl:attribute name="text-align">center</xsl:attribute>
1006
+ <xsl:apply-templates/>
1007
+ </xsl:element>
1008
+ </xsl:template>
1009
+
1010
+
1011
+ <xsl:template match="un:figure">
1012
+ <fo:block-container id="{@id}">
1013
+ <fo:block>
1014
+ <xsl:apply-templates/>
1015
+ </fo:block>
1016
+ <xsl:if test="un:name">
1017
+ <fo:block text-align="center" margin-bottom="6pt" keep-with-previous="always">
1018
+ <xsl:variable name="title-figure">
1019
+ <xsl:call-template name="getTitle">
1020
+ <xsl:with-param name="name" select="'title-figure'"/>
1021
+ </xsl:call-template>
1022
+ </xsl:variable>
1023
+ <xsl:value-of select="$title-figure"/>
1024
+ <xsl:choose>
1025
+ <xsl:when test="ancestor::un:annex">
1026
+ <xsl:choose>
1027
+ <xsl:when test="count(//un:annex) = 1">
1028
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
1029
+ </xsl:when>
1030
+ <xsl:otherwise>
1031
+ <xsl:number format="A-1-1" level="multiple" count="un:annex | un:figure"/>
1032
+ </xsl:otherwise>
1033
+ </xsl:choose>
1034
+ </xsl:when>
1035
+ <xsl:when test="ancestor::un:figure">
1036
+ <xsl:for-each select="parent::*[1]">
1037
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1038
+ </xsl:for-each>
1039
+ <xsl:number format="-a" count="un:figure"/>
1040
+ </xsl:when>
1041
+ <xsl:otherwise>
1042
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1043
+ </xsl:otherwise>
1044
+ </xsl:choose>
1045
+ <xsl:if test="un:name">
1046
+ <xsl:text>: </xsl:text>
1047
+ <xsl:apply-templates select="un:name" mode="process"/>
1048
+ </xsl:if>
1049
+ </fo:block>
1050
+ </xsl:if>
1051
+
1052
+ <!-- <xsl:call-template name="fn_display_figure"/> -->
1053
+ <xsl:for-each select="un:note//un:p">
1054
+ <xsl:call-template name="note"/>
1055
+ </xsl:for-each>
1056
+ </fo:block-container>
1057
+ </xsl:template>
1058
+
1059
+ <xsl:template match="un:figure/un:name"/>
1060
+ <xsl:template match="un:figure/un:name" mode="process">
1061
+ <xsl:apply-templates/>
1062
+ </xsl:template>
1063
+ <xsl:template match="un:figure/un:fn" priority="2"/>
1064
+ <xsl:template match="un:figure/un:note"/>
1065
+
1066
+
1067
+ <xsl:template match="un:image">
1068
+ <fo:block text-align="center" margin-bottom="12pt" keep-with-next="always" border="2pt solid black">
1069
+ <fo:external-graphic src="{@src}" fox:alt-text="Image" width="100%" content-height="100%" content-width="scale-to-fit" scaling="uniform"/>
1070
+ </fo:block>
1071
+ </xsl:template>
1072
+
1073
+
1074
+ <!-- Examples:
1075
+ [b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
1076
+ [b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
1077
+ -->
1078
+ <xsl:template match="un:annex//un:bibitem">
1079
+ <fo:block id="{@id}" margin-top="6pt" margin-left="12mm" text-indent="-12mm">
1080
+ <xsl:if test="un:formattedref">
1081
+ <xsl:choose>
1082
+ <xsl:when test="un:docidentifier[@type = 'metanorma']">
1083
+ <xsl:attribute name="margin-left">0</xsl:attribute>
1084
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1085
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1086
+ <!-- create list -->
1087
+ <fo:list-block>
1088
+ <fo:list-item>
1089
+ <fo:list-item-label end-indent="label-end()">
1090
+ <fo:block>
1091
+ <xsl:apply-templates select="un:docidentifier[@type = 'metanorma']" mode="process"/>
1092
+ </fo:block>
1093
+ </fo:list-item-label>
1094
+ <fo:list-item-body start-indent="body-start()">
1095
+ <fo:block margin-left="3mm">
1096
+ <xsl:apply-templates select="un:formattedref"/>
1097
+ </fo:block>
1098
+ </fo:list-item-body>
1099
+ </fo:list-item>
1100
+ </fo:list-block>
1101
+ </xsl:when>
1102
+ <xsl:otherwise>
1103
+ <xsl:apply-templates select="un:formattedref"/>
1104
+ <xsl:apply-templates select="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process"/>
1105
+ </xsl:otherwise>
1106
+ </xsl:choose>
1107
+ </xsl:if>
1108
+ <xsl:if test="un:title">
1109
+ <xsl:for-each select="un:contributor">
1110
+ <xsl:value-of select="un:organization/un:name"/>
1111
+ <xsl:if test="position() != last()">, </xsl:if>
1112
+ </xsl:for-each>
1113
+ <xsl:text> (</xsl:text>
1114
+ <xsl:variable name="date">
1115
+ <xsl:choose>
1116
+ <xsl:when test="un:date[@type='issued']">
1117
+ <xsl:value-of select="un:date[@type='issued']/un:on"/>
1118
+ </xsl:when>
1119
+ <xsl:otherwise>
1120
+ <xsl:value-of select="un:date/un:on"/>
1121
+ </xsl:otherwise>
1122
+ </xsl:choose>
1123
+ </xsl:variable>
1124
+ <xsl:value-of select="$date"/>
1125
+ <xsl:text>) </xsl:text>
1126
+ <fo:inline font-style="italic"><xsl:value-of select="un:title"/></fo:inline>
1127
+ <xsl:if test="un:contributor[un:role/@type='publisher']/un:organization/un:name">
1128
+ <xsl:text> (</xsl:text><xsl:value-of select="un:contributor[un:role/@type='publisher']/un:organization/un:name"/><xsl:text>)</xsl:text>
1129
+ </xsl:if>
1130
+ <xsl:text>, </xsl:text>
1131
+ <xsl:value-of select="$date"/>
1132
+ <xsl:text>. </xsl:text>
1133
+ <xsl:value-of select="un:docidentifier"/>
1134
+ <xsl:value-of select="$linebreak"/>
1135
+ <xsl:value-of select="un:uri"/>
1136
+ </xsl:if>
1137
+ </fo:block>
1138
+ </xsl:template>
1139
+
1140
+ <xsl:template match="un:annex//un:bibitem//un:formattedref">
1141
+ <xsl:apply-templates/>
1142
+ </xsl:template>
1143
+
1144
+ <xsl:template match="un:docidentifier[@type = 'metanorma']" mode="process">
1145
+ <xsl:apply-templates/>
1146
+ </xsl:template>
1147
+ <xsl:template match="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process">
1148
+ <xsl:text> [</xsl:text><xsl:apply-templates/><xsl:text>]</xsl:text>
1149
+ </xsl:template>
1150
+ <xsl:template match="un:docidentifier"/>
1151
+
1152
+ <xsl:template match="un:note/un:p | un:annex//un:note/un:p" name="note">
1153
+ <fo:block font-size="10pt" space-after="12pt" text-indent="0">
1154
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
1155
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1156
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1157
+ <xsl:attribute name="padding-top">0mm</xsl:attribute>
1158
+ <fo:inline>
1159
+ <xsl:call-template name="capitalize">
1160
+ <xsl:with-param name="str" select="../@type"/>
1161
+ </xsl:call-template>
1162
+ <xsl:text>: </xsl:text>
1163
+ </fo:inline>
1164
+ </xsl:if>
1165
+ <xsl:variable name="title-note">
1166
+ <xsl:call-template name="getTitle">
1167
+ <xsl:with-param name="name" select="'title-note'"/>
1168
+ </xsl:call-template>
1169
+ </xsl:variable>
1170
+ <fo:inline padding-right="4mm"><xsl:value-of select="$title-note"/>
1171
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
1172
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
1173
+ </xsl:if>
1174
+ </fo:inline>
1175
+ <xsl:apply-templates/>
1176
+ </fo:block>
1177
+ </xsl:template>
1178
+
1179
+ <xsl:template match="un:termnote">
1180
+ <fo:block margin-top="4pt">
1181
+ <xsl:variable name="title-note">
1182
+ <xsl:call-template name="getTitle">
1183
+ <xsl:with-param name="name" select="'title-note'"/>
1184
+ </xsl:call-template>
1185
+ </xsl:variable>
1186
+ <xsl:value-of select="$title-note"/>
1187
+ <xsl:if test="following-sibling::un:termnote or preceding-sibling::un:termnote">
1188
+ <xsl:number/><xsl:text> </xsl:text>
1189
+ </xsl:if>
1190
+ <xsl:text>– </xsl:text>
1191
+ <xsl:apply-templates/>
1192
+ </fo:block>
1193
+ </xsl:template>
1194
+
1195
+ <xsl:template match="un:termnote/un:p">
1196
+ <xsl:apply-templates/>
1197
+ </xsl:template>
1198
+
1199
+
1200
+ <xsl:template match="un:formula" name="formula">
1201
+ <fo:block id="{@id}" margin-top="6pt">
1202
+ <fo:table table-layout="fixed" width="100%">
1203
+ <fo:table-column column-width="95%"/>
1204
+ <fo:table-column column-width="5%"/>
1205
+ <fo:table-body>
1206
+ <fo:table-row>
1207
+ <fo:table-cell>
1208
+ <fo:block text-align="center">
1209
+ <xsl:if test="ancestor::un:annex">
1210
+ <xsl:attribute name="text-align">left</xsl:attribute>
1211
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
1212
+ </xsl:if>
1213
+ <xsl:apply-templates/>
1214
+ </fo:block>
1215
+ </fo:table-cell>
1216
+ <fo:table-cell> <!-- display-align="center" -->
1217
+ <fo:block text-align="right">
1218
+ <xsl:if test="not(ancestor::un:annex)">
1219
+ <xsl:number format="(1)" level="any"/>
1220
+ </xsl:if>
1221
+ <xsl:if test="ancestor::un:annex">
1222
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
1223
+ <xsl:text>(</xsl:text>
1224
+ <xsl:number format="A-" count="un:annex"/>
1225
+ <xsl:number format="1" level="any" count="un:formula[ancestor::un:annex[@id = $annex-id]]"/>
1226
+ <xsl:text>)</xsl:text>
1227
+ </xsl:if>
1228
+ </fo:block>
1229
+ </fo:table-cell>
1230
+ </fo:table-row>
1231
+ </fo:table-body>
1232
+ </fo:table>
1233
+ <fo:inline keep-together.within-line="always">
1234
+ </fo:inline>
1235
+ </fo:block>
1236
+ </xsl:template>
1237
+
1238
+ <xsl:template match="un:formula" mode="process">
1239
+ <xsl:call-template name="formula"/>
1240
+ </xsl:template>
1241
+
1242
+ <xsl:template match="un:example">
1243
+ <xsl:variable name="title-example">
1244
+ <xsl:call-template name="getTitle">
1245
+ <xsl:with-param name="name" select="'title-example'"/>
1246
+ </xsl:call-template>
1247
+ </xsl:variable>
1248
+ <fo:block id="{@id}" font-size="10pt" font-weight="bold" margin-bottom="12pt"><xsl:value-of select="$title-example"/></fo:block>
1249
+ <fo:block font-size="11pt" margin-top="12pt" margin-bottom="12pt" margin-left="15mm">
1250
+ <xsl:apply-templates/>
1251
+ </fo:block>
1252
+ </xsl:template>
1253
+ <xsl:template match="un:example/un:p">
1254
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
1255
+ <fo:block margin-bottom="12pt">
1256
+ <xsl:if test="$num = 1">
1257
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
1258
+ </xsl:if>
1259
+ <xsl:apply-templates/>
1260
+ </fo:block>
1261
+ </xsl:template>
1262
+
1263
+ <xsl:template match="un:eref">
1264
+ <!-- <fo:inline color="blue"> -->
1265
+ <fo:basic-link internal-destination="{@bibitemid}" color="blue" fox:alt-text="{@citeas}">
1266
+ <xsl:if test="@type = 'footnote'">
1267
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1268
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1269
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1270
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1271
+ </xsl:if>
1272
+ <xsl:if test="@type = 'inline'">
1273
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1274
+ </xsl:if>
1275
+ <xsl:text>[</xsl:text><xsl:value-of select="@citeas"/><xsl:text>]</xsl:text> <!-- disable-output-escaping="yes" -->
1276
+
1277
+ <xsl:apply-templates select="un:localityStack"/>
1278
+
1279
+ </fo:basic-link>
1280
+ <!-- </fo:inline> -->
1281
+ </xsl:template>
1282
+
1283
+ <xsl:template match="un:locality">
1284
+ <xsl:variable name="title-section">
1285
+ <xsl:call-template name="getTitle">
1286
+ <xsl:with-param name="name" select="'title-section'"/>
1287
+ </xsl:call-template>
1288
+ </xsl:variable>
1289
+ <xsl:variable name="title-clause">
1290
+ <xsl:call-template name="getTitle">
1291
+ <xsl:with-param name="name" select="'title-clause'"/>
1292
+ </xsl:call-template>
1293
+ </xsl:variable>
1294
+ <xsl:choose>
1295
+ <xsl:when test="@type = 'section'"><xsl:value-of select="$title-section"/></xsl:when>
1296
+ <xsl:when test="@type = 'clause'"><xsl:value-of select="$title-clause"/></xsl:when>
1297
+ <xsl:otherwise/>
1298
+ </xsl:choose>
1299
+ <xsl:text> </xsl:text><xsl:value-of select="un:referenceFrom"/>
1300
+ </xsl:template>
1301
+
1302
+
1303
+ <xsl:template match="un:terms[un:term[un:preferred and un:definition]]">
1304
+ <fo:block id="{@id}">
1305
+ <fo:table width="100%" table-layout="fixed">
1306
+ <fo:table-column column-width="22%"/>
1307
+ <fo:table-column column-width="78%"/>
1308
+ <fo:table-body>
1309
+ <xsl:apply-templates mode="table"/>
1310
+ </fo:table-body>
1311
+ </fo:table>
1312
+ </fo:block>
1313
+ </xsl:template>
1314
+ <xsl:template match="un:term" mode="table">
1315
+ <fo:table-row id="{@id}">
1316
+ <fo:table-cell padding-right="1mm">
1317
+ <fo:block margin-bottom="12pt">
1318
+ <xsl:apply-templates select="un:preferred"/>
1319
+ </fo:block>
1320
+ </fo:table-cell>
1321
+ <fo:table-cell>
1322
+ <fo:block margin-bottom="12pt">
1323
+ <xsl:apply-templates select="un:*[local-name(.) != 'preferred']"/>
1324
+ </fo:block>
1325
+ </fo:table-cell>
1326
+ </fo:table-row>
1327
+ </xsl:template>
1328
+ <xsl:template match="un:preferred">
1329
+ <fo:inline>
1330
+ <xsl:apply-templates/>
1331
+ </fo:inline>
1332
+ </xsl:template>
1333
+ <xsl:template match="un:definition/un:p">
1334
+ <fo:block>
1335
+ <xsl:apply-templates/>
1336
+ </fo:block>
1337
+ </xsl:template>
1338
+
1339
+ <xsl:template match="un:errata">
1340
+ <!-- <row>
1341
+ <date>05-07-2013</date>
1342
+ <type>Editorial</type>
1343
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
1344
+ <pages>D-3</pages>
1345
+ </row>
1346
+ -->
1347
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
1348
+ <fo:table-column column-width="20mm"/>
1349
+ <fo:table-column column-width="23mm"/>
1350
+ <fo:table-column column-width="107mm"/>
1351
+ <fo:table-column column-width="15mm"/>
1352
+ <fo:table-body>
1353
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
1354
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
1355
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
1356
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
1357
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
1358
+ </fo:table-row>
1359
+ <xsl:apply-templates/>
1360
+ </fo:table-body>
1361
+ </fo:table>
1362
+ </xsl:template>
1363
+
1364
+ <xsl:template match="un:errata/un:row">
1365
+ <fo:table-row>
1366
+ <xsl:apply-templates/>
1367
+ </fo:table-row>
1368
+ </xsl:template>
1369
+
1370
+ <xsl:template match="un:errata/un:row/*">
1371
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
1372
+ <fo:block><xsl:apply-templates/></fo:block>
1373
+ </fo:table-cell>
1374
+ </xsl:template>
1375
+
1376
+ <xsl:template match="un:quote">
1377
+ <fo:block-container margin-left="7mm" margin-right="7mm">
1378
+ <xsl:apply-templates/>
1379
+ <xsl:apply-templates select="un:author" mode="process"/>
1380
+ </fo:block-container>
1381
+ </xsl:template>
1382
+
1383
+ <xsl:template match="un:quote/un:author"/>
1384
+ <xsl:template match="un:quote/un:p">
1385
+ <fo:block text-align="justify" margin-bottom="12pt">
1386
+ <xsl:apply-templates/>
1387
+ </fo:block>
1388
+ </xsl:template>
1389
+ <xsl:template match="un:quote/un:author" mode="process">
1390
+ <fo:block text-align="right" margin-left="0.5in" margin-right="0.5in">
1391
+ <fo:inline>— </fo:inline>
1392
+ <xsl:apply-templates/>
1393
+ </fo:block>
1394
+ </xsl:template>
1395
+
1396
+ <xsl:template match="un:references">
1397
+ <fo:block>
1398
+ <xsl:if test="not(un:title)">
1399
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1400
+ </xsl:if>
1401
+ <xsl:apply-templates/>
1402
+ </fo:block>
1403
+ </xsl:template>
1404
+
1405
+ <xsl:template match="un:dl" priority="2">
1406
+ <fo:block line-height="122%" margin-bottom="6pt">
1407
+ <xsl:apply-templates/>
1408
+ </fo:block>
1409
+ </xsl:template>
1410
+
1411
+ <xsl:template match="un:dt" priority="2">
1412
+ <fo:block margin-bottom="6pt">
1413
+ <xsl:apply-templates/>
1414
+ <xsl:apply-templates select="following-sibling::un:dd[1]" mode="dd"/>
1415
+ </fo:block>
1416
+ </xsl:template>
1417
+
1418
+ <xsl:template match="un:dd"/>
1419
+ <xsl:template match="un:dd" mode="dd">
1420
+ <fo:inline><xsl:apply-templates/></fo:inline>
1421
+ </xsl:template>
1422
+
1423
+ <xsl:template match="un:dd//un:p">
1424
+ <fo:inline><xsl:apply-templates/></fo:inline>
1425
+ </xsl:template>
1426
+ <!-- ============================ -->
1427
+ <!-- ============================ -->
1428
+
1429
+ <xsl:template name="insertHeaderFooter">
1430
+ <fo:static-content flow-name="header-odd">
1431
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1432
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1433
+ <xsl:value-of select="$id"/>
1434
+ </fo:block>
1435
+ </fo:block-container>
1436
+ </fo:static-content>
1437
+ <fo:static-content flow-name="footer-odd">
1438
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1439
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1440
+ </fo:block-container>
1441
+ </fo:static-content>
1442
+ <fo:static-content flow-name="header-even">
1443
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1444
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1445
+ <xsl:value-of select="$id"/>
1446
+ </fo:block>
1447
+ </fo:block-container>
1448
+ </fo:static-content>
1449
+ <fo:static-content flow-name="footer-even">
1450
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1451
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1452
+ </fo:block-container>
1453
+ </fo:static-content>
1454
+ </xsl:template>
1455
+
1456
+ <xsl:template name="getSection">
1457
+ <xsl:variable name="level">
1458
+ <xsl:call-template name="getLevel"/>
1459
+ </xsl:variable>
1460
+
1461
+ <xsl:variable name="section">
1462
+ <xsl:choose>
1463
+
1464
+ <xsl:when test="ancestor::un:sections">
1465
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
1466
+ <xsl:choose>
1467
+ <xsl:when test="$level = 1">
1468
+ <xsl:number format="I." count="//un:sections/un:clause"/>
1469
+ </xsl:when>
1470
+ <xsl:when test="$level = 2">
1471
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
1472
+ </xsl:when>
1473
+ <xsl:when test="$level &gt;= 3">
1474
+ <xsl:number format="1." count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
1475
+ </xsl:when>
1476
+ <xsl:otherwise>
1477
+ </xsl:otherwise>
1478
+ </xsl:choose>
1479
+ </xsl:when>
1480
+ <xsl:when test="ancestor::un:annex">
1481
+ <xsl:choose>
1482
+ <xsl:when test="$level = 1">
1483
+ <xsl:variable name="title-annex">
1484
+ <xsl:call-template name="getTitle">
1485
+ <xsl:with-param name="name" select="'title-annex'"/>
1486
+ </xsl:call-template>
1487
+ </xsl:variable>
1488
+ <xsl:choose>
1489
+ <xsl:when test="local-name() = 'title'">
1490
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($title-annex))"/>
1491
+ <xsl:number format="A" level="any" count="un:annex"/>
1492
+ </xsl:when>
1493
+ <xsl:otherwise><xsl:value-of select="normalize-space($title-annex)"/></xsl:otherwise>
1494
+ </xsl:choose>
1495
+ </xsl:when>
1496
+ <xsl:otherwise>
1497
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
1498
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
1499
+ </xsl:otherwise>
1500
+ </xsl:choose>
1501
+ </xsl:when>
1502
+ <xsl:otherwise>
1503
+ </xsl:otherwise>
1504
+ </xsl:choose>
1505
+ </xsl:variable>
1506
+ <xsl:value-of select="$section"/>
1507
+ </xsl:template>
1508
+
1509
+ <xsl:template name="number-to-words">
1510
+ <xsl:param name="number"/>
1511
+ <xsl:param name="first"/>
1512
+ <xsl:if test="$number != ''">
1513
+ <xsl:variable name="words">
1514
+ <words>
1515
+ <word cardinal="1">one-</word>
1516
+ <word ordinal="1">first </word>
1517
+ <word cardinal="2">two-</word>
1518
+ <word ordinal="2">second </word>
1519
+ <word cardinal="3">three-</word>
1520
+ <word ordinal="3">third </word>
1521
+ <word cardinal="4">four-</word>
1522
+ <word ordinal="4">fourth </word>
1523
+ <word cardinal="5">five-</word>
1524
+ <word ordinal="5">fifth </word>
1525
+ <word cardinal="6">six-</word>
1526
+ <word ordinal="6">sixth </word>
1527
+ <word cardinal="7">seven-</word>
1528
+ <word ordinal="7">seventh </word>
1529
+ <word cardinal="8">eight-</word>
1530
+ <word ordinal="8">eighth </word>
1531
+ <word cardinal="9">nine-</word>
1532
+ <word ordinal="9">ninth </word>
1533
+ <word ordinal="10">tenth </word>
1534
+ <word ordinal="11">eleventh </word>
1535
+ <word ordinal="12">twelfth </word>
1536
+ <word ordinal="13">thirteenth </word>
1537
+ <word ordinal="14">fourteenth </word>
1538
+ <word ordinal="15">fifteenth </word>
1539
+ <word ordinal="16">sixteenth </word>
1540
+ <word ordinal="17">seventeenth </word>
1541
+ <word ordinal="18">eighteenth </word>
1542
+ <word ordinal="19">nineteenth </word>
1543
+ <word cardinal="20">twenty-</word>
1544
+ <word ordinal="20">twentieth </word>
1545
+ <word cardinal="30">thirty-</word>
1546
+ <word ordinal="30">thirtieth </word>
1547
+ <word cardinal="40">forty-</word>
1548
+ <word ordinal="40">fortieth </word>
1549
+ <word cardinal="50">fifty-</word>
1550
+ <word ordinal="50">fiftieth </word>
1551
+ <word cardinal="60">sixty-</word>
1552
+ <word ordinal="60">sixtieth </word>
1553
+ <word cardinal="70">seventy-</word>
1554
+ <word ordinal="70">seventieth </word>
1555
+ <word cardinal="80">eighty-</word>
1556
+ <word ordinal="80">eightieth </word>
1557
+ <word cardinal="90">ninety-</word>
1558
+ <word ordinal="90">ninetieth </word>
1559
+ <word cardinal="100">hundred-</word>
1560
+ <word ordinal="100">hundredth </word>
1561
+ </words>
1562
+ </xsl:variable>
1563
+
1564
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
1565
+
1566
+ <xsl:variable name="value">
1567
+ <xsl:choose>
1568
+ <xsl:when test="$ordinal != ''">
1569
+ <xsl:value-of select="$ordinal"/>
1570
+ </xsl:when>
1571
+ <xsl:otherwise>
1572
+ <xsl:choose>
1573
+ <xsl:when test="$number &lt; 100">
1574
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
1575
+ <xsl:variable name="digit" select="substring($number,2)"/>
1576
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
1577
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
1578
+ </xsl:when>
1579
+ <xsl:otherwise>
1580
+ <!-- more 100 -->
1581
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
1582
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
1583
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
1584
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
1585
+ <xsl:call-template name="number-to-words">
1586
+ <xsl:with-param name="number" select="$digits"/>
1587
+ </xsl:call-template>
1588
+ </xsl:otherwise>
1589
+ </xsl:choose>
1590
+ </xsl:otherwise>
1591
+ </xsl:choose>
1592
+ </xsl:variable>
1593
+ <xsl:choose>
1594
+ <xsl:when test="$first = 'true'">
1595
+ <xsl:call-template name="capitalize">
1596
+ <xsl:with-param name="str" select="$value"/>
1597
+ </xsl:call-template>
1598
+ </xsl:when>
1599
+ <xsl:otherwise>
1600
+ <xsl:value-of select="$value"/>
1601
+ </xsl:otherwise>
1602
+ </xsl:choose>
1603
+ </xsl:if>
1604
+ </xsl:template>
1605
+
1606
+ <!-- convert YYYY-MM-DD to (Month YYYY) -->
1607
+ <xsl:template name="formatDate">
1608
+ <xsl:param name="date"/>
1609
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
1610
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
1611
+ <xsl:variable name="day" select="number(substring($date, 9))"/>
1612
+ <xsl:variable name="monthStr">
1613
+ <xsl:choose>
1614
+ <xsl:when test="$month = '01'">January</xsl:when>
1615
+ <xsl:when test="$month = '02'">February</xsl:when>
1616
+ <xsl:when test="$month = '03'">March</xsl:when>
1617
+ <xsl:when test="$month = '04'">April</xsl:when>
1618
+ <xsl:when test="$month = '05'">May</xsl:when>
1619
+ <xsl:when test="$month = '06'">June</xsl:when>
1620
+ <xsl:when test="$month = '07'">July</xsl:when>
1621
+ <xsl:when test="$month = '08'">August</xsl:when>
1622
+ <xsl:when test="$month = '09'">September</xsl:when>
1623
+ <xsl:when test="$month = '10'">October</xsl:when>
1624
+ <xsl:when test="$month = '11'">November</xsl:when>
1625
+ <xsl:when test="$month = '12'">December</xsl:when>
1626
+ </xsl:choose>
1627
+ </xsl:variable>
1628
+ <xsl:variable name="result" select="normalize-space(concat($day, ' ', $monthStr, ' ', $year))"/>
1629
+ <xsl:value-of select="$result"/>
1630
+ </xsl:template>
1631
+
1632
+ <xsl:variable name="Image-Logo">
1633
+ <xsl:text>
1634
+ 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
1682
+ BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl
1683
+ /erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz
1684
+ /GMzLdsAADsgaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7
1685
+ vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9
1686
+ ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4x
1687
+ NTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5z
1688
+ OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAg
1689
+ ICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnht
1690
+ cD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9
1691
+ Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpw
1692
+ aG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAg
1693
+ ICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAg
1694
+ ICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBl
1695
+ L1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRv
1696
+ YmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFk
1697
+ b2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBo
1698
+ b3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8
1699
+ eG1wOkNyZWF0ZURhdGU+MjAyMC0wMy0yNVQyMTowNTo0MSswMzowMDwveG1wOkNyZWF0ZURh
1700
+ dGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAw
1701
+ PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAyMC0wMy0y
1702
+ NVQyMTowNzo0MyswMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1h
1703
+ dD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+
1704
+ MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxl
1705
+ PnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHht
1706
+ cE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjMTQ1NzAyOS1iYTI0LWIwNDYtYmU5NC0wOTY5ZDRk
1707
+ OGRkNTE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFk
1708
+ b2JlOmRvY2lkOnBob3Rvc2hvcDo4NWRmOTdiMi02ZWMzLTExZWEtOGRjNC1kOTAxZWM0NGU2
1709
+ YWM8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50
1710
+ SUQ+eG1wLmRpZDo3NTMzOTU5ZS1hYzZjLTQwNGYtOWZlNi0wZDg0ZGNkOGRkZGQ8L3htcE1N
1711
+ Ok9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAg
1712
+ ICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJl
1713
+ c291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2
1714
+ dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6
1715
+ NzUzMzk1OWUtYWM2Yy00MDRmLTlmZTYtMGQ4NGRjZDhkZGRkPC9zdEV2dDppbnN0YW5jZUlE
1716
+ PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA1OjQxKzAz
1717
+ OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2Vu
1718
+ dD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdl
1719
+ bnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJk
1720
+ ZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlv
1721
+ bj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBh
1722
+ cmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdl
1723
+ L3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAg
1724
+ ICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAg
1725
+ ICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAg
1726
+ ICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YzE0NTcwMjktYmEyNC1iMDQ2LWJl
1727
+ OTQtMDk2OWQ0ZDhkZDUxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8
1728
+ c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAwPC9zdEV2dDp3aGVuPgogICAg
1729
+ ICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0Mg
1730
+ MjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAg
1731
+ IDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRm
1732
+ OmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4K
1733
+ ICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAg
1734
+ ICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4K
1735
+ ICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1
1736
+ dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9u
1737
+ VW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAg
1738
+ ICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yMjU8L2V4aWY6UGl4ZWxYRGltZW5zaW9u
1739
+ PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTgwPC9leGlmOlBpeGVsWURpbWVu
1740
+ c2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1l
1741
+ dGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1742
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1743
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1744
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1745
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1746
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1747
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1748
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1749
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1750
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1751
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1752
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1753
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1754
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1755
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1756
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1757
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1758
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1759
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1760
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1761
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1762
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1763
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1764
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1765
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1766
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1767
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1768
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1769
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1770
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1771
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1772
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1773
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1774
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1775
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1776
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1777
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1778
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1779
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1780
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1781
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1782
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1783
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1784
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1785
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1786
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1787
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1788
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1789
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1790
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1791
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1792
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1793
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1794
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1795
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1796
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1797
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1798
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1799
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1800
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1801
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1802
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1803
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1804
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1805
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1806
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1807
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1808
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1809
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1810
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1811
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1812
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1813
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1814
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1815
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1816
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1817
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1818
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1819
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1820
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1821
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1822
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1823
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1824
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1825
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1826
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1827
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1828
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1829
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1830
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1831
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1832
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1833
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1834
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1835
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1836
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1837
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1838
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1839
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1840
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1841
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1842
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1843
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1844
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1845
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1846
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1847
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1848
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1849
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1850
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1851
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1852
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1853
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1854
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1855
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1856
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1857
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1858
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1859
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1860
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1861
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1862
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1863
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1864
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1865
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1866
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1867
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1868
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1869
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1870
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1871
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1872
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1873
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1874
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1875
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1876
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1877
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1878
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1879
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1880
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1881
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1882
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1883
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1884
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1885
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1886
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1887
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1888
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1889
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1890
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1891
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1892
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1893
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1894
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1895
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1896
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1897
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1898
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1899
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1900
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1901
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1902
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1903
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1904
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1905
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1906
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1907
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1908
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1909
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1910
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1911
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1912
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1913
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1914
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1915
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1916
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1917
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1918
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1919
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1920
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1921
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1922
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1923
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1924
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1925
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1926
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1927
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1928
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1929
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1930
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1931
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1932
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1933
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1934
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1935
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1936
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1937
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1938
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1939
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1940
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1941
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1942
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1943
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1944
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1945
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1946
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1947
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1948
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1949
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1950
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1951
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1952
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1953
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1954
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1955
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1956
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1957
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1958
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1959
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1960
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1961
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1962
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1963
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1964
+ ICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4xznjNAAAAIGNIUk0AAHolAACAgwAA+f8A
1965
+ AIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAFWJSURBVHja7F1nWBVHFz50sCCxghUFFOzG2EuI
1966
+ BTti7OKnRI01xhrFEmOMRmOP3aixE1vsGmOvKMaCqNhQUBBBUBAREYTz/di5uHd2Zsu9l2LC
1967
+ eZ55Ermzs7Ozc3ZmznnPe8wgX/K6FAUAJwAoAQAFAcAaAIoAgA0A2FF13wHAKwBIJP99BQDx
1968
+ APAcADLzhzJviln+EOS62AFAZQBwBQA3UlwAoAwAlAUAWxPcI4MoYhQARAPAbQC4QcqDfAXN
1969
+ V8L/2nhXBYBGAPAZANQHgBoAYJmLfUoBgOsAcJqUQPK3fMlXwn+NlASA1gDgRYpjHu9vGgBc
1970
+ BICTAHAMAC6TlTRf8pXwo1O8HgDQEwCaGDrORYoUgVKlSkHx4sWhePHiULRoUXBwcIAHDx7A
1971
+ oUOHsuqZm5vD7t27wd7eHuLi4iA+Ph4iIyMhMjISoqKi4NGjRxAVFQWIaEg3XgHAKQDYBwB/
1972
+ AsDr/NdrWrHMHwKTSREA6AoAfQDgCwAwV3ORtbU11KhRA2rWrAm1atWCKlWqQPny5aFChQpQ
1973
+ sGBB5jWTJ0/WU8LMzEwoUKAAfPHFF9z7pKamQlhYGNy5cweuXbsGwcHBcOXKFYiPj1fzXD6k
1974
+ LCeKuJEoZv5ZMl9yXWwAoAsA7ALBMolKxdzcHKtXr46jRo3CQ4cO4Zs3b1CrjB49WtLu6dOn
1975
+ 0RAJCQnBhQsXYseOHdHBwQHVPAMpEQAwiaz6ObFjq5g/3T4usc3m9h0AYCoAxKmZsJUrV8ax
1976
+ Y8fiwYMH8eXLl2ismFIJxZKZmYm3bt3C1atXo4+PD9rZ2alRxncAsAUAGmfzmPcBgMcAsAMA
1977
+ egFAofxpnrfEHACaAcBSAJidjUpYGgDmA0Cy0uSsVasWzpkzB+/du4emluxSQlqSk5Nx165d
1978
+ 2KtXLyxUqJAahbwAAB2z0dbgTQxHSN7BHwDQHgCs8lUg98QFAOYCQCw5n0zOpglQHgBWiSYA
1979
+ s5QpUwb9/f3x9u3bmJ2SU0oolrdv3+Kff/6JXbp0QSsrKyVlvA4AnbLpnfuAYK0V3+85AHwP
1980
+ AAXyVSLnjEk9AeAEUTzdixiQDfcqDgCLAeAtb8JZWFhgly5d8PDhw5iRkYE5IVqUMCMjA0+c
1981
+ OIF+fn7o7OyMVatWxQ4dOuDatWsxISHBoPvHxMTgL7/8gq6urkrKeAYAGmbDe/FlKCKCAEQY
1982
+ qNYoli/axZooWhhj8MdlgyFgEAC84E2wIkWK4NixYzE8PBxzWtQo4Zs3b3DNmjVYpUoVrpI4
1983
+ ODjg7NmzMS0tzeC+HD16FLt06YKWlpZyyrgXADxySBERAEJA8M3miwktkBMBIIYz4DNNfL9P
1984
+ QXBWMydUlSpVcOnSpZicnIy5JSwlDA4OxitXrmC7du2wd+/emiyde/bsMbpPYWFh2K9fPzQ3
1985
+ N+fd5z0ALDKxQeVrhWfbQIxo+WKEfAEA92UGebWJz5fbqC1uVilVqhSuW7cOMzMzMbfl+++/
1986
+ l/Rv+/btGBQUhE2bNlWleJaWlti4cWM8ePCgSfsWGhqKvXr1klPGcPJeTSW/KDzrEwCol69K
1987
+ 2qUQAKxQGNxdAGBhIsvqGBDwkpL72Nra4nfffYevXr3CvCK///67RKEKFSqEHTp0wIyMDPzj
1988
+ jz+wXbt22LZtW+zcuTN+//33ePLkSXz06BGGh4fj48ePjdqCqpH79++jn5+f3DZ1FQDYm+jo
1989
+ 8IfCXEkFgH75aqVe6iqsfggA50zkhigMAPuB41Tv378/PnnyJNeULT09HaOjo/Hq1at4+vRp
1990
+ 3LdvH65fvx6/+eYb5rg0adIET58+jWfPnsXg4GB8+PAhvnjxIlc/GNevX8f69evLrVKmWBWt
1991
+ QcC5Ku0A/PPVS1m6y1kiSbkPAJ+Y4F7uIIT0SO7h5uaG586dy9HJGh4ejlu2bMFx48ahl5cX
1992
+ VqxYES0sLLQgWGS3nm5ubtirVy+cP38+BgYGYmpqao49W2ZmJi5fvhzt7e1Z/csk7gVjXUtF
1993
+ ACBUxXjMFl1TEISQsf+0iE3J/VUMYBoxnJjCspbMWv1Gjx6NKSkp2T4x4+LicP369di3b18s
1994
+ W7asSZRNS7G1tcVmzZrh1KlT8cKFCzniXnny5Am2a9dOzoJaxMj3WhHUoZjmiK75H1HehSDE
1995
+ dP4nxAEABgPAMrIaAQgoiwwVgzfRyHsXAIBNubX6BQUF4dSpU7F+/fomW+VMVUqUKIFfffUV
1996
+ 7t27N9tXybVr1/IQOGEAUM0Exrx0Fc88RXRNVRAgcWnEglv836p89gDwKwhYw8OiLWVVEMJj
1997
+ lAbtLBjnhC0BQsCqpO1evXoZBKRWIy9fvsTZs2ejm5ub0Ypib2+Pzs7OWLFiRcl284cffsBG
1998
+ jRphlSpVsEiRIkYr5LRp0zRD7sLCwnDgwIG4bNkyXL16NcbHx8sabj777DPW/ZMAoJ2Rc22E
1999
+ ymftLLqmLAjOfl0fhsO/LNSvPQA8Iw/4NzlI61bF+yoGKwkAnI24fzViGpegXebOnZstyhcY
2000
+ GIgDBw7EggULqp78FhYWWLVqVezTpw/Onj0b9+3bh5cvX8aoqCh89+5dVtuHDx+WXEsbYBIS
2001
+ EvDevXt45swZ/O2333Do0KH4+eefY+nSpdHMzExVf8zMzLBNmza4Y8cOfP/+veIzX7p0Sc81
2002
+ MWzYMNn6aWlp2LdvX9a908mRwRiZonJeic+EjUAfmniAGO8+ekf7MtFD3aHM0vtVTlBjXkgL
2003
+ MtgSv9/58+dNqnhJSUm4aNEi9PDwUDXJCxQogO3bt8f58+fj+fPnVZ9F9+7dK2nrxo0bqvuZ
2004
+ mpqKx44dwzFjxmClSpVU9bV8+fI4e/ZsTExMzGonMjISDxw4gMePH8/6e3BwMJYvXx4BAJ2d
2005
+ nVX1Z/r06awPQwYAfGvk/Fuo4tm2UdeMBykOtsTHqoAlQKBGECMmxPt9P5UKuNiIPngDA3Tt
2006
+ 6uqK9+/fN5nyxcfHo7+/P8/6p1cqVaqEo0ePxr///tvgs9fGjRtNCuAOCwvDtWvXqgpfcnBw
2007
+ wMmTJ2PDhg0lq6ajoyN26tQJb9++nYUrVQvrW7NmDW+FnmfEttCCrGZK76UV5Xe8Tv1+00QW
2008
+ +RyVoqTj4gdZTjnj41UMzkkwPPpfooA2Njb4ww8/mAxylpiYiP7+/ophPsWLF8dx48ZhSEiI
2009
+ Se67YcMGyT327t1rkrZTUlJwz5492LNnTyU8KLc0adIE4+LiMCEhQRPCiPVxIWWdRmCGJ+UL
2010
+ DlLocxjld/6KUecifERRGtYgoOfFD5AAAMVEdUapeJn3RF8fMwCoY+wKWLRoUVywYIFJ0CIB
2011
+ AQHo6Ogo+wyenp74xx9/6J3n8roSiiUqKgpHjhyJ1tbWBhmRhgwZonqLferUqaxtLKds0bAi
2012
+ bgQh9lPsQwxR6PNUUX1bjqtj58eggGYcF8DPVJ2HCgMSBwIXp066abCYeQIHgqYr7u7ueOnS
2013
+ JYMmZnBwMDZu3FhR+bIzvm/Lli05ooRiIEGHDh0MWhVbtGgh+xFKT0/H77//Xq3LZpkGo8we
2014
+ xvEoVGHOicmU53DqfZvXlXASp+NuojrNFQY6GgQuTp0UA4CnAFBbxf1rgMAOpteml5cX01m9
2015
+ c+dOTaiP2bNncwNaLS0t0c/PD2/evJntTm+WYebw4cPZft+ffvrJIEXs1q0bEwyQkpKCLVq0
2016
+ YF7TunVr7Nevn5KjnSd1Sd1h1N/LAjsUTle+phBVrDpvAKBCXlVAN2CTHUVQ9ZbIDEII6BP6
2017
+ WIBAtfcelENgyoLAMK3Xpr+/PyIifvnll5L7WVtb4/79+1UhPVq2bMk143fv3h3v3r2bYzCw
2018
+ o0ePSvqRUzC7Xr16GaSIEydOlLgneOgZDw8PjIqKwoyMDPT19WXVmaBiR/aEHEmaUL+VZtgr
2019
+ xPNPLHeBHzyQJ+UQ8NHyYuFtCQ6CgOUTD+Qq8tslFZbYe3SbY8aM0QtybdCgAXMF27p1K3fS
2020
+ bd++nWv1dHd3x6CgoBwHRZ8+fVrSlwcPHuTIvc+fP2+QElaoUEHP19inTx9mvZo1a2JcXJwe
2021
+ M0DPnj1ZdXsozIkFpN4rkILEi/GAGwDQVOWCUSOvKWAHmc6Kz3JlOHX+EDnwdfIzqAvctQaA
2022
+ 83Sb/fr1Y7oSatSowXSSsxRx2rRpTLO5ra0tTp06NUcwpmqV8O3btzkGxjYU6zpnzhxERJw/
2023
+ fz7z9wYNGjBDxt69e4eNGjWi678lznW5o4mubgpIOW8KgIBXpdtdT9kieM+zOa8p4SXgR1OL
2024
+ t5E0SDsNAEYzrF5DQB9lX0Xm3utZhhGeBTQuLo6riNu3b8+q5+/vzxz8GjVqZAuDGk+io6Px
2025
+ wIEDuGLFCpw1axaOHTsWu3XrptcnKysrHD16NI4ePRq///57XLhwIR45cgTDwsKyBQdq6NnQ
2026
+ wsICV65cyfRFtmjRQtZ1FBMTw1L+5wrns0DK+T+Zgj5aMBz6L+EDe5ujzPOkEEOOLQAMzS3F
2027
+ qyvyCfLA19epa7aIfosEKQmQFQgAWnEb+2X6MJjlDFeKoYuPj8cmTZowz4j79u3DMWPGMAfe
2028
+ y8tLFg9prCQnJ+O+fftwwoQJ2KxZMyxcuLDReFMzMzOsUqUK9u/fH5csWYLXrl0zmh0gIyMD
2029
+ Bw8ebDLweMeOHVXtKv755x+0tbWlr78K/NhSb46/jwaJD6Is6l6i3+Qs+d6i+0zIaQXsQ3x9
2030
+ AEIMIK+TmygHvS586BQDCuTCWVHry3wEUsV1CxYsiLdu3VLtlO7UqRNz0gIjxGnKlCnZQm1x
2031
+ //59XL58ObZr1w5tbGxyJGKiZMmS6OvriwEBAaom//PnzyXbxFWrVpmkL926ddPkt6VZBeAD
2032
+ lwzPQMOaU+kgUGWKbRBVRE79+aK/b5Lp/6/UbtAvpxSwNrEa6b4+v8l08kvRdf1EMCRLxpeI
2033
+ FUmxldOHTwDgEV1/8+bNmiPXhwwZIjtJqlatanKM6YMHD3Dq1KmyTGg5Vezt7dHPzw+PHz/O
2034
+ 7e+ECROwcuXK+PTp06y/jRgxwuh7/+9//zMojnHo0KFK7gWxNAIObxAI4Us+orqWxMd4kXM0
2035
+ oovYYOhLlLt+ditgIaKAQ1ScB5Fa9k9TSqlzK/Csqq+AH/Us+TqNHj3aYKWYPHkys/8DBw7E
2036
+ 9PR0k7oWOnbsKEeCxFyZK1SogB06dMDp06fjH3/8gceOHdNrw8rKCvfv34/Lly/HCRMmoI+P
2037
+ D1arVk3zylq5cmWcO3cuPnv2TLJraNSoEdarVy8LqP3XX39peg5a8Y3xa7579w7r1q1Lt5sM
2038
+ /HwVcxT6tI/amVUV2Skqg3wKAN0Z04EoYQhkMyP4fLIFFFsyYzkdTBd1phIISTHF24SvgRHd
2039
+ oMIE3YFlVVMTasOSyMhIrF69OrMPVlZWOH36dKMV8c8//8RatWqppqJo1KgRTp06FY8fP86M
2040
+ c4yJiZFcJzbriy2ZwcHBuHDhQvTx8cESJUqo6oOVlRX27t1bD+T+119/IQBkkUkhoupoEVZp
2041
+ 2LChUdbl8PBw/OSTT+h2TwE75tSKZUFngER4fDdyDv7yono6uGa2cdk0Izc4T5l55ciYWOIE
2042
+ Qkyh3ICskPEHPhPXtbOzM9hR/urVK64C0oBkQ9jW9u7dK4k2YBUbGxvs1KkTbtq0SVXCmH/+
2043
+ +UfSxvXr11X1KSQkBOfPn4916tRRRYGhA7yLuU67d++O27Ztw3HjxqGNjQ3OmzcPU1JS8MCB
2044
+ A1igQAHViti8eXPmx0PLx43R7iiZeRem0KcMENgbaGu9XEhUc1G96SL3SSVTK6AVANwiN/hF
2045
+ 9HcP0MZs9RmBoMkNxEHgI+Z30fUXL15s0AtMS0uTQKbMzc3xt99+Y31hsWHDhqonTHh4ODZr
2046
+ 1kwxRVrr1q1x06ZNmhX8yJEjkvZOnjypeQzu3r2Ls2fPxpo1aypG2s+YMUPiIvDw8MDHjx+r
2047
+ UQzZOEVjXD4Mp3+SzDGmrApFRAAIAP2IiWYydXuK6n0J/DhFo+U7YFMC1JfpHI317KUErAaB
2048
+ woIXLtKC9SU11GLJgkNNmDABERHPnTvHPE+5urpiRESEYlwcS4nFK/fo0aMlk9dY7KixAO5z
2049
+ 585h27ZtZSdnq1atJNZj+iyekZGBZcqU0UynYagixsXFsbbZ2xTgjXdU9OssfCCeMocP1Bd0
2050
+ +UbUtg/1Wx1TKWBZ0Gcmq0JFLLA69pRa0qereOiTMgpoDgA36HNLaGioQS/uhx9+kNy/bt26
2051
+ eqbyPXv2MJH9ZcuWxbCwMGa0Og+Kpbtu5syZGBsbm6ejKP755x/s06ePmsxLWdA9Wvz8/DSf
2052
+ EWvUqGFwyNemTZtYbbaQmdOfAMBfKvp1TWSwWcqpI/YPtqJ+O2IqJVxANVxShRIuFRlglqp4
2053
+ 2L9BPmDSl75m3LhxBr2wI0eOSKx6Dg4O+PDhQ0ndPXv2MHGjZcuWxaioqKx6jx494hpeChUq
2054
+ hLNmzTIprGznzp3ZHsp0584dZvQJqxw5ckTv2nXr1hlkrPH29jY41pNBMHwL5AOBLYi7TKlf
2055
+ l8jcbMj5vZ+CPjQxVgELghCQK25U7OPrzOlYfZWmYSSHXrnBsiORGHp5AJOSkjS/qIiICCxa
2056
+ tKgESkVPIrGEhoYysZJubm4YFxeHgYGBWLJkSaZr4auvvsKYmJgcCWU6evRotqB4Dh48qMgU
2057
+ 5+XlJQEgGIOeMYQ1PDAwkAW0GKgSeKKU9HUfmaPXGb+1VVDC341Vwq8Zh16xfMG46U3yW19Q
2058
+ JvLtr6IPkq2sljhAsW+pXr16kn4sWbJE8dqwsDCmItaoUYN5dixTpgyePXs22+Btp06dytEk
2059
+ oampqTh58mSuX9Dc3FwCgFfrkmGVLl26GNRPHx8fuq0o0A/UpUVnwHEHfniTOPJ+MOPvjRWU
2060
+ 8DWFzNEsV6gGYxnWTlauwJogT2f/QmTalcspYU/7Elu3bm3QC2KlE+vTp4/q6x89eoS1a9dW
2061
+ nECff/65Sc59WsOJsjtTr25VpHcS4jP6hQsXsuo+e/YMJ02ahB4eHgYRHf/555+a+3fr1i3W
2062
+ h0KOMHqR6HhlB0KWL7nUbm1AGjNbQ8Xx7H+GKmAtTkfEwoo+rgTyXKLXCU5Ud2YcLtOHsaaY
2063
+ bLdu3ZKQFlWpUkUz4VNKSookgkEM/v75559NirDhSXBwcK4oIaLAO+Pr68vE2NasWZN5zfHj
2064
+ xzUrobW1tUEUJIyg41gQqDdZMoOEM9FgkOecft1mhD85i67lnRsNNtDM5zT4CWU5Ff92AwB+
2065
+ khncddTKNwD06cjpg7PeWbBRo0YGTRzaH2hjY6Paua3GtQEkc++hQ4dMPulDQkJw+fLlOHbs
2066
+ WOzQoQO6u7uji4sL09/2+eefY58+fXDKlCm4fv16vHDhgsnjDJ88eYJdunThKs+jR4+YyJ3m
2067
+ zZtrVsR27dppxpaGhoayVkMesLol+X0Q9ffSICUrE+OZxf92oHCqrGuSwUDWwH9AmS/Ggfpt
2068
+ Ix3ZIEIijGNsZV/LWI8kAZUHDhwwiSVx3rx5Bk3A4cOHK+I8J02aZFRylczMTDx+/Dh+/fXX
2069
+ WK5cOaNB0lZWVli/fn2cMWOGoo9TSS5evKjIMGdra4urVq2SXJuQkIATJkzgbmd5ZeDAgaY4
2070
+ GwZz5pgt8V1ngJSPxgKEYHK6rTvUHHeQg1SKiuZEpQXJ1pPVmCdVV/wby/eSQjn4daDYOKKE
2071
+ vC/EBTVbHTl5+/YtVqhQQYJ8MURJWKE7PCpAX19fzVjWsLAwHD9+fLZmaDI3N8dWrVrhvn37
2072
+ NIMc1q5dy3zebt26SbamlpaWuHv3bmY7jx8/xq5du2oCf2vdarNgfQDwOWee7RDVGcb43Qfk
2073
+ c6WIlfB/MvXGaFVCOUa0EVTdZApVTtPI0RQErvCBkOkg5/4N6Pv+8ccfmhVn8eLFEneEFrp4
2074
+ nVy9elUSTGptbY3Hjh3DOXPmcH1earaCFy5cwO7duxsckWBocXFxwVWrVqnyyy1YsIB5Buzb
2075
+ t29WqBPrAyXHcn7nzh3s0qWLqrwY1atX1/xRY2x//+DMtY5UvbGc8L2nKpRwLMhnltYkA0A9
2076
+ 9yMviiIc9LlDaQVEABjJuf82cVulS5fWbPB4+/YtOjk56fVJKUEJS16+fCnJggQAuHr16qw6
2077
+ ixYtYk4mObzpo0ePNHF5li1bFnv27InTpk3DadOmSX7fvXs3rlu3DgcNGoTVq1dXzZ5drlw5
2078
+ XLt2Lff5V65cyXy2Vq1aZUVBZGRkMAOkdWfk9PR0Lsj+r7/+UgX63rVrl7Hg7jQKaCLGRdNz
2079
+ eDqjXjkSf0i3W05UZ5bMM9zQqoQzFOBlYongwH0cqXpNQJ/V+B2w88CVo7fC06dPN3oVtLOz
2080
+ k8TJqZH27dtLxmDy5MmSekuWLOHCscRJVBAF9m6lvBXFihVDPz8/3LBhgwQmd+HCBUn9v/76
2081
+ SwJQP336NE6cOBFr1aqluOI0adIEb9++LcHBsq7z9fWVfBRTUlIkflg3NzecMmUKli9fHi0t
2082
+ LbkfpKNHjyqyfPfv31/Te3v//r3kKCLjrljEcbJbKiwitHV0pcwzJGhVQrmQ/hgFJQwCacbV
2083
+ XgyDzQ7OvX+gjR3iiG61ERI0iNiQoN9ly5YxSWl5smHDBuZk0rGIZWRk4LfffqsYyb9+/XrZ
2084
+ rSyLbW3jxo2KVs1ffvkFq1atKmtUWbhwISIiHjhwgOnfo/lD6dWdF7NYtWpV2bP4tm3bZD8U
2085
+ hQsX1pxDcvr06aycEyzhRQOdJx4AWhGfcrDU2xVWdE1p1g4pNFaUo4RXKAU0AyEfOauN9px7
2086
+ X6W3dMYaUaytrTE6OlpTG48ePZJsk4oWLYqRkZGKaBZWFMWnn37K3LKJJ+m2bdtUGUxYSrh0
2087
+ 6VJNTnc5ao3+/ftLnt3Kygp///13VdEYrPNt8+bNsUePHnjnzh3utatXr5b9QK1bt07TOwwP
2088
+ D2cpdkPOvONlb4oFKWVFE9Fura7o78cV9KaqFiW8oNCYOERD91V4BPoUAdYyK2oYBy/qRNc1
2089
+ JIkn/bUfMGCAKczcuG/fPlXX3r17V1Pev+3bt2uyVrKUkOUWUNotrFixQlVWXyWCZLWuHAcH
2090
+ B8Vdja+vLzZs2BBnzZolcdEY4idm0Owv5cz5hiBPb9iBqj+R/Cb++zWFsaytRQmDFRoTuyle
2091
+ EQtpdQpudkzm+iEqsarM6AatE1QtA5scwkOrvyouLg6bNm0qO7m7du2KCQkJmifW2bNnJW1t
2092
+ 2LBBFjfLk9evX+OECRO4GYULFCigGRzOC+zV+kHVUWqAEUzjjIiO5zJusT0KWOfe1C7vIOhz
2093
+ jirpjasplbAj5ScUZ9ItofBFeCYDI9pLx/hpld69e+vdr1mzZpqd5TT4uGzZsvj69WvNfYmM
2094
+ jGTmZTc3N8eff/7ZYKf5rVu3JG2uX7+e+SwLFy5ES0tLPHHiBHdF/Prrr5nxg2ZmZhgQEKC5
2095
+ f4MGDeIG77Zq1UrTh9XZ2VmvjaFDh2q2bjOejRdrWBnY+VTEoJMhFLJGHE/4SEFvHLUo4TmF
2096
+ xnqKVjwx9q4IHXzLKCNl0AtvgEGbrlaeP38uMYxo2UYhsgNmWRNcSRISErKy1dK+yjVr1mhq
2097
+ 6+TJk1k+OZ1y0eFT48aN0zN8BAcH46effpr1+6JFi5jREdWqVeM69n/++Wfcv3+/prCxmJgY
2098
+ RffI2LFjVbdHM6Hb2NhoDmPr2LGjXKo+WmaqOEYMENUvpOApMNgwc1ShsYEi5Hkp0f+fVbju
2099
+ qkzsYDtjt6K//PKLZCullQaejpSoVauWZnRJdHQ0k+FbfMby9fXFq1evqmqvdOnSWL58eRw+
2100
+ fDi2adMGS5cuzYS0lSlTBv39/XHnzp2Ss544wkEsly9fRm9vb8kKOG/evCyImYWFBdaoUQNr
2101
+ 166NzZs3x//973/o5+eH48aNk7SbmpqqiBN1cHBQjVqKjo6WWGnF6QrUCIMw+LLM3LcF5YSi
2102
+ 6QDQmnHtM4VzpTjwgUshoaOLW67QidGM69cqXPNO4WCqd8/atWtrXn1oP1XHjh01Xc+K09uy
2103
+ ZYvq69PT03HJkiWqctfritK2NCEhwWh0jIeHB/dDcuTIEQnd/rp16zRlX2I50nft2iWbeVcL
2104
+ oXKrVq30ru3Vq5fmjyJlJc2gkC60VFcIxdPx4tLWzkSF6CGdfM87krWAD7ww3yh0gGZS66vi
2105
+ ZU1SWH310AiDBw/WvPenv5jLli3T1AYdpuTk5KSabuH69esG8XAOHDgQ4+PjJc52nUyZMsUo
2106
+ BXR1dWXCxxITE3Hs2LFM39yCBQs0oXkqVKjAVPLnz5+jn58f02WhhR+ITg9uZ2enOQyNEQvq
2107
+ ozAf/VQ8+z3Qp2WRU0Ixm/x4ysiTJUtVBCeyUga7qqAHCAR5CotS9DVyUCq1FjktfKTR0dGS
2108
+ A/zUqVNVXfvgwQNVpn4eoka3HfT398fJkyfjokWLcNeuXQbniwfCcj1t2jTmR2TJkiXo4OCg
2109
+ CPbWcr8OHTpwFWPSpEmSWE4t8vr1a4n1VutZn4FvXaziWPabimdfyAlmoMsUCrxyjL6ZAwlY
2110
+ FB8238s0KI7POq1i2VYiQpUofXh4uKZBHjZsmN71jo6Omq5fsGCBpO9Kqa/fvn2LR48eVUUg
2111
+ nFPFzMwMv/32W7x8+TIePnxYgjIxRQ4JVilatGgWLI12iSQnJ+sBGFxdXTUfNbp27SrJY6FF
2112
+ Dh48SPf5igoltKXBIxzXRWkVSij2KHiRc6UesuwrRqeCQDnRSxsVL6iniofVS7pRvHhxzS+J
2113
+ JiPSem6gfXqVK1eWrX/06FGTxPsZUqytrdHJyQmrV68u2YJbWFhg7dq1syyUHh4eWZjQ8PDw
2114
+ bOtTs2bN8PXr1zhmzBgsVKgQFixYEH/99des8Ro/fryeq0Kr/Pzzz5KjgtbjCrW6ZzDglXRg
2115
+ L4CQ3yJB4fl1WZxecn5/S21bdSTBXcU33EK2jGKZK3NTXf42Je7GNSKjjxzZzSIaoa9FYmNj
2116
+ jUKQPH/+XLL90uW658moUaNybbVbvHgxbtq0CceMGaPqHFqoUCFs1qyZJop6QwqrfR2IICgo
2117
+ SA+jioh448YN1WCFv//+W9K2VgJlRnLYtjJzUkyn763w7EnEXcfLcX+Ac96cJ/5jFCk0Po53
2118
+ 08YgT4Gv4+MoIAr7d5d54MPia7/77jtNg8t6QVrOg+vXr5dcf/nyZaY5f/HixThjxgwsXrx4
2119
+ rilhtWrVsHXr1nlmC6xUfH19ERGzrKWVKlXCbdu2oaWlpeqA3aSkJMmqf/DgQU3zpH///mrz
2120
+ VgA5M4qt+dMVntNXxr/ej2p7NHxg+c4yrOiWZyvKZREtg4GTS5LxBvTTov2i4J4IN+bQPXfu
2121
+ XEkSTC1C88aUK1eOOQl40K6cLhYWFnjv3j2J6T4vFhcXlyzQtk4JRowYkYXvvXjxosEr2YwZ
2122
+ MzS954ULF6rFkQIICUB/pWBq2xUMNDuBzS9TiGp7mcheYmYOAj2hTunEAYqZBEvHkkyFpXwE
2123
+ ZejpQg6ivMOvXt5xV1dNEDsICQnR+3etWrU0XX/8+HG9f7ds2VK6X160CN68eQN5Qdzd3aFc
2124
+ uXJw+PBh8Pb2Bk9PT3BxcYG8KJ06dQJ3d3dISkqCffv2QYECBaB27doQGhoKBQsWhNq11WOa
2125
+ q1bVd8tdvHhRU18Y88JNpnoRsm0sJDK6fCVj0GlP4mVZeNRkhiFShzhzASrUqB1VuQFH69vJ
2126
+ fBE2UG20JX8vzel8TboNrcG3tHVSC0X+7du3FcHQQUFBBnFnZkfp3r07Pn/+nPksv/76qyq6
2127
+ iJwqNjY2WeRSOirCYcOGZSWe8fb21vSe6RwiWg08T58+pft4X0YJN3CAKS7Azqv5DtjB8LRO
2128
+ FQX9zMHeAPoUbksYnbnHWXp550DaAKNzYfCYkLvRWy0tREwZGRkSrKIWrOe2bdtQyT3CCmvK
2129
+ yeLm5oZjxozBf/75R/F5duzYkWc+GNWqVcOYmBicNWtWlpP9xIkTWf1zdHTU5HTfuHGj5B5a
2130
+ gfUUOihRRgnnigIO6LnbB/h5NcX/fgnSrL1dQEqWrUdtGM7ojD/jZns42DgP6lpdXrdUmYcd
2131
+ asx5LjExUTIY586dU339jz/+KOtfvHnzpuoMRdlRKlWqpDlb0fbt23PNfSJXAgICJIBsLR/M
2132
+ c+fOSdqkKTmUhJEc1UKF22wy4/cAxjMeBnk+JtZ1a81JIK1OnBl4uA3EaCMWD0bjk0HgZBQf
2133
+ ZOeK/CdyDtEPa3XRopr2+e/evZP8zc3NTfX19+/r70jq1dOnh9yzZw+kp6fn2tlv69atYG1t
2134
+ rem6Hj16wPbt2/PEmdDZ2RmGDRsGO3bsgN69e8ONG/p8R6dOnVLdloeHdNrFx8dr6k/FipK0
2135
+ 9p/IGAt1Mg30aSx0do9oRhCCWFZT/y4EUvrPMuYgJVuiK8WAlJqQtpycZ2xlu8IHKoFHagdJ
2136
+ qxK+fftW7982NjZQqlQp1denpaXpH4IbNND7t4WFRa5M3qZNm8Lly5ehYcOGBl1vb28PlpaW
2137
+ ua6EI0eOhBUrVkD37t2ZH83o6GjVbRUrVgyKF9efrikpKZr6U7KkhHCNN+HEc9YGhAAFc9Hf
2138
+ EkBIEMOTQPiQHEknPiBNAfiJOUjR3P05GDq9uSn6/3QQ4qsyRX8rTGHq5JSwoDFKSFsstV7v
2139
+ 4OAga0GjLbUVKlSABQsWwM6dO2H58uXwySefZMvknT9/PhQuXNjg66tWrWqwAptSrl69qvdv
2140
+ R0f9uNaEBG0kZO7u+u5mrbuEEiVKqFXCx9Scbgr6mGkAgYuJ50HYy/ibH+Nvn7A+lVVAILYR
2141
+ x1wdAYAnAFCeUX8ZADyg/jaHcnfIKaGVMUpEbxW1Xl+kiD5yqWbNmpCUlATh4eFgZmYGdevW
2142
+ 1d/QBwRA48YfsmGlpqbCuHHjTD5569QxLtPywoUL4fz587muhLdu3YKNGzeCubk52NvbS7aD
2143
+ ycnJcO7cOUhISFClkO/fv5co4d27d+HBgwfw9OlTSExMlKy2lpaWYG9vD/b29vDw4UO1SphO
2144
+ jJLiPfAsEHIVireqU4mFk94y7aP+XQOE3Be0WAJlLhVbeWhhsaYlMh6Cxd7dT2ZcpwMFBC5X
2145
+ rpwkxg0Y9HwODg6SehYWFujg4JBVeFEIdnZ2WLp0aSxWrJje3ytWrKgHYbOystIz++/fv1+R
2146
+ BwVMAIY2VhgQrX9lMYHRrK/M3GRFUZwC/VTwAADrqTohjLZ+59z/HwB2GqiXIPXyV2TU+46x
2147
+ qoUy6tWVedAFH9NLr1Klih4le0hIiMFteXl54f3793HlypW4fv16/OKLLxAAsE6dOkYr4Z07
2148
+ d7By5cr/CUU0soyUmZtfca4ZzLCRyOmFIwjRFqy2jgJHaXgJLAJBP0SJVtSJwKYCsJF50MUf
2149
+ 24sT40rDwsIMTs5CpxHT8W526NAB58yZgyEhIUYp4po1a/KVTLmMlpmblTnXvAR9ek8AfXZB
2150
+ GpgyTeb+WywBIJLjcphAtqXiDfZO+JDg5XfQh+O4gcCeTcsdqg2TipWVld650NraWmLx5ImF
2151
+ hQVYWFjo1S9btixERUUx6xYuXBisra3ByemDVycyMhLMzMwAETX129vbW3I+6t27N2zfvh2s
2152
+ ra3B398fgoKCYOfOnWBhYQFPnz6FZ8+eQUxMDFSrVo1lapfIoEGDYNy4cZCUlJSj50AnJyfo
2153
+ 0KEDXLhwAZ49eyY50yUnJ+sZSrp06QJxcXEQFRXFdQc5ODhAuXLl4MmTJ3DmzBk9d0yBAgXg
2154
+ xYsX8PTpU8jMzORaVsuUKQPJycmwe/du1R4sAIhneBA+IXaPgaK/rQKAVuSaaOrM97XMPR4C
2155
+ yHPDDKUuqE3+nkm2pzoxA35SxQ0KD/qLuH779u0REfHNmzcYHR2NERER+PDhQwwODs4qYWFh
2156
+ GBERgTExMXj06FG9+/3444/48uVLjIiIwIiICAwNDdW79saNG/jkyZMsxi6axuHEiRP45MkT
2157
+ PH/+vB5AeuTIkVxOTzpjk1KpXr063rlzB1NSUvDs2bO4efNmXLp0KbZs2RKnT5+elenJ3d0d
2158
+ X79+zWTLLl++vKoMU40bN86VFYbH07pixQq9elq5hMQMcgCAwcHBmq6n78+Y47T8yXnGTNDP
2159
+ OWhJ3Ba/M9wScmPVD4DK/UCVCNAnSjUnS/EJhlvDkD03gADb0UtMokVoKFOXLl00XV+/fn29
2160
+ 60eNGoWI0oQyuvjEiIgIrFy5MoaGhmJGRgaLyUuxlChRAt3d3ZlGIxsbmywD0+XLl/HBgwfc
2161
+ CHo1aBFG5ECOFRZvzpAhQyTnYi1CG9K0KiHNSwv8LL5itwLvGS9Qdbcz3BhK1Ph1AATCGblK
2162
+ vahGj1DbTksQaO3VUOazpA+9SmiRQ4cO6d3P2dlZ0/V0XF69evUQEbFly5ZoZWWFnTp1wvHj
2163
+ x2elAUtJSUEAwFKlSjHTVpuq9OnTBxER9+7dy61z9uxZVc8ox3qWnYWVhIemQ9QCtk9LS5Pc
2164
+ Q2u+SZqBAQB6KLkWOR4EXelEKWxnyi2hRP1iAcT3J1eRDt2YR/a+ar4Ur0Ce4AlA4G/Uy0Wo
2165
+ RSIiIiT3ffnypeJ1kZGRGBERIWGLtrGxwYcPH6KZmRmXpFZnwVSiuTfU+mptbY0rVqzA4cOH
2166
+ c4l0PT09VU9crdtlUxVra2uJS4dm1NZlgTIwCkJTop+0tDTWeDZQcTYMlHnOYFG90gBQS4Vb
2167
+ QleOiG/yVKHyF6K6fSmr6E2Z6w6qeMBqtJ9PS1bW169fS+577NgxRTJYa2trtLCwwM6dOzPp
2168
+ +GxtbSVp0GJjY/HixYsIAPj9998zJ5WFhQV27drVYCoJOzs7PHbsGH7zzTey9Q4cOGAowVGu
2169
+ KSKD50UxpZtYAgMDJVtyLXPl7t27hlLTTwb1uVl0UgrkKfURBGrRLNmmUFmsTGLAdTPQxk/K
2170
+ hPOBkdwh9ISfNWsWs9779+/x559/1gv1sbS0lIT+PHv2LIvvU5wnUMzwvXfvXkRk513Ys2cP
2171
+ ZmZm4tWrV7POeFqKEn2ihYUFd4zi4uLw1atXWZOewbeZ48XOzg5v376NBw4ckPx28uRJ1e85
2172
+ ICDAKEa9EydOsGIA1YjStpKVa9MflFm89YCsgxUuyAR2FHKAwnWfqXhAM6DoFXmU7TyhU6H5
2173
+ +Pgwv6JyOfnE5fTp01mKIA4jev36NY4YMQLNzc0xNjYWERH3798vuV53rtQhavbv34+Ojo4m
2174
+ m9Q//vgjcxxCQkKwcOHCaGlpiQ4ODqpTZudE6dKlCzNlmpacgzTjmlZCsB07dtD3v6PB8xIh
2175
+ 83ypIKQCFEuwwpj8Rd+gkoqB/JV2nZEzH6/+c9BHncvJM0O3KIiIPXr0kOWICQ8P10RNLzYe
2176
+ sEinxOeQd+/eMUmf6GSYjRo1ygrQpZOIfvfdd+ju7s5d9RwcHLBmzZrYvXt3XLlyJZcVvFmz
2177
+ ZnnWKW5hYZGV24I+gwcFBal6z/TRQSshGCPz8m4NSvirwjM2FePMVYxJR9ZNlNI6JYF+VpkG
2178
+ CvU3a3hAvVRquvOWWpk/f75sxPXXX39t1ARSetnjxo2TXDNz5ky9Ovfv38cGDRpg/fr19czk
2179
+ bdq0wUWLFmHp0qW5FBGsXA+0sHIWfixlzJgxis/3/v17yTZdKyEY7R4BgY5CSQqxDIgKR68Z
2180
+ CnXv8xaohSoG7CsNe94+GpRQDwDbvXt3TYN77do1yf11GY8iIyMNppIXGwAuXbrEvf/Dhw8l
2181
+ BofChQszuWB27tyZlbiybNmy+OWXX6rqQ61atXDr1q3cTLfGUHDklvV05MiR6O/vr4ptnTbK
2182
+ AAAzx4ac6HYjMu43WkqLVixrhZ3fJtF1txWefTjvhjVVDNwuyl8od+jUBdrVU7Et1aO4qFat
2183
+ mqbBff/+vWQibd68GRERd+/ebZIJo7QaspTg66+/Vu1WERuKSpQoIbutq169OrZs2RJHjBiB
2184
+ EyZMQC8vL825I3TF29sb7927Z3Aujbp162YZXzZv3owDBw5EHx8fHDhwIE6bNg3PnDmDkZGR
2185
+ Eid5wYIFNfHDzJw5U+/6YsWKaZ4jDMrK6grzciroJ47ZITMW1xTwpuIkuXYU3FPPj6eUcztB
2186
+ VF8uh5uYs8CTcnGwpC490egcCkrSsGFDZG1pjxw5YhIlrFixouz9Q0JCJIpgZmaGp06dktR9
2187
+ 9eoVFipUiHmfmTNn4v79+xVDuUxVdHng4+Li0MvLSzPy5/Hjx+jt7Y0rV67kjk1KSorkebXm
2188
+ kqD7poM3GrFbeq3gwzYnRzQflT7xCFJnlMK4TaTuM0a319XJMBWD31SFtWg0tcIq4UctgcoH
2189
+ p4asad26ddirVy+cOHGihECoa9euiIi4fPlyk01YJSpGHa0fUDkTXrx4oTchW7RowVzhFixY
2190
+ kFXv2bNnOHPmTKYxw9SlY8eOGBISgtevX9dkaDl+/LgqBdi8ebPBaB/dKkYrMSvzsEbM6DGV
2191
+ IBIfKiRJboEC+ECVyDNW0pFHJ3SBi+J4wPsKL0B3mJVLklGeAn2/Bim3Bi0XxG3Mnz+f+TIn
2192
+ TJiAkZGREscrnaW3Ro0amJiYKMlCa0z5+++/ZV/09evXmbyfOvjWq1evmBZMa2trbvbZlJQU
2193
+ 3Lx5M3bq1EniczR0C8rbVmoJfRo/fryqyZ+ZmSlxIdWsWVOTAtEJS83MzPDJkyea2ujbty/9
2194
+ DN8rzEfd1nOQStdDIvn9uoazYAXdCkrH+3dWeAFHST1ekGIQ1V4L+MDVLyeL5LYbhw8f1nP+
2195
+ 0hOwSJEiek57GxsbnDFjhklXDE9PT0VO1KlTpzINOydOnEBPT09mEpXDhw+rmkgpKSkYGBiI
2196
+ p0+fxhUrVuQ4FWPx4sXRy8sL27dvnwVWUJI9e/ZI2vntt980KRDtX6xbt67m2EoGzreRzFws
2197
+ LJrfP1K/zZaJMbSV0Yu7VDCEzrgZARyQ9QkFV4U5CJTfalAy3Vg4OYb0Ak6++czMTIOixA1B
2198
+ qyiVxMRERTLidu3aqbJAWllZqd7SqZncaou5uTm6urpqSmpjYWGB+/btyzJuWFhYqNpS6gw3
2199
+ 4hAstdmPdX5Yeks+Z84cTWPFiERRwjR7ierSoUmeMmfCRjJgl2aM+9wWK+Ec6seyJJiR91Kq
2200
+ Az8NFG1xmihCFdjKPLiEPuPEiROIiHjlypU849PSIWXk5OXLlyy0vmQFpMHNWoSVmVhNGTZs
2201
+ GCYlJeHBgwexZMmSiq6ZZs2aYbdu3fDgwYMSPGvPnj0141aXL1+u6TlZ1u179+5paoMRzrVH
2202
+ YUGYJnN2tAZ2PvtLADAW5PMXspT5KoBA7BsHUqpvL5kQjsH0GY6Up4ybbRL93krh4WNYboHT
2203
+ p0/nGSVUG78WFRWFrq6uXFAzL0e9WtGSU14coRISEqI6rZqlpSXOmjULZ8yYwcyDKBe7mZaW
2204
+ Jtm9lC9fXg+Lq0bat28vOetrFcYxYIjCPBTn3WQxBZ5ljNd6zg7yDmPxMYMPzPdHxZAxlgOR
2205
+ 5/nfyvGZrGe0IT6ozlR4+CWsA3xeUkK1uNbY2FjJVkxchg4dqnlCimXRokW5PhZTp07l9o9O
2206
+ VwcaE7ciIj5+/Fhy9tcS+qTblTByc5RXwDInUFtJeoGawxiPuWRBo/3lnzLu4UvrzBXRKlaY
2207
+ 4SvZz7hhLAiMUvTfaeJgG9IR3e9KuawaAiPZZ3BwcJ5Rwk2bNim++NDQUEmIE3By9xmzJW3Z
2208
+ sqXR1IrG0F/Ex8cz+/Xs2TOJn9PFxUXTWRARsyJZdMXBwUFTAhlExE2bNtH9vqkwB1nJb2tT
2209
+ dbw5CxP9t8mcIGGxPWUSgH5yl3mMi+yBzcg2gvE3OhtvPer39ww/CS1hrK9trVq18oQSKpnX
2210
+ g4KC0MHBQXKdHIDc29tbdfjW8+fPsWvXrujp6SnxnZUvXx47duzIvY+Pj08WGsfLywvT09Px
2211
+ 8ePHJudGZW2V1VpTdZKYmCgZxylTpmj+UDFggUquCV9gZ+GlFYkOiXpC/e1vDlKMTiTaBQDg
2212
+ J2r5rM+40IVhDV0IQiYmscXJXA6OBsp5wiVbYBcXFx4CPtfKoUOHuArIgn/16NEDr1+/LgsN
2213
+ s7Ozw0mTJmFcXJzspBo7dizz7Pb7779nrRIHDhzAnj17opmZGXbq1AnLlCmDAIAtWrTA58+f
2214
+ 49atW7PoOs6cOWPQGLRp04bZv59++klSlw6OViPTp0+XjA8vL6NcwDcDqqaUgZZFT/iTxtCm
2215
+ JyBlaOOFDDpKXAPEWc9arRpTShcL+skSWel1WAzGSsRPVehrLl68iFFRUXkmASbLIHHy5Enm
2216
+ auft7Z21DQsMDFRMWabjtdm2bRtz68UCHyxdupQ5Ca9cuYKPHj3C5ORk3L17t6S9tLQ0CdGV
2217
+ 2rJnzx48e/asHqb2+PHjkvNX0aJFMSoqyuhVcNiwYZoVmSbrAv3UDjxhIV7+ZNS7yBmbNPiQ
2218
+ CEksHRlnxjDdj66MhvYzHItAls4Mzs1/Z9T/h1FvkYqBuEIbMRCFTLQeHh5oZ2eX69TrupVE
2219
+ F9jLorNo06aN5Bz08uVLHDBggKoPSoECBbBVq1Y4c+ZMPHnyJCYnJ2O1atX06vj5+Rl0nnzy
2220
+ 5Am2aNEC3dzccM2aNbh06VIcM2YMNm3aVBEEUKdOHYyOjsaSJUuilZUVvnz5Eh88eCBxeZiZ
2221
+ meHu3bs1923atGkSv2ZYWJimNjIyMrBixYpKNgtQafm8xajHo0IcxbF1pCjpzGPOQZPl0BzN
2222
+ ufkPDH8Ki2Njn4qBGEtvRcRGgJ07d2aFJ7HOXzlRdDjSgIAAZqiUeAXkxf9ppZ7QIYVsbGyw
2223
+ T58+WQze6enpqrlWkpOTcdmyZVmrtoODA44ZMwYDAgIwJiYmq865c+dw3bp16OvrK4nqOHr0
2224
+ qN4qM3v2bGbkB48oS+nMS591+/fvr7kdRhR9LMgzweskirO60bqwglHvD0Z7NQiahvVOvxRX
2225
+ XMOptIDT0VWMuoMUjDJqrVO6OK4MuUDfU6dOYf369XHTpk05TnBrYWGBsbGxuGrVKmZqak9P
2226
+ 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
2371
+ acuuVzKKnOsAAAAASUVORK5CYII=
2372
+ </xsl:text>
2373
+ </xsl:variable>
2374
+
2375
+ <xsl:variable name="Image-Recycle">
2376
+ <xsl:text>
2377
+ iVBORw0KGgoAAAANSUhEUgAAAJkAAAAmCAYAAADXwDkaAAAAGXRFWHRTb2Z0d2FyZQBBZG9i
2378
+ ZSBJbWFnZVJlYWR5ccllPAAAA+lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl
2379
+ dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
2380
+ dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu
2381
+ Ni1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpS
2382
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
2383
+ bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v
2384
+ bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
2385
+ ZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
2386
+ bW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jl
2387
+ c291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJNaWNyb3NvZnTCriBXb3JkIDIwMTYiIHht
2388
+ cE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzM0NUVBQ0U2RUMzMTFFQUIzQjg4RDg3OEE1NEI2
2389
+ QzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzM0NUVBQ0Y2RUMzMTFFQUIzQjg4RDg3
2390
+ OEE1NEI2QzAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+RGhhbmplZTwvcmRm
2391
+ OmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJk
2392
+ ZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4xODAxNzYzPC9yZGY6bGk+IDwvcmRmOkFsdD4g
2393
+ PC9kYzp0aXRsZT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5p
2394
+ aWQ6MzM0NUVBQ0M2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiIHN0UmVmOmRvY3VtZW50SUQ9
2395
+ InhtcC5kaWQ6MzM0NUVBQ0Q2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiLz4gPC9yZGY6RGVz
2396
+ Y3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7t
2397
+ DS20AAAS3ElEQVR42uxcCXhU5bn+t3POZJkkBBKSycxkQcF9YXPjuuJGFRSsgFJb0Xq9el16
2398
+ 3epWl7pWa6tQq7UqFG/Veotgr9arVlxRqTxK0UurkpCZCdlYE0gyZ875/77/mUkYkkwW7X2e
2399
+ W5if539y5sy/ft/7f9/7fecMgmTL3lqquGneRxU9XlGygypSSBkdpZSy8d0XipDcDP0oJaRY
2400
+ EfWOa9vz8LktK8ps6a+UCtNcK4R5O65Ho/pQi5lhXMZN6yvC+bfwWaTu91dHAqAvGKa5JCvK
2401
+ bOm3cMNYAID9uN/vuDkXAPoKl4WDDFNsmFYdEeLoXvcLiWFMzEp5by4ABazYKpLZHRJhWH8S
2402
+ hvHgYEPB8l0pLGvFrqHFaRj7I875tKyg92IjBgC9Qbg5e+BmxkSAZQcuDhl0PMt6C4D8Oazf
2403
+ YsPyKWFaL2fFvHf7yYu0ldLkfRB3+h2ARQJoy4dgGY/RPI4b5iJuWE24c2hW0HtvKQJwPgMo
2404
+ jhuk3Uhwrc/AzWYDZJ+CpJ07hLFNZpp3wJo9nRXz3kzFTPPHqL8ftJ1hPASwPJM0aeY5AObn
2405
+ uMofPB1i1eLvPllJ773lQIBg4xBAcGAKLDW7wGm9Civ1o4Hdq7kE4PxZVsx7d0R5IsBTDzA8
2406
+ lQ6gfqzdi6j39Op7Au5tw1VlhiDhCK5TGcl8W7bs5SWgORMs01+FMG/A55xeYDrF0IlYcLf0
2407
+ lAT6vKRJfaaUBwKJN4Wwrkl9PABc7vzebWhW9ntKKRxByHYXF3FURpIZ+279qtR9qXNYlImr
2408
+ CFV5jkseJK79X549Ms2PXaWekInE4/h0mDDpLZSyWUopRIxqse6bGrOnKEVKMcG+TsIGdzP/
2409
+ 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
2487
+ </xsl:text>
2488
+ </xsl:variable>
2489
+
2490
+ <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2491
+
2492
+ <title-table lang="en">Table </title-table>
2493
+ <title-table lang="fr">Tableau </title-table>
2494
+
2495
+ <title-table lang="zh">Table </title-table>
2496
+
2497
+
2498
+
2499
+ <title-note lang="en">NOTE </title-note>
2500
+ <title-note lang="fr">NOTE </title-note>
2501
+
2502
+ <title-note lang="zh">NOTE </title-note>
2503
+
2504
+
2505
+
2506
+ <title-figure lang="en">Figure </title-figure>
2507
+ <title-figure lang="fr">Figure </title-figure>
2508
+
2509
+ <title-figure lang="zh">Figure </title-figure>
2510
+
2511
+
2512
+
2513
+ <title-example lang="en">EXAMPLE </title-example>
2514
+ <title-example lang="fr">EXEMPLE </title-example>
2515
+
2516
+ <title-example lang="zh">EXAMPLE </title-example>
2517
+
2518
+
2519
+
2520
+ <title-example-xref lang="en">Example </title-example-xref>
2521
+ <title-example-xref lang="fr">Exemple </title-example-xref>
2522
+
2523
+ <title-section lang="en">Section </title-section>
2524
+ <title-section lang="fr">Section </title-section>
2525
+
2526
+ <title-inequality lang="en">Inequality </title-inequality>
2527
+ <title-inequality lang="fr">Inequality </title-inequality>
2528
+
2529
+ <title-equation lang="en">Equation </title-equation>
2530
+ <title-equation lang="fr">Equation </title-equation>
2531
+
2532
+ <title-annex lang="en">Annex </title-annex>
2533
+ <title-annex lang="fr">Annexe </title-annex>
2534
+
2535
+ <title-annex lang="zh">Annex </title-annex>
2536
+
2537
+
2538
+
2539
+ <title-appendix lang="en">Appendix </title-appendix>
2540
+ <title-appendix lang="fr">Appendix </title-appendix>
2541
+
2542
+ <title-clause lang="en">Clause </title-clause>
2543
+ <title-clause lang="fr">Article </title-clause>
2544
+
2545
+ <title-clause lang="zh">Clause </title-clause>
2546
+
2547
+
2548
+
2549
+ <title-edition lang="en">
2550
+
2551
+ <xsl:text>Edition </xsl:text>
2552
+
2553
+
2554
+ </title-edition>
2555
+
2556
+ <title-formula lang="en">Formula </title-formula>
2557
+ <title-formula lang="fr">Formula </title-formula>
2558
+
2559
+ <title-toc lang="en">
2560
+
2561
+
2562
+
2563
+ </title-toc>
2564
+ <title-toc lang="fr">Sommaire</title-toc>
2565
+
2566
+ <title-toc lang="zh">Contents</title-toc>
2567
+
2568
+
2569
+
2570
+ <title-page lang="en">Page</title-page>
2571
+ <title-page lang="fr">Page</title-page>
2572
+
2573
+ <title-key lang="en">Key</title-key>
2574
+ <title-key lang="fr">Légende</title-key>
2575
+
2576
+ <title-where lang="en">where</title-where>
2577
+ <title-where lang="fr">où</title-where>
2578
+
2579
+ <title-descriptors lang="en">Descriptors</title-descriptors>
2580
+
2581
+ <title-part lang="en">
2582
+
2583
+
2584
+ </title-part>
2585
+ <title-part lang="fr">
2586
+
2587
+
2588
+ </title-part>
2589
+ <title-part lang="zh">第 # 部分:</title-part>
2590
+
2591
+ <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
2592
+ <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
2593
+
2594
+ <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
2595
+
2596
+
2597
+
2598
+ <title-modified lang="en">modified</title-modified>
2599
+ <title-modified lang="fr">modifiée</title-modified>
2600
+
2601
+ <title-modified lang="zh">modified</title-modified>
2602
+
2603
+
2604
+
2605
+ <title-source lang="en">SOURCE</title-source>
2606
+
2607
+ <title-keywords lang="en">Keywords</title-keywords>
2608
+
2609
+ <title-deprecated lang="en">DEPRECATED</title-deprecated>
2610
+ <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2611
+
2612
+ <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
2613
+
2614
+ <title-list-tables lang="en">List of Tables</title-list-tables>
2615
+
2616
+ <title-list-figures lang="en">List of Figures</title-list-figures>
2617
+
2618
+ <title-recommendation lang="en">Recommendation </title-recommendation>
2619
+
2620
+ <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2621
+
2622
+ <title-abstract lang="en">Abstract</title-abstract>
2623
+
2624
+ <title-summary lang="en">Summary</title-summary>
2625
+
2626
+ <title-in lang="en">in </title-in>
2627
+
2628
+ <title-box lang="en">Box </title-box>
2629
+
2630
+ <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2631
+ <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2632
+
2633
+ <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
2634
+ <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2635
+
2636
+ <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
2637
+ <title-issuance-date lang="zh"># 发布</title-issuance-date>
2638
+
2639
+ <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
2640
+ <title-implementation-date lang="zh"># 实施</title-implementation-date>
2641
+
2642
+ <title-obligation-normative lang="en">normative</title-obligation-normative>
2643
+ <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
2644
+
2645
+ <title-caution lang="en">CAUTION</title-caution>
2646
+ <title-caution lang="zh">注意</title-caution>
2647
+
2648
+ <title-warning lang="en">WARNING</title-warning>
2649
+ <title-warning lang="zh">警告</title-warning>
2650
+
2651
+ <title-amendment lang="en">AMENDMENT</title-amendment>
2652
+ </xsl:variable><xsl:template name="getTitle">
2653
+ <xsl:param name="name"/>
2654
+ <xsl:variable name="lang">
2655
+ <xsl:call-template name="getLang"/>
2656
+ </xsl:variable>
2657
+ <xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
2658
+ <xsl:choose>
2659
+ <xsl:when test="normalize-space($title_) != ''">
2660
+ <xsl:value-of select="$title_"/>
2661
+ </xsl:when>
2662
+ <xsl:otherwise>
2663
+ <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
2664
+ </xsl:otherwise>
2665
+ </xsl:choose>
2666
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
2667
+
2668
+
2669
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2676
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2677
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2678
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2679
+
2680
+
2681
+
2682
+
2683
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2684
+
2685
+
2686
+
2687
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2688
+
2689
+
2690
+
2691
+ </xsl:attribute-set><xsl:template match="text()">
2692
+ <xsl:value-of select="."/>
2693
+ </xsl:template><xsl:template match="*[local-name()='br']">
2694
+ <xsl:value-of select="$linebreak"/>
2695
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2696
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2697
+ <xsl:call-template name="add-zero-spaces-java"/>
2698
+ </xsl:template><xsl:template match="*[local-name()='table']">
2699
+
2700
+ <xsl:variable name="simple-table">
2701
+ <!-- <xsl:copy> -->
2702
+ <xsl:call-template name="getSimpleTable"/>
2703
+ <!-- </xsl:copy> -->
2704
+ </xsl:variable>
2705
+
2706
+ <!-- DEBUG -->
2707
+ <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2708
+ <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2709
+
2710
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2711
+
2712
+ <!-- <xsl:if test="$namespace = 'iso'">
2713
+ <fo:block space-before="6pt">&#xA0;</fo:block>
2714
+ </xsl:if> -->
2715
+
2716
+ <xsl:choose>
2717
+ <xsl:when test="@unnumbered = 'true'"/>
2718
+ <xsl:otherwise>
2719
+
2720
+
2721
+
2722
+ <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2729
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2730
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2731
+ <xsl:attribute name="text-align">left</xsl:attribute>
2732
+
2733
+
2734
+
2735
+
2736
+ <xsl:variable name="title-table">
2737
+ <xsl:call-template name="getTitle">
2738
+ <xsl:with-param name="name" select="'title-table'"/>
2739
+ </xsl:call-template>
2740
+ </xsl:variable>
2741
+ <xsl:value-of select="$title-table"/>
2742
+
2743
+ <xsl:call-template name="getTableNumber"/>
2744
+
2745
+
2746
+ <xsl:if test="*[local-name()='name']">
2747
+
2748
+ :
2749
+
2750
+ <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2751
+ </xsl:if>
2752
+ </fo:block>
2753
+
2754
+
2755
+ <xsl:call-template name="fn_name_display"/>
2756
+
2757
+ </xsl:otherwise>
2758
+ </xsl:choose>
2759
+
2760
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2761
+
2762
+ <!-- <xsl:variable name="cols-count">
2763
+ <xsl:choose>
2764
+ <xsl:when test="*[local-name()='thead']">
2765
+ <xsl:call-template name="calculate-columns-numbers">
2766
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2767
+ </xsl:call-template>
2768
+ </xsl:when>
2769
+ <xsl:otherwise>
2770
+ <xsl:call-template name="calculate-columns-numbers">
2771
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2772
+ </xsl:call-template>
2773
+ </xsl:otherwise>
2774
+ </xsl:choose>
2775
+ </xsl:variable> -->
2776
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2777
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2778
+
2779
+
2780
+
2781
+ <xsl:variable name="colwidths">
2782
+ <xsl:call-template name="calculate-column-widths">
2783
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2784
+ <xsl:with-param name="table" select="$simple-table"/>
2785
+ </xsl:call-template>
2786
+ </xsl:variable>
2787
+
2788
+ <!-- <xsl:variable name="colwidths2">
2789
+ <xsl:call-template name="calculate-column-widths">
2790
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2791
+ </xsl:call-template>
2792
+ </xsl:variable> -->
2793
+
2794
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2795
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2796
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2797
+
2798
+ <xsl:variable name="margin-left">
2799
+ <xsl:choose>
2800
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2801
+ <xsl:otherwise>0</xsl:otherwise>
2802
+ </xsl:choose>
2803
+ </xsl:variable>
2804
+
2805
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2806
+
2807
+
2808
+
2809
+
2810
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+ <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
2826
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2827
+
2828
+
2829
+
2830
+
2831
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2832
+ <xsl:choose>
2833
+ <xsl:when test=". = 1 or . = 0">
2834
+ <fo:table-column column-width="proportional-column-width(2)"/>
2835
+ </xsl:when>
2836
+ <xsl:otherwise>
2837
+ <fo:table-column column-width="proportional-column-width({.})"/>
2838
+ </xsl:otherwise>
2839
+ </xsl:choose>
2840
+ </xsl:for-each>
2841
+
2842
+ <xsl:choose>
2843
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2844
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2845
+ </xsl:when>
2846
+ <xsl:otherwise>
2847
+ <xsl:apply-templates/>
2848
+ </xsl:otherwise>
2849
+ </xsl:choose>
2850
+
2851
+ </fo:table>
2852
+
2853
+
2854
+
2855
+ </fo:block-container>
2856
+ </xsl:template><xsl:template name="getTableNumber">
2857
+ <xsl:choose>
2858
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2859
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2860
+ </xsl:when>
2861
+ <xsl:when test="ancestor::*[local-name()='annex']">
2862
+
2863
+
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
2870
+ <xsl:number format="I." count="*[local-name()='annex']"/>
2871
+ <xsl:number format="1" level="any" count="*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true'][ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
2872
+
2873
+
2874
+ </xsl:when>
2875
+ <xsl:otherwise>
2876
+
2877
+
2878
+ <xsl:number format="A." count="*[local-name()='annex']"/>
2879
+ <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2880
+
2881
+ </xsl:otherwise>
2882
+ </xsl:choose>
2883
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
2884
+ <xsl:apply-templates/>
2885
+ </xsl:template><xsl:template name="calculate-columns-numbers">
2886
+ <xsl:param name="table-row"/>
2887
+ <xsl:variable name="columns-count" select="count($table-row/*)"/>
2888
+ <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
2889
+ <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
2890
+ <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
2891
+ </xsl:template><xsl:template name="calculate-column-widths">
2892
+ <xsl:param name="table"/>
2893
+ <xsl:param name="cols-count"/>
2894
+ <xsl:param name="curr-col" select="1"/>
2895
+ <xsl:param name="width" select="0"/>
2896
+
2897
+ <xsl:if test="$curr-col &lt;= $cols-count">
2898
+ <xsl:variable name="widths">
2899
+ <xsl:choose>
2900
+ <xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
2901
+ <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
2902
+ <xsl:variable name="words">
2903
+ <xsl:call-template name="tokenize">
2904
+ <xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
2905
+ </xsl:call-template>
2906
+ </xsl:variable>
2907
+ <xsl:variable name="max_length">
2908
+ <xsl:call-template name="max_length">
2909
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2910
+ </xsl:call-template>
2911
+ </xsl:variable>
2912
+ <width>
2913
+ <xsl:value-of select="$max_length"/>
2914
+ </width>
2915
+ </xsl:for-each>
2916
+ <xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
2917
+ <xsl:variable name="words">
2918
+ <xsl:call-template name="tokenize">
2919
+ <xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
2920
+ </xsl:call-template>
2921
+ </xsl:variable>
2922
+ <xsl:variable name="max_length">
2923
+ <xsl:call-template name="max_length">
2924
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2925
+ </xsl:call-template>
2926
+ </xsl:variable>
2927
+ <width>
2928
+ <xsl:value-of select="$max_length"/>
2929
+ </width>
2930
+
2931
+ </xsl:for-each>
2932
+ </xsl:when>
2933
+ <xsl:otherwise>
2934
+ <xsl:for-each select="xalan:nodeset($table)//tr">
2935
+ <xsl:variable name="td_text">
2936
+ <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2937
+ </xsl:variable>
2938
+ <xsl:variable name="words">
2939
+ <xsl:variable name="string_with_added_zerospaces">
2940
+ <xsl:call-template name="add-zero-spaces-java">
2941
+ <xsl:with-param name="text" select="$td_text"/>
2942
+ </xsl:call-template>
2943
+ </xsl:variable>
2944
+ <xsl:call-template name="tokenize">
2945
+ <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2946
+ <!-- 2009 thinspace -->
2947
+ <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
2948
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​', ' '))"/>
2949
+ </xsl:call-template>
2950
+ </xsl:variable>
2951
+ <xsl:variable name="max_length">
2952
+ <xsl:call-template name="max_length">
2953
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2954
+ </xsl:call-template>
2955
+ </xsl:variable>
2956
+ <width>
2957
+ <xsl:variable name="divider">
2958
+ <xsl:choose>
2959
+ <xsl:when test="td[$curr-col]/@divide">
2960
+ <xsl:value-of select="td[$curr-col]/@divide"/>
2961
+ </xsl:when>
2962
+ <xsl:otherwise>1</xsl:otherwise>
2963
+ </xsl:choose>
2964
+ </xsl:variable>
2965
+ <xsl:value-of select="$max_length div $divider"/>
2966
+ </width>
2967
+
2968
+ </xsl:for-each>
2969
+
2970
+ </xsl:otherwise>
2971
+ </xsl:choose>
2972
+ </xsl:variable>
2973
+
2974
+
2975
+ <column>
2976
+ <xsl:for-each select="xalan:nodeset($widths)//width">
2977
+ <xsl:sort select="." data-type="number" order="descending"/>
2978
+ <xsl:if test="position()=1">
2979
+ <xsl:value-of select="."/>
2980
+ </xsl:if>
2981
+ </xsl:for-each>
2982
+ </column>
2983
+ <xsl:call-template name="calculate-column-widths">
2984
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2985
+ <xsl:with-param name="curr-col" select="$curr-col +1"/>
2986
+ <xsl:with-param name="table" select="$table"/>
2987
+ </xsl:call-template>
2988
+ </xsl:if>
2989
+ </xsl:template><xsl:template match="text()" mode="td_text">
2990
+ <xsl:variable name="zero-space">​</xsl:variable>
2991
+ <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
2992
+ </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
2993
+ <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2994
+ </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2995
+ <xsl:value-of select="@target"/>
2996
+ </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2997
+ <xsl:param name="cols-count"/>
2998
+ <!-- font-weight="bold" -->
2999
+ <fo:table-header>
3000
+
3001
+ <xsl:apply-templates/>
3002
+ </fo:table-header>
3003
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
3004
+ <fo:table-body>
3005
+ <xsl:apply-templates/>
3006
+ </fo:table-body>
3007
+ </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3008
+ <xsl:apply-templates/>
3009
+ </xsl:template><xsl:template name="insertTableFooter">
3010
+ <xsl:param name="cols-count"/>
3011
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3012
+ <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3013
+
3014
+ <fo:table-footer>
3015
+
3016
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3017
+
3018
+ <!-- if there are note(s) or fn(s) then create footer row -->
3019
+ <xsl:if test="$isNoteOrFnExist = 'true'">
3020
+
3021
+
3022
+
3023
+ <fo:table-row>
3024
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3025
+
3026
+
3027
+
3028
+ <!-- fn will be processed inside 'note' processing -->
3029
+
3030
+
3031
+ <!-- except gb -->
3032
+
3033
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3034
+
3035
+
3036
+ <!-- horizontal row separator -->
3037
+
3038
+
3039
+ <!-- fn processing -->
3040
+ <xsl:call-template name="fn_display"/>
3041
+
3042
+ </fo:table-cell>
3043
+ </fo:table-row>
3044
+
3045
+ </xsl:if>
3046
+ </fo:table-footer>
3047
+
3048
+ </xsl:if>
3049
+ </xsl:template><xsl:template match="*[local-name()='tbody']">
3050
+
3051
+ <xsl:variable name="cols-count">
3052
+ <xsl:choose>
3053
+ <xsl:when test="../*[local-name()='thead']">
3054
+ <xsl:call-template name="calculate-columns-numbers">
3055
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
3056
+ </xsl:call-template>
3057
+ </xsl:when>
3058
+ <xsl:otherwise>
3059
+ <xsl:call-template name="calculate-columns-numbers">
3060
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
3061
+ </xsl:call-template>
3062
+ </xsl:otherwise>
3063
+ </xsl:choose>
3064
+ </xsl:variable>
3065
+
3066
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3067
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3068
+ </xsl:apply-templates>
3069
+
3070
+ <xsl:call-template name="insertTableFooter">
3071
+ <xsl:with-param name="cols-count" select="$cols-count"/>
3072
+ </xsl:call-template>
3073
+
3074
+ <fo:table-body>
3075
+ <xsl:apply-templates/>
3076
+ <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3077
+
3078
+ </fo:table-body>
3079
+
3080
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3081
+ <xsl:variable name="parent-name" select="local-name(..)"/>
3082
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3083
+ <fo:table-row min-height="4mm">
3084
+ <xsl:if test="$parent-name = 'thead'">
3085
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3086
+
3087
+
3088
+
3089
+
3090
+
3091
+ </xsl:if>
3092
+ <xsl:if test="$parent-name = 'tfoot'">
3093
+
3094
+
3095
+ </xsl:if>
3096
+
3097
+
3098
+ <xsl:if test="not(*[local-name()='th'])">
3099
+ <xsl:attribute name="min-height">8mm</xsl:attribute>
3100
+ </xsl:if>
3101
+
3102
+ <xsl:apply-templates/>
3103
+ </fo:table-row>
3104
+ </xsl:template><xsl:template match="*[local-name()='th']">
3105
+ <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3106
+
3107
+
3108
+
3109
+
3110
+
3111
+
3112
+
3113
+ <xsl:attribute name="display-align">center</xsl:attribute>
3114
+ <xsl:attribute name="font-style">italic</xsl:attribute>
3115
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
3116
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
3117
+ <xsl:attribute name="padding-left">2mm</xsl:attribute>
3118
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3119
+ <xsl:attribute name="border-top">solid black 0.2pt</xsl:attribute>
3120
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3121
+
3122
+ <xsl:if test="@colspan">
3123
+ <xsl:attribute name="number-columns-spanned">
3124
+ <xsl:value-of select="@colspan"/>
3125
+ </xsl:attribute>
3126
+ </xsl:if>
3127
+ <xsl:if test="@rowspan">
3128
+ <xsl:attribute name="number-rows-spanned">
3129
+ <xsl:value-of select="@rowspan"/>
3130
+ </xsl:attribute>
3131
+ </xsl:if>
3132
+ <fo:block>
3133
+ <xsl:apply-templates/>
3134
+ </fo:block>
3135
+ </fo:table-cell>
3136
+ </xsl:template><xsl:template match="*[local-name()='td']">
3137
+ <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3138
+
3139
+
3140
+
3141
+
3142
+
3143
+
3144
+
3145
+
3146
+ <xsl:attribute name="display-align">before</xsl:attribute>
3147
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3148
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
3149
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
3150
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3151
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3152
+
3153
+
3154
+ <xsl:if test="@colspan">
3155
+ <xsl:attribute name="number-columns-spanned">
3156
+ <xsl:value-of select="@colspan"/>
3157
+ </xsl:attribute>
3158
+ </xsl:if>
3159
+ <xsl:if test="@rowspan">
3160
+ <xsl:attribute name="number-rows-spanned">
3161
+ <xsl:value-of select="@rowspan"/>
3162
+ </xsl:attribute>
3163
+ </xsl:if>
3164
+ <fo:block>
3165
+
3166
+ <xsl:apply-templates/>
3167
+ </fo:block>
3168
+ <!-- <xsl:choose>
3169
+ <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
3170
+ <xsl:apply-templates />
3171
+ </xsl:when>
3172
+ <xsl:otherwise>
3173
+ <fo:block>
3174
+ <xsl:apply-templates />
3175
+ </fo:block>
3176
+ </xsl:otherwise>
3177
+ </xsl:choose> -->
3178
+
3179
+
3180
+ </fo:table-cell>
3181
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3182
+
3183
+
3184
+ <fo:block font-size="10pt" margin-bottom="12pt">
3185
+
3186
+
3187
+
3188
+
3189
+ <fo:inline padding-right="2mm">
3190
+
3191
+
3192
+
3193
+ <xsl:if test="@type = 'source' or @type = 'abbreviation'">
3194
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3195
+ <fo:inline>
3196
+ <xsl:call-template name="capitalize">
3197
+ <xsl:with-param name="str" select="@type"/>
3198
+ </xsl:call-template>
3199
+ <xsl:text>: </xsl:text>
3200
+ </fo:inline>
3201
+ </xsl:if>
3202
+
3203
+ <xsl:variable name="title-note">
3204
+ <xsl:call-template name="getTitle">
3205
+ <xsl:with-param name="name" select="'title-note'"/>
3206
+ </xsl:call-template>
3207
+ </xsl:variable>
3208
+ <xsl:value-of select="$title-note"/>
3209
+
3210
+
3211
+
3212
+ <xsl:number format="1 "/>
3213
+
3214
+ </fo:inline>
3215
+ <xsl:apply-templates mode="process"/>
3216
+ </fo:block>
3217
+
3218
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3219
+ <xsl:apply-templates/>
3220
+ </xsl:template><xsl:template name="fn_display">
3221
+ <xsl:variable name="references">
3222
+ <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3223
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3224
+
3225
+
3226
+ <xsl:apply-templates/>
3227
+ </fn>
3228
+ </xsl:for-each>
3229
+ </xsl:variable>
3230
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3231
+ <xsl:variable name="reference" select="@reference"/>
3232
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3233
+ <fo:block margin-bottom="12pt">
3234
+
3235
+
3236
+
3237
+
3238
+ <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3239
+
3240
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3241
+
3242
+
3243
+
3244
+
3245
+
3246
+
3247
+ <xsl:value-of select="@reference"/>
3248
+
3249
+ </fo:inline>
3250
+ <fo:inline>
3251
+
3252
+ <xsl:apply-templates/>
3253
+ </fo:inline>
3254
+ </fo:block>
3255
+ </xsl:if>
3256
+ </xsl:for-each>
3257
+ </xsl:template><xsl:template name="fn_name_display">
3258
+ <!-- <xsl:variable name="references">
3259
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3260
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3261
+ <xsl:apply-templates />
3262
+ </fn>
3263
+ </xsl:for-each>
3264
+ </xsl:variable>
3265
+ $references=<xsl:copy-of select="$references"/> -->
3266
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3267
+ <xsl:variable name="reference" select="@reference"/>
3268
+ <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
3269
+ <fo:block margin-bottom="12pt">
3270
+ <xsl:apply-templates/>
3271
+ </fo:block>
3272
+ </xsl:for-each>
3273
+ </xsl:template><xsl:template name="fn_display_figure">
3274
+ <xsl:variable name="key_iso">
3275
+ <!-- and (not(@class) or @class !='pseudocode') -->
3276
+ </xsl:variable>
3277
+ <xsl:variable name="references">
3278
+ <xsl:for-each select=".//*[local-name()='fn']">
3279
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3280
+ <xsl:apply-templates/>
3281
+ </fn>
3282
+ </xsl:for-each>
3283
+ </xsl:variable>
3284
+
3285
+ <!-- current hierarchy is 'figure' element -->
3286
+ <xsl:variable name="following_dl_colwidths">
3287
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3288
+ <xsl:variable name="html-table">
3289
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3290
+ <xsl:element name="{$ns}:table">
3291
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3292
+ <tbody>
3293
+ <xsl:apply-templates mode="dl"/>
3294
+ </tbody>
3295
+ </xsl:for-each>
3296
+ </xsl:element>
3297
+ </xsl:variable>
3298
+
3299
+ <xsl:call-template name="calculate-column-widths">
3300
+ <xsl:with-param name="cols-count" select="2"/>
3301
+ <xsl:with-param name="table" select="$html-table"/>
3302
+ </xsl:call-template>
3303
+
3304
+ </xsl:if>
3305
+ </xsl:variable>
3306
+
3307
+
3308
+ <xsl:variable name="maxlength_dt">
3309
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3310
+ <xsl:call-template name="getMaxLength_dt"/>
3311
+ </xsl:for-each>
3312
+ </xsl:variable>
3313
+
3314
+ <xsl:if test="xalan:nodeset($references)//fn">
3315
+ <fo:block>
3316
+ <fo:table width="95%" table-layout="fixed">
3317
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3318
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3319
+
3320
+ </xsl:if>
3321
+ <xsl:choose>
3322
+ <!-- if there 'dl', then set same columns width -->
3323
+ <xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
3324
+ <xsl:call-template name="setColumnWidth_dl">
3325
+ <xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
3326
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3327
+ </xsl:call-template>
3328
+ </xsl:when>
3329
+ <xsl:otherwise>
3330
+ <fo:table-column column-width="15%"/>
3331
+ <fo:table-column column-width="85%"/>
3332
+ </xsl:otherwise>
3333
+ </xsl:choose>
3334
+ <fo:table-body>
3335
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3336
+ <xsl:variable name="reference" select="@reference"/>
3337
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3338
+ <fo:table-row>
3339
+ <fo:table-cell>
3340
+ <fo:block>
3341
+ <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3342
+
3343
+ <xsl:value-of select="@reference"/>
3344
+ </fo:inline>
3345
+ </fo:block>
3346
+ </fo:table-cell>
3347
+ <fo:table-cell>
3348
+ <fo:block text-align="justify" margin-bottom="12pt">
3349
+
3350
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3351
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3352
+ </xsl:if>
3353
+
3354
+ <xsl:apply-templates/>
3355
+ </fo:block>
3356
+ </fo:table-cell>
3357
+ </fo:table-row>
3358
+ </xsl:if>
3359
+ </xsl:for-each>
3360
+ </fo:table-body>
3361
+ </fo:table>
3362
+ </fo:block>
3363
+ </xsl:if>
3364
+
3365
+ </xsl:template><xsl:template match="*[local-name()='fn']">
3366
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3367
+ <fo:inline font-size="80%" keep-with-previous.within-line="always">
3368
+
3369
+
3370
+
3371
+
3372
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3373
+
3374
+ <xsl:value-of select="@reference"/>
3375
+ </fo:basic-link>
3376
+ </fo:inline>
3377
+ </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
3378
+ <fo:inline>
3379
+ <xsl:apply-templates/>
3380
+ </fo:inline>
3381
+ </xsl:template><xsl:template match="*[local-name()='dl']">
3382
+ <xsl:variable name="parent" select="local-name(..)"/>
3383
+
3384
+ <xsl:variable name="key_iso">
3385
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
3386
+ </xsl:variable>
3387
+
3388
+ <xsl:choose>
3389
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3390
+
3391
+
3392
+ <fo:block margin-bottom="12pt" text-align="left">
3393
+
3394
+ <xsl:variable name="title-where">
3395
+ <xsl:call-template name="getTitle">
3396
+ <xsl:with-param name="name" select="'title-where'"/>
3397
+ </xsl:call-template>
3398
+ </xsl:variable>
3399
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3400
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3401
+ <xsl:text/>
3402
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3403
+ </fo:block>
3404
+
3405
+ </xsl:when>
3406
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3407
+ <fo:block margin-bottom="12pt" text-align="left">
3408
+
3409
+
3410
+
3411
+
3412
+ <xsl:variable name="title-where">
3413
+ <xsl:call-template name="getTitle">
3414
+ <xsl:with-param name="name" select="'title-where'"/>
3415
+ </xsl:call-template>
3416
+ </xsl:variable>
3417
+ <xsl:value-of select="$title-where"/>
3418
+ </fo:block>
3419
+ </xsl:when>
3420
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3421
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3422
+
3423
+
3424
+
3425
+ <xsl:variable name="title-key">
3426
+ <xsl:call-template name="getTitle">
3427
+ <xsl:with-param name="name" select="'title-key'"/>
3428
+ </xsl:call-template>
3429
+ </xsl:variable>
3430
+ <xsl:value-of select="$title-key"/>
3431
+ </fo:block>
3432
+ </xsl:when>
3433
+ </xsl:choose>
3434
+
3435
+ <!-- a few components -->
3436
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3437
+ <fo:block>
3438
+
3439
+
3440
+
3441
+
3442
+ <fo:block>
3443
+
3444
+
3445
+
3446
+
3447
+ <fo:table width="95%" table-layout="fixed">
3448
+
3449
+ <xsl:choose>
3450
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3451
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3452
+ </xsl:when>
3453
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3454
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3455
+
3456
+ </xsl:when>
3457
+ </xsl:choose>
3458
+ <!-- create virtual html table for dl/[dt and dd] -->
3459
+ <xsl:variable name="html-table">
3460
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3461
+ <xsl:element name="{$ns}:table">
3462
+ <tbody>
3463
+ <xsl:apply-templates mode="dl"/>
3464
+ </tbody>
3465
+ </xsl:element>
3466
+ </xsl:variable>
3467
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
3468
+ <xsl:variable name="colwidths">
3469
+ <xsl:call-template name="calculate-column-widths">
3470
+ <xsl:with-param name="cols-count" select="2"/>
3471
+ <xsl:with-param name="table" select="$html-table"/>
3472
+ </xsl:call-template>
3473
+ </xsl:variable>
3474
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3475
+ <xsl:variable name="maxlength_dt">
3476
+ <xsl:call-template name="getMaxLength_dt"/>
3477
+ </xsl:variable>
3478
+ <xsl:call-template name="setColumnWidth_dl">
3479
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3480
+ <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3481
+ </xsl:call-template>
3482
+ <fo:table-body>
3483
+ <xsl:apply-templates>
3484
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3485
+ </xsl:apply-templates>
3486
+ </fo:table-body>
3487
+ </fo:table>
3488
+ </fo:block>
3489
+ </fo:block>
3490
+ </xsl:if>
3491
+ </xsl:template><xsl:template name="setColumnWidth_dl">
3492
+ <xsl:param name="colwidths"/>
3493
+ <xsl:param name="maxlength_dt"/>
3494
+ <xsl:choose>
3495
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3496
+ <fo:table-column column-width="50%"/>
3497
+ <fo:table-column column-width="50%"/>
3498
+ </xsl:when>
3499
+ <xsl:otherwise>
3500
+ <xsl:choose>
3501
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
3502
+ <fo:table-column column-width="5%"/>
3503
+ <fo:table-column column-width="95%"/>
3504
+ </xsl:when>
3505
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
3506
+ <fo:table-column column-width="10%"/>
3507
+ <fo:table-column column-width="90%"/>
3508
+ </xsl:when>
3509
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3510
+ <fo:table-column column-width="60%"/>
3511
+ <fo:table-column column-width="40%"/>
3512
+ </xsl:when> -->
3513
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3514
+ <fo:table-column column-width="50%"/>
3515
+ <fo:table-column column-width="50%"/>
3516
+ </xsl:when>
3517
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3518
+ <fo:table-column column-width="40%"/>
3519
+ <fo:table-column column-width="60%"/>
3520
+ </xsl:when>
3521
+ <xsl:otherwise>
3522
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3523
+ <xsl:choose>
3524
+ <xsl:when test=". = 1 or . = 0">
3525
+ <fo:table-column column-width="proportional-column-width(2)"/>
3526
+ </xsl:when>
3527
+ <xsl:otherwise>
3528
+ <fo:table-column column-width="proportional-column-width({.})"/>
3529
+ </xsl:otherwise>
3530
+ </xsl:choose>
3531
+ </xsl:for-each>
3532
+ </xsl:otherwise>
3533
+ </xsl:choose>
3534
+ <!-- <fo:table-column column-width="15%"/>
3535
+ <fo:table-column column-width="85%"/> -->
3536
+ </xsl:otherwise>
3537
+ </xsl:choose>
3538
+ </xsl:template><xsl:template name="getMaxLength_dt">
3539
+ <xsl:for-each select="*[local-name()='dt']">
3540
+ <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3541
+ <xsl:if test="position() = 1">
3542
+ <xsl:value-of select="string-length(normalize-space(.))"/>
3543
+ </xsl:if>
3544
+ </xsl:for-each>
3545
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
3546
+ <xsl:param name="key_iso"/>
3547
+
3548
+ <!-- <tr>
3549
+ <td>NOTE</td>
3550
+ <td>
3551
+ <xsl:apply-templates />
3552
+ </td>
3553
+ </tr>
3554
+ -->
3555
+ <fo:table-row>
3556
+ <fo:table-cell>
3557
+ <fo:block margin-top="6pt">
3558
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3559
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3560
+ </xsl:if>
3561
+ <xsl:variable name="title-note">
3562
+ <xsl:call-template name="getTitle">
3563
+ <xsl:with-param name="name" select="'title-note'"/>
3564
+ </xsl:call-template>
3565
+ </xsl:variable>
3566
+ <xsl:value-of select="$title-note"/>
3567
+ </fo:block>
3568
+ </fo:table-cell>
3569
+ <fo:table-cell>
3570
+ <fo:block>
3571
+ <xsl:apply-templates/>
3572
+ </fo:block>
3573
+ </fo:table-cell>
3574
+ </fo:table-row>
3575
+ </xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
3576
+ <tr>
3577
+ <td>
3578
+ <xsl:apply-templates/>
3579
+ </td>
3580
+ <td>
3581
+
3582
+
3583
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3584
+
3585
+ </td>
3586
+ </tr>
3587
+
3588
+ </xsl:template><xsl:template match="*[local-name()='dt']">
3589
+ <xsl:param name="key_iso"/>
3590
+
3591
+ <fo:table-row>
3592
+ <fo:table-cell>
3593
+
3594
+ <fo:block margin-top="6pt">
3595
+
3596
+
3597
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3598
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3599
+
3600
+ </xsl:if>
3601
+
3602
+
3603
+
3604
+
3605
+
3606
+ <xsl:apply-templates/>
3607
+ <!-- <xsl:if test="$namespace = 'gb'">
3608
+ <xsl:if test="ancestor::*[local-name()='formula']">
3609
+ <xsl:text>—</xsl:text>
3610
+ </xsl:if>
3611
+ </xsl:if> -->
3612
+ </fo:block>
3613
+ </fo:table-cell>
3614
+ <fo:table-cell>
3615
+ <fo:block>
3616
+
3617
+
3618
+
3619
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3620
+
3621
+ </fo:block>
3622
+ </fo:table-cell>
3623
+ </fo:table-row>
3624
+
3625
+ </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3626
+ <xsl:apply-templates/>
3627
+ </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3628
+ <xsl:apply-templates/>
3629
+ </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3630
+ <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3631
+ </xsl:template><xsl:template match="*[local-name()='em']">
3632
+ <fo:inline font-style="italic">
3633
+ <xsl:apply-templates/>
3634
+ </fo:inline>
3635
+ </xsl:template><xsl:template match="*[local-name()='strong']">
3636
+ <fo:inline font-weight="bold">
3637
+ <xsl:apply-templates/>
3638
+ </fo:inline>
3639
+ </xsl:template><xsl:template match="*[local-name()='sup']">
3640
+ <fo:inline font-size="80%" vertical-align="super">
3641
+ <xsl:apply-templates/>
3642
+ </fo:inline>
3643
+ </xsl:template><xsl:template match="*[local-name()='sub']">
3644
+ <fo:inline font-size="80%" vertical-align="sub">
3645
+ <xsl:apply-templates/>
3646
+ </fo:inline>
3647
+ </xsl:template><xsl:template match="*[local-name()='tt']">
3648
+ <fo:inline font-family="Courier" font-size="10pt">
3649
+ <xsl:apply-templates/>
3650
+ </fo:inline>
3651
+ </xsl:template><xsl:template match="*[local-name()='del']">
3652
+ <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3653
+ <xsl:apply-templates/>
3654
+ </fo:inline>
3655
+ </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
3656
+ <xsl:variable name="text" select="normalize-space(.)"/>
3657
+ <fo:inline font-size="75%">
3658
+ <xsl:if test="string-length($text) &gt; 0">
3659
+ <xsl:call-template name="recursiveSmallCaps">
3660
+ <xsl:with-param name="text" select="$text"/>
3661
+ </xsl:call-template>
3662
+ </xsl:if>
3663
+ </fo:inline>
3664
+ </xsl:template><xsl:template name="recursiveSmallCaps">
3665
+ <xsl:param name="text"/>
3666
+ <xsl:variable name="char" select="substring($text,1,1)"/>
3667
+ <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
3668
+ <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
3669
+ <xsl:choose>
3670
+ <xsl:when test="$char=$upperCase">
3671
+ <fo:inline font-size="{100 div 0.75}%">
3672
+ <xsl:value-of select="$upperCase"/>
3673
+ </fo:inline>
3674
+ </xsl:when>
3675
+ <xsl:otherwise>
3676
+ <xsl:value-of select="$upperCase"/>
3677
+ </xsl:otherwise>
3678
+ </xsl:choose>
3679
+ <xsl:if test="string-length($text) &gt; 1">
3680
+ <xsl:call-template name="recursiveSmallCaps">
3681
+ <xsl:with-param name="text" select="substring($text,2)"/>
3682
+ </xsl:call-template>
3683
+ </xsl:if>
3684
+ </xsl:template><xsl:template name="tokenize">
3685
+ <xsl:param name="text"/>
3686
+ <xsl:param name="separator" select="' '"/>
3687
+ <xsl:choose>
3688
+ <xsl:when test="not(contains($text, $separator))">
3689
+ <word>
3690
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3691
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3692
+ <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
3693
+ <xsl:variable name="len_str">
3694
+ <xsl:choose>
3695
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3696
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
3697
+ </xsl:when>
3698
+ <xsl:otherwise>
3699
+ <xsl:value-of select="$len_str_tmp"/>
3700
+ </xsl:otherwise>
3701
+ </xsl:choose>
3702
+ </xsl:variable>
3703
+
3704
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3705
+ <xsl:message>
3706
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3707
+ len_str=<xsl:value-of select="$len_str"/>
3708
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3709
+ </xsl:message>
3710
+ </xsl:if> -->
3711
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3712
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
3713
+ <xsl:choose>
3714
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3715
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3716
+ </xsl:when>
3717
+ <xsl:otherwise>
3718
+ <xsl:value-of select="$len_str"/>
3719
+ </xsl:otherwise>
3720
+ </xsl:choose>
3721
+ </word>
3722
+ </xsl:when>
3723
+ <xsl:otherwise>
3724
+ <word>
3725
+ <xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
3726
+ </word>
3727
+ <xsl:call-template name="tokenize">
3728
+ <xsl:with-param name="text" select="substring-after($text, $separator)"/>
3729
+ </xsl:call-template>
3730
+ </xsl:otherwise>
3731
+ </xsl:choose>
3732
+ </xsl:template><xsl:template name="max_length">
3733
+ <xsl:param name="words"/>
3734
+ <xsl:for-each select="$words//word">
3735
+ <xsl:sort select="." data-type="number" order="descending"/>
3736
+ <xsl:if test="position()=1">
3737
+ <xsl:value-of select="."/>
3738
+ </xsl:if>
3739
+ </xsl:for-each>
3740
+ </xsl:template><xsl:template name="add-zero-spaces-java">
3741
+ <xsl:param name="text" select="."/>
3742
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3743
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3744
+ </xsl:template><xsl:template name="add-zero-spaces">
3745
+ <xsl:param name="text" select="."/>
3746
+ <xsl:variable name="zero-space-after-chars">-</xsl:variable>
3747
+ <xsl:variable name="zero-space-after-dot">.</xsl:variable>
3748
+ <xsl:variable name="zero-space-after-colon">:</xsl:variable>
3749
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3750
+ <xsl:variable name="zero-space-after-underscore">_</xsl:variable>
3751
+ <xsl:variable name="zero-space">​</xsl:variable>
3752
+ <xsl:choose>
3753
+ <xsl:when test="contains($text, $zero-space-after-chars)">
3754
+ <xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
3755
+ <xsl:value-of select="$zero-space-after-chars"/>
3756
+ <xsl:value-of select="$zero-space"/>
3757
+ <xsl:call-template name="add-zero-spaces">
3758
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
3759
+ </xsl:call-template>
3760
+ </xsl:when>
3761
+ <xsl:when test="contains($text, $zero-space-after-dot)">
3762
+ <xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
3763
+ <xsl:value-of select="$zero-space-after-dot"/>
3764
+ <xsl:value-of select="$zero-space"/>
3765
+ <xsl:call-template name="add-zero-spaces">
3766
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
3767
+ </xsl:call-template>
3768
+ </xsl:when>
3769
+ <xsl:when test="contains($text, $zero-space-after-colon)">
3770
+ <xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
3771
+ <xsl:value-of select="$zero-space-after-colon"/>
3772
+ <xsl:value-of select="$zero-space"/>
3773
+ <xsl:call-template name="add-zero-spaces">
3774
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
3775
+ </xsl:call-template>
3776
+ </xsl:when>
3777
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3778
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3779
+ <xsl:value-of select="$zero-space-after-equal"/>
3780
+ <xsl:value-of select="$zero-space"/>
3781
+ <xsl:call-template name="add-zero-spaces">
3782
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3783
+ </xsl:call-template>
3784
+ </xsl:when>
3785
+ <xsl:when test="contains($text, $zero-space-after-underscore)">
3786
+ <xsl:value-of select="substring-before($text, $zero-space-after-underscore)"/>
3787
+ <xsl:value-of select="$zero-space-after-underscore"/>
3788
+ <xsl:value-of select="$zero-space"/>
3789
+ <xsl:call-template name="add-zero-spaces">
3790
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-underscore)"/>
3791
+ </xsl:call-template>
3792
+ </xsl:when>
3793
+ <xsl:otherwise>
3794
+ <xsl:value-of select="$text"/>
3795
+ </xsl:otherwise>
3796
+ </xsl:choose>
3797
+ </xsl:template><xsl:template name="add-zero-spaces-equal">
3798
+ <xsl:param name="text" select="."/>
3799
+ <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
3800
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3801
+ <xsl:variable name="zero-space">​</xsl:variable>
3802
+ <xsl:choose>
3803
+ <xsl:when test="contains($text, $zero-space-after-equals)">
3804
+ <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
3805
+ <xsl:value-of select="$zero-space-after-equals"/>
3806
+ <xsl:value-of select="$zero-space"/>
3807
+ <xsl:call-template name="add-zero-spaces-equal">
3808
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
3809
+ </xsl:call-template>
3810
+ </xsl:when>
3811
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3812
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3813
+ <xsl:value-of select="$zero-space-after-equal"/>
3814
+ <xsl:value-of select="$zero-space"/>
3815
+ <xsl:call-template name="add-zero-spaces-equal">
3816
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3817
+ </xsl:call-template>
3818
+ </xsl:when>
3819
+ <xsl:otherwise>
3820
+ <xsl:value-of select="$text"/>
3821
+ </xsl:otherwise>
3822
+ </xsl:choose>
3823
+ </xsl:template><xsl:template name="getSimpleTable">
3824
+ <xsl:variable name="simple-table">
3825
+
3826
+ <!-- Step 1. colspan processing -->
3827
+ <xsl:variable name="simple-table-colspan">
3828
+ <tbody>
3829
+ <xsl:apply-templates mode="simple-table-colspan"/>
3830
+ </tbody>
3831
+ </xsl:variable>
3832
+
3833
+ <!-- Step 2. rowspan processing -->
3834
+ <xsl:variable name="simple-table-rowspan">
3835
+ <xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
3836
+ </xsl:variable>
3837
+
3838
+ <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3839
+
3840
+ <!-- <xsl:choose>
3841
+ <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3842
+
3843
+ </xsl:when>
3844
+ <xsl:otherwise>
3845
+ <xsl:copy-of select="current()"/>
3846
+ </xsl:otherwise>
3847
+ </xsl:choose> -->
3848
+ </xsl:variable>
3849
+ <xsl:copy-of select="$simple-table"/>
3850
+ </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3851
+ <xsl:apply-templates mode="simple-table-colspan"/>
3852
+ </xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3853
+ <xsl:choose>
3854
+ <xsl:when test="@colspan">
3855
+ <xsl:variable name="td">
3856
+ <xsl:element name="td">
3857
+ <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
3858
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3859
+ <xsl:apply-templates mode="simple-table-colspan"/>
3860
+ </xsl:element>
3861
+ </xsl:variable>
3862
+ <xsl:call-template name="repeatNode">
3863
+ <xsl:with-param name="count" select="@colspan"/>
3864
+ <xsl:with-param name="node" select="$td"/>
3865
+ </xsl:call-template>
3866
+ </xsl:when>
3867
+ <xsl:otherwise>
3868
+ <xsl:element name="td">
3869
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3870
+ <xsl:apply-templates mode="simple-table-colspan"/>
3871
+ </xsl:element>
3872
+ </xsl:otherwise>
3873
+ </xsl:choose>
3874
+ </xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
3875
+ <xsl:element name="tr">
3876
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3877
+ <xsl:apply-templates mode="simple-table-colspan"/>
3878
+ </xsl:element>
3879
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
3880
+ <xsl:copy>
3881
+ <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
3882
+ </xsl:copy>
3883
+ </xsl:template><xsl:template name="repeatNode">
3884
+ <xsl:param name="count"/>
3885
+ <xsl:param name="node"/>
3886
+
3887
+ <xsl:if test="$count &gt; 0">
3888
+ <xsl:call-template name="repeatNode">
3889
+ <xsl:with-param name="count" select="$count - 1"/>
3890
+ <xsl:with-param name="node" select="$node"/>
3891
+ </xsl:call-template>
3892
+ <xsl:copy-of select="$node"/>
3893
+ </xsl:if>
3894
+ </xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
3895
+ <xsl:copy>
3896
+ <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
3897
+ </xsl:copy>
3898
+ </xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
3899
+ <xsl:copy>
3900
+ <xsl:copy-of select="tr[1]"/>
3901
+ <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
3902
+ <xsl:with-param name="previousRow" select="tr[1]"/>
3903
+ </xsl:apply-templates>
3904
+ </xsl:copy>
3905
+ </xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
3906
+ <xsl:param name="previousRow"/>
3907
+ <xsl:variable name="currentRow" select="."/>
3908
+
3909
+ <xsl:variable name="normalizedTDs">
3910
+ <xsl:for-each select="xalan:nodeset($previousRow)//td">
3911
+ <xsl:choose>
3912
+ <xsl:when test="@rowspan &gt; 1">
3913
+ <xsl:copy>
3914
+ <xsl:attribute name="rowspan">
3915
+ <xsl:value-of select="@rowspan - 1"/>
3916
+ </xsl:attribute>
3917
+ <xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
3918
+ <xsl:copy-of select="node()"/>
3919
+ </xsl:copy>
3920
+ </xsl:when>
3921
+ <xsl:otherwise>
3922
+ <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
3923
+ </xsl:otherwise>
3924
+ </xsl:choose>
3925
+ </xsl:for-each>
3926
+ </xsl:variable>
3927
+
3928
+ <xsl:variable name="newRow">
3929
+ <xsl:copy>
3930
+ <xsl:copy-of select="$currentRow/@*"/>
3931
+ <xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
3932
+ </xsl:copy>
3933
+ </xsl:variable>
3934
+ <xsl:copy-of select="$newRow"/>
3935
+
3936
+ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
3937
+ <xsl:with-param name="previousRow" select="$newRow"/>
3938
+ </xsl:apply-templates>
3939
+ </xsl:template><xsl:template name="getLang">
3940
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3941
+ <xsl:choose>
3942
+ <xsl:when test="$language = 'English'">en</xsl:when>
3943
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3944
+ </xsl:choose>
3945
+ </xsl:template><xsl:template name="capitalizeWords">
3946
+ <xsl:param name="str"/>
3947
+ <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
3948
+ <xsl:choose>
3949
+ <xsl:when test="contains($str2, ' ')">
3950
+ <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3951
+ <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3952
+ <xsl:value-of select="substring($substr, 2)"/> -->
3953
+ <xsl:call-template name="capitalize">
3954
+ <xsl:with-param name="str" select="$substr"/>
3955
+ </xsl:call-template>
3956
+ <xsl:text> </xsl:text>
3957
+ <xsl:call-template name="capitalizeWords">
3958
+ <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
3959
+ </xsl:call-template>
3960
+ </xsl:when>
3961
+ <xsl:otherwise>
3962
+ <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3963
+ <xsl:value-of select="substring($str2, 2)"/> -->
3964
+ <xsl:call-template name="capitalize">
3965
+ <xsl:with-param name="str" select="$str2"/>
3966
+ </xsl:call-template>
3967
+ </xsl:otherwise>
3968
+ </xsl:choose>
3969
+ </xsl:template><xsl:template name="capitalize">
3970
+ <xsl:param name="str"/>
3971
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
3972
+ <xsl:value-of select="substring($str, 2)"/>
3973
+ </xsl:template><xsl:template match="mathml:math">
3974
+ <fo:inline font-family="STIX2Math">
3975
+ <fo:instream-foreign-object fox:alt-text="Math">
3976
+ <xsl:copy-of select="."/>
3977
+ </fo:instream-foreign-object>
3978
+ </fo:inline>
3979
+ </xsl:template><xsl:template match="*[local-name()='localityStack']">
3980
+ <xsl:for-each select="*[local-name()='locality']">
3981
+ <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3982
+ <xsl:apply-templates select="."/>
3983
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3984
+ </xsl:for-each>
3985
+ </xsl:template><xsl:template match="*[local-name()='link']" name="link">
3986
+ <xsl:variable name="target">
3987
+ <xsl:choose>
3988
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3989
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
3990
+ </xsl:when>
3991
+ <xsl:otherwise>
3992
+ <xsl:value-of select="normalize-space(@target)"/>
3993
+ </xsl:otherwise>
3994
+ </xsl:choose>
3995
+ </xsl:variable>
3996
+ <fo:inline xsl:use-attribute-sets="link-style">
3997
+ <xsl:choose>
3998
+ <xsl:when test="$target = ''">
3999
+ <xsl:apply-templates/>
4000
+ </xsl:when>
4001
+ <xsl:otherwise>
4002
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
4003
+ <xsl:choose>
4004
+ <xsl:when test="normalize-space(.) = ''">
4005
+ <xsl:value-of select="$target"/>
4006
+ </xsl:when>
4007
+ <xsl:otherwise>
4008
+ <xsl:apply-templates/>
4009
+ </xsl:otherwise>
4010
+ </xsl:choose>
4011
+ </fo:basic-link>
4012
+ </xsl:otherwise>
4013
+ </xsl:choose>
4014
+ </fo:inline>
4015
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4016
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
4017
+ <!-- <xsl:choose>
4018
+ <xsl:when test="@lang = 'en'"></xsl:when>
4019
+ <xsl:otherwise> -->
4020
+ <xsl:attribute name="white-space">pre</xsl:attribute>
4021
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
4022
+ <!-- </xsl:otherwise>
4023
+ </xsl:choose> -->
4024
+ <xsl:apply-templates/>
4025
+ </fo:block>
4026
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
4027
+ <fo:inline id="{@id}"/>
4028
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
4029
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4030
+ <xsl:variable name="title-appendix">
4031
+ <xsl:call-template name="getTitle">
4032
+ <xsl:with-param name="name" select="'title-appendix'"/>
4033
+ </xsl:call-template>
4034
+ </xsl:variable>
4035
+ <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
4036
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4037
+ </fo:block>
4038
+ <xsl:apply-templates/>
4039
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4040
+ <fo:inline><xsl:apply-templates/></fo:inline>
4041
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
4042
+ <fo:block xsl:use-attribute-sets="appendix-example-style">
4043
+ <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
4044
+ <xsl:variable name="title-example">
4045
+ <xsl:call-template name="getTitle">
4046
+ <xsl:with-param name="name" select="'title-example'"/>
4047
+ </xsl:call-template>
4048
+ </xsl:variable>
4049
+ <xsl:value-of select="$title-example"/>
4050
+ <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
4051
+ <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
4052
+ </xsl:if>
4053
+ <xsl:if test="*[local-name()='name']">
4054
+ <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
4055
+ </xsl:if>
4056
+ </fo:block>
4057
+ <xsl:apply-templates/>
4058
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
4059
+ <fo:inline><xsl:apply-templates/></fo:inline>
4060
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
4061
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4062
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
4063
+ <xsl:variable name="annotation-id" select="@id"/>
4064
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
4065
+ <fo:block id="{$annotation-id}" white-space="nowrap">
4066
+ <fo:inline>
4067
+ <xsl:apply-templates>
4068
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
4069
+ </xsl:apply-templates>
4070
+ </fo:inline>
4071
+ </fo:block>
4072
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
4073
+ <xsl:param name="callout"/>
4074
+ <fo:inline id="{@id}">
4075
+ <!-- for first p in annotation, put <x> -->
4076
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
4077
+ <xsl:apply-templates/>
4078
+ </fo:inline>
4079
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
4080
+ <xsl:variable name="title-modified">
4081
+ <xsl:call-template name="getTitle">
4082
+ <xsl:with-param name="name" select="'title-modified'"/>
4083
+ </xsl:call-template>
4084
+ </xsl:variable>
4085
+ <xsl:choose>
4086
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
4087
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4088
+ </xsl:choose>
4089
+ <xsl:apply-templates/>
4090
+ </xsl:template><xsl:template name="convertDate">
4091
+ <xsl:param name="date"/>
4092
+ <xsl:param name="format" select="'short'"/>
4093
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
4094
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
4095
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
4096
+ <xsl:variable name="monthStr">
4097
+ <xsl:choose>
4098
+ <xsl:when test="$month = '01'">January</xsl:when>
4099
+ <xsl:when test="$month = '02'">February</xsl:when>
4100
+ <xsl:when test="$month = '03'">March</xsl:when>
4101
+ <xsl:when test="$month = '04'">April</xsl:when>
4102
+ <xsl:when test="$month = '05'">May</xsl:when>
4103
+ <xsl:when test="$month = '06'">June</xsl:when>
4104
+ <xsl:when test="$month = '07'">July</xsl:when>
4105
+ <xsl:when test="$month = '08'">August</xsl:when>
4106
+ <xsl:when test="$month = '09'">September</xsl:when>
4107
+ <xsl:when test="$month = '10'">October</xsl:when>
4108
+ <xsl:when test="$month = '11'">November</xsl:when>
4109
+ <xsl:when test="$month = '12'">December</xsl:when>
4110
+ </xsl:choose>
4111
+ </xsl:variable>
4112
+ <xsl:variable name="result">
4113
+ <xsl:choose>
4114
+ <xsl:when test="$format = 'short' or $day = ''">
4115
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
4116
+ </xsl:when>
4117
+ <xsl:otherwise>
4118
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
4119
+ </xsl:otherwise>
4120
+ </xsl:choose>
4121
+ </xsl:variable>
4122
+ <xsl:value-of select="$result"/>
4123
+ </xsl:template><xsl:template name="insertKeywords">
4124
+ <xsl:param name="sorting" select="'true'"/>
4125
+ <xsl:param name="charAtEnd" select="'.'"/>
4126
+ <xsl:param name="charDelim" select="', '"/>
4127
+ <xsl:choose>
4128
+ <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
4129
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4130
+ <xsl:sort data-type="text" order="ascending"/>
4131
+ <xsl:call-template name="insertKeyword">
4132
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4133
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4134
+ </xsl:call-template>
4135
+ </xsl:for-each>
4136
+ </xsl:when>
4137
+ <xsl:otherwise>
4138
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
4139
+ <xsl:call-template name="insertKeyword">
4140
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
4141
+ <xsl:with-param name="charDelim" select="$charDelim"/>
4142
+ </xsl:call-template>
4143
+ </xsl:for-each>
4144
+ </xsl:otherwise>
4145
+ </xsl:choose>
4146
+ </xsl:template><xsl:template name="insertKeyword">
4147
+ <xsl:param name="charAtEnd"/>
4148
+ <xsl:param name="charDelim"/>
4149
+ <xsl:apply-templates/>
4150
+ <xsl:choose>
4151
+ <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
4152
+ <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
4153
+ </xsl:choose>
4154
+ </xsl:template><xsl:template name="addPDFUAmeta">
4155
+ <fo:declarations>
4156
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
4157
+ <pdf:dictionary type="normal" key="ViewerPreferences">
4158
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
4159
+ </pdf:dictionary>
4160
+ </pdf:catalog>
4161
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
4162
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
4163
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
4164
+ <!-- Dublin Core properties go here -->
4165
+ <dc:title>
4166
+ <xsl:variable name="title">
4167
+
4168
+ <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en' and @type = 'main']"/>
4169
+
4170
+
4171
+
4172
+
4173
+ </xsl:variable>
4174
+ <xsl:choose>
4175
+ <xsl:when test="normalize-space($title) != ''">
4176
+ <xsl:value-of select="$title"/>
4177
+ </xsl:when>
4178
+ <xsl:otherwise>
4179
+ <xsl:text> </xsl:text>
4180
+ </xsl:otherwise>
4181
+ </xsl:choose>
4182
+ </dc:title>
4183
+ <dc:creator>
4184
+
4185
+
4186
+ </dc:creator>
4187
+ <dc:description>
4188
+ <xsl:variable name="abstract">
4189
+
4190
+
4191
+
4192
+ <xsl:copy-of select="/*/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
4193
+
4194
+
4195
+ </xsl:variable>
4196
+ <xsl:value-of select="normalize-space($abstract)"/>
4197
+ </dc:description>
4198
+ <pdf:Keywords>
4199
+ <xsl:call-template name="insertKeywords"/>
4200
+ </pdf:Keywords>
4201
+ </rdf:Description>
4202
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
4203
+ <!-- XMP properties go here -->
4204
+ <xmp:CreatorTool/>
4205
+ </rdf:Description>
4206
+ </rdf:RDF>
4207
+ </x:xmpmeta>
4208
+ </fo:declarations>
4209
+ </xsl:template><xsl:template name="getId">
4210
+ <xsl:choose>
4211
+ <xsl:when test="../@id">
4212
+ <xsl:value-of select="../@id"/>
4213
+ </xsl:when>
4214
+ <xsl:otherwise>
4215
+ <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
4216
+ <xsl:value-of select="concat(generate-id(..), '_', text())"/>
4217
+ </xsl:otherwise>
4218
+ </xsl:choose>
4219
+ </xsl:template><xsl:template name="getLevel">
4220
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
4221
+ <xsl:variable name="level">
4222
+ <xsl:choose>
4223
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
4224
+ <xsl:value-of select="$level_total - 2"/>
4225
+ </xsl:when>
4226
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
4227
+ <xsl:value-of select="$level_total - 2"/>
4228
+ </xsl:when>
4229
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
4230
+ <xsl:value-of select="$level_total - 2"/>
4231
+ </xsl:when>
4232
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
4233
+ <xsl:otherwise>
4234
+ <xsl:value-of select="$level_total - 1"/>
4235
+ </xsl:otherwise>
4236
+ </xsl:choose>
4237
+ </xsl:variable>
4238
+ <xsl:value-of select="$level"/>
4239
+ </xsl:template><xsl:template name="getSubSection">
4240
+ <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
4241
+ </xsl:template><xsl:template name="split">
4242
+ <xsl:param name="pText" select="."/>
4243
+ <xsl:param name="sep" select="','"/>
4244
+ <xsl:if test="string-length($pText) &gt;0">
4245
+ <item>
4246
+ <xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
4247
+ </item>
4248
+ <xsl:call-template name="split">
4249
+ <xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
4250
+ <xsl:with-param name="sep" select="$sep"/>
4251
+ </xsl:call-template>
4252
+ </xsl:if>
4253
+ </xsl:template><xsl:template name="getDocumentId">
4254
+ <xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
4255
+ </xsl:template><xsl:template name="namespaceCheck">
4256
+ <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
4257
+ <xsl:variable name="XSLNS">
4258
+
4259
+
4260
+
4261
+
4262
+ <xsl:value-of select="document('')//*/namespace::unece"/>
4263
+
4264
+
4265
+
4266
+
4267
+
4268
+
4269
+
4270
+
4271
+
4272
+ </xsl:variable>
4273
+ <xsl:if test="$documentNS != $XSLNS">
4274
+ <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
4275
+ </xsl:if>
4276
+ </xsl:template><xsl:template name="getLanguage">
4277
+ <xsl:param name="lang"/>
4278
+ <xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
4279
+ <xsl:choose>
4280
+ <xsl:when test="$language = 'en'">English</xsl:when>
4281
+ <xsl:when test="$language = 'fr'">French</xsl:when>
4282
+ <xsl:when test="$language = 'de'">Deutsch</xsl:when>
4283
+ <xsl:when test="$language = 'cn'">Chinese</xsl:when>
4284
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
4285
+ </xsl:choose>
4286
+ </xsl:template></xsl:stylesheet>