pdfjs-dist 2.1.266 → 2.5.207

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.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
package/lib/core/jbig2.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2018 Mozilla Foundation
5
+ * Copyright 2020 Mozilla Foundation
6
6
  *
7
7
  * Licensed under the Apache License, Version 2.0 (the "License");
8
8
  * you may not use this file except in compliance with the License.
@@ -26,34 +26,33 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.Jbig2Image = void 0;
28
28
 
29
- var _util = require("../shared/util");
29
+ var _util = require("../shared/util.js");
30
30
 
31
- var _arithmetic_decoder = require("./arithmetic_decoder");
31
+ var _core_utils = require("./core_utils.js");
32
32
 
33
- var _ccitt = require("./ccitt");
33
+ var _arithmetic_decoder = require("./arithmetic_decoder.js");
34
34
 
35
- var Jbig2Error = function Jbig2ErrorClosure() {
36
- function Jbig2Error(msg) {
37
- this.message = 'JBIG2 error: ' + msg;
35
+ var _ccitt = require("./ccitt.js");
36
+
37
+ class Jbig2Error extends _util.BaseException {
38
+ constructor(msg) {
39
+ super(`JBIG2 error: ${msg}`);
38
40
  }
39
41
 
40
- Jbig2Error.prototype = new Error();
41
- Jbig2Error.prototype.name = 'Jbig2Error';
42
- Jbig2Error.constructor = Jbig2Error;
43
- return Jbig2Error;
44
- }();
42
+ }
45
43
 
46
44
  var Jbig2Image = function Jbig2ImageClosure() {
47
45
  function ContextCache() {}
48
46
 
49
47
  ContextCache.prototype = {
50
- getContexts: function getContexts(id) {
48
+ getContexts(id) {
51
49
  if (id in this) {
52
50
  return this[id];
53
51
  }
54
52
 
55
53
  return this[id] = new Int8Array(1 << 16);
56
54
  }
55
+
57
56
  };
58
57
 
59
58
  function DecodingContext(data, start, end) {
@@ -65,12 +64,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
65
64
  DecodingContext.prototype = {
66
65
  get decoder() {
67
66
  var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);
68
- return (0, _util.shadow)(this, 'decoder', decoder);
67
+ return (0, _util.shadow)(this, "decoder", decoder);
69
68
  },
70
69
 
71
70
  get contextCache() {
72
71
  var cache = new ContextCache();
73
- return (0, _util.shadow)(this, 'contextCache', cache);
72
+ return (0, _util.shadow)(this, "contextCache", cache);
74
73
  }
75
74
 
76
75
  };
@@ -93,11 +92,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
93
92
 
94
93
  var sign = readBits(1);
95
94
  var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);
96
- return sign === 0 ? value : value > 0 ? -value : null;
95
+
96
+ if (sign === 0) {
97
+ return value;
98
+ } else if (value > 0) {
99
+ return -value;
100
+ }
101
+
102
+ return null;
97
103
  }
98
104
 
99
105
  function decodeIAID(contextCache, decoder, codeLength) {
100
- var contexts = contextCache.getContexts('IAID');
106
+ var contexts = contextCache.getContexts("IAID");
101
107
  var prev = 1;
102
108
 
103
109
  for (var i = 0; i < codeLength; i++) {
@@ -109,10 +115,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
109
115
  return prev & (1 << codeLength) - 1;
110
116
  }
111
117
 
112
- return prev & 0x7FFFFFFF;
118
+ return prev & 0x7fffffff;
113
119
  }
114
120
 
115
- var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];
121
+ var SegmentTypes = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"];
116
122
  var CodingTemplates = [[{
117
123
  x: -1,
118
124
  y: -2
@@ -310,12 +316,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
310
316
  y: 1
311
317
  }]
312
318
  }];
313
- var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];
319
+ var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];
314
320
  var RefinementReusedContexts = [0x0020, 0x0008];
315
321
 
316
322
  function decodeBitmapTemplate0(width, height, decodingContext) {
317
323
  var decoder = decodingContext.decoder;
318
- var contexts = decodingContext.contextCache.getContexts('GB');
324
+ var contexts = decodingContext.contextCache.getContexts("GB");
319
325
  var contextLabel,
320
326
  i,
321
327
  j,
@@ -324,7 +330,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
324
330
  row1,
325
331
  row2,
326
332
  bitmap = [];
327
- var OLD_PIXEL_MASK = 0x7BF7;
333
+ var OLD_PIXEL_MASK = 0x7bf7;
328
334
 
329
335
  for (i = 0; i < height; i++) {
330
336
  row = bitmap[i] = new Uint8Array(width);
@@ -343,7 +349,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
343
349
 
344
350
  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {
345
351
  if (mmr) {
346
- var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
352
+ const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
347
353
  return decodeMMRBitmap(input, width, height, false);
348
354
  }
349
355
 
@@ -399,7 +405,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
399
405
  var row = new Uint8Array(width);
400
406
  var bitmap = [];
401
407
  var decoder = decodingContext.decoder;
402
- var contexts = decodingContext.contextCache.getContexts('GB');
408
+ var contexts = decodingContext.contextCache.getContexts("GB");
403
409
  var ltp = 0,
404
410
  j,
405
411
  i0,
@@ -507,7 +513,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
507
513
  var pseudoPixelContext = RefinementReusedContexts[templateIndex];
508
514
  var bitmap = [];
509
515
  var decoder = decodingContext.decoder;
510
- var contexts = decodingContext.contextCache.getContexts('GR');
516
+ var contexts = decodingContext.contextCache.getContexts("GR");
511
517
  var ltp = 0;
512
518
 
513
519
  for (var i = 0; i < height; i++) {
@@ -516,7 +522,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
516
522
  ltp ^= sltp;
517
523
 
518
524
  if (ltp) {
519
- throw new Jbig2Error('prediction is not supported');
525
+ throw new Jbig2Error("prediction is not supported");
520
526
  }
521
527
  }
522
528
 
@@ -559,15 +565,15 @@ var Jbig2Image = function Jbig2ImageClosure() {
559
565
 
560
566
  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {
561
567
  if (huffman && refinement) {
562
- throw new Jbig2Error('symbol refinement with Huffman is not supported');
568
+ throw new Jbig2Error("symbol refinement with Huffman is not supported");
563
569
  }
564
570
 
565
571
  var newSymbols = [];
566
572
  var currentHeight = 0;
567
- var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);
573
+ var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);
568
574
  var decoder = decodingContext.decoder;
569
575
  var contextCache = decodingContext.contextCache;
570
- var tableB1, symbolWidths;
576
+ let tableB1, symbolWidths;
571
577
 
572
578
  if (huffman) {
573
579
  tableB1 = getStandardTable(1);
@@ -576,14 +582,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
576
582
  }
577
583
 
578
584
  while (newSymbols.length < numberOfNewSymbols) {
579
- var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, 'IADH', decoder);
585
+ var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, "IADH", decoder);
580
586
  currentHeight += deltaHeight;
581
- var currentWidth = 0,
587
+ let currentWidth = 0,
582
588
  totalWidth = 0;
583
- var firstSymbol = huffman ? symbolWidths.length : 0;
589
+ const firstSymbol = huffman ? symbolWidths.length : 0;
584
590
 
585
591
  while (true) {
586
- var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, 'IADW', decoder);
592
+ var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, "IADW", decoder);
587
593
 
588
594
  if (deltaWidth === null) {
589
595
  break;
@@ -594,14 +600,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
594
600
  var bitmap;
595
601
 
596
602
  if (refinement) {
597
- var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);
603
+ var numberOfInstances = decodeInteger(contextCache, "IAAI", decoder);
598
604
 
599
605
  if (numberOfInstances > 1) {
600
606
  bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);
601
607
  } else {
602
608
  var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
603
- var rdx = decodeInteger(contextCache, 'IARDX', decoder);
604
- var rdy = decodeInteger(contextCache, 'IARDY', decoder);
609
+ var rdx = decodeInteger(contextCache, "IARDX", decoder);
610
+ var rdy = decodeInteger(contextCache, "IARDY", decoder);
605
611
  var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];
606
612
  bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);
