| 
					
				 | 
			
			
				@@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (typeof window !== 'undefined' ? window : this).PDFJS = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PDFJS.version = '1.0.402'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PDFJS.build = 'b557b87'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PDFJS.version = '1.0.406'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PDFJS.build = 'c0a6b0f'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (function pdfjsWrapper() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Use strict in our context only - users might not want it 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -9051,15 +9051,7 @@ var XRef = (function XRefClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         error('bad XRef entry'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.encrypt && !suppressEncryption) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                                       gen)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // Almost all streams must be encrypted, but sometimes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // they are not, probably due to some broken generators. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // Retrying without encryption... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return this.fetch(ref, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         xrefEntry = parser.getObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40556,58 +40548,66 @@ var Parser = (function ParserClosure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (stream.dict.get('Length') === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return new NullStream(stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var xrefStreamStats = this.xref.stats.streamTypes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'FlateDecode' || name == 'Fl') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.FLATE] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return new PredictorStream(new FlateStream(stream, maybeLength), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                     maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new FlateStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'LZWDecode' || name == 'LZW') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.LZW] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var earlyChange = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (params.has('EarlyChange')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            earlyChange = params.get('EarlyChange'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var xrefStreamStats = this.xref.stats.streamTypes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'FlateDecode' || name == 'Fl') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.FLATE] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return new PredictorStream(new FlateStream(stream, maybeLength), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                       maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new FlateStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'LZWDecode' || name == 'LZW') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.LZW] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          var earlyChange = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (params.has('EarlyChange')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              earlyChange = params.get('EarlyChange'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return new PredictorStream( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              new LZWStream(stream, maybeLength, earlyChange), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return new PredictorStream( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            new LZWStream(stream, maybeLength, earlyChange), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new LZWStream(stream, maybeLength, earlyChange); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new LZWStream(stream, maybeLength, earlyChange); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'DCTDecode' || name == 'DCT') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.DCT] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new JpegStream(stream, maybeLength, stream.dict, this.xref); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'JPXDecode' || name == 'JPX') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.JPX] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new JpxStream(stream, maybeLength, stream.dict); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'ASCII85Decode' || name == 'A85') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.A85] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new Ascii85Stream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'ASCIIHexDecode' || name == 'AHx') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.AHX] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new AsciiHexStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'CCITTFaxDecode' || name == 'CCF') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.CCF] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new CCITTFaxStream(stream, maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'RunLengthDecode' || name == 'RL') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.RL] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new RunLengthStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (name == 'JBIG2Decode') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xrefStreamStats[StreamType.JBIG] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return new Jbig2Stream(stream, maybeLength, stream.dict); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'DCTDecode' || name == 'DCT') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.DCT] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new JpegStream(stream, maybeLength, stream.dict, this.xref); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'JPXDecode' || name == 'JPX') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.JPX] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new JpxStream(stream, maybeLength, stream.dict); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'ASCII85Decode' || name == 'A85') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.A85] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new Ascii85Stream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'ASCIIHexDecode' || name == 'AHx') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.AHX] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new AsciiHexStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'CCITTFaxDecode' || name == 'CCF') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.CCF] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new CCITTFaxStream(stream, maybeLength, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'RunLengthDecode' || name == 'RL') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.RL] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new RunLengthStream(stream, maybeLength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (name == 'JBIG2Decode') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          xrefStreamStats[StreamType.JBIG] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new Jbig2Stream(stream, maybeLength, stream.dict); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warn('filter "' + name + '" not supported yet'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ex instanceof MissingDataException) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          throw ex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        warn('Invalid stream: \"' + ex + '\"'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return new NullStream(stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      warn('filter "' + name + '" not supported yet'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |