metanorma-itu 1.0.11 → 1.0.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +10 -10
  3. data/.github/workflows/ubuntu.yml +25 -11
  4. data/.github/workflows/windows.yml +11 -12
  5. data/README.adoc +9 -49
  6. data/lib/asciidoctor/itu/biblio.rng +131 -46
  7. data/lib/asciidoctor/itu/cleanup.rb +90 -78
  8. data/lib/asciidoctor/itu/converter.rb +8 -12
  9. data/lib/asciidoctor/itu/front.rb +47 -18
  10. data/lib/asciidoctor/itu/isodoc.rng +32 -4
  11. data/lib/asciidoctor/itu/validate.rb +1 -1
  12. data/lib/isodoc/itu/base_convert.rb +9 -6
  13. data/lib/isodoc/itu/html/_coverpage.scss +1 -1
  14. data/lib/isodoc/itu/html/header.html +8 -8
  15. data/lib/isodoc/itu/html/html_itu_titlepage.html +5 -3
  16. data/lib/isodoc/itu/html/htmlstyle.scss +9 -5
  17. data/lib/isodoc/itu/html/itu.scss +24 -1
  18. data/lib/isodoc/itu/html/scripts.html +14 -27
  19. data/lib/isodoc/itu/html/word_itu_intro.html +2 -0
  20. data/lib/isodoc/itu/html/word_itu_titlepage.html +3 -3
  21. data/lib/isodoc/itu/html/wordstyle.scss +1 -1
  22. data/lib/isodoc/itu/html_convert.rb +3 -3
  23. data/lib/isodoc/itu/itu.recommendation-annex.xsl +3589 -0
  24. data/lib/isodoc/itu/itu.recommendation.xsl +3589 -0
  25. data/lib/isodoc/itu/itu.resolution.xsl +3589 -0
  26. data/lib/isodoc/itu/metadata.rb +6 -26
  27. data/lib/isodoc/itu/pdf_convert.rb +17 -44
  28. data/lib/isodoc/itu/ref.rb +26 -21
  29. data/lib/isodoc/itu/terms.rb +3 -4
  30. data/lib/isodoc/itu/word_convert.rb +5 -2
  31. data/lib/isodoc/itu/xref.rb +16 -12
  32. data/lib/metanorma/itu/processor.rb +8 -0
  33. data/lib/metanorma/itu/version.rb +1 -1
  34. metadata +5 -3
  35. data/lib/isodoc/itu/html/scripts.pdf.html +0 -72
@@ -101,8 +101,9 @@ module IsoDoc
101
101
  def term_cleanup(docxml)
102
102
  docxml.xpath("//p[@class = 'Terms']").each do |d|
103
103
  h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
104
- h2.add_child(" ")
105
- h2.add_child(d.remove)
104
+ d.children.first.previous = "<b>#{h2.children.to_xml}</b>&nbsp;"
105
+ d["id"] = h2["id"]
106
+ h2.remove
106
107
  end
107
108
  docxml.xpath("//p[@class = 'TermNum']").each do |d|
108
109
  d1 = d.next_element and d1.name == "p" or next
@@ -120,8 +121,8 @@ module IsoDoc
120
121
 
121
122
  def get_eref_linkend(node)
122
123
  link = "[#{anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))}]"
123
- link += eref_localities(node.xpath(ns("./locality")), link)
124
- contents = node.children.select { |c| c.name != "locality" }
124
+ link += eref_localities(node.xpath(ns("./locality | ./localityStack")), link)
125
+ contents = node.children.select { |c| !%w{locality localityStack}.include? c.name }
125
126
  return link if contents.nil? || contents.empty?
126
127
  Nokogiri::XML::NodeSet.new(node.document, contents).to_xml
127
128
  end
@@ -139,9 +140,11 @@ module IsoDoc
139
140
 
140
141
  def middle_title(out)
141
142
  out.p(**{ class: "zzSTDTitle1" }) do |p|
142
- id = @meta.get[:docidentifier] and p << "Recommendation #{id}"
143
+ id = @meta.get[:docnumber] and p << "Recommendation #{id}"
143
144
  end
