|  | @@ -13125,8 +13125,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 | 
	
		
			
				|  |  |  }();
 | 
	
		
			
				|  |  |  var version, build;
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -  exports.version = version = '1.8.512';
 | 
	
		
			
				|  |  | -  exports.build = build = '05b1ef2d';
 | 
	
		
			
				|  |  | +  exports.version = version = '1.8.514';
 | 
	
		
			
				|  |  | +  exports.build = build = 'eff257b8';
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  exports.getDocument = getDocument;
 | 
	
		
			
				|  |  |  exports.LoopbackPort = LoopbackPort;
 | 
	
	
		
			
				|  | @@ -28631,8 +28631,8 @@ if (!_util.globalScope.PDFJS) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  var PDFJS = _util.globalScope.PDFJS;
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -  PDFJS.version = '1.8.512';
 | 
	
		
			
				|  |  | -  PDFJS.build = '05b1ef2d';
 | 
	
		
			
				|  |  | +  PDFJS.version = '1.8.514';
 | 
	
		
			
				|  |  | +  PDFJS.build = 'eff257b8';
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  PDFJS.pdfBug = false;
 | 
	
		
			
				|  |  |  if (PDFJS.verbosity !== undefined) {
 | 
	
	
		
			
				|  | @@ -35204,7 +35204,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      return !(i & 1);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  function adjustMapping(charCodeToGlyphId, properties) {
 | 
	
		
			
				|  |  | +  function adjustMapping(charCodeToGlyphId, properties, missingGlyphs) {
 | 
	
		
			
				|  |  |      var toUnicode = properties.toUnicode;
 | 
	
		
			
				|  |  |      var isSymbolic = !!(properties.flags & FontFlags.Symbolic);
 | 
	
		
			
				|  |  |      var isIdentityUnicode = properties.toUnicode instanceof IdentityToUnicodeMap;
 | 
	
	
		
			
				|  | @@ -35224,7 +35224,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |            fontCharCode = unicode.charCodeAt(0);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      if ((usedFontCharCodes[fontCharCode] !== undefined || isProblematicUnicodeLocation(fontCharCode) || isSymbolic && !hasUnicodeValue) && nextAvailableFontCharCode <= PRIVATE_USE_OFFSET_END) {
 | 
	
		
			
				|  |  | +      if (!missingGlyphs[glyphId] && (usedFontCharCodes[fontCharCode] !== undefined || isProblematicUnicodeLocation(fontCharCode) || isSymbolic && !hasUnicodeValue) && nextAvailableFontCharCode <= PRIVATE_USE_OFFSET_END) {
 | 
	
		
			
				|  |  |          do {
 | 
	
		
			
				|  |  |            fontCharCode = nextAvailableFontCharCode++;
 | 
	
		
			
				|  |  |            if (SKIP_PRIVATE_USE_RANGE_F000_TO_F01F && fontCharCode === 0xF000) {
 | 
	
	
		
			
				|  | @@ -35827,22 +35827,22 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |          var startOffset = itemDecode(locaData, 0);
 | 
	
		
			
				|  |  |          var writeOffset = 0;
 | 
	
		
			
				|  |  |          var missingGlyphData = Object.create(null);
 | 
	
		
			
				|  |  | +        missingGlyphData[0] = true;
 | 
	
		
			
				|  |  |          itemEncode(locaData, 0, writeOffset);
 | 
	
		
			
				|  |  |          var i, j;
 | 
	
		
			
				|  |  | -        for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {
 | 
	
		
			
				|  |  | +        var locaCount = dupFirstEntry ? numGlyphs - 1 : numGlyphs;
 | 
	
		
			
				|  |  | +        for (i = 0, j = itemSize; i < locaCount; i++, j += itemSize) {
 | 
	
		
			
				|  |  |            var endOffset = itemDecode(locaData, j);
 | 
	
		
			
				|  |  |            if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {
 | 
	
		
			
				|  |  |              endOffset = oldGlyfDataLength;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (endOffset > oldGlyfDataLength) {
 | 
	
		
			
				|  |  | -            itemEncode(locaData, j, writeOffset);
 | 
	
		
			
				|  |  |              startOffset = endOffset;
 | 
	
		
			
				|  |  | -            continue;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          if (startOffset === endOffset) {
 | 
	
		
			
				|  |  | +          var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
 | 
	
		
			
				|  |  | +          if (newLength === 0) {
 | 
	
		
			
				|  |  |              missingGlyphData[i] = true;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
 | 
	
		
			
				|  |  |            writeOffset += newLength;
 | 
	
		
			
				|  |  |            itemEncode(locaData, j, writeOffset);
 | 
	
		
			
				|  |  |            startOffset = endOffset;
 | 
	
	
		
			
				|  | @@ -36329,20 +36329,8 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        var charCodeToGlyphId = [],
 | 
	
		
			
				|  |  |            charCode;
 | 
	
		
			
				|  |  | -      var toUnicode = properties.toUnicode,
 | 
	
		
			
				|  |  | -          widths = properties.widths;
 | 
	
		
			
				|  |  | -      var skipToUnicode = toUnicode instanceof IdentityToUnicodeMap || toUnicode.length === 0x10000;
 | 
	
		
			
				|  |  | -      function hasGlyph(glyphId, charCode, widthCode) {
 | 
	
		
			
				|  |  | -        if (!missingGlyphs[glyphId]) {
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (!skipToUnicode && charCode >= 0 && toUnicode.has(charCode)) {
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (widths && widthCode >= 0 && (0, _util.isNum)(widths[widthCode])) {
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return false;
 | 
	
		
			
				|  |  | +      function hasGlyph(glyphId) {
 | 
	
		
			
				|  |  | +        return !missingGlyphs[glyphId];
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        if (properties.composite) {
 | 
	
		
			
				|  |  |          var cidToGidMap = properties.cidToGidMap || [];
 | 
	
	
		
			
				|  | @@ -36355,7 +36343,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |            } else if (cidToGidMap[cid] !== undefined) {
 | 
	
		
			
				|  |  |              glyphId = cidToGidMap[cid];
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId, charCode, cid)) {
 | 
	
		
			
				|  |  | +          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {
 | 
	
		
			
				|  |  |              charCodeToGlyphId[charCode] = glyphId;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          });
 | 
	
	
		
			
				|  | @@ -36387,11 +36375,9 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |                continue;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);
 | 
	
		
			
				|  |  | -            var unicodeOrCharCode,
 | 
	
		
			
				|  |  | -                isUnicode = false;
 | 
	
		
			
				|  |  | +            var unicodeOrCharCode;
 | 
	
		
			
				|  |  |              if (cmapPlatformId === 3 && cmapEncodingId === 1) {
 | 
	
		
			
				|  |  |                unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];
 | 
	
		
			
				|  |  | -              isUnicode = true;
 | 
	
		
			
				|  |  |              } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {
 | 
	
		
			
				|  |  |                unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -36400,8 +36386,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |                if (cmapMappings[i].charCode !== unicodeOrCharCode) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  | -              var code = isUnicode ? charCode : unicodeOrCharCode;
 | 
	
		
			
				|  |  | -              if (hasGlyph(cmapMappings[i].glyphId, code, -1)) {
 | 
	
		
			
				|  |  | +              if (hasGlyph(cmapMappings[i].glyphId)) {
 | 
	
		
			
				|  |  |                  charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;
 | 
	
		
			
				|  |  |                  found = true;
 | 
	
		
			
				|  |  |                  break;
 | 
	
	
		
			
				|  | @@ -36412,7 +36397,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |                if (glyphId === -1 && standardGlyphName !== glyphName) {
 | 
	
		
			
				|  |  |                  glyphId = properties.glyphNames.indexOf(standardGlyphName);
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  | -              if (glyphId > 0 && hasGlyph(glyphId, -1, -1)) {
 | 
	
		
			
				|  |  | +              if (glyphId > 0 && hasGlyph(glyphId)) {
 | 
	
		
			
				|  |  |                  charCodeToGlyphId[charCode] = glyphId;
 | 
	
		
			
				|  |  |                  found = true;
 | 
	
		
			
				|  |  |                }
 | 
	
	
		
			
				|  | @@ -36438,7 +36423,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |        if (charCodeToGlyphId.length === 0) {
 | 
	
		
			
				|  |  |          charCodeToGlyphId[0] = 0;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      var newMapping = adjustMapping(charCodeToGlyphId, properties);
 | 
	
		
			
				|  |  | +      var newMapping = adjustMapping(charCodeToGlyphId, properties, missingGlyphs);
 | 
	
		
			
				|  |  |        this.toFontChar = newMapping.toFontChar;
 | 
	
		
			
				|  |  |        tables['cmap'] = {
 | 
	
		
			
				|  |  |          tag: 'cmap',
 | 
	
	
		
			
				|  | @@ -36488,7 +36473,7 @@ var Font = function FontClosure() {
 | 
	
		
			
				|  |  |          adjustToUnicode(properties, properties.builtInEncoding);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        var mapping = font.getGlyphMapping(properties);
 | 
	
		
			
				|  |  | -      var newMapping = adjustMapping(mapping, properties);
 | 
	
		
			
				|  |  | +      var newMapping = adjustMapping(mapping, properties, Object.create(null));
 | 
	
		
			
				|  |  |        this.toFontChar = newMapping.toFontChar;
 | 
	
		
			
				|  |  |        var numGlyphs = font.numGlyphs;
 | 
	
		
			
				|  |  |        function getCharCodes(charCodeToGlyphId, glyphId) {
 | 
	
	
		
			
				|  | @@ -47254,8 +47239,8 @@ exports.TilingPattern = TilingPattern;
 | 
	
		
			
				|  |  |  "use strict";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -var pdfjsVersion = '1.8.512';
 | 
	
		
			
				|  |  | -var pdfjsBuild = '05b1ef2d';
 | 
	
		
			
				|  |  | +var pdfjsVersion = '1.8.514';
 | 
	
		
			
				|  |  | +var pdfjsBuild = 'eff257b8';
 | 
	
		
			
				|  |  |  var pdfjsSharedUtil = __w_pdfjs_require__(0);
 | 
	
		
			
				|  |  |  var pdfjsDisplayGlobal = __w_pdfjs_require__(26);
 | 
	
		
			
				|  |  |  var pdfjsDisplayAPI = __w_pdfjs_require__(10);
 |