607
613
  }
@@ -616,35 +622,35 @@ var Jbig2Image = function Jbig2ImageClosure() {
616
622
  }
617
623
 
618
624
  if (huffman && !refinement) {
619
- var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
625
+ const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
620
626
  huffmanInput.byteAlign();
621
- var collectiveBitmap = void 0;
627
+ let collectiveBitmap;
622
628
 
623
629
  if (bitmapSize === 0) {
624
630
  collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);
625
631
  } else {
626
- var originalEnd = huffmanInput.end;
627
- var bitmapEnd = huffmanInput.position + bitmapSize;
632
+ const originalEnd = huffmanInput.end;
633
+ const bitmapEnd = huffmanInput.position + bitmapSize;
628
634
  huffmanInput.end = bitmapEnd;
629
635
  collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);
630
636
  huffmanInput.end = originalEnd;
631
637
  huffmanInput.position = bitmapEnd;
632
638
  }
633
639
 
634
- var numberOfSymbolsDecoded = symbolWidths.length;
640
+ const numberOfSymbolsDecoded = symbolWidths.length;
635
641
 
636
642
  if (firstSymbol === numberOfSymbolsDecoded - 1) {
637
643
  newSymbols.push(collectiveBitmap);
638
644
  } else {
639
- var _i = void 0,
640
- y = void 0,
645
+ let i,
646
+ y,
641
647
  xMin = 0,
642
- xMax = void 0,
643
- bitmapWidth = void 0,
644
- symbolBitmap = void 0;
648
+ xMax,
649
+ bitmapWidth,
650
+ symbolBitmap;
645
651
 
646
- for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {
647
- bitmapWidth = symbolWidths[_i];
652
+ for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {
653
+ bitmapWidth = symbolWidths[i];
648
654
  xMax = xMin + bitmapWidth;
649
655
  symbolBitmap = [];
650
656
 
@@ -665,7 +671,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
665
671
  var totalSymbolsLength = symbols.length + numberOfNewSymbols;
666
672
 
667
673
  while (flags.length < totalSymbolsLength) {
668
- var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);
674
+ var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, "IAEX", decoder);
669
675
 
670
676
  while (runLength--) {
671
677
  flags.push(currentFlag);
@@ -691,7 +697,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
691
697
 
692
698
  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {
693
699
  if (huffman && refinement) {
694
- throw new Jbig2Error('refinement with Huffman is not supported');
700
+ throw new Jbig2Error("refinement with Huffman is not supported");
695
701
  }
696
702
 
697
703
  var bitmap = [];
@@ -711,36 +717,36 @@ var Jbig2Image = function Jbig2ImageClosure() {
711
717
 
712
718
  var decoder = decodingContext.decoder;
713
719
  var contextCache = decodingContext.contextCache;
714
- var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 'IADT', decoder);
720
+ var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, "IADT", decoder);
715
721
  var firstS = 0;
716
722
  i = 0;
717
723
 
718
724
  while (i < numberOfSymbolInstances) {
719
- var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 'IADT', decoder);
725
+ var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, "IADT", decoder);
720
726
  stripT += deltaT;
721
- var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, 'IAFS', decoder);
727
+ var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, "IAFS", decoder);
722
728
  firstS += deltaFirstS;
723
729
  var currentS = firstS;
724
730
 
725
731
  do {
726
- var currentT = 0;
732
+ let currentT = 0;
727
733
 
728
734
  if (stripSize > 1) {
729
- currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', decoder);
735
+ currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, "IAIT", decoder);
730
736
  }
731
737
 
732
738
  var t = stripSize * stripT + currentT;
733
739
  var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);
734
- var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 'IARI', decoder));
740
+ var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, "IARI", decoder));
735
741
  var symbolBitmap = inputSymbols[symbolId];
736
742
  var symbolWidth = symbolBitmap[0].length;
737
743
  var symbolHeight = symbolBitmap.length;
738
744
 
739
745
  if (applyRefinement) {
740
- var rdw = decodeInteger(contextCache, 'IARDW', decoder);
741
- var rdh = decodeInteger(contextCache, 'IARDH', decoder);
742
- var rdx = decodeInteger(contextCache, 'IARDX', decoder);
743
- var rdy = decodeInteger(contextCache, 'IARDY', decoder);
746
+ var rdw = decodeInteger(contextCache, "IARDW", decoder);
747
+ var rdh = decodeInteger(contextCache, "IARDH", decoder);
748
+ var rdx = decodeInteger(contextCache, "IARDX", decoder);
749
+ var rdy = decodeInteger(contextCache, "IARDY", decoder);
744
750
  symbolWidth += rdw;
745
751
  symbolHeight += rdh;
746
752
  symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);
@@ -777,7 +783,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
777
783
  break;
778
784
 
779
785
  default:
780
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
786
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
781
787
  }
782
788
  }
783
789
 
@@ -808,7 +814,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
808
814
  break;
809
815
 
810
816
  default:
811
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
817
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
812
818
  }
813
819
  }
814
820
 
@@ -816,7 +822,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
816
822
  }
817
823
 
818
824
  i++;
819
- var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 'IADS', decoder);
825
+ var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, "IADS", decoder);
820
826
 
821
827
  if (deltaS === null) {
822
828
  break;
@@ -830,7 +836,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
830
836
  }
831
837
 