144
145
  out.p(**{ class: "zzSTDTitle2" }) { |p| p << @meta.get[:doctitle] }
146
+ s = @meta.get[:docsubtitle] and
147
+ out.p(**{ class: "zzSTDTitle3" }) { |p| p << s }
145
148
  end
146
149
 
147
150
  def add_parse(node, out)
@@ -186,7 +189,7 @@ module IsoDoc
186
189
 
187
190
  def table_footnote_reference_format(a)
188
191
  a.content = a.content + ")"
189
- end
192
+ end
190
193
  end
191
194
  end
192
195
  end
@@ -107,7 +107,7 @@ span.doc-title {
107
107
  padding: 0 3em 0 6em;
108
108
  }
109
109
 
110
- .zzSTDTitle1, .zzSTDTitle2, .MsoCommentText {
110
+ .zzSTDTitle1, .zzSTDTitle2, .zzSTDTitle3, .MsoCommentText {
111
111
  display: none;
112
112
  }
113
113
 
@@ -116,7 +116,7 @@ style='mso-element:field-separator'>
116
116
  style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
117
117
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
118
118
  lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'>              </span>Rec.
119
- ITU‑{{ bureau }} {{ docnumber }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
119
+ ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
120
120
  </div>
121
121
 
122
122
  <div style='mso-element:footer' id=ef2l>
@@ -129,12 +129,12 @@ style='mso-element:field-separator'>
129
129
  style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
130
130
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
131
131
  lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'>              </span>Rec.
132
- ITU‑{{ bureau }} {{ docnumber }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
132
+ ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
133
133
  </div>
134
134
 
135
135
  <div style='mso-element:footer' id=f2>
136
136
  <p class=FooterQP style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'>                                                                                                       </span>Rec.
137
- ITU‑{{ bureau }} {{docnumber}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
137
+ ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
138
138
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
139
139
  PAGE<span style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span
140
140
  style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
@@ -145,7 +145,7 @@ lang=EN-GB style='font-weight:normal'>

145
145
 
146
146
  <div style='mso-element:footer' id=f2l>
147
147
  <p class=FooterQPLandscape style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'>                                                                                                       </span>Rec.
148
- ITU‑{{ bureau }} {{docnumber}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
148
+ ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
149
149
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
150
150
  PAGE<span style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span
151
151
  style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
@@ -164,7 +164,7 @@ style='mso-element:field-separator'>
164
164
  style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
165
165
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
166
166
  lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'>              </span>Rec.
167
- ITU‑{{ bureau }} {{ docnumber }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
167
+ ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
168
168
  </div>
169
169
 
170
170
  <div style='mso-element:footer' id=ef3l>
@@ -177,12 +177,12 @@ style='mso-element:field-separator'>
177
177
  style='mso-ansi-language:FR-CH;font-weight:normal;mso-no-proof:yes'>ii</span><!--[if supportFields]><span
178
178
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-end'></span></span><![endif]--><span
179
179
  lang=FR-CH style='mso-ansi-language:FR-CH'><span style='mso-tab-count:1'>              </span>Rec.
180
- ITU‑{{ bureau }} {{ docnumber }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
180
+ ITU‑{{ bureau }} {{ docnumeric }} ({{ pubdate_monthyear }})<o:p></o:p></span></p>
181
181
  </div>
182
182
 
183
183
  <div style='mso-element:footer' id=f3>
184
184
  <p class=FooterQP style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'>                                                                                                       </span>Rec.
185
- ITU‑{{ bureau }} {{docnumber}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
185
+ ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
186
186
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
187
187
  PAGE<span style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span
188
188
  style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
@@ -193,7 +193,7 @@ lang=EN-GB style='font-weight:normal'>

193
193
 
194
194
  <div style='mso-element:footer' id=f3l>
195
195
  <p class=FooterQPLandscape style='line-height:12.0pt'><span lang=EN-GB><span style='mso-tab-count:2'>                                                                                                       </span>Rec.
196
- ITU‑{{ bureau }} {{docnumber}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
196
+ ITU‑{{ bureau }} {{docnumeric}} ({{ pubdate_monthyear }})<span style='mso-tab-count:1'>             </span></span><!--[if supportFields]><span
197
197
  lang=EN-GB style='font-weight:normal'><span style='mso-element:field-begin'></span>
198
198
  PAGE<span style='mso-spacerun:yes'>  </span>\* MERGEFORMAT <span
199
199
  style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-GB
@@ -26,7 +26,7 @@
26
26
 
27
27
  <div class="doc-info-left">
28
28
  <div class="doc-identifier">
29
- {{ docnumber }}
29
+ {{ docnumeric }}
30
30
  {% if edition %} <div> Revision {{ edition }}</div> {% endif %}
31
31
  <div> {{ draftinfo }}</div>
32
32
  </div>
@@ -53,10 +53,10 @@
53
53
  <span class="doc-title">{{ doctitle }}</span>
54
54
  {% if docsubtitle %}
55
55
  <br/><span class="doc-subtitle">{{ docsubtitle }}</span>
56
+ {% endif %}
56
57
  {% if annextitle %}
57
58
  <br/><span class="doctitle">{{ annextitle }}</span>
58
59
  {% endif %}
59
- {% endif %}
60
60
  </div>
61
61
 
62
62
 
@@ -73,7 +73,7 @@
73
73
  <div>
74
74
  <span class="doc-type">{% if stage == "Draft" %}Draft {% endif %}{{ doctype }}</span>
75
75
  <span class="ITU-sector">ITU-{{ bureau }}</span>
76
- <span class="doc-identifier">{{ docnumber }}</span>
76
+ <span class="doc-identifier">{{ docnumeric }}</span>
77
77
  </div>
78
78
 
79
79
  </div>
@@ -98,9 +98,11 @@
98
98
  </div>
99
99
  -->
100
100
 
101
+ {% if unpublished %}
101
102
  <div class="coverpage-warning">
102
103
  <div id="draft-warning-destination"/>
103
104
  </div>
105
+ {% endif %}
104
106
 
105
107
  <div class="info-section">
106
108
  <div id="boilerplate-copyright-destination"/>
@@ -161,10 +161,14 @@ pre {
161
161
  }
162
162
 
163
163
  .document-stage-band {
164
- @include docBand($order: 1, $textLength: 160px, $color: black, $fontWeight: 300);
164
+ @include docBand($order: 1, $textLength: 160px, $color: white, $fontWeight: 300);
165
165
  }
166
166
  .document-type-band {
167
- @include docBand($order: 2, $textLength: 210px, $color: black, $offset: 180px);
167
+ @include docBand($order: 2, $offset: 180px);
168
+
169
+ .document-type {
170
+ top: 20px;
171
+ }
168
172
  }
169
173
 
170
174
  .logo-wrapper {
@@ -181,7 +185,7 @@ pre {
181
185
  }
182
186
 
183
187
  #ITU-logo {
184
- width: 200px;
188
+ width: 150px;
185
189
  height: auto;
186
190
  margin-left: auto;
187
191
  }
@@ -316,7 +320,7 @@ ul {
316
320
 
317
321
  &:before {
318
322
  content: "\2014";
319
- display: inline-block;
323
+ display: inline-block;
320
324
  width: 1em;
321
325
  margin-left: -1.2em;
322
326
  }
@@ -365,7 +369,7 @@ p.Biblio, p.NormRef {
365
369
  }
366
370
 
367
371
  .example {
368
- @include exampleBlock(#e1eef1, null, 1.2em, 2em);
372
+ @include exampleBlock(#e1eef1, null, 1.2em, 2em);
369
373
 
370
374
  .example-title {
371
375
  margin-top: 0;
@@ -620,6 +620,29 @@ p.zzSTDTitle2, li.zzSTDTitle2, div.zzSTDTitle2
620
620
  font-weight:bold;
621
621
  text-align:center;
622
622
  mso-bidi-font-weight:normal;}
623
+ p.zzSTDTitle3, li.zzSTDTitle3, div.zzSTDTitle3
624
+ {mso-style-name:zzSTDTitle;
625
+ mso-style-noshow:yes;
626
+ mso-style-unhide:no;
627
+ mso-style-next:Normal;
628
+ margin-top:0pt;
629
+ margin-right:0cm;
630
+ margin-bottom:18.0pt;
631
+ margin-left:0cm;
632
+ line-height:17.5pt;
633
+ mso-line-height-rule:exactly;
634
+ mso-pagination:widow-orphan;
635
+ mso-hyphenate:none;
636
+ tab-stops:20.15pt;
637
+ font-size:14.0pt;
638
+ mso-bidi-font-size:11.0pt;
639
+ font-family:$headerfont;
640
+ mso-fareast-font-family:$headerfont;
641
+ mso-bidi-font-family:$headerfont;
642
+ mso-ansi-language:EN-GB;
643
+ font-style:italic;
644
+ text-align:center;
645
+ mso-bidi-font-weight:normal;}
623
646
  p.Quote, li.Quote, div.Quote
624
647
  {mso-style-priority:99;
625
648
  margin-top:0cm;
@@ -986,7 +1009,7 @@ table.MsoTableGrid
986
1009
  font-size:10.0pt;
987
1010
  font-family:$bodyfont;}
988
1011
  div.formula, div.formula p
989
- {tab-stops:39.7pt center 241.0pt right 17.0cm;}
1012
+ {tab-stops:center 241.0pt right 17.0cm;}
990
1013
  body
991
1014
  {tab-interval:36.0pt;}
992
1015
  .coverpage_docnumber
@@ -1,24 +1,8 @@
1
1
  <script>
2
- //TOC generation
3
- $('#toc').toc({
4
- 'selectors': toclevel(), //elements to use as headings
5
- 'container': 'main', //element to find all selectors in
6
- 'smoothScrolling': true, //enable or disable smooth scrolling on click
7
- 'prefix': 'toc', //prefix for anchor tags and class names
8
- 'onHighlight': function(el) {}, //called when a new section is highlighted
9
- 'highlightOnScroll': true, //add class to heading that is currently in focus
10
- 'highlightOffset': 100, //offset to trigger the next headline
11
- 'anchorName': function(i, heading, prefix) { //custom function for anchor name
12
- return prefix+i;
13
- },
14
- 'headerText': function(i, heading, $heading) { //custom function building the header-item text
15
- return $heading.text();
16
- },
17
- 'itemClass': function(i, heading, $heading, prefix) { // custom function for item class
18
- return $heading[0].tagName.toLowerCase();
19
- }
20
- });
21
-
2
+ $("#toc").on('click', 'li', function(e) {
3
+ $(this).parent().find('li.toc-active').removeClass('toc-active');
4
+ $(this).addClass('toc-active');
5
+ });
22
6
  </script>
23
7
 
24
8
  <script>
@@ -58,13 +42,16 @@ $('#toggle').on('click', function(){
58
42
  </script>
59
43
 
60
44
  <script>
61
- /**
62
- * AnchorJS - v4.1.0 - 2017-09-20
63
- * https://github.com/bryanbraun/anchorjs
64
- * Copyright (c) 2017 Bryan Braun; Licensed MIT
65
- */
66
- !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function i(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var n,o,s,a,r,c,h,l,u,d,f,p=[];if(e(this.options),"touch"===(f=this.options.visible)&&(f=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(n=t(A)).length)return this;for(i(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r<n.length;r++)if(this.hasAnchorJSLink(n[r]))p.push(r);else{if(n[r].hasAttribute("id"))a=n[r].getAttribute("id");else if(n[r].hasAttribute("data-anchor-id"))a=n[r].getAttribute("data-anchor-id");else{u=l=this.urlify(n[r].textContent),h=0;do{void 0!==c&&(u=l+"-"+h),c=s.indexOf(u),h+=1}while(-1!==c);c=void 0,s.push(u),n[r].setAttribute("id",u),a=u}a.replace(/-/g," "),(d=document.createElement("a")).className="anchorjs-link "+this.options.class,d.href="#"+a,d.setAttribute("aria-label",this.options.ariaLabel),d.setAttribute("data-anchorjs-icon",this.options.icon),"always"===f&&(d.style.opacity="1"),""===this.options.icon&&(d.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(d.style.lineHeight="inherit")),"left"===this.options.placement?(d.style.position="absolute",d.style.marginLeft="-1em",d.style.paddingRight="0.5em",n[r].insertBefore(d,n[r].firstChild)):(d.style.paddingLeft="0.375em",n[r].appendChild(d))}for(r=0;r<p.length;r++)n.splice(p[r]-r,1);return this.elements=this.elements.concat(n),this},this.remove=function(A){for(var e,i,n=t(A),o=0;o<n.length;o++)(i=n[o].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(n[o]))&&this.elements.splice(e,1),n[o].removeChild(i));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var t=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}}); </script>
67
-
45
+ // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
46
+ //
47
+ // AnchorJS - v4.2.2 - 2020-04-20
48
+ // https://www.bryanbraun.com/anchorjs/
49
+ // Copyright (c) 2020 Bryan Braun; Licensed MIT
50
+ //
51
+ // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
52
+ !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",e.sheet.cssRules.length),e.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",e.sheet.cssRules.length),e.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}});
53
+ // @license-end
54
+ </script>
68
55
  <script>
69
56
  /*
70
57
  $(document).ready(function() {
@@ -104,6 +104,8 @@ style='mso-ansi-language:EN-US'> 

104
104
  <p class=MsoNormal><span style='mso-bookmark:_Hlk526346232'><span lang=EN-US
105
105
  style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></span></p>
106
106
 
107
+ <div id="sourcebox"/>
108
+
107
109
  <p class=MsoNormal><span style='mso-bookmark:_Hlk526346232'><span lang=EN-US
108
110
  style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></span></p>
109
111
 
@@ -89,7 +89,7 @@
89
89
  <p class="MsoNormal" align="right" style='margin-top:12.0pt;text-align:right'><span
90
90
  style='mso-bookmark:_Hlk526346232'><a name="dnume"><b style='mso-bidi-font-weight:
91
91
  normal'><span lang="EN-US" style='font-size:30.0pt;mso-bidi-font-size:10.0pt;
92
- font-family:"Arial",sans-serif;mso-ansi-language:EN-US'>{{ docnumber }}<o:p></o:p></span></b></a></span></p>
92
+ font-family:"Arial",sans-serif;mso-ansi-language:EN-US'>{{ docnumeric }}<o:p></o:p></span></b></a></span></p>
93
93
  </td>
94
94
  <span style='mso-bookmark:_Hlk526346232'><span style='mso-bookmark:dnume'></span></span>
95
95
  </tr>
@@ -250,7 +250,7 @@
250
250
  style='mso-bookmark:_Hlk526346232'><a name="dnum2e"></a><span lang="EN-US"
251
251
  style='font-size:16.0pt;mso-bidi-font-size:10.0pt;font-family:"Arial",sans-serif;
252
252
  mso-ansi-language:EN-US'>{% if stage == "Draft" %}Draft {% endif %}{{ doctype }}<span style='mso-spacerun:yes'> 
253
- </span>ITU‑{{ bureau }}<span style='mso-spacerun:yes'>  </span>{{ docnumber }}<o:p></o:p></span></span></p>
253
+ </span>ITU‑{{ bureau }}<span style='mso-spacerun:yes'>  </span>{{ docnumeric }}<o:p></o:p></span></span></p>
254
254
  <span style='mso-bookmark:_Hlk526346232'></span>
255
255
  <p class="MsoNormal" align="left" style='margin-top:3.0pt;text-align:left;
256
256
  tab-stops:39.7pt 59.55pt 79.4pt 99.25pt right 17.0cm'><span style='mso-bookmark:
@@ -267,7 +267,7 @@ _Hlk526346232'>