| 
					
				 | 
			
			
				@@ -17,16 +17,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Object.defineProperty(exports, "__esModule", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   value: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.JpxStream = exports.JpegStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var _util = require('../shared/util'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var _primitives = require('./primitives'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var _jpg = require('./jpg'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var _jpx = require('./jpx'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var Stream = function StreamClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function Stream(arrayBuffer, start, length, dict) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -687,126 +683,6 @@ var PredictorStream = function PredictorStreamClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return PredictorStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var JpegStream = function JpegStreamClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function JpegStream(stream, maybeLength, dict, params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var ch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    while ((ch = stream.getByte()) !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (ch === 0xFF) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        stream.skip(-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.stream = stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.maybeLength = maybeLength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.dict = dict; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.params = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    DecodeStream.call(this, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpegStream.prototype = Object.create(DecodeStream.prototype); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  Object.defineProperty(JpegStream.prototype, 'bytes', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    get: function JpegStream_bytes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    configurable: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpegStream.prototype.ensureBuffer = function JpegStream_ensureBuffer(req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (this.bufferLength) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var jpegImage = new _jpg.JpegImage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var decodeArr = this.dict.getArray('Decode', 'D'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (this.forceRGB && Array.isArray(decodeArr)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var bitsPerComponent = this.dict.get('BitsPerComponent') || 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var decodeArrLength = decodeArr.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var transform = new Int32Array(decodeArrLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var transformNeeded = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var maxValue = (1 << bitsPerComponent) - 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      for (var i = 0; i < decodeArrLength; i += 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        transform[i + 1] = decodeArr[i] * maxValue | 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (transform[i] !== 256 || transform[i + 1] !== 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          transformNeeded = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (transformNeeded) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        jpegImage.decodeTransform = transform; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ((0, _primitives.isDict)(this.params)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var colorTransform = this.params.get('ColorTransform'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (Number.isInteger(colorTransform)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        jpegImage.colorTransform = colorTransform; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    jpegImage.parse(this.bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var data = jpegImage.getData(this.drawWidth, this.drawHeight, this.forceRGB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.buffer = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.bufferLength = data.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.eof = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpegStream.prototype.getBytes = function JpegStream_getBytes(length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.ensureBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return this.buffer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpegStream.prototype.getIR = function JpegStream_getIR(forceDataSchema) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return JpegStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var JpxStream = function JpxStreamClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function JpxStream(stream, maybeLength, dict, params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.stream = stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.maybeLength = maybeLength; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.dict = dict; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.params = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    DecodeStream.call(this, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpxStream.prototype = Object.create(DecodeStream.prototype); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  Object.defineProperty(JpxStream.prototype, 'bytes', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    get: function JpxStream_bytes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    configurable: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  JpxStream.prototype.ensureBuffer = function JpxStream_ensureBuffer(req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (this.bufferLength) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var jpxImage = new _jpx.JpxImage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    jpxImage.parse(this.bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var width = jpxImage.width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var height = jpxImage.height; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var componentsCount = jpxImage.componentsCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var tileCount = jpxImage.tiles.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (tileCount === 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.buffer = jpxImage.tiles[0].items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var data = new Uint8ClampedArray(width * height * componentsCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      for (var k = 0; k < tileCount; k++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileComponents = jpxImage.tiles[k]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileWidth = tileComponents.width; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileHeight = tileComponents.height; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileLeft = tileComponents.left; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileTop = tileComponents.top; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var src = tileComponents.items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var srcPosition = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var dataPosition = (width * tileTop + tileLeft) * componentsCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var imgRowSize = width * componentsCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var tileRowSize = tileWidth * componentsCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (var j = 0; j < tileHeight; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          data.set(rowBytes, dataPosition); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          srcPosition += tileRowSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          dataPosition += imgRowSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.buffer = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.bufferLength = this.buffer.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.eof = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  return JpxStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var DecryptStream = function DecryptStreamClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function DecryptStream(str, maybeLength, decrypt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.str = str; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1126,8 +1002,6 @@ exports.AsciiHexStream = AsciiHexStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.DecryptStream = DecryptStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.DecodeStream = DecodeStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.FlateStream = FlateStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exports.JpegStream = JpegStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exports.JpxStream = JpxStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.NullStream = NullStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.PredictorStream = PredictorStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.RunLengthStream = RunLengthStream; 
			 |