832
838
  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {
833
- var at = [];
839
+ const at = [];
834
840
 
835
841
  if (!mmr) {
836
842
  at.push({
@@ -854,44 +860,38 @@ var Jbig2Image = function Jbig2ImageClosure() {
854
860
  }
855
861
  }
856
862
 
857
- var collectiveWidth = (maxPatternIndex + 1) * patternWidth;
858
- var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
859
- var patterns = [],
860
- i = 0,
861
- patternBitmap,
862
- xMin,
863
- xMax,
864
- y;
863
+ const collectiveWidth = (maxPatternIndex + 1) * patternWidth;
864
+ const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
865
+ const patterns = [];
865
866
 
866
- while (i <= maxPatternIndex) {
867
- patternBitmap = [];
868
- xMin = patternWidth * i;
869
- xMax = xMin + patternWidth;
867
+ for (let i = 0; i <= maxPatternIndex; i++) {
868
+ const patternBitmap = [];
869
+ const xMin = patternWidth * i;
870
+ const xMax = xMin + patternWidth;
870
871
 
871
- for (y = 0; y < patternHeight; y++) {
872
+ for (let y = 0; y < patternHeight; y++) {
872
873
  patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
873
874
  }
874
875
 
875
876
  patterns.push(patternBitmap);
876
- i++;
877
877
  }
878
878
 
879
879
  return patterns;
880
880
  }
881
881
 
882
882
  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {
883
- var skip = null;
883
+ const skip = null;
884
884
 
885
885
  if (enableSkip) {
886
- throw new Jbig2Error('skip is not supported');
886
+ throw new Jbig2Error("skip is not supported");
887
887
  }
888
888
 
889
889
  if (combinationOperator !== 0) {
890
- throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');
890
+ throw new Jbig2Error("operator " + combinationOperator + " is not supported in halftone region");
891
891
  }
892
892
 
893
- var regionBitmap = [];
894
- var i, j, row;
893
+ const regionBitmap = [];
894
+ let i, j, row;
895
895
 
896
896
  for (i = 0; i < regionHeight; i++) {
897
897
  row = new Uint8Array(regionWidth);
@@ -905,12 +905,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
905
905
  regionBitmap.push(row);
906
906
  }
907
907
 
908
- var numberOfPatterns = patterns.length;
909
- var pattern0 = patterns[0];
910
- var patternWidth = pattern0[0].length,
911
- patternHeight = pattern0.length;
912
- var bitsPerValue = (0, _util.log2)(numberOfPatterns);
913
- var at = [];
908
+ const numberOfPatterns = patterns.length;
909
+ const pattern0 = patterns[0];
910
+ const patternWidth = pattern0[0].length,
911
+ patternHeight = pattern0.length;
912
+ const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);
913
+ const at = [];
914
914
 
915
915
  if (!mmr) {
916
916
  at.push({
@@ -934,9 +934,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
934
934
  }
935
935
  }
936
936
 
937
- var grayScaleBitPlanes = [],
938
- mmrInput,
939
- bitmap;
937
+ const grayScaleBitPlanes = [];
938
+ let mmrInput, bitmap;
940
939
 
941
940
  if (mmr) {
942
941
  mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
@@ -952,7 +951,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
952
951
  grayScaleBitPlanes[i] = bitmap;
953
952
  }
954
953
 
955
- var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
954
+ let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
956
955
 
957
956
  for (mg = 0; mg < gridHeight; mg++) {
958
957
  for (ng = 0; ng < gridWidth; ng++) {
@@ -978,8 +977,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
978
977
  }
979
978
  }
980
979
  } else {
981
- var regionX = void 0,
982
- regionY = void 0;
980
+ let regionX, regionY;
983
981
 
984
982
  for (i = 0; i < patternHeight; i++) {
985
983
  regionY = y + i;
@@ -1008,12 +1006,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
1008
1006
 
1009
1007
  function readSegmentHeader(data, start) {
1010
1008
  var segmentHeader = {};
1011
- segmentHeader.number = (0, _util.readUint32)(data, start);
1009
+ segmentHeader.number = (0, _core_utils.readUint32)(data, start);
1012
1010
  var flags = data[start + 4];
1013
- var segmentType = flags & 0x3F;
1011
+ var segmentType = flags & 0x3f;
1014
1012
 
1015
1013
  if (!SegmentTypes[segmentType]) {
1016
- throw new Jbig2Error('invalid segment type: ' + segmentType);
1014
+ throw new Jbig2Error("invalid segment type: " + segmentType);
1017
1015
  }
1018
1016
 
1019
1017
  segmentHeader.type = segmentType;
@@ -1026,7 +1024,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1026
1024
  var position = start + 6;
1027
1025
 
1028
1026
  if (referredFlags === 7) {
1029
- referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;
1027
+ referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;
1030
1028
  position += 3;
1031
1029
  var bytes = referredToCount + 7 >> 3;
1032
1030
  retainBits[0] = data[position++];
@@ -1035,16 +1033,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
1035
1033
  retainBits.push(data[position++]);
1036
1034
  }
1037
1035
  } else if (referredFlags === 5 || referredFlags === 6) {
1038
- throw new Jbig2Error('invalid referred-to flags');
1036
+ throw new Jbig2Error("invalid referred-to flags");
1039
1037
  }
1040
1038
 
1041
1039
  segmentHeader.retainBits = retainBits;
1042
- var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;
1040
+ let referredToSegmentNumberSize = 4;
1041
+
1042
+ if (segmentHeader.number <= 256) {
1043
+ referredToSegmentNumberSize = 1;
1044
+ } else if (segmentHeader.number <= 65536) {
1045
+ referredToSegmentNumberSize = 2;
1046
+ }
1047
+
1043
1048
  var referredTo = [];
1044
1049
  var i, ii;
1045
1050
 
1046
1051
  for (i = 0; i < referredToCount; i++) {
1047
- var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);
1052
+ let number;
1053
+
1054
+ if (referredToSegmentNumberSize === 1) {
1055
+ number = data[position];
1056
+ } else if (referredToSegmentNumberSize === 2) {
1057
+ number = (0, _core_utils.readUint16)(data, position);
1058
+ } else {
1059
+ number = (0, _core_utils.readUint32)(data, position);
1060
+ }
1061
+
1048
1062
  referredTo.push(number);
1049
1063
  position += referredToSegmentNumberSize;
1050
1064
  }
@@ -1054,14 +1068,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1054
1068
  if (!pageAssociationFieldSize) {
1055
1069
  segmentHeader.pageAssociation = data[position++];
1056
1070
  } else {
1057
- segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);
1071
+ segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);
1058
1072
  position += 4;
1059
1073
  }
1060
1074
 
1061
- segmentHeader.length = (0, _util.readUint32)(data, position);
1075
+ segmentHeader.length = (0, _core_utils.readUint32)(data, position);
1062
1076
  position += 4;
1063
1077
 
1064
- if (segmentHeader.length === 0xFFFFFFFF) {
1078
+ if (segmentHeader.length === 0xffffffff) {
1065
1079
  if (segmentType === 38) {
1066
1080
  var genericRegionInfo = readRegionSegmentInformation(data, position);
1067
1081
  var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];
@@ -1070,14 +1084,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1070
1084
  var searchPattern = new Uint8Array(searchPatternLength);
1071
1085
 
1072
1086
  if (!genericRegionMmr) {
1073
- searchPattern[0] = 0xFF;
1074
- searchPattern[1] = 0xAC;
1087
+ searchPattern[0] = 0xff;
1088
+ searchPattern[1] = 0xac;
1075
1089
  }
1076
1090
 
1077
- searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;
1078
- searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;
1079
- searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;
1080
- searchPattern[5] = genericRegionInfo.height & 0xFF;
1091
+ searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;
1092
+ searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;
1093
+ searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;
1094
+ searchPattern[5] = genericRegionInfo.height & 0xff;
1081
1095
 
1082
1096
  for (i = position, ii = data.length; i < ii; i++) {
1083
1097
  var j = 0;
@@ -1092,11 +1106,11 @@ var Jbig2Image = function Jbig2ImageClosure() {
1092
1106
  }
1093
1107
  }
1094
1108
 
1095
- if (segmentHeader.length === 0xFFFFFFFF) {
1096
- throw new Jbig2Error('segment end was not found');
1109
+ if (segmentHeader.length === 0xffffffff) {
1110
+ throw new Jbig2Error("segment end was not found");
1097
1111
  }
1098
1112
  } else {
1099
- throw new Jbig2Error('invalid unknown segment length');
1113
+ throw new Jbig2Error("invalid unknown segment length");
1100
1114
  }
1101
1115
  }
1102
1116
 
@@ -1113,7 +1127,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1113
1127
  position = segmentHeader.headerEnd;
1114
1128
  var segment = {
1115
1129
  header: segmentHeader,
1116
- data: data
1130
+ data
1117
1131
  };
1118
1132
 
1119
1133
  if (!header.randomAccess) {
@@ -1142,10 +1156,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
1142
1156
 
1143
1157
  function readRegionSegmentInformation(data, start) {
1144
1158
  return {
1145
- width: (0, _util.readUint32)(data, start),
1146
- height: (0, _util.readUint32)(data, start + 4),
1147
- x: (0, _util.readUint32)(data, start + 8),
1148
- y: (0, _util.readUint32)(data, start + 12),
1159
+ width: (0, _core_utils.readUint32)(data, start),
1160
+ height: (0, _core_utils.readUint32)(data, start + 4),
1161
+ x: (0, _core_utils.readUint32)(data, start + 8),
1162
+ y: (0, _core_utils.readUint32)(data, start + 12),
1149
1163
  combinationOperator: data[start + 16] & 7
1150
1164
  };
1151
1165
  }
@@ -1162,7 +1176,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1162
1176
  switch (header.type) {
1163
1177
  case 0:
1164
1178
  var dictionary = {};
1165
- var dictionaryFlags = (0, _util.readUint16)(data, position);
1179
+ var dictionaryFlags = (0, _core_utils.readUint16)(data, position);
1166
1180
  dictionary.huffman = !!(dictionaryFlags & 1);
1167
1181
  dictionary.refinement = !!(dictionaryFlags & 2);
1168
1182
  dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;
@@ -1181,8 +1195,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1181
1195
 
1182
1196
  for (i = 0; i < atLength; i++) {
1183
1197
  at.push({
1184
- x: (0, _util.readInt8)(data, position),
1185
- y: (0, _util.readInt8)(data, position + 1)
1198
+ x: (0, _core_utils.readInt8)(data, position),
1199
+ y: (0, _core_utils.readInt8)(data, position + 1)
1186
1200
  });
1187
1201
  position += 2;
1188
1202
  }
@@ -1195,8 +1209,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1195
1209
 
1196
1210
  for (i = 0; i < 2; i++) {
1197
1211
  at.push({
1198
- x: (0, _util.readInt8)(data, position),
1199
- y: (0, _util.readInt8)(data, position + 1)
1212
+ x: (0, _core_utils.readInt8)(data, position),
1213
+ y: (0, _core_utils.readInt8)(data, position + 1)
1200
1214
  });
1201
1215
  position += 2;
1202
1216
  }
@@ -1204,9 +1218,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1204
1218
  dictionary.refinementAt = at;
1205
1219
  }
1206
1220
 
1207
- dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);
1221
+ dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);
1208
1222
  position += 4;
1209
- dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);
1223
+ dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);
1210
1224
  position += 4;
1211
1225
  args = [dictionary, header.number, header.referredTo, data, position, end];
1212
1226
  break;
@@ -1216,7 +1230,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1216
1230
  var textRegion = {};
1217
1231
  textRegion.info = readRegionSegmentInformation(data, position);
1218
1232
  position += RegionSegmentInformationFieldLength;
1219
- var textRegionSegmentFlags = (0, _util.readUint16)(data, position);
1233
+ var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);
1220
1234
  position += 2;
1221
1235
  textRegion.huffman = !!(textRegionSegmentFlags & 1);
1222
1236
  textRegion.refinement = !!(textRegionSegmentFlags & 2);
@@ -1230,7 +1244,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1230
1244
  textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;
1231
1245
 
1232
1246
  if (textRegion.huffman) {
1233
- var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);
1247
+ var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);
1234
1248
  position += 2;
1235
1249
  textRegion.huffmanFS = textRegionHuffmanFlags & 3;
1236
1250
  textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;
@@ -1247,8 +1261,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1247
1261
 
1248
1262
  for (i = 0; i < 2; i++) {
1249
1263
  at.push({
1250
- x: (0, _util.readInt8)(data, position),
1251
- y: (0, _util.readInt8)(data, position + 1)
1264
+ x: (0, _core_utils.readInt8)(data, position),
1265
+ y: (0, _core_utils.readInt8)(data, position + 1)
1252
1266
  });
1253
1267
  position += 2;
1254
1268
  }
@@ -1256,45 +1270,45 @@ var Jbig2Image = function Jbig2ImageClosure() {
1256
1270
  textRegion.refinementAt = at;
1257
1271
  }
1258
1272
 
1259
- textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);
1273
+ textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);
1260
1274
  position += 4;
1261
1275
  args = [textRegion, header.referredTo, data, position, end];
1262
1276
  break;
1263
1277
 
1264
1278
  case 16:
1265
- var patternDictionary = {};
1266
- var patternDictionaryFlags = data[position++];
1279
+ const patternDictionary = {};
1280
+ const patternDictionaryFlags = data[position++];
1267
1281
  patternDictionary.mmr = !!(patternDictionaryFlags & 1);
1268
1282
  patternDictionary.template = patternDictionaryFlags >> 1 & 3;
1269
1283
  patternDictionary.patternWidth = data[position++];
1270
1284
  patternDictionary.patternHeight = data[position++];
1271
- patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);
1285
+ patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);
1272
1286
  position += 4;
1273
1287
  args = [patternDictionary, header.number, data, position, end];
1274
1288
  break;
1275
1289
 
1276
1290
  case 22:
1277
1291
  case 23:
1278
- var halftoneRegion = {};
1292
+ const halftoneRegion = {};
1279
1293
  halftoneRegion.info = readRegionSegmentInformation(data, position);
1280
1294
  position += RegionSegmentInformationFieldLength;
1281
- var halftoneRegionFlags = data[position++];
1295
+ const halftoneRegionFlags = data[position++];
1282
1296
  halftoneRegion.mmr = !!(halftoneRegionFlags & 1);
1283
1297
  halftoneRegion.template = halftoneRegionFlags >> 1 & 3;
1284
1298
  halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);
1285
1299
  halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;
1286
1300
  halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;
1287
- halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);
1301
+ halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);
1288
1302
  position += 4;
1289
- halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);
1303
+ halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);
1290
1304
  position += 4;
1291
- halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
1305
+ halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
1292
1306
  position += 4;
1293
- halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
1307
+ halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
1294
1308
  position += 4;
1295
- halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);
1309
+ halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);
1296
1310
  position += 2;
1297
- halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);
1311
+ halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);
1298
1312
  position += 2;
1299
1313
  args = [halftoneRegion, header.referredTo, data, position, end];
1300
1314
  break;
@@ -1315,8 +1329,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1315
1329
 
1316
1330
  for (i = 0; i < atLength; i++) {
1317
1331
  at.push({
1318
- x: (0, _util.readInt8)(data, position),
1319
- y: (0, _util.readInt8)(data, position + 1)
1332
+ x: (0, _core_utils.readInt8)(data, position),
1333
+ y: (0, _core_utils.readInt8)(data, position + 1)
1320
1334
  });
1321
1335
  position += 2;
1322
1336
  }
@@ -1329,18 +1343,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
1329
1343
 
1330
1344
  case 48:
1331
1345
  var pageInfo = {
1332
- width: (0, _util.readUint32)(data, position),
1333
- height: (0, _util.readUint32)(data, position + 4),
1334
- resolutionX: (0, _util.readUint32)(data, position + 8),
1335
- resolutionY: (0, _util.readUint32)(data, position + 12)
1346
+ width: (0, _core_utils.readUint32)(data, position),
1347
+ height: (0, _core_utils.readUint32)(data, position + 4),
1348
+ resolutionX: (0, _core_utils.readUint32)(data, position + 8),
1349
+ resolutionY: (0, _core_utils.readUint32)(data, position + 12)
1336
1350
  };
1337
1351
 
1338
- if (pageInfo.height === 0xFFFFFFFF) {
1352
+ if (pageInfo.height === 0xffffffff) {
1339
1353
  delete pageInfo.height;
1340
1354
  }
1341
1355
 
1342
1356
  var pageSegmentFlags = data[position + 16];
1343
- (0, _util.readUint16)(data, position + 17);
1357
+ (0, _core_utils.readUint16)(data, position + 17);
1344
1358
  pageInfo.lossless = !!(pageSegmentFlags & 1);
1345
1359
  pageInfo.refinement = !!(pageSegmentFlags & 2);
1346
1360
  pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;
@@ -1367,10 +1381,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
1367
1381
  break;
1368
1382
 
1369
1383
  default:
1370
- throw new Jbig2Error("segment type ".concat(header.typeName, "(").concat(header.type, ")") + ' is not implemented');
1384
+ throw new Jbig2Error(`segment type ${header.typeName}(${header.type})` + " is not implemented");
1371
1385
  }
1372
1386
 
1373
- var callbackName = 'on' + header.typeName;
1387
+ var callbackName = "on" + header.typeName;
1374
1388
 
1375
1389
  if (callbackName in visitor) {
1376
1390
  visitor[callbackName].apply(visitor, args);
@@ -1396,39 +1410,40 @@ var Jbig2Image = function Jbig2ImageClosure() {
1396
1410
  }
1397
1411
 
1398
1412
  function parseJbig2(data) {
1399
- var position = 0,
1400
- end = data.length;
1413
+ const end = data.length;
1414
+ let position = 0;
1401
1415
 
1402
- if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {
1403
- throw new Jbig2Error('parseJbig2 - invalid header.');
1416
+ if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {
1417
+ throw new Jbig2Error("parseJbig2 - invalid header.");
1404
1418
  }
1405
1419
 
1406
- var header = Object.create(null);
1420
+ const header = Object.create(null);
1407
1421
  position += 8;
1408
- var flags = data[position++];
1422
+ const flags = data[position++];
1409
1423
  header.randomAccess = !(flags & 1);
1410
1424
 
1411
1425
  if (!(flags & 2)) {
1412
- header.numberOfPages = (0, _util.readUint32)(data, position);
1426
+ header.numberOfPages = (0, _core_utils.readUint32)(data, position);
1413
1427
  position += 4;
1414
1428
  }
1415
1429
 
1416
- var segments = readSegments(header, data, position, end);
1417
- var visitor = new SimpleSegmentVisitor();
1430
+ const segments = readSegments(header, data, position, end);
1431
+ const visitor = new SimpleSegmentVisitor();
1418
1432
  processSegments(segments, visitor);
1419
- var _visitor$currentPageI = visitor.currentPageInfo,
1420
- width = _visitor$currentPageI.width,
1421
- height = _visitor$currentPageI.height;
1422
- var bitPacked = visitor.buffer;
1423
- var imgData = new Uint8ClampedArray(width * height);
1424
- var q = 0,
1433
+ const {
1434
+ width,
1435
+ height
1436
+ } = visitor.currentPageInfo;
1437
+ const bitPacked = visitor.buffer;
1438
+ const imgData = new Uint8ClampedArray(width * height);
1439
+ let q = 0,
1425
1440
  k = 0;
1426
1441
 
1427
- for (var i = 0; i < height; i++) {
1428
- var mask = 0,
1429
- buffer = void 0;
1442
+ for (let i = 0; i < height; i++) {
1443
+ let mask = 0,
1444
+ buffer;
1430
1445
 
1431
- for (var j = 0; j < width; j++) {
1446
+ for (let j = 0; j < width; j++) {
1432
1447
  if (!mask) {
1433
1448
  mask = 128;
1434
1449
  buffer = bitPacked[k++];
@@ -1440,9 +1455,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1440
1455
  }
1441
1456
 
1442
1457
  return {
1443
- imgData: imgData,
1444
- width: width,
1445
- height: height
1458
+ imgData,
1459
+ width,
1460
+ height
1446
1461
  };
1447
1462
  }
1448
1463
 
@@ -1456,7 +1471,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1456
1471
 
1457
1472
  if (info.defaultPixelValue) {
1458
1473
  for (var i = 0, ii = buffer.length; i < ii; i++) {
1459
- buffer[i] = 0xFF;
1474
+ buffer[i] = 0xff;
1460
1475
  }
1461
1476
  }
1462
1477
 
@@ -1521,7 +1536,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1521
1536
  break;
1522
1537
 
1523
1538
  default:
1524
- throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
1539
+ throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
1525
1540
  }
1526
1541
  },
1527
1542
  onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {
@@ -1534,7 +1549,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1534
1549
  this.onImmediateGenericRegion.apply(this, arguments);
1535
1550
  },
1536
1551
  onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {
1537
- var huffmanTables, huffmanInput;
1552
+ let huffmanTables, huffmanInput;
1538
1553
 
1539
1554
  if (dictionary.huffman) {
1540
1555
  huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);
@@ -1550,7 +1565,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1550
1565
  var inputSymbols = [];
1551
1566
 
1552
1567
  for (var i = 0, ii = referredSegments.length; i < ii; i++) {
1553
- var referredSymbols = symbols[referredSegments[i]];
1568
+ const referredSymbols = symbols[referredSegments[i]];
1554
1569
 
1555
1570
  if (referredSymbols) {
1556
1571
  inputSymbols = inputSymbols.concat(referredSymbols);
@@ -1562,19 +1577,19 @@ var Jbig2Image = function Jbig2ImageClosure() {
1562
1577
  },
1563
1578
  onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {
1564
1579
  var regionInfo = region.info;
1565
- var huffmanTables, huffmanInput;
1580
+ let huffmanTables, huffmanInput;
1566
1581
  var symbols = this.symbols;
1567
1582
  var inputSymbols = [];
1568
1583
 
1569
1584
  for (var i = 0, ii = referredSegments.length; i < ii; i++) {
1570
- var referredSymbols = symbols[referredSegments[i]];
1585
+ const referredSymbols = symbols[referredSegments[i]];
1571
1586
 
1572
1587
  if (referredSymbols) {
1573
1588
  inputSymbols = inputSymbols.concat(referredSymbols);
1574
1589
  }
1575
1590
  }
1576
1591
 
1577
- var symbolCodeLength = (0, _util.log2)(inputSymbols.length);
1592
+ var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);
1578
1593
 
1579
1594
  if (region.huffman) {
1580
1595
  huffmanInput = new Reader(data, start, end);
@@ -1588,28 +1603,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
1588
1603
  onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
1589
1604
  this.onImmediateTextRegion.apply(this, arguments);
1590
1605
  },
1591
- onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {
1592
- var patterns = this.patterns;
1606
+
1607
+ onPatternDictionary(dictionary, currentSegment, data, start, end) {
1608
+ let patterns = this.patterns;
1593
1609
 
1594
1610
  if (!patterns) {
1595
1611
  this.patterns = patterns = {};
1596
1612
  }
1597
1613
 
1598
- var decodingContext = new DecodingContext(data, start, end);
1614
+ const decodingContext = new DecodingContext(data, start, end);
1599
1615
  patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);
1600
1616
  },
1601
- onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
1602
- var patterns = this.patterns[referredSegments[0]];
1603
- var regionInfo = region.info;
1604
- var decodingContext = new DecodingContext(data, start, end);
1605
- var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
1617
+
1618
+ onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
1619
+ const patterns = this.patterns[referredSegments[0]];
1620
+ const regionInfo = region.info;
1621
+ const decodingContext = new DecodingContext(data, start, end);
1622
+ const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
1606
1623
  this.drawBitmap(regionInfo, bitmap);
1607
1624
  },
1608
- onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {
1625
+
1626
+ onImmediateLosslessHalftoneRegion() {
1609
1627
  this.onImmediateHalftoneRegion.apply(this, arguments);
1610
1628
  },
1611
- onTables: function onTables(currentSegment, data, start, end) {
1612
- var customTables = this.customTables;
1629
+
1630
+ onTables(currentSegment, data, start, end) {
1631
+ let customTables = this.customTables;
1613
1632
 
1614
1633
  if (!customTables) {
1615
1634
  this.customTables = customTables = {};
@@ -1617,6 +1636,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1617
1636
 
1618
1637
  customTables[currentSegment] = decodeTablesSegment(data, start, end);
1619
1638
  }
1639
+
1620
1640
  };
1621
1641
 
1622
1642
  function HuffmanLine(lineData) {
@@ -1633,7 +1653,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1633
1653
  this.prefixLength = lineData[1];
1634
1654
  this.rangeLength = lineData[2];
1635
1655
  this.prefixCode = lineData[3];
1636
- this.isLowerRange = lineData[4] === 'lower';
1656
+ this.isLowerRange = lineData[4] === "lower";
1637
1657
  }
1638
1658
  }
1639
1659
 
@@ -1652,13 +1672,13 @@ var Jbig2Image = function Jbig2ImageClosure() {
1652
1672
  }
1653
1673
 
1654
1674
  HuffmanTreeNode.prototype = {
1655
- buildTree: function buildTree(line, shift) {
1656
- var bit = line.prefixCode >> shift & 1;
1675
+ buildTree(line, shift) {
1676
+ const bit = line.prefixCode >> shift & 1;
1657
1677
 
1658
1678
  if (shift <= 0) {
1659
1679
  this.children[bit] = new HuffmanTreeNode(line);
1660
1680
  } else {
1661
- var node = this.children[bit];
1681
+ let node = this.children[bit];
1662
1682
 
1663
1683
  if (!node) {
1664
1684
  this.children[bit] = node = new HuffmanTreeNode(null);
@@ -1667,24 +1687,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
1667
1687
  node.buildTree(line, shift - 1);
1668
1688
  }
1669
1689
  },
1670
- decodeNode: function decodeNode(reader) {
1690
+
1691
+ decodeNode(reader) {
1671
1692
  if (this.isLeaf) {
1672
1693
  if (this.isOOB) {
1673
1694
  return null;
1674
1695
  }
1675
1696
 
1676
- var htOffset = reader.readBits(this.rangeLength);
1697
+ const htOffset = reader.readBits(this.rangeLength);
1677
1698
  return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);
1678
1699
  }
1679
1700
 
1680
- var node = this.children[reader.readBit()];
1701
+ const node = this.children[reader.readBit()];
1681
1702
 
1682
1703
  if (!node) {
1683
- throw new Jbig2Error('invalid Huffman data');
1704
+ throw new Jbig2Error("invalid Huffman data");
1684
1705
  }
1685
1706
 
1686
1707
  return node.decodeNode(reader);
1687
1708
  }
1709
+
1688
1710
  };
1689
1711
 
1690
1712
  function HuffmanTable(lines, prefixCodesDone) {
@@ -1693,12 +1715,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
1693
1715
  }
1694
1716
 
1695
1717
  this.rootNode = new HuffmanTreeNode(null);
1696
- var i,
1697
- ii = lines.length,
1698
- line;
1699
1718
 
1700
- for (i = 0; i < ii; i++) {
1701
- line = lines[i];
1719
+ for (let i = 0, ii = lines.length; i < ii; i++) {
1720
+ const line = lines[i];
1702
1721
 
1703
1722
  if (line.prefixLength > 0) {
1704
1723
  this.rootNode.buildTree(line, line.prefixLength - 1);
@@ -1707,25 +1726,25 @@ var Jbig2Image = function Jbig2ImageClosure() {
1707
1726
  }
1708
1727
 
1709
1728
  HuffmanTable.prototype = {
1710
- decode: function decode(reader) {
1729
+ decode(reader) {
1711
1730
  return this.rootNode.decodeNode(reader);
1712
1731
  },
1713
- assignPrefixCodes: function assignPrefixCodes(lines) {
1714
- var linesLength = lines.length,
1715
- prefixLengthMax = 0,
1716
- i;
1717
1732
 
1718
- for (i = 0; i < linesLength; i++) {
1733
+ assignPrefixCodes(lines) {
1734
+ const linesLength = lines.length;
1735
+ let prefixLengthMax = 0;
1736
+
1737
+ for (let i = 0; i < linesLength; i++) {
1719
1738
  prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);
1720
1739
  }
1721
1740
 
1722
- var histogram = new Uint32Array(prefixLengthMax + 1);
1741
+ const histogram = new Uint32Array(prefixLengthMax + 1);
1723
1742
 
1724
- for (i = 0; i < linesLength; i++) {
1743
+ for (let i = 0; i < linesLength; i++) {
1725
1744
  histogram[lines[i].prefixLength]++;
1726
1745
  }
1727
1746
 
1728
- var currentLength = 1,
1747
+ let currentLength = 1,
1729
1748
  firstCode = 0,
1730
1749
  currentCode,
1731
1750
  currentTemp,
@@ -1751,17 +1770,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
1751
1770
  currentLength++;
1752
1771
  }
1753
1772
  }
1773
+
1754
1774
  };
1755
1775
 
1756
1776
  function decodeTablesSegment(data, start, end) {
1757
- var flags = data[start];
1758
- var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;
1759
- var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;
1760
- var reader = new Reader(data, start + 9, end);
1761
- var prefixSizeBits = (flags >> 1 & 7) + 1;
1762
- var rangeSizeBits = (flags >> 4 & 7) + 1;
1763
- var lines = [];
1764
- var prefixLength,
1777
+ const flags = data[start];
1778
+ const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;
1779
+ const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;
1780
+ const reader = new Reader(data, start + 9, end);
1781
+ const prefixSizeBits = (flags >> 1 & 7) + 1;
1782
+ const rangeSizeBits = (flags >> 4 & 7) + 1;
1783
+ const lines = [];
1784
+ let prefixLength,
1765
1785
  rangeLength,
1766
1786
  currentRangeLow = lowestValue;
1767
1787
 
@@ -1773,7 +1793,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1773
1793
  } while (currentRangeLow < highestValue);
1774
1794
 
1775
1795
  prefixLength = reader.readBits(prefixSizeBits);
1776
- lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));
1796
+ lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, "lower"]));
1777
1797
  prefixLength = reader.readBits(prefixSizeBits);
1778
1798
  lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));
1779
1799
 
@@ -1785,16 +1805,16 @@ var Jbig2Image = function Jbig2ImageClosure() {
1785
1805
  return new HuffmanTable(lines, false);
1786
1806
  }
1787
1807
 
1788
- var standardTablesCache = {};
1808
+ const standardTablesCache = {};
1789
1809
 
1790
1810
  function getStandardTable(number) {
1791
- var table = standardTablesCache[number];
1811
+ let table = standardTablesCache[number];
1792
1812
 
1793
1813
  if (table) {
1794
1814
  return table;
1795
1815
  }
1796
1816
 
1797
- var lines;
1817
+ let lines;
1798
1818
 
1799
1819
  switch (number) {
1800
1820
  case 1:
@@ -1802,51 +1822,51 @@ var Jbig2Image = function Jbig2ImageClosure() {
1802
1822
  break;
1803
1823
 
1804
1824
  case 2:
1805
- lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 32, 0x3E], [6, 0x3F]];
1825
+ lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];
1806
1826
  break;
1807
1827
 
1808
1828
  case 3:
1809
- lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];
1829
+ lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, "lower"], [75, 7, 32, 0x7e], [6, 0x3e]];
1810
1830
  break;
1811
1831
 
1812
1832
  case 4:
1813
- lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 32, 0x1F]];
1833
+ lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];
1814
1834
  break;
1815
1835
 
1816
1836
  case 5:
1817
- lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];
1837
+ lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, "lower"], [76, 6, 32, 0x3e]];
1818
1838
  break;
1819
1839
 
1820
1840
  case 6:
1821
- lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];
1841
+ lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, "lower"], [2048, 6, 32, 0x3f]];
1822
1842
  break;
1823
1843
 
1824
1844
  case 7:
1825
- lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];
1845
+ lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, "lower"], [2048, 5, 32, 0x1f]];
1826
1846
  break;
1827
1847
 
1828
1848
  case 8:
1829
- lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], [22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], [646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];
1849
+ lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, "lower"], [1670, 9, 32, 0x1ff], [2, 0x1]];
1830
1850
  break;
1831
1851
 
1832
1852
  case 9:
1833
- lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], [39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], [779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];
1853
+ lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, "lower"], [3339, 9, 32, 0x1ff], [2, 0x0]];
1834
1854
  break;
1835
1855
 
1836
1856
  case 10:
1837
- lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], [2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];
1857
+ lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, "lower"], [4166, 8, 32, 0xff], [2, 0x2]];
1838
1858
  break;
1839
1859
 
1840
1860
  case 11:
1841
- lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];
1861
+ lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
1842
1862
  break;
1843
1863
 
1844
1864
  case 12:
1845
- lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 0xFE], [73, 8, 32, 0xFF]];
1865
+ lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];
1846
1866
  break;
1847
1867
 
1848
1868
  case 13:
1849
- lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];
1869
+ lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
1850
1870
  break;
1851
1871
 
1852
1872
  case 14:
@@ -1854,17 +1874,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
1854
1874
  break;
1855
1875
 
1856
1876
  case 15:
1857
- lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];
1877
+ lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, "lower"], [25, 7, 32, 0x7f]];
1858
1878
  break;
1859
1879
 
1860
1880
  default:
1861
- throw new Jbig2Error("standard table B.".concat(number, " does not exist"));
1881
+ throw new Jbig2Error(`standard table B.${number} does not exist`);
1862
1882
  }
1863
1883
 
1864
- var length = lines.length,
1865
- i;
1866
-
1867
- for (i = 0; i < length; i++) {
1884
+ for (let i = 0, ii = lines.length; i < ii; i++) {
1868
1885
  lines[i] = new HuffmanLine(lines[i]);
1869
1886
  }
1870
1887
 
@@ -1883,22 +1900,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
1883
1900
  }
1884
1901
 
1885
1902
  Reader.prototype = {
1886
- readBit: function readBit() {
1903
+ readBit() {
1887
1904
  if (this.shift < 0) {
1888
1905
  if (this.position >= this.end) {
1889
- throw new Jbig2Error('end of data while reading bit');
1906
+ throw new Jbig2Error("end of data while reading bit");
1890
1907
  }
1891
1908
 
1892
1909
  this.currentByte = this.data[this.position++];
1893
1910
  this.shift = 7;
1894
1911
  }
1895
1912
 
1896
- var bit = this.currentByte >> this.shift & 1;
1913
+ const bit = this.currentByte >> this.shift & 1;
1897
1914
  this.shift--;
1898
1915
  return bit;
1899
1916
  },
1900
- readBits: function readBits(numBits) {
1901
- var result = 0,
1917
+
1918
+ readBits(numBits) {
1919
+ let result = 0,
1902
1920
  i;
1903
1921
 
1904
1922
  for (i = numBits - 1; i >= 0; i--) {
@@ -1907,26 +1925,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
1907
1925
 
1908
1926
  return result;
1909
1927
  },
1910
- byteAlign: function byteAlign() {
1928
+
1929
+ byteAlign() {
1911
1930
  this.shift = -1;
1912
1931
  },
1913
- next: function next() {
1932
+
1933
+ next() {
1914
1934
  if (this.position >= this.end) {
1915
1935
  return -1;
1916
1936
  }
1917
1937
 
1918
1938
  return this.data[this.position++];
1919
1939
  }
1940
+
1920
1941
  };
1921
1942
 
1922
1943
  function getCustomHuffmanTable(index, referredTo, customTables) {
1923
- var currentIndex = 0,
1924
- i,
1925
- ii = referredTo.length,
1926
- table;
1944
+ let currentIndex = 0;
1927
1945
 
1928
- for (i = 0; i < ii; i++) {
1929
- table = customTables[referredTo[i]];
1946
+ for (let i = 0, ii = referredTo.length; i < ii; i++) {
1947
+ const table = customTables[referredTo[i]];
1930
1948
 
1931
1949
  if (table) {
1932
1950
  if (index === currentIndex) {
@@ -1937,34 +1955,30 @@ var Jbig2Image = function Jbig2ImageClosure() {
1937
1955
  }
1938
1956
  }
1939
1957
 
1940
- throw new Jbig2Error('can\'t find custom Huffman table');
1958
+ throw new Jbig2Error("can't find custom Huffman table");
1941
1959
  }
1942
1960
 
1943
1961
  function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {
1944
- var codes = [],
1945
- i,
1946
- codeLength;
1962
+ const codes = [];
1947
1963
 
1948
- for (i = 0; i <= 34; i++) {
1949
- codeLength = reader.readBits(4);
1964
+ for (let i = 0; i <= 34; i++) {
1965
+ const codeLength = reader.readBits(4);
1950
1966
  codes.push(new HuffmanLine([i, codeLength, 0, 0]));
1951
1967
  }
1952
1968
 
1953
- var runCodesTable = new HuffmanTable(codes, false);
1969
+ const runCodesTable = new HuffmanTable(codes, false);
1954
1970
  codes.length = 0;
1955
1971
 
1956
- for (i = 0; i < numberOfSymbols;) {
1957
- codeLength = runCodesTable.decode(reader);
1972
+ for (let i = 0; i < numberOfSymbols;) {
1973
+ const codeLength = runCodesTable.decode(reader);
1958
1974
 
1959
1975
  if (codeLength >= 32) {
1960
- var repeatedLength = void 0,
1961
- numberOfRepeats = void 0,
1962
- j = void 0;
1976
+ let repeatedLength, numberOfRepeats, j;
1963
1977
 
1964
1978
  switch (codeLength) {
1965
1979
  case 32:
1966
1980
  if (i === 0) {
1967
- throw new Jbig2Error('no previous value in symbol ID table');
1981
+ throw new Jbig2Error("no previous value in symbol ID table");
1968
1982
  }
1969
1983
 
1970
1984
  numberOfRepeats = reader.readBits(2) + 3;
@@ -1982,7 +1996,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
1982
1996
  break;
1983
1997
 
1984
1998
  default:
1985
- throw new Jbig2Error('invalid code length in symbol ID table');
1999
+ throw new Jbig2Error("invalid code length in symbol ID table");
1986
2000
  }
1987
2001
 
1988
2002
  for (j = 0; j < numberOfRepeats; j++) {
@@ -1996,8 +2010,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
1996
2010
  }
1997
2011
 
1998
2012
  reader.byteAlign();
1999
- var symbolIDTable = new HuffmanTable(codes, false);
2000
- var customIndex = 0,
2013
+ const symbolIDTable = new HuffmanTable(codes, false);
2014
+ let customIndex = 0,
2001
2015
  tableFirstS,
2002
2016
  tableDeltaS,
2003
2017
  tableDeltaT;
@@ -2014,7 +2028,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2014
2028
  break;
2015
2029
 
2016
2030
  default:
2017
- throw new Jbig2Error('invalid Huffman FS selector');
2031
+ throw new Jbig2Error("invalid Huffman FS selector");
2018
2032
  }
2019
2033
 
2020
2034
  switch (textRegion.huffmanDS) {
@@ -2030,7 +2044,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2030
2044
  break;
2031
2045
 
2032
2046
  default:
2033
- throw new Jbig2Error('invalid Huffman DS selector');
2047
+ throw new Jbig2Error("invalid Huffman DS selector");
2034
2048
  }
2035
2049
 
2036
2050
  switch (textRegion.huffmanDT) {
@@ -2046,23 +2060,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
2046
2060
  break;
2047
2061
 
2048
2062
  default:
2049
- throw new Jbig2Error('invalid Huffman DT selector');
2063
+ throw new Jbig2Error("invalid Huffman DT selector");
2050
2064
  }
2051
2065
 
2052
2066
  if (textRegion.refinement) {
2053
- throw new Jbig2Error('refinement with Huffman is not supported');
2067
+ throw new Jbig2Error("refinement with Huffman is not supported");
2054
2068
  }
2055
2069
 
2056
2070
  return {
2057
- symbolIDTable: symbolIDTable,
2058
- tableFirstS: tableFirstS,
2059
- tableDeltaS: tableDeltaS,
2060
- tableDeltaT: tableDeltaT
2071
+ symbolIDTable,
2072
+ tableFirstS,
2073
+ tableDeltaS,
2074
+ tableDeltaT
2061
2075
  };
2062
2076
  }
2063
2077
 
2064
2078
  function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {
2065
- var customIndex = 0,
2079
+ let customIndex = 0,
2066
2080
  tableDeltaHeight,
2067
2081
  tableDeltaWidth;
2068
2082
 
@@ -2078,7 +2092,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
2078
2092
  break;
2079
2093
 
2080
2094
  default:
2081
- throw new Jbig2Error('invalid Huffman DH selector');
2095
+ throw new Jbig2Error("invalid Huffman DH selector");
2082
2096
  }
2083
2097
 
2084
2098
  switch (dictionary.huffmanDWSelector) {
@@ -2093,10 +2107,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
2093
2107
  break;
2094
2108
 
2095
2109
  default:
2096
- throw new Jbig2Error('invalid Huffman DW selector');
2110
+ throw new Jbig2Error("invalid Huffman DW selector");
2097
2111
  }
2098
2112
 
2099
- var tableBitmapSize, tableAggregateInstances;
2113
+ let tableBitmapSize, tableAggregateInstances;
2100
2114
 
2101
2115
  if (dictionary.bitmapSizeSelector) {
2102
2116
  tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);
@@ -2112,24 +2126,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
2112
2126
  }
2113
2127
 
2114
2128
  return {
2115
- tableDeltaHeight: tableDeltaHeight,
2116
- tableDeltaWidth: tableDeltaWidth,
2117
- tableBitmapSize: tableBitmapSize,
2118
- tableAggregateInstances: tableAggregateInstances
2129
+ tableDeltaHeight,
2130
+ tableDeltaWidth,
2131
+ tableBitmapSize,
2132
+ tableAggregateInstances
2119
2133
  };
2120
2134
  }
2121
2135
 
2122
2136
  function readUncompressedBitmap(reader, width, height) {
2123
- var bitmap = [],
2124
- x,
2125
- y,
2126
- row;
2137
+ const bitmap = [];
2127
2138
 
2128
- for (y = 0; y < height; y++) {
2129
- row = new Uint8Array(width);
2139
+ for (let y = 0; y < height; y++) {
2140
+ const row = new Uint8Array(width);
2130
2141
  bitmap.push(row);
2131
2142
 
2132
- for (x = 0; x < width; x++) {
2143
+ for (let x = 0; x < width; x++) {
2133
2144
  row[x] = reader.readBit();
2134
2145
  }
2135
2146
 
@@ -2140,28 +2151,24 @@ var Jbig2Image = function Jbig2ImageClosure() {
2140
2151
  }
2141
2152
 
2142
2153
  function decodeMMRBitmap(input, width, height, endOfBlock) {
2143
- var params = {
2154
+ const params = {
2144
2155
  K: -1,
2145
2156
  Columns: width,
2146
2157
  Rows: height,
2147
2158
  BlackIs1: true,
2148
2159
  EndOfBlock: endOfBlock
2149
2160
  };
2150
- var decoder = new _ccitt.CCITTFaxDecoder(input, params);
2151
- var bitmap = [],
2152
- x,
2153
- y,
2154
- row,
2155
- currentByte,
2156
- shift,
2161
+ const decoder = new _ccitt.CCITTFaxDecoder(input, params);
2162
+ const bitmap = [];
2163
+ let currentByte,
2157
2164
  eof = false;
2158
2165
 
2159
- for (y = 0; y < height; y++) {
2160
- row = new Uint8Array(width);
2166
+ for (let y = 0; y < height; y++) {
2167
+ const row = new Uint8Array(width);
2161
2168
  bitmap.push(row);
2162
- shift = -1;
2169
+ let shift = -1;
2163
2170
 
2164
- for (x = 0; x < width; x++) {
2171
+ for (let x = 0; x < width; x++) {
2165
2172
  if (shift < 0) {
2166
2173
  currentByte = decoder.readNextChar();
2167
2174
 
@@ -2179,9 +2186,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
2179
2186
  }
2180
2187
 
2181
2188
  if (endOfBlock && !eof) {
2182
- var lookForEOFLimit = 5;
2189
+ const lookForEOFLimit = 5;
2183
2190
 
2184
- for (var i = 0; i < lookForEOFLimit; i++) {
2191
+ for (let i = 0; i < lookForEOFLimit; i++) {
2185
2192
  if (decoder.readNextChar() === -1) {
2186
2193
  break;
2187
2194
  }
@@ -2194,19 +2201,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
2194
2201
  function Jbig2Image() {}
2195
2202
 
2196
2203
  Jbig2Image.prototype = {
2197
- parseChunks: function parseChunks(chunks) {
2204
+ parseChunks(chunks) {
2198
2205
  return parseJbig2Chunks(chunks);
2199
2206
  },
2200
- parse: function parse(data) {
2201
- var _parseJbig = parseJbig2(data),
2202
- imgData = _parseJbig.imgData,
2203
- width = _parseJbig.width,
2204
- height = _parseJbig.height;
2205
2207
 
2208
+ parse(data) {
2209
+ const {
2210
+ imgData,
2211
+ width,
2212
+ height
2213
+ } = parseJbig2(data);
2206
2214
  this.width = width;
2207
2215
  this.height = height;
2208
2216
  return imgData;
2209
2217
  }
2218
+
2210
2219
  };
2211
2220
  return Jbig2Image;
2212
2221
  }();